#include <bits/stdc++.h>
using namespace std;
int w[100005], l[100005], h[100005], d[100005];
vector<int> ve;
bool get(int x) { return binary_search(ve.begin(), ve.end(), x); }
int main() {
  int n, m, mn, mx;
  cin >> n >> m >> mn >> mx;
  for (int i = 0; i < m; i++) {
    int x;
    scanf("%d", &x);
    ve.push_back(x);
  }
  sort(ve.begin(), ve.end());
  int d = n - m;
  if (ve.front() < mn || ve.back() > mx) {
    cout << "Incorrect";
    return 0;
  }
  if (d > 1) {
    cout << "Correct";
    return 0;
  }
  if ((get(mn) || get(mx)) && d) {
    cout << "Correct";
    return 0;
  }
  if (get(mn) && get(mx)) {
    cout << "Correct";
    return 0;
  }
  cout << "Incorrect";
}
