#include #define rep(i,n) for(int i = 0; i < (n); ++i) #define srep(i,s,t) for (int i = s; i < t; ++i) #define drep(i,n) for(int i = (n)-1; i >= 0; --i) using namespace std; typedef long long int ll; typedef pair P; #define yn {puts("Yes");}else{puts("No");} #define MAX_N 200005 int GCD(int x, int y){ if(x>y){ int swap = x; x = y; y = swap; } while(true){ if(y%x==0){ return x; }else{ int amari = y%x; y = x; x = amari; } } } int main() { int p,q; cin >> p >> q; int g; int flag = 0; if(p == 0 || q == 0){ g = max(p, q); }else{ g = GCD(p, q); p /= g; q /= g; if((p+q) % 2 == 0)flag = 1; } int n; cin >> n; int ans = 0; rep(i,n){ int x, y; cin >> x >> y; x = abs(x); y = abs(y); if(g == 0){ if(x == 0 && y == 0)ans++; continue; } if(x % g == 0 && y % g == 0){ if(flag == 0){ ans++; }else{ x /= g; y /= g; if((x + y) % 2 == 0)ans++; } } } cout << ans << endl; return 0; }