#include <bits/stdc++.h>
using namespace std;
long long a, b, c, sa, sb, P[15] = {1};
int _min = 15;
int inp() {
  char c;
  int sum = 0;
  c = getchar();
  while (c < '0' || c > '9') c = getchar();
  while (c >= '0' && c <= '9') {
    sum = sum * 10 + c - '0';
    c = getchar();
  }
  return sum;
}
void pause() { return; }
void dfs(long long na, long long nb, long long nc, long long la, long long lb,
         long long add, int tot, int p) {
  if (tot >= _min) return;
  if (!na && !nb && !nc && !add) {
    pause();
    sa = la;
    sb = lb;
    _min = tot;
    return;
  }
  if (!nc) {
    int x = na + nb + add, cnt = 0;
    while (x) {
      x /= 10;
      cnt++;
    }
    dfs(0, 0, 0, na * P[p] + la, nb * P[p] + lb, 0, tot + cnt, p);
    return;
  }
  if ((na + nb + add) % 10 == nc % 10)
    dfs(na / 10, nb / 10, nc / 10, P[p] * (na % 10) + la, P[p] * (nb % 10) + lb,
        (na % 10 + nb % 10 + add) / 10, tot, p + 1);
  else {
    dfs(na * 10 + (nc + 10 - nb % 10 - add) % 10, nb, nc, la, lb, add, tot + 1,
        p);
    dfs(na, nb * 10 + (nc + 10 - na % 10 - add) % 10, nc, la, lb, add, tot + 1,
        p);
    dfs(na, nb, nc * 10 + (na + nb + add) % 10, la, lb, add, tot + 1, p);
  }
}
int main() {
  for (int i = 1; i < 15; i++) P[i] = 10 * P[i - 1];
  a = inp();
  b = inp();
  c = inp();
  dfs(a, b, c, 0, 0, 0, 0, 0);
  printf("%I64d+%I64d=%I64d", sa, sb, sa + sb);
  return 0;
}
