Theory of numbers