import javax.xml.transform.Result;import java.util.*;public class Main {//有向图的完全联通,采用邻接表存储图static Scanner in=new Scanner( System.in);static List<List<Integer>> graph=new ArrayList<>();static boolean[] visited;//public static void main(String[] args) {int n, k;n=in.nextInt();k=in.nextInt();visited=new boolean[n+1];//初始化图,由于题目要求从1开始,所以本题所有下标从1开始for (int i = 0; i < n+1; i++) {graph.add(new ArrayList<>());}for (int i = 1; i <1+ k; i++) {graph.get(in.nextInt()).add(in.nextInt());}dfs(1);//如果有节点没被遍历到,输出-1后返回,反之输出1for (int i=1;i<1+n;i++){if (!visited[i]){System.out.println(-1);return;}}System.out.println(1);}//把能连接到的节点都标记为访问static void dfs(int x){if (visited[x]){return;}visited[x]=true;List<Integer> list=graph.get(x);for (Integer next : list) {dfs(next);}}}