Макару срочно нужно получить справку в больнице. Всего в больнице есть n кабинетов, пронумерованных целыми числами от 1 до n.
Так как везде царит бюрократия, посетитель больницы, пришедший в кабинет i, будет отправлен из него в кабинет ai (i ≠ ai).
Зная информацию о том, из какого кабинета в какой отправляют посетителей больницы, определите, сколько кабинетов посетит Макар перед тем, как впервые попадёт в кабинет, в котором уже побывал. Сразу после прихода в больницу Макар пойдёт за справкой в кабинет номер 1.
В первой строке следует целое число n (2 ≤ n ≤ 100) — количество кабинетов в больнице.
Во второй строке следует последовательность целых чисел a1, a2, ..., an (1 ≤ ai ≤ n, i ≠ ai), где ai равно номеру кабинета, в который отправляют посетителей кабинета i.
Выведите количество посещенных Макаром кабинетов перед тем, как он впервые попадёт в кабинет, в котором уже побывал.
3
3 3 1
2
5
2 3 4 5 2
5
В первом примере Макара из первого кабинета отправят в третий, а из третьего кабинета отправят в первый. Так как Макар уже был в первом кабинете, то ответ равен двум (то есть Макар посетит первый и третий кабинет перед тем, как попасть в кабинет, в котором уже был).
Во втором примере Макара отправят из первого кабинета во второй, из второго — в третий, из третьего — в четвёртый, из четвёртого — в пятый, а из пятого — во второй, то есть в кабинет, в котором Макар уже был. Таким образом, он посетит все пять кабинетов до того, как придёт в кабинет, в котором уже был.
Name |
---|