input: Write a function that calculates the highest product obtained by multiplying elements of an increasing subsequence from the given array. 
  assert max_product([3, 100, 4, 5, 150, 6], 6) == 45000 
  assert max_product([4, 42, 55, 68, 80], 5) == 50265600 
  assert max_product([10, 22, 9, 33, 21, 50, 41, 60], 8) == 21780000
output: def max_product(arr, n):
      def lis_product(arr, n):
          dp = [[1, i] for i in arr]
          for i in range(1, n):
              for j in range(i):
                  if arr[i] > arr[j] and dp[i][0] < dp[j][0] * arr[i]:
                      dp[i] = [dp[j][0] * arr[i], arr[i]]
          return max(dp, key=lambda x: x[0])[0]
      return lis_product(arr, n)