// Warning: very old code.
#include <fstream>
#include <algorithm>
#include <vector>
 
#define VALMAX 100005
using namespace std;
 
struct node {
    int left, right;
    int lazy, maxima;
    node(int _left = 0, int _right = 0, int _lazy = 0, int _maxima = 0) :
      left(_left), right(_right), lazy(_lazy), maxima(_maxima) {}
    inline void make_lazy(int value) {
        maxima += value;
        lazy += value;
    }
} arb[VALMAX * 4];
 
void build(int left, int right, int pos) {
    arb[pos].left = left, arb[pos].right = right;
    arb[pos].lazy = arb[pos].maxima = 0;
    if (left == right)
        return ;
    const int mijl = (left + right) / 2;
    build(left, mijl, 2 * pos);
    build(mijl + 1, right, 2 * pos + 1);
}
 
void update(int left, int right, int value, int pos) {
    if (arb[pos].left == left && arb[pos].right == right) {
        arb[pos].make_lazy(value);
        return ;
    }
    const int mijl = (arb[pos].left + arb[pos].right) / 2;
    if (right <= mijl)
        update(left, right, value, 2 * pos);
    else if (left > mijl)
        update(left, right, value, 2 * pos + 1);
    else {
        update(left, mijl, value, 2 * pos);
        update(mijl + 1, right, value, 2 * pos + 1);
    }
    arb[pos].maxima = max(arb[2 * pos].maxima, arb[2 * pos + 1].maxima) + arb[pos].lazy;
}
 
struct point {
    int x, y;
    point(int _x = 0, int _y = 0): x(_x), y(_y) {}
} points[VALMAX + 5];
 
struct event {
    int type; // 1 = insert, -1 = erase
    int which;
    event(int _type = 0, int _which = 0): type(_type), which(_which) {}
};
 
vector <event> events[VALMAX + 5];
 
int sweep_maxima_OY_asc[VALMAX + 5];
int sweep_maxima_OY_desc[VALMAX + 5];
int sweep_maxima_OX_asc[VALMAX + 5];
int sweep_maxima_OX_desc[VALMAX + 5];
 
int dx, dy, n;
inline void do_sweeping (int *sweep_maxima_OY_asc, int *sweep_maxima_OY_desc) {
    build(0, VALMAX, 1);
 
    for (int i = 1; i <= n; i++) {
        events[points[i].x].push_back(event(1, i));
 
        if (points[i].x + dx <= VALMAX)
            events[points[i].x + dx].push_back(event(-1, i));
    }
 
    vector <event> :: iterator it;
    for (int i = 0; i <= VALMAX; i++) {
        if (i)
            sweep_maxima_OY_asc[i] = sweep_maxima_OY_asc[i - 1];
        for (it = events[i].begin(); it != events[i].end(); it++)
            if (it -> type == 1) {
                update(points[it -> which].y, min(points[it -> which].y + dy, VALMAX), it -> type, 1);
                sweep_maxima_OY_asc[i] = max(sweep_maxima_OY_asc[i], arb[1].maxima);
            }
        for (it = events[i].begin(); it != events[i].end(); it++)
            if (it -> type == -1) {
                update(points[it -> which].y, min(points[it -> which].y + dy, VALMAX), it -> type, 1);
                sweep_maxima_OY_asc[i] = max(sweep_maxima_OY_asc[i], arb[1].maxima);
            }
        events[i].clear();
    }
 
    //Baleere descendenta
    build(0, VALMAX, 1);
 
    for (int i = 1; i <= n; i++) {
        events[points[i].x].push_back(event(1, i));
        if (points[i].x - dx >= 0)
            events[points[i].x - dx].push_back(event(-1, i));
    }
 
    for (int i = VALMAX; i >= 0; i--) {
        sweep_maxima_OY_desc[i] = sweep_maxima_OY_desc[i + 1];
        for (it = events[i].begin(); it != events[i].end(); it++)
            if (it -> type == 1) {
                update(points[it -> which].y, min(points[it -> which].y + dy, VALMAX), it -> type, 1);
                sweep_maxima_OY_desc[i] = max(sweep_maxima_OY_desc[i], arb[1].maxima);
            }
        for (it = events[i].begin(); it != events[i].end(); it++)
            if (it -> type == -1) {
                update(points[it -> which].y, min(points[it -> which].y + dy, VALMAX), it -> type, 1);
                sweep_maxima_OY_desc[i] = max(sweep_maxima_OY_desc[i], arb[1].maxima);
            }
        events[i].clear();
    }
}
 
inline void invert () {
    for (int i = 1; i <= n; i++)
        swap(points[i].x, points[i].y);
    swap(dx, dy);
}
 
int main()
{
    ifstream cin("parcele.in");
    ofstream cout("parcele.out");
 
    cin >> dx >> dy >> n;
 
    for (int i = 1; i <= n; i++)
        cin >> points[i].x >> points[i].y;
 
    do_sweeping(sweep_maxima_OY_asc, sweep_maxima_OY_desc);
    invert();
    do_sweeping(sweep_maxima_OX_asc, sweep_maxima_OX_desc);
 
    int maxima = 0;
    for (int i = 0; i < VALMAX; i++) {
        maxima = max(maxima, sweep_maxima_OY_asc[i] + sweep_maxima_OY_desc[i + 1]);
        maxima = max(maxima, sweep_maxima_OX_asc[i] + sweep_maxima_OX_desc[i + 1]);
    }
 
    cout << maxima << '\n';
 
    cin.close();
    cout.close();
    return 0;
}
				Ly8gV2FybmluZzogdmVyeSBvbGQgY29kZS4KI2luY2x1ZGUgPGZzdHJlYW0+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNpbmNsdWRlIDx2ZWN0b3I+CiAKI2RlZmluZSBWQUxNQVggMTAwMDA1CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKc3RydWN0IG5vZGUgewogICAgaW50IGxlZnQsIHJpZ2h0OwogICAgaW50IGxhenksIG1heGltYTsKICAgIG5vZGUoaW50IF9sZWZ0ID0gMCwgaW50IF9yaWdodCA9IDAsIGludCBfbGF6eSA9IDAsIGludCBfbWF4aW1hID0gMCkgOgogICAgICBsZWZ0KF9sZWZ0KSwgcmlnaHQoX3JpZ2h0KSwgbGF6eShfbGF6eSksIG1heGltYShfbWF4aW1hKSB7fQogICAgaW5saW5lIHZvaWQgbWFrZV9sYXp5KGludCB2YWx1ZSkgewogICAgICAgIG1heGltYSArPSB2YWx1ZTsKICAgICAgICBsYXp5ICs9IHZhbHVlOwogICAgfQp9IGFyYltWQUxNQVggKiA0XTsKIAp2b2lkIGJ1aWxkKGludCBsZWZ0LCBpbnQgcmlnaHQsIGludCBwb3MpIHsKICAgIGFyYltwb3NdLmxlZnQgPSBsZWZ0LCBhcmJbcG9zXS5yaWdodCA9IHJpZ2h0OwogICAgYXJiW3Bvc10ubGF6eSA9IGFyYltwb3NdLm1heGltYSA9IDA7CiAgICBpZiAobGVmdCA9PSByaWdodCkKICAgICAgICByZXR1cm4gOwogICAgY29uc3QgaW50IG1pamwgPSAobGVmdCArIHJpZ2h0KSAvIDI7CiAgICBidWlsZChsZWZ0LCBtaWpsLCAyICogcG9zKTsKICAgIGJ1aWxkKG1pamwgKyAxLCByaWdodCwgMiAqIHBvcyArIDEpOwp9CiAKdm9pZCB1cGRhdGUoaW50IGxlZnQsIGludCByaWdodCwgaW50IHZhbHVlLCBpbnQgcG9zKSB7CiAgICBpZiAoYXJiW3Bvc10ubGVmdCA9PSBsZWZ0ICYmIGFyYltwb3NdLnJpZ2h0ID09IHJpZ2h0KSB7CiAgICAgICAgYXJiW3Bvc10ubWFrZV9sYXp5KHZhbHVlKTsKICAgICAgICByZXR1cm4gOwogICAgfQogICAgY29uc3QgaW50IG1pamwgPSAoYXJiW3Bvc10ubGVmdCArIGFyYltwb3NdLnJpZ2h0KSAvIDI7CiAgICBpZiAocmlnaHQgPD0gbWlqbCkKICAgICAgICB1cGRhdGUobGVmdCwgcmlnaHQsIHZhbHVlLCAyICogcG9zKTsKICAgIGVsc2UgaWYgKGxlZnQgPiBtaWpsKQogICAgICAgIHVwZGF0ZShsZWZ0LCByaWdodCwgdmFsdWUsIDIgKiBwb3MgKyAxKTsKICAgIGVsc2UgewogICAgICAgIHVwZGF0ZShsZWZ0LCBtaWpsLCB2YWx1ZSwgMiAqIHBvcyk7CiAgICAgICAgdXBkYXRlKG1pamwgKyAxLCByaWdodCwgdmFsdWUsIDIgKiBwb3MgKyAxKTsKICAgIH0KICAgIGFyYltwb3NdLm1heGltYSA9IG1heChhcmJbMiAqIHBvc10ubWF4aW1hLCBhcmJbMiAqIHBvcyArIDFdLm1heGltYSkgKyBhcmJbcG9zXS5sYXp5Owp9CiAKc3RydWN0IHBvaW50IHsKICAgIGludCB4LCB5OwogICAgcG9pbnQoaW50IF94ID0gMCwgaW50IF95ID0gMCk6IHgoX3gpLCB5KF95KSB7fQp9IHBvaW50c1tWQUxNQVggKyA1XTsKIApzdHJ1Y3QgZXZlbnQgewogICAgaW50IHR5cGU7IC8vIDEgPSBpbnNlcnQsIC0xID0gZXJhc2UKICAgIGludCB3aGljaDsKICAgIGV2ZW50KGludCBfdHlwZSA9IDAsIGludCBfd2hpY2ggPSAwKTogdHlwZShfdHlwZSksIHdoaWNoKF93aGljaCkge30KfTsKIAp2ZWN0b3IgPGV2ZW50PiBldmVudHNbVkFMTUFYICsgNV07CiAKaW50IHN3ZWVwX21heGltYV9PWV9hc2NbVkFMTUFYICsgNV07CmludCBzd2VlcF9tYXhpbWFfT1lfZGVzY1tWQUxNQVggKyA1XTsKaW50IHN3ZWVwX21heGltYV9PWF9hc2NbVkFMTUFYICsgNV07CmludCBzd2VlcF9tYXhpbWFfT1hfZGVzY1tWQUxNQVggKyA1XTsKIAppbnQgZHgsIGR5LCBuOwppbmxpbmUgdm9pZCBkb19zd2VlcGluZyAoaW50ICpzd2VlcF9tYXhpbWFfT1lfYXNjLCBpbnQgKnN3ZWVwX21heGltYV9PWV9kZXNjKSB7CiAgICBidWlsZCgwLCBWQUxNQVgsIDEpOwogCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICBldmVudHNbcG9pbnRzW2ldLnhdLnB1c2hfYmFjayhldmVudCgxLCBpKSk7CiAKICAgICAgICBpZiAocG9pbnRzW2ldLnggKyBkeCA8PSBWQUxNQVgpCiAgICAgICAgICAgIGV2ZW50c1twb2ludHNbaV0ueCArIGR4XS5wdXNoX2JhY2soZXZlbnQoLTEsIGkpKTsKICAgIH0KIAogICAgdmVjdG9yIDxldmVudD4gOjogaXRlcmF0b3IgaXQ7CiAgICBmb3IgKGludCBpID0gMDsgaSA8PSBWQUxNQVg7IGkrKykgewogICAgICAgIGlmIChpKQogICAgICAgICAgICBzd2VlcF9tYXhpbWFfT1lfYXNjW2ldID0gc3dlZXBfbWF4aW1hX09ZX2FzY1tpIC0gMV07CiAgICAgICAgZm9yIChpdCA9IGV2ZW50c1tpXS5iZWdpbigpOyBpdCAhPSBldmVudHNbaV0uZW5kKCk7IGl0KyspCiAgICAgICAgICAgIGlmIChpdCAtPiB0eXBlID09IDEpIHsKICAgICAgICAgICAgICAgIHVwZGF0ZShwb2ludHNbaXQgLT4gd2hpY2hdLnksIG1pbihwb2ludHNbaXQgLT4gd2hpY2hdLnkgKyBkeSwgVkFMTUFYKSwgaXQgLT4gdHlwZSwgMSk7CiAgICAgICAgICAgICAgICBzd2VlcF9tYXhpbWFfT1lfYXNjW2ldID0gbWF4KHN3ZWVwX21heGltYV9PWV9hc2NbaV0sIGFyYlsxXS5tYXhpbWEpOwogICAgICAgICAgICB9CiAgICAgICAgZm9yIChpdCA9IGV2ZW50c1tpXS5iZWdpbigpOyBpdCAhPSBldmVudHNbaV0uZW5kKCk7IGl0KyspCiAgICAgICAgICAgIGlmIChpdCAtPiB0eXBlID09IC0xKSB7CiAgICAgICAgICAgICAgICB1cGRhdGUocG9pbnRzW2l0IC0+IHdoaWNoXS55LCBtaW4ocG9pbnRzW2l0IC0+IHdoaWNoXS55ICsgZHksIFZBTE1BWCksIGl0IC0+IHR5cGUsIDEpOwogICAgICAgICAgICAgICAgc3dlZXBfbWF4aW1hX09ZX2FzY1tpXSA9IG1heChzd2VlcF9tYXhpbWFfT1lfYXNjW2ldLCBhcmJbMV0ubWF4aW1hKTsKICAgICAgICAgICAgfQogICAgICAgIGV2ZW50c1tpXS5jbGVhcigpOwogICAgfQogCiAgICAvL0JhbGVlcmUgZGVzY2VuZGVudGEKICAgIGJ1aWxkKDAsIFZBTE1BWCwgMSk7CiAKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgIGV2ZW50c1twb2ludHNbaV0ueF0ucHVzaF9iYWNrKGV2ZW50KDEsIGkpKTsKICAgICAgICBpZiAocG9pbnRzW2ldLnggLSBkeCA+PSAwKQogICAgICAgICAgICBldmVudHNbcG9pbnRzW2ldLnggLSBkeF0ucHVzaF9iYWNrKGV2ZW50KC0xLCBpKSk7CiAgICB9CiAKICAgIGZvciAoaW50IGkgPSBWQUxNQVg7IGkgPj0gMDsgaS0tKSB7CiAgICAgICAgc3dlZXBfbWF4aW1hX09ZX2Rlc2NbaV0gPSBzd2VlcF9tYXhpbWFfT1lfZGVzY1tpICsgMV07CiAgICAgICAgZm9yIChpdCA9IGV2ZW50c1tpXS5iZWdpbigpOyBpdCAhPSBldmVudHNbaV0uZW5kKCk7IGl0KyspCiAgICAgICAgICAgIGlmIChpdCAtPiB0eXBlID09IDEpIHsKICAgICAgICAgICAgICAgIHVwZGF0ZShwb2ludHNbaXQgLT4gd2hpY2hdLnksIG1pbihwb2ludHNbaXQgLT4gd2hpY2hdLnkgKyBkeSwgVkFMTUFYKSwgaXQgLT4gdHlwZSwgMSk7CiAgICAgICAgICAgICAgICBzd2VlcF9tYXhpbWFfT1lfZGVzY1tpXSA9IG1heChzd2VlcF9tYXhpbWFfT1lfZGVzY1tpXSwgYXJiWzFdLm1heGltYSk7CiAgICAgICAgICAgIH0KICAgICAgICBmb3IgKGl0ID0gZXZlbnRzW2ldLmJlZ2luKCk7IGl0ICE9IGV2ZW50c1tpXS5lbmQoKTsgaXQrKykKICAgICAgICAgICAgaWYgKGl0IC0+IHR5cGUgPT0gLTEpIHsKICAgICAgICAgICAgICAgIHVwZGF0ZShwb2ludHNbaXQgLT4gd2hpY2hdLnksIG1pbihwb2ludHNbaXQgLT4gd2hpY2hdLnkgKyBkeSwgVkFMTUFYKSwgaXQgLT4gdHlwZSwgMSk7CiAgICAgICAgICAgICAgICBzd2VlcF9tYXhpbWFfT1lfZGVzY1tpXSA9IG1heChzd2VlcF9tYXhpbWFfT1lfZGVzY1tpXSwgYXJiWzFdLm1heGltYSk7CiAgICAgICAgICAgIH0KICAgICAgICBldmVudHNbaV0uY2xlYXIoKTsKICAgIH0KfQogCmlubGluZSB2b2lkIGludmVydCAoKSB7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspCiAgICAgICAgc3dhcChwb2ludHNbaV0ueCwgcG9pbnRzW2ldLnkpOwogICAgc3dhcChkeCwgZHkpOwp9CiAKaW50IG1haW4oKQp7CiAgICBpZnN0cmVhbSBjaW4oInBhcmNlbGUuaW4iKTsKICAgIG9mc3RyZWFtIGNvdXQoInBhcmNlbGUub3V0Iik7CiAKICAgIGNpbiA+PiBkeCA+PiBkeSA+PiBuOwogCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspCiAgICAgICAgY2luID4+IHBvaW50c1tpXS54ID4+IHBvaW50c1tpXS55OwogCiAgICBkb19zd2VlcGluZyhzd2VlcF9tYXhpbWFfT1lfYXNjLCBzd2VlcF9tYXhpbWFfT1lfZGVzYyk7CiAgICBpbnZlcnQoKTsKICAgIGRvX3N3ZWVwaW5nKHN3ZWVwX21heGltYV9PWF9hc2MsIHN3ZWVwX21heGltYV9PWF9kZXNjKTsKIAogICAgaW50IG1heGltYSA9IDA7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IFZBTE1BWDsgaSsrKSB7CiAgICAgICAgbWF4aW1hID0gbWF4KG1heGltYSwgc3dlZXBfbWF4aW1hX09ZX2FzY1tpXSArIHN3ZWVwX21heGltYV9PWV9kZXNjW2kgKyAxXSk7CiAgICAgICAgbWF4aW1hID0gbWF4KG1heGltYSwgc3dlZXBfbWF4aW1hX09YX2FzY1tpXSArIHN3ZWVwX21heGltYV9PWF9kZXNjW2kgKyAxXSk7CiAgICB9CiAKICAgIGNvdXQgPDwgbWF4aW1hIDw8ICdcbic7CiAKICAgIGNpbi5jbG9zZSgpOwogICAgY291dC5jbG9zZSgpOwogICAgcmV0dXJuIDA7Cn0=