#include using namespace std; typedef long long ll; typedef pair P; #define REP(i,n) for(int i=0;i> N; for(i=1;i<=N;i++) cin >> a[i]; ll ans=a[1]; a[0]=1; for(i=2;i<=N;i++){ if(a[i]>=a[i-1]){ if(i==N){ a[i]=a[i-1]; } ans=a[i]*ans; ans%=MOD; }else{ ll v=mod_inverse(a[i-1],MOD); ans=ans*v; ans%=MOD; ans=ans*a[i-2]; ans%=MOD; ans=ans*a[i]; ans%=MOD; } } cout << ans << endl; return 0; }