#include <bits/stdc++.h>
void print(std::vector<int> readVec) {
  int sz = readVec.size();
  for (int i = 0; i < sz; ++i) {
    std::cout << readVec.at(i);
    if (sz - 1 == i) {
      std::cout << std::endl;
    } else {
      std::cout << " ";
    }
  }
}
int main() {
  int n;
  std::cin >> n;
  std::vector<int> p(n);
  for (int i = 0; i < n; ++i) {
    std::cin >> p.at(i);
  }
  p.insert(p.begin(), 1);
  p.push_back(n);
  long long count = 0;
  bool flg = true;
  while (flg) {
    for (int i = 1; i <= n; ++i) {
      if (i == p.at(i)) {
        if (i != p.at(i - 1)) {
          std::swap(p.at(i), p.at(i - 1));
          ++count;
          break;
        } else if (i != p.at(i + 1)) {
          std::swap(p.at(i), p.at(i + 1));
          ++count;
          break;
        }
      }
      if (n == i) {
        flg = false;
      }
    }
  }
  std::cout << count << std::endl;
  return 0;
}
