Рейтинги#2453

Рейтинги

1 секунда
64 мегабайти
Середня

Є команд (пронумерованих від до ), які щороку беруть участь у змаганні з програмування, і в кінці їх ранжують за заслугами. Відомо результати минулого року.

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

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

Вхідні дані

Перший рядок містить додатне ціле число: кількість тестових випадків, не більше . Далі для кожного тесту:

  • Один рядок з цілим числом (2 \le n \le 500): кількість команд.

  • Один рядок з цілими числами t_i (1 \le t_i \le n): минулорічний рейтинг від найкращої до найгіршої. t_i — команда, яка зайняла позицію (нумерація з 1) у рейтингу. Всі t_i різні.

  • Один рядок з цілим числом (0 \le m \le 25\ 000): кількість пар, для яких порядок змінився.

  • рядків з двома цілими числами a_i і b_i (1 \le a_i < b_i \le n): пара команд, для яких порядок у рейтингу змінився. Кожна така пара зустрічається рівно один раз.

Вихідні дані

Для кожного тесту:

  • Один рядок з цілими числами: цьогорічний рейтинг від найкращої до найгіршої, де -те значення (нумерація з 1) — команда, що зайняла -ше місце. Якщо команду неможливо визначити однозначно, замініть число символом '?'. Якщо дані узгодити неможливо з жодним рейтингом цього року, виведіть рядок "IMPOSSIBLE".

Приклади

Приклад 1

Loading
Loading