#include<bits/stdc++.h>
#define int long long
using namespace std;
struct ryy{
int x,y;
}a[1000000];
bool Map[100000][10000];
int ans;
int maxx = -INT_MAX;
int maxy = -INT_MAX;
int cmp(ryy x,ryy y){
return x.x > y.x;
}
int maxans = -INT_MAX;
main()
{
int n;
cin >> n;
for(int i=1;i<=n;i++){
cin >> a[i].x >> a[i].y;
Map[a[i].x][a[i].y] = 1;
maxx = max(a[i].x,maxx);
maxy = max(a[i].y,maxy);
}
sort(a+1,a+1+1,cmp);
for(int i=1;i<=n;i++){
for(int j=1;j<=maxx;j++){
if(Map[j][a[i].y] == 1)
ans++;
}
maxans = max(ans,maxans);
ans = 1;
for(int j=1;j<=maxy;j++){
if(Map[a[i].x][j] == 1)
ans++;
}
ans = 1;
for(int j=1;j<=min(maxx,maxy);j++){
if(Map[a[i].x+j][a[i].y+j] == 1)
ans++;
}
maxans = max(ans,maxans);
ans = 0;
}
cout << maxans << endl;
return 0;
}