#include<iostream>
#include<vector>
#include<string>
#include<cmath>
#include<algorithm>
using namespace std;
bool check_direct(int);
int check_int_size(int);
vector<bool> broken;
int main()
{
int N,M,idx, min_value = 500000, result = 0;
bool direct = true;
string str_N = to_string(N);
cin >> N >> M;
broken.resize(10,false);
for(int i=0; i<M; ++i){
cin >> idx; broken[idx] = true;
}
for(int i=0; i<str_N.size(); ++i){
if(broken[str_N[i]-48]) direct = false;
}
if(direct) min_value = str_N.size();// Direct press
for(int i=N; i<(N+1)*10; ++i){
if(check_direct(i)){
min_value = min(min_value, check_int_size(i)+abs(N-i)); break;
}
}
for(int i=N; i>=0; --i){
if(check_direct(i)){
min_value = min(min_value, check_int_size(i)+abs(N-i)); break;
}
}
result = min(min_value, abs(N-100));
cout << result << "\n";
return 0;
}
bool check_direct(int num)
{
string str_num = to_string(num);
for(int i=0; i<str_num.size(); ++i)
{
if(broken[str_num[i]-48]) return false;
}
return true;
}
int check_int_size(int num)
{
string str_num = to_string(num);
int num_size = str_num.size();
return num_size;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHZlY3Rvcj4KI2luY2x1ZGU8c3RyaW5nPgojaW5jbHVkZTxjbWF0aD4KI2luY2x1ZGU8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmJvb2wgY2hlY2tfZGlyZWN0KGludCk7CmludCBjaGVja19pbnRfc2l6ZShpbnQpOwoKdmVjdG9yPGJvb2w+IGJyb2tlbjsKCmludCBtYWluKCkKewogICAgaW50IE4sTSxpZHgsIG1pbl92YWx1ZSA9IDUwMDAwMCwgcmVzdWx0ID0gMDsKICAgIGJvb2wgZGlyZWN0ID0gdHJ1ZTsKICAgIHN0cmluZyBzdHJfTiA9IHRvX3N0cmluZyhOKTsKICAgIGNpbiA+PiBOID4+IE07CiAgICBicm9rZW4ucmVzaXplKDEwLGZhbHNlKTsKCiAgICBmb3IoaW50IGk9MDsgaTxNOyArK2kpewogICAgICAgIGNpbiA+PiBpZHg7IGJyb2tlbltpZHhdID0gdHJ1ZTsKICAgIH0KCiAgICBmb3IoaW50IGk9MDsgaTxzdHJfTi5zaXplKCk7ICsraSl7CiAgICAgICAgaWYoYnJva2VuW3N0cl9OW2ldLTQ4XSkgZGlyZWN0ID0gZmFsc2U7CiAgICB9CgogICAgaWYoZGlyZWN0KSBtaW5fdmFsdWUgPSBzdHJfTi5zaXplKCk7Ly8gRGlyZWN0IHByZXNzCgogICAgZm9yKGludCBpPU47IGk8KE4rMSkqMTA7ICsraSl7CiAgICAgICAgaWYoY2hlY2tfZGlyZWN0KGkpKXsKICAgICAgICAgICAgbWluX3ZhbHVlID0gbWluKG1pbl92YWx1ZSwgY2hlY2tfaW50X3NpemUoaSkrYWJzKE4taSkpOyBicmVhazsKICAgICAgICB9CiAgICB9CgogICAgZm9yKGludCBpPU47IGk+PTA7IC0taSl7CiAgICAgICAgaWYoY2hlY2tfZGlyZWN0KGkpKXsKICAgICAgICAgICAgbWluX3ZhbHVlID0gbWluKG1pbl92YWx1ZSwgY2hlY2tfaW50X3NpemUoaSkrYWJzKE4taSkpOyBicmVhazsKICAgICAgICB9CiAgICB9CgogICAgcmVzdWx0ID0gbWluKG1pbl92YWx1ZSwgYWJzKE4tMTAwKSk7CiAgICBjb3V0IDw8IHJlc3VsdCA8PCAiXG4iOwogICAgcmV0dXJuIDA7Cn0KCmJvb2wgY2hlY2tfZGlyZWN0KGludCBudW0pCnsKICAgIHN0cmluZyBzdHJfbnVtID0gdG9fc3RyaW5nKG51bSk7CiAgICBmb3IoaW50IGk9MDsgaTxzdHJfbnVtLnNpemUoKTsgKytpKQogICAgewogICAgICAgIGlmKGJyb2tlbltzdHJfbnVtW2ldLTQ4XSkgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0KCmludCBjaGVja19pbnRfc2l6ZShpbnQgbnVtKQp7CiAgICBzdHJpbmcgc3RyX251bSA9IHRvX3N0cmluZyhudW0pOwogICAgaW50IG51bV9zaXplID0gc3RyX251bS5zaXplKCk7CiAgICByZXR1cm4gbnVtX3NpemU7Cn0=