
'''simple docstring'''

def 						_UpperCAmelCase					(	_lowerCamelCase    :							str	,   _lowerCamelCase    :							str		)     ->    Tuple:





  def get_matched_characters(_lowerCamelCase    :							str	,   _lowerCamelCase    :							str		) -> str:
    _lowerCAmelCase							:	Any 					=       []
    _lowerCAmelCase							:	Tuple 					=       min(len(_stra		)	,   len(_stra		)		) // 2
    for i, l in enumerate(_stra		):
      _lowerCAmelCase							:	Tuple 					=       int(max(0	,   i - limit		)		)
      _lowerCAmelCase							:	Dict 					=       int(min(i + limit + 1	,   len(_stra		)		)		)
      if l in _stra[left:right]:
        matched.append(lowercase__		)
        _lowerCAmelCase							:	Optional[int] 					=       f'{_stra[0:_stra.index(lowercase__		)]} {_stra[_stra.index(lowercase__		) + 1:]}'

    return "".join(lowercase__		)

  # matching characters
  _lowerCAmelCase							:	Optional[int] 					=       get_matched_characters(lowercase__	,   lowercase__		)
  _lowerCAmelCase							:	str 					=       get_matched_characters(lowercase__	,   lowercase__		)
  _lowerCAmelCase							:	List[str] 					=       len(lowercase__		)

  # transposition
  _lowerCAmelCase							:	List[Any] 					=       (
      len([(ca, ca) for ca, ca in zip(lowercase__	,   lowercase__		) if ca != ca]		) // 2
  )

  if not match_count:
    _lowerCAmelCase							:	int 					=       0.0
  else:
    _lowerCAmelCase							:	int 					=       (
        1
        / 3
        * (
            match_count / len(lowercase__		)
            + match_count / len(lowercase__		)
            + (match_count - transpositions) / match_count
        )
    )

  # common prefix up to 4 characters
  _lowerCAmelCase							:	Optional[int] 					=       0
  for ca, ca in zip(stra[:4]	,   stra[:4]		):
    if ca == ca:
      prefix_len += 1
    else:
      break

  return jaro + 0.1 * prefix_len * (1 - jaro)


if __name__ == "__main__":
     import doctest

     doctest.testmod()
     print(jaro_winkler("""hello""", """world"""))





'''simple docstring'''

from collections import defaultdict
from math import gcd

def 					__UpperCamelCase				(						lowercase__    :	int = 1_50_00_00			):






     '''simple docstring'''





     __lowercase      		=defaultdict(lowercase__			)
     __lowercase      		=2
     while 2 * euclid_m * (euclid_m + 1) <= limit:
          for euclid_n in range((euclid_m % 2) + 1,       lowercase__,       2			):
               if gcd(lowercase__,       lowercase__			) > 1:
                    continue
               __lowercase      		=2 * euclid_m * (euclid_m + euclid_n)
               for perimeter in range(lowercase__,       limit + 1,       lowercase__			):
                    frequencies[perimeter] += 1
          euclid_m += 1
     return sum(1 for frequency in frequencies.values() if frequency == 1			)


if __name__ == "__main__":
       print(F'''{solution() = }''')


