#include <bits/stdc++.h>
using namespace std;
const int oo = (int)1e9;
const double PI = 2 * acos(0.0);
const double eps = 1e-9;
long long a, b, c, ansa, ansb, totlenans;
long long pw10[18];
long long getlen(long long n) {
  long long ret = 0;
  while (n) ++ret, n /= 10;
  return ret;
}
void dfs(long long a, long long b, long long c, long long carry,
         long long curra, long long currb, long long lenc, long long pos) {
  long long totlen = getlen(curra) + getlen(currb) + getlen(curra + currb);
  if (lenc > 12 || totlen >= totlenans) return;
  if (a + b + c + carry == 0 && totlen < totlenans) {
    totlenans = totlen;
    ansa = curra;
    ansb = currb;
    return;
  }
  if (c == 0) {
    return dfs(0, 0, 0, 0, curra + a * pw10[pos], currb + b * pw10[pos],
               lenc + getlen(a + b + carry), pos);
  }
  if ((a % 10 + b % 10 + carry) % 10 == c % 10) {
    dfs(a / 10, b / 10, c / 10, (a % 10 + b % 10 + carry) / 10,
        curra + (a % 10) * pw10[pos], currb + (b % 10) * pw10[pos], lenc,
        pos + 1);
  }
  long long n = (a % 10 + b % 10 + carry) % 10;
  if (n != c % 10) dfs(a, b, c * 10 + n, carry, curra, currb, lenc + 1, pos);
  n = (c % 10 + 10 - a % 10 - carry) % 10;
  if (n != b % 10) dfs(a, b * 10 + n, c, carry, curra, currb, lenc + 1, pos);
  n = (c % 10 + 10 - b % 10 - carry) % 10;
  if (n != a % 10) dfs(a * 10 + n, b, c, carry, curra, currb, lenc + 1, pos);
}
int main() {
  ios_base::sync_with_stdio(false);
  char ch;
  cin >> a >> ch >> b >> ch >> c;
  totlenans = oo;
  pw10[0] = 1;
  for (int i = 1; i < (int)(18); i++) pw10[i] = 10 * pw10[i - 1];
  dfs(a, b, c, 0, 0, 0, 0, 0);
  cout << ansa << "+" << ansb << "=" << ansa + ansb << endl;
  return 0;
}
