만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

색칠

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

난이도

아직 분류되지 않았습니다

정답자
아직 제출이 없습니다

문제

무방향 그래프 G=(V,E)G=(V,E)가 주어진다. 함수 c:V→Nc:V\to\mathbb{N}은 모든 간선 (u,v)∈E(u,v)\in E에 대해 c(u)≠c(v)c(u)\neq c(v)이면 색칠(colouring)이라고 한다.

모든 정점 v∈Vv\in V에 대해 c(v)∈{1,2,…,k}c(v)\in\{1,2,\ldots,k\}이면 색칠 cc를 아름다운(beautiful) 색칠이라고 한다. 즉 1부터 kk까지의 색만 사용하는 색칠이 아름다운 색칠이다.

모든 정점 v∈Vv\in V에 대해 w≠vw\neq v이고 c(v)=c(w)c(v)=c(w)인 정점 w∈Vw\in V가 존재하면 색칠 cc를 똑똑한(smart) 색칠이라고 한다. 즉 사용된 모든 색이 최소 두 번 이상 쓰인 색칠이 똑똑한 색칠이다.

Byteasar는 자신의 그래프에 맞는 색칠을 찾고 있다. 그는 이미 아름다운 색칠 cbc_b를 찾았지만 너무 단순하고 야심이 부족해 보였다. 다른 때에는 똑똑한 색칠 csc_s를 찾았지만, 얼마 지나지 않아 더는 쳐다볼 수 없었다.

Byteasar는 아름다우면서 동시에 똑똑한 색칠을 만날 희망을 잃었다. 그를 놀라게 하고, 그런 색칠을 찾아줄 수 있겠는가?

입력

첫 줄에 세 정수 nn, mm, kk가 주어진다 (1≤k≤n≤200 0001\leq k \leq n \leq 200\,000, 0≤m≤200 0000 \leq m \leq 200\,000). kk는 아름다운 색칠에서 허용되는 가장 큰 색이고, nn과 mm은 각각 Byteasar 그래프의 정점 수와 간선 수이다. 정점은 1번부터 nn번까지 번호가 매겨져 있다.

이어지는 mm개 줄에는 정수 두 개 uiu_i, viv_i (1≤ui<vi≤n1\leq u_i<v_i\leq n)가 주어지며, 이는 정점 uiu_i와 viv_i가 간선으로 연결되어 있다는 뜻이다. 쌍 (ui,vi)(u_i,v_i)는 모두 서로 다르다.

다음 두 줄에는 순서대로 색칠 cbc_b와 csc_s가 주어진다. 각 색칠은 nn 이하의 양의 정수 nn개로 이루어지며, ii번째 수가 정점 ii의 색이다. cbc_b는 아름다운 색칠이고, csc_s는 똑똑한 색칠이다.

출력

아름다우면서 동시에 똑똑한 색칠이 존재하면 첫 줄에 "TAK"(폴란드어로 '예')를 출력한다. 둘째 줄에는 입력과 같은 형식으로 그런 색칠의 정수 nn개를 출력한다. 가능한 색칠이 여러 개라면 그중 아무거나 출력해도 된다.

존재하지 않으면 "NIE"(폴란드어로 '아니오')만 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    8 7 3
    1 2
    2 3
    3 4
    1 5
    1 6
    1 7
    1 8
    1 2 3 2 2 2 2 2
    1 2 4 1 2 3 4 3
    
    예상 출력
    TAK
    1 2 3 1 2 2 3 2