\(X \times Y\) の長方形 \(R\) を3分割して,それぞれの面積が \(A,B,C\) 以上にできるかを考える. 切り方は, \(R\) の辺と並行になる直線だけで余さそう. 斜めに長方形を配置するのは無駄が多そうだから.
切り方の候補は, (横,縦), (横,横) と,これらの横と縦を反転した4つを試す.
使っている記号,マクロ等 "https://ecsmtlir.hatenablog.com/entry/2022/12/23/131925"
void yesno(bool f){ if(f){ cout << "Yes" << endl; } else{ cout << "No" << endl; } }
int main() {
ll x,y; cin >> x >> y;
vll a(3); cinv(a);
auto f = [&](vll &v) -> bool {
ll s,t;
s = ceil(v[0],y);
if(s >= x) return false;
t = ceil(v[1],x-s);
if(t >= y) return false;
return v[2] <= (x-s)*(y-t);
};
auto g = [&](vll &v) -> bool {
ll s,t;
s = ceil(v[0],y);
if(s >= x) return false;
t = ceil(v[1],y);
if(s+t >= x) return false;
return v[2] <= y*(x-(s+t));
};
auto judge = [&](auto func) -> bool {
sort(all(a));
do{
if(func(a)){
return true;
}
}while(next_permutation(all(a)));
return false;
};
bool ans = false;
rep(_,2){
if(judge(f)) ans = true;
if(judge(g)) ans = true;
swap(x,y);
}
yesno(ans);
return 0;
}