#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
void solve() {
  int n, k;
  cin >> n >> k;
  string s;
  cin >> s;
  set<char> st;
  for (auto i : s) st.insert(i);
  if (k > n) {
    string p = s;
    char ch = *st.begin();
    for (int i = 0; i < k - n; i++) {
      p += ch;
    }
    cout << p;
  } else {
    int p = k;
    k--;
    char ch = *st.rbegin();
    if (s[k] == ch) {
      for (; k >= 0; k--) {
        if (s[k] != ch) break;
      }
      for (int i = 0; i < k; i++) cout << s[i];
      cout << *(st.upper_bound(s[k]));
      ch = *st.begin();
      for (int i = 0; i < p - k - 1; i++) cout << ch;
    } else {
      for (int i = 0; i < k; i++) cout << s[i];
      cout << *(st.upper_bound(s[k]));
    }
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  solve();
}
