#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> PII;
const int MAXN = 500000 + 10;

int f[MAXN], g[MAXN];
int a[MAXN], n;

struct Node {
  PII mx;
  int add;
  void set(int v) {
    add += v; mx.first += v;
  }
} T[MAXN << 2];

#define lson (rt<<1)
#define rson (rt<<1|1)
#define mid ((l+r)>>1)
void build(int rt, int l, int r) {
  T[rt].mx = PII(0, -n); T[rt].add = 0;
  if (l + 1 == r) return;
  build(lson, l, mid);
  build(rson, mid, r);
}
void upd(int rt) {
  T[rt].mx = max(T[lson].mx, T[rson].mx);
}
void psd(int rt) {
  if (T[rt].add) {
    T[lson].set(T[rt].add);
    T[rson].set(T[rt].add);
    T[rt].add = 0;
  }
}
void ins(int rt, int l, int r, int L, int R, int v) {
  if (L <= l && R >= r) {
    T[rt].set(v);
    return;
  }
  psd(rt);
  if (L < mid) ins(lson, l, mid, L, R, v);
  if (R > mid) ins(rson, mid, r, L, R, v);
  upd(rt);
}

void active(int rt, int l, int r, int x, int p) {
  if (l + 1 == r) {
    assert(T[rt].mx.first == 0);
    T[rt].mx.second = -p;
    return;
  }
  psd(rt);
  if (x < mid) active(lson, l, mid, x, p);
  else active(rson, mid, r, x, p);
  upd(rt);
}

PII ask(int rt, int l, int r, int L, int R) {
  if (L >= R) return PII(0, -n);
  if (L <= l && R >= r) return T[rt].mx;
  PII ret(0, -n); psd(rt);
  if (L < mid) ret = max(ret, ask(lson, l, mid, L, R));
  if (R > mid) ret = max(ret, ask(rson, mid, r, L, R));
  return ret;
}

int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; ++ i) {
    scanf("%d", a + i); a[i] --;
    f[i] = g[i] = 0;
  }
  for (int i = 0; i < n; ++ i) {
    if (i == 0) f[i] = a[i];
    else f[i] = max(a[i], f[i - 1]);
  }
  for (int i = n - 1; i >= 0; -- i) {
    if (i == n - 1) g[i] = a[i];
    else g[i] = min(a[i], g[i + 1]);
  }
  build(1, 0, n);
  PII ret(n, n);
  int mx(-1);
  set<PII> S;
  for (int i = 0; i < n; ++ i) {
    if (f[i] == a[i]) active(1, 0, n, f[i], i);
    else if (g[i] == a[i]) {
      while (!S.empty() && S.begin()->first < a[i]) {
        int j = S.begin()->second;
        S.erase(S.begin());
        ins(1, 0, n, a[j] + 1, f[j] + 1, -1);
      }
      PII nw = ask(1, 0, n, a[i] + 1, n);
      nw.second = -nw.second;
      if (nw.second == n) continue;
      if (nw.first > mx || (nw.first == mx && PII(nw.second, i) < ret)) {
        mx = nw.first; ret = PII(nw.second, i);
      }
    }
    else {
      ins(1, 0, n, a[i] + 1, f[i] + 1, 1);
      S.insert(PII(a[i], i));
    }
  }
  if (mx == -1) puts("Cool Array");
  else printf("%d %d\n", ret.first + 1, ret.second + 1);
  return 0;
}