#include<cstdio>
#define MAX 1000
#define MAXE 100000

int n,m;
int v[MAX];
int a[MAXE],b[MAXE];

bool solve(int i){
    if(i==m){
        for(int i=1;i<=n;++i){
            if(v[i]>1 || v[i]<-1)return 0;
        }
        printf("Yes\n");
        return 1;
    }
    ++v[a[i]];
    --v[b[i]];
    if(solve(i+1)){
        printf("%d %d\n",a[i],b[i]);
        return 1;
    }
    v[a[i]]-=2;
    v[b[i]]+=2;
    if(solve(i+1)){
        printf("%d %d\n",b[i],a[i]);
        return 1;
    }
    ++v[a[i]];
    --v[b[i]];
    return 0;
}

int main(void){
    scanf("%d%d",&n,&m);
    for(int i=0;i<m;++i){
        scanf("%d%d",a+i,b+i);
    }
    if(!solve(0)){
        printf("No\n");
    }
    return 0;
}
