#!/usr/bin/env -S python -u

import sys
import sympy as sp

from math import factorial

# First term
start = 1
#start = 502

# Last term
n = 50

# If two parameters are given, use for the start and end terms
if len(sys.argv) > 2:
  start = int(sys.argv[1])
  n = int(sys.argv[2])
# If one parameter is given, use it for the number of terms / last term
elif len(sys.argv) > 1:
  n = int(sys.argv[1])

n += 1

# Handle ValueError: Exceeds the limit (4300) for integer string conversion
if n > 7000:
  sys.set_int_max_str_digits(0)

x = sp.Symbol("x")
f = sp.sqrt(1-x)

# Initialize the factorial depending on the starting term
if start == 1:
  lastfact = 1
  lastdiff = f
else:
  lastfact = factorial(start-1)
  lastdiff = f.diff(x, start-1)

for i in range(start, n):
  lastfact *= i
  lastdiff = sp.diff(lastdiff, x)
#  print(lastdiff, "\n")
  print(lastdiff.subs(x, 0)/lastfact)