Factorization of algebraic expressions