Поликарп нашёл таблицу, имеющую бесконечное количество строк и столбцов. Строки пронумерованы от \(1\), начиная с самой верхней. Аналогично, столбцы пронумерованы от \(1\), начиная с самого левого.
Изначально таблица не заполнена, и Поликарп хочет это исправить. Он записывает числа от \(1\) и далее в таблицу следующим образом.
Здесь изображено, как он расставит числа от \(1\) до \(10\). Стрелками обозначены дальнейшие действия. В левую верхнюю ячейку таблицы он записывает число \(1\). Далее он последовательно записывает в таблицу все положительные целые числа, начиная с \(2\), по порядку, придерживаясь следующего алгоритма.
Сначала Поликарп выбирает самую левую незаполненную ячейку в самой первой строке таблицы и заполняет её. Затем, пока у последней заполненной ячейки сосед слева существует и заполнен, он переходит вниз и заполняет очередную ячейку. Таким образом, он переходит вниз до тех пор, пока не окажется в клетке, у которой не заполнен сосед слева (смотрите на вертикальную стрелку, идущую вниз, на рисунке выше).
После этого он начинает заполнять клетки справа налево от текущей, пока не упрётся в первый столбец (смотрите на горизонтальную стрелку, идущую влево, на рисунке выше). После этого Поликарп снова выбирает самую левую незаполненную ячейку в первой строке и идет вниз, и так далее.
У друга Поликарпа есть любимое число \(k\). Он хочет узнать, в какой ячейке это число окажется. Помогите ему найти номер строки и столбца, на пересечении которых находится ячейка, содержащая заданное число \(k\).
Выходные данные
Для каждого набора входных данных в отдельной строке выведите через пробел два целых числа \(r\) и \(c\) (\(r, c \ge 1\)) — номер строки и номер столбца ячейки, содержащей число \(k\), соответственно.