Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

TRINCAS - Baixe as trincas

Os habitantes de uma pequena ilha caribenha na região conhecida como Triângulo das Bermudas adoram gastar suas noites quentes de verão jogando cartas. Como um tributo para a região onde moram, todos seus jogos de cartas têm alguma conexão com triângulos. Um dos jogos mais populares na ilha é conhecido como Trincas, e tem regras bem simples.

O jogo é jogado entre dois amigos, com um baralho de cartas padrão. As cartas são distingüidas apenas por seus valores, de 1 (Ás) a 13 (Rei). As cartas são embaralhadas e colocadas em uma pilha no centro da mesa, viradas para baixo. Essa pilha é chamada de pilha. Os dois jogadores jogam em turnos. A cada turno, um jogador

• saca a carta do topo da pilha, adicionando ela para sua mão; e

• decide se ele/ela quer “baixar algumas trincas”.

Baixar uma trinca consiste de escolher três cartas (uma trinca) da mão e colocar elas na mesa, viradas para cima. Os trios baixados permanecem na mesa até o fim do jogo. Somente algumas combinações de cartas formam uma trinca válida. Existem dois tipos de trincas válidas:

• Trincas perfeitas são compostas de três cartas cujos valores representam os lados de um triângulo equilátero;

• Trincas comuns são compostas de três cartas cujos valores representam os lados de um triângulo não equilátero.

A figura abaixo mostra exemplos de trincas perfeitas (a), trincas comuns (b), e trincas inválidas (c).

Somente trincas válidas podem ser baixadas, mas um jogador pode baixar um número qualquer de trincas em um dado turno. Em particular, já que os jogadores sabem o número de cartas na pilha a cada turno, um jogador pode decidir baixar todas as trincas em seu último turno. Alguns jogadores, no entanto, normalmente baixam algumas trincas durante o jogo, para manter o mínimo de cartas possíveis em suas mãos.

O jogo acaba quando a pilha está vazia. O vencedor é o jogador que baixou o maior número de trincas perfeitas. Se os dois jogadores baixaram o mesmo número de trincas perfeitas, o vencedor é o jogador que baixou o maior número de trincas comuns. Se os dois jogadores baixaram o mesmo número de trincas perfeitas e o mesmo número de trincas comuns, o resultado é um empate.

Dada a descrição de cartas na pilha, escreva um programa que determina o vencedor de um jogo de Trincas, considerando que os dois jogadores jogam da melhor maneira possível.

Entrada

A entrada contém vários casos de teste. A primeira linha contém um inteiro N representando o número de cartas na pilha (6 <= N <= 10^4). A próxima linha contém N inteiros Xi, separados por espaço, representando as cartas na pilha (1 <= Xi <= 13, para 1 <= i <= N). As cartas são dadas na ordem que são sacadas pelos jogadores: a primeira carta da entrada (X1) é a primeira carta sacada, a segunda carta da entrada (X2) é a segunda carta sacada, e assim por diante. Várias cartas com o mesmo valor podem estar presentes na pilha, e não necessariamente todos os valores de cartas estão presentes na pilha. O final da entrada é dado por N = 0.

Saída

Para cada caso de teste seu programa devem imprimir uma única linha, contendo '1' se o primeiro jogador ganhar, '2' se o segundo jogador ganhar, ou '0' se tiver um empate.

Exemplo

Entrada
7
5 6 5 6 5 6 8
12
13 13 13 13 13 13 1 3 2 9 3 9
12
1 2 1 2 1 2 3 1 4 2 5 3
0

Saída
0
2
1

Adicionado por:Wanderley Guimarăes
Data:2008-08-09
Tempo limite:0.384s
Tamanho do fonte:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Linguagem permitida:Todas exceto: ASM64 CLOJURE ERL FSHARP JS-RHINO PERL6 PY_NBC SCALA TCL
Origem:Final Sul-Americana da Maratona de Programação da ACM 2007

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.