만드는 중입니다

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

세계를 만들어요

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

요약
3N개의 정점으로 이루어진 단순 연결 그래프에서 모든 정점의 차수가 소수가 되도록 3M개의 간선을 구하고, 불가능하면 NO를 출력합니다.
난이도

보통10점 중 7점

유형
그래프, 수학, 구현
정답자
아직 제출이 없습니다

문제

호반우는 세계를 부수고, 세계를 창조한다.

오늘도 호반우는 무방향 그래프로 이루어진 세계를 부숴버렸다. 간선은 모두 사라지고, 11번부터 3N3N번까지 번호가 매겨진 정점 3N3N개만 남았다.

호반우는 간선 3M3M개를 만들어 세계를 다시 창조하려 한다. 이때 각 정점에 연결된 간선의 개수는 모두 소수여야 하고, 모든 정점이 서로 연결되어 있어야 한다. 이미 간선으로 연결된 두 정점 사이에는 간선을 새로 이을 수 없고, 같은 정점을 잇는 루프도 만들 수 없다.

호반우를 도와 세계를 만들어보자.

입력

첫째 줄에 양의 정수 NN과 MM이 주어진다. (1≤N≤100 000;N≤M≤2N)(1 \leq N \leq 100\,000 ; N \leq M \leq 2N)

출력

조건을 만족하는 그래프를 만들 수 없다면 첫째 줄에 NO를 출력한다.

그렇지 않다면 첫째 줄에 YES를 출력하고, 둘째 줄부터 3M3M개의 줄에 걸쳐 그래프의 각 간선이 잇는 두 정점의 번호를 공백으로 구분해 출력한다.

가능한 방법이 여러 가지라면 그중 아무거나 출력한다.

예제2

  1. 예제 1

    입력
    1 1
    
    예상 출력
    YES
    1 2
    2 3
    1 3
    
  2. 예제 2

    입력
    1 2
    
    예상 출력
    NO