





'''simple docstring'''


from __future__ import annotations

import math
from itertools import permutations




def       A							(      _UpperCAmelCase   :				int					)  ->				bool:


  '''simple docstring'''




  if 1 < number < 4:
    # 2 and 3 are primes
    return True
  elif number < 2 or number % 2 == 0 or number % 3 == 0:
    # Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
    return False

  # All primes number are in format of 6k +/- 1
  for i in range(5						,int(math.sqrt(_UpperCAmelCase					) + 1					)						,6					):
    if number % i == 0 or number % (i + 2) == 0:
      return False
  return True




def       A							(      _UpperCAmelCase   :				int = 7					)  ->				int:


  '''simple docstring'''




  __lowerCAmelCase		:    int			     =  ''.join(str(_UpperCAmelCase					) for i in range(1						,n + 1					)					)
  __lowerCAmelCase		:    Optional[Any]			     =  [int(''.join(_UpperCAmelCase					)					) for i in permutations(_UpperCAmelCase						,_UpperCAmelCase					)]
  __lowerCAmelCase		:    int			     =  [num for num in perm_list if is_prime(_UpperCAmelCase					)]
  return max(_UpperCAmelCase					) if pandigitals else 0


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












'''simple docstring'''


from __future__ import annotations

from collections.abc import Callable




def       A							(      _UpperCAmelCase   :				Callable[[int | float], int | float]						,_UpperCAmelCase   :				int | float						,_UpperCAmelCase   :				int | float						,_UpperCAmelCase   :				int = 1_0_0						,)  ->				float:


  '''simple docstring'''




  __lowerCAmelCase		:    Dict			     =  x_start
  __lowerCAmelCase		:    Tuple			     =  fnc(_UpperCAmelCase					)
  __lowerCAmelCase		:    Optional[int]			     =  0.0

  for _ in range(_UpperCAmelCase					):
    # Approximates small segments of curve as linear and solve
    # for trapezoidal area
    __lowerCAmelCase		:    Optional[int]			     =  (x_end - x_start) / steps + xa
    __lowerCAmelCase		:    Optional[Any]			     =  fnc(_UpperCAmelCase					)
    area += abs(fxa + fxa					) * (xa - xa) / 2

    # Increment step
    __lowerCAmelCase		:    Optional[Any]			     =  xa
    __lowerCAmelCase		:    List[Any]			     =  fxa
  return area


if __name__ == "__main__":




    def       A							(      _UpperCAmelCase   :				List[Any]					)  ->				List[Any]:


      '''simple docstring'''




      return x**3

    print("f(x) = x^3")
    print("The area between the curve, x = -10, x = 10 and the x axis is:")
    A_				     =							10
    while i <= 10_00_00:
        A_				     =							trapezoidal_area(f, -5, 5, i)
        print(F'''with {i} steps: {area}''')
        i *= 10





