package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
)
func main() {
sc := bufio.NewScanner(os.Stdin)
sc.Scan()
n, _ := strconv.Atoi(strings.Fields(sc.Text())[0])
m, _ := strconv.Atoi(strings.Fields(sc.Text())[1])
a := make([][]string, n)
for i, _ := range a {
a[i] = make([]string, m)
}
b := make([][]int, m)
for i, _ := range b {
b[i] = make([]int, n)
}
for i := 0; i < n; i++ {
sc.Scan()
a[i] = strings.Fields(sc.Text())
}
for i := 0; i < m; i++ {
for j := 0; j < n; j++ {
b[i][j], _ = strconv.Atoi(a[j][i])
fmt.Printf("%d ", b[i][j])
}
fmt.Printf("\n")
}
}