"""
Существует ровно десять способов выбора 3 элементов из множества пяти {1, 2, 3, 4, 5}:

123, 124, 125, 134, 135, 145, 234, 235, 245, и 345

В комбинаторике для этого используется обозначение 5C3 = 10.

В общем случае,

nCr =
n! / r!(n−r)! , где r ≤ n, n! = n×(n−1)×...×3×2×1 и 0! = 1.
Это значение превышает один миллион, начиная с n = 23: 23C10 = 1144066.

Cколько значений (не обязательно различных)  nCr для 1 ≤ n ≤ 100 больше одного миллиона?
"""


def fact(num):
    res = 1
    for n in range(1, num + 1):
        res *= n
    return res


if __name__ == '__main__':
    res = 0
    for n in range(1, 101):
        for r in range(1, n + 1):
            if fact(n) / (fact(r) * fact(n - r)) > 1000000:
                res += 1
    print(res)

