세 가지 주사위
시간 제한1초메모리 제한1024 MB
D1이 D2를 이기는 두 주사위가 주어질 때, D1과 비기거나 이기는 D3 중 D2에 대한 최소 점수와, D2와 비기거나 지지 않는 D3 중 D1에 대한 최대 점수를 구합니다.
문제
주사위가 어떻게 굴러가는지 보자. 유명한 일화에 따르면 워런 버핏이 빌 게이츠에게 간단한 주사위 게임을 제안했다. 버핏은 주사위를 세 개 가지고 있었다. 첫 번째 플레이어가 주사위를 살펴보고 하나를 고른다. 두 번째 플레이어는 남은 주사위 중 하나를 고른다. 두 사람은 각자의 주사위를 굴려 더 큰 수가 나오기를 겨룬다. 버핏은 빌에게 먼저 고르게 해 주겠다고 했지만, 빌은 함정이 있다고 의심해 두 번째를 택했다. 그 선택은 옳았다. 이 주사위들은 비이행적 주사위였기 때문이다. 첫 번째 주사위는 두 번째를 이기고, 두 번째는 세 번째를 이기지만, 첫 번째는 세 번째를 이기지 못한다.
이를 정식으로 정의하자. 각 면에 양의 정수가 적힌 면을 하나 이상 가진 모든 모양을 '주사위'라고 한다. 주사위를 굴리면 면 하나가 균일한 확률로 선택된다. 두 주사위를 서로 굴릴 때 선택된 면의 수가 더 큰 쪽이 1점을 얻는다. 두 수가 같으면 각 주사위가 1/2점씩 얻는다. 두 주사위 와 에 대해 는 가 와 한 번 굴려서 얻는 점수의 기댓값이다. 이면 가 에 대해 우위에 있다고 한다. 이면 두 주사위는 비긴다. 예를 들어 의 면이 1, 1, 6, 6, 8, 8이고 의 면이 2, 4, 9이면 , 이므로 가 에 대해 우위에 있다.
이 에 대해 우위에 있는 두 주사위 , 가 주어진다. 이 둘과 비이행적 삼중항을 이루는 세 번째 주사위 를 찾고자 한다. 에 대해 우위에 있거나 비기는 모든 중에서 의 최솟값을 구하라. 이 값이 보다 작으면 비이행적 삼중항을 만들 수 있다. 마찬가지로, 가 에 대해 우위에 있거나 비기는 모든 중에서 의 최댓값을 구하라.
입력
입력은 두 줄이며, 각 줄은 주사위 하나를 나타낸다. 두 주사위 중 하나가 다른 하나에 대해 우위에 있다. 우위에 있는 주사위가 이고, 나머지가 이다. 각 줄의 첫 정수는 면의 개수 ()이다. 이어서 개의 정수 가 주어지며, 각 는 번째 면에 적힌 수다 ().
출력
한 줄에 두 값을 출력한다. 첫 번째는 조건을 만족하는 중 의 최솟값이고, 두 번째는 조건을 만족하는 중 의 최댓값이다. 두 값이 반드시 같은 에서 나올 필요는 없다. 절댓값 오차가 이하이면 정답으로 인정한다.