Jogo Mortal
Esse é um problema interativo, caso não saiba como realizar interações com o sistema leia o guia de problemas interativos do NOIC.
Enzo Dantas andou se metendo com as pessoas erradas e agora foi parar em um jogo macabro onde você precisa ganhar de outras pessoas em jogos para conseguir escapar e se livrar das suas dívidas. Felizmente, Enzo é muito bom em atividades físicas e conseguiu sobreviver até agora, porém o último jogo é um pouco mais complexo, sendo uma única partida entre dois jogadores, Enzo e Ortsac, seu maior inimigo. O jogo começa com um inteiro positivo , com os jogadores tomando turnos. Em cada turno as seguintes ações acontecem:
- O jogador que tem o inteiro quebra ele em dois inteiros e , onde e . Aqui se refere a operação de XOR bitwise.
- Caso não existam quaisquer válidos, o jogador perde.
- Se não, o oponente escolhe entre o inteiro ou .
- O jogo continua com o oponente agora tentando "quebrar" o inteiro escolhido.
Como Enzo foi muito comportado em todas as fases anteriores, o dono do jogo deixa ele escolher após mostrar o inteiro se ele quer ser o primeiro ou o segundo a jogar. Seu objetivo como Enzo é ganhar o jogo, você pode executar no máximo 63 operações de quebra. O sistema vai agir como Ortsac.
Entrada
Cada entrada contém múltiplos casos de teste. A primeira linha do input contém um inteiro (), o número de casos de teste.
A única linha de cada caso de teste contém um inteiro (), o número no qual o jogo começa.
Interação
Para cada caso de teste, a interação começa lendo o inteiro .
Após ler , imprima uma única linha contendo first
ou second
, caso queira ser o primeiro ou o segundo à jogar, respectivamente.
No turno de Enzo, você deve imprimir dois inteiros e tal que e . Aqui é um dos dois inteiros impressos por Ortsac no turno anterior. Se não houve turno anterior, é igual à . Se Enzo não conseguir realizar essa operação imprima 0 0
para receber o veredito de Wrong Answer
.
No turno de Ortsac, você deve ler dois inteiros e tal que e . Aqui é um dos dois inteiros impressos por Enzo no turno anterior. Se não houve turno anterior, é igual à . Se Ortsac não conseguir realizar essa operação , nesse caso siga para o próximo caso de teste.
Se qualquer operação realizada por Enzo for inválida, ou ele realizar mais de 63 operações, o sistema vai imprimir -1 -1
, e ao receber isso você deve parar a execução do programa para receber o veredito de Wrong Answer
.
Depois de imprimir uma interação não esqueça de imprimir uma quebra de linha e dar flush no output. Caso contrário você vai receber o veredito de Idleness limit exceeded
. Para mais instruções leia o guia de problemas interativos.
Exemplo
Entrada | Saída |
4 1 0 0 3 0 0 13 3 4 0 0 777777770001 0 0 |
second first 2 1 first 10 7 1 2 first 777777770000 1 |
Para submeter o problema clique neste link.