미스터리 제곱수 (스몰)
시간 제한5초메모리 제한512 MB
이진수 완전제곱수에서 가려진 ?를 0 또는 1로 채워 원래 수를 복원합니다.
문제
큰 완전제곱수를 2진법으로 적은 다음, 몇몇 자리의 숫자를 물음표로 바꿨다. 원래 수가 무엇이었는지 알아내자.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다. 이어지는 개의 줄에 테스트 케이스가 한 줄에 하나씩 주어진다. 각 줄에는 문자열 가 주어지며, 는 완전제곱수를 2진법으로 적은 뒤 일부 자리를 물음표로 바꾼 것이다.
출력
각 테스트 케이스마다 Case #x: N 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, N은 의 물음표를 각각 '0' 또는 '1'로 바꿔서 얻은 완전제곱수를 2진법으로 적은 것이다.
제한
- 는 '1'로 시작한다.
- 는 '0', '1', '?' 세 가지 문자만 포함한다.
- 모든 테스트 케이스에서 N으로 가능한 값은 정확히 하나이다.
- 의 길이는 60 이하이다.
- 에 들어 있는 '?'는 20개 이하이다.