#include<bits/stdc++.h>
using namespace std;
const int N=1e2+10;
const int M=5e3+10;
const long long inf=1e18;
long long dp[N][N][M];
int a[N][N];
int n,m,t;
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin>>n>>t;
for (int i=1;i<=n;i++){
for (int j=1;j<=i;j++){
cin>>a[i][j];
}
}
for (int i=1;i<=n;i++){
for (int j=1;j<=i;j++){
for (int k=0;k<=t;k++){
dp[i][j][k]=max(dp[i-1][j][k]+a[i][j],dp[i-1][j-1][k]+a[i][j]);
if (k+1<=t) dp[i][j][k]=max(dp[i-1][j][k+1]+a[i][j]*3,dp[i][j][k]);
if (k+1<=t) dp[i][j][k]=max(dp[i-1][j-1][k+1]+a[i][j]*3,dp[i][j][k]);
}
}
}
long long maxn=-inf;
for (int i=1;i<=n;i++){
for (int j=0;j<=t;j++){
maxn=max(maxn,dp[n][i][j]);
}
}
cout<<maxn;
return 0;
}