#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;   }