A Comprehensive Course in Number Theory