from sys import stdin input = stdin.readline def func(limit): SUM = 0 for i in range(N): if limit < L[i]: SUM += L[i] elif R[i] < limit: SUM += R[i] else: SUM += limit return SUM for _ in range(int(input())): N, M = map(int, input().split()) L = list(map(int, input().split())) R = list(map(int, input().split())) if M < sum(L) or sum(R) < M: print(-1) continue left = 0 right = 10**9+1 while left+1 < right: mid = (left+right)//2 if func(mid) <= M: left = mid else: right = mid C = [0]*N for i in range(N): if left < L[i]: C[i] = L[i] elif R[i] < left: C[i] = R[i] else: C[i] = left rem = M-sum(C) for i in range(N): if rem == 0: break if C[i] == left and C[i] < R[i]: C[i] += 1 rem -= 1 print((M*M-sum(c*c for c in C))//2)