"""simple docstring"""




def 							SCREAMING_SNAKE_CASE     (			_lowerCamelCase						:       List[Any]			,_lowerCamelCase						:       Optional[Any]			,_lowerCamelCase						:       List[Any]=False	)       ->      str:

  if isinstance(__lowerCAmelCase			,__lowerCAmelCase	) and isinstance(__lowerCAmelCase			,__lowerCAmelCase	):
    _lowerCAmelCase						:       List[str]  			=     len(set_a.intersection(__lowerCAmelCase	)	)

    if alternative_union:
      _lowerCAmelCase						:       Optional[int]  			=     len(__lowerCAmelCase	) + len(__lowerCAmelCase	)
    else:
      _lowerCAmelCase						:       Dict  			=     len(set_a.union(__lowerCAmelCase	)	)

    return intersection / union

  if isinstance(__lowerCAmelCase			,(list, tuple)	) and isinstance(__lowerCAmelCase			,(list, tuple)	):
    _lowerCAmelCase						:       Optional[Any]  			=     [element for element in set_a if element in set_b]

    if alternative_union:
      _lowerCAmelCase						:       Dict  			=     len(__lowerCAmelCase	) + len(__lowerCAmelCase	)
      return len(__lowerCAmelCase	) / union
    else:
      _lowerCAmelCase						:       Optional[Any]  			=     set_a + [element for element in set_b if element not in set_a]
      return len(__lowerCAmelCase	) / len(__lowerCAmelCase	)

    return len(__lowerCAmelCase	) / len(__lowerCAmelCase	)
  return None


if __name__ == "__main__":
     _a      :		Tuple           =   {'a', 'b', 'c', 'd', 'e'}
     _a      :		Optional[Any]           =   {'c', 'd', 'e', 'f', 'h', 'i'}
     print(jaccard_similarity(set_a, set_b))









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



def 			_lowerCAmelCase       (					__lowerCAmelCase  ,  __lowerCAmelCase  ,  __lowerCAmelCase      )   ->					str:


				"""simple docstring"""

				assert len(str(__lowerCAmelCase      )      ) > 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:
				snake_case__	:      Optional[int]     		=	year // 100
				snake_case__	:      List[str]     		=	(5 * (century % 4) + 2) % 7
				snake_case__	:      Dict     		=	year % 100
				snake_case__	:      Union[str, Any]     		=	centurian % 12
				snake_case__	:      List[Any]     		=	(
				    (centurian // 12) + centurian_m + (centurian_m // 4) + century_anchor
				) % 7
				snake_case__	:      List[str]     		=	(
				    DOOMSDAY_NOT_LEAP[month - 1]
				    if (year % 4 != 0) or (centurian == 0 and (year % 400) == 0)
				    else DOOMSDAY_LEAP[month - 1]
				)
				snake_case__	:      List[str]     		=	(dooms_day + day - day_anchor) % 7
				return WEEK_DAY_NAMES[week_day]


if __name__ == "__main__":
				import doctest

				doctest.testmod()

