Герой Аркадий находится на узкой полоске земли, разделенной на *n* зон, пронумерованных от 1 до *n*. Из *i*-й зоны можно пройти лишь в (*i* - 1)-ю зону и в (*i* + 1)-ю зону, если они существуют. При этом между каждой парой соседних зон находятся пограничные врата, которые могут быть разных цветов, цвет врат между *i*-й и (*i* + 1)-й зоной равен *g*<sub class="lower-index">*i*</sub>.

Аркадий может пройти пограничные врата некоторого цвета, только если он перед этим побывал в одном из шатров хранителей ключей этого цвета и взял ключ. В каждой зоне находится ровно один шатер хранителя ключей некоторого цвета, цвет шатра в *i*-й зоне равен *k*<sub class="lower-index">*i*</sub>. После посещения шатра определенного цвета Аркадий может неограниченное число раз проходить через любые врата этого цвета.

На проход через одни врата Аркадий тратит один ход, на посещение шатра и другие перемещения ходы не требуются. За какое минимальное число ходов Аркадий может попасть из зоны *a* в зону *b*, если изначально у него нет никаких ключей?
Первая строка содержит три целых числа *n*, *a*, *b* (2 ≤ *n* ≤ 100 000, 1 ≤ *a*, *b* ≤ *n*, *a* ≠ *b*) — число зон, номер начальной зоны и номер конечной зоны, соответственно.

Вторая строка содержит *n* - 1 целое число *g*<sub class="lower-index">1</sub>, *g*<sub class="lower-index">2</sub>, ..., *g*<sub class="lower-index">*n* - 1</sub> (1 ≤ *g*<sub class="lower-index">*i*</sub> ≤ 100 000), где *g*<sub class="lower-index">*i*</sub> означает цвет пограничных врат между зонами *i* и *i* + 1.

Третья строка содержит *n* целых чисел *k*<sub class="lower-index">1</sub>, *k*<sub class="lower-index">2</sub>, ..., *k*<sub class="lower-index">*n*</sub> (1 ≤ *k*<sub class="lower-index">*i*</sub> ≤ 100 000), где *k*<sub class="lower-index">*i*</sub> означает цвет шатра хранителя ключей в *i*-й зоне.
В первом примере, чтобы попасть из зоны 4 в зону 1, Аркадию нужно сначала взять ключ цвета 1, пройти в зону 3, там взять ключ цвета 2 и пройти обратно в зону 4 и затем в зону 5, взять там ключ цвета 3 и дойти до зоны 1 за четыре хода.

Во втором примере Аркадий может дойти лишь до четвертой зоны, так как шатров хранителей ключей цвета 1 нет совсем.
l = input().split()
g = input().split()
k = input().split()
abeg = int(l[1])
aend = int(l[2])
n = int(l[0])
x = 0
ml = []
kt = []
i = int(1)
e = 1
l0 = int(l[0])
l1 = int(l[1])
l2 = int(l[2])

def increment():
    global x
    x = x + 1


def increment1():
    global x
    x = x - 1

ml.append(l1)
while abeg > aend or abeg < aend:
    if abeg + 1 in ml:
        if k[abeg - 1] == g[abeg - 1]:
            kt[len(kt)] = [k[abeg - 1]]
            abeg = abeg + 1
            ml[len(ml):] = [abeg]
            increment()
            print(str(ml))
        else:
            if abeg - 1 in ml:
                if k[abeg - 1] == g[abeg - 2]:
                    z = k[abeg - 1]
                    kt[len(kt):] = z
                    abeg = abeg - 1
                    ml[len(ml):] = [abeg]
                    increment1()
                    print(str(ml))

            elif abeg + 1 not in ml:
                if k[abeg - 1] != g[abeg - 1] and k[abeg - 1] != g[abeg - 2] and g[abeg - 2] == kt[int(g[abeg - 2]) - 1]:
                    abeg = abeg + 1
                    ml[len(ml):] = [abeg]
                    increment()
                    print(str(ml))

            elif abeg - 1 not in ml:
                if k[abeg - 1] != g[abeg - 1] and k[abeg - 1] != g[abeg - 2] and g[abeg - 2] == kt[int(g[abeg - 2]) - 1]:
                    abeg = abeg - 1
                    ml[len(ml)] = [abeg]
                    increment1()
                    print(str(ml))
    else:
        print("-1")
        break



