#include <bits/stdc++.h>
using namespace std;
const int inv = numeric_limits<int>::max();
const int minv = numeric_limits<int>::min();
const int max_n = 1000010;
int n, k;
char s[max_n + 10];
int main() {
  scanf("%d", &n);
  scanf("%d", &k);
  if (k == 1) {
    if (n == 1)
      printf("a\n");
    else
      printf("-1\n");
  } else {
    if (n < k)
      printf("-1\n");
    else {
      for (int i = n - k + 2; i <= n - 1; ++i) s[i] = (char('a' + i - n + k));
      s[0] = 'a';
      for (int i = 1; i <= n - k + 1; ++i) s[i] = (s[i - 1] == 'a' ? 'b' : 'a');
      s[n] = '\0';
      printf("%s\n", s);
    }
  }
  return 0;
}
