Козак Вус та залізнична дорога#11074

Козак Вус та залізнична дорога

2 секунди
256 мегабайтів
Складна

Козак Вус прийшов на залізничну дорогу, щоб поїхати на випробування чарівних черевиків і дізнався, що на всьому залізничному шляху проблеми з освітленням. Залізнична дорога має форму великої вісімки, по якій їздить потяг. Місце, де шляхи перетинаються назвемо перехрестям.

Козак Вус хоче виправити проблеми з освітленням. Для цього він придбав ліхтарів, кожен з яких має колір від до . Гарантується, що було придбано хоча б по одному ліхтарю кожного кольору. Проблеми з освітленням будуть виправлені, якщо:

  1. Вздовж залізничної дороги буде розміщено ліхтарів.

  2. Один з ліхтарів стоїть на перехресті.

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

  4. На верхній і нижній гілках дороги стоять не менше 2-х ліхтарів (не включаючи перехрестя).

Допоможіть Козаку Вусу знайти будь-який спосіб виправити проблеми з освітленням або вкажіть, що його не існує.

Вхідні дані

Перший рядок містить три цілі числа , і (5 \leq n \leq 2 \cdot 10^5, 1 \leq k \leq 2 \cdot 10^5, 0 \leq g \leq 8) — кількість ліхтарів і кольорів відповідно, а також номер блока.

Наступний рядок містить цілих чисел a_1, a_2, \dots, a_n (1 \leq a_i \leq k) — кольори стовпів.

Гарантується, що кожне з чисел від до присутнє в цьому масиві.

Вихідні дані

Якщо відповіді немає, то виведіть .

Інакше у першому рядку виведіть два числа і (2 \leq x, y < n, 1 + x + y = n) — кількість ліхтарів на верхній і нижній гілках не враховуючи перехрестя відповідно.

У другому рядку виведіть чисел b_1, b_2, \dots, b_x (1 \leq b_i \leq k) — кольори ліхтарів, що стоять на верхній гілці в порядку обходу по годинниковій стрілці, починаючи з першого ліхтаря після перехрестя.

У третьому рядку виведіть одне число (1 \leq c \leq k) — колір ліхтаря, що стоїть на перехресті.

У четвертому рядку виведіть чисел d_1, d_2, \dots, d_y (1 \leq d_i \leq k) — кольори ліхтарів, що стоять на нижній гілці в порядку обходу по годинниковій стрілці, починаючи з першого ліхтаря після перехрестя.

Якщо відповідей кілька, то можете вивести будь-яку.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Приклад 3

Loading
Loading

Приклад 4

Loading
Loading

Приклад 5

Loading
Loading

Примітка

Вважайте, що ліхтар на перехресті стоїть на обох гілках одночасно.

У першому прикладі можемо поставити два ліхтарі з кольорами і на верхню гілку, два ліхтарі з кольорами і на нижню гілку і ліхтар з кольором на перехрестя. Таким чином кожні два сусідні ліхтарі будуть різних кольорів.

Другий приклад зображений на малюнку вище.

У третьому прикладі Козаку Вусу не вдасться виправити проблеми з освітленням, адже при будь-якій розстановці знайдуться два сусідні ліхтарі кольору .

Оцінювання

  1. ( балів): n \leq 8.

  2. ( балів): — парне, один з кольорів буде зустрічатися рівно \frac{n}{2} рази, n \leq 1000.

  3. ( балів): n = k, n \leq 1000.

  4. ( балів): n \leq 18; k = 2.

  5. ( балів): k = 2, n \leq 1000.

  6. ( балів): k \neq 2, n \leq 1000.

  7. ( балів): n \leq 1000.

  8. ( балів): без додаткових обмежень.