#include <cstdio>
#include <iostream>
using namespace std;
int n,m,a[51][51],f[51][51][501];
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n-i+1;j++){
            cin>>a[i][j];
            a[i][j]+=a[i-1][j];
        }
        
    for(int i=1;i<=n+1;i++)//第i列 
        for(int j=0;j<=n+1-i;j++)//挖j个砖头 
            for(int k=0;k<=j+1;k++)//上一列的砖头数 
                for(int s=j;s<=m;s++)//已经挖了s块砖头 
                    f[j][i][s]=max(f[j][i][s],f[k][i-1][s-j]+a[j][i]);
    cout<<max(f[1][n][m],f[0][n+1][m]);
}