/**
 * This exercise is about creating a range of injury stages based on the start and stop parameters.
 * The range will be used to determine the level of progress in a rehabilitation protocol.
 *
 * @param start The starting injury stage.
 * @param stop The stopping injury stage.
 * @return A list of injury stages within the given range.
 */
fun getInjuryStages(start: Int, stop: Int): List<String> {

    if (start !is Int || stop !is Int) {
        throw IllegalArgumentException("Both start and stop parameters must be integers")
    }

    if (start > stop) {
        throw IllegalArgumentException("Start parameter cannot be greater than stop parameter")
    }

    val stages = listOf("Stage A", "Stage B", "Stage C", "Stage D", "Stage E")
    return (start..stop).map { stages[it % stages.size] }
}
/**
 * This exercise is about creating a range of injury stages based on the start and stop parameters.
 * The range will be used to determine the level of progress in a rehabilitation protocol.
 *
 * @param start The starting injury stage.
 * @param stop The stopping injury stage.
 * @return A list of injury stages within the given range.
 */
fun getInjuryStages(start: Int, stop: Int): List<String> {
/**
 * This exercise is about creating a range of injury stages based on the start and stop parameters.
 * The range will be used to determine the level of progress in a rehabilitation protocol.
 *
 * @param start The starting injury stage.
 * @param stop The stopping injury stage.
 * @return A list of injury stages within the given range.
 */
fun getInjuryStages(start: Int, stop: Int): List<String> {

    if (start !is Int || stop !is Int) {
        throw IllegalArgumentException("Both start and stop parameters must be integers")
    }

    if (start > stop) {
        throw IllegalArgumentException("Start parameter cannot be greater than stop parameter")
    }

    val stages = listOf("Stage A", "Stage B", "Stage C", "Stage D", "Stage E")
    return (start..stop).map { stages[it % stages.size] }
}