{
ZADATAK: kartice
JEZIK: pascal
}

var d:array[1..3000,1..3000]of longint;
    x,y:array[1..3000]of longint;
    i,j,k,l,n,max:longint;
    f,g:text;

begin

 assign(f,'kartice.in');
 reset(f);
 readln(f,n);
 readln(f,x[1],y[1]);
 readln(f,x[2],y[2]);
 assign(g,'kartice.out');
 rewrite(g);
 writeln(g,'0');
 writeln(g,'1');
 fillchar(d,sizeof(d),0);
 d[1,2]:=1;
 d[2,1]:=1;
 max:=1;
 for k:=3 to n do
  begin
   readln(f,x[k],y[k]);
    for i:=1 to k-1 do
     for j:=1 to k-1 do
      for l:=1 to k-1 do
       if (((x[k]+x[j]-x[i])=x[l]) and ((y[k]+y[j]-y[i])=y[l]))
        then if (d[i,j]+1>d[k,l])               
              then begin
                    d[k,l]:=d[i,j]+1;
                    if (d[k,l]>max)
                    then max:=d[k,l];
                   end;
   writeln(g,max);
  end;
 close(f);
 close(g);

end.