import sys

def permute_printR(pref, L):
    if not L:
        print(pref)
        return
    for i in range(len(L)):
        permute_printR(pref + [L[i]], L[:i] + L[i + 1:])

def permute_print(L):
    permute_printR([], L)
        
def enumerate(N):
    L = []
    for i in range(N):
        L += [i]
    permute_print(L)

def main():
    N = int(sys.argv[1])
    enumerate(N)

main()

# $ python permutations.py 3
# [0, 1, 2]
# [0, 2, 1]
# [1, 0, 2]
# [1, 2, 0]
# [2, 0, 1]
# [2, 1, 0]
# $ 
