//水解
#include <iostream>
using namespace std;
void skyzo(int m,int n)
{
long long www[100],WWW[100];
for (int i = 0; i < 100; ++i)
{
www[i]=-1;WWW[i]=-1;
}
int y=0,w=n*n,NN=n;
while (w)
{
www[y]=w%m;
y++;
w=w/m;
}
y=0;
while(NN)
{
WWW[y]=NN%m;
y++;
NN=NN/m;
}
int len,lenlen;
for (int i = 0; i < 100; ++i)
{
if (www[i]==-1)
{len=i;break;}
}
for (int i = 0; i < 100; ++i)
{
if (WWW[i]==-1)
{lenlen=i;break;}
}
int flag=0,flagflag=0;
for (int i = 0; i < len; ++i)
{
if (www[i]!=www[len-i-1])
{flag=1;break;}
}
if (flag==0)
{
for (int i = 99; i >=0; --i)
{
if (WWW[i]!=-1)
{if (WWW[i]<10)
cout <<WWW[i];
if (WWW[i]==10)
cout<<"A";
if (WWW[i]==11)
cout<<"B";
if (WWW[i]==12)
cout<<"C";
if (WWW[i]==13)
cout<<"D";
if (WWW[i]==14)
cout<<"E";
if (WWW[i]==15)
cout<<"F";
if (WWW[i]==16)
cout<<"G";
if (WWW[i]==17)
cout<<"H";
if (WWW[i]==18)
cout<<"I";
if (WWW[i]==19)
cout<<"J";}
}
cout<<" ";
for (int i = len - 1; i >= 0; --i)
{
if (www[i]<10)
cout <<www[i];
if (www[i]==10)
cout<<"A";
if (www[i]==11)
cout<<"B";
if (www[i]==12)
cout<<"C";
if (www[i]==13)
cout<<"D";
if (www[i]==14)
cout<<"E";
if (www[i]==15)
cout<<"F";
if (www[i]==16)
cout<<"G";
if (www[i]==17)
cout<<"H";
if (www[i]==18)
cout<<"I";
if (www[i]==19)
cout<<"J";
}
cout<<endl;
}
}
int main()
{
long long a;
cin>>a;
for (int i = 1; i < 300; ++i)
{
skyzo(a,i);
}
}