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.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.StringTokenizer;
public class iok {
	static int bin(int n) {
		 String x = "";
		 int d = 0 ;
	        while(n > 0)
	        {
	            int a = n % 2;
	            if (a ==1) {
	            	d=d+1;
	            }
	            x = a + x;
	            n = n / 2;
	        }
	        return d;
	}
	static void merge(int arr[], int front, int mid, int rear){
        int len1 = mid - front + 1;
        int len2 = rear - mid;
        int arr1[] = new int [len1];
        int arr2[] = new int [len2];
        for (int i=0; i<len1; ++i)
            arr1[i] = arr[front + i];
        for (int j=0; j<len2; ++j)
            arr2[j] = arr[mid + 1+ j];
        int i = 0, j = 0;
 
        int k = front;
        while (i < len1 && j < len2)
        {
            if (arr1[i] <= arr2[j])
            {
                arr[k] = arr1[i];
                i++;
            }
            else
            {
                arr[k] = arr2[j];
                j++;
            }
            k++;
        }
 
        while (i < len1)
        {
            arr[k] = arr1[i];
            i++;
            k++;
        }
 
        while (j < len2)
        {
            arr[k] = arr2[j];
            j++;
            k++;
        }
    }
    static void sort(int arr[], int l, int r)
    {
        if (l < r)
        {
            int m = (l+r)/2;
 
            sort(arr, l, m);
            sort(arr , m+1, r);
 
            merge(arr, l, m, r);
        }
    }

    static int max(int a, int b) {
    	if (a>b) {
    		return a;
    	}else {
    		return b;
    	}
    }
	static int func(int[] arr) {
		int[][] arrn = new int[arr.length][2]; 
		for(int t = 0 ; t< arr.length;t++) {
			arrn[t][0]=0;
			arrn[t][1]=0;
		}
		arrn[0][0]=1;
		arrn[0][1]=arr[0];
		int p = 0 ;
		for(int u =1 ; u < arr.length;u++ ) {
			for(int h = 0 ; h < u ; h++) {
				if ((arr[h]<arr[u])&&(arrn[u][0]<arrn[h][0]+1)) {
					arrn[u][0]=arrn[h][0];
					arrn[u][1]=arrn[h][1];
				}else if(arrn[h][0]==arrn[u][0]+1) {
					if (arr[h]<arr[u]) {
						arrn[u][0]=arrn[h][0];
						arrn[u][1]=arrn[h][1];
					}else {
						p=p+1;
					}
				}
				
			}
			arrn[u][1]=arr[u];}
			int h = max(arrn[0][0],arrn[1][0]);
			for(int j = 0 ; j <arr.length-1; j++ ) {
				h = max(h,arrn[j+1][0]);
		}
			return h;
	}
		public static void main(String[] args) throws IOException {
			read.init(System.in);
			int a = read.nextInt();
			int b = read.nextInt();
			int a1 = a;
			int b1 = b;
			int cv=0;
			int x = read.nextInt();
			int n = a+b;
			String f = ""; 
			String fi = "";
			int last=0;
			int last1=0;
			int p = 1;
			int d = 1;
//			System.out.println("cwe");
			for(int h = 0 ; h < x+1;h++) {
				if(h==0) {
					if (max(a,b)==a) {
						f=f+"0";
						a=a-1;
						last=0;
					}else {
						f=f+"1";
						b=b-1;
						last=1;
					}
				}else {
					if(last==1) {
						f=f+"0";
						a=a-1;
						last=0;
					}else {
						f=f+"1";
						b=b-1;
						last=1;
					}
				}}
			
			
//			System.out.println("re");
				for(int h1 = 0 ; h1< x+1;h1++) {
					if(h1==0) {
						if (max(a1,b1)==a1) {
							cv=2;
							fi=fi+"0";
							a1=a1-1;
							last1=0;
							for(int z = 0 ; z< a ; z++) {
								fi=fi+"0";
							}
						}else {
							cv=1;
							fi=fi+"1";
							b1=b1-1;
							last1=1;
							for(int z = 0 ; z< b ; z++) {
								fi=fi+"1";
							}
						}
					}else {
						if((last1==1)&&(p==1)&&(cv==1)){
						for(int z = 0 ; z< a ; z++) {
							fi=fi+"0";
						}
						p=p+1;}
						if ((last1==0)&&(d==1)&&(cv==2)) {
							for(int z = 0 ; z< b ; z++) {
								fi=fi+"1";
							}d=d+1;
						}
						
						if(last1==1) {
							fi=fi+"0";
							a1=a1-1;
							last1=0;
							
						}else {
							fi=fi+"1";
							b1=b1-1;
							last1=1;
						}
					}
				
			}
				
		System.out.println(fi);
		}
			}
		
		
class read {
    static BufferedReader reader;
    static StringTokenizer tokenizer;

    /** call this method to initialize reader for InputStream */
    static void init(InputStream input) {
        reader = new BufferedReader(
                     new InputStreamReader(input) );
        tokenizer = new StringTokenizer("");
    }

    /** get next word */
    static String nextLine() throws IOException {
        while ( ! tokenizer.hasMoreTokens() ) {
            //TODO add check for eof if necessary
            tokenizer = new StringTokenizer(
                   reader.readLine() );
        }
        return tokenizer.nextToken();
    }

    static int nextInt() throws IOException {
        return Integer.parseInt( nextLine() );
    }
	
    static double nextDouble() throws IOException {
        return Double.parseDouble( nextLine() );
    }
    
    static float nextFloat() throws IOException {
    	return Float.parseFloat( nextLine() );
    }
    
    static int[] nextIntArray(int length) throws IOException {
    	int[] arr = new int[length];
    	for (int i=0; i<length; i++) {
    		arr[i] = Integer.parseInt( nextLine() );
    	}
    	return arr;    	
    }}

