#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 50, mod = 1e9 + 7;
int n;
string s;
long long v[N], p[N];
long long val(int l, int r) {
  return (v[r] - (v[l - 1] * p[r - l + 1]) % mod + mod) % mod;
}
void can(int l, int r) {
  if (r <= l || n - r < r - l || n - r < l) return;
  if ((s[1] == '0' && l > 1) || (s[l + 1] == '0' && r > l + 1) ||
      (s[r + 1] == '0' && n > r + 1))
    return;
  if ((val(1, l) + val(l + 1, r)) % mod != val(r + 1, n)) return;
  for (int i = 1; i <= n; i++) {
    cout << s[i];
    if (i == l) cout << '+';
    if (i == r) cout << '=';
  }
  exit(0);
}
int main() {
  cin >> s;
  n = s.size();
  s = 'X' + s;
  p[0] = 1;
  for (int i = 1; i <= n; i++) {
    v[i] = (v[i - 1] * 10 + s[i] - '0') % mod;
    p[i] = (p[i - 1] * 10) % mod;
  }
  for (int i = 1; i <= n / 2; i++) {
    can(i, n - i);
    can(i, n - ((n - i) / 2));
    can(i, n - i - 1);
    can(i, n - ((n - i) / 2) - 1);
  }
  return 0;
}
