Ваша задача - реализовать Conway's Game of Life, с использованием Kotlin корутин и каналов.
Первая строка ввода содержит целые числа W, H, I (1 ⇐ W, H ⇐ 10^5; 1 ⇐ I ⇐ 100), ширину и высоту игрового поля и количество итераций соответственно, и символ 'R' или 'I' (без кавычек), разделенные одним символом пробела. Если в первой строке указан символ 'R', это означает, что начальное состояние игры должно генерироваться случайным образом, в противном случае, следующие H строк содержат начальное состояние игрового поля. Каждая строка состоит из W символов '*' или '.' (без кавычек). Символ “*” означает, что клетка занята, '.' - пуста.
Выведите состояние игрового поля после I итераций в том же формате: в виде H строк по W символов в каждой.
10 5 18 R
Необходимо вывести состояние игрового поля размером 10 * 5, после выполнения 18 итераций, с начальным состоянием, сгенерированным случайным образом.
6 3 10 I *..**. .*.*.. ....**
Необходимо вывести состояние игрового поля размером 6 * 3, после выполнения 10 итераций, с начальным состоянием, заданным явно в потоке ввода.