#include<bits/stdc++.h>
using namespace std;
struct team {
int num,sl;
} ts[100010];
int n,a[100010],mark,ans;
void insert(int k) {
int fid=0,flg=0,tum=100010;
for(int i=0; i<mark; i++) {
if(ts[i].sl==k-1) {
if(ts[i].num<tum) {
flg=i,fid=1,tum=ts[i].num;
}
}
}
if(fid==1) {
ts[flg].sl=k;
ts[flg].num++;
} else {
ts[mark].sl=k,ts[mark].num=1;
mark++;
}
}
int main() {
cin>>n;
for(int i=0; i<n; i++) {
cin>>a[i];
}
sort(a,a+n);
for(int i=0; i<n; i++) {
insert(a[i]);
}
ans=ts[0].num;
for(int i=1; i<mark; i++) {
ans=min(ans,ts[i].num);
}
cout<<ans;
return 0;
}