#include <bits/stdc++.h>
using namespace std;
const int maxn=  500010 ; 
long long arr[maxn] , tree[4*maxn]; 
int n ; 
long long fans = maxn ;
pair<int,int> p1 ;
void build(int node ,int a, int b){
    if(a==b){
        tree[node] = 0 ; 
        return ; 
    }
    build(2*node , a, (a+b)/2) ; 
    build(2*node + 1 ,(a+b)/2 + 1 ,b) ; 
    tree[node] = 0 ; 
}
int qst(int node , int a, int b ,int i , int j){
    if(i>j)
        return 0;
    if(i > b or j < a or a > b){
        return 0 ; 
    }
    if(a >= i and b <= j){
        return tree[node] ; 
    }
    return (qst(2*node , a , (a+b)/2 , i , j) +  qst(2*node + 1  , (a+b)/2 + 1 ,b , i , j )) ; 
}
void upd(int node , int a,  int b , int i){
    if(i > b or i < a or a  > b){
        return ; 
    }
    if(a == i and b == i){
        ++tree[node] ; 
        return ; 
    }
    upd(2*node ,a  , (a+b)/2  , i) ; 
    upd(2*node  + 1 , (a+b)/2 + 1 , b, i) ; 
    tree[node] = tree[2*node] + tree[2*node+1] ; 
}
void get(int a , int b){
    int ans = 0 ; 
    build(1,1,n) ; 
    for(int i = 0 ; i < n ; ++i){
        ans += qst(1,1,n,arr[i] + 1 ,n);
        upd(1,1,n,arr[i]);
    }
    if(ans < fans){
        p1 = make_pair(a , b) ;
        fans = ans ; 
    }

}
int main(){
  //  freopen("input.txt","r",stdin) ;
    ios_base::sync_with_stdio(0) ;
    cin.tie(0) ;
    int n ; 
    cin >> n;
    vector<pair<int,int> > contri[2];
    for(int i = 0 ; i < 2 ;++i)
        contri[i].resize(n);
    for(int i = 0 ; i < n ;++i){
        cin >> arr[i] ; 
    } 
    p1.first = -1; 
    long long lesser , best= 0;
    for(int i= 0 ; i < n; ++i){
        upd(1,1,n,arr[i]);
        if(arr[i] ==1){
            contri[0][i]=make_pair(0,i);
            continue ;
        }
        lesser = qst(1,1,n,1,arr[i]-1);
        lesser = arr[i]-1-lesser;
        contri[0][i]=make_pair(lesser,i);
        if(lesser > best){
            best = lesser ;
            p1.first = i;
        }
    }
    if(p1.first ==-1){
        cout << "Cool Array\n" ;
        return 0; 
    }
    pair<int,int> ans= p1;
    long long d1=0,d2=0;
    best=0;
    sort(contri[0].rbegin(),contri[0].rend());
    for(int j = 0 ; j < contri[0].size() ;++j){
        p1.first = contri[0][j].second;
        build(1,1,n);
        d1=0;
        for(int i = p1.first ; i < n; ++i){
            upd(1,1,n,arr[i]);
            if(arr[i]>arr[p1.first]){
                d1--;
            }
            else if(arr[i] < arr[p1.first]){
                d1++;
            }
            d2=qst(1,1,n,arr[i]+1,n)-qst(1,1,n,1,arr[i]-1);
            if(arr[i]>arr[p1.first]){
                d2++;
            }
            else if(arr[i] < arr[p1.first]){
                d2--;
            }
            if(d1+d2 > best){
                p1.second=i;
                ans=p1;
                best=d1+d2;
            }
        }
        if (clock()>=0.8*CLOCKS_PER_SEC) break;
    }
    long long delta = best ;
    pair<int,int> p2;
    long long great=0;
    best = 0;
    build(1,1,n);
    for(int i = 0 ; i < n ; ++i){
        upd(1,1,n,arr[i]);
        great = qst(1,1,n,arr[i]+1,n);
        contri[1][i]=make_pair(great,i);
        if(great>best){
            best =great;
            p2.second=i;
        }
    }
    sort(contri[1].rbegin() , contri[1].rend());
    for(int j = 0 ; j < contri[1].size() ; ++j){
        p2.second = contri[1][j].second;
        build(1,1,n);
        d1=0,d2=0;
        for(int i = p2.second; i >=0;--i){
            upd(1,1,n,arr[i]);
            if(arr[i]>arr[p2.second]){
                d1++;
            }
            else if(arr[i] < arr[p2.second]){
                d1--;
            }
            d2 = (qst(1,1,n,1,arr[i]-1) - qst(1,1,n,arr[i]+1,n)) ;
            if(arr[i]>arr[p2.second])
                d2--;
            else if(arr[i] < arr[p2.second])
                d2++;
            if(d1 + d2 >= delta){
                delta = d1 + d2 ; 
                ans = make_pair(i,p2.second) ;
            }
        }
        if (clock()>=1.7*CLOCKS_PER_SEC) break;
    }
    cout << ans.first + 1  << " " << ans.second + 1 << "\n" ; 
    return 0 ;
}