5 - Partial Products Algorithm