from itertools import zip_longest

def transpose(n):
    lines = map(list, n.splitlines())
    transp = list(zip_longest(*lines, fillvalue=' '))
    print('\n'.join([''.join(line).rstrip() for line in transp]))

def transpose_one_line(n):
    print('\n'.join([''.join(line).rstrip() for line in list(zip_longest(*list(map(list, n.splitlines())), fillvalue=' '))]))



print('\n-------Simple Test:-------\n')
n1 = """Some
text."""
transpose(n1)

print('\n-------Advanced Test:-------\n')
n2 = """package main

import "fmt"

func main() {
    queue := make(chan string, 2)
    queue <- "one"
    queue <- "twoO"
    close(queue)
    for elem := range queue {
        fmt.Println(elem)
    }
}"""
transpose(n2)