#include using namespace std; //debug #ifdef grief #define debug(...) do{\ fprintf(stderr , "%s - %d : (%s) = " , __PRETTY_FUNCTION__ , __LINE__ , #__VA_ARGS__ );\ _DO(__VA_ARGS__);\ }while(0) template void _DO(I&&x){ cerr< void _DO(I&&x,T&&...tail){ cerr< pii; typedef long long ll; typedef pair pll; typedef priority_queue,greater > heap; //macro #define SZ(x) ((ll)(x).size()) #define ALL(x) (x).begin(),(x).end() #define F first #define S second #define REP(i,n) for(ll i=0;i<(n);i++) #define REP1(i,a,b) for(ll i=(a);i<=(b);i++) #define mkp make_pair #define pb push_back const ll INF=1e18; const ll MA=1210; const ll MOD=1e9+7; //}}} ll ran[MA]; ll rev[MA]; void llgcd(ll a,ll b,ll &x,ll &y){ if(a==0){ x=0; y=1; return; } llgcd(b%a,a,y,x); x-=b/a*y; } void build(){ ran[0]=ran[1]=1; for(int i=2;i>n; // assert(n<100); for(int i=1;i<=n;i++) cin>>arr[i]; int de=0; for(int i=1;i