input: from typing import List
  
  def calculate_max_revenue(weights: List[int], values: List[int], capacity: int) -> int:
      """
      Calculate the maximum possible revenue from the items with given weights and values.
  
      >>> calculate_max_revenue([2, 1, 3], [4, 2, 3], 5)
      7
      >>> calculate_max_revenue([10, 20, 30], [60, 100, 120], 50)
      220
      """
      n = len(weights)
      K = [[0 for x in range(capacity+1)] for x in range(n+1)]
  
      for i in range(n+1):
          for w in range(capacity+1):
              if i == 0 or w == 0:
                  K[i][w] = 0
              elif weights[i-1] <= w:
                  K[i][w] = max(values[i-1] + K[i-1][w-weights[i-1]], K[i-1][w])
              else:
                  K[i][w] = K[i-1][w]
  
      return K[n][capacity]
output:     n = len(weights)
      K = [[0 for x in range(capacity+1)] for x in range(n+1)]
  
      for i in range(n+1):
          for w in range(capacity+1):
              if i == 0 or w == 0:
                  K[i][w] = 0
              elif weights[i-1] <= w:
                  K[i][w] = max(values[i-1] + K[i-1][w-weights[i-1]], K[i-1][w])
              else:
                  K[i][w] = K[i-1][w]
  
      return K[n][capacity]