#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
struct arr{
	int x,y,w;
}q[1000000];
int n,l,a[1000];
char s[100];
bool cmp(arr x,arr y){
	return x.w>y.w;
}
int main(){
	scanf("%d",&n);
	for (int i=1;i<=n;i++)
		scanf("%d",&a[i]);
	for (int i=1;i<n;i++)
		for (int j=i+1;j<=n;j++){
			++l;
			if (a[i]>a[j]){
				q[l].x=i;
				q[l].y=j;
			}
			else{
				q[l].x=j;
				q[l].y=i;
			}
			q[l].w=abs(a[i]-a[j]);
		}
	sort(q+1,q+l+1,cmp);
	for (int i=1;i<=l;i++){
		printf("? %d %d\n",q[i].x,q[i].y);
		fflush(stdout);
		scanf("%s",s);
		if (s[0]=='Y'){
			printf("! %d %d\n",q[i].x,q[i].y);
			fflush(stdout);
			return 0;
		}
	}
	printf("! 0 0\n");
	fflush(stdout);
}