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

Шестикутна мережа пасовищ

Шестикутна мережа пасовищ

Фермер Джон нещодавно придбав нові землі для розширення своєї ферми. Його корівки облюбовали гексагональну структуру як у бджолиних сот. Для того щоб стаду сподобались нові землі, фермер Джон створив нову систему пасовищ та стежок для корів у цьому форматі. Ділянка під пасовища та стежки для корів утворюють шестикутник, довжина сторони якого дорівнює \textbf{k} (\textbf{2 }≤ \textbf{k }≤ \textbf{50}). Пасовища зручно пронумеровані \textbf{1..3·k·(k-1)+1}, починаючи з лівого нижнього краю та завершуючи верхнім правим, як показано на рисунку для \textbf{k = 3}: \includegraphics{https://static.e-olymp.com/content/29/292d424f52383ebaae6872fb64db4f2cd840b482.jpg} Кожне пасовище з'єднано з усіма своїми найближчими сусідами. Це значить, що якщо пасовище знаходиться всередині шестикутника, то воно сусуднє точно з шістьмома іншими пасовищами. Наприклад, на діаграмі вище пасовище \textbf{#10} сусіднє з пасовищами \textbf{#5}, \textbf{#6}, \textbf{#11}, \textbf{#15}, \textbf{#14} та \textbf{#9}. Пасовища на сторонах (але не в кутах) структури сусідні у точності з чотирма іншими пасовищами (наприклад пасовище \textbf{#4} сусіднє з \textbf{#1}, \textbf{#5}, \textbf{#9} и \textbf{#8}). Пасовища у кутах сусідні лише з трома іншими (пасовище \textbf{#1} з'єднано з \textbf{#2}, \textbf{#5} и \textbf{#4}). Довжина коров'ячої стежки, яка з'єднує два пасовища, рівна \textbf{1,} а відстань між двома пасовищами визначається як довжина найкоротшого шляху між ними. Голштинські корови фермера Джона жували траву на пасовищі \textbf{h} (\textbf{1} ≤ \textbf{h} ≤ \textbf{3·k·(k-1)+1}) декілька днів, після чого стали жирними і лінивими. Щоб заставити корів побігати, фермер Джон поклав смачні пригощання на пасовищах, розміщених на відстані \textbf{l} (\textbf{1} ≤ \textbf{l} ≤ \textbf{2·k-2}) від них. Гарантується, що фермер поклав як мінімум одне пригощання. Але корови не знають, де саме ці пригощання розміщені. Допможіть коровам уникнути зайвої біганини: виведіть кількість усіх можливх пасовищ, на яких можуть знаходитись пригощання, а також і сам список пасовищ у зростаючому порядку. Наприклад, нехай \textbf{k = 3}, а корови знаходяться на пасовищі \textbf{#1}. Фермер повідомив, що пригощання розміщено на пасовищах на відстані \textbf{2}. Пригощання може знаходитись на пасовищах \textbf{#3}, \textbf{#6}, \textbf{#10}, \textbf{#9} та \textbf{#8}, як вказано нижче. \includegraphics{https://static.e-olymp.com/content/03/03bc9bf9171f5faa81da0bf01af1da0ec2396c4e.jpg} \InputFile У одному рядку задано три цілих числа \textbf{k}, \textbf{h} та \textbf{l}. \OutputFile У першому рядку виведіть кількість пасовищ на відстані \textbf{l} від пасовища \textbf{h}. У рядку \textbf{i+1} виведіть номер \textbf{i}-го пасовища. Номери пасовищ слід виводити у зростаючому порядку.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
3 1 2
Вихідні дані #1
5
3
6
8
9
10