#include<bits/stdc++.h>
#define MAX 1000
using namespace std;
map<int,int> l,c;
map<pair<int,int>,bool> visited;
int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	int n,m,k;
	cin>>n>>m>>k;
	int mx = 0,my = 0;
	while(k--)
	{
		int x,y;
		cin>>x>>y;
		mx = max(mx,++l[x]);
		my = max(my,++c[y]);
		visited[{x,y}] = true;
	}
	vector<int> tx,ty;
	for(pair<int,int> p:l)
		if(p.second==mx)
			tx.push_back(p.first);
	for(pair<int,int> p:c)
		if(p.second==my)
			ty.push_back(p.first);
	for(int x:tx)
	{
		for(int y:ty)
		{
			if(!visited[{x,y}])
			{
				cout<<mx+my<<endl;
				return 0;
			}	
		}
	}				
	cout<<mx+my-1<<endl;
	return 0;
}