#include<cmath>
#include<iostream>
#include<cstdio>
using namespace std;
struct st
{
    int in,out;
};

st pr[1024];


int n,m;
int a[1024][1024];
int used[1024];


void read()
{
    int i,k,l;
    cin>>n>>m;
    for(i=1;i<=m;i++)
    {
        scanf("%d %d",&k,&l);
//        cout<<k<<" "<<l<<endl;
        a[k][l]=1;
        a[l][k]=1;
    }
}

int dfs(int k,int d)
{
    int i,j;
    for(i=1;i<=n;i++)
    {
        if(a[k][i]==1)
        {
            a[i][k]=0;
            if(used[i]==0)
            {
                used[i]=d;
                dfs(i,d+1);
            }

        }
    }
}

void solve()
{
    int i,f,j,k;
    for(i=1;i<=n;i++)
    {
        if(used[i]==0)
        {
            dfs(i,1);
        }
    }    
    //cout<<endl;
//    for(i=1;i<=n;i++)
  //  {
    //    for(j=1;j<=n;j++)
      //  {
        //    if(a[i][j]==1)
          //  {
            //    cout<<i<<" "<<j<<endl;
            //}
        //}
    //}
    f=1;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
        {
            if(a[i][j]==1)
            {
                pr[i].out++;
                pr[j].in++;
            }
        }
    }
    while(f==1)
    {
  //      int xxx;
//        cin>>xxx;
        //cout<<"ASD"<<endl;
        f=0;
        for(i=1;i<=n;i++)
        {
            // cout<<i<<" "<<pr[i].in<<" "<<pr[i].out<<endl;
            if(abs(pr[i].in-pr[i].out)>1)
            {
                k=abs(pr[i].in-pr[i].out);
                f=1;
                break;
            }
        }
        if(f==1)
        {
            int ff=0;
            if(pr[i].in>pr[i].out) ff=1;
            for(j=1;j<=n;j++)
            {
                if(k<=1) break;
                if(ff==0)
                {
                    if(a[i][j]==1&&used[j]>used[i])
                    {
                        a[j][i]=1;
                        a[i][j]=0;
                        pr[i].out--;
                        pr[i].in++;
                        pr[j].out++;
                        pr[j].in--;
                        k=abs(pr[i].in-pr[i].out);
                    }
                }
                else                 
                {
                    if(a[j][i]==1&&used[j]>used[i])
                    {
                        a[i][j]=1;
                        a[j][i]=0;
                        pr[i].out++;
                        pr[i].in--;
                        pr[j].out--;
                        pr[j].in++;
                        k=abs(pr[i].in-pr[i].out);
                    }
                }
            }   
        }
    }    
    cout<<"Yes"<<endl;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
        {
            if(a[i][j]==1)
            cout<<i<<" "<<j<<endl;
        }
    }

}



int main()
{
    read();
    solve();
    return 0;
}
