만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

혼란스러운 케이블

시간 제한1초메모리 제한1024 MB

요약
정점 n개와 간선 m개로 주어진 그래프가 하이퍼큐브인지 판별합니다. 두 장치의 이진 주소가 정확히 한 비트만 다를 때 간선이 있어야 합니다.
난이도

보통10점 중 7점

유형
그래프, BFS, 비트 연산
정답자
아직 제출이 없습니다

문제

당신의 친구 Claas는 새로 지은 전산실의 네트워크 설계를 맡았다. 네트워크 설계에서 효율이 얼마나 중요한지 잘 아는 Claas는 BAPC(Binary Access Point Configuration) 토폴로지를 택했다.

각 장비에 고정된 길이의 이진 주소를 할당할 수 있고, 다음 두 조건을 모두 만족하면 그 네트워크는 BAPC 네트워크이다.

  1. 두 장비는 주소가 정확히 한 비트만 다를 때에만 연결된다.
  2. 가능한 모든 주소는 정확히 한 장비에 할당된다.

Claas는 장비들을 연결하기 시작했지만, 연결이 복잡하게 얽히자 설계에 의문이 들었다. 그가 만든 네트워크가 정말 BAPC 네트워크일까?

Claas를 도와 이 네트워크가 BAPC 네트워크인지 판별하라.

입력

첫 줄에 두 정수 nn과 mm이 주어진다 (2≤n≤2⋅1052 \le n \le 2\cdot 10^5, 1≤m≤2⋅1051 \le m \le 2\cdot 10^5). 각각 장비의 수와 선의 수이다.

이어지는 mm개의 줄에 정수 aa와 bb가 주어진다 (1≤a,b≤n1 \leq a, b \leq n, a≠ba \ne b). 이는 장비 aa와 장비 bb 사이에 선이 있다는 뜻이다. 같은 두 장비를 잇는 선은 최대 하나이다.

출력

네트워크가 BAPC 네트워크이면 yes, 아니면 no를 출력한다.

예제2

  1. 예제 1

    입력
    4 3
    1 2
    2 3
    1 4
    
    예상 출력
    no
    
  2. 예제 2

    입력
    8 12
    1 2
    6 2
    8 2
    3 1
    1 7
    3 6
    6 5
    3 4
    8 7
    8 5
    7 4
    5 4
    
    예상 출력
    yes