integer factoring