#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
using namespace std;
int gcd(int a,int b)
{
while(b^=a^=b^=a%=b)
;
return a;
}
void polya(int n,int m)
{
int s=0,i,j,p;
for(i=1;i<=n;i++)
{
s+=(int)pow((double)m,(double)gcd(n,i));
}
if(n&1)
s+=n*(int)pow((double)m,(double)(n+1)/2);
else
{
p=(int)pow((double)m,(double)n/2);
s+=n/2*p+n/2*p*m;
}
s=s/n/2;
return ;
}