При проверке код работает ровно так, как сказано по условию задачи. Порядок тоже +/- такой как в условии указано. ЧЯДНТ? пока сам вижу ошибку лишь в том, что закрытие потоков надо будет вынести за пределы if. это баг получился в результате попыток ублажить валидатор...