King's Puzzle
시간 제한3초메모리 제한1024 MB
n개 정점으로 이루어진 연결된 단순 그래프에서 차수의 서로 다른 값이 정확히 k개가 되도록 간선을 구성하거나 불가능함을 판별한다.
문제
King Kendrick is a sovereign ruler of Kotlin Kingdom. He is getting ready for the next session of the government. Kotlin Kingdom consists of cities. These cities need to be connected by several bidirectional roads. Since ministries are responsible for aspects of safety and comfort of the kingdom's residents, some of them have made the following requirements:
- "All the cities should be connected by new roads, i.e. there should be a path from any city to any other city via the roads" --- Ministry of Transport and Digital Infrastructure.
- "There may not be a loop road --- a road that connects a city with itself" --- Ministry of Environment.
- "There should be at most one road between a pair of cities" --- Treasury Department.
- "If is the number of roads connected to -th city, then the set should consist of exactly distinct numbers" --- Ministry of ICPC.
King Kendrick has issues with the requirements from the Ministry of ICPC. He asks you to help him. Find any set of roads that suits all the requirements above or say that it is impossible.
입력
The only line of the input consists of two integers and ().
출력
If it is impossible to satisfy all the requirements, output "NO" in the only line.
Otherwise, output "YES" in the first line.
Output --- the number of roads () in the second line.
Next lines should contain pairs of integers and --- the cities to connect by a road ().