{
TASK:FESTA
LANG:PASCAL
}
{$I-,Q-,R-,S-}
var
   ans : array[1..21000] of record
      x,ans : int64;
   end;
   BAns : int64;
   a : array[1..200000] of record
       x,b : int64;
   end;
   MAXint64 : int64;
   n : int64;
procedure Add(x,b : int64);
var
   i : longint;
begin
   for i:=1 to n do
      if a[n].x=x then
         begin
            inc(a[n].b,b);
            exit;
         end;
   inc(n);
   a[n].x:=x;
   a[n].b:=b;
end;
function Check(var x,r : int64) : int64;
var
   MinX,MaxX,k : int64;
   Ba : int64;
   i,j : longint;
begin
   minX:=-MAXint64;
   MAxX:= MAXint64;
   Ba:=Maxint64;
   for i:=1 to n do
      begin
         k:=(r div a[i].b)+1;
         if MinX<a[i].x-k then
            MinX:=a[i].x-k;
         if MaxX>a[i].x+k then
            MaxX:=a[i].x+k;
      end;
   for j:=MinX to MaxX do
      begin
         k:=0;
         for i:=1 to n do
            inc(k,a[i].b*abs(a[i].x-j));
         if Ba>abs(k-r) then
            begin
               Ba:=abs(k-r);
               x:=j;
            end;
      end;
   check:=Ba;
end;

procedure solve;
var
   k,q,p,x : int64;
begin
   while not eof do
      begin
         read(k);
         if k=1 then
            begin
               readln(q,p);
               Add(q,p);
            end
         else
            begin
               readln(q);
               inc(BAns);
               ans[bans].ans:=check(ans[bans].x,q);
            end;
      end;


end;
procedure writefile;
var
   i : longint;
begin
   for i:=1 to bAns do
      writeln(ans[i].x,' ',ans[i].ans);
end;
begin
   MaxInt64 :=1000000000000001;
   solve;
   writefile;
   halt(0);
end.
