#include <bits/stdc++.h>
int intcmp(const void *f, const void *s) { return (*(int *)f - *(int *)s); }
int gcd(int a, int b) { return ((b == 0) ? a : gcd(b, a % b)); }
int preprocess() { return 0; }
int main() {
  int cases;
  int i, j;
  int n, k;
  scanf("%d", &n);
  scanf("%d", &k);
  if (k > n) {
    printf("-1\n");
    return 0;
  }
  if ((k == 1) && (n > 1)) {
    printf("-1\n");
    return 0;
  }
  if ((k == 1) && (n == 1)) {
    printf("a\n");
    return 0;
  }
  if (k != 2) n -= (k - 2);
  for (i = 1; i < n; i += 2) printf("ab");
  if (n & 1) printf("a");
  if (k != 2) {
    k -= 2;
    for (i = 'c'; k > 0; ++i) {
      printf("%c", i);
      k--;
    }
  }
  printf("\n");
  return 0;
}
