Островные государства
Суровые феодальные времена переживала некогда великая островная страна Байтландия. За главенство над всем островом борются два самых сильных барона. Таким образом, каждый город страны контролируется одним из правителей. Как водится издревле, некоторые из городов соединены двусторонними дорогами. Бароны очень не любят друг друга и стараются делать как можно больше пакостей. В частности, теперь для того, чтобы пройти по дороге, соединяющей города различных правителей, надо заплатить пошлину — один байтландский рубль. Кроме этого, за выезд из городов с четными номерами берется удвоенная пошлина.
Программист Вася живет в городе номер 1. С наступлением лета он собирается съездить в город n на Всебайтландское сборище программистов. Разумеется, он хочет затратить при этом как можно меньше денег и помочь ему здесь, как обычно, предлагается Вам.
Входные данные
В первой строке записано два числа n и m (1 ≤ n, m ≤ 100000) — количество городов и количество дорог соответственно.
В следующий строке содержится информация о городах — n чисел 1 или 2 — какому из баронов принадлежит соответствующий город.
В последних m строках записаны пары a и b (1 ≤ a, b ≤ n, a ≠ b). Каждая пара означает наличие дороги из города a в город b. По дорогам Байтландии можно двигаться в любом направлении.
Выходные данные
Если искомого пути не существует, выведите единственное слово impossible. В противном случае, в первой строке напишите минимальную стоимость и количество посещенных городов, а во вторую выведите эти города в порядке посещения. Если минимальных путей несколько, выведите любой.