#include <iostream>
#include <sstream>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long ll;
void Turn(ll x,string &basic_string)
{
stringstream ss;
ss<<x;
ss>>basic_string;
}
bool vis[256];
bool check(ll n)
{
ll sum=n*n;
string s1,s2;
Turn(n,s1);
Turn(sum,s2);
memset(vis,false,sizeof(vis));
for(int i=0;i<s1.size();i++)
{
if(vis[s1[i]]==true) return false;
vis[s1[i]]=true;
if(s2.find(s1[i])!=string::npos)
{
return false;
}
}
return true;
}
int main()
{
for(ll i=100000;i<=999999;i++)
{
if(check(i))
cout<<i<<" "<<i*i<<endl;
}
return 0;
}