package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
var n int
if _, err := fmt.Fscan(reader, &n); err != nil {
return
}
a := make([]int, n)
c := 0
for i := 0; i < n; i++ {
fmt.Fscan(reader, &a[i])
if a[i] == i {
c++
}
}
if c == n {
fmt.Println(n)
return
}
for i := 0; i < n; i++ {
if a[i] != i && a[a[i]] == i {
fmt.Println(c + 2)
return
}
}
fmt.Println(c + 1)
}