평평한 원반(Disc) 세계에는 진짜 지평선이 없다. 달걀과 오렌지를 너무 오래 들여다보다 엉뚱한 생각을 품고 대척점을 향해 떠난 모험심 강한 뱃사람들은, 멀리 있는 배가 이따금 세상의 끝 너머로 사라지는 것처럼 보이는 이유가 실제로 세상의 끝 너머로 사라지고 있기 때문임을 곧 깨달았다. (테리 프래쳇 — 마법의 색)
얼마 전까지만 해도 사람들은 자신이 2차원 세계에 살고 있으며 한 방향으로 충분히 멀리 가면 가장자리 너머로 떨어진다고 믿었다. 지구가 둥글다는 것이 증명된 뒤에도 일부는 여전히 남반구로 여행하기를 두려워했다. 대신 1차원(선형) 세계를 상상해 보자. 그런 세계에는 왼쪽과 오른쪽, 두 방향만 있다.
이 세계의 모든 주민은 정확히 같은 순간에 창조되며, 그 순간 모두가 같은 일정한 속력으로 왼쪽 또는 오른쪽으로 움직이기 시작한다. 두 주민이 만나면 정중히 인사를 나눈 뒤 각자 돌아서서 반대 방향으로 움직인다. 주민이 세계의 끝에 도달하면 떨어져 사라진다. 인사하고 돌아서는 데 걸리는 시간은 0이라고 가정한다.
주어진 창조 시나리오에 대해, 가장 마지막으로 떨어지는 주민이 누구이며 창조의 순간으로부터 언제 떨어지는지 구하라.
입력은 여러 개의 데이터 집합으로 이루어지며, 각각 하나의 창조 순간을 다음 구조로 나타낸다.
N
L V
DIR POS NAME
...
첫 줄에는 주민의 수 N(N < 32000)이 주어지며, N = 0인 데이터 집합은 입력의 끝을 나타낸다. 둘째 줄에는 세계의 길이 L(양의 실수)과 주민들의 공통 속력 V(양의 실수)가 주어진다. 다음 N개의 줄에는 POS가 증가하는 순서로 주민 정보가 주어진다.
DIR — 초기 방향(양의 방향/오른쪽은 p 또는 P, 음의 방향/왼쪽은 n 또는 N)POS — 창조 순간의 위치(0 ≤ POS ≤ L)NAME — 주민의 이름(최대 250자의 문자열)한 줄의 값들은 최소 한 칸의 공백으로 구분되며, 빈 줄은 없다. 입력은 항상 올바르고, 각 데이터 집합의 해는 유일하다.
데이터 집합마다 한 줄을 출력한다. 먼저 마지막 주민이 세계에서 떨어지는 시각을 창조의 순간을 기준으로, 소수점 아래 셋째 자리 이하를 버려(내림하여) 둘째 자리까지 나타내고, 폭 13칸의 필드에 오른쪽 정렬로 출력한다. 그런 다음 공백 한 칸을 출력하고, 그 주민의 이름을 출력한다.