# Треугольник Паскаля
# По данному числу N выведите первые N+1 строку треугольника Паскаля.
# Формат входных данных
# Во входных данных содержится только число N (0 < N ≤ 100).
# Формат выходных данных
# Выведите N + 1 строку треугольника Паскаля. Числа в строке разделяйте одним пробелом.
# Примеры
# Ввод
# 1
# Вывод
# 1
# 1 1
# Ввод
# 4
# Вывод
# 1
# 1 1
# 1 2 1
# 1 3 3 1
# 1 4 6 4 1

x = int(input())

pascal_triangle = [0] * (x + 1)  # Список списков для хранения значений треугольника Паскаля.

# Заполням два верхних уровня.
pascal_triangle[0] = [1]
pascal_triangle[1] = [1, 1]

for i in range(2, x + 1):  # Для каждого след. уровня элементы со второго до предпоследнего рассчитываются.
    new_row = [1]  # Первый элемент всегда равен 1.
    for j in range(1, i):
        new_row.append(pascal_triangle[i-1][j-1] + pascal_triangle[i-1][j])
    new_row.append(1)  # Последний элемент всегда равен 1.
    pascal_triangle[i] = new_row

for row in pascal_triangle:
    for number in row:
        print(number, end=" ")
    print()
