PivotOJ

CHEWBACCA

시간 제한: 1000ms메모리 제한: 256MB출처: COCI 2015-2016BOJ 11812

문제

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
코드를 제출하려면 로그인하세요.