#include <bits/stdc++.h>
#define el '\n'
#define fi first
#define sec second
#define pb push_back
#define int long long
#define pii pair<int,int>
#define sz(v) (int)(v).size()
#define all(v) (v).begin(),(v).end()
#define FOR(i, a, b) for(int i = (a), _b = (b); i <= _b; i++)
#define REP(i, a, b) for(int i = (a), _b = (b); i >= _b; i--)
using namespace std;
const int INF = (int)1e18 + 462010;
const int MAX_N = 1e5;
int n, m, k, W;
vector<int> cnt, s1, s2, u;
vector<array<int, 4>> rec;
int id(int i, int j){
return i * W + j;
}
void upd(int r, int c, int sg, int x){
int p = id(r, c);
cnt[p] += sg;
s1[p] += sg * x;
s2[p] += sg * x * x;
}
void Input(){
cin >> n >> m >> k;
rec.resize(k + 1);
FOR(i, 1, k){
cin >> rec[i][0] >> rec[i][1] >> rec[i][2] >> rec[i][3];
}
}
void Prepare(){
W = m + 2;
int tot = (n + 2) * W;
cnt.assign(tot, 0);
s1.assign(tot, 0);
s2.assign(tot, 0);
u.assign(k + 1, 0);
FOR(i, 1, k){
int r1 = rec[i][0], c1 = rec[i][1], r2 = rec[i][2], c2 = rec[i][3];
upd(r1, c1, 1, i);
upd(r1, c2 + 1, -1, i);
upd(r2 + 1, c1, -1, i);
upd(r2 + 1, c2 + 1, 1, i);
}
FOR(i, 1, n) FOR(j, 1, m){
int p = id(i, j);
int a = id(i - 1, j), b = id(i, j - 1), c = id(i - 1, j - 1);
cnt[p] += cnt[a] + cnt[b] - cnt[c];
s1[p] += s1[a] + s1[b] - s1[c];
s2[p] += s2[a] + s2[b] - s2[c];
}
}
void Solve(){
int T = 0;
vector<int> prs;
FOR(i, 1, n) FOR(j, 1, m){
int p = id(i, j);
if(cnt[p] >= 1) T++;
if(cnt[p] == 1){
u[s1[p]]++;
}
else if(cnt[p] == 2){
int s = s1[p], q = s2[p];
int d2 = 2 * q - s * s;
int d = (int)sqrtl((long double)d2);
while(d * d > d2) d--;
while((d + 1) * (d + 1) <= d2) d++;
int x = (s - d) / 2, y = (s + d) / 2;
prs.pb(x * (k + 1) + y);
}
}
sort(all(prs));
vector<int> keys, ws;
for(int i = 0; i < sz(prs); ){
int j = i;
while(j < sz(prs) && prs[j] == prs[i]) j++;
keys.pb(prs[i]);
ws.pb(j - i);
i = j;
}
int best = INF;
FOR(t, 0, sz(keys) - 1){
int x = keys[t] / (k + 1), y = keys[t] % (k + 1);
best = min(best, u[x] + u[y] + ws[t]);
}
vector<int> ord(k);
iota(all(ord), 1);
sort(all(ord), [&](int a, int b){
return u[a] < u[b];
});
FOR(a, 0, k - 1){
bool found = false;
FOR(b, a + 1, k - 1){
int x = min(ord[a], ord[b]), y = max(ord[a], ord[b]);
int code = x * (k + 1) + y;
if(!binary_search(all(keys), code)){
best = min(best, u[x] + u[y]);
found = true;
break;
}
}
if(!found && a + 1 >= k) break;
}
cout << T - best << el;
}
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
Input();
Prepare();
Solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIGVsICdcbicKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlYyBzZWNvbmQKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgcGlpIHBhaXI8aW50LGludD4KI2RlZmluZSBzeih2KSAoaW50KSh2KS5zaXplKCkKI2RlZmluZSBhbGwodikgKHYpLmJlZ2luKCksKHYpLmVuZCgpCiNkZWZpbmUgRk9SKGksIGEsIGIpIGZvcihpbnQgaSA9IChhKSwgX2IgPSAoYik7IGkgPD0gX2I7IGkrKykKI2RlZmluZSBSRVAoaSwgYSwgYikgZm9yKGludCBpID0gKGEpLCBfYiA9IChiKTsgaSA+PSBfYjsgaS0tKQoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBJTkYgPSAoaW50KTFlMTggKyA0NjIwMTA7CmNvbnN0IGludCBNQVhfTiA9IDFlNTsKCmludCBuLCBtLCBrLCBXOwp2ZWN0b3I8aW50PiBjbnQsIHMxLCBzMiwgdTsKdmVjdG9yPGFycmF5PGludCwgND4+IHJlYzsKCmludCBpZChpbnQgaSwgaW50IGopewogICAgcmV0dXJuIGkgKiBXICsgajsKfQoKdm9pZCB1cGQoaW50IHIsIGludCBjLCBpbnQgc2csIGludCB4KXsKICAgIGludCBwID0gaWQociwgYyk7CiAgICBjbnRbcF0gKz0gc2c7CiAgICBzMVtwXSArPSBzZyAqIHg7CiAgICBzMltwXSArPSBzZyAqIHggKiB4Owp9Cgp2b2lkIElucHV0KCl7CiAgICBjaW4gPj4gbiA+PiBtID4+IGs7CiAgICByZWMucmVzaXplKGsgKyAxKTsKICAgIEZPUihpLCAxLCBrKXsKICAgICAgICBjaW4gPj4gcmVjW2ldWzBdID4+IHJlY1tpXVsxXSA+PiByZWNbaV1bMl0gPj4gcmVjW2ldWzNdOwogICAgfQp9Cgp2b2lkIFByZXBhcmUoKXsKICAgIFcgPSBtICsgMjsKICAgIGludCB0b3QgPSAobiArIDIpICogVzsKICAgIGNudC5hc3NpZ24odG90LCAwKTsKICAgIHMxLmFzc2lnbih0b3QsIDApOwogICAgczIuYXNzaWduKHRvdCwgMCk7CiAgICB1LmFzc2lnbihrICsgMSwgMCk7CgogICAgRk9SKGksIDEsIGspewogICAgICAgIGludCByMSA9IHJlY1tpXVswXSwgYzEgPSByZWNbaV1bMV0sIHIyID0gcmVjW2ldWzJdLCBjMiA9IHJlY1tpXVszXTsKICAgICAgICB1cGQocjEsIGMxLCAxLCBpKTsKICAgICAgICB1cGQocjEsIGMyICsgMSwgLTEsIGkpOwogICAgICAgIHVwZChyMiArIDEsIGMxLCAtMSwgaSk7CiAgICAgICAgdXBkKHIyICsgMSwgYzIgKyAxLCAxLCBpKTsKICAgIH0KCiAgICBGT1IoaSwgMSwgbikgRk9SKGosIDEsIG0pewogICAgICAgIGludCBwID0gaWQoaSwgaik7CiAgICAgICAgaW50IGEgPSBpZChpIC0gMSwgaiksIGIgPSBpZChpLCBqIC0gMSksIGMgPSBpZChpIC0gMSwgaiAtIDEpOwogICAgICAgIGNudFtwXSArPSBjbnRbYV0gKyBjbnRbYl0gLSBjbnRbY107CiAgICAgICAgczFbcF0gKz0gczFbYV0gKyBzMVtiXSAtIHMxW2NdOwogICAgICAgIHMyW3BdICs9IHMyW2FdICsgczJbYl0gLSBzMltjXTsKICAgIH0KfQoKdm9pZCBTb2x2ZSgpewogICAgaW50IFQgPSAwOwogICAgdmVjdG9yPGludD4gcHJzOwoKICAgIEZPUihpLCAxLCBuKSBGT1IoaiwgMSwgbSl7CiAgICAgICAgaW50IHAgPSBpZChpLCBqKTsKICAgICAgICBpZihjbnRbcF0gPj0gMSkgVCsrOwoKICAgICAgICBpZihjbnRbcF0gPT0gMSl7CiAgICAgICAgICAgIHVbczFbcF1dKys7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoY250W3BdID09IDIpewogICAgICAgICAgICBpbnQgcyA9IHMxW3BdLCBxID0gczJbcF07CiAgICAgICAgICAgIGludCBkMiA9IDIgKiBxIC0gcyAqIHM7CiAgICAgICAgICAgIGludCBkID0gKGludClzcXJ0bCgobG9uZyBkb3VibGUpZDIpOwogICAgICAgICAgICB3aGlsZShkICogZCA+IGQyKSBkLS07CiAgICAgICAgICAgIHdoaWxlKChkICsgMSkgKiAoZCArIDEpIDw9IGQyKSBkKys7CiAgICAgICAgICAgIGludCB4ID0gKHMgLSBkKSAvIDIsIHkgPSAocyArIGQpIC8gMjsKICAgICAgICAgICAgcHJzLnBiKHggKiAoayArIDEpICsgeSk7CiAgICAgICAgfQogICAgfQoKICAgIHNvcnQoYWxsKHBycykpOwoKICAgIHZlY3RvcjxpbnQ+IGtleXMsIHdzOwogICAgZm9yKGludCBpID0gMDsgaSA8IHN6KHBycyk7ICl7CiAgICAgICAgaW50IGogPSBpOwogICAgICAgIHdoaWxlKGogPCBzeihwcnMpICYmIHByc1tqXSA9PSBwcnNbaV0pIGorKzsKICAgICAgICBrZXlzLnBiKHByc1tpXSk7CiAgICAgICAgd3MucGIoaiAtIGkpOwogICAgICAgIGkgPSBqOwogICAgfQoKICAgIGludCBiZXN0ID0gSU5GOwoKICAgIEZPUih0LCAwLCBzeihrZXlzKSAtIDEpewogICAgICAgIGludCB4ID0ga2V5c1t0XSAvIChrICsgMSksIHkgPSBrZXlzW3RdICUgKGsgKyAxKTsKICAgICAgICBiZXN0ID0gbWluKGJlc3QsIHVbeF0gKyB1W3ldICsgd3NbdF0pOwogICAgfQoKICAgIHZlY3RvcjxpbnQ+IG9yZChrKTsKICAgIGlvdGEoYWxsKG9yZCksIDEpOwogICAgc29ydChhbGwob3JkKSwgWyZdKGludCBhLCBpbnQgYil7CiAgICAgICAgcmV0dXJuIHVbYV0gPCB1W2JdOwogICAgfSk7CgogICAgRk9SKGEsIDAsIGsgLSAxKXsKICAgICAgICBib29sIGZvdW5kID0gZmFsc2U7CiAgICAgICAgRk9SKGIsIGEgKyAxLCBrIC0gMSl7CiAgICAgICAgICAgIGludCB4ID0gbWluKG9yZFthXSwgb3JkW2JdKSwgeSA9IG1heChvcmRbYV0sIG9yZFtiXSk7CiAgICAgICAgICAgIGludCBjb2RlID0geCAqIChrICsgMSkgKyB5OwogICAgICAgICAgICBpZighYmluYXJ5X3NlYXJjaChhbGwoa2V5cyksIGNvZGUpKXsKICAgICAgICAgICAgICAgIGJlc3QgPSBtaW4oYmVzdCwgdVt4XSArIHVbeV0pOwogICAgICAgICAgICAgICAgZm91bmQgPSB0cnVlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYoIWZvdW5kICYmIGEgKyAxID49IGspIGJyZWFrOwogICAgfQoKICAgIGNvdXQgPDwgVCAtIGJlc3QgPDwgZWw7Cn0KCnNpZ25lZCBtYWluKCl7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsKCiAgICBJbnB1dCgpOwogICAgUHJlcGFyZSgpOwogICAgU29sdmUoKTsKCiAgICByZXR1cm4gMDsKfQ==