#include <bits/stdc++.h>
using namespace std;
int k;
char nums[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K'};
vector<char> dig;
bool check(int num)
{
dig.clear();
while (num)
{
dig.push_back(nums[num % k]);
num /= k;
}
for (int i = 0; i < (int) dig.size(); i ++ )
if (dig[i] != dig[dig.size() - 1 - i])
return false;
return true;
}
void print(int num)
{
dig.clear();
while (num)
{
dig.push_back(nums[num % k]);
num /= k;
}
for (int i = (int) dig.size() - 1; i >= 0; i -- )
cout << dig[i];
}
int main()
{
cin >> k;
for (int i = 1; i <= 300; i ++ )
{
if (check(i * i))
{
print(i);
cout << " ";
print(i * i);
cout << endl;
}
}
return 0;
}