//Δ_1005 #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long LL; typedef double DB; const int MO = 1e9+7; void ad(int&x,int y){ x+=y; if(x>=MO) x-=MO; } int mul(int x,int y){ return (LL)x*y%MO; } int fpow(int x,int y=MO-2){ int z=1; while(y){ if(y&1) z=mul(z,x); x=mul(x,x); y>>=1; } return z; } int solve(int x,int y){ return mul(y,mul(x+y,fpow(y*2))); } int main() { int T,n,i,x,y,s; cin>>T; while(T--){ cin>>n>>x; x/=2; s=x; for(i=2;i<=n;i=i+1){ cin>>y; y/=2; ad(s,y); ad(s,MO-solve(x,y)); x=y; } cout<