현대 자동차 그룹에서 사내 식당 매니저로 일하는 현동이는 점심 시간에 맞춰 일을 하고 있다. 오늘 일은 사람들이 사회적 거리두기를 잘 지키면서 식당 좌석에 앉도록 상황을 관리하는 일이다.
현재 식당에는 좌석 개가 행 열로 나열되어 있는데, 각 좌석에는 에서 로 좌표가 배정되어 있다. 행 열에 있는 좌석의 좌표는 이다.
점심 시간에는 많은 사람들이 식당을 드나든다. 사번이 인 어떤 사원이 식당에 왔다면, 다음 조건에 맞춰 이 사원을 위한 좌석을 배정해준다.
사번이 인 어떤 사원이 식당에서 떠난다면, 그 사원이 있던 자리는 빈 자리가 된다.
각 사원들에게 주어지는 점심 식사는 단 한번이므로, 여러 번 점심을 먹을 수는 없다. 그러므로 이미 점심을 먹은 사원은 돌려보내야 한다. 이외에도 각 직원의 점심 식사 여부에 따른 처리가 요구되는데, 출력 형식을 참고하여 모든 작업을 적절히 처리해보자.
첫 번째 줄에 세 자연수 가 주어진다.
다음 개의 줄에는 각 줄마다 처리해야 하는 작업이 In {id} 혹은 Out {id}의 형태로 주어진다.
개의 줄에 걸쳐서, 번째 줄에는 번째 작업을 처리한 결과를 출력한다. 각 작업마다 출력하는 방식은 다음과 같다.
In {id}로 주어졌을 때
{id} already seated.를 출력한다.{id} already ate lunch.를 출력한다.There are no more seats.를 출력한다.{id} gets the seat ({x}, {y}).를 출력한다.Out {id}로 주어졌을 때
{id} didn't eat lunch.를 출력한다.{id} already left seat.를 출력한다.{id} leaves from the seat ({x}, {y}).를 출력한다. 이 사원은 점심을 먹은 상태로 기록된다.1 3 10 Out 1 In 1 In 2 In 2 In 3 Out 2 In 3 Out 2 Out 1 In 1
1 didn't eat lunch. 1 gets the seat (1, 1). 2 gets the seat (1, 3). 2 already seated. There are no more seats. 2 leaves from the seat (1, 3). 3 gets the seat (1, 3). 2 already left seat. 1 leaves from the seat (1, 1). 1 already ate lunch.
4 4 7 In 7 In 6 In 5 In 4 In 3 In 2 In 1
7 gets the seat (1, 1). 6 gets the seat (4, 4). 5 gets the seat (1, 4). 4 gets the seat (4, 1). 3 gets the seat (2, 2). 2 gets the seat (3, 3). There are no more seats.