#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() { int n, m, p, q; cin >> n >> m >> p >> q; while (q--) { long long x, f; cin >> x >> f; auto y_inv = (f * ModInv(x, p)) % p; cout << m / p + (mod(y_inv - 1, p) <= (m - 1) % p) << endl; } }