public class Main {
    public static void main(String[] args) {

        // ??????????????????????????????.
        java.util.Scanner sc = new java.util.Scanner(System.in);

        // ???????????????????????´??° (??????????????°??¨?¨???°) ???????????????.
        int tate = sc.nextInt();
        int yoko = sc.nextInt();

        // ???????????????????????´??° (?????????????´?) ?????????????????§??¨?????????.
        // ?????????????????¨?????????.
        // ????????????????§???????????¨????????????????.
        int[][] matrix = new int[tate][yoko];
        int sum = 0;
        int kado = 0;
        for (int i = 0; i < tate; i ++) {
            sum = 0;
            for (int j = 0; j < yoko; j ++) {
                matrix[i][j] = sc.nextInt();
                System.out.print(matrix[i][j] + " ");
                sum += matrix[i][j];
            }
            kado += sum;
            System.out.println(sum);
        }

        // ?????????????????¨?????????.
        for (int i = 0; i < yoko; i ++) {
            sum = 0;
            for (int j = 0; j < tate; j ++) { sum += matrix[j][i]; }
            System.out.print(sum + " ");
        }
        System.out.println(kado);
    }
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz