atcoder#ABC218F. [ABC218F] Blocked Roads

[ABC218F] Blocked Roads

Score : 500500 points

Problem Statement

You are given a directed graph with NN vertices and MM edges. The vertices are numbered 11 through NN, and the edges are numbered 11 through MM. Edge ii (1iM)(1 \leq i \leq M) goes from Vertex sis_i to Vertex tit_i and has a length of 11.

For each ii (1iM)(1 \leq i \leq M), find the shortest distance from Vertex 11 to Vertex NN when all edges except Edge ii are passable, or print -1 if Vertex NN is unreachable from Vertex 11.

Constraints

  • 2N4002 \leq N \leq 400
  • 1MN(N1)1 \leq M \leq N(N-1)
  • 1si,tiN1 \leq s_i,t_i \leq N
  • sitis_i \neq t_i
  • (si,ti)(sj,tj)(s_i,t_i) \neq (s_j,t_j) (ij)(i \neq j)
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

NN MM

s1s_1 t1t_1

s2s_2 t2t_2

\vdots

sMs_M tMt_M

Output

Print MM lines.

The ii-th line should contain the shortest distance from Vertex 11 to Vertex NN when all edges except Edge ii are passable, or -1 if Vertex NN is unreachable from Vertex 11.

3 3
1 2
1 3
2 3
1
2
1
4 4
1 2
2 3
2 4
3 4
-1
2
3
2

Vertex NN is unreachable from Vertex 11 when all edges except Edge 11 are passable, so the corresponding line contains -1.

5 10
1 2
1 4
1 5
2 1
2 3
3 1
3 2
3 5
4 2
4 3
1
1
3
1
1
1
1
1
1
1
4 1
1 2
-1