С полдня эксперементирую с условиями, типами хранения промежуточных данных, но некак не пойму какое условие не учитываю, для корректного решения...