시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
한 로봇이 좌표평면 위에서 살며 평면을 돌아다니는 것을 좋아한다. 어느 날 로봇은 정교한 여정을 계획하고, 그대로 따라갈 프로그램을 작성했다. 이 프로그램은 n개의 함수 f1,f2,…,fn으로 이루어져 있다. i번째 함수 fi는 ci개의 명령으로 이루어진 수열이며, 각 명령은 다음 중 하나이다.
로봇은 집인 (0,0)에서 처음에 x축의 양의 방향을 바라본 채로 출발하여, 함수 f1을 실행하기 시작한다.
예를 들어 함수가 다음과 같다고 하자.
GO F2 GO F2 GO F2F3 F3 F3 F3GO LEFT이 함수들에 대해 로봇은 평면 위에 특정한 경로를 그리며 이동한다.
여정이 결코 끝나지 않을 수도 있다. 예를 들어 유일한 함수 f1이 GO F1인 프로그램에서는 로봇이 앞으로 계속 나아가며 절대 멈추지 않는다.
로봇은 집에서 얼마나 멀리 가게 되는지 궁금하다. 로봇이 여정 동안 방문하는 모든 점의 집합을 생각하고, 그 점들에 대한 ∣x∣+∣y∣의 최댓값을 구하라. 만약 로봇이 ∣x∣+∣y∣가 임의로 커지는 점들을 방문한다면, 답은 Infinity이다.
첫째 줄에 정수 n (1≤n≤100)이 주어진다.
다음 n개의 줄에는 각 함수에 대한 설명이 주어진다. 그중 i번째 줄은 함수 fi의 명령 개수인 정수 ci (1≤ci≤100)로 시작하고, 이어서 ci개의 명령이 주어진다. 각 명령은 GO, LEFT, RIGHT, 또는 Fk (1≤k≤n) 중 하나이며, 토큰들은 하나의 공백으로 구분된다.
로봇이 여정 동안 방문하는 모든 점에 대한 ∣x∣+∣y∣의 최댓값을 한 줄에 출력한다. 만약 로봇이 ∣x∣+∣y∣가 임의로 커지는 점들에 도달한다면, 대신 Infinity를 출력한다.