시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 512 MB 0 0 0 0.000%

문제

Stjepan programira robotsku ruku koja crta kredom po ploči smještenoj u standardni koordinatni sustav (x koordinata raste na desno, y koordinata raste prema gore).

Plan robotske ruke je niz od točno N vektora (x1, x2), . . . , (xN , yN ) gdje su svi xi i yi parni cijeli brojevi. Plan se izvršava tako da robotska ruka krene iz točke (1, 1) te napravi N koraka: u i-tom koraku robotska ruka pomakne kredu od trenutne točke (x, y) ravno do točke (x + xi, y + yi). Dakle, robotska ruka crtakredom neku izlomljenu liniju u koordinatnom sustavu, a segmenti te izlomljene linije su zadani vektori.

Dok Stjepan izrađuje i mijenja svoj plan, ponekad ga zanima koliko će puta kreda preći preko koordinatnihosi. Napišite program koji će simulirati postupak mijenjanja plana i odgovarati na Stjepanove upite.

Izgled plana kod svake ‘Q’ naredbe u drugom test primjeru. Iscrtkanom linijom je označen segment koji je zadnji promijenjen.

Pretpostavimo da je Stjepan zapisao svoj plan u tekstualnu datoteku koja se sastoji od N redova – u i-tom redu nalazi se vektor (xi, yi). Na početku se Stjepanov kursor nalazi u prvom redu datoteke. Vaš program treba simulirati sljedeće naredbe:

  • ‘B’ – kursor se pomiče u prethodni red (ukoliko se već nalazi u prvom redu ništa se ne događa).
  • ‘F’ – kursor se pomiče u sljedeći red (ukoliko se već nalazi u zadnjem redu ništa se ne događa).
  • ‘C nx ny’ – gdje su nx i ny parni cijeli brojevi. Red datoteke u kojemu se nalazi kursor se mijenja tako da se trenutno zapisani vektor zamijeni sa vektorom (nx, ny).
  • ‘Q’ – potrebno je ispisati koliko puta izlomljena linija koju opisuje trenutni plan prelazi koordinatneosi. Ukoliko izlomljena linija u nekom koraku prolazi kroz ishodište to brojimo kao dva prelaska preko koordinatnih osi.

입력

U prvom redu nalazi se prirodni N – broj vektora u planu.

U i-tom od sljedećih N redova nalaze se dva parna cijela broja xi i yi odvojena jednim razmakom – koordinate i-tog vektora u početnom planu.

U sljedećem redu nalazi se prirodni M – broj naredbi čije je izvršavanje potrebno simulirati. U svakom od sljedećih M redova nalazi se po jedna naredba. Naredba je ili jedno od velikih slova ‘B’, ‘F’ ili ‘Q’ ili izraz oblika ‘C nx ny’ gdje su nx i ny parni cijeli brojevi kako je opisano u tekstu zadatka.

1 ≤ N ≤ 100 000, 1 ≤ M ≤ 300 000

U svakom od podzadataka za sve početne vektore i za sve nove vektore u naredbama ‘C’ vrijedi -500 ≤ xi, yi, nx, ny ≤ 500.

출력

Za svaku ‘Q’ naredbu iz ulaza potrebno je u jednom redu ispisati njen rezultat. Rezultate je potrebno ispisati onim redoslijedom kojim naredbe dolaze u ulazu.

예제 입력

6
2 2
2 -6
-2 -4
-6 4
10 -10
-8 12
16
Q
C -4 -4
F
F
Q
F
C 6 -2
B
B
B
Q
C 0 6
Q
F
C -8 4
Q

예제 출력

4
4
3
1
5

예제 입력 2

5
6 2
0 -6
-2 2
-6 -8
4 0
12
Q
C 4 4
Q
F
F
F
C -6 -2
Q
B
B
C -4 -6
Q

예제 출력 2

3
5
5
4

힌트