#include <bits/stdc++.h>
#pragma GCC optimize(2)
using namespace std;
const int N = 16005, M = 7e7;
const long long inf = 0x3f3f3f3f3f3f3f3f;
const int mod = 998244353;
long long qp(long long x, long long y) {
  long long ans = 1;
  x %= mod;
  while (y) {
    if (y & 1) ans = ans * x % mod;
    x = x * x % mod;
    y >>= 1;
  }
  return ans;
}
long long inv(long long x) { return qp(x, mod - 2); }
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
int vis[N], a[N];
int main() {
  int _;
  for (scanf("%d", &_); _; _--) {
    int n0, n1, n2;
    cin >> n0 >> n1 >> n2;
    if (n1 == 0) {
      if (n0 != 0) {
        cout << string(n0 + 1, '0') << endl;
      } else {
        cout << string(n2 + 1, '1') << endl;
      }
      continue;
    }
    string ans;
    for (int i = 0; i < n1 + 1; ++i) {
      if (i & 1)
        ans += "0";
      else
        ans += "1";
    }
    ans.insert(1, string(n0, '0'));
    ans.insert(0, string(n2, '1'));
    cout << ans << endl;
  }
}
