AT_code_thanks_festival_2015_d 暴露

Description

[problemUrl]: https://atcoder.jp/contests/code-thanks-festival-2015-open/tasks/code_thanks_festival_2015_d $ 1 $ から $ N $ までの番号が付けられた $ N $ 人の生徒からなるある学園で期末試験が行われた。試験は $ 100 $ 点満点で、どの生徒も非負の整数の得点を獲得した。 この学園ではどの生徒も自分の得点と全受験者の合計点を通知されるが、それ以外の情報は通知されない。 しかしながらどの生徒も他の生徒の得点が気になる。そのため生徒は他の生徒から得点を聞き出し、それらの値を基に他の生徒の得点を予想することにしている。 学園の教師であり、生徒が他の生徒の得点をどれくらい正確に把握しているのかが気になったあなたは、生徒の行動によってどのくらい得点が特定できているのかを調査することにした。 具体的には、以下に示す $ M $ 個の情報クエリあるいは質問クエリを番号の昇順に処理した際の質問クエリの答えを計算することにした。 - クエリには $ 1 $ から $ M $ までの番号が付けられている。どのクエリも $ 3 $ つの整数 $ a_i\ (0\ ≦\ a_i\ ≦\ 1) $, $ b_i\ (1\ ≦\ b_i\ ≦\ N) $, $ c_i\ (1\ ≦\ c_i\ ≦\ N,\ b_i≠c_i) $ によって定められる。 - $ a_i $ = $ 0 $ のとき、クエリ $ i $ は情報クエリである。これは、生徒 $ b_i $ が生徒 $ c_i $ の得点を知ったことを表す。 - $ a_i $ = $ 1 $ のとき、クエリ $ i $ は質問クエリである。これは、生徒 $ b_i $ がクエリ $ i $ までの情報クエリと元々知っている情報のみで、生徒 $ c_i $ の得点が何点以上何点以下であると判定できるのかを答えなければならないことを表す。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ s_1 $ $ s_2 $ : $ s_N $ $ M $ $ a_1 $ $ b_1 $ $ c_1 $ $ a_2 $ $ b_2 $ $ c_2 $ : $ a_M $ $ b_M $ $ c_M $ - $ 1 $ 行目には、学園の生徒数 $ N\ (2\ ≦\ N\ ≦\ 50) $ が与えられる。 - $ 2 $ 行目から $ N $ 行には、生徒の得点が与えられる。$ N $ 行のうち $ i\ (1\ ≦\ i\ ≦\ N) $ 行目には、生徒 $ i $ が獲得した得点 $ s_i\ (0\ ≦\ s_i\ ≦\ 100) $ が与えられる。 - $ N+2 $ 行目には、クエリ数 $ M\ (1\ ≦\ M\ ≦\ 5,000) $ が与えられる。 - $ N+3 $ 行目から $ M $ 行には、クエリの情報が与えられる。$ M $ 行のうち $ i\ (1\ ≦\ i\ ≦\ M) $ 行目には、クエリ $ i $ を定める $ 3 $ つの整数 $ a_i\ (0\ ≦\ a_i\ ≦\ 1) $, $ b_i\ (1\ ≦\ b_i\ ≦\ N) $, $ c_i\ (1\ ≦\ c_i\ ≦\ N,\ b_i≠c_i) $ が空白区切りで与えられる。 - $ 1\ ≦\ i\ <\ j\ ≦\ M $ となる整数 $ i $, $ j $ に対して、$ a_i $ = $ a_j $ = $ 0 $ ならば、$ b_i $ ≠ $ b_j $ または $ c_i $ ≠ $ c_j $ が成り立ちます。 - 入力では $ 1\ ≦\ i\ ≦\ M $ を満たすある整数 $ i $ において $ a_i $ = $ 1 $ であること (すなわち少なくとも $ 1 $ つは質問クエリがあること) が保証されています。

Output Format

$ M $ 個のクエリ中の質問クエリ数を $ Q $ 個としたとき、出力は $ Q $ 行からなる。$ Q $ 行のうち $ i\ (1\ ≦\ i\ ≦\ Q) $ 行目には、$ i $ 番目の質問クエリに対する答えを出力せよ。$ i $ 番目の質問クエリに対する答えが、$ x $ 点以上 $ y $ 点以下であるという答えならば、$ x $ と $ y $ をこの順に空白区切りで出力せよ。出力の末尾にも改行を入れること。

Explanation/Hint

### Sample Explanation 1 生徒は $ 4 $ 人であり、クエリは $ 6 $ 個ある。 - クエリ $ 1 $ は情報クエリである。生徒 $ 2 $ は生徒 $ 3 $ の得点が $ 70 $ 点であることを知る。 - クエリ $ 2 $ は情報クエリである。生徒 $ 4 $ は生徒 $ 2 $ の得点が $ 90 $ 点であることを知る。 - クエリ $ 3 $ は質問クエリである。この時点で生徒 $ 2 $ は合計点が $ 80+90+70+100=340 $ 点であること、生徒 $ 2 $ の得点が $ 90 $ 点であること、生徒 $ 3 $ の得点が $ 70 $ 点であることを知っているので、生徒 $ 4 $ の得点は $ 80 $ 点以上 $ 100 $ 点以下であることがわかる。よって出力の $ 1 $ 行目は `80 100` となる。 - クエリ $ 4 $ は情報クエリである。生徒 $ 2 $ は生徒 $ 4 $ の得点が $ 100 $ 点であることを知る。 - クエリ $ 5 $ は質問クエリである。この時点で生徒 $ 2 $ は合計点および生徒 $ 1 $ 以外すべての生徒の得点を知っているので、生徒 $ 1 $ の得点はちょうど $ 80 $ 点であることがわかる。よって出力の $ 2 $ 行目は `80 80` となる。 - クエリ $ 6 $ は質問クエリである。この時点で生徒 $ 4 $ は合計点が $ 340 $ 点であること、生徒 $ 2 $ の得点が $ 90 $ 点であること、生徒 $ 4 $ の得点が $ 100 $ 点であることを知っているので、生徒 $ 1 $ の得点は $ 50 $ 点以上 $ 100 $ 点以下であることがわかる。よって出力の $ 3 $ 行目は `50 100` となる。 ### Sample Explanation 2 既に得点を知っている相手に対して質問クエリが飛んで来る場合もあります。