/* Name: Author: xiaruize Date: */ #include<bits/stdc++.h> usingnamespace std; #define int long long #define ull unsigned long long #define ALL(a) (a).begin(), (a).end() #define pb push_back #define mk make_pair #define pii pair<int, int> #define pis pair<int, string> #define sec second #define fir first #define sz(a) int((a).size()) #define rep(i, x, y) for (int i = x; i <= y; i++) #define repp(i, x, y) for (int i = x; i >= y; i--) #define Yes cout << "Yes" << endl #define YES cout << "YES" << endl #define No cout << "No" << endl #define NO cout << "NO" << endl #define debug(x) cerr << #x << ": " << x << endl #define double long double constint INF = 0x3f3f3f3f; constint MOD = 1000000007; constint N = 2e5 + 10;
// bool st; int t; int n; int a[N]; int vis[N]; // bool en;
voidsolve() { cin >> n; for (int i = 1; i <= n; i++) { vis[i] = false; cin >> a[i]; } bool flag = false; int res = 0; for (int i = 1; i <= n; i++) { int x = i; if (!vis[x]) { while (!vis[x]) { res++; vis[x] = i; x = a[x]; } res--; } } for (int i = 1; i < n; i++) { if (vis[i] == vis[i + 1]) { flag = true; break; } } if (flag) res--; else res++; cout << res << endl; }