Вроде бы сам не могу найти ошибки. Конечно, мне не нравится, что для решения задачи пришлось использовать три цикла, так что если кто-нибудь подскажет, как можно рационализировать подход и почему всё-таки валидатор выдаёт ошибку по двух условиям, то буду крайне признателен.