Гра#8695

Гра

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

Аліса та Боб грають у таку гру:

Їм надано послідовність з додатних цілих чисел, кожне з яких не перевищує . Елементи послідовності пронумеровані від до . У послідовності можуть бути повторювані числа. На початку гри формується множина , що містить перші елементів послідовності. Зверніть увагу, що може бути мультимножиною, тобто вона може містити однакові елементи. Гравці ходять по черзі, починає Аліса. Кожен хід виконується так:

  1. Гравець, чия черга, вибирає одне число з множини і забирає його, додаючи його значення до свого рахунку (спочатку рахунок обох гравців дорівнює ).

  2. Наступне число в послідовності, якщо воно ще є, додається до множини (якщо послідовність вже порожня, ця дія пропускається). Це означає, що після першого взяття з , число з індексом p + 1 додається до множини, після другого - число з індексом p + 2, і так далі.

Гра триває, поки множина не стане порожньою. Ми припускаємо, що кожен гравець намагається максимізувати свій рахунок. Результатом гри є різниця між очками, набраними Алісою, та очками, набраними Бобом.

Напишіть програму game, яка повинна обробити ігор на заданій початковій послідовності.

Вхідні дані

Перший рядок містить два розділені пробілом додатні цілі числа та (1 \le N \le 100\,000, 1 \le K \le 2\,000, K \le N).

Другий рядок складається з розділених пробілом додатних цілих чисел a_1, a_2, \ldots, a_N, що представляють елементи заданої послідовності (1 \le a_i \le N для i = 1, 2, \ldots, N).

Третій рядок містить розділених пробілом додатних цілих чисел p_1, p_2, \ldots, p_K, кожне з яких визначає початкову множину , створену з перших p_i елементів послідовності для -ї гри, i = 1, 2, \ldots, K (1 \le p_i \le N для i = 1, 2, \ldots, K).

Вихідні дані

Програма повинна вивести у стандартний вихід рядків, кожен з яких містить одне ціле число - результат відповідної гри. Рядок номер повинен містити результат гри номер (ігри пронумеровані від до за вхідними даними).

Приклади

Приклад 1

Loading
Loading