#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int longest_palindrome(string text, int n) { int rad[100010], i, j, k; for (i = 0, j = 0; i < 2 * n; i += k, j = max(j - k, 0)) { while (i - j >= 0 && i + j + 1 < 2 * n && text[(i - j) / 2] == text[(i + j + 1) / 2]) ++j; rad[i] = j; for (k = 1; i - k >= 0 && rad[i] - k >= 0 && rad[i - k] != rad[i] - k; ++k) rad[i + k] = min(rad[i - k], rad[i] - k); } return *max_element(rad, rad + 2 * n); // ret. centre of the longest palindrome } int main() { int n, k; cin >> n >> k; if (k < 4) { if ((n + k - 1) / k > 2) { cout << -1 << endl; } else { for (int i = 0; i < k; i++) { cout << 0; } for (int i = 0; i < n - k; i++) { cout << 1; } cout << endl; } } else { for (int i = 0; i < k; i++) { cout << 1; } string s = ""; for (int i = 0; i < k - 1; i++) { if (i != k - 2) { s += '0'; } else { s += '1'; } } for (int i = 0; i < k - 1; i++) { if (i != 0) { s += '1'; } else { s += '0'; } } for (int i = 0; i < n - k; i++) { cout << s[i % s.size()]; } cout << endl; } }