#include <bits/stdc++.h>
using namespace std;
int sum_of_digits(int x) {
  int ans = 0;
  while (x) {
    ans += x % 10;
    x /= 10;
  }
  return ans;
}
int main() {
  bool valid = false;
  int n, sum = 0;
  int where_not = 0;
  vector<int> v;
  string ans, s;
  cin >> n >> s;
  while (!valid) {
    ans.clear();
    int aux2 = 0;
    sum = 0;
    for (int i = 0; i < n; ++i) {
      aux2 = aux2 * 10 + s[i] - '0';
      ans.push_back(s[i]);
      if ((1 << i) & where_not) {
      } else {
        if (i != n - 1) ans.push_back('+');
        sum += aux2;
        aux2 = 0;
      }
    }
    sum += aux2;
    ans.push_back('\n');
    v.clear();
    while (sum) {
      v.push_back(sum % 10);
      sum /= 10;
    }
    reverse(v.begin(), v.end());
    for (int bin_it = 0; bin_it < (1 << v.size()); ++bin_it) {
      int aux = 0;
      sum = 0;
      for (int i = 0; i < v.size(); ++i) {
        aux = aux * 10 + v[i];
        if (bin_it & (1 << i)) {
          sum += aux;
          aux = 0;
        }
      }
      sum += aux;
      if (sum_of_digits(sum) <= 9) {
        for (int i = 0; i < v.size(); ++i) {
          ans.push_back('0' + v[i]);
          if (bin_it & (1 << i)) ans.push_back('+');
        }
        ans.push_back('\n');
        valid = true;
        break;
      }
    }
    ++where_not;
  }
  cout << ans;
  v.clear();
  while (sum) {
    v.push_back(sum % 10);
    sum /= 10;
  }
  reverse(v.begin(), v.end());
  for (int i = 0; i < v.size(); ++i) {
    cout << v[i];
    if (i != v.size() - 1) cout << '+';
  }
  cout << '\n';
  return 0;
}
