Ruka
시간 제한2초메모리 제한512 MB
커서 명령으로 꺾은선의 벡터를 갱신하면서 좌표축을 가로지르는 선분의 개수를 구합니다.
문제
스테판은 칠판에 분필로 그림을 그리는 로봇 팔을 프로그래밍하고 있다. 칠판은 표준 좌표평면이고, 좌표는 오른쪽으로 갈수록 커지고 좌표는 위로 갈수록 커진다.
로봇 팔의 계획은 벡터 개를 순서대로 적은 배열이며, 모든 와 는 짝수다. 로봇 팔은 점 에서 출발해 번 움직이면서 계획을 실행한다. 번째 단계에서는 현재 위치 에서 점 까지 분필을 곧게 움직인다. 그래서 로봇 팔이 칠판에 남기는 자국은 꺾인 선이고, 그 선분이 바로 주어진 벡터다.
스테판은 계획을 세우고 고치는 동안 분필이 좌표축을 몇 번 넘어가는지 궁금해한다. 계획이 바뀌는 과정을 시뮬레이션하고 스테판의 질문에 답하는 프로그램을 작성하라.

두 번째 예제에서 각 Q 명령을 처리하는 시점의 계획. 점선은 가장 최근에 바뀐 선분이다.
스테판이 계획을 줄짜리 텍스트 파일에 적어 두었다고 하자. 번째 줄에는 벡터 가 적혀 있다. 처음에 커서는 파일의 첫 줄에 있다. 프로그램은 다음 명령을 시뮬레이션해야 한다.
B: 커서가 이전 줄로 올라간다. 이미 첫 줄에 있으면 아무 일도 일어나지 않는다.F: 커서가 다음 줄로 내려간다. 이미 마지막 줄에 있으면 아무 일도 일어나지 않는다.C nx ny: 와 는 짝수다. 커서가 있는 줄의 벡터를 로 바꾼다.Q: 지금 계획이 그리는 꺾인 선이 좌표축을 몇 번 넘어가는지 출력한다. 꺾인 선이 원점을 지나가면 좌표축을 두 번 넘어간 것으로 센다.
입력
첫째 줄에 계획에 들어 있는 벡터의 개수 이 주어진다. 다음 개 줄 중 번째 줄에는 처음 계획의 번째 벡터를 이루는 두 짝수 와 가 공백 하나로 구분되어 주어진다.
그다음 줄에는 시뮬레이션할 명령의 개수 이 주어진다. 다음 개 줄에는 명령이 한 줄에 하나씩 주어진다. 명령은 대문자 B, F, Q 중 하나이거나, 문제에서 설명한 짝수 와 를 쓴 C nx ny 꼴이다.
출력
입력에 있는 Q 명령마다 그 결과를 한 줄에 하나씩 출력한다. 결과는 명령이 입력에 나온 순서대로 출력한다.
제한
- 처음 계획의 모든 벡터와
C명령이 주는 모든 새 벡터에서 , , , 는 짝수이고 이상 이하이다.