Автор: | Антон Карабанов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход | |||
Максимальный балл: | 100 |
Тимофей разрезал имеющийся у него квадрат на квадратные кусочки. У него получилось n квадратов со стороной 1 и один квадрат с большей
стороной. Потом большой квадрат потерялся и Тимофей пытается вспомнить, какого размера он был. Помогите ему!
Единственная строка входного файла содержит натуральное число n — количество единичных квадратов.
Выведите через пробел в порядке возрастания все подходящие размеры стороны большого квадрата. Если ни одного подходящего значения нет, выведите число -1.
5 ≤ n ≤ 109
Баллы за каждый тест начисляются независимо.
Решения, верно работающие при n ≤ 1000, получат не менее 40 баллов.
В первом примере n = 21. На рисунке приведены два подходящих варианта разрезания. В первом случае из квадрата 5 × 5 вырезан квадрат со стороной 2, во втором — из квадрата 11 × 11 вырезан квадрат со стороной 10. В обоих случаях остается 21 единичный квадрат.
Во втором примере n = 10. Подходящих вариантов разрезания нет.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|