링월드는 고리 모양으로 생긴 나라이다. 도시가 m개 있고 0,1,2,…,m−1로 번호가 붙어 있다. 도시는 0,1,2,…,m−1 순서로 이어지고 m−1 다음에 다시 0이 오는 고리를 이룬다.
연속한 도시로 이루어진 구간 n개가 주어진다. 각 구간은 도시 x에서 시작해 x,x+1,x+2,…,y까지의 도시를 포함하고, m−1 다음은 0으로 이어진다. m=5일 때 [3,4,0], [1], [2,3,4], [3,4,0,1,2]는 모두 올바른 구간이다.
각 구간에서 도시를 하나씩 고르려고 한다. 한 도시를 두 구간에서 고를 수는 없다. 즉, 어떤 구간에서 도시 i를 골랐다면 다른 구간에서는 도시 i를 고를 수 없다. 모든 구간에서 서로 다른 도시를 하나씩 고르는 것이 가능한지 판정하는 프로그램을 작성하시오.
첫째 줄에 테스트 케이스의 개수 T (1≤T≤20)가 주어진다.
각 테스트 케이스의 첫째 줄에는 도시의 수 m (1≤m≤109)과 구간의 수 n (1≤n≤105)이 주어진다.
다음 n개 줄에는 구간의 시작 도시 xi와 끝 도시 yi가 주어진다 (0≤xi,yi≤m−1). 이 줄은 구간 [xi,(xi+1)modm,…,yi]를 뜻한다.
각 테스트 케이스마다 모든 구간에서 서로 다른 도시를 하나씩 고를 수 있으면 YES를, 고를 수 없으면 NO를 한 줄에 출력한다.