It is well known that all horse races in Birmingham are fixed days in advance. It is a little less known that people who fix these races (and thereby know the winner) do that in a secret meeting and start spreading the information around the city the day after that meeting.
The first day after the meeting, all people that know the information about
the winner start sharing that information with all people that live at most
The second day after the meeting, all people that know the information about the winner start sharing
that information with all people that live at most
In general,
We can represent Birmingham as a graph where vertices represent the houses and edges represent
bidirectional roads which connect these houses. Houses are indexed with increasing integers from
Your task is to determine, for each house, on which day will the information about the race winner reach it.
Input
The first line contains four integers
The next line contains
The
Output
Output
Scoring
In the test cases worth a total of
In the test cases worth an additional
Sample Input 1
6 8 1 1
6
1 3
1 5
1 6
2 5
2 6
3 4
3 5
5 6
Sample Output 1
1 1 2 2 1 0
Sample Input 2
6 8 2 1
6 4
1 3
1 5
1 6
2 5
2 6
3 4
3 5
5 6
Sample Output 2
1 1 1 0 1 0
Sample Input 3
6 8 1 2
6
1 3
1 5
1 6
2 5
2 6
3 4
3 5
5 6
Sample Output 3
1 1 1 2 1 0
Explanation of Sample Output 3
The figure represents a graph from the third example. Since
houses
Comments
For Sample Input 1, How does house 4 receive the score on the second day?
Isn't it,
6 - > 1 - > 3 -> 4
House 4 receives the news on the third day?
What am I missing?
In the first meeting, house 6 sends the score to house 1.
In the second meeting, house 1 sends the score to house 4.