#include <bits/stdc++.h> #define X first #define Y second #define PB push_back #define x first #define y second #define pb push_back using namespace std; typedef long long ll; typedef vector<int> vi; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n, m; cin >> n >> m; vector < vi > sol; for(int i = 0;i < m;i++) { int a, b; cin >> a >> b; vi v1, v2; v1 = {a, b}; for(int i = 1;i <= n;i++) { if(i != a && i != b) v1.PB(i); } for(int i = n;i >= 1;i--) if(i != a && i != b) v2.PB(i); v2.PB(a); v2.PB(b); sol.PB(v1); sol.PB(v2); } cout << "YES\n"; cout << (int)sol.size() << endl; for(auto tmp : sol) { for(int x : tmp) cout << x << " "; cout << endl; } return 0; }