#include<bits/stdc++.h>
using namespace std;
int k,m,tot;
string s;
priority_queue<int,vector<int>,greater<int> >que;
int main(){
cin>>k>>m;
que.push(1);
while(1){
int q=que.top();
que.push(q*2+1);
que.push(q*4+5);
char a[100000];
int j=0;
while(q){
j++;
a[j]=q%10+'0';
q/=10;
}
for(int i=1;i<=j;i++){
s[++tot]=a[i]+'0';
if(k==tot) break;
}
if(k==tot) break;
que.pop();
}
for(int i=1;i<=tot;i++) cout<<s[i];
cout<<endl;
int i=1,nm=m;
while(m){
i++;
if(s[i]>s[i-1]){
s.erase(i-1,1);
i--;m--;
for(int j=i-1;j>=1;j--){
if(s[i]>s[j]){
s.erase(j,1);
i--;m--;
}
else break;
}
}
}
for(int j=1;j<=tot-nm;j++) cout<<s[j];
return 0;
}