小晨晨和他的朋友们喜欢在一个n*n的棋盘上下棋。小晨晨的朋友们最近在一场比赛中赢得了冠军,小晨晨想用一些糖果来奖励他们。
现有一个n*n的棋盘,坐标为(i,j)的棋格中有i*i+j*j个糖果,小晨晨可以任选其中一个棋格中的糖果,如果小晨晨想将这些糖果平分给m个朋友,请计算有多少个满足条件的棋格。
小晨晨和他的朋友们喜欢在一个n*n的棋盘上下棋。小晨晨的朋友们最近在一场比赛中赢得了冠军,小晨晨想用一些糖果来奖励他们。
现有一个n*n的棋盘,坐标为(i,j)的棋格中有i*i+j*j个糖果,小晨晨可以任选其中一个棋格中的糖果,如果小晨晨想将这些糖果平分给m个朋友,请计算有多少个满足条件的棋格。
输入只有一行,包括两个整数n,m(1≤n≤109, 1≤m≤1000),分别代表棋盘的规格和朋友的人数。
输出一个整数,代表有多少的满足条件的棋格。
3 3
1
样例2输入
6 5
样例2输出
13
样例3输入
1000000000 1
样例3输出
1000000000000000000
注释:
1)针对样例2,只有(3,3)这个格子中包含的糖果数量(3*3+3*3=18)能够让小晨晨的三个朋友均分.
2)针对样例2,如下几种情况能满足均分的要求:
3)针对样例3,所有格子都能满足要求