import math
def find(s,num):
ans = ""
k = int(s)
for i in range(num+1):
ans += str(k)
k = abs(k-1)
return ans
for _ in range(int(input())):
zz,zo,oo = map(int,input().split())
if zo==0:
if zz!=0:
print("0"*(zz+1))
if oo!=0:
print("1"*(oo+1))
else:
if zo%2==1:
print("0"*zz+find(0,zo)+"1"*oo)
else:
ans = "1"+zz*"0"+find(0,zo-1)+"1"*oo
print(ans)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
ios::sync_with_stdio(false);
cin.tie(0);
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;
if(n2)
for(int i = 0; i < n2 + 1; i++)
cout << 1;
}
else{
if(n1 % 2 == 0){
cout << 1;
n1--;
}
for(int i = 0; i < n0; i++)
cout << 0;
for(int i = 0; i < (n1 + 1) / 2; i++)
cout << "01";
for(int i = 0; i < n2; i++)
cout << 1;
}
cout << '\n';
}
return 0;
}
34. Find First and Last Position of Element in Sorted Array | 33. Search in Rotated Sorted Array |
17. Letter Combinations of a Phone Number | 5. Longest Palindromic Substring |
3. Longest Substring Without Repeating Characters | 1312. Minimum Insertion Steps to Make a String Palindrome |
1092. Shortest Common Supersequence | 1044. Longest Duplicate Substring |
1032. Stream of Characters | 987. Vertical Order Traversal of a Binary Tree |
952. Largest Component Size by Common Factor | 212. Word Search II |
174. Dungeon Game | 127. Word Ladder |
123. Best Time to Buy and Sell Stock III | 85. Maximal Rectangle |
84. Largest Rectangle in Histogram | 60. Permutation Sequence |
42. Trapping Rain Water | 32. Longest Valid Parentheses |
Cutting a material | Bubble Sort |
Number of triangles | AND path in a binary tree |
Factorial equations | Removal of vertices |
Happy segments | Cyclic shifts |
Zoos | Build a graph |