#include #include #include #include #include #include #include #include #include #include #include #define rf freopen("in.in", "r", stdin) #define wf freopen("out.out", "w", stdout) #define rep(i, s, n) for(int i=int(s); i<=int(n); ++i) using namespace std; const int mx = 1e5 + 10, mod = 1e9+7; int n, t; int a[mx]; int suffix[mx]; int main() { //rf;// wf; ios::sync_with_stdio(0); cin >> t; while(t--) { cin >> n; n++; for(int i = 1; i<=n; ++i) cin >> a[i]; int power_of_2 = 1; for(int i = n; i >= 1; --i) { suffix[i] = (1ll * a[i] * power_of_2) % mod; if(i < n) suffix[i] = (suffix[i+1] + suffix[i]) % mod; power_of_2 = (power_of_2 * 2) % mod; } int ans = 0; power_of_2 = 1; for(int i = 1; i= 2) power_of_2 = (power_of_2 * 2) % mod; } cout << (2*ans) % mod << '\n'; } return 0; }