이 문제는 인터랙티브 문제이다.
개의 미지수와 개의 연산자로 이루어진 식 가 있다. 각 식의 형태는 다음과 같다.
각 는 비트 연산 AND 또는 OR 중 하나이다. 식은 항상 왼쪽에서 오른쪽 순서대로 계산된다. 즉, 일반적인 연산자 우선순위는 적용하지 않는다.
예를 들어 일 때 식은 다음과 같이 계산된다.
당신의 목표는 숨겨진 개의 연산자를 모두 알아내는 것이다.
당신은 최대 번까지 을 정한 후 질의할 수 있다. 이때 을 만족해야 하며, 인터랙터는 주어진 값들을 숨겨진 식에 대입했을 때의 계산 결과를 알려준다.
Interaction
이 문제는 개의 테스트 케이스로 이루어져 있다.
처음에 참가자의 프로그램은 정수 를 입력받는다.
그 후 각 테스트 케이스마다 정수 을 입력받는다.
각 테스트 케이스에서 참가자는 최대 번까지 다음 형식으로 질의할 수 있다.
- : 각 는 을 만족하는 정수이며, 인터랙터는 주어진 값들을 숨겨진 식에 대입했을 때의 계산 결과를 알려준다.
모든 연산자를 알아냈다면 다음 형식으로 답을 출력해야 한다.
여기서 는 번째 연산자를 나타내며, A 또는 O 중 하나여야 한다. A는 AND 연산을, O는 OR 연산을 뜻한다.
또한, 답 제출 시에는 각 문자 사이에 띄어쓰기가 있으면 안 됨에 유의하라. A O A 가 아닌 AOA 로 제출해야 한다.
정답의 맞고 틀림과 관계없이 이후 다음 테스트 케이스의 이 주어진다. 마지막 테스트 케이스까지 모두 마친 후에 프로그램을 종료하면 된다. 단, 번을 넘게 질의한 테스트 케이스가 있을 경우, 점을 받으니 유의하라.
출력 후에는 반드시 버퍼를 flush해야 한다.
Constraints
- .
- .
- 각 테스트 케이스에서 질의 횟수는 최대 번이다.
- 모든 질의에서 이어야 한다.
Subtasks
Scoring
참가자의 프로그램이 모든 테스트 케이스를 수행한 뒤, 다음 조건을 만족하는 가장 큰 정수 을 생각하자.
- 모든 에 대해, 식 가 개의 미지수를 가지는 모든 테스트 케이스에서 숨겨진 연산자를 정확히 맞혔다.
이때 점수는 다음과 같다.
단, 위 조건을 만족하는 이 존재하지 않는 경우 으로 본다.