const dx:array[1..4]of -1..1=(-1,1,0,0);
dy:array[1..4]of -1..1=(0,0,-1,1);
var max,sum,n,m,k,t,x,y,i,j:longint;
f:array[0..101,0..101]of boolean;
procedure kk(x,y:longint);
var i,xx,yy:longint;
begin
f[x,y]:=false;
inc(sum);
for i:=1 to 4 do
begin
xx:=x+dx[i];
yy:=y+dy[i];
if (xx=0)or(xx=n+1)or(yy=0)or(yy=m+1)or(not(f[xx,yy])) then continue;
kk(xx,yy);
end;
end;
begin
readln(n,m,k);
for i:=1 to k do
begin
readln(x,y);
f[x,y]:=true;
end;
for i:=1 to n do
for j:=1 to m do
if f[i,j] then
begin
sum:=0;
kk(i,j);
if sum>max then max:=sum;
end;
writeln(max);
end.