#include <bits/stdc++.h>
using namespace std;
const int n = 100002;
char h[n], h1[n];
int a[n];
bool check(int e, int r, int v1, int c1) {
  int c, v, c2, v2;
  while (e < r) {
    for (c = 0; c < 10; c++)
      for (v = 0; v < 10; v++)
        if (c + v == v1 + h[r]) {
          if ((c == 0) && (e == 0)) continue;
          goto st;
        }
    if ((h[r] == 9) && (v1 == 10)) {
      c = 9;
      v = 0;
      goto st;
    }
    return 0;
  st:
    h[r - 1] -= (c + v) / 10;
    if (h[r - 1] < 0) {
      for (c2 = r - 2; (c2 >= 0) && (h[c2 + 1] < 0); c2--) {
        h[c2 + 1] += 10;
        h[c2]--;
      }
      if (c2 < e - 1) return 0;
    }
    a[e] = c;
    a[r] = v;
    c += v;
    v = v1 + h[e] - c;
    if ((v != 0) && (v != 1)) return 0;
    v1 = v * 10;
    c1 = c / 10;
    if (e == r - 1) {
      if (v == 1) return 0;
      return 1;
    }
    e++;
    r--;
  }
  if (e > r) {
    if ((v1 + c1 == 11) || (v1 + c1 == 0)) return 1;
    return 0;
  }
  for (c = 0; c < 10; c++)
    if (c + c == v1 + h[e]) break;
  if (c == 10) return 0;
  a[e] = c;
  return 1;
}
int main() {
  int q, w, e, r, t;
  scanf("%s", h1);
  q = strlen(h1);
  for (w = 0; w < q; w++) h1[w] -= 48;
  for (w = 0; w < q; w++) h[w] = h1[w];
  if (check(0, q - 1, 0, 0)) {
    for (w = 0; w < q; w++) printf("%d", a[w]);
    return 0;
  }
  for (w = 0; w < q; w++) h[w] = h1[w];
  if ((h[0] == 1) && (check(1, q - 1, 10, 0))) {
    for (w = 1; w < q; w++) printf("%d", a[w]);
    return 0;
  }
  printf("0");
  return 0;
}
