Exercise 48: Advanced User Input