#include<bits/stdc++.h>
using namespace std;
int n,k;
int a[105][105];
struct node{
int x,y,z;
}l[105];
node lm[105];
int mx=-1;
bool cmp(node x,node y){
return x.z>y.z;
}
void dfs(int x,int y){
if(y>x) return ;
if(x==n+1){
sort(l+1,l+n+1,cmp);
int sum=0;
int m=k;
for(int i=1;i<=n;i++){
if(m){
sum+=l[i].z*3;
m--;
}else sum+=l[i].z;
}
if(sum>mx){
mx=sum;
}
return ;
}
l[x].x=x;
l[x].y=y;
l[x].z=a[x][y];
dfs(x+1,y);
dfs(x+1,y+1);
}
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)
cin>>a[i][j];
dfs(1,1);
cout<<mx;
return 0;
}