문제
국내의 섬사이를 운항하던 여객선이 침몰사고가 났다. 사고 원인을 조사해보니 여러 가지 문제점이 발견되었다. 그중에서도 무리하게 선박을 개조하여 정원을 늘려서 무게중심이 높아진 것이 중요한 원인임이 밝혀졌다. 그래서 이후부터는 비록 좌석이 남더라도 선박을 개조하기 전 원래의 정원만큼만 승객을 태우고 운항하기로 결정했다.
동균이는 섬 사이를 운항하는 여객선에서 예약을 받는 프로그램을 작성하려고 한다. 선박은 1번부터 N번까지 번호가 붙여진 N개의 섬들을 차례대로 운항한다고 하자. 즉 1번에서 출발하여 번호순서대로 운항하여 N번에 도착하는 것이다. 여객선은 원래의 정원이 S명이며 좌석이 S석보다 많더라도 S명을 초과하는 승객은 태우지 않기로 한다.
순서대로 예약 요구사항들이 주어졌을 때, 예약이 가능한지 여부를 출력하는 프로그램을 작성해보자.
예약 요구사항은 승객의 수와, 그 승객들이 탑승할 구간으로 이루어진다. 만약 그 예약 사항을 받아들여도 승객 초과 없이 그 구간을 운항할 수 있다면, 그 예약 요구사항을 받아들이고, 그렇지 않다면 그 예약 사항은 거부해야 한다. 예약 요구사항들은 주어진 순서대로 처리되어야 한다.
예약 요구사항들에 대한 정보를 받아, 예약이 가능한지 불가능한지를 출력하는 프로그램을 작성하시오.
입력
첫 줄에 섬의 개수 N, 예약가능한 정원 S, 예약 요구사항의 개수인 R이 주어진다. (1 ≤ N, S, R ≤ 60,000)
그 다음 R줄에 걸쳐 예약 요구사항들이 a, b, c의 형태로 주어진다. a는 출발 도시, b는 도착 도시, 그리고 c는 예약 인원수이다. (1 ≤ a < b ≤ N, 1 ≤ c ≤ S)
출력
M개의 줄에 걸쳐서, 입력받은 순서대로 각 예약 요구사항의 수용 여부를 출력한다. 예약을 받아들일 경우 'T'를, 거부할 경우 'N'을 출력한다.
예제
4 6 4
1 4 2
1 3 2
2 4 3
1 2 3
T
T
N
N