#include <bits/stdc++.h>
using namespace std;
int N;
string S;
int A[200005];
bool B[200005];
int firstDigit(int x) {
  while (x >= 10) x /= 10;
  return x;
}
void twoStep(int x) {
  for (int it = 0; it < 2; it++) {
    int m = 0;
    while (x > 0) {
      A[m++] = x % 10;
      x /= 10;
    }
    reverse(A, A + m);
    for (int i = 0; i < m; i++) {
      if (i > 0) cout << "+";
      cout << A[i];
      x += A[i];
    }
    cout << "\n";
  }
}
int main() {
  cin >> N >> S;
  for (int i = 0; i < N; i++) A[i] = S[i] - '0';
  int x = 0;
  for (int i = 0; i < N; i++) x += A[i];
  if (x <= 180) {
    for (int i = 0; i < N; i++) {
      if (i > 0) cout << "+";
      cout << A[i];
    }
    cout << "\n";
    twoStep(x);
    return 0;
  }
  for (int i = 0; i < N - 1; i++) B[i] = 1;
  int S1 = 0, S2 = 0;
  for (int i = 0; i < N - 1; i++) {
    if (i & 1)
      S2 += A[i];
    else
      S1 += A[i];
  }
  int z = firstDigit(x);
  if (z == 1)
    z = 2;
  else
    z = 1;
  if (S1 >= S2) {
    for (int i = 0; firstDigit(x) != z; i += 2) {
      x += 9 * A[i];
      B[i] = 0;
    }
  } else {
    for (int i = 1; firstDigit(x) != z; i += 2) {
      x += 9 * A[i];
      B[i] = 0;
    }
  }
  for (int i = 0; i < N; i++) {
    cout << A[i];
    if (B[i]) cout << "+";
  }
  cout << "\n";
  twoStep(x);
  return 0;
}
