정민이의 수열 제조법
시간 제한1초메모리 제한1024 MB
제곱과 곱셈을 반복해 1부터 N까지 모든 수를 만들 수 있는 초기 정수 집합을 구하고, 그 집합에서 a 이상 b 이하인 원소의 개수를 묻는 질문에 답한다.
문제
정민이는 부터 까지 한 개씩 들어있는 수열을 만드는 것을 목표로 한다. 이를 위해 최소 개수의 양의 정수가 들어있는 수열을 준비했고, 목표를 달성할 때까지 다음 작업들을 반복했다.
- 수열에 있는 한 정수를 제곱한 수를 수열에 추가한다.
- 수열에 있는 두 정수를 곱한 수를 수열에 추가한다.
익준이는 모든 작업을 마친 정민이를 보고 어떤 정수들을 가지고 처음 작업을 시작했는지 물었다. 그러자 정민이는 답을 알려주는 대신 익준이가 와 를 물어보면 초기 정수 중 이상 이하인 정수들의 개수를 알려 주겠다고 했다. 익준이는 질문을 총 번 할 것이다.
익준이의 질문에 답을 해주자.
입력
첫 번째 줄에 정수 이 공백으로 구분되어 주어진다.
두 번째 줄부터 개의 줄에 정수 가 공백으로 구분되어 주어진다.
출력
개의 줄에 각 질문의 답을 출력한다.
힌트
Python 3 사용자는 PyPy3로 제출할 것을 권장한다.