Планується відправити експедицію до сусідньої зоряної системи. Були відібрані \(n\) кандидатів, пронумерованих від 1 до \(n\), серед яких необхідно вибрати учасників експедиції. Організатори хочуть відправити у експедицію якомога більше кандидатів. Серед кандидатів було проведено опитування, в процесі якого кожен міг вказати не більше, ніж одного з інших кандидатів, з яким він не готовий відправитися в експедицію. Результатом опитування для \(i\)-го кандидата є ціле число \(a_i\), яке дорівнює номеру кандидата, з яким \(i\)-й кандидат не готовий відправитися в експедицію, або -1, якщо \(i\)-й кандидат готовий відправитися в експедицію в будь-якому складі.
Тепер організатори повинні вибрати, хто з кандидатів відправиться в експедицію. Вирішено було вибрати учасників експедиції так, що якщо туди входить деякий кандидат \(i\), і \(a_i \neq -1\), то туди не входить кандидат \(a_i\). Організатори хочуть вибрати максимальну кількість учасників експедиції.
Потрібно написати програму, яка за заданими результатами опитування кандидатів визначає максимальну кількість кандидатів, яких можна відправити в експедицію.
Формат вхідних даних
У першому рядку вхідних даних знаходиться ціле число \(n\) - кількість кандидатів (\(1 \le n \le 300 000\)).
У наступних \(n\) рядках дано результати опитування, \(i\)-й з цих рядків містить результат опитування \(i\)-го кандидата, ціле число \(a_i\) (\(a_i = -1\) або \(1 \le a_i \le n\), \(a_i \neq i\)).
Формат вихідних даних
У єдиному рядку виведіть одне ціле число - максимальну кількість кандидатів, яких можна відправити в експедицію.
Scoring
Бали за кожну підзадачу нараховуються тільки у випадку, якщо всі тести для цієї підзадачі і необхідних підзадач успішно пройдені.
Підзадача 1: 19 балів, \(n \le 20\);
Підзадача 2: 10 балів, \(a_1 = -1\), для \(i > 1\) виконано \(a_i = i - 1\);
Підзадача 3: 15 балів, для всіх \(i\) виконано \(a_i < i\),
Підзадача 4: 13 балів, \(1 \le n \le 2000\),
Підзадача 5: 43 бали, \(1 \le n \le 300 000\),
Приклад вхідних даних
4
2
4
2
1
Приклад вихідних даних
2
Приклад вхідних даних
3
2
-1
2
Приклад вихідних даних
2
Коментарі