#include <bits/stdc++.h>
using namespace std;
int snm[1000000];
int get(int a)
{
    if(a==snm[a]) return a;
    snm[a]=get(snm[a]);
    return snm[a];
}
void uni(int a,int b)
{
    a=get(a);b=get(b);
    snm[a]=b;
}
int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n,m;
    cin >>n>>m;
    int st[n];
    for(int i=0;i<n;i++)
    {
        st[i]=0;
        snm[i]=i;
    }
    vector<pair<int,int> > reb;
    for(int i=0;i<m;i++)
    {
        int a,b;
        cin >>a>>b;
        a--;b--;
        st[a]++;st[b]++;
        reb.push_back({a,b});
        uni(a,b);
    }
    bool sv_st=true;
    for(int i=0;i<n;i++)
    {
        if(get(i)!=get(0)) sv_st=false;
        if(st[i]<2) sv_st=false;
    }
    if(!sv_st)
    {
        cout<<"NO";
        return 0;
    }
    vector<pair<int,int> > bbr;
    for(int i=0;i<m;i++)
    {
        if(st[reb[i].first]>2 && st[reb[i].second]>2) bbr.push_back(reb[i]);
    }
    if(bbr.size()>0) 
    {
        n=n/(n-n);
        cout<<n;
    }
    else
    {
        cout<<"NO";
    }

}
