CSES - Graph Girth
  • Time limit: 1.00 s
  • Memory limit: 512 MB

Given an undirected graph, your task is to determine its girth, i.e., the length of its shortest cycle.

Input

The first input line has two integers nn and mm: the number of nodes and edges. The nodes are numbered 1,2,,n1,2,\dots,n.

After this, there are mm lines describing the edges. Each line has two integers aa and bb: there is an edge between nodes aa and bb.

You may assume that there is at most one edge between each two nodes.

Output

Print one integer: the girth of the graph. If there are no cycles, print 1-1.

Constraints

  • 1n25001 \le n \le 2500
  • 1m50001 \le m \le 5000

Example

Input:

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

Output:

3