





"""simple docstring"""




def 		UpperCAmelCase__						(	_UpperCAmelCase = 998001   ):






  """simple docstring"""





  A_    :			Tuple									=    0
  for i in range(999					,   99					,   -1   ):  # 3 digit numbers range from 999 down to 100
    for j in range(999					,   99					,   -1   ):
      A_    :			Any									=    str(i * j   )
      if product_string == product_string[::-1] and i * j < n:
        A_    :			Any									=    max(_UpperCAmelCase					,   i * j   )
  return answer


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






'''simple docstring'''

from __future__ import annotations




def  _a     (				lowerCAmelCase_      ,   lowerCAmelCase_      ,   lowerCAmelCase_      ,   lowerCAmelCase_						):





      """simple docstring"""



      if counter == 0 or capacity == 0:
            return 0

      # If weight of the nth item is more than Knapsack of capacity,
      #   then this item cannot be included in the optimal solution,
      # else return the maximum of two cases:
      #   (1) nth item included
      #   (2) not included
      if weights[counter - 1] > capacity:
            return knapsack(lowerCAmelCase_      ,   lowerCAmelCase_      ,   lowerCAmelCase_      ,   counter - 1						)
      else:
            _snake_case		:						List[str]         =  capacity - weights[counter - 1]
            _snake_case		:						Tuple         =  values[counter - 1] + knapsack(
                lowerCAmelCase_      ,   lowerCAmelCase_      ,   lowerCAmelCase_      ,   counter - 1						)
            _snake_case		:						Any         =  knapsack(lowerCAmelCase_      ,   lowerCAmelCase_      ,   lowerCAmelCase_      ,   counter - 1						)
            return max(lowerCAmelCase_      ,   lowerCAmelCase_						)


if __name__ == "__main__":
   import doctest

   doctest.testmod()


