import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 第一个整数
     * @param t string字符串 第二个整数
     * @return string字符串
     */
    public String solve (String s, String t) {
        int n = s.length()+t.length();
        int[] arr = new int[n];//存计算得的数

        //平时数学计算的逻辑
        for(int i=s.length()-1;i>=0;i--){
            for(int j=t.length()-1;j>=0;j--){
                int x=s.charAt(i)-'0';
                int y=t.charAt(j)-'0';
                int carry=x*y/10;//进位
                int remainder=x*y%10;//余数
                arr[i+j+1]+=remainder;
                if(arr[i+j+1]>=10){
                    carry+=arr[i+j+1]/10;
                    arr[i+j+1]%=10;
                }
                arr[i+j]+=carry;
            }
        }
        //计算结果
        StringBuffer res = new StringBuffer();
        for(int i=0;i<arr.length;i++){
            //去掉前缀0
            if(arr[i]!=0||res.length()!=0){
                res.append(arr[i]);
            }
        }
        //res为空(在上面计算结果的步骤中把所有0去掉了,所以为空),说明为0
        return res.length()==0?"0":res.toString();
    }
}