You are playing Hollow Knight. You currently have n Charm Notches. Each Charm is unique, takes up 1<=x<=5 notches, and can only be equipped once.
Write a program that calculates how many unique combinations of Charms you can equip given n Charm Notches, and list of Charms { String: Int }, where "String" is the name of the Charm and "Int" is how many notches it occupies. You can equip infinite Charms as long as there are enough available notches . Charm order does not matter, meaning "Shape of Unn + Long Nail" and "Long Nail + Shape of Unn" count as 1 permutation.
def maxCharmCombinations(n, charms):
You should be able to solve this.