#include using namespace std; using int64 = long long; int main() { int N, M, K; cin >> N >> M >> K; auto make = [](int N, int M, int K, bool f) -> string { string Z=f?"0":"1"; if(f)--N;else --M; while (K > 0) { if (Z.size() & 1) { --M; Z += "1"; } else { --N; Z += "0"; } if (N < 0 or M < 0) { return "inf"; } --K; } string ushi; for(auto& c : Z) { if (c == '0') { while (N > 0) { ushi += "0"; --N; } } ushi += c; } string uku; for(int i = (int) ushi.size() - 1; i >= 0; i--) { if (ushi[i] == '1') { while (M > 0) { uku += "1"; --M; } } uku += ushi[i]; } reverse(uku.begin(), uku.end()); if(N > 0 or M > 0) return "inf"; return uku; }; auto p = make(N, M, K,false); auto q = make(N, M, K,true); p = min(p, q); if(p == "inf") cout << -1 << endl; else cout << p << endl; }