#include <bits/stdc++.h>

using namespace std;

#define int long long
#define ft first
#define sd second
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define pb push_back
#define point pair <int, int>


const int N = 1e5 + 300;

bool ok = 0;
int n, m;

vector <int> gr[N];

vector <int> ans;

int color[N];

//void dfs(int v, int k, int id)
//{
//    color[v] = id;
//    for (int i = 0; i < gr[v].size(); i++)
//    {
//        int to = gr[v][i];
//        if(to == 1 && k == n)
//        {
//            ok = 1;
//            ans.pb(v);
//            return;
//
//        }
//        if (color[to] != id) dfs(to, k + 1, id);
//        if (ok)
//        {
//            ans.pb(v);
//            return;
//        }
//    }
//}

main()
{
    ios_base::sync_with_stdio(0);
    cin.tie();
    ans.pb(1);
    cin >> n >> m;
    for (int i = 0; i < m; i++)
    {
        int u, v;
        cin >> u >> v;
        gr[u].pb(v);
    }
    cout << "NO";
//    for (int i = 0; i < gr[1].size(); i++)
//    {
//        dfs(gr[1][i], 2, i + 1);
//    }
//    if (!ok) return cout << "NO", 0;
//    cout << "YES" << '\n';
//    ans.pb(1);
//    reverse(all(ans));
//    for (int i = 0; i < ans.size(); i++)
//    {
//        cout << ans[i] << ' ';
//    }
    return 0;
}

/*
3 3
1 2
2 3
3 1
*/


