004 - 折り紙
時間制限 8 秒 / メモリ制限 256 MB / 得点 20 / x 6 /
Problem
マスター・グルスは有名な折り紙芸術家であり,折り紙芸術の可能性の探求に熱中している. 将来の創作のために,今は,折り紙の一般理論を目指した基礎的実験を計画しているところである.
実験には長方形の紙を使う. 紙を水平または垂直に何回か折り,その後,折り畳んだ紙を貫通する穴をいくつかあける.
次の図は簡単な実験での紙を折る過程を示している. これは Sample Input の 3 番目のデータセットに対応している. 左上に示す 10 × 8 の長方形の紙を 3 回折ると,右下の 6 × 6 の正方形の形になる. この図では,破線が折り線を表し,弧状の矢印が折る方向を表す. 長方形の大きさと正確な折る場所を示すために,実線が縦横に等間隔で引かれている. そして,長方形領域の色の濃さで,重なった紙の枚数を表している. 折り畳んだ紙の A, B の箇所に穴を貫通させると,紙には全部で 9 つの穴 (A で 8 つ,B で 1 つ) があく.
この問題でのあなたの仕事は,長方形の紙と折ったり穴をあけたりする操作に関する情報から,紙に何個の穴があくかを求めるプログラムを作ることである.
Input
入力は高々 1000 個のデータセットからなる. 各データセットは次の形式で表される.
n m t p
d1 c1
...
dt ct
x1 y1
...
xp yp
n, m はそれぞれ長方形の紙の幅と高さであり,32 以下の正整数である. t, p はそれぞれ折る操作と穴をあける操作の回数であり,20 以下の正整数である. di, ci の対で i 番目の折る操作を以下のように定める.
- di は 1 または 2 である.
- ci は正整数である.
- もし di が 1 なら,左端から ci だけ右側を通る垂直の折り線の左側を右側に折り重ねる.
- もし di が 2 なら,下端から ci だけ上側を通る水平の折り線の下側を上側に折り重ねる.
入力の終わりは,4 つのゼロからなる行で表される.
Output
各データセットに対し,p 行の出力を行え. i 行目には i 番目の穴をあける操作で紙にあけられた穴の数を出力すること.
Sample Input
2 1 1 1 1 1 0 0 1 3 2 1 2 1 2 1 0 0 10 8 3 2 2 2 1 3 1 1 0 1 3 4 3 3 3 2 1 2 2 1 1 1 0 1 0 0 0 0 0 0
Output for the Sample Input
2 3 8 1 3 6