fixed bug for negative multiplication
fixed remainders sign value