unittest
{
	assert( [ "7 2 5", "3" ].solve == "Yes" );
	assert( [ "7 4 2", "3" ].solve == "No" );
}



import std.conv;
import std.format;
import std.range;
import std.stdio;

void main()
{
	stdin.byLineCopy.solve.writeln;
}

auto solve( Range )( Range input )
if( isInputRange!Range && is( ElementType!Range == string ) )
{
	auto a = 0L;
	auto b = 0L;
	auto c = 0L;
	input.front.formattedRead!"%s %s %s"( a, b, c );
	input.popFront;
	auto k = input.front.to!( long );
	
	auto i = 0L;
	while( b <= a )
	{
		b *= 2;
		i++;
		if( k < i ) return "No";
	}
	while( c <= b )
	{
		c *= 2;
		i++;
		if( k < i ) return "No";
	}
	return "Yes";
}
