n,m,p,q=gets.split.map(&:to_i) q.times do x,f=gets.split.map(&:to_i) if f==0 then puts (x%p==0 ? m : m/p) else y=(f*x.pow(p-2,p))%p puts (m-y)/p+1 end end