#include <bits/stdc++.h>
using namespace std;
const long long N = 1e6 + 5, P = 1e9 + 7;
long long n, x, y, z, A[N], W[N];
char S[N];
void go(long long a, long long b) {
  if (a <= 0 || a >= b) return;
  if (S[1] == '0' && a > 1) return;
  if (S[a + 1] == '0' && b > a + 1) return;
  x = A[a];
  y = (A[b] - 1LL * A[a] * W[b - a] % P + P) % P;
  if ((x + y) % P == z) {
    for (long long i = 1; i <= a; i++) cout << S[i];
    cout << '+';
    for (long long i = a + 1; i <= b; i++) cout << S[i];
    cout << '=';
    for (long long i = b + 1; i <= n; i++) cout << S[i];
    exit(0);
  }
}
int32_t main() {
  scanf("%s", S + 1);
  n = strlen(S + 1);
  W[0] = 1;
  for (long long i = 1; i <= n; i++) W[i] = 10 * W[i - 1] % P;
  for (long long i = 1; i <= n; i++)
    A[i] = (10 * A[i - 1] % P + S[i] - '0') % P;
  for (long long i = 2; i <= n - 1; i++) {
    long long len = n - i;
    if (S[i + 1] == '0' && len > 1) continue;
    z = (A[n] - A[i] * W[n - i] % P + P) % P;
    go(len - 1, i);
    go(len, i);
    go(i - len, i);
    go(i - len + 1, i);
  }
}
