#include<bits/stdc++.h>
#define rep(i,n) for( int (i)=0;(i)<(int)(n);(i)++)
#define sz(v) (int)((v).size())
#define FOR(i,k,n) for(int i=(k);i<(int)(n);i++)
#define VI vector<int>
#define VS vector <string>
#define SORT(c) sort((c).begin(),(c).end())
#define pb push_back
#define gc getchar_unlocked
#define Q queue<int> 
#define s(n) scanf("%d",&n)
#define sll(n) scanf("%lld",&n)
#define p(n) printf("%d",n)
#define pll(n) printf("%lld",n)
#define mem(s,v) memset(s,v,sizeof s)
#define pp pair<int,int> 
#define pp1 pair<int,pair<int,int> > 
#define INF 999999
#define VP vector<pp> 
#define QP queue<pp>
#define endl '\n'
typedef long long ll;
using namespace std;
#define N 500009
int ar[N];
int n;
int rlval;
ll bitval[N];
ll query(int x){
	ll ans=0;
	while(x>0){
			ans=ans+bitval[x];
			x=x-(x&-x);

	}
	return ans;
}
void updateit(int x){
		while(x<N){
			bitval[x]=bitval[x]+1;
			x=x+(x&-x);	
		}
}

ll t1=0;
 ll tval=0;

int main()
{
	ios_base::sync_with_stdio(false);cin.tie(NULL);

		
    	cin>>n;
    	int maxs=0,maxpos=-1;
    	rep(i,n){
    			int a;cin>>a;
    			ar[i]=a;
    			tval=tval+(ll)query(N)-query(ar[i]);
    			updateit(ar[i]);
    			rlval=(ar[i]-i);
    			if(rlval<0)
    					rlval=rlval*-1;
    			if(maxs<rlval){
    					maxs=rlval;
    					maxpos=i;
    			}

    	}
    	rep(i,N)
    		bitval[i]=0;

    	updateit(ar[maxpos]);



    	int max1=-1;
    	//got ot  ting tong


    	int max2=-1;

    	// goto tintnt


    	ll maxj=tval;
    	for(int i=maxpos+1;i<n;i++){
    			updateit(ar[i]);
    			ll a1=query(N);
    			ll b1=query(ar[i]);
    			ll tmp=tval-(a1-b1)+(b1-1);
    			ll a=query(N)-query(ar[maxpos]);
    			if(ar[maxpos]<ar[i]){
    					a--;
    			}
    			ll b=query(ar[maxpos]-1);
    			if(ar[maxpos]>ar[i]){
    					b--;
    			}
    			tmp=tmp-b+a;
    			if(maxj>tmp){
    					max1=maxpos;
    					max2=i;
    					maxj=tmp;
    			}

    	}
    	rep(i,N)
    		bitval[i]=0;
    	updateit(ar[maxpos]);
    	for(int i=maxpos-1;i>=0;i--){
    			updateit(ar[i]);
    			int val=query(ar[maxpos]);
    			int val2=query(N);
    			    ll tmp=tval-(val2-val)+(val-1);
        			ll a=val2-query(ar[i]);
        if(ar[maxpos]>ar[i]){
        		a--;
        } 
        ll b=query(ar[i]-1);
        if(ar[maxpos]<ar[i]){
        		b--;

        }

        tmp=tmp-b+a;
        if(maxj>=tmp){
        	max1=maxpos;
            max2=i;
            maxj=tmp;
            
        }
    }
    if(max1!=-1){
    		int a=max1<max2?max1:max2;
    		int b=max1>max2?max1:max2;
    		cout<<a+1<<" "<<b+1<<endl;
    }
    else{
    		cout<<"Cool Array"<<endl;
    }
 }