#include<bits/stdc++.h>
using namespace std;
#define dbg(x) cerr << (#x) << " --> " << (x) << endl
#define lli long long int
#define pii pair<int,int>
#define mod 1000000007
#define N (int)1e6+10
#define mp make_pair
#define pb push_back
#define nd second
#define st first
#define endl '\n'
#define inf mod
#define sag (sol|1)
#define sol (root<<1)
#define ort ((bas+son)>>1)
int dp[606][606];
int n,m,k,i,j,a,b;
int arr[606][2];
int f(int a,int b){
if(dp[a][b])
return dp[a][b];
if(!a or !b)
return 0;
for(int i=1 ; i<=k ; i++){
int x = arr[i][0];
int y = arr[i][1];
if(x>a or y>b)
continue;
int t = max(f(a-x,y) + f(a,b-y) , f(a-x,b) + f(x,b-y) ) + x*y;
dp[a][b] = max(t,dp[a][b]);
}
return dp[a][b];
}
int main(){
cin >> n >> m;
cin >> k;
for(i=1 ; i<=k ; i++)
cin >> arr[i][0] >> arr[i][1];
cout << n*m-f(n,m) << endl;
}