[ED234] Avaliações Cinematográficas

Neste problema deverá submeter uma classe ED234 contendo um programa completo para resolver o problema (ou seja, com o método main).
Pode assumir que no Mooshak terá acesso a todas as classes base dadas nas aulas, incluindo as de árvores binárias BTree, BSTree e BSTMap (não precisa de as incluir na submissão).
Pode fazer download de todas as classes num arquivo zip ou ver as classes uma a uma.


[SUBMISSÃO PARA AVALIAÇÃO] Este problema está disponível para submissão a contar para avaliação até às 23:59 do dia 6 de Junho. Não deixe de ler as instruções para submissão.


Suponha que tem disponível uma lista de avaliações de filmes. Uma avaliação é caracterizada por um par (filme,nota) onde o filme é uma palavra sem espaços e a nota é um inteiro entre 1 e 10.

A sua tarefa é fazer algumas estatísticas sobre estas avaliações. Nomeadamente, deve calcular:

Imagine por exemplo que tinha a seguinte lista de 10 avaliações:

Filme Nota
StarWarsVIII 5
BladeRunner2049 8
ShapeOfWater 4
Solo 6
StarWarsVIII 2
Solo 4
BladeRunner2049 4
ShapeOfWater 1
GetOut 9
BladeRunner2049 6

Para esta lista de avaliações as estatísticas eram as seguintes:

Input

A primeira linha de input contém um inteiro F, a flag (1, 2 ou 3) indicando qual estatística deve calcular, de acordo com o atrás descrito.

A segunda linha contém um inteiro N, a quantidade de avaliações (1≤N≤50). Seguem-se N linhas descrevendo as avaliações em si, cada uma no formato FILME NOTA, onde FILME é uma palavra sem espaços e NOTA é um inteiro entre 1 e 10.

Output

O output do seu programa depende da flag dada:

Dicas

É livre para fazer fazer como quiser, mas é sugerido fazer da seguinte maneira:

Exemplo de Input/Output para a Flag 1

Input 1 Output 1
1
10
StarWarsVIII 5
BladeRunner2049 8
ShapeOfWater 4
Solo 6
StarWarsVIII 2
Solo 4
BladeRunner2049 4
ShapeOfWater 1
GetOut 9
BladeRunner2049 6
5

Exemplo de Input/Output para a Flag 2

Input 2 Output 2
2
10
StarWarsVIII 5
BladeRunner2049 8
ShapeOfWater 4
Solo 6
StarWarsVIII 2
Solo 4
BladeRunner2049 4
ShapeOfWater 1
GetOut 9
BladeRunner2049 6
BladeRunner2049 3

Exemplo de Input/Output para a Flag 3

Input 3 Output 3
3
10
StarWarsVIII 5
BladeRunner2049 8
ShapeOfWater 4
Solo 6
StarWarsVIII 2
Solo 4
BladeRunner2049 4
ShapeOfWater 1
GetOut 9
BladeRunner2049 6
BladeRunner2049
GetOut
Solo