#include <bits/stdc++.h>
using namespace std;
const long long maxn(1e5 + 5);
long long n, m, k, ans = 1, l, r, u, b;
struct ob {
  long long x, y;
} obsx[maxn], obsy[maxn];
bool cmpx(ob a, ob b) {
  if (a.x == b.x) {
    return a.y < b.y;
  } else {
    return a.x < b.x;
  }
}
bool cmpy(ob a, ob b) {
  if (a.y == b.y) {
    return a.x < b.x;
  } else {
    return a.y < b.y;
  }
}
bool cmp1(ob a, ob b) { return a.x < b.x; }
bool cmp2(ob a, ob b) { return a.y < b.y; }
int main() {
  cin >> n >> m >> k;
  l = 0, r = m + 1, u = 1, b = n + 1;
  for (int i = 1; i <= k; i++) {
    cin >> obsx[i].x >> obsx[i].y;
    obsy[i].x = obsx[i].x, obsy[i].y = obsx[i].y;
  }
  sort(obsx + 1, obsx + k + 1, cmpx);
  sort(obsy + 1, obsy + k + 1, cmpy);
  int direct = 1;
  ob now = {1, 1}, *fi;
  while (1) {
    if (direct == 1) {
      fi = lower_bound(obsx + 1, obsx + k + 1, now, cmpx);
      if (fi->x == now.x) {
        r = min(r, fi->y);
      }
      ans += r - now.y - 1;
      if (now.y == r - 1) {
        if (now.x == 1 && now.y == 1) {
          direct = 2;
        } else {
          break;
        }
      } else {
        now.y = --r;
        direct = 2;
      }
    } else if (direct == 2) {
      fi = lower_bound(obsy + 1, obsy + k + 1, now, cmpy);
      if (fi->y == now.y) {
        b = min(b, fi->x);
      }
      if (b - 1 == now.x) {
        break;
      } else {
        ans += b - now.x - 1;
        now.x = --b;
        direct = 3;
      }
    } else if (direct == 3) {
      fi = upper_bound(obsx + 1, obsx + k + 1, now, cmpx);
      if ((fi - 1)->x == now.x) {
        l = max(l, (fi - 1)->y);
      }
      if (l + 1 == now.y) {
        break;
      } else {
        ans += now.y - l - 1;
        now.y = ++l;
        direct = 4;
      }
    } else if (direct == 4) {
      fi = upper_bound(obsy + 1, obsy + k + 1, now, cmpy);
      if ((fi - 1)->y == now.y) {
        u = max(u, (fi - 1)->x);
      }
      if (u + 1 == now.x) {
        break;
      } else {
        ans += now.x - u - 1;
        now.x = ++u;
        direct = 1;
      }
    }
  }
  if (ans == m * n - k) {
    cout << "Yes\n";
  } else {
    cout << "No\n";
  }
}
