頂点に から までの番号が付いた木が与えられる。最初、すべての頂点の値は である。
次の形式のクエリを 個処理する。
パスの両端の頂点も含む。クエリの向きを逆にすると加算する値が変わる場合がある。すべてのクエリを処理した後、各頂点の値を で割った余りを求めよ。
入力は次の形式で与えられる。最初の行に頂点数 とクエリ数 が与えられる。続く 行の は木の辺を表し、その後の 行の はクエリを表す。 のとき辺の行はなく、 のときクエリの行はない。
頂点 の最終的な値をそれぞれ で割った余りを、空白区切りで一行に出力せよ。
各クエリのパスは順に 、、 である。頂点番号順の最終値は となる。
| 3 | 55 | 追加の制約はない。 |
最初のクエリは各頂点に を加え、次のクエリは を加える。すべての最終値は となる。