Problemas da Semana 43 - Problema Avançado

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 n, com os jogadores tomando turnos. Em cada turno as seguintes ações acontecem:

  • O jogador que tem o inteiro p quebra ele em dois inteiros p_1 e p_2, onde 0 < p_1, p_2 < p e p_1 \oplus p_2 = p. Aqui \oplus se refere a operação de XOR bitwise.
  • Caso não existam quaisquer p_1, p_2 válidos, o jogador perde.
  • Se não, o oponente escolhe entre o inteiro p_1 ou p_2.
  • 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 n 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 t (1 \leq t \leq 1000), o número de casos de teste.

A única linha de cada caso de teste contém um inteiro n (1 \leq n \leq 10^{18}), o número no qual o jogo começa.

Interação

Para cada caso de teste, a interação começa lendo o inteiro n.

Após ler n, 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 p_1 e p_2 tal que 0 < p_1, p_2 < p e p_1 \oplus p_2 = p. Aqui p é um dos dois inteiros impressos por Ortsac no turno anterior. Se não houve turno anterior, p é igual à n. 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 p_1 e p_2 tal que 0 < p_1, p_2 < p e p_1 \oplus p_2 = p. Aqui p é um dos dois inteiros impressos por Enzo no turno anterior. Se não houve turno anterior, p é igual à n. Se Ortsac não conseguir realizar essa operação p_1 = p_2 = 0, 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.