H. Хоёр хөзрийг нэгтгэх

хугацааны хязгаарлалт 2 секунд

санах ойн хязгаарлалт 256 мегабайт

оролт стандарт оролт

гаралт стандарт гаралт

Таны өмнө ширээн дээр хоёр хайрцагтай хөзөр байгаа ба тэдгээрийн зарим нь дээшээ, зарим нь доошоо харсан байна. Та тэдгээрийг бүх хөзөр нь доошоо харсан нэг хайрцагтай хөзөр болгон нийлүүлэх гэж байна. Та үүнийг хоёр үе шаттайгаар хийнэ.

Эхний үе шат нь нэг хайрцаг дахь ижил хөзрүүдийн харьцангуй дараалал өөрчлөгдөхгүй байхаар хоёр хайрцгийг нэгтгэх. Энэ нь нэг хайрцагт байгаа дурын ялгаатай $i$ ба $j$ хөзрүүдийн хувьд хэрвээ $i$ хөзөр $j$ хөзрийн дээр байрлаж байгаа бол нэгтгэсэний дараа ч мөн $i$ хөзөр $j$ хөзрийн дээр байрлана гэсэн үг.

Хоёрдугаар үе шатыг эхний үе шатаас гарч ирсэн хайрцагтай хөзрөн дээр гүйцэтгэнэ. Энэ үе шатанд гүйцэтгэх үйлдэл нь эргүүлэх үйлдэл байна. Нэг үйлдэлд та хайрцагтай хөзрийн дээрээс цөөн тооны хөзөр авч бүгдийг нь эргүүлээд буцааж тавьж чадна. Иймд хөзөр бүрийг эргүүлэх ба мөн картуудын дараалал эсрэгээрээ болно. Өөрөөр хэлбэл эргүүлэх үйлдлийн өмнө доор байсан хөзөр дээр гарч ирнэ гэсэн үг.

Таны ажил бол бүх хөзрийг доош харуулах юм. Эхний шатанд хөзрүүдийг нэгтгэж, хоёрдугаар шатанд эргүүлэх үйлдлүүдийн дарааллыг олох ба энд бүх хөзрүүд доошоо харсан байх ёстой ба эргүүлэх үйлдлийн тоо хамгийн бага байх ёстой.

Оролт

Оролтын эхний мөрөнд бүхэл тоо $n$ байх буюу эхний хайрцаг дахь хөзрийн тоо $(1 ≤ n ≤ 10^{5})$ байна.

Хоёр дахь мөрөнд зайгаар тусгаарлагдсан $n$ бүхэл тоо $a_{1}, a_{2}, ..., a_{n}$ $(0 ≤ a_{i} ≤ 1)$ байна. Хэрвээ $i$-р хөзөр доошоо харсан байвал $a_{i}$ утга 0 байна, харин дээшээ харсан байвал 1 байна. Хөзрүүд байрласан байрлалаараа дээрээсээ доош дараалалтай өгөгдөнө.

Гуравдугаар мөрөнд бүхэл тоо $m$ байх ба хоёрдугаар хайрцаганд байгаа хөзрийн тоо байна $(1 ≤ m ≤ 10^{5})$.

Оролтын дөрөвдүгээр мөрөнд зайгаар тусгаарлагдсан $m$ бүхэл тоо $b_{1}, b_{2}, ..., b_{m}$ $(0 ≤ b_{i} ≤ 1)$ байна. Хэрвээ $i$-р хөзөр доошоо харсан байвал $b_{i}$ утга 0 байна, харин дээшээ харсан байвал 1 байна. Хөзрүүд байрласан байрлалаараа дээрээсээ доош дараалалтай өгөгдөнө.

Гаралт

Эхний мөрөнд зайгаар тусгаарлагдсан $n + m$ бүхэл тоо байх буюу эхний үе шатын дараах хөзрүүдийн дугаар байна. Тэдгээрийг дээрээс нь доош жагсаа. Эхний хайрцаг дахь хөзрүүдийн дугаар дээрээсээ доошоо $1$-c $n$ хүртэлх дугаартай таарч байх ёстой бол хоёрдугаар хайрцаг дахь хөзрүүдийн дугаарууд мөн дээрээсээ доошоо $n + 1$-с $n + m$ хүртэлх дугаартай таарч байх ёстой.

Хоёр дахь мөрөнд нэг ширхэг бүхэл тоо $x$ байх буюу та ширээн дээр байгаа бүх картыг доош нь харуулахын тулд хийх шаардлагатай эргүүлэх үйлдлийн хамгийн бага тоо байна. Гуравдугаар мөрөнд $x$ ширхэг бүхэл тоо $c_{1}, c_{2}, ..., c_{x}$ $(1 ≤ c_{i} ≤ n + m)$ байх буюу тус бүртээ эргүүлэх үйлдэл гүйцэтгэхэд ширээний дээрээс авах хөзрүүдийн тоог илэрхийлнэ. Үйлдлүүдийг хийгдэх дарааллынх нь дагуу хэвлэнэ үү.

Хэрвээ хэд хэдэн тохиромжтой шийдэл байвал алийг нь ч хэвлэж болно. Үйлдлүүдийн хамгийн бага тоо нь $6*10^{5}$-с хэтрэхгүй байна.

Орчуулсан: Г.Мэндбаяр

Жишээ тэстүүд

Оролт
3
1 0 1
4
1 1 1 1
Гаралт
1 4 5 6 7 2 3
3
5 6 7
Оролт
5
1 1 1 1 1
5
0 1 0 1 0
Гаралт
6 1 2 3 4 5 7 8 9 10
4
1 7 8 9
Сэтгэгдлүүдийг ачааллаж байна...