#include <bits/stdc++.h>
using namespace std;

#define rep(i, a, b) for (int i = a; i < (b); ++i)
#define all(x) begin(x), end(x)
#define sz(x) (int) (x).size()
typedef long long ll;
typedef pair<int, int> pi;
typedef vector<int> vi;

int main() {
    cin.tie(0)->sync_with_stdio(0);
    cin.exceptions(cin.failbit);

    int n, m;
    cin >> n >> m;
    cout << "YES\n";
    cout << n * (n - 1) << '\n';
    set<pi> s;
    while (m--) {
        int a, b;
        cin >> a >> b;
        a--, b--;
        s.insert({a, b});
    }
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            if (i == j)
                continue;
            vector<int> v;
            for (int k = 0; k < n; k++) {
                if (k == i || k == j)
                    continue;
                v.push_back(k);
            }
            if (s.count({j, i})) {
                v.push_back(j);
                v.push_back(i);
            } else {
                v.push_back(i);
                v.push_back(j);
            }

            for (auto x : v)
                cout << x + 1 << ' ';
            cout << '\n';
        }
    }
    return 0;
}