#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;
}