Unique factorization domain