straightforward multiplication with carry