1의 개수 세기

아직 제출이 없습니다시간 제한8초메모리 제한256 MB

문제

bi(x)b_i(x)xx의 아래에서 ii번째 비트, 곧 xx를 2진법으로 나타냈을 때 아래에서 ii번째 자리의 수라고 하자 (i1i \ge 1). 예를 들어 6=(110)26 = (110)_2이므로 b1(6)=0b_1(6) = 0, b2(6)=1b_2(6) = 1, b3(6)=1b_3(6) = 1이고, i4i \ge 4인 모든 ii에 대해 bi(6)=0b_i(6) = 0이다.

정수 AABB1AB10181 \le A \le B \le 10^{18}을 만족한다. kik_iAxBA \le x \le B이면서 bi(x)=1b_i(x) = 1인 정수 xx의 개수다.

{ki}\{k_i\}가 주어질 때 AABB를 알아내는 프로그램을 작성하라.

입력

입력은 여러 개의 데이터 집합으로 이루어진다. 데이터 집합의 개수는 100,000을 넘지 않는다. 각 데이터 집합의 형식은 다음과 같다.

n
k1
k2
...
kn

각 데이터 집합의 첫 줄에는 정수 nn (1n641 \le n \le 64)이 주어진다. 이어지는 nn개의 줄에는 각각 kik_i (0ki26310 \le k_i \le 2^{63} - 1)가 주어진다. i>ni > n인 모든 ii에 대해 ki=0k_i = 0이다.

입력의 마지막 줄에는 n=0n = 0이 주어진다. 이 줄에 대해서는 아무것도 출력하지 않는다.

출력

각 데이터 집합마다 한 줄씩 출력한다.

  • AABB가 하나로 정해지면 AABB를 공백 하나로 구분해 출력한다.
  • 조건을 만족하는 (A,B)(A, B)가 둘 이상이면 Many를 따옴표 없이 출력한다.
  • 조건을 만족하는 (A,B)(A, B)가 하나도 없으면 None을 따옴표 없이 출력한다.