#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;
}
