#include <cstdio>
#include <vector>
using namespace std;
int n,m;
vector<int> al[100005];
int main(){
    scanf("%d%d",&n,&m);
    int a,b;
    while (m--){
        scanf("%d%d",&a,&b);
        al[a].push_back(b);
        al[b].push_back(a);
    }

    int rings=0;
    for (int x=1;x<=n;x++) if (al[x].size()&1){
        printf("No\n");
        return 0;
    }

    int curr,prev;
    for (int x=1;x<=n;x++){
        if (al[x].size()>2){
            for (vector<int>::iterator it=al[x].begin();it!=al[x].end();it++){
                curr=(*it),prev=x;
                while (al[curr].size()==2){
                    if (prev==al[curr][0]){
                        prev=curr;
                        curr=al[prev][1];
                    }
                    else{
                        prev=curr;
                        curr=al[prev][0];
                    }
                }
                if (curr==x) rings+=2;
                else rings++;
            }
        }
    }

    printf((rings>=12)?"Yes\n":"No\n");
}
