1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream>
#include <vector>

using namespace std;
vector<int>t[200003];
int n,m,d,a,b,curCol=1,maxCol=0,maxx=0,tmpmax=0,tmpcol=0;
int color[200003];
void colorize(int x){
	if(color[x]==0){
		if(t[x].size()<d){
			color[x]=-1;
		}else{
			color[x]=curCol;
			tmpmax++;
			for(int i=0;i<t[x].size();i++){
				colorize(t[x][i]);
			}
		}
		
	}	
	
}
	
int main() {
	ios_base::sync_with_stdio(0);
	cin>>n>>m>>d;	
	for(int i=0;i<m;i++){
		cin>>a>>b;
		t[a].push_back(b);
		t[b].push_back(a);
	}
	for(int i=0;i<=n;i++){
	tmpmax=0;
		colorize(i);
		if(tmpmax>1){
			if(tmpmax>maxx){
				maxCol=curCol;
				maxx=tmpmax;
			}
		}
		curCol++;
	}
	if(maxCol==0)cout<<"NIE\n";
	else{
		cout<<maxx<<endl;
		for(int i=0;i<=n;i++)
			if(color[i]==maxCol)
				cout<<i<<" ";
	}
	return 0;
}