import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class Main {
    public static void main (String[] args) throws IOException {
        File file = new File(args[0]);
        BufferedReader buffer = new BufferedReader(new FileReader(file));
        String line;
        while ((line = buffer.readLine()) != null) {
            line = line.trim();

            String[] letters = line.split("\\s+");
            int sizeN = (int) Math.sqrt(letters.length);
            String[][] matrix = new String[sizeN][sizeN];

            //fill the matrix
            for (int i = 0; i < letters.length; ++i) {
                matrix[i/sizeN][i%sizeN] = letters[i];
            }

            //transpose the matrix
            String[][] transposedMatrix = new String[sizeN][sizeN];
            for (int i = 0; i < transposedMatrix.length; ++i) {
                for (int j = 0; j < transposedMatrix.length; ++j) {
                    transposedMatrix[j][i] = matrix[i][j];
                }
            }

            //reverse rows
            for (int i = 0; i < transposedMatrix.length; ++i) {
                for (int j = 0; j < transposedMatrix.length/2; ++j) {
                    String temp = transposedMatrix[i][j];
                    transposedMatrix[i][j] = transposedMatrix[i][transposedMatrix[i].length - j - 1];
                    transposedMatrix[i][transposedMatrix[i].length - j - 1] = temp;
                }
            }

            //print the matrix
            String answer = "";
            for (int i = 0; i < transposedMatrix.length; ++i) {
                for (int j = 0; j < transposedMatrix.length; ++j) {
                    answer += transposedMatrix[i][j] + " ";
                }
            }

            System.out.println(answer.trim());
        }
    }
}