Проверил - вроде работает. Что не так? Ранее использовал этот алгоритм в задачах (3513) - валидатор ел и не кашлял ))