#include <iostream>
#include <cstring>
using namespace std;
int const WORDMAXSIZE = 21, MAXROWS = 101;
int main() {
int n, x, y, page = 0, newRowStartingPoint = 0, stars = 0, rowSize = 0,spaces = 0,packStars=0,bonus=0;
char words[MAXROWS][WORDMAXSIZE];
bool a = false;
cin >> n >> x >> y;
for (int i = 0; i < n; ++i)
cin >> words[i];
for (int i = 0; i < n; ++i) {
size_t const wordSize = strlen(words[i]);
if (rowSize + wordSize <= y) {
rowSize += wordSize + 1;
++stars;
a = true;
}
else {
a = false;
spaces = stars - 1;
stars += y - rowSize;
if (spaces != 0) {
packStars = stars / spaces;
bonus = stars % spaces;
}
for (int j = newRowStartingPoint; j < i; ++j) {
cout << words[j];
if (j < i - 1) {
int stopBonus = 0;
if (j < bonus)
stopBonus = 1;
for (int k = 0; k < packStars + stopBonus; ++k)
cout << "*";
}
}
cout << "\n";
newRowStartingPoint = i;
rowSize = wordSize + 1;
stars = 1;
spaces = 0;
packStars = 0;
bonus = 0;
++page;
if (page == x) {
page = 0;
cout << "\n";
}
}
}
if (a) {
spaces = stars - 1;
stars += y - rowSize;
if (spaces != 0) {
packStars = stars / spaces;
bonus = stars % spaces;
}
}
for (int j = newRowStartingPoint; j < n; ++j) {
cout << words[j];
if (j < n - 1) {
int stopBonus = 0;
if (j < bonus)
stopBonus = 1;
for (int k = 0; k < packStars + stopBonus; ++k)
cout << "*";
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBjb25zdCBXT1JETUFYU0laRSA9IDIxLCBNQVhST1dTID0gMTAxOwoKaW50IG1haW4oKSB7CglpbnQgbiwgeCwgeSwgcGFnZSA9IDAsIG5ld1Jvd1N0YXJ0aW5nUG9pbnQgPSAwLCBzdGFycyA9IDAsIHJvd1NpemUgPSAwLHNwYWNlcyA9IDAscGFja1N0YXJzPTAsYm9udXM9MDsKCWNoYXIgd29yZHNbTUFYUk9XU11bV09SRE1BWFNJWkVdOwoJYm9vbCBhID0gZmFsc2U7CgoJY2luID4+IG4gPj4geCA+PiB5OwoKCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKQoJCWNpbiA+PiB3b3Jkc1tpXTsKCglmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgewoJCXNpemVfdCBjb25zdCB3b3JkU2l6ZSA9IHN0cmxlbih3b3Jkc1tpXSk7CgoJCWlmIChyb3dTaXplICsgd29yZFNpemUgPD0geSkgewoJCQlyb3dTaXplICs9IHdvcmRTaXplICsgMTsKCQkJKytzdGFyczsKCQkJYSA9IHRydWU7CgkJfQoJCWVsc2UgewoJCQlhID0gZmFsc2U7CgkJICAgIHNwYWNlcyA9IHN0YXJzIC0gMTsKCQkJc3RhcnMgKz0geSAtIHJvd1NpemU7CgoJCQlpZiAoc3BhY2VzICE9IDApIHsKCQkJCXBhY2tTdGFycyA9IHN0YXJzIC8gc3BhY2VzOwoJCQkJYm9udXMgPSBzdGFycyAlIHNwYWNlczsKCQkJfQoKCQkJZm9yIChpbnQgaiA9IG5ld1Jvd1N0YXJ0aW5nUG9pbnQ7IGogPCBpOyArK2opIHsKCQkJCWNvdXQgPDwgd29yZHNbal07CgoJCQkJaWYgKGogPCBpIC0gMSkgewoJCQkJCWludCBzdG9wQm9udXMgPSAwOwoJCQkJCWlmIChqIDwgYm9udXMpCgkJCQkJCXN0b3BCb251cyA9IDE7CgoJCQkJCWZvciAoaW50IGsgPSAwOyBrIDwgcGFja1N0YXJzICsgc3RvcEJvbnVzOyArK2spCgkJCQkJCWNvdXQgPDwgIioiOwoJCQkJfQoJCQl9CgoJCQljb3V0IDw8ICJcbiI7CgkJCW5ld1Jvd1N0YXJ0aW5nUG9pbnQgPSBpOwoJCQlyb3dTaXplID0gd29yZFNpemUgKyAxOwoJCQlzdGFycyA9IDE7CgkJCXNwYWNlcyA9IDA7CgkJCXBhY2tTdGFycyA9IDA7CgkJCWJvbnVzID0gMDsKCgkJCSsrcGFnZTsKCQkJaWYgKHBhZ2UgPT0geCkgewoJCQkJcGFnZSA9IDA7CgkJCQljb3V0IDw8ICJcbiI7CgkJCX0KCQl9Cgl9CgoJaWYgKGEpIHsKCQlzcGFjZXMgPSBzdGFycyAtIDE7CgkJc3RhcnMgKz0geSAtIHJvd1NpemU7CgoJCWlmIChzcGFjZXMgIT0gMCkgewoJCQlwYWNrU3RhcnMgPSBzdGFycyAvIHNwYWNlczsKCQkJYm9udXMgPSBzdGFycyAlIHNwYWNlczsKCQl9Cgl9Cglmb3IgKGludCBqID0gbmV3Um93U3RhcnRpbmdQb2ludDsgaiA8IG47ICsraikgewoJCWNvdXQgPDwgd29yZHNbal07CgoJCWlmIChqIDwgbiAtIDEpIHsKCQkJaW50IHN0b3BCb251cyA9IDA7CgkJCWlmIChqIDwgYm9udXMpCgkJCQlzdG9wQm9udXMgPSAxOwoKCQkJZm9yIChpbnQgayA9IDA7IGsgPCBwYWNrU3RhcnMgKyBzdG9wQm9udXM7ICsraykKCQkJCWNvdXQgPDwgIioiOwoJCX0KCX0KCglyZXR1cm4gMDsKfQ==