#include <bits/stdc++.h>
using ll = long long;
using namespace std;
const int N = 1e6 + 1, mod = 1e9 + 7;
int a, b, c, ans = 13;
ll ansx, ansy, p[1 << 4];
void dfs(int a, int b, int c, int carry, ll ansl, ll ansr, int cost, int id) {
  if (cost >= ans || id > 13) {
    return;
  }
  if (a == 0 && b == 0 && c == 0 && carry == 0) {
    ans = cost;
    ansx = ansl;
    ansy = ansr;
    return;
  }
  if (c == 0) {
    carry = a + b + carry;
    dfs(0, 0, 0, 0, ansl + a * p[id], ansr + b * p[id],
        cost + (carry ? to_string(carry).size() : 0), id);
    return;
  }
  if ((a % 10 + b % 10 + carry) % 10 == c % 10) {
    dfs(a / 10, b / 10, c / 10, (a % 10 + b % 10 - c % 10 + carry) / 10,
        ansl + a % 10 * p[id], ansr + b % 10 * p[id], cost, id + 1);
    return;
  }
  dfs(a * 10 + (c % 10 - b % 10 + 10 - carry + 10) % 10, b, c, carry, ansl,
      ansr, cost + 1, id);
  dfs(a, b * 10 + (c % 10 - a % 10 + 10 - carry + 10) % 10, c, carry, ansl,
      ansr, cost + 1, id);
  dfs(a, b, c * 10 + (a % 10 + b % 10 + carry) % 10, carry, ansl, ansr,
      cost + 1, id);
}
int main() {
  p[0] = 1;
  for (int i = 1; i < 1 << 4; i++) p[i] = p[i - 1] * 10;
  scanf("%d+%d=%d", &a, &b, &c);
  dfs(a, b, c, 0, 0, 0, 0, 0);
  printf("%lld+%lld=%lld", ansx, ansy, ansx + ansy);
}
