func multiply(num1 string, num2 string) string {
if num1 == "0" || num2 == "0" {
return "0"
}
n, m := len(num1), len(num2)
ans := make([]int, m + n)
for i := n - 1; i >= 0; i -- {
x := n - i - 1
for j := m - 1; j >= 0; j -- {
y := m - j - 1
ans[x + y] += int(num1[i] - '0') * int(num2[j] - '0')
ans[x + y + 1] += ans[x + y] / 10
ans[x + y] %= 10
}
}
i := len(ans) - 1
for ; i >= 0; i -- {
if ans[i] == 0 {
continue
}
break
}
var res string
for ; i >= 0; i -- {
res += strconv.Itoa(ans[i])
}
return res
}