#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<math.h>
#include<string.h>
#include<vector>
using namespace std;
const int inf = 0x3f3f3f;
bool vis[10000];
int n,m,k;
double tp[10000][1000],ans[10000];
int main()
{
while(scanf("%d%d%d",&n,&m,&k) != EOF)
{
for(int i = 1 ; i <= n ; i++)
{
for(int j = 1 ; j <= m ; j++)
{
scanf("%lf",&tp[i][j]);
}
}
for(int i = 1 ; i <= m ; i++)
{
ans[i] = 0;
for(int j = 1 ; j <= n ; j++)
{
ans[i] += tp[j][i];
}
}
memset(vis,0,sizeof(vis));
int t = 0;
vector <int> a;
while(k--)
{
int t ;
double res = 0;
for(int i = 1 ; i <= m ; i++)
{
if(vis[i] == 0 && ans[i] > res)
{
res = ans[i];
t = i;
}
}
vis[t] = 1;
a.push_back(t);
}
vector<int>:: iterator it,dele;
while(!a.empty())
{
int res = 0;
for(it = a.begin() ; it < a.end() ; it++)
{
if(res < *it)
{
res = *it;
dele = it;
}
}
a.erase(dele);
if(a.size() >= 1)
printf("%d ",res);
else printf("%d\n",res);
}
}
}
#include<stdlib.h>
#include<iostream>
#include<math.h>
#include<string.h>
#include<vector>
using namespace std;
const int inf = 0x3f3f3f;
bool vis[10000];
int n,m,k;
double tp[10000][1000],ans[10000];
int main()
{
while(scanf("%d%d%d",&n,&m,&k) != EOF)
{
for(int i = 1 ; i <= n ; i++)
{
for(int j = 1 ; j <= m ; j++)
{
scanf("%lf",&tp[i][j]);
}
}
for(int i = 1 ; i <= m ; i++)
{
ans[i] = 0;
for(int j = 1 ; j <= n ; j++)
{
ans[i] += tp[j][i];
}
}
memset(vis,0,sizeof(vis));
int t = 0;
vector <int> a;
while(k--)
{
int t ;
double res = 0;
for(int i = 1 ; i <= m ; i++)
{
if(vis[i] == 0 && ans[i] > res)
{
res = ans[i];
t = i;
}
}
vis[t] = 1;
a.push_back(t);
}
vector<int>:: iterator it,dele;
while(!a.empty())
{
int res = 0;
for(it = a.begin() ; it < a.end() ; it++)
{
if(res < *it)
{
res = *it;
dele = it;
}
}
a.erase(dele);
if(a.size() >= 1)
printf("%d ",res);
else printf("%d\n",res);
}
}
}