#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int n, m, k;
  cin >> n >> m >> k;
  vector<set<int> > row(n), col(m);
  for (int i = 0; i < k; i++) {
    int x, y;
    cin >> x >> y;
    x--;
    y--;
    row[x].insert(y);
    col[y].insert(x);
  }
  auto lower_row = [&](int x, int y) {
    vector<int> a;
    for (int it : row[x]) {
      a.push_back(it);
    }
    int low = 0, high = a.size();
    while (low < high) {
      int mid = (low + high + 1) >> 1;
      if (a[mid] < y) {
        low = mid;
      } else {
        high = mid - 1;
      }
    }
    return a[high];
  };
  auto lower_col = [&](int x, int y) {
    vector<int> a;
    for (int it : col[y]) {
      a.push_back(it);
    }
    int low = 0, high = a.size();
    while (low < high) {
      int mid = (low + high + 1) >> 1;
      if (a[mid] < x) {
        low = mid;
      } else {
        high = mid - 1;
      }
    }
    return a[high];
  };
  int left = -1, right = m;
  int low = -1, high = n;
  int x = 0, y = 0, d = 0;
  long long sum = 1;
  for (;;) {
    row[x].insert(left);
    row[x].insert(right);
    col[y].insert(low);
    col[y].insert(high);
    bool ok = true;
    for (int i = 0; i < 2 && ok; i++) {
      if (d == 0) {
        int ny = *(row[x].upper_bound(y)) - 1;
        if (ny != y) {
          ok = false;
          sum += ny - y;
          y = ny;
          low = x;
        }
      } else if (d == 1) {
        int nx = *(col[y].upper_bound(x)) - 1;
        if (nx != x) {
          ok = false;
          sum += nx - x;
          x = nx;
          right = y;
        }
      } else if (d == 2) {
        int ny = lower_row(x, y) + 1;
        if (ny != y) {
          ok = false;
          sum += y - ny;
          y = ny;
          high = x;
        }
      } else if (d == 3) {
        int nx = lower_col(x, y) + 1;
        if (nx != x) {
          ok = false;
          sum += x - nx;
          x = nx;
          left = y;
        }
      }
      if (!ok) break;
      d = (d + 1) % 4;
    }
    if (ok) break;
  }
  cout << (sum + k == (long long)n * m ? "Yes" : "No") << '\n';
  return 0;
}
