int phi[MAXN];
int prime[MAXN];
bool check[MAXN];
int tot;
void get_phi()
{
phi[1]=1;
for(int i=2;i<=MAXN;i++)
{
if(!check[i])
{
prime[++tot]=i;
phi[i]=i-1;
}
for(int j=1;j<=tot;j++)
{
if(i*prime[j]>MAXN) break;
check[i*prime[j]]=true;
if(i%prime[j]==0)
{
phi[i*prime[j]]=phi[i]*prime[j];
break;
}
else phi[i*prime[j]]=phi[i]*(prime[j]-1);
}
}
}