\documentclass[11pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[brazil]{babel}
\usepackage{pifont}
\setlength{\textheight}{8.5in}
\setlength{\textwidth}{6.5in}
\setlength{\evensidemargin}{0pt}
\setlength{\oddsidemargin}{0pt}
\setlength{\topmargin}{-30pt}


\begin{document}
\noindent
{\footnotesize {\sc MAC--IME--USP}} \hfill {\footnotesize {\sc Carlos Eduardo Ferreira}}

\vspace{-1mm}
\hfill {\footnotesize {\sc Sala 297A Tel.: 818 6140}}

\vspace{-1mm}
\hfill {\footnotesize {\sc e-mail} cef@ime.usp.br}

\vspace{1cm}

\begin{center}
{\large\bf MAC 5710 -- Estruturas de Dados}
\end{center}

\begin{center}
{\bf Primeiro semestre de 1999}
\end{center}

\begin{center}
{\large  Exercício-Programa 2 -- Entrega: {\bf 3 de maio de 1999}}

\vspace{0.3cm}

Campeonato de truco
\end{center}


Organizar campeonatos não é uma tarefa completamente trivial. Especialmente um
campeonato de truco, jogo conhecido por suas regras estranhas e jogadores mais
estranhos ainda. 

Depois de um longo campeonato de truco, com vários jogos, a comissão
organizadora ficou na dúvida sobre se havia ou não um campeão, ou mesmo se as
equipes podiam ser classificadas em alguma ordem (ainda que permitindo
empates). Neste ponto eles resolveram fazer um programa para solucionar o
problema. 

Dados os resultados de diversas partidas entre as equipes concorrentes, o
programa deverá decidir se há ou não uma classificação clara entre as equipes
(eventualmente algumas empatadas), ou se esta classificação é impossível. Ao
invés de atribuir pontos para vitórias (já que o número de partidas de cada
equipe pode ser diferente), a comissão organizadora resolveu que se uma
equipe $A$ venceu a equipe $B$ em uma partida, a classificação de $A$ deve ser
necessariamente melhor do que a classificação de $B$. 

Seu programa deve ler os resultados de vários campeonatos de truco,
determinando, para cada um deles se há ou não uma classificação (seguindo o
critério da comissão organizadora) e, caso haja, qual é essa classificação. 

\subsection*{Entrada}

São dados vários campeonatos de truco. Cada campeonato é dado por várias
linhas. A primeira linha contém o número de equipes participantes  
e o número de jogos realizados por estas equipes. A
seguir, vêm os $m$ resultados, cada um em uma linha, com um par $i$, $j$ com o
significado de que a equipe $i$ ganhou o jogo de $j$. Após o último
campeonato aparece um zero. 

\subsection*{Saída}

Para cada campeonato você deverá imprimir uma mensagem com o número do
campeonato ({\tt CAMPEONATO \#1}, etc). A seguir vem a classificação deste
campeonato. 
Caso não haja uma classificação possível, seu programa deverá imprimir a
mensagem \ {\tt Nao ha classificacao possivel}. Caso a classificação seja
possível seu programa deverá imprimir em cada linha a classificação ({\tt
1.~lugar}, {\tt 2.~lugar}, etc) e os números das equipes com tal
classificação. Deverá haver uma linha em branco separando os campeonatos. 

\subsection*{Exemplo}

Entrada
\begin{verbatim}
5 5
1 3 
1 4
2 3
2 5
3 5
4 6
1 2
1 3
1 4
2 1
2 3
3 4
0
\end{verbatim} 

Saída
\begin{verbatim}
CAMPEONATO #1
1. lugar 1 2
3. lugar 3 4
5. lugar 5

CAMPEONATO #2
Nao ha classificacao possivel
\end{verbatim}

\end{document}