#include <bits/stdc++.h>
const int dmax = 12;
long long ansa, ansb;
long long a, b, c, d[dmax + 18];
int ansl = dmax;
void search(long long a, long long b, long long c, long long na, long long nb,
            int cp, int l, int p) {
  if (l >= ansl) return;
  if (!a && !b && !c && !cp) {
    ansl = l, ansa = na, ansb = nb;
    return;
  }
  if (!c) {
    int k = 0;
    long long tmp = a + b + cp;
    while (tmp) ++k, tmp /= 10;
    search(0, 0, 0, a * d[p] + na, b * d[p] + nb, 0, l + k, p);
  } else {
    if ((a + b + cp) % 10 == c % 10)
      search(a / 10, b / 10, c / 10, d[p] * (a % 10) + na, d[p] * (b % 10) + nb,
             (a % 10 + b % 10 + cp) / 10, l, p + 1);
    search(a * 10 + (c + 10 - b % 10 - cp) % 10, b, c, na, nb, cp, l + 1, p);
    search(a, b * 10 + (c + 10 - a % 10 - cp) % 10, c, na, nb, cp, l + 1, p);
    search(a, b, c * 10 + (a + b + cp) % 10, na, nb, cp, l + 1, p);
  }
}
int main() {
  scanf("%I64d+%I64d=%I64d", &a, &b, &c);
  d[0] = 1;
  for (int i = 1; i <= dmax; ++i) d[i] = d[i - 1] * 10;
  search(a, b, c, 0, 0, 0, 0, 0);
  printf("%I64d+%I64d=%I64d", ansa, ansb, ansa + ansb);
  return 0;
}
