#include <bits/stdc++.h>
using namespace std;
const int N_MAX = 1e5;
int N, M;
char a[N_MAX + 5];
int cnt[26];
int nxt[N_MAX + 5][26];
int ansnxt[N_MAX + 5];
string ans;
int Next(int i, int j) { return min(ansnxt[j + 1], nxt[j + 1][i]); }
int main() {
  ios::sync_with_stdio(false);
  cin >> M >> (a + 1);
  N = strlen(a + 1);
  for (int i = 1; i <= N; ++i) {
    ++cnt[a[i] - 'a'];
    ansnxt[i] = N + 1;
  }
  ansnxt[0] = ansnxt[N + 1] = N + 1;
  for (int i = 0; i < 26; ++i) nxt[N + 1][i] = N + 1;
  for (int i = N; i > 0; --i) {
    memcpy(nxt[i], nxt[i + 1], sizeof nxt[i]);
    nxt[i][a[i] - 'a'] = i;
  }
  memcpy(nxt[0], nxt[1], sizeof nxt[0]);
  for (int i = 0; i < 26; ++i) {
    bool ok = true;
    int j = 0, nr = 0, last = 0;
    while (j <= N) {
      int nx = Next(i, j);
      if (a[nx] != i + 'a') last = nx;
      if (nx - j > M)
        ok = false;
      else if (a[nx] == i + 'a' && Next(i, nx) - last > M) {
        ++nr;
        last = nx;
      }
      while (j < nx) ansnxt[++j] = nx;
    }
    ansnxt[0] = ansnxt[1];
    if (ok) {
      for (int j = 0; j < nr; ++j) ans += 'a' + i;
      break;
    } else {
      for (int j = 0; j < cnt[i]; ++j) ans += 'a' + i;
    }
  }
  cout << ans << "\n";
  return 0;
}
