#include <iostream>
#include<math.h>
using namespace std;
bool pingf(int n) {
if (n < 10)return true;
//;
int x = n, y = 0;
while (x != 0) { //先识别几位,取最高位
x = x / 10;
y++;
}
if (y % 2 != 0) { //y为奇数
while (y != 1) {
int a = n % 10;
int b = n / pow(10, y - 1);
n = n - b * pow(10, y - 1);
n /= 10;
y -= 2;
if (a != b)return false;
// if(a!=b);
}
}
if (y % 2 == 0) { //y为偶数
while (y != 0) {
int a = n % 10;
int b = n / pow(10, y - 1);
n = n - b * pow(10, y - 1);
n /= 10;
y -= 2;
if (a != b)return false;
//if(a!=b);
}
}
return true;
}
int main() {
for(int i=0;i<=256;i++)
{
if(pingf(i*i)){
cout<<i<<endl;
}
}
}
// 64 位输出请用 printf("%lld")