Not so long ago company R2 bought company R1 and consequently, all its developments in the field of multicore processors. Now the R2 laboratory is testing one of the R1 processors.The testing goes in n steps, at each step the processor gets some instructions, and then its temperature is measured. The head engineer in R2 is keeping a report record on the work of the processor: he writes down the minimum and the maximum measured temperature in his notebook. His assistant had to write down all temperatures into his notebook, but (for unknown reasons) he recorded only m.The next day, the engineer's assistant filed in a report with all the m temperatures. However, the chief engineer doubts that the assistant wrote down everything correctly (naturally, the chief engineer doesn't doubt his notes). So he asked you to help him. Given numbers n, m, min, max and the list of m temperatures determine whether you can upgrade the set of m temperatures to the set of n temperatures (that is add n - m temperatures), so that the minimum temperature was min and the maximum one was max.

The first line contains four integers n, m, min, max (1 ≤ m < n ≤ 100; 1 ≤ min < max ≤ 100). The second line contains m space-separated integers ti (1 ≤ ti ≤ 100) — the temperatures reported by the assistant. Note, that the reported temperatures, and the temperatures you want to add can contain equal temperatures.

If the data is consistent, print 'Correct' (without the quotes). Otherwise, print 'Incorrect' (without the quotes).

NoteIn the first test sample one of the possible initial configurations of temperatures is [1, 2].In the second test sample one of the possible initial configurations of temperatures is [2, 1, 3].In the third test sample it is impossible to add one temperature to obtain the minimum equal to 1 and the maximum equal to 3.

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <ctype.h>
#include <math.h>

int main (void) {
	int i, j; /* counters */
	int n, m, min, max, temp;
	bool Bmin = false, Bmax = false, Correct = false, ERROR = false;

	scanf ("%d %d %d %d", &n, &m, &min, &max);

	int diff = n - m;

	for (i = 0; i < m; i++) {
		scanf ("%d", &temp);
		if (!ERROR){
			if (temp == min) Bmin = true;
			if (temp == max) Bmax = true;
		}
		if (temp > max || temp < min) {Bmin = false; Bmax = false; ERROR = true;}
	}

	if (!ERROR){
		if (Bmin && Bmax) Correct = true;
		else if (Bmin && diff >= 1) Correct = true;
		else if (Bmax && diff >= 1) Correct = true;
		else if (diff >= 2) Correct = true;
	}

	if (Correct) printf("Correct\n");
	else printf("Incorrect\n");

	return 0;
}

#include<stdio.h>
int main(){
int n,m,min1,max1,i,arr[105],flag1=-1,flag2=-1,h=-1,y=-1;
scanf("%d%d%d%d",&n,&m,&min1,&max1);
for(i=0;i<m;i++){
    scanf("%d",&arr[i]);
     if(arr[i]==min1)
        flag1=1;
     if(arr[i]<min1)
            h=1;
     if(arr[i]==max1)
        flag2=1;
     if(arr[i]>max1)
        y=1;
       }

  if(n-m==1&&(flag1==1||flag2==1)&&h!=1&&y!=1)
        printf("Correct");

  //else if(n-m==1&&(flag1!=1||flag2!=1))
    //        printf("Incorrect");

  else if(n-m>1&&h!=1&&y!=1)
        printf("Correct");

  else
       printf("Incorrect");

return 0;
}

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#define sort radix_sort(a,n)
int min(int p,int q)
{
    if(p>q)
        return q;
    else
        return p;
}
int max(int p,int q)
{
    if(p>q)
        return p;
    else
        return q;
}
typedef long long int ll;
int main()
{
    int t,n,i,j,m,mn,mx,x,y,flg=0;
    scanf("%d%d%d%d",&n,&m,&mn,&mx); int a[m];

   for(i=0;i<m;i++)
        scanf("%d",&a[i]);
    x=a[0],y=a[0];
    if(n-m>=2)
    {
        a[i++]=mn;
        a[i++]=mx;
         for(j=0;j<i;j++)
        {
            x=min(x,a[j]);
            y=max(y,a[j]);
        }
          if(x==mn&&y==mx)
        {
            flg=1;
        }
    }
  else  if(n-m==1)
    {
        a[i++]=mn;
      //  for(j=0;j<i;j++)
      //  printf("1-%d ",a[j]);
         for(j=0;j<i;j++)
        {
            x=min(x,a[j]);
            y=max(y,a[j]);
        }
        if(x==mn&&y==mx)
        {
            flg=1;
        }
       // printf("1flg%d\n",flg);
    }
    if(flg==0)
    {
        a[i-1]=0;x=a[0],y=a[0];
    }
      if(n-m==1&&flg==0)
    {
        a[i-1]=mx;
      //  for(j=0;j<i;j++)
      //  printf("2-%d ",a[j]);
         for(j=0;j<i;j++)
        {
            x=min(x,a[j]);
            y=max(y,a[j]);
        }
        if(x==mn&&y==mx)
        {
            flg=1;
        }
    }
   if(flg==1)
    {
       printf("Correct");
    }
    else if(flg==0)
    {
         printf("Incorrect");
    }

    return 0;
}

#include <stdio.h>

int t[100];

typedef int bool;
#define FALSE 0
#define TRUE 1

#define POS_INFINITY 999
#define NEG_INFINITY -1

bool decide(int n, int m, int minN, int maxN)
{
    int minM = POS_INFINITY, maxM = NEG_INFINITY;
    int i;
    for (i = 0; i < m; i++) {
        scanf("%d", t + i);
        if (t[i] < minM)
            minM = t[i];
        if (t[i] > maxM)
            maxM = t[i];
    }

    int d = n - m;
    // printf("nimM: %d, maxM: %d, d: %d\n", minM, maxM, d);
    if (minN > maxN)
        return FALSE;
    if (minN > minM || maxM > maxN)
        return FALSE;
    if (minN == minM && maxM == maxN)
        return TRUE;
    if (minN < minM && maxM == maxN)
        return d >= 1;
    if (minN == minM && maxM < maxN)
        return d >= 1;
    if (minN < minM && maxM < maxN)
        return d >= 2;
}

int main(void)
{
    int n, m, minN, maxN;
    scanf("%d %d %d %d\n", &n, &m, &minN, &maxN);
    // printf("%d %d %d %d\n", n, m, minN, maxN);
    int i;
    bool upgradable = decide(n, m, minN, maxN);
    /*for (i = 0; i < m; i++)
        printf("%d ", t[i]);*/
    if (upgradable)
        printf("Correct\n");
    else
        printf("Incorrect\n");
}

#include<stdio.h>
int main()
{
    int n,m,min,max,p,q,r,i,a;
    p=101;q=-1;
    scanf("%d%d%d%d",&n,&m,&min,&max);
    for(i=0;i<m;i++)
    {
       scanf("%d",&a);
       if(a<p)
         p=a;
       if(a>q)
         q=a;
    }
    if(min>p || max<q)
      {
          printf("Incorrect");
          return 0;
      }
      r=n-m;
      if(p!=min)
        r--;
    if(q!=max)
       r--;
        //printf("%d   %d  %d",!(q==max),!(p==min),r);
    if(r>=0)
     printf("Correct");
     else
      printf("Incorrect");
      return 0;

}

#include<stdio.h>
typedef unsigned u;
int main()
{
	u n,m,min=0xffffffffu,max=0,MI,MA,i,j,k;
	for(scanf("%u%u%u%u",&n,&m,&MI,&MA),n-=m;m--;)
	{
		scanf("%u",&k);
		if(max<k)max=k;
		if(min>k)min=k;
	}
	if(min<MI||max>MA)printf("Incorrect\n");
	else if(n>1||(MI==min&&MA==max))printf("Correct\n");
	else if(!n)printf("Incorrect\n");
	else if(MI==min||MA==max)printf("Correct\n");
	else printf("Incorrect\n");
	return 0;
}

/*
�׽����� n ������ ��ģ��.
�� ���ܿ��� ���μ����� �Ϻ� ��ɵ��� ��´�.
�׸��?�� �µ��� �����ȴ�.
���� �����Ͼ ���μ����� �Ͽ����� �������� ������ �ִ�. �״� ���� ���� �µ����� ū �µ����� �᳻������.
���� ������ ��� �µ��� �᳻�������ߴ�. �׷��� �״� ���� m�� ����ߴ�.

������ ������ ��� m �µ����� ���?�� �����. ������ ���������Ͼ ������ ��Ȯ�ϰ� ����� �ǽ��Ѵ�.
�׷��� �״� ��ſ��� �׸� ���ʹ޶�� ��û�Ѵ�. �־��� n,m,min,max �׸��� m ���� �µ� ����Ʈ����
����� m �µ� ��Ʈ���� n �µ� ��Ʈ�� ���׷��̵� �Ҽ� ������ �����Ѵ�.
�׷��� ���� ���� �µ��� min ������ max �̴�.

*/

#include <stdio.h>

int main()
{
	int n,m,min,max;
	int tmp;
	int iCnt = 0;
	int iCnt2 = 0;
	int iNum;

	int arr[101] = {0};

	scanf("%d %d %d %d", &n, &m, &min, &max);

	arr[min] = 1;
	arr[max] = 1;

	tmp = m;
	while(tmp--)
	{
		scanf("%d", &iNum);
		if(iNum == min || iNum == max)
		{

		}
		else if(iNum > min && iNum < max)
		{
			++iCnt;
		}
		else
		{
			iCnt2 = -1;
		}
	}

	if(n-2 >= iCnt && iCnt2 == 0)
	{
		printf("Correct\n");
	}
	else
	{
		printf("Incorrect\n");
	}

	return 0;
}

#include<stdio.h>
int main(){
    long a[101]={0},min,max,m,n,i,temp,key=0;
    scanf("%ld%ld%ld%ld",&n,&m,&min,&max);
    for(i=1;i<=m;i++)
        {
            scanf("%ld",&temp);
            if(temp>max||temp<min)
            key=1;
            a[temp]++;
        }
    if(a[min]==0)m++;
    if(a[max]==0)m++;
    if(m>n||key)
        printf("Incorrect");
    else printf("Correct");
    return 0;
}

#include<stdio.h>
int main()
{
    int i,j,f=0,n,min,max,m,a[1000],freq[10000];
    scanf("%d %d %d %d",&n,&m,&min,&max);

    for(i=0;i<m;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]>=min&&a[i]<=max){;}
        else f=1;
        freq[a[i]]++;
    }
    if(f){printf("Incorrect\n");return 0;}
    j=n-m;
    if(!freq[min]){freq[min]++;j--;}
    if(!freq[max]){freq[max]++;j--;}
    if(j<0){printf("Incorrect\n");return 0;}
    else printf("Correct\n");
    return 0;
}

#include<stdio.h>
int n,m,a,b,x=2,i,z;
main(){
scanf("%d%d%d%d",&n,&m,&a,&b);
for(i=0;i<m;++i){scanf("%d",&z); if(z==a||z==b)x--; if(z<a || z>b){puts("Incorrect");return 0;}}
if(n-m<x)puts("Incorrect");
else puts("Correct");
return 0;
}

#include <stdio.h>
int main()
{
    int n,m,min,max,c=0,c1=0,flag=0,i,a;
    scanf("%d%d%d%d",&n,&m,&min,&max);
    for(i=0;i<m;i++)
    {
        scanf("%d",&a);
        if(a==min&&c!=-1)
            c=1;
        else if(a<min)
            c=-1;
        else if(a==max&&c1!=-1)
            c1=1;
        else if(a>max)
            c1=-1;
    }
    if(c1+c>0)
        flag=1;
    else if(c1!=-1&&c!=-1)
        if(n-m>1)
            flag=1;
    if(flag)
        printf("Correct\n");
    else
        printf("Incorrect\n");
    return 0;
}

#include <stdio.h>

int main()
{
    int n, m, m1, m2, c1 = 0, c2 = 0, i;

    scanf("%d %d %d %d", &n, &m, &m1, &m2);

    for (i = 0; i < m; i++) {
        int x;

        scanf("%d", &x);

        if (x < m1 || x > m2) {
            puts("Incorrect");

            return 0;
        }

        if (x == m1) c1 = 1;
        if (x == m2) c2 = 1;
    }

    if (n - m >= 2 - c1 - c2) {
        puts("Correct");
    } else {
        puts("Incorrect");
    }

    return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    int n,m,max,min,T[100],t[100],i,a=0,h=1;
    memset(t,0,sizeof(t));
    scanf("%d %d %d %d",&n,&m,&min,&max);
    t[min]=1;
    t[max]=1;
    for (i=0;i<m;i++)
    {
        scanf("%d",&T[i]);
        if(T[i]<min||T[i]>max)
        {
            printf("Incorrect");
            h--;
            break;
        }
        else
        {
            t[T[i]]++;
        }
    }
    if(h)
    {
    for (i=0;i<m;i++)
    {
        if(T[i]==min)
        {
            n++;
            break;
        }
    }
    for (i=0;i<m;i++)
    {
        if(T[i]==max)
        {
            n++;
            break;
        }
    }
    for (i=min;i<=max;i++)
    {
        a+=t[i];
    }
    if (a<=n)
    {
        printf("Correct");
    }
    else
    {
        printf("Incorrect");
    }
    }

    return 0;
}

#include<stdio.h>
int partition(int number[],int i,int j)
{
    int key;
    key=number[i];
    while(i<j)
    {
        while(i<j&&number[j]>key) j--;
        if(i<j) {
            number[i]=number[j]; i++;
        }
        while(i<j&&number[i]<key) i++;
        if(i<j){
            number[j]=number[i]; j--;
        }
    }
    number[i]=key;
    return i;
}
void q_sort(int number[],int i,int j)
{
    int temp;
    if(i<j)
    {
        temp=partition(number,i,j);
        q_sort(number,i,temp-1);
        q_sort(number,temp+1,j);
    }
}
int main()
{
    int n,m,max,min,i,j,t[110];
    while(scanf("%d%d%d%d",&n,&m,&min,&max)!=EOF)
    {
        for(i=0;i<m;i++)
        scanf("%d",&t[i]);
        q_sort(t,0,m-1);
        if(min>t[0]||max<t[m-1]) printf("Incorrect\n");
        else if(min==t[0]&&max!=t[m-1])
        if(m+1<=n) printf("Correct\n");
        else printf("Incorrect\n");
        else if(min!=t[0]&&max==t[m-1])
        if(m+1<=n) printf("Correct\n");
        else printf("Incorrect\n");
        else if(min==t[0]&&max==t[m-1])
        if(m<=n) printf("Correct\n");
        else printf("Incorrect\n");
        else if(m+2<=n) printf("Correct\n");
        else printf("Incorrect\n");
    }
    return 0;
}

#include <stdio.h>

int main(void)
{
	int tmp;
	int i;
	int n, m;
	int min, max;
	int isMin = 0, isMax = 0;

	scanf("%i %i %i %i", &n, &m, &min, &max);

	for (i = 0; i < m; ++i)
	{
		scanf("%i", &tmp);

		if (tmp < min || tmp > max)
		{
			printf("Incorrect\n");
			return 0;
		}

		if (tmp == min)
			isMin = 1;

		if (tmp == max)
			isMax = 1;
	}

	if (n - m >= 2)
	{
		printf("Correct\n");
		return 0;
	}

	if (isMin == 1 && isMax == 1)
		printf("Correct\n");
	else if ((isMin == 1 && isMax == 0) || (isMax == 1 && isMin == 0))
	{
		if (n - m >= 1)
			printf("Correct\n");
		else
			printf("Incorrect\n");
	} else
		printf("Incorrect\n");

	return 0;
}

#include <stdio.h>

int main(void)
{
	int n, m, min, max, x, y;
	int a, b, i;

	scanf("%d%d%d%d%d", &n, &m, &min, &max, &x);
	a = b = x;
	for (i = 1; i < m; ++i)
	{
		scanf("%d", &x);

		if (x < a)
		{
			a = x;
		}
		if (x > b)
		{
			b = x;
		}
	}
	x = n - m;
	y = 2 - (a == min) - (b == max);
	if (a < min || b > max || x < y)
	{
		puts("Incorrect");
	}
	else
	{
		puts("Correct");
	}
	return 0;
}

#include<stdio.h>
int main()
{
    int n,m,min,max;
    int sum;
    int i,sz;
    while(scanf("%d%d%d%d",&n,&m,&min,&max)!=EOF)
    {
        int flag,flag1,flag2;
        flag=flag1=flag2=0;
        for(i=0;i<m;i++)
        {
            scanf("%d",&sz);
            if(sz==min)
                flag1=1;
            if(sz==max)
                flag2=1;
            if(sz<min||sz>max)
                flag=1;
        }
        if(flag1==1&&flag2==1)
            sum=m;
        if(flag1==1&&flag2==0)
            sum=m+1;
        if(flag1==0&&flag2==1)
            sum=m+1;
        if(flag1==0&&flag2==0)
            sum=m+2;
        if(sum>n)
            flag=1;

        if(flag==1)
            printf("Incorrect\n");
        if(flag==0)
            printf("Correct\n");
    }
    return 0;
}

#include <stdio.h>
#include <string.h>
#include <stdbool.h>

int main( void ) {
     int n, m, min, max;

     scanf("%i %i %i %i", &n , &m, &min, &max);

     const int Max = 200;
     bool temp[Max];

     memset(temp, 0, sizeof(temp));

     int i, c;
     for( i = 0; i < m; i++ )  {
          scanf("%i", &c);

          if( c > max || c < min ) {
               printf("Incorrect\n");
               return 0;
          }

          temp[c] = 1;
     }

     int obl = 0;
     if( !temp[min] ) obl++;
     if( !temp[max] ) obl++;

     if( obl > (n-m) )    printf("Incorrect\n");
     else                 printf("Correct\n");

     return 0;
}

#include <limits.h>
#include <stdio.h>

int main() {
	int n, m, min, max, r, q, i, min1, max1;

	scanf("%d%d%d%d", &n, &m, &min, &max);
	min1 = INT_MAX, max1 = 0;
	for (i = 0; i < m; i++) {
		int t;

		scanf("%d", &t);
		if (min1 > t)
			min1 = t;
		if (max1 < t)
			max1 = t;
	}
	r = n - m;
	q = (min1 != min) + (max1 != max);
	printf("%s\n", min1 >= min && max1 <= max && r >= q ? "Correct" : "Incorrect");
	return 0;
}

#include <stdio.h>

int minf, maxf;
int n, m, tmp;
int i;
int minv = 101;
int maxv = 0;

int main(){
    scanf("%d %d %d %d", &n, &m, &minf, &maxf);

    for(i = 0; i < m; i++){
        scanf("%d", &tmp);
        if(tmp > maxv){
            maxv = tmp;
        }
        if(tmp < minv){
            minv = tmp;
        }
    }

    if(minf > maxf){
        printf("Incorrect\n");
        return 0;
    }
    if(minv < minf || maxv > maxf){
        printf("Incorrect\n");
        return 0;
    }

    i = 0;
    if(minv != minf)
        i++;
    if(maxv != maxf)
        i++;
    if(n - m >= i){
        printf("Correct\n");
    }else{
        printf("Incorrect\n");
    }
    return 0;
}

#include<stdio.h>
int main()
{
    int n,m,min,max,i,a,a1,a2,x=0;
    scanf("%d%d%d%d",&n,&m,&min,&max);
    a1=a2=1;
    for(i=0;i<m;i++)
    {
        scanf("%d",&a);
        if(a<min || a>max)
            {
                x=1;
            }
        if(a==min)
         a1=0;
        if(a==max)
            a2=0;

    }
   // printf("a1+a2: %d\tn-m: %d\n",a1+a2,n-m);

    if(x==1){printf("Incorrect\n");return 0;}
    if((n-m)>=(a1+a2))
        printf("Correct\n");
    else
        printf("Incorrect\n");
    return 0;
}

#include <stdio.h>

int main(void) {
    int n, m, min, max;
    int i;
    int x;
    int fmin = 1;
    int fmax = 1;
    int sim = 1;
    int add;

    scanf(" %d %d %d %d", &n, &m, &min, &max);
    add = n - m;

    for (i = 0; i < m; i++) {
        scanf(" %d", &x);
        if (x == min) {
            fmin = 0;
        }
        if (x == max) {
            fmax = 0;
        }
        if (x < min || x > max) {
            sim = 0;
        }
    }

    if (sim == 1) {
        if (max == min) {
            if (add < fmin) {
                sim = 0;
            }
        } else if (add < fmax + fmin) {
            sim = 0;
        }
    }

    if (sim == 1) {
        printf("Correct\n");
    } else {
        printf("Incorrect\n");
    }

    return 0;
}

#include <stdio.h>
int main()
{
    int n,m,mini,maxi,i,j;
    scanf("%d %d %d %d",&n,&m,&mini,&maxi);
    int arr[m];
    int dif=n-2;
    for(i=0;i<m;i++)
    {
        scanf("%d",&arr[i]);
        if((arr[i]>mini && arr[i]<maxi && dif>0) )
        {
            dif=dif-1;
        }
        else if((arr[i]==maxi || arr[i]==mini ) && dif>=0)
        {

        }
        else
        {
            printf("Incorrect");
            return 0;
        }
    }

    printf("Correct");
    return 0;
}

#include<stdio.h>
int main()
{
    int m,n,Min,Max,a[100];
    while(scanf("%d%d%d%d",&n,&m,&Min,&Max)!=EOF)
    {int i,ok=1;
    for(i=0;i<=m-1;i++)
        scanf("%d",&a[i]);
    if(n-m>=2)
    {
        for(i=0;i<=m-1;i++)
            if(a[i]>Max||a[i]<Min)
        {ok=0;
        break;}
        if(ok==1)
            printf("Correct\n");
        else
            printf("Incorrect\n");
    }
    else if(n-m==1)
    {
        int ok1=1,ok2=0;
        ok=0;
        for(i=0;i<=m-1;i++)
            if(a[i]>Max||a[i]<Min)
        {ok1=0;
        break;}
        for(i=0;i<=m-1;i++)
            if(a[i]==Max||a[i]==Min)
        {
            ok2=1;
            break;
        }
        if(ok1&&ok2)
            ok=1;
            if(ok==1)
            printf("Correct\n");
        else
            printf("Incorrect\n");

    }

    }
   return 0;
}

#include<stdio.h>
int main()
{
int n,m,max,min,i,j;
scanf("%d%d%d%d",&n,&m,&min,&max);
int a[m],cou=0,count=0;
for(i=0;i<m;i++)
{
    scanf("%d",&a[i]);
}
for(i=0;i<m;i++)
{
    if(a[i]<min || a[i]>max)
    {
        count=1;
        break;
    }
}
if(count==0)
{
for(i=0;i<m;i++)
{
    if(a[i]==min||a[i]==max)
    {
        cou=1;
        break;
    }
}
if(cou==1)
{
    printf("Correct");
}
else
{
    if(n-m>=2)
        printf("Correct");
    else
        printf("Incorrect");
}
}
else
{
    printf("Incorrect");
}
return 0;
}

#include <stdio.h>
#include <stdlib.h>
int intcmp(const void*a,const void *b)
{
    return *(int*)a-*(int*)b;
}
int main()
{
    int n,m,min,max,i,md[100],p;
    scanf("%d%d%d%d",&n,&m,&min,&max);
    for(i=0;i<m;i++)
    {
        scanf("%d",&md[i]);
    }

    qsort(md,m,sizeof(int),intcmp);//printf("watch\n");
    if(min<=md[0]&&md[i-1]<=max){
        if(min==md[0]&&md[i-1]==max)p=1;
        else{
            if(n-m>=2)p=1;
            else{
                if(n-m==1&&(min==md[0]||md[i-1]==max))p=1;
                else
                   p=0;
            }
        }
    }
    else p=0;
    if(p)printf("Correct\n");
    else printf("Incorrect\n");
    return 0;
}

#include<stdio.h>
int main()
{
	int max,min,m,n,a[100],i;
	int flg=0;
	while(scanf("%d%d%d%d",&n,&m,&min,&max)!=EOF)
	{
		int co=2;
		if(m>n||max<min)printf("Incorrect\n");
		for(i=0;i<m;i++)
			scanf("%d",&a[i]);
		for(i=0;i<m;i++)
			if(a[i]<max&&a[i]>min)
              co++;
			else
				if(a[i]==max||a[i]==min)
					co=co;
				else
					if(a[i]>max||a[i]<min)
						flg=1;
			if(co>n||flg==1)
			printf("Incorrect\n");
			else
				printf("Correct\n");
	}
	return 0;
}

#include<stdio.h>

int main()
{
    int n,m,mx,mn;
    int i,j,k,l,data[200],c1=0,c2=0,c3=0;

    scanf("%d %d %d %d",&n,&m,&mn,&mx);

    for(i=0;i<m;i++){
            scanf("%d",&data[i]);
    }

    if(n<=2){
        for(i=0;i<m;i++){
            if(data[i] == mn || data[i] == mx){
                c1 = 1;
            }
            else{
                c1 = 0;
                break;
            }
        }
        if(c1==1){
            printf("Correct\n");
        }
        else{
            printf("Incorrect\n");
        }
    }

    else{
        for(i=0;i<m;i++){
            if(data[i] >= mn && data[i] <= mx){
                c1 = 1;
                if(data[i] == mn){
                    c2 = 1;
                }
                else if(data[i]==mx){
                  c3 = 1;
                }
            }
            else{
                c1 = 0;
                break;
            }
        }
        if(n==m){
            if(c1==1 &&c2==1 &&c3==1){
                printf("Correct\n");
            }
            else{
                printf("Incorrect\n");
            }
        }
        else if((n-m)==1){
                if((c1==1 && c2==1) ||  (c1==1 && c3==1)){
                    printf("Correct\n");
                }
                else{
                    printf("Incorrect\n");
                }

        }
        else{
            if(c1==1){
                printf("Correct\n");
            }
            else{
                printf("Incorrect\n");
            }
        }
    }
    return 0;
}

#include<stdio.h>
int main()
{
    int i,j,k;
    int t,n,m;
    int a,b,tt;
    while(scanf("%d%d%d%d",&n,&m,&a,&b)!=EOF)
    {
        j=0;
        k=0;
        tt=0;
        for(i=0;i<m;i++)
        {
            scanf("%d",&t);
            if(t<a||t>b)
            {
                tt=1;
            }
            else if(t==a)
                j=1;
            else if(t==b)
                k=1;
        }
        if(n-m+j+k>=2&&tt==0)
            printf("Correct\n");
        else
            printf("Incorrect\n");
    }
    return 0;
}

#include <stdio.h>
#include <string.h>
int main()
{
    int a[105],i,min,max,n,m,flag,f[105];
    flag=1;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    memset(f,0,sizeof(f));
    for (i=1;i<=m;i++) scanf("%d",&a[i]);
    if (n==2)
    {
        for (i=1;i<=m;i++)
         if (a[i]!=min&&a[i]!=max) flag=0;
    }
    else
    {
        for (i=1;i<=m;i++)
         {
             if (a[i]<min||a[i]>max) {  flag=0;}
             f[a[i]]++;
         }
        //if (min==max-1||f[min]>1||f[max]>1) flag=0;
        if (f[min]>0) m--;
        if (f[max]>0) m--;
        if (m+2>n) flag=0;
    }
    if (flag==1) printf("Correct"); else printf("Incorrect");
    return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include<ctype.h>
#include<string.h>

int main()
{
    int n,m,max,min;
    scanf("%d%d%d%d",&n,&m,&min,&max);
    int arr[m],i;
    for(i=0;i<m;i++)
        scanf("%d",&arr[i]);
    int flag=0,minfound=0,maxfound=0;
    for(i=0;i<m;i++){
        if(arr[i]<min || arr[i]>max)
            flag=1;
        else if(arr[i]==min)
            minfound=1;
        else if(arr[i]==max)
            maxfound=1;
    }
    if(!flag){
        if(minfound && maxfound)
            printf("Correct\n");
        else if(minfound && n-m>=1)
            printf("Correct\n");
        else if(maxfound && n-m>=1)
            printf("Correct\n");
        else if(!maxfound && !minfound && n-m>=2)
            printf("Correct\n");
        else
            printf("Incorrect\n");
    }
    else
        printf("Incorrect\n");
    return 0;
}

#include<stdio.h>
int main()
{
    int n,m,max,min,i,flag,temp,t[105];
    while(scanf("%d%d%d%d",&n,&m,&min,&max) != EOF)
    {
        for(i=0;i<m;i++)
            scanf("%d",&t[i]);
        flag=1;temp=0;
        if(n-m==1)
        {
            for(i=0;i<m;i++)
            {
                if(t[i]<min)
                {
                    flag=0;
                    break;
                }
                if(t[i]>max)
                {
                    flag=0;
                    break;
                }
                if(t[i]==max||t[i]==min)
                    temp=1;
            }
            if(!temp)
                flag=0;
        }
        else
        {
            for(i=0;i<m;i++)
            {
                if(t[i]<min)
                {
                    flag=0;
                    break;
                }
                if(t[i]>max)
                {
                    flag=0;
                    break;
                }
            }
        }
        if(flag)
            printf("Correct\n");
        else
            printf("Incorrect\n");
    }
    return 0;
}

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
	int n, m, min, max;
	fscanf(stdin, "%d %d %d %d\n", &n, &m, &min, &max);
	int data[m];
	int d;
	for (d=0; d<m; d++)
		scanf("%d", &data[d]);

	int correct = 1, i;
	int minp = 0, maxp = 0;

	for (i=0; i<m; i++) {
		if (data[i] < data[minp]) minp = i;
		if (data[i] > data[maxp]) maxp = i;
	}

	correct = !(n-m == 1 && data[minp] != min && data[maxp] != max);

	for (i=0; i<m; i++)
		if (data[i] < min || data[i] > max)
			correct = 0;

	fprintf(stdout, correct ? "Correct" : "Incorrect");

	return 0;
}

#include <stdio.h>
#include <stdlib.h>

int n,m,i,x;
int mint,maxt,minn,maxn;

int main()
{
	scanf("%d%d%d%d",&n,&m,&mint,&maxt);
	minn=100000000;
	maxn=-1;
	for (i=1; i<=m; i++)
	{
		scanf("%d",&x);
		if (x>maxn) maxn=x;
		if (x<minn)	minn=x;
	}
	if (minn>=mint && maxn<=maxt && (n-2>=m || minn==mint || maxn==maxt)) printf("Correct\n");
		else printf("Incorrect\n");
	return 0;
}

#include<stdio.h>
int main()
{
    int n,m,min,max,i;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    int a[m];
    for(i=0;i<m;i++)
    {scanf("%d",&a[i]);}
    int c=0;int f=0,p=0;
    for(i=0;i<m;i++)
    {
     if((a[i]>max)||(a[i]<min))
   {
     printf("Incorrect\n");
     p=1;break;
   }
    }
    if(p==0)
    {
    for(i=0;i<m;i++)
    {
        if(min==max)
        {
            if(a[i]==min)
            {
                c++;f=1;
            }
        }
        else
        {
         if((a[i]==min))
         c++;
         if((a[i]==max))
         c++;
        }
    }
    if((f==1)||(c==2))
    printf("Correct\n");
    else
    {
            if((n-m)>=(2-c))
            printf("Correct\n");
            else
            printf("Incorrect\n");
    }
    }
    return 0;
    }

#include<stdio.h>
#include<conio.h>
int main()
{
    int a[100000];
    int n,m,max,min,i,r,mink,maxk,x=0;
    scanf("%d%d%d%d",&n,&m,&min,&max);
    r=n-m;
    for(i=0;i<m;i++)
    scanf("%d",&a[i]);
    for(i=0;i<m;i++)
    {
                    if(a[i]==min)     mink++;
                    if(a[i]==max)     maxk++;
                    if(a[i]<min)        x=1;
                    if(a[i]>max)        x=1;
    }
    if(x==1)                                  printf("Incorrect");
    else
    {
    if(r==0)
    {
                    if(mink>0&&maxk>0)       printf("Correct");
                    else                     printf("Incorrect");
    }
    else if(r==1)
    {
                    if(mink>0||maxk>0)       printf("Correct");
                    else if(mink>0&&maxk>0)  printf("Coreect");
                    else                     printf("Incorrect");
    }
    else                                     printf("Correct");
    }

return 0;
}

#include <stdio.h>
#include <string.h>
#include <stdbool.h>

#define clr(ar) memset(ar, 0, sizeof(ar))
#define read() freopen("lol.txt", "r", stdin)

int main(){
    int i, n, m, mn, mx, t, bitmask;

    while (scanf("%d %d %d %d", &n, &m, &mn, &mx) != EOF){
        bitmask = 0;
        bool flag = true;
        for (i = 0; i < m; i++){
            scanf("%d", &t);
            if (t < mn || t > mx) flag = false;
            if (t == mn) bitmask |= 1;
            if (t == mx) bitmask |= 2;
        }

        if (!flag) puts("Incorrect");
        else{
            if ((n - m) >= (2 - __builtin_popcount(bitmask))) puts("Correct");
            else puts("Incorrect");
        }
    }
    return 0;
}

#include <stdio.h>

int main(void) {
    // your code goes here
    int n,m,min,max,a[101],i,b,c,d,e;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    b=200;
    c=0;
    d=0;
    e=0;
    for(i=0;i<m;i++)
    {
        scanf("%d",&a[i]);
        if(b>=a[i])
        {
            b=a[i];
        }
        if(c<=a[i])
        {
            c=a[i];
        }
        if(a[i]==min)
        {
            d=1;
        }
        if(a[i]==max)
        {
            e=1;
        }
    }
    if(b<min||c>max)
    {
        printf("Incorrect");
    }
    else if(n-m<2&&(d!=1&&e!=1))
    {
        printf("Incorrect");
    }
    else if(n-m==0&&(d!=1||e!=1))
    {
        printf("Incorrect");
    }
    else if((n-m==1&&(d!=1&&e!=0))||(n-m==1&&(d!=0&&e!=1)))
    {
        printf("Correct");
    }
    else
    {
        printf("Correct");
    }
    return 0;
}

#include<stdio.h>

int main()
{
    int count=0,i,k,n,m,min,max,mindone=0,maxdone=0;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    for(i=0;i<m;i++)
    {
        scanf("%d",&k);
        if(k>max || k<min)
        {
            printf("Incorrect\n");
            return 0;
        }
        if(k==min && mindone==0)
        {
            mindone=1;
        }
        else if(k==max && maxdone==0)
        {
            maxdone=1;
        }
    }
    if(mindone==0 && maxdone==0)
    {
        count=2;
    }
    else if(mindone==0 || maxdone==0)
    {
        count=1;
    }
    else
    {
        count=0;
    }
    if(count<=(n-m))
    {
        printf("Correct\n");
    }
    else
    {
        printf("Incorrect\n");
    }
    return 0;
}

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,m,min,max;
    scanf("%d%d%d%d",&n,&m,&min,&max);
    int vis_min=0;
    int vis_max=0;
    int i,flag=0;
    for(i=0;i<m;i++)
    {
        int in;
        scanf("%d",&in);
        if(in==max){
            vis_max=1;
        }else if(in==min){
            vis_min=1;
        }else if(in<min || in>max){
            flag=1;
        }

    }
    if(!flag)
    {
        if((!vis_min && vis_max && (n-m)>=1)||(vis_min && !vis_max && (n-m)>=1)||(!vis_max && !vis_min &&( (n-m)>=2))||(vis_max && vis_min && (n-m)>=0))
        {
           printf("Correct");
        }else
        {
            printf("Incorrect");
        }
    }else if(flag)
    {
        printf("Incorrect");
    }

    return 0;
}

#include <stdio.h>

int main()
{
	int n,m,min,max;
	scanf("%d %d %d %d",&n,&m,&min,&max);
	int ar[m],a,mink=0,maxk=0;
	for(a=0;a<m;a++)
	{
		scanf("%d",&ar[a]);
		if(ar[a] < min || ar[a] > max) { printf("Incorrect\n"); return 0; }
		if(ar[a] == min) mink = 1;
		if(ar[a] == max) maxk = 1;
	}
	if(mink==0 && maxk==0 && n-m < 2) printf("Incorrect\n");
	else if( (mink==0 || maxk==0) && n-m < 1) printf("Incorrect\n");
	else printf("Correct\n");
	return 0;
}

#include<stdio.h>
int main()
{
    int min,max;
    int n,m,t;
    scanf("%d%d",&n,&m);
    scanf("%d%d",&min,&max);
    int a=2;int i;

    if(m>=n)
    {
        printf("Incorrect");
        return 0;
    }
    for(i=0;i<m;i++)
    {
        scanf("%d",&t);
        if(t<min || t>max)
        {
            printf("Incorrect");
        return 0;
        }
        if(t!=min && t!=max)
        {
            a++;
            if(a>n)
            {
                printf("Incorrect");
        return 0;
            }
        }
    }
    if(a<=n)
    printf("Correct");
    return 0;
}

#include<stdio.h>
int main()
{
	int n,i,m,min,max,min_temp,max_temp;
	int temp[100];
	scanf("%d%d%d%d",&n,&m,&min,&max);
	min_temp=101;
	max_temp=0;
	for(i=0;i<m;i++)
	{
		scanf("%d",&temp[i]);
		if(min_temp>temp[i])
			min_temp=temp[i];
		if(max_temp<temp[i])
			max_temp=temp[i];
	}
	if(n-m>1)
	{
		if(min<=min_temp && max>=max_temp)
			printf("Correct\n");
		else
			printf("Incorrect\n");
	}
	else
	{
		if(min_temp==min && max_temp<=max)
			printf("Correct\n");
		else if(max_temp==max && min_temp>=min)
			printf("Correct\n");
		else
			printf("Incorrect\n");
	}
	return 0;
}

#include <stdio.h>

int main()
{
	int n,m,a,b,i,g=0,h=0;
	scanf("%d %d %d %d",&n,&m,&a,&b);
	int ara[1000];
	for (i=0;i<m;i++){
		scanf("%d",&ara[i]);
	}
	for (i=0;i<m;i++){
		if (ara[i]==a){
			g=1;
		}
		else if (ara[i]==b){
			h=1;
		}
		if (ara[i]<a){
			printf("Incorrect");
		 	return 0;
		}
		if (ara[i]>b){
			printf("Incorrect");
		 	return 0;
		}
		 if (h==1 && g==1){
		 	printf("Correct");
		 	return 0;
		 }
	}
	if (h==0 && g==0){
		if (n-m<2){
			printf("Incorrect");
		}
		else{
			printf("Correct");
		}
	}
	else if (h==1 && g==0){
		if (n-m<1){
			printf("Incorrect");
		}
		else{
			printf("Correct");
		}
	}
	if (h==0 && g==1){
		if (n-m<1){
			printf("Incorrect");
		}
		else{
			printf("Correct");
		}
	}
	return 0;
}

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main(void){
    int n, m, min, max, i, izm, k = 0, fl = 0, kk;
    scanf("%d %d %d %d", &n, &m, &min, &max);
    if (n != 1){
        k = n - 2;
        kk = 2;
    }
    else{
    	k = 0;
    	kk = 1;
    }
    for (i = 0; i < m; i++){
        scanf("%d", &izm);
		if ((izm < min)||(izm > max))
		    fl = 1;
		else
		  if (((izm == min)||(izm == max))&&(kk != 0))
		      kk--;
		  else
		    if (((izm >= min)&&(izm <= max))&&(k != 0))
		        k--;
		    else
	            fl = 1;
    }
	if (fl == 1)
	    printf("Incorrect");
	else
	    printf("Correct");
return(0);
}

#include<stdio.h>
int main()
{
    int n,m,max,min, var,i,flag=0;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    var= n-m;
    int temp[m];
    //printf("%d\n",var);
    for(i=0;i<m;i++)
    {
       scanf("%d",&temp[i]);
    }
     for(i=0;i<m;i++)
     {
         if(temp[i] <min || temp[i] >max)
              {
                    flag = 1;
                    break;
               } //incorrect
     }
     if(flag!=1)
     {
     if(var<2 && var >0)
     {
              for(i=0;i<m;i++)
              {
                 if(temp[i] == max || temp[i] == min)
                  {
                            flag = -1;
                            break;
                  }
                  flag = 1;
              }

     }
     }
     if(flag==1)
       printf("Incorrect\n");
     else if(flag == -1)
       printf("Correct\n");
     else if(flag == 0)
       printf("Correct\n");

    //getch();
    return 0;
}

#include<stdio.h>
int main()
{
    int n,m,min,max,a[200],flag,i,flagmin=0,flagmax=0,flagminch=0,flagmaxch=0;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    flag=2;
    for(i=0;i<m;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]==min&&flagminch==0)
        {
            flag--;
            flagminch=1;
        }
        else if(a[i]==max&flagmaxch==0)
        {
            flag--;
            flagmaxch=1;
        }
        else if(a[i]<min&&flagmin==0)
        {
            flag++;
            flagmin=1;
        }
        else if(a[i]>max&&flagmax==0)
        {
            flag++;
            flagmax=1;
        }
    }
    if(flag<0)
    flag=0;
    if(flag>2)
    flag=2;
    if((flag==0||(n-m)>=flag)&&flagmin==0&&flagmax==0)
    printf("Correct");
    else
    printf("Incorrect");
    return 0;
}

/*
 * FCTRL.c
 *
 *  Created on: 24 A�u 2014
 *      Author: KT
 */

#include <stdio.h>
#include<math.h>
int main(void){
int m,n,min,max;
scanf("%d %d %d %d",&n,&m,&min,&max);
int j=1;
int mincounter=0;
int maxcounter=0;
int maxchecker=0;
int minchecker=0;
for(;j<=m;j++){
	int k;
	scanf("%d",&k);
mincounter+=(k==min?1:0);
maxcounter+=(k==max?1:0);
maxchecker+=(k>max?1:0);
maxchecker+=(k<min?1:0);
}

mincounter=(mincounter>=1? 1:0);
maxcounter=(maxcounter>=1? 1:0);
if(n-m>=2 && (mincounter==0 && maxcounter==0) && maxchecker==minchecker && maxchecker==0){
	puts("Correct");
}else if(n-m>=1 && ((mincounter==1 && maxcounter==0) ||(mincounter==0 && maxcounter==1))  && maxchecker==minchecker && maxchecker==0){
	puts("Correct");
}else if((mincounter==1 && maxcounter==1)  && maxchecker==minchecker && maxchecker==0){
	puts("Correct");
}else{
	puts("Incorrect");
}
return 0;
}

#include<stdio.h>
int main()
{
int n,m,min,max,t[110],temp,i,count=0,flag1=0,flag2=0,flag=0;
scanf("%d %d %d %d",&n,&m,&min,&max);
temp=n-m;
for(i=0;i<m;i++)
scanf("%d",&t[i]);
for(i=0;i<m;i++)
{
    if(t[i]>max||t[i]<min)
    {
        flag=1;
        break;

    }
   if(t[i]==min||t[i]==max)
   {
       if(t[i]==min&&flag1==0)
       {
        count++;
        flag1=1;
       }
       if(t[i]==max&&flag2==0)
       {
           count++;
           flag2=1;
       }
   }
}
if(flag==1)
printf("Incorrect");
else
{
if(temp>=2-count)
    printf("Correct");
else
    printf("Incorrect");
}
return 0;
}

#include <stdio.h>

#define N 100

int main() {
	static int tt[N];
	int n, m, min, max, i, fmin, fmax, cnt, good;

	scanf("%d%d%d%d", &n, &m, &min, &max);
	for (i = 0; i < m; i++)
		scanf("%d", &tt[i]);
	fmin = fmax = 0;
	cnt = 2;
	good = 1;
	for (i = 0; i < m; i++)
		if (!fmin && tt[i] == min) {
			fmin = 1, cnt--;
		} else if (!fmax && tt[i] == max) {
			fmax = 1, cnt--;
		} else if (tt[i] < min || tt[i] > max) {
			good = 0;
			break;
		}
	printf(good && cnt <= n - m ? "Correct\n" : "Incorrect\n");
	return 0;
}

#include <stdio.h>

int main()
{
    int n, m, min, max;
    int t[100];
    scanf("%d %d %d %d", &n, &m, &min, &max);
    char haveMin = 0;
    char haveMax = 0;
    for(int i = 0; i < m; ++i) {
        scanf("%d", &t[i]);
        if(t[i] == min) {
            haveMin = 1;
        }
        if(t[i] == max) {
            haveMax = 1;
        }
        if(t[i] < min || t[i] > max) {
            puts("Incorrect");
            return 0;
        }
    }
    if(!haveMin) {
        ++m;
    }
    if(!haveMax) {
        ++m;
    }
    puts(m <= n ? "Correct" : "Incorrect");
    return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main() {
    int n;
    int m = 0;
    int min = 0;
    int max = 0;
    int testMin = 101;
    int testMax = 0;
    scanf("%d %d %d %d",&n, &m, &min, & max);
    int toBeAdded = n - m;
    int minToBeAdded = 2;
    int *doorSeq = malloc(m * sizeof(int));
    for(int i = 0; i < m; i++){
        int input;
        scanf("%d", &input);
        if(input > testMax)  testMax = input;
        if(input < testMin) testMin = input;
    }
    if(testMax == max) minToBeAdded --;
    if(testMin == min) minToBeAdded --;
    if(minToBeAdded > toBeAdded) printf("Incorrect");
    else{
        if(minToBeAdded == 1 && testMax >= max && min >= testMin){
            printf("Incorrect");
        }else if(minToBeAdded == 1 && testMin <= min && max <= testMax){
            printf("Incorrect");
        }else if(minToBeAdded == 2 && testMax <= max && testMin >= min){
            printf("Correct");
        }else if(minToBeAdded == 0 || minToBeAdded == 1){
            printf("Correct");
        }else{
            printf("Incorrect");
        }
    }
}

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#define N 110
int a[N];
int main(){
   int n,m,min,max;
   while(~scanf("%d%d%d%d",&n,&m,&min,&max)){
   	  int i=0,min1=101,max1=-1;
   	  for(i;i<m;i++){
   		scanf("%d",&a[i]);
   		if(a[i]<min1)
   		min1=a[i];
   		if(a[i]>max1)
   		max1=a[i];
	   }
	   //printf("%d\n%d\n",min1,max1);
	   int t=-1;
	   int x=n-m;
	   if(max1>max||min1<min)
	   printf("Incorrect\n");
	   else if(x>=2)
	   printf("Correct\n");

	   else if(x==0)
	   {
	   	for(i=0;i<m;i++){
	   		if(a[i]==max)
	   		t++;
	   		if(a[i]==min)
	   		t++;
	   		if(t==1){
	   				printf("Correct\n");break;
			   }

	   	}
	   	if(t!=1)
	   	printf("Incorrect\n");
	   }
	   else if(x==1){
	   	for(i=0;i<m;i++){
	   		if(a[i]==max){

	   			if(min<=min1){
	   				t++;printf("Correct\n");break;
				   }

			   }

	   		else if(a[i]==min){

	   			if(max>=max1){
	   				t++;	printf("Correct\n");break;
				   }

			   }

	   }
	   if(t==-1)
	   	printf("Incorrect\n");
   }

}
}

#include<stdio.h>
int main(){
int n,m,min1,max1,i,arr[105],flag1=-1,flag2=-1;
scanf("%d%d%d%d",&n,&m,&min1,&max1);
for(i=0;i<m;i++){
    scanf("%d",&arr[i]);
     if(arr[i]==min1)
        flag1=1;
     if(arr[i]==max1)
        flag2=1;
       }

  if((n-m==1&&(flag1==1||flag2==1))||(n-m)>1)
        printf("Correct\n");

  else if(n-m==1&&(flag1!=1||flag2!=1))
            printf("Incorrect\n");

return 0;
}

#include<stdio.h>
int main(){
int n,m,min1,max1,i,arr[105],flag1=-1,flag2=-1,h=-1,y=-1;
scanf("%d%d%d%d",&n,&m,&min1,&max1);
for(i=0;i<m;i++){
    scanf("%d",&arr[i]);
     if(arr[i]==min1)
        flag1=1;
     if(arr[i]<min1)
            h=1;
     if(arr[i]==max1)
        flag2=1;
     if(arr[i]>max1)
        y=1;
       }

  if(n-m==1&&(flag1==1||flag2==1))
        printf("Correct");

  else if(n-m==1&&(flag1!=1||flag2!=1))
            printf("Incorrect");

  else if(n-m>1&&(h==1||y==1))
        printf("Incorrect");

  else if(n-m>1)
       printf("Correct");

return 0;
}

#include <stdio.h>

int t[100];

typedef int bool;
#define FALSE 0
#define TRUE 1

#define POS_INFINITY 999
#define NEG_INFINITY -1

bool decide(int n, int m, int minN, int maxN)
{
	int minM = POS_INFINITY, maxM = NEG_INFINITY;
	int i;
	for (i = 0; i < m; i++) {
		scanf("%d", t + i);
		if (t[i] < minM)
			minM = t[i];
		if (t[i] > maxM)
			maxM = t[i];
	}

	int d = n - m;
	// printf("nimM: %d, maxM: %d, d: %d\n", minM, maxM, d);
	if (minN == minM && maxM == maxN)
		return TRUE;
	if (minN < minM && maxM == maxN)
		return d >= 1;
	if (minN == minM && maxM < maxN)
		return d >= 1;
	if (minN < minM && maxM < maxN)
		return d >= 2;
}

int main(void)
{
	int n, m, minN, maxN;
	scanf("%d %d %d %d\n", &n, &m, &minN, &maxN);
	// printf("%d %d %d %d\n", n, m, minN, maxN);
	int i;
	bool upgradable = decide(n, m, minN, maxN);
	/*for (i = 0; i < m; i++)
		printf("%d ", t[i]);*/
	if (upgradable)
		printf("Correct\n");
	else
		printf("Incorrect\n");
}

#include<stdio.h>
typedef unsigned u;
int main()
{
	u n,m,min=0xffffffffu,max=0,MI,MA,i,j,k;
	for(scanf("%u%u%u%u",&n,&m,&MI,&MA),n-=m;m--;)
	{
		scanf("%u",&k);
		if(max<k)max=k;
		if(min>k)min=k;
	}
	if(n>1||(MI==min&&MA==max))printf("Correct\n");
	else if(!n)printf("Incorrect\n");
	else if(MI==min||MA==max)printf("Correct\n");
	else printf("Incorrect\n");
	return 0;
}

/*
�׽����� n ������ ��ģ��.
�� ���ܿ��� ���μ����� �Ϻ� ��ɵ��� ��´�.
�׸��?�� �µ��� �����ȴ�.
���� �����Ͼ ���μ����� �Ͽ����� �������� ������ �ִ�. �״� ���� ���� �µ����� ū �µ����� �᳻������.
���� ������ ��� �µ��� �᳻�������ߴ�. �׷��� �״� ���� m�� ����ߴ�.

������ ������ ��� m �µ����� ���?�� �����. ������ ���������Ͼ ������ ��Ȯ�ϰ� ����� �ǽ��Ѵ�.
�׷��� �״� ��ſ��� �׸� ���ʹ޶�� ��û�Ѵ�. �־��� n,m,min,max �׸��� m ���� �µ� ����Ʈ����
����� m �µ� ��Ʈ���� n �µ� ��Ʈ�� ���׷��̵� �Ҽ� ������ �����Ѵ�.
�׷��� ���� ���� �µ��� min ������ max �̴�.

*/

#include <stdio.h>

int main()
{
	int n,m,min,max;
	int tmp;
	int iCnt = 0;
	int iCnt2 = 0;
	int iNum;

	int arr[101] = {0};

	scanf("%d %d %d %d", &n, &m, &min, &max);

	arr[min] = 1;
	arr[max] = 1;

	tmp = m;
	while(tmp--)
	{
		scanf("%d", &iNum);
		if(iNum == min || iNum == max)
		{

		}
		else
		{
			++iCnt;
		}
	}

	if(n-2 >= iCnt)
	{
		printf("Correct\n");
	}
	else
	{
		printf("Incorrect\n");
	}

	return 0;
}

#include <stdio.h>
int main()
{
    int n,m,min,max,c=0,c1=0,flag=0,i,a;
    scanf("%d%d%d%d",&n,&m,&min,&max);
    for(i=0;i<m;i++)
    {
        scanf("%d",&a);
        if(a==min)
            c=1;
        else if(a<min)
            c=-1;
        else if(a==max)
            c1=1;
        else if(a>max)
            c1=-1;
    }
    if(c1+c>0)
        flag=1;
    else if(c1!=-1&&c!=-1)
        if(n-m>1)
            flag=1;
    if(flag)
        printf("Correct\n");
    else
        printf("Incorrect\n");
    return 0;
}

#include <stdio.h>
int main()
{
    int n,m,min,max,c=0,c1=0,flag=0,i,a;
    scanf("%d%d%d%d",&n,&m,&min,&max);
    for(i=0;i<m;i++)
    {
        scanf("%d",&a);
        if(a==min)
            c=1;
        if(a==max)
            c1=1;
    }
    if(c==0)
    {
        if(c1==1)
            if(n>m)
                flag=1;
        if(c1==0)
            if(n-m>1)
                flag=1;
    }
    else if(c1==0)
    {
        if(n>m)
                flag=1;
    }
    else
            flag=1;
    if(flag)
        printf("Correct\n");
    else
        printf("Incorrect\n");
    return 0;
}

#include <stdio.h>
int main()
{
    int n,m,min,max,c=0,c1=0,flag=0,i,a;
    scanf("%d%d%d%d",&n,&m,&min,&max);
    for(i=0;i<m;i++)
    {
        scanf("%d",&a);
        if(a==min)
            c=1;
        else if(a<min)
            c=-1;
        else if(a==max)
            c1=1;
        else if(a>max)
            c1=-1;
    }
    if(c1+c>0)
        flag=1;
    else if(c1+c==0)
        if(n-m>1)
            flag=1;
    if(flag)
        printf("Correct\n");
    else
        printf("Incorrect\n");
    return 0;
}

#include <stdio.h>
int main()
{
    int n,m,min,max,c=0,c1=0,flag=0,i,a;
    scanf("%d%d%d%d",&n,&m,&min,&max);
    for(i=0;i<m;i++)
    {
        scanf("%d",&a);
        if(a==min)
            c=1;
        else if(a==max)
            c1=1;
    }
    if(c1+c>0)
        flag=1;
    else
        if(n-m>1)
            flag=1;

    if(flag)
        printf("Correct\n");
    else
        printf("Incorrect\n");
    return 0;
}

#include <stdio.h>

int main()
{
    int n, m, m1, m2, c1 = 0, c2 = 0, i;

    scanf("%d %d %d %d", &n, &m, &m1, &m2);

    for (i = 0; i < m; i++) {
        int x;

        scanf("%d", &x);

        if (x == m1) c1 = 1;
        if (x == m2) c2 = 1;
    }

    if (n - m >= 2 - c1 - c2) {
        puts("Correct");
    } else {
        puts("Incorrect");
    }

    return 0;
}

#include<stdio.h>
int partition(int number[],int i,int j)
{
    int key;
    key=number[i];
    while(i<j)
    {
        while(i<j&&number[j]>key) j--;
        if(i<j) {
            number[i]=number[j]; i++;
        }
        while(i<j&&number[i]<key) i++;
        if(i<j){
            number[j]=number[i]; j--;
        }
    }
    number[i]=key;
    return i;
}
void q_sort(int number[],int i,int j)
{
    int temp;
    if(i<j)
    {
        temp=partition(number,i,j);
        q_sort(number,i,temp-1);
        q_sort(number,temp+1,j);
    }
}
int main()
{
    int n,m,max,min,i,j,t[110];
    while(scanf("%d%d%d%d",&n,&m,&min,&max)!=EOF)
    {
        for(i=0;i<m;i++)
        scanf("%d",&t[i]);
        q_sort(t,0,m-1);
        if(min>t[0]||max<t[m-1]) printf("Incorrect\n");
        if(min==t[0]&&max!=t[m-1])
        if(m+1<=n) printf("Correct\n");
        else printf("Incorrect\n");
        else if(min!=t[0]&&max==t[m-1])
        if(m+1<=n) printf("Correct\n");
        else printf("Incorrect\n");
        else if(min==t[0]&&max==t[m-1])
        if(m<=n) printf("Correct\n");
        else printf("Incorrect\n");
        else if(m+2<=n) printf("Correct\n");
        else printf("Incorrect\n");
    }
    return 0;
}

#include<stdio.h>
int partition(int number[],int i,int j)
{
    int key;
    key=number[i];
    while(i<j)
    {
        while(i<j&&number[j]>key) j--;
        if(i<j) {
            number[i]=number[j]; i++;
        }
        while(i<j&&number[i]<key) i++;
        if(i<j){
            number[j]=number[i]; j--;
        }
    }
    number[i]=key;
    return i;
}
void q_sort(int number[],int i,int j)
{
    int temp;
    if(i<j)
    {
        temp=partition(number,i,j);
        q_sort(number,i,temp-1);
        q_sort(number,temp+1,j);
    }
}
int main()
{
    int n,m,max,min,i,j,t[110];
    while(scanf("%d%d%d%d",&n,&m,&min,&max)!=EOF)
    {
        for(i=0;i<m;i++)
        scanf("%d",&t[i]);
        q_sort(t,0,m-1);
        if(min>t[0]||max<t[m-1]) printf("Correct\n");
        if(min==t[0]&&max!=t[m-1])
        if(m+1<=n) printf("Correct\n");
        else printf("Incorrect\n");
        else if(min!=t[0]&&max==t[m-1])
        if(m+1<=n) printf("Correct\n");
        else printf("Incorrect\n");
        else if(min==t[0]&&max==t[m-1])
        if(m<=n) printf("Correct\n");
        else printf("Incorrect\n");
        else if(m+2<=n) printf("Correct\n");
        else printf("Incorrect\n");
    }
    return 0;
}

#include <stdio.h>

int main(void)
{
	int tmp;
	int i;
	int n, m;
	int min, max;
	int isMin = 0, isMax = 0;

	scanf("%i %i %i %i", &n, &m, &min, &max);

	for (i = 0; i < m; ++i)
	{
		scanf("%i", &tmp);
		if (tmp == min)
			isMin = 1;
		else if (tmp == max)
			isMax = 1;
	}

	if (n - m >= 2)
	{
		printf("Correct\n");
		return 0;
	}

	if (isMin == 1 && isMax == 1)
		printf("Correct\n");
	else if ((isMin == 1 && isMax == 0) || (isMax == 1 && isMin == 0))
	{
		if (n - m >= 1)
			printf("Correct\n");
		else
			printf("Incorrect\n");
	} else
		printf("Incorrect\n");

	return 0;
}

#include <stdio.h>

int main(void)
{
	int tmp;
	int i;
	int n, m;
	int min, max;
	int isMin = 0, isMax = 0;

	scanf("%i %i %i %i", &n, &m, &min, &max);

	for (i = 0; i < m; ++i)
	{
		scanf("%i", &tmp);
		if (tmp == min)
			isMin = 1;
		else if (tmp == max)
			isMax = 1;
	}

	if (isMin == 1 && isMax == 1)
		printf("Correct\n");
	else if (isMin == 1 || isMax == 1)
	{
		if (n - m >= 1)
			printf("Correct\n");
		else
			printf("Incorrect\n");
	} else
	{
		if (n - m >= 2)
			printf("Correct\n");
		else
			printf("Incorrect\n");
	}

	return 0;
}

#include<stdio.h>
int main()
{
    int n,m,min,max;
    int sum;
    int i,sz;
    while(scanf("%d%d%d%d",&n,&m,&min,&max)!=EOF)
    {
        int flag,flag1,flag2;
        flag=flag1=flag2=0;
        for(i=0;i<m;i++)
        {
            scanf("%d",&sz);
            if(sz==min)
                flag1=1;
            if(sz==min)
                flag2=1;
            if(sz<min||sz>max)
                flag=1;
        }
        if(flag1==1&&flag2==1)
            sum=m;
        if(flag1==1&&flag2==0)
            sum=m+1;
        if(flag1==0&&flag2==1)
            sum=m+1;
        if(flag1==0&&flag2==0)
            sum=m+2;
        if(sum>n)
            flag=1;

        if(flag==1)
            printf("Incorrect\n");
        if(flag==0)
            printf("Correct\n");
    }
    return 0;
}

#include <stdio.h>
#include <string.h>
#include <stdbool.h>

int main( void ) {
     int n, m, min, max;

     scanf("%i %i %i %i", &n , &m, &min, &max);

     const int Max = 200;
     bool temp[Max];

     memset(temp, 0, sizeof(temp));

     int i, c;
     for( i = 0; i < m; i++ )  {
          scanf("%i", &c);
          temp[c] = 1;
     }

     int obl = 0;
     for( i = min; i <= max; i++ )
          if( !temp[i] ) obl++;

     if( obl > (n-m) )    printf("Incorrect\n");
     else                 printf("Correct\n");

     return 0;
}

#include <limits.h>
#include <stdio.h>

int main() {
	int n, m, min, max, r, q, i, min1, max1;

	scanf("%d%d%d%d", &n, &m, &min, &max);
	min1 = INT_MAX, max1 = 0;
	for (i = 0; i < m; i++) {
		int t;

		scanf("%d", &t);
		if (min1 > t)
			min1 = t;
		if (max1 < t)
			max1 = t;
	}
	r = n - m;
	q = (min1 != min) + (max1 != max);
	printf("%s\n", min1 < min || max1 > max || r >= q ? "Correct" : "Incorrect");
	return 0;
}

#include <stdio.h>

int minf, maxf;
int n, m, tmp;
int i;
int minv = 101;
int maxv = 0;

int main(){
    scanf("%d %d %d %d", &n, &m, &minf, &maxf);
    for(i = 0; i < m; i++){
        scanf("%d", &tmp);
        if(tmp > maxv){
            maxv = tmp;
        }
        if(tmp < minv){
            minv = tmp;
        }
    }
    i = 0;
    if(minv != minf)
        i++;
    if(maxv != maxf)
        i++;
    if(n - m == i){
        printf("Correct\n");
    }else{
        printf("Incorrect\n");
    }
    return 0;
}

#include <stdio.h>

int minf, maxf;
int n, m, tmp;
int i;
int minv = 101;
int maxv = 0;

int main(){
    scanf("%d %d %d %d", &n, &m, &minf, &maxf);
    for(i = 0; i < m; i++){
        scanf("%d", &tmp);
        if(tmp > maxv){
            maxv = tmp;
        }
        if(tmp < minv){
            minv = tmp;
        }
    }

    i = 0;
    if(minv != minf)
        i++;
    if(maxv != maxf)
        i++;
    if( minf == maxf && n - m >= i){
            printf("Correct\n");
        return 0;
    }
    if( n - m == i){
        printf("Correct\n");
        return 0;
    }
    printf("Incorrect\n");
    return 0;
}

#include <stdio.h>

int minf, maxf;
int n, m, tmp;
int i;
int minv = 101;
int maxv = 0;

int main(){
    scanf("%d %d %d %d", &n, &m, &minf, &maxf);

    for(i = 0; i < m; i++){
        scanf("%d", &tmp);
        if(tmp > maxv){
            maxv = tmp;
        }
        if(tmp < minv){
            minv = tmp;
        }
    }

    if(minf > maxf){
        printf("Incorrect\n");
        return 0;
    }

    i = 0;
    if(minv != minf)
        i++;
    if(maxv != maxf)
        i++;
    if(n - m >= i){
        printf("Correct\n");
    }else{
        printf("Incorrect\n");
    }
    return 0;
}

#include <stdio.h>

int minf, maxf;
int n, m, tmp;
int i;
int minv = 101;
int maxv = 0;

int main(){
    scanf("%d %d %d %d", &n, &m, &minf, &maxf);
    for(i = 0; i < m; i++){
        scanf("%d", &tmp);
        if(tmp > maxv){
            maxv = tmp;
        }
        if(tmp < minv){
            minv = tmp;
        }
    }

    i = 0;
    if(minv != minf)
        i++;
    if(maxv != maxf)
        i++;
    if( minf == maxf && n - m >= i){
        printf("Correct\n");
        return 0;
    }
    if( n - m == i){
        printf("Correct\n");
        return 0;
    }
    printf("Incorrect\n");
    return 0;
}

#include <stdio.h>

int minf, maxf;
int n, m, tmp;
int i;
int minv = 101;
int maxv = 0;

int main(){
    scanf("%d %d %d %d", &n, &m, &minf, &maxf);
    for(i = 0; i < m; i++){
        scanf("%d", &tmp);
        if(tmp > maxv){
            maxv = tmp;
        }
        if(tmp < minv){
            minv = tmp;
        }
    }
    i = 0;
    if(minv != minf)
        i++;
    if(maxv != maxf)
        i++;
    if(n - m >= i){
        printf("Correct\n");
    }else{
        printf("Incorrect\n");
    }
    return 0;
}

#include<stdio.h>
int main()
{
    int n,m,min,max,i,a,a1,a2;
    scanf("%d%d%d%d",&n,&m,&min,&max);
    a1=a2=1;
    for(i=0;i<m;i++)
    {
        scanf("%d",&a);
        if(a==min)
         a1=0;
        if(a==max)
            a2=0;

    }
   // printf("a1+a2: %d\tn-m: %d\n",a1+a2,n-m);

    if((n-m)>=(a1+a2))
        printf("Correct\n");
    else
        printf("Incorrect\n");
    return 0;
}

#include <stdio.h>
int main()
{
    int n,m,mini,maxi,i,j;
    scanf("%d %d %d %d",&n,&m,&mini,&maxi);
    int arr[m];

    for(i=0;i<m;i++)
    {
        scanf("%d",&arr[i]);
        if((arr[i]>=mini && arr[i]<=maxi && n>2)|| (n==2 && (arr[i]==maxi || arr[i]==mini)))
        {

        }
        else
        {
            printf("Incorrect");
            return 0;
        }
    }

    printf("Correct");
    return 0;
}

#include<stdio.h>
int main()
{
int n,m,max,min,i,j;
scanf("%d%d%d%d",&n,&m,&min,&max);
int a[m],cou=0,count=0;
for(i=0;i<m;i++)
{
    scanf("%d",&a[i]);
}
for(i=0;i<m;i++)
{
    if(a[i]<min&&a[i]>max)
    {
        count=1;
        break;
    }
}
if(count==0)
{
for(i=0;i<m;i++)
{
    if(a[i]==min||a[i]==max)
    {
        cou=1;
        break;
    }
}
if(cou==1)
{
    printf("Correct");
}
else
{
    if(n-m>=2)
        printf("Correct");
    else
        printf("Incorrect");
}
}
else
{
    printf("Incorrect");
}
return 0;
}

#include<stdio.h>
int main()
{
int n,m,max,min,i,j;
scanf("%d%d%d%d",&n,&m,&min,&max);
int a[m],count=0;
for(i=0;i<m;i++)
{
    scanf("%d",&a[i]);
}
for(i=0;i<m;i++)
{
    if(a[i]==min||a[i]==max)
    {
        count=1;
        break;
    }
}
if(count==1)
{
    printf("CORRECT");
}
else
{
    if(n-m>=2)
        printf("CORRECT");
    else
        printf("INCORRECT");
}
return 0;
}

#include<stdio.h>
int main()
{
int n,m,max,min,i,j;
scanf("%d%d%d%d",&n,&m,&min,&max);
int a[m],count=0;
for(i=0;i<m;i++)
{
    scanf("%d",&a[i]);
}
for(i=0;i<m;i++)
{
    if(a[i]==min||a[i]==max)
    {
        count=1;
        break;
    }
}
if(count==1)
{
    printf("Correct");
}
else
{
    if(n-m>=2)
        printf("Correct");
    else
        printf("Incorrect");
}
return 0;
}

#include<stdio.h>
int main()
{
int n,m,max,min,i,j;
scanf("%d%d%d%d",&n,&m,&min,&max);
int a[m],cou=0;
for(i=0;i<m;i++)
{
    scanf("%d",&a[i]);
}
for(i=0;i<m;i++)
{
    if(a[i]==min||a[i]==max)
    {
        cou=1;
        break;
    }
}
if(cou==1)
{
    printf("Correct");
}
else
{
    if(n-m>=2)
        printf("Correct");
    else
        printf("Incorrect");
}
return 0;
}

#include <stdio.h>
#include <stdlib.h>
int intcmp(const void*a,const void *b)
{
    return *(int*)a-*(int*)b;
}
int main()
{
    int n,m,min,max,i,md[100],p;
    scanf("%d%d%d%d",&n,&m,&min,&max);
    for(i=0;i<m;i++)
    {
        scanf("%d",&md[i]);
    }

    qsort(md,n,sizeof(int),intcmp);//printf("watch\n");
    if(min<=md[0]&&md[i-1]<=max){
        if(min==md[0]&&md[i-1]==max)p=1;
        else{
            if(n-m>=2)p=1;
            else{
                if(n-m==1&&(min==md[0]||md[i-1]==max))p=1;
                else
                   p=0;
            }
        }
    }
    else p=0;
    if(p)printf("Correct\n");
    else printf("Incorrect\n");
    return 0;
}

#include<stdio.h>
int main()
{
	int max,min,m,n,a[100],i;
	while(scanf("%d%d%d%d",&n,&m,&min,&max)!=EOF)
	{
		int co=2;
		if(m>n||max<min)printf("Incorrect\n");
		for(i=0;i<m;i++)
			scanf("%d",&a[i]);
		for(i=0;i<m;i++)
			if(a[i]<max&&a[i]>min)
              co++;
			else
				if(a[i]==max||a[i]==min)
					co=co;
			if(co>n)
			printf("Incorrect\n");
			else
				printf("Correct\n");
	}
	return 0;
}

#include<stdio.h>

int main()
{
    int n,m,mx,mn;
    int i,j,k,l,data[200],c1=0;

    scanf("%d %d %d %d",&n,&m,&mn,&mx);

    for(i=0;i<m;i++){
            scanf("%d",&data[i]);
    }

    if(n<=2){
        for(i=0;i<m;i++){
            if(data[i] == mn || data[i] == mx){
                c1 = 1;
            }
            else{
                c1 = 0;
                break;
            }
        }
        if(c1==1){
            printf("Correct\n");
        }
        else{
            printf("Incorrect\n");
        }
    }

    else{
        for(i=0;i<m;i++){
            if(data[i] >= mn && data[i] <= mx){
                c1 = 1;
            }
            else{
                c1 = 0;
                break;
            }
        }
        if(c1==1){
            printf("Correct\n");
        }
        else{
            printf("Incorrect\n");
        }
    }
    return 0;
}

#include<stdio.h>

int main()
{
    int n,m,mx,mn;
    int i,j,k,l,data[200],c1=0;

    scanf("%d %d %d %d",&n,&m,&mn,&mx);

    for(i=0;i<m;i++){
            scanf("%d",&data[i]);
    }

    if(n<=2){
        for(i=0;i<m;i++){
            if(data[i] == mn || data[i] == mx){
                c1 = 1;
            }
            else{
                c1 = 0;
                break;
            }
        }
        if(c1==1){
            printf("Correct\n");
        }
        else{
            printf("Incorrect\n");
        }
    }

    else{
        for(i=0;i<m;i++){
            if(data[i] >= mn || data[i] <= mx){
                c1 = 1;
            }
            else{
                c1 = 0;
                break;
            }
        }
        if(c1==1){
            printf("Correct\n");
        }
        else{
            printf("Incorrect\n");
        }
    }
    return 0;
}

#include<stdio.h>

int main()
{
    int n,m,mx,mn;
    int i,j,k,l,data[200],c1=0,c2=0,c3=0;

    scanf("%d %d %d %d",&n,&m,&mn,&mx);

    for(i=0;i<m;i++){
            scanf("%d",&data[i]);
    }

    if(n<=2){
        for(i=0;i<m;i++){
            if(data[i] == mn || data[i] == mx){
                c1 = 1;
            }
            else{
                c1 = 0;
                break;
            }
        }
        if(c1==1){
            printf("Correct\n");
        }
        else{
            printf("Incorrect\n");
        }
    }

    else{
        for(i=0;i<m;i++){
            if(data[i] >= mn && data[i] <= mx){
                c1 = 1;
                if(data[i]==mn){
                    c2 = 1;
                }
                else if(data[i]==mx){
                  c3 = 1;
                }
            }
            else{
                c1 = 0;
                break;
            }
        }
        if(n==m){
            if(c1==1 &&c2==1 &&c3==1){
                printf("Correct\n");
            }
            else{
                printf("Incorrect\n");
            }
        }
        else if((n-m)==1){
                if((c1==1 && c2==1) && (c1==1 && c3==1)){
                    printf("Correct\n");
                }
                else{
                    printf("Incorrect\n");
                }

        }
        else{
            if(c1==1){
                printf("Correct\n");
            }
            else{
                printf("Incorrect\n");
            }
        }
    }
    return 0;
}

#include<stdio.h>
int main()
{
    int i,j,k;
    int t,n,m;
    int a,b;
    while(scanf("%d%d%d%d",&n,&m,&a,&b)!=EOF)
    {
        j=0;
        k=0;
        t=0;
        for(i=0;i<m;i++)
        {
            scanf("%d",&t);
            if(t<a||t>b)
            {
                t++;
                continue;
            }
            else if(t==a)
                j=1;
            else if(t==b)
                k=1;
        }
        if(n-m+j+k+t>=2)
            printf("Correct\n");
        else
            printf("Incorrect\n");
    }
    return 0;
}

#include<stdio.h>
int main()
{
    int i,j,k;
    int t,n,m;
    int a,b;
    while(scanf("%d%d%d%d",&n,&m,&a,&b)!=EOF)
    {
        j=0;
        k=0;
        for(i=0;i<m;i++)
        {
            scanf("%d",&t);
            if(t==a)
                j=1;
            if(t==b)
                k=1;
        }
        if(n-m+j+k>=2)
            printf("Correct\n");
        else
            printf("Incorrect\n");
    }
    return 0;
}

#include<stdio.h>
int main()
{
    int i,j,k;
    int t,n,m;
    int a,b;
    int liu [106];
    while(scanf("%d%d%d%d",&n,&m,&a,&b)!=EOF)
    {
        j=0;
        k=0;
        for(i=0;i<m;i++)
        {
            scanf("%d",liu+i);
        }
        for(i=0;i<n;i++)
        {
            if(liu[i]==a)
                j++;
            if(liu[i]==b)
                k++;
        }
        if(n-m+j+k>=2)
            printf("Correct\n");
        else
            printf("Incorrect\n");
    }
    return 0;
}

#include <stdio.h>
int main()
{
    int a[105],i,min,max,n,m,flag;
    flag=1;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    for (i=1;i<=m;i++) scanf("%d",&a[i]);
    if (n==2)
    {
        for (i=1;i<=m;i++)
         if (a[i]!=min&&a[i]!=max) flag=0;
    }
    else
    {
        for (i=1;i<=m;i++)
         if (a[i]<min||a[i]>max) flag=0;
        if (min==max-1) flag=0;
    }
    if (flag==1) printf("Correct"); else printf("Incorrect");
    return 0;
}

#include <stdio.h>
int main()
{
    int a[105],i,min,max,n,m,flag;
    flag=1;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    for (i=1;i<=m;i++) scanf("%d",&a[i]);
    if (n==2)
    {
        for (i=1;i<=m;i++)
         if (a[i]!=min&&a[i]!=max) flag=0;
    }
    else
    {
        for (i=1;i<=m;i++)
         if (a[i]<min||a[i]>max) flag=0;
    }
    if (flag==1) printf("Correct"); else printf("Incorrect");
    return 0;
}

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
	int n, m, min, max;
	fscanf(stdin, "%d %d %d %d\n", &n, &m, &min, &max);
	int data[m];
	int d;
	for (d=0; d<m; d++)
		scanf("%d", &data[d]);

	int correct = 1, i;
	int minp = 0, maxp = 0;

	for (i=0; i<m; i++) {
		if (data[i] < data[minp]) minp = i;
		if (data[i] > data[maxp]) maxp = i;
	}

	correct = !(n-m == 1 && data[minp] != min && data[maxp] != max);
	correct *= (data[minp] < min || data[maxp] > max);

	fprintf(stdout, correct ? "Correct" : "Incorrect");

	return 0;
}

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
	int n, m, min, max;
	fscanf(stdin, "%d %d %d %d\n", &n, &m, &min, &max);
	int data[m];
	int d;
	for (d=0; d<m; d++)
		scanf("%d", &data[d]);

	int correct = 1, i;
	int minp = 0, maxp = 0;

	for (i=0; i<m; i++) {
		if (data[i] < data[minp]) minp = i;
		if (data[i] > data[maxp]) maxp = i;
	}

	correct = !(n-m == 1 && data[minp] != min && data[maxp] != max);

	fprintf(stdout, correct ? "Correct" : "Incorrect");

	return 0;
}

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
	int n, m, min, max;
	scanf("%d %d %d %d\n", &n, &m, &min, &max);
	int data[m];
	int d;
	for (d=0; d<m; d++)
		scanf("%d", &data[d]);

	int correct = 1, i;
	int minp = 0, maxp = 0;

	for (i=0; i<m; i++) {
		if (data[i] < data[minp]) minp = i;
		if (data[i] > data[maxp]) maxp = i;
	}

	correct = !(n-m == 1 && data[minp] != min && data[maxp] != max);

	printf(correct ? "Correct\n" : "Incorrect\n");

	return 0;
}

#include<stdio.h>
int main()
{
    int n,m,min,max,i;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    int a[m];
    for(i=0;i<m;i++)
    scanf("%d",&a[i]);int c=0;
    for(i=0;i<m;i++)
    {
        if((a[i]==min)||(a[i]==max))
        c++;
    }
    if(c==(n-m))
    printf("Correct\n");
    else
    {
        if(c==0)
        {
            if((n-m)>=2)
            printf("Correct\n");
            else
            printf("Incorrect\n");
        }
    }
    return 0;
    }

#include<stdio.h>
int main()
{
    int n,m,min,max,i;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    int a[m];
    for(i=0;i<m;i++)
    {scanf("%d",&a[i]);}
    int c=0;int f=0;
    for(i=0;i<m;i++)
    {
     if((a[i]>max)||(a[i]<min))
   {
     printf("Incorrect\n");
     f=1;break;
   }
    }
    if(f==0)
    {
    for(i=0;i<m;i++)
    {
        if(min==max)
        {
            if(a[i]==min)
            {
                c++;f=1;
            }
        }
        else
        {
         if((a[i]==min))
         c++;
         if((a[i]==max))
         c++;
        }
    }
    }
    if((f==1)||(c==2))
    printf("Correct\n");
    else
    {
            if((n-m)>=(2-c))
            printf("Correct\n");
            else
            printf("Incorrect\n");
    }
    return 0;
    }

#include<stdio.h>
int main()
{
    int n,m,min,max,i;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    int a[m];
    for(i=0;i<m;i++)
    scanf("%d",&a[i]);int c=0;int f=0;
    for(i=0;i<m;i++)
    {
        if(min==max)
        {
            if(a[i]==min)
            {
                c++;f=1;
            }
        }
        else
        {
         if((a[i]==min))
         c++;
         if((a[i]==max))
         c++;
        }

    }
    if((f==1)||(c==2))
    printf("Correct\n");
    else
    {
            if((n-m)>=(2-c))
            printf("Correct\n");
            else
            printf("Incorrect\n");
    }
    return 0;
    }

#include<stdio.h>
#include<conio.h>
int main()
{
    int a[100000];
    int n,m,max,min,i,r,mink,maxk,x=0;
    scanf("%d%d%d%d",&n,&m,&min,&max);
    r=n-m;
    for(i=0;i<m;i++)
    scanf("%d",&a[i]);
    for(i=0;i<m;i++)
    {
                    if(a[i]==min)     mink++;
                    if(a[i]==max)     maxk++;
                    if(a[i]<min||a[i]>max)   x=1;
    }
    if(x=1)         printf("Incorrect");
    else if(x=0)
    {
    if(r==0)
    {
                    if(mink>0&&maxk>0)       printf("Correct");
                    else                     printf("Incorrect");
    }
    else if(r==1)
    {
                    if(mink>0||maxk>0)       printf("Correct");
                    else if(mink>0&&maxk>0)  printf("Coreect");
                    else                     printf("Incorrect");
    }
    else                                     printf("Correct");
    }

return 0;
}

#include<stdio.h>
#include<conio.h>
int main()
{
    int a[100000];
    int n,m,min,max,dem=0,i;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    for(i=0;i<m;i++)
    scanf("%d",&a[i]);
    for(i=0;i<m;i++)
    {
                    if(a[i]==min||a[i]==max)    dem++;
    }
    if(dem==0)       printf("Incorrect");
    else             printf("Correct");

return 0;
}

#include<stdio.h>
#include<conio.h>
int main()
{
    int a[101];
    int n,m,c,b,i,max,min;
    scanf("%d %d %d %d",&n,&m,&c,&b);
    for(i=0;i<m;++i)
    scanf("%d",&a[i]);
    min=a[0];
    max=a[0];
    for(i=0;i<m;i++)
    {
    if(a[i]<min)    min=a[i];
    if(a[i]>max)    max=a[i];
    }
    if(min==c||max==b)       printf("Correct");
    else
    printf("Incorrect");

return 0;
}

#include<stdio.h>
#include<conio.h>
int main()
{
    long n,dem,i,z;
    int a[20000];
    scanf("%ld",&n);
    dem=0;
    z=0;
    for (i=0;i<n;i++)
        {
                     scanf("%d",&a[i]);
                     if (a[i]!=-1) z=z+a[i];
                     if (a[i]==-1)
                        {

                                  if (z==0) dem++;
                                  else
                                  {
                                  z=z-1;
                                  if (z<0) z=0;
                                  }
                        }

        }
    printf("%ld",dem);

    return 0;
}

#include<stdio.h>
#include<conio.h>
int main()
{
    int a[100000];
    int n,m,min,max,dem=0,i,x;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    for(i=0;i<m;i++)
    scanf("%d",&a[i]);
    for(i=0;i<m;i++)
    {
                    if(a[i]==min||a[i]==max)    dem++;
                    if(a[i]<min||a[i]>max);     x=1;
    }
    if(x=1)         printf("Incorrect");
    else
    {
    if(n-(i)==0)
    {
    if(dem==0)                printf("Incorrect");
    else if(dem>0)            printf("Correct");
    }
    else if(n-(i)==1)
    {
    if(dem==0)                printf("Incorrect");
    else if(dem==1)           printf("Correct");
    else                      printf("Correct");
    }
    else if(n-(i)>=2)          printf("Correct");
    }

return 0;
}

#include<stdio.h>
#include<conio.h>
int main()
{
    int a[100000];
    int n,m,min,max,dem=0,i;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    for(i=0;i<m;i++)
    scanf("%d",&a[i]);
    for(i=0;i<m;i++)
    {
                    if(a[i]==min||a[i]==max)    dem++;
    }
    if(n-(i+1)==0)
    {
    if(dem==0)                printf("Incorrect");
    else if(dem>0)            printf("Correct");
    }
    else if(n-(i+1)==1)
    {
    if(dem==0)                printf("Incorrect");
    else if(dem==1)           printf("Correct");
    else                      printf("Correct");
    }
    else                      printf("Correct");

return 0;
}

#include<stdio.h>
#include<conio.h>
int main()
{
    int a[100000];
    int n,m,min,max,dem=0,i;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    for(i=0;i<m;i++)
    scanf("%d",&a[i]);
    for(i=0;i<m;i++)
    {
                    if(a[i]==min||a[i]==max)    dem++;
    }
    if(n-(i)==0)
    {
    if(dem==0)                printf("Incorrect");
    else if(dem>0)            printf("Correct");
    }
    else if(n-(i)==1)
    {
    if(dem==0)                printf("Incorrect");
    else if(dem==1)           printf("Correct");
    else                      printf("Correct");
    }
    else if(n-(i)>=2)          printf("Correct");

return 0;
}

#include<stdio.h>
#include<conio.h>
int main()
{
    int a[100000];
    int n,m,max,min,i,r,mink,maxk;
    scanf("%d%d%d%d",&n,&m,&min,&max);
    r=n-m;
    for(i=0;i<m;i++)
    scanf("%d",&a[i]);
    for(i=0;i<m;i++)
    {
                    if(a[i]==min)     mink++;
                    if(a[i]==max)     maxk++;
    }
    if(r==0)
    {
                    if(mink>0&&maxk>0)       printf("Correct");
                    else                     printf("Incorrect");
    }
    else if(r==1)
    {
                    if(mink>0||maxk>0)       printf("Correct");
                    else if(mink>0&&maxk>0)  printf("Coreect");
                    else                     printf("Incorrect");
    }
    else                                     printf("Correct");

return 0;
}

#include<stdio.h>
#include<conio.h>
int main()
{
    int a[100000];
    int n,m,min,max,dem=0,i;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    for(i=0;i<m;i++)
    scanf("%d",&a[i]);
    for(i=0;i<m;i++)
    {
                    if(a[i]==min||a[i]==max)    dem++;
    }
    if(n-(i+1)==0)
    {
    if(dem==0)                printf("Incorrect");
    else if(dem>0)            printf("Correct");
    }
    else if(n-(i+1)==1)
    {
    if(dem==0)                printf("Incorrect");
    else if(dem==1)           printf("Correct");
    else                      printf("Correct");
    }
    else                      printf("Incorrect");

return 0;
}

#include <stdio.h>

int main(void) {
    // your code goes here
    int n,m,min,max,a[101],i,b,c,d,e;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    b=200;
    c=0;
    d=0;
    e=0;
    for(i=0;i<m;i++)
    {
        scanf("%d",&a[i]);
        if(b<=a[i])
        {
            b=a[i];
        }
        if(c>=a[i])
        {
            c=a[i];
        }
        if(a[i]==min)
        {
            d=1;
        }
        if(a[i]==max)
        {
            e=1;
        }
    }
    if(b<min||c>max)
    {
        printf("Incorrect");
    }
    else if(n-m<2&&(d!=1&&e!=1))
    {
        printf("Incorrect");
    }
    else if(n-m==0&&(d!=1||e!=1))
    {
        printf("Incorrect");
    }
    else if((n-m==1&&(d!=1&&e!=0))||(n-m==1&&(d!=0&&e!=1)))
    {
        printf("Correct");
    }
    else
    {
        printf("Correct");
    }
    return 0;
}

#include<stdio.h>

int main()
{
    int count=0,i,k,n,m,min,max,mindone=0,maxdone=0;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    for(i=0;i<m;i++)
    {
        scanf("%d",&k);
        if(k==min && mindone==0)
        {
            mindone=1;
        }
        else if(k==max && maxdone==0)
        {
            maxdone=1;
        }
    }
    if(mindone==0 && maxdone==0)
    {
        count=2;
    }
    else if(mindone==0 || maxdone==0)
    {
        count=1;
    }
    else
    {
        count=0;
    }
    if(count<=(n-m))
    {
        printf("Correct\n");
    }
    else
    {
        printf("Incorrect\n");
    }
    return 0;
}

#include <stdio.h>

int main()
{
	int n,m,min,max;
	scanf("%d %d %d %d",&n,&m,&min,&max);
	int ar[m],a,mink=0,maxk=0;
	for(a=0;a<m;a++)
	{
		scanf("%d",&ar[a]);
		if(ar[a] <= min) mink = 1;
		if(ar[a] >= max) maxk = 1;
	}
	if(mink==0 && maxk==0 && n-m < 2) printf("Incorrect\n");
	else if( (mink==0 || maxk==0) && n-m < 1) printf("Incorrect\n");
	else printf("Correct\n");
	return 0;
}

#include <stdio.h>

int main()
{
	int n,m,min,max;
	scanf("%d %d %d %d",&n,&m,&min,&max);
	int ar[m],a,mink=0,maxk=0;
	for(a=0;a<m;a++)
	{
		scanf("%d",&ar[a]);
		if(ar[a] == min) mink = 1;
		if(ar[a] == max) maxk = 1;
	}
	if(!mink && !maxk && n-m < 2) printf("Incorrect\n");
	else if( (!mink || !maxk) && n-m < 1) printf("Incorrect\n");
	else printf("Correct\n");
	return 0;
}

#include<stdio.h>
int main()
{
int n,m,min,max;
scanf("%d%d%d%d",&n,&m,&min,&max);
int a[n];
a[0]=min;
a[1]=max;
int i=2;int t;
int count=0;

for(;i<m+2;i++)
{
    scanf("%d",&t);
    if(i>=n && (t!=min && t!=max))
{printf("Incorrect");
return 0;}
else{

if(t>=min || t<=max)
{if(t==min || t==max)
   {
   count++;
       if(count>n)
      {

       printf("Incorrect");
       return 0;}
    }
    a[i]=t;
}
else
{printf("Incorrect");
return 0;}}}
if(i-count<=n)
{
    printf("Correct");
}
return 0;}

#include<stdio.h>
int main()
{
int n,m,min,max;
scanf("%d%d%d%d",&n,&m,&min,&max);
int a[n];
a[0]=min;
a[1]=max;
int i=2;int t;
int count=0;

for(;i<m+2;i++)
{
    scanf("%d",&t);
    if(i>=n && (t!=min && t!=max))
{printf("Incorrect");
return 0;}
else{

if(t>=min || t<=max)
{if(t==min || t==max)
   {
   count++;
       if(count>n)
      {

       printf("Incorrect");
       return 0;}
    }
    a[i]=t;
}
else
{printf("Incorrect");
printf("i am here else wrong");
return 0;}}}
if(i-count<=n)
{
    printf("Correct");
}
return 0;}

#include<stdio.h>
int main()
{
int n,m,min,max;
scanf("%d%d%d%d",&n,&m,&min,&max);
int a[n];
a[0]=min;
a[1]=max;
int i=2;int t;
int count=0;

for(;i<m+2;i++)
{
    scanf("%d",&t);
    if(i>=n && (t!=min && t!=max))
{printf("Incorrect");
return 0;}
else{

if(t>=min || t<=max)
{if(t==min || t==max)
   {
   count++;
       if(count>n)
      {

       printf("Incorrect");
       return 0;}
    }
    a[i]=t;
}
else
{printf("Incorrect");
printf("i am here else wrong");
return 0;}}}
if(i-count<=n)
{
    printf("correct");
}
return 0;}

#include<stdio.h>
int main()
{
	int n,i,m,min,max,min_temp,max_temp;
	int temp[100];
	scanf("%d%d%d%d",&n,&m,&min,&max);
	min_temp=101;
	max_temp=0;
	for(i=0;i<m;i++)
	{
		scanf("%d",&temp[i]);
		if(min_temp>temp[i])
			min_temp=temp[i];
		if(max_temp<temp[i])
			max_temp=temp[i];
	}
	if(n-m>1)
		printf("Correct\n");
	else
	{
		if(min_temp==min||max_temp==max)
			printf("Correct\n");
		else
			printf("Incorrect\n");
	}
	return 0;
}

#include<stdio.h>
int main()
{
	int n,i,m,min,max,min_temp,max_temp;
	int temp[100];
	scanf("%d%d%d%d",&n,&m,&min,&max);
	min_temp=101;
	max_temp=0;
	for(i=0;i<m;i++)
	{
		scanf("%d",&temp[i]);
		if(min_temp>temp[i])
			min_temp=temp[i];
		if(max_temp<temp[i])
			max_temp=temp[i];
	}
	if(n-m>1)
	{
		if(min<=min_temp && max>=max_temp)
			printf("Correct\n");
		else
			printf("Incorrect\n");
	}
	else
	{
		if(min_temp==min && max_temp==max)
			printf("Correct\n");
		else
			printf("Incorrect\n");
	}
	return 0;
}

#include <stdio.h>

int main()
{
	int n,m,a,b,i,g=0,h=0;
	scanf("%d %d %d %d",&n,&m,&a,&b);
	int ara[1000];
	for (i=0;i<m;i++){
		scanf("%d",&ara[i]);
	}
	for (i=0;i<m;i++){
		if (ara[i]==a){
			g=1;
		}
		else if (ara[i]==b){
			h=1;
		}
		 if (h==1 && g==1){
		 	printf("Correct");
		 	return 0;
		 }
	}
	if (h==0 && g==0){
		if (n-m<2){
			printf("Incorrect");
		}
		else{
			printf("Correct");
		}
	}
	else if (h==1 && g==0){
		if (n-m<1){
			printf("Incorrect");
		}
		else{
			printf("Correct");
		}
	}
	if (h==0 && g==1){
		if (n-m<1){
			printf("Incorrect");
		}
		else{
			printf("Correct");
		}
	}
	return 0;
}

#include<stdio.h>
int main()
{
    int n,m,max,min, var, temp,i;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    var= n-m;
    //printf("%d\n",var);
    for(i=0;i<m;i++)
    {
       scanf("%d",&temp);
       if(temp < min || temp > max)
          printf("Incorrect\n");

       else if(var < 2 && (temp == min || temp == max) )
           printf("Correct\n");
       else if(var < 2 && (temp != min || temp != max) )
           printf("Incorrect\n");
       else if( var >= 2 && temp>=min && temp <=max)
           printf("Correct\n");

    }
    //getch();
}

#include<stdio.h>
int main()
{
    int n,m,max,min, var, temp,i,flag=0;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    var= n-m;
    //printf("%d\n",var);
    for(i=0;i<m;i++)
    {
       scanf("%d",&temp);
       if( flag==1)
          continue;

       else
       {
           if(temp< min || temp>max)
           {
                        flag = 1;
                        //printf("1");
           }
           else if( var<2 && var>0 && (temp!= min && temp!= max) )
           {
                flag = 1;
                //printf("2");
           }
           else if( var <2 && (temp == min || temp ==max) )
           {
                    flag = 0;
                    //printf("3");
           }
           else
            {
                    flag = 0;
                    //printf("4");
           }
       }
      /* if(flag ==1)
          continue;
       else{
          if(temp < min || temp > max)
          {//printf("Incorrect\n");
             flag=1;
             //printf("1");
          }
      /* else if(var < 2 && (temp == min || temp == max) )
          { //printf("Correct\n");
           flag=0;
           printf("2");
           }
       else if((m==1|| m==2) && (temp != min || temp != max) )
          { //printf("Incorrect\n");
           flag=1;
           //printf("3");
           }
       else if( var >= 2 && temp>=min && temp <=max)
           {//printf("Correct\n");
            flag=0;
            //printf("4");
            }*/
       //}
    }
    if(flag==1)
       printf("Incorrect\n");
    else
       printf("Correct\n");

   return 0;
    //getch();
}

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n,m,max,min, var, temp,i;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    var= n-m;
    //printf("%d\n",var);
    for(i=0;i<m;i++)
    {
       scanf("%d",&temp);
       if(temp < min || temp > max)
          printf("Incorrect\n");

       else if(var < 2 && (temp == min || temp == max) )
           printf("Correct\n");
       else if(var < 2 && (temp != min || temp != max) )
           printf("Incorrect\n");
       else if( var >= 2 && temp>=min && temp <=max)
           printf("Correct\n");

    }
    //getch();
}

#include<stdio.h>
int main()
{
    int n,m,max,min, var, temp,i,flag=0;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    var= n-m;
    //printf("%d\n",var);
    for(i=0;i<m;i++)
    {
       scanf("%d",&temp);
       if(flag ==1)
          continue;
       else{
          if(temp < min || temp > max)
          {//printf("Incorrect\n");
             flag=1;
             //printf("1");
          }
      /* else if(var < 2 && (temp == min || temp == max) )
          { //printf("Correct\n");
           flag=0;
           printf("2");
           }
       else if(var < 2 && (temp != min || temp != max) )
          { //printf("Incorrect\n");
           flag=1;
           printf("3");
           }*/
       else if( var >= 2 && temp>=min && temp <=max)
           {//printf("Correct\n");
            flag=0;
            //printf("4");
            }
       }
    }
    if(flag==1)
       printf("Incorrect\n");
    else
       printf("Correct\n");
    //getch();
    return 0;
}

#include<stdio.h>
int main()
{
    int n,m,max,min, var, temp,i;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    var= n-m;
    //printf("%d\n",var);
    for(i=0;i<m;i++)
    {
       scanf("%d",&temp);
       if(temp < min || temp > max)
          printf("Incorrect\n");

       else if(var < 2 && (temp == min || temp == max) )
           printf("Correct\n");
       else if(var < 2 && (temp != min || temp != max) )
           printf("Incorrect\n");
       else if( var >= 2 && temp>=min && temp <=max)
           printf("Correct\n");

    }
 return 0;
   // getch();
}

#include<stdio.h>
int main()
{
    int n,m,max,min, var, temp,i,flag=0;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    var= n-m;
    //printf("%d\n",var);
    for(i=0;i<m;i++)
    {
       scanf("%d",&temp);
       if(flag ==1)
          continue;
       else{
       if(temp < min || temp > max)
          //printf("Incorrect\n");
          flag=1;
       else if(var < 2 && (temp == min || temp == max) )
           //printf("Correct\n");
           flag=0;
       else if(var < 2 && (temp != min || temp != max) )
           //printf("Incorrect\n");
           flag=1;
       else if( var >= 2 && temp>=min && temp <=max)
           //printf("Correct\n");
           flag=0;
       }
    }
    if(flag==1)
       printf("Incorrect\n");
    else
       printf("Correct\n");
    //getch();
    return 0;
}

#include<stdio.h>
int main()
{
    int n,m,max,min, var, temp,i,flag=0;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    var= n-m;
    //printf("%d\n",var);
    for(i=0;i<m;i++)
    {
       scanf("%d",&temp);
       if(flag ==1)
          continue;
       else{
          if(temp < min || temp > max)
          {//printf("Incorrect\n");
             flag=1;
             //printf("1");
          }
      /* else if(var < 2 && (temp == min || temp == max) )
          { //printf("Correct\n");
           flag=0;
           printf("2");
           }*/
       else if((m==1|| m==2) && (temp != min || temp != max) )
          { //printf("Incorrect\n");
           flag=1;
           //printf("3");
           }
       else if( var >= 2 && temp>=min && temp <=max)
           {//printf("Correct\n");
            flag=0;
            //printf("4");
            }
       }
    }
    if(flag==1)
       printf("Incorrect\n");
    else
       printf("Correct\n");

   return 0;
   // getch();
}

#include<stdio.h>
int main()
{
    int n,m,min,max,a[200],flag,i,flagmin=0,flagmax=0,flagminch=0,flagmaxch=0;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    flag=2;
    for(i=0;i<m;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]==min&&flagminch==0)
        {
            flag--;
            flagminch=1;
        }
        else if(a[i]==max&flagmaxch==0)
        {
            flag--;
            flagmaxch=1;
        }
        else if(a[i]<min&&flagmin==0)
        {
            flag++;
            flagmin=1;
        }
        else if(a[i]>max&&flagmax==0)
        {
            flag++;
            flagmax=1;
        }
    }
    if(flag<0)
    flag=0;
    if(flag>2)
    flag=2;
    if(flag==0||(n-m)>=flag)
    printf("Correct");
    else
    printf("Incorrect");
    return 0;
}

#include<stdio.h>
int main()
{
    int n,m,min,max,a[200],flag,i;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    flag=2;
    for(i=0;i<m;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]==min)
        flag--;
        if(a[i]==max)
        flag--;
    }
    if(flag<0)
    flag=0;
    if(flag==0||(n-m)>flag)
    printf("Correct");
    else
    printf("Incorrect");
    return 0;
}

#include<stdio.h>
int main()
{
    int n,m,min,max,a[200],flag,i;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    flag=2;
    for(i=0;i<m;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]==min)
        flag--;
        if(a[i]==max)
        flag--;
    }
    if((n-m)<flag)
    printf("Incorrect");
    else
    printf("Correct");
    return 0;
}

#include<stdio.h>
int main()
{
    int n,m,min,max,a[200],flag,i;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    flag=2;
    for(i=0;i<m;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]==min)
        flag--;
        if(a[i]==max)
        flag--;
    }
    if(flag<0)
    flag=0;
    if(flag==0||(n-m)>=flag)
    printf("Correct");
    else
    printf("Incorrect");
    return 0;
}

#include<stdio.h>
int main()
{
    int n,m,min,max,a[200],flag,i,flagmin=0,flagmax=0;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    flag=2;
    for(i=0;i<m;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]==min)
        flag--;
        else if(a[i]==max)
        flag--;
        else if(a[i]<min&&flagmin==0)
        {
            flag++;
            flagmin=1;
        }
        else if(a[i]>max&&flagmax==0)
        {
            flag++;
            flagmax=1;
        }
    }
    if(flag<0)
    flag=0;
    if(flag>2)
    flag=2;
    if(flag==0||(n-m)>=flag)
    printf("Correct");
    else
    printf("Incorrect");
    return 0;
}

#include<stdio.h>
int main()
{
    int n,m,min,max,a[200],flag,i;
    scanf("%d %d %d %d",&n,&m,&min,&max);
    flag=2;
    for(i=0;i<m;i++)
    {
        scanf("%d",&a[i]);
        if(a[i]==min)
        flag--;
        if(a[i]==max)
        flag--;
    }
    if(flag<0)
    flag=0;
    if((n-m)<flag)
    printf("Incorrect");
    else
    printf("Correct");
    return 0;
}

#include<stdio.h>
int main()
{
int n,m,min,max,t[110],temp,i,count=0,flag1=0,flag2=0,flag=0;
scanf("%d %d %d %d",&n,&m,&min,&max);
temp=n-m;
for(i=0;i<m;i++)
scanf("%d",&t[i]);
for(i=0;i<m;i++)
{
    if(t[i]>max||t[i]<min)
    {
        break;
        flag=1;
    }
   if(t[i]==min||t[i]==max)
   {
       if(t[i]==min&&flag1==0)
       {
        count++;
        flag1=1;
       }
       if(t[i]==max&&flag2==0)
       {
           count++;
           flag2=1;
       }
   }
}
if(flag==1)
printf("Incorrect");
else
{
if(temp>2-count)
    printf("Correct");
else
    printf("Incorrect");
}
return 0;
}

#include<stdio.h>
int main()
{
int n,m,min,max,t[110],temp,i,count=0,flag1=0,flag2=0,flag=0;
scanf("%d %d %d %d",&n,&m,&min,&max);
temp=n-m;
for(i=0;i<m;i++)
scanf("%d",&t[i]);
for(i=0;i<m;i++)
{
    if(t[i]>max||t[i]<min)
    {
        flag=1;
        break;

    }
   if(t[i]==min||t[i]==max)
   {
       if(t[i]==min&&flag1==0)
       {
        count++;
        flag1=1;
       }
       if(t[i]==max&&flag2==0)
       {
           count++;
           flag2=1;
       }
   }
}
if(flag==1)
printf("Incorrect");
else
{
if(temp>2-count)
    printf("Correct");
else
    printf("Incorrect");
}
return 0;
}

#include<stdio.h>
int main()
{
int n,m,min,max,t[110],temp,i,count=0,flag1=0,flag2=0;
scanf("%d %d %d %d",&n,&m,&min,&max);
temp=n-m;
for(i=0;i<m;i++)
scanf("%d",&t[i]);
for(i=0;i<m;i++)
{
   if(t[i]==min||t[i]==max)
   {
       if(t[i]==min&&flag1==0)
       {
        count++;
        flag1=1;
       }
       if(t[i]==max&&flag2==0)
       {
           count++;
           flag2=1;
       }
   }
}
if(temp>=2-count)
    printf("Correct");
else
    printf("Incorrect");
return 0;
}

#include<stdio.h>
int main()
{
int n,m,min,max,t[110],temp,i,count=0,flag1=0,flag2=0;
scanf("%d %d %d %d",&n,&m,&min,&max);
temp=n-m;
for(i=0;i<m;i++)
scanf("%d",&t[i]);
for(i=0;i<m;i++)
{
   if(t[i]==min||t[i]==max)
   {
       if(t[i]==min)
        flag1=1;
       else
        flag2==1;
   }
    else
    {
        if(flag1==0)
            flag1=1;
        else
        {
            if(flag2==0)
            flag2=1;
        }
        count++;
    }
    if(count==temp)
    {
        break;
    }
}
if(flag1==1&&flag2==1)
    printf("Correct");
    else if(count<temp)
        printf("Correct");
else
    printf("Incorrect");
return 0;
}

#include<stdio.h>
int main()
{
int n,m,min,max,t[110],temp,i,count=0,flag1=0,flag2=0,flag=0;
scanf("%d %d %d %d",&n,&m,&min,&max);
temp=n-m;
for(i=0;i<m;i++)
scanf("%d",&t[i]);
for(i=0;i<m;i++)
{
    if(t[i]>max||t[i]<min)
    {
        break;
        flag=1;
    }
   if(t[i]==min||t[i]==max)
   {
       if(t[i]==min&&flag1==0)
       {
        count++;
        flag1=1;
       }
       if(t[i]==max&&flag2==0)
       {
           count++;
           flag2=1;
       }
   }
}
if(flag==1)
printf("Incorrect");
else
{
if(temp>=2-count)
    printf("Correct");
else
    printf("Incorrect");
}
return 0;
}

#include <stdio.h>

#define N 100

int main() {
	static int tt[N];
	int n, m, min, max, i, fmin, fmax, cnt;

	scanf("%d%d%d%d", &n, &m, &min, &max);
	for (i = 0; i < m; i++)
		scanf("%d", &tt[i]);
	fmin = fmax = 0;
	cnt = 2;
	for (i = 0; i < m; i++)
		if (!fmin && tt[i] == min)
			fmin = 1, cnt--;
		else if (!fmax && tt[i] == max)
			fmax = 1, cnt--;
	printf(cnt <= n - m ? "Correct\n" : "Incorrect\n");
	return 0;
}

#include <stdio.h>

int main()
{
    int n, m, min, max;
    int t[100];
    scanf("%d %d %d %d", &n, &m, &min, &max);
    char haveMin = 0;
    char haveMax = 0;
    for(int i = 0; i < m; ++i) {
        scanf("%d", &t[i]);
        if(t[i] == min) {
            haveMin = 1;
        }
        if(t[i] == max) {
            haveMax = 1;
        }
    }
    if(!haveMin) {
        ++m;
    }
    if(!haveMax) {
        ++m;
    }
    puts(m <= n ? "Correct" : "Incorrect");
    return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main() {
    int n;
    int m = 0;
    int min = 0;
    int max = 0;
    int testMin = 101;
    int testMax = 0;
    scanf("%d %d %d %d",&n, &m, &min, & max);
    int toBeAdded = n - m;
    int minToBeAdded = 2;
    int *doorSeq = malloc(m * sizeof(int));
    for(int i = 0; i < m; i++){
        int input;
        scanf("%d", &input);
        if(input > testMax)  testMax = input;
        if(input < testMin) testMin = input;
    }
    if(testMax == max) minToBeAdded --;
    if(testMin == min) minToBeAdded --;
    if(minToBeAdded > toBeAdded) printf("Incorrect");
    else{
        if(minToBeAdded == 1 && testMax <= max){
            printf("Correct");
        }else if(minToBeAdded == 1 && testMin >= min){
            printf("Correct");
        }else if(minToBeAdded == 2 && testMax <= max && testMin >= min){
            printf("Correct");
        }else if(minToBeAdded == 0 || minToBeAdded == 1){
            printf("Correct");
        }else{
            printf("Incorrect");
        }
    }
}

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main() {
    int n;
    int m = 0;
    int min = 0;
    int max = 0;
    int testMin = 101;
    int testMax = 0;
    scanf("%d %d %d %d",&n, &m, &min, & max);
    int toBeAdded = n - m;
    int minToBeAdded = 2;
    int *doorSeq = malloc(m * sizeof(int));
    for(int i = 0; i < m; i++){
        int input;
        scanf("%d", &input);
        if(input > testMax)  testMax = input;
        if(input < testMin) testMin = input;
    }
    if(testMax == max) minToBeAdded --;
    if(testMin == min) minToBeAdded --;
    if(minToBeAdded > toBeAdded) printf("Incorrect");
    else{
        if(minToBeAdded == 1 && testMax >= max){
            printf("Incorrect");
        }else if(minToBeAdded == 1 && testMin <= min){
            printf("Incorrect");
        }else if(minToBeAdded == 2 && testMax >= max && testMin <= min){
            printf("Incorrect");
        }else if(minToBeAdded == 0 || minToBeAdded == 1){
            printf("Correct");
        }else{
            printf("Incorrect");
        }
    }
}

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main() {
    int n;
    int m = 0;
    int min = 0;
    int max = 0;
    int testMin = 101;
    int testMax = 0;
    scanf("%d %d %d %d",&n, &m, &min, & max);
    int toBeAdded = n - m;
    int minToBeAdded = 2;
    int *doorSeq = malloc(m * sizeof(int));
    for(int i = 0; i < m; i++){
        int input;
        scanf("%d", &input);
        if(input > testMax)  testMax = input;
        if(input < testMin) testMin = input;
    }
    if(testMax == max) minToBeAdded --;
    if(testMin == min) minToBeAdded --;
    if(minToBeAdded > toBeAdded) printf("Incorrect");
    else{
        if(minToBeAdded == 1 && testMax < max){
            printf("Correct");
        }else if(minToBeAdded == 1 && testMin > min){
            printf("Correct");
        }else if(minToBeAdded == 2 && testMax < max && testMin > min){
            printf("Correct");
        }else{
            printf("Incorrect");
        }
    }
}

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main() {
    int n;
    int m = 0;
    int min = 0;
    int max = 0;
    int testMin = 0;
    int testMax = 0;
    scanf("%d %d %d %d",&n, &m, &min, & max);
    int toBeAdded = n - m;
    int minToBeAdded = 2;
    int *doorSeq = malloc(m * sizeof(int));
    for(int i = 0; i < m; i++){
        int input;
        scanf("%d", &input);
        if(input == min) minToBeAdded --;
        if(input == max) minToBeAdded --;
    }
    if(minToBeAdded <= toBeAdded) printf("Correct");
    else printf("Incorrect");
}

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main() {
    int n;
    int m = 0;
    int min = 0;
    int max = 0;
    int testMin = 101;
    int testMax = 0;
    scanf("%d %d %d %d",&n, &m, &min, & max);
    int toBeAdded = n - m;
    int minToBeAdded = 2;
    int *doorSeq = malloc(m * sizeof(int));
    for(int i = 0; i < m; i++){
        int input;
        scanf("%d", &input);
        if(input > testMax)  testMax = input;
        if(input < testMin) testMin = input;
    }
    if(testMax == max) minToBeAdded --;
    if(testMin == min) minToBeAdded --;
    if(minToBeAdded > toBeAdded) printf("Incorrect");
    else{
        if(minToBeAdded == 1 && testMax <= max){
            printf("Correct");
        }else if(minToBeAdded == 1 && testMin >= min){
            printf("Correct");
        }else if(minToBeAdded == 2 && testMax <= max && testMin >= min){
            printf("Correct");
        }else{
            printf("Incorrect");
        }
    }
}

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main() {
    int n;
    int m = 0;
    int min = 0;
    int max = 0;
    int testMin = 101;
    int testMax = 0;
    scanf("%d %d %d %d",&n, &m, &min, & max);
    int toBeAdded = n - m;
    int minToBeAdded = 2;
    int *doorSeq = malloc(m * sizeof(int));
    for(int i = 0; i < m; i++){
        int input;
        scanf("%d", &input);
        if(input > testMax)  testMax = input;
        if(input < testMin) testMin = input;
    }
    if(testMax == max) minToBeAdded --;
    if(testMin == min) minToBeAdded --;
    if(minToBeAdded > toBeAdded) printf("Incorrect");
    else{
        if(minToBeAdded == 1 && testMax <= max && min == testMin){
            printf("Correct");
        }else if(minToBeAdded == 1 && testMin >= min && max == testMax){
            printf("Correct");
        }else if(minToBeAdded == 2 && testMax <= max && testMin >= min){
            printf("Correct");
        }else if(minToBeAdded == 0 || minToBeAdded == 1){
            printf("Correct");
        }else{
            printf("Incorrect");
        }
    }
}

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#define N 110
int a[N];
int main(){
   int n,m,min,max;
   while(~scanf("%d%d%d%d",&n,&m,&min,&max)){
   	  int i=0,min1=101,max1=-1;
   	  for(i;i<m;i++){
   		scanf("%d",&a[i]);
   		if(a[i]<min1)
   		min1=a[i];
   		if(a[i]>max1)
   		max1=a[i];
	   }
	   int t=-1;
	   int x=n-m;
	   if(x>=2)
	   printf("Correct\n");
	   else if(x==0)
	   {
	   	for(i=0;i<m;i++){
	   		if(a[i]==max)
	   		t++;
	   		if(a[i]==min)
	   		t++;
	   		if(t==1){
	   				printf("Correct\n");break;
			   }

	   	}
	   	if(t!=1)
	   	printf("Incorrect\n");
	   }
	   else if(x==1){
	   	for(i=0;i<m;i++){
	   		if(a[i]==max){

	   			if(min<=min1){
	   				t++;printf("Correct\n");break;
				   }

			   }

	   		else if(a[i]==min){

	   			if(max>=max1){
	   				t++;	printf("Correct\n");break;
				   }

			   }

	   }
	   if(t==-1)
	   	printf("Incorrect\n");
   }

}
}

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#define N 110
int a[N];
int main(){
   int n,m,min,max;
   while(~scanf("%d%d%d%d",&n,&m,&min,&max)){
   	  int i=0,min1=101,max1=-1;
   	  for(i;i<m;i++){
   		scanf("%d",&a[i]);
   		if(a[i]<min1)
   		min1=a[i];
   		if(a[i]>max1)
   		max1=a[i];
	   }
	   int t=-1;
	   int x=n-m;
	   if(x>=2)
	   printf("Correct\n");
	   else if(max1>max||min1<min)
	   printf("Incorrect\n");
	   else if(x==0)
	   {
	   	for(i=0;i<m;i++){
	   		if(a[i]==max)
	   		t++;
	   		if(a[i]==min)
	   		t++;
	   		if(t==1){
	   				printf("Correct\n");break;
			   }

	   	}
	   	if(t!=1)
	   	printf("Incorrect\n");
	   }
	   else if(x==1){
	   	for(i=0;i<m;i++){
	   		if(a[i]==max){

	   			if(min<=min1){
	   				t++;printf("Correct\n");break;
				   }

			   }

	   		else if(a[i]==min){

	   			if(max>=max1){
	   				t++;	printf("Correct\n");break;
				   }

			   }

	   }
	   if(t==-1)
	   	printf("Incorrect\n");
   }

}
}

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#define N 110
int a[N];
int main(){
   int n,m,min,max;
   while(~scanf("%d%d%d%d",&n,&m,&min,&max)){
   	  int i=0;
   	  for(i;i<m;i++){
   		scanf("%d",&a[i]);
	   }
	   int t=-1;
	   int x=n-m;
	   if(x>=2)
	   printf("Correct\n");
	   else if(x==0)
	   {
	   	for(i=0;i<m;i++){
	   		if(a[i]==max)
	   		t++;
	   		if(a[i]==min)
	   		t++;
	   		if(t==1)
	   		printf("Correct\n");
	   	}
	   	if(t!=1)
	   	printf("Incorrect\n");
	   }
	   else if(x==1){
	   	for(i=0;i<m;i++){
	   		if(a[i]==max)
	   		t++;
	   		if(a[i]==min)
	   		t++;

		   if(t>-1){
		   	printf("Correct\n");
		   	break;
		   }

	   }
	   if(t==-1)
	   	printf("Incorrect\n");
   }

}
}

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#define N 110
int a[N];
int main(){
   int n,m,min,max;
   while(~scanf("%d%d%d%d",&n,&m,&min,&max)){
   	  int i=0,min1=101,max1=-1;
   	  for(i;i<m;i++){
   		scanf("%d",&a[i]);
   		if(a[i]<min1)
   		min1=a[i];
   		if(a[i]>max1)
   		max1=a[i];
	   }
	   printf("%d\n%d\n",min1,max1);
	   int t=-1;
	   int x=n-m;
	   if(max1>max||min1<min)
	   printf("Incorrect\n");
	   else if(x>=2)
	   printf("Correct\n");

	   else if(x==0)
	   {
	   	for(i=0;i<m;i++){
	   		if(a[i]==max)
	   		t++;
	   		if(a[i]==min)
	   		t++;
	   		if(t==1){
	   				printf("Correct\n");break;
			   }

	   	}
	   	if(t!=1)
	   	printf("Incorrect\n");
	   }
	   else if(x==1){
	   	for(i=0;i<m;i++){
	   		if(a[i]==max){

	   			if(min<=min1){
	   				t++;printf("Correct\n");break;
				   }

			   }

	   		else if(a[i]==min){

	   			if(max>=max1){
	   				t++;	printf("Correct\n");break;
				   }

			   }

	   }
	   if(t==-1)
	   	printf("Incorrect\n");
   }

}
}

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#define N 110
int a[N];
int main(){
   int n,m,min,max;
   while(~scanf("%d%d%d%d",&n,&m,&min,&max)){
   	  int i=0,min1=101,max1=-1;
   	  for(i;i<m;i++){
   		scanf("%d",&a[i]);
   		if(a[i]<min1)
   		min1=a[i];
   		if(a[i]>max1)
   		max1=a[i];
	   }
	   int t=-1;
	   int x=n-m;
	   if(x>=2||max1>max||min1<min)
	   printf("Correct\n");
	   else if(x==0)
	   {
	   	for(i=0;i<m;i++){
	   		if(a[i]==max)
	   		t++;
	   		if(a[i]==min)
	   		t++;
	   		if(t==1){
	   				printf("Correct\n");break;
			   }

	   	}
	   	if(t!=1)
	   	printf("Incorrect\n");
	   }
	   else if(x==1){
	   	for(i=0;i<m;i++){
	   		if(a[i]==max){

	   			if(min<=min1){
	   				t++;printf("Correct\n");break;
				   }

			   }

	   		else if(a[i]==min){

	   			if(max>=max1){
	   				t++;	printf("Correct\n");break;
				   }

			   }

	   }
	   if(t==-1)
	   	printf("Incorrect\n");
   }

}
}