#include<iostream>
#include<vector>
using namespace std;
vector<int> parents;
int find(int x) {
return x == parents[x] ? x : parents[x] = find(parents[x]);
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int n, m;
while (cin >> n >> m) {
parents.resize(n + 1);
for (int i = 1; i <= n; i++) parents[i] = i;
while (m--) {
int x, y;
cin >> x >> y;
if (find(x) == find(y)) cout << "Yes" << endl;
else {
parents[find(y)] = find(x);
cout << "No" << endl;
}
}
int count = 0;
for (int i = 1; i <= n; i++) if (parents[i] == i) count++;
cout << count << endl;
for (int i = 1; i <= n; i++) if (parents[i] == i) cout << i << ' ';
cout << '\n';
}
return 0;
}