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. 
//CREATED BY : AMBIKESH JHA
//NEPAL
//Never Give Up Trying...


/*starting import statements*/
import java.io.*;
import java.util.*;
import java.math.*;
/*ending import statements*/

//Code Begins Here
public class Temp{
    static final BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    static final BufferedWriter out=new BufferedWriter(new OutputStreamWriter(System.out));
    static int tc;
    static String[] s;
    /*define methods here*/
     public static int[] parseArray(String[] s){
       int[] array=new int[s.length];
       for(int i=0;i<array.length;i++){
         array[i]=Integer.parseInt(s[i]);
       }
       return array;
     }
    /*end methods here*/

        public static void main(String[] args)throws IOException{
        //long start=System.nanoTime();
        tc=1;
        //tc=Integer.parseInt(br.readLine());
        t:
        while(tc-->0){
          s=br.readLine().split(" ");
          int a=Integer.parseInt(s[0]);
          int b=Integer.parseInt(s[1]);
          int x=Integer.parseInt(s[2]);
          int o = 0, z = 0;
          String s = "";
          for(int i = 0; i < x + 1; i ++) {
        	if(b >= a) s += i % 2 == 0? "1" : "0";
        	else s += i % 2 == 0? "0" : "1";

        	if(s.charAt(i) == '1') o++;
        	else z++;
        }

        b -= o; a -= z;
        int n = s.length();

        char begin = s.charAt(0), end = s.charAt(n - 1);

        if(begin != end) {
        	if(begin == '0') {
        		for(int i = 0; i < a; i++) s = "0" + s;
        		for(int i = 0; i < b; i++) s += "1";
        	}
        	else {
        		for(int i = 0; i < b; i++) s = "1" + s;
        		for(int i = 0; i < a; i++) s += "0";
        	}
        }
        else {
        	StringBuilder build = new StringBuilder(s.substring(0, n - 1));
        	if(end == '0') {
        		a++;
        		for(int i = 0; i < b; i++) build.append('1');
        		for(int i = 0; i < a; i++) build.append('0');
        	}
        	else {
        		b++;
        		for(int i = 0; i < a; i++) build.append('0');
        		for(int i = 0; i < b; i++) build.append('1');
        	}

        	s = build.toString();
        }
           out.write(s+"");
           out.write("\n");
        //out.write("\nTime elapsed = "+(System.nanoTime()-start)+ " nanoSec.\n");
        out.close();
      }
    }
}
/*define class here*/

/*end class here*/
