#include <stdio.h>
#include <string.h>

int my_strlen1(char* str)	//自制一个可以得出数组成员个数的函数;便于准确得出“12300042310000”类似的数组排列的成员个数
{
    int a=0;
    for(int i=0;i<1000;i++)  //适用于不超过1000个成员的数组
    {
        if(str[i]!=0)
            a++;
        if(str[i]==0)
        {
            int b;
            for(b=i;b<1000;b++)
            {
                if(str[b]!=0)
                {
                    a=a+b-i+1;
                    i=b;
                    break;
                }
            }
            if(b==100)
                break;
        }
    }
    return a;
}

int main() {
    //int a, b;
    //while (scanf("%d %d", &a, &b) != EOF) { // 注意 while 处理多个 case
        // 64 位输出请用 printf("%lld") to 
        //printf("%d\n", a + b);
    //}
    char a[100],b[100],data[1000]={0};
    scanf("%s %s",a,b);
    int a0=0;   //a0=strlen(a);
    for(a0=0;;a0++)
    {
        if(a[a0]==0)
            break;
        else if(a[a0]>57 || a[a0]<48)
        {
            printf("输入错误\n");
            return 0;
        }
    }
    //printf("%d\n",a0);
    int b0=0;
    for(b0=0;;b0++)
    {
        if(b[b0]==0)
            break;
        else if(b[b0]>57 || b[b0]<48)
        {
            printf("输入错误\n");
            return 0;
        }
    }
    //printf("%d\n",b0);
    if(a0>b0)
    {
        for(int i=0;i<b0;i++)
        {
            for(int j=a0;j>0;j--)
            {
                data[i+(a0-j)]+=((b[b0-1-i]-48)*(a[j-1]-48))%10;   //取乘积个位
                if(data[i+(a0-j)]>=10)       //个位超出10
                {
                    data[i+(a0-j)]-=10;     
                    data[i+(a0-j+1)]+=1;
                }   
                data[i+(a0-j+1)]+=((b[b0-1-i]-48)*(a[j-1]-48))/10; //取乘积十位
                if(data[i+(a0-j+1)]>=10)       //个位超出10
                {
                    data[i+(a0-j+1)]-=10;     
                    data[i+(a0-j+2)]+=1;
                } 
            }
            
        }
    }
    else {
        for(int i=0;i<a0;i++)
        {
            for(int j=b0;j>0;j--)
            {
                data[i+(b0-j)]+=((a[a0-1-i]-48)*(b[j-1]-48))%10;   //取乘积个位
                if(data[i+(b0-j)]>=10)       //个位超出10
                {
                    data[i+(b0-j)]-=10;     
                    data[i+(b0-j+1)]+=1;
                }  
                data[i+(b0-j+1)]+=((a[a0-1-i]-48)*(b[j-1]-48))/10; //取乘积十位
                if(data[i+(b0-j+1)]>=10)       //个位超出10
                {
                    data[i+(b0-j+1)]-=10;     
                    data[i+(b0-j+2)]+=1;
                } 
            }
        }
    }
    for(int i=my_strlen1(data)-1;i>=0;i--)
        printf("%d",data[i]);
    printf("\n");
    return 0;
}