У Кевіна є цілих чисел 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
Щоб усі числа стали рівними , Кевіну потрібно як мінімум хвилин. Одна з можливих послідовностей операцій:
Виконайте операцію min для a_6, вона стане .
Виконайте операцію max для a_4, вона стане .
Виконайте операцію max для a_3, вона стане .
Виконайте операцію min для a_2, вона стане .
Виконайте операцію min для a_3, вона стане .