저녁 내기

N개의 공에서 매 라운드 D개를 뽑을 때, 두 사람의 크기 C 카드 중 하나가 완성될 때까지 걸리는 기대 라운드 수를 구한다.

보통7확률동적 계획법조합론아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

세사르와 라울은 내기와 맛있는 음식을 좋아한다. 새로 생긴 고급 식당에 가보기로 하면서 두 사람은 게임을 하고, 진 사람이 저녁값을 내기로 했다.

상자에 공이 NN개 들어 있고, 각 공에는 11부터 NN까지 서로 다른 번호가 하나씩 적혀 있다. 게임은 다음 규칙으로 진행된다.

  • 게임을 시작할 때 두 사람은 각자 11 이상 NN 이하의 서로 다른 수를 CC개 골라 자기 카드에 적는다.
  • 매 라운드에 상자에서 공 DD개를 뽑는다. 공 DD개를 뽑는 모든 방법이 나올 확률은 같다. 두 사람은 뽑힌 번호 중 자기 카드에 있는 수를 표시한다. 뽑은 공 DD개는 다시 상자에 넣는다.
  • 카드에 적은 수를 모두 표시한 사람이 나오면 그 라운드에서 게임이 끝나고 그 사람이 이긴다. 두 사람이 같은 라운드에 동시에 다 표시하면 무승부이고 저녁값을 반씩 낸다.

공의 개수 NN, 한 라운드에 뽑는 공의 개수 DD, 카드의 크기 CC, 두 사람이 적은 수가 주어진다. 게임이 진행되는 라운드 수의 기댓값을 구하라.

입력

첫째 줄에 정수 NN, DD, CC가 공백으로 구분되어 주어진다. 둘째 줄에는 세사르가 적은 수 CC개가, 셋째 줄에는 라울이 적은 수 CC개가 공백으로 구분되어 주어진다. 한 줄에 주어지는 CC개의 수는 서로 다르다.

출력

게임이 진행되는 라운드 수의 기댓값을 소수점 아래 다섯째 자리까지 반올림해 한 줄에 출력한다.

제한

  • 1N501 \le N \le 50: 상자에 든 공의 개수
  • 1Dmin(10,N)1 \le D \le \min(10, N): 한 라운드에 뽑는 공의 개수
  • 1Cmin(10,N)1 \le C \le \min(10, N): 카드의 크기
  • 카드에 적는 수는 11 이상 NN 이하이고, 한 카드 안에서 서로 다르다.