#include <bits/stdc++.h>
int rint() {
  int x;
  if (~scanf("%d", &x)) return x;
  return -1;
}
const int inf = ~0U >> 1;
using namespace std;
int main() {
  int n = rint(), k = rint();
  if (n < k || (n > 1 && k == 1)) return puts("-1"), 0;
  if (k == 1) {
    puts("a");
    return 0;
  }
  for (int _n = n - k + 2, i = 0; (i) < _n; ++(i)) putchar(i & 1 ? 'b' : 'a');
  for (int _n = k - 2, i = 0; (i) < _n; ++(i)) putchar('a' + i + 2);
  puts("");
  return 0;
}
