//GIVE ME AC!!!!!!!!!!!!!!!!! //#pragma GCC target("avx") //#pragma GCC optimize("O3") //#pragma GCC optimize("unroll-loops") #include using namespace std; using ll=long long; using ld=long double; using vl=vector; using vi=vector; using vs=vector; using vc=vector; using vvl=vector; using P=pair; using vvc=vector; using vd=vector; using vp=vector

; using vb=vector; #define overload4(_1,_2,_3,_4,name,...) name #define overload3(_1,_2,_3,name,...) name #define rep1(a) for(__typeof(a) i=0;i=0;i--) #define rrep2(i,a) for(__typeof(a) i=(a)-1;i>=0;i--) #define rrep3(i,a,b) for(__typeof(a) i=(b)-1;i>=(a);i--) #define rrep(...) overload3(__VA_ARGS__,rrep3,rrep2,rrep1)(__VA_ARGS__) #define all1(i) begin(i),end(i) #define all2(i,a) begin(i),begin(i)+a #define all3(i,a,b) begin(i)+a,begin(i)+b #define all(...) overload3(__VA_ARGS__,all3,all2,all1)(__VA_ARGS__) #define rall(n) (n).rbegin(),(n).rend() #define pb push_back #define eb emplace_back #define MtSaka ios::sync_with_stdio(0);cin.tie(0);cout< ostream &operator<<(ostream&os,const pair&p){os< istream &operator>>(istream&is,pair&p){is>>p.first>>p.second;return is;} template ostream &operator<<(ostream&os,const vector&v){for(int i=0;i<(int)v.size();i++){os< istream &operator>>(istream&is,vector&v){for(T &in:v){is>>in;}return is;} void scan(){} template void scan(Head&head,Tail&... tail){cin>>head;scan(tail...);} template void print(const T &t){cout< void print(const Head &head, const Tail &... tail){cout< void fin(const T &... a){print(a...);exit(0);} template T sum_(vectora){return accumulate(all(a),T(0));} template inline bool chmax(T1&a,T2 b){return a inline bool chmin(T1&a,T2 b){return a>b&&(a=b,true);} vector>factorize(long long N){ vector>ans; for(long long i=2;i*i<=N;i++){ if(N%i!=0)continue; long long idx=0; while(N%i==0){ idx++; N/=i; } ans.push_back({i,idx}); } if(N!=1)ans.push_back({N,1}); return ans; } int main(){ LL(x,a,y,b); auto n=factorize(x),m=factorize(y); mapma,mb; for(auto &[i,j]:n)ma[i]=j*a; for(auto &[i,j]:m)mb[i]=j*b; for(auto [x,y]:mb){ if(ma[x]>=y)continue; else fin("No"); } fin("Yes"); }