#include <bits/stdc++.h>
using namespace std;
 
#define ll long long int
#define rep(i, n) for(int i = 0; i < n; i++)
#define repp(i, n) for(int i = 1; i <= n; i++)
#define sort(v) sort((v).begin(), (v).end())
#define pb push_back
#define mp make_pair
#define riverse(v) reverse((v).begin(), (v).end())
using vi = vector<int>;
using vs = vector<string>;
using vvi = vector<vi>;
using vll = vector<ll>;
const int MOD = 1e9+7;
vi alphabet = {'a','b','c','d','e','f','g','h','i','j','k','l','m',
               'n','o','p','q','r','s','t','u','v','w','x','y','z'};


int main() {
	int N;
  	cin >> N;
  	vi p(N);
  	vevtor<bool> q(N,false);
  	rep(i,N){
    	cin >> p[i];
      	if(p[i] != i+1) q[i] = true;
    }
  	int count=0;
  	rep(i,N){
    	if(q[i] == false&& i != N-1){
        	bool x = q[i];
          	q[i] = q[i+1];
          	q[i+1] = x;
          	count++;
        }
      	else if(q[i] == false && i=N-1){
        	bool x = q[N-1];
          	q[N-1] = q[N-2];
          	q[N-2] = x;
        }
    }
	cout << count << endl;
  	
}