Problem: You are given three integers a, b, k.

Find two binary integers x and y (x ≥ y) such that 

  1. both x and y consist of a zeroes and b ones; 
  2. x - y (also written in binary form) has exactly k ones. 

You are not allowed to use leading zeros for x and y. 

Input

The only line contains three integers a, b, and k (0 ≤ a; 1 ≤ b; 0 ≤ k ≤ a + b ≤ 2 ⋅ 10^5) — the number of zeroes, ones, and the number of ones in the result.

Output

If it's possible to find two suitable integers, print "Yes" followed by x and y in base-2.

Otherwise print "No".

If there are multiple possible answers, print any of them.

Examples

Input


4 2 3


Output


Yes
101000
100001


Input


3 2 1


Output


Yes
10100
10010


Input


3 2 5


Output


No

Note

In the first example, x = 101000_2 = 2^5 + 2^3 = 40_{10}, y = 100001_2 = 2^5 + 2^0 = 33_{10}, 40_{10} - 33_{10} = 7_{10} = 2^2 + 2^1 + 2^0 = 111_{2}. Hence x-y has 3 ones in base-2.

In the second example, x = 10100_2 = 2^4 + 2^2 = 20_{10}, y = 10010_2 = 2^4 + 2^1 = 18, x - y = 20 - 18 = 2_{10} = 10_{2}. This is precisely one 1.

In the third example, one may show, that it's impossible to find an answer.

Solution (in PYTHON3):

Solution:
a, b, k = map(int, input().split())
a, b = b, a
k1 = k
# assert a >= 2
# assert b >= 1
if b == 0:
    if k == 0:
        print("Yes")
        print('1' * a)
        print('1' * a)
    else:
        print("No")
    exit(0)
if a == 1:
    if k == 0:
        print("Yes")
        print('1' + '0' * b)
        print('1' + '0' * b)
    else:
        print("No")
    exit(0)
s = '1' + '0' + (a - 2) * '1' + (b - 1) * '0' + '1'

f = '00'
for i in range(min(k, a - 2)):
    f += '1'
k -= min(k, a - 2)
# f += '0'
while a + b - len(f) > k:
    f = f + '0'
while len(f) < a + b:
    f += '1'
f = '0b' + f
s = '0b' + s
f = f[2:]
f = '0b' + f
# print(f[2:])
k = k1
if f[2:].count('1') != k or bin(eval(f + '+' + s))[2:].count('1') != a and bin(eval(f + '+' + s))[2:].count('0') != b:
    print("No")
else:
    print("Yes")
    print(bin(eval(f + '+' + s))[2:])
    print(s[2:])









# a, b = b, a
# s = "1" * a + '0' * b
# u = "1" + '0' * b + '1' * (a - 1)
# # print(eval("0b" + s + '-' + "0b" + u))
# cnt = bin(eval("0b" + s + '-' + "0b" + u))[2:].count('1')
# u1 = '1' * (a - 1) + '0' * b + '1'
# cnt = max(cnt, bin(eval("0b" + s + '-' + "0b" + u1))[2:].count('1'))
# if a == 1 or b == 0:
#     cnt = 0
# if k > cnt:
#     print("No")
# else:
#     quit(-1)