string _multi(string a,string b){
int lena = a.size(),lenb = b.size(),lenc = lena + lenb;
int a1[lenc + 1],b1[lenc + 1],c1[lenc + 1];
memset(a1,0,sizeof(a1));
memset(b1,0,sizeof(b1));
memset(c1,0,sizeof(c1));
for (int i = 1; i <= lena; i++) a1[i] = a[lena - i] - '0';
for (int i = 1; i <= lenb; i++) b1[i] = b[lenb - i] - '0';
for (int i = 1; i <= lena; i++)
for (int j = 1; j <= lenb; j++)
c1[i + j - 1] += a1[i] * b1[j];
for (int i = 1; i <= lenc; i++) {
if (c1[i] >= 10) {
c1[i + 1] += c1[i] / 10;
c1[i] %= 10;
}
}
while (c1[lenc] == 0 && lenc > 1) {
lenc--;
}
string c;
for (int i = 0; i < lenc; i++) {
c[i] = c1[lenc - i] + '0';
}
return c;
}