



from math import factorial

def    lowerCamelCase_(lowerCamelCase_    ,   lowerCamelCase_    ) ->       int:

						# If either of the conditions are true, the function is being asked
						# to calculate a factorial of a negative number, which is not possible
						if n < k or k < 0:
												raise ValueError("Please enter positive integers for n and k where n >= k"    )
						return factorial(lowerCamelCase_    ) // (factorial(lowerCamelCase_    ) * factorial(n - k    ))


if __name__ == "__main__":
		print(
		    "The number of five-card hands possible from a standard",
		    F'''fifty-two card deck is: {combinations(52, 5)}\n''',
		)

		print(
		    "If a class of 40 students must be arranged into groups of",
		    F'''4 for group projects, there are {combinations(40, 4)} ways''',
		    "to arrange them.\n",
		)

		print(
		    "If 10 teams are competing in a Formula One race, there",
		    F'''are {combinations(10, 3)} ways that first, second and''',
		    "third place can be awarded.",
		)








import fire

from utils import calculate_rouge, save_json

def    lowerCamelCase_(lowerCamelCase_    ,   lowerCamelCase_    ,   lowerCamelCase_=None    ,   **lowerCamelCase_    ) ->       Optional[int]:
						UpperCAmelCase         =     [x.strip() for x in open(lowerCamelCase_    ).readlines()]
						UpperCAmelCase         =     [x.strip() for x in open(lowerCamelCase_    ).readlines()][: len(lowerCamelCase_    )]
						UpperCAmelCase         =     calculate_rouge(lowerCamelCase_    ,   lowerCamelCase_    ,   **lowerCamelCase_    )
						if save_path is not None:
												save_json(lowerCamelCase_    ,   lowerCamelCase_    ,   indent=lowerCamelCase_    )
						return metrics  # these print nicely


if __name__ == "__main__":
		fire.Fire(calculate_rouge_path)



