def max_pancakes(N, A, La, Ra, Lb, Rb): dp = [[0] * (N+1) for _ in range(N+1)] for i in range(1, N+1): dp[i][i] = A[i-1] for d in range(2, N+1): for i in range(1, N-d+2): j = i + d - 1 dp[i][j] = max(A[i-1] + min(dp[i+2][j], dp[i+1][j-1]), A[j-1] + min(dp[i+1][j-1], dp[i][j-2])) return dp[La][Ra] - dp[Lb][Rb-1] if La <= Ra-Lb else dp[Lb][Rb] - dp[La-1][Ra] T = int(input()) for case in range(1, T+1): N = int(input()) A = list(map(int, input().split())) La, Ra, Lb, Rb = map(int, input().split()) print(f"Case #{case}: {max_pancakes(N, A, La, Ra, Lb, Rb)}")