800507
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCSSCSCSCCCCSSCSSCCSSSCSCCCSSCSSSSSCSCCSSSSSCSCSSCSCSSSCSCSSSCCSSSCCCSCCSCSSCCCSCSSSCCSSCSCCCCSCSSCCSCCSSCCCCCSSSCCCSCCCSSCSSSSCCCSSSCCCCSSCSSSCSCSCSSCSSCSCSCCSSCSSCCCCSSSCCSSSCCCSCSSCSCSSCCSCSCCCSSSCCSSCCSSSSCCCCSCCSSCSSSCSCSCCSCSSSCCCSCCCCCCCCSCSCCCSSSSCCSSCSSSSSCCCSSSSCSSCCCSSSSSSSCCCCSCSSSCCCCSCCCSSSCCSCCSCSCCCSCSSCSCCCCCCSSCCCSSSSSSCSCCSSCSSCSSCCCCCCCSCSSCCSCCCCSSSSSSCCCCCSSSCCSSCCSCSSCCSCCCSCSSSCSSSSSCCCSCCCCCSCCSSCSSSSSCCCCSCCSSCSSCSSSCCSCCCSCCCCSCSSCCSSCCCSCCSCSCCCCCSCSCCCCSSCCSCCSSSCCSSCCSCCCCSSSSCSCSCCSSCSCSSCCSSCCCCSCSCCCSSCCCCCCCSCSCCSCSSCSSCCSSCSCCSSCSSSCSCCCSSCSCCCSCSCSSSCSCCSCSSSSCCCSSCSSSCCSCSSSSCCCSCCCSCCCSSSSCCCSCSSSSCSSSCCCSCSSSSCCSCSCCCSCSSCSSSCSCCSCSSCSSSCSCCCSCSCCCSCCSSCSCSCSSSCSSSSCSSSSCSCSCSSCCCSSCSCSCCSSCCCCCCSCSSSCCSSSCSCCSCSCSCSCSSCSCSSSCCCCSCCCCCSCCSCSSSSCSCSCSSCSCSSCCCCSSSCCSSCSCCSCSCSSCSSSSCSCSCCCSSCSCSCCCCSSSCSSCCSCCCSSSSSCCCCSCCSCCCSSSCCCCCCSSSSCCSSSCCCSCCCCSSSCCCSCCSSSCCSSCSCSCCSCCCSSCCCSSSCCSCCCCSCSCCSCSCSSSCCSCCSCSSCSSSCCCCCCCCSCCSSCCCCCSCSCSCCCSCSCSCCSCSSCCCCCCCSSCCSSSCCSCCCCSSSSCSCCSCSSSSCSCCSSSSSSCCCCSCSCCSSSCCCCCCSSCCSCSSSSCCSCSCSCCSCCSSSCSCSCSCSSSCCSCSSCSSCCCSSSSSSSCCCCCCCCCCSCSSSCCSSSSSCCSSCSCCSCSCSCSCCSSCCCCCCSSCCSCSCSSSSCSSSSCCCSCSSSCSCCSCCSSSSCCCSSCCCCSSCCSSSCCSCCSSSSSSCSSSCCSSCSSSCSSSCSSSSSSSSCCSCCCSSCCSCSSSCSCSCCSSSSSSCSCSSSCSSSSSCSCSSSSSCSSSCSCCSSSCSSCCSCSCSCSCSSSCCCSCSCCCCSSCCCSSCSSCCCCCCSCCSSSSCCCCCCCSCCCSCSCCCCCCSCCCSCSCCSSCSSCSSSSSCSSCSSCSSSCSSSCSCSCSSSSSCCSSCSCCCCSCSCCCSCSCSSSSSCSCSSSSSCCSSSSCSSCSCSSSCCCCSSSCCCSCSSSCCSSSSSCSCSCCSSSSCSCCSSCSCSCCSCCCSSCCSCSCCCCCSCCCCSCCCCSSSSCSCCSCSCSCSSSCCSCSCCCSSSCSSSSSCCSCSCCSSSSSSCSCCCSSSCSCCCSSCCSSCCSCSCCSSCSCSSCSCCCSCSSSSCCCSSSSCSCCSCCCSSSCCSSSSSCSCSSCSSSCCCCSSSSSCSSSCCCSSCCSSSCCCCCSCSSCCSSCCSSCSCSCCSSCCSCCSSCCSSCCSCSCSSCCSCCSCCCCSCSSSCCCSCSSSCCCCSSCCSCCSSSCCSSCSCSCSCCSCSSSCCSCCCCCSCCSCSSSSCCSSCSSSSCCSSCCCSCCCSSSCSCCCSCSSSSCCCCSCCSSSCCCSSSCCCSSSSCCCCCSSCCSCCCSCCCSSCCSCCCSSSCCSCCSCSSCSCCSCSSSSSCCSSSSCCSCCSSCSCSSCSSCSCSCSSSCSCSSSSCSSSCSSCCSCCCSSSSCCCSCSSSSSCSCCSSSCCCSCCCSSCSSCSSSCSCSCSSSCCSSCSSSSCSCSCCSCCSCSSSSSSCSCSCCSSCCSCCSCCSSCSCSCCSSCCCSSCSCSSCSCCCSSSCCCSCCCCCSCSCCSSSCSCCCCCSSSSCSCCCCSCCCSSSCCSCCSCSCSCSCSCSSCCCSSCSCCCSSSSCCCSSCSCCSCSCCSCSSCSSSCSSSSCCSCSCSSSSSCSSSSSSSCCSSCCCCSSSSSSCCCCSSSSCCCCCCSCSSSCCCCSSSCSSSCCCSCCCCCSSCSSSCSCCCCSCSSSSSSSSSCSSCCSSSSCCCCSCSCCCCSCSSSSSSCSCCCSCSSCCCCCSSCSCCCSCSCSCCSCCSSSSCSSCCCCSSCCSSSCCSSCCSCSSCCSSSCCCSCSSSCCSSCCCSSCSSSCCCSSCCCSSSSSCCSCCCCCCCCSSCCSSSCCCSCCCCSSSSCSCSSSCCCCCSSCSCSCCSSCCSCSSSCSCCCCSCSSSSSCCCSCCSCCCSCCCCCSSCCSSCCCSCSCSCCCSCCCCCCSSSSSSCCSCSSSCCSSCCCCCCCCCSCCCSSSCCCCSSCSCSSSSCCCCCCCSCCCCCCCSCCCCSSCSSSSSSCSCCCCSCSCSSSSCSSSCCSSCSSCCCCCCSCCCCSCSSCSSSSCSCSSSCCSSCCSCCSCSCCSSSCSCCSSSSCSCSCCCCSSSSCSSSSSSSCCCCSCSCSCCCCCSCSSSSCCCCSCCCCSSCSCCCSCCCCCCSCSCSSCCCSCSSSCSSCSCCCCCSCSSSCSSSSCSCCCSSCSSSCCCSCCCSCCCSSCSSSCSCSCSCCCSSSSSCCSCCSCCCCSSSCSSSCSSSCSSCCCCSSCCSSCCCCCCSCCCCSCCSCSCCSSSSSCSCSSSCSCCCSCCCCSCCSSCSSCCCCSCCCCCCSSCCCSCSSSCCCCCSCCCSCSCSSSSSCCSSSSSCSSSCSSSSCSCSCSCSSSCSCCSSSSSSSSSSSSSCCSSCCSSSCSSSSCSSSCSCCSCCCCSSCSCCCCSSCCCCSSCCSCCCCCSSCCSCCCSSCSCCSCCCSCCSSCCSCCSCSCCSSSCCSSCCSCSCSCCCSSCCSCCCCSCCSSSSSCSCSCCCSSSCSCCCSCCSCSCSCSSSCCCCCSSCSSSSSCSSCSCSCSCCSSSCSCSSCSSSCCCSSCCCCCSCSSCSCSSCSSCSSCCSSCSSCCCCCCCSCSCSSSSSSCSSSSCSCSSCSCCSCCCSSSCCSSSCSSCCCCCCCSCSSCCCCCCCCSSSCCSCSSSSSSCCSSCCSSCCCCCSCSSSSCSSSCCCCSCSCCSCSCSCSSCSSSSSCCCCSCCSCSCSSSSCSCSSCCSSCSSCCCCSCCSCSCCSCSSSCSCCCCSSSCSSCSCSCSCSSSCCSCSCCCCCCSCSSSSSCCCCSCCSCCCCCCCSCCSCCSCSSSCCCCSCSSCCCSCCCCCSSCCCSCCCSCCSSCCSCCCSSSCSSCCCCSCSSSCCSSSCSCCSSCCSSCCCSCCSSSSCSCCCSSCSCCSSCCCSSSCCCSCSSCSSSCCSCCCCSSCCSSSSSCCCSSCCSCSSCSSSCCSSCCSSSSSSCSCSSCSCCSCSCCCCCSCSSCCCSSCCCCCSSSCCCCSCCCSCSCSCSSCCSCCSCSCSCSCSCSCCCSCCSSSCCSCCCCCCCCSCCCCCSSCCCCSCCSCSSCSSSCSCCCCCCCSSCCCCSSCCCSCSCSSCCSSCCCSSCCSCCSCSCCCSSCCSCSCSCSSCSSSCSSSSSCCSSSSSSSSCCCSSSSCCCCCSSSSSCCCSSSCSSSSCSSSSCSSCSSSSSSCCCCSCSCSSCSCSCSSSSSCCSSSCSCSCSCCSCCSSSCCSCCCCSSCSCCCSCCSCCCSCSSCSSCSCSCSSSCSCSSCCSSSCSCSSSSCCSCCCCCCSCSSCSSCSSSCCSSCSSCCCCCSCCSSSCCCSCSSCCSSCCSCSSSCCCCSSCSSSSCSCCSSSCCCCSSCCSCCSCCCCCSCCSCCCCCCCSSCSSCCSSSCSCSSSCSCSSCSCCCSCSCCSCCSCCSCCSCSCSCCCCCCCCSSSSSCCCSSCCCSCSCCCSSSSCCSCCSCSSCSCSSSCCSCSSSSSCCSSCCCCCSCCCCCCSCCCSCSCSSSSCCSCSCCSSSSSCCSSSCSSSCCCCCSCSCCCCCSSCCCSSCSCSSCSSSCSSSCCSSCCSCSSCCCSCCSSCCSSCSCSCCSCSCCCCCCSCSSSCCCSSCSCCCCSCCCCSCSCSCCSCCCSSSSSCSCSSCCSCSSCCSSCSSSCSCSCCSSSSSSCCCSSSSCCCSSSCCSCCSSSCCSCCSSSCSSCSSCCSCCCCSSCCSSSSSCCSCCSSCSSCSSCCCCCSCCSSCCSSSCSCCCCSSSCSSSSSCSSCSSCCCCCCCSCCCSSSSCSSCCSCCSSCCSCCCCSCSCSCSSSSCCCSCCSSCCCSCCSCSCSCSSSSSSCSSCSCSCSSCSCSSCCSSCCSSSSSCCSSCSSSSCSSCCCCSCCSCSCSCCCSCSSCCCCSSCCCCSSCSCCSSCCCSCSCCSCSCSSCCCSSSCSSCSSSCSSCCCCSSSCSCCSSSSSCSCCCCCSSCSSSCSSCSSSSSCSSSSCSCCSCSCSCSCCCSSCCSCCCCCSCSSSCCSSSSSSSSCCCCSSSSCSSSCCCSCCSCCCSSCCCCSSCSSCSCSCCCCSCSSSSCSCSCCSCSSSSCCSSCCCCSSCCSSSSCCSSSCCSSSSSSSCSSSSCCCSCSCCSCSCCSCSSCSCSCCCCCCCSSCSSCSCSSCSCCSSSCSSCCCCSCSCCCCCCSCCSSSSCSSCSSSSSSCCCCSCCCCSCCCSSSSCCSSCSSSCCCCCSCSCSCSCCCSSSCSSSSCSSSCSCSSCSSSCSCSSSCCSCSSCCSSCCCSSCCCSCCCSSCSSCCSCCCSCCSCSCCCSCSCSSSSSCCSCCSSSCCSCSCCSSCCSCCSSCCCSSCSSCCSCSSCCSSCCSSSSCCSCSCSSSCSSCSCCSCCCSSSSCCCCCCSSCSSCSSCCCSCSSCCCSSCSSSSCCCSCSSSCCCSSCSCCCSSCCSCCCSCCSCSSSSSSCSSCCCSSCCSSCCSCSSSSSCCCSSCSSCSSCCCSCSCSCCSSCSCCSCCSSCCSCCSCSSSSSCCCCCCSSSSCSSCCCSSSCSCCCCSSCSSCCSCCCSCCCCCSCSSCCSCCCSCSSCCCCCCSCCCCCCCSCCCSCSSSSCSCSSCCCCSSSCCSCCSCCCSCCSCCCCCSSSSSCCSSSCCCSSSCCSSSSCSSCSCSSSSCSCSCSSSCCSCSCSCCSSCSSSCCSSSSSCCSCCCCSCCSCCCCSCCCCCSCCCSSCSCCCSSSSSCCSSSCCCSSCCSCSSSSCCCSSSSSSCSCCSSCCSCSCSCSSCSSCCSCSCCCSSCSCCSSCSSSCCSSCCSCSCCSSSSCCCSSCCCCCSSCSCCCCCCCCCSCSSSSSCCCCSCCCSCCSSSCCSCSSSSCSSSCSCCSSSSCCCCCCCCSCSCCSCSCCCCSSSCCSSSCCCSCCCSSCCCCCCCCSCCSSCCCCCCSCSCCCCCSCSSSSSSCSSSCCSCSSCCCCCSCSSSCSSSCCSCCSSCCSCSCSSSCSSSCCCSSCSCCSCCSCSCCSCCSCSSSSCSSSCSCSCCSCCCSSCSSSCCSCSCCCSSCCCCCSSCSSSSCCCCCCCCCCSSSCCCSSSCCSCCCSCCSSCSCCCSSSCCCCSCSCSSSCCSCCCCSSSSCSSSSCCCCCCSCCSCSCSCCCCCCSSCCSSCSSCCCCCSSSSCCSSSSSSSCSSCSSSCSSSSCSSCSSSSSSSSSSCSCSCSSCCSSCSCCSSCCSSSSSCCCCCSSCSSCCCCCCCCCSSSSSCCSCSSSCCCSCSCSSCSSCSSSSCSSCSCSSSSSSCCCSSSCSCSCCSCSCCSSCSCSCCCCSCSSSSCCSCSSCCSSCSCCCSCSCSSCCCSSSSCSSCCSSCCCSSCSSSCSCSSCCCSSSCSSCSSCCCSSCCSSCCCSCSSSCCCSCSSSCCCSCSCSCSSCCSSCCSCCCSCSCSSSSCSCCCSCSCSSCSCSCCCCCSCSCCSSCSSCSCCCCCCSSCSSSCSCCCCCSCSCCSCSCSSSSSCCCSSSSSSCSCSCSSSCCSSCSSSSCSSCSCSSSSSCCCCSSSSSCCSSSCSCSSSSCCSSSSCCSSCSSCSCSSCSCSCCCCCSSCSSSSSSCCSCCCCCCSSCCCCSSCSCCSCSCCCCCSSSCSCCCSSCSCCSCCCCCCCSSCSCSSSSSCCSCSSCCSCCCCCSCCCSSCCCCSSCSSCSSSSSSCCCSCCCSCSCSCSCCSCCCSSSSSCSCCSSCCCCCSCSCSSSSCCSSCSSCSSCSCCSCSCCSCSSSCCSCSCCSSCCSSCSSCCCCSSCSCSSCSSSCSSCSCCCSCCCSSSSCCSSSSCCCCSSCSSSSCSCSCSCSCCSCCSSCCCCSSCSCCCCCCCSCSSSCSSSCCCSCCSCCCCCSSSSSSSCCCCCSCSSSSCSCSCCCSSCSSSSCCSSCCSCCCCSCSCSSCCCSCCSSCCSSCSCCCSCCCSSCCSCSCSCCSSSCSCCSSCSSCSSSSCCCCSCSSCSCCCCCSSCCSCCSSCSCSSCCSSCSCCCSCSSCCCSCSCSCSCCSCCSSCSCCSSSSCCCSCCSSCCCCSCCSSCCSCSCSSSSSSCSCCSCSCSCSSCCCSCCSCSCCCCSSCSCSCSCCSSSSSCCCCSSSSCSCCSCCSSSCCCSCSSSCSCSCSSCCCSCCSCCCCCCSSSCCSSSCSSSCSSSSCSSSCSCSSSCSSSSSCSSCSCCCCSSSCCSSSCCSCSCCCSCSSCSSSSCCSSCCCCCCCCSSSSSCCCCSCCSCCCCCCSCCCCSSSCSCSSSCSSCCSSCCSCSCSSCCSCCCCCCCSCCCCCSCSSSSSSCSCCSCSCCCSCCSSSSSCCSSCCSSSCCSCCCCCCSSCCCCSSSCSCSCCSSSCSSCCCSSSSCCSCCSCCSSCCSSSCSSSSSCCSSSSSCCSSCCSSSCSSSSCCCCCCSCCSSCCCCCCCSSCSCSCSCSSSCCSCSSSSCCCSSSCCCSCCSSSSCSCCCCCSSCSCSSSSCCSSSCCCCSSSCSCCCCCCCCCSCCCSCCSSSCSCSSSCCSSCCSSCSCCCSSSSSCCCCSSSCCCSCSCCCCSCSCSSSCCSCCCSSCSSCCCSSSSCCSCSSCCCCSSCCCCSCSCSSCSSCSCCCSCCCSSSCSCCCCCCCCSCSCSSCSCCCSSCSCSSSSCSSCCCSCCCCSCSSCCCCCSCCSCCSSCCCCSSSCCCCSCCSCCCSSCSSSSCCSCSCCSSCCSCCSSCSCSCCCCSSCSCSCSSCSSCSCSCSCCCCCCSSCSSSCSCCSSSCCSSSSSSCSCCCCCCCSSSCSCSSSCSSCSCCCSCSCCCCSSSSSSCSSSSSSCSCSSCSSSCSSCSCSSCCSCCCSSSCCCCCCSSCCCSSSCCCCSSCSSSCSSCCCSCSCCCCSSCSSSCSCSSSCCCSCSCCCCSSCCSSSCSCCSSCCSCCCSCSCSCCCSSCCCCSCCSSCCSCCSCCSSSCCSCSCCCSCCSCSSSSSSCCCCSCCCCCCSCCCCSCCSCSCSSSSCSCSCSCSCSSCSCCSSSCSSCSCSCCCSCSSCCSSSCCSCCSCSSCSCCSSSCSSCSSSSCCSCSSCCSSCCCSCSSCSSCCSCCSSSSSSSCSSCSCSCSCCSCCCCCSSCCCSSSSCSSCCSCCCSSCCCCCCCCSSCSCCCCSSSCCSSCSCSSCSSSSCCSSCCCSCSCCSSSCSCSCSSSSCSCCSCSCCCCCSSSCCCSSSCSSCSSSCSCCSSCSCCSCSSSSSSSSSCCCCSSCCCCSCSCSCSCCSSSCSCCCCCSSSCCCCCCSCCSCSSSCSSSSCSCSSSCCSCSCSSCSCSCSCSSSSCCSSSCSSCSSSCSCCSSSSSSSCCCSSSCCCSSCCCSCCCCCSSSCSSCSCCCCCCCCSCSCSSSCSSCCCCCSCSSSSSCCSSCCSCSCCSCCCSCSSCSSCCSCSSCCSSSSCSCSSCSSCCSSCSCSSSCCSSCCCSCCCSSCCCSCCCCSSCSSCCCSSCSSSSCSSSCSCCSCSSSCSCCCSSSSCSCCCSCSCCCSCCCSSSSSSCSCCCSSSCSCSCCSCCSSSCCSCSSSCCSSCCSSCSSSCSSSCCCSCCCSCCCSSSSSCSSSSCCSSSSSCSSSCCSSSSSSSSCSCSSCCCCCCSSCCSSCSCSSCSSSSSSCSSCSSCSSSCCSCSSSCSSCCSCSCCCSCSCSCSCSSCSSCCSSSSSSSSCSCCCCSSCSSCSCSCCCSSSCCSSSCCCSSCCSCCSSCCCSSSCSSSCSSSCSCCSCCCSSCCCSSSCSSSSSSSSSSCSSCSCCCSCCCSSSCSSCSCCSSSCCSSCSCSCCCCSCSCSSSSSSSCCCSSCCCCSSSCCCSSCCSSCCCCSCCCSSSCSSCSCSSSSCSCSSSSCCSSSCSSSCSCCSCSCSCSCSCCSCCCSCCSSSSCCCSCCSSSSSSCCCSSCCSCSSCCCSCCCCCSSSSCCSCSCCSCSSSSSSCSSSSCSSSCCSCCSSSSSCCCCCCCSCSSCCSCSCCCCCCCCSSCSCSCSCSCSCSCCCSSSSSCSCSCSCSCSCSSSSCCCCSSSSSSSCSSSCCCSCSCSSSCCSSCSSCCCCSSSCSSCCSCSCSCCSSCSSSSCCSSCSSCSSCCCCCCSCSSSSSSCSSSSSSSSCCCSCSSSCCSCSCSCCSCSSSSCSCCSCCCSCSSSSCCSSCCCSSSSSCCSCSCSCCCSCCCCCSCCSSCSSCCCSCCSCSCSSCCCCCSSCCCCSCSSSCSSSSCCSCSCSSSCCCSCSSSSCCCCSCCCCCCSSSCSCSSCCSSSSSSSCCSSCCSCCSSCCSCSSSSSSSSCSCSSSCCCSSSCCCCCCSSSCCCSCSCCSCSCSSSCCSCCSSSCSCCCCCSCCCCSSSCCCCSCSSCCCCCSSCCSSCSCCSSSSSCCCSSSSCSCCSSSSCSCSSSCSSCCCCCCCCSCCSCSSSCSSCCSCCSSCCCSCCSSCCCSSSCCSCSCCSSSCCCCSSCSCCSSCCCCCCCCCCCSCCCSCCSSCSCSSCSCCCCCSSCCCCSCCSCSSSSSSSSSCSSCSCSCCCCSCCSCSCCCCCSCSCSCSSCSSSSCSCCCSCSCSCCCCCSSCCSSCCCCCSCSSSCCSSCCCCSCCCSSCCCCSCCSSCSSCSCSCSCCCSSSSCSCSCSSSSCCCCCCCCSSCCCCSSCSCSSCCSCCCSSCSCSSSCSCSCSCCSCSSCSCCCCSCCSSCCSSCCSSSCSSSSSSCCSCCCCCCCSCCSSCCSCSCCSSSCCSSCSCCSCCSCSCSSCSCCCCCCCSCSCCSSCSSCCCSSSSCCSCSSCSCSSCCSSCCCCCCSSSSSSCSCSSSCCCCSCCCCCCSSSCCCSSSCCCCSCSCSCCCSSSCSCCCCSCSCSCCSSCCSSSSSSCCCSCCSCCSSCSCCCCSSCCSCSSCCCCCSSSCSSSSSSSSCSSCSSSCSCSSSCSSSCSCCSSCCSSCSCCCSCCCCSCSSSSCSCSSCSCSCCSSCSSSSCSSSSSCCCCSCSSSSCSSSSSCSSCCSCCCSSSCSSCCCCSSCCSCCCSSCCCCCSSCSCCSCSSCCCSSCCCCSCSSCCSCCCCSSCCSSSSCSSCSSCSSCCSCSCSSSCSCCCCSCSSSCCSSSCCCSSSCCCSCCSCCCCCCCCCSCCCSSCSSSCSSSCCSSCCSCCCSSCCSSSSSCSSCCCCCSSSCCSCSCSSSCCSSCSSSSSCSSCSSCCCCCCCCSSCSCSCCSSSCSCCSSCSCCSSSSSSSSSCSCSCSSSSCSSSSSCCCCSCCCSCSSCCCCCCSCCSSCSCCSSCSCCCCCCCCCCCCCSSCSSCCSSCSSSSCSSSSSSSCSCSCCCCCCSSSSSSCSCCSCCSCCSSCCCCCSSCCSCSSSSCSCSCCSCCCCSSCCCSCCCSCSSCCSCCSCCSSCCCCCSCSCCSSSSCCSCSSSCSCSSSCSSCSCCSCSSSSSSCCCSCSCSSSSSCSCSSSCSSCCSCCSCSSSSCCSCSSCSCCSCSCCCCCCSCCCSCSSCSCCSCSCSSSCCCSSSSSCCSSCCCSCCSSCSCCCCCCSSCSSCSCCCCSCCCCCSSCSCCCCCSCCSCSCCCSCCSSSCSSCSCSSSSCSCCCSCCSSCSSCSSSCCSSSCCSCCSSCSSSSSCCSSCCSCCCSCSCCCCSSCCCCSSCCSSCCSSCCCSSCSCSSCCCSCCSCCCSSSCCCCSSCSCCCSCSSSSSCSSSCCCCSSSCSCCCSSCCSCSCSCCSCSCCSSSSSCCCSSCSSCSCSSCSSCCCSCSSCCCCCCSSCSSSSCSSCCSSSCSSCCSCCCSSCCCSSSSCSCSCSCCCSSCCCSCSSCCCSCCSCCCSCCSCCCSSSCSSSSSCSCSSSCSCCSSCCSSSSSSSSCCSCCSSSSCCSCSSSSCCCCCSCCSCCCCCCCCSCCSCSSSCCSCSCSSSCCCSCSCSCSCCCSCCSSCSCSSSSSCSSSSSSCCSSSCCCSSSSCCSCCSCCSCCSCCSCCSSCCSCSCCCCSSCCCSSCCSCSCCSSSSSCCCSSSCCSCSCSCCCSSSCSSCCCSSCCCSSCCSCCCCSSSCSSCCSSSSCCSSSCSSSSSSSCSCCCSCSSSSCSCCSCCCCSCCSCSSSCCCCCCCSSCCCCCCCSCCCCCSSSSCCSCCCCCCCSSSSSSCCSSCSCCCSSCCSSCCSCSSSCCCSCCSSSCSSSCSCSSCSCCSCCCCCSSCSCSCCSSSCCSCSCCSSSCCSCSCCSSCSCCCSCSSCCSCCCSCCCCCCSCSCSSSCCSSSSSSCCSCSCSSSCCCSSCCCCCCCSCCCSCCSCSCSCCSSSSCSCCSSCSSSSSCCCSCCCCSCSSCCCCSCCCSCSCCCSCSSSCSSCSCSSSCCSCCSSSSCCCSSCCCCSCCSSCSCSCSSSSSSSCSSCSCCCCSCSCCSCSSSSSSSSCSSSCCSSSCCCCCSSCCSCCCSSCCCSCSCSCSSCCCSCSSSSCCSSSCCCCSCCSSCSCSSCCSCCSCSSCCCSSSSSCCSSCSCCCSSSSSSCSCCSCSCSCSSCCCSCCSCCSSCCSCCCCSSSSCCSSSCSSCCSSCSCSSCCCCCCCCCSSCSCSSSSCSSCSCCCSCSCCCCSCSCSSCCCSCSCSCSCSSSSCCSSSSSCCCCCCSCCSCSSCSSCSSCSSCSCSSCCCSSSCSSSSCSCCSSCCCSCCSCSSSSCSSCCSSSCSCCSCCCCCSSCSSCSSCSSSCCSCSSSSSSCCCCSSSSSCCSSSSCSSCSSCSSSCSSCCCSSSSSSSSCCSSCSSCSSCSSSCSSSCCSSCSSSSCCCCSSCCSSCSSSSSSSSCCCCCSSCCSSSSCSCCCCCCCSSSSSCSSCCCSCCSSCCSCCCSCSSCSCSSSSSSSSCSCCCCCSCSCCCSSCCSSSSSCSCCSSSSCCCCSSSSSSCCSSCSSCCSCCSSSSCSSCCCCSSCSCCSCSSSSCCCSCSCSSSCCSCCCCCCCCCCSCSCSCSSSSCSCCSSCCCSCSCSSCCSSSCSSSSSCSSCSCSCCCCCCCCSCSSSCSCSSSSSCCSSSCSCSSSCSCSCSCCCSCCCCSCSCCSSCSSSSSCSCCSSCSCSSCSSCSCSCCCSSSCSSCCCSSCSSSCSCSSCCSCCCCSCSSCSSSSSCSCSSSCCSCSSCSSSCSCSSSSSCCSCCSCSSSCSCSCCSSSCCSSCSSSCCSCSCCSCCCCCSSCSCSCSCSSCCCCCCCCCSSSCSCSSCSCSCCCSCCSSCSSSSCSSSSSCSSCSSSSSSSCCSSSCCCCSSCSCSSSCSCCSSSCSCSCCSSSSCCCSSSCCCCSCSSCCSSSCCSSSCSSSCCSSCSSSSCCCCSSCSCSCCSSSCCCCSSCSSCCSSSCSSCCSSSSCCCCCSCSCCCSSSCSSCCSSSCCSSSSCCCSCSSSCCSCSCCCCSSCCSSSSCCSCCSSCCSSCSSSCSCCSCCCSSCSSSSCSCSSSSCCCCSCSSCSSCCSSCCCSCCCSCCCSCSSSSCSCSSCCCCSSCCCSSSSSSCCCCSSCCSCSSCCSSCSCSSSSSCCSCCSCSCCSCCSCCCSSSCSCSCSSSSCCSSSCCSCCCSSSSCSSSCSSCSSSSCCCSSCSCSCSCCCCCSCCCCCSCCCCSCCSSCCSSCCCCSSCCSSSSSSCSSSCSCSSSCCSSSCCSCSSSCCSCSSCCCSCCSCSCSCSSSSCSSSCCSCCCSSSCCSCSCCCCCCCCSCSCSCCCSSCCCSSSCCCCSSCSSSCSCSCSCSCCSCSSSSCSCSSCSSSSCSSSSCCSCCSSCSSSSSCSCSCCCSSSSCCSCSSSCCSSCCCSSCSCCCSSCSCCSCCSSSCSSCSCSCSCSCCCCSCCSSSCSSCSCSSCCSSSCSSCCCSCSCCCSSCCSSSSCCCSSSSCSCSCSSSCCCCSCSCCSSSCSSSSSSSCCSCSSSCCCCSSCCSCCCCSSCCCSSSCCSCCSCCCSSCSSCSCCSCCSSCSSSCSSCSCCCSSCCCCSSCSSCCCSCSSCSSCCCCCSCSCSCSCCSCCSSCCSCCCCCCCSSCSSCSCCCSCSCCCCCSCCSCCSCSCSCSSCCCCSSCCCCCCSCCCCCSSSCCCCCSSCCCSSSCSCCCSCSSCSSSSSCSCSSCCCSSSSCCSCCSSCSCCSCCSCSSCCSSCCCSCSSCSCSCCCCSCCSCCSSSCSSCSCCCSCSCSCCSSCSSSCSSCCCCSSSCSSCSCCSCCSCSSCSSSSSCCSCSCCCCSCCSSSCSCSCSCCSSCSCCSSSSCCCSCSCCCSSCCSCCCSCCCCSCCSCCSSCCCSCSSSCSCSCSSCSCCCCSSSSCCCCSCSSSSSCSSCSCCSCSSSCCCSCSCSCCCSCSSSCCSCSCSSSCSSSCCCCSCSCSSCCCSSCSCSCSSCCSSSCCSCSSCCSCCSCSCCCSSCCCSCCCCCCSCSCCCCCSSSCSCSCSSCCSCSCCCSCCCCSSCSCCCSSSCCCSCCCSSSSSSSSSCSCCSCCSSSCSSCCSCSCCSSCSSCSCCSCSSSCSSCSSCSSCSSCSCCCSSCSCCCSSCSCCSCSCCCCSCCCCSSSSSCSSCSSCSCCSCSSCCSCCCSCSSCSSCCSCCSCCSCCCCCSCSSCCSSSSSSCCSSCCSSCSSSSCSSCSSSSSCCCSSSSCSCSSSSCCSSCCSCCCCSSSCCCSCSSCCCSCCSCSSSSCCCSCSCSCCSSSSCCSSCCSCSCCSCCCCSSCSSSCSCCSSCSCCCCSSCSSCCSSCCSCSSCCCSSSCCSCSCCSSSCSSSCSSSCSCSSCCSSCSCCSCSSSSCCSSSCCSCSCCSSCCCSCSSCCCSCCCSCSCCSSCSSSSSCSCCSSSCCCCSCCSCCCCSSCSCSSCCCCCCCSCSCCCSCSCCCSCSSCCSCSSCSCCSSSSSCCSSSSSCSSSCCSSCCSCSCCSCCSSSSSSCSSCSSSSCCCSSSCCCSCCCSSCCCCSSCCSCSSCCSCCCCSCCSCCCSSSCCCSSSCCCSCCCCSCSCCSSCSCSSCSCSSCCSCSSSSSCCSSSCSSCCSCCCCCSSCSSSCCCSSSCCSCCCCCCCSCSSSSCCSSCSSSSSSCCCCSCCCCCCCCSCSSSSCCCSSCCCCSSCCSSCSSCSSCSSSSSSCSCCSCSCCSCCCCSSCSSSCSSCCCSCSCCSSCCCSCSSCCCCSCCSCSSSSCSSSCCCSCCCCSCSSSSSCSSCSCSSSCSCSCSSSSSCSCCCCSCSSSCSCCSSCCCSCSCCCCCSSCCCCCSSCCCCCCSSCCSSCSSCSSSCCSSSSCCCCCCCSSSSSSCSCCCSSSCSSCSCSSSSCCSSSCCCCCCCCCSSSCCSCSSSSCSSCCSSCCCSCCCSSCSSCCSSSCSSSSSSSSSCCSCSSCSSCSSSCSSCSSCSCSSSCCSSSSCCSCSSCCSSCSSSSCCSCSCCCSCCSCCSSCCSCSCSSSCSCCSCSCSSSCCSSSSSSCSCSCCSCCCCSSSSCCSSCSCSCSSCCSCSCCCSSCCSCCCSSCSSCSSSSCCSCSCCCCSSSCSCSCSCSSSSSSCSSSCSSCSCSSCCCCCSSCCSCSSSSSSSSSSSSCSSCCCCCSSSSSSCSSSCCCCCCCSSCSSCSCSCSCCCSCSSSSCCCCSCCCSSSCSCCSCCSCSSSSCCSCSCSSCCSSCSCCCSCSCSSSCCCSCSCSSCSCSCSSCSSCCCSSCSSSSSCSSSSSSCSSSCCSSCSCSCCCSSCCCCCSCCSSCSSSSCSCSCCCCSCCCSSCCCCSSSSCSCSSSSSCCCCCSSCCCCSSSCCCSCSSSSSCCSCSCSCSSCSCCCCCCSSCSCSCCCSCSCSCSCSSCSCCCSSCCSSCCCSSCSSCSCSSCCCSCSSCCSSCSCSSSCSCCCSSSCSCSCCSCCSSCCSSSCCCCSCSCCCCSCSSSCSCCCSCSCSSCCCCSSSCCSCCSCSCSSSCSSSCSCCCSCSSCSSSSSSCCCCSCSCCCSCSSCCSCSSSCSSCSCSCCCCCCSCCCSSSSSCCSCCSCCSSCCSSSSSSSCSSSCSCCCCSCSSCCSSCCCSSCSSCSSSCCSSSCCSSCCSCSSCCSCSSSSSCCSCSSCSSSCCCSCCCSCSCSSSSSSCCCCCSCSSSCSCCSSSCCCSCCSSSSCSCCSSCCCSSCSCSCSSCCSSSCCSCCCSCCSSCSSSCCCCSSCSSSSSSSSCCSSCCCSSCSCSSSSSCCSCCCCSCCCSSSCSSSCSSSSCSCCSCSCCSSCCCSSSSSSCSCSSCCSCSSSSCSSSSCCSCSSCCCCSSSCCCCCSSSSSCSSSCSCCCSSSSCSSCCSSSSSSCCCCSCSCCCCSSSCSSSCSSSCSSSSSCSCSSCSSSSSSCCSSSCSCSCSCSSSCSCSSCCCSSSCSCSCSCSSSCSSSSSSSCSSCSCSSSSCCCCCCCSSCSSCCSCCCCCCSSSSSSSCCSSCCCSCCSCSSCCCCSCSCCSSCCCCCCSSCSSCCCCSCSCSSCCSSSCSCCCCCSSCSSSSSSSSSCCCCCCCSSCCSSSCSCSCSSCSCSCCSSCCCCCSSSSSCCSCSSCSCCCCCCCCCCSSCSCSSSSSSCCCSSSCSCCSSSSSCSCCCSCCCSSCSCSSCCCSCSSCSCSCCCCCSCSSSSSSSSSCCSCCSCCCSSSCSCCSCCCSCSSSCSCCCCSSCSSCCSSSCSCSSSCSSCCSSSCCSCCSSCCCSSSSCCSCCSCSCCSCSCSCSCSCCCCSCSSCCSSCSCSCSSSCSCSSCSCCCCCSSSCSCSSSSSCSCSCSSSCSSCSSCSSCSSCCSCSCCSSCSCCCCCCCCSCSSCSSSCSSSCSSCSSCCSCSCSSCSCCCCSCCSSCCSCCSCCSSCSCSSCSCSSSCCCCCCCSSCSSCCCCCSCSSCSSCSSSSSSSCCSSCSSSCCCSCSSCCCSSSCSCSSCCSCCSCCSCCCCSSSSSCCCSCSCCCSSCSCCCSSCSSCCSSCCCCSSSCSSCCSSCCSSCCCSSCSSCCSCSCSCSSCCCSCCSCSCCSCCSCCCSSSSCCCCSSSSCCCSSSCSSCCCCCSSSCCCCSCCCCSSSSSSSSSSSCCSCCCCSCSCSSCSSSCSSSSSCCSCCSSSCCSCSCCCSCCCSSSCCCSCCSCCCSSCCCSSSCCCSCSSCCCCCSCCCSCSCCCCCCSCSSCCCSCSCCSSCSSSSCCSSCSCCCSCCCSSSCCCSSCSSSCSCSCSSSSSCCCSCSCSCSSSSCCCSCCCSSSSSCSCCSCSCSCSSSCCSSSCCSSCSSCCSCSSCSSSSSCCSCCSSSSCSSCCSSCSSSSCSSSSCCCSCCCCSCSCSCSCCSCCCCCCSSCCCCSCCCSSSSCCSCSCCCCCCSCSCSSCSSSSCSCCCCSSSCCCCSSCCSCCSSSCCCCSSSSSSCSCCCCSSSSSCCCCCCSSCCSSSCCCSSCCSSCCCCCSCCCCSSCSCCSCCCCCSCCSSCSSCCCSCSCSCSCSCSCSCCSSSCSSCCSCSSSCCCSCSCSSSSCSSSCSSCCSSCSSCSSSSCCSCSSCSCSSCSCCCSCSSSCCCSSCSSSCSSSSSSSCSSSCSCCSCSCSCSSSCCSCSCCSSCSCSSSSCSSCSSSCSCCCCCCCSCSSSSCCCCSSSCSCSCSSSSCSSCSCCSCSSCSSSCSSCCCSSSSSCCSSSCSSSSCCSSCSSCCCCCSSCSSSSCCSSSSSSSCCCSCCCCSSSCCSCSCCSCSSCCCCSCSCCSSCSCSCCSSCSSSSSSCSCSCSCSSCSSCSSCCSSSSSSSSSCSCCSSCCCCCCCSCSCCSCCSSSCCCCSCSCSSCSCCSSCSCCSSSSSCSSSCSSCCSSSSSCCSSSCSSSCSSCCSSCSCSSSCCSSCSCSSSSCCCSSSCSSSCCSSSSCSCSSCCSSSCCCSSSSCCCSSCSCSSCCSCCSCSSSSCCCCSSCSSCSCSCSSSCCSCCCCSSCCSSCSSSSSSSSSCSCSSCCCSSSCSSCCCSCSCCCSCSCCSCCCSCSCCCCCCCSSCCSSCSSCCCCSSSSSCCCSCCCSCSSCCCSSSCSCSCCCSSSSCCSCCSSSSCCCCCCCSSCCSSSCSCCCCSCCCSSSSSCCCCCCCCCSSCCSCCCCCCSSCSCCCSCSCCCSSCSCSSCCCSCCCSCCCCSSCCCCCSSSSCSSCCSSSCCSCCSSCCCCSCCCCCSCCCCSSSCCCSSCSSSSSCCCCSSCSSSCCCCSCCSCSSSCCSSSSCSCSCSSSSCSSSCCCCCCCSSCSSSCCSSSCSCCSSSCCSSCCSCCSCCCCCSSSSCCSCSSCCSCCCSSSSCSSSCCSSSCSCCSSSSSSCCCCCCSSSCCCCSCCCSSCCSSCCSSSSCSCCSCSSCCCCCCSCCCCSCSCSCSSSSCSCCCSCSCSSSSCCCCCCSSSSSSCCSCSCCCCSSCSSSSSCCSCCSCCSSSSCSCCSCCSCSSSCSSSSSSCSSCSCSCCCCSSSSCSCCSCSCCCCCSCSSCSCSCCSSCSSSSSCCCCSSCCSSCCCCSCSSSCSCSCSSCSCCSSCSSCSSCSCSSSSCCCCSCCCCCSSSCCSSCSCCSCCCCCCCSCCSCCSSSCSCSCSSSCCCCSSCSCCSSCSSCSCSCSCSCCCCCCCCCSSSCSCSCSCSSCCCSCCSCCCCSSCCCSCSCSSCSSSCSCSSCSCCSCCSSSSCSCSSSCSCSCCCCCCSCSSSSSSSCSCSCCSCCCCCCCSCCSSCSCCSCSSCCCCCCSCCSSSCSCSSSSSCSSSSSSSCCSSSSSCSCCSSSSSCSCCSCCSCCSCSCCSSCSSCCCSCCSCSSCSSSSCCSCCCCCSSSCSSSCSCSCSSSSCSCSSSSCCCSCCCCCSSSCCSSCSCCCCCSSCCSSSSSCCCSSCCSSSSSSCCCSSSCSCCSSCCSCSSSCCSSSCSCCSCSCCSCSCCCSCCCCCSSCCSSSCSSSSSCSCCSCCCSCSCSSCSSCCSSCCSSCCCCCSSCSSCSCCCCSCCCSSCCSCSSSSSSCSSCCSCCCCCCSSSCSCSCSCSCSSCSCSCSSCCSSSSCSCCCCCCCSSSCCSCSCSSSSCCCSSCSSSSCCCSSCSSSSCCSCCSCCCSSCSSSSCSSCCSSSCSSSSCSCCSCCSCCSCSCSCCCSSCCSSSCCSSCCSCSSSCSSSSCCCSCCSSSCSSSSSCCCSCSCCCSCSCCCCCCSSSSCCCCCSCCSCCSCSSCCCSSCCCCSSCSCSSCCSCCSSSSCCSSSSCCCCCCCSCCCSSCCSSCCCSSCSSCSSSCCCCCSCSSCCCSCSCCCCCSCCCCCCSSCCSSCSSSCSCSCCCCCSCSCCSCSCCCCCCCCSSCSCSSSCSCSCCCSCCCCCSSCSSSCSCCCCCCSSCCSSSCSCSCSCSCCCCSSCSSCCSCSSCCCSSCSSSSCCCSCSCCCCSSCCCSSSCSCCCSCSCSCCSCCSCCSCSCSCSSCCCSSSCCSSSSSSCSCCCCSCSCCSCCCSSCSSCSCSSCCCSSSSCSCSSCCSCCSCSSCSSCCSCSCCCCCSCSSSCCCCCSCSCSSCCCCCSSCSCCCCCSCCSSCCCCCCSSCCCCCSCSCSCCCCCSSSSCCSSSCSCSCCCCSSSCSCCSSSCCSCCCSSCCCCCSSSSCCSCSSSSCCSCCSSSSSCCCSSSCSCCSCSSSCSCSCCCSCCSCSSCSSSSSSSCCCSSSSSSCSSSCSSCSCCSSSCCCSSSSSCSCSSSSSSSCSSCCCSCSCSCSSSSCCCSSCSCSCSSSCSCCCSCCSCSCSSCSSCCCSSSCSCSSCCSSSCSCSCSSCSSSCCCSSCSSSSCCCCCSSCSSSSSCCSCSSSSCSSSSSSCCCCCSSCCSSSCCSSCSSCSCSCCSSCSCCSSCCCSCCCSSCSCSSCSCCCSCSCSCCCCCSSCCCSCCSCCCCSCSSSSCCSCCCCSSSSSCCCSCCCCCSCSSSCCCCSSCSSCSSCSSSSSCCCSSCCSSSSSCSSSSCSCCCCSCCSSSSCCCSSSCCCCCCCSSCCCSSSSSCSCSCSSCSSCSSCSCSSCCSCCCCSSCCSSCCCCSCCSCSCSCSCSCSCCCCSSCSCSSSSSCSSCSSCCSSSSSCCSCCCSCSSCSSCCCSCSSSSSSSCSSSSCSSCCSSCSCSSSSCSCSSCCCSSSCCCSSSSCSCSSSSSCCCSSSSSSSSSSCCSCSSCCSSSCSSSSCSCCSSSSSSCCCSCCCCSSCSSSCSCSCCSSSCCSSSSSSCCCSSCSSCSSSCCCCSSCCSCCCSSCCCSSCCSSSCSSSCSCSSSCSSSCSSCSSCSSSCCSCSSCSCSSSCSSCCCSSCSCCCSSSCCSCSSCCSCSCSSCSSSSSSSCSCSSCCCSSCSSCCCCSCCSCCCSCSSCSCSCSCSSCCCSCSCSSCSSSCCCCSCCCCSCCSSCCCCCCCSCCCSSCSCSCCSCCSCSSCSCCSSSCCSSCCCSSSSCCSCSCSCCCSSCSCSCSSSSSCSCCCSSCSSCSSCCCSCCSCSSSCSSCSCSCSCCCCSSCSSSSCSSCCCSCSCSCSCSCCSCCCSSCSCCCCCCSSSSSSSCCSCSCSCCSSSCCSSSSCCCCSSCCSSCCCSSCSSCCSSCCSCSCSCSCSSSSSSSSCCCSSCSSSSSCCCCSSCCCCSCCCSCSCCSCCCCSCSCCSSSCSSCCSCCCSCSCSCSSCCSCSCSSSSSSCSCCSSCCCSCSSSSSSCSCCSCCSSSCSSCCCSCCCSSCSCSSSSSSCSSSSSSSCSSCSSCCCCCCCSSSCSCCSSCCSCSSSSSCCCCCCSSSSSSSSSSSSSSSSCCCCCSSSSSCSSCCSCCSCCCCCSCCCSCCCSSSSSCSCSSCCSSCSCSSSCCCSSSCCCSSSSCCSSSCSSSCSCCSSSCCSSCCSCSCCSSSCSSSSCCSSCSSSCSCSSCSSSSCCCSCSSSSCCSCCSCSCSSCCCSSSSCSSSSSCSSCCSCCCCSSCSCSSCSCSCCSSCCSSCSSCSSCSSSSSSSSSSSSCSSCSSSCCCCCCCSCSSCCCCSSCCSSCCCSSCSSCSCSSCSSSSCSSSCSSCSSCSSSCSSSCSSSSCSSCSSCCSSCCCCSSSSSSSSSSCSCCSCSCCSCCSCCCCCCCSCCSCSSSSCCCCSCSCSCSSSSSSCCCSSSSSSCCSCCCSSSCSSCSCCSSSCCCCSSSCSSCCSSCSSCSSSCSCSCSSCCCCCSSSSSSSSCCCCCCCSSSCSCCCSCSCSCCCSSSCCCSSSSCSCCCCCCSSSCCCCSCCSSCSCSSSSCSCCCSCSCSSSCCSSCCCCCCCSCSSCCSSSCCSSSCCSCSCCCCCCCCCCSCSCCCCSSSCSCCCCSCCSCSSCSCSCCCCSSCCSCCSSSSCSCCCSCCCCCSSSSCSSCSCSCSSSCSSSSSCCSSCSCSSCCCCCCSCCSSCCSSSSCCCSSSSSSSSSSCSSCCCCCSSSCSCCCCSCSCSCSSSCCCSCCCSSSCCSSCSCSSSCSSCSCSCCSCCSCCSCCCSSSSSCSCCCSSSSCCSCCCCSCCCSSSCSSCCSSSCSSSSCCCCSCSSCSCSSCCCSSSSCCSSSSSSCSCCCCSSSCSCCSCSSSCCCSCCSCSCCSCCCSCCSSSCSSSCCSCSCCCSSCSSSCSCSCCSCCSCSCSSSSSSSCCCCSCSSCCSSCSCSCCCSCCCCCSCCCSCCCCCSCSSSSCSCCCSCCCCSCCCSSSCCCSCCCSSCSCSCCCCCCSSSCCCCCSSCCSCCCSSSSCSCCCSSCSSCCCSSCSCCCSCSSCCCSCSCCSCCCCSSCCCCSCSSSCSCCCCCCSSSSCCSSSCSSCSCCSSSSSSCCSSCCCSSCCCCCCCCCCCCSSSSSCCSCSCSCCCCCCSSSSCSCSSCSCCSCCSSSSSCCCCCCSSSSSCSCSSSSCSCCCSCSSCSCCCSCCCSCCSSCSSCSSSSCSCSCSSSCSCCCCCCSSSSCSSCCCCSCCCCCSCSSCSSCCCCSSCSCSSSSSSCCSSCCSCSSSSSCCSCCSSSCCCSCCSSSSSCSSSCSSSCCSSSCSCCCCCCCCSCSCSCCSSCCSSCSSCCSSCCSCSCSCCSSSCSSSSSSSSCSSSSCCSSSCSSCSSSSCSSSCSCSCCSCCCCSSCSSSCCSSSSSSSSCSCCCSCCSCSCCSSCSSCCSCSSSSCSSSSSCSCSSCCCSSSSCSCCSCSCSSCSSCSSSSSCCSCSSSSCSCSSCCSCSCCCSCCSSCSCSCCCSSSCCSSCSCSSSSSSCSCSSCSSSCSCSSCSCSSSSCCSCSCCSSCSSCCSCSSSSCCCCSCCSSCSCSSCSCSCSCCCSSSSSSCSCCCSCSSSCCCSSCSCCCCCCCCSCSSSSCCCSSCSCCSSSCSSCCSSSSSCSCSCCSSSCCCCCSCSSCSSCSCCCSSCCCSCSCCSCCCCCCCSCCCSSSSSSSSSCCSCCSSCSSSSSSSCCCCCCSSCSCCSCCSSSCCCSSCCSCSCCSSCSSCSSCSSCCCSCCSSCSCCSSSCCSCSSSSCCSCCCSSSSCSCSSCCCSSSSCSCCSSCSCCCSSCCCSCSSCCCCSSSCCSSCCSCCCCSSCCSSSCCSCSSSSSSSSCSSCSCCSCCCCSSCCCSCCSCSCCCCCCCSSSSSSSCSSSCSCCCCCCCSSSCCSCSCSSSSSCSCSSSCSSSCSCCCCSCSCSSCCCSSSCCCCSCCCSCCSCSSCSCCSCCCCCSSCSSSCSCSCSCSCSCCCCSCCSSSSCCSSCSSCSCCSSCSCCCSCSCCCCCSCCCCCSCSSCCCCSSCSCCSCSSCCCCSSCCCCCCCSCCSCSSSCCSCCCSSSCSCSSCCSSSCCSCSSSCSCCCCCCSCSCCSCCSSSCSCSCSSSCCCCCSSSSSCSSCCSCSCSCSSSCCSCSSSSSSSSCSCSSSCSCCSSCCCCSSSSCSSSSSSCCSSSSCSCCSSCSSSCCSCSCCSSSCSSSSSSCSSSSSCSSSSCCCSCCCSSSCSSSSCSCCSSSCSCCSCSCCSCCCCSCSSSCSCCSSCSSCSCCSSCSCSSSSCCCCCSCCSSCSSSCSSSCSCSSSCSSCCSSCCSCSCCSSCSCSCSSCSCSSSCSSSCCSSCCSCCCSSCSCSSSCCCCSCCCCCCCSSSCSCSSCCSCSSSCSCSCSSSCSSSCSSSSCCSSSSSSCSSCSSSCSCSCCCSSCCCSCCCCSSSSCSSCCSSSCSSCSSCCSSSCCCSCCSCSSCSCCCSCCSCCCSSSSCSSCCCCSCSCSSSSSCCSCCSCSCCSSCSCSSCSCSCCSCCCSSSSCCSSCSSCCCCCSCCSSCSSCCCSCSCSSSCCSCCCSSSCSCCSCCSSSSCCCSCCSCCSSSSCCSSSCCCCCSCCCCCSSSCSSSCCSCSCSCCSCCSCSSCSSSSSSSCCCSSCSSCSCSSSSCSSCSSCCCSCSCCSCCSCCSSCCSSCSSCSCSSSCSCSSSSSCCCSCCSCCSSSCCSSSSCCSSCSCCSCCSCSSCCCCCCSCSCSCSSCSCCSSSSCSSSCCSCSSCSCCCSCSCSSCCSCCCSSSSSSCSCSCSCSSCCCSCCCSSSSSCCSCSSCCSCSCCCCCSSCCCCSSSCSSCCSCCSSSCSSSSCCCCCCSCCSCCCSCSSCSSCCSSSSSCCSSCCCCCCSCSCCSSCCCSCCCCSCCSCSCSSSCCCSSSCSSSCSCCSSSSCSSCCSSSSSCSSCSCSSCCCSCCSSCSCSCCCCSCCCSSCSSCSSCCSCCCCSSSSSSSSSCCCSSCSSCSCSSCCSCCCSSCCSSSSCCSCSCCCSCSSSCCCCSSSCSSCSCCCSSCSCCSCSCSCCSCCSSSSCCSSSCSSSSSSSCSCCSSCSSSCCSCCSCCCCSCCCCSCCCSSSCCCCSSCCCSCCSCSCSCSCSSSSSSCCCSCCSSSCSCCCSCSSSCSCCCSSSSCSCCCSSCCCCCSSSSCCCSSSSSCCCCSSSSSCCSCCSCCSSCCCCSCSCSSSSCCCCCSCSCSSSSCSCSSSCCSSSSSSSCCCSSSCSSCCSCCSSCSCCCSSCCSSCSSCCCCSSSCSCCSCCCCSSCSSSSCCCSSSSCCCSCSCCCCSSSCSSCSCSCCCCSSSCCCSCCCSSSSSSSCSSSCCSSSCCSCCCSCCCCCSSCCSCCCCSSCSCCCCCCCCSCSSCSCSCSSCSSCSSCSCSCCSSCSCSSCCSSSSCSSSSSCSCSCCSCCCCSSCSSCSSCCSSCSSSCCSCSCSCSSSCCCSCCCCSCSCSSCSCCCSSSCSCCCCSCCCCCCCCCSCSCCSSSCSCSSSCSSSSCSSSSCSSCSCCCSCSCCSCSCCCCSCSCCSSSCCSCSSCSCCCSCCCCCCCSSCSCCCCCSCCSSCCCSSSSCCSSCCCCSSCCCSCCSSCCCSCSCCCSCSCSCSCSSCCSSSCCCSSSSSCCSSSCCSCCSCSCSCCCSSSCCCSSSSSCCCCCSSSCCCSSSCSSCSCCCSCCSSSCCSSCSCSSCCSCSSSCSSCSCSSSCCSCCCCSSCCCCCSCSCCCSCSCCSCCCCCCSCCSCCSSCSSCCCCCSCCSSSCSSSCCCSSCCSSCCSSCSSSCCCSCCSSSSCCCCSSSSSCCSSSCSSSSCCSCSSCSSSCCSSSSCCSCCSCSCSCCCSCCCCCSSSSCSSSCCSSCSSSCSSCCSCSCCSSCSCSCSCSSCCCCSSSSSSCSCCSCSSSSCSCSCSSCCSCSSSCSCSCCSCCCSSCCSSSCCCSSSCSSSCSSCCCSCCCSCSCSSCCCSCSCSCCCCCCSSSCSCCCSCSCSSCCCCSCCSSSSCSCSSSSSCCSCSSCSSCCCSSCSSSCCCSCCCSSCCCSSCCCCCCCSSCCCCSSCCCCSCCSCCSSSCSSCSCCSCSCSSCCSSSSSCSSSCSSCSCCSSSSCCSCSCCSSCSCCCCSCCCCSCSSCCCCSSSSCCCCCCCSCSSSCSCSSCSCSSSCCSSSCCSCSCCSCSCSSSSCCSCSSSCSSSCCSCSSSCCCCSSSCSCCCCCSCSSCCSCCSCCCSSCSCSCCCCSSSCSSCSCSCCSCCSSSSSCCCCCSCSSSSCSCSSCCCCCSSCCSSCSCSCSCCCSSCSSSCCSCSSSCSCSSSSSCSSCCSSCSSCCCCCSSCCCSCSCSCSSCSCSCSCCSSCSCSCCSCCCSSSSCCCCSCSSCSCSCCSSSCSSSSCSSSCCSSCSSCSSSCSSCCSCCCCSCSCSCSSCSCSSCSCCSSSSSSCCCSSCSCCSCCCSCSSCSSSSSCSSCCCCCSCSSCCCCSCSCSCCCCCSCCCCSSSSSSCSSSCSSSSSSSCSCCSSCCCCCSCSCCCSSCCCSCSCSSSCSCSSCSCCCSSCSCCCCSCCSCCCSCCCCSSCSCSCCCCSSCCSSCSSCCSSSSCCSCCSSCCSCCSCSCSSCCSSCSSCSSCCSCSSCSSCSSSSSSSCCSCSSSSSSCCSSSSCCSSSSCCCSSSSCSSCCSCCCCCSCCCCSSCSCCCCSCCSCSSCSSCSSCCCSSCSCCSSSCCSCSCSCSCCCSSSSSSSSSCSSSCCSCSSCCCSSSCSSSSSSCSSCCCSSCSSSSCSCCSCCSCCSSCSCCCSCSSCSCSCCSCSCCCCCSCCSCCSCSCCSSSSCCSCCSSCCSCCSSSSCSCCSSCSCSSSSSCCSSCSCCSSCSSSCCSCCSSSSCSCCSCSCSCSSCCCSCCSSSCSSSCCSSSCSCSSCCSSCSSCSCSSCSCCSCCCCSSCSCSCSSCCSCCSCCSCCSCSCSSCSCSSSSSCSCCCSCSCSSCCSSSSCCCCSSSSCSCCCCSSSSSCCCCCCCCSSSSCCCSSCCCCSSCSCSSSSSCSSSSCCSCCSSSCSSCCSCCCSCSCSCSSSCCSCCCCCSCCCSSSCCCSCCCCSSCCSSCCSCSCSCCCCCCCSSCSCSSCSSSSCCSSSSCCCCCSCCCCCCCCSSCCCCCCCSCCCCCCSSCSCCCSCCSCCCCSSSSCSCCCSCSSSCCSSCSCCCCCSCCSSSCSSCSCCCSCSCSSSCSCSCCCSSCSSCSSSSCSSSSCCCSSCSSCCCCCSCSSSSSCSCSSSCCSSCCSCSSSCCSCSCSCSSCSSCSSSCCSSCCCSSCCSCCCSCSSSCSSSCCSSSCCCCCCCSSCSSCSSSCSSCCCCSSSSCSSSSCSSSCSCCSSSCSSCSSSCCSSSSSCCCSCSCSCSCCSSCCCCCCCSSCCCSSCSCCSSSCSSSCCCCCCCSSSCSSSCCCCCSCCCCCSCSSCSCCSCSCSSSSCCCSSCCCCCSCCCCCSSSSCSCCSCSCSCSSCSCSSSCCSSCCSCSSSSSSSCSCSCSCCCCSSCCCSSSSSCSSSSCSCSCSSCSCCSCSCSCSSCCSCCCCSCSSSSSSSCSCCSSCCCCSCSCSSCSCCCCSSCSSCSCSSCSCSCSCSSSSCSSCCSSSCCCCCCSCSSCSSCCCCSCCSCCSSSCCCCCCSSCSCCSCSSSSSCSSCCCCSSSSSCSCSSSSCSSCSSSCCCCSSSCCCCSSSSCSSSSSCSSCSCSCCSSCSCSCCCSCSCSCSCCCCCCCSSSSCSCCCSCSCCSSSCCCSSCSCCCSSSSSSSCSCCCCSCSCCCSSSSCSCSCCSSCCCCCSCCSSCCSCCSSCSSSSSCSSSSSSCSCSSSSSCCSSSSCSSSSSCSSSCCSCSSSCSCSCSCSCSCSSCCCSCCSSSSCCSSSCSCSSSSSCCSSSSSCCCSSSSCSSSSCSSSSSCSCCCSCCCSCSSSCSCSCCSSCSSCCCSSCCSCCSCCSSCCCSSSSSCCSSCCCSSCSSSCCCCSCCSSSSSCSCCSCCCCSSCSCCCSSCSCSCSSCSCCCCCCSCSCCSCCCCCSSCSCSSCSSSSCSSSCSSCSCCCCSCSCCCCSCCCCSCSCSCSCCSSSSCCCCSSSSCSCCSCSSSCCSSCSSSCSSCSSCSCCSCSSCCCSSSCSSCCCCCCCSCCCSCSCSCSSSCSSCSSSCSCSSSCSCCSSSCSCCCCSCCCCSCCSSSSSCSSCSCCCSCCSSSSSCSCSCSCCSSCCCCSCSSCSSSSSSCCSSSSSCCSCCSCCSSSCCSCCSCCCSCSCSCCSSSCCSCCCCCSCSCCCCCCCSSSCSSCSCSCSCCCCSSSSSSCSSCCSCCSSSCCCSSCSCSCCCSCSCSSCCCCCCCCCSSCSCSCSSCCSSCCSSCCSSCSCCSCSCSCSCCCSCSSCCSCCSSCSSCSSSSSCCSSCCCCCCCCSCCCSCSCSCCSCSCSCCSCSCSCSSSCSSSSCCCCSCSSSSCCSSCCCCSCCSCCCCSCCSSCSSSCSSSSSCSSCSSCCCCCSSCSSSSSSCCSCSSSCSSCCCCSSSCCSSCCCCCCCCCCCSCSSSSCCSCSSSSSSSCCCSSSSCCCCCCSSSCCCCCCCCCCCSSCCSCSSSSCSSCSCCSSCSSCSCSCCCCSSCCSCSCSSCSSSSSSSCCCCCSSSSCCCSCCCCCSCSSSCCCSSCSCSCSSCSSCSCSSSCSSCCSSCSSCSCCCCCSSCCSSSSSCCCCSCCCCCCCCCCCSCSCSSSCCSSSCCCCSSCSSCSCSCCCCCSCCSCSSCSCCSCCSSSSCCCCCCSSSSCSCSCCSSSCSCSCCCCSCCSSCSCCSSCCSSSSCCCSCSCCCSCSSCSCCSSCCCCSSSCSCCCSCCCSCSCCSSCCSSCSSSCCCCSCCSSCCSSCCSSSCCSSSCSSCSCSCCCSSSSCSSCCSSCSCSCSCSCCCSSSCCSSSCSCSCCSCSSCSCCSSCCCCSCCSCSSSSSCSSSSSCSSSSSCSSCSSCCSCSSSSCCSSCCSCSSCSSCCCSSCSSSSCSSCCCSCSSCSCSCSCCSCCSSCSSCSCSCSCCSSSSCCSCSSSCCSCCCSSSCCSCSSSCCSCCCSSSSCSSCCCCCCCSCCCCSCCCSSSSSCCCCSCCSCSCCCSCSSCSSSCCSSSCSCSCCCSCSSSCCSSCSCSCSSSSCCCSSSCSCCSSCCSCSCSSSCSCSSSSCCCSCCCCCCSSCSCCCSSSCCSCSSSCSSCCCSSSCCSCSSSSSSSSSSCCCSSCCCCSSCSSCCCSSSSCCCSSSCSCCCSCSSCSCCCSSCSSCSCSCSCCSCCSCSCCSCSCSCSCCCSSSCSCCCSCCCSCCCCCCCSSSCCCCCCCSSSSCCSCCSSSCCCCSCCSCCSSSCSSSSCCSCSCCSCCSCCSSSSCCSSSCSSCSSSSCSSCSSCSSSCSCSCCSCCCSCCSSCSSCSSSCSSSSCSSSCCCSCSSCSCCSCCCCSCSSCSCCSSSSCSCCCSCCCSSCCSCSCCSCCCSCSSSCCCCSSCCCCSCCCSCSSSCSCCSCCSSCCCCCCCSSCCSCSSSSSSSSCSSSCSSSCCCCSCSSSSSSSCCCSSCSCSSCCCCSCSSSSSCCCSSCSCCCSCCCSCSCCSSCCSCSCCCSCCCSSSSCCSSCSSCSSCSSCSCSCSSCSCSSSCSSSSSCCSCSCCCCCSSCSCSSCCSCSSSSCCCCSCSSSCCSCSCSCCCCCCCSSSSCSCSCSSSSCSSCSCCCCSSCSCCCCCCCSSSCCSCSSCSCCSCCSCSCCCSCCCSCCSSCSSSSSSCCCCCSCCCCCCCSSSCSSSCCSSCSCSSSCSCCCCCSSCCCCCSSCSCCSSCCSCCCCSSCSCSCSSSCSSSSCCCSCCSCCCSCCSSCCCSSSSSSSCSCSCCSSSCSCSSCSSSSSCSSCCSSSCSCCSSCCSCSSSSSSSCCCCSCCSSCSSSCCSCCSCCCCCCCSSSSCSSSCSCCCCCCCSSSSSSCSCSCCSSCCSSCCSSSCCSSCSSCSCCSSSSSCCSSSCCSCCSCSCSCSCSSSSCCCCSCSSCCSSCCSCCCCCSCCSSCSCCCCSSCSCSSSCCSCSSSCSCSCSCCSSSCCSCSSSCCCSSCSSSSSCSSCSSCSSCSSCCCCCCCCCSSSCCSCCCCCCCSSSSSSCSCCSSSSSCSCSSCCSCCSSCCCCCCCSCCCSSCSCCSCCCSCCCSSSSSCSSCCSCCSSSCCCSCCSSSSSCSCSSCSSCCSSSCCSCSCSSCCSCCSCSCCSSCCSCCCCCCCSSCCSCCSSCCCCCCCSCSSSCSCSSSCCSCSCSSSSCSCCCSCCSCSSSSCCSSCSSSCSSCCCCCCSCSCCSCSSCSSSCSCSCCCSSCSCCCSCCCCCCCSSCCCCCSSCSSSCCCCCSCCCCCSCSCSSSCCCCSCCCCCSSSCCSSSCSSSSCCCSCSSSCSCSCCCCSSCCCSSSSSSSSSCCCSCSCCSCSSCSCCSCCSCSCCCSSCCSSCSCSSSSCSCSCSSSCSCCCSCSCSSSSCSCCSCSCCSCCCCCSSSCCSSCSSCCCSSSCSCSCSCCSCCSSCSSCSSCSSSCSSSSCCCSCCSCSCCCCCCCSCSCSCCCCSCCCCCCCSCSCCSCSCCCCCCCCSSCSCSSCSSSSSCSSSSSCSSSCCCCCCSCCCCCCCCCSSSCSCSCSCCSCSSSCSCCSSCCCSCSCCCSCSSSCSCCCCSSCCCCCCCCSSCCCCCSCSCCCCSCSCCCSCCCSCCCCSCCSCSSSCSCSSSSSSSSSSSCCCCCSCSCCCCSSSSSCCCCSSSSSCSCSCCCCSCCCSCCCSCCCSSCSCSCSCSSCSCCSSSCCSSSCCCCSCCSCCCSSSSSSSSSSCSCCCCCSSCCSCCCSSSCSCSCCSCCSCCCCCSSSCSSCCCCSSCCSCCCSCCCSCCSSCSCCSCCSCCCSSSSSCCSSSCSCCSCCCSCSCSCCCCSCCCSCSCCCCCCSSCSSSCSSSSSCCCCCSSSCCCSCSCCCSCSCSSSCCCSSSSSSCSCSCCSSSCSCCCSCCCSCSSCCSCSCCCSCCCCCSCSSSSCSCCSSCSCSSCSCSSCCCCCSSCSCSSSSSCSCCCSCCSSSCSCSSCSSCCSSSSSCSSCCCCCCSSCSCCSSCSSSSCCCCSSSCCSSSSSCSSCSCCCSCSCCCCCCSCCSCSSCSCCCCSSCCCCSCCSSSSCSCSCCCCSSCCSSCSCSSCCSCSCCCCSCCSSSCCCCCCSCSCSSCCSCCCSSCSSSCCCSCCSCSCSCSSCSSSSSSSSSSCCCCSCCSCCCCCSSCCCSCCCSSCSCCCCSCCCSSCCSSCSSCCSSSCSSCCSSCCCSCSSCCCSCCSCCSCSCSSSCCCCCCCSCCCSSSSSCSSCSCCSCCCCCSSSCCCSSCSCSSSCCCSSCSCCCSCSSSSCSSCSCSSCSSSCSSCCSCSCCSSCCSCSCCCSSSCCSSSSCSCSCCSSSCSCCCCSCSSSSSSSCCCCSSSCCSSSCSSSSCCSCSSSCCSSSCCSSCCCSCCCCCCCCSCSCCCCCSSCSSCSCSSSSCSSSCSCCCSCCSSSSSSSSCSSCSCSSCSSCSCCCCSCSCCSCCCSSSSSCCCSSSSCCSSSCCCSSCSCCSSCCSCCCCSCSSCSSCCSCSSSSSCSSSSCSSSCCCCSCCSSSSCCSCCCCSSCCCSSCSSSSCSCSSSSSCCCSSCCSSCSSCCSSSSSSSSSCCCCCCCCSSSSSSCCSSSCCSCSCSSSCSCSCCCSCSSCSSSCCCCSCSCCCSSSCCCCSCSCSCCCSSSSCCCCCSCCSCCCSSCCSCCSSSSCSCCCSSCSSSSCSSSSSCCCCCSCCCSCSSCSSSSSSCSSCCSSCSSSSCSSCSCSSSSSCCCCCCCSSSSCSCCCSSCCCCCSCCSCCCSCSCCCSSSCCCCCCCCSSCCCSSCCSSCCCSSCCSSCCSCCSCCSSSCSSCCSCSSSCSCCCSCSCCSSSCSCCSSCCCSCCSSCSCCCCSSSSCSSSSSCCSCSCCCCCCSCCSCCSSCSSSSSSSCCCSSSCSCSSCSSSSSCCSSCSSCSCSSCCCSSCCCSCCSCSSSCSCSSCCSCSCCSSCCSCSSSSCSCCCCSSCCSCCCCSSCSCCCCSCCCSSSSCSCSSCCSSCSCCCCSSSCSSCCCCSCCCSCCSSCCSCSCSCCCSSCCCCCCSSSCCSCSSSSCSCCSSSCSCSCSSCCCSCSSCSCSSSSCSSCSCCCSCCCSSSSCCSSSSCCSCSSCSCCCCCCSCCSSSSSCSSSSSCCSSCSSSCSCCSSCSCCSSCSCSSCSSSSSSSSCSCCSCSSCCSCSCCCSCCCSSCCSCCCSSSSCSSSCSCCCSCSCSCCCCCSSSCCSSCCCCCCCSCCCCSSCSSCSCSSSCCCSCSSSSCCSSSSSCSCCCCSCSCSCCCCCCCSSCSCSSSCSSCSCCSSCCCCSSCCCSCCCCCSSCSCSSCCSCSSSCSCSCSCCSSCCCCSSCSCSSSSCCCSCSSCCSCCCCSSCSSCCSSSSSCSCCSSSSCSSSCCCSCSCSSSSCCSCCCCSCSSCCSCSCSSSCSSSSCCCCSCSCCSSCCSCSSSCCCCCCSSSCSSSCCCCSCCSCCCCCSSSSSCCSCSSCSSCSCSCCSCCCSCSSSSSCSSCSCSCSSCSCCSCSCSSSCCCSSSSCCSSSCCCSCCSCCSSSSSCCSSSSSSSCSCSSSSCCCSCSCSSCSCSSSCCSCCCCCCSCSSSSCCCCSCSCSSCCSCSSCSCCCCCCSSCCCSCCCSSCSSCCCSCCCSCSCCSSCCSSCSCCSSCSCSCCSCSCSSCSSCSCSCCSSCCSCSCCSCSCSSCCSSCSCCCCSCCCCCSSCSSCSSCSCSCSSCCCSCCCCCCSCCSCCSSCSSCSSSSCSCSSCSCCCSSCSSCCCSSCSSCSCCCCSSSSSSCSSCCSSSCCSCCSSSSSSSSCSSCCCSSSSSSCCSCCSSSCCSSCSSSCSSSSCCSSCCSCCCCCSSSSCCSCSCCSCSSSCSCSSCSCCSCCSCSSSSCCCCSCSSCSCCCCSSSCSCCSCCSCCCSCSCCCCCSSCSSCSCCCCSCSSCSCSSCSSCCCCCSCCCSCSSSSSCCSCCSCSSSCSCSSCCCCCCCCSSSCCCSSSSCCCSSCCSCSCCCCSCSSSSCCCSCCSCCSCSCCCSCSSSSSCCCSSCCSCCSCCSCSSSCSCSSSCSSCSSCSCSCCCSSCCCSCSSCCCCSSSSCCSCSSSCSSSCSCSSSCSCCCSCCCCCSCCSCSSCCCSCCSSCSCSSCSCCSSCSSCSSCCCCSSSCSSCSSCCSCSCSSSSCCCSCSCSSSCSCSCSSSCCCCSCCCSCSCSCCCSCCCSSCSSCCSSSCSCCCSSSCCCCSSCCCSCSSSCSSSSSCSSSCSSCSSSCCCCSCCCSCCCCCCCSSCSCCCCSSSCSCSCSCSSSCSSSCCSCCCCSCSCCSCCCSSSCSSSCCCCSSCSSSSCCSSCSSSCSCSCCCCSSSCCCCSCCSCSCSSCCCSCCSCSCCSSCSCSCCCSCSSSSCSSSSSSSCSSCCCCCSCCCSCSSCSCSCCSCSSCCCSSCCCSCCCCCSSSSCCSCSCSSSCSCSSCSSCSSSSCSCCCCSCCSSSSSSSSSSCCSSCSSSSCSSSCSCSCCCCCCSSCCCCCCSSSSCSSSSSCCSCCSSSSSSSSCSSCSCCSCSCCSSCSSSCSCSSSCCCSCSSSCCCCSSCSSSSCSSSCCCCCSCSCCSCCCSSSCSSCCCCCCSCCCSSSCSCCSSCSSCSSSCSCCSSCSCSCCCSSSCSCCCCCCCCSCCCSSCSSCCCSSSCSCSSSSCSCSSSSSCSCCCSCCCSSCSSCCSSCSCSCCCCSSSCCCSCSCCSSCCCSCSSCSCSCCSSSSCCCCCSCSCCSCCSSSSSSCSSSCCSSCSSSCCSCCSCCSSCCCCCSCSCCSSCSSSSCSCSSSSCCSSSCSSCSSSCCCCCSCSSSCSCCCCCCCSSCSSCSSSCSSSSCCCCSCSCCCSSCCSCCSSCSCSSCCSCCCCSCCCSSCSCCCSSCCCCCSCCCCSSCSSSSSSCSCCCCCSSSCSSSSSCSCSSCCSCSCCSCSSSCSSCCCCCSSCSSSSSSSSCCCSSSSSCCSCCCCCCCCSCSSSSCCCCSSCCCSCCSCCSCCSCSCCSCSCCSCSCSCCCSCSCCCSCCCCCCCSSSCSCCCCSSSSCSCCSCSSCCCCCSCCSSSSSSSSSCSSSSSCSCSSSCCSSSCSSCSSSCCSCCSCCSSCCCCCSCCSSCSSSSCSSCSSCCSCSCCCSCCSCSSSCCCCCCCCSSSSCSCSSCSSSCSSCSSSSCSSCCSCCCSSCSCCCSSCCSCSCSCSCSSSSSSSCSCSSCSCSCCSSSCCCSSSCSSSSCCSCCCSSSSSCCCSSCCSCCSCSSSCSSCSCCSCCCCSCSSCCCCCSCSSSSSSCCSSCSSSSCSCSCCSCSCCCCCSCCSSSCSSCSCSCSSCSCSCSCSSCSCSSCSCSSSCSSCCCCCSCCCCCSCSCSCCCSCCSSCSSCSCCCCCCCCSCSCSCCSCCCCSCCSSCSCCSSCSCCSSCCSCCCCSSCCCCSCSSSSSSCCCSCCSCCSCSSCSSCCSSSSCSSSCSCSSCCSCCSSSSSCSSSCCSCCSSCCCSSSSSSCCSSSSCCCCCCCSCCCCCSCSCCSSSCCSCCSCSSCSSSSSSSSSSSSSSSCSCSCCCCCCCCSSCCSCCCSSSSCCCSSSCSCCSCCCCCCSCCCCCCCSSSSSCCSCCCSSSSSSCCSCCSCCCCCSCCCCSCCCCSCSCCCSCCSCSSSCCSCSCCCCCCCSSSCSCSSSSSCSCSSCCCSCCCCSSCCCSSSCCSCSCSSCSSCCCCSCCSSSSCSSSSSCSSSCSSCCCSCSCCCCCCCSSSCSSSSSSSCSSCSSSSSCCSCSSSSSCCSSCCCCCSSSCSSCSSSSCCSCCCSCCSCCCSCSSSSCCCCSSCCSSCSCCCSCCSCSCCSCSSSSCSSSSSSSCCCCSCSCSCCSCCCCSCCSSSCSCCSCCSSSSSCCSSCCCCSCCCSSSSSSSCSSCSCCSSSSSSCSCSCCCSSSCCSSCSSSSSCSSSCSSCSCSSSSCSSSCSCCSSSCSSSCCSSSSSSCCCCCCSSCSCCSSSCCCSSSCCSCCCSCCSSSSSCCSSCCCSSSCSCSCSSCCSSSCSCCCSCCCSCCSCSSCSCSSCCCSSSSSCSCCSSSCSCCSSCSCSCCSCSSCCSCCCCCCSCSCSSCCSCCSSSSSSCSCSSSSCCCCCCSCCCSCSSSSSCSSSCSSCCCSSCCCCSCSSSSSSCCSCCCSCSSCSCSCSSCCSSSCCCCCSCCSCSSCSSCCSCSSCSSSCSSSSCCSCCCCSSCSCSSCCCCCSCCCCSSSSSCSCCSSSSSCCSCCCCSSCSSCSCCCSSSCCSSSSSSCCCCSSSSSSCSCSCSSSCSSSCCSSSSCSSCSCCCCSCCSSCSCSSSCCCSSCSSCCSSSSSCSCSSCCCCSSCCCCCSCCSSCCSCCCCCCSCCSSCCCSCCCSCSCSSCCSCSCCSCCCSCCSSCSSSCCCSSCCSSCSCSSCSSCCCCSSSCSSSCCSCSCSSCSCSSCSSSCSCCSSSSSCSSCCSSSSCCCCSCSSSSSCCSSCSSCSSCSCSSSSCSCCSSCCSSCSCCSCCSSSSSCSSCCCCSSCSCSCCCSCSSSCCCSCCCSCSSCCSSSSCCSCSCSSSSCSCCCSSCSCSCSCSSCSCCSSSCCSSSCSCSSSSSCSSSCCCCCSCSSCCCCSSCCSSCCSSCCSSSCSCCCCSCSSCSCCSCSCSSSCCSCCCSSSCSSSCSCCCCCCSCCSSSSCCSCSCCCCCCSSSSCCSCSCCCCCCCSSSSSSCCSSSSSSSSCCCSCSSCCSCSSSSSSSCSSSSCSSSCCCCCSCCSSCSCSSCSCCSSCSSSSCCSSCSSCSCSCSSCSCCSSSCSCCSCCSCCSSCCCCCCCSSCSCCSCCSCSSSSCSCSCSSSCCCSCSCCCSCSCCCSSCSSSSSSSSSCCSCSSCSCSCCSSCSCSSSSSSCCCCSSSSCCSSCCCSSCSSSCCCSSSSSCCCSCSSCCSSCSSCCCSCCCSCSCCCSCSSSSCSSSCCCSCCSSSCSCSCCCSSCSSSSSSCCSSSCCCSSCCCSSSCCSSSSCSSSCCCCCCCSSCCCCCCSCCSCCSCCCSCCCSSSCSCSCCCSSSCSCSSCCCSCSCSCCCSSCCSSSSSSSSSCSSCSSCSCCSCSCCSSSSSCCSCSSCCCSSSSSCSCSCCCSCSSCSCCSSSSCCSSCCSCCCSCCSSCSCSSCSCCSCCSSCCSSCCCCCSSSCCCCCSCSSCSSCSSCCCSCCCCCCCSSCCSCSSSCCCCSSSCCCCSSCSSCSSCSSCSCCCSSCSCCSSCSCSCCSCCSSSSSSCCSSSSSCSCSSSSCCCCCCSSCSCSSCSSCSCSSCCCSCSCCSCSSSSCSCSSCCCCCSSSCSSSCSSCSCSSSCSSCCCCSSSSSSCCCSSSSSCCSCSSCSSSSCCCCSCCCSSCSSSCSSCSCSSCCCSCCSCCCSCCCSSCSCSCSCSCCCSCCCCSSSSSSSCCSSCCCSSCSSSCSSCCCCCCSCSSCCSCCSSSCCCSSCSCCSCSSCCSSSCCSCCSSCSSCSCCSCSCCSSCCSCSSCSSSSCSSSSCSCCCSCCCSCCSCCCSSSSCSCSSSCCSCSCCCSSSCCSSCSSCCCSCCSSCSCCSSCCCCSCSCCSSCSCSCCSCSSCCCSSCSCSCCCCCSSSCCCCSCSSCCCSCSSSSCCCSCCSCCCSSSSSSCCSSCCCSSSCSSSCCSCSCSCCSSCSCCCSSSSCSSCSSCSSCCCCSCSCCSCSCSCSSSSCCCCSSSSSCSSSSCSSSCSSCSCSCSCCCSSCSCSCSSCSCSSCSCCSCSCCCCCSSSCCCSSCCSCCSSCSSCSCSSSCCCSCCSCSSSSCSSCCSCCSCCSCCCCCCCCSSCCCCCSSSSSCCCSSCCSSCCCCSCSSCCCCSCCSSSSSCSCCCCSCSSCCSCCSSCCSCCCCSCCCCCCSSSCCCCSCCSCSCCSSCCSCCSCSCSSSCSCCCCCCSSCCCSCCCSSCSCSSSCCSCSSCCCSCCSSSSCCSCSCSCCCCSCCCSSCSCSCSSSSSCSCCSCSCCCCCSCCSCCSCSCCSSSCCCCSSSSCCSSSCCCCSCCCSSSSSCSCSSCSCCCSCSCCSCCCCSSCSCSCCCCCCCCCSSCCSCSSSSCCCSSSSCSSSSSSSSCCCCSCCSCCSCSCSSSSSSSSSCSSCSSSSCCSCCSSSCCCSCSCCCSSCCCSCSSCSCSSSCSCCCSCSCCCCSSCCSSCCCCCCSCCCSSSSSSCSCCCSSCSCSCSCSCCSSCCSSCCCCCSCSSCCSCCCCCSSCSCSCSSSSSCCSCCCCCSCCCSSCCCCSCSSSSSSCSSSSSSSCCSSCCSSSSCCSCSCCSCCSSCSCCCCCSCCCCCCSCSCCSSSSCSCSSCCCCSCSCSSSCCSSSCCSSSCSSSSSCCSCSCCCCCCSSSCCSSCSCCCCSSSSSCSCSSSSSSSSCSSSCSCCSCCCSCSCCSSCSSCSSCSSCSSSSCSCCCCCSCCSSCSCSSCSCCSCSCCSCSSCCCCSSSSSCSSCCSCCSCSSCCSCSSSSSCSSCSCSCSCSCSCSCSSCSSSCSCSSSSSCSSSCCCSCCSCCCCSSCSCCCCCCCSCCCSCSCCSSCCSSCCSSSSCSCSSSCCSSSSCCCSCSSSCCCSSSSCSSCCCCSCSSSCCCCCSCSCCSSSCSCSSSCCSSSCSSSCSCCCSSCSCCSCCCCCSCCSCCSCCCSSCSSCCSSCSSSSSSCSSSSCCSCCCSCCSSSSCCCCSSCCSSSCCCSSSSSCCCCSSSSCSCSCCCSSSCSCSCSCSSSCSSCSCCSSCSCSCSCSCCCSCSCCCSCSSSCCSCCCSCSCCCCCCSCCCSSSSSCSCSSCSSSSCSSCSCCCCSSCSSCCSSSCSSSCCCCSCCSSSCSCCCCCCCSSCSSCCCCSSSSCSCCCCSCSCSCSSSSSSCSSCSCSSSSSSSSCCCCCCSCSCCCSSSCSSCSCCSSCSCSSSSCSCCSCCCSSCSSCCSCCCCSSSCSSSSSSCSCSSCCSSCSCSSCSSCSSCCCSCCSSSCSCCSSCCCCSSCCSCSCCCSSSSCSCSCCCSCCCCSSSCCCCSSSSSSCCCSCCCCCSCSCCCSCSSSSSSCCSSSCCCCSSCSCSCCSCSCCCCCSCCCCSCSSCSCSSSSSSSSSCCCCCSCCSCSCSSCSSCSCCCSSSSCCSSSSCSSSSCSCSCCSSSSSCSSSSCSCSSSCSCCCSSCCSCSSCSSSSSSSCSSCCSSCSCCCCCSCCSSSSCSCSSSSSCSCSSCSSCCCCSSSCSCCCSCSSSSCSCCSSSCCCCCCSSCCSCSCCCCCCCSCSSCSCCSCSSCSCCCCSSCSSCSCSSSSSSCCCCSSCSSSCCSCSSSCCCSSSCSSCCCCSCCSSCCCSCCCCSSCSCCCSCCCSCSSSSSCCCCSSSSCCSCSSSSCSSCSSSCCSSSCCSCCCSCCCCSCCCCSCSCSCSCCCSCSSSSCSSCCCSCSCCCSCCCSSSSSSCCSSCCSCSCSSCSSCCSCSCSSCSCSSCCCCSSSSCCCCCSCCSCSSCSSCCCCCSCCCCSCSCCCSSSCCCCCSCCCCSCSSCSCCSSSCSCSSSSSCSSSCCSCSSSSCCSCCSSCCCSCSCCSCSCCCSCCSCSSCSSSSCCSCSCCSCSSSSCCSCSCSCSSCSSCSCCCCCCCSCSSCCCCCSCSCCCCSCCSCSSCSCSCCSCSCSSCSCCCCSCSCSSSCSSCCCSSCCCSCSCCCCCSSSCSSCCCSSSSCCSCCCCSSSSCSCCSSSCCCCSCSSSCCCCSCSSSCCSCCSSSSCSSSSSCSSSSSSSCCCSCCSCCCCSCSCCCSSSSCCSSCCSSSSSCCCCCSCCCCCCCCSCSCCSSCCSSSSCCSCSCCCSCCSCCSCSSSCSSSSCSSCSCCCCSCCCSCCSSSSSCSCCSCSSSCCCSSSCSSCCSCSCCCCSSSSSCCSSCCCCCSSCCCSCSCSCSSCCSCCCSCCCCCSSCCSCSCSCCCCSCCSSSCCCCSSSCSCSCCSCSCSSSCCSSSCCSSCSCSCCCCCCCCCSCSSSCSSSCCSSSSSCSCSSCCSCCCCSSSSSCCSCSSSCCCCSCCSSCSCSCCCCCCSCCSSSSSCSCSCSSSSCSSCCCSCSSCSCCCCSCCSSSCCCSSCSCSSSCSSCCCCCSSSSSSSSSCSSCCCSCSCCSCSCSCCSCSSSSCSCCCSSCSSSCCCCCCSSSSCSCSSSSSSSSSSSCCCSCCSSCCSSSSCCCCCCSCCCCCSCSCSSCSSSSSCSCSSCSSSSSSSSSCSSSCSCSSSCSSCSSSSSSSSSSCSCCCCSSSSSCCSSSSSSCSSSCCSCCSSSCCSSCSSSSSCCCSSSSCCSCSSSSCCSCSSCSCSCCSSCCCSCCCSCSCSSCSCCCCCCCSSSSCSSCCCSCCSCCSCSCSCSCSCSSCSSCSCCCCSSCSCSSCSCSSCCCSSSCCCSSSSCSSCCCCCCCSCCSSCSCSCSSCCSSSSCCSSCCCCCSSSSCCSCSCSCSCCCSCSCCCSCCSCSSCSSCCCCCCSCSCSSSSCCSSCSCCCCSCCCCCCSCSSSCCSCCSCSCSCCCCSCCCCCSSSCSCCSSSCSCSCSCSCSSSCSSCSSCCCCSCCCSCSSSSCCSSSCSSSCCCSCSCSCCCSCSSCSCSSCCSSCSSCCCSCSSCCCSSSCSSCCSSCSCSSSSSCSSSCSSSCSCSCSSCSSSSSSCSSCSSSSSCCCCCSSSCCCCCCSCSCSSCSSSCSCCSCSCCSCSCSCCCCCCSSSCCSSCSSSSSSSSCCCCCCCCSSCCSSSCSCCCCSCSCSSSCCSSSSCCCCCCCCSSSSCSSSCSCSCSCCCCSSCCCCCCCSCSCSSCSCCCSSCSSCSSCSCSSCCSCSCSCCSSCCSCCSCSCCCSSCSSSSSSSCSCCSSSSSCCCSSSSSSCSSSCSSCSSCSSSCCCCCCCCSCCCSCCSSSCCSSCCCSSCSCSSSCCSSCCCCSSSSSSCSCCSSCCCSSSSSCCSSCSCCSCSCCSCSSSSCSCCCSCCSSCSSSSSSCSCCSCSSCSSCCSSSSSCSSSSSSSCCCSCSSCSSCSCCSCCCCSCSCSCSSCCCSCCCCCCCSSSSCSSSSCCSCCCCCSSCSSSCCSCSSCCSCSCSCCSCSCCCSSCSSCCSCSCSCCSCSCSSSCCSCSSCSCCCCSCSCSCCSCSSCCSCSSSCCCSSSSCSCSCCCSCSSCSSSCCSCSCSSCSCCSSSCSCSCSSSCSCCCSSSCSCSSSCCSCSCCCCCCSSCCSSSSCCSCCCSCSCCSSCSSSSCCSCSSCSCCSCCCSCCCSSSSCCSSSSCSSSSSSSCSCCCCCSCSCSCSCCSSSCSSCCCSSSSSCSCCSCCSCCSSSSCSSCCCSCCSCCCSCSSCSSSSSSCCCCSSCCSSSCSSSSSSSSSCSSCCSSCSCSCCSSSSCSSSSCCCCCSSSSSSCSCSSCCSSSCCSSSCCCSSCCSSSCCCSSSSCSCCSCCCCCSCCCSSCCSCCCCCCCCCSSSSSCCCCSSCCCCCSSCSSSCSCCSCSCCSSSCCSSCSCSCCSSSSCCCSCCSSCCSCSSCCSSSCSCCCCCSSCSCSSCCSSSSSSSSSSSCCCSCCSCSCSSCSSCSSCCSSSSCCCSSCCSCSSSSSSSCSSSCSSSCSSCSCSCSSSSCSCCCCCCSSCCCSSCCCCCSSSCCCSSSCCCCSSCCCSCCCSSSSSCSCCSCSCCSCCSCCSCCSCCSCCSSSSCCSCCSCCSSCCSCSSSSCCCSCSCSSCSSCCSSSSSCCSSCSSCCCSCSCSSSCCCSCSCSSSCSCSCSCCSCSSSCCCSCCCCSCSSCSCCCSSCCCCSSSSSSCSCSCSSCSCCCCCSCCSCSCSCSCCCCSSCSSSSSSSCSCCSCSCCCSCCSCSSSCCCSSSSSCCCCCSSSSSSCSCSCCCCCSCCSCCCSCSSSSCSSCSSCSCCSSCCCCSCSCCCCCSCCSCSSCCSCCCCCCCCSSSSSCCCCCCCSCCSSCSSCSCCSCCSSCSCCSCCCCSSCCCCCCCSCCCCCSCSSCSCCCSSSSCSSSCSCCCCCSSSCSCCSCSSSSCSSSSSCSSCSCSSCSCSCSCCSCSCCSSSSSCCCSCSSCSCSSCCSSSCCCSCCSCSCCSCCSSSSCCSCCCSSCCSSSCCSCSSCCCCSSCCCCCCCSCSSSCSCSCSSCSCSCSCCSSCCSSCSCSCSCSSCCCSSCCCCCCSCCSSCSCCSCCSSCCSSCCSCSCSSSSCSCSCSCSCCCCCSCCSCCSSSSSSSSSCSCCSCCSSCCSSCSSCCSCSCSCCCCCSCCCCCCSCCCCSSCCCCCCCCCSCCCSSSSSSSSSSSSSSSSSSSCCCCCSSCSSCSSCCCSSCSSSCCCCCCSSSCSCSSCSCSSCSSCCCSCSSSCCSCSSSCSCCSCSCCCSCCSCCCCSCSCCCCCCCCCSSCCSCCSSCSCSCCCCCSSSSCCCCCSCCSSCSCSCCSCCCCSCSSSCSCCCSCSCSCSCCCCSCSCCCSCSSCSSSCCSCSSCCSCSSCSSCCSCSCCCSCCCCCSSSCCSSCCSCSSSCCSSSCCCSCSCCCCSCCCCSCCSCCSCCSSSCSCCSSSCSCCCCSSCSCSSSSCCCSSSCSCCSCSSCCSSSSCSCSCSCCCSCCSCSSSCCCCSSSSCCSSCCCCSSCCCSSCCCCSSSSSCCSCCCCSSSSSSSSSCCSSSCCCSCCCSSCSCCSCCSSSSSSSSCCSSCSSSCSSSCSSCSSCCCCCSCCSCCSSSCSCSSSSCSSCCCSSCCSSCCCSSSSCSSCCSCCCCSSCCSCCCCCCSSSCSSCCCCSSSCCCSSCCSCCSCSCCSCCCCCSSCCSCSCSCSSCCSSCSSCCSSSSCSSSCSSSCCCCCSSCCCCCCCCCCSCCSCSCCCCSCSSCCCCCSSSSSSSCSSSSCCSSCCSCCCSCSCCCCCCCSCSCCCSSCCSSCSCSCSSSSSCCSSSSSSSCCSSCSCCCCCSCCSSCCSCCSSCCSCCSCCCCCSCSSSSSSSCCCSSSSSSCCCSCCSCSCSSSSSCSSSSSCSCCSSSSCSCCCCSCSCCSCCSCSCSSSCSCSCSCCSCCCSCCSSCSSCCCCCCCCCSSSCSSSSSCCSCCCCCCSCSSCSSSCCCSSSSSCSSCSSCCCSCSSCSCSSSSSSSCCCSSSCCCCCSCCCCCCSCCCSCSSSCCSSSCCCSCCSCCCCCSCSCCCCSSCSSCSSCCSCCSSSCSCCCCCCSSCSSCCCSSCCCCCCCSCSSCCSCSSCSSSCSCSCCCSCCSCSSSSCSCCCCCSCCSCSSCCCCSCCSSSCCCSSCSSSSCCSSSCSSCCCCCCCCCSCSSCCSSSSSSCSSCSSSSSSCSCSCSSCCSSCCCSCCSSCCSSCSSSSCSSSCSCSSCSCCCCSSSCSSSCCSCSCSCCSCSSCCCSCSCSSSCCSCSSSCCCSCCSSCSCCCSCSCSSCCSSSCCCCCSSCSCSCCCCSSCCCCCSSSSSSCSCSSCCCCSCCCSCCCCSCSCSCSCCCSSSCCCCCCCSSSSSSSSCCCSCCCCSCSCSSCCSCCSSSSCCSCCSCCSCCCSSSCCSSSCCCSCSSSSCSCSSCSCCCCCCCCSSSCCCSSCSSSCCCCCCCSCSSCCCCSSCSSCCSSSSSCSSCSCSSCSCSSSSSSSCSCCSCSSCCSCSSCCSCCCCSSSCCCSSCCSSSSCCCCCCSSSCSSSCCCSCSSCSSSSCCSCSCCSCCCCCSSSSSSCSCCCCCCSCCCCCSCCSSCCSCCSCSSCSSSSSSSCCCSSCCCCCCCSCSCCCSSCCSSCCSSSCCCSCSSCCCSCCCSSCSSSCCSCSCCCCSCSSCCCSSSSCCSCCSSSCCCSCCSSSSCSSSSCSSSSSCSSSCCSSSCSSCCCSSCCCCCCCCSCSSCCSSCSSCCSCSCSCSSCCSCCSCCSCSSCSSCSSCCSCSCCSSCCCCCSSCSSCCCSCCCSCSSCSSCCCCCSSCCCCSSCSCCSCSSCCCCCCCCSCCSSSSCSCCSSCSCCSSSCCCCCCSCSCSSCSCSSCSSCSSCCSCCSSCSSCSSSCCCSSCSCSCCSCSCCSCCCCCCCSCCCCSSCSSCSCCCCSSSSCSCSSCSSCSCSSCCSCSCCCSCCSSCCCCSSSSSSSSCCCSSSCCCSCSCCSCCSSSCSSCCSCSSSCSCSCSCSSCSSSSCCSCSCCCSCSSSCCCCCCCCCSSCSSSSSSSCCCSCSSSSSCSSCCSSCSCCCCSCCSSSSSCSSSSCSSSCSCSCCSSCSSSSSSSCCCSCSCCCCSCSSCSCCCSSSSSCCSSSCSSCSCSSSCSSCCCSCSCCCSSCSCCSSCSSSSSCSCSCSCSSSCCSCSCCCCSSSSCSCCSCSCSCCCSCCCSCSSSCCSCSCCSCSSSSCCSSSCSSCSCCCCCSCSCSCSSCSSCSCSCCCCCCSSCSCCSCCCCSCSSSSCCCCSSCCSCCCCSCSCSSSCSSSCCSCSSCCCCCSCCCSSCSCSSCCSSCSCCCCSSCCCCCCSSSCSSSSCSSSCCCSSSSCCSSSCCCCCCSCSCCCSCSSCCCSSSSSSCSCSCSCSSCSSSCCCSSSCCSSSCCSSCCCSSCSSCSSCCSCCCSSSSCSSSSCSCSSCSSCSCCSSSSSCCSCSCSSCCCCSSCCSCSSCSSSCSSCCCSSCCCCCCCCCSSCSSCCCSCSSCSSCCCCCSCSSSCSCCSCSSSCSSSCCCSCCCSCSCSCCSCCCSSCSCCCSSCSCCCCSCSCCSCCSSCCSSSCSSCSSSSSCCCCSCSCCSSCCSSSSSCSCCCCSSCCSSCSCCCCSSCCSCCSCCSCSCCSSCCCSCCSCCSSCSSSCSSSCCSSCCSCSCSSSCSSSSSCCSCCCSCSCSCCCSSSCCCSCSCCSCCSCSCSCSSSCCCCSSSCSSCSSCCCSSCCCSCCCCCSSCCCSSCCSCCSSCCSSCCSCCSCCCSCCCSCSSCCCSSSSCCSCCCSSCCSSCCSSSCCSCCSCSCSCCSCSCSCSCCCCCSCSCSCSSSSCCCSSCSSCCCSCCSCSCCSSSSCSSCSSCCSSSCSCSCSCSCCSSCSSCSCSCCSSCSCSCCSSCCCCCCCSCSSSCCCSSCSSCSSSCCCSCSSCCSSCSCCCSCCCCSCCCCSSCCSSCCCSSCSCCSCCSCSSCSCCCCSCSCSCCSCSSCCSCCCCSCSCSSSCCSCSSSCCCCCCSCSCSCSCCCCCSCSCCCSSSSCCCCSSCCCCSCSCSCSCCCSSSCCCCCCCSSSCCCCSSSSSCSCCSCCCCSCCCCSSCSCSSCSCCCCCCSCCSSCCSCSSSSSCSSSSCCSCSCSCCCSSSSCSSCSCCCSSCCCSSSCCCSCSSSSSSCCSCCSCCCCSSSSSCCCSCCSCSSCCCSSCCSSSCSCSSSCSCCSCSCCSCSCSSSCCSCCCSCSSCSCSSSCCCSCCSSCCSSSCCSSCSCSSCSSSCCCCCCCCSSCCCSCCCCCSCCSSSCCSCSCCCCSSSSSSCCSCSCSCSCSSSSCSCSCCSCCCCSCSCSSSCCCSCCCCSCSCCSCCSCSCCSCSCCCSCCCCSSCCCSSSSCCSSSCSCCCCCSSSSSSSSCSCSCCCSCSSCSCCCSCSSCSCSCSCSCSCCCSCCSCCCCCCCSSSCCCSCSSSCSCSCCCCSCCCSSSCSCCCCSSSCSSSSSSSSSSCSCCCSSCCCSCSSSCSCCSCSCSSCSSSSCSCCCCCSCSSCCCCCCSCSCSCSCCCSSCSSCCSSSSCCCSCSSCSCSCCCCSCCCCSCCSSSCCSSCCCSCSCSCSSSCSSSCSSSSCCSSCCCCCCCSCSSSSCCCSSCSCSSCSSCCCSSCSSSSCCSCCCSSSCCSSCCCSSSCCCCCSSSCSSSSCCCCSSCCCCSCCCCSSCCSSCCCCCSSSSSSSSSCSSSSSSCSCSCCCSSCCSSCSCSCCSCSCCSSSCSSCSSCSSCCCCCSSSCSCSSSSCSCSCSCCCSCCSCCCSCCCSSSSCSCSCSCCSSCSCSSCSSSSSSCCSSSSCCSCCCCSCSCCSCCCCCSSCSSCSCSSCCCCCSCCCCCCCSCSCCCCSCSCCSSCSCSCCSSSSCSSSSSSSSCSSSCSCSSCCSSSCSCCSSSCSSCSCCCSCSCSCCSCSSCCCCCCCSSSSCCSCCCCCCCSSCCCSCCSCSSCCSSSSSSCCCCCSSSCCSSSSCCSSSCCSCSSSCSSSCCCCCSCCSCCSSSSCCCCCCSSSCSSCCCCSSCCCCCCCCCCSCSSSCSSSSSSSCSCSSSSSCSSSSSSSCCCCCCSSCSCCSSSCCSCCSCSSCCSCCCCSCSCSCCSCCSSSSSSCSSCCSCCSCCCCSCSSCSCCSSSSCSSCSSSCSSSSCCSSCCCSSCSCSSCSSCCCSSCCCSSCCSSSCSSCSCCSSCSCCCCSSCCSCCCCCSCSSSSCSSCSCCSSSCCCSCCCSSSCSCCCSSSCSCCSCCCSSCCSSSSCSCCCCCSSCCSSCSCCSSCSSCCSCSCCCCCCSSCSSCSSCSCSCCSCSSSCCSCSSCCCCCCCSSCSSSSCSSCCCSSSSCCSCCSSSSCSSSSCCSCCCCSSSCCSCSSCCSCSCCCCCCSSCCSSCSSSCSSCCCSCSCCSCSSCCCCCSCSCSSSSSSSSSCSCSSSSSSSCCCSSSCCSCCCCCSSCCSSSCSCCSSSCCCCCSCSCSSSCCCSSCCSCSSSCSCCCSCCCSSSCSSCSSCCCSCSSSSCCSCSSCCSCCSSCSSCCCSSCSSCCSCSSSSCCSSSSSSCCCSCCCCSSSCSSSSSCSSSSCCCCSSSSSSSCSSSSCSSCSSSCSCSCSSSCSSCCCSSCCSCCSSCSCSSSCCSCSCCCCCCCSSCSCCCCSSCSSCSSCSSSSSSSCCSCCSSCSCCSSCSSSSCCCSSSSSCSSCSCSCCSSCCSSSCCCSCCSCSSSCCSSCSSSSCSCSSCCSSSSSSCSCCCSSCSSCSCSSSSSCSCSSCCCSSCCCSCCCSCCSSCSCSSCCCCSSCCSCSCSCSSCCSSCSSCSCSSCSCSCCSSCSSCSSCCSSCCSSCSSSCSCSSCCSSCSSCSCSCCCSSCSSSCCSCSCSSCCSSSCSCSCCCCCCCCSSCCSSSSCCCCCSCCSSSCSSSCCCSSSCCSCCSSCCCSSSSSCCCCCCSSCCCCSSCCCCCCCCCCSSCSSCCSCSSCSSCCCCCCCCCSCCCSCCSCSSCSSCCCCCSCSSSCCSCCSSCCCSCSSCCSCCCSCSCCSCSCCSSSCCCSCCSCSSSCSSSCCCCSCSSSCCCSCCSSCSCSCSCCSSCCSSSSCCCCCSSSCCCCSCCCSSCCSCSCCSSCSCCCCCCSSSCCCCCCCCCSCSSCSSSCCCCSSSCSSSSSCCCCSCSCCSSSCCCCCSCCCCSSSSSSSCCSSSCCSSCSSCCSCCCSSSCCSCSSCCCCSCCSSCSCCSSCCSSSCCSCCCCSSSSCCSCSSCCCSSSSCSSCSCSCCCCCCSCSSSSSCCCCSSSCCCCCSCSCSSSCSCCSSCSSSCCSSCCSCCCCCCCCCCCCSCCSCCSCSCSSCCSCCCSCCCCCSSCCSSSSSCSCSCCCSSCSSSSCCSSSSSSSCCCSCSSCCCSSSSCCCCSSSCSCSCCCSCSCSCCCSSCSCSSCCCCCCSSSCSSCSSCCCSCCCCCCCCCSSSSCCSCSCSCCSCSCSSSSSSCSSCCSSSCSSSCCCCCSSSCSSCSCCSCCSSSSSCCCSSCCCCCSSCSSCSCSSCCSCSCCSCCSCCCCSSSSSCSSSSCSCCSSSCSSCSSCSSCSSSCSSSSCCSSCSSCSCSSSCSCCCCCCCCSSSSSSCSCSSSCCCSCSCSCCSSCSSCCCSCSSCSSSSSSSSSSSSSCCCSSSSSCSCCSSSSSCSSSCSCCCCSCCCSSSSCSCSCSCCSCCSCCCSSSCCSSSSSSSSSSCCCCCSSCSCCCSCSCCCSCSCSSCCSSSSCSSCSSCCCSSSCCSSSCCSSCCCSCSCCSSSSCCSSSSSCSCSSSCSCCCCSCCSSSSCCSSSCSCSSSSCCCSCSCCCSCCCCSCCSSCSSSSSSCSSSSCSCCCCCCCSSCSSSCSCCSSCCCSSCSSSSCSCSSSSCSSCSCSSSCCSCSSCSCSSCSCSCCSCSSSSCCSSSSCCCCSCSSSSSSSCSSCCSCCCCCCCSCCSSCSSSCCCSSSSSSSCCSSSSSCCCCSCCCSCSSCSSCCSCCCCSSCCSCCSCCCCCCCSSSCSCSSCSCSCSCCSCCCCCSCCSSSCSCCCSSCCSSCSCSCSSCSCSSCSCSSCCSSCCSCCSSSSSCSCCCCSCSCCCSSSCCCCSSSCSSSSSCSSCSSSCCCSSCCCCSSCCSSCCCSCSSCCCSSCSSSSCSCSCCCCSCSSSSCSSSCCCCCSCCCSCSSSSSSCCSSSSSCCCSSCSCSCSSCCSCCSCCCSCCCCSSSSCCSSCSCCCSSSCCSCCSCCSSCSSCCSCSCCCSCSCCSSSSSCSCSSCCSSCSCCSCCCCSSCCCSCCSSCSCSSSCCSSSCSSCCCCCCSCCCSCCCCSCSSCSCCSCSSCCSSCCSCSSSCSSSSSCSSSSSSCCSCSCCSCCCCSCSSSCSSCSSSCCSSCCSCCCSSCCCSCSSCCSCCCCSCSCSSCCSSSCCCSCCCCCSCSCSCCCCCSSSSSSSSCSSCCCCSSCCSCSSCSSSCCSSCSCSSSSSCSCSSCCSSCCSCSCSCCSSCCCCSCCSCCSSCSCCSSCCSCCSCSCSCSCSCCSCCCSCSSCSSSSSSCSCSSSSCSCCCSSCCSCSCSCCCSSCSCSCSSSSCSCCSSSSCCSSSSSSCSSCCSSCCCCCCCSSSSCSCSSSCCSCCSCSSSCCCCCCCSCCCSCCCSSSCSSSSCCCSCSCCCSSSCCSCSCSSSSCCSCCSSSCSSSCCSCSCCSCSCCCCCSCSSSCSSCCSSSSCCSCCSCSSSCSSSSSCSSCCCSSSCCCCSCSSSCSCCSCCSCSCSSSCSCCCCCSCSSCSSSSCSCCCCCCSCSSCSSSSSCCCSCCCCCCSCCCSCCCSCCSSCSSSCSSCCCCSSCCCCSCSSCCCCSSCCSSSSCSSCSCCSCCSCCCSSCSCCSCSSSSCCCCSSSSCCSSSCCCSCCSCSSCCCCSCCSCCSSSSSSCSSSSCCSSSSCCSSCSSSCSSSCSCCSSSSCSCSCSSSCCSSCSSSSCCCCCCCCCCSCCSSSCCCCSSCCSSCSSCSSSSCCSCCSSSSCCSCCSSSCSCSCSSSSCSCSCCCCCCCCCCSCSSCSCCSSCCCSSSCSSCCCSSCSSSSCSSSSCCCCSCSSCCCSSSCSCSSCCCCSCSCCSCSSCCSCSCSSSCCCSSSCSSCCCCCCSSSCSSSCSCSCCCSSCSCSCSCSCSSSSSCSCCSCSSSSSCSCSCSSSCCCSCSSSCSCCSCCCSSSCSCCCCCSSSCCCSCSCCSSCCSCSCSCCCSSCSCCSCCSSSSCSSSSSSCSSCSCCCSCSSCCCCSCCSCCCSCSSSSCSCSSSCCSCSCSSCCSCCCSCSCCSCSSCCCCSCSSCCCSSSSSSSSCCSSSSCSCCSCSCSSCCCCCSSCSCSCCSCCCSSCSCSCCCCCSCCCSSCSCCCSCCCCSSSSSSCSCSSCCSSSCCSCCCCSSSSSCSCSCSCCSCSCCSSCSCCCCCCSSCCCSCCSCCCCCCSCCCCCCCCCCSCCCSSCSCSSSSCSCSCSSCCSSCCSCCCSCSSCCCCSCCCCSSSCSCSCCCSCCCSCCCCSCCCSCSCSSSSCCCCSSSCSCCSSCCSCCSSCSSSSCCCSCCSCCCSSSSCCCSSSCCSCSSCCSSCSSSSCCSCSCCSCCCCSCSSSSSSSCCSSSCCCSSCSSSSCSCSCCCSSCCSCSCCSCCSCCCSCCSCCSCCCSCCCSCSSSSSSSSSSCCCSCSSSSCCCSCCCCCSSSSSCSCCCSCCCCCCCSCSSCCSCCCCSSCCSSCCCSSSCCSSCSCSCCSCSSSSSCSCCCCSCCSCSCSSCSCSSSSSSCSSSSCSCSSSSSSSSCSCCCSCCSCCCSCCSSCSCCSSSSCCSCCSSCCCSSSCSCCSCSSSSCSCSSCSCCCCCCCCSSCSCCCSSSCSSCSCSCCSCSSCSSCSSCSSSSSSSSSSCSSSSSSSSCSSCSSSSSCSSSSCSSCSCSCSSSCSSCSCSSCCCCCSCCSSCCCSCSCCSSCCSSSSCCSCCCCSCCCSCSCSCSCCSCCSSCSSCSSSCCCSSCSSSSSCCCSCSCCCSCCSCSCSSCCSCSSSSSSCSCCCSCSCSCCSSSSSSSSSSCSCCCSCSSCSSCSCSCSSSSSSCSCCSCSSCSCCSCSCSSSSCSSSCCCCCCSSCCSSCSCSCSSSSCCCCSSSCSCSCSCCCSCSSSCCCSSSCCSSCSCSSSSCSSSCCSCSSCCSSSCSSSCSCCSCCSSCSSSSSSSCCCSSCSSSCCSSSCSCSSSSSSCSSCSCSSCCSCCSCCSCSSCSSSCCCSCSCCCCCSSSCCSSCCSCSCSCSSCCCCCCCCCCCCCCSCCCCSCCSCSSCSCSCSCSSSCCSCCSSCSSCCCCSSCCSCSSSSSCSSCSCCSCSCCCSCCCCSSSSSSSCSCSSSSCCSSSCCCSSCCCSSCCCSCSCSCCSCSSSSCCCSSCCSCSSCSSSCSCCCSSSSCCCSCSSSCSCSCSSSCCCCCCSSSCSSSSSCCSSCSSSSCSSCSSCCCSCSSSCCSCSCCCCSCSCCCCCCSSCCSCSSCSCSSCCSSSCSCCCSCSSCSCCCCSCSSSSSCSSCSCCSCSCSSCCSCSSCCSSCCCSCCSCSCSSCSSCSSCCCSCSCCSSSCSCSSCCSSSCCCSSCCCSSSCCCCSCSSSCSCSCCSSSCSSCSSSCSCSSSSSCSCSSSSSCSCSSCCSCSSCCSSSSSSSSSCSSSSCSSCCSSCCCSSSSCSSCCCSCCCSCSSSSCSSSCCSSCSCCSCSCSSSSSSSSCSSCSCSCCCSCCCSSSSCCSCCSCCCCCCCCCCSSCCSSSSCCCCCSSCCCSCSCCSSCCSCCSCCCCCSSSCCCCSCCCCSCSSCSCSSSCCSSCCSCSCSCCCCSSCCSSSSSCSSSSCCCSCCCSSSSSSCSSSSSSCCCSSSCCSSSSSCSSCCCSCCSCCSSCSSSSSCCSSSCSSSSCSCSSSSCSSSCSCCCCCCSCSSCSCCSSCCCSCSSCCSCCCSSSCSCSSCSSSSCCCSCCSSCSCCCCSSCSCSSSCSSCSSCCCCSSSCCCCSSCCCSSSCSCCCSCCCCCCSCSCCSCSCCCCSSSSCSSCCCSSCCSSCCSSCSCSCSCCSCCCCCCCSCCSCSCCCCCCSCCSSCCSSCSSSSCCCSSCSCSSCCSCSCSSSCCSCSCCCCCSSSCCCSCSSCSSSSSCSSCSSCSCCCSCSSSCSCSSSCSCSSCSCCSSSCSSCSSCSSCCCCSSSCCSSSCCSCCCCCCCCCCSSSCSCSCSCSCCSSCSSCSSCCCSCSSSSSCSSCSCCSSCSSCSCCSCCCSSSCSSSSCSCCSCCCSSCCCCCSSSSSSSCCCSSCCSCSCSCCSCSSSSCSCSSSSCSSSCCSCSCSCSCCSSSSCSCSSSCCSSSSCSCSSSSSSCSSCCSSSCCCSCCSCCCCSCCCCSCSCSSCSCCCSSCSSCCCCSCCCCSCSCSCSCSSSSSSSCSCSSSCCSCSCCSCSSCSCSSCCCSCCSSCSSSCCCCCSCCCCCSCCSSSSSCCCCSCCCSCSSSSSSSCCCSSSCSSCCCSCCSCCCSSSSCCCCCSSCCSSSCSCCCCSCSCCCSCSCSCSSCSCCCCSSSSCSSCCSSCSCCSSSSCSSCSCCSSCCCSCCSSCCSCCCSSCSSSSSSCSSCCCCCSCCCSCSCCSCCSSCSSSSCCCCSCSCCCSSCCCSSCSSSCCCCSCSCCSCCSSSSSSCCSCCCCCCSCCSSSCSSSSCSSSSSSSCCCCSCSSCCCCCSSCSSSSSCSCSCSCCSSCCSSCSSCCCSCSCCSSCSCSCSCCSCSSCSSCCCSSCSCCSCSCSCSSCSSSCCCSCCSSCSCSCCSCCSCCSCCSCCSSCSSSCCCSCSSSSSSSCCCCSSCCCSCSSSCCCSCCCSCSSSSSSSSCSCSCSCSSSCSCCSCCCSSCCCSSCCCSCSCCCCSCCSCSSSSSSSCCSCCCSSCSSCCSSCSCSCCCCSCSCCCCSCCCSCCSCCSCCCSCCSCSCSSCSCCCSCCCCSCSSCSCCCCCCSCSSCCSSCCSCCCSCCCSCSCCSCCCCSSSSSCCSCCCCSSSCCCCSSSSSSSCSCCCCSSSCSCSCSCCSCSSCCCCCSCSCSCSCSCSSCSSCCCSCSSSSSSSSSSSSSCCSSCCSCSSCCCCSSCCSSCCSSSCSSSSCCSSCCSSSSSCCSCCCCSCSSSSSSCSSCCCCSCCSCSCSSCSCSSCCSCSSCSSCCSCCSSSCSSCCSSCCCCSSCSCSSCSSCCCCSCCCCSCCCSSSSSCCSSCCSSCSCSCSSCSSSSSSCCSSSSCSCSSSCSSSCCCSSCSCSSCSSSCSSSCCSSCCSSCCSSCSSSCSCSSCCSSCSSSCCSCSCSCSCSSCSSSCCCCSSSSCCSCCCCCSCSCCSSCCSSCCSCCSCCSCSCSCSCSCSCCSSSSCSSSSCCCCCSCCSCCSSCCSSSCSSCSSCSCCSCSSCCCCSCCCCSCSSSCCCCSSCSCCSCSCSSSCCCSCSSCSCCCCSCCSCCSSSCCCCSSCCSCSCSSCSCSSCCSSCSSSSSSCCCSSCCSSCCSCCSCCSSSSSSCSCCCCCSCCSSSCSSSSCCCSSSCSCSSSSCSSSCSSSSCCSCCCCCCCSCCCCCSSSSSCCCCCCCSSCCCCCSCCCSSSSSCSSSCCSCSSSCSSSSCSSSSSCCSSCSCSCCCSCCSSCSSSCSSSCSCCSCSCCCSCCSSCSSSCSSSSSSSCCCSSSCCSCSSSCCCCCCSCSCSCSCSSCCCCSSCSSCCSCSSCCSSSCCSSSCSCCCCCSCSSCCCCCSSCSCCSCCCSSCCSCCSCSCCSSCSSSSCCSSCCSCCCCSSCSSSCSCCSCCCCSSSCCCSSSSSCSCSSSCCCCSCCSSCSSSSSSSSCSSCSSCSSSCSCSSCCSCSCCCSSSCCSCSSSSCCCCCSSCCCSSCSSCSCCSCSSSSCSCSCSCSCCSSCSCSSSCCCCCCSCCSCCSCSCSSSCSCSSSSSCCSCSSSSSSCCCCCSSCSSSSSSSCSCCCSCCSCSSSCCCSSSSSCSCSCSSCSCSCSSSCCCSCCSSCCCSSCSCSCSCSCCCSCSSCSSCCSCCSCCCCSSCSCCCSSSSSCCCSSCCSCCSSSCCSSSCSCCSSSSSSSCCSCSSCSCSSSSCSSCSSSSSSCCSCCSCCCSCSCCSCSCSCCCSCSCSSCSSSCSSSCCCCCCCCSCCCSSCSCSSSCCSCSCSCCSSCSCSSCCSSSCCCSCSSSSCSSCSSSSCSSSSSSSSSCCSCCCSCCCSSSCSSSSSSSCCSCSCSCSCSSCCSSCSCSCSCSSSCCSCSSCCCCCSSSSSCCSSSSCCCSCCCSSCCSCSSSSSSCCCCSCCSSSSCCSCSSSCCSCSSSSCCSCCSSSCCSSSSCCCSSCSSSCCSSSCSSCSCCCCCCCSSCSCSSCSSCSSCCSCCSCCCCCCCSSSCSSSSSSCSSSSSCCSCCSCCSCCSSCSSSSSSCSSCSCCCCCCSCCSCSCCCCSCCSCSSCCCSSCCCSCCSCSCSSCCCSCCCCCSCCCSCSSCCCCSSSSCSSSSCCCSCCSSCCSCSCSSCSSCCSCCCSCCCSCCSCCCCSSCCSCSSCCSSCSSSSSSSCCSSSCCCCCCSSCSCCSCSCSSSCSCSCSSSSCCCCCSCSCSCCCCCSSCCCCCSCSSSCCCSSCSCSSCCSCCCSSCSCSCCSSSSCSCSSSCSCCSSCCCCCSCSSCSCSCSCCSCSCSSSSCCCSCCSSCSCSCCCCSCSSCCCSSCSSCCSCCSCCSCSSSCSSSCCSCCCCCCCCCCSCCSCCSSSSCSSCSSSSCCSCCCCSCSSCSCCCCSCSSSCCSCCSCSCCCSSSCCCSCCSCSCSCSCSSCCCSCSCCSCCCSCSSCCSSCCSSSSCSCCSSCSCCSSCSCCSSCCSCCSSSSCSSSSCSSSSCCSCCSCSSCCCSCSSCSSSCCCSSSSSSSCSSCCSSSSCCSSSCSCSCCCSCCSSSCSCCCSCSCCCCSCCCCCCCSSCCSCCCSSCCSSSCCCSCSCSSCCCCCSSCSCCSSSCCSSSCSCCSSCSCCSSSSSSSCCSCCSSSSCSCSSSCCCCSCCSSCCCCCCCSSSSSSCCCSCCSCCSCCSCSSCCSCSCCCSSCCSCSSCSSSSCSCCCSCSSSCCSCSSSSCSSCSSSCSCSSSSCSCSSSSCSSCSSCCSSSSSSSSSCCCSCCSSSCSCCCCCSCSSSCCCCCCSSCCSSCSSCCCCCSCSSSSSSSSSSSSSCSCCSSSCCSCSSSCSCSCCCSCCSSCCCCCCCCSCSCCCCSSSCSSSSCSCSCCCCSSCSSSSCSCSSCSCCSCCCSSCSSSSCSCSCCSCCCCCCCSSSSSSSSSCCCCSSCCSSSCSCCCSCCCSSCSSSSSSSCCSCSCCCSCSCSCCSCSCSCSSCCCSCCCCSSCSSCCCSSSCSSSSCCSSCSSCSSSCSCSCCCCSSSSCSSCCSSSSSSCCCCCSCCSCSSCSSCSSSCCSSSCCCCCCCCCCCSCSSSCCSSCSCSCCCSSCSCSSCSSSSSCCCCCCSCSSCSSCCSCSCCCCCCCCCCCCSSCCCSSSCSSSSSSSCCCSCSCSSCCCSSCSSSSCCSCSSSCCSCCCSSSSCSSCCCCSCSSCCSSCSCSCCSSCSCSCSCSCCCCSCCSCSSCSSSSCCSSSSCSSCSCCCCSCCCSCSSCSCSCCSCCSSCSSCCSSSCSSCCCCCCCCSSCSCCSSSCCSSCCCCSCCCCCSSSSSCSSSCCSSCSCCCCSSCCSSCSSSSCSCSSCCCCCSCSCSSSSSCCSSCSCCSSSSCCSSSSCSSCCSSSSSCCSCSCSSCSSSSSCCCSCCCSCCCCCCCCSCCSSCSCSCSSCSCSCSCCCSCCSSCSCCCSSCSCCCCCCCCSSCSCSCSCSCCCCCSSCCSCCCSCCSSSSCSSSSSSSCSCCSSCCCSSCSCCCCSSCCSSCSSCCSCCCSSCSSCSSSSSSCSSSSCSSCSSCSCSCCSCCCCCCSSSSCSCSSSSSCSSCSCCCSCSCCCCCCCCCSCSSSSSCCSSSSCCCSCSSSSSCSSSSSSSCSSSCSCSSSSSCCSSSCSCCCSSSCSSCCCSCCCCSSSSCCCCCSCCCCSSCCCCSSSSSCCCCSCSSCSSSSSSSCCSSCSCCCCCCSSCSCSCSCSSCCCSSSSSCSCCSCSSCSSSSSCCSCSSSSCCSSCCSCSCSCCCCCCCSCSSCSCSSSSSCCCCSCCCSCCCSCSSSCCCCCSSCCCCSSCSCSCCCCCCCSCCCCSSSSSCSCSSSSCSCCSCCSSCSCCCSSSCSSCSSSSCCCSSCCSSSSCSCSCSCCCSSSSSSCSCCSCCSCSCCSSCCCCSSSSSSCSSCCCCSCCSSCCSSSSSCCSSCSCSCCSCCCSCSSCSSSSSCCSSSSSCSSSCCSCCCSSSCCSCSCCSSCSSCCCSCSSSCSSCSCCCSSCCCSCSSCSCSCCCSCSSSCCCCSSCCCCSSCCSSSCCCCSSCSCSSSCCSCSSSSCCSSSSCCCCCCCCSCCCCCSSSCSCCCCCCCCCCSSCSSSCSSCCSSCSCCSSSSCSCCSSCSCCCSCCSSSSCCCCSCSSCCSSSCSSCSSSCCSSCCCCCCSSCCCCSCSCSSSCSSSSCSSCSSSCCCSSSSCSSCCSCCCSCSCSCCCCCCSSSCCCCSCSCSSCCCCCCCSCSSSSCCSCSSSCCCSCCSSSSSCSSSCSCCSSCCSCSSCSSSCCSCCSCSSSCSCCCSCCCCSSSSSSCCSCSCCCCCSCCCCSSCSSCSCCSSCSCSSSCCSSCSCCCCSCCSCSSCSCSSCCSCSSSSSCSSSCCSCSSCCCSCCCCCCCSCCCCSSSCSSSSCSSCSSSSSCSSCCSSCCCSSSCSCCCSCSSSSCSSSCSSSCCSSCCCSSCSCCCSSSCSCSCSCCSCSSCSSSCSCSCSCSSSSCSSSCSCCSSSSCCSCSSSCCCCCCCSCSCSCSCSSSCCSSSSCCSSSSCCCCCSSCSSSSSSSSSSCSSCSSCCCCSCCSSCCSCSSSCCCSCSSCCSCSSCSSCCCCSSCSSCSSSCSSCSSSSCCSSSSCSCCSSSCCSSCCSCSCSCSSSCSCSCSCCCCSCSCSSCCSSCCSCCSCSCCCSCCCSCCSCSCSCCCSSCCSSSSSSCCSSCSSCSSCCCCSSCSSSSCCSSSSCSCSSCCCSSSCSCCCSCSCSSCSSSCCSSCSSSCCCCCCCCSSCCCSSSCSCCSCSCCSCCCSSSCSSSCCSSCSCSCSSSSCSCCSSSCSSCCSCCCSCSCCCSSCSSCSCSCCCCCSCCCSCCCSCSCSCCSSSSCCSSCSSCCSSSCSSSCSSCSCSCCCSCCSSSSSSCSCCSCSCSCCCSSCCCSSSSSSCCSCSSSCCSCCCSCCCSCSSSSCSCCSCSCCSSSSSSSCSCCSSSCSCCSSSCSSCCSSCSCCSCCCSCSSSCSCSSCSSCSSSCCCSSCCCCSCCCSSSCCSCSCCSCSCSCSCCCSSCSSCSCSCSSSSCCCCSSCCCCCCCSCCSCCSCSCSSCCCCCCSSSSCSSSSCSCCCCSCCSCCCCCCCCCCCSSCSSSSCCSCCSSCCSSSSCCCSSSCSCSCSSSSSCCCCCSCCCCSCCCCSSCCSSSCSCCSCCCSCCCCSSCCCSCCSCCCSSCSSCSSCSCSCCCCSSSSSCSCSSCSSSSSCCSCCSSCCCSSSSSCCSSSCCCSSCCCCCSSSSCSSCCSCSSCCCSCCSCCCSCSCCSCCSCSSCCSSSSSCCCCCSSSCCCSCCSCCSCSCCCCSSCCSCSCCCSCSSCSCSCCSCSCSSCCCCSSSSSCSSSCCSCCSCSSCCSCCSSCCCSSCSSSCCSCSCSCSCSCCCSCCSCSCSSCCSSCCSCSCCCSCCCCSSCCSCCSCCSCSCSCCCCSSCCSCSSCSCSCCCCSCSSSSCCSSCCSCCSCSSCCSSSSSSCSCCCSSSCCSSSCCCSCSSSSCCSSSCCSCSCSSSSCCSCSSCCSCCSCSCSSSSCCSCCSCCCSSCCSCCSSSSSSCSCCSCSCSSCCSCCCCSSCCCSSCSCSSSCCSCCSCSSCCSSSCSCSCCSSCSSSSCSSSSCSSCCSSSSCCCCSCCCCSCSCSSSCCSCSSCSCCCSSSSCCCSCSSCCCSSSCSSSSSSSCSCCCCCCCSCSCCSSCCSSCCSCSSCSCSSCSCCCCCSSCCSCSSSSCSSCCSSSSSCSSCCSCCCCSSSSSCCCSSSCCCSCSCCCCCCSCSSSSSCSSCCSCSCSSCSCCCCSSSCSSSCCSSCCSSCCCCCSSCSSSCCCSCCSCSCSCCCCCCSCCSCSCSSSSSSSCCSSSSSSCSSCSSCCSSCSCSSCCSCSCSSSCCCCCCSCSSCCCCSSSSCCSSSCSSSCCCCSSCCSSCCSCCCSCCCSSSSCCSSCCCSCSCCSCSSCSSSSCCCCCSCSSSSSCCCSCCCCCSCCSCSSCCCCSCCCCSCCSSSSSSCSSSSCCSCSSCSSSSCCCCSSSSSCSSSCCCSSSSSSCSCCSCCCSSCCCCCSCCCSCSCSSSCCCSCCSCCCCCSSSSSSCCSSSCSSSSCCCCSCSSSSCSCCCCSCCSCCSCSSSCSCSSSCSSCCCCSSCSSSSSSCCSCCSCSCSSCSCCSCCSSCCSCSCSCSCCSSCCCSCSSCCCCSSCSCCCSCCCSSSSCCSSSSCCCSSSSSSCCSSCSSSCSCSCCSSCCSSSCCCSCCSSCSSSCSCCSCSSCSSCSCSSSSSSSCCCSSCSSCSSSSSSCSCCCSSCSSSCSCSSCSCSSSCCCCCSSCCCCSCSSSCCSSCSSCSCSSSSCCSSSCSCCSCSSSCSCSSCSCCCCSSCSSCCSCSCSSCCSCSSSCCSCSSSSCSSSSSSCSSCCCSCCSCCCCSCSSSSSSSCCCCSCCCSCSSSSCCCSCCCSSCCSCSSSCSCSCCCSCSCSCCCSSCSCCSCSSSCCCCCSCCSSCCSCCCCSSSCSSCSSCSSSCSSSCCSCCCSCCCCCSCCCSCCCCSSSCSCCCCSSSSSSCSCSCSCSCCCSCSSCCCCCSCCCCSCSCSCCSCCSCSCSSCCCCCSCCCCCCSCCSSCSCSCSCCCCSSCCSSSSCSCSCCCCCSSSCCCCSCSCSCSCCSCCCCSSCSSCCSCSCCSSSSCSCCCCSSSSSCSSSCSCCSSSSSCSCCSSSSSCCSCCCCSSCCCCCSCCSCCCCCSSCCCCSCCSCSCCCSSCSSCCCSSSSCSSSSSSCCCCCCCCCCSSCSCCCCSSCSSCCSSCSSSCSCSSCCSSCCSSCSCCCSSCCCSSSSCCSCCCCCCSSCCSCCCSCCCCCSCSCCCSCSSCSCCCSCCCSCCSSSCCSSCCCSSSSCCSSCSSCSCCCCCSSSCCCCCCSSCSCSCCCCCSSCCSSCSSCCCSCCSSCCCCSSCSCCCSCCCCCCCSCSSSCCSSCSCCCSCCSSSSSCCCCSSSCCCSCCSCSCCSCSCSSSCCSCSCSCSCCCCSCCSSSSSSSCCSCSCSSCSCCSSSSSCCSSSCCSCSSCSSCCCCSCCCSCSSCCCCSSSSSCSCCSCCCSSSCSCSCCSCSSSCSSSSCCCCCSCSSSSSCSSCSSCSSSCCCCCSSSSSSCCSSCSCCSSCCCCCSSSCSCCSSCSCSCSCSSCSSSSSSCSSSSSCCSSCCCSSCCCCSCCCSSCCCCCCCCSCCSCCSCSCSCCCCSSCSSCSCCSSSSCSCCSCSCSSCCCSCCCSSCCSCSCSSSCCSSCCCSCCSCSCCCSSSCCSSCCCSSSCCCCCCCCSSSCCSCSSSSCCCCCSCCSSCCCSCSCSCCSSSSSCCCSSCCCSSCCCSSCSSSSCSCSCCSSCSSCSCSSSCCSSCCSSCSCSSSCSCSCCCCCSCCCCCSSSSCSSCSSCCSCCCCCCCSSSCCSCCCCCSCCCSCCSCCSCSCCSSCCSCCCCCCSSSSCCCCSCCSSCCCSSCCCSSSCCSCCSCCSCCCSSCSSSCCCCSSCCSCSCSSSSCSCCCSCSCSSCSCSCSCSCSCSCSSCSCCCCCSSSCSCCSSSCCSSSSSCCSCSSCSSCSCCSCSCCSSCCCSCCSCCSSCCCSCCCCCSCCSSSSCCCSSSSCCCSSCSCSSSCSCSCSCSCCCSSSCCCSCCCSSSCCSCSCCSCSCSSCSCCCCCSSCSCSCCSCCSSCSCSSCSSCCCSCSSCSCSCSSCCCCCSSCCSCCCCCCSSCCCCCSSCSSCCSCCCSSSCCCSSCSSSSSSSCCSCCSCSSCSSSSSCCCCCCSSCSSSCSCCCSSCSSSSSSCCCSSSSCSCCSSSSCSSSSSSSCSCCCSCSSSSCSSCCCCCSSSSSCSCCSSCCSSCSCCCCSSSCCSSCSSCCSCSSCSSCCCSCCSSSCCCSSCSCSCCSSSSCCCCSSSSCSSSCSSCCSSCSCCSCSCSSSCSCSSSCCSCCCSSCCSCSSCCCSCSSSSCSSCSSCSSSCSCCSSSCSSSCCSSCSCCSSSSCCCCSCCCCCCSCSSCSCSSSSCCSSSCSSSSSSCCCCCCCCSCSCSSCSCSSCSCSSCCCCSSCCCSSCSCCCSSCSSCSSCCCCCCSSSCCCSCSCCSCCSSCCCSSSCSCSCCCCCSCSSCSCSSSSSSSCCSCSSCSSSSCCCSCCCSCSSSSSCCCCCSSCSCSSCSSCSCCSCCCSSCCSCSSSSSSCCSSCCSSSCSCCCCSSSSCSCCSCCCSCSSCCCCCCSCSSCSCSSCCCCCSCSSCSCCSSSCCCCCCCCSSSSSSCSSCCCCCCCCCSCCCCCCSCCSSCSCCSCSCSSCSCCSSSCCSCCCCCCSSCSSCSCSCCSCCSCCCSCCCSCCSCSSCSCSSSSCSSCCSCSSSSSCSSCSCCCSCSSSSCSCSSCCCCSSCCCSSCSCSSSCSSSSSSSSCSSSCSSSSCSSCCCCCSCSCSCCCCSCCSSCSCSSSCCSCCSCSSCCCSSCCCCSSCSCCCSCSSSSCCSCSCSCCCSSSSSSCSCSSCSCCCCSSSSCSCCSSCCSCSSSCCCSSCSCSCSCSCSSSCCSSCCCSSCSCSCCSSSCSCCCCSSSCCSCSSCSSCCSSCSSSSCCCSSSCCCCCSCSSCCCSSSSCCSCSCSSCCSSSCCCSCSSSCCSSCCSSCSCSSCCCCCSCSCSCCCCSCSSSSSSSSSCCCCCSSSSCCSCCSSCSCSSSCCCCCSCSCSCSCCSSCSCCSCSCCSSCCCSCSCCSCCSCSCCSSCCSCCSCSCSCCSCSSCSSSSSCCSSSSSSSSSCSSCCCSSCSSSCSCSSCCCCSCSSCSCCCSSSCSCCCSSSCSCSSSCCSSSCCSCCCSCCCCSCCCSCCSCCCCSCSSSSCSSCSCCCCSCSSCSCCCSSSCCSCSCCSCCCSCSSSSCSCSCSSSCCSSSCCSSCCCSCCCCSSSSSCCSSCSSSCSCSCCCSSSCCCCCSCCSCSCCCSCCCSSCSCSCSSCSSSSCCSSCSSSCCSSCSCCSSSSCCSSSSSSCSSCSSCCSSCCSCSCCSSSCCCCSSCSSCSCSCSSCSCSCCSCCSSCSSCCCSSSCSSSCSCSCSSSCSSCCSCSCCCCSCSSCSSCSSCCSSCCCCCSCCSCSSCCSCCSSCSSSCSSSSSSCCCCCSSSSCSSSSSSSCSSSSSCCSCCCCSCCCSCCCSCSCSSSCCSCSCCSSCCSSCCCSCSSSSSSSSSSCCCSSCCSSSSSCSSSCSSCCSSCSSCCCCCSSCSSSCSCSSSSSCSCSCSSSCSSSCSSCCCCCSSCSSSCSSCSSCCSSSCSSCSSCCCSCCCSSSCCCCCCCSCSSCSSSSSCCCSSSCCCCCCCSSCCCCSSSCCSCCCSSCSCCSSCSSSCCSSCCCSSCCSSCSCCCSSSSSSCCSSSCCSCCSSCCSCSCSSCCCCSCSCSSCSSSCCCCSCCSSCSCSCSCCCCCSSSCSCSCSSCCSSCSSSSSSCSCSSCSSSCCCCCSCSSCCCCCSCSCSSSCCCSSSCCCSSCSSCCCCCSSCCSCSCSSCSSSSCCSCCSSSCSCSSCCSSSSCCSCSCSCSCSSSSSSCCSSCCCCSCSCSSCCCCSSCCSCSSSSSCCCCSSCCCSCCCSSSSSSSSCCCSSCSCSCCSCSCCSCCCSSCCCSCCCSCSCCCSCSSSCSCSSCSCCSCCCCSCSCSSSCCSCCSCSSCSSSSCCSSSSCSSCCCSSCSCCCCSCCCSCCCSSSSCCCCSSCCCSSSSCCSCSCSSSSSCSSCSCCCCCCSCSSSSCSSSSSCSCCSCSSSSSSSSCSCCCCCSSSSCCCSSSSCCCSCCSCCCCSSSCSSSSCSSCSSCSSSCCCSCCSSCCCSSCSCSCCCCSCSCCCSCSCCCCCCSCSCSCCCSSSCSCCCCCSCCSCSCSSCCCCSCCCSSSCSCCSSSCCCCCCCCCSSCSSSCSSCSCSSSCCSSSCCCSSCCSCCSSSCCCCCSCSSSCSCSSCSSSCSCCSCSSCSSSSCSSCCSCSCSCCCSCSCCCCSSCCSCCCSCSCSCSSSCSSSCSSCSCCSCSCCCSSSCCCCSSCSCSCSCCCCCSSSCSCCSCSSCCCCCSCSSCCSCSCCSSSCSCCSSSSCCSCCSSCCSCCSCSCCCSCCSSCSCCSCCSCSCSSSSCSSSCCSSCSSCSSSCCCCSSSCSSCCCSSCCSCCSSCSCCCSSSSCCCSCCCSCSCCSCCSCSSSCCCCSCCCCSSCSSSCSCCSCCCSCCCSSSSSCCSCSCCSCCCCSSCSSCCSCSCCCSCCCSSCSCSSSSCSSCCCCCCSCSSSCCCCCSSCSSSSSSSCCCSCCSSCCSCCCCSCSCCSSSSCSCCCCSSCCSSCCSSCCSSSCCSCSSSCSCCSSCCCCCCSCCCSCSSSCCSSCCCSCSSCCCCCCSSSSCCCCCCCSSSCCCCCSSCCSSCSCCCSCCSCSCCCSSCCCCSSSCCSCCSCSSSSCSCCSSSSSCCCSSCCCSCCSCSCCSCCCCSCSCCCSSSSSSCCCCCCCSCSCCSCSSSSSSCSSSSSCSCCSSCCSCCSCSSCSCCSSSSCCSCSCSSSCSCCCCSSCCCCSSCCSSCSCCCCCCCCCCSCCCSCCSCSCCSSCSCCCSCSSSSCSCSSSCSCSCCSSCSCSCSCSSCSCSSCCCCCSSCCCCSCSSCSCSCCCSCSCCSCSSCCCCCCCCSCSSSCSSSSCSCCSCCSCCSCCCSCCSSSCSCSCSSCSCSSSSCCSSSCSSSSSCCCCSSCSSCCCCCSSSSSSSSCCSSCSSCCCSCCCCCSSCCCSSSCCSCSSCSCSCCCCSSCSSCSCSCCCCSCSSSCSSSSSSSSSCCCSCCCSCSSSSSCCCCCCCSSSCCCCSCCSCSCCSCSSCSSSSSSCCCSCSSCCCSSCCSSCSSCCCCCSSSSCCSCCCSSSSSSCSCCCCCCSCSCSCCCSSSSSSCSSCCCSCCCCCCSCSCSSCCCCCCSSCCCCCCCSSCCSCSCCCCSCCSSCCCSSSSCSCSCCCCCSCCCCCCCSSSSSSCSSCCCCSCCSSSCSCCSSCCSCSCCSSSCSCCSCSSSCCCCCSCCSCCSCSCSSCSCSSSCCCSSSSSCSSSCCSCSCSCCCCSSCSSCCCSCCCSCSSCCCSCCSCCCSCCSSCSCSCSSSCCSSSCSSSSSCCCSSSCSCCCCCCSCCSSSCSSSSCCSSSSSCCSSSSCSSCSCSCCCSSSSSCCSSCSSSSCCCSCCSSSCCSCCSCCCCSSSCSCCCCSSSSCCSSSSSCCCSCCSCCSCCSSSCSSCSCSCCCSSSCCCCCSSCCSSSSSSSSCSCCCSSSSSCCSCCCSSSSSSCSSSSCSCCSCCCSCCSSSCCCSCCCCSCCSSCSCSCCCCSSSSCSSCSSSSSSCCCSSSCCSCCSSCSSCCCSSCSSCCSCCCSCCCCSSCCSCSCSSCSCSSSCCCSSSSSSCCCSCCSSCSCCCSCCSSCSSCSCCSSCCSCSSCSSSCCSCCCCCCCSSCCCCCSCCCSSCCSCCCSSCCCCSSSSSSSCCCCSCSSSCSSSSCCSCSCSCCSCCSCCSSSSSCCCCCCCCCSSSSCCSSCSCSSSCSCCCCSCCCCSCSSCSCSSSCSCCSSCSCCSSSSSCCCSSCCCSCCCCSSCSSCSSSSCCCSCCSCCCCSSCSCSSCSSSSSSSSSSSSCCSCCCCCCSSSCCCCSCSSSCCCSSCSCCSSCCCSCSCCCCCSCSCCSCCCCSSSCCCCCSSCCCSSSSCSSCCCSSCCSCSSCCCCCSSSSSCSCCCSCSSSCCSSCSCCSCSSSSCCCSSCCCSCSCCCCCCCSSSSSSSSSCCCCCCSCSCSCCSSSSCCCSSSSSSCSCCCCSSSCSSSSCCSCCCSCSCSSSSSCCCSCSSSCSSSSSCCSSSCSSCCSSSSSSSSSSCCSSCCSSSCSCCCSSCCCCCCCCSSCSSSCSSSCSCSCSSCSCCCCSSCCCCCCSSSCSSCSCSCSCSSSCSCSSCSCCSSCCSSCCCSCCCSSCCCCSSCCCSCCCSCCSCCCCSCSCSSSCSCCSCCSSSCCCCSSCCSSSSSSSSSCCSSSSCCSCCCSCCCSSSCCCCSCCSCCSSCSSCSSSCCSCSCCSSCSCCSCCSSSCSSSCCSSSSCCSSCCCCSSCSSCCCSCCSCCCCSSCSSSCSCSSCCSSSCCSSCSSCCCSSCCCCSSSCSSCCSSCSCSCCCSCCSCSCSSSCCSSCSSSSSSCSCSSCSCCCSSCSCSCSSSSCCCCSSSCCCSCSSSSSCCCCSCSCCCCSCSCSCCSCCCCSSCSSCCCCSCCSSSCSCCSSCCSSCCSCCCSSSCCSCSSSSSSCCSSCSSSCSSSSSCCCSCCCSSCCSCCCCSSCCSSCSCCSSCSSCCSSCSCCCCSCSSCSSCSSCCCCSCCCSSCCSCCCSCSSSCSSCSSSCSSSSCCCCSCSSSCCSSCCSCCCSCCCSCCSSSSCSCCSCCCSCSSCSCCSCSCCCCSCSCSSCCSCSSCCSSCCCCCCSSCCCSCCCSSCCSSCCCCCSSSSCSSSSSCCSSCCSCSCSSCSCCCCCCSSSCSSCSCCSSCSCSSSSCSSSCSCSSCCCSSCSCSSCCCCSSCSCSSCCSSSSCCCSCSSSSSCCSCCCCCSSCSSCCSSCSCSCSCSSSCCCCCCCSCSCSSSSSSSSCCSCSSSSCCCCCCCCCSSCCCCSSSSCCSCCCSSSCSCSCSSCSCSSCCCSSSCCSSCSCCCCSSSSSCSCCSCCSCCSCCCCSSSSCCSCCCCCSSCSCCCCCCSCCCSSCCSSSCCSSCSSSSCCCCCSSSCSCSCSSCCCCCSSCCCCCCSSSCSCCCSCSCCCCCCCSSCCSCSSCSSSCSSSSSCCCCSSCSCCCSSSCSSCCSSSSSSSSSSCSCSCCCCCCCCSCCSSSSSSSCCSSSSSSCCCCSSCCCCSSSCCSCCSCCSSCCSCSCSCSSSSCSSCCCSCSCCCSCCSSCSCSSCSSSCSSCSSSCCCCSSCCCSCCSCSCSSSSSSCCSSCSCCCCSSSSSSCSCCCCSSSCCSSSSCCCSSSSCSCCSCCCCSCSCCCCCCSCSCSSCSCSCCCCCSSSCSCCCCSSSCSSCSCSCSCCSSCSCSSCSSSSCCCCSCCCSSSSSSCSSCSSCSCCSCCCCCSCCSSSCSSCSCCCSCSSSSCCCCCCSCCCCSCSSCCCCSSSCCSCCCSCCCCSSSSCCSCSSSSCSSCCCSCCCCCSSSSSSSSCCCCSCSCSCSCSSCCCCCSSSCCSCSCCCCCCSSSCCSSSSSSCSSSCSSCCCCSSCSSSCCSSSCSSSCSSSSSSSSSCSSCCSSCSSCCCCSCSCSSSCCCCSSCCSCSSSCCCSSSSCSSSCCCCCSSCSCSCCSCSSSCSCSCCCSCSSSCCSCCSSSCSCSCSSCCSCSSSCCSCSCSSSSCSSCSCCSCCSSSSCSCCCSCSCCSSCSSCCSCCCSSCCSCCCSSCCCSSSCSCCCSCCSCSSSCCSSCCCSCSCCCSCCSCSCSCSCSCSCCCSCCCCCSCCCSCCCCCCSCCCSSCSCSSCCCCSCCSCSSSCSCCCCCCSCSCCSSSSSSSCSSCSSSSSSCCSSSSSCCCCSSSCSCCCSSCSSCSCCCCCSSCCCCSCCCCSSCSSSSCSSCCSCCCSSCSCSCCCCSCSSCSCSCCCCCCCCCCSCSCCSSSSCCSCCSCSSSSCSCCCCSSCSCSSSSSCSSCCSSCCCSCCSSSSCSCCCCSSSCSSCSCSSCCCSCCCSSSCSCCSSCSSCCSSCSSCSCCSSSCCCCSCSSSCCSSSSSSSSSCSCCSSCCSCSSSCCSSCCSCSSCSSSCSCSCSSSSSCCCSCSCSCSSSSSSCSSSSSCCSCCCCCCCSCCCCCCCCSCSCCCCSSCCSSCCSCCCCSSCSSCSCCSSSCSCCCSCCCCSSCSCCCCCSSSCSCSCCCSSSSSSSCSCCCSSCCCSCCSCSCSSCSCSCSSCCCCCCCSCSCCSCCSCSCCSCCSCSCCSCCCSCCCSCSCSCCSSSSCSCSSCCSCCSCCSSCCSSSSCCCSSCSCSSSSSSSSSCCSSCCSSCSCCCCCCCSCCSSSCSCCCSCCCSSSSSSCCSCCCCSSSSCSCSSSSCCCCCSSCSCSCCSSSSCSSCSCCSSSCSSSSSSCCCCSCCCCCSSSSSCCSSSSSSCSSCCSSCCSSCCSCSCSCCSCSCCCCSSSCCCSSCCSCSCSSSSCSSSCSSSCCSSCSCSCCCSCSSCSSSCSSCSSCCCCSCSCCCCCCSCSCSCCSCSCSCCCSCSSCCSSCCCSSCCCSCSCCSSSSSSSSSSCSSSCSCSCSCCCCSSSSSCSSCCSCSSSCCCCCCSCSCCCCCCCCSSCSSCSSCSSCCCSCSSSCSSSSSSSSCCSCCCSSCCCSCCCSSCCSSSSSSCSCCCCSCCCSSCCSSSCCCSSSSSSSSSSSSSSCSSSCSSCCSSSSCSSSSSCCCSCSSSCSSCCSCCCCCSCCSSSCCSCSSSCSCSCSCCSCCSCSCSCCCCSCCCCSCCSCSCSCSCCSCSCCSCSSCSSCCSCSCSSCCCSCSSCSCCSSSSSCSSCCSCCSSCCSSCCSCCSCSSCCCCCCCSCSCSSCCSSSCSCSCCSSCCSSSSCCCCCSSCCSSSCCSCSSCCCCCSCSCSCCSSSCSCCSCSCCCSSSCCCSSSCCSCSCSSCSCCSCCSCCCSSCCCCSCCCCSCSSCCCSCSSSCCSSSCCCSCSSCSSSSSCSSSCSCCCCCCCCSCSSSCSSSSSSSCCSCSSSSCSCSCSSCCSSCSSSSSSCSCSSSCCSSSSCSSSSSCCCCSCCCSSCCCCSCCSCSCSSCCSSSCCSSCSSSCSSSSSSCSSSSSCSCCSCSSCCSSCSCSCCSSCCCSCCSSCSCCCCSCSSSCSCSCCCSCSSSCSCSCSSCCCCSSCSSSSSCCCSCCSSCCCCSCSCCCCSSSCSSSCCCSSSCCCCCSCCSCCSCCSCCCSCCCSCCSCCCSCCSSCCCSCCSSSSSSCSSCSCCCCCCCCCSSCSCSCSCSSCCSSSCCCSCSCSCCCCCCCCCCCCCSCCCCCSCSSSSCCCSCCCCCSSCSSCCSSSSCSCSSCCSSSSSSCSSSSCSCCSCCCCSCSSSCCCSSSSSCCSSSSCCCSSSSSCSSSSSCCCSSCSCCSCCSSCCCCCSCCSCSCSSSSCCSSSSSCCSSCSCSSSSCSSSCCCSCSSSCSSCSCSCSSCCCSSSSCSCCSSSCCCCCSCCCCCSSCSCCSSCSSCCSSCSCCCCCCCCSCSCCCSSCCCSCSCCSSSSCSSSSSCSCCSCSCCSSSCCSSSSSCSCSSCSCCSSCSCCCSCSCCCCSSSCCSSCCCSCCSSSCSSCCSSCCSSSSSSCCSCCCSSSSSSSCCSSSSCSSSCSSSCCCCCCCCSCSSSCSCCSCCSCCSSCCSSCSCSSCSCSSCCSCSCSCSCCSCSCCCSCCCSSSCCCCSSSSCSCSCSSCSCCCCCSCCSCSCCSCSSSCSCCSCSCSSCCSCSSSCCCCSSCCCCCCCCCSSSCSSSSCCSCCSSSCSCCCSSSSCCSCSCSCCCCSSCCCSCSSSCSCCCCCSSCSSSSSCCCCCCSCSCCSSSCCSSCSCSCSSCSCCSCCSSCSSSCSCCCCSCSSCSSSCCSCCCSCSCCSSCSCCSCCCSSCCSCCSCSCSCSCCSSCSCSCSSSCSCCSSSCSCCCCSCCSCCCCSCSSSCSSCSSSSSCCSSCCSCCSCCCSCCCCSCCCCCCCCSSSSCSSSSSCCCSCCCCSSCSCCSCCCCCSSSCCSSCCSCCCCSCSCCSCSSCCCCSSSSCCSCSCSSCSSCCSSSCCCCCCCSCSSCCCCSSSCCCSSSCSSCSSCCSCSCSCCCSSSSCSCCCCSSSSSSCCSCCSSSSCCCSSCSCCSSCSSCSSSSCSSCSSSCSSSSSSSSCCSCCCSCCSCCSSCCSCSCCCSCSCCCCSCSCCSCSCSCSSCCSCSCCCSCSSSCCCSSCSSCCCSSCCCSSSSCSSCSCSCCCCSCSCCSCSSCCCCCSSSSSCSSCSSCSSCCCSCSCSSSCCCSCCSCSCSSSSCSSCSCCCSSSCSSSCCCSCCSCSSSCCSCSSSCSCCSCSCSCCCCSSCCCCCCSCCCCSSCCSSCCCSCSCCSCSCSCCCCSCSSSCCCSCSCCSCCSCCSSSCSCCSSSCCSSCSSSSCSSSCSCSCCSCCCCCCSSCCSSSSCCSSSCCCSCSCSSCSSCSCSCCCSCSCSSSCSSSSSCCCSCCCSCSSCCCSCSSCSCCCSCCSCCCSSSCCCCSSCSSSSSSSSCSCCCCCSCSCSCSCSCCSCSSSCCSSCSSSCCCSCCSCSSCSSCCSCSCCCCCCCSCCSSCCSCCCCSCSSCSCCSSCSSCCSCSCCCCSSSCSSSCCSSCSSSCSCSCSSCSCSCSSSSSCCCSCCCSCCCSSCCCSSCCSCSSSCSCSSSSSSCCCCCCCSCCCSSSSCCSSCCSSCCCCCCCCCSSCSCSCCCSCCCCSSCCSCSSSSCCSCSCSCSCSSCCSSSSCCSCCCSCSSSSCCSCSSCCSCSSCSCSSCSSSCSSCCSSCCSSSCCCSCCSCCCSCSCSSSCCCSCSSCCCSSCCCSSCCCSCCSCCSCCSSSSCCCSSCSCSSCCSSCCCCSSCCCCSCSCSCCSCSCCSCSCSCCCCSCSCSSCSSCCSSSSSCCCSSCCCSSSCCCSSCSSSSSCSSCCCSSSSCCSCSCCSCCCSSCSCCSSSSSSSCSSSCCCCCSCCCCCSCCSSSCSCCCCSCSSCSSSCSSSSCCCSSCSSCCSCSSCSSCSCSCSSCSSCCSCCSSCCSCCSCSCSCCSSSSCCSSCSCCSCSCCCCCSCSSSSCSCSSSSCCSCSSCCSSSCCCCSSSSCSSSCCCCSCSSSCSCSCSSCCSSSCSSCCCCCCCCCSSSSCSSSSSCCSCSSCSCSSCCSCCCSCCSCSCSSCCCCCCSSCSCSSSCCSCSSCCSSSCSCCSSSCSCCCCCCSSCCSSSCCCSSCSSSCCSCCSCSCCCSSCCSCCSCSCCSCSCSCCSSCCSSCCSSSCSSSCSSCSCSSSSSCSCCCSSSSCCCCSSSSSSSCSSCSCCSCSCSSCSSSSCCSSCSSCSCCSCSSCCCSCCSSCSSSCSCSSSCSCCSCCSSCSCCCCSCCCCCSSCCSCCSCCCCSSSSCCSCCCSSSCCCSSCSSCCCSSCCCSSSSCCCCSSCCCSSSSCSSSCSSCSSCCCSSSSCCSCSSCSSSCCSCCCCCCCCCSCSSSCCCSSCSSCSSCSCCCCCCSCSSSSSSSSSCSCCCSCCCCCCCSSCSCSSSSCSCSSSCCCCCSCSCCSCSCSSCCCCCCCCSCCSCCSCSSSCSCSCCCSCCSCCCSSSCSCSCSSCCCSCSCCSCSSSSCSCSCSSCSSSSSSCSCCSCCSCSCCSSSSCCSSSSSCCCCCSSCSSSSCSCCSCSSCSCCSCSSCCSCCCSSCSCCSCCCCSCCCCSCCSSSCSCSCSSSCCSCSCSSSCCSCSSCCCSSCSSSCCSCCCCCSSCSCSCSCCCSCCSSSCSCSSCSSCSCCCCSSSCSSCCCSSCSSCSCSSCSSSSSCSSSSSCCSSSCSSCSSCSCSCCCCSSCCCCSCSSCSSCCSSCCSCSCSSCSCSSSCSCCSCSSSCSCSCCSSCSCSSSCSCCCCCCSCCSSCSCCCCCSSCCSCCSSSSCCCCSSCSCCSSCCCSCSCSCCSSSSSCSSSSSSCSCCSCCCCCCSSCSCCSSCSCCSCCCSSCCCSCCCSSCCSCCSSCSCSCCCCCCCCCSCCSCSSSCSCSCSSCSSSSCCCCCCCCSCSCSCSCSCCCCSSSSSCCSCCCSSSCSCSSCCCCCCSSCCCCCSSCSSSCSCCCCSSCCSCSSCSCSSCCSSSSCCCCSCSSCSCSCCCSSCSSCCSCSCSCCSCSSSSCSSSCSSCCSCCCSCSSCSSSCCCCCCSCSCCCSSSSCCCCSSSSSCSSSCCCSSSSCSCCSSSCCSSCCSCCSSCSSSSSCCSSSSSSCSSSSCSCSSSCSCCSSSCCSSSSCSSSCCCSSCCCCCSSCSSCCCSCSSSSSCCSCSSCSSSSSCCSSSSCSCCCSSSCSSSSCCCCCSCSSSSCSCCCSCCCSCCSCSCCCCCCCSCCSSCSCCCCSSCCSSSCCCSCCSSSCCSCSSSSCSSCSCCCSSCSCSSSSSCCCCSCSCSSSSCSCSSSCSSSCCSCSCCCSSSCSSCSCSSCSCCCSCCCSSSSCCSCCCSSCSCSCSCSCCCCSSCSCSCSSCCCSCSSSCSCSCCCCCCSCCSCCCCSSCSSCSSCCCSSSCSCSCSCCCSSCCSSCCSSSCSCCSSCCSCSCCCSCSSSCCCCSCCCSSSCSSCCSCCSSCCSSSCCSCCSCCCCCSCSSCSCSCSCSSCSCSCSSCSCSSSSCSCSCSCSCCCCSCCSCSSCCCCCCCSCSSCCSCSSCCSCSCSSSSSSCSSSSSSSCSCSSCCSCSSCSSCCCSCCCSSSCSSCSCCSCSCCSSSSSSCSCSSSCCCCSSSCSSCCCSCSSSSCSSSCCCCCSCSCCSCSCCCSCCSCSSCSSSSCSCCSSCCCCCCCCCSSSCCSCSCSCSCCCSSCCSCSCCCSSCCCCCCSCSSSCCSCCSCSSCSCSSSCCSCSSSCCSCCSSSCSCCSSCCSCCSSCCCCSSCSCCSCCSCCCCSCCCSSSSSSSCSCCCSCCCCCCSCCSSSCSCCSCSSCCSCSCCCCCSCSSCCSCSSCCSCCCCSCCSSSCCCCCSSCSCSCSCSSSCCSCCCSSSSSCCSSCSCSCCCCCCSSCSSCSSSCSCCCCSCSSSSCCCCSSCCCCCCSSCSSSCSSSCSSCCSCCSSCCSSCCCSCSCCCSSCSSSSSSCSCSSCCSSCCSSCSCCSSSCCSCSCSSSSSCCCSCCSCSSCSSCSCSCCCSCCSSCCSCSSSCCCCCSSCCSCSSCSCCCCSSSSCSCCCSCCCSSCCCCSSSSCCCSSSSSSSSCCCCCSSSCSSSCSCSCSCCCSSCCSSSSSSSCCCSCCCCCSCSCCCCSSSSCSSCCCSSSSSSSSCCCCCSSSSCCCCCSSCSCSCCSCSCSSCCCCSCCCCSCSCCSSSCSSCCCSCSSCCCCCCCSCSCCSCSSCSCSSSSCSSCCSSSCCSCSCCSSCCCCSCSCSSCSSCCCSSCSSCCCCCSSSCCSCSSSCCCCSSSCSSCSSSSCSSCSSCSCSCCSSCSCCSCCSCCSSSSCSCSCSCCCCCSCCCCCSCCCCCCCSSCCCCCCSCSSCCCSSCCSSCSCCSCCSCSCSCSCSCSCSSSSCSCSCSCSCCSSSCSCCSSCSSCCCSCSSCCCCCSSSCCCCCSCCCSSSCSCSCSCCSSCCSCCCCCSSSSCCCCCSSSCSCSSSCSSCSSCSSSCSSCSCCSSSSSSSSSCCCCCCSCSSCCCSCSSSCCCSSCSSCSCCCSCCSCSSCSCSSCSSSCSCSCCCCCSSCCCSSSCSCCCSCSCSCCSSCSSSCCCSSCSSCCSSCCSCCSCCSCCCSSCSCCCCSCCCSCSSSCSCSCCSSCSCSCSSCSSCCCCSSCCSSSSCCCSCSCSCCCSSSCSSSCSSCCSCSSSCCCSSCCCCCCCCCCSCSCCSSCSCCSSCSSSCSCSSSSSCSSCSCSCSCSSCCSSSSSSCCSSCCSCCCSSCSCSCCCCCSCCSCSCSSSCCCCSCCCCCSCSCCCCSCSSSCCCSCSSCCSCCSCCCCSSSCCCSCSCSSSCCSSCCCSSCCCSSCCCSSSSSSSSCSSSCSCSSSSSSCSCCSSCCSSCCCSCCSCCSSCCSCCCSCSCCSSCSCSSCCCSSSCCSCCCSCSCCSSSCSCCCCSSSSCCCCSSCSCSSCCSCSSCCCSCCCCSSCCSSCCCCSSSCSSCSCSSSCCSCCSCSCCCSCCCSCCSSCCSSSCCSCCCCCCCSCSCSCCSCSSCSCCCSCSSSCSCCSSSSCSCSSSCCSSSCCSSCSCSSSSSSSSCCCCSSSSCSCCSSCCSCCSSSCCSCSSSCSCCSCSSCSCCCSCSSCCCSCSSCSCCSCCSCSSSSSCCSSSCSCCCCSSCSSSCSCCCSCCSSSSSCSSCSCCCCCSSSCSCSCSCSCCSCSSSSSSCSCCSCSCCSCSCSSSSCSSCSCCCCSSSCSCCSSSCSCSCCSCSCCSSCSSCSSSCCSCSCSCCSSCSCCSSSCCCSCSCCCSSSCSSSSCCSSSCCSSCCCCSSCSSSSCCCSSCSCSCSSCCSCCCCSSCCSCSSCCSCSSCCCSCSSCCCSCCSSCSCSCSCSCSSSCSCSSCCSSSSCSSCSSSCSSSSSSCCSSCCSSCSSSSCSSSSSCSCSCCCCCSSSCSSSSSSCCSSCSSCCCCCCCCCCCSSCCCCCSCSSCSCSSSCSSSSSSCSSSCSCSCCCSSSCCSSCCCCCCSSCSSCSSCSCSSCSSSSSSSCSSCSCSSCSSSCSSSSSCSSCSCCSCSCCSSCSSSCCSCCSCCSSSCCCSSCCCSCSSSCCSCSSCCCSCCSSSSSSSCCSCSCSSCCSSSCCCCSSSSSCSSCCCCSSCCSSCCCCCCSSSSSSSCCSSCSCSCSCCCSCCCCSSCSCCSSSCSSSCCCCCSCSSCCSSSSSSCCSSCSCSCCCCCCSSCCSSCSCCCCSSCCSSSCSCCSCSSSSCCSSSSSSCSSCSCSCCCSSSSSCSSSCCSCSCCCCCSSSCSCSCCSSSCSCSCSSSCCSCSCSSCSCCSSCCCCSSCCSSSSSCSSSSCCCSSSSCSSCCCCCSCSSSSCCCCSSSSSCSSSSSCSSCSCCSCCCSCSCCSSCSSCCSCCCSSCCCSSCCSSSCCCCSCCCCSSCSSCSSSSCSSSSSCSSCSCSCSSSSSSSCSSSCSSCSSSCSSCSCCSSCSSSSCSCCCCSCCSSCSSCCSSSSSCSSCCSCCSCSCCCCCCSSCCCCSCSSCSSCSCSCCCCCCCSSSSCCSSSCSSSSCCCCSCSSSCSSCCCCSCCSSCSSSCCCSSCCSCCSCSSCSCCCSSCCCCSSSSCSSSSCCSCSSCSSCSCCSSSCSSSCCSSSCSCSSSSSSCCSSSCCSSCCCCSCCSSCCCCSCSCCCSCSSCCCCSSCSCSSCSCSSCCCSSSSCCCSSSSCCCCSSCCCCSCCSCSSCSCCSCCSSSSCCCSSCCSSCSCCCCSSCCSCSSCCCSCSSCCSCCCCCCSCCCCSSSCCSSSCCSSCSCCSSSSSSSCCSSSCSSSSSSCCCCCCCSSCSSCCSCSSSCCCSSCSCSSCCCSSCCCCSCSCSSCSCCCSCSSSSSCCCCCCCSSSCSSSCCCCSSCCCCCSSCCCCSCSCSCCSSSSSSSSSSCCCCSSCCCSCCSSSCCCCCSCSSSSCSCCSSSSCCSSCSSCSSCSCSCCCCCCCSSSCSCSSSCSCSCSSSCSCCCCSCSSSSSSSSCSSCCSSSSCSCSCCCCSSSSSCSSSSSCSCCCSCCCCSCSSSSCCCCCSSSCCSCSCSSCCCCCCSSCCSCSSSSSSSCCCSCSSCCSSSSCSCSCCSCCCCCSCSSSCCSSSSSSCCCCCSSSCSCSSSCCCCCCSCCCSCSSCCCSCSCSSCSCCCCCCSSCSSCSCCCSSCCSSCCCCCCCSSSCSCCCCSSCCCSCCCCCSSCCSCCSSSSCSCSCCCSSSSCCSCCSCCCSSSSCCCCSSSCCCSSCSSSSCSSCCSCCSCSSCSSSSCCSSCSSCCSCCCCCCSCSCSCCSSCCSCCSSCSSSCCSSSCCCSSCSCCCCCSSSCCSCSSCSSCSCSSCCCSCSSSCCCSSCSSCSSSCSSCSSSCSSSCCSSCSSCCCSSSCCSCCSCSCCCCSCCSSSSSSCCSSSCSCSSCCSSSCSCSSCCCSCSSCSSCCSSCCCSSCCSSSSCSSSSSSCSSSSCSSSSSSCCSSSSSSSSSSSCCSCCCCSCSSSCSSCSCSCCSCCSSCCCSSCSSSCCCCCSSSCSSCCSCSSCCSSCSCSCCSSSSSCSSSSSSCSSCSSSSCSSSSSSSCCCSSSCCCCSCCCCSCSSCCSCSSCSCCSSSSCCCSSCCSSCSSCCSCSCCCCCSSSSCSCSCCCSSCSCCSSSCSCSCSSCCSSCSSSSCSCSCCCCCCCSSCCSCCCSSCSSSSSSSCSSCCCSCCCSSCCSSCSCCCSCSSCCCSCCSCCSSSSSSCSSCCCCSCCCCCSCSSCSCSSCSCCSCSCSCCCSCCSSCSSSSCSCCCSCCSCCCCSCCCCCSSCCCCCSSCCCCSCSSSCCSSCCCSSSCSCSSSSSSCSSCCSCSCCCCCCSSSSSCCCCSSSCSCCSSSSCCSCCSSSSSSSSCCCSCCSSSSSCCCCCCCCSCSSCCSSSCCCSCCSCSCCCCCCSSCCCSSSCCSCSSSCCSSSCSSSSSSSSCSSSCCSCCSSSCSSCCCCCCCSSSCCCSSSCCCSCCSSCSCSCCSCCSCSCCCCCCSCSCCSCCCCSCSSCSCSSSSCSSCCCSSSCCCSCCCCSSSSSCSCSSSSCSSCSSCCCCCCSCCSSCCSSCCCSSSCSSCCSCSSSSSSSSCSCSSCSSCCCSSSCSSCSSCCCSCSSCCSCCSCCSSSCSSCCCSCCSCSSSSCCSSCCCCSSSSSSCSCCCSCSCCSSSCCSSCSCCSCSSCCCSCCSCSSSSCCSSSSCCCCSSCCCSSSSSCCSCCSSSSSCSSSCSCCCCCSSCSSSCCSCCSSCSCSSCCSSSCSSSCSSSCCSCCSCSCSSSSSSSSSCCSCSSCCCSSSCCSCSSSSCCCSSSSCSSSSSSSSSSCSSCCSSSSCCSCSSCSSSCCSCCSCCSSSCCCCCCSSSCSCSCSCSCSSCSSCSSSCSCCSSCCSSCSSCCCSCSCSCSSSCSCSCSSSCSSSCCSCSSSSCCCCCSCSCCCSSCSSCSCCCCSSSSSCSSCSCCCSCSSSSSSCSCSSSCSSCSCCCCSSSSSCSCSCCSCSCCCSCCCCCCCSCSCSCSSSSSSCCCCCSCSCSCSCCSSSSCSSSCCCCCCCSCSSSCCCCCSSSCCSSSSSCCCCCSSCSCSCSCCSSSCCSSCSSCSCCSSCCCSSSSSSCSCSCSCCSCCCCSCSCCCCCCSCCCSCSSSCSCCSCCCCCCSCSCCCCCCSSSCSCSCSSSCSCSCCCSCSCCCSSCCCSCSSSSCSCCSCSSSSCSCCCCCSSSSSSCSCSCCSCSCCCCSSCCSCCCCSSCCCCCCCSCSCCCCCSSCSCSCSSSCCSCSSCCSCSSSCCSCCCCSCSSSSCCSCCSCCSSSSSCSCCCCSSSCCCCCCSCSCSSSSCSSSCCSCCCSCSSCCSCSCSCCCCSSCCSSCCCCSCSSCCCSCSSSCCSSCCCSSCCSCSSSCSSSCCSCSSCCCCCCCCCSCSCCSSSSSSCSSSCSCCSSSSCSCSSSSSCCSSSCCCSSSSSSSCCCSCCSSCSSSCCSCSCCCCSSCSSSCCCCSSCCSSSSSSSCSCCSSSCSSSCCSSCSCSCSSCCSCSCSCCSCCSSSCCCSSCCSSSCCCSSCCSCSCCSSSCCSCSSSSSCCCSSCSCCSCSSSSSSCCSSCSSSCCSSSCCSSSCCSSSCCCCSSSCCCCSCSSSCSCCCSCSSCCSCSSSSCSSSCSCSSCSSCCCCCCCSCCCSCCSCCCSCCCCCCSCCSCSCSCSSSSSSCCCCCSSSSSSCCCCSCSSCCSSCCSSCCSSCCSSCSSSCCCCSSSSSCCCCSCSSSCSCCCSSSCSCSSCCSSCSSCSSSSCSCSSSSCSSSSCCCSCSCSSCCSSSCCCCSSCCSSSCCCCCCSCSSSSCCCSCCCSCSCSCCSCCCCSSCCCSSCSSCSSSCSSSSCSSSCSSCCSCSCSSCCCCCCCSSSSCSCSCCSCCCCCCCSCSSCSCCCCCSCSCCCSSCSCCCCSCCCCSCSCSCSCCCSSCCSCSCCSCSSCCSCSSSCCCSCCSCCSCCSSCSSSCSSCCCSSCSSCSCCSSSCCSCCCCSSSCSCCCCSCSCCCCSCCCSSCSCCCSCSCSSCCSSSSCSSSSSCCCCSSCCSCCCSSCCSSCCSCSCCCSSSSCCCSSCSCSCCCCSSCCSCCSSCCCCCSCCCCCSSSSSCSCCCCCCSCSCCSCSSSCSSCSCCSSSSSSSSCSCSSSSCSSSCSSCSCCSSCCSSCCCCCSSSCSSCCSSCCCCCSSCCCCCCSCSCCCSSCSCSCSSSCSSSSSSSCCCSCSCSCSCCSCCCCSSSCCSSCSCCSSCCSCSSSSCCCSSCSSSCCCSSCCSCCSCSSCCCCCSSCSCSCSSSCCSCSCSSSCSCCCCCSCCSCCCCCSSCSCCSCSSSSSCCSSSSCSCCSSSSSCSSSSSSCSCCCSCSCSSSSSSCSCCSCSSSCSCCSCSSSSCSSCSSCSSCSSCSSCSCCCSSSCCCCCSSSSCCSSCSSCCCCCCSSCCCCCCSCCCCSSCCSCSCSSCCCSCSCSCCCCCCSCCSSSCSSCSCCSCSCSSSCCSCCSSSSCSSCCCCSSSSCCSSCSCSCCSCCCCCCSSCCSCSSSSSCSCSSSSCSCSCSCSSCCSCSSCCSSSSCSSSSSCCSCSCCSSSCSCCCCSCCSCSSCCSSSCSSSCCCCCCCSSCSCCSCCCCCCSCSCSCCCCSSSSSSCSCSSSCCCSSSCCCSCSSCCCSSCCCSCSCSCCSCSSCSSCSCSCCCCCSCCSSSSCCSCCCSSCCSCSCCSCSSCSCSCSCSSSCSCCCCSCSSSCCSSCSCCCSSCSSCSSSSSSSSCCSCSCSSCCSCSCCSCSCSSCSCSSSSSCSSSCSCCSSCCSCSCCCCCCSCCCCCSSCCCSSCSSCSCCCCSSCCSCCSSCCSCCSCCCCSSCCSSCCSSCSCSCSCSSSSCSCCCCSSSCSSCCCSCCCCCSSSSSCCSCCSCCSCCSSSCSSCSSCCSSCSSSCCCSCSCCSCCCCCSCCSCSCCCSCCSSSCSSCCSSCSCCCCSSCSCSSCCSSCCCCCCCSCSCCCSSSCCSCCCCSCCCSSSCSSSCCCSCCSCSCSSCSCCCCSSCCSCCCCCSCCSCCSSSSSCCCSSCCSSCSCCSSSCSCSSCSSSSCSSCSCSCSSCSCCCSCSCSCCSCSCCCCSSSSCSSCSCSCCCSSCCCSCSCCSCSSSCSCCCSSSSSCCSCSCSCCCCSSSCCCSCCSSCSCSCCSCSSSCCSSSCSSCSSCSCCSSCCSSSCCSSCSSCSCCCSCCSSCSSCCCCSSCSSCSSCCCSSSCSCCCSSCCCCCCCCCCSCCSCSSCCSCSSSSSSCCSSSSSSCCCCCCCSCCSCSCCCCSSCCCCSSCCSSCCCSSCSSCSCCCSCSSCSSCSCSCCCCCSSSSSCCCSSCCCSSSCSSCCCSCCCCSCCCCSCSCCCCCSSCCCSSCSCCCCCCCSSSCSSCCCSCSCCCCCCCSCSSCCCCCSCSSSCCSCSCCCSSCCCSCCSCCCCSSCCSCCSSSSCSSCCCCSSCSSCCCCSSCSSSCSSCSCCSCSCCSSSSSSCCSCCSCSSCCSSSSSSCSSSCCSCCSCSCSSCCSSSSCCCSSSCCCSCSCSCSSCSSCSCCSSCCSCSSSCCCSCCSSSSCCSSCSCCSSSSSSSSSSSCSCCSCCCCSCSSSSCCCSSCSCSCSSSCCSCSCSCSSSSSCSCSCSSSSSSCCCSSCCSCSCSCSCSSCCSCCCCSCCCCSCSSCCCCSCSSCSCSCCSCCCSCCSCCCSSSSCCSSCSCSSCCCCCCCCSCSCSSCCCCCSCCSSSCCSSCSCCCCCCCCCCCCCCSSSCCCCSCSCCSSSSCSSSCSCCSSSSCCCSSCSCCCCSCSSSSCSSSSCCSCCCSCSCCSCSCCCSCCCSCSCCSCCSCSSCSSCSSSSSCCSCCSSCCSCCCSCCSCSSCSSSSSSCCSCCCCCCSCSSCCSSSSSSSCCSSSSCCCSSCSSCSCSSCCSCCSCCSSSSCCSCCSCSCCCSCSCSSSSSCSCSCSCCSSSCSCSSSSSCCSCCSSCSCSSSSCCSSSCCCSSSCSCCCCSSSCSSSCSSSCSSSCCCCCCCCCCCCCSCSCCCCCSCCCSCSCCSCSSCCCSCSSCCCSCCSSCCCSSCCCCSCCCSCCCCCSCSCCCCCCCSSCSSCSCSCSSCCSCSCSSSCSSCSSCSCCCSCCSSCCSSCSSSCSCCSCSSSCCCSSCSCCSCSSSCSCCSSSSSSSCSSCSSSSSCCSSCSSSSCCCCCCSSSSSSSCSSSCCCCCCCSCCCSCSCSCCCCSSCSCCSSCSSSSSCSSSCSCSSSSCCCSSCCCSSCCCSCCSCSSCCSCCCSCSSSSSCCSCCCSCCSCCSCCCCCSCSCSCSCCSCSCSCCSSSSCSSSSSCSSSCCCSCCSSSCSCSSSCSCSCCCCCCCSSCSCSSSSSSCCCSSSSCCSCCSCSCCCSCSCCCCSCSCCCSCCSSSCSSSCSCSCCCCSCSCCSCSCCSSSCSCSSCCSSCSCSSSCCSSCSSSSSSCSCSCSCSCCSCSSCSCSCSCSCCCSCSCSSSSCCCCCSSCCSCSSSCSCCSCCSCCCSCCCCSCSCCSSSSSCSCCCSCSSCSCCSCCSCCSSSCCCSCCSSCCSSCSCCCCCSSSSCCSSSCCSCSSSSCSCCSSCSSCCSCCCSCSSCSCCSSSSCSSSCCSCSSCSCSCCSSCSSCCCSCCSSCSSCSCSCSSCCCSCSCSCCSCCCCCCSSCCCSCSCSSCSCSSCSSCSCCCCCCCSCCSCCCSSSCCCCSCCCSSCSSCCCCSSSSSSCSSSCCSCCSSSCCCSSCSCSCSCCCSSCSCCSCCSCSSSCCSSSCSCCCSSSSSSCCCSCSCCCCSCSCCCCSSSCSCCCCCCSCSCSCCCSSCCCCCCCCSSSCCSCSSSSCCSSSCSSCCSCSCCCCCCSSSCCCCSSCSCSCCSSSCCCSCCCSSCCSSSSSCSCSSSCCSSCSSCCSCCSSCCSCSSSSCSCSCCSCCCSCCCCCSSSSCSCSCSCSSSSSCCSSSSSCCSSSCCCSCSCSSCCCCCSCCCCSSSSSSCCSCSSCCCSSSCSSSCSCSSSSSCSCCSCSCSCSSCSSSCCCCCSSSCSSSCSCSCSCSSSCSSCCSSCSCCSSSSSSCSSSCSSSCSCCCSCSSSCSSCSSSSSSCSSSCCCCCCSSSCSSSCSSCCCSSCSSSCSCCCSCSCCSCCSCSCCCCSSCCCCSSCSSSCCCSSCSSCSSSSSSCSSSSCSSCCCSCCSCCSCCSSCCSCSCSCSSSCCSSCSCCSSCSCSCSSSCSCSCSCSSSCSCSSCSSCCCSCCSSSCCCCCSSSCSSSSCSSSCCSSCCSSCCCCCSCSSSSSSCSSCCSSSSSCCCSSCSSSSCCCCCCSSSCCCCSSSSSCCSCCCSCSCSCCSCCCCSSCSSSSCCSSSSCSSCSSCSSSCSSCSSCCCSCCSSSSCCSSCSCCSCCCCSSCCCSSSCSSSCCCSSSSCSCCCCSCCCSCCCSSSCSSCSSSSCCSSSSCSSCSSSCCSSSSCSSSSCSCSSSSSCCSSSSSSSSCSSSCCCSSCSSSSSSCSSSSCSSSSCSSSCCSSCSSSSSSSSCCCCSCCSCCSSCSSSCSCSSCCSSCCSCCCSCCSSSSCCCCSSCCCSSSCSSSSCCSCCSCCSSCCSSCCCCSCSCSCCSCSSCSSSCCCSCCCCCCCSSCSSCCCSCSCSSSCCCSSCCSSCSSCCCSSCCSCSSSSCSCCSSCSCCSCSCCCSSCCCSSCSCSSSCSCSSSSCCSCCCCCCSSCCSSSCSSSSSCCSCSSSCSCCSCSSCSSSSSCSCSCCSCCCSSSCSSCCCCCCSCCSSCCCSCCSCCSCSCCSSSSCCCSCCSSCSSCCSSSSCSCCSSCCCCCCSSSCSSCSSCCSSSCSCCCCSCSSSCSSSSCCSSCSCCSSCCCSCSSSCSSSCCCCSSCCSCCSSCCCCSCCCSCSSSSCSCCCSSCSSSCSCCCCCSCCSCCCCSCSSSSCSCSCSSCCSSCCCSCSCCCSCCSSCSSSSCSCSSCCSCSSSSSSCSSCCCCCSSSCCCCCCSCCSSSSSSCCSSSSSSSCCCSCSCSCCSCCCCCCCCSSSCSCCSSCCSCCCSSSCSSSCCSSSCCSCCSSCCCCSSCSCCSCSCSCSCCCSCSSCCCSCSSSCCSSSCSCSCCCSSCSSSSCSSCSSSCSSCCCSSSSCCSSSSCCSSSCSSSCCSCCCSCSCSCCSSCCCSSSCCCCSSCSSCCCSCSSSCSSSSCSCSSCSCSSSSSSCSCSSCCCSSCCCSSSCCSCSSCSCSCSCCSCSSSSCCSCSSSSSCCCSCCSSSSSCCCCCCCCCCSSCSCSCCCSCCCCSCCSCCCSSCCCSSCCCSSCSSSSSSCCSCSSSSCSSCSCSCSSSCCSSSSSSCCCSSSSSSCCCCSCCCSSCCSCSSSSSCCCCSCSCCSSCSSCCSCSCCSSSCCCSCSCSCCSSSCSCCCSSSCCCSCCSCSSSCSCSSCSSCSCCSSCCCCCSCCCSCSCSCSCSSCCSSCCCSCSSCSCSSSCSCCCCSCCCCCSCSCCSSCCCSCSSSSSCSCSCSCCCSCCCSSSCCSSCCCCCCSSCSSSCCSCSSCSSSCCCSSCCSSCSSCCCSCSSSSCSCCCSSSSCCCSSSSSCCSSSSCSCCCCCCSCCCCCCCCSSCCSCCCSCSSCCCSSCCSCSSCCCCSCSSCCSSCCSCCCSSCSCSSSCCSSCSSSCCSCSCSSCCCSSSSCSSSSCCSSSSSSSCCSCCSCSSSCSSSCCSSSSSSCCCSCSCSCSSCSSCCCSCSSSCSSCCCCCSCCSSCCSSCSCCSSCCSCSSCCCCCSCCCCCCCSCCCCSCCSCSSCCCSSCCSSCSCCCCCSSCSSSCCCCCCCSSCSCCCCCCCSSCCSCCSCCSCSSSCCCSSSCCSSSCCCSSSCSSCSCCCCCCSCSSSSSSSCSSCSSCSSSSSSCSSSSCSSCCSCCCCCSSCSSSCCSCSCSCSCSSSCSCCCCCCCCCSCSCCSCSCCSCSCSCSSSCSSCSSSCCSCCSSCCSCSSCSSSSSCSCCSSCCSSSSCSSSCCCCCCCSCSCCCCCCSCCCSSSCSCSCSSCSCSSCSSCCCCSSSCCCCSCSCSSSCSSSSSCCCCCCSSSCCSSSCCSSCCSCCCSSSSSCSSCSSCSSSSCCSCSCCCCCSSSCCCSCSSSCSSCSSSSSSSCSSCCSCCCCCCCCCCCCSSCCCSCCCSCCSSSSSCCSSSSCSSSSCSCSCSSCSCSSSCSCSSCSSSSCSCCSCCSCSSCCSCCSSSCCCSSSCSCSSSSCSSCCCCSSCCCCCCSSSSCSSCCSSCCCCCSSCCSCSSSCSSCCCCSCSSCSCSSCCSSCSSSSCCSCSSSCCSCSSCSCSSSCCSCCSCCCSSCCCSCCSCSCSCCSSCSSCSSCSCSCSCSSSCCSCCSCCCSSSSSCSCCCSCCCCSSCSCSSCCSSSSCSSCCCCCSSCSSSCCSCCCSCSCSCCSCSCCSCCCSCSSSSCCCCCSSSCCCSSSCSSSCSSCCCSCSSSSCCCCSSSSCSSCSSCSCCCSSCSCCCCSSCSCCCCSSCCSSSCCCSSCCCSSSCCSSCSSCSCSCCCSCSCCCSCSCCCCCSSCCSSSSCCCSCCSCCCSSCSCCCSSCCSSCCSCCSSSCSSCCCCSCCCSCSSSCSCSSSCCCCCSCSSCSSSCCSSCSSSCCSCSCSCCCSSSSSSCSCCCSSSSSCSCCCSCCSSCSSCSCCSSSCSSSSSSCSCCCCCCSSCSSCSCSSSSSCCSSCSCSSCSCSSCSSSSSCSSSCSCSSSSCSCSSSSSCCCSCCCCCCCCSSCSCCCSSSSSCSCSCSSSCSCCSCCCSSCCCSSSCCCCCCCSSCSSSCSSCSCSCCSCSCCCCCCSCSSSSCSSCSCSCCCSCSCCSSCSSSSSSCSSCSCCCSCCSSCCCSCCCSSSSCCCCSSSSSSSCSSSCCSSCCCSSSCSSSCSCSSCCSSCSCCCCCSCSSCCCSCCCCSCCSSCSCSSCSSCCCCSSSCCSCSSSCCSSSSSCCSSSCCSSSSSSSSCSCSCSSSCCCSCCSCSSCCCCSSCSCCCCCSSSSCSSSSSCSSCSSCCCCCCSCSCCSSCCSSCSSSCSCCCSSCSCSSCSCCCCSCSSCCSCCCSCSCCCCSCSCSSSCSSSCSSSCCCCSCSSCCCCSCSCSSCSCSSSCCSCSCCCCCCCSSCSCSSCSCCSCSSCSSSCCSSSSSSCCCCCSSCCCCSCCSCSSCSSSCCSSSCSSSCCSCCCCSSCSCCCCSSCCSCSCSSCSCSSCSCSCSSCCCSCSSSCCCCSCSCSCCCSSSSSSCCCSCSCCCCCSSSSCCSSCSSSCSSCSSSCSSCCCSSSCSSSCSCSSCSCSSSSSCSCSSCCSSSSSSSCSCSSCSSSSCSSSCSSCSSCCSSSCCCSSSSCSCCSCCCSCSSCSCSCSCSCSCCSSCCCCCCCCCCSCSCSCSSCSSSCCCCCCCCCCSCCCSSSSCSCCCSCSSSCSCSCCCCSCSSSSSSCSCSSCSCCSSSCCSSCCCCCCSSCCCCCSSCCCSSSSSSSCSCSSSCSCSSSCSSCSCCCCCSSSSCSCSSSCCSCSSSSSSCCCSCCSSCSCSCCSSSCCSCCCSCSCCCSSCSCSSSCSCSSSCCSSCCCSCSSCCSCCCSSSSSSCCCSCSSCSSCSCCSCCCSSCSCSCCCCCCSCCCCSCSCCSSSCCCCSCCCCSSSCSSCCCSCSCCSCSCSSSSCSCSSSSSCCCCCCCSCSCSSSSCCSCSSSSSCSCSCSCSCCCCSCSCSCSSSCCCSSCCSCCCSCSCCSSCSCCSSSSCSSCCSSCCCCCSCCSSCSSSSSCSSCSSSCSSSCCSSSCSSCCCCCCSCCSSCCSSSSCSSSCCCCCCCSSCCCCCCCSCSCSCCCSCCSSCCSSCSSSCSCCCSSCSSCSCSSSCSCSSSSSSSSCSSCSCCSSCSCCCSSCCSCCCSSCCCSCCSSSCCCSCCCCCSCSSCCCCCSSSCSSCSSSSSCSCSCCCSSSSCSCSSCSSCCSSSCSCSSSSSSSSSSSCCCSCCCSCCSCSSCCSSSCSCCCCCSSCSSCCCSCSSSCCSCCSSCCSSSSSSSCCCCCSSSSCSSCCCCCCSSSCSCSSCSSCCSCSSSCCSCSCSCSSSCSSCCCCSCCCSSCCCSCSSCCSSCSSSSSSCCSCCSSSSSCCCCCSCCSSCSSCSSSCSSSSSCCCCCSSCSSSSCSSCSSCSSCSCCSSSCCSSSCCCSSCCSSSSSSCSCSSSCCCSCSSSSCCSSCCSSCSCCCSSSCSCCCCSSSCSSCCSSCCSSSCCSSSSCCCCCCSCSSCCSSSSCSSCCCSCCSSSCCSCCCSSCCSSSSCCCCSSCSSCCSSSCCSCSSCCCCCCCSCSSCCSSCCCCSSCCCCCSSCCSCCCSSCSSCCSSSCSCSCCCCCCCSCSCSCSSCSSCSSSSSSCSCCCSCCCCCCCCCSSSCSCCCCCSSCSCCCSCSCCSSSSSCSSSSCCSCSCSCSCSSSCSCCSSCSCCCCCCCCSCSCCCCSCSSSCCCCCCCSCSCSSSSCCSSCCSCSCCCSCCSCCSCSSCSSSCSCCCSCCSSCSCSSCSCCCCCSCSCSSCCCSSSSCCCSSCCCSSCCCSSCSCSCSSCCCSSSSSCCSCSCSCSCSCCCCSCSSSCCSSCSSSSSCCCCSCCSSCCSSSSSCCCSCSSSCCSCCSSSCSCSCCSCSSCSCCCCCCSCSCCCSSSCCSSCCCCSCSCSCSCCSSSSCCSCSCSSSCCCCCCSCSSSSSSSSCCSCSCSCSSCCSSCCSSSCCSSCSSSCSCCCCCSSCSCCCCSCSSCSCCSCCCSSSSSCCCCCCSSCCCSSCSCSSSSSSCCCCCCSSCCCCCSSCSCCCCSCCSCSCSSSCCSSCSCCCCCSCCCSSSCCCSCSCSSSSCSSSCCCSCSSSSSSSSCSSSSCCCCSCSCSSSSSCCCSSCCCCCCCCSCSCSSCSSCCCCCSSCSSCCCCCCSSSCCCSSCCSSSSSCCSCSSSCSSCCCCSCCSSSSCSCCSSSSCCCCCSCCCCSSSCCSSSSCCSCCCCCSSSCSCSCSCCSCSSCCCSCSCSSCSCCCSSSCCSSCSCCSCSSSSCSSCCCSCSCCCCSSSSSCSCSCSSCCSCSSSCSSCSSSSSSSSCSCCCCSCSSCSCCCCCSSSSSCCCCCSSCCSCSSSCSCSSCSSCSSCCCSSSSCCSCSSSCCCSCSSSSCCSCCCSCSSCSSCCSCSSCCCCCCSSSCCSSCCSSSCSCCCCCCSSCSCSCCSSSCCSSCCSSSSCSSCCSCSSCCCCCSCCCCSSSSCCCSSSSCSSCCSSSSCSCCCSSCCCCSCCCCSSCCCSSSCSCCCSSSSCCSSSCSSSSSCSCSCSCCSSSCCSSSSSCSCSCCCSSCCCSCCCCSSCSCCCCCSCCCSCSSCCSCCCSCCCSSCCSSCCCCCCSCSCSCSCCCCCCSCCSCSCSSSSCSSSCSSCCCSSSSCSCSSSCSSSCCSSSCSSCCCSSCCSSSCSCSCCSSSSCSSSSSCSSCCCSSSSSSCSCSCSSCSSCSSCSCCCCSSCCCCCSSSCSSSSSSCSSSSCCSSCSCSCCSCCCCCSCSCCSCCCSSCCSSCSSCSCSSSCCSSCSCSCCCSCSSSCSCCCCCSSCSCSSSCCSCSCCSSSSSCCCSSCSSSSSSCCCSSCCSCCSSCCCSCCSCCCSSSSCCSSSCSCCCCCCSSSCCCSCCCCCCCCCSCSCSCSSCCSSCCSCSSCCSSSSSSCSSCCCCSCCCSCSSCCSSSCSCSSCCSSSCSSCSSCSCSSCSSCSSCCCCSCCCCCSCCCCSSCSSSCSCCSCCSSSSCCSSSCCSSSCSCSSCSCSCCSSCSSSCCSCSCSCSCSSCCCSCCSCCCSCSCCSCCSCSSCCCCCSCCSSSSSCSCCCSSCCCCSCCSCSSSCSSCCSSSCCCCCCCCSCCCCSCCSSCCCSCSSCCCSCSSSSCCCSCSCCCCSCCSSSCCSSCCCSSCSSCSCSSSCSSSSSSSCCSSCSCSCCCSSSCCCCCSSSSSSCSSSSSSCCCSSSCSSCCSCSCSCSSCCSCSCCCSCSCSCSSSSSCCSCSCSSSCSSCSCCSCSCCCCSCCSSSSSSCCCSSCCCCCSCSCCSSCSCSCCSSCCSCCSCSCSCSCCCSCSSCCCCCSCCSSCCCSCCCCSCSSSCSCSCCCSSCSCCSCCCCSSCCSCSSSSSSCSSSCCCSSCSCCSSCCCCCSCCCCSSCCCCCCCSCCCSCCSSSSSCCCCCSSSCCCSCSSCCCCCCSCSSSCCCSSCCCSCCSCCCCSSSSCSCCCSCCSCSCSSCCSCSCSCCCCCCSCCCCCCSCCSSSSSSSCCSSCCSSCCSCSSSSSSCCSCSCCCSSCCSSSSSSCCSCSCSCCCCCSSCSSCSCCSSSCSCCSSCCSCCSSSCSCSCSCCSSCSSSCSCCSSSSCCCCSCCSCCCCSSCCSCCSSCCSSCSCSSSCSSCSCCCCSCCSCSCCCCCCSCCCSSCCSCSCSCCSSCSCCSSCCSCCSCCCSCSSCSCCSSSCCCCCSSCCCCCCSCSSSSSCCCCSCSCCSCCCCCSSCSSSSSSSCSSSCCSCSCSSCSCCCCCSCSCCCCSSSSCSSSCCCSCSSSCSCSCCSSSCCSCCCSCCSCCCCSCSCSCCCCSSSCCCCCCSCSCCCCCSCCSCSCSCCSSSCSSSCSSSCSCSSSCCSCCSCCCSSCCCCCSSCCCSCCCSCSSSCSCCSCCSCSCCCCSCSCSSSCCCCCCCCSSCSCCCSCSCCSCSCSSSCCSCCCSCSSSSSSSCCSSCSCCCSCCCCSCCSSCCSCCSCSSSSSCCCCSCSSSSSCSSCCSSCSSCSSCCSCCSSCSCSCSSCSCCCSSSCSCCSSSCSCSSSSSCSCSCCSSSSCCCCSSCSCSCSSCSCSSSSSCSCSCSCSCCCCSSCCCCSSSCSSSCSSSSSCCSCCCCSCCSCCCCCCSSCCSSCSCCSSSSSCSCCSSCSCCSSCCSSSCCSSSSCCSSCCCCCSCCSSCCCCSCCSSSCCCCSCSCCSSSCCCCSCSCSSSSSCCCSSSCSCSCCSCCCSSSCSCSSCSSSCSSSCSCSCCSSCCSSSCSSCSCCCCSCCSSCCCSCSSCSCSCCSSSSCCSCSCSCSSCCCSCSCSSCSSCSCCSCSSCSSCCCSSSCSCCCCCSCSCCSSCSSSCCSSSSSCCSCSCSSCSCCSCSSSSSSCSCSCCCCSSSSSCSCSSCCCCCCCCSSSSCSSSSCCCSSSSCSSCSSSCCSCCSSSSCCCSSSSCCSSCSSCSSSSCCSSCSCSCCCSCCSCCSCSCSCCSCCSCSCCCSSCSSSCSSSSSCCSSSCCCSCCSCSSCCSSSCSSSCCSSCCCCSCCCCCSSCSSSCCCCCSSSSSCSSSSSSCCSSSCCSCSCCCCSSSCCSSCCCCCCCSCCSSSCCSCCCSSCCSCSSCCSSCSCSSCSSCSCSCSCSCSSCCSCCCCCSCCSCCSCCSSCCSCCCSCSSSCSCSCCSSSCSCSSSCSSSCSSCCSCCSSCCCCSCCCCSCSSSSCSSCSSCSSCSSCSSSSSSSSCSCCSCSCCSCSCCSCCSCSCCCSCCCCCCCSCCCSCCCSSCSCCSCSCSSSCCSCCCSCSSSCSSSCSCSCSSCSSCSCSSCSCSSSSCSCSSSSCSCCSCSCCCSCCCCSSCCCSCSCCSCCCCSSCCSCCSCSCCCCCCCSSSSSCSSSSSSCCSCSSCSSCSSSCSCCCCCSCSCCCSSCSCSCSSCSCSSSSSCSSSCSSCCSSCSSSSSSSCCCSSSSCCSCCSCSCCSCCCCSCCCSSCCCCCCSSCSCSSSCSCCCCCCSSCCSSCCSSCSCCCCCCSSCSSCCCCCSCCSCSCCCSCCSCCCSCSCSSSCCCSSCSSCSCSSCCCSCSCCSCCCSSSCSSSSSCCCCCSCCCSCCCCSCSCCSCSCSCSSSCCSCCSSSCCCCCSCCCCCSSSCSSCCSCCCSSCSCSCSSSCSSSSCSSCSCCSCCCCSCCCSSSSSCCSCCSCSSSCSSSCCSSSCSCCSSCCCSCSCCCCSCCSSCSSSCSCCCSCSSSSSSSCCCCSSSCSCCSSSSSSSSSSSSSSCSCCCSCCCSSCCCSSSCSCSCCCCCCCCCSSCSSSSSSCSSSCSCSSSSSSCSCCCCSCCCCSSSCSCSSCCSCSCCSCCCSCSSSSSSSSCCSSCCSSSCSSCCSCSSSSCSSCSCSSSSCCSSCCSCSSSCSSCSCSCSCSSCSCSSCSSCCCSCSSCCCCCSSSSCSCCCSSCSCSSSSCSSCCSCSSSCSCCSSCCCCCSSCCSCSCCSSSSSSCSSCSSSCCCCSCSSCCSSSSCSCCSSCSCCCCSSSSSCSSCCCCSCCCCCCCSSCCCCCCSCSCCCSSSCSCSSCCCCSCSSCCSCSCSCCCSCSSCCCSCCSSCSCSCCSSCCSCSSCCSCSSSCSSCCSCSCCCSCCSCCCSSCSCCSCCCSSCSSCCSCCSSSSCSSCSCSSCSSCCSCCCSCCSSCSCCSSSSSCCSSSSSSSCCSCCSCCSSSCCCCCCCSCCSCCSCCSSSSCSCCCSCSCSSSCSCCCCSSCCCCSCSSSCCCSCSCSCSSCSCCSCSSCSCCCCSCSSSCCSSSSSSSCCSCSSCSSSCCCCCSCCSCCCSCSCCCSSSSCCCCSSCCSCSCSSSSCCSSSCCCSSSCCSSSSCSSCCCCCSCCCSSSSSSSCCSSCSSSSCSCCSCCCCCCCSSCSSSSCSSCSCSSSSSSSSCSSSCSCSSCSCCCSSCCSCCCCCSSCCCCSSSCSCSCSCCSCCSCSSSSCCCCSCSCSCSCSSCCSCSCCCSSCSCCSSCCCCCSCSSSCCSSSCSCSCCSCCSSCSCSSSSCCCSCSCSCCCCCCSSSSCCSSCSSCSSSCCSSSCCCSCCSCSSSCSSCCCSSCCSSCCSCCSCSSSCSCSSCSSSCSCSCCCCSSSSCCCCCSSCCSCSCSSCCSCCCSSCCCSCCSCSCSSSCSCCCCSSCSSSSCSSCCSCSCSCSSSSCSCCCSSSCSSSSSSCCSCCCSCSCCSSSSCSSSSCCSCSSSCSCCSCSCSCCSSCSCSCSCSCSSCCSSCSCCCCSSSCSSCCCSSSCSCSSSCCCSCSCCCSCSSSCCSCSSCCCSSCSCSSSCSSSSSCSSCCSCCSSCCCSSSSSCSSCSCCCSCCCSSCCSSCCCSSSCCSSCCSSCCCCSCSCSCSCCSCSCSSSSSCCSCSCCCCCSCCSCCSCSCSSCSCCCCSSSCSSCSCSCCCCSCCCSCSSSCSCCSCCCSSSSCSSCSCCSCCCCSCSCSSCSSCSSCSCCSCCCSSSCCSSSCCCSCCCSCSSSCSSSSSCCCCCSSSSCCCCSCCSCSCSCSSCCSCCSSCSCSSCSSCCSCCCCSCCCCCCCCSSCCSSCCCCCSSSSSSCSCSCCSSCSCSSCSCCCCSCCCSSCCSSSSCCCSCSCCSSSSSSCCSSCSCSSSSCSCCCSCCCCCSCSSCCCCSSCCCSSSSSSCSSCSCCCCSSCSCSCSCCSCSCSSCCSCSCCCCSCSCSSSCCSSCCSSSSSSSCSCSCSCCSSCSSCSSSSSSSCSSCCCSCCCCCSSCCSSSSCCSSCSSSSSCSCCCSCCSCCSSCSCCSCSCCCCSSCCCSSSCCSSCSSSCSCCSCSCCCSSCSCSSCCCSCCSSCSSCCCCCSCCSSCCCSCCCCCSSCCSSCSCSCCCSSSCCSCSSSSCCCSSCSCCCCSCCSSSSSSSCSCSCSCSCCCCCSSCCSSCCCSSSCSCCCCCCSCSCCCSCSSCSCCSCSCSSSCCCCSSCSCSCCCSSSSSCCCCSSCSSSSSCSCSCSCCSSSCCCSSCCSCCCSCCSSSSCSSSCSCSSCCCCSCSSSSSSSCSCSCCCSCSSCCSCSCCCCSSCSSCCSCCSSCCSCCCSSCSSSCSSSSCSCCSSCSSSCSCCSCSCSCSSSCSSCSSCCSCSCCSSSSCSSSSSSSSCSSCSCCCCCSCCSCSCCCSCCCSCCSCSSCCSCCCSCCSSCCSCSSSSCSCCCSSSCCCCCCSCSSSCCSCSSSSSCCCCCSCSCCSSCCSCSCCCSCCCSCSSSSSCCSSSSCCSCCCCCCSSSCCSSSSSCCCCSSCSCCSSCCSCSSCSCSSSCCSCCSCCCCCCSSSSSSCSSCSSSSSCSCCSSSSCSSCCCCCSCSSSCCSSSSCSSCSCCCSSCSSSCCCCSSSSSSCSSCSSSCSSCSCSSSSSSCCCCSCCSCCSCSCCSSCCSCCCSSSSCSCCSSSSSCSCCSSCCCCCSCSCCSSCCSCCCSCSSCCSSSSCCCSCSCSCSSSSSCCSSCSSCSSCCSSSSSCSCSSCSSCCSSSCCSSSCCSSCSSCCCCCCCCCCCSSCSSSCCSSCCCCCSCCCSCCSSCCSCCCSCCCCSSCSCSSCCCCCSCSCSCCSCSCCCCSSCSCSSSCSCCSCSSCSCCCSSCSCSSCCSCCCCSSSCSCSSCCCCCSSSCSSCSSSSCSSSSSCCCSCSCSSSCSCSSCSCSCCCSCSSCSCSSCSCCCCCSSSCCCSSSSCSCSSSSCSCCSCSSCCCCSCCSCCCSSSSSCSSSCSSCSSSSCCCSCSSCSCCCSCSCSSCSSSSSSSCSSSCCSSSCSCCCCSCCCCSCSSCCSCSSCSSSCSSCSSCSSCCSCSCSSCSCCSSCCSSCSCCSSCCCSSCCCCCCCSCSCCSSSCCSCSCCCCSCCSSSSSCSCCCCCCSCCSSSSCCCCSCSSSCCCCSCSSSSSSSCCSCSCSSSSCSCCSSCCCCSSSCSSCCSSCCCCCCCSCSCCSSCSCCSCCCSCCCCCSCCSCSCSSCCCSSCSSCSSSSCCSSSCSSSCSSSCSCSCCCSSSSSSCSSCSSCCSCSCCSCCCCCSCCSCCSCCCCSCSSSCCSCSCCCSCSCSSCCCCCCSCSSSSSCCCSCCCSSCCSCCSSSCSSSSSCSSCSSCCCCCCSCSCSCCSSSCSCSCCCSCCCCCCCSCSCSCSSCSSCSSSCCSCSCCSSSSCCCSCSSSCCCSSCCSCSCSCCSCSCCSSCSSCCCCCCSSCCSCCCCSSSCSCSCSSSCSCSSSSSSSSSSSSSCSSSSSCSSCSCSCCSSSSCCSSSCSCSSCCSSCSCSCCSCSSCSCCCSCSSSSCCCSSCCCSCSSCSCSCSSSCCSCSCCSSCCCCCSCCCSSSCSCCSSSCCSSSCSSSSSSCSSSCCCSSSSCCSSCSCCSCSSSCCSSCCSSSSCSSCCSSSSSCCCCSSCSSCSSCCCSCSCSCSCSCCCCSCSSSSCSCCCSSCCSSCSSCCSSCCCSCCSCSSCCSCCSCCSCCSCCCSSCSCCCCSSSSCCSCSSCSSSSCSCSCSCSSSSSSCSSSCSCSCSCSCCSCCSCCCCSSCSCCSCCCCCSCSSCSSSCSSCSSCSCCSSCCCCCCSCSCCCSSSCCSSSCCSSSCSSCSCCSCCCSSSCCSCSSCCSSSCSSSSSCCSSCSCCCSSCSSSCCSSSCCCCCSCCCSSCCSSSCCSSSSCCCCSCCCSCSSSSSCSCCCSSSSCSCCCCCSCSCSSSSSSSSCCSSSCSCCCCSCCCSSCCSSSCCSSCCSCSSCSSSCSCSCCCSSCSSCSCCSSCCCCSSCSSCCCCCSCCCSCCCSCCSSCSCSCSSCCCCCSSSCCCCCSCCSSCSCCCCSSSSSCSSCSSCCCSCSCSSSCCCCCCSCCSSSSSCCCCSSSCSCSSSSSSCCCSSSCCCSSSCSSSCCSSCSSCSCSCSCCSSSCSSCCCSSCCSSCCCSCCSSSSSCCSCSCCSCCCCCSCCCCSSSCSCCCSSCSSSCCSCCSSCSCCSCCCSSCCSSCCCSSSSSCCCSCCCCCSSSCCCCCCSCCCSSSCSCCCSSSSCCCSSSCSSCCSSSSSCCSCCSCSSCCSSCCSSCSSSSCCCCCSSCCSSCCCCSCCSCCSSCSSSSCSCCSSCSSSCSSCSCSCSSCSCCSSCCSCSSCCSCCSCCCSSSSCSCCCCCCCCCSSCSSCCCCCCCSSSSSCSSSCSSSCSSSCSCSSSCSCSCSCCCCCSSCCSSCCSCCSCCCCCSSCSCCSCSSCCCCCSSCSCCSCCCSSSSCSCCSCSSCSSSCSCSSSSSCSCSCSCSSCCSSCSSCSSSCSSSCSSSSCSCSCCCSSCCCSSSCSCSSSCSCSSSSCCSCSCCCCSCSCCSSSCCCCSSSSCCSCCCCSCCSSCSCCSSCSCCSCCSSCCCSCCCSCSCCCCSCCCCSSCCCCCSCCCCCSCCCSSSCSSSCCSSSCCSCCCCCSSCCCSCCCSSCSCSSSSSCSCCCSCCCSSSCSSSSCSSCCSSSCSCSCSCSSSSCSCSCSCCSSSSCCCCCCSSSSSSCCSSCSSCCSCCSSSCSSCCSSCSCSSCCCCCCSSCCCSCCSCCSCSSSCSSCCCSCSSCSSSCCCCSCSCSSSSCCCSSSCCSCCCCCSCCSSCSSSSCCSSCSCCCCSCCSSSSCSSSSSSCSSCSSSSSSSSSSSSCCSSSSCSCCCCSSSSCSCSCSSCCSCSSSCCSSCSCSSSCSSSSSSSCSSCCCSCSCSCCSSSCSSSSCCSSSCCSSSSSCSCCCSCSCSSSSSSSCCSCSCSCCSSCSSSSSCCCSSCCCCSCCSSCSCCSCCCSCCCCSCSSSCSCCCCCSCCCCCSCSCCCSSCSSSSCSSSCSCCSSCCSSSCCSCCCCSCSSSCSCCCCSCSSSSSCSCCSSSSCSSCCSSCCCSCSSSCCSCSSSSCCSSCSCCCSSSSCSSCCSCCSCCSSSSSSSCSSCSSSSSCSCCCSCSSCCSCCCCSCSCSCSCSCSSCCSCCCSSCCSCCCSCSCCSSCSCSSSSSCSSSSCSSCSCCSSCCSSCSCCCCSCSCCCSCSSCCSCSSSCSSSSSCSCSSSSCCCSSCCSCCSCCCCCSCCSSSCCSSCSSSCCSSSSSSCCCCSSSCCSSSCCCSSCCSCSSCCSSCSSSSCSCSCSCCSSCCSCCCCSCCSSCCSCSSCSCCCCSCSSCSSSCSCSCCCCSCSSSSSSCCSCSCCCCCSCCCCCCCSCCCSCCCCCSSSSSSSCCSCCCSSSCCCCCSCSSSSSSCSSCSSCCCSCCCSSSCCCSSSSCSSSCCSCCCSCSSSSSSSCCCCSSSSCSCCSSSSSSCCSCSCCCCCCCSCCSCCSSSSSSCCCSSCCCSCCSCSCSCCCSCCCCCSSSSSCCCCSCCSSCCCCSCSSCSSCCCSSCCSCSSCSSCSSCSSSSCSSSSSCCSCSCCCSCSSCCCCSSCCCCSCCSCSSCCCSCSCCCCCSCCSCSSSSCSSSSCSSCSSSSSCCSSCCSCSCCCSSSCCCSSCCSSSCSCSSSSCCCCCCSCSSCCCCCCSCSCSCSSSCCCSSSCSSSCSCSCCCSCSSCSCSSSCCSCCCCSCSSSSCCCCSCSCCCSCSCCSSCSCCSSCCSCCCSSSSCCCCSCCCCCCCSCCCSSSSCSCSCCCCSSSCCSCSSSSSCCSCSSCSCCSSSCCCCCSSCSCCSCSSCCCSSSCSSSSCCCSSCSSCSCCCCSCSSCSCCSSSCSSCCCSSCSCCCCCSSCCCCSCSCCCSCCCSSSSSCCCCCCCSSSCCCCSCCCCSSSSSCSSSCCSSCCSSSSCSCCSCSSCSSCCCSSSSCCCCSCCCCSSSCSSSCSCSSCSCCSCCSCCCCCCSCCSCCSSSSSSSCCSSCSCCSCCSCCSSCCCSSCCCCSCCCCSSCCCSSCCSCCCCSCSSCSSSSSCSCSSCSSSCCSSSSCSCCCCSSCCSSCCCSCCSSCSCSSSSCCSSSCCSSSSCSSSCCSCSCSSSSSCSSSSSCCSCCSCSCSSCSSCCSSCCCSSCCSSCCSCSCCCSCSCSSCCSCCSSCCSSSCCSSCCSCSSCSSSSCSCCCCCCCCSCCSCSCCCCSCCCSCCCCCSCSCSCSCSSCCSSSSCCSCSSSCSSCSSSSCSCCSCSSSSSCCSCSCSCSSSSSCCSSCCCCSCCSCSSSSSCSSSSCCSSSCCSCCCSCCSSSSSCSCCSCCSSCCCCCCCSCCCSSCCCSSSSCCSCCSSCCSCCSCCCSCCCCSCSCSCCCCSSCSSSCCCCCCSSCCSSCSSSCCCCCCSSCCCSSCCCSCSSCCCCSSSSCSCCSCCCCCSSCSSSCSCSCCSSCCSSSSSCSSCSSSCSCSCCSSSSSCSSSCCSCSCCSSSCSCCCSCSCSCCSCCCCSCCCCSSCCCCSSSCSCCSSCCSSSCCSCSCSSSCCCCSCSSSSSSCSSSCCSSCCCCSSCCSSSSCSCSSSSSCSCSSSSCCCCCCSCSCCCSSCSCCCSCCCCCSSSSSCSCCCCSSSCCCSSSSSCSSCSSSCSSCCSCSCCCSSCSSCCCCCCSSCSCSSSSSCCSCCSCCSSCCCCSCSCCSCCCCSSSCSCSSCSCSCSSSCSSCSCSCCCCCCSSSSSSCSSCSSCCSSSSSCSSSCCSCSSSCSCCCSSCCSCSCSSSSSSCSSCCCSSSCCSSCCCCSSSSSCCSCSCCSCCCSSCSSSCCSCCCCCSSSSSSSSCSSSSCSCSSSSCSCCCSCCSSCCCCCCSSSSCCSSSSCCCSCCSSSSCSCCCCCCCSSCCCCCSSCSCSSSCSSSSCCCCCCCCCSCSSCSSSSSCCCCCSSCSSSCCCCSCCSSSCCCSSCCSCCSSCCCSCCCSSSCCSSSSSCCCSSCCSCSSCSSSCSCCSSCSCSSSSSCSCSSCSSCCCSCCSCCCSSSCCCSSSSCSCCSCCCCCSCSCCCSSSCSSSCSCCSSCSSCSSCSCCCCCCCSSSSSSSCCSCSCCCCCCCCSSSCCCSSCCSCCSSSSCCCCSSCSSSCSCCCSCCCSSCSCCSSSSCSCSCSSCSSSSSSSSSSCCSCSSSSCCCCCSCSSSSSSCCCSCSSCCSSCCSCSSCSCCSSCCSCSCCCSCCSCCCCCSSCCSSCCSCCSCCSSSSSCCSCCCSSCSCSSCSSCCCSSSSCSCCCCSSCCCCCSCSSCCCCSCCSSSCCSSSSCSSSCSCCCCSSSSCCSCSSCCCSSCCSSSCCSCCCSCCCSCSSSSSCCSCSSCCCSSCCCSSCCCCCCSCSSSCCSCSCCCCSCSSCCCSCSSCSSSSSSSSSCCSCCSCCSSCCCCCSCSSSSSSCSSSCSSCCSSCCSSSCCCCCCCSCSCCCSSSCSCCCCCCCSSSCSSSCCCCSSCCCSSCCSCCSSSCSCSCSCCCSCSSCCSCSSCSCCSCSSCCSCCCSCCSSSSCCCSSCSCSCSCSSSSCCCCSCSCCSSCCCCCCCCCCSSCSCCCSSCSSCCCSCSSSCSSCCSCSSCSCSSSSCCCSCSCCSCSSSCCSCSSCCSCSCSSSCSCSCCCSSSSSSCCCSSCCSCSCSCCCSCSSSSSSSCCCCCCSSCSSCSCCCCSCCSSCSCSCSSCCCCSCCSCCSCSSCSCSCSCCSCCSSSCCSCSCCCCSCSSCCSSCSCCCCCCSSSCSSCCSSCSCSCCCSSSSSSSSSSCSCSCSSSCSSCCSCSSSCSSSCCCCSSCCCCCCCCSSCSCCCCCSCSCCCCSSSSSSCCCSSSCSSSCCCSCCCSCSSSSCCSCCCCCCSCCSSSCCSSCCCCSCCSCSCCSSCSSCCSCSCCCCSSSCCSSCCCSCCSCCSSSSCCCSCCSSCCCCSCSSCCSCCCSSSSSSSCSSCCSCSSCSSSSCSCCCSSSSCSCCCSSSCCSCCCCCSSCSSCCCSSSSCCSCCCCCCSCSCSCSSCSCCSSSSSCCSSSCSCSCCSSSCSSSSSSSCCCSSSSSCCSCSSCCCSCSSSSCSSSCSSCSSSSSCSCSCSSSSSCSSSSCSSSSCSCCCCCCSCSCSSCCCSSSSCCCCCCCSCSSSSSCSSSCSCSCCCCCSSSSCCSSSCSCCSSCSCCSSCCCCSSCCSCCCSCCSCSCCCSCSCSSCSSCSSSSCCCCSSCCSSCSSCCSSCCCSCSCSCCSSSSCCSCSSCCCCCCCCCCSSCCCSCSCSCCCCSCSCSSCCSSSSSCSCCCSCCCSSSSCCSSSCSCCSCSCCSCSSCSSCCCSCCCCSCCSCCSSCCSSCCSSCSSCCSSCCSSCSSSCSCSCCCCSCCSCSCCCSCCCCCCCSSCCSSCCCSCSSCSCCCCCSCCCSCSSSSCCSCSSSCCCCSSCSSSSSCCSCSCSSCSCSCCCCSSCSSCSSSCSCSCCSCCSCCSCCCSSSSCSSSSSCSSSCCSSCCCSCCSCSCSCCSCSSSCSSCSCSSSSCSSCSSCCSSSCSSSCCCSCCSSSSSSCCSSSCCCCSCSCCSCCCSSSSSSSCSCCSSCCCSCCSSSCCSCSSSSCCSCCCCSSSCCCCCCSSCSSCCSSSCSCSSSCSCCSSSSSCSCSCSSSSCSCSCSCSSSSCCCCCCSCSSSCCSSSCSSSSSCCCSCCCCSCSCCCCCCCCSSSSCSCSSSSCSSSCSSSSSSCCCCCSCSSSSCSCSSSCCSSSSSCCSSSCCSCCSCCSCCSCCCSCCCCCSSSCCSCSCSCSCSSSSSCCSSSSCSCSSSSSSSSCSSSCSCCSCCCCSSSSCCCSSSSCSCCCCSSCSSCSCCSCSCSCSCSSCCSSSCCCCSSSCSCSSSCCCSSCCCSCCSSCCCSSSSCCCCSCSCCCSSSSSSCCCCCCCSSCSSSCSSCCCCSCSSCSCSSCCCSSCCSCSSCSSSSSCSSCCSSSSSCCCSCSCCSSCCSCSSCCSCSCSSSSCCSSCSCCSCSCSCSCCSCCSCCCCCSSSCSCSCSCCSSSCCCSSSSCCCSSSSSCCCCSCSCSCSCCCSCCCCCSSSCSCCCSCSCCCCSSCCSSSCCSCCSSSSSCSCSCSSSCSSCCSCSSCCSCSSCCCSSSSSCSCSSSSCSCCCSSSCCSSSCCSSSCSSCSCSSCSSCCCCSCSCCCCCCSCSCSSCCCCCCCCCCCSCCCCCCSSSSSSSCCSCSCSSSCCSSSCSCSCSCCCCSSCSCSCCCSCCSCSSCSCSSCSCSSCSCCCSCCSSCSSSSSCSCCCSSCSCCCCCSCSCSSCSSCSSCSCSSCSCCSCSCCCSSCCSCCCSCSSCCSSSSSCCCSCCSCCCSSSSSSSCCSSSSCSCSSSCCSSCCCSCCSSSCSCSSSSCSCSSSCCCCSCSCCSSCCCCSSCCCSCSSCSCCCCSCCCSSCSCSSSCSCSCSCCCCCCCCSSCSCCSSSCCCSCSCSSCCCCSSSSSCCSCCSSCSSSCSSCSCCSSSCCCCSCCCSCSSCCCCCCCSCCSSCSSCSCSCSCCSCCSCCSCSCCCSSCSSSSSSCSCSSCCCCSCCSSCCCCCSCCCCCCSCSSSSCSCCSCSSSSSCSCCCCSCSSSSCCSSSCSCCCSCSSCSSCSSCCSSCCSCCSCSSCSCCCCCCCSSCCSSSSSCCCCCSSCSCCCCSSSCCSCCSCSSCCSCSSSCCCCCSCSCCSSCCSCCSCSSSCSSSCSSCCCSSSSSCCCCCCCCSCCCCSSSCCSCSSSCSSCCSCCSSSCSSSCSSSCCCCCSCSSCCSCSSCSSSSSCCSCSCSSCSSCCSSSCSCCSCSCSSCSSSSSCSCCSCCCSSCCSSCCCSCSCCCSCSCCCCCSSCSSCCSSSSSCSSSCCSSCCSCCCCCSCSSCCSSCCCCCCCCCCSSSCCSSCSSCSCSCCCSCSCCSSSSSCSSSCCCSSSCCSSCSSCCCSSSSCSCSSCCSCCSCSCSSSCSSSSCCCSSSCCCCSSSCCCSSSSCSCCCCCCSCSCSCCCCSSSSSCCSCSCCCSCSCCCSCCCSCCCCCCSSSSSCCSSSCCCSSSCCSSCCSCSCCSCSSSCSCCCSCCCCCCCCCCSSCSCSCSSSSCCSSCCSCSCCCSSSCCSSSCSSCSCSCCCSSSCCSCCCSCSSSSCSCSSSSCCSCCSSCSCCSCSSCSCSSCSCSCSSSCSCCSCCCSSCSSCSSCSSCCSCCCSCCSCSSSSCSSCCCCCCSSCCSSCSSCSCSCSSSSCSCCCSCSCCSCCSCCSCCSSCSCSCCSCSCSCSSSSSSCSSSCSCCSCCCSSSSCCCSCSSCCSCCCCCCSSCSCSCCSCCSCSCSSCCSSCSSSSSCSSSCSCCCSCCCCCSCSCCSCSSCSCCSCSCCCSSCCSCCSSSSSCSCCCSCSSSCSCSSCCCSSCCSSSSSCCSSSCSCCCSCSSSSCSCSCSSCCCSCSCCCCSSCSCSCSSCCCSSCSSCCSSSCCSCCSSCSCCCCCSCCSCCCSSSSCSCSSCSCCSCSSCCCCSCCCCCCCSSCCCSCCCCSCSSCSSCSCCCSSCCCCCSCSSCCSCCCSCCSCCCCSCSSCCCSSCCCCCCSCSCCCSCCSCCCCSSSCSSCCSSCSSCCSCCCCCSCCSSSSCSCSSSCSSCCSSCSSCCSSSCCCCCSCSCCSSCCSCCCSSSCCSSSSCSSSSSCCSCSCSSCCSSSCSSCSSSSCSCSCCSSSCCSCCCCSCCCCSSCSSSCSCCCSCSCSCSCCCCSCSCCSCCCSCCSSSCCCSCCSCSSSSSSCSSSCCCCCSCCSCCSCCCCSSCCSSSCCCSSCCCCCCCSCCCCCCSCCCSCCSCSSCSSSCSCCSCCCSSCCSSCSSSCSCCCCCCSSCSCCCCCSCCCSCCSSSSSSCSCSCCCSCSSCSCCCSCCCCSCSCSCCSSCCSSCSSCSSCSSSSSCCCSCSSCSSSSSCCCCCSSCCSSCCCSSCCSSSSCCCSSCCCCCSSCCCCCSCSSSCCCCCSCCSCCCCCSCSCSSSSSSCCCCSSCCCCCSSCCSSSSCCCCCSSCSSSSCSSCSCCCCCCCCSCCCSCSCCCCSSSCCSCCSSCCSCSSCSSSSSSCCCSSSCSSCCCCSCSCSSCCCCSSSCCSCSSCSCCCSSSSCCCSSSSCSSSCSSCCSCCSSCSCCSSCSSSCSSCCCCCCCSSCCSSCSCSCSSCCCCSSCSCCSSSCCSSCCCSCSCSSCCSCCSCSSCSCCSSCSSCCSCSSCSSSSCSSSCCCCCCCSSSSCSSCCCSSCSSSSCCSCSCSSCCSSSSCCCCSSSSCSSCSCSCSSCSCCCCCSSCSSCSCCSSSCCSSSCSSSSSSCCSCSSCSSSSCSCCSCSCCCCSSSCSCSSSSSCCSSSSCCSCSCCCCSSCSSCCSSSSSCSSCSSSCSCSCCCCCCCCCCCSCSCCCCCSSSSCSCSSCCSCCSSCSSCSSCSSSSCSCCCSCCSSCSSCSCSCCSSSCSCSCSSCSSCCSCSCCSCCCCCSSCSCCSCCSSSSSSCSSSCCSSCSCCCCCCSSCCSCSSCSSCCCSSSSCSSCSSCSCCSSCCCSSCCCCSCCCCCSCSSSCSSCSCCCSCSSSSCCCSCCCCSCSCSSSCCSCCSCSCSSCSSSSCCCCCCSCCCSCSSCSCCCCCCCSCCCSSCCSSSCSSSSSCCSSCSSSSCSCSSSCCCCSSSSSSCSCSSCSCCCCSSSCSSCCCSCCSSSCCCSCCCCSSCCSSSSSCCSSSCSCCCSCSSSSSCCCCCSCCSCCCCSSCCCSSSSSCSCSCSSCCSSCCCCSCCSSSCCCSSCCCCCCSSCCSSCCSCCSCCCCCSSCSSCSCCCSCSCSSSCSSCCSCCSCSCSCSSCCCCSCCCSCSSCSSCCCSCSCCSCCSCCSSSCCCSCCSCCCSCCCSSCSCCSSCCSSCCSCSSCCCCSCSCSSCSCCCCSSCCSSCSSSSSCCCSCCSSCSSSSSSCSSSCCSCCCSSSSCCCCSSCSSSCCSSSCSSSCCSCCCSCCCCCCCSSCCCSSSCSCCSSCSCCSCSCSSCCCCCCCCCCSSSCSCCSSSSSCSCCCSCCCSSCCCCSCCSSCSSCSSCSCSSCSSSCSSSCSCCCSSSCSSSCSCSSCCSSCCSSSSSCCCCCCCSSCSSSCSCSSCCCCCSSSCCCSCCCSCSCSSSCSCSCSSCSSCCSCCSSCSSSSSSSCCSSSCCCSSSCCCCSCCCSSSSCCSSCCSSSCSCCCCCCCSSSCCSCSCCSCSSCSCSCCSSCSCCCSCSSSSCCSCSSCSSSCSCCCCSCCSSCSSSCSCSCSSCCSSSCSSCCSSCSSCSCCCCCCSCCCCCSSCCSCCSSCSCCCSCSCSCSCCSSCCCCSCSCSSCSCSCSCCSSSSCSCCSCCCCSCSCSCCCCSSCSCCSSCSSCSCCCSSCSSCCCCSCCSSCSCCSSCCCSCCCSSSSSCCSSSCCSSCSCSSSCSCSCCCCCCSSSSCSCSSCSSSCCSSCCSSSSSSCSSCSCSSSSSSSSSCSSCSCCSSSSCSSSCCSSSSCCSCCSSSSCSSCCSSCCCCCCCSCCSCCCCSSSSSSSCSSCCCCCSSCSCSCCSSCSSSCSCSSSSSSSSCSSSCSSCSCSCCSSSCSCSSSCCCCSSCCSCCCCSSCCSSCCSCSSSCSCSCCSSSCCSSSCSSSSSSCCCSSCCSSCSSSSCSCSSCSSSSCSCCSSCCSSCSCSCCCCSSCCCSSSCCCCSCCSSSSCCSSSSSCSSSCSCSSCSCCCSSSCSSSCSCSCSCCCCCSSSSSCSSCCSSCSSCSCSCCSCSCSCSSSSCSSSCCCCCCSCSSCCSCSCSCCCSSCCCCSCCCSSCCCSSSCSSSSSSCCCSSSSCCSCSSCCSCSSCCSSCCSCCCCCSCCCCCSSSSSSCSCSCSCCSSCCSSSCSCSSSCSSCSCCSCSCCSCSSSSSCCCCCSCSSSSCCCSSCCSCCCSSCSSCCCCCCCCSSCSSCSCSSCCCCCSSSSCSSSSSSCSSSCSSSSCSCCCSSSCCSSSSCSSCCCSCCSCCCSSCSCSSSSSSCSCSSSSSSCCCCSSCCCCSCSCSCCCCCCSSSSCSCCSCCSSCSSCSSCSSCSSCSCCSSSCCSCSSSSSCCSCCCSSSCCCSCSCCCCCCSCSCCCSSCCCCSSCSSCSCSSSCSCCCCCCCCCCSCCSSSCSSSCCSSSCCCCCCCCCSSSCSSCCSCCCCSCSCSSSSCSCSCCSCSCSCSCSSCSSCSCCSSCCCSCCCSSSCSCCSSSCCCCSCSSCCSCCCSCSSSSSCCCCCCCCSSCSCSSSCSCCSCSSSCSSCCCCSCSSCCSCSSCCSSCSCSSSSSSCCSCCCCCCCSCSCSSCSCSSSSSSCSSCSSSCSCSSSCSSSSSCSCSCCCSSSSCCSSSCCSSCCSCSCCCSCSSSCSCCSCSSCSCCSSSCSCCSCCCCCCCCSSCCSCSCSSCSCCSCCCCSSCSSSSSCCCSCCCSCCCSSSCCCSCCSSCCCCSCSCCCSSSCSCCSCCSCSSCCCCSCCSCCSSSSSCSSSCSSSSCSSCSSSSSCCSSSSCCCSSCCCSCSCSSSSCCSCSCSCCCSCCCSSSSCCCCSCSCSCCCCCSCCSCSSSCSCCCCCCCSCCCCSSSCSSCCSSCSCCCCCSCSCSCSCSSCSCSSCSCCCCCSCCSSSSSSCSSSSCCSCCCCSSSCSSCSSCCSCCSCCSSCSSCSSSSSSSCSCCCCCCSSCSSCSSSSSCCSCCSSCSCSSSSCCSCCCSSSSCCSCSSCSSSCCCCSCCSSCSCCCSSSCCSCCSSSCCSSCCSSSSCSCSCSSCSCSCCSSSCSCCCSCSSCCSCCCSCSSCCSCSSCSCCSSCSSSCCSCCSSSSCCSCSSSCSCCCCCSSSCSSCSCSCCSCSCCSSCSSCCCCCCSCSCSCSSSCSCCSCCSSSSCCSCCSCSCCCSSSCCCCCSCCCCSSCCSSCCSSSSCSCCSSCCCCSCCCSCSSSCSSSCCSCCSCSCCSSCCSSSCSSCSSSCCSSSSSSCSCCCSCSSSSCCCSCSSCCSCSCSSSSCCSCSSCSSCSSSCCCCSCSSCSSSSCSSCCCSCCSCCSSCSCSSSSSSCCSCCSCSCCCCCSCSSCCCCSCCCSCCCSCCCSSCSSCSSCCSCSSCCCSCCCCCSSCCCCSCSSCSCSCCSCCCSCSCCSSSSCCSSSSCSSCCSSSSSSSSSSCSSSSSSSCSCSSSCCSCSCCCSSCSSSCSCSCSSCCSCSSSCCCSSCCCCCSSCCCCCSCCCCSSCSCSCSCCCSSCCSSCCCSSCCSSCSSSCSSSCSCSCCCCCSSCSSSSSCCSSCSSSCSSSCCSSCCCSSCSCSSCCCCSSSSSCCCCCSCCSCCSCCSSCSCSCCSCSCCSSCCSSSCSSCSCSSCSCSSSCSCSSSCSCCSSSCCSCCCCCSSCCCSCSSSSSCSCCCCSSSSCCCSSCCCSSSSSSSCSCSCCCSSSCSSCSCCCSCCSSCSSCCCSCSCSCSSCCCSSCCSCCSSCCSCSCSCCSCCCCSCSSCCSCCSCSCCCCCSSSSCCCSCCSSCSSSSCCSSSCCCCCSCSSSSCCSSSSCSSCSSSCSCCSSCSSSSSSSCCCCCSSCCSCSSSSCSCCSCCCCCCCSSSSCCCSCCCCSSSCCSCSCSSSCSCCCCCCCSCSSSSCSCSSCSCSSSSCSSSCSCCSSCCCSCSSSSCSSSCCSCCSCCCSCSCSSSCSSSCCSSCCSCSSCCSCCCSCSSSSCCCSSSCCCCSCSSSCCCCCSCCSSCCCSCCCSSSCCSCSCCSSCSSCSSCSSSCCSCCCCCCSSCCSCSCCCCSCCCCCCCSCSSCCSSSCCCCCCSCSCSCSCCSSCSSCSSCSSSSCSSSSCSCSSSCCCSSSSCSCCCSSCSCSCSSSSCCCCSSCCCSSSCCSCCCCCSCSSSCSCSCCCSSSCCSCCSCCCSCCSCCCSSSCSSSSCSCCSCCSSCCCCCCCCCCSSSCSCCSSCCSCSCSSSSCSCCSCSCCCSSSSSCSCSSSSCCSSCCSCSSCSCCSCCSSCSCSCCCCSCCCCCCSSSSSSCSSCSCSCSSCCCCCSSSSCSSSSSSCCCCCCCCCSCCCCCCCCCSSCSSCSSSSCSCSSSCSSSSSCCSSSCSSCCCCSSCCSSSSCSCSCSCSSCSSSSSCSSCSCSSCCCSCCCSCCSSSSSCCSCCCSSCSSCSSCCCSSSSCCCCSCSSSSCSCSCCCCSSSCCSCCSCSSCSSCSSSCCSCCCCSCSCCSCCCSCSCSSSCSCSCCSSSCSSSSSCCCSSCSSSSCSSCSSSCCCSSCSCSSSCSSCSSSCSCSCCCSCSCSSCSSCSSSCCSCSCCSCCCCSCCSSSCCCCCSSCSSSSCSSSCCSSSSCCSSCSSSSSCSSSSCCCSCSCSCCSCCSCCSCCCSSCCSCSSSSSSCCSSSSCSCCCCSCCSCSSCCCSCSCSCSCSCSSCCCSCSCCCSCCSSCSCSSCSSSSCCSCSCSCCSSSSSSSSSSCCCSSSSSSSCCSCCCSSCSCSSSSCSSCCCSSCSCCCSCCSSSSCCSSSCCCCCCSCSSCSCSCSSCSSCCSSSSSCSSSCSCSCSSSSSSCSSSSCCSCSSCCCSCSCSSSCSSSCSSCSCSCSCSCCCSCSSCCSCSCCSSSSSCSSCCSCCCSSCSCSCCSSCSSSCSSCCCSSCSSCCCSSCCSCSSCSCSCCSCSCCSCCSCCSCSCSSSCSCSCSSSSCSSSCSCCCCSSCCSSCSCCCSCSSSSSCSCCSCSCCSCCSCCCSCCCCCCCSSCSCSSCSSSSCSSCSCCCSCCSSSCCSSSSSCCCCSSSCCCCSCCSSCSSSSCSSSSSSSCSSCSSSSSCSCCSCSCCCCSSCCCCSSSSCCSCCCCSSCCSCSSCCCSSSCSSCSSSSSCSSSCCSSSSSCCCCCSCCCSCSCCSSCSCSSCCSCSCSCCSSSSCSSSCCCSSCCCCCCCSCCSSCSSCCCSSCSSCSSCCCSCSCCSSSCCCSSSCCSCSSSCSCCCCCSSSCCSCCCCCSSSCSSSSSCSCCCSSCCCCCCSSSCSSCSCSCCSSCCCSCCCSCCCSSSSCSSSSCSCCSCSCCSCSCSCSSSSSCSCSCSSSSSSSSSSSSCCSCCSCCSCCCSCCCCCSCCCSCSSCSCSCCSSSCSCSCCSCSCCSSCCSCSSSSCCCSSCSSSCSCCSCSCCSSSCCCCSCSCSCCCSCCCSCSSCSCSCCSCSCSCSCCCCCCCCCSCCSSSCSSSCCCSCCCCSCSCCSCCCSSSCCCSSSSCCCCCSCSCCSSSCSSCSSCCCCCCCSSSCCSSSCSSSSSCCCCCSSCCSSSSCCCCSCCSCSSSSSSSSSSCCSSCCSCCCCCSSCSCSSSSSCSSCCCSCSSCCSCSCSSCSCCCCCCSCCSSSSSCCSCSSSSSCSCSCSCCSCCSCCCCCCCSCSSSCCCCSCSCSCSSCCCCSSSCCSCCCCSCCCSCSSSCSCCCCSSSCSCSSCSCCCCCCSSCSCSCSCSSCSCSCSSSSCCSCCCCSSCCCSSCSCSSCSSSSSSSSCCCCCSSSCSSSSCSCCSSCCCCCSCCCCCCSCSCSCCSCSSCSCCCSCCCSSCCCCSCSSCSSCCCSCSSCSSCSCSSCCSCSCCSSCCSCSSCSSCSCSSSCSSCCCCSSSCCCSCSCSSCCSSSSSSSSCCSSSCSSCCCSSSSSSCSCSCCCCCCCCSSCSCSCCCSCCCSCCSSCCSSCSSSSSSSCSSCSSCCCCSSCSCCSSSSCCCSCCCCSCSCSSCCSCCCSSSSCCSCSSCSSCCSCSCSCSSSCSSCCSCSSCSCCCCCCSSSCCSSCSCSCCSSCCSCCCCCCSCSCCCSCCSSSSSCCSCSCCSSSCSCCCSCCCSCCCCSSSCSSCSSSCCSSSCSSCCCCCSSCCSSCSCCSCSSSSSCCCCSCSCCSSCSSCSSCSSSSSSSCSCSSCCSSSSSCCSCCCCCCSSCCCCSSSCSCSCCSSSCCSCCSCSCSSSSCCSCSSSSCSSSSCCSSCSSSCSSSCSCSCSSCCSSSCCCCSSSCSSCCSCSSCSSCCSCSCSCCSSSSCCSSSSCSCSSSSCCSCSCCCSSSSSCSCCCCCSCSSCSCSSCSSCCSSSCSCCCSSSSCSCCSSCCSCSSSSCCSCCSCCCSSSCSCSSCCSCCCSCCSCSCCCCCCSCCCSCCCSCSSCCCSCSSCCSSCSCSSCSCCSSSSCCSCSCCCCCCCSCCCSSCSCCCSCCSCSCSSCSCCCCSSCSSSSSCCCSSSSSSCSCCSSSSCSSSCSCSSCSSCSCCCCSCCSCSSSCCSCSCSCSCSSCCSCCCCSCSCSCSSCCCSCCCSCCCSSSSSSSSCSCCSCSSSCCCSCCSCSCSCSSSSSCSCCCSSSCSCCCSCCCCSCCCSCCCSCCCSSSSCCCSSSCCCSCSCSCCCCCCCCSSSCSSCSSSSSCCSSSCSCCSCCSCCSCSSSSCSCSCSCCCCCSCSSSCCSCCCCSSSCCSSSSSCSCCSSCSCCSSCCCCCCSCSSCCCSCCCCSSCSCSCSSCCCCCCSSSSSSSSSSCSSSCSSCSSCCSCCSCCCCCCCSCSCCSCSSSSCCCSSCSCCCCCCCCSCSCSSSCCSSSSCSCSSSCSSSCSCCCCSSCSSSSSCCCSSSSCSSCSSCCSCSCSCSCSCSSCSCSCCCCCSCCCSCSSSCSSSCCSCSCCCSSCCSCSCCSCSCSSSCSSCSCCCSCCSCCCCCCCCSSCSSSSSCCCSCCCSCCSCCSSCSCCCSSSCCSSCSCSCSCSSSSCSCCCSCSSSCCSSCCCSSSSSCCSCCSCSCCCCCSCCCSSSCCCSCSCSCCCCSCCCCSCCCCCCSCSSSSSCCSSCCSSCCCSSSCCCCCSCCCSCCCSSSCCSSCCCCCSCCCSCCSSSCCSCCCCSCSSSCSCCCCCSCSSCSCCCSCCCSSCSSCSSCSCSSSSSCSSSCCSSSCCCCCSCCCSCSSCCCCSSCCSSCSSSCSSCSSCSCSCSCCSSCCSSSSSCSCCCCSSSCSSSCSCCCCSSSCSSCSCCSCSSSSCCSCSSCCCCSCCSSSCSSCSCSCSSSCSSCSSCCCCSCCSSCCCCCCCCSSCSSCCCSSSCCSCCSSSSSCSSSSSCSSSSSSSCSCSCCCCSCCSCCSCSCSSSCCSCSCSSCCCCSSCSCCCCCCSCCSSCSSSSSCCSSCCSCSSCCCSCSCSSSCSCCSCCCCCSCSSSCSCCSCCCSSCSCSCSSSCCCCSCSCSSCSSSSSCCCCCCCCCCCCCSSCSSSCCSCSCCCCCCSCCCSSSSSCSSSCCSCCCCSSCCCCCSCCSSSCCCCSCCCCSCSCSSCSSSSCCSSSCCCCSSSSSSCSCSSCSSCSCCSCSSCSCSCSSCCCSSCSCCSCSSSSSCCSSCCSCSSSSCSCCCSCCSSCSSSSSSSCSCCSCSSCSSCCSSSCCCCCCCCSCSCCSSSCCCSCCSSCSSCSSSSCCSSSSSCCSSCSSCSSSSCCSCSCSSSSSSSSCSCSSCCCSCSCCSSCCSSCSCSSSSSCSSCCSSSCCSCCCCCSCCSCSSCSCSCCSSCCSSCSCCCSCCCCCCSSCSSCCCCSCCCSCSSCCSSCSCSCCCCSSSCSCCCSSSSCSCSCCSSCSCCSSCCSSSSSCSCSCSCSSCSCSSSSCSCSCSCCSSCSSSCCCSSCCSCSCSSSSSCCCSCSSSSSSSSCCSSCCSSSSCSSSSSCSSSCCSSSSCSSSCCCCSSSCCSSSSCCSCCCSCSCSSCSSCCSSCSCSSCSSSSCCSSCSSCCCCSSSCSSCSCSSCSSCCCCSSSSCCCCSSCSSSCCSCSCSSSSSCSCCCSSCCSCCSSCCSSSCCCSSSSSCCSSCSSSSCCSCCCSSCCSSSCCSSSSSCSSSSSSSSSSCSSCCSCSCCCSCCSSSCCSCSSSCCCCCSCCCSCCCSSSSCSCCSCCSCSSSCCSCCCCCCCCCCSCCSCCSSCCCCCCCSCSCCCSSCCSCSSCCSSSSCCSCSCSCSCSCSSSCCCCSSCCCSCSCSSSCSCCSSSSCSSCCCSCSSSSCSSSSSCCSSSCSCCCSCCSSCSSCSCSSSCCSSSCSCSCSSCCCCCSSCCCCCSCCCCCSCCCSCSSCCCCSCCCSSCSCCCSCCSCCCCSSCCCCCSSSCCCSCCCCSCCCSSSSSCSCSCCCSCSCCCSCCSSCSSSCSSCCCCSSSCSCCCCSSCCSCSCSSSSSSCCCCCCSSCSCSSCCSSSCCSCSSCSSSCSCCCSSCSSCSCCSSCSCCSCSCSCSCSSCCCCSCCSSCSCSSCSCCCSSCSSSCCCCCSCCCCCSCSSCCCSCCCCSSCCCSSSCSCSSCSSCSCSCCSSCSCSSSCSSSSCSCSCSCCSSCCCSCSSSCSCCSCSCSCSCCCSCSCSCSCCCCCSSCCCCCSCCSSSCCCSSSCCCCCCSCCCSSCSCCCSCSCCSCSCCSSCSCSSCCCCCCSCSCCSCSCCSSCCSCCSCSCCCSSCSCSSCCSSSSCSCCCSCSCSCSSSCCSSSCCCSCCCSSCCCSSSSSCCSSSSCSSSCCCCCCSCSSCSCCCCCCSSSSCSCSCSSSSSSCSCCCSCSCSSSSCSCCCSSCSCCCCSCCSCSCCSCSSSSCSCSSSCCSCCSSSSSSCSSCCSCSCSCSCCSCCSSCSSCCCCCCCSSSCCCSSSCSCCCCCSCSSSCSSCSCCCSSCCCCSSCCSCSCCSSCCCSSCSSCCCCCSSSSSSSSSCCSSSSSSSSSSSCSCSCSCSSSSCSCSSCCSSSCSCSCCSCSSSSSCSSSCCCSSSCCCCCSCCSCCCSCSSCSSSSCSCSCSSCCCCCCCCSCSCSSCCSCSCSSSCCSSCCSSCSCCSCSSCCCCCCSCSSSSCSSCCCCSSSCSSCCCCSSSCCSCCSCSSCCSSSCSSSSCSSCCSCSSSCCCCCCSSSCCCCCSSSSSSSSCSCCCCSSSSCCSSSSCCCCSCSCCSCSCSCSSCSSSCSSCCSSCSSSSCCSCSCCSSCCSCSCSCSCSCSCCSSSSSSSSSSCCCCCSCCCCCSSCSCSSCSSCSSSSCCSCCSSSCCSSSCCCCSCSCCCSCCSCCCSSSCSCCSSCSSCCSSCCSSSSCCCCSSSCCSCCSSCSSSSCCSCSSSCSCSCCSCCCSCCCSSSCCCCCSSSSSCCCSSCCCCCCSSCSCCSCCCCSCSSSSCSCCSCSSSSSSCCCSCCCSCCSCSCCSSSCCSSCSCCCSSSCSCCCSCSSSCSCCSSSSSSSSCSSCCSCSCSCSCSSSCSSSCCSSCCCCSCCSCSCSSCCSSCSCSSSCCSSSSSSCCCSSSSSSSCSCCSCSCCSSSCSCCCSSSSCCSSCCCSCCSSCCCCCCSCCCCCSSCCCCSCCCCCSSCSSCCCSSCSSSCCCSSSSCCCCCCCSSCSSSCCSCCCCCCCCSSSCCCCCCSCSSSSCCSSSSCSCSSSSCSSSCCCSCCCCSCCCCCSCSSCSSSCSSCSSSSCCCSSCSSSSCSCSSCCCCCCSCSSSCSCCCCSSSSSCSCCSCSCSCCSCCSSSSCCCSCCCCCCCSCCCCSCCSCCCSCSCCCCSSCSCCCSCSCCSCSSSSSCCCSCCSSSCSSCCSSCCSCSSSCSSCCSCCCSSSCSSSCCCCSSSCSCSCCSCSSSCSCCSSSCSCCSSSSSSCSSSCCCCSSCSSCSSCSCCCSSCCCSCCSCSSSSSSSSCCSCCCCSSSCSCCSCSSCSSCCSSCCSSSCCSCSCSSCSSCSSCCCSCCCSSSSSCSSCSCCSCCSSSCSCSSCSSCCCSCSSSCCSCCCSCCSCCCCSCCCSSSCCCSSSCSSCCCSSSSSSCSSCSSSCSSCSCSSCCCCCCSSSSCCSSSCSCSSSSCSCCSCCSSCSSCSSCSCSCSSCCCCCSSSSCSSSCCCSCCSCCCCSCCSSSCCSSSCSSSSCSSCSSCSCSCCSCSSSSSCCCSCSCSCSCSSCSCSCSCSSSSSCSSSCCSCCSSSSCCSCCCCSSCCSCCSCCCCCCCCSCSSSSCSCCCCCSCSCSSCSCCCCSCSSCCSSSSCCCCCCSSCCCSCSCCCSSCSSCCSCSSSCCCCCSSSSCCSSCCSSCSCSCSCSCCSSSSSSCCCCCSSSCCCSCSCCSSCCSSSSCSSCCCCCSSSSSSSCCSCSSSSCCSCCCCSSCSSSSSSSSCCSSCCSSSCCSSSSCCCSSCCCCSSSCCSSCSSCCSSCCSCCCSSSSSSSCSSCCCSCSSCSCCSCCSCCSCCCCCSCSCCSSCSCCSCCCCSSSSCSSSCCSCCCCSCSCCSCCSSCSSCSSCSSSSCCCSSCSCCSSSCCCSCCCCSSCCCSSSSCCSSSSCCSSSSCSCCCSSSSSCSCCCSCCCCSCSCSCCSCCSCCCCCSCCCSSSCSCCSCSSCCSCCCSSCSSSSSSSCSCSCCSCSSCSCSSCSSSCSSSSCSCCSSCSCCSSCSCSSCCCCCCSCCSCSSSSSCCSSCSCCSCSSCCSCSCCCSCSSCCCSSCCSSCSSCCSCCCSCCSCSCSCSSSSCSCSCCCCSSCCCSCCCCSCSSSCSCSSSCSSSSSCCSCCCCCCCSCSSCSCSSCSSCCSCSSCCSCCCSSSCCCCCSSCSCSSCCSSCCSCSCSCCSCCCSSSSCCCCSSCSSSCSCSCSCCCCCSCSCSCCCCCCSCCSCSCSSSSCSCCCSCSSCSSCSSSSCSCSCSCSCCSCSCSCSCSSCCSSSCCCCSCCCSCCCSSSCCCSSSCCSSSSSCSCSSSCCCCSSCCCCSCSCSSSSSSSSCSCCSSCCCSCCSSSCCCSSSSSSSCCCCCCCCCCSCCCSCCSSCSCSCSCCCSSSCCCSSCCSSCCCSCCSCCCSCCCCCCCSSCCCCSCSSCSSCCCSCCSCSCSCSCSSSSSCSCSSSCCSCSSCSCCCSCSSSCCCSCCSCCCSSSCSSCCSCCSSSSSCCCSSSCSSCCSSCCCSSSSSSSCSCCSSCSSCCSCSCSSSCCCSCCCCCCCSSSCCCCCSSSCCSCSCCCSSCCSCSSCCCCCCCSCSCSSSSSCSSCCSCCSCSSSSCCSCCSSCSSSCCSCSSCCSSCSSSSCSSSSCSCSCSCCSCSSSSSCCCSSSSSSCCCCSCSCSCSCSSCCSSCCCCSSCCSSSSCCSCCSCCCSSCCSCSSCCCSCCCCCCCCCCSSCCCSCSCCCCCSCCSSCSCCSSSCSCCCSCSCCSSSCSSSSCSSSCCCSSCSCSCSSCCSCCCCSCCSCSSCSCSSSCSSCSCCSSCCSCSSCCSSCSSCSSSSCSSCCSSSSCSCCSCSCCCCCCCCSCCCCSCSSCSSCCSSSSSCSCCCSCCSCCCCSCCCSCSSCSSSCSSSSSSCCSCCCSCCCCSSSCSCCCSCCCSCSCCSSSSSCSSSCCCSCSCCSCCSSSSSSSCSCSCCSSCCSSCSCSSSSCCCCCCSSSSCSSSCSCCCSCSCCCSSCCCSCCCCSSSSCCCCSCCSCCCCSSCSSCCSCCCCSCCCSCCSCCSCCCSSSSCSSSCCCSCSCCCSSCSSSSCCCSSCSCSSCCCCSSSSCCCCSCSSCCCSCSSCSSSCCCSCSSCSSCCSSSSSSCSSSSSCSSSSSSCSCSCSCSCSCCCCSCCCSSSSSCSCSCSCCCSSCCCSCCSSSSCCCCCCSCCCSCSSSCCCCSSSCCSCSSCSSSSCCSCSCSCSSCCSSSSCSCCCCCSCCSSSSCCSSSSSSCSCSSSSCCSCCCCSSCSCCSCCSCSSCSSCSCCSCCCSCCCCCSCCSCSSCCSCSSCCCCCCCCSSCCSCSCSCSSSSCSSSSCCSSSCSSSSSCSSSSSCSSCSSSCSSSCSCSCSCCSCCCSCCSCCCSCSCSSSCSCSCCSSCSSCCCSSSCSCSCCSCSCCCSSSSSCSCCCCCSCCSSCSCSCSCCSSCCSSSSCCSCCSSSSSCCCCCSCSSSSCCCSSCCCSCCCSCSSSSCCCSCSCSSSSSSSSSSCSCCCCSSSCCSCCSCCSCSSCSCSCCCSSCCSSCCCCCCCCCSCSSCSCSCSSCSSSCCSCSSSSSSSCSSSSCSCCSCCSCCSSSSSSSSSSSSCSSSSSSCSCCSSSSCSSCSSSCSSSCCCSCSSSCCCCCSSCCCCSCSSSCSCSSSCSCSCSSCCSCCSCSCSCSSSSCCSSSCCSSCSCSSCCSSSCCSCCCSCCSSCCCSSSCSSSSSCCSSSSCSSSSCCCSSCSCSSSCSSCSCCSSSCSSCCCCCSCCCCCCCCSCCSCSCSCCCSSSSSSSCCSCCSSCSSCSCSSSSSCCSCSCSSCSCCSCCCCSSSSSSSCCSCCSSCCCSSSCCCCCCCSCCCCSCCSCSCCSCCSCCSCSCSCSCCSSCSCSCCSSCSCSCSSCCCSCSSSCCCCCCSCCCSCCSCSCSCCSCCSCSSSCCSSSCCCSCSCCSSCSSSSSSSCSCSSSSCCCCCSSCCCSCCCCCCCCSCSSSSSCCCSSCSSCCCSSCSCCSSSCSCCCCCCCCCSCCSSSSSSSCSSSCCSCSCCCCSSCSCCCSSSCCSSCCCSCSSCSCCSSSCSCCCSCCSCCCSCCSSSCSSCCSCCCSCSSCSCSCCSCSSCSCSCSSCCCSSSCCSSCCSSCSCCSCSSCCSCCSCCSSCCCSSSCCSCCSSCCSCCCCSCCSSCSSSCSSCCCSSCSCSSSSCSSSCSSSCCCCSCCCSCSCCSSCSCSSCCSSCCSSCCCCCSSSCSSSCCSSCSSCCCCCSCSSCCCCSSSSSSCCSCSSCCSCSCSSCCCCCCCSCSCCCSSSSSCCSCCCCSSSSCCCSCCCCCSSSCSSCCCSSSCCSSCSCCCSSSSCCCCCSSSSCSSSSCSSCSCSCCSCCCCSSSSCCCSCCSCCCSCSSCSCSCCSSSSSCCCSSCSSCCCCSCSSCSCCCCCSSCSCCSCCCSCSSSSCSCCSCSSCCCSCCSSCSCCCCCCCCCCSSCSCSCSCSSCSSSCSCCSSCCCCCSSCSCSSCSCCCSSSCSSSSSSSCCSCSSCSSCSSCCSCCSSCSCSSSCSCCSSSCSSSCSSSCCCCCSSCSCSCSSCCCSCCSCCSSCCCSSCSCCCSCCCCSCCSCSSCSSCCSSCCCCCSSSCCCSSCCSSCSSCSSSSCSSSSCCSSSSCSSSCSSCCCCSSSSCCSSSSCCSCSCSSCCSSSSCSCCSCSSSSSCCCSSSCSSSCSSSCSCCSCCSSCSSSCSSSCCCCSSSSSSCCCSSSCSSCCCSCSSSSSSSSCCSSSSCCCSCSSCSCSSSSSCSSSCSCSCCCCCCCSCCCCCCSSCCCSSCCCCCCSSSSSSSCSCSCSCCCSCSCSCCSCCSSSSSSCCCCCCSCCSSCSCSCCCSCSSCSCCCSCSCSCSCSSSSSSSCSCCSSSCSSSSSCSCCSCSCSCCSSCCSCSCSCSSSSCSCCCSSSSSCSCCCSCCSSSCCCSCSSCSCCSSCSCCCCSSSCSSSCSCCSCCCSCCCSCCCSCCCCCCSCCCCCCSCSCCCSCCCCSCCSCCSCSCSSSCCCCCSCCCSCCCSCSCSSSSCSSCSCSSCSCCCCCCSCSCCCSCCSCCCCSSCSCCCSSSCSCSCCCCSCCCCCCSSCCSCSSCSCCCCSSCCCCSCSSSSCCCCSCSCCSCCSCCSCCCSSSCSCCSSCCSSSSCSSCSSCCSCCCCCSCSSCSSSCCCCCSSSCCSSSCSSCCSCSCSSCCCSCSSSCCCSSCCSSSSSCSCCSCSCCSCSSCCSSSSCSSCSCCSSSSCCCCSSCSSCSCCCSSCCSSSCSSSCSCSSCSSCSCCSCSCCCCCCSSCSCSCCCSCSCCSSCCSSCCSCCSCSSSCSCSSCCSSSSSCCCSSSCSSSSSSSCSCSSCSSCCCCCSSCCCSCCSSCCCCCCSCSSCCSCCSSSSSCSCSSSCSCSSSCCCCCCSCCSSSCCCCCSSCSCCCSCCCSSCSCCSCCSSSSCSSSSCCCSCCSSCCCCCCSCSCCSSCSCCCSSSSSCSSSSCCCSSCCCCCCSCSSSCSCSCCCSCSSSCSSSCCCCCSCSCCSCSCCSSCSSSSSCCCSSCCCSCCCCSSCSCSSSCCCSSSCSCCCSCSSSSCCCCCSCSCSCSCSCSCSSSCCCCCCSSSCSCCCSSSSCSSCCSSSSSCSSCCCSCSCCSCSCSSCSSCCSCCSCCCSSSSCCCSCSSSCCSCSCCCCSCSSSCSCSSCCSCCSCCSSCSSSCCSSCCCCCSSCSCSCCSSCSCCSCSSSSSSSCCSCCSSSCCCCCCCSSSSCCCSSSSCSSCSSCCCSCSSSCCCCSCSSCSCSCSCCCCSCCSSSCCCSSSSSSSCCSSSSSCCSCCSSSSSCSSCSCCSCCSSCCCSCCSSSCCCSSCCSSSSSCSCCCCSSSSSSSCCCSSSCSCCSCSSSCSSSSCSSSSSCSCSCCCCCSCCSCSSCCCCSSSCSSCCSSSCCSSSSCSSSSCCSCCSSCCCSCSSSSSCSCCSCCCSSCCSSSCSCCCCCCSCCCCCCCCSCCSSSCCCSSCCSSCCSCCCCCSSSSCCCCCSCCCSSSSSCCSCSSCCSCSSCCCCSCSSCCSCCSSSSCCSCCCCSCCCCCSCCSCCSCSSSCCSCCCCSCSCSCSCSSCCSSSSSCSCCCCSSSSCCSCCSSSSCSSCSSCCCSCSSCSCCCCSCCSCCCSSCSCSCSCSSCCCSCSSSSSCCSCCCCSSCSSCCSCSCCSCSSSSSSCCSSCSCSCSCSCSCSSCSCCSSCSCSCSSCCSSSCCSCCSCSCSSCSSCSCSCSSCSCSSSSSSCSSCSCSCSSCCCCSCSSCCSCSCSCCCCCCSSCCCCSSCCSCSCCSSCCCSCCCCCSCCCCCSSCSCCSSSSCSCSCSCCCCSCCSSCCSSCCCCSSSCSCSSCSSSSSSSCCSSSCSSSSSCSSCSCSSCCCSCSCCSCSSCCCCSCSCSCCCSSCSCCSCCCCCCCCSCSSSCCSSSSCCCSCSSCSCSSCSSSSCSCCSSSCCCSSSCSCCSCCCSSSCSSSCCCSCCSCSCSCSCSCSCCSSSCSCSSSCSCCSSSCSCCCCCCCSSCSCCSCCSSSCSCCCSSSCSSSSCSSSSCCSCCSCSSSCCSSCSCCSCCCSCCSSSCSCCCSCSCCSCCCSSSSCCSCCSSSSCSCCCSSSCSSSCCCCCCSCCSCSSSCSSCCSSSSSSCCSCSSSSCSSSSCCSSCCCCSSCCSSCCSSCSSSCSSCCCCCSCSCSCCCCSSCCCCCSSSSCCSCSCCSCSSCSSSCSCCSCCCSCSCCSSSSSCCCSCCCSSSCSSCSSSCSCSSCSSSSCCCCCSCCCCSSCSSSCSSSCCSSCSSSCCCCSCSSSSCSCSSCSCCCSSCCCCSSCSCSSCCSSCCCSSCSSSSCCSCSCCSCCCCSSSCSCSSCCCSCSCCSCSSCCSCCCCCSSCSSSCCCSSCCCCSSCCCSSSSCSSSSSSCSCCSSSCSCSSSCSCCCCSSSSCSSCCCSSCSSCSCCSSSCCCCSCSCCCSSSCCCCCSCSCCCSSCCCSSCCCSSCSSCSSCCCSSCCCCSCSCSSCSCCSSSCCSCSCSCCSSCSCCSCSSCCSCSCCCSSCSCSSSCSCCSCCSSCSCSSCSSCSCCCSCSSSSCCCCSCSCCSSSCSCCSSSCCCCSCCSSSCCSSCSCSCSSCSCCSSCCSCSCCCCSCCCCSSCSSSSSCCSCCCCCSSCCCSSCCCSCSSCCSSSSCSCSCCSSSCCSCCCCCCSCSSSCSSSSCCSCSSCSCCSCSCCSCSSCCSCCCSCSSCCSCSCCCCCSCCSCCCSCCCSSCSSCSCSSSCCSCCSSCSCCSCSCCCCCCSCSCCSCSCCSCCSCSCSCSCSCCSCCCSSCSSSCCSSSSCSSCCSSCSSCSSSSSCSSSSCSCSSCCCSCCCSSCSCCSCSCSSSSCSSSSCCSCSCSCCSSSSCCCCCCCSSSCCSCCCCCSCSSSCCCSSCSSSCCCSCCCSSCCCSCCSSCCCSSSCCSCSSCCCSSSCCSSCSCCCCCCCCSCSSSSSSCSSSSSCCCCCSCSCCCCSSSCCCSSCCCCSCCSSSSCCSCCSSSSSCCCCSCCSSCSSCCCCSCSCCCCCCCSSCSSCCSCCSSCCCCCSCSSSCCCSSCCSCSSCSCCCCCCSCSCSSCCCSSSSCSCSCSCSCCCCSSCCCCCSSCCSSCSSSCSSCSCCCSSCCCSCSCSSCSCCCSCCCSSCSCSCSCSSCCSSSSCSCCCSSCCSSSCCCCSCCCSCSSCSCSCCSCCCSCSSCSSCCSCCCSSSSSCSSCSSSSCSCCSSCSCSCCCSSCCCSSCSCSCSCCSCSCSCSSCCSSCCSCCCSSSSSCSSCSSCCSCCCSSCSCSSCCSCCSSCSCSCSCSSSCCSSSSCCSSCSSSCSCSCSCCCSCSCSSSCCCCCSCCCSSSCSCCCCSSCSCCCSSSCSCCSSCCSSCCSSSSCCSSSSSCCCSCCCSCCCCCSCSCSSSSSSCCSCSCSSCCCCSCCCSCSSCCSSSSSCCSCCCCCSCCSSCCSCCCSSCCSSCCCSSSCCSCCSCSSCSCCSCSCSCCCSSCSCCCSSSCCSSSSCCCCCSCCCSCSSCCCSCCSSCSSCCCCSCCSSSSSCSSCSCCSSSCCCSCCCSSSSCCSCSSSCCSCSCCSCSSSSSCSSSCSSCSCSCSSSSCCCCCCCCCSCCCCCCSSCCCCCSSCCSCSSSCSSSSCCCSCSCCSSSSCSCCCCSSCCSCSCSCSCCCCSCCSSSCSCSSSCCCCCSCSSCCCCCSSCCSSSSSCSCCSSCCCSSCSSSCCSSSSSCCCSCCCSSSCSCSCSCSCSSCCCSCCCSCSCCSCSSSCSCCCCCCSSCSSCSSCSCSCCSCSCCSSSSCCCCCSSCSSSCCSSSSSSCSSSCSSCCCSSSCSSCCSCCCSSCSSSSSSSCSSSCSCCSCSSSCCSSSCCSCSCCCCSCSSCCCSSCSCSCSCCSSSSCSCCSCCSSCCCSSCCCSSCCCSCCCCSCSSSCCCSCCSSSSCSSCCSSCCCCSCSCSCCSCSSCCCCSSCCCCCSSSSSSSSSSSCCCSSCCCSCSCSCCCCSSCCCSCSSSSSCCSCSSSSSSCSCCSCSSSSSSCCSSCCSSSSSSCSCCSCCCSSCCSSSCSCCSSSSCCSCSCCCSSSSCSSSSSSCCCCCSSSSCSSCCCCCSCCCSCCCSSSCSSSCSCCSCCSSSSSCCSCSCCSSSSSSCSCSSCSCSCSSCSCSCCSSSSCSCCSCSSSSSSCSCSSCCSSSCSCSSCCSSSSCCSCCCCSSSSSSCSCSCCCCSCSSCSSSSCSSCCCCCCSSSCSCCCSCCSSSCCSCCCCCCCCSCCSSSSCCSSCSCSCSCCSCCCCCCCSCSCCSCCSCSSCSSSCSSSCCCCSSCSCCSSSSCSSCSCCSSSSSCSSCSSCSCSCCSCCCCSCSCCCSSCSSCSSCCSCSCCSCCCCSSCSSCSSSCCSCCSSSCSSCSCCCSSCCCCSCSSCCSSSCSCCCCCSSSSSCSSSCCCSCCSCSCCCCSSSCSCCCCSSSCCSCSSCCCSSSCSSSCCCSSCSSCSSCCSSCSSSSCSCSSCCSCCCCCCCSSSCSCCSSSCSCSCSSCSSCSCSCSSSCSSSCCCCCCCCCCCSSCCSCSCSSSSCSCSCSCCCSSSSCSSCCCCSSSSCSCCCCCSSSSSCCSSCCSSSCCSSCCCSSSSSSCSCCSCSCSCSCCCCSCSCCSSCCCCSSSSSCSCSCCCCCSSCSSSSCSSCCCSSSCSCSSCSCCSSCSSCSSCCSSCCCSCSSSSCSSSCSSSSSSSCSSCCCSCCSSCCSCSSSCSSCCSCCSCCSCSCSSCCSCSSCSSSSCCCCCCCSSCSSCSCCSSSSCCCSCCSCCSSCCSCCCSCCSCCCSCCCCCSSSSSCCCCCSSSSCCCSSCSSSCCCCCCCCCCCSSSSSCCSCCSCSSSCSSSSSSCSSCCSSCSSSSSCSCSCSCSCSCCCSSCSCCSSCCSCCSCSSSCCSSCSSCSSSSCCSCCSCSSCSSCSCSCCCSCCSCCSSSSSCCCCSSCCSSCSCSSCCCCSSCCCCCCSSCCSSCCSCSCSCSCCSCSSSSSSCSSSCSCCCCCCSCSCCSCCSCSSSSSSCCCSCCSSCSSSSSCCSSSCSSSCSCSSSSSCSSSCCCCSCSSSSCSCSCSSCSSCCSSSCCSCCCSCCSSCCCCCCSCSCSCSSCSCSSSCCSCSCSCCSSCSSSCSSSCSCSCCSSSCCSSCSSCCCSCSCSSSSCCCCCSCSCSSCCCCCSCCCCSCSSSSSCSSCCSCCCSCCSSCCSSSCSSSCCCCCCSSSSSCSSSSCCSSSCCCSSCCCSCSSSSCSCSCSCSSSCSCCSSSCSCCSCCCCSCSSCCSCSCSSCSSCCCSSSSCSCSCSSCCSSCSSCSCSCCSSCSSCSSCCCCCSCCSCCCCSCCCCSCCSCSCSCCCSSSCSCSCSCCSSCSSSSSSCSCCCCSSSSSCSCCSCSCCSCCCSCCCCSSCCSSSCCCCSSCSCCSSSSSCSSCSSCCCCCCCSCSCCSSSSSSSSSCSCSSSCCCSSSSSSCSSCCCCCCSSSSSSCCCCCCSCCCCCCCSSCCSCCSCSSCCCCCCSSCSSSCSCCSSCSSSSCSCCCCSSSCCCSCSCSSCCSCSCSCSCCSSSSSSCCCCCSSCCSSSCCCCSSSSCSCCCCCCSSCCSSSCSSSCCSSCSSCCCCSSSSCSSCCSSCCSCCCSCCCSSCSSSCCSCCSCSSCSSCSSSSCCSSCCCCSSSSCSSSCCSSCCSSCCSCSCCSCSCSCSSSCCCCCSSCSSCCSCSSCSCSSSSCCSSCSSSCCCSSSCCCCCCCSSSCSCCCSCSSSCSCSCCSCSCSSSCSCSSSSCCCSSSSCSCCCCCSSSCSSSCCSSCCSSSSSCSSCCCSSSCSSSCCCSCCCCCSSSCCCSSSCSCSSSSCCCSSSSCCSSSCCCCCCCSCSCCSSCSCSCCSSSSCSCCSCCSSSCSCSSSSSSSCCCCSSCSCCCSCSCSCCSCCSCSCSCSSSCSCSCSCCSSCSSCSCCCSSCCSCCSCSSSCSSCSCCCSSCCCSSSSCCCCCCCSSCCSCCSSCCCSCCSSCCSCCCCSSSSCCSSCCSCSSSCCCSCSSCSCSCCCSSCSCSCCSSCSSSCSSCCCSSCCCSCCCSSSSSSCCCSSCSCCSSSCSSCCSCSSCCSSSCSSCSCSCCSSSCCSSCSSSCSSSCCCCCSSSSCSCSCSSSSSCCCCSCCSSCCSSSSCCSCCSCCCSSCCCSCSCCCCSCCCSCCCCSCSCSSCCCCCCCSSSSCCSCCCCSCCCSCSSCCSCSSCSCSCCCCCCCCSSCSCSCSSSSSSCSCSSSCCSSCSSSSCSSSCCSCSSCCCCSCSSSCCSCSCSSSSSSSCCSSCCCCCCCSCCCCCSCSSSCCCSSCSSSSSCSSSSSCSSCCSCSCCSSCCCSCSCCSCCCSSCCSSCSCSSCSCCSCCCSCSCSCSSCSSSSSCCCCCSCCSSCSCCCSCSCCSCSCSCSCCSCSCCSSSSSCSCSSCCCCCSSCCSCCSSCSSCCSCSSSSSCCSCCCSSCSSSCSCCSCCCCSSSCCSCSCSSCCSCSSSSSCCSCSSSCSCCSCSCSSCCCCCCSCCSSCCSCSSCSSSSSSCSSSSCCSCSCSCCCSSSSSSSCSSSSSCCCSSCCSSSSCSCCSCCSCSCSSSSCCCSSCSCCCSSSCSSSSSSSSSCSSCCSCSCSSSSSCSSCCSSSSSSSSCCSCCSSCSSCSSCSCCCSCCCSCCSSCCCCSCSSCSSSSCSSCCSSCCCCCCSCSCCSSCSSCCCSSCSSCCSSSCCSCSSCCSSSCSSSSCCCSCCSCCSSSCSCCCCCSSSCSSCSSCCSSSCCCSSCSCSCCSCSCCCCCSSCSCSSCCCSSSSSSSSCCSSSCSCSCCSCCCSSCSCCCSSCSCSCSCSCSSSCSSSSSCCCSSCCCCSCCSCCSSSSCSCCSCSSSSCSCCSSCSCCSSSSCCSCSCCCSSCCSSCCSCSCCCSCSSSSCSCSCSSCCCCSCCSSCCSSCSCSCSCCSCCSSSSCCCCSCCCCSCSSCCSCSSCCCSCCCCCCSCSCCSSSSSSSSSSSCCCCSSSCSSSSCSSCSSSCSCSSCCCSCSSCSCSCSCCSCSSCSSCCSCCCSSCSSCCCCCSCCCCCSSSSSSCCCSSSSSCCSSCSCSCCSSSSSSSSCSSCCCCCCSSCCSCCCSCCCSCSSCCCCCCCCCCSCCSSCSCSCSCSSSCSCCSSSCSSSCCSSSCSCCCCCSCCSCCSSSSCCCSSSCSSSSSSSCCCSSCCCSCSSSCSSSCCSSSCSSCCCCCCCSCCSSCSCCCCSCCSSCCSCSCCCCCCCCSSCCSSSSSSCCSCCSSSCCCCCSCSCCSCSCSSSSCCSCCSSSCSCSSSSCSSSSSCSSCSSCCSCSCCCSSSCSSCSCSSSSCSCSSCCSCSCSCCCCCSCSCSCSCSCCSSSCCCCSSSCCCSCCCSSCCCCCCSCCCCSSSCSSSSCSSSCSCSCCSSSCCSSSCCSCCCCSCCCSCSSSSCCCSSSSCSCCCCCCCSSCCCCCCSCCSCCSCSCCSCCCCCSSSCSCSSCSSSCCSSSSSSCSSSCCSSCCSCSCCCCCCCCSCCCCCCCSSCSSCSCSSCCSSSSCSCCCSSSCSSCSSCSSSCCSCSCSSCSSCCSCCCCCCSCSSSCSSCSSCCSSSSCSSSSCSSCCCCSCSSSSSSCCCCCCSSCSSSSSSSSCSSSCSSCSCSSSCCSCSSCSSSSSSSSCSCSCCSSCCSCSSSSCCSSSCSCSSCCSCCCCCSSCCSSCSCSSSCCSCCSCSSCSSSSSSSCSSSCSCSCCCSSSSSSCSCSSCSSSCSSCSCCSSCSSCSCCCCCSCSCCCCCCCCSCSCSSSCCCSSCSSSSSCSCCSSCCCSCSSCCSCSCCCSSCSCSSCCCCSSSSSSSCSSCCSSCCSSSCCCSSSSCCCSSSSSSCCCSSSCSCCSSSSCCCCCCCCSSSSCSSSSCSSSSSSSCCCSSSSSSSSSCSCSCSCCSCSSCCSSCSCSSCSCCSSCCSSCSCSCCCCCCCCCCSCCSCCSSSCSSSCCSCCCSSCSSSSSCCSSCCSCCCSSCSCCSSCSCCSSSCCSCSSCCCSSCCSSSCCCCCSCCSSCCCCCSCCCSCSCCCCCCSSSCCCCCSCSCSCCSSCSSSSCSSSCSSCSCSCCCCSCCCCSCCSCSSSCSCCCSCSCCCSCCSCSSCSCCCCSSCCSCSSSSSSSSCSCCSSSCSCSSCCCSCCCCSSSSCSCSCCSCSSSSCCSCCCCCCSSSCCCCSSSSCCSCSCSCSCCCSSSSCCSCCCCSCSSSSSSSCSCSSCSCCCCCCSSCSCSCCSCCSSSSSCCCCSSCSCSCSCCCSCCSCCCSSCSCSSCCSSSCCCSCCCSCSSCCCCSSSCCCSCSSCSSSCSCCCSSCSCSSCSSSCCSSSCSSSSSCSCCSSSCCCCCSSSSSSSSCCCCSCSSSCSCCSSSSCCSSSCCSCCCSSSCCCCCSSSSCSSSSSCCSSCCCCCCCSCSCCSSCCCSSSSCSSCCCSCCSSCCCCSCSCSCSSCCCSCCCSCCSCSSSCSSSCSSSCCCCCSCSSCCSSCCSCSCCCCSSSSCSSCCCSSSSCCCCSSCCCSCCCCSCSCSSSSSCSCSSSCCCCSSCCCCCCSCCSCCSCCCSCSSSCSCSCCSSCCCCCCSSCCCCCCSSSCSSSSSCSCCSSCCCCCSSCCCCCSSSCSCCSCSCCCCSSCSCCCSSSSCCSCCCCSCCSCCSSCCSCSCCSSCCCSSSCSCSSCCSCSSSSSSSCSCCCCCCSSCSCCCSSSCSCSSSSCCSSCCSCCSSCCSCCSCSSSSSCCCCCCCCSSSSCCSSCSCCSSSCSSCSSCSCCSCSCSSCCSSSCSSCCSSSCSSSCCSSSCCCSSSSCSCSCSCCCCCSSSSCCCSCCSCCCSSSCCSCCSSSSCSSSSSCSCCSSSSSCCSSSSCSSCCCCCSSCCSSCCCCCSSCCSCSCSCCSCSSSCSSSCSSCSSSCCCSSSCSSCSCCSSSCSSSSCSSSSSCSSSCCSSCCSSSCCSCCSCSCCCCCCCSSCSCCCSSSSCCSSSSCCCCCSCSSCCCSSSSCSSCSCSCSSCSCSSCSCSSSCCCCCSSCCCCCSCCCSSCSCSCSCSSCSCSSSSCCCSSCSSSSSSSSCSSCSCSSSSSSCCSCSSSSCCCCCSSSSCSCSSCSSSCSCCCSSCCSCCSSCSCSSCSSCSCCSSSCCCCCSSSCCSSCSCCCSSCCCSCCCSCCSCSCCSSCSCSSSSCSCSCCCSSCSSSSCCSCCSCSSSCSCSSSCSSCCCSSCCSSCSCSSSCCSSSCSCCSSSSCCSCCSCCCSCCCCCCSSSSSCCCSSCCSSSCSSSCSCSSCSCSSCCSSSSSSSCSCSCSCSCCSCCSCSSSSCCSCCSSCSSCSSSSCCCSSCSSCSCSSSSCSSCSSCSCCCCCSCCSSSSSCCCSCSCSCSSSCCSCSCSCCCCCCSSCSSSCCSSSCCSCCCCSCCSSCSSCCSCCCCSCSCSSSSSCCCCCCSCSSSSSSSSCSSSCCCCCSSSCSCCCSCCSCSSCCSCSCSSSCCCSCSSCCCCCSSCSCSSSCSCCSSCCSSSCCSCCSCCCSCCCSCCSSCSSSSCCSSSSSSCCSSCSCCSCCSSCSCSCSSSSSSSSSCSSSCSCSCCCSSCCSCSCCSCCSCSCCCSSSSCCSSSSCSSSSCSSCCSCSCSCCSCSCCCSSSCSSSSSCCCSCCSSSCCSSSCSCSCCSCCCCCCSCSSSCCSSCSCCSCSSCSCCSCSCSSCSCSCCCSSCSCSCSCCSCCSSCCSCCCCSSCCSCCCSCSCSCCCSSCCSSSSSSCCSSCSSSCCCCSSSCCCCCSSCSCCCSSSCSCCCCSSSSSSSSCCCSSCSCCSCCSSCCSCSSSCCCCCSCSCSCSCSSCCCSCSCSCCSCSSSCSSSSSSCSCSSCCSSCCSCSSSSCCSSCSCCCSSSSCSCCSCSCCSSCCCCCCCCSSCSCSSCSSCCCCSSCCCCCCSSCSCCCSSSCCCCSCSSCSCCCCCSSSCCSSSCCCCSCCSCCCSCCSCSSCCSCCSSSSSCCSCCCSSSSCSCCSCSSSCCSSCCSSCCSSCCCCCSSCCCSSCCSSCSSCSSSCSCSSSCCCCCSCCCSCSCCCSCCSCCSCSSSSCCCCSCCCCSSSCCSCCSCCSCSCCSSSCSCCSSCCCSCCCSSCCSCCCCSCCSSSSCSCCSCSCSSCCCCSSCSCSSCCCCCSSCCSSSSCSSCSSCCCCCSSCCSCSCCCCCCCCCCSSCSSCSCCCSSSSSSCCCSCCCSSSSSSSCCSSSSCCCCSCSSCSSSCSSSCCCSCCCSCSSCCSCSSSSSCSSCSSSSSSCSSCSSCSSSCSCSSCCSCSSSCCCSSSSSCSCCCSSSSCSCSSSCCSCSCSCSCCSSSSCCCSSSCCSCSCCSCCSCCSCCSCSSCSCCCSSCSCSSSSCSCCSSCCCSCCCSCCCSCCSCSCSCSCSSCCCSSSCSCCSCSCSCSCSSSSCSSSCSCCCCCCCCSCCSSCCCCCCSCCCCCSSCCSCSCSSCCCCSCCCSSSSCSCSCCCCCCCCSSSCSSCCCSCCCCCCCCSCCCCSSSCCCCCCCCSSSSSCSCSCSCSSSCSSCCCSSSCCSSSSCCCSCCCCCCCSCSCCCCCSSCCSSSSSSCCCCCCCSSSCCCCSCCCSCSCCCCSSSSCSSCCSSCSCCSSSCSSCCSSCSCCSCCCCSSSSCCSCSCSSSCSCSCCCSCSCCSCCCCCSCSCCSCCSSSSCCSSCCCCSSCCSCCSCCCCCSSSCSSSCSSSSCSCCSCCSSSCCCSCCSCSCSCSCCCSSCSSCSSCSCSSSCSCCSCSSSSCCCCCCSSCSSCCCCCCSSSCSCCCSCCCCCCCCCSCCSSSSSCSCSCCSCSCCSSSSCSCSSCCSSCCCCSCSCSSCSCSSCCSSCCSCCSSSCSCCCCSCCSCSCSSSSCCCSCCSSSSCCSSSCCSSSSCSCSSSSSCCCCCCCSCCCSCSSCSCCSSCCCSSCSSSCSSSCSCCSSSSSSCSCSCSCSCCSSCCCSCCCCCSSCCSSSCCCCSCSSCCCCCSSCCSSSCSCSSSCSCSSCSSCCCCCSCSSSCSSSCCCSSSCCCSCSSSSCCCCSSSSCCCCSCCCCSSCSSSSCCSSSSCCCSCCCSSSSSSCSSSSCSCCSSSCSCCCSSCSSCCCCCSSCSCCSCSCSSCSSCCCCSCCSSSSCSSSCCCCSCSSSCSSCCSSSSCSCSSCSSSCCSCSSCCCSCCSSCCCCSSSSCSCSCSSSSCCSCSSCSSSSSCCSSSCCSCCSSCSCCCSCCCSCCSCCSCCSCSCSSSCSCCCCSSSCCCCSCSSCSSSSCSCSCCSSSCCSCSSSCSCSCSSSSSCCSSCSCCCSCSCSCCCSCCCCCSSCCSSCCSCSCCSSSSCCSSCSSSSSCCCCSCCSSSSSCSSSSCCCCSCCCSCCSSSSCCSCCCSCCCSSCCCCSSCSCSSSCCSSCCSSCSSCCSCCSSSSSSCCSCSCCCCSCCSCCCCCCCSCSSSCSSSSCSSSCCSSSSSSSSCSCSCCSSCCSSCCSSSSSSCSSSCSCCCSSSCCCSCSCSSSCSSCCSSCSSCCSSCCCSCSSSCSCCCCCCSSCSSSCCSCSSCCCSSSCCSCSSCSSCSSCSSCSCSSCCCCSSSSSCCSCSCSSSSCSSSCCSSSSCSCSCSCSSSCCCCCCCCCCSCSSCSCSSCSCSCSSSSSCSCSCCCSCCSCSSCCSCCSSCSSCCSSSCSCCCCCCSSSSCCCSCSSCSCCCSCSSSSCCSCCSSSSSSCCCCSCSSSCCSSCSSCCSCCCSCSCCCCCCCCCSSCCSCCCSCCSSSSCSSCCSCCSCSCSSCCSCCCSSCSCSCCCCSSCSSSSCSCSCSCSSSCSSCCCCCCSCSCCCSCSCSSCSSCCSSSCCCSCSCCCSSSSCCCCSSSSCSSCSSSSCCCCSCCCSCSCSCSSSSSCCSCCSSCCCSSCCCCCSSCSSCCCCCCSSCSCSCSSSCCSCSSCSSSSSCCSSSSSSSCSSSSSCSSCSCCSCCCCCCCSCSSSCCCSSCSCCSSSCCCCCSCCCCCCCCCCSSSCCSCSSSSCSCSCCCSCSSCSSSSSSCSSSSCSSSSCSSSCCSSCCSSCCCCCSCSSSSSCCCCSSCSCCSSSSCCSSSSCSCCSSCSCSSSSCCSCSSSCCSSCSCCSSCSSCCCCSCSSSSSCSSSCCCSCSCSSSSSCCSCCSCSSSSSSSSCSCSSCSCCCSCCSCCCCCSCCSSSSCCCCCSSSCCCSCSCCCSCCCCSSCCSCCSSCSSSCSCSCCCCCCSSSCSSCSCSCCCCSSCSCSCCCSSSCCCSSCSCCSCSSSCSCSSCCSSSSCCSSCSSCCSSSCCCCSCSCSCSCCCCCCSSSCCCSCCCSSSCSSSSSSCCSCCCSCSCCCCCCCCCSCSSCCCSSSSCCCSSCSCCSSSSCSCCSCSCSSSCCCCSSCSCCCCCSSCCCCCCCCCSSCSCSSCCSCSCSSCCSSCSSSCSCCCSCSCSCSSSSCCSCCCCCSSCCSCCSCCCSCSCSSSCCSSSSCSSCCSSCCCCCCSSSCSCSCCSCSSSCCCCCCCCSSCSCCSSCCSCCCSCCCCCCSCCSSSCSSCSSSCCCSSSCSSSSSSCCCCSSCSCCCCSSSCSSSSCSCCSSSSSSSSSCSSCCSSCCSSSSSCSSCCCCSCSSCCCSCSCSSSCSCSSCCSSCSCCCSCCCSCSSCSSSCSSCSCCSSCSSCCCCCSSSSSSCSSSCCCCCSSCCCSSCCCSCCCSSCCCSSSSSCCSCCSSSSSCCSCCSCSCCCSSSCSCCCCCSSCSSCSCCCSCCSSSSSSSSSSSCCSCSSCSCCSCCSCSSSCSCCSCCSCSCCCSCSSSCCCCSSCSCSCCCSCSCSCCSCSCCCSSSSCCSSCSSSCCCCCCCCCSCCCCSSCCSSSSSCSSSCCSSSCCSCCCCSCCSCCCSSSCSSSSCCSSSSCSCCSSSCSCCCSCSSSSSCSCCCSSCCCCSSCCSSSSSSSSCCSCSSSSSCSSCCCCCCCSCCSCSCSCSCCSCSSSCSCSCSSSCCCSCSCCCCCCCCCCSSCCSSSSCSCCSCCCSCSCCCCSSCSSCCSCSCCSSSSSSCSSCCCCSSCCSSSSSCSCSCCCCCSSCSCSCSSCCSCCCCCCSSCSSCCCSSCSSSCSCCCCCSSCSCCCCCCCCCCSSSCCCSSCCSSSCCSSSSCCCCSCSCCCSSSSSSSCSSCCCCCSSCSSSCCSCSSCCCCCSSSSSCSSCCCSSSCCSSSCSCCCCCCCSSCCCCCCSCSSCSCSSCCCSCCSSSCSSSCSCCCSSSCSSSSSCSSSCCCSCSSCSSSCSCSCSCCSCSSSSCCSCSCSCSCSCSCCCSSCSSSSCCSSCSSCCCSSSCSSSSSSCCCCCSCCCSCCSSCSCSCCCSSSCSSSSSCCSSCSSSCCSCCCCCSSCSCCSCCSSSCCCSCCSCSSCSCSSSSSSCCSCCCSSSSCSSCCCSSSCSSCCSSSSCCCSCCCSSCCSSCSSCSCSCSSCCSCSSCCSCSCCCSSSCCCCSCSSCSCCCSCCCCSCCSCCCSSCCCCSSSCCSSSCSSSCSCSCCSSSCSSCSCCSCSSCCSSCCSCCSCCCCSSSSSCCCCCCSCCSCCCCCSCSSSCCSSSSSSSCSSSSSCSCCSSSCCSCCSCSSSSSCSSCCSCSCSCSCCSSCCSSCCCCCCCCCCCCCCSCCCCCCSSCCCCCSCCCCSSSCSCCSSSCSSSSSCCSSCCSSSSCSSCSSCCCCCCCCSCSSSSSCCCCSSSCCCSSSCSCSSSSSCCSCCCCCSCCSCCCSCCSCSSCSSSSSCCSSSSCCCSCCSSCCSCSCSSCSSCSCCCCSCCCCCSSSCSSSCCSSCSSCCCCSSSCCCSSCSSCCSSSSSCCSSCSCSSSCCCSCCSCCCCSCSCCCSCSSCSCCCSSCSCCSCCSSSCCSSSCSCSSCCSSCSCSCCSSSCSSCSCSCCCCCSCCCCCSCCSCSSCCSSCSCSSCCCCSCCCSSCSSSSCSSSSSCCSSSSSSSCCCSCCCSSSCCCCSSCSCSSSSSCCSCCSCCCCCSCSSSCCCCSCCSSSCCSSSCSCCSSCCCCCCCCCSCSCCSCSCCSCCSCSCCCCSCCCSCSSCCSSSSCSCSCCSCCCCSSSCSSCCSCCSCSSCSSCCCCCCSCCSSSCCCSCSSSCSSCCCSSCCSSCCSCSSSCSSCSSSCSSSSCCCCSCSSCSSCSSCCCCSSCCCSSSSSSSSCSCSCCSSCCSSSCSSSCCSCSCSSSCCCSCCCSSCCSSCSCCSCSSCCSSCSSCCSSCSSSCCCSSSCSSSCSCSCSCSCCSCSCSCCCCSSSCSCSSCCSCSCSSSSSSSCCSCSSSCCSSCCCSSCSSSSSSCCCSSSCCCSCSSCCSCCCCCSSCSCCSCSSCSSCSCSSCSCCSSSCCCSSCCSSSSSSCCSCCSCSSSCCSSCSCCSCCCSSCSSCSSCCCCSCSCSSSSCSCCSCSSCSSCSSSCSSSSSSSSSCSSCCSCCSCSCCCSCSSSSSCSSSCSCCSCCCSCSSSCSSCCSCSCSSSSSSSCSSSCSCSSCCSCSCSSSCCSCSCSCCCCSSSCCSSSCCCCSCCCCCSSCSSSSCCCSSCSSCSSCSCCSCCSSSSSCSSCCSCCSSCSCCSSCSCSCCCSCCSSSCSSCSSSSSCCCCCSCCSCCCSSCCSSSCSSSCSSSCSSCCCCSCSCSSSCSCSSCCCSCSSSSSSSCSSCCCCSCSCCCCSSCSSSSCCSCCCSSSSSCCCSSCSCSSCSCCCSCSCSSCCSCSCCCCCCSCSSSCCCCSSSSSSSSSSSSCSSCCCSSCSSSSSSSSCSSSSSCSCCSSSCCSSSSSSCCSSSCCSSSSCCCCSCCSCCCCSCCSSSSCSCCSCCCSSSSCCSCCSSCSCCCCCCSCSCCCSSSSSSCCSSCSSSCCCCCSCCSSSCSCSSCSCSSCSSSSSSCSSCSSCCSSCCSCCSCSSCSCCCCCSSSCSSSSCCCCSCCSSSSCCCSSCSSCCCCCSSCCSSCCSSCSCCSSCSSCSCSCSCCCSCCSSCSCCSSSSCCCCSSSSSCSSCSSSSCCCSSCCCCSCSCCCCSCCSSCSSCSSCSCCSCCSCCSSSCSCSSSCSSSSSCSSSSSCCCSCSCCCCSCCSSSSSSCCCCSCSSSSSSCCSCSCCSSCCCSSCCSSCCCCSCCCSSSCCCCCSSSCCSCSCSCCSCSSSCCSSSCSCSCCSCCSSCCSCSCSCSSSSCCCCSSSSCCSCSSSCCSSSSCSCSSSSSCSSSCSCCCCSCCCSSCCCSSSSCCSSSSCSSCCCCSCCCSSCSSCSCCSCSSCCSCCSSSCCSSCCCCSSSSCSSSSSSSSSSSSCCSSSCCCCSCSCCCSCCSSSSCCCSCSSSSCSCCCSSCSSCSCSSCCCCSSSSSCCCCCCSSCSCCSSCSSCCCSSCCCSSCSSSCCSSSSCSSCSCSSCSCSCSSSSCCCSSSSSCSCCSSCCSCSCSSSSSCCSCCCCSCSCCSSCSSCCCCSCCCSCSSCSSSCCSCCSCSCSCSSCSCCSCCCSCCSSSCCSCCCSSCCSSSCSCCCCCCCCCCSCCSCCCCCSCCCCCSCSCCCSSSSSCCCSCSSCCCSCCCSCSCCSCCSCSSCCCCSSSCCSCSSSSSCCSCSCSSCCCSSCCCSCCCSSSSCCCCCCSCSSCCSSCCCCSSCSCCCCCCCCSCCCSSCSCSCSCSCCCSSSSSCSCSSSSSCCSSSCSSCCSSSCCCSCCCCSSCCSSSSCCSSSSSSCSSCCSCSCCSCSCSCCCCSCCCSCCSSCSSCSCCCSCSSCSSSSSCSSSCCCSCSCSCCCSCCCSCCSSCCCCSCCSSSSSCSCCCSSSCSSCSCSSSCCSCSCCCCSCCSCCCSSCSCCSSCSCCCSCSCSCSSCSSSSSSCCSSSCSSCCCSCCSSSCCCSCSSCSCSCSSSCSSCCSCCSCCCSSCSCSCCSCSSCCCCCCCSSSCSCSCCCCSSSSSSCCCSCSSCSSCCSSCSSSCSCCCCCSCSCCCSCSSSCCSCSSSSCSCCSCCCCSCSSCCSCSSCCCCCCSSCCCSCSSCSSSCSSSCSSSCSCCSCCSSCSSSSSCSCCCCSCSCCSSSSCSSCCCCSSCSSSSSCCCCCSSCSSCSCSCSSSCCSCCSSCCCSSCCSCCSCSCSSCCCSSSSCSCCSCSSSCCCCCCCCSSCCCCSSCCSCSSSSSSSCCSSCCCCSSSSCCCSSCSSSSCCCCCSCCSSCSSSSSSSCSCCCSCCSSCSSSCCCCSCCSCCSSCSSSSCSSCCCCSSSCSCSCCCSCCSCCCSCSCSCSCCCSCSSSSSCCSCCCCCSSSSCSSSCCSCSCSSSCSCSSCCCCSSCSCCSSCSSSCSSCCSSSCSSCSSSSSCCCCCSSCSSCSSSSCCSSSSCSCCCSSSSSCSSSSSSSSSSSCCSCSSCCCCCCCSCSCSSSCCSCSCSCSSSSCSSSSSSCSCCSSSSCCSCCSCCCSSSCCSSSSCCCSSCCSSCSSCSCCCCCCSSSCSCCSSCCSSSCSCSCCSSSSSCCSCSSSCSSCSSSSCSCCSCCCSCSCSCCSCCCCCCSSSSCSSCSCSSCSCCCSCCSCCCCCSCSCSCSSSCCSSSSSCCSCCCCCSSSSSCSCSSCSSSSCSSCCCCSSSSCSCSCSCSSSSSSSSSSCCSCCCCSCCCCSSSCCCSCCCSCCSSCCSSCSSSCCSSSCCSSCSSCSCCSCCCSCSSCSSSSSSSSSSCCCCCSCCSCCCSSSCCCSSSSSCCCSCSSCCCSSCSSSCCCSCSSCSCSSCSSCCSCCCSCSCCCCSSCSCSCSCCCSSSCSSCSSSSCCCSSSSSSCSSCCSSCSCCSCSCCCSSSCSCSSSCSCCCCSCCSCCCSCSSSSSCSCCCSCCSCSCSSSSSSCSSSCSSCCCSCCCCCSSSCCSCSCSSSSSSSSSCCSCCSCSSSCSCSCCSCCCCSSSSCCCSCCCSSSCCSSSCCSSSSCCCSSSSCSSCSCCSCCCCCSCSCSCCCCCSCSCSSCSCSSCSCSCSSCCCSSCSSSSSCSCSSCCCSSSSSCCSCSCCCSCSSCCSCCSSSSSSSSSSSSSSCSCSSSSCCCSCCCCCSSCCCSCCCCCSCSCCCCCCSCSSCCCCSSSSSSCSCSCCCCSSCSSCSCSCSSSSCCSCSCCSCSCSCSSCSCSCSCCCSSCSSSCSSCCSCCSSSSSSCCCCSSCSSSCCSSSSCCSCCCCCCSSSSSCCSSSSSCCSSCCSSSSCCCCSSSSSCSCSCSCSCSCCSCCCSSSCCSCSCCCCCSCCCSCCSCCCSSSCCSCCSCCSSSCSSCCCCSCSSSCSCSCCCSSCSCCSCSCSSCSSSSSSSCSSCSSCSCSCCSCSSSSSCSSCCSSCSSSSCCSSSCSCSSCCCSCSSSSCCSCCCCSCCSCCSSSCSCSCSSCCCCCSCSCCCCCCSCCCCCSCCCSCCSCCSCCCCSSSSCSCCCCSCCCSCSCCCCCCCSSCCSSSCSSSCSCSSCCCCCSSSSCCSSCSSCCCSSSCSCCSCCCCSSCCCSCSSCCCSSSSCSSSCCCCSCCCSSCCCSCSCCCCCCCCSSCCSSCSSCCCSCCSCCCCCCCSSSCCSSCCCCCSSSSCSCSSSCCSCSCCSCSCSSSCCSCSSSCSCSSCCCSSSCCCSCCCCSSCCSCCCCSSCSSCSCCSCSCSSCCCSSSCSSCCCCSSSCSSCCSSSCCSSSCCSSSSCSSSSCCCCSCSSSCSCSSSCSSSSCSSCCCCCCSCSCSSSSCSSCCCSSSCSSCCSSSCSCCSCCSSSSSSCCSSCSSCSSSCCCSSCSSSSSSSSCSCSSCSCSSSSSSCSCSSSCSCCSSCSCSCCCSSCSSCCCSSSCSCSSCCCCSCCCSSSSSCCSCCCCSSSCSCCCCCCCSCCSCSSSSSCCSCSSCCCSSCCCSSCSCCCSSCSCSCCCSSSSCSSCSSSSCCCSSCCSCSCSCSSCCCSSSCSSSSSSCCCCSSSCCSCCSCCSSSCSCSSCSCCCSSCSCSCSCCSCCCCSCSSSSSSSCSSSCSCCSSSSCCCSSCSSSSCCCCCCCCCCCSSSSSSCSSCSSCCSSSCSSCSCSSSSSCCCSCCSCSSSCSCSCSSSSSCCSCCCCSSCCCSCCSCCSSSSCSCSSCCSCCCCSCSCCSSCSSSSCCCSCSSCCCCSCSSCSSSSSCSSSSCSSCCCCCSCSSSSCCSSCSCCSSCSSCCSCSSCSSCCCSCCCSSSSSCCSSCCSCCCSCSSCSSSCSCSSCCCSCCSSSSSCSCCSSSSCSSCCCCCSCSSCSSCSCCSCCCSSCCSCSCCCCCSCCCSCSCSCCSCCCSSSCCCSSCCSSCCCSSSSSCSSCCSCCSSSCSCSCCCSCCSCCCCCSSCSCCCCSSSSCCSSCCSCSCSSCSCCCCSCSSSSCCSCSCCCSCCCCSCSCSSSCCCCCCCCCCSCSCSSSCCCCCSCSSSCCCSSSSCSCSSSCSSSCSCCSSSCSCCCSSCSCSCCCCSCCCCSSSSCSSCSCSSCCCCSCCCSCSCSSSCSCSSSCSCSSCCSSSCSSSCCSSSCCCSCSSCCSSSCSCSCSSCCSCSSCCSCCSSSCSSCSCCSSCSCCCSCCCSCSCCCSCCCCCSCCCCCSCSCSCSSSCSSCSCSSSCCSSSCSCCSCSCCSCCCSCCSCSCSSCCCSSSSCCSCSCCSSSSCSCCCCCCSCCSCCCCCCCCSSSSSSSSSSSCSCSCSCCSSSSCSSCSSSCSCSSCCSCSCCSCSSCSCCCCCCCSSSCSCCSCSCCCCSSSSCCSCCCCCCSSCSSCCSCSSCSCCSCCCCCCCCSCCSSSSCSCCCSCCCCSCSSCSCCSSCSSSCSSSSSCSCCCSCCSCSSCCSCCCCSCSCCSCSSCSSSCCCSCSSSSSSCCSCSCCCCSCSCSSCSCCCCCCSSSCSCSSSSSSCSSSSSSCCCCCSSSCSCCCCSSCSCSCCSSCSCSCSSCSCSSCSCCSCCSSSSCSCCCSSSSCCSCCSSSCSCCSCSSSSSSCCCSCSCCSCSSCCSSSCSSSCCCSSSCCCCCCCCSSSCCCSCCCCSSSCSCCCSCCCSCSCSSSSSCSCSSCCCCCSSCCSSCCCSCCSCCSCSSCSCCCSCSSSCSSCSSCCCCCCSCSSSCCSCSSCCSCSCCCCSCSSSCCSSSCCCSSCSCCSCCSCCSSSSSSCSSSSCSSSCSSSSCSSCSSSCCSCSSSSCSSCCSSSSCCSCSSCSSSSCSCCCCCCSSSCSSCSSSCCCSSCSCCCSCCCSSCSCSSCCCSSCCCCSSCCCCCCSCCCCCSCSSSCCSSSCSCSCCCCSSSSSSSCSCSSSSCSSSSCCSCCCCSSCSCSSSSCSSSCSCCSCCSCSSSSCCSCSCCCCSCSCSSSCSCSCCSSCCSCSCSCCSCCCCSSSCCSSCCCCCCSCCCCCSSSCCSSCCSSCCCCCSSCCCCCSCSCCSSSSSSCCCCCCSSSSSSCSSCSSCCSSSSCSSSSCSCSSSCSCSCCSCCCSSSSSSCCSSSCSCCCCCCSCSCCCCCSCSCCCCCSSSSSCSCCCCSSCCCSSCSSCSSSSCCSCSSSSCCCCSSSCSCSSCSCCSCSSSSCSCSCCCSSSCSSCCCSCSCSSCCSSSSCCCCSCCSCCCSCSCCCSSSCCSCCCSCSSCCSCSCSSCCCSSSCSSCCSCCSCSSSSSSSCSSSSSSCCSSSSCSCCCCCCCSSCSCSCCCCSSSSCSSSCSCSSCCSSCSCCCCSSCCCSCCCSCSCCCSCCCSSCCCCSCSSSSSSCSSSCCCSCCCSSSSCSSSSCCCSCSCSCSSSSSSSSCCSCSSCSSSSSSSSCCCCSCSCCCCCSSSCCCCCSSCSCCSCCCCCSSSCSSCSCSSCCCSCCSSSCSCCSSSSCSCCSCCCSCSSSCSSSSSCCCSCSCCCSSSSCCCCCSSSCCCSSSCSSSSCSSSCSSCSCSSCCSCSCCSSCCCCSSCSSCCSCSSSSCCCSCCSSSCCSSCCCSSCCCCSSSCCCCCCSSSSSCSSCCCSCSCCCCCSSSSSSCCSSSCSSCSSSSCSSCSCCSCSSSCSCSSSCCCSCSSSCSCCCSCCSSCCSCSCSCSCCSCCSCCCCCCCSSCCSSCSSCSSCSCCSSSSSSCCCSSCCCSCSCCSCCCSSSCSCCCCCSSCSCCCCSSCSSCCSCCCCSSCCSSSSSSSCSCSCCSSCCCSCCCCCSCCCSSSCCCCCSCCCSSSSCSCSCSCSCSSCSSCCCSCSCCSSCCSCCSCCSSCCCSCSCCCCCSSSSCCCCSCCSSCCCSSSCSSSCSCSCCSCSSSSSSCSSCSCSSCSSCCSCCSSSCSSSSSCCCSSSSSCCCSCCCSSCCCCSSCCCSCCCSSCCCSSSCCCSCCSSCCSCCSSCCSSCCSCCCCSCSCSSSCSSSCCSCSCCCSCSSSSSSCCCSCCSCCCSCSSSSSSSCCCCCSSCSCCSCSCCCCSCCSCSCCSCCSSCCCCCCSSCCSCCCSCSCSSSSSSCSCCSCSCCCSCCCCCCSSSCSCSCSCCSSSCCSSSSCCCCSCSCSCSSSSCCCCSSSCCSSSSSCCCSSCSCCSCCSCCSCCCCSCCSCSSSSSCCCSCCCSSCCCSCSSCSSSCSSSCSSCSSCSSSSCCCCSCSCSCSCSSCSSCCCCCSCCSCSCSSSCCSCCSCCSSCSSSSCSSCCSSSSCSCSCCSSCSCCSSSSSSCSCSCCSCSCCSSCCCSCSCCCCCCSSCCSSCCCSSCCCCSCSCSCSCCSCSCSSSCSSSCSCSSCSCCSCCCSCSSSSCSCSCCCCCCCSCSSSSCSSCCCSCCCCCCCCSSCCSSCCSCCSSSCSCSCCCSSSCSSSSSSCCCSCSCSSCSCCCCCSSCCCCSSCSCSSCSCSSSCCCSSSSCSSSCCCCCCSCSSCCSCSSCCCCCCSSSSCSSCSSSCCSCSSSSCSSSCSSCCSCSCSCSSSSSSSCSCSCCCCCCCCCCCSCSCSSSSSSCSSSSCCCCSCCCCCCCSSCCSCSCSCSSSCCCSSCSCSCCCCCCSCCSSCCCCSSSCCSCSSSSSCSSCCSCCSCCCSCCCCCSCSCCSSCCSCCSCCSSSCSCCSCCCSCSSSSCSSSSSSCCSSSSSSSCCCSCCSSCSSSCCCCCCCSCCCSCCCSSCCCSSSSCSCCCSSSCCSCSSSCCCSCCCCSSCCCCCSSSCSCSSCCSCCCCCSCSSSCSSCSCSSSSCCSSCSSSSCSSCCCCCCCCSSSCSSSCSSSSSSSCCCCCCSCCCSSSCSSCSSSCCSCCSSSSCCCCCCSCCSSSCSSCCSSSSSCSSSSSCSCCCSSSCCSCSSCCSSCCCCCSSSCSCSCCCSCCCCCCSSSSSSSSSSCCSSSSCSCSCCCSCSSCSSCCSSSSSSCCCSSSCSCSSCSSCSSCCSCCCCSCSCCSCSCCCCCSCSCSCSCSSSCSSCCSCSSSCCCSCCCCCSSCSSSSSCCCCSCSCSSSCCSSCSCSSCCSSCSCCSSCCSSCCCCCSCCSCCSCCSCCCSCSSSCCSSSSCCSSCCSCCCCCCCCSSCSCSCSCSCSCSCCSSCCCCSSSSCSCSSCCSSCCSSSCSCCSCSSSSCCCCSCCSSSSCCCCSSSCSSCCSCSSSSSCCCCCCCSCCSCSCCSCCSSSCCSSSSCSSCCSSCCCSCCSSSSSSSSCCSCCSSSCSCCSCSSCSSSSSCCSCSCCCSCSCSSSCCCSSSCCSSSCSSCSSCCSCCCCCSSSSSSCSCCSSSSCCSSCSCCCSCSSCSSSSSCSCSSSCSSSSCSSCCSCSSSSCSSCCCSSCSSCCSSCCSSSCCSCSSCSCCCCSSSSCSCSSSCCCSCCCCCSCCCCCCCCSSSCCSSSSSCSSSCCCCCCCSCSSCCSSSCCSSSCSCSSCCCCCSCCSCCCSSSCSCCCSCSSSCCCSCSSSSSSSCSSSSSCCCCSSCCCCSSSSCSSSSSSSSSSSSSCCCCSSSCSCSCSCSCSCSCCSCCSCSCCSSSSSSCCSCCSSSCCSSSCCCSCCSCCCSSCSSSCCCSSCCCSSCCSCSCCSCSSSSSSCSCCSCCCCSCCSSCSSSCCSCSCSCSSSSSCSSSSSSCCCCCSCCCSCCCSSCCCCSSSCSSCCSCSSCCCCCCSSCSSCSSSSCSCCSSCCSCSSCCCCSSSCSSCSCCCSSCSCCSCSSCSSSCSCCCSCCSCSCCCCCCSCCCCCCCCSSCCCSSSCCCSSCSSCSSCSSCCSSCSCSSCSCCSCCSCCCSSCCCCSSSSCCSCSSCSCCCSCSSSSSSCSSCSCSCCSSSSSCSCCSCSSSCSCCCCSSSCSCCSSSCCSSCSCCSCSCSSSCSSSSCSSCSCCSSCCCCCSSCSCCCCSCSCCSCSSSSSSCSCSCSCCCCCCSSSCSCCSCSSCSCCCCCCCSCSSSSSCCCSSCSSCCSSCSSSCCCSCSCSSSCSCSCCCCSSCSCSSCSCCSSSSCSSSSSSCCCSSSSSSCCSCCCSCCCSSCSCCSCCCSSCCCSCSCSSCSSCCSCCCCCSCCSSCSSSCCCCCSCCSSCSSCSSCCCSCCSSCCSSSSCSCCSCCSCCSCSSCSSSCCSCCCSCCSSSCSCSSCSSCSSSCSSSCSCSSCSCSCSCSCSCSCSSCSSCCSSCCCCCCSCCCSSCSCCCCSSCSSCSCSCCCSCCSSCCSCSSSSSCCSSCCSCCCCCCCCSSCSSSCSCSCSSSSSSSSCSCCSCCCSCCSCSSCCSSSCCCCSSCCSCSSSSSCSSCSCCCCSCCCSCSSSSCCSCCCSCSCCCSSCSCCCCCCSSCCSSSCSCCSCSSCCSCCCCSCCCSCSSCSCCSSCCCCSCSCCSSSSCCCCCSCSCCCSSCCCCCCCCSCSSSSCSSSCSSSCCSSCSSSCSSCCCSCCCSSCSSSCSCCSSCSSSCCSCCCCSCSSSSCSSCSCSCSCSSCSSCSSCCCCSSCSSSSCSSCCCCSCCCCCSCSSSCCCCSCSSCSCSSCCCCCCSCSSSSCSCCCSCSCSCCCSSCCSSSSSCCSSCCSCCSSCSCSCSSCSCSSSCSCCSCCSSCCCSCSSSSCCCSSCCCCSSCCSSSSSCSSCCSCSSCSSSCSCCSCCCCCCCSCCCSSCCSCSSCSSSCCCCSCCCSCSCCSCCSSSCSSCCCCSCCSCSCSCCSSCSCSCSCCCCSCSSSSCSSSSSCSSSCCSCSSSCCSSCCCSCSSCSCCCCCSSCSSCSCCSCSSCCSSCCSCCCCSCSCSCSCSSCCCCSSSCSSSSSCSCSCCCSCCSSSSCCSCSSSCCCCSSCCCSSCCCCSSCSCSSCSCCCSCCSCSSCSCCCSSCCCSSSCCSCSSCCSCSCCSCSSSCCSCCSSSCSSCCSSCCCCSCSSSCSSSSCSSSSCCSCCSCSCSCSCCSCSSCCCSCSCCSCCSCCSSCSSSSSCCCCSCSSSSCSCSSCSCSSSSCCSSSSSSSCCCSCSSSCSSCSSSCSSSSCSSSSSSCSCCSCCCCSSCSCSSCSSSCCCCCCCSCCSCCSSSSSCCCSSSSCCCCCSCCCSSSSSCSCSSSCSCSSCCSCSCSCCSCCSCCSCCCCCSCSSSSCSSSCSSSSSCSSSSCCCCCCSCSCSCCCSCSCCCSCCSSSCSCCSCCSSSSSCSSCSSSCSSSSSSSSSCSSSCSSCCCSSSSSCSSSSSCCCSSCCSCSCSCCCCCCCCSSSCSSSSCSCSCSSSSCCSCSSSCCSSCSSSSSSCSSCCCSCCCSCSCSCCCCSSCCSSSSSSSCCSSCCCSSSCSCCSSCCCSCCCCSCCCSCCCCSSCSSCCSSSSCSCCCSCSSSCSCCSCCSCSCCCCCSSCCSSCSCCCSCSCCSSCSSSSSCCSCSCSSSSSCSSCSSCCCCSSSCCSSSSSCCCSCCSCSCCSCSCCSCCCSCCSSCCSSSCSSSSSSSCCSSSSCSSCSSSSCCSCCCCSSSCCCSSSSSCSCSCSSSSCSCCCSSSSSSSCCSCSSSCCSSSCSSCCSSCCSCSCSSCCCCSCSCCSSCCCCSCSSSCSCSSSSSSSCSCCCSCCCCSSCSCSSSSSCSCCSSCSSCCSSCCSSSSSCCSCSSCCCCCCCCSSSSSCCCCCCCCCCCSSSCCSCCCCSSCSSSCSSCSCSCSSSSSCSCSCCCSSSSCCCCSCCCCCCCCSSSSCCSSCCSCCCCSSCCCCSSCSSSCCCCCSSCSCCCSCSSCCCCSCSSSSCSSCSCCCCCSSSCCSCCSSSCCSSCCSSSCCSSCCCSSCSCSSCCCSSCSCCCCCCCCCSCCSSCSCCSSCCCSSCCSSSCCCSCCCCSSCCSSSCCCSCCSCCCSSCSSCCSCCCCCCCCSCCCCCCSCCSSSCSSCSSSSCCSCSCCSSSSSCCSSSCSCCCCSCSSCCSCCSSSSSCSCSCSCSCSSCCCCSCCSSCSCCSSSCCCCSSSSSSSSSCCCCSCSSSSSCCSCSCCSSSSCCSCCSCSCSSCSCCSSSSSSCCCSSCCSSSCSSSCCCCSCSSCCCCCCCSCCCSSSCCSCSCSSCSSSCCCCSCSCCSSSSSCCCCCCCSSSSSCCCSSSSSSCCCSCSSSCSSCSCCCSCSSCCSSSCCCCSSSCCSCCCCCSSSSSCSCSCSCCCSSCSCSCCSSCCSCSSCSCSSCSSSCCCCSCCSSSSSSSSSSCSCSCCCCSSSCSCCSCSSCCSSCCSCSCSSCCSCCCCSSCSCSCSCSSSCCSCSCSCCCSSSSSCCCCCSCCSSCCCSCCCCCSSSCSCCCCCSCSCCSSSSCSSSSSCCSCSCSSCSCSCCCCSCCCCSCSSCSCCSCSSSSSCCSCSCCSCSSSSCCSCCSCCSSSCSSSCSCCCCSCSSSSCCSCCSCCSSSCCSCCSCCCCSCSSCCSSCCSSCSSCCSCSSCCCSSCSCSCCSCSSCSSSSSSCSSSCCSCSSCCSCSCCCSSCSCSCSCCCSCCSCCCSSSSCSSSSSCCCSSSCSCCCSCSSCCSCCCSCSCSCSSSSSSSCCSCSSSCSSCCCSCSSCCSSCCCCCSCSCCCSCCCSSSCCCCSCCCSCSCSCSCSCCSCCSCSSCCCCCCCSSSSCSSCCSSSSCSSCCSSSCSSCCCCSSSCCSCCSSCCCSSCCCCCCCSCSCCSSCSSSCSCSCSCCCCSSSSCCCCSCCCSSSCSSSSSCCCSCCCSSSCCCSSSCSSCCCSCSCSSCSCCCSCSCCCSSSSSCCCSSCSSCCSSCSCSSCSCCSSCSSCCCSCSCSCCSCCSSSSCSSSSSCSSCSCSSCSCSSCSCSCCSCCCCSSCSCSSCSSCSCCCCSSCCSSCCCSCCSCCSSSCSSCSSCCCSCCCCCCSCCCSCSSCCCCSSSSCSSCSCCSCCCCSSCCCCCSCSCSCCSSSSSSCSCCSSCCCCSCSSSCCCCSCSSCCCSCCCCSSCCSSSCSCSSCCCCSSCSCCSCCCSCCSCCCSSSCSCCSSSSSCSCCSSCSCCSSCSCSSCCSSCSCSSCSSCCCSSSSCCSSSCCCCCSSSSCCSCSCSSCCCCSSCCSSCCSCSSSCCSSCSCCCCSSCCSCCCSCSCCSCSSCCSSSCSSSCCSSSSCSCCCSCCSCCCCCCCCCCSSCCSCSSSSCCSSCCSSSSSSSSCSCSCCCCCSSSSSCCSCSSSCCSCSCCCSSCCSCSCCCSSCCCSCSSCSCCSSSCSSSSSCCCCCSSCSCSSSSCCCCCSCSSCCSCCSCCSSSCSCCCSSCCCSCSSCSCCSSSCSCCCSSCSCCCCCSCSCSSCSSCCSSSSCCCSCSSCSSCSSCSCSSCCSSCCCCCSCSSCSCSSCSSSCSCSCCCSCCSCSCCSCSSSCCCCCSCCSSSCCSSSCCCSSCCCCSSCCCSSSSCCCCCCCSCCCSCCCSSSSSCCCCCSSSCSSSCCSCCSSCCSCCSSSSSCCCSSSCCSCCCSCSCCCSCCSSSSSCCCSSCSCCCSCCSCCCSSCCSCSSSCSSCSSSCCCCSSCCCSCCCCCSCSSSCSSCSSSSCCSSCSSSCSSCSCSSSSCCCSSSCSCSCSCSSSSCCSCSSSSSCSCSSCSCSCCCCCSSCSSCSCSCCCSCCSSCCCCSSSSCSSCCSSCSCSCCCSSCSCSCSCCSCSCCSSSCSSCSCCCCSCCCSSSSSCCCSCSSCCCSSCSSSSSCSSSCSCCSSCSSCCSCSCCSCSSCCCCSCSCSSSCCSCCCCSCCSSCCSCCCSCSSCCSSSSCCSSCCSSSSCCSCSSCSCSSSSCSCCCSSCSCCSCCSCCSSSCSSSCCSCSSSCCSCCSCSSSCCCSCCCCSSCCSCSSCCSCSCCCCCSSSCCCSSSSSSCCCCSCCCSSSCSSSSSSCSCSCCSCCCCSSCSCCCSCSSCSSCCSCCSCCSCSSCCSSCCCSCSSCSCSCSCSCCSSCCCCSSSSSCSSSCCCSSCCCSCCCCSCCSSCSCSSSCCCSCSCCSSCCSCSSSCSCCSSCSCSSSCSCCCCSCCCCSSSCSCSSCSCCCCSSCCCCCCSCCSSSCCSSCCSCSCCSCCSCCSSCCCCCSCSCCCCCSSSCCSSSCCSSCCSSSSCCSCCSCSSSCSSSCCCCSSCCCCCCCCCSSCSCSCSSCCSSCCCSCCSCSCSSCCSSCSCSSCSCCCCSSSSSCSCSSSCCSSCCSSSCSSCCCCCSCSCSCSSSSSSSCSSSCCSCCSCSSSCSSCSSCSCSCSSSCSSSCSCSCCCCCSSCSCSSCCCCCCCCSSCCCSCCSCSCCSCCSCSSSSSCSSCCSCCCCCSSCCCSCSCCCCSSSCSSSSCCSSSSCSCSSSCCCCSSCSSCSCSCCSCCCSCCSSCSSSSSSSSCCCCSSSCSSCSCSSSCCSCCCCSSSSSCCSSSSCSSCCCCCCCSCSCSSSSCCSSCCSCSCCSCSSSSSCSSSCCSSCCSSCCCCCSSCSSSCSSCSSCSCCCCSCCSSCCSSSCCCSSCSCSCSCCCCSSSSSCSCSCCCCCSCSCSSCCSSCSCCSCSSCSCCCCSCCCSCSCCCCSSSCSSCSCSCCSSCSCCCSSSSCSCSCSCSSCSSSCCCCCCSSCSCCCSCSSSCCCCSCCSSSSCSSCCSCCSSSCSCSSSSCSCSCCSSSSCCSCCSCCSSCSCCSCSCCCSCCCSSCSCSCCSCCSSCCCSSCCSCSSSCSSCSCSCCSCCSCSSSCSCCCCSSCSSCCCSSSSSCSCCCSSSCCSCCSCCSCSSCSCSSSCCSSCCCSCCSSSCCCSCCSCSCCCSCSCCCCCCCSCSSSSCCCSCSCSCSSSCSSSSSSSSCCSCCSCCCCSSCCCCCCCSSCCSSCSSSCCCSSCSSCCCCCCSCCCSSCCCCCCSCCSSSCCSSSCCCSSCCSSSCCCSSSCSCSSSSCCCCSCSCCSCSSCCCCSCSCCCSSCSCSSCSSCCSSCCSSCSSCCSCCCCSSSSCCCSSSCSCCCCCCSCCCSCSCCCCCSCSSSSCCSSCCSSCCSSSSSCCSSSCSSSSCCCSSCSSCSCCCCSCSSSCSSCCSCSSSCCCCSSCSCCCCCSCSCCSSSCSCCCCSCCCCCCSSSSSSCCCSSCCCCSCSSSCCSSCCCSSSSCCSCSSCCCSSCCSCSSCSSSCCSCCSCCSCSSCCSSSSSCCSSSSCSSCSCSCSCSSCSSSCCCSSSCSSSCCCCSCSCCSSSSSCSCSCSSCCSSSCSCSCSCCCSCCSCSCCSSCSCCSCCSCSSSCSCSSSCSCSSCCSSSSSCSCCSCSSSSCSSSCSCSCSSSSSCSCSSCCSSCSCCSCCCSCCSCSSSSCSCSSCSCCSSCCCCSSCSSCCCSSSSCSSSSSSCCSSCSCCCCCSCCSSCCCCCSSSSCCSCSCSSSCSSSCSCSSCSCSSSCSSCSSSSSCSSSSCCSCSCCCSCSCCCCSSSCSSSSCCSSSCCCCSCCSSCCSSSCSCCSSSSCSSCCSSCSSSSSCCSCSSSCSCCCCSSSCSSSCSSSCCCSSCSSSCSCCSSSCSSSCCSSCCSCCSSSSCSCCCSCCCSCSSCCSCCCCCSCCCSSCCCSSCCCSCCCCCCSSSCCSCSCSCSSCSCSSCCCCCSCSCCSCCSCSSSSCSSSCSCCCCSCCCCSSCCSSSSSSCSSCCSSSCSCCSSSCSSSCCCCCCCCCCSSSCSSSCSSSCSCSSSSSSSCSCCCSSSCSCSCCCSSCSSCSSSCSSSCCCCSSSCCCSSSSSCCSCSCSSSCSSCCSCCSSCCCCSCCCCCSSSSCCSSSSSCCCCCSSSCCCSCSCCCCSSSCCSCCSCSCCCCCSCCCCSCCSSCCCCSSSSSSSSSSCCCCCSSSSSCSSSCCSCCSSCSCSSSCCCCSCSSCSCCSSCCSCCCSCSSCCCCCSSCSSSSCCCSSSCCCCCCSSSSCSSSCCCSSCCCSCSCCCSCCSSCSCSCSSSSSSCSCCSSSCCCSSSSCCSSCCSCSCCSCCSSSSCSSSSSCCCCSCSCSSSSSCCCCCSSCSCCCCCCSCCCSSCSCCSSSSSSCSSCCSSSCCSSCSSCCCCSCCSCCCSSSCCSCCSSSCCCCCSCSCCSSSCSSCCCSSCSCSSSSSSCCSCSCCSCSSSCCCCSCCSCSSSSCCCSSSCCCCCSCSCSSSCCSCSCSSCSSSCCSCCSCSSCCCSSCCCCCSSCSCSCSCSCCSSSCCSCCSSCCCCCCCCCSSCSCCCSCCCSCCCCCCCCCSCSSSSSCSCSSSSCSCSCCCSSCSSCCSSCCSCSSSSSCCSSCSSSSCSSSSCCSSSCCCCCCCCCCCCSSSCCSSCSSCCSSCCCCSCSCSCSSSCSSSCCSCSSSCSCCSSSSCSCCSCSCCSCCSCSCCSSSCCCCSCCCCSSCSCCCCCCSCCSCCCCSSCSCSCCCCSSCSSSCSCCCSSSCSSSSCCCCSCSCSSCSSCCSCCSCCCCCSCSCSCCSCSSCSCSSCCSCSCCSSCCSSCSSCSCSCSCCCCSSSCSSSCCSCSCSSCCSSCCSCCCSCSCCCCCCSCCCCCCSSSSCCCSSSSCCCCCCCCCSSSSCCCSSSCCSCCCCSCCCSSSCCSSCSSSSCSSSCSSSSCSSCCCCSSCSCSCCCSSSSCCCSSCSCSSSCCSCSSCCCCSCSCCSCSSSSSCCCCCCSCCSSSSSCSCCSSSCCSCCCSSSCCCSCCSCCCCCCCCCSSSSCSSCSSSSCCSCSSSSSCSCSCSCSSSCSSSSSCCSSSSSCSSCSSSCSCSSCSSCSCSSSSCCCCCCCCSSSCCSCSCCCSCCCSCSCSSCSSCCCSSCCSSCSCCSSCSCCSCSCSCCSCCCCSSCSCCSCCCSSCSSCCCSSSCSSCCCSSCSSSSSCCCCCCSCCCCSSCSSCSCCSSCCCCCCCCSCSCCSSCSSSCCCSCCSSCSSCSSSCSSSSSSSCCCSCCCSCSCCSCSCCSCSSCCSCSSCSCCSCSSSSCCSSCCCSCCCCCCSSCCSSSCSSSSCSCSSCSCCSSSSSCCSSSSCCCCCSSCSCCSCCSSCCCSCCCSCSSCCSCCCCCSSSSCCSCCSCSCCCCCCSCSSSSCCSCCSCCSCCCCSSCSSSCSCSCSSCCSSCSSCSSSSSCCCSCCCSCSSCCSCCCSSCCCSSCSCSCCCSSSCCSSCCCCCCSCCCCSSCSSSSCCSCCSSCCSCCSSCSCSSSCCCCCCCCSCSSCSSCCSCSCCSCSCSCSSCCSCSSCSSSCSSCCCSSCCCSSCCSCSCCSSSCSSCCCSSCSCCCCSCCSSCSCCSCSSSSCCSSSSCCSCSCCSCCSCCSCCCCSSSCSCCSCCSSSCCCSSCSCSSCSSSCCSSSCCSSSCCSCSSSSCCCSCCSSCSSCCSSSSSSCCSSSSSSSCCCSSCCCSCCCSCSCCCCSSCSSSCSSCCCCSCCCCSCSSSSCCSSSCCSSCSCSCCCCCSSCCCSCCCCCCCSSCCSSCSSCSCSSSSSCSCCCSSSCCSCCCCSCSCCSSCSCCSSSCCSSSSCCCCSSCCCCSSSCSCCSCCSCSCSCSCCCCCSSCSSSCCSCCSSCSSSSSSSSSCCCCSSSSCCCSCSSCSSSSSCCCSCSSCCSCCSSCCSSCSSCCSCSSSCCCSSSCCCSCSCSSCCSSSSCSCSSSCCSSCCCCCCSCSSSCCCCCSSSSCCCSSCSCCCSSSCCSCCCCSCSSSSSSCSCSSSCCCSCCCSCSCSSSCCCSCSCSSSSSCCSCSCCCSCCCSSSSCSSCCSCCSCSSSCCCCCSCCSCCSSSCSSSCSCCCCSSCSSSSCCCSCSSSSCSSCSCCCSSSSCCSSSSCCCCCCCCCSSCCCCCSSCCSCCCSCCSSCCSCSSSSSCCCSCSCSCCSSSCCSSSCCCCCSSSCCCCCSSCCSCSCCSCCCSCCSSCCSCSCSCSCCSCCSCSSSSCSSCSSSSSCCSCSCSSCSCSSCSCSSCCSCSSSSCCCCSSCCSSCSCCCSSSSSSSSSCCCCCCSCSCCCSSSSCSCSCSCSCSCCCCCSSSCCCCSSSCSSCSSCSSCSSSSCSSCSSSSSCCCSSSSCSSCCCSSSCCSSSSSSCSSSSSSCSCSSCSSSCCCCCCSSCCSCCCSCCSCCSSSCSCSSCCSSCSCCCSSCSSCSCSCSCCSSSSCSCSSSSCCSSCCSSCSCCCCSCSCCCSCSCCSCCSCCSCSCSSSCSCCCCCCSCSCCCSSSSSCSCSSCSSSCSCCSCSSSCCCSCSCCSSCSCSSCCSCCSCSCSCCCSSCCSSSCSSSCCCCSCCCCCCSCCSCSCSCCCCSCSSSCCCSSCSCCCSSCCCCCSSSSSSSCSCSSCSCSCCCSSCCSSCCSSSSCCSCSSCCSCCSSCSSCSCSSCSSCSSSCSSCSSCSSSSSSSCSCCCCCCCCSCCCCCSCCSSCSSSCSSCCSSSSSCSCSSSSSCSCCSSCCCCSSCSSSSSSSCSCSCCSCCCSCCSSCSSCSCSSSSCCSSCSCCSSCSSCCSCCSCSCSCCSCSSSSCCCCSCCSSCSCSSSCCSCCSCCSCSSSSCCSSCCSSCCCCSSSCSSSCSSCCCCCSSCSCCCSSCSCSCSSSSCSCCSSSCSSCCSCSSSCCSSSSCCCSSSSSCSCCSCSCSSSSCSCSSCCSCSCCCSSCCCCCCSSCSCSSCCSCSSCCSCSSCCCSCSCCSSCCCSCSCSCCCSCSCCCCCSSSSCSCSCSSCCSSCCCSSSCSSSCSSSSCCSCSCCCSCCSCCCSSSSCCCSSCCSCCCCCSSCSCSCSCSSCSSSSCCCCSSCCSCCSCCCSCSCCCSCCCSSSCCCCSSCSCSCSSCCSCSSSSSSCSCCSCSCCSCCCSCCCSCCCCCSCSSCSCSSSSSSCCSCSCCSCSCSCSCSSCCSSCCCSCSCCCCSSCSSSCSCCSSSCCCSSCCCCSCCCSSCSCSSCSSSCCSSSSSCCSCCCSCSSCCCCSCSSSCCCCCCCCCSSSCSSCCCCCSSCCCCCCSSSSCCCSCSCCSSSCCSCSCSSSCCCSCCCCCCCCSCSCCCCSCSCSCSCSSSCSSCSSCCCCCCSSCSSCCCCSCCCSSSCCCCCSSSSCCCCSSCCCSCSSSCCSSCCCCSSCCSCSCCSSSSCSSCSCCSSSCSSCCCSCCSSCCSSCCCCCSSSCCSCCSCCCCCSCSSCCCCCSSSSCCCSCSCSSCSCCSCSSSSSCCSSSSSCSCCCSCCCCSCSSSCSCSSCCSSCSSSCCCCSSSSCSSCCCCCCSSCCSCCCSCCSCCSSCSCCSSCCCCSSSCCCCCSCSSCCCCCSCSSSCSCSCSSCSSCCCCSSSCCCCCCCSCCSSSCSCCSSCCCSSCSSCCSSSCCSSCSSCCSCCCCSCSCCSSSCSCCCSSSCSSSCCCCSSCSSCSSSSCCSSCCCSCCSCCCCSSCCSSCCCSSCCCCSCSSCCCSCSCCCCSCSSCSSSCSSCCCSSCCCSSCSCSCSCCSCSSSSCCSCCSSSSCSSSSSSSCCSSCCSSSCSCSSSCCCCCSSSSSSSSSCSSCCSSSSSSSSCCCCSSSSSCCSSSSCCCCCCCSCSCSCCCSSCCSSSSSCCCCCCCSSSCSSSSCCCSCSSSSSCCSCCSSSCSSCSCSCCSCCSCCSSCCSCCSSSSSCSSCSCSSSCCCSCSCCSCCSCCSCCSCCCCSCSSCCSCSCCSCCCCCCSSSSCCSSSSCCCCSSSSCCSCCSCSSSSCSCCSSSCCCSCCSSCCCCSCCSCCCCSCSSSCCCSSCSSCSCCCCCSCCSCSSSCSSCCSCSCSSSCSCSSCCSCSCSCCSCCCCSCCSSCCSSSSCSCSCCSCSSSSCSSSCCSSCSCCSSSSCCCSSSCSCSCSCCCCSCCSSSCSSSSSSCCSCCCCSCCSCSCSSCSSCCCSSSCCSSSSCSCSSCSCSCSSCSSCSSSSSSCSCSSCCSSCCSCCSSCCSSCSCSSSCCSCSSCCCCSSSCCCCCSSSCCSCSSSCCCCCSCSSSCCCSCCCSCSCCCCSCCCCSCCCSSSSCSSSSCCCSCCCCCCSCSCCCCSCSCCCCCCSSCSCCCSSCSSSSCSCSCCSCCSCSCCSSSSCSCSSCCCSSCCCCSCSCCCCCCSSCCCCSSCCSCCCCSCSCSCSCCCCSSSSSCSSSCCCCSSSSSCSCCSSSSCSSSSCSCSSSSCSCCSSCCCSSCCCCSSCCCCSCSSCCCCCSSCSSSSSCSCSCCCSSCSCSSCCSCSSSSSSSSSCCSCSSSSSSCSCCCSCSCSSCCSSSSCCSCCSCCSCCSCSSCSCSCCSSCSSSCCCSCCCSSCSSSCSSCCSSCSCSSSCSSSCSSCSSSCCCSSCCCCSSCCCCCSCCSSCSSSSCCSSCSSCSSSCCCSSSCCSSSSCCSCSSCCCCCCSSSCCSSSSCSSCCSSCCSCCCSSSSSCSCCCSCSSCSSSSCCSSSCCCSCCSSCCCCCSSCCCCCSCCSSSSCCCSSCSSCSCCSCCSCCSCSSSSCSCCCCSSCSSSCCSSSSCCCCCSSCCCCCCSSCCCSSCSCSCCCCSCSSSSCCCCSSCSCCCSSSCCSCSSCSSSSCCSCSCSSCSCCCCCSCCSSSCSSSSSCSSSSSCCSSCSCCCCSCSCSCCSSCSSSSSSCSSSCSCSSSCSSSSCCCCCCSSSSCSCCCCCSSCCCCCSSCCCSCCSCSCSCCSSSCSSCCCSCSSCCCCSCSSCSCSSSSSCCCCSSCSCCSSSCCSCSCSSSCSSSSSSCSCCSCCCSSCCCSCSSSSCSSCCSCCCCCCCSCSSSSCSCSSCCCSCSSSCSSSSSSSCCSSSCCCSSCCCCCCCSCCCCSCCSSSSCSSCSCSCSCSSCSSCCSSCSCSCCSCSSCSCSCSSSSSSSSCSSCCSCSSCCCCCCSSCCCSCSSSCCCCSSSSCCSCSSCSCCSSSSSSCSCCCCSCSSCSSCCSCSCCCSSSSCSCCCCCCSCSSSCCCCCSCSSCSCCCSSSSSCCCCSSSCCSSCSSCSCSSSSCSSCCCSSCSCSCCCSSSSSCCSSCCSSSCCSCCSSCCCCSCCSCSSCCSSSSCSSSCSCCCCSCCCSSSSSSSSSSSCCCCCCCCCSCSSSCSSSSSSCSCCCSCSCSCCCSCCSSCCCSSCSSCSSCCCCCSSCCSSSSSCCCSCCSCCCSSCSCSCSSCSSCCSSCCSSSSSCSCCSSSSCSCCSCCCSCCCCSSCCSSSCCCSCCSSCCCSCCCSSCSCCSSSSCSSSSSSSSCSSCSSSSCSCCCSSSSCSCSCSSCSCSSCCCSSCSSSSCCSSSCSSCSCCCSCSCCSSCSCSSCCSSSCSCCCSSSCSSSSSSCCSSSCSCSCCCCCSCCCSCSSSCSSCCCSCCSSCCCSSSSCCSSSCCSSCSSCSCCSCCCCSCCCSCCSCSCCSSCSSCCSSCCCSCSCCCCCCSSSCSCCCSCSCSSSSCSCSCSCSCSSCSSSSSCSCCCSCSCCSSCCSSCSCSSCCCSSSCSSCCCSSCCSSCCCSCSSCCCCSSSCCCSCCSCSCSSCCSSCSSSCSCCSCSCSCCCSCCSCCSSCSSCCCSCCCSCSCCCSCCSCSCSSSCSSCSSCCCCCCSCSSCCSCCSCCSSCCCSCSSCSCCSCCSSCSSSCSSCCCCSSCCCCCCSCCSSSCCCCCSSCSCSCCSCSCSSCCCSSSSCCSSSCCSCSSCSCCSSCCCSCCSCCCSCSSCSCCCCSSSSCSSSSCCCCSCCSCCSCCSCCCCCSCSCSSSCSSSCSSCCCSCSSSSCCSSCSSSCCCCSCSCSCCCSCSCCSSCCSSCSCSCSCSCSCCSSCSCCSSCSSSCSSSCCCCCCSSCCSCSSCCSSCCCCCSSSSCSCCSSCSCCCCCSSCSSSCCCSCCSCSCCSCSSCCCCCSSSCCCSSSCSSCCCSCCSCCCCCSCSCCCCCCCCSSSCCCCCSSCSSCSCCCCCCSSSSSSCSCSCCSSCSCCSCSCSSCSCSCSCSSSSSSCSSCSCCSSSCCSSCSSSSCCCCCCCSSCSSSCSCSCCCSSSCSSSSSSSSCSCCCCCSCSCCSSSSSSSCCSCSSCCSSCCSSCSCCCCCCCSCCCSCSCSSCSCCCCCCCCCCCCSCCSCCCSCSCCSCCSCCSSCCCCSSSCSSCSCSCSCCSSSSSSSCSCCCSSCCSSSSSCSCCSSCSCCSCCCCSSCSSSCCCCCSSCSSSCSCSSSSCSSCSSCCSSCCCCCCSSCSCSCSCCCCSSCCSCCCCCSSCCSCCSCCSCSCCSCCCSSCSSSSCSCCSCSCCCCSSCSCSSSCCSSCCCCSCSSCSCCCSCSSCCSCSSCSCSSCCSCSCSSCSSSSCSCSCCCCSCSSCCSCCSSSCSSCSCCSSCSCSCCCSSSSCSCSCCSCSCCSCSCSCSSSCCCCCCSSCSSCSCSSSCCSSCSSSSSSSCSSCCCCSSCSCSSSSSCSSCSCSCSSCCSCSSCSCCSSCCCSCCCCSSCSCCCSCCSCCSSCSSCSSCSCCCSCSCSSSSSCCCSCCCCSCSSSCCSSCCSCCSCSSSSCCCCCCSCSCCSSCCSCCSCCSSCCSSCCCSSSSCCSCSSSSCSCCSSSSSCCSCSCSSCCCSSSCCSSSCSSCSCSSSCCSCCSCCSCSCSCSSCSCSCSCSCCCCSCCSCCCSCSCSCCSSCSSSCSCSCCSSSSSSSSSSSSCSCSSCSSCCSSSSSSCCCCCCSSSCSSCSSCSCSCCCSCSSSCCCSCSSCCCCCSSCCSCSCCCSCSSCCCCCCCSCCCSSSSCCSCSSCSSCSSSSSSCSSCCCCCSCCCCCCCCSSCSSSCCSSSSSSSSSCCCCSCSSCCCSSCCSSCSSCSCSSSCCSSCCCSSSSSSCSCCCCCCCSCCSSSSSCSCSSSSSCSCCCCSCSCSCSSSCSSCSCSSSCCCSSSSSSSCCSCCCSSCSSSSSSCSSSCCCSSSCSCSCCCCCSCCCSCCSSCCCSCSCSSCCCCCCSSCCSCSSCSCSSSSSSSSSCCCSCSSSCCSSSCSCCSCCCSCSCSCSCCSSCSCSCSSSCCSCCSSCSSSCCCCSCCSSSSSCCSSSSCSCCSSCSSSCSCSSSSCSSCSCSCSSCSCSCCCSSSSCSSSCCCCSSCCSCCSSSSSCCCCCCCSCSSCCCSSCSSSCSCCCSCSSCCSCSCCSCCSCCSSSCSCCSSSSSCCSCCCSSSCSSSCSSCCCSSSSSCSCCSSSCCSSCSSSCSCCSSCSCCSSSSCCCSSCSSCSCCSCSCSSCSSCSSSCCCCCSSSCSSSCSCSSSSSSSCSCSCSSCSCSSCCSSCSSCCSSSCSCCCCCSCCCSCCSCSCCCSSSSCSCSCCCCSSCCCCSCSSSSCSCSSCCCSCCCSCSCSSSSSCCSCSCSCCCCSSSCSSSSCSSSSCSCCCSCSSSCCCSSCCCSCCCSSCSSCSSCCCCSSSSSCCCSSSSCSSCCCSSCCSSSSSCSCSCCCCSSCSCSCCSSSCCCSCCSCCCCSCCCSCCCCCSCSCCSSCCSSCSCCCCSSCSSSCCCCSCSSCSSSCCCCSSCSSSSCSSSSCSSSCCSSSSSSSCCCCSCCCSCSCCSSSCCSSSCSCCCSCCSCCSSSSSCSCSSCCCSSCCCSSCSCCSCSCSCCSCSSCCSCSCSSCSCSCCSCCCSCCSCCCSCCSCSCSCCSCSSSCSCSCCSCCSSSSSCSSSSSSCSCSCSSCSSSSSSSSSSSCSCCSSSSSCSCCSCSSSSSSSSSCSSSCCSCSSCSCSSSSCCCSSSCCCCSCCSSSSCCSCCCSSSCSSCSSSCSSCSCCSSSSCCSSCSSSSSCCCCCCSSSCCCSSCSCSSSSCCSCSCCCCCSSCCCSSSCCSCSCSCSSCSSSSSCSCCSCCSCSSCSCSCCSCSCCSCSSCSSSCCCCCSSSSCSSCCSSCCSSSSSSCCSSCCSCSSSCSSSCSCCSSSSCCCCCCCCCSSCSSCCSSSCCSCSCSSCSSSCSSSCCCSSCCSSSCSSCSSCCSSSCCSCSCCCSCCSCCCSSCSCCCSCSSCSCSSSSCCSSSSCCSSSSCCSCSCCCSSSCSCCSCSSSCSSCCSSCCSSSSCSCSCCCSCSSCCSSCSSCCSCSCCCSCSSSCCSCSCSCCCCSCCCSCCCSCSSCCSSCSCSSCCSCSSCCCSCSSSCSCSSSCCSCCSSSCCSCSCCCCSSSSSSSCCSCCCCCCCSSCSCCCSCCSCCSCSSCSSCSCCCCSCSCCSCSCSCCSSCSCCSSCSCSCSSCSCCCCSCCCSCSSCSSSCCSCCSCSCSSSCSSCCSSSCCSSSCCSCCSCSSCCSSCCSCSSCSCSCCCSCSCSSCCSCCCSSCCCSCSSCCSCSSSSSCCCSCCSSCSCSCSCCCCCSSSSSSSCSCCSCCCSSCSCSCSSSSSSCSSCSCSCSCSSSSSCSCSSCCCCSCCSSCSCCCCCSCSSCSCCCCCCSCSSSSCCCCSCCSCSSSCCCCSSSSSCCSSSCCCSSCCCSCSSSSSSCSSSSSCCCSCSSSSCSSCCCCCSCCSSSCCSSCCSCCSSSCCCCSSCSSSSSCSSCCCSSSCSSCCCSSCCSCCCSCSCCSSCCCSCSSCCCCCSCCSSCSCCCCCSSSCCSCCCCSSSCCCSCCSSCCSCCCCSSCCCSSCCCCSCCCCCSCSSSCCCCSSSCSSCSSCSCCSCCCSSCSSSSCCCCSCCCCSCSCCSCSCCSSCCSCCSSCSSCCCCCSCSCSSCSSSSSSCCSCCCSSCCCSCCCCCSCSSCSSSSSCCSCSCSSSCSCCSSCCSSCCCSCSSSSCSSCSCSSSCSSSSSSSCSCCCCCCCSCSCSCSSCSSSSSSCCSCCCSCSCSCCSSSSCCCSCSSSCSSSSCSSCCCSCSCSSSSCCSSCCSCCSSSSCSCCCCSSSSSCSSSCCSCCSCCCCCCCSSSSCCSSSSCSCSSSSCCSSCSCSSCCSSSSCSSCSCSCSSSCSSSSCSSCCCSSCCSCSSSSSCSSSCSCCCSSCSCCCCSCSCCCCSSSCCSSCSSCCCCCCCCCCCCCSCCCCSCCSSSCCCCCSCCCCCSCCSSSSSCSCSSCSSCCCSCSSCSCCSCSCSSSCCCSCCSSSSSCCCSCSCSSCSCCSCSCCSSCCSSCCSCCSSCCCCCCCCCCCCCCCCCSCCSCCCCCCSSSSSCCSCSCCSSSSSSCSCCSCCSSSSCSCSSSSCSSSCCSSCSSSCSSSSCCSCCSCSCSSCCCCCSCSCCCCCCCSSCSSCSCCSCSSSSSSSSSSCCSCCCCCSSSCCSSSCCSSSSCSCCSCSCSCCCCCCSSSCCCCCSSSSSCSCCSCSCCCSCCCCCSSSCCCSCCCCCCCSCSSSCCSSCSSSSSSSCCSSSSSCSSSSSSSCCSCCCCCSCCCCSCCCSCCCCCSCCCSCCSSSSSCSSSSSCCCCSCSSSSCCSSCSCSCSCCCSCSSSSSSSSCCCCSCCSCSSCCCSCCSCSSCCSCSCSSSCSSCSSCCCSCSCSSCSSCCSSSSSSSCSSCSCCCCCCSSSSSSSSCSCCCSSCCSCCSCSCSSCSSSSSCSCCSSCCSSSCCCSSSCCCSSCSCSCCCSSSCSSCCSCSCCCCSCSCSSCSSSSSCSCSSSSSCSSCSCSCCCSCCSSCCCCCCCSCSCSSSSSSSSSSCCCSCSCCCSSSCSCCCSCSCCSCSSSSSSCSSSSCSCCCCCCSCCSCSSCSSSCCCSCCSCCCCSSCSCSSSSSCSSSSSCCCCSSSCCCSCCCCCSSCCCSCCCSCSSSSSCCCCSCCSCSCCSSSSCSSCSSSSCCCCSSSCSSCSSCSSCSSCCSSSSSCSCCCSCSCCCCSCSCCCCSCSCCSSCCCSCCSCCSSSCSSSCCCSSCCSCCCSCSSCSCSSSSSCSCCSCSSSSCCSCCCCCSCCCSCSSCCSSSCCCSSSSCCCSSCSSSCSCSSSSCCCSCSCCSCSSSSSCSSSCCSCSSCSSCCSCSSCCSSCSSCSCCSSSCCSSSCCSCSCSSSSCCSCSCSCCSSCSSCSCSCSCCCSCCCCCCSCSCCCCSCSCSSCCSSSSSCSSSSCSCCCSCCCSSCCCSCCCSSCCSSCSCSCSCCSSSCCCCCSCCSCCCCSCSSCCSSSCSSCCSSCSCCSCCCSCSSSSSCSCSSCSSSSSSCSSCSSSCCSCCCSSSCSCCCSCSSSCCSSCCSSSCSCSSCSSCSSCCCSSCSSSSSCSCSCSCSSSSCSSCSSSCCCCSCSCSSCSCCCCCCSCSSCCSSSSSSCCSSCCCCSSSCSCCCSSSCSCSSCSSSSSCSCCCSCSSSSSSCSCCSSSCCCSCCSSSSSSSSCCCSSSCCCSCSCCCCCCSSSCSSCSCCSSSSSSCCCCCCSSCSCCCSSCSSCCCSSSSSSCSCSCCSSCSSCCSCCCCSSCSSSSCCSCCSSSCSSCSCSSCCCSCSCSCSCCSCSSSSSSCCCSSCCCCSSCCCSCCSSSCSCSCSSCCCCSSSSSSSSCCCCCSCSCCCCSCSSCSCCCCSCSCSSSCCCCSCSCSCCSCSSCCCCCCSSSCCCCSSSCSSCSSSCCSSSCCCSCSCCCSSCSCSSCCSSSSCCCSSCSSCSSSCCSSSSSCSCSSCCSCSSCCSSSSSCCCCSCCCCCCSSSSCSSCSCSCSSCCSSSSSCSSCCSSSSCCSSCCSSCCCCCCSSCCSCCSSCSCSCCSSCSCSCCCCCSCCSCSSCSCCCSCSCCSSCSSCCSSCSCCSSSCSSSSCCCCSSCSSCCCCSSSCCSCSCCCCSSCCSCCSSCCSSSCCCSCSCSSCCCCSSCSSSSCSCCCCCCCSSSSSCCSSCCCSCSSSSCSCCCSCSCSSCCSCSCCCSSCSSSSCSCSCSSSSSCCSCSSCCCSSSCCCCSCCCSCSSSSCSSSCSSCSCSSCCCCSSCCCSCSSSSCSSSCSSSSCCCCSSSCSCSCCSSSCSCCCSSSCCSCSCCSSCSSCSCSSSSSCSCCCCCCCCCCSCSSCSSSSCCSSCSCSSCCCSSSSCCSSCSSCCSCSSCSSCCSSCCSSSCSSSCSCSSCSSCCCCCSSCSSCCSSCCSCSCSSSCSSCSSSCCSCSCSCSSSCSCSCCCSSCCSCCSSSSCCCSCSCCSCCCSCSCSSSCCCCSSCCSCCCSCCCCCCCCCCSCSCCSSCCSCSSSSCSSCSSCCCSCCSSCCCSCSSCCCCSSSCSCCCCSSCCSSSSSSCCSSSSCSSCCSCCCSCSSCCSCCSCSSSSSSCCCSCCCSCCSCCCSSCCCCSSSCSCCCCSSSCCCCCSSCCCCCCSSSSSSSSCSSCCCSCCSCCSSCSSSSSCSCSCSSSSSSCCCCCSCSCSSCSSCSCSCSSCCSSCSSCCCCCCCCCCSSCCCSCCCCSSSCSCCSSCCSCSCCSCCCCSCSCCSCCSSCSCCSCSSCSCCCSSSCCCCCSCSSSCCSSCSCCSCSSCSSCCCSSCSCCCSCSSCCCCCCCSSCCSCCCCCSSSSCSCCCSCSSCSCSSSSSCCSCSSCSCCSSCSSSSSSCCCCSCCSCCCSCCSSCSSSSCSSCCSCSCCCSSCSSSSCCCSSCSCCSCSSCCSSSCCSSSSCSCCSCSSSCCCSCSSCSSSCSSSCSSCCSCSCSCCCCSCCSSCSSSSCSCSSCSCSSSCSCCCSCSSCCCCCCSSCCSSCCCSCSSSCCCCSCSSSCCCSCCSSCSCCCSCSCCSSSCCSSCSSCSSCCCSSCCSCCCCSCSCCSSSCSSCCCCCSSSCCSCSSCSSCSSSSSCSSSSSSCSSCSSCSCCSSSSCCSSCSSCSSSSSSCSSSCCSCCSSCSCSCSSCCCCSCCSCCSSSSCSSSCCSSSSCSSCSCCSCSCCCCSCSCCSSSSSSCCSSCCSSSSSSCSSSSSSSCSSCCCSSCCSCCSCSCSCCCSCSSSSCCSSSCSSCCSCSSSSSCCCSCCSCSSSCSCCSCCCSCCCCCSCSSSCSCSSSCSCSSSSCSSCSCSCSSCCCSSCSSCSCSSCSSCSSCCCSSCCSSSSSSCCCSSSCSSSCSSSSCCCSSCSCCSSSSCSSSCSCCCCCCCSCSSSSCSSSSCSSSCSCCCSSSSCCSCCCCCSSSCCSCCSSCSSCCCCSCSSCCSCCCSCSSCSSSSCSSSSSCCCSCSCSCSCSSSCCSSCSSSSCSCCSSSCCSCCCSSSSSSSSSCSCCSSCCSCCCCCSCCSCSSSSSSSSSSSSCCCCSCCCSSSSSCCSCSSSSSSSSCSSCSCCCCCCCSCSCCCCSCSCSSCSCSSSSSSSSSCCCSSCSCSCSSCSSSSCCSSCSCSCCCSSSCSCCSSSSSCCSCCSSSCSSSSSSCCSCCSCSCCCCCSCCSCCSCCCSCCSSCSCCCCCSCCSCCCCCCSSCCSCCCCSCSCCCSCCCCSSCSSSCCSSCSSCCSSSSCSSCCCCCSCCCCCCSSCSCSSSCCSCCSSCSCCSCSCSCCSCSSCCCCSCSSSCSCSCSCSSCSCCSCSCCSCSSCSCSCCSCSCCSCSCCCSCCSSCSSSSSSCCSSSCCSCSSSSSSSSSSCSSSCSCCSCCCSSSCCSCCCCCSCCCSCSCCCSCCSCCCCSCCSCCCCCCSSSSSSCSCSSCSSCSCSCSCSCSSCSSSCCSSCCCSSCSSSCSCSSCSSSSCCSCSSCSSSSSCSSSSCSSCCCCSCSSSCSSSCSCCCCSCSCCCSCCCSSCSSSSCSSCSSCSSSCSSSCCSCSSSCSSSCSCCCSCCCCSSSSCSCSCSCCSSCCSCSCCSCCSSCSSCSSCSCSSSCSCCSCCCCCSSCCSSSSSCCCCSCCSSSSSSSSCSCCCCCSCSSCSSSSSSCSCCCCCCCCCSCSSSSCSCCSCCSCSSSCSCSCSCSCCCSSSSSCSSCCCCCSSSCCCCSSSCSCSSCSSSSSSSCCSSSSCCSCSSSCCCCSCSSSCCCCSCCCCCSSCSSSCSCSSSCCSCSSSCSSCCSCCSSCCSSCCSSSCCSSCCCCSSCSCCSCSCCSSCSCSCSCSSSSCSCCSSCCSSCSSCCCCSSSCCSSSSCCSSSCSSCCCSSSSSSCSCSCCSSCCCCSCCCCSSSSCSCSSCSSCCCCCSSSSSSCSSSCCSCSSSCSSSCCCSSSSCCCCCSSSCCSSCSSCSCCCCCCSCSCCSSSSCSSCSSCSCSSSSSSCSSCCCSSCSSSCSCSSCCSCCSSSSSSCSCSCSCCSSSCCCCCSCCCCSCCSCCSCSSCCSCCSCSCSSSCCCSSSCCSSSSCCCSCSCCSCSSSSCCSCCSSCSSCSSSSCCCCCCCCCCSSSCSCCCSCSCCSCSSCCSSCSCCCSSSCCSSSCCCSCSSSSCSSSSCSCCSCSCSCCCCCCSSSCSSSCSSSSSCCCCCSSSCSCCCSCCSSCCSCSSCCSCSSCCCCCCCSCCCCSCCCCCCCSSCSSSSCSSSSCSSSSCSSSCCSCSCSCSSCCCCCSCCSCCSCCSSCCSCSSSCCSSSCCCCSCSSSSCSCCCCSSCSCCCSCSCSCSSCSSCSSCCCCSSCCSCCCCCCCSCSSSSCCCCCCCCCCCSCCSSCSCSCSSSCCSSCCCSCSSSCCCCSSCCSSSSCSSCSCSSSCSCSCCSCSSCSSSSCCSSSCCSCCSSSSCCCSCCCCSCSCCSCCSCCCSSCCCCCCCCSSCCSSCSCCCCSCSCSCSSSSSSSCCSSSSCSCSSCCCCSCSCSSCSSSSSSSCSCSSCCSSSCCSSCSCSSSSCCSSSSCCSSSSSCSCCCSCSSCSCCCSSCSSSCCCCSSSSSSCCSCCCCSCCCSCSCSCSCCSSCCSSSCSSCSCSCCCCSSCSCCCSSSSSCSCSCSCCSSCCSCSCSSSCCSCSCSSSSCCSCCCSCCCSCCSCCSCCSSCCSSSSSCCCSSCCCCCCSSSCSSSCSSCSCCCSCSSCSSSSCSSSCCCCCCCCCSSCCCCSSCCCSCSSSSCCSCCCCSSCCCSSCCCSCSSSSCSCCSCSSCCCCCSSSCSSCCCCSCCCCSSCSSSSCCCSSCSSSCSCSSCSSSCSCSCCCSCCSSSCSSCCSSCCCSSSCSCSCSSSSCCSCCCCCSSSCCSCCSSSSCCCCSSSSCCCCSSSCSCSSCCCCCSCCSSCSSSCSCSCSCCSSCSSSCSSCSCSSSCSCCSSCCCCSSCSCSCCCSSCSSSSSSCCCSCCCCCSCSSSCSSSCCSCSSCSSCSCCCSCCSCCCSCCCCSCSSSSSCSCSCSSSCCCSCSCSCSCSSSCSSCCCCCSSSCCCSSSSCSSSSCSSCSSSCCSCSCSCSSCCCSCSSSSCCCSSCCCSSCSSSSSCSCCSSSCSCCCSCSSCSCSCSCCCCSCSCSSCCSSCCCCSSSCSCCCCCCCSSSSCCCSSSSCCSSSCSSCSSSSSSCCSCSSCSCSSCSCSCCSSSSSCCSSSSSCCCCSCCCCCCSCCCCCSCSSSSCSCCCCCCSCCCSSSSCSSCSSSCCCCSCSCCCCCCSCCSCCSSCCCCCSSSSCCCCSCSSCCSCSCCCSSSSCCSSCSSSCSSSSCSCCCCCCCSCSSSCSSCSCSSSSSSSSSCCSCSSSSSSSSCCCSCCCSSCCSCSSSCSSSCCSCSCCSSSSSSSSCCSCCSCSSSSCCSCCCCSCSSSCSSSCSSSSSSSCCCCSSSCSCSCCCCCCCSCSCSCCCSCSCSCSCSSCSCSSSCCSSSSCSCCSSCCCCSCCSSSCCCSCSCSCCSSCCSSCSSCCSCCCCSSSSCCCSSCCCCCCSCCSCCCSCSCCCSCCCCSCSSSSSSCCSSSSCCCCSSSSCSCSCCCSSCSSSSSSCSCSSSSSCSCSCCCCSCCCCSCSSCSSSCCSCCSCCCSCSSCSSCCSSCSCCCCCCCSCCSSCCSCSSCCCCSSCCCCCCSCCCSCSCSCSCCSCCSSSSCCSSSSCCCSCSCSSSSCCSSCCSSSSCSSSCSSSCSCCCSSSCCCCSSCSCSCSCSCCSCSSSCSCCSCSSSCCSCSCCCCCSSCSSSSCSSCSSCSSSCCCCCCCSSCSCSCCCCCCCCCSSSSSCSCCSSCSSCCCSCSCCSSSCSSSCCSCSCSSSSCCSCSCSSCCSSCSCSSCSSSSCCSSCCSCCSCSSCCCSSCSSCSSSCCSSCSCSCSSCCSCSSSCSCSCSSCSSCSSCCCSSSSSCSSSSSCSSSSCSCSCCCCSCSCSSCSCCSSCSCSSCCCCSCSCSSCSCCCCCCSSSSCSCCCCCCSCCCCCSCCSSCSSSSCSSSCCCSSSCSCCSSSSSCCCSCSSCCSCCCCSSSCSSSCSSCCSSSCSSSCCCCCSSSCCSCCSCSCCCCCCCSCCCCCCSCSSCSSSSSCSCCSCCCCSCCCCSSCSCCCSSSSSCSCCSCSSSCCSSCSSSSSSCSCSSCSCSSSCSSSSCSCSSSSCSSCSSCSCSSSCCCCCCSCSSCCSCSCCSSCCCSCCCSSSSSSCCCSSCCCCSCSCSCSCCSSSSSSSCCSSSCSCCCSSCCSCSSSCCSCCCCSCCSSSCCSCCSSCSSSSCCCCCCSSCSSCSSSCSCSCSSSCCCCCSSSCSCSCSCSCCSSSCCCCSCCCCSCCSSCSSCSCCSSCSSSCSSSSSSCCCCSSSSCCSSSCSSSSSSSSCSSSSCCCSSCCCCSCSSCSSSSSCSCCCSCCSCSSSCSCSCSSSSCSCSCSSSSSSCSCCCSSCSCCCCCSSCSCCSCSSCCCCCSCCSCCSSCCSSCCCSSSSCCSSSCSSCCSSSSCCSSCSCSSSSSSSCCSCSCCSCCCCSCCCSCSSSSSCSSSCSSCSCSSCSSSSCCSSCCSSCSSSSSCSCCSCSCSSSSSCSCSSCSSCCSSSSSSCCSSCSSSSSSCSSSCCCSCCCSCSCCSCSSCSSCSCCCSSCSCCSSCSCSSSCSSSCCSSCSSSCSSCSSCSSCSCCCCSCSSCSSCSSSSSSSCCCCSSCSSCCSCSCCSCSSCSSCSCCSCCSSSCSSCCSCSSSCCCCSSCSCCCSCCCSCCSCCSCSCSCCSCCSSSSSSCCCCCSCCSSCSSSCSCSSCSCSCCCCSCSSSCCCCSSCSCSSSCCCCCCSSSSSCSCSSSCSSSCCCCSSSSCCSSCSSSCSSCSSSCSSCSCCCSCCSCSCCSSSCSCCSSCSCCSCCCSCCCCCCCCCSSSSSCSSCCCCSSSCSCCCCCSCCCSSSCCSSCCSSSCCSCCSCCCSCCSCSSSSSSSCSCSSSCSSCSSSSSCCSCSSSCSCSCCSSSSSCSSSSSCSCSSCSCCSSCSSSCSSCSCCSCSCCCSCSSSSCCSCCSSSCSCSSCCCCCCSSSSSCCSCSSCSSSSCCSCCSCSCCSSCCCCSCCSCSSCSCCSCCSCCCCCSSSSCSCSCSCCCCSCSSSCCSCSSCSSSCCSCSSSCSSSCSCSCSSSCCSSCSCCCSSSSCCSSCCCCCCCSSSCSCCCSCCSCSCSCCCSCSSSCCCSCCCCCSSSSSSCSCSSSCCCCCSSCSCCSCSCCSCCSCCSSCSCCCCSCCSSCSCSCCCSCCCSSSSSCSCSSCSSSSSSSSSCSCCSSSCCSSSSCSCSCSSCSCCCSSSCCCSSCCSSSSCSSCCCCCCCCSSCSCSCCCSSSCSCSSCSCSCSCSSSSCSCSSCCCCCCSSCCCSCCCSCCCCSCCSSSSCSCCCSCSCSSSCSCSSCCCSSSCSCCCCSSSCCSSCCSSCSCSCSCSSCSSCCSCSCSCCSSSSSSCSSSSSSCCCSSSSSSSCSCSCCSSCCCCSCCCCCSCCSCSSSSSSSCCSSSSSSSSSCSSCSSCSSCSSSCCCCSSCSSSCSCCCSCCSCSCCSSCSSCCSSCSCCCSCSCSCSSCCCSCCSSSCCCSCCCCSSCCSSCSSCSSSCCSCSCSCCCSCSCCSSCSCCSCCSSSCSCCSSCSCCSSCSCSSCSSCSCCSSSSCSSCSSCSSSCSSSCCCCSCSCSCCCSCCSSSSSSSCCSCCCSSSCSCSCSSCCSCCCSSCSSSSSCCSSSSCSSSSCSSSCCCSCSSSCCCCCCCCSSCCCCCSCCSSCSCSCCCCSCSSCSCCCCSSSCSCCSSSSCCSSCCCCCSCSSCCCSCCSCSSSSSSSCCCCSCCCSSCSSSCCSSSCCCSSCCSSCCSCCSCSSCCCCCCCSSCSCSSCCSCSSCSSSSCSCCCCCSSCCCSCCCSSSCCSSSSCSCSSSCCSCSCCCSSSSSCCCSSSSCCSSCCSCSSCSSSCSSSSCSSCSSCSSCSCCSSSCCCCCSCSCSCSCSSSCSSCSCSSCCSCCSSCCCSSSSCSCSCCSCSCSSSCCSCSSSSSCCCSSSSSCSCCSSCCSCCSCSCCCSCSSCCCSCCCSCCSSSSSSSCSSCCCCSCCCSCCSSSCCCSSCCSSSSSSSCCSCSCSCSSSSCCSCCSCCSSCCSSSSCSSCCCCSSSCCCCSCSCCCSSCSSCCSCSCCSSCCSSCSCCSCCSSSCSCSCCSCSSSCCSSSSSCCSSCSSSCSSSSSSSSCSSCSCCSCSSSSSCSSSSSCCSCCSSCSSSSSCCSCCSCCSSSCSCCSCCCSCCSCSSSSCCSSSCSCCCSCSCCCCSSSCSCSCSSSCSCCSSCCSSCSSCSCSCSSSSCCSSCCCSSSSCSCSSSCCCCCCCCSCSCSSSSSCSCSCCCCCCCSSCSCSCCSCCSCCSCSSSCSCSSCCSSCCSSSCCSCCCSSCSSCSSSCSSCSSSSSSSSCSSCSCSSCCSSSSCCCSSSSCCSSCSSSSSCCSSSSCSCSSSSCSCCCSSCSCCSSCCCCCCCCCSSSSCCCSCCCSSCSSSCCSCCSSCSCSCSCCSCSCSSSSCCSCCCSCCSCCCCCCSCCSCSCSCSSSSCSSSCSCCCCCCSSSCSSCCSCCSCCCCCSCSSCCSCCSSCSCCSSSSCSCCSSCCCSCCSCSSCCSSCSSCSSSCCSSCSSCSSCSSSCCCCCSCSCCCCCCSSCSCCSSSSCSCCSCSSCSSCSCCCSCCCSSCSSSCSSCSSSCSCSSSCCSSSCCCSSSSCCCCCCSCSCSCSCSSCCSCSCSSCCSSSSSCCCCCSSCCSCSSCCCCSCCSSCSSCSCCSSCSCSSCSSSCCCCSCCCSSCCSCCCSCCSCCSSCCSCCSCSSCSCSSCSSCSCCCSCSCCSSSCSCSSSSCCCCSCCCCCCSSCCCCSSCSCCSCSSCCSSSCSCSSSSSCCSSSSCCSCSSCCCCCSSSSSCSSSSCSSSSCSCCSCSCSCSSSCSSCCCCCSSSSSCSSSSSSCCSSSCSCSSCSCCCCSSSCCSCCSSCCSSSSSCSCCCSSSCSSCCSSCCSCSSCSCCSCCCCCSSSCCSSCSCCCCCSCCSCCCCSCCCCSCCSSCSSSSSCCCCSCSSCCCCSSSCSCCSSCCCCSSSCSCSSSCCSSSCSCCCCSSCCCCSSCSSCSCSCSCSCCSCCCCCCCSSSSSSSSSCSCSSSSCSSSCCCCCCSSSCSSCCSSCSSCSCSCSSCSSSCSCSCSSCSSSSCCCCSCCSCCCCSSSCCCCCSSCCCCSCSSCCCSCSSSCSCSCCSSCCSSCSSSCSSSSCCSSCCSCCCSCSCSCSSCSCSSSSSSSSCCCSSCCCCCSCSSSSSSCSCCSCCCSCSCSSSCCSCSSCSSCCSSCCSCSSCCSCSSSCCCSSCSCCSSCSCCSSCSSCCCCSCSCCSSCCCSCSCCCCSCSSCCCSSSCCSCSCSSSSCCSCCCSCSCCCSSCCCSSSCCCCCCSCSCSCSCCCSCCSSSCSSSCCCCSCSCSCSSCSSSCCSCCSCSSCSSSCCCCSSSSSSSCCSSCCSSSSCCSCSCSSSCSSCCSCSCSSSCSSSSSSSCCSCSCSCCCSCSCCCSSSSSCCCCCSSSCCCCSSSSCCCSCCCSCSSCSCCSSSSCCSCCCCCCCSSSCSSCSCCCSSCSCCSSCCSCSCCSCCCSCSCSSCSCCCCSSCSCSSCCSCSSCCSCSCCCSSSSCSSSSSCSCCCCCSSSSSCSSSCSCCSSSSCCCSCSSCSSSSCSCSSCCSCSCSCSSCSSSSCCSSCSCCSSSSCCCCCCSCSCCCCSCCSCSSSCCSCSSSCCCSSSCSCSSCCSSCCSSCSCCCSCSCCSCSCCSCCCCCCCCCSSSCSSCCCCCSCSCSCSSSSCSCCSCSCCSSCCCSCSSSCSSCCCCCCCCCCSSCCSSCCCCCSCCCCSSCCSSCSSSCSCSSSCSSCCCCSCCCCSSSCCSCSCCSCCCSSSCSCCCSSSSSSCCCCCSCCSSCSCCCSSCSCCSSCSCCCSCSSCSCCSSCCSSCSCCCSCCSSCCCSCCCSSSSCSSSSSCCSSCSCSSSSCCCCCCCSSCCCCCSCCCSSCSCCSCSCCSSCCSCCSSCSSCSCSCSCCCSSSSSCSSCCSCCSSCSSCSSCSSSSSCCCCCCCCSSSSSCCSCCSSSCCCSSSCCSSCSCSCSSSCSSSSCCSCCSSSCCSCCSSCSSSCSCSCSSSCSCSCSCSCSCCSSSSCSSCSCCCCSCCSSCCCSCSCSSSSSSCCCSSSSCCCSSSCSCCSCCSCCCSSSSSSCSCSCCCSSCSCSCSCCCSSSCCCSCCCCCCCSCCSCSCCSCSCSCCSCCSSSCCSCSCSCCCSSCSCSSCCCCSCSCSCSCSCSSSSCSCSCSCCCCCCSCSSCCCSCCSCCCSSCSSCCSCCCSCSSSCCSCCSSSCSSSSCSCCSCSSCCCSCCSSCCCCSCCSSCCCSCSCSSSCSSCSSSSCSCSCCSSCSSSSCSCSCSSCSCSSSCSSSCCCSCCCSSCSCSSCCCCSCCCSCCCSSCCCCSSSCCSCSCSSSSSSCCSSSSSCCSSCCCSCCCCCCCCSSCSSSCSCCCCSCSSCSSSSCSCSCSCSCCCSSSCCCCCSSCSSCSSCSCSCSSSCCCCSCCSCSCCCCSSSSSSSSCSSCCCCSSSCSCCSSCSCCSCCSCSSSSCSCCSSSSSCSCCSCCSCCCCSSSSCSSCCSCSCSSSCCSCSSCSCSSCCCCCSSSSCSCSCSSCSCCSCCCSCSCSCCSSCSSSSSSCCSCCSSSCCSSCCSCCCCCSSCCSSSCSCSSCSSSSSCCSSCCSCCCCCCSCSSCSSSSCSCCCCSSCCSSSCCCSSSCSSCSSCCCCSCSSSCSCSSSSSCSCSSSCSSCCSSSCSSCCCCCCSSSCSCSCCCCSSSCCSCSCCSSCCSCSCSCCCSCCCCCSCCSCCSSCCCCCCCSCSCCCCSSSSCSCCSSCCCSCCCCCSCSSSCSSCSSCSCSSSSSCCSCCSCCSCCCSCSCCSCSCCCSSCCCCCCSSSSSCSSSSCSSCCSCCSSCSCCCSSSCCCSSCCSSSSSSSSSCCSCCCSSCCCSCCCCSCSSCSSCCSCSSSSCSSSCCCSSCCCSCSCCCCSSSSSCCSSSCSCCCSCCSCCSCSSSSCSSCSSSCCSCCSSSSCSCCSSSCSSCSCSSSSCSCCSCSCCSCCCSCCCSSCSSSSSSCSSCSCCCCCSCSCCCCCSSCCSCSCSCSSSCSSCSSCSCCCSCCCCCCCSCCCCCSCCCSSCSSSSCCSCCSCSCSSSCCCSCCSSCCSCCSCCCCCSCSCCCCSSCSSSCSSCCCCCSCCCCSCCSSCCSCSSCCSSSCSCCCCCCSCCSSCCCCSCSSSCSCSSCCSCCCCSCSCCSSSCCCCCSSCSCSSCCCCCCCSCCSCSCCCSCSSCSSSSSCSCCSSCCCCSSCCCSSCSSCCSCSSSSCSCSSSCSCSCCCCSSCCSCSCCSSCCCCSSSCSSSCSSCCCSCSSCSSSSCCCCCCSSSSSSCSCSCSCSCSCSSCSCCCSCCCSSCSCCSCSCCSSCCSSCSCCSCCCSSSCSSCCSCSSSSCCCSSCCCSSCSCSCSCSCCCSCCCCSCCSCCCSSSSSCCSCCCSSSSCCCSCCSSCCSCSCCCSSCCSSCSCCSSSSSSCCCSSSCSCCSCCSCCSSSCSSSCCSCSSCCCCCSSSSSSCSCSCSCCCSCCCSSSCSCCSCSCCSSCCCSCSCCCSCSSSSSSSCCCSCSSSSSSCSSSSCCSSCSSCCCCSSCCSCCCSSCSSCSCSSSCCCSCCSSCCSCCCCCCCSSCSCCSSCCSCCCCCCCCCCSSCSCCSSSSCSCSCSSSCCCSSCCCSCCSSSCSSSCCSCSCCSSSCCCSCSSSSCCCSSCCSCSSSCSSCSCSCCCSCCSSSCSCCSSCCSCCSCCCCSSCCSCSCSSSSSSCSCCSCCCCSCSCCSSSCCSCCSSCCCCSSCCCCSSCCSCCCCSSCSSSSCSCCCCCSCSSSSCSCSCCCSCSCSCSSCCSSSCCSSCCSCSSSSSSCCCCCSSCCSSCCSSCSSSSSSSSSCSCSCCCCCCSCCCSSCCSCSSCSCSCSSCSSCCCCCCCCSCCCCCSSCSCSCSSSSCSSCSCCSCCSSSSCCSSCSCCCSSCSCSCCSCCCCCSCSCCCSSSCSSCSCCCSCCSSSCSCSCCCSCCSSSSCSSSSSSCSSCCCCSCCCCSCSCSCCSCCSCSSSSSCSCSSSSCCCSSCSCSCCSSCCCSSCSCCCCSCSSCSSSCSSCSCCSSCSCCCSSCCCCSSCSCCCCCCCSSCCSSSSSCCCSSCCSSCSSSCSSSSSCSSSCCCCCSCCCSCSCSSSSCCCSSCCSSCSSCSSCSCSCSCSCSCSCCSCCCCSCCSSSCSCCSCSCCCCCCSCSSCCSSSCSCSCSCSCSCSSCSSSCCSSSSCSCSSSSSSCSSCCCCSCCCCSSSCSCSSSSSSCSSCSSCSSCCSCCSSSSCCCSSSCCSSSSCSSSCSSSSSSSSSCSCSCSSCSSCSCSCSSCSSSCSSSCSCSSSCCSCCCCSSSSCCCSSCCCCCCCCCCSSSSCCCSSCCSSSSSSSCSSCSSSCCSSSCCCCCCSSCSCSCCCCSSCSSCCCSSCSSCCCCSCCSCSSSCSSSCSSSCSCSCSCSSCSCCCCSSCSSCCSSCCSCSSCSSSSSCCCSSSSCSCCCSCSSCSSCSCSSCCCCSSSCSSSSSSCSCCCCSCCSSSCSCCCCCSSSCSCCSCSCCCCSCSCSCSSCSSSCCSSSCCCSCCSSCCSSCCSSCCCSSSCSSCSSCCSCCSCCSSSCCSSCCSSSSCSCCCSCSCSCCSCCCCCSSCSCCSCCCCSCSSSSSCSSCSCCCSSCSSCSCCCCCSSSSSSSCCSCCCCSSCCCSSCSCSCSSCSCCCCSCSSSSSSSSCCCCSCSCSCSSSCSCSSSSSSSCCSSSCSCCCSCSSSCSCSSCSCSCSCCSCCCCSSSCSSCSCCCCSSCCCSCCCSSCCCCCCSCSSCSSSSCSSSCCCCSCCSSCCCCCSCCCSSCSCCCCCCSSSSCCSSSCCCSSSSCCSCCSSSCSCCCSSSCSSCCCSCCSCCSCCSSSSCCCCSSSCCCSCSSCCSCSCCSCSCSCSCCSSSSSCCSCSSSCCSSSSCCSSCSSCSSCCCCCCSSCCSSSCCSSSSCSCCCCSSSCCSCCSCSCCCSSSSCSCCSSCSCSSSCCSSCSCSSCSCSCSSCSCCSSSCCSSSSSCCSSSCSCSCSSSSSSSSSSCSSSSCSSSSCCCSSCCCSCSCCCSCCSSCCSCSCSSSSCCCSSCCSCSSSSCCCCSSCCSCSSSCCSCCCCSSCSSSSSCSCSSSSCCCSSCCSSSSCSCSCCCSSSCSSSSCCCSSCCSCSCSSSCSCSCSSSCCCSCSSCCSSCCSCSSSCCSSSSCSCCSCSSSCCSSCSCCCSSSSCCSSCSSCCSSSSCSCCCSCCSSSSSCSSCSSSSSSCSCCSCSSSCCCSCSSCSCSSCCCCCCCSCSSSCSCCCCSSCSSSCSSCCCCSSSCCSSSSSSSSSSSSCCSCCSCSSCCSCCSSCCSCSCSCCSSSCCSSCCCSCSCCSCCCCCCCSCSSSCSSCCSCSSCSSCCSSCSCCCCSSSCSSCSSSSCCSSCCSSSCSSCCSSSSCSSSSSCSSCCCCSCSSSSCCSCCCSCSSSCCSCCSSCCSCCCSCCCCSCSCSSCSCSCSSCSSCSCCSCSSCCCCSCCSSSSCCSSSSCSCCCCSCSCSSSSCCCSCSSSCCCSCCSCSSSCCSSSSSCSCSCSCSSSSSSSSSSSCSCCCCCCCCSCSCCCCSCCSSCCCCCSCCSCCSSCCCCSSSCSCSSCCSCCCSCSSCSSSSCCSCSCSCSCCSCSSSSCCCCCCCSCSSCCSSCSCCCSCCSSSSCSSCCSSCCCCSSCSCCCCCCCSSCSSSCSCCCCSSSSSSSSCSSCSSCCCSCCCSCSSCSCCSCCSCCSSCSSCCCSCCSSSSSSSSCSSCCCSSSSCCCSSCSSSCSCCCCCSSCSSCSCCSSCSSCCCCCCCSSCSSSSSCSCCSCCSCSCSCCCCSCSSSCSCCCCSSSSCCSCCSCSSSSCCSSCSCSSCSSCSSSCSSSCSSCCSCCCSSCSCCSSCSSSCSSCSCSSCCCCCSCSCCCCCSCCCCSSSCCSCCSSCSSCSCCSSCSSCCCSCSSSCCSCSSSCCSSSSCSCCSCSSSSSSSSCSCSSSCCCCCCCCSCSSSSCCSCCSSSSSCCSSCCCSCSCCCCCSCCSCSCSCSCCCCSCSCSCCCSSCSCCCCSSCCSSSCCSCSCCCSCSCCCCCCCSSSCSCSCCCCSSCCCSSSCCSCSCCCSSSSCCSSCSCCSCCCSCSCCCCSSSSSCCSCCSCCCSCCSCSSCCSCSCSSCSCSCSSCCSCSSSCSCSCCSSSCCSCCCSSSCCCSSSCCCSSSSCCCCCSSSSSSCSCSCSCCSCSSSCSCCSSCSCCSCSCSSCCCSCSSCSCCCCSSSCSSSSCCCCCCSSSSCSSCSSCCSCSCSCCSCSSCSSSCCCCCCCSSCSSCSCSSCCSSSSSSCSSSCCSSSCCSCCCCCSSSSCCCSSSCSSSCCSSCCCSSCSSSSCSCSCCSCSSCSCCSCCCSSSSCSCSSSCSCCCCSSCCCCCSCCSCSSCCSCSCSCCSSCSSSCCCCSSCCCCSCSSSSCSSSSSCSCSCSCCSSSCSSSCCCCSSSCCSSCSSCCCCCCSSCSCCCSSSCSCSSCCSCCCCCSSSCCCSSCCSCCSSSCCSSSSSSCSCCSCCSSCCCCSSSCCSCCSSSSCCSCCCCSSSCCCSCSCSCCSCSSCCSSCCSSCCCCCSCSCSCCCCSSCCCCCSCCSSSSCSSCSCCSSSCSSSCCCCSSSSSSCCSSSSCSSCCCSSCCSCSSCCCSSSSSSCCSSSSCSCSCSCCCSSCCSSCSCSSSCCSSCSSCSCSCCSSSSCCCCCSCCCCCCSSSSSSSCCCCSCCCCCSCCCSSCSCCSSSCSCSCCSCCCCSCCCSCCSSCSSSCCSCCCCSCCSCSCSSSCSSCCSCSSSSCCCSCSCCSSSSCSSCSCSSCCSCSCSCSSCSCCCCCCCCCSSSSSSCCSCSCSSCCSCSSCCCCSCSCCCSCSSCCCCSSSCCCCCCCCSSCSCSSSSCCSSSSCCCSCCCSCCSCSCCSSCCSCSSCSSSCSCCCCCSCCCSSSSCSSCSSCCSSSSSSCSSSCCCCSSCSCSSSCCCSCCCCSCSCSSSCCSSCSCSCSCCSCCCCSSCCSSSSSCSCCSCSCSCCSCSSSSSSSCCSCCSCCSCSCSCCSCCCSCCCCSCCCCSCCSCCCCSSCCSCCSCSSSSCCCCCCCSCSSCSSSSCCCCCCSSCCSSCCCCSCCCCSCCSCCSCSSCSSCSCCCCSSCCSSSSSSSCSSCCSCSCCSSCCSSSCCSSCSCSSSSCCCSCSCCCCSSCCCSCCCSCCCCCCCSSSCSCSSSSSSSSSCSSSSCSSSSCSSCSSSSSSSSCSCCSSSCSCCSSCSCCSSSCSSSCSCCSSSCSCCCCCCSCSSCCCCSCCCCCCSSCSSCSSCCCCCSSCCSCSSSCSCSSSSCCSCCCCCCCSSCCSCCSSCCSSSSCCCSSSCCSCCCCCCCSSCCCCCSCSCCCCCCSCSCSSCCSSCCCSSCCSCSSCCSCSSSCSCSCCSCCSSSCSSSCSSCCSSCCSCSCSCCCCSSSCCSCSCCSCCSSSCCSSSCSCCCCSCSSSCCSCSCSSCCSSCSSSCSCCSSCCSCCCSSCCSSCCSCSSSCSSSCSCCCSCSSCCSCSCSCCCCCSCSSSSSCSSCCCCCSCCSSSCCSSSCSCCSCCSSSSCCSCCSSSCSSCSCCCCCCSCSCSCSCCSSCSSSSSSSCSSCCSSCSCCSCSSSCSCSCCCSSSCCCSCCCCSCCCCSSCCSSCCCCSCSSSSSCCCSCSCCSCCSCSCSSSSCCSCSSSCSSSCCCCCCSCSSCCCCCSSCSSCCCCSCSSSCCSCCSCSCSCCCCCCCSSSSCCCCSSCSSSCSCCSCSSCCCSSCCSSCSCSSSSCSCSSSSCCSCCCSCSSSCSSSCSSSSCSSCSCSCCCCCSCCSCCSSCCCSSSSSSSCSCCSCCCSSCSCSSSCCCSCSCCSSSCCCCCCSSCSSSSCSCSSCSSCSCSSSSCSSSSSSSSCSSSCCCSCSSSSCCSCCSSCCSCCSSSCSSSSSSSSSCCSCSSCSSSCCCSSCCCCCSCCSSCCCSSSCCCCSCSSSCCSCSCSSCCSCSSSSSSCCCSCSSCCCCSCSSSCSSCCCSSCSSCCSSSSCSSCCCCCCCSCSSSCCCCSSCCCSCCSSSSCCSCCCCSCSCCCSSSCSSCSSCCCCSCSCCSSSCCSSCCSCSCSSSCSSSSSCSSSCCCCSCSSSSCSCCSSCSCCCCSSSSCCCSCCCSCSSCSCCSCCSSSSCCCCCSCCSSSCSSCCCSSSSCSCSSSCCSSSSSSSSCSSCCSSCSSCCSCSSSCCCCSSSSSCCCCSCCCSSSCCSSCSSCCCSSSCCCSCCCCCSSCCSCCSSSSSSCSSSSSSSCCSSSCSCSCCCSCSSSCCCSSSSCCSCCSSSCSSSSCCCSCCSSCCSSCCCSSSSSCCSSSSCSSCCSCCCSSCSCSSSCSSCSCSSSCSSCSCCCSSSSSSSCSSCCSCCSSCCCSSCSCSCCSSCSCSCSSSSCCSCSCSSCCSSSCSCCSSCSCCCSSCCCCCSCSSSCSCCSCCSSCSSCSCCSSSCSCCSCCSCCSCCCSCCCCSSCCSSCSCSCSCSCCSCSCSSSCSSCCCCCCCSSCSSCCCCCCSCSCCCCCCSCCCSSCSCSSSSCSCSCCCCCCSSCCSSCCSSSCCSSSCSSCSSSCSSCSCSCCSCCCSCCCCSSSCCCSSCCSCCCSSCCCCCSCCSCCSSCSCSCSSCCCCSCSCCSCSCSCSCSSCSCCSSCCCSCSSCSSCCCCCCCCSCCSSSSCCSCSCCCSSSCCSSSCCCSSSCSCSCSCCSSCSCCSSCSSCCCSSCSSSSCSSCSCSSSCCCCCCSSCSSSSSSCCSCSSSSCSSSSSSCCSCCCSCCCSCSSCCSSCSSCCSCCSSSCSCSSCSSCCSCSCCCSSSSCSSCCSCCCSSSCSSCSSSCCCSSSSSSSCSCCCSCCCSSSSSSSSSCSCCCSSSSCCSCCSCSCCSCCCCSSCSSCCSSCSSCSSSSCCSSSCCSSCCCCCCCSSSSSSCCSCSSSSCCCCSSCCCCCSSCCCSCCSCCSSSSSSSSCCSSCSCSCCCSCCCCSCCSSSSSCCCSSCSSSSCSCSCCSSSCSSSSSCCSSSCCCSCCCSCSCSCCSSCCCCSCSSSSSCCCCCCCSCSSCSSSCCCSCCSSSCSCCCCCCSCCCSSCSCCCSSCCCCSCSCSCSSSCCSSSCSCCSCSCSCSCCCCSSCSCSCSCSCSCCCCSSSCCCSSCSCCCCSCCSCCSCCSSSSSCSCSSSCSSCSCCSCCSCSSCSSCCCSCSSSSSSCCCSSCSCSSCCCCSSCSSSCCSSSCSSSCCSSSCSCSCSSSCSCCCSSCSCCCCCCCCSCSSCSSSCCCSCSSSSSCSCCCSSSCCSCSCSSCSCSCSCCCSCSCSSSSCCSSSCCSCCSSSSSCSSSSCSCCCSCCSSSSCSCSCCSSSCCSSSSCSCSCCSSSCCSCSSSCSCSCCCSSCSCCSCSCSCSCCSSSCSCSSSCCSCSCCSSSCCCSSCCSCSCSSCSCSSCCCSCCSSSSSCCSCSSCCCCCSSCCSSCCCSCSSCSSCCCSSSCCCCSSSSCSCSCCCCSCSCCSSCCCSCSCSSCSCCSCCSCCCSSCSSSCCCSCSCCCCCSCSSCCCCCCSSSSCSCSCSSCCCSCCSSSSSSSCCCCSCSCSCSCSCSCSCCCSSCSSSSSCCSCSSCSSSSCSSSCCCCSSCSCSCSCSSCCCCCSSSCCCCSSSCSSCCSCCCSCCCCSCSCCSCCSCSCSSCCSCSCCSSSSCSSCCSCCSSSCSCSSSSSSCCCSCSCSCSCCSCSSSSCCSSSCCSSCCSSSCCSSCSSSSSCCCCCSCCCSSSSCCSCCSCCCSSCSCCSCSSSSCCCSSSSSSSSCCCCSCSCCSSCSCSCSCCSCCCCCSSCSSCCSCSSSSCCCCCCCSCCCSSSCSCCCSCCCCSCCCSCCCSCCCCCSSSCCSSCCSSCSCSCSSSSCSSCCCCSSCSCSCCSSSSSCCCSCCSSCSCCSCSCCSCCCSCSSSCSSSSSCSSSCSCCCSSCSCSCSSCCSCCSCCCSSCSCSCCCCSCCSCCSSSCSCCCSSCCCSCCSSSCCSSSSCCCSSSCCCCCCSSSCSCSCSSSCSCSSCSSSSCCCCSSSSCSCCCSCSCSSCSSCCCSCCSSCCSSSCCCSSSCCSSCCSCSCCCCCCSSCCCCCCSSSSCSCSSSSCSSSSSCSSCSCSSSSCCCSCCSCCSSCCCCSCCSCCSCCSCCCCSSSCCCCCSSSCSCSSSSCCCCSCCCSCSSSCSCCSSSCCSCCSSCCSSSCCCSCSCSSCCSSCCCCCCCCSCCCSCSCCCCSCCSSSCCCCSCSSCCCCSSCCSCSCSCCCSSSSCCSSSSSSSCSCSCCCSCCSCCSCCCSSCSSSCSSCCCCCCSSCCSSSSSCSCSCCSSCSCSCSSCSSCSSSCSSSCCCSSSSCSCCSCCCSSCSSSSSCCSCSCCCSSSCSSSCSSCCCCCSSCCSSCSCCSCCSCSSSCSCCCSSSCCSCCSSSSCCCCSSCSSSSSSCCCSCCCSSCSSCCSSSCCCCCCSCCSCCCSCSCCSSCCCCCSCSCCSSCCCCCSSSCSCCSSCCCCSSSSCSCSSSCCSCSSSCSSCSSSSSSCSSSSSCSSCCSCCSSSCSCSSSCSSSCCSCCSSCSSCSSCSSSCCSCSCSSSCSCSCCCSSSCSSCSSCCSSCSSCCCSSCCSCSSCSSCCCSSCCSSCSCCCCSSSSCSSCCCCCSSCSSCCCSSCCCSCSCCCCCCSSSSSCSCSCCSCCSCCCCSCSSCSCCSCCSCSSCSSCSSSSSCCCCSSSSSSCSCCSCCSSSSCSCCCSSCCSCSCCSSCCSSSSCSSCCSCSCCCSCCCCSSCSSCCSCSSSCSSSCSSCCCSCSCSCSSCSCCCCSCSSCSCSCSCSCSCSSSCCSSSCCCCCSSSCSSCCCSCSSCSCCCSCSSSCCCCSSSSCCCCSCSSSSSCSCSCSCSCSSSSCSCCCSSSSCCCCCCCCSSSCSSSCSCSCSSCSCCSSCCCCSSCCSSSSCCCSCSCCCCSCCSCCSSSSCSCCSSCCCCSSCCSSCCCCCCCCCSCCSCSCSCSCSSSSCCCSCCSSCCCSCSCSCSCSCCSSSSSSCSSCSCCSSCCCSCSCCCSCSCCCCSCSCSSCCCSSCSCCSSCSCSCSSSCCCCCSSSSCSCCSCSSCCCCSSSCCCCSSSSCSSSCSCSSSCSSCSSSCCSCSSCSCSSSCCSSSSSCCSCSSCSCCSCSSSCSCCSCCSCCCSCSCSCSCCSSCCSCCSSSSSCCCSSSSSCSCCCSCCCSCSSCSSCSCCCSCSCCCSSCSCSSSSCCSCCSSSSSSCSSCSSCCCCSSSCSSCCCCSCCSCSCCCSSCSCSCSSSCCSSSCSCCSSCSSCCCCSSSSCSCSCSSSCCSCSCSCSCCCCSSCSCCCCCCSSSSCCCSCSSCCSSCCCSCSSSSCCCCCCSSCSSCCSSCCSCSCSSSCSCCSCSCCCSSSCSSCCSCCSSCSCSSCCSCCCCCCCCSCSCCSCCCCCCSSCCSCCCSSCCSSCCSCSSSSCCCCCSCSSSSSSCSCCSCCCSCCCSSSSCSSCSCSSCSCSCCCSSSCCCCSCCSCSCSSSCCSCCSCCCSSSSCCCCCCCSCSSCCSSSCCSSSSSCCSSSCSCSSCCCSSCCCCCSSCSCCCSSCCCCSSSSCCSCCSSCCSSSSCSSSSCSCCSCSSSSSSSSSSSCSCSSSCSSSCSSCCSCSCSSSSSSCSCSCSSCCCSCCCCSSCCCCCSCSCSSSCCSSSSSSSSSSSCSSCCSSSCCCSSCCCCCSSSCCSSCCSSSSSSCSCSSCCCCCSCCCSSSSSCCCCCSSCCSSSCCSCSCSSSCCCSSSCSSSCSSCCCSSSCSSCSCSCCSSCCSCCCSCCCCCSCSCSCCSSSCCSSCSCCSSSCSSSSSSSSSCSSSSCCSSCCCSSCCSCSSSSSCCCSSSCSSCSSSCSSSSCCSSCSSCCSSSCSCSCCCSSCSCSSSCCSCSSCCSCSCSSSCCSCSCCSSCCCSSCCCCSSCCCSSCCSSCCCCSCCCSCCSCSSSSSCSCCSSCSSSSCSCSSSSCCSCCSCSCSCSSCSSCSCCSSSSCCSCCSSSCCSCSSSSCCCSCSCSCCCSSSCCSSCCCSCCSSSCCSSSSSSCCSCSCCCCSSSCSCCSCSCCCSCCCSSCSSCCSSCCSSSSSCSCSCSSSSSCCCSSSSCCSSSSCCSSCCCSCCCSCSSSCCCSCCSSCCSCCCCCCSCSSSSSCSSSSCCCSSCCSCSCCSSSSSSSSSCCSCSSCCCSCSCSSSSCCCSSCSSCCSCCSSSSSCSSCSSCCSSSSSSSCCSSSSSSSSCSCSSSCCCCCCSSCCCCSSSCCSCCCSSCCCSSCCCSCCCCSCSSCSCCSCCCCCCCCSCSCSCCSCSCCSCCCCSCSCCCCCSSCSSCSCCSCCSCCCSCCSCSSSCSCSCSCSSCSCSCCSSSCCSCCSCSCCSSCCSCCCSSCCSCCSSCSCCSCSSCSSSSSCSCSSSCSCCCSSCSCCSSSCCCSSSSCSSCCSSCCCSSSCSSCCCCSCSSCSCCCCSSSCSSCSCSSSCCCSCCSSSCCCSSSSCCSCCCCSSCSCSSSCCSCCCSSSCSSSCSSCSCSSSCSCCSCSSCSSCSCSSSSCCCSCCCCSCSCSSSCSSSCSCCSCSSCSCCSCSCSSSSCSSCSSCSSSCCCCSCCSCSCSCCSCCCSCSCCSSCSCCSCCCSCSCSCCSCCCCSSCSCCSCSSCCCSSSCCSCSSSSCSCSSSSSCSSCSCSCSSCSSCCSCCCCCCCCSSSSSCSSCSCCSCCSSSCSSSSCSSCSSSCCCSSSCCSCCSSCCCSCSCCSCSCSSSSSCCSCSCSSSSSCSCCCSCSSCSCSSCSCCSSSCCSSCCCCSCCCSCCCCSSSSCCSCSCCSSSCSCSSSSSSSCSSCSCCSCCSCCCCCSCSSCSCCCSCSCSCCCCCCSCSCCSSCSSSCSCCSCSCCSSSCSSCCCCSSCSCSCCCSCSSCSSCSSCCCSSCSCCSCSSSSSSSCSCSCCSCCSSSCSCCCSCSSCSSSSCCSSCSCCCSCSCSCCSSCCSSCCSCCSSSCSCCCSSSCCSCCSSCCCCCCCSSCSSSCCCSCCSCSCSSCSCSSSCCCSCSCCSSCSSCSSCSCCSCSCCCSSSCCSCCSSSSCCCSSCCCCCCSSCSSSSCSCCCCCCCCSCSCCCCSCSSSCCCCSSSCSCSSSSSCSSSCSSSSSSSCCSCCSCCCSSCSSCSSSSSSSCCSSSCSCSCSSSSCSSCSCSCCSCSSCCSSCSCSSSSSSCSCCSSSCSSCSSCCSCCCSSCSCCCSCSCCSCCSSSSSCSCSSCCCCSSCCSSCSCSSSCSCSSSSCSSSSCSCCCSCCCCSSCCCCCCCCSCCCSCCCSSSCSSSSCSSCCSCCCCCSSCSSCSCCCSSSCSSSSSSSCCSCSCSSCSSCCSSSCSSSSCSCSCSSCCSSSSCSSSSSSCSSSCCCCSSCSCCCSSCCSSSCCCSCSCCCSSCCCSSSSCCSSCSCCSCSSSCCCCCSCCCCCCCCCSSSCCSSCCCSCSSSSCCCCSCCCSSCCCSCCCSCCCSSSSSSSSCSCSCSSCCSSCCSSSSCSCSSCCCSSSSCCSCSSCSCSSCSSCCCCCCCSCSSCSSSSCSSSSSCCCCSSCSCCCCSSCSSCCCSCCCSSCSSSCSCSSSSSCCCSSCSCCCSCCSSCSCCSCCSCCCCSCCCSSSSCSSSSSSSSCCCSSSSCSCCSCCCCSCSSCSSCCCCCCSCSCCCSSSCSSSSCSSCSSCCCCSCCCSSSSCCCSSSSCCCSCCSCSSSCCSSSCSSSCCSCCSSCCSSCSCCCSCCCSCCSCCCSCCCCSCCSCCCCCCSSCSSSSCCSCSCCSCCSSCSSCCSCSCSSCCCSSCCCCSCCSSCSCCCSCSCCCCCSSCCCSSCCSCCSCSSCSSCSCCCCCSSSSCCSCSCCCCCCCCCCSSSSSSSSSSCCCCSSCCSCCSCSSSSSCCCSSSCCSCCSCCSSSCCCCCSSCCSSSCCSCCSSCCCCCSSCSSSSCSCCSCSSSSCCSCCCSSCCCCCCCSCSSSSSSSSCCSSSCSSSSCCSSSSSSSSCSSCCCCSCSCSSSCSSCCSSSSSCCSCCCCCCCSCCSSCSSSCCSSSCSCSCSSCCSCSCSSSSCCCSSCSSCSSCCCSSCCCCSCSCCSCSSSSCSSSSCCSCCCSSSCCCCCSCCSCCSCCCCSSCSCCCCSSCCSCCCSCSSCSCSSSSCCSCSCSCSSCSSCCSCSSCSSCSCSCCCCSCSSCCSCCSSSSSCCCCSCCCSCCSSSCSSCCSCCCSCSSSCCCCCCCSSCSSCCCCCCCCCCSSCCCSSCSSCCSSCCCCCSSCSCCCSCSCCCCSSSSCSCSCCSSSSSCSSCCSSSSSSCCCSSCSSSSSSSCSSCCCCCSCSCCCSCSSSSSSSSCSCCCSSCSCCCSSSCSSCSSCCCCSCSSCCSCCSCSSSSCCSSCSCCCCCCSSCCCCCCSSSCSCSSSCSSSCSCCSSSCCCSCSSCSCCSCSSCCSSCSCCSSSCSSCSCCSSCCSCSSSSCSCCCSSCCSCSSCCSCSSCCSSSSCSSCCSSSSSCSSSCSCSCCCCCSCSSCCCSSSCSSCSCCCCCCCSSSSCCSCCCSCSCCCCSSSCSSSSCCSCCCSCSSSSSCCSCSCCSCSCSCSSSCSCSSCSSSSSSCSCCSSSSCSCSSSSCCCCSSSSSCCSCSCSCCSCSCCSCSSSSSSSCSSCSSCSSCCSSSSCSCCCCCCCCSCSCCCSCCCCSCSCCSCSSCSCCSCSSCSCCSCSSCSCCSCSCCCCSCCCCCCCSSCCSSCSCSCSCCCCCCCSSSSSCCSSCSCSCCCSSCSSSCSCCSSSSCCSCSCCSSSSCSSSCCCCSSCCCSSSCSCSCCSCCSCCSCCCCCCCCSCSCCCSSCCSCSCCCCSCCCSCSCCSCSSCSSSSCCSSSSCSCCCCCCCCCSSCCCCSCCCSSCCCCSSSCCCCCCCCSCSSSSSSSCSSCCSCCCCCSCCCCSSSCSSSCCSSSCSSCCCSCCCSCCSCSSSSSCCSCCCSCSCSSCSSSCCSSSSCSSSSSSSSSSSCSSSSCSCCCCCCSSSCSCSSCCSCCCCSCCCSCCCCSSSSSCSCCCCCCCCSCCCSCCCSSCSSCSCCSSCSSSCSCCSSSCCCSSCSSCCCCSCCCCSSSSSSSCCSCSCCCSSSSCSCSCCSSCSCCCCCCSCCSCSCSSSCSCSCSCSCCCSCCSCCSSCCCCSCSSCSCCSSSCCCCCCCCSSCCSCSSCCSSCCCSCSCCCSCSSCCSCSSCCSCSSSSCSCCSSSSSCSSSCSCSCCCCSSSCCSSCCCSCCCSCCSSSCCSCCSSCSCSCSCSSSSSSSCSSSCSCCSCCCSSSSCCSSCSSSCSCSSCCCCCSCSSCCSCSCSCCCSCCSCSSCSSCCCCSSCSSSSCCCCSCCSSCCSSCCCCCCSCSCCCSCCCCCCCSCSCSCSSCSSCSSSSCSSSSSCCCSCCSSCCSSCCSCSCCSCCSCCSCSSSCCSSSSCSCCCCSCSSCCSCSCSSCSCSSSCCSSSSSCCCSSCSCCCSSSCCSCCCCSCSSCSCCSSSCCSSSCSSCSSCCSCCSSSSSSCSCCSSSSSSSSCCCCSCCSSSCCSSCSSCCSCCCSCCCSSSCCSCCCSSCSSCSCCSCSSCSSSCCSSCCCCSCCCSCSSCCCSSCSCCSCCSSCSSSSSSSCCCSCSCCCCSCSCCSCCSSCSCSCCCSCSCCCSCCSSCSCCSSSCSSCCSSCCSSCSCSSSCCSCCSCCCCCCSSSCSSSSSCCCCCCCSCCCCCSSCSCSSSSCCCSSCSCSCSSCCSSCSSSCSCCCCSSSCCSCSSCCCSSCCSSSCCCSSCSSSSSSSCCCSSCCCSCSSSSSCCCCSSSCSSSSCCCCSSCSSSCCSCCSCSSCCSCSSSSSCSSCCSCSCCSCCSSSCSCCSSCSCCSCSCCCCSSCSSSSSSSCSSSSSCSCCSSSSSSCCSSCSSSCCSSCSCCCSCCCCCSSSSCSSSSCSCCCCCSCSSSSCSSCCSCSSSSSCSCSCSCSCSSCSCSCCSSSSSCCCCCSSSCSSSCCCSCCCSSCSSSSCCCCCSCCSSCCSCSCCSSCSSCCSCSSSSCCCSSCCSSCSSCSCCCSSSCSCSCCSCSSCCCSSCCCCSSSCCCCCCCSSCCSCSSCCCCSCSSSSSCSSCCCSCSCCSSSCSSCSSSCSSSCSSSCCSSCSSCSSSSSSSSSCCCSCSCCSSCCSSSSSSSCSSCCCSSCSSSCCSCSSSCSCSSCSSSCSCSSSCSSSSSCSCSCCSSCCCCSSCSCSCCSSCCSSCSCCSSSSSSSSSSSSCSCCSCSSCSCSCSSCCSCSSCCCCSSSSSSSSSSSSSCCSSCSSCCSSCCCSCSSCCCCCSCCSSSSCCCCSCCSCSSCCSCSSSCCSSCCSCSCSSSCSCSSSSSCCSCSCCCCSCSCCSCCSSSSCCCSCSSSCCSCSSSCCSCCSCSSCSCCSCSSSCCCSSSCCCSSSSCSSSSSSCCCCCSSSSSCSCCSSSSSCCSCCCSCSSSCCSCCSSSSSCSCSCCCCCCCCSSCSSCCSSSCSCSSSSSCCSSSCCCCCSCCCSSCSSSSCSSCCCSCCCCCSSCCCCCSSSCSSCSCCSCCSCCCSSSCCCCSCSCSCCCSCSSSSSSSSSSCSCCCSCSCCSSCCSCSSCSSCCSCCSSSSCSSSCCCSSSSSSCSSCSSCCSSSSCCCSCSCSCSSSCCCCCCSSCSCSSCSCSCSSSSCSSCCSSCSSSCSSSSCSCSCCSSCCCCCSCCSCCCSSCSCSSCCCSCCSCSCCCCCSCCCSCSCCCSCCCSSCSCCCSCCCSSCSSCCCCSSSSSCCSSSCCCSCSCCCSSCSSSCSSCSCSSSCSCSCSCSSSSSCSCCCSSCCSSSCSSCCCSCCSSCSCSSSSCSCSCCCSCCSCCSCCCCCSCSSSCCCCCSCCCCSSSSCSSCCSCSSSSSCSCCSSCSSCCSCCSSCSSSSSSCSSSCCCSSSSSCSSSCSSCSCCCSSSSCCSSSSSSSSSSCSCCCCCCSSSSSSSCCSCSCSSCSSSCCCCSCCCSSCSCCCSCSCCSSCCSCCSCSCSCSSCCCSSSCCCCSSSCCSSCSSSCSSSCSCCSCCSSSCSCSCCCSSSSCSSCSSCSSCCSSCSCSCSCCCCSSCSCSSCCCCSSSCCCCCSCSCSSCCCCCSCSCSCSCCSCCCCCSSCSSSSCCSCCSSSCSSSSSSCCCCSCCCCSCCSCCCSCSCSSCSSCCSCCSSCSCSSSSSCCCSSSSSSSSCSCCSSCCCCCCCCSSSSCSSCCSCSCCCCSSCSSSSSCCSCSCCSCCCSSSCCSSCSCSCCSSCCCCSSCSSSCSCSSCSCCCSCSSSSSSCSCSSSSSCCSCSSSCCSSSSSCSSSCCSCSCSSCSSSCCCCCSSSCCSSSCCSSSSCSCCSCSCSCCCCSCSCSSCSSCSSSSSCSCSSSSSSSCSCSCSCSCCCSSSCCSCSSCSSSCCSCCCSSSSCSCSSSCCCCCSSSCSSCSCCCSSSSSSSCSCCCSCSSSSCCCSSSCCSCCSCCCSSCSSCCSCCSSCCSSCCCCSSCSCSCCCCCSCSSSCSSCCSCCCCSCCSCCCCSCSSSCSSSCCSSSSCSCCSCSCSSCSSCCCCSCCCSCCCSCSSCCSCSSCCCSCCSSCSCSSCCSSCCCSSCCCCCSSSCCSCCSCSCCSCSCSSSCCCSSCCCSCSSCCSCSSCCSCCCCSSCCSSCCCCSCSSCSCSCCCCSSSSSSCSSCCSCSCSSSCSCSCCCCSSCCCSCSCCCCSCSCSCSSCCCSCCCSCCCCCSSCSSCSCCSCCSSCSSCSCSCCSSSSSSCSCCCSSSSSCCCSCSCSSCSCSCCCSSSCCSSSSCCSSCCCCSCCSCSCSSCSCSSCSSSSCSSCCSSSSCSSCCSCCSSSSCCCSSSCSSSCCCSCSCCSSSCCSSSSCSSCSCCSSCSCSCCCSSCCSCSCCSSCCSCCCSCSSSCSCSCSSCSSCSSSSCCCCSSCCSSSCSSCSSCSSCCCCSSCCCCSCSCSSCSCCSCCSCSCCCCSCSCCSSSSCCCSSCSSSCCCCCCSSSSCSSCCCCCCCSSSCCCSCCCCCSSSSCCCSCCCSCCCSSCCSCSSSSSCCSCSSSSSCCCCCCSSCSSSSSCCCSSCSCCSCSSSCSSCSSSCCCCSCSCSSSSSCCSSSSCSSCCSCSSCSSCCSSCSCSSSSSSSSSCCCCCCSSCCSSCCSSSSSCSSCCCCCCSCSSCSSCSCCSSCCSCCSSCCCSSSSSCSCSCSSCSSSCSCCSCCCSSCSCCCCCCCSSCSCSCSCSSSCCSCCSCCCCCCCCSCSSCCCCSSSCCCSSSSSSCCCCSSSSCSCSCCCSCSSCSSCSSSSCSCSSSCSCCCSCCCSCSSCSSSCCCSCSSCSCSSSCCCSSSCSCSSCCSCCCCSSCSSSSCSSSSCSCCSSCCCCCCCSCCSCSCCSSSSSSCSSSCSSCSSSCCSCCCSCCCSCCSCCCCSCCCCCSCCSCCSCCSSSSSCCSCSCCCSCSSSSSCCCCCCCSCCSCCSSSSCSCSCSSCCCCSSSSSSSCSCCCCSSSSCCSSCSCSCSCSSSSCCSSSCSCCCSCCCSSSCSCSSSCSCCSCCCSCSSSCSCCSSSSSCSSSCCSSSSSSCCSSSCCCSCCCCSSSCCSSCCSSCCCSCSSCSCCSSSCSSSSSSCCSCCSSSSSCCCCCSCCSCSSSSSCSSSSCCCCCCCSSSSSSCCSCCCSCCCCCSSCCCSCSCCSCSCSCSSSSCCSSCCSCCSCSCSCCCCSSCCSCCCCCCCSSSCCSSSSCCSCSSCCCSCCCCCSCCSCCSSCCCCSSSCCCCSCCCCCSSSCCCCSSSSSSSSCCSSSSCSCCCSCSSCCSSSSCSCSCSCSCSCCCCCSSCSSCCCSCCSSCCSSCCCSSCSSSCCSCSSCSSSCSSSSCCCCSCSSCSSCCCSCCCCSSSCCCSCSSSSSCCCCCSCCSSSSCSCCCCCSSSCSCCSSSSSSSCCSSSSCCCSCSCSCSCSSCSSSCCCSSSCSSSCSCCCSCSSSCSSSCCSSSCCCCCSSCSSSCCSCSCCCCSCSCCSCCSSCCCCSSCSCSCCSSSSSCSCCCCSCSCSSCSCCSSSCSCCSCCSSCSCCCCCCSCCSSSCCSCCCCCSCSCCCCSCCCSSSCCCCSSSSSSCSCCSCCCCCSCSCSCSCCSCCSSCSSSCCCSCCSCCSCSSCSSCCSCCCCCCSCSSCCSCSSCSCCCCCCSSCSCCSSSSCCSSSCSSSSCSSCCSSSCSSSSSCCSCSSCSSSSCCSCSSCSCCSSSCSCCCSSCSSSCCSSSCSCSSSSCCCCCSCSSSSCCSSCSSCSCCCCCCSCCCSCSSSSCSCSCSCCSSSSCSSCSSSCCCCSCCSSSSCCSSCSSCSSSCCCCSSSSCCCSSCCCCCCSSSCCCCSCSCSCSCCCSCCCSCCSSSSSCCSCSSCCSSCSCCCSCCCCCSCSCCCSSSCSCSCSCCSSCCCSSSCSCSSSSCCCSSSCCSSSSCSSSSSCSSCCSSSCSCCSCCCSCCCSSSCSCSSCCCSSSSSSSCSCSSSSSSSCSCCSSCCSCCSSCCCCSCSCSSCSCCCSCCSCCCCSSCCSSSCSCCSSCSSSCCSSSSCSSSCSCSSCSCCCSSCSCCCSCCCCCCSSCCSCCSCSCSSCSSSSCCSSSCSSSCSCSCCCSCCCCCSCCCCSCSCCCSCSCCCSCSSCSCSSSCSCCCSSSSSSSCCSCSCCCCCSCCCCSSSCSSCCCSSCSSCSSCSCSSSSSSCSCCCSSSSCCCCSCCSCCSCSSCCSCSCSSSCSCSCSCCSCCSCSSSSSSSCCSCSCSSCSCSCCSSSCCCCSSSSSCSCSSSCSSCCCSSCCSCSCSSSSCSSCSCSSCCCSCSSSSSSCCCCSSSSCSCSSCCSCSCCSCSSSSCCSSCCCCSSSCSCCCCCSCSCCCSCCCSCCSSCSSCSSSCSSCSSCCCCCSSSSCSSSSCSCCCCSSCSCSSSCSCCSCCSSCSCCSCCSCSSSCCCSCCCCSSSCCCCSCSSSSCSSCCCCSSCCSCSSCSSSSCSSSCSSSCSSCCCSSSCSSSSCSSCSCSCCCCCCCSCSSSCCSCCCSCSSCSSCCSCSCCCSSCSCSCSCSCSSSCSCSCSSSCSSSCSCCCCSCCSCCSCSCCCCSCCCSCSCSSSCCCCSCCSSSCCSSCSSCSCSSSSCSSSSCSCCSSSCCSCSSSSSSSSSSSCSSCSCSCCCSSSSSSCCCCCCCSCSSCSCCSCCCCCCSSCCSSSCCCCSSSCSSSCSSSCCCSSCSSSCSCCCSCSCSSSSSCCSSCCCCCCCSCCCCCSCSCSCCCCSSCCSCCSSCCCCSSSCCCSCSSSSCSCSSCCSSCCSSSCSSCCCSSSCSCSCCCSCCCCSCSSCSSSSCSCSCSCSCCSSCSSCSCSSSSCCCCSCCCSCSSCCSSCCCCSSSCSSCCSCCSSCCCCCCCSSCCCSSCCSSCCSCSCSSCCCSCCSSSSSCCSSSCSCCSCCCSSSSSCCSSCSCSCSCCCSCSSSSCSSSSCSCSSSSCCSSCSCSSSCCSCCSCSSSCCCCSSCSCSSSSSCCSSSCSSCSSSCCSSSCSCSSSCSCSSCSSCSSCSSCCCCSSSCSCSSSCSCCCSSCSCSSCSSSSSCSSCSSCSCCSSCCSCCCSSCSSSSSSSCCCCCSCCSCSCCSCCCCSCSCSCCSCSCSSCSCSCSSSCSCSSSSCCCSCCCSCCSSCCSSSCSCSSSCCCCSSCSCSSSSSSSCSCCSCSCCCCSSSCCSCSCCSSCSCSSSSSCCCSSSSCSSCCCSSSSCSCCSSSSCSCSCSSCCSCSSCCSCSSCCSSCCCCCSCSSSCSCCSCCSSSSSSCSCCCSSCSCSCSSSCSSSSCCSSSSSCCCCSSCSCCSSCCSCSSSSSCCSCCSCSCCSSCSCSCSSSSSCSSSSCSCCSSCSCCSCCCCCSCSSSCCSCSSSCSCSSSCCSCSCCCSCCSSSSSSCSCCSCSSCCCCCSSSCSCCCSSSSSCSCSCSCCSCSCCCSCCCSSCSSSCCSCCCCSSSSSCSCCCSSCSCCSCCSCSSCCSSSCSCSSSSSSCSCSSSCSCCCSCCSSCSCSSCSCSCSCCSSSCSCCCSSSCSSCCCCCCSCSSSSCCCSCCSSSCSCCCSSCSSCSSSCSCCSSSCCCCSCCSCCCCSSSCSCCSSSCCCCSSCCCCSCCCSSSSSSSCSCSCSCSCCCSCSSCCCSSSSSSSSCSSCCSSSSCSCCCSCSSSSCSCSSCCSSSSCSCCSCCSCCSCSCCCCCSCCSSSSCCSCSCCSSSSCCCCCCSCCSSCCSCCSSCSSCSSCCCSSCCCCSSCSSSCSSCSSSCSCCCCCSCSCSSSSSSCSCSSSSCSCCSCCSCSCCCCSCSCSSSCCCCCSCCSCSCSCSCCCSSCSSCCCCCSSSCSCCCSSSCCSCSSCCCCSSSCCCSSCCSSSCCCCCSSSSSCSCSCCSSSSSSCSCCSSCSSCCCSCCCCSCSSSSSCCCSCSCCCSSCCCCSSCSSSSSSSCSCCSCSSSCCSSCCCSSSCCSSCSCSCCSSCSSSCSCCSCCSSSSCSSSSSCSSSCCSCSCCCSSSSSSSCSSCCCCSCCSSCCCSSCSCCCSCCCCCCCCSSCCCCSCSSCCCCCSCCCSSCSCCCSSSCSSCCCCCSCCCSCSSSCCCCSCSCCCCCCCSSSCSCCCSSSSCSCSCCSCCCCCCCCCSSCSSCCSSCSCSSCCCCCCSSSCCCCSSCCCCSSCSCCSSSCCSSCCSSCSSCCSSCCSSSSCSCCSCSSCCSCCCSCCCCCCCSCSSSCSCCCSSCSSCSSSSCCCCCCSSSCCSSCSSSSCCCCCSCSSSSCSCSSSSSSSSCCCCSSSSCCCSSSSCCCCSCCCSSSSSCCCCCSCSCCSCCCCSSCCCSCSCCSCSSSSCSCSSCSCCSSCSSSSSCSSCCSCSSSSCSCCSCCSCSSCSSCSSCSSSCSSCSCCSSSCCSCCSSSCCSSCSCSSSSCCCSCSCCSCCSSSSSCCSCCSSSSSSSCSCCCSSSSSCSCSCCCSCSCCSSCSCSCCSSSCCCCSSCCCCSSCSSSCSCSCSSCCSCSCCCSCCCSSCSCSSCCCSSCSCSCSCSSSCSSCCCCSCSSCCSSSCCSCSSCSCCSCCSSSSCCSCCSCCSSCSCCCSSSCCCSSSSCCSCCCCCCCCSCSSSSCSSSSSCCSSSCCCCCSSSSSSCCSCSSCCSCCCSSSSCCCCCSSSCCCSSSSSSCSCSCCSCCCCCCSCCCSCSCCCSSCCSSCSSCSCCCCCSSSCCCSSCSSCSSCSSCCSCCSCSCSCSCSSSCCCCSCSCCCCCCCSSCSCSSSSSCCCSSCSSCCSSCSSCCCSCCCSCSSCSCSCSSSCCCSCSSCSCSSSSSSCSCSCCCSSCSCCSSSSCSSSCSSCCCSSCCSSSCCCCCSCSCSCSSCCCCCSCCSCSCCSSSSSSSCCCSSSCCCCSCSSSSCSSCCCSCCCCSSSCSCSCCSCCCCSCSSCSSCSCCSCSCSSCSCCCSCCCCCSSSSSCCCSCSCCSSCSSSCSSSSSCSCCCSCSSSCSCCCCSSCCSCSSCCSCSSSCSCCCCSSSCCCCSSCCSCCSCSSSSCCSCCCCSSSCSSCCCSSCSCSCSCSCSSCCCSCCCCCCSSCCCSSCSSCCCSSCSSCCCCCCCSCCSCSSCSSSSSSCCCCSCCSCCCSSCSCSSSSCCCCCSCSCSSSCCCCSSCSSSSCCSSSCSSSSSSCSCCSCSCSCCCSCCSCSCSSCCSCSSSCCCCCCSSSCSCSCSCSSSCSCCCSSSSSCCSSSCCCSSSSSSCCSSSCSSSSCCCCSSSSSCCSCCCSCCSCSCSCSCSCSCSCCCSCCCCSCSSCSCSSSCSCSSCCSSSCSSSCCSCSSCSCSCCCCSCCCSSSCSSSCSCSSSCSCCCCCSCSCCCSSCSSCCCSSCSCCSCCCCSCSCSCSCCSCCSCCCCCSSSCCCSSCSSSSCSCCCCCCCSSSCCCSCCSCSCCSCCSSCSSCCCSSSCSSSCSSSCCSSCSCCSSCSCSSSSSSSSCSCCSSCSCSSSSCCCSCSSSSCSSCCSCSSCCCSCCSSSSCCCSSSSSSSCSSCCSCSCCCSCCSSCSSSSCSSCSCCCCSSSCSSCCSCCCCCSCCCSSSCCCCSCCCSCSSSSCCSCCSCSSCSCSSCSSSCCCCSCSSSCCCCSSSCCCCSSCSCCCSSCCCSCSCCCSSCSSSCSCSCCCSCCSCCSCSCCSSSSCCCCSSSCCSCSSSCCCCSSSSSSCCCCCCSCSSSCSSSCCCSSSSSSCSSSCCCSCSSCCCSSSSSSSCSSSSCCCCCCSSCCCSSCCSCCCSSSCSCCSSCSSCSSCSCSSCCSSCSCCSSCCSCSCSCSSCCCSCCCSSCSCSSSCSSSSSCSSCSCCCSCSCSSCSCSCCCSSCSCSCCSCCSCCCSSSCCSCCSCCSSCCCCCCSSSCCSSSSSSCCCCCSCSSCSSCCCCSCSSCCSSCSCSCSSSCCCSSSCCSSSCSCSSCSCCSCCSCSCCSCCSSSCCSSSSCSCCSCCCCSCSSSCSCSSCCSCCSSCSCCCCSSCCSSSCSCCSCCCCSCCSSCSSSSSCSCSCCCCSSSCSCSSCSSCSSSCCSCSSSCSSSCCCCSSCSCCSSSCCSSSSCCCCCSCSSSSCSSSCCCSSSCSSSCCCCCSSSSSSCCSCSSSCCSSCCSSSCCCCCCCSCSSSCSSCSSCSCCSCCSSSSSSSSSSSCSCCSCCSSCSSCSCCCCCCCCSCSCCCCSSCCSSSSSCSSSCSSSCSCSSCSCSCSCSSSSCSCSSSSCSSCCCSCCSCCSCSSCCSCCCCSCSSSCSCSSSCCSSCCCCSSCCCSCCCSCSCCSCSCSSSSCSSCCCSCCSSCSSSSSCSCCSSSCCSSCCCSCSCCSSCSCCSCSSCSCSSCSCSCCCCCSCCCCCCCCCSSSSSSSSSSCCSCCSCCSCCSSCSCCSSCCCCCCSSCSSCCSSCSSCSCSCCCCCCCSCSCSSSSSCCSCSSCSCSSSCSSCSCSCCSSSCSSSSCSSSCSCSCCCSCCSCCCSCSSCSSSCSSSSCCCCSSSCSCSSCSSCSCSCCSSCSCCCCCSCSCSSSCSCCCCSCCSSSSCSCSSSSSSCCSCCCCCSCSCCSSCCCSCCSSCSCSSSSSSSSSCSSSSCSCCSCSSCCCCSSSCSCCSCSCCSSCCCSSCSCCSCSCSSSSCCCCCSCSCCCCCSSSSCSSCCCCSSSSCCCSCCSCSCSSCCCSSSSCSCCSSSCCCSSSSSSSCSSCCCCSSCSCSCCSCSCCSCCCCSSSCCSSCSSCCCSSSSCSSCCCCSCCSSSSSCCSCSCSCCSSCCSCCSCCCSCCSSCCCCSSSCSSCCCSSCCSCCCSSCCCCSSCSSSSSSCSCSSCCSCCSCSCCCSCCCCSCSSCCSSSCSCSCSCSCSSSCSSCSSCSSCSSCSCSCSSSCSSSCSSCCCSCSCSCSCCSSSCCSCSCCSSSSCCSCSSSCSCSCSSSCCCSCCCCCSSCCCSCSSCSSCCCSSCCSCSCCCCCSSCCCCCSSCSCSCCCCCSCSCCSCSSCCCCCSCCSCCCSCCCSSSSSCCCSCSCSCSCCSSCSCSCCCCSSSCSSCSSSCCCCSSCCSCSSCCCSSSCSCSSCCSCSSCCCSSCCCSCCSSCCSSSCCCCCSSCSCSSCSSSCCSCCSSSSSSSSSSSSCCSSCSSCSSSSSSCCSCCSSSCCCCCSSSCCSSSSSCSSSSSCSCSSSCCCSCCSCSCCCCCCCCCSCCCSCSSSCCSCCSSCCCCSCCSCCCCSSCSSSSCSSCSCSCCSSCCSSCSCSCCSSSCSCSCSSCSCCCCSSCCCSSSSCSSCCCSSCCSSCSCSSCCSSSSCCSCCSSCSSSCSSCCCSCSCSSCSSSCSSCSSCSSCSCCSSSSCCSSSCCCCSCCCSSSCSSCSSSCCSSSCSCSSSCCSCSCCCCCCSSCCSSSCSSSCCCCCCCSSSCSSCCCSSSSSSSSCSCCSSCCSCSSSSSCCCCCSCSSCCSSSCSCCCCCSCSCCCSCSCSSCSSSCSSCSCSCSCCCSCSCCSSCCCSCSCSSSSSSCCCSSCSCSSSCCSCCSSSCCSSSSCCCSCCCSCSSSCSSCSSSSSCSSSSCSSCCSSSCCSCSSCSCSCSSCSCCSSCSCSSCSCSCCSCCCCCSSSCSSCCSCSSCCSCCCCSSCCCCSSSCCSCCSCSCSCCCCCSSCCCCSSCSSSSSCCSSCCCSCSCCSCCCCSSSCSSSSCCSCSSCCSCCCCSCCSSCCCSSSCCCCCCCCCCCSSSCSSSCCSSCCSCSCCSCCCCSCCSSCCCCCCSCSCCCCCSCCSSCSCCSCSCSSCCSSCCSCCSSCSSSSCSCSCCSCCCCCCSSSSSSCCSSCSSCCSCCSSSSCCSSSSCCCSSCCSSSCCSCSSCSCSSSSSSCCCCCCCSSSSSSCSSSSCSCCCSSSCCCSCCCCCCCSCSSCCCSCSSSSSCSSCCCSSSSCCCSCCCSSSCCSCCSCSSSCSCSSSCCSSSSSSSCSCSSCCCSCSSSCCCCCCCSSSCCCCCCSSCSSCCSSCCSSCCSSSCSCCSSSCSCCSCSCCSCSCCCCCCCSCCCSCSCSSSSSCSCSCSCSCSSCCSSCCCSCSSCSCSSSCCSSCSSCSSCSCSSSCSCCSCCSSSCCCSSCSSSSSCCCCCCSCCCCSCCSCSSSSCCCCSSSCSCCSCCCSSCSSSSSSSSSSSCSSSCSSSSSCSCSSCCSSSCCCSSCSCSCCSSSCCSSCCSCCSCSSSCCCSSSCCSCSSSSCCSCSCCCSCCCSSCCCSSCCSCSSCCCCCSCSSCSSCCSCCCCSSCCCSCCSSCSCCCCCCSSSSCCCCCSSSCSSCSSSSCSCSCCCCCSSCSSCSSSCSSCCSCCSSCSCSCSSCCCSSSSSCSCSCSCSCSCCSSCSCSSCSSCCCCSCCCSCCSSCCSCCCCCCCSCCCCCCCCSCCCSCSCCSCCSSSCCCSCSSSSCCCCCSSCCSSCCCCSSCSCCSCSCCCSCSCSSCCSCCCSSCCCCSSCCCSSCSCSSCCSSCSCSSSCSCCCSSCCCSCCSCSCCSSCSCCSSCCCCCSSSCSSCSCCCCSCSCCSSSCCCCSCCSSCCSSCSCSCSCCCSSSCSCCCSCCSCSSCCCCCCSCSSCSCSCCCCCCCCSSSCSSSSCCSCSSSCCSSSCSSSSCSCSCCSCSSSSSCSCCSCCSCCSCSCSCCCSCCCCSSCSCCSSSSSSCSSSCSCCSCSSCSSCSCSSCSCSCCSCSSCCCSSCCCSSSSCCCCCCCSCSSSSCSSSCSSCSSCCSSSCCCCSCCSCCCCSCCSSSCSSSSCCSCSSSCCCSSSCSCCSCCCSSCSSCCSSCCCCCSSSSSSCCSSCCCCSCCCSSSSSSSSSCCSCSCCSSSSSCSSCCSSSCCSSCSCCSSSSSSSSCSSSSSCSSCSSSSCSCSSCCSCSCCCSSSSCSSSCCCSSCCCSCSCCSCCCSSSCSSCSCSSCCSCCSCSCCCSSCCSCCSCCSSSCSSSSSSSCSSCCSCCCCSCCCSSCSSSSSCCSSCSSCSCCCSSSSSCCCSCSSCSCCCSCSCSCSSSSCCCCSSCCCSCCCSCCSSCCSCSCSCSCSCSCSCSCCCSCSCCSSSCSSCCCCCCCCSCCCSCCSCCCCCSCCCSSSSCSCCCCSSSSCCCCSCCSSSSCSSSSSSSCSCSCSSCCSSSSSCSSSSSSSCSCCCSSCCCCCCSCSSCCSSCCSSCCCCCSCSSCCCCCCCCCCSSSCSCCCCCSCCSCSSCCSSCCCCSCCSSCSCCCSSSSCSCSCCCSSCSSCCSSCCCSCCSCSSSSSCCCSCCSSSCSCCSSSCCSCSSCCCSCSSSSSSCSCCCCCSSSCSSCCCCSCCSSCCSCCCCCSSCCSSCCSCSSCCCCSSCSCSSCCSSCSSCSCCSCSCSCCSCCSSSSSCSCCSCCCCSSCSSSCSSCCSSCCSCCSCCCSSSSSSCCSSCSCCSCCSCCCCSCSCSSCCCSCCSCSSSCSSSSCCSCSCCCCSSSCSSCSCSSCCCSSCCSSSCSSCCSSCSSSCSSCSSSCSSCCSSSSCSSCCCCSCCCCSCCCCSCCSSCSCCSCSCCSSCCSCCSSSCCSCCCSSCCCCSCSCSSSSCCSSSCSCCSCSCCSCSSCSSSSCCCSCSCSSCSCSSCSSCSCCSCCSSSCCCSCCCSCCSSSCSCCSCSSSSCCCSSCCCCCCSSSCCSCSSSSCCCCCCSSCCCSCSSSCSCCSSCCCCCSCCCSCCCCSCCCCCCCCCCCSCCSSSCSSSSCCCSSSCCSCCSCSCCSCCSSSCCSSSCSSSCCSCSSCCSSCSCCCSSCSCSSSSCCCCSSCSCSCSSCCCSCCSSSCSCSSCCCCSCSCCSCSCCSSCSSCSSSSSCCCSSCSSCCSSSCSSCCCSSCCSSCSSSCSSSCCSCSSSSCSSCSCCSCSCCSCCSSCSCSSSCCCSSCCCCCSCCSSSSSSSCSCCSSSCSSSCSSSCSCSCSSSSCSSCSCCCCCCSSSCCSSCSCCSSSSCSCSSCSSCSSCSCSSCSSCSCCSSCCCCSCSSSCCSSCCSSCCCCSSCSCSSCSSCSCSCCSSSCSCCCCSCSCCSSCSCSSCCSCSSCCCCCCCSCSCCCSSSCSSSSCSSCCCSCCSCSSSSCSSCCCSSSSSSSCCSCSCCCCCCSSSCSCSSSCCSSSCCCCCSSSSSSCCCCSSSCCCSSSSCCCSSCSCSCSCCCSCCSSCCSCSSCSSCSSCCSCCSSCSCCSCSCSSSCSCSSCCCCCCCSSCCSSSSCCCSCCSCSSCCSCCCSSSSCCSCSSCSSCSSSSCSCSSSCCCSCSSSCCCSSCCSCCSCSSSCCSSCSCSCSCSSCSCCCCSCSCCSCCCCSSCCSCSSCSCSCSCSSSCCCCSSSCCSCCCSSSCCSCSCCSSCCSCSCCSCSSCSSCCCSSCCSSCCSCCCCCSSCSSSSSSCSCSCCCCCSCSCSSCSCCSCCCSSCSSCSCCCCSCCCSSSCCSCCSSCSSSCCSCSSCSCSCCSCSCCCSSCSCCCSSSSCSSSCCCCSSCSCSCSSSSSSSSCSCCSCSCSSSSSSSCSCCCCSCSSCCSSSSCCSSCCSCCSCSCSCSCSSSSCCCCSCSSSCCSCSSSSCCCSCSCCSCSSSSSCSCCCSSSSSCCSCCSSCSCCSCSSSCCSSCCCCCCSSSCCSCSCCSSSCSCCSCSSSCSSSCSCCSCSCSSCCCSSSCCSSCSSCCSSCCCCCSSSCCCSCSSCCCSCSSSSSCSCSCCSSCSCSSSSSCCSCSSSCCCSSSCSSCCCSCSCSSSCCCSCCSSSCSSCCCCSCSSSCSCSCCCSCCCSSSSCCCSCCSCSSSCCCCCSSCSCCCSCCCSCSSSSCCSCCCSCSSSSCCSSSCSCCSCCSCCSSCSSCCCCSSCCCCSCCCSCCCCSCSCSSSSCSCSSCSSCSCSSCSCSSCSSSSCCCCCSSCSSSCCSCCSCSSCSCSCSSSSCCCSCCCCSSSSSSCCSSSSCCSSCSCCSCCCSSSSCCSSCCSCCCCSCCSSCSSSSSCCCCCCSCCCSSSSCSCSSCCCCSSSSSCSCCCSCSSSCCSCCCSSCCCCSCCCCSCSCSCSCSCCSSSCCCCSCSSCCSSSSCSCCSSSCSSSSSCCCCSCCSSCCSSSSSCCSSSCCSCSSCCSSSCSCCSCCSCCCSCCSCCSCSCCSCSCSSSCSCSSCCSSCSCSSCSSSCSCCCSCSCSSCCSSSCSCSCCCSCSCCSCCSCSCCSCSCCSSSSCSSSSCCSCSSCSSCSCCCCSCSCCCCCCSSCSCSSSSCCCSCSCSSCSCCCCSSSCCSSCCSSCCCSSSCCCSSCCSCSSCCCCCCCCSSSSCCSSCCSCSCCSCCCCSSCCSCSSSSSCCSCCCCCCCCSCCSSCSCCSSSSCSCCSSSCSSCSCSCSSSCSCSCSSSCSCSCSCCSSCCSCCSSCSSCSSSSCSCCSSSSSSSCSSSCCCSSSSCCCSSCSSCCSCCCSSCCCSSSCSCSCCCCCSSCCCSSSCCSCCSCSCCSSSSSCCCCCCCSCSCSSSCSCSCCCCCSSSSCCSCSSCCCSSCSCCSCCSSCCSCSSSCCCSCSCCSSSSSSSCCCSSSSSSCSCCSSCSSCSCSCSCCCCCCSSCCCSSCCSCCSSSCCSCCSCSCSCCSCSSCSSCCSSSSSSCSSSCCCCCCSCCCSSSSCCCCCSSSSCSCCCCSSSSSCSCCSSCCCSCSCCSSCCCCSSSCCSCSSCSCSCCCSCSCSCCSSCCSCSSSSCCCSCSSCSCSSCCCCSSCCSCSSSCSCCSSSCCSCSSCCCSCSSCCCCCCSCCCSCSCCSSCSSSCSCCSCCCCCSCCCCCSSSCSSCSCCSCSSSSCCSCCCCCSCSSCSSSCCCSSCCCCCCCCCCSCSCSCCSCSCCSCSCSCCSCCCCCSSSCSSSCSCSSSSCSSCSCSSSCCCSCSSSCSCCSSSCSCSSSCSCSSSCSSCSSSCCCCSSCCSCCCSSCSCSSCCCCCSCSSCSSSCCSCCSCSSCCSSCSCSSSCSSCSSSCSCCSSSCCCSSSSCSSCCCCCSSCCSCSCSSSCSCCSSCSSCCSCCSCSSCSCSSCSSCCCCCSCSSSSCSSSSCCCSCSCCCSCCSCSCSSCCSCCSCSCCCCSCCSCSSSSSCCSSSCCSCSCCSSCSSSSSCCCSSCCSSCSCCCCSCCCSCSCCCSCCCSCSSSSSSSSSSSSCSSSSCSCCCCCCCCCSCSCSSSCSCSSSCCCSCCSSCSCCCSSCSCSSCSCCSCSSCSCCSCSSSCSCSSCCSSCSSCCCCCCCSCSSSSCCSCSCSSSSCSCSCSCCSSCSSSCCSCSSSCCCSCCCSSCCCCSSSSSCSSSSSCSSSSCCCCSCCSSCSCCCSCCCSSCSSCSCSCCCCCSSCCCSSSSCSSCSSSSCCCCSSCCCSCSCCCSSSSSCCSCCCCSCSSSSSCCCCSCCCSCSCCSCSCCCSSCSSCCCSCCSSCCSCCSSSCSSSSCSSCCSCCCSSCSCCSSSCSSCSSSSCCSCSCCSSSCCSSCCCSCCSSCCSCCSSCSCSSCCCCSCCCCSCSCCCSSCSCCCSSSSCCSCCCCSSCCSSCCSSCCCSSCCSCCCCCSCCSSSSSCSSSSCCSSCCCSSSCSCSCSCSCCCSSSCCCCCCSSCSSSSCSSCCSSSSCCCSCCSCCSCSSCSCCCSSSCCCSCCSSSSSSSCCSCSSSCCSSSCCCCCCSCCCCCSCCSSCSSSSSCCCCCCSCCCSSCSCSCSCCSCSSSSSCSSSSCCCCSCSSCCSSSCCCSSSCCCSSSCSSSSSSCCCCSCSCSSSSCCCSSSCCCSCSSCSCCCSCSSSSSCCCSSCSSSCCCSCSSSCSSCCCSCSCCCSSSSCSCCCCSSCCCSCCSCSSSCSSCCCSCCCSSCSCSCCSCCSCCSCCCCSSCSCCCCCSCSSSSCSCCCSSCSSCCSCCSCSCSCSSCSCCSSCSSCCCCSCSSSSCCSSCSCCSCCSCSCSCSSSSCCSSSSCSCSCSCCSSCSSCCCSSCCCCSCCCSCCSCSSSCCSCSCCCCCSSCSCCCSCSCCCSSSSSSCCSSSSCCCCCSCSSCCSSSSSSCCSSSSSSCCCCCSCCSCSCSCCSCSSCSCCCSCSSSSCCSCCCCSSSSSSSSSCCCSCCCSSSCSSSSSCCCCCCCSCCSCSSCCCCSCSSSCCCCSCCCCSSSSCCCSSCCSCSCCCSCSCCSCSCSCCSSCCSSSSCCCSSSCSSCSCCSCCSCCCCCSCCSSCCSCSCCSCSSCSCCSSSCSSCSSSCCCCCCSCCCCSCSSCSCCCCCSSCCSSSCCCCSSSCCCCSCCCCSSCCSCSCCCSSCSSSSSSCCCSCCCSSSSCCSCSCCSSCCSCCSCCSSSCSSSCSCCSCSCSCCCSSSSSCSSSCSCSCCSCCCCSSSCCSSCSSSSSCSCCSCCCCCCSCSSCSSCSSSSCCCSCSCCCCCSSSCCSCSSSSCCCCCCCCSSCCSCCSSSSCSCCSCCSCCCCSCSCCSSSCSSSSCCSCCCSCSCCCCCSCSSCSCCCCCSCSCSCCSCCCCSSCSSSSCCCCSSSCSSCCSSCSCCSSCSSSSCCCSSCCCCCCCSCSCSCSSCCSSSSSSCSCSSSCCSSSCCSSCSSCSSCSCCCCSSCCSCSCCCSSSCCCCCCCSCSSCCSSSCCSCSCSCCCCCSCSCSSCCCSSCCCCSSCCCCSCCSCSSSCSCSSSSCSCCCCCSSCCSSCSCSCSCSSSCSSSSCCCCCCSCSSSSCSCSSSSCSCCSSCSSSSCCCCSSCCCCCSCSCSSSSSSSCSCCCSSSSCCCSSCCCCSCCCCCCSSSSSCCSSSSSCSSCSSSSCCCSSCSCCCSSSSCCCSCSCSSCSSCCCCSSSSSCCSSCCCSCCCCSSSCSCCSCCCCCCSCSSCCSSSSCSCCSCSCCCSSSSCSSSCSSCCSCSCSSSCSCSSSSSCSCCSCCCCCSCSSSCSCCCCSCCSCSCCCCSCSCSCCSCSCSCCSCSSCCSSSCSCCSSSCSSSCCSCSCCCCCCCSCSCSSSCSCCSCCSSSCSCSCCSCSCCSCSSCCSSCSSCSSCSSCCCCCCSCCCSSSSCCSSCCSSSSSSCCCSCSSSSSSCSCCSCSCCCCSSCSCCCSCSSSCCCSSCCCCCCSSSSSSCSCSSSSSCSSCCCCCCCSSCSSCSSSCCSCSSSSSSSSCSCSCSSSSCCSCCSSSCSSSSCSSSCCSSCSSSSSSSCCSCCSCCSSCCCCSSSSCSCCSCCSSCSSCCCCSSCCCCSCSCCCSSSCSCCSSCSSSSSSSSCCSSCCSCSSCCSCSSSSSCSSCCCCSCCCSSSSCSSSCSSSCCSSSSCCCCCCCCCSSCSSSSCSSSCCSCCCSCSCSSSCCSCCSSSCSSCSSSSCCSSSCCCSSCCCCCSSCCSSCCSSSSCSSSCCCSSCSCCCSCCCSCSSCCCCSSSSSCSCCSSCCSCCCCSCSSSCSSSSCSSSCSSSCCSCCSCSSSSCSSSSCSSSSSSCSCCSSSCCSSSSSSSSCSCCSSCSCSCSCSSSCSCSSSCCCSSSSCSSSSCSSSCCSCSSCCCSCSSCCSCCSSCSSCSCCSCSSSSSCSSCSSSSSSCSSCSSSCSCCCCSSSCCCCCSCSCSCSSCSCSCCSSCCSCCSSCCCSCCCSSSSCSSCSCSSSCSCSSCSSSSCCCSSCSSSSCSSCSSSCCCCCCCSSCCSSSSCSSSCCCSCCCSCCSSSSSSSCSSSSSSSCSSSSSSSCCCCCCCCSSCCSSCSSSCCSSCSCSCCSSSSSCSCCCSSCSCCCSSSSSSCCCCCSSCSCSCCSSSCCSCSCCSSSCCSCSSCSSCCSCSSCSCCCCSSCCCSCSCCCCSSCCCCSSCCSCCSSCSCSCSCCSSCCCCSCCCSCCSSSCSSSCSSCCSSSCSSSCCSCCSSCSCSCCSSCSCCCSSCSSSCSSCSSSSCCCSCSCSCCCCCCSSSSCCCSSSCCSSSCSSCCSSSCCSSCCCCCCCCCCCCSCCSSSSSCCCSSCCSCSSSSSCCCSCSCCSCSCSCSCCCCCCCSSCSSCSCCCSCSSSSCCSSCCSCSSCCSSCSSCSCSCCCSSCCSCCSCSSCCSCCSCCSSSCCSCCSSCCCSCSSSCSCCCCCCSCSCSSCCSCSSCSSSCSSCSSSCCCCCCCCCCSCSCSSSSSCCCSCSCCCSSSSSSCCSCSSCSSCCCCSSCSSSCCCCSSSSSSSSCCSCCCCSSSCCSSSCSCCSSSCSSCCSCSCSCCSCCSCCSSCSCSSCCSCSSCCCSSSCSCCCCSCSSSCSSSCCSSSSCSSSSSCSCSCSCSSSSCSCCSCCSSSCSCCCCCCCCCCSCCCSCCCSSCSSSCSSCSSSSSCCSCSCSCCCSCSSSCSCCSSSSCCCSCSSCCCSSSCCCSSSCSCCSSSSSCCCSSSSCCSSSSSSSCCCCCSCSSCSCSCSCCSSSSCCSCSCSSCCCSCCCSSSCCSCCSCSCCSCSSCCSCSCSSCCCSSSSCSCCSCSSSSSCSSSCCSSCCSCSSCCCCSSCCSSSSCSSSSSSSSSSSSSCSSSCSSCSSCCSSSCCCSSSSSSSSCSSSCSSCCCSCSCCSCSCCSCCSSCSCCSSSCCSCSCCCCCCSCSCCSCSCCCCCCCSSCCSCSCSCSCSSSSCCSCCSSSCCSSCSSSCCSSSSCCCCCCCSCCSCCCCSCSSSCCSSCCSCSSSCSSCSSCCSCCCCCSSSCCSCSSCSCCCCSCSCSSCSSCSCCSSSSSCSCSSCSSCCSCSSCSSSSSSCCCSSSCCCSSSSSSCCSSSCSCSCCSCSCCCCSCSCCCCCSCSSCCCCCCCCSCCCCSCSCCSCCSSSSCCSCSSSSSCSSCCSCCSSSCCSSSSCSSCSCCSCSSCCSCSSCCSCSCSSCSCSSCSCCCCCCSCCSCCCSCSCSCCCCSCSSSCSSSCSCSSCCCCCCCCCCSSCSSSCSCSSCSSCSCCSCCCSCCCSSCSCCSCSSCCSCCSCCCCCCSCSCCCSCSSSSSSCSCSCSSSCSCSCCSCCCSCCCSCSSSSSCSCCSSCCCSCCCCSCCCCCSSSSCCCSSSCCCCCCSSSSCSCCSCSCCSSCSSSCSSSSSSCCSSCCCCCCSCSSCCSSSSCCCSSSCSCSSSCSCCCSSCCSCSSCSCCSSSCCCSCSCCSCCSCSSCCCCCCCCCSSCSCSCSSSCSSCCCCSCCSSSCCCCCSCSCCSSCCSCCCSSCSCSCSCCSCSSCCCSSSSCCSCCSSSSSCCSCCCSCCSCCSCSSSSCSCSCSSSSSSSCSSCCCCSSSSSSSSCSSSSSCCCSSCSSCSCSSSSCSCCCCCCCCCSSSCCSSSSSSCCSSCSCCCSCSCCCCCSSSSCSSCSSCCCCSSSSCSSSCCSCCSCCCCSSSSCCSCCSSSSSCSSCCCSCCSSSCSCCCCSCCSSCCCCSCCCSSCSSSSSSCSSSSSCSSSSSCCCCCCCSSCCSCCSSSCSCSCCSSCSCSCSCCCCSSSSSSCCCSCCSSCSCCSCSCSSSCSSCCCSSSSCSSSSCSSSCCCSCSCSSSCSSCCCSSSSSSSCSSCCSSCCCCSCCCSSSSSCCCSCCSSCCCCCSCSSSSCCSSSCSCSCSSSCSSCCSCSCSSSSCCSSCSSSCCSSSCSCSSCSCSCCSSCSCCSCSCCCSCCSCCSCCSCCSCSSCSSSCSSSSCSSCSSSCCCSCCSCCCCSSSCSCSSCSSSCSCSSCCCCCCCSSSCSCSCSCSCSCSCCSCSCCCSSSSCSCSSCCCCSCCCSSCCSSSSCSSSCCCSCCSSSSCSCSSCCCSSSCSSSSSSCSCCCSSCSCCSSSCCCCCCSCCCCCCSCCCSSSCCSCCSCCCCSSCCCCSSSSSCSCCSSSSCSCCCSCCSCSSCCSSCCCSCCSSCCSCCCSSSSCSSSCCCCCSCCSSSCSSSSSSCSCSCSSSSSCSCCSSSSCCCSCSCCSCCSSSSCCCCSCCCCCSCSSSSCSCCCSSCCCSSCCSSSSCCCSCCCSCCSSCCCSSCSCSCCCSSSSSSCCSSSCSSSCSCSCSCSSSSCSSCSSSCCCSCSCCCSSCCSSSCSSCCCSSSCCSSCSSCSSSCSSCCSSSSSSCSSSCSSSCSSCSSSCCCCSSCSSCCSCSSSCSSCCCCCSSSCCSCSSSCSCCCSCSSSSCSCSCSSCSCCSCCSSCSSSCSSCSSSSCSCCSCCSSSCCSCSSCCCCCSSCSCCSCCSCSSSSCSCCCCSCSCCSSCSSSCCCSCSCCSCSCCCSCSSCSSCSSCSSSCCCCCSCSSCSCSSCSCCSCCSCCSSCCCCSSSSSSCCCCCSSCCSSSCCSSCSCSCSCSSCSSSSCCCSCSCSSCSCSCSSCCCCCCCSSSSSSCSSCSSSCCSCCSSCSCCSSCCSCCSSSCSCSCSCSCSCCCSCSSSSCSSCCSSCSCSSCCSCSCCSSCCCCSCSSSCSSSCCSSSSCSSCSCSCCSSCSSSCSCSCSCCCSSCSSCSSSSSCSCCCSCCSSCCSSSCCSSSCSSSCSSSCCCSCSCCCCCCCCCCSCCSSCCCSSCCSCSCSCSSCSSCSSSSSSSSCSSSCCCSCSSSCSSSCCCSCSCCSSSCCCSSSSCSCCCSSCSCCCSSCSSSCCSSSSCCCCCSSSCSCSSSCCCCSSSCSCSSSCSCSSCSCCSSSSSCSSSCCCCSCCSCSSCSCSSSSCCCCSSSCCCCCSSCCCCCCSCCCSCSSCSCCSSSSCCSSCCCSCSSSSSCCSSCSSCCCSSCSSCSSSCSSCCCSCSSSSSCCSSCCSSCCSSSSSSCCCSSSCSSSCCCSCSSSCSSSCCCSSCSCCCSCCSCSSSCSCSSSSCSCCCCSSSCCSSSSSCSCCSSCCCSCSSCSSSSCCCSCCSCCCSCCSCSCCSSCSSSCSCSSSCSSSCCCCSCCCCCSCSCSCCSCSCCSCSCCCSSCCCSCCSCCSCCSSSCSCSSCCSSCSCSCCSSCSCSSSSCCSCCSSCSSCCSSCSSSSCSCSSSSCCCCSSSSCCCCSCCCSCCCCCCCSSCCSCCSSCCCCCSSSCSSSCCSCSSSCCCSCSSCSSCCSSSSCSCCSSCCCCSSSSCSCCCSSSCCSCCCSSSSCCSCCCCSSSSSCCSCSSSSSSCSSSSCCCSCSCSSCCCCSCCSCSCSCCCSSCSSCSSCCSSCSCSSCCCSSCSSCCCSCSCCCCCSSCCCCSSSSCCSCCSSCCCCCSSCSCCCSCCCSSSCCCSSCCCCSCSSSSCCSSCSSSSSSSSSSSSSCCSCCSCSCSCSSCCCCSCCSSCSSCSSCCCCCSCCCSSCSCSSCCCSCCCCCSSSSCCCCCCCSSCCCSCSSSCSSCCCSSCCSCCCCSSSCSCCSCCSCSCSSSCSCSSCSCSCSSSSSCCSSSCSCCCCCCSCSSCCCSCSSSSSSCSSCCSSSCCCCCSSSSSSCCSCSSSSCSCSCCCSSSSCCCCSSSCSCCCCSCCSSSSCCCCCSCSCSCCSSCCSCCCSSSCSCCSSCCCSCCSSSSCSSSSSSSCSCSCSCCSCSCCCSSCSCSSSSSCCCCSSCSSCCSCCCSSCCSSCCSCSSSCCCCCSSSSSSSSSSCCCCSCCCSCCSCSCCCCSSSSCCSCSCSCCCCCSSCCSCCSCSCSCSSCCCSSCCSCCCCSSSCSCSCSCSCSSCSCSSCSCCSCSSSSSCSCCSSSSCCCSSCSCCSCSCSCSSSSCSSSCSCCCSCSSCSCSSSCSSCCSSSSCCSCSSCSCCCCSSCCCSSCSSSSCSCCSCCSCCCSCCCSSSSSCSSSCCSCSCSCSSSCSSCSCCSSSSSSSSSSCCSCSCSCSCCCCCSCCCSSCCSSSSSCCCCSCCCCCSSSCSCCSSSSCSCCSSCCSSCCSSCSCCSSCSCCSSSSCCSCSSSSSSCSCCCCCCSSSCSCCSSSSCSSSSCSCCSCCSCCCSCSCCSCCCSCSSSCCSCCCCSCSCCSSCSSCCCSCCSCSSCCSSCSCSSSCCSSSCCCSSSSCSCCSSSSCCSCSCCSCSCCSCCCSCSCCCCCCSCSCCSCSSSCSSSSSCCCCCCSCSSCSSCCCSCCCCCCCCCCSCCSSCSSCSSCSCCSCSCCCCCCCCSSCSCSSCCSCSCCSCSCCSSSCCCSCCSCSCSSCSSCCCSSCCSCSCCCCCSSSCCCCSCSCCCSCCSCCSSCCCCCSCCSCCSSCCCSCSCCSSSCCCCCCCSCSSCSSCSCSSCCSCCCCCSSCSSCSSCSSSSSSSCCCSCSCCCCCCCSSSCCCCSSCCCCCSSSCSSSCSCCCSSCCCSCSCCCSSSCSCCCCSCSCCSCSSSSSSCCSCCSCSCSCSSCSSSSCCSSSCCCCSSSSCSSCSCSSSSCCSSCSCSCCCSCCSSCCSCCSCSCCCCSCSSSSCCSCCSCCSCCSCCSSCCCSSCCSSSSSCCSSCCSCSCSSCCCCCCSCCCSSSSCSSCCCSSSSCCSSSSSSCCCCCCCCCSCSSSSSSCSCCCCSCSCSSSCCSCSSSCSSSCSCCSSSSCSSCSCCCSCCCSCCCSCSSSSCCCCCCCCCSSSSCSSCCSSCCSCCCSCCSCCCCSCSSSSCCSSSCSCCSSCSSCSCCCSCCSCCCSCSSSSCCCCSSCSSCSSCSCCSCCSCCCCCCCCCSCCCCCCCSCSSSCSCCSSSSSSCCSSCCCCCCSCSSCSCCSCCCCSSSSSSSSCCSCCSCCCCSCSCSSCSSSSCCCCSCSSSCSSCCSSCCSSCSCSSCCCCSCCCSSSCSSSSSSCSSCSCSSCSCSCSSCSSSSSCSCSCSCCSSSCCSSCSCCCSCSCSSSCCCSCCCSCCSSSCSSCSCSSCSCSSSCSCSCCSCSSSSCCSSSSSCSSSCCCCCSSSSSCSCSSSCSSSCSSCSSSCSCCCSSSCCSSSCSSSSSSCSCSSSSCCSCCCSSSCCSCCCSSCCCCSSCCSCCSCSCCCSCCCCCCSCSCCCCSSCCSCCCCSCCCSSCCCSCSCCCSSCSCCCCCSSCCCCSCSCCCCCCCCSSSCSSSSCSSCSCSSCCSCSCCSSSCSSCCSSSSSCCCCCCCCCSCCCCSCCCSCCSSSSSCSCCCSCSCSSSSSCCSSSCCCSSSCCSCCCCSCCSSCSSCCCSCSCSSCSCSCSSCSCCCSSCSCCSCSSSSSCCSSCSSCSCCCCSSCSCCCCCSSSCSSCCCSSSCCCCSCCSSCSSCCSSSCCSCCCSSSCCCSSSSSCSSCCSCSCSSCCSCSCCSCCCCCSCSSCCCSCCSSSSSCSCSCSSSSCSSSSSSSCSSSSCCSCSCSSCCCSCSCCSSSCSSCCCSSSSCSCCCSSCSSSSCCSSCSCSCCSCCCCSCCSCSCCSCCCCCCSCCCCSCCCSCSCSSCCSSCCCCCSSSCCCSCCSCCSSCCCSCCCCCSCCCSCCSSSSSSCCSSCSSCSSCSCCCSSSSCCSCSSSCCSSCCCCSSCCSCCCSCSSSSCCSCCCCCCCCCCCCCCSSCCCCSCSSSCCSCSSSCSSSCCSSSSSSSCCSSSSCCCCCSCSSSSCCCSCSSCCCSSCSCCSSSSCCCCSSSSCSCSCSSCSSSSCCCSCCCCSCSCSSCSSSCSSSCSSCCSSCSSSCCSCCCSSSSSSCCSSCCCCSCCSSSCCSCCSCSSCCSCSCCSCCSCCCSCCCCSCCCSCSSCCCSSSCCSSSSCSSSCCCSCCCSCCSSCCCCSCCCCCSCCSCCSSSCCCSSSCCCCCSCSCSSSCSSSSCSSSCSCCSSCSCCSSSCSCSCCSCCCSCSSCSCSSCCCCSSCSSSCSCCSSCCCCSCCSCCCSSSSCSCSSSSCCSCCCSSCCSCSCCCSSCSSSSSCSCCCSCCSCSSSCCSCCSCSSSSSCSCCSSCSSSSSSCSCSCCSCSSCSSCCCCCSSSCCSSCCSSCSCCSCCCCCSCCCSSSCCCCSSCSCCCCCSSCCSCCCSSCSSSSSCCCCCCCSSSCCCCCCSSCSSSSSCSSSSCSCCSSCSSSSSSCSSCCSCSCSCCSCSCSCCSSCSCSCSSCSSSCCSCCSCSCCCSCCSSCSSCCSCCSSCSSSSSCCCCCCCCSCCCSSSCCCSCCSCSCCCSSSCSSCSCSCCSCCSSSSSCCSCSCSSSCCCSSCCCSCCSSCCSCCSCSCCCSCCSSSCSSSCCSSCSCSCCSCSCSSCSCSSSCSCCSSSCSSCCSCSSSSCCSCSSCCSCSCSSSCSCCSSSSSCSCSSSCCSCCCSSSCSCSCCSCSSSCSSSSSCSSSCSSCSSCSSCSCCCSCSCSCSCCCCSCSSSSSSSSSCCCCCCSCCCCCCSCCSSSCCCSSSCCSCSSSSCSSCCCSCCCCSCSCCSSCCCCSSCCCSSCCCSSCCCCSCCCSSCSSSSSSCSSSCSSCCSSCCSSCSSSCCSCCCSSSSCSSSCSSCCSSCCCCSSSSCCCSSCSSCSCCSCCSSCSCSCCCCSSCSCCSSCCCCCCSSCSCSCSCSSCCCCCCSCCCSCSCSSSSCCSCSCCSSSCSCCSCCSCCSSCSCSCSCSSSCCSCSCSCCSCCCCSSCCCSCSCCCCSCCSCSSCSCCCSCCCSCCSSSSCSCCCSSCCSCSCSSCSSCCCSCSCCSSCCSCSCSSCSCCCCCCCSCCCSSSCSCSSSSSSCCSSSCSSCCSSSCCSCCSSSSSSCCSSCSSCCCCSCCCCSSSSCCSSCSSSCSSCSCCCSSCSCCCCCCSCCCSCCCSSSCSSSSSSCSSSSCSCSCSSCCCSSCSCSSSCSSCSCCCSCCCSCSSSCCSSCCSSSCSCCCCSCSCCSCSCCSCCSCSSCSCSSSSSCSSSCCSSCCSSCCSSSCCCSSSSCCSSCSSSSCCCSSCCSCSSSCCCCSSSCSSSSSSCSCCCCSCSCSSCCCSSSCCCSSSCCCCSSSCCSCSSCCSSSSSCSSCSCCSCSSCCCSSSCSSCCSSSCSCCSSCSSSSSCCCCSCCCSCCSSSSSSCSSSCCCSCSCSCSSSSCSSCSSCCSCCSCCCCSCSCCSSSSSSCSSCCSSSSCCCCCSCCCSSSCSSSSSCSSSSCSCCCSSCSCCSCCSCCSCCCCSCCSCCSCCCCSSCCSCCCCSSSCSCSSSSCCSSCCCCCSSSSSSSSSSCSSCCSSSCCCSSSCCSSCCCCSSCCSCCCSCCSSCCSSCCSSSCSSSCSSCSSSSCCSSCCSSSCSCCSCSSCCSSCSSSCSSCSCCSCSCCSCSSSCSCCCSCSSSSSCSSCSSCSCCCSSSCCCSSCCCSSSSCSSCCSSSSCCCCSSSSCSCSCSSSSCSSCSSCSSSSCSSCSSSCSCCSCSCSSCCSSSCSCCSCCCCCCCCSCCSSCSCSCSCSSSCCSSCSCSSSSSSCSCSCCSCSCSCSSSSSSCCCSSSCSSSCCSCSCCCSCSCSCCSSCSSCSSSCSSSCSSSCSSCSSSCSCSCCCSCSCCCCSSCCSCSSSCCSCSCCSCCCCSSCCCSSSSSCCSCCSCSCCSCSSSCSCSSSSCSCSSSCCCSCCSCSSCSSSCCCSSSSCCCSCSSCCCSCCSCCCSSCSCSCSCSSSSCSCCSCSCSCCCCSSSCCCSSSCCSSSCSSCSCSCCSSSSCSSSCSSCSSCCSSSSCCSCSSCCCSSCCCCCSSCCCCCSSSSCCCSCCCSCCCCCSCSSSCSCSSSCCSSCCCSSSSCCCCSCCCSCSSCCCSSSSSSSSSSSCCCSCSCSSCCCSSCSCCCCCSCSSCSSCCCCCCSCSSSSSSSSCSSCCCSSSCSSCSCCSSCSCCCSSCSSSCSSCCSSSSCCSSSCCSCSSCCSSSSSSSCSCSSSCCSCCCSCSSSCCSSCSCCSSCSSCSCSSCSSSSCCSCCSCSSCSCCSSSSSCSCSSCCSCSCSSCSSSCCSCSCSSCSSSSCCCSCSCSCCCCSCCCCCSCSSCSSSSCCSCSSSCSCCSSCSCCCCSCSCSCCSCSSCCCSCCCSCCSSCSSCCCCCSCCCCSCSSCCSCCCCSSSCSCCSSSCCCSSSSCSSCCCCCCCSCSSSSCCSSSCSSCCSSCCCSSSCSCCSCSSSCSCCCSCSCCCSSSSSCSCCCCSSCSCCCSSCSSCCCCSSCSSCSSSCCCSSCCCCSCCSSCSCCSCSCCSSCSCSCSCSCCSSCCCCSCSCSCCCCCCCSCSCCSCSCCCSCCSSCSCCCCCCSCSCSCCSCCSCCCSSSSSCSCSSSSCSCSCSCCSSCCSSSCSCCSSCSCCCSCSSSCSSCSSCSCSCCSSSCSSSCSCCCSSSCCCCCCCSSCSSCCCSSSSCCCSSCSSSCCSCCSSCSSSSSCSSSSSSCSCSSCSSCSSCCSSCSCSSSSSSCSSSCCSSSCSSSSSCCSSSCCSCCSCSSCCSCSCSCSSSSCCSCSCCCCCSCCCCSSSSCCSCCCCSCSCCSCCCSSSSCCSCSSCCSCSSSCSCCCSCSCSCSCSSCSCCSCCCCCCCSCCSCSCSSSCSSSCCSCSSSSCCSCCSCSSCSSCSSCSCCCCCSSCSCSSSSCCCCSCCSSCCSCCSSCCCCCSCSSCCCCSCCSSSSCCCSSSCCCCSSSCCCCSSCCSSSSCSSSCCSCSCSSSSSSCCCSCSSCSSSSCSSSSSSCCSSSSCCCCCSCCCSSSCCSSCSSCCSSSSSCCCCSSCSCSSSSSCSCSSCSCSSCCCSCCCCCSCSCCCCSCCSCCSCSCSSSSCCSSCCSCSSCCCSCCSSCSCSCCCSSCCSSSCSCCCCCSSSSCCSSSCSCSCSCCCCCCSCCSCCCSSCCCSCCCCSSSSCCCCSSCSSSSCSCSSCSCSSCSCSCCCCSSSCCCCCCCSCSCCSSSSCCSCCCCSCCCSCSSSCSSSSCSSCSCCSSSCSCCCSCCSCSSCSSCSSCCSSCSSSCCSCSCCCCCCSCCCCCCSSCCSSCSCSSCSSCCCSCSCSSSCSSSCSSCCCCCSCSCSCSCSCSCSSSSSSCSCSCCCSSSCCSSSCSCSCSSCSCSSSSCSSCSSCSSCCCCCCSSCSSSSCSSCSSSSCSSCCSCSCCCCCCSSCCSCSSSCCCCSCSCSCCSCCCCCCSCCCCCCCCSCSSSSCCCCSCCCSSCSCCSSSCSCCSCCCSCCSSCCCSCCCSSCSCCSCSCCSSCCSCSCCCCSCCSSSSSSCCCCCCCCCSSSCSCSSCSSSCCCCCSCCCCCSCCSSCCCCCCSSCSSSCCCCCSCSSCSSCCSCSCCSCSSCSCSSSSCCCSCSCCCSSSSCCCSSSSSSSCSSCSSSSSCSSCCCSSSSCCSCSCSSSCSCSSSCCCCSCSSCSSSSCSSSSSSSCSSSSCSCCCSSSCCSCSCCCSSCSCSSCSSSSCCSSCCSCSSSCCSCSSSCSCSCCSSCSCCCCSCSSCCCSCCCCSSSCCSCCSCSSSSCSSSSCSSSCCSSSCCCSSCCSCCSCCCCSSSSSSSCSSSCCCCCCSCSCSCSSCCSSCCCSCSCSSCSCCSSSCCSCSCSSCCCCSCCCCCCCSCSSSCCCCCSSCSCSSCCSSSCCSSCCSSCCSCSCSCCSSCSSSSCSCSSSCSSCSSCSCCSSCSSSCCSSCSSCSCCSSSCSCSCCSSCCSSCCCCSCCSCCCSCSSCCCCCCCSCSCCCCSCCSSSSCCSCSSCSCCCSCSCSSCCSSSSCCSSCSCCSSCSCCCSSSCCSCCCCSSSSCSSCCSCSCCSSCCCSSCSCSSCSCSSCCCCCSSSCSSSSCSSCSSSCCCCCCCCSSSCSSCCSSSCCSCSSSSSCSSSCSSSCCCCSSCCSSCCCCSSCCCCCSSSCCSSCSCCSSCSCSSCCSSSSSCCSCSCCSSSSCCCSCSCSSSSSCSSSCSCSSCSCSCCSSSCCSCCSSSSCCCSCSCCCSCCSSCSSSCSCCCSCSSSCSSSSCCSSSSCSCCSSSCSSCCCCCCCCSSSSSSCSCCSCSCCCSSSCSSSSCSSCCCCSSCCSSCCCCSSCCSSCSCCCCCSCSSSCCCSSSCSCCSCCSSCCSSSSCSCSSSCSCSSCSCCCCCCSSSSCSCCCSCSCCCCCSCSSCSSCCCSSCCSCCCCCCCSSSCSCCCSSCSSCSCSCSCCSSSCCSCSCCSCSCSCSCSSCCSSCCSCSCSCCCCSSSCSCSSCSSCCCSCCCCSCCSSSCCCSCCCCCSSCCCSCCCCCCCSSSSCCSCCCCSCSSSSSCSSCSCCCCCSSCSSSCCCCCCSSCCSSCSCCCSCCSCSCSCCSSSSSSCSSSSCCSCCSCCSSSSCSCSSSCCSSCCCSCCSCSCSCCSCCSSCSCCSCSCSSCCCSSSCCSSSSSCSSSCSCCCCSCCCSCSCCSSSCCCCCSCSSSCSSCSCSSCCCCCSCSSCCSSCSCSSCCSCCCSSCSSCSCCCCSCCCCCCSSCSSSSCSSCSSCSCSCSSSCCSCSSCCCSCCSSSCCCCCSCSSSCSCSSCSCCCCSSSSSSCSSSSSCCCCSSSSSSCCSCCCCSSSCSSSSSCSSSCSCSSSCSSSSCSCCSSCSCSSCSSSSCCCSCSCSCSCSCCCCCCSSSSSCSCSSSSSCCCSSSSCSCCCSSCCCSCCSSSCSCSSSCCSCSCSCSCSCSCCSSSSCCCSCCCCSSSCSSSCSSSSCSSCCSSSCSSCCSCCCSCSCCCSSCCCCSCSSSSSSSSSSSCCSCSSSCCCCCSCCCSSSCSSCSCCSSCSCSSCCCCSCSSCSSSSCCCSCSSSSCSCCCSSCCCSSCCSSCSCSSCCCCCCSSCSSCSSCCCCSSSCCSSCSCSCCSCCCCCSSCSCCCSSSSCSSCSSSSCSCCCCSSSCCSCCCCSCSCSCSSSCSCSSSCCSCSSSSSCCCCCCCCSSCCCCCSCCCCSCSCCSCCSSCSSSCCCCCCSSSSSSSCCSSSCSSSCCSCSSCSCSSSSSSCSCCCSCCCSCSSCSSCCSCCSSCSCCSSCSCCCCCSSCSSCSSCSSCCCSCSSCCCSSSCSCCSCCSSCSCCSCSCCSCSCSCCCCSCSSSSCSCSSCSCCSCSCCCCCCSSCCSCSCCSSSCCCSSCSSCCCCCSCSCSCCSSCCSCSCSSSCCSSCSCSSCCSCSSSCSSCSSCSSCSCSCCCCCSSCCSSSSSSCCCSCSSCCCSCCSCCCSSCSCSCCSSSSSCSCSCSCCSSCSSSSSCCCSCCSCSSCSCCSCSSCSSCCCSCCCSSSCCCSCSCSSSSSCCSSCSCSCSCSCSSCSCCSSCSSSSCCSSCSSCSCSCSCCCCCCSCCSCCCSSCCSCCSSCCSCCSCCCCCCCCCSSSCCCSSSSCSSSCCCCSCSSSCSSCCSCSCSSCSCCCSSCCSCSCCSSCSSCSSSCCCCSSCCCSCCSSSCSSCSCSSCSSCCSSSSSCSSSSCSCSSCCCCSCCSCCSCSCSSSSCSCCCCCSSCSCCSCCCSCCSCCSCCSSCSSSCCCSCCCSSCSCCSCCSCCCCCSCCCSCCCCCCSCSSCCSSCSCSSSCSSSCCCCCCSSSCSSSSSSCSSSSSCSCSCSCCCSCSCCCSSCSSSSSCCCCSSCCCSSSSCCCCCSSSSSCCSCSCSSSSSCCCSSCCSSCSSSCCCSCSCSCCCCSSSCCSCSCSCCCSCCCSSSSSSCSSCCSSSSCCSSSSSSCSCSSCCSCCSCCCCSSSSCSSCSSSCCCCSCSSSSSSSCCSSCSCSSCCCSCCSSCSSCSCCCCCCCSCSSSCCSCCCCSSCCCCCCSSCCCCCSSSCSCSCSCCSSCSSCSCSCCSCSCSSCCSCSSCCSSSCCSCSSSCSSSCCSCCSSCSSSCSCCSCCSCCSSCCSSSCSSCCSCCSCSCSSCSSCSCSCCSCSCCCSSCSCSCSCSSCCCSCSCCCCSCSSSSCCCSSSCSSCSSCCCCCSSCSSSSCCCSSSSCCCSCCCSSSSCCCSCCCSCCCCSCCSCCCCCSSSCSSCSCCSCSCCSSCSSCSSSCSCSCCCSSSSSSSCSCSSCCCSSCCSCSSSCSCSCSCSSSSSSSSSSSCCCSSCSCCCSSCSCSSSSCCSCSCSSCSSSCSCSSCCCCCCCCCCSCSCCCCSSCSSCCSCSCSCCCSCSSCCSSSSCSCCCSSSCCCCSSSSCSCSSSSCSCSCCCSSSSSSSSSSCSSCCCSSSCCCSSSSCCCSSSCSCCSSCCSSCCSSSCSCCSSSCCCSSCCSCSSCCCCCCCCSSSCCCSSCSCSCSCSCCCSSSCCSSCSCSCSSCSSSCCCSCCSCSCSCSCCSSSSSSSSCSCSCCCCCCCSCCSCSCSSCCCSSSSCCCSSCCCSCCCCSSCSSCCSSCCSCCCSSCSSSSCSCSCCSSSCSCCSCSCSSSCSSCCSCCSCSCSCCSSSSCCSSCSCSSSSSSCSCCSSCCCCSCSCSCCCCSCCCSCSCSSCCSCCCCCCCSCCCCSCSCCCCSSSSSCCCCCCSSSCSSSSCCCSSCCSSCCSSSSCCSCCCSSCCSCSSCCCCSCCCCCSCCCCSCCCSCCSCSCSCSSSSCCSSCSCSCCCSSCCSSCSSSSSCCCCCSCCCCCCCSSSSSSCSCCSCSCSCSSCCCCSCSSSCCSCCCSCCSCSCCCCCSCCCCSSCCSSSCCSCCSCCCCSCSCCSCSSCSCSCCCSCSSSSCCCCCCSSCCCSSCCCSCSCCSSCSCCSSSSCSSSSCCCSCSSSCCSSCSCSCSCSCCSSCSCSCCSCCCCCCSCCSSCCCCCCCCSSCSSSCCCSSSSCCCSSSCSCSCSCSCCCCCCCCCSCSCCSCSSSCCCCCCCSCSSSCSSSCCCSSCCSSSCCSSSCSCSCSSCCSSSCSSSSCSSSCSCSCSSCCCSSCCSCSCSCCSSSCSCSCSCSCCCCCSCSSSCCCCCCSCSCSCSCCCSSSSSSSSSSSCSSCSSSCSSCSCSSCSSCCCSSCCSSCSCCCCSSSSSCCSCCCCSCCSCCCSCCSSCSCCCSSCCSSCSCSSCCSCSCSSSSCCCCSCSCCSSSSCCCSCCCSCCSSSCCCCSSCSSCCCCCSSCCSSCSSCSSSCSCCSSSCCCCCSCSCSCSCCCSSCCCCSSSSCCSSCCCSSSCCCSSSCCSCSCSSCSSCCCCSCSCSSSSSCCCCSSSSSCCSSSSSSSSSSCCCSSCCCSSSCCCSSCCCCCSCSSSSCCSSSSSCCCCSSSCSCCCSSCSCCCCCCCSSSSCSSSCCCCCSCCSCSCCCSCCCCCCSSSCSSSCCSSSCCSSSSSSCSCCCCSSSSCSCCCCSSCSCSSCSSSSSSSSSSSSCCCCSSCSSCCCSSSCCSSSCSSCSCSSCSSCCCSSSSSSSCSCSSSSSSSCSSCSSCCCSCCSSSCCSCSSSSSCCSSCSCCCSCSCSCCSSSSCSCSSCSCSSSSCSSSSCSCCSCCSCCSCCSSSCCCCCCSCSSSSSSSCSCCCCSSCCSSCSSSCSCSCSSCCCSSCCSCCCSCCSSCCSSCCCSSCSCSSCSCSCSCCCSSSSCSCSSCSCCCCSCSCCCCCSSSSCSCSSCSSCSSSSSCCCCSCCSCSCCSCSCSCSSCCCCCSCSSCCSCSSSSCCCCSCSCCCCSSCSCCCCCCCCSSCCSCSCCSCCSCCSCCSSCSSCCSSSCSCCCSSSSCSSSSCSSSCSCSSSSSCSCCSCCSCCSCCSSSCSSSSSSCSSSCCCCCCSCSCSSCCSCSCSCCCCSCSSSSCCSSCCSSSCSSCSCCCCSSCCSSCCSSCSCSCSSCSCSCSSSSCCSCSSCSCCCCCCSCCSSSSCSCCSSCCSCSSSSSCCSCSSSCCSCSCSCCCCCCSSCCCSCSCSSSSSCSSCSCSSCCCCSSSSSCSSCSCSCSCCSCSCSSCSCCCSSCSCSSCSSCCSCSSSCSCCSCCSCCCCSSSSSCCCCSSCSCSCCSSCCSSCCCCSSCCSSCCSSCSSCSCCCSCSCSSCSSSSSCCCCSCCSCSCSSSSCCCCSSSSSCCCCCCCSSSCSSCSSSSCSSCCCCCSCCCSSSSSSSCSSSCSSCCSSSCSSCSSCCCCSCCCCSSCCSSSSSSSCCSCSSSSCSSSSSSCSSSSSCCCCCCSSSCSSSSCCSSSSCSSCCCCSCCSCSCCSSCCSCSCCCCSCSSCSCSSCCSCSCCCSSSSSCSSSCSCSCCCSCCSCSCCCSSSCCCCCCCSSSSSSCCSSCSCCCCCCSCSCSCSSSSCCCCSSSSSCSSSSCCSCCCSSCCSSCCSCSSSCCCSSCCSSCSCCSCCCSSCSCCCSSCCCCCSCSCSSSSSCSCSSCCSSSSCCSCSSCCCCCCCSSSCSSSCCSSCCCCSCCSCCCSSCSSSSCSCCCCSSSCCCCCCSSCSCSSCSSSSCCCSSSSCSCCCCCSSSSSSCCCSSSSSCSSSSSCSSCCSCSSCCCCCCCSCCCCSCCSSSSSCSSSSCCSCSSCSSCCSCCCSCCSCCSCSCSSSSCCCCCCCCCSCCSCCSSSCSCSCCSCCSSCSCSSSSSSSCCCCCCCSSCSSSCCCCSCCCSSSSSCCSSCSSSSCCCCCCSSCCCSCSSSCCSSCSSCSCSCSSSCCCSSSSSSSCCSCSCCSCCSCSSSSCSSSCCSCCCSSSCCSCSSSSCCCSSSCCCSCSSSCSSSSSSSCCCCSSCSSSSSCSSSSCSSCSCSCSCSSSCCCCSSSSCCCCCCCSCSCCSCCSSSCCSSCCCSCSSSSSCCSCCSSSSSSSSCSCSCSSCCCSSCSCSSSSCSCSCCCCSCCCSSSSSCCCCSCCCCSSCCCCSCCSSCCSCCSSCCCSSCSSCSSSSCCSSSCSCSCCSCCSCSCCCCSSSSSCCCSSSCCSSCSSSCSSCCCCSCCSSCCSSCSCSSCCSCSCSCCCCCCSSSSCCCCSCCSSCCCSSCCSCCCSSSSCSCCSCCSCSCSCSSCSCCSCCCSSCSCSCSSCCSCSSCCCCCCCCSCCCCSSCCCCCCCCSCCCSCCSCCSCSCCSSSSCSCCSSCSCCCCCCCCSCCSCCSCSCSCSSSSSSSCCCSSSSCSCSSCSSSCSCCSSCCSCSCSCSCCSSSSCCCSCCSCSCSSSSSSCCCSSCSSCCSSCSCCCCCSCSSCSCSSSSCSCSCSCCSSSCCCCSCCSSSSCCSCSCCCSCCSCCCCSCSSSCSSCCCSSCCSCSCSCCSCSSCCSCSSSSCCCSCSCSSCSSSCCSCSCSCSSSSCCCCSSCCSSCCCCSCSCSSSSSCSCSSCCCCCCSCCSCCSSCCCSSCSCCSSSCSSSSCSCCCSSSCSSSSCCCSCCCSCSCCSSCCSSCCCSSCSSSCSCCCCCSSSCCCSSCSCSCCSSSSSSSCSCCSCCCSCSCCSCSCSCSCCSCCCSSCSSCSCCSSSCCSSCSCSSSCSSCCSCSCCCSCCCSSSCSCSSSSSSCCCCCSCCSSCCSSSSCSSCSCCCSCSSCSCCCCSCSSSCCCSCCSSSCSCSSSSSSCSCCSSCSCCCCCCCCSSSCSCCSCCCCSSSCSCCCCCCSSSCCCSCSSSCCSCCSSCSCCCSSSSCCCCSSCSCSCSCSCSCCCCCCCSSCSCSCCSCSCSCSSSCCSCSCSCSSSSSCCSCSSSCCCSSSCCSCSCSSCSCCSSSCCCSSSCCSSCCCCSSCCCCCCSSSCSSCCCSCCSCCCSSCSCCSSSCSCSSCSSCCSCCSSSCCSCSCCCSSCSSSSSCCSCCSSCSCCCCCCSSCSSSCSCCCCCCCSSCSCCSCCSSCSCCSSSCCCCSSCSSSCCCCSCSSCCSCSSSSSSSSCCCCCCSCCSSSCSSSSCSCCCSSSCCSSCCSCSSCCSCSCSSSSSCCSSSCCSCSSCCSSCCCSCCCSCCSSSCCCCSCCSSCSSSCSSCSSSSCCCSCSCCCSCCSSSSCCCCSCSCSCCCSCSCSSSCCCSSCCSCCSSSCSSSSCSSCCCCCCSCSSCSCSCSCCSSCCCSSSSCSSCSCSCCSCCSCCCSCCCCSSSCCCSSCCSCSCCCCSCSSSCSCSSCCCSSSCSSSCSSSSCCSCSCSCSCCSSCCSCCSSCCCCSCCCSCSSSCCCSSCCCSSSCSCSSSCSCSCSSCSSCCSCSSCCCSCSSSSCCSCCCSSSCCSCSCCSSCSCSCSCCSCSSCSCCSCSSSSCSSCSSSSCSCSSSCCSCCSSSSCSSSCSCCCCSSCCCSSSSSSCCCSSCSCCCSCSCSCCSSCSSCCCSSSSSSSSCSSSSCCCCCSCSSSSSCCCCCCCCCSCCSCCCCCSSCCCSSSCSCCCSSSCSCSCSCCSCSCCSCSSCCCCSCSSCCSSCSSCCSCSCCCCSSSCSSCSSCCCCCCCCSSSSCCCCCCSSCCSSCCSCCSSSSCSCCSCSCSSCSSCSCSCCCSSCCSCCSSCSCSCSSSCSCSCSSCSCSCSCCCCCCCCSSCCCCCSCCCSCSSCCSSCCCCSSCCCSSCSCCSSSSSCSSCCCCSSSCCSCSSSCSCSSSSSCCSCCCSSCCCCSSCCCSSSSCCSCSSSSSCSSCSCCSSSSCSSSSCSCSCCCSSCCCSSCSSCSCCSSSSCSCSSCSSSCSSCCSSSCCSCCCSCSSSCSSCCCCSSSCCSCCSCCCCSSSCCCCSCSSSCCCCSCSSSCCSSCCCCCCSSSCCSSCSCSCSCSCCSSCCSCSCSCSCSCCCCSCCSCCCCSSCSCSSSSSCSCCCSCSCCCCSSCCCCSSSSCSSCSCCCCCCSCCCCCCCSCCCCCCSCCCSCSCSCCCCCCSCSCSCSCCCSCCCCCSSCSCSCCSCSCSCSSCSSSSCCSCSSCSSSSCCSCSSCCSSSSSCCSSSSCSSCCSCSCSCCSSCCSSSCSSSCSSCSSCSSSSSCCCSCCCCSSSCCSCCCCSSSCSSCSSCCSSSCSSSSSCSSSCCSSCSCSSCCCSSCCCSSSSSSSCCCCCCCCCSSSSSCSCCSCCSCCCSSSSCCCSCSCSSSCSCCSSSCSCSSCCSSSCCCSCCSCSCCCCCCSCSSSCSSSCCSCCCSCCCSSSCCSCSCSCCCSSCCSSSCSSSCCCSSCSCCCCCCSCSCCSSCSCSSCCCCSCSCSCSSSSSCCCCSCSCCCCSCSSSCSCSSCSCCCCSSCSSCSSSSCCSCCSCCCCCSSCSCCCSCSSSCSSCSCCSCCCCSCSCCSSCSSCCCSCSSSCSSCSCSSSSCSCSSCSSSCSSCSSSSSCCCCCCCCCCSSSCCSSSCSCCCSSSSSCSSCCSSSCCSCCCCSSSCCSCSSSCCCCSCSSSCSSCCCCSSSSSSSCCSSSSCCSCCSCSSSCCSSSCSSSSSSSSCCCSCCSSSSSCCCSCCSCCCSCCSSSSCCCSSSCSCCCSCCCSSSCSCCSSCSCSCSCCCCCCSSSSCCCCCSSCCCSCCSSCSSSCCSSSSSCCSCSSCCSCSSSCCSSCSSSCSCSCSSSCCSCCSCSSSCSSCCCSSCSCSSSSSSCCCSCSSCSSSCCSCSCCSCSCCSCSSCCSCCSSSCSSCSSSCSSSSSCCCCSSSCSSSCSCSSSSSSSCCCCCSCSSSCCSSCCCSCCCSSSSCCCCSCCCSCSSSSCSCSSSCSCCCSSCCCSCCCSSCCCSSSSCCCCCSSCSCCSSCCSCCSCCSCSCCCSCSCSSCSCSCSCCSCSCCSCCSSSCSCCCSCCSCCSSSCCCCCCSSCCSCSCSSCSCCSSCSSCCCSCCCSSCCSSSCSSSSSSCSCCCSSCCSSSSCSCSSSCSSSCCCSCSSSCCCCCCSCSSCSSSCCCSCSCCCSSSCSSCCCSSCCCCSSCSCCSCSSSSSSCCSSSCCSCCCSSCCCCCSCCCCSCSSSCCCCCCSSSSCSCCCSSCSSCCCSSCSCCCCCCSCCSCSSSCCCCCSCCCSCCCCSCCSSCSCSCSSCCSCCCSSCCSCCSCSSCCSCCSCCCSCCCSSSSSCCCSSCSSCCSCCSCSSCCSSSCCSCCCSSSCSSSCCCCCSSSSSSCCSSSSSCCCSSSSSSCCCCSSCCSSSSSCSSCCCSCCCCCCSSSSSSCCCSSSCCCSCCSCCCCCSSSCCCCSCSSCSCCCCCCCCSSSCSCSCCSSCCSCCSSCSCCCCCSCCSCCSCCCSSCCCCCCCCSCCSSSSCSCCCCCSCCSSCSSCSCSSCSCSCSSSSCCSSSSSSCCCSCSCSCSCCSSCSSSSCCCSSSSSSCCSSSCSCCSCSSSSSCCCSCCCSSCSSSSCCSSSCSCSCSSCSSCSCSCSCCCSCCSSSSSSCCSCSSSCSCSCSSCSSSSCCCCCSSCCSSCCCCSSCCSCSSSSSSSCCSSSCSSSSCSSSSSSCCSCSCCCCCSCSSSCSSCCSCCSCSCCCSCSCCCSSCSCCCCSSSSCSSCCSCCCCCCCSSCSCCCSSCSCCCCCSCCSSCCSSCCSSCSCSCCCCSSCCCCSCCSCCCCCCSCSSSSSCCSSCCSSSCCCCSCSSCCSCCSCSCSCCCCCCSSSSSSCSSCSSCCSCCCSCCCSCCCCSCCCCSSSCSCSSSCSSCSCCSSSCSSSCCCSCSSSSCSCCCCCSSCCCSSSCCCSSSSCCSSCSSCCSSCCCSSSCCSSSSCCSSCCCCSSSCCSCSSSCSCCCCSSSCCCSCSCCSSSCSCCSCCCSSCCCSSCCSCCCCCCSSSSSCSSSSCCCSCSSSCCSSCSCSSCSSSCSSSSSCCCCCCCSCSSSCSCCCSCCCCCSCCSSSCCCSSCCSSSSCSSSSSCCCCSCSSSSCCSSSSSCCCSCCCSSSCCCCSCSSCCCSSSCSCCCCCCCCCCSSSCCCSCSCSCSSSSCCSCCCSSSCCSSSCSCSSSCCCSSSSCSSCSSSSSCSSCCSCSSCSSSSCSSSSCCSCCSSCSCCCSSCCCCCCSSSSSCCSSCSCSCCCSCCSSCSCCSCCSSSCSSSSCCSSSSSCCSCSSSSCSSSCCSCCCSCSSSCSCCCCSSSCSSCCSCSSSSCCCCSCSSSSSSSCSSCCSSCSSSSSSCSCSSSSCSCCCCSSCSSCSCSSSSCSCSSSCSSCCSCCSCCSSSCCCCCCSCCSCSCSSCCCSSSCCSCCCSSCCCSSCSSSSCCCSSSSCCCSSSSCSSCSSSSCCCCCSCSSSCCCCCSSCSSCCSCSSSCCCCCSSSSCCCSCCSSSSSCSSCCCCSCCCCCSSCCCSSSSCSSSSCSCSSCSSCSCCSCCSCCSCCCSSCSCSCCSSSSSSSSSCSSSSCCCCCCCCSSSCSSSSCSCSSSSCCSSSCCSSCSCSSCSCSCCCCCSCCCSCCCSCSSSSSCSCCCCSSSCSSCSCSCSSCSCSSSCSCCCCCCCSSSCSSSSSCSCSCSCSSSSCCCSCCCSCCSSSCSSSSSCSCCCCSSSSCSSSSCCSCCCSCSSCSSCCSSSSSSSCCCCCSCSCCCCSCSCCSSSSCSCCCSSSCSCSSSCSSCSCCSCSCSCCSSCCSSSSSCSSCSSCCCSSSCSSCSCCSCSSCSSSSSCCSSSSCSSSSSSSCSSCCCCSCSSSCCCCCSSSSSCCCSCSCSSSCCCCCSCSCCSCCSSCCCSCSCCSCSCSCCCCSSSSCSSCCSCSSSCCCCCCCCCSSCCSSSCSCCSCCCCCCCCSSCCSSSSSCCSCCCCSCSCCSSCCCCSSSCCCCCSCSSSCSSCCCCSSCCSCSCCCCCCCCCSSSCSCSSCCSCCCCCSCCCSCCSCCSSSSCSSCSSSCCSCSCSCCSSSSCSSSSCCCCSCSCSCCSSSCSCSSCCSCSCCSCSSCSSSSCSSCSSSCCCCCCSSCSCCSCCCCCCCCSCCSSSCSCCCCSSSSCSCCSCCSSSCSSSSSCSSCCCCCCCCCSSSSSCCCSSCSCSSSCSSCSSSSSSSCCCSSSCSSCCCCCSCCSSSSCCCCCSSCSCSCCSSCSCSSCSCSSCSSCCCCSCCSSCSCSSCCCCSSCSSCSSSSSSSSSCSSSCSCCSSCCSCCCCSSSSSCSSSSCSCSCSSCCCCSSCSCCCSSCSSCCCSCCSCCCSSSCCSSCCCCSCCCCSSSCSSCCCSCCCSCSSSCCCCCCCCSCCSSSSCCCCSSSCCSCCSSSSCSCCSCSCSSCCCCSCSSCSCSSCCCCSSSCCSCSSSSSCCSCCSSCSCCCCSCCCSCSSCCSSSCSCSSSCSSSCSSCSCSSCCSSSSCSCSSSSCCCCCCCSCSCCCSSCSSSSSCCSSCSCCCCCSCSSSSCCSCCCCSCCCSCSCCCCCCSCCSSCSCSSCCSSCCSSCCSCSCSCSCSCCCSCSCCCSCSCCCSSCSSSSCSSCCSSCCSSCCSCSCSCCCCSSSCCCCSCSSSSSSSCSSSCSCCSSCSSCSCSCSCCCCCCCCSSSCSCSSCCSCCCSSSSSCSSCSSCSSCSSSCCCSSCCSSCSCCSCCSCSSCSSCSSSSSCSSCSCSSSSCCCCSSCSSCCSCCSSSCSSCCSSCCCSSCCSCCSCCCCSCCCSCCSSCSCSSCSSCCSSSCCCCCSSCSSCCSSSCSCCCCCSSCSSSCSSSCSCCSCCSSSCCCSSSSCSSSCSCSSCCSSCCCSCCCSSSCSSCCCCSCCCSCCCSSSSCSSSCSCCCSSCCSCSCSSCSSCSSCSCCSCSCCSSSCSSSSCSCSSSSSCSCSSSSCSSCCCSCSCCCCSSSCCCSSCCSSSCSCSCSCSCCSSSCCCSSSCSSSCSCSSSSCCCCSCCSCCCSCSSCSCSCSCCCCCCSCCSCCSSSCSSSSCSCSSSCSSCCSSCCCSCCSSCCSCSSSCCCCCCCSSCSCSCCCCSSSSSSSSSCCCCSCSCCSSSSCSCSCSSSSCCCSSSCSCSSCCSCCSSSSSSCSSCCSCSCCSCSSCSSCCSSCSSCSSSCSCSCSCSSCCCCCSCCSSSCSSCCCCSSSSSCSCCCCCCCSCCCSSSCSSCCCCSSSCSCCCSSCSSSCSSSSCSSCSSSCCCCCSSSSCCCSSSCCSSCCSCSSSSSCCCCSSCSCSSSCSCCSSCCSCSSSSCSSSSCCSSCSCCSSSSSSCCSCSSCSSSCCSCCCSCCSSCCCCCSSSCCCCCCSSSCSCCSCCSCSCCSSSCSSCSSSCCSCSCSSCCCCCSCCSSSSCCCCCSCSCSCSSCSCSSSSSSSSSCCSSSCSSCSSCSSSSCSCCSCCSSCCCSSSCSCSSSSSSCCSSSCSSSSCCSSSSCCCSCSSSSSSSSCCCCCCSCSSCCCCSSCSCCSCSCSSSCSCCCSCCCCCCCSCSCSSCSCSSCSSSSCSCCSSSSCSCCSCSSCSCCCCCCCCCCSCCSCSCSSSSSSSSCCCCSCCSSSSCSCSSCSSCSSSSSSSSSCSCCCCCSCCCSCCCCCCCSCCCCCSSCCCSSSSCSCCSSCCCSSCSCSCCCCCSSCSSSSCSSSSCCCCCSSSCCCSSSCSSSCCSCCCCCCSCSSCCCSSSCSCSSCSSCCSCSCSSCCSCCCCCSSCSCSCCSSCCCSCSSCSCCSCCSSSCCCCSSSCSSSCCCCCSSSSSSSSCSCCCSSCCCSCSCCSCSCSCCCCSCSSSCCSCCSCSCCCSSSCSCSCSCCSSCSSCSCCSSCCCSSSCSCCSSCCCCSSSCCSCSSCCSSCSCSSCSSSCCCSSSSCSSSCSCSSSCCSCCSCSSCCSCSCSSSCSSSSCCCCSCCCCSCCCSCCSSSCCSCCCCCSCSSCCSSCCCCSSSSSSCCCCCCSCCCSSCSCSCCSSCCSCSCSCSSSSCSCCCCCCCCCSCSCSSSSSSCCCSSSSCSCSCSCSCCSCCSSSSCCCSSCSCCCSCSCCCCCCCCSSSSSCCSSSCSCSSSCCSCSSCSSCCSCCSCCCSSSSCSSSSCCSCCSCCCSSSSCCSSCCCSSCSCCSSSCCSSSSSCSCSCCSSSCSCSSSSSCCSSCCSSSSSCCSCCSSSSSSCCSCSCCCCCCSSCCSCSSSCSSCCCSCCCSCCCCCCCSCSCSCCSSSCSSCCCCSSSCSSSSSSSSCCCSSSCSSSSSCSCCSSSSCCCCSSCSSSSSCSSCSSCCSCSCSCCSCSCCCSCCSSSCCCCSCCSSCSCSSSSSCSSCCSCCSSCCCSCSSCSSSCSSSSCSSSCSCSSCSSCSCSSCCSSSCSCCSCSSSSCSSCCCSCCSCSCCSSCCCSCCSSCSSCCCCSSCSSCCCSSSSSCSSSSCCCSSSCSSCSSSSSCCSSSSCCSCCCCCSSSCSCSSCSCCSCSSCCSCCSSCCSCCSCCCSCCSSSSSSSSCCCSCCSSCSCSCCSCCCCSCSCCSSCSCCSSSCSCSCSSSSSCSCCSCSSSCSSCSSCSCSCSCSCCSCSCSCCCCSSCCSCSCCCSSSSCSCCCSCSCCCSSCSSSSSCCSSSSSSSSCSCSSCSCCCSSSCSSCSCCSCCCCCCSSCSCCCCCCCCSCSSCCCSSSSSCSCCCSCCCSSSCCSSCCCSSSSCSSCCCCSCSSSCSSCSCCSCSSCSSCSCSCSCSCSSCCSCCCSSCSCSSSSCCCSSCCCCCSSCSCSSCCSSCCSCSSCCSSSSSCSSCCSCSSCSSCSSCCSSSSSCSSSSSCCCCSCCCSSCCSCSSCCSSCCCSSSCSCCSCSCSCSSCCSCCSCCCCSCSCSSSSCCCSCCSCSSCSCCSSSCSCCSSSSCSSCCSCSSSSCSCSCCSSSSSCCSCCCCCSCSSCCCCSCSCCCSCSCCCCCCCSSCSCSSSSCSSCSCSSCCSCSSCCCSSCCCSCCCSSSSCCSSSCCCSCSSSCSSSSSSCSCSCCSSSSCSSCCCCSSSCCCCSCSCSCCCSSSSSCSCCSCCCSSSSSCCCCCSSCSSSSCSCCSSSSCCSCCCCSSSSCSCSCCSSSSSSSSSCCSSCSSCSCSSCCCCSSCSCCCSCSSCCCSSCCSSCCSCSCSSSCSSSSCSSSCCCCCCSSSCCCCCCCSCCCCCCSSSSCSSCCCCSSCSSSSCSCCCSCCSCSCSCSCSSCCCSCSCSCCCCSCCSSSSCSCCCCSCSCSCSCSCCCSCCCCCSCCSCCSCSCCSCCCSSCCCCCCCSSCSSCCSCCSCCCCCSSSCSSSCCCSSCCCCSCSCCSCCSSCSCCSCSCCCSSSCSCSSCCSCCCCCCCSCSSCCSCCSCSSCCSSCSCCCCSCSCSSCCSSSCCSSSCCCCCCSSCSSCCSSSSCCSSCCSSCSCSCCSCCCCCSCSSSSSCCSSSCSSSSSCCCSCCSCCCSSSCSCSCCCCCSCSCCSCSSSSSSCCCSSCSCCSCCSSSCSCSSCSSCSCSSSCCCSCCCCSSSCSSSSCCSSSCCCCSSCSCSSCSCSCCCSSCSSSSCSSSCCCCSCCCCCCCSSSSCSSSSSSCCSSCSCSSCCSCSCSSSCCSCCCCCSSSSSCCCCSSCCCCCCCSSCCSSCCSSCCSCCCCSCSCSCSSSCSSCCCCCSCCSCCSCSSSSSSSSCSSSCSCCCCCCSCSSCCSSSSSCSSSCCSSCCCCCCCCSCSSSSSSCSSCSCCSSSSSSCSCCSCSCSCSCSSCCSSCCSCCCSCCCSCCSCSCCCSSCSSSCCCCSCSCCCCSSCCSSSCSSCSSCSSSCCCCSSSSCCSSSCSSSSSSSCCSSCCSSSSSCCCCCSCCSSSCCCSCSSCCCCSCCSCCCSSSSCSCSCSCCCCSSCCSSCSCCCSSCSCCCCCSSSSCCCCCCCCCCSSSCCSCSCSSSCCSCSSSCSCSCCCCSSSCSCCSCCSCCSCSCCCCSCSCSSSCSCSCCCCSCSSSCSCCSCSCCSCCCCSCSSCCCSCSCSSCSSCCCSSCSCCCSCCCCSCSCCCSSSCCCSSSCCCCSCCCCSCCSSCSCCCSCCSSCSCCSCCCCSCSSSCCSSSCCSCCCSCSSCSCCCSSSSSSSCSCSCCSCSCSSCSSCCSCSCCCCSCCSCCCCCSSCCSSSSCCSSSCCCCSSCSSSSCCSCCCSCCCSCCCCSSSSCSCCCSSCCCSCSSCSSCSCCSCSSCCSSCCSSSSSSSCCCCCSCCSCSCSCSCSSCCSCCCSSSCSCCSSCCCCCCSCSCCSCSCCSSCCCSCSCSCCCSCCCCCCCSSSSCSSSSCSCSCCCCSCSCSSSCCCSCSCCSCCCCCSSSCCCSSSSCCCSSCCSCSCSSSSCCCSCCSCSSCSCSCSCSCSCCSSCSCCCCCSSCSCCCCSCCCCCCSSSSSSSCCCCCCSCSSSCSCCCCSCSCCCCCCCSSCCCSCSCCCCSSSCCCCCCSCCSCCSCCSSSSSSSCSSSCSCSSSCSSSSSSCSSCSCCCCCSSCSSSCCCCSSSCSCSCCSSCSSSCCSSSSCSCCCSSSCSCCSCCSCSSSSCCSCCSSSCCCCCSCCSCCCSCSSSCCSCCSSSSCSSCSCCCSSSSSCCCSCCCSSCSCCCSCSSCCSSSCSSSCCSCCSCCSCCCSCCCSCSSSSSCSCCSSCSSSSSSSCCSSCSSCCCCSSCCCCCSSSCCSCCSSSCSSCCCSCSSSSSSSCSCCCCSSCSSCSSSSCCCCSSCCCCSCCCCSCCCSCSSCSSSSCSSSCSCCSCCCCSCCCSCCSCSCCCCSSSSCCCCSSCSCCCCSCSCCCSCCSCCCSCSSSCCCSSCSSCCCSCSSSCSSSCSSCCCCSSSCCCCCSCCSCSCCSCCSCCCSSSSSCSCCSSCSSCSSCSSSSSCSCCCCCCSSSCSSSCCCSSSSSSCCCSSCSSSSCSSCSCCCCSCCCSCSSCSSSSSSCSCCCSSSSCCCSCSCSCSSSCCSSSCSCSSCSSCCCSCSSSSCSCCSSSSSSCCSCSSCCCSCCSSCSSCSSCSSSCCSCSSSSCSSCCSSSSCCCCCCSCSCCCCCCCCSSCCSCSSSSSSCSSCCCCSSSSCCCSSCSCSCCSSCSCCCSCSSSSSSSSCSSCSCCSCCCCSSCSCCCSSCCCCSSSSCSSCSSSSCSCSCCSCSSCCCSCCSSSCSSCCCCCCCCSCCCSSCCSCCCCCSSSCSSSCCSSCSSSSSCCSCCSSSSSCCCSCSCCCSSSCCSCCCCSSCCSCCCSCCSSSCSSCSSCCSCCSCSSCSSSSSCSCSCCSSCCSCSCCCSCSSCSSCCCCSSCCSSCCSSSSSSCSSCSSSSCSCCCCSSSCSSSCCCSCSSCCSSSSCCSCCCSSSCCSSCCSCCSSSSCSSCCCSCCSCCSSCSSSCSSCSCCCCSSCCSSCCSCCCSSSCSCCSCCSSSSCSSSSSCSSCSCSCCCCSSCCSCCSSCSCCCCSCSCCCSSCCCCSCCCSSSCSSCSSSSCCSCCCCSCSCCSCCSCSCCCCCSCSSSSSCCCSSSCCSCCSSCCCCSCCCSCSCCCCSSCSSCSCSCCCCCSCCCSSCCSSSCCSSCSSCCCCCCSCSSCCSSSSSSCSCCCCSSSSSSCCSSCCCCSSSCCSSCCSSCCCCSSSSCSSSCCSSCSSCSSCCSCCCSCCSSCSSCSSCSCSSSSSSSCSCSSSCSCCCCSSCCCSSSSSSCSSSCCSCCSSCCCCSSSCSSCCCCCCSSCSSCSCCCSCCCSSSCCCSSCSCSCCSSSCCCSSSCSSCSSSCCSSCCSSSCCCCCSSSSSSSCSSCCSSCCSCSCSCSCSSCSCCSSCCSSSSCSCCSSCCSCSSSSCCSSSSCCCSSCCCCSSSSCCCCSSSCSSCSSCCSSSSCCCSCCSCSSSSSCCCCSSSSCCCSSCCSCSSCSCSCSCSSCSCCSCCCCCCCCSSCCSCSSCCCSCCSCCCSCCSCCCCSCSSCSCCCCCSSCSSSCCCCSCCCCSCSCSCCSCCCCSSCCSCSCSSCSCSCCCSCSCSSSCCCSSCCSCCCSCCCSSSCCSSCCCSCSCSCSCSCSSCCSCCSCSCCCCCCSCCCCCSSSCCSCCSSSSCSSSCSSSCCCCSCSCSCCCCSCSSSSCSSSCCCCCSSCCSSSCCSCSSSCSCSCSSSCSCSSCSCCSSSCCSSCSCSSCCCSCCSSCCSSCCSSCSCCCSSCCSSSCCCSSSSSSCSCSCCCSSSCSCCSSCCCSSCCCCSCCCCSSCSCCSSSCSCSSCSSCSCSSSCCCSCSCCSSCCSSSCCCSSCSCCCSCCSCSSSSSCSCCSCCSCCSCSSCCCSSCCSCCCCSSCSSSCSCCSCCSCCSCSSCCSCCCSCCSSSCCCSSSSCSSSSSCSCSSSSCSCSCCCSSCSCCSCCSCCCCCSSSCCSCCSCSSSSCCSSSCSSCCCSCSCSCCSCSSCSSSSCSCCSSCSSCSCCSSSCSSCSSSSSSSCCCSSSCSSSCCCSCCCSCSCCCSCCSCCCSSSCSCCSCSCSSSSCSSSSCSSCSSSSCCSSCCSSSSCSCCCCCCCSCSSCCCCCCCSSSCCCSSCSSCCSCCSCCCSCCSSSCCSSSSSCCSCCSCSCCSCSSCSSSCSSSCSCSSCSSCCSSSSSSSSCCSSCCCSCCSCSSSCCCCCSCSCSSSCCCCCCCCCCSSCCCSCCSCSCSSSCCSCSSCSSCSSSCSSSCSCSCSSCSCCCSSCSCSCSCSCCSSCCCCCSCCCCSCSSCSSCCSCSCSSSSCSCSCSSCCSSCCCSSCCSCCSCSCSSSSCCSSCCCSSSCCSSSCCSSSSCSSCSSSSCCCSSCSSSCSCSCSSSCCCSSSCCSSCSCCSSCCSCSSCSSCSCCSCSSSCSSSSCSCSCCSSCCCCCCCSSCSCCSCCSCSSSSCCCSSSCSCSSCSSSCCSSCCSSSSSSCCCCCSCCSCCSCSCCSSSSSSSSCCCSCCSSSSCCSSCCSCSCSCSSCCCSCCSCCCSSSSSSCSSCSCSSCSCCSSCSSSCCCCCSSSCCCCCSSSSSCSSCSSSCSCCCSSSCSSCSSCCCSSSCSCSSSSSSCSSCCCSCCSCCCSSSCSSCSCCSCSCSCSCCCCCCCCCCCSCSCSCSSSCSSCCSCSCSSCSCCCSSCCCCSSCSSSCCSCSCSSSCCCCCCSSCCSSCCSCSSSCCSSSSSSSCSSSSSSCCCSSCCCCCCCCCSSCSCSSCSCCSSSCCSCSSCSSSCSSCCSCCCCCCSCSSSSCSCCSSSCSSSCCCCSCCSSCSCCCCCSCSCCSSCCSCSCCCCSCCSSSCSCCSSCSCCSSSSCCSCSSSCCCCSSCCSSCCSSCSSCSCCCSSSSSSCCSSSCCSSCSSCCCCCSCSCSSCSSCSSCSCSSCCCCSSCCCCSSSCSCSCSSSCSSSSSSCSSSSSCSSCCSCSSSCSSSSCSSSSCCCSCCSSSSCSSSCSSSSSSSCCSSSCCCSSSCCSCSCSCSCCSCCSSSCSCSSSCCCSCCSCSCCCSCCCCSSSCCSCCSCSSSCSSCCSCCSSSSSCCSCCSCCCCCCCSCSSSCCSSSSSSSSSCSSCCSCCSSSSCSSCSSSSSCCSCSCSCSCCSCCCCSCSCCCSSCCSSSSSSCCSCSCCSSCSSSCCSCCCCCCCSCSSSCSSSSCCSCCCCSSSCSSSCCSCSCSSCSSSSSCSCSSCCCCCSCSCCCCCSCSSSCCCSCCSSCSSSCCSCCCSSCSCCSCSSSSCCCSSSCSCCCCCSSSSSCSCSCSCCCCCCSSCCCSSSSCCCCCSCCCCSSCCCCCCSCSSCCCCSCCCSCSCCCCCCCSSCCSSCSCCCSCCSSCSSSSCCSCSSCSCCCCSCCSCCSSSSSCSCCCCCCSCCSSCCCSSCSSSCSSCCSSSCSCSSSSSCSSCSSCCCCSSSCSSSCSCCSSSSSSSCCCSSSSCCCSCCCSSCCCCSSCSCSSSSSCCCSCCSSSSSSCSCSCCSCSSSCSCCCCCCCCCCSCCCSSSSSCCSSCSSSSCSCSCSSCCCCSSSCSSSSCSCCCCCCSCSSSCSSCSCSCSSCCCCSCSSSCCSCSCSCCSSSSSSCCSCSCSCCCCSSSCCCSSCCCCCSCCSSCCCSSCSSCSCCCSCSSCCCSSSSCSCCCCSCSCCSCCCSCSCCCCCCSSSCSSCCSSCSSSCSSSCCCSSCSSSCCSSCCCCCCSCCSSSSSSSCCSSCSCCSSCSSSSSSCCCCSCCSCCCCCSCCCSCCSSCCCCSSCCSSSCCSSSSSSCSSCCCCCCSSSSCSCCCCCCSCSSSCSSCSCCCCCSCCCSSSSSCCCSCCCSCCCSSSCSSCCSCSSCCCCCSSCCSCCSCSCSCSCSCCCSSSSSCSSSCCSCSCSCCCSCSSSSSSSCCSCSCSSSCSSCCCSCCCCCSCSCCCCCCSSSSCSSCSCSCSSSCSCSSCSCCSCCCCCSCCCCCCSSCCSCSSCSSCCSSSSCCCSCSSSSCSSCCSSCCCCSCCSCSSCSSSCCCCSSCCCCCCCCCCSCSCCCSCSCCSSSSCCSSSSSSCCCCCCCSCCSSSSSCCCCSSSCSSCSCCSCCCCCCSCCSCSCCSSCSCCCCCCCCCSCSCCCSSSSSSSCSCCCCSCCSSCSCSSCSCSCSSSCSSSCCSSSCSSCSCCSSSCCSSCSCSSSCCCSCSCCCCSSSCCCSSSCCCSSSCCCCSSSSSSSCCSSSCSCCSCSCCSSSCCCCSSCCCSSCCSSCCCSSSCSSSSCCCCCCCSCSCCSCSCSSSCSCCCCSCSSSCCSSSCCSCSSSSCSCCCSSSSSCCCCCCSSSSSSSCCSCCCSSCSCSCSCSSSCCSCSSCSCCCSCCCSSCSCCSSSSSSCSCCSSSCSCCSCCCSCSCCSSCCSCCCSSSSCSCSSSCSCCSCCCCCSSSCSCCCCSSCSCCCSCCSCSCCSSCSCCSSCCCCSSCSSSSCSCSSCSSSSSSSSSSSCSSCSCCCCCCSCCCCSSSSSSCSSSCSSCCSSSCCCCSSSSCCSSSSCSSCSSCSCSCSSSSSCCCSCSSCSCCSSSCSSCSCSSCCCSSCCCCSSCCCSSCSCSSSSSCCSCCSSCSCSSCCSSCCSSSSCSCCCSCCSCCSSSCSSSCSSCCCCSCCSSSCSSCCCSSCCCSSSSSSCSSCCSSSSCSCCCSCSCSCCSSSCCSSSCSCCCCCSSSSCCSSCSSSCCSCSSSCSCSSSCCSSCCCCSSCCCCCSCCCSCCSSCCSCCCCCCSCSCSCCSSSSSCSSSSSSCSCCSSSCCSCSSSSCCCCCSSSCCCSSSSCCCSCCCCCSCSCCSSCCCCCSCCCCSSSCCSSCCSSCCSSSCSSCCSSSSSCSCCSSCCSCSCSCCSSCSSCSCCCCSCSSSCSCSSCSSSSSSCCSSSSCSSSSCCSCSSSCSSCCCCSCCCSCCSCSCCCSSCCCCSSSCSCCCSCCCSCSCSCCCSCCCCCCCCCSCCCSSCSCSCCSSCSSCSCCCSCCSSCCCSCSCSSSSCSSSSSCSSSSSCSCSCSCSCCSSSCSCCCCSSCSSCCSCCCSCCCCSSCSSSSSSSCSSSSSCCCCSSCCCCSSCCCCCCCCCCSSCSCSSSSSSSCSCCCSCCCCSSSSCCCSCSCSCCCSCCCSCCSCCSCCSSSSCCCCCSSSSCSSSCCSSSCSSCSSSSCCSCCSSCSCSCCSCCSSSSSSSCSCCCSCCCSCCSCSCCSSCSSSSCCCCSCSSSSCCCCCSCSCCCSSCCSCCSCCSCSCCCCCSCSSCCSSCCCSCSCSSCCCSCSCCCCCCSCSCSSSCSCCSCSSSCSCCSSCCSCCCSCCSSCSCCSCCCSSSSSCCCSCCSSSSCCCSCCSCSSSSCCSSCCSCSCCSSCCSSCCSCSCSSCCCSCSCSSCCSCSSCCSSCSCSSCCCCSSCCSCCCCSCCCSCSCCSCSCCCCSSCCCSSCCCSSCSSSSSCSSCCSSCCSCCCCCCCSSSCCSSSSCCSSCSSCCSSCCCSCCCCSCSSCSSCCSCCSSSCSSCCCCSSCSSSCSSSCCCCSSSCSCSSSSSSSSSSCCSSSSCSSSCSSSSSSSCSSCCCCSSSCCSSCSCCCCCSCSCCCSCSCSSCCSCCSSCCSSCSCCCSCSSSCSCCSCSSCCSSCCSSSCSCSCSCSCCCSCCCCSSCCSSCSSCSCSSCCCCCCSCCCCSSSCCCCSCCCSSSCCSSSCCCCSSCSSSSCCCSSSCSSCCSCSCCCSSSCSCSCSSSSSSSSCCCCSCSSSCSSSCCCSSCCCCSCSCCSCCCSSCCCCSSCCCCSCSCSSSSCCSCSSSSSSCCSCSSSCCSSSSSSSSCCSCSSCSCCCSSCCSSCSCCSCSSCCSCCSSSSCSCSSCSSCCCSSSCSSCCCCSSCSCCCCSSCCCSCCCSSCCSCCSCCCSCCSCSSCSCSSCCCSSCSCSSCSSSCCCSSCCCCCCCCCSSCSCSCSCSCCSSCCCSCSCSSSCSCCSCSCSCSCCCSCSCSCCCCCCCCCCSCCCCSCSCSSCCSCSCSCCSSCSCSCCSCSSCSCSCCSCSSCCSSSSSCCSCCCCSSCSSCCSSSSCCCSCCCSSSSSSCCSCCCCCCSSSSCSCSSSSCCCCSCSSSCSCSSCSSSCCSSSCCSSCSSSSCSSSSCSCCCSCSCSSSSSCCSCSCCCSCCCCSSCSCSSSCSCSSSCSSSSCCSSCSSSCSSSSCSCSCSSSCCCSSSCCSCSCSCSCSCCSSSCCCSSSCCCSCCSSSSSSSSSCCSCSCSCSCCCCCCCCSCSCSSSSCCSCCSCCSCCCCCSCCSCSCCCSSSSSCCSCSCCSSSCSCSSSCCSSSCCSSCCSCSSSCSCSSSSSCCCSCCCSSCCCSCSCCSCSCSSSSCCCSSCSCCSCSCCCCCCSSCSCCSCSSCSCSCCCSCCSCCCSCSCSCSCCCSSSSSCSSSCSCCSSCCSSCCCCCCSSCSCCCSSCCCSCCSCCCCSCSCSSSCCCCSCSCCCCCSCCCCCSCSCCSCSCSCCSSCSCSCCSCSSCSSCSCSCCCCSCCCSCSCSCSSSCSCSSCCCCSSCCCCCCSSSCSSCCCSCCCSSCSCSCCSSSSSSSSCSCCCCSCCSCCSSSSCCSSSCCSSCSSCCCSSCCCSSCSCCSSSSCCSSCSCCSSCCSSCSSCCSSCCCSCSCSCCSCCCSCCCSSSCCCCCCSCCSCSSSCSCSSCCCCCSSSCCSCSCCCSCSSCSCSCSSSCCCSSSSSCCCCCSSSSSSSSSSSSSSCCCCCSSCSSCCSCSCCCSSSSSSSSSSCSCCCCSCCSCSSSSSSSCCCCCSSSCSSCSCSSSSCCSSCCCCCSCCSSSSCCSCCSCSCSCCCSCCCCCCSSCCCSSSCSSCSCSCSCCCSSCCCSSSCSCSSSCCCCCSCSCSCCSCCSSCCSCSSCSSCSSCSSSSSSSCSSSCCSSSSSCCCCSSCCSCCCCSSSSCCSSCSCSSCCCCSSCSCCSSCSCCCCSSCCCCCCCSCCSCCCCSSSSSSCSCCCCSSSSCSSSCCCCCSSSSSCSSSCSCSCCSCCCCSSSSCCSCCCSSSSCSSCSCCCCCCCCSSSSSSCSCCSCSCSCCSSSSSSCSSSSCSCCCSCCSCCCCCCSCSSCSSCSCCCCSSSCCCSSCCSSCCSCSSSCCSCSSCSSCSSCSCSSCSSCSCSSCSCCSSCCCCSCSSSSSSSSCCCCSCCCSCCSSSCSSSSCSSCSCCSSSSCSSSSCCSSSSCCCSSSCCCCSSSCSCCCCSSCCSCSSCCSSSCSSSCSCSSSSCCCSSSCSCCSSCCCCSSSSSSSSCCCCCCCCCCCCSSSSCSSSSSCCCCCSSCCCSCSSCSSCCSCSCCSSCCSSCCCSSSCCSSCSCSSSCSSSSCSCSCSCCSSCSCCCSSCCCCCCSSCCCCSSCCCCSCSSCSCCSCSSSSCCCCCSSCCCSCCCCSSCSCSSCCCCCSSSCCSSCSCSCCSSCSSSCSSCSSSSCCCSSSCSCCSCSCCSCCSSCCCCCCCSSCSSSCSCSSCSSSSSCCCCCSCSSSSCCSCCCSSCSCCSSCCCSCCSCSSCCCSSCSSCSCCSSCCCSSCSSSSCSSSSCSCSCSCSSCCSCCCSCCSSSCCSCCSSSSSSCSSCCSCSSSCSCCSCCSCCSCSCCCCCCSSCCSCSSSCSCCSCSSSCSSCCCSSSCSSSSSCCSCSCSCSSSSSCSSSSCSCSSCSSSSSCCSSSCSCSSCSCCCCCSSSCSCCSCCSSSSSCSSCCCCCSCSSSSCCSCCCCSCSSSSSSCCCSCCCSSCSCCCCSCCSSSCSSSCCCSSSCSSCSSCCSCSSSCCCCSSCSCCCCCSSSSSSSCCSSSCCCCCCCSCSCSSCCCCSCCSSCSSCCSCCSSSCSCSCCSSCSSCSCCCSCSCSSCSSCCSSSCSCSCCSSSSCCSCCCCCSSSCSCSSSSCSSSSCSCSSSSSSCSCCCCCSCCSSSSSCCSCCCCCSCCSCCCCSCSCCCCCCSCCCSSSSSSCCCCSSSSSSCSCSCCSSSCCCCCSCSSCCCSSCSCCSSSSSCCCCCSCSSCCSSCCCSCSCSSCCCSSSSCCSSCSSCCSCSSCCCSCCCSCCCCCCSSCSCCCSCSCSSCCSCSSCSCCSCCSCSSSCCCSSSSSSCSSCSSCCCSCSCSCCCCCCSSCSSSCCSCCSCSCCSSCCCCSCCCSSSSCCCSSCSSSSCCSSSCSSSCSCCCCCCCCCCSSCSCCCSSSCSCCSSSCSSCSCSSCCSCSCSSCSCCCCSSCSSCSSSSSCCCCCCCSSCCSCSSCCSSSSCCSSSCSSCSSCSCCCCSCSSCSCCSSSSCCCCSCCCCSSSCCSCCSCCSSSSSCCSSSCCSCCCCSSCSCSSCCCCCSCCSCCCCCCCSCCCCSCSCCSSSSCSSSCCCCCSCCCSCSCCSSSSCCCSCSSSSSCSCCCCCSSCSCCSSSCCCSCSCCSSCSSCSCSCCSSCCSCCCSSSSCCSCSCSCCSSSSSSCCSSCCSSSCCSSCSCSCSCSCCSCSCSSSCSSSCSSSCSCCCSCSSSSSSCSCSCCCCSCCSSCCCSSSSSSSSCCCSSSSSSSCSCCSCCCCSSSSCSCCSSCSSCCSSCCCSSSCCSSSCSSCSSCCSSSCSSCSCSCCSSCCSCCCCCCSCSSCCCCCSSSSCSSSCCCSSSCSCCCSCCSSCSCSCCCCCSCSSSSCSCCCSCCSSSSCCSCSSSSCCCCSCCSCCSSCCSSSCCSSCSCCCSCCCSCSSCSSCCCSCCSSCCSCCSSSCCSSSCSSCSCCCCCSCCCSSSCSSSCCSSSSCSSSCSCCSSCSSSCSSSSCSSCSCCCSCSSSCCSSSCSSSSSSSSCCCCSCSSSSCCSSCSCCCCCCCCSSSCSCSSSSCSCCSSCSCCCSSSCCCCCCCCCSSCSCCSCCCSSCCCSCSSSCCCSSCCCSSSSSCSCCSSCCCCSCSCCCSSSSCCSSSSSSCCCSCSSCSSSSSSSCSCSCCCCSCSSSCSSCSSSCCCSCSCSCCCSSCCCSCCCCCSSSSSCCCCSSCSSSCSSCCCSSSCSSCCCSSCCCCCCSCSSSSCSSCSCCCCCCSCCCCSCSCCSSSCCSSSCSCCSSSSSSSSCSSCSCSSCCSCSSSSCSSCSCSSSCCSCSSCSSSCSCCCCSCSCCCCSCSCSCSCCCSSSSCSCCCCCCCCSSCSSCSSCSSCCCCCSCSSSCCCSCSCCSSSSSCCSSSSSCCCSCSSSSCCCCSSCCSCSCCCSSSCSSSSSSCCSSCSSCSCSSSSCCSCSSCSCSCCSCCCSSSSCCCSSSCSCSCSSCSSSSCSCCSCCCSSCSSCCSSSCCSSSSCSCSCSSSCCSCCSSCCCCSSCCCCSSCSSSCSCCSCSSCCSSCSCCSSCSCCSSSSSSSCCCCCSSSSSSCSCSSCCSCSSCCCSCSCCSCCCCCSCSCSCSSSCSSSCCCSCCSCSCCCSSCCCSCCSCCCSSSCSCSSSCCCSSCSSCCSSSCCSCCCSCSSSCCSCCSCCCSCCCSSSCCSSSCCCSCSCSCSCSCSCCSCCSCSSSSCSSCSCSSSCSCSSCSSSSSCCCCSCSCCCSCSSCSCCSCSCCCCCCCCCCCCSSSSCCSCCSCCSSCCSSSSCCSSCSCCSCCSSSSSCCCCCSCCCSCSCCCCSSSCSCCCCCSSCCCSSSSCCSSCSSSCSSSSSCSCCSSSSCCCSSCCSCSCSSCSSSCCSCCCCCCCCSCCCSSSCCSCCCCSCSCSSSSCSCSCCSSCSCSCSCCCSCCSSSCCSSCCSSSSSCCCCCCSCCCSSCCSCCCCSSSSCCSSCCCSSSCCCSSCCSCCSSCSSSCSCSSCSCCSCSSSSCSCSCSCCSSCSCCCCCCSSSCCCSSSCCSCSSSCCCCCCCSCSCCCCCCCCSSCCSSCCSSSSCCCCCSSSCSCCSSCSSSCSCCCCSSSSCCCSSSSCSCCCSCCCSSSSCCSCCCCCCSCSSCSCSSSSCCCSSSSCSSCSCSSCCCCSCCSCSSSSSSSCSCSSCSCCCCCSSCSCSCSSSSSCCSSCCCCCSCSCSCCSCCSCSSSSSCSCSSSSSSCCSSCCCCSCCCSSCSCCCSSCSCSCCCCSSSSSSSCSSSSSSSSCSSCCCCCSSCSSCSCSSSSCSCSSSCSCSSSSCCSCSCCCCCCCSCSCCCSSSCCSCSCCSCSSCSCCCSSSSCSCSCCCCSCSCCSSCCCSCCCSCCCCSSCSSSCCCSCCCCCSCCSCCCCSSCCCSCCCCSCSCCSSSCSSCCCSSCSSSSCSSCSCCCCSCSCCCCCCCSCCSCCSSCSCCCCSCSCSSCSCCCCSCCSCCSCCCSSSCCSSCCCSSSSCSSSSSCCCSSSCSCCSSSCCCSSSSSSSCCSCSSCSSCCSSCCCCSSCCSCSCCCCSSSSCSSSCCCSSCSCCCCSSSCCCSCCSCSSCSSSSCCSCCSCSCCSCCSCSCCCSCCCSSCSCCCCCSCSCCCSCSCSSCCCCCCCSCSCCSCSSSSCSCSCCSSSCCCSCCSCCCCSSSSCCCSSSSSSCSCCCCCSSCCSCSCSCCSCSSCCCSSSSSSCSSSCSCSSCCCSCCCCCCCCSSCCSCSSSSSCCCSSSSSSCSSSCSCCCCCCSSSSSSCCSCSCSSSCCCSSSCCSCSSCSCCCCSCSSSCSSCSSCSSSCSSCCSSSSCCSCSSCSSCSCSCCSCSSSSCSCCSCCSSCCSCCCSSSCSSCSCCSSSSSSSCCSCSSSSSCSCSSSCCCCSSCCSSCSCSCSCSCSCCCCCCCCCSSCCSSSCSSSSSCCSSCCCSCSCCCCSSSSSCCCSCCSSCSCCCCSSCSCCCSSSSSCCSCCSCSCSCCSCCCSSSCCSSSCSSCSSCCCSSSCCSSCSSCCSCSCSCSSSSSCCCSSCCSSCCSSSCSSCCCSCCSCSSCCSCSSSCSSCCCCCCCCCCSSCSCSCCCSCCCSCSSSCCSCSSSCCSCSCCSSSCSSCCSCSSCCSSSSSCCCCSSCCCCSSSCSSSCSCCCCSSSCCCCSSSCSCCCCCSSCCCSCSSCCSSCCSSSCCSSSCCCCSSCCCSCSSCSSCCSSSCSCCSCCCCCCCCCCSSSCCCCCSCSSSCSSCSSSSSCSCCSSSCCCCSCCSCSCCCSCSSCSCSCCCCCSSSCCSCCSCCSCSCCSCSSSSSCCSSCSCCSCCCSSCSCSSSCSSSSSSCSSCSSCSCSSCCCCCCSCSSSSSSCSCSSSSSSSCSSSSCCCCCCSSCSSSCCSCSSSSCCCSSSSCCSCSSCCCSSSCCSCCSSCCCCSCCSCSCCSCSCCSSSSSSCSSSCSCSSCCCSSSSSSCCSSSCSSSSSCSCSSCCCSCCCSCSCCSCSSCCCCSCCSSSSCSCSSSCCCCSSSSSSSCSCCCSCSSCSSSCCSCSCCSSCSSSCSCSSCCCCSCSCSCCSCCCSCSCSCSSSCSCSSCCSCSCSSCCSCSCCCSSSSCCCCSCCCCSSCCCSSSCCSSSSCCSSCSSCCCSCSCSSSSCCSSSSCCCSCCSCSCSCCCCSSSSSCCSSSCCSSSCCCCSSCSCSCSSSSSCCCCCCCSSSCSCCSSCSSSCSCCSCCCSCSCCSSSSSSSCSCCCCSCSCCSCSSSSSSCSCSCCCCCSCSSSSSCCCSCCCSSCSCCSSSCCCCSCCCSSSCSCCSCCCCCCSCSCCSCSSSSSSSCCSSCSSCSCCCSCSSSCSCCCCSSCSCCCSSCSCCSCSSCSSCCSSCSCSSSSSCSCCCSSCSCCSSSCCCSCCCSCSSSSSSSCCCCSSSCSSSCSSSCCSCSCSSCCSCSCCSSSSSSSSSCSSCCCSCCCSCCCSSCCCCSCSCCSCCSCCCCSSCSCSCCCSCSSSCCCSSCSSCCCCSSCSCSCSSSCSCCCSSSSSSSCCCCSSCSSCSCSSSCCSSCSCSSCSCSSCSSCCCCCSCSCCSCCCCSSSCCSCCSSSSCCCSSCCCCSSSSCCSSSSSCCSCCCCCCCCCSCSSSCCSSCCSCCSSSSCCCCCSSCSCCSCCCSSCSCSSSCCSSSCSSSCSSCSSSCSSSSCSCSCSSCCSCSSSCCSSSSSCCSSSSCSSSSSCSSSCCSCCCCSSSCCSCCSSSSSSCCCSSSSCSCSCCCCCCSCSSCCSSSCCCSSSCSCSSSSSSCCCCCSSCSSSSCSCCSSCCCSCCCCSCCCCSCSCCCCSCSCCSSCSSSCSSCSCSCSSCSCCSCCSCCSSSCCSSCSCSCCCSSSSSSSSCCCCSCCSCCSSCCCCCCCCSCCSCSSSSCCSSCCCCSCCSSSSCCCSSCCSCSSSSSSCSCCSCCSSSSSSCSCCSCCSCSSSSSCSSSSCCCSSCSCCCSCCCSSCSSSSCSCCSCCCSCSSSCSCSCCSSSCSCSCSCCSCSCSCCSSCSCSSCCSSCSCCSSSSCSCCCSCSCSCSSSCSCCSCSSSSSSSCCSSSSSCCCSSCCSCCCSSCCCCCCCSSCCSSSCCCCCCSSSSSSSCSCSCSSSSSSSCSSCCSSSCSSSSSCSSSCSSSCSCSSCCCSCCSSCSCSSCCCSSCSCCSCCCSCSCSSSCCCCSSCCCSCSSSSSSCSSSSCCSCSSCSCSCSCSCCSCSCCCSSCCCSSCCSCCSCCSSCSSSSCCSSSCSCSSSCCSCCSCCSSCCSCSSCCCCCCSSCCCSSSCSCCSCSSSCCSSSSCCCCCSCCCCSSSCCSCCCCCSCSSSSCCSSCCSSCSCSSCCSSCCSCCSCCCSSCCSSSCSCCSCSSCCSCSSSSCSSCCSSCSSSSSSCSCSSCSSSSSCCCCSCSCSSSSCCCCCSCCCCCSCSSSSSSSCSCSCCSSCSCSSSCCSSCSSCSSCCSCSSSCCSCSCCCCSSSCSCCSSCCCSSSSSSCSCSCCCCCSCCSCCSCSCCSSSSSSCCCCCSCCCSSSSSCCSCSCSCCSSCCCCSCSSSSSSSCCCSSCCSSCCSCSCCCSSSSSSSSCCCCSCCSCCCCSSSCCSCSCCSSCCSCCSSCSCCSSSSCSSSCSSCSSCSCSCCCSSSSCSCCCSSCCCSSCSCCCCCSSCSSSCCSSSSSCCSSSSSCCCCSCSCSCCCSCSCSSSSCSSSSCSCCCCCCCSCCSCSCCCCSCCCCCSSSSSSSSSCCSSCCCCSSCSSCCCSSCCCSCCCSCSCSSSCCSCCCCSCSCCSSCCSSSSSSCCSSCSSCCSSCSCSCCCSCCSSCSCCSSCSSSCCSSCSCCCSCCCCSSCCSSSSSSSSSCSSSCSSSSSSSSSCCCCSSCSSCCCCCSCCSSCSCCSSCSCSCCSCSSCSSCCSCSSSCCCCSCCCCSCSSSSCCSCCSSSSSSSSSCCCSSSCSSSCCSCSCCSCSCSCCCCSCSCCCCSSCCCSSSCSCCCSSSSCCSCCCCSCCSSCCSSCCSCSSSCSSSSSSCCSSCSSSSCSSSCSSSCCCSSCSSSCSCCCCSSCCCCSSCCSSSCSCCCSCCSCSCCCCSSCCCCCSCCCSSSSSCCCSCSSSSCSSSCCCSCSSCCCCCCSCCCCCCCSCCSCCCSSCCSCSSCSSSCCSCSSCSSCSSCCSCSCCSSCSCSCCCCSSSCSCCSCCCSCCSSSCCCSCCCSCCCCCSSCCSSCCCCSSCSCCSSSCSCCSCCSCSCSCSCSSCCCSCSCSSSSSSSSCSSSCSCSSCSSSSSCSSCSSCCCSCSCCCSCSCSSSCCSCSCCCCSSCSCCSCSSCCCSCCSCCSSCSCCCCSSCCCSSSCCSSSSSCCSCCCCSSSSCCCSCSCCCSSCSSSSSCSCCCSSCSSSSSSCCSSSSCSSCSCCCSSCSSCSSSCSSCSCCCCCCCCSSCSSCSSCSSCCCCCCCSSCCSCCCSSCSCSSSSCSSSCSSCSSCSSCSSCSSSSCSCCSCSCSCCCSCSCCCSSSCCSSCCSSCSSSCSSCSSCSSSSCCSCCCCSSSSSCCCSSSCCCCSSSSCCCCCSSSCSSSCSSCCCCSCCCCCSSCCCSCSCSSCSCCSSCSCCSSCCSCSCCSSCSCSCSSSSCCCCSSSCSSCSSCCSCCCSCCSCSSSCCCSCSSCSSSSCSSSCCSSCSCSSSCCSCSSCCCSSSCSCSCSSCCSSCSCSCCSSCSCSCSCSSSCCCCSCCSSCCSSSSSSCCCSSCCSCSCCSSSSCCCSCCCCSSSCSCCSCSCSSCSSCSSCCCSSCCSSSCSSCCCCCSSSSSCCCSSSCSSCSSSSSSSCCCCSCSSSSCCCCSSCSSCSCCCSCSCSCCCCSSCSSCCCSCCSSCSSCCCSCCCCCSSCCCCCCSSCSCCCCCCCCSSCCSSSSCCCSSSCSSSCCCCSSCCSSCSCCSCSCSSCSSSCCCCSCSCCCCCSCSSSSCSCSCSSSCCCSCCCCCSCSCCCCCSCCSCSSSSCCCSSCCSSSCSCCSSSSSSSSCSCSSSCSCCSCSCCCSSSSSSCCSCCSCSSSSSSCCCSCCCSCCSSSCSSSCCSCSCCSSSSCCSSSCCCCCCCCSCCCCSSCSSCCSCCCCCSCSCCSSCSCSCSCCCCCSCSCCCCSSCSCSSCCSSCSCSSSSCSCCSSCSCSCSSSCSSCSCCSCCCCSCCCSSSSSCCCSSSCSSSSCSCSCSCSSCCSCSSCSCSSSSSCCCCCCSCSSCSSSCSSCSCSSCSSSSCCCSSCSCCCSCCSCCSCCSSSCSCSSCSCCSCCSCSSSCCCSSCCCSCCCCSSSCCCSSSCCCSSSCCCCCSCCCSSSSCSCSCSCSCCSSCSSCSSCSSSCCSCSCCSSSSCCCCCSSCCCCCSCCCCSSCSSCCCSCSCSSSCCSCSSSSSCSCSCSCCCCSSCSSSCCSSCCSCCSCCCCCCCCCCSCSCCSCCSSSSSSCCSSSCSCSCCSCCSSSCCSCSSCSSSSSCCSCCSSCSSSCSCCCCCSSSSSSSCCSSSSSCCCCCCCCCSSCCCSCSSCCSSCCSSCCCCSSSSSCSSSSSSCSCCSSSCCSSCSSCSSCCCSCSCSSCCCSCSSSSSCSSCCCCCCCCCCSSSCSCSSCCCCCSCSSSSCCSSSCCCCCCSSSSCCSCSSCCCCCCSSCSCSCSCSCCCCSCSSSSSCSSCCCCCCSSCSCSSSSCSSCCCCSCSCSSSSSCSCSSSCCSSCSSSSCSSSCCSSCCSSSCSCSSCCCSSSSSCCCSCCSSCSCSSCSCSCCCCCSCCCCSSCSCSCSCSSSSCCSCCSCSCCSSSSCSCSSSSSCCSSSCSSCSSSSSSCCSCCSCSCSCSSSSCCSSSSCCSCSSSCCCSCCCSCCCSCCSCSCCSSCSCCSCSSSCCSSCCCSCCCSCSCSSSCSSSSCCSCSCSSSCSCCSCCCCCSSSCSSSSSSCSCCCSSCCSSSSCCCCSCCCSCSCCSCSCSCCSSCSCSCCSSCCCCSSCSSCSCSSSSCCCCCSCSSSSCCSSSCSSSSCCSCCCSCSCCCCCSSSCSSCCCSCCCSSCSCCCSCSSCCCSSSCCCCSCSSCCCCSSSSCSSCCSCCSCCCSCSCSSSCCCCCCCCSSCCCSSSCSSSSSSCSCSSCCSSSCCCCCSCCSSCSSSSSCCSSSCSCSSSCCCSCSCSSSSCSCSSSSCCCSCCCCSCCCSSCCSSCCCCSSCSCSCSCCCSCSCSSSCSCSSSSCCSSCSCCSCSCSSSSCCSCCSCSCCCSCCSCSSCCSCCSCSCCCSSSSSSSSSCSSSCSCCSSSSCCSCCSSSCCSCCCSSSSSCSSCSSCSSSCCCCCSCCCSSCCSCCSSSCSCCSCSCCSSCCCCCCSCSCCCCSSSSCCCSSCSSCSCSCCCCSSSSSSSSSSSCCSSSCSCSCSSCSSSSCSSSCCCCSSCCSCSCCCSCSCCCSCSSSSSSSCCSCCCCCCSCCCCCCCCCSCSCCSSSSSCSSCSCSCCCCCCSCCSSCCSCCCCSCCCSCSCCSCCSSSCSSCCCCCCSCSSSSCCCCCCSCCSCSCSSCSCCSSSSSSCCSCCCSCCSCSSCCSCCCSSCSCCSSSCCSCSSCSCCSSSCCSSCSCCCCCSSCSSCCSSSSCCSCSSSCCSCSCSSCCCCSSSCSSSSSSSSCSCCCCCSCCSSCCSSSCSCSCSSSCCCSCCSCCCCCSCSSCSCCSSSCCSCCSSCCCSSCSSCCSSSCCCCCSCSSSSCCCSCCSSSCSCCSSSSCCCSCSCCSSCSSSSCSSSCSCCSCSSCCSSCCCSCSCCSSSSCCCSSCCSSCCSCSSCSCCCCSSCCSSSCCSSSSSCSCSSSCCCCSCCSSCSCCSCSCCSSSSCCCSCCCCSSSCSSCCCCSSSCCCSCSSSCCCSSCCSSSSSSSCCSCSCCCCCSCSSSCCCCSCSCSSSSCCCCCCCSCCCSSCSSSSSCSCCSCCSCSSCSCCSSCSCSCCCSSSCCCSSCCCSSSSSSCCSSSCSSSCCSSSCCCCSCCCSSCSSSSSCSSCCCSCSCCSSSSCSSSCCSSCCSCSSCSCSSSSCSSSSCCSSCCCCSCSSSSSSSSCSSCCCSCCSCCCSCSCSCSSCSCSSSSSCSCCSSSSSSSCCCSSSCSCCCCCCCSCSSSCSSCSSSCSSSCSCSCCSSSSSCCCCSCCCSCCCSCCCCSCCCCSSSSCCCSCCSSSCCSSCCSSCSSCSSCSSCSSSSSCCCCSSCCSCSCSSCSCSSCCSCCSCSCCSCCCCSSCSSCCCSCSCCCSSCSSSSCSSCSCSCSCSCCCCCSSCSSSSCCSCCSCSCCCSSSSCSCCCSSCCSCCCCSSCCSSCCSCCCCCCCCCSSSSCSCSCSSCCCSCCSCSSSCSSCSSSCSCCCSCCSSCCSSSSSCSSCCCSCCCSSCSSSCCCSCCSSSSSSCCSSCCSCSCSCCCCCSCSCCCCCCSCSCSSSSSCCSSSSSCCCSCSCCSCSSSSSSSCCSSSSSCSSCCSSCCSSCCCCSSSSSSCCCSCSSCCCSCSSCCCCCCSSSCSCSSSSSCSSSCSCSSCCSSCCCSSCCSCSSSCSCCCSCCCSCCSSCSSSCCCSSCCCSCSSSSCSCSCCSCCSCSCCSCCSCSCSSSCCSCCCCSSCCCCCSSCSSSSSCCSSSCCSCCSCCSCSCSSSCCCSCCCSCSCSCCSCSCSSSCCCSSCSSCSCCSSCCCSCCSCCSCSSCCCSSCCCSSCCCCCCSCCCCCSSSCSCSSCCSCSSCSCCCCSCSCSSCSSSSSCSSCCCSSCCSSCCSCSCCSCSCSCCSCSSCSSSCCCSCCCSCSCCCSSCSCSSSCCSCSSSSCSSSSSSCSSSCCSSSCSCCCCSSSCSSCSCSSCCSSSSCSSCCCCSSCSSCSCCSCCSCSSCSSCCSSSCSCSCSSCCSSSCCCCCSCSSCCCCCSSSSCCCCCCSCSSSCSSCCSCCCCCSCCSSSCSSCSCCSCCCSCSSCCCCSSSSSCCSCSSCSCSSCSSCSSSSSSCSSCSCCSCCSSSSSCSSSSCCSCSCSCSCSCCSSCCCSCSSCSCSCSSSSSSCCCCCSCCCCSCSSCSSSCCSCCSCSCSSCSCSCCCCSCCSCCCSSSSCCCSCCSCCSCSSCSCSSSCCCSSSSCCCCCCSSSCCCCCSSCCSSCSCSSCSCSCCCSCCCCCCSCCSSSSSSCCCSSCCCSSCSSSCCCCCCCSSSSSCCCCSCSSSSCSCSCSSCSCCCCCCCCCCSSCSSCSSSSCCCSCCSCCSCCSCCCSSSCCCSSSSSCCCSCSSSCCCCSCSCCCSCCCSCSCCCSCCCCCSSCCSCSSSCSSSSSCSSCCSCSCSCSCCCCSSSSSCCSSCCSCCSCCCCSSSSSCCSCSSCCSSCSCCSCSSCCCCSCSCCCSSCSSSSSSSCSCCCCSCCSSCCCSCSCSCCCSSSCSSSCSCCSSSSCSSCCCCSCSCCSSCCSCSSCCSSSCCCSSSSSCSSCCSSSCSSCCSSSSSSSCSSSSCSCSSSCSSSSCCSSCSCSSCSCSCCCCCSCSSSCCSCSSSSCCSCSSSSSSSCCSCSCCSCCCSCCCSCSSCSSCCSSCCCCSCCCCCCCCSCCSCSSCCSCCSCSCSCSCSSSSSCSSCCCSCSSCCCCCCSCCSSCSCCCCSSSCSSCCCSSSSSSCSCCCSCCCSCCCSCCSCSSCSCCCSCCCCSSCCCSSCSCCSSCSSCSCCSCSCCSCSSCCSCSSCSCSCSSCCSCCCSCSSSSCCSSCSSCSSSSCCSSSCCCSCCSCCCSSSCSCSSSSSCCCCSSSSCCSSSCCCCCSSSSSCCSSSSSCSCSSCSCSSSCSCSSSCCCCSCSSSCSSCCSSSCSSCSCCSCCSCSSCSSSCCSSCSCSSSSCSSCCSSSSSSCCSCSCCCSCSSCSSSSCCSSCCSSSSSCCSCSCCSSSSCSSCCSSCCCSSSSSSSCSSCCSCSSCSCSSSCSCCSSCCSSCSSCCCSSSCCCSCCCCSSCSSSCSCSSSCSSSCSCCSCCCSCCSSCCCSSSCCCCSSCSSCSCSSCCCSCCCSCCSSCCCCSSCCSSCSCCCCSCCSSCSCSCSSSSSSCCCCCCSSCCSCCCCSSSCSSCSSSSCSCSCSCCSCSSCSCSCCCCCSSCSSCCCCCCCCSSSCSCCSCCSCSCCCCCCCSCSSSSCSSSCCSSCCCCCCSCSSCCSSCCSSSSCSCSCSSCSSSSSCSSCSSSSSCCCSSCCCSCSCCSCSCSCCCSCCCSSSCCSSSSCSSCSSSCCSCSCCSCCCCCCSCCSCCSCCSCSCSCCSSCSCCCSCCSCCSCSCCSSCSCSSSSCCCCCCCSCSSCSCCSCSCSSCSCSCSCCCCSCCSCCSCCSCSCSCCCSCCSCSSCSSSCSCCCCCSSCSSCSSCSCSCCSSCCSSCSSCSSCCCCSSCSSSSCSSCCCSSSCCCSCSCCCSSCSSCCCCCCSCSCCCCCSSCCSCCCSSSSSCCSCSSCSCCSSSSSSCCSSSSCCCSCSCCCCCSSSCSSSCSCSSSSSSCCCCSSSSCCCSCCCCSCCCSCCSSCCSSSCCSSCSSSCCCCSSSCCCCSSSSCCSSSCCCSSSSSCCCCSSCSSCCCCCCSCCCSCSCCSSCSSSCSSSCSCSCSCSSCCSCCSSCSSCSSCSSSCCSSCCCSCCSSCCCCCSCSSCSSSSCCCSCCCSCSCCSCCCCCSCSCSSCSCSCCSCCSSSSCSSSCSCSSCCSCSSCSSSSCSSSCCCCCSSCCCSSSSCSSSSCCCSSCCCCSCCCSSSSCSSSCCSSSCSSCSSSSCCSCCSSCCSSCSCCCCSSSCSSSSCSSSCSSCSSCSSSCSCCCSCSCCSCCCSSCCCCCCCSCSCSSSSSSCCCSSCSSCSSSCCCCCSCCSCCSSCSSSCSCCSCSSCCCCSSCSSSSCCSCSSCCCSCSCCSCCCSSCSSCCSSCSSCCSSSSCSSCSCCCSSSCSSCSSCSCCSSCCSCCCSSCSCCSSCSCCCSSCSCSSSSSCSCSSCSCSSCCCCCSSSSCCCCSSCSCCCCSCCSSSSSCSCCSSCSCSCCSCSCCCSSSCCSSSCSSCSCCSCSCSCCCCSCCSCCSCSSSCCCCSCSSCSCSCCCCCCCCSCSSCCCSCCCCCSCCCCCSSCCCSCCSCSCCSSSSSCCCCCSCSCCCCSSCSSSCSSSCCSSCCCCSSSSCSCSSSSCCCCCSSSCCCCCCCSCSCCCCCCSCSCSSCCCCSSSSSSCSSCSSCSCCCSSSCSCCSCCSSSCSCSSSCCCSSCSSSCCSSSSCSCCSSCCSSSCCCSCSSSSCCCSCSSSCSSCSCCCSCCCCSCSSCSCCCSSCSSSCSSSCSSCSSCSCCSCSSSCSCCSSSSSSSCCCCSCCSCSSSSSSCCSCCSCCCCSCCCSSSCSSSCSCSCSSSCSSSSSCCSSSCSSCSCSCSSCCCCSSCSSCCCCSSSCCSCSSCSSSSCSSCCSSSSSSSSSCSCCCSSCSSSSSSCCSSCSSSCCSSSCSCCCSCSSCSCSCSCCSSSSCSSCCCCSCCCSSSSCCCSSSSSSCCSSSSSSSCCCCCCCCCSCSSCCSSCSCCCCSSCCSSCCCCCCCCSCSSSSSCSSCSSCSSSCCCCSSCCSSCSSCSSSSCSCSSSCSCCSCCCSCSCSSSSCSSCSSCSSSSSCSCCSCCSCCCCSSCSCCSSCCSCCCSCCCSCCCCSSSSCSCCCSCSSCCSCCCSCSSSCSSCSSSCCSCCCCSSSCCSSSCCCSCCCSSCCSCCCSSSCCCCSSSCCSSCSCCCSCCCSSCSSSCSCSSCCSCSCSCCCCSSSCSSSSSSCSCSCCSCCCCCCCCCSCSCSCCCSCCCCCSSCCSCSSSSSCSCSSCCCCSSSSSCCSCCCCSSSCSSCCSSCSCSSCSCSSCSSCSSSSSSCCSCSSCSCCSSSCSCSSSSCSSSCCSSSCCSSCCCCCCCSSCSCSSCCSCSSCCSCCSSSCCCSSCCCCCSSCSSCCSSSSCSCSCCCSSSCCSSSSCSCCCSSCSSSSCSSCCCSSCCCSSSCCSCSSCCCSCCCSSCCCCSSCCSCSSCCCCCCCSCSCSCCSSCCSSCSSCCCSSCCCCCSSCSCCCCCCCCSCCCCCSCSSSSCCCCSSSSCSCSSSCCSSCSSCSSCCCCCCCCSSSSSCCCSCSSCCSSSSCCSCCSSCCCSCCCCSCCSSCCSSSCCSCSCSSSCCSCSSCSCSCSCSCCCCCSSCCSCSCSSSCSCSSCSSSCCCSSSCCCSCCCSSSSSCCSCCCCSSCCSCCCSCSCSCSSSSSCCCSCCCCSCCCCCSSCSCCSCSSCSCCCSCCSSCCCCCCCCCCSSCCCCSCCSSSCCCSCCSSSCSSSCCCSSCSSCSSCSCCCSCSCSSSCSCCCCCSSCCCCCSSSCCSCCCSSSCSSSSSSCCCSSSSCCSSSSSSCCSSCSSCCCSSSSSCSSSCCSSCSSSCCSSSCCCCCCSSSSCCCSCCCCSCSCSCSSSSCSSCCSSCSSCCSSSCCSCCCCSCCCSCSSCSCSSSSCSCCCSCSSCSSSSSSCCCSSSCSCCCSSCSCCSSSCCCSCSSSCSCCCSSSSSCSSSCCSCSSSCSCSCSSSCCSSSCSSCCCSSCCCCCCCSCSCCSCCSSCSCCCSCSCSSSCCSSCSSCCCSSCCCCCSSSSCSCSSSSSCSCSSSSCCSSCSSSCCSSSSCSCSCSSSCSSSSCCSCSSCSSSCCCCSCCSSCCSSSCCSSCSSCCCCSCSSCCSCCSCSSSCCSSSSSSCCCCSSSSCCCSCCSCCSSCSSCCCSCCCSSSCSCCCSSCSCCSCSCSCSSCCSSCCSSCSCSSSCCSSCSCCSSSSCCSCCCCSCSCCCSCSCCCSSCSCCCSCCSCCCCSCCSCCSCCCSCSCSSSSCSSCSCCSSSCCSCSSCCSCSCCCSCSCCCCSCCSCCCCCSCCSCSSSCSSSSCSCSCCCCSSCSSSCCSSCSSSCSSSSCSSCCCCSSCCSCSSCSCSCCSSCCCCCCCSCCCSCSSSCSCCCSSCCSSSCSSSSSSCSCSSSCCCSCCCCCSCSSCCSSCSCCSCCSSSSSSSSSCSSCSCCCCSCSSCCCSSSCSCCSCCCSCCCSCSSSSSSCSCCCSCSSCCSCCSCSCSSSCCCCCCCCSSCSSSCSSSSSCSCSCSSSSCSCSSSSSCSSSSSSCSCCSSCSSCCSSSSCCSCSCCSSSSCSCSSSCSCCSCSCCSSSSSCSSSCSCSCCCSCCSCSCCSSSSCCCSCSSCCCCSCSCCSSSSSCSSSCCSCCCCCCSCSCSCSSSCSSSCCCSSCSSSCCCSSCSCCSCSSSCCSSSCSSCSSCSCCSCSCCSCSCSCSCCCCCSSCSCSSCSSCCSCCCCSCSCSSSSCCCSCCSCCCSSCCCSCSCSSCSCSCCSCSCSCCSCCSCCSCCSCSCSSCCCSSCSCSCSSSCSSSCSCCSSSCCSSSCSCSSCCCSSCSSCCCSSCCSCSSCSSSCSCSCCSSSCSSCSSSSSSCSCSSCCCSSSSCCCSCSSCCCCSCCCCSSCSSCCSSCCSCCCCCSSCCSSCCCSSCSCCSSCCSCCCSSCSCSCSSSCCSSCCCCCCCSSCSCCCSCCSSSSCCCCSSCCSSSSCSSSCCSCCCCSSSCCSCSCCCSSSSSCCSSCSCSSCCCCSSCSSSCSSSSSCSSCSCCSSCCCSSCSCCSSCCCSSSCSCCSSCSSSCCSSSSSCCSSCSCSSSSCCCSCSSCSSCCCCSCSCCCCCCCCCCSSSSSCCSCCSCCSCCSSSCSSCCCSCCCCSSSCCSCCCSCCCSSCSCCCCSSCSSCSCCCCSCCSSSSSSSCCCCCSSCCCCCSCCSSSCSSCCSSCCSCCSSSSCCSCCSCCSCCSCSCSCSCCCSSCSSSSSCCSCCSSCCSSCSSSCCSSCSCSCCSCSSCCSCSCCCSCCCCCCSSCSCSCCSSCSSSCCSSSSCSSCCCSSSCSCSSSCSCSCSSSSSSCSSSSCCSSSSCSCCSSCCCSCSCSCCSCCCCCCSCCCSCSSSSCSSCSCSSSCSSSCSCSSSCCCSSSCSSCCSCCCCSCCCCSCSSSSSSCCCSSSSCSCSCSSCCSCSCSCSCCSCSSSSCSCCSSSSCCSSSSCCSCSCCSCSCSCSSCSCSCCCCSCSSCSSSSSCCSSCCCSSSCSCCSCCCCCSCCCSCSCSSSCCSSSSSSCCCCSCCSCCSCSCSSCCSCCSCCCSSSCSSCSCSSCSSSSSSSSSCCCCCSSSSCCSCSSSSCSSCCCCCCSSSSSSCCCCSSCSSCCSCSSCCCCSSCSSCCSCCSSCSCCSSSCSCCSSSCCSCCCSCSCCCSSSSSSSCSCCSSSSCCCSCCCSCSSCSSCSSSCSCSSCCCCSSCCCSCSSCCSSCCCSCSSSCSCSSSCCSSSSSSCSSSCCSCCCCCSCCSSSSSSCSCSSSCSCCCSSSSSSSCSSCSCSSCCCSCSSCCCCCSSSCCCSCSCSSSSCSSCSSSCCCCSSSCSSCSSCCSSSCCSCCCCSSCSCCSSSCCCCSCSCCSSSCSCSSSSSCCSSCSCCSSSSSSSSCSCCCSCSSSSSSCCCCCCCSCSSCSSSCCSCCSSSCCSCSSSSCCSSCCSSCCCCSSCCCSSSCCSSSCCCCSSSSCSCCSCCCSCSSCSCCCSCSSCSSSSCCSCCSCCCCCSSSCCSCSSCSSCSSSCSCCSCCCCCCSCCSCSSSSSSCCCSSCSSCSCSSCSSCSCCSSSSSCCSCCCCCCSCCCSCCCCCSCSCSSSSCSSCCCCCCSCCSSSSSSSCSSSCSSCSCCCSSCSCSCSCCCCSSCSSSSSCSCCCSCSCSSSSSCCCCSSSCCCCCSCCSSCSCSSCCSSSSCCSSSSCSSSCCCSSSCCCCCSSCCSSSSSSSSSSSCCCSCCCSCCCSCCSSSSCCCSSCSSCSSSSCCCCSSSSCCSCSCSCCCCCCCSCCSSCSSSCCCSSSSCSSSSCCSCCCCCCCCSCSSCCCCCSCSSCCCCSSSCCCSCCSCCCCCCCSCSCSCSCSSCSCCSSSCCCSCCSSSCSSSSCSSSCCCSSCCSCCCCCCCCSCCSCSSCCSSCCCCCSCCSCCSSSSSCSCCSSCCCSCSSSSCCSSSCCSCCSSSSSSSCCCSCSSSCCSCSSSSCCCSCCCCSCSCCSCCSSSCSSSSSCCCCCCSSSCSSCSSCCSSCSCCCSSCSSCCSCCSSSSSSCCCSSCSCSCCSSCSCSSSSCSCSCCCSSCSSCSSSSSSSSCSCCCSSCCSCCSCCCCSSCSCSCSSSSCCCSSSSCSCSCCSCCSSSSSSCCCSCSCCCCCCCCSCCSSSSSCSCCSSSCSSCCSCCSCCCCSCSSCCCCCSSSCCCSSSCSCSSSCSCSSCCSCCSSSSSSSSSCCCSCSCCSCSSCSCCCCCSCCCCSSCCSCSCSSCSSSSSSCSSSSSSSSCSSCSSSCSSCSCCCSCCCSSSCCCCSSCSCCCSSCCSSSSSCCCCCCCCCCCCSCCCSSCSCCSCSSSSSSCCSSCCCCCCCCCSCSSCSCSSCSCSSSSSSCSSCCCSCCSSSCCCCSSSSCCSCCCSCCSCSCSSCCCSCCSCSSCCCCCCCCCCCCSCCSSSCSSCSSSCCSSCSCSSCSSSCCSCCSCSCCSSCSSSSCSCSCCSSCCSCSCSSSCCCSSCSCSSCSCSSSCCSCCSSCCCCCSSCCSCCSCCCCSSCCCCSSSSCSSCSCSCCSCCSSCCCSCCSSCCSSCSSCSCCSCSSSSCSSCSCSSCSSSSCSSSCSSSCCSSSCCCSCSSSSSCCCCSCCCCSSCCCCCCCSSCCCCSSSCSSCCSCSSCSSSCCSSSSCSSCSSCSSSCSCSCSCSCSSSSCCCCCSSCCSCCCSCSCSCCSCSSSCCSSCSCSSSSSCCSCCCSCCCCSCCCCSSCSSSSCSCSSCSSCCSCCCSCCCCSCSCCCCCCSCSSCCCSCCCSSSSCSCSCCSCSSCCCSSSCCSCCCSCCSSCCSSSCCSCSCCCCSSCCCSSCCSSCSSSSSCCSCCCSCSCSSSSCSSCCSCCCCCSCCSSSCCCCCSSSSCSCSCSSSSCSSSCCCCSSCSCCCCSCSSSSSCCCCSCCCCCSCCSCSCSCCSCCSCCSSCCSSSCCSSSCCCSSSCSCCCCSCCCCSSCCSSCSCSCCSSCSCSCSSSCCCSSSCSSSSSCCSCSCSCSSCSSCCCCSCCCSSCCSSSCSSSSSSCSSSCSCCSSSCSCCSSSSSCSSSCSCSSSSCCCSCCSSCSSCSSSCCCSCCSSCCCCCSSCSSCSSSSSCCCSSSCCSCSSSSCSSCSSCCSCCSSCCCCCSSCCCSCSSCSCCCSCSCSSCSCSCSSSSSSCSSSCCCCSCSCCCCCSSCCCSSCSCCCSSSCSCSSSCCCCCSCCSSSCCCCSSCSCCSCSCCCCCCSCCCSSSCCCCCSCCSSSCCCSCSSCSCCCSCCCCCSSSCCSCSCSSSCSCCSSCSCSCCSCSCCSCCCSSCCSSSSSCCCCSSCCCSCCCSCCSSSCCSSSCSCCSCSSCSCCCSCCSCCCSCSSCSCSSSCCSSCCSSSSCSSCSCCCSSCCSCCSCSCCSSSSSCSSSCSCCSSCSCCCSSCCSSSCCCSSSCSCSCSCSCCSCCCCCCCSCCCSCCCSCSSSSCSSCSSCSCCSSCCCCCSSSSCSSSSCCSSCCSSSSSCSSCCCCSCCCCSCCCSSSSCSSCCCSCSSSSSCCCSCSCSCCCCCSCSCCCCCSCCSSSSCSCCSSCCCSSCCSCCCCSCCSSSCSCSCSSCCCSSSSSSSSCCCSCCCCCSSSSCSSSCSSSCCSCCSSSCCCSSCSSCCCCCSSCSCCCSCSSSSCCSCCCCSCSCSCCSCSSSCCSSSCSCSCSSCSCCSCSCSCCSCSSCCCCSSSCSCCCSSCCCSSSSCCCSSCSCCCSCCCSCCSSSCCCCSCCCSSCCCSSSCCSSCSCCSSCSSCCCSCCSCCSSCSSCCCSSCCCCCCSCCCSCSSCSCCCCSCCSCCSSCSCSSSSSCSCCSCCSSSSSCSSSSCCSCSSCCSCSCCCCSSCSCSCCCCSCCSCSCCCCSSCSSSCSCCSCSSSSCCCCCSSCCCSSCCCSCCSSSSCSSCCSSSSCSSCCSCSSSSCSSCCCCCCCCSSCCSSCSCSCCSSSSSSCSCCSCCSSCSSCSCSCCSSCCCSCSCCSSSSCCCCCCCCCSSSSCSSCSSCCSCCCCSCCSCCSSSSCCSCCSCCCCSSCSSCCSSCCSSSSSSSCCCCSCSSSCCCCCCSCSCSSSCSSSSCCSCCCSCCCCSSSCSSCCSCSCSSSSCCCCCSCSSCSCSCCCSCCSCCSSSCCSSSCCCSCCCCCCSCSSCSSCSCCCCCCSCSSSSCCCCCSCCCCSSSSSSCCCCSCCSSSSSCSSSSSCSSCSSCCSCCSSSSSSSSSSCSCCSCSCSCCSCSCCCSSSSSCSCCCSCCSCCSSSSSCCCSSCSCSSCSSCCSCSCSCCCCCCSSSSCSSCSSSCCSSSSSCCCSSCCCSSSCSCCCSCSSCCSSCSCCCCSSSCSSCSCCCSSCCCCSSCCSCSSCSSSCSSSCCCSSCCSSSCSCSCCSSCCSSSSSCCCSCCCSCSCCCSSCSCCSCCSSCSCSSCCSCSSCSCCSSSSSSSSSCSCCSSSCCCSCSCCSCCSCCCCSCSSSSSSCSSSSSSSSSSSSCCCCCSSCCSCSSCSSSSCCCCSSCSSCCCCSCCCCSCCCSSCCCSSSSSSSSCCSCSSCSSSCCCSSCCSSSCCCSSCCCSSSCSCSCSSCSCSCSCSCSSCCCSCCSSCSSSCCCSCSSCCSSCSCSCSCCCSSCSSCCSSCCCCCSSCCSCCSSCSSCCCSCSCSCSCCSSCSSCCSCCCSSCCSSSSSSSSCCCCSSCSCSSCSSSSSSCSCCSSSCCCSSSSCCCSCSCCCSCCCCCSCSSCCCCSCSSCSSCCCSSSSSSCCCCSSSCCCCSCSSCCCSSSSCCSCCSSCCCCCSSCSCSSSSCSSCSSCSCCCSCCSSSCCSCCSCCCCSCSCSCCCSSSCCCSCCCCCCCCCSSCCSSCCSSCSCSSCSSCSSCSCSCCCSCCSSCCCSCCCSCCCSSCSCCSSCSCSCSSCCSSCCCCSCCSSCCSSCCCSSSCSSCSSSCSSCCCSCSSSSCSCSSSCSCSSCCSCSSCCCSCSSCCSCCCCSSSSCCCSCCCCSCCCCCCSSSCCSCSCSSCCCSCCSSCCCCCCSCCCCSSCSSCCSSSSSCSCCCSCSCCCSSCCSCCSSSCCSSSCCCCSCSSCCCSCSCSSSSSCSSCSCSCSSCSCSSSCCCCCCCSSCCSCSSSCCCCSSSSSCCCSCSCCSSSCCCCSCSSSSSCCSSCCSCCCCSSCCCSSCSCSCSCSCSSSSSCSCSCSSSCSCCCCCCCCSSSSCCCCSSSCSCSCSCCSCSCSCSCCCCSSCCCCCCCCSSSSSSCCCCSCCCCSCSSSSSCSSSCSSCCSCCSCSCSCSSCCCSSSSCCSCSSSSCCCCSCCCCCSCSSCSCCSCSSSSSCCCSCCSCSSSSCSSCCSSCCCSSSCCCSCSSSCSSCCCCCSSSSSSCCCCSCSCSCCSCSSSCSSSSSCCCSSSSCCCSCSSSSCSCSCSSSSCCSSCCCSCCCSCSSSCSSCCSCSCSSSSSSCSCCSCSSCSSSCCCCSSCSCCCCSSSCSSSCCCCCSCSCCSSSCCSCSCCCSCSCCSCCSSCSSSSCCCCCSSCCSSSSSSSSCCCSSSSSSCCCSSSCSCCSSCCCSSSCSSCSSCSSCSCCSSCSCCCSSCSSSCSSSCSCSCSCSSSSCCCCSCCCCCCSCCCSCCCSCCSSCCCSCCCSSCSCSCCSSSCCCSCSSCCCSCCSSSSSCCSSCCSSCSCSSSSCCSCSCSCSCSCSSCSCCCCCCSCSSCCSSSCCSCSSSSCSCCCSSCSCSCSCCSCCSSCCSSSCCSCSSSSSSSSCCSCCCCCCSSSSCSSSSCCCSSCCSCSSSSCSSCCSSSSCCCSSCSCCSSSSCCSSCSCSCSSCSCSCCSSCCSCCCCCCCCCSCSCSCSCCSSCSCSCCSCSCCCSSCCCCSSCCSSCSCSCSSCCSCCSSSSSCCSSCSSCCCCCSCCCSSCSSSCSSCCCCCCCSSCSCCCCSCCCCCCCSSSSCCCCSCSCCCCCSCCCSSSSSCSSCSCCCCSSSSCSCSCSSCCSSCCSSSSCSSCSCSCCCSSSCCSCSSCSSCCCCSCSSSSSCSCCCCCSSSCSCCSCSSCCCCSCSSCCCSCSSCCCCSCCCCSSCSSSSSCCSCSCSSCCCCCCSCCSSCSCCCCCCSSSCSCCSCSSSCCSSCSSCCCSSSCSSCSSCSCSSSCCCSSSSCCCCCCCCCSCSCSSSCSSCSSSSCCSSSSSSCCSCSCSSCCCCSSSCCSSCSSCSCSSSCSCCCCSSSSSCSCCSCSCCCSCCCCCSSCSSCCSCSSCCCSSSCSCSCSCSCSCCCSCCSSCSCCCSSSSCCSSCSCCCCCCCSCCSCSCCCSCCCSSCSCSSSCSSCCCSCCCSCSCSSSCSCSSCCCSCSCCCCCCCSCCCSSCSCSCSCSCCCSCCCSCCCSCCCCCCCCCSCCSCCSSCSCSCCSSSCCCCCCSSSCSSCSCSCCSSCSCSCSSCSCCCCCCSSSSCCCSCSCCCSCSSSCCSSSCSSSCCSCCCCCCCCSSSCCSSCCCSCSSSCCSSSSCSSCCCCSSCSCCCCCCCCCCCCSSSCCCCCCCSSCSCSSSSSCCCSCCCCCCCSCSCSCSSCSSCSCCCSSSCCCSSSCCCCSCCSCCCCSCCSCCSCCCSCCCCSSSCSCSSCCCSCSSCCCSSCSCCCCSSSCSCSCSCCSSCCSSSSCSSSCCSSSSSCCSSCSSSSSCCCSCCSSSCCSSCCSCSSCSCSCCSCCSSCCSCCCSCSSCCCCCSCSCCCCSCCSSSSCSCCSCSSSCSCCCCSCSCCCSSSSSCSSCCCSSCSSSSCSCSCCCSSCSCSCCCCCCCSSSCCSCCCSCSSCSSCCSSSCCCCSCSSSCCSSCCSCCCCSCCCCSCCSCCCSCSCCCCCSSSSSSSSCSCSCSCSSCSSCSCSCCCCCSSSCSCSSCSCCSSCSCCCSSSCCSCCCCCSSSCSSSCSCCSCSCCCSSSCSSCCSSSCSSCCSCCSSSCSCSSCSCSCCCSSCSSSCSSCSSSSSSCCCCSSCCCSSSSCCSSCSSCCCSSSSCSCCSCCSSCSSSSSSSSCCSSSCCCCSCSCSCSCSSCSSSCCSSCSSCCCSCSSSSCSSCSCCSCCSSCCSCSSSCSSSSCCSCCSSCSSCCSCSSCCSCCSCSCSSCSSSSSSCCSCSSSSSCSSCSSCCSCCCSCCSSCSSSSCCSCSSSCSCCCSCCCSCCSCSCSCCCSCSSSCCCCCCCSSSSCSSSCSSCSSSCCSSSSSSSCSCCCCCCCSSSCCSCCCCSSCSSSSCSSCSCSSCSCSSCSSCCSSSCSCCSSSCCCCSSSCSCSSCSCCCCSSCSCCCCSSCCCCSSSCCCSCSSCCCSCSCSSSCCCCSSSSCCSSSSCCCSSSCSSSSSCSCSSSCCCSSCSSCCSSCCCCSSSCCCCCCCCSSSCSCSSCCCCSCSCSCCCCSCCCCSSCSSCSCCCCSCSSCSSCSSCCSCCCSCSSSSSCCCSCSSSSCSCSSSCSCCCCSCCSSSSSCCSCCCCCSCSSSSCSCCSSSSCCSSSCCCSCSSCSCSSSSSCCCSSCCCSCSSCSSSCSCSSCCCCCCSCCCSCCCCSCSCSSCSCSCSSCSSSCSCCCCCCSCSSCSCCCCSCSCCCSSSCCSCCSCCCCCSCCSSSCSSSSCSSCCSSCSCSCCCSSCCCSCCCCCSSCCSCSSSSCCSSCSSSSSCCSCCCCSCSCSCCCCSCSCCCSSCSSSCCSSCSCSCSCSSCSCCSSSCCSCCSSCCCSCCCSCSSSSSSCSSSSSCSCCCSSSCCSCSSCSCSCCSSSCCCSCCSSSSCSSCCSSSSSCCSSCCCSCSCSCSCCSCCSCSSSSCSSCSSSSSCCSCSSSSSSCSCSCCSSCCCCSSCCSSCCSSCCSSSSCCSSSCCSSCCCCSCCCCCSSCSCCCCCSSSSSCCSSSCSCCCCCSSCSCSCSSCSCSCCCCSSSCSCSCSSCSSSSCSSSSCSSSCCSCCSCCSSSCSCCSCCCCSCSSSSSSCSCCCCCCSCSSCSCCCSSSSCSSSSSSSSSCCCCSCSCCCSCSCSCSCSCCCSSSSSCSSCSSSCSCSCCSSSCCSSCSSCCCCCSCSSSCSSSCCCSCSSCSCSSSSCCSSCSCSCSCSCSCSSSCSCCCSSSSSCCCSCCCCSCCSSCSCCSSCSCSCSCSCSCSSSCCCSSSCSSCCCCCSCCSCCSCSCCCSCSCCSCSCCCSSSCSCCCSSCSSSSSCCSCCCSCCSSCCSCSSCCSSSSCCCCSSSSCSCSSSCCCCSCSCCCSCSCSCCSSSSCSCCSCSSSSSSSSSCCSCCCSCSSCCCCSSCSSCSSSSSSCSSSSCCSCCSSSSCCCSCSCCCCCCCCCCSSSSSSCSSSCSCCCSSSSCSSCCSCCCCSSSCCSSSCCCSCCCCCCCSSSCSSCSCSCSSCSCCCSSCSCCCCSCSCCSCSCSSSSCCSCSSSCCSCCSSCSSCCCSCCCSCSSSCCSCSSCSCCCSCCCCCSSSCCSSSSSSSSCCCCCSSSCSCCCCSSCCCCSSSCSSSCCSCCCSCCSSCSCCCCCSCSSCSSSSCCSSCCCCCSSCCCSCCCSSSSSSCSCSSSCSCCSSCSCCSCCSCSCSCSSSSSSCCCSSCCCCSCSCCSCCCCCSSSCCCCSSCSSCSCSCCSCSCCSSCCCCSCSCCCSCSSCCSCCSSSSCSCCSSSSSSSCSSCCCCCCCCSCCSSCSSCCCSCCCSCCCSSSSSSCCSCSCSSCSSCSCCSCCSSCCSCSCCSSCCSCCCSCSCCCCCCCCSCCSSCCCCCSCSCSCSSSCSSSCSCCCCCCCCCSSSCCCCCSSCSSCSSCCCSCSCSCSCSCSSCCCCCCSSSCCCCSSCCCSCCCCCCSSSSSCCSSSCCSCSSSCSSSCSCSSSCSSCSSCCCSSCSCSCCSSCSCSCSCCSCSCCCSCSSCCCSSSSCSCSCSCSSSSCSCCSSSCCSCSCCSCSCSCSCCSCCSSCSCSSCCCSCCSSSCSCSSSSSSCSSSCSCCCSCCCSSCSCCCCSSSSSSSCCSCCSCCCSCCCCSCCCCSSSCSSCCCCSCSSCCCSSSCCSSSSCCCCCCCCCSCSSCSCSCCSCSSCCSCSCSSSCSSCSCSCSCCCCSCSCCSSCSCCCCCSSSCCSSCCCCCSSCCSSCSSCSSSCSSCCCSCCCCSSSCCCCCCSCCSSSSSCCSCSCSCCCSCCSSCCSSSSCCSCCSCCSSSSCSCCSCSSCSSSCSCCSCSCCCCCSSCCSSCSCCCCSSSCSSCSSSSCSCCSSCCSSCSSSCCSCCSSCSCCSSSSSSCCSSCSCCSSCCCCSCCCCCSCSSCCCCSSSSCSSCSSSCSSSCCSSSCCCCSCCSSSSSCCCSCCCCCSCCSSSSCCCCCSSSCCCCCCSCSSCCCSSSSCSSSCSCCSCSSCSCSSSSCCSCSSCSCCCCSSSCSCCSCCSCCSCSSCCCSCSSCCSCCSCSSCCSCCCSCSSSSSCCCSCSCCSCSSCSCSSCCSSCCSCSCCSSSSSSCSCCCCSSCSCSSSCCSSCSCSSCCSSSCSSSSCSCCSCSSCSCCCCCCCCSSCSSCSCSCCCCCSCSCCCSCCCCSSCSCCCCCCSCCSSCSSSSCCCSCSSCCCCSSSSCSCSSCCSSCCCCSCSCCCSSSSCSCSCSSCCSSCCSSSCSCSCCSCCSSSSSSSSSSCCCSSSCSSSSCCSCCCCCCCCSSSCCCCSSCSSSSSCCCSCCSCCCCSSCSSCCSSSSCCCCCSCSCCSCCSCCCCCSCSCSSSCSCCCCCCCCSCSCCSCSCCCCCCCSCCSSCSSCCCSCCCCSCCSSSSSSCSSSSCSCCCCCSSCCSSCCCCSCSCSSCSCCCSSCSCCSSCCSSSCSCCSSCCCSSSCSCCCSCSCCCCCSCSCSSSCCSCSSCCCSSSSCSCSSCCCCCSCSSSCCSCSCCCCSCSSSSCCCCSSSCCSCSSSSCSCCCCCCCCSSCCSSSSSCSCCSSSSCSCCCCSCCCCSCCSCCCCCCCCCSSSCSSCCCSCSSSSCSCCSCSCCCSSSCCSSSSSSCSSSCSCCSCCSCSSCCCSCSCSCSCCCCCSCCSSSSCSCCCCCCSSCCCSCCSCCCSCSCSCSSCCSCSSCSCSSCCCCCSCSSCSCCCSSCCSSCSCSSCCCSCSSCCSCSSSCCSCCSCCCSCCSCSSCCSCCSCSSCSSSCCSCSCSCSCSSCCCSCCCSSSSCSCCCCSSCCCSSSSSCCCCSCSCCSCSCSSSCSCSSCCCSCCCCSCCSSSCCCCCSCSCSCSCCCSCCSCCSCSSCCCCCSCSCSSCCSCSCSSCSSSSSCSCCCSSCSSCSSSSCSSCSSCCSCSCCSSSCCCCCCCCSSCSSSCCSCSCSCSSSCCSSCCCCSSCSCCSCSSSCSCCSSCSCSCSCSCSSSSSCCSCCSSSSSCCCCSCSCSCSCCCSSSCCSSSSSSSCCCSCSSSSCSCSSSCSCSCCSSSSCSSSCSSCCSSCSCSSCCCCSCSSCSSCSCSCSSSSCCCSSCSCCCSSCSSCSCCCCCSCSCCSCCCCSCCSSCCSCCSSCSCSCCSSSCCSCCSCCCSSCCSCCCCSCCSSSCSCCCSSCSSSSSCCCCSSCCCCCSSCSSCSCCSSCSCSSSSCCCSSCCSCCSCSSSSCSCSCSSSSSSCCSSCCCCSSCCSCSCSSCSSSSSCSSCCSSSSSSSCCSCCCCSSCCCSCSSSSSCSCSSSCSSCCCCCCCSSCSCCSCSCCCSCCCSCSSSCCSSCSSCCCCCSSSSCSSSSCSCCCSSSCSCSCSSSCSSSCSSSSSSCCSSSSSSSCSSCSCCSSSSCCCCCCCCSSSSSSSCCCSCSSSCCCSCCSSSCCCSSCSCSSCCCCSSSCCCSCSSSSCSCSSCCCCCCCSSSSCCCSCSCSSSSCCSSCSSSSCSCSSCSSCCCSCCSCCSCSCCCCCCCSSCCSCCCSCCSSSSSSCCCCCCSSCCSSCSCSCSSCSSCCCCCCCCCSCSSCCCSCSSSCCCCCCSSCCSSCSSCSSCCCCCCCSCSSSSSCSSCSSCSCCSSSSCCCCSSCSSCSCCCCCCCSCSSSSSCCCSSSSCSCCSCCSCSCSCSCSCSCSSSSSSSSCSCSCCCCCSCSSSSCCCSCSSSCCSSCSCCSSSSCSCCSCCSSSCSCCCCSCCSCCSSSSCCSSSSCSSCSCSCCCCSCSCSCCSSCCSCSSSCCSSCCCCCCSSCSCCSSCSSSSCSCSCCCCSCSCSCCSSSSCCSCCSSSCCSSCCSSSSCCCCCCSSSSCSSCSSSCSSCCSCSCCSCCSSSSSSSSSCSSCCSCSSCSSCSCCCSCCCCSSCCCCCCSCCCCSCCCCCSSCSSCSCSSSSCSSCCCCSSCCCSCSSSSSCSSSSSCCCCSSSSCSSSSSCSSSSCSSSCCSCCCCCCCCCCSSCSCCSSSSSSCCSCCSSCCCSCSSSSCCSCSSCCCSCCSCSSCSCCCSSCCSSSSCSSSSCSSSSSCCCSSSSCCCSCCCSCSCSCSSSCCCSCCCCSCSSCCCSSCCSCSSCSSCSSSSSSCSCCSSCCSSSCSCSSSSCCSSCSCCSSCSSCSSSCSCSCCSCSCSCSSSSCCCSCCCSCSSSCCCSCCCSSSSSSSCSSCSSSSSCSCSSSCSSCSCSCSSSCCCCSSSCCSCCSSSCSSCCSCSCCCSSSCSCCSCSCSCCCSCCSSCCCSSSCSCCSSCCCCCCSCSSSSCSSSSCCCSSCCSSCCSSCCCSCCCSCSSSCCCSCCCSCCCSSCCCSSSCSCSCSCSCCSSSSCSCCSCCSCCSSCCSCSSCSSSSCCCSCSCSSCSCSCSSSSSSCCCCSSCSSSCCCCCSCSSCSSCCCCCSSCCSCSSCCCCSCCCCCCCSSCSSCSCCCSCCCCSCCSSCSCSSCCCSSSCSSCSSCCSSSCCSSSCCSCSSCCSSSSSCSCSCSSSCCSSCSCSSCSSCCCCCSCCSSCSCCCSSCCSSCSCCCSCSSCCCCSCCSCCCCCSSSCCCCCCSCSCSSCSSCSSSSCSSSCCSSSSCSCCSSSCCSSSSSSSSCSSCCSCSCSCCCSSSCSSCSSCCSCSSCCCCCCSSSCCCSSCCSSSSCSSSSSSCCSCSSSSSSCSSCSCSCSCCSSCCCSSSSSCSSSCSSSSCSSSCSCCCSSSCSSCSSCSSSSSCCSCSCCCSCCCCCSCCSCSSCSCSSCCCCSSCCCSSCSCSCCCCCSCCSCSSSCCCCCCCCCCCSCCCCCCSSCCSCSCSSSCSSSSCCSSCSSCSCCCCSSCSSCCSSCSCSCCCCSCCCCCSSSCSCSSSSCSSSSCSCCCCSSCCCSCSCCSCSSSSSCCCCCCSSCSCSCSCCSCSCSSCSSCCSSCSSSSSSCSSCSCSCSCSCCCSCSCSCSCSCCSCCCCCCCSCCSSSSSCSCCCCSSSSSCCSCCSSSSSCSSCSCSSSSCSSSSCSSSSCCSCCCSSCSSCSCSSSCSSCCSSSSCCCSSCCSCSSSCSCSCCSSCSSCSCCSCSCSCCCSSSCCSSCSCCCCCSCCSSCCSSCCCCCCSCSCCSSSSSCCCSCSCCSCCSSCSSSCSCSSCSCSCSSSCSCSSCSCSSSCCSSCCCCSCCSCCSCCSSCCSSCCCCSSSCCSSSCSCSCSSCCSCSSCCSSCCSCSCSSCCSSSSSSCSSSCCCCSSSSCCSCSCCCCCSCSSSCCCCCCSSCCCSSCSSSCCCSSCSSSCSCCCCCSSSCCSCSCSSCSSCCSSSSSSCCSCSCCCCSCCCSSSSCCSCSSCCCSCSSCCSSSCSCCSCCSSSCCCSSCSSSSCCSSSCSCSCCCCCCCSCCCSSCSSSSCCCCSSSCSSSCCSCSSSSCSSSSSSCCSCCSCSCCSSCCSCSCSSCCCCSCSCSSCCCSCSCSSCSCCCSSCCCCSCSSSCCCCCSSCCCCCCSSCSCCCSCCSSCSCCSSSCSSSCSSCCCSSCCCCSSSSSCSSSCCCCCSCCSSCCSSCCSCCCCCCCCSCCCCCCCCCSCSSCCCCSSCCCSCSSSCCSSCCSCSSSSCSCCSCCCSCCSCSCCSCSSSCCSCCSCSCCSSCCSSSCSCSCCCCSSCSSSCSCCSSSCSCCCCSCSSSCCSSSSSCSCCSSCCSSCCSSCCSCSCSSSCCCSCCCSSCCCCSSSCCSCCSCCSCCCSSCCSSSCSSCCSSCSSCSCCCCCCCSSCCCSCSCCCSCCSCCSSSSCSCCCSSSSCSSCCSSSSSSSCSCSCCCSSCCCSCSCSCCSCCSSCCSCSSSCSSCCCSCCCSCCCCCSCSSCSSCCSSSCCSCCSCSSSSSSCSSSSCCSSCCCCCSCCCCSCCSSSSSCCCSSSCSCSSCCCCCCCSSSCSCSSSSCCCSCCCCSCCCSSCCCCCSSCSCSCCCCSSSSSCSCCSSSCCCSCSSCCSSSSSCCSSCSCSSSCCCCCCSSSSCCCCSSSCSCSCSSCSCCSCSSSCCSSSSSCSSSCSCSCSSCCCCSSCSSCCCCSSCCCCCCCCSCCCSSCCCSCSCSSCSSCSCCCCSSCCSCCCSCCCSCCSCSCCSSSSCCCCCSCCSCCSCSSCCSSCSCSSSSSSCCCSCCSSSCCSSCCCSSCCCCSCSCCSCSCSSCCSSCCSCCCSSSSCSSSCSCCCSCCSCSSCSCCCCCCCSSSCCCCCSCSSCCCCSSCSSSSSCSSSSCSCSSSSSSCCCSSCSSCCSCSCCSCCSCCCSCCCCSSCSSSCSCSCCCSCSSSSSSCSSCSSCSSSSSSSCCSSCCSSCSCCCSCSCSCSCCSCCCSSSSSCCCSCSSCCCSCCCCSCCSCSSSCCSSSSSCSSSCSSSSSSCCCSCSCSSSSCCCSSSSCCCCCCCSSCSSSCSCSCSCCCSCCCSSSCCSCSCCSSCSSSCSSCCSSCCSCCSCCSSCSCCCCSSCCCSSCSSSSCSCCSSCCCCCCSSSCSCCCCSSSSSSSCSCSSCCCCSCSCCCSCSSCCCSCCCCSCSSCCSSSSSSSSSCCCCSSSCCSSCCSSCCSCSSSSSCCSSCSSSCCCCSCSCCCCSCCSCCSCCCSSSCSSCSSCCCSSSCCSCCCSSCSCSSCCCCCCSSCSCCCSSCCSSCSCSCSSCSCCCSSSCCSSSCCCCSCSSSCSSSCCCSSCSCSSSCSSSCCCCCCSCCCSCCCSCSSCCCCSSSCSCSCCSSCSCSSCCCSSCCSSSCCSSSCCSSSCCCSSCSSCSCCSSSCSCCCCSCSSCSSSSSSCSSSCSSCCSSSSCSCSSSSCCCSSSSCSCCCSSSSSSSCSCCSCSCSCCSSSSCSCSSSSSSCCSSCCCSSCSCSCSSCCCCCSCCSSSCCSCSCCSCCCCCSCCCSSCSCSCSSSSCSSCCSCSCCSCSCSSSCCCSSSCCSCCSCSCCCSSSSSCCSSCCCCSCSSCSCSCSSCCSSSSSSCSSSCSSSSSCCCCSSCCCCCSSCSCCCSCSSSSSSSSSSCCSSSCSSSCSSCCSCSCCSSCSCCSCSSCCSCSCCCSCCCCCSCCSCSSSSCCSSSCSSCCCCSSSCCCCSSSCCCCSCSSSCSCCSSSSSCSSSCSCSSCCCCCSCSCCSSCSCCSCCSSSSCSCCSCCSSCSCSSSCSCSCSCCCSCCSSCCCSCCCSCCCCCCSSCCCCSSCCSSCCCSSSCCCCSCCSSCCCCCSSSCCCSCCSSCSSCCSSCSCCSCCSSSCCSSCSCSCSSSSSSSCSSSCSCSSCSCSSCSCSSSSSCCCCSSSCCSCSCCCSCSCSCCSCSSSCCSSCCCSSCCSSSSSCCCCCCSCSCCSCSCCCSCSCSCCSSSSSCCSCSSCSCCCCSCCSCCCSSCCCSSCCCSCCSSCSSCSSSSCCCCSSCSSCSSSSSSSSSCSCCSSCCSCCSCCSSCCCSSSCSCSSSSSCCSSCSCCCSSSSCSSSSCSSSSSSSCSSCSCCSCSSSSCSSCSSSSSSSSCCCCSSSCCSCSSCCSCCSSCSCCSCSSSCCCSSSCCCCCCSSSSCCSSCCCSCSCCSSSSSSCCSCSSSSSCSSSCSSSSSSCSSCCSSSSCSCSSSCSSSCCSSCSCCSSSSCSSCSCSSCCCCCSSCSSSSCCSCSCCSCCSSCCCSCSSSCSCCSSCCSSCCSCCCSSCCCSCSSSCSSCCCSCCSCSSCCSSSCSCSSCSSCSSCCSCCSSCSCSSCCCSCSSCCCSSSCSSSCCSSSCSSSCSSCSSSCSCSCCCCSCCCCCCCSCCSSSCCCSSCCCSCSCCSCCCCCCCSSSSSCCCCSSSCCCCCCSCCSSCCCCSCSCCCSCCSCSCCSCCSCCSSCCSSCSCCCSSSCCSSSCCSCCCCCCSCSSSSCSSCCCCCCSSSCCSCSSCSCSCSCSSCSSCSCSSCCCSCSCSSSCSCSSCSCCSCCCCSCSCSCSSSSCSCSCCSCCCCSSCSCCSCSSCSSSSCSCSSCSCCSCCSSCSCSCCSCSSSCCSSCCSCCSSSSSCSCSCCCCCCCSSSCCSSSCCSSSSSCCSCCSCCSSCCCSSCCSSCCCCSSCCSCCCCSCSCCSCSCSSCCCCCSCCCCCCCSCCCCSCSSSCSCCSCCSCSCCSCSCCSSSSSSSCCCCCSSSSSSCSSCCSCCCCSSSSCSCSCSSSSSCCSCCSSSSCCSSCSSCCCSSSCSCCSCSSSCCSSCSCCSCCSCSCCCCCCSSSCSCCCCCSSSCSCSSSCCSSSCSSSSCCCCCCCSCSCSSCSSCCCSCCSSCSSCCSCCCCCSCCSSSSSSSCCCCCSCSSCSCCCCCSSSCCCSCSCSCCSCCSCSSCCSSSCCSSSCSSCSCSCSSSCCSCCSCCSSSCCSSSSSSCSCSCCSSCSSSSCSCSCCCSSCCSSCCSCSSCCSCSCSSCSSCSCSCSSCSCSCSSCSSCCCCSCCSSCCCSSCCSCCCCCSCCSCCSCCCCSSSSCSCCSSSCCSSCSCCSCSSSCSSSSCSCSCSSCSSCCSSCSCSCSCSCSSSCSSSSSCCSCSCSCCSCCCSSSSSSSCCCSSCSCSSCCSCSSSSCSSSCSCCCSCSCSCCCSSCCCCCSSSSCSCSSSCSCSSCCCCCCSCCSSCCCSCSSSCCCSCCCCCCCCCCCSSSSCCCCSSCCCCSSCSCSCSCCCCCCSSSCCSSCSSCCSCCSSSCSSCSSCSSCCCSCCSSSSSSCSSCCCCCCCSSSCSSCSCSCSSSSCCCCCSSSCCCSCCSCSCCSCSCSCCSCSCCSCSSCSSCSCCCCSCCCCSSSCSCSCCCCCSCCCCSSSCCSSCSSSSCSSSSSSCSCSCSCCCCSSSCCSSSSSCSSSSSSSSSCSCCSCSCCSSCCSCCCCSCSCCCCCCCCSSSSCCSCSSCSCSSSCSSSSCCCCCCCCSSSSCSSSCCCSSSCCCSSCSSCSCCCSSSSCSSSCSSCCSCSSCCCCSCCCSCCSSSSCSCCSCSSCSSSCCCSCCSSSCCCCSSCSCCCSSCCSSSSSSCSCCCCSSSSSSSSCSSCSSSCCSSCSCCSSSCCCCSSSSCCCSSSCCCSCCCSCSSSSCCCCSSSSCCSCSSSCSCCCSCSCSCCCSSSSSSCCSSSSCCCCSSSCSCCCCCSCCSSCCCSCCSCSSCSCSCCSSCSCSCCCCCCCCCCCCSSCSCSSSSSCSCCSCSCSSSCSCSCCSSSCCCCSSCSSCSSCSCCSCSSCCSCCSSCSSCSSCSCCSSSSSCCSCCSSSCCSSSCSSSCCSSCSSCSCCSSCCSSCCSSCSCCSCSSCCCCSCSCSSSCCSCCCSSSSSCCCCCCCSCSSCCCCSSCCCCCCCSCCSSSCSCSSCSSCSSCSSCSSSSSSSCCSSSCSCCCSCSCCCCCCCSCCCCCCCSCSSCCSSSCCSSCCCCCSSSCCSCCCSCCCCSCCSSSCCCSSSSSCCSCSSCSSCCSSSSSSCCSCSCSCSCCCCCCSSSCCCSCCSCCSSCSSCSSSCSSSSCCCCCSSCCCSSSCCSSCSCSCSCSCCSCCSSCSCCCSCSSCSCSSCSSCSCCCSSCSSCSCSSSSCSSSSSSSCSSCSCSSCSCSSCSSSCCSCCCSCSSCCCSSSCSSCSSCSCCCSSCCCCSSSSCCSCSSSCSCSSCSCSCCSSSCSSCSSCCCSSCCSSCSSCCSCCCSSSSCSSCSCCCSCCSCCSCCSSCSSSCCSSCCSCCCSCCSCCCCCSCSCCSCSSCSCCSSSCSSCCCCCCCSSCSCSCCSCSSCSSSSSCSCSSCCCCSSCCSCCSSCCCSCSCCSCCCCCCSCCCSSCCCCCSSSCCSSCCSCSCSSSSSCSCSSSCSSCSSSCCSCSCSCCCSCCCCSCCCSCCCCSCCSCSSCCCSSCCSCCSCCSCCSCSSCCCCSSSSCSSCCCCCCCCCCSCSCCSSCCCSSSSCCSSCCSCSCSCSSSCCSSCSSCCSSCSCCCSCCSCSCSCSSSCCCCSCSSSSCSCCCCCSSSCCSCCSSCSSCSCSSCSSCCSCCCCCSSSCCCSCCSSSCCSCCCCCSSSCCCCSCCCSSSSCCCSSSSCCSSCCCCCCCCCCCCCSSCSSCCCSCSSSCCCSCSCCCSCSSSSSCCCSSSCCCCSSCSSSCCSSCSSCCSSCSCCSSSCSSCSSSCCSSCCCSSSCSSCSCSCSSSCCSCCCCCSSSSSCCCSCCSCCSSSCCCSCSSSCSCCCSCSCSSSSSSSCCSCCSCCCSCSCSSCSCSSSSSCSCCSCCCCSCCCCCSSSCSSSCCCCSSSCCSCSSSCSSCSCSSSCCSCCCSCCCSCCCCCCSCSCSCSSCCSCCCCCCSSSSSCCCCCSSSSCSSSCCSSSCSSCSSCSCCSCCSCSCSSSCSCSSSCSCCCCCSCSSCSCSCCSSSCSCCSCCCCCCSCCSCSCSCSSCSSCSCCCSCSCSCSCSSCSSCCSSCCCSCCSSCSCCCSCSCCSSSSSSCCCCSSCSSSSCCCSCCCSCSSSSCCCCSCSCCSCCCSCCCCSCCCCCSSSSCSCCCCSCCSCSSCSSSCSCSCSSSCCSSCSCSSCCSSSSSSCCSSCCCCSSSSCCCSSCSCSSCCSSSSSSCCSCSCCSCSSCSSCCCCCSSCCSSCSSSCSSSSCCSCCSCCSSCCCCSSSSSCCSSCSCSSCSCCSSSCCCCSSSCCSCCCCSCSSCSCSCSSSSSSCCCSSCSCCCCSCCSCSCSCCCSCCCSCSCSSSSSSCSCCSSCSSCCCCCSSSCSSSSSCCSSSCCSCSCSCSCSCSCCCCCCCCSSSCSCSCSSCSSSCSCCSCCSCCSSCCCSSSCCSCCSSSSCSCCSSCCCSSSCCCCCSCCSCCSCSSCSSSSCCCCCCSSSCSCSSCSSSSSCCCCCSSSSSSCCSSSCSSSCSCSSCCSCCSCSCCCSCCSCCCSSCSCSCSSSCSCSCCSCCSSSSCCSSCCCCCCCCSSCSCCCSSSSCCCSCCSCCSSSCSSSCCSSSSCSSSSCCCCSSCCSSSCSCSSSCSCCCSCCSSSSSCCCSSSSSSCSSCSCCCSCCCSSCCSSSCCSCCCCSCSCCSSSCCCSSSCCCSCSSCSCCSCCSSCCSSSSCSSCCCCSCCCSCCCSSSSCCSSSCSCSSSSSCSCCCSSSSSCSSCCCCCCCCSSSCCCSCSSCSSCCCCCCCSCCCSCCSSSCCSCCSSSCCCSSCSCSCCSCCSSSCCSSCSCSCCSCCCCCSCSSSCSSSSCCCCCCCSSSCSCSCSCSSCCSSCCSSCCSSSCCCSSSSCCSCSSCCCCSCSCSSSCSSSSSCCCSCCCSCSSSSCSSSSSCCSCSCCCCSSSSCCCSSCCSCCCCCCSCCSCSCCCCCSSSSSSCCCSCSCSCSSCSCCCCCSSCSSSSSCSSSSSCSCSCSCSCCCSCSSCSSSSSCCCSCSCSSSCSCCCSSSCCCSCCCSCCCCSCCSCCSCCCCCCSSSCSCSCSCCCSSSSSCCSSSSSSSSSSSCSSSSCSCSSSSSCCCCCSSCSSCSCCSCSSSCSSCSSCSCCCCSCSCCSCCCCCCSCSSCCSSSSSCCSSCSCSCCCSSSCCCCSSSCCSSSCCCSCCCSCSSSSSSCSCSSCCCSCSSCSSSCSCSSSCCSCCCCSSCCCSCSSCSSCSSCCSCSSCSSCCCCSCCCSCCSSCCCCSCCCSSCSCSCCCSCSSCSSSCCSSCSCCCSSCSSCCCCSSSCCCSCCCSCCSCCSSSCSSCCSSSSSCSSSSCCSSSCCSSSCCSCSCSCSSSCCSCSCSCCCSCSSSCCSSCSCCCCCSSSCSSSSSSSSCCSCSSCSCSSCSCCSSCSSSSCCSCSCCCCCCSCSSSSCCCSSSSCSCSSSCCCSCCCCSSSCSSSCCSSSSCSSSCSCCSCCCSSCSCCCSSSSSCCCSCCSSSSCCCCSCSCCSSSCSSCCSSCCSCSSSSCSCCSSSCCCSCCSCCCSCSCSSSSSCCCCSSCCCSCSSSCSCSSCSCSCSSSSCSSSSCCSSSSSCSCSCCSCSCSCCSCCSSSCCCCSSSCCCSSCSSSSCSSCCSSCCSSSSSCCCCCSCCCSCSSSSSCCSSCCCCSSCSCCCSSSCCSCCSSCSSCCSSCSCSSCSSSSCSCCSCSCCSCCCCSSSSCSSCCCSCCCSCCSCSSSCCSSCCCSSSCSSSCSSSCSCCCCCSSSCSCSCCCSSCSCSCCSCSCCCCSSSSCCCSSCCSCSSSCCSSSCCCSSCCSSCCCCCCCCSSSCCCSCCCSCCCCCSCSCCSCCCSCCSCCSCCCSCCCSCSCSSCSCSCCSSCCCCCCCSCSSCCCCSCSSCSSCCCSSSSSCCSSCSSCCSSSCCCCCSSCCSSSCSSCSSSCSSCSSSSCSSSSSSSCSCSCSSSSCSCSSSSCSSCSCCCSSSCSCCCCSCCCCSSCCSCSSSSCSCSCCSSSCSSCSCSCSCSCCSSCCSSCSSSCCCCCSCCSSSSSSCSCCCSCCSCSCCCCSSSSSSSSCSSCSCSCCCCSSSCCSCSSSSSCSCSCSSCCSSCCCSCCSCSSCSSCCCSSCSSSSCSCSSSCSCSCSCSCSCSSCCCCSCCSSSSCSCSSCCCSCSSCCSSCCCSSCSCCSSCCSCSSSSSCSCCCCSSSSSCCSSSCSSSCCSSCCCCCCSCCCCSCCCCCCSSCSCCSCSCCCSCSCSSSCCCSSSSSSSCSSSSSSSCSSSCCCSCCSSSCSSSCCSCCSCCSCCCSSCCSSCCSSCSSSSCSSCSSCCCCCCSSSCCSSSSSCSCSCSCCSCSSSSCCCSCCSSSCSSSSCSSCSSSSCCCCSCSCSCCSSCCCCCSCCSCCCCCSCCCSSSCCSCSSSSSCSSCSCSCSSSSSSSCSSCSCCSSSCSCSCSSSCCCSSSSSSSSSCCSSCSCCSCSCCCSCSCCCCCSCSSSCCCCSSCCSSSCSSSCCCCCSCSCCCCCCCCCSCSSSCCSCCSSCCCCSCSCCSCCCSCSSSCCSSCSCCCSSCCSSCSCCSSSSCSSSCSSCSCSSSCCSSCSSSSCSSCCCCSCSCSSCCCSSCCSSSSSCSCCCCCCCSCSCSCCCSSSSSSCCSSSSCSSSSSCSSSCCCCCCSSCCSCCSCCCSSSSCSSSCCCCCSCSCCSCSCCCCCCCCSCSSCSCCCSSSCSCCSCCSSSSCSSSSSCCCSSSCSCSSSCSCSCCCCCCSCCSCCCCSCCCCSSSSCSSSCCSSCCSCCSSCSSCCSCSSSCCCSCSSSSCCSSCCCCSCSCSCSCCCCSSSSSCSCSSCCSCSSCCCSCCSSCCCSSSCCCCCCSSCCSSSCSSSSCCCSSCSCSSCCSCSCCSCCSSCSSSCSSCSSSSSCCCCCSCCSSSCSCSCSSSSSSCCCCCCSSCCCSCSSSSCCCSCCSCCSCCCCCCCSSSSCCCSCCCCSCCSCCCCSCSSSCSSSSSCSSSCCCSCSCSSCCCCSSSCCSCSCCSCCSCCSSCSSSCCCCSCSSSSSCSSSCCCCCCCSSCSSCSSCCSSCSCCCCCCSSSSCCCSCCSCSCCCSSSSCCSCCCCSCSSSCSSCSSSCCSSCCCCSSSCCCSCCCCSCSCSCCSCCCCSCSSCSCSSCCCCCCSSCSCCCSCCCCSSSCCSSSSSCSCCCCSCCCSSCCCCSCCCCSSSCCSCCCSSSSSSCCSSCSSCSSCSCCSCCCCCCSSCSSCCCCSSSSCSCCSSSCCCCCCCSSSCCCSSSSSCSSCSSSSSCSSSCCSCSSSCSCSSSCSCSCSSCSCCCSCCSSSCSSSCCSSCSCCCCSSSSCCCSCSCCSSSSCCSCCSCCSSSSSSCSSCCCSSSCCCSSCCCSSSSSCSCCCSSSCCCCSSSCSCCCSCCSCCSSSCSSSCSSSCCCCSCCSSSCCSCSCCCSCCCSSCSSCSSCCCSSSSCCCCCCCCSCCCSCCSSSCSSCSCSCCCCCSSSSCCCCCSSCCSSSSSSCSCCCCSSSSSSSCCCCCCSSCCCCSSSCSSCCSSSSCCSSCCCCCSCSSCSCSCSCSCCCCSCSCSSSCCCCSSCSCSCCSCSCSCSCSCCCSCCCCSCSSSCSCCSSSCCSCSCCCSSCSSCCCSCCSCCCCCSSSCCCCCCCSSCSSCSCCSCSCCSSSCSSCCCSCSCSCCCCSSSCCCCCCSSSSCSCCSCCSCCSCCSSSCSSSSCSCCCSSSSSSSSSCCCSCCSSCCCCCCSCSSCCSSCCSSSSCCCCSCCSCCCSCCSCSCSCSSCSSSCCCCSSCSCCSCCCCCCSCCCSCCSSCSSCCSCCCCCSCSCSSCSSSCSCCCCSSCCCCSCSCCSCCCCSSSCSCSSCCSCCCCSSSCCCSCSSSCSSCCCSCSCCSCCSCSCSSSCCCSSSCSSCCSSCSCSCCCSCCSSCCSSCCSSCSCCCCCSCCCSCSCSSCCCSSCSCSSCSSSCSSCSCCSCCSSSSSSCSCCSCSSCSSSCSSSSCCCCSCCSSSSCCCCSSCSCSSSCCSCCSCSCCCSCCSSCCCSSCCSSSCCSCSCSCSSCSSCCSCCSCSSCSSCCSSCCCCCCCSCSSSSCSCCSCSSCCSSSSSCCCSCSCSSCCCCSSSCSSCSCSSCSSCCSSCCSCCCCSSSCSSCCCCCSSSCSSCCSCCSCCCCSCSCSSCCSCSCSCCCCCCCCCSCSCSCSSSCSCCCCSSCSSSCSSCSSCCCSSCSCCCSSCCSCSSSSCSSCSCSSCCCSCCCCCCCCCSCSSSCSCSSSSSSSSCSSCSCSSSSSCCCCSSSSCSCCCSSCCSCCCSSCSSSCSSCCCSSCSCSCCSCCSSCCSSCSSCSCSCSSCCCSCCCSSCCCCSSCSSSCCCSSSSSCCSSCSSSCCSCCCCCSSCSCSSSCSCSCCSCCSCSSCSSCCSSCSCCCCSCCCCCSCSCSSCCCSCSSCCCSCSCSSSCSSCCSCSSSCCSCSSCCSSSCCCCCCSSSCSSCSCSSSSCCCSCCCSSCSCSCSSCSCSSCSCSCSCCCCCSCCSCSCSCSCSSCCCSCSSCSCSSSSSCSSSCSSCSCSSSSSCCSSSSSSSCSCCCSCSCCSCSSCSCSSSSCCSSSSCCSSSSCCSCCSSSCSCSCCCSCSSCSSCCCSCCCSSSSSCSCSCSSCSSSSCSCCSCSCCCCCCCCCCCSCCCCCSCCCCSSSCSSCSSSCSCSSSCCCCSSSSSSCSCCCCCSSSSCCSCSCSSCCCCSCSCCSCCSSSSSSSCSCCSCCCSCCSSSCCSSSCSSSSCCSCCCSCSCSSCCSSCCSCCCSCCCSCSCSSCCCCCCSSSSSCSCCCSSSSSCSCSCCSCCSCSSCCSSCCCSSCCSCSSSCSCSCSCSSCCSCCSCCSCCCCCSSSCSSCSCSSCSSCCCSSCCCCCCCCCSSCSCSSSSSCSSSCCCCCCSSCSSSCSCSCCCSCCCSSSCCSCCCSCCSSCCSSSCCCCCSSSSCSCCSSCCSCSSSCCCSSCCSSCCCCSCCSCSCSSCSSSCSSCCSCSCCSSCSCCSCCSSCCCCCSSCCSSSCCSCCCCCCCCCCSCCSSCCCCSCCSCSSCSCSCCSCCCCSCCSSSCCCCSSCSCSSCSCCCSCCSSCCSSSSCCSCCSSSSCCSCSCSCCSSSSCCSCCSSSSCSSSCCSSSCCCSSSSSCSSSCSSCSCCSCSSCSCCSSCCSCCCCCSSCCSSSSCCSSSSCCSCSSCCCCSSCCCCCCSSCCCSCSCSSSCCCCSSCSSCSSSSSSCCSCCSSCSCSCCCCCCCCCCCCSCCSCSSCCSCCSCCSCCSCCSSSSSSSCCCCCSSSSSSSCSSCSCSCSCCSSSCCSSCSCCSSSCSCCCCSCSCSSCSCCCCCCSCSCSSSSSCCCSSSSSCCSSSCCCCCCSSSCCSSSSCCCCSCSCSSSSSCSSCSSCSSCCSSCCSCSCSSSCSSSCSCSSCSCCCSCSSCSSCSCSCCCCCSCCSSSSSSSSCSSSSSSSSCSCCSSCSCSCCCCSCCSSSCCSSSCCSCCSSCCSSCSCSSSSCCSCSSSCCCSSSCSSSCCCSCSCSSCCSCCSSSCSCCCCCSCCCSCSCSSSSSCCSSCSSCSSSCCSSCCCSCCCSCSSSSSCCCCCCSCCSCCSCSSCCSCCCCCCSCSCCSSCSCCCSCCCSCCSSCCSCCCCSCSCSCCCSSSCSCCCSCCCCSSSCSSCCSCSCCSSSCSCSCCCSSCSSSSCCCSCSCCSCCCSCCCCSCSCCSCCCCSSSSCCCCSCSCCSCCCCCCCSCSCSSSSCCSSCCCSCSSSSSCSSCCSCCCSCCSSSCSSSCSCCSSCCCCSSSSCCCSSCSCSSSCSCSCCCSCCCCCSSSSCSCCSCCSSCCSSSCCCCCCSSCSCSCSSSCSSCSSCSCCCSSCCCSSCCCSSSSCCSSSSSSSCCCCSCSCSSSCSCSSCSSSSCCCSSSCCSSSSCSSSSSCCCSCCSCSCSCCCCSCCCSSSCSCCSCCSSCCSCSCCCCSSCCCCSSCSCCCSCCSCCCCSSSSSSSCCCCSSCCCCSCSCSCSSCSSCCSCSCSSSCSSSCCSSSSSCCSCCSSCCSSSCCSSSCCCCCCSCSSCCSCCSCCCSCSSCSCCCCCCSCSCCSSSCSSCCCCSCSSSSSSCSCCSCSCSSSCCCSCCCSCSCCCCCSSCSSCSSCCCCSSCCCCCCSSCSSSCCCCSCSCSSSCCCSSCCCCSCCCSCSSSSSSCSCCCCCSCSSSSCSSCCCSCCSSCCCSCCCSSSSSSCCSCSCCCCSSCSCSCSSSCCSSCCSCCSSSSSSCSSCCSSCCSCSCCCSSCSSCCSSSCSCCCCSSSSSCCSCSCCSSCCSCSCSCCSCCSSCSCSSSCCSSSSCCSSSCSSSSCSSCSCCSSCSSCCSSCCCSCCSSSCCSCCCSCCSSSSSSCCCSCCSSCSSCSCSSSSSSCSCSSCSCCCCCCSSSSCSSSSCSSCCSSCSCSCSSCSCSSCSCCSSSSCCSCSCSSSSSCSCSCCCCCCCCSSCSSSCSSCCCCCSSSCSSCSCSSSSCSCCSSSCCCSCCSCCSSCCCSCSCSSSSSCCSSSCSCCCSSCCCSCSCCCSSCCSCSCCSSSSCSCSCCSSCCCSCSSSCCCSSSCCCSCCCCSSSSCCSSSCSSSSSSCSSCSCSCSCSCSSCSSSSCCSSSCSCSSCCCCCCCSSCSSSSCSSCSSSSSSCSCSCSCSSSSCCSSCSSCSSCCCSCSSSSCCSSSSSCCSSSCSCCCCCSCCCSSCSCSCSCSSSSCSSSCCSSCCSSCSCSSSSCCSCSSCCCCSSSSCSSSSCSCCSCSSCSSSSCSCCCCCSCSSCCSSSCCSCCCCCCSSCCCSSCCSSSCSSSCCSSSCSSSCSCSCSSSSSSSSSCCCCCCCSSCCCCCSCSCSSSCCCCSSSCCCCCSCSCCSCCCSSSCCCSCSSSCCCSSSCCSCCCSCCCCCSSCSCCCSSSCSCSSCSSCSCSCCSCSCCCCSCSCSCSCSSCSCCSCCSSCSCCCSCSSCSSSSSSSSCSCSCSSCCSSCSCCCSCCCCSCCSSCSSCSSCSSCCSCCSCSSCCSCCCCCCCSCSCCSCCSSCCCSCCSSSCCCSCCCSCCSSCCSCSCCCCSCSSCCSSCSCSSCSSSSSSSSCCSSCCCCCCCSSSCCCCSSCSCCCSCCSSCSCSCSCCSCCSSSSCSCCSSSSSSCCSCCCCCCCCCSSCSSCSSCSCCSCSCSCCCCCSCCCCCSSSSCSCCCSSSSSSCCCSSCCSCCSCCCCSSSSSCCSCSSSCSCCSSCSCCSSCCSCCSSCSCSSCCCCSCCSSSSSCSSCCCCSSCCSCCSSCSCCCCSSSCSCCSSSSSCSCSSSCCSCCSSCCCSCCCCSCCSSCCCSSCCCSCCSSSSSSSCCCCCSCSCSCCCSCSCCSSCSSSSSCCCCCSSCSSCSSSCSCCSSCSCCSCSSSCSSSSCCSCSSCSSSCSCSSCSCCCCCSSCCSCSCSSSSSCSSCSCSCCCCSSSSCCSSCSSCSSSCSSCSCCCSSSCSSSCCCCCSSSSCCCSCCSCSCCSSCCSSCSCSSCSCCSCSSCCCSCSSCCSCSSCCSCSSCCSSSCCCSSCSCSCSCSCCSSSCSCSSSSCSCCCSCSCCSSCCCCCCCSCCSSCCSCSSSCSCSCCSSCSCSCCSCSSCSCSSSCCSSCCSCSCCSCSCSSCCSSCCSCSCSCCSCCSSCSCSSCCSCSSCSCCSSCSSSSSSCSSSSCCSSCCSCSSSSSCCCSSSCSCSSSCSSSCCSSSCCSCSSSSCSCSSCCCCCCSSCSCSCSSCCCCCCSSCSCCSSSCSSSCCSCSCSSCSSSSSSCCSSSSCSCSSSSCSCSCSCSSSSSCSSCCCSSSCCCSSCSSSSSSCSCCSCCCCSSSSSCSCSCCCCCCSCSSCCCSSCCSSSCCSCSCCSSSCCSCCSCCCCCSCCCCCSSSCCCSCSCCSCSCSSSCCSSCSSCSCSCSCSCSCSCCCCCCCCCSCCSCCSSCCCCCCSSCCCSSSSCSCSCSSSSSCSCCSSSSSSSSSSSCCSSCSSSCCSSSCCSCSCSSCSCCCSCCSSSSSSCCCCCCSCSSCCCCCCSSSCCSCCCSCSCCCCCSSCCCSCSSSCCSCSCSSCCCSCCCSCCCSCSCSSSCCSSCSCCSCCSCSCSSCCCSCSSCCSCCCCCSCSSCSCSSSCCCCCSSSCSCCCCSSCCCCCCCCCSCCSCCCSSCSCSCCCSCSCCCSSSSSCSCSCCCCSCSSCCCSCSCCCSSCSSCSSSSCCCCCSCSSCSSCSSCCCSCCCCCCCCCCSCSSCSCCCSCCSSCCSCCSSCSCCSCSCCCCCCSCCSCSSCCSCSCSCSCSCCSSSSSCCCCSCCCSSSSCSSSSSCSSSSCSCCCSSCSSCSCSCSCSCCCCCSSSSCCSCSCCCCCCCSSCCSCCCCSSCSCCCCSSCCCCCSSSCCSSSCCCSCSCCCCSSSCSCCCCSCSCCCCSSCCCSSCSSCSSSSSCCCCSSSCCCCCSSSCSSSCCCCCSSSCSCSSCCCSSSCSCCCSSSCCSCCSCSCSSSCSCCCCCSCSCSSCSCCSSCSSCCSCSCSCSCSCCCCCCSCSSCCCCSCCSSCSCCSSSSCCCSSSSSCSCSCSCCSSCSSSSSCSCSSCSSSCSSCCCSCSSCSSCCSCCSCCSSSCCSCCSSSCSCSSCSSSCCSCCCCSSSSCCCSSCCSSCSSCCSCSSSCCCSSCSSCCCSCSCCCCCSCSCSSSCCCSSSSCSCCSCSSSCCSSSSCSSCSCSSCSSSSSSSSCSSSCCCCCSSCCCSSSCSCSSSCSCCSSSCCCSSCCSCSCCSCCCSSCCSSCSSCCCCSCCCSSSSCSSSSCCSCSCSCSSSSCSSSCSCCCSCSSCSSSSSSCCSSSCCCSSSCCSCCSCCCCSSCSCSSSSSSCSCCSSCSCSCCSSSSSSSSCSCCSCCSCCCCSCCSCSSSSCSCSSSSCCSSSSSSSCCCSSSCSCSCSCSCCSCSSCSCCCCCSSSSSSCCSCCCSSCCSSSCCCCSSCCCSCCCSSCSSSCCSSSCCCCSCCSCSSCCSCCSSSSSCSCCSSCSSCCCCCSCSSCSSSCSSCCSSSCCSCCCSSSCSSCCCSCSSSSSSCCCCCSCCSSCSSSSCSSSCSCSSSSCCCCCSCSCSSCCCSSSSSCSSCCSSCCSSSCSSSSCCSCCSSCSCCCSCSSCCCCSSSSSSSSSSCCSCSCCCCCSCCSSCSSCCCCCCSCCCSSSCSCSSCSSSSSCCSSCSCSSSSCSCSSCSSCSCSSSSCCSSSCCCSCCCCSCSCCSCCSCCCSCSSCCCCCSSSSCSSSCCCSSCSCSCSCCSSSCSCSCCCSSSSSCSSSSCCSSCCSCSSSCSCSCSSCSSSCSSSCCSCCCSCSSCCSCSSCCCCSSSSCCSSCSSCSCSSSSCCCCCCSCSCCCCCCSCCCSSCSCCSCSCCSCSSCSCSCSSSCSSSSCCSCCSCSCSCSCSSCSSSCSCCCSCSSCCCCCCSCCCCSSSSSSCSSCCSCSSCCSSCCCCCCCCCSCSSCSSSCCSSCSSCSCSSSCCCCSCCCSCSCSSCSSCCSSCCSSSCSSSCSCSCCCSCSSSCSSSSCCCSSSSCCSSCSSSCSCCSCCCCSCCSSSSCCCSSSCSSSCSCCCSCSSSSCSCSCCCSSCCSCCSSCSSCCCCSCSCCCCCCSSCCCSCCCCSCCCSSCSCSCSCCSCCCSCCCCSSCCSCSCCSSSSCSSSSCCCSSCSCSSCSCSCSSCSSCCCCCCSSSSCSSSSSSCSSSCCCCSCSSCSCSSSSCSSCCCCSCCCCSCCSCSSCSSSSSCSSSSSCSSCSSCCCSCCSSCCCSSCCCCSSSCCSSSSSSCSSSSCCSCCCCCCCCSCSCSCSSSCCSSSSCCSSCCCCCSCSCCCSSSCSCSCCCCCCSCSSSCCCSCSSSSSSSCCSCSSCSSCSCSSSSCSCSCSCSSSSCSCCSCCCCSCSSCCSSCCCSCSCCCSSCCCCSCCSSCCSSCSSSSCCSSCCSCSCCSCSCSSSCSCCSSSSSCCCCCSCSCCSCSSSSSSCSCSSCSCCCSSCCSCSSSSSSCCSSCCCCCSSCCSSSSCSCSSCCSSCCSSCSSSSCCSCCCCSCCSSSSCCSSSCSCSSCSCCSCSSCCCCSCCCCSSSCSSCSCCSCSCCCSCCSCSSSCSCCSSSCCSCSCCCCSSSCCSSSSCCSCCSSSSCSCCSSSSSCCSCSCSSCCCCSCSCCSCSCCCCCSCSSSSSCSCSCCCSSSCSSCSCSSCSCCCCSSSCCCCSCSSCSCCCCCCCCCCCCSSCCSSCSCCSSSSSSSCCCCSCCSCSSCSCCSSSCCCCSSCSSSCCSCSCSSCCCSSCSSSSSSCSSSSSSSSSCCCCSCCSCSCSCCSSSSSCSSCSSCCCCSSSCCSCSCSCSCSCCSCSSSCSSCCCSCCCCSCCCCCCCCCSCSCSCSCCSCCCCSCCSCSSSCCSCSCCCCSSSSSSSSCSSSSCSCCSCSSSSCCCCSCCSSSCCCCSCSCCCSSCSSCCSSSSCSSSCCSSCCSSSCCSCCSCSSCCCCSCCCSCSCCCCCSSCCCSSSSCCCSSCSCCCSCCCCCSCCCCCSCCCCCCSCSSSCCCSSSSCCSCCCCCCCSSSSSSSCSSCSCSSCCCSCSSCSSSCSSSSSSSCSSCSCSSSCSCCCSSSSSSSSCSSSSCCSSSSCSCCCSCCCCSSSCSSCCCSSSSSCCCSCCSSSSSCCCCSCCCCSCSCSCSCCCSCSCCCCSSSCCCSCCCCSSCCSSCCCCSCCCCSCSCSSSCSSCCCSCSCCCCSSSSCSCCSCSSSSSCCSSCSSCCSCSSCSCSSCCCCSSCCSSSSCCSSSCCSCSCCCSCSSCSCCCCCCCSSCSSSSCSSCCSSCCSSSCSSCCCCCCSCCSSCCSSCSSCCSSCSCSSSCCSCSCSSCCSSCSSCCCCSSCCCSCSSSSSCCSCCCSCCCSCSSSSCSCSSSCCSCSCCCCSCSCSSSCSCCSCCSCSCSCSCSSSSCCCCCCCCCSSSCCCCCCSCSCCCSSSSCCCSCCSCSCCSSSSCSCSSCSSSCSSSSCSSSSSSSCCSSCSSSCSCSCSCCSSCCSCCCCCCCCSCCSSSSSCSCCSCCSSSCCSCCCSSSSSSSSSCSSSSCSSSCCSSCCCCSCCSCSSCCSSSSSCSCCCSCCSCCCSSSSCCCCSSCCSSSCSSCCSCSSCCCCSCCSSCSSCCCCSSSSCSSCCSSSCCCCCSCSCCSSCCCCCSSSSSCCCCSCSCSSCCCCSCCSCCSCSCSCCSSSSSCCCCSSSSCCSSCCCCSSSSCCCCSCCCSCSCCCCCCCCSCCSCSSSSSSCCSSCCSCSCSSSSCCCCSSCCSSSSCSSCCCCSSSCCCCSSCCCCSCSSCSCSCCCSSSCSSSCCCSCSCSCSCSSCSCSSSCSCCCCCCSSCCSSCSSCSSSCSCSCSCSCCSSSSCSSSSSSCCSSSCCSCSSSCCCCSCSCCCCCCCCCCCCSCCSCCCSSCCSCSSSSCSCCSSCSSCCSSSSSSCSCSCSCSSCSCCCCCCSCSSCCCCSCCCSSCSSSSSSSCCCCSSCSCSSSSCCSSSSSSCCSCSSCCCSSSCSSCCSCCCSCCSSCCCSSSCCSCCCCCCSCSSCSCCSCSCCSCSCSCCCSSCCCCCSSSSSCSSCCCSSSSCSSSCSCSSSSCSCSSSCCSSSCCCSCCCCSCCCSSCSCCSCCCSSSSSSSCSCSCCCCCCSSSSSCCCCSSSSCSCSCCSSSSSSSSSCSSCCSCSCSSSSCCSSSCSSCCCCCSSCSCSCSSSCSSCSSSCSCCSSCCCSSCSCSCCCCCCCCCCSCSCSSCCCCCCSCSCSCCCSSSCCSCCCSCCSSSSCCCSSCSSSSSCCCCCSCSSSSSSSCCCCSCSCSSCSSCCSSSSSSCSSCCSSSCSSSSCCSCCSSSSSCSCCSSSSCCCSCSSCCSSCCCCSCSCCCSSSSSSCSSCCSSCCCCSCSSCSSCCSCCCSSSCCCSSSCCSCSSSCCSCSCCSCCSSCSSCSSCSCCSSSSCCSCSSSSCCCCSCSSCCCCSCSSCCCSCCSSSSCSCSSCSSCCSSCSSSSCSSCSCCSSCCSSSCCCSSSSCSSCSSSSSCSSCSSSCCCSCCCCSCSSSCSCSCCCSCCCCCCCCSSCSCCCCSCSCCCCSSCSSSCSCCCCSCCSSCSSSSCSSSCSCCSSSCCCCSSCCCCCCCCSCSCSCCCSSSCSCCCSSCCCSSCSSCSSCCSCSCSCSCCSSSCCCSSSCSSSSSSSSSCCSCSCSCSSSCCCCCCSCSSSCCSSSCCCCSSCSSSSCSCCCSSSSSSSCCSCCSCSSCCSSSSCCCSSCSCCCSCSCSCSCSCSSSCSSCCSCCCCCSSCCCSCSSSSCCSCSSCSCSCCCCCCCCCCCSCCCSSSSSSCCSCSCSSSCCSCSCSSCSCCCCCCCCSSCCCCCCSSSSSCCSSCSSSCSCCSCCSCCCCSSCCCCCCSSCSCCSSCCSCSCCSSCCSSSCCSCCSCSSSSSSSCSCSSSSSCCSSCCSSCCSCSCCCSSCSSCSSSCCCSSSSCCSCSCSSSSSCSSCSSCCCCCCSCCCCCSCSSSSCSCCSSSSSSCSCCCCSSSSSSSCCCCSSSCCCSCSCCCSSSSSSCCSSCCCSSCCCSCSCSSSCCSCCCCSSCSCCCCCCCSCCCCSCSCCCSCSCCSCCCSSSSSCCCCCCSCSSSSCSSCSCSCSCCCSCCCSCCCSSSSSSCCSSCSCSCSCSCSCCSCCSSSCCSCCSCSSSCSSSCCCCSSSSSCCCSSSCSSCCCSSSCSSCSSCSSSSCSSCSSSCSCCSSCCSSSCCCCSCSCSSSSCSCCSSCCCCCSCSCCSSCCSSSSSSSSSCCSCSCSSCCSSCSSSCCSCCCCSCCCCSCSCCCCSCSCCSCSSSCCSSCSCCCCSSCSSCSSSCCSCSCCCCSCSCSSSCCCCCSCCCCCSCSCCCCSSCSSCCCSCCSSCSSCCCCCCCCCCCSSSSCCSCSSSSCSSCCCSSCCCCSCSSSSSSSCCSSCCSCCCSSSCSSSSSSCCCCSCSSSSSSCSCCSSSCSSSCCSSCSCSCSSCSCSCCSSCCCSCSCSCSSSSSCSCCSSCCSCCSSCSCCSCSSSSSCCSSCCSCSSSSCSSSCSCCCSCCCSSSSCCCCSCSSCSCCSCSCCSSSSCSCSCSSSCSCCSSSSSCSCCSSCSSCCCSCSSCSCCCSSSCCCCSSSCSCCSSCSCCCSSSCCSCSCSCSCSSSCSCSCCCCCCCCSSSSSCSCSCSSSCSCSCCSCCCCCSSSSSCSCSSSSCCCSSCSCCCCCCSSCCCCCCCCCSSSSCSCCSCCSCCSCSCSCCSSSSCSSCSSSCCSCSSSSSSCCSSSSSCSSSSCCSCSCSCCCCCCCSCSSSSCCCSCCSSSCSCCSCSCCSCCCSCCSSSCCCSSCCSSCSSSSCSSSCSCSSCSSCSSCCSSCSCSCSCSCSCCSCSCSCCCSSCSCSCCCSSCCSCSSSCCSSSCSSCCCSSCCCSCSSCCCSSSSCCSCSSSCCCSSCCSSCSCSCCCCSCCCCCSSCSCSCCSCCSSSSCSSCSSCCSCSCCCCSSCSSCSSCCCSCCSSCCSSSSSCSCSSSSCCSCSCCSSSCCSSCCCCCSSSSCCCSCSSCSSCCCCCSCSCSCCCCCCCSSSCSSCCCCSCSCSSCCSCSSCCSCSSSCCCCSSSCCSSCCSSSCCCSCCSCCCCCSSCSCCSSSSCCSSCCCCSCCSCSCSSSCCCCCSSSCSSCCSCCSSCSCSSCSSSSCCSCCSSCSSSCSCSCSSSCCCSSSCSCSSCCSCCCCSCCSCSSCSSSSCCSSSSCSCCCSSSCCSCCSCCSSSCCSSCSSCCCSCSSSCCSCCCSSSSSCCCCCCSSCCCSCCSCCSCCSCSSSCSCSCCSCCSCCSSCSSSCSSCCCSSSCCCCCSCSSCCSCSCSCSSCCSCSCCSCCSCSSCCCCSSSCSSCSSSSCCCSSSSSSCCCSCCSSCCCSSCCCCCSSSSSCCCCSSSSSSCCSCSSSSCCSCCSCSCSSCCCSSCCSSCCCSSSSSCSSCSSCCSSCSSCSCSSSSSCSCCCSSCSSCSCSSCCSCSCCSSSSCCSCSSSCCSCCCCCSSCSSSSCCCSSCSSCCCSSCSSSSCCCCSCCSSCSSCCSCSCCSSSCSSCSCSSSCCSSSSSSCSCSSSSSSSCSSCSCSCSSSCSCSCSCSCCCCSCCCSCCCSSCSSSSCCSSCSCSCSCCSSSCCSCCSCSSCSSSSCCSCSSCSSSCCSSCSSCCSCCCCSSSCSSSSSSSSCCCCSSCSSSSSCSSSSSCCSCSCCSCCCCSSCSSSCCCSSSCCSSCCCSSSSSSSSSCSCCSSSSSCSSCSCSCSSSSSCCSCSSSSSSCCCCSSCSSCSCCSCSSSSCCCSCCSCCCSCCCSSCCCCCCCCCCCSSCSCCSSCSCCCCSCSSCCSCSCSSSSSCCCCCSCSCCCCSCCSSSCCCCCCCSSSSCSCCCSCCSCCSSSCSSCSSCSSCCSSSSSCSCCCCCCSSSSCSSCSCSCSSCSSCCCSSCCSCSCCSSCSSSSSSSSSCSSCCCCCCSCSSCSSCSSSCCCCCSSSCCCCSCCCSSCCCCCCCSSCCSSCCCSSSSSCSSSSSSCCCCSSSSCSSCSCSCSSSSCSSSSSCCSCSSCSSSSSSCSSCCSCSCCSCCCCSCSCSCCCCCCSCSCSSCCCSCCCCCCSCCSSSCCCCSSCSCSSCCSCCSCSCCCSSCSCSSSSSSCCSSCSCSSSSCCSCCCSCSCCCCSSSCSSCSCSSCSCSCSCCCCSCCSSSSCCSSCSCCSSSCCSSCSSSSCSCSCSSSCCCSCCSCCCCSCCCCSSCCCCCSSCSSSSSCSSSSCCSSSSCCCSCCSSCSCSCSSSSSCSSCCCSCCSSCSCCSCCCSSCCSSCSSSSCCSCCSSCCCCSSSSCCSCCSSSCSCCCSCCCCCCCSCSCSSCSCCSSCSCCCCSSSSCSCSSCCCSSSCCCCSSCCCSCCSCSCSCCCSSCCCCSCCCSSCSSSCSCSSCSSSCCSSSSSSCSCCCCCSCSSSCSCSCSSCCSSSSCSSSCCCCCSSCCCSSSCCSSSSCCSSCCCCSCCCSCCSCSCCSSSCSCCSCCCSSCSSSCCCCSSCCSSCSSSCSSCCSSSCSCSCCCSCSCCCSSSCCSCCCCSSCCCCCSCCCSCSCCSSCSSSSCCSCSSSCCCCCSSCSSCSCCCSSSSSSCCCCCCCSCSSSCSSSCSSSSCSSCCSSCCCSSSCSCSCSSSCSSSCSSSSCCSSCSCSSSCCSSSCCSSCSCSCSSSSCSSCCSCSCSSSSCSCSCSSSCCCCCSSCCCCSCCSSCCCSCSCCCCSSCSCSSSCCCSSSCCCSCCSSSSCCSCCCCCSSCCSCCSCCCCSSCSSSSCCCSSCCSCCSSCSCCSCCCCCSCSCCSCCSCSSCSCSSCCSSCCCCCSCCSCSCSSSCSSSCCSCCCSSSCSSSCSSSSCCSSCCSSSSSCSSCCCCSCCSSCSCSSSCCCSSSCCCSCSCCCSSSSSSSSSCCCSCSCSSCCCCSCSCCSCSSCCSCCCCCCCSSCCCCSSSSSCSCSSCSSSSCCSSSSSSCCCSSSSCSCSCCCCCCSSCCCCSSSCSSCSSSSCSSSCCCCSCCSCCSCCCCSSCSCSCSCSCCCSCCCSCSSCSCSSSSCSCCCCCCSCCCCSCCSSCSSCCSSSSCSSCCSSSCCSSSCCSSSSCSCSSCSCCCCSCCSCCSCSSCCCCSCSCSCSCCCCSCCCSCSCSSCCCSSSCCSCCSCSSCCSSCSSSSSSSSCSCCCSSSCSCSSCCCSCCCCCCCSSCSCSCSSCCSSCSSCSCCCSSCSSCCSCSSCSSCSCCSSSCSCCCSCCCSCSCCSSSSSCCCCCSCSSCSCCSSSCCSCSCSCSSSSCCCCCCSSSSCCCSCSCSSSCCSSSCCSCCCSSSSSSCSCSSSCSSCCSSCCSCCCCCSSSCCCSSSSSCCSSCCSSSCSCCSCSSCCSCSSCSSCCSSSSCSSCSCSCCSCSCSSCCCCCSCCSCSCSCCCSCSCCSCSCCSCCCSSSCSCSCCSSCCCCSSSSSSSCCSCCSSCCSCSCCSCSSSCCCCCSSSSSCSCCSCCSCSCSCSCSSCSCCSSCSCSCCCSCCCSCCCCCCCSCCSCCCCCCSSCCCSCCCSCCCSCSSCCCCCSSCSCSCCSSSCSCSCCCCSSSCCCCCCCCCCSSSSSSSSCCSCCSSCSCSSSCCSCCCSSSSCSCCCSSCCSCCCSSCSSSSCCCSCCCSSSCCCSSCCSSSCCCSCSSCCCCSCSCSCSCCCCCCCSCCSSSSCCSSSSSCSSCSCCCSSCCSCSSCCCSCSCCCCCCCSCSCSSSCCSCSSCCCCSSCCCCSSCSCCCSSCSCCSSCCSCSCCSSCSSCSCCCCSCCCCSCCCCCSSCSSCSSSCSSSCSSSSCCCCCSSCSCCCCSCSSCCSCSSCSSSCSSSCSCSSSSSSCSCSCCSSSSCCSCSCCSSSCCSCSSSSCSSCCSSSCSSSCCSCCCCSSCSSCCCCCSSSSCCSCCCSCCSSSCSCSSSCCSCCCCSSSSSSSCCCSSCSSCCSSSSSSCSCCSCSCSSCSCSSSSCCSCCSCSCSCCSCCSCCSSSCSSSCSSCSSCSCCSCSCCCSSSCCSCCCCCCCCCSSSCCCCCCSSSSSSCCCSSSCSSCCCCSSCSCCCCSSSCSSSSSSSCSCCSCCCCSCSCSCCCCSSCSCCSSSCSSCSSCCCSSSSSCCSSSCSCCCCCCSSCCCCSSCSCSSCCCSSSSSCSCCCCSSCSCSCSCCSSCCSSCCSSCCCSCSSCSSSSSSCSSSCCCSSCCSSCSSCCSCSSCCSCCCCCSCSCSCSCSCCCCSSSCCCSSSSSSSSCSCCSCCCSCCSSCCCCSSCCCCCSCCCCCCCCSSSCCCCSSCSCCSSCCCSSCCCCSCSSCCSSSSSCCCSCSCSCSCSCCCCSSCSCCSSCSCSSSSCSSCSCSCSSCCCSSSSCSSSSCSCSCCSCSCCSSCCSCSCCSCSCSSSSCSSCCCSSCCSCCSCCSCSCSSCSSSCCSSSSCCSCCSCCCSCCCCCCCCCCSCSCSSCSSSSCCSSSSCSSSCSSCSSCSSCSCSCSCCSCCSCCCCCSCCCSCSCCSSSCCCCSCSSSSCSSCSCCCCCCSSSCCCSCSSCSSSCCCSCSSSCSCCSCCSSSSSSSSCSCSCCSSCCSSSSCCCCSCCSSCSSSCCCSSSCCSCSCSCSSCCSSCCSSSSSCCSCSSSSCSSSCSSCSSSSCCSCSSSCCSSSSSCSSCSSCCSSCCSCSSCCSSCSSSSSCSCCCCCSSSSCCCCCSCSCCSCCSCSSSCSSCSSSCCSCSSSCSCCSSSCCSSCSSCSCSCCCSCSSSSSCSSSSCCSSCSSCCSCSCSCCCSCSCSCSSSCCCSCCCSCCCSCCSCSCSCCSSCSSSSSCSSCCSSSSCCCCCCCCCCSCCCSCCCCCCSSCSCCCCCSSSCSCSCCSCSSSCCCSSCSSCCSSCSSSCSSSCCSCSCCSSCSSCSSSCCSSCSSCCCCCSSCSSSCSSCSCSSSCCCCSCCSSCSCSCSSSSCSCCCCSSCCCCCSCSCSSCCSSSCCSSCCCSSSCSCSSCSCCCSSCSSSSSCCCSSSCSCCCCCCSSSSSCSCSCCCCCSSCCCCSCCCCCCSCSCCCCSCCCSSSCSSCSCSSCSCCSCSCCCCSCSCCSCSCSSSSCSSSCCCSSSSCSSCCSCSCSSCCCSCSSCCCSCCCCCSCSSCCSSSSCSCSSSSSSSSCCSCSSSCCCCSSSCCSSSSCCCSCCCCSCSCSCSSCCCCCCCCSCSCSCSCSCSSSCCSCCCCCCSCCCCCSSCSSSSCSCCCCSCSCSSSCSSSSSSCCSSSSCSSSSSSCSSSSCSCSCSSCCSSSCCCCCCCSSCCCCSCCSCCSCCCSCSSSCCCSSSSSCSCSCSSSCCSSSCCSCSCSCCCSSSCSCSCSCSSSSCSCCSSCSSCCCSCCSCCSSSSCCSSSSCSCCCSCSCCCSSSSSSSCCCSSCSSSCCSCCSSSSCSCSSCSSSSCSCCCSSSSSSCCCSSSSSSSSCSSSSCCCSSSSCSCCSSCCCCSSCCSSSCSCCSCSCCSCCCSSCSCSSCSCSSSSCCCCSCCSCCSCSSCCSSSCCCSCCSCCSCSSSSCSSCSCSSCSSSCCCCCSCSCSCCCSCCSSSCCSSSCCSSSSCSCSCSCCSSCSSSSSSCSSSCCCSSSSSSSSCCSSSSSCCCSCSSSSSSCCCCSSCSCSCSSCCSCCCSSSCCSCSSSCSCCCCCSSSCSSSSSSSCSSSCSCCSSSCCCCSCCSCCSSSSSSCCSSSSCSCSCCCCSCCSSCCSSSCCCCCCSSSCCSSCCSSCSCSSCCCSSSCCCCSCCSCCSCCSCCCCCCSCSCCCCSSCSSSSSCSCCSCCSCCCSCSCCCCCCSSSSSCCCSSCSCSCSCCCCCCCCSSCSCCCSCCSCSCSSSCCCSCCSCSCCCSSCCSSSSCCSSSSSSSSSSCSCCSSCCCCSSSSCSCCSCSCCSCSCCSSCCSSCSSCCCSSSCCSCCCSCSCSSCSCCSSCSSCCCCSSSSCSSCCCCCSSCSCSCCCSSSCSCSCSSCCCSSSSSSCCCCCCSCCCSCCCCCSCSCSCCCSCSSSSCSCSCSCCCSSCCCCCCSCSCCCCCSSCCCCSCCSCSSCSSSSCCCCCCCCSCCSSSSSSSCSCCSSSCCSSCSSSCCCSCCCSSSSSSCSCCCCSSCSCCCCCCCCSSCCCCSCCSCCSSCCSSSCSSCSCSCCCSSSSSCSCSSSCCCSCSSCSCSSCCSSCSCCSSCCSSSSSSCSSSSCCCCCSSCCSCSCCCCSSSSSCSCCCSSSSCSCCCSCCCSSSCCSCSCSCSCSCSCCCSSSCSCSSSSSCCSCSSSSSSSCCSSSSCSCSCCCSCCCCSCSCCCCCCSSSSSSCCSCCSCSCSCSSSCCCSSCSCSCSCCSSSCSSCCCSCSSCCSSSCCCCSSSSCSSSCSCSSSCSCCSCSSCCCCCCSSSSSCCCSCCCCSSSCCCSCSCCCCCCSCSCSCSCSCSSCCCSSCCSCSCCCCCCSCCSCSSSCCSSCCSCCCSSCCCSSCCSSCCCCSCCSSCCSCCSCCCCSCSSSSCSCCSCCSSSCSSSSCSSSCSCSSSSCCSSSCCCCSCCCCCCCCCSSSCSSSSSCSSCCCCSSCCSSSCSSSCSSCCCSCSSSSSCCCSCSCCCCCSCSCSSCSSSSSSCSSSCCSSCCSSSSSSSCCSSCCCSSCSSCCSCSSCCCCCSCSSCSSCCCSCSCSCCSSCSSCSCSCCCSCCSCSCCSCSCCSCSSSCCSSCSCCSCSCCCSSCCSCSSSSSCSSCCCSCSCCSCCSSSCSCCCSCCCSCCSSCCSSSSCSSSCCSSSSSSSCCCCSSCCSSSSSCSSSSCCCSCSSCSSSCSSSSSSCSSSCSCSCCCSCSSSSCSSSSSCCSSSSCSSCCCCSCSSSCSCSCCSCCCSCSCSCCSCCCCCCSCCSCCSSCSSCCCCCCCCSCCCSCCSSCCSCSSCCSSCSCSSCSCCSCSCSCCSCCSSCCCCCCCCCSCSSCSSCSSSCSSCCSSCSCCSSSCCSSSSCCCCCSSCSCSCCCSCSCCSSSSCCCSCCSCSSCSSCSCCCSSSSSSCCSCCSCCCSCCSSSSCSCCCCCCSCCSSCCCCCSSSSCSCSCSCCCCSCSSCSCCSSCCCSCCSSCSSSCCSCCCSCSCCCSSSCSCSSSCCSSCSCCSSCSCSCSCSCCSCCSCCSCCCCSCSCCCCSCCCSCSSCSCSCCSCSCSCCCSCCCCSCSCSCCSSCSCCCSSSCSCCCSSSSCCCCCSCCCSCSCCSSSCCSCSSCCCCSSSSCSSSSSCCCSCSSCCCSCSSCSSSCSSSSSSSCCCSSCSSCCCCSSCSCSSSSCSCSCSCSCCSCSCSSCSSSSSCCCSSCCSSCSCCSSCCSSSCCCSCSSCSSCCSSSSSSSCSCCSCSSSCCCCSSSCSCSSCSSSCSSSCCCCCCCCSCCCSCCSSSCSCCSSCCSCCSCCSCCSCSCCSSCCSSSSSSCSCSCCSSSCSCSSSSCSCCSSCSSCSCCSSSSCSSSCSSCCSCSCCSCSSCSCCSSSSSCCSSSSSSSSSCCSSSSCCCSCCCCCSCCSSSSCSSSCCCSCSCCCCCCCCCCCCCCSCCSCSCSSCCCSCSSCCSCSCSSCSSSCSCCSCSCCSCSSCSCCSSCCCCCCCSSCCCSSCSCSSSCCCCCSSCCSSCSSSSCSCCSCSSSSCSCSCSCCCSSCSCCCSSSSCSCSCSSCCCSCSCCSSCCSCCSCSCCCSSCSCSSCCCCSSSSCSSSSSCCCCCCCCSSCCSCSCCCSCSSCCCCCSCCSSCCSCSCCSSCSCSSSSSCCSSCSSCSSCSSCSCCCSCCSCCSCCCSCCCSCSSSSSSCSSCCSSSCSSCSSSSSCSCCCCSSSCSSSCCSSSCCSCSSCSCSSSSCCSCCCCCCCCCCSSCCCSSCCCCSSSSCSSCCCCSCCCCSCSSSSSSSSSCSSSSCCCCCCSSSSCSSSSCCCCCCSSSCSSCSCCCCSSCSSCSSSCSCSCSSSCCCCSCCCSCCSCCCCSCSCCSSSSSSSSCSCCSSSSSCSCCSSSSSCSSSSSSSSSCCSCSSSCSCSCSSSCCCCSSSCSSSCCSSCCCCCSCCSCCCCCSCCCSSSCCCSSCCSCCCSSSSCSCCCCSCCCSCCCSSSSSCCSSSSSCCSSCSSSCCSCSSCCSSCCCCCSCSCCSSSCSSSCCCCCSSCSSSSSCSCCSSCSCSCSCCCSCSSCCCSCSCCCSCCSCCCCSSSSSCCSSSSSSCSSSCCCSCSSCCSSCCSSCSSCCSCCCCSSCCSCSSSCSCSCCSCSCCCSSCSCSCSSSSSSSSSCSCCCSCCSCCCCCCCSCSSCCCSSCSCSSCSCCCCSSSCCCCSCSCSCCSSCSSSSCCCCSCCCCCSCSSCCCCSCCCSCCSSSSCSSCCCSCSCCSSSCCCSSSCSCCCCSCSSCCCSCCSSSCCSCSCSSCCSCCCSSSCCSSCCCCCCSCCCSCCSSSSCSCSCCSSCCCCSSCSCCCSCSCCSCSSSSCCCSCSSCSSSCCSSSCSCCCCSCCCSSCCSCSCCSSCSSSSSCCCCCSCSCCSSSCSCSSSSSCSCSSSCCSCSCCSSCCCCCCCSSSSSSCSSCCSSSSCSSSCCCCSSSSCCCCSCSSCCSSSSCCSSCSSCSSCCCSCSCSCCSCSCCSSCCSSCCSCSCCSCCSCCSSCSCSCCSSSCSSCCSCSSCCCCCCSSSCSSSSCCSSCCSCSSCSCCSSCSSCSCSCSCCSSCSCCCCCSCSSSCSCSCSCSCCCSCSSSSSSSCSSSSSSCCSCCCSCSCSSSCSCCCCSCCCCCSSSSCCSSCCSCSSCSSCCCCCCCCCSSCSSSSSSSSCSSCCSSSCCSCSSSCSCSSCSCSSSSSCCSCCSSSSSSSCSSCCSSCCSCCCCCCCCSSCCSSSCSSCSSCCCSCCSCSSSCCSSCCSSSSSCSCSSCCSCSSSCSCSCSCSCCSCSCSCSCCSCSSCSSSSCCSSCSCSSSSCCSCSCCCSCCCSCSSSCSCCSSCCCSSSCSCSCCSSSCCCCCSSSCCCSSCSSCCCSSSSCSCCCCCCSSCSCSCSSCCCCCCSCCSSSCSCCCSCSCSCSCCSSSSCSSCSCCCCSSSSSCSSSSSSSSCCSSSSCSCCSSSSCCSSSCCCSCSCCCCSCSCCSCSSCCSCSSCSSCSCCSCCSCSCSCCCSSSSCSSSSCSCSSCCCSSCSSSCSCCSSCCCSSSCCSCCSCSSCCSCCSCCSSSSSCSSCCSCCSCSSSCCCSCCSSCSSSCCCSCSSCCSCCSCSSCSCCSCCCCCSCSCSCCSSSSSCCCSCSSCSCSCSSSSCCSCCSSSSSSSCSSCCCCSCSSSSCCCSSSCCCSSSSCCSCSSCCCSCCSCSSSCSCCCCCSSCSSSCSSSSSSSCSSCCSSCSSCCSSCCSCSSSSCCSSSSSCSSCSSCSCSCSSCSCSCSCSSCSSSSCSCSSSSSSSCSSCSCSCSSSSSCCSSSCSSCSCCSCCSSSCCCCCCCSSSSCCSSCCSSSCCCCSCSSSSSCCSCSCCSCCCSCSCSSCSSSCCCSSSSCCSSSSCSSCSSSCCSCCCCCSSSCCCSCCSSCSSCCCSCSCCCCSCSSCSCSSCSCCSSSSCCSCCSSCSCCSSCCSCSCSSSSSCSCCCCSSSCCSSCSSSCSSCCCCCCCSSSCCSCCSSSCCCCSCSSSSSSCCCCCCSCCSSCCCCCCSSCCCSSCSCSSSSCCSSCCCCSCCCCCSCSCCSCSSSCCSCCCSCCSCCCCSSSSCCSCCSSSCCSCCCSCCCSCSSSSSSSSCSCSCCCCCSSCSSCCSCSCCCCSSSSSSSCCSSSSSCSCSSSSCSCCSSSCSCCCCSSCCCCCSSCSSCCCCSSCSSCSSCSCCSCCCSCSCCCSSCCSSSSSCCSSSCCSCCSCSCSCSCCCCCSCCCCCCCCSCCSCCCCCSCCCCSCSCCSCSCCCSSSCSCSSSCCCCSCCSCCSCCCCSCCCSSCCCSCSCSCSCSCCSCSSSSCSSSCCSSCSSCSCSCSSCSSSCSSCSSCSCCCCSCCSSSSSSCCCCCCSCCCCCSSSCCSCSCCSSSCSSSSSCSCCSCCCSSSSSSCCCCCCCSSSCCCCCSCCCCSCSCSCSCSSSSSCSCCSCSCCSSSSCCCCSCSCCSCSSSCSCSSSSSSSCSSCCCSCSSSCCCSCCCSSSSSSCSCCCSSSCCCCCCCCCSCCSCCCCCSSSCSSCCSCCSCSSSSSSCCSSCSCSSSSCSCSCCCCCCSCCCCSSSSSSCCSCCCCSSSSSSSSCSSCSSSCSSCSCSCCCSSCSSSCSCCSCSCCSCSCSCCSCCCSSCCSCSSSCCSCCSCCCSCSSCSCSCSSCCCSSCCCCSCSCSSSCCSSCSCCCCSSSSCSCSCCSCSCSSSSSSSCCSSCCSSCCSSCSCCSSSSSCCCSCCSCCCCSSCSCSSCCSCSCCCSCCCSSCCCCCSCCSSCCSSSSSCCCCCCCCSSCSSCSSCCCCCCSCCCSCSSCSCCCCSSCSCCCCCSSSCSCSSSSCSSCSCCSCCCSCSCCCSSCSCSCSSCSCSCSCCCCCCCSSCSSCCCCSSCCSSSCSCSSSSCCCCCCCCCSSCCSSCCCCCCSSCSCSCCSCCSCCSCSCSSSCSSCSCSSCSSCCCCSCSSCSSSCSSCCCCSCCSCCCCSSSCCSSSCCCCCSSSCCSCCSSCCSSCCSSSCSSSSCSSCSCCCCSCSSSSSSCCSSSSCSSCCSCSCSSSSCCSSSCCSSCSCCSSCSCSSCSCCCCSCSSSCCSCSSCSCSSCSSSSCCSSSSCSCCSCSSSCCSSSSCSSCSSCCCSSSSCCCSCSCSSCSSSCSCSSCCSCSCSCCSSCSCSCSCCSCCCCSSSCSSSCSSSCSSSSSCSCSCCSCSCSCCSSCSSCCSCCSSCCCCSSSSSCSSSCSCSCSSSCSCSCCSCCSCCSSCSCCSCSSCCCSCSSSCSSCCCCSCSSCSSCCSSCCSCCSCSSSSSSSSCCCCSSCSCCSSSSCCCCSSSSCCCCCSCCSCSSSCSCSSSSCSSCSSSSCSCSSCCCCSSCSCSSSSSSSSCSCCSSSCSCCSSSCCSSSSSSCSSSCSSSCCCSCSCCCCCSSCCSCSCCSCCSCSCCSCSCCCCCCSSSCCSCSSCSSSSCCSCCCCSSCSSSSSCSSCCCCSCSCSCSSCCCSSCSCSCCSSSCCCCCSCSSSSSSSCCCSCSCSSCCSSSCSSCCCSCSSSSCCCCSSSCSCCCSSCSCCSSSSCCCCSSSSCSCCSCCCCCSCCCCCCCCCSSSCCCCCCSCCCCSSSSCSSSCSCSSCSSCSCSSCSSSCCSCCCSCSCSCCSCCSCSSSSCCSCSCCCSCCCCSSSSCCSSCCCCSCSSCSCSSCCSCSSCCCCCSSSSSCCSCSSCSCSCCCSCCSSSCSSCCCSCSCCCCSCSSCCSSSCCSCSCCCCCCCSSCSCSSCCSCCSCSCSSSCSSSCSCCCCCSCSCCCSCSCSCSCSCSCSCCSSSSCSCSCCSCSCSCCCCCSCCSSSSSSSCSSCSSSCCSCSSCSSCSSCSSCCSSCCSCSSCCSSCSCCSSSCCCCCSCSSCCCSCCSSCSSSSCSCCCCSSCCCSSCCSCSSSCSCCSSCCCCCCCCSCCCCSCSCCCSCSSSSCCSCCSCCSSSCSSCSSSCSCSSCSSCCCSSCSCCSSCSCCSSSSCCSSCSCCSCCSSSCSSCCSSCCCCCCCSCSCCSSCSCSCCCCCCCCCSCCSCCCSCSSCCSCCSSCCCSSSCSSCSCCSCCCCCCCCCSCSCSSCCCCSCCCCCCSCSCSCCSCCCSCSCSCSSSCCSCCCCSSSCSSSCCCSSCCCCCCCSSSSSCSCCSCSSCSCCSCCSSSCSCSSSCCSSCCCSSCSCCSCSCSCSCSSSSSCCCSSSSCSSCSCSSSCCCSCSCCCSCSSCSCCCSSSCCSSSSSSSSSCSCSCCSCCSSCSCCSCCSSSSCSCCCCSSCCCCCSSSSSSSSSSSSSSCSSSCCCSCSSCCCCSCCSCSSSCCSCCSSCSCSSSSSSCCSCSCSSSCSCCCCCSCSCSCSCCSCCSCCSSSCSSSCCSCCSSSSCCSCCSCCSCSCCSSSCSCSSCSCCSSSCCCSSSCSSSCSCCSCCSCCSSSCCSSSCCCSSCSCSCCSCCSCCSSCSCSSCSCSCSSCCCCSCSSSSCCCCSSCCCCSCCSSCSSSSCSSSSCCSSCCCSCCCCCCSCSSSCCSSSSCCSCCSSSSCCSCSCSSSSSSCCCSSCSCSSCSCSCSSCSSSSCCSCSCCSSSSCSSCCCCSCCCCCSCSCSSSSSSCCCSCCSSCSCSSCSCSCCSCCCCCSCCCSSCSCSSCCCSSSCCCCSCCCCSSSCCSSSCCCSSCSSSCSCCCSSSSCSSCSCSCCSSCCCSSCSCSCSCSSSCCSCCCSCCCSCSSCCCSSCSSSSCCCSCSSSCCCCSCCSCSCCCSSCSCCSCSSSCSCCCSSSSSCSCCCCCSSSCSCSSCCSSSCCCCCCCCSCSCCSSCCCSCCSCSSSSSSSSSSCCSSSCSCSCSCSCCCCSSCSSSCCSCCSSCCSSSSSSCSSSCSSSSCSSCCCCCCSSCCSSCSSCSSSCSCSSSSCCSSCCCSSCCSCSCSSCSSSSCCSCSCSCCCSSSCSSSCSCCSCCSSSCSSSCSSCCSSSSSCSSSCCCSSCCSSSSCSSSCSSSCCCSCCSSCSSCSCSCSSSCCSCCCSSCCSCCSCSSCSSCSCSCCCSSSSSSCSCCSCSCCCCSCCCSSCSCCCSCSSSSCSCCCSSCCCSSSSSSSSSCCCCCSSSSCSCCCSCSCSCCSSCSCSSSCCCSCCCSSSSSCSSCCSSSCSCSSSCSCCSCCSSSSCSSCSSCSSSSSSSCCSCSSCSCCCSCCSSCCSCCSSSCCSCSSCCSSCSSCCSSCCSCCSSSSCCSSSSCSCSCSSCSCSCCSCCCSCCSCCCSSSSSCCCSSCCSSCSSSCCCCSSSCCSSSSSCSSCCCSSCSCSSSCCSSSSSCSSSCSSSCCCSSCCCSSCSSCSCCCCCSCCSCSSCCSSSSSCSCSCCSCSSCCSSSCSCSSSSCCSCCCCCSCSSCCSSSSCCSSCSCCSCCCCSSCCCSCCSSSCCCCSSSSCSSSCCSCCCCCSCSSCCCCCCCCSSCCSSCCCSCSSCCSCSSCSSCCSSCCCCSCSSCCSCCSCCSSSCSSCSCSSSSSSSSCSCSSCSSCSCCSSSSSSCCSCSCSSSSSSSCCCSSSCSSCSSSCCSSCCSSSSSCSCSCCCCCSCSCSSSSCCCSCCSCCSCSCCCCSCSCCCSSSCCCSSCSSSSSSSSCCSSCCCSSCCCSSCSCSCCCCCCCSSCCSCSCSSSCSSCSCCCCCSSSSSCSCSSSCCSSSSSCCCSCCCCSSCCCSCSCCSSCSSSSCSSCSSSCSCCCCCCCCSCCSSSSSSCSSSSCCSCSSSSCSSSSSCCCCCCSCSSCCSSCSSCSCSSCCCCCCCCSSSCCSSCCCCCCCSCSCSSSCCSCCCCSSCSCCSCCCSCSCCSCCCSCSSCSCSCSSSSCCSSCCCSCCSSCSSCCSSSSCSCSCSSSSSCCSCCSCSCSCSSSSSSSCSSCSSCCSSSCCSSSSCCSSCCSSCSCSSSCCCCCCCCCCCCCCSCSCSSSCCCSCCCCSSSSSSCCCSSCCSSCSCCCCCCSSSCSSSCSSCCSSSCSSCCCSCSCSCCSSCSCSSCCSSCSCCCCCSCSCCCSSCSCCSCCCCCCSCCSSCSSCCCCSCCCCSSSCCSSCSSCCCCCSCCCCCCCCSSCCCSSSSCSCCCSCSCCSCCCSSCCCCCSCSSSSCCSSSCSSCSSCCCSCCSCSSCSSSCSSSSSCSCCSSCCSCSSSSCCSCSSSCSCCSSSSCSSCCSSCCSCCCSCCCCCSCCSSCSSSCSSSCCCSSCSCSSCSSCSCCCCCCCCCSSCCCSCSSCSCSSSSSSSSCCSSCSSCSCSCSCCCSCCCCSCSCSSSSCSCCCCCSCCCCSSCCSSSSCSSSSSSSSSCCCSCCSSSCCSSSCSCSSCSSSCSCSCSCCSCSSCCSCCCCSCCSCSCSSCCCSCSCCCCSCCCSCCSSCCSCSSCCSCCSSCCSCCSCSCCCCSSCCCCCSCSCCSSCSSCCSCSSSCCCSCSSCSSCSSCSCSCCSCSCSCCCCSSSSSSSCSSSSCCSSCCSCCCSCSCSSSCSSCSCSSSCSSCCSCSSCCSSCSSSCSSCCCSSCSSSSCSSCSCCCSCSCSCSSSCCCSSCSCSSCSCSCCCCCSSSSCCSSSCSCCSSSCSSSCCSCSSSCSSSSCCCSSSSCSCSSSSSSSCSCCCSCCSCCSCSCCSSCSCCCSSCCSCCSSCSSCSCSCSSCSCSSCCCSCCCCSSCSSSSCCSSCCCSCCCCCCCSCSSSCCCSCCSSCCSSCCCSSSSSSCSCSCCCCSCSCCCCCSCSSSCCCSCSSSSCCCCCCCSCSSCCCSSSCSCSCSCSCCSCCSCSCSSSSCCSCSCCSSCSCSCSSCSSCSSCCCSSSSCSSCCSSCCCSCSSSSCSSSCCSSCSSSSSSSSCCCCCCSCSSCSSSSCCCSCCCSCCCCCSSCCCSSCCSSCCSCSCSCCSCSCCSSSSCCSSCCSCSSCCCCCCCCSCSCSCCSSSCCCSCCCSCSCCSSCSSCSSCSSCSCSSSCCCCCCSSSSCSCCCSSCCCSCCSSCCSSSCCSCCCCSSSSCSSSCCCCCSCSSSCCSCCSCCCCSCCSSCCSCSCSSSCCSCCSSCSSCSSCSSSSCCSCCCSSCSSCCSSCCSCSCSCSSCCSCSSCSSSSSCCCCSCCSCSCSCCCCCCSCSCCCSSCSCSSCCCCCSCSSCSSCCCCCCSCCSCCCCSCSCCSSSCSSSSCCCSSSSCSSSSSSSSSSCSSSSSCCCCSCSCCSSSCSSSCSSSSCCSCSSCSSCSCSSSCSCCSSCSSCCCSCSSSSSSSSCCSSSCCCSSCSCSCSCCCCCSSSSSCCCCCCSSCCSSSCSCCCSCSCSSSCCCSSCCSCSCSCSCSSSCCSSSCSCCSCCSCSSSSSSCSCSCCCSSCSSCSCCSSCSCSCCSCSCSCSSCSCCSCCSSCSCCSCSSSCSCSSSCCCCSCSSCSCCSSSSCSCSCCCCCSSSCSCCCCCCSSSCSCCSSSSSCSSCSCSSCCCSCSCSSSCCCSSSSSCCCSCCCCSCSCSSCSCCCSSCSCSSSSSSSSSSCCCCSCSCSCCCCSCSCSCSSSSSCCSCCSCCCCSCSSCCSSCSSSSSSSSSCSCCCSSSCCCCSSSSSCCSSSSSSSSSSSCSSSSSSCCSSCSSSSCCSCCCCSCSCCSSCSSCSSCCSCSSCSCCSCCCCCSCCSCSSCCSCSSCSSSCCCSCSCSCCCSSSCCCCCCCSCSCCSSSSSSSCSCCSSSCSCCCSCCCCSSCSSCSSCSCSCSCSCCCCSSCSSCSCCCCCSCCSCCCCCSCCSSSCSCCSSCSCCCSCCCCCCSCSSSSSCCCSSSCSSSSSCCSSCCCSCCSSCCCSSSSCCCCSSCCCSCCSSSCSCCCCCSSCSSSCCSSCSCCCCCSCSSCSCCCCSSCCSCCCCCSCSSCCSCCSCSSSSCCCCSSSCCSSSCCCCSSSCCCCCSCCSCSCCSSCCSCSSCSSCSCCCCSCCCSSCCCCSSCCCCCCCSSSCSCCCSCCSSCSCCSSCCSSSSCSCCSSSSCCCSSCCCSSCSSSSSCCSSCSCSSCCCSCSSSCCCCCCCSCSSCCSSCCCSCCSSSSSSCCSSCSSCSSSSCCCSSCSCCSCCCSSCCSSSSSSSCCCSSCSSSSSCCSSSSCSCCCSSCCSCCSCSSSSCSCSSCCSSSCSCSSSSSSSSCSCCCSCSCSSCCSSCSCCCSSSSCCCSSCCSCCSCCSSSCCSCCCCSCSCCSCSSSSSSSCSCCSSCSSSSSSCCCCCCCCSCCCSSSCSSSSCSSSSCSSSSCCSSSSSCCSCCCCSSCSCCSCCCSSSCSSSSCSCCCCCCSSCSSCCSSCSCCCCSCSSSCCCCCSSSCSCSSCSCCSSCSSCSSSSSSCCSCCSSSSCCSSCSCCCCCCSSSCCSSSSSCSSCCSCCCSSCCSCSSCCSCCCSSSCCCCCSCSCCCCSCCCSSCCSSCSSSCCSSCCCCSSCSSCSSCCCSSCSCSSSCSCSCSSCSSSCSSCSCSSCCSCCSCCCSSSCSSCCCSSSCSCSSCSCSSSSCSCSSCSSCCCCSSCSSCCSSCSSSSCSSCCSCSCSSCSCSCCSCSSCCSCSCSSCSSCSCSCCSCCCCCCSCSCCCSCCCSCCSSCSSSCCSCSSCCSSSSSSCCCSSCSSSCSCSSCCSSCSCSSSSSCSSCCCCCSSSSSCSCCSCCSSCCSCCCSSSSSCCCSCSCCSSSCCSCSSSSSCSCSSSCCCCCSCCCSSSCCSCSCSCSSCSCSSSSSSSCSSCCSCSSSCSSSCSSCCSSSCSCCSCSSSCCSSCCCCCCCCSSSSCSCSCCCCSCSCCSSSCCCSSSCCSSSCCCSCSCCSSCSCCSSCCSCSSSCCCSSCCCCSSCSSSCSSSSSCCCCCSCSCCCCSCSSSCSCCSSCSCCCCSCSCSCSCCSCCCCSSCSCSSCCSCCCSSCCSSCSSSSCSSSSSSSSSSSSSSSCSSSSCSSSSCSCSSSSCSCSCCSCSSCCSSSCCSSSCCCCCSCCSSCSSCCSCSSCSCCSCSSCCCCSCCSCCSSCSCSCSCSCCSCCSCSCCSSSCCCSSCCCCSSCCCSCCCSCCSCCSCSCCCSSCSCCSCCCCSSSCSCCSSCCSSSSCCCSCCSSCCSCSSSSSCSCSCCCCCSCSSSSSCSCSSSCCCSSCCSSCSCSSSSCSSSSCSSSCCCSSSCSSCCSSSSSSCSSSCSSSSCSSSCCSSCSSCCSSSCSSCSCSCCSSSSSCCCCSSSSCSSCCCCSCSCCCCSCCSSCCCSCCSSCSCCCSSCSCSSSSSSSCSCCCCCCSCSSSCCSSCSSCSCSSSCSSSSSCCSSSSSCSSCSSSSCCSSSSSSCCCCSSSCSCSSSSSCSCSCSCSSCSCCCCSCSCCCSCSSCSSCSSSSSCSCCSSCCSCSSSSSCSSCCCCSCCCSSSSCSCCSCCSCSCSCSSCCCSCSSSCSCCSCCSSSCSCCCCCCCSSCSCSCSSSCCSCSCCSCSSCCCCSCSCCCCCSSSCSSSCCCCCCCSCSCSCCSSSCCCSSCSCSSCCSCCCCCSCCSSCCCSCSCSSCCSCSCCSCSCCSSCSCCCSCSSSSSCCCCCSSCCSCCSSCCCSCCSCCCCCSSSSCCCSCCSSSCSCCCCSCCCSSSCCSCSSCCSCCCSCSCSCSCSCCCSSCSSSSSCSSCSCSCCSSCSSSCCSCCSSSSCSSCSSSSCCCSCCSCCSCSSSCCSCSSSSSSSSCSSCSSSCSSCSSSSSCCSSSSSCCSCSCCCSSCCSSSSSCCCCSCSCSCCCCSCCCSSSCCCCSSCCSSCSCCSCCSCCCSCCCSSCCSSSSSCCCCSCCCCSSCSCCCSCSSSSSCCCCCSCCSSSCSSSCCCSSCCSSCSSCSCCCCCSSSCCSCSSCCSSSCSCCSSSSSSCCCCCSCCCSSSSCSSSSCSSSSSCCSCCCCSSSCCSCCSSCCCCSSCCSSCCCCCSCCSCSCCSSSCSSCCCCSSSCCSCCCSSCSSCSSSSCCCCSCSCCCSCCSSCCSSSSSSSCCSSSSCSCCCSSCCSCCSCSSCCCSSSCCCSCSSCCCCCCCSSSCCSSCCCCSCCCCSSSSSCSCSSSCCSSCCSSSSCCCCSSSCCSSCSCCSCCCSSCSCSSCSCCSSCCCCCSCCCCCSSCCCCSCCSSCCSCSSCSCSCCCCCCSCSSCSSCSSSSCSCCCCCCSSSCCCCCCSCCCSSSCCSCCSCSSSSSSCSSSCCCSCCSSSSCCSSCSSSSCSCCSCCSCSSSSCCSSCCSCSCCCSSSSSSCSCCCSSCCCSSCCCCSCSCSCCSCCCSSCSCSSSCCSSCSSCCCCCCSSCCSSCSSSSSSSCSSCSSCCCSSSSCCCCSSSSSCCCSSSSSSCSCSSSCSCCCSCSCCSCSCCCCSCCSCSSSCCCCSCCCCCSSCCCCCSCSSCSSCSSSSCCSCSSSCCCSCCCSCSCSSSSSCCSCSSCCSCCSSSCSSCCCCCSCSCCCSSSSSCCCSSSSSCSCSSCCCSCCSCCCCSCCSCCCCSCCCSCCCSSCSSSCSCSCCSCSSSSSSSSSSCCCSSSSSCSSSSCSCSSCSCCSSCCSSCSSSCSSSCSSSSSSSSSSCSCSCCSCSCSCSCSSSCCCSSSSSCSSSSCCCSCSCCCCSSSCCSCSSCSCSSCSCCCCCSCCCSSCCSCSSCCSCSSCSCCSCSCCCCCSSSCSSSSSSCSSCCCSCSCCCCCSSCCSCCSCSSCSCSSSCCSCSCSCCSCSCSCSSSCSCCSSCSCSCSCCCCCCCCSSSCCCCCCCCCSCSCCCSSSSCSCCCSSCCSCCSCCCSCSSCCCCSSSCSCSSCSCCSSSCSCCSCCSSCCCCSCSSSSSCCCCSSSCSCCCSCCCSCSSSCCSCSCSCCCSSSCSSSCCSCCSCSCSSSCCCCCCCCSSCSCCSSSCCSCSCSCSCSCSSSSSCSSCCCCSSSSCSCSSSCCSCSSCCCSCCSCSCSSCCCCSCSSSSCCCCCCCSSSCSSSSSSCCCCSSCSCCCCCSCCCCSSCSSSCSCCCCCCCSSSSCCSCCCSSCCSCCSSSSCCCCSCSCCCSCSCSCCCSSCCSCCSSSCCCCCSCCSCCCCSSCSCSSCSCSSSSCSSCSSCCSSCCSCCCCCSCSSSCSCCCSCCCSCCSCCSCCSCCSSCSSCCCCCSCSCSSCSCCCCCSSCCSCSCCSCCSSSCSSCCCSSSCSSCSSCCSCCSSSSSCCSCSCSCSSCCCSCSCCSSCSSCCSCSSCSCCCSSCCCCSCCCCSSCCSCSCSCCSSCSCCSSCCSSSCSSSSCCCSCSCCSCCSSCSCSSSCSCSCCCSSCCSCSSCSCCSCSCSSCSSSCSCSCCSSSCCCSCCSSSCSCCCCSSSSSSSSCCSCCSSCSCCSCCSSSSSCCSSCCCCSSCCCCCSSCCSCSCCCSSSSSCSSSCCCCSSSCCCCSSSCSSSSCCSSCSSCSSSCSCSSSCCCCSCSCCCCSSSCCCCCSCCSSSCCCSSCCSSCSSCCCSSSCCSCCCSSSCSSCSSCCCCCSSSSCSSCCSCCSCSSCCCSCCCCSSSCCSCSCSSCCSSSCCSSSSSSSCSCCSSSCCCCCCCSCCSCCCCSCSSCSSCSSSSSCSCSSCCCSCSSSSSCSSSCCSCCCSSCCSSCSCCCSSSCSSSCSCSSCSCSCSSSSSSSCCSCSCSCSSSSSCSCSSSCSCSSCSSCCSCSCCSCSCSCCCSSCCSCCCCSSSCCCSCSSSSCCSSSCCCSCCCSCCSCCCSSCSCCSCCCCCCSSCCSSCSSCSCCSSCSCCSCSCCCCCSSCSSSSSCSSSCSCSSCCSSCCCCCSSSSSSSCCCSCCCCCSSSSSCCCCSSCCCCCSCSCSCCCSSCSSCCSSSSCSSSSSSSSSCCSSSCSSSCCCCSSSCSCSCCSSSSSSSSSCCSSSCCCCSSSSSSSSCSCCCSCCCSSCSCSSSSCCCSSSCSSCCSSCCSCSCCSCCCCSSCSSCSCCSCSCSCSCSSCSSSCCCSCCSSCCSCCSCSSSSCCSSSSSSSCSCCSSCSCCCSCCSCSSCCSSCSSCSSSSCSCSSSSCSSCSCCSSSSCCSSSSSCCSCCSCCCCSCSSSSCCSSSCSCCSSSSCSCSCSSCCCSCSSCCSSSSSCSCSSCSSSCCCSCCSCCSSCCSCCCCCSSSCCCCCSSSSSCSSSSSCSCCCSSCCCCSCCSCSCSCCCSSSSSCCSSCCSCCSCSSCCCSSCCSCSSCSSCSCSCSCCCCCSSSCSSCSCSSCSCCSSCCCCCCSSSCCCCCCSCSSCCCSSSSSSCCCCSCSSCSSCCCSCCSSCSCCCCSSSCSCSSCSCCCSCSCCSSSSSCCCSSCSSSCCCCSSCCCCCSCCSSSSSSCCSCCSCCSCSSSSSSSCCSCCCSCCCSSSSCCSCCCCCCSCCSSCCCSCCSCSSCCSCCSSCCCSSCSCSSSCCSSCSCSSCCCSSSSCCCCCSCSSSSCCSCSCCSSSSSSCCCCCSSCSSCSSCCSCSCSSSSSSSCCSCSCCSSSCCSCCSCSSCCCCCCCCSSCSCSSSSSSCSSCCSCSCSSSCSSCCCCCCSCSCSSSSSSSSSCCSSSSSCSSCSSCSSCCSSCSSCSSSSCCSSCCSSSCCCSSSSSSSSSCCCCSCCSSCSSSSSSSSCSSCCSCSSCCCCCCSCCCCSCCSSSSCSSSSCCSCSSCCSSSSCSCCCSSSSCCSCSSCSSCSSSSSCCSCCSSCSCCCSSSSCCSCCCCSSSSSSSCSSSCCSCCSCCCSCCCCCCSSCSCSCCSSCCSSSCCSCSSCCCSCCCCCCCSSSCCCSCSCSCCSCSSCSCSCSSSSSCCSCSCSSSCSCCCSCSCSSSCSCCCCSCSSCSSSCCSCCCCCSSCSSSSCSCSCSCCCCSCCSCCSSSCCSSSCSCCCSSCSCCCSCCCCSCCCCCCCCSSCCSSSSCCCCSSCCSCCCCCSSCSCSSSCCSSSSCCCCCSCCCCSSSCCSSSSSSSCSSCCCSSSSSSSCCSCSCSCSSSCCCCSCCSSCCCCCSSSSCSCSCCCCCSSCCSCSCSSCSSSCSCCSSSSSSSCCSCCCCSCSSCCCCCCCCSSCSSSSSCSCCSSCCCCCCSSCSCCSCCSSSSCCCCCSCCCSSSCSSSCSCSCSSCSCCCSSSCCCCCSSCSCCCSSSSSCCSSSCCCSCSSCCCSCSSSCCCSSSSSSSCSSCSSSCSCCSSSSCSSSCCSCSSCCCSSCSCSCCSCCCCCSCSSSSSCCCCCCCSSSCSSCCSSSSCSCCSCCCSSSSSCSSCSCSCSCCSCCCCCSCSSCSSCCSCSSSSSSSSSSCSCSSCSCCSCCSCSCSCCSCCSSSCCSSSSSSCSSSSSCSSCSCCCCSSCSSSSCCSSCSCSSSCCCSSSCCCCCSCCCCSSSCSCCSCCCSSSCCCCCCSSCSCSSSCCSCSCCCCSSCSCSSCSSSSSCSSSSCCSSSCSCSSSSCSCCCSSCCCCSCCSCSSCSSCSSSCSSCCSSCCSCSSCCSSSCCSCCSCCCSCSCCSCSSSCCCCCSCCSSCSSCSCSCSSSCSSCCCSCCCCCSSSCCCSCSCCSSSSSSCSCCCSCCSCCCCSCSCSCCSCCSSSCSSSCCSSCCCCSSCCSSSCSCSCCCCCSCSCCCSSSCSSSSCSCCCCSSCSSSSCCCSCCCSSCSSSCSCCCCSCSCSCSSSCCSCCSSSSCCSCCSSSSSSCCSSCSCCCCCCCSSCCCSSCCSCSSSCSCSSCCSCCSCSCSCCCSCSCCSSSSSSSCCCCSSSCSCCCSCSCCSCCSCCSSSSCCSSSCSCSCCSCSCCSCSSSCSSSCCSSCSCSSCCCCSSSSCCCCCCCSSCCCSSCCCSCCSCCSSSSCSSCCCSCCSCSCSCCSSSSSCSCCCSSSSSCSCCCCCCCCSSCCCSSCCSCCCCCSSSSCSSSSSCSCCSSCSSCSSSSCCSSSCSSSSSSCCSCSSSSCCCCCSCCSCCCCCCCSCCCCSCCSCCCCCCSCCSCCCCCSSSSCCCSCCSSSCSCCCCCSCSCCSCCSSSCCCSCCCSCCSCSSCCCSCCCCCCCCSSCSCSSCCCSCSSCCSSSSSSCSCCSCSCSCSCSSSCCSSCCSCCCSCCCSSSSCSCSSSSCCSSSCCCCSCCSCCCSCCSSSCCSSSCSCCCSCSCCSSSCSSSSSCSSCCCSSCSSCSCSSCCSSSSCSSCCSSSCSCCSCSSSSSCSSSCCSCSSCSSSSCCCCSSSCSCCSCSCSSCSSSCSCCSSCSCCCCSSCSCCCCSSSSCCCCSCCSSCCSCSSSSCCCSSCCSCCCSSCSCSCSCCCSCSSCCCCCCCCSCCCCSCSCSSSCCCSSSSSCSCCSSCCSCSCSSCSCSSCSCSSCCSCCCCSSSSCCCSSSSCSCCSSCCSSCSSSCSSSCSSCCSCCSCCCSSSSCSCCCCSCCSSSSCSSCCSSSSCSCSSSCSSCSCCCCSSCSCSCSCCSCSCCCCSCCSSCCSCCSCCSCCCCCCSSSCSCCCSCSSSCSSCCSCCSCSSSCCSSSSCCSCCSCCSSCCSSCCSSSSSSCCCCSCCSCSCSSCSCSCCCCSCCSCCSSCSSCCCSSSSCSSCSSSSCSCSCSCSSCCCCCCCCSCSCCCCSCSCCCCSCCSCCSSSSCSSCCCSCSSSCCSCCCSCSCCSCCSSSSCSCCCCSSCSSCSSSSCCCCCCSCCCSCCSCSCSSCSCCCCCCCCCCSSSCCSCSSCCCCSCSSCSSCCSSSCSSCSCCSCCCSCCSCCSCCCCCCSCCCCCCCCCSCCSCCCCSCSSCCSSSSCCCCCCCCCCCCSSSCCSSCCSSCSSCSSCCCCSCSSSCCCCCSCSSCSCCSCCSCCCCCSCCCSCSSCCCCCCSCSCSSSCSSCCCSCSCCSCCSSCCSCSSSSSCCCSSCCSCCSCCCCCCSCCCSSCSSCCCCCCSSCSSSCSCSSCCCSSSSCSCSSSCCCCSCSSSCSCSSCCSCCCSSCSCCSSSSSSSCSSCCSCCSSSSSCSCCCCSCCCSSCCSSSCCCSSCSCSSSSCCCSCSSSSCCCSCCSSCCSSCSCCSSCCCCCSCCCCCSCCCSSSCSCSCSSSSCSCCSCCSSSSCCSSCSCCSCSSSSSSCSSCSCSCCSSSCCSCCSSSSSCCSCCCCCSSSSCCSCSCCSSSCCCSCSCCSCCCSSCCSCCSSSCSCSCCSCCSSCSSCCCSSCSCSCSSCSSSCCCSCSSCCSSCSCCSSCCCCSCCSCCCSCCCCSCSCCCSSCSCCCSCCSSCSCCCSCCSSSCCCCCSSCCSCSCCCCSSCCCSCCSSSSCSCSCSCCCCSSCSCSCCSCCCCSSCSSCCSCCSSSCSSCSSCCCCSCSSSSCCSSCSSCCSSCSSSCSSCCSCCSSCSCSCCSSSSSCSCCSCCSCSCCSCCSSSCCCSCCCCSCSSCCCSSCCCCSSSCCSSCSCCSCSSCCCCCCSSCSSSSCSSCSCCSSSCSCSSCCCCCCCSSCSCCCSSCCCCSSCSCCSSCSCSCSSCCSSCSSSSSCCCSSSSCSCCSSSCCCCCCCSCSCSCCSSSCCSSCSSSSSSCCSSCSSCCSSSCSCCSSSCCCSSCSSCSCSCSCSCSSCSCCCSSSCSCSSCSCSCSSSCSSCSSSSCSSCCCCCSSCCSSCCCSSSCCCCCCCCSSCSSSSSSCSSSCSSSSSSCSSSSSCSCCSCCSSCSCCSCCCSCSCSSSSSCSSCSCSSCCSCSSCCSSCSSCCCSSCCSSCCCSSSCCSSSSSCSCSCSCSCSCSSSCSSSSCSSCSSSSCCSCSCCSSSCCSSCSCCSCCCCCSSCSSCCSSCSSCCSSSSSSSCSSCSSSSSSSSSCSCSSCSCCCCSSSCCSCCSSSSCSSSSCCSCSSSSSSCCCCSCCSCCSCCSCSSSCSCCSCCSSSCSCCSSSCSCCCCSSCCSCSCSSCCSCCSCCSCCCCCCCCCSSCSSCCSCSSSSCSSSCCCSCSSCCCCCSCSCCSSSSCSCCSCCCCCCSCSCSSCCCCCCSCCSCCCCSCSSSSCSCCSCSCSCCSCCSSCSSCCCCSCCSCCCSCCSSCCCSSCSCCSCSCCCCSSSCSSSSCSSCSSSCCSSCCCCCSCSCSSCCCSCCSSCSSCCCSSCCCCCCSCSSSSSSCSSCSSCCCCSSSCSCCCCCSSSSSSCSCSSSCCCCSSCCSSCCSCSSSSSSSCCSCCCCCCCCSSSCCSCSSSCSCSSCSSSCCSCCSCSCSCCSCCCCCSSSCCCSCCSSSCCCCSSSSSSSSCSCSSCSCSSCCSCCSCSCCCCCSSCSCCSCSSCCSSCCCCSCSSCSSSSCSSCCSSSSSCSCCSCCSSSCCCSCSSCSSSSSSCCSSCSCSSSSSCSCSCSSSSSCSSSCSCCSSSCSCSCSSCSCSCSCSSCSSSSSSSSCSCCCSCCSCCCSCCCSCSSSCCCSSSSSSCSCCSCSCCCCCSSSCCSSCCCSSSCSCCCCSCSCCSCCSCSSCCCCCCSCCSCSSCCSSSSSCSSSCSCCCCSSSCCCSSSCSSSCSCCCCSSSCSCCSCSCCCCSSSCCSSCCSSCCCSSSCCCSCCSSSCSCSSCSCSCSCCSSSCSSSCSCSCCSCCCCSSCCSCCSCCSCSCCSCSSCSCCSCSCSSCCCSSSCSCSCSCCSCCSSSCCCCCSSSCSSCSCSSCSSCCCSSCCCCSCSSSCCSSCCSCCSCCSSSCSCSCCSCSSSCSSCCCCSCCSSSSSSCCSSSCSSSSCCSSCCSSCCCSCSCSCCCSSCCSSSCCCCCCSCSCCCSSSSCCCCCSCCCSCSSCSCCCCCSCCSCCSSSSCCCCCSCSSSCSSSSSSCCSCCCSCCCCSSCCSSCSCCCCSSSSSCSCCSSCSCSCSCSCCCCSCSCCSCSCSSCCCSSSCSSSSCCSSSSCSCSCCSCSSCSSCCSCCCSSSSSCSCCCCCSCSCCCSCCSSCSCCCSCSSCSCCSCCSCSSCCCSSSCCSCCSCSSCCCSCCCSCSSCCSSCSCCSSSCSCCCSSSSSCCCSCSCSSSSCCCSCCSSCCCCSCSCSSCCCCSCSSCSCCCCCCCCSCCSCCCSCSCSSCCSSCSCSSSSCSSCSCCSSSCCCSCSCCSCCCCSSSCSCSCCCSCSCSSCCSSCCCSSCCCSCSSSCSCSCSCSSCSSCCSCCSSSCSCCCSCSCSCCSSSCCCCCSSCSSCSSCCCSSSSSSSSCSSSSCCSSSSCSCCSCCCCSCSCSSCCSCSCSSSCCSCSSSSCSCSCCSCSSCCCCSCSCSSCSCSSCCCSSCSCCCSSCCSCCSSCSSSSSCSCCCSSCCSSCCSSCCCSCSCSSSCSSCCCSCCSCSSCSCSSSSCSSCSCCCCCSSCCSCCSSCSCCCSCCCCSSCSCCSSCSSSCSCCCSSCSSCSCCCCSCSCCCCCSSSCSCSSCSCCCCSCSSSSSCSCCSSSSCCSCSSCSSSCCSSCSCCSCSCCSSCSCCSCCCCCCCCCCSCCSSCCSCCCCCSSSSSSSSCSCCSCCSSSCSCCCSSCSCCSCSCCCSCSSCCSCSCSCCCCCSSSSSSSCCSSSCCSCCCSSCCCCSSCSCCCSSSSCCSCCCSSCCSSCSSCSSCCSSCCSSCSSCSCCSSCSSCSSSSSSSSSSSSCCSCCCCCSCSSCCCCSSSSSSCCSCCSSSSCSCCSSSCSSSSSSCSSCSCSSCCSCCSSSCCSSSCCSCCSSCSSSCCCSSCCCSSCSSCSCSSCCSCSCSSSCCCCCSSCCSCSCSCSCCCCCSSCCSSSCSCSCCCSCCCSSSSCCCSCCCCCCCSCCSCCSCCCSSCCCSSSCSSSSCCCCSSSCCCCSSSSCSSSSSSCSCSSSSSSCSSCCSSCCSSSSSSCSSCSCSCSSCCCSSCSSSCCSSSCSSSCCSSSSSSSSCCSCCSSSCSCSSSCCCCCSSCCSCCCSCSCCSSSSSCSCSSCSSCSSSCCSSCCCSSCSSCCSCSCSCSSCCCCSSSSCCCSSCCSSCSCSSSCCCSSCCSSCCCCCSSSCCSCSCSSCSCSSCSSSSCCSCSSCCSSCCCSCCCCSCSSSSCCCCCSSCCCSCCSSCSSCCSSSSCSSSSSSSSSCCCCCSSSCCSSCCCCSSCCSCCSCSCSSSSSCSCSSCSCSCCSCSSCSCCSSCCSSSCCCCSCSCSSSSCCSCSCSCSCSSSSCCSCCCSCSCCSCCCSCCSCCSSSSSCCSCCCSCCCSCCSCCSSCSCCCSCSSSCSSCSSCSCCCCCCSSSCSSSSSSCCSCSSSSSSCSCCSCSCCCSSSCSCSCCSSSSSSCCSSSCCCSSSCSSCCCCSSSSSCSCCSSSCSSSSCSSSSSSSCCCSSCCSCSCCCCCSSSSCCSSSCSCSSCSSSCSCSCSCSSSCSSCCCSCSCSSCSSCSCCCSCSSSSCCSCSCCSCSCSCSSSSSSCCSSSSCSCSCSSCCCSCCCSSSSSSSCSSCCSCCSCCSSSCCCCCSSCSCCSCCCSCCSSCCCSCSSCSSSSCCSCSSCSCSSSSCCCCCCCSCCSSCCSCCCSCSCCSCCCSCCSSSSCCSSCSSCCCCCSSCSSSCCCCSCCCCCCCCCSSSCSSSCSSCSSSSSCSSCCCCCSCSCCSSSCCCSSSSCCCCCCSSCCSSCSSCSSSCCSCSSSSCCCCSCCCSSSCSCCSCSSSCSSCSSSSSSCSCCCCCCCSCCSCCSSSSSCCSCSCCSSCCCSSCSCCSSSCCCSSSCSCCSSSSCSSSCSCCSSCCSSCCSSSSSSCCCCCCSSSCSSCSCCSSSCSCSSSSCCSCSCCSSSSCSCSSSCSCSCCCCCSSSSCSSSCSSSSSSSCCSCCSSCSSCCCCCSCCCCCSSCCSSCCCSCCSCCCSCCSCSSCSCCCSSCCSCCCCCSCSSSCCSSCCSSSCSCCCCCCSCCSSCCCCSSSCSSSCCCSCSSCSCSSSSCCCCSCSSSCSCCCCSSCCCCSSSSCSCCSSSSCCCSSSCSSCCSSSCCCSCCSSSCCSSCCCCCCCSCCCSCSSCCSSSSCSCCSCCSSSCSSCCSCSCSCCSSSSCSCCCSCCSSCSSSSSCCSSCSCSSCSCCCSSCCCCSCCCCCCSSSSCCSSCSSCCSSCCSCCCCCCCCCCSCCSSCCSCSCCCSSCSCCSSSCCSSCSCCSCSSCSSCSCCSSCCSSSCSCCSCSSCCSCSCSSSSSSCCSSCSSCSCSSSSSCCSSCCSSSSCSCCSSSCSSCCSCCSCCSSSCSCSCSCSSSCSSCCCSCSSSSCSSCSSCSCCSSCSSCSCCCSCSCCCCCCCSCCSCCSCCSCSCCSCSSSCCCSCSSSCCCSSCCCCSSSCSCSCCSCSCSSSCCCCCCSSCCCCCCSSCCSCCSSSCSSSCSSCCCCCSSSCCCSCSSCCCSSCSSSCCSCSCSCSSSCSSCCCSSSCCCCCCSCCSSCSCSCSCCCCSSCCCCCSCSSCCCSCSSCSSCSCSSCSSSSCCCCCSCCCCSCCSCSCSCSSCSCCCCSSSSSSSSSCCSCCCCSSCSSCCCSSCSCCSSSCSSSCCSSCCCCSSSSCSCSSCSSSCSSSCSSCSSSSSCSCCCSCCCSSSCCCSCSCSCCCCCSCCSSSSCSCCSCSSSSCCSCSSSCCCSCCCSSCSCSCCSCCCCSCSSSSSCSCCSCCCCCSSCSCCCCSSCCSSSCSSCCSCCSSCCSCCCCSCCSCSCSSSCCCCCCSSSSSCSSCCCSCSSCCSSSSSCCSSCCSSCSSCCCCCCCSSSSSCSCCCCSCCCCSSCSSSSCSSSSSCCSSSCCCSCSSSCSCSCSSSSCCCCCCSSSSCCSSSCCCCSCSCCSCSSSSCCCSCCCSSCCSSSSCCSCSCCCCSSCSCCSSCCCSSSSSSCCCSSCSSSSSSCCCCCCSSCSCSSSCCSCCCCCCCCSCSSSCSSSSSSSSCCCCSSCCCSSCCSSCCCCCCSCCCSCCCSSSCCSCCCCSCSCSSCSCSCSSSSSCSSSCCSCCCCCSCSCSSSCCCCCSSSSSSCCSSCCSSSCCCCSCCSSCCCCSSCCCSCCCCCSSCSSSCCCSSSSSCCCSSCCCSCSSSCCCCSSSCCSCCCSSSCSCSCSCCSSSSSCSCSSCSSSSSSSSCSSSSSCCCCSSSSSCSSSCSSCSCSSCCSCCCCSSSCCSCSCSCCSCCCCSSCCSSCSCSSCCCSSSSSCCCSCSSCCCSSCSCSSCSCSCCCSSCSSCSSSSSSSCSCSSCCSCCCCSSSCCCSCSSSSCSCSSCCCSCCSCSCSCCCCSCCSCSCCSCCCSCSSSCSCSCSSSCSCSCCCSSCSSCSCSCSCSCSCCCSCCCCSCCCCSSCSSCCCSCSCCSSSSSCSSSCCSSCCCCSSSCCCCCCSSCSSCCSSSSCSCSCSSCCCCCSSCSSCCCSCCCSCSCSCSCSSSSCCSSSCCCSSSCCCSSCSSSSCSSCSSSCSCSCCSSCSCCCSCSCSCCSCSCCSCSCCSSCSCSCSSSSSSCCSSCCSSSSCCSCSSCCSCCCCSCCSSSSCCSSSSSSCCSCSCCSCSSCCSSCCSSSSCSSSCCCSSCCSCSCCSCCSSCCCCCCCSCSCSCCSCSSCCCSSSCSCCSSCSCSSCSSSCCCCSSCCSCSSCCSCSSSSSCSSCSSSSCSSSSCCSCCCSSCCSSCCCSCSSCSSSSSSSCCSSCSSSSSCSCCCCCCSCCSSSCSSSSCSCCSCSCCCCSSCSCCCCSCCCCCCCCSCSSCCCCSCSSSCCCCCSCCCSCSSCCCCSSSSSCSCCCSSCCCCSSCCSSCSCCCCCCSSSSSSCSSSCCSCCSCSSSSSSSCCCSSSSSCCSCCSSCSCCSSSSSSCSSCSSSCSCCSSCCSCSSSCCSSSSSSSCSSCCCCSCSCSCCCSSSSCSSSSSCCCCSCCCSSSSSCCSSCCCSCSCCSSSSSSCSSSSCCSCSSCSCCSCSCCCSSCSCCSCSSSCSSSSCSSCSSSSCCCSCCSCCSSSSCSCCCSSSCSSCSCSSSSSSSCSCCSCSSSCSCSSCSSCCCSCSCCSSSCCCSSCSSSCCCCCCSCSCCCCCSCSCSCCCCSCCSSSSSSCSSCSSCSSSSCCCSCSSSSCCCCCCCCSSSCCSSSSSCSSCCSCSSCCSSSSSSCSSCSSSSSSSSSSCCSCCCSCSSCCCCCCCCCSCCCSCCSSSSCCSCSCSSCSCCSSSSCCCCCCSSSCCCCCCCCSCSSSCSCCSCCCSSCCSSCCSSSCCSCCCCCCCCSCSSCSSSCSCSCCCCSSSSCCCCCCSCCCSCCSCSSCCSSCCCCSCSCSCCSCSSSCCCSSCCSSCSCSCCSCSSSSCCCCCSCSCSSSSSCCCSCSCCSCSSSSCCSSCSCCSCCCCCCSSCSCSCCCCSSCCCSSCSCSCSCSCSCCCCCCSCSCSCCSSCCCSCSSSCSCCCSSSSSCCCCSCSCCCSCCCSSCCCCSSSSSSSSCCSSCCSCSCSCCSCSSCSCSCSCCSSSCCCCCSSCCCCSCSCSSSCCSCSSSCCSSSSSCCSSCCSCSSSCCCCCSCCSCSSCSCCSCCSSCCCCCCSSCSSCCCSCSCCCCCSCCCSSSCSCCCCSSCCSSCSCCSCCCCSCCCCCCSSCSCCSSSCSCSSCCSSSCSCCSCCSSSSSCCSCSSSCSSSSCCSSSCSSSCSCSSSCCCCSCCSCCCSSSSSCSSSCSSCCCCSSCSSSSCSSSCSSSSSSCSCSSSSCSSSSCSCCSSCSSSCSCCCSCSSSSSSCSCCSSCSSCSSCCCSSSCSSCCCSSCCSCCCCCSCCCCSSSCSCSSSCSSSSCSSSSSSSCSSSCSSSCSSCCCSSSCCSCCCSCCSCSSCCSSCCCSSSCSCCCCSSCSCCCSSCCSSCSSSCSSSCCCCSSCCCSSCCSSSCCCCCSSSCSCCSCSCCSSSCCSSSCCSSSCSSCSSCCCSCSCCSSCSSSSSCCCSSCCSSCSSCSCCSSSCSSSSSCCSSCCCCSSSCCSSSSCCCSSCCCCCSSSSSSCSSCCSCCCSCSSCCSSCSSSCSSSCCSCSCCCCCSSSSSCCCSSSSCCCCSCSSSCSSCCCCCSSSCCSCCSCSCSCCCSCCCCCCCCSSCSCCSCSCSCCSSCCSSSSCCSSCSCSSSSCCSCSSCSSSCSSCCCCSCSSSSSSSCCCSSCSCSCSSCCCSCSSCSCCCCSSSCSCCCCSCCSCSSCSCCSSCCCCSSCSSSSCCCSCSCCCCCCCCCCCSCCCSSCCCSCCCSSSCSSSCSCCSCCSCSSSSSSSCCSCSCCSSCCCCSSCSSCSSSCCSCCSSCSCSCCSSSCCCCSSSSSSCSSCCSCSSSCSSSSCSCSSSCSSSSCSCCSSSCSCCSCCSCSCSCSCCSCCCSSSCCCCSCCSCCSSSCSCSSSSCCCCCSCSSCSCSSCCSSCSSCCSSCCCCSSSSSSSSCCSSCCSCCCSSCSSCSSSCCCSSSCSSCCSSSCCCCCCCSCSSSSCCCCSCSSCCSCCCCSCCCCCCCSCSCCSSSSCSSSSSCSCSSSSCCSSCCCSCCCSSSSCCSSCCCSSSSSSSCCCCSCCCCSCSCSCSCCCCSCSCCCSSCSCSSCSSCCSCSSCSSCCCSCCSSSSSCCCSCCSCSSCSSSCSSSCSSCCCSSSSSCSCCCCSCCCSSCSSSCCCSCCCSCSSCSSCCSSSSSSSCSCSCSCSCCCSSSSSCSSSSCSSSCCCSCCCSSSSCCSCSSSSSCSSSCCSCSSCCCSCCCCCCSCSSCCCSCCSCCSCSCSSCCCCSSSSSSCSCSSSSSSCCCSCSCSSSSSSCSCCCCSSSCSCCSCCSCCSCSCSCSCCSSSSCSSSCCCCCSCSCCSCSCSCCCSCCCSCCCCSSSCCSSCSCCCCCCCCCCSCSSSCCSSCCCSCSSCSCSCSSCSCCCSSSSSSSSSSCSCCSSCSCSSSSCCSSCSCSCCCCSCSSCSCSSSSCSSCSCSCSCSCSSCCSSCCCCCCSCCSSCSSCSCCSCCSCCCSCCSSSCSSCSSCSCSCCCCSSCCCCSSCCSSCSSCSCSCCSCSCCCCSCCSCCSSSSCSSSCCSSCSSSCSSSCCSSSCSCSCSSSCCCSSCCSSSSCSSSCCCSSCSCSCCSSCCSSSCSCSCSSSSCSCSSSCCSSSSSSSCSCSSCSSCCCSSCCCSCCCSCSSCSSCSCCCCSSCCCSSCSCSSSCSCSSCCCSSSSSCSCSCSSCSSSSCCSCCSCCCCCCCCCCSCSCCSCSSCCCSSCSCSCCCSCCSCCCCSCCCSSSSCCSSSSCSSCSCCSCCCSSCCCSCSCSSSSCSSSCCCSCSSSSSSCCSCCCSSCCCCSCCCCCSSSCSCSCCCSSCCSSSCCCSCCSCCCCSCSCCSSSSSSSCSCSCSSSCCCCCSCCCSCSCSSCCSSSCSSCSCCSCSCCCCSSCSCCSCCSSCSSSCCSCCCSCSSCSSCCSCCCCSCCCSSCSCCSSSSSSSCCCCCCSCSCSSSCCCSSCSSSSCCSSCCCCCCCCCSCSSCSSSCSCCCCSCCCSCCSSCCSCSSSCSSSSSSCSSCCCSCCCSCSCSSCCCSCSSCCSCSSSCCSSSSSCCCCCCSCSSSSSSSCSCCSSCSCCSSCSSSSSCCSCSSSCSCSSSSCCSSCSCSCSCCSSSCCCSSSCCCSSSSSCSSSSSCCSCSSCCCSCCCCCCSCSCSSSSSCSSCSSCCCSCSSSSSSSSCSSCSSCSCSSSSSCCCCCSCCSSCSCCCSCCCSSCSSSCCSSCCSSSCCCCCSCCCCSCCCSCSSSCCCSSCSCSSCSCCCSSCSSSCSSSSCCSCCCCSSSCSCSCCCSSSSCCSCSSCSSCCCCCCSCCSCCCCSCCSCSSCCSSCCSCCSCCCCCCCSCSSSCCCCSSCSSSSCCCSCSSCCCCCCCCSSSCSSSCCCCCSSCSCSSCSSCSCCCSCCSSSSCCCSSSSSCSSSCSSSSCCCCCCCSSCSSCSCCSCSCCCCSCCCCSCCCSCCCSCSCSSSSCCCCCSSSCCCCSCCCCCSCCSCSCCCCCSCSSSSCSSSCSCSSCSSSCCSCCCCSSCCSSCCSCSCCCCCSSSCSSCSSSCCSCCCSSSCSSCCSSSCCCSSSCCCCCSCSCCCSCCCCCCCSSSCSSCCCSSSCCSSCSSCSCSSCCSCSSCSSCSCSSSCSCCCSCCCSSCSCCSCSSSSSCCSSCSSSSCCCSCCCSCSSCSSSCCSSCCSSSSSCCCCSCSSSCSCCCCSSCCSSCCCCSSCSSCSSSSCCSSSSSCCSSSSSSSSSSSCSSSCCSSCSSCCCSSCCSSCCCCCSCSCCSSSSSCSSSSSCSCSSCSCSSSCCCCSCSSSSSSSCCSSCCSSCCCSSSCSSSSCSCCCCCCCSSCCCCCSCSSSCCSSSSSCCCCSSCCSSCSSCCSSSSSSSCSCCSSCSSCCSCSCSSSSSCSCCCSSCSSCCSCCCCCCSSCCCSCSSCSSCCCCSCCCSSCSCCCCSSCCCCCSSSCSSSCSSSSCSSSCSCSCCSCSCCCCCSSSSSSSSSSSCCCCSCCCSCSCCSSCSCSCSCCSSCSSSCSSSCSSSCCCCCSSSSSSSSCSCCCSCSSCCSCSSSSSCCSSSCCSSCCCSSCSCCCCCSSCSSSCSSSSCCSCSSCSSCSCSSCSCSSSSCCCSCSSSSCSCSSCSCSSCCCSCCSCCSSSCSSCSCCSSCSSCSSCSCSSCSSCCCSSSCSSCSCCCSSSCCCSCSCCCSCSCSCCSSCSCCCSSSCCCCCCSSSSCCSSSCCCSCSSSCSSCCCSCSSSCCCCCCSCSCSCSSCSSCCCSSCCSSCSSCCCSSCSSCSCCSCCSSSSSCSSSSCSCSCCSSSCCCSSSCCCSSSSSSCCCCCSSCSCCCCCCCCCSSCSSSCCCSCSCCSCSSSSCSCSCCSCCSCSSCCCCCSCCCCSCSCCSSCSSSCCCCSCSCSSCCSSCSSCCCSSCCCSCSSCCSCSCCSSCSSCSCCCCCSCCCSCSSSCCSCSSCCSCCSSSCCSCSCSSSCCSSSCCSCSSCCSCCSCCSCCCSSCCSSSCSCSSCCSSCCSCCCCCSSSCCCSCCSCCCSCSCCSCCCSCSSCCSCCCCSSSSSSSCSSSSSCSSCCSSSCSCSSSSCCCCSCCCCCSCSCCSCCCCSCSCCSSCSSCCSSCSSSSSCCCSCSCCCSCSCSCCSSCSSCSCCSSCSSCSSCSCCCCSCSCCCCSCCSCSCCSCSSCSSCCCCSCSCCCSCCCSSSCCCCSSCSCSCSCSSSCCSSCCCSCSSCSSCSCCSCSSSCSSSSSCCCCSCCCSSCCCSSCCSCCSSCSCSCSSSCCSCCCCCSCCCSSCCCSCCSCCCSSCSSSSCSCCSCSCCCSCCCCSSSSSSCSSSCCCCCCCCSSSCCCCSSSCCSSCCCCSCSSCCCCSSSCSCCCCSCCSSCCCSSSCCSSSCCSCSSCCSCSCCSSCSCCCCSCSCSSSSCSCCSSSCSCSCSSSSSCSSSCSSCSCCSSCCCSCCCSCSCSSSSCSSSCSCCSCSSSSCCCSCCCCCSSSCSCSSCCSCCSCSSCCSSCSCSCSCCCSSSSSCCSSSSCCSCSCCSSCCSSSSSCCSCCSCSSCSCCCCSSSCSCSCSCCSCCCCSCCSSCSCCCSCSSCSCCSSCCCSCSCSSCSCSSSSCSCCCCSSCSSCCCCSSSSSSCCCSCCCSSSSCSCSCCSSCSSCSSCSSCCCSSSCSCSSCSSSSSCSSSCCSSCSCCCSSCCCSSCSCSSSCSSSSCCSSCCSCSSCCSSSSSSCCCCCCSCCCCSCSCCSCCSCCSCSCSSCCSCCSSCCCSCCSSSSCCCSSSCSSSSCSCSCSCSSCSSSCCSSSSSSCSCCSCCCSSCCSSSCSSSSSSSSCCCSCSCSSSCCCSCSCSSSCCCSSCCCSCCCSCSSSCCCCSCSSSSSCSSCSSSCSSCSSCSSCSSCSCCCSSCCCSSSSCSSCSCSSSSSCSSCSCCCCSCCSCSCSSCSCSCCSSSCCSCCSSSCCCCCSCCSCSCCCSSSCCSSSCCSCSSSCCSSSCSCCCCCSCSSCSSSSSCCSSCCSCCCSSCSCSCSCSCCCSCSSCSCCSCSSCCCCSCSSCSSSSSSCCCSCCCSCCSSSCSCCSSCCSCCSCCSSSCCSSSCSSCCCCSSCCSSSSSSSSSCCCSSSCSCSCSCSSCSCSCCCSSCCCSSCSCSCSCCCCCCCCCCSCCSSCCCSSSSSCCSSSSCSCCSCSSCSSSCSSSCCSCCSSSSSSCCCCSSCCCCSCCSSSCSCSSSCCCCCSCCSSSCSSCCSSCSSSSCSSCCSSCSSCCSCSCSCSSCCCSSSSCCCSSCSSCSCSCCCCCCSCSCSSSSSSCSCSSSCSCSCSSSSCCSSSSCCCSSSCSSCCCSCSSCCCSCCSCCSSCCSSSCSCSSCSSCSSSCSSSCSCSCCCSSSCSSSSCSSSSSSCCCSSCCSCSSSSCCCSCSSCSSSCSCSCCSSSCCCSCCSCCCCCCSCSCSSSSCSCCCCCSSSCSSCCSCSSSSCSCSSSSCSCSCCCCSCCCCSSCCSSSCSCCCCSSCSSCSCCCSSCSSCSSSSSSCCCSSSCSSSCCSCSSSCCSCSCSCCSSCSSSSCSCSCSCCSCCSSSCSSSCSSCCCSCCCSSCCCCCSSSCCSSCCCCSSCCSSSCSCCSCSCSCSCSSCCSSSSCSSSCSSSCSSCCSCSSSCSCSSSCCSSCCSCCCSCSSCSCSSSCSSCCCCCSSCSCSCCCSSCSCSSCCSSSSSSCCSCSCSSCSCCCCSCCSSCSCSCCSCCCSCCCCSCCCSSCCCCCSSCCCSSCSSCCCCSCCCSCSCSCCSSSSCSCCCCCSSSSSCSSSSCCCSSCCSCSCSSSSCSSSSSCSSCSSCCSCSSCSSSSSSSCSCSCSCCCCSCSCSSCCSCSCCCSCSCCSCCCSSSCCSCCSSCCCSCCCCCSSCCSSCSSSCSSSCCCCSSSCCCCSSSSSCSSSCCSCSCCCSSSSSSSCSCSSSCSCSCCCSSSSSSSCCCCCSCCCCSCSSCSSSSSSSSCCSCCSSCCCCSCSCCCCCSCCCSCCCCCSCCSSCCSSSSCSCCSCSSCCCCSSSSSCSSSCSSCCSCCCSSCSCSCSSSCSSSSCCCCSCCSSCSSCCCCCSSSCCSSSCCSSSSCSCCCSCCSCSSCSSCCCSCSCCSSCCCCCSCSCCSSCSCSCSSSSSCCSCSSSCCSCSCCCSCCCCSSSCCSCSSSSCCCCCCSSCCSSSCCSCCSCSCSCSCCSCCCSSCSSCSSSCCSSCCCCSSCSCSSCSSCSCCCSSSCCSSSSSCCCSSCCSSSCSSSCSCCSSCSCCSSCCSCSSSCCSCCSCSCSSSCCSCSSSSSSCSCSCSCSCSCSCSCCSCSSCSCSSSSCCSSSCSCSSCCCSCSCCCSSCCSSSSCSSCCCSCCCSCSCCSSCCSCSCSSCCSCCCSSCSCSCSSSSSSCSCCSSCCSSSSCSSSSSSCCSCCCSSSCCSCCCCSSSSSCSCSCCSSSSCSCCSCCSSCSCSCSSCSCSCSCCCCCSCCSSCSCSSSCSCCSSSCCSCSSCSCSSCCCSSSSSCSCSSCCSSSCSCSCSCSCCSSCCSCCSCSCSSSCSCSSCCCCCCSSSSSSCSCSSCSCCSCCCCSSCCCSSCCCSCSSCSSSCSCCCCCSSSSCSSCCCCCCCCSCSSCSCCSSSSCCCCCSSCCCCSSSSSCSSCCSSCSSSCSSCCCCCSCSCSCCCSCSCCSCCSCCSCCSSSCSCCCCCCSSCSSCSSCCCSSSCSCCCCCCCCCCCCCCCSCCSSCSCCSCSCCSCSSSCCCSSSSSCSSCSCSCSCCCCCSSCCSSCCSSSCCSSCCCSSCCCSCSSSCCCCSCSCSSSSSSCCCCCCCCCCSSCSSCCSSSCCCCCCSCCCSCSCCCSSCCSCCCCCCSSCCCCSCSCCCSCCCSCCCCCSCCCSCCSCSCCCSCSCCCSSSSSCSCCCSCCCCSSCSCCSSSSCCCSSSSCCCSCCSCSCCSSCCSCSCCSSCCSSCSSCCSCCSCCCSSSSCSSSSSCCSCSCCCCSCSSCCCCCSCSSSCSSSSSCSCSCCSSCSCCSCSCSSCSSSSCSCSSSCCCCCSSCSCCSCCSCCCCCCSSSCCSSCSCSSSCSCSSSSCCSCSCCCCSSSCSCSSCCSSSSCCCSCCSCCCSSCCSCSCSCSSCCCCCCSCCCCSCSSCCCSCSCSCCCSSCCCCCCCSSSCSCCCSSCSSSSCSCCCSSCCSCSCCSCCCSCSSCSSSSCSSSSSSSSCSCSCSSCCSSSSCSSSCCCSSSSCCCSCCCCSSCCSSSSSSSSCSSSCSCSCSCSSCSSCCSSSCCCCCCCSCSCCSSCCCSSSSSSCSCCCSSCSSCSSSCSSCCSCCSCCSCSSCSSSCSSCSCCCSSSSCSCCSCCSCCCSCCCSSSSCCCSCSSCSSSSCSSCCCCCSCSCSSCSCCSSCCSSCSSCCSCSSSSSSCSCSSSCCCCSCCCCSCSSCSSSCCCCCCSSSSCSSSSCSCSSCSSCSCSSCCSCCSCCCCSCCCCCSCCSSCSCCCCCSSCSSCSSSSSCCCCCCCSSSSCSCSCSCSSSSCSSSCSSCSSCSCCCCCSSSCSSSSCCCCSCCSCCCSCSCSSCSCCSSCSSSSCCSCSCCSCSCCSCCCCSSCSCCSSSCSSSCSSCSSSSCCSCSSSCCSCSCCSCSCSCCSSSSSCSCSCSSCSCSSCSSCCCCSCSCCCSSCCSSCCCSSSCSCSCSSSSSSSCCCSCSCCCSSSCCSSCCSSCCCCSCSCCSCSCSCCCCSCSSCCSSCCCCCCSCCCSCSCSCSCSCCCSSCSSCCSCCCCSCCCCSSSCCSCSCCSCSCSCCSCCCCCSSCSCCSSSSCSCCSCCSSCCCCCSSCCSSCCCSSCSSCSSSSSSCCCSSSCCCSSCCCCSSSSSSCSCSCSSSCSSCCCSSCCSCSCCSSCSCCCCSSSCSSSCCCCCSSSCSSSSSCCSSSSSCSCCSCCSCCSSCSSSCCCSSCSSCCCCSCCCCSSSSCCSCCCSSCCSSCCSSSCCSSCCSCCCSSCSCSSCSSCSSSSSCCSCSSSCSSCCSCSSSSSSCSCCSSSCCCCSCCSSCCCSCCSCCSSCCSCCSSSSCSSCCCCSCCCCCSCSSCCSSSSCSCSSSCCSSSSSCCSSCCCSCSSCSSSSCSCSSCSSCSSCSCCCSCSCCCSSCSSCCSCSSCCCCCSSSSSSCCSCCCCCCCCSCSCCCCSSSSCCSSSCSCCSSCSSSSCCSCCCSCCCCSCSCSCSCSCSSCSSCCCSCSSSSSCSSSCCCSCSSSSCCSSSCSCSCSCCSSCCSSSSCSSCSSCSSCSSSSCSCCSCSCCCSSSCCSCSSCCCCCSCSCCSCSSSSSSCSCCCSSCSSSCSSSSCCSCSCSCSSSCCSSSSSCSSSSCSSCSCCCSCCSSCCCSCSCCCCSSSCCSSCCSSSCSCSSSCSSSCCCCSCCCCSCSSCCSSSCSSSCCCSSCSCSCCCSSCSSSSCCSSSSCCCCSCSCCCSSCSCSCCCCCCSSCSCSCCSCSSSSCSCCSSSSSSCSCCCCCCCSSSCSCCCCSSSCCSCSCCSCSSCCSCCCCCSCCCCCCSCSSSSSCSCSCSCSCSSSSCSCCSCSCSCCCSSCCCCSSSSCCCSSSCSCSCCSCSSSCSCSCSCCSCCSCSSCCCSCSCCCSSSCSSSSCSCCCCCCSCSCCCCCSCSCCCSSSSSCCSCCCCSCSCSSCCCCSSSSCCCCCCCCSSCCSCSCCCSSSCCSSSSCSSSCCCSCSCSSSSSSSSSSSSCSSCCCSCSSSSSCSSCSCSCCSCCCCSSCCCSCSSSSSSCSCCCSCSSCCSCCCCSSSCSSSCSCCSCSSSSSCSSSCCCCCCSCCCCCCCSSSSSCCCSSSSCCCSCCSCCCCSCSSCCSCSCSCCSCSSCCSSSSSSCSSCSCCCCSSSCSCCSCCSSSSSCCCCSCCCCCCSCCSSCCCCSSCCCCSSCSCCSSSCSCSSSCSSCCSSCSCSSSSSSCCSCCSCSSCSCCSCSCCSSSSSCSCSCCCCCCCCCSSSCCSCSSCCSCSCCSSCCCSCCSSSCCSCSCSSSSCCCCCSSCCSSCSCCCSSSSSCSSCCSSSCCSSSCSSCSCSCCCSCSCCSSCSSSCSSCCSCCSCCSCCSCSCCSCCCSSSSSSCCSCCCCCCCSSSCSCCCSSCSSSSCCCCCSSCCCCCSSSCSCCSCCSCSSSCCSCSSCSCSSSCSCCSSSCCSCSCCSSCCCSSSCCCSSSCCSCSSSCCCCSSCCSCSCCSCSSSSSSCSCCCCCSSSSSSCCSSCCCSSSSSSSCSCCCSCCSCSSSCSSCCSCCCCSSCCCCSCCCSSCCSCSCCSCSSCSSSSCCSSCSSSCSSSCCCCCSSSCSSCCCSCCCSSCCCSCCSCSSSSSCCSCCCCSCCSSCCCSCSCSSCSSCSCCSCCSCCCCCCCSSCCCSCCSSCCSCSCCSSSCSCSSCCSSCCSCSCCCCCCSCSCSCCCSSCSSSSSSSCCSSSSCCCCSSCSCCCCSCCSSSCSSCSCCCSCSSSCSSSSCSSCCCSCSSSSSSCSSSCSSCCSSSSCSCSSSCSSSCCSCCSSCCSSCCSSCCSSSSCCSCCSSCCCCCCCCSSCSSCSCSCSCCSCSSCSSCCCCSSCSSSCCCCCSCCCCSSCSCSCCCSSSCCCSSCCCCSCSCCSSCCSSCSCSSSCCCSCSSSCSSCCCSCCCSSSSCCSCSSSCSCCSCSCCCSCCSCSCCCSSSSCCCSSCSSSSSCCSCCSCSSCSCCCSCCCSCSCCSCSCCCSSCSCSCCSSCCCCCCSSCSCSSSSCSSSCSCCCCSCCSCSSSSSSSCSCCCSSSCCCCCCCCSCSCSCSSCSCSSSCCCCCCSSSCCSCSSSSSCSCSCCCSCSSCCCSCSSCCSSCCSCSCSSCSCCSCSSCSCSSCSSCSCCSSCSCCSSSSSSCSSSSCCSSSCCCSSSSSCCSSCSCCSSCSCSSSCCCCSCSSCSCSCCSCCCCCCSSSSSCCCSCCSCCSCSSCSCSSSCSSSSCSSSCCSSCCSSCSCSCSCCCSCSSCCCCSSCCSCSSSSSSCSCCSCSSCCCSCSCSCCSCCSCCCCSSSSSCSCCSSSSSSSSSSSCSSCSCSSCSSCCCCSSSSSCSSCCCCSCCSCSSSCCCCSCCSCCCSSCCSCCSCSCCCCCCSSSCSSSSSSCSSSSCSSCCCCCCCSCCSCSCSSCCCSSCCSSSCSSCCCCSSSCCCCSCSSSCCSSCCCSCCSCCCSSSSSSCSSSSCCSCCCSCSCSSCCCSCCSCSSCSSSSSSSCCCSCSCSCSSCCSCCCCSSCSSCSSCSSCCCCSCCCSSCSSSSCCCSCSCSCCCCSSCCCCCSCCSCSCCCCSCCSCSCCCSSSSSSSCCSCSCCSSSSCSSSSCSSSSSCSCSCSSCSSCCSCSSSSSSCCSCSCSSCCSCSSSSCCCCCSCCCSSSSSCCCCSCSSCCCCCCCSCSCSSCSCCCCSSSCSSSCSCCSCSCSSSSSSSSSSCCCSCSCCCCSCSSCCSSCSSSSSSSSSCCCSCSSCSSCCCSCCCCSCSCCSSSCSSSSCSCSCCCSCCSCSSSCSSSSSSSSCCCSCCSSSCCCCSCSCCCCCSSCCCSSSCSSSSCCCSSSSCCCSSCCSCSCCCCCCCSSSCSCSCSSCSCCCSCSCSCCCSCSSCCCSCCCSSSSCCCCSSCSCSCCSSSSCCSCCCCCCSSSSSCSSCCSCSSCCSCCCCSSCSSCSSSSSSSSSSSCCCCCSCCSSSCCSCCSCSCSCSSCSCSSCSCSSSCSSSCCSSSCCSCCSSSCCCSCSCSSCSSSSCSCSSSSSSSCSSSSSCCSCSSSCSCSCSCSCCSSCCCSSSCCSCSCCSSSSCCSSCCCCCSSCCSCSCCCCCSCSCSCSCSSCSCSSSCCCSSSSSCCCCSCCSSCCSCCCCSSSCCCCSSSSSCCSSSSCSSCSSSSCSCSSSSCCCSCCCSCCCCCCSSSSCSCSCCSSCSCSCCCCCSCCSSCCCSSCCSCCCCSCCSCCSSCCSSCSSCSSSSSCCCCCSSCCCSCCCCSSCSCCSSSSSCCSSSCCCSSCSCCSCSCSSSSCSCSCCCCSSSSCCSSSSSCSCCCSCCSCSCSCSSCSCCCSSCCCCSCCSSSCCCCSCSSCCSCSCCCCSSCSCSSCCSCSSSCCCSCSCSCCSSCSSSSCSSSSSCSSSSSSSSCSCCCCSCCCSSSCSSSCCSCCSSSCSCCCCSCSSSCSSCCSCSSCCCCSCCSSCCSCSSCSCSCCSCSSSCCCCCSSCSCCSCCCSCSCCSCCCCCCCSCSSSSSSCCSSSCSCSSCSSCSCCSCSCSSSSCCSCCCSCSCSSCSSCSCCCSCCCCCSSSSCCSCCCSCSCCSCCSCSCCCCSSCSSCSCSSSSCSCCSSSCCSCSCSCCSSSSSCSSCSSCCCCCCSCCSSCCCCCSCCSCCSSSSCCCSCSSSSCSSCSSCSSSSCCCCSSCCSSSCSCSSSSSSSCSCSSCSSCSCCCCCSSCCSCSSCSCSSCCSCSSSCSCCSCCSSSCCSCCCSSSCSSSCSCSCSSSSSSCCCSSCSSCCCSCCSCSSSSCCCSCCCCCCCSCSSCSCCSSCCCSCCCCSSCCSCSCSCSSSCSSSSCCSCCCCCSSSCCSCCSSSCSSCSCCCSCSSCSSCCCCSSSSSSSSSSSCCSCSCSSSCSSSSSCCSSCSCSSSCCCCCSSCCSSSCSCSCSCSCSCSSCCSSSSCSCSCSCSSSSSSSSCSCSSSSCCCSSCSCCSCCSSSCCSCCCSCCCSSSSCSSSSCSCCSCSSCSCCCSCCCSCCCSCCSSCCSCCSCCCCSCCSSCCSCCCSCCCCSCSCSCCCSSCSSSSSCSCCCSCCSSCSSSCSCCSCCSCSSCCCCCSCSCCCSCCSCSSCSCCCCCCCCSSCCCCSSCCSCSSSCSCCCSSSCSSSSSCSSCCCCCSSSSSCSCCCCCSSSSCSSCSSCSSSSCCCSSSSSSCCCCSCCCCSSSCSCCCSSCCCCSCSCSCCCSSSCSCCSCSSSSCCCCSSSSCCSSCSCCSSSCCSCSCCCSCCCSSSSSCSCCCCCCCCCSCCCSCCCCSCSCSCCCCSCCCCCSCCCCSCCCSCCCCCCSSSSCSSCCCSSSSSSSCSSSSSSCCSSCCSSCCSCSCSCCSCSSCCSCSCCSCSSCSCCCSCSCSSSCSCCSCSSSCSSSCSCSCSSSCCSSCSSCSCSCSSSCSCSCSSSCCSSSSSSSCCSCCSSCSCSSCCSCCSCSCCCCSSCCCCCSCCSCCCSSSCCCSSSCSSCCSSSCSSCCSSSSSCSSSCSCCCSCCSSSCSSSCCCSSCCSCSSSCCSCCCCSCCCSSCSSSSCCCSSSSSSCSSSCCCCCCCSSCSSCSCSCCSCSCCSCCCCCSSCCCCSCCCSCSCSCSCCCCCSCSCCCSCSCSCCCCSCSCSCCCCSCSCSSSCCSCCSCSCSSCSSSCSCCCCSCSSCCSSSSSCCCSSCSCCSCCCSSCCSCCSSCCSCSCCSSSSCSSCSSSSCCSCCCCSSSSSCSCSSCCSCSSCCSCCSCSCSCSSSSSSCCSSCSSSCSSCCSCSSSSSCCSCSSCCCCSSCCSCSCSCSSCCCSCSCCSSCSSCCSCSCCCSSSSCCCCSCCSSSCSSCSSCSSSCCCSCCCSCSSCCSSCSCCCSCCCCSSCCSCSCCSSCCCCCSSSCCCCCCCSSCCSSCSCCSSCSSSCCSSCCSCSCCSSCCSCSCCSCCCSSCSCSSSCCCSSSSSCCCCCSCSSSCCCCSCSSSCCSCSSSSSCCCCSSSCCCCSSSCSSSCCCCCCSSCCSCCCCSCCSCCSSCCCCCSSSSSCSSSSSCCCCCCSCSSCCSSSCCSCCCCCCCCCCCSSCSSCSSCSSCSSSSCSSCSSSSCCCSCSCSSSCCCCSCCSCSCCCCSSSSCCSCSSSCCSSSSCCSCSSCCCCCCCSSCCCSCCSSCCCSCSCSSSSCCSSCSCCSSCCSCSSCSSCCCSCCCCCSCCCSCSSCSSCSSCCSSCSSCCSCCSCSSCSSSSCCSSSCSCCCCSSSCCSSCCCSCSCSCSCCCSSCCCCSSSSSSCSCCSCSSSSSSCSCCCCCSSSSCSSSSSCSSCSCSCSSSSSSCSSCSCCCCCSSCCCSCCSSCSSCSSSCCCCSSSSSSSCSCSSSCCSSCSSCCCSSSSCCSSCSCCSCCSSCSCSCSSCCCSCCCSCCCCCSSCSCCCSCCSSCSCCSSSSSCSSSCCSSCCSSSCCSSSCSSSSCCCCCSCCSSSSCCSCCCSSSCSCCCCSCSCSCCCCCCSSSSSSSCCSSCCCCCSSCSSCSSCSSCSSSSSCSCCCSCSSCCSCCSSCSCCCSCSCSCCSSCSSCSSSCSCCCSSCCCSSCSCSCCSSCCSSSCCSSSSCSCSCSSCCSCSSSSSSSSCCSCCSSCCCSSCCSSSSSCSCCSCCCCCSCSSCSSSSCSSCCCSCSSCSCCCSSSSSSCSCSSCCSCCCSSCSSCSSCCCCCCCCCSSSCSCCCSCCSSCSCSSCSSCCSSCSSCCSSCCCCSSCSCCCSCSCCSSSSSCSSSCCSSSSCCSSSSSSCCCSCSSCCCCSCCCCSSCCSSCCCCSCCSSCCSCCSSCSCSSCSSSCCCCSCCSSCSCSSCCSSSCCCCCCCCSCCCSCCCSCCSSCCCSSSSCCCCCCSCSCCSCCCCCSSCCSCCCCSCSSSSSCSSSSCCSCSSSCCSCSSCCSCCSSCSSCSCSCSCSCSCSCCCCCSSSSSSSCSSSCSSSSCSCSSCSSSCSSCCCCCCSSSSSSSSCSCCCCCCSCSCCSCSSCCSCCCCSSCCCCCSCCCSCCSCSCSCSCSSCCCCSCSSSSSCSSCSSSSCSSCSSSSCCSCCCCCCCSCCCSCCSCCSSCCSSCCSSSCSCSCCSSSCSCCSSSSCSSSSSCSSSSSSSSSSCCSCSCCCCSSSSSCSSSCSSSCSCCSCCSSSCCSCCCCSCSCSCSCCSSCSCSCSSSCSSCCCCSCSSSCSCSCCSCSCCSSSCCCCSCSCCCSCSSSCSCSSSCCSSSSSCSCCSSCCSSSCSSSSSCSSCSSCSCCSSSCSCSSSSCCSCCCSSCSSSSSCCCCCSSCSSSSSSSSSCSCSSSSCCSCCSSSCSSCSSSCSSCCSCCSCCCSSCCCSSCSCCCSSCCSCSCSCSCCSCSSCSSSCSSCCSSCSCSSCCCCCCCSCCCSCSSCSSSCSSCCCSSCSSCCSCCSCSCSSSCSSSSSCCCSSSSSCSSSCSSSSSSCSCSCCSSSCCSCCCCSSSSCCCCSSCCCSSCCSCCSCSSSCCSSSSSSSCCSCSSSCCSCCSSCSSCSCSCCCSSSSCCSCSCSSCSCCSSSSSCSSSSSSCSCCSCSCCSCSSSSCCSSSCSSSCSSSSCCSCCSCCCSCSCSSSSSCSCCCCCCCSSSSSSSCCSCCSSCSSSSSCSSCCCSSCSSSSSSSSSSSSSSCSSCCSSCCCCCSSSCSSCSSSCCSSSSSCSSCSCSSSCCSCCCSCSCSSSCCSSSCCCSCCCCSSSCSCSSSSCSCCSSCCCCSCSCSCSSCSSSSCCCSSCSCSSSSCCCCSCSCSSCSCSCCCSCSCSCSCSSCSCCCSCSSCSSSCSCCCCCSCCSSSSSSSCSSSCCCSSSCSSSCSSSSSCSCCSSSCSSCCSSCCSCCCSSSCSCSCCCCCSCCSCCCSCSSCSCSCCCSSSCSCSCCSCCSSCCCSSCCSCSCCCCSSSSCCCCSCSCCCSCCSCCCSCSCSSCCCCCSCSSSCCSSCSCSCSCSSSCCSCCCCCCCCCCSSCCSSSSSSSCSSCCSSSCCCSSCCSCCCSCSSCCSSCCCCSSCCSSSSCCCSSSCSCCCCCCCCCCCSCSSSCCCCSSCCCCCSCCCSCCCSSSCCCCCSCSSCCCSSCCCCSCCSSSCCCCSSSCCSSCCCSSCSSSCSCSCCCSSCSSCSCCCSSCSCCSCCSCCCCCCCCSSSSSCCSCCCSSCCCCSCSCCSCSCSCCCCSCSSCSCSSCCSSSSSSSCSCSCSSCCCCCSSCSCCCSSSSCCSSSCCSCSCCCCCSCSCCCSSCCCCCSSSCSCSSCCCCSSSSCCCCCCSSCCCSCSCSCCCSCCCSSCSCCCSCSSSCCCCSCCSSCSCCCCCSCCCCSCSSSCCCSCCSCCSSCCCCSSCSSCSCCSSCSSCCCCCSSSCSSCCCSCCCCSSSCSSCCCCSCSSSSCCSSSCCCCSCCSCSCSCSCSCCCCCCCCCSCCCCSSCCSSCCSCCCSSCCCSSCSCCSSSSCCSSSSSSCCSSCCCSSSSSCCCSCCCCSSCCCCSSCCCSSCCSSCCCSSSSCCCCSSSSCSSSSCSSCSSSSSCCCCCCCSSCCCCSCSCSCSSSSCCCCCSCSSSCSSCCCCCCCSSCSCSCCCCSSSCSSCCSCCCSCSCCSSCCCSCSCCSSCCCCSSSSCCSCCCSSSSCCSSSCSCSCCCCCSCCCSSCCSSCCCCSSCSCCSSSCSCSSSCSCSCCCCSCCCSCSCSCSSSCSSCSSCSSSCCCSSSSSCSCCCCSCSCCCCSSCCCCCSCSSSSCCCSCSCSCSSSCCCCSCSSSSCCCCCCCSSSSCSSSSCSSCSSSCSSSSSCCCSSCSCSCSCCSSSCSCCCCSCSCCCCSSCSCCCSSSCCCSSSSSSCSSCSCSCCCCCSSSSCCSSSCSCSCCCSSCCCSCSSSSSCCCCSSCCCCCCSSSSSSCSSSSCSSSCSCSCSCSSSSCSSSSSCCSSCSCSCSCCCCCSSSCSSSCCSCSSCSSSCCCSCSCCSCSCSSSCSSCSCCSSSCSSCSCCCCCCSSSCCCSSCSCCSCCCSSCCCCCCCCCCSCSCCCCSCSCSSCCSSSSCCSCSCSCSSCCSSCCCCSCCSSSCSCSSSSCSCSCCCCCSCCSCSCCCSSCSCCCCCSCCCCSCSCCCCCCCCCSSSCCCSSSSCCCCSCCCSCSCCCCCCSSCSCCSCCSSCCSSCSCCSCCCCCCCCSCSCSSSSSSSCSCCSCCSSCSCSCSSSCSSSSCSSCSSCSSSCCSCCSSCSCSCSCCSSCSSCCSSCCCSCSCSSCSSSCSCCCCSCSCSCSSCSCSSSCSSSSCSSSCCCSSSCSCCSCCCSSSCCSCSCSSSSSSSCCSCCCSSCCCSCSCSSCCCSSSSCSSCCSCCSCSSCCCCCSSSSCSCCCCCCCSSSSCCCCCSCCCCCSCSCSCCSSSCCSCCCCSSCCCSCCSSSSCSSSCSCCSSSCSSSCSSSCSCCSSSCSCCCSCSSSSCSCSCCSCCCSSCSSCCSSSCSCSSSCCCSSSCSSSCSCSCCSCSCSCSCCSCSSCCCCSSCCSCSSCCSSSCSSSCCSSSSSSCCSCSCCCCCCCSSCSCCCCCCSSSSSSCSSSCCCSCSSCCCCSCCSSCCCSSCCSCSSCSCCSSSCSSCCSSSCCSCSSCSCSCCSCCSSSSSSSSSCCSCCSCSSSSSSCCCSCSCSSSSCCCCSCSSCSSSSSCSSSSSSCSCSSCSSCCSCSSCCCSCCSCSSCCCCSCCSSSCSSSCSSCCCCCSSCCCSCSCSCCSCCSCCSCCCSSSSSCCSCSCCCCCSSCCSSCCCSSCSSSCCSSCCSSSSCSSSCSCSCSCCSSSCCCCSCSSSSSCSCSCCCSSCSSSSCSCCCSSCCCCCSCSCCSCSCSCCCSSSSSSCSSSCSCCSCSSSCSCCSSSSSSSCCSCCSSCCSCSSCCSCCCCSCCSCSSSCSSCSSSCSCCSSCSSSSSCSCSSSCCSCSSSSSCSSCCCSCSCCSCSCSCSCSSCSCSCCSSSCCCCSCSSSCCCCSCCSSCCSCCCCSSSSCSCCSCCSCSCCCCSSCSCCCSCSCCCCSSSCCCCCSCCCSSCCSCSCSSSCSCCSSCSCSSSCSCSSCSCCCCCCCSSCCCCSSSSCCCCSSCSSSSSSSSSCSCSSCCCSSCCCCCSCCCCCCCCCCCCSCCCCCSCCSSCCCSSCSSSSSSSCCSCSSSCCCCCCCSCSSSSSSCSCSCSSCSSCCCSSSSSCSCCSCCSSSCCSSCCCSCCCSCSCSSSSCSSSCCCCCCSSSSSSCCSSCCSSCSSCCSCCCCCCCSCCCSSSSCSCSCCCCCSCCSCSSSCSSCCCCSSSSSSCCCCCSCCSCSCCCSCCSCSCCCCSSSSCCCCCCCCCSSCSSCSSCSCSSCSCCSSSSCCCCSSCCCCSCCSSSCCSSCSCCSSSSCSCSCCCSSSSSSCSCSCCCCSCCSCCCCCSCCCSSCCSCSSSSSCSCCCSCSCSSSSCCSSSSCCSCCSCSSSSCSCSSSSSSSSSCSCCCCSCCSSCCSCSCCSCCSCCSCSCCSSSCSSSSSCSCSCSSCSCSSCSCSSSSSCSSSCSCSSCCSCSSCCSSCCSSCCSCSCCSCSCSSCCCCSSCCSCSSCCCSCSSCCCCCSCCSCSSCCCCSCSSCSSSSSSSSSCCSSCSCCSSSSCCSSCCSCCCCCCCCSSSSSSCSSCCCSCSSCSCCCSSCSCSCSCCCSSSCSSSCCCSSSSSSCCSSCCCSSCSSCSSCSSSCSSCSSCCSCCCSCSSSCSCSSCSSCSCSCCSCSCSCSCSCSSCCCCCSSSCSCSSSSSCSCSCCCSSCSCSSSCCCCSSSSSCSCSCSCSCSCSSSCCSCSSCSCCCSCSCCSSCCCSSSSCCSCSSSSSCCSSSCSSSCCSCCSCSSCCCCCCSSCSCCSCCSCSSCSCCCCCCCCSSCCCSSCSSCSSSSCCSCSCCCCSSSCSSSSCCSSSCSSCSSCCSCSSSSSCSSCSCSCCCCCCCCCCSSCCCCSSCSCCCCSCCCSSCCCCCCCSSCCCSSSCCCSCSSSCCSSSCCCSSSCCSCSCSSCSCSSSSSSCSCSCSCSCSSSCCCSSCSCCSCCSSSCSCSSCSCSSCSSCSSCCCSCCCCSCCCCSSCCSCCSSCSSCSSSCCCSSSCCCSSCSCSCSSCCSCCCCCSCSSSCSCSCCSCSCSCSSSSSCCSSSSSSSSCSCCSCCCCCCCCSSSCSCSSSCSCCSSSCSSSSCCSSCCSSSCSSCSSSCSCCSSCCSSSSCSCCSCSSSCSSCCCSSCCSSSCCSCSCCCSCCSCSSCSCSCCSCCCCCCSSCSSSCCCCCCCCSCSSCCSCCSCCCSSCSSSSSSCCSCSSCSSCSCCSCCSSSSCCSSSCCSCSSSSSSCCCCSSCSSSCSCCSSSCSSCSSSCSSSCCCSCSSSCSCSCCCSCCSSCCCCCSCSSCCCSSSSSCCSSSCSCCSSSCCSSCSCCSCSCCSCSSCCSSCSSSSSSSCCSCCCCSCCCCCCSSCCCCSSCSCCSSSSCCCSSSCSCCSCSSSSCCCCCCCSCSCSCSSCCCCSCCSCCCCCCCCSSSCSSSSSCCSSCSSSSCCCSCSCSSSSSSSSSSSCSCSCSCSCSSCCCCCSSSSCCSCCCSSCCCSSSCCSSSCCSCSSCSCSCCSCCCCSSCCCCSCCCCCCSSSSSCCCCSSCSCSSSCCSSSSCCSCSSSCSCCSSSCCCCCCCSSSSCSCSSSSSCCCCSSCCCCCSCSCSSSSSCCSCSSCCCCSSSSCSCSSSCSCCSCSSCCCSSCCSCCCSSCCSSCCSSCSSCSSSCSSCSSSCCSCSCSSSSCSCSCSCSSCSCCCSSSCCSSSCCCCSCSSSSSCSCCCCCSCSCSCSSCCCCSCCSSSSSSSCCCSSCCSSSCSSSCSSCSSSCSCCSCSSSCSCCSSCCSCCSSSCCSCCCCCCCCCCSSSSCCSSCSSCCCCSCCCCCCCCSSCCCSCSCCCCSCSSCCSSCCCCCCSCCSSSSCCCCCSCCSCCSCCCCCCCSSSCCCSSCCCSCSCCCCSSSCSSCCSSCSSSCSCSCCSCSCCCCCSSSCCCSSCCCSSCSCSSSCSSSCCCSSCCSCSCCCCSSSSSCCSCCSSCSSCSCSSSSSSCSSSCCCCCSSSSSSCCCCSCCCSSCCCSSSCSSCCCCCSCSSCSSCCCSSSCSSCCSSSCCSCCSCCSSSCCSSCCSSSCCSCCSSCCCSCCCCCSSSSSCSCSSCSSSSCCSCSSCCSSCSSSCCCCCCCSCSSCSSCCCCSSSCCCCCSCCSSCSSSCSCSCCSSSSCCSCSCCSSSSCSSSSCSCCCCCSCCCSCCSCCCCCSSSCSCSSCSSSCSSCSSSCCSSCCCSSCSCSSCCSCCSCCSSSCSSCSSSSSSSCCSCCSCSSSSCSSSCCCSCCCCCCSSCSCSSCSCSSSSSCSSSSSCCSSSSCCCSCSSCSCCCSCSCCSSSSCSCCSSSCSSSSSCCSSCSCSCCSSSCSSCSSSSCCSSSCCSSCSSCCCSSSSSCCSSSCCCSSCCSCSSSCSSCSSSSSSSSSSSCCCCSSCCCCSSCSSSCSCCSSCSSSCSSSSSSCSSSSCSSSCCSSSSCSCCCCCSCSCSCSCSCSCSCSSCSSCSSCSCSSSCCSCCCSSCSSSCCSSCSSSCCSCCSCSCSCSCCCSCCCSCSCCSCSCSSCSSSCSCSSCSCCCCCCCSSCSCSSCSSCSSCCCSCCCCSSSCCCSSCCCCCCCCSSSSCCCSSCSCSSSSCCCSSSCSCSSSSSCSSSSSSSSSCCCCCCCSCCSCCSCSCCSCSCCCCSSSSSSSCSSSCCCSCCSSCSCCCCCCCCCSSCCCCCCSCCSSCCCSSCCSSCSSSCCCCCSSCCSSSSCSCCSCCSCSCSSCSCSCSCSSSSSSCSSCCCSSCCSSCCCSCSSCCCCSCCCCSCCCSSCSSSCCSCSSCSSCCSSCCSCCSCSCSCSSCCSCCCSCCSCSCSSCSCCCCCCSCCCCCSSCSCCCSCCSSSSSCCCSSSCSCSCCSCSSCCCCCSCCCSCSCSCCSSSCCSCCSCSSCCSCSSSSSSSCSCCCSSSCCSCCSCSSSSSCCCSCSSSSCCCCCCCSSSCCSCSCCSSCCSCSSCSCCCCSCCCSCCCCCCCCSCSSCCSCSCSCSSCSSSCSSSCCSCSCCSSSSCSSSSCCCCSSCSSCSCSCSSSCSSSCSSSCCSSSSSCSCSSCSSSCCSCCSCSCCCSCSCCSSCSSCSCSSCSSCCSSSSCCCSCSSCCCCCSSCSSSSCSSSCCSCSCSCSSSSSSSCSCSCCCSSSSSSSCSSSSCCCSSCCCSCSSCSCSCSCSCCCCCSCSCSSCSCSSSSCSSSSCCCCCCSCCCSSSCCSCSSSCCSSCCSSCSSSSSCSSCCCCSCCSSSSSCSSCCSSSCSCSCCCCSSSSSCSSCSSCCCCCCCCCCSCSCSCCSCCCCSSCCCSSCCCCSCCCCCCSCCCSCSSSCCSSSCCCSCSSSCSCSCCSSCCCCSCSCCSCCSSSCSCCSSSCCCCSSCSSCCSSSSCCCSCSCSCSSCSSCSCCCCCCSCCCSCSCSSCCSSCSSCCSSCSCCCCSCSSCCCCCSCSCCCSSSCCCCSSCCCCCCCCSCSSCSCCSCCSCSSCCCSCCCCCCSCCCCSCCCSSCSCCCSSSSCCSSSCSCCSSSCCSSCSCCCSCSCSCSCSCCCSCCCSSSSSSCCSCSSCSSCCSCSSSSCCCSCCCSCCCCCCCSSCSCSCCCCCCCCSSSCCSCSSCSCCCCSSCCSSSCCSCSSCCCCCSCCCSCCSCSSCSCCSSSSCSCSCSSCCCSCSSSCCSCSSCCCCSSSSCSSSCSCSCCSCCSCSCSCCSSCCCCCCSCSSSSCSCSCSCCSCSSCSSCSSCCSCSSSSCCCSSSSSCSCCCSCSCSCSCSSCSSSSSCSCSSSCSCCSSCSCCCSSSCSCCSCSCSCSCCCCCCSSSSCSSCCSCSCCCSCCCSCCCCCSCCSCCSCCSCCSSSCCSCSSSSCCCSCSCSCSCSSSSCCCSCSSSSCCSSSSCCSSCSSSCCSSCSSCCCCCSSSCCCSCCCSCCCCSCSCSSCSSSCCSSCSSCSSCCCSSCSSSSSCSSSCSSSCCCCSSSSCSSSCSSSCSCSCSCSCSCSCCCSCCCSSCCSSCCCCCCCSSCCCSCSCCSCSSSCCSCCSCSSCCCSCSSSCSSCSSSSSCCCCSCCSCCCSSCSSCSCCSSSSSCSSSSSCSSSSSSCSCSSCSCCSSCCSCSSCCSSSSCCSSSCCSSCSSCCSSCCCSCSCCCCSCCSSSCSCCSSSCSCSSSSSCSCCSSCSCSCCCCCSCSSSSCSSSSCCCSCSSSCCSCCCSSCCSSSCCCSSSCSSCSCCCSSSSSCSCSCCCCSSSSCCSCCCCCSCCSCSCSSSSSCCSCCCCSSSCCCSSSCSCCSSCCSSCCCCSSSSCCCCCCCCSSSSSSCSSSSSCCSSSCSSCCCSSCCCSSCSCCCCSSSSCSCCSCSSSCCSCCCCSSSCSCCSCCCCSCCCCCCSCCSCSCSSCSCCSCCSSCSSCSSSSCSCSSCSSCCCSCSCCCCSCCCCSSCCSCCCCSSCCSCSCCCCCSCSSSSSSCSSCSCCCCSSSCCCSCCSSCSCSSCSSSSCCCSCCSCCSCSCSSCSCCSSSCSSCSCCSCCCSCCSCCCSCSSSSCSSCSCCSSSCCCSSCCCCSCSSSCCCCCCSCSSCCCSSSSSSSSCCSCSSCCSCSCSSCCCSCCCSSCSSSSCSCSCSSCSCSSCCCCCCCSCCCCCCSSCSCCCSCSCSCSCSSSCCCCCCCCSCCCSSCSSCSSCCSCCSCSSSCSCCCCSSSSSCSSCCCSCSCSSSCSCSCCCSCSCCSSCSCCCCCCCSCSCCSSSCCCCCSCCCCCSCCSSSSCSSCCCSSSCCSSSSSCCCCCCSSCCCCCCCSSSSCSSCCSCCCSCSSSCCSCCCSCCCCSCCCCCCSSCSCSCSCSCSCCCSCCCSSSCSSSSSSSSSSSCCSSCSCCCSSCCCCCSSCCSCSCCSSCCCCCCSCSCSCSCCSCCSCCSCSSSSSCCSCCSSCCCCSCSCSSSCCSSSSSSSCCSCSCSSSSCSSCSCCSSCSCCSCSSCSSCCSSCCSCCSCSCCCCSCCSSSSCSCSCSSSSCSSCSSCCCCSSSSCSCSSSCSCSCCSSCSSSSSCSCCSCSCSCSSCCCCSSCCCSSCSSSSCSSCSCCCCSSSCSSCSSCCSCCCSSCCCSCSSCSCSCCCSCCSCSSSCSCSSSCCCSCSSSCCSSCSSCSSSCCSSCCSSSSSSSCCCSSCSCSCSSCSSSSCSCSSSSCCSSCSCCSSCCSCCCSSCSCCSSCCSSSSSSCCCSSSSSCCCCCSCSCSSCCSCSCCSSSSCSCSSSCSCSCCCCSCCSCCCCCCCCSCSSCSCCSSCSSCCCSCSCCSSCSCCSCCCSCSCCCCCCCSSSCCSSCSSCSCSSSSCCSSSCSSCCCSSSCCSSCCCSCCSCSCCSSCSSSSCSSSCSSCSCCSSCSCSCCSSCCSCCSCCSCSSCSCSSSCCSCCCCSSSSSCCCCCCCCSSSCCSCCCSSSSCSSSSSCSSSSCSCCCCSSCSCCCSCSSCSSSCCSCSCSCSCCCSCCCCCSSCSCSSSSCCCSCCSCSSSSSCSSSSSCCSCSSCCCSSSSCCSSSSCSCCSSSSSSCCSSSCCCCSSCCSCSSSSCSCCCCSSSCCCSCCCCCSCSCSCSCSSCSCCSCCCCSSCSCSCSCSSCCCCCCSSCCSCSSCSSCSSSCCCCSCSSSSSCCSSSCCCSCSCCSCSSCSCSCCSCCCSSCSCCCSCSSSSCSCCSCSSSCSCSCSCCSCSCSCCCCSSSSCCSSSSSSCSSCCCSCCCCSSSSSSSCCCCCSSSCSSCCCCCCSSSSCCCSSCCCSCSSCCCCSCSSSCSSCCSSCCSCSCCSCCCSSSSSSCSCCSSCSSSCCCSSSSSSCCCCSSCSSCCCSCCCCCSSCSSCSCCCSCCCSCSSSSSCCCCSSSSSCSCCCCSCSCSSCSCSSSCSSSSSSCCCSSCCSSCSCSCCCSSSSCCSSCCSSSCCCCCCSCCSSSSCSSCSCSCSCCCCCSSCSSSCSSCSCSSCCSCSSSCCSSCCSCSCCCCSSCCCSCCSSCCCSCSCSCSSCCCSSSCCCCSCCSSCCSSSSSSCCSSCSCCSCSCSCSCCCCCCCSSSSCSCSSCSSSCSCCCSCSCSSCCSSSSSSCCSSSSCCSCCSCSSCCSSSSCCCCCSSCCCCCSSSSCSCCSCCSSSCCCSCCCSSCSCCSSSSCSCSCSCCCCCSSCSCSSSSSSCCSSCCCSCSCSCCSCCSCCCCCSSCSSSCSSCSCCSSSCSSCCCCCCCCSCSSCSCSSCSSCCSCSSCCCSSCCCCCCSSCCSCCSCSCCCSSSCSSCCCCCSSSSCSCCCSSSSSCSCSCSCCSSCSCCSCCSCCSSSSCSCSSSSSCCSCCSCSCCCSSCSSCSCCCSSSCSSCSCSCCCCCCSSSSCSSSCSCSSSCSCCSCCSCCCSSCSCSSSCCSSCCCCCSCSSSCSCCSSCCCSSSSCSCCCSCSSCSCSSSCSSCCCSCSSSSSSSSSCSSCSCCSSSSSSSSCCCCCSCSSCSCCSCSSCSSCCSCSCCCSCSSSSCSSSSCCCCSCSSSSSCSCSCCCSCCCSSCSCCCCCCCSCSCSSCSCCCSSSSSSSSSSCSSCSCCCSSCCSSCSSCSSSCCCCCSSCSSCCCCCCCSCCCSSCSSSSCCCSSCSSSCSSSSCSCSSCSSSCCSSSCCCCSSSCSCSCSCCCCSSSSSSSCCSCCSSCCCSCCCSCSSSCSSSCSSCSSSCCSCCSSSCCCCCSCSSCCSSCSSSSCCCSCSCSCCCSCSCSCCSSSCCCCCSCSCCSCCCSSSCSCSSSSCCCCSCSSSSSCCSCSSCSSSSSCSSCCSCSSCSSCSCSSCSCCCSSSCSCCCCCCSSSCCSSCCCCCCCCCSSSCSSCCCSSCSCCSSSCCSSCSCCSCCCCSSSSCCCSCSCCSCCSCSSSSSSSCSCCSSCSCCSCCSCCCCSCSSSSSSCCSCSSSCCCCSCSSCCSCCCSCCSCCSSCSCSSSCSCSCCCSSCSCSCSCSCSSCSSSCCSCCCCSSCCCCCSSCSCSCSSCSSCSSSSSSCSCCCCCSCSSCCSSCSCCCCCSCCCSCCCSCSCCSCCCCCCCCSCCSSCSSSSSSCSCSSCSCSSSSCSCSSCCCCSSCCCSCCSCCSSSCCSCCCSSCSSSSSSCSSSSCSSSSSCSSCSSCSCSSSSSSCSCSSCSCSSSSCCSCCCCSSSCSCCCCSSSSSSCCSSCSSSCSSCCSSSCCCSCSSCCCSCCCSCSSCCCSSSCCCCCSSCCCSSSSCCCSSCSSCSSCSSCSSCSSCCCCSCCSSSSCSSCSCSCCCCSCSSCSSCCSCCSSCCCCCSCSCCCCSSCCCCCCCCSSCCSCSCSCCCSCSCCCCCSCCCSSCCCSCSCSSCCSSSSSCSCCCCCSSCSCCSCSSCCSSCSSSCSSSSCCSSSCCCCSSCCSSCSSCCSSCSCSCSSSCCCCCSSSCSSSCCSCCCSSSSCCCSSSCCCSSSSCCSSCCSSCCSCCSSCCSCCCCSSSSCCCCCSSSCSCCSCCSCSSCCSCSSSSSSCCCSCCSCCSCSCCSSSCCSSCSSCCSSSCSCCSCCSSSSSCSSSCSCCCCCCSSSCSCCCCCCCSSCSSSSCCCSCSSCSSCCCCCSSSCCSSSSCCSSSCSCSSCCCSSSCSCCSSSCSSSCCCCSSSCCCCCCCSCSSCSSCCSSCSSSSSCCSCSSSCSSCCCCSSCCSSCSCSSCCSCCSCCCCSCSCCSCSSCSSCCCSSSCCSSCCCSSCCSSSCCSCSCCSCSSSCSSSSSSCCSCSCCCCCSSSCCSCCSSSCSSCCCCCCSSSCCSCSCCSSCSSCSCSSSSCSCCCSCSSCCCCSCSCSSSSCCCCCCCCCSSCSCCCCSSCSSCSSCSSCSSSCSCSSSSSSSSCSSSSCCCCCCSSCCCSCCCSSSCSCCCCSSCCCSSSCSCSSCCCSSCCSSSCSCSSCSSSSSCSCSSCCCSCSSCCSSCCCSSSCSSCSSSCCCCCCCCCSSSCCSCSCSCSCSCCSCSCSSCCCSSSSCCSCCSCCCCSCSCCCCCSCCCSCCCCCCSSSSSSCSSSSSSCSSSSCCSCSSSCCCSCCSCSSCCSCCCCCSCSSSCCCCSCSCSSCSSCSSCSCCSSSSSSCSSSCSSSSCSCSCCCCCCSCSSSCSSCSSSCCSSSSCSCCCCCCCCCCCCSCSCSCCSSSCCSSCCSSSSCSSCSCCCSSCSSSSCCCCSSSSCCCSCCCCCCSCSCCCSSCCCCCCCCCSSSSSCCSCSCCSCSCSSSCCCCCSCSCCCSSSSSSCCCSSSCSCCSCSSCCSCCCCSSSCCSSCSSSCCSSSSSCCCCCCCSSSCSSCSSSSCSSSCSSCSSCSCSCCCSCSSSSCCSSCSCCSCSCCSCSCCCSSCCSSSSCSCSCCSSSCCSCSSSCCCCCCSCCCCSSSCSSCCCCSSCCCSCCSCSCCCCSCCCCCSSSCCSSSSSCCSCSCSCSSCSCCSCCCSCSCSCCCSSCCCCCCCCCCCCCSCCCCSSSSSSCSSSCSCCCCSSSCCSSCSSSCSSCSSCSCCCSCCSSCCCSCSCCSSCSSCCSCSSCSSCCCCCCSCCCCSSCCSCSCSCSSSSCCCCSCSSSSSCSCSCSSCSCSCSCSSCSSSSCCSCSCCSSSSCCSSSSSCSCCSSSCSCCSSSSSSCCCCCCSSSSCSCCSCSCCCCCSCCCCSCSCSCCCSCSCSSCSSCSSSSCSSCSSCCSCCCSSCSSSSCSSCCCSCCSCCSCCCSCSSCCCCSCSSSCCSSCCSCCCCCSCSCCCCSSSSCCCCSSSCCSSSCSSCSCSCSSCSCSCCCCSSSSCCCSSSCSSCCCSSSSCSCSCCCSSCSCSCSSCCSCSCCSSSCSCSSCCSCSSCSSSSSCCSSSCSSSCCSSSCSSSSSCCSCCCCSSSCSSCCCCCSCSSCCSSCSSSCCSCCSSCCSCCSSCCCSSCCCSSCCCSCSCCCCSCCCCSCSSCSCSSSCSSCCSSSCSSSCCCSCSCSCSSCCSSCSSCCCCCSCSCCSCCSSSCSSSSCCCSCSSSCSSCSSCSCCCSCSCCCSCSSCSCCCSCCCCSSSSSCCCSCCSSCCSCSCSSCSSSSCCSCSCCCSSSCSSCSSSCCSSCCSCCSSSCSCCCCCSCCCSCSSSSCSCSSSCCCSCCSSCCCCCCCSSCSCCSCCCCCSCSSCCSSSCSCCSSCSCCCCCCSCSSSCCSSCCCCSSCCCSSCCCSSCSCSSSCCSSSSCCSCSSCSSSSCSSCSSSSCCCSCSCCSSSSSSCCSSSSSCSCCSCSSCCSCCCSCSSSSSSCSCCSSCCSCSCCCCSSSSSCCSSCSSCCSCSSCSCSSSCCSSSSSSSSSCSSSCCSSSSSCSCCCSSCCCSSCCSSSSSCSSSSSSSCCCCSSSSCCSSSSSCCSCSCSSCCSCSCCSSSSCCCCSSSCCSSCSCSSSSSSSCCCCSSCCSCCCCCSSSCSSCCSCCSSSSCCSCSSSCSCCSSCCCCCCSSCCSSCSCSSSSCCCCSCSCCCCCSSSSCCCSSSSCSSCSCCSCCCCSSSCCCSSSCCCCCSSSSCCSSSSSSSSCCCCSSSSSCCCCSCCSCSSSCSCCSSCSSCSCCCCSSCSSCCCSCCCSCCCCCCCCSSSSCCSCCCSSSSSCSCSCCSSSSCCCCSSCSSCSSCCCSCCCCSSSSSCSSSSSCSCCSCCCSCSSCCCCSCCCCCCSCSCSSCCCSCCCSSSCCCCSSCSCCCCCSCCCSCSCSSCSSCSSCCSCSSSCSSCCSCCCCSCSSSSSSSSCSCCSSSCSSCSSCCCSCSSSSCSSCCSCCSCSCCSSSSSSSCSCCSCSCSSSCSCCSCCSSSCCCCCSCSSSSCSCCCCSCSCSSCCCCCCCCSCCCSCSSSSSSCCSCSCSCSCSSSSSSSSSCCCCSSSSCCCSSSSCCSCCCSSCSCCCSSSCSCSCCCCSCCSCCCSCCSSCSSCCCSSSCSCCCCCSSSSSSCSCSSCCSSSCSSSSCCSSCCCCSSSSSCSCSSSSSCCCSCCCSCCCSSSCSSSCCSSSSCCCCSCSCCSCSCCSCSCCSSSCCSSCSCSCCCSCCCCSSCSCCSCSCCSSCCCSCCSSSSCCCSCSSCSSCSSSCCSCSCSSSSSSCCCCSSCSSCCCCSSSSCSCCCSCSCCCCSCSSCCSCCSSCCCCSSCCSCCSSCCCSSSCSSSCSSSSCCCCSSSSSSCSSSCCCCSSCCCSSCCCSSSSSSSSCSSSCSCSSSCSSCCCCCCCCSCSSSSSCCCCCSCCCCSCCSSSCSCSSCCSCCCSSSSCSCCCSSSCCSCCSSSSSSSCSCSCCSCSSSCSSCSSCCCSCCCSSCCSSCSSSCCCSSCSSSSSSSCSCCCSCSSSSSSCCCSSSCCCCSSSSCCSSCSCSCCCCCSSSSSSCSSSCCSCSCSSCCCCSSSCCCCSCCCCSCCSSCCSSSSSSCSCSCCCSSSCCCSSSSCSCSSCSSCCCSCSSCCCSSSCCSSSSSCSSCCCCSSCSSCSCCCSSSCSSCSCCSCCCCCSCCCCCSCCCSSSSSCCSCCSCSSSCSSSCSSCSCCSSCSSSCSSSSCSSCCCSSCCCCSSSCCCCSSSSSSSCCSSCCSCSCCCSCSSSSSCSCSSCSCCSSCCCCSCCSCCSCCCSCSCCSCCCSSCCCCSCSSCCCCCSSSCSSSSSCCSCCSCSCSSSCCCSCSCSCSSSSSSCCSCCCCCCSCSSCSCCSSSCSCSSSCCCSSCCSSSSCSSCSCCCCCSSSCCSSCCSSSSSCCCSSSCCCSCCSCSSCSSCSCCCSCSCCCSSCCSCSCSCCSSCCSSCSSSCCSSSSSSCCCSSCSSSCCCCSCCCSCSSSCSSSSSCSSCSCSSSSSSCCSSSCCCCSSSCSCSCCCCSSCCSSCSSCCCSSSSCCCCCSSSCSCCCCCCSCSSCCSSSCSSCSCCSSSCCCCSCSSCSSCSSSCCSSSSSSCSSCCSCCCCSCCCSSCSSSSCSSSCCCSSSSSSCSCCCCSSCSCSSCSCCCSSSCSCCSSSSSSCCSSSCCCSCSCSCSCCSCSCSCSSSSSSCCSCSSCSSCCCSSSSCCSCSSSSSSCCCSSSSSCSSCSCCCSCSSSSSCCCCCCSSCCCCSSSSCCCSSSCCSCSSCCCSSCSSSCCCCSSSCSCSCSCCCCCSCSCCCSSSCCCSSSSSCSCCCCSSCSCCSSSCSCSCCSCSCCSSSCSCCSSSSCSCCSSSCSCSSSCSCSCCCCCSSSSCCSCSCSSSSSCCCSSCSSCSSCSSCSCSSCSSCSCCCCSSSCCSCSCSCCSCCCSSCCCCCSSSCSCSSCSSCCCSCCCSSSSSCCCCCCCCCSCCSSSSCSCCSCSSSCSCSSSSSSCCSCSSSSSSCSSCSCSCSCCCCCSCSCSSCCCCCCSCSSCSCCSSCCSSSSCSCSSSSSCSCSCSSCCCCSCCSSCCSCCSCCSSSCSSSSCSSCCSSSCCSCCCCCCSSSCCSCCCSSCSSCSSSSCCSCSSCSSSSSCCCCSCSSCSCCSCSCSCCSCSCCSCSSCSCCSCCSCCSCSCSCCSCSCCCCCSSSCSSSCCSCCCCCCSCSSCSSCSSCCSCSSSCSCSCSCSCSSSSCSSCSSSCCCSCCSCSCCCSCCSCSCCSSCSCCSCSSSSSSCCCCSCCSSSCSCSSCSSCSSSSCCCCSCSSCSSCSCSSCCSCSCSCCCCCCSSCCCSSCCCSCSCSCSSSSCCSCCCCCCCCSSSSSCCCCCSSSCCCCCSSCCSSCSCCSSSCSSCSSCCSSSCSCSSSSCCCSCCCCCCCSSSCSCSSSSSSSSSSCSSCCCSCSCSCCSSSSCCCCSCCSSSCSSSCSSSCCCCCSSSCSCCCSCCSSCCCSCCSCSCCCSCSCCSSSCSSCCCCCSCCCSCSSSCSSSCSSCCCSCSCCCSCCCSCCSCCSSCCCSCSCSCCSCCSSCCCSSSSSSSCSCCCCSSSCCCSSCCCSCSCSCSSSCCSSSSSCSCCSSCCSCSSCCSCSSSSSSCSSSSSCSSCCSCSSSCSCCSSCCCCSSCCCCCCSCCCSSCCCCCCCCCSCCSCCSSCCCSSSSSSSSCCSSCSCSSSSCSSSSCCSCCCSCSSCSCCCCCCSSCSCCCCCSSSCCSCCCCSSCCSCSSSSSSSSCSCSSSCSSCCSCSCCCSSSCSCSCSSCCSCSCSSSSSCCSSCSSCCCSSSSCSSSSCSSSSCSSCCSSCCSSSSSCSSSSCSSSSSCCCSCSCSSCCCSSSCCSCSSCCCSCCCCCSCCSSSCSCSSCSCCCSSSCCCSSSCSSCCCCCCSCSCSSSCSCCSCCCCSCSCSSSSSSCCSSCSCCCSCCCCSSSCCCSCSCCCSCSCCSSCCSCCSCSSCSCCSCCSCCSCSSSSSCCCCSCSSCSSCSCSSSSSCSSCSCSCCSCCCSSSCSCCCCSCCSCCCSSSCSCCSCSSCCSSSSSCCSSCSCCCCCSSCCSSSSSCCCSCSSCSSSSCCSSSCSSSSCCSSSCSCSSCSCCSSSCCSCCSCCSCSCSSCSSSCCCCCCCCSSCSSCCSCSCCSSSCSCCCCCCCCCSSCSCSSSCCSCSSSCSSCCSSCSCSCSSSCCSCCCSSSSSSSSSCSSCSCSSSCCSCCCSSCCSSSCSCCSCSSSSSCCSSSCSCCCSCCCSSCCSSCCCCCSCCSCSSCSCSCSSCCSSSSCCCSCCSSCSSSSCSSCSCSSCSCCSCSSSCSCSCCSCSCCCSSSSCCCCCCSCCSCCCSSCCCCSCSCCCCSCCSSCSCSSCSSCCSSCCCSSCCCCCSCSSSCSSSSCCSCSSCSSSSCCCCCSCSSSCCSSCCSCSSSCCCCCSSSCCSSCCSCSCSSSCCSCCCSCSCSCCSSSCCCCCSSCSCSSCSSSCSCCCSSCSCSSCSCCCSSSSCCSCCCSSSSSCCCSCSSSCSCSCSCSCSCSCCSCCCCSSSSCCSCCCSCSCCSSCCCCSCSCSSSSSCSSCSSSCSCCSSSCSCSCCCSCCSSCSCSSCSSCCSSSCSSSSSSCCCSCCCCCSCSSCCCSCCCCSSSSCCCCCSCSCSSCSSCSCCSSCCCSSSSSCSCCCCCCCCSSCSSCCSCSSSCCCCSSSSSCCSCSCSSCSCSCSSCSSSCSCCSCSCCCCSSSSSSCSCSCCCCSCCCCSSSSCCCSSCCSSCSSCCCCCCSCCSSSCSCCCSCCCCCCCSCCSSSSCSSSSCSSCSCCCCCSSCSSCCSSCSCSSSSCCCCCCSSSSSSSSSSSSSSCCSCCSCSSCCCSCSSSSCSSCCCSCCSSSSCSCSSCCCCSCCSCCCSSCCCSSSCSSCCSSCSCSCSCSCSCSSCSCCCCSCCCSCCCCSSCSCSCCCCCCCCSCCCCSCSSCSCCSCCCSSCSCCCCSCSCCSCCCCCCSCSSSCCCSCCCSCCSSSSCSCCCCSCSSCSSCCCCCSCSCCCSCCCCCCCCCCCSCSCCCCSSSSCCCSSSCCCSSSSCCCCCSCCSSCCSSSCSCCSCSSSCSSSCCSCSSCSSSCCCCCSSCCSSCCCCCSCSSCSSCCSCCSCSSSSSSCSCCSSCCSSCCSSCSCSSCCSCSSSCSSCSSCCCSSCSSSCCSSSSSSCCCSSSSSCSSSSCCSCSCSSSCCCCSSCCCCCSSSCSSSSCCSSCCSSSCSSSSSSCSCCSSCSSCSSCCCCSCCSCCSSCCSCCCCSSCCSCCCCSSCCCCSCCCCCCSSCCCCSCSSCCSCCCCCSCSCCSSCSCSCSSSCCCCCSSSSSCCSSSCSCCCCCCCCSSCSSSCCCSCSCCCCSCSSSCCCSCCCCCSSSSSCSSSCCCSSCCSCSSSCCCSSCCSCSSCCSSCSSCSSCSSCCCSCSCSCSCSSCCSCSCSCCCCSSSCCCCSSSSSSCCSSSCCCCSCCSSCSSCCCSSCCCCCCSCCCSCSCSSSSSSCCSSSCSSCCCSCSCCSCSSCSCSSCCSSSSCCCSSCSSCCSCCCCCSCSCSCCSSCCCSSSCSSCCSCCSCSCSCCSCCCCCSSSSCSSCCSSSSCCCCCSCCCCCSSCSCSCSSSSSSSSSCSCCSCSCSSSCCSCCCCSSCSCCCCSCSSSCCCSCCCSSCSCSCSCCSSCCCSCCSSCCCCCCSCSSCCCSSSCCSCCSSCCSSCCSSCCCSSCSSCSSSCCSCSSSSCSSCSSSCCCSCSCCSCSCCSCSSCCCSSCSCSSSCCCCCCCSSSCSCSCCCCSCCSSSSCSSCCCCSSCCCCSSSSSCCSSSSCSCCSCSSSSSSSSCCCSSSSSCCCCSSSCCSSSCSCCCCCSCCSCCSCSCCSSCSCSSCSSSCSSCSSCSSCCSSSSSSCSSSCSSCSCCSCCCSCCSCSSSSCCCCSSSSCSSCCCCSSSSSSCCSSSCCSCCCSCCSSSSCCSCSSCSSSCSCCSCCCSCSCCSSCSCCSCSSSSCSCCCCCSCSCCSCSSCCSSCSSCCCCSCSSSCCSCCSSSCCCSCSCSSSSCSSSSCCSCSCSCCSSCSCCCSCCSCCCCSSSCSSSCCSSSCCCCSSCCCCCCCCCSSCCSSSCCCCSCCSSCSSSCCCCSSSCCCSSCCCCSSSCSCSCCCSCCCCSCSSCSSSCSCSSCCCCCCSSCSCSSCSCSSSCSSCCCSCCCSCSCSCSCSCCCSSSSCSCSCCSCSCSSSCSCSSSSSCCSCSSCCCSSCSSSSSSCSCSCCSSSCSCSSSCSSSCSCSCSCCCCSCSCSCCSCSCSCSCSSSCSCSCSCSSCCCCSSCCSSSSCSSSSCCCSCCSCCCCSSSSSSSCCCSCCSCSCSCSCSSSCCSSSCSSSCSCCSCSCCCSCSCSSSCCSSCCSCCCCSSSSSCSSCCCCSSSSCCCCSCCSSSCSCCCSSCCSCCCCCCCCSSSCSCSSCSCCSSSCSSSSSCCSSCCSSCCCCSCSSCSSCCSCSSCSSCCSSSCCCCSCCSSSSCSSSSCCSCCCSCCCSSSSSSCSSSCCSSCSSSSCCSCCCCSCSCSCSSSCSCSSCSSCSSSSSSSCSSCCSCCSCSCCCCCCCCCSSSCCCSSCSSSSCSSCCCSSSCCCCSSSSSSSCCCSCSCSCCCCSSCCSSCSSSCCSCSCSCSCCSCSCSCSCSCCSCCCSCSCSSSCSCCCCSCCSCCSSSCSCSSSCCCCCCSSSSCCCCSCCCSCSSCSSSCCCSCSSSCCCCSCSSCSSCSCCSSCSCSCCSSCCCCSCSCCCSSSCSSSCSSSSSCCSSCSSCCCCSSSSCSSCSSSSCSSCCCCCCSSCSSCSCCSSSCCCCCCCCSCSCCSSSSCSCCSSCCSCCCCCCCCSSSSCSSSSSCCCCCCCSCSCCCSSCSCCCCSCSSSSSCSCCCSSSSSSCCSSCCSCSCCCCSCSCSSCSCSSCSSSSCCSCCSSSCSSSCSCCSSSSCCCCSSCSCCCCCCCSCCCCSSCSCCSSCSCSSCSSSSSCCSSCCSSCCSSCSCSCCCSSSSSCSCSSSCCSCCCCSCCCCSSSSSSCCSSCCCSCCSSSSCCCSSSSCSSCCSCSCSSSCSSCSCSCCCCCSCSCSCSSCSCCCSSSCSSSSCSCSCCCSSSSCSSSSCCSSCCCSCCCSCCSCCCSCSSSCSSSSCCSSCCSSCSCCSCSSSCCSSCSSSSSSCCCSSCCCSSCSSSSSSCCSCSSSSSSCSCSSCCSCSCCSCSSSCSCCSSCSCCCCCCSSSCCCSSSCCSSSCCSCSCSCSCSSCCCSCCSSSSCSCSCSCSSCCSCSCCSSCSCCSSCCSCSCSCSCCCSSCCSCCSCSCSSSSSSSCCCCCCSCCCSSCCCCSCSSSCCSCSCCSCCSSSSCCCSSCSCSCSSSSSSSSSCSCCCSCCSSCSCCSSSSSCSSSCSSCSSSCSCCSSCSSCCCSCSCCCCCSCSCSCSSSSCCCSSCCSSCCCSCSSSSCSSSCSSCSSCCSSCSCSCSSSCSSCSSSSCSSCCSCCCSSSSSCCSSSCCSCCSSCCCCCCCSSCCSSSSCCSSSSCCSCCCSSCCCSSSSCCCCSCCCCCSSCSSCCSCSCCCSSSSCCSSCCCCCCSSSCSCCSCCCCSCCSCCCSSCSCCSCCSSSSSCSSCCCCCSSCCSSSSSCCSCCSSSSCSCSCCCSSCSCSSSCCCSSCSCCCCSSSSCSCSSCCCSSCSCCSSSCCCSCCCSCCSSSCSCCSCCSCSCSSSCSCSCCSCCSCCSSCSCCSSCCCSSSCCSSSCCSSSSCCSSSCSCCSCSSSSCCSSSSSCCSSCSCCCSCSSCCCCSCCCCSCCCCCSCCCCSSSSSSCSCCCCCSCSSSCCCCCCSSCCSCSCSCCCCCSSCCSCSSSSCCSCSCCCCSCSSCCSCSSCCCCCSCCSCSCSSCCSCSCSCCCCCCSSCCCSSCCSSCSCSCSSSSSCSCSCCSSSCCCSSSCSCCCCCCCSSSCSCCSCSCSSSCSCCSSCSCCCCSSSSSSCSCCCSSSCCSCCCSSCSCCSCSCSCCCSCSSSSCCCSSCSCSCSCSCCCCCCCCSSSSSSSCCCCSCCCCCSCCSCSSCCCSCSCSCSCSSSCCSSSCSCCCCCSCSSSSSSSSSSCSCCSCCSCCSSCCCCSCSCCCCCSSSCSSSSSSSCSCSSSCSSSSSCSCCCCSSSSSCSSCSSSCSSSSCSCCSCCSSCSSSCSSCCCCCSCSSSSSSCSSCCSCSSSSCSCSCSCSCCCSSSSSCCSSSSSCCCSCCCCCCSSSSCCCSSSSCSSCCCCCSSSSCCCSSCCCSCSSSCCCCCCSCCCSSCSSSSCCCCCSSSSSSCSCSCCSCCCCCCCCCSCSCCCSCSSCSSCCSSCSSSSCSCCCCCCSCCSCCSCCSCCSCCSCSCCCSCCCCCSSCCSSCCCSCSSSSCSSCSCCSCCCCSSCSSSSSSCCCCCCSSSCCCSCCSSCCSCSSCSCSSSSCSCSCCCCCSCSSCSCSCSSSSSSCSCCSCCCSSSSCSSCCCSCSSSCCSSCCCSCCCCCCSCCSCSCCCCSCCSCSSCCCCSCCSCCCCSSCCCCSSCSCSCCCSSSCSCCSSSCCCSCCSSCSCSSCCCCSCSCCSSCSCCSCCSCSSCSSSCCSCSCCCSSCSSCCSCCSCCCCSCSCCSCSCSCCCSSCCCCCCCSCSCSSCCSCSCSSCSSSSSCSCSCSSCSSCSCSCSSCCSCSCCSCSSSSCCSCCSCSCCCCCSCCCSCCSCCCCCCCSCCCCCSCSCSCCCSCSSCCCSCCSCCSCSCCCCSCSCCSSCCCSSCCSCSCSSSSSCCSCSCCSSSSSSCCSCCCSCCCSCSCCCSSSCSSSSSCSCCCSCSSCSSSSCSCCSCCCSCCSCCCSCCCCCSSSCCSCSCCCSCCCSSCSCSCSSCCSCSCSSCSCCCCSCSSCCSSSCCSSCCSCCCCCSSSSSCCCCSSSCSSCCCSCSSCCCCSCCSCCSCCSCSCSCSSCCSCCCCSCCCSSCCSSCSSSCCSSSCCSCCSSCSCSSCSCCSSSSCSSCSCSCCCSCCCCCSSSCSCCSSCSSSSCCSSSSSSSSCCSSSCCCSCCSSSCCCSSCSSCCCSSSCCSSCSCSCSCSCSSSCSSCSSSCCCCSCCCCCSSSSCCCCCCSCCCCSSCSSSCCCSCCSSCSCSCSSCCCSCCCCSSSCCCSSSSCCCSSCCSCCCCCCCSCSSSCSCCCSCSSCCSSCCSSSSSSCCCSSSSCSSCCCCSCSCSSSSSSSCSSSSSCCSCSSCCCCCSCSCSCSSSSCCCCSSSSCCCCCCCCCSSCSSCCCSCSSCSSCSCCCCSCCSCSSSCCCCCCCSSCCSSSSSCCSSCCSSCCSSSSSSSSSSSCSSSSCSSCSSSSCCCCCSSCCCCSCSSSCCCCSSSSCCSSCSSCSCSCSSSSCSCCCCSCSSCSSSCSSSCSCSCSCSSSCCSSCSCSSSCSSSSSCSSCCCSCCCCSSSCCSSCSCCCCCSSSSSSCSSCSCSCSSSSCSCSCCSCSCCSCCCSCSCSCSCSSCCCSSCCCSCSCSCSCCCCSSCSCCSSSCSCSCCSSSCSSSCCCCCCSCCSSCCCSSSSSCCSSCSCSSCSCCSSSCSCSSCCCSSCCCSSCCCSSCSCSCSSCSSSSSCSSSCCCSSSCCSSCCSCSSSSSCCCCSCSCCSCSCCCCSSSCCCSSCSCSCSCCSSSCCSCSCCCSSSCCCCCCSSCCCCSCSCCCSCSCSCSCSCSCSSCSSCSSCSCSSSCSCSCCSSSSCSSSCCSSCSCCSCSSCSCSCSCCCCCSSSCSCSCSCSCCSCCCCCCCSCSCCCCCSSSCSSSCSCCCSCCCSSCSCSSSCCSCCCCCSCCSCCCCCCSCCCCSCCSSSCSCSSCSSCCSCSCCSCSSCCCSCSCSSCSCSSCSSSSCSSSSSCSCSSSSCCSCSSSCSCCCCCSCSCCCCSSSSCCSCCCSCCSCSCCSCCCCSSCSCCCSCCSSSCCSCCSCCSCSSCCCSCCCSSSSSCCSSCSCCCSCCCCCCSCCSSCSSCSCCSCCSSSCSCCCCCCSCCSCCSCSSSCCCCCSCSSSSSSCCSCCCCCCSCCCCCSCCCSCSCSSCSSCCSSSSSSSCCCCCSCCSSCCCSCSSSCSSSSCCCCSCCSCCSSCSCCSSSSSSSSSCSCSSCSCSSCSCCCCSSSSSSCSCCSSSCCSSCSCCCSSSCCSCSSSCCSSCSCSCSSCCSSCSCSSCCCCCSSSSSSSSSSSCSCSSSSCCSSSSSCSCSCSCCSCSCSCCCCCSSCCSCSCCCCSSCCSCSCSCCCSCSCCCCSSCCSSCSSCSSCCCSSCCCSCSCCCCSCSCCCCSSCSSSSSSCCCCCSSSSCSSSCCSSSCSSCCSCCCSSCCSSSSCCCSCCSCCSSSCCCCCCSCSCCCSSSCCCSSCSCSCCCSCSSSCCSSSCSSCCCCSSSSSSSCSCSCSSSCCCCSSCCSSSCSSSCSSSCSCCSSCCSCSSCCCCCSSSSCCSSCCCCSCSCSSCSSCSSCSSCSSSSCSCCSSCSSSCSCSCSCCCCSSCSSSCSCSCCSCSSSCSCSSCCCSSCSSCCCSSSCCCCSCSCCCSCCSSCCSCSCSCCSSCSSCSSSSCSCSSCCCSCSSCSSSCSSSCSCCSCCCSCCSCCSSCCCCCSSCSCSSSCCCCSCCCCSCCCSSCSCSSSCCCCCSSCSSSCSCSSSSSSCCSCCCCSCCCCCSSCSCSSCSCSSSSCCCCCSSCCCCCSCSCCSCSCSSCCCCSCSCSSSCCCSSSSCCCSSSSCSCCCCCCCSCSCSSCSCSSCSSSCSSSCSSCSSCSSSSSCSCCSCSSCCCSCCCSCCCCSSCCCCSSSCSSSCCSCSSCSSSSSSCSSSSSSCCCSSCSSSCSCSSSCSCCSCSCCCCCCSCCSCSSCSCCCSSSCCCSSCSCCCSCSSCSCSSSSSCSSCSCCCCSCCSCSCSCCSSSCSCSSSSCSSCSSCSSSCCCCCCSCCCCSCCSSCSCCSSCCCSSCSSCCCCCCCCSCCSCCSSCSCSCCSSCSCSSCSSSCSSSCCCCCSSCCSCCSSCSCSSSCSCCCCSCSCCCCSCCCSCCCCCSSCCCSSCSSCCSCCSSCSSCCSCCCSCSSCSCCSSSSCCCCCCSCCCCSSSCCCSCSCCSCSCCCCCCCSSSCCSCCSCCSSCCSCCCCSSCCCSCSSSCSSCSSSSSCCSSSSSSSCCCSSSSSSSSSSCCSCSCCCSCCCSSSCCSCSSCSSCCSSSSCCSSSCCSCSSCCCSCCSSSCCCSCSSCCCSCSSCCSCCCSSCSSSCSSSSSCCSCSSSSCSCSCCCCSSSSSCCSCCCCCCSSCCCSCSCSSSCCSCCSSSCSSCCSSSSCSCSSCCSCSCSCCCSCSSSCSCCCSCSCCCCCSCCCCCSCCCSSCSSSSCCSCCCCSSSCSSSSSSCSSCCCSCCCCSSCCSCCCCSCCSCCSSCSCCSSCCSSCCCCSCCSSSCSSCCSSCCCSCSCCSCCCSSSSSCSSSSSCCCCCCCCCSCSCCSSSSCSCSCCCSSSCCCCSSSSCSCSSCSSCCCCCSSSSSSSSSCSSCCSCCSSSSCSSSSCSSCSSSSSSSCCCCSCCSSCCSCSCSCCCSSSSSCSCSCSSSSSSSSSSCCSCCSCCSSSCCCCSCCSSSCCCSCCSSCCSSSCSSSSSCSSCCCSCCSCSSCCCCSSCCSSSCCCCCSCCCSCCCCSCSCCCSSCCCCSSCSCSSSCCSCSSCCCCCCCSSSSCSSSSSCCSCSCCCSSSCSSSCCCCSSCCCSSCSSSSCCSCSCCSSCCSCCCCCCCSSSSCSCCCSCCSSCSCCCCCCCCSSSSCSCCCCCSCCCCCSSSCCSSSCSCSSCCCCSSSCCSSCCCSSCSSCCSSCCCSCSSSSSSCCSSSCCSCCSCSSCCCCSCCSCCSSSCSCSSSSCCCSSSSCSCSCCCSSCCSCCCSCSSCSSSSCCCCSSSCCSCCCSSSSSSCSSSSSSSSSCSCCCCCSCSCCSSSSSSCCSSCCSSSSCSSCSCSCSSCSCSSCCCCCCSSSSCCSCCCSSCSCSSSCCCSCCCSCSCSSCCCSCCCSCSCSSSCSCCSSCCSCCSCSSSCSSSSCCCCCCCSSSSSCCSCSSSSCSSSCCSSCCCCCCCCCSCCCCCSSSCSSSSCSCCCSSSSCCCSSSCCSCCSCSSCCSCSCCSSCSSCCSSSCSSCSSCCCCSSCSCSCSSSCCCCSSCSCSCSCCSSSCCSSCSSCCCCSCSCSCCSSCCSCSCCSCSCCSSCSSCSCCCCSSSCSCSCSCSSSCCSCSCSSCSSCSCCCSSSCSSSSCSCCSCSSCCCCCSCSSCSSSSCSCCSCSCCSSCSCCCSCSSCCCSCCCCCCCCSSCCCCSCCSSCCSSSSCCSSSCCCCCCCSSSSSSSSSCCCCCCCCCSSCCCCSSSCCCSCSSSSSSSSSCCSSCCCCSSCSSSSCSCCSSCSSSSCCSSCSCCCSSCCCSCCCSSCCSCSSCSCCSSCSCSCSCSCCCSCSCSSSSSCSSCSSCCSCCCSCSCSCCSCCSCCSCCCCCSCSSSCCCSSSCCSCSSCCSCCCSCSSSSCCCCCCCSCSSCCSCSCSSCCCSCCSCCCCSSCCCCSSCSSSSCCSCSSSSCSSSCCCCCCCCCSCCSCSCSSCSCSCCCSCSSCCSSSCSSSCSCSSCSCSSSCCSCSSSSCCCSSSCSCSSSSCSCSSSSSSCCSCCCCCCSSCCSSSSSSSCSSCCCCCCSSSCCCCCCSSSSCSSCCSCSCCCSCSSSSCCSSSSSSSSCSSSSCSSCCCSSCCCSCCSCSCCCSCCCCCSSSCSCCSCSCCCCCCSSCCSSSSSSSCSCCCSSCCCSSCSCCSSSSSSSSCSCSCCCSCCCSSCCCSSCSCSSSSSCSCSCSSSSSSCCSSSCSCSSSCSCCSCCCCCCCCSCSCSCSCSSCSSCCCSSCCCCCCSSCCCSSCCCSSSCCCSSCCSSSSSCSCSCCCCSSSSCSCSCSSSSSSCSCSCCCCSCSSCCSSCSCCSCCSCSCCCSCCSCCCCCCCSSSCCCSSSCCCCSCCSCSSCSCSCSSSSSCCSSCSSCSCSSCCCCCSSCCCSSSSSSCSCCSCSSCCSCSSCSSCCCSSSCCSCSCCCCCCCSSCCSSSSCSCSSCCSCCSCCSCCCCSCCCCCSSSCSSSCSSSSCCSCSSCSCCCSSCSSCCSSSSSSCCCCCSCCSCSSSSSCSCCCCCSSSCSSSCCSCSSCSCCCCCCSCSSCSSSSCCCCCCCCSCSSCCSSCCCCCCCCCSSCCSCCSSSSCSSCCSCCCSCSSCSSCSSCCSCSCSSSSSSCCCCSSCSSSCCCCCSSSSSCSCSCSCSSSSSSCCCSCSCSCSCSCSSCSSCCCSCSSCCSSSCSCCCSCCCSCCCSSSCCCSCCCCCSCCCSSCCSCSCSSSSCCCSCSSSCCCSSCCCCCSSSCSCSCSCSSCSCCSSSSSCCCCSSCCCCCSSSSCCCCSSSCCCCCCCSSSCSSCCSSCCCSCSCCSSSCSCSSSSCSCCCCCCCCCCSCCSSSSCCSCCSSSSCCCSCSSCSSCCCSCCSSSCSCCCCSCCCSCSSSCCSCSSSSCSCSCSSSCCCCCSSCCSSCCSCCCCCCSSSSCSSCSCSCCSSSSSCSCCSCCCCSCSSCSSSCCSSSSSCSCSSSCCSCSCCSSCSSCCCCCCSSSSCSSSSSSSSCCSCSCCCSSCSSSCCSCSSSCSSSCSCSSSCSCSSSSCSSCCSSCCSCSSCCSCCSCSCSSSSSCSCSCCSCCCSCCSCCSSCCSSSSCSCCSSCCCSCSSSCSCSCSSCCSCCCCCCCSCSCCSCCSCSCSSCCSSSCSSCCCSCCCSCCSSCSCCCCSSSCCCSCSSSCCSSCSCCCSCCCSCCCCSCCCSCCCCCSCSSSCSCCSSCCCSCSCSCCCCCSCCCSCSCSCCCSCCCCSCSSCCSCCSSCCCSSCSSCCSCCCSCCSCSSSCSSCCSSCCCCSCSCSCSSSCSSCCCCCSSCSSSCSSSSCCCCCSSCCCSSCCCCCSSCSCCSSSCSSCCSCCCSSSSCCSCCCCCSCCCSCSCCSCSCSCSCCSSCCSSSCSSCSCCCSSCCSCCSCSSCCSCSSSSCCCCCCSCCSSCCSSCCSCCSSCSCCCCCSSCCCCCCSCSCCSSCCCSCCCCSSCSSCSCSSSCCCSCSSSSSCSSSSCCSSSSCSCCSSCCCSCCSSSSCCSSCCSSSCCSCSSCSSSSSCCSSCSCSCCSSCSCSSCCCSSSCSSSSCCCSCCCCCSSCSCCSSSCSSSSCCSSSSSSSSCSCCCCCCCSCCCSCCSCSSSSSCCCCCCCCSCCSCSCCSSSCCCCCCSCSSCCCCSCCCCCSCCCSSCSCCSSSSSSSCCCCSCSSCCCSSCCSSCCCSCSSSCCCCSCSSSSCSSCCSCCCCSSSCSCSCSCCCSSSCSSCCSCCSCCCCCCCCCCCCCCCCSCCSCSSSCSCCSSCSSSCSSSCSCCSCCCCCSSSCSCSSCCCCCSCCCSSCSCCSSCSSSCCSSCCSSCCSSCCSCSSCSCSSCCCCSSSSCSCCSCSCSSSCSCCSCSSCCCCSCSCSCSCCSCSCCSSCCCCCSSSCCSCSCSCCSSSSSSCSCSCSCSCSCSSCCSSSSCSCCSCCSSCSSCCSSSCSCSCSSSSCCSCCSSSCCSSSSCCCSCCCSSCSSCSSCSCSCSCCCCCCCCCCCCSCSCCSSSCSCSSCSCCSSSSCSCCCSSSSCCSSCSSSCCSCSSSCSCCCCSSCCCSSCSCSSSCSCSSSCCSSCCCSCSSCSSCSSSSCSCCCSSCCSSSCSCCSSSSSCSCCCSCCSCSCSCCCSSSCCCCCSSSSCCCCSSCSSCCCSCCCCCCCCSCSSSCCCCCSSSSCSSCSCSCSSCCSCCCSSCSSSSCCCCCCCCCCSCSCSCCCSCCSSCCSSSSSCCSCCSCCCCCSSCSCCSCSCCCSSCSSSCSCCSSSSSCCCCCCSCSCCSCCCCCCSSSCSSSCSSSCCCSSCSSCCCSCCSCCSSCSCSSCCSCCSSCSSSCCCCSCCSSSSCSCSCSCCCCSCCCCCSSCCCCSCSSCCSCCCCCSSSSCSSSSSSSCCCCSCSSCSCCSSCSSCCCCCCCSCCCCCCCCCCCSSSCSCCSSSCCSSSSCSCSSSSSSSSSSCCSCSSCSSSCCCSSCCCSSCCCSCCCSCSSCCSCSSSCCSCCSCCCSSSSSSSSCSCSCCSCSSSSCCSSSCCCCCSSCCSSSCCCSSSCCCSSCCSCSCSCSSSCCSCCSSCSCSCSCSSSCCCSCCCCSSCCCSSCSCCCSSSCSSCCCCCCCCCSSCSCSSCSCCSSSSSSSSCCSCCCSCSCSCCCSSCSCSSSCCSSCCCCCSSCSCSSSSSSCCCCCSSSSCSSSSCSSCCSCCSSCCCCSCCSSCSCSSSCCSSSCSSSCSCCSSSCSCCCCCSSSCSCCSSCCSSCSSCSCCSSSCSSSCCSCCCCSCCCSSSCSCSSCSSSCCCSCCCSCSSSCCCSCCSSCSCSCCSCCCCSCSSCCSCCSSSSCCSSCCSSCCSCCSCCSCCCSSSSCSSCCCSSSSSSSCSSCSSCCSCCCCCCCSCCCCSCCSCCCCCCCCCCCCCSCCSCSCSSSSCCCSSCCSSCSSSSSSCSCSSSCSCCCCSCSSSCSCSCSCCCSCSSCCSSSSCSSSSCCCCSCCSCCCSCSSCSSCSSCCSSCCCCCCSCCCCSSSSCSSCSCCCCCCSSCCCCCCSCCSSCCCCCCCSCCCSSSCSCCCSSCSSCSSSCSCSCSSCSCSSCSCSCSCSSSSCSCCCSCCSCCSSSCSSCSCCSCSCCCCSSCSCCSCSSSSSSSCSSCSSCCCCCSSCSCCSSCSCSCSCCSCSSCCSSSSCCSSSCSSSSSCSCSSCSCCCSCSCSSCSCSSCSSCSCCSSSCCCSSSSSSSCSCCSSSCCSCCCSSCSSSSCCSCSCCSCCCSCCCSCSCSCSSCSSCSCSCSSCCCSCCSSCCCCSCCSSSSSCCCCSCCCCCCCCSSCSCSSCCCSCCSSCSSCSSSCSSCSSCCSSCSSCSSSCSCSCCSSCCSSCCCCCSSCSSSCSCSCCCCCSSCCSCCCSCCSSSSSCSSCSCCSCSSSSSCCSSSCSSCSCCSCSCSSSSSCSCCCSCSSSCSSCSSCSSSCSSCCCSCCCSCSSCCCSCCCSSSSCCCCCSCCSCSCCCSSCSCSCCSSSCSCCCCCCCSSCSSCCCCCSCCSCSSCCSSSCCSCSCCSSSSCSCCCCSCCSSCCCSCCCCSCSSCSCCCSSSCSCSSSSSSCSSSCCSCCSCCCCSSSCSSCSSSCCSCSSSCCSCSCSSCSCSSCCSCCSSSCCSSSCCSCSCCSCCSSSCSSSSSCCSSSSSCCCSSSSSSCCCSSCCSSSCCSCCSSCSSSSSSCCSSSCSCCSSCCSCSSCSCSCSCCSSCCSCCSCCCSCSSCSCSSCCCCSCSSSCCCSSCSSSSSSSSSCSCCSCSCCSSCCSSSCCSCCCSSSCCSCCSSCCSSCCCCSSCCCSCSSSCSSSSSSCSSCSSCSCSCCSSSCCSCCSSSSCSSCSSSCSSSSSSCCSSCSCSCSSSCCCSSCSSCCSCSSSSCCSCCSCCCSCSCSCCSCSCSSCSSCCSCSCCSSCCSSCCSSCCSCCSCSCSSCSCSSCCCSSCSCCCCSCCSCCCSSCSCCCSCCSCSCSCSCCCSSSSSSSCSSCCSCSSCCSSCCSSCCSCCSSSCSCCSCCCCCCSSSCSSCSSSSSSSSCSSSSCSCCSCCSCSSCSCCSSSCSSCCCCCCCCCSCCSCSSSCCCSCSSSSSCCCSSSSSCCCCSCCSSSCSSSCCSSCSCCCCCCCCCSSSSSSCCSSSSSSSSSCCCSSSCSCCCSSCSCCCSCCCCCSCSCSCSSCCCCCSCCSCSCCCCCSCSCSSCCCCSCCCSSSSSCCCSCCSCSCSCCCCSCCCCSCCCCSCCSSCSSSSSCCSSCCSSSCSCSCCCCSSCSSCCSCCCSSSCCCSCCSSCCSCCCSSSSCSSSCSCSCSSCCCSSSSCSCCCCCSSSSCSSSCSCCCSCCCCSSSSSCCCSCSCCCCSCCCCCCCCSCSSCCCSCCSSCCCCCCCSCSSSSSCCCCCCSSCSSSSCCCCSCSCSCCCSCCCSCCCSSSSCCSCCCCCSCSSCSSCCCCCSSSSSCCCSCSSSCCCCSCSCSCSCCCCSCCCSSSCCCSSSSSSCCCCCCSSCSSSSSSCCCSCSSCSCSCCSSCCCCSSCSCSSSCCCCCSSSCCSSCCCCSSSSCSCCCSSCSSSCSCSCCCCSCSCCSCCCSCCCSCSCSSSCCSCSSSCSSCSSSCCSCSSSSCCCCCCCSSSSCSSCSCCCSSSSSCSSSSCSCSCSCSSCSSSCCCSCCSCCCSSSSSCSCCCCCCCCCCCSSCCSCCCSSSCSCCSSCSCCSSCSSSCSCSCCCSSSCSSCSCSCSSSSSCSSSSCSSCSSCSSSCCSSSSCSCSSSSSSSCSSSSSCCSSCCSCCSCSCCCSCCSCCCCSCSSCSSCSCCCSCCSSSSCCSCSSCCSSCCCSSSSSCSCSSSSSSCSSSCCSSSCSSCCCCSCCCSCSCSSSCSCSCCSSCSCCCSCCCCSSCSSCCCCSSCCSCSCCCCCSSSSCCSSSCCCCSSCSSSSCSSSCSSCCCSSCSCCSSCCSSSCCCCCSSCCCCSSSCSSSCSSCCCCSSCCSCSSSCSSCCSSSSSCCSCSSSCSSSSSCSCCSSCCSCCCSSSSSSCCCSCCCSCCSCSCSCCCCCCCSCSCCSCSSCSCCCSCSSCSCCCSSCCCSSCCCCSCSSSSCCCSCSCCSSSSSSCSCCSSCSSCCCCCSSSCSCCSCSSCSCCCSSCCCSCCCSSSSSCSCSSSCCCCSCCSCCCCCCSSCCSCCCCCCSSCCSSSCSSCSCSCSSCSSCCCCCSSSSCSSCCSSCSCCSCSSCSSCSCSSCCSSCCSCSSSSSCSSSSSSCCCCCSSSSSCSSSCCSCCSCCCSCSCCCCCSCSCCSSSSSSSCSCSSSCCCCCSCCSCCCCSSSSSSSCSSSCSSSCCCCCSCSCCSCSCSCSCCCCSCSSSCCCSCSSSSSSCSCSCCCSCSSSCCCCCCSSSCCSCSSCCSCCSSCSSSSSSCCCSSCSSCSSSSSCSCSSCCCSCSSSSSSSCSCCSCCSCCSSSCCSSCCSSCSCSCCCCSCCCSCSSCCSSCSCSSCCCSCCCCSCSSSSCSCSCCCSCSCSSCCSCCSCSCSCCSCCCCSCCCCCCSCCCSCSSSCCSCCCCCSSCCSCCSCSSCSCSCSSCCSSSSSCCCSCSSCSSCCSSCSSCSCCSSSSSCCSCCSCSCSSCSCSCCSCSSCCSCCSCSSSSSSCSCSSSSSCSSCCCSSCSCSSCSCCSSSSSSCSSSSCCCCSSSSCSCSCCCCSCCSCSSCSCSCSCCSCCSSCCCCSCCCCCSSCCCSSSCSSCCSCCCCSSCSCCCSSCSCCCSSSCCSCCSSCCCSCSCCSSCCCSCSSCCCCCSCCSSCCSSCSSCSCCCSCSSSSSSCCSCSSCSSCCCCSSSSCCSCCSCSSSCCCSSSSSCSCSSSSSSCSCCCCSSCSCSSSSSCSCCCCCSCSSSSSCCCSCSCCCSSSCCSSCCCCCSSCSCCCSSSCCSSCSCSSSCCCSCSSSSSCSSCSCSCCCSCSCCCSSSCSSSCCSSSCCSCCSCCCSCSSSCSSSSCCSCCCSCCSSSSSCCSCSCSCCCSSSSSSSCSCCSCCSSCSCCCSSCSSCCSSSCSCSSSCCCCSCSCSCCSCSCCSCSSSCSSCCCSSCCSSCSCSSCSSSCSCCCCSSCCCSSCCCSSSCCSSSSCSSSCCCSCCCCCSSCSCCSSSSSSCCCCCCCSCCCCCSCSCSSSCCCCSSCCCCCCCCCSSCCSSSCCSSCSCSSSCSCSCCSSSCCCCCSCSCCCCCSCSSSCCCCCCCSSSCCSSCSCSCCSCCCCSSSSCSSSCSCCSSSSSCSCCCSSSCSSCSSSSSCCSSCSSCSSCSSCCCSCCSCSCSSCSSSCSSCSCSCSSSCCCSSSSCSCCSCSCSSSCSSSCSCSSSCSSCCCCCCSCCSSSSSSCSSCCSCCCCCCCCSCCSCCCCSCCCCCSCCSSCSSCCSCCSCCCCCCCCCSCCCCSSCSCCSSSSSCCCCSSCCCSCSSSCCCCCCCCSCSCSCSSCSSCSCCSCCSCSCCSSSCCCCSCCCSCSCSCSSSCSSCCCCSCCCCCSSSSCSCCSSSSCCSCCCSCCSCCCSCSCCSSCCCSSSCCCCSSCSCSCSSSSCSCCCSCSSCCCCSSSCSCSCSCCCSCCCCCCCSSCCSCSCSSSCSCSSSCSSCCSSSCSSSSCSCSSCSSSCCCCCSSSSCCCCCSCSCSCCCSSSSCSSSCSCSCSSCSSSCCSCCSCCSSCSSSCCSSSCCCSCCCSSSSCSSSCSCCSSSCSSSCCSSCSSCCSCSCSSSSSCCCSSCCSCSSCCCCCCSCSCCCCCCCCSSCSSSSSSSSSCCSCCCSCSCSSSCCSCSCCSCCSSCSSCSSCCSCCCSCSCSCSCCSSCSSSCSSSSSCSSCSSSSCCCCSCCCCCSSSCCSSCSSSCSSSCSSSSSCSCSCSCSSSCCCSCCSSCSCCCSSSSCCSCCCCCCSCSSSSSCCSSCSSSSCCCCSSSSSCCCSCSCCCCSCSCCCCSCCCSCCCSCSSSCCSCCSSCSSCSCCSCCCCSCCSSSSCCSCSCSCSCSCCCSSCSCCSCCSSCCCSSSSCCCCCCCSSCCCSSSCCSCSSSCSSCSSCCCSCSSCCCCCSCSCSSSSCSSCCSSCSSCCSSSSSCSCSSSSCCSSCCSSSSSSSCCCCCSSSSSCCSCCCSSSSCSSCSCSCCSCSCSSCCCCCCCCSCSCCCCCCCSSSCSSCCCSCSCSSSSSSCCCSSSSCCSCCCSSSCSCSSCSCCSCSCCSCSSSCCSCCSCCCCSSSSSCCSCSCCSSCSSSSCCCCSCSSSSSSCSCCCCCCSCCSSCSCSSSCSSCSCCSCCCSCCSSSCSSCSCSSSSCSCCSSCCSCCCCSSCSCSSCSCSSSCCCCCSSCSCCCCSSCSCSSCSSCCSSSSCSSSCCSSCCSSSSSCCCSSCCSCSCSCCSSSCSCCCSSSCCSSSSCCSCSCSCSCCSSCSCSSSCSSSCSCCSCCCSSCCCSCCSCSCCCSSCCCCSSSCSSSCSCSCSSSCSCCSCSCSCCCCSSCCCSCSCSCCSCSSSCSCSSCCCSCCSSSSSCCCCSSCSSCCCSSSCSSSCCCCSCSCCCCCCCSSSCCCCCSSCSCCSSSSSCCSSSCSCCCCSSCSCSCSSSCCCSCCCSSSCCSCSSCSSSSSSSCCSCSSSSSCCCSSCCSSCSSSCSCCCCSCCCSCCCSCCCSSCSCSCCCCCSCSCCSSCSSSCCSSCCCCCSSSSCCSSCCSCSCCCCCCSSCSCCSSCCSCCCCSSSCSCCSSCSCSSSCCCSCSSSCCCSCCSSCSCSCCSCCSSCCSCCSCCCCSCSCCSSSSSCCCSSCSSSCCSCSCSCSCSCCSSSSSSSSCCSCSCSSSSSSCSSSCSCCCCCCCSSCSCSSCCCSSSSSSCCSSSSCCSCCCSCCSSCSSCCCCSCCCSCCSCSSCCSSCSCSCCSCCSSSCCCCCCCCSCCCSSCCCCCCCCSCCSCSSSSSSSCSSCSCCSCSSCSSCSSSSSCSSSSCCSCSSSCSCSSCSSSCSSCSSCCCCCSSCSSCSSCCCCSCSCCCCSCSSSSSCSSCCSSSSSCSSSSCSCCSSCCSCCCCCCCSSCCCSCCSSCSSSCCSSSCSSCSSSCCSCSSSCCSSCCSCSSSCSCSCSCSCSCSSSSSCSCSSSSSCCCCSSCSCSSCSCSCCCCSSSCCSSCSCSSCSSCCSSCSCCSSCSCSSCCSSSCSCSSCSSSSCCSCSSCSCCSSCCCCCCSCCCSCSCCCSSSCSCSSSCSCCSCCCCCSSSCSCCSCSSSCCSSCCCCCSSSSSSCCCSSSCSSSSCSSSCCCCSCSSSCSSCSCSSSCCCSCSCCCSSSSCCCCCCSCSSSSSCCSSCSSSCSCSSCCSCCSCCSSSCCCCCSSCCCCCSCCSCSCCSCCSCCSCCSSCCCCCCSCCCCCCCCSCCSSCSSCCCCCSCSSCSCSCCSSCSCSSSCCCCSCSSCCSCCSCCCSSSCSCCCSSCSCCSSCSSSSSSSSCSCSSSCSCSCCCSCSSCCCCSCSCSSCCSCSSCSCSSCCSCSSCSSSCCCCSSSCSCSCSSCCCSSSCCCSCSSCSSCCSCSCSSCCCCSCSSSCSSCCCCSCSCCCCCCSCCSSCCCCCSSSCCCSCSCSSCSSCCSCSCCSSCSSSSSSSCSSSSCCSCSSCSCCSSSSCCSSSCSCSCSCCCSSCCCSSCCSCCCCSCSCSSCSSCCCSSSSSCSCSCSSSCCCCSCCCSCSSCSCSSCSCCSSSSCCSCSSSSCCCSCCCSSSCSCCSCSCSSSCSSCSCSCCCCSSSCCSSCCSCSSCSCSCSCCSCSCSSSSCCSSSCSSSSSSCCSSCCCSCCSCSCCSCCSCSSSCSCCSCSCSSCSCSCSCSSSSSCCSSCSCSSCCCSCCCSSCCCSCSSCCCCSSSCCSSCCSSSCCSSCSCSCCSSCCSCSCCCCSCSSSCCSSCSSSSCCSCSSCCSSCSSSCSCSCSCSSSSSSSSSCCSCSCSCCCSCSSSCCCSCCCCCCCSSCCSSCCCSSCCSSSSSCCSCSSSSSSSSCSSSCSSCCSCCCCSSCSCSCSSSCCSSSSSSCSCSCSCSSSSCSCSSCSSCSCSCCSCCSCSCCSCSCCCCCCSCSSCSCCSCCSSCCCSSSCCCCCSCCCSCCSSCCSSSCCSCSSSCCSSCSCSSCSCCSSCCSSCSCCSCCCSSCCSCSSSSCCSCCCCCCSCSCCSSSCSSSCCCCSCCSCCSCCSCCSSSSSCCSCCCSSSCSSSSCSSSCSCCCCSSSCCCCCSCSSCSSSCSCSCCSCSCSSSCSCCCCCCSSCSSSCSSSCCSSCSCSSSCSSCCSSCSCCCCCSCCCCCCCSCSSCSSSSCCSCSSCCCCCCCSCSCCCCCCSCCSSSCSSCSSSCSCSSCCSSSSSSCCCCSCCCSCSCSSCSCSSCSCSCCCCSSSCSSSSSSCCCSCCSCCCCSSCCSCSCSSCCCSSCCCSSCSSSCSSCCCCSCSCSSCSSCCSSSCCCSSSCCSCSCSCCCSCSCSSCSSSSCSCSCSSCSSCSCSCSCSCCSCCSCSCSSCCSCCSSSSSCSCCSCSSCCSSSSCCSSCCCCCSSSCCCCSCSSSSSSCSSSCSSCSCSCCCSCSSSCSSCCSSSCCCCSSCCSCCCCCSCCSCSCCSCCSSSSCCCSCCSCCCSSSCSCSCSCCCSSSCSSCSSSCSCCSSSSCCCSCSSCCCCSSCSSSCSCSSSCCCSSSSSCSCSSSCSSSCCCSCCCSCSCSSSCCSSSSSCSCSSCSCCSCSSCSCSCSSCCSCCSSSSCSSSCSSCSCCSCSCSCCCCCSCCCSCSSSCSSSCSSCCSSSCCCCSCCCSSSCSCSSSSCSCCCCCSCSCSCCCCSCSCCCCCSSCCCSSSSCSSCCSSCSSCSCCSCCSSCCSSCCCSCCSCCCCSSCCSCSSCCSSSCSSSSSSCCSCCSSSCSCSSCCCCSCCCCSSSSSCCCCCCCSSCCSSSSCSCSSSCSSCCSCCSSSSCSSSSSCCSCCSSCSSCCCSCCSCSSSSCCSCSSSSSSSCSCSCSSSCSCSSSCSCSSSSCCCSCSCSSSCSSSCSCSSCSCSCCSCCSSCSCSCCCCSSCSCCSCSCCSCSCCCSCCCCSSCCCSCCCCCSCCSCCCCCCSSCSSCSSSSCSSSCCSSCSCCCSCCCSCCSCSSCCCCCSCSCSSSSSSCCSCCSSSSSSCSCSCSCSCCSCCSSSSCSCCSSSSSCCCSCSSCSCCSCSSSSCCCSCSCSSSSCCSCCSSCSSSSSSSCSCCSSSCSSCCCSSCCSCSCCCCCSCSSCSCSSSCCCSSSSCCSCSCSCSCCCSSSCCSCCCSSSCCCCSSCCSSSSSCSSCSCSCCSSSSSCCCCCSSCCCCSSSSCSSSSCSSCCCCSCSCCSSSSSCSCSCCSCSCCCCSSSCSSCSSSCSCCCSSSCCCCCCSSSCCSSCCSCSSCSCCSSCSSCSCSSSCCCCCCSSSCCCSCSSCSCCSSSSCCSSSSCCSCCCSSSSSCCSSSSSCSSCCSCCCCCCSCCCCSCCCCSSSCSSCSSCSSSSCSCSSCCCSSCSCSCCCSSCCCCSCCSSCSSSSCSSSSSSCSSSSCCSCSCCSCSSCCSSCCSSSSCSSCCCSSCSCSCCCCSSSCCCSSSSCCCCCSSCSCCCCSSCCCCCSCSCCCCSCSCSSCSCSSCCCSCSCCCSCSCSCCSSCCSCCSSCCCCSSCCCSCCSSCCCCSCSCSSCSCCSSCCCSCSSCCCSSSCCCSCCSCCSSSCCSSSSCCCCCCCCSSSSSCCSCCSSCCSSCCSCSCCCCCSCSSCCCCSSSCSSSSCCCCCSSSCCCSSCSCSCSCSCCSCSSSCCCSCSSSCSSCCCSCCCCCSSSSSCCSSCCCSSCSCSSSCSCCSCSCCSSSCSCCCSSCSSSCSSCCSCCSCSCSCSSSCCCCCSCCCCSCCCSCSSSCCCSSCSCSCSCCSSCCCSCSSSSCCCSSSCCSCSSSCSSCSCCCCCCSCCSSCCSSCCSCSSCSCSCSCSSSSSSSSCSCCSCSCSCCSSCCSCCCCCSCCCCCCSCSSSSCSCSSSCCSSCSCSSCCSSSCSCSSCCSSCSSSCCCSCCCCCSCCCSSCSSCSCCCSSSCSSSSCSSSSSCCCCCSCCSCSCSCSCSSCCSCSCCCSCSCCCSSCSCSSSCSCCSSSCSCCCSSSCCCSSCSCSCCSSSSCSSSSSCSCSSSSCSSCCSCCCCSCCSSSCSCCSSSSCCCSCSCSCCCCSCSCSSCCCSCSCSCSSCCCCCCCSCCSCCSCSSCSCSSCSSCSCSCCSCCCCCCCSSCSCSCCCSSSCSCCCSCSCSSCSSSSCCSCSCSCCCSSSCCSSSCSSSCCSCCSSSSSCCCCCCCSCCCSSCCCCCSSSCCCCCSSSSCCSSCCSCSCSCCSSSSCCSCSSSSSSCCCSCCSCCCSSSCSSCSSSSCCSSCSCSSSCCCSCCCSCSCSSSSCCSSSSSCSCSCSCSSCSCCCSCSSSSSSSCSCCCSCCCCCSSSCCSSSSSSSSSSCCSSSCSSSSSSCCSCSSCSSCCCCCCCSCCCSSCSCSSCSSCSCCSSSSSSSCCSCCCSSCSSSCCSSCCCCSCSSSSCSCSCCSCSCCSCCSSCCSSSCCCCSSSCSCCSCSCSCSCCSCCSSSCSCSCSCCSSSCCSSCCCSCSCCSSCCCCSSCSSSCSCSSCSSSCSSCCCCCCCSCCCSCCSCCCSSSSCSCCCSSSSCSCSCCCCCSCCCCCSSSSCSCSSCSSCCSSSSCSSSCSCSSSSCCCCSSSCCSCCSCCSSCCCSCCCSSCSCSSCSSCCCCCCCCCCCSCCSCSCCSCSSCCSCSCCSSCCCSCCSCCCCSSCSSSCSSSSSSSCSSSCCCCSSSCSCSSCCCCSCCCSSCSCCSSCSSCSSCSSSCSCCSSSCCCSCCSCCCCCSSCSSCSSCSSSSSSCSCCCCCCSSCSSSCCCCSCSSCSSCSSSCCSCCCSSSSCCCCSSSCSCSSSSSSCCCCSSCSCSSSSSSSSCCSSSCCSSSCCCCCSCCCSCSSCCCCSCSSSSSCCSCSSCCSCSSCSCCSSCCCSSCCCCCSSCCCSSCCSCCCSCSSCCCSCSCCSSSSCSSCCSSSCSSSCCSCCCSSSCSSSSCCSSSCSCCCSSSSSCCSSCCSSSCSSCSCCCSCCCCSCSCSSCSCSSCCSSSSCSCSCCSCCCSCCSCSCSSSCCCCSSSCSSSSCSSCSSCCSSSSCSCSCSSCSSSCSCSCSSCCSSSCSCCCCSCSCCSSCSCSCCSSSSSCCSSCSCCSCCSCSSCSCCSSCSSSSCCSCCSCCSSSCCSCSSCCSCCCSSSSSSCSCCSCCCCCSCCCSCSSCCCCSCSCCSCCCSSCCCCSSCSCCCCCSCCCSSSCCSCCSCSCSSSSCSCCCCSCSSCSSCSSCSCSCCSSCCSCCSSSCCSSSSSSSSCCSSCSSSCCSSSCSSCSCCCSCCSCSCCSSCCSCSSCCCSCCSSCCCCSSSSSSCCCSSSCCSSSCCCCSCSCSCSCCCSCCCSSCSSCCSSSSSCCCSCCSCCCSCSSCCSCCCCCSCSSCCSCCSSSCSSCSCCSCCSCCSCCSSSSCSCCSSCCSCSCCSCCCCSCCCSSSCCCCCCCCSCCCCCCCSCCCSSSSCCCCSCSCSCCSSSCSCCSSSCSSSCCCSCSCSSCSCSSSSSSSSSSCSSSCSSSSCCCCCCSCCSCCCSSCSSCCCSCSSCSSCSSCCSCSSSCSSCCSSCSCSCSSCCSSCSCSCSSCSSCCSCCSCSSCSCSSSSCSCSCCCCSSSCSSSSSSSCSCSSCSSSCCSSCCCCCSSSCSCCSCCSCSCCSSSSCSCSSSSCCSCSSCSSSCSSCCSSCCSCCCCSSSCCCSCCSSCCSCCSSSSSCCSCCCCCSSSSSSCSCCSCSSSCSSSSSSCCCCCSSCCCSCSSSCCSSSSCSSSCCCCCCSCCCSSSCCCCSSSCSCCSCSCSCCSCSSSSSCCCCCCSCCCSSSSCSSSSSSSCSCCCSSSCCCCSSCSCCSCSSCSSCCCCSCSSSSSSSCSCSCCSCSCSSSCSCSSSCSCCCCSSCCCSCSCCCCCCSSCCCCSSCCCSSSCSSCCCSSCCSSSCCCSSCCSSCSSCCCSCSSCCSSCCSSCCSSCSSSCCSSSSCCSCSSCSSSCSSCCSSCCSSSCSSCSCSCCSCSCSCCCSCSCSSSSSSCCSCCSCCSSCCCCSCSSCCCCSCCSCSSCSCCSSSSSCCSCSSCSSSCCSCSCSCSSSSSCCCSCSSCSSCSSSSSCCSSCCCSCCCCCSCCSCCSCSSCSCCSSSSSSCSSSSSSCSSCSCSSCSSCCSSCCSCSSSCSSSCCCSSCSCCCCCCCSSCCSCSSCSCCSCCSSCCSSCCCSCCCSCSCCCCCSSSCSSCSSSSSSSSSCCSSCSCSSCSCCCCCCSSCSSCCCSSCSCCCCCCSSCCCSCSCCCCCCSCCCSCSCSSCSCCCCCCSCCCSCCCCCCCCCCCCSCSSSSCSCCSCSSCCSCSSSSCSSCCCSCCCSSCSSSSCSCSCSCCSCCSSSSCCSCCCCSCSSCCSCCCCCCSCCSCCSSSCSCSSSCCSSSCCCSCCSSCCCCCSSCSSCSCCCSSCSSCSSCCSSSCSCSSSCSCCCCSSSSSCCCCCSCSSCSSSCSSCSCCSCSSCCCCCCCSSCCCCCSSSCSSCSSSSCCCSSSCCCSCSSSSSSSCSSCSCCSSCCSCSCSCCCSSCSSCCSCSCCCCCSSCCSSSCCCCCCCSCSCCSCCSSSSSCCCSSSCSSCSSSCCSSCCSCCCSSCCCSCSCSSCCSSCSCSSCSSSSCSSCCSCSSCSSSSSSSSSSCCCCCSCCSSCSSSCSSCSCSSCCSCCSSSSSCCSCCCSSSSSCCSCCSCCCSSCCCSSSCSCCSSCSCCSCSCSSCSCSSSSCCSCSCSSSSSCSSCSCCCCSCCCCCSCSSSCCCSSCSCCSCSSSSCCCCCCCCCCCCCSCCSSCSSSCCCSCSSCCSCCCCSCSSCCCSSCCSCSSSCSSCCCCCCSSCSCSCSSSCCSSCSCCCCCCCSCCSCSSCCSSSSCSSSCSSSCCCSSSSCSCSCCCCCSSSSCSCSSSSSSSCSCCCCCCSCSCSSCCSSCSSCCSCSSCCSCCCSCCCSCSCSCCCCCCCCSCSCSSSCSSCSCSSCSSCSCSSSSCCSSSSCCSCCSSCSSCSSSCSSCCCSCSCSCSSSSSCCSSSCCCCSCSSCSCCSSSSSCCCSCSSCSSCSCCCSSSSCSSCSCSSCSCSSSSCSCCCCCSCCCCCSCCCCCSCCSSSCCCSCCSCCCSCSSSSCSSSSCSCSCSCSSSSSSSCSCSSCSCSSCCCCCCSCSCSSSCSSCCSCSCSSCCSCCSSCSSCCCCSSSCCCSSCSSSCCSCCCCCSCSCCSCCSSSCCSCSSSCCCCCCCSSSSSSCSSSCCCCCSCCSCCCSSSSSSCCSCSCSCSSSSCCSCCSSCCSSCSCCCCCSSCCCCSCCSSSSCSCCSCSCCSSSCSSCCCSCCSSSSSCSSSCSSCCCCSCSCSSCSCSCSCSCCSSSCCSCSCSCSSCSCSCSSSSSSCCSCCSSSCCSSSCCCSCCSSSSCSCSSCSSCCCSCSCCSCCSSCSCCSSSCSCCCSSSCCSSCCCSCSCSSSSCCCSCCCCCCSCSSCSSSSSCSSSCSCSCCCCSCCSCCCSSSCCCCSCCSCCCSCSSCCSSSCSCCSSSCCSSCSCCSSCSCCSCCCCCSCSCCSSCSSCCSSSCCSCCCCSSSCCSCSCSSCCCCCSCCSSCSSSCCSSSSCCSCSCSSCSSCSSSSSSSSSSSSSCSCSSSSSCSSSCSSSSCSSSSSSSCCSCSCCSSCSCCCSSCSSCCSSSSSSCCSSCSCCCSCCCSCCCSCCSCCSSSSSSCCCCSCSSCCCCSSSSSCCCSSSCCSSCCCSCSSSCCCCSCCSSSSSCSSSSSSSCCSCSCCSSSSSSSSCCCSCSCSSSSCSCSCCCCSSSSCSSSSCCCCSCSCCCCCCCSSSSCCSCCSCSSSSCCCCCCCCCSSCCSCSCSSCSSCCCCCSCCCSSCCCCCCSSCCSCSSCSCCCCCCSSSSCSSSCCCSCCSSCSSCSSSSSSCCCCCSSSSSCCCCSSCSCSCSCSSSSCCCCSCSSCSSCSCSCSCSCSCCSSSSCSSCCSSSCSCSCCCCCCCSSSCSSSSSSSCCCSCSSCSCCSSCSCSSSSCCSSCCSSSCCCCCSCSSSCCSSSCSSCSSSSSSCSCSSCCSSCCCSCCSCSSSSCCSSCSCSCCCSCCSCCSSCSCSSSSCSSCSCSCSCCSSCSSSSCCSSCSCSCCCSCCSSSCSSSCCSSSSSSSCSCSCCSCCCCSSSSSSSCCCCSCCSSSSSSSSSSCCSSSCCCCSSSCSSSSCSSCCSCSCSSCCCSCCSSSSSSCSCSCCSSSCCSCCSCCSSCCCSSCCCCCCCSSCSSSCCCSCSSCCSSCCCCCSCCCCSSCCSCSSCSSCCCSSSSCCSSCSCSSCCSSCCCSCCCSSSCCSSSCSCCCCCSCCCSCSSSCSCCSCCSCSSCCCCSCSCCSCSSSSCCCCCCCCCSCCCCSCSCSCSSSSSCCSSSCCSCSCCCSCCCSCSCSSSCSSCCSSSCCSSCSSSSCSCCCSSSCSSSSSSSCCSCCCSSCSCSCCSCCSSCCCCCSSCCCCSCCCCSSCCCSCCSCSCCSCSSCSSSCSSCSSCCSCSSCSCCSSSSCSCCCSCSSSCSSSCSCSSCSCSSCCSCSCSCSCCCCCSSSCSSSCSCSSCCCCSSCSCCCCCSSCCSSSSCSCCCSSCSSCCSSCSCSCCSCSSSCSSSSSSCCSCSCCSSCCSCCCSCSSCCCCCSSSCCCSSSSSSSCCCSSCSSCCCCCSSCCSCCSSSSCSSCCSCCCSCCSSSCSSSCSCCCCSCCCCCCCSSCCSSCCSCCSSSSSCSCSSCSCSSSSCCSCCSCSSCCSCSCSCCCSSSCCSSCSSCSCSCSSSSSSCSCSSSCSSCSSSSCCSSSSSCCCSCCCCSSSSSSSCCCCCSSCSSCSCSCCCSSSSSSSCSCCSCCCCCCSCCSCSSSCSCCCCCSSCCCCCCSSCSCSCCSSCCSCSCSSSCSSSSCCCSCCCCCCCCSSSSCSSCCSCSSCSCCCCSSSCSCSSCCCSSCCSSSSSSCCCSCSCSCSCSSSCSSSSSCSSCSCCCCSCCCSSCCSCSSCSCCSSSSCSSCCSCSCSSCSSSSSCCCSCSSCCCSCCSSSCSCCCCSCCCCCSSCSCCCCSCCSCCCSSCCSSSCCSSSSSCCSSSCSCSCCCCSSCCSSSSCSSCCSCSSSSCCCCCCSCSSCCCSCSSCSSCCCSSSSSSCCCCCCSCSCCCSSSCSCCCSSSCSSSCSSCSSCCSCSCCSCCSSCSSSCSCCCSSCSCSCCCSCCCCCSCCSSCSSCCCSCCSCCSCCCSCSSSCCSCCCSSSCCCCSSCSCSCCCSSCSCCSSCCCCSCSCCSSCSSCCCSCSCSSCSSCSCCSCCCCCSSSSCSCCCCCSSCSSCCSSCCCSCCSSSSSCSSSCCCCSCSCSSCCCCCSCCCCSCCCSCSSSSCCCSSCSSSCSCCCCSCCCSCCSSCSSSCCSSSCSSSCSSCCSSCCCSSCSSCSCSCSCCCSCSSCSCSSSSSSSCSCSSCCCSSSSSSSCCSSSSSSCSSCCSSSCSCSCSSCCCSSCSCSSSSCSSSSSCSCSCCSCCSSSSCCCSCSSCSCCCSCSSSCCSCSSCSSCCSCCSSSSSCCCCCSSSCSSCSCCSSSSCCSSSCCCSCSCCCCSSSSCSCCSCCCSSCSSCCCCCCCCCCSSSSCCSCSSCCCSSCSCCSCCCCCSSCSSCSSSSSCCCSCSCCCSSCSCCSSCCCSCSCCCCCCSCSCCCCCCSSSCCCSCSCCSSCCCSSSSCSCCSSSCCSSCCSSCCSCSSSSSSSCCSCSSCCSSSCCSCSCSSSSCSSCCSSSSSCCSCCCCSCCCSCCCSSSCSCCCCCCCSSCCCCSCCCCSSCCCCCCSCSCSSCCSSCSSCSSSCCSSSCCSCCCCSSCCSSCCSSCCSCCSSSCCCCCSCCCCSSSCCSCSCSSCSCCSCCCCCCCCCSSSSSCCSCCSSCSCCSSSSCCSCSSCSSCSSSCSCSCSCSSSCSSSSCCCCCSSCCSCCCSCSCCCCCSCSCCCSCCSCSCSSSCCCSCCCSSSCCCCCCSCCSSSCCCSCSSSCCCCCSCCSSSCSSSSSSSCCSSCSSSCSCSSCSSSCCCSCCCCCCCCCSCCSSSSCCCSCSCCCSSCCSCCCSCCSSSCCSSSCSCCCSSSSCCSSSSCSSSSSCCCSSCSCCCSCSCSSSSCSSCSSCCSSSSSCCSSSCSSCCSSSSSCSCSSCSSCSSCSSSCCCCSCSCSSSSSCCSCSSSSSCCCCSCCSSSCSSCCSSCCSCCCSCCSSSCSSSCCCSCSCSSSSSSSCCSSSCCSSCSSCCCCCSSSCSCSSSSSSSSSCSCSSSSSSCCCCSCSSCCCSSCSCCSSSCCCSSSSSSCSCSSSSSCCCCSSSCCCSCSSSSSSSCSSSSSSSSCSSSCSCSSCSCSCCCCSCSSSSCSSCCSSSSCCSSCSSSSCSCSCSSSSCSCCSCCCSCCCCSSSSCCSCSSCSSSCSSCSSCCSCCSCSSSSCCSCSSCSCCCSSCSSSSSSCSCSSCCCCCSSCCSSCSSSCSSCCSSCSSCSCCCCSCCSCSSSCCSCSSSSCSSCCCSSSCSCSSCCCSSCSSCSSCSSCCCSCSSSSCCCCCSCSSCSSSSCCCSCCSSCSSSSSSCSCSSSSCSCCCSSSCSCSSSSSSSSCCCSSSSCCSSSCCSSSSSSSSCCSCSCCCSSSCCCSSSSSSCSSCSSCSSCCCSSSSSSCSSCCSSCSSSSSCSCCCCSCCCSSSSCCSCSSSSCCSCCCSSSCSCSCCSCSSCCCSSSCSCCSCCCSCSSCCSCSSSCSSCSCSSSSCCSSCSSSSSSSCSSCSSCSSSSCCCCSCSSCSSSSCSCSCCSSCCSSSSSCSSCCSSSCSSSSSCSCSCCSSSSCCSCSSSCCSSSSCCCSCCSCSSSSCCCSSCSSSCSCSCSSCSCSSSSCCSCCSCSSCSCCCSSCCSCCSSCSSSCCSSSCSCCSCSCCSSCSCSCSSCSCCCCSCCCCSCSSSCSSCCCSSCSSSSSSSCCCSCSSSSCCSCSCSSCCCSSSSSSSSSCSCSSSCCCSCSSCSSCSSCSSCSSSSSSSCSCSSCCSCSCCSCSSSSSCSSCCSSCCCSCCCSSSCSSCCCSCCSCSCCCCSSSCCCSSCCSCSSCSCCCSCSSSCSCCCSSSCCSSSCSSSSSCCCSSSCSSSCSCCCCSSSSCSCSCCSCCCSSSSSCCCSCSCSSCSCSSCCSSCSSSSCCCCCCSSSCSSSSCCSCCCSSSCSSSCCSSSSCCSCCSCCCSCSCCSSCSSSCSSCSCCSCSSSCCSSCSSSSSCSSCCSSSSCSSSSSSSCCSSCCCSCCCCSCCCSSSCSSSCSCSCSCCCCSCSCCSSSSCSCSSCSSSSCCSSCSSCCSSCSCCCCCSSCCCSSSCCCCSSSCSCSSCSSSCCCSSSCSCCSSCCCSCCCSCCCCSSCCCCCCSCCCCCSSCSCSSCSCCCCSCCSSSSCSSCCSCSCSCSSCSSCCCSSSSSCCCCCSCCSCSSSCCCSSCCCCSCSCSSSSCSSCCSSSSCCCSCCSCCCCCCCCSSSSSCCSSCSSCSCCSCCSSSCSSCCCCCCSCSCSCCCCSSCCSCCSSCSSSCCCCSSCSSCSSSSCCCCSCSSSSSCSSCCSCCCSCCSCCCCCCCSCSCSCSSSCCCCSCCSCCCSSCSCSSCSCSSCSSSSSCSCSSSSSCCCCSCSSCSSSCCCCCSSCCSCSCCSSCSCSSSSCCCSSSCSCSSSSCSSCSSSCCSSCSSCCCSCCCSSSSCCCCCCSCCCCCSSSSSCSCSSCSSSCCCSSCCSSSSSCCSCSSCCSCSCCSSCSSSSCSSCCSSSSSSCSCSSSCCCCSCSCSSCCCSSCSSCSCSSCCSCSSCCCCSCCCSCSSSSSSCCSCSSCSCCCSCSCSSSSSCSCCSCCCSSSCSSSCCCSCCSSCCCSSCCSCCCCCCCCCCSCSCSCSCSSSSSSCCCCCCCCSCSCSSSCCCSCSSSCSCSCSCCSCCCSSSCCCSSCCSCCSCSSCSSSSCSCSSCSSSSSCCSSSCCCCSSCSCSSSCCSCSSSCSSSCCSSCCCSCCCSCCSSSSSCSCSCCCCCCCSCSCCSCSCSSSCSSSCSCCSSSSCCCSCCCCCCCSSCSSSSSCCCSCCSSSSSCCCCCCSSCSSSSSCCCCSCSCCSCSCSSSCSSSSSSSCCSSCCSCCCCSCSSCSSSCSCSCCSSCCCCSSCCCSSCCCCCCCCSSCSSSSSCCSSSSCSSSSSCCCCSCCSSCCCSSSCSSCSSSCSCSCSCSCSCSCSSSCCSCCSSCSSCSSCSCCSSCSCSSCSSSCCSSSCCCCSCSSCSSSCCSSCSCSCSSCCCSCCCCCCCSSSCCSCSCSSCSSSSCCSSSCCCSSCCSCCSSCSSCCCSSSSSSCCCCSSSSCCSSCSSCSCSSSCCCCCCCSSCSSSSSCCCSSCCCCCSSCCSSCSSSCCSCSSCSSSSSSCSCSCCCCSCCCSCSSSCSSSCSCCSCSSSCSCCCCSSCCSCCSCCCSSCCCSSCCSSCCSCCCCCCCCSCCCSCCSSCCCCCSCSCCCCCSCCSSCCSSCSCCSCCCCSSSSSSCSCCSSCSCCSCSSCCCCCCCCSSCSSSCCCCSCSSSCSCCCCCSSCCSCSCCSSCSCSCCSCSSCCCCCSSSSCCSSSCSSCCSCCSSCSSCSCSCSSSSCSSCCCCCSSCCCCSSSSCCSCCCSSCCCCSCCCCSCCCSSSSSCSSCCSCCCSCCCCCSCSCSSCSCCCCCSSCSCCCCSCCCCSSCSSCSSCSSSCCCCSCSCCSCSSCSCSCSSSSCSSCCSSSSCCSCCCSCSCSCCSSSCCSSCCSCCSCCSSSSSCCSSCSCCCSCSCCSCCSSCSCCSSCCCSSCSCSSCSSSCSCCCSSCSSCSCCSCSSSSCCCCSCCSCSSCCCCSCCSSCSSSSCSSCCSCCCSSSCSCCSSCCSSCSCCSSCSSCCSCSSSCCCCSCSCCSSSSSSSSSCSSCCSCSSCSSSCSSSCCCCCCCCSCSCSCSCCCSSSCCSCCCCSSCCCSCSCCCCCSCSSSSCSSSCSSCSSSCSSCSSCCCSCSCCCSSSCCSSSCCCCCSSSSSCSSCCSSSCSCSSCSSSSSCCCSSSSSCSSSSCSCCCCSSSCSCCCSCCSCCCSCCCSSCCCCSCSCCSCSCCCCCCSSSCCCCCSSCSCSSSCCCCSSSSSCSCCCCCSSCSCSCSCCSCCCSCSCSSCSCSSSCSSSCCCCCSCCCCCSCCSCSCSSCCCCSCCCSSSSCSCCCSCCCSCSSCSSCCCCCSCCSCSCSSSCCSCSSCCSSCSCSCCCSCSSSCCSCCCSSSSSCSSSCSCCCSCSSSCCSSCSSSCSSCCCSCSSCCCSCCCCSSSSSSSCSCSSSSCCCSSCSSCSCCCSSSCCCCCCCSSCCCCCCCSSSSSSCCCSSCSSCSCSCSSSCCCCSSCCCSSSCSCCCCCCCSSSSCSSCCSCSSSCCCCSCCCSSSCCSSSCCCCSSCSCSCSSSCSSSSCSSSCCCSSCSSCCCCSCSSCSCCCCSSSCSSSSCCCCSCCCCCCSCCSCSCCCSCCCSCSSCCSCSCSCSSSSCSSSSSCCCSSSCSCSCSCSCCSSSSSCSCSCCCSSSSCCSSSSSSSSSSSSSCSSCSCCSCSCCSCSSCCCCSSCSSSCSCCSCCSSCSCSSSCSSSSCCCCSCSCSCSSCSSCSCCSCCCCCSCSCCSSCCCCSSCCSSSSSSCCCSCSSSCCSCCSSCSSCSSSSCCCCCSCSSCSSSSCSCSCSSCCSSSCCSSSSSSCCCSCCSCSCCCSSCCCCCSSCSSCCSSSSCCCCCCSSCSCCCSCCCCCSCCSSSCCSSCSCCCSCSSCCCCCSCCCCSSCCCCSCSCCSCSCCCSCSCCSSSSSCCSSSCSSCSCSCCSSCCSCCSSSSCSCCCCSSSSCCSCSCSSCSSSSCSSSSSSCCCCCSSCSCSCCCSSSSSSCSCCCCCSSSSSCCCSCCCCCSSSSSCSSSCSSSCCCCSCSCSSCSCCSSSCCSSSCSSSSCCCCSSCCCCSCCSSCSCCCSCSSCSCSSSSSSCCCSCSCCSCSCSCCSSSSSCSSSSSSSSCSSSCCSSCSCCCSCCSCSCCCCSSSCCCSCSSSSCCSCCSCCCCCSSCCCSCSSSSSCSCCCSCCCCCCSCSSSCCCCCSCCCSCCSCCSCCCSCSSSSSCSSSCSCSSCSSSCCSSSSCSCCSSCCCCCCCCCCCSCCSCSCSSSCCCCCCCCSCCCCCSCCSCSCCSCCCSCSCSCCCSCSSCCCSCCCSCCCSSCSCSCCCCCCSCCSSSSCSCCSSCCCCSSSSSSSCCSCCCCCSSSSSSCSCSSSCSCCSCSSSSCSCSSSCCSCSSSCSSSCCCSSSSSSSCCSCCSSSCSCSCSSCCCSSCCCCCSCSCCCCCCCSCSCCSSCSCCCSCSCSCCSCCCSSCSCSSCCCCCCCCCCCSSCCCCSSCSSSCCSSCCSCCSCSCCCCSSCCCCSCSCCSSCSSCCSCSCSCCSCCCCSCCSSSSSSSCCCSSCCSCSCSCSCCCSCSSSSCSCSCSSSSSSSCCCSCCSSSCSSSCSSCSCSSCSCCSCSCCSSCCCSSCSCCCSSSCCCCSSSCSCCSSCCCCSSSCSSSSCSSCSCSSSSCSCSSSSSSSSSSCSSSSCSCSCSSSCCSSSSSCSSCCCSSCSSSSCCSCSCSCSCCCCSCCSSCSSCCCSSCCSSSSSSSSSCSCSSSSCSSSCCCCSSSSCSCCSCSCCCSCSCSSSCSCCCCSCSCSCCSCCSCSCCSSCSSCCCCCSCCSSSSSCCSCSSSSSSSCCCCSSCCCSSCCSCSCSSSCCSCSSSSCCCSCSSSCSCCSCSSCCSSCCSCCCCCSCCSCSSCCSSSCSSCCSSCCSCCSCCCCCCSCCCCSSSCCCCSCSSSCSSSSSSCSCSSSCSCSSSCCCSCCSCCCCSCCCSSCCSCSCCSCSCCSSSCCCCCCSSCSSCCCCSCCSCSCCCSSCSSCCSCSCCCCCSCCCSSCSSSCCSSCCSCSSSCCSCSSSCSCSCSSSSCSCSCCSSSCCCCSCSCSCSSSSSCSCCSCCSSCSSSSSSCCCSSCSSCSSSSSSSCSSCCCSCSCCCSCCCSCSSSCCSSCSCSSSSCCSSCSCCSSSCSCCCCSSCSSSCCCSSCSCSCSCCCSCCSCSSCCSSSCSCSSCCCSCSSCSCCSSSCCCCCCCCSSSSSSSSSCCSSCCSCCCSSSCSCCSSSCCCSSSSSSCCCSSSCSSSSSCSCSSSCSSCCCSCSCSCSSCSCCSSSCCCCCCCCSCCSCCSCCCCCCCCCSCSSSSSCSCCCSSCSSSSSCSCSSSCSCSCSSSCSSSCCSSSSSSCSSSSSSSCCSCCCSCSCCSSCSSSCCCSSSCSSCSCSSCSSCCCSCCSCCSCSCSCSCSCCCCSSSSSSCSCCSSSSSSSCSCSCCCSSSSCCSSSCSSCCSSCSCSCCCSSSSSCSCCCSSCSSCSCCCSCCSCSCSSSCSCSSCCCCCSSSCCCCSCSCSSSSCSSSSSCSSSCSCCSCSCSCSSSSCSCCSSSCCCCSCCCSCCCCSCCSSCCSCCSCCSCCSSCSSSCSSCSSSSCSCCSSCCCCCCSSSSCSSSCCCSCSSCCCCCSCSSSCCCSSSCSCSSSSCSSSSSCSSCSCCSCSSSCSCCSSSSCCCCCSSSCCCSSSCCCCCCCSCCCSSSCSCSSSCSCCSSCSSCSCSCSSCSSSSSCSCSCCCCSSCSSSSCCSCSSCCCSCCCCCCCCCSCSSCCCSSSCSCCCSCCCCCSCSCSSSSCSSCSCCCCCCSSCCCSCCCCCCCCCSCSSCSCCSSCCSCCCCSCCCCCSCSSCSCSCCSCCCSSSSCSCSSSSSSCCSSSCCSSSCSSSSCSCSSCSCSCCCSCCSSSCSSSSCCSCCCSCSCCCSCSSSCSCSCCCCCSSCSSCCSSCSSCCCCSSCSSCSSSSCSSCCSCSSCSCCSSSSSSCSSCSSSSSCCSCCSSSCCSSSCCSSCSSSCSSSCCCSCSCCSCCCSSSCCCCCCCSCCSSCCCSCCSCCCSCSCSCSCCSSCSCSCSSSSCSSSSCSCCSCCCCSSCSCCSCSSSCSCSSCSCSCCSSCSSSSCCCCSCCSSCCCSCCSSCCSSSCSSSSCSCCCCCSCSCCSSCSSCCSSCCCSSSSSCCSCCSSCSSSSCSCSSCCSCSCSSSSSSCSSCSCSSSSSCSCCCCCSCSSSSSSCCSSCCCSCCCCSSCCSSCCSCSCCCCSSCSCSSCCSSCCCSSCSCCSCCSCSSCSCCSSCSSSCSSCSSSSSSSCCSSSCSSSCCCSSSSCSCSSCCSSCCSCSCSCCCCCSCCSCCSSSCCSSSSCCSSCSCCCCSSSCCCCCCCSSCCSSCCCSSSSCCSCCSSSSSCSCCCSSSCSSCSCCCCCCCSCSSCCCCCCCCCSSCCSCSCCCCSCSCSSCCSSSSSSCCSSCCSSCCCCCCCSSSCSCSCSSSSCCSSSSCSCCSCSSSCSCCSSCCSSCSSCCSCCSSCSCSSCSCCCSCCCSSCSCCCSCSCSCSCCCSCCSCSCCCSSSSSSSCSCSSSSSSCCSCSSCCSCSCSSSCCCSSSSSSCCCCSSSSSSCCCSSSCSSSCSCCSCSSSCCSCCSSCCCCCCCCCSCCSSSSCCSSCSSCSCSCSCSCCCCCCCCCSCCCCSSCSCCCSCSSSSCCCCCSCCSSSSCSSSCSSSSCSCCCCSSSSSCSSCCSCCSSSSSCCSCCSCSSSSCCCSCCSCCCSSSSCSCCSSSCCSCCCCCSSSCSCCCSCSCSSSSCCCSCCSSSCCSSSSCSCSSSSSSSCCSCCSCSSCSCCSSCSSSSSSCSSSCCCCCSCSCSSCCSSSCSSSSCSSCSSCCCCCCSSSCSSSCCCCCCCSCCCSSCSCSSCCSSCCCCSCSCCSSCCSCCSCCCSSSCSSCSSCSSCCCSSSSSCSSSSCSCSCSSSCSCCCSSCCCCSSCSSSSSCSCCSSSSSSSSCCCSCSSSCSSCSCSSSCSCCSCCCCCCSSCCCSSCSSCSSCSCCSCCSCCSCSSSSCCCSCCCSSCSSSSSSSSCCSSSSCSCCCSSCCSCSSSSSSCCSCSSSCSCSSSSSSCCCCSSCCSCCSSCCSCCSSCSSCSSCCCCSCCCCCCSCCSCCSSCCSSCSSSCCSCCSCCCSCSSSCCCCSCCSSCCSSCSCSCSCCSCSCCSCCSSSCSCCCSSSCCSSCSCSCCCCSSCSCCSSCSCSCSCCCSSCCCSCCSCCSSSCCCCCSCSCCCCSSSCCCCCCSCSCSCSCCCSCCSCSCCCSCSCCCCCCCCCCCSSSSSCSSSSCCSCSCCSCCCSSCSCSSSCSSCCSCCSSCSSSCSCCCCSSCSSSCCSSSSSSSCSSSSSCSCCSSSSSSSSCCCSCCSCSSSSSSCSCCCSSCCSCSSSCSSCCSSCCCSSSCCSSCSCCSCCSCSCSSSSCCCSCCCSSCSSCSCSCCSCCSSCCSCSSSSCCCCCCCSSSCCCSCSCSSCSCSCCSSSCSCSSCCCSCCCSSSCCSSCSSSSCSSCCCSCSCCSCSCSCSSSSSSSCSCCCSCSSSSSCSCSSCSCCSSSSCSSCCCSCSCSCCCSSCSSSCCSCSCSSSCSSSSSCSSCCSCSCCSSCSSCCSSSCCCSCSSCSSCCCCSSSCCCSCCSCSSSSSSSCSSCCCSSSCSSSCSSSSCSCCCSSSSSSCCCSCCCCSCSCSSCSSSCCCSSCSCCSCSCSSCSSCCSSSSSCSSCSCSCCCSSSSCCCCCCCSCCCCSCCCCSSCCCCCSCSCSCSSCSCSSCCCSCCCSSCCSSSSSSCSSCCCSCSSCSCCSCCSCSCSCCSSCCCCSCCSSSSSCCSSSSSSSSCCCSSSCSCSCCSSCSSCSCSSSSSSCSCCSSCCCCSCCSCSCSCSSSSCCSSSSSCSCSCSSSSCCCSSCCCCSCSSCCSCCCCSSCCSSCCSSSSSCCCCSCCSSCCSCCSSSCSCSCCSCSCSCCSSCSCCCSSSCSCCSSSCSSCSSSSCCCCCSCSSSSSSSSSSSSCSCSCCCCCSSSSCSCSSCCSSCSSCCSCCCSSSSCSSCCCSCSSCSCCSSSCCSSCSCSSSSCCCCCCSSCCSSCCSCCSCSCCCCCCSSSCCCCCCSCSSSSSSCCSCCSCSCCSSSSCSSSSSCSSSSSCCCSSSSCSSCSCSSSCCCCCCCCCSSCSCCSCSSCCCCSCSSCCSSSSSSSCCSSSSSSSSSSSSCCSSCSSCSSSCSSCCSSSCSSSSSCSCSSCSSSSSCCCSSSSSCSCSCCCSCSCCSSSCSSSSCCSCSCCCCSSCCCSSSCSCCCSCSSCCCSSSSSSCCSCSSSCCCCSCCCSCCCCCCSCCSSSCSCSCSSSSCSSSSCSCSSSCCCSSSCCSCSSCSSCSCCCSCCCCSCSSCSSCSCCSSSCCCSCCSSSCSCCCSSCSSCCCCSSCSSSSCSSSCSSSSCSCCCSSCCSSCSCSCSCSCSCCCCSSSCCSSSCSSSCSSSSSCSSCCSCCCSSCSCSSSSSSSCCSSSCSCSSCCCSSSCCSCCCSSCSSSSSSSCSCSCSCCSSCSSCSCCCSCCCSCSSSSSCSCSCSCCSCCCCSSSSCCSCCSCCSCSSCSCCCSCSCCSCSSCCCSSCCSSCSCSCSCSCCSCCSSCCCSSSSSSSCSCCCSCCSCSCSSSCSCCCCCSSSCSCCCCCCSCSCCSSCSSSCCSSCSSSSSSCCSSSSCSCCCCCCSCCSCCSCSCSSCSSSSCSCSSSCCSCSCSSCSCSCCCCSSSSCSCSCSCSSSCSCCCSSCSCSSSSSCCCCSCCSCCSCSCCCCSSSCSCSCCCSSCSCCCCCSSSSCSSCCCCCSSCCCSCCCCCCCCCCCCSCSCCCCSSCSSSCSSSCCSSCCCCCSCCSCCSCCSSSCCSSSSCSSCSSCCCSSCCSSCCCSCSCCCSSCSCCSSSCCCCSCSSSSSCSSCSSSSSSSCSSCCCCCCCSSCCCSSSCCSCSCSSSCSCSCCCCCSSSCCCCCSCSSSSSSCCSSSSSCSCSSSSCSCCCSSSCSCSSSSCSCSSCSCSSCCSSSCCSSSSCCCCSCSSSCCSCCSCSSCCSSCCSSCCSSCSSCCSSSCCSCSSSCSSSCCSSSCSCCSCSSSCCCSSSSCCSSSSCSCCCCSSSCCSCSSSCSCSSCCCCSCSCSCSCSCCSCCSSCSSSSSSSCSSSCSCSSCSSSSSCSCSSSSCCCCSSCSSCCCCCSSSSCCCCSSCSCCSSCSCCSCSCSCCSSCSCSSSSCCCCSCSSCCCCCCCSCCCSSCCCCCCSSSCSCCCCCSCSSSSCSSCCSSCSSCSCCCCCCSCSSSSCSCSSCCCSCSSSCCSSCSCCCSSSSCCCCCSCCSSSSCCSSSCSSCCCSCSSSSCCCSSSSCSSCCSCCCSCCCSSCCCCSSCCSSCCCCCSCCSSCSCCSCSSSCCSCCCCCCSSCSCCCCCSCSCSSSCCCCCCCCSSSCSCCSSCSSCCSSSSSCCSSCSSSSSSCSSCSSCSSSSCCSSCCCSCSSCSCSCSSCSSCCCCCCSSCSSCCSCCSSSCSSCCCSSCSSSCCCSCCSCSCSSCCCSSSSCCSCCCSSCCSCSSCCCCCSCSCCCCSCCCSCCCSCCCCCSCSCCSCCCSCSSCCCSCCSCCSCSCCCCCCCSSSSCCSSCCSSCSCCSCSSCCCCSCCSSCSSSSCSCCCCCSSSSSSCSSSSCSCCSCSCSCSCSCCSSCSSCSCSSSCCCCCCCCCCCSSCCSSCCSCSSSSCSCSCSCCSSSSSCSCCCSSSCSSCCSSCCSSCSCSCSSCCSSSCSSSSCCSSSCSCSCCCCSCCSCSCCCCCSCSCCCSCCSSCSCCCCSCSCSSCSCSCCSSCCSSSSCCCSSSSSCCSCCSSSSCCSSCSCSSSCCCCSSCSSSSCCCCSCCCSCSCSCSCSCSSSSSSSSCCCCCSSCCSCCSSSCCCCSSCCCCCSCSCCCSSSCSSSCCCCCCSCSSSCCSCSSCCCSSCCCSCSCCCSSCSSCCCSSSSCSCCSSSCCSCCSCCSCCCCSSSCCSCCCCSCCCSCCCCSCSSSSSCSCSCSSCCSCCCCSCSCCSSSSCSSCSSSSCCSCCCSSCCCSCCSSCSSSSSCCCSCCSCSSCCCSSCSSCCCCSCCSCCCSSCCSSSCCCSSSCSCSCSSSSSSCCCCSSCCSCSCCSSSCSSSCCCCSSCCCSSCSCCSCCSCSSSCSCSCSCSCSCCCSCCSSSSCCSSSSCSSCCSCSCSCCSCCCSCCSSCSSCCSSSCCSSSCSSCSSSCSCSSCSSCCSSCCCCSCSCSSSCSCSSCSSCSCCSCCCCSSSCSSCSCCCCSSCCCCSCCCCSSSSCSCCSSSCCSSSCSSSSSCCCCSSCSCSSSSSCCCCSCCSCSSCCCCSSSCCSSCSCCCSSCSSSSSSCCSCCSCCCCCCCCCCSSCCSCCCCSCSCSSCCCSCSSCSCCCSCCSSCCCSSSCCCCSSSSCCSCCSSSCCCSSCSCSCSCSSSCCCSSCCSSCSSSSCSCSSCSSSSSSCCCSCSSSCCSCSCSSSSSCSCSSCCSSSCCCSCSSSCSCCSCCCCSCSSSSCSSCCCSCCSSCSCCCSSSCCCCCCSSSSCCCCSSCSCCCCCCCCCCCCSCCSSCCSCSCCCCCCSSCCSSSCCSSSSCCCSCSSCSCCSSCSSSSSCCCCCSSSSCSCSSSSCSSSSSCSSSCCSSCCSCSCCCCSSCCCCSCCSSCCCSSSCCCSSSSCSCCCCSSCSSSCCCSCSCCCCSSCSSCCCCSSSCSCCSSCSCCCCCCCCCCCCSCCCCSSCSSCCSCSCSCSSSSCCSCSSCSSSSCCCSCSCCSCSSSSSCSSCCSCSSSCCCCCCSSSCCCCCSSSSCSCSSSCSSSCSCCCSSSSSSCSCSSCSSSSCCCCSCSSSSSSCCSCSSCSSSCSSSSCSCCSSCSCSCSCCSSCCSCCCCSCCCSCCCSCCCSSSSCCCCCCCCCSSCSCCSCSCSSCCCSSSCCCSCCCCSCCSSSCSSSSCCSSSSCCCSSSCCSCCSSCCCCSSSCCSSSCCSSCCCCSCSSCCCSSSCCSSSSCCCCSCCCSCSSCSSSSCSSCCSSSCSSSCSSCCSCSCSSSCSSSCSSSCCSCCCCCCCCCCSCCCSSCSSSSSSCSSSSCCSCCCSSCCCSSSCCSSSSCCSCSCSCCSCCCCSSCCSCSCCCCCCSCCSCSCSCSSCCSSCCSSCSCCCCSSSCSSSCCCSCSCSSSCSSSSCCSCSCCCCCCCSCCSSCSCSSCCSSSSCSCSCSSSSSCCCSCCSSCCSCCSCCSSCCSSCCSSSCCCSCCSSSSSSCSSCCSCCCSCSCSCSCSSCSSSCCCSCCCCSSCCSCCSCCCCCCSCSSSSSCCCSSSSSSSCCCSCCSCCCCSSSSSSSCSCCCSSSCSCCCCSSCCCCSCCSCCCCSCSCSSSCCSCCSSCCSSCCSSCSSSCSSSCSCCSCSSSSSCSCCCCCCSCCCSSSSCSSCSCSCCSCCSSSSCCSCCSSSSSCSSSCSSSSCCCSSSCSSSSSSSSCSSCSSCSCSCSSSCSCSCCCCSCSSCCCSCCCCCCSSSCCSCSSCCSCCCSSSCSSSCCSCCSSCSSSSCSCCSCCSSCCSCCSCCCSCCSCCSCCSSSSSCCSSSCCSSCCSCCCCCCCSSCCCSSSSSCSSCCCCCSSSSCSSSSSSCSSCCCCSSSSSSCCSSCCCSSSSSSCCCSSSSSSCCSSSSCCSCSSSCSCCCCCCCSSCCCSSSCCCCCSCCCSCSSCCCSCCCCSCCCCSSCCCSCSSCCSCSCSCCSCCCCSCSCCCSSSSCSSSSSCSCSSSCSSCSCSCSSSCCCCSCSCCSCSSSSSCSCSSSSCSSCCSCSSSCSCCSCCSCCSSCSSSSCCSCSSSCCSSCCSSSSSCSCSSSSCSSSSCCCCSCCSCCCSCSSSCSSSCCSSSCCCCSCSSSCSSCSCCSSSSSCCSSCCCCSCSCCSSCSSSSCSCSCSCCSCCCCSSCCSSCSSSCSCCCSSCSSCCCSSCSCSCSSSSCSSCSSSCCSSCSCCSCSSCSSCCSCSCSCCCCSSCSCCCSCCSCCSSSSCSSCCCSCCSSSCSSCCCSSCSCSSSCCSSSCSCCSCSCCCCCCSCSSSCSSCSSSSSCCSCSCCSCSSCSSSCSSCCSSCSCSSSSSCCCCSSSCCSSSSCCCSCCSCSSSCCSSCCSSSCSSCCCCCSCSSSCCSSCSSCSSSCSSCSSCSSSSCCSSSCCSSCSCCCSCCCCSSSSSCCCCSSSCCSCSCCSCCCSCSSCSCSSCCCCSSCSSSCCCSSCCCSCCSCCSSSSSSCSSSCCCSSCSCCCCSSSCCCSSSSCCSCSCCSCSSCCCCSCCSSCCCSCCCCCSCSSCCCSSSSCSCCCSSCCCCSCSSCCCCCSSSCSSSSCCSSSCSSCSCCSSCCSCCCSCCSSCCCCCCCSCSSSSSSSSSSCSSCCCSSCCSSCSSSSSCCSCCSSSSSSCCSCCSCCSSCSCSCSCCCCSCSSSCCSCSCSSSSSSSCSCSSCCSCSCSSCCCSSSSSSSSCSCSSCSCCCSSSCSCSCSSCSCCSSCSSCCCSCCSSSCSCCSCSSCCSCCSSCCSCCCSCCSCSSCSSSCCSSSCCSCSCCCSSSSCSSSSCCCCSCCCCSSCSSCCSCCCCCSCCCSSCCCCSCCSSSSSSCCCSCCCSSCSSCCSSCCCCCCSCCSCSSCCCSSSSSSCCSCSSSCSCCSSCSCCCSSCCCSSSSCCCSSSCSCCSSSCCSCSCCSCCSSSSCSCSCCSSSSCCSSSCCCCCCCSCSCCSCCSSCCSCCCCSCSSSCCSCSCSSCSCSSSCSSSSSCCSCCCCCCSCSSSCSSSCSSSSSCCSSCSSSSCCSSCCCSCSSCSSSCSCCSSSSCSSSCSSSCCCCCSCCSSSCCSSSSSSCCSSCCSSCCCSSSCSCCSSSSSSSSSSSCCCSSSSCSCSCCSSSCCSCCSSCCSCCCSSCSCSSSSCCSCSCCSCCSCSSSCCCSSSSCSCCCCCCCSCCSCSSSSCSCCSSCSCCCCSSCCSCCSCCCCSCSCSSCSSCCSSCSCSCCCSSCCSSCCCCCCCCCSSSSCSCSSSSCCSSSCCSSSSSSCCCSCCSCSSSSCSSCSSCCCCCSSCSSCSCCSSCCCCSCCSSCCSSCSCCSSSSCSCCSCSSCSCSSSSSSSCCSSCSSCCCSCCSCSCSSSSSCSCSSSSCSCSSCSCSSCCCSSCSSCSCSSCCCSSSSSCSSCCCCCSSSSSCCSCSCSCSSSCCSSCCCSSCCCCSCCCSSSSCSSCCSSSSCCSSCSSCCCSCCCSSSCSSSSSSCCSCSCSCCCSSCSCCSSSCSSCSCSSSSCCCSSSSSCCCCSCCSCSCSCCSCSSSSSCCSSSCSSCSCCSCCCCSCSSSCSCSSCCCCSSCCCCSCCSSCCCCCSSCSSSSCSCCSSSCSSCCSCCCSCSCCSCSCSSSCSCCCSSSSSCSSCSCSCSSSSSCSCCSCSCSSSCCCSCSSCCCCCCSSSCSCCSSSCCCSCSCCSCCCSSCSCSCSCCSCCSCCSSCSCCSSCSSSSSCSSCSCSCCCSCCCCCCSCCCSSCCSCSSCSSSCSSSSCSSCCCCCSCCCCCSCCSCCSCCSSCSCCCCCCSSSCCSCCSCSCSSSCSSCCCSSSCSCCCCCCSCSSCCCSCSSCCSSSSSSSSSCSSCSCSSCCSSCSCSCCSCSCSSCCCCCCSSSCSCCCSCCCCSSSSSCCSCSSSSCSSSSCSSCSSCSCSSCSSCCCCSCCSSSCSCCSCSSSCSSCCSSCSSSCSSSCSCCCCSCSCCSSCSSCSCSSCSCCSCCCSCSSCCSCSSSSCSCCCSCCCCCSCCSCSSSCSSCCSSCSSSCSCCSSCSCCSSSCSSCSCCSSCCCSCSCSCSSSSSCCCCSSSCSSSSSSCSCSSSSSCSSCSCCCCCCSCCCCCCSSCSCSCSCCCSSSSCCCCCSSSCSSSCSCSCCCCCCSSSSSSCSSSSCSSCCSCSSCCSSSCCCSCCCSSSCCSCCSCSSCCCCCSCSSSCSCCSCSSSSCSSCSCSCSCSSSCSCSCSSSCSCSCSCSCCSCCCCCCCCCCCSCCSSSSSSCCSSSCCCSSSCCCSSCSCSSSSSCSCCSSSCCSSCSCSSSSCCSSCSCSSSSSCSSSCSCCCCCSSSCSCSSSCCSSCSCSCSSSCSSCSSSSSSCCCCSSCCCCSCSCSCCSSCSCSSSCCCSSSSSSCSSSSSCSSCSSSCSSSSSSSCCSSCCCSCCSCSSCCSSCSCCCSCCSSSSSCCSCCCSSCCSCSSCCCCSSSSCCSCCCCSSCCCCSCCSCSSCSSCSSSCCCCCSSSSCCCCCSSCCCCCCCSCSCCSSCSSSCCCCSSCSSSSSSSSCSCSSSCSSCCCCSSSSSCCSSSSCCSSCCSSSSCCCSSCSCSSSCCSCSCSSCSSSCSCSSSCSSSSSSSCCSSSSSSCCCCCSSSCCSCSSCCSSCSCCSSSSSCSSSSCSCCCCSCCSCCSCSSSCSCSCCSCCSCCSSSCCSSCCCSCCSSCCCSSCSCSSCCCCCSCCSSCSCSCCSCCSCSSSCSCCSSSCCSCSCSSCCCCCCSCSSSSCSSSSCSSCCCCSCCSCCCSCSCSSCSSSCSCSCCSCCSCCCSCCSSSCSSSCSCCCCSCSSSSSCCSSCCSSCCCCSCCCCCCCSCSSSSCCCSCSSSSCCCCCSCCSCSSCSCCCSSCCSCSCCCSCCCSSCCSSCCSCCSSCCSCSSCCCCSSSSCSCCSCCCSCSCSSSSSCCSSSSCCSCCSSSCSSSCCCCSSSCSSCCCCSSCSCSSSSCSCSSCCSCSCSSCCCSSCCSCCCSCSCCCCCCSCCSSCSCCCSCSCSCCCCCSSCCSCCSCSSSCCCSCSCCCSCCCCSSSCCCSSSCCSCSSCCCCSSCSCCSSCSCCCCSCSCCCCCSCCSCCCCCSCSCCCCSCCCCSSCSCCCSCCCSCSSSSSSSSSCSCCCCSCCSSSCSSSCCSSCSCCSCSSSCCSCCSCCSSSSCSCCSSCCCSCCSCCSSSCCSSCSCSSCSSCSCCCCSSSSCSCSSSCSSSSSCCCCCCSSCSSCSCSCCCCSCCSSSSCCCCSSSCSCSCCSSCCCCSSSCCSSSCSSCCSCCSCCSCSCSSSCCSSCSCSSSCCSSSCCCCSSCSSCSSSSCCCSSCSSSCSSSSCSCCCCCCCSSCCCCCSCSSCCSSCCCSCSSSSCCSSSSCSSSSSCSCCSCSCCSSCCSCSCCCSSCSSCCCSCCSCCCCCCCSCSCSSSSCSCCSSCSSSSSCCCCSSCCSCCCCSCCCSSSCCCCSSSCSCCSSCCCSCSCSSCCCCCSCCCSCSCCCSCCCCSCCCSSCSCSSCCSSCCSCSSCCCCSSCSSCCSCSCSSSCSCSSSSCCSCSSCCSSSSSCCCCSCSSCCCCCSCSCCCSSSSCSSCSCSCCSSSCSCCSSSSCCSCCCSCCSSSCCCCCCSSSSCSSCSCSCSSCSSSSSCCCSSCCSCCCCCCSCCCCSCCCCSCSSCCCCSSSSSSSSSCCCSCSCCCCCSCCCCCCSCSSCCCSCSSSSCSSCCSSCSCSSSSSCSCSSSCSSSSSCSSSCCSCCSCSCSSCSSSCSSCCSCCSCCSCSSSSCSSCCSSCSCSCSSCSSCSSSSSSSSCCSCCSCSCSCCCSCSSCCSSCCCCSSSSSSSSCSCSSSCCCSSSSSCSSSCCSSSCCCCSCSSCCCSSCSSSSCSCCSSCCSSCCCSSSSSCSCSCCCSCSCCSSSCCSCSSCCSSSSSCSCCCSSCSCSCSCCSCCSCSSCCSCSSCSCCCSSSSCCSSCCCSCCCCCCCSCCSCCCCCSSSSSCSSCCCSSCCSSSCCCCSCCSSSCSCCSSSSCCCSCCCSCSCSCSSSCSSCCCCSCSCCCCCCSCCSCSCCSCSSSSSCCCSCCSSSCSSCSCCSSCCCCSSSCSCCCCSCSSCSSCSCSSCCCSCSSSCCSSSSCSCCSSSSCCCSCSSCSSSCCSSCCSSSCCSCSCSCSCCSSSCSSCCCCCSSCSSCSSCCSSSSSSCCSSCCSSSSSSSCSCCSCSCCSSCSCSSCCCSCCCSSSCSSSCCSSCCSSCCCSSSCCCCSCCCSSSSCCSCSCSSSCSSSCSSSSSCCCCCCSCSSSCSCSSSSSCCCCCCSCSSCSCSSSSCCSCCCSCCSCCCCSCCSCSSSCSSCSCCCCSSCCCSCCCCSCSSSSSSSCSSSCCCCSCSCSCSSSCCSSCCSCSCCSSSSCCSSSCCCSSSSCCCCSCCSSSCCSSSSSSCSCSCSCCSSSCSCSSCCSSSSCSCCCSCCSCSSSCSCCSSSSSSSCSSCSCSSSCSSSCCCSCSSCCCSCCSSSCSSCCCCCCSCCSCSSSSCCSSCCSSSCSSCSCSCSCCCCSSSCSCCCSCCCCSCSCCCSSSCCSSCSCCCSSCSCCSSCSSSSSCSCSSSSCSSCCCSSSCCSCSCSCSSSSCCCCCSCCSCSSSSCSCCSCSSCSSCCCSSCCCSCCCCCSCCSCCCSCCCCSSCCCSCCCCCCCSSSCCSSSCSSSSSSSCSSSCSCSSSCSSSSSSSCSSSCCSSCSSSCCSCCSCSSCSCCCSCCSCCCSSCSCSCSSSCSCCSCSCSCCCCSCSCCSCCCSSCSCSCSCCCSCCCCSCCSSSCCSCCCCSSCCSSSCSCCCSSCSCCSSSSCSCCCCSCCCSCSCCCCCSSSCCCCCSSSCCCSSCCCCSSCSCSCCSSCSCCSSCSSSSSCSSCSSSCSSCCSCCCSCCCCSSCCCSCCCCSCCSCCSCCSSCCCSSCSCCSSCCSCCSSCCSCSSSCSSCSCSSCSSSCCSCSCSSCSCSSCCCCCCSCSCCSCSSSSCCSCCCSCSSSSCSCSSCSCSSCSSSCCSSCCSSSCSCCSSSCSSSSCCSCCSSCCSCSSCCSCCCSSSCSCSCCCSSSCSSCCCSSCCSSSSSCCSSCCSSCSCSSCCSCCCSCSSSCSCCSCSCSCCSCSCCSSSSCCCSCCCSSSCSCCCCCCCCSSCCCSCSCSCSSSSCSSCSCSSCCSCSCCCSCCSCSCCSSSCSCSSCCSSCSCSSSSCSSSSSSSCSSSSSCSCCCCSSCCCCSCCSSCSSSSSCCSSCSSCSSCCSCCSCCSSSSSSCCSSSSSSCCCCCSSCSCSSCCSCCSSCCCCSSSCCCSCCSCSCSCSCCSCSSSSCCSSCCSSSCCCCSSCSCSSSCSCCCCCSSCSCSSSCCSCSCCCCSCSSCSSCCSCSSCSSSSCCCSCCSCCSCSCSCSSCSCSCCCCSCSSSSCSSSCSSSSCCCSCSSSCCSSCSCSCSSSSSSCCSCSCSCSSSSSSCSSCCSSCSCSCSCCSCCCCSSCSSCSSCSSCCCSSSSSSCCSSCCCSCCSCCCSCSCSSCCSSSCSSCCCSCSSSCSSSSSSCCCSCCCSSCCCCCSCSSSCSCCSCSSSCSCCCSCSCSCSCSSCCSSSSSCCSCSSSCCCCCSCSCSCCSCCCSCCSSSSCSCCSCSCSCCCCCSSCCCSSSCCCCSCCCCSCSCCCSSCSCSCSCCCSCSSSSCSSSCCSSCCSSCCCSCSSSSSCCCSCCCCCCCSCSSCSSCCSSCSSCCCCCCCSSSSSCCCCSSCSSSSSSCSCCSSCSSSSCCCSCSCCCCSSCSCCSSSCSSCCSCCCCSSSSCSSCCCCCSCCSSSCSCSCCSSCCCCSCSCCCCCCCSSSCCSSSSCSSCCSSCCCSCCCSSCCCSSCCCCSSCCCSSSSCSCSSSSCCSSSSCCSCCSCSSCSCCSSSSCCSSSCSSSCSCSCSCSSSCCSSCCCSSCSCSSSCCSSCSCCSCSSCSCSSCSSCCSCCSSSSCSCSSCSCSSSCSSCCSSSCCCSCCSCSCCCSCSCCSCSCCCSSSSCCCSCCSSSSSSCSCCCCSSSSCCSSCCCSSCSCCSCSSSCSCSCSSCCSSSCSCCCCSSCSSCSCCSCCSCCCSSSCCCCCSSSCSSSCSSCSSCSCSCCCSSSSSCSSSSSCSCSSSCCCSSSSSSCSSSCSCSSCCSSCSCSSCSCCCCCSCCCCSSCCCSSCSCSSSCCSSCCCSCCSSCCCCSCCCSCSCSSCCSSSSCCSSSSCCSCCSCCSCCCCCSSSCSSSSSCSCCSSCCCCCCSSSCSCSSCCSCCCCSSCCSSSCCSCSSCSSSCCSCSCSSCCSSSSCCCCCSCCCCSCSSCSSSSCCCSSCSCSCSCCCCSCSCSCSCSCCCCSCSSSCCSCCSSSCCSCSSSCCCSCCSSCSCSSCCSCSSCSSCSSCCSCSCSCSSCCSCCCCCSSSSSSSCSSCSCCCSSSSCCSCCCCSSCCCSSCCCSCCSSSSCCCSSCSCCCCSCCCSSCCCCSSCCCSSCCCSSSSSSSSSSCSSCCCSCCSCCCCSCSCCSCSCSSCSCCCSCSSCSCSCSCSSSSCSSCSSCCSCSSSSSSCSCCCCCCCCSSCSSSSSSCCSSCSCCCSCCSCSCSCSCSSSCSSSSSCSSCSSSSCSSSSCCSSSCSSSCSCSCCCCSCSCCSSSCCCSSSCSCCCSCSSSCCCSCSSCCCSCSSCSSCSSSSCSCSCCCSSCSSCCSCCSSSCCCSCCCSCSSCCSCCCSCSCCSSSSCSSSSSCSSCSCCCCCSSCSCCSCCCCCSCSSCSCSCSCSSCSSCCCCCCSCCCSSCSCCSCCCSSCCSSCSCSSSCCSSSCSCCSCCSCCCCSCSSSCCSSCCSCSSSCSCSCCCCCCSCSSCCCSSCSCSSSCCCCCSCSSSCCCCSCSCSSSCSSSCCSSSSSCCCCSCCCCSSSSCCSCSCCCCCCCSCCSCSSSCCSCCCCCSCCSCSSSSCSSSSSCSCCCCSCSSCCSCCCSCCCSCSSSCCCSSSSSCCCSCCCCSCSSCSCCCSCSCSCSSCSSCSSCCSSSCSSCSCSCCSSCCSCSCSCCSCSSCCSSCCSSSCCCSSCCSCSCSCSSCCCCSSCSCSSSSCSSSSSSCSCCCCSSSSSSCCCCCSSCCCSCSCCSCSSCSSSSCCCCSCSCCSSCSCSCSCSCSSSSCCCCSCCCCCCCCSSCCSSSCCSCCSCSCSCCSCSSCCSCCCCSCSSCSSSCCSCSCCSCCSCCSCSCCSCCSSSCCCCCSSSSSCSSCSCCSSSSSCCSCCSSSSSSSSSSSSCCCSSSCSSSSCCCCSSSSCCSCSCCSCCCCSSCCSCCCSCSCSSSSSCSCSSSSSSSSSSSSCCSSCCSCSCSCCCSSSSCSSCSCSSCSSSSCSCSSCSSCSSSCCCSSSSCSSCCCSSCCSCCCSSCCCSSSCSCSSSCSSCSSCSCSCSCCSSSCCSCCCSSSCSCSCCSCCSCCSCCSSCSCCCSSSCCSCCCSSSCSSCCCCSCCCCCCCCCSSSSSSCSSSCCSSSSCCSSSSCSCCSSSCCSSSCCCCSCSSCCSCCCSSCCSSCSCCSCCCCCSSSSSCSCCSCSCCSSCCSCCSCCSSSSSCSSCCSCSSSSSCSSCSSCSCCCCSSCCSCSCSCSCCSSSCCCCCCCSSSCSSCSSCSSCCSSSSSSSCSCCCSCCCCCSCCSSCCCSCSCCSSCCCSSCCCSSCSCSSCCCCSCSSCCCSCSCSSCSCSCCSCCCCSCSSSCSSCCSCCSSCCSCSSSCCSSCSSSCSSCCCSCCSCCCCSSSSSSCSSSSSSCCSSSCCCCCCSCCSCSCCSCSCCSCCSSCCCCCCSCSCSCCCCCCSSSCCCSCSCSSCCSSCSSSSSCCSCCCCCCCCSCSSCSCCCCCCCSCSCSSCSSSSSSSSCSCSCCCCSSCCSCCCCCCCCCSCSCSCCSCSCSCSSSSSSCSCSSSSSSSCCSCSCSCCSSSCCSSCSSCCSSSCCCSCSCSSCCCSSSCCSSCSCSCSCSCCSSCCCCSCCSCSCSSSSSCCCSCSCSSSCSCCCCSSSSSCSSSSSCCCSCSSSCSSSSCSSCSSSSCSCCSSSCCCCSSSCCSCCCSCSSSSSSSSCSCCSSSCSSSCSCSCSSSCCSSCSSSSSCSSSCCCCSCSCSCCSCCCSCSSSSCCSSCCSCCSSSSCCCCSSCSCCCCCSSCSCSSSSCSSCSSCCSSCSSCCCCSCSSSCCCSCSCSCCCSSSCCSSSCSCCCCCSCCCCCCSCCSSSSCCCSSSSSSCCCSCSCSSSSCCSSCCCCCSCCCSSCCCCCCSCCCSCCSSSSCSSCCSCCSCCCCCSCSCSSCSCSCCSCSCSCCCCSCSSCSCCSCSCSCCCCCSCCSCCCSSSCCCCSSCCSSCCSCCCCCSSSSSSCCCSSCSSCCCSCSCCCCCSSCSSSSSCSCSSCCCSCSCSSSSCCSSCSCCCSSCSCSSCSSSCCSCSCCSCSSCCCCSCCSCSSSSCCSSSCSCSSSSSSSSSCSCSSCCCCCCCCSSSSSCCCCSSSSCSSCCSCCCSSCCSCCSCSCSSSSSCSSCCSSSSSSSCSCCSSSSSCSCCSCCCSCCSSCCCCSCCCCCSCSSCCSSSCSSCSSSSCCSCCCSSCSCCSSCSCCSSCSSCSSCCCCCCCCCSSCCSSCSSCSSSSSCCCCSCSCCCSCCSCSCCCSSSCSCSCCCCSSSCSSCSCSCCSCCSSCCCSCSCCSSCCCSSSSSCCCCSSCCCCCCCSSCSCCCSSSCCSSCCSSCCCCSCCCCCSCSSSCSCCSSCSCCCSCCSSSCSSCSSSSSCCCCCSSCSCSCSCCSSCCSSSSCSCSCCCCSCCCCSCCCSSCSSCSCCCCSCCCSSCCCCCCCSSCCCSSCCCCCSSSCCSSSSSSCCCCCCCSSSCSCSCCSCCCCCCCCCCSCSSSSCSSCSSCSSSCSCSSCCCSCCSCSSCCSSSSSSCCSCCSSCSCSCSSSSCCSCCCCSSSCSCCCCCCSSSCCSSSCCCCSSSCSCCCSCSCCCCSSSCCCSCCSCCCCCCSSSCCSCSCCCSCCCCCSCCSCSCSSCCSCCSCCSCCCSCCCSCCSSCSCSCSCCSCSCSSSSCSCCCSCSSSSCSCSSCSSCCCSSSSSCCCSCCSCSSSSCCSSCCCCSCCCSCSSCSCCSSSCSSSCCSCCSCCCSSCCSCCSCCCSCSSSSCSSSSSSSCSSSCSCSCCSCCCCCCSCCSSCCSCCCSCSSSSCSSSSSSSCSSSSSCCCCCSSCCSSSCCCSSSCSCCSSCSCSCCCSCCCSCSSSCSCCCSSCSCSCCCSSSSSCCCCSCCSCCSSCCSCCCSCCSCCCSCSSCCSSCSCSSSCSSSCCSCSSCCCSSCCSCSCSSCSSSCSCCCSSCCCSCCSSCSCCCCCSSSSSSCCCCCSCSSSCCCCSSSCSCSSCSSSCCSSSSSSSCCCCCSSSSCCSSSSCCSCCSCCSCSCSSSSCSSCCSSCSSSSSCSSSSCSCCCSSCCCSSCCCSSCCSSSSCSCSCCSCSSCSCCCSSSCSSCSSCCSCCSSSCCSSSCSSCCCSCCCCCCSCSSSCCSSCSCSSSSSCCSSSSSCSCCCCCCSCCSSSSSSSSSCSCSCSCSCSCCCCSSCCSSSCSCSCCCSCSCCSSSSSCSSCCSCCCSSSSSCSCCCCCSSCSSSCSSCSCCSCCSCCSSSSCCCCSCSSCSCCCCCCSSSCSCSCSCSSSSSSCSSSSCSSCSCCCCCCSCCCCSSCSCCCSCCSCCCCSSCCCCCCCSCCSCSSCCSCCCCSCCSSSSCCCSSSSCCSCSSSSCCSCCSCSCSSCCCSSSSCSSSSCSSSCCSSCSCCCSCCSCSSSSSCSSCCCCCCSSSCCSCSCSCSSCCCCCCCCCSCSCCCCSSSSCCCSCCSCCSSSCSCCCCCSCSCCCSCSSSCCSCSSSSSSSCCCSSSCSSSSCSSSCSCCSCCSSSCCSSSCCSSCSSSCCCSCSCCSCSCSCSCSSCSCSCCCSCSCSSCCCCCSCCCCSSCSSSSCCCCSCCSSSSSSCSSCSCCCCCSCCCCSSSSCSSCSSSSCSCCCSSCSCCSCCSCCSCSCSSSCCSSCCCSSCSCCSSSCCSSCCCCSCSSCSSSCSCSCCCSCCCCSCSCCCSSCCSCCSSSSSSSSCSCSSSSSCCSSCCCSCCSSSSSSSCCCSCSSCSCSCCSSSSCCCSCSCCCSSSSSCCCSSSSSSCSCCCSCSSSSSCSSCCCSCCCCCCCCSCCCCSCCCSSSSCSSCCCCCSCSCCCCCCCCCSCCCSCCSCCCCSCSCCSCSSCCSCCSSCCCCSSCSCCSCSSCSCCCCSSSSSSCCSCSCSCSSSSCCCCSCCSCCCCCCCSCSSCCSSCCSCCSSCCSSSCCCCCCCCSCSCCSSSSSSCSCSCSSSSSSCSSSCSSCCSCCCCCSSCCCSCSSSSCSCCSCSCCCCSCCCSSCSCCCSCCCSSSCSSSCCCCCSCCCSSCCCSSSCSSCCCSSSSSCSCSSSSSCCSSSSCSSSSCSCCSSSSSSSSCSSCSCCCSSSCSSCSSSSSSSSSSSCSCCSCCCSCSSSCSCSCSCCSSCSCCSCSSCSCCSSSCCCCCSSSSCCSSSCSCSCCSSCCCSCCSCSSCSCCCCCCCCSSSSSSSCSCCCCSSSCCCCSSSSSCCSSCCCSSCCCCSSCSCSSSCCSCCCCSCSSSSSSCSCSCSSSSCCCCSCSSCCSSSSSSSCCSSCCCCSSSCCSCSCSSCSSSCSCCSSSCCCSSSSCCCSSSCSSCCSSCCSSSCCCSCCCSSCCSCSSCSCSCSSCCSSSSSSCSCSSSCSSCSSSCSCSSCCSSCCCSCSSSSSSSSSSSSCCSSSCCSCSCSCCSCSSCSSSCSSSSCCSSSSSCCSCCSCSCCSSSCSSSSSSCCCCCSCCCCCCSCCSSCCSCCCCSSCSSCCCCSCSSCCSSSCSCCCSSCSSSSSSCSCSSCCSCSSCCCSCSSSSSCCSSSCCSCSSCCCSCSSCSCSSCCCCSCSCCSCCCSSCCSCSSSCSCCSCCSSCCCCSCCSCSCCSSSSSSCCSCCSSCCCCCCCCSCCCSSCSCCCSSCSSCCSSCSSCSSSSCCSSCSCCCSSSCSCCCCCCCCCCCCCCSCCCSCSCCSCCCCSCCCCSCSCSSSSSCCCSSCCSSCSSSCSSCSCCCCSCCCCCCSSCSSCCSSSCSCCCSSCSSSSCSSCCSSCSSCCSCSCCCCSCCCCCCCCSSSCSSCCSSCSSSSCSCSSCCCCSSSSCSSCSCSSCCCSCSSSCCSSCCSSSCCSSCSSCCCSCCSSCSCSCCCSCSCCSCSSSCCSSCSSSSCSSCCSCCSCCCCCSSCSCSSSSSCCSSSSSCSCCSCSSSCCSCSCCCCCCSSCSSSCSCCCSSCSCSCSSSSCSSSCSCSSSCSCCSSCCSSSCSCSCSCSSSCCSSSCCSSSSCSCSCSSSCSSCCSSCCSCSSSSSCCCCCCCCSSCSCSSCCCCSSSCSCSCCSCCCSSSCSCSSCSSCSSCCCSCCSCCSSCCCCSSSSSSCCCSCSCCSCCCSCCCCCSCCCCSSCCSSCCSCCCSSSSSCSCCCCCCCSSCCSSCSCSSCCSCCCSSSSCSSSCSCSSCCCCSCCSSSSSSSSSSSSCCSSCSSSCSSSCCSCSCSCCCCSSSCCCSSSSCCSCSSCCSCSCSCSSSCCCSSSCSCSSSCSCCCCSSSSCSCCSSSSCSCCCCCSSCSCSSSSSCCSCCCCCCCSCSCCSSSCSSCCCSSCSSSSSSCCCSCCCCCSCCCCSSCSSSSCCCSSSSCSCSSSSCCSCCSSCCCCSCSSCCCCSCCCCSSCCCCSCCCCSCSSCSSCSCSCCSSSSSSSSSSSSCCCSSSCSCSCSSSSCCSSCCSCSSSSCCSCSCCCSSCCCSSSSCCSSSSSSSSCCCCSCSSSCSCCSCCSSSSCCCSSCCSCCSSCSCCCCCSCSCCCCCSSCCCCSCSCCSSSCSSCSSCCSCCSSCSSSCSSSSSCSCCSSCCSSSCSSCSCSSSSCSSCSCSCSCCSCSCSCCCCCSSCCSSSCCCCCCSSSCCCCSCSCSCSCSCSSSCCCSCSCCCSCSCSSCSCCCSSSSSSSSSCSCCSCSSSSSSSSSSCSSCSCSSCSSSSCCCCCCSSCSCSSCSSCCCSCSSCCCCCCSSSCSSSSSCSSSCCSCSSCCCCSCSSSCSCSSSCSCCSCCSCCCSCCSCCSSSSCCCCCSSCCSSCSCSSCSCSSCCSCCSCSSSSSSCSCCCSSSSSCSCCSCCCCSCSCSCSSSSSCSSCCSCCSCSSSSCCCCSSCCCSCCSCSCSSCSSCCCSSCSCSCCSSCCSSCSCSSCCCCSSCSCSCSCCCSSSCSCCCSCSCSCSSSSCCCSSCSSCCCSSCSCSSSCCCSSCCSCCCSCSSSSCSSCSSSCCCSSCCSSCCSCCSSCCCSCSCSCSSCCSCCSCSCSCCSSCCCSCSCCSCCCSSCSCCSSSSSCCSSCSCCSSSCCSSSSCSSSSCSCCSCCCSCSCSCCCSSSSSSCSCSSSSSSSCCSCSCSCSSCCCCSSCCSCCSSSCCCCCSCSSSCSSSCSCCSSCCCCSSCCCCCCSSSCCSCCCCCCCCSSCSSSCSSSSCCSSSSCSCSCCSSCSSSCSCSSSCSCSSCCCCCSCCCCSSCSCSSSCCCSSSSSCSCSCSSSSSSSSSCSSCSSCSSCSSSSSCSSCCCCCCSSCSCSSCSCCSCSCCCSCSCCCSSSCCCCSSCSSSCCCSCCCSCSSCSSCSCCCCCCCCCCCCSCSSCSSCSSCSCCSCSSCCSCCCSCCSCSSSCCSSSSCCCSCSCCCSCSSCSSSSCSSSSSSCCCCCCSSSSCCCCSCSCCSCSSSCCCCSCSCCSCCCCCCSSCSSSCCSCSSCSCSCCCCCCSCCCSCSCCSCCSCCSSSSSCCSSCCSSSCSSSSCSCSSSCCCCSSCCCSSSCSCSSSSSSCCSSCCSSSCCCCSCSCCSCSCSSSSCSCSCCCSCSSCSCCCSCSSCCSSSSCCCSCCSSCCSSCSSCSCSCCSSCSCSSSCSSCSCSSSSCSSSSCCSSSCCSSSSSSCCCCCCSSCSSCSCSCSSSSSSCSCSCSCCSCCSCSCSCCCSSCSSSCSSCSSSCSSCSCCSSSCSCSCCSCSCCCCCCSCSSSCSSCSCCSSSCSSSSCSCCSCSSSCCCSSCCCSCSCSSSSSCCCCSCSSCCCCSCSSSCSSCSCCSCCSCCCCCCCSSSCSCSSSSCSSSSCSSSSCSCSSCCSSSCSCCCCSCCSSSSCCSCCCCSCSSSCSSCSCSSCCSCCSSSSSCSCSSCSCCSCSSSSSSCSSSCCSSSCSCCSCCCSCCCSSSCCSSCSCCSSCCSCCSSCCSSCCSSSCSCSCSSSCCSSSSCSCSCSCCCSCSSCCSSSCCCSSSSCSSCSSSCSSCCSSSCCSCSSSCSCSCCSSCCSSCCCCSSCCSSSSCSSSCSCCSSCCCSCSSSCSSCCCSSSCCSSSSSCCSCSCCSCSCCCSSCSCSSSCSCCCSCCSSSSSCSSCCCCCCCSSSSSCSCSCCCSSSCCCSCCCCSCCSSCCSCCSSSSCSCSCCSSSSSCSSSCSSCCCSSCCCCCSSSCCSSSCCSCCCCSCSCSCCCSSSCSSSCCSSSSCSSCCSCSSCCSCCCCCCSSCSSSCCSCSCSSCCSSSCSCSSSCCCCSCCCSCSCCCSSSCSSSSSSSCSSSSSSSSCCSSSSCCSCCSSCSSCSCSCCSCSSSCCCCSSSSSSSCCSCCSSCCCCSSSCCSCCSCSSCSSSSSCCSSSCCSSCSCSCSCCCCSSCSSSSCCSCCSCSSSSCCCCSCSSSCSCCSSSSSCSSSSSSCCSCCSSCSSCSCSCSSCCSSCSSCSSSSSSCCCCSCSCSCCCSSSCCCCSSCSSSSSCCCSCCSCCCCCCSCSCSSSCCCSSCSSCSCSSSCCSCSSCCCCSSCSCSCSSSCCSSSCSSSCCCSSSSSSCCCSCCSCCSSCCSSCCSSSCSSCSCCSSSSCCSSSCSSSCCSCCSSCSCCCSCCCCCCCSCSCSSCCSSCSSCCSSSCCCSCCSCCSCCCCSSCCSCSCSCSCSSSSCCSCSCCSCCSCSCSCSCSCSSCSCCSCCCCCCCCSSSCCCSCCCCCSCCCCCCSSCCCSCCSCCSCSCSCCSSSCSSSCSSSCSCCSSCSCSSSCSCSCSSSSCSCCCCSSCSSSCCCSSSCCCCSSCSCSSCSSCSCSCSCSCSCSSSSSCCSCSSCCCSSSCSCSSCSSSSSSCCSCSSCSSSCCCCSSCCSSSSCSCSCSCCSCCSSCCSCSCCCSSSCCCCCCCSSSCSSCSSCSCCCSSSSSCCSSCSSSCSCCCSSCCCCSSSSCSCSSSCCSSCSSCCSSSSSCCCCCSCCSSSSSSCSSSCSSSCCSCCCSSCCCSCSCSSSCSSSSCCCCCSCSCSSSSCCCSSSSCCCSSSSCSSSSCSCSCSSCCCCCSSCCCCSCCCCCSSCCCCSCSSSSCSSCCSCCCSCSSCCSCSSSCSSSSSCCSSCCCSCSCCCCSSCCSCSSSCCCSCSSCSSCCSCCSSCCSCSCCSCSCSCCCCCCCSSCCCSSCCSSSCCSSSCCSSCSSSCCSCCCCCSSCCSCCSCCCCSCSCSSSCCSCCCCCSCCSSCSSCCSCCSSSSCSCSSSCCCCCSCCCSSSCSSCCSSSCCCSSSSCSSCSCSSCCSCSCCCSCSSCCSSCSSSCCSSCSCCCCCCCSSCCCSSSCSSSSCSSCCCCCCCCSSSSSSCSCSSCCCSSSSCSCSCCSSCSSSSSSCCCCCSSSCSCSCSSSSCSSCSSCCSCSCCSSSSCCSCCCCSCSSCSCSSSCSCCSCCCCSCCSCSCSSCSCCCCCCSSSSCCCSCCCCSCCSSSSSCSSCCCSSSCSCSSSSCCSSCCCSSSSSCSSCSCCCSSSCCSCSCCSSCCCSSSCCSCSSSSSCSSSCCCCCCSSCCSSCSCSSSCCSCCSSSSCSSCCSSCSCCSSSCSSCSSCSCSCSSSSSSSSCSCSSCSSCCCSCCCCCSCCCSCCSSSSSSSCSSCCCCCSCSSCSSSCCCSCSSSSCSCSSSCSCCCCCSCSSCCCCCSSCSSSCCSSSSCSCCCCCCSCCSSSCSSSSCCSSCSSSSCCSSCCSSCCCSCCCSCSCCSSSCSCCSSSCSCCCSSSCCCCSCSCSCCCCSCCSCSSSCSSSSSSSSCCCCCSCSCSSSCCCCSSSCSCSSCSCSCSCCSCSCSCCSSCSCSCCSCCSCSCSSCCSCSSCSSCCCCCCCSCSCSSCCCSSCSCSSSCCSSSCCSSCCCSSCCSSCCCCCCCCCSSCCCCCSCSSSSSSCCSSSCSSCSCSCSSSSSSCSCCCSSCSCSSSCSCSCSCCCSCCCCSCCSCCSCCSSCCSSCSSCCCCSCSSSCCCCSCSSSSCCSSCSSSCSCCCSCCSSCSCSSSCSCCSSCCCCCCSCCCSCSSCCSSSCCCCSSSCSCCCSSCCCSCSCCCSCSSCCCSSCSSCSCSSCSSCCSSCSSSSSCSSSCCCSCCSCSSSSSSCCSCSCSCCSSCSSSCSSCCCSCCSCCCCCCSSCCSCSCCSCCCSCSCCSCSCCSSCCSSSSSCSCSSSCSSSSCCSSCSSSCCSSSSSCCSSCCSSSSCSCCSCSSCSCSSCCCSSSCSCCSCSSCSCCCCCSSCCSSSCCSSSSSSCCCCSSSSCSSSCCCSCCCSSCSSCCSCCCSSSCCSSSSCCSSCCCSSCCCCSSCCSSCCCCCCSSCCSCCSSSSSSSSSCSSSCSSSSSCSCCSCCCCSSCCSCSSCCSSCCSCCSCSCCCCSSSCCSCCCSCSCCSCCCSCSSSSSSCCSSSSSSCSCCSCSCCSSSCCCCSCSCCCSCSSCSSCSCCSSCSSCCSSSCSCSSCCSCCCSCCCCCCCCSCSCSSSCSCCSCSCSCSSSSCSSCCSSSSCSCSCCCSSSCCSCSCSCSSCSSCCSSCSSCSCCCSCSSCSCSCSSCSCSCCSSSSSSSCSSCCSSSSSCCCSSSSCCCCCSSSCCSCSCCSSCSCSCSCCSCSCCSSSCSSCCSSCCCCCCSCCSSCSSCCSSCCCCCSSSSSSCSCSSCCCCCCSSCCCSCSCSCSSCSCCSSSSCCSCCCSCSSSCCCSSCSSCCCCSCSSSCCCCSSCCCSCCCSCSSSSSSSCCCCCSSSSSCSSCSCCSSCCSSSSCSCSCCSSSCSSCCCCSSSSSSCCSSCCSSCCSSSSSCCCCSSSSCSCSCCCCSCSSCSCSCSCSCCSSCSCCSSSCSSCCSCCCCSCSSSCCCCSSSSSCSSSSCCCCCCCCCSSSSSCCSCCCCCSCCCCSSSSCCCSCSSCCCSCSCSCSCCSCCSSSCCSSCCSSSCCCCCSSCCSSCCCSSCSCSSCCSSSSCCSCCSCCSSCCSSSSSCSSSSSCSCSCSCSSCCSSCSSCCSCCSCSSCSCCSSSCCCCSSCCCSSSCCSCCSSSCCSCCCSSCCSCSCCSSSCCSSSCSSSCSCCCCCSSCCCSCSSCSCCSSCSSCSSSCCCCSCCSCSSCSSSCSCCSSSSCCCSSSCCCSCSSSSCSCSSSCSCCSCCCSSSSSCSCSCSSSSCSSCCCSSSSCCSCCCSCSCCCCSSCSSCSSSCSCSCSCSCCCSSCSSSSSSSSCSSSSSCCSSCSCCSSSCCSSSCSCSCCSCCSSCSSSSSCSSSSSCSCCSSCCSCSCSCSCSCCCSSSSCCSCSSSSSCSCCCCSCCCCSSSSCCSSCCSCCCCSSSSSSCSSCCCCSSCSCCCCSCSCCCCSCCSSSCCCCSCSSCCSSCCCSSSSCSSSSCCSSSSSCSCSCSSSCSSSSCSSSSSSCSCSCCCSSCSCSCSCSSSCSCCSSSSSCSSSSCCCSSCSSCCCCSSCCCCCSCSCSSCSSSSSCCSCSSCSSCSCSCSCSCSCSSSCSCCSCSCCSSCSCCSCCSCCSCCSCCSCSCSCSCCSSCCSSCCCSSCSSCSSCCCSCSSCCSCCSCSCSCCCSSCCSCCSCSCCCSSSCSSSCSSSSSSSSCSSCCCCCSCCCCCSCSSCSCSCCCSCSSSCSSCCCCCCCCSCSSSCCSSSSSCCSSCSCCCSCSSCCCCCCSSCSCCSSSCSCSSSCSCCCCCCSCSSCSSSSCSSSSSSSCSSCCSSCCSCCCSCSCCSSSCCSCSSCCCCSSSCCSCSCSCSCCCCCCCSSSSCCSCSSCCCSCSSSCCCSCCSSCSSCSCCCSSCSSCCSCCSSCCSSCCSCSCSCSCCCSCCCSSSCSSCCSSSSSCSSCCCCCCSSSCCCCSCCSSSCCCSSSCSCCSCCCSCCCCCSCSSCCCSCSSCSSSCSSCSCSCCCCCCSCSCCSSCCCSCCSCSCCCCCSSSSCSSSSSCCCSCSCSCSSSCSCSSCSSCCSSSSSCCSSSCCSSCCCSCSCCCSCCSCCSSCSCCSCCSCSSCCCSSSSSSCSCCSCSSSCSCCSSSSSSSSCCSSCCCCCCSCCSCCSCCSSCSCCSSCCSCSSSCCSCCSCCCCCCCCSCCSCSSCSSCCSCSCCCCCCSSCSSSSSSCCCCSCSCCSCSCCSSSCCSCCCSCCSSSSCCSSCCSCCCSSSCSCCCCCCSSSCSSSSCSSCSCCSSSCCCSCSCCSCSSSSSCCCSCCCSSCSCSCCSCCCSCCSCSSCSCSCCCCSSSCCSSCCSSSSSCSSSSSSSCCSCCCSCCSSCSSSCSCCSSSSCCCCCCSCSSSCCSCCCSCCSSCCSSCSCCCSCSSSSSCSSSSCSSSSSCSSSCSCCCSSCCSCSSSCSSCSSSSSCSCCCCSCSSSSCCSSSCSSSSSSCSSSSCSSCCSCSCCSCCSSCCSSSSSCCSSSSSCSSCCSSSSCSSSSCCCSSCCSCCCCSCCCSSCSSCSSCCSCCCCCCSCSCCCSSCSSCSCSCSCCCCSSCCCCCSCSCSCCCSSSSCCSCSCCCSCCSCCCCCSSSCSSSSSCSSCSSCSCSSSSCCCCSCCCSCCCSCSCSCCCSCCSSSSCCSCSCSCSSCSCSSCCCSSCCSCCSCCCCCSSCSCSSCCCSSSSSCSSSSSCCSSSSCCSSCCSCSCSSCSSSCCSSCSCCSCCCCSSSCCCSCCSSSSSSCSSSSCSCCCCSSSCCCCSCSSSCSSCCSCCSCSSCSCCCSSCCCCCCCCSSSSSSSSSCCSSSSCCCCSCCSSCSSCCCCCCCCSSCCSSSSCCCSSSSCCSCSCCCCSSCSCCSSSCCSCSCCCSSCSCSCCCSCSSCSSCSCCCSSSSCCSCCSSCCCCSCSCCSCCCSSSSCSCSCSCSSSCSCSSSSCSCSCCSCSCCSCCCSCCCCCCCCCSCCSCCSSCSCSCCSSCSCCSCSCCCCCSCCCCSSSCCCSCCSSCSCSCCSCSCSSCCCCCCSSSCCSSSCSCCSCSSCCCSCSSCSSSSSSCCCCCSCSCCCCSSCSCCCSSCSSCCCCCCSCCCCSSCCSSCCCCSSCCCCSSCSSCCCSSCCCCCCCCSSCSCSCSCCCSCSSCSSSCCCCCCCSSCCSCSSSSSSSCCCSCSCCSSSCCSSCCSSSSSCCSSSSCCCSCSSCCCSCSSSSCCSSCCSCSSCSCSCSSCSCSSCSCCCSSCCCSCSCCSSSSSSSSSCSSCSCSCCSSCCCSCCSCSCSSCSCCCCCCCCSSSSSSSSCCCSSCSSSSCCSSCCSCCCCSSCSSCCCSCSCSSCSCSCCSCCCCSCSCCSCCSCCCCSCCCSSCCSCSSSCSSCCSSSSSCCSCCCSCSSCSSCSSCCCSSCCCSCCCSSCSCCCSSSSCCCCSCCSCCSCSCCSSCSCCSCCSSCCCSCSSCCCCCCSCSSCCCCSSSSCCCCSCSCCCCCCCSSCSSCSCCCCCSSCSCCSSCSCCCSSCSCCCSCCCSSSCCCSCSCSCCSSSSCCCCCSSCSCSSSCSCCSCCCSCCSSSSCSCCSSCSCSCSCSCSSCSSCSCCSCSSCSSCCCSSCSSSSCSCSCSSCSCSSCCCCSCCSSSCSSSSCCCSSCCCCSSSSCSCSCSSSCSSCSSCSCSSSSSSCSCCCCCCCSCSCSSSSCCSSSCCSCSSSSCSSSCCSSCSCCSSSSSCSSCCSCCCSSCCCSSCSCCCCSSCSCCCSCCCSCSCSSCCSSSSCCCCSCSSCSCCSCCCSCCCSCCCSCSCCCCSCCSCCCSCCSSCCCCSSCCSSCSSCCCCSCSSCCSCCCSCSSCCSSCSCCCSSSSSCSCSSSCSCCSCCCCSCCCSCCSSCCCSCSSSCSSSCCCCSCCCCCCSCCCSCCSSCCCSCCCCSCCCCCCCSCSCSCCSSSSCCSSSCSSCSSSCCCCSSCSSCCSSCCSCCCCCCSSSCCCCSSSCCCCCCSCSSSSCCCSSSSCCSCSSSSCCCSCSSCSCCSSCSSSSSCSSSSCSSCCCCCSCCSCSSCCCCCSSSSCSSCCSSCCSSCSCSCCSCCSSCSSCCSSSCCCSCSCCSCSCSCSCCCCSSCSSSSCCSCSCCSSCSCSSCCCSSSCCSSSCCCCCCCCSCSSCSSCCSCSSCCCSSCSSCSSCCCSCCSCCCSCCCCCCSCSSCCCCCSSSSSSSCCSCCCCSCSCSSCCSCCSSCSSCCSCCCSSSCCCSCCCSCSCSCSCSSSCSSSSCCSSCSSSSSSSCCSSSSCCSCCSCSCSCCCSCSSCCCSSSCCCSCSCCSCSSSSSCSCSSCSCCSSSCSCSSCSCSSSSCCCSSCSSCSCSSSCSCSCCSCCSSSCSCSCSSSCCCSCSSCCSSCCCSCCSSCSCSSSCCSCCCCSCCSCCSCCCSCSSCCCSCCCSSCSSSCCSSSSCSCSCSSSCCCSSSSSCCSSSSCSSCSSCCCCSSSSSSSCCSSCSCCSCSCSSSCCSCSSSCCCSSSCSCCCCCSCSCSSCSSSSSCCCCSCSCSSCCCSCSCSCSSCSSCSCSSCCCCSCCCSSSSCSSSCCSCCSSSCSSCCCCSSCCSSSSSCCSSSSSSCSCCSCCCSSCSCCCCCCSCCCCSSSSCSCSSCSSSCSCCCSSCSSCCSSSSCCSSCSSSSCCSCSCCCSSCSCSSSSCSSCCCCSSCCSSCCCCCCSCSCCCCSSCCSSSCSCSSSCCCSCSSCSCCCCCSCCCCCSCCSCCSCCSSCCCCCSSCCSSCCSCSSCCSCSSCSCSCSCCSSCCCSSSSSCSSSCSCCCSCCCCCCCSSCCCCCCCSCSSCCSCCCCSSSCCSCSCSSSCCCSCSCCCCSSSSCSSCCCSCSCSSSSSCCCCSSSSSSSSCCSSSSCSSCCCSCSSCSCSCCCSCSSCSCCCSSCCSCSSCSSCSCSCSSCCSSCSCCCCSSCCSSCSCSSSCCSSSCCSCCSCCSSSCSSCSCSSSSCSSCSCSCCSCCSCSSSCCSSSSCSCCSCSCCSSCSCCCCSCSCSCCSSCSSCCCCCCCCSCSSCCCSSCSSSCCCSSSSSCCCCSSCCCCSSCSCCSSCSCSCCCCSSSSSSCSSCSCCCCSCCSCSCCCCSSSSCCCCSSSSCSSCCSSSCSCCSCSSCSCCCCCCCSSSSCSSSSSCSCSSCCCCCSCCCSSCCCSSSCCCCCCCCCSSCCSSSCSSCCSCSCSSCSSCSSCCCSSCCCCCCSCCSSCCSSSSSCCSSSSSSSCCCSSSSCSCCCSCCSCSSCSCCSSSSSSCSSSSSSCCSCCSSSCCSSSCSCSSCCSSSCCSSCSSCSCSSCCCCSCSSCCCCSCCSCSCSSCSCSSCCCSSSSSSCSCCCSSCCCCCSSSCSSCCCSCSCCCCCCCCCSSCCCCSCSCCSSCSSSCCCSCCSSSCSCCCCCCCCSCCSSSCSCSCCCCCCCSCCSSSSCSCSSCCCCSSSCCSCSSSSSSSCCCSSCSCSSSCCCCSSCCSCCSSSCSCSCCCSCSCCCCSCSCSCCSCCSSCSCSCSSCCCCSSSCCSSSSSCCSCCCSCCCSSSSCSSCSSSSSSSSSSCSCCCSSSSCSSSCSSCCSSCCCSCSSCSSSSSSCCCSCCSCSCSCSSCSSCSCCCCCCSSCCSCSSSSCCSSSCCSSSSSSSSSSCSSSCSCSCCCCCCCCCSSSCSCCCCCCSCSCCSSSSCCSSCSCSSSSCCCCCSCSCSCSCSSSSCSCSCSSSSSCSCSSSSCSSSCCCSSSSCSCSSSSCSSCCCSCCCCSCSCCSCCCCSCSSCCCCSCCCSCSSSSSSCCCCCCSCCCSCSSSCSSSCCSSSSCCCCCCCCCSSCSCCSCSSSCCCSSCSSCSCCCSCCSCCCSCSCCCSSCCCCCSSSSSCCCCSSCCCSSSSCCCCCCCCSCSCCSCSCSCSSCSCSSSCCCCSSSCSCCCSCSCCCSSSSCCCCCCCSSCSCCSCSSSCSCSSSCSCSSCCCCSCSCSCCCCSCCCSSCCCSSSCSSCSCCCSCCSCSSCCSCCCCCCSSCCCCCSSSSSSSSCSCCCSCCCCCSSCSCCCSSCSSSSCSCSSCSSCSSCCSCCSCSCCSSSSSCCSCSCCCSSCSSSSSCSSCSSSCSSCSCCSCSCCSCSCSCCCCSCSSSSSSSSCCSCSSCCCSSCCSCSCSSSSCSCSCCCSCSCCCCCSCCSSCSSSSSCCSCSSSSCSSCCSCCCSCSSSCSCCCSSCSSSSSCSCSCCCSSSCCSCSCCCCCSSCCSCCCSCSSCSSSCSCSCSCCCSCSSSSCSCSSSSSSSSCCCSSSCSCSSSCSSSSSSSSSSCCCCSCCCSSCSCCCSSCSCSCCSCCCCSSSCCCSCCCSSSCSSCCSCSCSCCCCCCCSCSCCSSCCSCCCCCCCSCSCSCCSSCSSSSCCSCSCSCSCSSCCSSCCCSSCCSSSSSSCCSCSCCSCCSCCCCSCCSCCSCCSCCCCCSSSSSSSSSCCSSCCSCCSSSSCCSSSSSSCSSSSCCCCCCSCCSSCCCSCCSCSCSCSSCCCCSSSCCCCSSCCSSSCSCSCCCCCSCSSSSCSSSSSSCCCSCCCSCSCCSSSSCSCSSSCCCSSSSSSCSSSCCCSSCSSCCSSSSCSSCSSSCCSSSCSSCCCCSCCSSSSSCCSCCSSSSSSCCSSCSSSCSCCCCSCCSCCCSCCSCCSCSSCSSSSCCCSCCSSCSSCSSCSSSCCCSCSCSSSSSCSSCCSCSCCSSSSSSSCCCCSCSCCCSSCCCCCCCSSSSSSSSSCCSCSCSSSSCCCCSCSCCCSSSSSCCSSSCSCSSCSCSCCSSSCCSCSSCCCCSSSCSSCSCSCSCSCCCCCSSCCCSCCSCSCCSCSSSSCSSCSCCSCSCSSCSSSCCSCCCSSSSSCCCCSSCCSSSSSCSSSSCCSCSCCSCSCCCSCCSSCCCSCCCSCCCSSSSSCCCCSSSCCCCSCSSSCCSSSCSSCCSCCCCSSCSCSSSCSSSSSCSCCCSCSSCCCCCCCCCCCCCCCSCCCCCSCCSCSSCSSCSSCCCSSSCSCSSSSCSSSCSSSSCSCSCCSCCCCSSSSCSSCCSCCCSCSCCCSSSCCCSCSSSSSCSSSSCCCCSSCCCSSCCCCCCSCCSCCSCSSSSCSSSSSCSCSCSSCSSCSCSSSCCSSSSSSCSSCCCSCCCCCSSCSSSSSSCCSCCSSCCSCCSCCCCCSSSCSCSCCCSCSSCCCCCSSCCSCCSCCCCSCCSCCCCCCSCCSCCSSSCSCSSCSSCSSSSSSCSSCCCSSSCCCCSSSSSCSCSCSCCCCCCCSSCSSSCCCCSCCSCSSSCSSCSCCCCCSCCCSSCSSCCCSCCCSSCSCSSCCSSSSSCCSSSSCCCCCCSCSCSCCCCCSSCCSCSCCCSCSCCCSSSCSSCSSCCSSSSCCSCSSSSCCCCSCSSCCSCSSCSSSSSSCSCCCSCSCCSSSCSCCCSSCCSSCSCSSCSSCCSCSCSSCSCCCSSCSSCSSSCSSSSCSSSSSCSSSSSSSCSCCCCCSSSCCCCSCCSCCSSSCSCCSSCCSSCSSCCCCCSCSCCCCCCSCCSCCSCSSSSCSSSCSCSSSCCCSSSSSSCCCCSCSSCSSCSCSSCCSSCCSSCSCCSCCCCSSSSCCSSSCSSCSSCCCSCCCSSSSSSSCSCCCCSSCCSSCCCCCSCSSCCCCCCSCCCSCCSSCCCSCSSSCCSSSCSCCSCSCCCSCSCSSCCSCSCCCSSSSSSCCCSCSCCCSCCSCCSSSCCSSCSCCCCCCCSSSSSSSCCSCCSCSSSSSSCCSCSSSCCCCSCSCCCSCSSCSSSCSSSCSSSCSSSCSSCSCCCSSCCSSCSSSSSSCCCCCCCCCSCCCSCSCCSSSSCSSCSCCCCSSCCSSCSCCSSCSSCSCCSSCCSSCSSCSSSSCCSCCCSSCSCSSSSCSSSSSSSCSSSSCCSSSCCCCCCSSSCCSSSCCCCSCCCSCSCCSSCCSSSSCSSSCSCSCCCSSCCCCSSSSSSCSSCSSSSSCSSCCCSCCSCCCCSCSCSCCSSCCCCCSSSCSSSSCCSSSSCSCSSCSSSSCCCSSCSSSSSCSSSSCSSCSCSCSSSCSCSCSCSCCCSSSCCCSCSSCSSCSCCCCCSCSCSCSSSCSCSCCCSSCCCSCSSCCSSSCSCSCCCCSSSCCSCSSSSSCSCCSCSSCSSSSSCCSCCSCSSSSSSSSCCCCSCSCCCCCCSCSCSSCSSCSCCCCCCSCCSCSSSCCSCCCSCCSCCSSCSSSCSSCSSSSCSCSSCSCSSCCCSSCSSCCSSCSSCCSCCCCCSCCSSCCCSCCCCCSCCSSSSSSSSSSCSCSCSCSSCCCSSCCCSSSSCCSSCCSSSCCCSSSCCCCCSCSCCCCSCSSCSCCSSSCSCSCSCSCSSCCSCSCCCSSCSSSSCCCSSSCCSCSSSSCCCCCSSSCSSCCSSSSSCSCCSCCSCCSSCSSSCCSSCSSSCSSSSCCSSSSCSCCSCSCSSCCCSSCSSSCCCSSCCCCCCCCSSCCCSSCSSSSSSSSCCSSSCSSSSSCCSSSSCCSCSCCSCCSCCSCCSSSSCSCSCCSSCSSSSSCSCCCSSSSSSSCCCSSCSSCSSCSSSCSCSCSCCCCSCSCCSSSCSSSSCSCSCSCCCCSCSSCSCSSCCSSCSCCSSCCSCCSSSSSCSSSCCCSSSSSCCSCSCCSSCCSCSCCCCCSSSCSSSSCCCSCSSCSCCCSSSSCSCSSCCCCCSSCSSSCCSCCCCCSSCCSCCSSSSCCSCSCSCCCSSSSCCSCSSSSSCCSCCSCSCSCCSCCCSCCSCSCCCSSSSCCSSSCCSCSCCSSCCCCSCSCCCSCCSSSSSSCCSSSCSCCCCSCCSCSSSCSSCCCSSSCCCCSCSCSSCCCCCCSSCCCSCSCCSSSCCCCCSCSSCCSSCCSSCSSSSCCCCCSCSSSCCCCSCCSCSSSCCCSCCSCSCCCCSCCCCCSSSCCSSSSCCCSCSSSSSCSSSSCSSCCSSSCCCSCSSCSCCSCSSSSCSCCCSSSSCCSCCSCSCCSSSCSCCSCCSCCCCSCCCSSCCCSSSSCCCCCCSSSSSSSCSCCSCSSCSCCCCCCCSCSCSCSSCSCCSCSCCCSSCSSCSCSSSSSSCSSCSCSSCSCSSSCSCCSSSCSCCCCSSCSCCCSSSCSSCCSCCCCCSCSCCCSSSSSSSCCSCSSSCCCCSCSCCSSCSCSSCSSCSCCCCCCCSCCCCCSSSSCSSSCSSCCSSCSCCSCSCCCCSCSCCCSCCSCSCCSSCSCSSCCCSCCCCCSCCSCCSCCCCCSCSSCSCSCCCSSCSSCSSCCCSCCSSCSSSSSSSSCCCSSSCCSCCSSSSCSCSSSCCCCSCSSCSCSSCCSSCCSSSSCSCSSCSCSSSSSSSSSSSSCSCCSCSCSSCSCCCCSSCCSSSCSSCSCCCSSCCCSSCSSCSSCSSSCCCCCCCSCCSCCSSCCSSSSCSCSSCSCCSSSCSCSSSSCCCCCSSCSSSCCCCCSCCCSSSCSSSCSSSSCSSSCCCCSSCCCSCCCCSCCSCSCCCCCSCSCCSSCCSSCCCSSCCSCCCSCCCSCCSCCSCSSCCCSCCCSCCCSSSSCSSSCSSSCCSSCCCSCSSCCSSCCSCSSSSCCCCCCSSSCSSCSCCCCCSCCCCSCSCSCCSCSSCCSCSSSCCSCCCCSSCCSCSSCSCSCCCCSCCSCCSCCSCSSCSCSSSCSCCCSCCCSSSCSSSCCCCSCCCCCSCCSCSCSSSSCSSCCCCSSCSCSSSCSSCSCSCSCCSCSSSCSSCSSCSSSCSCCSCSSSSSSSSCSSSSCCSCSSCCSCSCCCCCSCCCSCCSCCCSCSSSCSSSCCCSCSSSCCCSCCCCSSCCSSSCCSCSSCSSCCCCSCSCSCCCCCSCCCSSCCSSCCSCSSCCSSSSCCCSSCSCCCCCSCSSSSSSSSSCCSCSCSSSCSSSCCCSSCCCCCCCCSCSCCCCCSCSCCCCSCCSSSSCSSSCSSSCCSCCCSSCCCCCCSSSCCSCCSCSCSCCSCSCCSCCSCSSCCSCCSSSCCSCCSSCCSCSSCSSCCSSCSCSSCSCCCCCSCCSSSCCSSCCSCCCCSCCCSCCCSSSCCSSCSCSSSSCCCSSSCSCCSSSSSCSCCSCSCCSCCSCSSSSSCCSCCCSSSCCSCCSCCSSSCCCSCSCCCSCCCCSSCCCCSSCCSCCSCCCCSCCCSCCCCSCCSSSSSSCCCCCSCCCCSCSSCSSCSCSSSCSCSSCSCSSSSSCSCSCCCSSSSCCSSCSSCSCSCSCCSSCSCCSSCCSSCCSSCSCCCSSCSCSCSCSSCSSCSCSCCSSCSCSCCCCCCCSSCSSSSSSCCSCSCCSSCCSCSSCCCCSSSCCSCCSSCCSCCSSSSCCCCCCSSSSCSSSCCCCSCSSCSCSCSCSSCCSSSSCCSSSSCCSSSSCSCCCSSSSSSSSCSCCSSCCCCSCCCCCCCSCCCSSSSSSSSCSCSSSSSSSCSCSSCSCCSCCSCSSCCSSCCCCSCCSCCCSCCSCSCCSCSSSSCCSCCSCCSCSCCCSCSCCSCSCSCSCSCSSSCCSSSSSCSCSSSCCSCSCCSSCCSCCCSCCSCCCSSCSSCCCCCSSSSCCSSSCSSCSCSCCCSCSCSCCCCCCSSSCSSSCSSSCCSCCCCSCSSSCSCCSCCCCSSSCSCSCSSSCSCCSCSCSCCSSCSSSCSSCCCCCSSSCSSSCCCSCCSSSSSSSCSCCSCCSSCCSCCCCCSSSSCSSCCSSCSSSSSCSSSCSCSCSSSSCCCCSCSSSCSCCSSSSSSCSSSSSSSCSSSSCSCSSSCSCCCSSCCSSSCSCSCCCCCCCCCCSSSSCCCCSSSSSCCSSCCCCCCSSCCSSCSSCSCSCSCCCCSSCSSSCSSSSSSSSSSCSSCSCSSSSSSSCSSCCSCSSCSSCSCSCSSSCSCSCCSSCCSSSCSCCSCCCSSSSCSCCCSSCSCSSCSSCCCCCCSCSSCSSSCSSSCSCCSCSSSCSSCSCSCSCCCCSCSCSCCSCSSCCCSSSSSSCCCSSSCCSSCSCSCSCCCCCCCSCSSSSSCSSSSCCCSCCCSCSCSCCSCCCSSSCSCCCCCCCCCCSCSSCCSSCSCCCSCSSCSCCCSSCCSSSSSCSSSCSSCCCSSCSSCSCCSCCCSCCSSSCCSSCSSCSSSSSSCSSSCCCSCSCCSSSSCSSSCSSSCCCSCSCSSCCCSSCCCSCSSCCCSSSCSSSSCSCSSCCSSSSCCSSCSCCSCSSCSSSSCSSCSSCCSCCCSCSCSSCSCSSCCCSSCCCCCSSSSSCCSCSCSCCSSSSCCSSSCCSCCCCCCCCSCSSCCCSCCSCCCSCSCCSSCSCSSCSSSSSCCCCCCCCSCCCSCSSSCCSSCCCCSCCSSSSCCSSSSSSSSSCCSCSCCSSCSCSSCSSCCSSCSCCSCCSSCSSSCSSSSCCSSCCCSSCCSCSSCSCCCSSCCCSSSCSSSSSCCCCCCCSCCSSCCCCSCCCSCSSSCSSCSSCCCCSCSCSCCCCSCCCCCCCCSSCSSCCCSCSCSCSSSSCSCSSCSCSCSSCCCSSCCSSCCCSCSSSSCSSSCCSSCSCSSSCSSCCCCSCCSCCSCCCSSCSCSSSCSSCSSSCCSSCCCCSCSCSSCSSCCSCSCSCCCSCCCCCSCCCCSCSSCSCSSSSSCCCCCSSCSSSSCSCCSCCCSSSCSCCSSSSCCSCCSSCSCSCCCCSCSSSCCCCSSCCCCSCCSSSCSSCSSSCSSCCCSCCCSCSSCSCSSCSCCCSCSSCSSCSSSSSCSCCCCSSSCSSCSCCSCSSCCSCSCSCCCCSCCSCSCSSCCSCSSSSSCSCSSSSCSCSCCCSSCSCCSCCCCCCCCCCCCCSSSSCCSSSCSCSCCSCCSSSCSSCSSCSSSSCSSCSCCCSCSCSCSSSCCSCSSSSSCCSCCCCSCSSCSSSSCCCCSCCSSCSSSSCCSCCSCSCSSSCCCCCSCSCSSSSSCCCSCCCSSSCCSCCSCCCCCCCCCSSSCSCSSCCSSSSCCCCSCSCCCCCCSSSSSSCCSSSSSCSCSCSCSSCCSSSCCCCSCSSSSSCCSSSCCCSSSCCSSCSSSCSCSCSSSSSSSCSCCCCSCSSCCSSCSCCCCCCSCCSCCSCCSSCSCSCSSCCCCCSCCSCCCSCCCCCCCCCCSSSCCCSSCCCSCSCSCSSSSCSSSCCCSSSCSSCSSSSSSCSSCCSSSCSCCSSCSSSCSCSSSSCCCSCSCSSSCSCSCCSSSSCCSSSSSCSSSSCCCCSSSSCSCSSCCSSCSSSCSSCSSCSCSCSCSSCSCSCCSSSSSSSSSSCSSSSCSCSSCSSCCSCSCCCCCSSSSCSSSSSSCSSCSCCSSCCSSCSSSCSSSCSCSSCCCSCSCCCCCSSSCCCCCCCSCCSCCSSCSSCCCSSCSCSSCCCCSSCSSCCSSSSCCSSCCCSSCCCSCCSCSCSSSSSSCCCCSCCCCSCSCSCSSSCCCCCCCCSCCCCSSCSSSCSSSSCSCSCCCCSSCSSSSCCSCCCSCSSCSCCSSSCCCSSCCCSCCCCCSCSSSCSCCCCCSCCCCSSSCCCSCSSSSSCCCCSSSCSCCCCSSCSCCSSCSCCSSCCCCCSCSCSSSCSCSCCSSSCCCCCSSCSCCCCCSCSCSSCCCSSCSSSSCSCSSSCCCSSCCSSCSSCSCSSCSSCCSCSCSCCCCCCCSSCSSCSSSSCSSCCSSSCSCSCCCCCSCSSCCCSSCCCSSCSCSSSSSCSSSSSSSCCCCSCSSSCCSSCSCSCCSCCCSSCCCSCCCSSCSCCSCSSCCCSCCSCSSSSSSSSSCCCCSCCCCCCSSCSSSSSSSCCCSCCSSSCCSCCCSCCCCCCSCSCCSSCCCSCCCSSSCSSCCCSCSCSSCSCSCSSCSSCCCSSCSSCCCCSCCCSSSSCSCSCSSCSCCSSSSCSSSSCCSCCCSCCCCCCSSSSCCCSCCSSCCSSCCSCCSSSCCSCSSSSSCSSSSSSCCCCSCCSCCSSCCSSSCCSSSCCSSCCSCCCSCCSSSCSSSCSCCSSCSSCSSSSCCSCSCSSSCSSCCCCSCSCCSCSSCCCSCSCCSSCCSSCSSSCCSSCSSCSCCCCSSSCCSSCSCSCSSSCCCSCSCCCSSCCSCSSSSSSCCSSSSCSCSCSSCCCCSSCSCCCSSSCSSCSCSCCCCSSCCCSSSCCSCSCCCCSSCCCCSCSCSSCCSCSCCSSCSCSCCSSCSCSSCCCSCCSCSCSSCCCSSSCCSSSCSCSSCCCCCSCSCSSCCCSCSSCSSSCCSSCCSSSCSSCSSCSCSCSSSSCSSSCSSSSSCSCSCCSSCSSSSSCCSSSSSCCCSCSSCSSCSCSCSCSCCSSSCCSSSSCCSCSCSCCCSSSCSSSSSSCSCCSCCCSSSSCSCCSCSSCSSSSCCCSCCSCSSSCSSSCSCCSSCSSSSCSCCSSSCSCCCSSSSSCCSCSSCSCSSSCCSSSSCCSSCCSSCSCSCCCSCCCCSCCCCCSCCSSSCSSSCCSCCSSSSCCCSSSSSCCSCSCCSCSSSCCCCCCCCCSSSCSSCCSSCCCSSSCCSCSSCSSSSCSCCCSCSSCCCSCCCSSCSCCSCSSCCSCCSSSSSSSCCCSCSCSSSCSSCCCSSSSSCCCSSSCSSSCSSSCSSCSSCSCSCSCSSSSSSSCSSSCCCSCSCCCSSCSCCCCCCSSSCCCSCCCSCSSCSCCSSCSSSSCCSCCSCSCCSSSSSSCSCCCSCSCCSSSCSSCSCSCSSSCCSCCSSCSSSSSSCSSCSCSCSSSSCSSSSSCSCCCSSSCSSSCCCSSSCSSCCCCCSCSSSCSCCSSCCCSSSSSCCCSCCCCCCCCCSCCSSCCSCSCSSSSSCSSSSCCCSSSCCCCCSCCCSSSCCSCSSCSSSSCSCCSCCSCCSSCSSSSCCSCCCCCCCSCSCSCCCSSSSCCCCSSCSCCSCCSSCSSCSCSSCSSSCSSCSSCSCSCCSCCSSCSCSCSCCCSSSSCCCCCCCSSCCCSSCSCCSCCSSSSCCSSSSSSSCCCSCSCCCSSCSSSSSSCCSCCSCSSCSCCSCCCSCCSSCCCSCSCCSCCSCSSSCSCCSSCCSCCCCCSCCSSCCCCSCSCSSSCCCSSCCCCSSCSSSCCSSCSSCSSCCSSCSCSCSSSCCCSSCCCSSSSCSSSSCSSCSSCCCCSSCSSSSCSCSSSCSCCCCCSCCSCCCSSCSSSSSCCCCSCSSCCCCSCCCSSCSSSCSSSSCSCSSCSCCSCSCCCCSCCSSSCSSSSCCCCCSCSCCSCSSSCSCCCCSSCSSSCSCSCCCSCSSCCSCSSSSSCCCSSSCSCCSSSSSCSSCSCCSCSCSSCSSSSSSCSCSCCCCSSCCSCCCSSCSSSCSSCSSSSSSCCCSSSSSSSCCCCCCCSCCSSCSCCSCSCSCCSCSCSSCSCCSSCCSSCSCSSCCSSCCSSCCSCCCCCSCCCSSSSSSCSSSSSCSSCCSSCCSCCSCCCSCCCSCSCCSCCCCSCSSCSCCSCCSSSCCCSSSCSSCCCCCSCCSSCSSSSCCCSCCSSSSSCSCSSSSSSCCSCSSSSCSSSSCCSSSCCSSSSCCCCCSSCSCSCCCSCCSSCSCCCCCSCSCCSCSSCCSCCCSCSSCSCCSCSCCCSSCCCSSSSCSSSSSSSSCCCSCCCCCSCCSCSSSSCSCCSCCCCSSCSCSCSSCCSSCCSSCCSSSSSSSCSCCCCCSSSCCSCCCCSCSCSCCSCSCSCSSSCSSSSCSCSCCSCCSSSSCCCSSSCCSSCCCSCCSSCCSCCSSSCSCCSSCSSCSCCSCSSCCCCCCSCSCSCCSCSSSCSCSCCSCCCSCSCCSCSCCCSSSCSCCSSCSSCSCSCSSCCSSCSCSSSCCSCCCCCCCCSCCSSSSCSCSSCSSSSCSSSCCSSCSSSCSSCSCSSCCSCSSSSCSCSCSSSSSSSSSCCCSCSSSCCCSSSCSCCCCCSSCCSCCCSCSSSCCSSCCCSSCCCSCSCSSSSSSSSCCSSSSSCCSSCCCSSCCSSCSSCCSCCSCSCSSSCSCCCCCSSCSCCSCCCCSSCSSSSSCCCCCSSSCCSCCSSSCSCSCCSCSCCCSSCSCCCSCCCCSCSCSCCCSSCCCCSSSSSCCCCSCSCCCSSSCSCCCCSSSCCSSCCCSSCCSCCCCSSSSSCCSCSCSCSCCCCSCSSSCCSSSCCSCSCSSCSCCCCCSSSSSSSCCCSCSCCCCCCSSSSCSSSSCCSSSCCCCSSSSCCSSCSCCCCSSSCCCCSCCCSSCSSCSSCCCSCSCCCSCSCCSCCCSCSSCCCSCSSCCCSCCCCSCSCSCSCCSSSSCCCCCSSSCSCSSCCSCCCCSSCCSSCSCSCSSSCSCSCCSSCCCCCCCCSSCSCCCSCCSCSCCSCSSSCSCCCSSCSCSSSCCCSSCCCCSSSSSCCSCCSSCSSCSCSCSCCSSSSSCSCCSCCSCCCSCCSCCSCSCCCCSCCCCSCCSSSSSSCSCCCSSCSSCCCCCCCSCCSCCCCSSSCSCSSCCSSCCCCCCSCCCSSCSCSSCCSCSCCSSCSCSCCSSCCSCSCSCSSSCSCCSSCSCCCCCSCCCCCSSSCSCSCCCSSSCSCSCCCSSSSCSCCCCSSSSSCSSSCSSSCSCCSSCSSCSSSCCCCCCSCCSCSCCCCSSCCSSCCCSCCSCCCCSSCSCSCSSCSCCSCSSCSCSCCCSCSCCCSSCSCCSSSCCCCCSCSSCCCSCCSSCCCSCCCSSCCCCCSCCCCSSSSCCCCSSCSSSCSSSSCSCSCCCCCSCCCSCSCSCSSCCCCCSSSCSSSSCSSSSSCSSCSCSSCSCSSCCSSSCSCSSCSCCSSCCSSCSCSSSSCCSSSCSCCSCSCSSCSSSSSSSCCSCCSCSSCCSSCSCSCSSCCCCCSSSSCSSSCCCCSCSCCSSCCSSSCCCCCSSCSCSCSSCSSCCSSCCSSSCCSSCCSCSCCSCSSSCCSCCCCSCSCSCSCSSSCSCCSCCSCSCSSSSCSCCSSSCCSSSSCSCCSCSSCCCCCCCSSSCSCCSCCSSSSCCCCSCCCCCCSSSCCCCCCSCSSCCSSSSCCSCSSCSCCCCCCCCSSSSCCCSSCCSSCSSSSCSCCCCCSCSSSCSCSSSSCSCCCSCCSCSSSCSSCCCSSSCCCSSCSCCSCSCSSSSCCSSSSCSCSSSSCCCCSSSSCCSCSCSCSCSCSCSCSCCSCCSSCSCCSSCSSSSCCCSSCCSCCSSCCSSCCSCCSCSCCCSCCSSSSCSSCSCCSCCCCCCCCCSSCSCSCCSSCCCSSSCSSSSCSSCCCCCSCSSSSSSSSSCCSSCCCCCCSSCCCCSSCSCCSSCSSCSSSCCSSCSSSSCSSCSCSSSSSCSCCSSCSSSCCCCCSSSCCSSCSSCSSSCSSCCCCCCCSSSCSCSCCCSSSCCSSCSCCCCSCSCSCSCSCSCCCSSCSSSCSCSSSSCSCSSCSSCCCSSCSSSCSCSCCCCCSSCSCCSSCCSCSCCCCSSCSCCCSSSCCSCSCCCCSCSSCCCSCCSCCCCCCSSCCSCSSCCCSCCSSSCCCCSSCCSSCCCCSSCSSSCCCSSSSCCCCSSSSSCCSCSSCSSSCCSSSSCSCCCSCSSSCCCCCCSCCCCCCCSSSCSCCSCCCCSSSSSCSCSSSCCSCCSCSCSCCCSSSCSSSSCSSSSCCCCSSCSCCCCCSSSCCSCSSCSCSCCSSSSCSCSSCSCCCSSSSCCCSCSSCSSCSCSSSCSSCCCSSCCSCCCCCSSCCCSSCSCSSSCSCCSCCCSSSSCCCSCCCCSSSSSSCCSSCCCSCCSSSSCCSCCCSSSSSSCSCSCSSCSCCSCCSSSCCCCCSCCCCSCSSCSSSCSSCSCCSSSCSSSSSCCCSSCCCCSSCCSCSSSSSCSSCCCSCSSCCCCSSCSSCSSCCSCCSSSSSCCCSCCCCSSCCCCSCSSCCCCCCSSCCCSCSSCSSCCCSCCSCCSCCSSCCSSCSCCSCSSCSSSSSSSSCCCSSSSSCCSCCSSCCCCCCSSCSCSSCSCSSSSCSCSCCCSSSCSSCSCSCSSCCSSSCCCSSCSSSSSSSCCCSCSCSSSSSCSSCSSCCCCCCCSSCSCSCCCCSSCCSSCSSSCSCCCSSCCSCCSSCSCCSCSSCCSSSSCCSCSCCCSSCSCCCCSCCCCSSCCCCSSCCSCCCCSCSCCCSCCCCSCCSSCCSCCCCSSSSCSSCCCSSSSSSCCSCSSSCSCSSSCSSCSSSCSSSSSCSCSSCSSCCCSSSCSSCSSSCSCCSSCSSCSCSCSSCCCSSCSCCCCCSCSCSCCSCCSCSSSCSCCSSSCCCCSCSCCSSCSSCCCCCCSCSCSCSCCSSCCSSSSSCCCSSCCSSCSSSCCCCSSSCSSSSSCCCSSSSCCCCCSSCCSCSCSCSCCSSSSSSSCCSSSCSSCCCCSSSSCCCCCSSSCSSSSCSSSSCCCCSSSSCSSSCCCSCSSSCSCCSCSCSSCSCCSCCCSSSCCSSSCSCCSCSCSSCCCSCSCSCSSSCSCCCSSCCSCSSCCSCCCSCSSSSCSSSSCSSCCSSSSSSCCCCSCSCCSCCSSSCSSCSSCCSCSCCCSCSSCSCSSSCCCSSCSCSSCCCCCCCSCCCCSSCSSCCSCCCCCSSCCSCSCSSSSSCCSSCSSCSCSSSCSCSSCSCSCCCCSSCCSCCCSSCCSCSSCSSCSSCSCSCCCSSCCSSSSCCCSCCCCCCSCSSCSSSSCCSCSCSSCSSSCCSCSSCSSCCSSCCSSSSCCSSCCCCSCSCSCSSCCCSCSCCSSSSSSCSCSCCCSSSCCSCCSSCCSSSCSSCCCSCCSSCSSSCCSCCSCCCSSSSCCSSSCSSSSSCCSCCCSSSCSSSCSCCSCSCCCSSSSCSCSSCSSCSCSCCCCSSCCSSSSSCCCCCSCSCCSSSCCCSSSCSCSCSCCCSSCCSCSSCCCCCCCCCCCSCCSSCCCCCSCCCCCSSCCSSCSSCSCCCSSSSSCCCSSCCCCCCSSSSSSSCSCSSSSCCCCCSSSCSCCSCSSSCCCSSCSCCSSSCSCCSCSSCSCCSSSSCCSSSSSSCCSSSCCSSSCSSCCCCCSCCSSCCCCCCCSCCCCCSCSSSSCCCSCCCSSSSSSCCSSSSCCSSCSCSSCCCCCSSCCCCCCCSCCCSCCSCCCCSSSCSSSCCCSSCCSSCCSSSCSCSSSSCSSCCCCCSSCCCSCSCCCCSSCCSCCCCSCSCSSCSSSSCSSCCSCCCCSSCCSCSCCSCCSCSCSSCCCSCSSCCSCCSSCSCSCCSCSSSSSSCCCSSSCCCCCSCSSCSCSSCSSSCCSSSSCSSSSCSSCSCCCSSSCSSCCCCCCSCCCCSCSSSSSCCSSSSCCCCSSCSSSSSCCSCCCSCCSSCCCCCCSCSCCCCSCCSSCCCCCCSSCCSCCSCCSSCCCSCCSSCSCSCCCSSSSCSCSSSSCSCCSSCCSCCCCCCCSCSSCSCSCCSSSSSCCSCSSCSSCSCSSSCCCSCCCSCSSSCCCCSCSCCSCCSCSCSSSSCSCSSCCSCSSSCSSSSSCCSCCSSSCSCSSCCCCCCSCSCCSSCCSSCSCCSCCSCSCCSSCSSCSCSCSSSCCCSSSSSCCSCCSSCSCCSCCCSSSSCCSCCSSSSCSSSSCCSCSSSCCSCCSSCCSCCSSSSSSCSSSCSCCSSCSSCCCCSCCSSSCCSCSSCCSSSSCCSCSSCSCCCSCSCSSCSCSSCCSSSCCCCCSSSCSSCCSSSSCSCSSSSCSSSCCCCCCSCSSSSSSSSSCSCCSCCSSCCSCCSCSSCCCSSSCCSCCCSCSSCSCCCSCCSSCCSSCSSCSSCCSSCCSCSCCSSCSCCSCCCSCSSCCCSSCCSCCCCCCSSSSCCSSCSSSSCCSSCCSCCCCSCSSSCCCCSCCCCCCSCSSCSCCSCSSSSCCSSCCCCCSSCSSCSCSSCSSSSSCCSCSSSSSCCSCCSCCCSCCSSCCSCCSSCCCCSCCSSSSSSCSSCCCSSSCCCCSCCSCSSSSCCSSCCCCSCSCCCCSCCSSCSSSSCCSCSCSSSCSCCSSCSSCSSSCSSSCCSSSSCSSSSSSCCCSSCSCCCSCSSCSCCSSCSSSSSSCCCCCSCSSCSSCSCCCCSSCCCCSCSCCSSCCSCCCSCCSCCSCSCCCSSSCSCSSSSSCSCSSSCSSCSSCCSSCSCCCCSCCSSCSCCSSCSSCSCSSCSCSCCSSSSSCSCCSSCSCSSCCCSCCCSSSSCSSCSCCCCSCSCCSCSCSSCSSSSCSCSSSSSSSSCCCSSSSCSCSSSCCSSSCSCCSCCCCSSCCSCCCSCCSCSSCSSSCCSSSCSSCSCSSCSSSSSCCSSSSSSSCCCSSSCCSCCCSCCCCSSCSCSSCCCSCSSCCSSCSSSSSSCCSSSCCCCCCCCSSSSCCSSCCSCCSSCCCCSSCCCSCCSSSSSCSCSCCSSSCCCCSCCSSCCCCSCSCSCCSCCCSCSSCSCCCSSCSSSCSCSSSCSCCSCCSSCCSCCCCCSSSCSSCCCCSCSSCSSCCSCCCSCCCCSSCCCCSSSCSCCSSSCCCCCCCCSCSCSCCCCSCSCCSCCCSCSSSCCSCSCCSSCSCCCSSCSCCSCCSSCSSSSSSSSSSSCCCCSSSCSCCSSSSCCSSSSCCCSCSSCCCSSCSCSSSCCCSCSSSSSSCCSSCSCSSCCSSCCSSCSSCCCSCSCSCCCSCSSCCSSCSSSCCSCSSSSCSCSSSSSCSSCCSCCSCSCSCCSCSSCSCCCSCSCCCCCCSCSCSSCCCSCSCCSSCCCSCSCSCSSSCSCSCSCCCSSCSSSSCCSSSSCCSSCCCSSSCSCCCSSSSSSCCSSSSSCCSCSCCCSSCSCCCSCCSCCSSSSCCCCCSSSCCSCCSCCSCSSSSCCSCCSCCCSCCCSSSSSCCSCSCSSCSCCCSCSSSCCSCCSCCSCSCSCCSCSCCSSSCCSSCCSSSSCSSSCSCCSCCCCCSCSSSSCCCSSSCSSCCSCCSCSSCSSCCCSSCCSCSSSCSSSSSCCSSSSSSCSCSSCSSCCCCSCCSCSCSCSSSCSSCCSCSSSCSSSCSCSSSSCCCSSCCSSCCSCCCSCCCSCCSSSCSSSCSSCSCCSSCCSSCCCCSSCSCSCSSCSSCCCSSCSCCSCSCSSSSCSCCCCCCCCCSSCCCCCCCCSCSSSCCSSCCCCSCSCSCCCSSSCCCSCSSCSSSSSCCSSCSSSSSSSSCSCCSSSSSSCSSSSSSSCCSCCCSCSCCCSCSCSSSSSSSSSCSSSCSSCCSCCCSCSSSSSSCCSCCCSCSCCSSCCCSCCCSSCSCCCSCSSSCSSCSCSSSCSCCCSSSCSCCSSSCSSSCCSCSCSSCSSSSCSCCCCSCSSSSSSCCSCSSCSSSCCCSCCSCSCCCCSSSSCSSCSCCCSSCSSCSSSCCSSCCSCCCCSSSCSCCSCCSSSSSSCSCSSCCCSCCSSCSCSCSSSCSSSSSCSCSSSSCCCCSSCSCCCSSSSSSSCCCSSSSSCSSSSSSSSCCSSCCCSSSCCSCSSCSSSSSCCSSCSCCSSSCCCCSCSSSSCSCSSSSSSCCCSSSSCCCCSCSSSSSCCSCCCSSCSSCSSCCSCCCSSSCCSSCSCSSSSCCSSSCSSSSSSSCSSSSCCCSSSCCSSCSCCSCCCSSSCSCCCSCCCSSCCCSCSCCCSCCCCCCCSSCCSSCCSCSCCSCSSSCSCSCCCSSSSCCCSCSCCCCSSCSCSCCSCCSSSSCSCSCCCSSCCSCSSSSCCSCSSSSSSSSCCSCSSSSSCSSSCCSSSCSSSCSSSCSCCCSSCCSCCSCSSCSCCCCSCCSCSSCCCCCSSSCSSCCSSSSSSCSCCCSCSCSCCCCCSSSCSSSSCSSCCSSCSSSCCCCCSCCCSCSCCSSCSCCCCCCCSCSCSCCCCSCSCSSSSCSSSCSCSSSCSCCCSCSSSCCCSCCCSSSCCSCSSCCCSCCCSCSSCSSCSSCCCCSSCSCCSCCSCSCSSSCCSSCSCCSCSSCCCCCSSSCCSCCCSCSCSCSCCSSSSCCCSCCCCSSCCSCCSSSSSCSSSSCSCSCCCSCCCSCCCCSCCSSCSSCCSCCSCSSCCSSSCCCSCSSCCCSSSSSSCSSSSSSSCCSSCSCSSCCCCSSSCCCCCCCSCCCSSSSCCSSCSSSSSSSCSCCSSCCSSCCSSCCCCCCCSSSCSSSSCCSCSSSCSCCCCSCSSCCCCSSSCSCCCSSCCCCCCCSSSSCSSSCSSSCSSSSSCSCCSCSCCCCCCSSCCCSSCSCSCCSSSCSSSSCSSSSCCSSCSSCCCSCCCCCSSCCCSCCSCSSCCCSSSSCSCSSSCCSCCCSCSCCCCCCSSCSSCCCCSSCCSSCCCCSCSSCSCSSCCSSSSCCSCCCSSCSCSCCCCSSSCCCCSSSCCSCCSSCCSSCSSCSSCSSCCCCCSCCSSSSSCSCCCCSCSSCCCCSCCCSCSSCCSCCCSCSSCSSSSCCCCCSCCSSSSCCSCSCCCCSSCSCCSCSSSSCCSCSCSCSCSCSCSCCSSCCCCSCCSCSSCSSCCCSCSSCSSCSCCSSCSCCSCSCCCSSCCCCSSSSCSSSSSSCCSCSSSCCSSSSCSCCCSCCCSSCCCCCSCCCSSSSCSCCCCCSSSSCCSCSCCCCCSSCSSCSCSSCCSCCSCSCCCCSSSSCSCSSSCSSSSCSCSCSSSSCSSSSSCCSCSCCSCCCCCSSCCCSCSSSSSCCCSSCSSCSCCSCCSCCSCCCCSSCSCSCSSSCCCCSCSCCCCSSSCSSCSSSSCSSCCSSSCCSSSCCSSCSSCSSSCCCSSCCSCCSCCCSCSSSCSSCCCCCCSCCCCCSCSSCSCCSCCCCSCSCCSSSCSCSSCCCCSSSSSSCCSCSSSSSCCCSCCCCCCSSSSSCSSSSCSCSSCSCSCCSCSSCSSSSCSSCSSCCCCCCCSSCCCCCSSSCCCSCSCCCCSCCCCCCSSCSSCCCSCSSCCCCCSCCSCCCCCCSSSSSSSCSSCCCSSSSCCSCSCSCSSSSSSCSSCCCSSCCSSSSCCCSSCSSSCCSCSSSSSCCCCCCCCCSCSSSCSSCCCSCSSSSCSCCCSSSSCSCSSCSCCCCSCCSSSCCSCSCCCSSSSSSSSCSSSSCCSSCSCSSCCCSSSSSCCCCSSCCSCCSCSCSCCCCSSCCCCSCCCCCSSCSCSCSCSSSSSSSSSCCCSSSCCCSCCCCSCSSSCSCSCCCCCCCCCSCCCSSCCSSSCSCCCSSSSCSSCCSSSCCCCSSCCCCCSCCSCCSSSCSSCSCCCSCCCCCCCSCSCSCSCCCCSCCSCSCCCCCCSSSCCCCCSCCCCSCSCSCSCCSSCCSCCCCCCCCSCSSSCCCCSSCSSCCCSCSCSSSSSCSCCSCSCCCCSSSSSSCCCCCCSCSCSSSSCSCSCSSSCSSSSCCCCCCSSSSCCCSSSCSSCCSSSCCCCCCSSCSCSSCCCSCSSSSSCCSSSCCSCCCSCSCSSCCCSCSCCCSCCCCCSCCSSSSSSCCSCCCSSSSCSSSCSSCCCSCSSCCSCSSCCSCCSSCSSSCSCSCCCSSSCSCSSSSSCSSSSCSCCSSSSSCSSCSCCSSCCCCSCCCSCCSSCSSCCCCCCCSCSCSSCCSCCCSCSCSCCCSSCCSCSSCCSSSSSCSCSSSCSCSSCCSCCSSSSSSCSCSSCCSSSSSSCCCSCCCSCCCCSSSSSCSSCCSSSCCCCCCSSCSSCSSSCSSCSCSSCCSSCSCSCSSSCSCSCSSSSCSCCSSCCCCSCSSSSSCCCCSSSCCSCCCSCCCCSSCCCCCSSCCCCSCSCCCSCCSSSSCSCSCSCSCSSSCCSCSCSSSCSSSSCSCSCSSCCCCCCCCCSSSSSCCCSCCCSCSCCSCSSCCSCSSSCSCSCCCCSSSCSCSCSCCSSCSCCSSCSCCCSSCSCSSSCCSCCCSCCSSCCCCCCSCCCSCCSCCSSSCCCSCSSSCSSSSCCCCCSCCCSCSCCSCCSCSSCCSSCCSCCSCCCSSSSSCSCCSCCCCSCCSSCCSCCCSSCCCCSSSSCCCSCSCCSSSCCSCSCCSCSSSSCSCCSCSCSCCSSCCSCCSSCSCSSCCSCCSSCSCSCCCCSSCCSSCCSSSSSSCCSCCCCSSSSCSSCSCCSSCSCSSCCCSCCCCCSCCSCCCCCCSSCSSSSSCSCCCCCSCSSSSCSSSCSCSSCCSSCCSSSCCCCCCSSSSCSSCSSSSCCCCCSSSCSSSCCCCSCSCSSCSCCCCSSCCSCSCCSSSCSSCCSSSSSCSCCSSSCCCCSSSCCCSSSSSSSSCSCCSCCCSCSCCCSSCSCSCCSSCCCSSCSCSSCCSCCCCSSCSSSCSCCCCSCCCCSSCSSCCSCCCCSCCSCSSSSCCCCSSCCCSSCSSCSCCSSCCCCCSCCCCSSSCCSCSSSSSSCSSCCSSSCSCSSSCCSSCSCSCCCSCSSCSSSSCCSSCSSSSCCCCCCCSSSSSCSSCCCSCCCCSSCCCCCSCSCSSSCCCSCSCSSCCSSCCSSCCSSSSCCSCCCCCSCSCSCSSSCCCCSSCCCSCCSSCSCSCCSSSCSCSSCSSSSSSCSSCSCCCSCSSSCSSCCSSCCCSSSSSCCCSCSSSSSSCSCSCCCCCCCCCSCCSSCCCCSCSSCCSSCCSCCCCCCSSCSSCCSCCCCSSSSSCSSCCSCCSSSCCSCSSSCCCCSSSSSCSCCCCCSSCCCSSSCSSSSCSCCCCSSSSSSCSSSCSCCSCCSSSSSSSCSSCCCSSSSCCCCCSCCSSSCCSCCCSSSSCSCCSCSCCSSCSSCCCSSSSCCSCSSSCSSSCSSCCCSCCCSCSCSCCCSCCCSCSSCCSCSCSSSSCSSSCCCSCSCCSCCSCSCCSSCCCSSCCCSSCCCCCSCCSCCCSSSCSSCSSSCCCCSSCSSSCCCSSSCCSCSCSCSSCCSCCSCSCCCCSCSCSSSSSSSCCSCCSCCSSSCSSCCSSSCCSCCCSSCSCCSCSCSSSSSSSCSSSSCCCSSSSSSSSCSCSCSCSSSCSCSCCSCSCCCSSSSSCSSSSCSCSSCCCCSCCCCSSCSSSCSCCCSSCSCSCSSSCCCSCSCCSSSSCCSSCCCSCCCSCCSCCCSSCCCSSCCCSSCSCSCCCCCSCSCSSCSSSCSSCSCSCSCCCCSCCCCSSSSSCSCSSCSSSSCSCCCCCSCCSCCCSSCCCCSCCCCCSCSCSCSCSCCCCSSCCSSSSCCSCSCSCSCSCCSSCSCSCSCSSSCSCSCCSSCCCSCCSCSSCSSSSCSCCCSSCCCCSSCSSCSCCCCSCCSCCCSSCSSSSSCSSCSCCCSCSSCCSCSSSSSCSCCSSCCSCSSCSCCSSCSCSSSSCSSCCCCSCSCSSCSSSSCCCSSSCCCCCSSSSSCCSCCSSCSSCSCSSCSSCSCSSCSCSSCCCCCSCCSCSSSCCSCCCSSSSSCSCCCSSCSCSCCSSSSSCCCCSCCSSSSCSCSSCCSSSSCCCCCSSCSSSCCSCSSSCCSSCSSSCCCCSCSSCSSSCCSCCSCSSCSSSSSCCSSSCSCSSCCCCCSSCCCCCSSSCCCCCSSCCCCCCSCCSCSSSSSSCCCSSCCCSSCSSSCCSSSCSCCCSCSCSSCSSCSSSSSCCCCSCSSSCCCSCSSSCCSSSSCSCCCCSSSSSSSCSCSCSSSSSCCCCSCSSCSCCCSSCCSCSCCCSCCCSCCCCSCSCSSSSCCCCCSSCCSSCSCSCSCCSSSCCCCCCCCSSCCCCSSSSCCCCSCSSCSCCCSSSSSCCCSSCSCCSSSCCCSSCCCSCSCCCCCCCSCSSCCSCSSCCCCSCCCCCSCSCCCSSCCSCCSSSCSCCSSCSCSSSCSCSCCCSCCCSSCCSCCSCCSCCSSCSSCSSSCCCSCCSCSSSCSSSSCCSSCCSCCCSSSCCCSSCSCSSCSSSSSCCCSCCSSCCSCSCSCCCCCCCSCSSSSSSSSSSCSSSSSSCSSCCSSCSCSSSCSCSCCCSSSCSSSSCSSCSSSSCSSCSCSCSSSSSSCCCSCSCSCSSSCSCCCCSSSCCCSSCCCCSSSCSCSCSSCCCSSCSSSCCSSCCCCCSCSSCCSSCCSSSCSSCCCSSSSSCSSCCSCSCCCSCCSCSCSCSCSCCCSSSCCSCSSCCCCSCCCCSCSSCSSSCSSCCCCSCCCCCCCCCCCCSSCSSCSCSSCCCSCSSSCCCSCSSCCSSCSSSSSSSSSCCCSSSCSSCSSSSCCCCCSSCSCSSCCSSSCSCSCSSCCCCCSSSSCSSSSCCSCCCSCCCCCSCSCSCCCCSCSSCSSCSCCCSSCCSCCCCCSSSCSSSSSSCSSCSSCCCSCSSCCSSSSSSCSSCSSSCCSSCCCSCSSSCSSSCCCSSCCCCSCCSCCSSSSSCCCCSSCCSCCCSSSSSSCSCSCCSSCCSCSCCCSCCSCSCCCCSCCCSCCSSCCSCCCCCSCSSCCSCSSSCCCCSSCCCCSCCCCSSSCCCCSSSCSCCSCSCSCSCSSCCSCCSSSCCSSSSCSCSCCCSSCCCSCCCCCCSCCSCSCSCCSSSCCSSSCCSSSSCCSSSCSSCCSSCCCSSCSCCSSSCCSCSCSCCSCCCSSCSSCCSSSCSCCCSCCSSSCSCSSSCSSCCSCCSSCSSCCSSSCCCCSCSCCCCSSCCCCSCCSSCSSCSSCSSSCSSSCCSCSSCSSSCSCSSSCCCCSSSSCSSCSCCSCSSCSSCSSSCCCCSCSCCCCCSSCCSCSCSCCSSCCCCCCCCCSCSCSSCSSCSCSSSSSCCCSCSSSCCSCCCCSCCSSCCSCCSCCSSSCSCSSSCCCCSSSCCSCCSCCSSSCCCCSSCCSSSCSSCSCSSSCCCSSSSCCSCCSCSCCCSCSSCSSCCCCCCCSSCSCSSCSCCCCSSSCCSSSSSCSCCSCSCSCSCSCSSSCSCCSCSSCSSCCSSSSCSSSSSCSSSSCSSCCCSCSCSCSCCSCSCSCCCSSCCCCSCSSSSCCSSSCCCSCSCSSCSCCCSSCCSSCCCCCSCSCSSSSCCSCSCSCSCSCSSCSSSCSCSSCSSSCSSCCSCCCSSSCSCCCCSCCCSSSSCCCSSCCCCCCCSSSSSSCSCCSCCSCCSSSCSSCSSSSCCCSCSSSCSCCSCCCSCCCCSCSSCCSCCSSSCSSSSCCCCSCCCSSSSCSCSSSCSSSSSSSSCSCCSSCCSSCCSCCCCSSSCSCSSSSSCCCCSCSCCCCCSCSCSSCSSCCCCSCSCCSCCCCCSSSCSCSCSCSSSCCCSCSSSCSCCCCCCCSCCCSSCSSCSCSCCCCSSSSSSCCSCCSCSCCSSCCSSCCSCCSCCCSCSSSSSCCCCSCCCSCSSCSSCCCCSCCCCSCCCCSCCCSCCSCCCCCCSCCSCSCSCCSCSCSSCSSCCSSSCSCSSSSSSSCSCSSSSCCSCCCSCSCSSSCSSCCSSSCCCSCSSSCSSSSSSCCCCSSSCCSSSCCSSSSSCSCSCCSSCSSCCCCCSCSCCSSSSCSSSSSCSCSSSSCSCSCSCCSSCSSCSSSCSSSSCCCSCCCSCSSSSSSSSSCSCCCSSSSCCCCSCSCSSSCCCSSCSSSCCCSSCCSSCSSCSCSCCSCCCCCSCSCCCCSSSCCCSCSSSCCCSSSCSSCSSCSCCSCCCSSSSSSCSCCSSCSCCSSCSCCCSSSSCSCSSCSSSSCSCSSCSSSCCSCSSSCCSCCCSCSSSCCSSCCSCCSCSCCSCSCSCSSCSSCCSSSSSCCSSSCCSCSSCSSCCSCCCSCSCSCSSSCCCCSCSCCSSSCSSCSSCSSCSSCCCCSCCCSCSSSSSSCCSSCCSSCSCSSSSCSSSCSSCCCSCCSSCSCSSSCCSSCCCSCCCSSSCCSSCCCSCSSCCSSCSCCCCSSSCCCSCSCSCCCSSSSCCSSCSCSSCSSCCCCSSSSSSCSCSCCCCCSSCSSCCSCCCSSSSCSSCSCCSCCSCSCSSCSSSSSCCCCSSSSSCSSCSCCSSSCSCSCSCCCCCCSCCCCSSSSCCSCSSCSSCCCCCSSSCCCSSSCSCCSCCSCSSSSCCSSSCCSSSSSSSCSSSSCSCCCCCSSCSSCSCSCSCCCSSSSSCCSSCCCCSSCSSCSCSSSCSCCCCCSCSSSCSSCSSCCCCCSCCCSCSCCCSSSSSCCSSSCCCSSSCSSCCCCCSCSSSSSCSSSCSCCCCSSSSCSCSCSCCCCSSSSCCCSSCSSSCSCCCCSCCSCCSSSSSCSCSCSCCCSSSCCCCSCCSCCCCSSSSCSCSSCCSCCSSCSCSCSSCSCCCSCSSCCSSCSSSSCCSCSCCCCSSCSCCSSSSSCSCCCSCSSSSCCCSSSSSSSCSCCCSSSSCCCSSCCSCCSSSCCSSSCSSSSSCCSSCCSCSCSCCSSCSCSCSSCCCSSSSCSCSCCCCSCSCSCSSSSCCSCSSSCCSSCCSSCCCCSSCSSCSSSSSSSSSSCSCSSCSSSCCSSCSSSSSCCSSCCSSCSSSCSSCCSSSSCCCCCSSSCSSCCSCCSSSCCSSSCSSCSCSSCCSSSSSCSSSCSSSCCSSSSSSCCSCSCCSSCSSSCSCCCCSSCSCSCCCSCCSCCCCSSCSSCSCSCCSCSCSSCCSCSSCCCSCCCCSCSSCSCCSCCCSCCSCSCSSSCSCCCSSSCCCSCCSSCCSSCSCCSSCSCCSCSCCCCSCCSSSCSCSCSSCSSCCSCSCCCCSCSSCCSSSCSCCSCCCCSCCSCCCSCCCSSSSSCSSSSCCCSSSSSCSCCCCSCSCCCSCCCSSSSSSCCCCCCCCSCCCCCCSSSCCCSCSCSSCCCSCSCCSSSSSSSSCSCSSCCCSSCCCSSCSCSSCCSCSSCCSCCSSSSSCCSCCCSSCCSCSCSCCCSSSCCCSSCSSCCSCCCCCCCCCCSSCSCCSCCCCSCCSCCSSSCSCCCSSCSSSSCSCSSSCCSCCSSSSCCSSCCCSSCCCSCCCSCCCCSSSCCSCSCCSSSSSSCSCCCSSCSSSSCCSSSSSCSSCCSCSCSCCSCCSCCCCSCCSSSSSCCSSSCCCCSSCCSSCSCSSCSSCSCSCCCSSCSCCSSCSSSCSSCCCCSSCCCSSSCSSSSSSCCCSSSSSCCSSSSSSCCCCSCCSCSSSCSSCSCSSCSSCSCSCCCCCSSCCSCSCSCCCCSCSCSSSSSSCSCSSSSSCCCSCSCSSSCCSSSCCSSCCSSSCSCSCCSSCCSSSCSSSSSCSSCCCCCCCCSSSCCCSSCSCCSSCCSCSCCSSCSCSSSSSSSCCSCSSCCCCSSCCSSSCSCSCCCSCCCSSCSCSSSCCCCSSCSCCCCCSCCCCSCSCCSCCCSCCSSCSCSCSSCCCSSCSSSSCCSCSCCCSSCSCCSCSCCSCCCSCCCSCSCSSSSSCCCCCCSCSCSSSCSSSSSCCCCCCCSCSCSSCSSSCCCSCSCSSSSSCSSCSCSSSCSSCSSCSCCSSCSSSSSCSCSSSCSSCSSCCCCCSSSCSSSSCSSSSSSSSSSCSSSSSSSCCSSSSCSSCSSSSCSSSSCCSCCCSSCSSSCSCCCCSSSCSCSSSCCSCCCCSSCSCSSSCSCSCCSCCCSSCCSSCCCCSCCSCSCSSCCCSCSCSCCSCSCSSSSSSCSCSSSSCSSCCCSSCSCSSCCCSCSCSCSSCCSCCCCCCSCSSSCCCCSSSSCSCSCCSCCSCSSCCSSSSSCSSCCSSCCCSCCSSSCCSSSCSCSSSCCCCSCCSSCCCCSCCSSCSSSSSSSCSCSCCSCSSSSCCSSCSSCSCSSCCCCSSCSCCSCCSSSCCCCSCCSSSSCSSCCCSSSSCCCCCSCCSSCCSCCSCSSCCCSCCSCSSSSSSCCSCSSSSCCCSSSSSSCCCSCSSSSCSSSSSSCCCSCCSCCSSCCCCSSSCCCSSSCCCSCCCCSSSCSCCSCSCSCSCCCSSCSSSSSSCSCCCSCSCCCSSCCSSCSCCCSSCSSCCCCSCCSSSCSCCCSCCCCSCCCCCCSSCSSSCCCCSCCCSSCCCCSSSSSCCSSSSSSCCSCSCCCCCCCCCSSCSCCCCCCCSSSSCSCCCCCCSCSSSCSSCCCCCSSCCCCCCSSCCCCCCSSSSSSCSCCSSCSSSCSCSSCSSSSSSSCCSCCSSSCSCCCCSCSCCCCSCCSCSSSCCSSSSSCCSSCCSSSCSSCCSSSSSSCSCSCCCSCSCCCSSCSCSCCCCSCSSSCCCCCCCCSSCSSSCSCCCCSCSCCCSCCCCSCSCCSCCSCSSCSSCSSSCCCSSCCSSCCSCCSCSSSCCCCSSSCSSCSSCSSSCSSCSCSCCCSSSCSCCSSSSSCCCCCSCSSCSSCCSCSCSCCCSCSCCSSSSCSSSSSSSSCCCCCCCSSSSCCSCCCSSCCSSCCSCSSSCCCSSCSCCCSSSCCSCCSSSCSSCSSCSCCSCCSCSSCSCSCSSCSSCSSCSCSSSCCCCCCSCCCSCCCCSCSCCSSSCSSSCCCSSCSCSCSCSCSCSCSCSSCCSSSCSSSCSCCCSCSCSCCCCSSSCSSSCSSSCSSSSCSSSCSCCSSCSCSSSCCCSSSSCCCSCSSSSSCSCSCSSCCCCSSSSSCCCCCCSSCSCCCCCSSCSSSCSSSCCCCCSCCSCCCCSCCSSCCSSSCSCCSSSSCSSSSSCSCCCSSSSCSCCCSSCCSCCSSCCCCSSCSCSSSSSSSSSCCCCSSSCCSSCCCSCSCSCSSSCSSCCCCSCCSSCSCCSSSCSSSCSCSSSSCCSCSCCSSCCSSCSCCSCCSCCCSCSSSCSCCCSSSCSSCSCCSSCSCSSSCCSSSSSCSSCCCSSSSSCSSCSSSCCCCCSCSSSSCSSSSCSCSCSSSCSSCCSCCCCCCCCSCSSSSCCCSCCSCCCSSSCSSCCSCCCCSSSSCSCCCSSSCSSSCCSCCSCCCCSSCSCSCCSCSCSSCCSCSCSCCSCCSCSSCSSSCSCCCCSSCSCCCCSCSSSCCSCSSSCSSSSCSCCCCSCSCCCSSSSCSSSSCSCSCSCSSCSCSSSCCCCCSSCCSSCCSCSCSCCSCSSCSCCSSSCCSSSSCSSCCSCCCSCSSCSCCSSCCCCCCSCCCSCCCSSSSSCSSCCCSCSSCSSSSSCSSSCCSSCCCSSSSCCCSCCCSSSCSSCCSCSCSSCCSCSSCCSCCCCCCCSSSCCCSSCSCSSSCCSSSSCCSSSSSSSSSSSSSCCSSCSCSCCSSSSSSCSSSSCSCCCCCCCCSSSSSCSSCSCCCSSSSSSSSSSCSCSCSCCCCSSCCCSSCSSCCSSSCSSCSSCSCCSCCCSCSCSSCCCCCSCCCSCCCSCCSCCSCSCSCCSSSSCSSSSSCSCSSSCSCCCCSCSSCSCSCSCCSCSCCCSSSCSSSCSCCCSSCSCSSSCCCCSCSCCCSSSCSSSSCCCSCCCSCCCSSCCCSCSCSSSSCCSSSCSSSCSCSCSSCSCSSCCCSSCSSSCCSSCSSCCCSSSCSCCCCSSSSSSCCSSCSSCSSCCSCSCSCSSSSCSCCCSSSCCSSCSCSCSSSCCCCSSSSCCSCCSCCCSSCSSCCCSSCSSSSCSSCCCCCCCCCCSSSCCCCSSSSCSCCCCCCCSSCSCSCCCCSCCCSSCCCCCSSSSSSCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
