Implement a function timer that takes a single argument seconds (a non-negative integer) and returns a string representing the time in human-readable form.
The function should convert seconds into months, weeks, days, hours, minutes, and seconds (assuming 30 days in a month).
Requirements:
- Don't print zero units except for seconds
- Good:
"5 minutes, 0 seconds"
- Good:
"2 days, 3 minutes, 10 seconds"
- Bad:
"2 days, 0 hours, 3 minutes, 10 seconds"
- Don't use standard built-in language libraries (date, time, etc.)
- The function must be implemented recursively
Time unit conversions:
- 1 minute = 60 seconds
- 1 hour = 60 minutes
- 1 day = 24 hours
- 1 week = 7 days
- 1 month = 30 days