은나무
시간 제한2초메모리 제한512 MB
K, H가 주어지는 실버 트리에서 두 키를 가진 파란 노드 사이의 경로 길이를 질의마다 구합니다. 키가 트리에 없으면 -1을 출력합니다.
문제
겨울 숲에 있는 은나무는 루트가 정해진 트리이며, 다음 성질에 따라 유일하게 정해진다.
- 모든 노드는 흰색 또는 파란색이고, 루트 노드는 흰색이다.
- 모든 흰색 노드는 파란색 자식 개와 흰색 자식 개 또는 개를 가진다.
- 흰색 자식이 없는 모든 흰색 노드의 깊이는 로 같다. 흰색 노드의 깊이는 루트에서 해당 노드까지의 경로에 있는 흰색 노드의 개수이다.
- 모든 파란색 노드는 자식이 없고, 서로 다른 양의 정수인 키(key)를 가진다. 은나무의 파란색 노드 개수가 개라면, 파란색 노드들의 키 값은 부터 까지이다.
- 모든 흰색 노드의 파란색 자식 노드들이 가지는 키는 오름차순이다. 흰색 자식이 있을 경우, 자식들을 흰색-파란색-흰색-파란색--흰색 순서로 번갈아 놓았을 때 흰색 자식의 서브트리에 있는 키들과 파란색 자식의 키들이 오름차순이 된다.
구체적으로, 흰색 자식들을 순서대로 라 하고, 파란색 자식이 가진 키 값을 순서대로 라 하자. 를 루트로 하는 서브트리에 있는 모든 키는 보다 크고 보다 작다. 를 흰색 자식 를 루트로 하는 서브트리에 있는 임의의 키라고 하면 가 성립한다.

위의 그림은 , 일 때 만들어지는 은나무이다.
두 키의 쌍이 주어졌을 때, 각 키를 담고 있는 두 파란색 노드를 연결하는 경로의 길이는 얼마인가?
입력
첫 줄에 정수 (), (), ()이 주어진다. 는 흰색 노드 하나가 갖는 파란색 자식의 개수, 는 은나무의 높이, 는 쿼리의 개수이다. 이 때, 트리에 존재하는 키의 개수는 을 넘지 않는다.
다음 개의 줄에 각 줄마다 두 정수 , ()가 주어진다.
출력
각각의 쿼리에 대해, 두 정수를 담고 있는 두 파란색 노드를 연결하는 경로의 길이를 출력한다. 해당하는 파란색 노드가 은나무 내에 존재하지 않으면 을 출력한다.