만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

팩토리얼 곱

시간 제한3초메모리 제한1024 MB

요약
각 테스트 케이스에서 세 리스트 원소의 팩토리얼 곱을 비교하여 가장 큰 곱을 가진 리스트를 출력합니다. 동점이면 TIE를 출력합니다.
난이도

보통10점 중 4점

유형
수학, 구현
정답자
아직 제출이 없습니다

문제

팩토리얼은 곱셈으로 이루어진 게임이다. 형식적으로는 다음 점화식으로 정의한다.

  • Fact(0) = 1
  • 모든 정수 n > 0에 대해 Fact(n) = n × Fact(n-1)

이 문제는 곱셈, 그것도 곱셈을 거듭하는 문제다. 팩토리얼끼리 곱하는 게임이라고 할 수 있다.

세 개의 수열 A, B, C가 주어진다. 각 수열에 있는 모든 수의 팩토리얼을 구한 뒤, 그 값을 모두 곱해 ProFact(A), ProFact(B), ProFact(C)를 구한다. 그다음 가장 큰 곱이 무엇인지 보고한다.

예를 들어 A = {2, 4, 7}, B = {0, 1, 9}, C = {2, 3, 5, 5}라고 하자. 그러면,

  • ProFact(A) = 2! × 4! × 7! = 241,920
  • ProFact(B) = 0! × 1! × 9! = 362,880
  • ProFact(C) = 2! × 3! × 5! × 5! = 172,800

이 예에서 가장 큰 곱은 ProFact(B)이다.

입력

첫 줄에 테스트 케이스의 수 n이 양의 정수로 주어진다. 각 테스트 케이스는 네 줄로 이루어진다. 첫 줄에는 수열 A, B, C의 크기가 순서대로 세 개의 양의 정수로 주어진다. 나머지 세 줄에는 각각 수열 A, B, C의 원소(0 이상의 정수)가 주어진다.

입력에 주어지는 모든 값은 2,501보다 작다.

출력

각 테스트 케이스마다 "Case #t: h" 형식으로 한 줄을 출력한다. t는 1부터 시작하는 테스트 케이스 번호이고, h는 곱이 가장 큰 수열의 이름이다. 두 개 또는 세 개의 수열이 가장 큰 곱을 공동으로 가지면 "TIE"를 출력한다. 출력 형식은 예시 출력에 나온 형식을 그대로 따른다.

두 곱의 값이 서로 다르면, 그 상대적인 차이는 가장 큰 곱의 0.01% 이상이라고 가정한다.

예제1

  1. 예제 1

    입력
    3
    3 3 4
    2 4 7
    0 1 9
    2 3 5 5
    2 2 2
    2 3
    3 2
    2 2
    3 3 3
    1 3 5
    2 4 6
    1 4 7
    
    예상 출력
    Case #1: B
    Case #2: TIE
    Case #3: C