#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<ll,ll>
#define bien tuple<ll,ll,ll>
const ll nmax=2e5+163,inf=1e18,mod=1e9+7,base=450;
ll n,m,k;
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    //freopen("yoimiya.INP","r",stdin);
    //freopen("yoimiya.OUT","w",stdout);
    cin>>n>>m>>k;
    vector<vector<ll>> a(n+5,vector<ll>(m+5,0));
    vector<ll> inc,dec,sum(n+5,0),pref_sum(n+5),suff_pref(m+5,0),pref_best(m+5,-inf);
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=m;j++)
            cin>>a[i][j];
        if (a[i][1]<=a[i][m]) inc.push_back(i);
        else dec.push_back(i);
    }

    vector<ll> vecL(n*m+5,0);
    ll it=0;
    for (auto i:dec)
        for (int j=1;j<=m;j++)
            vecL[++it]=a[i][j];
    sort(vecL.begin()+1,vecL.begin()+it+1,greater<ll>());
    for (int i=1;i<=it;i++)
        vecL[i]=vecL[i-1]+vecL[i];


    vector<ll> vecR(n*m+5,0);
    ll sz=inc.size();
    for (auto i:inc)
        for (int j=1;j<=m;j++)
            sum[i]+=a[i][j];
    sort(inc.begin(),inc.end(),[&](ll L,ll R)
    {
        return sum[L]>sum[R];
    });
    for (int i=1;i<=sz;i++) pref_sum[i]=pref_sum[i-1]+sum[inc[i-1]];
    for (int i=0;i<=sz;i++) vecR[i*m]=pref_sum[i];
    for (int i=sz-1;i>=0;i--)
    {
        ll id=inc[i],pref=0;
        for (int j=1;j<m;j++)
        {
            pref+=a[id][j];
            suff_pref[j]=max(suff_pref[j],pref);
            vecR[i*m+j]=pref_sum[i]+suff_pref[j];
        }
    }
    for (int i=0;i<sz;i++)
    {
        ll id=inc[i],pref=0;
        for (int j=1;j<m;j++)
        {
            pref+=a[id][j];
            vecR[i*m+j]=max(vecR[i*m+j],pref_sum[i+1]+pref_best[j]);
            pref_best[j]=max(pref_best[j],pref-sum[id]);
        }
    }

    ll ans=-inf;
    for (int i=0;i<=min(it,k);i++)
    {
        if (sz*m<k-i) continue;
        ans=max(ans,vecL[i]+vecR[k-i]);
    }
    cout<<ans;
}