program wrongModulo;
var T, N, a, i,j,inizio, Ans, V, R : int64;
begin
(*assign(input, 'input.txt'); reset(input);
assign(output, 'output.txt'); rewrite(output);*)
readln(T);
for i:=1 to T do
begin
readln(N,a);
if a=1 then Ans:=N*N
else
begin
Ans:=N-(N div 2);
for j:=1 to trunc(sqrt(N)) do Ans:=Ans+trunc(N div j);
inizio:=trunc(sqrt(N))+1;
while (inizio<=(N div 2)) 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.
cHJvZ3JhbSB3cm9uZ01vZHVsbzsgCnZhciBULCBOLCBhLCBpLGosaW5pemlvLCBBbnMsIFYsIFIgOiBpbnQ2NDsKYmVnaW4KICAgICgqYXNzaWduKGlucHV0LCAgJ2lucHV0LnR4dCcpOyAgcmVzZXQoaW5wdXQpOwogICAgYXNzaWduKG91dHB1dCwgJ291dHB1dC50eHQnKTsgcmV3cml0ZShvdXRwdXQpOyopCiAgICByZWFkbG4oVCk7CiAgICBmb3IgaTo9MSB0byBUIGRvCiAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgcmVhZGxuKE4sYSk7CiAgICAgICAgICAgICAgICBpZiBhPTEgdGhlbiBBbnM6PU4qTgogICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5zOj1OLShOIGRpdiAyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBqOj0xIHRvIHRydW5jKHNxcnQoTikpIGRvIEFuczo9QW5zK3RydW5jKE4gZGl2IGopOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pemlvOj10cnVuYyhzcXJ0KE4pKSsxOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGluaXppbzw9KE4gZGl2IDIpKSAgZG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVjo9dHJ1bmMoTiBkaXYgaW5pemlvKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFI6PSB0cnVuYyhOIGRpdiBWKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuczo9QW5zKyhSLWluaXppbysxKSpWOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pemlvOj1SKzE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kOwogICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDsgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgd3JpdGVsbihBbnMpOyAgICAgICAgICAKICAgICAgICAgICAgICBlbmQ7ICAKICAgICAgCiBlbmQuIA==