Problems

# Reverse the graph

# Reverse the graph

You are given a directed graph with n vertices and m edges. The vertices in the graph are numbered from 1 to n. What is the minimum number of edges you need to reverse in order to have at least one path from vertex 1 to vertex n.

## Input data

First line contains two integers n and m\:(1 \le n, m \le 2 \cdot 10^6) — the number of vertices and the number of edges. The i-th line of the next m lines contains two integers x_i and y_i\:(1 \le x_i, y_i \le n), denoting that the i-th directed edge connects vertices from x_i to y_i.

## Output data

Print the minimum number of edges we need to invert. If there is no way of having at least one path from 1 to n, print -1.

## Examples

Input example #1

7 7 1 2 3 2 3 4 7 4 6 2 5 6 7 5

Output example #1

2