Как исправить данную ошибку? Вроде алгоритм рабочий, хоть может и не особо читабельный