왕
시간 제한1초메모리 제한128 MB
여러 구간 합에 대한 부등식 제약이 주어질 때 이를 모두 만족하는 정수 수열이 존재하는지 판정한다.
문제
옛날 어느 왕국에서 왕비가 아들을 낳았고, 그 아들이 훗날 왕이 되었다. 안타깝게도 이 왕자는 셈이 몹시 서툴러서, 정수를 더하는 것과 그 합을 주어진 정수 하나와 크고 작음으로 비교하는 것밖에 하지 못했다. 게다가 다루는 수들은 반드시 하나의 수열로 늘어놓아야 했고, 그 수열에서 연속한 구간의 합만 계산할 수 있었다.
늙은 왕은 아들이 자신의 뒤를 이어 나라를 다스릴 수 있도록, 모든 국사를 유한한 정수 수열로 나타내고 모든 결정을 그 수열의 합에 대한 정수 한계(상한 또는 하한)로 내리도록 정했다.
늙은 왕이 죽고 젊은 왕이 즉위하자, 그의 결정들은 곧 반발을 샀다. 반대파는 하나의 정수 수열 의 부분 구간들로 이루어진 문제들을 왕에게 내밀었다. 각 부분 구간 에 대해 왕은 그 합에 대한 정수 한계 를 다음 두 형태 중 하나로 선언했다.
나중에 왕은 자신이 선언한 한계들 중 일부가 서로 모순됨을 깨달았다. 이미 내린 선언은 취소할 수 없지만, 바탕이 되는 수열은 꾸며낼 수 있다. 왕의 조언자들을 도와, 선언된 모든 한계를 만족하는 정수 수열 가 존재하는지 판정하라.
입력
입력은 여러 개의 블록으로 이루어진다. 마지막 블록을 제외한 각 블록은 하나의 결정 묶음을 나타낸다.
각 블록의 첫 줄에는 두 정수 과 이 주어진다. 여기서 은 수열 의 길이이고, 은 한계의 개수이다.
이어지는 개의 줄에는 각각 하나의 한계가 네 값 로 주어진다.
- 와 는 부분 구간 를 지정한다.
- 는 비교 연산자로, 는
gt, 는lt로 표기된다. - 는 그 부분 구간의 합에 적용되는 정수 한계이다.
마지막 블록은 0 하나만 있는 한 줄이며, 처리하지 않는다.
출력
각 블록마다 한 줄을 출력한다.
- 블록의 모든 한계를 동시에 만족하는 정수 수열 가 존재하지 않으면
successful conspiracy를 출력한다. - 그렇지 않으면
lamentable kingdom을 출력한다.
마지막 0 블록에 대해서는 아무것도 출력하지 않는다.