# include <iostream>
# include <cstdlib>
# include <cstdio>
# include <limits>
# include <queue>
# include <cmath>
# include <algorithm>
using namespace std;
struct point
{
point (int X = 0, int Y = 0) {x = X; y = Y;}
int x, y;
};
int cmp (point item1, point item2)
{
if (item1.x == item2.x)
{
return (item1.y <= item2.y);
}
return item1.x < item2.x;
}
/*int cmp (point item1, point item2)
{
if (item1.x <= item2.x)
{
return (item1.y <= item2.y);
}
return false;
}*/
point POINT[103];
int MAXIM[103];
int N, M, P, MCOUNT = 0, DIST = 0, LENGTH = 100;
double DIAG = 141.42135623730950488016887242097;
int main(int argc, char const *argv[])
{
//freopen ("1119_Metro_Input.txt", "r", stdin);
//freopen ("1119_Metro_Output.txt","w", stdout);
//while (cin.eof() == false)
//{
MCOUNT = 0;
cin >> N >> M >> P;
POINT[0].x = POINT[0].y = 0;
MAXIM[0] = 0;
for (int i = 1; i <= P; i++)
{
MAXIM[i] = 0;
cin >> POINT[i].x >> POINT[i].y;
}
sort (POINT, POINT + P + 1, cmp);
for (int i = 1; i <= P; i++)
{
for (int j = 0; j < i; j++)
{
if (POINT[j].x < POINT[i].x && POINT[j].y < POINT[i].y)
MAXIM[i] = max (MAXIM [j] + 1, MAXIM[i]);
}
if (MAXIM[i] > MCOUNT)
{
MCOUNT = MAXIM[i];
}
}
DIST = (N + M - (MCOUNT * 2)) * LENGTH;
//cout << DIST << " " << MCOUNT << endl;
cout << (int)((DIST + MCOUNT * DIAG) + 0.5) << endl;
//}
return 0;
}
IyBpbmNsdWRlIDxpb3N0cmVhbT4KIyBpbmNsdWRlIDxjc3RkbGliPgojIGluY2x1ZGUgPGNzdGRpbz4KIyBpbmNsdWRlIDxsaW1pdHM+CiMgaW5jbHVkZSA8cXVldWU+CiMgaW5jbHVkZSA8Y21hdGg+CiMgaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpzdHJ1Y3QgcG9pbnQKewogICAgcG9pbnQgKGludCBYID0gMCwgaW50IFkgPSAwKSB7eCA9IFg7IHkgPSBZO30KICAgIGludCB4LCB5Owp9OwppbnQgY21wIChwb2ludCBpdGVtMSwgcG9pbnQgaXRlbTIpCnsKICAgIGlmIChpdGVtMS54ID09IGl0ZW0yLngpCiAgICB7CiAgICAgICAgcmV0dXJuIChpdGVtMS55IDw9IGl0ZW0yLnkpOwogICAgfQogICAgcmV0dXJuIGl0ZW0xLnggPCBpdGVtMi54Owp9Ci8qaW50IGNtcCAocG9pbnQgaXRlbTEsIHBvaW50IGl0ZW0yKQp7CglpZiAoaXRlbTEueCA8PSBpdGVtMi54KQoJewoJCXJldHVybiAoaXRlbTEueSA8PSBpdGVtMi55KTsKCX0KCXJldHVybiBmYWxzZTsKfSovCnBvaW50IFBPSU5UWzEwM107CmludCBNQVhJTVsxMDNdOwppbnQgTiwgTSwgUCwgTUNPVU5UID0gMCwgRElTVCA9IDAsIExFTkdUSCA9IDEwMDsKZG91YmxlIERJQUcgPSAxNDEuNDIxMzU2MjM3MzA5NTA0ODgwMTY4ODcyNDIwOTc7CmludCBtYWluKGludCBhcmdjLCBjaGFyIGNvbnN0ICphcmd2W10pCnsKCS8vZnJlb3BlbiAoIjExMTlfTWV0cm9fSW5wdXQudHh0IiwgInIiLCBzdGRpbik7CgkvL2ZyZW9wZW4gKCIxMTE5X01ldHJvX091dHB1dC50eHQiLCJ3Iiwgc3Rkb3V0KTsKCS8vd2hpbGUgKGNpbi5lb2YoKSA9PSBmYWxzZSkKCS8vewoJCU1DT1VOVCA9IDA7CgkJY2luID4+IE4gPj4gTSA+PiBQOwoJCVBPSU5UWzBdLnggPSBQT0lOVFswXS55ID0gMDsKCQlNQVhJTVswXSA9IDA7CgkJZm9yIChpbnQgaSA9IDE7IGkgPD0gUDsgaSsrKQoJCXsKCQkJTUFYSU1baV0gPSAwOwoJCQljaW4gPj4gUE9JTlRbaV0ueCA+PiBQT0lOVFtpXS55OwoJCX0KCQlzb3J0IChQT0lOVCwgUE9JTlQgKyBQICsgMSwgY21wKTsKCQlmb3IgKGludCBpID0gMTsgaSA8PSBQOyBpKyspCgkJewoJCQlmb3IgKGludCBqID0gMDsgaiA8IGk7IGorKykKCQkJewoJCQkJaWYgKFBPSU5UW2pdLnggPCBQT0lOVFtpXS54ICYmIFBPSU5UW2pdLnkgPCBQT0lOVFtpXS55KQoJCQkJCU1BWElNW2ldID0gbWF4IChNQVhJTSBbal0gKyAxLCBNQVhJTVtpXSk7CgkJCX0KCQkJaWYgKE1BWElNW2ldID4gTUNPVU5UKQoJCQl7CgkJCQlNQ09VTlQgPSBNQVhJTVtpXTsKCQkJfQoJCX0KCQlESVNUID0gKE4gKyBNIC0gKE1DT1VOVCAqIDIpKSAqIExFTkdUSDsKCQkvL2NvdXQgPDwgRElTVCA8PCAiICIgPDwgTUNPVU5UIDw8IGVuZGw7CgkJY291dCA8PCAoaW50KSgoRElTVCArIE1DT1VOVCAqIERJQUcpICsgMC41KSA8PCBlbmRsOwoJLy99CglyZXR1cm4gMDsKfQ==