#include <bits/stdc++.h>
#pragma GCC optimize("unroll-loops")
using namespace std;
struct About {
  int dl, n, fl;
};
int a, b, c, d, e, f, cycle, st, fin, h_max, del;
vector<vector<int> > arr1, arr;
vector<pair<int, int> > ar;
vector<int> ar1;
vector<vector<int> > tree;
vector<int> cl;
bool comp(pair<int, int> a, pair<int, int> b) {
  return (cl[a.first] < cl[b.first] ||
          cl[a.first] == cl[b.first] && cl[a.second] < cl[b.second]);
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int n;
  cin >> n;
  for (int u = 0; u < n; ++u) {
    cin >> a >> b >> c;
    vector<vector<int> > dp;
    dp.resize(b + 1);
    for (int i = 0; i <= b; ++i) dp[i].resize(c + 1, (int)1e9);
    dp[0][0] = a;
    int fl = 0;
    for (int i = 0; i <= b; ++i)
      for (int j = 0; j <= c; ++j) {
        if (dp[i][j] <= 0) fl = 1;
        if (i + 1 <= b) {
          dp[i + 1][j] = min(dp[i][j] / 2 + 10, dp[i + 1][j]);
        }
        if (j + 1 <= c) {
          dp[i][j + 1] = min(dp[i][j] - 10, dp[i][j + 1]);
        }
      }
    if (fl == 1)
      cout << "YES" << endl;
    else
      cout << "NO" << endl;
  }
}
