后两个点WA了
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<set>
#include<queue>
#include<algorithm>
#include<cmath>
using namespace std;
long long a,b,n;
int ai[12345670];
long long fm(long long a,long long bb,long long m)
{
long long ans=1,base=a;
while(bb)
{
if(bb&1)
{
ans=(ans*base)%m;
bb--;
}
bb>>=1;
base=base*base%m;
}
return ans;
}
int main()
{
cin>>n;
for(int i=0;i<n;i++) cin>>ai[i];
for(int i=n-1;i>1;i--)
{
if((ai[i]*log(ai[i-1]))>log(10006)) ai[i-1]=fm(ai[i-1],ai[i],10006)+10006;
else ai[i-1]=fm(ai[i-1],ai[i],10006);
}
cout<<fm(ai[0],ai[1],10007);
return 0;
}