#define _CRT_SECURE_NO_WARNINGS 
#include <iostream> 
#include <iomanip> 
#include <cstdio> 
#include <string> 
#include <cmath> 
#include <algorithm> 
#include <vector> 
#include <queue> 
#include <cstring> 
#include <set> 
#include <map> 
#include <ctime> 
#include <unordered_map>
#include <stack> 
using namespace std;

#define inf 2147483647 
#define eps 0.0000000000001 
#define pi 3.1415926535897932 
#define mod 1000000007 
#define LL long long 
#define ULL unsigned long long 
#define LD long double 
#define ULD unsigned long double 

const LL N = 100005;

//  printf("Case #%d: ", ++T); 
//  srand(time(NULL)); 
//  cout<<fixed<<setprecision(3)<<"\nExecution time="<<clock()/1000.0<<endl; 
//  freopen("input.txt","r",stdin); 
//  freopen("output.txt","w",stdout); 


int n, m, i, j, k, q, s, w, v, ans;
int a[5*N];

int main()
{
	ans = 1000000000;
	int x = ans, y = ans;
	bool issorted = 1;
	int first=-1, last=-1,fk=-1,lk=-1;
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		scanf("%d", &a[i]);
		if (a[i] != i && a[i] - i > fk)
		{
			fk = a[i] - i;
			first = i;
		}
		if (a[i] != i && i - a[i] > lk)
		{
			lk = i - a[i];
			last = i;
		}
		if (a[i] != i)
			issorted = 0;
	}
	if (issorted == 1)
	{
		cout << "Cool Array" << endl;
		return 0;
	}

	cout << first << " " << last << endl;
	return 0;


	for (int i = 1; i <= n; i++)
	{
		for (j = i + 1; j <= n; j++)
		{
			if ((double)clock()/CLOCKS_PER_SEC >0.8)
			{
				cout << first << " " << last << endl;
				return 0;

			}
			swap(a[i], a[j]);
			q = 0;

			for (int ii = 1; ii <= n; ii++)
				for (int jj = ii + 1; jj <= n; jj++)
					if (a[ii] > a[jj])
						q++;

			if (q < ans || (q == ans && (i < x || (i == x && j < y))))
			{
				ans = q;
				x = i;
				y = j;
			}
			swap(a[i], a[j]);
			if (q == 0)
				break;
		}
	}

	cout << x << " " << y << endl;
	return 0;
}