#include <bits/stdc++.h>   #define ll long long   #define mod 1000000007   using namespace std;      ll dp[10][200001];   string s =  abcdefghijklmnopqrstuvwxyz ;   ll findgcd(ll a, ll b) {       if (b == 0) {           return a;       }       return findgcd(b, a % b);   }      bool ispalindrome(string s) {       int n = s.length();       bool flag = true;       for (int i = 0; i < n / 2; i++) {           if (s[i] != s[n - 1 - i]) {               flag = false;               break;           }       }       return flag;   }      ll factorial(ll n) {       vector<ll> v(n + 1);       for (ll i = 0; i <= n; i++) {           if (i == 0 || i == 1) {               v[i] = 1;           }           else {               v[i] = (i * v[i - 1]) % mod;           }       }       return v[n];   }      void calculatedp() {       for (ll i = 0; i <= 9; i++) {           ll temp = 10 - i;           for (ll j = 0; j <= 200000; j++) {               if (j < temp) {                   dp[i][j] = 1;               }               else if (j == temp) {                   dp[i][j] = 2;               }               else {                   break;               }           }       }       dp[1][10] = 2;       for (ll i = 11; i <= 200000; i++) {           int temp1 = i - 10;           int temp2 = i - 9;           dp[0][i] = (dp[0][temp1] + dp[1][temp1]) % mod;           dp[1][i] = (dp[0][temp2] + dp[1][temp2]) % mod;       }       for (ll i = 2; i <= 9; i++) {           ll temp = 10 - i;           for (ll j = temp + 1; j <= 200000; j++) {               dp[i][j] = (dp[0][j - temp] + dp[1][j - temp]) % mod;           }       }   }      void solve() {       // ll m;       // cin >> s;       // cin >> m;       // ll ans = 0;       // for (int i = 0; i < s.length(); i++) {       //     ans = (ans + (dp[s[i] -  0 ][m])) % mod;       // }       // cout << ans <<   n ;       int n, k;       cin >> n >> k;          string ans =   ;          for (int i = 0 ; i < k ; i++) {           ans += s[i];           for (int j = i + 1 ; j < k ; j++) {               ans += s[i];               ans += s[j];           }       }          if (n < ans.size()) {           cout << ans.substr(0, n) << endl;       }       else {           int j = ans.length();           int i = 0;           while (j < n) {               ans += ans[i];               i++;               j++;           }              cout << ans << endl;       }   }   int main() {   #ifndef ONLINE_JUDGE       //for getting input from input.txt       freopen( input.txt ,  r , stdin);       //for writing output to output.txt       freopen( output.txt ,  w , stdout);   #endif       ios_base::sync_with_stdio(0);       cin.tie(0);       cout.tie(0);       // calculatedp();       // for (int i = 0; i <= 10; i++) {       //     for (int j = 0; j <= 10; j++) {       //         cout << dp[i][j] <<    ;       //     }       //     cout <<   n ;       // }       int t;       t = 1;       // cin >> t;       while (t--) {           solve();       }   }