input: Write a function to calculate the maximum possible revenue from items with given weights and values. The function should take in the list of weights, list of values, and the total capacity of the knapsack as arguments and return the maximum revenue. 
  
  def knapsack(weights, values, n):
      W = 5
      K = [[0 for x in range(W+1)] for x in range(n+1)]
      for i in range(n+1):
          for w in range(W+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][W]
  
  assert knapsack([2, 1, 3], [4, 2, 3], 3)==7
  assert knapsack([2, 3, 4], [3, 4, 5], 2)==3
  assert knapsack([1, 2, 3], [6, 10, 12], 5)==22
  assert knapsack([], [], 10)==0
output: def knapsack(weights, values, n):
      W = 5
      K = [[0 for x in range(W+1)] for x in range(n+1)]
      for i in range(n+1):
          for w in range(W+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][W]