#include <cstdio>
#include <algorithm>
using namespace std;
int ans=2147483647,cnt=0,n,a[300005],b[300005],c[300005],d[300005];
bool cmp(int x,int y){return b[x]==b[y] ? x<y : b[x]>b[y];}
int main()
{
scanf("%d",&n);
for (int i=1; i<=n; i++) scanf("%d",&a[i]);
sort(a+1,a+n+1);
for (int i=1; i<=n; i++)
{
if (a[i]==a[i-1])
b[cnt]++;
else
{
if (a[i]==a[i-1]+1) b[++cnt]++,d[cnt]=a[i];
else b[++cnt]=0,d[cnt]=a[i-1]+1,b[++cnt]++,d[cnt]=a[i];
}
}
for (int i=1; i<=cnt; i++) c[i]=i;
sort(c+1,c+cnt+1,cmp);
while (b[c[1]]>0)
{
int tmp=1,k=c[1];
b[k]--;
while (b[k+1]>=b[k] && d[k+1]==d[k]+1 && b[k+1]>0) b[k+1]--,k++,tmp++;
if (ans>tmp) ans=tmp;
sort(c+1,c+cnt+1,cmp);
}
printf("%d",ans);
return 0;
}