


"""simple docstring"""





def      _snake_case						(						_snake_case				:			int ,   _snake_case				:			int ,   _snake_case				:			int			)     ->   Any:

      if exponent == 1:
            return base
      if exponent % 2 == 0:
            lowerCAmelCase					:	Dict       =   _modexpt(_snake_case ,   exponent // 2 ,   _snake_case			) % modulo_value
            return (x * x) % modulo_value
      else:
            return (base * _modexpt(_snake_case ,   exponent - 1 ,   _snake_case			)) % modulo_value


def      _snake_case						(						_snake_case				:			int = 1777 ,   _snake_case				:			int = 1855 ,   _snake_case				:			int = 8			)     ->   Union[str, Any]:
      lowerCAmelCase					:	Union[str, Any]       =   base
      for _ in range(1 ,   _snake_case			):
            lowerCAmelCase					:	Optional[Any]       =   _modexpt(_snake_case ,   _snake_case ,   10**digits			)

      return result


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






"""simple docstring"""





def      _snake_case						(						_snake_case				:			int = 4000000			):
      lowerCAmelCase					:	int       =   [0, 1]
      lowerCAmelCase					:	List[str]       =   0
      while fib[i] <= n:
            fib.append(fib[i] + fib[i + 1]			)
            if fib[i + 2] > n:
                  break
            i += 1
      lowerCAmelCase					:	int       =   0
      for j in range(len(_snake_case			) - 1			):
            if fib[j] % 2 == 0:
                  total += fib[j]

      return total


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


