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