로봇

원점에서 동쪽을 향해 시작해 TURN과 MOVE 명령을 순서대로 수행하고, 정사각형을 벗어나는 이동이 있으면 -1을, 아니면 최종 좌표를 출력한다.

쉬움3시뮬레이션구현수학면접 대비아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

로봇이 정사각형 영역 S 안에서 명령어를 읽어 x축 또는 y축과 평행하게 움직인다. S의 왼쪽 아래 꼭짓점은 (0, 0)이고 오른쪽 위 꼭짓점은 (M, M)이다. 로봇은 (0, 0)에서 동쪽을 바라본 채 출발한다.

명령어 하나는 동작과 그 동작에 딸린 값 하나로 이루어진다. 동작은 TURNMOVE 두 가지다. TURN 0은 현재 위치에서 왼쪽으로 90도 회전하고, TURN 1은 현재 위치에서 오른쪽으로 90도 회전한다. MOVE d는 바라보는 방향으로 거리 d만큼 이동하며, d는 양수다.

명령을 수행한 뒤 로봇이 S의 경계나 내부에 있으면 그 명령어는 유효하다. 수행한 뒤 로봇이 S 바깥으로 나가면 그 명령어는 유효하지 않다. 명령어 열을 이루는 명령어가 모두 유효하면 그 명령어 열을 유효하다고 한다.

예를 들어 M=11M = 11이고 명령어 열이 MOVE 6, TURN 0, MOVE 5, TURN 0, MOVE 2, TURN 0, MOVE 2, TURN 0, MOVE 4, TURN 0, MOVE 3, MOVE 2라면 로봇은 (8, 8)에서 멈춘다.

한 변의 길이가 M인 정사각형과 명령어 n개가 주어질 때, (0, 0)에서 동쪽을 바라보고 출발한 로봇이 명령어를 차례로 따라 움직인 뒤의 최종 위치를 출력하는 프로그램을 작성하라.

입력

첫 줄에 두 정수 M과 n이 주어진다 (1M10001 \le M \le 1000, 1n10001 \le n \le 1000). M은 정사각형 S의 한 변의 길이이므로 오른쪽 맨 위 꼭짓점의 좌표는 (M, M)이다. n은 로봇이 수행할 명령어의 개수다.

이어지는 n개의 줄에 명령어가 한 줄에 하나씩 주어진다. 각 명령어는 TURN dir 또는 MOVE d 꼴이다. dir은 0 또는 1이고, d는 1000 이하의 양의 정수다. 로봇이 (0, 0)에서 동쪽을 바라보고 시작한다는 점에 유의하라.

출력

정확히 한 줄을 출력한다. 명령어 열이 유효하면 명령을 모두 수행한 뒤 로봇 위치의 x좌표와 y좌표를 음이 아닌 두 정수로 출력하고, 두 정수는 빈칸 하나로 구분한다. 명령어 열이 유효하지 않으면 -1을 출력한다.