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<iostream>
#include<string>
using namespace std;

string fixedNum( string a )
{
    if( a.size() == 1 )
        return a;
    for( int i = 0; i < a.size(); i++ )
        if( '1'<= a[i] && a[i] <= '9' )
            return a.substr( i, a.size() );
    return "0";
}

string calcAddition( string a, string b )
{
    a = fixedNum(a); b = fixedNum(b);
    int as = a.size(), bs = b.size(), d = as > bs ? as - bs : bs - as;
    string s = "0", t = "0";
    for( int i = 0; i < d; i++ )
        as > bs ? t += "0" : s += "0";
    s += a; t += b;

    for( int i = s.size() - 1; i >= 1; i-- )
    {
        s[i] += t[i] - '0';
        if( s[i] > '9' )
        {
            s[i] -= 10;
            s[i-1]++;
        }
    }

    return s[0] == '0' ? s.substr( 1, s.size() ) : s;
}

string calcMultiplication( string a, string b )
{
    a = fixedNum(a); b = fixedNum(b);
    int as = a.size(), bs = b.size(), d = as > bs ? as - bs : bs - as;
    string s = "0", t = "0", x = "", sum = "", zero = "", digit = "";
    for( int i = 0; i < d; i++ )
        as > bs ? t += "0" : s += "0";
    s += a; t += b;

    for( int i = 0; i < s.size(); i++ )
        zero += "0";
    
    x = zero;
    sum = zero;

    for( int i = s.size() - 1; i >= 1; i-- )
    {
        for( int j = s.size() - 1; j >= 1; j-- )
            x[j] = ( t[i] - '0' ) * ( s[j] - '0' );
        for( int j = s.size() - 1; j >= 1; j-- )
        {
            int f = x[j] / 10;
            x[j-1] += f;
            x[j] = x[j] - 10 * f + '0';
        }
        x += digit;
        sum = calcAddition( x, sum );
        digit += "0";
        x = zero;
    }
    return sum;
}

int main()
{
    string a, b;

    cin >> a >> b;

    int as = a.size(), bs = b.size();
    string s = a.substr( 1, as ), t = b.substr( 1, bs );

    if( a[0] == '-' && b[0] == '-' )
        cout << calcMultiplication( s, t ) << endl;
    else if( a[0] >= '0' && b[0] >= '0' )
        cout << calcMultiplication( a, b ) << endl;
    else
    {
        if( a == "0" || b == "0" )
            cout << "0" << endl;
        else if( a[0] == '-' )
            cout << '-' << calcMultiplication( s, b ) << endl;
        else
            cout << '-' << calcMultiplication( a, t ) << endl;
    }
    return 0;
}

