CHEWBACCA
문제
You are given a tree of order K with N nodes or, in other words, each node can have at most K children. The tree is constructed so it’s of the "lowest energy": the nodes are placed in a new depth of the tree only when all the places (from left to right) in the previous depth have been filled. This is also the order of enumerating the nodes, starting with 1. Image depicts an example of a tree of order 3 with 9 nodes.

You need to output answers to Q queries in the form of x y, where the answer is the minimal number of steps needed to get from node x to node y.
입력
The first line of input contains the integers N (1 ≤ N ≤ 1015), K (1 ≤ K ≤ 1 000) i Q (1 ≤ Q ≤ 100 000) from the task. Each of the following Q lines contains pairs xy (1 ≤ x, y ≤ N, x ≠ y) from the task.
출력
Output Q lines, each line containing the answer to a query from the task.
힌트
Clarification of the first example: You are given a complete binary tree. Node 2 is a direct child of node 1 so the distance between them is exactly 1. Nodes 4 and 7 are on complete opposite sides of the tree, so the distance between them is 4: 4 → 2 → 1 → 3 → 7.
Clarification of the second example: This example corresponds to the image.
예제
예제 1
7 2 3 1 2 2 1 4 7
1 1 4
예제 2
9 3 3 8 9 5 7 8 4
2 2 3