#include <bits/stdc++.h>
using namespace std;
int len;
long long sum[1000010], mul[1000010];
char s[1000010];
bool check(int l, int r) {
  int f = 0;
  if (s[l] == '0')
    if (r - l + 1 > 1) f = 1;
  return f;
}
void solve(int x, int y) {
  long long a = sum[x],
            b = ((sum[y] - sum[x] * mul[y - x]) % 1000000007 + 1000000007) %
                1000000007,
            c = ((sum[len] - sum[y] * mul[len - y]) % 1000000007 + 1000000007) %
                1000000007;
  if ((a + b) % 1000000007 == c) {
    if (check(1, x)) return;
    if (check(x + 1, y)) return;
    if (check(y + 1, len)) return;
    for (int i = 1; i <= x; ++i) printf("%c", s[i]);
    printf("+");
    for (int i = x + 1; i <= y; ++i) printf("%c", s[i]);
    printf("=");
    for (int i = y + 1; i <= len; ++i) printf("%c", s[i]);
    exit(0);
  }
}
int main() {
  scanf("%s", s + 1);
  len = strlen(s + 1);
  mul[0] = 1;
  for (int i = 1; i <= len; ++i) mul[i] = (mul[i - 1] * 10) % 1000000007;
  for (int i = 1; i <= len; ++i)
    sum[i] = (sum[i - 1] * 10 + s[i] - '0') % 1000000007;
  int up = (len + 1) / 2;
  for (int i = 1; i <= up; ++i) {
    int ls = len - i;
    if (i >= len - i - i) {
      solve(i, ls);
      if (ls - 1 != i) solve(i, ls - 1);
    }
    solve(i, i + ls / 2);
  }
  puts(s + 1);
  return 0;
}
