#include <bits/stdc++.h>
using namespace std;
const long long p = 520040728;
long long h[1000005], b[1000005], n, sum;
char s[1000005];
long long get(long long x, long long y) {
  return (h[y] - h[x - 1] * b[y - x + 1] % p + p) % p;
}
long long ok(long long x, long long y) {
  if (!x || (y - x != 1 && s[x + 1] == '0') || (y + 1 != n && s[y + 1] == '0'))
    return 0;
  return 1;
}
long long ch(long long x, long long y) {
  if ((get(1, x) + get(x + 1, y)) % p == sum && ok(x, y)) return 1;
  return 0;
}
void out(long long x, long long y) {
  for (long long i = 1; i <= x; i++) printf("%c", s[i]);
  printf("+");
  for (long long i = x + 1; i <= y; i++) printf("%c", s[i]);
  printf("=");
  for (long long i = y + 1; i <= n; i++) printf("%c", s[i]);
  exit(0);
}
signed main() {
  cin >> s + 1;
  n = strlen(s + 1);
  b[0] = 1;
  for (long long i = 1; i <= n; i++) {
    b[i] = b[i - 1] * 10ll % p;
    h[i] = (h[i - 1] * 10ll + (s[i] ^ 48ll)) % p;
  }
  for (long long i = n - 1;; i--) {
    long long len = n - i;
    sum = get(i + 1, n);
    if (ch(len, i)) out(len, i);
    if (ch(len - 1, i)) out(len - 1, i);
    if (ch(i - len + 1, i)) out(i - len + 1, i);
    if (ch(i - len, i)) out(i - len, i);
  }
}
