#include<stdio.h>
#include<iostream>
#include<math.h>
#include<algorithm>
using namespace std;
struct node{
int num; //树的编号
int sum; //苹果树剩余数量
int cnt; //疏果数量
}tree[1010];
bool cmp(node a,node b){ //按照疏果的数量从大到小排序
if(a.cnt != b.cnt) return a.cnt > b.cnt;
return a.num < b.num; //疏果并列按照编号小的排序
}
int n,m;
long long ans; //记录最后剩余的苹果数
int main(){
scanf("%d%d",&n,&m);
int x; //输入的疏果数
for(int i = 1; i <= n; i++){
tree[i].num = i; //树及其编号都从下标1开始
scanf("%d",&tree[i].sum);
for(int j = 0; j < m; j++){
scanf("%d",&x);
tree[i].sum += x;
tree[i].cnt -= x; //因为x为负数
}
ans += tree[i].sum; //对于每一棵树疏果后求总和
}
sort(tree+1,tree+1+n,cmp);
printf("%lld %d %d",ans,tree[1].num,tree[1].cnt);
return 0;
}