#include static inline constexpr std::vector solve(const uint_fast32_t X, const uint_fast32_t Y, const uint_fast32_t N, const std::vector& U, const std::vector& V) noexcept { std::vector ans(N); for (uint_fast32_t i = 0; i != N; ++i) { if (U[i] == 0) ans[i] = (V[i] - 1) % Y + 1; else if ((U[i] - 1) / Y == (V[i] - 1) / Y) ans[i] = V[i] - U[i]; else ans[i] = ((U[i] - 1) % Y + 1) + ((V[i] - 1) % Y + 1); } return ans; } static inline void output(const uint_fast32_t N, const std::vector& ans) noexcept { for (uint_fast32_t i = 0; i != N; ++i) std::cout << ans[i] << '\n'; } int main() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); uint_fast32_t X, Y, N, i; std::cin >> X >> Y >> N; std::vector U(N), V(N); for (i = 0; i != N; ++i) std::cin >> U[i] >> V[i]; output(N, solve(X, Y, N, U, V)); return 0; }