Бесконечную таблицу, строки и столбцы которой пронумерованы целыми числами начиная с 1 сверху вниз и слева направо, заполняют целыми числами 1, 2, 3 и т.д. Числа выписываются в соседние клетки по границам квадратов увеличивающегося размера (см. рисунок).

Дано число $$$n$$$, определите номер строки и номер столбца, в котором окажется это число.
Программа получает на вход одно целое число $$$n$$$, $$$1\le n\le 10^{18}$$$.
Обратите внимание, что значение $$$n$$$ может быть больше, чем возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные числа (тип int64 в языке Pascal, тип long long в C и C++, тип long в Java и C#).
Программа должна вывести два целых числа: номер строки и номер столбца, в которых находится число $$$n$$$ в этой таблице. Запись выводимых чисел должна содержать только цифры, вывод действительных чисел в ответе считается неверным.
Решение, правильно работающее только для случаев, когда $$$n\le 100$$$, будет оцениваться в 20 баллов.
Решение, правильно работающее только для случаев, когда $$$n\le 10^4$$$, будет оцениваться в 40 баллов.
Решение, правильно работающее только для случаев, когда $$$n\le 10^9$$$, будет оцениваться в 60 баллов.
15
4 2
| Name |
|---|


