Макс або Мін#11274

Макс або Мін

1 секунда
128 мегабайтів
Середня

У Кевіна є цілих чисел a_1, a_2, ..., a_n, розташованих по колу. Це означає, що числа a_i і a_{i+1} (1 \leq i < n) є сусідніми, а також a_1 і a_n є сусідами. Таким чином, кожне число має рівно два сусіди.

За одну хвилину Кевін може змінити a_i на мінімальне з трьох чисел: a_i і двох його сусідів. Або ж він може змінити a_i на максимальне з тих же чисел. Наприклад, якщо a_i = 5 і його сусіди — і , то після мінімальної операції a_i стане . Якщо ж виконати максимальну операцію, a_i залишиться .

Для кожного від до знайдіть мінімальну кількість хвилин, необхідних, щоб усі числа стали рівними , або визначте, що це неможливо.

Вхідні дані

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

Друга строка містить цілих чисел a_1, a_2, ..., a_n (1 \leq a_i \leq m) — числа, розташовані по колу.

Вихідні дані

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

Приклади

Приклад 1

Loading
Loading

Примітка

Щоб усі числа стали рівними , Кевіну потрібно як мінімум хвилин. Одна з можливих послідовностей операцій:

  1. Виконайте операцію min для a_6, вона стане .

  2. Виконайте операцію max для a_4, вона стане .

  3. Виконайте операцію max для a_3, вона стане .

  4. Виконайте операцію min для a_2, вона стане .

  5. Виконайте операцію min для a_3, вона стане .