Kana was just an ordinary high school girl before a talent scout discovered her. Then, she became an idol. But different from the stereotype, she is also a gameholic. 

One day Kana gets interested in a new adventure game called Dragon Quest. In this game, her quest is to beat a dragon.[Image] 

The dragon has a hit point of $x$ initially. When its hit point goes to $0$ or under $0$, it will be defeated. In order to defeat the dragon, Kana can cast the two following types of spells.  Void Absorption 

Assume that the dragon's current hit point is $h$, after casting this spell its hit point will become $\left\lfloor \frac{h}{2} \right\rfloor + 10$. Here $\left\lfloor \frac{h}{2} \right\rfloor$ denotes $h$ divided by two, rounded down. Lightning Strike 

This spell will decrease the dragon's hit point by $10$. Assume that the dragon's current hit point is $h$, after casting this spell its hit point will be lowered to $h-10$.

Due to some reasons Kana can only cast no more than $n$ Void Absorptions and $m$ Lightning Strikes. She can cast the spells in any order and doesn't have to cast all the spells. Kana isn't good at math, so you are going to help her to find out whether it is possible to defeat the dragon.


-----Input-----

The first line contains a single integer $t$ ($1 \leq t \leq 1000$)  — the number of test cases.

The next $t$ lines describe test cases. For each test case the only line contains three integers $x$, $n$, $m$ ($1\le x \le 10^5$, $0\le n,m\le30$)  — the dragon's intitial hit point, the maximum number of Void Absorptions and Lightning Strikes Kana can cast respectively.


-----Output-----

If it is possible to defeat the dragon, print "YES" (without quotes). Otherwise, print "NO" (without quotes).

You can print each letter in any case (upper or lower).


-----Example-----
Input
7
100 3 4
189 3 4
64 2 3
63 2 3
30 27 7
10 9 1
69117 21 2

Output
YES
NO
NO
YES
YES
YES
YES



-----Note-----

One possible casting sequence of the first test case is shown below: Void Absorption $\left\lfloor \frac{100}{2} \right\rfloor + 10=60$. Lightning Strike $60-10=50$. Void Absorption $\left\lfloor \frac{50}{2} \right\rfloor + 10=35$. Void Absorption $\left\lfloor \frac{35}{2} \right\rfloor + 10=27$. Lightning Strike $27-10=17$. Lightning Strike $17-10=7$. Lightning Strike $7-10=-3$.

Difficulty: interview

Starter code:

Solutions:
import sys
input = sys.stdin.readline
def main():
    t = int(input())
    
    for _ in range(1, t+1):
    
        x, n, m = map(int, input().split())
        while(n):
            if(x <= (x>>1) + 10):
                break
            x = (x>>1) + 10
            n -= 1
        x -= m * 10
        if(x > 0):
            print("NO")
        else:
            print("YES")
        
        
        
main()

t=int(input())
for _ in range(t):
  x,n,m=map(int,input().split())
  for _ in range(n):
    if x<=20:
      break
    x=x//2+10
  if 10*m>=x:
    print('YES')
  else:
    print('NO')

for i in range(int(input())):
    x,n,m = map(int,input().split())
    for i in range(n):
        a = x//2+10
        x = min(x,a)
    for j in range(m):
        x -= 10
    print("YES" if x<=0 else "NO")

import sys

from collections import deque
# 26 ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
# alf = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
input = lambda: sys.stdin.readline().strip()
ipnut = input
q = int(input())
for i in range(q):
    # n = int(input())
    h,n,m = list(map(int,input().split()))
    # a = list(map(int,input().split()))
    while n and h>20:
        h = h//2+10
        n-=1
    while m and h>0:
        h-=10
        m-=1
    if h>0:
        print('NO')
    else:
        print("YES")



from math import *

def _i():
    return [int(i) for i in input().split()]

def _f():
    return [int(i) for i in input().split()]

for zz in range(int(input())):
    x, n, m = _i()
    ans = 0
    while (x//2 + 10 < x) and n > 0:
        ans += 1
        x = x//2 + 10
        n -= 1
    while (x > 0) and m > 0:
        x -= 10
        m -= 1
    if (x <= 0):
        print("YES")
    else:
        print("NO")


t=int(input())
for _ in range(t):
    x,n,m=map(int,input().split())
    while n>0 and x>10:
        x=x//2 +10
        n -=1
    while m>0:
        x -= 10
        m-=1
    if x<=0:
        print("YES")
    else:
        print("NO")

t = int(input().strip())
for it in range(t):
    x, n, m = [int(i) for i in input().strip().split()]
    for i in range(n):
        if x <= 20:
            break
        x = x // 2 + 10
    x -= m * 10
    if x <= 0:
        print("YES")
    else:
        print("NO")


t = int(input())

for g in range(t):
    x, a, b = list(map(int, input().split()))
    while x > 20 and a > 0:
        x = x // 2 + 10
        a -= 1
    x -= 10 * b
    if x > 0:
        print('NO')
    else:
        print('YES')


T = int(input())
for _ in range(T):
    s, n, m = list(map(int, input().split()))
    for i in range(n):
        if ((s // 2) + 10) < s:
            s = s // 2 + 10
    if s <= m * 10:
        print("YES")
    else:
        print("NO")


t = int(input())
for _ in range(t):
    x, n, m = map(int, input().split())
    for i in range(n):
        if (x//2 + 10) >= x:
            break
        x //= 2
        x += 10
    for i in range(m):
        x -= 10
        if x <= 0:
            break
    if x <= 0:
        print("YES")
    else:
        print("NO")

import sys
e = int(input())
for ee in range(e):
    x, n, m = map(int, input().split())
    # a = [int(i) for i in input().split(' ', n - 1)]
    for i in range(n):
        y = x
        x = (x//2)+10
        if y < x:
            x = y
            break
    for i in range(m):
        x -= 10
    if x <= 0:
        print('YES')
    else:
        print('NO')

import sys
input = sys.stdin.readline

t = int(input())
for _ in range(t):
    x, n, m = map(int, input().split())
    while n > 0 and x // 2 + 10 < x:
        x = x // 2 + 10
        n -= 1
    print('YES' if x <= 10 * m else 'NO')

def main():
    x, n, m = list(map(int, input().split()))
    while x > 20 and n > 0:
        n -= 1
        x = x//2 + 10
    if x > m * 10:
        print("NO")
    else:
        print("YES")


def __starting_point():
    t = int(input())
    for i in range(t):
        main()

__starting_point()

#JMD
#Nagendra Jha-4096

 
import sys
import math

#import fractions
#import numpy
 
###File Operations###
fileoperation=0
if(fileoperation):
    orig_stdout = sys.stdout
    orig_stdin = sys.stdin
    inputfile = open('W:/Competitive Programming/input.txt', 'r')
    outputfile = open('W:/Competitive Programming/output.txt', 'w')
    sys.stdin = inputfile
    sys.stdout = outputfile

###Defines...###
mod=1000000007
 
###FUF's...###
def nospace(l):
    ans=''.join(str(i) for i in l)
    return ans
 
 
 
##### Main ####
t=int(input())
for tt in range(t):
    #n=int(input())
    x,n,m= map(int, sys.stdin.readline().split(' '))
    while(x>20 and n>0):
        x=(x//2)
        x+=10
        n-=1
    while(x>0 and m>0):
        x-=10
        m-=1

    if x<=0:
        print("YES")
    else:
        print("NO")
    #a=list(map(int,sys.stdin.readline().split(' ')))
    
    
#####File Operations#####
if(fileoperation):
    sys.stdout = orig_stdout
    sys.stdin = orig_stdin
    inputfile.close()
    outputfile.close()

t=int(input())
for _ in range(t):
    x,n,m=list(map(int,input().split()))
    for i in range(n):
        a=x//2+10
        if a>=x:
            break
        else:
            x=a
    for i in range(m):
        x=x-10
    if x<=0:
        print("YES")
    else:
        print("NO")



t = int(input())

for _ in range(t):
    x, n, m = list(map(int, input().split()))
    while x // 2 + 10 < x and n > 0:
        x = x // 2 + 10
        n -= 1

    while x > 0 and m > 0:
        x -= 10
        m -= 1

    print("NO" if x > 0 else "YES")


for _ in range(int(input())):
    x, n, m = list(map(int, input().split()))
    for _ in range(n):
        if x // 2 + 10 < x:
            x = x // 2 + 10
        else:
            break
    x -= m * 10
    print('YES' if x <= 0 else 'NO')


import sys
def I():
    return sys.stdin.readline().rstrip()

for _ in range(int(I())):
    x, n, m = list(map(int, I().split()))
    while n > 0 and x > 20:
        x = x // 2 + 10
        n -= 1
    print("YES" if x <= m * 10 else "NO")


import math
t = int(input())
for turn in range(t):
    x,n,m = map(int,input().split())
    while x >= 19 and n > 0:
        x = (x//2) + 10
        n -= 1
    if x > 10 * m:
        print("NO")
    else:
        print("YES")

for _ in range(int(input())):
    x,n,m = list(map(int,input().split()))
    for i in range(n):
        if x>20:
            x = x//2
            x+=10
        else:
            break
    x = x-(m*10)
    if x<=0:
        print("YES")
    else:
        print("NO")

import sys
import math

def ii():
    return sys.stdin.readline().strip()

def idata():
    return [int(x) for x in ii().split()]

def binary_search(array, x):
    left, right = -1, len(array)
    while left + 1 != right:
        middle = (left + right) // 2
        if array[middle] >= x:
            right = middle
        elif array[middle] < x:
            left = middle
    return right

def c_mod(n1, k1, mod1):
    if mod1 != 0:
        num = den = 1
        for i in range(n1 - k1):
            num = (num * (n1 - i)) % mod1
            den = (den * (i + 1)) % mod1
        return (num * pow(den, mod1 - 2, mod1)) % mod1
    num = den = 1
    for i in range(n1 - k1):
        num = num * (n1 - i)
        den = den * (i + 1)
    return num // den

def v_sistemu(x, k):
    x = int(x)
    z = ''
    while x:
        z += str(x % k)
        x //= k
    return z[::-1]

def iz_sistemi(x, k):
    x = str(x)[::-1]
    ans = 0
    for i in range(len(x)):
        ans += int(x[i]) * pow(k, i)
    return ans

def solve_of_problem():
    x, n, m = idata()
    if x <= 10 * m:
        print('YES')
        return
    for i in range(n):
        x //= 2
        x += 10
    if 10 * m >= x:
        print('YES')
    else:
        print('NO')
    return

for ______ in range(int(ii())):
    solve_of_problem()


for i in range(int(input())):
    x, n, m = list(map(int, input().split()))
    if x - m * 10 <= 0:
        print('YES')
    else:
        for j in range(n):
            x = x // 2 + 10
        x -= 10 * m
        if x <= 0:
            print('YES')
        else:
            print('NO')


for _ in range(int(input())):
    x, n, m = tuple(map(int, input().split()))

    while x > 20 and n > 0:
        x = x // 2 + 10
        n -= 1

    while x > 0 and m > 0:
        x -= 10
        m -= 1

    if x <= 0:
        print('YES')
    else:
        print('NO')


# The only beautiful path is the one you create. Maxime Lagac�
# by : Blue Edge - Create some chaos

for _ in range(int(input())):
    x,n,m=list(map(int,input().split()))
    while x>20 and n>0:
        x= x//2 + 10
        n-=1

    while x>0 and m>0:
        x-=10
        m-=1

    print("YNEOS"[x>0::2])