#include<stdio.h>
#include<algorithm>
using namespace std;
pair<int,int>dat[100000];
int tx[100000];
int ty[100000];
int x[100000];
int y[100000];
int n;
int p,q;
pair<int,int>N[100000];
pair<int,int>M[100000];
long long segtree[3][262144];
void set(int c,int a,long long b){
a+=131072;
segtree[c][a]=b;
a/=2;
while(a){
segtree[c][a]=max(segtree[c][a*2],segtree[c][a*2+1]);
a/=2;
}
}
long long query(int a,int b,int c,int d,int e,int f){
if(d<a||b<c)return -1999999999;
if(c<=a&&b<=d)return segtree[f][e];
return max(query(a,(a+b)/2,c,d,e*2,f),query((a+b)/2+1,b,c,d,e*2+1,f));
}
long long solve(){
for(int i=0;i<n;i++){
tx[i]=dat[i].first;
ty[i]=dat[i].second;
}
std::sort(tx,tx+n);
std::sort(ty,ty+n);
for(int i=0;i<262144;i++){
segtree[0][i]=0;
segtree[1][i]=segtree[2][i]=-1999999999;
}
int X=0;
int Y=0;
x[X++]=tx[0];
y[Y++]=ty[0];
for(int i=1;i<n;i++){
if(tx[i]!=tx[i-1])x[X++]=tx[i];
if(ty[i]!=ty[i-1])y[Y++]=ty[i];
}
for(int i=0;i<Y;i++){
set(1,i,y[i]);
set(2,i,q-y[i]+1);
}
for(int i=0;i<n;i++){
N[i]=make_pair(lower_bound(x,x+X,dat[i].first)-x,lower_bound(y,y+Y,dat[i].second)-y);
M[i]=dat[i];
}
std::sort(N,N+n);
std::sort(M,M+n);
long long ad=(long long)(p-X)*(q-Y);
long long ret=0;
for(int i=0;i<n;i++){
if(lower_bound(x,x+X,M[i].first)-x){
int S=x[lower_bound(x,x+X,M[i].first)-x-1];
int L=lower_bound(y,y+Y,M[lower_bound(M,M+n,make_pair(S,-1))-M].second)-y;
int R=lower_bound(y,y+Y,M[upper_bound(M,M+n,make_pair(S,1999999999))-1-M].second)-y;
long long val=-1999999999;
if(L>0){
long long V=query(0,131071,0,L-1,1,1)-1;
if(V>0){
val=max(val,V-(upper_bound(y,y+Y,V)-y));
//printf("[%lld] ",V-(upper_bound(y,y+Y,V)-y));
}
}//q-V-1=q-(q-y[i]+1)-1
if(R<Y-1){
long long V=query(0,131071,R+1,Y-1,1,2)-1;
if(V>0){
val=max(val,V-(Y-(upper_bound(y,y+Y,q-V)-y)));
// printf("(%lld)",V-(Y-(upper_bound(y,y+Y,q-V)-y)));
}
}
// printf("\n");
// printf("%lld %d\n",val,S-(lower_bound(x,x+X,S+1)-x));
ret=max(ret,val+S-(upper_bound(x,x+X,S)-x));
}
ret=max(ret,(long long)segtree[0][N[i].second+131072]+M[i].first-2-(lower_bound(x,x+X,M[i].first-1)-x));
set(0,N[i].second,-1999999999);
set(1,N[i].second,-1999999999);
set(2,N[i].second,-1999999999);
}
// printf("%lld %lld\n",ret,ad);
return ret+ad;
}
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
n=c;
for(int i=0;i<c;i++)scanf("%d%d",&dat[i].first,&dat[i].second);
long long ret=0;
p=a;
q=b;
for(int j=0;j<4;j++){
ret=max(ret,solve());
for(int i=0;i<c;i++){
dat[i]=make_pair(dat[i].second,p+1-dat[i].first);
}
swap(p,q);
}
printf("%lld\n",ret);
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpwYWlyPGludCxpbnQ+ZGF0WzEwMDAwMF07CmludCB0eFsxMDAwMDBdOwppbnQgdHlbMTAwMDAwXTsKaW50IHhbMTAwMDAwXTsKaW50IHlbMTAwMDAwXTsKaW50IG47CmludCBwLHE7CnBhaXI8aW50LGludD5OWzEwMDAwMF07CnBhaXI8aW50LGludD5NWzEwMDAwMF07CmxvbmcgbG9uZyBzZWd0cmVlWzNdWzI2MjE0NF07CnZvaWQgc2V0KGludCBjLGludCBhLGxvbmcgbG9uZyBiKXsKCWErPTEzMTA3MjsKCXNlZ3RyZWVbY11bYV09YjsKCWEvPTI7Cgl3aGlsZShhKXsKCQlzZWd0cmVlW2NdW2FdPW1heChzZWd0cmVlW2NdW2EqMl0sc2VndHJlZVtjXVthKjIrMV0pOwoJCWEvPTI7Cgl9Cn0KbG9uZyBsb25nIHF1ZXJ5KGludCBhLGludCBiLGludCBjLGludCBkLGludCBlLGludCBmKXsKCWlmKGQ8YXx8YjxjKXJldHVybiAtMTk5OTk5OTk5OTsKCWlmKGM8PWEmJmI8PWQpcmV0dXJuIHNlZ3RyZWVbZl1bZV07CglyZXR1cm4gbWF4KHF1ZXJ5KGEsKGErYikvMixjLGQsZSoyLGYpLHF1ZXJ5KChhK2IpLzIrMSxiLGMsZCxlKjIrMSxmKSk7Cn0KbG9uZyBsb25nIHNvbHZlKCl7Cglmb3IoaW50IGk9MDtpPG47aSsrKXsKCQl0eFtpXT1kYXRbaV0uZmlyc3Q7CgkJdHlbaV09ZGF0W2ldLnNlY29uZDsKCX0KCXN0ZDo6c29ydCh0eCx0eCtuKTsKCXN0ZDo6c29ydCh0eSx0eStuKTsKCWZvcihpbnQgaT0wO2k8MjYyMTQ0O2krKyl7CgkJc2VndHJlZVswXVtpXT0wOwoJCXNlZ3RyZWVbMV1baV09c2VndHJlZVsyXVtpXT0tMTk5OTk5OTk5OTsKCX0KCWludCBYPTA7CglpbnQgWT0wOwoJeFtYKytdPXR4WzBdOwoJeVtZKytdPXR5WzBdOwoJZm9yKGludCBpPTE7aTxuO2krKyl7CgkJaWYodHhbaV0hPXR4W2ktMV0peFtYKytdPXR4W2ldOwoJCWlmKHR5W2ldIT10eVtpLTFdKXlbWSsrXT10eVtpXTsKCX0KCWZvcihpbnQgaT0wO2k8WTtpKyspewoJCXNldCgxLGkseVtpXSk7CgkJc2V0KDIsaSxxLXlbaV0rMSk7Cgl9Cglmb3IoaW50IGk9MDtpPG47aSsrKXsKCQlOW2ldPW1ha2VfcGFpcihsb3dlcl9ib3VuZCh4LHgrWCxkYXRbaV0uZmlyc3QpLXgsbG93ZXJfYm91bmQoeSx5K1ksZGF0W2ldLnNlY29uZCkteSk7CgkJTVtpXT1kYXRbaV07Cgl9CglzdGQ6OnNvcnQoTixOK24pOwoJc3RkOjpzb3J0KE0sTStuKTsKCWxvbmcgbG9uZyBhZD0obG9uZyBsb25nKShwLVgpKihxLVkpOwoJbG9uZyBsb25nIHJldD0wOwoJZm9yKGludCBpPTA7aTxuO2krKyl7CgkJaWYobG93ZXJfYm91bmQoeCx4K1gsTVtpXS5maXJzdCkteCl7CgkJCWludCBTPXhbbG93ZXJfYm91bmQoeCx4K1gsTVtpXS5maXJzdCkteC0xXTsKCQkJaW50IEw9bG93ZXJfYm91bmQoeSx5K1ksTVtsb3dlcl9ib3VuZChNLE0rbixtYWtlX3BhaXIoUywtMSkpLU1dLnNlY29uZCkteTsKCQkJaW50IFI9bG93ZXJfYm91bmQoeSx5K1ksTVt1cHBlcl9ib3VuZChNLE0rbixtYWtlX3BhaXIoUywxOTk5OTk5OTk5KSktMS1NXS5zZWNvbmQpLXk7CgkJCWxvbmcgbG9uZyB2YWw9LTE5OTk5OTk5OTk7CgkJCWlmKEw+MCl7CgkJCQlsb25nIGxvbmcgVj1xdWVyeSgwLDEzMTA3MSwwLEwtMSwxLDEpLTE7CgkJCQlpZihWPjApewoJCQkJCXZhbD1tYXgodmFsLFYtKHVwcGVyX2JvdW5kKHkseStZLFYpLXkpKTsKCQkJCQkvL3ByaW50ZigiWyVsbGRdICIsVi0odXBwZXJfYm91bmQoeSx5K1ksVikteSkpOwoJCQkJfQoJCQl9Ly9xLVYtMT1xLShxLXlbaV0rMSktMQoJCQlpZihSPFktMSl7CgkJCQlsb25nIGxvbmcgVj1xdWVyeSgwLDEzMTA3MSxSKzEsWS0xLDEsMiktMTsKCQkJCWlmKFY+MCl7CgkJCQkJdmFsPW1heCh2YWwsVi0oWS0odXBwZXJfYm91bmQoeSx5K1kscS1WKS15KSkpOwoJCQkJLy8JcHJpbnRmKCIoJWxsZCkiLFYtKFktKHVwcGVyX2JvdW5kKHkseStZLHEtVikteSkpKTsKCQkJCX0KCQkJfQoJCS8vCXByaW50ZigiXG4iKTsKCS8vCQlwcmludGYoIiVsbGQgJWRcbiIsdmFsLFMtKGxvd2VyX2JvdW5kKHgseCtYLFMrMSkteCkpOwoJCQlyZXQ9bWF4KHJldCx2YWwrUy0odXBwZXJfYm91bmQoeCx4K1gsUykteCkpOwoJCX0KCQlyZXQ9bWF4KHJldCwobG9uZyBsb25nKXNlZ3RyZWVbMF1bTltpXS5zZWNvbmQrMTMxMDcyXStNW2ldLmZpcnN0LTItKGxvd2VyX2JvdW5kKHgseCtYLE1baV0uZmlyc3QtMSkteCkpOwoJCXNldCgwLE5baV0uc2Vjb25kLC0xOTk5OTk5OTk5KTsKCQlzZXQoMSxOW2ldLnNlY29uZCwtMTk5OTk5OTk5OSk7CgkJc2V0KDIsTltpXS5zZWNvbmQsLTE5OTk5OTk5OTkpOwoJfQovLwlwcmludGYoIiVsbGQgJWxsZFxuIixyZXQsYWQpOwoJcmV0dXJuIHJldCthZDsKfQppbnQgbWFpbigpewoJaW50IGEsYixjOwoJc2NhbmYoIiVkJWQlZCIsJmEsJmIsJmMpOwoJbj1jOwoJZm9yKGludCBpPTA7aTxjO2krKylzY2FuZigiJWQlZCIsJmRhdFtpXS5maXJzdCwmZGF0W2ldLnNlY29uZCk7Cglsb25nIGxvbmcgcmV0PTA7CglwPWE7CglxPWI7Cglmb3IoaW50IGo9MDtqPDQ7aisrKXsKCQlyZXQ9bWF4KHJldCxzb2x2ZSgpKTsKCQlmb3IoaW50IGk9MDtpPGM7aSsrKXsKCQkJZGF0W2ldPW1ha2VfcGFpcihkYXRbaV0uc2Vjb25kLHArMS1kYXRbaV0uZmlyc3QpOwoJCX0KCQlzd2FwKHAscSk7Cgl9CglwcmludGYoIiVsbGRcbiIscmV0KTsKfQ==