#define rep(i,n) for(int i=0;i<(int)(n);i++) #define ALL(v) v.begin(),v.end() typedef long long ll; #include using namespace std; vector G[100100],B; int color[100010]; bool flag=true; void dfs(int u){ color[u]=1; for(auto x:G[u]){ if(color[x]==1){ flag=false; return; } if(color[x]==0) dfs(x); } color[u]=2; B.push_back(u); } int dp[100010]; int main(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); int n,k; cin>>n>>k; rep(i,k){ int r,c; cin>>r>>c; r--,c--; G[r].push_back(c); } rep(i,n){ if(color[i]==0) dfs(i); } if(flag==false){ cout<<-1<