from sys import stdin

#SHAME SHAME SHAME
def stuff(N, arr):
    count = 0
    minInd  = 0
    sortInd = 0 
    while True:
        if sortInd == N: return count
        for index in range(count, N):
            if arr[minInd] > arr[index]:
                minInd = index
        if count!= minInd:
            arr[count], arr[minInd] = arr[minInd], arr[count]
            count+=1
        sortInd += 1
       
def otterStuff(n, arr):
    count = 0
    for i in range(n):
        if arr[i] != i+1 and arr[arr[i]-1] == i+1 :
            arr[arr[i]-1], arr[i] = arr[i], arr[arr[i]-1]
            count += 1

    for i in range(2):
        for i in range(n):
            if arr[i] != i+1:
                arr[arr[i]-1], arr[i] = arr[i], arr[arr[i]-1]
                count += 1
            #print(i)
    #print(arr)
    return count


def main():
    N = 0
    arr = [] 
    alternate = True
    while True:
        try:
            line = input()
            if alternate:
                N = int(line)
                alternate = False
            else:
                [arr.append(int(x)) for x in line.split()]
                print(otterStuff(N,arr))
                arr = []
                N = 0
                alternate = True
        except EOFError:
            break

#    SHAME SHAMESHAME
#    for line in stdin:
#        if alternate == 0:
#            N = int(line)
#            alternate = (alternate+1)%2  
#        else: 
#            [arr.append(int(x)) for x in line.split()]
#            print (otterStuff(N, arr))
#            arr = []
#            N = 0
#            alternate = (alternate+1)%2

main()
