#include <iostream>
using namespace std;

int v[20][2];
int r;
int n,m;
int c[21];



void input() {
    cin>>n>>m;
    for (int i=0;i<m;i++) {
        scanf("%d%d",&v[i][0],&v[i][1]);
        v[i][0]--;
        v[i][1]--;
    }
    r=1<<m;
}

bool check() {
    for (int i=0;i<n;i++) {
        if (c[i]<-1|| c[i]>1) return false;
    }
    return true;
}

void print(int mm) {
    printf("Yes\n");
    int mask=0;
    for (int i=0;i<m;i++) {
        mask=mm&(1<<i);
        if (!mask) printf("%d %d\n",v[i][0]+1,v[i][1]+1);
        else printf("%d %d\n",v[i][1]+1,v[i][0]+1);
    }
    exit(0);
}


void thirty() {
    int mask=0;
    int coef=0;



    for (int i=0;i<r;i++) {

        for (int l=0;l<n;l++) c[l]=0;
        for (int j=0;j<m;j++) {
            mask=i&(1<<j);
            if (mask==0) coef=1;
            else coef=-1;
            //printf("%d",coef);
            c [v[j][0]]+=coef;
            c[v[j][1]]-=coef;
        }
        //printf("\n");
        //for (int j=0;j<n;j++) printf("%d",c[j]);
        //printf("\n");

        if (check()) print(i);

    }

    printf("No\n");
    exit(0);
}


int main() {
    input();
    //printf("%dA\n",r);
    //cout<<r;
    if (n<=20 && m<=20) {
        thirty();
    }

    printf("No\n");
    return 0;
}
