program debug (input,output);

var
  pocet,i,maxu,m,n,u,v,k,t:integer;

begin
  readln(pocet);
  
  for i:=1 to pocet do
  begin
    readln (n,m);
{writeln (n,'=n m=',m);}
    k:=0;
    v:=m;
    maxu:=n-1; 
    while v mod 2=0 do
    begin
      v:=v div 2;
      inc(k);
      maxu:=maxu div 2;
    end;
    t:=v;
    while (2*t+v)<=maxu do t:=2*t;
{writeln (maxu,'=maxu v=',v);}
    u:=t;
    while u+v<=maxu do u:=u+v;
    while v*2<u do v:=v*2;
{writeln (t,'=t u=',u);    }
    while k>0 do 
    begin
      maxu:=maxu*2;
      u:=2*u;
      v:=2*v;
      dec(k);      
    end;
    if u<=maxu then writeln (u,' ',v)
      else writeln ('Reseni neexistuje.');
  end;
  

end.
