Complex mul(Complex x) { return Complex(real * x.real - imaginary * x.imaginary, real * x.imaginary + imaginary * x.real); }