#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;
  }
  sum = 0;
  for (int i = nu - 1; i >= 0; i--)
  {
    if (sum == 1 || sum - 1 >= a[i] + 1)
    {
      printf("%d", n);
      for (int j = 0; j < i; j++)
        printf("%c%d", "=+"[!!j], a[j]);
      printf("%c%d", "=+"[!!i], a[i] + 1);
      int x = a[i] + 1;
      sum--;
      while (sum >= 2 * x)
        printf("+%d", x), sum -= x;
      if (sum > 0)
        printf("+%d", sum);
      puts("");
      return 0;
    }
    sum += a[i];
  }
  printf("%d=%d\n", n, n);

  return 0;
}
