#include <cstdio>
#include <cassert>

const int maxN = 100000;

int n, nu, a[maxN], sum;

int main()
{
  freopen("next.in", "r", stdin);
  freopen("next.out", "w", stdout);

  assert(scanf("%d", &n) == 1);
  assert(1 <= n && n <= maxN);
  nu = 0;
  sum = 0;
  while (scanf("%*c%d", &a[nu]) == 1)
  {
    assert(1 <= a[nu] && a[nu] <= maxN);
    assert(nu == 0 || a[nu] >= a[nu - 1]);
    sum += a[nu];
    nu++;
  }
  assert(sum == n);
  if (nu == 1)
  {
    puts("No solution");
    return 0;
  }
  printf("%d", n);
  for (int i = 0; i < nu - 2; i++)
    printf("%c%d", "=+"[!!i], a[i]);
  int id = nu - 2, x = a[id], y = a[id + 1];
  x++, y--;
  if (y >= x)
  {
    printf("%c%d", "=+"[!!id], x), id++;
    while (y >= 2 * x)
      printf("+%d", x), y -= x;
    if (y > 0)
      printf("+%d", y);
  }
  else
    printf("%c%d", "=+"[!!id], x + y);
  puts("");

  return 0;
}
