5. Плитки
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В магазине продаются плитки размером $$$1 \times 1$$$ упаковками по $$$X$$$ штук. Какое минимальное количество упаковок надо купить, чтобы замостить плитками некоторый квадрат с целочисленными сторонами? Все плитки из купленных упаковок должны быть использованы.

Входные данные

В единственной строке вводится целое число $$$X$$$ ($$$1 \le X \le 10^{12}$$$).

Обратите внимание, что значение $$$X$$$ может превышать возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные целочисленные типы данных (тип int64 в языке Pascal, тип long long в C++, тип long в Java и C#).

Выходные данные

Выведите минимальное количество упаковок, которое надо купить. Можно доказать, что такое количество всегда существует.

Система оценки

Решения, правильно работающие при $$$X \le 1000$$$, будут оцениваться в $$$40$$$ баллов.

Пример
Входные данные
12
Выходные данные
3
Примечание

В примере в каждой упаковке по $$$12$$$ плиток. Если мы купим одну упаковку, то не сможем замостить квадрат. Если купим $$$2$$$ упаковки, то получится $$$24$$$ плитки, которыми тоже нельзя замостить ни один квадрат. Если же купить $$$3$$$ упаковки, то получится $$$36$$$ плиток, ими можно замостить квадрат размера $$$6 \times 6$$$.