#include using namespace std; inline constexpr long long ModInv(long long a, const long long p) noexcept { long long b = p, u = 1, v = 0; while (b) { long long t = a / b; a -= t * b; std::swap(a, b); u -= t * v; std::swap(u, v); } u %= p; if (u < 0) u += p; return u; } inline constexpr long long mod(const long long a, const long long m) noexcept { return (a % m + m) % m; } int main() { long long n, m, p, q; cin >> n >> m >> p >> q; while (q--) { long long x, f; cin >> x >> f; auto y = mod((mod(f, p) * ModInv(x, p)) - 1, p); cout << m / p + (y <= mod(m - 1, p)) << endl; } }