'''simple docstring'''




__snake_case  : str		       =    1_000





def 	_UpperCAmelCase       (				_UpperCamelCase       :      float  )      -> float:
    return x * x





def 	_UpperCAmelCase       (				_UpperCamelCase       :      Optional[Any],  _UpperCamelCase       :      float,  _UpperCamelCase       :      float,  _UpperCamelCase       :      int = 4  )      -> float:
    assert callable(
        _UpperCamelCase  ), F'''the function(object) passed should be callable your input : {function}'''
    assert isinstance(_UpperCamelCase,  (float, int)  ), F'''a should be float or integer your input : {a}'''
    assert isinstance(function(_UpperCamelCase  ),  (float, int)  ), (
        "the function should return integer or float return type of your function, "
        F'''{type(_UpperCamelCase  )}'''
    )
    assert isinstance(_UpperCamelCase,  (float, int)  ), F'''b should be float or integer your input : {b}'''
    assert (
        isinstance(_UpperCamelCase,  _UpperCamelCase  ) and precision > 0
    ), F'''precision should be positive integer your input : {precision}'''

    # just applying the formula of simpson for approximate integration written in
    # mentioned article in first comment of this file and above this function

    A_      =  (b - a) / N_STEPS
    A_      =  function(_UpperCamelCase  ) + function(_UpperCamelCase  )

    for i in range(1,  _UpperCamelCase  ):
        A_      =  a + h * i
        result += function(_UpperCamelCase  ) * (4 if i % 2 else 2)

    result *= h / 3
    return round(_UpperCamelCase,  _UpperCamelCase  )


if __name__ == "__main__":
  import doctest

  doctest.testmod()







'''simple docstring'''




__snake_case  : str		       =    10**8





def 	_UpperCAmelCase       (				_UpperCamelCase       :      int  )      -> bool:
    if n % 10 == 0:
        return False
    A_      =  str(_UpperCamelCase  )
    return s == s[::-1]





def 	_UpperCAmelCase       (				)      -> int:
    A_      =  set()
    A_      =  1
    A_      =  5
    while sum_squares < LIMIT:
        A_      =  first_square + 1
        while sum_squares < LIMIT:
            if is_palindrome(_UpperCamelCase  ):
                answer.add(_UpperCamelCase  )
            last_square += 1
            sum_squares += last_square**2
        first_square += 1
        A_      =  first_square**2 + (first_square + 1) ** 2

    return sum(_UpperCamelCase  )


if __name__ == "__main__":
  print(solution())






