민들레
시간 제한2초메모리 제한1024 MB
바람(L, R)과 씨앗 심기(C x) 명령이 하루에 하나씩 주어질 때, Q 명령이 나올 때마다 민들레가 있는 화분의 수를 구합니다.
문제
동서로 무한히 길게 뻗은 UCPC 도로에 1 간격으로 무한히 많은 화분을 놓아 민들레 화단을 만들었다. 모든 화분에는 정수 번호가 매겨져 있다. 0번 화분에서 동쪽으로 만큼 떨어진 화분의 번호는 번, 서쪽으로 만큼 떨어진 화분의 번호는 번이다. 각 화분에는 최대 한 송이의 민들레만 자랄 수 있다.
바람이 불면 민들레는 그 방향으로 1만큼 떨어진 화분에 홀씨를 날린다. 심거나 바람에 날려 화분에 떨어진 민들레 씨는 그 화분에 다른 민들레가 없으면 빠르게 자라나, 다음 날이면 홀씨를 날릴 수 있게 된다. 각 민들레에게는 홀씨가 충분히 많아 다 떨어지는 일은 없다.
시우는 로봇을 이용해 일에 걸쳐 민들레 화단을 관찰하려 한다. 로봇은 화단을 관찰하는 동안 매일 하루에 하나씩 명령을 입력받아 수행한다. 명령의 종류는 다음과 같다.
L: 서쪽으로 바람을 일으킨다. 모든 정수 에 대해, 번 화분에 민들레가 심겨 있고 번 화분에 민들레가 없다면 다음 날 번 화분에 새 민들레가 자란다.R: 동쪽으로 바람을 일으킨다. 모든 정수 에 대해, 번 화분에 민들레가 심겨 있고 번 화분에 민들레가 없다면 다음 날 번 화분에 새 민들레가 자란다.C x: 번 화분에 민들레 씨를 심는다. 번 화분에 민들레가 없다면 다음 날 새 민들레가 자란다.Q: 현재 민들레가 있는 화분의 개수를 기록한다.
화단 관찰을 시작하기 전에는 0번 화분에만 민들레 한 송이가 심겨 있다. 시우가 일 동안 로봇에게 요청한 명령의 목록이 주어졌을 때, 명령을 수행하는 프로그램을 작성하시오.
입력
첫 줄에 명령의 수 이 주어진다. ()
둘째 줄부터 개의 줄에 걸쳐 한 줄에 하나씩 명령이 주어진다. 번째 명령은 로봇이 일에 처리해야 하는 명령이다. () C x 명령에서 는 정수이며, 을 만족한다.
명령 중 Q는 하나 이상 있다.
출력
명령으로 Q가 주어진 날마다, 그날 민들레가 있는 화분의 개수를 한 줄에 하나씩 시간순으로 출력한다.