게임 주사위

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

문제

테이블탑 롤플레잉 게임에서 플레이어는 여러 면을 가진 주사위를 굴려 행동의 결과를 결정하는 난수를 만든다. 이 주사위는 4면체부터 20면체까지 다양한 모양을 가진다. nn면 주사위(줄여서 dndn)의 각 면에는 11부터 nn까지의 수가 적혀 있으며, 모든 면이 나올 확률은 같다. 이 문제에서 사용하는 주사위는 d4d4, d6d6, d8d8, d10d10, d12d12, d20d20이다.

원하는 범위의 값을 얻기 위해 여러 개의 주사위를 함께 굴려 나온 눈의 합을 사용하기도 한다. 서로 다른 주사위 조합이 같은 범위의 합을 만들 수 있지만, 그 범위 안의 각 합이 나올 확률은 전혀 다를 수 있다. 예를 들어 d6d6d10d1022부터 1616까지의 합을 만들 수 있고 d8d8 두 개도 마찬가지이지만, 99가 나올 확률은 두 경우가 서로 다르다.

주어진 주사위 집합과 목표 수가 있을 때, 그 합이 정확히 나올 확률을 구하여라.

입력

입력은 여러 개의 테스트 케이스로 이루어지며, 각 케이스는 한 줄에 주어진다. 각 줄은 굴리는 주사위의 개수를 나타내는 정수 dd (1d131 \le d \le 13)로 시작한다. 그 뒤에 dd개의 주사위 표기가 이어지며, 각각은 d4d4, d6d6, d8d8, d10d10, d12d12, d20d20 중 하나이다. 줄의 마지막 값은 확률을 구할 목표 합을 나타내는 정수 xx (0x10000 \le x \le 1000)이다. 00 하나만 있는 줄은 입력의 끝을 나타내며 처리하지 않는다.

출력

각 테스트 케이스마다 주어진 주사위로 합 xx가 나올 확률을 소수점 아래 다섯 자리로 반올림하여 한 줄에 출력한다. 뒤따르는 00이 있더라도 소수점 아래 다섯 자리를 모두 출력해야 한다.