#include <bits/stdc++.h>
using namespace std;
string num;
string filla(int prpr, int ind1, int ind2, int zdpr) {
  if (ind1 > ind2) {
    if (prpr == zdpr || prpr - zdpr == 9) {
      return "";
    } else {
      return "-";
    }
  }
  if (ind1 == ind2) {
    int ch = num[ind1] - '0';
    ch += prpr;
    ch -= zdpr;
    if (ch % 2 == 1 || ch < 0) {
      return "-";
    } else {
      string ans;
      ans += char(ch / 2 + '0');
      return ans;
    }
  }
  int ch1 = num[ind1] - '0';
  ch1 += prpr;
  int ch2 = num[ind2] - '0';
  ch2 -= zdpr;
  if ((ch1 > 18 && ch1 - ch2 < 11) || (ch2 < 0 && ch1 - ch2 < 10)) {
    return "-";
  }
  string ans, add;
  if (ch1 - ch2 == 10) {
    ans += '9';
    add = filla(0, ind1 + 1, ind2 - 1, 1);
    if (add == "-") {
      return "-";
    }
    ans += add;
    ans += char(ch2 + 1 + '0');
    return ans;
  }
  if (ch1 - ch2 == 11) {
    ans += '9';
    add = filla(10, ind1 + 1, ind2 - 1, 1);
    if (add == "-") {
      return "-";
    }
    ans += add;
    ans += char(ch2 + 1 + '0');
    return ans;
  }
  if (ch1 - ch2 == 0) {
    ans += char(ch2 + '0');
    add = filla(0, ind1 + 1, ind2 - 1, 0);
    if (add == "-") {
      return "-";
    }
    ans += add;
    ans += '0';
    return ans;
  }
  if (ch1 - ch2 == 1) {
    ans += char(ch2 + '0');
    add = filla(10, ind1 + 1, ind2 - 1, 0);
    if (add == "-") {
      return "-";
    }
    ans += add;
    ans += '0';
    return ans;
  }
  return "-";
}
int main() {
  cin.tie(NULL);
  ios::sync_with_stdio(false);
  cin >> num;
  int ind1 = 0, ind2 = num.size() - 1;
  if (num[ind1] == '1' && num[ind2] == '0') {
    string ans = filla(10, ind1 + 1, ind2, 0);
    if (ans != "-" && ans.size() > 0) {
      cout << ans << "\n";
      return 0;
    }
    cout << "0\n";
    return 0;
  }
  string ans;
  if (num[ind1] == '1' && num[ind2] == '1') {
    string ans1 = filla(0, ind1, ind2, 0);
    string ans2 = filla(10, ind1 + 1, ind2, 0);
    if (ans1 != "-" && ans1.size() > 0) {
      cout << ans1 << "\n";
      return 0;
    }
    if (ans2 != "-" && ans2.size() > 0) {
      cout << ans2 << "\n";
      return 0;
    }
    cout << "0\n";
    return 0;
  }
  if (num[ind1] == '1') {
    ans = filla(10, ind1 + 1, ind2, 0);
  } else {
    ans = filla(0, ind1, ind2, 0);
  }
  if (ans != "-" && ans.size() > 0) {
    cout << ans << "\n";
    return 0;
  }
  cout << "0\n";
  return 0;
}
