#include <bits/stdc++.h>
using namespace std;
const int modulo = 1e9 + 7;
template <class __Ty>
bool mini(__Ty& a, __Ty b) {
  return a > b ? ((a = b) | 1) : (0);
}
template <class __Ty>
bool maxi(__Ty& a, __Ty b) {
  return a < b ? ((a = b) | 1) : (0);
}
template <class __Ty>
__Ty add(__Ty a, __Ty b) {
  return (a + b) % (__Ty(modulo));
}
template <class __Ty>
__Ty sub(__Ty a, __Ty b) {
  __Ty m(modulo);
  return ((a - b) % m + m) % m;
}
int a[int(1e6) + 3] = {0};
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int n, m;
  cin >> n >> m;
  if ((n <= m + 1) && (m <= 2 * (n + 1))) {
    m -= n - 1;
    for (int i = 1; i < n; ++i) a[i] = 1;
    for (int i = 0; i <= n; ++i)
      while (m && a[i] < 2) {
        m--;
        a[i]++;
      }
    for (int i = 0; i <= n; ++i) {
      if (i > 0) cout << 0;
      while (a[i]--) cout << 1;
    }
  } else
    cout << -1;
  return 0;
}
