선사 시대의 괴물이 Peter 박사의 타임머신을 타고 지구에 도착했습니다. 당신은 Peter 박사가 괴물을 잡는 것을 도와야 합니다.
괴물은 $n$개의 정점과 $m$개의 간선으로 이루어진 포레스트(숲)에 숨어 있습니다. 여기서 포레스트란 여러 개의 트리로 구성될 수 있는 사이클 없는 무방향 그래프를 의미합니다. 괴물을 잡기 위해 다음과 같은 연산을 수행할 수 있습니다:
- 먼저, 정점 $x$ ($1 \le x \le n$)를 하나 선택합니다.
- 그다음, 만약 괴물이 현재 정점 $x$에 있다면 괴물은 잡힙니다.
- 그렇지 않으면 괴물은 잡히지 않은 채로 남으며, 연산이 끝난 후 정점 $x$를 제외하고 현재 정점과 인접한 임의의 정점으로 이동할 수 있습니다. 또는 이동하지 않고 같은 정점에 머무르는 것을 선택할 수도 있습니다.
괴물의 초기 위치와 이동 방식에 상관없이, 정점들의 유한 수열 $a$의 순서대로 정점을 선택하여 연산을 수행했을 때 괴물을 반드시 잡을 수 있도록 보장하는 유한 수열 $a$가 존재할 필요충분조건으로 그 포레스트를 좋은(nice) 포레스트라고 정의합니다.
이제 당신은 Peter 박사의 $q$개의 질문에 답해야 합니다. 각 질문에서 박사는 구간 $[l, r]$ ($1 \le l \le r \le n$)을 줍니다. 번호가 $[l, r]$ 안에 있는 정점들로 유도된 부분 포레스트(즉, 이 정점들과 그들 사이의 간선만 남겨서 만든 그래프)가 좋은 포레스트인지 알려주어야 합니다.
입력
입력의 첫 번째 줄에는 세 정수 $n$, $m$, $q$ ($2 \le n \le 10^6$, $1 \le m \le n - 1$, $1 \le q \le 10^6$)가 주어지며, 여기서 $n$은 포레스트의 정점 수, $m$은 포레스트의 간선 수, $q$는 쿼리의 개수입니다.
다음 $m$개의 줄에는 각각 포레스트의 간선을 나타내는 두 정수 $u$와 $v$ ($1 \le u, v \le n$, $u \ne v$)가 주어집니다.
다음 $q$개의 줄에는 각각 쿼리를 나타내는 두 정수 $l$과 $r$ ($1 \le l \le r \le n$)이 주어집니다.
출력
각 쿼리에 대해, 부분 포레스트가 좋은 포레스트이면 한 줄에 "Yes"를 출력하고, 그렇지 않으면 한 줄에 "No"를 출력합니다.
대소문자 구별 없이 답을 출력할 수 있습니다. 예를 들어, 문자열 "yEs", "yes", "Yes", "YES"는 모두 긍정 응답으로 인식됩니다.
예제
입력 1
10 9 3 1 2 1 3 1 8 2 5 2 6 2 7 3 4 8 9 8 10 1 3 2 6 1 10
출력 1
Yes Yes No
입력 2
100000 1 1 1 2 1 9999
출력 2
Yes
노트
첫 번째 테스트 케이스에서:
- 첫 번째 쿼리에서 부분 포레스트 $[1, 3]$에 대해 $a = [3, 1, 2]$로 설정할 수 있습니다.
- 두 번째 쿼리에서 부분 포레스트 $[2, 6]$에 대해 $a = [3, 4, 5, 2, 6]$으로 설정할 수 있습니다.
- 세 번째 쿼리에서 부분 포레스트 $[1, 10]$에 대해서는 유효한 유한 수열 $a$가 존재하지 않음을 증명할 수 있습니다.
두 번째 테스트 케이스에서:
- 유일한 쿼리에서 부분 포레스트 $[1, 9999]$에 대해 $a = [1, 2, \dots, 9999]$로 설정할 수 있습니다.