#include <bits/stdc++.h>
using namespace std;
long long pw(long long b, long long p) {
  if (!p) return 1;
  long long sq = pw(b, p / 2);
  sq *= sq;
  if (p % 2) sq *= b;
  return sq;
}
long long gcd(long long a, long long b) { return (b == 0 ? a : gcd(b, a % b)); }
long long sd(long long x) { return x < 10 ? x : x % 10 + sd(x / 10); }
long long lcm(long long a, long long b) { return ((a * b) / gcd(a, b)); }
vector<long long> get_divisors(long long n) {
  vector<long long> arr;
  long long i = 1;
  for (i; i * i <= n; i++) {
    if (n % i == 0) arr.push_back(i), arr.push_back(n / i);
  }
  return arr;
}
int dx[4] = {0, 1, 0, -1};
int dy[4] = {1, 0, -1, 0};
int main() {
  int n, m, mn, mx, a, arr[101] = {0};
  cin >> n >> m >> mn >> mx;
  bool b = 1;
  for (int i = 0; i < m; i++) {
    cin >> a;
    arr[a]++;
    if (a < mn || a > mx || (n == 2 && a != mn && a != mx)) b = 0;
  }
  if (arr[mn] == 0 && arr[mx] == 0 && n - m < 2)
    b = 0;
  else if ((arr[mn] == 0 || arr[mx] == 0) && n - m < 1)
    b = 0;
  cout << (b ? "Correct" : "Incorrect") << endl;
  return 0;
}
