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.util.*;
import java.math.*;
public class cf494b
{ 
    public static int M = 1000000007;
    public static void main(String[] args)throws IOException
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter out = new PrintWriter(System.out);
        String[] s1 = br.readLine().split(" ");  
        int a = Integer.parseInt(s1[0]);
        int b = Integer.parseInt(s1[1]);
        int x = Integer.parseInt(s1[2]);
        String s="";
        if(x%2==0)
        {
            if(a>b)
            {
                
                for(int i=0;i<x/2;i++)
                    s+="01";
                for(int i=0;i<b-x/2;i++)
                    s+="1";
                for(int i=0;i<a-x/2;i++)
                    s+="0";
            }
            else
            {
                
                for(int i=0;i<x/2;i++)
                    s+="10";
                for(int i=0;i<a-x/2;i++)
                    s+="0";
                for(int i=0;i<b-x/2;i++)
                    s+="1";
            }
        }
        else
        {
            if(a>b)
            {
                
                for(int i=0;i<x/2;i++)
                    s+="01";
                for(int i=0;i<a-x/2;i++)
                    s+="0";
                for(int i=0;i<b-x/2;i++)
                    s+="1";
            }
            else
            {
                
                for(int i=0;i<x/2;i++)
                    s+="10";
                for(int i=0;i<b-x/2;i++)
                    s+="1";
                for(int i=0;i<a-x/2;i++)
                    s+="0";
            }
        }
        out.println(s);
        out.flush();
    }
    /** Loops
    *   i: for(int i=0;i<n;i++)
    *   j: for(int j=0;j<n;j++)
    *   k: for(int k=0;k<n;k++)

    *   ArrayList<Integer> arr1 = new ArrayList<>();
    
    *   HashMap
    *   HashMap<Integer, Integer> hm = new HashMap<>();
    *   for (Map.Entry<String,String> entry : hm.entrySet()) 
            out.println(entry.getValue());
    
    *   Count frequencies
        for(int i=0;i<n;i++)
        {
            Integer c = hm.get(Integer.parseInt(s[i]));
            if(c==null)
                hm.put(Integer.parseInt(s[i]),1);
            else
                hm.put(Integer.parseInt(s[i]),++c);
        }
    **/     
    public static long modularExpo(long x,long n,int M)
    {
        long result=1;
        while(n>0)
        {
            if(n%2==1)
                result=(result*x)%M;
            x=(x*x)%M;
            n=n/2;
        }   
        return result;                                              
    }
    //FLT, only when a and M are co-prime
    public static long modInverse(int a,int M)
    {
        long g = gcd(a,M);
        if(g!=1)
            return -1;
        return modularExpo(a,M-2,M);
    }
    public static long gcd(int a, int b) 
    {
        if(b==0)
            return a;
        else
            return gcd(b, a % b);
    }
}