필요한 2의 거듭제곱 크기 정사각형을 잘라 만들 때 사야 하는 M×M 타일의 최소 개수를 구합니다.
엔조는 새로 산 집을 고치고 있다. 가장 까다로운 일은 필요한 타일을 정확히 맞춰 사는 것이다.
엔조에게는 정사각형 타일 NNN개가 필요하고, kkk번째 타일의 한 변 길이는 2Sk2^{S_k}2Sk이다. 가게에서는 M×MM \times MM×M 크기의 정사각형 타일만 판다. 엔조는 산 타일을 변에 평행한 방향으로만 자르고, 필요한 타일은 모두 여기서 잘라 낸다. 필요한 타일 한 장은 산 타일 한 장에서 통째로 잘라 내야 하며, 여러 조각을 이어 붙일 수는 없다.
엔조가 사야 하는 타일은 최소 몇 장인가?
첫 줄에 테스트 케이스의 개수 TTT가 주어진다. 이어서 TTT개의 줄에 테스트 케이스가 한 줄씩 주어진다. 각 줄은 필요한 타일의 개수 NNN과 가게에서 파는 타일의 크기 MMM으로 시작하고, 그 뒤에 타일의 크기를 정하는 정수 S1,S2,…,SNS_1, S_2, \dots, S_NS1,S2,…,SN이 차례로 주어진다.
제한
각 테스트 케이스마다 "Case #x: y" 형식으로 한 줄씩 출력한다. xxx는 1부터 시작하는 테스트 케이스 번호이고, yyy는 엔조가 사야 하는 타일의 최소 개수이다.