
#include<bits/stdc++.h>
#define ll long long
#include<set>
using namespace std;
int a[10]={0,1,2,3,4,5,6,7,8,9};
ll q[10];
set<string>s;
void dfs(int step,int num)
{
if(step==10)
{
ll qq[10];
for(int i=0;i<num;i++)
{
qq[i]=q[i];
}
sort(qq,qq+num);
string tmp;
char str[100];
for(int i=0;i<num;i++)
{
sprintf(str,"%lld",qq[i]);
tmp+=str;
tmp+="-";
}
s.insert(tmp);;
return;
}
if(a[step]==0)
{
q[num]=0;
dfs(step+1,num+1);
}
else
{
ll sum=0;
for(int i=step;i<10;i++)
{
sum=sum*10+a[i];
double son=sqrt(sum);
if(son==(int)son)
{
q[num]=sum;
dfs(i+1,num+1);
}
}
}
}
int main()
{
do
{
memset(q,0,sizeof(q));
dfs(0,0);
}while(next_permutation(a,a+10));
cout<<s.size()<<endl;
}