Задачу сделал, но хочу разобраться в логике.