2507 lines
8.7 KiB
Text
2507 lines
8.7 KiB
Text
## check that the turn count penalties occur
|
|
# SPDX-FileCopyrightText: Copyright Eric S. Raymond <esr@thyrsus.com>
|
|
# SPDX-License-Identifier: BSD-2-Clause
|
|
n
|
|
seed 1951269982
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
in
|
|
out
|
|
quit
|
|
yes
|