import sys, time, random, heapq, math, itertools, copy from collections import deque, Counter, defaultdict from bisect import bisect, bisect_left, bisect_right import heapq as hq from functools import cache, cmp_to_key def debug(*x):print('debug:',*x, file=sys.stderr) sys.setrecursionlimit(300000) input = lambda: sys.stdin.readline().rstrip() ii = lambda: int(input()) mi = lambda: map(int, input().split()) li = lambda: list(mi()) inf = 2 ** 61 - 1 mod = 998244353 dir = [(0, 1), (0, -1), (1, 0), (-1, 0)] X, Y, N = mi() for _ in range(N): u, v = mi() if u == 0 or v == 0: print((max(u, v) - 1) % Y + 1) else: if (u - 1) // Y == (v - 1) // Y: print(abs(u - v)) else: print((u - 1) % Y + 1 + (v - 1) % Y + 1)