AT_abc189_e [ABC189E] Rotate and Flip

Description

[problemUrl]: https://atcoder.jp/contests/abc189/tasks/abc189_e $ 2 $ 次元平面に $ N $ 個の駒が置かれています。駒には $ 1 $ から $ N $ までの番号が付いており、駒 $ i $ が置かれている座標は $ (X_i,Y_i) $ です。複数の駒が同じ座標に置かれている可能性もあります。 $ M $ 個の操作 $ \mathrm{op}_1,\ \ldots,\ \mathrm{op}_M $ を順に行います。操作は $ 4 $ 種類あり、入力形式と操作の内容は以下の通りです。 - `1`:全ての駒を、原点を中心に時計回りに $ 90 $ 度回転させた位置に移動する - `2`:全ての駒を、原点を中心に反時計回りに $ 90 $ 度回転させた位置に移動する - `3 p`:全ての駒を、直線 $ x=p $ について対称な位置に移動する - `4 p`:全ての駒を、直線 $ y=p $ について対称な位置に移動する クエリが $ Q $ 個与えられます。 $ i $ 番目のクエリでは $ 2 $ つの整数 $ A_i,B_i $ が与えられるので、$ A_i $ 個目の操作を行った直後に駒 $ B_i $ がある座標を出力してください。ここで、$ 1 $ 個目の操作の直前を「$ 0 $ 個目の操作の直後」とみなします。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ X_1 $ $ Y_1 $ $ \vdots $ $ X_N $ $ Y_N $ $ M $ $ \mathrm{op}_1 $ $ \vdots $ $ \mathrm{op}_M $ $ Q $ $ A_1 $ $ B_1 $ $ \vdots $ $ A_Q $ $ B_Q $

Output Format

各クエリに対する答えを、$ 1 $ 行に $ 1 $ つずつ、$ x $ 座標、$ y $ 座標の順に空白区切りで出力せよ。

Explanation/Hint

### 制約 - 入力は全て整数 - $ 1\ \leq\ N\ \leq\ 2\times\ 10^5 $ - $ 1\ \leq\ M\ \leq\ 2\times\ 10^5 $ - $ 1\ \leq\ Q\ \leq\ 2\times\ 10^5 $ - $ -10^9\ \leq\ X_i,Y_i\ \leq\ 10^9 $ - $ \mathrm{op}_i $ は $ 4 $ つの操作の種類のいずれかの入力形式に従う - `3 p` 及び `4 p` の操作において $ -10^9\ \leq\ p\ \leq\ 10^9 $ - $ 0\ \leq\ A_i\ \leq\ M $ - $ 1\ \leq\ B_i\ \leq\ N $ ### Sample Explanation 1 最初、唯一の駒である駒 $ 1 $ は $ (1,2) $ に置かれています。各操作により駒 $ 1 $ の位置は $ (1,2)\to(2,-1)\to(4,-1)\to(1,4)\to(1,0) $ と変化します。