#include <bits/stdc++.h>
using namespace std; 

int a, b, d;

void solve(vector<pair<int, int>> u)
{
    int n= u.size();

    for(int a= 1, cut=0; a<n; a++)
    {
        cut+= u[a-1].first;
        if(cut==-a*(n-a))
        {
            vector<pair<int, int>> u1, u2;

            for(int i=0; i<a; i++)
                u1.push_back({u[i].first+n-a, u[i].second});
            for(int i=a; i<n; i++)
                u2.push_back({u[i].first-a, u[i].second});

            solve(u1);
            solve(u2);
            return;
        }
    }

    if(n>1 && u.back().first-u.front().first>=d)
    {
        a= u.back().second;
        b= u.front().second;
        d= u.back().first-u.front().first;
    }
}

int main() 
{
    iostream::sync_with_stdio(false);
    int n; cin>>n;
    vector<pair<int, int>> u;
    for(int i=1; i<=n; i++)
    {
        int k; cin>>k;
        u.push_back({2*k-n+1, i});
    }
    a=0; b=0; d=0;
    sort(u.begin(), u.end());

    solve(u);
    cout<<"! "<<a<<' '<<b<<endl;
}