/**
 * This function takes two integers as arguments: numLists and numElements.
 * It creates numLists lists, each with numElements initial elements.
 * The elements in each list are equal to the index of the list.
 * The function returns the created lists as a nested list.
 */
fun createListsWithInitialElements(numLists: Int, numElements: Int): List<List<Int>> {

    // Initialize an empty list to store the created lists
    val createdLists = mutableListOf<List<Int>>()

    // Iterate through each list to be created
    for (i in 0 until numLists) {
        // Create a list with numElements and set all elements to the index i
        val createdList = List(numElements) { i }

        // Append the created list to the list of created lists
        createdLists.add(createdList)
    }

    return createdLists
}
/**
 * This function takes two integers as arguments: numLists and numElements.
 * It creates numLists lists, each with numElements initial elements.
 * The elements in each list are equal to the index of the list.
 * The function returns the created lists as a nested list.
 */
fun createListsWithInitialElements(numLists: Int, numElements: Int): List<List<Int>> {
/**
 * This function takes two integers as arguments: numLists and numElements.
 * It creates numLists lists, each with numElements initial elements.
 * The elements in each list are equal to the index of the list.
 * The function returns the created lists as a nested list.
 */
fun createListsWithInitialElements(numLists: Int, numElements: Int): List<List<Int>> {

    // Initialize an empty list to store the created lists
    val createdLists = mutableListOf<List<Int>>()

    // Iterate through each list to be created
    for (i in 0 until numLists) {
        // Create a list with numElements and set all elements to the index i
        val createdList = List(numElements) { i }

        // Append the created list to the list of created lists
        createdLists.add(createdList)
    }

    return createdLists
}