import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param s string字符串 第一个整数
     * @param t string字符串 第二个整数
     * @return string字符串
     */
    public String solve (String s, String t) {
        // write code here

        // 但凡这两个数字有一个为 0,直接返回 0 即可
        if ((1 == s.length() && 0 == Integer.valueOf(s)) || (1 == t.length() && 0 == Integer.valueOf(t))) {
            return "0";
        }

        // 获取 s 和 t 字符串的长度
        int len1 = s.length();
        int len2 = t.length();

        // 定义一个 String,用于存放当前一次相乘的结果
        String curS = "";
        // 定义一个 String,用于存放上一次相乘的结果
        String preS = "";

        int num = 1;

        for (int i = len1 - 1; i > -1; i--) {
            // 此时,我们取出了被乘数中的一个数字,与乘数进行相乘,获取它们相乘的结果
            curS = multiplication(t, Integer.valueOf(s.charAt(i) + ""));
            if (i == len1 - 1) {
                preS = curS;
            } else {
                StringBuffer tmpCurS = new StringBuffer(curS);
                for (int j = 1; j <= num; j++) {
                    tmpCurS.append("0");
                }
                while (preS.length() != tmpCurS.length()) {
                    preS = "0" + preS;
                }
                preS = addition(new String(tmpCurS), preS);
                num++;
            }
        }

        // 返回最终的结果
        return preS;
    }
    
    // 计算一个字符串和单个字符的相乘的结果
    public String multiplication(String str1, int num2) {
        StringBuffer sb = new StringBuffer("");
        int carryBit = 0; // 进位
        int unit = 0; // 个位数
        int product = 0; // 乘积
        for (int i = str1.length() - 1; i > -1; i--) {
            // 计算当前两个字符相乘(别忘了加上进位)
            product = Integer.valueOf(str1.charAt(i) + "") * num2 + carryBit;
            // 获取进位
            carryBit = product / 10;
            // 获取个位上的数字
            unit = product % 10;
            // 将个位上的数字添加到 sb 中
            sb.append(unit);
        }
        // 别忘了,最终的进位也要添加到 sb 中
        if (carryBit != 0) {
            sb.append(carryBit);
        }
        // 返回最终结果前,反转 sb
        return new String(sb.reverse());
    }
    
    public String addition(String str1, String str2) {
        StringBuffer sb = new StringBuffer("");
        int carrayBit = 0; // 进位
        int unit = 0; // 个位数
        int total = 0; // 和
        for (int i = str1.length() - 1; i > -1; i--) {
            // 计算当前位置上的两个字符相加(别忘了加上进位)
            total = Integer.valueOf(str1.charAt(i) + "") + Integer.valueOf(str2.charAt(i) + "") + carrayBit;
            // 获取进位
            carrayBit = total / 10;
            // 获取个位数
            unit = total % 10;
            // 将个位上的数字添加到 sb 中
            sb.append(unit);
        }
        // 别忘了,最终的进位也要添加到 sb 中
        if (carrayBit != 0) {
            sb.append(carrayBit);
        }
        // 返回最终结果前,反转 sb
        return new String(sb.reverse());
    }
}