#include using namespace std; using ll = long long; using ld = long double; // #define int long long #define pii pair #define pll pair #define vi vector #define all(v) (v).begin(), (v).end() #define rall(v) (v).rbegin(), (v).rend() #define mp make_pair #define pb push_back #define sz(v) (int)(v).size() // #define endl '\n' const ld eps = 1e-8; const ll mod = 1e9 + 7; const int inf0 = 1e9 + 10; const ll inf = 2e18 + 10; void solve(); signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); #ifdef LC freopen("input.txt", "r", stdin); // freopen("output.txt", "w", stdout); #endif cout << fixed << setprecision(20); int t = 1; //cin >> t; while (t--) { solve(); } return 0; } void solve() { int n, m; cin >> n >> m; vector> a(m); int c1 = 0; int c2 = 0; for(int i = 0; i < m; i++) { cin >> a[i].first >> a[i].second; if(a[i].first < a[i].second) c1++; else c2++; } cout << "YES\n"; vector ans; for(int i = 0; i < m; i++) { if(c1 > c2 && a[i].first < a[i].second) ans.push_back(i + 1); else if (c1 < c2 && a[i].first > a[i].second) ans.push_back(i + 1); } cout << ans.size() << endl; for(int i : ans) cout << i << " "; } // g++ -DLC -o a a.cpp && ./a