/**
 * You are a dancer and want to create a dance routine using a list comprehension. You have a list of dance steps
 * and a list of possible directions to perform those steps. Your task is to write a function that uses list comprehension
 * to generate all possible combinations of steps and directions for your dance routine.
 *
 * @param steps A list of dance steps (strings).
 * @param directions A list of possible directions (strings).
 * @return A list of pairs, where each pair represents a possible combination of step and direction.
 *
 * Example:
 * dancerMoves(listOf("step1", "step2", "step3"), listOf("left", "right"))
 * Output: [(step1, left), (step1, right), (step2, left), (step2, right), (step3, left), (step3, right)]
 */
fun dancerMoves(steps: List<String>, directions: List<String>): List<Pair<String, String>> {

    return steps.flatMap { step -> directions.map { direction -> Pair(step, direction) } }
}
/**
 * You are a dancer and want to create a dance routine using a list comprehension. You have a list of dance steps
 * and a list of possible directions to perform those steps. Your task is to write a function that uses list comprehension
 * to generate all possible combinations of steps and directions for your dance routine.
 *
 * @param steps A list of dance steps (strings).
 * @param directions A list of possible directions (strings).
 * @return A list of pairs, where each pair represents a possible combination of step and direction.
 *
 * Example:
 * dancerMoves(listOf("step1", "step2", "step3"), listOf("left", "right"))
 * Output: [(step1, left), (step1, right), (step2, left), (step2, right), (step3, left), (step3, right)]
 */
fun dancerMoves(steps: List<String>, directions: List<String>): List<Pair<String, String>> {
/**
 * You are a dancer and want to create a dance routine using a list comprehension. You have a list of dance steps
 * and a list of possible directions to perform those steps. Your task is to write a function that uses list comprehension
 * to generate all possible combinations of steps and directions for your dance routine.
 *
 * @param steps A list of dance steps (strings).
 * @param directions A list of possible directions (strings).
 * @return A list of pairs, where each pair represents a possible combination of step and direction.
 *
 * Example:
 * dancerMoves(listOf("step1", "step2", "step3"), listOf("left", "right"))
 * Output: [(step1, left), (step1, right), (step2, left), (step2, right), (step3, left), (step3, right)]
 */
fun dancerMoves(steps: List<String>, directions: List<String>): List<Pair<String, String>> {

    return steps.flatMap { step -> directions.map { direction -> Pair(step, direction) } }
}