300000
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBSCCCCSSSSSCSCCCSCCSCCCCSCSSSSSSSCCCCSSSCSCCCCCSCCCSCCSCCCCCCSCCSSCSSCCSSSSCCCSCCCSCCCCSSCSCCSSCCCSSSSSSSCCCSCCSSSSSSCSCCSCSCCSSSCCCSCCSCCCSCCSCCCCCSCCSSSCSSCSSSSCSCCCCSCSCSCSCCCCSCCCSCSSSSCSSSCSCSSSSCCCCCCSSSCSCSSCSCSSSSCCSCSSSCSCSSCSSCCCCSCSSSSSCSCCCCCSSSSCCSSSCCCCCSSCCCSSSSSSSCSCCSSSSCCCCCCSSCCSCSSSCSCSSCCCCCSCSSSSSSCSCCSCCCCSCCSSSSSCSCCSSCCSSCSCSSSCCCSCSSCSCSSSSSCCSSCCSSCSSSSCCSCSSSCSSSCCCCCSSSCSSCCCCSSSCCCSSCSSSCSCCCCSSSCCCCSSCSSCCSSSSCSSCSCSCSCCCCSCSCCCSSCSCCSSCSCCCSCSCSSCCSCSSSSCCSSSSSCSCSSSSSSSSCSCCCCSCCCSSSCSSCCCSCCSSCCSSSCSSSCCCCSSSCSSCCSCCSSSCSCCSSSCSCSCCCSCSCSCSCSSSSCCCSCSSSSCSCCCSSSCSSSSCSSSSSSSCCSCSCSCSCSCCSCSSSCCCSCCSCCSSCSCCSCSSCCCSCSCCCSCSSSCCSCSSSCCCCCCCCSCSCCCSCSSCCCSCSSCSCSSCCCSSSSCSCCSSCSCCSCSCSCCSSCCSSCCCCCCCSCSSSCSCSCSCCSCCSCCCSSSSSCCSSCCCCSCSCSCCSCCCCCCSSCCSCSCCSSSCSCSCSCSSCSSCSSSCCSSCSSSCSSCSCSSSSSCCCCCSSCCCCCCSSSSCSSCCCCCSCSCSCSSSCSCCCCCSSSSSSSSSSCSCCSCSSSSSCSCSCSSCCSSSCSCCCSCSCCSCSSSSSSCCSSCSSCSSCSSSCCSCSSCSCCSSSCCCSSSCCCCSSCSCCSSSCCSCSCCSCCSSSSCSSSCCCSCCCCSCSSSCSCSCCSSCSSSSSCCCCSCCCSCSCCCSSSSCCCCSSCCCCCSSCSCCCCSSCCCSSCCCSCCCSCSSCCCSSSSSSSCCSCCCCCCSCSCCCCSCCSSCSCSCCCSSSSSSCCCCSSSSSCCCCCCCSSSCCCSCCCSSSSCCCSCCSCCSSCCCSCCCSCCCSSCCSCSCSCSSSSSCCSSSSCSSSCSSSSCCSCCSSCSSCCSSSSCSCCCCSCCSCSCCSSSSSSCCCCSCSSCCSSCCCSSCCCCCSSCSCSCCCSSCCSCSCSCSSCSSSCSCCCSSSCSCCSSCSSCCCCSSCSCCSCCSCSSSSCSCCSCCCCCCSCSCSCSSCSCCCCCSSSSSSCCCCSSCCCCSCCCSCSCSSSSSSCSCSCSCSSSSCSSCSSSCCSSSCCSSSSCCSCSSSCSCSSCSCSCSSSSSCCSSCCSCCCSCSCSCCSSCSCCSSCSCCCSSCSCCSSSCSSSCCCCCCSSSCCCCSSCSCCSCSSSCSSCSSCSCSSCCCCSSCSCCCSSSSSCSSCCSSCSSSCCCCCSCSCCSCSSCSSCCSCSCCSSSCSCCCCCCSSSCCCSSSCSCCSSCCSCSCCSCCCSCCCCCCSSCCCSSSSCCCCCCCSCCCSCSSCSCCCSSSSSCCSCCCSCCSSSCSSSSCSCSSSSSSCCSSSCCCSCSSSSCSSSCCSCCCCSSSCCSSSSSCSSSSCCCCSSSSCSCSCCSSCSCSCCCCSSCSCSSCCSSSSSSCSSCCCCSSSCCSCSSCSCCCCSSCSCCCCSSCCCSSCCSCSCCSCCSSSSCSSSSSCSCCCSCCSCSSCCCCCCCCSSCSCSSSCCSSSSSSCSSSCCCSSCCSCCCSCSCCCSCSCCCCSCSCCCSSCCSSCSCSSSSCSSSCCSSSSSSCSCCSCSCSSSCCCCSSCSSSCSSCSCSSSSCCCCSCCSSSSCCSSCCSSCSCSSSCSSSSCCCCCSCSCSSSSSSSCCSSSSSSCCCSSCSCSCCCSSSCCSCCCCCCSCSCSSCSCCSSCCCSCSCSSSCSCSSCSCSSSSSSCSSCCCSSSSSCSCSSCCSSSSSSSCSSSSCCCCCCCCCCSCSSCSCSSSSCSCSSSSSCCCCSSSSSCSCSSSCSSSCSSSSCSSSCSCCSCCCSSSCCCCCCCSSCCCCCCCSSCSCSCCCSSSSSCSCSCSSSCCCCCSCCSSSCSSCSSCSCSCSSCSCCSSCSSSCCSSSCSSSSCSSCSSCCCCSSSSSCCCCCCSSSCCCCSSSSCSCCCCSSCSCSSSSCSSCSCCCSSCCSCSSSCSSCCCSCCSCCCSCCSSCCCSCSCCCSSSSSSSSSSCSCSSCCSCCCSCSCCSCSSSCCCCCCCSSSSCSSCSCCCSSSSSSCCCCSSCCCCSSCCCCSSSSCSSSCCSCCCSSSCSCCSSCCSSCSCSSSSCCSSCCSCSCCCSCSSCCSSSCCCSSSSSSCCSSSCSCCSCSSSCCCSCCCSSSCSCCSCSSSSCSCSCSCSSSCSCCSCCSSSCCSSCCSCSCCSCSSSSCSSSCSCCSCSCSCCCCSSCCSSCCSSCCCCSCSSCCCCSCCSSSSCSSSSSCSSSCSSSSCCCSSCSCCSCSSSCSSCSSSSSSCSSCCCSSSSCSCSCCCSSCCCSSSSCSSCCCSSSSCSSSSCCSSSSSSCCCSSCCSCSCSCCSCSSSSCSSCCSSSCSCSCSCSSCSSSSSSCCSSCSCCSCSSCSSSSCSSSCCSSCCCCCCCCSSCCCCSCSCSCCCCCCSCCCCSCCCCSSSSCSCCCCCCCCSCSSCCCCSCSCCSSSCSSCSCCCSCSSSSCSCSCCSCCCSSSSSSSSCCSSCCSSSCSSSSCSCSSCCCCSCSSCCSSSCCCCSCCCSSCSCCSSSCCCSCCCCSCCSCSSSCSSCSCSSSSSSCSSCSSCCCCCSCSCCCSSSSSCSCCCSCCCSSSSCCSCSSCCCSSSCSSCSCSCSCCSCSSSSCSSSCCCCCSCSCCSCCSSCCSSSSCCSSCSCCSSSCSCCCCSSSCSSCSCSSSCSSCSSCCSCSSSCCCCSCSSCSCCSCCSCSCCCCSSSSCSSSSSSCCCCCSCSSSSSSCSSCSSSSSCCCCCCCCSSSCSCCSSSCSSCSSCSCCCCSSSSSCCSSCCSCSSSSCSSSCSCCSSCSCSCSCSSCCCCSSCSSCCCSCCCCCSCSSCSCCCCCSCCCSCSCCCSSSSSCCCCSSSSCSCSSCSSSSCSCCCSSSSCCSCSCSSSCSSSCCSSSSCCCCSCSCSCSSSSSSCSSSSSCSCCSSCCCCSCCCSCCCSCCCSCCSCCSSSSSCSCCCSCSSCSSSCSSCSSSCSCSSSCCCCCSCSSSCSCCSCCCSCSCSCCCSCSCCSCSCSSSSSSCCSSCCSCSCCSSSCCSCCSCSSSCSCSSSSCSCSCSCCCCSSCSCCSSSSSSSCSCSCCCCSCSCSSSSCCCCCSSCCCSSCSSCSCCSSCCSSCCCSCSCCSSCCCCCSCSSCSSCCCCSCCSCSSSCCSSCSSSSCCCCCSCSCCCSSCCSCSSCCSCCCSCSSCCSCCSSSSSSCCSSSCCCSSSSSCCCSCSSSCSSSSCSCCSSSCCCSSCSCCSSSSSSCSSCCSSSSSCSSCCCCSCSSSCSCCCSSSSCSCCSSSSCSCCCSCCSCSSCSSSSCCSCCCCCSCCSSCCCSSSSCSCCCSCSSCSSCCSSSCSSSSCSCSSSSCSSCCCCCCSSSCCSCSSCCCCCCSSSCCSSCCSCCSSSSCCSCCSCCCCSCSSCSCSCCCSSCCCCSSCSCCCSCCCSSCSCCSCSCCSSCSCCCCCSSCCSCCSSSCSSCSCCCSCSCCCSCSSCCCCCSCCSCSSCCSCSSCCSSSCCCCCCCSSCSSSSSCCCSSSCCCCCCCCCCSCCCSSSCSCSCSCSCSCSSSCSSSSSCSSCCSSCCSCSSSCSSSCSSCSCSSCCSCCCSSCCSCCCSSSCSCCSSSSSSSCSSCCSSSCSCCCCSSCCSSCCSSCSSCCSSCSCSCCCCCCCCSSSSCSCSSSCSCCCSSCSCCCCSCSSCCCSCCSCSSSSSCCSCCSCSCCCSSCSSCCCSSSSSCCCSCCCSCSCCSCCSCSSCSCSCCSCSCCSSCSSCCCCCSCCSCSCSCCCSSSCCCSSCCSCCCSSCSCSCSCCCCSCCSCCCCCSCSCCSSCSCSSSSSCCCSSSSCCCSSCSSSSSSSCCCCSSCCSCCCCSSCCSSCCSCCSSCCSSCCSSCSCCCCCSCCCCSCSCSSCCSSCCCCSSSCSSSSSSCSCSSSCCCCSSCCSSSCSCSSSCSSSSSSCCCSCSCCCCSSSSCSSSCSCCCSSSCCSSCSCCCCCSSSSCCSCCCSSSSSSSCSCSCCCSCCSCSCCCSCSCCSCSCSCCCCSSCSCSSSSCCSSSCSCCCCSSCSSCSSCSSSCCCSSSCSSSCSCSCCSCCCCSCSSSCSCSSSSSSSCSSCCCSCCCCSCSSSSSSSCCCCSSSSSSSSSCCCSCCSCCCSSSCCCCSCSCCSSSSCSCSCCSSCCCCSSSCSSSSSCSCCCCSCCSSCSSSCCCCSCCCSCSSSSCCCSSSSCCSCCCSCCCSCCCCSCSSSSCCCCSSCSCSSCCSSCCCCCCSCCSCCCCSCSSSCSSSCSSSCCSCSCSCCSCCCCCSCSSSCSCSCCSCCCSCCSSSSCCCCCSSSSCCCSCCCSCCCCSSSCSSCCCSCSCCCCSCCCSSSCSCCSSCSSSCCSSSCCSCSCCSCCSSSSCCCSSCCCCSCSCCCSCCSSCSCSSSSCCCSSSCCCCSCCSCCSCCSCCCCCSSSSSCSSCCSCCSSCSCSSCCSCSSCSCSCCCSCSSCSCCSSCCCSSSCCSCSCSCCCCSCCCSSCCSSCCCSCSSSSCCSCCSCCCSSCSCSSSSCCCSSCSSSSCSCCSSCSSCCCSCSCSSCSSSSCCSCCSSCCCSSCSSSSSSCCSCSSCCSSCCCCCSSCCCCCCCCCSSCSCSSSCSSCSSSCSCSCSCSSCCSSCSCSSSCSSSSCCSSCSCSCCCCSCCCCSCSSSCCSSSCCCSSSSCCCSCSCSCCCCCSCSSCCSCCSSSSSSCSSSSSSSSCCSCSCCCCCSSSSCSCCCCSSSSCCSCCCSSCCCSCCCCCSSCCSCCCSSSSCSSCSSSSCCSCSCCCSCCSCSSSSCSCSSCSCSSCCCCSSCSCCSSSCSSSSSCSSSSSCCCCCCSCSCSSCCCSSCCCCCCSSCSSSSCSSSCSSCSCCCSSCSSSCCSCCCCSSSSSSCSCSCSSSSCCCCSSCSSCSCCSCSCCCSSSSCCCSCSCSCSCCCCSSSSCSSCSSCCCCSSSSCCSCSCCCSSCCSSCSCCCSCSCCCSCCSSCSCCCSSCCCCSSCCSSSCSSSCSCCCCCCCCCCSCSCSSSCSSCCCSCSCSCSSCSCCSCCCCSSCSCSCCSCSSSSCSCCCCSSCCSCCCCSCSCCCCCCCSSSSSCSCCCSSSSCCCSSCSSSSSCSCCCCCSSSCSCSCCSSSSCSSSCSSSSCSSSCCCCSCCCSSSSCCSSSSSCSSSCSSCSCSCCCSCSCSSCCSCSCSCCSSSCCCCCSCSSSSSSSCCCSSSSCSSSCCSSSCSCCCCCSCSSSSCCSCCSCCSSCSSCCSSCSCSSSCCCCSSCSCCCSSCSSCCCCCCCSSSCSSSCSCSCSSCSCCSCSSCSSSSCSCCCCCCCCSSCSSCCCCSSCCCSCSCSSSCSSSSCSCSCSCCCCSCCCCSCCCCSCSCSCSSCCCSSSCCCCCSSSSCCSCCSSSSSCSSCCCCSCSSSCCSCCCCCCSSSSCCSCSSCCSSSSSCCCSSSSSSCSSSSSCSCSCSCCCSCSSCSSCSSSCCSCSCSCCCSSSSCSCSSSSSSCSSCSCSCCSCCSSSCCCCCSSCSCSSCCCCCCSCSCCSSSSSSCSCCCCCCSCCSSSSSSCSCCSCCCSCCSCSSSCSSCCCCSSSCSSCCCSSSSSSSCCCSSCCSSCCSSCSSSCCCCSCSSCSSCCCSSSCCCSSCSSSSCSCSCSCCCCCSSCCSCSSCSSCCCSSCSCCSCCCCSCSSSSSCCSCCCSSCSCCSSSSSSCSCCCCSCCCCSCCSCCCSSSCCCCSCSCCCSSSCCCSCCSCSSSSSCSCSCSCSSCCSCCSSSCSCSSSSSSCSCSSCCCSCCCCCSSSSSCCSSCSCSSCCSCCSSCSCCSSCCCCCSCSSCCCCSCSSCCSSCCCCSCCCSSSCSCCSSCSSCSSCCCCSSSSSCCCSCSCSCSCCCCCCCSSSCSCCSCCSSCCCSCCSSCSSSCSCSSSSCCCCSCSSSSSSSSSCCCCSCCCCCSSCSSSCSCCSCSSCCSCCSSSSCSSSCSSCCCCCSSSSCSSCSSSCSCSCCSCSSCSSSSSSSSSSCCCSCSSSCSSCSSSSSSCCCCSSCCSCCCSSCCSSCSSSCCCCSCSCCCSCCCSSSSSCSSCCSCSCSCCSCSSCCCCSCSCCSCSCSCSCSSCSCSSCCSCSCCSSCCSCCCSCSSSCSCSSCSSSSCSSSCCCCCSCCSCSCSSCSCCCSSSCSSSCSCSCSSCCSCSCCCSSCCCCSSSCSCCSSSSSCSSSCSSSCSSSCSSCCCSCCSCSCCCSSSCCCCSSSSSCCSSSCSCSSCSCSSSCCSSCCCSCSSCCCSSSCSSCCSCCCCCSCCCCSSCSSSSSSCCSCCSSSSSCSCSCSSCSCSCSCCSCCSSSCSSCCSSSCCCSSCSSSSSSSSCCSSSSSSSCCSCCCSCCCCCSCCSSCCCSSSSSCSCCCCCSCCSSCSCSSCCCCSCSCSCSSSSSSSCCCCSCCSSCCSCCSCSCCCSCSSCSSCSSCCSCSCCCSCSSSSCSCSCCSCCSCCCCCCCCSSCCSCCSSCCCCCCSSSSSCCCCSCSCSSCSCSCSCCSCCSCCCCCSCSCCCSSCSSCCCSCCCCSSSCCSCCSSSSSCSSSCCCSCCCCCCSCSSSSSSSCCSSCSSSCSCSCCCCCSSCCCCSCCCCCSCCCCSSCCCSCCSSCSSSCSCCCCCCSSCSCSSCCSSCCCSCSSCSSSSCCCSCSSSCCSCCCCSSSCCCCSCSSCCCCSSSCCCCSSSCSCCCCCCSCSSCCCSCSCSCSSCSCCCCSCSCCSSSCSCCCCCCCSCCCCSSSCSSSCSSSSCSCSSSSCCSSCCCCSSCSCSSSCCSSCCCCSCCCSSSCCCCSSCCSCCSCSSSCCSCCSCSSSSCCCSCCSSCCSCSCSCSCCSSSSCCCSSSSCCCCSSCSCSCSSSCCCSCSCCSCSCSSCSSSCSCSSCSSSCSSSCSSSSCSCCCSSCCCSSSSSCSCSCSCSCSCSSCSCCCCCSSCSSCCCCCCCSCSSSSCSCSSSSCSSCCCSCSSCCSCCSCSSSSSCSSSSCCSSSCSCSSCSSCSCCCCCSCCSSCCCSCSSCSSSCCSCCCCSCSSSCCSCCSCCSCCCCCCSCSCSSCCSCSCCCCCSCCSCCCSCSCCSSSSCCCSCSCCCCSSSCSCCCSSSCSSSSCCSCSCCSCCSCSSCCSSCSSCSCSSSCSSCCCSSSSCCCCSSSCCCCSSCCSCSCCSCSSSCCCSCSSCCSCSCCSCCCSCCCCCCSSCCCCCCCCCSSCSCSCSCCCSSCCSSSCSSSSSCCCSSSSCCSSCCSCSCSCCSCCCSSCSSSCCSSCCSCSSSCSSCCCSCCSSSCSSSSSSSSCCCCSSSSCSSCSCSCSCCCCCCCSSSSSSSSCCSCSCCSSCSCSCSCSSCCSCSSSCSCSSSSCCCCCCCSSSCSSSSSSSSCCSCSSCCCSSCSCCSCSCCSCSSCCCCSSCSCCSCCCSCSSSSCCCSCSCSSSSCCSCSCCSCCCCSCSSCSSSSSCSSSCCCSSSCCSCCSCSCSCCSSCSSSSCCSSSCCSCCCSSCSSCCCSSCSSSCCSSSSSSCCSSCCCCSSCCCSCCSCCSSSSCCSSSSSCCSSSCCSCSCSSCCSSCCCSSSSSSCCCCCSSSCCSSCCSCSCSCSCCCSSCCSCSSSCSSCCSCSSSCCCSCCCCSCSCSCSSCCSCCCSSSCCSSCSSCSCCSSCCCCSSCCSCCSSCCCCCCSSCCSSSCCCSCSSSSCCCCCSCCSCCSCCSCCCSCSCSCCSCCCCCSSCCCCSCCSSCSCSSCCSCCSCSCCSCCSSCCSSCCCCCCCCSCCSCCSSCSSSSSCCCCCCCSCCCCSCSCSSSCSSCCCSSCCSSCCSCSSSSCCSCCCCSSCCCSSCSSCSCCCCCSCCCSSSCSCSCSSSCCSSSSCCSSSCCCCCSCSCCSSCSCCCCSCSSCCCCSCCCCCCSSCSCSCSCCSSSSSCSCCCCCCCSCCSCCSSCSCCCCSCSCCSSSCSCSSSCSSCCSSCSSCSSSCCCCSSCCSSCSCSSCCCSSSCCCSCSCSCSSSCSCCSCCCCCSCSCSSSCSCCCCSSCCSSSSSCSSSCSSCSSCCSCCSSCCCSCCSSSSSSCCCSSCCSCCSCCSSCCCSCCCCCCSSCCSCCCCCCSSCCSSCSCSSCSCSSCCSSSCSCSSCSSSCSSCCSCSSCSSCCSSSSCSSCSCCCSCCCSSCSSSSSCSSCCCCSCSCCCCCSSCSSSCCCCCSCSSCSCCSCCSSSCCSSCCSSSSSSSSSSCSSCCCSCCSSSSSSSSCCCSCSSCSCCCCCCCSSCSCSSCCSCCCCSCCSCSSSSCSCSSCCSCCCCSCSSSSCCCCCCSSCCCSCSCSCCSSSCSSCCCSSSSSCSCSCCSCSSSSCCSCSCCCCCSSSSSSSSSCCSCSCSSCCSCSCSCCCCSSCCSCCCSSCCCCSSCSSCCCSSCCSCCSSCSSSCCCSSCCSCSSSSCSSCSCCCCCCSCSSCSCSSSSSCCSSCSCSCCCSSCCSSCCSSSCCSSSCSSSCCSSSCSSCSSCSSCSSCSSSCSSSSSCCCCCCCSSSSCCSSSCSCCCSSSSCSSSCSCSCSCCSCSCCCCSCSCCCSSCSCCSCSSCSSCCCSSCSSSCSSCCCCCCSCCCSSSSSCCSSCCCCCCCSSCCCCCSCCCCSSSSSSCSSSCSCSCSCCSCSCSCSSSCCCCSSSSCCCSSCSSSCSCSSSCCCCCSSCCCCCCSSCCCSCCSCSSCSSCCCCSCSSCCSSSSSSCSCCCCCSSCSSSCSSCSCSCCSSCCCCCSSCSCSSCCCSCSCCCCSCCCCCSSCCSCCSCCCCSSCSCCSCCSCCSCCSSCSSSSCSCSSCCCCCSCSSSCCCSSCCCCCCSCCCCCSSCCCSSSSCCSCSCSCSSSSSSCSSSSCCCCSSCSSSCCCSCSSSCCSSCSCSCCCCSSCCCSCSCCCSSCCSCSSSSSCSCSCSSCSCCCSCSSCSCSSSSSSCCCSSCSCCCSCCSSSCSSCCCCCCSSCCSSSSCCSSSSCSSCCCSCCCCSCCCSSSSCCCSCSCSSSSSSSCCCCSCCCSSSSCSCSCSSCCCSSSCCSCSCSSSSSCSCCCCSSSCSCSCSSSCCCCSCCSSSCSCSCCCCSCSCSSSCCSSCSSSCCSCSCCSCSCCCSSCSSSCCSCCCCSSSSCSCCSSCSSSSCCSSCSCCCCSCCSSCCCSSSCSCSCCSSSCSSSCSCSSCCSCSCCCSCSCCCSCCSSCCCCSSSCSCSCCCSCCCCCCCCSCSSCCCCSSSSCSCSSCSCCSCCCCSSCSSCCCCSCCSSCCSCSSCCCSCCCCCSSSSSCCSSCCSSSSSSSCSSCCSSSSSSSCSCCSCSSSSCSSSSCSCSCCCSCSSCCCCCSCCCCCCSCSSSSCSCCSCCSSSSSCCCCSSSSSCCCCSSSSCSCCSSCCCCSSCCCCCCCCSSSSSSSCSCSCCSCCCCCSSCSSCCSSCSCCCCCSSSSSSSSSCSSCSSSSCCCSCCSCCSSCSCSCSSSSCSCSSCCCCCCSSCSSCSSSCSSSCCSSCSCCSSCSSCSSSCCCCSSSSSCCCSSSCSCCCCSSCSCCSSSSCSSSSCSCSCCSSSSSCCSCSSCSSCCSSSCCCCCSCSSCCCSSCSCSCSSCSCCCCCSCSCCCCSCCCSCSCSSSSCCCCSCCCCSSSCSSSCCSSCSSCCCCSSSCSSSCSSSCSCCCCCSSSCCSSCCSCSCSCSSSSSCCCSCCCSSSCCCSSSSCCSCCSSSCSSCCCSCSSCCSSCSCSCCSCSSSSCSCSCSCCSSCSCCSSSSCSSCSCCCCSSSCCCCSCSSSSSSCCSSSCCSCCCCSSCCCSCCCSSSSCSSSSSCCCCSCSCSCCSCCCSCCSSCSSCSCSSSCSCSCCSSSCCCSCCCCSSCCSSSSSSSCSSSSCSSSSSCCSCCCCCCSSCCCCCSSSCSSCCSSSCSSSSCSCCCCSSSCCCSCSSCSCSSCCSCSSSCSCSCCCSCCSSCCSSCSSCSCSSCSCSSCCCSCSCSCCSCCCCCCSCSSCCCCCCCCCSCCSSCSCSCSCCCSCCSSCCCSCSSCCCCCCSCCCSSCCSCSSCSSCCSCCSCSCCCCCSCSCSSCSCCSCSCSSSCSSSCSSCSCCCCSCCSSSCCSSCSCCSCSCCCSCCSSCCSSSCCCCCSCCSSSCSCCSSCCSSCCCSSSSCCSSCSCSCCCCSSSSCSSSCSCSSCCSSCSCCSSSCCSSSCSSSCCCSSCCSSSSCSSCSCSSCSCCSSCSSCCCSCCCSCSCSCSSCSCSCSCCSSSCSSSSSCCCSSSCCSSCSCCCCCSCSCSSCCCCCSSCSSCSCCSCSCSSCSSCCSCSCSCSSCSSSSCCSSCCCSCSSCSSSSCSSSCCCCSCCCCSCSCCSSSSCSSCSSCSSCCSSCCCSSCCCCSSCSSCCSSCSSSCCSCCCSCSCSCCSCSSCSSSCCCCSSCCCCSSSSSCCCCSSSCSCSSSSCSCSSCSCSCSSSCCCSCSCCCCCSCSSSCSSCCSSCSSSSCSCSCCSCCCSCSSSCSSCSCCSCSCSSCSCCCCSCCSCCCSSSSSSSSCSCSCCSCSSSCCCSCSSCSCSCCCCCCCSCSCCCCSSSCSCSCSSCSSSSCSCCSSSSCSSCCCCSCCCCSCSSSCCSSSSSCCCCSCSSSCSCSCCCSSCSSSSSCCSSSSSCCCCSCCSCCSCSCSSSCCSSCCSCSCCSCCCCCCCSSCCSSSSSCSSSSSCCCSSCSCSCSCSSSSSSCCSCCCCSCSSCSSCCSCCSSCCSSCCCCCSCCCSCSSSCCSSSSSSCCSCCCSSSCCSSCCCSSCCCSCSCCSCSCSCSSSSSCSCCCSSSCCSSSCCCSSSCCSCSSSCSCSCSSSSCSSSCSCCCCSCCSCSSCSSCCCSSCSSSSCSCSSSCSCCCSSCSCSCSSSSCSCCSCCCSCSCCSCSCSCSCCSSCSSCCCSSSSSCSCSCCSCSSSSSCCCCCSCSCSSCCSSSCCSCSCSCCSSSSCSCSSSSCSCSCSSSCCCCSSSCSSCSCSCSCSCCCCSSCSCSSSSCSCCSSCCCCCSSCCSSCCSSCCSSSSSSCCSSSSCSSSCCCCCSCCSCCCCCSSCCSSCSCCSSCCCSCSSCSCSCCCCSCSCSCCSSCSSCCSCCSSCSSSSSCCSSCCSSCSSSSCCCCCCCSSCCSSSSCCCCSCCSCCCCCSCSSCCSCSSCCSSSCCCCCSCSSCCSSSSCCCCCSSSSSCSSSCSSCCSCSCCCCCSSSCSSSCCCSSSCSCSSSSCSCSSCCSCCSCCCSSSCCCCSCCSSSCCCSSSSCSCCCSCCSCSSSCCSCCSCCCSCCSSCCSCCCSCSSSCCSCSCSCCSCSSCSSSSSCCCCCCSCSSSSSSSSSSSSCCSCSSSSSSCCSSSCSCSSCCSCSCCSCSSCCSCSCSSSSCCSSSSCSCCCSSCCCCCCCSCCCSCSSCSSSSCSCCSCCCCSCCSSSSCCSCCCCSSSSCSSCCSCSSSCSSSCCSSSCSSSCSSSCCCCSSCSCSCSSSCSCCCCCSSSCCCSSSSSSCCSCCSCCSCSSCCCCSSCSSCCCSSSCSCSCCCSCCSSCCCSSCCSSCCSCCSCCCSSSSSCSCCCCSSSCSSCCCSCSCCCSCCSCCCSSCCCSSSCCSSSCSSCCCSSCCCCSSSSCCCCSCCCCSCSSCSSCSCCSCCSSCSSCSCSCCCSCCSSSCCSSCSCSCSCCSSSSSSCCCCCCCSSSCSSCCSCCCSSCSSSSSSCCSCSCCSCCCSCCCSCSSSSSCSCCSSCCCSCCCCCSCSCSSCCSCCCCSCCCSCSCCCSCSSCSSSSCSCSSSCSCSCSSSCSCCCSCCSCCSCSSSCSSSCSCSSCSSCCCCSCSCSCSSCSCSSCSCCSCSCSCSCCSCSCCCCCSSCSCSCSSCSSCCSCSSCSSSSSCCSCCCSSSSCSSCSCCCCSCCCSCCCSSCCCSSCCSSSCSCSSSCCSSSSSSSCCCCSSCCSCCCSSSSSCSSCSCCCSCSCSCCSSCSSSCSCSSCSSSSCCCSSSCSSSSCCSCCSSSSSSSCCCCCSCCSSSSCCSCSSSSSCSSCCCCSCCSCCSCCCSSCSSCSCSSCCSCCSCCCSCCCCSSSCSCCCSCSSSSCSSCSSSSSCCCCSCSSSCSCCSCCCCSSCSSCSCCCCSSSSSCCSSSCCSSSCSSSSSCCSCCCCSSSCSCSCCCCCSCSSSCSCSSSSSSCCSSSSSSCCCCCSSSSCCCCSCSSSCCCCSCSCSSSCSSSSCSSCCCSSSCCCCSSSSSSSCSSSCSSSCSSCCSCSSCSCCSCCCSCSSCSCSSCCSSCCSCSSSSCCCSCCCCSCSSSSCCSCSCSSSSCCCSCCSCSCSCSCSSSSSCCSSSCSCSSSCSCSSCSSCSSCSSCSSSSCCSSCSSSCCSCSCCCCSSCCSSSSSCCSCSCSSSSSSSCCCSCCCSCSSSCCCSCCSSSCSSSCSCSSCSCCCCSCSSCSCSCCCCSCCSSSCCSSSCSCSCCCCCCCCCSCSCSSSCCCCCSSSCSSSSSCSCCCCSCSCSSCCCCCSSSCCSSCSCCCCSCSCSCCCCCCCCSCCSCSSCCCCCSCCSSCSCSCCCCCCCSSCCSSCSSCCCCCSCCCCSSCCSSSCCCSCSSSSCCCCCSCSSSCSSSCSSSCSCCSCCSSCSSCSSSSSSSSSSSSCCCSCCCSCCCSSSCCCSCCCSCCSCCCSSCSCSCSSSSSCCSCCCCCCSSSCCCCSSCCSSCCSSSSSCSSSCCCCSSCCCCCCSCSSSCCSCSSCSCSCSSSSCSCSSSSSCCSSSSSSCCSSCCCSSCCSCCCSCSCCCCSCSCSCCCCSSSCSSSSCSCSSCSSCSSCSCSSSCCSSSSCCCSCSSSSCSSCSCCCSSCSSCSSSCSCSSSCSSCSSSSSSSCCSCSCSSSSCSCCCSCCSCSSSCSSCSCCCCCSSSSCSSSCCSSSCCCCCCSSSCCCCSCCCSSCSCCCSSCSCSCSSCCSSCSSSSCCSSSSSSCCCSSCSSSCSCSSCSCSCCSCCSCCSCSCSSCCCCCSCSSSSCCCCCSCSSSCSSCCCCCCCSCCSCCSCCCSSSCSCSSCCSSSSSSCSSCCSSSSSSCSSSSCCCCCCCCSCSSSSSSCSCCSSSSSCSCCCSSCSCSCSSCCCCCCSSSCCCCCCCSSCCSSCSSCSSCCSCCCCCCSCSCCSCCCCCCCCCSCSCSCCSSCCSCSSCSSCSSCCCSCSSSSCCCCCCSCCSSSSCCSSSSSCSCSCSSCCCCCCCCCCCCSSCSCCCCCCSSCSCSSCCSSCCSCSSSSCSSCCSCSSSSSSSCSSCSCCSCCCSCSCCSSCSSCSCSCCSSSSSCSSSCCSCCSCCSCCSCSSCSSCSCCSCSSSSCCCCCCCCCSSSSCSSCCSSCSSSSSCSSCCCCCCSCCCSCCCSSSSCSSCSSSCCSSCCSCCSCCSCSCSCCSSCCCCSSSSSCCCCSCSSSSSSCSSSSSCSSCSSCSSCCSCCSSCCSCSSCSCCCSSSCCSCCCSCSSSSSCSCSCSSCCCCSCSSCSSCCCSCCSSSCSCCCCSCCSCCCCCCCSSCSCCCSSSCSCCCCSCCSCCSSCSSCCCSSSSSSCSSSSSSCSSSCCSCSCCCCCSSCSSCCSCSSCSCSCCCSCCSCSSCCSCCCCSSSCCSCSSCCCCCSCSSSSCCSCCSCSSSSCSSCSCCSSCCSCCSSSCCSCSCCCCSCCSCSCSCCCSSCSSCSCSCCSCSSCCCCCSSSCSSSCSSCCCCSCCCCCCSCSSCSCCSSSSCSCCSSCSSSSCCCSCSCCSCCCCCSSCCSSSCSSSCCSCCCSCCSSCSCCCCSCSSSSSSCSCCCCCCSCCCCCSSCCSCCCCCSCCCCCCCCCCCCCSCSSCCCCSCCSSCSSCSCCCCSCSSSCSSSSCCCCCCCSSCCSSCSCSCCCSSCSSSCSSCCCCSSCSSCSCSCSCCCSCCCCSCCCSCCSSSCSSSCSSCCCSCSSSSCCCSSCCCSSSSCSCCSSSCSSCCCSCCCCCCCSSSCSCCCSSCCCCCCCCSCSCSCSCCSSSSCCSCSSSSSSCSCCCCCSCCSSCSCSCSCCCSSCSCCSSSCCCCSCSSSCSCCSSSCCSSCCCCSSSSSSCCSSCSSCSSSSCCSCCSSCSCCCSSCCSSSCSSSSCSCCSSSCSCSCCCCCCCCCCSCCSCSSCSSSCCSCSCCCCSSSCSCCCSCCSSSSSSSSSSSSSCSCSCSCSCSSSSCSSSCCSCSCCSCCSCCSCCSCSCSSCSCSSCCCSCCSSCSCSCCSCCCCSCSCCSSCCSCSCSCCSCSSSCSCSSSCSSSSSCCCSCSSCCSSCCCCCSSSSSSCSCCSCCCSSCCCCSSCSSSCSSSSCCCCCSCCSSCCSCSSSSCSSSSCSCCSSCSCCSSSSCCCCSCCCSSCSCCCCCCCCSSCCSSSSSSCCSSSCCCSCSSSCCCCCCSCCCSSSSSSSCSSCSCCCCCCCCCSCSSCCCSCSCCCSCCCSCCSSCSCSCCCSCCSSSSSCSSCSSCCCSCCSCSCCCCCSSSCCSCSCCSSSSCCSSCSCSSCCCCSCSSSCSCSCCSSSSSCCSSCCSSCCCCSSCSCSSCCCCSSCCCSCSSSCCCSSSSSCCSSCCSSSCSCCSCCSSSSSSCSCCCSCSCCCCCCCSCSCSSSCSSSCSCSCSSCSSSSSSSCCSCCSSSSCCCCSSSCCSCCSSCSSSCCSCCSSCSSCCSSCSCSSCCCSCSSCSSSSCCSCCSCSSSSSSCCCCSSCSCCCSSCCSCCCSCSCCSSSCSCCSSSSCSCCCSCSCSSSCCSSSSSSSSSCCSCSSSSSCCSCSSCSSCSCCSCSSSSSSCSCSSSSSCCCSCCCSCCSCSCSSSCCCSSSCSSCCCCCSCCSCCSCSCCSSCSSCCSCSCSCCSSSCSSSCCCSSCCCSCCCSSCSSCCSCCCSCSCCCSCSSSCSSCCCCCSSSCCSSSCSSCCCSSSSCCSSCCSCCCSCCCSCSSCCCSCSCCSCSCSSCSCCCSCSSSSSCCCSSCSSSSSCCSCSCCSCSSSCSSCSSSCSCSCSCCCSCCCSSSCSSCCCCSSCSSSSCSCSCCCSCSSCSSSSSCSSCCSSCSCCCCSCSCCSSSCSSCCCCSCCSSSCCSCCSSSCSSCCSCCCCSSSSSCSSCSCCCCSSSSCSSSSCSSCSCCSSCSCCCSCSCCSCSCCCSSCSCSSCSCCSCCCCCCCCSSSCSCSCSSSCSCCSCSCSCSSSCCSCSCSSCCSSSCCSCSSCCSSSSCSCCSSSSSCCSSSCCCCCCSCCCCSCCSSSCSSSCSSCSSSCSCCCCSCSSSCCCSSSSCCSCCSCSSSCSSCSCSCSCSCSCCCCCCCCCCCCCSCSCCCSSCCSCSSSSCCSCCCSSSCSSSCSSCSCSCSSCCCSSCSSSSCSCSSSCCSCSCCCCSCSCCCCSSCSCSSCCCSCCCCSSCCCCSSCCCCCSCCCSSCCSSSCCCSSSCSCSSCSCSSCCCCSCSCCSSSSSCSCSCCCCSSCCCSCCSCCSCSCCSCCCSCCSCSCSCSCSCCSCCCSSSCCCCCSCSSCCCSSCSSSSSSSSCSSSSCCCSSCCSSCSSCCSCSCCCCCCCCSSCCSSCSSCCCSCSSSCCCCSCSSSSCCCSCSCSSSCSSSSSSCSSSSSSSSCSSCSSSSSCCCSCSCCSSSSCCSSSSSSSSCCSCSCCCSCSCCCSSCCCSSSSSCCSCSCSCSCSCSSSCCCCCCSCCSSCSSSSCSSCSCSCCSSCSSCCSSCCCSSCCSSSSCCCSCSSCSCSCSCCCCSCSSCSCCCSCCSCSCSCCCSCSCSCCSCSSSSSSCCCCSCCCSCCSSSSSCSCSSCCCSCSSSCCSCSCCSCCSCSSSCCCSCSCSSSSSCCSSCCSSCSCCSSSCCSSCCCSCSSSCCCCCCCCCSCCSSSCCCCSSSCSSCSCSCSSSSSSSSSSCSCCCCCCSSCCSCSCCCSCSSSCCSSCCSSSSCCCCCCCCCSCCSCSSCCCCCCCCCSCSSCCSSSSCSCCSSSCSCCCSSSCCCCSCSSSSSCSCCSSCSSCSCCCSCSSCSCSCSCSSCSSCCSSCCSCSCSSCSSCSSCSCCCSCCCSCSCSSCSSSCCCCSSSSSCSSCCCCCCSSSSSCCCCSSCCCSSSCSSSCCCCCCCSCCCSSCCSCCSCSSCCSSSCCSCSSCSCCSSCSCCSCCCSSCCSCCCSCCCCCCSSSSCSCSCCSSSCSSCSSCSSSSCCCSSCCCSSSCSCSSCSCCCCSSCCCSCCCCCCCSCCSCSCSCSCCCCCCSCSCCSCCCCCCCSSSCCSCSSCCSCCSSSSSSCCSSSSSCCSCCSCSSCCCSSCCSSSSCSSSCCCCCCCCSSSSSCCSCCSSSSCCCSCCCSCCSSCSCCSCCCSCSCSSSCCSSSCCCCSSCSSSSCSSCSSSCSSSCCSSSCSCSSCSCCCCCSCSSCSCSSSSCCSCCSSCCCCSCSSSSCCSCCCSCSSCCSSCSCCCSCSSCSSSSSSSSSCSCSSCSCSCCSCCCSSCCSSCSCCCCSSCSCCCSSCSCSSSCSCSSSCSCSSSCSSSCCCSCCCCCSCSCCSCSCCCCCSSSCSCCCSCSCCSSCSCCSSCCSCSCSSSSCCSSCSCSSSSSSCCCSCSSCCCSCSSCSSCCSCCCSSCCSCSSCCCCSCCSSSCSCSSSSCCSSCCCSSCCCCCCSCCSCSCSSCCCSSSCSCCCCCSCCSSCSSSCSCSCCCCCCSSCCCSSCSCCSCSCSCCSCSSSSCSCCCCSSCSSSCCCCSSCSCCCCSSCCSCSSCCCCSSCCCCCCCSSCSSCSSSSSSCSSSSSCSSSSCSCCSSSCCCSCCCSSSSCSSCSCCCCSSCCCCCSCSCCCSSSSSSSCSCSSSSSCCCSSCSSSCCSCSCCCCSSSCSCCCCSSSCSCCSSSCCCCSSCSSCCCCCSCSSSSCSSSSCCCSCCCCSCCSCCSCSCCCSCCSCCCCCSSSCCCCCCCSCCCCSSCSSSSCSCCCSSCSCSSSCSCCCCCCCCSCSCSSCSCCCSSSSSSCSCSCCSCSSCCCCSSSSCCCSCSCCSSCCSSCSSCCCCCSSSSSCCCSCCSCCSSSSCSCSCSCCSCSCCSCSSCSSCCCCCSSSCCSSSSCCCSSCSSCCCCCCCCSCCCCCSCSCSSCCSSCCCSSSCCSCCCCSSCCSSSSSCCSCCSCCCCSCCSSSSSSCCSCSCSSSCSSSSSCCCCCSSSSCSCSCCSSSCSCSCCSSCSCSSSCSCSSCSSCCSCSSSSCSCSCCSSSCSSCSCCSSCCSSCSCCCSSSCCSSSCCCSSSCSSCCSCCCSSCSCSSCSCSSSSSCCSCSCSCSCSCSSSSSSCCSCSCCCSCSSSCSSSCCCSSCSSCSCSSSSCSSSSSCSCSCCSSCCSCSSSSSSSSSCCSSCCCCSSCSCSSCSSCCCSCCCCCCSSCCSCSCSCCCCSCSCSSCSCSCCCSCSSSSCSSSCCSCSSSCSSSCSSSCCCSCSCCSCSCCSSSCSCSCSCSSSSCCCSCCCSSCSCCSCCSSSCCCCCSCSCCCSSSSSCCCSSCSCSSSSSSSSCCSSSSCCCCCCCCSSSCSCSSSCSSCSCSCCCSCCSSCCCSSSCCCSSSCCCSSCCSSCCCSSCSSCCCCCSCSCSSCSCCSCSCSCCCSSSSSSSCCCCSCSSSCSSSSCSSCSCCCSCCSCSSSCCSCSSSCSCSSSSSSSCCCSSSSSCSCSCCCSCCCSCSCSSCCSSSCCCCSSCCCSCSCSCSCCCSCSSCSSCSCSSSCCCSSSSSCSSCSCCCSCSCCSSSSCCCCSCCCCCCSCCCCCSSCCSCSSSCSCCSCSSSSCCSSCCSSCSCSSCSSCCSSCCSCCCSSSCCCCSCSCCSCCSSCSSSSCSCSCSSCCCSSSCCSCCSCSSCSCSCSSCCSCCCSCSSCSSSCSSSCSSCSCCCCCCSSSSCSSCSCCCSCSCCSCSCSSCCCCCSSSSSSSSSSCSCSCCSCSCSCSSSSCCCCSCCCCSSCCSCSSCSCSCCCCSSSCSCCSCCSSCSCCSSSCSCCCSSCCSCCCCCCSCSSSCSSCCCCCCCCSSSSSCSCSSSSCCSCCSSSCSCCSCSCSSCCSSSSSCCSCCSCSSSSSSSCCCSCSCSSCSSSSCSCSCSSSSCSCSSSSCSSSSSCSSSCSCCCCSSCCCCCSCCCSCCSSCSSCCSSSSCCSSSCCSSSSCSSSSSCCCSSCCSSCSSSSSSCSCCSSSCCCCSSCCSSSSCCCSSCCSSSCCSSCCCSSSCSSCCCSCSCCSCSCCCSCSCSCSSSSSSSSSCSSSCSCCSCCSCCCCSSCSSSCSSCSCSCCSCCSCCSSSCCCCSSSSCSSSSCCCCCCSSCSSCCSSCCCSCSCSCCSSSCSCCSCSCCCSSSSSSSSSSCCSCSSCCSCCCSSCCCCCSCCCCSSSCSCSCCSSCCSSCSCSCCSSSSSSCCCSSCSSSSCSSCSSSSSSCSSSSCSCSCSSCSSSCSCSCCCSSSCCSSCCSSCCCSCCSSSSCCCCSSSCSSSSCCSCSSSSCSCSSSCSCSSCSSSSCCCCCSSCSSCCCCSSSCSCSSCCCSCSSCCCCCCCCCCSCCSCSSSSSCCCCCSCSSSSCCSSCCSSCSCCCCSSCSSCCSSCSSCCCSSSCSCSCCCSCCCCSCCSCCCCSSCCSCSCCSCCSSCCSSSCCSSCCSCCCCCCSSSSCSCCCCSCSCCCSCCCCSSCCSSCSCCSSSCSCCSSSSSSCCSCCCSCSSSSCSSSCSSCCCSSCSSCCSCSCCSCCSCSCCSSCCCCCSCSCSCCCCCSSSSCCCSSSSCSSSSCCCCCSCCCCCCCSSCCSCSCCSSSSCCSCSSSCCCSSSCCCCCSSSCSSSCSSCCCCSCCCCSCSCCCSSSCSSSSSCCCSCSCSCCSCCSCCCSCSSCSCSSSSSSSCCCSSCSCSCSCCCSSCCCCCCCSCSCCCSCSSCCCSSCCSSSSSSCCCCCCSCCCSSSSSCSCCSCCCSSCCCCSCSSSSSSSSSCSCSSSSCSSCCCCCCCCSSCSSCCSCCCSSCSCSCCCSCCSSSSCCSCSSCCCSCSSSSCCCCSSCSCCSSSSCSSCSSCSCSSCCCSSCCCSCSCCCCCCCSSSSCSCCSCSSSCSCSSSSSSSSSSSSSSSCSSSSSCCSSCCSSCSSCSSCSCSCCSSCSCCCSCCCCSSCSSCSSSCCSSCCCCSSSCCCCSSSCCSSCCCCCSSCSCCSCCSSCCSCSSSCSCCCCCSSSSSSSCCCSCSSCSCCSSCSCSCSSCCSCCCCSCCSSSSSSSSSCSSCSSCCSCCCSSSCSCSCCSSSSSCCSSSCSCCCCSSCCCSSCCCSCSCSSSCCSSCCSSSSCCSSSSSSSSSSSSSSCCSSCCSCSSCSCCSSCCSSCCSSSCSSSCSCSCSSSSCSSSCCCCCCSSSSCSCCSSSSSSSCSSCCCCSCCSCSSCSCCCSCCCCCSSCSCSCCSSCCCCSSSSCCCSCSSSSCSSSCSCSCSSCCCSSSCSCCCCSSCCSCCSSCSSCCCSSCSSSSSSSSCSCSCCSSCCSSSCCCSCSSSSCSSSCSCSSCSCCCCCCCSCSCCSSCSSCSSSCCSCCSCSCCSCSCSSSSSCSCSSSSSCCCSSCSSSCCSSSCSSCSSCCCSCSCSCSCCCSCCSCSCCSSCSCSCCSSSSCCCCSCSSCCCCCSSSCSSCCCSCCSCSSCSSSSCSCCCSSSCSCSSSCCCCCSCSCCSCSSSSSCCSSSSCCCCCCSCSCSSSCCCCSSSCSSCCSSCSSCSCSCCSCSCSSCSSCCCCCCCSSSCCSCCCCCCCSCSSCCSCSSSCCSSSSCSSSSCCSCCCCSCCSSCCCSSSSSSSCSCSSSCCCSCSSCSSCCSCCCSSSCSSCSCSCSCSSSCSSCSCSSCCCCCCSCSCCCCSCSSSCCCSSCCSSSCSSCSCCSSCSCSCSCSSCSSCCSCSCSSSCSSSCSSSCSCSSCSCCSCSCCCSSCSCSSSSCCSSCCSSSSSCCCSSSSCSCCCSSSSSSSCCCCCSSCCCSCSSSSSCSCCSSCSCSSCCSSSSCSCCCCCCCCSSCSSCCCCSSSCSSSCSCCSSCCSCSSSCCCSCCCSCSCCSCSCSSSCCSSCSCSCCSCSCCSSCCSCSSCSCSCSSSSCSCSCSCCSCCCSSCCSCCSCSCSCCSSCSCCCCSCSCCCSSSSSCCCCSCCSCCSCCSSSSCCSCSSCSSCSSCCSCSCCSCSCCCSSCSCCSSCCSCSCSCSSSSCCSSCSCSCSSCSCCCSSCCSSCSCCSCSCSSSSCCCCCCSSSCCCSCCSCSSSSCCCSSCSCSCSCCCSSCCCSCSSCCCCSSSCSCCCSCCSSCCCSSCCSSSCCSSSCSSCCCSCSCSCSSCCCCCCCSCSCSSSSSSCSSCCSSSSSCSCCSCCCSSSCSSSCSCSSCCCSSCCSSCSCCCCCCCSSCSSCSCSCSCSSSCCSCCCCSSSCCSSCSSSCCCCSCSCSCCCSCCSSCSCSCCSSSSSCSSCCSSCCCCCCCCCSSCCCSCSSSSSCSCCSCSCCSCCCSCSCCSCSSSCSSCCSCCCSCCCCSCCSSSSSSCSSCCCSCCCSCCCSSCCCSSSCSCSSSCCSCCSSCCCCCCSSSCCSSSSSSSCSCSSCCCCCSCCSCCSCCCCCSCCCSSSSSSCCSSCSSSCCCSCCCSCCSCCCCSSCCCSCCSSSCSCCSSSSSCCSSCCSCCSCSSCSCCCCCCSSSSSCCSSCCCCCCSSSCSCCSSSCCCCSSCSCSSSCCSSCSSCCCSCSCSCSCCCSCSSSCCSCSCCCCCCSSCSCSCCSSSCSCSCSSCCSCCSSCSSSSCSCCCSCSCCSSSSCCSCCSCSSSSCSCSCCCSSCSSSCSCCCCCSCCSSCCSSCCSSSCSSCCCCCSSCSSSSCCSSCSCCCCCSCCSSSCSSCSCCCSCSSCSSSCSCCSCCCSCSCCCSCSSSCSSSSCSCCCSCCSCSSSCCSSCCSCCSCCSSCCCSCSCCSCSCSSCSCCSCSSCCCCSCSSSSCCCSSCCSSSCCCCCCSSCSSSSSCSCCSCCCSSCCCSCSSCSCSSSSSSSSSSCSSSCSSCSCSCCCSCSCSSCSSCCCCCCCSSSSCSSSSSCCSSSSSCCSCCCCCCCSSSCCSSSCSSCCCSSCSCCCCSCCCCCSCSCCSCSSSSSCCSSSSCCSCCSSCSCSCCSCCSCCSSCCCCCCSCCCCSCSCCCCSSSSCSCSSCCCCCCCCCSCCCCCSCCSCSCSCCSCSCCSSCSCCCSSCCSSSCSSSSSSSCCSCCCSSCCCSSSSSCCCCCCSCCSCCSSSCCSSCCSSCCSSSSSCCCCSSCCSCCCCSCCCCSSSSCCSSCSSSSSSSSSCCSSCCSCSSSCSSSCSCSCCSCSCCCCCSCCCCCSSSCCSSCCSSCSSCSSCSSSCCSCCCSCCCSSSSSSSSCSSCSSCCCSSCSCSCCSSCCSCCSCCCCCSSCSCCSCCSCSSCSCCSCSCCCCSSSSCCCCCCSSSSCCSSSCCSSCSSCSSSCSSSCCCSSCCCCSCSCCCCCSCSCCCCCCCCSSSCCCCCSSSSCCCCSSCSCCSCSCSCSSSSCCSCSCSSSCSSCSSSSCCSSSSCCCCCCCSCSCCCSSSSCSCCSSCSCSCSCSSCCCCSSSCCSSSSCCSSCSSSSSSCCCCSSCSCSSSCSSSCCSCCCCCCSSCSCSCCCSCSSCSSSCCCSCSSCSCCSCCCSSSSCCCSCCCSCCSCCCSCSSSSCCCCCCSCCCCCSSCCCSCSCCSSCCCCCSCSCCSSSCSSCSSSCSSSCSCSSCSSCSCSCCSCSCCSCCSSCSCCSCSSCCCSSSCSCSSCSCCSCCSCSSSSCSSSCCCSSSSSCSCCSSCCCSCCSCCCCCCCCCSCCCSSSCCCCCCCSSCSCCCSSCSSCSCCCCSCCSSSCSCSCCSSSCSSSSSSCSSSSSCCSSCSCCCSCSCSSSSCCSSSSCCSCSCCCCSSSSSSSCCCCCSCSCSSCCCCSCCSCCSCCSSSCSCCSCCSSCCSCSSCSCCSSCSSCCCSCSCSSSCSSCCSCSCSSSCCSSCSCSSSCSSSCSCSSCCSSSSSSCSSCCCCCSSSSSSCCCCSCCSCSSSSCCSCCSSCSSCCCCCSSSCCSSCSSCSCSSSCCSCCCCCSSSCSCCSSCCSSCCSSCCCSSCCCSSSCSCCCCCSSSCCCSCSSCCCSCCCCSSSSSCSCSCSSCSSSSSSCSCSCSCSSSCCSCSCSCSSCSCCCSCSSSCSCSSSCSSCCCCSSCCSSCCCCSSSCSCCSCSCCSSSSSSSCSSSSSCCSCCCSSSCCCCSCSCSCCCSCCCCCCCCSSCCCCCSCSCSSCSSCSCCCCCCSCCCCSCCSCSCSCCCCSCCSSCSCSCCSSCCCCSSCSCCSSSCSSCSCCCSSCSCCSCCSCCSCCSSSSCCCSSCSSSCSCCSCCSSSCSCCCCSSSCCCSSSCCSSCSCSSCSCCCCSCSSCSSSCSCSCCCSSCCSCCCCSSSSSCSCCCCCCSCSSSSSSCCSSSCCCCSSSSSSSCSCCSSSCCCSCCCCCSCSSSSCSCSCCCCCSSCCCCCSCCCCCCSSSSSCCSSSSSSCSSCCSCSCCCSCSCSCSCCCSSCSSCSSSCSCSSCSCCSCSSCCCSCCSCSSCCSSSSSCCCSCSSCSCSCSSCCCCSCCCSSCSCCCCSCSSCCSSCCCSSSCSSSCCSCCCCCCCCCSSSSSSCSSSCSSSCCCCCSCSCSSCCSCCCSCCSSSSSCCSSCCSCCCSCCSCCCSSSCCSSCSCSSSSSSSCSSCSCSCCSCCCSSSCSSCCCCSCCCCCSSCSSSSSCSCCSCCCSSCSCCSCSSSSSSCCCSSCCSCCSCSSSSCCSSCSSSSCSSCSCSSSCSSSSCSSCSCCCCCSCSCSSSCCCSSSSCCCSSSSCSSCCCSSSCCSCCCSCCSSCSSCSCCCSCCSSSCSSSCSCCCCSCCSSSCSSCCCSSCCSSCCSCSSSSSCCSCCSCSCCSCSSSCSCSSCCSCCCCCCSCSSSCSSSCSCCCCSSSCSCSCCSSCSSSCSCSSSSSSSSSSCCCCSSCCSSSSCSCSCSSCSSCCSSCCSCCSCSCSCSSCSCCCSSSCCSCSCCCCCSSCCCSSCSCCSCSSSCCCCSCCSSCSCSSSSCSCSCSCCSSSCCSCCSCSSCSSSSCSSSSCCCSCCCSSCCCSSCSCCCSSSCSCSCCSSSSCSSSSSSCSCCCSCSCSCSCSSSCCSSCSCSCSCCCSSCSSSCSSSCSSSCSCSCSSSCSCCSSSSSCSSCSCCCSSCCCCSSSCCSSCSCSCCCSSCCCSSCCCCCCCSSCCCSCSCCSSSSSSSCSSCCCCSCCSSCCCSSSSCCCSSCSCCCSSSSCCCCSCCSCCCSCCCSSCSCCSSSSCCCSSCCSCCCSSCCCCSSSSSCCSCCCSSCCCSSCCSCSSSSCCCSCSSSSSSCSCSSSCSCSSSSCSCSCSSCSSCSCSSSSSCSCSCSSCSCSCSSSSCCCCSCSCCSCSSCSCSSSSCSSSCSCCCSSSSSCSCSSSCSCSSSCCCCCCCCSCCSCSSSCCSSCSCCSSSCSCSCCCSCCCCCSSCCSCSSSCSCCSCSCCSCSSCCSCCCSSCSCCSSSCSCCSCCSSCCSSCSSSSSSSCCCSCCCSCSSSCSCSCSSSSCCSCCCCCCSSCCCSSCCCCCCSSCCCSCCSCSCSCSSCSCSCCCCSCCCCCSSSCSSCSSCSCCSCCCCCSCSCSSSSCCSSCSSSSSCSCSSSCCCSCSCSCCCCSCSSCCCCSCCCCCSCSSCCSCSSCSSSSCCCSSCSSSCCSSSCCCCSSSCCCSSCSCSSSSCCCCSCSCCSSSCCCCCCCCCSCCSSSSCSCCSCSSCSSCCSCSCCCSSSSSCCCSSSSCCSCCCSSSCSCCCSSCCSSSSSSCSSCSCSCCCSCSSSCSCSCSCCSSSCCSCCCSCSCSCCCSSCSSSSCSCSSCSSSSSSSSCSSSSSCCCSCSCCSSSSCSCSCCCSSCSCSSCSCSCSCCSSSCCSCCCSCCSSCSCCCSCCCSCCCCCSSCSSCCSCSSCSSSSCCSSCCSSSSCSCSSSCSCSSCSSSSSSSCCSSCSCSSSCCSCSCSSCSCCCCSCSSSCSSSCCSCCSSCCSSSSCCCCCSSSSCCCCSCSSSCSSSSSSSCSSCCCCCSSSSCCSSSSSSSCSCCCCCCCSCSCCCCSSSCCSSCSSSCCSCCSCCSCSCSCSSSCCSCSSSSCSSSCCCCSCSCCSCCCSCSSSSCCCCSCCSCSCCCCCCSCCCSSCCSSSCCSCCSSSSCCSCCCCCSCSSSCCCSSCSCSCSCSCSCCSCCCCCSSCCSCCCSSCCSCSCCCSSSSCCSCCCCSSSCSSCSCCCCCSSSSCSCCSCCSCSSSCSSCSCSSCSSCCSCSCCCCSCCSCCSSCSCSCSCSCCSSSCSSSSCSCCSSSCSSCSSSSSCSSSSSSSSSCCCSCSSCSCCCCCCCCCCSCSCCCCSSSSSCCCCSSCSSCCCSSCSCCSCSCSCSSSCCSCSSCCCSCCSSSCCCSSCCCSSSCCCSCCSSCSCCSSCSCSSCCSCCSCSCSSCSCCCSCSCCCSSCSCSCSCSSSCSSCCCCCSSCSSCCSCCSSCCCSSSCCSSSSSSCSSCCCCCCCCSSCSSCCSSCCSSSCCSSSSSSCCSCSCCCSCCCCCSSCSSSSSCSCSCCSSCSSCSSCCCCCSCSSCCSCSSCSCCCSCSCCCSSCSCCCSSCCCCCSSCCCCSSSCSCCCCSCSCSCSCSSCSSSCCSSSSCSCCCSSCSCCCCSCCCCSCSCSSSSSCSCCCSCSSSSCCSCSCSSSSSSCSSSSCCCCSCSSCCCCCSSCCCSCCSCCCCCCSSCSSSSSCCSSSCCCSCSCSCCCCCSSSSCSSCSSCCCCSSSCSCSSSCCCSSSCSCSSCCSSCSSCCSCSSSSCSCCCSCCCCSSCCCCSCCCSSCSSCCSCSCCSCSSCCCCSCCCCSSSSCCCSCSSSSSCSCCSSCCSSSCCSCCCSSCCCSSCSCSCSSCSCSCSSSCCSSCSCCCCCSSCCSSCSSCSSSSSCCSSCSCCCSSCSCSSSCSSSCSSSSSCCCCCCCCSSSSCSCCSCCCCCSSSSSSSCCCSCSSSCCSCSCSSSSSCSCSSSCSSCCSSSCCSCCSSSSCSCCCSSSSSCCSSCSCSSCSSCCSSSSCCCCCSCSSCCCCSCSCSCSSCSCCSSSSCCSSCSCSSSCSSCSSSCCSSSCSSCSSSSSSSSCCCSSCSSSSCSSCCCCSCSSSSSSCCSSCSCSCSCCCSCCSCSSSSSCSCCCSSSSSCCSSCSSSCSCCCCSSSSSCSSSCSSSSCSCCCCSSSSSSSSSSSSSCSSSSCCCCSCSCCSCCCSCSSCCCCSSCCSSCCSCCCCCCSCSCSSCSSSCCCSCSCCCCSCCSSSSCSCSCSSSSCCCCCSCSCSSCCSCSCSSCCCSCCCSSCCCCCSSSSCCCSSCCCCSSSCCSCSCSCSCSCCCCSSCSSSCCCSCCCSSCSSCCSSSCCSCCSSCCCCSCSSCCSCSCSSCCCCCSCCCSCSCCCCCCSSSCSSSSSSSCCCCSCCSCSSSCCCSSCSCSSSSCCCCCCSCSSSCCSCSSCCSCCCSCSCSSSSCSSCCSSSSSSCSSCCCSCSCSSCCSSSSSCCCCSCSSSSSSSCCSSSCCSSSCCSSSSCCCCSCSCCSSSCSSSSCSSCSCSSSCCCSCCCSCSCCCCSSSCSSCSCCCCSCCCSCCSCCSSCSCCSCSSSCCCCCSSSSCCCCSSCCSSCSCCCCCCCCCSSSCCSSSCSSCSSSCCSCCCCCCSSSCCCSSSSSSSSCCCSCSSSCSCSCCCSSSCSSCCCCSCCSCSCSSSSCSSSSSCCSSCCSCSCSCCSCCSCSCCSCSCCSCSSSSSSCCSSSSSCSCCSSSCCSSSCSSCSCCSCCCCSCCSSCCCCCCCCCCSCCCCSSSSCSCCSSSSSCCSCCCSCSCCCSCSCSSSCSCCCSSSCCSSCSCSCCCCSSCSCSCSCCCSCCCCSCCSSSCSCCCCSSCSSSSSSSSSSSCCCCSSCCCCCSSSCSSCCSSSSSCSSSCCCCCSSCSCSCCCCSSSSSCSSSCCSSCCCSCSCCSSSCSSSCSSCCSSSSSCSCCSCSSCCSCCSCCCSCCSSCSSCCSSCSCSSCSSSCSCCCSSSCCSCCCCSCCCCCCSSSCCCCSCCSCSSCSCSSSSCSCSSSSSCCCSCCSCSSCSSCSSSCCCCSCCCCSSCCCCCSSSCSSCCCCCCSSSCCSSSSCSSCSSCSCSSSCCCSCSSCSSCSCCSCSSCSSSCCCCSSCCCCSSSCSSSSCSCSCCSSSCCSSCSSCCSSCSSSCCSSSSCSSSSCCCSSSSSCCCSCSSSCCCSCCCCCSCSCSSSCSCSCCCCSCSCSSCCCSSCCSCSCCSSSCCCCCCSCCSCSCSCSCSCCSSCCSCCCCSSSCCCSSCCSCSCCSCCCSCSSCSSSSCSSSCSCSSSCSCSSCSSCSCCCCSCSCCSSCSCSCSSCSCSCCCCCSSCCCSSCCSSCSCSSCCCSCCSCCCSSSSCSCSSSCCCSSCSSCSSCCCSSCCSCCCSSSSCSCCSCCCCSCSCCSCCCCCCSSSSSSSSSSCCSSCSSCSSSSSCSCSSCSSCCCCCCSSCCCSCSSCSSSSSSSSSCCCCSCSSCSSSSSCCSSCSCSCCSSSCSSCSCCSCSSCCCCSSCCCSSCCSSSSSCSCCCSCCCCCSSSSSCSCSCCCCSCSCSSSSSCSSCCCSCCSSCCSCSSSCSSSCSCCSSCCCCSSCCCSCSCCSSCCSCCSSCCCSCCSCSSSSCCSCCSSSSCSSCSSCCCCCCCSCSCCCSSCSSCSCSSSCSSSCSCCSSSCCCSCSSCCCCSSSCCSCCCSSSCSSCCSSCSCSSCSSSCCSSSCCSSCSCSSCSCSSCSSSCCSSCSCCSCCSSCCCCCCCCCCSSCCSSSSSCSSCCSCSSCCCSCCSSSCCCCCCCCSCSSSCSSCSSSSCSSCCSSSCSSCSCSCCCSCCCCSSSSCSSCSCCSSCSCCSCSSSCCCSCCCCSSCSCSSCCSSSSCCCCSSCSCSCCCCCCCSSCCCCSSSSSSCSCCCSCSCCCSSSSCSSCCSCSSCSSSCCSSSSSSSSCSSSCCSCSSSCCSSSSSSSCSCSSSCSCSCSCCCSSCSSCCCCCCCCCSCSCSSSCSCCCCCSSSCSSCSCCCCSSSSCSCCCCCCSCSCCCSSCCCSSSCSCSCSCCSSSSCCCCCSSCCCSSCSSCCSSSCSCSCSCCSCSSSSSSCSCCSCCSCSSSSSSSSSSSCSSCCSSSSSSSSCSCSSSCCCSSSCSSCSCCCCCSSCSSCSCCSCCCSCSCSCSCCSSCCCSCCSCCSSCSSCSSSCCSCCCCSCCCCCCCCSCSCCSCCSCCCSSSCSCSCCCSSSSSSSCSSSSCCSSCSSSSCSSCCCCSSSCCCCSSSSCSCSSCSSCCCSSSCCCCCCSCCSCCSCCCCCSCCCSSCSCSSCCCCSCCCSCCSCCSCCCSCCSCCCCCSSCCSCCCSSCCSCSCSCSSSSCSSCSCSCCCSSSSSSCSCCCCSSCCCSCSCCSSCCSSSSCSCCCSCSSCCCSSSSCCCCCSCCSSCSCSSCCCCCCCSSSCSCSSCCSSSSSSCCSCSCSCSCSSSSSCCSSCCSSSSSSCSSCCCSSSCSSSCCCSSSSCCCCSSCCSCCSSCCSCCSCCSCCCSSCSSCSSSSCCSSCSCSCCCSCCSCSCCCCSCSCCCSCCCSCCSCSCSSCSCCSSSCCCCSSSSCSSSSSCSCSSCSSCSSCSSCCCCSSSSCSCSCSSCSCCSCCCSCCCSCCSSSCSCSCSSCSSCSCCCSCSSCCCSSSCSCCCCSCCCCCSSSSCCCSCCCSSSSCCSCCCCCCSCCSSSSSCSCCSCCSSSCSCSCSCCSCCCCSCSCCCCCCSSCSCSSSCCSCCCCSSSCSSSSCSSCCCCSSSCSCSSCCSSCSSSCCCSSCSSCCSSSCSCSCCCCSCSSSCCCSSCCCCCSCSSSSCSSSSCSSCCSCSCCCCSCSSSCCCSCSCCSCSSCSSCSCSCCCSSSCSCCSSSCSSCSCSSSSCSCCSCSSCSSCCCCSCSSSSCCSCSCSCSCCCCCCCCSCSCSSCSCSSCCCSSSSCCSCSCCSSSSCSCSCCCCCCCSSCSSCCSSCSSSSSCSSSCCSCSCCSSSSSCCCSSSSSSCSSCSCCCCSCSCSSSCCCSSSSCCSCSSSSSCSSSSCCCSSSCCCSSCCCCSCCSSSSCSCCCCCCCCCCCSSSCSSCSCSSCCCSSSCCSSCSCCCCCSSSCCCCCSSSSCSCCCCSCSSSSCCSCCCSSSSSCSCSCSCCSSSCSSSSCSCSCSCCSSSCCSSCSSSCSCCCSCCSCCSSSCSCCSSSSCSSSCCSCCCSCSSCCCCSSSCSCSCSCSSCCCSCSSSCSSSCCSCCSCCSSSSSSCSCCSCSSSCSCCCSCSSSCSCSSCCSCSCCCSSSCSSSCSSSSCSSCSSSSCSSSCCCCSCSCSCCSSCCSSCSSSCSSCCSCSSCCSSCCSSCSSCCCCCSCSSCSSCSCCCSSSSCSSCSSCCCSCSCCCCSSSCCCSSSCCSCSSCSCCSSCCSCCCCCSCCCCSCCCSSCSSCSSSCSCSSCCSSCCSSSCSSSSCCSCSCCCSSCCCCSSCSCCCCSCCCSCSSSSSSSSCCCSSSCCSCSSSSCCSSSCCCSCSSSCCCSSCCCSSSCCSSCCSCSCCCSSSCSCSCSCSCSCSCCSSCSSCCCSSSCSCCCSSCCSCSSCCSCCSCCSSCCSCSCCCCCSSSCCSCCSCCSSSCCCSSCSSSCCCCCSCCCSSSSCSCCSSCCSSCCSCSCCSSSCCSCCSSCSSSSCSSSCSCCCSSSCCCCSSSSCCCSSSSSSSSSSSCSSSCSCCCSSCSCCCSSSCSSCSSSCSCCSCSSCSCSSSCSSCCSCCCSSCCSSCSSSCCSSCSCSSCCCCCSSCCSCSCCCSSSSCCSSSSCSCCSCCSSCCSSSSSCSCSSSSSSSCSSSCCSSCSSCCSCSCSSSCSCSSCCCCSCSSCSSCCSSSCCSSSCCSSCCCSCCSCSCCSSCCSSSSSSSCCCCCSSCSSCCSCCSSCCCSSCSSCSSCCCSSSSSCSSCCSCCCSSSCSSCSSSSCSCCCCCCCCCCSCCCCSCCSSSCCSSSSCSCSCCSSSSCSSCCCSSCSCCCCCSCCCSCSCCSCSCCCSSSSCCCCSSSSSCSCSCSCCCSCCSSSSSSCCSSSCCSCSSSCCSSCSCCSCCCCCCCSCSCSCCCSSSSSSCSSCCCCSCSSSCCCSSSCCCSSCCCCCSSCSCSSSSCSSCCCSSSCSCCSCCCSSSSCCCSSSSSSSCSSSCCCSSSCSCSCSSCCCCSSCCCSSCCCSSSCCCCSCCSSSCSCSSCSCSCCCCSCCCSCCSSSCCSCCSSCSCSSSCSCSSSSSSSCSSCSCCCCSCSSCSSCCSSCSCSSSCSCSSCCSSCSCSCCCSSCCSCCSCSCCCCCSCSSCCSCSSCCSSSCSSCSCCSSSCCSSCCSSSSSCSCSSSSCCSSCCCCSSSCSCCCCCSCSSSSSSCCSCCSSCCCSSCSCSCSSCCSCCSCCSCCCSSCSSSSCSSCSCCSSCSSSSCSCCSCCCCSCCSSCSSCSSSCCCSSCSSCSSSCSSSSCSSCCSCCCSCCCCSCSCSCSSSCSCCCCSCCCCSCCCSCSSSSCSSCCSSCCSSSCSSCSSSSCCSSSSCSSSCCSSCCCCSSSCCCSSCSSSCCSCCSCSSCCSCCSCCSSCSCCSCCCCCCSSSCCCSCSCSCCCCCCSCSCCCCCCCCCCSCCSSCCSCCCSCSSCSSCSSSSCCSSSCCSCCCSCCSCSSSSSSCSSSCSCCCCCCSSCSCCSSCCSCCCSSCCSSCCSSCSCSSSSSSCSCSCCSSCCSCCSSSCSSCCSCSSSSCSCSCCSSSSCCSSCSCCSCCCSCCCCCSCSSCSCSSCSCCCSCCCCSCSSCCSSCSCCSCCSCCSSSSCCSSCSCCSSSSCCCCCSCSCSCCSCSSSCSCCCSCCCSSCCSCCCCSCCCCCSCSCCSCCCCCSCCCCCCCSCCCCSCSSSCSSCCSCSSCSSSSCCCCCCCSCCSSSSCCCCSCCSCSCSCCCSSSSSSCSCSSSCSSCSCCCCSSSSSSCSCCCSCSSCSCSSCSSCSSSCSCCSSCSSSCSSCCCSSSCSSSSSCCSSSSCSCSSCSSSCCSSSCSSSSSSSCCCCCCCCSCCCSCSCSSSSSSSCSSCSSSCCSSSSCCCSSCSSSSCSCSSSCCCSCCSSSSSSCCCCSSSCSCSSSCCSCCSSSCSCCSCSCSSCCCSSCCCCCCSCSCSSCCCCSCCCSSSCSCCCCCSCCCCSSSSCSCSSSCCSCSSCSCCCCCSCCCSCSCSSSSSSCCSCSSCCSCSCCCCSSSCSCSCCSCSCSSSCSCCSSCCSCCCCSCCSSCCCCSCSSCSSCCCCSSSSCCSSCSCSSSSCCSCSCSSSSSCCSCSSCCSCSCCCSCSSSSCSCCCSCSSCSSCSSCSSCSSCSCSSSCCCCSSCSSSCSSCCCCSCSCCCCSSSSCSSCSCCCCSCSCSCCSSSSCCCSCCSSCSCSSSCCSSSCCSCCCSSCSSSSCSSSCCSCCSSSSSSSCCSSSCSSCCCSCCSSCCCCSCCSSCCCCCCSCSSSCSCSCCSCSCSSCCSSCCSCCSCCSSCSSCSSSCSSSCSCCSCCCCCCSCSSCCSSSCCSCSSCCCCSCCSSCCCCSSSSCSCCCCSSSSCSCSCCSSCCSCCSCCCCSCCSCSCCCCCSCCSCSSCCCSSSSCSCSCCCSSCCSCCCSSSSSCSSCSSSSCSSCCCSSSSSSCCSCCCCSSSSSSCCSCCCSCSSSCSSSCCCCSCCCSSSSSSSCSSCCCSCSSCSCCSSCSSCCCCSCCCSSCSCCCSSSCCCCCSCCSCSSSSSSSCSCCCCCCCCSCCSCCSCCCSSSSCSCCSSCCCSCSCCCCSSCSCSSCCCCSSCSSCSSSSCSSSSSCSCSCCCCSSCCCCCSCCCSCCCCCCCSSSCCSSCSCSCSSSSSCSSCSSSSCCSSCCSSSCCSSSCSCCSSSSSCSSSSCSCSCSCSSSSCSCSSSSSSSSSCCCSSCSCCSSCSCCCCSSCSSCSSSSSCSSSSCCSSSCCSCSSCCSCCCSCCCSSSSSSCCCSSSSCSCCSSSSCCCSCCSCCSSSCSCCCCSSCSCSCSCCCSSSSCCSCSSCSSCSSSCCSSCSSSSCSSCSCSSCCCSSCCCSSCCCCCCCSCSCSCSCCCCSCCCCCCCCSCCSCCCSCCSCSSSSCCSSSSSCCCCCSSCSCSSSCSCCCSCSCSSSSCSCSSCCSCCCSCCSCCCSSSCCSCCCSCCCSCCSCSCCSSCCCCSSCSSSSCSSSCCCSSCSSSSSSCSSCCCCSCSSSCSSSCCSCSCCCSCSSSSSSSSSSCCSSSCSSCCSCCCSCCCCCSSSCCSCSCSCSCCCCSSSSSCCCSCCCCCCCSSCSCCSSCCCSCCSCCSSSSCCSCCCSCCCCCCCCCSSCCCSSCSSCCCSCCSCCCCCSSCSSSCSCSSSSSCCSCCSSSSCCSCCCCSSSSSSSCCSCCCCSCCCCCSCSCCCSCCCCSCSCCCCSSCSSCSCSCSSCCCCSSSSSCSCCSCSSSSCSSCSCCSCSSSSSCCCSSSSCSCCSSSSSCCCSCCCSCCSCCCSSSCCCSSCSSCCCSSCSCSCCSCSCCSCCSCCSSCSSCCCCSSSCSSSSSSCSCCCCCCCCCSSCSSCCCSCSCCSCCCSSSCSSCCCCSCCSCSSCSSSCCCSSSCCCCSCSSSSCSSCSCSSSCSCSSCCSCCCSCCCSCCSSCCSSCCCSCCCCSCCSSCCCSSCSSCCSSCCSSCSCSCSSCSSSCCCSCSSSCSCSSSCCCCSCSCCSCCSSSCSCSCCSCSCCSCSSSSCSSSSCCCCSCCSCCSCCCSSCCSSSSSSSCCCCSCSCCCCSCCCSSSSCCSCSCCSSSCSSSCCCSSCCSSSSCCSCSSSCSSCCSCCCSCCSSSSCSCCSCCSSSCCSSCSCCCSSSSCCSCCSCSSCSSSCSCSSSSCCCCSCCSSSCCCCCSCSCCCSCSSSSSCSSCSCSSSCSCCCSSSCSCSCSCCCCCSSCCSCSSSSCSCSCCSSSCCSSCCSSSSCCSCCCCSCCSCSCSCSCCSCSCCSCCSSSCSCSSCCCCCSCCCCSCCCSSSCCSSCSSCSCSSCSCCCCSSCCSSSCSCCCCSSCSSSCSSCSSSSSCSCCSCCCCCCSCSCCCCSCSSSSSSCCCSSSCCCSCSCCSSSSSSCCSSCCCCCSSSSSSCSCSSCCSSCCSSSCSCSCCSSSCCCCCCCCSCCSSSCSCCCSSCCSSSSSCCCSCSSSCSSCCCCSCCCCSCSCSCCCCCCSCSCCCCSSSCSCCCSSSSSCCCCSSSSSSCSSSSSSCSSSSCCSSCCCSCCCCSCCSCCSSCCCCCSSSSSCSSSCSCSSSSSSSSSCSSCCSSCSCCCSCCSCCSCCCCCCSCSCSCSSCSSCSCSSCCSCSSCCCSSCCCCCCSCCSCCSCCCSSSCSCCCSCCSSCSCSCCSCCSCCCCSCSCSSSSSCSCCCSSCSCSSSSSCCSSCCCCCCSCCCSCCCSSSSSSCCSCCSSSSSSCCSSCCCSCSCSCCSSCCSCSSCSSSSCCSCSCSSCSSSSCSCCCCSSCSCCCSCCSSCCSCSSSCSSSSSSCCCCCSCSSSCSCSSSSCCCSCSCSSSCCSSCSCCSCCCSSCSSCCCCSCSSCCSSSCCCCCCCCSCSSSSSCCCCSCSSSCSCSSCSCSCSCCCCSSCCCSCSCSCSSCCCSCCCSSCCSCSSSCSCCCSCSCSCSSSSSCCSCCCSSCSCSCSCSSSSCSCSCCSCCCCSCCCSSSCSSCSSCSSCSCCSCCSCCSSCSSCCCCSSCSCCCSSSSCSCCSCSSCSSCSCCSCSSCSCCSCSSCSSSSCCSCSCCCCCCCCCCSCCCSCSCCCCSCSSCCCSCSCCSCCCCCCCCSCCSCSCSSCSSCCSCCCCSCSCCSSCSCCCCCCCSCSSSSCSCSCCSSCSSCCSCSCSCSCSCSSSSCCCCSCCCSSCCSCCCSCCCCSCCSCSCSSCCSSSCCCCCCCCCCCCSSSCCSSSCSCSCSCCCCCSSSCSSCCCSSCSCCSCSSSSSCCSCSSSSCCSCCCSSCCCSCSSSCCCSSSCSCCCSCCSCCSSSSCSCCSSCCSSSCCCCSCSSCSSCCSCSSCCCSSSSSSSSSCSSSCCCSSCCSSSCCCCSCCSCCCCSCCSCSSSSCSSCSCSCCSCSSCCCSSCSSSCSCSSCSSCCSCSSSCSCCSCCCSSSCCSCSSSCSCCSCCCCCSSSCSCCSCCSCCSSCSCCSSCSSCCSCCCSSSCSSSSSSSCSSCSCSSCSCSSCCSCCSCCCSCSSCCCSSCSSCCCCSSSSCSCSSSSSCCSCCSCSSSCSCCSCCSSSCCCCCSCCCSSCSCSSSCSCCSCSSCCSSSCSSCCSCSSCCCCSSCSSCCSCCCSCCCSSCCCCSSSSSCSCSSCSCSSCCSCCCSSSCSCCCSSCCSSSCSCCCCCCCCCCCSCCCSCSSCCSCSCSCSCCCCCSCCSSCCSCSSCCCSSCCCSCCSSSCCSCSSSSCCCSSCCSSSSSCCCCCSCSSSSCSCSCCSSSSSSSSCSCSSCSCSSSSCCCCSCSCSCCCSCCCSCSCSSCSCCCCSSCSSSSCSCSSSSSCCCCCCCCSSCSCSSCCCCCSSSCCSCSCCCSSSSCSSCSCSCCSSSSCSCCCCSCCSCCCSSSSCSSCCSSSSSCSCCCCSCSCCCSCSCCCCSSCSCSSCSCCCCSSSCCCSCCSCCCCSCSCSCCCSSSCCCSSCSCCCCSCCSCSSCSCSCSCCCSCCCSSSCCCSCCSSSSSCCCCCSSCSCCSCCSSSCSCCSSCCSCSCCSSSSSSSCCCSSSSCCCCCSCSSSCSSCSSSCCCCSSCSCCCCCSCCCCCCCCSCSCSSSSCSCSSCSCCSCSCSCSSCSSSSCCCCSCSCCSSSCSCSSCCCSCCSSCCCSSCCCCSSSSSSCSCCSCSSCCSCSSSSSCSCSCCSCCCCSCCCSSCCCCSSCCCSSSSSCCCCSCCSSCCSCSCCSSCCCSSCCCSSSSCSSSSCSCCSCCSSSSSSSCCCCSSCSCSCCSCSCSCSCSCCCSSSCCCCSSSSCCSSCSSSSCSCCCSSCCCSSCCCSCCCSCCCSSCSSSCCCSSCCSSCSSCCSCSCSSSSSCSCSSCCSSSSSCSCSSSSSSSCCCCCCSCSCCSCSCCCCCCCCSCCSCSCSCCCSCCCCCCSCCSCCSSCSSSSSSCSSCCSCCSCCCSCCCCSSSCCSSSSSCCSCSSCCSSSCCSSCSCCSSCSCCSCSCCSSCSCCSCCSSSCSCCCSCSSCSCCSSCCSCSCSSCSCSSSCCCCCSSSSSSSSCSCCSSCCCSCCCCSCCSSSCSSCCCSCSSSSCCCCSSCSCCCCSCSSCCSCCCSCCCCCCSCCCCCCSCSCSCSCCCCCCSCSCSSSSSSSSCCSSSCSCSSSSCSSCSCSSSCSSCSSCSCCSCCCCSCSSCSSCCSCSSCCCCSCSSCCSCCSCSCSCCSSCCCSSCSSCCCCSSSSSSSSSCCCCCSSSSCCSSSSSSSSSSCCCSSCSSSCSCCSCSSCSCCSSCCCSSCCSCCSSSSSSCSSCCSSSCCSCSSSCCSSCCSCSSSCCCCCSCCSSSCSSCSSCSSCSCCSCSCCSCCCSCCSSSSSCCSCSSSSSSSCCSSSCCCSSSSSSSCCCSCCCCCCCSSSSSCSSCSSCSSCCCSCCCCSCCSCSSSCSSSCCCSCCSSCCSCCCCCSCCCCSCSCSSSSCSCCCCCCCCSCCCSCCCSCCSCSSSCCSCCCCSCSCSSSCCSCSCCCSSSSCSCSSCSCCCSCCSSCSCCSCSCCSSCCCCSCSCSSCCSSSCCCSSSSSSSCSSSCSCSSCSSCSSCSSCSCSSSSSCCCCCSSCCCSSCCCCSCCSSSCSSCSSSSSSSSCSCCSCSSCSSCCCCSSSSCCSCCSSCSSSCSSCCSCSCSSSSCSCSCSCSCSSCCSCSSSCCCSSCSSCCCCCSSCCCCCCCCCSCCCCSSSSSCSCCCSSSCSSCCSCCSCCSSSCSSCCCSCCCCSCCCSSCSSCCSCCSCCSSSSSSSCSCSSCSCSSSCCSCCCSSSCCCSCSSCCCCCSCCSSSSCCSCCSCSCCCCCCCSSSCCCCCCSSCCCCSCCCSCSCSSCCCCSSCSCCSSCSSCSSCSSSCCSCCCCSCCCSCCCSSSCSSCSSCCCSCSCSCCCCCSSSSSSSCCSSCSSCCCSCCCCSCSSCCSCCCCCSCSCSSSCSCCCCSSCCCSCCSSCSSCSCCCSSCCSSSCSCSSCSSSSSCSCCSCSCCCSCCCSCCCCCSCSCCSCCCCSSCCCSCCCSCSCCCCSSSCSSCCSSCCSSCCCCCSSCSSCSSCCSCCSSSCSCCSSSSSSSCSCSSSCSSSSSCCSCSSSCCSSCSSCCCSCSCSSCCCCSSCCCSCSCSCSSCCSCCCCCSCSCSSSSSSSCCSSCSSCSCCCSSCSCCSCCCCSSCSSCCSCSSCCCCCSCSCCCCSCCSCCCSCSCSCCCCSSSCCCCCSCSCSSCSSSCCSSSCCSSCCCSCCSCCSSCSCCCSCCSCSCSSSCCSSSCCSCCCCSCSCCCSSCSSSCCSSSSSCSCCSSCCCCCSCCCCSSCSSCSCSSSSCSCCCSSCCSSSCCCCCSCSSCSSCCCSSSCCSCSCCCCCCSSSCCCSSCSCSSCCCSSSSCCCSCCSSCSSSSSSCSCCCSCCSSSCSSCCSSCSSSSSCCSCCCCSCSCCCSCCSSSCCSCCCCCCSSSCCCCCCSSSCSSCSSCCSCCCCCSCSCCSSSSSCCSCCCCSSSCSSSCCCSSCSCCSSSCCSSSCCSCSSCSSCCSCCSSSCCCSSCCSCCSSSCSSCCCSSCSSCCSSCCSCCCCSSCSSSSSSSSSSSCCSSCCSSSCCSSSSSSSSCCSCSSCSSCSCSSSSSCSSSCCSSCCCCCCSCSCSSCSSSSSCSSSCSSSSSSSSSCCCCCSSSSSCCCCCCSSCCSSSSCCSSCCSCSSCSCSSSCCSCCSCCCCSCSCSSCCCSSSSSCCCCCSSSSCSCCSCCSCCCCSSSSSCCCCSSSSCCCSSCCCCSCCSCCCCCSSCSCSCCSSCSSCCSSCCCSCSCSCCSSCCCCSSSSSCSSCCCSCCCCSSCSSSCCSCCCCSSCCSCSSCSSCCCSSCSCSCSSCSCCCCSCSSSCCCSCCSSSCSSCSCSCCSSCSCCSCCCSCSSSSSSSSSSCSSCCSCSSCCSCCCSSSSCCCSCCCSSCCSSCCCSSCCCCCSCCCCSCCCSSSCCSSCSCCCSSSSCSSSSSSCCSSSSSCSCCCCCSSCCSCCSCSCSCSSSCCCSSSCCCCCSSCCCCSSCCSCCCCCCCSSCCCSCSSCCSCCCSSCCCSSCSSSSCSSSSCSCSCSSCSCCSCSCCCCCSCSSSSSSSCCCSCSSCSSSSCSCCCSSCCSSSCCSSCCSCSCSSCSCCCSCSCCCCCSCSCSSCCCCSSSCSSSCCCCCSCCSCSCCCCSCSSCSSSCSCSCCCSSCSCSCSCSSSSSCCSCSCCCCSSSCCSCSCCSSSSSSCSCCSSSCSCCCSSCCCCSSCCSCCSSSSCCCCCCCSSCSSSCCSCSSSSCSCSSCSCSSSSCCCSCCCSCCSSCSCSCSCCCCCSCSSCSSSCSSSSSSCSSSCCSCSCSSSCSCCCCCCSCCCCCCCSSCCSCCCCCSSSSSCSCCSCCCCCCCSCSSCSCCCSCSCCCSCSSSSCSCCSSCSCCCCCCCCSSSSCSSCSSSSCCCSCSCCSSCSSCSCCCCSCSSSCSCSCCSCSSCCCSSSCCSSCSCCSSSSCSSSCCCSCSSCCCCCCCCSCCSCCSCCSCCCSCSSSSSSSSSSSCSCCCSCCSCCCSCSCSCSSSSSSSCCCCSSCCCSSCSSCCCSCCCCCSSSSSSSSCSCSCCCSSSSCSSSCCCSSCSCSSCSSCCCCCCSSSCCCSCCSSSSCCSCSSCSCSCCCSSCCSSCCSCSSSCSSSCCSSCCSSSCSCSSSSCSCCSSCSCCSCCCCSSCSCSCCCCCCCCSSSSSCCCSCSCCSCCSSCSCSCCSSSSSSCCCCCCSCSCCSCCCSCCSSCSSSSCSSSSSSSCSSSSCCSCCSSSCCSSSSSCCSCSSSSCCCCCSSCCSSSCCCSCSCSSCSCCSCCSCCSSCCSSSCCCCCSSSCSSSCCSCSSCSSSSCSCCSSSSCSCCSSCCCSSSSCSSSSCSSCCSSSCSCCSSSCCSCSSCSSSCSCSSCSCSCCCSSSCCCCCCSCSCSSCSCSSCCCCCSSCCSCSCCSSCCCCSCCSCSSSCSCCSCSSSSSCCCCCSCSCSSSSSCSSSSSSSCCSSSSSCSCCCCCCCSSCSCSCSCCSSSCCSCSCCCCSSSCSSSSSSCCSSCCCSCSCCCCSSCSCCSCCSSSSSSCCCSSSSSCSSSCSCCCSCCCCSCCCCSCCSCCSSSCSCSCSCSSCSSSCCCSSCSCCCCSSSCSCCCSCCSCSSSSSSCSSCCCCSCSCCCCSCSCCSSCCCCSSSCCCSCSCCSSCSSSCCCCCCSCSSCSSSCSSCSCSCSCSSCSSSSCCCCCSSSSSCSCCSCSCSSCCSSCCCSSSCCSSCCSSSSCCSCCCSSSSSSCSSSSSCSCCCSCCCSCSSSSCCSCCSCSCSSSCSSSCCSCCSCSSCCCSCCSSCSCCCSSCSCCSSCSSCCSSSSCCSSSSSSSSCSSSSSSSCSCSSCSSCSSCCCCCSCCSCSSCCCCSSSCSSCCCCCSCCSSCSCCSSCSSCCSSSCSSSCSCSSCSSSCCSCSCSCSSSCCCCCSCCCCCCCCSSCSSSCSCCCCSSSSCSSCCCCSSSCSSSCCCSCSCCSSCCCSCCCSCSSCSSSSCCCSCCSSCCCCSCCCSCCSSCSSSCCSSCSSCCCCCSSCCCCSSSSSSSSSCCSSSSCCSCSCCCCCSSCSSCCSSCCSSCCCSCCCSSCSCCCSSCCCSSSSSCCCCSCSCCSSCCSSCCCSSCSSCCCCCSSSCCCSCCCSCSCCCCSSSSSSSCSSSSCCCSSSSSCSSCCSCCCSSCCCSSCCSCSCSCCSSCSCSCCSCSCCSCCSCCSSSCSCSSCSSSSCSSSSSCCCSSSSSSCSSSCSCCCSSCCCSCCCSCCSSCSCCSSCCSSCSCSSSSCSSSSCCSCCCCCSSSSCSCCSSCCCCCCSSCCCCCSCSCSCCSCCSCCCSSSCCSSSCSSSSCSSCSSSCSSCSCSCCCSCSSSSSSCSCSSCCSSSCCSCCCSCCSSSCSSSCCCCSCSCCSCCSSSCSCSCSSSSSCCSCCCCCSSCCSSSCCSSCSCCSCSSSCCSCCSCCCCCSCCSCCCCCCSCCCSSCCCSSCSCSSSCCSCSCCCCSCSSSCCCCSCCSCSSSSSSSCSCCSCCSSSCCCCSSCCSCSSCSSSCCCSCSCCSCSSCCCCSSCCCCSSCCCCSCCSSSSSCSCSCSSSSSCSSSCCSSCSCSCCCCCCCSCCCSSSCSSCCSSSSCSCCCCCSCSCCCSCCSSSSCSCSCSCCCSSCCCSSSCCCSSSCCSCSSSSCCCSCCSSSCCSSCSSSSSSCSCSCSCCSSSCSCSSCCSSSSCSCCSSCCCCCSSCCCSSSCCCCCSCCCCSSSSSSSSSCCCSSSCCCSCCSCSSSSSCCCCCCCCCCCCSCCSCSCSSCCSCSCSSSCCCCSCCSCCSCSSCSSSSSCSSSCSCSSCSCCCSSCCSCSSSCSCCCCCSSCSSCCCSCSSSSCSCCCSSCCCSSCSCCSCCCCSSCSCSCSCCCSCSCCCCSCSCSCCSCSCSCCSSSSSCSCCSSSSCCSCSSSSCCSCSSCSCCCCSCSCSCSCSCSSCCSCSCCSCSSCSCCCCSCSSCCSCCCCCSCSCSCSSSSSCCSCCCCCCSCCSCCCCCSCSSSSSCCSCSSCSCSCSCSSCCSSCCSSCCSSSCSCCSSSSSSCCSSCCCSCSSCSSSCSCCSCSSCSSCCCCSSSCCCSSCCSCCCSSCCCCSCCCSCCCCSSSSCSSSCSSSSSCCSSSCSCCSSCCSSCCCCCSSSCSCSSCCSSCSSCCSCCCCCSCCSSCSSCSCCSCCCSSCSSSSCSSCSCCSCCCSSSCSSSCSSSCSCCSSSSSSCCCCCSSSCCCCSCSCSSCSCCSCCSSSSCSSCSCCSCSCSCSCSCSSSCSSCCCSCCCCSCSSCCSSSCCCCCCSSSCCCCSSSSSCCCSSCCCSSCCSSSCCSCCSSSCCCCSSSSSSCCCCSCCCCSCSSCCCSCCSCSSCSSSCSCSSCCSSCSCCSSSSSSCSSCSCCCCCCCCCSSSCCSCSSCSSCSSCSSCCCSCCCCSCSCCSCCCSCCCSCCSCCCCSSCSSSSCSSCCCSSCCCSSCSSCCCCCCCCCCCCCSSSCCSSSCSSSSCSCSSSCSCSSSCCSCSSCSSSCCSSSCSCSCSSSCSCSCSCSSCSCCSSSCCCSSCSCSSCSSCCCCCCCSCSCCSCSSCCCSSCSSSSCSSSCSCCCSSSCCSCCSCSCSSSSCSSSCCCCSCCSSSSCSCCCSCCCSCSSSSCCSSSSSSCCSSCSCCSCCCSSSSCSCSCSSSSCCCCCSCSCCCCSSSSSSSSSCCCCSSSCCCCSSCCSSSCSSSCSCCCSSCSSCCSSSSSSCSCSSCSSSSCSSCSCSCCSCCCSSCSSCCCCCCSSSCSSSCSSSCSCSSSCSSSSCSCCCCCSSCSCSCSSCCCCCSCCSSCCSCCSCCSSSSSSSCSCCCCSCCCCCCCCCSCSCCCSCSCSSSCSCSSSCSCSSSCSCCCCCCCSCSSCSCSCSCSCCSCCSSSCCSSCCSCCCCCCCCSCCSSCSCSSCCCCCCSSCSCCCSSCCSCSCCSSCSSSSCCSCCCCSCCCCSCCSCSCSSCCSSSSSSCCCCSSSSCCCSCSSSCCSCCCCSCSSCSSCCCSSSSCSSSSCCCSCCSCCSSSCCCCSSCSCSSCCCCSSSCCSCSSCSSSSSCCCCSSCSSCSCCSSCCSCCCSCSSSCCSSCSSCSCSSSSCSCCCCSSSCSSCSSSSCCCCSCCCCSSCSSSCCCCSCSCSSCCSCCSCSCCCSCSCSCSSCCSCCCSCSSSSCCCSCCSSSCCSSSCSCSSCSSCSCCCSCCCCSSCSCCCSCCCCSCCSSCCCCSSSSCSCCSCSCSSSCCCCCCCCCCCCSSSCCSCSCCCCCCSCCCCSCCCSCSSSSSCSSSCSSSCSCCCCCSCSCSCCCSSCSCSSSSSSCCCSCCSSCSCSSCSSSCCCCCCCCSSSCCSSSCCCCCCSSSSCCCCCSCSSSCCCCCCSCSSSCCCSCCCCSSSCSCSCCCSSCSSSSCCSCSCCCCSSCSSCSSCSSCCCSCCSCSCCCCCSSCCSCCCSCSCCCCCCSSSCCSSCSSSSCSSCCSSSSCSSSCCSSSSCCSCSCCSSCCSSSSCCCSSSSSSCSSCSSCSCCSSCCCSCCCSSCCSSSSSSSCCCCSCCSSSCCSSCSSSSCCSSCCSSSSSSSCCCSCSCSSCSCCSCCCSSCSCSCCCSSCSCSCSSCSCCCCCCSSSSSCCCSSCCSCCSCSSCSCSSCSSCCCCCCSSSCSSSCSCSCSCCSSSCCSSCSSCSCCSSCCCCCSCCSSCCSCCCCSSSCSSCSSSSSSCSCSSSCSCCCSCSSSCSSSCSCCSSSCCCCSCSCCSCSCCSCSSCCCSSSCCCSCSCCSCCCCSCSCSCCCCSCSSCSCSSCSCCCCCCCSCSSCCCSCSSSCCCSCSSSSCCCSSSSCCCSSCSCSSCCSSCSSCSCSSCCSSSSSSCSSSCSSCCSCSSCSSSSSCCSSSSSCSCCCSSCCSSCSSCCSSSSSSCCCSSCCSCCSSSSSCSCCCCSCCSSCCSSCSSSCSSSSCSCCSSCSCCCSCCSCCCCSCSSCCSSSSCSCCCSSCCSSCCCCSCSSSCSCSCSCCSSCCSCCCSCSCSCCCSCSCSSCSSCSSCSSCSSSCSCCCCCSCCSCCCSCCCSSCSCCCCSSCSCCSSCCSCCSCCSSCSSSCCSCSSCCCSSCSCCSCSCSCSSCSSCSCSCCSCSCCCCSSCSCSCCCCSCSSCCSCCSCCSSSSSSSCCSCCSCCCSSSSSSSCSCSSSSCSCCSSSCCSSCCSCSCSSSSCSCSCCCCCSSSSSCSSSSCCCCSCCCCCCSSSSCSCSCSSCCSCCSSCSSCSSSCSSSSSCSSSSSSCSSSCCCSSSSCCSSSCSCCSCSCCSCCSSSCCCCSCSCCCSCSSCCSSCCCSCSSSCCCSSSCCCCSCCCCCSSCCCSSSSCCSSCCSCSCCSSSSSCSSCSSSSSCCSCSSSSSSSCCCCSSSCSSCSSCCCSCSCCCSCSCSCSCSCSCCCSCCCCCSCCCCCCCSCSCSSCSCCCSCSCSCSCCSSSSCSCSCCCSCCSSCCCSCCSSSCCCCSCSSSCCCCCCCCSSSCSCSSSCSSSCSSSCCCCSCSSSSCSSCSSSCSSSCSSSCCSCCSSSSCSSSCSSCSSCCSCSCSSSSCCCCSSSCCCSSCCSSSSCSCCSCCCCCSCCCCCSSCSCSSCSSCSSCSSSSSSCCCCSSCCSSCSCCSSSCSSCCCCCSCCCCSSSCSCCSSCSSCSSSSSCCCSSSCSSCSCSSSSCSCSCCSSCCSCCSSSCCCSSSSSSCCSCCSCSCCCSSCSSSCCSSSSSSSSSSCSCCSSSCCCCCCCCSSSSSCCCSSSCSCCCSSSCSCSSCCCCCSCSSCSCSCSSCSSSSCCCCSCSCSSSSCCCSSSSSCSCSSCSCCCSSCCSCSSCCSSCCSCCCSSCCSSSSCCCCSCSCCSSSCCSSSCCSSCSSSSSCCCSCCSSCCSCSSCSCCSCCCSSCSSCSSSCCSSSCCCCSCSSSSSCSCCCSSSCSCCSCCCCSCSCCCSSCCCSCCCSSSSSCSSCCCSCSCCCSCCSCSSCSCCCSSCSCCSCSCSSCSSSCCSCCCSCSSCSCSSSSSCSSCSSSCCCCSCCSSCSCCCCCCSCCSSCCCCSSSCCCSSSCCSCSCSCSCCCCCSCSCSSCCSCCCCCCCSCSCCCCSCSSSSCSCSSSCCCCCCCCCCCSSCCCSSSSSSCCCCSCCSCSSCCCCCSSSCCCCCSCSCCSSSCSSCSSSCCSSSCSCSCCSSCCSSCSCSSCSSSSCSCCSSCCCCCCSCCSSCSCSSCSCSSSCCCCSSCSCCSSSSSCSCCCSSSCCSCSSSSSSCSSSCCSCCCSSSSCSCCSCSSCCSCSCCCCCCCCSCCCCCSSCSSSSSSSCCCSCCSSCSSCCSCCCSCCCCCCSSCCSCSCSCSSSSCCCSCCCCCCSCCSCSCCSCSSSSCSSCCCCSSCSSSSSSCCSSSSSCCSCSCSCCSSSCCSSSCCCSSCCCSSCSCSSCCCCSCCSCCSCSSSCCSSSCCCCCCCSCSCCSSSSCCCCCSSSSCCSCCSCCCCCCCCSSSCSCSSSCSSCSCCCCSSSSCCSCCSSCCSSCCCSCCCCCCCCSSCSCCCCCSSCSCCCCSSCSSSSCCCCCSSSSSSCCCCSSCSCCCSSSCCSCSSCCCSSSSCCSSSSCCCCCCSCCCCSCSSCCCSCSCCCSCCSSSSSCCCCSSCSSCCCCCSSCCCSSCSSSSSCCSSCSSSCSCCCCSCSSCSCSCCCSSCSCCSSSCSCCSCCSSSCCCCSSSCSCSSSCCSSSSCCSCCSSSCCCSSCCCCSSCSCSSSSSSCSSSCSSSSSSCCSSCCCCSSCSSCCCCCCCCCCSCCSCSSCSCSSCCCCCCCCSCSSSSCCCCSCSCCSSSSSSSCSCSSSCCCCSCCSSCCCSCSSCSSSSSCSSCSSCSSCCSCSCSSCSCSCCCSCCCCCSCCCCSSSSCSCSCCSCCCSCCSSSCSSCCCCSSCCCSSCCSCCSSCCCCCCCSSCSSSCCCSCSSCSSSSSSCSSSSCSCSCCSCCCCCSCSCSSCSSCSCSSSSCCSSSSCCCCSSSSSSCCSCSCSSSCCCCSSSCCCSSSSCCCCSSCCCCCCCCSSSSCCCCSCCCCCSSCSSCSSCCCSSCCSCCCSSSSCCSSCSSCCCSSCSSCCSSCSCCCSSCCCCSCCCSSCCSCCSSCCCCCCCCCSCSCCCCCCSCCCSCCCSSSCCCCCCCSCCSCSSSCCCSSSSCCCCCCCCCCCSSCSCCSCSSSCCSCCSCSSCSCSCCCCSSSCCSSCCCCCCSCCCSCSSCSCCSCCSSCSCCCCSSSSCCCCSCCCSSSCSCSSSCSSCCCSCSSCSSSCSSSSCSSCSSSCSCSCSSSCCCSSCCCSSCCSCCCCSSCCCSCCSSCSCSSCCSSSSSCSSSSCSSSCCSSSCSSCSCCCSSSSCCSCSCSSCCSCCCCCCCCCCCCCCSSSCCCCCSCCSCSSCCSCCSSCCCSSCCSCSCSSCCCSSSSCCSSSSCSCCSCCSSCSCCSCSSSCSCCCSCSCCCSSSCSCCSSSSSCSCSCSCSSCCCSSCCSSCSCSCSCSSCCCCCSSSSSCCCSCSSSSCSCCCCSCCSCCCCCCCCCCSSSCCCSCSCSSSCCCSSSCCCCSSSCSCSSCCSCSCCSSSCCSSSCCSSCCCCCCCCSCCCCCCCSCSCSSCSSSSCSCSCCCCSSCSSCCSSCSSSCCSSSCCSSCCCSCCSCSCSSSSSSSSSCCCCSCSSCSCSSSCSSCSCSCCSSCSCCCSCCCSSSCCSCCCCCSSSCSCSCSCCSCCSCCCSSCCSCSSSSSSCCCSCSSCCCCSSCSSSSCSCSSCCCCSSCSCSCSSCCSSSCCSCSCCCCSCSCCSCSCCSCSSCSSSCCCCCSSSSSCCCSSCCSCSSCSSCSSCSCSSSCSSSCSCSCSCCSCCCSSCCSSCCCSCSSCCCSSCSCSSSCSSSSCCSCCCSCCSCCCCSCSSSSSCCSSCCSCCCCSSSCCCCCSSSCSSSSSCSCSCSCCSCCCCSCCSCCSSSSSCSSSCSSSCCSSSCCCSCCCCSSSCSCSCSCCSCCSSSCSCSCSCCSCCCSCSCCSSCCSSSCCSCCCSCSCCCSCSCCSSCSCCCCCSCSSCSCCCSCCSSSSSSCCSCCSCCSCSSSCSSCCSCCSSSSSSCCSCSCSSSCCSSCCCCSCSSCSSCSCSSSSCCCSSCSSSCCCCCSSCSCCSCCCSCSCSCSCCSCSSSSSCCSCCCSCSCSSCCSCSCCSCSCSSSCSSCSSCCCCCSCSCCSCSSSSCCSCCCCCSCCCSSSSCCSSCCCSCSSCCSCSCCCCSCSSCCCCCCCCSCSSCCCCCSCCCCSCSSCSCCCCCCCSCCCCCCCSCSSCCCCSSSSCSCSSCSCSCCCSSCCSCCCCSCCCSCSSSSSSCCCCCSCSSSCCCSCSCSCSCSCSCSCCCSCCCCSCSSSSSCSCSSSCSCSCCSCSCSSCCCCSSCSCCCCCSSCCCCSCCSCSSCCCCSSCSCSCCSSSCSCSCCCCSSSCCCCSCCSSCSCCCCCSCSSCSSSCCSSSSSCCSCSSSCCCCSCSCCSSCCCCSSCCSCCCSCCCSCCCSCCCCSCCCSSCCCSCCCCCSCCSCSSCSSCSSCSCSSSSCSCSCCCCCCSSSCCSCSSSSCCSCSSCCCSSSSCCCSSSSCCSCCCSCCSCCSCSSSCCSSCSCCSSSCSCSCSCCSSCCCCCSSSSSSSSSSCSCSSCSCCCCCSSCCSSSSCCSCSSSSSSCSSCSSSCSSSSSSSSCCSSCCCSCSSSCSSSCCSCSSCSSSCCCSCSCCSCCCSSSSSCSCSSCCCSSSCCSCCCCSCSSCCSSSCSCSSCCCCSCSSSCCSSCSSCSSCSSSSCSSSCSCSCSSSCCSCSCSCSSCCSCCCCCSSSCSSSSSSCCSCSSSCSCCCCCSSSCSSCSCCCCSSSCCSCCSCCSCCCSCSCSSCSSCSSCSSSCSSCCCSSCCSSSSSSSSSCSSSSSCCCSSSCCSSSSCSSSSCCSSCSSCCCCCCSSSSSCSCSCSSSCCCCCSSSCSSCCCSSCCSSCCSCCSCSCCSCSSCCSCCSCSSCSSSCCCCSCCCSSCSCSCSSSCSSSSCCCCCSCSSSCSSSSCCCSSSSSSSSCCCCCSSCSCCSSCSCSSCSCSSSCSSCSCSSCSSCCCCCCCSSCSCSCSCCCCSCCSCSSCCSSSSSSSSCCSSSSCSCCSCSSCSSSCSSCCSSSCCCSCCCCSCSCCSCCSCSCSSCCSSSCCCSSSCSCCSCCCCSCCSCSCSSCSCSSCSCSSSCCCCSSSSCCSCSSCSCSCCSSSCSSSCCSSSSSSSSSSSCSCCCCCSSCSSCSSSSCCCCSSSCSSSSSCSCSSCSCCCCSCSSSSCSSCCSSSCCSCCSCCCSSSCSSCSSSCSSSCSCSCSCCSCCCCSCCCSCSCCSSSCCCCSCCSSSSSSCSSSCSSSSCCCSCSSCCCSCSCCSSCCCCSCCSSSCSSSSSCSSCSCSCSSSCSCSCCCSSSCSCCSSSCCSCCCSCCCSCSSSCCSCCSSSSSSSCCCCCCCSSSCCSCSSSCSSSCCSSSCCSCSCSCCSSCSSCCCCCSCCSCCSCSSCSCSSCSCCCSCSCCSSSCCSSSCCSCCCCCSCCCCSCSSCSCCSCSCCCCSSCCCCSCCCCCCSCSCCSSSCSSCCCCCCCCSSSCCSSCSCCCSSSSCCCCSSCCSSCSSSCCSCCSCSCCSSSSCCCSCSCSCSSSCCCCCSCCSSSCCCCSCCSSCCSSCSCCCCCCSSCCSCCSSCSCSSCCSSSCCSCCSSCCSCCSSSSCCSSSSSSSSCSSCSSSSSSSCCCSSCSCSSSSCSCCCCSCSSCSCCCCSCCCSCSSCSSSCCSCSCSCSCSSSSCSSCCCSSCCSSCCSCCCSSSSSSSSSSCSSSCCSCSSCSCSCCSCSSCCCCCSCSCCCCCCSCCSSSSCSSCCCSCCCCSSSSCCCCSSSSSCCSSSSCCSCCSCSCCCCSCSCCCCSSSSSCSSSSSSCSCSCSCCSSCCSCSCCCCCSSSCCCCSSSSSCSSCCSCCCSSCSCSCSSCCCSSCCCSSCSSCSSCCSSCSCSCSCSCCCSSCCCSCSCSSCSCCCCCCSSCSSSCCSSCSCSSCSCSCCSCCSCSSSCSCCSSCSSCSSCCCSSCCCCSCCSSSCCSSCCCSCSSSSCCSSSSCCSCCSSCSCSCCCSSSCCCCSCSSCCSSSSSSSCCCCCCSSCSCCSCCCCCSCCSSCSSSSCCSSSSSSSCCCCSCCCCCCCCSSSSSCCSSSSCCSSCSSSSCSSCSSSCSSCSSCCCSCSSSCSSCCCCSCCSCSSCSSCCSSSCCCSCCSCSSCCCCCSSSSCCSCCCCSCSCCSSSSCCCSSSSSSSSCCCSSCSSCCSCCSSCCCSCCCCSSSSCSSSCCSCCCCCCCSSCCSSSCSCCCSSSSSCSSCCCCSSCSCSSCCSSSCSSSSCSCSCSSSCCCSSSSCCCCCCCSSCCSSSCSSSSSSCSSCSCSSSCSCSCSCSCCCCSCSSCCSSCCSCCCCCSCSSCSCCSSSCCSCCSCSSCSCCCCCSCSCSSCSCCSCSCSSSSSSCCSCCCCCCSCCCCCSCSCSSCCCSCSSSCSCCCCSCCCCSSSCCSSCCCSSSCCCSSSSCSSSCCSSCSCCSCCCSSSCCSCCSCSCSCCCSCSSCCSCCSCCSCCCSSCSSSSCCSCSCSCCCSCCCSCCSCCSSCSCCCCCCCCSCCCSCCSCSSSSSSSCSCSCSCSCCCSCCCCSCSSCCCSSSSCCSCCCCSSCCCSCCCCCCCSCCCSCCCCCSSSCSCCSSSCCCCSCCSSCCSCCSSSCSCSSSSSSSCSSCSCSSSSCSCSCCCCSCSCSSSCSSSSCCCSCSCSSCCSCSSSSCCCCSCSSCCCSCCCCSSCCCSCSSSCCCSCCCCCCSSSSSSCCCCSCSSSCSSCCCCCSCSCCSCCCSSSSSSSCSSCSSSCCSCCSSSSCCCCSCSCSSCCSSSSCCSSSSCSCSSCCCCSSCCSSSSCCCCCSSSCCSCCCCCSSSSSCCCCSCCCCSSCCCCCSSCCSSCCCSSSCCSCSCCSCSCCSCCSSCSSSSCSSSCSSCSCCSSCCCSSCCSCCCCSSSCCCSCSCSSSCSCSCCCSSCSCSSCCCCCSSSCSCSSCSCCCSSCSCCSCSSCCSCCCCCSSCCSSSCSSSSSSSSCCCSSSSCSCCSSSSCCCCCSCSCSSCCCSSSSCSSSCCCSCSSCSCSCCCCCCCSCSSSSSCSCCCSCCSCCCCCCSSCCSCCCCCCSSCSSCCCSCSSSCSCCCCSSCCCSCSCSSCCSCCCSSCCSCSCCSCSSCCCSCCSSSSCSCCCCSCSSCSCSSSCSCCSSCCCCSSSCSCCCSSCCCCSCCSSSCCCCCSSCSSSSSCCSSCCCCSCSSCCCCSCSCSSCCSSCCCSCCCSCCSSSSSSCCCSSCCCCCSCSCCCSSCSSCCCCCSSSSSCSSCSSSCCSCCSCSSCCCSCCSCCCCSCCSSCCSSSSSSSCSSCSSSSSSSSSCCCCCSCCCSSSCSSSCSSCSCCCCCSSSSSSSCSCCSSCCCSSCSSCCCSSSSCSCCSSCSSCCCSSSSCCCCCSCSCSCCSCSSSCCCSSSSCCSCSSCSCSSCCSCSCCCSSCSCCSSSCCSSCCSSCSSSSSSSCCSCSCCSCSSSCCSCSCSCCSCSSSSCSSSSSSSSCCCSCSCCCCCCSCSCSCSCSSSCSCCCCSCSSCSCCCCCSSCCCSSCSCSSCSSSSCSCSSSCSSSCSCSCCCSSCSCCSSCCSSSSSCCSCCCCCCSCSCCSCCSCSSSSCCCSCSSSSSCSCSSCSCSCSCCCCCCCCCSSSSSSSSSCSSSSSCSSSCCSSCSCCCSSCCSSCSSSCSSCSCSCSCCCSCSSSCCCSSSSSCSCCCSCSCSSCSCCSCCCSCCSCCSSSSCCCSCSSSCCSSCSSCCCCCCSSCCSCCSCSCSSCSCCSCCCCSSSSCSCCSCSCSCSSCCCCSSCCCSSCCCSSCSCSSCCCCCCCSCCSSCCSCCSSCSCCCCSSSSSSSSSSSSCSSCSCSSSCCSCCCCCSSSSSCSSCCSSCCCCSCSSSSSSCCSCSSCSSCCSSSSSCSSCCSCSSSCCSSCSSCSCCSSSSSSSCSCCCCCSSSCSSSSSSCSCSCSSCCCCCCSCSSCSCCSSCCCCSSSSSSCSCCSCSSCSCSSSCCSSCCSSSSSCCCCCCSSSCCCCCCCSCSCSSCCSCSSSSCSCCSSSCCSCSSSSSCCSCSCSSSSCSSSCCCSSSSCSSSCSSCCSCSCSSSSCCSCSCCCSSSCSCSCCSSSSCSCSSSSSSCCCSCSCSSCSSCCCCCSCCSCCSCSCCSSCCCSCSCCSSCCSSCCSSCCCSSCSCSSCSSSSSCSSSCCCCCCCCCSCCSSSCSSCSSSSSCSCSSSSCSSCCCCSCCCSSCCSSSCSCCSSSSCCSCCCSCCSCSCSSSSCCCCSCCCCSCCCSCSSCSSCSCSSCSCCCCCCCSSCSCCCCSSSCCCSSCSSSCCCCCCSCSSCSCSCSSCSCCSSSCCSSSSCSSSCSCSCSCSCCCSCCCCCSSSCSSCCCSSCCSCCSCCSSSSCSSSCSCSSCCSCSCCSSSCCCSSCCCSSSCCCSSSSCCCSCSCCCCCCCCSSCCCCSSCSCCCCSCSSCCCSSCCCCSSSCCSSCCSCSSSCSCSSSSSCSSCSSCSCCCSCCCSCCSSCCSSCSCCCCCCSCSCSSCCSSSSSSSCSCSSCCCCCCCCCSSCSCSCCSSSCCSCSCSSCSSCSSCSCSSCCSCSSSCSCCSCSCCCCSSSSCSSCCCCCCSSCCSSCSSCSSSCCCSCSSSCCCCSCSSCSCSCSCCCSCSSCCCSSCSSSSSSCCCSCSCSSCSCSCSSCCCCCCSSCCSCSSCCCSCSCCCCSCSCCCCCSSSSSSCSCCSCCCCCCSCCSCSCCCCSSCCCSCSCSCCSCCSCCCSSCCCCCCSSSSSCSSSCSSCCCSSSSSSSSSCSCCCSSCSCCSSCCSCSSCSSSCCSCSCCCCCCSSSSSSSSCSSSSSSSSCSSSSSCCSCSCSSSCSCCCCCCSCCSSSCSSCSSSCSCSCCCCCSSCCSSCSCCCSCCCCCSCCSSCCSSCCSSSCCCCCCSSSSCCSSSSCSCSSCSSSSSSSCSSCSCSCSCCSCCCSCSCSCCCCCCCSCSCCCSSCCCSSCCCSSCSCSSSCCSSCSSSCSCCCSCSCSCCCCSSSCSCCSSCSSSSSCCSSSSSSCSCSCCSCSSSSSSSCSSCCSCCSCCSSSSCCCSCSSCCSSCCCCCCSCCSCSCCCCSCCCSCCCSSCSSSCCSCSSCSCCSCSCSCCCSSSSSSCSCCCCCCCSSSCCSSCSCSSSCCCSSSSCSCCSCCCCSSCCCSCSCCCCSSSCCCCCCSCCSCCCSSCSSSSCCSSCSSSSCSCCCSSCSCCCCCSCSCCCSCSSCCSCCCCSCCSCCSSSCSCSSSSCSCSCSCCCSCSCSSSCSSSCSCSCCCSSCSSCSCSSSCCCCCSSCCCSCSSSCSCCSCCSSSCSCSCCSSSSSSSCCCSCCCSCSCSCCSCCSSCCCCSSSSSSSCCCCCSSSSCSCCCSCSSCCCCCSSSCCCCCCCCCCSCSSCSSSCSSCSCSSCCSSSSSCSCSSSCCCCCSCCSCSCCCSCCSSCSCCSSCSSSSSSCCSSCCSCSCCSSCCSSCCSCCSCSCCCCCCCSSCCSCSCSCCSSSSSSCSCCSCCCCSCSCCSSSCCCCCCSSSCCSCSCCSSCCSCCCCCCSCSCSCSSSSSCCCSSSCCCCSSSSSCSSSCSCSCCSCCCCSCCSCSSSCSCSCSSSCSSCCSSCCSSSSCSCCSCCSSCCSCCCSCSCSCCSSSCCCCSSSSCSCSSCCSCSCCSCCCSSCSCSSSCSSCSCCSCCCSSSCCSSCSCSCSSSCCCSSCSSSCSCSSCCCCCCSCSSSSCSSCCCCSCCCSCCSCCCSSCCSSSCSSSSSSCCCSSCCCCCCCSCSSCCSSCSCCCCSCCSCCSSSSCSSCCSSSSSSCSCCCSSCCSCSCSCSSCSSSSCCCSSSCCCSSCSSCCSCSCCSSCSCCCCCCCSSCSSSCSCCSSSSSCSSSCSSSCCCCSCSCCSSCCCSCSSCSCSSCCCSCSSCSCSCSCSSSSSCSCSSCSSCSCSCSCCCCSCSCCSSSSCCCSSSCSCSSSCSSCSCSSCCCSCCSSCCSCSSSSCSCSSSCSCSSCCCCCSSSCCSCSSCSSCSSSCSCCSSSCCSSCCSCCSCCSCCSSCSCCCSSSCCSSCCCCSCCCSCSCSSCCSCCSCCCCSSCSCCSSCSCCSSSSCCSSCSSCCCCCCSCCCSSSSCSCCSCCCCSCSCSSCCCCCCSCSSSCCCSCCCSSSSSCSSCCSCCSCSCSCCSCCSSSSCCSCCCCCSCCCCCCCCSSSSSSSCSSSCSCSSSCCCCCSCCSSSSSCSSCSSSCSCCCCSCCCSCSSCSSCCCSSSSSSSCCSSCCCSSCCSCSSSSCSCCSCSSCCCSSCCSCSCCCCSCSSCSCSCSSCCCSSSCSSCCCCCSCCSCCCSSCCSSSCSCSCSSSSCSCCSCSSCSCCCCSSCCCSSSCSCSCSSCSCCSCSCSSSSSCCSCCCSSSCSSSSSSSSSSSCSCCCCCCCCSSCSSSSSSCCSSCSSSCCSCCSSCCCSSCCCCSSCCCSSCSCCCSSSCSSSSSCSCSSCSCCCSSCSSSCCCSCSSSCCCSCCCSCCSSSCSCSSSCSSCCCSSCCSSSSCCSCCCSSCSCSCCSSSSCCCSCSSSSSCCCCSCCCSSCSCCCSCSSCCCSSCSCCCSSCSSCSCSCSCCSCCSCSCCCSSSCCCSSSCSCCSCSCCCSCCSCSCCSSSCSSCCCSCCSCCCCCCSSCCCSCCSSCSCCCCCSSSSCCSCCCCCCCSCSCSSSSSSSCSCCCSSCCSCCSSCCCCSCCCSSSSCCCCSSCSCCCCSCSCSSCCCSCCCCCCCSCCSSCCSCCSSSCSCSCCCSCCSCCCSSSSCSCSSSSSSCCCSSSCSCCSSCCCSSCSSCSSSSSSSCSSCSCSCSCCSSSCSCSSCCSCSCSCSSSCSSCSSCSCCCCSCCCCSSSSCSSSSCSSSSSCSCCCSCCSCCSCSCCSCSCCCCSCCSSSCSCSCSCCSCSSCCSSSSSCCSCSSSCSSSCCSCSSCSSCSCCSSCCSCSCSCSSCSSCSSSSCSSSCCSCCSCSSCSSCCCCSSCSSSSSSCSSSCCSSSCCSSCCCCCCCCSSSSSCCSSSSSCCSCCCSCCCSCSSSCCCSSSCCCSSCCCSSCCSSCCCCSCCSCSCSCCCCSCSCCSSCCCSCCSCCSSCSSSCSCCCCSSCCCSSCCSSCCCCCCSCSCSCSSCCSSSSSSCSSSSCCCSCCSSCSCCSSCCSCCCCCCSCSSCCCCCSSCCCCSSCCCCCCSCCCCCCSCSCSSCSCSSSSCSCSCSCSSSSCCCSSCCSSCCSCCCCSSSCCSCCSSSCCSCCSCCCSCSSSCSSSSSSSSSSSSCSSCSCCCCSSCSSSSSCCCSCSSSCSSCCSSCCSCCSCSCCCCSSCCCSSSCSCSCCSSCSSCCCSCSCSSSSCCCSSSSCSCCCSCSCCCSSSSCCCSCSCCSCSSSSSCCCCSCSSSSCCCCCSSSSSCCSCCSSCSSSCCCCCCSSCCSSSSCSCCSCSSCCCSSSSSSCCCCSCSSCCSSCSCCSCCCSSSSCCCCSCCCSSCCSSSSSCCSSCCCSSSSSCSCSCSCCCCSCCSSSSSSSCCCSCCCSSCSCSSCCCCCSSSSCCSSSCSCSSCCCCSSSSSSCCSCSSSCCCCCSSSCCCSCCCSSCSCSSCCSCCSSSCSCCCSSSCCSCSCSCSCCSCCCCSSCSCCSCSSCSCCSSCCCCSCCCCSSCCCCCCCSSCSSSCCCSSCCSSSCSCSSCSSSSCSSCCCCCCSCCCCSCCCCCSSCCSSCCCCCSSSSCSSCCSSCCCSCSCCSCCCSSCSCCSCCCCSSSSCSCCSCCSCCCSCSSCCCSCCSSCSCCCCSSSSSCCSSSSCCSCSCCCCCCSSSCSCSCCCCSSSSSSCSSSSCSCSSCCSSCSSCCCSSCCSSSSSCSSSSSSSCCCCSCSSCSCCCCCCSCSCSSCSCSCCSCCSCSCCCSSCCSCCSSSCSSCCCCCSSCSSSSSCSSCCCSSSCCCCCSCSSCCCSCCSSSCSCCCCSCCCCSCCSCCSCCCSCCCSCSCSSSSSCCSSCSSSCCCSCCSCSSSSSCCSCCCSSCSCCCSCSCSSCSSCSSCSSSSSCSCSSCCCSSSSSCSCSSCSSCCCCCCSSSSCCSCCSCSSSCSCSSCCSSCSSSSCSCCCCCSSCSCCCCSSSCCCCCSCSCSCCCCSCSSCSCCSCCSCSSCCCSSCSSSSCSCCCCSCCSCCSCSCSCSSSCCCSSCSCSSCSSSSSCSSCCSSSSCSCCCCSCCCSCSSCSSCSSSCCCSCSSSSSCSCCSCCCCSSSCCSSCSCCCCCCCSCSSSCSCSSSSSCSSCSCCSCSCSCSSCSCCSCSCSSSCSCSCCSSSSCCCSCCSCSSSCCCSSSSSCCSSCSCSSSCCCSCSCCCSSCSSSCSCSCSSCCSCSSSCSSCCSSSSCSSCCCSCCCSCSSSCCCSCSCCCCSSSSSCCSCSCCSSSCCSCSCSSSCSSSCCCSSSCSCCCSSCSSCCCCSCCSCCCCSSSCCCCSCSSSSCSSCCCCCSSCCCCCCSSCCSCCSSSCSSCSSCSCCCSCSCSCCSCCSSSCCSSSCCCSSSSCCSCSCCCCSCSSCSCCCSCCSSCSSCSSSCCSCSCCSSSSSSCSSCSCSSSSSSCSSSCCCCCSSSCSCSCSCSCSSCSSCSCCSCCSCSCCCCSCCSCCCSCCSSSSSCSCCCCCCSSSCSCSSSCSCSCCCCSCCSCCCSCCSSSSSCSCCCSCCSSCCSCSCSCSSCSCCSSSCSCCSCSCSCSCCSCCCSSCCCSCSCSCSSCCCCSCSCCCCCSSSSCSCSCCSSCSCCCCSSCSSSCCCCCSSCSSSSSCSSCSSSSCSSSCSCCCSSCSCSCSSSSSCSSCCCCCSCCCSCSSCCCCSSSSSCCSSSSCSCCCCSCCSSSCCCSCSCSSSSSCSSSSCSSSSSCSSCCCCCSSCSSSSSCSSCCCSSCSSSSCCCSCCCSSCSCCCCSCSCSSSCCSSSSCSSSCSCSSCSSCCSSSCCCCSSSCSSSCCCCCCCCCCSCSSCCCSSSSCCSSSSCCSSSCSCCSSSSSSCSCCSSCSCSCCCCSSCCSSCSCCCSCSCCCSSCCCCSSCCCSCSCSCCCCCCSSSSSSSSCSSSCSSSSCCSSCSCCCSSCSSSCCSSCCCSSCSCCSSCCSSSCSCSSSSCCCSSSCCCSCCCCSSSCSSSCCSCSSCSSCSCCSSCSSSCCSSSSCSCCSCCSCCSCCSSCSCCSSSSCCSCCSCSCCCCCCSSCCCSSCCSSCSCCCSCCSCCCCCCCSSSSSCSCCSSCSSSSCSCCSCCSCCCCCSSCCSSCCCCCCCCSSSSSSCSCSCSSSSSCSCSCSSCCCCSSSCSCCSSSSSCSCCSSCCSSCCSCSSCCSCCSCSSSCSCCSSCCCCSSCCCCSSSSSCSCSCSCSCSSSSCSCCSSSCSSSCCCSSCCSSCCSSCSSSSSCCSSCSCCSSSSCCCSSCSCCSSSCSSCSSCSSSCCCCSSSCSCCSSCSCSSCCSCSSSSSSCSSCCCCCCCSSSSSSSCSCCSSCCSCSSSCCCCSCSCCCSSSCSSCSCCCCSCSSCSCCCCCSSSSSCSSCCCCSCSSSSSSSSCCCCSSSCCSCCCCCCCCSSSSCSSCCCSSCCSCCCCSCCSSSSCSSSSCSCSCSSCSCSCCCSCCCCSCSSSSSCSCCSCSSCSSSCSCSCCCSSCSCSSCSCCCSSSSCSCCCCCSCCSSCCSSCSSCSCCSCSSCCCCCCCCCSSSCSSCSSSCSCCCCSSCCCCSCCSCSSCSSCSSCCCCCSCSCCSSSSCCCCSSSSCCCCSCSSSSCSCCCCCCCCCSCSCCCSCSSSSSSSCCSSSCCCSCCSSSSSCCCSCSCSCSCSCCCSSSCSCCCCCCCCCCSCCCCCCSSSCCSCSSCSCCSSSCSSCCSSSSCSSCCCSCSSCCSSSCCCCSSCSCSCCSCCCSSSSCSSCSSSSSCSSCCSSCSCSSSCCCSSSCSSSSCCCSSCCCSSCCCSSSSSCSCSCCCSSSCSCSSSSCSSSCCCSCCCCCCSCSSSCCSCSCCSCSCSCSCSCSSSCCSCSCCCCSCCCCCCSSSSSSCCCSCCCCSSCCSSSSSCCCSCSSCCSSCCCCSSSSSCSSCSCCSCCCCSCCSSCSSSCCCSCSCCSCSSCCSCSSSSCSCSCSSSSSSSSCSSSCSCSCSCSSCCCCSCSCCSSCCSSCSSCSSCCCSCCCCSCSCCSCSSCSCCSSSSCCCCCSSCCCSSCCCSCCCSSSCSCSSSCCCCSCCSCCSCCCCCSCSSCCCCSSSCCCCSSSCSSSCSCSCCCSSCSSCSSSSSSCCCSCCSCSSSCSSSCCCCSSSCSCSSCCSCCSSCSCCSCSSCCSCSCCSCCSCCSSSCCSSCCSCSCSSCCSSSCSSSCSSSCSSCSSSSSSSSSSSCCSSSSCSCSSSCSCSCSSCSSSCSCCCCSSCCSSSCSSSSSCCCCCSCCCCCCSCCSSCCCCSCCSCCSCSSCSSSCSCSCCSCSSSSCSSSCSSSSCCSSSCCCCSSSSSSCSCSCCCSSSSCSSSCCCSSCCSSSSCSSSCCSCSSCSCCCCSSCSCSSSCSCCSSSSSSCSSSCCCSSSSSSCCCSCCSCSCSCCCCCCSCSCSSCSCCCCCCSCCCCCCSCCCCSSCSCCSCSCCSCCSCCSSSSCCSSSSCSSSSSCSCCSCSCSCSSSCSCCSCCSCSSSCSCSSCSSCSSCCSSCCCCCSCSSCSSSCSSSSCCSCSSSSSSCSCSSSSCCCSCSCCCCSSCSCCSCSCSSSSCSCSSSCCCCCCSCSCSSSSCCSSSCCSSCCCSCSCSCCCCSSSCSSSSSCCCCCCSSCCCSCCSCSCSCSSSSCCSSCSSCSCSSCSSSSCCSSSCCSCSCCCCCSSCSCSCCCCSCSSSSCCCSSCSSCCCSSCCCSSCSSCCCSCCCCCSSSSSSSSCCCSSSCCCCSSCSCSSCSSSCCSCSCSCSCSCSSSSSCSCCCCCCCSCSCCSSSCSSSCSCCSSSSCCSSSCCSSSCSSSCSCSCSCCSCCCSSSCCSSCCCSSCSSSSSSSCSSSSCSCSSSSCCCCSSCCCSCCCCCCCCSCSSCCSCCSCCSCCSCCSSSCSCSSCSSSCSCSCSCCSCSCSSSCCSSSSSCSCSSSSSCSSSCCSSCCCCSSSCCSSCSCSCSCSCSSCCSCCSCSSCSSCCSSSSCSCCCSSCSSSSCSCCSCCCSSSCSSSSSSCSCCCSCCSSCCSCSSSCCCCSCSCSSCSSSSSCCSCSSSSCSCCSSCSSSCCCCCSSSCCCCSCSSCSCCCSSCCSSCCSCSSSCCSCSSCSCCCCSCSCSSSCSSCSSSSSCCSSCCCCSSSSSSSSSSSSCCCSCSSCSSCCSCCCCSSSSSCCSCCSCSSCSSSSSCCCCCSSSCCSCSCSSCSCCCSSCCCSSCCCSCSSCCCCSSSSSCSCCSCCCSCCSSCSSCCCSSCSCSSCSCSSSCSSSSSCCCSSSSSSSCCCSSSCSCCCCSSSCSCCCSCSCCCSCCCCCSSCCSSSCCSSSSSCSCCCCSCCCSSSCCSCSCSCSCCSCCSSSSSSCCCSSCCCCSSSCSCSCSCSSCSSCCSSCCSSSSSCSCCSCCCCCCSSCSSSSSCCCSCSSCCCSCSCSCCSCCSSSCCSSSSSCCSSCCCSSSCSCCCCSSSCSCSCCSSCCCSCCCCSCSSSCSCCCSSCCSCCSSSCCCCSCSCSCCCSCCSCSCSSCCCSCCSCCSCSCCCCSSSCSCSSCCSCSCSSSCCCSCSCCSSSSSCCSSSCSCCCCCCSCCSSSCSSCCCCCCSCSCCSCSCCSCCCCCSSSCCCCCCSCCSSCCSCSCSCCCCCCCCCCCCSCCSSSSSCCCCSSSCSCCCSCSSSSSSSSCCSSCSCSSCCCCSCCSCSSSSCSSSSSSSSSSSCSCCSCSCCSCCSSCCCCCCSSCSSSSSCCCCSCCSSSSCCCSCSSCCSCCCCCSCSSCCCSCSCCSSSSCSCSSSCCSCCCCCSCCSCCSCCSSSSSCCCSCSSCSCSSSCSSSSSCSSSCCSSSCSCCCSSCCCCSSSSSCSCCCCSSSCCCCCCCSSSCSCSCCSSSSSSCCCSSCSCCSCCCCCCSSSCCSCSCSCSCSSCSCCSSSSCCCCCSCSSSSSSCSCCCSSSCSCCCCSSCSSCCCSSCSCSCSSCSSSSCSCSSSCCCCSSCCCSSSSCSCSSCCSSCCSSSCSCSCSCSCCSSCCSSCCSCSCSSSSSSCCSCSSSCSCCSCSSCCCSSCCCCSSSSCSCCSCCSSCCSSCSCSSCSCSSSSCSSCSSCSCCCSSSCCSSCCSSCCSSSSSSCCSSSCCSCSCSSSCSSCSCCSSCCCSCCCSSSCSSCCSCCSCSSSSCCCSCCSCSCSSSSSSSCCSSSCCCCCCCCCSSSCCCSSSCSCSCSSSCCSSSCSSSCCSCCCSSSSSCSCCSCCSSCCSCSSCSCSSCCCSCCSCSCSCCCSSCCSCCCSSCCSSCSCCSSCCSSSSSSCSSCCSCSCSSCSCSCCSCCCCCSCCCCSSSSSCCCSSSCCSCCCSCSCSSSCSSSCSCSCSSSSSSCSCSSSSSCCSSCCSSCSSCSCSCSCCSCCCSSCCSSSSCCCCSCCCCCCCSSCSSCSCSSCCCCSSCCSSSCCCSCSSCSCCSSCSSCSCSCCSSSSCSSCCSSSSCSCSCCSCSCCSCCSSCCCSCSCCSSSCSCSCCSSSSSCCCCSSCSSCCCCCSSCSCSCSCCCSSCCSSCCSSCSSSCCCCSCCCCSSSSCSSCSCCSCSSCSCSCCCCSCCSSCSCCSSCSSSSCCCCSSSSCCSSCSSCSSCCSSCSSSSCSSCCCSCSCSSCSCCCSSSCCSSSCSSSSSSSCCSCSSSCCSCSCCSCSCCCCCSCCCSCSSCSSCCCSCCSSSCSCSSCCCSCCCCCCCSCCCCSSSCCSSCCSCCSSSCCSSSCCSSSSCSSCCCCCCCCCCCSCSCSSCSSSSCSCCCCSSCCSCCSCSSCCCCSCCCCCSCCCSCSSSCSSCCCCSSCCCCSCSSCSCCCCCSSSSCCSCCCCCCCSCSSSCCSCSCSCSSSCSCCCSCSCSCSSSCCCSCSSSSSSSCCSSSCCSCSCCCCCCCCSCCCCSSSSSCCCSSCSCCCSCCSSSSSCSCCCSCSSCCCCCCSSCSCCCSSCCCSCSCSSCCCSSCCCSSSCSSSCCCCSCSSCSSSCSCCCCSCSCCCSSCCCSCCSCSSSSCCSCCCSSSCSCCSSSSSCSCSSCCCSSCSSCSSCCCCSSCSCSSSSCCSCSSCCSSSCSSSCCSCSSCSCSCCCCCSCSSCCCCCCSCSSCSCCSCSCCCCCCSSSCCCCCCCSSSSSSSCCSCCSSCSCSSCCCCCCCSSCSSSSSSSCSSSSSCCSCSCSCCCCSCSCCSCSSCCSCCCCCCCSSCSCSCSSSCSCCSCSCCSSCSCCSSSCSSSSSCCCCSCSCCSCSSSCCSSSCSCSSCCSSCCCSSCCSSSSSCSCCSSSCSSCSCCCSCCCCSSSCSCSCCSCCSSCCSCSSSSSCCSSCSSSSCSSCSSSSSCSCSSCCSSCCCCCSCSSSCSSSSCSCSSSSSSCSCSSCCSCCCSSSCSCSSCCCCSSCCCCCSSCSSSCCCCSSCCSCSSCSCSSCSCSSSCCCCCCCSCCCSCCCCCCSSSCCCCCCSSSSCSSCCCSSCCCSSSSSSSCCCSSCSCSSSCCCCCSCCSSCSSCSCCCSCSSSSSCCSSSCSSSCSSSSSCCCSCSCCCCCCSSCCCSSSSCSCSSSSSSSSSCSCCSCSSSCCCSCSSSSCCCSSCCSCSCSSSCSSSCCSSCSCCCSSCSSSSCSSSCCSSSSCCCCCSSCSCCCCCSSSCCCCCSCCSCCSSCCCCCSSSSCCSSCCSSCCSSSSSCSSCCSSSCCCSCSCCSCCSCSCSSCSCCCCSCSCCSCSSSCSCCCSCSSSSCSCCSCSCSCCCSCSCCSSSSCSSSSCCSCSSCCSSCCSCSCSSSCCSCCSSCSSSSCCSCSCSCSSCSSSCSSSCSCCCCSCCSSCSCCSCCSSSSCSCSCSCCCCCSCSSSSSSCCSSSSSCSCSCCSSCCSSSSSSSCCCCSSSSCSCCCCSCSSSCCCSSSCSCCCSSCSCCSSSSCCCSCSCSSCCSCSSSSCSCCSSCCSCSCCCSSCSCSCCSSSSSSSSSSSCCSCCSSCCCCSSSSSCCSCSCCCCCSCCCSCSCSSSSSCSCCCSCCCSCCSCCSCSSCCSCSCSCCCCCCCCCSSCSSSSCCCCSSCSCCCCSCCSCSCSCSCSSSCCCSSCCSCCCCCCSSSCCSSCCCCSCCCSCCSCCCSCCCSCCSCCCSCSCCCSSSSCCSCCSCCSSCSSSCCSCSCCSSCCSSSCSCSSCSSCCSSSSCCSSCSSCCCCSCSCCCCSSSCCCSSSCSSCCSSCSSSCSSCCCCSSSSSCCSCCSCSSSSSCCSSCSSSCSCCSCSCCSCCSSCCCCCSCSSCSSSSCSSCCSCSSSCSSCCSSCSCSSSCSSSCCSCSCCSCSCCCCSSSCCCCSSSCCCSSCSSCCSCSSSSSCCCCCCSCSSSCSCSSCCSCCCSSCCSSCSCCSSCCSSSCSCCSCCSSSCCCCCSCCSSSCSSSSSCSCSCCSSCCCCSCCCCSCSSCCCCCSCSSCSSSSSCSCCSSCSCCSCCCSCSCSCSSSSCCCSSCCCCCCCCSCCSCCSCCCCSSCSCSCCCCCCCSSCCCSSSCCCCCSSCSCSSSCCCSSCSSSSCCSSSSCSSCCCCSCSSSSSSCSCSSCSCCCSSCSSCCCSSSSSCSCCSCCCSSSCSSSCCSSSSSCSSSSSCSCSSCCSCCSSSCCCCCCSSSSSCCSCSCSSCCCSCSCSCCCSSSSCCCCSSCSSSCSSSCSSSSCCCCSCSCCCSCSSCSCCCSSCCCCCCSSCSSSSSCCSCSCSCSCSSCCCSCCSCSCCSSSSSCCSCCCSCCCCCCCSSCCCSSCCCSSSCSCCSSSSCCCSCCSCCSCCCSCCSCSCCCSSCSSSSSCCSSSSCCSCCSSSSSSSCSCSSSCCSCSSCCCCSCCSCSCSSCSSCCCCSCCSCSSSCSCSCCCCCSCCSCSCSCCCSCSCSSSSCSCSSCCSCCSCSCCCSCSCSCCSSSCSSCSCCSCSSSSSSCCSCCCCSSCSCSCSSCCSCSCSSCSSSCSSSSCSSSCCSSSSSSCSCCCCCSCSCSSSSSSSCSCCCCSSSCSCCSSSSCSCSCSCSCSSCCSCCSSSSCCCCCCCCSSCSSSSCCCSSSSSCCSSCSSSCCCCSCSCCCSCCCSCSCSSCCSSCSCSSSCSSCSSCCCSSSSCCSSCCCCCSSCSCSSCCSCCCSSSCCSCSCSSSCSSCSCSCSSSCSSCCCSSCCSCCCSCSSCCCSCCSSSSCSSCSSSCCSCCCSSCCSCCCSCCCSCSCSSSSSSCSCCCSCCCCCCSCCSSCSCCSCCCSCSCCSSSCCSSCCCCCSCCCSSSSCCCSSSSCCSCCCCCSSCCCCCCSSCSCCSSCSCSCCCSSCSSCCCSCCSCSCCCCSCSSCSSSCCSCSSCSSCSCCCSCCCCCCSSSSCCSSSSSSSSCCCCSSSSSCCSCSSSCCCSSSSSSCSSSCCCSCCSCCSCCSCCCCSSCSSCSCSSCCSSCSSCCSSSCSCSSSSCSSSCSSSSCSSSCCCCCCSSCSCCCCCCCSCCSCSSSSCSSSSSCSSCCCCSSCCCCCSCCSSCCCCCCSCSCSCSSSSSCCSSSSCCSSCSCSSCCCCSCSSSCCCSCSSCSCSSCSSCCSSSCSSSCSCCCSCCSSCCCCCSCCCCCSSCSSSSCSSSCSSCCSSSSCCCSCCSCCSSCCCCSSCSCCSCCCCCSSSCSSSSSSSSSCCCSCSCSSCCCSSCCCCCCCCCCSSCCSSCSCCSCSCSCCSCSCCCCCSCCSSCCSSSCSCSSCCSCSSCCSCCSSCSSSCCCSSSSCCCCSCCSSCCSCSSSCCCSCCSSCCSCCCCCSCCCCCSCSSCSSCSCCSSCSSSCSCCSCCCCCSCSSSSCCSCCSSSSSCCCCSCCCSSCSCCCCCCSCCSSSCCSSSCCCSSSSCCCSCSSSSCSCCSSSSSCSCCSCSSCCSCCSCCSSCSCSCSCSCCSCCCSCSSSCSSCCSSSSSSSSSCSSSSSSCCSSCSSCCCSSCSSCCCSSCCSCSSCSSCSCSSCCSCCCSSCCCSSSCSSSSSSSSSSSCCSSSCSSSCSCSCSCSCSSCCSCSSCSSSCSCCCSCSCSSSSCCSCCCSSCSCSSCSSSCSCSSSCCCSCSCCSCCCCCSSCSCCCCCCSSSSCCCCCCCCSSSSSCSCSCCSCCSCSCCSCCSCCCCCCCSSCCSCCCCCSSSSCSCCSCSSCSSSCCCCSCSCCSSSSCSCSSSSCSCCSCSCSSSSCSSCSSSCSSSCCCCCCCCCCSCCSSCSSSSCCCCSCCCSSSCSSCCCSCSSSSCSSCSSSCSSSCCSCCSCCCSSCSSCCCSSSSSSSSCSSCSCCCSCSSCSCSSCCCSSCSCCCSCSSSSSSSSSCCCCSSCCSSCSCCCCSCCSSSSCCCSCCSCCSSCSCCCCCSCSSCSSCCSCSCSSCSSCSCCSCSSSSSCCCCSCSCSSCSCCSSSSSSCCCSSSSCCCSCSSSCSSSCCSCSSCCSSSSCSCCSCSSCCCCSCCSSSSSCCCCSSCCSSCSSSSSCSSSCSCSSCCSCCCCCSCCCSSCSCSCSCSSSSSCCCCCCCSSSCSSCCSCSSCCSCCSCSSCCSSSSCCSCCCSCCCCSCSSSSSSSSCSCCCSCCCCCSCSCCSSCSSCCCSSSSCSSSSCSCSSSCCCCSCSSCSSCSSCCSCCCCSCSCSSSSCSCSCSSSSSCSCSSSCSSSSSSCSSCCSCCCCSSCSSSCSSCSCSCCCCCCCCSCSSSSSCSCSCCSCCCSCSCSCSCSCSCSSSSSCSCSSSSSSSSCCCSCSCSCCSCSCSCCSCCSCSSSCCSCSSSSCSCSSSSSSSSSCSCCCCCCCCSSCSCSSSSCCCSSSSSCSSSSCCSSSCCCCSCCCSSSSSSSSSCCSSCSSCSCSCSCSCSCCCCCSSSCCSSSSSCCCSCCSSSSSSSCCSCCCSCSCSCCCSCSSSCCSSSCCCSSSSCCCSSSCSSCSSCSSSCSSCSCSSSCCCCCSCSSCSSCSSSCSSSSCCSCCCSSCSSSSSCSCSSSCCCSCCCCSCCSCCCSSSSSSCSCSSSSCSSSSCCCCCSSCSCCSSSSSSCSCSCCCSCCCCCSSSSSSSSCSSCSSCSCSCSCSSSCSCCSCCSSCSSSCSSSSCSSCCCCCSSSCCCSSSSCSCCCCSCSCCSSCCCSCCSCSSSCCCSSCCCCCSSSCCCSSSCSSSCCSSCSCCSSSCSSSSSSSSCCSCSCCSSCSSCSSCCSSSSCSCCSCCCCSSSCCSSCCSCCSCSCCSSSCSCSCCCSSSCSCSSCCSCSCCCCSCSSSSCSSSCCCSCCCSCCCCCSCCCCSSSCCCSCCSSCCCSSCSSCCCCCCSCSSCSCCSSSCSSSCSSCSCCSCSCSCSCCCCSCSSCSSCSSSSCCCSSCCCCCCCCSSSSSCSCCCCSCSSSSSCCCCCSSSCSCSCSCCSSSSCCSSCCSCCSCCSSCSCCCSCSSCCCSCCCSCCCCCCCSCCCSCCSSCCCSSCSCSSCCCSCCCCCCCSSCSCSCSCCSCSCSCSCCCSSSCCCCSCSSSCCCSCSCSSSSCCSCCCSSSCSSCCCCCSSCSSCCCSCSSCCSSSCSSCCSCSCSSCSSCSCSSCSCSCCCCCSSCCCSSCSSSCCCCCCSCCSSSCCCSCSCCSSCSCCCCCCSSCCSSCSCCSSSCSSCSSCCCCCSSSCSSSCCSCCCCCSCCSCSSSSCCCSCSCCSSSCCSSSCCSCSCSCSCCSCCCCCSSSCSCCSCCSSCCSSCCCCCCSCCSSCSCCSSSSSCCCCSCSCSCSSSCSCSSSCCSCSCSSSCSCSCSCCCCCCSCCCCSSSCSCCSSCSSSSCSSCSCSCCSCSSSCCCCSCCSCCSCSCCCSCSCCCCSSCSSSCCSCCCCCCCCCCCSCCSCCSSSSCSCSCCCCCCSCCSSSSSCCCSCCSCSCSCCSSSSCCSSCSCSSSSSCCCSSSCCCSCCCCCCSSCSSCSSSSCSCSCCCSSSCSSCSCSSSSSCCCSSCCCCCCSSSCSCSCCCCSCCCSSCSSCSSSCCCSSSCCSSSSCSCSCCCSSCCCCSSCSCSCCSSCSSCSSSSCCCCSSSCSSCCCCSCSSSCCSCSSSCSCCSCCCSCCSCSCCCCSCSSCCCSSSCSSCSCCSCSSCCCSCSSSCSSSCCSCSSSCCSSCCCSSCSCCCSCCSCCSCSSCSSSSCCCCCCSSSSSCSCSSSCCSSSSCSCSSSSCCCCCSSCCCCCCCSCCCSSSCCSCSCCCCSSSCSCCCCCCSCSCCCCCSSSSCSSCSSCSCCSCCCCCSSCCSSSCSSSSSCCCCSSCSSCCCSCSSSSSCCCCCSCCCCSCCSSSSSCSCSCSCSCCCCSCSCCSCCCSSSCSSSCCSCSCCSCSSCCSSCSSCCSSSSCSCSSSCSCSCCCCSCCCCSSSSSCCCSCCCSCCCCSCCCSSCSCCCCSCSCSSSCSCSSCSCSSSCSCCCSCSCCCSSCSSSCCSSCSCCCSSSSCSSCCSCSSCCCCCSCCCSSSCCCSCSSSSCSSSCSSSCSCCCSSCCCCCSCCSCCSSSSSSCSSSSSSSCSCCSCSSCSCSCSCSCCCCCSCCCSCSCCCCSCCCSCCSCSSCSCSSCCCCSSCSSCCSSSSSSCSSCCCSSSSCSCSCSSCCSSSCCSCSSCSSSCSCSCSSCCSSSSCSCCCSSSSCCSCCCCCCCCCSSCSCSSSSSSCCSCCCCSSCCCSCSCCCSSSCCSSCCCCCSCCSSSCSCSSSSSCCCSCSSCCCCCSCCCCCSCCSSCCSSCCCCSSCCCSSCCCSSCCCSCSSSCSSSSCSCCCSCSSCSSSSSSCCSSSCSCSCSCSCSCCSCCCCCCCCCSCCSCCCCCSCCCCCCSSSSCSSSCCSSCCSSSSSCCCCSSSCSCCCSCSSSCSCSCSSCCSCSSSSSCCCSCCCCCSCSSCCSSSSCCSCSCSCSCSSSSSCSSSSCCCCSSCCCCCCSCCCSSSCSSCCCSSSSCSSSCCCCCSSSCSCSCSSSCCSCCSCSSSCSSCCSCCCCCCSCSCSCSCCCSSCSSCCCSSCSSCSSCCSCCSSCSSCCSSSSCCSSSCCSCSSSSSSSSSSSSSCCCCSCCCCSCSCSSCSCCSCCCCCCSSCCCCCSSSSSSCSSCSSSSCSCCCSSSSCSSSSCCCSCSCCCCSCSSCCCCCCCSCSCCSCCCSCCCCCCSCSCCCCSSCSCCSSSCCCSCCCCSSCCSSCSCSCCSCSCCSCSCCCSSCSCSSCSSCCCSCCSSCCCCCSCSSCCCSSCCCSCCCCSSCCSSCCCCSSSSSCCCCSCSSCCSSCCSSSCSSCCSSCCSSCSSCSSSCCCSSCSSCCSCSSSSCCCCSSCSSSCCCCCSCCCSSSCSSSCCSCCCCSCSSCSSSCSSSCCCSSSCCSSSSCSSSSCCSCSCSCCCCCSSSSCSSSCCCSSCSCCCSSSCSCSCSCSSCCCCCSSSCSSSCCCCCSSSSCSSSCCSCCCSCSCCSCCSSCSSCSSSCSSSCCSCCSCSSSSCSCSCCSCSSCSCCSSCCCSSSSSCSCSCCCSSSCCSCCSSSSCSSCCSSSSSCSSSCCSCCCSCSSSCSCCSCCSSCSCSCCCCSSSSSCSSSSSCSSCCCCSSCSSSCSCSCCSSSSCSSSCCSCSCSCCSSSCCCSSSCCCSSCSSCCCSCSCSSSSCSCCSCSCSCCSSCCCSSSCCSCSCSCSCCSSCCCCCSCSSCSCSCCSSSCSCCSCCSSSCSCSCCSCSCSCSCSCCCSCCSSCCSSCCSSCCSCCSSSCCCCCSSSCSCCSCSSSCSSSCSSSCSCSSSSSCSSSCSSCSSSCSCSCCCCSSSSSSCSSSSCSCCSSCCSCSCCCSSCCSSCSCCSCSCSSSCCSSCSSCCSCCCSSCCSCSCSCSCCSCSSSSSSSSCSCSSCCSSSSSSCCSCSCSCSCCSSCCCSCCCSCCCSCCCCSSCSSSSSCSSCCCSSSCCCCSCSCSSCSCSSSCSCCSSSSSCCCCSCSSSSSCSSCCCCCSCCCSCSCCSCCCCCSSSCSSCCSCSSSSSCSSSCCCSCSSSCCSCSCCCCCSCCSCSSSSSSSSCSSCSSCSSCSCCSCCCSSSSSSCCCSSSSCCCSSCSSCCSCCSSSSSSSCSCCSSCSCCCSSCSSSSCCSSSSCSCCSCSSSCCSSCSCCCSSCCCSSSSSSCSSSSSCSSSSCCCCSCSCSSSCCSSCSCSSCSSSSSSCSSSSCCSCCSSCCSSSCSSCSCSCCCCSSSSCSCCSCCSCSCSSSCSSCSSSCSSSCCCCCSSSSSCCCCSSCSSCSSSCSSSCCCSCSCCCCCCCSSCSSSSCCCCCSSSCSSSSCCSCCSSSCCSCSCSCCCSCCSCSSCCSCSCSSCSCCCCCCCSCSCCCCSSCCCSSSCCSCSCCSCSCCSCSCCSSSCSSCCCSSCCCCCCSSSSCCSCCSSSCCCSSSCCSCSSSSSSSCSSCSCSSCSSSCCCSCCCCCCCCSSCSCSSSSCCSSCSCSCSCSSSCCSSCSSSSSSCCSSCCSCCSCSCSCCSSSSSSSSCCSSCCSCSSSCCCSSCSCSSCCSCCCSSCCSCCSCCSSSCSSSSSSCCCSCSSSCSCCCSSCSCSSSSCSSCCCCSSSSCCSCCCSSCSSSCCCCCSCSCSSCSCCSCCCSSSCCCSCCCCCSSCSSSCSSCCSCSCSCCCSSSCSCSCCSSCSCCSCCCCSCSCCCSCSSCSSCSCCCCSSSCCSCCSSCCCCSCSCSCCCCCSSCSCCCSCCSCCCCCSCSCSSSSCSSCSSSSCSSSSSSSCCSSCSCSCCSSSCCCSSCSCSCSCCCCSSCSSCCSCSCCSCSSSCSCSSCCCCCCSSSSCSSCCCCSSSCCCCSCCCCSSSCCCSSSCSSSCSCSSCSCSSCSSCSCCSCSSCCSSSCSSSCCCCSCCSSSCSCSSCCSSCCSSSCCCSCCSSCSCSSSCCSSCSCCSCCCSCCCCSCCSSSSSSCCSCSSCSSSCSSSSCSCCCSCCSCSSSSSCCSSCCSCCCCCSSSSCSCSCCCCCCSCCCSCCSCCSCCSSCSCCCSCCSCCCCCSSSSSCSCSCSCSSCCCCSCSSSCSCSCSCCCCCCSSCCCCCSSCCCCCCSSSCCCSSCSCSSSSSSCSCSSCSCCCSSCSSSCCSSSCCCCSCCCSSSSCCCCSSSCCCSSSCCSCCCCCCCCCCCSCCCCCSCCCCCCCCSCSSCCSSSCCCSCSCCCCCCSSCCCSCCCCSSSSSCCSCSCSCSSCCCSSCSCCCCSSSSSSSCCSCCCCSSSSCSCSSSCCCCCCSCCCSCCCCSSSSSSCSCSCSCSSCSSCSCSSSCCCCCSCSSCCCSCCCSCSSCCSSSCCSSSCSSCSSSCSSCSSCCSCSSCSCSCCCCCSSCSSSSCCCSCCCSCCCSSSSCSCCSSCSSCSSSCSSCSSSCSSSSSSCCCCSSCSSCSSSCSSCCCCCSSSSSSSCSCSSCCCSCCSSCSSSCCSCSCCSSSCCCCSCCCSSSCCCCSCCSSCCSCCSCSCCCCCSSCSSCSCSCSSCSSCCSCSCCCSCSCCCSSCCCCCCSSSCSSSSCSCSSCCSSCCSSSSCSSCCCCCSCSCCSCSSCCCCCCSSSSSCSCCCCSSSSCSCSCSCSSSSSCCSCCCCCSSCSCCSCSSSSCCCSSCCCSCCSCSCCCCSSCSCSCSCSSCCCCSSCSCCSSCCCSCCSCSSSCSCCCCSSCCCSSCCCCSSCSCSCCSCCSCCSCCCCCSCSCSSCSCSSSCSCSSCCSSCSSSSCSSCSCSCCSSSCSCCCSSSCSSCSCCSCSSSCCCSSCCSCSSSCSCSCSSSCSSSSSCCSCCSCSCCCCCSSCSCSCSCSSSCSCSSCSCSSCCCCCSCSSCCCSCCCSSCCCCSSSSSSSCSSCCCCCCSSCCCSCSSSSSSSCSCCSSSCCSCSSSCSSCSCSCCCSCSSSSSSSSCSSCSSSSSSCSCCCCSCSSSCSCSSCCCCCSSCSSCCCSCSCSSSCSSSSCCSSCSCCSCCCSCCCSSSCCSSCSCCCSCCSCSCSCSSSSSCSCCCCCSCCCSCCCCSSSSCSCSCCCSSSCSCSSSSSCCCCCCCCCSSSSSSSSCSCSCSCSCSCCCCSSSSCCSSSCCCSSCSSCSCSSCCSSSCSCSSCCCSSCSCSSSCSSCCSCSSCCSSCCSSCCCSSSCSSSSSCCCCCCSSSCSSSCCCSCSCSSCCCSCCSCCCCCSCCCCSSSSSSCCCCCCCSSSSCCSCSSCCSCSCSSCCSSSSCSCSSCSSCSSCSCCSCSCCSSCSSSSSSCSSCSSSCSSSCSSCSCSSCCCCSCSSCCCSSSSCCCSCCCCSSSSSSCSCSCSCCSCSCSCCSCCSSSSSSCSCSCCCSCCCSSSSCSCSCSCSSCCSCSSSSCSSCSCSCCCCSSSSCSSSCSSSSCSCCSSCCCCSSSCSCCSCSCSCCSCCCCCSSSSSSCSSCSCCSSSCCCCCCCSSCCCSSCCCCSSCCSSCCCSSCCSCCCCSSSSCCSCCSCCCCSSCCCCCSCSSSSCSCSSCCSCCSCSCSCSSCSSSSSCCSCSCCCCSSSCSCCCSCCCCSSSSCSSCSCSSSCSSCCCSSCSCCCSCSCSCCCCSCSCCSCCCSCCCSSSCSCSCCSCSSSCSCSCCCCCSSSSSCCCSCSSSSSCSCSCSCSCCSSSSCCSSSSSSSSCSSSSCSCSSCSSSCSCCSCSCCSSSCSSCSSCSCCSCCCSCCCCSCSSCCCCCCSCSSCCSCCCCSSSSSSSCSCSCCCCCCCSSSCSSCCCSCSCSSSCSSCCSSSSCCSCSSCCCCSCSCSCSCSSCSSCSCSCSCSSSSCSCSCCSSCCSCSSCCCCCSCSCSSCCCCCSSSSSSSCSCCCCCSCSCCSSCSSSSCSCCCCSCCCCSSCCSCSSCCSSCSCCSSCSSSCSCSSCCCSSSCSCCCCCSSSSSCSCSCSSCSSSSCSCCCSCCSSSSCCSCCSCSCCCSCCCSCCSCSCCSSCSSSCCSSSCCSSCSCCSSSSCCCCCSSSCCCCSSSCCSCSSCSSSCCSCSSCSCSSSCCSCCCSCCCSCCCCCSSSCCSCCCCCSSSSSSSSSSSSSCSSSSSSCCSCCSCCCSSSCCSSSCCSSSSCCSCSSCCSSCCSSSSSSSCSSCCCCSSCSSCCSSCCCSCCSCCSSSSSSCSSCCCCSCSSCSCSSSSCCSCCCSSSSSCSSSSSCCCCCCCSCCSSSCSSSCCCSSCCSSCCSCCCSSSSCSSSCCSCCCCSCCCCCSSSSCCSSCSSSCSSCCCSCSSSSCCCCCSSCCSSCSCSSSSCCSSCCSSCCSCSCSCSCCCCSCCSSSSCCCCCSSCSCCCCSSCCSSSSSCSCSSCSCCSSSCCCSCSCSSCCCSSCSSSSSCCCCCCSSSCSSCSSCCCCCCSSCCCCCSSSCCCSSCSSCSCSSSCSCCSCSSSCCSSSCCCSCCCSSCSSCCCSSCCCCCSCSCCSSSSSCSSCCSCCCSCSCSSSSCSSCCSSCCSSSSCSCCSCSCSSSSSCSCSCSCCCCCSCSSCCCCCCSSCSCCSSSCCSSCCCSCSSCSSSCCSSSCSSCCCSCCSSCCCCCSCSSCSCSCSSCSSSSCCCCSCCSSCSSCSSCSSCCSCSSCSSSSSSCSCSSCSSSSSSSCSCCCCSCCSCSSSSCCCCSCSSSSCCSSSSCSCSCCCSCCSSCCSSCSCCCSSCSSCSCCSSCCCCSSSCSCCSCSSSSCSSCCCCSSSCCSCCSSSCSSSCSCCCCSSSSCSSSSCSSSCCSSSSCSSSCSSCSSSSSSSSSCCSSCCSSCSCCCCCCCSSSSCSSSCSSSCSSSCSCCSCCCCCSCSCSSSCSSSSCCSSCCCSSSCCCCSCCSSSCCCSSSCSCSSSSCSSSCCSCCSSSSSCSSSCCSCCCCCCCSSSCCSCCCSSSCSCCSSSSSCSSCSCSSSCSCCCCSSCSCSCCSCSSCCCSCSCSCSSCCSSSSCCCSSCSSCCCSCSCSSCCSCSSSCCSCCSCCCSSSSCCCCSSCSSCSCCCCSSCCCSSSCSSSSSCSCCSCSCSSSSSCSCCCSCSSCSCSSSCSSCCCCSCCSSCCSCSSCSCCCCCSSSCCSSCSCSCCCSSCCCSSSSCSCCSSSSSSSCSCSSCSCSCCSSSCCCCCCCSSSCSSCSCCCSSSCCCSSSSSCCCSCCCCCSCSCCSSSCSCCCSCCCCCSCSSCCCSCSSCSCSSSSSSSCCCSSCSSCSSCSSSCCCSCSCCCCSSCSSCSCSSCSCCSSSSSCSSCSCSSCCSSCSCSCCCSSSCSSCCCSCCCSCCSCCSCSSCSSCCSSSCSSSCSCSCCSCSCSSCCSSSCSSCCSSCCCSCSSCCSSSSCCSCCCCSSCCSCSSCSSCSSCSCCCSSSCSCSCCSSCCSCSSSCCCSCCSSSCCCSSSCCSSSSCSCSSCSCSCSSSSSSSSSCCCCSSCCSCCCCCCSCCCCCCCCSCSCSSCCCSSCSSSSCSSCCSCCSSSSSSSSCCCCSCCSSCSCSCCCCCCSCCSCCSCCSCSSSSSCCCSSSCSCSSSSCCCSCSSCSCCCCCSCCSSCSSSSSCCSSCSCCSCSCCSSSSSCCSSSSSSCCCCSSSCCSCSSSCCCCSCCCSSSSCSCSSCCSCCSSCSSSSCCCCSSSSCCSSSSSCSSCCCCSSSCSSCCCSCSSCSSSCCCCSSCSCSCCCCSSCSCCSCCSCSSCSCCSSSCCCSSCSSCCSCCSSSCCSCCCCCSCSSCSSSCCSSCSSCCCCCCSSSSSCSSSSSCCCCSSSCSSSCSSCSCCSCCCCCCSCSSCCSSSCCCCCSCCSCSSCSSCCSCSCCSSSCSSCCCCSSSSSSCSSCSSCCCSSSSCSCCSCCCCSSSCSCSCCSCSCSCCSSSCSCCCCSSSCSSCSCSCCCSCCCSSCSSCSSSSCSSCCCCSSCCCCSCCSSSSSCSCSSCSSSSSSCCSSCSSSCCSCCSCCCCSSCCCSCCSCCSCCCSCCSSSCSSCCSCCSSSSSCSCCSSSSCCCSCCCSSCSCSSSCCSSCSCCSSCSCSSSSCCCSSCSCSCCCSCSSCCSSSSSSCSCCSCSCCCSSSSCSSCSSSCCCCSSSSCCSCSSSSCSCCSCSSCCCCCSSCCSSSCCCCSSCSCCSCCSCCSCSCSCSCSSSSSSSSCCCCSSSCSCCCCCSSSCCCSCSSCCSCCSSCCSSCCSSCSSSSSCSSSCCSSSSCCCSCCCSSCSCSCSSCCCSSCSSCSCSSSCSSCCSCCCCCCSCCCCSCSSCCSSCSSSSCSCSCSCSSSSSSCSSCCCSSSSSSSSSCSSSCCSCSSCCCCSSSSSCSCCCCSCCSSCSCSCCSSCCSCCCSCSSCSCSCSSSSCCCCSCSSSCCCCSSCCSCSCSCSCCCSCSCSSSCCSSCCCSSSCCSSSCSCSSSSSSSCCSSCCCSCSCSCCCCCSCCCSCSCCSCSCSSSSSCCSCSCCSSCCCCCSSSSSCCSCCSSSSCSSCCSSCCCSSSSCCSSSSSCSSCSCSSCCSCCCCSSSSSSCCCSCCSSCSCSSCSSSSSSSCSSSCCSCSCSCCSCCCCCCSSSCCSSSSCCCCSSCCCCCCCSSSCSCSSSSCCSCSSSCCCCSCSCCSSCSCCSCSCSCCSCCSCSSCSCCSSCSCCSCCSSCCCSCCSSCSCCSCSSCSCSCCCCCCSCCSCSSSCCCCSSCSSCCCSSCCCCCSSCCSSSCSSSCSCSSSSCCSSCCSSCSSSCSCSCCSCCCCSCCCCSSSCSSCSSCSCCCSCCCCCSCCCCSSSCSCCCSCSSSCCSSCCSCCCSSCCCSSSCSSSSSCCCCSSCSSCSCCCSCSCCCCCSCCCSCCCCCSSCCCCCCCSSCSSSCSCCCSCCSSSCCCCSSCSCSSSCSCCSSSCCCCSSCSSCCCSCCSSCSCCSCCCCSSCSSCSCCSSCSCSCSSCCSCSCCCCCCSCSSCCSCCSCSSCSCSSCSCCSSCSSSSSCSCCCCSCCSSCSCSCCSSCCCSSCSSCSSCCCSCSSCCCCCSSSCCSCCCCSSSCCCSSSSSSSSCSSSCSCSCCCSSSCSSCSSSSCSCSSSCSCSCSCSSSSCCSCCSSCCCCSCSSCCCCSSSCCSCSCCCCCCCCSCCCSCSSCSCCCSSCCCSCCSCCSSSSCCSSCSSSCCSCSSSSCSSSCSCCCSCSSCCSSCCSCSSCSCCSCCCCCCCCSSSSCCSSCCCSSSCCSSSSCSCCCCCSCSCCCCCSSCSSSCCSSCCSSCSCSSSCCCCCSCSCCCCCSCCSSCCCCCSSCSSCSCCCSCSSSSSSSCSCSSSSCSSCCCSCCCSSCSCSSSCSCSSSSSCCCSCSCSSCSCSCCCCSSCCSCCSCCSSSSCCCCCSSSCCSSSCCSCCSCCSCCSCCCSCCSCCCSSSSSCCCSCCCCCSSSCCSCSCCSCSSSCCSSCSSSSSSSCCCSCSCCCCCCCSSCSCCSCSCCSCCSSCCSSSCCSCCCSCSSCSSCSSCSCCSSCCCSCSCCCCSSCCCCCSCSCSSSSSCSSSSSSSSSCCCSSSSSSCSCCSSSSSCCSCCCCSCCSCSCSCCSSCCSSSCSCCSCCSSSSSSSSSCSSSCCCSSCSSSSSSCCCSCSCCCCSSCSCCSSSSCSCSSCSCSCCCSSCSCSCCCCSSSCSCSSCSCSSSCSCSSCCCCCSSCSSSSCCCCCCCCSSCCSCCSSSSCSSCSCCCCSSSCCCCSSCSSCSCSCCCSSSCSCSSSCCCSSCCSSSCCCCCSCSCSSCSSSSSSCSSSSCSSSSCCSSCCCCCCSSSCCCCCCCSCSSCCSCSCCCCCSCCSSCCSSSSCCSCCCCSCCSCCSCSCCCCCCSSSCCSSCSCSCCSCCCCSSCSSCSSCSSCSSCSCCSSSCSCCSSCSSSSCSSCSCCCCCSCSCCCCSCSCCSSCCCSSCSSCCSSCSCCSSCSSCSCCCSSSCSCSSCSCCSSCSSCCSSSCCSCSCCCSCSCCSCCSSCSCCCSCCSSCCSSSCSCCCCSSCSSSSSCSCCSCCSCSCCCSSCSSSCSSCCCSSSSSSSSCSSSCCSSCSCSSSSSCSCCCCSCSCCCSCSCSSCSCSSSCCSCSCCSSSSSCSCSCCCCCCCSSSCSSCSCCCCCSSCCCCCCSSCCSCSCCCSSSCCSCSCSCCCCCSCSSCCSCCCSCCSCCCSSCSSCCSSSCCSCCCCSCCCCCCCSCSSCSSCCSSSSCCCCCCCSSSSCCSCCSSCSCCSSSSSSCCSCCCSSCCCSCCCCSCCSCSSCCSSCSCSSSSSCSCCCSSSCCCCCSCCSSCSCSCCSCCCSCSCSSSSSCSCCSCSCCSSSCSSCCCCCSSSCSCCCCSSCSSCCSSCCCSSCSSSCCCCSSCCCSSCCCCCCCSSCCSSSSSCCCCCCSCSCCCSCSCSCCCCCSSCCSCSCSCSCSSCSCCSSCCCSSCCSSSCSCCCSSCSCSSSCSSSCCCCSSCSSCCSSSSCSCSSCSSCSCCCSCSCSCCSCSSCSCSSSSSSCSSSSSSCSCSSCSSSSSCCCCSSCCCSCSSCCSCSSSSCCCSSCSSSCCCSSSCSCCSSSSCCCSSSCCSSCSSCCSSSCSSCSSSCCSCSSSSCSCSCSSSSCSCCSSSSSSSCSSCCCCSSSCSSCCCCSCSSCSCCSCSSSCCSSCSCCSSCSSSCSSSSCCCCSCCCCCSCSCSCSSSSSCCSCSSCCSCSSCCCSCCSCCCSSSCSSSSSSCSSSSCSCCSSSCSSCSSCCSCSSCCCSSCCSCCSCSSCSSCSSSCSSCSCSCSSCSSSCCCCCSCSSSCCSSSSCCCCSCCCCCSCCCSCCSSSCSSSCSSSCSCSSSSSSSCSCCSCCCCCCCSCSCSCSSSSSCSSCSCCSCSSSSSCSSSSCCSSCCCCSCCSSCCSSCCSCSSSSCSCSCSSSSCSCCSSSSSCSCCSCCSCSSCCCCSCCSCCSCSCCCCSSSSSSCCSCCCCCSCCSSCCCCSCCSCCCSCSSSSSCCCCSCCSCSCSCCSCSSSSCSSCCCCCSSCCCSCCCCCSCCSCSCSCCCSCSCSSSCSCSSCSCCSSSCSCCSCCSCSCCSCSCCCCCSCCSCCCSSCCSSSCCSSCCCSCSSSSSSCCSSSCSCCSCSCCSSCCCCCCCSSCCSCSSCCCSCSSCCSSSSSSSSSSCSCCSSCSCCSCCSSCSCCCSCCSCSCSCSSCCSCCCSCCSCSCSCCCCSCCCCCSSSSCSSCCSCSSCCSSCCSSSSSCSCCSSCSCSCCCSCSSCCSCSCCSCSSCSCCSSSCCSSCCCSSCSSSSSSSSCCCSCSCSSCCSCSSCSSSSCSSSSSSSSSCCCSSCSSSSSSSCSSSCCCSSCSSSCSCCSCSSSCCCCCSCCCCCCSSSCCSSCCCCSCSSSSSSCSSCSSCSCSCCSSCSCSSCSSCSSSCSCSCSCSSSSCCSCCSSCCSCCCCCCSSSCCCSCSSSSSSSCCCSSSSSCCSSSSSCSSCSCCCCCCCCCSCCSCSSSCSSCSCSSCSSSSSCCCSCSSCSCSCSCCCCCCCCCCCCSSCCSCSCCSSSSSSCSSSSSSCSSCCSCCCSSCSCCCCCCSCSSCCCSSCCSSCCSCSCSSSSCSCSSCCSSSCCCSCSCSSCSCCSSSSCSCCCCCCCCCSCCSCCCCCCSCSSSCSCCSCSSSCCSSSCSCCCCCCCCSSSSSCCSSSSSSSSSCSSCCCCSCCSCCCSCCSSCCSSCCSCSSCCCCSSSSCSCCSCSSCSCCSSCCSCCCCSCCCSCSCSSCSCSCSSCSSSCSSCSCSCCCSCSSSCSCCCSCCSSSCCCSSCCSCCSCSSCSSCCSSCSSCSCCSCSCCCSCCSCCCSCSSSCSSCCSSCSCCCCCSCCCCSSCSCCSSCCSSSCSCSSSCSCCCCSSSSSCCCSCCSSCSCCCSCCSCCSCSSCSCSCSCCSSSSSSSSSSSCCCSSCCCCCSSSCCSCSCCCCCSSCSCCSCSSCSCCCSCSSCCCCCSSCCSSCCSCSCSSCSSCSCSSCSCSSCCCCCSCCCCSSCCCCCSCCCCCCSSCSCSSSSSCCSSSCCSCSCSCSCCCCCCSSCCSSSCSCCCCCCSSCCCCCSCCSSCCCSSCSSCSCSCCCSSSSSCCSCSCCCCSCCSSCCSSCSCCSSSSCCSSCCCSCCCCCCSCSCCSCSSCSCCSSSCSCSCCCCSCSSSSSCSCCSCCSCCSSCCCSSCCCSCCCSCCCCCSCCSCSSCCSCCSSSCCCCSSCSSSSSSSCCSSSCSCSSCCCSCSSSSCCCCCSCCCCSCCCSCCSSSSCCSCSSSCCSCCSSSSCSSCCCSCSSSCCCSSCSCSCCSCSCCCSSSCCCCCCCCSCCCSCCCSCCSSSCCCCSSCCSSSCCSCCCSSCSSCCCCCSSSCSCCCCSCCCCCSCCSCCSCCSSCSSSCSCCCSCCCCSCSCSCSCSSSCSCSCSCSCSCCCCCCSCCSCSSCCSCSCSCCCSCSCCSCSSSSSSCSCCSSCCCSSSCSSCSSSSCCCCCCCCCSCSSCSSCSCCSSSSCCCCSCCSCCCSCCCSSCCCCCSSCCSCCSSCSSCSCCSSSSSCSSSCCCSCSSSCSCCSCCCCSSSSSSCCSSSSCSSCCCCCCCSSCCCSSCSCCSCSSCCCSSSCSCCCCSCSCSSCSCCCCSCCSSSCSCSCCSCSCCSSCCSCCCCCCCCSSCSCSSSSSSSSCSSCSCSCCCSCSSSCSSSCSCSCCSCSCSSSSSSCSCSSCSSCSCCCSSCCSSCSSSCSCCCSSCSCSCCCCSSSCSSSCSCSSSCCSSSSSSCSCCCCCSCCSCCSSSCSCSCSCCSCCSSCCCSCCCSCCCSSSSSCCSCSSCSCSCCCSCSSCSSSSSSCCCCCCSCSCCSCSSSSCCCCCCCCCCSCCSCSCSCSSSSSSSSSSSSSSSSCCSSCSSSSCSSCSSCCCCCSCSCCCSCCCSCSSCCCCSCSCCCCCSSSCCCSCSSSCSCCSCCSCSCSSCCCSSCSSSCCCSSCSCCCCCCCCSSCSSCCSSSSSCSSSCSSCSSSSSCSCCSCCSCCCCSSSCCSCCCCSCCCSCSCCSSSSCSCCCCCSCSCSCCCCCSSSSCSSSSCSCCSSSSCCSCCSCSCCSCSSCCSSCCCCSCSSSSSCCSCSCCSCSSCCCSCCSSSSSSCCSCSCCCSSCSCCSSCCSCCSSCCCCSSSCSCSSCCSSCSSSCCCCCCCSCCSCCSSSCSSSCCCCSCSSCCCSSCCCSSSCCCCSSCCCSSSCSSSCCCCSSCSSSCCCSSCCCSCSSCSSSSCSSCCSCSCSCCCCSCCCSCCCSSSSCSCSCCCCCCCCSSSCCCCSSSSCSSSSSCSSSCSCCCSCSCCSSSSCSCCSCCSSCSSSCCCCCCCSCSCSCSCCCCSSCSSCSCSCCCCCSSSSCCCCSSSCCCCSCSSSSCCSCSCSCSCCCCSCSSSSSCCCSCSCCSCCCSSCSSCCCSSSCSCSSSSSSCSSSCSCCSSSSCSSSSSSCCSCSCCCSCSSCSCSSCCSCSCSCSSSCCSCSSSCSCSSCCCSSSSCCSSCCSCSCSCCCCCSCCSSSCSSCCCSCSCCCSCCCCSSCSSSSCSCCCCCCCCCSSSCCSCSCCCCCCSSSSCCCSSSSCCSSSSSSSCSSSSSCSSCSSCSSCSSSCSCCCSSSSCCSSCSCSSCSCSSCCCCSSCCSCCSSCSCSCCSSSCCCCCSSSCSSSCSCSSCCSCCSCSCCSCSCCSSSCSSCCSSCCSSCSCCCCCCCCCSSSCSSSCCSCCSSCCCCSCSCSSSSSCSCCCCSSSCSSSCSCCCSSSCCCCSCSSSSCCSSSCCCCCSSCSCCCSCSSCCCSSSSCCCCSCSSCCCSCCSSCCCSSSCSCCCSSSSCSSCCCCCCSCCCCSCSCSCCCSCSSCSCSCCSSCSSCCCCCSSSSCSSSSCSCSCCSSSCCCSCCSCSSSCSCCSSCSCSCCCCCCSSSSSCCCSSSSSCSCCCCSSSSCCCSCCSSCSCCCCCCSSSSCCCCSCCSSSSCSSCCSSCSCCCCCCSCSCCSSCCCSCCSSCCSSSSSSCCCCCSCCSCSCCSCCSCSSSSCCSCCSSSCSSSSSSCCSSSSCSSCCSSCSCCCCSCSCCSCSSSCCCCCCSCCSCSSCCCSCCCCSSSSCCCSCCCCSSSSCSSSCSCCSSSSCCCSCSCSCSCSSCSSCSCSCSCSSSSCSSSSSSSSSCSCCSSSSSCSCSSSCCSCCCCSSSCCCSCSCSSCCCSCCSCSSCCCCSCSSCSSCSSSSSCSCSCSCSCSSCCCCCSSCSSSSSSCSCCSCCSCCSSSSCSSCCSSSCCCSCCCCCCSSCCSCSCSSSSSSCSSSSSCCSCCCCCSSCCSCSCCCSCCCCSSCSSCSCCCCCSCCSSCSSSCCCSCSSSSCSCCCCSSCSCSSCCSSCCCCSCSCCSSCCSSCCCSCSSCSSSCSCSSSSCSCCCSSSCSCSCSCCCCSCSSCSCSCCCCCSSCSSSCSCCSCSCCCSCSSSCSCCSSCCSSCSCSCCCSCSCSSSSCSCCCSCCCSSCCCSSSSSSCSSCSCCCCCCCSSSSCSCSCSCSSCCSCSCCSCSCCCCSCCSCCSSCSCSSCSSSSSSCCCCSSSSCSSSSCCCSSCCSCSCSSSCCSSCSCCCCCCSCCSCCCCSCCSCCSSSSSSCCSCSSCCCCCSCSCCCCCSCCSSCCSCSSCSSSSSSSSSCSCCCCSCCCSCCCCCSSCSCCCSCSSCSCCSSCSCSCSCCCSSSCSSSCCCCSCSCSSCSSSCCCSCCCSCSSCSSSSSSCCCCCCCCCCSCSSCSCSSCCCCSCCCCCCCCCCCCSSCCSSSCCSSCSSCCCCSCSSCCSCSCSCSCSSSCSCCSCCCCSCCCSSSCCCSCCSCSCCSCSCCCCCSSCSSSCSSSCSCCCCCSSCSSSSSSCSCSCSSSSSSSCSCCCSCCCCCCCSCCCCCSSSCCSCSCSCCSSSCCSSSSCCSSCCCCCCSSCCCCCSSCCCSCSSCSCCCSCCCSSSCCSCSCCSSCCSSCCCSCSSCCSSCCCSCCSSSCSCCCCCCCSCSSSCCCCCCSCSSSSSCSCCCSCCSSCSCSSSSSSSCCSSSSSSSSCCSSCSCSCCSSCCSCCCCCSSSSCSCSSCSCCCCSSCSCCCSSCSCCSCCSSSSSCCSSCSCSCSCCCCSSCSSCSSSSCCSSCCSSSCSSSCSCSCSSSCSSCSSSCCCCSCCSSSCCCSSCCSSCCCSCCSSCCSSSSSCSCCSSCSSCCCSCSCCSSSSCSSSCCSCSSSCCCCSCCCSCSCSCSSCSCCSCSSSSCSSSCCSSSCSSCCSCSSSCCSCCSCCCCSSSSSCCSCCSSCSSCSSCSCCSCSSSSCCCCSCCSSSCCSCSCSCSSSCCCSSSCSSCCCCCSCCSSCCCSSCCSSSCSCCCCSSSSCCSCCSCCSCCCSSSCCCCCCCSSCSCSCSSCCSCSCSSCCSSCSSSSCCSSSCCCCCCSCSSCSSCSSSCSSCSCCSSSSSSSSCSSCCCSSCSSSCSCSCCSCSSCCSCSSSSSSSCSSSCSSSCSSSSCCCSCCSSCSSCSCCSCCCSSCSCSCCCSSSCSCCCSCCSCSCSCSCCSSCSCCCCSCSCSCSSSCSSCCSSSSSSSCCCCSSSCCCCCSSSCCCCSCCSSSSCSCCCSCSSCCSCCSCSSCSCSSCCSSSSSSCSSSSCSSCCCCSSCSCCSSCCSCCSCCSCSSSCSSSCCSCSCCCSCSSCCSSCSSSCCCCCCSCCSCSSCSCSCCSSSSCSCSCSCSCSSSCCCSSCSSSCCCCCSSSSCSCCCCCSSCCCCCCCCSCSSCCSCSCSSSCCCSCSSCSSSSSSCCCSCSCSCCSCCCSCSSCCSSCSCSCCCCSCCCCCSCSCSCSSSCCSCCSSCSCSCCSSCCSCSCSSSSCCSSCCCCSSSCSCCCCSCCCCCCCSCCSSSSSSCCSSSSSCCCSSCCCCSCCSSCCCCCSSCSSSCCSCSCCCCCSSCCSSSCSSSSSSSSSCCCSCCCSCCSSSCSCCCCCCSCCSSCSCCSCCSCCCCCCSSCSSCCSCSCCSCCSSSSCCSSSCSSSSCCCSCCSCSSSCSCSSCCSCCSSSCSCCSCCCCCSCSCSCCSCCSCSSCCCSCSSSCSCSCCCSSCSSCSCCSSSSCSSSSCCCSSCCSCCCCCSSSSSSSSCCSCSSSSSSSCSSCCSCCCCCSSCSCSSSCSCSSSCCSCSCSSSSSCSCSSSCCCSSSCCSCSCSSSSCSSSSSSCCCCSCCCSCCCSCSSCSSSSCCCSSCSCCSCSCSSCCSCCSSSCSCCSSSCCCCCSCCSSCCCSSSCCCCCSSCSCSCSSCSCCCSCSCCCSSSCSSCSSSCCSSCCSSCCSCSCCCSSCCSSCCSSSSSCCSSCCSSSSSSSSCCSSCCCCCCCSCSSCSSSCSCCCSCSCSCCSSSCCSSSSCCSSCCCSSCCCCSSCSSSSCCCSCCSSSCCCSCCCSCSCCCCCCSCSCSCSSSCSSCCCCCCCSSCSCCCSSSCCSCSSCSCSCSCCSSSCCSSSSSSSSCSCCSSCCSCCCSSSSCCCCCCSCSSSSSCCCCCSSCCCSCCSSSCSCSCCSSSCCSCSCSCSCCSSSSCCSCCSSSSCCCSCSSCCCSSSSCSSCCCCCCCCSCCCCSCCCSCCSCCCCCSSCCSSSSCCCCSSCCSSSSSCSSSSSCCCSSCSSCCSSSSSCSCCCSCCSSSSCCCSCSSCSSSCCSCSCSSCCCSCSCSCSSCSSCCCSSCCSCSSSSCCCSCSCSCSSCCCCCCCCSCSSCCSCSCSSSSCSSCSSCSSCSCCSSCCCSSCSCSCCCCCCCSSSSCCCSSSCCSSCSSSCCCSCCSSCCSCCSSCSCCSSSCCCSSSSCCCCSCCCSCCSCCCSCCCSCCCCSCCCSSCSCSCCSSCSSCSSCCCSSSCCCSSSCCSSCSCCSSSCCSCCCSCCCCSCSCSSSSCSSSCCSCSSCCCSSCCSCCSCSCSCSCCCSSCCSSCSSSSCSCSSSCSSCCSSSCSSCCSSSCSCSCCSCCCCCSCCCCSSSSSSSSSSCCSCSCCSSCSCCSSSCSCCSCCCSSSCSCCCCSSSCSCSCSCCSCCSSCSCSSSCCCSSSSSSCCSCSSCSCSCCSCSSCCSSCSSSCCCSSCCCSCSCSCCCSSCSSSSSCCCSSSCCSCSSSCCCSSCCSSCSCCSCSSSCSCSSSCSCCSCSCCSCSCCSCCCSCCSSSSSCSCSCSCCSCSCSSSSSCSSCCSSSSSSSSCCCCCCCCSSCSSSSSCSCSCCSCSSSSSCSSCSCCCSCSCCCSSSCCSSCCCSCSCCCCCCCSSSCSSSCCSCSSSCSCSSSSSCCSCCSSCCCSSSCSSCSCCCCCCSCSCCCCCSSSCCCCCSSCCCSCCCCCSCSSSSSSCSCSSCSCSCSCSCSCSCSCCCSCSSSSCCCSCCSCSCSCCSCCSSCSSSSSCCCCSCSSCSCCSCSCCCCCSSSSSCSSSSSCSCSCSCCCCCSCSSCCSCCSCCCSSCSSCCSSCSSCSCSCCSCCSSSCCCCCCSSCCCCCSCSCSSCCSCCSCSSSSCSSSCSCCSCCSCCCCSCSSSCSSSSSCSCSCCSSSSSCSCSSSSCSCSCSSSSSSCSSSSCCSSCCCCCCCSCCSCCCSSSSSCSSCSSSSCSCCSCCSSCSSCCSSSSCCSCSSSCSSSCSCCCSCSCCCCCSSCCSCSCCSSCSSSSSCCCCSCSSCCCCSSCCSCCSSCCCSSSSCSCCSSCCSCCCCCSSCCSSCCSCSCSSSSSSCSSCSSSSSCCSSSSSSCSCCCSSSCSSSCCSCSCCSSCCCCCCCSSSSCSCSCSCCCSSCSSSCCSSSSSSSSCSSCSSSSSCSCCSCCCCSCCCCCCCCSCCSCSSCSCSCSSSCSCCCCSCCSSSCSSCSSCSCSCCSCCCSSCCSCCSCCSCCCSSSSSSCSCSSCSSSCCSSSCCCCCCSSSCCCSSSCSSSSCSCCSSCSCCSSSSCCSCSCSSSCCCCSSSSSCSSSSSCCCCSCCCCSSSSSSCCSSCSCCCCCCCCSCCSCSSSCSCSCCCCSCSSCSSCCSCCCSSSSCSSCSSSCCCSSCCCCSSSCCCSSSSSSCSSCSSSCSCSCCSCCCCSSSSSCCCCSSCSSSSSSSSSSSCSSCCCSSCSCCCCCSSCSCCSSSSSCSSCCCSCCSCSCCSSSCCCSSCCCSCSCCCSSCCCSSCCSCSCSCCSCCCSSSCCCSSSCCSCSCSSSCCCSCSSCSSCSSCSSSSCSSCCSSSCSSSSSCCSSSCCCSSSCSCCCCSCCCSCSSSSSCSSCCCSSCCCCSSCCCSSCSSSSSCCSSSSSSCCSSSCSSSSCCCCCSSCSSSCCCCSCCSSSSCSCSSSSSSCSCSSCSCCSSSCCSCCCSSCCCCCCCSSSCCCSCSCCCSSCSCSSSSSCCSCSCCSCCCSSCSCCSSCSSSCCCSCCCCSSCCCCCSSSCSCSSSSCSSCSCCCCSSCCSCSSCCSSSSSSSSCCSSSCCCSCCSSSCSCSCCCCSSSSCSSCSSSSSCCCCSCSSSCCSSSSCSCCSCSCSCCCSCCCSSCCSSSCSCCSSCCSCSCCCCCCSCCSCCCSSSCSSSCSCSCCSCSSCSSCCCSSCSCCSSCCSSCSSCCSSSCSCSCCSSCCSCSCSCSCCSCCSCCCCCSCCCCSSCSCSSSSCCSCCSCCCSSSCCCSCSSSCSCCSCSCSCSSSCCSCSCSSCCSCCCCSCSSCSCCCCSSCSCSCCCSSCSSCCCSCSSCSSSCSSCSSSCSCCSSCSSCSSSSCCCCCSSSCCCSSSCSCSCSSCCSCSCSCCSSSCSSSSSSSCSCCCSSCCCSCCSCCCSCSCSSSSCSCCCCSSSSSCCSSCCSCCSSSSCSCSCCSSCCCCCCCCCSSCSCSSSCSSSCCSCCSCSSSCCSSSCSSSSCCSCCCSCCCCSSCCSSCSSSCCSCSCCSSSSCCSSSCSCSCCCCCCCSSSCCCCCSSSSCCCSCCCSCSSSSSCSCCCCSSSCSCCSSSSCCSSCSSCSCSSCSSSCSSSSCSCCSCSSSCSCCCCCSSSCSSCSCCCCSCCSSSSSCCSSSCSSSSSSCCSCCCSCSSCSCCCCSCSSSSCCCSCSSSSCSCSCSSCSSCSSCSCSCCCSSSCSCSCSCSSSCCSSCCCSCCSSCCCCSCSSCCSSCCSCCSCSSSSCSCSSCCSSSCCSCCSCCSCSCSCSCSSCCCCCSCCCCCSCCSCCSSCSCSSCCSCSCCCSCCCSSSCSCCSCCCCSCSCSSCCSSSCCSSSSCSCCCCSCSSSCCSSCSSSCSCCSCSCCSSCCSSCSCSCSCCSCSSCSCSCCSCCCCCSCSSSSSCSCCCSCSCCCSCSSCSCCCSSCCSSSCSCCCCCCSCSCSCSCSCCSSSSCCSCSSCCSCSCCCSCSSSCSCSSCCCCCSSSSSCCSSCSCCSCCCCSCSSSSSSCSCSCCCSCCCSCCCSCCSSSCSSCSCCCSCCCSCSSSSSCCSCCCSSCSCSCCSCCSCCSSCCSSSSSCSSSCCSCSCCSSSCCCSSCSSCSCCCSSCCCSSSCCCCSCCSCCSSCSCCCCCSSCCSSCSCSSCSCCSSCSCCSCSSCCSSSCCCCSCSCCSCCSSCCCCCSSSSSSCCCCCSCSSCSSCSCCCSSSCCCSCSSSSCCCSCSSSCCCCSCSSCSSCCSCCCSCSCSCSSSSSCSCCCCSSCCSSSCSCCCCSSSSCCSSSCSSCSSCSCSSCSSCCCSSSCCCCCCSSCSCCSCCSCCCSCCSSSSCSSCCCCCSSSSCSCCCCSCCSSCSCCCSSSCSCSSCSCCSSSSCCCCCCSCSCSCSSSSSCCCCSCSSCCCCSCCSSCSCSCSSCCSCCCSCSCCSSSSSCSSCSCCSCCSCCSSCSCSCCSCSCSSCSCSCSSSCSCSCSCSSSSSSCSCSSCSSCCCCCSSCCCCCSCCSCSCCCSSSCSSCCCSCSSCCCCCSSCCCCCCSSSSCCSSCCCCSCCCSSCSCCCCSSCSSSCCSSSCSCCCSSSCCSCSSCCCCSCSCSSSSSCCCCSCCSCSCCCSSSCCCSCSCCCSSCSCSSCCSSSSSSSSCSCSCSSSSCSSCCSSCCSSCCSSSCCSSCSSSCCCSSSSCSSCCCCCSSSSSCCCCSCSSCSSCSCCCCSSCCSCCCSSCCCCCSSSCSCCSCSCCCCCCCSCCSSSCSCCSSCCSSSSCSCCCCCCCCCCSSSSSCCCSSSCSSSSCSCSSSCCCCCSSSSSCCSCSCCCSSCSSSCCCCCSSSSSCCCCSCCSCCSCSCCSCCSCCSCCSCCSSCSSCCCSSCSCSCCSCCSSCSSSCSCSSCSSCSSSSSSSSCSSCSSSSSCSCCSCCSCSCCSSSCSSCSCSSSSSSCSCSCSSCSCSSSCCCCCSSSCSSSSSSSSSSSSCSSCCSCSCCCCSSSCSSSSSCSCSSCCSSCCSSCSSCCSSCSSCSCCCSCCSSCCSCSSCSCSCCCSSCCSSCCCSSSCSCCSSSCCCCSCSCSCSCSCCSCSCSSSCCCSSCSCSSSSSSSCSSCSSCCSCCCSSSCSSCCCSSSSSSSCCSCCSSSSSSSSSCSCSCCCSSCSCCSSCSSCCSCCCCCSSSCSSCSCSSSSSCSSCCSSSCSSSSSCSSSCSSSCSCSCSSSSSSSCSSCSSCSCCSSCSSCCSSSSCCSSCCSSCSCSCSSSCCSSSSCCSSSCCSCCSSSSCCCSSCSCSCCSSCSCSCCCCCSCCSSCCCCSSCCCCCCCCSCCCCSCSSSCCCCSCCCSCSSCCCCSSCSCSSSSSSSCSSCSCCSCCSCCCCSCCSSSCCCCSCCCSCSSSCSSCCCCCCSCSCSCSSSSSCCCSCCCCSCSSSSCSSSCCCSCCSCCCSCSSSSCSCSCCCSSSSCCSCCCCSCCCSSCCSCCCCCCCSSCCCSSSCCSSSSSCSSSCCSSSCSSSSSCSSSCSSCSSCCSCSCCSCCSSCCCCCSSCCSCSSSSSSCSSSCCSSSCCSCCCCSSSSSSSCSCSSSCSSCSCCSSCCSSCSCSSCSCSCCCCCCCSCCSSSCSCSSCSCSCCCCSCCCCCSSCCCCCCCCSSSSSCCSSSCCCCSSSSCSSCSSSSCCCSSSCCCSCCSCSSCCSSCCCCCSSCCSCCCSCSCCSSSSCSSSCSCSSCCCSSCSSSCSSSSCCSCSSSSCSSCSCSCCSCCCSSSSCCSSSSCSCCCCSSCSCCCCSCCCCCCCCSSSCSSCSSSCSCSSSCSCCCSCCSCCSCCSSCCSCSCSSSSCCSCSCSCCCCCSCSCSCSCCSSSCCCSCSSCCCSSCSCCCSCSCSCSCCCSSSCSCCCSSCCSSSSCCSCCCSCCSSSSSCCSCSSCSCSSSCSCCCCCSSCSSSSSCCSSSSCSCCSSSCCCSSSSCCCSSCSCSCSSSSSSCCCSCSSSSCSCSCCSCCSSSCCCCSCCSSSSSSCCSSSCSCCCSSCSSSCCSSCSCSSCSSCCSCCSSCCSSCSCCCCCSCSCSCSSSCCCCCCCCSCCCSCCCSSCCSSSSCCSCCCCCSSSSCCCSSCSSSCSCCSCSCSCCCCSSSSSSSSSSCCSSSCCCCCSSSSCSSCSCSCCSSCSSSSSSCSCCCCSSSCCSSCSCCSSSSSCSCSCCSCCSSCCCCSCCSCSSCSCSSCCSCCCCSCCCSCCCSCSSSCSSSSCSSCSSCSSCSCSCCCSSCSCCCCSSSSSCSSCCSSSCCCSSCSSCSSSCSSCCSCCCCSSCSSSSSSSCCSCSCSCCCCSCSSCSCSSSSCCSCSCCCCSSCSCCCCSSCCSCSSCSSCSSCCCSCSSSSSCSCSCCCSCSCCSSSSSSSSCSSSSCSCCCSCSCSCSSSSSSSCSSCSSSSSCSSSSSSCSSSCSCCCSCCSCCSCSSSCSSCSSSSSSSSCSSCSCSSSCSCCCSSSSSCCSSCSSCCSCSSCSCSCSCCSCSCSSSSSCCSSSCCSSCSSCCCCCSCSCSCCSCCCSCCSCCSSSCCCSSSSSCCCSCSSSSCSSSSCCSCSCSSCSCSCSCCCCCSSSCSSSSSSSSCSCSCSSCSCCCCSCCCSSCSCSSSSCCSSCCCSSSSCSSSCCCCSSSSSCCSSSCCSCCCSSCCSCSSCSSSCCCCSCSSCCSCSCSSCCSSCCSCCCSCCSCSSCCSCSSSSCSCCCSSCCCCCCSSCCSCSSSSCSCSCSSSCSSCSCSSCCSCCSCSCCCCCCCCSSSSCSCCSCCCCSSSSCCSSCCCSCSSCCCSCCCCSSCCCSSSCCCSSSCSSSCSCSCCCCCCSSSSCCSCSCSSSCSSSSSSCCCSCCCCCSCSCSCSCCCCCSSSSCCCCSSSCSSSSSCCCCCSCSCSCSCCSCCCSCSSCCSCSSSCSSCCSCCSCSSCSCSCSSSCSSCSCSCSCSCSCCSSCCSSCSCCCSSCCCCCCCCCCCSCCSCSSSSCCSSCCSCSCCSCSSCCCSCCSSCCCSSSSCCSCCSSCSCSCCSCCSSCSSSCCCCCSCSCCCSCCSCCCSSCSCCCCSSSCCCCCCSSSSSSSCSCCCSSCSCSCCSSSSSSCCSSCCCCSCCSCSCSCSCCSCSSSCSSSSCSCSSSCSSCCSSSSSSSCCCCCSSSCSSCCSSCSSSSCCSSSSSCCSCCCSSCSCCCSSSCSSCSCCCSSCSSCSSSCCCSCCSSSCCSSSSCSCCSSCCSSCSSSSCCSSCCSCCSCSCSSCCCSCCCSSCCSCCSCCCCCSCCCCSSCSSSCSCCSSSSCCCCSCSCCSCCCCSCSSCSCCCCSCSCCSCCCSCCCSSSCSSSCSCSCSSCSSCSCSCSSSSCCSCSSSCSSCSCSCSSCCSSSCCSCSSCSCCSSSCCSSSSSCCCCSSSCSSCCSCCSCSCSSSSCCSSSCCSSSSCCCCCCCSCSCCSCCSCSSSSSCCCCCSSCCSCCSSCCSCSSCSSCCSCCSSCSCCCCCSCCCSCSCSCCSSCSSSCCCCSCCSSSSCSCSCCSCCSSSSSCCSCCSSSSSCCSSSCCCCSSCSCCCSSSCSCSCSSSSSSCCCCCCSCCSCCSSCSSCSCCCCCSSSCSSCSCCCSCSCCSSSCCSSSSCCCCSSCCSCSCCSSCSSSCCSCCCSSCSCCCCSCCSCSCCSSCCCCCSSCCSSSCSSSSCSSSCSSCCSSSSCCCSSCSCCSCCCCSSSSSSSCCSSCSSSSSCSCSSSCSCSCCSCCSCSSCCCSSCCSCCSSCSSCCSCCSSCSCSSCCSCCCCCSSSCSSCCCCCSCSSSSCCCSSCSSCSCSCSCCSSSSSSCSSSSSSSCSSSSSSCSCCSSCSCSCSSCCSSSSCSSSCSSSSSSSSCSSSSSSCCSSCSSSSSCSSCCCCCSCSSSSCCSCSSSCSCSCCCSSCSCCCSSSSSSCCCCCSSSSSCSCCCSCSCCSSCSCSCSSCSSCCCCSCSSSCSCSCSSCSSCCCSSCCSCCCCCCSCCCCCCCSSSCCSCCCCSSCCSCCSCCSCSCSSSSCCSCCCCSCSSCSSSSSSCCCSCSSSSCCSSCCCCCSSSCCCCSSSCCCSSCCSSCCSSSCCSSSSSCSCCCCCSSCCCCSSCCCCCSSSCSSCSSSSCSSCSCCCCSCSCSSSCCCSCCSSCCSCCCSCCSCCCCSSCCSSCSCCCCSSCCCCSCCCSSCSCCCSCCSSCSSSCSCCSSSSSCCSSCSCSSSCSSSCSSSCSCCCCCSSCCSCCSCCSSCCCSSSCSCSCSSSCCSSSCCSSCCSSSCSSCSSSCCSSCCSCCSCCSCSSCSSSSCCSCSCSCSCSSSSSSCCSSSCSSSCCCCCSCSCCCSSSSSSCCSCCCCSCCSCCCSSSSSSCSCSSCSCSCCCCSSSSCCSCSCCSCSCCCCCCCSSSCCSSSSCCCSSCCSSCSCCCSSSSSSSCCCCSCCCSSSSCCCSCSSCCSCCSSCSCCCSSCSCSCSSCSCCSSSSCSSSCCSSCCCSCCSCSCCSSCSSCSSCSSCCSCSCSCCSSCCSCCSCCCSCCCSCCSSSCCSSCSCCCSSSCSSSSSSCCCCCSSCCSCCCCSSSCCCSSCCCCCSSCCSSCSSSCCCCCSSCCCSCCSCCSCSSSSCSSSCSCCCCCSSSSSSCCCSCSSSSCCCSSSSCSSSSSSSCCCCCSSSCCCSCCSSCSSSCSSSSSSCSCCCSCSCSSCSSCCSSSCCCCSSCCCSSCSSCCCCSSSCSSCCCSSCCCCCSSCSSCCCCSSCCSCSCCCSCSSCSSCSSSSCSSCSSSCSSCCSCSCSCCSCSCSSSCCCCSCSSSCCSCCSSSCCSSCSCCCCCSSSSSCSSSSCCSCCCCCCCSCSCCCCCCSSCCSCCSSCCCSCCCSSSSSCCSCSSCSCCSCSSCSCCCSCSCCCSSSSCSCSCCSCSCSCSSCSSCCSSCSCCCSSSSSSSSSSCCCCSSSCCSSSSCSCCCCCSCCCCSCSSSSCCCCCSSSSCSSSCCCSCSSCSSSCCCCCSSCCCSCCCSCSSCCCSSCSSCCCCCSSCSSCCCSCSCSSCCCSSSSSSSCSCCCSCSSCSCSCCCSSSSCCSSCCSSCCSCSCCCCCCCCSSSCSSSSSCSSSSCSSCCCSCCCCSCSSSCSCCCCSSCCCSSSSCSCSCSCSCCSSCSCCSCCCCSSSCSCSSCSSSCSSSSCSSCCSSSCCSSSCCSSSSSCCCCSCSCCSCCSSCSSCCSCCSSSCSSSCCCSSCSSSCSSCSSCSCCCCSCCCSCSSSCSSCSCSCSCSSSSCCCSSCSSSSSSSCCCSCSCSSCCSSSSSCSSSSCSSSCCSCSSSCSCSCCSCSCCCCSSCSSSSCCSCSSSCSCCCCCCSCSCSSCSSSCCCSSSSCSSCCCSSSSSSCCCSCCCCCSCCSCSSSSCSCSSCCCSSCCSSCSSSCSCCSCSCCSSSCSCSCCSSCCCCSSCSSSSSSCCCCSSCCCCCSSSCSSCSSSCCSSSSSSCSCCCCCSCSSCSCSSSCCCSSCSSSSSCCSCSCCCSSCSCSCCCSSSCSCCCSSCCSSCCSSSSSCCSSSSCCCCSSCSCCCSCSCCCSSSSSCCSCCCSSCSCSSSCSSSSSSSSSCCSSCCSCCSCCCSSCSSCCCCSCSSSSSSSCSCSSCCCSCCSCSSCSSSSSSCCCCSCCSCCCCSSCCCSCCCSCSSCSCCSCCSSCSCCCSSCCSCCCSCSSCCCCSSCCSCCCCCSCSSCCCSSCSCSSSCCCCCSSSCCCSSSSCSSSCSSCCCSSSSCCCCSSCCSSCCSSSSSCCSSSSSCSSSSCSSCSSCCSSCCCCCSSCCCCCCSSSSSSSCSCCSSCCSSSSSCSSCCCCCSSSSCSSSCSCCSCCCCCSCSSCCCSCSSCCSCSCSCSSSCSCSSSSCCCSSCSCSCSSCCSSSSSCSSSSSCSSSSSSSSCSCSSSCSSCSSSSSSCSSCCSSCCSSSCCCCSCCSCSCSCCSSCSSCCCCCCSCSSCSCCSSSSCSCCCCCSSSCSCSSCCSSSSCCCCSSSCSCCCCCCSSSSCCCSSSSSCCSSSCCCSSSSSSCCSSCCSCCSSSSSSSSSSSCCSCCCSSCCCSCSSCCCCCCCSSCCSSSCCCCCSCCCCSCSSSCCSSCSCCSCCCCCSSSSCCCSCSCSCSSCCSSSSCSSCCCCCCCCSSSSSSCSCCSSSCCCSSSSCCSSCCSSCCSCSCSSSCSCCSCSSCSCCSCCCCCCSCSCSSCCSSSCSCSSSSSCCCCSSCCCSCCCCSSSSCCCCSSCCCSCSCCSSCSSCSSCSSSCSCSCCCSCCCSCSSCSCCSSSCSCSSCSSCCSSSCCCCCCSSCCCCSSCCSSCCSCCSCCSCCSSSSSSCCSSCSSCCSSSSSSSCSSCCSCCCSSCSSCCSSCSSCCCCCSSSCSSSCCSSSSCCCSSCCCSSCCCCCSCCCSSCSCCCCCSSSCCSCCSSSSCSSSSCSSCSSCCCSCSCSSCSSSSSCSCSSSSCCCCCSCCSCSCSCCCSCSCSCCSSSSCSCSCSCSCCSSCSSCSCSCCCCCSSSCCCSSCCSCCSSCCSSCSSCSSCCCCCCSCSSSCCSSSSSCSCCSCCSCCCSCCCCSCSCCSSSCSSSSSSSCSSSSSSSSCSCCCSCCSCSCCSCSCCSCCCSSSSSSCCCSSSSCSCCCCCSCCSSSSCCCCCCCSCSCCCCCCSSCSSSSCSCSCCSSSCSCCSCCSSSCSCSCSSCSSCSSSSCSCCCSCSSCSSCSSSSSSSSSSSSSCSCCSCCSSCSCCSCSSCSSSSCCCSCCCSSSCSSSSCCSSCSCCSCSSSCSCSSCSSSCCCCSCSCCCCSCCSSSCSSCCCCSSCSSCCSSSCCSCCCCSSSSSSCSCSSCCCSCCSSCSSCCCSCCCSSCCSSCCCCCSSSSSSSCSCSCSCSCSSSSSSCSSSCCSCSCSCSCSCSCCCSCSCCSSCCCCCCSSSCSCSCSCSCCSCSSCCSCCCSCSCCCCCCSCCCCSCCCSCSCCCSSSSCCSCSCCCSSCCCCSSSSSSSSCCSSCCSCCSCCSCSSCSCCCSCSCCSCSCCCSSCCSCCCSCSCCCSSSCSSCSSSCCSSCCCSSCSSCCCCSSSCCCCSSSSSCSCCCSSSCCSCCCSSCSSSSSCCSSCSCSSSSSSSCCSSCCSCCCSCCSSCSCCSCCCCSCCCCCSCSSSSSSSSSSSSCCCCSCSSSCCSSCSCCSSSSCSSSCSSCSCCSSCCSCSSSCSSCSSCCCCCCCSSSCCSCCCCCCCCSCSSCCSCCSSCSSSCCCCCCSCCSSCCCSCCSCCCSSSSSSCSCCSCCSSCSCCSSSSSCSCSCSCCCCCSCCSCSSCCCSCCCCSSCSSCSCSSCSCSSSSCSCCCCSSSCSCSSSSCSCSSSSCSCCSSSCCSCCCSSCSCCSSSCSCCCCSCCSCCCCSSCSCSCCCCCCSSSCSSSSSSCCSCSCSSSCSCSSSSSSSCCSSCCCSSCCSCSCSCSCCCSSCSCCCCSCCSCCCCCCCSCCSCCCSCSCCCSSSCCCSSCSSSSCSCSCCCCCCCSSSCSSSSSSCCSCCCCCCCSCSCCCCCCCSSSCSCCSCCSSCCCSCCCSSSCCSSCCSCSCSCSSCCCCSSCCCSCCCCSSCSCCSSCCCCCSSCCSSCSSCCSCCSSSSSSSSSSCSSCCSSCCSCSSCSSCCCCCCCCCSSCSCSCCSCSCCCCCSCSCSSCSCSCCCCCCSSSCSCCSSSCCSSSSSCSSSSSCCSCSSSSCCCCSCSSCCCSCCSCSCCCSCSSCCCCCCSSSSSCCCCSSCSSCCSCCSCCSSSSCSCCCSSSSCSCCSSCSCCCCSCSSCSSCSSCCSSCSCSCSCCSSCSSCCCSSCSCSCCCCSCCSCSSCCSCCCCSCSCSSSSSCSCSCCSSCCSSSSSSSCSSSCSSSCSSCCCCCCCSSSCSSSCSCSCSCCCSSSSCCCSSSCSCCCSSCCCSSCSSSCCCCCCCSCCCCCSSCCSCSSCCSSSCSSCSCCCSSSSCCSSCSCSCSSCCCCCCSCCCSSSSSCSSSSCSCCCCCCSSCCCCSCSSCCCSCSSCCSSSSSCCCCSSCCSCSSCSCSSCCSCCSCSSSSCCSSSCCCSCCCSSSSCCCSSSSCCCSCSSSSCSSCSSSSCCSSSSSSCCCCSSSCSSSCCCSCCSSCSCSCSSCCCCCSCSSCSCSCSSCCSCSCSSCSSSSSSSCCSSCSSCSCSSSSSSCSCSSSSSCCSCSCSSSCCCCCCSCCCSSCCSSCCCCSCSSCSCCSCSSCSCSSCSSSCSCSSSSSSCSCCCCSSSCSSSCSSSSCSCCCSCCCSSSSCSSCCSSCCSCSCCSSSCCCCCSCCCCSCSCCSSCSSSCCSCSCCSCSCSCCCSCSCCSSSSSCSCSSCSSSCCCSCCCCSCCSSSSSCSSCSSCCSSSCSSSSCCSSCCSCCSCCCSSCSSSCSSCSCCSSCSCCSSCCSCSCSCSCSCCSSSCSSSCSSSCCSSSCSSSSSCCCSCCCSSCCSCCSSSCCSSCSSSSCSSCCSSSSSSCCCSCCCSSSCCCCCSCSCCSCCCCCSSSCCSSCSSSCSSCCSCSSCSSCCSCSSSCSSCSCCSCCSSSSCSSCCCSSSSSCSSCSCSCSCSCCCCSCSSCSSSCCSSSSCSSCSCSCSSSCCSCSCSSCCCCCSCSCCSCCSSCSSSCSSCCSSSCCSCCSSCCCCSCCCCCSSSCCSCSCCCSSCSCCSCCSSCCSCCSSCSCCSSSCSSSCSSCCSSSSSSSCCSCCSCSCCSCSSCSSCCSCCSCCCSCSSCCCSSSCCCSCCSSSSSSCSSCSCSSSCCCCCSSCSSCCSSSCSSSCSSSSCCSCCCSCSCSCSCCCCCCCCCSSCCSCSSCCSSCSSSSSCSSSCSCSCCCSCCCCCCCSSCSSCSCSSCSSCSSCCSCSCCCSCCCCCSCCSCSSSCSCSSCSCCCSCCCSSSCCCSCCSSSSSSCCCCCCSCCCSSSSSCSCCCCCSSSCCSSCSCCCSCSCCCSCSCSCSSSSSSSCCCCSSSCSCCSSSSCSCCCCSSSCCSCSSSCSCSCSCSCCCSSSCCSSCSSCCSSCSCSSCCSSSSCCSCSSCCCSCCCSSCCSCSCSCSSCSSSSCCSCSCCCCSCSCCCCCCSSSSSCSCCCSSCCCSSSSSCSCSSSSSSCSSCCSSCSCCCSCCCCSCCCCCSSCCSSSCCCCSSSSSSSCSCSCCCCSCCCCSCCSSCSSCCCSCCSCSCCSSCSCSCCSCSSCCCCCCCCSCCSCCCSSSSCCCCCSCCCSCSCCSSCCCCSCSCCSSCCSCCCCCSCCSSCSSSCSCCSSSCSSSCSSSCCCCSSCSSCCCCCCSCCSSCCSSCSCCSCCSSCSCCSSCSSCCCCSCSSCCSCSCCCCSSSCCSCSSCSCSCSSCCSSSSSSSSCSCSCCSSCSSSSCCSSCCSCCSSCSSCSCSSSCSCSCCSCCSCSSSSSSCCSSCCSSCSSSSCSSSCSSCSSSCSCCSCCSCCCCSCSCSSSSSSCSSSSCSCCCSSCSSCSSSSCSSCSSCCCSSSSSSSCCSSCSSSCSCCSCCSCSCCSSSCCCSSSSSSSCCCCCCSSSSCSSSSCSSSSCSSCCSCSSCCCSSSCCCCSCSSCCCSSCCSSSCCSCCCCSCCCSSCSSCSCSCCSSCCSCCSSSSCSSSCCSSCSSSSSSSSSCSSSCSCSCCSSCCSSCSSSCSCCSCCCSSSCSCCSSCCCCSCSCSSCCCSCSCSSSCCSCSCSSSSCSSSCSSCCSSCCCCCSSCSSSSSCCCCSCCCSSCCSSCCSCSCCCCCSSSSSCSSSCSSCCCSCCCCSSSCCCCSSCCCSSSSSCCSCCCSSCSSSSCSSCCSCSSSCSCSSSSCCSCSSCCSCSSSSCSCCCCCSSSCSSCSCSSSCSSSSSCSSSCSSSSCCSSSSCSCCCCSCCCCSCCCCSSCCSSCCSCSSSSCCCCCCCSCSCSSCCCCCSCSSSCSCSCCCSCSSCCSSSSSSSSSCSCSCSCSSSCCCSCSCSCCCSSSSSSSCCSCSSCCCSCCCSSCSSCCSCSSSSCSSSCSSCCCSSSSCSCSSSSCCCCSSCCCCCCSCSSSSCCCCCSCSSSCSCSSCSCCCSSSSSCCCSCCSCSCCSSSCCCCCSSSSCCCCSCCSCCSCCCSSCSCSCCSSSCCCCSSSCCCSSCCSCSCCSSSCSCCCCCSSSSSSSSSSCCSSCSSSCSSSCCCSCCSSCSSSSCCCCSCCSCSSCCSCCSSCSCCCSSSSCSCCSSCSCSCCCSSCSCCCSSCSCCCSSSCSCCCSCSSCSSCSCCCSCCCSCCCCCSSCCSSSSCCCSCSCCSCSCSSCCSCSSSCSCSSSSSCCSSCSCSSCCCSCCCCCSSCCCCCSCSCCCSSCCSSSCSSCSCCCSCSCSCSSCCSSSCCCSSSSSSSCCSCCSCSSCSSCSCSCCSCCSCCCSSSSSCCSCCSSSCSSCSSCCCSSSSSCSSSSSSSSSSSSSSCSCCCCCCSSSSSSCCCCSCCCSCSCCSCCSSCSCSSCSSCSSCSSCCSCSSSSSSCSCSSSCCCCSCSCSSSCSSSSSCSSCSCSCSCSSCCCSCSCCSSCSSSCCCSCSSCCCCSCSCCSSSCSCCCCCSSCSCSSCSCCCSSCSSSSSCCSCCSSCCCSSSCSCSCCCSSSCCSCSCSSCCCSSCSCCSSCSCCCSSSCSCSCSCCSSSSCCCCSCCSSSCSSCCCCCSSSCCCCCSSCSCSCSSSSCCSSCSCCCSSSSCCCCCSSSSSCCSCSCCCCCCCCSCCCSCCSSSCSSSSSCSCSCCSSCSSSSSSCSCSCCSCCSCSCCSCSCCSCSCCSSSSCCSSSCSSSCSCCSCSSSCCCCCSCCSCSCSCCCSCSCSSSSSCCSSCSSCCCCSCCSCCCCCSSSCSSSCSSCSSCSCSCCCCCSSSSCSSCSCSCSSSCCCSCSSSCSSSSCSSSCCCCSSSCCCCCSSCCCCSCCCSCCSSCCCCSCCSCSSSCSSSSSSCSCSSSCSCSCSSSCCSCCSCSCSSSSCCCCCSSCSSSSCCCCCSCCCSCSSCCSCCCCSSSSCSSCCSCSCCCCSSSCCCCSCCCCCCCSSSCSSCSSSCCCCCSCCCCCCSCCCSCSSCSSSCCCSSSSSCSCSCSCCCSCCCSSCSCCCCCSCSCCSSSCSSSCCCCSSSCSCSSCSCCCCSCCCCSSSCSCSSCSCCCCCSCCCSCCSSCCSCSSCCCSSCSSCCCSSSSSSCCSCCCCSCCSSCCSCCCCCSSSSCCSCCCSSCSSSSCCSSCSSCCCSCCSSSCCSCCCSSSSCCCCCSCCCCCSSCSSSSSSSSSCSSSSCSCSSCSCSSCCSCSSCCSSCCSCCSCCSSCCSSCSCCSSSCSCCCCSSCCCCSCCCCCCSSCSCSSSCSCCCSCCSCSCSCCSCSCSSSCSCCSSSCCCSCSSSSCCCCCSSCSCCCSSSSSSCCSCCCCSCSSSCCSSCSCCCSCCCSCCSCSSCCSSSSSCCCSCCSSSCSSCSCSCCCSCSCSCCSCSSCSSCSCCSSSSCSSCSSSCCCSSSSSSSSSSCSSSCSCCCSSCCSSCCCCSSSCSSCCCCSCCSCSCCCCSSSSCSSSSSCCSSCCSSSSSCSSSCCSSSCSSSCSSSSCSCCSCSCSSCSSCSSSSCSCSSCCCSSCCSCCCCSCSSSCCSSSCSSCCSSCSCCSSSSSSCSSCSSSSCSSCSSCSSCCCSCSCSSSCCSCSSSCSSCCSCSSCCSCCSCSSSCSCSSSSCSSSSSCCCSCSSCCCCSSSSCSCSCSCSCSCCSSCCCCCCCSSSSSSCSCCCSCCCCSCCSSSCCCCSSSCCSCSSCCCSSCSSCSSCCSSCSCCCSCSSCSCCCSSSCCSSCCCSSSSCCCSCSCCSCSSSCCSCSCSSSCCSSCCSSCCSCSCSCCCSCSSSCSCSCSCCCCCSCSSCSCCCSSSSSCSSSCSCCCSSSCCSSSSCCCSCCSSSCCSSSSCSSSCCSCSCCSSCCSSSSCCSCSCSCCCSCCSCSSCCCSSSCSSSCSCSCSSSCSCCSSSSSCCSCSCCCCCSCSCCSSSCSCCSSSSCSSSSSCCCCSSCCSSSCSCCCSCCSSCSCCCSCSCCCCCSSCCSCSSSCCSSSCCSCCCCCSSCSCSCCCCSSSSSCSSSSSSSSSCCCSSSCSSSCCSSSCSCSCCSSCCCCSSSSSSSCSCCSCCCCCCCCSSSSSSCSSCCSCCSCCSSCCCCCSCSCSCCSCSSCCCCSSSCSCSCSCSCCSSSCCSSCCCCSSCSSCSCCCCCSCSCCSCSCSSSCCCSSSCSSCCSSCSSSCSCCCSCCCCCCCCCSCCSSCSSSCSCSSCSCCCCSSCCCCCCSSSCSSSSCSCSSCCCCCCCSCSCCSSSSCSSSSSSCSSCSSSSSCCSSSCCSSSSCSSSSCSCCCCSSCSSSCCCSSSSCCCCCSSSCCSCCSSCSCSSCCCSSCSSSSCCSCCSCCSCCCSSCCSCSSSCCCCSCSCCCCSSCCSSCCCCSSSCCSSCCCSCSCCSCCSCSCSSSSCSSSSCSSCSSCSSSCSSSSSSSCCCCSCSSCCSCCSSCSSSCSSCSSCCSCCSSSCCSSSCCCSCSCSCCCCCSCSCCCSSSSCCSSCCSCCSCCSSSCSCSSSSCSSSCSSCSCSSSCCSSCSSSCSCCSCSSSSSSSSCCSCCCSCSCCSSSSSCCSCCCSCCCSSSSSSCCSCCSSSCCSSCSSCCCSCCSSSCSCCSCCCCSSSCSCSCCSCCSSCSSCCCSCCCCCCCCCSSSSSSCSCCCCCCCCSCSCCCCCCSCSSSSCCCCSSSSSCSCSCCSSSSCCCCCCCCCSSCCCCCSCCSSSSSSSCSSSCCSSCCCCCCCCCSSCSCCCCSSCCCCCCCCCCSSCCSCSSSCCCSCSSCCSSSCCCSSCCSSSSSSSCSSSCSCSCSSCSCCSSCSSCSCCSSSSCSCSCCCSCSCCSCCSSCSCCSSCSSCCSSCSSCCCSSCCSSCCCSSCCSCCCCSSSCSCCCCCSCSSCCCSCSCCCCCSSSSCSCSCSCCSCCSSCCCSSSSCSSSSCCSSCSSCSCSSCCSSSCSCSCCCCSSSCSCCCCSCSSSSSCSCSSCCSCSSCSSSCSCCSSCSCCCSSSCSCSSSSCCCSSSSCCSSCSCCCSSSSSSCSSCSSCSSSCCCCSCSSCSCCCCSSCCCSCSCSSSSSSSCSCSCSSCSCCCSSSSCSCCCCCCCSSSSSCSCCSCCCSCCSSCCSCSCCSCSCCCCCCSSSCCSCSSSCSSCSSCSCSCSCSSCSCSSSCCCSCSSCCCCCSCSCCSSSSCCSSSSCSCCCSSSCSSSCSCCSSCCSSSCSSSSCCCCSCSCCCCCCSSCCCSCCCCSSSSCCCSSCSSSCSSCSSSCCSCSSSSSSCCCCSCSCCCSSSCSCCSSCCCCCCSSSSSCCCSSCSCSCSCCCCCCCSCSSSCSCSCCCCCSSCCSCSCSSSSCSCCCSCSSSCCSSSCSCCCCSCCCCSSSSSCCSSSCCCSCCCSSSSCCSSCSSCSCCCSCCCCSCSCCCSSSCSCSSSSSCSSSCSCSCCSCSCSCCCSSSCCSSCCCCSCSSCCSCCSCCSCCCCCSCCCCCSSCSSSSSCSSCCCCSCSCCCSCCCSSCCSCCCCSCSCSCCSCSCCCCSCSCSSSCSSCCCCCSCCSCSCCSCCCCCSCCSSCSCCSSSSCCCCCSSCSSSCCCCSCSSSCSSSCCCSSSSCSSCCCCSSCCCSCSCSCCSCCCCCSSCSCCCSCCCSSCCSSCCCSCSSCSSSSCCCSSCSCSSCCSCSCSSCCSSSSSSCCCCSCCSSSSCCSCCCSCSSCSSSSCSCCSSCSSSCSCSSCCSCCSCSSCCSSSSSCSSCSCCCCCCCSSCCSCSSCCSSCSCCSCSCSCCSSSSCSSCSCCCCSSCCSSCSCCCSCSCSSCCSCCCCCCCSCSSCSCSCSCCCCCSCSCSCSCCCSCSCCSCCCCCSSCSSSCSCCSCCCCSSSSSSCCCSSCCCCCSSSSCCCSSCSCCSCCCSSSCSCCCCSSCSSCCCCSSCCCSSSSSSCCCSCCCSCCSSSSCCSSCCSCSCSCCCSCCSCSCCCCCCSCSSSCSCCCSCSSSSSSCCSSCCSSCSSSSCSCSSSSCCSSSCCCSSCSSCCCSCSSSCSSCSCCCCCCSCSSCSCCCSCSCSSCSSCCSSSCSSSSSCSCCSSSCCCCCSCSSSSSCCSSSSCSSSSCSSCSSCSSSSSCSCSSCSCCSSCSSSSCCSCSSSCSCSSCCCSCSSSSCSCCCCCCSCSCSCCSCSCSCCSSCSCCSSSSCSCCSCSSSSSCSCCSCSCCSSSCCCSSCCCSSSCSCCCCSCSCCSCSCCSSSSCCCSSCCCSCSSSSCCCCCCCSCCCSSSSCSSSCSSSCSCCSCCSSSSCSSCSSSCCCCSCCSCSSCSCCSCSCCSSSCCSCSSCSSCSSCCCSSSCSSCCCSSCSSSCCSSCSSCCCSCCSSCSSSSSSSSCCCSSSCCCCCCCCCSCCCCSSSCCSSCCSSSCCSCCCCCSSSCCSSSCSSCCCCCSSCCCCSSSCCSSCSCCCCCCCCSCCCSCSCSSSSCCSSSSSCCCCCSCSCSSCSSSSSCSSSSSCCSCSSCCSCCCCSCCSCCSCCSSCCSSSSSSCSCCCCSCSCSSSSSSSCSSCSSSSCSCCCCCSSSCCCCSSSSCSCCCCCCSSCCSCSCCCCCCCCSSCCCSCSCSCCSCSCCCCCCCCSCCCCCCCSSSSSCCSCSCSCSCSCSSSSSCSCSSCSSCCSSCCSCCSSCSCCCCSSSCCSCSCCCCSSCSCSSCCCSSSCCCCCSCSSCSSSCCCSCSCSCCSSCCCCCSSSSSCSSSCCCCCSSCSCCSCCCCSSCSSCCCSSCSCCSSCCSCSSSCCSSCCSSSSSCCSCCSCCSSSSCCCCSSCSSCSCCSCSCSCSCSSSSCCSSSCSSCSSSSCSCSSCCCSSSCSSSSSSSSCSCCCCSCCSCCSSCCCSCCSCSCCSSCCSSCSSCCSSCCSCSCSSCCCSSCCCSSCSCCSCSCCSSSSSSCCSCCCSSCCCCCCSCCCSCCSCCCCCSSSCSSSSCCSSCSCCSSSSCSSCSSSCSCSSCSSCSSCCSCSCCCCCCCSCSSCCSCSSSCCSCCCCCCSCSSSSCCSSSCCCSSCCCCCCSCSSCSSCCCSCSSSSSCCCCSCSCSCCCCSSSSCSCSSCCSCCSSSCCCSSSSCCSSSCSCCCCSCCSCSSCCSSSCCCCCCCSCCSCCSSCCCCCSCCCCCCCSSSCCSCSCCSSSSSCSSSSSCSCCCSSCSCCCCSSCSCSSSCCCSSSSCCCCSCCSSSSSCSSCSCSCCSSCCCCSCSSCCSCSSSSSCSSCCSSSSCCCCSCCCSSSCSCCSSSCCSSCCSSCCSCCSSSCSCCCCCSCSCSCCCSCSSSSSCCSCSSSCSCSSSSSSCCSSSCSSCSSSSCCCSCCCCSCSCCSCCSSCCSCSSCSSCSSCCCSCCCSSCCCSCCSCCSSCSCCSSCCSSSCCSCSCCCCSCSCSSSCCCCSCCCCCSSSSSCSSCSCSSCCCCCCCCSCSSSSSCSCCSCSCSCSSSCCSCCSSCSSCSSCCCSCSCSCCCSCSSCSCCSSSCSCSCSSCCSSSCCCCSCCCCSSCCCSSSCSCSCCCSSCCCSSCSSCCSSSCSSCCSCCCCCSCCCCCSSCCSCCSSCCSSSSCCCCCSCCCCSSCSCSSSCCSSCCCCCCSCCCCSSCCCCCCCCCCSSSCSSCSSSCSCSCCSCSSSSCSCSSCSCCCCCCSCSSSSSCSCSCSCCCSCCCSSCSCCCCSCSSSCSCSSCCSSCCCSSSSSCSCSSCCSCCSCSSSCSSSCCCCSSCCCCCSSSCCSSCSCSCSCCCCSCCCSSSSSSSSSSSCSSCCCSSSCSSSCSCSCCCCSCCSCSCSCSSCCSCSCCSCSSCSCCCSSSSSSCCCSSSCSCCCCSCSCSCSSCCSSSCSCSSCSSSCCCSCSCSSSCSCSCCSSCCSCSSSSCCSCCSSCCCSCSSSCCCCSCSCCSCCCSSSSCCSSCSCSSCCCCCSSCCCCCCCSSCSSCCCSCSCCSCCCSSSCSSCSSSSSCSSSCSCCSSCSSSCSCSSCSCSSCSCSCCCCSCSCCSCCCSCCSSSSSSCCCCCSCCCSCCSSCCSCSSCSCSCSCSCSSCCSCCSCCCSSCCCCSSSCSSCSSSSSCCSSCCCSSSCCSSSSCCSSCSCCCCSSSSSCSCCCSSSSCSSCCSCSSCSSSSCSSSCSSCCSSSCCSSCSCSSCSSSSCCCSSSCCSSCSSCCSSSSCSCSSCSCSCSCCSCSCCSSCSCSCCSCCSSCSSSSCCSCCCSSSSCCCSCSCSCSCSSSCSSSSSCSSCCSSCCSCSCCCCSCSCCSSSCSSSSSSCSSCCCSSCSCSCSSSSCSCCSCSSCCCCSSCSSCSSSCSCCSSCSCSSCSSSCCSSSSSCSCCSCCCCSSSSCSCCSCSCCSCCSCCSSSCSSSCCSSCSSCSCCSSCSCCCCCCSSCSSSCSCSSCSCSSCCCSSCSCSSSSSCCSCSSSCSCCCSSSSCCSCCCSCSCSSSCCSCCCCCSSSSSCSSSCSSCCCSCSCCSCSSSSCCCSSSCSCCCSSCSCCSCCCCCCSSSSCCCCSSCSSSCCCSSCCSCSCSSCSCSSCSSCCCSCSCSSCCSSCSCSSSCSCCCSSCSSSCSSCCCSCCCSSCCSCCCSCSCSCCSCSCCCSSSSCSCSCSCCCSCCCCSCCCSSSSCCCSCCCSSCCSCSSSCCSSSSCSCSSSSCCCSCSSCCSSSCCCCSSCSSCSCCSSSSCSSSSCSSCCCCSCCSSSCSCCSCSSSSCCCSSCCSCCCSSSCSCSCSSSSCSCSSSCCSSCCSSSCSSCCCCSCSCSSSSSCSCSSSSCSSSCSCCSSCCCSSSCSCSCCSSSSSCSSCSSCSSSSCCSCCSSCCCCSSCSSSSCSSSSCCCCCCCSCSCCCCSSSSSSSSCCCCSCCCCSCCSSCSCCCCSSCSSCSCSCCCSCSCCSSSCSSSCCSSCSSSSSSSCCCSSSCCSCSCSSCSSCSCCSSCSSCCSSSCCCCCCCSSSSSCCCCSSCSSSCCSCCCCCCSCSSCCSCCSCSCCSCCSSCCCCSSCCSSCCSSSSSCCCSSCSCSCCSCCSSCCCSSCSSCCSCCCSCSSCCSSSCCCCSCSCCSSSSCCCSCSSSCSCSSCCSSSCSSCCCCSSCCSSCSCSSCSCCCCSCSCSSCCSSCCCSCSCCSSSCSCCCCCSCSCSCSSCCCSSCCCCCSCCCSSSCSCCSCSSCCSSSCSCSCSSCSSSSCSCSCSSCSCSCCSCSSCSCCSCSSCCSCCSSSCSSSCSSCSSSCSSSCCCCCSCSSCCSSSSCCCSSCCCCCSSSSSSSSSCSCSSCCSCCCSSCCCSCSCSCCSSCCCCSCCSSSSSSSSCSCSCCSCSCSCSSCSSCCSCCCSSCCCCCSCCSCCCCSSSSSSCCSCSSSSCCSCCCCSSCSSSCSSSSCCSSCCCSSCCSCSSCCCCCCSCCSSSSCCSCCCSSSSCSSSCSSCSCCSSSCCCCCCCCSCSCCCCCSSSSSSCCCSCCSSSSSCSCSCSSCCCSCSCSCCCSSSSSCSCCSSSCCCCCSCSSCCSCSCSCCSSCSSSCSSCSCSSCCSSCCCCCSCSSSCCSCSSSCCCCCSSCCSCCSSCCSCCSSSCSCSSSSCCSCSCCCSCSSCSSCCSSCCSCCSSSCSCSSSCCSSCCSCCSCCCCCSSCSCCCCSSSCSCSSSCCCSSSSSCSSSCCCCCSCSCCSCSCCSSSCCSCSCCCCCCCSSSCSCCCSSCSCCSSSCCCCCSSCSCCCCSSCCSSSSCCCCCCCCSCCSCSSSSSCCCSSSCCCSSCSCSSCCCCSCSSSCCSSSSCSCCCSSSSCCCSSSSSCSCCCSSCSSCSSSSSSSCCSSSCCSSCCSCSCSCSSCSSSSCSSSCCSCCCSCCCSSCSCCSSSCSCCSCCSCSSSSCSCCSSSSSCCCSSSSSCCCCSCSCCSSSSCSSSCCSSCSCSSSSCSCSSCCSCCSSSSSSCCSCCSCSSCSSSSSSSCSCCSCCSSSSCCSSSSCSCCCCCCCCCSCSSSSSSSSCSCSSCCCSCCSCSSSSCSCCSSSSCCCCSSCCCSCCCSCSCSSSCCSSSSSSCSSCCCCSCCSCSCSCSCCSSSCCCSSSSSCCCCSCCCCSCSCCSCCSCCSCCSSCSSSCSCSCCCCSSCCCSCCCSSSCCCSSCCSSSSSSCSCCCCSSCCCSCSCCSSCCSCSSCCSSCCSCCCCCSSCSCSCCSSSCSSSSSCCSCCCSSSSSSCCCSCCSSSCSSCSSCCSSSCSSSSCSCCSCSCCSSSCCSSSSCSSCSCSSSCSSSSCCCCSSSCCSSCSSCCSCSSSCSCCSSCSSSSCCCCCSSCSCCSCSSCSCCCSSCCCCSSCSCSCSCSCCCCSSCSCCCSSSCSCSCCCSSCSCCCCSSCCCCCCSSSSCCSSCCCSSCCCSSSSCSSCSCCCSCCSCSCCSSCSCSCCCSSCCSSSCCCSCSSCCCSCSCCSSCSSSCCCCCSCCCCCCSSSCCCSCCCCSCCCSSSCCSSCSSCSCCCSSSSSCSCSSSCSSSSCCSSSSCCCCSSCCSCCSSCSCCCSCSCSCCCCSCSCCCSSCSCCCCSCCSSCCCCCSSCCCSSSSCCCSCSCCCCCSSCCSSCSSSCSCSCSCSCCCCCSSSCCCCCSSCCCCCSCCCSCCSCSSCCCSCSCCSSCSSSCSSSSSCSSSSSSCSCSCSSSSCSSCCSSSCCSSCSCSSSCCSCCCSSSCSSSSSCCSCSCSCSCSSCSCCSSCCCSCCCSCCCSCSSCCCSCCCSCSCCSCSCCCSSCSCCSCSCSSCSSCCCCSCCSCSSSCCSSCCSSSCCSCCCCCSCSCSCCCSSSSSCSCCSSCSSSSCSSSCCSSCSCCSCSSSSCCCCCCCSSSCCCSSSCSSSSSSCSSCCSCCCSCSCSSCSSCSCCCCSCCSCSSCCSCCCCCCCSCSSCSSSCCCSCCCCSCSSCSCSCSSCCCSCSSCSSCCSSSSSSSSSCCSSSSCCSSCSSCCSSSSCSCSCCCSCCCCSCSCSSCSCSSSCSSSSSSSCCSCCSSSSCCSCSCCSSSSCSCSSSCCSCCSCCCCCCSSSSCCCCSCSCCSCCCCSCCCCCCCSSCCCSSSCSCSCSCCSCCSSSSSSCCCSSSCCCCSCSCCSSSCSSCCSCSCSSCCSSCSSSCCCSCSCSSSCCSCSCSSCCSCCCCSSSCSCSSCCSSSCCSSSSCCCSCSSSSSSSCSSCSSSSSCCSSSSCCCSSCCSSSSCCCSCSCSSCCSSCSCCSCCSSSSCSSSSSCCCSSCCCCCSSCSSSSSCCSSSCCCCSSSCCCSCSSCSCSCCSCSSSCSCCSCSSCCCSCCSSCCCCSCSSSSSSSCCCSSSCSCSSCSCSCSSCSSCCCSSCCSCSCSSCCSCCCSSSSCCCSCSSSSCCSSCCSSCSCCCSCSSSSCCSCCCSSSSCSCCCCSCCCCSCCSCCSCCCCSSCSSSCCCCSCSSSSSCSCSCCSSCSCCCCSCSCCSSCCCCCSSSCCSCCSCSSCSSCCCCCCCSCSSSCCCSCSSSCCCCSSCSCSSCCSCSSCCCCSCSSCCSCCSCCSSSCCCCSCSSSCCCCSCSSSCSCCCCCSSSCSSSSSSCCCCSCSCCCCSSSSSSSSSCCSCSCSCSCSSSCCSCSCCCCSSCCCSCSSSCCSSCSCSCSSCCCCCSCCCCSCSCSSSCSCCSCSCSCCSSCSCCCSCCCCSCSCSCCCCSCSCSSSCCSCSCSCSCSCCCSCCCSSSSSSCSCCCSCCSSSCSSSCSCSCCCSCCCCCCSSSSCSCSSSSCCCCCSCCCSSSSSSSCCSCSSCCCSCCCCSSSCCCCSCCSCSCSSCCCSCSSSCSCCCCCSCCSSCSCCSCSSCCCCSCCCCSSSSCSSSSCSCCCSCSSSSCSSSSCCCCSCCSSSSCCCCCSCSSSCCCCSCSSCCCCCCSCCCCSCCSCSCSSSSSSCCSSCCSSSCCSSCSSSCSCCCSCSCCSSSCCCSCSSCCSSCCSCSCCSSCCSCSCCSSSCCSSSCSSSSSCCSCSSCSCCSSSSCSSSSSSCCCCCSCCCSSCCSCSCSCSSSCCSSCSSCSCSSSSSCCSCCCCSCCCSSCSSSCSSSCCSSSSSCCCCSSSSSCSCSCCSCCSSCSSSSSSSSCCCCSSSCCCSCSSCSSCSCSCCSCCSCCCSCSCSSCCCCSCCCCSCSSSSCSCSSSSSCSCSSSSSCSSSCSSCCCSCSCCCCCSCSSSSSCSCSSSSSCCCSSCSSCCCCCCCSSSSCSSCCCCSCSCCSCSSSSSCCSSSCCSCSCCSCCSCSCSCCCSCSSSCSSSSCSSSCCSSSCSSSCSCSSCSSSCSCCSSSSSSSCSCSCCSSSCCSSCSCCCSSCCSSCSSSSCSCCSCCSSSCCCCCSSCSSCCSSCCSSCCCCCCCSCCSSCSCSCCSCSCCSCCSCSSCCCSCCCCCSCSCSSCSCCSCSSSCCSSSSSSCSSSCSCCCCSSCSSCSSCCSCSSCSCSCCSCSSSCSSSCCCCSCCSCCCSSSCSCCSCSSSCSCCSCCCCCSSCSSSSSCCSCCSCCSCCCCSCSSCCCSCSSCSCSSSSSSCSSSSSCSSCSSCCCSCSCSSCCCCCCCCSSSSSCSSCSSCSCCCSSSSCCCCCCCCCSCSSCSSCCSCSSSSCSCSSSSSCSSSSCCSSCSSCCSCSSSCCSCSSCCSCCCSCCCCSCSSSCCCCSCSSCSSCCCCSCCSSSSCSCCCSCSCSSSSSCCCCSCCSCSSSCCCCCCSSCSSCSSCCSCSCCCCSSCCCCSSSCSSCCSSCSCSSSSCCCCCSSSSCSSCCCSCSSSSSSCSSCSCSSSCSSCSCSSCSSSSSSCCCSCCCSCSCCSCSSSCCSSSCSSSCCCSSSCCSSSSSCCSCCSSSSCCCCCCSSSSSSCCSCSCCCSCSCCCCSSCCCSCSSCCSSCCSSCSCCCCSCSCCCSSSSSCCCSCCCCSSCSCSSSCCCCSSCCCSCSCCCSCCCCCCSCCSCSCCCSSCSCCSSCSCSCSCSCSSSSSSCCCSCSCCCCSCSSCCSCCCCSCSSSCSCSCCCSCSSCSSSSSSCSCCSSCCSSCSCCSSSCSSSSSSSSSSSSSSCSSSCCSCSCSCSSCSCSSCCCCCSSCCSSSCSCCCCSSSCSSCCSSSCSSSSCSSCSSSSSCCSCSCCSSCSSCCCSSSSSCCCCCCSCSCSSSCCSSCSCSCSCCSCCSCCCCCSSCCCSSCSCCSSSCCCCCSCSCSCCSCCCCSSSCSSSSSSSCSSCCCCCCCCSCSSCCSSCSSCSCCCCSSCCSSCCSCCCCCCCCCSCCCCSCCCSCCCCCCSSCCCCSCSSCCCSCCSSCCCCSCSSCCCCCSSCSCSSCSSSCCCSCCSSCSSSSCCSCCCSSCSSSCCCCSCCSCSSSSCCSSCCSSSCSCSSSSSCCCSSCCSSCSSCCSSCSSSSCSSCSSSSSSSCSCCCCCSSSCCCSSCCCCCCSSCCCSSSCCCSCCSSSCSSCCSSCSCCCSSSCCSCCSCCSCCSSSSCSCCSSSCCSSSSCCSCCSCSSCCCSCSCSCCCSSSCCCCCSSSSSSSCCSCSCSSCCSSSCCSCCCSSCCSCCCCSSSSSCCCCSSSSCCSSCSSCCCCSCCSSSSCCSSSCCCSSCSCCCSSCSCCCSCSSCCSCCSSCCSCCSSCCCCCCSSSSSCSSSCSSCCCSSSCSCSCCCCCSSSSSCCSSCCSSCSSCSSCSSCSSCSSSSSCCSSSSCCCCCCCSCCSCCSSCCCCCSCSCSCCCCSSSCSSCSSSCCSSCSCSSSSSSCSCSCCCCCCCSSSCSSCCSCCSCSCCSSCCCSCCSSSCSCCSSCCCCSSSSSCCCSSSSCCCSCSSSCSSSCSCSSCCSSCSSSSSCCSSSCSSCCSCSCCCSCCCCCSSSSCSSCCCSSCCSSCSCCSSSCCSCSCSCSCCCCCSCCSCSCSCCSCCCCSCSCCSSCCSCSSSSSCCSSSSCCCSCSCCCSCSSSSSCSCSCCCSCCCCCCCCSCCSSCCCCCCCCCSSSCCCSCCSSCCSSSSCSCCCCCCCSCCCSSSSSSSSSSCSCCCSCCSCSCCSSCSSSCSCSSCCCSSCCSSSCSSCCSCCCSCSSSSSSCSSCCSSCCSSCCSSSSCCCSCSSCCCSSCSSCCSCSCSSCSSCSSSSSCSSSCSCCCCSSCCSSCCCSCSCSSCCCCSSSCCCCSCCCCCCCSSCCSCCSSCSCSSSCCCSCCSSSCSSSCSSCCSCSSSSSSSSCCCSSSCSSSSCCCSCSSCCCSCCCSSSSCSCCSSCCSCCCSSSCSCCCCSSSCSCSCCSSSCCCCCCSCCSSCCSCSCSSSSCCCCCSSCSCSCCCSSSCSCCSSCCSSSCSCCSCCSSCSCCSCCCCCSCCCSSCCSCSCSCCSSCSCCSSSSSSCSSSSCSSCSCSCSCCCSSSCCCCSCCCCCCCSSCSCSCCCCSCCSSCSCCSSCCSCSCSSCCSCSSSSCCCCCCSCSSCSCSCCCSCSCCCSSSSSSCCCSSSCCSSSCSCSSSCCCCSSSSSSCCSCSSCSSCCSCCCSCCSSCCSCCCCSSSCSCCSCSSCSSCCSCSSSCSCCCCSCSCSSCSCSCCSSCSSSSCCCSCSSSCSCSCCSCCCCSSSSCCSSSSCCSCSSSCCSCSSSCSSCSSCCCSCSCSCSCCCCSSCSCSCSSCCSSCCSSCCSCCCSSSCCSSCCSSCSCSSSCCSSSSSCCSSCCCSCCCSSSSCSSSCSCCSCSCCSSCSCSSCSCSCSCSSCCCSSSSCSCSCCCSSCCCCCSSCCCSCSCCCCSCCSCSCSSSCCSSSSSCCCCCSSSSCSSCSCCSSCSCCSSCCCSCCSSCSCSSSCCSSCSCCCCCSCSSSCSSSCSCCCCSCCSCSSCCSSSSCSSSSCSCCSSSCSCCCCCSCSSSSSCSSSSCSCCSSCSSCCCCSSCCCSSSCSCSCSCSSSCSCCCCCCCSSSSSSSSSCSCCSCSCSSSCCSCCCCCSCCSSCSCSSSCSCSSCCSSCSSSSCSSSCCSCSSSSSSCCCCCCCSCSCSSSSCCCSCSSSCSSSCSCSSSSSSSSSSSCCCSCSCCCSSSSCSSSSSCSCCCCCCSSSCSCSSSSSCCCCCCSCCSSCCSSSSSSSCCSCSCSCCSSCCCSCCCCSSSSSSCCCCSSCSCCCSCCSCCCCSSCSCSCCCCCCCCCCSCCCCCCCSSSSSCCCSCCSSSCCCCSSSCCSSSCSSSSCSCSSCCSSSSSSSCCCCSSCCSCCSSSSSSCSSCSSSSCCSCSCCSCSSCCCCSCSSSCSSCSSCCSSCSCSSSSCSSSCSSSSCSCCCCCCCSCSSSCCCCSSCCSCCCCCSCSCCCCCCCCSSCCSSSCCCCCSSCSCCCCCCCSSSCSSCSSCCSCSSCSCCSSSCCSSSSSSSCCCCSCSSCSCCSSCSSSSSCSSSSSCSCSCSSSSCCSSSSCCSSSSSCSCSCCSCSCSSSSSSSCCSSSCSCCSSSSCSCSCSSCSSCSSCCSCCSCCCCSCSSSSSSSCCCSCSCCCSSSSCSCSCCCCSCCCCSSCSCCSSSSCCCSCCCCSCCCSCSSSSCSCCCSCCSSCCCSSCSSSSSSCSSCSCCSSCCCCCCCCCCSCSCCSSCCSCSCCCSSCCSSCSSCCSSCSCCCSSCSSSCCSCSSSSSCSCSSCSCCCSCSCCCCCCSCCCCSSSCSCSCCSSSCSCSSCSCSSCSCSSSSSCSSSCSSSCCSCCCSCCCCSSCSSCSCSCCSSSSCSSCCCCCSCCCCCSSCCCCCCSSSCCSCCSCCCSSSCSSCSCSCCCSSSCCSSSSCCCSCCCSSSCSCSCCSSSCSCSSSCCCCSCCCCCCCCCSCSCCSSSSCCSSCCCCCCSSCCSCCSCSCCCSSSCSCSCSCCCCCCSSCSCCSCSSCSSSSCCSSCCCSSSSCCSSSCSCSSSCSSCSCCCSCSSSSCSSSCCSSCSCCCCSCSSSSCSSSSSSSCSSSCCCCSSSCSCCSSSSCCCCSCSCSSCCCCCCSCCCCCCSCCSCCCSSCSSSCCCCSCCCCSSSCSSSCSCSSCCSSSSSSSCSCSCCSCSCCCSSSSSCCCSSSCSSSSCCSCCSSCSCSCSCCCSSCSSSCSCSSSSCSSCSSSSSSCSCSCSSCCSCCCCCCCCSCCSCCCSSCSCSCCCCSSCCCCCSCCCSCCCCCSSSCCSCSSSCSSCCSCCCSSCSSSCCCCSSCSCCCCCCCSSCCSSCCSCSCCCCCCSSSCSCSSCSSCCSCSSCCCCCCSSSSCCCCSSSCSSCCCCCCCCSSCCSCCSSSSSSCSSSCCCCSCSCCCSSCSCCCCCSCCSSSSSCCSCSSSSCCCSSSSCCSSSSCSSCSSSSSSCCSCSSSCSSSSSCCSCCSSSCSCSSSSCSSCCSSSCCCCCCCSSCSSSSSSCSCCSCCSCCSCCCSCSSCCCCCCSSCCSSCSCSSSCCSSSCCSSCCCSCCCSCSCCCSSSSSSCSSSCCSSSCCSCCSCSCSCSSSSSSCCSCSCSCSSSCCCSCSCSSCCSSSSCCCSCCCCSSSSSSCCCSCCSSSSSSSCCCCCSSCCSCCCSCSSSSSSCSSSCCCSSCSSCSSCCSCSSCSCCCCSCCSCSCCSSSCCSSSSSSCSSSCCCSCCSCSCCCCCSSCSCCCSCSSCSCSSSCSCSCCSCCCCSSCSCSCSCSCCSCSSCCSCCSCSSCCCSCSSCSCSSSCSCSCCSSSSSCSSCSSCCCCSCCCCCSSCCCCSCSCSSSCCCCSCCCSSSSCCSCCSCCSSSCCSSSCCSCCSCCSSCCCSSCSSCCCCCSSSCSSCSSSCSCSSCSCSSCCSSCCSCSSSSSSSCCCCCSSSSCSSSCCSCCSSSCSSCSCCCCCSCSCSSSSSCSCSSCCSSSCCSSSCSSSCSSSCSSSCSSCSSSSCSCSCSCSSCCSSCSSCCCCCSCCCSCSCSCSSSSCSSCSCCCSCSCSCCSSCCSCCCCSCCCCSCCCCCSSCCCCCSSCSSSCSCSCSCSCSSCCSCSSSCCCCSSCSCSCCSCSSSCCSSCCCCSSSSCCCSCSSCCSSSSSCCSCCSCSCCSCCCSSSCCSCCSSCSSCSSSCSSCCCSCSSCCCCSCCSCCCCCSSCCSSSSCSSSCCSCSCSCSCCCCSCCCSCSSSCSCSCSSCSSCCSSSSCCCSCCSSSCCCCCCCCSCCCSSSCSCCSSSCCSSCSCSSSSSSCSCCSSSCSCCCSCCCCCSCSSSCCSSSSCSSCSCCSSSSSCCSCCCCSSSSCSCSCCSSSSSSCCCSCCCCCSSSCCCCSCSSCSSCSCCCSSSCCCCCSSSSCCSSSCCCCSCCSCCCSCCCSCCSSCSCSCSSSCSSCCCCCSSCCCCCCSCSSSCSSSCCSSSCSCSCCSSCSCCSSSSSSCCCCSSCCCCSCSSCSSSSSCSSSCCSSSSSSCCCSCCCCCSSCSCSSCSCCCCCCSCCSCCCCSSCSCCCCSCSSCSCSCCCSSSSSCSCSSSCSCCSSCCCCSSSSCSSCCSCCCCCCCCSSCSCCSCCCSCCSSCSSCCCCCCCSCSSCCCSSCSSSCSCSCSSCSCSSCSSSCCSSCCSSSSSSSSSSSCCCSSCSCSCCSCSSCSCSSSSSCSCCCSCCCSCCCCSCCCCCCCCSCSCSSSCCSCCSCSSCCCSCCSSCCSSCSCCSSCSCCCCSSCSCCSCCCSSCSSSSCCCCSCCCSSCCSSCSCSCCSSCCSCCCCSSCCCSSCSSCCSCSSSCSCCCSSSSSCCCSCSSCCSSSCCSSSSCSSCSCCSSSCCCCCCSSSCSSSCCCCCCSCSCSSSSCCSSCCCSCSSCSSSSCCSSSSSSCSSSSSCSCSSSSSSSSSCCSCSCCSCSCCSCSCCCCCCSSSSCSCCSSSSCSSCSCSCCCCCCCSCCCSSCCSCCCCCSCCCSSSSCCSSSSCSSCCCCCSSCCSCCSSSSCCCSSCCSSCSSSCCSSSCSSSSSCCCCCSSCSSCCSSSCCCSCSCSSSSCCCSCSCCSCSCSCSSSSSCCCCCCCCCCSCCCCCCSCSSCCSSSCSSCCCCCCCCCCCCSSCSSSCCCSSSCSSCCSSSCSSCSSSSCSCCSSSSSSCCSCCSCCCCCCCSCSCCSSCCCCCSSSCCSCCCCCSSCCSCCCCSCSCSCSSCSSSSCSCCCSCCSCSSSSSCCCCSCCCSCSCCCSSCCCCSCSSSCCCSSCCSSSCSCSSCSSSSCCCSCCCSSSSSSCCSSCSSSCCCCCSSSCSSCCCSSCCCSCCCCCSCCCCSSSSCSCSSCSCCSSCCSCCCSCSSCSCCSSSCCSCSCCCCSSSCCCCCCCCSSCSCCSCSSCSSCSSSCCSCCSCCSCCCSSCSCCCCCSCCCSSSCSCCSSCSSSCSSSSSSCCSCCSCSCSCCSSSCSSSSSCCCCCCSCSSCSCCCCSCSCSCSSCSSCSCSSSCSSSCCSSCSCCSCSCCSSSSSCSCCSSCCSCCSCCCCSCSSCSSCSSCCCSSSCCSSSSCSCCSCSCCCSSSCSCCCCCCCSCCCCCCCSCCCCSCSCCCSSCSSSCCCCSCSSCCCCSSSCSCCCSCCSCSSSCSCCSCCCCSSSCSSSSCSCSSSSCSSCSSCSSCSCCCCSSCCCCSSCSSCSSSCCSSCCSSCCSSSCSCCCCCCCCSCCCCCSCSCSSCSCSCSSSCSCSCSCSCSCCSSSSSSSCSCCSSSCCSCCSSCCCSSSCSSCSSSCSCCSCCSSSSCSSSCCSSCSCSCCSSCCSSCSCSCSSSSCSCSCCSCCSSCCCCCCSCSSSCSSSCSSSCSSSSSCSCSSSSCSCCCCSCSSSCSCSSCCSSSSSSCSCCCSCSCCSSSSSCSCSSSCSCSCSSSCSSSCSCCCSCCCCSCCSCCSCCCCSSCSSCCSSCCSCCCSCCSCSSSSSCSSCSSCCCSSSSSCSCSCCSCSSCSCSCSCSCCSSSSSCSCSCSCSSCSCCCSSCSCSCCCSCSCCSSSSCSCSSCCCCCCSSCSCSCSSCCCCSSSCSSSCSCSCSSCCSCSCCCCSCCSSSCSSCCCSCSSSCCSCSSSCSCCSSSSCCSSSCSSSCSCCSSSCCSSCSCCSSSSCSCSSCSSSCSSSCSCCSCCCCCCSCSCCCCSCCSCSCSSSSCSCCSSSCCCSCSSCCCSCSSCSSCSSCCSSSSCCCSSCCSSCSSSSCSCSCSCCSSSCCCCCCSCSCCSSSSSCSSSSCCCCCSSSSSCCCSSCCCCSSCSCCSSSSSCCCCCSSCCSSSCCCCSSSSSCCSSCCCCSCSSCSCCSSSSCSSSSSSCSCCSSSSCSSCCSSSSCSSCSSSSCSCCSSCCCSSCSCCSCCCSCCSSSSSSSSSCSCSCSSSSCSSSCCSCCCSSCCSCCCCCSCCCCCCSCCSSCCCSCSCSSCCCCCSCSCCCCCCSSSCSCSCSCSCCCSCCCCCSCSSCSCCSSCCSSSCSCCSCSSCSSSSSCCCSSSSSCSCSSSSCCCSCCSSCSSSCSCSSCSSSSCCSCCCCCCCSSSSSSCCCCCSCSCCCCSSSCCSSSSSSSCSCCCCSSCCSSSSSSSSCCSSCCCCSSSCSSCCCSSCCSCCSSSSSCSSCSCCCCSCSSCSSCCSCSCSSSSCSSCCCSCCCSCSSSSSCSCSCCSSCSCCSCCSSSCSCCCSCCCCCCSCSSSSSSCCSSSSCSCCCSCSSSSSCSCSSCCSSSSCCCSSSSCCSSSSCSSSSSSCCSCSSSSCSCCCSSSSSCSCSCCSCCCSSCSCCSCCCCSCCCSCSSCSCCSSSSCSSSCSSCSSCCCSSCCCCCSCCSSCSSSSSSSSCSCCCSCSSSSSSCCSCCSSCSSCSCSSSCCSSSCSCCCSSSSSSSCCSCCCSSCSSCCCCCSCSSCCSCSSCSSCSCSSSCSCSCSSCSSSSCCCCSCSCCCCCSCCSSCCCSSSCSCCCCCSCCSCSSCSSCCSCCSSCCCSCSSSCSSCCSCSSCSSSSSCSCSCCCCCSSSSSCSSCSCCSSSSSCCCSCSCSSCSSSSCSSCCCSCCCCSSCSSCCCSSSSSCSSSSCCSSCSSSCSSSSSCSCSSCCSCCCSCCSCSSCSCSCSSCSSCSCSSCCSCCCCCSCSCCCSSSCCCSCSSCSCCSSCCCSCSSSCSSSCCSSSCSSSCSCSSCCCSCCCCCCSCSSSCSCSSSSSSSCSCSSCCSSCCCCCCCCCSSCCSSCSSSCSCCCSCSCCCSCCSSCCSSCCSSSCCSCSSSSSSSSSSSCSSCCCCCCCSSSSCCCSCCSSCSCSSSSSSCCSSCSSCSSCCSCSCSSSCSSCCCSCSSCCSCCSCSCCCCCSCSSCSCSSSSCSSCCCSCCSSCSCSSCSSSSSSSCCCCSCCCSSSSCCCSCCSCSSSCCSSCCSSSSSSCCCSSCCCSCCCSSSCSCCCSSCCSSSCCCSSCSSSCSCCSSSCSSSCCSCCSSSSCSSCSSSSSCSCCCSCCSCCSCSSSSCSCSSSSSSSCCCSCCCSCCSCSSSCCCCCCCSCSSCCCSSSSSCSSSSCSCCSSCCCCCCCSCSSCCCSCCSCCSCCCSCSCCSCCCSSSSSCSSSSCSSCCSCCCSCCCCCSSCCSSSCSSSSCSSCSCCSCCCSCCSCCCSSSSCSCCCCCCSSCSSCCCCSSCSSSCSSSSSCSCCCCCSSCSSSSSCSSSCSCCCCSCSCSSCCCCSSSSCSCSSCSCSCCSCSSSSSCSSCSCCSSSCCCCCCCCSSSSSSCSSSCCSSCCCCCSCCCSCSCSCCCSCSSSSSSSSSCCCSSSSSCCCSSCSCSCSCSSCCCSSCSCSSCSSSCCSCSCSCSCCCCSCSSSSCSCCSSCCCCCCCSSSSSSCSCCSCCSCCSCCCCCCSCSCSCCCCCCSCSSCSSCCSSSCCCSSSSSSSSCCSCCCCCCCSSSCCSCCSSCCSCSSSCSSSCCCCCCCCSSCCSCSCSCCSCSCCCSSSCCCCCCCCCCSSSCSCSCCCCSSSSCSCSSCSSSSCCCSCSCCCCCSSSSSSCCSCSCSSCSCCCCSSSSCSSCSSCSSSCCSSCSCSSCSSSCCCCCSSSSCCCSSSSCSSSCCCCSSCCSCCCSCSCSSCSSSCCSSCCCSCSCSSCSCCSCSSCCSCSCCCCCCCCSCSSCSSSSCCSSSCCSCCSSCCSSSCCCSCCSCSCSSSSSCSSSCCCCSCCCCCCCSSCSCSCSSCSSCSCSCSCSCCSSCSCCSCCCCSSCSCSCSCSSCCSSSSSSCSCSCCCCSCCCCCCCSCCCSCSSSSSCSSSSSSSCSCSCSSSSCCSCCSCCSCSCSCCCCCCCCSSCSCSCCSSSSCSCCCCCSSSCSSCSSCSSSSCSSCCSCSCSCCSCCCCSSSCCCSSSSSSCSSSCSCCSSSCSSCCCCSSSCSCCCCCCSCCCCSCCCCCCSCCSSCCSSSSSCSCCCSCCSSCSSCCCSSSCSSSSCSSSCCCSCSSCSSSSSSSCCCSSCSCCCSCSCSCSCCSSCCSCCSSSSSSCSCCSSSSSSCCSSCCSSSCSCCSCSSCCSSCSSSSCSSCSCCSCSCCSCCSCCSSSCCCCCSSSCSSSSCCSCCCSCCSSSSCCSSSSSCSCSCCCSCCSCSSSSSCSSSSSSSCSSSSCSSCCSSCCCCCSSSCSCSCSSCCSCSCCCCCSSSSCCCSSSSCSCCSSSCSCCCCCSCCSCSCSSCSSCSCSSCSCCCSCSSCCCSCCSCSCCSSCSSCSSSSCCSSSCCCCCSCSCSCSCCCSCCSCSCSCSSCCSSCCSSCSSCSSSSSSCSCCCCCCSSSCCSSSSCSCSCSCSCCCCCCSCCCSSCCCCCCCSSSCCCCCSCSSCSSSCSSSSSSSSSSCCSCSCSSSCCCCSSSSSSCSCSCSSCCCSSSSSSSCSSSSSSSSSCCSCCSSCCCSCCCCCSSCCSSCSCCCSCCCCCCSCCSCCCCCSSCCSSCCSSSCCCCSCCSSCCCCSCSSSCSCSCCCSCCSCSCSSSCCCCSSSCCSCCSCSCSSCSSSSCSCCCCSCSSCSSCCSSCSSSCCSCCSCCCSCSSSSSCCCSSCSCSCSCSCSSCSCSCSCSCSSCCSSSSCCCCSSCSCCSCSSSSCCSSCCSSCCCCSCSSSCSSCCSCSCCSCCCCCSSSCCSCSSSSSSSSSCCCCCSCCCSCSSCCSCCCCSCSCSSCCCSSCSSSCSSCSSSSCSSCSCCCSCSCSSSCSCCSCSCSCSSSCSCSCCCCSCSSCCCSCSSCSCCSCCSCCCCCSSSSCSCSSSSSSCCCSCCCCCCCCCSCCSCSSCSSCCCCCCCCSSSSCCCCCCSSCCSCCSSSCSSCCCSSSSSCSCCSSCSSCSSCCSSCCCSCCSSSCSSSCCCSCSCCCSSSCCCSCCSCCCSCSCCSCCCSCSSCCCCCSCSSSCCCSCSCCCCCCSCCSSCCCCCSCCCSSSSCCSSCSSSCSCSCSCSCCCSSCCSCSCSCCSSCSCSCSSSCCSCSSSCSCCCCCSSSSCSSCSSSCCCSCSSCCCSCSCCCSSCSSCCCSCCSCCCSSCSSCSCCCCCCSSCSCCCSSSCCSCSSCSSCSCCCSCCCCCCSSCCSCSSSCCCCSSCSSCSSCSCCSSCSSCSCSCSSCSCCSSSCSSCCSSSSSCCSSSCSSCSCSSCCCSCCCSSSCSCCSCCSSCSCSSSSSSSSCSCCSSCCSCSSCSCCSSCCCCCSSSSCCCCCSSSCSCCSCCSCSSSCCCCSSSSSSSSSCCSCCSCCSSCSSCSSSSSCSSCCSCSCCCSSSCCCSCSCSSSSCSCCSCCCSSCSSSSCSCCSSCCSSCCCSCSSCSSCCCSSSCSSCCSSSCCCCSSCSCSCSCSCCSSSSSSSCCCSSCCSSSCSSCSCCCCSCSSSSSSCCSCCSCSCCCSSSSSCCSSCSCCCSCSSCCCCCSSSSCCSSCCSCSCCCSCCSSCSCSSSSSSCCSCSCCSCCCSCSCCSCSCCCCCSSSCSSCCSSCCCCSCSCCCSSCCCSSCSSCCCSSSCCCSSCSCSSSCSCSSCSSSCSSSCSCSSCCCSSSCCSSSCCCCCSSCSSCSSSCCCCSSSSCCSCCCSSSCCSCCCCSSCSCCCCSCCSCSCSSCSSSSCCSCCCCCCCCCSSSSCCSCCSSCSCCCCSSSSCSCSCCCCCCCSSSCSSCSSSCSCSCSSCSCSSSSCSSSCCSSSSSSSCCCCSCCSCCCSSCCCSSSCSCCSSCCCSSSCCSCSCCSSSCCCSSCSSCCCSSCSCCCSCSCSSCCSCSCCCCSSCCSCSSSCCCCCSSSSSSCCCCSCSSCSCCSCSSCSCSCCSCSSSSCSSCCSCSSCCCCSSSCSCCSSCSCSSCSCCCSCSCCCCSSCCSSSSSSCCCCSSSCCCSCCSSSSSSCCSSSSCSCCCCSSSCCSCSCSSCCSCCCCSSSCSCSCSCSSCCSCCSSCSSCSCCSCSCCCSSSSSSCSCSCCCCCSSSSCCCCCCCSCSSCSSSCCSCCCSCCSCSCCSCSSSCSCCSCCCSCSSCCSCCSSSCSSSSCCSCCCCCCSSCSSSCCCCSSCCCSCCCSCSSCSSSCCCCSCCCSSCCCSCSCSCCSCCCCCSCSCSSCSSSSCCCSSCSCCCCCCCCCSSCSCCSSCCSSSSCSCCCCSSCSSSCSCSSSSCSSSSCCCCCCSSSSCSCCCCCCCSSSCCSCSSCCSCCSCSSSSCCCCSCSSSSCCSCCCCCCCSCCSSSCCSCCCSSCSSSCCSSSSCCSSCSCSCCCSSSSCSCSCSSSSCSSCSSCSCCSSSSSCSSSCSCCCCCCCCCCSCCCCCSSSCSCCCCSCCSSCSSSCSSCCCCCSCCSSCSSCSSCCCSSCCSSSSCSSSCCSSCCSSSCSSSCCCCCSCSSSSSCCSSSCSCCSCSCSSCSSCCSSCCSSSCSCSSSSSSCSSSSCSSCSCSCCSSSCSSCSSCSSCSCCCSSCSSSCSSCCCCSCSCCCCCSCCSSSSSCSSSCCCSSCCSSCCCCSSCSCSSCSCSSSCCSSCSSCCCSSCCCSSSSSCCSCCCSSCSCCSSSSSCCCCCCCCCSSSCCCCCCCSSCCCCSSCSCSCSCCSCSCCSSSCCSCCSCCCCCSSSCCCCSSCCSSSCCSSCSSSCSCSSCSSCCCSSCSCCSCCSSSSSSSCSSSSSSCSCSCCSSSCSSCSSCCCSSSSSCSCSSSSSSCSCSSSCCSCSSSSCSSSCSSCSCCCSCCCCCCSSSSCSSSSSSSSCSSCSSSSSCCCCSSCCCSCCCCCSSSSSCCSCCCCSSCCCSSSCCCCCSCCSSCSSCCSSCSSSCCCSSCCSCSCCCSCCSSCSSCSSSSCSCSSSSSSSSSCCCSSCCCSCCCSSCSCSCSSCCCCCSSSSCCCCSCSSCSCCCSCCSSCSCSSCSCSSCCSSCCCCSCCSSSSCSCSCSCSSCSSCSSCCSSCSSSSSSSSCSSCCCCSCCCCCSSSSCSSSCSSSSCCCSSCSCSSCCSCCCCCCSSCSSSCSCSSCCSSSCCCSSCCCSSCSCSCSSCCCCSCCSCCCCCCCCCCSCSCCCSCSSCSCSSCCCCCSCSSCCCSSSSCSCCSCSCSSSSSSSCSCCSSSCSSCSSSSCCCSSSSCCCSCSSCCSSCCSSSSSCSCCSCCSCCSSSCSSCCCCSSSSSCSSCCCCSSSCCSSSSCCSSSCSCSCCCCCSCCSSCSCSCSCSSSSCCCCCCSCSSCCCSCSSSSSCCCCSSCSSCCSSCCCCCCSCCSCCSCCCSSSSSSSSSSSCSSSCCSSCCCCSSSSCCCCSSSSCCCSSSSCSCSCSSSSCCCCCCSSCCCCSSSCSSCSCSCCCSCSCSCCCSSSSCCCCSCSSCSCSSCCCCSCCCCSCSCSSCSSSSCSCCCSSSSSCCCCSCCSCSSSSCSCCSSSCSSSCCSCCCSCSSSSCCSCSSCCCCSCCSSCSCCSCSCSCCSSSSCCSCSSSSSCSSCCSCSCSCSCCCCSSSCSCSCSCCSCCCSSSCSSSCCCSSSCSCSCSCSCSSCCCSSCSSSCSSCCCCSSCSSCCCSCSSSCSCCCCSCSCSSCCCCCCSCSSSCCCCSSSCCCCCSSSSCCCCSCCCSSSSCCCSCCCCCSSSCCSCSCCCSCSSSCSSCCSSCSSCCCSSSCSCSCSCCCSSCSSCSSSCCCSSSSCSSCSSCCCSCSCCCCCSSCCCSCCCCSCSSCCCCSSCCSCCSCCCCSCSSSCSCSSSSSCCSSCCSCCCSSCCSCCSCCCSSSCSSSCCCCCSCSSCCCSCSSSCSSCSCSCSSCSSCCCCCCSSCSSCSSCCCSCCSSCSCSSCSCCCSCCSCCCCSSSCCCSCSSCSCCCSCSSSSCSSSSSCCCSCSSCSSCSCSCCCSSSSCCSCCCCCSSSSSCSSCSCCSSCSSCCCCCCCSCSCCCSSCSCSCCCSCCCSSCSCCCCCCCCCCCCCCCCCSCSSSCCSSCCSSCSCSSSCSSCCCCCSCSCSCSCSCCCSCSSSCSSCSCCSSCCSSCSSCSCSCCCSCCCSCSSCSSSSCCCCCSCSSSCSCSCCSCSSCSCSSCCSSCSCSCCCCSCCSCSCCSCCSSSCSSSSSSCCCSSCSSCCSCSCSCCSSCCCSCSSCCCCSCCSSCSSCCCSCCCCSCSCSSSCCCCSCSCSSCCSCSCCSCSSSCCCCSSCSSCSCSCCSSSCCSCCSSSSCCCCSSSSSSSCSSCCSCCCSCSCSCCCCCSCSCCCCCCSCSCSCSSSCSSSSCSCCSSCSSCSCCSCCCSSSCSCCCCSSCCCSSCCCCSSCCCCSSSCCCSCCCCCSCCCCSCSCCSCSCCCSCSCCSCSCSCSCCCSCCSCCCCSCCCSCCSSSSCCSSSSSCSCCSSSSCSSCCSCCSCCCCCCSCSSSSSSCCCSCSCSCCSCSCCCCSSCSCSCSSCSCSSSSSSCCCCCCCCSCCCSCCCSSCSCSSSSSCCCCSCCSSCSSSCCSSCCSSCSSCSCCSSCSCSSCCCCCSCSCSSCCCCCCSCCSSCCCCSCSCCSCSSSCCSSCSCCCCCSSSSSSCCSCCCSCSCSCCCSSCSSSCSSSSCCCSSCSSCSSCCCCSSSSSCCSSSSSCSCSSCSCSSSSSSCCCCSCCCSCCSSCCSCCCCSCCSSSCCSCCSSSSSSCSSCCCCCSCCCSCSSCSCCCSSCSCCSSSSCCCCCSSCSCSCSCCCSSCCCCCSSSSSCCCCCCCCSSSSCSCSSCCCSSCSSSCSSCCSSCSSSCSCSSSSCSCSCSSSCCSSCCSSCCCCSCSSSCCSSSSSSCSCCSSCCCCCCCSSCSCCCSCSSSCCCCSSCSSCCSCCCSCCSSCSCCCCCSSSCCCCCCSSCSSCCCSSSSCCSSCSCSCCSSSCSSCSSSCCSSSSCCCSSCCSCCCCSSSCCSCCSCSCSSSSSSSSSSSSSCCSCSCSSCSCCSSSSSSSSCSSCSCCCSSCSSCCCCCSSSSSSCCCCCSSCCSSCSCSCSCSSCSCCCSSCCCSCSSSSSCCCCSCCCCCSCSSSSCSCCSSCSSCSCSCCCCCCCSCCCCSSCSCCSCSSSSCSCCCSCCSSCCSCSCSCSSCCSCCSSSCCCCSCSCSCSSSSCCSCSCSSSSSSSSCSSCSSSCCCSCSCCSCSCSCSCSCSSCSCCSCCCCCSSSCSCSCSCCSCCSCSCCSCSSSCSCCCCCSCCCCCCSSSCSSCSSSCSCCCCSCCCCCCSCSCSSSSSSSCCSCCSSSCSCCCSCSSSSSSSCSCCSSSSCCCSSCSCCSCSCCCCSCSSCCSSCCCCSSCSSCSSSCSSCSSCCSSSSSSSSCSCSCSSSCCCCCCSCSCCCSCSSCCCSSCCCSCSSCSSSCCCSCCSSSSSSCSSSSSCCCCCSSCSSCSSCSCCSCCSSCSCCSCSCCCCSCSCCCSSSCSCCSSSSCSCCCCCSSSSCSSSCCCSCSCCCCCCSCSCCCCCCCSCSCSCCCSSSSCCSSCSCCCSSSCSSSSSCSCSCCCSSCSSCSCSSSSSSCSSCCSCCCSSCSCSSSCCSSSCSSCCSCSSCCCCCCCCCCCCCCSCSSCSCCSSCCSCSSCSSCCSCCSSSSSSCCCCCCCSCCCCCSSCSSCCCSCCCSSSCCSSCCSSCSSSSSSCSCCSCCSCSCSSCCSSSSCSSCCSSCSCSSSCCCSSCSSSSSCCCCCSSCCCSSCSCCCSCSSCSSSCCSCCCSCCCCCSCSSSSCCCCCCSSCSCCCCCCCCSSSCSSCCSCSSSCCSSCSCCSSCCSSCSSSCCCCSCCCSCCSSCSSCSSCSCSSCSSSSCSCCCCSSSSCSCCCCCCSCCSSCCSSCCCSSSSSCCSCCSSCCSSCCSSCSCSCCSSCSCSCCCCCCCSSSCCCSSSSCSCSSSSSSSCSSSSSCCCSCSSSCSCCCCSCCSCSCCCCSSCCSCSSCCCSCSCCCSCCCCCSSSSCCCSSCSSSCSCCSSSSCSCSSCSSSCCSSSSCSSSSCSSCCSCCCCCSSCSCSSCSCSSSCSSCCCCSSSCSSSSSCCSCSSCCSCSSCCCCCCSSSCSCCSSCSSCSCCCCSCSSSSSSCSSCCCCCSSCCCCCCCCSCCCSCSSCSSSCSCSCSCSCCSCCSCCSSCSSCSCSCCSSSCCCSSSCSCCCCCCSSSCSCCSCCCSCSSCCSSSSSCCSCSCCSSCSSSCCSSCSSSCCSCCSSCCCSCCSCSCCCSCSSSSCCSCSSSCSCCSCCCSCSSSCSCSCSSCCCSCCSSCCSSSCSCCSCSSCCSCCCSSSSCCCCCSSCCCCSSSCCCSCSSCCCCSCCSSCCSCSCSCSCCSCSSSSCSCCSCCCCCCCSCCCCCCSSSSSSSSCSSSSSSSCSSSSCSCSCSSSCCSSCCCCCCCSCSCSCCSSCCSSSCSCCSCCCCCCSSCCSCSSCCSSSSSCCSCSCSSSCCCCCSSCSCCSSSCSCSSCSSSCSSCCSCSCSSCCCCCCCSCCSSCSCCSSCCSCSSCSCSCSCSSCSSSSSSSCCCCCCCSCCCCSCCCSCSSCCCSCCSCCSSSCSCCSSCCCSCCCCSCSSCCSCSCSSCSSCCSSCSCSSSSCSSCCSSSSCCCCSSSCSSCSSSCSCCSSSCCSCSSSCCSCCSSCSSSSSCSSCCSCSCCCSCCCCCCSSSCCCCSSSCSSCSSSSSSSCSSCSCCCCSSSCSSCSSCCSSSSSSCCCSCCCCSSCSSSSCSCCSSSCCSCSSSSSCCSCCSCSSCSSCCSSSSCSSSSCCSSSCCCCCCCCCCSSCSCCCSCCCSCCCCSSCCSCCCCSCCCSCCSSCCCSCCSSSSSSSSSCSSCCSCSCCSCCCSCSCCSSSCCSCCCSSSCSSCCCSSSCSSCCSSCCCSSCSCCSCSCSCCCSCSCSSSCSSSCSCCCCSCCCCSSSCCSCSCSCCCSCCSCCSCCCCCSCCSCCSCCCCSCSCCSCSSCSCCCSCSSCSCCSSSSSCSCCSSSSCCSSCSCSSSCCCSCSSSSSSSSSSSSSSSCCSCCCCCSCCCSCCSCSCSCSSCCCSSCSCCSCSSCCCCCSCCSCSSCCSSCSCCCSCSSCCSCSSSSCSSCSCCCSSSCSSCSSSCCSSSCSCCCSCCCCSSSCSSSCSSCCSSSCSCCSCSSSSSCSCSCSCCCSSSCSSCCCSCCCCSSSSCSSCCSCSSCSSCSSSSSSSCCSSCCCCSSSCCSSCSCSSCSSCCSSCSCCSSCCSSCSSCCCSSSCSCSCSSCCCSCCCCSCCSCCCSCCSCSSSSSSCSSCSSSSCSCCCCCSSSCCCSCSCSCSSSCSSCCSCCCCCSCCSCCSCCSSSCSCCSCSSCSCSSSSSSSCCCCSCSCCSSCCCSCCCCCCCCSCSSCCSSSCSSSSCCSCCCSCCCCSCCCSSCSCCCCSCSSCSCSSSSSSCCCCSCSSCSCCCSSSSCCCCCCSSCSCSSSCCSSCSSCCCSCCSSSCSSCSSCCCSCSCCCCCCSCCCSCSCSSCSSCCSCCCSCSSCSCSSCCSSSCCCSSCCSCCSCCSCCSSSCCCSSCCCCCSCSCCSSSSCCCCCCSCSCCCSSCCSCSSCCSCSSCSSCCSCCSCSCSCCSSCCCCCCSCCSSSCSCCCSSSCSSCCSCCCSSSSSCSCSSCCCCSSCSSCSCSCCSCSCSSSSSCCCSSCCSCCCCCCCCCSSSSCCSSSCSSSCCCCCCSCSCSCSCSCCCCSSCCCCSCSSCCCCCCSSSCSCCCCCCCSCCCCSSCSCCSSCCSCSSSCSCSCSCSSSCSSCSSCCSCCSCCSSCCCCSSCCCSCSSCCCCCCSCSCCCSCCSCSSCCCSSCSCCCCCCSCSCCCCCSCSSCSSCSSSCCCCSSSSCCCSCSSSCCSSCSCSSSCSSCCCSCSCSCCSCSSSCCSSCCCSSSCSCCCCCCSSCCSCCSCSSSCSSCSSSSCCSCSSSCSSCSCSCCSCSSCCSCSSSSSCCSCCSCSCCCSCSSCSSSCSCCCCCSSCSSSCSSCSCCSSSSCCSCSSCSCCSSSSCCCSCSCSCSCCCSCCCSSCCSCCSSCCCSCCSSSSCCSCSCCCCCSCCSCSSCCCCCSSCCSSSSCSCSSCSCSSSCCSSSSSCCSSSCSCCCCCSSSSCCCCCCSCSCSSCCSSSCSSSSSCSSCSSCCCCCSCCCSSCSSCSCSCCSCSSSCCSSSCSCSCCSSSCSSSCSCCCSSSCCCCSCSSCCCCSCCSCCCCCCSSSCSSCSSCSSCCSSCSCCSCSCCSSSSSSCSCSSSCCSSSSCSSCCCSSCSSCSCCSCSSSSCSCSSCCCCSCCSCSCSSCSCSSCSCSSSCCSCCSCCCCSSCCSSCCSSSSSCSSSCCSCSSSSSSCSSCSSCCCCSCCSSCSSCCCCCSSSSCCCSSSCCCCCSCCCSSCSCCCCSSCCCSSCSCSSCCSSSSSSCSSCCCCSSCSSSSSCSSCSCCCSSSCCSSSSSCSSCSCCCSCCCCSCSSCCSCSSSSSCCCSCSCSSCCCSCSCSSSCSCCSSCCCSSCSSSSSCCCCSCSCSCSCSSCCSCCSSSSSSCCSCCSSSCSSSCCCCCSCSSCSSCCCCSCCSSCSSSCCSSSSSCCCSCCCCSCCSCCCSCCSCSSSSCSSCCCCSCCSSCCSCCCCCCCCSSSCCCSSSSCCSSSSCCSCSCSSSCSCSCSCCCCCSCCSSSCCSCSSCCSSCSCCSCCCSSCCCCCCSSSSCCCCCSSCSSSSSSSSSCSSCCCCCSSSSSCSCSCSCCSSCCCSCCSCCCCSCCSSSSCSCSSSCCCCCCCCSSCSCSCCCCSCSCSCSCSSSSSSSSCSCSCCSSSSSSSSSCCSSCCCCSCSCCCSCSSCSSSCCSSSSSSCSSSCCCCCCCSSCSCSCCSCCSSSSSCSCSSCCCCSSSSCSSCSCSSCSSSCSCCCCSCCCCCSSCSCSCCCSSCSSCCSSSSCCSSCSSSCCSSSSCSSCSCSSSSSSCCCSCSCSSSCSSSSCCSCCCCCCCCSCSCSSCSSCCCSSSSCSSSSCSSSCSCSSCCCCCSSCSSSSCSSSCSSSSCSSSCSSSSSSCSCCSSSCSSSSSCCCSCSSCCCSCCSSSSCCSSCCCCCSSSSSCSCCSCCCSSSSSSSSSCCSSSSSSCCCCSSCCCCCCSSSCSSCCCSCSSSSCCCSSSSCCSSCCSCSSCSSCCSCCSCCCCCCCSCSSCSSCSSCCSSCCCSCSCCSSCCCCCCSCSSCSCSSCCCCCSCCCCSCSSSSSSSCCCCCSCSSSCSSCSCCCCCSSCCSSCCCCCCSCSCSCSSSCCCCCCSSSSCSCSSCCSSSSSCCCCCCSSSSSSSSSSSSSSCSSSSCSCCSCCSSCCSCCCCCCCCSSCCSSSCCSSSSCSSSCSCCSCSCCSCSSCCSCCSCCSSSCCSCCSCSCSCCCSCCCCCSCCCCCSCCCSSSSSSSCCSCSCCCCCSSCCCCSSSCCSSCSCSSCSCCSCCSCSSCSCSSCSCCSCCCCCCCSSSCSSCCCCSCCSCSCSCCCSSSSSCSCCCSSSCSSSCSCCSCSSCSCCSCSSSCCSCCSCCCSSCCCCCSSCCCCSCSSCCSCSCSSSSCCCSSCCSCCSCCCSCSCSCSSSCCSCSCCCCSCSCCCSCCSSCCCCSSSCCSCSSSSSCCCCSSCSCSCSSSCCSSSSCCCSSSSCSCCCCCSSSCSSSCCSSCCCSSCSSSCSCCCCCCCCSCCSCCSCCCSSCCSSSSCSCSSCCCSSCCSCCSSSSSSSCSCSCSSCCSCCSCSSCSSCCCSCSSSSSSCSCSSCCCSSSSCSSCCSCSCCSSSCCSSSSSSCSCSCCCCCSCSSCCCSCCCCSSCCSSSSCCCCSSSCSSSSCSCSCSCSCSSCCSSCSSCCCSCCSCCCSCCCCSSSSSSCCCCSCCSSSCCSSCSSCCSSSCSCSCSCCSSSCSSSCCSCSSSSSSSCSSSSCSCSCCCCCCCCSCCSCSCSCCCSSCSCCSSSSSCCSSSCCCCCCCCCSSCSSSSCSSCCCSCCSCCSCSCSCSSSSSSCSCCSSSSSCCSCSSSCCSSCCSCSCSSCCSCSSCSCCCSSCCCSSCCCCSCSSCSCCCCCSSCSCCCSSSSCSSSSCCSSSCCSSCSCCCCSSSCSSCSCCSCSCSSSCCSSCCCSCCCSCSSCCSSSSSCCSSSCCSSSCSCCSCSSCSCCCCCCCCCCSSSSSCSSCSSCSSSSSSSSSCSSCSCCCCSSCSCCCCCCSCCSSSCSSCSCSCSSCSCCSSCCCCSSCSCSCCSCSSCCCSCCCCSSCSCCSCSCSCCCSCCCCSSSSCCCSSCSCSCCCSSSCSSSSSCSCCSCCCSCSCCSSCCSCCCSSCCSCSSCSSSCSCCSCSSCSCCSCCSSSCSSSCSCSCSSCCCCCSCCSCSCCCSCSSSCCSSSCCSSSCSSCSCCSSSSSSSCSSCSSSSCCSCSSCCSSCCSSCSCSCCCCCCCCSCSSCSSSSSCSSCSSCCCSSSSCSSSSCCCSSCSSSCSSCSSCCCCSCSCCCCCSCCCCCCSCSSCSSSCSCSSCCCCSSCCSCCSCSCCCCSSCCSSCCCSCSCCSSSCSSCCCCSCSCCCCSCCSCCCSCCSCCCCSCSCSCCSCCSSSCSSCSSSSSCSCSSCCCCCSCSCSSCSSSCCCCCSSCSCCSCSSCCCSSCCCSCSSSCCSSSSSSSCSSCCCCSSSSSSCSCCCSSCSCSSSCCSSSSCCCCCSCCSSCCSCSSCCCSCCCSCSSCSSSSSSCCSCSCCCCCCSCCSSSCSCCCSSCCSSSSSCCCSSSCSSCCSCSSSCSCCCCCSSCSSCCCSSCCSSCCCSCCCSCCSSCCCSSSSSSSSCSSCCSCSSSSSCCCSSCCSCCSCSSSCSCSSSSSSCSCSSCSCSSCCSSCSSSCCCCSSSSCCSCSSCCSSSCSCCCSSCSCCSCSCSCSCSSSCSSSSCSSSCCCCCSSSSSCCCSCCCCSCSCCCCCCSCCSSSCSSCCSSCSSSCCSSCCCSCCSSCCCSCSCSCSSSSSCCCSCSCCSSCCCCSSSSSSCSCCSCSSCSSCCSCSCCCSSCSSCSSCCCSSCCCCCSCSSSSSSCCCCCSSSCSSSSSSCCSCCCSSCCSCCCSSSCCSCSSSCCCSSSSSCCSSSSCCCCSCCSSSCSSSSSSSSSCSCSCSSSCCSCSSCCCCCSSSCCCSSCCSSCSSSCCSCSSSCCSSCCCSCSSCSCSSSCSCCCCSSCSSCCSCSCSSSCCSCCCCSSCCSCCSSCSCSCSCCCCSCCSSCSSCCSSSCCSCSSSCCCSSSSCSCSSSCCSCCCCSCCSCCCCCCSCSCCCSCSSSSCCCSSSCSCSSCSSSSCSCSCSCSSSCSSCCCCSCSSSSCSCSCSSSCSSSCCCCCSCCCSCSSSSCCCCCSSSSCCSSCSCCCCSCSSCSCCSSSSSSCSCSSSCCSCSCSCSSSCCSSCSCSCCSCSCSCSCCSSCSSSCCSSCCCCSCCSSSCSSCCSSSSSSSCCCSSCCCSSSCSSCCCSCCCSCCSSCSCCSSCCSSSCCSSCCSSCCSCSCSCSCCCSSSSSSCSCCSCSSSSCSCSCSCSCSCSSSCSSSSCCSSSCCCCCCCSSSSCSCCCSSSCCCCCSSSSSSCCCSSSSSSCSSCSCSCCCSCCSSCSCCCCCSSSCCSCCSSSCCSCSCSSCSCCSCCSSCSSCSCCSCCCSCSSSSCCCSCCSSSSCCCCCSSCCSSCSSCSSCCCCCSSSCCCCSSSCSSCSSSSCCSSCCSSSCSSSCCSSSCSCSCCCCCSSCSCCSSCSSSCCCCSCCCSSSCCCCSCCCSSCCSCCSSSSCCSCSCCCSCCSCCSSSCCCSSCCSSSCCSCSCSCSSSSCSCCSCCCSSCSSCCSSSCCSSSSCSSSSSSSSCSCCCSCSCCCSCSSSCSCCCSCCSCCCSCCCSCSCCCSCSCCSSCCSCSCSSCCSCCCSCSCSSSSCCSSSSCSCCCSCSSSCSSSSSSCCCSCSCSSCCSCCCSCSSCSSCSCCSCSCSCSCCCSCSCCSSCSCSSCCCSSCSCCSSSSCCCCSCCSSCSCCSSSSSSSCSSCCSCCCCSCCSSCSSCSCCSCCCSCCSCCCSSSSSSCCCCSSCCSCSCCCCSCCSCCSCCCSSCSSCCCSCCSSCCCCSSCCCSSSSCSSCCSSSCCCSSSSSCCCCCCCSCCSCCSSSCCSSSCCSCCCCSSCCCCCCCSSSCSCSCCSSSCSCSCCSCCSCSCSSCSCSSCCSSCSCCSSSSSCSSSCSCSCCCSSSSSSSCCSCSSCSSSSSCCCSCCSSCCSCCSCCSCSCCSSSCCSCCSCCSCSCSSSCCCCCCCSSCCCSSCCCCCCCSCCSSSCCCCCCCCSSSCSSCCSSSCSCCCCCSSCSSCSSCSCCCSCCCSSCSCSCCCCCSSCCCSCSSSSCSCSSSCSCCSSCCCCCSSSCCSCSCCSSSCCCSCSSCCCCSSSSSSCSCSCCCCSCCCCCCCSSSCCSCCSCCCCSCCSSCCCCCCSCSSCSCCCCSSSSSCCSCCCSSCCSSCCSSCCSCSSSSSSSCCSSCCCCSCSCSCSSSSSSCCSSSCSCCCSCCCSSSSCSCSSCSCCCCSSSCSSSSCCCCCSSSCSSCSSCCSSSCSSCSCCCSSSCCCSSCCCSSCSCCSCSSCSCSSSSSSSSSCSCSCCSSSCSSCSCCCCCSCCSCCSCSSSCSSCCSSCCSSCCSCCSSSCCSSCSSCSCCCCSCCSCCCCCSSCSSSSCCCCSCCCCCSCCCCSSSSSSCCSCCSSSSCCCSCSSSSSSSCCSCSCCSSSCSCCSSSSCSCSSCSCCSCCSSCSCSSCSSSSCCCSCSCCCCCCSCSSCCCCCSSSCSCSCSCSSCSCCSSSSCSCCSSSCCCCCCSSSSCCSSCSSCSSCSSCSSCSSCCSCCCSSSSSCSCCCCCCCCCSCCCSSCCSCCSSSCSSSCCCSSCSCSCSSSCCCCSCSSCCSCCSSSCCSSSCCSCCCCSSCCSSSSCCCCSSSCCCSSCSSSCCCSCSCSCSCCCCCCSSCSSCCSSCSSCSSCCSCCSSSCCCSSCSSSSSCCCSSCCCSSSSCCSSSCCCCCCSSSCSCCCSCSSSCCCSSCCSSCCSCSCCSSSCSSCCCSCSCCSSCSSSSSCSCCSCSSSCSSCCCCCCCCCSCCCCCCCCSCSCSSSSCSSCSSCCCSSSSSCCCCCCSCSSCSCCSCCCSSSCSCCCSSCCCCSSSCCSCCSSCCCSCCCSSSSSCCSSSSCCSSSSSCSSCSCCCCSSCCCCSSSCCCSSSCCCCCCSSSSSSSSCSCSCCCSCCCCSCSSSCCSCCCSSCCSCSCSCCSCCSSSCCCSSSCSSSCSSCSSSCSSCCCCSSCCSSSSSSSSCSCCSCSSCSCCSSCCSCSSCCCCSCCSSCCSSSCCCSSCCCCCSCCCSCCCCSCSCSCCCSSCSSCSCSSCCCSSSSSCCCCSSSCCSSCCCSCCSSSCSSCSSCSCSCSSCCCCCSCCSSCSSCSCSCSCSSCCCSSCSCSSCSSCSCSSSSSSCCCSCSCSSCSSSSSCSCSSSSCSCSCCSSCCCCSSCSCCCCSSSCCSCSCSSSSCCSCCCCCCSCSSSCSCSCSCCCCCSCCCCSCSSSCCSCCSSSSCSCSSCSSCCCSSCCSSSSSSCSCCSSSCCSCCCCSSSSSCCSSCSSCCCSCCSSSSCSSSCCCCCCSCSSSSCSCCCCSSCCCSSCSSCCCCSCCCSCSSSSCSCCSCCCCCCSCCCSCCSCSSCSSSCSSCCCCCSSSSCCSSCCCSSSSCCCCSSCCSCSSSCCSSCCSSCCCCCSCSCSSCCSCCCSCCSCCCCSCSSCCCCSSCCCCCCSCCSSSSSCSCCSSSCCCSSSSSCCSSSCSSCSCCCSCSSCCCCCSSCSCSSSSCCCCCCSSSSSCSSSSSCSCCCCSCSCSCCCCCSSSCCSCSSSCCSSSCCSSCCCSCCCCCCCSSCSCCSSCSCSCCCCCSSCCCCSCSCCCSCSSCSCCCSSSCCSSCSSSSSSCCSCSSCSCCSSSCSCCSSCSCSCSCSCSSSSSCCCCCSSSCCSSCSSCCSSSCCCSCSCCCCCSCCSCSCSSSSSSSCSSCCSCSCSCSSSCSCSCCSCCCSSSCSCSSSSCCSSCCSCSSSCSSCSCCCCCSSSCSSSCCCCSCSSSSSSSCSCSSCCCSSSCCSSCSSSSSSCSCSCCCCSSSCSSCCSCSSCSSSSCCSSSCSSSSSCCCCSSSCCCSSCCSCCCCCSCSCCSSCSSSSSCCCCSCSSCSSSSSSSSCCSCCSCCSCCSCSSSSCCCSSSCCSSSCCSCSCCCCCSSSSSSCCCCCSSCSSCCSCCCCSCCSCSCCCSCSSCCCSCSSCCSCCSCSSCSSSCSCCCCCCSSCSCCSSSSCSSCSCCSCCCCCCCCCCSSCSSSSCCSSSSCCSSSCCSSSCCSCCSSSSSSSSSCSCSSSCSSSCCCCCCSCCSSCCCCSSSSCSCSCCSCCSSSSSSSSCSCCSCCCSCCSSSSSCSCSCCCSCSCSSCCSSSCCCSCSSCCCCSCCCCCCCCCSSCCSSSCSSCCCCCSSCCSSSSSCCCSSCCCSCSCSSCSCCSCCSSCCSCSCSSCCCSSCSCSSCSCSSSCSCSCSCSSSSCSCSCSCCSSSSCSCSSSSSCCSSCCCSSSSSSSCCSSCSSCCSCSSCCSSSCSSCCSCCCCCSCCSSSCCCCSCCSSCCCSSSCSSSSSSCCSSSCSSSCCSSSCCCSSSSSCCSCSSSSCCSSSCSSCSCSCSCCSCSCSCSCSCSCCCSCCSSSSCCSSCCCSCSCSCCSCCCCSSSCCSCCCCCSSCSSCCSCSSSSSCCCCCSCSCSCSCCCSSCCSCCSSCCSSSCCSCSSCCCSCSSCSSSCCCCSCSSCCCSCSSCSCCCSCSSCCSSSSCCSSSSCCCSSSSCSSCCSSCCCCSCCCSSCCCSSSSSCCSCSCCCCCSCSSSCCSSCSCSCCCSCSSSSSSSSSSSSCCCCCSSSSCSCSSCSSSSCSCCCCSCSCCCSSSSSCSSSSCSCCSCSCSCCSSSSSSCCCSSSSCSCSSSSCSCSSSSSCSCSSCSCSCSSCCCSSSSSCCCCSCSSCSCSCSSCSSCCSSCSCSCSCCCSSCSSCSCCSCCCCSCCCSCCSCCSSSSCCCCCSCSSCCSSSSSCSSCSCCCCCSCSCCSCSCSSCCCSCCSCCSCCCCCCCCCCCCSCCSCCCCSCCSSSCSSCSCSSSCCCSSCSCCCSSSCSCCCSSCSCSSCCCCCCSCCSSSCCCSCSCCCCSCCSSSCSSCCSSCSCSSSCSCCCCSSSCCSCSSCCSSSSCSSCSCSSSCCSSSSSSSSSSCCSSSSSCCCCCSSCCCSSSCCCCCCCCSCCCSSCCCCSSCCCSSCCCCCSSSSSSCCCSSSCSSCSSSCCSCSCSCSCSSSCCCSSSCCCCCCSSCSSSCSSSCCSSSCSCCSCSCCSSSCCCCCCSSSCSSCCSCCSSSSCCSSCCSCSCCSCCCCCSCCCSSCCSCCSSSCSSCSSCSSSCSSCSCCSSSSCCCSSSCSCSCSCSCSCSSSSCCCCSSSSCSSCCSSSSCCCSCCSCCSSCSCSSCSCSCSSSSSSSSSCCCSCSCSCCSSCCCCSCSCSSSCSCCCSCCSCSSSSSCSSCCSCCCCSCCSSSSCSCCSSSCSSCCSCSSCSSCSCSCSCCSCSCCCCCCSSSCSSSCCCSCCSCCSCCCCCCCSSSCCCCCSCSSCCCSSSSSCSCCSCCCCCSSSCCSCCCSSSCSCSSSSSSCSSSCCSSSCSCSSSSSSCCSSCCCSCCSCCSSSCSCSSCSSCSCSSSSCCSCSCSCCSSSCSSSCSCCSSSCCCSCCSSSSSCSCSCCCSSCSCCSSCSSCCSSSSCCCSCCCSCSCSSCCCCSCSCSSSSCCSSCCSSCCSSSCSSCSCSCSCCSCCSSCCSSSCCSSCSSSSCSCCCSSSSCCSCCCSCSCCSCSCCSCCSSCSCSCSCSCSCCSCCCSCSCCSSCCCSSCCSSSCCCSSCCSCCCCCCCSCCSCCCCCSSSSSCSSSCSSSSSCCCCCSSSSCSSSCCCCCSSSCSSSCCSSCCSSCCCSCSCCCCCCSSSSCSCCSCSSCSSSSSSCSCCCSSSCSSCSCCCCCSCSCCCSCSSSSSSCSSCCSSSSSSSCSCSSCCSSCSCCSSCSSCSSCSCCCCCCSCSCSSSCCSSCCCSSCSCSSSSCSSCSCCSSSCCCCCSCSCSSCSSCSSCSSCSSCSSSCCCSSCSSCCCCSSCSCSSCSSCSSCSCCCSCCCCSSCCCCSSCSCSSSSCCSCCCSSSCCCCSSCSSCCCSSCSCCSSSSSCSCSSSCSCCCCCCSSSCSSSCSSSCCCCSSSCSCSSCCSCCSSCCSCSCCSSCCCSSSCSSCSCSCSSCSCCSSSCSSCCSCSCCSSCCCCSCCSCCCCCCCCCSSCSCSSSSSCCCCSCCSCSCSSSCSSCSCCCCSCSCCSCSSSCSCSCSSSCSCSCCCSCSCCCSSSCCSSCSCCSSSCSCSSSSCCCSCSSSCSSCSSCSSCSSCSSSCSCSSSCSCCCSCSCCSSSCSSCSSSCCCSCSSCSCSCSSCSCSCCSCCSCCSSSCCSSCSSSCSSCSCCCCSSSCCCCSSSCCCCCSSSSSCSCCCCCCSSSCCCCSCCSCCCSCSCCCSSCSSCSSSCSSCSCCCSCCSSCCCSCSCSCCCSSSSSSSSSCSCCSCCSCSSCCSCCSSCCSCSSCCCSSSCCCCSCCSSSSCSCSCCCSCCSSSSSSSSSSCCCSSSCSSCSCSSSSCCCSSSSSCSCCSCSCCCCCSSCCCSSCCCCCSCSSCCSCSCCCSCSSCCSCCSCSCCSCSSSCSSCCSCSCSSSSCSCSSSSSCSSSCSSCCSSCSSCSSSCCSCCSSSSCSSCSCSCCCSCSCCCSSCCSCCCCCSSSSSCSCSSCCCCCSSSCCSCSSCSSCCSCSSCSCSCSSSCCCSCCSCSCCSCCCCSSCCCSCSCCSSSCSCCSCSSCCCSSCCSSSSSCCCCCSCCSCSCCSCCCSSCSSSCCSCSSSCCCSCSSSSSSCSCSSSCSCCSSCSSSSSSSCCCCSSSSSCSSCCCCSSSSSSSCCCSCSCCSSCCSSCSSCCCCSCCSSSCCCSSSCCCCSCCCSSCSSCCSSSCCCSSCCCSCSCSCSCSSCCSSSSSCCSCSSCSSCSCCCCSSCCSCSCSSCCCCSCSCSCSSSCCCCSCCSSSCCCCSCSSCSSSSCCSSCSSCSCCCCSSSCCSCSSSCSCSCSSSSCSCSCCCCCCCSCSCSCCCSSCCCSSCSSCCSCCSSSCSSSSCCSSSSCSCSSCSCSSCSCCCCCSSCCCSCCSCCSCSCSSSSSSCCCCCSCSCCSSCCCSSCSCCSCSCCCSSSSSCSSCSCSCCSSCCCCSCSSSCSSCCSCSCSSCSCSCSSSSSCSCCSCCCCSCCCCSCSCSSSSCSCCCCSSCCSCCCCSCSCSSCSCSSSSCCSCSCCSSSCSCSSCSSCCSCCSCCCSCSSSSCSCSSCSCCSCSSSCSSCSSSSSSSCSCSCSCSSCSSSCCSCCCSCSCSSSCSCSCSSCCSSSSCSCSCSSCCSSCCCCCCCSCSSCCCCCSCCCCSCCCSSSSSSSSSCCCCSCSCCCCSSSCSSSSCCSSSCSSSSSCCCCSCSSCSSSSSSCSSCSCSSCSCCCCCSCSCCSCSSCSSCCSCCCCCCSSCCCCSSSSSSSCCCSCSSCCSSSSCCSCCSSSCCSSCCCCSCSSSCCSSCSSSCSSCCCSSSCCSSCCSCCSCCSCCSCCSCCCCCSCCCCSSCSCCSCSSSCSCSCSSCSSCSCSCSSCSSCCSSSSSCCSCCSCCCSSSCCSSSCCSCSSSCCSCCSSSCSSCSSSCSSCSCSCCCSSSCSSSSSCSSCCCCSCSSCCSCSSSSSSCCSCSCSCSCCCSCCSSSSSCSCCSSCCSSSCCCCCSCCSSCCSSSSSSCSCSCSSCSSCCCSSSCCSCSCCCSCSSSCCCCCCCSSCSSSSCCCSSCSSSSSSSCSCCCCCSSSCSCCSCCSSSSSSCSCCSCSSSCCSSCCCCCSCSSCSCCCSCSSSSSSSCCCCSSSCCCSCCSCCSSSSCCSCSSCCSCCSSSSCCCSCCCSSSSSSCSCSSSSCSSSCSCSCSSSCCCCCSSCCSCCSSCSSSSCCCSCCCCCCSCCSCSCSCCCSSCCSCCSSSCCCSCCSSSCCSSCSSCCCSSCSSCSCSCCSSCCCCSSSCCCCSSSSCCSCSSSSSCSSCSSSCSCSSSCSCSSCCSCSCCSSSCSCCSCSSSSSSSCSSCSCSSCSSSSCSSCSCCSCSSSSSSSCCCCSCSSSCCSSCCSSSSSSCSSCSSCCCSSSCSCSSCSSCSSSCCCSCSSCSCCCSSCCSSCCCCCCCCSCSCCSSSCSSCCCSCCCCSCSSCCCCSSSCSCCCCSSSCCSSCCCSSSSCSSCSCCCCSCCCCCSSCCSSCSCCSCSCSSSCSSSSSCCCSCCCCCSSSSCCSCSSCCCCSCCSCCCSCSCSCCSSCCSCCSSCSCCSSSCSCSSCSCSSSCCSSCSSCSCSCSSCCCSCSSSSCCCSCSSSCCCCSCCSCSCCCSCSSCCSSCCCCSCCSCSSCCSCCSCSCCSCCSCSCCCCSSSCSSCSSCSCCSCCCCCSCCSSCSSCSCSCCSSCCSSCCSSCSCCSCSSCSCSCSSSSCSSSSCCSCCCCCCSCCCCSCCSSSCCSCCSSSSCSSCCSSSCCCCSSCSSCSCCSSCCCSSSCCSCSCSSCCSCCSSCCCSSCSSCSCCCSCSSCCCSCSCCCCCCSSCSCSSCCSCSCSCSSCSSSSSCSSCSCCSSSSCCCCCSSSSSSCSSSCSSCCSSSCCSCSSSCSSCCCSSCCCCCSSCCSCCSCSSCCCCCCSSSSCSSSSSCCSCSCSCSSSCCSCCCCCSSCSCCSCSCCSSSSCSSCSSSSSSCSCSSSCCCCCCSSCCCSCCSSCSSSSSSCSCSSSSCCSCCCSCCSCCSSSSSSCCCSSCSCCCCCSCCSSSSCCSSSSCCSCSCCSCCCCCSCCCCCCSCSCCCSCCSSCSSCSCCSCSSSSSCSSCCCSCSCCSSSSSCSSSCCSCCCSSCCCCSCSCCSSCCSSCSCSCCCCCCCSCCCCSSCSCSSSCCSCSCCCSCSSSSSCSSSCCCCSSSCSSCCCSCCSCSCCCCSCSSSSCCCSCSSSSSSSSCSSCCSCCCSCSCCSCSSCSCCCSSCSSCSCSCSCSSSCCCSCCSCCSSCCSSSCSCCCSSCCCSCCSCCCSCCCSSSCSSSCSSCCSSCSCSCCCSCCCSSSCCSSCCCSSSCSCCSSCSSSCSSCSCSSSCCSSSSCSSCSSSSCCCCSCCCSSSSSCCSCSSSSSCCCSSCSSCCSCSSCCCCSSSCSCCCSSSSSCCCSSCSCCCSSCSSSSCSCSSCCSCSSCSCSSSSSCSSCCCCCCCSCCSCCSCSCCCCSCSCSSCSCSCCCSCCCCSSCSSSCCCSSSSSSSSSCSCSSCCSCCCSSSCSCSCSSSCSSCCSCSSCSSCSCSSCSSSSSSCCSSSSSSSCSSCSCSSCSSSSCCSCSSCCSCCCSSSSCSSSSCSCCCSSCSSSCCCCSSSSSSSSCSCCCSSCSSSCSSCSCCSSCSSSCSSSCCCSSSSSCCSCCCSSSSCSSCCSSSCSSSCCSCSSCCCSCSSSCCSCCCCSCCSSSSSSCSSCCSCCSSCSSSCCSSCSCSCCSCCCCCCCSCCSSSCCCCCSCSSSCCCSCCCSCSCSCCSCCSCCCSCCCCSSSSCSSCSCSSCCSCSCSCCSSSCSSCCSSSSCCSSCCSSCCCSSCCSSCSSCCCCCSCCSCCCCCCCSCSCCCSCCSSSCSSSCCCCSCCSSCCSCSSSSCCSSCSSSSCCSSCSCSCSCCSSCCCCCCCCCSCCSCSCCCCCCCSSCSCSCCCCSSSCCSCCCSSSCSCSCSCSSSSSSCSCCCSSSSSSSCCSSCCCCCCCCCCSCCCCSCSSSCCSCSSSCCSCSCCCSSCSSCSSCCSSCSSSCCSCCSSCSSSCCSCCCSSSSCCSSCCSCCCSCCCSSSSCSCCCCSSSCCSCCCSSCCCSCSCCCCSSSSCSSSCCCCSCCCCCCSCCSSCSCSSSSCSSSSSSCSSCCCCCCCSSSCCCSSSCSSCCSCCSCSCSSSSSCCCCSSSCSSSSCCCCCSSCSCCSCSSSSCSSCSCSSCCSCCCCCCCCCCSCSCCSSCSSCCSCCSSCSSSSCCCCCCSCCCSCSSSSSCSSSSSSCSCSSSSCCSCCCCSSSSSSSCSSSSSCCCCCCSCSSSSCCCSSCCSSSSSCCSCCCSCSSSSCCCCSCCSSCSSSSCCSSCSSCCCSSSSCCSSSCSCCCSCSSCCSSSCSSSCCCSCCSCCSSCCSCCCSSCSSSCCCCCCCSCCCSCCSSCSSCCSCCCCSSSSCCCCCCSCCSSCSCSCSSSSCSCCSSSSSCCCCSSSSCSSCSCSCCCCCSCSCSSSCCCCCSSSSCCSSSCSSSSSCCSCSSSSCSSSSCSCSSCSSCCSSSCCCSCSCSCSCSCCSSCCSCCSSSSSCSCCCCSSCCCSSCSSCCCSCSSSSCCCCSCCSSCSCSSCSSSSSSCCSCSSCSSCCSCSCSSCSSCCCSSSSSCCCSSSSCCCSCCCCSSCSSSSCSCCSSCSSSSCSSCCSCCSSCSSCSCCCCSCSSSSSCCSCSCSCSSCCSCSCCCSSSCCCCCSSCCSCSSCSSSSCSCSSCSCSCCSCSCCCSSCCCCSSCCCCSSSSSSCCCSCSCSSSSCCCCSCSSSSSSSSSSCSSSCSCSCSCCCSSCCSSCSCCCSSCSCCSCCSCSSCCCCSCSSSSCCSSSSCCSSSCCCCCSCCCSSSCSSSSSSCCSCCSSSSCSCSCSSCSCCSCCSSCSSSCCSCCSCSCSCCCSCSCCSSSSCCSCCCSCSCCSSSSSSCCSSSSSCCCSCCSCSCSSSSCSSSSSCSCCSCSSSCSCCSCSSSCCSSCSCSCCSCSSCSSSCCCSCSSSCSCSSSSSCCCCSSCSSCCCCCCCCCSSSCCCSCSCSSCCSCSSSSCCSCCCCCSCSCSCSSCCSSCSSSSSCCCCSCSSCCCSCSCCCSSCSSCCCCSSCSSSCCCSCCSSSCCSSSCSSCSCSCCCSCSCCCSSCCSCSSSSSSSCSSCSSCCCCCCCSSCSCSCCCSSSSSSCSCCCCCSSCSCSCCSCSSCCSCCSSCSSSCCCCSCCSCSCCCSSCCCCCCSSCSCCSCSCCSSCSCCCSCSSCSSCCSSCSSCSCCSCCSSCSSCCSCCSCCSCCCCSCSSCSSSCSSCSSCCCCCCCSSCSSCSSCSCCCCCCCCCSCSSCCCSSCCSCSCSSCCSSCCCCCCCSSCSSSCCCSCCSSCCCSSCCCSCSCSCCCCSCSCCCSCSCCSSCSCSCSSSSSSSCSCCSSCSCCSSCCCCSCCSSSSSCCCCSCCSSCSCSCCCSSCSCSCCCCSCCCCCSSSCCCSSSCCCCCCSSSSCSCCSSCSCCCCCSCSCCCSCSSSSSCSCSSSSCSCSSSSCCCCSCSSSSCSCSCCSSSSSSSSCSSCSSCCSCCSSCSCSCSSCCCCCCCCSSCSSSSCCCCSCSCSCSCSCSSCCCCSCSCCCSSSSSSCSCSSCCCCCSSCCSSCCSCSSSSCSSSCCCCSSCSCCSSCSSCCSSSSSSSSSCSCSSSSSCCSSCSCSSSCSCSCCSSSCCSCSSCSCSCCCSCCCSCSSSSCCCCCCCSCSCSSCCSCCCCSCSSSSSSCSSCSSCCSCSSSSSSSSCCSCSCCSSCCCCSSSCSSSCCCCCCCCCCSSCCSCCCSCSSSCSCCSCCCCSCCCSSCCSCSSCCCCCSSSSSSCSSSSCCSCSSSCSSCSSCCCSSCSSSCSCSSSSCSSCSCSCSSCSCCSSSCSSSSSCSSCSCSCCCSCCSCCSCSSCCCSCSSSSCCCCCSSCSSCSCCCCCSSSSSCCCCSSCSSSCSSCCCSCCCSSCSCSCSSCSSSCCSCCCCSSSSCSCCCCSSSCCSSSCSSSCSCCCCSCCCSCSCSCSSSSSSSCSCCSCSCCSCCSCSCCSCSSCSCCSSSSSSSCSSCCSCSSSSCSCCCSCSSSCSSCCCCSCCSCSCCCCSCSCSSCCSCSSSCSSCSCSSSCSSSCCCSCSCCCSSCSSCSCCCSSSSSCSCCSSSCCSSSSSSSSSCCCSCSCSSSCCCSSSSCSSCCCSSCCSSCSCCCSSCCSCSSSSSCSSSSCSSSCCCCSCCSSCSSSSCCSCSSCCSCCCSSCSCCSCCCCSCCSSSCSCCSCSSCSCCCCCSSCSCCSCSSSCSCSCCCCSSSSSSSCCSCCSCCSCCSSCCCSCSCSSCCSCCSSCSCSSCSCCCSCCSCCSCCSCCCCCCSSCSSSCSCCSCCSCCCCSSCCCSCCCCCCSSCSSCCCSCCSSSCSSCSCSCSSCCSCCCSCSSSSCSSCCCSCCCCSCCCSCSSCSSCSSSCSCCSCSCSCCCSSSCSSSCSSSCCSCSSSCSSCCSSSCSCSSCCSCCSCSSCSCSCSSSCSCSSSCSCCSSSCCSSCSSCSCSSSSCSCSSSCSCCCSSCSCCSSSCSCSCCCCSCSCCSCSCSSCCSSSSCSCSCCSSCSSSSSSCCCSSSSSSSSSCCSCCSCSCCSCCCSSCSSCSCCCCCSSCSCSCSCCCSCCCSCSCSSSCCSSCCSCCCCSSCCCSSCSSSCSCCCSCSSCCCSSCSSCSCCSSSSSCSCCSSSCCSSCCSSCCSCCSCCSSSCCSSCSCSCCCCSSCCSSCCCCCCSSSSCCSSSCCSSSCCCSCSCCCSSCSSCSSSSSSSSSSCSSSCSSCCCCSSCSSSSSSSCCCCCSCCSCSCSCSSCSSSSSCCCCCSSCSSCCCCCCSSCSCSCCCSSSSCCSSCCCCCSSCSCCCCSCSSSSSSCSCSSCSCSSSCSCSSSCCCCCCSSSCSSSSCCCSCCSSSCSCCCSCSSCCCCCCCCCCCCCSCSCSCCSSSSSCSCCSCSSCCSSSCCCSCSCCCCSSCSCSCSSSSSSSCCCSSCSSSSSSCSSCCCCSSSCCSSSCSCCCSCCSCCCSSSSSCSCSSCSSCCCCCCSCCCSCCSSCCSSCCCCCCSSSCSCSCCSSSCSSCSSCCSSSSSCSCSSCSSSSSCSSCSCCCSSCCCSSSSCSSCSCCCCSCCCCSCCCCSCSCSSCCSCSCCCCCSCSCSCCCCSSSSCSCSSCSSSSCCCSSSSSCSSCSSCCCSSCCCCCCSCCSCSSCSCCCCCSSCCCCCSCSSSCCSSCCSCSCSCSCCSCCCSCSSCSCCSCSCSCCSSCCSCSCCSCCSCCCCSSCSCSCSSCSSCCSCSCCCCCSCCSCSSSCSSCCSCCSCCCCSCSSSCSSSCCCSCSSSSSCCCSSSCCCCSSSSCCSCCSSCCCSSSCSCSSSSSCSCCCSSSSSCSSCSCSCCCSSSSCCCSSCSCSCCCCCSCSCCSSCCSCCCSCSSSSSSCSCSCCCSCSSCSSCCCSCSSSCSCCCCCSSSCSCSSCSCCCSCCSCCSCCSCCSCCSCSSCCSCCSCCSSCSCSCCCCSCCCCCSCCSSCCCSCCCSCSCCSSCSSSSSCCSSCSSCCCCSCCCSCSSCCSSCSCCSSSSSCSCSCCCSSCCSSCCSSSSCSCCSSSSSCCSSCCCSCSCSSSCSSCCCSCCSCSCSSCCSCCSSCCSCSCSSCCCSCCCCSSSCCSCSSCSSCSSCSSCSCCCCSCSSCCSSCSSSSSCCSCSSSSCSCSCCSSCSCSCCSCSCCSSSCCCSSCSSSSCSCSCSCCSCCSCCSCSSSCSCSCSSSSCCSSCSCCSCCSCSCCSSCSCCSSCSSSCCSCCSSSCCSCCCSCCSSSSCCCSSSCCCCCSSCCSCSSSSCCSSSSSCSSCSSSCCCSCSCCSSCSCSSSSSSCSCCCSSCCSSSSSCSSCCSSSSSCCSCSCCSCCCSSSCSSCCSCSCSSCCSCSSCCSSCSCCCSCCSSCCSSCSSCSSCSCSSSSSSSCSCCSSCCCSCSCCCCCSSCSSSCCSSSCSSSSSSSSCCCSSCCSSSSSSCSCSSCCCCCSSSCCSCCSSSCCCSCSSCSSSCSCSCSSSCCSCCSCSSCCSCSCCSCCSSCSSSCSSSCSSSSCSCSCCCCSCSSCCSCCCSCSCSSCSSSCCCSSCSSSSCCCSSSCSSCCCSSSCCCSSCCCCSSSCSSCCSCCCCSCSSCCCSSCSCCCCSCCSCCCSCCSSSCSCSCSSSCSSSSCSCCCSSSSCSSSCSCSCCCCSCSCCCCCCSCSSCSCSSSSSSSCCCSCCSCSCCCSSSCSSCSCCSCCCSSSSCCCSSCCCCCSCCCSCSSCSSSCSSSCSSCSSCCSSSCSCSSSSCCCSSCSCSSCCCSSCCSSSSCCSCSCCCSCSSCSCCCSSCSSSCCSCSCSSCSSCSSSCSCCSSSCCCSSSSSCSSSCCSSCSSSCCSSCCSCSCSCCSSSSSSSSSSCSCSSCCCSCSSSSCSCSSSCSSCSCCCCCCCCCCSSSCSCCCCCSSSCSCCSSSSSSCSSSSCCSCSSCCSCCSCSSCCCSCCCCSCSCCSSSSCSSSSSCCSCSSSCSSCCCSSSSSCSSCSSSSSCCSSCSCCSCCSSSCSSSCCCSSCCSCSSCSSSCCCSCSSCSSCCCSSCCSCSSCSSSSCCSCCSSCSCSSCCSCCCCCCCSCSSCSCCCSCCCSCCSCSSSCCSCCCSSSSSCCSSSCSCCSCSSCCSSCCSCCCSSCCSSCCSCCCCCSCSCSSSSCCCCCSSSCCCCSSSCSCCSCCCSCCCSCSSCSCSCCCCCCSCCSSCSSSSSCSSSSCSSCCCSCCSCCCSSSSCSSCSCCSSCSCSCSCSSCSSSCSCCSSSCCSCSCCSSSCSSSCCSSCCSSSCSCSSSCSCSCCSCCCSCSSCSCCCSSCCCSCCSCSSSSSSCCSSCCSSCSCSCSSSSCSCSSSSCCSSCCCSCCCSSSCCSSSCCSCCSSSCCSCCSSSSCCCCCSCSCSSCSCSSCCCCCSSSSSCCSSCSCCSCCSCSSCSSCCSSSSCCCCCSSCSCSSCCCSSCCCCSCCCCSSSSSCSSSCSCCCCSCSSCCSCCSSSSCCCCSCCCSCCCCCSSSCCCSCCSCCCCCSSSSCSCCCSSCCCSSCSSSCSCCCCCCSSCCSCCCSCCSCCSCCSCCSCCCCCCCCCCCCCCSSSCSSSCCSSSCSSCCCSSSCSSSCCSSCCSCSCCSSCSSCSCSSCSCSCCSCCCSSCCCSSSSCCSCSSSSCSSCCSCCSCSCCSSSSSCSSCCSSSCSSCSSCSCSCSCCSSCCSCCSCSCSSCCCSCCCCSCSSCSSSCCCSCCCCCSSCCSSSCCSCCSSCCCSSSSSCSCCSSCCCCCCCSSSSSCSSSSCSCCCCSSCSCSCCSSCSCCCSCCCSCSSSSSSCSCSCSSSSSCSCCSSCCCCSCSCSSCSCCCCSSCSSSSSCCSSSSCCSSSSCSCSSSSCSCSSSSSCCCCCSCSSCSSSSSCSCCCCCSSSSCCSCCCSSCCCCSSCSCSCSCCSSCSCSCCCSSSCCCSSCSCSSSCCCCSCCSSCSCSCSCSCSCCCSCSSCSSSCSSCCSCCSCCCCCSSCSSCCSCCCCSCCSSSSCSSSCSSSCCSCSCSSCSSSSSSCCSSSSCSSSSCCCSSCSSCCCSSSSSSSSCCCCCSCCSSCCCSCSCCCSCCCCSSSSCSSSSSCCSSCSCCCSSCCSCCSSCCSCCCCSCCCSCCSSCSSSCCSSSCCSCCCSSSSCSCCCCCSCSSSSCSSCCSSSCCCSCCSCCCCSCCSCCSSSSSCCSSSCSSCSSCSSSSCCSSSSSSSSSSSSSSCCSCSSSSSSSCSSSCCSCSSCSCSSCSCSCCSCSSCCCCCCSCSCSSCCSCCSSSSCCSSSCCCSCSCSSSSSCCSCCSCSCCCCSSSSCSSSSCSCSCSCCCCSCSCCCCSCCCSSSSSCSCSCSCSSCCCCCCSSSSSSSSSSSSSCCCCCCCCSSCCSSCCCSSCCCCSCSCSCSSCSCCCCSCSSSCSSCSSCCSCSSSSSCSSSSCSSSCSSSSSCSCSCCCSSSCSSCCCSSCCSCCCCSCCCCCSCSSCSCCCSCCCCCCSCSSCCSSSSSSSCSCCCSSSSSCSCSSCSSSSSCCCSSSSCCCCCCCCCSCSCCCSCCCCSSCCSSSSCSCCCCSSCCSSCCSSSSSCCCCCSSCSSCSCCCSCCSCSCCSCSCCCSCCSCCSCCCCSCSCSSCSSSCSSCSSCSSCCSSCSCSSCSCSSSSCSSCSCSCSCCSCSSCSSSCSSSCSSCCSSCCSSCCSCSCCCSSCCCCSCCSCCCSSCSCSCCSSSSSSCCCSCSCCCCCSCSSSSCCSSSSCCSSSCCCSSSSCSCCSCSSSSCCCSSSSSCSCSCSCSCCCSSCSSCSCCSCCSSSCSSCSSSSSCSSSSSSCCSCSCCSSSSSCSCSCSSSSCSSSSCSSCCSSCCCSSSCSCCSSSSCSCCCSSCSSCCSSSCCCSCSSSSSCCSCCSCSSSSSSCSSCCSSSCCSCCSCCSCSCSCCSSSCCCCSSCSCSCSSSCCCSSSCSSSSSCCCSCCSCCCSCCCCCSCCCSCSCSSCSSCSCCCCCSSSCCCSSCSSSSCCSCSSSSCSCCSSSSCCCSCCSSSSCCSCSCSCSSSSSCCCCSSSSCSCCSCCCSCSSCSCSSCCCSCSCSCCSSCSSSCCSSSCSCSCCSSSSCCCSCCCCCCCSCCSCSCSCSCCSCCCCCSCCCCSCSSSCSSSCCSSCCCCCCCCCCSSCSCSSCSCCCSSSCCCCCSCCSCCCSSSSCSSSSSCSSSCCSSSCSCSCCSCCSCCSCSSCCCCSCCCCSSSCSSCCSSCCCSCCCCCCCSCCSCCSCSSCSSSCSSSCSCSSSSSSCCSCCCSSSSCCSCCSSCCSCCSCSSCSCSSSCCCCCCSCSSCSCCCCSSSCCSSCCSCCCSSSSCCSSSCSCCCSCCCCCSCCSCCCCSSSSSCSSCCSCCCSCSCSSSSSSSCCCSCSCSSCCSSSCCCSSSCCCCSCCCSSSSCSSSCCCCSSCSCSCCSSSCSSCSCCCCCCCSSSSCSCSCSSSCCCCCSCCSSCCCCSSCCCCSSSCSSSSSSSCCSSCCSSCSCCCSCCSCCCCCSSSSCSCCCCSSSCCSSCCCSCCCSSCCCCSSSSSSCSSCCSCCSSSCCCSSCSCCSSSCCCSSCSSCCSSCSSSCCSSSSSSSSSSCSCCCSSCSCSSSCCSSCCCSCCSSCSCCSSSCCSSCCCCSSSCCCSCCSSCCSSCCCSCSCSSSCCCCCSCCSSCSCSSSCSCCSSSSSSSSCCCCCSCSCSSSCSSCSSSSSSSSCCCCSSSSSSSCSCCSCCCSSSCSSCCCCCSCCSCCCCCCSSCSCCCSSCCCCSSCSCCSCSSCSSSCCCCCSCCSSCCCSSSSSSSSSSCSCCSSSCSCSCSSSSCCSCSSCCCSSCSSSCCSSCCCCSCCSCCCCSCCSSSCSSCSCCCCSCSCCSCSCSCCCCSSCCSSSSCSCSSSCCCCCCCCCCSSSCSCSCCCCCSSSCCCSCSSCSCCSSCSCCSSSCSCSCSCCCCSSCSSCCCSCSSSSCCSSSSCSSCCSCCSCSCSCSCCCSSSSCCCCSSCSCSSCCSCSCCSCCSCSCCCCSCSSCCSCCCSSCSCCCCCSCCSCCCCCSCSSCSSCSSCSSCSSSCCCSSSCCSCCCCCSSCCSSCCSCSSCCSCCSSSCSSSCCSSSSSCSCSSCSCSSCCSSCSCCCSSCCCSCCCSSSCSCSCSCCSSSSSSSCSCSSCCCSSSSCSCSSCSSSSSSCSSCSSSCSCSCCCSCSSSCCCCSCSCCSCSSCCSSCCSCCSSCCSCSCSSCCSCSSCCCCSCSSCCCCCCSSSCSCSSSSCCCCSCSCSSSSSSCSCCSSCSCSSSSSCCSSCSCSCCSCSCCCCCSSCCCCSCSCSSSCSSCSSSSCSCSCCSSCCSCCCSCCCCSSSCSCCCSCCCSSCSCSSSCCCCSCCSCSSSCCCCSSSSSSSCSCCCCCSCSCCSSCSCCCSCSCCSCSSSSSSCCCSSCCSCCSCSCCCSCSCCSCSCCSCCCSSSCSSCCSSCCCSSCCSSSCSCCCSSSCSSSSCSSSCSCCCCSCCCSSSCCCSCCCCCCCSSCSCCSSSCSCCSSCCSCCSSSCCSSSCSCCCSCCSCCSCCSCCCCSCCSSCCSSCSCCCCCSSSCCSSCCSCCCSSSSCSSCSSSCSSSCCSSCCSSCCSSSCSCSCCSSCCCCSSCSSCCCSCCSCSCSSSCCSCCCCCCSCSSSCSSCSCSCCSCCCCSCCCCSSCSCCSCCCSCCSCCSCCCSCSSSCCCCCSCSCCCSSCSSSCSSSSCSCCCSCSSSSCCCCSSSSSSSCCSSSSCSSSSSCCSSSSCCCCSCCSCCSCSCSCCSCCSCCSCSCSSCSSSSCCSCCSCSSCCSSCCCSCSCSCCSCSCSSSSCCSCCCCSCSCSSSCSCCSSCSSSCSSCSSCCCSCCCCCCCCCCCSCCCCSSCCCCCSSSSCCSSCCSSCCCCCCCCCCCCSSSSSSSCSCCSSCCCCSSCCSSCSSSCSCCCSCSSSSSCSCCCCSCSCSSSSSSSSSCSCSSCCSSCCSSSCSCCCSCCCCCSCCCSSCSSCSSSCCCSSSSSSSSSSCSCCSCSCSCSCSCCSSCSSCSCSSSSCSCSCCSCCCCCSSCSCCSSCCSSCCSCCSCCSSSSSSSSSSCCSCSCSSCSCCSCCCSSCCSCCSCCCCCCSSCCCSCSSCCCSSSSCSCCCCSSCCCSCCSSCCCSCSCSSCCSSSCSSSCCCSCSSSCSCSCCSCCCSSCSSCCCSSCCSCCCCCSCSSCSCSCCCSCCCCSCCSCSCSCSCCCCSSSCSSCCCCCSSCCCCCCCSSCCCCSCSSSCSSCSSCSCSCCSCCSSSSSCCSSCSSSCSCCCSSSCSSSSSSSCCCCCSCSCCCSSCSCSSSCSCSCCCCSCSSCSSSCCCSSCCSSCSCCSSSSCSCSCSSSSCSSCCCCCCCSCSCSSCCSSCSCCCCSSCCCCCCCCCCCSSSCCSCSCCSCSCCSSSCCSCCCSSCSSSSCSCSSCSCCSSSSSSSSCCSSCSSCCSCSCCSSCSSCCCCCSCCCSSCSSSCCSSSSSCSCSSCCSCSCSSCSCSSSSSCCSSSCSSCCSSCSSCCSSCSSSCCSCSCSSSCSSSCCSSSSCSSSCSSSCCSCCCCSCSCCCSSSSCSSCSSCSSCCSSSSSSCCCSSCSCSSCSCSCCCCSCSCCCCCCCSCCCCSCCSCSSCSSCCCSSCCCSCCSSCSSCSSCCCCSCSSCSSSSSCCCSCCSSSCCCCSCCCSCCSCCCCCCSSSSCSCCSCCCSSSCCCSCSSSCSCCSSCCCSSSSCCSCSSSSSSSCCSSCCCSCSCCCCCSCCSCCCSCCSCCSCSCSSSSSCCSSSSCSCCSSCCSCCSCCSSSCCSSCCSSSSSSSCSCSSSSCSCSSCSCCSCCCCSSCCCSSCCSSCSCSSCCSSSCCCCSSCSCCSSSCSCSSSSSSCSCSCSCSCSCCSSCCCCSCCCSSSCSCCSCCCCSSSCSSCCSCCCSCCCCCSCSSSSSCSSCSCCCCSCCSSSSCCSSCCCCSCCCCCSSCCSCCSSSCSCCCCCCCCCCCSCCCSSCSCSSSCSCSCCSSCCSSSCCCCSSSSSSCCSSCSCCCSSSSCSCCCSSCSCCCCSSSCSSCSCCSCSSSCSCCCSCSSCCCCSSCSSCSSCCCCSSSSSSCSSSCCCCCCSCCCCSSSSSSCSCSSCCCSSCCCSSSCSSSCSCCCCSCCCCCCSCSCSCCCSSCSSSCCCSSCCCSCSSSSSCSSSSCCCSCSCSCSSSSSCCSSSSSCCSCCCSSCCSSCSSSCSSSSSSSSSCSSSSSCCCSSSCCSCCSSCSSCCCCCCSCCSSCCSCCCSCCCSCCCCCSSCCCCSSCCCCCSSCSSSCSSSCSSCCSSSCCCSCSSCSSSSSSSSSSSCCSCCSCSSSCSCSCSSCSSCSCCCSCCCSSSSCSSSCCSCSSCCCCCSCSSCSSSSCSSCSCCCSSSSSSSCCCCSSSCSCCCSSCSCSSSCCCSCCCSSCCCCCCCCCSSSCCCCSCSCCSSSSSCSCSCCCCSCSSCSCSSSCCCCSSSSCCCSCCCCCSCCSSSSCSSCCCCCSCSCSSCCSSSSCCSCSSSCSCCCCSSSSCCCCSSCSSCSCCSSCCSCSCCSSSCSSSCSCCCCSSSSCCCCSCSSSSSSCSCSSCCSCCSSCSCCCSCCCCCSSCSCCCCCSSSSCSSCCCCSSSCSSSCCCSSSSCCCCSSSSSCCCCCSSSCSCSCSCCSCCSCCCCCSCSSSSCSCCSCSSSSSSCCSCSSCSSCSCSSSSSSSSSCSCSSSCSSSCCSSCSSCSCSSSSSSSCSCSSCSSSCSSCSCCCCSCSSSCSCCSSSSSCSCCCCSCSSSSSCSCCSSSSSCSSCCCCSCSSCSCCSCCCCCSSCCCSCCCCSSCCCCSSSSCSCSCCSCSCSSCCSCSCCSSSCSCCSSCCSCSCSSCSCCCCSCCCCCSCSSCCCCCSSCSCSCSCSSSCSCSSSSCSCCSSCCSCCCCSSCCSCCSCCSCSSSSSCSSSSSCCSCCSSCCSSSSSCCSCCCSCCCCCCCCSSCSCCCCSSCSSSCCCCSCCSCCSCCCSCCSSCCSSSSCCCSCSSSSSSSSCSSSCCCSCCCSSCSSSCSCSCCSSCCCCCSSCCSSCCCCCSSCSCCSCSSCSCSSSCCCCCSSSSSSSCSCCCSSCCSSSCSCCSSCCSSSSCSSCSCCSSSCSCSSCCCSCCSCCSCSSCCCCCCSSSCSSSCCCSCCCSSCCSCCSSCCSSCSCSCSCSSCCCCCCSCSSCCSCSCCSSSSCSCSCCSCCSCCCCCCCCCSSSSCCCSSSSCCCCSSCSCSSCSCSCSSSCCCSCSSCCSSSCCSCSCCCSCSCSCSSCCCSSCCCSCSCCCSCCCCSCCSCCCSSCSSSSCSSCCCSCSSSSCCSSCCSCSCSCCCSSSSSSCCSCSCSCSCSCSCSCCSCCCSSSCCSCCSSSSSSSSCCCCSSSSCCSCCSSCSCCSSSCCCSCSSSCCCSCCSSCCCSCCCSSSSSSCSCCCSCCCSCSSCSSCCCSCSCSCSSCSSSCSCCCCCCSSSCSCSCCCSSSCCSSSCCCSSSCSCCSCCSSSCSCSCCSCCCCSSCSCSCCCCCCCCCSCSCCSSCSSCCSSSSCCCSSSCCSCSSSSCSCCSCCCSSCCCSCCCCCSSCSSSCCCCSSCSCSCSCSSCSCCSCSCCCSCCCCCSCSCCCCCCSCSCSCSSCSSSCSSSSSSSCSSSCCSSSCSSCCCCCSCCCSSSCSSSCSSSSSCCSCSCSCSSSSSCSCSCCSCSCCCCSCSSSSSSCCCSCSSSCCCSSSCCCSSCSSCSSCCCSCSCSCCSCCSCSCSCSCCSSSCCSCSSCCCSSCCSSSCSSCSCSCCCSSSSSSSSSCCCSSSSSSSCCCSCCCCSSSCCCSSSSSCSSCCCCCCSCSCCSCCCSSSSCCSCSCCSSSCCCCSSSCCSSCCCCCSSCSSCCCCSSSCCCSSSSCCCSCSSCSCCSSCCCCCSSSCSSCSSSCCCCSSSCCSSSSCSCCSCSCSSCSSSCSCCCCSCCCCSSSSSSCSSSSSSSSCSCCCCSSCSCSSCSSSSSSSSCCSCCCSSCSCSSSSSCSCCCSSSCCSCCSCSCCSCCSCSSSSSCSSSSCSSCSSCSCCCSSCCSSCSSCSCCSSCCSSSCCSSSCCSSCSSSCCCSSCCCCCSSSCSCCCSSSSCSCSCCCCCSSCSSSCSSSCSCSCSCCCCCSCCSCSCSSCCCCSSSSCCSSSSCSCCSCSCCCCSCSCSCCSSCSCSCCCCSCCSSCCSCSCSCCCCSCSCSCCCSSCCCSCCCCCCSCSSSCSSSCSSCCSCSCCCSSSSCSCSCSSSCCCCCCSSCCSCCSSSCCCCCSCSSSSCSSCSCSCCCCCCCSSSSCCCCSCSSCCCSCCCCSSSSSSSSCCSSSCSSCSCSCSCCCCSCSSSSSSSSCCCSSCCSCCSCCSSCSSCCCCCSCCSSCSSSCCSCCSSCCCCCSCCCSCSSSSSSCSSSCCCSSCCCSCSCSCCCSCCSSSSSSSSSCSSSSSCSCCCSSCSSSSCCCSSCSCSSCCCCSCCCCSCCSSCCCCCSCCSSCSSCSCCSCSCSSSCCCSCCSSSCSSCSCCCCCCCCSSCCSSSSSSCCCCCSSSSCCCCCSCSSCSCSCCSCCSCSCSSSCSSCCSSSCCCSCCSCCCCCCCCCSCSCCSSSSCSSSCCCSCCSSSSCCCSCSSSSCSCSSCSCSCSSSSCSSSSSCSSCSCCSCCSSSSCSCSSSSCCSSCSCCSSSCCCSCCSCSCCSSSCSCSCCCSSCCSCSCCCCSCCSCCSSCSCCSSCCSCSCSSCSCCSSCSCSCSCSSCSCCSCSCCCSCSCCCCCSSCSCCCSSSSCSCCCSCSCSCCSSCSCCSSCSCSCSCCSCSCCCSSSCSSSCSCCSSSCCSCCCSCSCCCCCSSCSCSSSCCSSSCCSCSSCSSCSCCSSCCCSCCSSSSSSSSCSSSCCSCCSCSCCSSSCSSCSSSSCSCSSCSCCCSSCCCCSSCCCCSSCCCSCSCCCSCSCCSCSSSSSCCSCCSSCCCSCCSSCCSCCCSSCSCCCCSSSSCSSCSCSCSSCCCCSCSSCSCSSSSCCCSSCCSSCCCCSSSSCSCCSCSCCSCSCSCSCSSSCCCSCSSCCCCSCCSCCSSSCCCCSCCSSCCSCSCSSCSCCCCCSSSCSCCCCSCCCSCCCSSCSCSCSCSCCCSCCSSSCSSCCSCCCSSSCCCSCCSCSSCCCSSCCCSSSSSCCSSSCSSCSSCCCCSCSCCSSSSCSSCSSSCSSSCCCCSSCSSCCCCCCSCSSSCCSSSCSSSCSSSSSCSSSSSCCCSSSCSSSSCSSSSSSCSSCCSSCSSCSCCSSCSCSSCCSCSSSCSSCCSSCCSSSSCCSSSCCCSCSCCCSSSSSSCCSSSSSSSCSCCSCSSCCSCCSSSSCSCSSCSCCSCSSSCSSSSSSSCCSSCCSSSSCCCSCSCSSSSSCCSCSSSCSCCCSCCCSCCSCCCCCSSCCSCSCSCCSSCSSCSSCSCCSCCSCCSSSCSSSCSCSSSCCCSCSCSSCSSSSSSSCSSCCCCSSCSCSSCCCSSCCCSSCSSSSSCCSCCCCSCSSSCSSCCSSSSSSSSSCCCSSCSSCSSSSCCCSSCCSSSSSCSCSSSSCCCCCCSSCSSSCCSSCSSSCCCCSCCCCCSSSCCCCCCSSCCSSCSCCCSCSCSCCCCSSSCCSSCSCCCSSCCCCCCCSCSSCCSCCCSCSSCSCCSCSSSCSCCCCSCSSCCCCSSCSCCSSSSCSSCCCCSCCCSCSCCSSCSSCCSSCCSSCSCSCSCSSCSSCCSSCSCCCSSCSSCSCSCCSCCSCCCCCSSCSCCSSCCSCCSSSCSCSSCCCSSCCSSSSSCCCCSCSCCCCCSCCSSSCCCCSCCCCSSCCCCSSCCCCSSSCSCSSSCSSCCSCCCCSCSSSSSSCSSSCSSSCSSSCSCCCCCCSSCCCSCSCSSSSSCSSCSCCCCSSCSSSCSSCSCSSSCSSCCSSCCSSSCCSSCCCCSSSSCSSSSCCCSSSCCSCSSSSCSCCSSSCCSCSSSCSSSCCCCCCSSCCCCSCSSSSSCCCSCCCSCCSSCCSCSCSCSSSCSSSCSCSSSSSSSCSCCCSCSSCSSSSCSSSCCSSCSCSCSCCCSCCSCCSSSSCCSCCCSSSSCSSSCCSCSSSSSSCSSCCSSCSSCCSCCSSCCSCCSCSSCCSSCSCSSSCSCSCSCCCSSSCSCCSSSCCCSSCSSCCCSSCSCSCCCSSCCCSCCCSCSCSSSSSCSCSSCSCCCSSCCSSCSSSSSSCSCCSCSSCCCSSSSCSCSSSSSCSCSSCCCCCSSSCSCSSSSSSSCCCSSCCSSCSCCSCSCCSSCCSCSCCSCSSCSCSCCSCSSSCCCCCCSCSSCSSSCCCCSCCCCCCSSCSCSCSSSCSSSSSCCSSCSSSSCSCSSSSCSSCSCSSSSCCSSCSCSSSSSSCSCSCCSCSCCCCSSSCSCSSSSCSSCCCSCCCSSSCSSSCCCSCSCCSCSCCCCSSSCCSSCCSSCSCSSCSCCSSSCCCCCCCCCSCSCSSCSSCCSSCCCCCSSSCSCCCSCSCSSSCCSCSCSSCCCSSCCCCCSCCCCSSCSCCCCCCSCSSCSSSCCCCCCCCCCSSCCCSSCCCCCSCSCSSCSCSSSSSSSSSSSCCSCSCCSCSSSSCCCCSSCSCSSSCCSSCCCSCCCCSCCCCSCSCSCCSSSCSCCCCCSCCCCCSSCCSSSSSCSSCSSSSCCCSSCSCCSSCSSCCSCSSCSSCCCSSSSSSSSSCCSCSSSSSCSSCCSCCCCSSCCCCCSSSSCCSSCSCSSCCSSCCSSSSSSCSCCCCSCSCCCCCCCSSSCSCCSCSSCSSSCSSCSCCSCSCCSSSCCSCCCSCSSCCCCCCCCSCCSCSSCCSSSCCCCCSSSCCSSCCSSSSSCCSCCSSCSSSSCSSSSSSSSSCCSCCSCCSSSCSSCSCCSSCCSCSSCCSSSCCCCCCSCSCSCCSSSSCSSSCSCCSCCCSCCCCSCCCCCSSSCCSSCSCSCSCSSCSSSCCCSSSSCCSCSSSCSSCCCSSSSCSCCSSSCSCCCSSSCCCSCSCSSSSSCSSCSCCCCCSCSCCSSSCCCCSCCCCCCSCCCCCCSSCCCSSCCCCCSCCSSCCSSSSSCCCCSCCCSSSCSSSCCCSCSSCCSCCCCCSSSSCCSCCCSSCCCCCCCCCCCSCCSCCSSCCSCSCCCCCSCCSCSSSSCSSCSCCSSCCCSCCCSCCCCCSCCSCCCCCSCSCSCSCSSCCCCCSCSSSSCSCSCCSCCCCSSSCCCSCSSSSCSCSCSSCSCCSCCSSSCSCSCCCSCSCSCSCCCSCSSCSCCSSCSSSSSSCCSCCSSSSCSCCSSSSSSSSSSSCCSSCSSSCCSCCSCSSCCCSCCCCCSSCSCCSSCCCCSCCCSSCCSCCSSSSSSSCCCSCSCSSSCSSSSCCSSCSSCSCCCSSSSSCCCCCSCSSSSSCCCSCCSCSCSCSSCCCSSCCCCCCCCSCCSCCSSSCSCSSCCCCSCCCSSSCSCCSCCSSCCCCCSSSCSSSSCSCCSCSSSCSSSSCSSSCSSCSSSCCCCSSCCSCCSSSCCSSCCSCCCCSSCCCSCSSSSSCSSSCCSCSCCSCSCSCCCCSCCSCCSSCSSCCSSSCSSCCSSCCCSSSCCSSSCCSSSSCSSCCCSCCSCCSSSCCCSSSSCSSCSCCCCSSSCSSSCCCCSCSCCSCCSCSSCSSCSSSCSSCCCSSSSSSCCCCSCCCCCSSSSCCSCSCSCSCSSCCSCSSSSCCCSSSSSSCSSCCSCCCCSCSSCCCSSCCCCCSSCCSCCSSCSCSSCCCCSSCCSCCCSCSCCCSCSSSSCCCSCCSCCCSSCSCSSCCSSCCCCSSCSCCCSCSCSCSCSCCSCSSSSCSSSCCSSCSCCSCCCCCSSCSSSCCSCSSCCSCSSSCSCSCSSCCCCCSSCSSSCCSCSSSCCSSSCCSSCSCSSCSSSSSCSSSSCCSCSCSCSCSCSCSSSCCCSCSSSSCCSSCSSSSCCCCCCCSSSCCSCCCSCCSSSCCCCCSCSCCCSCSCCCCCSCCSCCSCSCSSSCSCSCCCCSCCSCCCSSSSCSCSSCSCCCSSCCCSCSCCSSSSCSSCSCCSSSCSSSSCSCSSSCSCSCSCCCSCCSSSSCCCSCSSCCSSSSCCSSSCCSSCSCCSSSCCCCCCSCSSSSSSCCCCSCCSSCCSCCCSSSSSSCSCCCSSSCSSSSSSSSCCCCSCSCCCCCCSCSSSSSCCCCSSSCSCSSCSCSCCSCSCCCSSCCCSCCCSSCCCCSSCSCCCSCSCSSCCSSSSCSCCSCCCCSSCCSSCSSSSCCCCSCCSCSCSSCSSCCCSSCSCCCCSSSSCSCSSSCCSSCCCCSCCSCCSSCSCSSCCCCSCSCSSSCSCSSSSCSSCCSCSCSCSCCCSSSCCCCSCCCCSSCSSCCCCCCSSCCCSSSSCSCSSSCSCSSSSCCCCSSSCCSCSCCSCSSSSSCSSSCCCCCSSSCCCCCCSCCSCCCCSCSSSCSSSSSSSCCSCSCCCSSSSSCCSCCSSSCSSSCCSCCCSCSSSSSSSCSCCSSSCSSCCSSSCSSCSCSSSSCCCCSCSCCSCCSSSCSCSCCCCSCSSCCCSSCCSSSCCSCCCCCCSSCCCSSSCCSSSCCCCSCCSSSCSSCSCSCCCCCCSCSCSSSSSSCSSCCCCSSCSCSSCSCSCSSSSCSCSSSSSCSSCCSSSSCCCCSSSSCSCCCCSSSCSSCSSSCSCSCSCCCCCSCSCSSCCCCSCCSCCCSSSSSSSCSCCSSCSCCCSCSCCCCCSCCCCSCSSCCSSSCSSCSCCSCCSSCCCSCSCSCCCSSSSSCCSSSCSCCSSSCSCCCSSCCCSCCSSCSCCSCSCSCCCSSCCSCSCCSSCSSSSSCCSCCSCSCSSCCSCSCSSSSCCSSSCCCCCCSCCSCCSSSCCCSSCCCCCCCCCSCCSSCCCSCSSSSSCCCSSSSCCSSSCCSCSCCCCCSCSCSSCSCCSSSSCSSSCSCCSCCCSSCSSCSSCCCSCSCSCCCCSCCCSSSSSCCCCSCSSCSSSCSSSSSCCSCCSSCCSSSSCSCSCSCSSCSSSCCSSSSSCSCCCCSSSCSSSSSSSSSSSCCCCCCCSCSSCSCCSCCCCSSCCCCSSCSSCCCCSCSCCCSSCCCSSCSSCSSSCCCSSSCCSCCCSSCCCSSSCCCCSSSSCCSSCCSSCCCCCSSCSCSCCCSSCCCSCCSSCCCSSSCCSCCCCCCCCSSSSCCSSCSCSSCSSCSCSCSSCCCCCSSCSCCSSSSSCCCSSCCSCSSSSSCSSSSCSCCSSSCSCSSCCCCSSCCSSCCCCCCCCSCCCSSCCCSCCCCCCSSSCCCSSSCSCSSCCSSCCSSCSSCCCSSSCCSSSCCCSCSSCSSSSCCCSCSCCCSCSCCCSCCCSSCCCSSCCCCCCCSSSSCSSSSSSCCCSCSCCCSSCCCSCCSSSSSCSCSSSCCSCCSSCCCCCSSSSCCCCSCSCSSCCSCSCSSSSCCSCCSCCCCSCCSCSCCSSSCCCCSSSSSCCCSSCSCSCCCCSSCSSCCCSSSSCCCSCSCSCCCSSCCSSSCSSCCCCCCCSSSCCCCCCCSSSSSSCCCSSCCCCSSCCSCSSCSSCCCSSSSCCCSSCCCCCSCSCSCSSSSCCCSSSSSCSCCCSCSCSSCCCSCSSCCSSSCSCSSSSSCSSCSSSCCSSCSSSSSSCSCSSSCSCSSSSCCCCCCCCSSCSSSSCCSCCSSSSSCCSCSCSCSSSSCSCCCSSSCCSSSCCCSSSCCSSCSCSSCSSSCCCSCSCCCCCSCSCSSCCSCCSSSCCSSSCSSCCSSSCCSSSCCCCSCCCCCCCSSCSCCSSSSSCSCCCCCCSSSSSSCSSCSSSCCCSCCCCCCCCCCSCSCSCSSSCSSSCSCSCCSSSSSCCSCCSSCCCSCSCSCSCCSCCCSCCCCCSSSCCSSSCCCSSCCSSCSSCCSCCSCSSCCCSSCSSCCSSCSSCSSCCSSSCSSSSSCCSSSCSCCSCSCSCSSSSSCSSSCCCSCCSSCSSCSCSCCCCCSCSCSCSSCCCSSCCSCSCCCSCCCSCCCCCSSSSSCCSSCCSSSSCSCSSSCCCCCCSSSSSSSSCSCSSSSSSCCSCCSSCSCCSCCSCSCSCCCCCCCCSCSCSCCCCCCSCSCSCCSCSSCSSSCCCSSSCSSSCSSCCCCSCCCSCSCSSSCCCSSSCSCSCSCSSSCSCSCSSCSCSCSCSCCSSCCCSSCSSCCSSCCSCSCCCCCCCCSCCCCSCCCSSSCCSSSSSSCCSSCCSSSCCSCCSSSSSCCCCCCSSCSCSCSSCCCSCCCCCSCCSCSCSSSCCCCCCSCCSCSCSSSSCCSSCSSCSSCSCCCSCSSCCCCCSSCCSCSCCCCCCCCCCCCSCCSSSCCCCSCCSCCCCCSSCSSCCSSSCSCSSCCCCSCCCSCCSSCSCSCCCSSSSSSSCCSCSCSSSCCSCSCCSCSCSSSCSSCSSCSCSCSSSCSSSSCCCCCSCSCSSCSCSCSCCSCSSSCSSSCCSCCCSCCCCCSSSSSSCSCCCSSSSCCCCCSCCSSCSSCSCSSSSCCSSSSSSCCCCSCSCCSSCCCSCCSCSSCSCSSCSCSSSCCCSSCSCSCCCSSCSCSSCCSSCCSSSCCSSCCSCCSCCCSCSCCSCCCSSCCSSSCCSSCCSCCSSSSSCSSSCCSCSCCCCSCSCSSSCSCSCCCSSCCCSCSCCSSCSCSCSCSCSCCSSCCSCCCCSSSCSCSSCSSCSCCCSCCSSSCSSCCSCSSCCSCCSCSSCSCSCCCCCSSCCCSSSSCCSCCSSCSCSCCSSSCCSCSSSCSCCSCCSCSCCSCCCCSSSCCCCSCCSCCSCCSSSCCSSCCCSCSCSCCCCCSSSCCCCSSCSCSCSSSCSCSCCCCCCCCCCSCSCCSSSCSSCSSSSCCSSCCSCSCCCCSSSCSCSCCSSCSSCCCSSCCSSCCCCCSSSCCCSCSSSCSSSCCSSCCCSSSSSSCCSSSCSCCSSCCCSSCSCSCCCSSSCCSSCCSCCSSCCCSSSSSSSSCSCSCSSCSCCSCCCSCCCSSSCCCCSSSSCSCSCCCSCSSSSCSCCSCCCCCCSSSSSSCSCSSSCSSCCCSSCCCSCCSSCCCSCSSCCCCCSCSSCSSSCSSSSSCSSSSSSCSCCCSSSSCSSCSCSSCSSSCCSCCCCSSSCCCCCCSCCSCSSSCSCSSSSCSCCSSCSCCCSCSSCSSCCSCSSCCSSSCSSSSSCCSCCSCSSSCSSSCSCCSSSSSSSSCCSSSCSCCSCSSSCCSSCCSCSCCCSCCCCCSCSCCCSSSCSCCCSCSSCCSSSSCCSSSSSCCSCCCSSSCCSSCSSSSCSCCSSCCCSSSSCSSSSCCSSSSSSCCCSCSCSSSSSCCSCCCCSCSSSSCSCCCCCSSSSSCSCCSCCSCSSSSSCCSCCCCCSCCSCSSCSSCSSSSSCCCCCSSSSCSSSCCSCCSSCCSCCSSSCSSCCSCCCCSCCSSCCSSSSCCSCCCSSSCCCCCSCSCSSSSCCCSCSSCCCSSCSCCCCCSSCSSSSCSSSSCSCCCCCCCSSCSSSCCCCSCCSSCSSCCCSSCSSCCCCCCSSSSSSCSSCCCCCCSSCSSSSSCSSCCSSCCSCSSSSSSCSSSSSSCSCCSCCCSCCSSCCSSSSCSSCCCCSCSCSSSCSSCCSSSSSCSSSSSSSSCCSSSCSCCSSCCCCCCSSSCCSCSSCCCCSCCCSCCSCCSCSSSSCCCCSSSSCCCCCCCCSCCCCCCSSCSCCCCCSSSCSCCCCSCSSCSCCCCSSCSCSSCSCSSSSCCSCSSSCSSSSCSCSCSCSSCSSCSSCSCCSSSSCCSCSCCCSCSSSCSSCSCSSCSSCSSSCCCCSCCSSCCCSSSCCSSSSCCCSCSSCSCCCSSCCSCSCSCSSSCSCCCSSSCCCSCCCSSSCSCCCSCSSSCCSSCSSSCCCCCCSSSCSCCCSCCSSCCCCSCCSCCSSCCSCCSSSCCCCCSSCSCSSSSSCSSCSCCCSCCSSSSCCSCSSCCSSCSSCSSCSCCCSSSCSSCCCSSSSCSCSSSCSCCCCCCCCCCSCCCSCSCSCSCSCCSCCSCSCCCCCCSCSCCSSSSCSCCSSSCSSCCSSCSCSSSSCCSSSCSCSSCCSCSSSSSCSCCCSSSCSSCCCCSCSCSSCCSCCCSSCSCSSSSCSCCSSSSCSCCSSCCSSSCSSSSSCSSSCSCCCCSCSSCCSSCSSCCSSSCSCCCCSCSSCCCCSCCSCSCCSCSCSSCSSSCCSCSSSSCCCCCCSCCCSSCCCSSSSCCCSSSCCCSSCCCCSCCSCSSSSCSSSSCCSSCCSCSCSSSCCSSCSSCSSSCSSCSSSSCSSCCCCSCCSCSCSSCCCSSSCSCCSCCSCCCSSSCCCCSCSCCCCSSSCSCCSCSCSCCCSCSSSSCCCCSSSSCCCCCCCSSCSCSSSSSSCCCSCCSCCSSSSCSSSSSCSSSCSCCCCCCSSSCSCSSCCSSCSSCSCCSCCCSSCSSSCCSSCSSCCCCSCSSSCSSCSSCSSCCSSCSSSCSSCSSSSSSCSSCCCSCCCSCCCSSCCSCSSCCSCCSCSSSCCCCSCSSCCSCCSCSSSSSSSSSCSSSCSCCSSCCCSCCSSCSSSCCSCSCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
