#include #include #include #define I unsigned long long int /* I nasl (I cur) { char buf[255]; int len = sprintf(buf, cur); I tmp = cur; I cnt = 0; while (tmp % 10 == 9) { cnt++; if (tmp == 9) return pow(10, cnt)+1; tmp /= 10; } for (int i = 0; i < len/2; i++) buf[len-i-1] = buf[i]; if (atoll(buf) <= cur) { int i = len/2-1; int j = len/2; int carry = 0; while (i >= 0) { if (buf[i] == '9') { buf[i] = '0'; carry++; } buf[j++] = buf[i--]; } if (buf[len/2] == '9') { if len buf[len/2] = '0'; buf[len/2] = '0'; } } } */ int main (void) { char buf[255]; fgets(buf, 255, stdin); char * c = buf; I z = strtoull(c, &c, 10); c++; I k = strtoull(c, &c, 10); // I palind = nasl(z-1); for (I i = z; i <= k; i++) { /* if (i == palind) { puts("Palindrom!\n"); palind = nasl(i); continue; } */ char s[512]; int l = sprintf(s, "%llu", i); if (l < 1) { puts("Palindrom!"); continue; } for (int j = 0; j < l/2; j++) if (s[j] != s[l-j-1]) { puts(s); goto c; } puts("Palindrom!"); c: ; } }