






'''simple docstring'''
def 	_a(					UpperCamelCase__			:  Union[str, Any],		UpperCamelCase__			:  int							):




      '''simple docstring'''






      SCREAMING_SNAKE_CASE__       :			Dict													=[0 for i in range(r + 1							)]
      # nc0 = 1
      SCREAMING_SNAKE_CASE__       :			Any													=1
      for i in range(1,		n + 1							):
            # to compute current row from previous row.
            SCREAMING_SNAKE_CASE__       :			Any													=min(UpperCamelCase__,		UpperCamelCase__							)
            while j > 0:
                  c[j] += c[j - 1]
                  j -= 1
      return c[r]







print(binomial_coefficient(n=1_0, r=5))







'''simple docstring'''
import math





def 	_a(					UpperCamelCase__			:  int							):




      '''simple docstring'''






      return math.sqrt(UpperCamelCase__							) * math.sqrt(UpperCamelCase__							) == num





def 	_a(					UpperCamelCase__			:  int							):




      '''simple docstring'''






      SCREAMING_SNAKE_CASE__       :			List[Any]													=0
      SCREAMING_SNAKE_CASE__       :			Any													=n
      while left <= right:
            SCREAMING_SNAKE_CASE__       :			str													=(left + right) // 2
            if mid**2 == n:
                  return True
            elif mid**2 > n:
                  SCREAMING_SNAKE_CASE__       :			Optional[Any]													=mid - 1
            else:
                  SCREAMING_SNAKE_CASE__       :			Tuple													=mid + 1
      return False


if __name__ == "__main__":
  import doctest

  doctest.testmod()