def pascal_nth_row(nth: int) -> list:
    """
    Get's Pascal's Triangle Nth row and returns it
    This is much faster than calculating the whole triangle and then fetching by it's index.
    Instead we use the formula
    NCr = (NCr - 1 * (N - r + 1)) / r where 1 ≤ r ≤ N
    as the nth row consists of the following sequence:
    NC0, NC1, ......, NCN - 1, NCN
    """
    ncr_1 = 1
    row = [ncr_1]

    for i in range(1, nth + 1):
        ncr = (ncr_1 * (nth - i + 1)) // i
        row.append(ncr)
        ncr_1 = ncr

    return row