#include //ios::sync_with_stdio(false); //cin.tie(0); using namespace std; typedef long long ll; typedef pair pii; typedef pair ppii; typedef pair pipi; typedef pair pll; typedef pair plpl; typedef tuple tl; ll mod=1000000007; ll mod2=998244353; ll inf=1000000000000000000; double pi=2*acos(0); #define rep(i,m,n) for(int i=m;i=m;i--) ll lmax(ll a,ll b){ if(a pri; bool prijud(ll n){ for(int i=2;i*i<=n;i++){ if(n%i==0)return false; } return true; } ll gcd(ll a,ll b){ if(a>a>>b>>c>>d; int n;cin>>n; ll x[n],y[n]; rep(i,0,n)cin>>x[i]>>y[i]; ll s[n],t[n]; rep(i,0,n){ s[i]=x[i]*d-y[i]*c; t[i]=y[i]*a-x[i]*b; } if(a*d==b*c){ ll u; ll uu; if(a==0||c==0){ uu=gcd(b,d); u=(b/uu)*a; if(u==0)u=(d/uu)*c; if(u==0)u=inf; } else if(b==0||d==0){ u=gcd(a,c); uu=(a/u)*b; if(uu==0)uu=(c/u)*d; if(uu==0)uu=inf; } else{ u=gcd(a,c); uu=(a/u)*b; if(uu==0)uu=(c/u)*d; if(uu==0)uu=inf; } set st; rep(i,0,n){ st.insert(make_pair(x[i]%u,y[i]%uu)); } cout< st; rep(i,0,n){ s[i]%=abs(a*d-b*c); t[i]%=abs(a*d-b*c); if(s[i]<0)s[i]+=abs(a*d-b*c); if(t[i]<0)t[i]+=abs(a*d-b*c); st.insert(make_pair(s[i],t[i])); } cout<