#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
string s1,s2;
int b,yv;
struct node{
int x[100005],len;
node(){
memset(x,0,sizeof x);
len=0;
}
}tmp,x1;
node operator +(const node a,const node b){
node c;
int t=0;
c.len=max(a.len,b.len);
for(int i=1;i<=c.len;i++){
t+=a.x[i]+b.x[i];
c.x[i]=t%10;
t/=10;
}
while(t){
c.x[++c.len]=t%10;
t/=10;
}
return c;
}
node operator *(const node a,const node b){
node c;
int t=0;
c.len=a.len+b.len;
for(int i=1;i<=a.len;i++){
for(int j=1;j<=b.len;j++){
c.x[i+j-1]+=a.x[i]*b.x[j];
}
}
for(int i=1;i<=c.len;i++){
c.x[i+1]+=c.x[i]/10;
c.x[i]%=10;
}
while(c.x[c.len]>=10){
c.x[c.len+1]+=c.x[c.len]/10;
c.x[c.len]%=10;
c.len++;
}
while(!c.x[c.len])c.len--;
return c;
}
node operator /(const node a,int b){
node c;
int t=0;
c.len=a.len;
for(int i=c.len;i>=1;i--){
t=t*10+a.x[i];
c.x[i]=t/b;
t%=b;
}
while(!c.x[c.len])c.len--;
return c;
}
node operator -(const node a,const node b){
node c;
int t=0;
c.len=a.len;
for(int i=1;i<=c.len;i++){
t=a.x[i]-t;
if(i<=b.len)t-=b.x[i];
c.x[i]=(t+10)%10;
if(t<0)t=1;
else t=0;
}
while(!c.x[c.len])c.len--;
return c;
}
int main(){
cin>>s1>>b;
for(int i=s1.size()-1;i>=0;i--){
tmp.x[++tmp.len]=s1[i]-'0';
}
while(b)x1.x[++x1.len]=b%10,b/=10;
tmp=tmp*x1;
for(int i=tmp.len;i>=1;i--)cout<<tmp.x[i];
return 0;
}
虽然每天备受打击但也要乐观啊!ヾ(◍°∇°◍)ノ゙