Решение
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun main(args: Array<String>) {
val reader = BufferedReader(InputStreamReader(System.`in`))
val writer = BufferedWriter(OutputStreamWriter(System.out))
// Список для хранения всех строк
val lines = mutableListOf<String>()
// Читаем строки до конца ввода
while (true) {
val line = reader.readLine() ?: break
lines.add(line)
}
// Создаём массив для результата размером с количество строк
val result = Array(lines.size) { "" }
// Обрабатываем каждую строку
for (line in lines) {
// Ищем индекс в строке (последовательность цифр)
val indexMatch = Regex("\\\\d+").find(line)
if (indexMatch != null) {
val index = indexMatch.value.toInt() - 1 // Индексы с 1, переводим в 0-based
// Удаляем индекс из строки и помещаем её в нужную позицию
val cleanLine = line.replace(indexMatch.value, "")
result[index] = cleanLine
}
}
// Выводим результат
for (line in result) {
writer.write(line)
writer.newLine()
}
reader.close()
writer.close()
}