import sys import math import bisect def printfl(*args, **kwargs): print(*args, **kwargs) sys.stdout.flush() T = int(input()) for t in range(1, T+1): N = int(input()) A = [int(_) for _ in input().split()] La, Ra, Lb, Rb = [int(_)-1 for _ in input().split()] cum_sum = A[:] for i in range(1, N): cum_sum[i] += cum_sum[i-1] if Ra < Lb: # La <= Ra < Lb <= Rb # Alice picks Ra # Bob picks Lb ans = cum_sum[(Ra+Lb)//2] elif Rb < La: # Lb <= Rb < La <= Ra # Alice picks La # Bob picks Rb ans = cum_sum[-1] - cum_sum[(La+Rb-1)//2] else: ans = 0 for A_pick in range(max(La, Lb), min(Ra, Rb)+1): local_ans = None # left pick if Lb >= A_pick: B_pick = None elif Rb < A_pick: B_pick = Rb else: B_pick = A_pick-1 if B_pick is not None: local_ans = cum_sum[-1] - cum_sum[(A_pick+B_pick-1)//2] # right pick if Rb <= A_pick: B_pick = None elif Lb > A_pick: B_pick = Lb else: B_pick = A_pick+1 if B_pick is not None: tmp = cum_sum[(A_pick+B_pick)//2] if local_ans is None: local_ans = tmp else: local_ans = min(local_ans, tmp) ans = max(ans, local_ans) print(f"Case #{t}: {ans}")