#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]);
}