ll h; int dist(ll x, ll y){ return x*x+y*y; } ll m[10000010],X,Y; { int X,Y,best=0; rd(X,Y); h = float(sqrt(Y))+1; REP(i,h) REP(j,h) m[dist(i,j)]++; REP(i,X,Y+1) best=max(best,m[i]); wt(best); }