#include<stdio.h>
#include<algorithm>
#include<iostream>
#include<string>
using namespace std;

#define maxn 100010

int l[maxn],v[maxn],end[maxn];
string st[maxn];
int main()
{
    int n,r,c;
    cin>>n>>r>>c;
    int i,j,k;
    for(i=0;i<n;i++)
    {
        v[i]=i;
        cin>>st[i];
        l[i]=st[i].length();
    }
    l[n]=2*maxn;v[n]=n;
    i=0;j=0;k=l[0];
    while(i<=n)
    {
        if(k+1+l[j+1]<=c)
        {
            j++;
            k+=1+l[j];
        }
        else
        {
            end[i]=j;
            k-=1+l[i];
            i++;
        }
    }
    int s=r;
    while(r>0)
    {
        if(r&1)
        for(i=0;i<=n;i++) v[i]=end[v[i]];
        r>>=1;
        for(i=0;i<=n;i++) end[i]=end[end[i]];
    }
    int it=0;
    for(i=0;i<=n;i++)
    {
        if(v[i]-i>v[it]-it) it=i;
    }
    for(i=0;i<s;i++)
    {
        j=-1;
        while(j+1+l[it]<=c)
        {
            if(j>0) cout<<' ';
            cout<<st[it];
            j+=1+l[it];
            it++;
        }
        cout<<endl;
    }
    return 0;
}
