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. 
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
//  package j;

import java.io.*;
import java.util.*;

/**
 *
 * @author Mostafa
 */
public class J {

    /**
     * @param args the command line arguments
     */
    public 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;
        }
    }
 public static PrintWriter out;
    
    public static int ser ( int x[] , int start , int end , int val )
    {
        while ( start <= end )
	{
            int mid = ( start + end ) / 2 ;
            if ( x[ mid ] <= val )
                start = mid + 1 ;
            else
                end = mid - 1 ;
	}
        return end ;//if you want the upper else return -1 that not exciet
    }
    
 public static  boolean isPrime( long n)
{
    // Corner cases
    if (n < 2)  return false;
    if (n < 4)  return true;

    // This is checked so that we can skip
    // middle five numbers in below loop
    if (n%2 == 0 || n%3 == 0) return false;

    for (long i=5; i*i<=n; i=i+6)
        if (n%i == 0 || n%(i+2) == 0)
           return false;

    return true;
}  
    public static int search( int x[] , int val )
    {
        return ser( x , 0 , x.length - 1 , val );
    }
    static long gcd(long a, long b) 
    {
        return b == 0 ? (a < 0 ? -a : a) : gcd(b, a % b);
    }

  // Finds the least common multiple of a and b
    static long lcm(long a, long b)
    {
        long lcm = (a / gcd(a, b)) * b;
        return lcm > 0 ? lcm : -lcm ;
    }
    public static void main(String[] args) {
        // TODO code application logic here
        FastReader in = new FastReader();
        StringBuilder r = new StringBuilder();
//        for(Map.Entry<Integer, Integer> e: YourMapName.entrySet())
//            {
//                 System.out.println(e.getKey() + " : " + e.getValue());
//            }
        out = new PrintWriter(new BufferedOutputStream(System.out), true);
        int z = in.nextInt() ;
        int o = in.nextInt() ;
        int d = in.nextInt() ;
        if ( d == 1 )
        {
            
            while ( o-- > 0 )
                r.append(1) ;
            while ( z-- > 0 )
                r.append(0);
        }
        else 
        {
            if ( o < z )
            {
                r.append(0) ;
                --z ;
                boolean h = true ;
                while ( d--> 1 )
                {
                    if ( h )
                    {
                        r.append(1) ;
                        --o ;
                        h = !h ;
                    }
                    else
                    {
                        r.append(0);
                        --z ;
                        h = !h ;
                    }
                }
                if ( !h )
                {
                    while ( o-- > 0 )
                        r.append(1) ;
                    while ( z-- > 0 )
                        r.append(0) ;
                }
                else
                {
                    while ( z-- > 0 )
                        r.append(0) ;
                    while ( o-- > 0 )
                        r.append(1) ;
                }
            }
            else
            {
                r.append(1) ;
                --o ;
                boolean h = true ;
                while ( d--> 1 )
                {
                    if ( h )
                    {
                        r.append(0) ;
                        --z ;
                        h = !h ;
                    }
                    else
                    {
                        r.append(1);
                        --o ;
                        h = !h ;
                    }
                }
//                out.println(o + " " + z);
//                out.println(r);
                if ( h )
                {
                    while ( o-- > 0 )
                        r.append(1) ;
                    while ( z-- > 0 )
                        r.append(0) ;
                }
                else
                {
                    while ( z-- > 0 )
                        r.append(0) ;
                    while ( o-- > 0 )
                        r.append(1) ;
                }
            }
        }
        out.println(r);
    }
}