Randomly distributing a fixed total (the student's obtained marks) across multiple buckets (the CLOs) without exceeding the maximum capacity of any single bucket. Here is the complete, ready-to-run Streamlit application that handles the file upload, column mapping, dynamic CLO configuration, and the randomized distribution logic.