'''simple docstring'''

from __future__ import annotations

import math
from collections.abc import Callable
def 			__UpperCamelCase       (   UpperCAmelCase		,     UpperCAmelCase		,     UpperCAmelCase		,     UpperCAmelCase = 100		,     ):
 lowercase__				:    Optional[Any]  =					x_start
 lowercase__				:    List[str]  =					fnc(__A     )
 lowercase__				:    str  =					0.0

 for _ in range(__A     ):
  # Approximates curve as a sequence of linear lines and sums their length
  lowercase__				:    List[str]  =					(x_end - x_start) / steps + xa
  lowercase__				:    List[Any]  =					fnc(__A     )
  length += math.hypot(xa - xa		,     fxa - fxa     )

  # Increment step
  lowercase__				:    Optional[int]  =					xa
  lowercase__				:    int  =					fxa

 return length


if __name__ == "__main__":
  def 			__UpperCamelCase       (   UpperCAmelCase     ):
   return math.sin(10 * x     )

  print("""f(x) = sin(10 * x)""")
  print("""The length of the curve from x = -10 to x = 10 is:""")
  __a: List[str]          =   10
  while i <= 10_00_00:
    print(F'With {i} steps: {line_length(f, -10, 10, i)}')
    i *= 10





UpperCAmelCase_      : Optional[int]  					=       [4, 1, 7, 4, 2, 6, 4, 1, 5, 3, 7, 5]
UpperCAmelCase_      : str  					=       [3, 7, 7, 4, 2, 6, 4, 1, 5, 3, 7, 5]
UpperCAmelCase_      : str  					=       {
    0: 'Sunday',
    1: 'Monday',
    2: 'Tuesday',
    3: 'Wednesday',
    4: 'Thursday',
    5: 'Friday',
    6: 'Saturday',
}







def        SCREAMING_SNAKE_CASE_						(			__A :			int  ,    __A :			int  ,    __A :			int				)	->		str:

       """simple docstring"""

       assert len(str(__A				)				) > 2, "year should be in YYYY format"
       assert 1 <= month <= 12, "month should be between 1 to 12"
       assert 1 <= day <= 31, "day should be between 1 to 31"

       # Doomsday algorithm:
       a_					:		List[str]							=  year // 1_00
       a_					:		Optional[int]							=  (5 * (century % 4) + 2) % 7
       a_					:		List[str]							=  year % 1_00
       a_					:		str							=  centurian % 12
       a_					:		List[str]							=  (
           (centurian // 12) + centurian_m + (centurian_m // 4) + century_anchor
       ) % 7
       a_					:		Any							=  (
           DOOMSDAY_NOT_LEAP[month - 1]
           if (year % 4 != 0) or (centurian == 0 and (year % 4_00) == 0)
           else DOOMSDAY_LEAP[month - 1]
       )
       a_					:		Any							=  (dooms_day + day - day_anchor) % 7
       return WEEK_DAY_NAMES[week_day]


if __name__ == "__main__":
   import doctest

   doctest.testmod()


