#include <iostream>
#include <algorithm>
using namespace std;
int N,M,K;
int da[104][104];
int js;
int jg;
int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};
void dfs(int x, int y)
{
da[x][y]=0;
js++;
for(int i=0;i<4;i++)
{
int tx=x+dx[i];
int ty=y+dy[i];
if(tx>=1 && tx<=N && ty>=1 && ty<=M && da[tx][ty]==1)
{
dfs(tx,ty);
}
}
}
int main()
{
cin>>N>>M>>K;
for(int i=0;i<K;i++)
{
int x,y;
cin>>x>>y;
da[x][y]=1;
}
int jg=0;
for(int i=1;i<=N;i++)
{
for(int j=1;j<=M;j++)
{
if(da[i][j]==1)
{
js=0;
dfs(i,j);
jg=max(jg,js);
}
}
}
cout<<jg<<endl;
return 0;
}