#include <bits/stdc++.h>
using namespace std;
const long long N = 35000;
int main() {
  long long x, i, j, k, z, w, n, m, d, p, h, r, l, y, t;
  string s, v;
  cin >> n >> m >> s;
  set<char> st;
  for (auto x : s) st.insert(x);
  v = s;
  sort(v.begin(), v.end());
  if (n < m)
    cout << s + string(m - n, v[0]);
  else {
    string ans = s.substr(0, m);
    for (i = m - 1; i >= 0; i--) {
      auto it = st.upper_bound(ans[i]);
      if (it == st.end())
        continue;
      else {
        ans[i] = *it;
        for (j = i + 1; j < m; j++) ans[j] = *st.begin();
        ans[j] = *st.begin();
        cout << ans;
        break;
      }
    }
  }
}
