atcoder#AGC031F. [AGC031F] Walk on Graph
[AGC031F] Walk on Graph
Score : points
Problem Statement
You are given a connected graph with vertices and edges. The vertices are numbered to . The -th edge is an undirected edge of length connecting Vertex and Vertex .
Additionally, an odd number is given.
You will be given queries, which should be processed. The queries take the following form:
- Given in the -th query are , and . Print
YES
if there exists a path from Vertex to Vertex whose length is modulo , and printNO
otherwise. A path may traverse the same edge multiple times, or go back using the edge it just used.
Here, in this problem, the length of a path is NOT the sum of the lengths of its edges themselves, but the length of the first edge used in the path gets multiplied by , the second edge gets multiplied by , the third edge gets multiplied by , and so on. (More formally, let be the lengths of the edges used, in this order. The length of that path is the sum of .)
Constraints
- is odd.
- The given graph is connected. (It may contain self-loops or multiple edges.)
Input
Input is given from Standard Input in the following format:
Output
Print the answers to the -th query in the -th line.
3 2 2 2019
1 2 1
2 3 2
1 3 5
1 3 4
YES
NO
The answer to each query is as follows:
- The first query: If we take the path , its length is , so there exists a path whose length is modulo . The answer is
YES
. - The second query: No matter what path we take from Vertex to Vertex , its length will never be modulo . The answer is
NO
.
6 6 3 2019
1 2 4
2 3 4
3 4 4
4 5 4
5 6 4
6 1 4
2 6 1110
3 1 1111
4 5 1112
YES
NO
NO
1 2 3 25
1 1 1
1 1 2
1 1 13
1 1 6
1 1 14
YES
YES
YES
10 15 10 15
1 2 1
2 3 6
3 4 6
2 5 1
5 6 1
4 7 6
1 8 11
2 9 6
5 10 11
9 10 11
3 6 1
2 5 1
2 7 11
9 10 11
5 6 11
1 3 5
9 8 3
7 7 7
7 10 13
4 1 10
9 3 12
10 10 14
9 2 1
6 6 5
8 8 4
YES
NO
NO
NO
NO
NO
NO
YES
YES
NO