#include <bits/stdc++.h>
#define NMAX 100005
#define MOD 666013
#define INF 0x3f3f3f3f
#define x first
#define y second
#define ll long long

using namespace std;

vector<vector<int> > v,res;
vector<int> aux;
long long dp[NMAX],sp[NMAX];

int main() {
	int n,i,best=INF*INF,j,m,x,act,ans;

	cin>>n>>m;
	for(i=1;i<=n;++i) {
		for(j=1;j<=m;++j) {
			cin>>x;
			aux.push_back(x);
		}

		v.push_back(aux);
		aux.clear();
	}

	sort(v.begin(),v.end());


	for(i=1;i<n;++i) {
		dp[i]=dp[i-1];

		for(j=0;j<m;++j) {
			dp[i]+=abs(v[i][j]-v[i-1][j]);
		}
		sp[i]=sp[i-1]+dp[i];
	}

	for(i=0;i<n;++i) {
		act=sp[n-1];
		if(best>act) {
			best=act;
			res.push_back(v[i]);
		}
		else if(best==act) res.push_back(v[i]);
	}

	cout<<best<<'\n';
	cout<<res.size()<<'\n';
	for(i=0;i<res.size();++i) {
		for(j=0;j<n;++j)
			cout<<res[i][j]<<' ';
		cout<<'\n';
	}

	return 0;
}