#include<cstdio>
#include<vector>
using namespace std;
int n,m;
vector<int>v[1024];
int a[1024][1024];
int ans[1024][1024];
int in[1024],out[1024],all[1024];
void read()
{
    scanf("%d %d",&n,&m);
    int i,x,y;
    for(i=1;i<=m;i++)
    {
        scanf("%d %d",&x,&y);
        v[x].push_back(y);
        v[y].push_back(x);
        a[x][y]=a[y][x]=1;
        ans[x][y]=ans[y][x]=1;
        all[x]++;
        all[y]++;
    }
}
void write()
{
    int i,j;
    printf("Yes\n");
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            if(ans[i][j])
                printf("%d %d\n",i,j);
}
int main()
{
    read();
    int i,j,sz;
    for(i=1;i<=n;i++)
    {
        sz=v[i].size();
        j=0;
        do
        {
            if(ans[i][v[i][j]]&&ans[v[i][j]][i])
            {
                out[v[i][j]]++;
                in[i]++;
                ans[i][v[i][j]]=0;
            }
            j++;
        }
        while(in[i]<(double)all[i]/2&&j<sz);
    }
    write();
    return 0;
}
