import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Iterator;

class Driver {
	public static void main(String[] args) {
		Scanner in = null;
	
		try {
			in = new Scanner(new File("matrix.txt"));
		}
		catch (FileNotFoundException e) {
			System.out.println("Dude - you forgot to create matrix.txt");
			return;
		}

		in.useDelimiter(",|\n");

		int rows = in.nextInt();
		int cols = in.nextInt();

		Matrix<Integer> m = new Matrix<>(rows,cols);

		while(in.hasNext()) {
			int elm = in.nextInt();
			m.add(elm);
		}
	
		for(int i = 0; i < m.numRows(); i++) {
			for(int j = 0; j < m.numCols(); j++) {
				System.out.print(m.peek(i,j) + " ");
			}
			System.out.println();
		}	
		
		Iterator<Integer> it = m.iterator();
		while(it.hasNext()) {
			System.out.print(it.next() + " ");
		}		
		System.out.println();

		Iterator<Integer> it2 = m.diagonalIterator();

		while(it2.hasNext()) {
			System.out.print(it2.next() + " ");
		}		
		System.out.println();



	}
}
