Problem:
Spreadsheet

Your task is to perform a simple table calculation.

Write a program which reads the number of rows r, columns c and a table of r × c elements, and prints a new table, which includes the total sum for each row and column.

Input

In the first line, two integers r and c are given. Next, the table is given by r lines, each of which consists of c integers separated by space characters.

Output

Print the new table of (r+1) × (c+1) elements. Put a single space character between adjacent elements. For each row, print the sum of it's elements in the last column. For each column, print the sum of it's elements in the last row. Print the total sum of the elements at the bottom right corner of the table.

Constraints

1 ≤ r, c ≤ 100

0 ≤ an element of the table ≤ 100

Sample Input

4 5
1 1 3 4 5
2 2 2 4 5
3 3 0 1 1
2 3 4 4 6

Sample Output

1 1 3 4 5 14
2 2 2 4 5 15
3 3 0 1 1 8
2 3 4 4 6 19
8 9 9 13 17 56

Solution in JAVA (judge verdict: Accepted)

import java.util.Scanner;

public class Main {


	/**与えられた行列に対し、それぞれの行と列の和をもとめる。
	 *表の行数と列数の行列を読み込んで、
	 *各行と列の合計を挿入した新しい表を出力するプログラムを作成する。
	 * @param args	行数、列数、行列
	 */
	
	public static void main(String[] args){

		Scanner scan = new Scanner(System.in);
		int gyo = scan.nextInt();
		int retu = scan.nextInt();
		
//		int gyo = Integer.parseInt(args[0]);		//4
//		int retu = Integer.parseInt(args[1]);		//5

		int[] gyo_sum = new int[gyo];								//行（横）の合計値
		int[] retu_sum = new int[retu];							//列（縦）の合計値
		int fin_sum=0;

		for(int k = 0;k < gyo; k++){				//行単位
		
			for(int i=0;i < retu; i++){			//列単位
				int now_cell = scan.nextInt();
				gyo_sum[k] = gyo_sum[k] + now_cell;
				System.out.print(now_cell+" ");
				retu_sum[i] = retu_sum[i] + now_cell;
//				gyo_sum[k] = gyo_sum[k] + Integer.parseInt(args[2+5*k+i]);
//				System.out.print(args[2+5*k+i]+" ");
//				retu_sum[i] = retu_sum[i] + Integer.parseInt(args[2+5*k+i]);
			}
			
		
			System.out.println(gyo_sum[k]);
			fin_sum = fin_sum + gyo_sum[k];
		}
		for(int j = 0;j < retu;j++){
			System.out.print(retu_sum[j] + " ");	//列の和出力
			//fin_sum = fin_sum + retu_sum[j];
		}
		System.out.println(fin_sum);	//最終合計

	}

}