input: Write a function to calculate the maximum possible revenue from the items with given weights and values using the knapsack algorithm where the total capacity of the knapsack is 5. The function should return the maximum possible revenue.
  
  def knapsack(weights, values):
      W = 5
      n = len(weights)
      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]) == 7
  assert knapsack([1, 2, 3], [1, 2, 3]) == 5
  assert knapsack([2, 3, 4], [3, 4, 5]) == 7
  assert knapsack([], []) == 0
  assert knapsack([1, 2, 3], [6, 10, 12]) == 22
output: def knapsack(weights, values):
      W = 5
      n = len(weights)
      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]