What patterns are involved in multiplying algebraic expressions