import sys import heapq def solve(): input = sys.stdin.read().split() if not input: return idx = 0 T_cases = int(input[idx]) idx += 1 results = [] for _ in range(T_cases): N = int(input[idx]) K = int(input[idx+1]) idx += 2 A = list(map(int, input[idx : idx + N])) idx += N B = list(map(int, input[idx : idx + N])) idx += N C = list(map(int, input[idx : idx + N])) idx += N D = list(map(int, input[idx : idx + N])) idx += N total_profit = 0 buy_heap = [] current_inventory = 0 for i in range(N): heapq.heappush(buy_heap, (A[i], B[i])) can_sell = D[i] while can_sell > 0 and buy_heap: cost, count = heapq.heappop(buy_heap) if cost < C[i]: trade_qty = min(can_sell, count) results.append(calculate_max_profit(N, K, A, B, C, D)) print('\n'.join(map(str, results))) def calculate_max_profit(N, K, A, B, C, D): pass