#ifndef INCLUDED_MAIN #define INCLUDED_MAIN #include __FILE__ int main(void) { ll n,p,q,r,a,b,c; cin>>n>>p>>q>>r>>a>>b>>c; ll r1, l1; if (!crt(a,p,b,q,r1,l1)) { cout<<0<n) { cout<<0< using namespace std; #define rep(i,n) for(ll i=0;i #define vc vector #define pb push_back ll extgcd(ll a, ll b, ll &x, ll &y) { // ax+by=gcd(a,b) -> x,yを格納 if (b==0) { x=1; y=0; return a; } ll d=extgcd(b,a%b,y,x); y-=a/b*x; return d; } bool crt(ll a1,ll m1,ll a2,ll m2,ll &r,ll &lcm) { ll x,y; ll g=extgcd(m1,m2,x,y); if ((a2-a1)%g!=0) return false; // No sols. ll mod=m1/g*m2; ll tmp=((a2-a1)/g*x)%(m2/g); r=(a1+m1*tmp)%mod; if (r<0) r+=mod; lcm=mod; return true; } ll modpow(ll fl, ll po, ll mode) { // mode: 0=modなし, 1=modあり ll ret=1; if (mode) { while (po>0) { if (po&1) ret=(ret*fl)%mod; fl=(fl*fl)%mod; po>>=1; } } else { while (po>0) { if(po&1) ret*=fl; fl*=fl; po>>=1; } } return ret; } class factset { public: vl _fact; vl _inv; ll __n; factset(ll n):_fact(n+1),_inv(n+1),__n(n) { _fact[0]=1; srep(i,1,__n) { _fact[i]=_fact[i-1]*i; _fact[i]%=mod; } _inv[__n]=modpow(_fact[__n],mod-2,1); for(int i=__n-1;i>=0;i--) { _inv[i]=_inv[i+1]*(i+1); _inv[i]%=mod; } } ll fact(ll x) { assert(0<=x && x<=__n); return _fact[x]; } ll inv(ll x) { assert(0<=x && x<=__n); return _inv[x]; } ll comb(ll nn,ll k) { ll ans=1; ans*=_fact[nn]; ans%=mod; ans*=_inv[nn-k]; ans%=mod; ans*=_inv[k]; return ans%mod; } }; ll op(ll a,ll b) {return max(a,b);} ll e() {return -Winf; } template bool chmin(T& a, T b){if(a > b){a = b; return true;} return false;} template bool chmax(T& a, T b){if(a < b){a = b; return true;} return false;} void no() { cout<<"No"<