#include "bits/stdc++.h"
using namespace std;
const int N = 5e5 + 5;
int n;
int arr[N];
    struct node{
        int cnt;
        node* left;
        node* right;
        node(int _cnt = 0 , node* _left = NULL , node* _right = NULL){
            cnt = _cnt;
            left = _left;
            right = _right;
        }
        node* insert(int l , int r , int val);
    };
    node* null;
    node* root[N];
    node* node::insert(int l , int r , int val){
        if(l == r){
            return new node(1 , null , null);
        }
        int mid = l + r >> 1;
        if(val <= mid){
            return new node(cnt + 1 , left -> insert(l , mid , val) , right);
        }
        else{
            return new node(cnt + 1 , left , right -> insert(mid + 1 , r , val));
        }
    }
    void insert(int pos , int val){
        root[pos] = root[pos + 1] -> insert(1 , n , val);
    }
    int lquery(int ql , int qr , int val){
        int cnt = 0;
        int l = 1;
        int r = n;
        node* ll = root[ql];
        node* rr = root[qr + 1];
        while(l < r){
            int mid = l + r >> 1;
            if(val <= mid){
                r = mid;
                ll = ll -> left;
                rr = rr -> left;
            }
            else{
                cnt += ll -> left -> cnt - rr -> left -> cnt;
                l = mid + 1;
                ll = ll -> right;
                rr = rr -> right;
            }
        }
        return cnt;
    }
int mn[N];
bool sorted = 1;
int ans1 = -1;
int ans2 = -1;
int anscnt = 0;
int main(){
    null = new node();
    null -> left = null -> right = null;
    scanf("%d" , &n);
    root[n + 1] = null;
    for(int i = 1 ; i <= n ; ++i){
        scanf("%d" , arr + i);
    }
    for(int i = 1 ; i <= n ; ++i){
        if(arr[i] != i){
            sorted = 0;
            break;
        }
    }
    if(sorted){
        puts("Cool Array");
    }
    else{
        mn[n] = n;
        int limit = 10000;
        for(int i = n - 1 ; i >= 1 ; --i){
            mn[i] = mn[i + 1];
            if(arr[i] < arr[mn[i]]){
                mn[i] = i;
            }
        }
        for(int i = n ; i >= 1 ; --i){
            insert(i , arr[i]);
        }
        for(int i = 1 ; i < n ; ++i){
            int idx = i;
            int steps = 0;
            while(idx <= n){
                ++steps;
                if(steps >= 10 && steps >= limit){
                    limit -= 50;
                    break;
                }
                idx = mn[idx];
                if(arr[idx] < arr[i]){
                    int cnt = 1 + lquery(i , idx - 1 , arr[i]) - lquery(i , idx - 1 , arr[idx]);
                    if(cnt > anscnt){
                        anscnt = cnt;
                        ans1 = i;
                        ans2 = idx;
                    }
                }
                ++idx;
            }
        }
        printf("%d %d\n" , ans1 , ans2);
    }
}