class Solution {
public:
string multiply(string num1, string num2) {
int c;
int len1=num1.size();
int len2=num2.size();
int i,j,k;
vector<vector<string> > r;
string result;
char temp[1];
for(i=0;i<len2;i++)
{
c=0;
int c2=num2[i]-'0';
vector<string> t;
for(j=0;j<len1;j++)
{
int c1=num1[j]-'0';
k=c1*c2+c;
c=k/10;
k=k%10;
sprintf(temp,"%d",k);
t.push_back(temp);
}
for(j=0;j<i;j++)
t.push_back("0");
r.push_back(t);
}
c=0;
for(i=0;i<r[r.size()-1].size();i++)
{
int c1=0;
for(j=0;j<r.size();j++)
{
if(i<r[j].size())
c1=c1+atoi(r[j]+i);
}
c1=c1+c;
c=c/10;
c1=c1%10;
sprintf(temp,"%d",c1);
result.push_back(temp);
}
return result;
}
};