#include #include #include #include #include using namespace std; using i32 = int; using u32 = unsigned int; using i64 = long long; using u64 = unsigned long long; #define rep(i,n) for(int i=0; i<(int)(n); i++) const i64 INF = 1001001001001001001; i64 GCD(i64 a, i64 b){ return b ? GCD(b,a%b) : a; } using Modint = atcoder::static_modint<998244353>; int main(){ int T; cin >> T; rep(i,T){ i64 a,b,c,k; cin >> a >> b >> c >> k; while(k-- > 0){ if(a == b && b == c) break; i64 ap = a, bp = b, cp = c; a = (bp+cp) / 2; b = (ap+cp) / 2; c = (bp+ap) / 2; } cout << (a+b+c) << '\n'; } return 0; } struct ios_do_not_sync{ ios_do_not_sync(){ ios::sync_with_stdio(false); cin.tie(nullptr); } } ios_do_not_sync_instance;