import sys from collections import * from functools import cache, partial from itertools import * from pprint import pprint from typing import Any, Final try: from icecream import ic except ImportError: # Graceful fallback if IceCream isn't installed. ic = lambda *a: None if not a else (a[0] if len(a) == 1 else a) # noqa debug = partial(print, file=sys.stderr) dpprint = partial(pprint, stream=sys.stderr) sys.setrecursionlimit(10 ** 6) MOD=998244353 X, Y, N = map(int, input().split()) def dist_to_zero(v: int, Y: int) -> int: return (v - 1) % Y + 1 def is_same_branch(u: int, v: int, Y: int) -> bool: return (u - 1) // Y == (v - 1) // Y ic(X, Y) for _ in range(N): u, v = map(int, input().split()) if u == 0 and v == 0: print(0) continue if u == 0: print(dist_to_zero(v, Y)) continue if v == 0: print(dist_to_zero(u, Y)) continue if is_same_branch(u, v, Y): print(abs(u - v)) else: print(dist_to_zero(u, Y) + dist_to_zero(v, Y))