{"raw_statement":[{"iden":"statement","content":"春天温暖的阳光照耀着大地，正是草原上的小动物们最快乐的时候。小动物们在草原上开了一个舞会，欢度这美好的时光。\n\n舞会上最重要的一个环节就是跳圆舞曲，$n$ 只小动物手拉手围成一大圈，随着音乐跳起来。在跳的过程中，小动物们可能会变换队形。它们的变换方式是动物 A 松开自己右手，动物 B 松开自己的左手，动物 A 和 B 手拉到一起，而它们对应的松开的手（如果有的话）也拉到一起。\n\n例如，假设有 $10$ 只小动物，按顺序围成一圈，动物 $1$ 的右手拉着动物 $2$ 的左手，动物 $2$ 的右手拉着动物 $3$ 的左手，依次类推，最后动物 $10$ 的右手拉着动物 $1$ 的左手。如果通过动物 $2$ 和 $8$ 变换队形，则动物 $2$ 的右手拉着动物 $8$ 的左手，而对应的动物 $3$ 的左手拉着动物 $7$ 的右手，这样形成了 `1-2-8-9-10` 和 `3-4-5-6-7` 两个圈。如果此时通过动物 $2$ 和 $6$ 变换队形，则将形成 `1-2-6-7-3-4-5-8-9-10` 一个大圈。注意，如果此时通过动物 $1$ 和 $2$ 变换队形，那么队形不会改变，因为动物 $1$ 的右手和动物 $2$ 的左手松开后又拉到一起了。\n\n在跳舞的过程中，每个动物 $i$ 都有一个欢乐值 $H_i$ 和一个感动值 $F_i$。\n\n如果两个动物在一个圈中，欢乐值会彼此影响，产生欢乐能量。如果两个动物 $i, j(i\\neq j)$ 在同一个大小为 $t$ 的圈中，而动物 $i$ 在动物 $j$ 右手的第 $p$ 个位置（动物 $j$ 右手的第 $1$ 个位置就是动物 $j$ 右手所拉着的动物，而第 $2$ 个位置就是右手第 $1$ 个位置的动物右手拉着的动物，依次类推），则产生的欢乐能量为 $(t-p)\\times H_j\\times F_i$。在跳舞的过程中，动物们的欢乐值和感动值有可能发生变化。\n\n圆舞曲开始的时候，所有的动物按编号顺序围成一个圈，动物 $n$ 右手的第 $i$ 个位置正好是动物 $i$。现在已知小动物们变换队形的过程和欢乐值、感动值变化的过程，求每次变换后所有动物所产生的欢迎能量之和。"},{"iden":"input","content":"输入的第一行包含一个整数 $n$，表示动物的数量。\n\n接下来 $n$ 行，每行两个用空格分隔的整数 $H_i$，$F_i$，按编号顺序给出每只动物的欢乐值和感动值。\n接下来一行包含一个整数 $m$，表示队形、欢乐值、感动值的变化次数。\n\n接下来 $m$ 行，每行三个用空格分隔的整数 $k$，$p$，$q$，当 $k=1$ 时，表示小动物们通过动物 $p$ 和动物 $q$ 变换了队形，当 $k=2$ 时，表示动物 $p$ 的欢乐值变为 $q$，当 $k=3$ 时，表示动物 $p$ 的感动值变为了 $q$。"},{"iden":"output","content":"输出 $m$ 行，每行一个整数，表示每次变化后所有动物产生的能量之和。\n\n答案可能很大，你需要计算答案除以 $1000000007$（即 $10^9+7$） 的余数。\n"},{"iden":"note","content":"对于 $20\\%$ 的数据，$2\\le n,m\\le100$。\n\n对于 $30\\%$ 的数据，$2\\le n,m\\le1000$。\n\n另有 $20\\%$ 的数据，只有 $k=1$ 的操作且 $H_i$，$F_i$ 均为 $1$。\n\n另有 $20\\%$ 的数据，只有 $k=1$ 或 $2$ 的操作且 $F_i$ 均为 $1$。\n\n对于 $100\\%$ 的数据，$2\\le n,m\\le10^5$，$0\\le H_i,F_i\\le10^9$，$1\\le k\\le3$，$k=1$ 时 $1\\le p,q\\le n$ 且 $p\\neq q$，$k=2$ 或 $3$ 时 $1\\le p\\le n$ 且 $0\\le q\\le10^9$。"}],"translated_statement":null,"sample_group":[["10\n1 1\n1 1\n1 1\n1 1\n1 1\n1 1\n1 1\n1 1\n1 1\n1 1\n9\n1 2 8\n1 2 6\n2 8 10\n3 5 10\n1 1 2\n1 2 1\n2 5 5\n1 4 8\n1 4 5","100\n450\n855\n1341\n1341\n811\n923\n338\n923"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}