// voi22-1_C.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#include <algorithm>
#include <vector>
#include <string>
#include <iostream>
#include <map>
#include <cmath>
#include <climits>

using namespace std;

vector<vector<int>> ways;
vector<bool> was;

int n, m;

void Dive(int p, vector<int> way)
{
	if ((p == 0) && (way.size() == n))
	{
		cout << "YES\n";
		for (int i = 0; i < way.size(); i++)
		{
			cout << way[i] + 1 << " ";
		}
		cout << 1;
		exit(0);
	}
	if (find(way.begin(), way.end(), p) != way.end())
	{
		return;
	}
	way.push_back(p);
	for (int i = 0; i < ways[p].size(); i++)
	{
		Dive(ways[p][i], way);
	}
}

int main()
{
	cin >> n >> m;
	ways = vector<vector<int>>(n);
	was = vector<bool>(n);
	for (int i = 0; i < m; i++)
	{
		int st, fin;
		cin >> st >> fin;
		st--;
		fin--;
		ways[st].push_back(fin);
	}
	Dive(0, vector<int>());
	cout << "NO";
}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
