Функция делителя
Тейджи увлекается теорией чисел и считает все целые числа своими друзьями. Однажды, готовясь к следующему занятию в качестве ассистента преподавателя, он заинтересовался числовой функцией, известной как функция делителей. Эта функция, обозначаемая как σ(n), представляет собой сумму всех положительных делителей числа n. "Как быстро растет эта σ(n)?" — задумался он. Очевидно, что σ(n) увеличивается с ростом n, но оценить скорость этого роста непросто. Он решил вычислить максимальное значение σ(n)/n для диапазона 1 ≤ n ≤ k при различных значениях k.
Хотя для небольших чисел это сделать легко, вычисление многих значений функции делителей вручную становится затруднительным. Устав от написания тысяч цифр, он решил воспользоваться компьютером для решения этой задачи. Однако он не знаком с программированием, поэтому обратился к вам, талантливому программисту, за помощью.
Пожалуйста, напишите программу, чтобы помочь ему.
Входные данные
Входные данные состоят из серии тестов. Каждый тест представлен строкой, содержащей одно целое число k (1 ≤ k ≤ 10^15). Ввод заканчивается строкой с нулем, который не следует обрабатывать.
Выходные данные
Для каждого теста выведите максимальное значение σ(n)/n для диапазона 1 ≤ n ≤ k, каждое на отдельной строке. Значения должны быть выведены с точностью до шести знаков после запятой и не должны иметь абсолютную ошибку более 10^−6.