{
ZADATAK: kartice
JEZIK: PASCAL
}
program kartice;
type tacka=record
     x,y:longint;
     end;
     niz=array [0..3000] of tacka;
var a:niz;
    res,n:integer;
    t:tacka;
procedure insertions (i:integer);
var tmp:tacka;
begin
  while a[i].x<a[i-1].x do
        begin
           tmp:=a[i];
           a[i]:=a[i-1];
           a[i-1]:=tmp;
           dec (i);
           if i =1 then i:=2;
        end;
end;

procedure odredi (n:integer);
var k,i,j,tmp:integer;
    x,y:longint;

function proveri (k,x,y:integer):boolean;
var ok:boolean;
{    t:tacka;}
procedure binarno (p,q:integer);
var i:integer;
    r,s:integer;
begin
  i:=(p+q) div 2;
  if i<>p then
     begin
       if t.x>a[i].x then binarno(i,q);
       if t.x<a[i].x then binarno(p,i);
       if t.x=a[i].x then
          begin
            r:=i;
            while (t.x=a[i].x) and (not ok) and (i>0) do
                  if t.y=a[i].y then ok:=true
                  else dec (i);
            i:=r+1;
            while (t.x=a[i].x) and (not ok) and (i<n)do
                  if t.y=a[i].y then ok:=true
                  else inc (i);
          end;
     end else
     if (t.x=a[i].x) and (t.y=a[i].y) then ok:=true;
end;
begin
  ok:=false;
  t.x:=a[k].x+x;
  t.y:=a[k].y+y;
  binarno (1,n);
  proveri:=ok;
end;
begin
  for i:=1 to n-1 do
      for j:=i+1 to n do
          begin
            x:=a[i].x-a[j].x;
            y:=a[i].y-a[j].y;
            tmp:=0;
            k:=0;
            while (n-k+tmp>=res)  do
               begin
                 inc (k);
                 if proveri (k,x,y) then inc (tmp);
               end;
            if tmp>res then res:=tmp;
          end;
end;
procedure datin;
var f1,f2:text;
    i:integer;
begin
  assign (f1,'kartice.in');
  reset (f1);
  assign (f2,'kartice.out');
  rewrite (f2);
  readln (f1,n);
  readln (f1,a[1].x,a[1].y);
  writeln (f2,'0');
  for i:=2 to n do
      begin
        readln (f1,a[i].x,a[i].y);
        insertions (i);
        odredi (i);
        writeln (f2,res);
      end;
  close (f1);
  close (f2);
end;

begin
  a[0].x:=-2000000000;
  a[0].y:=-2000000000;
  datin;
end.