#include<iostream>
#include<cstdio>
#include<algorithm>
#include<map>
using namespace std;

struct bla
{
    int x,y;
};

bla d[200020];
int n,a,b,p;
map<int,int> mp;
int used[2020];
int dp[1002][1002],usd[1002][1002];

int cmp(bla b1,bla b2)
{
    if(b1.x==b2.x)return b1.y<b2.y;
    return b1.x<b2.x;
}

int cmp2(bla b1,bla b2)
{
    if(b1.y==b2.y)return b1.x<b2.x;
    return b1.y<b2.y;
}

int main()
{
    int i,k,pr=-1,m=1,j;
    scanf("%d%d%d%d",&a,&b,&p,&n);
    for(i=0;i<n;i++)
     scanf("%d%d",&d[i].x,&d[i].y);
    if(a>1000||b>1000)
    {
    sort(d,d+n,cmp2);
    k=0;
    for(i=0;i<n;i++)
    {
        if(d[i].y!=pr)mp[d[i].y]=m++;
        if(d[i].x<p)
        {
            if(d[i].y-k>=p){printf("YES\n");return 0;}
            k=d[i].y;
        }
        pr=d[i].y;
    }
    if(b-k>=p){printf("YES\n");return 0;}
    k=b;
    for(i=n-1;i>=0;i--)
    {
        if(a-d[i].x<p)
        {
            if(k-d[i].y>=p){printf("YES\n");return 0;}
            k=d[i].y;
        }
    }
    if(k>=p){printf("YES\n");return 0;}
    k=0;
    sort(d,d+n,cmp);
    for(i=0;i<n;i++)
    {
        if(d[i].y<p)
        {
            if(d[i].x-k>=p){printf("YES\n");return 0;}
            k=d[i].x;
        }
    }
    if(a-k>=p){printf("YES\n");return 0;}
    k=a;
    for(i=n-1;i>=0;i--)
    {
        if(b-d[i].y<p)
        {
            if(k-d[i].x>=p){printf("YES\n");return 0;}
            k=d[i].x;
        }
    }
    if(k>=p){printf("YES\n");return 0;}
    m=0;
    pr=0;
    k=0;
    for(i=0;i<n;i++)
    {
        if(i==0||d[i].x!=d[i-1].x)
        {
            for(;k<i;k++)
            used[mp[d[k].y]]++;
        }
        while(d[i].x-d[m].x>=p){used[mp[d[m].y]]--;m++;}
        for(j=1;j<=2000;j++)
        {
            if(used[j]&&j-pr>=p){printf("YES\n");return 0;}
            else if(used[j])pr=j;
        }
    }}
    else
    {
        for(i=0;i<n;i++)
         usd[d[i].x][d[i].y]=1;
        for(i=1;i<=a;i++)
         for(j=1;j<=b;j++)
         {
             dp[i][j]=min(min(dp[i-1][j-1]*(!usd[i-1][j-1]),dp[i-1][j]*(!usd[i-1][j])),dp[i][j-1]*(!usd[i][j-1]))+1;
             if(dp[i][j]>=p){printf("YES\n");return 0;}
         }
    }
    printf("NO\n");

}
