import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int r=Integer.parseInt(sc.next());
int c=Integer.parseInt(sc.next());
int[][] rc=new int[r+1][c+1];
for(int i=0;i<r;i++){
    for(int j=0;j<c;j++){
    rc[i][j]=sc.nextInt();
   
    }
}
for(int i=0;i<r;i++){
    for(int j=0;j<c;j++){
 rc[i][c]+=rc[i][j];
    rc[r][j]+=rc[i][j];
   rc[r][c]+=rc[i][j];
    }
}

for(int j=0;j<r+1;j++){
    for(int i=0;i<c+1;i++){
    if(i!=c){System.out.print(rc[j][i]+" ");}else{System.out.println(rc[j][i]);}
    }
}

}
}

/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