#include<stdio.h>#include<algorithm>#define SIZE 100000
using namespace std;
int org[SIZE], sorted[SIZE],times,name[SIZE];
void swamp(int i, int j){
int tmp;
tmp = org[i];
org[i] = org[j];
org[j] = tmp;
}
int IsSame(int begin,int n){
int i;
for (i = begin; i < n; ++i)
if (name[i] != i)
break;
if (i == n)
return -1;
elsereturn i;
}
int Find(int num, int n){
int i;
for (i = 0; i < n; i++)
if (org[i] == num)
break;
return i;
}
int main(){
freopen("1.in", "r", stdin);
int n,i,index;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%d", &org[i]);
sorted[i] = i;
name[org[i]] = i;
if (org[i] == 0)
index = i;
}
//sort(sorted, sorted + n);
int in = 0;
while (1){
if (name[0] == 0)
{
in = IsSame(in,n);
if (in == -1)
break;
else {
name[0] = name[in];
name[in] = 0;
times++;
}
}
elsewhile(name[0]){
//int in = Find(sorted[index], n);
int tmp = name[0];
name[0] = name[tmp];
name[tmp] = tmp;
times++;
}
}
printf("%d\n", times);
return0;
}