#include
using namespace std;
ifstream cin("7segmente.in");
ofstream cout("7segmente.out");
string n;
int v[] = {0, 2, 5, 5, 4, 5, 6, 3, 7, 6};
int c1(string n)
{
int sol = 0;
for(char c : n)
sol+=v[(c-'0')%10];
return sol;
}
int main()
{
long long p, len;
cin >> n >> p;
cout << c1(n) << ' ';
len = n.length();
/// Acum cerinta 2.
/// Cel mai mare numar care foloseste mai putin de p si <=n
/// Prioritati
// 1) Numarul de cifre.
// 2) Cifra cea mai semnificativa sa fie mai mica sau egala cu cea a lui n.
/// Daca nu putem avea la fel de mult cifre ca n
if(p / 2 < len)
{
/// Prin acestea asiguram numarul cu cat mai multe cifre de valoare maxima!
/// Daca putem, inlocuim primul '1' cu '7'.
if(p%2==1)
cout << 7, p-=3; // 3 mW
for(int i = 1;i<=p/2;i++)
cout << 1; // 2 mW.
}
else
{
string sol = "";
for(int i = 0;i= v[j])
added = j + '0';
}
p = p + 2 - v[(added - '0')]; /// nu mai folosim 1 si folosim cifra added.
sol[i] = added;
}
else
{
for(int j = 1;j <= (n[i] - '0');j++)
{
if(p + 2 >= v[j])
added = j+'0';
}
if(added!= n[i])
maximum = false;
p = p + 2 - v[(added-'0')];
sol[i] = added;
}
}
cout << sol;
}
return 0;
}