#include <iostream>
#include <cstring>

#define abs(x) ((x)<0?(-x):(x))

using namespace std;

int N, M, b[32][2];

int cnt[32];
int all[32];
bool check (int mask) {
  memset (cnt, 0, sizeof (cnt));

  for (int i = 0; i < M; i++)
    if (mask & (1 << i)) cnt[b[i][0]]++;
    else cnt[b[i][1]]++;

  for (int i = 0; i < M; i++)
    if (abs(all[i] - cnt[i] - cnt[i]) > 1) return 0;

  return 1;
}

void print (int mask) {
  printf ("YES\n");
  for (int i = 0; i < M; i++)
    if (mask & (1 << i))
      printf ("%d %d\n", b[i][0] + 1, b[i][1] + 1);
    else printf ("%d %d\n", b[i][1] + 1, b[i][0] + 1);
}

int main () {
  //freopen ("test.in", "r", stdin);
  //freopen ("test.out", "w", stdout);

  scanf ("%d%d", &N, &M);

  for (int i = 0; i < M; i++) {
    scanf ("%d%d", &b[i][0], &b[i][1]);
    b[i][0]--, b[i][1]--;
    all[b[i][0]]++, all[b[i][1]]++;
  }
  for (int j = 0; j < (1 << M); j++)
    if (check (j)) {
      print(j);
      return 0;
    }

  printf ("NO\n");
}