#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define faster ios_base::sync_with_stdio(false);cin.tie(NULL); cout.tie(NULL);
int n, m;
const int N = 1005;
vector<int> adj[N];
bool visited[N];
vector<int> largest_component;
void inp() {
cin >> n >> m;
for(int i = 1; i <= m; i++) {
int x, y; cin >> x >> y;
adj[x].push_back(y);
adj[y].push_back(x);
}
}
int dfs(int u, vector<int> &component) {
int cnt = 1;
component.push_back(u);
visited[u] = true;
for(auto v : adj[u]) {
if(!visited[v]) {
cnt += dfs(v, component);
}
}
return cnt;
}
void ntkt() {
memset(visited, false, sizeof(visited));
int max_size = 0;
for(int i = 1; i <= n; i++) {
if(!visited[i]) {
vector<int> tmp_path;
int size = dfs(i, tmp_path);
if(size > max_size) {
max_size = size;
largest_component = tmp_path;
}
}
}
cout << max_size << "\n";
for(auto x : largest_component) cout << x << " ";
cout << "\n";
}
int main() {
faster;
inp();
ntkt();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwojZGVmaW5lIGZhc3RlciBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTtjaW4udGllKE5VTEwpOyBjb3V0LnRpZShOVUxMKTsKaW50IG4sIG07CmNvbnN0IGludCBOID0gMTAwNTsKdmVjdG9yPGludD4gYWRqW05dOwpib29sIHZpc2l0ZWRbTl07CnZlY3RvcjxpbnQ+IGxhcmdlc3RfY29tcG9uZW50OwoKdm9pZCBpbnAoKSB7CiAgICBjaW4gPj4gbiA+PiBtOwogICAgZm9yKGludCBpID0gMTsgaSA8PSBtOyBpKyspIHsKICAgICAgICBpbnQgeCwgeTsgY2luID4+IHggPj4geTsKICAgICAgICBhZGpbeF0ucHVzaF9iYWNrKHkpOwogICAgICAgIGFkalt5XS5wdXNoX2JhY2soeCk7CiAgICB9Cn0KCmludCBkZnMoaW50IHUsIHZlY3RvcjxpbnQ+ICZjb21wb25lbnQpIHsKICAgIGludCBjbnQgPSAxOwogICAgY29tcG9uZW50LnB1c2hfYmFjayh1KTsKICAgIHZpc2l0ZWRbdV0gPSB0cnVlOwogICAgZm9yKGF1dG8gdiA6IGFkalt1XSkgewogICAgICAgIGlmKCF2aXNpdGVkW3ZdKSB7CiAgICAgICAgICAgIGNudCArPSBkZnModiwgY29tcG9uZW50KTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gY250Owp9Cgp2b2lkIG50a3QoKSB7CiAgICBtZW1zZXQodmlzaXRlZCwgZmFsc2UsIHNpemVvZih2aXNpdGVkKSk7CiAgICBpbnQgbWF4X3NpemUgPSAwOwoKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgaWYoIXZpc2l0ZWRbaV0pIHsKICAgICAgICAgICAgdmVjdG9yPGludD4gdG1wX3BhdGg7CiAgICAgICAgICAgIGludCBzaXplID0gZGZzKGksIHRtcF9wYXRoKTsKICAgICAgICAgICAgaWYoc2l6ZSA+IG1heF9zaXplKSB7CiAgICAgICAgICAgICAgICBtYXhfc2l6ZSA9IHNpemU7CiAgICAgICAgICAgICAgICBsYXJnZXN0X2NvbXBvbmVudCA9IHRtcF9wYXRoOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGNvdXQgPDwgbWF4X3NpemUgPDwgIlxuIjsKICAgIGZvcihhdXRvIHggOiBsYXJnZXN0X2NvbXBvbmVudCkgY291dCA8PCB4IDw8ICIgIjsKICAgIGNvdXQgPDwgIlxuIjsKfQoKaW50IG1haW4oKSB7CiAgICBmYXN0ZXI7CiAgICBpbnAoKTsKICAgIG50a3QoKTsKICAgIHJldHVybiAwOwp9Cg==