Factoring by Grouping