한 카드 게임에서는 골드를 내고 카드를 한 장씩 뽑는다. 뽑은 카드의 등급은 다음 네 가지 중 하나이고, 어느 등급이 나올지는 무작위로 정해진다.
샤바칸은 골드를 모아 카드 N장을 뽑는다. 샤바칸은 뽑은 순서대로 적은 등급 N개짜리 나열을 이진 문자열 하나로 나타내려 한다. 가능한 등급 나열은 4N가지이므로 이 4N가지에 이진 문자열을 하나씩 대응시켜야 한다. 문자열이 어디서 끝나는지 알아볼 수 있어야 하므로, 대응시킨 4N개의 문자열 중 어느 것도 다른 문자열의 접두사가 되어서는 안 된다.
카드 한 장의 등급 확률분포가 주어지면 등급 나열마다 확률이 정해진다. 따라서 대응 방법을 하나 고르면 샤바칸이 쓰게 될 이진 문자열의 길이의 기댓값도 정해진다. 이 기댓값은 대응 방법에 따라 달라진다.
등급 확률분포가 주어질 때, 이진 문자열 길이의 기댓값을 가장 작게 만드는 대응 방법에서의 그 기댓값을 구하시오.
첫째 줄에 뽑는 카드의 수 N (1≤N≤20)이 주어진다.
둘째 줄에 카드 한 장이 일반, 희귀, 영웅, 전설 등급으로 나올 확률 PC, PR, PE, PL이 공백으로 구분되어 주어진다. 네 값은 모두 0 이상 1 이하이고 PC+PR+PE+PL=1이다. 확률이 0인 등급이 있어도 그 등급이 들어간 나열에 이진 문자열을 대응시켜야 한다.
첫째 줄에 이진 문자열 길이의 기댓값의 최솟값을 소수점 아래 여섯째 자리까지 반올림하여 출력한다.