



from math import factorial



class 							lowerCAmelCase_						:
       def __init__(     self,     SCREAMING_SNAKE_CASE_,     SCREAMING_SNAKE_CASE_			)	->						Tuple:
          UpperCamelCase       :    Tuple		      =      real
          if isinstance(SCREAMING_SNAKE_CASE_,     SCREAMING_SNAKE_CASE_			):
             UpperCamelCase       :    int		      =      [1] * rank
          else:
             UpperCamelCase       :    List[Any]		      =      rank
       def __repr__(     self			)	->						Any:
          return (
              F"""{self.real}+"""
              F"""{"+".join(str(SCREAMING_SNAKE_CASE_			)+"E"+str(n+1			)for n,dual in enumerate(self.duals			)			)}"""
          )
       def    snake_case_			(     self			)	->						str:
          UpperCamelCase       :    Optional[Any]		      =      self.duals.copy()
          while cur[-1] == 0:
             cur.pop(-1			)
          return Dual(self.real,     SCREAMING_SNAKE_CASE_			)
       def __add__(     self,     SCREAMING_SNAKE_CASE_			)	->						Union[str, Any]:
          if not isinstance(SCREAMING_SNAKE_CASE_,     SCREAMING_SNAKE_CASE_			):
             return Dual(self.real + other,     self.duals			)
          UpperCamelCase       :    List[str]		      =      self.duals.copy()
          UpperCamelCase       :    Optional[int]		      =      other.duals.copy()
          if len(SCREAMING_SNAKE_CASE_			) > len(SCREAMING_SNAKE_CASE_			):
             o_dual.extend([1] * (len(SCREAMING_SNAKE_CASE_			) - len(SCREAMING_SNAKE_CASE_			))			)
          elif len(SCREAMING_SNAKE_CASE_			) < len(SCREAMING_SNAKE_CASE_			):
             s_dual.extend([1] * (len(SCREAMING_SNAKE_CASE_			) - len(SCREAMING_SNAKE_CASE_			))			)
          UpperCamelCase       :    Optional[Any]		      =      []
          for i in range(len(SCREAMING_SNAKE_CASE_			)			):
             new_duals.append(s_dual[i] + o_dual[i]			)
          return Dual(self.real + other.real,     SCREAMING_SNAKE_CASE_			)

       UpperCAmelCase__							:   List[Any]  	=    __add__
       def __sub__(     self,     SCREAMING_SNAKE_CASE_			)	->						List[str]:
          return self + other * -1
       def __mul__(     self,     SCREAMING_SNAKE_CASE_			)	->						List[Any]:
          if not isinstance(SCREAMING_SNAKE_CASE_,     SCREAMING_SNAKE_CASE_			):
             UpperCamelCase       :    List[str]		      =      []
             for i in self.duals:
                new_duals.append(i * other			)
             return Dual(self.real * other,     SCREAMING_SNAKE_CASE_			)
          UpperCamelCase       :    Tuple		      =      [0] * (len(self.duals			) + len(other.duals			) + 1)
          for i, item in enumerate(self.duals			):
             for j, jtem in enumerate(other.duals			):
                new_duals[i + j + 1] += item * jtem
          for k in range(len(self.duals			)			):
             new_duals[k] += self.duals[k] * other.real
          for index in range(len(other.duals			)			):
             new_duals[index] += other.duals[index] * self.real
          return Dual(self.real * other.real,     SCREAMING_SNAKE_CASE_			)

       UpperCAmelCase__							:   int  	=    __mul__
       def __truediv__(     self,     SCREAMING_SNAKE_CASE_			)	->						Tuple:
          if not isinstance(SCREAMING_SNAKE_CASE_,     SCREAMING_SNAKE_CASE_			):
             UpperCamelCase       :    Dict		      =      []
             for i in self.duals:
                new_duals.append(i / other			)
             return Dual(self.real / other,     SCREAMING_SNAKE_CASE_			)
          raise ValueError
       def __floordiv__(     self,     SCREAMING_SNAKE_CASE_			)	->						int:
          if not isinstance(SCREAMING_SNAKE_CASE_,     SCREAMING_SNAKE_CASE_			):
             UpperCamelCase       :    Any		      =      []
             for i in self.duals:
                new_duals.append(i // other			)
             return Dual(self.real // other,     SCREAMING_SNAKE_CASE_			)
          raise ValueError






       def __pow__(     self,     SCREAMING_SNAKE_CASE_			)	->						List[str]:
          if n < 0 or isinstance(SCREAMING_SNAKE_CASE_,     SCREAMING_SNAKE_CASE_			):
             raise ValueError('power must be a positive integer'			)
          if n == 0:
             return 1
          if n == 1:
             return self
          UpperCamelCase       :    Union[str, Any]		      =      self
          for _ in range(n - 1			):
             x *= self
          return x






def 						UpperCamelCase      (  snake_case__			:       Optional[Any]			,	snake_case__			:       Optional[int]			,	snake_case__			:       Dict      )      ->	Optional[int]:
   if not callable(snake_case__      ):
      raise ValueError('differentiate() requires a function as input for func'      )
   if not isinstance(snake_case__			,	(float, int)      ):
      raise ValueError('differentiate() requires a float as input for position'      )
   if not isinstance(snake_case__			,	snake_case__      ):
      raise ValueError('differentiate() requires an int as input for order'      )
   UpperCamelCase       :    Optional[int]		      =      Dual(snake_case__			,	1      )
   UpperCamelCase       :    Dict		      =      func(snake_case__      )
   if order == 0:
      return result.real
   return result.duals[order - 1] * factorial(snake_case__      )


if __name__ == "__main__":
    import doctest

    doctest.testmod()
    def 						UpperCamelCase      (  snake_case__			:       str      )      ->	Optional[Any]:
       return y**2 * y**4


    print(differentiate(f, 9, 2))





from __future__ import annotations

import math





def 						SCREAMING_SNAKE_CASE__     (   __lowerCAmelCase				):

    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(__lowerCAmelCase				) + 1				)     ,		6				):
        if number % i == 0 or number % (i + 2) == 0:
            return False
    return True





def 						SCREAMING_SNAKE_CASE__     (   __lowerCAmelCase				):
    snake_case__    =					str(__lowerCAmelCase				)
    snake_case__    =					[n]
    for i in range(1     ,		len(__lowerCAmelCase				)				):
        list_nums.append(int(str_num[i:]				)				)
        list_nums.append(int(str_num[:-i]				)				)
    return list_nums





def 						SCREAMING_SNAKE_CASE__     (   __lowerCAmelCase				):
    if len(str(__lowerCAmelCase				)				) > 3:
        if not is_prime(int(str(__lowerCAmelCase				)[-3:]				)				) or not is_prime(int(str(__lowerCAmelCase				)[:3]				)				):
            return False
    return True





def 						SCREAMING_SNAKE_CASE__     (   __lowerCAmelCase = 11				):
    snake_case__    =					[]
    snake_case__    =					13
    while len(__lowerCAmelCase				) != count:
        if validate(__lowerCAmelCase				):
            snake_case__    =					list_truncated_nums(__lowerCAmelCase				)
            if all(is_prime(__lowerCAmelCase				) for i in list_nums				):
                list_truncated_primes.append(__lowerCAmelCase				)
        num += 2
    return list_truncated_primes





def 						SCREAMING_SNAKE_CASE__     (   ):
    return sum(compute_truncated_primes(11				)				)


if __name__ == "__main__":
     print(F'''{sum(compute_truncated_primes(11)) = }''')



