#include <bits/stdc++.h>
int main() {
  int i, n, k;
  scanf("%d", &n);
  scanf("%d", &k);
  if ((n == 1) && (k == 1)) {
    printf("%s", "a");
    return 0;
  }
  if (((n > 1) && (k == 1)) || (n < k)) {
    printf("%d", -1);
    return 0;
  }
  char data[n + 1];
  if (n == k) {
    for (i = 0; i < n; i++) data[i] = 'a' + i;
    data[i] = '\0';
    printf("%s", data);
    return 0;
  }
  if (k == 2) {
    for (i = 0; i < n; i += 2) {
      printf("%s", "a");
      if (i + 1 < n) printf("%s", "b");
    }
    return 0;
  }
  for (i = 0; i < n - k + 2; i += 2) {
    data[i] = 'a';
    if (i + 1 < n - k + 2) data[i + 1] = 'b';
  }
  for (i = 0; i < k - 2; i++) data[n - k + 2 + i] = 'c' + i;
  data[n - k + 2 + i] = '\0';
  printf("%s", data);
}
