#include <bits/stdc++.h>
using namespace std;
int main() {
// 優化輸入輸出效率,縮短執行時間
ios::sync_with_stdio(0);
cin.tie(0);
int n, m;
cin >> n >> m;
int S = 0;
vector<int> num(n, 0);
// 第一階段:找每一列的最大值
for(int i = 0; i < n; i++) {
int mx = 0;
for(int j = 0; j < m; j++) {
int input;
cin >> input;
if(input > mx) mx = input;
}
num[i] = mx; // 紀錄最大值
S += mx; // 累加到總和
}
// 第二階段:輸出總和 S
cout << S << endl;
// 第三階段:篩選並處理格式化輸出
int cnt = 0;
for(int i = 0; i < n; i++) {
// 檢查總和 S 是否能被該列最大值整除
if(S % num[i] == 0) {
// 如果 cnt > 0,代表這不是第一個數字,先輸出空白
if(cnt > 0) cout << " ";
cout << num[i];
cnt++;
}
}
// 第四階段:如果都沒有符合的數字,輸出 -1
if(cnt == 0) cout << "-1";
cout << endl;
return 0;
}