#include <bits/stdc++.h>
using namespace std;
vector<int> dp[9][11][11][11][8][8][8][2];
string Usun(string x) {
  while (x[0] == '0') x.erase(0, 1);
  return x;
}
int main() {
  ios_base::sync_with_stdio(0);
  string t;
  cin >> t;
  int p = 0, r = t.size() - 1;
  while (t[p] != '+') ++p;
  while (t[r] != '=') --r;
  string a = "", b = "", c = "";
  for (int i = 0; i < p; ++i) a += t[i];
  for (int i = p + 1; i < r; ++i) b += t[i];
  for (int i = r + 1; i < t.size(); ++i) c += t[i];
  int x = a.size(), y = b.size(), z = c.size();
  reverse(a.begin(), a.end());
  reverse(b.begin(), b.end());
  reverse(c.begin(), c.end());
  for (int i = 0; i < 10; ++i) {
    for (int j = 0; j < 10; ++j) {
      int p = (i + j) >= 10;
      int k = (i + j) - 10 * p;
      vector<int> q(11, -1);
      q[0] = i, q[1] = j, q[2] = k;
      dp[0][i != 0][j != 0][k != 0][a[0] - '0' == i][b[0] - '0' == j]
        [c[0] - '0' == k][p] = q;
    }
  }
  for (int i = 0; i <= 7; ++i) {
    for (int j = 0; j <= i + 1; ++j) {
      for (int k = 0; k <= i + 1; ++k) {
        for (int l = 0; l <= i + 1; ++l) {
          for (int m = 0; m <= x; ++m) {
            for (int n = 0; n <= y; ++n) {
              for (int o = 0; o <= z; ++o) {
                for (int p = 0; p < 2; ++p) {
                  for (int c1 = 0; c1 < 10; ++c1) {
                    for (int c2 = 0; c2 < 10; ++c2) {
                      if (dp[i][j][k][l][m][n][o][p].size() == 0) continue;
                      int prze = (c1 + c2 + p) >= 10;
                      int c3 = (c1 + c2 + p) - 10 * prze;
                      int q1[] = {c1, c2, c3, i, j, k, l, m, n, o, p};
                      vector<int> q2(11);
                      for (int w = 0; w < 11; ++w) q2[w] = q1[w];
                      dp[i + 1][c1 == 0 ? j : i + 2][c2 == 0 ? k : i + 2]
                        [c3 == 0 ? l : i + 2][m + (m < x && a[m] - '0' == c1)]
                        [n + (n < y && b[n] - '0' == c2)]
                        [o + (o < z && c[o] - '0' == c3)][prze] = q2;
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  int dl = 100;
  vector<int> akt(11);
  for (int i = 0; i < 9; ++i) {
    for (int j = 0; j <= i + 1; ++j) {
      for (int k = 0; k <= i + 1; ++k) {
        for (int l = 0; l <= i + 1; ++l) {
          if (dp[i][j][k][l][x][y][z][0].size() != 0 && j + k + l < dl) {
            dl = j + k + l;
            akt = dp[i][j][k][l][x][y][z][0];
          }
        }
      }
    }
  }
  a = "";
  b = "";
  c = "";
  while (true) {
    a += (char)(akt[0] + '0');
    b += (char)(akt[1] + '0');
    c += (char)(akt[2] + '0');
    if (akt.back() == -1) break;
    akt = dp[akt[3]][akt[4]][akt[5]][akt[6]][akt[7]][akt[8]][akt[9]][akt[10]];
  }
  cout << Usun(a) << "+" << Usun(b) << "=" << Usun(c);
  return 0;
}
