import math
from datetime import datetime, timedelta



def 			__SCREAMING_SNAKE_CASE						(      __UpperCamelCase					: int			)							->      datetime:







  """simple docstring"""





  SCREAMING_SNAKE_CASE__    							=   year % 19
  SCREAMING_SNAKE_CASE__    							=   year % 4
  SCREAMING_SNAKE_CASE__    							=   year % 7
  SCREAMING_SNAKE_CASE__    							=   math.floor(year / 1_00			)
  SCREAMING_SNAKE_CASE__    							=   math.floor((13 + 8 * leap_day_inhibits) / 25			)
  SCREAMING_SNAKE_CASE__    							=   leap_day_inhibits / 4
  SCREAMING_SNAKE_CASE__    							=   (
      15 - lunar_orbit_correction + leap_day_inhibits - leap_day_reinstall_number
  ) % 30
  SCREAMING_SNAKE_CASE__    							=   (4 + leap_day_inhibits - leap_day_reinstall_number) % 7

  # days to be added to March 21
  SCREAMING_SNAKE_CASE__    							=   (19 * metonic_cycle + secular_moon_shift) % 30

  # PHM -> Paschal Full Moon
  SCREAMING_SNAKE_CASE__    							=   (
      2 * julian_leap_year
      + 4 * non_leap_year
      + 6 * days_to_add
      + century_starting_point
  ) % 7

  if days_to_add == 29 and days_from_phm_to_sunday == 6:
    return datetime(__UpperCamelCase				,  4				,  19			)
  elif days_to_add == 28 and days_from_phm_to_sunday == 6:
    return datetime(__UpperCamelCase				,  4				,  18			)
  else:
    return datetime(__UpperCamelCase				,  3				,  22			) + timedelta(
        days=int(days_to_add + days_from_phm_to_sunday			)			)


if __name__ == "__main__":
   for year in (1994, 2000, 2010, 2021, 2023):
      __lowerCamelCase    :				List[str]							     =	'''will be''' if year > datetime.now().year else '''was'''
      print(F"""Easter in {year} {tense} {gauss_easter(year)}""")

from math import log

from scipy.constants import Boltzmann, physical_constants

__lowerCamelCase    :				int							     =	300  # TEMPERATURE (unit = K)



def 			__SCREAMING_SNAKE_CASE						(      __UpperCamelCase					: float				,  __UpperCamelCase					: float				,  __UpperCamelCase					: float				,  )							->      float:







  """simple docstring"""





  if donor_conc <= 0:
    raise ValueError("""Donor concentration should be positive"""			)
  elif acceptor_conc <= 0:
    raise ValueError("""Acceptor concentration should be positive"""			)
  elif intrinsic_conc <= 0:
    raise ValueError("""Intrinsic concentration should be positive"""			)
  elif donor_conc <= intrinsic_conc:
    raise ValueError(
        """Donor concentration should be greater than intrinsic concentration"""			)
  elif acceptor_conc <= intrinsic_conc:
    raise ValueError(
        """Acceptor concentration should be greater than intrinsic concentration"""			)
  else:
    return (
        Boltzmann
        * T
        * log((donor_conc * acceptor_conc) / intrinsic_conc**2			)
        / physical_constants["electron volt"][0]
    )


if __name__ == "__main__":
   import doctest

   doctest.testmod()
