#include<bits/stdc++.h>
using namespace std;
priority_queue<int>w;
int m,n,k,a[805][805],gt[805],c[805],top;
int get(int i)
{
return gt[n]-gt[i];
}
void search(int t,int s)
{
for(int i=1;i<=m;i++)
{
s+=a[t][i];
if(s+get(i)>w.top()) return;
if(t==n) if(s<w.top()) w.pop(),w.push(s);else;
else search(t+1,s);
s-=a[t][i];
}
}
int main()
{
cin>>n>>m>>k;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
cin>>a[i][j];
sort(a[i]+1,a[i]+1+m);
gt[i]=gt[i-1]+a[i][1];
}
for(int i=1;i<=k;i++)
w.push(INT_MAX);
search(1,0);
while(w.size()) c[++top]=w.top(),w.pop();
for(int i=k;i>=1;i--)
cout<<c[i]<<' ';
return 0;
}