eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Пошкоджений трикутник

Пошкоджений трикутник

Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB

Розглянемо трикутник нескінченного розміру. Розділимо його на менші трикутники і пронумеруємо, як показано на рисунку. Два маленьких трикутника є суміжними, якщо вони мають спільну границю (а не лише спільну точку). Так як кожен трикутник має три сторони, то він знаходиться поруч з не більш ніж трьома іншими трикутниками. Трикутники, які дотикаються до двох чи лише одному трикутнику, знаходяться на границі нескінченного трикутника.

За номером трикутника легко візуально визначити кількість суміжних з ним трикутників. Наприклад, до трикутника номер 13 суміжними є трткутники з номерами 7, 12 та 14. Якщо вибрати граничний трикутник, наприклад з номером 25, то легко визначити його сусідів - це 24 та 35. Напишіть програму, яка виконує описану функцію.

Вхідні дані

Перший рядок містить кількість тестів n (1n100), кожен з яких розміжено у окремому рядку. Кожний тест складається одного цілого числа - номера трикутника, натурального числа від 1 до 1000000 включно.

Вихідні дані

Вивести n рядків (по одному рядку для кожного тесту). Відповіддю на кожний тест є номери трикутників, суміжних з заданим. Список чисел слід виводити у зростаючому порядку. Між кожною парою номерів трикутників потрібно виводити один пропуск.

Формат вихідних даних наведено у прикладі.

Приклад

Вхідні дані #1
3
13
25
1
Вихідні дані #1
7 12 14
24 35
3
Джерело TCEA State Programming Contest April, 2008