gcd = lambda a, b: a if b == 0 else gcd(b, a % b)
def takeintinput():
arr = input().split()
arr = [int(i) for i in arr]
return arr
def solve():
a, b, c, d = takeintinput()
if a&2==0 and b%2==0 and c%2==0:
print((a+b+c)//2+d//2)
elif a%2==1 and b%2==1 and c%2==1:
print(a//2+b//2+c//2+1+d//2)
elif c%2==0 and a%2==1 and b%2==1:
print(a//2+b//2+c//2+d//2)
elif c%2==1 and a%2==0 and b%2==0:
print(a//2+b//2+c//2+d//2)
else:
print(a//2+b//2+c//2+d//2)
for i in range(int(input())):
solve()
443A - Anton and Letters | 1478B - Nezzar and Lucky Number |
228A - Is your horseshoe on the other hoof | 122A - Lucky Division |
1611C - Polycarp Recovers the Permutation | 432A - Choosing Teams |
758A - Holiday Of Equality | 1650C - Weight of the System of Nested Segments |
1097A - Gennady and a Card Game | 248A - Cupboards |
1641A - Great Sequence | 1537A - Arithmetic Array |
1370A - Maximum GCD | 149A - Business trip |
34A - Reconnaissance 2 | 59A - Word |
462B - Appleman and Card Game | 1560C - Infinity Table |
1605C - Dominant Character | 1399A - Remove Smallest |
208A - Dubstep | 1581A - CQXYM Count Permutations |
337A - Puzzles | 495A - Digital Counter |
796A - Buying A House | 67A - Partial Teacher |
116A - Tram | 1472B - Fair Division |
1281C - Cut and Paste | 141A - Amusing Joke |