#include <bits/stdc++.h>
#define ll long long
#define ld long double
#define nmax (long long)(1e6+7)
#define oo (long long)(1e18)
#define INF (int)(1e9+7)
#define fi first
#define se second
#define pii pair<int, int>
#define Hung ""
using namespace std;
ll m, b[2007], dp[1 << 22];
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
if (fopen(Hung".inp", "r")){
freopen(Hung".inp", "r", stdin);
freopen(Hung".out", "w", stdout);
}
cin >> m;
for (ll i=1; i<=m; i++){
cin >> b[i];
}
vector<ll> v;
for (ll mask=0; mask<(1 << m); mask++){
bool ok = true;
for (ll i=1; i<=m; i++){
if ((mask >> (i - 1)) & 1){
for (ll j=i + 1; j<=m; j++){
if (i != j && ((mask >> (j - 1)) & 1)){
if (abs(b[i] - b[j]) == 1 || abs(b[i] - b[j]) == 8 || abs(b[i] - b[j]) == 9){
ok = false;
break;
}
}
}
}
if (ok == false){
break;
}
}
if (ok == true)
v.push_back(mask);
}
if (v.empty()) cout << '0';
else{
ll res = oo;
for (ll i=0; i<v.size(); i++){
ll cnt = __builtin_popcount(v[i]);
res = min(res, m - cnt);
}
cout << res;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbGQgbG9uZyBkb3VibGUKI2RlZmluZSBubWF4IChsb25nIGxvbmcpKDFlNis3KQojZGVmaW5lIG9vIChsb25nIGxvbmcpKDFlMTgpCiNkZWZpbmUgSU5GIChpbnQpKDFlOSs3KQojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgcGlpIHBhaXI8aW50LCBpbnQ+CiNkZWZpbmUgSHVuZyAiIgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCmxsIG0sIGJbMjAwN10sIGRwWzEgPDwgMjJdOwoKaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIGlmIChmb3BlbihIdW5nIi5pbnAiLCAiciIpKXsKICAgICAgICBmcmVvcGVuKEh1bmciLmlucCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4oSHVuZyIub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQogICAgY2luID4+IG07CiAgICBmb3IgKGxsIGk9MTsgaTw9bTsgaSsrKXsKICAgICAgICBjaW4gPj4gYltpXTsKICAgIH0KICAgIHZlY3RvcjxsbD4gdjsKICAgIGZvciAobGwgbWFzaz0wOyBtYXNrPCgxIDw8IG0pOyBtYXNrKyspewogICAgICAgIGJvb2wgb2sgPSB0cnVlOwogICAgICAgIGZvciAobGwgaT0xOyBpPD1tOyBpKyspewogICAgICAgICAgICBpZiAoKG1hc2sgPj4gKGkgLSAxKSkgJiAxKXsKICAgICAgICAgICAgICAgIGZvciAobGwgaj1pICsgMTsgajw9bTsgaisrKXsKICAgICAgICAgICAgICAgICAgICBpZiAoaSAhPSBqICYmICgobWFzayA+PiAoaiAtIDEpKSAmIDEpKXsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFicyhiW2ldIC0gYltqXSkgPT0gMSB8fCBhYnMoYltpXSAtIGJbal0pID09IDggfHwgYWJzKGJbaV0gLSBiW2pdKSA9PSA5KXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9rID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAob2sgPT0gZmFsc2UpewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKG9rID09IHRydWUpCiAgICAgICAgICAgIHYucHVzaF9iYWNrKG1hc2spOwogICAgfQogICAgaWYgKHYuZW1wdHkoKSkgY291dCA8PCAnMCc7CiAgICBlbHNlewogICAgICAgIGxsIHJlcyA9IG9vOwogICAgICAgIGZvciAobGwgaT0wOyBpPHYuc2l6ZSgpOyBpKyspewogICAgICAgICAgICBsbCBjbnQgPSBfX2J1aWx0aW5fcG9wY291bnQodltpXSk7CiAgICAgICAgICAgIHJlcyA9IG1pbihyZXMsIG0gLSBjbnQpOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8IHJlczsKICAgIH0KICAgIHJldHVybiAwOwp9