#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, l, k;
  cin >> n >> l >> k;
  string str;
  cin >> str;
  vector<char> letters;
  for (int i = 0; i < n * l; i++) letters.push_back(str[i]);
  sort(letters.begin(), letters.end(), greater<char>());
  vector<string> strings(k);
  int start = 0;
  while (strings[k - 1].size() < l) {
    for (int i = start; i < k; i++) {
      strings[i].push_back(letters.back());
      letters.pop_back();
    }
    for (start = k - 1; start >= 0; start--) {
      if (!((strings[start].size() == strings[k - 1].size()) &&
            (*strings[start].rbegin() == *strings[k - 1].rbegin())))
        break;
    }
    start++;
  }
  for (int i = 0; i < k; i++) {
    while (strings[i].size() < l) {
      strings[i].push_back(letters.back());
      letters.pop_back();
    }
  }
  vector<string> larger_strings(n - k);
  int idx = 0;
  while (!letters.empty()) {
    larger_strings[idx].push_back(letters.back());
    letters.pop_back();
    idx = (idx + 1) % (n - k);
  }
  for (int i = 0; i < k; i++) cout << strings[i] << endl;
  for (int i = 0; i < n - k; i++) cout << larger_strings[i] << endl;
  return 0;
}
