Університетська Промоція#12355

Університетська Промоція

1,5 секунди
256 мегабайтів
Легка

Вам дані оцінки студентів, які подаються на спеціальності університету. Є студентів та спеціальностей університету.

Для кожного студента , нехай a_i буде його оцінкою за екзамен. Кожен студент надає впорядкований список бажаних спеціальностей.

Для кожної спеціальності : b_j — мінімально необхідна оцінка, а c_j — кількість доступних місць.

Студенти обробляються у строго зменшувальному порядку їх оцінок. Якщо кілька студентів мають однакову оцінку, їх обробляють у зростаючому порядку їх індексів.

При обробці студента , його приймають на першу спеціальність у списку переваг, яка задовольняє:

Після прийняття студенту призначається ця спеціальність, і c_j зменшується на повинен використовувати сортування Gnome.

Якщо жодна з їхніх бажаних спеціальностей не задовольняє умови, студент не приймається.

Для кожного студента визначте індекс спеціальності, до якої його призначено, або виведіть , якщо його не прийнято.

Вхідні дані

Перший рядок містить одне ціле число (1 \le t \le 10^4) — кількість наборів входних даних.

Перший рядок кожного набору входних даних містить два цілі числа та (1 \le n \le 2 \times 10^5,\; 1 \le m \le 50) — кількість студентів та кількість спеціальностей.

Другий рядок кожного набору входних даних містить цілих чисел a_1, a_2, \dots, a_n (0 \le a_i \le 10^9) — оцінки студентів. Оцінки не гарантуються як різні.

Наступні рядків описують переваги кожного студента. Кожен з цих рядків починається з цілого числа k_i (1 \le k_i \le m) слідом за яким йдуть k_i цілих чисел: p_{i1}, p_{i2}, \dots, p_{ik_i} (1 \le p_{ij} \le m) — де p_{ij} є -ю бажаною спеціальністю студента .

Наступний рядок містить цілих чисел b_1, b_2, \dots, b_m (0 \le b_j \le 10^9) — мінімально необхідна оцінка для кожної спеціальності.

Наступний рядок містить цілих чисел c_1, c_2, \dots, c_m (0 \le c_j \le 10^9) — кількість доступних місць для кожної спеціальності.

Гарантується, що \sum n \le 2 \times 10^5.

Гарантується, що \sum k_i \le 5 \times 10^6.

Гарантується, що значення p_{ij} є парно різними для кожного студента.

Вихідні дані

Виведіть масив d_1,d_2,...,d_n, де d_i — це остаточна спеціальність, призначена студенту , або , якщо студент не прийнятий на жодну спеціальність.

Приклади

Приклад 1

Loading
Loading

Примітка

У першому наборі даних:

  1. Студент (Оцінка ): Переваги \{1, 2, 3\}. Спеціальність вимагає ( підходить) і має місце.

    Результат: Спеціальність місць залишилося .

    Студент (Оцінка ): Переваги . Спеціальність заповнена. Спеціальність вимагає ( підходить) і має місце.

    Результат: Спеціальність місць залишилося .

  2. Студент (Оцінка ): Переваги \{2, 3, 4\}. Спеціальність заповнена. Спеціальність вимагає ( підходить) і має 2 місця.

    Результат: Спеціальність місце залишилося .

  3. Студент (Оцінка ): Переваги . Спеціальність заповнена і 70 \ngtr 80.

    Результат: .

  4. Студент (Оцінка ): Переваги . Спеціальність вимагає ( не є ). Спеціальність вимагає ( підходить) і має місце.

    Результат: Спеціальність місць залишилося .

  5. Студент (Оцінка ): Переваги . Спеціальність заповнена.

    Результат: .

Оцінювання

  1. Підзадача ( балів) : (1 \le \sum n \le 3000)

  2. Підзадача ( балів) : Без додаткових обмежень