#include <bits/stdc++.h>
using namespace std;
const int INIT_SIZE_MAX = (1 << 29) + 10;
const int INIT_SIZE_MIN = -(1 << 29) - 10;
const int INIT_SIZE = 0;
const int MAX = 5;
const int ANS_SIZE = 100;
const double PI = 3.1415926535897932384;
template <class T, class U>
void convert(T &t, U &u) {
  stringstream ss;
  ss << t;
  ss >> u;
}
int main() {
  int n, m, minc, maxc;
  cin >> n >> m >> minc >> maxc;
  map<int, bool> tb;
  tb[minc] = false;
  tb[maxc] = false;
  int limit = n - 2;
  bool f = true;
  for (int(i) = 0; (i) < (m); (i)++) {
    bool ff = false;
    int t;
    cin >> t;
    if (minc > t || maxc < t) {
      f = false;
      break;
    }
    if (t == minc && !tb[minc]) {
      tb[minc] = true;
      continue;
    }
    if (t == maxc && !tb[maxc]) {
      tb[maxc] = true;
      continue;
    }
    if (!tb.count(t)) {
      tb[t] = true;
    }
    limit--;
    if (limit < 0) {
      f = false;
      break;
    }
  }
  if (f) {
    cout << "Correct" << endl;
  } else {
    cout << "Incorrect" << endl;
  }
  return 0;
}
