아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

민균이의 별명은 빚쟁이다. 김우현 연구소에서 빌린 돈을 잘 갚지 않는다고 해서 붙은 이름이다.

민균이는 지금까지 NN번 돈을 빌렸고, ii번째로 빌린 금액은 AiA_i다. 김우현 연구소는 돈을 돌려받는 방식이 독특하다.

연구소가 빚을 MM번 갚으라고 명령하면, 민균이는 NN번의 빚 중에서 MM번을 마음대로 고른다. 고른 금액을 B1,B2,,BMB_1, B_2, \dots, B_M이라고 하면 민균이가 내야 하는 금액은 max(B1,B2,,BM)×M\max(B_1, B_2, \dots, B_M) \times M이다. 여기서 실제로 빌린 금액의 합을 뺀 나머지를 추가 상환액이라고 하자. 즉 추가 상환액은 max(B1,B2,,BM)×M(B1+B2++BM)\max(B_1, B_2, \dots, B_M) \times M - (B_1 + B_2 + \dots + B_M)이다.

예를 들어 민균이가 세 번에 걸쳐 22, 55, 33을 빌렸고 연구소가 빚을 두 번 갚으라고 명령했다고 하자. 첫 번째와 두 번째를 고르면 내야 하는 금액은 5×2=105 \times 2 = 10이고 추가 상환액은 10(2+5)=310 - (2 + 5) = 3이다. 첫 번째와 세 번째를 고르면 내야 하는 금액은 3×2=63 \times 2 = 6이고 추가 상환액은 6(2+3)=16 - (2 + 3) = 1이다.

민균이는 추가 상환액을 최대한 줄이고 싶다. 연구소가 빚을 MM번 갚으라고 명령했을 때 나올 수 있는 추가 상환액의 최솟값을 S(M)S(M)이라고 하자.

N=5N = 5이고 빌린 금액이 차례대로 1,5,4,3,81, 5, 4, 3, 8이면 다음과 같다.

  • S(1)=0S(1) = 0. 무엇을 골라도 추가로 낼 돈이 없다.
  • S(2)=1S(2) = 1. 5544를 고르거나 4433을 고른다.
  • S(3)=3S(3) = 3. 5,4,35, 4, 3을 고른다.
  • S(4)=7S(4) = 7. 5,4,3,15, 4, 3, 1을 고른다.
  • S(5)=19S(5) = 19. 다섯 번을 모두 고른다.

NNA1,A2,,ANA_1, A_2, \dots, A_N이 주어지면 S(1)+S(2)++S(N)S(1) + S(2) + \dots + S(N)을 구하라.

입력

첫 줄에 테스트케이스의 수 TT (1T101 \le T \le 10)가 주어진다.

이어지는 TT개의 줄에는 각각 민균이가 돈을 빌린 횟수 NN (1N40001 \le N \le 4000)과 빌린 금액 A1,A2,,ANA_1, A_2, \dots, A_N (1Ai100001 \le A_i \le 10000)이 공백으로 구분되어 순서대로 주어진다.

출력

각 테스트케이스마다 S(1)+S(2)++S(N)S(1) + S(2) + \dots + S(N)을 한 줄에 출력한다.

중간 계산값과 답이 32비트 정수 범위를 넘을 수 있으므로 64비트 정수를 써야 한다.