Multiplication of Big Integers

Given two integers $A$ and $B$, compute the product, $A \times B$.

Input

Two integers $A$ and $B$ separated by a space character are given in a line.

Output

Print the product in a line.

Constraints

* $-1 \times 10^{1000} \leq A, B \leq 10^{1000}$



Sample Input 1


5 8


Sample Output 1


40


Sample Input 2


100 25


Sample Output 2


2500


Sample Input 3


-1 0


Sample Output 3


0


Sample Input 4


12 -3


Sample Output 4


-36






Example

Input

5 8


Output

40
#include<bits/stdc++.h>
using namespace std;

vector<int> stoa(string const& s){
  vector<int> a(s.size());
  for(int i=(s[0]=='-'?1:0);i<s.size();++i){
    a[i] = s[i]-'0';
  }
  return a;
}
string atos(vector<int> const& a){
  string s;
  for(auto ai:a)s+=(ai+'0');
  return s;
}

string product(string const& lhs,string const& rhs){
  if(lhs=="0"||rhs=="0")return "0";
  string sign = (lhs[0]=='-'^rhs[0]=='-'?"-":"");
  auto a = stoa(lhs);
  reverse(a.begin(),a.end());
  auto b = stoa(rhs);
  reverse(b.begin(),b.end());
  int n = a.size();
  int m = b.size();
  vector<vector<int>> tmp(m,vector<int>(n+m));
  for(int i=0;i<n;++i){
    for(int j=0;j<m;++j){
      tmp[j][i+j] += a[i]*b[j]%10;
      tmp[j][i+j+1] += a[i]*b[j]/10;
    }
  }
  vector<int> res(n+m+1);
  for(int i=0;i<n+m;++i){
    for(int j=0;j<m;++j){
      res[i] += tmp[j][i];
      res[i+1] += res[i]/10;
      res[i] %= 10;
    }
  }
  while(res.size()>1&&res.back()==0)res.pop_back();
  reverse(res.begin(),res.end());
  return sign+atos(res);
}

signed main(){

  string a,b;
  cin>>a>>b;

  cout<<product(a,b)<<endl;

}
