# n_iter * [ n_p ** 2 * (12.5 ADD + 23 MULT + 1 DIV + 1 EXP + 2.5 SQRT) + n_p * (- 1.5 ADD + 0.5 SQRT - 2 MULT - 1 EXP + 1 DIV) + n_obstacles * n_p * (12 ADD + 19 MULT + 1 SQRT + 1 DIV + 1 EXP) ] def adds(n_iter: int, n_p: int, n_obs: int = 2) -> int: return int(n_iter * (n_p**2 * 12.5 + n_p * (-1.5) + n_obs * n_p * 12)) def mults(n_iter: int, n_p: int, n_obs: int = 2) -> int: return int(n_iter * (n_p**2 * 23 + n_p * (-2) + n_obs * n_p * 19)) def divs(n_iter: int, n_p: int, n_obs: int = 2) -> int: return int(n_iter * (n_p**2 * 1 + n_p * 1 + n_obs * n_p * 1)) def sqrts(n_iter: int, n_p: int, n_obs: int = 2) -> int: return int(n_iter * (n_p**2 * 2.5 + n_p * 0.5 + n_obs * n_p * 1)) def exps(n_iter: int, n_p: int, n_obs: int = 2) -> int: return int(n_iter * (n_p**2 * 1 + n_p * (-1) + n_obs * n_p * 1)) def total(n_iter: int, n_p: int, n_obs: int = 2) -> int: return adds(n_iter, n_p, n_obs) + mults(n_iter, n_p, n_obs) + divs( n_iter, n_p, n_obs) + sqrts(n_iter, n_p, n_obs) + exps(n_iter, n_p, n_obs) * 30