knapsack in clojure