#abc236g. [abc236_g]Good Vertices

[abc236_g]Good Vertices

問題文

NN 頂点の有向グラフがあります。NN 個の頂点はそれぞれ頂点 11 、頂点 22ldots\\ldots、頂点 NN と呼ばれます。 時刻 00 には、このグラフには辺がありません。

t=1,2,ldots,Tt = 1, 2, \\ldots, T について、時刻 tt に頂点 utu_t から頂点 vtv_t への有向辺が追加されます。 (追加される辺が自己ループである場合、すなわち ut=vtu_t = v_t の場合もあります。)

頂点 11 から始め「現在いる頂点からちょうど 11 本の有向辺をたどって到達できる頂点を 11 つ選び、選んだ頂点に移動する」ことをちょうど LL 回繰り返して到達できる頂点を「良い頂点」と呼びます。

i=1,2,ldots,Ni = 1, 2, \\ldots, N について、頂点 ii が良い頂点となる最小の時刻を出力してください。ただし、頂点 ii が良い頂点となる時刻が存在しない場合は、代わりに \-1\-1 を出力してください。

制約

  • 2leqNleq1002 \\leq N \\leq 100
  • 1leqTleqN21 \\leq T \\leq N^2
  • 1leqLleq1091 \\leq L \\leq 10^9
  • 1lequt,vtleqN1 \\leq u_t, v_t \\leq N
  • ineqjRightarrow(ui,vi)neq(uj,vj)i \\neq j \\Rightarrow (u_i, v_i) \\neq (u_j, v_j)
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN TT LL u1u_1 v1v_1 u2u_2 v2v_2 vdots\\vdots uTu_T vTv_T

出力

下記の形式の通り、i=1,2,ldots,Ni = 1, 2, \\ldots, N について、頂点 ii が良い頂点となる最小の時刻 XiX_i を出力せよ。ただし、頂点 ii が良い頂点となる時刻が存在しない場合は、Xi=1X_i = -1 とせよ。

X1X_1 X2X_2 ldots\\ldots XNX_N


入力例 1

4 5 3
2 3
3 4
1 2
3 2
2 2

出力例 1

-1 4 5 3

時刻 00 ではグラフは辺を持ちません。その後、以下の通りに辺の追加が行われます。

  • 時刻 11 に、頂点 22 から頂点 33 への有向辺が追加されます。
  • 時刻 22 に、頂点 33 から頂点 44 への有向辺が追加されます。
  • 時刻 33 に、頂点 11 から頂点 22 への有向辺が追加されます。これによって、頂点 11 から頂点 441rightarrow2rightarrow3rightarrow41 \\rightarrow 2 \\rightarrow 3 \\rightarrow 4 とちょうど 33 回の移動で到達できるようになり、頂点 44 は良い頂点に変わります。
  • 時刻 44 に、頂点 33 から頂点 22 への有向辺が追加されます。これによって、頂点 11 から頂点 221rightarrow2rightarrow3rightarrow21 \\rightarrow 2 \\rightarrow 3 \\rightarrow 2 とちょうど 33 回の移動で到達できるようになり、頂点 22 は良い頂点に変わります。
  • 時刻 55 に、頂点 22 から頂点 22 への有向辺(自己ループ)が追加されます。これによって、頂点 11 から頂点 331rightarrow2rightarrow2rightarrow31 \\rightarrow 2 \\rightarrow 2 \\rightarrow 3 とちょうど 33 回の移動で到達できるようになり、頂点 33 は良い頂点に変わります。

頂点 11 が良い頂点となることはありません。


入力例 2

2 1 1000000000
1 2

出力例 2

-1 -1