선분 친구 (작은 버전)
면접 대비시간 제한2초메모리 제한256 MB
N개의 선분이 주어질 때 겹치는 선분끼리 간선으로 연결한 그래프를 만들고, 두 선분 사이의 최단 거리를 각 질의마다 답한다.
문제
수직선 위에 선분 개가 놓여 있다. 두 선분은 겹치는 부분이 있을 때만 서로 대화할 수 있고, 대화할 수 있는 두 선분은 친구가 된다. 끝점 한 곳에서만 맞닿아도 겹치는 것으로 본다.

위 그림에서 브라운과 코니는 친구이고 문과 제임스도 친구지만, 브라운과 샐리는 친구가 아니다.
선분들은 서로 얼마나 가까운 사이인지 알고 싶어 한다. 문과 레너드는 친구가 아니지만 제임스가 문과도 레너드와도 친구이므로, 문은 레너드의 친구의 친구이다. 같은 식으로 브라운은 샐리의 친구의 친구의 친구의 친구이다. 바로 친구인 사이를 1만큼 가깝다고 하면 문과 레너드는 2만큼, 브라운과 샐리는 4만큼 가깝다. 문은 코니의 친구의 친구이면서 코니의 친구이기도 하므로 문과 코니는 1만큼 가깝다. 즉 두 선분이 가까운 정도는 둘을 잇는 친구 관계의 최소 개수이다.
선분 마을의 시장인 당신은 두 선분이 "우리는 얼마나 가까운 사이야?"라고 물을 때마다 곧바로 답해야 한다. 이 일을 대신 처리하는 프로그램을 작성하라.
입력
첫째 줄에 선분의 수 이 주어진다. ()
다음 개의 줄에 1번 선분부터 번 선분까지 왼쪽 끝 좌표 와 오른쪽 끝 좌표 가 한 줄에 하나씩 주어진다. ()
그다음 줄에 질문의 수 가 주어진다. ()
이어지는 개의 줄에 질문하는 두 선분의 번호 와 가 주어진다. (, )
출력
질문마다 한 줄에 두 선분이 가까운 정도를 출력한다. 두 선분이 친구 관계로 이어져 있지 않으면 -1을 출력한다.