#include <bits/stdc++.h>
using namespace std;
int count_len(long long num) {
  if (!num) return 1;
  int ret = 0;
  while (num) num /= 10, ret++;
  return ret;
}
int LEN;
long long ANS_A, ANS_B, P[20];
long long conc(long long d, long long num, int l) { return d * P[l] + num; }
void dfs(long long a, long long b, long long c, long long ans_a,
         long long ans_b, bool carry, int l) {
  int len = count_len(ans_a) + count_len(ans_b) + count_len(ans_a + ans_b);
  if (len > LEN || l >= 14) return;
  if (a + b + c + carry == 0) {
    ANS_A = ans_a, ANS_B = ans_b, LEN = len;
    return;
  }
  if ((a % 10 + b % 10 + carry) % 10 == c % 10)
    dfs(a / 10, b / 10, c / 10, conc(a % 10, ans_a, l), conc(b % 10, ans_b, l),
        (a % 10 + b % 10 + carry) / 10, l + 1);
  else {
    int d, cur_carry;
    d = c % 10 - b % 10 - carry;
    if (d < 0)
      d += 10, cur_carry = 1;
    else
      cur_carry = 0;
    dfs(a, b / 10, c / 10, conc(d, ans_a, l), conc(b % 10, ans_b, l), cur_carry,
        l + 1);
    d = c % 10 - a % 10 - carry;
    if (d < 0)
      d += 10, cur_carry = 1;
    else
      cur_carry = 0;
    dfs(a / 10, b, c / 10, conc(a % 10, ans_a, l), conc(d, ans_b, l), cur_carry,
        l + 1);
    d = a % 10 + b % 10 + carry;
    if (d > 9)
      d %= 10, cur_carry = 1;
    else
      cur_carry = 0;
    dfs(a / 10, b / 10, c, conc(a % 10, ans_a, l), conc(b % 10, ans_b, l),
        cur_carry, l + 1);
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  string str;
  cin >> str;
  long long a = 0, b = 0, c = 0;
  int i = 0;
  for (; str[i] != '+'; i++) a = a * 10 + (str[i] - '0');
  for (i++; str[i] != '='; i++) b = b * 10 + (str[i] - '0');
  for (i++; str[i]; i++) c = c * 10 + (str[i] - '0');
  LEN = 100;
  P[0] = 1;
  for (int i = 1; i < 15; i++) P[i] = P[i - 1] * 10;
  dfs(a, b, c, 0, 0, 0, 0);
  cout << ANS_A << "+" << ANS_B << "=" << ANS_A + ANS_B << "\n";
}
