У вас есть книга, в которой \(n\) глав.
В начале каждой главы перечислен список других глав, которые нужно понимать для понимания написанного в этой главе. Чтобы понять главу, нужно прочитать эту главу после того, как вы поняли все главы из данного списка.
Сейчас ни одна глава книги не понятна вам. Вы планируете читать книгу с начала до конца по кругу до тех пор, пока не поймете все главы. Обратите внимание, что если вы читаете некоторую главу, но еще не понимаете какие-то из необходимых для ее понимания глав, то вы не можете понять эту главу.
Определите, сколько раз вам нужно будет прочитать всю книгу, чтобы понять все главы, или определите, что есть главы, которые вы никогда не поймете, сколько бы раз вы не прочитали книгу.
Выходные данные
Для каждого набора входных данных, если вы можете понять все главы, выведите, сколько раз вам нужно прочитать книгу целиком, иначе выведите \(-1\).
Примечание
В первом примере с первого прочтения вы поймете главы \(\{2, 4\}\), а со второго — главы \(\{1, 3\}\).
Во втором примере для понимания любой главы нужно сначала понимать какую-то другую, поэтому невозможно понять всю книгу.
В третьем примере для понимания любой главы нужно понимать только более ранние, поэтому можно понять всю книгу за одно прочтение.
В четвертом примере вы поймете главы \(\{2, 3, 4\}\) с первого прочтения, и главу \(1\) со второго.
В пятом примере вы будем понимать главы по одной за прочтение, с \(5\)-й по \(1\)-ю.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5 4 1 2 0 2 1 4 1 2 5 1 5 1 1 1 2 1 3 1 4 5 0 0 2 1 2 1 2 2 2 1 4 2 2 3 0 0 2 3 2 5 1 2 1 3 1 4 1 5 0
|
2
-1
1
2
5
|