Divisibility and Factorization