program killer;
var
    K, N, T, test : LongInt;
    ans           : AnsiString;

begin
{
    uncomment the two following lines if you want to read/write from files
    assign(input,  'input.txt');  reset(input);
    assign(output, 'output.txt'); rewrite(output);
}

    ReadLn(T);
    for test:=1 to T do begin
        ReadLn(N, K);

        ans := '';

        if (N=K*(K+1) div 2) or (N=K*(K+1) div 2 +1) or (K=1) then ans:='YES'
                                                              else ans:='NO';


        WriteLn(ans);
    end;

end.
