#include <cstdio>
#include <cmath>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <map>
#include <queue>
#include <set>
#include <cassert>
using namespace std;
#define S(x) scanf("%d",&x)
#define SS(x,y) scanf("%d%d",&x,&y)
#define all(c) (c).begin(),(c).end()
#define sz(c) int((c).size())
#define pb push_back
#define present(c,x) ((c).find(x) != (c).end())
#define rep(i,x,y) for(int i = x; i <= y; i++)
#define REV(i,x,y) for(int i = x; i >= y; i--)
#define foreach(c,itr) for(__typeof((c).begin()) itr=(c).begin();itr!=(c).end();itr++)
#define FILL(a,v) memset(a,v,sizeof(a))
#define DB(x) cerr<<#x<<" = "<<x<<endl
#define debugarr(A,a,b) cerr<<#A<<" : ";rep(i,a,b) cerr<<A[i]<<" ";cerr<<endl;
#define mp(x,y) make_pair(x,y);
//#define R(x) ((rand()%x) + 1)
typedef long long int LL;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<LL,LL> ii;
typedef vector<ii> vii;
/* ------------------------Main Code----------------------- */
const int MAX = 100001;
void test()
{
int A[10][10][10] = {0};
rep(i,0,9){
REV(j,9,0)
if(!((i+j)&1)) A[i][j][0] = 1;
}
rep(k,1,9){
rep(i,1,9){
int tmp;
set<int> s;
rep(l,1,k){
tmp = A[i][9][k-l] ^ A[i-1][9][l-1];
s.insert(tmp);
}
s.insert(A[i-1][9][k]);
A[i][9][k] = sz(s);
int cnt = 0;
foreach(s,itr){
if(cnt != *itr){
A[i][9][k] = cnt;
break;
}
cnt++;
}
}
REV(i,8,0){
int tmp;
set<int> s;
rep(l,1,k){
tmp = A[0][i][k-l] ^ A[0][i+1][l-1];
s.insert(tmp);
}
s.insert(A[0][i+1][k]);
A[0][i][k] = sz(s);
int cnt = 0;
foreach(s,itr){
if(cnt != *itr){
A[0][i][k] = cnt;
break;
}
cnt++;
}
}
rep(i,1,9){
REV(j,8,0){
set<int> s;
int tmp;
rep(l,1,k){
tmp = A[i][j][k-l] ^ A[i-1][j][l-1];
s.insert(tmp);
tmp = A[i][j][k-l] ^ A[i][j+1][l-1];
s.insert(tmp);
}
s.insert(A[i-1][j][k]);
s.insert(A[i][j+1][k]);
//sort(all(v));
A[i][j][k] = sz(s);
int cnt = 0;
foreach(s,itr){
if(cnt != *itr){
A[i][j][k] = cnt;
break;
}
cnt++;
}
}
}
}
rep(k,0,9){
printf("\n");
rep(i,0,9){
rep(j,0,9) printf("%d ",A[i][j][k]);
printf("\n");
}
printf("\n");
}
}
map<ii,int> points;
int main()
{
//brute to test the grundy values
//test();
LL n, m;
int p;
scanf("%lld%lld",&n,&m);
S(p);
int badpos = ((m+1)&1), grundy = 0;
rep(i,0,p-1){
LL x, y;
scanf("%lld%lld",&x,&y);
ii tmp = mp(x,y);
if(((x+y)&1) == badpos) continue;
points[tmp]++;
}
foreach(points,itr)
grundy ^= itr->second;
printf(grundy ? "Yes\n" : "No\n");
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8Y3N0cmluZz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8cXVldWU+CiNpbmNsdWRlIDxzZXQ+CiNpbmNsdWRlIDxjYXNzZXJ0PgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgUyh4KSAJCQlzY2FuZigiJWQiLCZ4KQojZGVmaW5lIFNTKHgseSkgICAgICAgICBzY2FuZigiJWQlZCIsJngsJnkpCiNkZWZpbmUgYWxsKGMpIAkJCShjKS5iZWdpbigpLChjKS5lbmQoKSAKI2RlZmluZSBzeihjKSAJCQlpbnQoKGMpLnNpemUoKSkKI2RlZmluZSBwYiAJCQkJcHVzaF9iYWNrCiNkZWZpbmUgcHJlc2VudChjLHgpIAkoKGMpLmZpbmQoeCkgIT0gKGMpLmVuZCgpKSAKI2RlZmluZSByZXAoaSx4LHkpIAkJZm9yKGludCBpID0geDsgaSA8PSB5OyBpKyspCiNkZWZpbmUgUkVWKGkseCx5KSAJCWZvcihpbnQgaSA9IHg7IGkgPj0geTsgaS0tKQojZGVmaW5lIGZvcmVhY2goYyxpdHIpCWZvcihfX3R5cGVvZigoYykuYmVnaW4oKSkgaXRyPShjKS5iZWdpbigpO2l0ciE9KGMpLmVuZCgpO2l0cisrKQojZGVmaW5lIEZJTEwoYSx2KSAJCW1lbXNldChhLHYsc2l6ZW9mKGEpKQojZGVmaW5lIERCKHgpCQkJY2Vycjw8I3g8PCIgPSAiPDx4PDxlbmRsCiNkZWZpbmUgZGVidWdhcnIoQSxhLGIpIGNlcnI8PCNBPDwiIDogIjtyZXAoaSxhLGIpIGNlcnI8PEFbaV08PCIgIjtjZXJyPDxlbmRsOwojZGVmaW5lIG1wKHgseSkJCQltYWtlX3BhaXIoeCx5KTsKLy8jZGVmaW5lIFIoeCkgCQkJKChyYW5kKCkleCkgKyAxKQoKdHlwZWRlZiBsb25nIGxvbmcgaW50IExMOwp0eXBlZGVmIHZlY3RvcjxpbnQ+IHZpOyAKdHlwZWRlZiB2ZWN0b3I8dmk+IHZ2aTsgCnR5cGVkZWYgcGFpcjxMTCxMTD4gaWk7CnR5cGVkZWYgdmVjdG9yPGlpPiB2aWk7CgovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1NYWluIENvZGUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpjb25zdCBpbnQgTUFYID0gMTAwMDAxOwoKdm9pZCB0ZXN0KCkKewoJaW50IEFbMTBdWzEwXVsxMF0gPSB7MH07CglyZXAoaSwwLDkpewoJCVJFVihqLDksMCkgCgkJCWlmKCEoKGkraikmMSkpIEFbaV1bal1bMF0gPSAxOwoJfQoJcmVwKGssMSw5KXsKCQlyZXAoaSwxLDkpewoJCQlpbnQgdG1wOwoJCQlzZXQ8aW50PiBzOwoJCQlyZXAobCwxLGspewoJCQkJdG1wID0gQVtpXVs5XVtrLWxdIF4gQVtpLTFdWzldW2wtMV07CgkJCQlzLmluc2VydCh0bXApOwoJCQl9CgkJCXMuaW5zZXJ0KEFbaS0xXVs5XVtrXSk7CgkJCUFbaV1bOV1ba10gPSBzeihzKTsKCQkJaW50IGNudCA9IDA7CgkJCWZvcmVhY2gocyxpdHIpewoJCQkJaWYoY250ICE9ICppdHIpewoJCQkJCUFbaV1bOV1ba10gPSBjbnQ7CgkJCQkJYnJlYWs7CgkJCQl9CgkJCQljbnQrKzsKCQkJfQoJCX0KCQlSRVYoaSw4LDApewoJCQlpbnQgdG1wOwoJCQlzZXQ8aW50PiBzOwoJCQlyZXAobCwxLGspewoJCQkJdG1wID0gQVswXVtpXVtrLWxdIF4gQVswXVtpKzFdW2wtMV07CgkJCQlzLmluc2VydCh0bXApOwoJCQl9CgkJCXMuaW5zZXJ0KEFbMF1baSsxXVtrXSk7CgkJCUFbMF1baV1ba10gPSBzeihzKTsKCQkJaW50IGNudCA9IDA7CgkJCWZvcmVhY2gocyxpdHIpewoJCQkJaWYoY250ICE9ICppdHIpewoJCQkJCUFbMF1baV1ba10gPSBjbnQ7CgkJCQkJYnJlYWs7CgkJCQl9CgkJCQljbnQrKzsKCQkJfQoJCX0KCQlyZXAoaSwxLDkpewoJCQlSRVYoaiw4LDApewoJCQkJc2V0PGludD4gczsKCQkJCWludCB0bXA7CgkJCQlyZXAobCwxLGspewoJCQkJCXRtcCA9IEFbaV1bal1bay1sXSBeIEFbaS0xXVtqXVtsLTFdOwoJCQkJCXMuaW5zZXJ0KHRtcCk7CgkJCQkJdG1wID0gQVtpXVtqXVtrLWxdIF4gQVtpXVtqKzFdW2wtMV07CgkJCQkJcy5pbnNlcnQodG1wKTsKCQkJCX0KCQkJCXMuaW5zZXJ0KEFbaS0xXVtqXVtrXSk7CgkJCQlzLmluc2VydChBW2ldW2orMV1ba10pOwoJCQkJLy9zb3J0KGFsbCh2KSk7CgkJCQlBW2ldW2pdW2tdID0gc3oocyk7CgkJCQlpbnQgY250ID0gMDsKCQkJCWZvcmVhY2gocyxpdHIpewoJCQkJCWlmKGNudCAhPSAqaXRyKXsKCQkJCQkJQVtpXVtqXVtrXSA9IGNudDsKCQkJCQkJYnJlYWs7CgkJCQkJfQoJCQkJCWNudCsrOwoJCQkJfQoJCQl9CgkJfQoJfQoJcmVwKGssMCw5KXsKCQlwcmludGYoIlxuIik7CgkJcmVwKGksMCw5KXsKCQkJcmVwKGosMCw5KSBwcmludGYoIiVkICIsQVtpXVtqXVtrXSk7CgkJCXByaW50ZigiXG4iKTsKCQl9CQoJCXByaW50ZigiXG4iKTsKCX0KfQoKbWFwPGlpLGludD4gcG9pbnRzOwoKaW50IG1haW4oKQp7CgkvL2JydXRlIHRvIHRlc3QgdGhlIGdydW5keSB2YWx1ZXMKCS8vdGVzdCgpOyAKCglMTCBuLCBtOwoJaW50IHA7CglzY2FuZigiJWxsZCVsbGQiLCZuLCZtKTsKCVMocCk7CQoJaW50IGJhZHBvcyA9ICgobSsxKSYxKSwgZ3J1bmR5ID0gMDsKCXJlcChpLDAscC0xKXsKCQlMTCB4LCB5OwoJCXNjYW5mKCIlbGxkJWxsZCIsJngsJnkpOwoJCWlpIHRtcCA9IG1wKHgseSk7CgkJaWYoKCh4K3kpJjEpID09IGJhZHBvcykgY29udGludWU7IAoJCXBvaW50c1t0bXBdKys7Cgl9Cglmb3JlYWNoKHBvaW50cyxpdHIpCgkJZ3J1bmR5IF49IGl0ci0+c2Vjb25kOwoJcHJpbnRmKGdydW5keSA/ICJZZXNcbiIgOiAiTm9cbiIpOwoJcmV0dXJuIDA7Cn0=