Знатоки и эрудиты, решившие эту задачу, проверьте плиз мое решение. Вроде бы работает, но вадидатор категорически не принимает.