#include<iostream>
using namespace std;
struct bro
{
    int vz,iz;
};
bro br[1024];
int n,m,a[1024][1024];
void read()
{
    int i;
    int p1,p2;
    cin>>n>>m;
    for(i=0;i<m;i++)
    {
        cin>>p1>>p2;
        a[p1][p2]=a[p2][p1]=1;
    }
}
void DFS(int i)
{
    int j;
    for(j=1;j<=n;j++)
    {
        if(a[i][j]==1)
        {
            a[i][j]=2;
            a[j][i]=0;
            DFS(j);
        }
    }
}
int main()
{
    int t;
    read();
    DFS(1);
    int i,j;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
        {
            if(a[i][j]==2)
            {
                br[i].iz++;
                br[j].vz++;
            }
        }
    }
    for(t=1;t<=n;t++)
    {
        if((br[t].vz-br[t].iz>1)||(br[t].vz-br[t].iz<-1))
        {
            break;
        }
    }
    if(t<=n) cout<<"No"<<endl;
    else
    {
        cout<<"Yes"<<endl;
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
            {
                if(a[i][j]==2)
                {
                    cout<<i<<" "<<j<<endl;
                }
            }
        }
    }
}
