#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int n, digit[N];
char st[N], str[N];
bool over = false;
void deal(int k, int s, int t) {
  if (k > (n + 1) / 2) {
    printf("%s\n", str + 1);
    over = true;
  } else {
    for (int i = (0); i <= (9); i++)
      for (int j = (0); j <= (9); j++) {
        if (k == 1 && i == 0) continue;
        if (n % 2 == 1 && k == (n + 1) / 2) {
          if (i != j) continue;
          if ((i + j + s) / 10 != t) continue;
        }
        if ((i + j + s) % 10 != digit[k]) continue;
        for (int tt = 0; tt <= 1; tt++) {
          if (n % 2 == 0 && k == n / 2) {
            if (tt != (i + j + s) / 10) continue;
          }
          if ((i + j + tt) / 10 == t && (i + j + tt) % 10 == digit[n - k + 1]) {
            str[n - k + 1] = j + '0';
            str[k] = i + '0';
            deal(k + 1, (i + j + s) / 10, tt);
            return;
          }
        }
      }
  }
}
int main() {
  scanf("%s", st);
  n = strlen(st);
  for (int i = 1; i <= (n); i++) digit[i] = st[n - i] - '0';
  deal(1, 0, 0);
  if (digit[n] == 1 && !over) {
    n--;
    if (n > 0) deal(1, 0, 1);
  }
  if (!over) printf("0\n");
  return 0;
}
