#include <bits/stdc++.h>
using namespace std;
int main() {
  string b;
  cin >> b;
  if (b == "1") {
    cout << "0" << endl;
    return 0;
  }
  int n = (int)((b).size());
  string a((int)((b).size()), '-');
  bool flag = true;
  if (n > 2) {
    if (b[0] != '1') flag = false;
    for (__typeof(n) i = (1); i != (n); i++)
      if (b[i] != '0') flag = false;
    if (flag) {
      cout << "0" << endl;
      return 0;
    }
    flag = true;
  }
  int i = 0, j = n - 1;
  int pc = 0, cc = 0;
  while (i <= j) {
    int sum = b[j] + (10 * cc) - pc - '0';
    if (sum == -1) {
      if (cc == 0 && b[i] != '9') {
        flag = false;
        break;
      } else if (cc == 1 && b[i] != '0') {
        flag = false;
        break;
      }
      sum = 9;
      cc = 1;
    }
    if (i == 0) {
      if (b[j] == '0') {
        flag = false;
        break;
      }
      if (j == 0) {
        if (sum % 2 != 0) {
          flag = false;
          break;
        }
        a[i] = (char)(sum / 2 + '0');
      } else {
        a[i] = '1';
        a[j] = (char)(sum - 1 + '0');
      }
    } else {
      if (i == j) {
        if (sum % 2 != 0) {
          flag = false;
          break;
        }
        a[i] = (char)(sum / 2) + '0';
      } else {
        if (sum == 19) {
          if (b[i] == '0' && i != j - 1) {
            a[i] = '0';
            a[j] = '9';
            pc = 0;
            cc = 1;
            i++;
            j--;
            continue;
          } else {
            flag = false;
            break;
          }
        }
        if (sum < 10) {
          a[i] = '0';
          a[j] = (char)(sum + '0');
        } else {
          a[i] = '9';
          a[j] = (char)(sum - 9 + '0');
        }
      }
    }
    if (i == j - 1) {
      if (b[i] - '0' != (sum + cc) % 10) {
        flag = false;
      }
      break;
    } else {
      pc = cc;
      if (b[i] - '0' == sum % 10)
        cc = 0;
      else if (b[i] - '0' == (sum + 1) % 10)
        cc = 1;
      else {
        flag = false;
        break;
      }
      i++;
      j--;
    }
  }
  if (flag) {
    cout << a << endl;
    return 0;
  }
  if (b[0] != '1') {
    cout << "0" << endl;
    return 0;
  }
  i = 1;
  j = n - 1;
  pc = 0;
  cc = 1;
  flag = true;
  while (i <= j) {
    int sum = b[j] + (10 * cc) - pc - '0';
    if (sum == -1) {
      if (cc == 0 && b[i] != '9') {
        flag = false;
        break;
      } else if (cc == 1 && b[i] != '0') {
        flag = false;
        break;
      }
      sum = 9;
      cc = 1;
    }
    if (i == 1) {
      if (j == 0) {
        if (sum % 2 != 0) {
          flag = false;
          break;
        }
        a[i] = (char)(sum / 2 + '0');
      } else {
        a[i] = '9';
        a[j] = (char)(sum - 9 + '0');
      }
    } else {
      if (i == j) {
        if (sum % 2 != 0) {
          flag = false;
          break;
        }
        a[i] = (char)(sum / 2) + '0';
      } else {
        if (sum == 19 && i != j - 1) {
          if (b[i] == '0') {
            a[i] = '0';
            a[j] = '9';
            pc = 0;
            cc = 1;
            i++;
            j--;
            continue;
          } else {
            flag = false;
            break;
          }
        }
        if (sum < 10) {
          a[i] = '0';
          a[j] = (char)(sum + '0');
        } else {
          a[i] = '9';
          a[j] = (char)(sum - 9 + '0');
        }
      }
    }
    if (i == j - 1) {
      if (b[i] - '0' != (sum + cc) % 10) {
        flag = false;
      }
      break;
    } else {
      pc = cc;
      if (b[i] - '0' == sum % 10)
        cc = 0;
      else if (b[i] - '0' == (sum + 1) % 10)
        cc = 1;
      else {
        flag = false;
        break;
      }
      i++;
      j--;
    }
  }
  if (flag) {
    cout << a.substr(1) << endl;
  } else {
    cout << "0" << endl;
  }
  return 0;
}
