Given a set of lockers that can be one of three sizes: s, m, l, and boxes that can be one of three sizes: s, m, l, implement the assignLockerToBox and getLockerForBox methods.
Assignment rule: prefer same-sized lockers/boxes. If there are no available same-sized lockers, smaller boxes can go in bigger lockers.
This problem asks you to implement a size-based allocation system with three locker sizes and three box sizes. The key idea is greedy matching: always assign a same-sized locker first, and if none is available, place a smaller box into the next larger locker size. With only three fixed sizes, the solution is usually clean and efficient using counters or queues to track availability.