#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int INF = 1e9;
const ll LINF = 1e18;
template<typename T>
void maximize(T& a, const T& b) {
if (a < b) a = b;
}
const int BAD_MASK = (1 << 1) | (1 << 9) | (1 << 8);
const int MAX_MASK = (1 << 10) - 1;
const int N = 2e3 + 5;
int n;
int b[N];
int dp[N][1 << 10]; // dp[i][mask] = Độ dài của dãy con SEQ198 dài nhất khi xét đến phần tử thứ i,
// với mask là tập hợp các hiệu <= 9 của b[i] với các phần tử đã chọn
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n;
for (int i = 1; i <= n; i++) cin >> b[i];
sort(b + 1, b + n + 1);
dp[1][0] = 0; // không chọn b[1]
dp[1][1] = 1; // chọn b[1]
for (int i = 1; i < n; i++) {
int d = b[i + 1] - b[i];
for (int mask = 0; mask <= MAX_MASK; mask++) {
int next_mask = (d >= 10) ? 0 : ((mask << d) & MAX_MASK);
// không chọn b[i + 1]
maximize(dp[i + 1][next_mask], dp[i][mask]);
// chọn b[i + 1]
if ((next_mask & BAD_MASK) == 0) maximize(dp[i + 1][next_mask | 1], dp[i][mask] + 1);
}
}
int ans = 0;
for (int mask = 0; mask <= MAX_MASK; mask++) {
maximize(ans, dp[n][mask]);
}
ans = n - ans;
cout << ans << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsgIAoKdHlwZWRlZiBsb25nIGxvbmcgbGw7ICAKdHlwZWRlZiBwYWlyPGludCwgaW50PiBpaTsgIAoKY29uc3QgaW50IElORiA9IDFlOTsgIApjb25zdCBsbCBMSU5GID0gMWUxODsgIAoKdGVtcGxhdGU8dHlwZW5hbWUgVD4Kdm9pZCBtYXhpbWl6ZShUJiBhLCBjb25zdCBUJiBiKSB7CglpZiAoYSA8IGIpIGEgPSBiOyAgCn0KCmNvbnN0IGludCBCQURfTUFTSyA9ICgxIDw8IDEpIHwgKDEgPDwgOSkgfCAoMSA8PCA4KTsgCmNvbnN0IGludCBNQVhfTUFTSyA9ICgxIDw8IDEwKSAtIDE7ICAKY29uc3QgaW50IE4gPSAyZTMgKyA1OyAKCmludCBuOyAKaW50IGJbTl07IAppbnQgZHBbTl1bMSA8PCAxMF07IC8vIGRwW2ldW21hc2tdID0gxJDhu5kgZMOgaSBj4bunYSBkw6N5IGNvbiBTRVExOTggZMOgaSBuaOG6pXQga2hpIHjDqXQgxJHhur9uIHBo4bqnbiB04butIHRo4bupIGksIAoJCQkJCS8vICAgICAgICAgICAgICAgduG7m2kgbWFzayBsw6AgdOG6rXAgaOG7o3AgY8OhYyBoaeG7h3UgPD0gOSBj4bunYSBiW2ldIHbhu5tpIGPDoWMgcGjhuqduIHThu60gxJHDoyBjaOG7jW4gICAKCmludCBtYWluKCkgewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyAKCWNpbi50aWUobnVsbHB0cik7IAkKCWNpbiA+PiBuOyAKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgY2luID4+IGJbaV07IAoKCXNvcnQoYiArIDEsIGIgKyBuICsgMSk7ICAgCgoJZHBbMV1bMF0gPSAwOyAvLyBraMO0bmcgY2jhu41uIGJbMV0KCWRwWzFdWzFdID0gMTsgLy8gY2jhu41uIGJbMV0KCQoJZm9yIChpbnQgaSA9IDE7IGkgPCBuOyBpKyspIHsKCQlpbnQgZCA9IGJbaSArIDFdIC0gYltpXTsgCgkJZm9yIChpbnQgbWFzayA9IDA7IG1hc2sgPD0gTUFYX01BU0s7IG1hc2srKykgewoJCQlpbnQgbmV4dF9tYXNrID0gKGQgPj0gMTApID8gMCA6ICgobWFzayA8PCBkKSAmIE1BWF9NQVNLKTsgCgkJCS8vIGtow7RuZyBjaOG7jW4gYltpICsgMV0KCQkJbWF4aW1pemUoZHBbaSArIDFdW25leHRfbWFza10sIGRwW2ldW21hc2tdKTsgIAoKCQkJLy8gY2jhu41uIGJbaSArIDFdCgkJCWlmICgobmV4dF9tYXNrICYgQkFEX01BU0spID09IDApIG1heGltaXplKGRwW2kgKyAxXVtuZXh0X21hc2sgfCAxXSwgZHBbaV1bbWFza10gKyAxKTsgCgkJfQoJfQoKCWludCBhbnMgPSAwOyAgCglmb3IgKGludCBtYXNrID0gMDsgbWFzayA8PSBNQVhfTUFTSzsgbWFzaysrKSB7CgkJbWF4aW1pemUoYW5zLCBkcFtuXVttYXNrXSk7IAoJfQoJYW5zID0gbiAtIGFuczsgCgoJY291dCA8PCBhbnMgPDwgJ1xuJzsgCn0=