#include <iostream>
#include <vector>
bool isKaibun(int n) {
std::vector<int> k;
if (n > 0) {
while (n > 0) {
k.push_back(n % 10);
n = n / 10;
}
auto stt = k.begin();
auto end = k.end() - 1;
for (; stt != k.end(); stt++, end--)
if (*stt != *end)
return false;
return true;
} else if (n == 0)
return true;
else
return false;
}
void f(int n) {
bool stopflag = true;
std::cout << "input: " << n << std::endl;
for (int x = n, y = n; stopflag; x++, y--) {
if (isKaibun(x)) {
std::cout << "output: " << x << std::endl;
stopflag = false;
}
if (isKaibun(y) && x != y) {
std::cout << "output: " << y << std::endl;
stopflag = false;
}
}
std::cout << std::endl;
}
int main() {
f(0);
f(17);
f(100);
f(1000);
}
/* end */
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKYm9vbCBpc0thaWJ1bihpbnQgbikgewogIHN0ZDo6dmVjdG9yPGludD4gazsKICBpZiAobiA+IDApIHsKICAgIHdoaWxlIChuID4gMCkgewogICAgICBrLnB1c2hfYmFjayhuICUgMTApOwogICAgICBuID0gbiAvIDEwOwogICAgfQogICAgYXV0byBzdHQgPSBrLmJlZ2luKCk7CiAgICBhdXRvIGVuZCA9IGsuZW5kKCkgLSAxOwogICAgZm9yICg7IHN0dCAhPSBrLmVuZCgpOyBzdHQrKywgZW5kLS0pCiAgICAgIGlmICgqc3R0ICE9ICplbmQpCiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgcmV0dXJuIHRydWU7CiAgfSBlbHNlIGlmIChuID09IDApCiAgICByZXR1cm4gdHJ1ZTsKICBlbHNlCiAgICByZXR1cm4gZmFsc2U7Cn0KCnZvaWQgZihpbnQgbikgewogIGJvb2wgc3RvcGZsYWcgPSB0cnVlOwogIHN0ZDo6Y291dCA8PCAiaW5wdXQ6ICIgPDwgbiA8PCBzdGQ6OmVuZGw7CiAgZm9yIChpbnQgeCA9IG4sIHkgPSBuOyBzdG9wZmxhZzsgeCsrLCB5LS0pIHsKICAgIGlmIChpc0thaWJ1bih4KSkgeyAKICAgICAgc3RkOjpjb3V0IDw8ICJvdXRwdXQ6ICIgPDwgeCA8PCBzdGQ6OmVuZGw7CiAgICAgIHN0b3BmbGFnID0gZmFsc2U7CiAgICB9CiAgICBpZiAoaXNLYWlidW4oeSkgJiYgeCAhPSB5KSB7CiAgICAgIHN0ZDo6Y291dCA8PCAib3V0cHV0OiAiIDw8IHkgPDwgc3RkOjplbmRsOwogICAgICBzdG9wZmxhZyA9IGZhbHNlOwogICAgfQogIH0KICBzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwp9CgppbnQgbWFpbigpIHsKICBmKDApOwogIGYoMTcpOwogIGYoMTAwKTsKICBmKDEwMDApOwp9Ci8qIGVuZCAqLwo=