# Recusrive method to create the series
def computePascal(col, row):
    # There are three things to compute
    # 1. Left edge: col is 0
    # 2. Right edge: col is same as row
    if col == row or col == 0:
        return 1
    # 3. any other cell: col-1 + col of the previous row
    else:
        return computePascal(col - 1, row - 1) + computePascal(col, row - 1)


# Method to create the triangle for `N` row
def printTriangle(num):
    for r in range(num):
        # upon observation, we can deduce the relation
        # num_cols = num_rows + 1
        for c in range(r + 1):
            print(str(computePascal(c, r)), end=" ")
        print("\n")


printTriangle(10)
"""
Output:
1 

1 1 

1 2 1 

1 3 3 1 

1 4 6 4 1 

1 5 10 10 5 1 

1 6 15 20 15 6 1 

1 7 21 35 35 21 7 1 

1 8 28 56 70 56 28 8 1 

1 9 36 84 126 126 84 36 9 1 
"""