#include<bits/stdc++.h>
using namespace std;
struct k{
int num;
int high;
};
k a[10000];
int v[10000];
bool cmp(k x,k y){
return x.high>y.high;
}
bool f(int m[],int l){
for(int i=1;i<=l;i++){
if(m[i]!=1){
return false;
}
}
return true;
}
int main(){
int n=1,s=0;
while(cin>>a[n].high){
a[n].num=n;
n++;
}
n-=1;
sort(a+1,a+n+1,cmp);
while(true){
if(f(v,n)==true){
break;
}
else{
s++;
}
int f1,f2;
for(int i=1;i<=n;i++){
if(v[a[i].num]!=1){
f1=a[i].num;
f2=i;
}
}
for(int i=f2;i<=n;i++){
if(a[i].num>f1){
v[i]=1;
}
}
}
cout<<s;
return 0;
}