#include <bits/stdc++.h>
using namespace std;
template <class T>
T sq(T &x) {
  return x * x;
}
template <class T>
T abs(T &n) {
  return (n < 0 ? -n : n);
}
template <class T>
T max(T &a, T &b) {
  return (!(a < b) ? a : b);
}
template <class T>
T min(T &a, T &b) {
  return (a < b ? a : b);
}
template <class T>
T gcd(T a, T b) {
  return (b != 0 ? gcd<T>(b, a % b) : a);
}
template <class T>
T lcm(T a, T b) {
  return (a / gcd<T>(a, b) * b);
}
template <class T>
T mod(T &a, T &b) {
  return (a < b ? a : a % b);
}
const double pi = acos(-1.0);
const double eps = 1e-11;
const int INF = 0x3f3f3f3f;
int main() {
  int n, m;
  scanf("%d", &n);
  scanf("%d", &m);
  int mn, mx;
  scanf("%d", &mn);
  scanf("%d", &mx);
  int cnt = n - m;
  int tmp = 0;
  int num;
  int mn1 = 1000, mx1 = -1;
  while (m--) {
    scanf("%d", &num);
    mn1 = min(mn1, num);
    mx1 = max(mx1, num);
  }
  if (mn1 < mn || mx1 > mx)
    cout << "Incorrect\n";
  else {
    if (mn1 != mn) tmp++;
    if (mx1 != mx) tmp++;
    if (cnt >= tmp)
      cout << "Correct\n";
    else
      cout << "Incorrect\n";
  }
  return 0;
}
