//高精度乘法
#include <bits/stdc++.h>
using namespace std;
char a[1005],b[1005];
int m[1005],n[1005],k[1006],h;
int main()
{
cin>>a>>b;
int la=strlen(a);
int lb=strlen(b);//计算长度
for(int i=0; i<la; i++)
{
m[i]=a[la-1-i]-48;
}
for(int i=0; i<lb; i++)
{
n[i]=b[lb-1-i]-48;
}//字符转数字
for(int i=0; i<la; i++)
{
for(int j=0; j<lb; j++)
{
k[i+j]=k[i+j]+m[i]*n[j];
}
}//相乘
for(int i=0; i<1005; i++)
{
k[i+1]=k[i+1]+k[i]/10;
k[i]%=10;
}//进位
for(h=1005; h>=0; h--)
{
if(k[h]!=0) break;
}//去前导0
for(h=h; h>=0; h--)
{
cout<<k[h];
}
return 0;
}
//高精除以低精
#include <bits/stdc++.h>
using namespace std;
int main()
{
char a[1005];
int b,ad[1005],k[1005];
cin>>a>>b;
int la=strlen(a);
for(int i=0; i<=la-1; i++)
ad[i+1]=a[i]-48;
int x=0,p=1;
for(int i=1; i<=la; i++)
{
k[i]=(x*10+ad[i])/b;
x=(x*10+ad[i])%b;
}//相除
while(k[p]==0&&p<la) p++; //去前导0
for(int i=p; i<=la; i++)
{
cout<<k[i];
}
cout<<' '<<x;
return 0;
}