/**
 * This function takes a nested tuple of integers representing the number of rows and columns for each shape to be drawn.
 * It creates and prints each shape using asterisks '*', where each '*' represents a pixel.
 *
 * @param shape A nested tuple of integers representing the number of rows and columns for each shape.
 */
fun drawShapes(shape: List<Pair<Int, Int>>) {

    for ((rows, cols) in shape) {
        repeat(rows) {
            repeat(cols) {
                print("*")
            }
            println()
        }
        println()
    }
}
/**
 * This function takes a nested tuple of integers representing the number of rows and columns for each shape to be drawn.
 * It creates and prints each shape using asterisks '*', where each '*' represents a pixel.
 *
 * @param shape A nested tuple of integers representing the number of rows and columns for each shape.
 */
fun drawShapes(shape: List<Pair<Int, Int>>) {
/**
 * This function takes a nested tuple of integers representing the number of rows and columns for each shape to be drawn.
 * It creates and prints each shape using asterisks '*', where each '*' represents a pixel.
 *
 * @param shape A nested tuple of integers representing the number of rows and columns for each shape.
 */
fun drawShapes(shape: List<Pair<Int, Int>>) {

    for ((rows, cols) in shape) {
        repeat(rows) {
            repeat(cols) {
                print("*")
            }
            println()
        }
        println()
    }
}