Problema C - Descobrindo Anagramas

Anagrama: do Gr. aná, para cima, para trás + grámma, letra
s. m., transposição de letras;
inversão das letras de um nome para formar outro.

A maior parte dos fãs de quebra-cabeças está habituado a lidar com anagramas, ou seja, grupos de palavras que usam o mesmo conjunto de letras, mas com uma ordem diferente (por exemplo, sacar, casar e caras são anagramas).

Uma classe de anagramas é um conjunto de duas ou mais palavras diferentes que usam exactamente as mesmas letras. Por exemplo, sacar, casar e caras formam uma classe de anagramas, e fio e foi formam outra classe de anagramas diferente.

Mas será que num texto normal que nós escrevemos no quotidiano aparecem muitos anagramas? E distribuem-se por muitas classes de anagramas, ou pelo contrário o número de classes é reduzido?

O Problema

A tua tarefa é fazer um programa que descubra quantas classes de anagramas existem num determinado texto.

Input

O input é um texto de tamanho arbitrário constituído por letras e outros caracteres.

Para efeitos deste problema, uma palavra é um conjunto de letras contínuo entre quaisquer outros caracteres ou delimitado pelo início ou fim do input. É garantido que nunca existirão palavras de tamanho superior a 30 e que o número de palavras diferentes do texto nunca ultrapassará 20000. Também convém fazer notar que não importa se as letras são maísculas ou mínusculas, isto é, Oni é a mesma palavra que oni ou ONI. Para simplificar, é também garantido que nunca aparecerão letras acentuadas no input.

Output

Uma única linha contendo o número de classes de anagramas que o texto contém.

Exemplo de Input

Dormia eu numa linda cama, quando sonhei com uma maca.
Foi entao que vi muitas caras e pensei:
Sera possivel sacar algo deste sonho? Sera possivel casar com a imaginacao?
Mas o sonho era confuso e o mundo inteiro estava preso por um fio...
E eu durante este tempo todo na minha cama!

Exemplo de Output

3

Explicação: as três classes de anagramas que existem no texto são:


Qualificação para a final das ONI'2005
(21/04 a 24/04 de 2005)