#include <bits/stdc++.h>
#define S second
#define TT int T;cin >> T;while(T--)
#define F first
#define ll long long
#define ld long double
#define ue(times ,x) for(int _i = 0; _i < times; _i++){int _u, _v;cin >> _u >> _v;x[_u].push_back(_v);x[_v].push_back(_u);}
#define de(times ,x) for(int _i = 0; _i < times; _i++){int _u, _v;cin >> _u >> _v;x[_u].push_back(_v);}
#define pb push_back
#define SRT(v) sort(v.begin(), v.end())
#define SRT1(v) sort(v.begin()+1, v.end())
#define TLE ios_base::sync_with_stdio(false);cin.tie(NULL)
#define All(v) v.begin(),v.end()
#define INF 223372036854775807
typedef __int128 lll;
using namespace std;
const ll MAXN = 1e5+5;
ll MOD = 1000000007;
ll fast_pow(ll base, ll exp, ll mod = MOD) {
ll res = 1; base %= mod;
while (exp > 0) {
if (exp & 1) res = (ll)((__int128)res * base % mod);
base = (ll)((__int128)base * base % mod);
exp >>= 1;
}
return res;
}
int main()
{
TLE;
int t ; cin >> t;
for (int g = 1; g <= t ; g++)
{
ll n; cin >> n;
ll sum = 0 ;
for ( int i = 1; i <= n; i++ ){
ll x; cin >> x;
sum = (sum + x) % MOD ;
}
ll ans = sum * fast_pow(2,n-1) % MOD ;
cout << "Case " << g << ": " << ans << '\n';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgUyBzZWNvbmQKI2RlZmluZSBUVCBpbnQgVDtjaW4gPj4gVDt3aGlsZShULS0pCiNkZWZpbmUgRiBmaXJzdAojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGxkIGxvbmcgZG91YmxlCiNkZWZpbmUgdWUodGltZXMgLHgpIGZvcihpbnQgX2kgPSAwOyBfaSA8IHRpbWVzOyBfaSsrKXtpbnQgX3UsIF92O2NpbiA+PiBfdSA+PiBfdjt4W191XS5wdXNoX2JhY2soX3YpO3hbX3ZdLnB1c2hfYmFjayhfdSk7fQojZGVmaW5lIGRlKHRpbWVzICx4KSBmb3IoaW50IF9pID0gMDsgX2kgPCB0aW1lczsgX2krKyl7aW50IF91LCBfdjtjaW4gPj4gX3UgPj4gX3Y7eFtfdV0ucHVzaF9iYWNrKF92KTt9CiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgU1JUKHYpIHNvcnQodi5iZWdpbigpLCB2LmVuZCgpKQojZGVmaW5lIFNSVDEodikgc29ydCh2LmJlZ2luKCkrMSwgdi5lbmQoKSkKI2RlZmluZSBUTEUgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7Y2luLnRpZShOVUxMKQojZGVmaW5lIEFsbCh2KSB2LmJlZ2luKCksdi5lbmQoKQojZGVmaW5lIElORiAyMjMzNzIwMzY4NTQ3NzU4MDcKdHlwZWRlZiBfX2ludDEyOCBsbGw7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGxsIE1BWE4gPSAxZTUrNTsKbGwgTU9EID0gMTAwMDAwMDAwNzsKCmxsIGZhc3RfcG93KGxsIGJhc2UsIGxsIGV4cCwgbGwgbW9kID0gTU9EKSB7CiAgICBsbCByZXMgPSAxOyBiYXNlICU9IG1vZDsKICAgIHdoaWxlIChleHAgPiAwKSB7CiAgICAgICAgaWYgKGV4cCAmIDEpIHJlcyA9IChsbCkoKF9faW50MTI4KXJlcyAqIGJhc2UgJSBtb2QpOwogICAgICAgIGJhc2UgPSAobGwpKChfX2ludDEyOCliYXNlICogYmFzZSAlIG1vZCk7CiAgICAgICAgZXhwID4+PSAxOwogICAgfQogICAgcmV0dXJuIHJlczsKfQoKaW50IG1haW4oKSAKewogICAgVExFOwogICAgaW50IHQgOyBjaW4gPj4gdDsKICAgIGZvciAoaW50IGcgPSAxOyBnIDw9IHQgOyBnKyspCiAgICB7CiAgICAgICAgbGwgbjsgY2luID4+IG47CiAgICAgICAgbGwgc3VtID0gMCA7CiAgICAgICAgZm9yICggaW50IGkgPSAxOyBpIDw9IG47IGkrKyApewogICAgICAgICAgICBsbCB4OyBjaW4gPj4geDsgCiAgICAgICAgICAgIHN1bSA9IChzdW0gKyB4KSAlIE1PRCA7ICAKICAgICAgICB9CiAgICAgICAgbGwgYW5zID0gc3VtICogZmFzdF9wb3coMixuLTEpICUgTU9EIDsKICAgICAgICBjb3V0IDw8ICJDYXNlICIgPDwgZyA8PCAiOiAiIDw8IGFucyA8PCAnXG4nOwogICAgfQogICAgcmV0dXJuIDA7Cn0g