Большую часть обсуждаемых вариантов решениz почитал, в логике решения задачи разобрался, код вроде как набрал, но не могу разобраться до конца, почему не срабатывает.