






from math import sqrt

import numpy as np
from sympy import symbols

# Coefficient
# Speed of light (m/s)
UpperCamelCase								=		299_792_458

# Symbols
UpperCamelCase		,			UpperCamelCase		,			UpperCamelCase		,			UpperCamelCase								=		symbols("ct x y z")






def    __magic_name__    (	SCREAMING_SNAKE_CASE				)     ->    Optional[int]:







							if velocity > c:
														raise ValueError('Speed must not exceed light speed 299,792,458 [m/s]!'				)
							elif velocity < 1:
														# Usually the speed should be much higher than 1 (c order of magnitude)
														raise ValueError('Speed must be greater than or equal to 1!'				)

							return velocity / c






def    __magic_name__    (	SCREAMING_SNAKE_CASE				)     ->    Dict:
							return 1 / sqrt(1 - beta(SCREAMING_SNAKE_CASE				) ** 2				)






def    __magic_name__    (	SCREAMING_SNAKE_CASE				)     ->    List[str]:
							return np.array(
							    [
							        [gamma(SCREAMING_SNAKE_CASE				), -gamma(SCREAMING_SNAKE_CASE				) * beta(SCREAMING_SNAKE_CASE				), 0, 0],
							        [-gamma(SCREAMING_SNAKE_CASE				) * beta(SCREAMING_SNAKE_CASE				), gamma(SCREAMING_SNAKE_CASE				), 0, 0],
							        [0, 0, 1, 0],
							        [0, 0, 0, 1],
							    ]				)






def    __magic_name__    (	SCREAMING_SNAKE_CASE     ,     SCREAMING_SNAKE_CASE = None				)     ->    List[str]:







							if event is None:
														_lowercase							:   Union[str, Any] 							=   np.array([ct, x, y, z]				)  # Symbolic four vector
							else:
														event[0] *= c  # x0 is ct (speed of light * time)

							return transformation_matrix(SCREAMING_SNAKE_CASE				) @ event


if __name__ == "__main__":
							import doctest

							doctest.testmod()

							# Example of symbolic vector:
							UpperCamelCase								=		transform(29_979_245)
							print("Example of four vector: ")
							print(f'''ct\' = {four_vector[0]}''')
							print(f'''x\' = {four_vector[1]}''')
							print(f'''y\' = {four_vector[2]}''')
							print(f'''z\' = {four_vector[3]}''')

							# Substitute symbols with numerical values
							UpperCamelCase								=		{ct: c, x: 1, y: 1, z: 1}
							UpperCamelCase								=		[four_vector[i].subs(sub_dict) for i in range(4)]

							print(f'''\n{numerical_vector}''')










'''simple docstring'''







def 						_A      ( UpperCAmelCase						):






   '''simple docstring'''







   A__       =     0
   while num > 0:
      digit_sum += num % 10
      num //= 10
   return digit_sum







def 						_A      ( UpperCAmelCase = 100						):






   '''simple docstring'''







   A__       =     1
   A__       =     2

   for i in range(2      ,max_n + 1						):
      A__       =     pre_numerator
      A__       =     2 * i // 3 if i % 3 == 0 else 1
      A__       =     cur_numerator
      A__       =     e_cont * pre_numerator + temp

   return sum_digits(UpperCAmelCase						)


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


