팩토리얼 곱
시간 제한3초메모리 제한1024 MB
각 테스트 케이스에서 세 리스트 원소의 팩토리얼 곱을 비교하여 가장 큰 곱을 가진 리스트를 출력합니다. 동점이면 TIE를 출력합니다.
문제
팩토리얼은 곱셈으로 이루어진 게임이다. 형식적으로는 다음 점화식으로 정의한다.
- 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% 이상이라고 가정한다.