eolymp
bolt
Try our new interface for solving problems
Problems

Квадратичная перестановка High

Квадратичная перестановка High

Рассмотрим перестановку чисел от \textbf{a} до \textbf{b}. Будем называть ее квадратичной, если для каждого элемента его сумма с элементом, который попадает на его место после перестановки, является точным квадратом. Более точно, квадратичной перестановкой называется такая биекция \textbf{p} множества целых чисел от \textbf{a} до \textbf{b} самого на себя, что для любого \textbf{i} выполняется \textbf{i + p(i) = j^2} для некоторого целого числа \textbf{j}. Требуется для заданных \textbf{a} и \textbf{b} найти квадратичную перестановку. \textbf{Ограничения} \textbf{a}, \textbf{b} -- целые числа. \textbf{0} ≤ \textbf{a} ≤ \textbf{100}, \textbf{0} ≤ \textbf{b} ≤ \textbf{100000}, \textbf{a} ≤ \textbf{b}. \InputFile В единственной строке содержатся числа \textbf{a} и \textbf{b}. \OutputFile Выведите \textbf{b-a+1} чисел, определяющих значения \textbf{p(i)} для всех \textbf{i} от \textbf{a} до \textbf{b}, где \textbf{p} -- некоторая квадратичная перестановка. Если такой перестановки при заданных \textbf{a} и \textbf{b} не существует, выведите одно число \textbf{-1}.
Time limit 1 second
Memory limit 256 MiB
Input example #1
1 9
Output example #1
8 2 6 5 4 3 9 1 7