#include <bits/stdc++.h>
using namespace std;
int n, m, min1, max1;
int a;
int readInt() {
  bool minus = false;
  int result = 0;
  char ch;
  ch = getchar();
  while (true) {
    if (ch == '-') break;
    if (ch >= '0' && ch <= '9') break;
    ch = getchar();
  }
  if (ch == '-')
    minus = true;
  else
    result = ch - '0';
  while (true) {
    ch = getchar();
    if (ch < '0' || ch > '9') break;
    result = result * 10 + (ch - '0');
  }
  if (minus)
    return -result;
  else
    return result;
}
int main() {
  n = readInt();
  m = readInt();
  min1 = readInt();
  max1 = readInt();
  vector<int> temp;
  for (int i = 0; i < m; i++) {
    a = readInt();
    temp.push_back(a);
  }
  bool check = true;
  bool ismin = false;
  bool ismax = false;
  for (int i = 0; i < temp.size(); i++) {
    if (temp[i] > max1 || temp[i] < min1) check = false;
    if (temp[i] == max1) ismax = true;
    if (temp[i] == min1) ismin = true;
  }
  if (!check)
    cout << "Incorrect" << endl;
  else {
    if (ismax && ismin)
      cout << "Correct" << endl;
    else if (ismax || ismin) {
      if (n > m)
        cout << "Correct" << endl;
      else
        cout << "Incorrect" << endl;
    } else {
      if (n > m + 1)
        cout << "Correct" << endl;
      else
        cout << "Incorrect" << endl;
    }
  }
  return 0;
}
