#include #include #include #include #include #include #include #include #include #include #include #include #include //#include #include #include typedef long long ll; //#pragma comment(linker, "/STACK:1024000000,1024000000") #define mm(a) memset(a,0,sizeof(a)) #define lr rt<<1 #define rr rt<<1|1 #define sync std::ios::sync_with_stdio(false);std::cin.tie(0); #define inf 0x3f3f3f3f //#define eqs 1e-8 #define lb(x) (x&(-x)) #define ch(a) (int(a-'a')+1) #define rep(i,a,b) for(int i=a;i<=b;i++) #define mkp(a,b) make_pair(a,b) using namespace std; typedef pair pii; const double pi=acos(-1); const int maxn=1010; const ll Mod=1000000007; //const ll Mod=998244353; ll ksm(ll x,ll y) { ll res=1; while(y) { if(y&1) { res=res*x%Mod; } x=x*x%Mod; y/=2; } return res%Mod; } ll a[20]; int main() { int t; scanf("%d",&t); while(t--) { int n; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%lld",&a[i]); a[i]=a[i]/2; } ll s=a[1]; for(int i=2;i<=n;i++) { ll p=1ll*(a[i-1]+a[i])*ksm(2ll*a[i],Mod-2)%Mod; p=(1-p+Mod+Mod)%Mod; s=(1ll*s+1ll*a[i]*p%Mod)%Mod; } printf("%lld\n",(s+Mod)%Mod); } return 0; }