#include <bits/stdc++.h>
#define int long long
using namespace std;
int a[105][105],f[105][105][5055];
signed main(){
int n,m;
cin>>n>>m;
if(m>5050) m=5050;
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
cin>>a[i][j];
}
}
memset(f,-1e18,sizeof f);
for(int i=1;i<=n;i++){
f[n][i][0]=a[n][i];
if(m>=1) f[n][i][1]=a[n][i]*3;
}
for(int i=n;i>=2;i--){
for(int j=1;j<=i;j++){
for(int k=0;k<=m;k++){
if(f[i][j][k]==-1e18) continue;
if(j>1){
f[i-1][j-1][k]=max(f[i-1][j-1][k],f[i][j][k]+a[i-1][j-1]);
if(k+1<=m) f[i-1][j-1][k+1]=max(f[i-1][j-1][k+1],f[i][j][k]+a[i-1][j-1]*3);
}
if(j<i){
f[i-1][j][k]=max(f[i-1][j][k],f[i][j][k]+a[i-1][j]);
if(k+1<=m) f[i-1][j][k+1]=max(f[i-1][j][k+1],f[i][j][k]+a[i-1][j]*3);
}
}
}
}
int maxn=-1e18;
for(int i=0;i<=m;i++){
maxn=max(f[1][1][i],maxn);
}
cout<<maxn;
}