Темні ночі#5946

Темні ночі

2 секунди
64 мегабайти
Легка

Маленький Петя дуже любить свою роботу. Він працює охоронцем у нічну зміну і має веж, які він повинен захистити. Кожна вежа містить лампочку, яка може або світити, або бути зламаною. Окрім цього, всередині кожної вежі зберігається певна кількість скарбів. Петя знає, що кожної ночі злодії можуть спробувати викрасти скарби. Проте, вони бояться темряви, і тому можуть викрасти щось лише з веж із працюючою лампочкою.

Кожної ночі деякі лампочки ремонтують, а деякі ламаються. Точніше, згідно з Невідомим Всесвітнім Законом, стан лампочки у вежі P_i цієї ночі стає таким же, як і стан лампочки у вежі попередньої ночі. Крім того, всі P_i різні.

Тепер Петя хоче знати, яку максимальну кількість скарбів можуть викрасти злодії в першу ніч, другу, ..., -ту ніч. Всі злодії є цілком гіпотетичними, тому ми вважаємо, що на початку кожної ночі нічого не вкрадено. Протягом однієї ночі злодії можуть викрасти з будь-якої вежі з працюючою лампочкою, а також можуть викрасти з кількох веж за одну ніч.

Вхідні дані

Перший рядок містить одне ціле число (1 \leq N \leq 10^5) — кількість веж. Другий рядок містить різних цілих чисел від до : P_1, P_2, \ldots, P_N. Третій рядок містить цілих чисел a_1, a_2, \ldots, a_N (0 \leq a_i \leq 10^6), де a_i — кількість скарбів у -й вежі. Четвертий рядок містить рядок з символів — або . -й символ дорівнює , якщо лампочка у -й вежі не працює, і , якщо працює. П’ятий рядок містить одне ціле число (1 \leq M \leq 10^5) — кількість ночей, які хоче перевірити Петя.

Вихідні дані

Виведіть рівно рядків. -й рядок повинен містити кількість скарбів, які могли б бути гіпотетично викрадені протягом -ї ночі, за модулем 10^9+7.

Приклади

Приклад 1

Loading
Loading