class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param s string字符串 第一个整数
     * @param t string字符串 第二个整数
     * @return string字符串
     */
    string f(string q,string p)
    {
        string s;
        char a;
        int ca=p.size()-q.size(),jw=0,sum1;
        for(int i=p.size()-1;i>=0;i--)
        {
            if(i-ca<0)
            {
                a='0';
            }
            else
            {
                a=q[i-ca];
            }
            sum1=(p[i]-'0')+(a-'0')+jw;
            s=(char)(sum1%10+'0')+s;
            jw=sum1/10;
            if(i==0&&jw!=0)
            {
                s=(char)(jw+'0')+s;
                jw=0;
            }
        }
        return s;
    }
    string solve(string s, string t) {
        if(s=="0"||t=="0")
        {
            return "0";
        }
        string p,q="0";
        int sums=0,jw=0;
        for(int i=s.size()-1;i>=0;i--)
        {
            for(int j=t.size()-1;j>=0;j--)
            {
                sums=(s[i]-'0')*(t[j]-'0')+jw;
                p=(char)(sums%10+'0')+p;
                jw=sums/10;
                if(j==0&&jw!=0)
                {
                    p=(char)(jw+'0')+p;
                    jw=0;
                }
            }
            for(int x=s.size()-1;x>i;x--)
            {
                p+='0';
            }
            q=f(q,p);
            p="";
        }
        return q;
        // write code here
    }
};