#include <bits/stdc++.h>
using namespace std;
const int N = 1000001;
long long hash1[N], power1[N];
string s;
void build() {
  hash1[0] = (s[0] - '0');
  power1[0] = 1;
  for (int i = 1; i < s.length(); i++) {
    hash1[i] = (hash1[i - 1] * 10 + s[i] - '0') % 1000000007;
    power1[i] = power1[i - 1] * 10 % 1000000007;
  }
}
pair<long long, long long> getHash(int l, int r) {
  int len = r - l + 1;
  long long a =
      (hash1[r] - (l > 0 ? hash1[l - 1] : 0) * power1[len] % 1000000007 +
       1000000007) %
      1000000007;
  return make_pair(a, 0);
}
int main() {
  cin >> s;
  build();
  for (int i = 1; i <= s.length(); i++) {
    if (true) {
      int lenA = i;
      int lenB = s.length() - lenA - i;
      if (max(lenA, lenB) <= i && max(lenA, lenB) >= i - 1 && lenB > 0 &&
          lenA > 0) {
        bool failed = false;
        if (lenA > 1 && s[0] == '0') failed = true;
        if (lenB > 1 && s[lenA] == '0') failed = true;
        if (i > 1 && s[lenA + lenB] == '0') failed = true;
        if (!failed) {
          pair<long long, long long> a = getHash(0, lenA - 1),
                                     b = getHash(lenA, lenA + lenB - 1),
                                     c = getHash(lenA + lenB, s.length() - 1);
          pair<long long, long long> temp = make_pair(
              (a.first + b.first) % 1000000007, (a.second + b.second));
          if (temp == c) {
            cout << s.substr(0, lenA);
            cout << '+';
            cout << s.substr(lenA, lenB);
            cout << '=';
            cout << s.substr(lenA + lenB);
            return 0;
          }
        }
      }
    }
    if (true) {
      int lenA = i - 1;
      int lenB = s.length() - lenA - i;
      if (max(lenA, lenB) <= i && max(lenA, lenB) >= i - 1 && lenB > 0 &&
          lenA > 0) {
        bool failed = false;
        if (lenA > 1 && s[0] == '0') failed = true;
        if (lenB > 1 && s[lenA] == '0') failed = true;
        if (i > 1 && s[lenA + lenB] == '0') failed = true;
        if (!failed) {
          pair<long long, long long> a = getHash(0, lenA - 1),
                                     b = getHash(lenA, lenA + lenB - 1),
                                     c = getHash(lenA + lenB, s.length() - 1);
          pair<long long, long long> temp = make_pair(
              (a.first + b.first) % 1000000007, (a.second + b.second));
          if (temp == c) {
            cout << s.substr(0, lenA);
            cout << '+';
            cout << s.substr(lenA, lenB);
            cout << '=';
            cout << s.substr(lenA + lenB);
            return 0;
          }
        }
      }
    }
    if (true) {
      int lenB = i;
      int lenA = s.length() - lenB - i;
      if (max(lenA, lenB) <= i && max(lenA, lenB) >= i - 1 && lenB > 0 &&
          lenA > 0) {
        bool failed = false;
        if (lenA > 1 && s[0] == '0') failed = true;
        if (lenB > 1 && s[lenA] == '0') failed = true;
        if (i > 1 && s[lenA + lenB] == '0') failed = true;
        if (!failed) {
          pair<long long, long long> a = getHash(0, lenA - 1),
                                     b = getHash(lenA, lenA + lenB - 1),
                                     c = getHash(lenA + lenB, s.length() - 1);
          pair<long long, long long> temp = make_pair(
              (a.first + b.first) % 1000000007, (a.second + b.second));
          if (temp == c) {
            cout << s.substr(0, lenA);
            cout << '+';
            cout << s.substr(lenA, lenB);
            cout << '=';
            cout << s.substr(lenA + lenB);
            return 0;
          }
        }
      }
    }
    if (true) {
      int lenB = i - 1;
      int lenA = s.length() - lenB - i;
      if (max(lenA, lenB) <= i && max(lenA, lenB) >= i - 1 && lenB > 0 &&
          lenA > 0) {
        bool failed = false;
        if (lenA > 1 && s[0] == '0') failed = true;
        if (lenB > 1 && s[lenA] == '0') failed = true;
        if (i > 1 && s[lenA + lenB] == '0') failed = true;
        if (!failed) {
          pair<long long, long long> a = getHash(0, lenA - 1),
                                     b = getHash(lenA, lenA + lenB - 1),
                                     c = getHash(lenA + lenB, s.length() - 1);
          pair<long long, long long> temp = make_pair(
              (a.first + b.first) % 1000000007, (a.second + b.second));
          if (temp == c) {
            cout << s.substr(0, lenA);
            cout << '+';
            cout << s.substr(lenA, lenB);
            cout << '=';
            cout << s.substr(lenA + lenB);
            return 0;
          }
        }
      }
    }
  }
  return 0;
}
