#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int a[10001],b[10001],x,len,c[10001];
void in(int a[],string s)
{
a[0]=s.size();
for (int i=1;i<=a[0];i++)
a[i]=s[a[0]-i]-'0';
return ;
}
int jia(string s1,string s2)
{int n;
for (int i=0;i<s1.size();i++)
{a[s1.size()-i-1]=s1[i]-'0';}
for (int i=0;i<s2.size();i++)
{b[s2.size()-i-1]=s2[i]-'0';}
n=s1.size();
if (s2.size()>s1.size())
{n=s2.size();}
for (int i=0;i<n;i++)
{c[i]+=a[i]+b[i];
if (c[i]>=10)
{c[i+1]+=1;
c[i]-=10;}}
if (c[n]!=0)
{n+=1;}
for (int i=n-1;i>=0;i--)
{cout<<c[i];}
cout<<"\n";
return 0;}
int cheng(string a1, string b1)
{
int lena=a1.size();
int lenb=b1.size();
for(int i=1;i<=lena;i++)a[i]=a1[lena-i]-'0';
for(int i=1;i<=lenb;i++)b[i]=b1[lenb-i]-'0';
for(int i=1;i<=lenb;i++)
for(int j=1;j<=lena;j++)
c[i+j-1]+=a[j]*b[i];
for(int i=1;i<lena+lenb;i++)
if(c[i]>9)
{
c[i+1]+=c[i]/10;
c[i]%=10;
}
len=lena+lenb;
while(c[len]==0&&len>1)len--;
for(int i=len;i>=1;i--)cout<<c[i];
cout<<"\n";
return 0;
}
int jian(string a1,string b1)
{
if (a1.size()<b1.size()||a1.size()==b1.size()&&a1<b1)
{
std::swap(a1,b1);
cout<<"-";
}
int la=a1.size();
int lb=b1.size();
for (int i=0;i<=la-1;i++)
a[la-i]=int(a1[i]-'0');
for (int i=0;i<=lb-1;i++)
b[lb-i]=int(b1[i]-'0');
int y;
while (y<=la||y<=lb)
{
if (a[y]<b[y])
{
a[y]+=10;
a[y+1]--;
}
c[y]=a[y]-b[y];
y++;
}
int lc=y;
while (c[lc]==0&&lc>1)
lc--;
for (int i=lc;i>=1;i--)
cout<<c[i];
cout<<"\n";
return 0;
}
int co(int a[],int b[])
{
if (a[0]>b[0])return 1;
if (a[0]<b[0])return -1;
for (int j=a[0];j>0;j--)
{
if (a[j]>b[j])return 1;
if (a[j]<b[j])return -1;
}
return 0;
}
void jian1(int a[],int b[])
{
int f,i;
f=co(a,b);
if (f==0)
{
a[0]=0; return ;
}
if (f==1)
{
for (i=1;i<=a[0];i++)
{
if (a[i]<b[i])
{
a[i+1]--;a[i]+=10;
}
a[i]-=b[i];
}
while (a[i]>0&&a[a[0]]==0)
a[0]--;
return ;
}
}
void r(int a[])
{
int i;
if (a[0]==0)
{
cout<<"0\n";return ;
}
for (i=a[0];i>0;i--)cout<<a[i];
cout<<"\n";
return ;
}
void nu(int p[],int q[],int det)
{
for (int i=1;i<=p[0];i++) q[i+det-1]=p[i];
q[0]=p[0]+det-1;
}
void chu(int a[],int b[],int c[])
{
int t[10002];
c[0]=a[0]-b[0]+1;
for (int i=c[0];i>0;i--)
{
memset(t,0,sizeof(t));
nu(b,t,i);
while (co(a,t)>=0)
{
c[i]++;
jian1(a,t);
}
}
while (c[0]>0&&c[c[0]]==0)c[0]--;
return ;
}
int main()
{
getline(cin, s1);
getline(cin, s2);
jia(s1,s2);
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
memset(c, 0, sizeof(c));
jian(s1,s2);
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
memset(c, 0, sizeof(c));
cheng(s1,s2);
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
memset(c, 0, sizeof(c));
in(a,s1);
in(b,s2);
chu(a,b,c);
r(c);
r(a);
return 0;}