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 ≤ i < n) such that s_i ≠ 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 ≤ i < n and s_i ≠ 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 ≤ a, b ≤ 100, 1 ≤ 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. 
import java.io.*;
import java.math.*;
import java.util.*;

public class test {
	/*
	 * array list
	 * 
	 * ArrayList<Integer> al=new ArrayList<>(); creating BigIntegers
	 * 
	 * BigInteger a=new BigInteger(); BigInteger b=new BigInteger();
	 * 
	 * hash map
	 * 
	 * HashMap<Integer,Integer> hm=new HashMap<Integer,Integer>(); for(int
	 * i=0;i<ar.length;i++) { Integer c=hm.get(ar[i]); if(hm.get(ar[i])==null) {
	 * hm.put(ar[i],1); } else { hm.put(ar[i],++c); } }
	 * 
	 * while loop
	 * 
	 * int t=sc.nextInt(); while(t>0) { t--; }
	 * 
	 * array input
	 * 
	 * int n = sc.nextInt(); int ar[] = new int[n]; for (int i = 0; i < ar.length;
	 * i++) { ar[i] = sc.nextInt(); }
	 */

	static class FastReader {
		BufferedReader br;
		StringTokenizer st;

		public FastReader() {
			br = new BufferedReader(new InputStreamReader(System.in));
		}

		String next() {
			while (st == null || !st.hasMoreElements()) {
				try {
					st = new StringTokenizer(br.readLine());
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			return st.nextToken();
		}

		int nextInt() {
			return Integer.parseInt(next());
		}

		long nextLong() {
			return Long.parseLong(next());
		}

		double nextDouble() {
			return Double.parseDouble(next());
		}

		String nextLine() {
			String str = "";
			try {
				str = br.readLine();
			} catch (IOException e) {
				e.printStackTrace();
			}
			return str;
		}
	}

	static class Pair {
		int first, second;

		public Pair(int first, int second) {
			this.first = first;
			this.second = second;
		}

	}

	static class OutputWriter {
		private final PrintWriter writer;

		public OutputWriter(OutputStream outputStream) {
			writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(outputStream)));
		}

		public OutputWriter(Writer writer) {
			this.writer = new PrintWriter(writer);
		}

		public void print(Object... objects) {
			for (int i = 0; i < objects.length; i++) {
				if (i != 0)
					writer.print(' ');
				writer.print(objects[i]);
			}
		}

		public void printLine(Object... objects) {
			print(objects);
			writer.println();
		}

		public void close() {
			writer.close();
		}

		public void flush() {
			writer.flush();
		}

	}

	private static final Scanner sc = new Scanner(System.in);
	private static final FastReader fs = new FastReader();
	private static final OutputWriter op = new OutputWriter(System.out);

	static int[] getintarray(int n) {
		int ar[] = new int[n];
		for (int i = 0; i < n; i++) {
			ar[i] = fs.nextInt();
		}
		return ar;
	}

	static long[] getlongarray(int n) {
		long ar[] = new long[n];
		for (int i = 0; i < n; i++) {
			ar[i] = fs.nextLong();
		}
		return ar;
	}

	static int[][] get2darray(int n, int m) {
		int ar[][] = new int[n][m];
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				ar[i][j] = fs.nextInt();
			}
		}
		return ar;
	}

	static Pair[] getpairarray(int n) {
		Pair ar[] = new Pair[n];
		for (int i = 0; i < n; i++) {
			ar[i] = new Pair(fs.nextInt(), fs.nextInt());
		}
		return ar;
	}

	static void printarray(int ar[]) {
		System.out.println(Arrays.toString(ar));
	}

	static boolean checkmyArray(int[] ar)

	{
		int temp = ar[0];
		for (int i = 1; i < ar.length; i++) {
			if (temp != ar[i])
				return false;
		}
		return true;
	}

	static int fact(int n) {
		int fact = 1;
		for (int i = 2; i <= n; i++) {
			fact *= i;
		}
		return fact;
	}

	static int getans(int[] a, int[] b) {
		int a1 = a[0];
		int a2 = b[0];
		int b1 = a[1];
		int b2 = b[1];
		int c1 = a[2];
		int c2 = b[2];

		if (((a1 == a2) && (b1 == b2) && (c1 == c2)))
			return 0;
		else if ((a2 - a1) == (b2 - b1) && (b2 - b1) == (c2 - c1))
			return 1;
		else if ((a2 / a1 == b2 / b1) && (b2 / b1 == c2 / c1) && (a2 / a1 == c2 / c1)
				&& (a2 % a1 == 0 && b2 % b1 == 0 && c2 % c1 == 0))
			return 1;
		else if (((a1 == a2) && (b1 == b2)) || ((a1 == a2) && (c1 == c2)) || ((c1 == c2) && (b1 == b2))) {
			return 1;
		} else if (a1 == a2) {
			if ((b2 - b1) == (c2 - c1) || ((b2 / b1 == c2 / c1) && (b2 % b1 == 0 && c2 % c1 == 0)))
				return 1;
		} else if (b1 == b2) {
			if ((a2 - a1) == (c2 - c1) || ((a2 / a1 == c2 / c1) && (a2 % a1 == 0 && c2 % c1 == 0)))
				return 1;
		} else if (c1 == c2) {
			if ((b2 - b1) == (a2 - a1) || ((b2 / b1 == a2 / a1) && (b2 % b1 == 0 && a2 % a1 == 0)))
				return 1;
		} else if ((((a2 - a1) != (b2 - b1) && (b2 - b1) != (c2 - c1) && (a2 - a1) != (c2 - c1))
				&& ((a2 / a1 != b2 / b1) && (b2 / b1 != c2 / c1) && (a2 / a1 != c2 / c1)))) {
			return 3;
		} else if ((((a2 - a1) != (b2 - b1) && (b2 - b1) != (c2 - c1) && (a2 - a1) != (c2 - c1)))) {
			if ((a2 / a1 == b2 / b1 && a2 % a1 != 0 && b2 % b1 != 0)
					|| (a2 / a1 == c2 / c1 && a2 % a1 != 0 && c2 % c1 != 0)
					|| (c2 / c1 == b2 / b1 && c2 % c1 != 0 && b2 % b1 != 0))
				return 3;

		}
		return 2;

	}

	public static void main(String[] args) {
//		int t = fs.nextInt();
////		int t = 1;
//		while (t > 0) {
//			int a[] = getintarray(3);
//			int b[] = getintarray(3);
//			int ans = getans(a, b);
//			System.out.println(ans);
//		}
//		int t = fs.nextInt();
		int t = 1;
		while (t > 0) {
			int a = fs.nextInt();
			int b = fs.nextInt();
			int x = fs.nextInt();
			++x;
			StringBuilder ss = new StringBuilder();
			int c = 0;
			boolean start = true;
			if (a < b)
				start = false;
			while (x > 0) {
				if (a == 0 || b == 0)
					break;
				if (start) {
					if (c % 2 == 0) {
						ss.append("0");
						--a;
					} else {
						ss.append("1");
						--b;
					}
					++c;

					--x;
				} else {
					if (c % 2 == 0) {
						ss.append("1");
						--b;
					} else {
						ss.append("0");
						--a;
					}
					++c;
					--x;
				}
			}
			if (x != 0) {
				if (a > 0) {
					if (ss.charAt(0) == '1') {
						String z = "0";
						ss = new StringBuilder(z.concat(ss.toString()));
						--a;
					} else if (ss.charAt(ss.length() - 1) == '1') {
						ss.append("0");
						--a;
					}
				}
				if (b > 0) {
					if (ss.charAt(0) == '0') {
						String z = "1";
						ss = new StringBuilder(z.concat(ss.toString()));
						--b;
					} else if (ss.charAt(ss.length() - 1) == '0') {
						ss.append("1");
						--b;
					}
				}
			}
			if (a > 0) {
				String z = "";
				if (ss.charAt(0) == '0') {
					while (a > 0) {
						z += "0";
						a--;
					}
					ss = new StringBuilder(z.concat(ss.toString()));
				} else if (ss.charAt(ss.length() - 1) == '0') {
					while (a > 0) {
						z += "0";
						a--;
					}
					ss.append(z);
				} else if (ss.charAt(ss.length() - 2) == '0') {
					while (a > 0) {
						z += "0";
						a--;
					}
					ss.deleteCharAt(ss.length() - 1);
					ss.append(z);
					ss.append("1");
				}
			}
			if (b > 0) {
				String z = "";
				if (ss.charAt(0) == '1') {
					while (b > 0) {
						z += "1";
						b--;
					}
					ss = new StringBuilder(z.concat(ss.toString()));
				} else if (ss.charAt(ss.length() - 1) == '1') {
					while (b > 0) {
						z += "1";
						b--;
					}
					ss.append(z);
				} else if (ss.charAt(ss.length() - 2) == '1') {
					while (b > 0) {
						z += "1";
						b--;
					}
					ss.deleteCharAt(ss.length() - 1);
					ss.append(z);
					ss.append("0");
				}
			}
			System.out.println(ss.toString());
			t--;
		}
	}

}/*
	 * 1 5 -2 -3 -1 -4 -6till here
	 */
