Estradas
João é o rei de N-logândia, ele sabe que o reino é formado por cidades e estradas direcionadas. Não necessariamente existe caminho entre duas cidades.
Cada cidade de N-logândia possuí exatamente uma estrada direcionada saindo dela e ligando com outra cidade. João acha as cidades do reino de N-logândia muito confusas, por isso ele vai escolher algumas estradas e mudar o sentido delas. As cidades são consideradas confusas se quando você passa por elas você volta para uma cidade que você já havia passado, ou seja, se a cidade forma um ciclo direcionado.
Por ele achar muito confuso, João decidiu pedir sua ajuda para saber de quantas maneiras diferentes ele pode escolher um conjunto de estradas para inverter de tal forma que nenhuma cidade do reino fique confusa.
Caso você deseje submeter a questão, entre nesse link.
Entrada
A primeira linha de entrada contém um único número inteiro .
A segunda linha contêm inteiros , significa que a cidade possuí uma estrada apontando para a cidade .
Saída
Imprima um inteiro representando o número de maneiras que ele pode inverter as cidades, como a resposta pode ser muito grande imprima ela módulo .
Exemplos
ENTRADA | SAÍDA |
3 2 3 1 |
6 |
4 2 1 1 1 |
8 |
5 2 4 2 5 3 |
28 |
Explicação
No primeiro exemplo temos o seguinte grafo:
Aqui estão todas as maneiras de inverter as arestas: