#include <bits/stdc++.h>
using namespace std;
int main() {
  string s[24] = {"c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n",
                  "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};
  string t[26] = {"a", "b", "c", "d", "e", "f", "g", "h", "i",
                  "j", "k", "l", "m", "n", "o", "p", "q", "r",
                  "s", "t", "u", "v", "w", "x", "y", "z"};
  long long int n, k, flag = 0, i;
  cin >> n >> k;
  string res = "", cut = "";
  if (n < k || (k == 1 && n != 1))
    cout << "-1" << endl;
  else if (n == k) {
    for (i = 0; i < k; i++) {
      res += t[i];
    }
    cout << res << endl;
  } else {
    for (i = k - 2; i >= 1; i--) {
      res += s[i - 1];
      flag++;
    }
    for (i = 1; i <= n - flag; i += 1) {
      if ((i % 2) != 0)
        cut += 'a';
      else
        cut += 'b';
    }
    reverse(res.begin(), res.end());
    cout << cut << res << endl;
  }
  return 0;
}
