#include <bits/stdc++.h>
using namespace std;
struct group{
int last, len;
};
typedef vector<group>::iterator iter;
vector<group> v;
iter it;
int a[100010];
int main(){
int n;
cin >> n;
for (int i = 1; i <= n; i++) cin >> a[i];
sort(a+1, a+n+1);
for (int i = 1; i <= n; i++){
iter minIter = v.end();
if (v.empty()){
v.push_back({a[i], 1});
continue;
}
for (it = v.begin(); it != v.end(); it++){
if (it->last == a[i] - 1){
if (minIter->last != a[i] - 1 || it->len < minIter->len)
minIter = it;
}
}
if (minIter != v.end()){
minIter->last = a[i];
(minIter->len)++;
}else{
v.push_back({a[i], 1});
}
}
int minn = 1e9;
for (it = v.begin(); it != v.end(); it++){
minn = min(minn, it->len);
}
cout << minn << endl;
return 0;
}