#include <bits/stdc++.h>
using namespace std;

vector<vector<int>> use_mas;

void dfs(vector<vector<int>> &g, vector<int> use, int v)
{
    int f=0;
    for(int i=0;i<use.size();i++)
    {
        if(v==use[i])
        {
            use.push_back(v);
            use_mas.push_back(use);
            f++;
            break;
        }
    }
    if(f==0)
    {
        use.push_back(v);
        for(auto it: g[v])dfs(g, use, it);
    }
}

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n, m;
    cin>>n>>m;
    vector<vector<int>> g(n);
    for(int i=0;i<m;i++)
    {
        int v, u;
        cin>>v>>u;
        v--;
        u--;
        g[v].push_back(u);
    }
    vector<int> use;
    dfs(g, use, 0);
    int f=0;
    for(auto it: use_mas)
    {
        if(it.size()==n+1 && it[0]==it[it.size()-1] && it[0]==0)
        {
            f++;
            cout<<"YES"<<'\n';
            for(int i=0;i<it.size();i++)cout<<it[i]+1<<' ';
            break;
        }
    }
    if(f==0)cout<<"NO"<<'\n';
    /*
    for(auto it: use_mas)
    {
        for(int i=0;i<it.size();i++)cout<<it[i]<<' ';
        cout<<endl;
    }
    */
}
