B. Покупка футболок
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В магазин привезли партию новых футболок, состоящую из n штук. Каждая футболка характеризуется тремя параметрами pi, ai и bi, где pi — это цена i-й футболки, ai — цвет i-й футболки спереди, а bi — цвет i-й футболки со спины. Все pi — различны, а величины ai и bi — целые числа от 1 до 3.

Известно, что в магазин придут m покупателей. Каждый из них хочет купить ровно одну футболку. Про каждого из покупателей известен его любимый цвет, cj — любимый цвет j-го покупателя.

Покупатель согласен купить футболку, если хотя бы с одной стороны она его любимого цвета. При этом среди всех футболок, которые покупатель согласен купить, он выберет самую дешёвую. Если в магазине не осталось подходящих футболок, то покупатель не будет ничего покупать. Считайте, что все покупатели приходят по очереди, и обслуживание нового покупателя не начнется, пока не закончится обслуживание предыдущего.

Перед вами стоит задача для каждого покупателя определить цену футболки, которая будет им куплена.

Входные данные

В первой строке следует целое положительное число n (1 ≤ n ≤ 200 000) — количество футболок в магазине.

В следующей строке следует последовательность целых чисел p1, p2, ..., pn (1 ≤ pi ≤ 1 000 000 000), где pi равно цене i-й футболки.

В следующей строке следует последовательность целых чисел a1, a2, ..., an (1 ≤ ai ≤ 3), где ai равно цвету футболки i спереди.

В следующей строке следует последовательность целых чисел b1, b2, ..., bn (1 ≤ bi ≤ 3), где bi равно цвету футболки i со спины.

В следующей строке следует целое положительное число m (1 ≤ m ≤ 200 000) — количество покупателей.

В следующей строке следует последовательность c1, c2, ..., cm (1 ≤ cj ≤ 3), где cj равно любимому цвету покупателя j.

Покупатели будут приходить в магазин в том же порядке, что перечислены во входных данных. Обслуживание нового покупателя не начнется, пока не закончится обслуживание предыдущего.

Выходные данные

Выведите в первую строку m целых чисел, причём j-е число должно быть равно стоимости футболки, которую приобретёт покупатель j. Если покупатель j не сможет найти подходящей футболки, выведите -1.

Примеры
Входные данные
5
300 200 400 500 911
1 2 1 2 3
2 1 3 2 1
6
2 3 1 2 1 1
Выходные данные
200 400 300 500 911 -1 
Входные данные
2
1000000000 1
1 1
1 2
2
2 1
Выходные данные
1 1000000000