program wrongModulo;
var T, N, a, i,inizio, Ans, V,R : int64;
begin
readln(T);
for i:=1 to T do
begin
readln(N,a);
if a=1 then Ans:=N*N
else
begin
Ans:=0;
inizio:=1;
while inizio<=N do
begin
V:=trunc(N div inizio);
R:= trunc(N div V);
Ans:=Ans+(R-inizio+1)*V;
inizio:=R+1;
end;
end;
writeln(Ans);
end;
end.
cHJvZ3JhbSB3cm9uZ01vZHVsbzsKdmFyIFQsIE4sIGEsIGksaW5pemlvLCBBbnMsIFYsUiA6IGludDY0OwpiZWdpbgpyZWFkbG4oVCk7CmZvciBpOj0xIHRvIFQgZG8KICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICByZWFkbG4oTixhKTsKICAgICAgICAgICAgICAgIGlmIGE9MSB0aGVuIEFuczo9TipOCiAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbnM6PTA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml6aW86PTE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSBpbml6aW88PU4gZG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVjo9dHJ1bmMoTiBkaXYgaW5pemlvKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFI6PSB0cnVuYyhOIGRpdiBWKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuczo9QW5zKyhSLWluaXppbysxKSpWOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pemlvOj1SKzE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kOwogICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDsKICAgICAgICAgICAgICAgIHdyaXRlbG4oQW5zKTsgICAgICAgICAgCiAgICAgICAgICAgICAgZW5kOyAgCiBlbmQuICAgICAgICAgICAgIA==