경품 추첨 속이기

n장의 응모권이 든 상자에 자신의 이름이 적힌 k장을 더 넣어, p장을 뽑을 때 자신의 이름이 정확히 한 번 나올 확률이 최대가 되도록 한다.

보통5수학조합론확률완전 탐색아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

경품 추첨이 열린다. 상품은 pp개이고, 참가하려면 자기 이름을 적은 종이를 추첨함에 넣으면 된다. 당첨자는 함에서 종이를 pp장 뽑아 정한다. 뽑힌 종이는 함에 다시 넣지 않으므로 한 사람이 받는 상품은 최대 한 개다.

이름을 두 장 이상 넣는 것은 규칙 위반이다. 그러나 주최 측은 함에 든 이름을 일일이 확인하지 않으므로, 자기 이름이 두 개 이상의 상품에 뽑혀야만 부정이 드러난다. 그래서 이름을 여러 번 넣으면 상품을 받을 확률이 오히려 올라가기도 한다.

다른 사람이 넣은 종이는 nn장이다. 여기에 자기 이름을 적은 종이를 kk장 넣는다고 하자 (k1k \ge 1). 그러면 함에 든 종이는 n+kn + k장이고, 그중 pp장을 같은 확률로 무작위로 뽑는다. kk를 잘 골라서 자기 이름이 정확히 한 번 뽑힐 확률을 최대로 만들어라.

입력

첫째 줄에 정수 nnpp가 공백으로 구분되어 주어진다 (2pn1062 \le p \le n \le 10^6). nn은 자기 것을 뺀 함 속 종이 수, pp는 나눠 주는 상품 수다.

출력

상품을 받을 확률의 최댓값을 소수점 아래 정확히 아홉 자리까지 반올림해 한 줄에 출력한다. 자릿수가 모자라면 0으로 채운다. 예를 들어 확률이 0.60.6이면 0.600000000을 출력한다.