collections.Counter supports +, -, & and |. Use it to implement:
restock(stock, delivery): combined countsfulfil(stock, order): returns (remaining, shortages), where remaining is the stock left after taking as much of each item as possible, and shortages maps items to how many couldn't be supplied. Neither result contains zero or negative counts.common_items(a, b): counts present in both (the minimum of each)All arguments and return values are Counters.