






from __future__ import annotations

from math import pi






def 				lowerCamelCase__      (    __lowerCamelCase			:     float  ,		__lowerCamelCase			:     float  ,		__lowerCamelCase			:     float		):

  if (inductance, frequency, reactance).count(0		) != 1:
    raise ValueError("""One and only one argument must be 0"""		)
  if inductance < 0:
    raise ValueError("""Inductance cannot be negative"""		)
  if frequency < 0:
    raise ValueError("""Frequency cannot be negative"""		)
  if reactance < 0:
    raise ValueError("""Inductive reactance cannot be negative"""		)
  if inductance == 0:
    return {"inductance": reactance / (2 * pi * frequency)}
  elif frequency == 0:
    return {"frequency": reactance / (2 * pi * inductance)}
  elif reactance == 0:
    return {"reactance": 2 * pi * frequency * inductance}
  else:
    raise ValueError("""Exactly one argument must be 0"""		)


if __name__ == "__main__":
       import doctest

       doctest.testmod()










from functools import lru_cache






@lru_cache
def 				lowerCamelCase__      (    __lowerCamelCase			:     int		):
  if num < 0:
    raise ValueError("""Number should not be negative."""		)

  return 1 if num in (0, 1) else num * factorial(num - 1		)


if __name__ == "__main__":
       import doctest

       doctest.testmod()


