func transpose(A [][]int) [][]int {
w, h := len(A), len(A[0])
newA := make([][]int, h)
for i := 0; i < h; i++ {
newA[i] = make([]int, w)
}
for i := 0; i < w; i++ {
for j := 0; j < h; j++ {
newA[j][i] = A[i][j]
}
}
return newA
}