#include<bits/stdc++.h>
#define MAX 300000
using namespace std;
vector<int> l[MAX+10];
int c[MAX+10];
multiset<int,greater<int>> st;
int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	int n,m,k;
	cin>>n>>m>>k;
	while(k--)
	{
		int x,y;
		cin>>x>>y;
		l[x].push_back(y);
		c[y]++;
	}
	for(int i=0;i<=m;++i)
		if(c[i])
			st.insert(c[i]);
	int ans = 1;
	for(int i=0;i<=n;++i)	
	{
		for(int y:l[i])
		{
			st.erase(st.find(c[y]));
			st.insert(c[y]-1);
		}
		ans = max(ans,*st.begin()+(int)l[i].size());
		for(int y:l[i])
		{
			st.erase(st.find(c[y]-1));
			st.insert(c[y]);
		}
	}
	cout<<ans<<endl;
	return 0;
}