#include <bits/stdc++.h> using namespace std; typedef long long ll; void solve(){ int n,m; cin>>n>>m; vector<vector<int>>res; vector<pair<int,int>>lines; for(int _i=0;_i<m;_i++){ int a,b; cin>>a>>b; lines.emplace_back(a,b); vector<int>line; for(int i=1;i<=n;i++){ if(i!=a&&i!=b) { line.push_back(i); } } line.push_back(a); line.push_back(b); res.push_back(line); line.clear(); for(int i=n;i>0;i--){ if(i!=a&&i!=b) { line.push_back(i); } } line.push_back(a); line.push_back(b); res.push_back(line); } map<pair<int,int>,int>mp; for(auto i:res){ int n1=(int)i.size(); for(int i1=0;i1<n1;i1++){ for(int i2=i1+1;i2<n1;i2++){ mp[{i[i1],i[i2]}]++; } } } for(auto[a,b]:lines){ if(mp[{a,b}]<=mp[{b,a}]){ cout<<"NO\n"; return; } } cout<<"YES\n"; cout<<res.size()<<"\n"; for(auto i:res){ for(int j:i){ cout<<j<<" "; } cout<<"\n"; } } int main(){ ios_base::sync_with_stdio(0),cin.tie(0); int t=1;//cin>>t; while(t--) solve(); }