:- set_prolog_flag(verbose,silent).
:- prompt(_, '').
:- use_module(library(readutil)).

main:-
	process,
	halt.
	
/* Leitura da entrada */
	
ler_chars(S) :-
    get_char(C),
    ler_resto(C,S).

ler_resto(end_of_file, []).
ler_resto(C, [C|R]) :-
    get_char(C2),
    ler_resto(C2, R).

ler_lista(L) --> ['('], pares(L), [')'].
	
pares([]) --> [].
pares([Par|R]) --> par(Par), pares(R).

par([Linha,Pontos]) --> ['('], numero(CLinha), [' ', '.', ' '], numero(CPontos), [')'],
                        { number_chars(Linha, CLinha), number_chars(Pontos, CPontos) }.

numero([]) --> [].
numero([C|R]) --> [C], { is_digit(C) }, numero(R).

/* Exemplo de relação maior/2 */

maior(A,B) :- A > B.

/***** Código *****/

lista_maiores(L, Valor, Maiores) :-
        findall(Linha, (member([Linha,Pontos], L), maior(Pontos, Valor)), Maiores).

/***** Fim código *****/

process:-
	ler_chars(Chars),
	ler_lista(L, Chars, []),
	lista_maiores(L, 2, Maiores),
	write(Maiores), nl,
	true.

:- main.