Problem:
 Score: 200 points    Problem Statement  M-kun has the following three cards:   A red card with the integer A .  A green card with the integer B .  A blue card with the integer C .   He is a genius magician who can do the following operation at most K times:   Choose one of the three cards and multiply the written integer by 2 .   His magic is successful if both of the following conditions are satisfied after the operations:   The integer on the green card is strictly greater than the integer on the red card.  The integer on the blue card is strictly greater than the integer on the green card.   Determine whether the magic can be successful.      Constraints   1 \leq A, B, C \leq 7  1 \leq K \leq 7  All values in input are integers.         Input  Input is given from Standard Input in the following format:  A  B  C  K       Output  If the magic can be successful, print Yes ; otherwise, print No .        Sample Input 1 7 2 5
3      Sample Output 1 Yes  The magic will be successful if, for example, he does the following operations:   First, choose the blue card. The integers on the red, green, and blue cards are now 7 , 2 , and 10 , respectively.  Second, choose the green card. The integers on the red, green, and blue cards are now 7 , 4 , and 10 , respectively.  Third, choose the green card. The integers on the red, green, and blue cards are now 7 , 8 , and 10 , respectively.        Sample Input 2 7 4 2
3      Sample Output 2 No  He has no way to succeed in the magic with at most three operations.

Solution (Python):
A,B,C=map(int,input().split())
K=int(input())
for i in range(K):
    if B<=A:
        B*=2
    elif C<=B:
        C*=2
if A<B and B<C:
    print("Yes")
else:
    print("No")

Solution (Python):
import sys
readline = sys.stdin.readline

R, G, B = map(int, readline().split())
K = int(readline())
ans = 'No'
for i in range(3**K):
    r, g, b = R, G, B
    for _ in range(K):
        if i%3 == 0:
            r *= 2
        elif i%3 == 1:
            g *= 2
        else:
            b *= 2
        i //= 3
    if b > g > r:
        ans = 'Yes'
        break
print(ans)

Solution (Python):
a,b,c=map(int,input().split())
k=int(input())
for i in range(k):
    if a>=b:
        b*=2
    elif b>=c:
        c*=2
if a<b<c:
    print("Yes")
else:
    print("No")

Solution (Python):
def main():
    a, b, c = map(int,input().split())
    k = int(input())

    tmp = 0
    while b <= a:
        b *= 2
        tmp += 1
    while c <= b:
        c *= 2
        tmp += 1
    
    if tmp <= k:
        print('Yes')
    else:
        print('No')
    
if __name__ == "__main__":
    main()

Solution (Python):
a, b, c = map(int, input().split())
k = int(input())

while b <= a:
    b = b * 2
    k -= 1

while c <= b:
    c = c * 2
    k -= 1

print('Yes' if k >= 0 else 'No')

Solution (Python):
a,b,c=map(int, input().split())
k=int(input())

for i in range(k):
    if a>=b:
        b*=2
    elif b>=c:
        c*=2

print("Yes" if c>b>a else "No")

Solution (Python):
a, b, c = map(int, input().split())
k = int(input())

ans = 0
for i in range(1000):
    if a >= b:
        ans += 1
        b *= 2
    else:
        break
for i in range(1000):
    if b >= c:
        ans += 1
        c *= 2
    else:
        break

if ans <= k:
    print('Yes')
else:
    print('No')

Solution (Python):
a,b,c = map(int, input().split())
k = int(input())
while (a>=b):
    b *= 2
    k -= 1
while b>=c:
    c *= 2
    k -= 1
if (k>=0):
    print("Yes")
else:
    print("No")

Solution (Python):
r, g, b = map(int, input().split())
k = int(input())

def check(r, g, b):
    return g > r and b > g

cnt = 0
while g <= r:
    g *= 2
    cnt += 1
while b <= g:
    b *= 2
    cnt += 1

if cnt <= k:
    print("Yes")
else:
    print("No")

Solution (Python):
import math
import sys
from itertools import permutations
input = sys.stdin.readline

A,B,C=map(int,input().split())
K=int(input())
ans=0
while(B<=A):
    B*=2
    ans+=1
while(C<=B):
    C*=2
    ans+=1

if ans<=K:
    print("Yes")
else:
    print("No")

Solution (Python):
A, B, C = map(int, input().split())
K = int(input())

while B <= A :
  B *= 2
  K -= 1

while C <= B :
  C *= 2
  K -= 1
  
if K >= 0 :
  print('Yes')
else :
  print('No')

Solution (Python):

import bisect
import heapq
import math
import random
from collections import Counter, defaultdict, deque
from decimal import ROUND_CEILING, ROUND_HALF_UP, Decimal
from functools import lru_cache, reduce
from itertools import combinations, combinations_with_replacement, product, permutations
from operator import add, mul, sub


import sys


buff_readline = sys.stdin.readline
readline = sys.stdin.readline

INF = 2**62-1


def read_int():
    return int(buff_readline())


def read_int_n():
    return list(map(int, buff_readline().split()))


def read_float():
    return float(buff_readline())


def read_float_n():
    return list(map(float, buff_readline().split()))


def read_str():
    return readline().strip()


def read_str_n():
    return readline().strip().split()

def error_print(*args):
    print(*args, file=sys.stderr)


def mt(f):
    import time

    def wrap(*args, **kwargs):
        s = time.time()
        ret = f(*args, **kwargs)
        e = time.time()

        error_print(e - s, 'sec')
        return ret

    return wrap


@mt
def slv(A, B, C, K):
    for _ in range(K):
        if A >= B:
            B *= 2
        elif B >= C:
            C *= 2
    return 'Yes' if A < B < C else 'No'


def main():
    A, B, C = read_int_n()
    K = read_int()
    print(slv(A, B, C, K))


if __name__ == '__main__':
    main()

Solution (Python):
a, b, c = map(int, input().split())
k = int(input())
cnt = 0
while a >= b:
    b *= 2
    cnt += 1
while b >= c:
    c *= 2
    cnt += 1
if cnt <= k:
    print("Yes")
else:
    print("No")

Solution (Python):
a,b,c = map(int,input().split())
k=int(input())

count=0
while True:
    if a>=b:
        b*=2
        count+=1
    else:
        break
while True:
    if b>=c:
        c*=2
        count+=1
    else:
        break
if count<=k:
    print("Yes")
else:
    print("No")

Solution (Python):
A, B, C = map(int, input().split())
K = int(input())
cnt = 0
while True:
    if A < B:
        break
    B *= 2
    cnt += 1
while True:
    if B < C:
        break
    C *= 2
    cnt += 1
if cnt <= K:
    print('Yes')
else:
    print('No')

Solution (Python):
a,b,c=map(int,input().split())
k=int(input())
cnt=0
while a>=b:
    b*=2
    cnt+=1
while b>=c:
    c*=2
    cnt+=1
print("Yes") if cnt <=k  else print("No")

Solution (Python):
def main():
    A, B, C = map(int, input().split())
    K = int(input())

    for i in range(K):
        if A >= B:
            B *= 2
        elif B >= C:
            C *= 2

    if A < B and B < C:
        print('Yes')
    else:
        print('No')


if __name__ == "__main__":
    main()

Solution (Python):
def resolve():
    a, b, c = map(int, input().split())
    k = int(input())
    n = 0
    while a >= b:
        b *= 2
        n += 1
    while b >= c:
        c *= 2
        n += 1
    print("Yes" if n <= k else "No")


if __name__ == '__main__':
    resolve()

Solution (Python):
a, b, c = map(int, input().split())
k = int(input())

for i in range(k):
    if (not (b > a)):
        b *= 2
    elif (not (c > b)):
        c *= 2

if (c > b and b > a):
    print("Yes")
else:
    print("No")

Solution (Python):
import bisect, collections, copy, heapq, itertools, math, string, sys
input = lambda: sys.stdin.readline().rstrip() 
sys.setrecursionlimit(10**7)
INF = float('inf')
def I(): return int(input())
def F(): return float(input())
def SS(): return input()
def LI(): return [int(x) for x in input().split()]
def LI_(): return [int(x)-1 for x in input().split()]
def LF(): return [float(x) for x in input().split()]
def LSS(): return input().split()

def resolve():
    A, B, C = LI()
    K = I()

    while A >= B:
        B *= 2
        K -= 1
    while B >= C:
        C *= 2
        K -= 1

    if K >= 0:
        print('Yes')
    else:
        print('No')

if __name__ == '__main__':
    resolve()

Solution (Python):
a,b,c = map(int, input().split())
k = int(input())
while k > 0:
    k -= 1
    if a >= b:
        b *= 2
        continue
    c *= 2
if a < b < c:
    print("Yes")
else:
    print("No")

Solution (Python):
A,B,C=map(int,input().split())
K=int(input())

ans=0
while B<=A:
    ans+=1
    B*=2
while C<=B:
    ans+=1
    C*=2
if ans<=K:
    print("Yes")
else:
    print("No")

Solution (Python):






import sys
input = sys.stdin.readline

import math

import bisect
import heapq
from collections import defaultdict
from collections import deque
from collections import Counter
from functools import lru_cache





MOD = 10**9+7
INF = float('inf')
AZ = "abcdefghijklmnopqrstuvwxyz"






def I(): return int(input().strip())
def S(): return input().strip()
def IL(): return list(map(int,input().split()))
def SL(): return list(map(str,input().split()))
def ILs(n): return list(int(input()) for _ in range(n))
def SLs(n): return list(input().strip() for _ in range(n))
def ILL(n): return [list(map(int, input().split())) for _ in range(n)]
def SLL(n): return [list(map(str, input().split())) for _ in range(n)]


def P(arg): print(arg); return
def Y(): print("Yes"); return
def N(): print("No"); return
def E(): exit()
def PE(arg): print(arg); exit()
def YE(): print("Yes"); exit()
def NE(): print("No"); exit()


def DD(arg): return defaultdict(arg)


def inv(n): return pow(n, MOD-2, MOD)


kaijo_memo = []
def kaijo(n):
  if(len(kaijo_memo) > n): return kaijo_memo[n]
  if(len(kaijo_memo) == 0): kaijo_memo.append(1)
  while(len(kaijo_memo) <= n): kaijo_memo.append(kaijo_memo[-1] * len(kaijo_memo) % MOD)
  return kaijo_memo[n]

gyaku_kaijo_memo = []
def gyaku_kaijo(n):
  if(len(gyaku_kaijo_memo) > n): return gyaku_kaijo_memo[n]
  if(len(gyaku_kaijo_memo) == 0): gyaku_kaijo_memo.append(1)
  while(len(gyaku_kaijo_memo) <= n): gyaku_kaijo_memo.append(gyaku_kaijo_memo[-1] * pow(len(gyaku_kaijo_memo),MOD-2,MOD) % MOD)
  return gyaku_kaijo_memo[n]

def nCr(n,r):
  if n == r: return 1
  if n < r or r < 0: return 0
  ret = 1
  ret = ret * kaijo(n) % MOD
  ret = ret * gyaku_kaijo(r) % MOD
  ret = ret * gyaku_kaijo(n-r) % MOD
  return ret


def factorization(n):
  arr = []
  temp = n
  for i in range(2, int(-(-n**0.5//1))+1):
    if temp%i==0:
      cnt=0
      while temp%i==0: 
        cnt+=1 
        temp //= i
      arr.append([i, cnt])
  if temp!=1: arr.append([temp, 1])
  if arr==[]: arr.append([n, 1])
  return arr


def make_divisors(n):
  divisors = []
  for i in range(1, int(n**0.5)+1):
    if n % i == 0:
      divisors.append(i)
      if i != n // i: 
        divisors.append(n//i)
  return divisors


def make_primes(N):
  max = int(math.sqrt(N))
  seachList = [i for i in range(2,N+1)]
  primeNum = []
  while seachList[0] <= max:
    primeNum.append(seachList[0])
    tmp = seachList[0]
    seachList = [i for i in seachList if i % tmp != 0]
  primeNum.extend(seachList)
  return primeNum


def gcd(a, b):
    while b: a, b = b, a % b
    return a


def lcm(a, b):
    return a * b // gcd (a, b)


def count_bit(n):
  count = 0
  while n:
    n &= n-1
    count += 1
  return count


def base_10_to_n(X, n):
  if X//n: return base_10_to_n(X//n, n)+[X%n]
  return [X%n]

def base_n_to_10(X, n):
  return sum(int(str(X)[-i-1])*n**i for i in range(len(str(X))))

def base_10_to_n_without_0(X, n):
  X -= 1
  if X//n: return base_10_to_n_without_0(X//n, n)+[X%n]
  return [X%n]


def int_log(n, a):
  count = 0
  while n>=a:
    n //= a
    count += 1
  return count





A,B,C = IL()
K = I()

c = 0
while B<=A:
  B*=2
  c+=1
while C<=B:
  C*=2
  c+=1
if c>K:
  print("No")
else:
  print("Yes")

Solution (Python):
a, b, c = map(int, input().split())
k = int(input())

cnt = 0
while a >= b:
    b *= 2
    cnt += 1

while b >= c:
    c *= 2
    cnt += 1

if cnt <= k:
    print("Yes")
else:
    print("No")

Solution (Python):
A, B, C = [int(x) for x in input().split()]
K = int(input())

while not B > A:
  K -= 1
  B *= 2

while not C > B:
  K -= 1
  C *= 2

if K >= 0:
  print('Yes')
else:
  print('No')

Solution (Python):
R, G, B = map(int, input().split())
K = int(input())

while K and R >= G:
    G *= 2
    K -= 1

while K:
    B *= 2
    K -= 1


if R < G < B:
    print('Yes')
else:
    print('No')

Solution (Python):
A,B,C=map(int,input().split())
K=int(input())

while K:
  if A>=B:
    B*=2
    K-=1
  elif B>=C:
    C*=2
    K-=1
  else:
    break
  

if A<B<C:
  print("Yes")
else:
  print("No")

Solution (Python):
a,b,c=map(int,input().split())
k=int(input())

ans=0
while a>=b:
  b*=2
  ans+=1
while b>=c:
  c*=2
  ans+=1
if k>=ans:
  print("Yes")
else:
  print("No")

Solution (Python):
mod = 1000000007
eps = 10**-9


def main():
    import sys
    input = sys.stdin.readline

    A, B, C = map(int, input().split())
    K = int(input())

    while K >= 0:
        if A < B < C:
            print("Yes")
            exit()
        else:
            if A >= B:
                B *= 2
                K -= 1
            else:
                C *= 2
                K -= 1
    print("No")


if __name__ == '__main__':
    main()

Solution (Python):
A,B,C = map(int,input().split())
K=int(input())

cnt = 0

while B<=A:
    cnt +=1
    B *=2
    
while C<=B:
    cnt +=1
    C *=2
    

if cnt <=K:
    print("Yes")
else:
    print("No")

Solution (Python):
A,B,C = map(int,input().split())
K = int(input())
cnt = 0
for i in range(K):
    if B > A:
        break
    B *= 2
    cnt += 1
for j in range(K-cnt):
    C *= 2
if A < B and C > B:
    print("Yes")
else:
    print("No")

Solution (Python):
A, B, C = map(int, input().split())
K = int(input())
n = 0
while B <= A:
    B *= 2
    n += 1
while C <= B:
    C *= 2
    n += 1
print('Yes' if n <= K else 'No')

Solution (Python):
a,b,c = map(int,input().split())
K = int(input())
for i in range(K):
    if a>=b:
        b *= 2
    else:
        c *= 2
if a<b and b<c:
    print("Yes")
else:
    print("No")

Solution (Python):
import sys
sys.setrecursionlimit(10**7) 
import math
from copy import copy, deepcopy
from copy import deepcopy as dcp
from operator import itemgetter
from bisect import bisect_left, bisect, bisect_right

from collections import deque, defaultdict


from collections import Counter

from itertools import accumulate,combinations,permutations,product

from heapq import heapify,heappop,heappush

from functools import reduce,lru_cache

from decimal import Decimal

def input(): 
    x=sys.stdin.readline()
    return x[:-1] if x[-1]=="\n" else x
def printe(*x):print("
def printl(li): _=print(*li, sep="\n") if li else None
def argsort(s, return_sorted=False): 
    inds=sorted(range(len(s)), key=lambda k: s[k])
    if return_sorted: return inds, [s[i] for i in inds]
    return inds
def alp2num(c,cap=False): return ord(c)-97 if not cap else ord(c)-65
def num2alp(i,cap=False): return chr(i+97) if not cap else chr(i+65)
def matmat(A,B):
    K,N,M=len(B),len(A),len(B[0])
    return [[sum([(A[i][k]*B[k][j]) for k in range(K)]) for j in range(M)] for i in range(N)]
def matvec(M,v):
    N,size=len(v),len(M)
    return [sum([M[i][j]*v[j] for j in range(N)]) for i in range(size)]
def T(M):
    n,m=len(M),len(M[0])
    return [[M[j][i] for j in range(n)] for i in range(m)]
def binr(x): return bin(x)[2:]
def bitcount(x): 
    x= x - ((x >> 1) & 0x5555555555555555)
    x= (x & 0x3333333333333333) + ((x >> 2) & 0x3333333333333333)
    x= (x + (x >> 4)) & 0x0f0f0f0f0f0f0f0f 
    x+= (x >> 8); x+= (x >> 16); x+= (x >> 32) 
    return x & 0x7f

def main():
    mod = 1000000007
    

    
    A,B,C = map(int, input().split())
    K = int(input())
    
    
    

    cnt=0
    while B<=A:
        cnt+=1
        B*=2
    while C<=B:
        cnt+=1
        C*=2
    if cnt<=K:
        print('Yes')
    else:print('No')



if __name__ == "__main__":
    main()

Solution (Python):
a, b, c = [int(_) for _ in input().split()]
k = int(input())

while a >= b:
    b *= 2
    k -= 1
while b >= c:
    c *= 2
    k -= 1

if k >= 0:
    print("Yes")
else:
    print("No")

Solution (Python):
import bisect
import cmath
import heapq
import itertools
import math
import operator
import os
import random
import re
import string
import sys
from collections import Counter, defaultdict, deque
from copy import deepcopy
from decimal import Decimal
from functools import lru_cache, reduce
from math import gcd
from operator import add, itemgetter, mul, xor

import numpy as np

if os.getenv("LOCAL"):
    sys.stdin = open("_in.txt", "r")

sys.setrecursionlimit(10 ** 9)
INF = float("inf")
IINF = 10 ** 18
MOD = 10 ** 9 + 7


a,b,c = list(map(int, sys.stdin.buffer.readline().split()))
k = int(sys.stdin.buffer.readline())

cnt = 0
while a >= b:
    b *= 2
    cnt += 1
while b >= c:
    c *= 2
    cnt += 1
if cnt <=k:
    print('Yes')
else:
    print('No')

Solution (Python):
a,b,c=[int(i) for i in raw_input().split()]
k=input()
ct=0
while b<=a:
    b*=2
    ct+=1
while c<=b:
    c*=2
    ct+=1
if ct>k:
    print "No"
else:
    print "Yes"

Solution (Python):
A,B,C = [int(i) for i in input().split()]
K = int(input())
for _ in range(K):
    if B <= A:
        B *= 2
    elif C <= B:
        C *= 2
if A < B < C:
    print("Yes")
else:
    print("No")

Solution (Python):
A, B, C = map(int, input().split())
K = int(input())
while K and A >= B:
    B *= 2
    K -= 1
while K and B >= C:
    C *= 2
    K -= 1
print('Yes' if A < B < C else 'No')

Solution (Python):
a,b,c=map(int,input().split())
k=int(input())
cnt =0
while a >= b:
  b*=2
  cnt+=1
  continue
while b >= c:
  c *= 2
  cnt+=1
  continue
if cnt <= k:
  print('Yes')
else:
  print('No')

Solution (Python):
def check(r, g, b):
    return g > r and b > g


def main():
    r, g, b = map(int, input().split())
    k = int(input())
    for i in range(k + 1):
        if check(r, g * pow(2, i), b * pow(2, k - i)):
            print("Yes")
            break
    else:
        print("No")

if __name__ == '__main__':
    main()

Solution (Python):
a, b, c = map(int, input().split())
k = int(input())

p = 0

while b <= a:
  b *= 2
  p += 1
  
while c <= b:
  c *= 2
  p += 1
  
if p <= k:
  print("Yes")
else:
  print("No")

Solution (Python):
a, b, c = map(int, input().split())
k = int(input())
while k > 0:
    if a >= b:
        b *= 2
    else:
        c *= 2
    k -= 1
if (a < b) & (b < c):
    print('Yes')
else:
    print('No')

Solution (Python):
A, B, C = map(int, input().split() )

t = 0
while A >= B:
  t += 1
  B *= 2
while B >= C:
  t += 1
  C *= 2

K = int(input())
print('Yes') if t <= K else print('No')

Solution (Python):
a,b,c = map(int, input().split())
k = int(input())
s = 0
while(a>=b):
  b *= 2
  s += 1
while(b>=c):
  c *= 2
  s += 1
if(s<=k):
  print("Yes")
else:
  print("No")

Solution (Python):
def main():
    A, B, C = map(int, input().split())
    K = int(input())
    while (A >= B):
        K -= 1
        B *= 2
    while (B >= C):
        K -= 1
        C *= 2
        
    if K >= 0:
        print("Yes")
    else:
        print("No")
if __name__ == "__main__":
    main()

Solution (Python):
a,b,c=map(int,input().split())
k=int(input())
ans=0
while(b<=a):
    b<<=1
    ans+=1
while(c<=b):
    c<<=1
    ans+=1
if ans<=k:
    print("Yes")
else:
    print("No")

Solution (Python):
import sys

sys.setrecursionlimit(10**7)
def I(): return int(sys.stdin.readline().rstrip())
def MI(): return map(int,sys.stdin.readline().rstrip().split())
def LI(): return list(map(int,sys.stdin.readline().rstrip().split()))  
def LI2(): return list(map(int,sys.stdin.readline().rstrip()))  
def S(): return sys.stdin.readline().rstrip()
def LS(): return list(sys.stdin.readline().rstrip().split())  
def LS2(): return list(sys.stdin.readline().rstrip())  

A,B,C = MI()
K = I()

a = 0
while B <= A:
    B *= 2
    a += 1
while C <= B:
    C *= 2
    a += 1

if a <= K:
    print('Yes')
else:
    print('No')

Solution (Python):
import sys
sys.setrecursionlimit(10 ** 9)

def int1(x): return int(x) - 1
def II(): return int(input())
def MI(): return map(int, input().split())
def MI1(): return map(int1, input().split())
def LI(): return list(map(int, input().split()))
def LI1(): return list(map(int1, input().split()))
def LLI(rows_number): return [LI() for _ in range(rows_number)]
def MS(): return input().split()
def LS(): return list(input())
def LLS(rows_number): return [LS() for _ in range(rows_number)]
def printlist(lst, k=' '): print(k.join(list(map(str, lst))))
INF = float('inf')







def solve():
    a, b, c = MI()
    K = II()

    for i in range(K):
        if a >= b:
            b *= 2
        elif b >= c:
            c *= 2

    if a < b < c:
        print('Yes')
    else:
        print('No')





if __name__ == '__main__':
    solve()

Solution (Python):
a,b,c = map(int,input().split())
K = int(input())
C = 0
while b <= a:
    b *= 2
    C += 1
while c <= b:
    c *= 2
    C += 1
if C <= K:
    print("Yes")
else:
    print("No")

Solution (Python):
A, B, C = map(int,input().split())
K = int(input())
cnt = 0
while A >= B:
    B *= 2
    cnt += 1
while B >= C:
    C *= 2
    cnt += 1
if cnt <= K: print("Yes")
else: print("No")

Solution (Python):
A, B, C = map(int,input().split())
K = int(input())

while K>0 and A>=B:
    K-=1
    B *= 2
while K>0 and B>=C:
    K-=1
    C *= 2
if A<B<C:
    print("Yes")
else:
    print("No")

Solution (Python):

R, G, B = map(int, input().split())
K = int(input())

while R >= G:
    K-=1
    G*=2
while G >= B:
    K-=1
    B*=2

if K < 0:
    print("No")
else:
    print("Yes")

Solution (Python):
import sys

read = sys.stdin.read
readline = sys.stdin.readline
readlines = sys.stdin.readlines
sys.setrecursionlimit(10 ** 9)
INF = 1 << 60
MOD = 1000000007


def main():
    A, B, C, K = map(int, read().split())

    ans = 0
    while A >= B:
        B *= 2
        ans += 1
    while B >= C:
        C *= 2
        ans += 1

    if ans <= K:
        print('Yes')
    else:
        print('No')

    return


if __name__ == '__main__':
    main()

Solution (Python):
from sys import stdin
input = stdin.readline

A, B, C = map(int, input().split())
K = int(input())

cnt = 0

while B <= A:
    B *= 2
    cnt += 1

while C <= B:
    C *= 2
    cnt += 1

if cnt <= K:
    print("Yes")
else:
    print("No")

Solution (Python):
a,b,c = map(int,input().split())
k = int(input())

cnt = 0
while(b<=a):
    cnt += 1
    b *= 2
while(c<=b):
    cnt += 1
    c *= 2

if(cnt <= k):
    print('Yes')
else:
    print('No')

Solution (Python):
a, b, c = map(int, input().split())
k = int(input())
cnt = 0
while b <= a:
    cnt += 1
    b *= 2

while c <= b:
    cnt += 1
    c *= 2

print("Yes" if cnt <= k else "No")

Solution (Python):
a, b,c = map(int, input().split())
K = int(input())

count = 0
while a >= b:
    b *= 2
    count += 1
while b >= c:
    c *= 2
    count += 1
print("Yes" if count <= K else "No")

Solution (Python):
A, B, C = map(int, input().split(' '))
K = int(input())

while K > 0:
    if B > A:
        break
    B *= 2
    K -= 1

while K > 0:
    if C > B:
        break
    C *= 2
    K -= 1

if A < B < C:
    print('Yes')
else:
    print('No')

Solution (Python):
A,B,C=map(int,input().split())
K=int(input())
while(A>=B):
    B*=2
    K-=1
while(B>=C):
    C*=2
    K-=1
print("Yes" if K>=0 else "No")

Solution (Python):
a,b,c = map(int,input().split())
k = int(input())
p = 0
while a >= b:
  b *= 2
  p += 1
while b >= c:
  c *= 2
  p += 1
if p <= k:
  print("Yes")
else:
  print("No")

Solution (Python):
a, b, c = map(int, input().split())
k = int(input())
ans = 0
while a>=b:
    b*=2
    ans+=1
while b>=c:
    c*=2
    ans+=1
if ans<=k:
    print('Yes')
else:
    print('No')

Solution (Python):
a,b,c=map(int,input().split())
k=int(input())
for i in range(k):
  if b<=a:
    b*=2
  elif c<=b:
    c*=2
if a<b and b<c:
  print("Yes")
else:
  print("No")

Solution (Python):
A,B,C = map(int, input().split())
K = int(input())

cnt = 0
for i in range(100):
  if A >= B:
    B *= 2
    cnt += 1
    continue
  if B >= C:
    C *= 2
    cnt += 1
    continue

if cnt <= K:
  print("Yes")
else:
  print("No")

Solution (Python):
a, b, c = map(int, input().split())
k = int(input())
left = k

while a >= b:
    left -= 1
    b *= 2

while b >= c:
    left -= 1
    c *= 2

if left >= 0:
    print("Yes")
else:
    print("No")

Solution (Python):
a,b,c = map(int, input().split())
k = int(input())

cnt=0

while a>=b:
    b*=2
    cnt+=1

while b>=c:
    c*=2
    cnt+=1

if cnt<=k:
    print("Yes")
else:
    print("No")

Solution (Python):
A,B,C = list(map(int,input().split()))
K = int(input())
cnt = 0
while B <= A:
    B *= 2
    cnt += 1
while C <= B:
    C *= 2
    cnt += 1

if cnt <= K:
    print("Yes")
else:
    print("No")

Solution (Python):
import sys

input = sys.stdin.readline


def main():
    A, B, C = map(int, input().split())
    K = int(input())

    M = 0
    while True:
        if A < B:
            break
        else:
            B *= 2
            M += 1
    while True:
        if B < C:
            break
        else:
            C *= 2
            M += 1

    if M <= K:
        ans = "Yes"
    else:
        ans = "No"

    print(ans)


if __name__ == "__main__":
    main()

Solution (Python):
A,B,C = map(int,input().split())
K = int(input())

for k in range(K):
  if B<=A:
    B*=2
  else:
    C*=2

if A<B<C:
  print("Yes")
else:
  print("No")

Solution (Python):
from math import ceil,floor,factorial,gcd,sqrt,log2,cos,sin,tan,acos,asin,atan,degrees,radians,pi,inf
from itertools import accumulate,groupby,permutations,combinations,product,combinations_with_replacement
from collections import deque,defaultdict,Counter
from bisect import bisect_left,bisect_right
from operator import itemgetter
from heapq import heapify,heappop,heappush
from queue import Queue,LifoQueue,PriorityQueue
from copy import deepcopy
from time import time
import string
import sys
sys.setrecursionlimit(10 ** 7)
def input() : return sys.stdin.readline().strip()
def INT()   : return int(input())
def MAP()   : return map(int,input().split())
def LIST()  : return list(MAP())

a, b, c = MAP()
k = INT()

count = 0
while a >= b:
    b *= 2
    count += 1
while b >= c:
    c *= 2
    count += 1
if count <= k:
    ans = "Yes"
else:
    ans = "No"
print(ans)

Solution (Python):
import sys
from collections import defaultdict, deque, Counter
import math


from bisect import bisect_left, bisect_right
import heapq




input = sys.stdin.readline

getS = lambda: input().strip()
getN = lambda: int(input())
getList = lambda: list(map(int, input().split()))
getZList = lambda: [int(x) - 1 for x in input().split()]

INF = 10 ** 20
MOD = 10**9 + 7
divide = lambda x: pow(x, MOD-2, MOD)


def nck(n, k, kaijyo):
    return (npk(n, k, kaijyo) * divide(kaijyo[k])) % MOD


def npk(n, k, kaijyo):
    if k == 0 or k == n:
        return n % MOD
    return (kaijyo[n] * divide(kaijyo[n-k])) % MOD


def kaijyo(n):
    ret = [1]
    for i in range(1, n + 1):
        ret.append((ret[-1] * i)% MOD)
    return ret

def solve():
    a,b,c = getList()

    k = getN()
    ans = 0
    while(b <= a):
        b *= 2
        ans += 1
    while(c <= b):
        c *= 2
        ans += 1

    if ans <= k:
        print("Yes")
    else:
        print("No")

if __name__ == "__main__":
    
    solve()

Solution (Python):
A, B, C = map(int, input().split())
K = int(input())

cnt = 0

while A >= B:
  B *= 2
  cnt += 1

while B >= C:
  C *= 2
  cnt += 1

if cnt <= K:
  print("Yes")
else:
  print("No")

Solution (Python):
import sys

sys.setrecursionlimit(10 ** 8)
ini = lambda: int(sys.stdin.readline())
inm = lambda: map(int, sys.stdin.readline().split())
inl = lambda: list(inm())
ins = lambda: sys.stdin.readline().rstrip()
debug = lambda *a, **kw: print("\033[33m", *a, "\033[0m", **dict(file=sys.stderr, **kw))


def solve():
    A, B, C = inm()
    K = ini()
    while B <= A:
        B *= 2
        K -= 1
    while C <= B:
        C *= 2
        K -= 1
    if K < 0:
        return False
    return True


print("Yes" if solve() else "No")

Solution (Python):
A,B,C = [int(_n) for _n in input().split()]
K = int(input())

for i in range(8):
    for j in range(8):
        for k in range(8):
            if i + j + k> K:
                continue
            a = A * 2**i
            b = B * 2**j
            c = C * 2**k
            if a < b < c:
                print("Yes")
                exit(0)
print("No")

Solution (Python):
li = list(map(int, input().split()))
k = int(input())

cnt = 0
for i in range(2):
    while li[i+1] <= li[i]:
        li[i+1] *= 2
        cnt += 1

if cnt <= k:
    print("Yes")
else:
    print("No")

Solution (Python):
def main():
    from sys import setrecursionlimit, stdin, stderr
    from os import environ
    from collections import defaultdict, deque, Counter
    from math import ceil, floor
    from itertools import accumulate, combinations, combinations_with_replacement
    setrecursionlimit(10**6)
    dbg = (lambda *something: stderr.write("\033[92m{}\033[0m".format(str(something)+'\n'))) if 'TERM_PROGRAM' in environ else lambda *x: 0
    input = lambda: stdin.readline().rstrip()
    LMIIS = lambda: list(map(int,input().split()))
    II = lambda: int(input())
    P = 10**9+7
    INF = 10**18+10
    A,B,C = LMIIS()
    K = II()
    count = 0
    while A >= B:
        B *= 2
        count += 1
    while B >= C:
        C *= 2
        count += 1
    print('Yes' if count <= K else 'No')


    
main()

Solution (Python):
a,b,c=map(int,input().split())
k=int(input())
for _ in range(k):
  if b<=a:
    b*=2
    continue
  if c<=b:
    c*=2
    continue
if a<b and b<c:
  print('Yes')
else:
  print('No')

Solution (Python):
import math
import sys

a, b, c = map(int, input().split())
k = int(input())

for i in range(k):
    if (not (b > a)):
        b *= 2
    elif (not (c > b)):
        c *= 2

if (c > b and b > a):
    print("Yes")
else:
    print("No")

Solution (Python):
A,B,C = map(int,input().split())
K = int(input())
count = 0
while A >= B:
    B *= 2
    count += 1
while B >= C:
    C *= 2
    count += 1
if K >= count:
    print("Yes")
else:
    print("No")

Solution (Python):
INT = lambda: int(input())
INTM = lambda: map(int,input().split())
STRM = lambda: map(str,input().split())
STR = lambda: str(input())
LIST = lambda: list(map(int,input().split()))
LISTS = lambda: list(map(str,input().split()))
def do():
    a,b,c=INTM()
    k=INT()
    ct=0
    for i in range(7):
        if a>=b:
            b=2*b
            ct+=1
        else:
            break
    for i in range(7):
        if b>=c:
            c=2*c
            ct+=1
        else:
            break
    
    if ct<=k:
        print('Yes')
    else:
        print('No')
if __name__ == '__main__':
    do()

Solution (Python):


import os,io
input=io.BytesIO(os.read(0,os.fstat(0).st_size)).readline

a,b,c = map(int,input().split())
k = int(input())
minMagic = 0
while a >= b:
    b *= 2
    minMagic += 1
while b >= c:
    c *= 2
    minMagic += 1
if minMagic <= k:
    print("Yes")
else:
    print("No")

Solution (Python):
import sys

readline = sys.stdin.readline
MOD = 10 ** 9 + 7
INF = float('INF')
sys.setrecursionlimit(10 ** 5)


def main():
    a, b, c = map(int, readline().split())
    k = int(readline())
    cnt = 0

    while a >= b:
        b *= 2
        cnt += 1

    while b >= c:
        c *= 2
        cnt += 1

    if cnt <= k:
        print("Yes")
    else:
        print("No")


if __name__ == '__main__':
    main()