#include #include #include #include using namespace std; typedef long long lli; double mocni(double z, lli e) { if (!e) return 1; double res = mocni(z, e >> 1); if (e & 1L) return res * res * z; return res * res; } double ostatok(lli X, lli Y, double zakl, double r, lli mesiacov) { double koef = mocni(zakl, mesiacov); return X * koef - Y * 1200 * (koef - 1) / r; } bool jeZaporne(double x) { return x < .0000000001; } int main() { while (47) { lli X, Y, N; double r; scanf("%lld%lld%lld%lf", &X, &Y, &N, &r); if (!(X+Y+N || (r > 0))) return 0; if (jeZaporne(r)) { if (N * 12 * Y >= X) printf("YES\n"); else printf("NO\n"); continue; } lli maxi = 1, mini = 0; double zakl = (1200 + r) / 1200; if (ostatok(X, Y, zakl, r, maxi) > X) { printf("NO\n"); continue; } //cerr << " " << X << " " << Y << " " << zakl << " " << r << " " << maxi << endl; while (!jeZaporne(ostatok(X, Y, zakl, r, maxi))) { mini = maxi; maxi <<= 1; } //cerr << " " << maxi << ", " << mini << endl; while ((maxi - mini) > 1) { lli stred = (maxi + mini) >> 1; if (jeZaporne(ostatok(X, Y, zakl, r, stred))) maxi = stred; else mini = stred; } //cerr << "\t" << mini << ", " << maxi << endl; if (mini < 12 * N) printf("YES\n"); else printf("NO\n"); } }