/**
 * Complete the code to iterate over the given dictionary using the range function.
 *
 * @param dictionary The dictionary to iterate over.
 * @param start The start value of the range.
 * @param stop The stop value of the range.
 * @param step The step value of the range.
 */
fun iterateOverDictAndRange(dictionary: Map<String, String>, start: Int, stop: Int, step: Int) {

    val keys = dictionary.keys.toList()
    val values = dictionary.values.toList()

    for (i in start until stop step step) {
        try {
            val key = keys[i]
            val value = values[i]
            println("Key: $key  Value: $value")
        } catch (e: IndexOutOfBoundsException) {
            break
        }
    }
}
/**
 * Complete the code to iterate over the given dictionary using the range function.
 *
 * @param dictionary The dictionary to iterate over.
 * @param start The start value of the range.
 * @param stop The stop value of the range.
 * @param step The step value of the range.
 */
fun iterateOverDictAndRange(dictionary: Map<String, String>, start: Int, stop: Int, step: Int) {
/**
 * Complete the code to iterate over the given dictionary using the range function.
 *
 * @param dictionary The dictionary to iterate over.
 * @param start The start value of the range.
 * @param stop The stop value of the range.
 * @param step The step value of the range.
 */
fun iterateOverDictAndRange(dictionary: Map<String, String>, start: Int, stop: Int, step: Int) {

    val keys = dictionary.keys.toList()
    val values = dictionary.values.toList()

    for (i in start until stop step step) {
        try {
            val key = keys[i]
            val value = values[i]
            println("Key: $key  Value: $value")
        } catch (e: IndexOutOfBoundsException) {
            break
        }
    }
}