이상한 그래프

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

무향 그래프 G=(V,E)G = (V, E)를 생각하자. 정점 vv에 인접한 정점의 집합을 N(v)N(v)로 쓰고, 그 집합의 크기를 vv의 차수 deg(v)\deg(v)라고 한다.

연결 그래프 GG의 모든 정점 vv가 다음 조건을 전부 만족하면 GG를 이상한 그래프라고 부른다.

  1. deg(v)2\deg(v) \ge 2이다.
  2. deg(v)=2\deg(v) = 2이면 vv의 두 이웃은 서로 인접하지 않는다.
  3. deg(v)>2\deg(v) > 2이면 다음 두 조건을 모두 만족하는 정점 uN(v)u \in N(v)가 존재한다.
    1. deg(u)=2\deg(u) = 2이다.
    2. N(v){u}N(v) \setminus \{u\}에 속하는 서로 다른 두 정점 w1,w2w_1, w_2는 항상 인접하다. 즉 (w1,w2)E(w_1, w_2) \in E이다.

해밀턴 회로는 GG의 모든 정점을 정확히 한 번씩 지나는 회로다. 회로이므로 마지막 정점은 첫 정점과 인접하다.

이상한 그래프 GG가 주어진다. GG에 해밀턴 회로가 있는지 판정하라.

입력

첫째 줄에 정점 수 NN과 간선 수 MM이 주어진다 (3N100003 \le N \le 10000, M100000M \le 100000).

이어서 정수 2M2M개가 주어진다. 앞에서부터 두 개씩 묶으면 간선 하나의 두 끝점이다. 정점 번호는 11부터 NN까지다. 수는 공백이나 줄바꿈으로 구분되고, 줄을 나누는 방식은 정해져 있지 않다. 같은 간선은 한 번만 주어지며, 한 간선의 두 끝점은 항상 서로 다르다. GG가 이상한 그래프라는 것은 보장된다.

출력

GG에 해밀턴 회로가 있으면 YES를, 없으면 NO를 출력한다.