#include <bits/stdc++.h>
using namespace std;
string s[1100];
int vis[1100];
int num[100];
int main() {
  ios::sync_with_stdio(false);
  int n, len, k;
  cin >> n >> len >> k;
  string st;
  cin >> st;
  for (int i = 0; i < st.size(); i++) {
    num[st[i] - 'a']++;
  }
  int l = 0, r = 25;
  for (int i = k + 1; i <= n; i++) {
    for (int j = 1; j <= len; j++) {
      while (!num[r] && r > l) r--;
      s[i] += (char)(r + 'a');
      num[r]--;
    }
  }
  int now = 0;
  int pos = 0;
  while (1) {
    for (int i = 1; i <= k; i++) {
      if (vis[i]) continue;
      if (pos >= 1 && i != k && (int)(s[i][pos - 1] - 'a') < now) {
        for (int j = pos + 1; j <= len; j++) {
          while (!num[r] && r > l) r--;
          s[i] += (char)(r + 'a');
          num[r]--;
        }
        vis[i] = 1;
        continue;
      }
      while (!num[l] && r > l) l++;
      s[i] += (char)(l + 'a');
      num[l]--;
      if (i == k) {
        now = l;
      }
    }
    pos++;
    if (pos == len) break;
  }
  sort(s + 1, s + 1 + n);
  for (int i = 1; i <= n; i++) cout << s[i] << endl;
  return 0;
}
