#include<bits/stdc++.h>
using namespace std;


const int maxn=1e5+5;
int solve[maxn];
int myMin,myMax;


int n,m,a,b;
int main()
{
    while( ~scanf("%d%d%d%d",&n,&m,&a,&b) )
    {
        //使得a<=b
        if( a>b )
        {
            swap(a,b);
        }

        myMin=0x3f3f3f;
        myMax=-1;
        for(int i=0; i<m; ++i)
        {
            scanf("%d",&solve[i]);
            myMax=max( myMax, solve[i] );
            myMin=min( myMin, solve[i] );
        }

        if( myMin<a || myMax>b )
        {
            printf("NO\n");
            continue;
        }

        int num=0;
        if( myMin==a )
        {
            ++num;
        }
        if( myMax==b )
        {
            ++num;
        }

        int tag=n-m;
        if( tag>=(2-num) )
        {
            printf("YES\n");
        }
        else
        {
            printf("NO\n");
        }


    }


    return 0;
}