#include <bits/stdc++.h>
using namespace std;
bool Check(int N, int pos) { return (bool)(N & (1 << pos)); }
int Set(int N, int pos) { return (N | (1 << pos)); }
int fx[] = {-1, 0, 1, 0};
int fy[] = {0, 1, 0, -1};
inline long long BigMod(long long B, long long P, long long M) {
  long long R = 1;
  while (P > 0) {
    if (P % 2 == 1) {
      R = (R * B) % M;
    }
    P /= 2;
    B = (B * B) % M;
  }
  return R;
}
int main() {
  int n, m, MAX, MIN;
  cin >> n >> m >> MIN >> MAX;
  int g1 = 0;
  int g2 = 0;
  for (int i = 0; i < m; i++) {
    int c;
    cin >> c;
    if (c > MAX or c < MIN) {
      cout << "Incorrect";
      return 0;
    }
    if (c == MAX) g1 = 1;
    if (c == MIN) g2 = 1;
  }
  int least = (1 - g1) + (1 - g2);
  int left = n - m;
  if (left < least) {
    cout << "Incorrect";
    return 0;
  }
  cout << "Correct";
}
