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$.

Source: codeforces | Difficulty: EASY
Tags: Mathematics

Implementation

Greedy algorithms


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


rw = int(input())
for ewqr in range(rw):
	(x, n, m) = map(int, input().split())
	l = x
	if x > 20:
		for i in range(n):
			l = l // 2 + 10
	for i in range(m):
		l -= 10
	if l <= 0:
		print('YES')
	else:
		print('NO')


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


import math
t = int(input())
q = []
for i in range(t):
	q.append(list(map(int, input().rstrip().split())))

def pogl(h):
	h = math.floor(h / 2) + 10
	return h
for i in range(t):
	x = q[i][0]
	n = q[i][1]
	m = q[i][2]
	for i in range(n):
		if x > 20:
			x = pogl(x)
		else:
			break
	if x / 10 <= m:
		print('YES')
	else:
		print('NO')


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


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


t = int(input())
for i in range(t):
	m = [int(a) for a in input().split()]
	while m[1] > 0 and m[0] > 20:
		m[1] -= 1
		m[0] = m[0] // 2 + 10
	m[0] -= m[2] * 10
	if m[0] <= 0:
		print('YES')
	else:
		print('NO')


import sys
e = int(input())
for ee in range(e):
	(x, n, m) = map(int, input().split())
	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')


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


for _ in range(int(input())):
	(x, n, m) = 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('YES' if x < 1 else 'NO')


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


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


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


for _ in range(int(input())):
	(x, n, m) = [int(x) for x in input().split()]
	i = 0
	while i < n and x >= 19:
		x = x // 2 + 10
		i += 1
	print(['NO', 'YES'][x <= 10 * m])


from sys import stdin, stdout
import math
from itertools import permutations, combinations
from collections import defaultdict
from bisect import bisect_left
from bisect import bisect_right

def L():
	return list(map(int, stdin.readline().split()))

def In():
	return map(int, stdin.readline().split())

def I():
	return int(stdin.readline())
P = 1000000007

def main():
	for t in range(I()):
		(h, n, m) = In()
		while h > 10 * m and n:
			h = h // 2 + 10
			n -= 1
		for j in range(m):
			h -= 10
		if h > 0:
			print('NO')
		else:
			print('YES')
main()


def Sol(h, void_a, ligh_st):
	while h > 0 and (void_a > 0 or ligh_st > 0):
		if h > 20 and void_a > 0:
			h = int(h / 2) + 10
			void_a -= 1
		elif ligh_st > 0:
			h -= 10 * ligh_st
			ligh_st = 0
		else:
			print('NO')
			return
	if h <= 0:
		print('YES')
	else:
		print('NO')
	return
for t in range(int(input())):
	(h, n, k) = map(int, input().split())
	Sol(h, n, k)


tc = int(input())
while tc > 0:
	tc = tc - 1
	(health, va, ls) = [int(x) for x in input().split()]
	while health >= 20 and va > 0:
		health = health // 2
		health = health + 10
		va = va - 1
	health = health - ls * 10
	if health > 0:
		print('NO')
	else:
		print('YES')


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


t = int(input())
for tc in range(t):
	s = input().split()
	(x, n, m) = (int(s[0]), int(s[1]), int(s[2]))
	while n > 0:
		if x <= m * 10:
			break
		else:
			x = x // 2
			x += 10
			n -= 1
	ci = x - m * 10
	if ci <= 0:
		print('YES')
	else:
		print('NO')


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


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


def Absorption(h):
	return h // 2 + 10

def lightning(h):
	return h - 10

def do_the_attacks(h, n, m, answers):
	if h > 20:
		for _ in range(n):
			h = Absorption(h)
	for _ in range(m):
		h = lightning(h)
	if h <= 0:
		answers.append('YES')
	else:
		answers.append('NO')
answers = []
one_line = []
t = int(input())
for _ in range(t):
	one_line = input().split()
	one_line = [int(x) for x in one_line]
	do_the_attacks(one_line[0], one_line[1], one_line[2], answers)
for answer in answers:
	print(answer)


t = int(input())
while t != 0:
	t = t - 1
	(x1, n1, m1) = input().split()
	x = int(x1)
	n = int(n1)
	m = int(m1)
	cnt = 1
	if 10 * m >= x:
		print('YES')
		continue
	else:
		for i in range(0, n):
			if x >= 0:
				x = x // 2 + 10
			else:
				cnt = 0
		if cnt != 0:
			for i in range(0, m):
				if x >= 0:
					x = x - 10
		if x > 0:
			print('NO')
		else:
			print('YES')


test = int(input())

def solve():
	(x, n, m) = list(map(int, input().split()))
	if m * 10 >= x:
		print('YES')
	else:
		for p in range(n):
			x = x // 2 + 10
			if m * 10 >= x:
				print('YES')
				break
			if p == n - 1 and x > 0:
				print('NO')
		if n == 0:
			print('NO')
for y in range(test):
	solve()


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


def ans(h, n, m):
	while n > 0 and h > 0:
		if h < h // 2 + 10:
			break
		h = h // 2 + 10
		n -= 1
		if h <= 0:
			return 'YES'
	while m > 0 and h > 0:
		h -= 10
		m -= 1
		if h <= 0:
			return 'YES'
	return 'NO'
n = int(input())
for i in range(n):
	a = input().split()
	h = int(a[0])
	n = int(a[1])
	m = int(a[2])
	print(ans(h, n, m))


from sys import stdin, stdout

def main():
	for _ in range(int(stdin.readline())):
		(x, n, m) = list(map(int, stdin.readline().split()))
		while x > 20 and n > 0:
			x //= 2
			x += 10
			n -= 1
		x -= m * 10
		stdout.write(str('YES' if x <= 0 else 'NO') + '\n')
main()


from math import *
mod = 1000000007

def mode(a, b):
	b = bin(b)
	while b > 0:
		f = 1
		a = a % m
		if b & 1:
			f = f * a % m
		a = a * a % m
		b >>= 1
	return f % m
t = int(input())
for _ in range(t):
	(x, n, m) = map(int, input().split())
	while n > 0 and x >= 20:
		x = floor(x / 2) + 10
		if x <= 20:
			break
		n = n - 1
	k = 10 * m
	if x > k:
		print('NO')
	else:
		print('YES')


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


import math
T = int(input())
for _ in range(T):
	(h, n, m) = list(map(int, input().split()))
	for _ in range(n):
		if h <= 20:
			break
		h = math.floor(h / 2) + 10
	ans = 'YES' if h <= m * 10 else 'NO'
	print(ans)


def main():
	t = int(input())
	for i in range(t):
		(x, n, m) = [int(x) for x in input().split()]
		for j in range(n):
			a = x // 2 + 10
			if x - a <= 0:
				break
			x = a
		x -= m * 10
		if x <= 0:
			print('YES')
		else:
			print('NO')
main()


from collections import Counter, defaultdict, deque, namedtuple
from math import gcd
import sys

class BufferedTokenizer:
	pass

def read_ints():
	return [int(token) for token in input().split()]

def read_tokens():
	return input().split()

def main():
	T = read_ints()[0]
	for case_no in range(1, T + 1):
		(x, n, m) = read_ints()
		while n > 0 and x > 20:
			x = x // 2 + 10
			n -= 1
		print('YES' if x <= m * 10 else 'NO')
main()


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


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


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


from collections import deque, defaultdict, Counter
from bisect import bisect_left, bisect
import math

def test_case():
	inf = list(map(int, input().split()))
	(x, n, m) = inf
	while x > 20 and n > 0:
		x = x // 2 + 10
		n -= 1
	if x <= m * 10:
		return 'YES'
	return 'NO'
for _ in range(int(input())):
	ret = test_case()
	if ret:
		print(ret)


def isDefeatable(x, n, m):
	while x > 0:
		if n == 0 and m == 0:
			return False
		if x > 20:
			if n:
				x = x // 2 + 10
				n -= 1
			else:
				x -= 10
				m -= 1
		elif m:
			x -= 10
			m -= 1
		else:
			x = x // 2 + 10
			n -= 1
	return True
t = int(input())
for _ in range(t):
	(x, n, m) = tuple(map(int, input().split()))
	if isDefeatable(x, n, m):
		print('Yes')
	else:
		print('No')


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

	def va(some):
		return some // 2 + 10

	def ls(some):
		return some - 10
	done = False
	while n:
		if x <= 0:
			break
		elif x > 20:
			x = va(x)
		else:
			break
		n -= 1
	if x <= 0:
		print('YES')
	else:
		while m:
			if x <= 0:
				break
			x = ls(x)
			m -= 1
		if x <= 0:
			print('YES')
		else:
			print('NO')


n = int(input())
for i in range(n):
	(t, v, l) = map(int, input().split())

	def L(h):
		return h - 10

	def V(h):
		return h // 2 + 10
	cv = 0
	cl = 0
	while cv < v and cl < l:
		if t / 2 <= 10:
			t = L(t)
			cl = cl + 1
		else:
			t = V(t)
			cv = cv + 1
	if t > 0 and cl < l:
		while cl < l:
			t = L(t)
			cl = cl + 1
	if t > 0 and cv < v:
		while cv < v:
			t = V(t)
			cv = cv + 1
	if t > 0:
		print('no')
	else:
		print('yes')


for s in [*open(0)][1:]:
	(x, n, m) = map(int, s.split())
	print('YNEOS'[x - 20 >> n * (x > 20) > 10 * m - 20::2])


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


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


tests = int(input())
for i in range(tests):
	numbers = input().split(' ')
	life = int(numbers[0])
	n = int(numbers[1])
	m = int(numbers[2])
	while life > 20 and n > 0:
		life = life // 2 + 10
		n = n - 1
	life = life - 10 * m
	if life > 0:
		print('NO')
	else:
		print('YES')


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


for _ in range(int(input())):
	(a, b, c) = map(int, input().split())
	if a <= 10 * c:
		print('YES')
	else:
		s = a + 20 * (pow(2, b) - 1)
		p = int(s / pow(2, b))
		if p > 10 * c:
			print('NO')
		else:
			print('YES')


t = int(input())
s = []

def df(a, b, c):
	while b != 0 and a > 10:
		k = a // 2 + 10
		a = k
		b -= 1
	if a - c * 10 <= 0:
		return 'YES'
	if a - c * 10 > 0:
		return 'NO'
for i in range(t):
	(a, b, c) = map(int, input().split())
	k = df(a, b, c)
	s.append(k)
for item in s:
	print(item)


t = int(input())
ans = []
f = 0
for iter in range(t):
	(x, n, m) = [int(x) for x in input().split()]
	c = 1
	while x > 20 and c <= n:
		x = int(x / 2) + 10
		c += 1
	if x - m * 10 <= 0:
		ans.append('YES')
	else:
		ans.append('NO')
for i in ans:
	print(i)


def main():
	data = []
	n_tasks = int(input())
	for _ in range(n_tasks):
		input_list = list(map(int, input().split()))
		data.append(input_list)
	for task in data:
		(x, n, m) = task
		h = x
		while h > 20 and h > 0 and (n > 0):
			h = h // 2 + 10
			n -= 1
		while h > 0 and m > 0:
			h = h - 10
			m -= 1
		if h <= 0:
			print('YES')
		else:
			print('NO')
main()


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


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


import sys
input = sys.stdin.readline

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())
tests = inp()
testcount = 0
while testcount < tests:
	(x, n, m) = invr()
	if x > 20:
		i = 0
		while i < n:
			x = int(x // 2) + 10
			i += 1
	if x > 10 * m:
		print('NO')
	else:
		print('YES')
	testcount += 1


def solve():
	(x, n, m) = input().split(' ')
	(x, n, m) = (int(x), int(n), int(m))
	while x > 0 and n > 0 and (int(x / 2) + 10 < x):
		n -= 1
		x = int(x / 2) + 10
	if x <= m * 10:
		print('Yes')
	else:
		print('No')
t = int(input())
res = []
for i in range(0, t):
	solve()


from math import floor
tst_cas = int(input())
for x in range(tst_cas):
	(drag_lf, vd_abs, lig_st) = [int(k) for k in input().split()]
	while not drag_lf <= 0 and vd_abs > 0 and (floor(drag_lf / 2) + 10 < drag_lf):
		drag_lf = floor(drag_lf / 2) + 10
		vd_abs -= 1
	if drag_lf > 0:
		drag_lf -= lig_st * 10
	if drag_lf <= 0:
		print('YES')
	else:
		print('NO')


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


import sys
import collections
import threading
import string

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


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


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


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


T = int(input())
while T:
	(x, n, m) = map(int, input().split())
	while x > 0:
		y = x
		if n > 0 and x > 20:
			x = x // 2 + 10
			n = n - 1
		elif m > 0:
			x = x - 10
			m = m - 1
		if x == y:
			break
	if x > 0:
		print('NO')
	else:
		print('YES')
	T = T - 1


t = int(input())
gf = []
for i in range(t):
	A = input().split(' ')
	x = int(A[0])
	n = int(A[1])
	m = int(A[2])
	for j in range(n):
		if x <= 20:
			break
		else:
			x = x // 2 + 10
	for k in range(m):
		x = x - 10
		if x <= 0:
			break
	if x <= 0:
		gf.append('YES')
	else:
		gf.append('NO')
for i in range(t):
	print(gf[i])


from sys import stdin
input = stdin.readline
import bisect
import math
for xoxo in range(1):
	for _ in range(int(input())):
		(a, b, c) = map(int, input().split())
		while a >= 40 and b > 0:
			a = math.floor(a / 2) + 10
			b -= 1
		k = a - c * 10
		if k > 0:
			while b > 0 and a > 20:
				a = math.floor(a / 2) + 10
				b -= 1
			if a - c * 10 > 0:
				print('NO')
			else:
				print('YES')
		else:
			print('YES')


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
	for _ in range(m):
		x -= 10
	if x <= 0:
		print('Yes')
	else:
		print('No')


def pustota(h):
	import math
	h = int(math.floor(h / 2)) + 10
	return h

def molnia(h):
	h = h - 10
	return h
t = int(input())
for j in range(t):
	(x, n, m) = map(int, input().split(' '))
	while x > 0 and n + m > 0:
		if m >= 4:
			while x >= 40 and n > 0:
				x = pustota(x)
				n -= 1
		else:
			while x >= 20 and n > 0:
				x = pustota(x)
				n -= 1
		while x > 0 and m > 0:
			x = molnia(x)
			m -= 1
		while x > 0 and n > 0:
			x = pustota(x)
			n -= 1
	print('Yes' if x <= 0 else 'No')


t = int(input())
for _ in range(t):
	(a, b, c) = map(int, input().split())
	for i in range(b):
		if a <= c * 10:
			break
		a = a // 2 + 10
	a -= c * 10
	if a <= 0:
		print('YES')
	else:
		print('NO')


n = int(input())
a = []
for i in range(n):
	(x, n, m) = map(int, input().split())
	if x <= m * 10:
		a.append('YES')
		continue
	while n > 0:
		x = x // 2 + 10
		n -= 1
	x -= m * 10
	if x <= 0:
		a.append('YES')
	else:
		a.append('NO')
print(*a, sep='\n')


import sys
inp = sys.stdin.readline
read = lambda : list(map(int, inp().split()))

def a():
	ans = ''
	for _ in range(int(inp())):
		(a, b, c, d) = read()
		print(b, c, c)

def b():
	ans = ''
	for _ in range(int(inp())):
		(a, b, c) = read()
		for i in range(b):
			if a > 20:
				a = a // 2 + 10
			else:
				break
		ans += 'YNEOS'[a > c * 10::2] + '\n'
	print(ans)
b()


testcases = int(input())
for i in range(testcases):
	(health, spell1, spell2) = list(map(int, input().split()))
	while spell1 + spell2 > 0:
		if health > 20 and spell1 > 0:
			health = health // 2 + 10
			spell1 -= 1
		elif spell2 > 0:
			health -= 10
			spell2 -= 1
		else:
			break
		if health <= 0:
			break
	if health > 0:
		print('NO')
	else:
		print('YES')


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


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


t = int(input())
for i in range(t):
	temp = input().split()
	h = int(temp[0])
	n = int(temp[1])
	m = int(temp[2])
	for j in range(n):
		if h // 2 + 10 < h:
			h = h // 2 + 10
	for j in range(m):
		h -= 10
	if h <= 0:
		print('YES')
	else:
		print('NO')


import sys
input = sys.stdin.readline
output = sys.stdout

def solve(a, b, c):
	if a <= 20:
		for i in range(c):
			a -= 10
		if a <= 0:
			res = 'YES'
		else:
			res = 'NO'
	else:
		for i in range(b):
			a = a // 2 + 10
			if a == 20:
				break
		for i in range(c):
			a -= 10
		if a <= 0:
			res = 'YES'
		else:
			res = 'NO'
	output.write(res + '\n')
t = int(input())
for i in range(t):
	(a, b, c) = map(int, input().split())
	solve(a, b, c)


def dfs(index, ans, visited, a, length):
	visited[index] = True
	if len(ans[index]) == 1:
		length[index] = a
	for i in range(len(ans[index])):
		if visited[ans[index][i]] == False:
			dfs(ans[index][i], ans, visited, a + 1, length)

def solve():
	n = list(map(int, input().split()))
	h = n[0]
	while n[1] != 0:
		if h > 20:
			h = int(h / 2) + 10
			n[1] -= 1
		else:
			break
	if h <= n[2] * 10:
		print('YES')
	else:
		print('NO')
t = input().split()
t = int(t[0])
for _ in range(t):
	solve()


from collections import Counter
for _ in range(int(input())):
	(x, N, m) = map(int, input().split())
	while N > 0 or m > 0:
		if x // 2 + 10 < x and N > 0:
			x = x // 2 + 10
			N -= 1
		elif m > 0:
			x -= 10
			m -= 1
		else:
			break
	if x <= 0:
		print('YES')
	else:
		print('NO')


query = int(input())
for _ in range(query):
	(x, a, b) = map(int, input().split())
	if x <= b * 10:
		print('YES')
	else:
		for i in range(a):
			m = x
			x = x // 2 + 10
			if x == m:
				break
		if x <= b * 10:
			print('YES')
		else:
			print('NO')


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


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


testcase = int(input())
for i in range(testcase):
	(x, n, m) = map(lambda x: int(x), input().split())
	h0 = m * 10
	if h0 >= x:
		print('YES')
	else:
		hn = 2 ** n * h0 - 10 * (2 ** (n + 1) - 2) + 2 ** n - 1
		if hn >= x:
			print('YES')
		else:
			print('NO')


Test = int(input())
for T in range(Test):
	(X, N, M) = list(map(int, input().split()))
	K = 0
	while X > 20 and K < N:
		X = X // 2 + 10
		K = K + 1
	X = X - M * 10
	if X > 0:
		print('NO')
	else:
		print('YES')


from sys import stdin, stdout
t = int(stdin.readline())
for _ in range(t):
	(x, n, m) = map(int, stdin.readline().split())
	if x - m * 10 <= 0:
		print('YES')
		continue
	ans = 'NO'
	for i in range(1, n + 1):
		x = x // 2 + 10
		if x - m * 10 <= 0:
			ans = 'YES'
			break
	print(ans)


t = int(input())
test_cases = [(int(_) for _ in input().split()) for i in range(t)]
for (x, n, m) in test_cases:
	while x > 0:
		h1 = x // 2 + 10 if n else None
		h2 = x - 10 if m else None
		if h1 is not None:
			if x > 20:
				x = h1
				n -= 1
				continue
		if h2 is not None:
			x = h2
			m -= 1
		else:
			print('NO')
			break
	else:
		print('YES')


for _ in [0] * int(input()):
	(x, n, m) = map(int, input().split())
	for _ in [0] * n:
		x = min(x, x // 2 + 10)
	for _ in [0] * m:
		x -= 10
	print('YNEOS'[x > 0::2])


import sys
sys.setrecursionlimit(10 ** 6)
int1 = lambda x: int(x) - 1
p2D = lambda x: print(*x, sep='\n')

def II():
	return int(sys.stdin.readline())

def MI():
	return map(int, sys.stdin.readline().split())

def LI():
	return list(map(int, sys.stdin.readline().split()))

def LLI(rows_number):
	return [LI() for _ in range(rows_number)]

def SI():
	return sys.stdin.readline()[:-1]

def main():
	for _ in range(II()):
		(x, n, m) = MI()
		for _ in range(n):
			if x < 20:
				break
			x = x // 2 + 10
		x -= 10 * m
		if x <= 0:
			print('YES')
		else:
			print('NO')
main()


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


from fractions import gcd
get = lambda x, lcm, b: x - b * (x // lcm) - min(b, x % lcm + 1)
for _ in range(int(input())):
	(x, n, m) = map(int, input().split())
	while x > 20 and n > 0:
		x = x // 2 + 10
		n -= 1
	if x <= 10 * m:
		print('YES')
	else:
		print('NO')


t = int(input())
for y in range(t):
	(x, n, m) = map(int, input().split())
	for z in range(n):
		if x <= 20:
			break
		else:
			x = x // 2 + 10
	if x // 10 == x / 10:
		if x // 10 > m:
			print('NO')
		else:
			print('YES')
	elif m > x // 10:
		print('YES')
	else:
		print('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()


t = int(input())
for _ in range(t):
	(health, void, lightning) = [int(i) for i in input().split()]
	while void > 0 and health // 2 + 10 < health:
		health = health // 2 + 10
		void -= 1
	if health <= lightning * 10:
		print('YES')
	else:
		print('NO')


import math

def solve():
	ar = []
	ar = input().split()
	for i in range(len(ar)):
		ar[i] = int(ar[i])
	while ar[0] > 20 and ar[1] > 0:
		ar[0] = math.floor(ar[0] / 2) + 10
		ar[1] -= 1
	if ar[2] * 10 >= ar[0]:
		print('YES')
	else:
		print('NO')
t = int(input())
for i in range(t):
	solve()


for q in range(int(input())):
	(x, n, m) = map(int, input().split())
	while x > 0 and n + m > 0:
		if n == 0:
			x -= 10
			m -= 1
		elif m == 0:
			x = x // 2 + 10
			n -= 1
		elif x <= 40 and m >= 4 or (x <= 30 and m >= 3) or (x <= 20 and m >= 2) or (x <= 10 and m >= 1):
			x -= 10
			m -= 1
		else:
			x = x // 2 + 10
			n -= 1
	if x <= 0:
		print('YES')
	else:
		print('NO')


T = int(input())
for t in range(T):
	(x, n, m) = map(int, input().split())
	dp = [[x for j in range(m + 1)] for i in range(n + 1)]
	for i in range(n + 1):
		for j in range(m + 1):
			dp[i][j] = min(int(dp[i - 1][j] / 2) + 10 if i > 0 else x, dp[i][j - 1] - 10 if j > 0 else x)
	print('YES' if dp[n][m] <= 0 else 'NO')


import math
testin = int(input())
for _ in range(testin):
	(point, n, m) = list(map(int, input().split(' ')))
	while n != 0 and point > 20:
		point = math.floor(point / 2) + 10
		n -= 1
	if m * 10 >= point:
		point -= m * 10
	if point > 0:
		print('NO')
	else:
		print('YES')


from collections import defaultdict, deque
from itertools import permutations, product, combinations
from functools import lru_cache
from time import time
import sys
from operator import itemgetter
start = time()

def show_time():
	print(time() - start, file=sys.stderr)
try:
	f = open('test.in')

	def ints():
		return map(int, f.readline().strip().split())

	def one_int():
		return int(f.readline())

	def one_string():
		return f.readline().strip()

	def strings():
		return f.readline().strip().split()
except FileNotFoundError:

	def ints():
		return map(int, input().strip().split())

	def one_int():
		return int(input())

	def one_string():
		return input().strip()

	def strings():
		return input().strip().split()

def debug(s):
	print(s, file=sys.stderr)
sys.stderr.write('\n')
t = one_int()
for _ in range(t):
	(x, n, m) = ints()
	while x > 20 and n > 0:
		x = x // 2 + 10
		n -= 1
	if m * 10 >= x:
		print('YES')
	else:
		print('NO')


tc = int(input())
cases = []
for _ in range(tc):
	cases.append(list(map(int, input().split())))
for case in cases:
	for _ in range(case[1]):
		if case[0] > 20:
			case[0] = case[0] // 2 + 10
		else:
			break
	if case[0] > 10 * case[2]:
		print('No')
	else:
		print('Yes')


def effect(hp):
	return hp // 2 + 10

def solve(hp, strike, blunt):
	for i in range(strike):
		if effect(hp) < hp:
			hp = effect(hp)
	return 'NO' if hp > 10 * blunt else 'YES'
answers = []
for _ in range(int(input())):
	(hp, n, m) = map(int, input().split())
	answers.append(solve(hp, n, m))
print('\n'.join(answers))


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


t = int(input())
for case in range(t):
	(x, n, m) = map(int, input().split())
	dp = [[x] * (m + 1) for i in range(n + 1)]
	for i in range(1, n + 1):
		dp[i][0] = dp[i - 1][0] // 2 + 10
	for j in range(1, m + 1):
		dp[0][j] = dp[0][j - 1] - 10
	for i in range(1, n + 1):
		for j in range(1, m + 1):
			dp[i][j] = min(dp[i - 1][j] // 2 + 10, dp[i][j - 1] - 10)
	f = False
	for i in range(n + 1):
		for j in range(m + 1):
			if dp[i][j] <= 0:
				f = True
	if f:
		print('YES')
	else:
		print('NO')


import sys

def I():
	return sys.stdin.readline().rstrip()
for _ in range(int(I())):
	(x, n, m) = map(int, I().split())
	while n > 0 and x > 20:
		x = x // 2 + 10
		n -= 1
	print('YES' if x <= m * 10 else 'NO')


from collections import Counter
t = int(input())
memo = {}

def solve(x, n, m):
	if (x, n, m) not in memo:
		memo[x, n, m] = solve_slow(x, n, m)
	return memo[x, n, m]

def solve_slow(x, n, m):
	if x <= 0:
		return True
	if n == 0 and m == 0:
		return False
	if n == 0:
		return solve(x - 10, n, m - 1)
	if m == 0:
		return solve(x // 2 + 10, n - 1, m)
	return solve(x // 2 + 10, n - 1, m) or solve(x - 10, n, m - 1)
for case in range(t):
	(x, n, m) = map(int, input().split())
	print('YES' if solve(x, n, m) else 'NO')


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


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


import math
t = int(input())
for i in range(t):
	c1 = 0
	(x, n, m) = map(int, input().split(' '))
	if 10 * m >= x:
		print('YES')
	else:
		while n > 0:
			nv = math.floor(x / 2)
			x = nv + 10
			n = n - 1
			if x <= 0 or 10 * m >= x:
				c1 = 1
				break
		if c1 == 0:
			while m > 0:
				x = x - 10
				m = m - 1
				if x <= 0:
					break
			if x <= 0:
				print('YES')
			else:
				print('NO')
		else:
			print('YES')


for _ in range(int(input())):
	(x, y, z) = map(int, input().split())
	if x <= 20:
		health = x - z * 10
		print('YES' if health <= 0 else 'NO')
	else:
		for num in range(y):
			x = x // 2 + 10
			if x <= 20:
				break
		light_damage = x - 10 * z
		print('YES' if light_damage <= 0 else 'NO')


for ii in range(int(input())):
	a = [int(i) for i in input().split()]
	n = a[1]
	m = a[2]
	p = a[0]
	count = 0
	while p > 20 and count < n:
		p = p // 2 + 10
		count += 1
	if p - 10 * m <= 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	arr = []
	arr = list(map(int, input().split()))
	x = int(arr[0])
	a = int(arr[1])
	b = int(arr[2])
	y = 0
	while a != 0 and int(x / 2) + 10 < x:
		x = x // 2 + 10
		a -= 1
	r = b * 10
	k = x - r
	if k > 0:
		print('no')
	else:
		print('yes')


for _ in range(int(input())):
	(h, n, m) = map(int, input().split())
	while n > 0 or m > 0:
		s1 = h // 2 + h % 2 - 10 if n > 0 else 0
		s2 = 10 if m > 0 else 0
		if n > 0 and m > 0:
			if s1 > 0:
				h -= s1
				n -= 1
			else:
				h -= s2
				m -= 1
			if h <= 0:
				break
		elif m > 0:
			h -= s2
			m -= 1
			if h <= 0:
				break
		else:
			h -= s1
			n -= 1
			if h <= 0:
				break
	print('No' if h > 0 else 'Yes')


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


t = int(input())

def result(x, n, m):
	for i in range(n):
		x = min(x, int(x / 2) + 10)
	for i in range(m):
		x -= 10
	if x > 0:
		return False
	else:
		return True
for i in range(t):
	(x, n, m) = list(map(int, input().split()))
	ans = result(x, n, m)
	if ans == True:
		print('YES')
	else:
		print('NO')


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


def absorption(h):
	return h // 2 + 10

def lightningStrike(h):
	return h - 10

def answer(h, n, m):
	for _ in range(n):
		if h <= 20:
			break
		h = absorption(h)
		if h <= 0:
			return 'YES'
	for _ in range(m):
		h = lightningStrike(h)
		if h <= 0:
			return 'YES'
	return 'NO'
testCount = int(input())
for i in range(testCount):
	(h, n, m) = map(int, input().split())
	print(answer(h, n, m))


from math import floor
queries = int(input())
for _ in range(queries):
	(h, va, ls) = map(int, input().split())
	while h > 20 and va > 0:
		h = floor(h / 2) + 10
		va -= 1
	h -= ls * 10
	if h <= 0:
		print('YES')
	else:
		print('NO')


t = int(input())
while t:
	(n, a, b) = input().split(' ')
	n = int(n)
	(a, b) = (int(a), int(b))
	if n > 20:
		while a != 0:
			n = n // 2
			n += 10
			a -= 1
	while b != 0:
		n -= 10
		b -= 1
		if n <= 0:
			break
	if n <= 0:
		print('YES')
	else:
		print('NO')
	t -= 1


for i in range(int(input())):
	(x, n, m) = map(int, input().split())
	j = 0
	p = x
	k = 0
	c = 0
	w = 0
	if x > 20:
		while j < n and k == 0:
			w = x
			x = x // 2 + 10
			j = j + 1
			c = c + w - x
			if c == 0 or c < 0:
				k = 1
		if k == 1:
			print('YES')
		elif m * 10 >= x:
			print('YES')
		else:
			print('NO')
	elif m * 10 >= x:
		print('YES')
	else:
		print('NO')


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


t = int(input())
while t > 0:
	(x, n, m) = input().split()
	(x, n, m) = (int(x), int(n), int(m))
	if x - 10 * m <= 0:
		print('Yes')
	else:
		while n > 0:
			x = x // 2 + 10
			n -= 1
		while m > 0:
			x -= 10
			m -= 1
		if x <= 0:
			print('Yes')
		else:
			print('No')
	t -= 1


import math
t = int(input())

def f1(ans):
	ans = math.floor(ans / 2)
	ans += 10
	return ans
for i in range(0, t):
	myl = input().split(' ')
	x = int(myl[0])
	n = int(myl[1])
	m = int(myl[2])
	ans = 0
	ans += m * 10
	if ans >= x:
		print('YES')
		continue
	else:
		temp = x
		for i in range(0, n):
			temp = f1(temp)
		temp -= m * 10
		if temp <= 0:
			print('YES')
		else:
			print('NO')


import re
import sys
from bisect import bisect, bisect_left, insort, insort_left
from collections import Counter, defaultdict, deque
from copy import deepcopy
from decimal import Decimal
from fractions import gcd
from itertools import accumulate, combinations, combinations_with_replacement, groupby, permutations, product
from math import acos, asin, atan, ceil, cos, degrees, factorial, hypot, log2, pi, radians, sin, sqrt, tan
from operator import itemgetter, mul
from string import ascii_lowercase, ascii_uppercase, digits

def inp():
	return int(input())

def inlist():
	return list(map(int, input().split()))

def instr():
	s = input()
	return list(s[:len(s)])

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


t = int(input())
l = []

def absorption(h, hp):
	h = int(h / 2) + 10
	if h < hp:
		return h
	else:
		return hp

def lighting_Strike(h):
	h -= 10
	return h
for x in range(0, t):
	(hp, n, m) = map(int, input().split())
	if hp > 0:
		for i in range(0, n):
			hp = absorption(hp, hp)
	if hp > 0:
		for i in range(0, m):
			hp = lighting_Strike(hp)
	if hp <= 0:
		l.append(1)
	else:
		l.append(0)
for c in l:
	if c == 0:
		print('NO')
	else:
		print('YES')


t = int(input())
for _ in range(t):
	(x, n, m) = [int(a) for a in input().split()]
	true = 1
	while x > 0:
		if x <= 20:
			if m > 0:
				m = m - 1
				x = x - 10
			elif n > 0:
				n = n - 1
				x = x // 2 + 10
			else:
				true = 0
				print('NO')
				break
		elif n > 0:
			n = n - 1
			x = x // 2 + 10
		elif m > 0:
			m = m - 1
			x = x - 10
		else:
			true = 0
			print('NO')
			break
	if true is 1:
		print('YES')


import sys
import math
import os
import itertools
import string
import heapq
import _collections
from collections import Counter
from collections import defaultdict
from functools import lru_cache
import bisect
import re
import queue
from decimal import *

class Scanner:

	@staticmethod
	def int():
		return int(sys.stdin.readline().rstrip())

	@staticmethod
	def string():
		return sys.stdin.readline().rstrip()

	@staticmethod
	def map_int():
		return [int(x) for x in Scanner.string().split()]

	@staticmethod
	def string_list(n):
		return [input() for i in range(n)]

	@staticmethod
	def int_list_list(n):
		return [Scanner.map_int() for i in range(n)]

	@staticmethod
	def int_cols_list(n):
		return [int(input()) for i in range(n)]

class Math:

	@staticmethod
	def gcd(a, b):
		if b == 0:
			return a
		return Math.gcd(b, a % b)

	@staticmethod
	def lcm(a, b):
		return a * b // Math.gcd(a, b)

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

	@staticmethod
	def round_up(a, b):
		return -(-a // b)

	@staticmethod
	def is_prime(n):
		if n < 2:
			return False
		if n == 2:
			return True
		if n % 2 == 0:
			return False
		d = int(n ** 0.5) + 1
		for i in range(3, d + 1, 2):
			if n % i == 0:
				return False
		return True

def pop_count(x):
	x = x - (x >> 1 & 6148914691236517205)
	x = (x & 3689348814741910323) + (x >> 2 & 3689348814741910323)
	x = x + (x >> 4) & 1085102592571150095
	x = x + (x >> 8)
	x = x + (x >> 16)
	x = x + (x >> 32)
	return x & 127
MOD = int(1000000000.0) + 7
INF = int(1000000000000000.0)

def solve():
	(X, N, M) = Scanner.map_int()
	for _ in range(N):
		Y = X // 2 + 10
		if Y < X:
			X = Y
		else:
			break
	X -= 10 * M
	print('YNEOS'[not X <= 0::2])

def main():
	T = Scanner.int()
	for _ in range(T):
		solve()
main()


import math

def void_absorption(h):
	return math.floor(h / 2) + 10

def lightning_strike(h):
	return h - 10
t = int(input())
for _ in range(t):
	(x, va, ls) = map(int, input().split())
	while va > 0 and void_absorption(x) < x:
		x = void_absorption(x)
		va -= 1
	x -= 10 * ls
	if x > 0:
		print('NO')
	else:
		print('YES')


t = int(input())
for k in range(t):
	(a, b, c) = map(int, input().split())
	if a > c * 10:
		for i in range(b):
			a = int(a / 2) + 10
		a = a - c * 10
		if a > 0:
			print('No')
		else:
			print('Yes')
	else:
		print('Yes')


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


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


def answer(x, n, m):
	if m * 10 >= x:
		return 'Yes'
	if m == 0:
		return 'No'
	for i in range(n):
		x = x // 2 + 10
		if x <= m * 10:
			return 'Yes'
	return 'No'
	return
t = int(input())
for i in range(t):
	(x, n, m) = map(int, input().split())
	print(answer(x, n, m))


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


a = int(input())
for i in range(a):
	demo = input().split()
	hp = int(demo[0])
	pogl = int(demo[1])
	moln = int(demo[2])
	for a in range(pogl + moln):
		if int(hp / 2) + 10 < hp and pogl > 0:
			hp = int(hp / 2) + 10
			pogl -= 1
		elif moln > 0:
			hp -= 10
			moln -= 1
		if hp <= 0:
			break
	if hp <= 0:
		print('YES')
	else:
		print('NO')


cases = int(input())
for cas in range(cases):
	(hit, ab, lt) = map(int, input().split())
	while hit > 0 and (ab or lt):
		if hit > 20:
			if ab:
				ab -= 1
				hit = hit // 2 + 10
			elif lt:
				lt -= 1
				hit -= 10
			else:
				break
		elif lt:
			lt -= 1
			hit -= 10
		else:
			break
	if hit <= 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	(a, b, c) = map(int, input().split())
	while a > c * 10 and b:
		a = a // 2 + 10
		b -= 1
	print('YES' if a <= c * 10 else 'NO')


for i in range(int(input())):
	(a, b, c) = map(int, input().split())
	lag = 0
	while b > 0 or c > 0:
		if a > c * 10:
			if b > 0:
				a = a // 2 + 10
				b -= 1
		elif c > 0:
			a = a - 10
			c -= 1
		if a <= 0:
			lag = 1
			break
		if a > c * 10 and b == 0:
			break
	if lag == 0:
		print('NO')
	else:
		print('YES')


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


import math
t = int(input())
testsResults = []
for i in range(0, t):
	test = input()
	(x, n, m) = list(map(int, test.split()))
	while True:
		if x <= 0:
			testsResults.append('YES')
			break
		if n > 0 and x > 20:
			x = math.floor(x / 2) + 10
			n -= 1
		elif m > 0:
			x -= 10
			m -= 1
		else:
			testsResults.append('NO')
			break
for testResult in testsResults:
	print(testResult)


def sol():
	(n, a, b) = map(int, input().split())
	for i in range(a):
		if n <= 10:
			break
		n = n // 2 + 10
	if n > b * 10:
		return 'NO'
	else:
		return 'YES'
for _ in range(int(input())):
	print(sol())


from math import floor
import time
t = int(input())
for i in range(t):
	(x, n, m) = list(map(int, input().split()))
	start = time.time()
	(xs, ns, ms) = (int(x), int(n), int(m))
	(x, n, m) = (int(xs), int(ns), int(ms))
	for j in range(n):
		if x <= 20:
			break
		else:
			x >>= 1
			x += 10
	if x <= m * 10:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	(a, b, c) = list(map(int, input().split()))
	while b > 0 and a // 2 + 10 < a:
		b -= 1
		a = a // 2 + 10
	if a <= c * 10:
		print('Yes')
	else:
		print('No')


t = int(input())
for test in range(0, t):
	(h, sp1, sp2) = [int(f) for f in input().split()]
	while h > 0 and sp1 > 0 or sp2 > 0:
		if sp1 > 0 and h > 18:
			sp1 -= 1
			h = 10 + h // 2
		else:
			h -= 10 * sp2
			break
	if h > 0:
		print('NO')
	else:
		print('YES')


t = int(input())
for i in range(0, t):
	y = input().split()
	health = int(y[0])
	n = int(y[1])
	m = int(y[2])
	while health > 0:
		if n > 0 and health > 20:
			health = int(abs(health / 2) + 10)
			n -= 1
		elif m > 0:
			health -= 10
			m -= 1
		else:
			break
	if health > 0:
		print('NO')
	else:
		print('YES')


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


for i in range(int(input())):
	(x, n, m) = [int(i) for i in input().split()]
	w = 0
	while n:
		if x <= 10 * m:
			w = 1
			break
		x = x // 2 + 10
		n -= 1
	if x <= 10 * m:
		w = 1
	if w:
		print('YES')
	else:
		print('NO')


import math
t = int(input())
for tc in range(t):
	line = input().split()
	(h, n, m) = (int(line[0]), int(line[1]), int(line[2]))
	flag = 0
	while h > 20 and n > 0:
		h = h // 2 + 10
		n -= 1
		if h <= 20:
			break
	while m > 0:
		h -= 10
		m -= 1
		if h <= 0:
			flag = 1
			break
	if flag == 1:
		print('YES')
	else:
		print('NO')


def solve(hit, void, light):
	while void != 0 or light != 0:
		if void != 0:
			hit = min(hit, hit // 2 + 10)
			void -= 1
		else:
			hit -= 10
			light -= 1
		if hit <= 0:
			return True
	return False
test = int(input())
for t in range(test):
	(initial_hit, void_spell, light_spell) = map(int, input().split())
	memorization_arr = dict()
	solved = solve(initial_hit, void_spell, light_spell)
	if solved:
		print('YES')
	else:
		print('NO')


import math
t = int(input())
for i in range(t):
	(h, a, b) = map(int, input().split())
	while math.floor(h / 2) + 10 < h and a > 0:
		h = math.floor(h / 2) + 10
		a = a - 1
	if h - b * 10 <= 0:
		print('YES')
	else:
		print('NO')


import math
t = int(input())
ans = []
for x in range(t):
	inp = list(map(int, input().split()))
	(x, n, m) = (inp[0], inp[1], inp[2])
	if x <= 20:
		if m >= x / 10:
			ans.append('YES')
		else:
			ans.append('NO')
		continue
	for y in range(n):
		x = math.floor(x / 2) + 10
	for y in range(m):
		x = x - 10
	if x <= 0:
		ans.append('YES')
	else:
		ans.append('NO')
for a in ans:
	print(a)


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


def a(health, n, m):
	if (n == 0 or health < health // 2 + 10) and m == 0:
		return health <= 0
	if n == 0 or health < health // 2 + 10:
		return a(health - 10, 0, m - 1)
	return a(health // 2 + 10, n - 1, m)
t = int(input())
for _ in range(t):
	s = input().split(' ')
	if a(int(s[0]), int(s[1]), int(s[2])):
		print('YES')
	else:
		print('NO')


def solve():
	splitted_intput = [int(x) for x in input().split(' ')]
	(x, n, m) = splitted_intput
	while x > 20:
		if n > 0:
			x = int(x / 2) + 10
			n = n - 1
		else:
			break
	while x > 0:
		if m > 0:
			x = x - 10
			m = m - 1
		else:
			break
	ans = 'NO' if x > 0 else 'YES'
	print(ans)

def main():
	T = int(input())
	for i in range(T):
		solve()
main()


n = int(input())
for i in range(n):
	(hp, void, light) = map(int, input().split())
	for i in range(void):
		if hp <= 20:
			break
		hp = int(hp / 2 + 10)
	for i in range(light):
		hp -= 10
	if hp <= 0:
		print('YES')
	else:
		print('NO')


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


class Dragon:

	def __init__(self, hp):
		self.hp = hp

	def is_dead(self):
		return self.hp <= 0

class Kana:

	def __init__(self, voids, lights):
		self.left_void = voids
		self.left_light = lights
		self.left = voids + lights

	def hit_void(self, dragon):
		self.left_void -= 1
		self.left -= 1
		dragon.hp = dragon.hp // 2 + 10
		return dragon

	def hit_light(self, dragon):
		self.left_light -= 1
		self.left -= 1
		dragon.hp -= 10
		return dragon

	def hit_all_light(self, dragon):
		dragon.hp -= self.left_light * 10
		self.left -= self.left_light
		self.left_light = 0
		return dragon

	def hit_all_void(self, dragon):
		while self.left_void > 0:
			self.hit_void(dragon)
		return dragon

	def can_attack(self):
		return self.left > 0
for _ in range(int(input())):
	(hp, voids, lights) = map(int, input().split())
	kana = Kana(voids, lights)
	dragon = Dragon(hp)
	if dragon.hp > 20:
		kana.hit_all_void(dragon)
	kana.hit_all_light(dragon)
	if dragon.is_dead():
		print('YES')
	else:
		print('NO')


import os
import sys
from io import BytesIO, IOBase

def iin():
	return int(input())

def lin():
	return list(map(int, input().split()))

def main():

	def sol(x, n, m):
		while n > 0:
			if x - m * 10 <= 0:
				return True
			else:
				x //= 2
				x += 10
				n -= 1
		if x - m * 10 <= 0:
			return True
		return False
	T = iin()
	while T:
		T -= 1
		(x, n, m) = lin()
		print('YES' if sol(x, n, m) else 'NO')
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


from math import *
from bisect import bisect_left, bisect_right
from sys import stdin, stdout
from collections import Counter
input = lambda : stdin.readline().strip()
print = stdout.write
T = int(input())
for _ in range(T):
	(x, n, m) = map(int, input().split())
	while n != 0 and x > 20:
		x = x // 2 + 10
		n -= 1
	while m != 0:
		x = x - 10
		m -= 1
	if x <= 0:
		print('YES\n')
	else:
		print('NO\n')


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


t = int(input())
for _ in range(t):
	(x, n, m) = map(int, input().split())
	s = x
	(p, q, a) = (0, 0, 0)
	f = 0
	for i in range(n):
		s = s // 2
		s += 10
	if s <= 0:
		print('YES')
		continue
	s = s - 10 * m
	if s <= 0:
		print('YES')
		continue
	w = x
	w = w - 10 * m
	if w <= 0:
		print('YES')
	else:
		print('NO')


def solve(h, n, m):
	for _ in range(n):
		tmp = int(h / 2) + 10
		h = min(h, tmp)
	return 'YES' if h - m * 10 <= 0 else 'NO'

def main():
	t = int(input())
	for _ in range(t):
		print(solve(*map(int, input().split())))
main()


from collections import defaultdict, deque
from heapq import heappush, heappop
from itertools import permutations, accumulate
import sys
import math
import bisect

def LI():
	return [int(x) for x in sys.stdin.buffer.readline().split()]

def I():
	return int(sys.stdin.buffer.readline())

def LS():
	return [list(x) for x in sys.stdin.readline().split()]

def S():
	res = list(sys.stdin.readline())
	if res[-1] == '\n':
		return res[:-1]
	return res

def IR(n):
	return [I() for i in range(n)]

def LIR(n):
	return [LI() for i in range(n)]

def SR(n):
	return [S() for i in range(n)]

def LSR(n):
	return [LS() for i in range(n)]
sys.setrecursionlimit(1000000)
mod = 1000000007

def solve():
	t = I()
	for _ in range(t):
		(x, n, m) = LI()
		while n and x - (x >> 1) > 20:
			x >>= 1
			x += 10
			n -= 1
		y = x
		for _ in range(n):
			x >>= 1
			x += 10
			if x < y:
				y = x
		y -= m * 10
		if y <= 0:
			print('YES')
		else:
			print('NO')
	return
solve()


import sys
input = sys.stdin.buffer.readline

def task(x, n, m):
	if x > 20:
		for _ in range(n):
			x = x // 2 + 10
			if x == 0:
				return 'YES'
			if x < 21:
				break
	if x <= m * 10:
		return 'YES'
	return 'NO'
for _ in [0] * int(input()):
	(x, n, m) = list(map(int, input().split()))
	print(task(x, n, m))


I = lambda : list(map(int, input().split()))
for tc in range(int(input())):
	(a, b, c) = I()
	f = 1
	(aa, bb, cc) = (a, b, c)
	while cc:
		aa -= 10
		cc -= 1
		if aa <= 0:
			f = 0
	while bb:
		aa //= 2
		aa += 10
		if aa <= 0:
			f = 0
		bb -= 1
	while b:
		a //= 2
		a += 10
		if a <= 0:
			f = 0
		b -= 1
	while c:
		a -= 10
		if a <= 0:
			f = 0
		c -= 1
	if aa <= 0 or a <= 0 or (not f):
		print('YES')
	else:
		print('NO')


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


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


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


for k in range(int(input())):
	(hp, n, m) = map(int, input().split())
	i = 0
	j = 0
	while j < n:
		conta = hp - (hp // 2 + 10)
		if conta > 0:
			hp = hp // 2 + 10
			j += 1
		else:
			break
	hp -= 10 * m
	if hp <= 0:
		print('YES')
	else:
		print('NO')


def dragon_quest(x, n, m):
	for i in range(n + 1):
		if x <= 10 * m:
			return 'YES'
		x = x // 2 + 10
	return 'NO'
t = int(input())
for i in range(t):
	(x, n, m) = map(int, input().split())
	print(dragon_quest(x, n, m))


def foo(x, a, b):
	original = x
	if x <= 0:
		return True
	if a:
		x = x // 2 + 10
		if x in d:
			return d[x]
		d[x] = foo(x, a - 1, b)
		if d[x]:
			return True
	if b:
		x = original - 10
		if x in d:
			return d[x]
		d[x] = foo(x, a, b - 1)
		if d[x]:
			return True
	d[original] = False
	return False
test = int(input())
while test:
	(x, a, b) = (int(x) for x in input().split())
	d = {}
	if foo(x, a, b):
		print('YES')
	else:
		print('NO')
	test -= 1


import sys
import math
input = sys.stdin.readline

def int_array():
	return list(map(int, input().strip().split()))

def str_array():
	return input().strip().split()
for __ in range(int(input())):
	(x, n, m) = int_array()
	sure = 10 * m
	if x <= sure:
		print('YES')
		continue
	for _ in range(n):
		x = x // 2 + 10
		if x <= sure:
			break
	if x <= sure:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	l = list(map(int, input().split()))
	x = l[0]
	flag = False
	n = l[1]
	m = l[2]
	(gf, fg) = (False, False)
	while True:
		cp = x
		cx = x
		if n > 0:
			x = x // 2 + 10
			n = n - 1
		if cp <= x:
			n = n + 1
			x = cp
			fg = True
			break
		if x <= 0:
			gf = True
			break
	if gf == True:
		print('True')
	elif fg == True:
		x = x - 10 * m
		if x <= 0:
			print('YES')
		else:
			(gf, fg) = (False, False)
			while True:
				cp = x
				cx = x
				if n > 0:
					x = x // 2 + 10
					n = n - 1
				if cp <= x:
					n = n + 1
					x = cp
					fg = True
					break
				if x <= 0:
					gf = True
					break
			if gf == True:
				print('YES')
			else:
				print('NO')


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


import os, sys, bisect, copy
from collections import defaultdict, Counter, deque
from functools import lru_cache
if os.path.exists('in.txt'):
	sys.stdin = open('in.txt', 'r')
if os.path.exists('out.txt'):
	sys.stdout = open('out.txt', 'w')

def input():
	return sys.stdin.readline()

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


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


for _ in range(int(input())):
	(a, b, c) = list(map(int, input().split()))
	if a < 20:
		if a / 10 > c:
			print('NO')
		else:
			print('YES')
	else:
		for i in range(b):
			a = int(a / 2) + 10
		if a / 10 > c:
			print('NO')
		else:
			print('YES')


from bisect import bisect_left as lower_bound, bisect_right as upper_bound
from sys import stdin, stdout
from collections import defaultdict

def solve(arr, n):
	pass

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


t = int(input())

def attack1(h):
	return h // 2 + 10
for case in range(t):
	(h, n, m) = map(int, input().split())
	for i in range(n):
		if h <= 20:
			break
		h = attack1(h)
	if h <= m * 10:
		print('YES')
	else:
		print('NO')


import sys
import math
from collections import defaultdict

def solve():
	(x, n, m) = map(int, input().split())
	while n or m:
		if x <= 0:
			print('YES')
			return
		void = x // 2 + 10
		strike = x - 10
		if n > 0 and void < x:
			x = void
			n -= 1
		elif m > 0:
			x = strike
			m -= 1
		else:
			break
	if x <= 0:
		print('YES')
	else:
		print('NO')
test_cases = int(input())
for _ in range(test_cases):
	solve()


num = int(input())

def solve(x, n, m):
	for i in range(n):
		if x <= 0:
			return 'YES'
		if x <= 20:
			n = n - i + 1
			continue
		x = x // 2 + 10
	for _ in range(m):
		if x <= 0:
			return 'YES'
		x -= 10
	if x <= 0:
		return 'YES'
	else:
		return 'NO'
for _ in range(num):
	pos_int = input()
	(x, n, m) = map(int, pos_int.split())
	str_ = solve(x, n, m)
	print(str_)


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


from math import inf
t = int(input())
for q in range(t):
	(x, n, m) = [int(i) for i in input().split()]
	while x > 20 and n:
		x = x // 2 + 10
		n -= 1
	if x <= m * 10:
		print('YES')
	else:
		print('NO')


import math
for _ in range(int(input())):
	(n, m, k) = map(int, input().split())
	won = 0
	if won == 0 and m > 0:
		while m > 0:
			if n <= 20:
				break
			m -= 1
			n = n // 2 + 10
	if won == 0 and k > 0:
		if k * 10 >= n:
			print('Yes')
			won = 1
	if won == 0:
		print('NO')


import sys
import io, os
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
	if x <= 0:
		print('YES')
	else:
		print('NO')


gg = 'abcdefghijklmnopqrstuvwxyz'
t = int(input())
while t:
	t -= 1
	(x, n, m) = map(int, input().split())
	f = 1
	while x > 0:
		if x <= 20 and m > 0 and (n > 0):
			x -= 10
			m -= 1
			if x < 1:
				break
		elif x > 20 and m > 0 and (n > 0):
			x = x // 2 + 10
			n -= 1
			if x < 1:
				break
		elif n < 1 and m > 0:
			x -= 10
			m -= 1
			if x < 1:
				break
		elif m < 1 and n > 0:
			x = x // 2 + 10
			n -= 1
			if x < 1:
				break
		elif n < 1 and m < 1 and (x > 0):
			f = 0
			print('NO')
			break
	if f:
		print('YES')


def dragon(hpp, nn, mm):
	hp = hpp
	n = nn
	while n > 0 and int(hp // 2) + 10 < hp:
		n = n - 1
		hp = int(hp // 2) + 10
	hp = hp - 10 * mm
	if hp > 0:
		return 'NO'
	return 'YES'
x = int(input())
ret = []
for i in range(x):
	t = input().split(' ')
	ret.append(dragon(int(t[0]), int(t[1]), int(t[2])))
for i in ret:
	print(i)


numdrag = int(input())

def solve(hp, void, lightning):
	while hp > 0:
		if lightning == 0 and hp > 0:
			return 'NO'
		if void > 0 and hp > 20:
			void = void - 1
			hp = int(hp / 2) + 10
		if (void == 0 or hp <= 20) and lightning > 0:
			lightning = lightning - 1
			hp = hp - 10
	return 'YES'
for i in range(numdrag):
	(hp, void, lightning) = input().split()
	hp = int(hp)
	void = int(void)
	lightning = int(lightning)
	print(solve(hp, void, lightning))


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


for _ in range(int(input())):
	(h, n, m) = map(int, input().split())
	f = False
	while n:
		if h <= m * 10:
			print('YES')
			f = True
			break
		h = h // 2 + 10
		n -= 1
	if h <= m * 10 and (not f):
		print('YES')
		f = True
	if not f:
		print('NO')


import sys

def solve():
	(x, n, m) = map(int, sys.stdin.readline().split(' '))
	while x > 0 and (n > 0 or m > 0):
		if x >= 40 and n > 0:
			x = x // 2 + 10
			n -= 1
		elif x <= m * 10:
			print('YES')
			return
		elif x >= 21 and n > 0:
			x = x // 2 + 10
			n -= 1
		else:
			break
	print('NO')
t = int(sys.stdin.readline())
while t > 0:
	solve()
	t -= 1


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


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


from math import factorial
from math import log, ceil
from collections import defaultdict
from math import *
from sys import stdin, stdout
import itertools
import os
import sys
import threading
from collections import deque, Counter, OrderedDict, defaultdict
from heapq import *
from fractions import Fraction
mod = 998244353

def ii():
	return int(input())

def si():
	return str(input())

def mi():
	return map(int, input().split())

def li():
	return list(mi())

def fii():
	return int(stdin.readline())

def fsi():
	return str(stdin.readline())

def fmi():
	return map(int, stdin.readline().split())

def fli():
	return list(fmi())
abd = {'a': 0, 'b': 1, 'c': 2, 'd': 3, 'e': 4, 'f': 5, 'g': 6, 'h': 7, 'i': 8, 'j': 9, 'k': 10, 'l': 11, 'm': 12, 'n': 13, 'o': 14, 'p': 15, 'q': 16, 'r': 17, 's': 18, 't': 19, 'u': 20, 'v': 21, 'w': 22, 'x': 23, 'y': 24, 'z': 25}

def getKey(item):
	return item[0]

def sort2(l):
	return sorted(l, key=getKey)

def d2(n, m, num):
	return [[num for x in range(m)] for y in range(n)]

def isPowerOfTwo(x):
	return x and (not x & x - 1)

def decimalToBinary(n):
	return bin(n).replace('0b', '')

def ntl(n):
	return [int(i) for i in str(n)]

def powerMod(x, y, p):
	res = 1
	x %= p
	while y > 0:
		if y & 1:
			res = res * x % p
		y = y >> 1
		x = x * x % p
	return res
graph = defaultdict(list)
visited = [0] * 1000000
col = [-1] * 1000000

def bfs(d, v):
	q = []
	q.append(v)
	visited[v] = 1
	while len(q) != 0:
		x = q[0]
		q.pop(0)
		for i in d[x]:
			if visited[i] != 1:
				visited[i] = 1
				q.append(i)
		print(x)

def make_graph(e):
	d = {}
	for i in range(e):
		(x, y) = mi()
		if x not in d:
			d[x] = [y]
		else:
			d[x].append(y)
		if y not in d:
			d[y] = [x]
		else:
			d[y].append(x)
	return d

def gr2(n):
	d = defaultdict(list)
	for i in range(n):
		(x, y) = mi()
		d[x].append(y)
	return d

def connected_components(graph):
	seen = set()

	def dfs(v):
		vs = set([v])
		component = []
		while vs:
			v = vs.pop()
			seen.add(v)
			vs |= set(graph[v]) - seen
			component.append(v)
		return component
	ans = []
	for v in graph:
		if v not in seen:
			d = dfs(v)
			ans.append(d)
	return ans

def primeFactors(n):
	s = set()
	while n % 2 == 0:
		s.add(2)
		n = n // 2
	for i in range(3, int(sqrt(n)) + 1, 2):
		while n % i == 0:
			s.add(i)
			n = n // i
	if n > 2:
		s.add(n)
	return s

def find_all(a_str, sub):
	start = 0
	while True:
		start = a_str.find(sub, start)
		if start == -1:
			return
		yield start
		start += len(sub)

def SieveOfEratosthenes(n, isPrime):
	isPrime[0] = isPrime[1] = False
	for i in range(2, n):
		isPrime[i] = True
	p = 2
	while p * p <= n:
		if isPrime[p] == True:
			i = p * p
			while i <= n:
				isPrime[i] = False
				i += p
		p += 1
	return isPrime

def dijkstra(edges, f, t):
	g = defaultdict(list)
	for (l, r, c) in edges:
		g[l].append((c, r))
	(q, seen, mins) = ([(0, f, ())], set(), {f: 0})
	while q:
		(cost, v1, path) = heappop(q)
		if v1 not in seen:
			seen.add(v1)
			path = (v1, path)
			if v1 == t:
				return (cost, path)
			for (c, v2) in g.get(v1, ()):
				if v2 in seen:
					continue
				prev = mins.get(v2, None)
				next = cost + c
				if prev is None or next < prev:
					mins[v2] = next
					heappush(q, (next, v2, path))
	return float('inf')

def binsearch(a, l, r, x):
	while l <= r:
		mid = l + (r - 1) // 2
		if a[mid]:
			return mid
		elif a[mid] > x:
			l = mid - 1
		else:
			r = mid + 1
	return -1

def find_all_paths(graph, start, end, path=[]):
	path = path + [start]
	if start == end:
		return path
	paths = []
	for node in graph[start]:
		if node not in path:
			newpaths = find_all_paths(graph, node, end, path)
			for newpath in newpaths:
				paths.append(newpath)
	return paths
for _ in range(ii()):
	(h, n, m) = mi()
	if h > 10:
		for i in range(n):
			h = h // 2
			h += 10
	for i in range(m):
		h -= 10
	if h > 0:
		print('NO')
	else:
		print('YES')


def process(x, n, m):
	if x > 20:
		for i in range(n):
			x = x // 2 + 10
			if x <= 0:
				return 'YES'
	for i in range(m):
		x -= 10
		if x <= 0:
			return 'YES'
	return 'NO'
tests = int(input())
for test in range(tests):
	(x, n, m) = list(map(int, input().split()))
	result = process(x, n, m)
	print(result)


t = int(input())
for _ in range(t):
	(n, a, b) = map(int, input().split(' '))
	flag = 0
	for i in range(a):
		if n // 2 + 10 < n:
			n = n // 2 + 10
		else:
			break
		if n <= 0:
			flag = 1
			break
	if n <= b * 10:
		flag = 1
	if flag == 0:
		print('NO')
	else:
		print('YES')


def solve(x, n, m):
	for i in range(n):
		nx = x // 2 + 10
		if nx < x:
			x = nx
		else:
			break
	return 'YES' if x <= 10 * m else 'NO'

def main():
	t = int(input())
	for _ in range(t):
		(x, n, m) = map(int, input().split())
		answer = solve(x, n, m)
		print(answer)
main()


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


import sys
input = lambda : sys.stdin.readline().strip()
t = int(input())
while t:
	t -= 1
	(x, n, m) = map(int, input().split())
	cur = x
	while n > 0 and cur // 2 + 10 < cur:
		cur = cur // 2 + 10
		n -= 1
	while m > 0 and cur > 0:
		cur = cur - 10
		m -= 1
	if cur <= 0:
		print('YES')
	else:
		print('NO')


from sys import stdin, stdout
for _ in range(int(input())):
	(p, ab, dec) = map(int, stdin.readline().split())
	while ab > 0 and p > 20:
		p = p // 2 + 10
		ab -= 1
	for i in range(dec):
		p -= 10
	print('YES' if p <= 0 else 'NO')


import sys

def set_debug(debug_mode=False):
	if debug_mode:
		fin = open('input.txt', 'r')
		fout = open('output.txt', 'w')
		sys.stdin = fin
		sys.stdout = fout
set_debug(False)
t = int(input())
for ti in range(1, t + 1):
	(h, m, n) = map(int, input().split())
	while h >= 20 and m > 0:
		h = h // 2 + 10
		m -= 1
	if h <= 10 * n:
		print('YES')
	else:
		print('NO')


trials = int(input())
answers = []

def voidattack(hp):
	return int(hp / 2) + 10

def strikeattack(hp):
	return hp - 10

def dragonbattle():
	i = input().split()
	hp = int(i[0])
	void = int(i[1])
	strike = int(i[2])
	while void != 0 and voidattack(hp) < hp:
		hp = voidattack(hp)
		void -= 1
	if hp > strike * 10:
		answers.append(f'NO')
	else:
		answers.append(f'YES')
while trials != 0:
	trials -= 1
	dragonbattle()
for i in answers:
	print(i)


for _ in range(int(input())):
	a = input().split(' ')
	h = int(a[0])
	n = int(a[1])
	m = int(a[2])
	minh = h
	while n > 0:
		h = h // 2 + 10
		if h < minh:
			minh = h
		n = n - 1
	h = minh - m * 10
	if h <= 0:
		print('YES')
	else:
		print('NO')


import sys
input = sys.stdin.readline
from collections import *
t = int(input())
for _ in range(t):
	(x, n, m) = map(int, input().split())
	for _ in range(n):
		if x // 2 + 10 >= x:
			break
		x = x // 2 + 10
	if x - 10 * m <= 0:
		print('YES')
	else:
		print('NO')


t = int(input())
while t:
	lst = list(map(int, input().split()))
	if lst[0] <= 10 * lst[2]:
		print('YES')
	else:
		count = 1
		while lst[0] > 10 * lst[2] and count <= lst[1]:
			lst[0] = lst[0] // 2
			count += 1
			lst[0] += 10
		if lst[0] > 10 * lst[2]:
			print('NO')
		else:
			print('YES')
	t -= 1


def void_attack(x):
	return x // 2 + 10

def light_attack(x):
	return x - 10
testCases = int(input())
for _ in range(testCases):
	(hit_point, num_void, num_light) = list(map(int, input().split()))
	while True:
		if hit_point > 20:
			if num_void > 0:
				hit_point = void_attack(hit_point)
				num_void -= 1
			elif num_light > 0:
				hit_point = light_attack(hit_point)
				num_light -= 1
			else:
				break
		elif hit_point <= 20:
			hit_point = hit_point - num_light * 10
			num_light = 0
			break
		elif hit_point <= 0:
			break
		elif num_light == 0 and num_void == 0:
			break
	if hit_point > 0:
		print('NO')
	else:
		print('YES')


from sys import stdin
input = stdin.readline
for _ in range(int(input())):
	(a, b, c) = map(int, input().split())
	flag = 'NO'
	if c > 0 and a <= 10:
		flag = 'YES'
	for x in range(b):
		a = a // 2 + 10
		if a <= 10 and c > 0:
			flag = 'YES'
	a -= c * 10
	if flag == 'YES' or a <= 0:
		print('YES')
	else:
		print('NO')


n = int(input())
while n:
	l1 = [int(x) for x in input().split()]
	h = l1[0]
	va = l1[1]
	ls = l1[2]
	while h >= 20 and va > 0:
		va -= 1
		h = int(h / 2) + 10
	while h >= 0 and ls > 0:
		ls -= 1
		h -= 10
	if h <= 0:
		print('YES')
	else:
		print('NO')
	n -= 1


def void_absorption(x):
	return int(x / 2) + 10

def lightning_strike(x):
	return x - 10
for i in range(int(input())):
	(x, n, m) = map(int, input().split())
	flag = 1
	while n > 0 or m > 0:
		if x < 20 and m > 0:
			x = lightning_strike(x)
			m -= 1
		elif x >= 20 and n > 0:
			x = void_absorption(x)
			n -= 1
		else:
			if n > 0:
				x = void_absorption(x)
				n -= 1
			if m > 0:
				x = lightning_strike(x)
				m -= 1
		if x <= 0:
			flag = 0
			break
	print('YNEOS'[flag::2])


def main():
	for _ in inputt():
		(x, n, m) = inputi()
		while x > 20 and n:
			x = x // 2 + 10
			n -= 1
		x -= 10 * m
		print('YES' if x <= 0 else 'NO')
from math import *
from heapq import *
from itertools import *
from functools import reduce, lru_cache, partial
from collections import Counter, defaultdict
import re, copy, operator, cmath
import sys, io, os, builtins
sys.setrecursionlimit(1000)
BUFSIZE = 8192

class FastIO(io.IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = io.BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(io.IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')

def print(*args, **kwargs):
	sys.stdout.write(kwargs.pop('split', ' ').join(map(str, args)))
	sys.stdout.write(kwargs.pop('end', '\n'))
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip()
inputt = lambda t=0: range(t) if t else range(int(input()))
inputs = lambda : input().split()
inputi = lambda : map(int, inputs())
inputl = lambda t=0, k=inputi: map(list, (k() for _ in range(t))) if t else list(k())

def len(a):
	if isinstance(a, range):
		return -((a.start - a.stop) // a.step)
	return builtins.len(a)

def bisect_left(a, x, key=None, lo=0, hi=None):
	if lo < 0:
		lo = 0
	if hi == None:
		hi = len(a)
	if key == None:
		key = do_nothing
	while lo < hi:
		mid = (lo + hi) // 2
		if key(a[mid]) < x:
			lo = mid + 1
		else:
			hi = mid
	return lo

def bisect_right(a, x, key=None, lo=0, hi=None):
	if lo < 0:
		lo = 0
	if hi == None:
		hi = len(a)
	if key == None:
		key = do_nothing
	while lo < hi:
		mid = (lo + hi) // 2
		if x < key(a[mid]):
			hi = mid
		else:
			lo = mid + 1
	return lo

def insort_left(a, x, key=None, lo=0, hi=None):
	lo = bisect_left(a, x, key, lo, hi)
	a.insert(lo, x)

def insort_right(a, x, key=None, lo=0, hi=None):
	lo = bisect_right(a, x, key, lo, hi)
	a.insert(lo, x)
do_nothing = lambda x: x
bisect = bisect_right
insort = insort_right

def index(a, x, default=None, key=None, lo=0, hi=None):
	if lo < 0:
		lo = 0
	if hi == None:
		hi = len(a)
	if key == None:
		key = do_nothing
	i = bisect_left(a, x, key, lo, hi)
	if lo <= i < hi and key(a[i]) == x:
		return a[i]
	if default != None:
		return default
	raise ValueError

def find_lt(a, x, default=None, key=None, lo=0, hi=None):
	if lo < 0:
		lo = 0
	if hi == None:
		hi = len(a)
	i = bisect_left(a, x, key, lo, hi)
	if lo < i <= hi:
		return a[i - 1]
	if default != None:
		return default
	raise ValueError

def find_le(a, x, default=None, key=None, lo=0, hi=None):
	if lo < 0:
		lo = 0
	if hi == None:
		hi = len(a)
	i = bisect_right(a, x, key, lo, hi)
	if lo < i <= hi:
		return a[i - 1]
	if default != None:
		return default
	raise ValueError

def find_gt(a, x, default=None, key=None, lo=0, hi=None):
	if lo < 0:
		lo = 0
	if hi == None:
		hi = len(a)
	i = bisect_right(a, x, key, lo, hi)
	if lo <= i < hi:
		return a[i]
	if default != None:
		return default
	raise ValueError

def find_ge(a, x, default=None, key=None, lo=0, hi=None):
	if lo < 0:
		lo = 0
	if hi == None:
		hi = len(a)
	i = bisect_left(a, x, key, lo, hi)
	if lo <= i < hi:
		return a[i]
	if default != None:
		return default
	raise ValueError
main()


import math
T = int(input())
for i in range(T):
	(p, n, m) = map(int, input().split())
	x = 0
	flag = 0
	while p > 0:
		if p > 10 * m and n > 0:
			p = math.floor(p / 2) + 10
			n -= 1
		else:
			x = p - 10 * m
			if x > 0:
				flag = 1
				break
			elif x <= 0:
				flag = 0
				break
	if flag == 0:
		print('YES')
	elif flag == 1:
		print('NO')


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


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


import sys
from pprint import pprint

def solution(x, n, m):
	(m, n) = (m + 1, n + 1)
	dp = [[sys.maxsize for _ in range(n)] for _ in range(m)]
	dp[0][0] = x
	for i in range(1, n):
		dp[0][i] = dp[0][i - 1] // 2 + 10
		if dp[0][i] <= 0:
			return 'YES'
	for i in range(1, m):
		dp[i][0] = dp[i - 1][0] - 10
		if dp[i][0] <= 0:
			return 'YES'
	for i in range(1, m):
		for j in range(1, n):
			dp[i][j] = min(dp[i][j - 1] // 2 + 10, dp[i - 1][j] - 10)
			if dp[i][j] <= 0:
				return 'YES'
	return 'NO'
test_cases = int(input())
for _ in range(test_cases):
	line = input()
	line = list(map(int, line.split(' ')))
	print(solution(*line))


def solve(x, n, m):
	damage = m * 10
	if x <= damage:
		return 'YES'
	for i in range(n):
		damage = (damage - 10) * 2 + 1
		if x <= damage:
			return 'YES'
	return 'NO'
for _ in range(int(input())):
	(x, m, n) = map(int, input().split())
	print(solve(x, m, n))


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


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


cases = int(input())
for i in range(cases):
	(a, b, c) = map(int, input().split())
	for i in range(b):
		if a / 2 + 10 < a:
			a = a / 2 + 10
	for j in range(c):
		if a > 0:
			a -= 10
	if int(a) <= 0:
		print('YES')
	else:
		print('NO')


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


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


import math
for _ in ' ' * int(input()):
	(a, b, c) = map(int, input().split())
	while b and a > 20:
		a = a // 2 + 10
		b -= 1
	if a <= c * 10:
		print('yes')
	else:
		print('no')


import sys
input = sys.stdin.readline
for _ in range(int(input())):
	(x, n, m) = map(int, input().split())
	while True:
		s = int(str(x))
		if x >= 21 and n >= 1:
			n -= 1
			x = x // 2 + 10
		elif m >= 1:
			m -= 1
			x -= 10
		if not n and (not m):
			break
		if x <= 0:
			break
		if s == x:
			break
	if x > 0:
		print('NO')
	else:
		print('YES')


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


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
	print('YES' if x <= m * 10 else 'NO')


for i in range(int(input())):
	(n, b, c) = map(int, input().split())
	while n > 0:
		if b == 0 and c == 0:
			break
		if n > 20:
			if b > 0:
				n = n // 2 + 10
				b -= 1
			elif c > 0:
				n -= 10
				c -= 1
		elif n <= 20:
			if c > 0:
				n -= 10
				c -= 1
			else:
				break
	if n <= 0:
		print('YES')
	else:
		print('NO')


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


t = int(input())
for i in range(t):
	(x, n, m) = map(int, input().split())
	ar = [0] * (n + 1)
	flag = False
	p = x
	if x - 10 * m <= 0:
		print('YES')
	else:
		x = x - 10 * m
		ar[0] = x
		for j in range(1, n + 1):
			ar[j] = 10 + int(ar[j - 1] / 2)
			if ar[j] <= 0:
				flag = True
				break
		if flag == True:
			print('YES')
		else:
			ar = [0] * (n + 1)
			flag = False
			ar[0] = p
			for j in range(1, n + 1):
				ar[j] = 10 + int(ar[j - 1] / 2)
				if ar[j] <= 0:
					flag = True
					break
			p = ar[-1]
			if flag == True:
				print('YES')
			elif p - 10 * m <= 0:
				print('YES')
			else:
				print('NO')


t = int(input())
for i in range(t):
	(x, y, z) = map(int, input().split())
	p = x
	for i in range(y):
		x = x // 2
		x += 10
	r = z * 10
	s = x - r
	s1 = p - r
	k = min(s, s1)
	if k <= 0:
		print('YES')
	else:
		print('NO')


def main():
	d = int(input())
	for i in range(d):
		(d, e, f) = [int(v) for v in input().split()]
		ok = False
		for j in range(0, f + 1):
			(a, b, c) = (d, e, f)
			a = a - 10 * j
			c -= j
			while a >= 20 and b != 0:
				a = a // 2 + 10
				b -= 1
			a = a - 10 * c
			if a <= 0:
				ok = True
				break
		print('YES' if ok else 'NO')
main()


t = int(input())

def count():
	(x, n, m) = list(map(int, input().split(' ')))
	flag = True
	while flag:
		if x // 2 + 10 < x and n > 0:
			x = x // 2 + 10
			n -= 1
		elif m > 0:
			x -= 10
			m -= 1
		if x <= 0 or m == 0:
			flag = False
	if x > 0:
		return 'NO'
	else:
		return 'YES'
for i in range(t):
	print(count())


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


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


t = int(input())
for i in range(t):
	(h, va, ls) = map(int, input().split(' '))
	c = 0
	if h - ls * 10 <= 0:
		print('YES')
		c += 1
	while va > 0:
		h //= 2
		h += 10
		va -= 1
	if h - ls * 10 <= 0 and c == 0:
		print('YES')
	elif c != 1:
		print('NO')


import math
t = int(input())
ans = []
for i in range(t):
	(x, m, n) = map(int, input().split())
	while m > 0 and x > 20:
		x = math.floor(x / 2) + 10
		m -= 1
		if x <= 0:
			ans.append('YES')
			break
	while n > 0 and x > 0:
		n -= 1
		x -= 10
		if x <= 0:
			ans.append('YES')
			break
	if x > 0:
		ans.append('NO')
for j in range(t):
	print(ans[j])


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


for z in range(int(input())):
	(y, n, m) = map(int, input().split())
	for i in range(n):
		if y <= 20:
			break
		y = y // 2 + 10
	for i in range(m):
		y = y - 10
		if y < 0:
			break
	if y <= 0:
		print('YES')
	else:
		print('NO')


t = int(input())

def solve(n):
	A = list(map(int, input().split()))
	life = A.pop(0)
	if life > 0 and A[1] == 0:
		print('NO')
		return
	while life > 20 and A[0] > 0:
		life = int(life / 2) + 10
		A[0] -= 1
	while life > 0 and A[1] > 0:
		life -= 10
		if life < 1:
			print('YES')
			return
		A[1] -= 1
	print('NO')
	return
for i in range(t):
	solve(i)


t = int(input())
while t > 0:
	y = list(map(int, input().split(' ')))
	x = y[0]
	n = y[1]
	m = y[2]
	while x > 20 and n > 0:
		x = x // 2 + 10
		n -= 1
	while m > 0:
		x = x - 10
		m -= 1
	if x > 0:
		print('NO')
	else:
		print('YES')
	t -= 1


t = int(input())
for i in range(t):
	(n, x, y) = input().split()
	(n, x, y) = (int(n), int(x), int(y))
	temp = 10 * y
	flag = 0
	if n <= temp:
		print('YES')
		continue
	for i in range(x):
		n = int(n / 2) + 10
		if n <= temp:
			print('YES')
			flag = 1
			break
	if flag == 1:
		continue
	print('NO')


sets = int(input())
counter = 0
Data = []
while counter < sets:
	data = input()
	data = data.split(' ')
	data = list(map(int, data))
	Data.append(data)
	counter += 1
for i in Data:
	x = i[0]
	m = i[1]
	n = i[2]
	while True:
		if (m == 0 and n == 0) and x > 0:
			print('No')
			break
		elif x <= 0:
			print('Yes')
			break
		if m > 0 and x > 20 and (n > 0):
			x = x // 2 + 10
			m -= 1
			continue
		elif n > 0:
			x -= 10
			n -= 1
			continue
		elif m > 0 and n == 0:
			x = x // 2 + 10
			m -= 1
			continue


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


def mossaA(t):
	return t // 2 + 10

def mossaB(t):
	return t - 10

def f(x, n, m):
	while x > m * 10:
		if n:
			x = mossaA(x)
			n -= 1
		else:
			return False
	return True
t = int(input())
for test in range(t):
	(x, n, m) = map(int, input().rstrip().split())
	if f(x, n, m):
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	(hp, va, ls) = [int(i) for i in input().split()]
	is_dead = False
	if hp <= ls * 10:
		is_dead = True
	else:
		for __ in range(va):
			hp //= 2
			hp += 10
			if hp <= ls * 10:
				is_dead = True
				break
	if is_dead:
		print('YES')
	else:
		print('NO')


def poss(x, n, m, memo):
	if x in memo:
		return memo[x]
	if x <= 0:
		return True
	if n <= 0 and m <= 0:
		return False
	ansn = False
	ansm = False
	if n > 0:
		ansn = poss(x // 2 + 10, n - 1, m, memo)
	if m > 0:
		ansm = poss(x - 10, n, m - 1, memo)
	memo[x] = ansn or ansm
	return memo[x]
t = int(input())
while t > 0:
	(x, n, m) = map(int, input().split())
	memo = {}
	ans = poss(x, n, m, memo)
	if ans == True:
		print('YES')
	else:
		print('NO')
	t -= 1


def is_poss(x, n, m):
	for i in range(n):
		if x <= 20:
			break
		x = int(x / 2) + 10
	x -= 10 * m
	return x <= 0

def main():
	t = int(input())
	for i in range(t):
		(x, n, m) = list(map(int, input().split()))
		if is_poss(x, n, m):
			print('YES')
		else:
			print('NO')
main()


from sys import stdin, stdout
ii1 = lambda : int(stdin.readline().strip())
is1 = lambda : stdin.readline().strip()
iia = lambda : list(map(int, stdin.readline().strip().split()))
isa = lambda : stdin.readline().strip().split()
mod = 1000000007
tc = ii1()
for _ in range(tc):
	(x, n, m) = iia()
	while n and x > 20:
		x = x // 2 + 10
		n -= 1
	while m and x > 0:
		x -= 10
		m -= 1
	if x > 0:
		print('NO')
	else:
		print('YES')


def opti(h, v, l):
	if v == 0:
		return lightning(h, v, l)
	elif l == 0:
		return void(h, v, l)
	elif h > 20:
		return void(h, v, l)
	else:
		return lightning(h, v, l)

def void(h, v, l):
	return (h // 2 + 10, v - 1, l)

def lightning(h, v, l):
	return (h - 10, v, l - 1)
T = int(input())
for test in range(T):
	(h, v, l) = list(map(int, input().split()))
	while h > 0 and (v > 0 or l > 0):
		(h, v, l) = opti(h, v, l)
	if h > 0:
		print('NO')
	else:
		print('YES')


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


t = int(input())
for i in range(t):
	x = input().split()
	(h, va, lst) = (int(x[0]), int(x[1]), int(x[2]))
	while lst != 0 and h > 0:
		if va != 0:
			if h > 20:
				va -= 1
				h = h // 2 + 10
			else:
				lst -= 1
				h -= 10
		else:
			lst -= 1
			h -= 10
	if h <= 0:
		print('YES')
	else:
		print('NO')


def NO():
	return print('NO')

def YES():
	return print('YES')

def INT():
	return int(input())

def LIST():
	return list(map(int, input().split()))

def STR():
	return input()

def MAP():
	return map(int, input().split())
import math
for _ in range(INT()):
	(x, n, m) = MAP()
	for _ in range(n):
		if math.floor(x / 2) + 10 < x:
			x = math.floor(x / 2) + 10
	YES() if x <= 10 * m else NO()


import math
cases = int(input())
full_list = [[*map(lambda x: int(x), input().split())] for i in range(cases)]

def kill_dragon(full_list):
	for i in full_list:
		n = i[1]
		m = i[2]
		h = i[0]
		counter = 0
		while h > 20 and n > 0:
			h = math.floor(h / 2) + 10
			n -= 1
		if h - m * 10 <= 0:
			print('YES')
		else:
			print('NO')
kill_dragon(full_list)


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


from collections import defaultdict, deque
from heapq import heappush, heappop
from bisect import bisect_left, bisect_right
import sys, random, itertools, math
sys.setrecursionlimit(10 ** 5)
input = sys.stdin.readline
sqrt = math.sqrt

def LI():
	return list(map(int, input().split()))

def LF():
	return list(map(float, input().split()))

def LI_():
	return list(map(lambda x: int(x) - 1, input().split()))

def II():
	return int(input())

def IF():
	return float(input())

def S():
	return input().rstrip()

def LS():
	return S().split()

def IR(n):
	return [II() for _ in range(n)]

def LIR(n):
	return [LI() for _ in range(n)]

def FR(n):
	return [IF() for _ in range(n)]

def LFR(n):
	return [LI() for _ in range(n)]

def LIR_(n):
	return [LI_() for _ in range(n)]

def SR(n):
	return [S() for _ in range(n)]

def LSR(n):
	return [LS() for _ in range(n)]
mod = 1000000007
inf = float('INF')

def solve():
	for _ in range(II()):
		(x, n, m) = LI()
		while x >= 20 and n:
			x = x // 2 + 10
			n -= 1
		if 10 * m >= x:
			print('YES')
		else:
			print('NO')
	return
solve()


t = int(input())
out = ''
while t > 0:
	t -= 1
	(x, n, m) = [int(i) for i in input().split(' ')]
	if x <= m * 10:
		out += 'YES\n'
		continue
	while x > 20 and n > 0:
		x //= 2
		x += 10
		n -= 1
	for i in range(m):
		x -= 10
	if x <= 0:
		out += 'YES\n'
		continue
	out += 'NO\n'
print(out)


test_cases = input()
results = []
for i in range(int(test_cases)):
	inputs = input().split(' ')
	hit_point = int(inputs[0])
	void = int(inputs[1])
	light = int(inputs[2])
	if hit_point > light * 10:
		while void:
			hit_point = int(hit_point / 2) + 10
			void -= 1
		hit_point = hit_point - light * 10
	else:
		hit_point = 0
	if hit_point <= 0:
		results.append('YES')
	else:
		results.append('NO')
for idx in results:
	print(idx)


import math
t = int(input())
while t:
	t -= 1
	(x, n, m) = map(int, input().split())
	while n:
		n -= 1
		if x > 20:
			x = math.floor(x / 2) + 10
			if x <= 0:
				break
	while m:
		m -= 1
		x -= 10
	if x <= 0:
		print('Yes')
	else:
		print('No')


def opn(h):
	return h // 2 + 10

def opm(h):
	return h - 10
for _ in range(int(input())):
	(x, n, m) = map(int, input().split())
	y = x
	for i in range(n):
		x = opn(x)
	if x == 0 or x < 0:
		print('YES')
		continue
	for i in range(m):
		x = opm(x)
	if x == 0 or x < 0:
		print('YES')
		continue
	x = y
	for i in range(m):
		x = opm(x)
	if x == 0 or x < 0:
		print('YES')
		continue
	for i in range(n):
		x = opn(x)
	if x == 0 or x < 0:
		print('YES')
		continue
	print('NO')


from sys import stdin
input = lambda : stdin.readline().strip()
from math import ceil, sqrt, factorial, gcd
for _ in range(int(input())):
	(k, n, m) = map(int, input().split())
	while k > 0:
		if n > 0 and k - k // 2 - 10 > 0:
			k = k // 2 + 10
			n -= 1
		elif m > 0:
			k = k - 10
			m -= 1
		else:
			break
	if k > 0:
		print('NO')
	else:
		print('YES')


t = int(input())
a = []
for i in range(t):
	a.append(list(map(int, input().split()[:3])))

def chk(x, m, n):
	if n >= x / 10:
		return 'YES'
	while m > 0:
		if x > 20:
			x = x // 2 + 10
			m -= 1
			if x <= 0:
				return 'YES'
		if x <= 20:
			break
	while n > 0:
		x -= 10
		n -= 1
		if x <= 0:
			return 'YES'
	return 'NO'
for i in a:
	print(chk(i[0], i[1], i[2]))


t = int(input())
for q in range(t):
	(hp, void, strike) = map(int, input().split())
	if strike * 10 >= hp:
		print('YES')
		continue
	while void > 0 and hp > 20:
		if hp >= 20 and void > 0:
			void -= 1
			hp = hp // 2 + 10
	if strike * 10 >= hp:
		hp = 0
		strike = 0
	else:
		hp = 1
	if hp <= 0:
		print('YES')
	else:
		print('NO')


for t in range(int(input())):
	(x, n, m) = map(int, input().split())
	r = x - m * 10
	if r < 1:
		print('YES')
	else:
		r = x
		f = 0
		for i in range(n):
			r = r // 2 + 10
			if r < 1:
				f = 1
				break
		if f:
			print('YES')
		elif r - m * 10 < 1:
			print('YES')
		else:
			print('NO')


import os
import sys
from io import BytesIO, IOBase
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
testcases = int(input())
for j in range(testcases):
	vals = list(map(int, input().split()))
	x = vals[0]
	n = vals[1]
	m = vals[2]
	while x > 20 and n >= 1:
		x = x // 2 + 10
		n -= 1
	while x > 0 and m >= 1:
		x -= 10
		m -= 1
	if x > 0:
		print('NO')
	else:
		print('YES')


t = int(input())
for test in range(t):
	(x, n, m) = [int(x) for x in input().split()]
	i = n
	tot = x
	if tot - m * 10 <= 0:
		print('YES')
		continue
	while i > 0:
		tot = tot // 2
		tot += 10
		i -= 1
	if tot - m * 10 <= 0:
		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')


from math import floor
t = int(input())
for x in range(t):
	(x, n, m) = map(int, input().split())
	if m * 10 >= x:
		print('YES')
		continue
	for i in range(n):
		x = floor(x / 2) + 10
	if m * 10 >= x:
		print('YES')
		continue
	else:
		print('NO')


n = int(input())
string = []
for i in range(0, n):
	string.append(list(map(int, input().strip().split())))
for i in range(0, n):
	for j in range(0, string[i][1]):
		if string[i][0] <= 20:
			break
		string[i][0] = int(string[i][0] / 2) + 10
	string[i][0] = string[i][0] - string[i][2] * 10
	if string[i][0] <= 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	num1 = list(map(int, input().split()))
	x = num1[0]
	n = num1[1]
	m = num1[2]
	import math
	while n > 0 and m > 0:
		if x > 20:
			x = x // 2 + 10
			n -= 1
		else:
			x -= 10
			m -= 1
	while m > 0:
		x -= 10
		m -= 1
	if x <= 0:
		print('YES')
	else:
		print('NO')


import sys
import math
input = sys.stdin.readline
t = int(input())
for _ in range(t):
	(x, n, m) = map(int, input().split())
	trys = n + m
	res = 'NO'
	if x <= 10 * m:
		print('YES')
		continue
	for _ in range(trys):
		if n > 0:
			x = x // 2 + 10
			n -= 1
			trys -= 1
		else:
			x -= 10
			trys -= 1
		if x <= 0:
			res = 'YES'
			break
	print(res)


import math
t = int(input())
for i in range(t):
	(x, n, m) = map(int, input().split())
	temp = x
	flag = 1
	while n:
		if x <= 0:
			flag = 0
			print('YES')
			break
		x = x // 2 + 10
		if x >= temp:
			x = temp
			break
		n -= 1
	while m:
		if x <= 0:
			flag = 0
			print('YES')
			break
		m -= 1
		x -= 10
	if x <= 0 and flag == 1:
		print('YES')
	elif flag == 1:
		print('NO')


import sys
input = sys.stdin.readline
t = int(input())
while t > 0:
	t -= 1
	(x, n, m) = map(int, input().split())
	flag = 0
	while x >= 20 and n > 0:
		x = x // 2 + 10
		if x <= m * 10:
			flag = 1
			break
		n -= 1
	x -= m * 10
	if x <= 0:
		flag = 1
	for i in range(n):
		x = x // 2 + 10
		if x <= 0:
			flag = 1
	print('YES' if flag == 1 else 'NO')


t = int(input())
for _ in range(t):
	(a, b, c) = map(int, input().split())
	ans = a
	f = 0
	for i in range(b):
		if ans <= c * 10:
			print('YES')
			f = 1
			break
		ans = int(ans / 2) + 10
	if ans <= c * 10 and f == 0:
		print('YES')
	elif f == 0:
		print('NO')


test_cases = int(input())
fight_data = []
while test_cases > 0:
	fight_data.append(list(map(int, input().split())))
	test_cases -= 1
for i in range(0, len(fight_data)):
	monster_health = fight_data[i][0]
	void_atk = fight_data[i][1]
	lightning = fight_data[i][2]
	if monster_health > 20:
		while void_atk > 0:
			monster_health = monster_health // 2 + 10
			void_atk -= 1
	if monster_health > lightning * 10:
		print('NO')
	else:
		print('YES')


test = int(input())
sol = []
while test:
	test -= 1
	(n, b, c) = tuple(map(int, input().split()))
	while c or b:
		if 10 * c >= n:
			n = 0
		elif b:
			n = n // 2 + 10
			b -= 1
		else:
			break
		if n <= 0:
			break
	if n <= 0:
		sol.append('YES')
	else:
		sol.append('NO')
for i in sol:
	print(i)


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


tests = int(input())
for i in range(tests):
	line = list(map(int, input().split()))
	points = line[0]
	absorption = line[1]
	strike = line[2]
	while points > 20 and absorption > 0:
		points = points // 2 + 10
		absorption -= 1
	for j in range(strike):
		points -= 10
	if points <= 0:
		print('Yes')
	else:
		print('No')


n = int(input())
for i in range(n):
	(a, b, c) = [int(i) for i in input().split(' ')]
	c = 10 * c
	while b > 0 and a > c:
		a = a // 2 + 10
		b -= 1
	a -= c
	if a > 0:
		print('NO')
	else:
		print('YES')


def solve():
	(x, n, m) = [int(v) for v in input().split()]
	while (n > 0 or m > 0) and x > 0:
		if n and x // 2 + 10 < x:
			x = x // 2 + 10
			n -= 1
		elif m > 0:
			x -= 10
			m -= 1
		else:
			break
	if x > 0:
		print('NO')
	else:
		print('YES')
t = int(input())
for _ in range(t):
	solve()


T = int(input())
for _ in range(T):
	(s, n, m) = 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):
	(h, n, m) = map(int, input().split())
	for _ in range(n):
		h = min(h, h // 2 + 10)
	h -= m * 10
	print('YES' if h <= 0 else 'NO')


t = int(input())
while t > 0:
	(x, n, m) = input().split()
	x = int(x)
	n = int(n)
	m = int(m)
	flag = False
	while n > 0 and int(x / 2) + 10 < x:
		x = int(x / 2)
		x += 10
		if x <= 0:
			flag = True
		n -= 1
	while m > 0:
		x -= 10
		if x <= 0:
			flag = True
		m -= 1
	print('YES' if flag else 'NO')
	t -= 1


a = int(input())
ans = []
for i in range(a):
	p = 'YES'
	l = list(map(int, input().split()))
	while l[0] > 0:
		if l[1] > 0 and l[0] > 20:
			l[0] //= 2
			l[0] += 10
			l[1] -= 1
		elif l[2] > 0:
			l[0] -= 10
			l[2] -= 1
		else:
			p = 'NO'
			break
	ans.append(p)
for i in ans:
	print(i)


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


import math, string, itertools, fractions, heapq, collections, re, array, bisect, sys, copy, functools
sys.setrecursionlimit(10 ** 7)
inf = 10 ** 20
eps = 1.0 / 10 ** 10
mod = 10 ** 9 + 7
mod2 = 998244353
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]

def LI():
	return list(map(int, sys.stdin.readline().split()))

def LLI():
	return [list(map(int, l.split())) for l in sys.stdin.readlines()]

def LI_():
	return [int(x) - 1 for x in sys.stdin.readline().split()]

def LF():
	return [float(x) for x in sys.stdin.readline().split()]

def LS():
	return sys.stdin.readline().split()

def I():
	return int(sys.stdin.readline())

def F():
	return float(sys.stdin.readline())

def S():
	return input()

def pf(s):
	return print(s, flush=True)

def pe(s):
	return print(str(s), file=sys.stderr)

def JA(a, sep):
	return sep.join(map(str, a))

def JAA(a, s, t):
	return s.join((t.join(map(str, b)) for b in a))

def main():
	t = I()
	rr = []
	for _ in range(t):
		(x, n, m) = LI()
		for _ in range(n):
			if x < 12:
				break
			x = x // 2 + 10
		x -= m * 10
		if x <= 0:
			rr.append('YES')
		else:
			rr.append('NO')
	return JA(rr, '\n')
print(main())


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


n = int(input())
for qw in range(n):
	s = input().split(' ')
	a = int(s[0])
	b = int(s[1])
	c = int(s[2])
	for j in range(b):
		if a <= 20:
			break
		a = int(a / 2) + 10
	a -= 10 * c
	if a <= 0:
		print('YES')
	else:
		print('NO')


import sys
input = sys.stdin.readline

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())

def bool_to_str(flag):
	if flag:
		return 'YES'
	else:
		return 'NO'
tests = inp()
for i in range(tests):
	line = inlt()
	health = line[0]
	voids = line[1]
	strikes = line[2]
	while health > 20 and voids > 0:
		health //= 2
		health += 10
		voids -= 1
	while health > 0 and strikes > 0:
		health -= 10
		strikes -= 1
	if health <= 0:
		print('YES')
	else:
		print('NO')


from sys import stdin, exit
input = stdin.readline

def i():
	return input()

def ii():
	return int(input())

def iis():
	return map(int, input().split())

def liis():
	return list(map(int, input().split()))

def print_array(a):
	print(' '.join(map(str, a)))
t = ii()
for _ in range(t):
	(x, n, m) = iis()
	for i in range(n):
		nexti = x // 2 + 10
		if nexti < x:
			x = nexti
	for i in range(m):
		x -= 10
	if x <= 0:
		print('YES')
	else:
		print('NO')


from sys import stdin, stdout
input = stdin.readline
for _ in range(int(input())):
	(x, n, m) = map(int, input().split())
	ch = 0
	while x > 20 and n > 0:
		n -= 1
		x = x // 2 + 10
	while x > 0 and m > 0:
		m -= 1
		x -= 10
	if x <= 0:
		print('YES')
	else:
		print('NO')


n = int(input())
for x in range(n):
	l = list(map(int, input().split()))
	a = l[0]
	b = l[1]
	c = l[2]
	import math
	if a < 10 or a == 10:
		j = 0
		while j < c:
			a = a - 10
			j = j + 1
			if j == c:
				break
		if a < 0 or a == 0:
			print('YES')
		else:
			i = 0
			while i < b:
				a = math.floor(a / 2) + 10
				i = i + 1
				if i == b:
					break
			if a < 0 or a == 0:
				print('YES')
			else:
				print('NO')
	else:
		i = 0
		while i < b:
			a = math.floor(a / 2) + 10
			i = i + 1
			if i == b:
				break
		if a < 0 or a == 0:
			print('YES')
		else:
			j = 0
			while j < c:
				a = a - 10
				j = j + 1
				if j == c:
					break
			if a < 0 or a == 0:
				print('YES')
			else:
				print('NO')


import sys
lines = sys.stdin.readlines()
T = int(lines[0].strip())
for t in range(1, T + 1):
	(x, n, m) = map(int, lines[t].strip().split(' '))
	tmp = x
	if m == 0:
		print('NO')
		continue
	while tmp > 20 and n > 0:
		tmp = tmp // 2 + 10
		n -= 1
	if tmp <= m * 10:
		print('YES')
	else:
		print('NO')


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


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


p = int(input())
for i in range(p):
	l = list(map(int, input().split()))
	(x, n, m) = (l[0], l[1], l[2])
	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('NO')
	else:
		print('YES')


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


import math

def absorption():
	global hit
	hit = math.floor(hit / 2) + 10
	return

def strike():
	global hit
	hit = hit - 10
	return
test_case = int(input())
while test_case != 0:
	(x, n, m) = map(float, input().split())
	global hit
	hit = x
	if hit <= m * 10:
		print('YES')
		test_case = test_case - 1
	else:
		while n != 0 and hit > 0:
			absorption()
			n = n - 1
		if hit <= 0:
			print('YES')
			test_case = test_case - 1
		elif hit > 0:
			while m != 0 and hit > 0:
				strike()
				m = m - 1
			if hit <= 0:
				print('YES')
				test_case = test_case - 1
			else:
				print('NO')
				test_case = test_case - 1


import math as mt
for _ in range(int(input())):
	(x, n, m) = [int(j) for j in input().split()]
	while n != 0:
		if x <= 10:
			break
		x = mt.floor(x / 2) + 10
		n = n - 1
	while m != 0:
		x = x - 10
		m = m - 1
	if x <= 0:
		print('YES')
	else:
		print('NO')


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


w = int(input())
for x in range(w):
	d = [int(x) for x in input().split(' ')]
	while d[1] > 0 and d[0] // 2 + 10 < d[0]:
		d[0] = d[0] // 2 + 10
		d[1] -= 1
	while d[2] > 0:
		d[0] -= 10
		d[2] -= 1
	if d[0] > 0:
		print('NO')
	elif d[0] <= 0:
		print('YES')


import sys
try:
	sys.stdin = open('input.txt', 'r')
	sys.stdout = open('output.txt', 'w')
except:
	pass
input = sys.stdin.readline
for tt in range(int(input())):
	(x, n, m) = map(int, input().split())
	while n:
		if x <= m * 10:
			print('YES')
			break
		else:
			x = x // 2 + 10
			n -= 1
	else:
		if x <= m * 10:
			print('YES')
		else:
			print('NO')


def solution():
	from sys import stdout, stdin
	(_input, _print) = (stdin.readline, stdout.write)
	(_int, _range, _min, _max) = (int, range, min, max)
	for _ in range(int(input())):
		(x, n, m) = [int(i) for i in input().split()]
		d = m * 10
		if d >= x:
			print('YES')
			continue
		for i in range(n):
			d = (d - 10) * 2 + 1
		if d >= x:
			print('YES')
		else:
			print('NO')
solution()


n = int(input())
import math
for i in range(n):
	a = list(map(int, input().split()))
	while a[1] != 0 and math.floor(a[0] / 2 + 10) < a[0]:
		a[0] = math.floor(a[0] / 2 + 10)
		a[1] -= 1
	while a[2] != 0:
		a[0] -= 10
		a[2] -= 1
	if math.floor(a[0]) <= 0:
		print('YES')
	else:
		print('NO')


import sys

def noop(*object):
	return

def main():
	T = read_int()
	for case_idx in range(T):
		ans = solve_case()
		sys.stdout.write('{}\n'.format(ans))

def solve_case():
	(x, n, m) = read_int_list()

	def max_damage(n, m):
		if m <= 1:
			return m * 10
		d = m * 10
		for i in range(n):
			d = (d - 10) * 2 + 1
		return d
	max_d = max_damage(n, m)
	if x <= max_d:
		return 'YES'
	return 'NO'

def read_str():
	return input()

def read_int():
	return int(input())

def read_str_list():
	return input().split(' ')

def read_int_list():
	return list(map(int, input().split(' ')))

def read_lines(n, read_func):
	return [read_func() for _ in range(n)]

def list_to_str(l, sep=' '):
	return sep.join(map(str, l))
l2s = list_to_str
sys.setrecursionlimit(1000000)
main()


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


n = int(input())
for i in range(n):
	(x, n, m) = map(int, input().split())
	while n > 0 and x > 20:
		x = x // 2 + 10
		n -= 1
	while m > 0:
		x -= 10
		m -= 1
	print('yes' if x < 1 else 'no')


import math
N = int(input())
dragon = []
for i in range(N):
	dragon.append(input().split())
for j in range(N):
	tmp1 = int(dragon[j][0])
	tmp2 = int(dragon[j][1])
	tmp3 = int(dragon[j][2])
	for k in range(tmp2 + 1):
		if k == tmp2 and tmp1 > tmp3 * 10:
			print('NO')
			break
		elif tmp1 > tmp3 * 10:
			tmp1 = math.floor(tmp1 / 2) + 10
			continue
		else:
			print('YES')
			break


import math

def resposta():
	(a, b, c) = list(map(int, input().split()))
	flag = True
	if a <= c * 10:
		print('yes')
		return
	else:
		for i in range(b):
			a //= 2
			a += 10
		a -= 10 * c
		if a > 0:
			flag = False
		else:
			flag = True
	if flag:
		print('yes')
	else:
		print('no')
for i in range(int(input())):
	resposta()


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


import math
cases = int(input())
total = []
i = 0
while i < cases:
	string = input().split()
	total.append(int(string[0]))
	total.append(int(string[1]))
	total.append(int(string[2]))
	i = i + 1
x1 = 0
n1 = 1
m1 = 2

def triangle(x, n, m):
	flag = 0
	while n > 0:
		if x <= 10 * m:
			print('YES')
			return
		x = math.floor(x / 2) + 10
		n = n - 1
	if x <= 10 * m:
		print('YES')
		return
	print('NO')
t = 0
while t < cases:
	x = total[x1]
	x1 = x1 + 3
	n = total[n1]
	n1 = n1 + 3
	m = total[m1]
	m1 = m1 + 3
	triangle(x, n, m)
	t = t + 1


import math
t = int(input())
for _ in range(t):
	(a, b, c) = [int(x) for x in input().split()]
	d = a
	e = a
	x = 0
	y = 0
	for i in range(c):
		d = d - 10
		if d <= 0:
			x = 1
			break
	for i in range(b):
		d = math.floor(d / 2) + 10
		if d <= 0:
			x = 1
			break
	for i in range(b):
		e = math.floor(e / 2) + 10
		if e <= 0:
			y = 1
			break
	for i in range(c):
		e = e - 10
		if e <= 0:
			y = 1
			break
	if x == 1 or y == 1:
		print('YES')
	else:
		print('NO')


import math
test_case = int(input())
for i in range(test_case):
	(x, n, m) = [int(i) for i in input().split()]
	sum = 0
	if x <= 10 and m >= 1:
		print('YES')
	else:
		while n >= 1:
			x = x // 2 + 10
			n -= 1
		if x - m * 10 <= 0:
			print('YES')
		else:
			print('NO')


T = int(input())
while T:
	num = list(map(int, input().split()))
	while num[1] and num[0] > 19:
		num[0] = num[0] // 2 + 10
		num[1] -= 1
	if num[0] - num[2] * 10 > 0:
		print('NO')
	else:
		print('YES')
	T -= 1


import math
for _ in range(int(input())):
	(x, n, m) = [int(b) for b in input().split()]
	while x > 20 and n > 0:
		x = math.floor(x / 2) + 10
		n -= 1
	while m > 0:
		x -= 10
		m -= 1
	print(['YES', 'NO'][x > 0])


import sys
t = int(sys.stdin.readline().rstrip())
arr = []
try:
	while True:
		imsi = list(map(int, sys.stdin.readline().rstrip().split()))
		if len(imsi) == 0:
			break
		else:
			arr.append(imsi)
except:
	pass
for i in range(t):
	x = arr[i][0]
	check = False
	for j in range(arr[i][1]):
		if x - 20 <= 0:
			break
		x = int(x / 2) + 10
	for k in range(arr[i][2]):
		x = x - 10
		if x <= 0:
			check = True
			break
	if check is True:
		print('YES')
	else:
		print('NO')


import math
import atexit
import io
import sys
_OUTPUT_BUFFER = io.StringIO()
sys.stdout = _OUTPUT_BUFFER

@atexit.register
def write():
	sys.__stdout__.write(_OUTPUT_BUFFER.getvalue())

def array_to_string(a):
	s = ''
	for i in a:
		s += str(i)
	return s
t = int(input())
while t > 0:
	t = t - 1
	(x, m, n) = map(int, input().split())
	x_prev = x
	k = 0
	while m > 0:
		x = x_prev // 2 + 10
		m -= 1
		if x > x_prev:
			x = x_prev
			break
		x_prev = x
	if 10 * n >= x:
		print('YES')
	else:
		print('NO')


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


import sys

def I():
	return list(map(int, input().split()))

def sieve(n):
	a = [1] * n
	for i in range(2, n):
		if a[i]:
			for j in range(i * i, n, i):
				a[j] = 0
	return a
for __ in range(int(input())):
	(x, n, m) = I()
	for i in range(n):
		if x <= 20:
			break
		x = x // 2 + 10
	x -= m * 10
	print(['YES', 'NO'][x > 0])


t = int(input())
while t > 0:
	(x, m, n) = map(int, input().split())
	c = 0
	if x > 20:
		while m > 0 or n > 0:
			if x <= 0:
				c += 1
				break
			elif m > 0:
				x = x // 2 + 10
				m = m - 1
				continue
			elif n > 0:
				x = x - 10
				n = n - 1
			else:
				pass
	else:
		while n > 0:
			x = x - 10
			n = n - 1
			if x < 0:
				c = c + 1
				break
	if x > 0:
		print('NO')
	elif c == 1:
		print('YES')
	else:
		print('YES')
	t = t - 1


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


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


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


from itertools import permutations
from datetime import datetime
from math import ceil, sqrt, log, gcd

def ii():
	return int(input())

def si():
	return input()

def mi():
	return map(int, input().split())

def li():
	return list(mi())
abc = 'abcdefghijklmnopqrstuvwxyz'
abd = {'a': 0, 'b': 1, 'c': 2, 'd': 3, 'e': 4, 'f': 5, 'g': 6, 'h': 7, 'i': 8, 'j': 9, 'k': 10, 'l': 11, 'm': 12, 'n': 13, 'o': 14, 'p': 15, 'q': 16, 'r': 17, 's': 18, 't': 19, 'u': 20, 'v': 21, 'w': 22, 'x': 23, 'y': 24, 'z': 25}
mod = 1000000007
inf = float('inf')
vow = ['a', 'e', 'i', 'o', 'u']
(dx, dy) = ([-1, 1, 0, 0], [0, 0, 1, -1])

def main():
	for _ in range(ii()):
		(s, n, m) = mi()
		f = 0
		if s <= m * 10:
			f = 1
		for i in range(n):
			s = s // 2 + 10
			if s <= m * 10:
				f = 1
		if f == 1:
			print('YES')
			continue
		print('NO')
main()


t = int(input())
while t > 0:
	(x, n, m) = map(int, input().split())
	flag = 1
	if x <= 10 and m > 0:
		print('YES')
		t -= 1
		continue
	if x <= 20 and m < 2:
		print('NO')
		t -= 1
		continue
	while x > 0 and n > 0:
		x = x // 2 + 10
		n -= 1
		if x <= 20 and m < 2:
			flag = 0
			break
	if flag == 0:
		print('NO')
		t -= 1
		continue
	while x > 0 and m > 0:
		x -= 10
		m -= 1
	if x <= 0:
		print('YES')
	else:
		print('NO')
	t -= 1


t = int(input())
cases = []
for _ in range(t):
	(x, n, m) = [int(i) for i in input().split()]
	while True:
		if x <= 0:
			break
		x1 = int(x / 2.0 + 10)
		x2 = x - 10
		if x1 < x and n != 0:
			x = x1
			n -= 1
		else:
			if m == 0:
				break
			x = x2
			m -= 1
	if x <= 0:
		print('YES')
	else:
		print('NO')


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


import math
from collections import defaultdict
ml = lambda : map(int, input().split())
ll = lambda : list(map(int, input().split()))
ii = lambda : int(input())
ip = lambda : input()
t = ii()
for _ in range(t):
	(a, b, c) = ml()
	while a > 0:
		if b > 0 and a > 20:
			a //= 2
			a += 10
			b -= 1
		elif c > 0:
			a -= 10
			c -= 1
		else:
			break
	if a <= 0:
		print('YES')
	else:
		print('NO')


import sys
import math

def read_line():
	return sys.stdin.readline()[:-1]

def read_int():
	return int(sys.stdin.readline())

def read_int_line():
	return [int(v) for v in sys.stdin.readline().split()]
t = read_int()
for i in range(t):
	(x, n, m) = read_int_line()
	l1 = x
	for i in range(n):
		if l1 <= 10:
			break
		l1 = l1 // 2 + 10
	for i in range(m):
		l1 -= 10
	if l1 <= 0:
		print('YES')
	else:
		print('NO')


test_case = int(input(''))

def void_absorption(hit_dragon):
	return int(int(hit_dragon) / 2 + 10)

def count_effect(hit_dragon, void_abs, lightings):
	while int(void_abs) > 0 and void_absorption(int(hit_dragon)) < int(hit_dragon):
		void_abs = int(void_abs) - 1
		hit_dragon = void_absorption(int(hit_dragon))
	if int(hit_dragon) <= int(lightings) * 10:
		return 'Yes'
	else:
		return 'No'
for i in range(test_case):
	(hit_dragon, void_abs, lighting) = input('').split()
	print(count_effect(hit_dragon, void_abs, lighting))


k = input()
for i in range(int(k)):
	a = input().split(' ')
	x = int(a[0])
	n = int(a[1])
	m = int(a[2])
	j = 0
	r = 0
	while j < n:
		if x > 20:
			if x % 2 == 0:
				x = x / 2 + 10
			else:
				x = (x - 1) / 2 + 10
			if x == 0:
				print('YES')
				j = n
				r = m
			j = j + 1
		else:
			j = n
	if x > 0:
		if x - 10 * m > 0:
			print('NO')
		else:
			print('YES')


import collections, heapq, itertools, math
groupby = itertools.groupby
rs = lambda : input()
ri = lambda : int(input())
rm = lambda : map(int, input().split())
rai = lambda : [int(x) for x in input().split()]

def solve(x, n, m):
	while x > 20 and n > 0:
		x = math.floor(x / 2) + 10
		n -= 1
	if x <= 10 * m:
		return True
	return False
for t in range(ri()):
	(x, n, m) = rm()
	ans = solve(x, n, m)
	if ans:
		print('YES')
	else:
		print('NO')


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


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


import sys
import math

def v(num):
	return math.floor(num // 2) + 10

def l(num):
	return num - 10

def solve(arr):
	hp = arr[0]
	vcount = arr[1]
	lcount = arr[2]
	l = arr[2] * 10
	if l > arr[0]:
		return 'YES'
	while hp > 20 and vcount != 0:
		hp = v(hp)
		vcount -= 1
	if l >= hp:
		return 'YES'
	else:
		return 'NO'

def main():
	q = []
	for line in sys.stdin.readlines():
		q.append(line)
	for i in range(len(q)):
		q[i] = q[i].rstrip().split(' ')
		q[i] = [int(x) for x in q[i]]
	for i in range(1, len(q)):
		print(solve(q[i]))
main()


t = int(input())
for _ in range(t):
	x = input().split()
	dragon = int(x[0])
	drag = int(x[0])
	damage = 0
	if int(x[0]) <= 10 * int(x[2]):
		print('Yes')
	else:
		for i in range(int(x[1])):
			dragon = dragon // 2 + 10
		damage = drag - dragon
		damage += 10 * int(x[2])
		if damage >= drag:
			print('YES')
		else:
			print('NO')


import sys
input = sys.stdin.buffer.readline
INF = 2 ** 62 - 1

def read_int():
	return int(input())

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

def read_float():
	return float(input())

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

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

def read_str_n():
	return list(map(str, input().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(X, N, M):
	for _ in range(N):
		if X // 2 + 10 < X:
			X = X // 2 + 10
		else:
			break
	X -= 10 * M
	return 'YES' if X <= 0 else 'NO'

def main():
	T = read_int()
	for _ in range(T):
		(X, N, M) = read_int_n()
		print(slv(X, N, M))
main()


for i in range(int(input())):
	(a, b, c) = map(int, input().split())
	d = b + c
	e = -1
	while d != 0:
		if b > 0 and a > 20:
			a = a // 2 + 10
			b = b - 1
			d = d - 1
		else:
			a = a - c * 10
			d = d - c - b
		if a <= 0:
			e = 1
			break
	if e == -1:
		print('NO')
	else:
		print('YES')


t = int(input())
l = []
for _ in range(t):
	l.append(input().split())
	l[_][0] = int(l[_][0])
	l[_][1] = int(l[_][1])
	l[_][2] = int(l[_][2])
for i in range(t):
	n = []
	h = l[i][0]
	n.append(h)
	if h <= 10 and l[i][2] >= 1:
		print('YES')
		continue
	if l[i][2] == 0:
		print('NO')
		continue
	for j in range(l[i][1]):
		h = int(h / 2) + 10
		n.append(h)
	if n[l[i][1]] <= 10 * l[i][2]:
		print('YES')
	else:
		print('NO')


t = int(input())
for o in range(t):
	l = str.split(input(), ' ')
	x = int(l[0])
	n = int(l[1])
	m = int(l[2])
	for i in range(n):
		if x < 20:
			break
		x = x // 2
		x = x + 10
	if x > 10 * m:
		print('NO')
	else:
		print('YES')


def calc(h, v, l):
	while h // 2 + 10 < h and v > 0:
		h = h // 2 + 10
		v -= 1
	h -= 10 * l
	return 'YES' if h <= 0 else 'NO'
N = int(input())
cases = []
for _ in range(N):
	cases.append(list(map(int, input().split())))
for (h, v, l) in cases:
	print(calc(h, v, l))


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


t = int(input())
import math
for i in range(t):
	(x, n, m) = map(int, input().strip().split())
	cn = n
	cm = m
	k = 0
	co = 0
	while cm + cn >= 0:
		co += 1
		if x > 20 and cn > 0:
			x = math.floor(x // 2) + 10
			cn -= 1
		elif cm > 0:
			x = x - 10
			cm -= 1
		elif (cm == 0 and cn == 0) and x > 0:
			k = 0
			break
		elif x <= 0:
			k = 1
			break
		elif co > 60:
			break
	if k == 1:
		print('YES')
	else:
		print('NO')


def solve():
	(x, n, m) = [int(x) for x in input().split()]
	while x > 0:
		if x <= 20 and m == 0:
			print('NO')
			break
		if x > 20 and n != 0:
			x = x // 2 + 10
			n -= 1
		elif x <= 20 and n != 0 and (m != 0) or (n == 0 and m != 0):
			x -= 10
			m -= 1
		elif n == 0 and m == 0 and (x > 0):
			print('NO')
			break
	else:
		print('YES')
	return
t = int(input())
for i in range(t):
	solve()


import math
t = int(input())
for i in range(t):
	flag = False
	(x, n, m) = [int(s) for s in input().split()]
	while x != 0:
		if x >= 20 and n > 0:
			x = x // 2 + 10
			n -= 1
		elif math.ceil(x / 10) <= m:
			print('YES')
			flag = True
			break
		else:
			print('NO')
			flag = True
			break


for _ in range(int(input())):
	s = input().split()
	(x, n, m) = (int(s[0]), int(s[1]), int(s[2]))
	c = 'YES'
	while x > 0 and n > 0:
		if x >= 20:
			x = x // 2 + 10
			n -= 1
		elif m > 0:
			x -= 10
			m -= 1
		else:
			c = 'NO'
			break
	if x > 0 and m > 0:
		x -= m * 10
	if x > 0:
		c = 'NO'
	print(c)


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


import sys
import math
import bisect
from sys import stdin, stdout
from math import gcd, floor, sqrt, log2, ceil
from collections import defaultdict as dd
from bisect import bisect_left as bl, bisect_right as br
from collections import Counter
from collections import deque
from heapq import heappush, heappop, heapify
mod = int(1000000000.0) + 7
ip = lambda : int(stdin.readline())
inp = lambda : map(int, stdin.readline().split())
ips = lambda : stdin.readline().rstrip()
t = ip()
for _ in range(t):
	(x, n, m) = inp()
	for i in range(n):
		sam = x // 2 + 10
		if sam < x:
			x = x // 2 + 10
	for i in range(m):
		x -= 10
	if x <= 0:
		print('YES')
	else:
		print('NO')


from math import floor
for _ in range(int(input())):
	(x, n, m) = map(int, input().split())
	for _ in range(n):
		if x >= 20:
			x = floor(x / 2) + 10
	for _ in range(m):
		x = x - 10
	print('YES' if x <= 0 else 'NO')


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


tests = int(input())

def compute(hp, n, m):
	while n and hp and (hp // 2 + 10 < hp):
		n -= 1
		hp = hp // 2 + 10
	return 'YES' if hp <= m * 10 else 'NO'
for x in range(tests):
	(hp, n, m) = map(int, input().split())
	print(compute(hp, n, m))


t = int(input())
for i in range(t):
	(a, b, c) = [int(j) for j in input().split(' ')]
	while a > 18 and b > 0:
		a = a // 2 + 10
		b = b - 1
	if c * 10 >= a:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	(a, n, m) = [int(x) for x in input().split()]
	while n:
		a = min(a // 2 + 10, a)
		n -= 1
	a = a - m * 10
	if a <= 0:
		print('yes')
	else:
		print('no')


from sys import stdin, stdout
from math import *
from heapq import *
from collections import *

def main():
	ntest = int(stdin.readline())
	for testcase in range(ntest):
		(x, n, m) = [int(x) for x in stdin.readline().split()]
		f = [[x for i in range(m + 2)] for j in range(n + 2)]
		res = 'NO'
		for i in range(n + 1):
			for j in range(m + 1):
				if i == 0 and j == 0:
					f[i][j] = x
					continue
				if i == 0:
					f[i][j] = f[i][j - 1] - 10
				elif j == 0:
					f[i][j] = f[i - 1][j] // 2 + 10
				else:
					f[i][j] = min(f[i][j - 1] - 10, f[i - 1][j] // 2 + 10)
				if f[i][j] <= 0:
					res = 'YES'
		stdout.write('%s\n' % res)
	return 0
main()


def dquest(h, n, m):
	if 10 * m >= h:
		return 'YES'
	elif n == 0 or h <= 20:
		return 'NO'
	else:
		return dquest(h // 2 + 10, n - 1, m)
t = int(input())
for i in range(t):
	line = input().split(' ')
	h = int(line[0])
	n = int(line[1])
	m = int(line[2])
	print(dquest(h, n, m))


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


from collections import defaultdict as dd
for _ in range(int(input())):
	(x, n, m) = map(int, input().split())
	h = x
	while n > 0 and h // 2 + 10 <= h:
		h = h // 2 + 10
		n -= 1
	while m:
		h -= 10
		m -= 1
	if h > 0:
		print('NO')
	else:
		print('YES')


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


import math
n = int(input())
for i in range(n):
	l = list(map(int, input().split()))
	a = l[1]
	b = l[2]
	c = 0
	for j in range(l[1] + l[2]):
		if (math.ceil(l[0] / 2) > 10 or b == 0) and a > 0:
			l[0] = l[0] // 2 + 10
			a -= 1
		elif b > 0:
			l[0] -= 10
			b -= 1
			c = 0
		if l[0] <= 0:
			print('YES')
			break
	else:
		print('NO')


from collections import Counter
from sys import *

def inp():
	return stdin.readline()

def out():
	stdout.write()

def ab(x):
	return x // 2 + 10

def s(x):
	return x - 10
t = int(inp())
while t > 0:
	(x, n, m) = map(int, inp().split())
	if x <= 20:
		if x - 10 * m <= 0:
			print('YES')
		else:
			print('NO')
	else:
		while n != 0:
			x = ab(x)
			n -= 1
		else:
			if x - 10 * m <= 0:
				print('YES')
			else:
				print('NO')
	t -= 1


t = int(input())

def solve(nums):
	(h, a, b) = nums
	for i in range(a + b):
		if h <= 10:
			if b > 0:
				b -= 1
				h -= 10
			else:
				h = h // 2
				h += 10
				a -= 1
		elif h % 2 == 0:
			if a > 0:
				h = h // 2
				h += 10
				a -= 1
			else:
				b -= 1
				h -= 10
		elif a > 0:
			a -= 1
			h = h // 2
			h += 10
		else:
			b -= 1
			h -= 10
		if h <= 0:
			return True
	if h <= 0:
		return True
	return False
for _ in range(t):
	nums = list(map(int, input().split()))
	print('YES' if solve(nums) else 'NO')


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


t = int(input())
while t != 0:
	t -= 1
	(x, n, m) = map(int, input().strip().split())
	flag = 0
	if x - 10 <= 0 and m >= 1:
		flag = 1
	while n != 0:
		x = int(x / 2) + 10
		n -= 1
	while m != 0:
		x = x - 10
		m -= 1
	if x <= 0:
		print('Yes')
	elif flag == 1:
		print('Yes')
	else:
		print('No')


import math
for _ in range(int(input())):
	p = list(map(int, input().split()))
	a = p[0]
	b = p[1]
	c = p[2]
	while a > 10 * c and b > 0:
		a = math.floor(a / 2) + 10
		b -= 1
	if b == 0 and a > 10 * c:
		print('NO')
	else:
		print('YES')


T = int(input())
for _ in range(0, T):
	(x, n, m) = map(int, input().split())
	if pow(2, n) * (-19 + 10 * m) + 19 >= x or 10 * m >= x:
		print('YES')
	else:
		print('NO')


t = int(input())
for case in range(t):
	(hp, va, ls) = map(int, input().split())
	for i in range(va):
		if hp > 20:
			hp = hp // 2 + 10
	for i in range(ls):
		hp = hp - 10
	if hp <= 0:
		print('YES')
	else:
		print('NO')


from sys import stdin, stdout

def main():
	t = int(stdin.readline())
	ans = []
	for _ in range(t):
		(a, b, c) = map(int, stdin.readline().split(' '))
		if a <= 20:
			for _ in range(c):
				a -= 10
		else:
			for _ in range(b):
				a = (a >> 1) + 10
				if a <= 20:
					break
			for _ in range(c):
				a -= 10
		ans.append('YES' if a <= 0 else 'NO')
	stdout.write('\n'.join(map(str, ans)))
main()


for i in range(int(input())):
	(a, b, c) = list(map(int, input().split()))
	for j in range(b):
		u = a
		a = a // 2 + 10
		if a >= u:
			a = u
			break
	a -= c * 10
	if a <= 0:
		print('YES')
	else:
		print('NO')


n = int(input().strip())
for i in range(n):
	(total, half, ten) = map(int, input().strip().split())
	while total > 20 and half:
		total = total // 2 + 10
		half -= 1
	total = total - 10 * ten
	if total > 0:
		print('NO')
	else:
		print('YES')


for _ in range(int(input())):
	(h, a, b) = list(map(int, input().split()))
	count = 0
	if b == 0:
		print('NO')
	elif b * 10 >= h:
		print('YES')
	else:
		z = b * 10
		while h > z:
			h = h // 2 + 10
			count += 1
			if count > a:
				print('NO')
				break
		if count <= a:
			print('YES')


for _ in range(int(input())):
	(a, b, c) = [int(x) for x in input().split()]
	while b > 0 and a > 20:
		a = a // 2 + 10
		b -= 1
		if a <= 20:
			break
	a -= 10 * c
	if a <= 0:
		print('YES')
	else:
		print('NO')


import math
tc = int(input())
for i in range(tc):
	deets = [int(s) for s in input().split(' ')]
	h = deets[0]
	for i in range(deets[1]):
		if h < 21:
			break
		else:
			y = math.floor(h / 2)
			h = y + 10
	for i in range(deets[2]):
		h -= 10
	if h > 0:
		print('NO')
	else:
		print('YES')


def ain():
	return [int(x) for x in input().split()]

def solve(x, n, m):
	while n and x > 20:
		x = x // 2 + 10
		n -= 1
	if m * 10 >= x:
		return 'YES'
	else:
		return 'NO'

def main():
	t = int(input())
	for _ in range(t):
		(x, n, m) = ain()
		print(solve(x, n, m))
main()


from sys import stdin, stdout
t = int(stdin.readline())
while t > 0:
	(x, n, m) = map(int, stdin.readline().split())
	while n > 0:
		if x <= 10 * m:
			x -= 10 * m
			m = 0
			break
		x = x // 2 + 10
		n -= 1
	while m > 0:
		x -= 10
		m -= 1
	if x <= 0:
		stdout.write('YES\n')
	else:
		stdout.write('NO\n')
	t -= 1


from math import ceil
t = int(input())
for _ in range(t):
	(x, n, m) = map(int, input().split())
	if x > 20:
		for i in range(n):
			x = x // 2 + 10
		if x - 10 * m <= 0:
			print('YES')
		else:
			print('NO')
	elif x - m * 10 <= 0:
		print('YES')
	else:
		print('NO')


def solve():
	(h, n, m) = map(int, input().split())
	while True:
		if h <= 0:
			print('YES')
			break
		hn = h // 2 + 10
		if n > 0 and hn < h:
			n = n - 1
			h = hn
		elif m > 0:
			m = m - 1
			h = h - 10
		else:
			print('NO')
			break
t = int(input())
for i in range(t):
	solve()


t = int(input())
i = 0
A = []
while i < t:
	i += 1
	(x, a, b) = map(int, input().split())
	k = 0
	while k < a:
		k += 1
		if x - int(x / 2) - 10 <= 0:
			k = a
		else:
			x = int(x / 2) + 10
	x = x - b * 10
	if x <= 0:
		A.append('YES')
	else:
		A.append('NO')
for y in A:
	print(y)


def solve(X, N, M):
	f = False
	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:
			f = True
			break
	if f:
		print('YES')
	else:
		print('NO')
t = int(input())
while t != 0:
	(x, n, m) = map(int, input().split(' '))
	solve(x, n, m)
	t -= 1


for i in range(int(input())):
	(x, n, m) = map(int, input().split())
	while x > 20 and n:
		x >>= 1
		x += 10
		n -= 1
	if x > m * 10:
		print('NO')
	else:
		print('YES')


import sys
input = sys.stdin.readline

def main():
	t = int(input())
	for _ in range(t):
		(X, N, M) = [int(x) for x in input().split()]
		while True:
			if X > 20 and N > 0:
				X = X // 2 + 10
				N -= 1
				continue
			elif M > 0:
				X -= 10
				M -= 1
			else:
				break
		if X > 0:
			print('NO')
		else:
			print('YES')
main()


t = int(input())
for v in range(t):
	(a, b, c) = map(int, input().split())
	d = a
	for i in range(b):
		d = d // 2 + 10
	for i in range(c):
		d -= 10
	e = a
	for i in range(c):
		e -= 10
	if e <= 0:
		print('YES')
	else:
		for i in range(b):
			e = e // 2 + 10
		if e <= 0:
			print('YES')
		elif d <= 0:
			print('YES')
		else:
			print('NO')


def cal(arr):
	x = arr[0]
	N = arr[1]
	M = arr[2]
	for i in range(N):
		if x // 2 + 10 < x:
			x = x // 2 + 10
	if x <= M * 10:
		return 'YES'
	return 'NO'

def web():
	T = int(input())
	for t in range(1, T + 1):
		arr = [int(s) for s in input().split(' ')]
		ans = cal(arr)
		print(str(ans))

def file():
	x = open('p2_in.txt')
	T = int(x.readline())
	for t in range(1, T + 1):
		arr = [int(s) for s in x.readline().split(' ')]
		ans = cal(arr)
		print(str(ans))
web()


def solve(x, n, m):
	while n > 0 and x > 0 and (x // 2 + 10 < x):
		if n > 0:
			x = x // 2 + 10
			n -= 1
	return 'YES' if x <= m * 10 else 'NO'
t = int(input())
results = list()
while t:
	(x, n, m) = map(int, input().split(' '))
	results.append(solve(x, n, m))
	t = t - 1
for result in results:
	print(result)


import math
t = int(input())
for x in range(t):
	flag = 0
	l = list(map(int, input().strip().split()))
	a = l[0]
	n = l[1]
	m = l[2]
	if 10 * m >= a:
		print('YES')
	else:
		for i in range(n):
			a = math.floor(a / 2) + 10
			if a <= 0:
				print('YES')
				flag = 1
				break
		if flag == 0:
			if 10 * m >= a:
				print('YES')
				flag = 1
		if flag == 0:
			print('NO')


t = int(input())
for tt in range(t):
	(x, n, m) = (int(i) for i in input().split())
	for i in range(n):
		if x > 20:
			x = x // 2 + 10
	x -= 10 * m
	print('NO' if x > 0 else 'YES')


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


t = int(input())
for i in range(t):
	c = 0
	v = 0
	(a, n, m) = list(map(int, input().split()))
	while n > 0:
		c = a
		v = a // 2 + 10
		a = min(v, c)
		n -= 1
	if a - m * 10 <= 0:
		print('YES')
	else:
		print('NO')


def game(h, a, b):
	i = 0
	t = b * 10
	if t >= h:
		return 'YES'
	while i < a:
		h = h // 2 + 10
		i += 1
		if h == 10:
			break
	if h - t <= 0:
		return 'YES'
	else:
		return 'NO'
for i in range(int(input())):
	(h, a, b) = map(int, input().split())
	print(game(h, a, b))


import sys, math
I = sys.stdin.readline
ans = ''
for _ in range(int(I())):
	(x, n, m) = map(int, I().split())
	if x > m * 10:
		for i in range(n):
			x = math.floor(x / 2) + 10
		x -= m * 10
		if x <= 0:
			ans += 'YES\n'
		else:
			ans += 'NO\n'
	else:
		ans += 'YES\n'
print(ans)


t = int(input())
if 1 <= t <= 1000:
	for i in range(t):
		(x, n, m) = [int(j) for j in input().split()]
		if x - 10 * m > 0:
			for j in range(n):
				from math import floor
				x = floor(x / 2) + 10
			x = x - 10 * m
		else:
			x = x - 10 * m
		if x <= 0:
			print('YES')
		else:
			print('NO')


t = int(input())
for i in range(t):
	(h, a, s) = map(int, input().split())
	flag = 0
	while h > 20 and a > 0:
		h = h // 2 + 10
		a -= 1
	while h > 0 and s > 0:
		h = h - 10
		s -= 1
		if h <= 0:
			flag = 1
			break
	if flag:
		print('YES')
	else:
		print('NO')


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


import math
from collections import Counter
L = lambda : list(map(int, input().split()))
M = lambda : map(int, input().split())
I = lambda : int(input())
IN = lambda : input()

def s(a):
	print(' '.join(list(map(str, a))))
for i in range(I()):
	(x, m, n) = M()
	while x > 0:
		while m > 0 and x > 20:
			x = x // 2 + 10
			m -= 1
		x -= 10 * n
		break
	if x > 0:
		print('NO')
	else:
		print('YES')


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


I = lambda : map(int, input().split())
for _ in range(int(input())):
	(h, n, m) = I()
	if m < 2 and h > 10:
		print('NO')
	else:
		while n > 0 and h > 20:
			h = h // 2 + 10
			n = n - 1
		while m > 0 and h > 0:
			h = h - 10
			m = m - 1
		print('YNEOS'[int(h > 0)::2])


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


def main():
	cc = int(input())
	for i in range(cc):
		(h, n, m) = [int(j) for j in input().split()]
		if h > 20:
			for k in range(n):
				h = h // 2 + 10
		if h - 10 * m <= 0:
			print('YES')
		else:
			print('NO')
main()


for z in range(int(input().strip())):
	a = list(map(int, input().strip().split(' ')))
	h = 0
	while a[1] != 0 and a[0] > 10:
		a[0] = a[0] // 2 + 10
		a[1] -= 1
		if a[0] <= 0:
			print('YES')
			h = 1
			break
	while a[2] != 0 and h == 0:
		a[0] -= 10
		a[2] -= 1
		if a[0] <= 0:
			h = 1
			print('YES')
			break
	if h == 0:
		print('NO')


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


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


import math
t = int(input())
for i in range(t):
	s = input().split(' ')
	h = int(s[0])
	x = int(s[1])
	y = int(s[2])
	for ii in range(x):
		h1 = math.floor(1.0 * h / 2) + 10
		if h1 < h:
			h = h1
		else:
			break
	if h > y * 10:
		print('No')
	else:
		print('Yes')


t = int(input())
for i in range(t):
	l = list(map(int, input().split()))
	hit = l[0]
	if hit <= l[2] * 10:
		print('YES')
	else:
		for j in range(l[1]):
			hit = hit // 2 + 10
		if hit > l[2] * 10:
			print('NO')
		else:
			print('YES')


import sys
import bisect
import heapq
from math import *
from collections import Counter as counter
from itertools import combinations as comb
from itertools import permutations as permutate
from bisect import bisect_left as bl
from bisect import bisect_right as br
from bisect import bisect
mod = pow(10, 9) + 7

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

def out(var):
	sys.stdout.write(str(var))

def lis():
	return list(map(int, inp().split()))

def stringlis():
	return list(map(str, inp().split()))

def sep():
	return map(int, inp().split())

def strsep():
	return map(str, inp().split())

def graph(vertex):
	return [[] for i in range(0, vertex + 1)]

def zerolist(n):
	return [0] * n

def nextline():
	out('\n')

def testcase(t):
	for p in range(t):
		solve()

def printlist(a):
	for p in range(0, len(a)):
		out(str(a[p]) + ' ')

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

def solve():
	(x, n, m) = sep()
	while n > 0:
		if x > 20:
			x = x // 2 + 10
		else:
			break
		n -= 1
	while m > 0:
		if x > 0:
			x -= 10
		else:
			break
		m -= 1
	if x > 0:
		out('NO')
		nextline()
	else:
		out('YES')
		nextline()
testcase(int(inp()))


import os
import sys
import io
import math
input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline
for t in range(int(input())):
	(x, n, m) = map(int, input().split())
	while n:
		if x < 20:
			break
		x = x // 2 + 10
		n -= 1
	x -= 10 * m
	if x <= 0:
		print('YES')
	else:
		print('NO')


from bisect import *
from collections import *
from itertools import *
import functools
import sys
import math
from decimal import *
from copy import *
from heapq import *
from fractions import *
getcontext().prec = 30
MAX = sys.maxsize
MAXN = 1000010
MOD = 10 ** 9 + 7
spf = [i for i in range(MAXN)]
spf[0] = spf[1] = -1

def sieve():
	for i in range(2, MAXN, 2):
		spf[i] = 2
	for i in range(3, int(MAXN ** 0.5) + 1):
		if spf[i] == i:
			for j in range(i * i, MAXN, i):
				if spf[j] == j:
					spf[j] = i

def fib(n, m):
	if n == 0:
		return [0, 1]
	else:
		(a, b) = fib(n // 2)
		c = a % m * (b % m * 2 - a % m) % m
		d = a % m * (a % m) % m + b % m * b % m % m
		if n % 2 == 0:
			return [c, d]
		else:
			return [d, c + d]

def charIN(x=' '):
	return sys.stdin.readline().strip().split(x)

def arrIN(x=' '):
	return list(map(int, sys.stdin.readline().strip().split(x)))

def ncr(n, r):
	num = den = 1
	for i in range(r):
		num = num * (n - i) % MOD
		den = den * (i + 1) % MOD
	return num * pow(den, MOD - 2, MOD) % MOD

def flush():
	return sys.stdout.flush()
for _ in range(int(input())):
	(x, n, m) = arrIN()
	f = False
	if m == 0:
		print('NO')
		continue
	for i in range(n):
		if x <= 10:
			if m > 0:
				x -= 10
				m -= 1
		f |= x <= 0
		x = x // 2 + 10
	for i in range(m):
		x -= 10
		f |= x <= 0
	if f:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	flag = False
	(x, n, m) = map(int, input().split())
	x_tmp = x
	for j in range(n):
		x = x // 2 + 10
		if x <= 0:
			print('YES')
			flag = True
			break
	if not flag:
		for j in range(m):
			x = x - 10
		if x <= 0:
			print('YES')
			flag = True
		else:
			x = x_tmp
			for j in range(m):
				x = x - 10
				if x <= 0:
					print('YES')
					flag = True
					break
			if not flag:
				for j in range(n):
					x = x // 2 + 10
				if x <= 0:
					print('YES')
				else:
					print('NO')


test = int(input())
for i in range(test):
	(dragon, va, l) = map(int, input().split(' '))
	while dragon > 20 and va > 0:
		dragon = dragon // 2 + 10
		va -= 1
	while dragon > 0 and l > 0:
		dragon = dragon - 10
		l -= 1
	if dragon <= 0:
		print('YES')
	else:
		print('NO')


T = int(input())
for _ in range(T):
	(A, B, C) = map(int, input().split())
	w = A // 10
	if A % 10 == 0 and w <= C or (A < 10 and C != 0):
		print('YES')
		continue
	else:
		for i in range(B):
			A = A // 2 + 10
		if A <= 0:
			print('YES')
			continue
		else:
			A -= 10 * C
			if A <= 0:
				print('YES')
				continue
			else:
				print('NO')


t = int(input())
for i in range(t):
	(x, n, m) = input().split()
	f = 0
	x = int(x)
	h = x
	n = int(n)
	m = int(m)
	for j in range(n):
		x = x // 2 + 10
		if x <= 0:
			f = 1
			break
	for j in range(m):
		x -= 10
		if x <= 0:
			f = 1
			break
	if f == 1:
		print('YES')
	else:
		x = h
		f = 0
		for j in range(m):
			x -= 10
			if x <= 0:
				f = 1
				break
		for j in range(n):
			x = x // 2 + 10
			if x <= 0:
				f = 1
				break
		if f == 1:
			print('YES')
		else:
			print('NO')


t = int(input())
for ti in range(t):
	(x, n, m) = input().split()
	x = int(x)
	n = int(n)
	m = int(m)
	try:
		while x > 0:
			if x > 20:
				if n > 0:
					x = int(x / 2) + 10
					n -= 1
				elif m > 0:
					x -= 10
					m -= 1
				else:
					raise Exception
			elif m > 0:
				x -= 10
				m -= 1
			elif n > 0:
				x = int(x / 2) + 10
				n -= 1
			else:
				raise Exception
		print('YES')
	except:
		print('NO')


def fastio():
	import sys
	from io import StringIO
	from atexit import register
	global input
	sys.stdin = StringIO(sys.stdin.read())
	input = lambda : sys.stdin.readline().rstrip()
	sys.stdout = StringIO()
	register(lambda : sys.__stdout__.write(sys.stdout.getvalue()))
fastio()
t = int(input())
for _ in range(t):
	(x, n, m) = map(int, input().split())
	for i in range(n):
		if x >= 20:
			x = x // 2 + 10
	for i in range(m):
		x -= 10
	print('YES') if x <= 0 else print('NO')


import math
t = int(input())
for case in range(t):
	(x, n, m) = [int(s) for s in input().split(' ')]
	for i in range(n):
		if x < 19:
			break
		else:
			x = math.floor(x / 2) + 10
	x -= m * 10
	if x <= 0:
		print('YES')
	else:
		print('NO')


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


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


import sys
import math
import bisect

def solve(x, n, m):
	for i in range(n):
		if x // 2 + 10 < x:
			x = x // 2 + 10
	for i in range(m):
		x -= 10
	return x <= 0

def main():
	for _ in range(int(input())):
		(x, n, m) = map(int, input().split())
		if solve(x, n, m):
			print('YES')
		else:
			print('NO')
main()


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


for i in range(int(input())):
	d = list(map(int, input().split()))
	count = 0
	if d[0] - d[2] * 10 <= 0:
		print('YES')
	else:
		for i in range(d[1]):
			d[0] = d[0] // 2 + 10
			if d[0] - d[2] * 10 <= 0:
				count += 1
				print('YES')
				break
		if count == 0:
			print('NO')


t = int(input())
while t > 0:
	t -= 1
	(x, n, m) = map(int, input().strip().split(' '))
	k = n
	p = 1
	ans = False
	while p <= k:
		if x - m * 10 <= 0:
			ans = True
			break
		x = x // 2
		x += 10
		p += 1
	if x - m * 10 > 0:
		print('NO')
	else:
		print('YES')


t = int(input())
while t:
	line = input().split()
	(x, n, m) = (int(line[0]), int(line[1]), int(line[2]))
	while n > 0 and x // 2 + 10 < x:
		x = x // 2 + 10
		n -= 1
	while m > 0:
		x -= 10
		m -= 1
	if x <= 0:
		print('YES')
	else:
		print('NO')
	t -= 1


printn = lambda x: print(x, end='')
inn = lambda : int(input())
inl = lambda : list(map(int, input().split()))
inm = lambda : map(int, input().split())
ins = lambda : input().strip()
DBG = True
BIG = 10 ** 18
R = 10 ** 9 + 7

def ddprint(x):
	if DBG:
		print(x)
t = inn()
for tt in range(t):
	(x, n, m) = inm()
	while n > 0 and x > 20:
		n -= 1
		x = x // 2 + 10
	print('YES' if 10 * m >= x else 'NO')


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


testcase = int(input())
for t in range(1, testcase + 1):
	(dragon, absrp, strike) = map(int, input().split(' '))
	while dragon > 10 and absrp:
		dragon = dragon // 2 + 10
		absrp -= 1
	if dragon - strike * 10 > 0:
		print('NO')
	else:
		print('YES')


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


import sys
input = sys.stdin.readline
from collections import *
from math import *
t = int(input())
while t:
	t -= 1
	(h, n, m) = map(int, input().split())
	if h - m * 10 <= 0:
		print('YES')
		continue
	d = h
	while n != 0:
		d = d // 2 + 10
		n -= 1
	d -= m * 10
	if d <= 0:
		print('YES')
	else:
		print('NO')


import sys
Ri = lambda : [int(x) for x in sys.stdin.readline().split()]
ri = lambda : sys.stdin.readline().strip()

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

def list2d(a, b, c):
	return [[c] * b for i in range(a)]

def list3d(a, b, c, d):
	return [[[d] * c for j in range(b)] for i in range(a)]

def list4d(a, b, c, d, e):
	return [[[[e] * d for j in range(c)] for j in range(b)] for i in range(a)]

def ceil(x, y=1):
	return int(-(-x // y))

def INT():
	return int(input())

def MAP():
	return map(int, input().split())

def LIST(N=None):
	return list(MAP()) if N is None else [INT() for i in range(N)]

def Yes():
	print('Yes')

def No():
	print('No')

def YES():
	print('YES')

def NO():
	print('NO')
INF = 10 ** 18
MOD = 998244353
for _ in range(int(ri())):
	(n, a, b) = Ri()
	while n // 2 + 10 < n and a > 0:
		n = n // 2 + 10
		a -= 1
	while b > 0 and n > 0:
		n -= 10
		b -= 1
	if n > 0:
		NO()
	else:
		YES()


def solve():
	(h, n, m) = map(int, input().split())
	q = 10 * m
	while n > 0 and h > q:
		n -= 1
		h //= 2
		h += 10
	while m > 0:
		m -= 1
		h -= 10
	return h <= 0
g = int(input())
while g > 0:
	k = solve()
	g -= 1
	if k == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
while t != 0:
	t = t - 1
	numbers = input()
	list = numbers.split(' ')
	h = int(list[0])
	n = int(list[1])
	m = int(list[2])
	q = n + m
	while q != 0:
		q = q - 1
		if h >= 20 and n != 0:
			h = int(h / 2 + 10)
			n = n - 1
		elif m != 0:
			h = h - 10
			m = m - 1
	if h > 0:
		print('NO')
	else:
		print('YES')


from sys import stdin
t = int(stdin.readline())
d = {}

def solve(x, n, m):
	if x <= 0:
		return True
	if m == 0:
		return False
	if n == 0:
		return x - m * 10 <= 0
	else:
		if (x, n, m) not in d:
			d[x, n, m] = solve(x // 2 + 10, n - 1, m) or solve(x - 10, n, m - 1)
		return d[x, n, m]
for _ in range(t):
	(x, n, m) = map(int, stdin.readline().split())
	d = {}
	if solve(x, n, m):
		print('YES')
	else:
		print('NO')


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


n = int(input())
for i in range(0, n):
	p = input().rstrip().split(' ')
	D = int(p[0])
	N = int(p[1])
	M = int(p[2])
	S = 0
	P = D
	S = D
	while N > 0 and P - D >= 10:
		D = D // 2
		D += 10
		N -= 1
		if D <= 0:
			break
	if D - 10 * M <= 0 or D <= 0:
		print('YES')
	else:
		while N > 0:
			D = D // 2
			D += 10
			N -= 1
			if D <= 0:
				break
		if D <= 0:
			print('YES')
		else:
			while M > 0:
				D = D - 10
				if D <= 0:
					break
				M -= 1
			if D <= 0:
				print('YES')
			else:
				print('NO')


from math import ceil, gcd, floor
from collections import deque, defaultdict
from heapq import heappush as hpush, heappop as hpop, heapify
from functools import lru_cache
import sys
inf = float('inf')

def inpi():
	return int(input())

def inpa():
	return list(map(int, input().split()))

def inp():
	s = input()
	return list(s)

def inpv():
	return map(int, input().split())
testcase = int(input())
for test in range(testcase):
	(x, n, m) = inpv()
	while x > 20 and n > 0:
		x //= 2
		x += 10
		n -= 1
	while m > 0:
		x -= 10
		m -= 1
	print('YES' if x <= 0 else 'NO')


import math
test = int(input())
while test:
	arr = list(map(int, input().split()))
	final_desc = arr[2] * 10
	win = False
	score = arr[0]
	if score <= final_desc:
		win = True
	else:
		for i in range(arr[1]):
			score = int(score / 2) + 10
			if score <= final_desc:
				win = True
				break
	if win:
		print('YES')
	else:
		print('NO')
	test -= 1


for _ in range(int(input())):
	(a, b, c) = map(int, input().split())
	s = 2 ** (b + 1) - 2
	s = s * 10
	if a <= c * 10:
		print('YES')
	elif (a + s) // 2 ** b - 10 * c <= 0:
		print('YES')
	else:
		print('NO')


def a():
	g = [int(i) for i in input().split()]
	num = g[0]
	temp = g[0]
	var = -1
	n = g[1]
	m = g[2]
	for i in range(n):
		num = 10 + num // 2
	num = num - 10 * m
	if num <= 0:
		var = 1
	temp = temp - 10 * m
	if temp <= 0:
		var = 1
	if var == 1:
		print('YES')
	else:
		print('NO')
t = int(input())
for i in range(t):
	a()


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


def abst(x):
	return x // 2 + 10

def lit(x):
	return x - 10
t = int(input())
for i in range(t):
	(x, n, m) = map(int, input().split())
	flag = 0
	x1 = x
	for y in range(m):
		q = lit(x)
		x = q
		if q <= 0:
			flag = 1
			print('YES')
			break
	if flag != 1:
		for y in range(n):
			q = abst(x)
			x = q
			if q <= 0:
				flag = 1
				print('YES')
				break
	if flag != 1:
		for y in range(n):
			q = abst(x1)
			x1 = q
			if q <= 0:
				flag = 1
				print('YES')
				break
		if flag != 1:
			for y in range(m):
				q = lit(x1)
				x1 = q
				if q <= 0:
					flag = 1
					print('YES')
					break
	if flag == 0:
		print('NO')


from sys import stdin
inp = lambda : stdin.readline().strip()
t = int(inp())
for i in range(t):
	(x, n, m) = [int(x) for x in inp().split()]
	h = x
	for i in range(n):
		if h <= 20:
			break
		h = h // 2 + 10
	h -= m * 10
	if h <= 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	(a, b, c) = map(int, input().split())
	for i in range(b):
		if a < 11:
			break
		a = a // 2 + 10
	for j in range(c):
		a = a - 10
	if a < 0 or a == 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	s = input().split()
	a = int(s[0])
	b = int(s[1])
	c = int(s[2])
	h = a
	cb = 0
	cc = 0
	while h > 20 and cb < b:
		h = h // 2 + 10
		cb += 1
	while h > 0 and cc < c:
		h = h - 10
		cc += 1
	if h <= 0:
		print('YES')
	else:
		print('NO')


import os
import sys
from io import BytesIO, IOBase

def solution(x, n, m):
	for _ in range(n):
		prev = x
		x //= 2
		x += 10
		if x >= prev:
			x = prev
			break
	if x - 10 * m <= 0:
		write('YES')
	else:
		write('NO')

def main():
	for _ in range(r_int()):
		(x, n, m) = r_array()
		solution(x, n, m)
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))

def input():
	return sys.stdin.readline().rstrip('\r\n')

def write(*args, end='\n'):
	for x in args:
		sys.stdout.write(str(x) + ' ')
	sys.stdout.write(end)

def r_array():
	return [int(x) for x in input().split()]

def r_int():
	return int(input())
main()


from math import *
flag = False

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


def ans(a, b, c):
	k = a
	f = 0
	while b > 0:
		k = k // 2 + 10
		if k <= 0:
			f = 1
			break
		b -= 1
	if f:
		print('YES')
	else:
		p = 0
		while c > 0:
			k = k - 10
			if k <= 0:
				p = 1
				break
			c -= 1
		if p:
			print('YES')
		else:
			print('NO')
t = int(input())
while t > 0:
	(a, b, c) = map(int, input().split())
	if a <= c * 10:
		print('YES')
	else:
		ans(a, b, c)
	t -= 1


T = int(input())
for _ in range(T):
	(H, N, M) = map(int, input().split())
	if H <= 10:
		if M >= 1:
			ans = 'YES'
		else:
			ans = 'NO'
	elif M <= 1:
		ans = 'NO'
	else:
		while H > 20 and N != 0:
			H //= 2
			H += 10
			N -= 1
		if H <= 10 * M:
			ans = 'YES'
		else:
			ans = 'NO'
	print(ans)


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


t = int(input())
from math import floor
for i in range(t):
	(a, b, c) = map(int, input().split())
	g = a
	kek = True
	kekw = True
	for k in range(b):
		a = floor(a / 2) + 10
		if g <= 0:
			kekw = False
			break
	for k in range(c):
		if kekw == True:
			a -= 10
			if g <= 0:
				break
	for k in range(c):
		g -= 10
		if g <= 0:
			kek = False
			break
	for k in range(b):
		if kek == True:
			g = floor(g / 2) + 10
			if g <= 0:
				break
	if a <= 0 or g <= 0:
		print('YES')
	else:
		print('NO')


INT_MAX = 10 ** 11 + 7
MOD = 10 ** 9 + 7

def INPUT():
	return list((int(i) for i in input().split()))

def LIST_1D_ARRAY(n):
	return [0 for _ in range(n)]

def LIST_2D_ARRAY(m, n):
	return [[0 for _ in range(n)] for _ in range(m)]
GETA = 123
import bisect

def cal(h, a, b):
	bool = False
	while h >= 20 and a > 0:
		h = h // 2 + 10
		a -= 1
	while b > 0:
		h -= 10
		b -= 1
	if h <= 0:
		print('YES')
	else:
		print('NO')
for _ in range(int(input())):
	(h, a, b) = INPUT()
	cal(h, a, b)


def move1(h):
	a = h // 2 + 10
	return a

def move2(h):
	a = h - 10
	return a
t = int(input())
for i in range(0, t):
	(x, n, m) = [int(x) for x in input().split()]
	for j in range(0, n):
		if x <= 20:
			break
		x = move1(x)
	for k in range(0, m):
		x = move2(x)
	if x <= 0:
		print('YES')
	else:
		print('NO')


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


import math
import string
a = int(input())
for i in range(a):
	b = input().split(' ')
	x = int(b[0])
	n = int(b[1])
	m = int(b[2])
	while n > 0 and x > 20:
		x = int(math.floor(x / 2))
		x = x + 10
		n = n - 1
	if x <= 0:
		print('YES')
	else:
		x = x - m * 10
		if x <= 0:
			print('YES')
		else:
			print('NO')


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


t = int(input())
for ooo in range(t):
	(x, n, m) = [int(aaa) for aaa in input().split()]
	e = 0
	if x <= m * 10:
		print('YES')
	else:
		while n > 0:
			x //= 2
			x += 10
			if x <= 0:
				print('YES')
				n = 0
				e = 1
			n -= 1
		if e == 0:
			if x <= 0:
				print('YES')
			elif x <= m * 10:
				print('YES')
			else:
				print('NO')


from sys import stdin
from collections import Counter
from math import sqrt, factorial, log10, log, floor, ceil
from itertools import permutations, combinations, combinations_with_replacement
input = stdin.readline

def li():
	return list(map(int, input().split()))

def lis():
	return list(map(str, input().split()))

def mp():
	return map(int, input().split())

def inp():
	return int(input())

def inps():
	return str(input().strip())

def pr(n):
	return stdout.write(str(n) + '\n')
INF = float('inf')

def solve():
	(h, n, m) = mp()
	if h <= 10 and m >= 1:
		return 'YES'
	while n > 0:
		h = h // 2 + 10
		if h < 20 and m >= 2:
			return 'YES'
		n -= 1
	while m > 0:
		h -= 10
		m -= 1
	if h <= 0:
		return 'YES'
	else:
		return 'NO'
t = inp()
for i in range(t):
	print(solve())


import sys
for t in range(int(sys.stdin.readline())):
	(health, first, second) = map(int, sys.stdin.readline().split())
	while health > 0:
		if first > 0 and health > 10:
			health //= 2
			health += 10
			first -= 1
		elif second > 0:
			health -= 10
			second -= 1
		else:
			sys.stdout.write('NO\n')
			break
	else:
		sys.stdout.write('YES\n')


test = int(input())
for i in range(test):
	(h, s, S) = map(int, input().split())
	if h > 10:
		while s != 0:
			h = h // 2
			h = h + 10
			s -= 1
		while S != 0:
			h = h - 10
			S -= 1
	if 0 < h <= 10:
		while S != 0:
			h = h - 10
			S -= 1
		if h > 0:
			while s != 0:
				h = h // 2
				h = h + 10
				s -= 1
	if h <= 0:
		print('YES')
	else:
		print('NO')


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


for i in range(int(input())):
	(x, va, ls) = map(int, input().split())
	if x <= 20 and ls >= 2:
		print('Yes')
		continue
	elif x >= 11 and ls <= 1:
		print('No')
		continue
	elif x >= 1 and x <= 10 and (ls >= 1):
		print('Yes')
		continue
	elif x >= 1 and x <= 10 and (ls < 1):
		print('No')
		continue
	for j in range(va):
		x = int(x / 2) + 10
	if x - 10 * ls > 0:
		print('No')
	elif x - 10 * ls == 0:
		print('Yes')
	elif x - 10 * ls < 0:
		print('Yes')


def solve():
	x = input().split()
	(h, n, m) = (int(x[0]), int(x[1]), int(x[2]))
	while n:
		n -= 1
		if h >= 20:
			h = h // 2 + 10
		else:
			break
	while m:
		m -= 1
		h -= 10
		if h <= 0:
			return True
	return False
t = int(input())
while t:
	t -= 1
	if solve():
		print('YES')
	else:
		print('NO')


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


for q in range(int(input())):
	(x, n, m) = map(int, input().split())
	r = 0
	while n > 0 and x // 2 + 10 < x:
		n -= 1
		x = x // 2 + 10
	if m * 10 < x:
		r = 1
	print('YNEOS'[r::2])


for i in range(int(input())):
	(h, n, m) = map(int, input().split())
	answer = False
	while n > 0:
		if h <= m * 10:
			print('YES')
			answer = True
			break
		h = h // 2 + 10
		n -= 1
	if answer == False:
		if h <= m * 10:
			print('YES')
		else:
			print('NO')


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


import io
import os
import sys
from collections import Counter, defaultdict, deque
from functools import lru_cache
sys.setrecursionlimit(10 ** 5)

@lru_cache(maxsize=None)
def isPossible(H, N, M):
	if H <= 0:
		return True
	if N > 0 and H // 2 + 10 < H and isPossible(H // 2 + 10, N - 1, M):
		return True
	if M > 0 and isPossible(H - 10, N, M - 1):
		return True
	return False

def solve(X, N, M):
	if isPossible(X, N, M):
		return 'YES'
	return 'NO'
input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline
T = int(input())
for t in range(T):
	(X, N, M) = [int(x) for x in input().split()]
	ans = solve(X, N, M)
	print(ans)


def dragon_quest(arr):
	x = arr[0]
	n = arr[1]
	m = arr[2]
	while x > 0:
		if x <= m * 10:
			return 'YES'
		if n:
			x = x // 2 + 10
			n -= 1
		elif m:
			x -= 10
			m -= 1
		else:
			return 'NO'
	else:
		return 'YES'
t = int(input())
for _ in range(t):
	arr = list(map(int, input().split()))
	print(dragon_quest(arr))


import os
import sys
from io import BytesIO, IOBase
import math

def inputIntArray():
	return list(map(int, input().rstrip().split()))

def inputArray():
	return input().rstrip().split()

def inputVars():
	return map(int, input().rstrip().split())

def inputNum():
	return int(input())

def main():
	for _ in range(inputNum()):
		(hitPoint, absorption, lightning) = inputVars()
		while hitPoint and absorption and (hitPoint > hitPoint // 2 + 10):
			hitPoint = hitPoint // 2 + 10
			absorption -= 1
		while hitPoint and lightning:
			hitPoint -= 10
			lightning -= 1
		if hitPoint <= 0:
			print('YES')
		else:
			print('NO')
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


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


t = int(input())
for test in range(t):
	(x, n, m) = map(int, input().split())
	(X, N, M) = (x, n, m)
	flag = False
	while n > 0 and m > 0:
		if x // 2 + 10 >= x - 10:
			x = x - 10
			m -= 1
		else:
			x = x // 2 + 10
			n -= 1
		if x <= 0:
			flag = True
			print('YES')
			break
	if flag == True:
		continue
	for i in range(n):
		x = x // 2 + 10
		n -= 1
		if x <= 0:
			flag = True
			print('YES')
			break
	if flag == True:
		continue
	for i in range(m):
		x = x - 10
		m -= 1
		if x <= 0:
			flag = True
			print('YES')
			break
	if flag == False:
		for i in range(N):
			X = X // 2 + 10
			N -= 1
			if X <= 0:
				flag = True
				print('YES')
				break
		if flag == True:
			continue
		for i in range(M):
			X = X - 10
			M -= 1
			if X <= 0:
				flag = True
				print('YES')
				break
		if flag == False:
			print('NO')


for i in range(int(input())):
	(a, b, c) = map(int, input().split())
	if a < 10:
		if c >= 1:
			print('YES')
		else:
			print('NO')
	else:
		s = c * 10
		if a > 10 and a <= 20:
			if c >= 2:
				print('YES')
			else:
				print('NO')
		else:
			for i in range(b):
				if a <= 20:
					break
				else:
					a = a // 2 + 10
			if a <= 0 or a <= s:
				print('YES')
			else:
				print('NO')


for _ in range(int(input())):
	(h, a, s) = map(int, input().split())
	if h <= 20:
		for i in range(s):
			h = h - 10
			if h <= 0:
				break
		if h > 0:
			for i in range(a):
				h = h // 2 + 10
				if h <= 0:
					break
	else:
		for i in range(a):
			h = h // 2 + 10
			if h <= 0:
				break
		if h > 0:
			for i in range(s):
				h = h - 10
				if h <= 0:
					break
	if h <= 0:
		print('YES')
	else:
		print('NO')


def to_list(s):
	return list(map(lambda x: int(x), s.split(' ')))

def solve(x, n, m):
	hp = x
	while (n > 0) & (hp > 20):
		hp = hp // 2 + 10
		n -= 1
	if m >= 0:
		hp = hp - 10 * m
	if hp <= 0:
		print('YES')
	else:
		print('NO')
t = int(input())
for i in range(t):
	(x, n, m) = to_list(input())
	solve(x, n, m)


t = int(input())
for i in range(t):

	def res():
		(x, n, m) = map(int, input().split())
		if x <= 20:
			x = x - 10 * m
			if x <= 0:
				return True
			else:
				return False
		while n > 0:
			x = x // 2 + 10
			n -= 1
		x = x - m * 10
		if x <= 0:
			return True
		else:
			return False
	if res():
		print('YES')
	else:
		print('NO')


test = int(input())
lista = []
for i in range(test):
	(x, n, m) = [int(q) for q in input().split()]
	if x > 20:
		for i in range(n):
			x = x // 2 + 10
	if 10 * m >= x:
		lista.append('YES')
	else:
		lista.append('NO')
for i in lista:
	print(i)


def va(h):
	return h // 2 + 10
t = int(input())
res = []
for i in range(t):
	(x, n, m) = map(int, input().split())
	if x <= 0:
		res.append('YES')
	while n > 0 and x > 20:
		x = va(x)
		n -= 1
	if x <= 10 * m:
		res.append('YES')
	else:
		res.append('NO')
for el in res:
	print(el)


import math

def func(x, n, m):
	if n != 0:
		for i in range(0, n):
			if x >= 20:
				x = math.floor(x / 2) + 10
			else:
				break
		if m != 0:
			x = x - 10 * m
		if x <= 0:
			print('YES')
		else:
			print('NO')
	else:
		x = x - 10 * m
		if x <= 0:
			print('YES')
		else:
			print('NO')
t = int(input())
for i in range(0, t):
	(x, n, m) = list(map(int, input().split()))
	func(x, n, m)


def absorb(x):
	return int(x / 2) + 10

def strike(x):
	return int(x - 10)
t = int(input())
for _ in range(t):
	(x, n, m) = map(int, input().split())
	h1 = 0
	h2 = 0
	f = 0
	while True:
		if x <= 0:
			f = 1
			break
		if n == 0 and m == 0:
			break
		if x <= 20:
			if m > 0:
				x = strike(x)
				m -= 1
			else:
				x = absorb(x)
				n -= 1
		elif x > 20:
			if n > 0:
				x = absorb(x)
				n -= 1
			else:
				x = strike(x)
				m -= 1
	if f == 1:
		print('YES')
	elif f == 0:
		print('NO')


import sys
from collections import deque
input = lambda : sys.stdin.readline().strip()
ipnut = input
q = int(input())
for i in range(q):
	(h, n, m) = 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')


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


t = int(input())
while t:
	(a, b, c) = list(map(int, input().split()))
	while a > 20 and b > 0:
		a = a // 2 + 10
		b -= 1
	while a > 0 and c > 0:
		a -= 10
		c -= 1
	if a <= 0:
		print('YES')
	else:
		print('NO')
	t -= 1


def solution(x, n, m):
	if 10 * m >= x:
		return 'YES'
	for i in range(n):
		x = int(x / 2) + 10
	if x <= m * 10:
		return 'YES'
	return 'NO'
for i in range(int(input())):
	(x, n, m) = map(int, input().split(' '))
	print(solution(x, n, m))


def solve(t):
	while t > 0:
		(h, n, m) = map(int, input().split())
		tmp = h
		for i in range(n):
			if h // 2 + 10 > tmp:
				break
			h = h // 2 + 10
		if h <= 10 * m:
			print('YES')
		else:
			print('NO')
		t -= 1

def main():
	t = int(input())
	solve(t)
main()


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


def dragonQuest(x, n, m):
	if x <= 0:
		print('YES')
		return True
	if n > 0:
		x = x // 2 + 10
		return dragonQuest(x, n - 1, m)
	if m > 0:
		x = x - 10
		return dragonQuest(x, n, m - 1)

def main():
	t = int(input())
	for i in range(t):
		(x, n, m) = tuple(map(int, input().split()))
		if x - m * 10 <= 0:
			print('YES')
		elif not dragonQuest(x, n, m):
			print('NO')
main()


t = int(input().strip())
for _ in range(t):
	args = [int(arg) for arg in input().strip().split(' ')]
	(x, n, m) = (args[0], args[1], args[2])
	while x > 20 and n > 0:
		x //= 2
		x += 10
		n -= 1
	while x > 0 and m > 0:
		x -= 10
		m -= 1
	print('yes' if x <= 0 else 'no')


import math, itertools, fractions, heapq, collections, bisect, sys, queue, copy
sys.setrecursionlimit(10 ** 7)
inf = 10 ** 20
mod = 10 ** 9 + 7
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]

def LI():
	return [int(x) for x in sys.stdin.readline().split()]

def I():
	return int(sys.stdin.readline())

def F():
	return float(sys.stdin.readline())

def LS():
	return sys.stdin.readline().split()

def S():
	return input()

def main():
	n = I()
	ans = []
	for _ in range(n):
		(a, b, c) = LI()
		for __ in range(b):
			_a = a // 2 + 10
			if a > _a:
				a = _a
			else:
				break
		if a - c * 10 <= 0:
			ans.append('YES')
		else:
			ans.append('NO')
	for x in ans:
		print(x)
main()


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


import math
_ = int(input())
while _ > 0:
	_ -= 1
	s = input()
	t = list(s.split(' '))
	x = int(t[0])
	m = int(t[1])
	n = int(t[2])
	while n > 0 and x > 0:
		y = x - (math.floor(x / 2) + 10)
		if y > 0 and m > 0:
			m -= 1
			x = math.floor(x / 2) + 10
		else:
			n -= 1
			x = x - 10
	if x <= 0:
		print('YES')
	else:
		print('NO')


import math

def dragon(x, n, m):
	while n != 0:
		n -= 1
		new_x = math.floor(x / 2) + 10
		if new_x >= x:
			break
		x = new_x
	if x <= 0:
		return 'YES'
	if m * 10 >= x:
		return 'YES'
	return 'NO'
t = int(input())
for i in range(t):
	x = list(map(int, input().rstrip().split()))
	print(dragon(x[0], x[1], x[2]))


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


t = int(input())
for g in range(t):
	inp = input().split()
	x = int(inp[0])
	n = int(inp[1])
	m = int(inp[2])
	if x - 10 * m <= 0:
		print('YES')
		continue
	for i in range(n):
		if x // 2 + 10 >= 20:
			x = x // 2 + 10
		else:
			break
	if x - 10 * m <= 0:
		print('YES')
	else:
		print('NO')


for z in range(int(input())):
	(y, a, b) = map(int, input().split())
	for i in range(a):
		if y <= 20:
			break
		y = y // 2 + 10
	for i in range(b):
		y = y - 10
		if y < 0:
			break
	if y <= 0:
		print('YES')
	else:
		print('NO')


def solve(n, va, ls):
	while n > 0:
		if va <= 0 and ls <= 0:
			return 'No'
		if n <= 10 and ls >= 1:
			n = n - 10
			ls -= 1
			return 'Yes'
		if va > 0:
			n = n // 2 + 10
			va -= 1
		else:
			n = n - 10
			ls -= 1
	if n <= 0:
		return 'Yes'
t = int(input())
for i in range(t):
	l = list(map(int, input().split(' ')))
	print(solve(l[0], l[1], l[2]))


t = int(input())
for T in range(0, t):
	A = []
	A = [int(A) for A in input().split()]
	x = A[0]
	n = A[1]
	m = A[2]
	TF = True
	for i in range(0, n):
		if x > 20:
			x = x // 2 + 10
	x -= m * 10
	if x > 0:
		print('NO')
	else:
		print('YES')


import os
import sys
from io import BytesIO, IOBase
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
from math import factorial
from collections import Counter, defaultdict
from heapq import heapify, heappop, heappush

def RL():
	return map(int, sys.stdin.readline().rstrip().split())

def N():
	return int(input())

def comb(n, m):
	return factorial(n) / (factorial(m) * factorial(n - m)) if n >= m else 0

def perm(n, m):
	return factorial(n) // factorial(n - m) if n >= m else 0

def mdis(x1, y1, x2, y2):
	return abs(x1 - x2) + abs(y1 - y2)
mod = 1000000007
INF = float('inf')

def main():
	for _ in range(N()):
		(x, n, m) = RL()
		while n > 0 and x > 20:
			x = x // 2 + 10
			n -= 1
		print('YES' if x <= m * 10 else 'NO')
main()


for ad in range(int(input())):
	q = list(map(int, input().split()))
	x = q[0]
	n = q[1]
	m = q[2]
	for i in range(n):
		if x > 11:
			x = x // 2 + 10
		else:
			break
	if x > 10 * m:
		print('NO')
	else:
		print('YES')


for _ in range(int(input())):
	(x, n, m) = map(int, input().split())
	if x <= m * 10:
		print('Yes')
	elif m < 2:
		print('No')
	else:
		for _ in range(n):
			x = x // 2 + 10
			if x <= m * 10:
				print('Yes')
				break
		else:
			print('No')


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


t = int(input())
for i in range(t):
	a = list(map(int, input().split()))
	for i in range(a[1]):
		if a[0] > 20:
			a[0] = a[0] // 2 + 10
		else:
			break
	for i in range(a[2]):
		a[0] = a[0] - 10
		if a[0] <= 0:
			print('YES')
			break
		else:
			continue
	if a[0] > 0:
		print('NO')


import sys
from collections import deque
T = int(sys.stdin.readline())
dn = [-1, 0]
dm = [0, -1]
for _ in range(T):
	(h, n, m) = map(int, sys.stdin.readline().split())
	list_visit = [[0] * (n + 1) for _ in range(m + 1)]
	list_queue = deque()
	list_queue.append([h, n, m])
	canIkill = 0
	while list_queue:
		(now_h, now_n, now_m) = list_queue.popleft()
		if now_h <= 0:
			canIkill = 1
			break
		for i in range(2):
			nn = now_n + dn[i]
			nm = now_m + dm[i]
			if nn >= 0 and nm >= 0:
				if not list_visit[nm][nn]:
					list_visit[nm][nn] = 1
					if not i:
						list_queue.append([now_h // 2 + 10, nn, nm])
					else:
						list_queue.append([now_h - 10, nn, nm])
	if canIkill:
		print('YES')
	else:
		print('NO')


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


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


t = int(input())
list = []
for test_case in range(t):
	(x, n, m) = map(int, input().split())
	i = 0
	while i < n and x > 20:
		hit_point = x // 2 + 10
		x = hit_point
		i += 1
	for times in range(m):
		x -= 10
	if x <= 0:
		print('YES')
	else:
		print('NO')


import sys
input = sys.stdin.buffer.readline
ans = []
for _ in range(int(input())):
	(h, a, b) = map(int, input().split())
	for _ in range(a):
		if h <= 19:
			break
		h = h // 2 + 10
	if h - 10 * b <= 0:
		ans.append('YES')
	else:
		ans.append('NO')
print('\n'.join(ans))


import math
t = int(input())

def N(x):
	return math.floor(x / 2) + 10

def M(x):
	return x - 10
while t > 0:
	t -= 1
	(x, n, m) = [int(x) for x in input().split()]
	f = 1
	for i in range(n):
		if x > N(x):
			x = N(x)
		else:
			break
	for i in range(m):
		x = M(x)
	if x <= 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	(x, n, m) = map(int, input().split())
	for i in range(n):
		y = x
		z = x // 2 + 10
		x = min(z, y)
	if m * 10 >= x:
		print('YES')
	else:
		print('NO')


n = int(input())
while n:
	(x, a, l) = map(int, input().split(' '))
	while x > 0 and a != 0:
		s = x // 2 + 10
		if s < x:
			x = s
			a = a - 1
		else:
			break
		if l * 10 >= x:
			break
	while x > 0 and l != 0:
		x = x - l * 10
		l = 0
	if x <= 0:
		print('YES')
	else:
		print('NO')
	n = n - 1


t = int(input())

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


for T in range(int(input())):
	(x, n, m) = list(map(int, input().split()))
	k = 10 * m
	if k >= x:
		print('YES')
	else:
		res = 'NO'
		while n:
			x = x // 2 + 10
			n -= 1
			if x <= k:
				res = 'YES'
				break
		print(res)


for _ in range(int(input())):
	(a, b, c) = map(int, input().split())
	while b > 0:
		b -= 1
		n = a // 2 + 10
		if n > a + 1:
			break
		a = n
	while c > 0:
		c -= 1
		a = a - 10
	print('YES' if a <= 0 else 'NO')


from math import floor
for loop in range(int(input())):
	data = input()
	[x, n, m] = list(map(int, data.split()))
	while x >= 20 and n > 0:
		x = floor(x / 2 + 10)
		n = n - 1
	while x > 0 and m > 0:
		x = x - 10
		m = m - 1
	if x <= 0:
		print('YES')
	else:
		print('NO')


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


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


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


kk = int(input())
for ii in range(kk):
	(x, n, m) = input().split()
	x = int(x)
	n = int(n)
	m = int(m)
	while n + m > 0 and x > 0:
		if x > 40:
			if n > 0:
				n -= 1
				x = int(x / 2) + 10
			elif m > 0:
				m -= 1
				x = x - 10
		elif x < 21:
			if m > 0:
				m -= 1
				x = x - 10
			elif n > 0:
				n -= 1
				x = int(x / 2) + 10
		elif n > 0:
			n -= 1
			x = int(x / 2) + 10
		else:
			m -= 1
			x = x - 10
	if x <= 0:
		print('YES')
	else:
		print('NO')


def solve(x, n, m):
	while x > 0 and n > 0 and (m > 0):
		if x >= 20 and n > 0 or m == 0:
			x = x // 2 + 10
			n -= 1
		elif m > 0:
			x -= 10
			m -= 1
	if not n:
		if x - m * 10 > 0:
			return 0
	else:
		while x > 0 and n > 0:
			x = x // 2 + 10
			n -= 1
		if x > 0:
			return 0
	return 1

def main():
	t = int(input())
	for i in range(t):
		(x, n, m) = list(map(int, input().split()))
		possible = solve(x, n, m)
		if possible:
			print('YES')
		else:
			print('NO')
main()


testcase = int(input())
while testcase > 0:
	(x, n, m) = map(int, input().split())
	temp = int(x)
	temp_M = m
	flag = bool(0)
	while n > 0:
		x = x // 2 + 10
		if temp_M > 0:
			temp = temp - 10
			temp_M = temp_M - 1
		if temp <= 0:
			print('YES')
			flag = 1
			testcase = testcase - 1
			break
		n = n - 1
	if flag == 1:
		continue
	if x - m * 10 <= 0:
		print('YES')
	else:
		print('NO')
	testcase = testcase - 1


def dragon(h, v, li):
	v_hit = h // 2 + 10
	while v_hit < h and v > 0:
		h = v_hit
		v -= 1
		v_hit = h // 2 + 10
	h = h - li * 10
	if h <= 0:
		return 'YES'
	else:
		return 'NO'
tests = int(input())
for t in range(tests):
	(health, void, light) = map(int, input().split())
	print(dragon(health, void, light))


from bisect import bisect_left as bl
from bisect import bisect_right as br
from heapq import heappush, heappop
import math
from collections import *
from functools import reduce, cmp_to_key
import sys
input = sys.stdin.readline
M = mod = 998244353

def factors(n):
	return sorted(set(reduce(list.__add__, ([i, n // i] for i in range(1, int(n ** 0.5) + 1) if n % i == 0))))

def inv_mod(n):
	return pow(n, mod - 2, mod)

def li():
	return [int(i) for i in input().rstrip('\n').split()]

def st():
	return input().rstrip('\n')

def val():
	return int(input().rstrip('\n'))

def li2():
	return [i for i in input().rstrip('\n')]

def li3():
	return [int(i) for i in input().rstrip('\n')]
for _ in range(val()):
	(x, n, m) = li()
	while x > 20:
		if n:
			x = x // 2 + 10
			n -= 1
		else:
			break
	x -= 10 * m
	print('YES' if x <= 0 else 'NO')


from sys import stdin

def main():
	inp = stdin.readline
	for _ in range(int(inp())):
		(x, n, m) = map(int, inp().split())
		while x > 20 and n >= 1:
			n -= 1
			x = x // 2 + 10
		if x <= 10 and m >= 1:
			print('YES')
			continue
		if x <= 20 and m >= 2:
			print('YES')
			continue
		if x - 10 * m <= 0:
			print('YES')
			continue
		print('NO')
main()


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


import math
import sys
input = sys.stdin.readline

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())
test_cases = int(input())
for _ in range(test_cases):
	(hp, void, light) = map(int, input().split())
	if hp <= 0:
		print('YES')
		continue
	for _ in range(void):
		if hp <= 20:
			break
		hp = hp // 2 + 10
	for temp in range(light):
		if hp <= 0:
			break
		hp -= 10
	if hp <= 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for ii in range(t):
	(h, a, b) = map(int, input().split())
	for i in range(a):
		h = min(h, h // 2 + 10)
	if h <= b * 10:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	(n, v, l) = map(int, input().split())
	while n > 0:
		if v == 0 and l == 0:
			break
		elif n >= 20 and v > 0 or l == 0:
			n = n // 2 + 10
			v = v - 1
		elif n < 20 and l > 0 or v == 0:
			n = n - 10
			l = l - 1
	print('YES') if n <= 0 else print('NO')


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


for x in range(int(input())):
	(x, n, m) = list(map(int, input().split()))
	while n > 0:
		if x <= 20:
			break
		x = x // 2 + 10
		n -= 1
	r = 'NO'
	while m > 0:
		x = x - 10
		m -= 1
		if x <= 0:
			r = 'YES'
			break
	print(r)


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


def Absorp(hp):
	return hp // 2 + 10
for i in range(int(input())):
	(hp, va, l) = map(int, input().split())
	if hp - 10 * l <= 0:
		print('YES')
		continue
	for i in range(va):
		hp = Absorp(hp)
	hp -= 10 * l
	print('YES') if hp <= 0 else print('NO')


import math
T = int(input())
for i in range(T):
	(x, n, m) = map(int, input().split())
	flag = 0
	while n > 0:
		va = x // 2 + 10
		if va < x:
			x = va
		n -= 1
	for j in range(m):
		x = x - 10
	if x <= 0:
		print('YES')
	else:
		print('NO')


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


for _ in range(int(input())):
	(x, n, m) = map(int, input().split())
	y = x
	z = x
	for i in range(n):
		x = x // 2 + 10
	for i in range(m):
		x = x - 10
	for i in range(m):
		y -= 10
	for i in range(n):
		z = z // 2 + 10
	if x < 1 or y < 1 or z < 1:
		print('YES')
	else:
		print('NO')


import io
import os
import sys
fileno = sys.stdin.fileno()
input = io.BytesIO(os.read(fileno, os.fstat(fileno).st_size)).readline
T = int(input())
for t in range(T):
	(x, n, m) = list(map(int, input().split()))
	if x <= m * 10:
		print('YES')
		continue
	for i in range(n):
		x = x // 2 + 10
		if x <= m * 10:
			break
	print('YES' if x <= m * 10 else 'NO')


import sys, math, cmath, time
start_time = time.time()

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return s[:len(s) - 1]

def invr():
	return map(int, input().split())

def solve():
	(x, n, m) = invr()
	for i in range(n):
		if x <= 20:
			break
		x = x // 2 + 10
	x = x - m * 10
	if x <= 0:
		print('YES')
	else:
		print('NO')
ONLINE_JUDGE = __debug__
if not ONLINE_JUDGE:
	sys.stdin = open('input.txt', 'r')
	sys.stdout = open('output.txt', 'w')
else:
	input = sys.stdin.readline
t = 1
t = inp()
for tt in range(t):
	solve()
if not ONLINE_JUDGE:
	print('Time Elapsed:', time.time() - start_time, 'seconds')
sys.stdout.close()


def triangle(a, b, c, d):
	if d < a + b:
		return (a, b, d)
	if d < 2 * b:
		return (b, b, d)
	if d < b + c:
		return (b, c, d)
	if c < 2 * b:
		return (b, b, c)
	else:
		return (b, c, c)

def problem_A():
	(a, b, c, d) = list(map(int, input().split()))
	x = triangle(a, b, c, d)
	print(*x)

def can_kill(h, n, m):
	while h > 20 and n > 0:
		h = h // 2 + 10
		n -= 1
	while h > 0 and m > 0:
		h -= 10
		m -= 1
	if h > 0:
		return 'NO'
	else:
		return 'YES'

def problem_B():
	(h, n, m) = list(map(int, input().split()))
	print(can_kill(h, n, m))
cases = int(input())
for _ in range(cases):
	problem_B()


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


for i in range(int(input())):
	(h, a, b) = map(int, input().split())
	i = 0
	j = 0
	if h <= 10 * b:
		print('YES')
		continue
	for i in range(a):
		h = h // 2 + 10
	if h <= b * 10:
		print('YES')
	else:
		print('NO')


T = int(input())
for t in range(T):
	line = [int(i) for i in input().split()]
	(x, n, m) = (line[0], line[1], line[2])
	if n + m == 0:
		print('NO')
		continue
	if x <= 10 * m:
		print('YES')
		continue
	done = False
	while n + m != 0:
		if x > 20 and n > 0:
			x = int(x / 2) + 10
			n -= 1
		elif x <= m * 10:
			print('YES')
			done = True
			break
		else:
			print('NO')
			done = True
			break
	if not done:
		print('NO')


from sys import stdin
import math
a = int(stdin.readline())
for b in range(0, a):
	c = stdin.readline().split()
	d = int(c[0])
	e = int(c[1])
	f = int(c[2])
	while True:
		if e + f == 0 or d <= 0:
			break
		if d >= 39:
			if e > 0:
				d = math.floor(d / 2) + 10
				e -= 1
			else:
				d -= 10
				f -= 1
		elif f >= math.ceil(d / 10) or e == 0:
			d -= 10
			f -= 1
		else:
			d = math.floor(d / 2) + 10
			e -= 1
	if d <= 0:
		print('YES')
	else:
		print('NO')


from math import *

def m_func(x):
	m = 0
	while x > 0:
		x = x - 10
		m = m + 1
	return m
t = input()
for i in range(int(t)):
	(x, N, M) = map(int, input().split())
	n = 0
	m = 0
	while x > 40 and n < N:
		x = floor(x / 2) + 10
		n = n + 1
	if m_func(x) > M:
		while x > 0 and m_func(x) > M and (n < N):
			x = floor(x / 2) + 10
			n = n + 1
		while x > 0 and m < M:
			x = x - 10
			m = m + 1
	else:
		while x > 0 and m < M:
			x = x - 10
			m = m + 1
	ans = 0
	if x > 0:
		ans = 1
	if ans == 0:
		print('YES')
	elif ans == 1:
		print('NO')


for _ in range(int(input())):
	(n, x, y) = [int(x) for x in input().split()]
	a = n
	for _ in range(x):
		n = n // 2 + 10
	if n > 0:
		for _ in range(y):
			n = n - 10
	if n <= 0:
		print('YES')
	else:
		for _ in range(y):
			a = a - 10
		if a > 0:
			for _ in range(x):
				a = a // 2 + 10
		if a <= 0:
			print('YES')
		else:
			print('NO')


T = int(input())
for t in range(T):
	arr = list(map(int, input().strip().split(' ')))
	point = arr[0]
	(n, m) = (arr[1], arr[2])
	while n > 0:
		if point <= 10 and m > 0:
			point -= 10
			m -= 1
			break
		point = point // 2 + 10
		n -= 1
	while m > 0:
		point -= 10
		m -= 1
	if point <= 0:
		print('YES')
	else:
		print('NO')


import math
health = []
power1 = []
power2 = []
test_cases = int(input())
for i in range(test_cases):
	data_set = list(input().split())
	health.append(int(data_set[0]))
	power1.append(int(data_set[1]))
	power2.append(int(data_set[2]))
for i in range(len(health)):
	for j in range(power1[i]):
		if health[i] > 20:
			health[i] = math.floor(health[i] / 2) + 10
		if health[i] <= 20:
			break
	for k in range(power2[i]):
		if health[i] > 0:
			health[i] -= 10
		if health[i] <= 0:
			break
	print('YES' if health[i] <= 0 else 'NO')


t = int(input())
for i in range(t):
	hp_spell = [int(x) for x in list(input().split(' '))]
	hp = hp_spell[0]
	va = hp_spell[1]
	ls = hp_spell[2]
	for a in range(va):
		if hp <= 20:
			break
		hp = hp // 2 + 10
	for b in range(ls):
		hp = hp - 10
	if hp <= 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	(x, n, m) = map(int, input().split(' '))
	flag = False
	cont = 0
	m1 = m
	x1 = x
	if x <= m * 10:
		flag = True
	else:
		for j in range(n):
			x1 = int(x1 / 2) + 10
			cont = cont + 1
			if cont == 2 and m1 > 0:
				x1 = x1 - 10
				m1 = m1 - 1
				cont = 0
		if m1 > 0:
			x1 = x1 - m1 * 10
		if x <= 0:
			flag = True
		else:
			for j in range(n):
				x = int(x / 2) + 10
			x = x - m * 10
			if x <= 0:
				flag = True
	if flag == False:
		print('NO')
	else:
		print('YES')


q = int(input())
for m in range(q):
	t = input().split()
	arr = []
	for i in range(len(t)):
		arr.append(int(t[i]))
	k = arr[2] * 10
	while arr[0] > k and arr[1] > 0:
		arr[0] //= 2
		arr[0] += 10
		arr[1] -= 1
	if arr[0] <= k:
		print('YES')
	else:
		print('NO')


a = int(input())
hp = list()
void = list()
punch = list()
otvet = list()
for i in range(a):
	c = input()
	c = c.split()
	hp.append(int(c[0]))
	void.append(int(c[1]))
	punch.append(int(c[2]))
	if hp[i] <= punch[i] * 10:
		otvet.append('YES')
	else:
		for j in range(void[i]):
			hp[i] = hp[i] // 2 + 10
		if hp[i] <= punch[i] * 10:
			otvet.append('YES')
		else:
			otvet.append('NO')
for i in range(a):
	print(otvet[i])


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


def solve():
	(x, m, n) = map(int, input().split())
	if x <= 10:
		if x > n * 10:
			print('NO')
			return
		else:
			print('YES')
			return
	else:
		a = x
		b = a // 2 + 10
		k = 0
		while a > b and k < m:
			a = b
			b = a // 2 + 10
			k += 1
		if a - n * 10 > 0:
			print('NO')
			return
		else:
			print('YES')
			return
try:
	for _ in range(int(input())):
		solve()
except:
	pass


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


def op1(x, n):
	for _ in range(n):
		if x >= 20:
			x = x // 2 + 10
	return x

def op2(x, m):
	for _ in range(m):
		x -= 10
	return x
ans = []
for _ in range(int(input())):
	(x, n, m) = map(int, input().split())
	if x >= 20:
		x = op1(x, n)
	x = op2(x, m)
	if x > 0:
		print('NO')
	else:
		print('YES')


for _ in range(int(input())):
	(x, n, m) = list(map(int, input().split()))
	while n > 0:
		x = min(x, x // 2 + 10)
		n -= 1
	while m > 0:
		x -= 10
		m -= 1
	if x > 0:
		print('NO')
	else:
		print('Yes')


from math import floor
cases = int(input())
for _ in range(cases):
	(x, n, m) = map(int, input().split())
	w = x
	true = []
	r1 = []
	for i in range(n):
		x = floor(x / 2) + 10
		if x <= 0:
			true.append(1)
	for j in range(m):
		x = x - 10
		if x <= 0:
			true.append(1)
	r1.append(x)
	for i in range(m):
		w = w - 10
		if w <= 0:
			true.append(1)
	for j in range(n):
		w = floor(w / 2) + 10
		if w <= 0:
			true.append(1)
	r1.append(w)
	if len(true) == 0:
		if r1[0] <= 0 or r1[1] <= 0:
			print('YES')
		else:
			print('NO')
	else:
		print('YES')


import sys
import math
input = sys.stdin.readline

def int_array():
	return list(map(int, input().split()))

def str_array():
	return list(map(str, input().split()))
n = int(input())

def hello():
	for i in range(n):
		(h, v, l) = int_array()
		for i in range(v):
			h = min(h, h // 2 + 10)
		h -= l * 10
		if h > 0:
			print('NO')
		if h <= 0:
			print('YES')

def hey():
	for i in range(n):
		(h, v, l) = int_array()
		for i in range(v + l + 1):
			if v > 0:
				if h // 2 + 10 < h - 10:
					h = h // 2 + 10
					v -= 1
				elif h // 2 + 10 < h:
					h = h // 2 + 10
					v -= 1
			if l > 0:
				if h <= 0:
					break
				if h // 2 + 10 > h - 10:
					h -= 10
					l -= 1
			if h <= 0:
				break
			print(h)
		if h > 0:
			print(f'NO: {h}')
		else:
			print('YES')
hello()


def solve(x, n, m):
	yes = 'YES'
	no = 'NO'
	out = 0
	while x > 20 and n > 0:
		if x / 10 <= m:
			out = yes
			break
		x = x // 2 + 10
		n -= 1
	if out == 0:
		if x <= 0:
			out = yes
		elif x / 10 <= m:
			out = yes
		else:
			out = no
	return out
T = int(input())
for x in range(T):
	(x, n, m) = [int(i) for i in input().split()]
	y = solve(x, n, m)
	print(y)


from sys import *
t = int(stdin.readline())
for _ in range(t):
	a = list(map(int, stdin.readline().split()))
	x = a[0]
	for i in range(a[1]):
		prev = x
		x = x // 2 + 10
		if x > prev:
			x = prev
			break
	x = x - a[2] * 10
	if x <= 0:
		print('YES')
	else:
		print('NO')


import math
t = int(input())
for i in range(t):
	(x, n, m) = list(map(int, input().split()))
	count = 0
	while x > math.floor(x) / 2 + 10 and n > 0:
		x = math.floor(x) / 2 + 10
		n = n - 1
	while x > 0 and m > 0:
		x = math.floor(x) - 10
		m = m - 1
		if x <= 0:
			count = 1
			break
	if count == 1:
		print('YES')
	else:
		print('NO')


import bisect
from collections import defaultdict
import sys
from functools import reduce, cmp_to_key
from collections import deque
import threading
from itertools import combinations

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

def iinput():
	return int(input())

def tinput():
	return input().split()

def rinput():
	return map(int, tinput())

def rlinput():
	return list(rinput())

def factors(n):
	return set(reduce(list.__add__, ([i, n // i] for i in range(1, int(n ** 0.5) + 1) if n % i == 0)))
for _ in range(iinput()):
	(x, n, m) = rinput()
	for i in range(n):
		if x < 21:
			break
		x = x // 2 + 10
	for i in range(m):
		x -= 10
	print('YES' if x <= 0 else 'NO')


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


testCase = int(input())
test = 0
while test < testCase:
	(hitpoint, void, lightning) = input().split()
	hitpoint = int(hitpoint)
	void = int(void)
	lightning = int(lightning)
	sum = 0
	consthitpoint = hitpoint
	while void > 0:
		hitpoint = hitpoint // 2 + 10
		if hitpoint < 0:
			break
		void -= 1
	if hitpoint > 0:
		hitpoint -= 10 * lightning
	if hitpoint <= 0:
		print('YES')
	else:
		consthitpoint -= lightning * 10
		if consthitpoint <= 0:
			print('YES')
		else:
			print('NO')
	test += 1


for s in [*open(0)][1:]:
	(a, b, c) = map(int, s.split())
	while a > 20 and b:
		a = a // 2 + 10
		b -= 1
	print('YNEOS'[0 - -a // 10 > c::2])


from sys import stdin, stdout

def defeat(x, n, m):
	if x <= m * 10:
		return True
	for i in range(n):
		x = x // 2 + 10
		if x <= m * 10:
			return True
	return False
for _ in range(int(stdin.readline())):
	(x, n, m) = map(int, stdin.readline().split())
	if defeat(x, n, m):
		stdout.write('YES\n')
	else:
		stdout.write('NO\n')


def absorb(n):
	return n // 2 + 10

def beatable(x, n, m):
	if x <= m * 10:
		return 'YES'
	for _ in range(n):
		x = absorb(x)
		if x <= m * 10:
			return 'YES'
	return 'NO'
numberofcases = int(input())
for _ in range(numberofcases):
	(x, n, m) = [int(t) for t in input().split()]
	print(beatable(x, n, m))


for _ in range(int(input())):
	X = list(map(int, input().split()))
	Last = X[0]
	while X[1] > 0 and X[0] // 2 + 10 < Last:
		X[0] = X[0] // 2 + 10
		Last = X[0]
		X[1] -= 1
	while X[2] > 0:
		X[0] -= 10
		X[2] -= 1
	print('YES' if X[0] <= 0 else 'NO')


import math
t = int(input())
for i in range(0, t):
	num = input().split()
	num = [int(j) for j in num]
	hp = num[0]
	n = num[1]
	m = num[2]
	beforedie = m * 10
	if hp <= beforedie:
		print('YES')
		continue
	for k in range(0, n):
		hp = math.floor(hp / 2) + 10
		if hp <= beforedie:
			print('YES')
			break
	else:
		print('NO')


LI = lambda : list(map(int, input().split()))
MI = lambda : map(int, input().split())
yes = lambda : print('YES')
no = lambda : print('NO')
I = lambda : list(input())
J = lambda x: ''.join(x)
II = lambda : int(input())
SI = lambda : input()
t = int(input())
for i in range(t):
	(x, n, m) = MI()
	while n > 0 and x > 10:
		x //= 2
		x += 10
		n -= 1
	x -= m * 10
	if x > 0:
		no()
	else:
		yes()


import math
for w in range(int(input())):
	x = list(map(int, input().split()))
	flag = 0
	if x[0] <= x[2] * 10:
		flag = 1
	while x[1] != 0 and flag == 0:
		x[0] = math.floor(x[0] / 2)
		x[0] += 10
		x[1] -= 1
		if x[0] <= x[2] * 10:
			flag = 1
			break
	print('YES' if flag == 1 else 'NO')


def game(x, y, z):
	for i in range(y):
		if x <= 20:
			break
		x = x // 2 + 10
	x = x - z * 10
	if x > 0:
		print('no')
	else:
		print('yes')
t = int(input())
for i in range(t):
	t = input()
	l = t.split(' ')
	game(int(l[0]), int(l[1]), int(l[2]))


def dragon(h, n, m):
	while h > 20 and n > 0:
		h = h // 2 + 10
		n -= 1
	if h - 10 * m > 0:
		return False
	return True
n = int(input())
for _ in range(n):
	(h, n, m) = map(int, input().split())
	if dragon(h, n, m):
		print('YES')
	else:
		print('NO')


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


import math
t = int(input())
for tt in range(t):
	(x, n, m) = map(int, input().split())
	temp = x
	cc = 0
	while cc < n and temp > 20:
		temp = math.floor(temp / 2) + 10
		cc += 1
	cc = 0
	while temp > 0 and cc < m:
		temp = temp - 10
		cc += 1
	if temp <= 0:
		print('YES')
	else:
		print('NO')


import math
t = input()
testcase = int(t)
for i in range(testcase):
	s = input()
	temp = s.split()
	hitpoint = int(temp[0])
	absorption = int(temp[1])
	lightning = int(temp[2])
	while hitpoint > 0 and absorption > 0 and (math.floor(hitpoint / 2) + 10 < hitpoint):
		absorption -= 1
		hitpoint = math.floor(hitpoint / 2) + 10
	if hitpoint <= lightning * 10:
		print('YES')
	else:
		print('NO')


import math
t = int(input())
for i in range(t):
	s = 'NO'
	(x, n, m) = input().split()
	x = int(x)
	n = int(n)
	m = int(m)
	m1 = m
	x1 = x
	while n > 0:
		x = math.floor(x / 2) + 10
		n = n - 1
	while m > 0 and x > 0:
		x = x - 10
		m = m - 1
	if x <= 0:
		s = 'YES'
	else:
		while m1 > 0:
			x1 = x1 - 10
			if x1 <= 0:
				break
			m1 = m1 - 1
		if x1 <= 0:
			s = 'YES'
	print(s)


import sys
import random
from math import log2, log, ceil
input = sys.stdin.readline

def swaparr(arr, a, b):
	temp = arr[a]
	arr[a] = arr[b]
	arr[b] = temp

def gcd(a, b):
	if a > 0:
		return gcd(b % a, a)
	return b

def primefs(n):
	if n == 1:
		return 1
	primes = {}
	while n % 2 == 0:
		primes[2] = primes.get(2, 0) + 1
		n = n // 2
	for i in range(3, int(n ** 0.5) + 2, 2):
		while n % i == 0:
			primes[i] = primes.get(i, 0) + 1
			n = n // i
	if n > 2:
		primes[n] = primes.get(n, 0) + 1
	return primes

def swap(a, b):
	temp = a
	a = b
	b = temp
	return (a, b)

def find(x, link):
	while x != link[x]:
		x = link[x]
	return x

def union(x, y, size, link):
	x = find(x, link)
	y = find(y, link)
	if size[x] < size[y]:
		(x, y) = swap(x, y)
	if x != y:
		size[x] += size[y]
		link[y] = x

def sieve(n):
	prime = [True for i in range(n + 1)]
	p = 2
	while p * p <= n:
		if prime[p] == True:
			for i in range(p * p, n + 1, p):
				prime[i] = False
		p += 1
	return prime
MAXN = int(1000000.0 + 5)

def spf_sieve():
	spf[1] = 1
	for i in range(2, MAXN):
		spf[i] = i
	for i in range(4, MAXN, 2):
		spf[i] = 2
	for i in range(3, ceil(MAXN ** 0.5), 2):
		if spf[i] == i:
			for j in range(i * i, MAXN, i):
				if spf[j] == j:
					spf[j] = i
spf = [0 for i in range(MAXN)]
spf_sieve()

def factoriazation(x):
	ret = {}
	while x != 1:
		ret[spf[x]] = ret.get(spf[x], 0) + 1
		x = x // spf[x]
	return ret

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


from math import floor, ceil

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


import sys
import heapq
import math

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

def iinput():
	return int(input())

def rinput():
	return map(int, input().split())

def rlinput():
	return list(map(int, input().split()))

def YES(flag):
	if flag:
		return 'YES'
	return 'NO'

def main():
	(x, n, m) = rinput()
	if x <= 0:
		return 'YES'
	for i in range(n):
		t = math.floor(x / 2) + 10
		if t >= x:
			break
		if x <= 0:
			return 'YES'
		x = t
	if x <= 0:
		return 'YES'
	if x - 10 * m <= 0:
		return 'YES'
	return 'NO'
for i in range(iinput()):
	print(main())


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


z = int(input())
for k in range(z):
	(num, x, y) = map(int, input().split())
	if num <= y * 10:
		print('YES')
	else:
		for i in range(x):
			if num <= 0:
				break
			else:
				num = num // 2 + 10
		for j in range(y):
			if num <= 0:
				break
			else:
				num = num - 10
		if num <= 0:
			print('YES')
		else:
			print('NO')


import math
for _ in range(int(input())):
	(h, n, m) = map(int, input().split())
	for i in range(n):
		if h > 20:
			h = math.floor(h / 2) + 10
	for i in range(m):
		if h > 0:
			h = h - 10
	if h <= 0:
		print('YES')
	else:
		print('NO')


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


for qq in range(int(input())):
	(h, n, m) = map(int, input().split())
	while h > 20 and n:
		h = h // 2 + 10
		n -= 1
	print('YNEOS'[h > m * 10::2])


import sys
input = sys.stdin.readline
import random
from collections import deque, defaultdict
L = lambda : list(map(int, input().split()))
Ls = lambda : list(input().split())
M = lambda : map(int, input().split())
I = lambda : int(input())
d = defaultdict(int)
import math as mt
t = I()
for _ in range(t):
	(x, n, m) = M()
	while x > 0:
		if n > 0 and m > 0:
			a = x - (x // 2 + 10)
			b = 10
			if a > 0:
				x = x // 2 + 10
				n -= 1
			else:
				x -= 10
				m -= 1
		elif n > 0:
			x = x // 2 + 10
			n -= 1
		elif m > 0:
			x -= 10
			m -= 1
		else:
			break
	if x > 0:
		print('NO')
	else:
		print('YES')


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


T = int(input())
for i in range(T):
	l = list(map(int, input().split()))
	(x, va, ls) = (l[0], l[1], l[2])
	count = 0
	spells = 0
	for j in range(va):
		if x >= 21:
			x = x // 2 + 10
			spells += 1
		else:
			break
	for j in range(ls):
		if x > 0:
			x = x - 10
			spells += 1
		else:
			break
	if x <= 0 and spells <= l[1] + l[2]:
		print('YES')
	else:
		print('NO')


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


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


from math import ceil
t = int(input())
for _ in range(t):
	(x, n, m) = map(int, input().split())
	x0 = 10 * m
	if x0 >= x:
		print('YES')
	else:
		for i in range(n):
			x0 = (x0 - 10) * 2 + 1
			if x0 >= x:
				print('YES')
				break
		if x0 < x:
			print('NO')


for _ in range(int(input())):
	(x, n, m) = map(int, input().split())
	d = {}
	while (n > 0 or m > 0) and x > 0:
		x1 = x // 2
		x2 = x - 10
		if x1 <= x2:
			if x1 == x - 10 and m > 0:
				x = x - 10
				m = m - 1
			elif n > 0:
				x = x1 + 10
				n = n - 1
			else:
				x = x2
				m = m - 1
		elif x1 > x2:
			if m > 0:
				x = x2
				m = m - 1
			else:
				x = x1 + 10
				n = n - 1
	if x <= 0:
		print('YES')
	else:
		print('NO')


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


arr = [[], []]

def out1(x, n, m):
	if x <= 0:
		return True
	if n <= 0:
		if x - 10 * m > 0:
			return False
		else:
			return True
	if m <= 0:
		return False
	return out1(x // 2 + 10, n - 1, m) or out1(x - 10, n, m - 1)

def out(x, n, m):
	while x > 0:
		if n > 0 and m > 0:
			if x // 2 + 10 < x - 10:
				n -= 1
				x = x // 2 + 10
			else:
				return out1(x - 10, n, m - 1) or out1(x // 2 + 10, n - 1, m)
		elif n > 0:
			return False
		elif m > 0:
			if x - 10 * m <= 0:
				return True
			else:
				return False
		else:
			return False
	return True
for i in range(int(input())):
	(x, n, m) = map(int, input().split(' '))
	if out(x, n, m):
		print('YES')
	else:
		print('NO')


from math import sqrt
t = int(input())
for i in range(t):
	(x, n, m) = map(int, input().split())
	while x > 0 and (n != 0 or m != 0):
		case1 = x // 2 + 10
		if case1 < x and n != 0:
			x = case1
			n -= 1
		elif m != 0:
			x -= 10
			m -= 1
		else:
			break
	if x > 0:
		print('NO')
	else:
		print('YES')


number_of_test_case = int(input())
arrs = []
for i in range(number_of_test_case):
	(points, up, down) = map(int, input().split())
	temp = [points, up, down]
	arrs.append(temp)
for arr in arrs:
	count_up = 0
	count_down = 0
	while count_up < arr[1] and arr[0] > 20:
		arr[0] = int(arr[0] / 2) + 10
		count_up += 1
	while count_down < arr[2]:
		arr[0] = arr[0] - 10
		count_down += 1
	if arr[0] > 0:
		print('NO')
	else:
		print('YES')


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


import math
t = int(input())
for i in range(t):
	(x, n, m) = map(int, input().split())
	flag = 0
	while x > 0 and (n != 0 or m != 0):
		if n > 0:
			y = math.floor(x / 2) + 10
			if x <= y:
				n = 0
			else:
				x = y
				n = n - 1
		elif m > 0:
			x = x - 10
			m = m - 1
		else:
			break
	if x <= 0:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	(a, b, c) = map(int, input().split())
	y = a
	k = a - 10 * c
	if k <= 0:
		print('YES')
	else:
		for i in range(b):
			y = y // 2 + 10
		y = y - 10 * c
		if y > 0:
			print('NO')
		else:
			print('YES')


for _ in range(int(input())):
	(h, n, m) = map(int, input().split())
	xx = h
	for _ in range(n):
		h = h // 2 + 10
	if h <= m * 10 or xx <= m * 10:
		print('YES')
	else:
		print('NO')


from math import floor
for _ in range(int(input())):
	(h, n, m) = map(int, input().split())
	void = n
	while void > 0:
		if floor(h / 2) + 10 >= h:
			break
		h = floor(h / 2) + 10
		void -= 1
	if h - 10 * m <= 0:
		print('YES')
	else:
		print('NO')


from sys import stdin
input = stdin.readline
for _ in range(int(input())):
	(h, n, m) = map(int, input().split())
	for i in range(n):
		if h < 21:
			break
		h = h // 2 + 10
	if m * 10 >= h:
		print('YES')
	else:
		print('NO')


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


t = int(input())
while t:
	(x, n, m) = input().split()
	x = int(x)
	n = int(n)
	m = int(m)
	j = x - 10 * m
	i = 1
	while i <= n:
		x = int(x / 2) + 10
		i = i + 1
	y = x - 10 * m
	if y <= 0 or j <= 0:
		print('YES')
	else:
		print('NO')
	t = t - 1


num = int(input())
for x in range(num):
	ss = input().split()
	hit = int(ss[0])
	void = int(ss[1])
	strik = int(ss[2])
	for x in range(void):
		if hit // 2 + 10 >= hit:
			break
		hit = hit // 2 + 10
	if hit > 10 * strik:
		print('NO')
	else:
		print('YES')


from sys import stdin, stdout
import math, collections, itertools
mod = 998244353
for _ in range(int(stdin.readline())):
	(x, n, m) = map(int, stdin.readline().split())
	while x > 20 and n > 0:
		x = x // 2 + 10
		n -= 1
	print('yes' if x - m * 10 <= 0 else 'no')


t = int(input())
for _ in range(t):
	(h, v, l) = map(int, input().split())
	while h > 20 and v > 0:
		h = h // 2 + 10
		v -= 1
	if l >= h / 10:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	(x, n, m) = map(int, input().split())
	(cntn, cntm) = (0, 0)
	defet = False
	while n > 0:
		if x <= m * 10:
			defet = True
			break
		x = x // 2 + 10
		n -= 1
	if defet:
		print('YES')
		continue
	if x > 10 * m:
		print('NO')
	else:
		print('YES')


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


import math
t = int(input())
while t > 0:
	a = list(map(int, input().strip().split()))
	(x, n, m) = a
	if x <= 20:
		if x > m * 10:
			print('NO')
		else:
			print('YES')
		t -= 1
		continue
	resid = x * math.pow(0.5, n) + 2 * 10 * (1 - math.pow(0.5, n))
	if int(resid) > m * 10:
		print('NO')
	else:
		print('YES')
	t -= 1


import math

def g(x, n, m):
	c = 0
	d = 0
	while x > 20 and c < n:
		x = x // 2 + 10
		c += 1
	while d < m:
		x -= 10
		d += 1
	if x > 0:
		return 'NO'
	else:
		return 'YES'
t = int(input())
while t > 0:
	(x, n, m) = map(int, input().split())
	print(g(x, n, m))
	t -= 1


for t in range(int(input())):
	(x, n, m) = map(int, input().split())
	ans = 10 * m
	if m == 0:
		print('NO')
	elif m == 1:
		if x > ans:
			print('NO')
		else:
			print('YES')
	else:
		for i in range(n):
			ans -= 10
			ans *= 2
			ans += 1
		if ans >= x:
			print('YES')
		else:
			print('NO')


from math import floor
for _ in range(int(input())):
	(x, n, m) = (int(x) for x in input().split())
	total = n + m + 2
	for __ in range(0, total):
		if x <= 0:
			print('YES')
			break
		if x > 20:
			if n != 0:
				x = floor(x / 2) + 10
				n -= 1
			elif m != 0:
				x -= 10
				m -= 1
		elif m != 0:
			x -= 10
			m -= 1
	else:
		print('NO')


T = int(input())
for t in range(T):
	(X, N, M) = [int(_) for _ in input().split()]
	while X > 0 and (N > 0 or M > 0):
		if N > 0:
			d1 = X // 2 + 10
			if d1 < X:
				N -= 1
				X = d1
			else:
				N = 0
		else:
			X -= 10
			M -= 1
	if X <= 0:
		print('YES')
	else:
		print('NO')


from sys import stdin, stdout
for test in range(int(stdin.readline())):
	arr = [int(x) for x in stdin.readline().split()]
	health = arr[0]
	n = arr[1]
	m = arr[2]
	while health > 10 and n > 0:
		health = health // 2 + 10
		n -= 1
	for i in range(m):
		health -= 10
	if health <= 0:
		stdout.write('YES\n')
	else:
		stdout.write('NO\n')


import sys
input = sys.stdin.readline

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


def solve():
	(x, n, m) = map(int, input().split())
	while x > 20 and n > 0:
		x = x // 2 + 10
		n -= 1
	while x > 0 and m > 0:
		x = x - 10
		m -= 1
	if x <= 0:
		return 'YES'
	return 'NO'

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


import math

def check(x, va, ls):
	if x <= 10 * ls:
		return 'YES'
	while va > 0:
		x = math.floor(x / 2) + 10
		if x <= 10 * ls:
			return 'YES'
		else:
			va -= 1
	return 'NO'
t = int(input())
for _ in range(t):
	(x, va, ls) = map(int, input().split())
	print(check(x, va, ls))


t = int(input())
for i in range(t):
	(h, n, m) = [int(i) for i in input().split()]
	q = h
	w = h
	s = 0
	for i in range(n):
		h = h // 2 + 10
		if h <= 0:
			s = 1
			print('YES')
			break
	if s != 1:
		h = h - m * 10
		q = q - m * 10
		if h <= 0 or q <= 0:
			print('YES')
		else:
			print('NO')


m = int(input())
for j in range(m):
	(n, a, b) = [int(i) for i in input().split()]
	for i in range(a):
		if n < 20:
			break
		n = n // 2 + 10
	for i in range(b):
		n -= 10
	if n > 0:
		print('NO')
	else:
		print('YES')


def func(n):
	for i in range(n):
		k = list(map(int, input().split()))
		h = k[0]
		n1 = k[1]
		m = k[2]
		if h <= m * 10:
			print('YES')
			continue
		while n1 > 0:
			h = h // 2 + 10
			n1 -= 1
		while m > 0:
			h -= 10
			m -= 1
		if h <= 0:
			print('YES')
		else:
			print('NO')
n = int(input())
func(n)


def main():
	T = int(input())
	for t in range(T):
		(h, v, l) = list(map(int, input().split()))
		while h > 0:
			if v == 0 and l == 0:
				break
			if l == 0 and h <= 20:
				break
			if v > 0 and h > 20:
				v -= 1
				h = h // 2 + 10
			elif l > 0:
				l -= 1
				h -= 10
		if h > 0:
			print('NO')
		else:
			print('YES')
main()


def defeatDragon(x, n, m):
	while x > 20 and n != 0:
		x = x // 2 + 10
		n -= 1
	if x > m * 10:
		print('No')
	else:
		print('Yes')
t = int(input())
for i in range(t):
	(x, n, m) = map(int, input().split())
	defeatDragon(x, n, m)


n = int(input())
for i in range(n):
	(a, b, c) = [int(i) for i in input().split()]
	n = b
	while n > 0:
		if a - 10 * c <= 0:
			break
		a = a // 2 + 10
		n = n - 1
	s = c * 10
	if a <= 0:
		print('YES')
	elif a > s:
		print('NO')
	else:
		print('YES')


test = int(input())
ans = []
for i in range(test):
	(n, a, b) = list(map(int, input().split()))
	while n > 20 and a > 0:
		n = n // 2 + 10
		a -= 1
	while b > 0:
		n -= 10
		b -= 1
	if n <= 0:
		print('YES')
	else:
		print('NO')


def res(l):
	x = l[0]
	m = l[1]
	n = l[2]
	while x > 0 and m > 0:
		if x <= n * 10:
			print('yes')
			return
		x = x // 2 + 10
		m = m - 1
	if x <= 0:
		print('yes')
		return
	if n > 0:
		x = x - n * 10
		if x <= 0:
			print('yes')
		else:
			print('no')
		return
	print('no')
	return
t = int(input())
while t > 0:
	t = t - 1
	l = list(map(int, input().split()))
	res(l)


n = int(input())
for i in range(n):
	(a, b, c) = map(int, input().split())
	if a - c * 10 <= 0:
		print('YES')
		continue
	x = [a]
	for y in range(b):
		x.append(int(x[y] / 2) + 10)
	if b == 0:
		if a - c * 10 <= 0:
			print('YES')
		else:
			print('NO')
	elif x[b] - c * 10 <= 0:
		print('YES')
	else:
		print('NO')


import math
length = int(input())
for count in range(length):
	a = input().split()
	numbers = [int(i) for i in a]
	countvoid = numbers[1]
	countlight = numbers[2]
	health = numbers[0]
	flag = True
	while health > 0:
		if health > 20 and countvoid > 0:
			health = math.floor(health / 2) + 10
			countvoid -= 1
		elif countlight > 0:
			health = health - 10
			countlight -= 1
		else:
			flag = False
			print('NO')
			break
	if flag:
		print('YES')


def calculate_case():
	(hp, void, lightning) = map(int, input().split())
	for i in range(void):
		if hp <= 20:
			break
		hp = hp // 2 + 10
	for i in range(lightning):
		hp = hp - 10
	if hp <= 0:
		print('YES')
	else:
		print('NO')
test_cases = int(input())
for i in range(test_cases):
	calculate_case()


def solve(h, void, light):
	for i in range(void):
		if h <= 0:
			print('YES')
			return
		if h > int(h / 2) + 10:
			h = int(h / 2) + 10
		else:
			break
	h -= light * 10
	if h <= 0:
		print('YES')
		return
	print('NO')
t = int(input())
for _ in range(t):
	(h, void, light) = map(int, input().split())
	solve(h, void, light)


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


t = int(input())
answer = []
while t > 0:
	(x, n, m) = list(map(int, input().split()))
	while int(x / 2) + 10 < x and n > 0:
		x = int(x / 2) + 10
		n -= 1
	x -= m * 10
	if x <= 0:
		answer.append('YES')
	else:
		answer.append('NO')
	t -= 1
print('\n'.join(answer))


def defeatDragon(x, n, m):
	if x <= 0:
		print('YES')
		return True
	if n > 0:
		return defeatDragon(x // 2 + 10, n - 1, m)
	if m > 0:
		return defeatDragon(x - 10, n, m - 1)

def main():
	t = int(input())
	while t > 0:
		(x, n, m) = tuple(map(int, input().split()))
		if x - m * 10 <= 0:
			print('YES')
		elif not defeatDragon(x, n, m):
			print('NO')
		t -= 1
main()


from sys import stdin
debug = False

def join(_s, _l):
	return _s.join(map(str, _l))

def read(_f=None):
	if _f == None:
		return stdin.readline().strip()
	return _f(stdin.readline().strip())

def readlist(_f=None):
	_l = stdin.readline().strip().split()
	if _f == None:
		return _l
	return map(_f, _l)
readint = lambda : read(int)
readints = lambda : readlist(int)
printval = lambda _r: print(_r, end=' ')
printline = lambda _s, _r: print(join(_s, _r), end='\n')

def solve():
	(x, n, m) = readints()
	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')
t = readint()
for _ in range(t):
	if debug:
		print('-' * 20)
	if debug:
		print('ANS: ', end='')
	solve()


t = int(input())

def absorption(h):
	return h // 2 + 10

def lightning_strike(h):
	return h - 10
for _ in range(t):
	flag = 0
	arr = [int(i) for i in input().split()]
	h = arr[0]
	absorb_count = arr[1]
	l_count = arr[2]
	for i in range(absorb_count):
		if h - absorption(h) <= 0:
			break
		h = absorption(h)
	for i in range(l_count):
		h = lightning_strike(h)
	if h <= 0:
		print('YES')
	else:
		print('NO')


import random, math
from copy import deepcopy as dc
from bisect import bisect_left, bisect_right

def solution(li):
	pass

def input_test():
	for _ in range(int(input())):
		(a, b, c) = map(int, input().strip().split(' '))
		while (b > 0 or c > 0) and a > 0:
			a1 = a // 2 + 10
			a2 = a - 10
			if a1 < a and b > 0:
				a = a1 + 1 - 1
				b -= 1
			elif c > 0:
				a = a2 + 1 - 1
				c -= 1
			else:
				break
		if a <= 0:
			print('YES')
		else:
			print('NO')

def test():
	pass
input_test()


for T in range(int(input())):
	(h, abc, light) = map(int, input().split())
	for i in range(abc):
		x = h - light * 10
		if x < 1:
			h = x
			break
		h = h // 2 + 10
	x = h - light * 10
	if x < 1:
		print('YES')
	else:
		print('NO')


def convert_array_to_string(arr):
	for i in range(0, len(arr), 1):
		arr[i] = int(arr[i])
	return arr
testCases = int(input())

def is_dragon_killed(x, n, m):
	while n and x > 10 * m:
		x = int(x / 2) + 10
		n -= 1
	if x <= 10 * m:
		return 'YES'
	return 'NO'
while testCases:
	X = input().split()
	array = convert_array_to_string(X)
	x = array[0]
	n = array[1]
	m = array[2]
	print(is_dragon_killed(x, n, m))
	testCases -= 1


import math

def ii():
	return int(input())

def mi():
	return map(int, input().split())

def li():
	return list(mi())
for _ in range(ii()):
	(x, n, m) = mi()
	h = x
	for i in range(n):
		if h <= 20:
			break
		h = h // 2 + 10
	for i in range(m):
		h -= 10
	if h <= 0:
		print('YES')
	else:
		print('NO')


import math
T = int(input())
while T != 0:
	(h, v, l) = map(int, input().split())
	total = 0
	target_hp = l * 10
	while h >= 0:
		if v == 0 and l == 0:
			break
		if h > target_hp:
			if v != 0:
				v -= 1
				h = math.floor(h / 2) + 10
			elif l != 0:
				l -= 1
				h -= 10
		elif h <= target_hp:
			l -= 1
			h -= 10
		elif v != 0:
			v -= 1
			h = math.floor(h / 2) + 10
	if h <= 0:
		print('YES')
	else:
		print('NO')
	T -= 1


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


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')


for i in range(int(input())):
	(h, v, l) = map(int, input().split())
	defeat = False
	while h > 0:
		if h > 41:
			if v > 0:
				v -= 1
				h = h // 2 + 10
			else:
				h -= l * 10
				if h <= 0:
					defeat = True
				else:
					break
		elif h <= 41:
			if h - l * 10 <= 0:
				defeat = True
				break
			else:
				for j in range(v):
					h = h // 2 + 10
				if h - l * 10 <= 0:
					defeat = True
					break
				else:
					break
	if defeat:
		print('YES')
	else:
		print('NO')


import os
import sys
debug = True
if debug and os.path.exists('input.in'):
	input = open('input.in', 'r').readline
else:
	debug = False
	input = sys.stdin.readline

def inp():
	return int(input())

def inlt():
	return list(map(int, input().split()))

def insr():
	s = input()
	return list(s[:len(s) - 1])

def invr():
	return map(int, input().split())
test_count = int(input())
for t in range(test_count):
	(x, n, m) = invr()
	while x > 0 and (n > 0 or m > 0):
		if x > 20 and n > 0:
			x = x // 2 + 10
			n -= 1
		elif m > 0:
			x -= 10
			m -= 1
		else:
			break
	if x <= 0:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	(a, b, c) = map(int, input().split())
	r = 0
	for i in range(b):
		a = min(a, a // 2 + 10)
		if a <= 0:
			print('Yes')
			r = 1
			break
	if r == 0:
		a = a - 10 * c
		if a <= 0:
			print('Yes')
		else:
			print('No')


from collections import defaultdict as dc
from heapq import *
import math
import bisect
import sys
from collections import deque as dq
from heapq import heapify, heappush, heappop
mod = 10 ** 12

def inp():
	p = int(input())
	return p

def line():
	p = list(map(int, input().split()))
	return p

def digit(n):
	s = str(n)
	p = 0
	for i in s:
		p += int(i) ** 2
	return p

def void(x):
	return x // 2 + 10
for _ in range(inp()):
	(x, n, m) = line()
	while x > 0:
		if x <= 10 * m:
			x = 0
			break
		if n > 0:
			x = void(x)
			n = n - 1
		elif m > 0:
			x = x - 10
			m = m - 1
		else:
			break
	if x <= 0:
		print('YES')
	else:
		print('NO')


import math

def modinv(n, p):
	return pow(n, p - 2, p)

def main():
	for case in range(int(input())):
		(x, n, m) = [int(x) for x in input().split()]
		while n > 0 and x > 20:
			x = math.floor(x / 2)
			x += 10
			n -= 1
		while m > 0 and x >= 0:
			x -= 10
			m -= 1
		if x <= 0:
			print('YES')
		else:
			print('NO')
py2 = round(0.5)
if py2:
	from future_builtins import ascii, filter, hex, map, oct, zip
	range = xrange
import os, sys
from io import IOBase, BytesIO
BUFSIZE = 8192

class FastIO(BytesIO):
	newlines = 0

	def __init__(self, file):
		self._file = file
		self._fd = file.fileno()
		self.writable = 'x' in file.mode or 'w' in file.mode
		self.write = super(FastIO, self).write if self.writable else None

	def _fill(self):
		s = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
		self.seek((self.tell(), self.seek(0, 2), super(FastIO, self).write(s))[0])
		return s

	def read(self):
		while self._fill():
			pass
		return super(FastIO, self).read()

	def readline(self):
		while self.newlines == 0:
			s = self._fill()
			self.newlines = s.count(b'\n') + (not s)
		self.newlines -= 1
		return super(FastIO, self).readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.getvalue())
			(self.truncate(0), self.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		if py2:
			self.write = self.buffer.write
			self.read = self.buffer.read
			self.readline = self.buffer.readline
		else:
			self.write = lambda s: self.buffer.write(s.encode('ascii'))
			self.read = lambda : self.buffer.read().decode('ascii')
			self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
main()


t = int(input())
for test in range(t):
	(x, n, m) = [int(x) for x in input().split()]
	f = 1
	while x > 0:
		if x - m * 10 <= 0:
			f = 1
			break
		elif n > 0:
			x = x // 2 + 10
			n -= 1
		else:
			f = 2
			break
	if f == 2:
		print('NO')
	else:
		print('YES')


def spell(x, n, k):
	if x % 10 == 0 and x // 10 <= k or (x < 10 and k > 0):
		print('yes')
		return
	for i in range(n):
		x = int(x // 2)
		x = x + 10
	for i in range(k):
		x = x - 10
	if x <= 0:
		print('yes')
	else:
		print('no')
	return
t = int(input())
for i in range(t):
	T = input()
	l = list(map(int, T.split(' ')))
	spell(l[0], l[1], l[2])


from sys import stdin, stdout
from collections import defaultdict as df
t = int(input())
for i in range(t):
	(x, m, n) = list(map(int, input().split()))
	flag = 0
	if x <= n * 10:
		flag = 1
	while x > n * 10 and m > 0:
		if x <= n * 10:
			flag = 1
			break
		x = x // 2 + 10
		m -= 1
		if x <= n * 10:
			flag = 1
			break
	if flag == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	(x, n, m) = list(map(int, input().split()))
	fl = 1
	hp = m * 10
	for _ in range(n):
		if x <= hp:
			print('YES')
			fl = 0
			break
		hp = (hp - 10) * 2 + 1
	if x <= hp and fl:
		print('YES')
	elif fl:
		print('NO')


def fun(x, n, m):
	ans = 'NO'
	while x > 20 and n > 0:
		x = x // 2 + 10
		n -= 1
	if m >= x / 10:
		ans = 'YES'
	return ans
t = int(input())
while t:
	(x, n, m) = map(int, input().split())
	print(fun(x, n, m))
	t -= 1


import math
for _ in range(int(input())):
	(x, n, m) = map(int, input().split())
	f = 0
	if x - 10 * m <= 0:
		print('YES')
	else:
		for i in range(n):
			x = math.floor(x / 2) + 10
			if x <= 0:
				f = 1
		if f == 1:
			print('YES')
		else:
			x = x - 10 * m
			if x <= 0:
				print('YES')
			else:
				print('NO')


t = int(input())
for i in range(t):
	(x, v, s) = map(int, input().split())
	for i in range(v):
		x = min(x // 2 + 10, x)
	for i in range(s):
		x -= 10
	if x >= 1:
		print('NO')
	elif x <= 0:
		print('YES')


T = int(input())
for test in range(T):
	(x, n, m) = map(int, input().split())
	while n > 0 or m > 0:
		x_n = x // 2 + 10
		x_m = x - 10
		if x <= 0:
			break
		if x_n <= x and n > 0:
			x = x_n
			n -= 1
		elif m >= 0:
			x = x - 10 * m
			m = 0
			break
		elif m <= 0 and n <= 0:
			break
	if x <= 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for i in range(t):
	(h, a, b) = map(int, input().split())
	for i in range(a):
		if h < 20:
			break
		h = h // 2 + 10
	for i in range(b):
		h -= 10
	if h <= 0:
		print('YES')
	else:
		print('NO')


count = int(input())
for _ in range(count):
	list_1 = input().split()
	(a, b, c) = [int(i) for i in list_1]
	d = a
	for _ in range(b):
		a = a // 2 + 10
	a -= 10 * c
	if a <= 0 or d - 10 * c <= 0:
		print('YES')
	else:
		print('NO')


def list_input():
	return list(map(int, input().split()))

def num_input():
	return map(int, input().split())

def string_list():
	return list(input())

def checkValidity(a, b, c):
	if a + b <= c or a + c <= b or b + c <= a:
		return False
	else:
		return True
for _ in range(int(input())):
	(x, n, m) = num_input()
	for i in range(n):
		if x <= 10:
			break
		x = x // 2 + 10
	x = x - 10 * m
	if x <= 0:
		print('YES')
	else:
		print('NO')


I = input
for _ in range(int(I())):
	(x, n, m) = map(int, I().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])


T = int(input())
for t in range(T):
	(x, m, n) = [int(i) for i in input().split()]
	defeated = False
	while not defeated and (m > 0 or n > 0):
		if int(x / 2) + 10 < x and m > 0 or (n == 0 and m > 0):
			x = int(x / 2) + 10
			m -= 1
		else:
			x = x - 10
			n -= 1
		if x <= 0:
			defeated = True
	print('YES' if defeated else 'NO')


def q1(n):
	return n // 2 + 10
for i in range(int(input())):
	(n, a, b) = map(int, input().split())
	b = b * 10
	if n <= b:
		print('YES')
	else:
		while a:
			n = q1(n)
			a -= 1
		if n <= b:
			print('YES')
		else:
			print('NO')


import sys
input = sys.stdin.readline
from collections import defaultdict as dd
t = int(input())
while t:
	(x, a, b) = map(int, input().split())
	n = b * 10
	while x > n and a > 0 and (x > 20):
		x = x // 2 + 10
		a -= 1
	if x <= n:
		print('YES')
	else:
		print('NO')
	t -= 1


for i in range(int(input())):
	(x, n, m) = [int(num) for num in input().split()]
	while True:
		if n > 0 and x > 20:
			x = x // 2 + 10
			n = n - 1
			if n == 0:
				break
		else:
			break
	x = x - m * 10
	if x <= 0:
		print('YES')
	else:
		print('NO')


import sys
t = int(sys.stdin.readline())
for query in range(t):
	(x, n, m) = map(int, sys.stdin.readline().strip().split())
	last_x = x + 1
	while n > 0 and last_x > x:
		last_x = x
		x = x // 2 + 10
		n -= 1
	if min(x, last_x) - m * 10 <= 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for _ in range(t):
	(h, n, m) = [int(num) for num in input().split()]
	(nc, mc) = (0, 0)
	for _ in range(n + m):
		if h // 2 + 10 <= h and nc < n:
			nc += 1
			h = h // 2 + 10
		elif mc < m:
			mc += 1
			h = h - 10
	if h <= 0:
		print('YES')
	else:
		print('NO')


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


import sys
import math
for _ in range(int(sys.stdin.readline())):
	(a, b, c) = map(int, sys.stdin.readline().split())
	x = c * -10
	y = a
	if y + x <= 0:
		print('YES')
	else:
		for i in range(b):
			y = math.floor(y / 2) + 10
		if x + y <= 0:
			print('YES')
		else:
			print('NO')


from sys import stdin, gettrace
if not gettrace():

	def input():
		return next(stdin)[:-1]

def main():

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


import sys

def array1(size):
	return [0 for _ in range(size)]

def array2(rows, cols):
	return [[0 for _ in range(cols)] for _ in range(rows)]
t = int(input())
for _ in range(t):
	(a, b, c) = [int(x) for x in input().split()]
	while b > 0:
		if a // 2 + 10 < a:
			a = a // 2 + 10
		else:
			break
		b -= 1
	if a > c * 10:
		print('NO')
	else:
		print('YES')


t = int(input())
for i in range(t):
	(n, a, b) = map(int, input().split())
	c = 0
	if n - 10 * b <= 0:
		c = 1
	else:
		for j in range(a):
			n = n // 2 + 10
			if n <= 0:
				c = 1
				break
	if c == 1:
		print('YES')
	else:
		n = n - 10 * b
		if n <= 0:
			print('YES')
		else:
			print('NO')


import math
t = int(input())
while t > 0:
	(x, n, m) = [int(i) for i in input().split()]
	for i in range(n):
		if x <= 20:
			break
		else:
			x = math.floor(x / 2) + 10
	if 10 * m >= x:
		print('YES')
	else:
		print('NO')
	t -= 1


from collections import Counter
import string
import math
import sys
from fractions import Fraction

def array_int():
	return [int(i) for i in sys.stdin.readline().split()]

def vary(arrber_of_variables):
	if arrber_of_variables == 1:
		return int(sys.stdin.readline())
	if arrber_of_variables >= 2:
		return map(int, sys.stdin.readline().split())

def makedict(var):
	return dict(Counter(var))

def printDivisors(n):
	divisors = []
	i = 1
	while i <= math.sqrt(n):
		if n % i == 0:
			if n // i == i:
				divisors.append(i)
			else:
				divisors.extend((i, n // i))
		i = i + 1
	return divisors

def countTotalBits(num):
	binary = bin(num)[2:]
	return len(binary)

def isPrime(n):
	if n <= 1:
		return False
	if n <= 3:
		return True
	if n % 2 == 0 or n % 3 == 0:
		return False
	i = 5
	while i * i <= n:
		if n % i == 0 or n % (i + 2) == 0:
			return False
		i = i + 6
	return True
for _ in range(vary(1)):
	(h, m, n) = vary(3)
	while h > 10 and m > 0:
		h = h // 2 + 10
		m -= 1
	h -= n * 10
	if h <= 0:
		print('YES')
	else:
		print('NO')


from math import floor
test_case = int(input())
my_list = []
for i in range(test_case):
	my_list.append([int(j) for j in input().split()])
for x in range(test_case):
	hp = my_list[x][0]
	for y in range(my_list[x][1]):
		if hp >= 19:
			hp = floor(hp / 2) + 10
		else:
			break
	for z in range(my_list[x][2]):
		if hp > 0:
			hp = hp - 10
		else:
			break
	if hp <= 0:
		print('YES')
	else:
		print('NO')


import math

def after_Void_Absorption(h, n):
	while n > 0:
		new = math.floor(h / 2) + 10
		if new > h:
			return h
		h = new
		n = n - 1
	return h

def after_lightning_strike(h, m):
	while m > 0:
		h = h - 10
		m = m - 1
	return h
test = int(input())
while test > 0:
	(h, n, m) = [int(x) for x in input().split()]
	h = after_Void_Absorption(h, n)
	if not h > 0:
		print('YES')
		test = test - 1
		continue
	h = after_lightning_strike(h, m)
	if not h > 0:
		print('YES')
	else:
		print('NO')
	test = test - 1


import math
loop_time = int(input())
for time in range(0, loop_time):
	inp = input()
	inp_list = inp.split()
	dragon_health = int(inp_list[0])
	num_void = int(inp_list[1])
	num_light = int(inp_list[2])
	for ii in range(0, num_void):
		if dragon_health <= 20:
			break
		dragon_health = math.floor(dragon_health / 2) + 10
	for ii in range(0, num_light):
		dragon_health = dragon_health - 10
	if dragon_health <= 0:
		print('YES')
		print()
	else:
		print('NO')
		print()


import math

def solve():
	(x, n, m) = [int(i) for i in input().split()]
	while x > 0:
		if math.floor(x / 2 + 10) < x and n != 0:
			n -= 1
			x = math.floor(x / 2 + 10)
		elif m != 0:
			m -= 1
			x -= 10
		else:
			print('NO')
			return
	print('YES')
	return
T = int(input())
for t in range(T):
	solve()


def solve(x, n, m):
	while x > 0 and (n > 0 or m > 0):
		if x > 10 * m and n > 0:
			x = x // 2 + 10
			n -= 1
		elif m > 0:
			x -= 10
			m -= 1
		else:
			return False
	return x <= 0
for i in range(int(input())):
	(x, n, m) = map(int, input().split())
	print('YES' if solve(x, n, m) else 'NO')


for t in range(int(input())):
	(x, n, m) = map(int, input().split())
	(cnt1, cnt2) = (1, 0)
	if m == 0:
		n -= 1
	flag = False
	for i in range(n):
		if x <= 10 * m:
			flag = True
			break
		if x <= 20:
			break
		x = x // 2 + 10
		cnt1 += 1
	if cnt1 != n:
		x -= 10 * m
	else:
		x -= 10 * (m - 1)
	if x <= 0 or flag:
		print('YES')
	else:
		print('NO')


import sys, math, random
inp = sys.stdin.read().split()
inp = [int(i) for i in inp]
inp.remove(inp[0])
for i in range(int(len(inp) / 3)):
	j = inp[i * 3:i * 3 + 3]
	x = j[0]
	n = j[1]
	h = j[2] * 10
	for i in range(n):
		h = (h - 10) * 2 + 1
	if h >= x or j[2] * 10 >= x:
		print('YES')
	else:
		print('NO')


testcases = int(input())
for case in range(testcases):
	(x, m, n) = [int(zax) for zax in input().split()]
	answer = False
	while n != 0 or m != 0:
		if n != 0 and m != 0:
			a = 10 ** 6
			if x // 2 + 10 < x:
				a = x // 2 + 10
			if a < x:
				x = x // 2 + 10
				m -= 1
			else:
				x -= 10
				n -= 1
		elif n != 0:
			x -= 10
			n -= 1
		elif m != 0:
			if x // 2 + 10 < x:
				x = x // 2 + 10
				m -= 1
			elif n == 0:
				break
		if x <= 0:
			answer = True
			break
	if answer or x <= 0:
		print('YES')
	else:
		print('NO')


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


import math
for i in range(int(input())):
	(x, n, m) = tuple(map(int, input().split()))
	if x >= 20:
		for j in range(n):
			x = math.floor(x / 2) + 10
			if x <= 0:
				break
		if x <= 10 * m or x <= 0:
			print('YES')
		else:
			print('NO')
	else:
		x -= 10 * m
		if x > 0:
			for j in range(n):
				x = math.floor(x / 2) + 10
				if x <= 0:
					break
		if x <= 0:
			print('YES')
		else:
			print('NO')


import math
from collections import Counter

def solve():
	(x, n, m) = map(int, input().split())
	n1 = n
	m1 = m
	x1 = x
	x = x - 10 * m
	while n > 0:
		if x <= 0:
			print('YES')
			return
		x = x // 2 + 10
		n = n - 1
	if x <= 0:
		print('YES')
		return
	while n1 > 0:
		x1 = x1 // 2 + 10
		if x1 <= 0:
			print('YES')
			return
		n1 = n1 - 1
	x1 = x1 - m1 * 10
	if x1 <= 0:
		print('YES')
		return
	print('NO')
for _ in range(int(input())):
	solve()


def absorption(h):
	return h // 2 + 10
t = int(input())
for i in range(t):
	(h, n, m) = list(map(int, input().split()))
	while absorption(h) < h and n > 0 and (h > 0):
		h = absorption(h)
		n -= 1
	while h > 0 and m > 0:
		h -= 10
		m -= 1
	if h <= 0:
		print('YES')
	else:
		print('NO')


from math import ceil

def do_void(hp):
	return ceil(hp / 2) - 10

def do_punch():
	return 10

def solution(hp, v, p):
	while v and hp > 18:
		hp -= do_void(hp)
		v -= 1
	hp -= p * do_punch()
	return 'Yes' if hp <= 0 else 'No'

def main():
	for test in range(int(input())):
		(hp, void, punch) = map(int, input().split())
		result = solution(hp, void, punch)
		print(result)
main()


import sys
from collections import defaultdict
import random
import math
t = int(input())
for tc in range(1, t + 1):
	(a, b, c) = map(int, input().split())
	prev = a
	while b > 0:
		a = a // 2 + 10
		b -= 1
		if a > prev:
			a = prev
			break
		prev = a
	while c:
		a = a - 10
		c -= 1
	if a <= 0:
		print('YES')
	else:
		print('NO')


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


def f1():
	global x, n
	x = x // 2 + 10
	n -= 1
for _ in range(int(input())):
	(x, n, m) = map(int, input().split())
	while n > 0 and x // 2 + 10 < x:
		f1()
	x -= 10 * m
	print({True: 'YES', False: 'NO'}[x <= 0])


from math import floor

def dragon(hit, void, light):
	while hit / 2 + 10 < hit and void > 0:
		hit = floor(hit / 2)
		hit += 10
		void -= 1
	hit = hit - 10 * light
	if hit <= 0:
		return 'YES'
	return 'NO'
n = int(input())
for i in range(n):
	(hit, void, light) = map(int, input().split())
	print(dragon(hit, void, light))


for i in range(int(input())):
	arr = list(map(int, input().split(' ')))
	while arr[0] > 0 and arr[1] and (arr[0] // 2 + 10 < arr[0]):
		arr[0] = arr[0] // 2 + 10
		arr[1] -= 1
	if arr[0] <= 10 * arr[2]:
		print('YES')
	else:
		print('NO')


import sys
input = sys.stdin.readline
t = int(input())

def dfs(blood, x, y):
	if blood <= 0:
		print('YES')
		return
	if x == 0 and y == 0:
		print('NO')
		return
	if x > 0 and blood >= 20:
		dfs(blood // 2 + 10, x - 1, y)
	elif y > 0:
		dfs(blood - 10, x, y - 1)
	elif y == 0 and blood < 20:
		print('NO')
		return
for _ in range(t):
	(x, n, m) = map(int, input().split())
	dfs(x, n, m)


import sys
from itertools import accumulate

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

def list2d(a, b, c):
	return [[c] * b for i in range(a)]

def list3d(a, b, c, d):
	return [[[d] * c for j in range(b)] for i in range(a)]

def list4d(a, b, c, d, e):
	return [[[[e] * d for j in range(c)] for j in range(b)] for i in range(a)]

def ceil(x, y=1):
	return int(-(-x // y))

def INT():
	return int(input())

def MAP():
	return map(int, input().split())

def LIST(N=None):
	return list(MAP()) if N is None else [INT() for i in range(N)]

def Yes():
	print('Yes')

def No():
	print('No')

def YES():
	print('YES')

def NO():
	print('NO')
INF = 10 ** 18
MOD = 10 ** 9 + 7

def f(h):
	return min(h // 2 + 10, h)
for _ in range(INT()):
	(x, N, M) = MAP()
	for i in range(N):
		x = f(x)
	if x <= M * 10:
		YES()
	else:
		NO()


t = int(input())
inputs = [list(map(int, input().split())) for _ in range(t)]

def void_absorption(h):
	return int(h / 2) + 10

def lightning_strike(h):
	return h - 10
for i in inputs:
	hp = i[0]
	va = i[1]
	ls = i[2]
	for _ in range(va):
		if hp <= 20:
			break
		else:
			hp = void_absorption(hp)
	for _ in range(ls):
		hp = lightning_strike(hp)
	if hp <= 0:
		print('YES')
	else:
		print('NO')


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


from math import *

def main():
	for _ in range(int(input())):
		(t, a, b) = map(int, input().split())
		while a:
			temp = floor(t / 2) + 10
			if temp >= t:
				break
			else:
				t = temp
			a -= 1
		while b:
			t -= 10
			b -= 1
		if t <= 0:
			print('yes')
		else:
			print('no')
main()


from sys import stdin, stdout

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


from math import ceil
t = int(input())
ans = []
for k in range(t):
	(x, n, m) = map(int, input().split())
	while x > 0 and (m > 0 or n > 0):
		br = True
		if n > 0 and int(x / 2) + 10 < x:
			x = int(x / 2) + 10
			n -= 1
			br = False
		if (n == 0 or int(x / 2) + 10 >= x) and m > 0:
			x = x - 10
			m -= 1
			br = False
		if br:
			break
	if x > 0:
		ans.append('NO')
	else:
		ans.append('YES')
for i in range(t):
	print(ans[i])


t = int(input())
for i in range(t):
	l = input().split(' ')
	(a, b, c) = (int(l[0]), int(l[1]), int(l[2]))
	for i in range(b):
		x = int(a / 2) + 10
		if x <= a:
			a = x
		else:
			break
	if a - c * 10 <= 0:
		print('YES')
	else:
		print('NO')


MOD = 1000000007
ii = lambda : int(input())
si = lambda : input()
dgl = lambda : list(map(int, input()))
f = lambda : map(int, input().split())
il = lambda : list(map(int, input().split()))
ls = lambda : list(input())
from collections import *
for _ in range(ii()):
	(x, n, m) = f()
	while n > 0 or m > 0:
		if x > 20 and n > 0 or m <= 0:
			x = x // 2 + 10
			n = n - 1
		else:
			x = x - 10
			m = m - 1
		if x <= 0:
			break
	if x <= 0:
		print('YES')
	else:
		print('NO')


k = int(input())
for i in range(k):
	(x, n, m) = [int(i) for i in input().split()]
	if m < 2 and x > 10:
		print('NO')
	else:
		j = m * 10
		if x <= j:
			print('YES')
			continue
		for g in range(n):
			x = x // 2 + 10
			if x <= j:
				print('YES')
				break
		else:
			print('NO')


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


def check(h, n, m):
	while n and h > 20:
		h = h // 2 + 10
		n -= 1
	return h > 0 and h <= m * 10
c = int(input())
for _ in range(c):
	print(['NO', 'YES'][check(*map(int, input().split()))])


t = int(input())
for _ in range(t):
	(h, n, m) = map(int, input().split())
	flag = 0
	for _ in range(n):
		if h >= 20:
			h = h // 2 + 10
	for _ in range(m):
		h = h - 10
		if h <= 0:
			print('YES')
			flag = 1
			break
	if flag == 0:
		print('NO')


def solve():
	(x, n, m) = [int(x) for x in input().split(' ')]
	for i in range(n):
		if x > 10:
			x = x // 2 + 10
	for j in range(m):
		x -= 10
	if x <= 0:
		print('YES')
	else:
		print('NO')
t = int(input())
for i in range(t):
	solve()


import sys
input = sys.stdin.readline
read = lambda : map(int, input().split())
read_float = lambda : map(float, input().split())

def ceil(x):
	if x != int(x):
		x = int(x) + 1
	return x

def factorial(x, m):
	val = 1
	while x > 0:
		val = val * x % m
		x -= 1
	return val

def fact(x):
	val = 1
	while x > 0:
		val *= x
		x -= 1
	return val

def swaparr(arr, a, b):
	temp = arr[a]
	arr[a] = arr[b]
	arr[b] = temp

def gcd(a, b):
	if b == 0:
		return a
	return gcd(b, a % b)

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

def nCr(n, k):
	if k > n:
		return 0
	if k > n - k:
		k = n - k
	res = 1
	for i in range(k):
		res = res * (n - i)
		res = res / (i + 1)
	return int(res)

def primefs(n):
	primes = {}
	while n % 2 == 0 and n > 0:
		primes[2] = primes.get(2, 0) + 1
		n = n // 2
	for i in range(3, int(n ** 0.5) + 2, 2):
		while n % i == 0 and n > 0:
			primes[i] = primes.get(i, 0) + 1
			n = n // i
	if n > 2:
		primes[n] = primes.get(n, 0) + 1
	return primes

def power(x, y, p):
	res = 1
	x = x % p
	if x == 0:
		return 0
	while y > 0:
		if y & 1 == 1:
			res = res * x % p
		y = y >> 1
		x = x * x % p
	return res

def swap(a, b):
	temp = a
	a = b
	b = temp
	return (a, b)

def find(x, link):
	p = x
	while p != link[p]:
		p = link[p]
	while x != p:
		nex = link[x]
		link[x] = p
		x = nex
	return p

def union(x, y, link, size):
	x = find(x, link)
	y = find(y, link)
	if size[x] < size[y]:
		(x, y) = swap(x, y)
	if x != y:
		size[x] += size[y]
		link[y] = x

def sieve(n):
	prime = [True for i in range(n + 1)]
	(prime[0], prime[1]) = (False, False)
	p = 2
	while p * p <= n:
		if prime[p] == True:
			for i in range(p * p, n + 1, p):
				prime[i] = False
		p += 1
	return prime

def phi(n):
	result = n
	p = 2
	while p * p <= n:
		if n % p == 0:
			while n % p == 0:
				n = n // p
			result = result * (1.0 - 1.0 / float(p))
		p = p + 1
	if n > 1:
		result = result * (1.0 - 1.0 / float(n))
	return int(result)

def is_prime(n):
	if n == 0:
		return False
	if n == 1:
		return True
	for i in range(2, int(n ** (1 / 2)) + 1):
		if not n % i:
			return False
	return True
MAXN = int(100000.0 + 5)

def spf_sieve():
	spf[1] = 1
	for i in range(2, MAXN):
		spf[i] = i
	for i in range(4, MAXN, 2):
		spf[i] = 2
	for i in range(3, ceil(MAXN ** 0.5), 2):
		if spf[i] == i:
			for j in range(i * i, MAXN, i):
				if spf[j] == j:
					spf[j] = i
spf = [0 for i in range(MAXN)]

def factoriazation(x):
	res = []
	for i in range(2, int(x ** 0.5) + 1):
		while x % i == 0:
			res.append(i)
			x //= i
	if x != 1:
		res.append(x)
	return res

def factors(n):
	res = []
	for i in range(1, int(n ** 0.5) + 1):
		if n % i == 0:
			res.append(i)
			res.append(n // i)
	return list(set(res))

def int_array():
	return list(map(int, input().strip().split()))

def float_array():
	return list(map(float, input().strip().split()))

def str_array():
	return input().strip().split()

def binary_search(low, high, w, h, n):
	while low < high:
		mid = low + (high - low) // 2
		if check(mid, w, h, n):
			low = mid + 1
		else:
			high = mid
	return low

def check(councils, a, k):
	summ = 0
	for x in a:
		summ += min(x, councils)
	return summ // councils >= k
MOD = int(1000000000.0) + 7
CMOD = 998244353
INF = float('inf')
NINF = -float('inf')
from itertools import permutations
import math
import bisect as bis
import random
import sys

def solve():
	(x, n, m) = read()
	while n > 0:
		if x // 2 < 10:
			break
		x //= 2
		x += 10
		n -= 1
	x -= 10 * m
	if x <= 0:
		print('YES')
	else:
		print('NO')
for _ in range(int(input())):
	solve()


import sys
from collections import defaultdict
t = int(input())
for i in range(t):
	(x, n, m) = list(map(int, sys.stdin.readline().strip().split()))
	f = 0
	if x <= m * 10:
		f = 1
	for j in range(n):
		x = x // 2 + 10
		if x <= m * 10:
			f = 1
	if x <= m * 10:
		f = 1
	if f:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	(hp, void, lightning) = map(int, input().split())
	while void >= 1 and hp >= 21:
		hp = hp // 2 + 10
		void -= 1
	if lightning * 10 >= hp:
		print('YES')
	else:
		print('NO')


t = int(input(''))
for i in range(0, t):
	(a, b, c) = input('').split(' ')
	x = int(a)
	n = int(b)
	m = int(c)
	for j in range(0, n):
		if x <= 10:
			break
		x = x // 2 + 10
	for k in range(0, m):
		x = x - 10
	if x > 0:
		print('NO')
	else:
		print('YES')


from sys import stdin
inp = stdin.readline
t = int(inp().strip())
for _ in range(t):
	(health, n, m) = [int(x) for x in inp().strip().split()]
	light = m * 10
	while True:
		if health <= 20 or health <= light or n == 0:
			break
		health = health // 2 + 10
		n -= 1
	if light >= health:
		print('YES')
	else:
		print('NO')


def absorb(n):
	return n // 2 + 10

def strike(n):
	return n - 10
for __ in range(int(input())):
	(x, n, m) = map(int, input().split())
	while n > 0 or m > 0:
		if x > 20:
			if n > 0:
				x = absorb(x)
				n -= 1
			else:
				x = strike(x)
				m -= 1
		elif m > 0:
			x = strike(x)
			m -= 1
		else:
			x = absorb(x)
			n -= 1
		if x <= 0:
			break
	if x > 0:
		print('NO')
	else:
		print('YES')


import math
for i in range(int(input())):
	(hp, void, light) = map(int, input().split())
	light *= 10
	for i in range(void):
		if hp > 20:
			hp = math.floor(hp / 2) + 10
			continue
		break
	hp -= light
	if hp > 0:
		print('NO')
		continue
	print('YES')


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


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


cases = int(input())
for i in range(cases):
	line1 = input().split(' ')
	hp = int(line1[0])
	n = int(line1[1])
	m = int(line1[2])
	while hp > 20 and n != 0:
		hp = hp // 2 + 10
		n -= 1
	while hp > 0 and m != 0:
		hp -= 10
		m -= 1
	if hp <= 0:
		print('YES')
	else:
		print('NO')


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


import sys
input = lambda : sys.stdin.readline().rstrip()
inp = sys.stdin.buffer.readline

def I():
	return list(map(int, inp().split()))
for _ in range(I()[0]):
	(x, n, m) = I()
	flag = 0
	for i in range(n):
		if x <= 10 * m:
			flag = 1
		x //= 2
		x += 10
	if x <= 10 * m:
		flag = 1
	if flag == 1:
		print('YES')
	else:
		print('NO')


def check(power, a, l):
	if power > l * 10 and power <= 20:
		print('NO')
		return
	while True:
		if power > 20 and a > 0 and (power > 0):
			power = power // 2 + 10
			a = a - 1
		elif l > 0 and power > 0:
			power = power - 10
			l = l - 1
		else:
			break
	if power <= 0:
		print('YES')
		return
	else:
		print('NO')
		return
for z in range(int(input())):
	(power, a, l) = map(int, input().split())
	check(power, a, l)


t = int(input())
for tt in range(t):
	(x, n, m) = [int(x) for x in input().split(' ')]

	def op1(x):
		return int(x / 2) + 10

	def op2(x):
		return x - 10
	dx = int(x)
	for i in range(n):
		if dx < 20:
			break
		dx = op1(dx)
	for i in range(m):
		dx = op2(dx)
	if dx <= 0:
		print('YES')
	else:
		print('NO')


def dragon():
	t = int(input())
	while t != 0:
		giv = input()
		giv = giv.split()
		hp = giv[0]
		v = giv[1]
		l = giv[2]
		hp = int(hp)
		v = int(v)
		l = int(l)
		while True:
			if hp <= 0:
				break
			if hp >= 20:
				if v > 0:
					hp = hp // 2 + 10
					v -= 1
				elif v == 0 and l == 0:
					break
				else:
					hp -= 10
					l -= 1
			if hp <= 20:
				if v == 0 and l == 0:
					break
				elif v > 0 and l == 0:
					hp = hp // 2 + 10
					v -= 1
				else:
					hp -= 10
					l -= 1
		if hp > 0:
			print('NO')
		else:
			print('YES')
		t -= 1
dragon()


import math
t = int(input())
while t:
	t -= 1
	(h, n, m) = [item for item in map(int, input().strip().split())]
	flag = False
	while h > 0:
		if h > 40:
			if n - 1 >= 0:
				h = h // 2 + 10
				n -= 1
			elif m - 1 >= 0:
				h = h - 10
				m -= 1
			else:
				flag = False
				break
		elif h > 20:
			if math.ceil(h / 10) <= m:
				flag = True
				break
			elif n - 1 >= 0:
				h = h // 2 + 10
				n -= 1
			else:
				flag = False
				break
		elif math.ceil(h / 10) <= m:
			flag = True
			break
		else:
			flag = False
			break
	if flag:
		print('YES')
	else:
		print('NO')


import math

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


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


import sys
from sys import stdin, stdout

def R():
	return map(int, stdin.readline().strip().split())
ans = []
for h in range(int(stdin.readline())):
	(x, n, m) = R()
	for i in range(n):
		if x // 2 + 10 < x:
			x = x // 2 + 10
	x -= 10 * m
	if x <= 0:
		ans.append('YES')
	else:
		ans.append('NO')
stdout.write('\n'.join(ans))


alph = 'abcdefghijklmnopqrstuvwxyz'
t = int(input('\n'))
for p in range(t):
	ip = input()
	arr = ip.split(' ')
	x = int(arr[0])
	n = int(arr[1])
	m = int(arr[2])
	if m * 10 >= x:
		print('YES')
	else:
		while int(x / 2) + 10 < x and n > 0:
			x = int(x / 2) + 10
			n -= 1
		if m * 10 >= x:
			print('YES')
		else:
			print('NO')


import sys

def read_int_line():
	return [int(x) for x in sys.stdin.readline().strip().split()]

def solve(health, void_cnt, lightning_cnt):
	while health >= 19 and void_cnt > 0:
		health = health // 2 + 10
		void_cnt -= 1
	return health <= 10 * lightning_cnt
for _ in range(read_int_line()[0]):
	(h, v, l) = read_int_line()
	print('YES' if solve(h, v, l) else 'NO')


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


import math

def main():
	t = int(input())
	while t > 0:
		inp = [int(x) for x in input().split()]
		(hp, n, m) = (inp[0], inp[1], inp[2])
		while n > 0 and hp > 20:
			hp = math.floor(hp / 2) + 10
			n -= 1
		if hp - m * 10 > 0:
			print('NO')
		else:
			print('YES')
		t -= 1
main()


t = int(input())
for i in range(t):
	(x, n, m) = map(int, input().split(' '))
	if 10 * m >= x:
		print('YES')
		continue
	c = 10 * m
	for i in range(n):
		c = (c - 10) * 2 + 1
	print('YES' if c >= x else 'NO')


from math import gcd
from collections import Counter

def printYes():
	print('YES')

def printNo():
	print('NO')
t = int(input())
for i in range(t):
	(a, b, c) = map(int, input().split())
	while b != 0 and a > 20:
		a = a // 2 + 10
		b = b - 1
	if a - c * 10 <= 0:
		printYes()
	else:
		printNo()


t = int(input())
for i in range(t):
	(h, n, m) = str(input()).split()
	h = int(h)
	n = int(n)
	m = int(m)
	if h / 10 < m or (h / 10 == m and h % 10 == 0):
		print('YES')
	else:
		for j in range(n):
			h = int(h / 2) + 10
		if h / 10 < m or (h / 10 == m and h % 10 == 0):
			print('YES')
		else:
			print('NO')


import math
t = int(input())
for you in range(t):
	l = input().split()
	x = int(l[0])
	n = int(l[1])
	m = int(l[2])
	poss = 0
	if x <= 20:
		if m >= math.ceil(x / 10):
			poss = 1
		else:
			poss = 0
	else:
		for i in range(n):
			x = x // 2 + 10
			if x <= 20:
				break
		if m >= math.ceil(x / 10):
			poss = 1
		else:
			poss = 0
	if poss:
		print('YES')
	else:
		print('NO')


from operator import *
n = int(input())
for ti in range(0, n):
	(a, b, c) = map(int, input().split())
	for i in range(0, b):
		if a <= 20:
			break
		a = a // 2 + 10
	if le(a, 10 * c):
		print('YES')
	else:
		print('NO')


from math import floor
t = int(input())
for i in range(t):
	f = 0
	(x, n, m) = map(int, input().split())
	for j in range(n):
		if x - 10 * m <= 0:
			f = 1
			break
		x = floor(x / 2) + 10
	if f == 0 and x - 10 * m <= 0:
		f = 1
	if f == 1:
		print('YES')
	else:
		print('NO')


from sys import stdin
input = stdin.readline

def A():
	for _ in range(int(input())):
		(a, b, c, d) = map(int, input().split())
		print(b, c, c)
	return

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

def C():
	return

def D():
	return
B()


t = int(input())
for _ in range(t):
	(a, b, c) = map(int, input().split())
	f = 0
	while b > 0 and a > a // 2 + 10:
		a = a // 2 + 10
		b -= 1
	while a > 0 and c > 0:
		a -= 10
		c -= 1
	if a > 0:
		print('NO')
	elif a <= 0:
		print('YES')
	else:
		print('NO')


import math
t = int(input())
for i in range(t):
	(x, n, m) = map(int, input().split())
	n1 = 0
	m1 = 0
	if x <= 10 and m > 0:
		x = x - 10
		print('YES')
	else:
		while n1 != n:
			x = math.floor(x / 2) + 10
			n1 += 1
		while m1 != m:
			x = x - 10
			m1 += 1
		if x <= 0:
			print('YES')
		else:
			print('NO')


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


import sys

def main():
	t = int(input())
	for _ in range(t):
		(x, n, m) = map(int, sys.stdin.readline().split())
		while x > 0 and (n > 0 or m > 0):
			if x > 20:
				if n > 0:
					x = x // 2 + 10
					n -= 1
					continue
				elif m > 0:
					x -= 10
					m -= 1
			elif m > 0:
				x -= 10
				m -= 1
			else:
				break
		if x <= 0:
			print('YES')
		else:
			print('NO')
	return
main()


t = int(input())
for i in range(t):
	(hp, n_p, m_mol) = map(int, input().split())
	for i in range(n_p):
		if hp <= 20:
			break
		else:
			hp = hp // 2 + 10
	hp -= m_mol * 10
	if hp <= 0:
		print('YES')
	else:
		print('NO')


def ls(hp):
	if hp > 0:
		return int(hp / 2) + 10
	else:
		return hp

def va(hp):
	if hp > 0:
		return hp - 10
	else:
		return hp
t = int(input())
for i in range(t):
	(hp, n, m) = list(map(int, input().split()))
	for i in range(n):
		if hp >= 20:
			hp = ls(hp)
		else:
			break
	for i in range(m):
		hp -= 10
	if hp > 0:
		print('NO')
	else:
		print('YES')


from sys import stdin
from collections import deque
mod = 10 ** 9 + 7
import sys
import random
from queue import PriorityQueue
from bisect import bisect_right
from bisect import bisect_left
from collections import defaultdict
from math import sqrt, factorial, gcd, log2, inf, ceil
import heapq
input = lambda : sys.stdin.readline().rstrip()
from sys import stdin, stdout
from heapq import heapify, heappush, heappop
from itertools import permutations
from math import factorial as f

def ncr(n, r, p):
	num = den = 1
	for i in range(r):
		num = num * (n - i) % p
		den = den * (i + 1) % p
	return num * pow(den, p - 2, p) % p

def solve(n):
	return n * (n + 1) // 2
for _ in range(10 ** 5):
	pass
for _ in range(10 ** 5):
	pass
for _ in range(10 ** 5):
	pass
t = int(input())
for _ in range(t):
	(x, n, m) = map(int, input().split())
	cnt = 0
	prev = x
	while cnt != n:
		x //= 2
		x += 10
		if x >= prev:
			x = prev
			break
		cnt += 1
		prev = x
	cnt = 0
	while cnt != m:
		if x <= 0:
			break
		x -= 10
		cnt += 1
	if x <= 0:
		print('YES')
	else:
		print('NO')


from math import floor
t = int(input())
for _ in range(t):
	(h, n, m) = [int(x) for x in input().split()]
	if h <= 10 * m:
		print('yes')
	else:
		for i in range(n):
			h = floor(h / 2) + 10
		for j in range(m):
			h = h - 10
		print('yes') if h <= 0 else print('no')


T = int(input())
for tc in range(T):
	(x, a, b) = map(int, input().split())
	for i in range(a):
		x = min(x, x // 2 + 10)
	for i in range(b):
		x -= 10
	if x <= 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	(life, void, lig) = [int(i) for i in input().split()]
	while void > 0 and life // 2 >= 10:
		life = life // 2
		life += 10
		void -= 1
	life -= lig * 10
	if life <= 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	(h, v, l) = map(int, input().split())
	a = True
	while v > -1:
		if h - l * 10 <= 0:
			print('YES')
			a = False
			break
		h = h // 2 + 10
		v -= 1
	if a:
		print('NO')


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


import sys
input = sys.stdin.readline
MOD = 1000000007
MOD2 = 998244353
ii = lambda : int(input().strip('\n'))
si = lambda : input().strip('\n')
dgl = lambda : list(map(int, input().strip('\n')))
f = lambda : map(int, input().strip('\n').split())
il = lambda : list(map(int, input().strip('\n').split()))
ls = lambda : list(input().strip('\n'))
let = 'abcdefghijklmnopqrstuvwxyz'
for _ in range(ii()):
	(x, n, m) = f()
	while n > 0 and x > 20:
		x = x // 2 + 10
		n -= 1
	if (x + 9) // 10 <= m:
		print('YES')
	else:
		print('NO')


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


import sys
INT_MAX = sys.maxsize
INT_MIN = -sys.maxsize
sys.setrecursionlimit(10 ** 7)
mod = 1000000007

def IOE():
	sys.stdin = open('input.txt', 'r')
	sys.stdout = open('output.txt', 'w')

def main():
	t = int(sys.stdin.readline())
	for _ in range(t):
		(x, v, l) = map(int, sys.stdin.readline().split())
		if x % 10 == 0 and x // 10 == l:
			print('YES')
		elif x < 10 and l > 0:
			print('YES')
		else:
			for i in range(v):
				x = x // 2 + 10
			for i in range(l):
				x -= 10
			print('YES' if x <= 0 else 'NO')
try:
	IOE()
except:
	pass
main()


for nt in range(int(input())):
	(x, n, m) = map(int, input().split())
	if x <= 10 * m:
		print('YES')
		continue
	if n == 0:
		print('NO')
		continue
	ans = 'YES'
	while True:
		if n != 0:
			x = x // 2 + 10
			n -= 1
		if n == 0 and x > 10 * m:
			ans = 'NO'
			break
		elif n == 0:
			break
	print(ans)


T = int(input(''))
for _ in range(T):
	(h, n, m) = map(int, input().split())
	for i in range(n):
		if h <= 20:
			break
		else:
			h = h // 2 + 10
	for j in range(m):
		h -= 10
		if h <= 0:
			print('YES')
			break
	else:
		print('NO')


n_cases = int(input())
for case_num in range(1, n_cases + 1):
	(x, n, m) = [int(x) for x in input().split()]
	h = x
	a = 0
	b = 0
	while h > 0 and b < m:
		if a == n:
			b += 1
			h -= 10
		elif h >= 40 or (m - b) * 10 < h:
			a += 1
			h = h // 2 + 10
		else:
			b += 1
			h -= 10
	if h > 0:
		print('NO')
	else:
		print('YES')


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


def dragon():
	test = int(input())
	for i in range(test):
		(lp, divide, sub) = input().split()
		lp = int(lp)
		divide = int(divide)
		sub = int(sub)
		while divide > 0:
			if lp < 20:
				break
			lp = lp // 2 + 10
			divide -= 1
		if lp > 0:
			while sub > 0:
				lp -= 10
				sub -= 1
		if lp > 0:
			print('NO')
		else:
			print('YES')
dragon()


for T in range(int(input())):
	nums = list(map(lambda x: int(x), input().split()))
	hp = nums[0]
	n = nums[1]
	m = nums[2]
	for i in range(n):
		hp2 = hp // 2 + 10
		if hp2 >= hp:
			break
		hp = hp2
	for i in range(m):
		hp -= 10
		if hp <= 0:
			break
	if hp <= 0:
		print('YES')
	else:
		print('NO')


def mm(x, n, m):
	if x <= 0:
		return 1
	if n >= 1 and m >= 1:
		return mm(x // 2 + 10, n - 1, m) or mm(x - 10, n, m - 1)
	if n >= 1:
		return mm(x // 2 + 10, n - 1, m)
	if m >= 1:
		return mm(x - 10, n, m - 1)
	return 0
t = int(input())
for _ in range(t):
	(x, n, m) = list(map(int, input().split()))
	dp = [[x for _ in range(m + 1)] for __ in range(n + 1)]
	mn = 1
	for i in range(1, m + 1):
		dp[0][i] = dp[0][i - 1] - 10
		mn = min(mn, dp[0][i])
	for i in range(1, n + 1):
		dp[i][0] = dp[i - 1][0] // 2 + 10
		mn = min(mn, dp[i][0])
	for i in range(1, n + 1):
		for j in range(1, m + 1):
			val1 = dp[i - 1][j]
			val2 = dp[i][j - 1]
			val1 = val1 // 2 + 10
			val2 -= 10
			dp[i][j] = min(val1, val2)
			mn = min(mn, dp[i][j])
	if mn <= 0:
		print('YES')
	else:
		print('NO')


t = int(input())

def yes_or_no(health, void, light):
	if health <= light * 10:
		return True
	for i in range(void):
		health = health // 2 + 10
	if 10 * light >= health:
		return True
	return False
for i in range(t):
	ui = list(map(int, input().split()))
	if yes_or_no(ui[0], ui[1], ui[2]):
		print('YES')
	else:
		print('NO')


def f(l):
	(x, n, m) = l
	return x <= 2 ** n * (m * 10 - 19) + 19 or x <= m * 10
t = int(input())
for _ in range(t):
	l = list(map(int, input().split()))
	print('YES' if f(l) else 'NO')


import math
num = int(input())
lx = []
ln = []
lm = []
for i in range(num):
	ls = list(map(int, input().split()))
	lx.append(ls[0])
	ln.append(ls[1])
	lm.append(ls[2])
for run in range(num):
	for i in range(ln[run]):
		if math.floor(lx[run] // 2) + 10 < lx[run]:
			lx[run] = math.floor(lx[run] // 2) + 10
	for i in range(lm[run]):
		lx[run] = lx[run] - 10
	if lx[run] <= 0:
		print('YES')
	else:
		print('NO')


def solve(x, n, m):
	while x > 10 * m and n > 0:
		x = x // 2 + 10
		n -= 1
	if x > 10 * m:
		return 'NO'
	return 'YES'

def main():
	inp = lambda : [int(x) for x in input().split()]
	tc = int(input())
	for _ in range(tc):
		(x, n, m) = inp()
		print(solve(x, n, m))
main()


from sys import stdin, stdout
input = stdin.buffer.readline
t = int(input())
while t > 0:
	a = [int(x) for x in input().split()]
	x = a[0]
	n = a[1]
	m = a[2]
	while n > 0:
		if x < 19:
			break
		x = x // 2
		x += 10
		n -= 1
	while m > 0:
		x -= 10
		m -= 1
	if x > 0:
		print('NO')
	else:
		print('YES')
	t -= 1


numTests = int(input())
for i in range(numTests):
	(hp, v, l) = tuple((int(i) for i in input().split(' ')))
	found = False
	if found == False and hp > 10:
		for a in range(v):
			hp = int(hp / 2) + 10
			if hp <= 0:
				print('YES')
				found = True
				break
	if found == False:
		hp = hp - l * 10
		if hp <= 0:
			print('YES')
			found = True
	if found == False:
		print('NO')


def checker(x, n, m):
	while x > m * 10 and n > 0:
		x //= 2
		x += 10
		n -= 1
	return 'YES' if x <= m * 10 else 'NO'
for _ in range(int(input())):
	(X, N, M) = [int(i) for i in input().split()]
	print(checker(X, N, M))


def foo():
	(n, a, b) = [int(x) for x in input().split()]
	q = 0
	while n > 20 and a > 0:
		n = n // 2 + 10
	if n - 10 * b > 0:
		print('NO')
	else:
		print('YES')
t = int(input())
for i in range(t):
	(n, a, b) = [int(x) for x in input().split()]
	q = 0
	while n > 20 and a > 0:
		n = n // 2 + 10
		a -= 1
	if n - 10 * b > 0:
		print('NO')
	else:
		print('YES')


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

	def a():
		global x, n, win
		while n != 0:
			x = x // 2 + 10
			if x <= 0:
				win = 1
				break
			n -= 1

	def b():
		global x, m, win
		while m != 0:
			x = x - 10
			if x <= 0:
				win = 1
				break
			m -= 1
	if x <= 10:
		b()
		if win == 1:
			print('YES')
		else:
			print('NO')
	else:
		a()
		if win == 0:
			b()
			if win == 1:
				print('YES')
			else:
				print('NO')
		else:
			print('NO')


from math import floor
t = int(input())
while t:
	(x, n, m) = map(int, input().split())
	defeated = False
	if x - m * 10 <= 0:
		defeated = True
	h = x
	for i in range(n):
		x1 = floor(h / 2) + 10
		if x1 < h:
			h = x1
		else:
			break
	if h - m * 10 <= 0:
		defeated = True
	if defeated:
		print('YES')
	else:
		print('NO')
	t -= 1


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


from sys import stdin, stdout
input = stdin.readline
from math import *
for __ in range(int(input())):
	(n, a, b) = map(int, input().split())
	for i in range(a):
		if n <= 20:
			break
		n = n // 2 + 10
	if n <= b * 10:
		print('YES')
	else:
		print('NO')


import math
for _ in range(int(input())):
	k = list(map(int, input().split()))
	p = 0
	jj = 0
	for i in range(k[1]):
		if k[0] > 20:
			k[0] = math.floor(k[0] / 2) + 10
		elif k[0] <= 0:
			print('YES')
			p = 1
			jj = 12
			break
		else:
			break
	if p != 1:
		for j in range(k[2]):
			k[0] = k[0] - 10
			if k[0] <= 0:
				print('YES')
				q = 1
				jj = 12
				break
	if jj != 12:
		print('NO')


from sys import stdin

def solve(x, n, m):
	while x > 0 and n > 0:
		if x // 2 + 10 >= x:
			break
		x = x // 2 + 10
		n -= 1
	if x == 0:
		return True
	return m * 10 >= x

def main():
	r = stdin.readline
	cases = int(r())
	for case in range(cases):
		(x, n, m) = map(int, r().strip().split())
		print('YES' if solve(x, n, m) else 'NO')
main()


def void(x, l):
	for _ in range(x):
		if l < 21:
			return l
		l = int(l / 2) + 10
	return l
for _ in range(int(input())):
	(a, b, c) = map(int, input().split())
	k = void(b, a)
	if k - c * 10 < 1:
		print('YES')
	else:
		print('NO')


from sys import stdin
for i in range(int(stdin.readline())):
	[x, n, m] = [int(x) for x in stdin.readline().split()]
	for j in range(n):
		if x - x // 2 >= 10:
			x = x // 2 + 10
	for k in range(m):
		x = x - 10
		if x <= 0:
			break
	if x <= 0:
		print('YES')
	else:
		print('NO')


import sys
from functools import lru_cache, cmp_to_key
from heapq import merge, heapify, heappop, heappush
from math import ceil, floor, gcd, fabs, factorial, fmod, sqrt, inf, log
from collections import defaultdict as dd, deque, Counter as c
from itertools import combinations as comb, permutations as perm
from bisect import bisect_left as bl, bisect_right as br, bisect
mod = pow(10, 9) + 7
mod2 = 998244353

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

def out(var):
	sys.stdout.write(str(var))

def outln(var):
	sys.stdout.write(str(var) + '\n')

def l():
	return list(sp())

def sl():
	return list(ssp())

def sp():
	return map(int, data().split())

def ssp():
	return map(str, data().split())

def l1d(n, val=0):
	return [val for i in range(n)]

def l2d(n, m, val=0):
	return [l1d(n, val) for j in range(m)]
for _ in range(int(data())):
	(x, n, m) = sp()
	while x >= 12 and n:
		x = x // 2 + 10
		n -= 1
		if x <= 11:
			break
	x -= m * 10
	if x <= 0:
		outln('YES')
		continue
	outln('NO')


import sys
import math
input = sys.stdin.readline
t = int(input())
for _ in range(t):
	(x, n, m) = map(int, input().split())
	ans = x
	for i in range(1, n + 1):
		if ans > ans // 2 + 10:
			ans = ans // 2 + 10
		else:
			break
	for i in range(m):
		ans -= 10
	if ans <= 0:
		print('YES')
	else:
		print('NO')


t = int(input())
for hh in range(0, t):
	(x, n, m) = [int(x) for x in input().split()]
	temp = x
	ncount = n
	mcount = m
	while temp > 20:
		if ncount <= 0:
			break
		temp = temp // 2 + 10
		ncount -= 1
	if temp <= 10 * mcount:
		print('YES')
	else:
		print('NO')


from math import *
from collections import *
from operator import itemgetter
import bisect
ii = lambda : int(input())
iia = lambda : list(map(int, input().split()))
isa = lambda : list(input().split())
I = lambda : list(map(int, input().split()))
chrIdx = lambda x: ord(x) - 96
idxChr = lambda x: chr(96 + x)
t = ii()
for _ in range(t):
	(x, n, m) = iia()
	while x > 20 and n >= 1:
		x = floor(x / 2) + 10
		n -= 1
	if m * 10 >= x:
		print('YES')
	else:
		print('NO')


t = int(input())
while t > 0:
	(h, n, m) = map(int, input().split())
	if h <= 10 and m > 0:
		print('yes')
	elif m == 0:
		print('no')
	else:
		for i in range(n):
			h = h // 2 + 10
		for j in range(m):
			h = h - 10
		if h <= 0:
			print('yes')
		else:
			print('no')
	t = t - 1


from sys import *
import collections
import math
t = int(stdin.readline())
for _ in range(t):
	(x, n, m) = list(map(int, stdin.readline().split(' ')))
	res = False
	for i in range(n):
		xp = x
		x = x // 2 + 10
		if x > xp:
			x = xp
			break
	for j in range(m):
		x = x - 10
		if x <= 0:
			res = True
			break
	if res:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	(n, a, b) = map(int, input().split())
	p = n
	for i in range(a, 0, -1):
		n = n // 2 + 10
	n = n - 10 * b
	if p - 10 * b <= 0 or n <= 0:
		print('YES')
	else:
		print('NO')


from sys import stdin
inp = stdin.readline
t = int(inp().strip())
while t:
	t -= 1
	(x, n, m) = [int(k) for k in inp().strip().split()]
	for i in range(n):
		if x <= 20:
			break
		x = x // 2 + 10
	print('YES' if x - m * 10 <= 0 else 'NO')


from math import *
from copy import *
from heapq import *
from string import *
from random import *
from bisect import *
from sys import stdin
from sys import maxsize
from operator import *
from itertools import *
from collections import Counter
from collections import defaultdict

def solve(l):
	(health, v, m) = l
	for i in range(v):
		if health <= 10:
			if m > 0:
				return 'YES'
		health = 10 + health // 2
		if health <= 10:
			if m > 0:
				return 'YES'
	health -= m * 10
	if health <= 0:
		return 'YES'
	else:
		return 'NO'
T = int(input())
for _ in range(T):
	l = list(map(int, stdin.readline().rstrip().split()))
	print(solve(l))


t = int(input())
values = [[0 for i in range(3)] for j in range(t)]
for i in range(t):
	values[i] = [int(j) for j in input().split()]
for i in range(t):
	x = values[i][0]
	n = values[i][1]
	m = values[i][2]
	for j in range(n):
		if x > 20:
			x = int(x / 2) + 10
	for k in range(m):
		x = x - 10
	if x <= 0:
		print('YES')
	else:
		print('NO')


def main_function():
	from sys import stdin
	from sys import stdout
	input = stdin.readline
	print = stdout.write
	t = int(input())
	for _ in range(t):
		(x, n, m) = list(map(int, input().split()))
		if m == 0:
			print('NO\n')
			continue
		while n != 0 and x > 20:
			x //= 2
			x += 10
			n -= 1
		if m * 10 >= x:
			print('YES\n')
		else:
			print('NO\n')
main_function()


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')


def solve(x, n, m):
	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('NO')
	else:
		print('YES')

def main():
	t = int(input())
	for _ in range(t):
		(a, b, c) = [int(x) for x in input().split()]
		solve(a, b, c)
main()


import math
a = int(input())
for i in range(a):
	l = list(map(int, input().split(' ')))
	d = l[0]
	for j in range(l[1]):
		if d > 20:
			d = math.trunc(d / 2) + 10
	c = d - 10 * l[2]
	if c > 0:
		print('NO')
	if c == 0 or c < 0:
		print('YES')


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


t = int(input())
for p in range(t):
	(x, n, m) = list(map(int, input().split()))
	f = 0
	for i in range(n):
		if x <= m * 10:
			f = 1
			break
		x = x // 2 + 10
	if f == 1 or x <= m * 10:
		print('YES')
	else:
		print('NO')


w = int(input())
a = []
z = []
if w >= 1 and w <= 1000:
	for i in range(0, w):
		p = input().split(' ')
		a.append(p)
	for i in range(0, w):
		r = a[i]
		t = int(r[0])
		if int(r[0]) - int(r[2]) * 10 <= 0:
			print('YES')
		else:
			for j in range(0, int(r[1])):
				t = int(t / 2) + 10
			s = t - 10 * int(r[2])
			if s <= 0:
				print('YES')
			else:
				print('NO')


import sys
input = sys.stdin.buffer.readline
t = int(input())
for i in range(t):
	(x, n, m) = [int(i) for i in input().split()]
	if x - m * 10 <= 0:
		print('YES')
	else:
		for k in range(n):
			x = x // 2 + 10
			if x - m * 10 <= 0:
				print('YES')
				break
		else:
			print('NO')


from sys import stdin
testcase = True
if testcase:
	t = int(stdin.readline())
	while t:
		t -= 1
		(x, n, m) = map(int, stdin.readline().split())
		while x > 0 and m > 0:
			if x >= 40:
				if n > 0:
					x = x // 2 + 10
					n -= 1
				elif m > 0:
					x -= 10
					m -= 1
			elif x >= 20:
				if n > 0:
					x = x // 2 + 10
					n -= 1
				elif m > 0:
					x -= 10
					m -= 1
			elif m > 0:
				x -= 10
				m -= 1
		if x > 0:
			print('NO')
		else:
			print('YES')
else:
	n = int(stdin.readline())
	a = stdin.readline().split()


import sys
reader = (s.rstrip() for s in sys.stdin)
input = reader.__next__

def gift():
	for _ in range(t):
		(x, n, m) = list(map(int, input().split()))
		for i in range(n):
			pcdbm = x - (x // 2 + 10)
			if pcdbm > 0:
				x -= pcdbm
			else:
				break
		if x > 10 * m:
			yield 'NO'
		else:
			yield 'YES'
t = int(input())
ans = gift()
print(*ans, sep='\n')


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


import sys
import math
t = int(input())

def void(x):
	return math.floor(x / 2.0) + 10

def light(x):
	return x - 10

def move(x, n, m):
	ans = x
	ret = [x, n, m]
	if n > 1 and m > 2:
		ans = light(light(x))
		ret = [light(light(x)), n, m - 2]
		if light(void(x)) <= ans:
			ans = light(void(x))
			ret = [light(void(x)), n - 1, m - 1]
		if void(void(x)) <= ans:
			ans = void(void(x))
			ret = [ans, n - 2, m]
		if void(light(x)) < ans:
			ans = void(light(x))
			ret = [ans, n - 1, m - 1]
	return ret

def solve(nums):
	[x, n, m] = nums
	while x > 0:
		if n > 1 and m > 2:
			[x, n, m] = move(x, n, m)
		elif m > 1:
			if n > 1:
				if math.floor(x / 2.0) + 10 < x - 10:
					n = n - 1
					x = math.floor(x / 2.0) + 10
				else:
					m = m - 1
					x = x - 10
			else:
				m = m - 1
				x = x - 10
		elif m == 1:
			m = m - 1
			x = x - 10
		else:
			print('NO')
			return
	print('YES')

def solve2(nums):
	[x, n, m] = nums
	while x > 20 and n > 0:
		x = void(x)
		n = n - 1
	while m > 0:
		x = light(x)
		m = m - 1
	if x > 0:
		print('NO')
	else:
		print('YES')
for i in range(t):
	numss = input().split()
	nums = [int(i) for i in numss]
	solve2(nums)


import sys

class IoTool:
	DEBUG = 0

	def _reader_dbg():
		with open('./input.txt', 'r') as f:
			lines = f.readlines()
		for l in lines:
			yield l.strip()

	def _reader_oj():
		return iter(sys.stdin.read().split('\n'))
	reader = _reader_dbg() if DEBUG else _reader_oj()

	def read():
		return next(IoTool.reader)
input = IoTool.read
MOD = 998244353

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


t = int(input())
while t:
	(a, b, c) = map(int, input().rstrip().split(' '))
	if a <= 10 and c >= 1:
		print('YES')
	else:
		while b:
			a = round(a // 2) + 10
			b = b - 1
		while c:
			a = a - 10
			c -= 1
		if a <= 0:
			print('YES')
		else:
			print('NO')
	t -= 1


import math

def solve():
	data = [int(x) for x in input().split(' ')]
	hitpoint = data[0]
	void = data[1]
	light = data[2]

	def voidAttack(hitpoint):
		return hitpoint // 2 + 10

	def lightning(hitpoint):
		return hitpoint - 10
	while hitpoint > 0:
		if hitpoint >= 20 and void > 0:
			hitpoint = voidAttack(hitpoint)
			void -= 1
		elif light > 0:
			hitpoint = lightning(hitpoint)
			light -= 1
		if light <= 0:
			break
	if hitpoint <= 0:
		print('YES')
	else:
		print('NO')
nums = int(input())
for _ in range(nums):
	solve()


def method1(hit, count1, count2):
	for i in range(count1):
		if hit <= 20:
			break
		hit = hit // 2 + 10
	hit = hit - 10 * count2
	if hit <= 0:
		print('YES')
	else:
		print('NO')

def main():
	test_case_count = int(input())
	for i in range(test_case_count):
		xnm = input()
		(x, n, m) = map(int, xnm.split())
		method1(x, n, m)
main()


s = int(input())
for i in range(s):
	(x, n, m) = map(int, input().split())
	min_h = m * 10
	a = 0
	while x > min_h:
		x = x // 2 + 10
		a += 1
		if a > n:
			print('NO')
			break
	if a <= n and x <= min_h:
		print('YES')


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


import sys
t = int(sys.stdin.readline().rstrip())

def main():
	for _ in range(t):
		(x, n, m) = map(int, sys.stdin.readline().split())
		while n and x >= 21:
			x = x // 2 + 10
			n -= 1
		print('Yes' if m * 10 >= x else 'No')
main()


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


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


import math
from sys import stdin, stdout
t = int(stdin.readline())
for query in range(t):
	xnm = stdin.readline().split()
	x = int(xnm[0])
	n = int(xnm[1])
	m = int(xnm[2])
	while x > 20 and n > 0:
		x = math.floor(x / 2)
		x = x + 10
		n = n - 1
	if x > 10 * m:
		stdout.write('NO\n')
	else:
		stdout.write('YES\n')


def prin(h, m, n):
	for jk in range(0, m):
		if h <= 20:
			break
		h = h // 2 + 10
		if h <= 0:
			print('YES')
			return 1
	for ty in range(0, n):
		h = h - 10
		if h <= 0:
			print('YES')
			return 1
	if h > 0:
		print('NO')
		return 1
n = int(input())
for i in range(0, n):
	(h, m, n) = map(int, input().split())
	prin(h, m, n)


def get_int():
	return int(input())

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

def get_str():
	return input()

def get_strs():
	return input().split()

def main():
	t = get_int()

	def dfs(hp, v, l):
		if hp > 0 and v == 0 and (l == 0):
			return False
		if hp <= 0 and (v >= 0 or l >= 0):
			return True
		if hp <= 10 and l > 0:
			return True
		h1 = hp // 2 + 10
		h2 = hp - 10
		if h1 < hp:
			if v > 0:
				return dfs(h1, v - 1, l)
			elif l > 0:
				return dfs(h2, v, l - 1)
		elif l > 0:
			return dfs(h2, v, l - 1)
		else:
			return False
	for _ in range(t):
		(hp, v, l) = get_ints()
		s = dfs(hp, v, l)
		if s:
			print('YES')
		else:
			print('NO')
main()


t = int(input())
for g in range(t):
	(x, a, b) = 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 = input()
for _ in range(int(t)):
	s = input().split()
	x = int(s[0])
	n = int(s[1])
	m = int(s[2])
	ct = 0
	if x - 10 * m <= 0:
		ct += 1
	if ct == 0:
		for __ in range(1, n + 1):
			x = x // 2 + 10
			if x - 10 * m <= 0:
				ct += 1
				break
		if ct == 0:
			x = x - 10 * m
			if x <= 0:
				ct += 1
	if ct >= 1:
		print('YES')
	else:
		print('NO')


import math
import sys
from collections import defaultdict
input = iter(sys.stdin.buffer.read().decode().splitlines()).__next__
ilele = lambda : map(int, input().split())
alele = lambda : list(map(int, input().split()))

def list2d(a, b, c):
	return [[c] * b for i in range(a)]

def list3d(a, b, c, d):
	return [[[d] * c for j in range(b)] for i in range(a)]
INF = 10 ** 18
MOD = 1000000000 + 7
for _ in range(int(input())):
	(x, n, m) = ilele()
	f = 0
	y = x
	for i in range(n):
		x = x // 2
		x += 10
		if x <= 10:
			break
	for i in range(m):
		x -= 10
	if x <= 0:
		print('YES')
	else:
		x = y
		for i in range(m):
			x -= 10
		if x <= 0:
			print('YES')
		else:
			print('NO')


import sys
import math
t = int(sys.stdin.readline())
for i in range(t):
	line = sys.stdin.readline()
	(x, n, m) = list(map(int, line.split()))
	for i in range(n):
		if x > 20:
			x = math.floor(x / 2) + 10
	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) = map(int, input().split())
	c = x
	for i in range(n):
		if c > 20:
			c = c // 2 + 10
	for j in range(m):
		c -= 10
	if c > 0:
		print('NO')
	else:
		print('YES')


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


T = int(input())
ans = []
for t in range(T):
	(h, n, m) = [int(i) for i in input().split(' ')]
	if h > 10:
		for i in range(n):
			h = h // 2 + 10
		if h <= 10 * m:
			ans.append('YES')
		else:
			ans.append('NO')
	else:
		h = h - 10 * m
		if h > 0:
			ans.append('NO')
		else:
			ans.append('YES')
for a in ans:
	print(a)


t = int(input())
while t > 0:
	(h, a, l) = map(int, input().split())
	for i in range(0, a):
		if h > 20:
			h = h // 2 + 10
	h = h - 10 * l
	if h <= 0:
		print('YES')
	else:
		print('NO')
	t -= 1


def solve():
	(x, n, m) = list(map(lambda x: int(x), input().split()))
	for i in range(n):
		if x <= 10 * m:
			print('YES')
			return
		x = int(x / 2) + 10
	if x <= 10 * m:
		print('YES')
		return
	print('NO')
T = int(input())
for i in range(T):
	solve()


import io
import os
input = io.BytesIO(os.read(0, os.fstat(0).st_size)).readline
for t in range(int(input())):
	(x, n, m) = map(int, input().split())
	flag = 0
	while x > 0 and x // 2 + 10 < x and (n != 0):
		n = n - 1
		x = x // 2 + 10
	x = x - 10 * m
	if x <= 0:
		print('YES')
	else:
		print('NO')


import sys
from sys import stdin, stdout
import bisect
import math
import heapq

def modinv(n, p):
	return pow(n, p - 2, p)

def cin():
	return map(int, sin().split())

def ain():
	return list(map(int, sin().split()))

def sin():
	return input()

def inin():
	return int(input())
import math

def Divisors(n):
	l = []
	for i in range(1, int(math.sqrt(n) + 1)):
		if n % i == 0:
			if n // i == i:
				l.append(i)
			else:
				l.append(i)
				l.append(n // i)
	return l

def most_frequent(list):
	return max(set(list), key=list.count)

def main():
	t = inin()
	for i in range(t):
		q = ain()
		for j in range(q[1]):
			if q[0] > 19:
				q[0] = int(q[0] // 2 + 10)
			else:
				break
		for k in range(q[2]):
			if q[0] > 0:
				q[0] = q[0] - 10
		if q[0] > 0:
			print('NO')
		else:
			print('YES')
py2 = round(0.5)
if py2:
	from future_builtins import ascii, filter, hex, map, oct, zip
	range = xrange
import os, sys
from io import IOBase, BytesIO
BUFSIZE = 8192

class FastIO(BytesIO):
	newlines = 0

	def __init__(self, file):
		self._file = file
		self._fd = file.fileno()
		self.writable = 'x' in file.mode or 'w' in file.mode
		self.write = super(FastIO, self).write if self.writable else None

	def _fill(self):
		s = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
		self.seek((self.tell(), self.seek(0, 2), super(FastIO, self).write(s))[0])
		return s

	def read(self):
		while self._fill():
			pass
		return super(FastIO, self).read()

	def readline(self):
		while self.newlines == 0:
			s = self._fill()
			self.newlines = s.count(b'\n') + (not s)
		self.newlines -= 1
		return super(FastIO, self).readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.getvalue())
			(self.truncate(0), self.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		if py2:
			self.write = self.buffer.write
			self.read = self.buffer.read
			self.readline = self.buffer.readline
		else:
			self.write = lambda s: self.buffer.write(s.encode('ascii'))
			self.read = lambda : self.buffer.read().decode('ascii')
			self.readline = lambda : self.buffer.readline().decode('ascii')
(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
input = lambda : sys.stdin.readline().rstrip('\r\n')
import sys

class ostream:

	def __lshift__(self, a):
		sys.stdout.write(str(a))
		return self
cout = ostream()
endl = '\n'

def readnumbers(zero=0):
	conv = ord if py2 else lambda x: x
	A = []
	numb = zero
	sign = 1
	i = 0
	s = sys.stdin.buffer.read()
	try:
		while True:
			if s[i] >= b'0'[0]:
				numb = 10 * numb + conv(s[i]) - 48
			elif s[i] == b'-'[0]:
				sign = -1
			elif s[i] != b'\r'[0]:
				A.append(sign * numb)
				numb = zero
				sign = 1
			i += 1
	except:
		pass
	if s and s[-1] >= b'0'[0]:
		A.append(sign * numb)
	return A
main()


t = int(input())
l = list()
for i in range(t):
	(h, n, m) = str(input()).split()
	h = int(h)
	n = int(n)
	m = int(m)
	l.append([h, n, m])
for k in l:
	(h, n, m) = k
	while h > 0:
		if ((n == 0) | (h < 40)) & (m == 0):
			print('No')
			break
		if (h >= 20) & (n > 0):
			h = h // 2 + 10
			n = n - 1
		elif m > 0:
			h = h - 10
			m = m - 1
	if h <= 0:
		print('Yes')


t = int(input())

def integerize(arr):
	for i in range(len(arr)):
		arr[i] = int(arr[i])
	return arr
for i in range(t):
	(x, n, m) = integerize(input().split())
	if x - m * 10 <= 0:
		print('YES')
	else:
		i = 0
		while i < n:
			x = int(x / 2) + 10
			i += 1
		j = 0
		while j < m:
			x -= 10
			j += 1
		if x > 0:
			print('NO')
		else:
			print('YES')


import math

def task(x, n, m):
	threshold = m * 10
	for i in range(0, n + 1):
		if x <= threshold:
			print('YES')
			return
		else:
			x = math.floor(x / 2) + 10
	print('NO')
t = int(input())
for i in range(0, t):
	(x, n, m) = map(int, input().split())
	task(x, n, m)


import math
t = int(input())
for _ in range(t):
	(h, n, m) = map(int, input().split())
	for i in range(n + m):
		if n > 0 and h > 20:
			h = math.floor(h / 2) + 10
			n = n - 1
		elif m > 0:
			h = h - 10
			m = m - 1
	if h <= 0:
		print('Yes')
	else:
		print('No')


import math
t = int(input())
for i in range(t):
	(power, spell, light) = [int(f) for f in input().split()]
	if power < 10 and light > 0:
		print('YES')
		continue
	elif power >= 10:
		while spell > 0 and power > 10:
			power = power // 2 + 10
			spell -= 1
		power -= light * 10
	if power <= 0:
		print('YES')
	else:
		print('NO')


from collections import Counter
from collections import defaultdict
import math
t = int(input())
for _ in range(0, t):
	(a, n, m) = list(map(int, input().split()))
	while a > 0 and n > 0 and (m > 0):
		a1 = a // 2 + 10
		if a1 < a and n > 0:
			a = a1
		n = n - 1
	if a <= 0:
		print('YES')
		continue
	if n > 0:
		while n != 0:
			a = a // 2 + 10
			n = n - 1
	if m > 0:
		while m != 0:
			a = a - 10
			m = m - 1
	if a > 0:
		print('NO')
	else:
		print('YES')


import sys
from functools import lru_cache, cmp_to_key
from heapq import merge, heapify, heappop, heappush
from math import *
from collections import defaultdict as dd, deque, Counter as C
from itertools import combinations as comb, permutations as perm
from bisect import bisect_left as bl, bisect_right as br, bisect
from time import perf_counter
from fractions import Fraction
sys.setrecursionlimit(int(pow(10, 6)))
mod = int(pow(10, 9) + 7)
mod2 = 998244353

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

def out(*var, end='\n'):
	sys.stdout.write(' '.join(map(str, var)) + end)

def L():
	return list(sp())

def sl():
	return list(ssp())

def sp():
	return map(int, data().split())

def ssp():
	return map(str, data().split())

def l1d(n, val=0):
	return [val for i in range(n)]

def l2d(n, m, val=0):
	return [l1d(n, val) for j in range(m)]
t = 1
t = int(input())
for _ in range(t):
	(x, m, n) = L()
	while m > 0 and x > 10:
		x = x // 2 + 10
		m -= 1
	while n > 0 and x > 0:
		x -= 10
		n -= 1
	if x <= 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	(x, b, c) = map(int, input().split())
	f = 0
	if x <= c * 10:
		print('YES')
		continue
	for i in range(b):
		x = x // 2 + 10
		if x <= 0:
			f = 1
			break
	if x <= c * 10 or f == 1:
		print('YES')
	else:
		print('NO')


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


for i in range(int(input())):
	z = input().split()
	z = [int(x) for x in z]
	h = z[0]
	for i in range(z[1]):
		if h > 19:
			h = h // 2 + 10
	for j in range(z[2]):
		h -= 10
	if h < 1:
		print('YES')
	else:
		print('NO')


def striker(x, m, n):
	if n == 0 and m == 0 and (x > 0):
		return 'No'
	if x <= 0:
		return 'Yes'
	if m > 0 and x > 20 and (n > 0):
		x = x // 2 + 10
		m -= 1
		return striker(x, m, n)
	if n > 0:
		x -= 10
		n -= 1
		return striker(x, m, n)
	if m > 0 and n == 0:
		x = x // 2 + 10
		m -= 1
		return striker(x, m, n)
sets = int(input())
counter = 0
Data = []
while counter < sets:
	data = input()
	data = data.split(' ')
	data = list(map(int, data))
	Data.append(data)
	counter += 1
for i in Data:
	print(striker(i[0], i[1], i[2]))


def Dragonni_yengadimi(x, n, m):
	if x <= m * 10:
		return 'YES'
	else:
		for i in range(n):
			x = x // 2 + 10
			if x <= m * 10:
				return 'YES'
		if x > m * 10:
			return 'NO'
		else:
			return 'YES'
t = int(input())
natija = []
for i in range(t):
	(x, n, m) = input().split(' ')
	(x, n, m) = (int(x), int(n), int(m))
	natija.append(Dragonni_yengadimi(x, n, m))
for i in range(t):
	print(natija[i])


import sys
import math

def get_array():
	return list(map(int, sys.stdin.readline().strip().split()))

def get_ints():
	return map(int, sys.stdin.readline().strip().split())

def input():
	return sys.stdin.readline().strip()
for _ in range(int(input())):
	(a, b, c) = get_ints()
	ans = a
	for i in range(b):
		if a <= 20:
			ans = a
			break
		ans = a // 2 + 10
		a = ans
	for j in range(c):
		ans = ans - 10
		if ans <= 0:
			break
	if ans <= 0:
		print('YES')
	else:
		print('NO')


from sys import stdin, stdout
for testcases in range(int(stdin.readline())):
	(h, n, m) = map(int, stdin.readline().split())
	if h <= 10 * m:
		stdout.write('YES\n')
	else:
		for i in range(n):
			h = h // 2 + 10
		if h <= 0:
			stdout.write('YES\n')
		else:
			for i in range(m):
				h -= 10
			if h <= 0:
				stdout.write('YES\n')
			else:
				stdout.write('NO\n')


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


test = int(input())
for i in range(test):
	(x, n, m) = [int(i) for i in input().split()]
	ans = 'NO'
	if n == m == 0:
		ans = 'NO'
	else:
		spell1 = 0
		spell2 = 0
		for i in range(n):
			if x <= 0 or x <= m * 10:
				ans = 'YES'
			x = int(x / 2) + 10
		if x <= 0 or x <= m * 10:
			ans = 'YES'
	print(ans)


def func(x, n, m):
	while n > 0 and x // 2 + 10 < x:
		x = x // 2 + 10
		n -= 1
	while m > 0 and x > 0:
		x -= 10
		m -= 1
	if x > 0:
		return 'NO'
	else:
		return 'YES'
t = int(input())
while t > 0:
	(x, n, m) = list(map(int, input().split()))
	print(func(x, n, m))
	t -= 1


from math import *
for i in range(int(input())):
	(a, b, c) = map(int, input().split())
	t = 0
	while a > 20 and b > t:
		a = int(a / 2) + 10
		t += 1
	if a > 40:
		tmp = ceil(a / 10)
		if tmp <= c:
			print('YES')
		else:
			print('NO')
	else:
		tmp = ceil(a / 10)
		if tmp <= c:
			print('YES')
		else:
			print('NO')


import sys
from random import choice, randint
inp = sys.stdin.readline
out = sys.stdout.write
flsh = sys.stdout.flush
sys.setrecursionlimit(10 ** 9)
inf = 10 ** 20
eps = 1.0 / 10 ** 10
mod = 10 ** 9 + 7
dd = [(-1, 0), (0, 1), (1, 0), (0, -1)]
ddn = [(-1, 0), (-1, 1), (0, 1), (1, 1), (1, 0), (1, -1), (0, -1), (-1, -1)]

def MI():
	return map(int, inp().strip().split())

def LI():
	return list(map(int, inp().strip().split()))

def LLI():
	return [list(map(int, l.split())) for l in sys.stdin.readlines().strip()]

def LI_():
	return [int(x) - 1 for x in inp().strip().split()]

def LF():
	return [float(x) for x in inp().strip().split()]

def LS():
	return inp().strip().split()

def I():
	return int(inp().strip())

def F():
	return float(inp().strip())

def S():
	return inp().strip()

def pf(s):
	return out(s + '\n')

def JA(a, sep):
	return sep.join(map(str, a))

def JAA(a, s, t):
	return s.join((t.join(map(str, b)) for b in a))

def main():
	t = I()
	l = []
	for _ in range(t):
		(x, n, m) = MI()
		f = 0
		if x // 2 >= 10:
			for i in range(n):
				x = x // 2 + 10
			if x <= 0:
				f = 1
			for i in range(m):
				x = x - 10
		else:
			for i in range(m):
				x = x - 10
			if x <= 0:
				f = 1
			for i in range(n):
				x = x // 2 + 10
		if x <= 0 or f == 1:
			print('YES')
		else:
			print('NO')
main()


t = int(input())
for tasf in range(t):
	(x, n, m) = map(int, input().split(' '))
	flag = 0
	if x <= 10:
		x = x - m * 10
		flag = 1
	if flag != 1:
		while n != 0:
			x = x // 2
			x = x + 10
			n = n - 1
		x = x - 10 * m
	if x <= 0:
		print('yes')
	else:
		print('no')


from sys import stdin
rints = lambda : [int(x) for x in stdin.readline().split()]
for _ in range(int(input())):
	(x, n, m) = rints()
	while n and x > 10:
		x = x // 2 + 10
		n -= 1
	x -= m * 10
	print('YES' if x <= 0 else 'NO')


n = int(input())
for t in range(n):
	(a, b, c) = input().split()
	a = int(a)
	b = int(b)
	c = int(c)
	for i in range(b):
		if a > 20:
			a = a // 2 + 10
		else:
			break
	if a <= c * 10:
		print('YES')
	else:
		print('NO')


def dragon(s):
	x = s[0]
	n = s[1]
	m = s[2]
	for i in range(n):
		if x > 20:
			x = x // 2 + 10
	if x <= 10 * m:
		return 'YES'
	else:
		return 'NO'
t = int(input())
while t > 0:
	s = list(map(int, input().strip().split()))
	print(dragon(s))
	t = t - 1


import math
t = int(input())
for i in range(t):
	(h, v, l) = map(int, input().split())
	while v != 0 and h > 20:
		h = math.floor(h / 2) + 10
		v -= 1
	if h <= 0:
		print('Yes')
	else:
		h = h - 10 * l
		if h <= 0:
			print('Yes')
		else:
			print('No')


from math import floor
testcases = int(input())
for t in range(testcases):
	posit_ints = list(map(int, input().split(' ')))
	(x, n, m) = (posit_ints[0], posit_ints[1], posit_ints[2])
	possible = False
	for i in range(n):
		if x <= 10:
			break
		x = int(floor(x / 2) + 10)
		if x <= 0:
			possible = True
			break
	if not possible:
		for i in range(m):
			x -= 10
			if x <= 0:
				possible = True
				break
	if possible:
		print('YES')
	else:
		print('NO')
	possible = False


tc = int(input())
for i in range(tc):
	(x, n, m) = input().split(' ')
	x = int(x)
	n = int(n)
	m = int(m) * 10
	fl = False
	for jj in range(n + 1):
		if x - m <= 0:
			fl = True
			break
		x = x // 2 + 10
	if fl:
		print('YES')
	else:
		print('NO')


a = int(input())
for i in range(0, a):
	(x, n, m) = map(int, input().split())
	while x > 0 and (n > 0 or m > 0):
		first = x // 2 + 10
		second = x - 10
		if n > 0 and m > 0:
			if x > 40:
				x = first
				n = n - 1
			elif x < 40 and x > 20:
				x = first
				n = n - 1
			elif x <= 20:
				x = second
				m = m - 1
			elif x == 40:
				x = first
				n = n - 1
		elif n > 0 and m <= 0:
			x = first
			n = n - 1
		elif m > 0 and n <= 0:
			x = second
			m = m - 1
	if x <= 0:
		print('YES')
	else:
		print('NO')


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


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

def solve(hp, n, m):
	while hp > 10 and n > 0:
		hp //= 2
		hp += 10
		n -= 1
	cnt = (hp + 9) // 10
	if cnt <= m:
		ans = 'YES'
	else:
		ans = 'NO'
	return ans

def main():
	t = int(input())
	for _ in range(t):
		(hp, n, m) = map(int, input().split())
		ans = solve(hp, n, m)
		sys.stdout.write(ans + '\n')
main()


import math
t = int(input())
for i in range(t):
	(h, n, m) = [int(j) for j in input().split()]
	if h > 0:
		if h > 20:
			for a in range(n):
				h = math.floor(h / 2) + 10
				if h <= 20:
					break
		for a in range(m):
			h = h - 10
	if h <= 0:
		print('YES')
	else:
		print('NO')


t = int(input())
count = 0
ans = []
while count < t:
	(x, n, m) = input().split()
	light_dmg = int(m) * 10
	if int(x) <= light_dmg:
		ans.append('YES')
	else:
		while int(n) > 0 and int(x) > light_dmg:
			x = int(x) // 2 + 10
			n = int(n) - 1
		if int(x) > light_dmg:
			ans.append('NO')
		else:
			ans.append('YES')
	count += 1
for y in ans:
	print(y)


from math import floor
t = int(input())
for _ in range(t):
	(h, n, m) = map(int, input().split())
	for i in range(n):
		if h > 20:
			h = floor(h / 2) + 10
		else:
			break
	for i in range(m):
		h -= 10
	if h <= 0:
		print('yes')
	else:
		print('no')


for _ in range(int(input())):
	(x, n, m) = [int(_) for _ in input().split()]
	if x - m * 10 <= 0:
		x = 0
	else:
		for i in range(n):
			x = x // 2 + 10
			if x - m * 10 <= 0:
				x = 0
		x -= m * 10
	print('YNEOS'[x > 0::2])


import math

def weakDragon(health, voids, lighting):
	min2Kill = lighting * 10
	if min2Kill == 0:
		return False
	if health <= min2Kill:
		return True
	for x in range(voids):
		health = math.floor(health / 2) + 10
		if health <= min2Kill:
			return True
	return False

def main(t, cases):
	for dragon in cases:
		if weakDragon(dragon[0], dragon[1], dragon[2]):
			print('YES')
		else:
			print('NO')

def tdd():
	t = 7
	cases = [[100, 3, 4], [189, 3, 4], [64, 2, 3], [63, 2, 3], [30, 27, 7], [10, 9, 1], [69117, 21, 2]]
	main(t, cases)

def user():
	t = int(input())
	cases = []
	for x in range(t):
		inp = list(map(int, input().split()))
		cases.append(inp)
	main(t, cases)
testing = False
if testing:
	tdd()
else:
	user()


for u in range(int(input())):
	(x, y, z) = map(int, input().split())
	s = x
	if x <= z * 10:
		print('YES')
	else:
		for i in range(y):
			s = s // 2 + 10
		s = s - 10 * z
		if s > 0:
			print('NO')
		else:
			print('YES')


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


for _ in range(int(input())):
	xnm = list(map(int, input().rstrip().rsplit()))
	(x, n, m, flag) = (xnm[0], xnm[1], xnm[2], 0)
	if x // 2 + 10 < x:
		for i in range(n):
			x = x // 2 + 10
			if x <= 0:
				flag = 1
				break
	if flag != 1:
		for _ in range(m):
			x = x - 10
			if x <= 0:
				flag = 1
				break
	if x <= 0 or flag == 1:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	(n, a, b) = map(int, input().split())
	f = 0
	if n <= 20:
		n -= 10 * b
	else:
		for j in range(a):
			n = n // 2 + 10
			if n <= 0:
				f = 1
				break
		n -= 10 * b
	if n <= 0:
		f = 1
	if f == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
for j in range(t):
	g = input().split()
	x = int(g[0])
	n = int(g[1])
	m = int(g[2])
	while x > 0 and n != 0 and (x > 10):
		x = x // 2 + 10
		n -= 1
	while x > 0 and m != 0:
		x -= 10
		m -= 1
	if x <= 0:
		print('YES')
	else:
		print('NO')


for i in range(int(input())):
	(h, n, m) = [int(x) for x in input().split()]
	while n > 0 and h >= 21:
		h //= 2
		h += 10
		n -= 1
	while m > 0:
		h -= 10
		m -= 1
	if h <= 0:
		print('YES')
	else:
		print('NO')


def main():
	inp = input()
	list_attacks = []
	for _ in range(int(inp)):
		att_inp = input()
		list_attacks.append(att_inp.split())
	for attack in list_attacks:
		hp = int(attack[0])
		va = int(attack[1])
		ls = int(attack[2])
		while hp > 0 and (va > 0 or ls > 0):
			if hp >= 40:
				if va > 0:
					hp = hp // 2 + 10
					va -= 1
				else:
					hp -= 10
					ls -= 1
			if hp <= 20:
				if ls > 0:
					hp -= 10
					ls -= 1
				else:
					break
			elif va > 0:
				hp = hp // 2 + 10
				va -= 1
			else:
				hp -= 10
				ls -= 1
		if hp > 0:
			print('NO')
		else:
			print('YES')
main()


from __future__ import division, print_function
from fractions import Fraction
import sys
import os
from io import BytesIO, IOBase
from itertools import *
import bisect
from heapq import *
from math import *
from copy import *
from collections import deque
from collections import Counter as counter
from itertools import combinations as comb
from itertools import permutations as permutate
from bisect import bisect_left as bl
from bisect import bisect_right as br
from bisect import bisect
BUFSIZE = 8192

class FastIO(IOBase):
	newlines = 0

	def __init__(self, file):
		self._fd = file.fileno()
		self.buffer = BytesIO()
		self.writable = 'x' in file.mode or 'r' not in file.mode
		self.write = self.buffer.write if self.writable else None

	def read(self):
		while True:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			if not b:
				break
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines = 0
		return self.buffer.read()

	def readline(self):
		while self.newlines == 0:
			b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
			self.newlines = b.count(b'\n') + (not b)
			ptr = self.buffer.tell()
			(self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr))
		self.newlines -= 1
		return self.buffer.readline()

	def flush(self):
		if self.writable:
			os.write(self._fd, self.buffer.getvalue())
			(self.buffer.truncate(0), self.buffer.seek(0))

class IOWrapper(IOBase):

	def __init__(self, file):
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		self.write = lambda s: self.buffer.write(s.encode('ascii'))
		self.read = lambda : self.buffer.read().decode('ascii')
		self.readline = lambda : self.buffer.readline().decode('ascii')

def print(*args, **kwargs):
	(sep, file) = (kwargs.pop('sep', ' '), kwargs.pop('file', sys.stdout))
	at_start = True
	for x in args:
		if not at_start:
			file.write(sep)
		file.write(str(x))
		at_start = False
	file.write(kwargs.pop('end', '\n'))
	if kwargs.pop('flush', False):
		file.flush()
if sys.version_info[0] < 3:
	(sys.stdin, sys.stdout) = (FastIO(sys.stdin), FastIO(sys.stdout))
else:
	(sys.stdin, sys.stdout) = (IOWrapper(sys.stdin), IOWrapper(sys.stdout))
from types import GeneratorType

def iterative(f, stack=[]):

	def wrapped_func(*args, **kwargs):
		if stack:
			return f(*args, **kwargs)
		to = f(*args, **kwargs)
		while True:
			if type(to) is GeneratorType:
				stack.append(to)
				to = next(to)
				continue
			stack.pop()
			if not stack:
				break
			to = stack[-1].send(to)
		return to
	return wrapped_func
mod = 1000000007

def inp():
	return sys.stdin.readline().rstrip('\r\n')

def out(var):
	sys.stdout.write(str(var))

def lis():
	return list(map(int, inp().split()))

def stringlis():
	return list(map(str, inp().split()))

def sep():
	return map(int, inp().split())

def strsep():
	return map(str, inp().split())

def zerolist(n):
	return [0] * n

def nextline():
	out('\n')

def testcase(t):
	for p in range(t):
		solve()

def printlist(a):
	for p in range(0, len(a)):
		out(str(a[p]) + ' ')

def solve():
	(x, n, m) = sep()

	def isgood(i):
		if i > 20:
			return 1
		return 0
	t = x
	while n > 0 and isgood(t):
		t = t // 2 + 10
		n -= 1
	t -= m * 10
	if t > 0:
		print('NO')
	else:
		print('YES')
testcase(int(inp()))


from math import *
from copy import *
from string import *
from random import *
from sys import stdin
from sys import maxsize
from operator import *
from itertools import *
from collections import Counter
import math
t = int(input())
for i in range(t):
	(x, n, m) = map(int, input().split(' '))
	while x > m * 10 and n != 0:
		x = x // 2 + 10
		n = n - 1
	if x <= m * 10:
		print('YES')
	else:
		print('NO')


powof2 = [1]
for i in range(1, 31):
	powof2.append(2 * powof2[i - 1])
for t in range(int(input().strip())):
	(x, n, m) = tuple(map(int, input().strip().split()))
	res = 'YES'
	if x <= m * 10:
		pass
	elif m < 2:
		res = 'NO'
	else:
		while n > 0 and x > 20:
			x = x // 2 + 10
			n -= 1
		if x > m * 10:
			res = 'NO'
	print(res)


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


def solve():
	s = input().split()
	for i in range(len(s)):
		s[i] = int(s[i])
	while s[1] + s[2] > 0:
		flag = True
		if s[1] > 0:
			if s[0] // 2 + 10 < s[0]:
				s[0] = s[0] // 2 + 10
				flag = False
				s[1] -= 1
		if flag and s[2] > 0:
			s[2] -= 1
			s[0] -= 10
			flag = False
		if flag:
			break
	if s[0] <= 0:
		print('YES')
	else:
		print('NO')
t = int(input())
for i in range(t):
	solve()


for _ in range(int(input())):
	flag = False
	(h, n, m) = map(int, input().split())
	nn = n
	while nn and h > 10:
		h = h // 2 + 10
		nn -= 1
	mm = m
	while mm:
		h -= 10
		mm -= 1
		if h <= 0:
			flag = True
			break
	print('YES' if flag else 'NO')


t = int(input())
for i in range(t):
	a = [int(x) for x in input().split()]
	p = a[0]
	q = a[1]
	r = a[2]
	while p > 0 and q > 0 and (r > 0):
		if p >= 21:
			p = int(p / 2) + 10
			q = q - 1
		else:
			p = p - 10
			r = r - 1
	if p <= 0:
		print('YES')
		continue
	while q > 0:
		p = int(p / 2) + 10
		q = q - 1
	p = p - r * 10
	if p <= 0:
		print('YES')
		continue
	else:
		print('NO')
		continue


for i in range(int(input())):
	(x, n, m) = map(int, input().split())
	ans = 'NO'
	while x >= 20 and n != 0:
		x = x // 2 + 10
		n -= 1
		if x <= 0:
			ans = 'YES'
			break
	while m != 0 and x > 0:
		x -= 10
		m -= 1
		if x <= 0:
			ans = 'YES'
			break
	print(ans)


t = int(input())
for i in range(t):
	n = list(map(int, input().split()))
	if n[2] * 10 >= n[0]:
		print('YES')
	else:
		a = n[0]
		y = 'NO'
		for j in range(n[1]):
			if a > n[2] * 10:
				a = int(a / 2) + 10
			else:
				y = 'YES'
				break
		if a <= n[2] * 10:
			y = 'YES'
		print(y)


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


def act(x, n, m):
	y = x // 2 + 10
	z = x - 10
	if n > 0 and y < x:
		n -= 1
		return (y, n, m, 0)
	elif m > 0:
		m -= 1
		return (z, n, m, 0)
	else:
		return (x, n, m, 1)
for _ in range(int(input())):
	(x, n, m) = map(int, input().split())
	while x > 0 and (n > 0 or m > 0):
		(x, n, m, f) = act(x, n, m)
		if f:
			break
	if x > 0:
		print('NO')
	else:
		print('YES')


import math
t = int(input())
for i in range(t):
	(x, n, m) = list(map(int, input().split()))
	beat = False
	if x <= 10 * m:
		beat = True
	else:
		for j in range(n):
			x = math.floor(x / 2) + 10
			if x <= 10 * m:
				beat = True
				break
	if x <= 10 * m:
		beat = True
	if beat:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	(n, a, b) = map(int, input().split())
	ans = 'NO'
	for i in range(a + 1):
		num = n
		for j in range(i):
			num = num // 2 + 10
		for j in range(b):
			num -= 10
		if num <= 0:
			ans = 'YES'
	print(ans)


count = int(input())
for i in range(count):
	pole = list(map(int, input().split()))
	drak = pole[0]
	while pole[1] != 0 and drak > 20:
		drak = drak // 2 + 10
		pole[1] -= 1
	while pole[2] != 0 and drak > 0:
		drak -= 10
		pole[2] -= 1
	if drak <= 0:
		print('YES')
	else:
		print('NO')


import math
n = int(input())
for i in range(n):
	(a, b, c) = map(int, input().split())
	for i in range(b):
		if math.floor(a / 2 + 10) >= a:
			break
		a = math.floor(a / 2) + 10
	a = a - 10 * c
	if a <= 0:
		print('YES')
	else:
		print('NO')


T = int(input())
from math import floor
for test in range(T):
	[X, N, M] = list(map(int, input().split()))
	ans = 'NO'
	for n in range(N + 1):
		if X <= M * 10:
			ans = 'YES'
			break
		X = floor(X / 2 + 10)
	print(ans)


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


try:
	test_case = int(input())
	for i in range(test_case):
		(x, n, m) = map(int, input().split())
		while n > 0 and x > 20:
			x = x // 2 + 10
			n -= 1
		while m > 0:
			x = x - 10
			m -= 1
		if x > 0:
			print('NO')
		else:
			print('YES')
except:
	pass


from sys import stdin
from collections import deque
from math import sqrt, floor, ceil, log, log2, log10, pi, gcd, sin, cos, asin

def ii():
	return int(stdin.readline())

def fi():
	return float(stdin.readline())

def mi():
	return map(int, stdin.readline().split())

def fmi():
	return map(float, stdin.readline().split())

def li():
	return list(mi())

def lsi():
	x = list(stdin.readline())
	x.pop()
	return x

def si():
	return stdin.readline()
res = ['YES', 'NO']

def main():
	(n, x, y) = mi()
	y *= 10
	f = 0
	if n > y:
		f = 1
		for _ in range(x):
			n //= 2
			n += 10
			if n <= y:
				f = 0
				break
	print(res[f])
	return
test_case = ii()
while test_case:
	main()
	test_case -= 1


T = int(input())
n = [0] * T
m = [0] * T
ns = [0] * T
for t in range(T):
	ns[t] = [int(i) for i in input().split(' ')]

def run(n):
	(k, n, m) = n
	for i in range(n):
		if m > 0 and k <= 10:
			return 'YES'
		if k >= 21:
			k = int(k * 0.5) + 10
		else:
			break
	for i in range(m):
		if k <= 10:
			return 'YES'
		else:
			k -= 10
	return 'NO'
for t in range(T):
	print(run(ns[t]))


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


import math
t = int(input())
for i in range(t):
	flag = 0
	(x, n, m) = map(int, input().split())
	xx = x
	nn = n
	mm = m
	for i in range(n):
		x = math.floor(x / 2) + 10
	for i in range(m):
		x = x - 10
	if x > 0:
		flag = 0
	else:
		flag = 1
	if xx <= m * 10:
		flag = 1
	if flag == 1:
		print('YES')
	else:
		print('NO')


t = int(input())
import math
for _ in range(t):
	(x, n, m) = map(int, input().split())
	mi = min(n, m)
	if m == 0:
		print('no')
		continue
	c = 0
	flag = 0
	for i in range(n):
		if x // 2 + 10 >= x:
			break
		x = x // 2 + 10
	for i in range(m):
		x = x - 10
		if x <= 0:
			print('yes')
			flag = 1
			break
	if flag == 0:
		print('no')


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


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 _ in range(int(input())):
	l = list(map(int, input().split()))
	x = l[0]
	n = l[1]
	m = l[2]
	count = 0
	if x > 10:
		while n > 0:
			x = int(x // 2 + 10)
			n -= 1
		while m > 0:
			x -= 10
			m -= 1
		if x <= 0:
			print('YES')
		else:
			print('NO')
	elif m >= 1:
		print('YES')
	else:
		print('NO')


z = input
mod = 10 ** 9 + 7
from collections import *
from queue import *
from sys import *
from collections import *
from math import *
from heapq import *
from itertools import *
from bisect import *
from collections import Counter as cc
from math import factorial as f

def lcd(xnum1, xnum2):
	return xnum1 * xnum2 // gcd(xnum1, xnum2)
n = int(input())
for _ in range(n):
	(a, b, c) = map(int, z().split())
	for i in range(b):
		if a <= 20:
			break
		else:
			a = a // 2 + 10
	a -= c * 10
	print('yes' if a <= 0 else 'no')


def p(h, n, m):
	if m * 10 >= h:
		return True
	else:
		for i in range(n):
			h = h // 2 + 10
		if m * 10 >= h:
			return True
		else:
			return False
t = int(input())
for i in range(t):
	(h, n, m) = map(int, input().split())
	if p(h, n, m):
		print('YES')
	else:
		print('NO')


import sys

def cast_void(h, n):
	while n > 0:
		h = h // 2 + 10
		n -= 1
	return h

def cast_lightning(h, m):
	while m > 0:
		h -= 10
		m -= 1
	return h

def test_case(x, n, m):
	if x >= 20:
		x = cast_void(x, n)
		x = cast_lightning(x, m)
	else:
		x = cast_lightning(x, m)
	if x > 0:
		return 'NO\n'
	else:
		return 'YES\n'

def main():
	n = int(sys.stdin.readline())
	for _ in range(n):
		(x, n, m) = map(int, sys.stdin.readline().split())
		sys.stdout.write(f'{test_case(x, n, m)}')
main()


import math
t = int(input())
for z in range(t):
	(x, n, m) = map(int, input().split())
	flag = 0
	for i in range(n):
		if x - m * 10 <= 0:
			print('YES')
			flag = 1
			break
		x = math.floor(x / 2) + 10
	if flag == 0 and x - m * 10 <= 0:
		print('YES')
		flag = 1
	if flag == 0:
		print('NO')


import math
N = int(input())
for i in range(0, N):
	(x, n, m) = map(int, input().split())
	for j in range(0, n):
		if x < 20:
			break
		x = math.floor(x / 2) + 10
	x = x - 10 * m
	if x > 0:
		print('No')
	else:
		print('Yes')


class Solver(object):

	def __init__(self, debug=False):
		self.debug = debug

	def d(self, *args):
		if self.debug:
			import sys
			print(*args, file=sys.stderr)
			pass

	def precalc(self):
		pass

	def solve(self):
		(h, n, m) = map(int, input().split(' '))
		while h > 0 and n + m > 0:
			if n > 0:
				if h // 2 + 10 < h:
					n -= 1
					h = h // 2 + 10
					continue
				elif m == 0:
					break
			m -= 1
			h -= 10
		if h <= 0:
			return 'YES'
		else:
			return 'NO'
s = Solver(debug=False)
s.precalc()
NUM_CASES = int(input())
for CASE_NO in range(1, NUM_CASES + 1):
	result = s.solve()
	print('{}'.format(result))


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


for _ in range(int(input())):
	(health, a, b) = map(int, input().split())
	for i in range(a):
		if health <= 20:
			break
		health = health // 2 + 10
	health -= b * 10
	if health <= 0:
		print('YES')
	else:
		print('NO')


for _ in range(int(input())):
	(h, a, b) = map(int, input().split())
	c = h
	kk = 0
	while a > 0:
		w = c
		if w == 20:
			break
		c = w // 2 + 10
		q = c - 10 * b
		ss = w - 10 * b
		if q <= 0 or ss <= 0:
			kk = 1
			break
		a -= 1
	if c - 10 * b <= 0:
		print('YES')
	elif kk == 1:
		print('YES')
	else:
		print('NO')


for tc in range(int(input())):
	(h, n, m) = map(int, input().split())
	for i in range(n):
		if h <= 20:
			break
		h = h // 2 + 10
	for i in range(m):
		h = h - 10
	if h <= 0:
		print('YES')
	else:
		print('NO')


t = int(input())
while t > 0:
	t = t - 1
	(a, b, c) = map(int, input().split())
	d = 0
	if a - c * 10 <= 0:
		print('YES')
	else:
		while b > 0:
			b = b - 1
			a = a // 2 + 10
		while c > 0:
			c = c - 1
			a = a - 10
		if a <= 0:
			print('YES')
		else:
			print('NO')


import math
cases = int(input())
for case in range(cases):
	values = list(map(lambda x: int(x), input().split()))
	(x, n, m) = values
	if m == 0:
		print('NO')
	while m != 0:
		if x <= m * 10:
			print('YES')
			break
		elif n != 0:
			x = math.floor(x / 2) + 10
			n -= 1
		else:
			print('NO')
			break


t = int(input())
for i in range(t):
	(x, n, m) = input().strip().split(' ')
	(x, n, m) = [int(x), int(n), int(m)]
	p = m * 10
	if x <= p:
		print('YES')
	else:
		k = 0
		while n > 0:
			x = x // 2 + 10
			n -= 1
			if x <= p:
				k = 1
				break
		if k:
			print('YES')
		else:
			print('NO')


for sss in range(int(input())):
	(a, b, c) = map(int, input().split())
	j = 0
	while j < b:
		if a > 20:
			a = a // 2 + 10
		else:
			break
		j += 1
	a = a - 10 * c
	if a < 1:
		print('YES')
	else:
		print('NO')


def f1():
	T = int(input())
	while T != 0:
		T = T - 1
		l = [int(i) for i in input().split(' ')]
		(a, b, c, d) = (l[0], l[1], l[2], l[3])
		ans = list()
		ans.append(b)
		ans.append(c)
		ans.append(c)
		for i in ans:
			print(i, end=' ')
		print()

def f2():
	T = int(input())
	while T != 0:
		T = T - 1
		l = [int(i) for i in input().split(' ')]
		(x, n, m) = (l[0], l[1], l[2])
		if x == 0:
			print('YES')
		elif x > 0 and m == 0:
			print('NO')
		elif x > 0 and m > 0 and (n == 0):
			if x > 10 * m:
				print('NO')
			else:
				print('YES')
		elif x > 0 and m > 0 and (n > 0):
			while n > 0 or m > 0:
				if n > 0 and x > 10:
					x = x // 2 + 10
					n = n - 1
				if x <= m * 10:
					x = 0
					print('YES')
					break
				if n == 0 and m > 0 or x <= 10:
					if m * 10 >= x:
						x = 0
						print('YES')
						break
					else:
						break
				if x <= 0:
					print('YES')
					break
			if x > 0:
				print('NO')
f2()


import sys
input = sys.stdin.readline
t = int(input())
for ti in range(1, t + 1):
	(x, n, m) = map(int, input().split())
	if m == 0:
		print('NO')
		continue
	if m >= 1 and x <= 10:
		print('YES')
		continue
	if m >= 2 and x <= 20:
		print('YES')
		continue
	if m == 1 and x > 10:
		print('NO')
		continue
	ok = True
	while n > 0:
		n -= 1
		x = x // 2 + 10
	while m > 2:
		m -= 1
		x -= 10
	if x > 20:
		ok = False
	if ok:
		print('YES')
	else:
		print('NO')


from sys import stdin, stdout
import operator

def main():
	t = int(stdin.readline())
	for i in range(t):
		(x, n, m) = map(int, stdin.readline().split())
		num = x
		if x <= 20:
			if x <= 10 * m:
				print('YES')
			else:
				print('NO')
		else:
			while n > 0:
				res = num // 2
				num = res + 10
				n -= 1
				if num < 10 * m:
					break
			if num <= 10 * m:
				print('YES')
			else:
				print('NO')
main()


n = int(input())
for i in range(n):
	(h, p, q) = map(int, input().split())
	if h - q * 10 <= 0:
		print('YES')
	else:
		for i in range(p):
			if h > 0:
				h = h // 2 + 10
			else:
				print('YES')
				break
		h = h - q * 10
		if h > 0:
			print('NO')
		else:
			print('YES')


import sys, bisect
from math import floor as fl
input = sys.stdin.readline

def inp():
	return int(input().rstrip())

def inlt():
	return list(map(int, input().rstrip().split()))

def insr():
	s = input().rstrip()
	return s[:len(s) - 1]

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


import sys
import math
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
mod = 1000000007

def nospace(l):
	ans = ''.join((str(i) for i in l))
	return ans
t = int(input())
for tt in range(t):
	(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')
if fileoperation:
	sys.stdout = orig_stdout
	sys.stdin = orig_stdin
	inputfile.close()
	outputfile.close()


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


t = int(input())
for _ in range(t):
	(x, n, m) = list(map(int, input().rstrip().split()))
	chk = False
	if x <= 10 * m:
		chk = True
	else:
		mi = 10 ** 5 + 1
		for i in range(n):
			x = x // 2 + 10
			if x < mi:
				mi = x
		if mi <= 10 * m:
			chk = True
	if chk:
		print('YES')
	else:
		print('NO')


p = int(input())
while p > 0:
	p -= 1
	na = input()
	pa = na.split()
	x = int(pa[0])
	n = int(pa[1])
	m = int(pa[2])
	if x < 11 and m > 0:
		print('YES')
	else:
		for i in range(0, n):
			x = int(x / 2) + 10
		x = x - 10 * m
		if x < 1:
			print('YES')
		else:
			print('NO')


def main():
	global yeet, r, l
	x = int(input())
	n = 0
	yeet = []
	arr1 = []
	while n < x:
		f = input()
		arr1 = [x for x in f.split()]
		yeet.append(arr1)
		n += 1
	r = 0
	l = 0

	def calc():
		m = 0
		global yeet, r, l
		test = yeet[r]
		test[0] = int(test[0])
		test[1] = int(test[1])
		test[2] = int(test[2])
		if 1 <= test[0] <= 100000 and 0 <= test[1] <= 30 and (0 <= test[2] <= 30):
			if test[2] * 10 > test[0]:
				print('YES')
				m = 1
			while test[0] >= 21 and test[1] != 0:
				test[1] -= 1
				test[0] = int(test[0] / 2) + 10
			while test[2] != 0:
				test[2] -= 1
				test[0] -= 10
			if m == 0:
				if test[0] <= 0:
					print('YES')
				else:
					print('NO')
			r += 1
		else:
			l = 1
	f = 0
	while f < x and l == 0:
		calc()
		f += 1
	return
main()


def absorption(x, n):
	while n > 0:
		x = x // 2 + 10
		n -= 1
	return x

def light(x, m):
	return x - 10 * m
for _ in range(int(input())):
	(x, n, m) = list(map(int, input().split()[:3]))
	a = absorption(x, n)
	l = light(x, m)
	if l <= 0 or a <= 0:
		print('YES')
	else:
		absor = absorption(l, n)
		p = light(a, m)
		if absor <= 0 or p <= 0:
			print('YES')
		else:
			print('NO')


from math import floor

def main():
	t = int(input())
	for _ in range(t):
		l = list(map(int, input().split()))
		(h, v, l) = (l[0], l[1], l[2])
		while h > 20 and v > 0:
			h = floor(h / 2) + 10
			v -= 1
		h -= 10 * l
		if h > 0:
			print('NO')
		else:
			print('YES')
main()


t = int(input())
for sdds in range(t):
	(xx, n, m) = [int(x) for x in input().split()]
	g = 1
	while xx > 0:
		if xx - m * 10 <= 0:
			g = 1
			break
		elif n > 0:
			xx = xx // 2 + 10
			n -= 1
		else:
			g = 2
			break
	if g == 2:
		print('NO')
	else:
		print('YES')


t = int(input())
for j in range(t):
	a = list(map(int, input().split()))
	x = a[0]
	n = a[1]
	m = a[2]
	f = True
	while f:
		if x >= 20 and n > 0:
			x = int(x / 2) + 10
			n -= 1
		elif m > 0:
			x -= 10
			m -= 1
		elif x >= 20 and n > 0:
			x = int(x / 2) + 10
			n -= 1
		else:
			break
	if x <= 0:
		print('YES')
	else:
		print('NO')


tests = int(input())
while tests > 0:
	(life, va, ls) = [int(i) for i in input().split(' ')]
	lsSum = ls * 10
	canBeDefeated = 'NO'
	if life - lsSum <= 0:
		canBeDefeated = 'YES'
	else:
		for i in range(va):
			life = life // 2 + 10
			if life - lsSum <= 0:
				canBeDefeated = 'YES'
				break
	print(canBeDefeated)
	tests = tests - 1


for _ in range(int(input())):
	(hit, void, light) = map(int, input().split())
	if hit - light * 10 <= 0:
		print('YES')
	else:
		for x in range(1, void + 1):
			k = hit // 2 + 10
			hit = k
			z = k - light * 10
			if z <= 0:
				print('YES')
				break
		else:
			print('NO')


import sys
ints = (int(x) for x in sys.stdin.read().split())
ntc = next(ints)
for tc in range(1, ntc + 1):
	(x, n, m) = (next(ints) for i in range(3))
	while n > 0 and x // 2 + 10 < x:
		x = x // 2 + 10
		n -= 1
	x -= m * 10
	print('YES' if x <= 0 else 'NO')


import collections

class Solution:

	def solve(self, x, n, m):
		while n and x > 20:
			x = x // 2 + 10
			n -= 1
		if x - 10 * m <= 0:
			return True
		return False
sol = Solution()
t = int(input().strip())
for i in range(t):
	[x, n, m] = list(map(int, input().strip().split()))
	print('YES' if sol.solve(x, n, m) else 'NO')


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


import sys
import collections
input = sys.stdin.readline

def printnl(val):
	sys.stdout.write(str(val) + '\n')

def solve(x, n, m):
	a = x / (2 * n) + 10 * n
	printnl(a)
	a -= 10 * m
	printnl(a)
	if a <= 0:
		printnl('YES')
	else:
		printnl('NO')

def solveBrute(x, n, m):
	while x > 0 and n and (x / 2 + 10 < x):
		n -= 1
		x = x // 2 + 10
	if x <= m * 10:
		printnl('YES')
	else:
		printnl('NO')
T = int(input())
while T:
	(x, n, m) = map(int, input().split())
	solveBrute(x, n, m)
	T -= 1


def va(v):
	return v // 2 + 10
t = int(input())
for l in range(t):
	(l, a, b) = map(int, input().split())
	mn = l
	temp = l
	for i in range(a):
		temp = va(temp)
		mn = min(mn, temp)
	if mn <= b * 10:
		print('YES')
	else:
		print('NO')


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


def IntInput():
	return int(input())

def M_IntInput():
	return map(int, input().split())

def M_StrInput():
	return map(int, input().split())

def IntArrayInput():
	return list(map(int, input().split()))

def modInverse(p, a, m):
	return p % m * pow(a % m, m - 2, m) % m
for _ in range(IntInput()):
	(x, n, m) = M_IntInput()
	ans = 'NO'
	if x <= m * 10:
		ans = 'YES'
	while n:
		x = x // 2 + 10
		if x <= m * 10:
			ans = 'YES'
		n -= 1
	print(ans)


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


t1 = int(input())
while t1:
	t1 = t1 - 1
	(x11, n11, m11) = list(map(int, input().split(' ')))
	while n11 > 0 or m11 > 0:
		if x11 > 20:
			if n11 > 0:
				x11 = x11 // 2 + 10
				n11 = n11 - 1
			elif m11 > 0:
				x11 = x11 - 10
				m11 = m11 - 1
		elif m11 > 0:
			x11 = x11 - 10
			m11 = m11 - 1
		else:
			break
	if x11 > 0:
		print('NO')
	else:
		print('YES')


t = int(input())
for j 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 <= 0:
		print('Yes')
	else:
		print('NO')


p = int(input())
for z in range(p):
	(x, n, m) = [int(i) for i in input().split()]
	if x <= m * 10:
		print('YES')
	elif x <= 20:
		print('NO')
	else:
		b = False
		for i in range(n):
			x = int(x / 2) + 10
			if x <= m * 10:
				print('YES')
				b = True
				break
		if not b:
			print('NO')


import math
testCases = int(input())
for _ in range(testCases):
	(x, n, m) = map(int, input().split())
	while n > 0 or m > 0:
		if x > 20:
			if n > 0:
				x = x // 2 + 10
				n -= 1
			else:
				x -= 10
				m -= 1
		elif m > 0:
			x -= 10
			m -= 1
		else:
			x = x // 2 + 10
			n -= 1
		if x < 1:
			break
	if x < 1:
		print('YES')
	else:
		print('NO')


from itertools import *
from collections import *
import bisect
for _ in range(int(input())):
	(a, b, c) = map(int, input().split())
	if a <= 10 and c >= 1:
		print('YES')
		continue
	for i in range(b):
		a = a // 2 + 10
	a -= c * 10
	if a <= 0:
		print('YES')
	else:
		print('NO')


def dragon(h, a, b):
	while a > 0 or b > 0:
		if h <= 0:
			return 'YES'
		aspell = h // 2 + 10
		bspell = h - 10
		if aspell > h:
			h -= 10 * b
			b = 0
			break
		if a != 0:
			a -= 1
			h = aspell
		else:
			b -= 1
			h = bspell
	if h <= 0:
		return 'YES'
	else:
		return 'NO'
test = int(input())
for i in range(test):
	(h, a, b) = map(int, input().split())
	print(dragon(h, a, b))


for _ in range(int(input())):
	(a, b, c) = list(map(int, input().split()))
	if a == 0:
		print('YES')
	elif 10 * c >= a:
		print('YES')
	else:
		l = 0
		while b > 0:
			a = a // 2 + 10
			b -= 1
		if 10 * c >= a:
			print('YES')
		else:
			print('NO')


N = int(input())
for i in range(N):
	(HP, a, b) = map(int, input().split())
	while HP > 20 and a > 0:
		HP = HP // 2 + 10
		a -= 1
	while b > 0:
		HP -= 10
		b -= 1
	if HP <= 0:
		print('YES')
	else:
		print('NO')


q = int(input())
for q in range(q):
	(x, n, m) = map(int, input().split())
	if x <= 20:
		if x <= m * 10:
			print('Yes')
		else:
			print('No')
	else:
		while n > 0:
			x = x // 2 + 10
			n -= 1
		if x <= m * 10:
			print('Yes')
		else:
			print('No')
exit()
(n, k) = map(int, input().split())
ans = 0
for i in range(k, n + 2):
	mn = i * (i - 1) // 2
	mx = (2 * (n - i + 1) + (i - 1)) * i // 2
	ans += mx - mn + 1
	ans = ans % (10 ** 9 + 7)
print(ans)


import math

class Read:

	@staticmethod
	def string():
		return input()

	@staticmethod
	def int():
		return int(input())

	@staticmethod
	def list(sep=' '):
		return input().split(sep)

	@staticmethod
	def list_int(sep=' '):
		return list(map(int, input().split(sep)))

def solve():
	(x, n, m) = Read.list_int()
	r = x
	for i in range(n):
		x = math.floor(x / 2) + 10
		r = min(r, x)
	print('YES' if r - m * 10 <= 0 else 'NO')
query_count = Read.int()
while query_count:
	query_count -= 1
	solve()


import math
t = int(input())
for _ in range(t):
	(x, n, m) = list(map(int, input().split(' ')))
	v = x
	if m * 10 >= v:
		print('YES')
	else:
		for i in range(n):
			v = math.floor(v / 2) + 10
		if m * 10 >= v:
			print('YES')
		else:
			print('NO')


import math
T = int(input())
for t in range(T):
	l = list(map(int, input().split()))
	health = l[0]
	ab = l[1]
	st = l[2]
	for i in range(ab):
		if health > 19:
			health = math.floor(health / 2) + 10
	if health > 10 * st:
		print('NO')
	else:
		print('YES')


for i in range(int(input())):
	(s, o, n) = list(map(int, input().split()))
	for j in range(o):
		if s > 20:
			s //= 2
			s += 10
		else:
			break
	for k in range(n):
		if s <= 0:
			break
		else:
			s -= 10
	if s <= 0:
		print('YES')
	else:
		print('NO')


import math
t = int(input())
while t:
	t -= 1
	(h, v, l) = map(int, input().split())
	while h > 0 and v and (math.floor(h / 2) + 10 < h):
		v -= 1
		h = math.floor(h / 2) + 10
	if h <= l * 10:
		print('YES')
	else:
		print('No')


t = int(input())
ans = []
dl = 10
for i in range(t):
	(x, n, m) = map(int, input().split())
	kl = 0
	kp = 0
	dp = (x + 1) // 2 - 10
	while dp > 0 and kp != n:
		x -= dp
		kp += 1
		dp = (x + 1) // 2 - 10
	if (x + dl - 1) // dl <= m:
		ans.append('YES')
	else:
		ans.append('NO')
for i in ans:
	print(i)


from math import *

def cin():
	return map(int, input().split())

def cins():
	return input.split()

def cino(test=False):
	if not test:
		return int(input())
	else:
		return input()

def cina():
	return list(map(int, input().split()))

def ssplit():
	return list(input().split())

def printlist(l):
	for i in l:
		print(i, end=' ')

def main():
	a = cino()
	for _ in range(a):
		(x, n, m) = cin()
		test = True
		cnt = 0
		while x > 0 and n > 0 and (x // 2 + 10 < x):
			n -= 1
			x = x // 2 + 10
		print('YES' if x <= 10 * m else 'NO')
main()


a = int(input())
n = list()
k = list()
for i in range(a):
	n = list(map(int, input().split()))
	if n[0] - 10 * n[2] <= 0:
		k.append('YES')
		continue
	v = n[1] + n[2]
	while n[1] != 0:
		n[0] = int(n[0] / 2) + 10
		n[1] -= 1
	while n[2] != 0:
		n[0] -= 10
		n[2] -= 1
	if n[0] <= 0:
		k.append('YES')
	else:
		k.append('NO')
for i in k:
	print(i)


k = int(input())
for i in range(k):
	a = [int(i) for i in input().split(' ')]
	for j in range(a[1]):
		if a[0] <= 20:
			break
		a[0] = a[0] // 2
		a[0] += 10
	if a[0] <= a[2] * 10:
		print('YES')
	else:
		print('NO')


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


def possible(x, m, n):
	if x <= 0:
		return 'YES'
	if m > 0 and x > 20:
		x = x // 2 + 10
		return possible(x, m - 1, n)
	if n > 0:
		x = x - 10
		return possible(x, m, n - 1)
	else:
		return 'NO'
t = int(input())
z = []
for i in range(t):
	(x, m, n) = list(map(int, input().split()))
	z.append(possible(x, m, n))
for i in z:
	print(i)


def read_int():
	return int(input().strip())

def read_ints():
	return list(map(int, input().strip().split(' ')))

def solve():
	(h, n, m) = read_ints()
	while n > 0 and h // 2 + 10 < h:
		h = h // 2 + 10
		n -= 1
	if h - 10 * m <= 0:
		return 'YES'
	return 'NO'
T = read_int()
for _ in range(T):
	print(solve())


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


from math import floor

def solve(x, n, m):
	if m * 10 >= x:
		flag = True
	else:
		flag = False
		for i in range(n):
			x = floor(x / 2) + 10
		for i in range(m):
			x = x - 10
			if x <= 0:
				flag = True
				break
	if flag == True:
		print('YES')
	else:
		print('NO')
for i in range(int(input())):
	(x, n, m) = map(int, input().split())
	solve(x, n, m)


t = int(input())
for _ in range(t):
	(x, m, n) = map(int, input().split())
	if x > 20:
		for i in range(m):
			x = x // 2 + 10
	for j in range(n):
		x = x - 10
	if x > 0:
		print('NO')
	else:
		print('Yes')


import sys
input = lambda : sys.stdin.readline().rstrip()

def proverka(aa, bb, cc):
	if aa + bb > cc and bb + cc > aa and (aa + cc > bb):
		return True
	return False

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


from math import *

def solve():
	(x, n, m) = map(int, input().split())
	if x <= 10 * m:
		print('YES')
		return
	else:
		for i in range(n):
			x = x // 2 + 10
			if x <= 10 * m:
				print('YES')
				return
	print('NO')
for _ in range(int(input())):
	solve()


a = int(input())
for data in [list(map(int, input().split())) for i in range(a)]:
	h = data[0]
	n = data[1]
	m = data[2]
	for i in range(n + m):
		h1 = min(h // 2 + 10, h)
		h2 = h - 10
		if n > 0:
			h = h1
			n -= 1
		elif m > 0:
			h = h2
			m -= 1
		if h <= 0:
			break
	print('YES' if h <= 0 else 'NO')


def list_int():
	return list(map(int, input().split()))

def int_in():
	return int(input())

def map_in():
	return map(int, input().split())

def list_in():
	return input().split()
N = int_in()
import math as m
for I in range(N):
	(x, n, m) = map_in()
	while n > 0:
		x2 = x // 2 + 10
		if x2 > x:
			break
		x = x2
		n -= 1
	if x > m * 10:
		print('NO')
	else:
		print('YES')


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())
while t > 0:
	(x, n, m) = list(map(int, input().strip().split()))
	possible = True
	while x > 0:
		if x > 10 and n > 0:
			n -= 1
			x = x // 2 + 10
		elif m > 0:
			m -= 1
			x -= 10
		else:
			possible = False
			break
	if possible:
		print('YES')
	else:
		print('NO')
	t -= 1


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


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


import sys
stdin = sys.stdin
ns = lambda : stdin.readline().rstrip()
ni = lambda : int(stdin.readline().rstrip())
nm = lambda : map(int, stdin.readline().split())
nl = lambda : list(map(int, stdin.readline().split()))

def solve():
	(h, n, m) = nm()
	while n and h > h // 2 + 10:
		n -= 1
		h = h // 2 + 10
	print('YES' if h <= 10 * m else 'NO')
t = ni()
for _ in range(t):
	solve()


for _ in range(int(input())):
	(x, n, m) = [*map(int, input().split())]
	ans = x
	count = 0
	for i in range(0, n):
		ans = ans // 2
		ans += 10
		if ans <= 0:
			count += 1
			print('Yes')
			break
		if ans > x:
			ans = x
			break
	if count != 1:
		ans -= 10 * m
		if ans <= 0:
			print('Yes')
		else:
			print('No')


import math

def void_absorptions(hp):
	hp = math.floor(hp / 2)
	hp += 10
	return hp

def lightning_strikes(hp):
	hp -= 10
	return hp
inputs = []
numb_cases = int(input())
count = 0
while count < numb_cases:
	inputs.append(input())
	count += 1
for sequence in inputs:
	sequence = sequence.split(' ')
	dragons_hp = int(sequence[0])
	numb_void_ab = int(sequence[1])
	numb_lightnin_str = int(sequence[2])
	while dragons_hp >= 20 and numb_void_ab > 0:
		dragons_hp = void_absorptions(dragons_hp)
		numb_void_ab -= 1
	while numb_lightnin_str > 0:
		dragons_hp = lightning_strikes(dragons_hp)
		numb_lightnin_str -= 1
	if dragons_hp <= 0:
		print('YES')
	else:
		print('NO')


t = int(input())
res = []
for j in range(t):
	test = 'NO'
	(life, void, light) = input().split()
	life = int(life)
	void = int(void)
	light = int(light)
	for i in range(void):
		if life > 20:
			life = int(life / 2)
			life += 10
		else:
			break
	for i in range(light):
		life -= 10
		if life <= 0:
			test = 'YES'
			break
	res.append(test)
for i in res:
	print(i)


import sys
input = sys.stdin.readline

def canWin(line: str) -> bool:
	hit_points = int(line[0])
	void_abs = int(line[1])
	lightning_str = int(line[2])
	while hit_points > 20 and void_abs > 0:
		hit_points = hit_points // 2 + 10
		void_abs -= 1
	while hit_points > 0 and lightning_str > 0:
		hit_points -= 10
		lightning_str -= 1
	if hit_points <= 0:
		return True
	else:
		return False
num_games = int(input().strip())
answers = [False] * num_games
for game in range(num_games):
	line = input().strip().split(' ')
	answers[game] = canWin(line)
for result in answers:
	if result:
		print('YES')
	else:
		print('NO')


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


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


def void_abs(hit_point):
	return

def light_strike(hit_point):
	return hit_point - 10
for i in range(int(input())):
	(x, n, m) = map(int, input().split())
	while m and x > 0:
		if x > 20 and n:
			x = x // 2 + 10
			n -= 1
		else:
			x = x - 10
			m -= 1
	print(['YES', 'NO'][x > 0])


times = int(input())
answers = []
for time in range(times):
	inputList = list(map(int, input().split()))
	life = inputList[0]
	voidHits = inputList[1]
	lightHits = inputList[2]
	while life > 0:
		if lightHits * 10 >= life:
			answers.append('YES')
			break
		if voidHits > 0:
			life = life // 2 + 10
			voidHits -= 1
		else:
			answers.append('NO')
			break
for i in range(len(answers)):
	print(answers[i])


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


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


import math
T = int(input())
while T > 0:
	(x, n, m) = map(int, input().split())
	f = 0
	while n != 0:
		if x > 20:
			x = x // 2 + 10
			n -= 1
		else:
			break
	while m != 0:
		x = x - 10
		m -= 1
	if x <= 0:
		print('YES')
	else:
		print('NO')
	T -= 1


import math
import sys
import itertools
import fractions
wtf = sys.stdin.read()
wtf = wtf.strip().split('\n')
t = int(wtf[0])
for s in wtf[1:]:
	(x, n, m) = map(int, s.split())
	if x >= 21:
		for i in range(n):
			x = x // 2 + 10
	x -= m * 10
	print('YES' if x <= 0 else 'NO')


from functools import reduce
import sys

class Read:

	@staticmethod
	def string():
		return input()

	@staticmethod
	def int():
		return int(input())

	@staticmethod
	def list(delimiter=' '):
		return input().split(delimiter)

	@staticmethod
	def list_int(delimiter=' '):
		return list(map(int, input().split(delimiter)))

def main():
	t = Read.int()
	for _ in range(t):
		(xp, n, m) = Read.list_int()
		while n > 0 and xp > 20:
			xp = xp // 2 + 10
			n -= 1
		print('YES') if xp - m * 10 <= 0 else print('NO')
main()


for _ in range(int(input())):
	l = list(map(int, input().split()))
	x = l[0]
	n = l[1]
	m = l[2]
	while x > 0:
		if m == 0 and x > 0:
			print('NO')
			break
		if x > 20 and n != 0:
			x = x // 2 + 10
			n -= 1
		elif m != 0:
			x = x - 10
			m -= 1
	if x <= 0:
		print('YES')


test = int(input())
while test:
	test -= 1
	(x, m, n) = map(int, input().split())
	while n > 0 or m > 0:
		if x <= 0:
			break
		a = int(x / 2) + 10
		b = x - 10
		if x > 20 and m > 0 or n <= 0:
			m -= 1
			x = a
		else:
			n -= 1
			x = b
	if x <= 0:
		print('YES')
	else:
		print('NO')


import sys

def data():
	return sys.stdin.readline().strip()
out = sys.stdout.write

def mdata():
	return map(int, data().split())
from collections import defaultdict as dd
for i in range(int(data())):
	(x, n, m) = mdata()
	if m == 0:
		print('NO')
		continue
	while x > 20 and n > 0:
		x = x // 2 + 10
		n -= 1
	if x // (m * 10) == 0 or x == m * 10:
		print('YES')
	else:
		print('NO')


inp = input()
for i in range(int(inp)):
	inpu = input().split(' ')
	x = inpu[0]
	n = inpu[1]
	m = inpu[2]
	if int(x) > int(m) * 10:
		for i in range(int(n)):
			x = int(x) / 2 + 10
	x = int(x) - int(m) * 10
	if int(x) <= 0:
		print('YES')
	else:
		print('NO')