Multiplying Algebraic Expressions