#include using namespace std; int N,M; long long put(long long a,long long b) { long long x1 = a,x2 = 1; if(b == 0)return 1; if(b == 1) return a; while(b > 1) if(b&1) { x2 = x1 * x2; b^= 1; } else { x1 = x1 * x1; b >>= 1; } return x1 * x2; } int main() { ///freopen("triples.in","r",stdin); scanf("%d%d",&N,&M); long long total = 0; for(int j = 2; j <= N; ++j) { for(int x = 0; x <= N; ++x) for(int y = x; y <= N; ++y) for(int z = y; z <= N; ++z) if(put(x,j)+put(y,j) == put(z,j)) total ++; } printf("%lld\n",total); return 0; }