#include <bits/stdc++.h>
using namespace std;
int ans = 0x3f3f3f3f;
long long ans_a, ans_b, ans_c;
long long p[20];
void dfs(long long a, long long b, long long c, long long nowa, long long nowb,
         long long nowc, long long pre, int now, int deep) {
  if (now >= ans) return;
  if (a == 0 && b == 0 && c == 0 && pre == 0) {
    ans = now;
    ans_a = nowa;
    ans_b = nowb;
    ans_c = nowc;
    return;
  }
  if (c == 0) {
    long long tmp = a + b + pre;
    int cnt = 0;
    while (tmp) {
      cnt++;
      tmp /= 10;
    }
    dfs(0, 0, 0, nowa + p[deep] * a, nowb + p[deep] * b,
        nowc + p[deep] * (a + b + pre), 0, now + cnt, deep + 1);
    return;
  }
  if ((a + b + pre) % 10 == c % 10) {
    dfs(a / 10, b / 10, c / 10, nowa + (a % 10) * p[deep],
        nowb + (b % 10) * p[deep], nowc + (c % 10) * p[deep],
        (a % 10 + b % 10 + pre) / 10, now, deep + 1);
    return;
  }
  dfs(a * 10 + (c % 10 - b % 10 - pre + 10) % 10, b, c, nowa, nowb, nowc, pre,
      now + 1, deep);
  dfs(a, b * 10 + (c % 10 - a % 10 - pre + 10) % 10, c, nowa, nowb, nowc, pre,
      now + 1, deep);
  dfs(a, b, c * 10 + (a % 10 + b % 10 + pre) % 10, nowa, nowb, nowc, pre,
      now + 1, deep);
}
int main() {
  long long a, b, c;
  scanf("%lld+%lld=%lld", &a, &b, &c);
  p[0] = 1;
  for (int i = 1; i <= 18; i++) p[i] = p[i - 1] * 10;
  dfs(a, b, c, 0, 0, 0, 0, 0, 0);
  printf("%lld+%lld=%lld", ans_a, ans_b, ans_c);
}
