Divisibility and Factoring