





import math_equivalence  # From: git+https://github.com/hendrycks/math.git

import datasets


__lowerCamelCase :  Any										=  """\
@article{hendrycksmath2021,
  title={Measuring Mathematical Problem Solving With the MATH Dataset},
  author={Dan Hendrycks
    and Collin Burns
    and Saurav Kadavath
    and Akul Arora
    and Steven Basart
    and Eric Tang
    and Dawn Song
    and Jacob Steinhardt},
  journal={arXiv preprint arXiv:2103.03874},
  year={2021}
}
"""


__lowerCamelCase :  Optional[int]										=  """\
This metric is used to assess performance on the Mathematics Aptitude Test of Heuristics (MATH) dataset.
It first canonicalizes the inputs (e.g., converting \"1/2\" to \"\\frac{1}{2}\") and then computes accuracy.
"""


__lowerCamelCase :  Any										=  r"""
Calculates accuracy after canonicalizing inputs.

Args:
    predictions: list of predictions to score. Each prediction
        is a string that contains natural language and LaTex.
    references: list of reference for each prediction. Each
        reference is a string that contains natural language
        and LaTex.
Returns:
    accuracy: accuracy after canonicalizing inputs
        (e.g., converting \"1/2\" to \"\\frac{1}{2}\")

Examples:
    >>> metric = datasets.load_metric(\"competition_math\")
    >>> results = metric.compute(references=[\"\\frac{1}{2}\"], predictions=[\"1/2\"])
    >>> print(results)
    {'accuracy': 1.0}
"""



@datasets.utils.file_utils.add_end_docstrings(_DESCRIPTION ,     _KWARGS_DESCRIPTION    )
class       A__     ( datasets.Metric    ):





      def  __UpperCamelCase(				self     ):
       '''simple docstring'''




       return datasets.MetricInfo(
           description=_DESCRIPTION ,							citation=_CITATION ,							inputs_description=_KWARGS_DESCRIPTION ,							features=datasets.Features(
               {
                   "predictions": datasets.Value("string"     ),
                   "references": datasets.Value("string"     ),
               }     ) ,							homepage="https://github.com/hendrycks/math" ,							codebase_urls=["https://github.com/hendrycks/math"] ,							)





      def  __UpperCamelCase(				self ,							A_ ,							A_     ):
       '''simple docstring'''




       UpperCamelCase			:      List[Any] 			=     0.0
       for i, j in zip(A_ ,							A_     ):
        n_correct += 1.0 if math_equivalence.is_equiv(A_ ,							A_     ) else 0.0
       UpperCamelCase			:      Optional[Any] 			=     n_correct / len(A_     )
       return {
           "accuracy": accuracy,
       }







from __future__ import annotations



def 	A_       (  _lowerCAmelCase  )		->				list[int]:
 UpperCamelCase			:      Optional[Any] 			=     [True] * limit
 UpperCamelCase			:      Optional[Any] 			=     False
 UpperCamelCase			:      List[str] 			=     False
 UpperCamelCase			:      Tuple 			=     True

 for i in range(3							,     int(limit**0.5 + 1  )							,     2  ):
  UpperCamelCase			:      Optional[Any] 			=     i * 2
  while index < limit:
   UpperCamelCase			:      int 			=     False
   UpperCamelCase			:      Optional[int] 			=     index + i

 UpperCamelCase			:      Any 			=     [2]

 for i in range(3							,     _lowerCAmelCase							,     2  ):
  if is_prime[i]:
   primes.append(_lowerCAmelCase  )

 return primes



def 	A_       (  _lowerCAmelCase = 100_0000  )		->				int:
 UpperCamelCase			:      Union[str, Any] 			=     prime_sieve(_lowerCAmelCase  )
 UpperCamelCase			:      List[str] 			=     0
 UpperCamelCase			:      Union[str, Any] 			=     0

 for i in range(len(_lowerCAmelCase  )  ):
  for j in range(i + length							,     len(_lowerCAmelCase  )  ):
   UpperCamelCase			:      Dict 			=     sum(primes[i:j]  )
   if sol >= ceiling:
    break

   if sol in primes:
    UpperCamelCase			:      int 			=     j - i
    UpperCamelCase			:      Dict 			=     sol

 return largest


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