1 #include<iostream>
2 #include<set>
3 #include<stdio.h>
4 #include<math.h>
5 #include<algorithm>
6 #define MAXN 705
7 using namespace std;
8 int num;
9 double p[MAXN][2];
10 double a[MAXN*MAXN];
11 set<int> coll;
12 set<int>::iterator pos;
13 multiset<int> coll_main;
14 int main()
15 {
16 //freopen("acm.acm","r",stdin);
17 int i;
18 int max;
19 int j;
20 int k;
21 int t;
22 double value;
23 int num;
24 double s2;
25 scanf("%d",&num);
26 max = 0;
27 for(i = 0; i < num; ++ i)
28 {
29 scanf("%lf%lf",&p[i][0],&p[i][1]);
30 }
31 for(i = 0; i < num; ++ i)
32 {
33 k = 0;
34 for(j = 0; j < num; ++ j)
35 {
36 if(i != j)
37 {
38 value = (p[i][0] - p[j][0]) / (p[i][1] - p[j][1]);
39 a[k] = value;
40 ++ k;
41 }
42 }
43 sort(a,a + k);
44 s2 = a[0];
45 j = 0;
46 for(t = 0; t < k; ++ t)
47 {
48 if(a[t] == s2)
49 ++ j;
50 else
51 {
52 if(j > max)
53 {
54 max = j;
55 }
56 s2 = a[t];
57 -- t;
58 j = 0;
59 }
60 }
61 if(j > max)
62 max = j;
63 }
64 ++max;
65 cout<<max<<endl;
66 }