#include <stdio.h>
#include <stdlib.h>
int main() {
int m, n;
while (scanf("%d %d", &m, &n) != EOF) {
int** arr = (int**)malloc(sizeof(int*)*m);
for (int i = 0; i < m; i++) { //初始化并读入数组
arr[i] = (int*)malloc(sizeof(int) * n);
for (int j = 0; j < n; j++) {
scanf("%d", &arr[i][j]);
}
}
for (int i = 0; i < m; i++) {
int max = arr[i][0], maxIndex = 0, sum = arr[i][0];
for (int j = 1; j < n; j++) { //找每行最大值
sum += arr[i][j];//求行和
if (arr[i][j] > max) {
max = arr[i][j];
maxIndex = j;
}
}
arr[i][maxIndex] = sum;
}
for (int i = 0; i < m; i++) { //输出
for (int j = 0; j < n; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
return 0;
}