/*
TASK:psort
LANG:C++
*/

#include <iostream.h>
long n=6,f[50002]={0},a[50002]={0,4,5,1,2,6,3},r[500];
long br=0;

void clean(void)
{long j,i,l,p,q=0;
for (i=1;i<=n;i++) r[i]=i-a[i];
do
{
l=r[1];p=1;
for (i=2;i<=n;i++) if (l>r[i]) {l=r[i];p=i;}
if(r[p]==0) return ; else {r[p]=55555;}
br++;
for(i=p+1;i<=a[p]+q;i++)
r[i]--;
q++;
} while (1);
}


int main (void)
{long i;
cin>>n;
for(i=1;i<=n;i++) cin>>a[i];

clean();
cout << br << endl;
return 0;
}