//0:実行モード
//1:開発モード
//2:最終テストモード
const sys_debugMode : number = 0;

function chk(in_data1 : any, in_data2? : any) : void{
	if (sys_debugMode == 0 || sys_debugMode == 2){
		return;
	}
	else if (in_data2 === undefined){
		console.log(in_data1);
	}
	else{
		console.log(in_data1 + "[" + typeof(in_data2) + "] =", in_data2);
	}
}

function prt(in_data : any) : void{
	console.log(in_data);
}

class ParamManager {

	private a_s_inputLines : string[];
	private n_maxLine : number;
	private n_nowLineCnt : number;

	constructor(){
		this.a_s_inputLines = this.inputLines();
		this.n_maxLine = this.a_s_inputLines.length;
		this.descLines();
		this.n_nowLineCnt = 1;
	}
	inputLines(){
		const fs = require('fs');

		let text;
		if(sys_debugMode == 0){
			text = fs.readFileSync("/dev/stdin", 'utf8');
		}
		else{
			text = fs.readFileSync("input.txt", 'utf8');
		}

		const line:string[] = text.toString().replace(/\r/g, "").split('\n');

		return line;
	}
	descLines(){
		chk("ParamManager.a_s_inputLines", this.a_s_inputLines);
	}
	getNextLine(in_s_type?):any{
		if (this.n_nowLineCnt > this.n_maxLine){
			chk("ParamManager.getNextLine","No Next Line!");
			return;
		}
		const s_returnLine:string = this.a_s_inputLines[this.n_nowLineCnt - 1];

		this.n_nowLineCnt++;
		
		if (in_s_type == "n"){
			return parseInt(s_returnLine);
		}
		else if (in_s_type == "a"){
			return s_returnLine.split(" ");
		}
		else if (in_s_type =="an" || in_s_type =="na"){
			const a_s_temp = s_returnLine.split(" ");
			const a_n_temp = a_s_temp.map(function(str){return Number(str)});
			return a_n_temp;
		}
		else{
			return s_returnLine;
		}
	}
}
const paramManager = new ParamManager();
//==================================================
//B - Battle
//==================================================
class Param{
	takahashiMonsterHP:number;
	takahashiMonsterATK:number;
	aokiMonsterHP:number;
	aokiMonsterATK:number;

	constructor(){
		chk("--------------------------------------------------");
		chk("パラメータ");
		const aTemp = paramManager.getNextLine("an");
		//高橋君のモンスター
		//　体力がA
		this.takahashiMonsterHP = aTemp[1-1];
		//　攻撃力が B
		this.takahashiMonsterATK = aTemp[2-1];
		//青木君のモンスター
		//　体力がC
		this.aokiMonsterHP = aTemp[3-1];
		//　攻撃力がD
		this.aokiMonsterATK = aTemp[4-1];
		
		chk(this);
	}
}
const param = new Param();
//==================================================
class Manager{
	takahashiMonsterHP:number;
	aokiMonsterHP:number;

	constructor(){
		this.main();
	}

	main():void{
		chk("--------------------------------------------------");
		chk("main");

		this.takahashiMonsterHP = param.takahashiMonsterHP;
		this.aokiMonsterHP = param.aokiMonsterHP;

		while(true){
			//高橋君→青木君→高橋君→青木君→... の順に攻撃を行います。
			//攻撃とは、相手のモンスターの体力の値を
			//自分のモンスターの攻撃力のぶんだけ減らすことをいいます。

			//攻撃 青木君→高橋君
			this.aokiMonsterHP -= param.takahashiMonsterATK;
			//完了チェック
			if(this.checkFinish()) break;

			//攻撃 青木君→高橋君
			this.takahashiMonsterHP -= param.aokiMonsterATK;
			//完了チェック
			if(this.checkFinish()) break;
		}

		//このことをどちらかのモンスターの体力が 0以下になるまで続けたとき、
		//先に自分のモンスターの体力が0以下になった方の負け、
		//そうでない方の勝ちです。
		//高橋君が勝つなら Yes、負けるなら No を出力せよ。
		if(this.takahashiMonsterHP >= 1){
			prt("Yes");
		}
		else{
			prt("No");
		}
	}

	checkFinish():boolean{
		chk("==================================================");
		chk("this.takahashiMonsterHP",this.takahashiMonsterHP);
		chk("this.aokiMonsterHP",this.aokiMonsterHP);

		if(
			this.takahashiMonsterHP <= 0
			||
			this.aokiMonsterHP <= 0
		){
			return true;
		}
		else{
			return false;
		}
	}
}

const manager = new Manager();
//==================================================

Measured memory_bytes: 29580