The Cow Gathering
Cows have assembled from around the world for a massive gathering. There are n cows, and n − 1 pairs of cows who are friends with each other. Every cow knows every other cow through some chain of friendships.
They had great fun, but the time has come for them to leave, one by one. They want to leave in some order such that as long as there are still at least two cows left, every remaining cow has a remaining friend. Furthermore, due to issues with luggage storage, there are m pairs of cows (a[i]
, b[i]
) such that cow a[i]
must leave before cow b[i]
. Note that the cows a[i]
and b[i]
may or may not be friends.
Help the cows figure out, for each cow, whether she could be the last cow to leave. It may be that there is no way for the cows to leave satisfying the above constraints.
Input
Line 1 contains two integers n and m (1 ≤ n, m ≤ 10^5
).
Lines 2 ≤ i ≤ n each contain two integers x[i]
and y[i]
with 1 ≤ x[i]
, y[i]
≤ n and x[i]
≠ y[i]
indicating that cows x[i]
and y[i]
are friends.
Lines n + 1 ≤ i ≤ n + m each contain two integers a[i]
and b[i]
with 1 ≤ a[i]
, b[i]
≤ n and a[i]
≠ b[i]
indicating that cow a[i]
must leave the gathering before cow b[i]
.
Output
The output should consist of n lines, with one integer d[i]
on each line such that d[i]
= 1 if cow i could be the last to leave, and d[i]
= 0 otherwise.