Экспериментальное лечение

시간 제한2초메모리 제한1024 MB

요약
매시간 제시된 두 종류의 알약과 종류별로 복용한 총 개수가 주어질 때, 각 시간에 복용한 알약의 종류를 복원하고 불가능하면 -1을 출력한다.
난이도

보통10점 중 6점

유형
그래프, DFS, 그리디, 구현
정답자
아직 제출이 없습니다

문제

После долгих безуспешных попыток поставить диагноз новому пациенту, Хаус решил воспользоваться экспериментальным методом лечения. На протяжении всего периода лечения каждый час Форман предлагал пациенту выбрать одну из двух таблеток. Известно, что спустя полчаса после того, как пациент выпил nn-ую таблетку, его здоровье резко улучшилось и он чудом выжил. Пациент помнит, сколько таблеток каждого типа он выпил, а Форман помнит все пары таблеток, которые он предлагал пациенту. Чтобы в дальнейшем врачи могли лечить людей с такими же симптомами, как у пациента, Хаус хочет восстановить тип каждой таблетки, выпитой пациентом. За помощью он обратился к вам.

입력

В первой строке задано число таблеток, выпитых пациентом, nn и количество различных типов таблеток, которыми обладает больница mm (1≤n≤1000,2≤m≤10001 \le n \le 1000, 2 \le m \le 1000). В каждой ii-ой строке, начиная со второй по (n+1n+1)-ую, задана пара чисел a_ia\_i, b_ib\_i (1≤a_i,b_i≤m1 \le a\_i, b\_i \le m, a_i≠b_ia\_i \ne b\_i) --- номера типов таблеток, которые предлагал Форман на (i−1i-1)-ом часу. В последней строке задано mm чисел c_jc\_j --- количество выпитых пациентом таблеток того типа, номер которого равен jj (0≤c_j≤n0 \le c\_j \le n). Номера типов таблеток начинаются с 11.

출력

Выведите последовательность из nn чисел, где ii-ое число равно номеру типа таблетки, выпитой на ii-ом часу. Если ответов несколько, выведите любой. Если ответов не существует, выведите единственное число −1-1.

예제2

  1. 예제 1

    입력
    3 3
    1 2
    1 3
    2 3
    1 2 0
    
    예상 출력
    2 1 2
    
  2. 예제 2

    입력
    3 3
    1 2
    1 3
    2 3
    1 1 0
    
    예상 출력
    -1