최소 스칼라곱 (작은 입력)

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

문제

두 벡터 v1=(x1,x2,,xn)v_1 = (x_1, x_2, \dots, x_n)v2=(y1,y2,,yn)v_2 = (y_1, y_2, \dots, y_n)이 주어진다. 두 벡터의 스칼라곱은 x1y1+x2y2++xnynx_1 y_1 + x_2 y_2 + \dots + x_n y_n으로 계산되는 하나의 수다.

각 벡터의 좌표 순서는 원하는 대로 바꿀 수 있다. 이렇게 만든 두 벡터의 스칼라곱이 가능한 가장 작아지도록 두 순열을 고르고, 그때의 최소 스칼라곱을 출력한다.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 각 테스트 케이스의 첫째 줄에는 정수 nn이 주어지고, 이어지는 두 줄에는 각각 정수 nn개가 주어져 v1v_1v2v_2의 좌표를 순서대로 나타낸다.

제한

  • 1T10001 \le T \le 1000
  • 1n81 \le n \le 8
  • 1000xi,yi1000-1000 \le x_i, y_i \le 1000

출력

각 테스트 케이스마다 한 줄에

Case #X: Y

를 출력한다. XX는 1부터 시작하는 테스트 케이스 번호이고, YY는 주어진 두 벡터의 모든 순열 중 최소 스칼라곱이다.