광섬유 네트워크
시간 제한1초메모리 제한128 MB
트리 경로 위의 연결 요청에 대해 용량이 충분하면 대역폭을 예약하고 해제 요청 시 해당 쌍의 예약을 모두 되돌립니다.
문제
바이트나라(Bajtocja)에 초고속 광섬유 네트워크가 새로 개통되었습니다. 이 네트워크는 개의 집을 개의 광섬유 케이블로 연결하며, 서로 다른 두 집 사이에는 (직접 연결이 아닐 수도 있는) 경로가 정확히 하나씩 존재합니다. 즉, 집과 케이블은 하나의 트리를 이룹니다.
번 집에 사는 사람이 번 집에 사는 사람이 올린 크기 메가바이트짜리 영상을 내려받으려면, 두 집 와 사이에 대역폭 메가비트인 연결을 하나 만들어야 합니다. 이를 위해 두 집을 잇는 경로 위의 모든 케이블에서 메가비트의 대역폭을 예약해야 합니다. 케이블 하나는 여러 연결을 동시에 감당할 수 있지만, 각 케이블에는 최대 대역폭이 정해져 있어 그 케이블에 걸린 예약의 합이 최대 대역폭을 넘을 수는 없습니다.
요청들을 주어진 순서대로 처리하는 프로그램을 작성하세요. 각 요청은 다음 둘 중 하나입니다.
- 연결 요청(): 두 집 와 사이에 대역폭 짜리 연결을 새로 만듭니다. 경로 위의 모든 케이블에 남은 대역폭이 이상이면 각 케이블에서 를 예약하고 요청은 성공합니다. 케이블 중 하나라도 남은 대역폭이 부족하면 아무것도 예약하지 않고 요청은 실패합니다. 같은 두 집 사이에는 여러 개의 연결이 동시에 존재할 수 있으며, 그 예약량은 서로 더해집니다.
- 해제 요청(): 두 집 와 사이에 지금까지 만들어져 아직 유지되고 있는 모든 연결을 끊고, 그 연결들이 경로 위의 케이블에서 예약했던 대역폭을 전부 되돌립니다.
입력
첫째 줄에 집의 수 ()이 주어집니다. 이어지는 개의 줄에는 각각 세 정수 , , (, )가 주어지며, 이는 집 와 집 가 최대 대역폭 메가비트인 케이블로 직접 연결되어 있음을 뜻합니다.
그다음 줄에는 요청의 수 ()이 주어집니다. 이어지는 개의 줄에는 각각 세 정수 , , (, )가 주어집니다. 이면 집 와 집 사이에 대역폭 짜리 연결을 만드는 요청이고, 이면 두 집 사이의 기존 연결을 모두 해제하는 요청입니다.
출력
연결 요청()마다 예약이 성공했으면 TAK, 실패했으면 NIE를, 요청이 주어진 순서대로 한 줄에 하나씩 출력합니다. 해제 요청()에 대해서는 아무것도 출력하지 않습니다.