#include <bits/stdc++.h>
using namespace std;
int a[200000 + 10], b[200000 + 10];
char s[200000 + 10];
int ten[20];
int coo(int k) {
  int res;
  res = 0;
  while (k) {
    res += k % 10;
    k /= 10;
  }
  return res;
}
bool check(int k) { return coo(coo(k)) < 10; }
void ppt(int k) {
  bool flag;
  int i, x[10];
  for (i = 9; i >= 0; i--) {
    x[i] = k / ten[i];
    k %= ten[i];
  }
  flag = false;
  for (i = 9; i >= 0; i--) {
    if (x[i] || i == 0) flag = true;
    if (flag) {
      printf("%d", x[i]);
      if (i)
        printf("+");
      else
        printf("\n");
    }
  }
}
int main() {
  int n, i, j, r, cnt, ans;
  ten[0] = 1;
  for (i = 1; i <= 9; i++) ten[i] = ten[i - 1] * 10;
  cin >> n;
  scanf("%s", s + 1);
  for (i = 1; i <= n; i++) a[i] = s[i] - 48;
  srand(time(NULL));
  while (1) {
    cnt = 0;
    for (i = 1; i <= n - 1; i++) {
      b[i] = rand() % 2;
      if (b[i] == b[i - 1])
        cnt++;
      else
        cnt = 1;
      if (cnt == 3) {
        b[i] = 1 - b[i];
        cnt = 1;
      }
    }
    ans = 0;
    j = 1;
    for (i = n; i >= 1; i--) {
      ans += j * a[i];
      if (b[i - 1])
        j = 1;
      else
        j *= 10;
    }
    if (check(ans)) {
      for (i = 1; i <= n - 1; i++) {
        printf("%d", a[i]);
        if (b[i]) printf("+");
      }
      printf("%d\n", a[n]);
      ppt(ans);
      r = coo(ans);
      ppt(r);
      break;
    }
  }
  return 0;
}
