def maximum_bricks(a, b, c, d):
"""
This function calculates the maximum number of bricks that can be made
from the given broken bricks.
Args:
a: Number of 1x1 bricks.
b: Number of 1x2 bricks.
c: Number of 1x3 bricks.
d: Number of L-shaped bricks.
Returns:
The maximum number of bricks that can be made.
"""
# One full brick requires 3x3 squares, which can be formed in the following ways:
# - 3x1 + 1x3
# - 1x2 + 2x1 + 1x3
# - 2x2 + 2x1
# - 4x1
# - 1 L-shape + 2x1
return min(a + c, b + 2 * a + c, 2 * b + 2 * a, 4 * a, d + 2 * a)
def main():
t = int(input())
for i in range(t):
a, b, c, d = map(int, input().split())
max_bricks_count = maximum_bricks(a, b, c, d)
print(f"Case {i + 1}: {max_bricks_count}")
if __name__ == "__main__":
main()