#pragma GCC optimize("O3") #include <bits/stdc++.h> //#define int long long 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() #define pb push_back typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; typedef vector<int> vi; int n, m; vector<vector<int> > votes; void ballot(int u, int v){ vector<int> vote1 = {u, v}; for(int i = 1; i <= n; i++){ if((i != u) && (i != v)){ vote1.pb(i); } } votes.pb(vote1); vector<int> vote2; for(int i = n; i >= 1; i--){ if((i != u) && (i != v)){ vote2.pb(i); } } vote2.pb(u); vote2.pb(v); votes.pb(vote2); } signed main(){ cin.tie(0); ios::sync_with_stdio(0); cin >> n >> m; for(int i = 0; i < m; i++){ int a, b; cin >> a >> b; ballot(a, b); } cout << "YES\n"; cout << sz(votes) << "\n"; for(auto vote : votes){ for(auto it : vote){ cout << it << " "; } cout << "\n"; } return 0; }