You are given three integers $a$, $b$ and $x$. Your task is to construct a binary string $s$ of length $n = a + b$ such that there are exactly $a$ zeroes, exactly $b$ ones and exactly $x$ indices $i$ (where $1 \le i < n$) such that $s_i \ne s_{i + 1}$. It is guaranteed that the answer always exists.

For example, for the string "01010" there are four indices $i$ such that $1 \le i < n$ and $s_i \ne s_{i + 1}$ ($i = 1, 2, 3, 4$). For the string "111001" there are two such indices $i$ ($i = 3, 5$).

Recall that binary string is a non-empty sequence of characters where each character is either 0 or 1.


-----Input-----

The first line of the input contains three integers $a$, $b$ and $x$ ($1 \le a, b \le 100, 1 \le x < a + b)$.


-----Output-----

Print only one string $s$, where $s$ is any binary string satisfying conditions described above. It is guaranteed that the answer always exists.


-----Examples-----
Input
2 2 1

Output
1100

Input
3 3 3

Output
101100

Input
5 3 6

Output
01010100



-----Note-----

All possible answers for the first example:   1100;  0011. 

All possible answers for the second example:   110100;  101100;  110010;  100110;  011001;  001101;  010011;  001011.

Difficulty: EASY
Tags: Constructive algorithms

Starter code:

Solutions:
(a, b, x) = map(int, input().split())
if x % 2 == 1:
	t = x // 2 + 1
	print('1' * (b - t) + '10' * t + '0' * (a - t))
else:
	t = x // 2
	if b > a:
		print('10' * t + '0' * (a - t) + '1' * (b - t))
	else:
		print('0' * (a - t) + '1' * (b - t) + '10' * t)


inp = lambda : map(int, input().split())
(a, b, x) = inp()
ans = ''
if a > b:
	zero = 1
else:
	zero = 0
for i in range(x - 1):
	if zero:
		ans += '0'
		a -= 1
	else:
		ans += '1'
		b -= 1
	zero = 1 - zero
if zero:
	ans += '0' * a + '1' * b
else:
	ans += '1' * b + '0' * a
print(ans)


(a, b, x) = map(int, input().split())
skel = ''
if a <= b:
	skel = '10' * (x // 2 + x % 2)
	if x % 2 == 0:
		skel += '1'
else:
	skel = '01' * (x // 2 + x % 2)
	if x % 2 == 0:
		skel += '0'
left0 = a - skel.count('0')
left1 = b - skel.count('1')
if skel[0] == '1':
	for i in range(left0):
		skel = skel[0:1] + '0' + skel[1:]
	for i in range(left1):
		skel = '1' + skel
else:
	for i in range(left1):
		skel = skel[0:1] + '1' + skel[1:]
	for i in range(left0):
		skel = '0' + skel
print(skel)


(a, b, c) = map(int, input().split())
(x, y) = ('0', '1')
if a > b:
	(x, y) = (y, x)
	(a, b) = (b, a)
res = y
b -= 1
for i in range(c - 1):
	if i % 2 == 0:
		a -= 1
		res += x
	else:
		b -= 1
		res += y
if res[-1] == x:
	(x, y) = (y, x)
	(a, b) = (b, a)
for i in range(b):
	res += y
for i in range(a):
	res += x
print(res)


(a, b, c) = map(int, input().split())
ans = ''
if a == max(a, b):
	for i in range(c + 1):
		if i % 2 != 0:
			ans = ans + '1'
			b -= 1
		elif i % 2 == 0:
			ans = ans + '0'
			a -= 1
else:
	for i in range(c + 1):
		if i % 2 != 0:
			ans = ans + '0'
			a -= 1
		elif i % 2 == 0:
			ans = ans + '1'
			b -= 1
o = ''
z = ''
for j in range(b):
	o = o + '1'
for j in range(a):
	z = z + '0'
if ans[0] == '0':
	ans = z + '0' + o + ans[1:]
else:
	ans = o + '1' + z + ans[1:]
print(ans)


import math
(a, b, x) = list(map(int, input().split()))
inc = '10'
if a > b:
	inc = '01'
result = ''
j = x // 2
result += inc * j
a -= j
b -= j
if x % 2 == 0 and b >= a or (x % 2 == 1 and a > b):
	result += '0' * a
	result += '1' * b
else:
	result += '1' * b
	result += '0' * a
print(result)


import math
(a, b, x) = list(map(int, input().split(' ')))
if a < b:
	i = 0
	n = 0
	n1 = 0
	s = ''
	while i <= x:
		s = s + '1'
		n += 1
		i += 1
		if i <= x:
			s = s + '0'
			n1 += 1
		i += 1
	for i in range(b - n):
		print('1', sep='', end='')
	print(s[0], '', end='', sep='')
	for i in range(a - n1):
		print('0', sep='', end='')
	print(s[1:], '', sep='', end='')
else:
	i = 0
	n = 0
	n1 = 0
	s = ''
	while i <= x:
		s = s + '0'
		n += 1
		i += 1
		if i <= x:
			s = s + '1'
			n1 += 1
		i += 1
	for i in range(a - n):
		print('0', sep='', end='')
	print(s[0], '', end='', sep='')
	for i in range(b - n1):
		print('1', sep='', end='')
	print(s[1:], '', sep='', end='')


(a, b, x) = map(int, input().split())
if a >= b:
	s = '0' * a
	i = 0
	while x > 1:
		s = s[:i + 1] + '1' + s[i + 1:]
		i += 2
		x -= 2
		b -= 1
		if x == 0:
			break
	if x == 1:
		s += '1' * b
	else:
		ind = s.index('1')
		s = s[:ind] + '1' * b + s[ind:]
else:
	s = '1' * b
	i = 0
	while x != 1:
		s = s[:i + 1] + '0' + s[i + 1:]
		i += 2
		x -= 2
		a -= 1
		if x == 0:
			break
	if x == 1:
		s += '0' * a
	else:
		ind = s.index('0')
		s = s[:ind] + '0' * a + s[ind:]
print(s)


from collections import defaultdict
(x, y, z) = map(int, input().split())
s = '10'
q = '1'
r = '0'
f = 0
if x > y:
	(q, r) = (r, q)
	s = '01'
	f = 1
j = 0
x -= 1
y -= 1
while z > 1:
	if j % 2 == 0:
		s += q
		if f:
			x -= 1
		else:
			y -= 1
	else:
		s += r
		if f:
			y -= 1
		else:
			x -= 1
	j += 1
	z -= 1
for i in s:
	if i == '1' and y > 0:
		print('1' * y, end='')
		y = 0
	elif i == '0' and x > 0:
		print('0' * x, end='')
		x = 0
	print(i, end='')


(a, b, x) = list(map(int, input().split()))
num0 = 0
num1 = 0
if a <= b:
	ans = '1'
	num1 += 1
	for i in range(x):
		if ans[-1] == '0':
			ans += '1'
			num1 += 1
		else:
			ans += '0'
			num0 += 1
else:
	ans = '0'
	num0 += 1
	for i in range(x):
		if ans[-1] == '0':
			ans += '1'
			num1 += 1
		else:
			ans += '0'
			num0 += 1
if a > num0:
	pos = ans.find('0')
	ans = ans[0:pos] + '0' * (a - num0) + ans[pos:]
if b > num1:
	pos = ans.find('1')
	ans = ans[0:pos] + '1' * (b - num1) + ans[pos:]
print(ans)


(a, b, x) = map(int, input().split())
A = a
B = b
ans = ''
for X in range(x):
	if A < B:
		if X % 2 == 0:
			ans += '1'
			b -= 1
		else:
			ans += '0'
			a -= 1
	if A >= B:
		if X % 2 == 1:
			ans += '1'
			b -= 1
		else:
			ans += '0'
			a -= 1
if ans[-1] == '0':
	while a > 0:
		ans += '0'
		a -= 1
	while b > 0:
		ans += '1'
		b -= 1
else:
	while b > 0:
		ans += '1'
		b -= 1
	while a > 0:
		ans += '0'
		a -= 1
print(ans)


(a, b, x) = map(int, input().split())
mn = '0' if a < b else '1'
mx = '0' if a >= b else '1'
f = False
r = mx
if mx == '0':
	a -= 1
else:
	b -= 1
for i in range(x):
	if f:
		r += mx
		if mx == '0':
			a -= 1
		else:
			b -= 1
	else:
		r += mn
		if mn == '0':
			a -= 1
		else:
			b -= 1
	f = not f
r = r.replace('0', '0' * (a + 1), 1)
r = r.replace('1', '1' * (b + 1), 1)
print(r)


from math import ceil
(a, b, c) = map(int, input().split())
s = ''
if a >= b:
	if c % 2 == 1:
		j = ceil(c / 2)
		for n in range(j):
			s += '01'
			a -= 1
			b -= 1
		s1 = ''
		for n in range(a):
			s1 += '0'
		s = s1 + s
		for n in range(b):
			s += '1'
	else:
		j = c // 2
		for n in range(j):
			s += '01'
			a -= 1
			b -= 1
		s1 = ''
		for n in range(b):
			s += '1'
		for n in range(a):
			s += '0'
elif c % 2 == 1:
	j = ceil(c / 2)
	for n in range(j):
		s += '10'
		a -= 1
		b -= 1
	s1 = ''
	for n in range(b):
		s1 += '1'
	s = s1 + s
	for n in range(a):
		s += '0'
else:
	j = c // 2
	for n in range(j):
		s += '10'
		a -= 1
		b -= 1
	for n in range(a):
		s += '0'
	for n in range(b):
		s += '1'
print(s)


(a, b, x) = list(map(int, input().split()))
if a > b:
	ans = '0'
	a -= 1
	z = 0
else:
	ans = '1'
	z = 1
	b -= 1
for i in range(x):
	if (i + z) % 2:
		ans += '0'
		a -= 1
	else:
		ans += '1'
		b -= 1
ans = ans.replace('0', '0' * (a + 1), 1)
ans = ans.replace('1', '1' * (b + 1), 1)
print(ans)


def binary_string(a, b, x):
	s1 = '01'
	s2 = '10'
	if x % 2 == 0 and a > b:
		return s1 * (x // 2) + '1' * (b - x // 2) + '0' * (a - x // 2)
	elif x % 2 == 0 and a <= b:
		return s2 * (x // 2) + '0' * (a - x // 2) + '1' * (b - x // 2)
	elif x % 2 != 0 and a > b:
		return s1 * (x // 2) + '0' * (a - x // 2) + '1' * (b - x // 2)
	elif x % 2 != 0 and a <= b:
		return s2 * (x // 2) + '1' * (b - x // 2) + '0' * (a - x // 2)
(A, B, X) = [int(j) for j in input().split()]
print(binary_string(A, B, X))


T = input().split(' ')
(a, b, x) = (int(T[0]), int(T[1]), int(T[2]))
t = ''
c = (x - 1) // 2
d = (x - 1) // 2 + (x - 1) % 2
if a > b:
	(c, d) = (d, c)
t = t + '0' * (a - c) + '1' * (b - d)
t = t + '01' * ((x - 1) // 2)
if (x - 1) % 2 == 1:
	if a > b:
		t = t + '0'
	else:
		t = '1' + t
print(t)


x = [int(i) for i in input().split()]
a = x[0]
b = x[1]
x = x[2]
t = '0'
s = '1'
y = x
a1 = a
b1 = b - 1
for i in range(1, a + b):
	if y > 1:
		if s[i - 1] == '0':
			s += '1'
			b1 -= 1
		else:
			s += '0'
			a1 -= 1
		y -= 1
	elif s[i - 1] == '0' and a1 > 0:
		s += '0'
		a1 -= 1
	elif s[i - 1] == '1' and b1 > 0:
		s += '1'
		b1 -= 1
	elif a1 > 0:
		s += '0'
		a1 -= 1
	elif b1 > 0:
		s += '1'
		b1 -= 1
count = 0
for i in range(1, a + b):
	if s[i] != s[i - 1]:
		count += 1
if count == x:
	print(s)
else:
	print(s[-1] + s[:a + b - 1])


inp = list(map(int, input().split()))
x = inp[2]
zero = inp[0]
one = inp[1]
if one > zero:
	count = 0
	a = 1
	while count < x - 1:
		print(a, end='')
		if a == 1:
			a = 0
			one = one - 1
		elif a == 0:
			a = 1
			zero = zero - 1
		count += 1
	if a == 1:
		for i in range(0, one):
			print(1, end='')
		for i in range(0, zero):
			print(0, end='')
	elif a == 0:
		for i in range(0, zero):
			print(0, end='')
		for i in range(0, one):
			print(1, end='')
else:
	count = 0
	a = 0
	while count < x - 1:
		print(a, end='')
		if a == 1:
			a = 0
			one = one - 1
		elif a == 0:
			a = 1
			zero = zero - 1
		count += 1
	if a == 1:
		for i in range(0, one):
			print(1, end='')
		for i in range(0, zero):
			print(0, end='')
	elif a == 0:
		for i in range(0, zero):
			print(0, end='')
		for i in range(0, one):
			print(1, end='')


(a, b, x) = map(int, input().split())
if x % 2 == 0:
	q = x // 2
else:
	q = x // 2 + 1
s1 = ''
s1 += '01' * (x // 2)
if x == 1:
	s1 = '0' * a + s1 + '1' * b
elif x % 2 == 0:
	if b > x // 2 and a > x // 2:
		s1 += '1' * (b - x // 2) + '0' * (a - x // 2)
	elif b > x // 2 and a <= x // 2:
		s1 = '1' * (b - x // 2) + s1
	else:
		s1 += '0' * (a - x // 2)
elif x % 2 == 1:
	s1 = '1' * (b - x // 2) + s1 + '0' * (a - x // 2)
print(s1)


(z, o, x) = map(int, input().split())
s1 = ''
s2 = ''
s4 = '0'
s5 = '1'
if z > o:
	s3 = '0'
	z -= 1
else:
	s3 = '1'
	o -= 1
for i in range(x - 1):
	if s3[len(s3) - 1] == '0':
		s3 += '1'
		o -= 1
	else:
		s3 += '0'
		z -= 1
if s3[len(s3) - 1] == '0':
	s3 += s4 * z
	s3 += s5 * o
else:
	s3 += s5 * o
	s3 += s4 * z
print(s3)


(a, b, x) = map(int, input().split())
mn = '0'
mncnt = a
mx = '1'
mxcnt = b
res = ''
if a > b:
	(mn, mx) = (mx, mn)
	mncnt = b
	mxcnt = a
if x % 2 == 0:
	res += (mx + mn) * (x // 2)
	res += mn * (mncnt - x // 2)
	res += mx * (mxcnt - x // 2)
else:
	res += (mx + mn) * (x // 2)
	res += mx * (mxcnt - x // 2)
	res += mn * (mncnt - x // 2)
print(res)


while True:
	try:
		(a, b, x) = map(int, input().split())
	except:
		break
	if x % 2 == 1:
		t = x // 2 + 1
		print('1' * (b - t) + '10' * t + '0' * (a - t))
	else:
		t = x // 2
		if b > a:
			print('10' * t + '0' * (a - t) + '1' * (b - t))
		else:
			print('0' * (a - t) + '1' * (b - t) + '10' * t)


vars = input()
vars = vars.split(' ')
a = int(vars[0])
b = int(vars[1])
x = int(vars[2])
ans = '01'
x -= 1
a -= 1
b -= 1
while a > 0 and b > 0 and (x > 1):
	ans += '01'
	x -= 2
	a -= 1
	b -= 1
if x == 1:
	if a == 0:
		while b != 0:
			ans = '1' + ans
			b -= 1
	elif b == 0:
		while a != 0:
			ans = ans + '0'
			a -= 1
	else:
		while b != 0:
			ans = ans + '1'
			b -= 1
		ans = ans + '0'
		a -= 1
		while a != 0:
			ans = '0' + ans
			a -= 1
else:
	while a != 0:
		ans = '0' + ans
		a -= 1
	while b != 0:
		ans = ans + '1'
		b -= 1
print(ans)


(a, b, x) = map(int, input().split())
s = '01' * (x // 2)
rest = x - (x // 2 * 2 - 1)
if rest == 1:
	s = '0' * (a - x // 2) + s
elif rest == 2:
	s = s + '0' * (a - x // 2)
res = b - x // 2
if res == 0:
	s = s[1:] + s[0]
else:
	s = '1' * (b - x // 2) + s
print(s)


def f(a, b, x):
	if x == 1:
		return a * '0' + b * '1'
	if x == 2:
		return '0' + b * '1' + (a - 1) * '0'
	if x % 2 == 1:
		return '01' * int(x / 2) + '0' * (a - int(x / 2)) + '1' * (b - int(x / 2))
	return '01' * int(x / 2) + '1' * (b - int(x / 2)) + '0' * (a - int(x / 2))
[a, b, x] = map(int, input().strip().split())
if a < b:
	ansa = f(b, a, x)
	ansb = ''.join([str(1 - int(i)) for i in ansa])
	print(ansb)
else:
	print(f(a, b, x))


(a, b, x) = map(int, input().split())
if (x + 1) % 2 == 0:
	c = (x + 1) // 2
	s = '01' * (c - 1) + '0' * (a - (c - 1)) + '1' * (b - (c - 1))
else:
	c = x // 2
	if a >= b:
		s = '01' * (c - 1) + '0' + '1' * (b - (c - 1)) + '0' * (a - c)
	else:
		s = '10' * (c - 1) + '1' + '0' * (a - (c - 1)) + '1' * (b - c)
print(s)


(b, a, x) = map(int, input().split())
s = ''
if x == 0:
	if a == 0:
		for i in range(b):
			s += '0'
	else:
		for i in range(b):
			s += '0'
else:
	s = '10'
	s1 = ''
	a -= 1
	b -= 1
	for i in range(1, x):
		if s[len(s) - 1] == '0':
			if a == 0:
				s = '0' + s
				b -= 1
			else:
				s += '1'
				a -= 1
		else:
			s += '0'
			b -= 1
	if s[0] == '0':
		s1 += s[0]
		for i in range(a):
			s1 += '1'
		c = 1
	else:
		c = 0
		for i in range(a):
			s1 += '1'
	if s[len(s) - 1] == '1':
		s1 += s[c:len(s) - 1]
		for i in range(b):
			s1 += '0'
		s1 += '1'
	else:
		s1 += s[c:]
		for i in range(b):
			s1 += '0'
print(s1)


(a, b, x) = map(int, input().split())
if x % 2 == 0:
	if a > b:
		print('01' * (x // 2), end='')
		print('1' * (b - x // 2), end='')
		print('0' * (a - x // 2), end='')
	elif a <= b:
		print('10' * (x // 2), end='')
		print('0' * (a - x // 2), end='')
		print('1' * (b - x // 2), end='')
elif a > b:
	print('01' * (x // 2), end='')
	print('0' * (a - x // 2), end='')
	print('1' * (b - x // 2), end='')
elif a <= b:
	print('10' * (x // 2), end='')
	print('1' * (b - x // 2), end='')
	print('0' * (a - x // 2), end='')


(a, b, x) = input().split()
a = int(a)
b = int(b)
x = int(x)
flag = 0
if b > a:
	ans = '1'
	flag = 1
	for q in range(x):
		if q % 2 == 0:
			ans = ans + '0'
		else:
			ans = ans + '1'
else:
	ans = '0'
	for q in range(x):
		if q % 2 == 0:
			ans = ans + '1'
		else:
			ans = ans + '0'
a = a - ans.count('0')
b = b - ans.count('1')
s1 = ''
s2 = ''
for i in range(a):
	s1 = s1 + '0'
for i in range(b):
	s2 = s2 + '1'
if flag == 0:
	ans = ans[0] + s2 + ans[1:]
	ans = s1 + ans
else:
	ans = ans[0] + s1 + ans[1:]
	ans = s2 + ans
print(ans)


(a, b, x) = [int(el) for el in input().split()]
if x % 2 == 0:
	if a > b:
		print('01' * (x // 2) + '1' * (b - x // 2) + '0' * (a - x // 2))
	else:
		print('10' * (x // 2) + '0' * (a - x // 2) + '1' * (b - x // 2))
else:
	print('0' * (a - x // 2 - 1) + '01' * (x // 2 + 1) + '1' * (b - x // 2 - 1))


(a, b, x) = map(int, input().split())
b_str = ''
flag = 0
if a > b:
	b_str = b_str + '0'
	a = a - 1
	flag = 0
else:
	b_str = b_str + '1'
	b = b - 1
	flag = 1
sum1 = a + b
while sum1 != 0:
	if x > 1 and flag == 1:
		b_str = b_str + '0'
		a = a - 1
		x = x - 1
		flag = 0
	elif x > 1 and flag == 0:
		b_str = b_str + '1'
		b = b - 1
		x = x - 1
		flag = 1
	elif x == 1 and a >= 0 and (b >= 0):
		if flag == 0:
			if a == 0:
				flag = 1
			else:
				b_str = b_str + '0'
				a = a - 1
		elif flag == 1:
			if b == 0:
				flag = 0
			else:
				b_str = b_str + '1'
				b = b - 1
	sum1 = a + b
print(b_str)


(a, b, x) = map(int, input().split(' '))
hug = ''
if a > b:
	n = 0
	m = 1
else:
	n = 1
	m = 0
n = str(n)
m = str(m)
for i in range(x):
	if i % 2 == 0:
		hug = hug + n
	else:
		hug = hug + m
l = hug.count('1')
o = hug.count('0')
if hug[x - 1] == '1':
	for i in range(b - l):
		hug = hug + '1'
	for i in range(a - o):
		hug = hug + '0'
else:
	for i in range(a - o):
		hug = hug + '0'
	for i in range(b - l):
		hug = hug + '1'
print(hug)


import sys
lines = [line.strip() for line in sys.stdin.readlines()]
(a, b, x) = map(int, lines[0].split(' '))
b_s = ''
tick = False if a > b else True
for i in range(x + 1):
	b_s += str(int(tick))
	if tick:
		b -= 1
	else:
		a -= 1
	tick = not tick
b_s = b_s.replace('1', '1' * (b + 1), 1)
b_s = b_s.replace('0', '0' * (a + 1), 1)
print(b_s)


(a, b, x) = [int(x) for x in input().split()]
s = ''
flag = 0
if a < b:
	flag = 1
while x != 1:
	if not flag:
		s += str('0')
		a -= 1
		flag = 1
	else:
		s += str('1')
		b -= 1
		flag = 0
	x -= 1
if not flag:
	while a:
		s += '0'
		a -= 1
	while b:
		s += '1'
		b -= 1
else:
	while b:
		s += '1'
		b -= 1
	while a:
		s += '0'
		a -= 1
print(s)


import sys, os
from math import sqrt, gcd, ceil, log, floor, sin, pi
from math import factorial as fact
from bisect import bisect, bisect_left
from collections import defaultdict, Counter, deque
from heapq import heapify, heappush, heappop
from itertools import permutations
input = sys.stdin.readline
read = lambda : list(map(int, input().strip().split()))
MOD = 10 ** 9 + 7

def main():
	(a, b, x) = read()
	if a >= b:
		pat = '01'
	else:
		pat = '10'
	ans = (pat * (x // 2 + 1))[:x + 1]
	(x, y) = (a - ans.count('0') + 1, b - ans.count('1') + 1)
	ans = list(ans)
	ans[ans.index('0')] = '0' * x
	ans[ans.index('1')] = '1' * y
	ans = ''.join(ans)
	print(ans)
main()


import sys

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

def dead():
	print('-1')
	sys.exit()
debug = 0
if debug:
	f = open('input.txt', 'r')
	input = f.readline

def p(T, d):
	if not T:
		for i in d:
			if i == 0:
				print(1, end='')
			else:
				print(0, end='')
	else:
		print(*d, sep='')

def _main():
	(a, b, x) = mp()
	if x == 0 or x == 1:
		print(*[0] * a + [1] * b, sep='')
		return
	T = 1
	if b > a:
		T = 0
		(a, b) = (b, a)
	n = a + b
	d = [0]
	a -= 1
	while x > 0:
		if d[-1] == 0 and b > 0:
			x -= 1
			b -= 1
			d.append(1)
		elif a > 0:
			x -= 1
			a -= 1
			d.append(0)
		else:
			break
	if len(d) == n:
		p(T, d)
		return
	if x == 0:
		while a:
			a -= 1
			d.insert(0, 0)
		while b:
			b -= 1
			d.insert(d.index(1), 1)
		p(T, d)
	else:
		d[0] = 1
		d[1] = 0
		while a:
			a -= 1
			d.insert(d.index(0), 0)
		while b:
			b -= 1
			d.insert(0, 1)
		p(T, d)
_main()


from __future__ import print_function
import sys
import math
import os.path
import random
from copy import deepcopy
from functools import reduce
from collections import Counter, ChainMap, defaultdict
from itertools import cycle, chain
from queue import Queue, PriorityQueue
from heapq import heappush, heappop, heappushpop, heapify, heapreplace, nlargest, nsmallest
import bisect
from statistics import mean, mode, median, median_low, median_high
sys.setrecursionlimit(10 ** 9)

def log(*args, **kwargs):
	print(*args, file=sys.stderr, **kwargs)

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

def nio(offset):
	return map(lambda x: int(x) + offset, input().split())

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

def toString(aList, sep=' '):
	return sep.join((str(x) for x in aList))

def toMapInvertIndex(aList):
	return {k: v for (v, k) in enumerate(aList)}

def sortId(arr):
	return sorted(range(arr), key=lambda k: arr[k])
(a, b, x) = ni()
s = ''
ch = 1 if a < b else 0
for i in range(x + 1):
	s += str(ch)
	ch = 1 - ch
c = Counter(s)
need = [a, b]
for i in range(2):
	ch = str(i)
	idi = s.find(ch)
	if idi != -1:
		s = s[:idi] + ch * (need[i] - c[ch]) + s[idi:]
print(s)


def f(a, b, x):
	s = []
	if x % 2 == 0:
		if a >= b:
			while x > 0:
				s.append(0)
				s.append(1)
				x -= 2
				a -= 1
				b -= 1
			while b > 0:
				s.append(1)
				b -= 1
			while a > 0:
				s.append(0)
				a -= 1
		if b > a:
			while x > 0:
				s.append(1)
				s.append(0)
				x -= 2
				a -= 1
				b -= 1
			while a > 0:
				s.append(0)
				a -= 1
			while b > 0:
				s.append(1)
				b -= 1
	else:
		if a >= b:
			while x > 1:
				s.append(0)
				s.append(1)
				x -= 2
				a -= 1
				b -= 1
			while a > 0:
				s.append(0)
				a -= 1
			while b > 0:
				s.append(1)
				b -= 1
		if b > a:
			while x > 1:
				s.append(1)
				s.append(0)
				x -= 2
				a -= 1
				b -= 1
			while b > 0:
				s.append(1)
				b -= 1
			while a > 0:
				s.append(0)
				a -= 1
	return ''.join((str(x) for x in s))
(a, b, x) = [int(i) for i in input().split()]
print(f(a, b, x))


(b, a, x) = list(map(int, input().split(' ')))

def rec(a, b, x, chars):
	if a < 0 or b < 0 or x < 0:
		return False
	if a == 0 and b == 0 and (x == 0):
		print(chars)
		return True
	if x > 1:
		if chars[-1] == '1':
			return rec(a, b - 1, x - 1, chars + '0')
		else:
			return rec(a - 1, b, x - 1, chars + '1')
	if x == 1:
		if chars[-1] == '1':
			if a > 0:
				return rec(a - 1, b, x, chars + '1')
			elif b > 0:
				return rec(a, b - 1, x - 1, chars + '0')
			else:
				return False
		elif b > 0:
			return rec(a, b - 1, x, chars + '0')
		elif a > 0:
			return rec(a - 1, b, x - 1, chars + '1')
		else:
			return False
	if x == 0:
		if chars[-1] == '1' and b == 0:
			return rec(a - 1, b, x, chars + '1')
		elif chars[-1] == '0' and a == 0:
			return rec(a, b - 1, x, chars + '0')
	return False
if rec(a - 1, b, x, '1') or rec(a, b - 1, x, '0'):
	pass


import math
(a, b, x) = map(int, input().split())
s = ''
if x % 2 == 0:
	if a > b:
		s = s + '01' * int(x / 2) + '1' * int(b - x / 2) + '0' * int(a - x / 2)
	else:
		s = s + '10' * int(x / 2) + '0' * int(a - x / 2) + '1' * int(b - x / 2)
elif a > b:
	s = s + '01' * math.floor(x / 2) + '0' * (a - math.floor(x / 2)) + '1' * (b - math.floor(x / 2))
else:
	s = s + '10' * math.floor(x / 2) + '1' * (b - math.floor(x / 2)) + '0' * (a - math.floor(x / 2))
print(s)


def mi():
	return map(int, input().split())
(a, b, x) = mi()
s = ''
for i in range(x + 1):
	s += str(i % 2)
s = list(s)
if s.count('0') > a or s.count('1') > b:
	s = ''
	for i in range(x + 1):
		s += str((i + 1) % 2)
s = list(s)
a -= s.count('0')
b -= s.count('1')
if a > 0:
	i = s.index('0')
	for j in range(a):
		s.insert(i, '0')
if b > 0:
	i = s.index('1')
	for j in range(b):
		s.insert(i, '1')
print(''.join(s))


import sys

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

def iinput():
	return int(input())

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

def get_list():
	return list(map(int, sys.stdin.readline().strip().split()))
(a, b, x) = rinput()
if x % 2 == 0 and a < b:
	for i in range(x // 2):
		print('10', end='')
	for i in range(a - x // 2):
		print('0', end='')
	for i in range(b - x // 2):
		print('1', end='')
elif x % 2 == 0 and a >= b:
	for i in range(x // 2):
		print('01', end='')
	for i in range(b - x // 2):
		print('1', end='')
	for i in range(a - x // 2):
		print('0', end='')
elif x % 2 != 0 and a > b:
	for i in range(x // 2):
		print('01', end='')
	for i in range(a - x // 2):
		print('0', end='')
	for i in range(b - x // 2):
		print('1', end='')
elif x % 2 != 0 and a <= b:
	for i in range(x // 2):
		print('10', end='')
	for i in range(b - x // 2):
		print('1', end='')
	for i in range(a - x // 2):
		print('0', end='')


(a, b, x) = map(int, input().split())
ans = ''
if a > b:
	ans += '01' * int(x / 2)
	if x % 2 == 0:
		ans += '1' * (b - int(x / 2))
		ans += '0' * (a - int(x / 2))
	else:
		ans += '0' * (a - int(x / 2))
		ans += '1' * (b - int(x / 2))
else:
	ans += '10' * int(x / 2)
	if x % 2 != 0:
		ans += '1' * (b - int(x / 2))
		ans += '0' * (a - int(x / 2))
	else:
		ans += '0' * (a - int(x / 2))
		ans += '1' * (b - int(x / 2))
print(ans)


(a, b, c) = map(int, input().split())
(a, b) = (b, a)
c -= 1
k = 0
ans = ' '
if a >= b:
	ans += '1'
	a -= 1
	k = 1
else:
	ans += '0'
	b -= 1
while c:
	if k == 0:
		ans += '1'
		a -= 1
	else:
		ans += '0'
		b -= 1
	c -= 1
	k ^= 1
if ans[-1] == '1':
	ans += '1' * a + '0' * b
else:
	ans += '0' * b + '1' * a
print(ans[1:])


(a, b, x) = map(int, input().split())
n1 = x % 2
n2 = x // 2
if n1 == 1 and a >= b:
	print('01' * n2 + '0' * (a - n2) + '1' * (b - n2))
elif n1 == 1 and a < b:
	print('10' * n2 + '1' * (b - n2) + '0' * (a - n2))
elif n1 == 0 and a >= b:
	print('01' * n2 + '1' * (b - n2) + '0' * (a - n2))
elif n1 == 0 and a < b:
	print('10' * n2 + '0' * (a - n2) + '1' * (b - n2))


(a, b, x) = [int(i) for i in input().strip().split()]
if a >= b:
	lol = [0] * a
	for i in range(b):
		lol.append(1)
	flag = False
	left = 0
	for i in range(x - 1):
		if flag is False:
			lol = lol[:left + 1] + lol[left + a:] + lol[left + 1:left + a]
			a -= 1
			b -= 1
			flag = True
		else:
			lol = lol[:left + 1] + lol[left + b + 1:] + lol[left + 1:left + b + 1]
			flag = False
		left += 1
else:
	lol = [1] * b
	for i in range(a):
		lol.append(0)
	flag = False
	left = 0
	for i in range(x - 1):
		if flag is False:
			lol = lol[:left + 1] + lol[left + b:] + lol[left + 1:left + b]
			a -= 1
			b -= 1
			flag = True
		else:
			lol = lol[:left + 1] + lol[left + a + 1:] + lol[left + 1:left + a + 1]
			flag = False
		left += 1
print(''.join([str(i) for i in lol]))


from collections import Counter
import sys
sys.setrecursionlimit(500)

def A():
	N = int(input())
	c = Counter(input().split())
	print(c.most_common(1)[0][1])
visited = set()
solved = 0
sol = ''
cur = ['']

def solve_B(a, b, x):
	global visited
	global solved
	global sol
	global cur
	if (a, b, x, cur[-1]) in visited or solved == 1 or min(a, b, x) < 0 or (x > a + b):
		cur.pop()
		return
	visited.add((a, b, x, cur[-1]))
	if a + b + x == 0:
		solved = 1
		sol = cur.copy()
		cur.pop()
		return
	cur.append('0')
	solve_B(a - 1, b, x if len(cur) == 2 or cur[-2] == '0' else x - 1)
	cur.append('1')
	solve_B(a, b - 1, x if len(cur) == 2 or cur[-2] == '1' else x - 1)
	cur.pop()

def B():
	(A, B, X) = map(int, input().split())
	solve_B(A, B, X)
	print(''.join(sol))

def C():
	pass

def D():
	pass

def E():
	pass
B()


import sys
import os
from io import IOBase, BytesIO

def main():
	(a, b, x) = get_ints()
	f = 1
	if x & 1:
		f = 0
	if f == 0:
		s = '0'
		a -= 1
		while x > 0:
			if b == 0:
				break
			s += '1'
			b -= 1
			x -= 1
			if x > 0:
				if a == 0:
					break
				s += '0'
				a -= 1
				x -= 1
		zero = '0' * a
		one = '1' * b
		print(zero + s + one)
	elif a >= b:
		s = '0'
		a -= 1
		while x > 0:
			if b == 0:
				break
			s += '1'
			b -= 1
			x -= 1
			if x > 0:
				if a == 0:
					break
				s += '0'
				a -= 1
				x -= 1
		l = list(s)
		l.pop()
		zero = '0' * a
		one = '1' * b
		tmp = ''
		for i in l:
			tmp += i
		print(zero + tmp + one + '0')
	else:
		s = '1'
		b -= 1
		while x > 0:
			if a == 0:
				break
			s += '0'
			a -= 1
			x -= 1
			if x > 0:
				if b == 0:
					break
				s += '1'
				b -= 1
				x -= 1
		l = list(s)
		l.pop()
		zero = '0' * a
		one = '1' * b
		tmp = ''
		for i in l:
			tmp += i
		print(one + tmp + zero + '1')
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):
		py2 = round(0.5)
		self.buffer = FastIO(file)
		self.flush = self.buffer.flush
		self.writable = self.buffer.writable
		if py2 == 1:
			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))

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

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

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


(a, b, x) = map(int, input().split())
s = ''
if a < b:
	o = lambda i: i % 2
else:
	o = lambda i: 1 - i % 2
for i in range(x):
	if o(i):
		s += '0'
		a -= 1
	else:
		s += '1'
		b -= 1
if s[-1] == '0':
	for _ in range(a):
		s += '0'
	for _ in range(b):
		s += '1'
else:
	for _ in range(b):
		s += '1'
	for _ in range(a):
		s += '0'
print(s)


I = lambda : int(input())
ID = lambda : map(int, input().split())
IL = lambda : list(ID())
(a, b, x) = ID()
s = ''
for i in range(0, (x + 1) // 2):
	s += '01'
	a -= 1
	b -= 1
if x & 1:
	s = '0' * a + s + '1' * b
elif a > 0:
	s += '1' * b + '0' * a
else:
	s = '1' * b + '0' * a + s
print(s)


l = input().split()
(a, b, x) = map(int, l)
in_hand = x - 2
if b > a:
	ans = '1'
	one = 1
	zero = 0
	for i in range(in_hand):
		if i % 2 == 1:
			ans += '1'
			one += 1
		else:
			ans += '0'
			zero += 1
	if in_hand % 2 == 0:
		ans += '0' * (a - zero) + '1' * (b - one)
	else:
		ans += '1' * (b - one) + '0' * (a - zero)
else:
	ans = '0'
	one = 0
	zero = 1
	for i in range(in_hand):
		if i % 2 == 0:
			ans += '1'
			one += 1
		else:
			ans += '0'
			zero += 1
	if in_hand % 2 == 1:
		ans += '0' * (a - zero) + '1' * (b - one)
	else:
		ans += '1' * (b - one) + '0' * (a - zero)
print(ans)


(a, b, x) = [int(s) for s in input().split(' ')]
outputString = ''
length = a + b
while length > len(outputString):
	if len(outputString) == 0:
		if a > b:
			a -= 1
			x -= 1
			outputString += '0'
		else:
			b -= 1
			x -= 1
			outputString += '1'
	while x > 0:
		if outputString[len(outputString) - 1] == '0':
			outputString += '1'
			b -= 1
			x -= 1
		else:
			outputString += '0'
			a -= 1
			x -= 1
	if outputString[len(outputString) - 1] == '0':
		while a > 0:
			outputString += '0'
			a -= 1
		while b > 0:
			outputString += '1'
			b -= 1
	else:
		while b > 0:
			outputString += '1'
			b -= 1
		while a > 0:
			outputString += '0'
			a -= 1
print(outputString)


(a, b, x) = [int(i) for i in input().split()]
ans = [1, 0]
a -= 1
b -= 1
x -= 1
flag = 0
if x % 2 == 0:
	tmp = x // 2
	ans = ans + [1, 0] * tmp
	a -= tmp
	b -= tmp
	ans = [1] * b + ans + [0] * a
else:
	tmp = x // 2
	ans = ans + [1, 0] * tmp
	a -= tmp
	b -= tmp
	if b > 0:
		ans = ans + [0] * a + [1] * b
	else:
		ans = [0] * a + [1] * b + ans
for i in range(len(ans)):
	print(ans[i], end='')


(a, b, x) = [*map(int, input().split())]
ans = ''
(j, c, d) = (0, 0, 0)
for i in range(x - 1):
	j ^= 1
	k = j ^ 1 if a >= b else j
	ans = str(k) + ans
	if k == 0:
		c += 1
	if k == 1:
		d += 1
if x == 1:
	ans = '0' * a + '1' * b
elif ans[-1] == '0':
	ans += '1' * (b - d) + '0' * (a - c)
else:
	ans += '0' * (a - c) + '1' * (b - d)
print(ans)


(a, b, x) = map(int, input().split())
c = []
m = a
n = b
for i in range(x):
	if n > m:
		if i % 2 == 0:
			c.append('1')
			b -= 1
		else:
			c.append('0')
			a -= 1
	elif i % 2 == 0:
		c.append('0')
		a -= 1
	else:
		c.append('1')
		b -= 1
if c[-1] == '0':
	for i in range(a):
		c.append('0')
	for i in range(b):
		c.append('1')
else:
	for i in range(b):
		c.append('1')
	for i in range(a):
		c.append('0')
print(''.join(c))


(*a, x) = map(int, input().split())
x += 1
y = x // 2
c = 2
if x % 2:
	c = a[0] < a[1]
	a[c] -= 1
s = '0' * (a[0] - y) + '01' * y + '1' * (a[1] - y)
print((s + '0', '1' + s, s)[c])


from sys import stdin, stdout

def main():
	(a, b, x) = [int(i) for i in stdin.readline().split()]
	arr = [''] * (x + 1)
	a_char = '0'
	b_char = '1'
	if b > a:
		(a, b) = (b, a)
		(a_char, b_char) = (b_char, a_char)
	for i in range(x + 1):
		if i >= x - 1:
			if i % 2 == 0:
				arr[i] = a_char * a
			else:
				arr[i] = b_char * b
		elif i % 2 == 0:
			arr[i] = a_char
			a -= 1
		else:
			arr[i] = b_char
			b -= 1
	stdout.write(''.join(arr) + '\n')
main()


from itertools import accumulate
import os
import sys
from io import BytesIO, IOBase
import math
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')
(a, b, x) = map(int, input().split())
if x == 1:
	ans = ''
	for i in range(a):
		ans += '0'
	for i in range(b):
		ans += '1'
	print(ans)
else:
	ans = ''
	x = x - 1
	if a >= b:
		ans = '0'
		count = x
		a -= 1
		c = 0
		while count > 0:
			if c % 2 == 0:
				ans += '1'
				b -= 1
				count -= 1
				c = 1
			else:
				ans += '0'
				count -= 1
				a -= 1
				c = 0
		if ans[-1] == '0':
			for i in range(a):
				ans += '0'
			for i in range(b):
				ans += '1'
		else:
			for i in range(b):
				ans += '1'
			for i in range(a):
				ans += '0'
		print(ans)
	else:
		ans = '1'
		count = x
		b -= 1
		c = 0
		while count > 0:
			if c % 2 == 0:
				ans += '0'
				a -= 1
				count -= 1
				c = 1
			else:
				ans += '1'
				count -= 1
				b -= 1
				c = 0
		if ans[-1] == '0':
			for i in range(a):
				ans += '0'
			for i in range(b):
				ans += '1'
		else:
			for i in range(b):
				ans += '1'
			for i in range(a):
				ans += '0'
		print(ans)


import sys
import math
import collections

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

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

def get_string():
	return sys.stdin.readline().strip()
import string
for t in range(1):
	(a, b, x) = get_ints()
	s = ''
	if x & 1 == 0:
		if a > b:
			s += '01' * (x // 2)
			s += '1' * (b - x // 2)
			s += '0' * (a - x // 2)
		else:
			s += '10' * (x // 2)
			s += '0' * (a - x // 2)
			s += '1' * (b - x // 2)
	elif a > b:
		s += '01' * (x // 2)
		s += '0' * (a - x // 2)
		s += '1' * (b - x // 2)
	else:
		s += '10' * (x // 2)
		s += '1' * (b - x // 2)
		s += '0' * (a - x // 2)
	print(s)


(a, b, x) = map(int, input().split())
if a > b:
	s = ['0']
	a -= 1
else:
	s = ['1']
	b -= 1
for i in range(x):
	if s[i] == '1':
		s.append('0')
		a -= 1
	else:
		s.append('1')
		b -= 1
if a > 0:
	s.insert(s.index('0'), '0' * a)
if b > 0:
	s.insert(s.index('1'), '1' * b)
print(''.join(s))


(a, b, x) = map(int, input().split())
s = ''
if a >= b:
	c = 0
else:
	c = 1
while x > 1:
	s += str(c)
	if c == 0:
		a -= 1
	else:
		b -= 1
	c = 1 - c
	x -= 1
if c == 0:
	s += a * '0' + b * '1'
else:
	s += b * '1' + a * '0'
print(s)


(a, b, x) = map(int, input().split())
n = [a, b]
f = n.index(max(n))
for i in range(x - 1):
	n[f] -= 1
	print(f, end='')
	f = 1 - f
print(str(f) * n[f], end='')
print(str(1 - f) * n[1 - f], end='')
print()


(a, b, x) = list(map(int, input().split()))
s = ''
if a > b:
	byte = 0
else:
	byte = 1
for i in range(x + 1):
	s += str(byte)
	if byte == 0:
		a -= 1
	else:
		b -= 1
	byte += 1
	byte %= 2
if s[0] == '1':
	s = '1' * (b + 1) + '0' * a + s[1:]
else:
	s = '0' * (a + 1) + '1' * b + s[1:]
print(s)


inp = list(map(int, input().split()))
a = inp[0]
b = inp[1]
x = inp[2]
ans = ''
if b > a:
	ans += '1'
	b -= 1
else:
	ans += '0'
	a -= 1
count = 2
while x != 1:
	if count % 2 == 0:
		if ans[0] == '1':
			ans += '0'
			x -= 1
			a -= 1
		else:
			ans += '1'
			x -= 1
			b -= 1
	elif ans[0] == '1':
		ans += '1'
		x -= 1
		b -= 1
	else:
		ans += '0'
		x -= 1
		a -= 1
	count += 1
if ans[len(ans) - 1] == '0':
	for i in range(a):
		ans += '0'
	for i in range(b):
		ans += '1'
else:
	for i in range(b):
		ans += '1'
	for i in range(a):
		ans += '0'
print(ans)


alist = list(map(int, input().split()))
(a, b, x) = (alist[0], alist[1], alist[2])

def probin(x, temp):
	string = ''
	for i in range(x + 1):
		string += str(temp)
		temp = abs(temp - 1)
	return string
if x % 2 != 0:
	a -= (x + 1) / 2
	b -= (x + 1) / 2
	if a >= 0 and b >= 0:
		string = probin(x, 1)
		string = '1' * int(b) + string
		string = string + '0' * int(a)
	else:
		string = probin(x, 0)
		string = string + '1' * int(b)
		string = '0' * int(a) + string
else:
	a1 = a - x / 2
	b1 = b - (x + 2) / 2
	if a1 >= 0 and b1 >= 0:
		string = probin(x, 1)
		string = '1' * int(b1) + string
		string = string[:-1] + '0' * int(a1) + '1'
	else:
		string = probin(x, 0)
		a2 = a - (x + 2) / 2
		b2 = b - x / 2
		string = string[:-1] + '1' * int(b2) + '0'
		string = '0' * int(a2) + string
print(string)


(a, b, x) = [int(x) for x in input().split()]
s = ''
c = 1
if b > a:
	c = -1
x += 1
while x != 0:
	if c == 1:
		s += '0'
		a -= 1
	else:
		s += '1'
		b -= 1
	c *= -1
	x -= 1
if a > 0:
	q = s.rfind('0')
	if q != len(s) - 1:
		s = s[:q] + '0' * a + s[q:]
	else:
		s += '0' * a
if b > 0:
	q = s.rfind('1')
	if q != len(s) - 1:
		s = s[:q] + '1' * b + s[q:]
	else:
		s += '1' * b
print(s)


[a, b, x] = list(map(int, input().split()))
s = ''
x += 1
d = x // 2
if d * 2 != x:
	up = d + 1
	down = d
else:
	up = d
	down = d
if a >= up:
	a -= up
	b -= down
	s += '0' * a
	s += '01' * down
	s += '1' * b
	if up > down:
		s += '0'
else:
	b -= up
	a -= down
	if up > down:
		s += '1'
	s += '0' * a
	s += '01' * down
	s += '1' * b
print(s)


(b, a, x) = map(int, input().split())
res = ''
if a > b:
	res += '1'
	a -= 1
	v = 1
	l = x
	while x:
		if v:
			res += '0'
			b -= 1
			x -= 1
			v = 0
		else:
			res += '1'
			a -= 1
			x -= 1
			v = 1
	if l % 2:
		res += '0' * b
	else:
		p = res[:len(res) - 1]
		p += '0' * b
		p += '1'
		res = p
	sol = '1' * a
	sol += res
	print(sol)
else:
	res += '0'
	b -= 1
	v = 1
	l = x
	while x:
		if v == 0:
			res += '0'
			b -= 1
			x -= 1
			v = 1
		else:
			res += '1'
			a -= 1
			x -= 1
			v = 0
	if l % 2:
		res += '1' * a
	else:
		p = res[:len(res) - 1]
		p += '1' * a
		p += '0'
		res = p
	sol = '0' * b
	sol += res
	print(sol)


(a, b, x) = map(int, input().split())
ans = ''
z = 0
o = 0
if a >= b:
	ans += '0'
	p = 0
	z += 1
	while x:
		x -= 1
		ans += str(1 - p)
		p = 1 - p
		if p == 0:
			z += 1
		else:
			o += 1
else:
	ans += '1'
	p = 1
	o += 1
	while x:
		x -= 1
		ans += str(1 - p)
		p = 1 - p
		if p == 0:
			z += 1
		else:
			o += 1
for i in range(len(ans)):
	if ans[i] == '0':
		ans = ans[:i] + '0' * (a - z) + ans[i:]
		break
for i in range(len(ans)):
	if ans[i] == '1':
		ans = ans[:i] + '1' * (b - o) + ans[i:]
		break
print(ans)


(a, b, x) = map(int, input().split())
s = []
if x % 2 == 0:
	if x == a * 2:
		s.extend(['10'] * (x // 2))
		s.extend(['1'] * (b - x // 2))
		print(*s, sep='')
	else:
		s.extend(['01'] * (x // 2))
		s.extend(['1'] * (b - x // 2))
		s.extend(['0'] * (a - x // 2))
		print(*s, sep='')
elif x == b * 2 - 1:
	s.extend(['10'] * ((x + 1) // 2))
	s.extend(['0'] * (a - (x + 1) // 2))
	print(*s, sep='')
else:
	s.extend(['01'] * (x // 2))
	s.extend(['0'] * (a - x // 2))
	s.extend(['1'] * (b - x // 2))
	print(*s, sep='')


class CodeforcesTask1003BSolution:

	def __init__(self):
		self.result = ''
		self.a_b_x = []

	def read_input(self):
		self.a_b_x = [int(x) for x in input().split(' ')]

	def process_task(self):
		result = []
		starting = '0' if self.a_b_x[0] >= self.a_b_x[1] else '1'
		second = '1' if self.a_b_x[0] >= self.a_b_x[1] else '0'
		c = True
		for x in range(self.a_b_x[2] - 1):
			if c:
				result.append(starting)
				c = not c
				if starting == '0':
					self.a_b_x[0] -= 1
				else:
					self.a_b_x[1] -= 1
			else:
				result.append(second)
				c = not c
				if second == '0':
					self.a_b_x[0] -= 1
				else:
					self.a_b_x[1] -= 1
		if c:
			if starting == '0':
				result.append(starting * self.a_b_x[0])
				result.append(second * self.a_b_x[1])
			else:
				result.append(starting * self.a_b_x[1])
				result.append(second * self.a_b_x[0])
		elif starting == '0':
			result.append(second * self.a_b_x[1])
			result.append(starting * self.a_b_x[0])
		else:
			result.append(second * self.a_b_x[0])
			result.append(starting * self.a_b_x[1])
		self.result = ''.join(result)

	def get_result(self):
		return self.result
Solution = CodeforcesTask1003BSolution()
Solution.read_input()
Solution.process_task()
print(Solution.get_result())


(a, b, x) = [int(e) for e in input().split(' ')]
ans = ''
choose = ['0', '1']
if x == 1:
	print(a * '0' + b * '1')
	exit()
if x == 2:
	if b > 1:
		print((b - 1) * '1' + a * '0' + '1')
	else:
		print((a - 1) * '0' + b * '1' + '0')
	exit()
if x == 3:
	print((b - 2) * '1' + '101' + (a - 1) * '0')
	exit()
while x > 1:
	ans += choose[x % 2]
	if x % 2 == 0:
		a -= 1
	if x % 2 == 1:
		b -= 1
	x -= 1
if ans[-1] == '0':
	if a == 0:
		ans = '1' + ans + (b - 1) * '1'
	else:
		ans = ans + '1' * b + '0' * a
else:
	ans = ans + '0' * a + '1' * b
print(ans)


(zeros, ones, ireq) = input().split(' ')
(zeros, ones, ireq) = (int(zeros), int(ones), int(ireq))
out = ''
if zeros > ones:
	out = '0'
	zeros -= 1
else:
	out = '1'
	ones -= 1
i = 0
while i < ireq:
	if out[-1] == '0':
		out += '1'
		ones -= 1
	else:
		out += '0'
		zeros -= 1
	i += 1
lastOne = len(out) - 1
while not out[lastOne] == '1':
	lastOne -= 1
while ones > 0:
	out = out[:lastOne + 1] + '1' + out[lastOne + 1:]
	ones -= 1
lastZero = len(out) - 1
while not out[lastZero] == '0':
	lastZero -= 1
while zeros > 0:
	out = out[:lastZero + 1] + '0' + out[lastZero + 1:]
	zeros -= 1
print(out)


(a, b, x) = map(int, input().split())
s = '01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010'
if x % 2 == 1:
	t = s[:x + 1]
	u = '0' * (a - t.count('0'))
	v = '1' * (b - t.count('1'))
	print(u + t + v)
elif x == 2:
	if a == 1:
		print('1' + '0' + '1' * (b - 1))
	elif b == 1:
		print('0' + '1' + '0' * (a - 1))
	else:
		print('0' + '1' * b + '0' * (a - 1))
elif a >= b:
	t = s[:x - 1]
	u = '0' * (a - t.count('0'))
	v = '1' * (b - t.count('1'))
	print(t + v + u)
else:
	t = s[1:x]
	u = '0' * (a - t.count('0'))
	v = '1' * (b - t.count('1'))
	print(t + u + v)


(a, b, x) = map(int, input().split())
start_b = b
output = '0' * a
if b * 2 > x:
	output = '1' + output
	x -= 1
	b -= 1
while b != 0 and b * 2 > x + 1:
	output = '1' + output
	b -= 1
pos = start_b - b + 1
while b != 0 and x != 1:
	output = output[:pos] + '1' + output[pos:]
	pos += 2
	b -= 1
	x -= 2
if x == 1:
	output = output + '1'
print(output)


(a, b, x) = [int(j) for j in input().split()]
s = ''
if a >= b:
	s += '0'
	a -= 1
else:
	s += '1'
	b -= 1
k = 0
while x != 1 and x != 2:
	x = x - 1
	if s[k] == '0':
		s += '1'
		k += 1
		b -= 1
	else:
		s += '0'
		k += 1
		a -= 1
if s[k] == '0' and x == 2 or (s[k] == '1' and x == 1):
	while b > 0:
		s += '1'
		b -= 1
	while a > 0:
		s += '0'
		a -= 1
elif s[k] == '0' and x == 1 or (s[k] == '1' and x == 2):
	while a > 0:
		s += '0'
		a -= 1
	while b > 0:
		s += '1'
		b -= 1
print(s)


(a, b, x) = [int(x) for x in input().split()]
st = ''
if x % 2 == 1:
	if x == 1 and a == 1 and (b == 1):
		print('10')
		exit()
	elif x == 1 and a == 2 and (b == 1):
		print('001')
		exit()
	elif x == 1 and a == 1 and (b == 2):
		print('110')
		exit()
	for i in range(int(x / 2) + 1):
		st += '10'
	for i in range(a - int(x / 2) - 1):
		st += '0'
	for i in range(b - int(x / 2) - 1):
		st = '1' + st
elif a >= b:
	st = ''
	for i in range(int(x / 2)):
		st += '10'
	for i in range(b - int(x / 2)):
		st = '1' + st
	st = '0' + st
	for i in range(a - int(x / 2) - 1):
		st += '0'
else:
	st = ''
	for i in range(int(x / 2)):
		st += '01'
	for i in range(a - int(x / 2)):
		st = '0' + st
	st = '1' + st
	for i in range(b - int(x / 2) - 1):
		st += '1'
print(st)


(a, b, x) = map(int, input().split())
(r, l) = ((x + 1) // 2, '')
if x % 2 == 1:
	l += '10' * r
	l = '1' * (b - r) + l + '0' * (a - r)
else:
	if a <= r:
		l += '1'
		b -= 1
	l += '01' * r
	l += '1' * (b - r) + '0' * (a - r)
print(l)


(a, b, x) = [int(x) for x in input().split()]
s = ''
if x == 1:
	for i in range(a):
		s += '0'
	for i in range(b):
		s += '1'
elif x % 2 == 0:
	if a > b:
		for i in range(int(x / 2)):
			s += '01'
			a -= 1
			b -= 1
		for i in range(b):
			s += '1'
		for i in range(a):
			s += '0'
	else:
		for i in range(int(x / 2)):
			s += '10'
			a -= 1
			b -= 1
		for i in range(a):
			s += '0'
		for i in range(b):
			s += '1'
elif a > b:
	for i in range(int(x / 2) + 1):
		s += '01'
		a -= 1
		b -= 1
	for i in range(b):
		s += '1'
	s1 = ''
	for i in range(a):
		s1 += '0'
	s = s1 + s
else:
	for i in range(int(x / 2) + 1):
		s += '10'
		a -= 1
		b -= 1
	for i in range(a):
		s += '0'
	s1 = ''
	for i in range(b):
		s1 += '1'
	s = s1 + s
print(s)


(a, b, x) = (int(x) for x in input().split())
flag = True
if a > b and x % 2 == 0:
	for i in range(x):
		if flag:
			print(0, end='')
			flag = False
		else:
			print(1, end='')
			flag = True
	for i in range(b - x // 2):
		print(1, end='')
	for i in range(a - x // 2):
		print(0, end='')
if a > b and x % 2 != 0:
	for i in range(x - 1):
		if flag:
			print(0, end='')
			flag = False
		else:
			print(1, end='')
			flag = True
	for i in range(a - x // 2):
		print(0, end='')
	for i in range(b - x // 2):
		print(1, end='')
if a <= b and x % 2 == 0:
	for i in range(x):
		if flag:
			print(1, end='')
			flag = False
		else:
			print(0, end='')
			flag = True
	for i in range(a - x // 2):
		print(0, end='')
	for i in range(b - x // 2):
		print(1, end='')
if a <= b and x % 2 != 0:
	for i in range(x - 1):
		if flag:
			print(1, end='')
			flag = False
		else:
			print(0, end='')
			flag = True
	for i in range(b - x // 2):
		print(1, end='')
	for i in range(a - x // 2):
		print(0, end='')


from math import *
(a, b, x) = (int(i) for i in input().split())
ans = ''
(a1, b1) = (a, b)
mx = ceil((a + b) / (x + 1))
af = True
xx = 0
for i in range(x - 1):
	if af:
		ans += '0'
		a -= 1
		af = not af
	else:
		ans += '1'
		b -= 1
		af = not af
if af:
	ans += '0' * a
	ans += '1' * b
else:
	ans += '1' * b
	ans += '0' * a
for i in range(len(ans) - 1):
	if ans[i] != ans[i + 1]:
		xx += 1
if xx != x:
	af = False
	ans = ''
	(a, b) = (a1, b1)
	for i in range(x - 1):
		if af:
			ans += '0'
			a -= 1
			af = not af
		else:
			ans += '1'
			b -= 1
			af = not af
	if af:
		ans += '0' * a
		ans += '1' * b
	else:
		ans += '1' * b
		ans += '0' * a
print(ans)


def check(st, x):
	count = 0
	for i in range(0, len(st) - 1):
		if st[i] != st[i + 1]:
			count = count + 1
	if count == x:
		return 1
	else:
		return 0
(a, b, x) = map(int, input().split())
s = ''
curr = '0'
if min(a, b) == a:
	curr = '1'
else:
	curr = '0'
if a == b:
	curr = '0'
count = 0
for i in range(0, a + b):
	if count != x:
		s = s + curr
		if curr == '0':
			a = a - 1
			curr = '1'
		else:
			b = b - 1
			curr = '0'
		count = count + 1
if s[len(s) - 1] == '0':
	for j in range(0, a):
		s = s + '0'
	for j in range(0, b):
		s = s + '1'
else:
	for j in range(0, b):
		s = s + '1'
	for j in range(0, a):
		s = s + '0'
print(s)


def main():
	(a, b, x) = map(int, input().split())
	c = (x + 1) // 2
	if x & 1:
		print('1' * (b - c), '10' * c, '0' * (a - c), sep='')
	elif a < b:
		print('1' * (b - c - 1), '10' * c, '0' * (a - c), '1', sep='')
	else:
		print('0', '1' * (b - c), '10' * c, '0' * (a - c - 1), sep='')
main()


(zeros, ones, x) = [int(x) for x in input().split()]
from collections import deque
a = deque()
count = 1
if x % 2 != 0:
	times = x
else:
	times = x - 1
for i in range(1, times + 1, 2):
	a.append('0')
	zeros -= 1
	a.append('1')
	ones -= 1
if x % 2 != 0:
	while zeros != 0:
		zeros -= 1
		a.appendleft('0')
	while ones != 0:
		ones -= 1
		a.append('1')
elif zeros > 0 and ones == 0:
	while zeros != 0:
		zeros -= 1
		a.append('0')
elif ones > 0 and zeros == 0:
	while ones != 0:
		ones -= 1
		a.appendleft('1')
elif ones > 0 and zeros > 0:
	while ones != 0:
		ones -= 1
		a.append('1')
	while zeros != 0:
		zeros -= 1
		a.append('0')
ans = ''
for i in a:
	ans += i
print(ans)


p = input()
p = p.split()
a = int(p[0])
b = int(p[1])
x = int(p[2])
i = 0
j = 0
k = 0
s = ''
if a >= b:
	while k < x - 1:
		s += '01'
		i += 1
		j += 1
		k += 2
	if k == x - 1:
		while i < a:
			s += '0'
			i += 1
		while j < b:
			s += '1'
			j += 1
	else:
		while j < b:
			s += '1'
			j += 1
		while i < a:
			s += '0'
			i += 1
else:
	while k < x - 1:
		s += '10'
		i += 1
		j += 1
		k += 2
	if k == x - 1:
		while j < b:
			s += '1'
			j += 1
		while i < a:
			s += '0'
			i += 1
	else:
		while i < a:
			s += '0'
			i += 1
		while j < b:
			s += '1'
			j += 1
print(s)


[a, b, x] = list(map(int, input().split()))
s = ''
count1 = 0
count0 = 0
if a >= b:
	for i in range(x):
		if i % 2 == 0:
			s = s + '0'
			count0 = count0 + 1
		else:
			s = s + '1'
			count1 = count1 + 1
else:
	for i in range(x):
		if i % 2 == 0:
			s = s + '1'
			count1 = count1 + 1
		else:
			s = s + '0'
			count0 = count0 + 1
if s[x - 1] == '0':
	if count0 != a:
		rem = a - count0
		s = s + '0' * rem
	if count1 != b:
		rem = b - count1
		s = s + '1' * rem
else:
	if count1 != b:
		rem = b - count1
		s = s + '1' * rem
	if count0 != a:
		rem = a - count0
		s = s + '0' * rem
print(s)


(a, b, x) = map(int, input().split())
if b > a:
	res = [1]
	b -= 1
else:
	res = [0]
	a -= 1
for _ in range(x - 1):
	if res[-1] == 0:
		res.append(1)
		b -= 1
	else:
		res.append(0)
		a -= 1
if res[-1] == 1:
	res.extend([1] * b)
	res.extend([0] * a)
else:
	res.extend([0] * a)
	res.extend([1] * b)
print(*res, sep='')


def main():
	(a, b, x) = list(map(int, input().split()))
	(A, B) = (0, 0)
	if a >= b:
		s = '0'
		A = 1
		while x >= 2:
			(A, B) = (A + 1, B + 1)
			s += '10'
			x -= 2
		if x == 1:
			s += (a - A) * '0' + (b - B) * '1'
		if x == 0:
			s = s[:-1] + (b - B) * '1' + (a - A + 1) * '0'
	else:
		s = '1'
		B = 1
		while x >= 2:
			(A, B) = (A + 1, B + 1)
			s += '01'
			x -= 2
		if x == 1:
			s += (b - B) * '1' + (a - A) * '0'
		if x == 0:
			s = s[:-1] + (a - A) * '0' + (b - B + 1) * '1'
	print(s)
	return 0
main()


(a, b, x) = list(map(int, input().split()))
a = [a, '0']
b = [b, '1']
first = b if b > a else a
second = b if first == a else a
times = True
while x > 0:
	print(first[1] if times else second[1], end='')
	x -= 1
	first[0] -= 1 if times else 0
	second[0] -= 0 if times else 1
	times = not times
print(second[1] * second[0] + first[1] * first[0] if times else first[1] * first[0] + second[1] * second[0], end='')


(n, m, x) = map(int, input().split())
a = '0'
b = '1'
s = ''
if n < m:
	(a, b) = (b, a)
	(n, m) = (m, n)
while x > 1:
	s += a
	n -= 1
	x -= 1
	(a, b) = (b, a)
	(n, m) = (m, n)
s += a * n
s += b * m
print(s)


(a, b, x) = [int(i) for i in input().split()]
s = ''
for i in range(x + 1):
	if a > b:
		if i % 2 == 0:
			s += '0'
		else:
			s += '1'
	elif i % 2 == 1:
		s += '0'
	else:
		s += '1'
s = s.replace('0', '0' * (a - s.count('0') + 1), 1)
s = s.replace('1', '1' * (b - s.count('1') + 1), 1)
print(s)


[a, b, x] = list(map(int, input().split()))
n = int(x / 2)
s = ''
if x % 2:
	if b > a:
		s += '10' * n
		s += '1' * (b - n)
		s += '0' * (a - n)
	else:
		s += '01' * n
		s += '0' * (a - n)
		s += '1' * (b - n)
elif b > a:
	s += '10' * n
	s += '0' * (a - n)
	s += '1' * (b - n)
else:
	s += '01' * n
	s += '1' * (b - n)
	s += '0' * (a - n)
print(s)


(a, b, x) = map(int, input().split(' '))
N = a + b
N1 = x
if a > b:
	S = ['0']
else:
	S = ['1']
for i in range(1, N1 + 1):
	if S[i - 1] == '0':
		S.append('1')
	else:
		S.append('0')
W1 = S.count('0')
W2 = S.count('1')
s = []
s1 = []
if W1 != a:
	w = a - W1
	s = ['0'] * w
if W2 != b:
	w = b - W2
	s1 = ['1'] * w
if S[0] == '0':
	S = s + S
	if S[-1] == '1':
		S = S + s1
	elif len(s1) != 0:
		S[-1] = '1'
		s1[-1] = '0'
		S = S + s1
else:
	S = s1 + S
	if S[-1] == '0':
		S = S + s
	elif len(s) != 0:
		S[-1] = '0'
		s[-1] = '1'
		S = S + s
print(''.join(S))


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
(a, b, x) = MAP()
swapped = False
if b > a:
	swapped = True
ans = []
for i in range(x - 1):
	if i % 2 == 0 ^ swapped:
		ans.append('0')
		a -= 1
	else:
		ans.append('1')
		b -= 1
if ans and ans[-1] == '0':
	ans += '1' * b
	ans += '0' * a
else:
	ans += '0' * a
	ans += '1' * b
print(''.join(ans))


(a, b, x) = map(int, input().split())
n = a + b
if a > b:
	s = '0'
	a -= 1
else:
	s = '1'
	b -= 1
for i in range(1, n):
	if x > 1:
		if s[i - 1] == '0':
			s = s + '1'
			b -= 1
		else:
			s = s + '0'
			a -= 1
		x -= 1
	elif s[i - 1] == '0':
		if a > 0:
			s = s + '0'
			a -= 1
		else:
			s = s + '1'
			b -= 1
	elif b > 0:
		s = s + '1'
		b -= 1
	else:
		s = s + '0'
		a -= 1
print(s)


(a, b, x) = [int(c) for c in input().split(' ')]
s = ''
mode = int(a < b)
while x > 1:
	s += str(mode)
	x -= 1
	if mode == 0:
		a -= 1
	else:
		b -= 1
	mode += 1
	mode %= 2
if mode == 0:
	s += '0' * a + '1' * b
else:
	s += '1' * b + '0' * a
print(s)


(a, b, x) = map(int, input().split())
n = a + b
x += 1
if a > b:
	k = 0
else:
	k = 1
s = ''
while x != 0:
	s = s + str(k)
	if k == 0:
		a -= 1
	else:
		b -= 1
	k = (k + 1) % 2
	x -= 1
if a != 0:
	index = s.find('0')
	s = s[:index] + '0' * a + s[index:]
if b != 0:
	index = s.find('1')
	s = s[:index] + '1' * b + s[index:]
print(s)


def main():
	(a, b, x) = map(int, input().split())
	if a > b and x % 2 == 0:
		res = '01' * (x // 2) + '1' * (b - x // 2) + '0' * (a - x // 2)
	elif a > b and x % 2 != 0:
		res = '01' * (x // 2) + '0' * (a - x // 2) + '1' * (b - x // 2)
	elif a <= b and x % 2 == 0:
		res = '10' * (x // 2) + '0' * (a - x // 2) + '1' * (b - x // 2)
	else:
		res = '10' * (x // 2) + '1' * (b - x // 2) + '0' * (a - x // 2)
	print(res)
main()


(a, b, x) = input().split()
(a, b, x) = (int(a), int(b), int(x))
ls = []
a1 = a
b1 = b
if a > b:
	a1 -= 1
	ls.append(0)
else:
	b1 -= 1
	ls.append(1)
while x > 0:
	if ls[len(ls) - 1] == 1:
		ls.append(0)
		a1 -= 1
	else:
		ls.append(1)
		b1 -= 1
	x -= 1
for l in range(b1):
	ls.insert(ls.index(1), 1)
for l in range(a1):
	ls.insert(ls.index(0), 0)
for i in range(len(ls)):
	ls[i] = str(ls[i])
ls = ''.join(ls)
print(ls)


(a, b, x) = map(int, input().split())
n = 0
if b > a:
	while x > 1:
		print('10', end='')
		x -= 2
		n += 1
	if x:
		for i in range(b - n):
			print('1', end='')
		for i in range(a - n):
			print(0, end='')
	else:
		for i in range(a - n):
			print(0, end='')
		for i in range(b - n):
			print('1', end='')
else:
	while x > 1:
		print('01', end='')
		x -= 2
		n += 1
	if x:
		for i in range(a - n):
			print(0, end='')
		for i in range(b - n):
			print('1', end='')
	else:
		for i in range(b - n):
			print('1', end='')
		for i in range(a - n):
			print(0, end='')


(a, b, x) = map(int, input().split())
s = ''
temp = -1
if a > b:
	for i in range(x):
		if i % 2 == 0:
			s += '0'
			a -= 1
			temp = 0
		else:
			s += '1'
			b -= 1
			temp = 1
	if temp == 0:
		for i in range(a):
			s += '0'
		for i in range(b):
			s += '1'
	else:
		for i in range(b):
			s += '1'
		for i in range(a):
			s += '0'
	print(s)
else:
	for i in range(x):
		if i % 2 == 0:
			s += '1'
			b -= 1
			temp = 1
		else:
			s += '0'
			a -= 1
			temp = 0
	if temp == 0:
		for i in range(a):
			s += '0'
		for i in range(b):
			s += '1'
	else:
		for i in range(b):
			s += '1'
		for i in range(a):
			s += '0'
	print(s)


lw = input().split()
a = int(lw[0])
b = int(lw[1])
x = int(lw[2])
if x < a * 2 and x < b * 2:
	cw = min(a, b)
else:
	cw = max(a, b)
if cw == a:
	cw = 0
else:
	cw = 1
opt = ''
for i in range(x - 1):
	opt += str(cw)
	if cw == 1:
		cw = 0
		b -= 1
	else:
		cw = 1
		a -= 1
if cw == 0:
	for i in range(a):
		opt += '0'
	for i in range(b):
		opt += '1'
else:
	for i in range(b):
		opt += '1'
	for i in range(a):
		opt += '0'
print(opt)


(a, b, x) = map(int, input().split())
S = []
n = a + b
chitenb = n
chitena = 0
saishou = min(a, b)
if saishou == a:
	sousa = a
else:
	sousa = b
count = 0
if a >= b:
	while count < x:
		S.append('0')
		a -= 1
		count += 1
		if count == x:
			for i in range(a):
				S.append('0')
			for i in range(b):
				S.append('1')
			break
		S.append('1')
		count += 1
		b -= 1
		if count == x:
			for i in range(b):
				S.append('1')
			for i in range(a):
				S.append('0')
			break
else:
	while count < x:
		S.append('1')
		b -= 1
		count += 1
		if count == x:
			for i in range(b):
				S.append('1')
			for i in range(a):
				S.append('0')
			break
		S.append('0')
		count += 1
		a -= 1
		if count == x:
			for i in range(a):
				S.append('0')
			for i in range(b):
				S.append('1')
			break
ans = ''.join(S)
print(ans)


(a, b, n) = map(int, input().split())
if n % 2 == 0:
	if a >= b:
		print('01' * int(n / 2), '1' * (b - int(n / 2)), '0' * (a - int(n / 2)), sep='')
	else:
		print('10' * int(n / 2), '0' * (a - int(n / 2)), '1' * (b - int(n / 2)), sep='')
elif a >= b:
	print('01' * int((n - 1) / 2), '0' * (a - int((n - 1) / 2)), '1' * (b - int((n - 1) / 2)), sep='')
else:
	print('10' * int((n - 1) / 2), '1' * (b - int((n - 1) / 2)), '0' * (a - int((n - 1) / 2)), sep='')


(a, b, x) = map(int, input().split())
ans = []
temp = x
if a > b:
	c = 0
else:
	c = 1
while temp > 1:
	ans.append(c)
	if c:
		c = 0
		b -= 1
	else:
		c = 1
		a -= 1
	temp -= 1
if temp == 1:
	if c:
		ans.extend([1] * b)
		c = 0
	else:
		ans.extend([0] * a)
		c = 1
if c:
	ans.extend([1] * b)
else:
	ans.extend([0] * a)
for i in ans:
	print(i, end='')
print()


(a, b, x) = list(map(int, input().split()))
if a >= b:
	s = ['0']
	a -= 1
	for i in range(x):
		if s[-1] == '0':
			s.append('1')
			b -= 1
		else:
			s.append('0')
			a -= 1
	ans = []
	for i in range(a):
		ans.append('0')
	for i in range(len(s)):
		ans.append(s[i])
	k = -1
	for i in range(len(ans)):
		if ans[i] == '1':
			k = i
			break
	ansf = []
	for i in range(k + 1):
		ansf.append(ans[i])
	for i in range(b):
		ansf.append('1')
	for i in range(k + 1, len(ans)):
		ansf.append(ans[i])
	print(''.join(ansf))
else:
	s = ['1']
	b -= 1
	for i in range(x):
		if s[-1] == '0':
			s.append('1')
			b -= 1
		else:
			s.append('0')
			a -= 1
	ans = []
	for i in range(b):
		ans.append('1')
	for i in range(len(s)):
		ans.append(s[i])
	k = -1
	for i in range(len(ans)):
		if ans[i] == '0':
			k = i
			break
	ansf = []
	for i in range(k + 1):
		ansf.append(ans[i])
	for i in range(a):
		ansf.append('0')
	for i in range(k + 1, len(ans)):
		ansf.append(ans[i])
	print(''.join(ansf))


import sys

def cons(n):
	return '10' * ((n + 1) // 2)
(b, a, x) = map(int, input().split())
if x % 2 != 0:
	s = '1' * (a - (x + 1) // 2)
	s += cons(x)
	s += '0' * (b - (x + 1) // 2)
	print(s)
	sys.exit()
x1 = a - x // 2
x2 = b - x // 2
if x1 > x2:
	s = '1' * (-1 + x1)
	s += cons(x - 1)
	s += '0' * x2
	s += '1'
else:
	s = '1' * x1
	s += cons(x - 1)
	s += '0' * (-1 + x2)
	s = '0' + s
print(s)


import collections
from statistics import mean
max = 0

def calc(s):
	c = 0
	for i in range(len(s) - 1):
		if s[i] != s[i + 1]:
			c += 1
	return c
s = input().split()
(a, b, x) = (int(s[0]), int(s[1]), int(s[2]))

def makeString(s, x):
	i = 1
	if s == '0':
		(one, zero) = (0, 1)
	else:
		(one, zero) = (1, 0)
	while i < x:
		if s[i - 1] == '0':
			s = s + '1'
			one += 1
		else:
			s = s + '0'
			zero += 1
		i += 1
	if s[len(s) - 1] == '0':
		s += (a - zero) * '0' + (b - one) * '1'
	else:
		s += (b - one) * '1' + (a - zero) * '0'
	return s
s1 = makeString('0', x)
s2 = makeString('1', x)
if calc(s1) == x:
	print(s1)
else:
	print(s2)


(a, b, n) = map(int, input().strip().split())
x = ''
if a > b:
	x += '0'
	a -= 1
else:
	x += '1'
	b -= 1
for i in range(n - 1):
	if x[-1] == '1':
		x += '0'
		a -= 1
	else:
		x += '1'
		b -= 1
if x[-1] == '0':
	while a > 0:
		x += '0'
		a -= 1
	while b > 0:
		x += '1'
		b -= 1
if x[-1] == '1':
	while b > 0:
		x += '1'
		b -= 1
	while a > 0:
		x += '0'
		a -= 1
print(x)


import re
import sys
exit = sys.exit
from bisect import bisect_left as bsl, bisect_right as bsr
from collections import Counter, defaultdict as ddict, deque
from functools import lru_cache
cache = lru_cache(None)
from heapq import *
from itertools import *
from math import inf
from pprint import pprint as pp
enum = enumerate
ri = lambda : int(rln())
ris = lambda : list(map(int, rfs()))
rln = sys.stdin.readline
rl = lambda : rln().rstrip('\n')
rfs = lambda : rln().split()
mod = 1000000007
d4 = [(0, -1), (1, 0), (0, 1), (-1, 0)]
d8 = [(-1, -1), (0, -1), (1, -1), (-1, 0), (1, 0), (-1, 1), (0, 1), (1, 1)]
for ln in sys.stdin:
	(a, b, x) = map(int, ln.split())
	(ca, cb) = '01'
	if a < b:
		(a, ca, b, cb) = (b, cb, a, ca)
	ans = ''
	while x > 1:
		ans += ca
		(a, x) = (a - 1, x - 1)
		(a, ca, b, cb) = (b, cb, a, ca)
	ans += a * ca + b * cb
	print(ans)


(a, b, x) = map(int, input().split())
if a == 1 and b == 1:
	print('01')
elif a == 1 and b > 1:
	if x == 1:
		print('0' + '1' * b)
	else:
		print('1' + '0' + '1' * (b - 1))
elif b == 1 and a > 1:
	if x == 1:
		print('1' + '0' * a)
	else:
		print('0' + '1' + '0' * (a - 1))
else:
	if a >= b:
		bg = '0'
		sm = '1'
		Ob = a
		Os = b
	else:
		bg = '1'
		sm = '0'
		Ob = b
		Os = a
	if x % 2 != 0:
		if x == 1:
			print(sm * Os + bg * Ob)
		else:
			t = (x + 1) // 2
			ans = (bg + sm) * t
			ans = bg * (Ob - t) + ans + sm * (Os - t)
			print(ans)
	else:
		L = [3] * (a + b)
		t = x // 2
		ct = 0
		ptr = 0
		for i in range(1, len(L), 2):
			if ct < t:
				L[i] = sm
				ct = ct + 1
			else:
				ptr = i - 1
				break
		ct = 0
		t = Os - t
		for i in range(ptr, len(L)):
			if ct < t:
				L[i] = sm
				ct = ct + 1
			else:
				break
		for i in range(0, len(L)):
			if L[i] == 3:
				L[i] = bg
		l = ''.join(L)
		print(l)


(b, a, x) = [int(i) for i in input().split()]
if a > b:
	z = True
else:
	z = False
stro = ''
while x > 1:
	if z:
		stro += '1'
		z = False
		x -= 1
		a -= 1
	else:
		stro += '0'
		z = True
		x -= 1
		b -= 1
if x == 1:
	if stro[-1:] == '1':
		for i in range(b):
			stro += '0'
		for i in range(a):
			stro += '1'
	else:
		for i in range(a):
			stro += '1'
		for i in range(b):
			stro += '0'
print(stro)


(a, b, x) = [int(i) for i in input().split()]
ans = ''
if x % 2 == 0:
	if a > b:
		x = x // 2
		for i in range(x):
			ans += '01'
		for i in range(a - x - 1):
			ans = '0' + ans
		for i in range(b - x):
			ans += '1'
		ans += '0'
	else:
		x = x // 2
		for i in range(x):
			ans += '10'
		for i in range(a - x):
			ans += '0'
		for i in range(b - x - 1):
			ans = '1' + ans
		ans += '1'
else:
	x = x // 2 + 1
	for i in range(x):
		ans += '10'
	for i in range(a - x):
		ans += '0'
	for i in range(b - x):
		ans = '1' + ans
print(ans)


def solve_1003B(a, b, x):
	s = []
	x = x + 1
	if a > b:
		bit = 0
	else:
		bit = 1

	def changeBit(bit):
		return (bit + 1) % 2
	while x > 2:
		x = x - 1
		s = s + [str(bit)]
		if bit == 1:
			b = b - 1
		else:
			a = a - 1
		bit = changeBit(bit)
	while x > 0:
		x = x - 1
		if bit == 1:
			s = s + [str(bit)] * b
			bit = changeBit(bit)
		else:
			s = s + [str(bit)] * a
			bit = changeBit(bit)
	return s
[a, b, x] = [int(a) for a in input().split(' ')]
s = solve_1003B(a, b, x)
print(''.join(s))


import math
(a, b, x) = map(int, input().split())
if a > b:
	q = '01'
else:
	q = '10'
itr = math.ceil(x / 2)
s = ''
for i in range(itr):
	s += q
left0 = a - itr
left1 = b - itr
if x % 2:
	s = s[:-1]
	if s[-1] == '0':
		left1 += 1
	else:
		left0 += 1
if s[-1] == '0':
	for i in range(left0):
		s += '0'
	for i in range(left1):
		s += '1'
else:
	for i in range(left1):
		s += '1'
	for i in range(left0):
		s += '0'
print(s)


import sys, heapq
(a, b, x) = map(int, sys.stdin.readline().split())
temp = [1] * (x + 1)
for i in range(1, len(temp), 2):
	temp[i] = 0
ca = 0
cb = 0
for i in range(len(temp)):
	if temp[i]:
		cb += 1
	else:
		ca += 1
if a - ca < 0 or b - cb < 0:
	temp = [0] * (x + 1)
	for i in range(1, len(temp), 2):
		temp[i] = 1
	ca = 0
	cb = 0
	for i in range(len(temp)):
		if temp[i]:
			cb += 1
		else:
			ca += 1
	a -= ca
	b -= cb
	if len(temp) % 2 == 0:
		temp = [0] * a + temp + [1] * b
	else:
		temp = [0] * a + temp[:-1] + [1] * b + [0]
	print(''.join(map(str, temp)))
else:
	a -= ca
	b -= cb
	if len(temp) % 2 == 0:
		temp = [1] * b + temp + [0] * a
	else:
		temp = [1] * b + temp[:-1] + [0] * a + [1]
	print(''.join(map(str, temp)))


(a, b, x) = [int(i) for i in input().split()]
if a > b:
	maxD = '0'
	maxN = a
	minD = '1'
	minN = b
else:
	maxD = '1'
	maxN = b
	minD = '0'
	minN = a
s = [str(maxD)] * (a + b)
c = 0
if x % 2 == 0:
	for i in range(x):
		if i % 2 == 1:
			s[i] = minD
			c += 1
			k = i
else:
	for i in range(x):
		if i % 2 == 0:
			s[i] = minD
			c += 1
			k = i
while c < minN:
	k += 1
	s[k] = minD
	c += 1
print(''.join(s))


(a, b, k) = map(int, input().split())
if a > b:
	s = '0'
	a = a - 1
else:
	s = '1'
	b = b - 1
while k > 1:
	if s[-1] == '1':
		s += '0'
		a = a - 1
	else:
		s += '1'
		b = b - 1
	k -= 1
if s[-1] == '0':
	s += a * '0' + b * '1'
else:
	s += b * '1' + a * '0'
print(s)


def constructBinString(a, b, x):
	d = x // 2
	if x % 2 == 0 and x // 2 != a:
		d -= 1
		print('0', end='')
		a -= 1
	for i in range(d):
		print('10', end='')
	a = a - d
	b = b - d
	for i in range(b):
		print('1', end='')
	for i in range(a):
		print('0', end='')
(a, b, x) = map(int, input().split())
constructBinString(a, b, x)


(a, b, x) = [int(x) for x in input().split()]
ans = []
if a >= b:
	for i in range(a):
		ans.append('0')
	if b * 2 > x:
		ans.append('1')
		b -= 1
		x -= 1
	i = 0
	while x > 1:
		if ans[i] == '0':
			ans.insert(i + 1, '1')
			x -= 2
			b -= 1
		i += 1
	if x != 0:
		ans.insert(0, '1')
		b -= 1
		x = 0
	while b != 0:
		ans.append('1')
		b -= 1
else:
	for i in range(b):
		ans.append('1')
	if a * 2 > x:
		ans.append('0')
		a -= 1
		x -= 1
	i = 0
	while x > 1:
		if ans[i] == '1':
			ans.insert(i + 1, '0')
			x -= 2
			a -= 1
		i += 1
	if x != 0:
		ans.insert(0, '0')
		a -= 1
		x = 0
	while a != 0:
		ans.append('0')
		a -= 1
fin = ''
for i in ans:
	fin += i
print(fin)


entrada = input()
entrada = entrada.split(' ')
a = int(entrada[0])
b = int(entrada[1])
x = int(entrada[2])
string = ''
if a >= b:
	last = 0
	string += '0'
	a -= 1
	while x > 0:
		if last == 0:
			b -= 1
		else:
			a -= 1
		last = (last + 1) % 2
		string += str(last)
		x -= 1
	string = string[0] + a * '0' + string[1:len(string)]
	string = string[0:a + 1] + b * '1' + string[a + 1:len(string)]
else:
	last = 1
	string += '1'
	b -= 1
	while x > 0:
		if last == 0:
			b -= 1
		else:
			a -= 1
		last = (last + 1) % 2
		string += str(last)
		x -= 1
	string = string[0] + b * '1' + string[1:len(string)]
	string = string[0:b + 1] + a * '0' + string[b + 1:len(string)]
print(string)


(a, b, x) = map(int, input().split())
(ca, cb) = ('0', '1')
if a < b:
	(a, b) = (b, a)
	(ca, cb) = (cb, ca)
aa = (x + 2) // 2
bb = (x + 1) // 2
aaa = [ca * (a - aa + 1 if i == 0 else 1) for i in range(aa)]
bbb = [cb * (b - bb + 1 if i == 0 else 1) for i in range(bb)]
for i in range(aa):
	print(aaa[i], end='')
	if i < bb:
		print(bbb[i - 1], end='')
print('')


from itertools import cycle
(a, b, x) = map(int, input().split())
n = a + b
it = []
if a > b:
	z = '0'
	it = ['0', '1']
else:
	z = '1'
	it = ['1', '0']
iter = cycle(it)
ans = ''
for _ in range(x + 1):
	ans += next(iter)
ze = ans.count('0')
on = ans.count('1')
if a > b:
	if ans[-1] == z:
		ans = '0' * (a - ze) + ans[0:len(ans) - 1] + '1' * (b - on) + z
	else:
		ans = '0' * (a - ze) + ans + '1' * (b - on)
elif ans[-1] == z:
	ans = '1' * (b - on) + ans[0:len(ans) - 1] + '0' * (a - ze) + z
else:
	ans = '1' * (b - on) + ans + '0' * (a - ze)
print(ans)


def sexy(a, b, x, zero):
	ones = []
	for i in range(a):
		ones.append(1)
		ones.append(3)
	ones.pop()
	three = ones.count(3)
	c = x
	while c > 1:
		if c - 2 >= 0:
			if three > 0:
				indi = ones.index(3)
				ones[indi] = 0
				zero = zero - 1
				three = three - 1
				c = c - 2
			else:
				break
		else:
			break
	done = c
	for i in range(len(ones)):
		if ones[i] == 1:
			print(ones[i], end='')
		elif ones[i] == 0 and done == 0:
			for i in range(zero + 1):
				print('0', end='')
				done = 1
		elif ones[i] == 0:
			print('0', end='')
	if c != 0:
		for i in range(zero):
			print('0', end='')

def sexy1(a, b, x, zero):
	ones = []
	for i in range(a):
		ones.append(0)
		ones.append(3)
	ones.pop()
	three = ones.count(3)
	c = x
	while c > 1:
		if c - 2 >= 0:
			if three > 0:
				indi = ones.index(3)
				ones[indi] = 1
				zero = zero - 1
				three = three - 1
				c = c - 2
			else:
				break
		else:
			break
	done = c
	for i in range(len(ones)):
		if ones[i] == 0:
			print(ones[i], end='')
		elif ones[i] == 1 and done == 0:
			for i in range(zero + 1):
				print('1', end='')
				done = 1
		elif ones[i] == 1:
			print('1', end='')
	if c != 0:
		for i in range(zero):
			print('1', end='')
l = input().split()
a = int(l[0])
b = int(l[1])
x = int(l[2])
temp = a
a = b
b = temp
if a >= b:
	sexy(a, b, x, b)
else:
	sexy1(b, a, x, a)


import re
import math
import decimal
import bisect

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

def iread():
	return int(input().strip())

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

def shiftdown(s, i, d):
	return s[:i - d] + s[i] + s[i - d:i] + s[i + 1:]
(a, b, x) = viread()
s = '0' * a + '1' * b
x -= 1
i = a
if x % 2 != 0:
	if a > b:
		s = s[1:] + '0'
		i = a - 1
	else:
		s = '1' + s[:-1]
		i = a + 1
	x -= 1
while x > 0:
	s = shiftdown(s, i, x // 2)
	x -= 2
	i += 1
print(s)


(a, b, x) = map(int, input().split())
if a > b:
	print(0, end='')
	prev = 0
	a -= 1
else:
	print(1, end='')
	prev = 1
	b -= 1
for i in range(x - 1):
	if prev == 0:
		print(1, end='')
		prev = 1
		b -= 1
	else:
		print(0, end='')
		prev = 0
		a -= 1
if prev == 0:
	for i in range(a):
		print(0, end='')
	for i in range(b):
		print(1, end='')
else:
	for i in range(b):
		print(1, end='')
	for i in range(a):
		print(0, end='')


from sys import stdin

def solve(tc):
	(a, b, x) = map(int, stdin.readline().split())
	if a > b:
		c = 0
	else:
		c = 1
	s = ''
	for i in range(0, x - 1):
		s += str(c)
		if c == 0:
			a -= 1
		else:
			b -= 1
		c ^= 1
	if c == 0:
		s += '0' * a
		s += '1' * b
	else:
		s += '1' * b
		s += '0' * a
	print(s)
LOCAL_TEST = not __debug__
if LOCAL_TEST:
	infile = __file__.split('.')[0] + '-test.in'
	stdin = open(infile, 'r')
tcs = int(stdin.readline().strip()) if LOCAL_TEST else 1
tc = 1
while tc <= tcs:
	solve(tc)
	tc += 1


(a, b, x) = map(int, input().split())
s = ''
if x % 2 == 1:
	p = x - 1
	if a > b:
		for i in range(0, p, 2):
			s += '01'
			a -= 1
			b -= 1
		s = s + '0' * a
		s += '1' * b
		print(s)
	else:
		for i in range(0, p, 2):
			s += '10'
			a -= 1
			b -= 1
		s = s + '1' * b
		s += '0' * a
		print(s)
else:
	p = x - 2
	if a > b:
		for i in range(0, p, 2):
			s += '01'
			a -= 1
			b -= 1
		s = s + '0' * (a - 1)
		s += '1' * b
		s += '0'
		print(s)
	else:
		for i in range(0, p, 2):
			s += '10'
			a -= 1
			b -= 1
		s = s + '1' * (b - 1)
		s += '0' * a
		s += '1'
		print(s)


(a, b, n) = map(int, input().split())
if a > b:
	(x, y) = ('0', '1')
else:
	(x, y) = ('1', '0')
(a, b) = (max(a, b), min(a, b))
s = []
if n % 2 == 0:
	s.append(x)
	a -= 1
	n -= 1
while n > 2:
	s.append(y)
	b -= 1
	s.append(x)
	a -= 1
	n -= 2
while b > 0:
	s.append(y)
	b -= 1
while a > 0:
	s.append(x)
	a -= 1
print(''.join(s))


import sys, math, heapq, copy
from collections import defaultdict, deque
from bisect import bisect_left, bisect_right
from functools import cmp_to_key
from itertools import permutations, combinations, combinations_with_replacement
mod = 1000000007

def get_int():
	return int(sys.stdin.readline().strip())

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

def get_float():
	return float(sys.stdin.readline().strip())

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

def get_strs():
	return map(str, sys.stdin.readline().strip().split())

def get_floats():
	return map(float, sys.stdin.readline().strip().split())

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

def list_strs():
	return list(map(str, sys.stdin.readline().strip().split()))

def list_floats():
	return list(map(float, sys.stdin.readline().strip().split()))

def fun(a, b, ch1, ch2, x):
	ans = ''
	ans += ch1
	a -= 1
	for i in range(x):
		if i == x - 1 and b > 0:
			ans += ch2 * b
			b = 0
		if i & 1 and a > 0:
			ans += ch1
			a -= 1
		elif b > 0:
			ans += ch2
			b -= 1
	if a > 0:
		return ch1 * a + ans
	else:
		return ans
(a, b, x) = get_ints()
if a > b:
	print(fun(a, b, '0', '1', x))
else:
	print(fun(b, a, '1', '0', x))


(a, b, x) = input().split()
a = int(a)
b = int(b)
x = int(x)
n = a + b
one = b - int(x / 2) - 1
if x % 2 == 0:
	zero = a - int(x / 2)
else:
	zero = a - int(x / 2) - 1
k = 0
if one >= 0:
	for i in range(one):
		print('1', end='')
	for i in range(x + 1):
		if i % 2 == 0:
			print('1', end='')
		else:
			print('0', end='')
			if k == 0:
				for j in range(zero):
					print('0', end='')
				k += 1
else:
	for i in range(zero):
		print('0', end='')
	for i in range(x):
		if i % 2 == 0:
			print('1', end='')
		else:
			print('0', end='')


TN = 1

def solution():
	(a, b, x) = map(int, input().split())
	a = ['0' for i in range(a)]
	b = ['1' for i in range(b)]
	s = []
	if len(a) < len(b):
		cur = 0
	else:
		cur = 1
	f0 = 0
	f1 = 0
	for i in range(x):
		if not cur:
			b = b[1:]
			f0 = i + 1
			s.append('1')
			cur = 1
		else:
			f1 = i + 1
			cur = 0
			a = a[1:]
			s.append('0')
	if f0 > f1:
		s = s[:f0 + 1] + a + s[f0 + 1:]
		s = s[:f1 + 1] + b + s[f1 + 1:]
	else:
		s = s[:f1 + 1] + b + s[f1 + 1:]
		s = s[:f0 + 1] + a + s[f0 + 1:]
	print(''.join(s))
while TN != 0:
	solution()
	TN -= 1


(b, a, x) = map(int, input().split())
if x == 1:
	print('1' * a + '0' * b)
elif x % 2 == 0:
	w = int(x / 2)
	if a >= b:
		print('10' * w + '0' * (b - w) + '1' * (a - w))
	else:
		print('01' * w + '1' * (a - w) + '0' * (b - w))
else:
	r = int((x - 1) / 2)
	if a >= b:
		print('10' * r + '1' * (a - r) + '0' * (b - r))
	else:
		print('01' * r + '0' * (b - r) + '1' * (a - r))


(z, zz) = (input, lambda : list(map(int, z().split())))
(szz, dgraphs, mod) = (lambda : sorted(zz()), {}, 10 ** 9 + 7)
from string import *
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
from bisect import bisect as bs
from bisect import bisect_left as bsl
from itertools import accumulate as ac

def lcd(xnum1, xnum2):
	return xnum1 * xnum2 // gcd(xnum1, xnum2)

def prime(x):
	p = ceil(x ** 0.5) + 1
	for i in range(2, p):
		if x % i == 0 and x != 2:
			return 0
	return 1

def dfs(u, visit, graph):
	visit[u] = True
	for i in graph[u]:
		if not visit[i]:
			dfs(i, visit, graph)
(a, b, x) = zz()
if a > b:
	c = '01'
else:
	c = '10'
m = x // 2
s = c * m
if x % 2 != (c == '10'):
	s += '0' * (a - m) + '1' * (b - m)
else:
	s += '1' * (b - m) + '0' * (a - m)
print(s)


def sol(z, o, k):
	c = 1
	idx = 1
	if z > o:
		s = ['0'] * z + ['1'] * o
	else:
		s = ['1'] * o + ['0'] * z
	while c < k:
		key = s.pop(-1)
		s.insert(idx, key)
		c += 2
		idx += 2
	if c > k:
		for _ in range(2):
			key = s.pop(idx - 2)
			s.append(key)
	return ''.join(s)
(z, o, k) = map(int, input().split())
print(sol(z, o, k))


def binary_string(a, b, x):
	l = x // 2
	ones = '1' * (b - l)
	ceroes = '0' * (a - l)
	ans = []
	if x % 2 == 0:
		if a > b:
			for x in range(0, l):
				ans.append('01')
			ans.append(ones)
			ans.append(ceroes)
		else:
			for x in range(0, l):
				ans.append('10')
			ans.append(ceroes)
			ans.append(ones)
	elif a > b:
		for x in range(0, l):
			ans.append('01')
		ans.append(ceroes)
		ans.append(ones)
	else:
		for x in range(0, l):
			ans.append('10')
		ans.append(ones)
		ans.append(ceroes)
	return ans
(a, b, x) = map(int, input().split())
print(*binary_string(a, b, x), sep='')


(a, b, c) = [int(i) for i in input().split()]
w = {0: a, 1: b}
cur = 0 if w[0] > w[1] else 1
d = {cur: 1, 1 - cur: 0}
print(cur, end='')
for i in range(c - 1):
	cur = 1 - cur
	print(cur, end='')
	d[cur] += 1
for i in range(w[cur] - d[cur]):
	print(cur, end='')
for i in range(w[1 - cur] - d[1 - cur]):
	print(1 - cur, end='')


(a, b, x) = map(int, input().split())
x -= 1
lis = ['0', '1']
a -= 1
b -= 1
while x != 0:
	if a > 0 and lis[-1] == '1':
		lis.append('0')
		x -= 1
		a -= 1
	elif a > 0 and lis[0] == '1':
		lis = ['0'] + lis
		x -= 1
		a -= 1
	elif b > 0 and lis[-1] == '0':
		lis.append('1')
		x -= 1
		b -= 1
	elif b > 0 and lis[0] == '0':
		lis = ['1'] + lis
		b -= 1
		x -= 1
if a > 0:
	x = lis.index('0')
	lol = ['0'] * (a + 1)
	lis[x] = ''.join(lol)
if b > 0:
	x = lis.index('1')
	lol = ['1'] * (b + 1)
	lis[x] = ''.join(lol)
print(''.join(lis))


(a, b, x) = map(int, input().split(' '))
tmp = '10' * ((x + 1) // 2)
extra_zeroes = a - (x + 1) // 2
extra_ones = b - (x + 1) // 2
if x % 2 == 0:
	extra_ones -= 1
tmp = extra_ones * '1' + tmp + extra_zeroes * '0'
if extra_ones == -1:
	tmp = tmp[1:-1]
if x % 2 == 0:
	tmp += '1'
	if extra_ones == -1:
		tmp += '0'
print(tmp)


def calc(a, b, x):
	s = ''
	if x == 1:
		for i in range(a):
			s += '0'
		for i in range(b):
			s += '1'
		print(s)
	else:
		i = 0
		startchar = ''
		nextchar = ''
		if a > b:
			startchar = '0'
			nextchar = '1'
		else:
			startchar = '1'
			nextchar = '0'
		while i < (x + 1) // 2:
			s += startchar
			s += nextchar
			i += 1
		if (x + 1) % 2 != 0:
			s += startchar
		if (x + 1) % 2 == 0:
			a -= (x + 1) // 2
			b -= (x + 1) // 2
		elif (x + 1) % 2 != 0:
			if startchar == '0':
				a -= (x + 1) // 2 + 1
				b -= (x + 1) // 2
			else:
				b -= (x + 1) // 2 + 1
				a -= (x + 1) // 2
		ans = ''
		flag0 = 0
		flag1 = 0
		for i in s:
			ans += i
			if i == '0' and flag0 == 0:
				for k in range(a):
					ans += '0'
				flag0 = 1
			if i == '1' and flag1 == 0:
				for k in range(b):
					ans += '1'
				flag1 = 1
		print(ans)
(a, b, x) = list(map(int, input().split()))
calc(a, b, x)


temp = input().split(' ')
a = int(temp[0])
b = int(temp[1])
x = int(temp[2])
string = ''
curr = 0 if a > b else 1
while x > 0:
	string += str(curr)
	x -= 1
	if curr == 0:
		a -= 1
	else:
		b -= 1
	if x > 0:
		curr = 1 - curr
if curr == 0:
	string += str(curr) * a + str(1 - curr) * b
else:
	string += str(curr) * b + str(1 - curr) * a
print(string)


(a, b, x) = map(int, input().split())
s = ''
(one, zero) = (0, 0)
if x % 2 == 1:
	m = (x + 1) // 2
	s = '10' * m
	(one, zero) = (m, m)
	if one < b:
		s = '1' * (b - one) + s
	if zero < a:
		s = s + '0' * (a - zero)
else:
	m = x // 2
	if a > b:
		s = '0'
		(one, zero) = (m, m + 1)
		if one < b:
			s += '1' * (b - one)
		s += '10' * m
		if zero < a:
			s += '0' * (a - zero)
	else:
		s = '1'
		(one, zero) = (m + 1, m)
		if zero < a:
			s += '0' * (a - zero)
		s += '01' * m
		if one < b:
			s += '1' * (b - one)
print(s)


def main():
	(a, b, x) = map(int, input().split())
	for st in '01':
		s = st
		while len(s) <= x:
			if s[-1] == '0':
				s += '1'
			else:
				s += '0'
		aa = a - s.count('0')
		bb = b - s.count('1')
		if aa < 0 or bb < 0:
			continue
		else:
			while aa > 0:
				pos = s.index('0')
				s = s[:pos] + '0' + s[pos:]
				aa -= 1
			while bb > 0:
				pos = s.index('1')
				s = s[:pos] + '1' + s[pos:]
				bb -= 1
			print(s)
			return
main()


abx = list(map(int, input().split(' ')))
a = abx[0]
b = abx[1]
x = abx[2]
ans = ''
if a > b:
	for i in range(abx[0] + abx[1] + 1):
		if x > 1:
			if i % 2 == 0:
				ans += '0'
				a -= 1
			else:
				ans += '1'
				b -= 1
			x -= 1
		else:
			if len(ans) > 0:
				if ans[i - 1] == '0':
					ans += '1' * b + '0' * a
				else:
					ans += '0' * a + '1' * b
			else:
				ans += '0' * a + '1' * b
			break
else:
	for i in range(abx[0] + abx[1] + 1):
		if x > 1:
			if i % 2 == 1:
				ans += '0'
				a -= 1
			else:
				ans += '1'
				b -= 1
			x -= 1
		else:
			if len(ans) > 0:
				if ans[i - 1] == '0':
					ans += '1' * b + '0' * a
				else:
					ans += '0' * a + '1' * b
			else:
				ans += '0' * a + '1' * b
			break
print(ans)


import sys
(a, b, x) = map(int, sys.stdin.readline().split())
out = ''
diff = ''
if x % 2 == 1:
	i = '0'
	for loop in range(x + 1):
		diff += i
		if i == '1':
			i = '0'
		else:
			i = '1'
	for loop in range(a - (x + 1) // 2):
		out += '0'
	out += diff
	for loop in range(b - (x + 1) // 2):
		out += '1'
if x % 2 == 0:
	if a > b:
		diff = '01' + '1' * (b - x // 2) + '01' * (x // 2 - 1) + '0' + '0' * (a - x // 2 - 1)
		out = diff
	else:
		diff = '10' + '0' * (a - x // 2) + '10' * (x // 2 - 1) + '1' + '1' * (b - x // 2 - 1)
		out = diff
print(out)


from sys import stdin, stdout
from collections import defaultdict, Counter, deque
for _ in range(1):
	(a, b, x) = map(int, stdin.readline().split())
	s = []
	(c, d) = (a, b)
	while x > 0 and (a > c - min(c, d) or b > d - min(c, d)):
		if len(s) == 0:
			s.append('1')
			b -= 1
		if s[-1] == '1':
			s.append('0')
			x -= 1
			a -= 1
		else:
			s.append('1')
			x -= 1
			b -= 1
	s = ''.join((e for e in s))
	if x != 0:
		if a > 0:
			s = '0' + s
			a -= 1
		else:
			s += '1'
			b -= 1
	s = '1' * b + s
	if s[-1] == '0':
		s += '0' * a
	else:
		s = s[:len(s) - 1] + '0' * a + s[-1]
	stdout.write(s + '\n')


(a, b, x) = map(int, input().split())
digit = '0' if a < b else '1'
count1 = count0 = 0
answer = ''
for i in range(x):
	digit = '0' if digit == '1' else '1'
	answer += digit
	if digit == '1':
		count1 += 1
	else:
		count0 += 1
if digit == '0':
	answer += '0' * (a - count0)
	answer += '1' * (b - count1)
else:
	answer += '1' * (b - count1)
	answer += '0' * (a - count0)
print(answer)


(a, b, k) = map(int, input().split())
s = '0' * a
i = 1
while k > 1:
	s = s[:i] + '1' + s[i:]
	if len(s) == i + 1:
		s = s[:0] + '1' + s[:]
		b = b - 1
	b = b - 1
	k = k - 2
	i = i + 2
if k == 1:
	s = '1' + s
	b = b - 1
if b != 0:
	t = '1' * b
	s = s[:1] + t + s[1:]
print(s)


(a, b, x) = map(int, input().split())
n = a + b
otv = []
if a > b:
	otv.append(0)
	a -= 1
else:
	otv.append(1)
	b -= 1
for i in range(n):
	if x > 1 and otv[-1] == 1:
		otv.append(0)
		x -= 1
		a -= 1
	elif x > 1 and otv[-1] == 0:
		otv.append(1)
		x -= 1
		b -= 1
	elif x == 1 and otv[-1] == 1:
		while b > 0:
			otv.append(1)
			b -= 1
		while a > 0:
			otv.append(0)
			a -= 1
		break
	elif x == 1 and otv[-1] == 0:
		while a > 0:
			otv.append(0)
			a -= 1
		while b > 0:
			otv.append(1)
			b -= 1
		break
print(''.join((str(x) for x in otv)))


def main():
	rd = lambda : list(map(int, input().split()))
	(a, b, x) = rd()
	s = []
	o = ['1'] * b
	z = ['0'] * a
	flag = True if b > a else False
	for i in range(x + 1):
		if flag:
			s.append(o.pop())
		else:
			s.append(z.pop())
		flag = not flag
	if s[0] == '1':
		s = o + s
		o.clear()
	else:
		s = z + s
		z.clear()
	if s[-1] == '0':
		s += z
		z.clear()
	elif s[-1] == '1':
		s += o
		o.clear()
	if s[-2] == '0':
		for item in z:
			s.insert(len(s) - 2, item)
	if s[-2] == '1':
		for item in o:
			s.insert(len(s) - 2, item)
	for c in s:
		print(c, end='')
	print()
main()


(a, b, x) = map(int, input().split())
mas = []
s = ''
for i in range(x + 1):
	if i % 2 == 0:
		s += '1'
	else:
		s += '0'
mas.append(s)
s = list(s)
s.reverse()
mas.append(''.join(s))
s = ''
for i in range(x + 1):
	if i % 2 == 0:
		s += '0'
	else:
		s += '1'
mas.append(s)
s = list(s)
s.reverse()
mas.append(''.join(s))
for el in mas:
	if el.count('1') <= b and el.count('0') <= a:
		s = el
a -= s.count('0')
b -= s.count('1')
s = list(s)
for i in range(x):
	if s[i] == '1':
		s[i] = '1' * (b + 1)
		break
s = list(''.join(s))
for i in range(len(s)):
	if s[i] == '0':
		s[i] = '0' * (a + 1)
		break
print(''.join(s))


(a, b, x) = map(int, input().split())
number1 = 0
number0 = 0
length = 1
if a > b:
	ans = '0'
	number0 += 1
else:
	ans = '1'
	number1 += 1
for i in range(x):
	if ans[length - 1] == '1':
		number0 += 1
		ans = ans + '0'
		length += 1
	else:
		ans = ans + '1'
		number1 += 1
		length += 1
if number1 < b:
	d = ans.find('1')
	ans = ans[0:d] + '1' * (b - number1) + ans[d:]
if number0 < a:
	d = ans.find('0')
	ans = ans[0:d] + '0' * (a - number0) + ans[d:]
print(ans)


(n, m, k) = input().split()
a = int(n)
b = int(m)
x = int(k)
ls3 = []
ls = []
ls1 = []
ls1.append(a)
ls1.append(b)
ls2 = []
ls2.append(a)
ls2.append(b)
l = a + b
ls.append(0)
ls1[0] -= 1
ls3.append(1)
ls2[1] -= 1
count = 0
i = 1
while i < l:
	if count == x - 1:
		if ls3[i - 1] == 0:
			f = 0
			q = 1
		else:
			f = 1
			q = 0
		while ls2[f] > 0:
			ls3.append(f)
			ls2[f] -= 1
		while ls2[q] > 0:
			ls3.append(q)
			ls2[q] -= 1
		break
	else:
		if ls3[i - 1] == 1:
			ls3.append(0)
			ls2[0] -= 1
		else:
			ls3.append(1)
			ls2[1] -= 1
		count += 1
		i += 1
count = 0
i = 1
while i < l:
	if count == x - 1:
		if ls[i - 1] == 0:
			f = 0
			q = 1
		else:
			f = 1
			q = 0
		while ls1[f] > 0:
			ls.append(f)
			ls1[f] -= 1
		while ls1[q] > 0:
			ls.append(q)
			ls1[q] -= 1
		break
	else:
		if ls[i - 1] == 1:
			ls.append(0)
			ls1[0] -= 1
		else:
			ls.append(1)
			ls1[1] -= 1
		count += 1
		i += 1
count = 0
for j in range(1, l):
	if ls[j] != ls[j - 1]:
		count += 1
if count == x:
	for j in range(0, l):
		print(ls[j], end='')
else:
	for j in range(0, l):
		print(ls3[j], end='')


def solve(zeros, ones, changes):
	if max(zeros, ones) > min(zeros, ones):
		max_changes = min(zeros, ones) * 2
	else:
		max_changes = min(zeros, ones) * 2 - 1
	assert changes <= max_changes
	if changes % 2 == 1:
		multiple = (changes + 1) // 2
		ans = '01' * multiple
		zeros_have = multiple
		ones_have = multiple
		return '0' * (zeros - zeros_have) + ans + '1' * (ones - ones_have)
	else:
		multiple = changes // 2
		if zeros > ones:
			return '01' * multiple + '1' * (ones - multiple) + '0' * (zeros - multiple)
		else:
			return '10' * multiple + '0' * (zeros - multiple) + '1' * (ones - multiple)

def check(zeros, ones, changes):
	ans = solve(zeros, ones, changes)
	print('solve({}, {}, {}) => {}'.format(zeros, ones, changes, ans))
	assert len(ans) == zeros + ones
	assert sum([1 for digit in ans if digit == '1']) == ones
	assert sum([1 for digit in ans if digit == '0']) == zeros
	previous = None
	ans_changes = 0
	for digit in ans:
		if previous is not None:
			if digit != previous:
				ans_changes += 1
		previous = digit
	assert ans_changes == changes
(zeros, ones, changes) = map(int, input().split())
print(solve(zeros, ones, changes))


(a, b, x) = input().split(' ')
a = eval(a)
b = eval(b)
x = eval(x)
s = ''
one = 0
zero = 0
for i in range(x + 1):
	if i % 2 == 0:
		s += '1'
		one += 1
	else:
		s += '0'
		zero += 1
if one > b:
	temp = ''
	one = 0
	zero = 0
	for i in range(len(s)):
		if s[i] == '0':
			temp += '1'
			one += 1
		else:
			temp += '0'
			zero += 1
	s = temp
i = s.find('1')
s = s[:i] + '1' * (b - one) + s[i:]
i = s.find('0')
s = s[:i] + '0' * (a - zero) + s[i:]
print(s)


[a, b, x] = [int(i) for i in input().split()]
if x & 1:
	c = (x - 1) // 2
	s = '01' * c + '0' * (a - c) + '1' * (b - c)
	print(s)
else:
	c = x // 2
	if a > b:
		s = '01' * c + '1' * (b - c) + '0' * (a - c)
		print(s)
	else:
		s = '10' * c + '0' * (a - c) + '1' * (b - c)
		print(s)


N = int(100.0 + 1)
(a, b, x) = list(map(int, input().split()))
if a > b:
	s = '0'
	a -= 1
else:
	s = '1'
	b -= 1
for i in range(x):
	if b > 0 and s[-1] == '0':
		s += '1'
		b -= 1
	elif a > 0:
		s += '0'
		a -= 1
fs = ''
for i in range(len(s)):
	fs += s[i]
	if a > 0 and s[i] == '0':
		while a > 0:
			fs += '0'
			a -= 1
	if b > 0 and s[i] == '1':
		while b > 0:
			fs += '1'
			b -= 1
print(fs)


(a, b, x) = map(int, input().split())
res = []
i = 0
if x == 1:
	print(''.join(['1'] * b + ['0'] * a))
else:
	n = a + b
	if b >= a:
		res.append('1')
		b -= 1
	else:
		res.append('0')
		a -= 1
	while x - 1:
		if res[len(res) - 1] == '1':
			res.append('0')
			a -= 1
		else:
			res.append('1')
			b -= 1
		x -= 1
	if res[len(res) - 1] == '0':
		res += '0' * a
		res += '1' * b
	else:
		res += '1' * b
		res += '0' * a
	print(''.join(res))


(a, b, x) = [int(i) for i in input().split()]
odd = ''
if x % 2 == 0:
	for i in range(x // 2):
		odd += '01'
		a -= 1
		b -= 1
	if b > 0:
		print('1' * b + '0' * a + odd)
	elif b == 0:
		print(odd + '0' * a)
else:
	for i in range((x + 1) // 2):
		odd += '01'
		a -= 1
		b -= 1
	print('0' * a + odd + '1' * b)


(a, b, x) = map(int, input().split())
ans = []
zeros = 0
ones = 0
if a >= b:
	for i in range(x - 1):
		if i % 2 == 0:
			ans.append('0')
			zeros += 1
		else:
			ans.append('1')
			ones += 1
	if (x - 2) % 2 == 0:
		for i in range(b - ones):
			ans.append('1')
		for k in range(a - zeros):
			ans.append('0')
	else:
		for i in range(a - zeros):
			ans.append('0')
		for k in range(b - ones):
			ans.append('1')
	for i in range(a + b):
		if i != a + b - 1:
			print(ans[i], end='')
		else:
			print(ans[i])
else:
	for i in range(x - 1):
		if i % 2 == 0:
			ans.append('1')
			ones += 1
		else:
			ans.append('0')
			zeros += 1
	if (x - 2) % 2 == 0:
		for i in range(a - zeros):
			ans.append('0')
		for k in range(b - ones):
			ans.append('1')
	else:
		for i in range(b - ones):
			ans.append('1')
		for k in range(a - zeros):
			ans.append('0')
	for i in range(a + b):
		if i != a + b - 1:
			print(ans[i], end='')
		else:
			print(ans[i])


(a, b, x) = [int(x) for x in input().split()]
ls = list()
if a > b:
	if x % 2:
		s = int((x - 1) / 2)
		for i in range(a - s):
			ls.append('0')
		for i in range(b - s):
			ls.append('1')
		for i in range(x - 1):
			if i % 2:
				ls.append('1')
			else:
				ls.append('0')
	else:
		s = int((x - 1) / 2)
		for i in range(a - (s + 1)):
			ls.append('0')
		for i in range(b - s):
			ls.append('1')
		for i in range(x - 1):
			if i % 2:
				ls.append('1')
			else:
				ls.append('0')
elif x % 2:
	s = int((x - 1) / 2)
	for i in range(b - s):
		ls.append('1')
	for i in range(a - s):
		ls.append('0')
	for i in range(x - 1):
		if i % 2:
			ls.append('0')
		else:
			ls.append('1')
else:
	s = int((x - 1) / 2)
	for i in range(b - (s + 1)):
		ls.append('1')
	for i in range(a - s):
		ls.append('0')
	for i in range(x - 1):
		if i % 2:
			ls.append('0')
		else:
			ls.append('1')
print(''.join(ls))


a = [int(q) for q in input().strip().split()]
b = []
if a[0] > a[1]:
	(m, n) = ('0', '1')
else:
	(m, n) = ('1', '0')
	(a[0], a[1]) = (a[1], a[0])
(zero, one) = (0, 0)
for k in range(a[2]):
	if k % 2 == 0:
		b.append(m)
		zero += 1
	else:
		b.append(n)
		one += 1
if k % 2 == 0:
	for p in range(a[0] - zero):
		b.append(m)
	for p in range(a[1] - one):
		b.append(n)
else:
	for p in range(a[1] - one):
		b.append(n)
	for p in range(a[0] - zero):
		b.append(m)
print(''.join(b))


s = input()
s = s.split(' ')
for i in range(len(s)):
	s[i] = int(s[i])
a = s[0]
b = s[1]
x = s[2]
compt = 0
resu = ''
if a < b:
	while compt < x:
		resu = resu + '10'
		compt = compt + 2
	na = a - compt // 2
	nb = b - compt // 2
	if x % 2 == 1:
		resu = nb * '1' + resu + na * '0'
	elif na == 0:
		resu = resu + nb * '1'
	else:
		resu = '0' + nb * '1' + resu + (na - 1) * '0'
else:
	while compt < x:
		resu = resu + '01'
		compt = compt + 2
		na = a - compt // 2
		nb = b - compt // 2
	if x % 2 == 1:
		resu = na * '0' + resu + nb * '1'
	elif nb == 0:
		resu = resu + na * '0'
	else:
		resu = '1' + na * '0' + resu + (nb - 1) * '1'
print(resu)


(a, b, x) = map(int, input().split())
s = ''
for i in range(x - 1):
	s += str(int(i % 2 == 1))
	if i % 2 == 1:
		b -= 1
	else:
		a -= 1
if len(s) != 0:
	if s[-1] == '1':
		s += '0' * a
		s += '1' * b
	elif s[-1] == '0':
		s += '1' * b
		s += '0' * a
elif len(s) == 0:
	s += '0' * a
	s += '1' * b
count = 0
for i in range(len(s) - 1):
	if s[i] != s[i + 1]:
		count += 1
if count + 1 == x:
	o = s[-1]
	s = o + s[:len(s) - 1]
print(s)


import time
(a, b, x) = (int(i) for i in input().split())
start = time.time()
s = []
if a > b:
	j = 0
else:
	j = 1
r = [0, 0]
for i in range(x + 1):
	s.append(j)
	r[j] += 1
	j = 1 - j
if b > r[1]:
	i = 0
	while s[i] == 0:
		i += 1
	s = s[:i] + [1 for j in range(b - r[1])] + s[i:]
if a > r[0]:
	i = 0
	while s[i] == 1:
		i += 1
	s = s[:i] + [0 for j in range(a - r[0])] + s[i:]
for i in range(a + b):
	print(s[i], end='')
print()
finish = time.time()


(z, o, s) = map(int, input().split())
ans = ''
if z == 0:
	for i in range(o):
		ans += '1'
		print(ans)
elif o == 0:
	for i in range(z):
		ans += '0'
		print(ans)
else:
	if z >= o:
		ans += '0'
		(cz, co) = (1, 0)
		while s != 0:
			if ans[-1] == '0':
				ans += '1'
				co += 1
			else:
				ans += '0'
				cz += 1
			s -= 1
		tz = ''
		for i in range(z - cz):
			tz += '0'
		to = ''
		for i in range(o - co):
			to += '1'
		ans = ans[:1] + tz + ans[1:2] + to + ans[2:]
	else:
		ans += '1'
		(cz, co) = (0, 1)
		while s != 0:
			if ans[-1] == '0':
				ans += '1'
				co += 1
			else:
				ans += '0'
				cz += 1
			s -= 1
		tz = ''
		for i in range(z - cz):
			tz += '0'
		to = ''
		for i in range(o - co):
			to += '1'
		ans = ans[:1] + to + ans[1:2] + tz + ans[2:]
	print(ans)


(a, b, x) = input().split()
a = int(a)
b = int(b)
x = int(x)
r = 0
u = None
if a > b:
	s = '0'
	a -= 1
	u = False
else:
	s = '1'
	b -= 1
	u = True
while r != x - 1:
	if s[-1] == '1':
		s += '0'
		a -= 1
		u = False
	else:
		s += '1'
		b -= 1
		u = True
	r += 1
if u:
	s += '1' * b + '0' * a
else:
	s += '0' * a + '1' * b
print(s)


(a, b, x) = map(int, input().split())
s = ''
z = ''
o = ''
if x % 2:
	t = (x + 1) // 2
	while t:
		s += '01'
		a -= 1
		b -= 1
		t -= 1
	while a:
		z += '0'
		a -= 1
	while b:
		o += '1'
		b -= 1
	print(z + s + o)
else:
	x = x - 1
	t = (x + 1) // 2
	while t:
		s += '01'
		a -= 1
		b -= 1
		t -= 1
	while a > 1:
		z += '0'
		a -= 1
	while b > 1:
		o += '1'
		b -= 1
	if a == 1 and b == 1:
		print(z + s + o + '10')
	elif not b:
		print(s + z + a * '0')
	else:
		print(b * '1' + o + s)


(a, b, x) = [int(x) for x in input().split()]
s = ''
s1 = ''
s0 = ''
s_for_even_x = ''
one = 0
zero = 0
rem1 = 0
rem0 = 0
if a < b:
	s += '10'
	for i in range(1, x):
		if i % 2 == 0:
			s += '0'
		else:
			s += '1'
	for i in s:
		if i == '1':
			one += 1
		else:
			zero += 1
	rem1 = b - one
	rem0 = a - zero
	for i in range(rem1):
		s1 += '1'
	for i in range(rem0):
		s0 += '0'
	if x % 2 != 0:
		s += s0
		s1 += s
	else:
		s_for_even_x += s[:x] + s0 + s[x:]
		s1 += s_for_even_x
	print(s1)
else:
	s += '01'
	for i in range(1, x):
		if i % 2 == 0:
			s += '1'
		else:
			s += '0'
	for i in s:
		if i == '1':
			one += 1
		else:
			zero += 1
	rem1 = b - one
	rem0 = a - zero
	for i in range(rem1):
		s1 += '1'
	for i in range(rem0):
		s0 += '0'
	if x % 2 != 0:
		s += s1
		s0 += s
	else:
		s_for_even_x += s[:x] + s1 + s[x:]
		s0 += s_for_even_x
	print(s0)


(a, b, x) = [int(x) for x in input().split()]
if x % 2 == 1:
	s = [str(i % 2) for i in range(x + 1)]
	s = ''.join(s)
	s = '0' * (a - (x + 1) // 2) + s + '1' * (b - (x + 1) // 2)
	print(s)
else:
	s = [str(i % 2) for i in range(x)]
	s = ''.join(s)
	if a > b:
		s = '0' * (a - x // 2 - 1) + s + '1' * (b - x // 2) + '0'
	else:
		s = '1' + '0' * (a - x // 2) + s + '1' * (b - x // 2 - 1)
	print(s)


(a, b, x) = [int(i) for i in input().split()]
s = '01'
xx = x // 2
d = {'0': 1, '1': 1}
if a > b:
	s = '01'
	it = '0'
	for i in range(x - 1):
		s += it
		d[it] += 1
		if it == '0':
			it = '1'
		else:
			it = '0'
	if s[-1] == '0':
		print('0' * (a - d['0']) + s[:-1] + '1' * (b - d['1']) + '0')
	else:
		print('0' * (a - d['0']) + s + '1' * (b - d['1']))
else:
	s = '10'
	it = '1'
	for i in range(x - 1):
		s += it
		d[it] += 1
		if it == '0':
			it = '1'
		else:
			it = '0'
	if s[-1] == '1':
		print('1' * (b - d['1']) + s[:-1] + '0' * (a - d['0']) + '1')
	else:
		print('1' * (b - d['1']) + s + '0' * (a - d['0']))


a = 0
b = 0
x = 0

def inv(c):
	if c == '1':
		return '0'
	else:
		return '1'

def char2count(ch):
	if ch == '1':
		return b
	else:
		return a
inputarr = input().split()
a = int(inputarr[0])
b = int(inputarr[1])
x = int(inputarr[2])
flag = a - b
if flag < 0:
	c = '0'
else:
	c = '1'
sss = c
t = inv(c)
m = min(a, b) - 1
xx = x
while m > 0 and xx > 0:
	if flag < 0 and t == '0':
		m -= 1
	elif flag >= 0 and t == '1':
		m -= 1
	sss += t
	xx -= 1
	t = inv(t)
if xx > 0:
	ttt = char2count(inv(c)) - sss.count(inv(c)) - 1
	sss = sss + inv(c) * ttt
	if xx == 1:
		sss += inv(c)
	else:
		sss = inv(c) + sss
else:
	index1 = sss.index('0')
	sss = sss[:index1] + '0' * (char2count('0') - sss.count('0')) + sss[index1:]
	index2 = sss.index('1')
	sss = sss[:index2] + '1' * (char2count('1') - sss.count('1')) + sss[index2:]
print(sss)


n = input()
c = ''
n = n.split()
b = int(n[0])
a = int(n[1])
x = int(n[2])
if x == 2 * a:
	for i in range(a):
		c += '01'
	for i in range(b - a):
		c += '0'
if x == 2 * b:
	for i in range(b):
		c += '10'
	for i in range(a - b):
		c += '1'
if x < 2 * b and x < 2 * a:
	if x % 2 == 1:
		for i in range(a - (x + 1) // 2):
			c += '1'
		for i in range((x + 1) // 2):
			c += '10'
		for i in range(b - (x + 1) // 2):
			c += '0'
	elif a > b:
		for i in range(a - (x + 1) // 2 - 1):
			c += '1'
		for i in range((x + 1) // 2):
			c += '10'
		for i in range(b - (x + 1) // 2):
			c += '0'
		c += '1'
	else:
		c += '0'
		for i in range(a - x // 2):
			c += '1'
		for i in range(x // 2):
			c += '10'
		for i in range(b - x // 2 - 1):
			c += '0'
print(c)


(a, b, x) = map(int, input().split())
new = ''
if a > b:
	for i in range(x - 1):
		if i % 2:
			new += '1'
			b -= 1
		else:
			new += '0'
			a -= 1
else:
	for i in range(1, x):
		if i % 2:
			new += '1'
			b -= 1
		else:
			new += '0'
			a -= 1
if new and new[-1] == '1':
	new += '0' * a
	new += '1' * b
else:
	new += '1' * b
	new += '0' * a
print(new)


import collections
from functools import cmp_to_key
import math
import sys

def getIntList():
	return list(map(int, input().split()))
import bisect
try:
	import numpy
	dprint = print
	dprint('debug mode')
except ModuleNotFoundError:

	def dprint(*args, **kwargs):
		pass

def makePair(z):
	return [(z[i], z[i + 1]) for i in range(0, len(z), 2)]

def memo(func):
	cache = {}

	def wrap(*args):
		if args not in cache:
			cache[args] = func(*args)
		return cache[args]
	return wrap

@memo
def comb(n, k):
	if k == 0:
		return 1
	if n == k:
		return 1
	return comb(n - 1, k - 1) + comb(n - 1, k)
(a, b, x) = getIntList()
if x == 1:
	z = [0] * a
elif a < b:
	z = [1]
	b -= 1
else:
	a -= 1
	z = [0]
while x > 0:
	if z[-1] == 0:
		z.append(1)
		b -= 1
		if x <= 2:
			z.extend([1] * b)
	else:
		z.append(0)
		a -= 1
		if x <= 2:
			z.extend([0] * a)
	x -= 1
for x in z:
	print(x, end='')


from math import ceil
(a, b, x) = map(int, input().split())
n = a + b
mn = 0 if a < b else 1
p = [a, b]
s = [1 - mn if i % 2 == 0 else mn for i in range(x)]
s = s + (p[s[-1]] - s.count(s[-1])) * [s[-1]] + (p[1 - s[-1]] - s.count(1 - s[-1])) * [1 - s[-1]]
print(''.join((str(item) for item in s)))


(a, b, x) = [int(i) for i in input().split()]
ans = ''
ans += '10' * ((x + 1) // 2)
a -= (x + 1) // 2
b -= (x + 1) // 2
if x % 2 == 1:
	ans = '1' * b + ans + '0' * a
elif a > b and x % 2 == 0:
	ans = '0' + '1' * b + ans + '0' * (a - 1)
else:
	ans = '1' * (b - 1) + ans + '0' * a + '1'
print(ans)


(a, b, x) = map(int, input().strip().split())

def stupid(times, starting):
	notStarting = '0'
	if starting == '0':
		notStarting = '1'
	toReturn = ''
	flag = 1
	for i in range(times):
		if flag == 1:
			toReturn += starting
		else:
			toReturn += notStarting
		flag *= -1
	return toReturn
answer = ''
if x % 2 == 1:
	times = int((x + 1) / 2)
	answer = '1' * (b - times) + stupid(x + 1, '1') + '0' * (a - times)
else:
	times = int((x + 2) / 2)
	if a > b:
		answer = '0' * (a - times) + stupid(x + 1, '0')
		toReplaceWith = '1' * (1 + (b - (times - 1)))
		answer = answer.replace('1', toReplaceWith, 1)
	else:
		answer = '1' * (b - times) + stupid(x + 1, '1')
		toReplaceWith = '0' * (1 + (a - (times - 1)))
		answer = answer.replace('0', toReplaceWith, 1)
print(answer)


import math as ma
from sys import exit
from decimal import Decimal as dec

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

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

def nu():
	return int(input())
(a, b, x) = num()
pp = 0
ut = 0
zulmi = 0
if a >= b:
	pp = 0
	ut = 1
	zulmi = b
else:
	pp = 1
	ut = 0
	zulmi = a
v = [ut] * (a + b)
if x % 2 == 1:
	z = (x - 1) // 2
else:
	z = x // 2
if x % 2 == 0:
	v[0] = pp
	z = z - 1
	p = z
	ll = 2
	while p > 0:
		v[ll] = pp
		p -= 1
		ll += 2
	for j in range(zulmi + z + 1, a + b):
		v[j] = pp
else:
	ll = 1
	p = z
	while p > 0:
		v[ll] = pp
		p -= 1
		ll += 2
	for j in range(zulmi + z, a + b):
		v[j] = pp
print(*v, sep='')


(a, b, x) = map(int, input().split())
co = [a, b, x]
ans = [str() for i in range(a + b)]
s = (0, 1)[a < b]
i = 0
while co[2] > 1:
	ans[i] = s
	co[s] -= 1
	co[2] -= 1
	s = int(not s)
	i += 1
for _ in range(2):
	while co[s] > 0:
		ans[i] = s
		co[s] -= 1
		i += 1
	s = int(not s)
print(''.join(map(str, ans)))


(a, b, x) = map(int, input().strip().split(' '))
s = ['0'] * (x + 1)
if x % 2 == 0:
	if b < int(x / 2) + 1:
		for i in range(x + 1):
			if not i % 2 == 0:
				s[i] = '1'
		a -= int(x / 2) + 1
		if a > 0:
			s = ['0'] * a + s
	else:
		for i in range(x + 1):
			if i % 2 == 0:
				s[i] = '1'
		a -= int(x / 2)
		b -= int(x / 2) + 1
		if a > 0:
			s = s[0:2] + ['0'] * a + s[2:]
		if b > 0:
			s = ['1'] * b + s
else:
	for i in range(x + 1):
		if i % 2 == 0:
			s[i] = '1'
	a -= int((x + 1) / 2)
	b -= int((x + 1) / 2)
	if a > 0:
		s = s + ['0'] * a
	if b > 0:
		s = ['1'] * b + s
print(''.join(s))


def main():
	(a, b, x) = map(int, input().split())
	if a >= b:
		res = '0'
		a -= 1
		next = 1
	else:
		res = '1'
		b -= 1
		next = 0
	while x > 0:
		if next == 0:
			res += '0'
			a -= 1
		else:
			res += '1'
			b -= 1
		next = (next + 1) % 2
		x -= 1
	if res[0] == '0':
		res = '0' * (a + 1) + '1' * (b + 1) + res[2:]
	else:
		res = '1' * (b + 1) + '0' * (a + 1) + res[2:]
	print(res)
main()


[a, b, x] = [int(i) for i in input().split()]
mini = min(a, b)
s = ''
a_str = ''
b_str = ''
if x % 2 == 0:
	if mini == a:
		for r in range(x // 2):
			s += '10'
			a -= 1
			b -= 1
		s += '1'
		b -= 1
		for d in range(b):
			b_str += '1'
		for e in range(a):
			a_str += '0'
		for w in range(len(s)):
			if s[w] == '0':
				s = s[0:w + 1] + a_str + s[w + 1:]
				break
		print(s + b_str)
	else:
		for r in range(x // 2):
			s += '01'
			a -= 1
			b -= 1
		s += '0'
		a -= 1
		for d in range(a):
			a_str += '0'
		for e in range(b):
			b_str += '1'
		for w in range(len(s)):
			if s[w] == '1':
				s = s[0:w + 1] + b_str + s[w + 1:]
				break
		print(s + a_str)
elif mini == a:
	for r in range((x + 1) // 2):
		s += '10'
		a -= 1
		b -= 1
	for d in range(b):
		b_str += '1'
	for e in range(a):
		a_str += '0'
	print(b_str + s + a_str)
else:
	for r in range((x + 1) // 2):
		s += '01'
		a -= 1
		b -= 1
	for d in range(a):
		a_str += '0'
	for e in range(b):
		b_str += '1'
	print(a_str + s + b_str)


(a, b, x) = map(int, input().split())
if x % 2:
	z = [1, 0] * ((x + 1) // 2)
elif a > b:
	z = [0] + [1, 0] * ((x + 1) // 2)
else:
	z = [1] + [0, 1] * ((x + 1) // 2)
a -= z.count(0)
b -= z.count(1)
za = z.index(0)
z = z[:za + 1] + [0] * a + z[za + 1:]
zb = z.index(1)
z = z[:zb + 1] + [1] * b + z[zb + 1:]
for i in range(len(z)):
	print(z[i], end='')


(a, b, x) = map(int, input().split())
ans = ['1', '0'] * ((x + 1) // 2)
if x % 2 == 0:
	if b < (x + 2) / 2:
		ans = ['0'] + ans[:]
	else:
		ans = ans[:] + ['1']
(pos0, pos1) = (ans.index('0'), ans.index('1'))
zero = ['0'] * (a - ans.count('0'))
one = ['1'] * (b - ans.count('1'))
ans = ans[:pos0] + zero + ans[pos0:]
ans = ans[:pos1] + one + ans[pos1:]
print(''.join(ans))


from collections import Counter
(n, m, c) = map(int, input().split())
l = ''
size = [n, m]
if n >= m:
	ma = '0'
	s = '1'
else:
	ma = '1'
	s = '0'
l += ma
size[int(ma)] -= 1
while c > 0 and size[0] > 0 and (size[1] > 0):
	if l[-1] == ma:
		l += s
		size[int(s)] -= 1
	else:
		l += ma
		size[int(ma)] -= 1
	c -= 1
app = ['0' * size[0], '1' * size[1]]
if c == 0:
	if l[-1] != ma:
		print(app[int(ma)] + l + app[int(s)])
	else:
		print(app[int(ma)] + l[0:len(l) - 1] + app[int(s)] + ma)
elif c == 1:
	print(app[int(s)] + l + app[int(ma)])


(a, b, x) = map(int, input().split())
(m1, m2) = (max(a, b), min(a, b))
m1c = '0' if m1 == a else '1'
m2c = '1' if m1c == '0' else '0'
s = ''
is_m1 = True
while x > 0:
	x = x - 1 if len(s) > 0 else x
	s += m1c if is_m1 else m2c
	if is_m1:
		m1 -= 1
	else:
		m2 -= 1
	is_m1 = not is_m1
if m2 > 0:
	if is_m1:
		s = s + m2c * m2
	else:
		s = s[:-1] + m2c * m2 + s[-1]
if m1 > 0:
	s = m1c * m1 + s
print(s)


(a, b, x) = [int(x) for x in input().split()]
s1 = ''
s2 = ''
s3 = ''
s4 = ''
if a > b:
	for i in range(x + 1):
		if i % 2 == 0:
			s1 += '0'
			a -= 1
		else:
			s1 += '1'
			b -= 1
	for i in range(a):
		s2 += '0'
	s2 += s1
	for i in range(b):
		s3 += '1'
	for i in range(len(s2)):
		s4 += s2[i]
		if s2[i] == '1':
			loc = i
			break
	s4 += s3
	s4 += s2[loc + 1:len(s2)]
	print(s4)
else:
	for i in range(x + 1):
		if i % 2 == 0:
			s1 += '1'
			b -= 1
		else:
			s1 += '0'
			a -= 1
	for i in range(b):
		s2 += '1'
	s2 += s1
	for i in range(a):
		s3 += '0'
	for i in range(len(s2)):
		s4 += s2[i]
		if s2[i] == '0':
			loc = i
			break
	s4 += s3
	s4 += s2[loc + 1:len(s2)]
	print(s4)


l = list(map(int, input().split()))
a = l[0]
b = l[1]
x = l[2]
c = [a, b]
if b < a:
	l1 = [0]
	c = [a - 1, b]
	a1 = 0
	a2 = 1
else:
	l1 = [1]
	c = [a, b - 1]
	a1 = 1
	a2 = 0
while x != 1:
	(a1, a2) = (a2, a1)
	l1.append(a1)
	c[a1] -= 1
	x -= 1
n_l = [a1] * c[a1]
l1.extend(n_l)
n_l = [a2] * c[a2]
l1.extend(n_l)
print(''.join((str(x) for x in l1)))


while True:
	inp = input().split()
	a = int(inp[0])
	b = int(inp[1])
	s = int(inp[2]) + 1
	if a > b:
		the_max = '0'
		not_max = '1'
	else:
		the_max = '1'
		not_max = '0'
	max_list = [1 for i in range(0, s // 2 + s % 2)]
	max_list[0] = max(a, b) - (s // 2 + s % 2) + 1
	min_list = [1 for i in range(0, s // 2)]
	min_list[0] = min(a, b) - s // 2 + 1
	for i in range(0, s // 2):
		print(the_max * max_list[i], end='')
		print(not_max * min_list[i], end='')
	if s % 2:
		print(the_max * max_list[-1], end='')
	print()
	break


(a, b, x) = map(int, input().split())
ans = []
s = '1' * b
sl = [i for i in s]
if x == 1:
	print('1' * b + '0' * a)
else:
	if x % 2:
		while x != 1:
			z = s.find('11')
			sl.insert(z + 1, '0')
			x -= 2
			a -= 1
			s = ''.join(sl)
		s += '0' * a
	else:
		while x != 2:
			z = s.find('11')
			sl.insert(z + 1, '0')
			x -= 2
			a -= 1
			s = ''.join(sl)
		if a == 1:
			z = s.find('11')
			sl.insert(z + 1, '0')
			s = ''.join(sl)
		else:
			s = '0' + s + '0' * (a - 1)
	print(s)


(a, b, x) = map(int, input().split())
result = []
if a > b:
	result.append(0)
	a -= 1
else:
	result.append(1)
	b -= 1
while x > 1:
	if result[-1] == 0:
		result.append(1)
		b -= 1
	else:
		result.append(0)
		a -= 1
	x -= 1
if result[-1] == 0:
	for _ in range(a):
		result.append(0)
	for _ in range(b):
		result.append(1)
else:
	for _ in range(b):
		result.append(1)
	for _ in range(a):
		result.append(0)
print(''.join((str(x) for x in result)))


(a, b, x) = [int(x) for x in input().split()]
(mn, mx) = (min(a, b), max(a, b))
f = '0' if a <= b else '1'
o = '1' if f == '0' else '0'
temp = f * mn + o * mx
i = 1
while i != x:
	i += 1
	if i % 2 == 0:
		temp = temp[-1] + temp[:-1]
	else:
		temp = temp[i - 1] + temp[:i - 1] + temp[i:]
print(temp)


(a, b, x) = map(int, input().split())
k = x + 1
if k % 2 == 0:
	s = '0' * (a - k // 2) + '01' * (k // 2) + '1' * (b - k // 2)
elif a > b:
	s = '01' * (k // 2) + '1' * (b - k // 2) + '0' * (a - k // 2)
else:
	s = '1' * (b - k // 2) + '0' * (a - k // 2) + '01' * (k // 2)
print(s)


(a, b, x) = list(map(int, input().split()))
result = list()
if a == 0 and b == 0:
	print('')
elif a == 0:
	print('1' * b)
elif b == 0:
	print('0' * a)
else:
	if a >= b:
		result.append('0')
		a -= 1
	else:
		result.append('1')
		b -= 1
	while x > 1:
		if result[-1] == '0':
			result.append('1')
			b -= 1
			x -= 1
		else:
			result.append('0')
			a -= 1
			x -= 1
	if result[-1] == '0':
		for i in range(a):
			result.append('0')
		for i in range(b):
			result.append('1')
	else:
		for i in range(b):
			result.append('1')
		for i in range(a):
			result.append('0')
	print(''.join(result))


(a, b, x) = [int(s) for s in input().split()]
n = a + b
if a >= b:
	s = '0'
	a -= 1
	last_1 = False
else:
	s = '1'
	b -= 1
	last_1 = True
while len(s) < n:
	if x != 0:
		s += '1' if not last_1 else '0'
		last_1 = not last_1
		x -= 1
		if s[-1] == '0':
			a -= 1
		else:
			b -= 1
	elif a > 0:
		find_0 = s.find('0')
		s = s[:find_0] + '0' * a + s[find_0:]
		a = 0
	elif s[-1] == '1':
		s += b * '1'
		b = 0
	else:
		find_1 = s.find('1')
		s = s[:find_1] + '1' * b + s[find_1:]
print(s)


def sint():
	return int(input())

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

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

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

def main():
	tt = 1
	while tt:
		tt -= 1
		(a, b, x) = sints()
		lst = 0 if a > b else 1
		while x > 1 and a and b:
			if lst:
				print(1, end='')
				b -= 1
				lst = 0
			else:
				print(0, end='')
				a -= 1
				lst = 1
			x -= 1
		if lst:
			while b:
				print(1, end='')
				b -= 1
			while a:
				print(0, end='')
				a -= 1
		else:
			while a:
				print(0, end='')
				a -= 1
			while b:
				print(1, end='')
				b -= 1
		print()
main()


j = input().split(' ')
a = int(j[0])
b = int(j[1])
x = int(j[2])
s = ''
if a > b:
	s += '0'
	a -= 1
else:
	s += '1'
	b -= 1
while x > 1:
	if s[len(s) - 1] == '0':
		b -= 1
		s += '1'
	else:
		a -= 1
		s += '0'
	x -= 1
if x == 1:
	if s[len(s) - 1] == '1':
		s += '1' * b + '0' * a
		a = 0
		b = 0
	else:
		s += '0' * a + '1' * b
		a = 0
		b = 0
if x == 0:
	if s[len(s) - 1] == '0':
		s += '0' * a
		a = 0
	else:
		s += '1' * b
		b = 0
	s = '1' * b + '0' * a + s
print(s)


(a, b, x) = map(int, input().split())
res = '10'
x -= 1
a -= 1
b -= 1
while x >= 2:
	res += '10'
	a -= 1
	b -= 1
	x -= 2
if x:
	if b:
		res = '1' * (b - 1) + res + '0' * a + '1'
	else:
		res = '0' + res + '0' * (a - 1)
else:
	res = '1' * b + res + '0' * a
print(res)


w = input().split()
b = int(w[0])
a = int(w[1])
x = int(w[2])
ans = ''
last = ''
for i in range(a + b):
	if a >= b and last == '':
		ans = ans + '1'
		a = a - 1
		last = '1'
	elif b > a and last == '':
		ans = ans + '0'
		b = b - 1
		last = '0'
	elif last == '1':
		if x > a and b > 0:
			ans = ans + '0'
			b = b - 1
			x = x - 1
			last = '0'
		else:
			ans = ans + '1'
			a = a - 1
	elif last == '0':
		if x > b and a > 0:
			ans = ans + '1'
			a = a - 1
			x = x - 1
			last = '1'
		else:
			ans = ans + '0'
			b = b - 1
print(ans)


(a, b, x) = map(int, input().split())
xt = x // 2
if xt == 0:
	print('0' * a + '1' * b)
else:
	if a > b:
		t = '01' * (xt - 1) + '0'
		a -= xt
		b -= xt - 1
	else:
		t = '10' * (xt - 1) + '1'
		a -= xt - 1
		b -= xt
	if x % 2 == 0:
		if t[0] == '1':
			print(t + '0' * a + '1' * b)
		else:
			print(t + '1' * b + '0' * a)
	elif t[0] == '1':
		print(t + '0' * (a - 1) + '1' * b + '0')
	else:
		print(t + '1' * (b - 1) + '0' * a + '1')


(a, b, x) = map(int, input().split())
if a < b:
	small = ['0', a]
	large = ['1', b]
else:
	large = ['0', a]
	small = ['1', b]
g = ''
if x % 2 == 0:
	x = x // 2
	g += large[0] * (large[1] - (x - 1) - 1)
	g += (small[0] + large[0]) * (x - 1)
	g += small[0] * (small[1] - (x - 1))
	g += large[0]
else:
	x -= 1
	x = x // 2
	g += small[0] * (small[1] - x)
	g += (large[0] + small[0]) * x
	g += large[0] * (large[1] - x)
print(g)


(a, b, n) = map(int, input().split())
m = n
ans = ''
flag = 1
if n > 1:
	for i in range(n):
		if flag == 1:
			ans = ans + '1'
			b = b - 1
			flag = 0
		else:
			flag = 1
			ans = ans + '0'
			a = a - 1
	if ans[-1] == '0':
		if b > 0:
			ans = ans + '0' * a + '1' * b
		elif a > 0:
			if a > 0:
				ans = '0' + ans + '0' * (a - 1)
	elif a > 0:
		ans = ans + '1' * b + '0' * a
	else:
		ans = '1' + ans + '1' * (b - 1)
	print(ans)
else:
	print('1' * b + '0' * a)


(b, a, c) = map(int, input().split())
bb = b
aa = a
cc = c
k = ''

def rec(s, a, b, c, k):
	if a == 0 and b == 0:
		if c != 0:
			return 'a'
		return k
	if c == 0:
		if s == '0':
			return rec('0', a, b - 1, c, k + '0')
		else:
			return rec('1', a - 1, b, c, k + '1')
	if c == 1:
		if s == '0':
			if b > 0:
				return rec(s, a, b - 1, c, k + s)
			else:
				return rec('1', a - 1, b, c - 1, k + '1')
		elif a > 0:
			return rec(s, a - 1, b, c, k + s)
		else:
			return rec('0', a, b - 1, c - 1, k + '0')
	if s == '0':
		return rec('1', a - 1, b, c - 1, k + '1')
	else:
		return rec('0', a, b - 1, c - 1, k + '0')
d = rec('0', a, b - 1, c, '0')
if d.count('a') != 0:
	d = rec('1', a - 1, b, c, '1')
print(d)


import collections, itertools

def helper(a, b, x, s, res):
	if x == 1:
		if s[-1] == '0' and b:
			s += '0' * a + '1' * b
		elif s[-1] == '1' and a:
			s += '1' * b + '0' * a
		res.append(s)
	if res != []:
		return
	if s[-1] == '0':
		helper(a, b - 1, x - 1, s + '1', res)
	elif s[-1] == '1':
		helper(a - 1, b, x - 1, s + '0', res)
while True:
	try:
		(a, b, x) = map(int, input().split())
		if a > b:
			s = '0'
			a -= 1
		else:
			s = '1'
			b -= 1
		res = []
		helper(a, b, x, s, res)
		print(res[0])
	except:
		break


(a, b, x) = map(int, input().split())
st = str()
if x % 2 == 0:
	if a >= b:
		for i in range(x // 2):
			st += '01'
		for i in range(b - x // 2):
			st += '1'
		for i in range(a - x // 2):
			st += '0'
		print(st)
		exit()
	else:
		for i in range(x // 2):
			st += '10'
		for i in range(a - x // 2):
			st += '0'
		for i in range(b - x // 2):
			st += '1'
		print(st)
		exit()
elif a >= b:
	for i in range(x // 2):
		st += '01'
	for i in range(a - x // 2):
		st += '0'
	for i in range(b - x // 2):
		st += '1'
	print(st)
	exit()
else:
	for i in range(x // 2):
		st += '10'
	for i in range(b - x // 2):
		st += '1'
	for i in range(a - x // 2):
		st += '0'
	print(st)
	exit()


a = str(input())
arr = a.split(' ')
summ = int(arr[0]) + int(arr[1])
nul = int(arr[0])
odin = int(arr[1])
num = int(arr[2])
chet = num / 2 - num // 2
shablon1 = '1'
shablon0 = '0'
shablon = '01' if nul > (num + 1) // 2 else '10'
shablon = '10' if odin > (num + 1) // 2 else '01'
strinn = ''
strinnn = ''
i = 0
if chet > 0:
	while i < (num + 1) / 2:
		strinn = strinn + shablon
		i += 1
else:
	while i < num / 2:
		strinn = strinn + shablon
		i += 1
	if strinn[0] == '1':
		strinn = strinn + shablon1
	else:
		strinn = strinn + shablon0
odin = odin - strinn.count('1')
nul = nul - strinn.count('0')
i = 0
if strinn[0] == '1':
	if odin > 0:
		while i < odin:
			strinn = shablon1 + strinn
			i += 1
	if nul > 0 and strinn[len(strinn) - 1] == '0':
		i = 0
		while i < nul:
			strinn = strinn + shablon0
			i += 1
	elif nul > 0 and strinn[len(strinn) - 1] != '0':
		i = 0
		while i < nul:
			strinn = strinn[0:len(strinn) - 1] + shablon0 + shablon1
			i += 1
else:
	if nul > 0:
		while i < nul:
			strinn = shablon0 + strinn
			i += 1
	if odin > 0 and strinn[len(strinn) - 1] == '1':
		i = 0
		while i < odin:
			strinn = strinn + shablon1
			i += 1
	elif odin > 0 and strinn[len(strinn) - 1] != '1':
		i = 0
		while i < nul:
			strinn = strinn[0:len(strinn) - 1] + shablon1 + shablon0
			i += 1
print(strinn)


from collections import Counter
for y in range(1):
	(n, m, k) = map(int, input().split())
	if n >= m:
		if k % 2 == 0:
			ans = '0'
			k -= 1
			n -= 1
			temp = (k + 1) // 2
			ans += '1' * (m - temp)
			ans += '10' * temp
			ans += '0' * (n - temp)
		else:
			ans = ''
			temp = (k + 1) // 2
			ans += '1' * (m - temp)
			ans += '10' * temp
			ans += '0' * (n - temp)
	elif k % 2 == 0:
		ans = '1'
		k -= 1
		m -= 1
		temp = (k + 1) // 2
		ans += '0' * (n - temp)
		ans += '01' * temp
		ans += '1' * (m - temp)
	else:
		ans = ''
		temp = (k + 1) // 2
		ans += '0' * (n - temp)
		ans += '01' * temp
		ans += '1' * (m - temp)
	print(ans)


(a, b, x) = list(map(int, input().split()))
digit = '0'
ans = ''
kitne = a + b
l = [0 for j in range(kitne)]
k = 0
while x > 1:
	if k == 0 // 2:
		if not a < b:
			l[k] = 0
			a -= 1
		else:
			l[k] = 1
			b -= 1
	else:
		l[k] = abs(l[k - 1] - 1)
		if l[k] != 0:
			b -= 1
		else:
			a -= 1
		x -= 1
	k = k + 2 // 2
if l[k - 1] != 0:
	while not b <= 0:
		l[k] = 1
		k += 1
		b -= 1
	while not a <= 0:
		l[k] = 0
		k += 1
		a -= 1
else:
	while not a <= 0:
		l[k] = 0
		k += 1
		a -= 1
	while not b <= 0:
		l[k] = 1
		k += 1
		b -= 1
for m in range(kitne):
	print(l[m], end='')
print()


(a, b, x) = map(int, input().split())
ans = ''
pool = [a, b]
if a >= b:
	prev = 1
else:
	prev = 0
while x >= 0:
	if x == 1:
		ans = ans + str((prev + 1) % 2) * pool[(prev + 1) % 2]
	elif x == 0:
		ans = ans + str((prev + 1) % 2) * pool[(prev + 1) % 2]
	else:
		ans = ans + str((prev + 1) % 2)
		pool[(prev + 1) % 2] -= 1
	prev = (prev + 1) % 2
	x -= 1
print(ans)


(a, b, x) = input().split()
a = int(a)
b = int(b)
x = int(x)
y = x
aa = a
bb = b
s = ''
one = '1'
zero = '0'
if b > a:
	s = s + one
	b -= 1
	count = 0
	while x > 0:
		if count % 2 == 0:
			s = s + zero
			a -= 1
		else:
			s = s + one
			b -= 1
		count += 1
		x -= 1
else:
	s = s + zero
	a -= 1
	count = 0
	while x > 0:
		if count % 2 == 1:
			s = s + zero
			a -= 1
		else:
			s = s + one
			b -= 1
		count += 1
		x -= 1
ans_one = ''
ans_zero = ''
for i in range(a):
	ans_zero += zero
for i in range(b):
	ans_one += one
if aa >= bb:
	s = ans_zero + s
	if y % 2 == 0:
		s = s[0:len(s) - 1]
		s = s + ans_one
		s = s + zero
	else:
		s = s + ans_one
else:
	s = ans_one + s
	if y % 2 == 0:
		s = s[0:len(s) - 1]
		s = s + ans_zero
		s = s + one
	else:
		s = s + ans_zero
print(s)


nhap = input().split()
nhap[0] = int(nhap[0])
nhap[1] = int(nhap[1])
nhap[2] = int(nhap[2]) - 1
if nhap[1] > nhap[0]:
	st = '1'
	nhap[1] -= 1
else:
	st = '0'
	nhap[0] -= 1
for i in range(nhap[2]):
	num = 1 - int(st[len(st) - 1])
	st += str(num)
	nhap[num] -= 1
	nhap[2] -= 1
num = int(st[len(st) - 1])
while nhap[num] > 0:
	st = st + str(num)
	nhap[num] -= 1
num = 1 - num
while nhap[num] > 0:
	st = st + str(num)
	nhap[num] -= 1
print(st)


(a, b, x) = map(int, input().split())
s = ''
a -= 1
b -= 1
x -= 1
if a > b:
	s += '01'
	while x > 0:
		x -= 1
		if s[-1] == '1':
			s += '0'
			a -= 1
		else:
			s += '1'
			b -= 1
else:
	s += '10'
	while x > 0:
		x -= 1
		if s[-1] == '1':
			s += '0'
			a -= 1
		else:
			s += '1'
			b -= 1
zeroes = '0' * (a + 1)
ones = '1' * (b + 1)
s = s.replace('0', zeroes, 1)
s = s.replace('1', ones, 1)
print(s)


a1 = input()
b1 = a1.split()
a = int(b1[0])
b = int(b1[1])
x = int(b1[2])
m = ''
n = ''
ans = ''
for i in range(a):
	m += '0'
for j in range(b):
	n += '1'
if x % 2 == 0:
	o = x // 2
	c0 = a
	c1 = b
	if a >= b:
		ans = m
	else:
		ans = n
	z = len(ans) - 1
	for k in range(o - 1):
		c = 0
		while c < z:
			if a >= b:
				if ans[c] == ans[c + 1]:
					ans = ans[:c + 1] + '1' + ans[c + 1:]
					c1 -= 1
					z += 1
					break
				c += 1
			else:
				if ans[c] == ans[c + 1]:
					ans = ans[:c + 1] + '0' + ans[c + 1:]
					z += 1
					c0 -= 1
					c += 1
					break
				c += 1
	for l in range(len(ans) - 1):
		if a >= b:
			if ans[l] == ans[l + 1]:
				p = ''
				for i in range(c1):
					p += '1'
				ans = ans[:l + 1] + p + ans[l + 1:]
				break
		elif ans[l] == ans[l + 1]:
			p = ''
			for i in range(c0):
				p += '0'
			ans = ans[:l + 1] + p + ans[l + 1:]
			break
	print(ans)
else:
	o = x // 2
	c0 = a
	c1 = b
	if a >= b:
		ans = m
	else:
		ans = n
	z = len(ans) - 1
	for k in range(o):
		c = 0
		while c < z:
			if a >= b:
				if ans[c] == ans[c + 1]:
					ans = ans[:c + 1] + '1' + ans[c + 1:]
					c1 -= 1
					z += 1
					break
				c += 1
			else:
				if ans[c] == ans[c + 1]:
					ans = ans[:c + 1] + '0' + ans[c + 1:]
					c0 -= 1
					z += 1
					break
				c += 1
	if ans[len(ans) - 1] == '0':
		for i in range(c1):
			ans += '1'
	else:
		for i in range(c0):
			ans += '0'
	print(ans)


(a, b, x) = map(int, input().split())
count = 0
if a >= b:
	s = ['0']
else:
	s = ['1']
yo = []
if s == ['1']:
	for i in range(x):
		if i % 2 == 0:
			s.append('0')
		else:
			s.append('1')
	k1 = s.count('1')
	k2 = s.count('0')
	final1 = []
	final2 = []
	for i in range(b - k1):
		final1.append('1')
	for i in range(a - k2):
		final2.append('0')
	yo = final1 + s[0:1] + final2 + s[1:]
else:
	for i in range(x):
		if i % 2 == 0:
			s.append('1')
		else:
			s.append('0')
	k1 = s.count('0')
	k2 = s.count('1')
	final1 = []
	final2 = []
	for i in range(a - k1):
		final1.append('0')
	for i in range(b - k2):
		final2.append('1')
	yo = final1 + s[0:1] + final2 + s[1:]
print(''.join(yo))


(a, b, x) = map(int, input().split())
if a <= b:
	s = ['1']
	b = b - 1
	cnt = 0
	f = 0
	while cnt != x:
		if f == 0:
			s.append('0')
			f = 1
			a = a - 1
		else:
			s.append('1')
			b = b - 1
			f = 0
		cnt += 1
	f = 0
	p = []
	for i in s:
		p.append(i)
		if f == 0:
			k = 0
			while k < b:
				p.append('1')
				k = k + 1
			f = 1
			continue
		if f == 1:
			k = 0
			while k < a:
				p.append('0')
				k = k + 1
			f = 2
			continue
	print(''.join(p))
else:
	s = ['0']
	a = a - 1
	cnt = 0
	f = 0
	while cnt != x:
		if f == 0:
			s.append('1')
			b = b - 1
			f = 1
		else:
			s.append('0')
			a = a - 1
			f = 0
		cnt += 1
	f = 0
	p = []
	for i in s:
		p.append(i)
		if f == 0:
			k = 0
			while k < a:
				p.append('0')
				k = k + 1
			f = 1
			continue
		if f == 1:
			k = 0
			while k < b:
				p.append('1')
				k = k + 1
			f = 2
			continue
	print(''.join(p))


(*ab, x) = map(int, input().split(' '))
st = int(ab[1] > ab[0])
base = str(st)
ab[st] -= 1
while x:
	st = (st + 1) % 2
	base += str(int(st))
	x -= 1
	ab[st] -= 1
if ab[0]:
	base = base.replace('0', '0' * (ab[0] + 1), 1)
if ab[1]:
	base = base.replace('1', '1' * (ab[1] + 1), 1)
print(base)


(a, b, x) = list(map(int, input().split()))
if (x + 1) % 2 == 0:
	t = (x + 1) // 2
	ans = '01' * t
	ans = '0' * (a - t) + ans + '1' * (b - t)
else:
	s = x // 2
	ans = '01' * s
	if a < b:
		ans = '1' + '0' * (a - s) + ans + '1' * (b - s - 1)
	else:
		ans = '0' * (a - s - 1) + ans + '1' * (b - s) + '0'
print(ans)


(a, b, x) = [int(i) for i in input().split()]
if a * 2 == x:
	s = '1'
	b -= 1
else:
	s = '0'
	a -= 1
while a + b > 0:
	if x > 1:
		if s[-1] == '0':
			s += '1'
			b -= 1
			x -= 1
		elif s[-1] == '1':
			s += '0'
			a -= 1
			x -= 1
	elif x == 1:
		if a != 0 and s[-1] == '0':
			a -= 1
			s += '0'
		elif b != 0 and s[-1] == '1':
			b -= 1
			s += '1'
		else:
			x -= 1
			if s[-1] == '1':
				a -= 1
				s += '0'
			else:
				b -= 1
				s += '1'
	elif s[-1] == '0':
		a -= 1
		s += '0'
	else:
		b -= 1
		s += '1'
print(s)


(a, b, x) = map(int, input().split())
t = ''
if x == 1:
	print(a * '0' + b * '1')
else:
	while x > 1:
		if len(t) > 0:
			x -= 2
		else:
			x -= 1
		t += '10'
		(a, b) = (a - 1, b - 1)
	(l, r) = (0, 0)
	if x == 1:
		if b > 0:
			r = 1
			l = 0
			b -= 1
		elif a > 0:
			r = 0
			l = 1
			a -= 1
	if a > 0:
		t += '0' * a
	if b > 0:
		t = '1' * b + t
	print('0' * l + t + '1' * r)


(n, m, k) = map(int, input().split())
if k % 2 == 0 and n > m:
	print('01' * (k // 2) + (m - k // 2) * '1' + (n - k // 2) * '0')
elif k % 2 == 0 and n <= m:
	print('10' * (k // 2) + (n - k // 2) * '0' + (m - k // 2) * '1')
elif k % 2 != 0 and n > m:
	print('01' * (k // 2) + (n - k // 2) * '0' + (m - k // 2) * '1')
else:
	print('10' * (k // 2) + (m - k // 2) * '1' + (n - k // 2) * '0')


(a, b, x) = map(int, input().split())
sp_0 = a
sp_1 = b
ans = ''
for i in range(x - 1):
	if i % 2 == 0:
		ans += '1'
		sp_1 -= 1
	else:
		ans += '0'
		sp_0 -= 1
if sp_1 == 0:
	ans = '0' + ans + '0' * (sp_0 - 1)
elif sp_0 == 0:
	ans = '1' + ans + '1' * (sp_1 - 1)
else:
	ans = '1' * sp_1 + '0' * sp_0 + ans
print(ans)


(a, b, x) = list(map(int, input().split()))
if a >= b:
	s = '0'
	for i in range(x):
		if i % 2 == 0:
			s += '1'
		else:
			s += '0'
else:
	s = '1'
	for i in range(x):
		if i % 2 == 0:
			s += '0'
		else:
			s += '1'
zero = 0
one = 0
for q in range(len(s)):
	if s[q] == '0':
		zero += 1
	else:
		one += 1
z = ''
for w in range(a - zero):
	z += '0'
o = ''
for w in range(b - one):
	o += '1'
if s[0] == '0' and s[-1] == '1':
	print(z + s + o)
elif s[0] == '1' and s[-1] == '0':
	print(o + s + z)
if s[0] == '0' and s[-1] == '0':
	print(s[0] + o + s[1:] + z)
elif s[0] == '1' and s[-1] == '1':
	print(s[0] + z + s[1:] + o)


import itertools

def s(s, l, x, y1, y2):
	t = [y2, y1] * (x // 2)
	n_x = x // 2 * 2 - 1
	if n_x < 0:
		n_x = 0
	if x - n_x == 2:
		t += [y2, y1]
		num_each = len(t) // 2
		t += [y1] * (s - num_each)
		t = [y2] * (l - num_each) + t
	elif x - n_x == 1:
		num_each = len(t) // 2
		t += [y1] * (s - num_each)
		t += [y2] * (l - num_each)
	elif x - n_x == 0:
		num_each = len(t) // 2
		t += [y1] * (s - num_each)
		t = [y2] * (l - num_each) + t
	print(''.join(t))

def solution(a, b, x):
	if a < b:
		s(a, b, x, '0', '1')
	else:
		s(b, a, x, '1', '0')

def main():
	import sys
	(a, b, x) = map(int, sys.stdin.read().split())
	solution(a, b, x)
main()


(zeroes, ones, indices) = map(int, input().split())
result = ''
count = {'0': 0, '1': 0}
opposite = {'1': '0', '0': '1'}
result = '0' if zeroes > ones else '1'
count[result[0]] += 1
while indices > 0:
	count[opposite[result[len(result) - 1]]] += 1
	result += opposite[result[len(result) - 1]]
	indices -= 1
i = 0
while result[i] != '1':
	i += 1
result = result[:i] + '1' * (ones - count['1']) + result[i:]
i = 0
while result[i] != '0':
	i += 1
result = result[:i] + '0' * (zeroes - count['0']) + result[i:]
print(result)


(a, b, x) = map(int, input().split())
n = a + b
if x == 1:
	ans = '1' * b + '0' * a
	print(ans)
	exit(0)
was = False
ans = ''
x += 1
while x > 1 and a > 0 and (b > 0):
	if was:
		ans += '0'
		was = False
		a -= 1
	else:
		ans += '1'
		was = True
		b -= 1
	x -= 1
if was:
	if x == 2:
		if b == 0:
			ans = '0' + ans + '0' * (a - 1)
		else:
			ans = ans + '0' * a + '1' * b
	if x == 1:
		ans = ans + '1' * b + '0' * a
else:
	if x == 1:
		ans = ans + '0' * a + '1' * b
	if x == 2:
		ans = ans + '1' * b + '0' * a
print(ans)


(z, o, x) = map(int, input().split())
s = '0' * z
if o > 0:
	(s, o) = ('1', o - 1)
	for i in range(x):
		if s[i] == '0' and o > 0:
			(s, o, x) = (s + '1', o - 1, x - 1)
		if s[i] == '1' and z > 0:
			(s, z, x) = (s + '0', z - 1, x - 1)
	if x > 0 and z > 0:
		(s, z) = ('0' + s, z - 1)
	if s[0] == '0':
		s = '0' * (z + 1) + '1' * o + s[1:]
	else:
		s = '1' * (o + 1) + '0' * z + s[1:]
print(s)


(a, b, x) = map(int, input().split())
X = x
n = a + b
x -= 1
ans = ''
if x == 0:
	print('0' * a + '1' * b)
else:
	if x % 2 == 1:
		ans = '1'
		b -= 1
		x -= 1
	k = 0
	ans = ans + '01' * (x // 2) + '0' * (a - x // 2) + '1' * (b - x // 2)
	for i in range(n - 1):
		if ans[i] != ans[i + 1]:
			k += 1
	if k == X:
		print(ans)
	else:
		print(ans[n - 1] + ans[:n - 1])


s = input()
s = s.split()
x = ''
for i in range(len(s)):
	s[i] = int(s[i])
if s[0] >= s[1]:
	for j in range(s[2]):
		if j % 2 == 0:
			x = x + '0'
		else:
			x = x + '1'
	if s[2] % 2 == 0:
		s1 = s[2] // 2
		s2 = s[2] // 2
	else:
		s1 = s[2] // 2
		s2 = s[2] // 2 + 1
else:
	for j in range(s[2]):
		if j % 2 == 0:
			x = x + '1'
		else:
			x = x + '0'
	if s[2] % 2 == 0:
		s1 = s[2] // 2
		s2 = s[2] // 2
	else:
		s1 = s[2] // 2 + 1
		s2 = s[2] // 2
if len(x) == 0:
	for i in range(s[0]):
		x = x + '0'
	for i in range(s[1]):
		x = x + '1'
elif x[len(x) - 1] == '0':
	for i in range(s[0] - s2):
		x = x + '0'
	for i in range(s[1] - s1):
		x = x + '1'
elif x[len(x) - 1] == '1':
	for i in range(s[1] - s1):
		x = x + '1'
	for i in range(s[0] - s2):
		x = x + '0'
print(x)


(a, b, x) = map(int, input().split())
if a < b:
	s = '10'
else:
	s = '01'
ss = ''
for i in range(150):
	ss += s
aa = a
bb = b
xxxx = x
for i in range(x + 1):
	if ss[i] == '0':
		a -= 1
	else:
		b -= 1
ans = ''
for i in range(x + 1):
	if ss[i] == '0':
		ans += ss[i]
		while a > 0:
			ans += '0'
			a -= 1
	else:
		ans += ss[i]
		while b > 0:
			ans += '1'
			b -= 1
xx = 0
for i in range(len(ans) - 1):
	if ans[i] != ans[i + 1]:
		xx += 1
print(ans)


(a, b, x) = map(int, input().split())
string = ''
if x % 2 == 0 and a > b:
	string = '01' * (x // 2) + '1' * (b - x // 2) + '0' * (a - x // 2)
elif x % 2 == 0 and a <= b:
	string = '10' * (x // 2) + '0' * (a - x // 2) + '1' * (b - x // 2)
elif x % 2 == 1 and a > b:
	string = '01' * (x // 2) + '0' * (a - x // 2) + '1' * (b - x // 2)
elif x % 2 == 1 and a <= b:
	string = '10' * (x // 2) + '1' * (b - x // 2) + '0' * (a - x // 2)
print(string)


from sys import stdin, stdout

def get_string(a, b, x, flag):
	if flag == 0:
		cur = '0'
	else:
		cur = '1'
	ans = cur
	if cur == '1':
		cur = '0'
		b -= 1
	else:
		cur = '1'
		a -= 1
	while x > 0:
		ans += cur
		x -= 1
		if cur == '1':
			b -= 1
			cur = '0'
		else:
			a -= 1
			cur = '1'
	if a > 0:
		pos = ans.index('0')
		ans = ans[:pos] + '0' * a + ans[pos:]
	if b > 0:
		pos = ans.index('1')
		ans = ans[:pos] + '1' * b + ans[pos:]
	return ans
(a, b, x) = map(int, stdin.readline().strip().split())
if a > b:
	ans = get_string(a, b, x, 0)
else:
	ans = get_string(a, b, x, 1)
print(ans)


(a, b, x) = map(int, input().split())
if a > b:
	if (x + 1) % 2 == 0:
		r = (x + 1) // 2
	else:
		r = (x + 1) // 2 + 1
	s = '0' * (a - r + 1)
	s += '1' * (b - (x + 1 - r) + 1)
	temp = 0
	while len(s) < a + b:
		if temp == 1:
			s += '1'
			temp = 0
		else:
			s += '0'
			temp = 1
else:
	if (x + 1) % 2 == 0:
		r = (x + 1) // 2
	else:
		r = (x + 1) // 2 + 1
	s = '1' * (b - r + 1)
	s += '0' * (a - (x + 1 - r) + 1)
	temp = 1
	while len(s) < a + b:
		if temp == 1:
			s += '1'
			temp = 0
		else:
			s += '0'
			temp = 1
print(s)


(a, b, x) = list(map(int, input().split()))
s = ''
start = 0 if a > b else 1
cur = start
for i in range(x + 1):
	s += str(cur)
	if cur == 0:
		a -= 1
	else:
		b -= 1
	cur = 1 - cur
if x % 2 == 0:
	if start == 0:
		s = s[0] + '0' * a + '1' * b + s[1:]
	else:
		s = s[0] + '1' * b + '0' * a + s[1:]
elif start == 0:
	s = s[0] + '0' * a + '1' * b + s[1:]
else:
	s = s[0] + '1' * b + '0' * a + s[1:]
print(s)


(a, b, x) = map(int, input().split())
if a >= b:
	s = '0'
	a -= 1
else:
	s = '1'
	b -= 1
fa = False
fb = False
for i in range(1, a + b):
	if x != 1:
		if s[i - 1] == '1':
			s += '0'
			a -= 1
			if a <= 0:
				fa = True
				break
		else:
			s += '1'
			b -= 1
			if b <= 0:
				fb = True
				break
		x -= 1
	else:
		break
if not fa and (not fb):
	if s[-1] == '0':
		s += '0' * a
		s += '1' * b
	else:
		s += '1' * b
		s += '0' * a
elif fa and (not fb):
	s += '1' * b
else:
	s += '0' * a
print(s)


(a, b, x) = map(int, input().split())
ok = 0
if b > a:
	o = b
	b = a
	a = o
	ok = 1
n = a + b
u = [0] * n
j = 1
if x % 2 == 1:
	u[0] = 1
	x -= 1
	b -= 1
	j = 2
d = x // 2
if d == 0:
	j = 1
for i in range(d - 1):
	u[j] = 1
	b -= 1
	j += 2
for i in range(b):
	u[j] = 1
	j += 1
if not ok:
	for i in u:
		print(i, end='')
else:
	for i in u:
		if i == 1:
			print(0, end='')
		else:
			print(1, end='')


import sys, os
from io import BytesIO, IOBase
import collections, itertools, bisect, heapq, math, string
from decimal import *
BUFSIZE = 8192
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')

def main():
	(a, b, x) = map(int, input().split())
	ans = ''
	if x % 2 == 1:
		temp = (x + 1) // 2
		ans += '01' * temp
		ans = '0' * (a - temp) + ans + '1' * (b - temp)
	else:
		temp = x // 2
		if a >= b:
			ans = '01' * temp + '1' * (b - temp) + '0' * (a - temp)
		else:
			ans = '10' * temp + '0' * (a - temp) + '1' * (b - temp)
	print(ans)
main()


(a, b, x) = map(int, input().split())
s = ''
first = True
if x // 2 >= b:
	first = False
while x > 1:
	if first:
		if b > 0:
			s += '1'
			b -= 1
			x -= 1
	elif a > 0:
		s += '0'
		a -= 1
		x -= 1
	first = not first
if x == 1:
	if first:
		s += '1' * b + '0' * a
	else:
		s += '0' * a + '1' * b
print(s)


(a, b, x) = map(int, input().split())
if x % 2 != 0:
	s = '1' * (b - (x + 1) // 2) + '10' * ((x + 1) // 2) + '0' * (a - (x + 1) // 2)
elif a > b:
	s = '0' + '1' * (b - (x - 2) // 2) + '01' * ((x - 2) // 2) + '0' * (a - (x - 2) // 2 - 1)
else:
	(a, b) = (b, a)
	s = '0' + '1' * (b - (x - 2) // 2) + '01' * ((x - 2) // 2) + '0' * (a - (x - 2) // 2 - 1)
	s1 = ''
	for x in s:
		s1 += str(int(x) ^ 1)
	s = s1
print(s)


(a, b, lth) = map(int, input().split())
ans = ''
if lth & 1:
	c = (lth + 1) // 2 - 1
	ans += '01' * c
	ans += '0' * (a - c)
	ans += '1' * (b - c)
else:
	c = lth // 2
	if a > b:
		ans += '01' * c + '1' * (b - c) + '0' * (a - c)
	else:
		ans += '10' * c + '0' * (a - c) + '1' * (b - c)
print(ans)


(a, b, x) = input().split()
a = int(a)
b = int(b)
x = int(x)
if a >= b:
	s = '0'
	a -= 1
	prev = 0
else:
	s = '1'
	b -= 1
	prev = 1
xx = a + b
for i in range(0, xx):
	if x > 1:
		if prev == 0:
			prev = 1
			b -= 1
			s += '1'
		else:
			prev = 0
			a -= 1
			s += '0'
		x -= 1
	else:
		break
if prev == 1:
	while b > 0:
		s += '1'
		b -= 1
	while a > 0:
		s += '0'
		a -= 1
else:
	while a > 0:
		s += '0'
		a -= 1
	while b > 0:
		s += '1'
		b -= 1
print(s)


(a, b, x) = input().split()
a = int(a)
b = int(b)
x = int(x)
last = 0
if a > b:
	last = 1
for i in range(x - 1):
	if last == 0:
		print('1', end='')
		last = 1
		b -= 1
	else:
		print('0', end='')
		last = 0
		a -= 1
if last == 1:
	for i in range(a):
		print('0', end='')
	for i in range(b):
		print('1', end='')
else:
	for i in range(b):
		print('1', end='')
	for i in range(a):
		print('0', end='')
print('')


(a, b, x) = map(int, input().split())
ans = ''
oe = 1
bb = b
aa = a
if x == 1:
	print('0' * a + '1' * b)
	exit()
while a or b:
	if x > 1:
		if oe & 1:
			if bb > aa:
				ans += '1'
				b -= 1
			else:
				ans += '0'
				a -= 1
		elif bb > aa:
			ans += '0'
			a -= 1
		else:
			ans += '1'
			b -= 1
		oe = 1 - oe
		x -= 1
	else:
		if ans[-1] == '1':
			ans += '0' * a + '1' * b
		else:
			ans += '1' * b + '0' * a
		a = 0
		b = 0
print(ans)


(a, b, x) = map(int, input().split())
out = [0]
a -= 1
for i in range(x):
	next_left = int(not out[0])
	next_right = int(not out[-1])
	if next_left == 0 and a > 0:
		out = [0] + out
		a -= 1
	elif next_right == 0 and a > 0:
		out.append(next_right)
		a -= 1
	elif next_left == 1 and b > 0:
		out = [1] + out
		b -= 1
	elif next_right == 1 and b > 0:
		out.append(1)
		b -= 1
if a > 0:
	last_0_pos = len(out) - 1
	while out[last_0_pos] != 0:
		last_0_pos -= 1
	out = out[:last_0_pos] + [0] * a + out[last_0_pos:]
if b > 0:
	last_1_pos = len(out) - 1
	while out[last_1_pos] != 1:
		last_1_pos -= 1
	out = out[:last_1_pos] + [1] * b + out[last_1_pos:]
print(''.join(map(str, out)))


(a, b, x) = map(int, input().strip().split())
if a > b:
	r = '0'
	a = a - 1
else:
	r = '1'
	b = b - 1
while x > 1:
	if r[-1] != '0':
		r = r + '0'
		a = a - 1
	else:
		r = r + '1'
		b = b - 1
	x = x - 1
if r[-1] == '0':
	r = r + '0' * a + '1' * b
else:
	r = r + '1' * b + '0' * a
print(r)


def inp():
	return map(int, input().split())
(a, b, x) = inp()
if x == 1:
	print('0' * a, '1' * b, sep='')
elif a >= b:
	if x % 2 == 0:
		print('01' * (x // 2), '1' * (b - x // 2), '0' * (a - x // 2), sep='')
	else:
		print('01' * ((x - 1) // 2), '0' * (a - x // 2), '1' * (b - x // 2), sep='')
elif x % 2 == 0:
	print('10' * (x // 2), '0' * (a - x // 2), '1' * (b - x // 2), sep='')
else:
	print('10' * ((x - 1) // 2), '1' * (b - x // 2), '0' * (a - x // 2), sep='')


l = input().split()
a = int(l[0])
b = int(l[1])
x = int(l[2])
(a, b) = (b, a)
if x % 2:
	z = (x + 1) // 2
	print((a - z) * '1', end='')
	print(z * '10', end='')
	print((b - z) * '0', end='')
elif b > x // 2:
	z = x // 2
	print((b - z) * '0', end='')
	print((a - z) * '1', end='')
	print(z * '10')
else:
	z = x // 2
	print((a - z) * '1', end='')
	print((b - z) * '0', end='')
	print(z * '01')


from collections import *
(a, b, x) = list(map(int, input().split()))
oga = a
ogb = b
ans = ''
for i in range(x + 1):
	if i % 2 == 0:
		if oga < ogb:
			ans += '1'
			b -= 1
		else:
			ans += '0'
			a -= 1
	elif oga < ogb:
		ans += '0'
		a -= 1
	else:
		ans += '1'
		b -= 1
if ans[0] == '0':
	ans = (a + 1) * '0' + (b + 1) * '1' + ans[2:]
else:
	ans = (b + 1) * '1' + (a + 1) * '0' + ans[2:]
print(ans)


(a, b, x) = input().split()
a = int(a)
b = int(b)
x = int(x)
s = ''
y = 0
flag = 0
if x % 2 == 0:
	flag = 1
	y = int(x / 2)
else:
	y = int((x + 1) / 2)
b = b - y
a = a - y
for i in range(y):
	s = s + '10'
for i in range(b):
	s = '1' + s
for i in range(a):
	s = s + '0'
if flag == 1:
	if a > 0:
		s = '0' + s
		s = s[0:-1]
	elif b > 0:
		s = s + '1'
		s = s[1:]
print(s)


(a, b, x) = map(int, input().split())
x += 1
r = '01' * (x // 2)
(o, z) = (x // 2, x // 2)
(a, b) = (a - z, b - o)
if x % 2 == 1:
	if a > 0:
		r += '0'
		a -= 1
	else:
		r = '1' + r
		b -= 1
d = {'0': a, '1': b}
r = r[0] + r[0] * d[r[0]] + r[1] + r[1] * d[r[1]] + r[2:]
print(r)


R = lambda : map(int, input().split())

def f(s, n):
	global res
	res += s * n
(a, b, x) = R()
p = x // 2
res = ''
if x % 2:
	if a > b:
		f('01', p)
		f('0', a - p)
		f('1', b - p)
	else:
		f('10', p)
		f('1', b - p)
		f('0', a - p)
elif a > b:
	f('01', p)
	f('1', b - p)
	f('0', a - p)
else:
	f('10', p)
	f('0', a - p)
	f('1', b - p)
print(res)


(a, b, x) = list(map(int, input().split()))
s = ''
for i in range(x):
	s += str(i % 2)
if x % 2 == 0:
	s += (b - s.count('1')) * '1'
	s += (a - s.count('0')) * '0'
if x % 2 != 0:
	s += (a - s.count('0')) * '0'
	s += (b - s.count('1')) * '1'
c = 0
for i in range(len(s) - 1):
	if s[i] != s[i + 1]:
		c += 1
if c == x:
	print(s)
else:
	s = ''
	for i in range(x):
		s += str((i + 1) % 2)
	if x % 2 != 0:
		s += (b - s.count('1')) * '1'
		s += (a - s.count('0')) * '0'
	if x % 2 == 0:
		s += (a - s.count('0')) * '0'
		s += (b - s.count('1')) * '1'
	print(s)


from math import *
t = input().split()
a = int(t[0])
b = int(t[1])
x = int(t[2])
aa = str(0) * a
bb = str(1) * b
s = ''
if x % 2 == 0:
	d = x // 2
	w = 1
else:
	d = (x + 1) // 2
	w = 0
if a > b:
	if w == 1:
		f = a - d - 1
	else:
		f = a - d
	e = b - d
	h = 0
	if f > 0:
		s += '0' * (f + 1)
		h = 1
	if e > 0:
		s += '1' * (e + 1)
		h += 2
	if h > 2 and d != 1:
		s += '01' * (d - 1)
	elif h == 0:
		s += '01' * d
	elif h == 1:
		s += '1'
		if d != 1:
			s += '01' * (d - 1)
	if w == 1:
		s += '0'
elif a == b:
	if w == 1:
		f = a - d
		s += '0' * f
		s += '1' * f
		s += '10' * d
	elif w == 0:
		f = a - d
		s += '0' * f
		s += '01' * d
		s += '1' * f
elif a < b:
	if w == 1:
		f = b - d - 1
	else:
		f = b - d
	e = a - d
	h = 0
	if f > 0:
		s += '1' * (f + 1)
		h = 1
	if e > 0:
		s += '0' * (e + 1)
		h += 2
	if h > 2 and d != 1:
		s += '10' * (d - 1)
	elif h == 0:
		s += '10' * d
	elif h == 1:
		s += '0'
		if d != 1:
			s += '10' * (d - 1)
	if w == 1:
		s += '1'
print(s)


from sys import stdin, stdout, setrecursionlimit
from functools import lru_cache, cmp_to_key
from heapq import merge, heapify, heappop, heappush, nlargest
from math import *
from collections import defaultdict as dd, deque, Counter as C
from itertools import combinations as comb, permutations as perm, accumulate
from bisect import bisect_left as bl, bisect_right as br, bisect
from time import perf_counter
from fractions import Fraction
import copy
import time
setrecursionlimit(10 ** 9)
starttime = time.time()
mod = int(pow(10, 9) + 7)
mod2 = 998244353

def data():
	return input()

def num():
	return int(input())

def L():
	return list(sp())

def LF():
	return list(spf())

def sl():
	return list(ssp())

def sp():
	return map(int, data().split())

def spf():
	return map(int, input.readline().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)]

def pmat(A):
	for ele in A:
		print(*ele, end='\n')

def pmat2(A):
	for ele in A:
		for j in ele:
			print(j, end='')
		print()

def iseven(n):
	return n % 2 == 0

def seive(r):
	prime = [1 for i in range(r + 1)]
	prime[0] = 0
	prime[1] = 0
	for i in range(r + 1):
		if prime[i]:
			for j in range(2 * i, r + 1, i):
				prime[j] = 0
	return prime
(n, m, x) = sp()
ans = ''
if x % 2 == 0:
	if n > m:
		for i in range(x // 2):
			ans = '01' * (x // 2)
		ans += '1' * (m - x // 2)
		ans += '0' * (n - x // 2)
	else:
		for i in range(x // 2):
			ans = '10' * (x // 2)
		ans += '0' * (n - x // 2)
		ans += '1' * (m - x // 2)
elif n > m:
	for i in range(x // 2):
		ans = '01' * (x // 2)
	ans += '0' * (n - x // 2)
	ans += '1' * (m - x // 2)
else:
	for i in range(x // 2):
		ans = '10' * (x // 2)
	ans += '1' * (m - x // 2)
	ans += '0' * (n - x // 2)
print(ans)
endtime = time.time()


from sys import stdin, stdout

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

def INL():
	return [int(_) for _ in stdin.readline().split()]

def INS():
	return stdin.readline()

def OPS(ans):
	stdout.write(str(ans) + '\n')

def OPL(ans):
	[stdout.write(str(_) + ' ') for _ in ans]
	stdout.write('\n')
(zrs, ons, x) = INL()
if zrs > ons:
	if x % 2 == 0:
		ans = '01' * (x // 2)
		ans += '1' * (ons - x // 2)
		ans += '0' * (zrs - x // 2)
	else:
		ans = '01' * (x // 2)
		ans += '0' * (zrs - x // 2)
		ans += '1' * (ons - x // 2)
elif x % 2 == 0:
	ans = '10' * (x // 2)
	ans += '0' * (zrs - x // 2)
	ans += '1' * (ons - x // 2)
else:
	ans = '10' * (x // 2)
	ans += '1' * (ons - x // 2)
	ans += '0' * (zrs - x // 2)
OPS(ans)


(a, b, x) = map(int, input().split())
ans = ''
if a >= b:
	for _ in range(a):
		ans += '0'
else:
	for _ in range(b):
		ans += '1'
if x % 2 == 1:
	if ans[0] == '1':
		ans += '0'
		x -= 1
		a -= 1
	else:
		ans += '1'
		x -= 1
		b -= 1
else:
	pass
if ans[0] == '1':
	i = 1
	while x != 0:
		ans = ans[:i] + '0' + ans[i:len(ans)]
		x -= 2
		a -= 1
		i += 2
	for i in range(len(ans) - 1, -1, -1):
		if ans[i] == '0':
			break
		else:
			pass
	for _ in range(a):
		ans = ans[:i] + '0' + ans[i:len(ans)]
else:
	i = 1
	while x != 0:
		ans = ans[:i] + '1' + ans[i:len(ans)]
		x -= 2
		b -= 1
		i += 2
	for i in range(len(ans) - 1, -1, -1):
		if ans[i] == '1':
			break
		else:
			pass
	for _ in range(b):
		ans = ans[:i] + '1' + ans[i:len(ans)]
print(ans)


(a, b, x) = map(int, input().split())
ans = ''
r = x // 2
if a > b:
	for i in range(r):
		ans += '0'
		ans += '1'
	if x % 2 == 1:
		for i in range(a - r):
			ans += '0'
			a -= 1
		for i in range(b - r):
			ans += '1'
			b -= 1
	else:
		for i in range(b - r):
			ans += '1'
			b -= 1
		for i in range(a - r):
			ans += '0'
			a -= 1
else:
	for i in range(r):
		ans += '1'
		ans += '0'
	if x % 2 == 1:
		for i in range(b - r):
			ans += '1'
			b -= 1
		for i in range(a - r):
			ans += '0'
			a -= 1
	else:
		for i in range(a - r):
			ans += '0'
			a -= 1
		for i in range(b - r):
			ans += '1'
			b -= 1
print(ans)


import math
getInputList = lambda : list(input().split())
getInputIntList = lambda : list(map(int, input().split()))
(a, b, x) = getInputIntList()
s = ''
if a < b:
	s += '1'
	x -= 1
	b -= 1
	for i in range(x + 1):
		if i % 2 == 0:
			s += '0'
			a -= 1
		else:
			s += '1'
			b -= 1
	if s[len(s) - 1] == '1':
		s = s[0:len(s) - 1] + '0' * a + '1' + '1' * b
	else:
		s = s[0:len(s) - 1] + '1' * b + '0' + '0' * a
else:
	s += '0'
	x -= 1
	a -= 1
	for i in range(x + 1):
		if i % 2 != 0:
			s += '0'
			a -= 1
		else:
			s += '1'
			b -= 1
	if s[len(s) - 1] == '1':
		s = s[0:len(s) - 1] + '0' * a + '1' + '1' * b
	else:
		s = s[0:len(s) - 1] + '1' * b + '0' + '0' * a
print(s)


(p, q, x) = map(int, input().split())
if x == 1:
	print('0' * p, end='')
	print('1' * q, end='')
else:
	if p > q:
		l = '0'
		h = '1'
		a = p - 1
		b = q - 1
	else:
		h = '0'
		l = '1'
		a = q - 1
		b = p - 1
	print(l, end='')
	print(h, end='')
	flag = -1
	x -= 1
	while x > 1:
		if a > 0:
			print(l, end='')
			x -= 1
			a -= 1
			flag = 0
		if b > 0 and x != 1:
			print(h, end='')
			x -= 1
			b -= 1
			flag = 1
	if flag == 0:
		print(l * a, end='')
		print(h * b, end='')
	else:
		print(h * b, end='')
		print(l * a, end='')


(a, b, x) = map(int, input().split())
n = a + b
ans = []
if x % 2 == 0:
	if a > b:
		for _ in range(x // 2):
			ans.append('01')
		for _ in range(b - x // 2):
			ans.append('1')
		for _ in range(a - x // 2):
			ans.append('0')
	else:
		for _ in range(x // 2):
			ans.append('10')
		for _ in range(a - x // 2):
			ans.append('0')
		for _ in range(b - x // 2):
			ans.append('1')
elif a > b:
	for _ in range(x // 2):
		ans.append('01')
	for _ in range(a - x // 2):
		ans.append('0')
	for _ in range(b - x // 2):
		ans.append('1')
else:
	for _ in range(x // 2):
		ans.append('10')
	for _ in range(b - x // 2):
		ans.append('1')
	for _ in range(a - x // 2):
		ans.append('0')
print(''.join(map(str, ans)))


def solonB(a, b, x):
	ans = ''
	last = ''
	if a >= b:
		for i in range(0, x):
			if i & 1 == 0:
				ans += '0'
				a -= 1
				if i == x - 1:
					last = '0'
			else:
				ans += '1'
				b -= 1
				if i == x - 1:
					last = '1'
	else:
		for i in range(0, x):
			if i & 1 == 1:
				ans += '0'
				a -= 1
				if i == x - 1:
					last = '0'
			else:
				ans += '1'
				b -= 1
				if i == x - 1:
					last = '1'
	if last == '0':
		if a > 0:
			while a > 0:
				a -= 1
				ans += '0'
		if b > 0:
			while b > 0:
				b -= 1
				ans += '1'
	else:
		if b > 0:
			while b > 0:
				b -= 1
				ans += '1'
		if a > 0:
			while a > 0:
				a -= 1
				ans += '0'
	print(ans)
arr = list(map(int, input().rstrip().split()))
solonB(arr[0], arr[1], arr[2])


l = [int(x) for x in input().split()]
a = l[0]
b = l[1]
n = a + b
y = l[2]
x = y
res = ''
t = ''
if x != 1:
	while x > 0:
		if a > b:
			t += '0'
			x -= 1
			a -= 1
			if x > 0:
				t += '1'
				b -= 1
				x -= 1
		else:
			t += '1'
			b -= 1
			x -= 1
			if x > 0:
				t += '0'
				a -= 1
				x -= 1
g = 0
if x == 1:
	for i in range(b):
		t += '1'
	for i in range(a):
		t += '0'
elif y % 2 == 1:
	if t[-1] == '0':
		for i in range(b):
			t += '1'
		for i in range(a):
			t = '0' + t
	else:
		for i in range(a):
			t += '0'
		for i in range(b):
			t = '1' + t
else:
	g = 1
	if t[-1] == '0':
		for i in range(b):
			t += '1'
		s = ''
		for i in range(a):
			s += '0'
		t = '1' + s + t[1:]
	else:
		for i in range(a):
			t += '0'
		s = ''
		for i in range(b):
			s += '1'
		mine = t[1:]
		t = '0' + s + mine
print(t)


(n, m, k) = map(int, input().split())
num = []
if m > n:
	for i in range(k - 1):
		if i & 1:
			num.append('0')
			n -= 1
		else:
			num.append('1')
			m -= 1
	else:
		if k & 1:
			while m > 0:
				num.append('1')
				m -= 1
			while n > 0:
				num.append('0')
				n -= 1
		else:
			while n > 0:
				num.append('0')
				n -= 1
			while m > 0:
				num.append('1')
				m -= 1
else:
	for i in range(k - 1):
		if i & 1:
			num.append('1')
			m -= 1
		else:
			num.append('0')
			n -= 1
	else:
		if k & 1:
			while n > 0:
				num.append('0')
				n -= 1
			while m > 0:
				num.append('1')
				m -= 1
		else:
			while m > 0:
				num.append('1')
				m -= 1
			while n > 0:
				num.append('0')
				n -= 1
print(''.join(num))


def go():
	(a, b, x) = [int(i) for i in input().split(' ')]
	prev = '1' if a > b else '0'
	o = ''
	if x == 1:
		return '0' * a + '1' * b
	i = 0
	while i < a + b:
		if x:
			if prev == '0':
				o += '1'
				b -= 1
				prev = '1'
			else:
				o += '0'
				a -= 1
				prev = '0'
			x -= 1
		elif prev == '1':
			o += '1' * b
			b = 0
			prev = '0'
		else:
			o += '0' * a
			a = 0
			prev = '1'
	return o
print(go())


(a, b, x) = map(int, input().split())
t = []
p = 0
if a >= b:
	for i in range(x + 1):
		if i % 2 == 0:
			t.append('0')
		else:
			t.append('1')
	n = t.count('0')
	z = t.count('1')
	for il in range(a - n):
		w = t.index('0')
		t.insert(w, '0')
	t.reverse()
	for pt in range(b - z):
		k = t.index('1')
		t.insert(k, '1')
	t.reverse()
	for zd in range(len(t)):
		print(t[p], end='')
		p = p + 1
else:
	for i in range(x + 1):
		if i % 2 == 0:
			t.append('1')
		else:
			t.append('0')
	n = t.count('0')
	z = t.count('1')
	t.reverse()
	for il in range(a - n):
		w = t.index('0')
		t.insert(w, '0')
	t.reverse()
	for pt in range(b - z):
		k = t.index('1')
		t.insert(k, '1')
	for zd in range(len(t)):
		print(t[p], end='')
		p = p + 1


yoar = list(map(int, input().split()))
a = yoar[0]
b = yoar[1]
x = yoar[2]
x1 = x
st = '1'
a1 = a
b1 = b - 1
for i in range(a + b - 1):
	if x > 1:
		if st[-1] == '1':
			st = st + '0'
			a1 -= 1
		else:
			st = st + '1'
			b1 -= 1
		x -= 1
	elif st[-1] == '0' and a1 > 0:
		st = st + '0'
		a1 -= 1
	elif st[-1] == '1' and b1 > 0:
		st = st + '1'
		b1 -= 1
	elif a1 > 0:
		st = st + '0'
		a1 -= 1
	else:
		st = st + '1'
		b1 -= 1
count = 0
for i in range(1, a + b):
	if st[i] != st[i - 1]:
		count += 1
if count == x1:
	print(st)
else:
	print(st[-1] + st[:-1])


a_b_x = input()
a_b_x = [int(i) for i in a_b_x.split(' ')]
answer = ''
previous_digit = 0
for i in range(a_b_x[0] + a_b_x[1]):
	if i == 0:
		answer += '0'
		a_b_x[0] -= 1
	elif a_b_x[2] > 1:
		if previous_digit == 0:
			answer += '1'
			a_b_x[2] -= 1
			a_b_x[1] -= 1
			previous_digit = 1
		else:
			answer += '0'
			a_b_x[2] -= 1
			a_b_x[0] -= 1
			previous_digit = 0
	elif a_b_x[2] == 1:
		if previous_digit == 0:
			if a_b_x[0] > 0:
				answer += '0'
				a_b_x[0] -= 1
				previous_digit = 0
			else:
				answer += '1'
				a_b_x[1] -= 1
				a_b_x[2] -= 1
				previous_digit = 1
		elif a_b_x[1] > 0:
			if a_b_x[1] > 1:
				answer += '1'
				a_b_x[1] -= 1
				previous_digit = 1
			elif a_b_x[1] == 1 and a_b_x[0] == 0:
				answer = '1' + answer
				a_b_x[1] -= 1
				previous_digit = 1
			else:
				answer += '1'
				a_b_x[1] -= 1
				previous_digit = 1
		else:
			answer += '0'
			a_b_x[0] -= 1
			a_b_x[2] -= 1
			previous_digit = 0
	elif previous_digit == 0:
		answer += '0'
		a_b_x[0] -= 1
		previous_digit = 0
	else:
		answer += '1'
		a_b_x[1] -= 1
		previous_digit = 1
print(answer)


(a, b, x) = map(int, input().split())
x2 = x // 2
sw = 0
if a > b:
	(a, b) = (b, a)
	sw = 1
ans = '10' * x2
if x % 2 == 0:
	ans += '0' * (a - x2) + '1' * (b - x2)
else:
	ans += '1' * (b - x2) + '0' * (a - x2)
print(''.join(('1' if c == '0' else '0' for c in ans)) if sw else ans)


(a, b, x) = list(map(int, input().split()))
if a > b and x // 2 > b - 1:
	s = '0'
	a = a - 1
	current = 0
	for i in range(x - 1):
		if current == 1:
			s = s + '0'
			a -= 1
			current = 0
		else:
			s = s + '1'
			current = 1
			b -= 1
	if current == 0:
		for j in range(a):
			s = s + '0'
		for k in range(b):
			s = s + '1'
	else:
		for j in range(b):
			s = s + '1'
		for k in range(a):
			s = s + '0'
	print(s)
else:
	s = '1'
	b = b - 1
	current = 1
	for i in range(x - 1):
		if current == 1:
			s = s + '0'
			a -= 1
			current = 0
		else:
			s = s + '1'
			current = 1
			b -= 1
	if current == 0:
		for j in range(a):
			s = s + '0'
		for k in range(b):
			s = s + '1'
	else:
		for j in range(b):
			s = s + '1'
		for k in range(a):
			s = s + '0'
	print(s)


(a, b, x) = map(int, input().split())
if a >= b:
	t = '0'
	while x > 2:
		t += '10'
		x -= 2
	s = ''
	for i in range(a - t.count('0')):
		s += '0'
	for i in range(b - t.count('1')):
		s += '1'
	if x == 2:
		res = s + t
	else:
		res = t + s
else:
	t = '1'
	while x > 2:
		t += '01'
		x -= 2
	s = ''
	for i in range(a - t.count('0')):
		s += '0'
	for i in range(b - t.count('1')):
		s += '1'
	if x == 1:
		res = s + t
	else:
		res = t + s
print(res)


def find_and_insert(c):
	global s
	i = s.find(c)
	s = s[:i] + c + s[i:]
(a, b, x) = map(lambda c: int(c) - 1, input().split())
s = '10'
while x >= 2:
	s += '10'
	a -= 1
	b -= 1
	x -= 2
if x == 1:
	if a > b:
		a -= 1
		s = '0' + s
	else:
		b -= 1
		s += '1'
for _ in range(a):
	find_and_insert('0')
for _ in range(b):
	find_and_insert('1')
print(s)


def inline():
	return [int(e) for e in input().split()]

def outline(l):
	for e in l:
		print(e, end=' ')
	print()

def outlist(l):
	for e in l:
		print(e)

def insert(s, p, i):
	return s[:p] + i + s[p:]

def zig(a, b, x):
	z = str()
	turn = False
	if a > b:
		z += '0'
		a -= 1
		turn = True
	else:
		z += '1'
		b -= 1
	while x > 0:
		if turn:
			z += '1'
			b -= 1
			x -= 1
			turn = not turn
		else:
			z += '0'
			a -= 1
			x -= 1
			turn = not turn
	return [a, b, z]
inp = inline()
a = inp[0]
b = inp[1]
x = inp[2]
z = zig(a, b, x)
s = z[-1]
a = z[0]
b = z[1]
if a > 0:
	for i in range(len(s)):
		if s[i] == '0':
			s = insert(s, i, '0' * a)
			break
if b > 0:
	for i in range(len(s)):
		if s[i] == '1':
			s = insert(s, i, '1' * b)
			break
print(s)


(a, b, x) = map(int, input().split())
string = ''
curr = 0 if a > b else 1
while x > 0:
	string += str(curr)
	x -= 1
	if curr == 0:
		a -= 1
	else:
		b -= 1
	if x > 0:
		curr = 1 - curr
if curr == 0:
	string += str(curr) * a + str(1 - curr) * b
else:
	string += str(curr) * b + str(1 - curr) * a
print(string)


(a, b, x) = map(int, input().split())
s = ''
ca = '0'
cb = '1'
if a > b:
	ca = '1'
	cb = '0'
	(a, b) = (b, a)
s += cb
c = ca
b -= 1
for i in range(x):
	s += c
	if c == ca:
		a -= 1
	else:
		b -= 1
	c = '1' if c == '0' else '0'
for i in range(len(s)):
	print(s[i], end='')
	if s[i] == cb:
		while b > 0:
			print(cb, end='')
			b -= 1
	else:
		while a > 0:
			print(ca, end='')
			a -= 1


(a, b, x) = list(map(int, input().split()))
bs = ''
if x % 2 == 0:
	if a > b:
		for i in range(x // 2):
			bs += '01'
		bs += (b - x // 2) * '1'
		bs += (a - x // 2) * '0'
	else:
		for i in range(x // 2):
			bs += '10'
		bs += (a - x // 2) * '0'
		bs += (b - x // 2) * '1'
elif a > b:
	for i in range(x // 2):
		bs += '01'
	bs += (a - x // 2) * '0'
	bs += (b - x // 2) * '1'
else:
	for i in range(x // 2):
		bs += '10'
	bs += (b - x // 2) * '1'
	bs += (a - x // 2) * '0'
print(bs)


(a, b, x) = input().strip().split(' ')
(a, b, x) = (int(a), int(b), int(x))
if x % 2:
	if a > b:
		s = '01' * ((x + 1) // 2)
		s = '0' * (a - s.count('0')) + s + '1' * (b - s.count('1'))
	else:
		s = '10' * ((x + 1) // 2)
		s = '1' * (b - s.count('1')) + s + '0' * (a - s.count('0'))
elif a > b:
	s = '01' * (x // 2)
	s += '1' * (b - s.count('1')) + '0' * (a - s.count('0'))
else:
	s = '10' * (x // 2)
	s += '0' * (a - s.count('0')) + '1' * (b - s.count('1'))
print(s)


(a, b, x) = [int(x) for x in input().split()]
if a >= b:
	y = int(x / 2)
	print('01' * y, end='')
	a -= y
	b -= y
	if x % 2 == 0:
		print('1' * b, end='')
		print('0' * a, end='')
	else:
		print('0' * a, end='')
		print('1' * b, end='')
else:
	y = int(x / 2)
	print('10' * y, end='')
	a -= y
	b -= y
	if x % 2 == 1:
		print('1' * b, end='')
		print('0' * a, end='')
	else:
		print('0' * a, end='')
		print('1' * b, end='')


(zero, um, trocas) = map(int, input().split())
tamanhho = zero + um
if zero > um:
	resp = '0'
	zero -= 1
else:
	resp = '1'
	um -= 1
i = 1
while trocas > 1:
	if resp[i - 1] == '0' and um > 0:
		resp += '1'
		trocas -= 1
		um -= 1
	elif resp[i - 1] == '1' and zero > 0:
		resp += '0'
		trocas -= 1
		zero -= 1
	i += 1
if resp[i - 1] == '1':
	while um > 0:
		resp += '1'
		i += 1
		um -= 1
	while zero > 0:
		resp += '0'
		i += 1
		zero -= 1
elif resp[i - 1] == '0':
	while zero > 0:
		resp += '0'
		i += 1
		zero -= 1
	while um > 0:
		resp += '1'
		i += 1
		um -= 1
print(resp)


arr = list(map(int, input().split()))
a = arr[0]
b = arr[1]
x = arr[2]
arr = [False for i in range(a + b)]
arr = []
if a >= b:
	arr.append(False)
	arr.append(True)
else:
	arr.append(True)
	arr.append(False)
a2 = a
b2 = b
a -= 1
b -= 1
x -= 1
pos = 1
if x > 0:
	for i in range(2, a2 + b2):
		if x > 0:
			arr.append(not arr[i - 1])
			if arr[i] == False:
				a -= 1
			else:
				b -= 1
			x -= 1
		else:
			pos = i
			break
leng = len(arr)
while leng != a2 + b2:
	if a > 0:
		if arr[0] == False:
			for i in range(a):
				arr = [False] + arr
		else:
			arr2 = []
			for i in range(a):
				arr2.append(False)
			truepos = arr.index(False)
			arr = arr[0:truepos] + arr2 + arr[truepos:]
		leng += a
	if b > 0:
		if arr[0] == True:
			for i in range(b):
				arr = [True] + arr
		else:
			arr2 = []
			for i in range(b):
				arr2.append(True)
			truepos = arr.index(True)
			arr = arr[0:truepos] + arr2 + arr[truepos:]
		leng += b
for i in range(len(arr)):
	if arr[i] == False:
		print(0, end='')
	else:
		print(1, end='')
print()


L = list(map(int, input().split()))
zero = L[0]
one = L[1]
x = L[2]
s = ''
if x % 2 == 0:
	if one > zero:
		for i in range(x // 2):
			s = s + '10'
		s += '1'
		one = one - x // 2 - 1
		zero = zero - x // 2
	else:
		for i in range(x // 2):
			s = s + '01'
		s += '0'
		one = one - x // 2
		zero = zero - x // 2 - 1
else:
	z = int(x / 2) + 1
	if one > zero:
		for i in range(z):
			s = s + '10'
		one = one - z
		zero = zero - z
	else:
		for i in range(z):
			s = s + '01'
		one = one - z
		zero = zero - z
leftone = ''
for i in range(one):
	leftone += '1'
leftzero = ''
for i in range(zero):
	leftzero += '0'
if s[0] == '1':
	s = s[0] + leftzero + s[1:]
	s = leftone + s
else:
	s = s[0] + leftone + s[1:]
	s = leftzero + s
print(s)


arr = input().split(' ')
for i in range(3):
	arr[i] = int(arr[i])
a = int(arr[0])
b = int(arr[1])
i = int(arr[2])
stri = ''
if a >= b:
	for k in range(0, i + 1):
		if b > 0 and k % 2 != 0:
			stri = stri + str(1)
			b = b - 1
		elif a > 0 and k % 2 == 0:
			stri = stri + str(0)
			a = a - 1
else:
	for k in range(0, i + 1):
		if a > 0 and k % 2 != 0:
			stri = stri + str(0)
			a = a - 1
		elif b > 0 and k % 2 == 0:
			stri = stri + str(1)
			b = b - 1
if b > 0:
	stri = stri[:stri.index('1')] + '1' * b + stri[stri.index('1'):]
if a > 0:
	stri = stri[:stri.index('0')] + '0' * a + stri[stri.index('0'):]
print(stri)


(a, b, x) = map(int, input().split())
ans = ''
if a > b:
	now = 0
else:
	now = 1
for i in range(x + 1):
	ans += str(now)
	if now == 0:
		a -= 1
	else:
		b -= 1
	now = 1 - now
idx = ans.find('0')
ans = ans[:idx] + '0' * a + ans[idx:]
idx = ans.find('1')
ans = ans[:idx] + '1' * b + ans[idx:]
print(ans)


(a, b, x) = map(int, input().split())
if a > b:
	(s1, s2) = ('0', '1')
	(m1, m2) = (a, b)
else:
	(s1, s2) = ('1', '0')
	(m1, m2) = (b, a)
if x == 1:
	print(s1 * m1 + s2 * m2)
elif x == 2:
	print(s1 + s2 * m2 + s1 * (m1 - 1))
elif x == 3:
	print(s1 + s2 + s1 * (m1 - 1) + s2 * (m2 - 1))
else:
	print(s1 + s2, end='')
	m1 -= 1
	m2 -= 1
	x -= 1
	while x > 3:
		print(s1 + s2, end='')
		x -= 2
		m1 -= 1
		m2 -= 1
	if x == 3:
		print(s1, end='')
		m1 -= 1
		print(s2 * m2 + s1 * m1)
	elif x == 2:
		print(s1 * m1 + s2 * m2)


from math import *
import os
(a, b, x) = map(int, input().split())
c = 0
d = 0
if x % 2 == 0:
	var = x // 2
	for i in range(var):
		if a > b:
			print('01', end='')
		else:
			print('10', end='')
	for i in range(min(a, b) - var):
		print('1' if a > b else 0, end='')
	for i in range(max(a, b) - var):
		print('0' if a > b else 1, end='')
else:
	var = (x - 1) // 2
	for i in range(var):
		if a > b:
			print('01', end='')
		else:
			print('10', end='')
	for i in range(max(a, b) - var):
		print('0' if a > b else '1', end='')
	for i in range(min(a, b) - var):
		print('1' if a > b else 0, end='')


def theAlgorithm(a, b, x):
	str = ''
	if a < b:
		for i in range(x + 1):
			if i % 2 == 1:
				str += '0'
				a -= 1
			else:
				str += '1'
				b -= 1
	else:
		for i in range(x + 1):
			if i % 2 == 0:
				str += '0'
				a -= 1
			else:
				str += '1'
				b -= 1
	index_of_a = str.find('0')
	while a > 0:
		str = str[:index_of_a] + '0' + str[index_of_a:]
		a -= 1
	index_of_b = str.find('1')
	while b > 0:
		str = str[:index_of_b] + '1' + str[index_of_b:]
		b -= 1
	print(str)
(a, b, x) = list(map(int, input().split()))
theAlgorithm(a, b, x)


(a, b, x) = map(int, input().split())
n = a + b
asub = a
bsub = b
while n > 0:
	if a == 0:
		print('1', end='')
	elif b == 0:
		print('0', end='')
	elif x % 2 != 0:
		if b > x // 2:
			print('1', end='')
			b = b - 1
		else:
			print('0', end='')
			x = x - 2
			a = a - 1
	elif bsub >= asub:
		if (b > x // 2) & (b > 1):
			print('1', end='')
			b = b - 1
		else:
			print('0', end='')
			x = x - 2
			a = a - 1
	elif (a > x // 2) & (a > 1):
		print('0', end='')
		a = a - 1
	else:
		print('1', end='')
		x = x - 2
		b = b - 1
	n = n - 1


(a, b, x) = [int(x) for x in input().split()]
n = a + b
if a * 2 - 1 < x:
	print(str(1), end='')
	b -= 1
for i in range(0, n, 2):
	if x >= 2:
		print(str(0) + str(1), end='')
		a -= 1
		b -= 1
		x -= 2
	if x == 0:
		print(str(1) * b + str(0) * a)
		break
	if x == 1:
		print(str(0) * a + str(1) * b)
		break


(a, b, x) = map(int, input().split())
l = []
for i in range(x):
	l.append(str(i % 2))
zero = l.count('0')
one = l.count('1')
if x % 2:
	for i in range(a - zero):
		l.append('0')
	for i in range(b - one):
		l.append('1')
else:
	for i in range(b - one):
		l.append('1')
	for i in range(a - zero):
		l.append('0')
if a == 1 and x == 2:
	print('10' + '1' * (b - 1))
elif a + a == x:
	print('10' * a + '1' * (b - a))
else:
	print(''.join(l))


import sys
from collections import defaultdict as dd
from itertools import permutations as pp
from itertools import combinations as cc
from collections import Counter as ccd
from random import randint as rd
from bisect import bisect_left as bl
import heapq
mod = 10 ** 9 + 7

def ri(flag=0):
	if flag == 0:
		return [int(i) for i in input().split()]
	else:
		return int(input())
(a, b, k) = ri()
ans = []
ones = 0
zeroes = 0
prev = 0
for i in range(k):
	ones += prev == 1
	zeroes += prev == 0
	ans.append(prev)
	prev = prev ^ 1
if len(ans) != 0 and ans[-1] == 1:
	for i in range(b - ones):
		ans.append(1)
	for i in range(a - zeroes):
		ans.append(0)
else:
	for i in range(a - zeroes):
		ans.append(0)
	for i in range(b - ones):
		ans.append(1)
ans1 = []
ones = 0
zeroes = 0
prev = 1
for i in range(k):
	ones += prev == 1
	zeroes += prev == 0
	ans1.append(prev)
	prev = prev ^ 1
if len(ans1) != 0 and ans1[-1] == 1:
	for i in range(b - ones):
		ans1.append(1)
	for i in range(a - zeroes):
		ans1.append(0)
else:
	for i in range(a - zeroes):
		ans1.append(0)
	for i in range(b - ones):
		ans1.append(1)

def check(ar):
	temp = 0
	for i in range(1, len(ar)):
		if ar[i] != ar[i - 1]:
			temp += 1
	if ar.count(0) == a and ar.count(1) == b and (temp == k):
		return 1
	else:
		return 0
if check(ans):
	print(''.join([str(i) for i in ans]))
elif check(ans1):
	print(''.join([str(i) for i in ans1]))
else:
	print(1 / 0)


(a, b, x) = map(int, input().split())
l = []
aCopy = a
bCopy = b
if a >= b:
	for i in range(x):
		if i % 2 == 0:
			l.append(0)
			aCopy -= 1
		else:
			l.append(1)
			bCopy -= 1
	if l[-1] == 0:
		for i in range(aCopy):
			l.append(0)
		for i in range(bCopy):
			l.append(1)
	else:
		for i in range(bCopy):
			l.append(1)
		for i in range(aCopy):
			l.append(0)
else:
	for i in range(x):
		if i % 2 == 0:
			l.append(1)
			bCopy -= 1
		else:
			l.append(0)
			aCopy -= 1
	if l[-1] == 0:
		for i in range(aCopy):
			l.append(0)
		for i in range(bCopy):
			l.append(1)
	else:
		for i in range(bCopy):
			l.append(1)
		for i in range(aCopy):
			l.append(0)
print(''.join((str(x) for x in l)))


(a, b, x) = map(int, input().split())
x += 1
aa = '01' * (x // 2) + '0' * (x % 2)
bb = '10' * (x // 2) + '1' * (x % 2)
if aa.count('0') <= a:
	aaa = a - aa.count('0')
	bbb = b - aa.count('1')
	aa = aa[0] + '1' * bbb + aa[1:]
	aa = '0' * aaa + aa
	print(aa)
else:
	aaa = a - bb.count('0')
	bbb = b - bb.count('1')
	bb = bb[0] + '0' * aaa + bb[1:]
	bb = '1' * bbb + bb
	print(bb)


(zeros, ones, x) = map(int, input().split())
n = (x + 1) // 2
zeros -= n
ones -= n
if x & 1 == 0:
	preZero = False
	if ones == 0:
		preZero = True
	if preZero:
		zeros -= 1
		s010 = '0' + '10' * n
		s0 = '0' * zeros
		print(s010 + s0)
	else:
		s = '10' * n + '0' * zeros + '1' * ones
		print(s)
else:
	s1 = '1' * ones
	s10 = '10' * n
	s0 = '0' * zeros
	print(s1 + s10 + s0)


(a, b, x) = list(map(int, input().split(' ')))
s = list()
if x % 2 == 0:
	s.append('0')
	a -= 1
else:
	s.append('1')
	b -= 1
while x > 0 and a > 0 and (b > 0):
	if s[-1] == '1':
		s.append('0')
		a -= 1
	else:
		s.append('1')
		b -= 1
	x -= 1
if x:
	if s[0] == '1' and a > 0:
		s.insert(0, '0')
		a -= 1
		x -= 1
	elif s[0] == '0' and b > 0:
		s.insert(0, '1')
		b -= 1
		x -= 1
if x:
	if s[-1] == '1' and a > 0:
		s.append('0')
		a -= 1
		x -= 1
	elif s[-1] == '0' and b > 0:
		s.append('1')
		b -= 1
		x -= 1
y = s.index('1')
for i in range(b):
	s.insert(y + i, '1')
y = s.index('0')
for i in range(a):
	s.insert(y + i, '0')
print(''.join(s))


(a, b, x) = map(int, input().split())
if x == 1:
	print('0' * a + '1' * b)
	exit()
s = ''
if a > b:
	s += '0'
	a -= 1
else:
	s += '1'
	b -= 1
while x - 1:
	if s[len(s) - 1] == '1':
		s += '0'
		a -= 1
	else:
		s += '1'
		b -= 1
	x -= 1
if s[len(s) - 1] == '1':
	s += '1' * b + '0' * a
else:
	s += '0' * a + '1' * b
print(s)


(a, b, x) = map(int, input().split())
lst = ['0']
a -= 1
r = 0
while x > 0:
	if r == 0:
		if b > 0:
			lst.append('1')
			b -= 1
			r = 1
		elif a > 0:
			lst.insert(0, '0')
			a -= 1
	elif a > 0:
		lst.append('0')
		a -= 1
		r = 0
	elif b > 0:
		lst.insert(0, '1')
		b -= 1
	x -= 1
if a > 0:
	for i in range(0, len(lst)):
		if lst[i] == '0':
			while a > 0:
				lst.insert(i, '0')
				a -= 1
if b > 0:
	for i in range(0, len(lst)):
		if lst[i] == '1':
			while b > 0:
				lst.insert(i, '1')
				b -= 1
print(''.join(lst))


(a, b, x) = map(int, input().split())
if a < b:
	result = '1'
	b -= 1
else:
	result = '0'
	a -= 1
for i in range(x):
	if result[-1] == '0':
		result += '1'
		b -= 1
	else:
		result += '0'
		a -= 1
zeros = '0' * a
ones = '1' * b
if result[0] == '0':
	result = result[:1] + ones + result[1:]
	result = zeros + result
else:
	result = result[:1] + zeros + result[1:]
	result = ones + result
print(result)


from sys import stdin, stdout

def main():
	(a, b, x) = map(int, stdin.readline().split())
	s = []
	x -= 1
	l = 2
	s.append('1')
	s.append('0')
	a -= 1
	b -= 1
	while x:
		x -= 1
		if s[0] != s[l - 1]:
			if a >= b:
				if s[0] == '0':
					s.append('0')
				else:
					s.insert(0, '0')
				a -= 1
			else:
				if s[0] == '1':
					s.append('1')
				else:
					s.insert(0, '1')
				b -= 1
		elif s[l - 1] == '0':
			s.append('1')
			b -= 1
		else:
			s.append('0')
			a -= 1
		l += 1
	for i in range(l):
		stdout.write('%s' % s[i])
		if s[i] == '0':
			while a:
				stdout.write('%s' % '0')
				a -= 1
		else:
			while b:
				stdout.write('%s' % '1')
				b -= 1
main()


params = input()
a = int(params.split(' ')[0])
b = int(params.split(' ')[1])
x = int(params.split(' ')[2])
binAns = []

def Even(a, b, c, d):
	binAns.append(c)
	for i in range(0, b):
		binAns.append(d)
	for i in range(0, a - 1):
		binAns.append(c)
	for i in range(0, (x - 2) // 2):
		(binAns[b + 1 + i], binAns[b - i]) = (binAns[b - i], binAns[b + 1 + i])
		for z in range(0, i):
			(binAns[b + 1 + z], binAns[b - z]) = (binAns[b - z], binAns[b + 1 + z])
	return binAns
if x % 2 == 0:
	if a >= b:
		print(''.join(Even(a, b, '0', '1')))
	else:
		print(''.join(Even(b, a, '1', '0')))
else:
	for i in range(0, b):
		binAns.append('1')
	for i in range(0, a):
		binAns.append('0')
	for i in range(0, x // 2):
		(binAns[b + i], binAns[b - i - 1]) = (binAns[b - i - 1], binAns[b + i])
		for z in range(0, i):
			(binAns[b + z], binAns[b - z - 1]) = (binAns[b - z - 1], binAns[b + z])
	print(''.join(binAns))


(a, b, x) = map(int, input().split())
if x == 1:
	for i in range(a):
		print(0, end='')
	for j in range(b):
		print(1, end='')
else:
	fi = list()
	if x % 2 != 0:
		df = (x + 1) // 2
		a = a - df
		b = b - df
		for j in range(a):
			print(0, end='')
		for k in range(df):
			print(0, end='')
			print(1, end='')
		for r in range(b):
			print(1, end='')
	else:
		df = (x + 1) // 2
		if a <= b:
			a = a - df
			b = b - x - 1 + df
			for j in range(b):
				print(1, end='')
			cv = x // 2
			for k in range(cv):
				print(1, end='')
				print(0, end='')
			for g in range(a):
				print(0, end='')
			print(1, end='')
		else:
			b = b - df
			a = a - x - 1 + df
			for j in range(a):
				print(0, end='')
			cv = x // 2
			for k in range(cv):
				print(0, end='')
				print(1, end='')
			for g in range(b):
				print(1, end='')
			print(0, end='')


(a, b, x) = map(int, input().split())
(ans, q) = ([], '10')
xx = (x + 1) // 2
ans = q * xx
(a, b) = (a - xx, b - xx)
if x & 1 == 0:
	if b > 0:
		ans = ans + '0' * a + '1' * b
	else:
		ans = '0' * a + '1' * b + ans
else:
	ans = '1' * b + ans + '0' * a
print(ans)


def main():
	(a, b, x) = map(int, input().split())
	z = (x + 1) // 2
	a -= z
	b -= z
	x += 1 - z * 2
	s = ['01' * z]
	if x == 1:
		if a > 0:
			s.append('1' * b + '0' * a)
		else:
			s.insert(0, '1' * b)
	else:
		s.insert(0, '0' * a)
		s.append('1' * b)
	print(''.join(s))
main()


(a, b, x) = map(int, input().split())
y = x + 1 >> 1
p = '01'
if a < b:
	p = '10'
	(a, b) = (b, a)
print(p[0] * (a - y - 1 + x % 2) + p * y + p[1] * (b - y) + p[0] * (x & 1 ^ 1))


arr = [int(x) for x in input().split()]
ss = ''
x = arr[2]
start = True
if arr[0] > arr[1]:
	ss += '0'
else:
	ss += '1'
	start = False
i = 0
while x > 0:
	y = (int(ss[i]) + 1) % 2
	ss += str(y)
	x -= 1
	i += 1
num_z = arr[0] - int((arr[2] + 1) / 2)
num_o = arr[1] - int((arr[2] + 1) / 2)
if arr[2] % 2 == 0:
	if start:
		num_z -= 1
	else:
		num_o -= 1
s1 = ''
s2 = ''
while num_z > 0:
	s1 += '0'
	num_z -= 1
while num_o > 0:
	s2 += '1'
	num_o -= 1

def construct_str(ss, s1, s2):
	ss = s1 + ss
	if ss[0] == ss[len(ss) - 1]:
		ss = ss[0:len(ss) - 1] + s2 + ss[len(ss) - 1]
	else:
		ss += s2
	return ss
if start:
	ss = construct_str(ss, s1, s2)
else:
	ss = construct_str(ss, s2, s1)
print(ss)


(a, b, x) = map(int, input().split())
list1 = []
if a > b:
	flag = 0
	countZero = 0
	countOne = 0
	for _ in range(x + 1):
		if flag == 0:
			list1.append('0')
			countZero += 1
			flag = 1
		else:
			list1.append('1')
			countOne += 1
			flag = 0
	remZero = a - countZero
	remOne = b - countOne
	if x % 2 == 0:
		list1.pop()
		str1 = ''.join(list1)
		beforeStr = '0' * remZero
		afterStr = '1' * remOne
		print(beforeStr + str1 + afterStr + '0')
	else:
		str1 = ''.join(list1)
		afterStr = '1' * remOne
		beforeStr = '0' * remZero
		print(beforeStr + str1 + afterStr)
else:
	flag = 1
	countZero = 0
	countOne = 0
	for _ in range(x + 1):
		if flag == 0:
			list1.append('0')
			countZero += 1
			flag = 1
		else:
			list1.append('1')
			countOne += 1
			flag = 0
	remZero = a - countZero
	remOne = b - countOne
	if x % 2 == 0:
		list1.pop()
		str1 = ''.join(list1)
		beforeStr = '1' * remOne
		afterStr = '0' * remZero
		print(beforeStr + str1 + afterStr + '1')
	else:
		str1 = ''.join(list1)
		beforeStr = '1' * remOne
		afterStr = '0' * remZero
		print(beforeStr + str1 + afterStr)


from math import ceil
(a, b, x) = map(int, input().split())
s = ''
if x & 1:
	if a > b:
		s = '01' * (x >> 1) + '0' * (a - (x >> 1)) + '1' * (b - (x >> 1))
	else:
		s = '10' * (x >> 1) + '1' * (b - (x >> 1)) + '0' * (a - (x >> 1))
elif a > b:
	s = '01' * (x >> 1) + '1' * (b - (x >> 1)) + '0' * (a - (x >> 1))
else:
	s = '10' * (x >> 1) + '0' * (a - (x >> 1)) + '1' * (b - (x >> 1))
print(s)


def binary_str():
	inp = list(map(int, input().split()))
	zeros_num = inp[0]
	ones_num = inp[1]
	indexes_num = inp[2]
	ones_count = 0
	zeros_count = 0
	order = True
	if zeros_num < ones_num:
		(zeros_num, ones_num) = (ones_num, zeros_num)
		order = False
	if indexes_num % 2 != 0:
		toggle = False
		middle = '1'
		ones_count += 1
	else:
		toggle = True
		middle = '0'
		zeros_count += 1
	for i in range(indexes_num):
		if toggle is True and ones_count < ones_num:
			middle += '1'
			ones_count += 1
			toggle = False
		elif toggle is False and zeros_count < zeros_num:
			middle += '0'
			zeros_count += 1
			toggle = True
	border1 = middle.index('1')
	border0 = middle.index('0')
	insert_ones = '1' * (ones_num - ones_count)
	insert_zeros = '0' * (zeros_num - zeros_count)
	if border1 < border0:
		res = middle[:border1 + 1] + insert_ones + middle[border1 + 1:border0 + 1] + insert_zeros + middle[border0 + 1:]
	else:
		res = middle[:border0 + 1] + insert_zeros + middle[border0 + 1:border1 + 1] + insert_ones + middle[border1 + 1:]
	if order is False:
		res = res.replace('1', 'a')
		res = res.replace('0', '1')
		res = res.replace('a', '0')
	return res
print(binary_str())


def next(c):
	if c == '0':
		return '1'
	return '0'

def main():
	(a, b, x) = map(int, input().split())
	if a >= b:
		res = '0'
		a -= 1
	else:
		res = '1'
		b -= 1
	for i in range(x):
		res += next(res[len(res) - 1])
		if res[len(res) - 1] == '0':
			a -= 1
		else:
			b -= 1
	res = res[0:res.index('0')] + '0' * a + res[res.index('0'):]
	res = res[0:res.index('1')] + '1' * b + res[res.index('1'):]
	print(res)
main()


(a, b, x) = map(int, input().split())
df = a
kl = b
n = a + b
if a >= b:
	count = 0
	s = '0'
else:
	s = '1'
	count = 0
ca = 0
cb = 0
i = 0
while count != x:
	i += 1
	if s[i - 1] == '0':
		s += '1'
		count += 1
	else:
		s += '0'
		count += 1
a -= s.count('0')
b -= s.count('1')
sta = '0' * a
stb = '1' * b
if df >= kl:
	s = sta + s
	z = s.find('1')
	zk = s.find('0')
	s = s[0:z + 1] + stb + s[z + 1:]
else:
	s = stb + s
	z = s.find('0')
	s = s[0:z + 1] + sta + s[z + 1:]
z = 0
print(s)


import os
import sys
import math
import heapq
from decimal import *
from io import BytesIO, IOBase
from collections import defaultdict, deque

def r():
	return int(input())

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

def rl():
	return list(map(int, input().split()))
(a, b, x) = rm()
if a == 1:
	if x == 1:
		print('0' * 1 + '1' * b)
	else:
		print('1' + '0' + '1' * (b - 1))
elif b <= a:
	c = (x + 1) // 2
	s = '01' * c
	a -= c
	b -= c
	if x % 2 == 0:
		a -= 1
	print('0' * a + s + '1' * b + '0' * (1 if x % 2 == 0 else 0))
else:
	c = (x + 1) // 2
	s = '10' * c
	a -= c
	b -= c
	if x % 2 == 0:
		b -= 1
	print('1' * b + s + '0' * a + '1' * (1 if x % 2 == 0 else 0))


(a, b, x) = map(int, input().split())
(r, n) = ('', a + b)
mn = min(a, b)
if mn == a:
	f = 0
else:
	f = 1
for i in range(n):
	if x:
		if f:
			if a:
				r += '0'
				a -= 1
				f = 0
		elif b:
			r += '1'
			b -= 1
			f = 1
		x -= 1
	else:
		if f:
			for i in range(b):
				r += '1'
			for i in range(a):
				r += '0'
		else:
			for i in range(a):
				r += '0'
			for i in range(b):
				r += '1'
		break
print(r)


(a, b, x) = map(int, input().split())
l = list('01' * (x // 2) + '0' * (x % 2))
(zero, one) = (l.count('0'), l.count('1'))
if x % 2:
	l.extend(['0'] * (a - zero) + ['1'] * (b - one))
else:
	l.extend(['1'] * (b - one) + ['0'] * (a - zero))
if a + a == x:
	print('10' * a + '1' * (b - a))
else:
	print(''.join(l))


import math
(a, b, x) = map(int, input().strip().split(' '))
s = ''
f = 0
if a > b:
	f = 1
	for j in range(x + 1):
		if j % 2 == 0:
			s += '0'
			a -= 1
		else:
			s += '1'
			b -= 1
else:
	f = 2
	for j in range(x + 1):
		if j % 2 == 0:
			s += '1'
			b -= 1
		else:
			s += '0'
			a -= 1
k1 = '0' * a
k2 = '1' * b
if f == 1:
	print(k1 + s[0] + k2 + s[1:])
elif f == 2:
	print(k2 + s[0] + k1 + s[1:])


(a, b, x) = map(int, input().split())
ans = ''
for i in range((x + 1) // 2):
	ans += '10'
	a -= 1
	b -= 1
answ = ''
if x % 2 == 1:
	answ = '1' * b + ans + '0' * a
elif a > 0:
	answ = '0' + '1' * b + ans + '0' * (a - 1)
else:
	answ = ans + '1' * b
print(answ)


(a, b, x) = [int(x) for x in input().split()]
if x % 2:
	if a > b:
		res = '01' * (x // 2) + '0' * (a - x // 2) + '1' * (b - x // 2)
	else:
		res = '10' * (x // 2) + '1' * (b - x // 2) + '0' * (a - x // 2)
elif a > b:
	res = '01' * (x // 2) + '1' * (b - x // 2) + '0' * (a - x // 2)
else:
	res = '10' * (x // 2) + '0' * (a - x // 2) + '1' * (b - x // 2)
print(res)


(a, b, x) = map(int, input().split())
string_result = ''
if x % 2 == 0:
	half = x // 2
	zeros = '0' * (a - half)
	ones = '1' * (b - half)
	if a > b:
		string_result = '01' * half
		string_result += ones
		string_result += zeros
	if a <= b:
		string_result = '10' * half
		string_result += zeros
		string_result += ones
else:
	half = int(x / 2)
	zeros = '0' * (a - half)
	ones = '1' * (b - half)
	if a > b:
		string_result = '01' * half
		string_result += zeros
		string_result += ones
	if a <= b:
		string_result = '10' * half
		string_result += ones
		string_result += zeros
print(string_result)


from math import ceil
t = 1
for test in range(t):
	(a, b, x) = map(int, input().split())
	if a + b == 1:
		print('0' * a + '1' * b)
	else:
		arr = ['']
		if a > b:
			for i in range(a):
				arr.append('0')
				arr.append('')
			if x % 2 == 0:
				for i in range(1, x // 2 + 1):
					arr[i * 2] = '1'
					b -= 1
				arr[x // 2] = arr[x // 2] + '1' * b
			else:
				for i in range(x // 2 + 1):
					arr[i * 2] = '1'
					b -= 1
				arr[x // 2] = arr[x // 2] + '1' * b
		else:
			for i in range(b):
				arr.append('1')
				arr.append('')
			if x % 2 == 0:
				for i in range(1, x // 2 + 1):
					arr[i * 2] = '0'
					a -= 1
				arr[x // 2] = arr[x // 2] + '0' * a
			else:
				for i in range(x // 2 + 1):
					arr[i * 2] = '0'
					a -= 1
				arr[x // 2] = arr[x // 2] + '0' * a
	for i in arr:
		print(i, end='')
	print()


[a, b, x] = [int(t) for t in input().split()]
f = False
if a < b:
	(a, b) = (b, a)
	f = True
a -= 1
s = '1'
c = 1
while a and b and x:
	if c == 1:
		b -= 1
		s += '0'
	else:
		a -= 1
		s += '1'
	c = 1 - c
	x -= 1
if x:
	if a:
		s += '1'
		a -= 1
	else:
		s += '0'
		b -= 1
z = 1
while a:
	s = '1' + s
	a -= 1
	z += 1
while b:
	s = s[:z] + '0' + s[z:]
	b -= 1
if not f:
	t = s
	s = ''
	for c in t:
		s += '1' if c == '0' else '0'
print(s)


a1 = input()
l1 = list(map(int, a1.split()))
a = l1[0]
b = l1[1]
x = l1[2]
m = max(a, b)
z = ''
p = '1'
q = '0'
if m == a:
	p = '0'
	q = '1'
for i in range(x + 1):
	if i % 2 == 0:
		z = z + p
		if p == '1':
			b -= 1
		else:
			a -= 1
	else:
		z = z + q
		if q == '1':
			b -= 1
		else:
			a -= 1
jj = '1' * b
pp = '0' * a
if z[0] == '1':
	z = jj + '1' + pp + z[1:]
else:
	z = pp + '0' + jj + z[1:]
print(z)


(zero, one, x) = map(int, input().split())
t = ''
if zero > one:
	if x == 1:
		t = '0' * zero + '1' * one
	elif x % 2 == 0:
		t = '01' * (x // 2)
		zero -= x // 2
		one -= x // 2
		t += '1' * one + '0' * zero
	else:
		t = '01' * (x // 2)
		t += '0'
		one -= x // 2
		zero -= x // 2
		zero -= 1
		t += '0' * zero
		t += '1' * one
elif one >= zero:
	if x == 1:
		t = '0' * zero + '1' * one
	elif x % 2 == 0:
		t = '10' * (x // 2)
		zero -= x // 2
		one -= x // 2
		t += '0' * zero + '1' * one
	else:
		t = '10' * (x // 2)
		t += '1'
		zero -= x // 2
		one -= x // 2
		one -= 1
		t += '1' * one
		t += '0' * zero
print(t)


(a, b, x) = map(int, input().split())
if a >= b:
	in_val = 1
	fill_val = 0
	fill_am = a
	in_am = b
else:
	in_val = 0
	fill_val = 1
	fill_am = b
	in_am = a
cur_ans = [fill_val] * fill_am
i = 1
last_inserted_ind = 0
while x >= 2:
	if cur_ans[i] == fill_val:
		last_inserted_ind = i
		cur_ans.insert(i, in_val)
		i += 1
		in_am -= 1
		x -= 2
	i += 1
if x == 1:
	last_inserted_ind = 0
	cur_ans.insert(last_inserted_ind, in_val)
	in_am -= 1
for i in range(in_am):
	cur_ans.insert(last_inserted_ind, in_val)
for i in cur_ans:
	print(i, end='')


(a, b, x) = [int(x) for x in input().split()]
now1 = 0
now2 = 0
n = a + b
if x == 2 and a == 1:
	print(1, end='')
	print(0, end='')
	for i in range(b - 1):
		print(1, end='')
	exit(0)
if x % 2 == 0:
	if a != x // 2:
		for i in range(a - x // 2):
			print(0, end='')
		for i in range(b - x // 2 + 1):
			print(1, end='')
		for i in range(x - 1):
			if i % 2 == 0:
				print(0, end='')
			else:
				print(1, end='')
	else:
		for i in range(b - x // 2):
			print(1, end='')
		for i in range(a - x // 2 + 1):
			print(0, end='')
		for i in range(x - 1):
			if i % 2 == 0:
				print(1, end='')
			else:
				print(0, end='')
elif a != x // 2:
	for i in range(a - x // 2):
		print(0, end='')
	for i in range(b - x // 2):
		print(1, end='')
	for i in range(x - 1):
		if i % 2 == 0:
			print(0, end='')
		else:
			print(1, end='')
else:
	for i in range(b - x // 2):
		print(1, end='')
	for i in range(a - x // 2):
		print(0, end='')
	for i in range(x - 1):
		if i % 2 == 0:
			print(1, end='')
		else:
			print(0, end='')


(a, b, x) = map(int, input().split())
sol = []
if x % 2 == 0:
	pairs = x // 2
	if a > b:
		sol.extend(('01' for _ in range(pairs)))
		sol.extend(('1' for _ in range(b - pairs)))
		sol.extend(('0' for _ in range(a - pairs)))
	else:
		sol.extend(('1' for _ in range(b - pairs)))
		sol.extend(('0' for _ in range(a - pairs)))
		sol.extend(('01' for _ in range(pairs)))
else:
	pairs = (x + 1) // 2
	sol.extend(('0' for _ in range(a - pairs)))
	sol.extend(('01' for _ in range(pairs)))
	sol.extend(('1' for _ in range(b - pairs)))
print(''.join(sol))


R = lambda : map(int, input().split())
(a, b, x) = R()
if a < b:
	ch1 = '0'
	ch2 = '1'
else:
	ch1 = '1'
	ch2 = '0'
	(a, b) = (b, a)
if x == 1:
	s = ch1 * a + ch2 * b
elif x % 2:
	s = ch1
	a -= 1
	x -= 1
	t = x // 2
	s += (ch2 + ch1) * (t - 1)
	a -= t - 1
	s += ch2 + ch1 * a
	s += ch2 * (b - t)
else:
	t = x // 2
	s = (ch2 + ch1) * (t - 1)
	a -= t - 1
	s += ch2 + ch1 * a
	s += ch2 * (b - t)
print(s)


(A, B, X) = map(int, input().split())
NEXT = '0' if A > B else '1'
BIN_STR = ''
while X > 0:
	BIN_STR += NEXT
	if NEXT == '0':
		NEXT = '1'
		A -= 1
	else:
		NEXT = '0'
		B -= 1
	X -= 1
if NEXT == '0':
	while B > 0:
		BIN_STR += '1'
		B -= 1
	while A > 0:
		BIN_STR += '0'
		A -= 1
else:
	while A > 0:
		BIN_STR += '0'
		A -= 1
	while B > 0:
		BIN_STR += '1'
		B -= 1
print(BIN_STR)


import os
N = int(100.0 + 1)
(a, b, x) = os.read(0, 100).split()
a = int(a)
b = int(b)
x = int(x)
if a > b:
	s = '0'
	a -= 1
else:
	s = '1'
	b -= 1
for i in range(x):
	if b > 0 and s[-1] == '0':
		s += '1'
		b -= 1
	elif a > 0:
		s += '0'
		a -= 1
fs = ''
for i in range(len(s)):
	fs += s[i]
	if a > 0 and s[i] == '0':
		while a > 0:
			fs += '0'
			a -= 1
	if b > 0 and s[i] == '1':
		while b > 0:
			fs += '1'
			b -= 1
os.write(1, fs.encode())


(a, b, x) = [int(i) for i in input().split()]
one = b
zero = a
if a >= b:
	print(0, end='')
	zero -= 1
	a = 0
else:
	print(1, end='')
	one -= 1
	a = 1
for i in range(one + zero):
	if x > 1:
		if a == 1:
			print(0, end='')
			x -= 1
			zero -= 1
			a = 0
		else:
			print(1, end='')
			x -= 1
			one -= 1
			a = 1
if x == 1:
	if a == 1:
		while one > 0:
			print(1, end='')
			one -= 1
		while zero > 0:
			print(0, end='')
			zero -= 1
	if a == 0:
		while zero > 0:
			print(0, end='')
			zero -= 1
		while one > 0:
			print(1, end='')
			one -= 1


(a, b, x) = tuple(map(int, input().split(' ')))
if a >= b:
	s = '01'
else:
	s = '10'
if bool(x & 1):
	t = int((x + 1) / 2)
	res = s * t
	res = s[0] * (max(a, b) - t) + res + s[1] * (min(a, b) - t)
else:
	t = int(x / 2)
	res = s * t + s[1] * (min(a, b) - t) + s[0] * (max(a, b) - t)
print(res)


import sys
(a, b, c) = map(int, sys.stdin.readline()[:-1].split(' '))
if a >= b:
	a0 = a - int(c / 2)
	r = c % 2
	s = '0' * a0 + '1' * (b + a0 - a + 1 - r) + '01' * (a - a0 + r - 1) + '0' * (1 - r)
else:
	b0 = b - int(c / 2)
	r = c % 2
	s = '1' * b0 + '0' * (a + b0 - b + 1 - r) + '10' * (b - b0 + r - 1) + '1' * (1 - r)
print(s)


(a, b, x) = input().split()
a = int(a)
b = int(b)
x = int(x)
ans = ''
one = 0
zero = 0
flag = 0
if b * 2 <= x:
	flag = 1
while len(ans) <= x:
	if flag == 0:
		ans += '1'
		one += 1
		flag = 1
	else:
		ans += '0'
		zero += 1
		flag = 0
if b - one > 0:
	if ans[0] == '1':
		ans = '1' * (b - one) + ans
	else:
		ans = ans[1:]
		ans = '0' + '1' * (b - one) + ans
if a - zero > 0:
	if ans[len(ans) - 1] == '0':
		ans += '0' * (a - zero)
	else:
		ans = ans[:len(ans) - 1]
		ans += '0' * (a - zero)
		ans += '1'
print(ans)


(a, b, x) = [int(x) for x in input().strip().split(' ')]
l = []
if b > a:
	f = '1'
	s = '0'
else:
	f = '0'
	s = '1'
v = [a, b]
for i in range(x - 1):
	if i & 1:
		l.append(s)
		v[int(s)] -= 1
	else:
		l.append(f)
		v[int(f)] -= 1
if x & 1:
	d = f
	e = s
else:
	d = s
	e = f
while v[int(d)] > 0:
	l.append(d)
	v[int(d)] -= 1
while v[int(e)] > 0:
	l.append(e)
	v[int(e)] -= 1
print(''.join(l))


def decision(a, b, x):
	x += 1
	assert a <= b
	s = 'B' * (x % 2) + 'AB' * (x // 2)
	a -= x // 2
	b -= x // 2 + x % 2
	return s.replace('A', 'A' * (a + 1), 1).replace('B', 'B' * (b + 1), 1)

def calc(a, b, x):
	if a <= b:
		return decision(a, b, x).replace('A', '0').replace('B', '1')
	else:
		return decision(b, a, x).replace('A', '1').replace('B', '0')

def get_ints():
	return [int(n) for n in input().split()]

def get_floats():
	return [float(n) for n in input().split()]
a = get_ints()
assert len(a) == 3
(a, b, x) = (a[0], a[1], a[2])
s = calc(a, b, x)
print(s)


(a, b, x) = list(map(int, input().split()))
if x == 1:
	for i in range(a):
		print('0', end='')
	for j in range(b):
		print('1', end='')
	print()
else:
	one = x // 2 + 1
	zero = x - one + 1
	if one > b or zero > a:
		zero = x // 2 + 1
		one = x - zero + 1
	(f, s) = (0, 0)
	if zero > one:
		f = 1
	else:
		s = 1
	grp0 = [0] * zero
	grp1 = [0] * one
	z = a // zero
	for i in range(zero - 1):
		grp0[i] = z
	grp0[zero - 1] = a - z * (zero - 1)
	o = b // one
	for i in range(one - 1):
		grp1[i] = o
	grp1[one - 1] = b - o * (one - 1)
	while zero and one:
		if f == 1:
			for k in range(grp0[zero - 1]):
				print('0', end='')
			s = 1
			f = 0
			zero -= 1
		else:
			for k in range(grp1[one - 1]):
				print('1', end='')
			s = 0
			f = 1
			one -= 1
	while zero:
		for k in range(grp0[zero - 1]):
			print('0', end='')
		zero -= 1
	while one:
		for k in range(grp1[one - 1]):
			print('1', end='')
		one -= 1
	print()


(a, b, x) = map(int, input().split())
n = a + b
u = 0
v = 0
if a > b:
	u = '0'
	v = '1'
else:
	u = '1'
	v = '0'
	(a, b) = (b, a)
for i in range(0, x // 2):
	print(str(u) + str(v), end='')
	a -= 1
	b -= 1
if x % 2 == 0:
	while b != 0:
		print(v, end='')
		b -= 1
	while a != 0:
		print(u, end='')
		a -= 1
else:
	while a != 0:
		print(u, end='')
		a -= 1
	while b != 0:
		print(v, end='')
		b -= 1


(a, b, x) = map(int, input().split())
i = 0
ans = ' '
while i < x:
	if b < a:
		if ans[-1] != '0':
			ans += '0'
		else:
			ans += '1'
	elif ans[-1] != '1':
		ans += '1'
	else:
		ans += '0'
	i += 1
a -= ans.count('0')
b -= ans.count('1')
if ans[-1] == '0':
	ans += '0' * a + '1' * b
else:
	ans += '1' * b + '0' * a
print(ans)


(a, b, x) = [int(x) for x in input().strip().split()]
o = ''
if a >= b:
	o = '0'
	a -= 1
else:
	o = '1'
	b -= 1
while x > 0:
	if o[-1] == '0':
		o += '1'
		x -= 1
		b -= 1
	else:
		o += '0'
		x -= 1
		a -= 1
o = o.replace('0', '0' * (a + 1), 1)
o = o.replace('1', '1' * (b + 1), 1)
print(o)


read = input()
(a, b, x) = map(int, read.split())
s = ''
bo = True
car1 = '0'
car2 = '1'
if b > a:
	aux = a
	a = b
	b = aux
	car1 = '1'
	car2 = '0'
if a > 0:
	s = s + car1
	a = a - 1
elif b > 0:
	s = s + car2
	b = b - 1
	bo = False
while x > 0:
	if bo:
		s = s + car2
		bo = False
		b = b - 1
	else:
		s = s + car1
		bo = True
		a = a - 1
	x = x - 1
tmp = ''
while b > 0:
	tmp = tmp + car2
	b = b - 1
if len(s) > 0:
	s = car1 + tmp + s[1:]
tmp = ''
while a > 0:
	tmp = tmp + car1
	a = a - 1
s = tmp + s
print(s)


(a, b, x) = map(int, input().split())
al = [0] * a
bl = [1] * b
if a > b:
	for i in range(1, x):
		if i & 1:
			al.append(bl.pop(0))
		else:
			al.append(al.pop(0))
	if len(bl) == 0:
		al.append(al.pop(0))
else:
	for i in range(1, x):
		if i & 1:
			bl.append(al.pop(0))
		else:
			bl.append(bl.pop(0))
	if len(al) == 0:
		bl.append(bl.pop(0))
al.reverse()
print(*al, *bl, sep='')


y = input()
y = y.split()
a = int(y[0])
b = int(y[1])
x = int(y[2])
if a >= b:
	s = '01'
	a = a - 1
	b = b - 1
	if (x + 1) % 2 == 0:
		for i in range(0, x - 1):
			if i % 2 == 0:
				s = s + '0'
				a = a - 1
			else:
				s = s + '1'
				b = b - 1
		for i in range(0, a):
			s = '0' + s
		for i in range(0, b):
			s = s + '1'
	else:
		for i in range(0, x - 1):
			if i % 2 == 0:
				s = s + '0'
				a = a - 1
			else:
				s = s + '1'
				b = b - 1
		for i in range(0, b):
			s = s[0:2] + '1' + s[2:len(s)]
		for i in range(0, a):
			s = '0' + s
else:
	s = '10'
	a = a - 1
	b = b - 1
	if (x + 1) % 2 == 0:
		for i in range(0, x - 1):
			if i % 2 == 0:
				s = s + '1'
				b = b - 1
			else:
				s = s + '0'
				a = a - 1
		for i in range(0, b):
			s = '1' + s
		for i in range(0, a):
			s = s + '0'
	else:
		for i in range(0, x - 1):
			if i % 2 == 0:
				s = s + '1'
				b = b - 1
			else:
				s = s + '0'
				a = a - 1
		for i in range(0, a):
			s = s[0:2] + '0' + s[2:len(s)]
		for i in range(0, b):
			s = '1' + s
print(s)


(a, b, x) = [int(x) for x in input().split()]
r = int((x + 1) / 2)
(c, d) = ('1', '0')
if a > b:
	(c, d) = (d, c)
e = {'0': a, '1': b}
print(c * (e[c] - r - (1 if x % 2 == 0 else 0)) + (c + d) * r + d * (e[d] - r) + (c if x % 2 == 0 else ''))


(a, b, x) = map(int, input().split())
l = []
counter = 1
if b >= a:
	firstlist = b
	firstadd = 1
	add = 0
	rang = a
else:
	firstlist = a
	firstadd = 0
	add = 1
	rang = b
for k in range(firstlist):
	l.append(firstadd)
while counter <= x // 2:
	if counter == 1:
		l.insert(counter, add)
		rang -= 1
	else:
		l.insert(counter + counter - 1, add)
		rang -= 1
	counter += 1
for k in range(rang):
	if x % 2 == 0:
		l.insert(1, add)
	else:
		l.insert(0, add)
print(''.join(map(str, l)))


(a, b, x) = [int(i) for i in input().split()]
ans = [1]
for i in range(x):
	if ans[-1] == 1:
		ans.append(0)
	else:
		ans.append(1)
one = sum(ans)
zero = len(ans) - one
if one < b:
	for i in range(b - one):
		ans.insert(0, 1)
if zero < a:
	if ans[-1] == 0:
		while zero != a:
			ans.append(0)
			zero += 1
	else:
		ind = ans.index(0)
		for i in range(a - zero):
			ans.insert(ind, 0)
if sum(ans) != b:
	while sum(ans) != b:
		del ans[0]
if ans[0] != 1:
	ans.append(0)
	del ans[0]
zero = len(ans) - b
while zero != a:
	del ans[ans.index(0)]
print(*ans, sep='')