fixed the negative number multiplication, fixed overflow checking