#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; #define i_7 (ll)(1E9+7) #define i_5 (ll)(1E9+5) ll mod(ll a){ ll c=a%i_7; if(c>=0)return c; else return c+i_7; } typedef pair i_i; typedef pair l_l; ll inf=(ll)1E12;/*10^12*/ #define rep(i,l,r) for(ll i=l;i<=r;i++) #define pb push_back ll max(ll a,ll b){if(ab)return b;else return a;} //////////////////////////////////////// bool check(vectorv,vectoru){ sort(v.begin(),v.end()); v.erase(unique(v.begin(),v.end()),v.end()); sort(u.begin(),u.end()); u.erase(unique(u.begin(),u.end()),u.end()); sets; ll vv=v.size(),uu=u.size(); for(auto x:v)s.insert(x); for(auto x:u)s.insert(x); ll ss=s.size(); return ss==vv+uu; } int main(){ int n,m;cin>>n>>m; vectorv[n]; rep(i,0,m-1){ int s,t;cin>>s>>t;s--;t--; v[s].pb(t); v[t].pb(s); } //bool al[n];memset(al,false,sizeof(al)); //al[0]=true; queueq; q.push(i_i(0,0)); vectorv1,v2; while(!q.empty()){ i_i y=q.front(); int t=y.first; int dep=y.second; if(dep==4)break; else if(dep==2)v1.pb(t); else if(dep==3)v2.pb(t); q.pop(); //al[t]=true; for(auto x:v[t]){ // if(!al[x]){ q.push(i_i(x,dep+1)); // } } } /* for(auto x:v1){ cout<