#include #define REP(i,n) for(int i=0,i##_len=int(n);i>n[0]>>n[1]>>k; string s; if(n[0]>0) { s.push_back('0'); n[0]-=1; } else { s.push_back('1'); n[1] -= 1; } while (n[0] > 0 || n[1] > 0) { int num = s.back() - '0'; if (k > 0) { num ^= 1; if(n[num] > 0){ s.push_back(num + '0'); n[num]--; k--; } else { break; } } else { break; } } cerr << s << " " << n[0] << " " << n[1] << " " << k << endl; string front(n[0],'0'); string back(n[1], '1'); if (s.back() == '0') { s.pop_back(); back.push_back('0'); } if(k > 0) { cout << "-1" << endl; } else { cout << front + s + back << endl; } }