





'''simple docstring'''




import math
from datetime import datetime, timedelta





def 	__lowerCamelCase			(      __lowerCAmelCase       :							int		)		->  datetime:
   snake_case 						=   year % 19
   snake_case 						=   year % 4
   snake_case 						=   year % 7
   snake_case 						=   math.floor(year / 1_00		)
   snake_case 						=   math.floor((13 + 8 * leap_day_inhibits) / 25		)
   snake_case 						=   leap_day_inhibits / 4
   snake_case 						=   (
       15 - lunar_orbit_correction + leap_day_inhibits - leap_day_reinstall_number
   ) % 30
   snake_case 						=   (4 + leap_day_inhibits - leap_day_reinstall_number) % 7

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

   # PHM -> Paschal Full Moon
   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(__lowerCAmelCase      ,    4      ,    19		)
   elif days_to_add == 28 and days_from_phm_to_sunday == 6:
      return datetime(__lowerCAmelCase      ,    4      ,    18		)
   else:
      return datetime(__lowerCAmelCase      ,    3      ,    22		) + timedelta(
          days=int(days_to_add + days_from_phm_to_sunday		)		)


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








'''simple docstring'''




from __future__ import annotations





def 	__lowerCamelCase			(      __lowerCAmelCase       :							Any      ,    __lowerCAmelCase       :							str      ,    __lowerCAmelCase       :							Any      ,    __lowerCAmelCase       :							int		)		->  Tuple:  # noqa: E741
   while r - l > 1:
      snake_case 						=   (l + r) // 2
      if v[m] >= key:
         snake_case 						=   m
      else:
         snake_case 						=   m  # noqa: E741
   return r





def 	__lowerCamelCase			(      __lowerCAmelCase       :							list[int]		)		->  int:
   if len(__lowerCAmelCase		) == 0:
      return 0

   snake_case 						=   [0] * len(__lowerCAmelCase		)
   snake_case 						=   1

   snake_case 						=   v[0]

   for i in range(1      ,    len(__lowerCAmelCase		)		):
      if v[i] < tail[0]:
         snake_case 						=   v[i]
      elif v[i] > tail[length - 1]:
         snake_case 						=   v[i]
         length += 1
      else:
         snake_case 						=   v[i]

   return length


if __name__ == "__main__":
 import doctest

 doctest.testmod()

