finish problem 1-3 except poly_mul