Статуетки#10729

Статуетки

2 секунди
256 мегабайтів
Дуже складна

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

Боб має чудову пам'ять і може запам'ятати, які міні-фігурки були виставлені в кожен з минулих днів. Тому він вирішив провести невелику розумову вправу, щоб перевірити свою пам'ять і обчислювальні здібності. Для цього він нумерує свої фігурки числами від до n - 1 і обирає послідовність цілих чисел d_0, ..., d_{n-1} в діапазоні . Потім він обчислює послідовність x_0, ..., x_n наступним чином: x_0 = 0, а x_{i+1} = (x_i + y_i)~mod~n, де mod — це операція за модулем, а y_i — це кількість фігурок, виставлених у день d_i, номер яких більший або дорівнює x_i. Результатом обчислень Боба є x_n.

Більш формально, якщо — це підмножина \{0, ..., n - 1\}, що відповідає фігуркам, виставленим на полиці в -ий день, то:

Кожен елемент j~(0 \le j < n) вставляється і видаляється рівно один раз, тому остання множина також є порожньою. Обчислення, яке виконує Боб, відповідає наступній програмі:

~~~~~x_0 = 0

~~~~~for~i \in [0; n - 1]

~~~~~~~~~~x_{i+1} = (x_i + \#\{y \in S(d_i)~таке~що~y \ge x_i\})~mod~n

~~~~~вивести~x_n

Боб просить вас перевірити його розрахунки. Для цього він надає вам числа, які він використовував при обчисленні (d_0, ..., d_{n-1}), а також журнал того, які фігурки він додавав або видаляв кожен день. Зверніть увагу, що міні-фігурка, додана в день і прибрана в день , присутня в день k~(i \le k < j). Ви повинні повідомити йому число, яке знайдете в кінці обчислень.

Вхідні дані

Складається з 2 \cdot n + 1 рядків.

  • Перший рядок містить ціле число n~(1 \le n \le 10^5).

  • Рядки від до n + 1 описують додані і видалені фігурки. Рядок i + 1 містить розділені пробілами або , 0 \le j < n, щоб вказати, що додається або видаляється в день . Цей рядок може бути порожнім. Рядок може містити як , так і саме в цьому порядку.

  • Рядки з n + 2 по 2 \cdot n + 1 описують послідовність d_0, ..., d_{n-1}. Рядок n + 2 + i містить ціле число d_i~(0 \le d_i \le n).

Вихідні дані

Виведіть одне число x_n.

Приклади

Відповідь дорівнює , оскільки

  • спочатку x = 2, оскільки S(1) = \{0, 2\} і \#\{y \in S(1)~таке~що~y > 0\} = 2;

  • потім x = 0, оскільки S(2) = \{1, 2\} і \#\{y \in S(2)~таке~що~y > 2\} = 1;

  • і нарешті x = 2, оскільки S(2) = \{1, 2\} і \#\{y \in S(2)~таке~що~y > 0\} = 2.

Приклад 1

Loading
Loading