Início Inscrições Informações Gerais Regulamento Pratique Contato Mapa do Conteúdo

 Você está visitando: Início > Olimpíada Brasileira de Informática > Pratique > Modalidade Programação >
                                            > Nível 2

Vovô no Guinness

A família toda estava excitada com a notícia. Todos sabiam que vovô tinha sido por décadas, e ainda era, um excepcional jogador de truco. Mas quando foi anunciado que ele entraria no Livro de Recordes Guinness, ora, isso era incrível!

A Associação Internacional de Truco (ITT) mantém, há muitos anos, uma lista dos melhores jogadores do mundo, atualizada semanalmente. Considerando que um jogador ganha um ponto a cada semana que integrou a lista de melhores do mundo, vovô foi nomeado o melhor jogador de todos os tempos porque ele obteve o maior número de pontos.

Vovô está muito curioso para saber quem é (ou quem são) o(s) segundo(s) colocados segundo o critério adotado pelo Guinness. Como as listas da ITT estão agora disponíveis na internet, ele solicitou sua ajuda.

Tarefa

Você deve escrever um programa que, dadas as listas semanais da ITT, determine qual jogador (ou jogadores) é o segundo colocado de acordo com o número vezes em que aparece nas listas.

Entrada

A entrada contém vários casos de teste. Os jogadores são identificados por inteiros de 1 a 10000. A primeira linha de um caso de teste contém dois inteiros N e M indicando respectivamente o número de listas disponível (1 ≤ N ≤ 1000) e o número de jogadores em cada lista (2 ≤ M ≤ 10000). Cada uma das N linhas seguintes contém a descrição de uma lista de classificação semanal. Cada descrição contém uma seqüência de M números inteiros identificando os jogadores classificados naquela semana. Você pode assumir que

  • em cada caso de teste há exatamente um melhor jogador e ao menos um segundo melhor jogador;
  • cada lista de classificação semanal contém M identificadores de jogadores distintos.

O final da entrada é indicado por M = N = 0.

Os dados devem ser lidos da entrada padrão (teclado)

Exemplo de Entrada

4 5
20 33 25 32 99
32 86 99 25 10
20 99 10 33 86
19 33 74 99 32
3 6
2 34 67 36 79 93
100 38 21 76 91 85
32 23 85 31 88 1
0 0

Saída

Para cada conjunto de teste da entrada seu programa deve produzir três linhas na saída. A primeira linha deve conter um identificador do conjunto de teste, no formato "Teste n", onde n é numerado a partir de 1. A segunda linha deve conter o identificador do jogador que que é o segundo colocado. Se há mais de um jogador como segundo colocado, imprima todos esses, em ordem crescente.

A saída deve ser escrita na saída padrão.

Exemplo de Saída

Teste 1
32 33

Teste 2
1 2 21 23 31 32 34 36 38 67 76 79 88 91 93 100 

Restrições

1 ≤ N ≤ 1000 (N = 0 apenas para indicar o fim da entrada)
2 ≤ M ≤ 10000 (M = 0 apenas para indicar o fim da entrada)

Apoio: Unicamp Patrocínio: Fundação Carlos Chagas Promoção: SBC