Ir al contenido (saltar navegación)

Julia robó pan

Tiempo máximo: 1,000-2,000 sMemoria máxima: 4096 KiB
Excursión en autobús

Hay una vieja cancioncilla que los conductores de autobús escuchan una y otra vez cuando les toca llevar de excursión a colegiales. En ella se establece una especie de conversación entre una persona y el resto del grupo:

- [Grupo] Julia robó pan en la fiesta de San Juan.
- [Julia] ¿Quién? ¿Yo?
- [Grupo] ¡Sí, tú!
- [Julia] ¡Yo no fui!
- [Grupo] ¿Entonces quién?
- [Julia] Mmmmmm... ¡Andrés!

En ese momento el acusado pasa a ser Andrés; el grupo canta de nuevo "Andrés robó pan en la fiesta de San Juan", Andrés es el que se defiende, acusa a otro y así sucesivamente.

A la larga, claro, llega un momento en que una persona es acusada por segunda vez. La regla no escrita es que en ese caso, cuando le toca decir el nombre del siguiente, no puede decir al mismo que dijo la primera vez; si todos hicieran lo mismo se terminaría en un ciclo que se repetiría indefinidamente.

En la excursión de hoy, no obstante, esa regla no se cumple. Todos los excursionistas tienen un "mejor amigo" que es al que acusarán si les llega el turno. Eso significa que, da igual quién sea el primer sospechoso de robar pan, el juego terminará en un ciclo sin fin. Dada la lista de mejores amigos, ¿cuántos de tales ciclos hay?

Entrada

La entrada estará compuesta por distintos casos de prueba cada uno en dos líneas.

Cada caso de prueba representa una excursión y comienza con el número N de colegiales (hasta 10.000). A continuación viene una línea con N números, uno por viajero. El número i-ésimo representa el mejor amigo de la persona i (las personas están numeradas entre 1 y N). Se garantiza que ningún excursionista se acusa a sí mismo.

Salida

Por cada caso de prueba se escribirá una línea con un único entero indicando el número de finales posibles distintos, es decir en cuántos ciclos diferentes se puede terminar.

Entrada de ejemplo

4
2 3 4 1
4
2 1 4 3
3
2 3 2

Salida de ejemplo

1
2
1