#include <bits/stdc++.h>
using namespace std;
const int INF = 1000000005;
const long long INFLL = 1000000000000000002ll;
const long long MOD = 1000000007;
inline long long min(long long a, long long b, long long c) {
  return min(min(a, b), c);
}
inline long long min(long long a, long long b, long long c, long long d) {
  return min(min(min(a, b), c), d);
}
inline long long max(long long a, long long b, long long c) {
  return max(max(a, b), c);
}
inline long long max(long long a, long long b, long long c, long long d) {
  return max(max(max(a, b), c), d);
}
int N, K;
int main() {
  ios_base::sync_with_stdio(false);
  cin >> N >> K;
  if (K == 1) {
    if (N > 1)
      cout << -1;
    else
      cout << "a";
    return 0;
  }
  if (N < K) {
    cout << -1;
    return 0;
  }
  string ans;
  for (int i = (1); i <= (N - K + 2); i++) {
    if (N - i >= K - 2) {
      if (i & 1)
        ans += 'a';
      else
        ans += 'b';
    }
  }
  for (int i = (3); i <= (K); i++) ans += (char)('a' + i - 1);
  cout << ans;
}
