program stars;
var
asterisk:array [1..1000] of record
x,y:integer;
end;
k,n,i,j,sum,max:integer;
t1,t2,t3:longint;
begin
assign (input,'stars.in');
reset (input);
readln (n);
for i:=1 to n do readln (asterisk[i].x,asterisk[i].y);
close (input);
assign (output,'stars.out');
rewrite (output);
max:=2;
for i:=1 to n-1 do if n-i+1>=max then begin
sum:=1;
for j:=i+1 to n do for k:=i+1 to n do if j<>k then begin
t1:=(asterisk[i].x-asterisk[j].x)*(asterisk[k].y-asterisk[j].y);
t2:=(asterisk[i].y-asterisk[j].y)*(asterisk[k].x-asterisk[j].x);
if t1=t2 then inc(sum);
end;
if sum>max then max:=sum;
end;
writeln (max);
close (output);
end.