

from typing import Any

import numpy as np

def      snake_case__      (   SCREAMING_SNAKE_CASE_		:   np.ndarray      ):



     '''simple docstring'''





     return np.array_equal(SCREAMING_SNAKE_CASE_     ,					matrix.conjugate().T      )

def      snake_case__      (   SCREAMING_SNAKE_CASE_		:   np.ndarray     ,					SCREAMING_SNAKE_CASE_		:   np.ndarray      ):



     '''simple docstring'''





     lowercase__   :       Tuple				=	v.conjugate().T
     lowercase__   :       List[str]				=	v_star.dot(SCREAMING_SNAKE_CASE_      )
     assert isinstance(SCREAMING_SNAKE_CASE_     ,					np.ndarray      )
     return (v_star_dot.dot(SCREAMING_SNAKE_CASE_      )) / (v_star.dot(SCREAMING_SNAKE_CASE_      ))

def      snake_case__      (   ):



     '''simple docstring'''





     lowercase__   :       List[Any]				=	np.array([[2, 2 + 1J, 4], [2 - 1J, 3, 1J], [4, -1J, 1]]      )
     lowercase__   :       str				=	np.array([[1], [2], [3]]      )
     assert is_hermitian(SCREAMING_SNAKE_CASE_      ), f"""{a} is not hermitian."""
     print(rayleigh_quotient(SCREAMING_SNAKE_CASE_     ,					SCREAMING_SNAKE_CASE_      )      )

     lowercase__   :       Dict				=	np.array([[1, 2, 4], [2, 3, -1], [4, -1, 1]]      )
     assert is_hermitian(SCREAMING_SNAKE_CASE_      ), f"""{a} is not hermitian."""
     assert rayleigh_quotient(SCREAMING_SNAKE_CASE_     ,					SCREAMING_SNAKE_CASE_      ) == float(3      )


if __name__ == "__main__":
       import doctest

       doctest.testmod()
       tests()




def      snake_case__      (   SCREAMING_SNAKE_CASE_		:   int = 50_000_000      ):



     '''simple docstring'''





     lowercase__   :       List[Any]				=	set()
     lowercase__   :       Any				=	int((limit - 24) ** (1 / 2)      )

     lowercase__   :       Any				=	set(range(3     ,					prime_square_limit + 1     ,					2      )      )
     primes.add(2      )
     for p in range(3     ,					prime_square_limit + 1     ,					2      ):
          if p not in primes:
               continue
          primes.difference_update(set(range(p * p     ,					prime_square_limit + 1     ,					SCREAMING_SNAKE_CASE_      )      )      )

     for primea in primes:
          lowercase__   :       Any				=	primea * primea
          for primea in primes:
               lowercase__   :       Optional[int]				=	primea * primea * primea
               if square + cube >= limit - 16:
                    break
               for primea in primes:
                    lowercase__   :       Dict				=	primea * primea * primea * primea
                    lowercase__   :       List[Any]				=	square + cube + tetr
                    if total >= limit:
                         break
                    ret.add(SCREAMING_SNAKE_CASE_      )

     return len(SCREAMING_SNAKE_CASE_      )


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

