양의 정수로 이루어진 다중집합 K에 대해 대량 분해 연산을 정의한다. 대량 분해는 K의 모든 원소를 동시에 처리한다. 원소 k가 소수면 그대로 둔다. 소수가 아니면 1<d<k인 k의 약수 d를 하나 골라 k를 d와 k/d 두 수로 바꾼다. 조건을 만족하는 약수는 모두 같은 확률로 뽑히고, 원소마다 독립적으로 뽑는다.
예를 들어 K={2,10,12,12}를 보자. 2는 소수라 그대로 남는다. 10은 1과 10 사이의 약수가 2와 5뿐이라 항상 {2,5}가 된다. 12는 약수 2, 3, 4, 6 중 하나를 각각 확률 1/4로 고르므로 확률 1/2씩으로 {2,6} 또는 {3,4}가 된다. 그래서 첫 번째 대량 분해의 결과는 확률 0.25로 {2,2,3,3,4,4,5}, 확률 0.5로 {2,2,2,3,4,5,6}, 확률 0.25로 {2,2,2,2,5,6,6}이다. 마지막 결과에 두 번째 대량 분해를 하면 {2,2,2,2,2,2,3,3,5} 하나만 나온다.
원소가 N 하나뿐인 다중집합 {N}에서 시작해 모든 원소가 소수가 될 때까지 대량 분해를 반복한다. 필요한 대량 분해 횟수의 기댓값을 구하여라.
첫 줄에 테스트 케이스의 개수 T가 주어진다. (1≤T≤104)
이어지는 T개의 줄에 각 테스트 케이스의 시작 값 N이 한 줄에 하나씩 주어진다. (2≤N≤1010)
각 테스트 케이스마다 대량 분해 횟수의 기댓값을 한 줄에 하나씩 출력한다. 값은 반올림해서 소수점 아래 여섯 자리까지 정확히 적는다. 답이 2이면 2.000000으로 출력한다.