#include <bits/stdc++.h>
using namespace std;
void printans(int a, int b, int n) {
  printf("YES\n");
  int s = 3;
  for (int i = 1; i <= n; i++) {
    if (i == a)
      printf("1 ");
    else if (i == b)
      printf("2 ");
    else
      printf("%d ", s++);
  }
  printf("\n");
  s = 3;
  for (int i = 1; i <= n; i++) {
    if (i == a)
      printf("1 ");
    else if (i == b)
      printf("1 ");
    else
      printf("%d ", s++);
  }
}
void solve() {
  int n, m;
  scanf("%d%d", &n, &m);
  set<pair<int, int> > st;
  for (int i = 1; i <= m; i++) {
    int a, b;
    scanf("%d%d", &a, &b);
    if (a > b) swap(a, b);
    st.insert(pair<int, int>(a, b));
  }
  if (m == 1LL * n * (n - 1) / 2) {
    printf("NO\n");
    return;
  }
  for (int i = 1; i <= n; i++) {
    for (int j = i + 1; j <= n; j++) {
      if (!st.count(pair<int, int>(i, j))) {
        printans(i, j, n);
        return;
      }
    }
  }
}
int main() {
  solve();
  return 0;
}
