B. Неподвижные точки
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

Перестановка длины n — это последовательность целых чисел такая, что каждое целое число от 0 до (n - 1) встречается в ней ровно один раз. Например, последовательность [0, 2, 1] представляет собой перестановку длины 3, а вот [0, 2, 2] и [1, 2, 3] — нет.

Неподвижная точка функции — это такая точка, которую отображение функции переводит в нее же. Перестановку можно рассматривать как взаимно-однозначную функцию. Дадим определение неподвижной точки перестановки. Целое число i называется неподвижной точкой перестановки a0, a1, ..., an - 1 тогда и только тогда, когда ai = i. Например, перестановка [0, 2, 1] имеет 1 неподвижную точку, а перестановка [0, 1, 2] имеет 3 неподвижные точки.

Дана перестановка a. Вам разрешено не более одного раза поменять местами два элемента перестановки. Какое наибольшее количество неподвижных точек можно получить в перестановке? Обратите внимание, что вам разрешено сделать не более одного обмена местами.

Входные данные

В первой строке записано единственное целое число n (1 ≤ n ≤ 105). Во второй строке записано n целых чисел a0, a1, ..., an - 1 — данная перестановка.

Выходные данные

Выведите единственное целое число — максимальное количество неподвижных точек, которое можно получить в перестановке, используя не более одного обмена двух элементов местами.

Примеры
Входные данные
5
0 1 3 4 2
Выходные данные
3