The trick is to buy headphones with replaceable wires so you don't have to buy new headphones, just new wires.
(with-open-file (input input-path)
(with-open-file (pad pad-path)
(setq input-buffer (%string-to-octets (read-line input) *encoding*))
(setq pad-buffer (%string-to-octets (read-line pad) *encoding*))
Also, I'm not sure what (specifically) read-line looks for to stop reading, but if it can occur randomly you could receive errors if this first random new-line occurs before the length of the file's first line. Or at all when using the same pad for many files as you describe. This may be handled by your %octets-to-string handler though. Day1: Course1
Day2: Course2
Day3: Course3
Day4: Course1
etc,...