знаю, что можно написать всё гораздо компактнее, но возникло желание без каких-либо подсказок решить. Результат - этот Франкенштейн. Если у кого-то будет достаточно свободного времени и желания, чтобы разобраться в моём коде, то подскажите, пожалуйста, что не так