#include <bits/stdc++.h>   void output1(int n) {     for (int i = 0; i < n; ++i) {       printf( 10 );     }     printf(  n );   }   void output2(int m) {     --m;     for (int i = 0; i < m; ++i) {       printf( 01 );     }     printf( 0 n );   }   void output3(int n, int m) {     if (n == m + 1) {       --n;       for (int i = 0; i < n; ++i) {         printf( 10 );       }       printf( 1 n );       return;     }     int tmp = n - m - 1;     int up = m + 1;     up--;     for (int i = 0; i < up; ++i) {       printf( 1 );       if (tmp) {         printf( 1 );         --tmp;       }       printf( 0 );     }     printf( 1 );     if (tmp) {       printf( 1 );     }     printf(  n );   }   int main() {     int n, m;     while (scanf( %d%d , &m, &n) != EOF) {       if (m == n) {         output1(n);       } else if (m == n + 1) {         output2(m);       } else if (n > m && n <= 2 * m + 2) {         output3(n, m);       } else {         printf( -1 n );       }     }     return 0;   }   