#include typedef long long ll; using namespace std; #define rep(i,n) for(int i=0;i<(n);i++) const ll INF=1000000000000000000; ll mod(ll a,ll m){ return (a%m+m)%m; } ll extGcd(ll a,ll b,ll &p,ll &q){ if(b==0){ p=1; q=0; return a; } ll d=extGcd(b,a%b,q,p); q-=a/b*p; return d; } pair ChineseRem(const vector &b,const vector &m){ ll r=0,M=1; for(int i=0;i<(int)b.size();++i){ ll p,q; ll d=extGcd(M,m[i],p,q); if((b[i]-r)%d!=0)return make_pair(0,-1); ll tmp=(b[i]-r)/d*p%(m[i]/d); r+=M*tmp; M*=m[i]/d; } return make_pair(mod(r,M),M); } int main(){ vector x(3); vector y(3); for(int i=0;i<3;i++){ cin>>x[i]; cin>>y[i]; } pair p=ChineseRem(x,y); if(p.second==-1){cout<<-1<