#include #include using namespace std; int main(int argc, char* argv[]) { int N,D; cin>>N>>D; map xyMap; map wzMap; map::iterator mit; for (int x=1;x<=N;x++){ for (int y=1;y<=N;y++){ int xy=x*x+y*y; mit=xyMap.find(xy); if (mit==xyMap.end()){ xyMap[xy]=1; }else{ (*mit).second++; } } } mit=xyMap.begin(); int MinV=(*mit).first; for (int w=1;w<=N;w++){ for (int z=1;z<=N;z++){ int wz=w*w-z*z+D; if (wz::iterator mit1; for (mit=xyMap.begin();mit!=xyMap.end();mit++){ mit1=wzMap.find((*mit).first); if (mit1!=wzMap.end()){ ans+=(*mit).second * (*mit1).second; } } xyMap.clear(); wzMap.clear(); cout<