바이트아사르는 결정을 잘 내리지 못한다. 바이트타운을 지날 때 출발지와 목적지 사이에 완전히 다른 경로가 두 개 이상 있으면, 그중 하나를 고르는 데 한참이 걸린다. 그는 바이트타운에 도로 공사가 예정되어 있다는 소식을 들었는데, 아마 이 소식을 반기는 유일한 주민일 것이다. 일부 거리가 폐쇄되면 이런 괴로운 선택을 하지 않아도 될지 모르기 때문이다.
바이트타운에는 n개의 교차로가 m개의 양방향 거리로 연결되어 있다. 같은 두 교차로를 잇는 두 경로가 공유하는 거리가 하나도 없을 때, 두 경로를 서로 완전히 다른 경로라고 부른다. 단, 두 경로가 같은 교차로를 지나는 것은 허용된다.
거리가 하나씩 폐쇄되는 동안, 바이트아사르는 특정 교차로 쌍에 대해 (아직 열려 있는 거리만 사용해서) 완전히 다른 경로가 여전히 두 개 이상 존재하는지 알고 싶어 한다. 그의 질문에 답하는 프로그램을 작성하여라.
첫째 줄에 세 정수 n, m, z가 주어진다 (2≤n≤100000, 1≤m,z≤100000). 각각 교차로의 수, 거리의 수, 사건의 수이다. 교차로는 1번부터 n번까지 번호가 매겨져 있다.
이어지는 m개의 줄에는 각각 두 정수 ai, bi가 주어진다 (1≤ai,bi≤n, ai=bi). 이는 교차로 ai와 bi를 잇는 양방향 거리를 뜻한다. 어떤 두 교차로도 최대 한 개의 거리로만 연결되어 있다.
이어지는 z개의 줄에는 각각 하나의 사건이 문자 ti와 두 정수 ci, di로 주어진다 (ti∈{Z,P}, 1≤ci,di≤n, ci=di). 사건은 시간 순서대로 주어진다.
P 유형의 사건마다 한 줄씩, 입력에 나타난 순서대로 출력한다. 주어진 두 교차로 사이에 서로 겹치는 거리가 없는 두 경로가 존재하면 TAK(폴란드어로 "예")를, 그렇지 않으면 NIE(폴란드어로 "아니오")를 출력한다. P 유형의 사건은 적어도 하나 존재함이 보장된다.