#include using namespace std; typedef long long ll; //int:2*10**9 typedef long double ld; typedef pair P; #define REP(i,n) for(ll i = 0; i<(ll)(n); i++) #define FOR(i,a,b) for(ll i=(a);i<=(b);i++) #define FORD(i,a,b) for(ll i=(a);i>=(b);i--) #define vec2(name,i,j,k) vector> name(i,vector(j,k)) #define vec3(name,i,j,k,l) vector>> name(i,vector>(j,vector(k,l))) #define pb push_back #define MOD 1000000007 //998244353 #define PI 3.141592653 #define INF 8000000000000000000 //14 //cin.tie(0);cout.tie(0);ios::sync_with_stdio(false); ll mod(ll x, ll y) { if (x<0) x+=(abs(x)/y)*y+y; return x%y; } vector crt1(ll x, ll y) { // x*s-y*t=gcd(x,y)となるs,t,gcdを返す // cout << "test1 " << x << " " << y << endl; if (x%y==0) return {1,x/y-1,y}; auto v = crt1(y,x%y); ll s = mod(-v[1],y/v[2]); ll t = (x*s-v[2])/y; // cout << "test2 " << x << " " << y << " " << s << " " << t << endl; return {s,t,v[2]}; } P crt2(ll a, ll b, ll c, ll d) { // a mod bかつ、c mod dとなるval mod(lcm(b,d)) if (abs(c-a)%__gcd(b,d)!=0) return {INF,-1}; if (b rem, vector div) { // CRT(crt2のn個拡張版) ll x = 0; ll y = 1; P v; REP(i,rem.size()) { if (y x(3); vector y(3); REP(i,3) cin >> x[i] >> y[i]; auto v = crt(x,y); if (v.first!=0) cout << v.first << endl; else cout << v.second << endl; }