問題文
2 次元平面に N 個の駒が置かれています。駒には 1 から N までの番号が付いており、駒 i が置かれている座標は (Xi,Yi) です。複数の駒が同じ座標に置かれている可能性もあります。
M 個の操作 mathrmop1,ldots,mathrmopM を順に行います。操作は 4 種類あり、入力形式と操作の内容は以下の通りです。
1
:全ての駒を、原点を中心に時計回りに 90 度回転させた位置に移動する
2
:全ての駒を、原点を中心に反時計回りに 90 度回転させた位置に移動する
3 p
:全ての駒を、直線 x=p について対称な位置に移動する
4 p
:全ての駒を、直線 y=p について対称な位置に移動する
クエリが Q 個与えられます。 i 番目のクエリでは 2 つの整数 Ai,Bi が与えられるので、Ai 個目の操作を行った直後に駒 Bi がある座標を出力してください。ここで、1 個目の操作の直前を「0 個目の操作の直後」とみなします。
制約
- 入力は全て整数
- 1leqNleq2times105
- 1leqMleq2times105
- 1leqQleq2times105
- \-109leqXi,Yileq109
- mathrmopi は 4 つの操作の種類のいずれかの入力形式に従う
3 p
及び 4 p
の操作において \-109leqpleq109
- 0leqAileqM
- 1leqBileqN
入力
入力は以下の形式で標準入力から与えられる。
N
X1 Y1
vdots
XN YN
M
mathrmop1
vdots
mathrmopM
Q
A1 B1
vdots
AQ BQ
出力
各クエリに対する答えを、1 行に 1 つずつ、x 座標、y 座標の順に空白区切りで出力せよ。
入力例 1
1
1 2
4
1
3 3
2
4 2
5
0 1
1 1
2 1
3 1
4 1
出力例 1
1 2
2 -1
4 -1
1 4
1 0
最初、唯一の駒である駒 1 は (1,2) に置かれています。各操作により駒 1 の位置は (1,2)to(2,−1)to(4,−1)to(1,4)to(1,0) と変化します。
入力例 2
2
1000000000 0
0 1000000000
4
3 -1000000000
4 -1000000000
3 1000000000
4 1000000000
2
4 1
4 2
出力例 2
5000000000 4000000000
4000000000 5000000000