#include<bits/stdc++.h>
#define rb(a,b,c) for(int a=b;a<=c;a++)
#define rl(a,b,c) for(int a=b;a>=c;a--)
#define niv vector<int>
#define LL long long
#define IT iterator
#define PB(a) push_back(a)
#define II(a,b) make_pair(a,b)
#define FIR first
#define SEC second
using namespace std;
const LL INF=10000000000000;
typedef pair<int,int> mp;
typedef pair<mp,mp> superpair;
int n,m;
LL dp[1001][1001][2][2][2];
LL x[1001],y[1001],z[1001];
LL my_abs(LL num){
	if(num<0) return -num;
	else return num;
}
int main(){
	ios::sync_with_stdio(false);
	cin>>n>>m;
	rb(i,1,n){
		LL xi,yi,zi;
		cin>>x[i]>>y[i]>>z[i];
//		sum[i]=xi+yi+zi;
	}
	rb(i,0,n){
		rb(j,1,m) dp[i][j][1][1][1]=dp[i][j][1][1][0]=dp[i][j][1][0][1]=dp[i][j][0][1][1]=dp[i][j][1][0][0]=dp[i][j][0][0][1]=dp[i][j][0][1][0]=dp[i][j][0][0][0]=-INF;
	}
	rb(i,1,n){
		rb(j,1,m){
			LL tmpx=x[i],tmpy=y[i],tmpz=z[i];
			if(x[i]>=0&&y[i]>=0&&z[i]>=0){
				x[i]=my_abs(x[i]);
				y[i]=my_abs(y[i]);
				z[i]=my_abs(z[i]);
				dp[i][j][1][1][1]= max(dp[i-1][j][1][1][1],dp[i-1][j-1][1][1][1]+x[i]+y[i]+z[i]);
				dp[i][j][1][0][1]= max(dp[i-1][j][1][0][1],dp[i-1][j-1][1][0][1]+x[i]-y[i]+z[i]);
				dp[i][j][1][1][0]= max(dp[i-1][j][1][1][0],dp[i-1][j-1][1][1][0]+x[i]+y[i]-z[i]);
				dp[i][j][0][1][1]= max(dp[i-1][j][0][1][1],dp[i-1][j-1][0][1][1]-x[i]+y[i]+z[i]);
				dp[i][j][0][0][1]=  max(dp[i-1][j][0][0][1],dp[i-1][j-1][0][0][1]-x[i]-y[i]+z[i]);
				dp[i][j][0][1][0]=  max(dp[i-1][j][0][1][0],dp[i-1][j-1][0][1][0]-x[i]+y[i]-z[i]);
				dp[i][j][1][0][0]=  max(dp[i-1][j][1][0][0],dp[i-1][j-1][1][0][0]+x[i]-y[i]-z[i]);
				dp[i][j][0][0][0]=  max(dp[i-1][j][0][0][0],dp[i-1][j-1][0][0][0]-x[i]-y[i]-z[i]);
				x[i]=tmpx;
				y[i]=tmpy;
				z[i]=tmpz;
				
				continue;
			}
			if(x[i]>=0&&y[i]>=0&&z[i]<=0){
				x[i]=my_abs(x[i]);
				y[i]=my_abs(y[i]);
				z[i]=my_abs(z[i]);
				dp[i][j][1][1][1]= max(dp[i-1][j][1][1][1],dp[i-1][j-1][1][1][1]+x[i]+y[i]-z[i]);
				dp[i][j][1][0][1]= max(dp[i-1][j][1][0][1],dp[i-1][j-1][1][0][1]+x[i]-y[i]-z[i]);
				dp[i][j][1][1][0]= max(dp[i-1][j][1][1][0],dp[i-1][j-1][1][1][0]+x[i]+y[i]+z[i]);
				dp[i][j][0][1][1]= max(dp[i-1][j][0][1][1],dp[i-1][j-1][0][1][1]-x[i]+y[i]-z[i]);
				dp[i][j][0][0][1]=  max(dp[i-1][j][0][0][1],dp[i-1][j-1][0][0][1]-x[i]-y[i]-z[i]);
				dp[i][j][0][1][0]=  max(dp[i-1][j][0][1][0],dp[i-1][j-1][0][1][0]-x[i]+y[i]+z[i]);
				dp[i][j][1][0][0]=  max(dp[i-1][j][1][0][0],dp[i-1][j-1][1][0][0]+x[i]-y[i]+z[i]);
				dp[i][j][0][0][0]=  max(dp[i-1][j][0][0][0],dp[i-1][j-1][0][0][0]-x[i]-y[i]+z[i]);
					x[i]=tmpx;
				y[i]=tmpy;
				z[i]=tmpz;
				continue;
			}
			if(x[i]>=0&&y[i]<=0&&z[i]>=0){
				x[i]=my_abs(x[i]);
				y[i]=my_abs(y[i]);
				z[i]=my_abs(z[i]);
				dp[i][j][1][1][1]= max(dp[i-1][j][1][1][1],dp[i-1][j-1][1][1][1]+x[i]-y[i]+z[i]);
				dp[i][j][1][0][1]= max(dp[i-1][j][1][0][1],dp[i-1][j-1][1][0][1]+x[i]+y[i]+z[i]);
				dp[i][j][1][1][0]= max(dp[i-1][j][1][1][0],dp[i-1][j-1][1][1][0]+x[i]-y[i]-z[i]);
				dp[i][j][0][1][1]= max(dp[i-1][j][0][1][1],dp[i-1][j-1][0][1][1]-x[i]-y[i]+z[i]);
				dp[i][j][0][0][1]=  max(dp[i-1][j][0][0][1],dp[i-1][j-1][0][0][1]-x[i]+y[i]+z[i]);
				dp[i][j][0][1][0]=  max(dp[i-1][j][0][1][0],dp[i-1][j-1][0][1][0]-x[i]-y[i]-z[i]);
				dp[i][j][1][0][0]=  max(dp[i-1][j][1][0][0],dp[i-1][j-1][1][0][0]+x[i]+y[i]-z[i]);
				dp[i][j][0][0][0]=  max(dp[i-1][j][0][0][0],dp[i-1][j-1][0][0][0]-x[i]+y[i]-z[i]);	x[i]=tmpx;
				y[i]=tmpy;
				z[i]=tmpz;continue;
			}
			if(x[i]<=0&&y[i]>=0&&z[i]>=0){
				x[i]=my_abs(x[i]);
				y[i]=my_abs(y[i]);
				z[i]=my_abs(z[i]);
				dp[i][j][1][1][1]= max(dp[i-1][j][1][1][1],dp[i-1][j-1][1][1][1]-x[i]+y[i]+z[i]);
				dp[i][j][1][0][1]= max(dp[i-1][j][1][0][1],dp[i-1][j-1][1][0][1]-x[i]-y[i]+z[i]);
				dp[i][j][1][1][0]= max(dp[i-1][j][1][1][0],dp[i-1][j-1][1][1][0]-x[i]+y[i]-z[i]);
				dp[i][j][0][1][1]= max(dp[i-1][j][0][1][1],dp[i-1][j-1][0][1][1]+x[i]+y[i]+z[i]);
				dp[i][j][0][0][1]=  max(dp[i-1][j][0][0][1],dp[i-1][j-1][0][0][1]+x[i]-y[i]+z[i]);
				dp[i][j][0][1][0]=  max(dp[i-1][j][0][1][0],dp[i-1][j-1][0][1][0]+x[i]+y[i]-z[i]);
				dp[i][j][1][0][0]=  max(dp[i-1][j][1][0][0],dp[i-1][j-1][1][0][0]-x[i]-y[i]-z[i]);
				dp[i][j][0][0][0]=  max(dp[i-1][j][0][0][0],dp[i-1][j-1][0][0][0]+x[i]-y[i]-z[i]);	x[i]=tmpx;
				y[i]=tmpy;
				z[i]=tmpz;continue;
			}
			if(x[i]>=0&&y[i]<=0&&z[i]<=0){
				x[i]=my_abs(x[i]);
				y[i]=my_abs(y[i]);
				z[i]=my_abs(z[i]);
				dp[i][j][1][1][1]= max(dp[i-1][j][1][1][1],dp[i-1][j-1][1][1][1]+x[i]-y[i]-z[i]);
				dp[i][j][1][0][1]= max(dp[i-1][j][1][0][1],dp[i-1][j-1][1][0][1]+x[i]+y[i]-z[i]);
//				cout<<dp[i-1][j-1][1][0][1]<<" "<<x[i]<<" "<<y[i]<<" "<<-z[i]<<endl;
				dp[i][j][1][1][0]= max(dp[i-1][j][1][1][0],dp[i-1][j-1][1][1][0]+x[i]-y[i]+z[i]);
				dp[i][j][0][1][1]= max(dp[i-1][j][0][1][1],dp[i-1][j-1][0][1][1]-x[i]-y[i]-z[i]);
				dp[i][j][0][0][1]=  max(dp[i-1][j][0][0][1],dp[i-1][j-1][0][0][1]-x[i]+y[i]-z[i]);
				dp[i][j][0][1][0]=  max(dp[i-1][j][0][1][0],dp[i-1][j-1][0][1][0]-x[i]-y[i]+z[i]);
				dp[i][j][1][0][0]=  max(dp[i-1][j][1][0][0],dp[i-1][j-1][1][0][0]+x[i]+y[i]+z[i]);
				dp[i][j][0][0][0]=  max(dp[i-1][j][0][0][0],dp[i-1][j-1][0][0][0]-x[i]+y[i]+z[i]);	x[i]=tmpx;
				y[i]=tmpy;
				z[i]=tmpz;continue;
			}
			if(x[i]<=0&&y[i]>=0&&z[i]<=0){
				x[i]=my_abs(x[i]);
				y[i]=my_abs(y[i]);
				z[i]=my_abs(z[i]);
				dp[i][j][1][1][1]= max(dp[i-1][j][1][1][1],dp[i-1][j-1][1][1][1]-x[i]+y[i]-z[i]);
				dp[i][j][1][0][1]= max(dp[i-1][j][1][0][1],dp[i-1][j-1][1][0][1]-x[i]-y[i]-z[i]);
				dp[i][j][1][1][0]= max(dp[i-1][j][1][1][0],dp[i-1][j-1][1][1][0]-x[i]+y[i]+z[i]);
				dp[i][j][0][1][1]= max(dp[i-1][j][0][1][1],dp[i-1][j-1][0][1][1]+x[i]+y[i]-z[i]);
				dp[i][j][0][0][1]=  max(dp[i-1][j][0][0][1],dp[i-1][j-1][0][0][1]+x[i]-y[i]-z[i]);
				dp[i][j][0][1][0]=  max(dp[i-1][j][0][1][0],dp[i-1][j-1][0][1][0]+x[i]+y[i]+z[i]);
				dp[i][j][1][0][0]=  max(dp[i-1][j][1][0][0],dp[i-1][j-1][1][0][0]-x[i]-y[i]+z[i]);
				dp[i][j][0][0][0]=  max(dp[i-1][j][0][0][0],dp[i-1][j-1][0][0][0]+x[i]-y[i]+z[i]);	x[i]=tmpx;
				y[i]=tmpy;
				z[i]=tmpz;continue;
			}
			if(x[i]<=0&&y[i]<=0&&z[i]>=0){
				x[i]=my_abs(x[i]);
				y[i]=my_abs(y[i]);
				z[i]=my_abs(z[i]);
				dp[i][j][1][1][1]= max(dp[i-1][j][1][1][1],dp[i-1][j-1][1][1][1]-x[i]-y[i]+z[i]);
				dp[i][j][1][0][1]= max(dp[i-1][j][1][0][1],dp[i-1][j-1][1][0][1]-x[i]+y[i]+z[i]);
				dp[i][j][1][1][0]= max(dp[i-1][j][1][1][0],dp[i-1][j-1][1][1][0]-x[i]-y[i]-z[i]);
				dp[i][j][0][1][1]= max(dp[i-1][j][0][1][1],dp[i-1][j-1][0][1][1]+x[i]-y[i]+z[i]);
				dp[i][j][0][0][1]=  max(dp[i-1][j][0][0][1],dp[i-1][j-1][0][0][1]+x[i]+y[i]+z[i]);
				dp[i][j][0][1][0]=  max(dp[i-1][j][0][1][0],dp[i-1][j-1][0][1][0]+x[i]-y[i]-z[i]);
				dp[i][j][1][0][0]=  max(dp[i-1][j][1][0][0],dp[i-1][j-1][1][0][0]-x[i]+y[i]-z[i]);
				dp[i][j][0][0][0]=  max(dp[i-1][j][0][0][0],dp[i-1][j-1][0][0][0]+x[i]+y[i]-z[i]);	x[i]=tmpx;
				y[i]=tmpy;
				z[i]=tmpz;continue;
			}
			if(x[i]<=0&&y[i]<=0&&z[i]<=0){
				x[i]=my_abs(x[i]);
				y[i]=my_abs(y[i]);
				z[i]=my_abs(z[i]);
				dp[i][j][1][1][1]= max(dp[i-1][j][1][1][1],dp[i-1][j-1][1][1][1]-x[i]-y[i]-z[i]);
				dp[i][j][1][0][1]= max(dp[i-1][j][1][0][1],dp[i-1][j-1][1][0][1]-x[i]+y[i]-z[i]);
				dp[i][j][1][1][0]= max(dp[i-1][j][1][1][0],dp[i-1][j-1][1][1][0]-x[i]-y[i]+z[i]);
				dp[i][j][0][1][1]= max(dp[i-1][j][0][1][1],dp[i-1][j-1][0][1][1]+x[i]-y[i]-z[i]);
				dp[i][j][0][0][1]=  max(dp[i-1][j][0][0][1],dp[i-1][j-1][0][0][1]+x[i]+y[i]-z[i]);
				dp[i][j][0][1][0]=  max(dp[i-1][j][0][1][0],dp[i-1][j-1][0][1][0]+x[i]-y[i]+z[i]);
				dp[i][j][1][0][0]=  max(dp[i-1][j][1][0][0],dp[i-1][j-1][1][0][0]-x[i]+y[i]+z[i]);
				dp[i][j][0][0][0]=  max(dp[i-1][j][0][0][0],dp[i-1][j-1][0][0][0]+x[i]+y[i]+z[i]);	x[i]=tmpx;
				y[i]=tmpy;
				z[i]=tmpz;continue;
			}
		}
	}
	LL res=dp[n][m][1][1][1];
	int i=n,j=m;
	res=max(res,dp[i][j][1][0][1]);
	res=max(res,dp[i][j][1][1][0]);
	res=max(res,dp[i][j][0][1][1]);
	res=max(res,dp[i][j][0][0][1]);
	res=max(res,dp[i][j][1][0][0]);
	res=max(res,dp[i][j][0][1][0]);
	res=max(res,dp[i][j][0][0][0]);
	cout<<res<<endl;
//	cout<<dp[3][2][1][0][1]<<endl;
	return 0;
}


Measured memory_bytes: 62976