#include <bits/stdc++.h>
using namespace std;
const int mod = 1000000007;
const int mod2 = 998244353;
const double eps = 1e-9;
const double pi = acos(-1.0);
inline int rint() {
  int x;
  scanf("%d", &x);
  return x;
}
inline long long rll() {
  long long x;
  scanf("%lld", &x);
  return x;
}
inline long long ri64() {
  long long x;
  scanf("%I64d", &x);
  return x;
}
void rvi(vector<int> &a, int n) {
  for (int i = 0; i < n; i++) {
    a.push_back(rint());
  }
}
void rvll(vector<long long> &a, int n) {
  for (int i = 0; i < n; i++) {
    a.push_back(rll());
  }
}
void showvi(vector<int> &a) {
  for (int i = 0; i < a.size(); i++) {
    printf("%d%c", a[i], (i + 1 == a.size() ? '\n' : ' '));
  }
}
void showvll(vector<long long> &a) {
  for (int i = 0; i < a.size(); i++) {
    printf("%lld%c", a[i], (i + 1 == a.size() ? '\n' : ' '));
  }
}
void showviln(vector<int> &a) {
  for (int i = 0; i < a.size(); i++) {
    printf("%d%c", a[i], '\n');
  }
}
void showvllln(vector<long long> &a) {
  for (int i = 0; i < a.size(); i++) {
    printf("%lld%c", a[i], '\n');
  }
}
void showi(int x) { printf("%d", x); }
void cfinit() {
  ios::sync_with_stdio(false);
  cin.tie(0);
}
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
long long myRand(long long B) { return (unsigned long long)rng() % B; }
int myRand(int l, int r) { return myRand(r - l + 1) + l; }
using namespace std;
int n;
int a[200022];
int main() {
  cfinit();
  int t;
  cin >> t;
  while (t--) {
    int n0, n1, n2;
    cin >> n0 >> n1 >> n2;
    if (n1 == 0) {
      if (n0)
        for (int i = 0; i < (n0 + 1); i++) cout << 0;
      else
        for (int i = 0; i < (n2 + 1); i++) cout << 1;
      cout << '\n';
      continue;
    }
    for (int i = 0; i < (n0 + 1); i++) cout << 0;
    for (int i = 0; i < (n2 + 1); i++) cout << 1;
    for (int i = 0; i < (n1 - 1); i++)
      if (i & 1)
        cout << 1;
      else
        cout << 0;
    cout << '\n';
  }
  return 0;
}
