#include <bits/stdc++.h>
using namespace std;
int h[1000050], p[1000050];
string s;
void prework() {
  h[0] = s[0] - '0', p[0] = 1;
  for (int i = 1; i < s.length(); i++)
    h[i] = ((long long)h[i - 1] * 10 + s[i] - '0') % 998244353;
  for (int i = 1; i < s.length(); i++)
    p[i] = ((long long)p[i - 1] * 10) % 998244353;
}
void print(int p1, int p2) {
  p1--, p2--;
  for (int i = 0; i <= p1; i++) printf("%c", s[i]);
  printf("+");
  for (int i = p1 + 1; i <= p2; i++) printf("%c", s[i]);
  printf("=");
  for (int i = p2 + 1; i < s.length(); i++) printf("%c", s[i]);
}
bool check(int p1, int p2) {
  if (p1 > p2 || p1 <= 0) return 0;
  if (p1 > s.length() - p2 || p2 - p1 > s.length() - p2) return 0;
  p1--, p2--;
  if (s[0] == '0' && p1 != 0) return 0;
  if (s[p1 + 1] == '0' && p1 + 1 != p2) return 0;
  if (s[p2 + 1] == '0' && p2 + 1 != s.length() - 1) return 0;
  long long h1 = h[p1];
  long long h2 =
      (((long long)h[p2] - (long long)h[p1] * p[p2 - p1]) % 998244353 +
       998244353) %
      998244353;
  long long h3 = (((long long)h[s.length() - 1] -
                   (long long)h[p2] * p[s.length() - 1 - p2]) %
                      998244353 +
                  998244353) %
                 998244353;
  return (h1 + h2) % 998244353 == h3 % 998244353;
}
int main() {
  cin >> s;
  prework();
  int len = s.length();
  for (int i = 1; i <= len - 2; i++) {
    if (check(i, len - i)) {
      print(i, len - i);
      return 0;
    }
    if (check(i - 1, len - i)) {
      print(i - 1, len - i);
      return 0;
    }
    if (check(len - 2 * i, len - i)) {
      print(len - 2 * i, len - i);
      return 0;
    }
    if (check(len - 2 * i + 1, len - i)) {
      print(len - 2 * i + 1, len - i);
      return 0;
    }
  }
}
