#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
const double eps = 1e-7;
const unsigned long long hashp = 131;
const long long INF = 0x3f3f3f3f3f3f3f3fll;
const int inf = 0x3f3f3f3f;
const int mod = 1e9 + 7;
const int maxn = 1e6 + 100;
char s[maxn];
int arr[maxn], b[maxn], c[maxn], len;
int add(int n, int m, int l, int r) {
  if (arr[1] == 0 && n > 1) return 0;
  if (arr[l + 1] == 0 && m > 1) return 0;
  if (n <= 0 || m <= 0 || len - n - m <= 0) return 0;
  n = max(n, m);
  int now = len, lim = r, rec = 0, lim2 = l;
  for (int i = 1; (i) <= (n); i++) {
    b[i] = l > 0 ? arr[l--] : 0;
    c[i] = r > lim2 ? arr[r--] : 0;
    b[i] += c[i] + rec;
    rec = b[i] / 10;
    b[i] %= 10;
    if (b[i] != arr[now]) return 0;
    now--;
  }
  b[n + 1] += rec;
  if (b[n + 1]) n++;
  return n == len - lim && b[n] == arr[lim + 1];
}
pair<int, int> ans;
void pri() {
  for (int i = 1; (i) <= (len); i++) {
    printf("%c", s[i]);
    if (i == ans.first) printf("+");
    if (i == ans.second) printf("=");
  }
}
int loc[maxn], tot;
void solve() {
  int _ = 1;
  for (; _--;) {
    char ch;
    while (1) {
      ch = getchar();
      if (ch == '\n') break;
      s[++len] = ch;
    }
    for (int i = 1; (i) <= (len); i++) arr[i] = s[i] - '0';
    for (int i = len / 2 + 1; i <= len; i++) {
      if ((len - i + 1) * 3 < len) break;
      loc[++tot] = i;
    }
    srand(time(NULL));
    random_shuffle(loc + 1, loc + tot + 1);
    for (int u = 1; (u) <= (tot); u++) {
      int i = loc[u];
      int num = len - i + 1, r = len - num * 2;
      if (add(num, r, num, num + r)) {
        ans = pair<int, int>(num, num + r);
        pri();
        return;
      }
      if (add(r, num, r, num + r)) {
        ans = pair<int, int>(r, num + r);
        pri();
        return;
      }
      r = len - num * 2 + 1;
      if (add(num - 1, r, num - 1, num + r - 1)) {
        ans = pair<int, int>(num - 1, num + r - 1);
        pri();
        return;
      }
      if (add(r, num - 1, r, num + r - 1)) {
        ans = pair<int, int>(r, num + r - 1);
        pri();
        return;
      }
    }
    puts("?");
  }
}
int main() {
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  ;
  solve();
  return 0;
}
