p, q = gets.split.map(&:to_i).map(&:abs) type = nil if [p,q]==[0,0] type = -1 else gcd = p.gcd(q) p /= gcd q /= gcd type = p*q==0 ? 0 : [p,q]==[1,1] ? 1 : p.odd?&&q.odd? ? 2 : 3 end count = 0 gets.to_i.times{ x, y = gets.split.map(&:to_i).map(&:abs) if type==-1 count += 1 if [x,y]==[0,0] else next if x % gcd != 0 || y % gcd != 0 x /= gcd; y /= gcd case type when 0 count += 1 when 1 count += 1 if (x+y).even? when 2 count += 1 if (x+y).even? when 3 count += 1 end end } puts count