#include #include #include #include #include #define DEBUG #ifdef DEBUG #define DBG if (1) #else #define DBG if (0) #endif #define PA(arr, n) DBG for (int i = 0; i < n; i++) printf("%d%c", arr[i], "\n "[i < n - 1]) #define PD(n) DBG printf("DEBUG %d\n", n); #define PDBL(n) DBG printf("DEBUG %lf\n", n); using namespace std; int main () { int n, k; while(scanf("%d", &n) == 1){ vector arr(n+1); for(int i = 1; i <= n; i++) scanf("%d", &arr[i]); int i = 1, output = 0; while(i <= n){ if(arr[i] == i){ i++; continue; } swap(arr[i], arr[arr[i]]); output++; } printf("%d\n", output); } return 0; }