#include #include #define int long long #define inf 0x3f3f3f3f3f3f3f3f #define maxn 1234567 #define eps 1e-7 #define mod 1000000007 #define Mod 998244353 #define f(i,a,b) for(int i=a;i<=b;i++) #define r(i,a,b) for(int i=a;i>=b;i--) #define fx(i,a,b,x) for(int i=a;i<=b;i+=x) #define rx(i,a,b,x) for(int i=a;i>=b;i-=x) using namespace std; using namespace __gnu_cxx; using namespace __gnu_pbds; int T; int a,b,c,d,n,x[maxn],y[maxn],s,t; map,int>mp; int gcd(int a,int b){ return b==0?a:gcd(b,a%b); } int lcm(int a,int b){ return a/gcd(a,b)*b; } void Swap(int &a,int &b){ a^=b^=a^=b; return; } void solve(){ scanf("%lld%lld%lld%lld%lld",&a,&b,&c,&d,&n); f(i,1,n)scanf("%lld%lld",&x[i],&y[i]); if(a*d==b*c){ a=gcd(a,c),b=gcd(b,d); if(!a){ Swap(a,b); f(i,1,n)Swap(x[i],y[i]); } f(i,1,n)mp[make_pair(x[i]%a,y[i]*a-x[i]*b)]++; } else{ f(i,1,n){ s=(x[i]*d%abs(a*d-b*c)-y[i]*c%abs(a*d-b*c)+mod)%mod; t=(y[i]*a%abs(a*d-b*c)-x[i]*b%abs(a*d-b*c)+mod)%mod; mp[make_pair(s,t)]++; } } printf("%lld\n",mp.size()); } signed main(){ T=1; // scanf("%lld",&T); while(T--)solve(); return 0; }