301302
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSBBBCBCCCCBCBBCCCBCCBCCBCBCBCBBBBBBCBBCBBBCBCCBCCCBBBBCCBCBBCCBCBCCBCBCBBBBCBBBBCCCCCCBBCCBCBBBCCBCBBBBCCBBCBCBBCBBBBBCCCCBCBBBBCCBCCCBBCBBBCCCCBBCCCCBBCCCCCBCCBCBCBCBCBBBCCBBBBCBCBCCBCBCBCCCBCCCBBBCCBCCCCCCCCBCCCBCBCBCCCBCCCCCCCBCCCCCCBCCBCCCCBBBBBCCBCCCCCBBCCBCCBBBCCCBBCBBBBCBCCCBBCCCCBBCBCCCBCCBCBBBCCBBCBBBCBCCBCCBBBCCCCBCBBCCCCCCBBBBBCBBBCCBBCCBCCCBCBBBBBBCBCCCBCCCCBCCCCBCBBBBCCBCBBCCBCCBCBBBCBBCBBCCCBCCCBBBBCCCCCBBBBCCCBBCBCBCBCCCCCCCCBCCBBBCBCBBBCBCCCBCBBCBCBCBCCCCCBBCCBCBBBBCBBCBBBCCBCCCBBCBBCCBBCCBBCCBCCBCCCBCCBCBCCBBBBBBCBCBBCBBBCBCCCCCCBBBCCBCCCBBBBBBCCCCCCCBCBCCCCBBCCCCCBCCCBBBCBBBBBCBBCCCCBBBCBCCCBBCBCCCBCBBCCBBCBCBBBCBCBCBBBBCCCBCBBBCCBBCBBBBCCBBCCCCBBCBCBBCCCCCBCBBCCBBCBCBCCCBCCCCCBCBCBCCBCBBBBCCCCCBBCBCCBCBCBBCBCCCCBBBBBCBBCBBBCCBCCBCCCCCCCCBCBCCCBBCBCCBBCCBCCCCBBCCBBBBCCBBBBBBCCBBCBCCCCCBBCCCBCCCCBBBBBBCCBBCCBCCCCCBBBCCBCCBBCBBBCCCBBBCBCBBBCCBCCBBBBCCBBCBBBBCBBCBCCBBBCCBCBCCBCCCBBCCCCCCBCBBBBCCBCCBBBCCBCBBBBBBCCCBBBBCCBCBBBBBBCBBBBBBBCCBBCCCCCBBCBBBBBBBBCBCBBBCBBBBBCBCBBCBBBBBBCBBBCCCBBCCBBCCCBCCCCBCBCBBBCBCCCBBBCBCBBCBBCCCBBBBCCBCBCCCCCCCCBBBCBCBBBBBCBCCBBCCBBCCBCCCCBBBBCCBBBBBBCBBBBCCCCCCBCBCCBBBBBBBBBCCCCBBBBCCCBBCBBCCBBBCBBBCCCCCBBBBBCCCBBCBCCCBBBBBCCBBCBCCBBBBCCBBCBBBBCCCBBBBCCCCCCBCBCCCBCBCCCCBCBCCBCBBBCBCBBBBBBCCCCBCCBBCBBCBCCBBCCBBCCBBBBBBCBBBBBBBCCBCBCCBBCCCBBCBBCBBBCBBCBBBBCBCCBCCCBCCCCCBCCCCCBBBBCBBCCCBCBBCCCCCBCBBCBCBCBCBCBCCBBBCBCCCBBCBCCCCCCBBCBCBCBCBCBBBCCBBBBBCBCCBBCCCBBCCBBBCCCBCCCCBCCCCBCBBCCCCBBCCCBBBCBBBBBBBBCCCBBCCBCBCBBBBCCBBBBBBBCCCCCBBCCBCCCBBBBBBCCCCCBBBBBCCCBBCBCBCBCBBCCCCBBBBBCCCCCBBBBCCBBBBBBCCCCBCBBCCCBCCCBBCBBBBCBBCBBCBCCBBCCCBBCBCCCBCBBBBCBBCBCBBBCCBBBBCBCBCBCCBBBBCBBCBBBBBBBBBCCBBBCCBBBCCBBBBBBBBBBBCBCBBCCCBBBBBCBCBBBCBBCCBBBCCBBBBBCCCBCBCCCCCCCBBCCBBCCBCBBCCCBCSCCCCBCCCCCBBCBBBBCBBCBBBBBCCCCBBCCCCBBBBCCCCCCBCCBCBCCCCBBBBBCBBCCBCBCBCCCBBBCBBCBCBCCCCBBBCCCBCBCBBCBCBCBCCCBBCCCBCBCBBBCBBBCCBCBCCCCBBBBBBBBBCBBCBCBCBCCCBCBCBCCCBBBCBBBBCCBBCBBBBCBCCBCBBBBCBCBBBBCBBBBBCCBBBBBBBBBBBBCCCCBCCCBBCBCBBCCBBCCBCCBBCBCCBCCBBBCBBBCBCCCBCCBBCCCBCCBCBBCBBCCBBBCBCBBBCBBBCBBBCBCBBBCBCCCCCBCCCCBCCBBBBBBCBCCBBCBCBCCBBCBBCBCBBBCCCCCBCBCCBCBBBCCCCBBCCCBBBBBCBCBBBCBCBBBBCCBCBBCCCBCBCCBCCCCBBCBCBCCCCCBCBCCCCCBCBBCCBBCCBCBBCCCCCBBBBBCBBCBBCBBBCBBBBCCCCCCCBCBCCBBCBCBBCCCBCBBCCCCCCCBBCBBCCCCCCBCCBCCCBBCCBCCBCBBBBCCBBBCCCBCBCCCCBBCBBCCCBBCCCBBBBBBBBBBBCCBBCCCCCBBBCCBBCCCCBCCCCBBBBCBCCBCCBBCBCBBCBBCCBBCCBBBBCBCCCCBCBBBCBBCBBCCCCBCBBCBBCCBBCBCCCBBCCBBBBBCCBBCCBBBCBBCBBBCBCCBCBCBBCBBBBCBBCCBBCCBCBCBBCBBCBBCCCBBBCBBCCCBBCCBCCBCCCCBBCCBCBCBCCBBCCBCCBCBBCBBBBBCCCCBBCCBCCCBCCBCBBCCCBBCCBCCBBBCBCCBBBBBBCBCBCCBCCBCCCBCBBCBCCBCCCCCBBCCCBCBBBCCCCBCCCCBBCCCBCBBCCBCBBBBBBCCBBCCBCBCBBCCCBCBBBBBBCBCBBCCBCCCBBBBBBBCCCBBCBCBBBBBCBBCCCBBCBBBCCBCBBBCBCCBBBBCCBBCCCBCCBCBCCBBBBBBBCCBBBBBBBBCCBCCBBBCCBBCBCCBCCCCCCCBCCBBBCBCCBBCBCCBCBBCCBCCCBBCCCCBBBCBCCBCCCCCBBCCCBBBBBCCBBCBCCBCBBCBCBCCBCCBCBBCBCBCBCBBCCCBBBCBBBCCBBCCCCBCCBBCCBCBBCBBBCBBBBBBBCBCCCCCCCBCBCBBCCBBBBBCCCCCCBBCCBCBCBCBCBCCBBBBBCCCBCBBCCCBCBCBCBBCBBBCCBBBBBBCBBCCBBBCCCBCBCCCBBCCCBBCCBBCBBBBBBBCCBBBCBCCCBBBBCCCCCCBCBCBBCBBBCBBBCCBBCBBCBBBCCCCBCBBCCCBBBCCBCBBBCBCBBCBCBCCCCCBBBBBCCCBBBBBBBBCCBBCBCBCCBBBBBBBCCCBBCBCCBBCBBCCCCBCBCBCCBCBCCBCCCBCCBCBCBBBCBCCBCCBBBBBBCCCCBBBCCCCCBBCCBCCCBBCCBCBBBCBCCBCCCBSBCBCBCCCBCBCCBCBCBCCBCBBCCBBBCBCBCCBCBCCCBBCBBCCBBBBCBCCBBBCBCBBCCBBBBBBCCBCBBBCBCCBCBCBCCCBBBCBCCBCBCCBCBBCCCCCBBBCBBBBBBCCBBCBBCCCBCBBBCBCCBBCCBCCBBCCCCCBBCBCCBCCBCBBCBBCCBBBCCCCBCCCCCCCBCCCCBCCBCCBCCBBBBBCBCCCCBCCBBBBCBBBCBBBCBCBBBCCCCBBCBCCBBBBBCBBCCCBCCBCCBBBBCCBCBCBCCCBCCBBBBBCBBCBBCBBCCBBBCBBCBBCBBBBBBBBCCCCBCCCCCCCCCBBCCBCBCBCCCCBBBCCCCCBCCCBCBCCCCCBBCCCBBCBCCCBBBBBCBBBCCCBBCBCBBCBCBBCBBCBBCCBBBCCCBCCBCBBCCBCBCCCBBCBBBBCCCBCBBBCCBBCBBBBCBBBBBBBBCBCCCBBBCCCBBCCCBCCCBCCCCBCCCBCCBCCCBCCBCCBCCBCCBBCBCBCCBCBBBCBBCCCCCBCBBBBCCCCCBCBCCCCBCBBCCBCCCCBCCCCCCBBBCBBBCCBBCCCCBCCBBBCBCBBCCCCBCCBCCCBCCCBBBBBCCBCCBBBBBBBBBBCBCCBBCBBCBBBCCCBCCBCCCBCBBBBBCBCCBCCBCBCBCCBCBBCCCCBBCBCCCBCCBCBBBCBCCCCBCCBCBBCBBCCBBCCCBBBBBCBCCBCBCBCCCCCCCCBBCBBBCCCCBBCBBCCCBBBCBBBCBCCCBCBCBBCCBBCBBCCCCBCCCBCCBCBCCBCCCCBBBBBBBBBBCBCCBCCCBBBBCCCCCCBCBCBCBCCCBBBCCBCBBBCCBBCBCBBBBCBBCCBBCBBBBBCBCBBCBCBBBBCBCCBCCCCCBCBBCCCBBBCCBBCBCBCBBBCCBBCBCBBBBBCCCBCCCBBCCBCCCBCCBCCCBCCCBBCBCBCCBCBCCCCBBCCCBBCCCBCBCBBCBBBCCCBCCCBBBBCBBCCCCCBCCCCBCCCBCBBBBCBBCCBBCCBCCBCBBBCCBBBCCCCCBCBBBBBBCCCBCBBBBBCCCBCCCBBCBCCCCBCCCCCCCCCCCBCBCBBCBBCCBCBCBCCCCCBBBCCCBBCCBCCCBBBBCCCBCCBCBCCCCCCCBCBCCBBCBBCBCCCBCBBBCCCBBBBCCCBBBCCCCBCBCCCCBCBCBCBBBBCBBBBCCCCBCCBBBBCBCBCBBCCBBCBBBCCBBCCCCBCCCBBBBCBBBBCCBCBBCBBCBBBCCCBBCBCBCBCCBCBBBBCCBBBBBBCCCCBCCBCBBCCBCCCCCBBCBBBBCBCCCBBCBBBBBBCCCCBCCBBCBCCBBBCCBCBBCBBCCCBBCCCBBCCCCBBCBBBBCCCBBBCCCCCCBBBBCCCCCBBBBCBCBCCCCBBCCBCBBCBBCCBBBCCBCCBCBBCBCCCBCBBBBBCCBBCBBCCBCBBBCCBBBCBCCCCCBBBBCBBCCCBCBCBCBCCBCBBBCCBBBCBBBBBCBBCBCBCCBCBCBBBCCBBBCCBBCBBCCBBBCBBBBBBBCCBBBCBCCCCCCCCCBBCBBBBCCCCBBBCBBCBCCBBCBCCCBCBBCBBBCBBBCCCBBCBBBCBBCBCBBCBCCCCBBCCCCCCCBBCCCCCBBBCBBBCBCBBBCCBCCBCBCCCBCCCBBBCCBCCBBCBCBCBBBBCCCCCCCBBCBBBBCBCCBCBCCCCBBBCBBCCCBCBBCBCBCBBCBCCCBBCCCCBCBBBBBBBCCBBCCCCCBCBBCCBCBBBCCCBBCCCCBCBBCBCCBCBBCBCBBBCBBBBBCBBCBBCCBCBBBBCCCCCBCBBBCBCBBCBBCCBCBCBCBBBCBCCBCBCCBCCCSBCBBBBBCCCCCCBCCCBBCCCCCCBCCCCBBCCBCCBBCCBBCCBBCBCBCCBCCBCBCBCBBCCCBCBCCBCCCBBCBCBBCCBCCCBCBCBCBBBCCBBBCBCBBBCCBBBBBCBBCBBBBCCBBBCBCBBBBCBBBCBCCBBCBBCCBCBBBBCCBCBCCCBCCCCCCBCCCBCBBCBCCBBBCBBBCCBCBBBBBBCBBBBBCCBBCCCBCCBCCBCCCCBCBCCCCBBBCCBCBCCCCCCCCBBBCCCBCCBBCCCBBCCCBCCCCCBBBCBBCBCCBBCCCCCBCBBBCBBCCBCCCBCCCCBCBBBCBBBCCBBBBBBBCBBCCCCCBBBBBCBBBBBBBCCCBBBCBCCCBBCBCCBCBBCBBCBBCBBBCCBCCCCCBCBBCCBBCBBBBCCBCBBCCCBBBCCCCBBBBBCBBBBBCCCBCBCBCBCBBBBBBBCCCBBBCBCBCCBBCCBCBCBCBBCCBBCBBCBCCBBCCBCCCCCCBCCBCCBCBBBCCBBBCCBCBCBCCBBBCCBCCCBBBBCBCCCBBBBBCCCBBBCBBBBBCBBBBBCBBCBBBBCBBBCCBCBBCBCBBBCCBBCBCCCBBCBBBCCCBCBBCBBBBBCCBBCBCCBBBBBCCBBBBBCCCCBCCBBCBCBCBCBBCBBBBCCCCBBBCCBBBBBCCCCCBBBBCBBBBBCBBBCBCCBCCCBCBCCBBCCCCBBBCBBCBBCBCBBCCCCBBCCCBCBBCBCCBCBCBBBBCCCCBCCBCCCBCBBCBBCBBBCCCCCCBBBBCBCCCCBCCCCBBCCBCCBBCBBCBCBBBBBCCBCBCCCBBCCBBCBCCBCBCCCBBBCBCBBBBBCBCCBCBBBBCBBBBCCCBBBCCBBBCBBBCCBCCCBCBCBCCCCBCBBBBCBBBBBCBBBCBCCBCBBBCCCBBBBBBCBCCBCBBBCCCCCBBBCBBCCBCCBCBBCBCBBCBBBCBBBCBBCBBBBBCCCCBBCCBBBCBCCBBBCCBBCBBBCCBBCBBCCBCCBBCBCCBCBBBBCCBCCBBBCCCCBCBCBCCBCCCCBCBCCBBCBBCBBCCCCBCBCBBCBBBCCBBCCBBBBBCBCBCBCBCBBCCBBBBCBCBCBCCCCBCCBCBCBCBBBCCCBBBCCCBBCCCBBBBCCCCBBCCBBBCCBBCBBBCCBCCCCCBCCBCBCBBBCCBBCCBCCBCBCBBCCCCBCCBBBBBBBBCBCBBCCBBCBBCCCCBCCBCBBBCCCBBBBBCCBCCBBCBCBBBCCBCCBBCBCBCCCBBBBBCBCBBBBBBBCCBBBBBBCCBBBCCBBBCBCCBBCBCCBCBBCCBCCBBCBCCCCCCCBCBCBCBCCBBCBBBCBCCCBCCCBCCCBBCCCCBBCCBCCBCCBCBBBCBCCBCBBBCCCBCBBBCBBBBCCBCBBCCCBBCBCCCBCBCBBCCCCCBCCCCCBBCCBCBCCCBCCCCBBCBBCBBBBCCBCBBBBCCBBCBBCCBBCCCCCCCBBBBCCBCBBCCBBBBBCCBBBBCBBCBBBBCCCBBCBBBCBCBBBBCBCCCCCBCBBCBCCBCCBCBBCBBCBCCCCCCCCCCBCBBBBBBBBBCBCBBBBBCBCCCBCBBCBCCBBBBBBBBBCBCCBBBCBCCBCBCCCCCBBCBBCCBCCBCCBCCCBBCBBCBBBBCCBBCCBBCBCBCBCBCCBBBBCCCCBBBBCBBCBCBBCBBCBCCBBCCBCCCBBCBBCCBCBCBBBCCBCBCBCBCCCBBBCBBBBCBBBBBBBCCBBBBBCBBCBBBCBCCCBCBCBBCCCCCBBCCCBCBBCBCCBCCCBCBBBBCBCBCBCCBCCBCCBBBBCBCBCBCCBCCCBCCCCCBCCCBCBCCBCBCBBCCCCBCBCCCBCCBCCCCCBBBBBBBCCCCBBCCCCBCCBSBBCBCCBCBBBCCBCCBBBCBBBCCCBBBBBCCCBCBBCBCBCCBBBBBBBBBCBCBBBBCCBBBCBCBBBBCBBCCCCCBCCCBCCBCBBCBCBBCBCBBBCCCCCBCCBCCCBCCBBBBBCCBCCCBCCCBBCCBCBBBBBBBBCBCBCCBBCBBCCBCBCBBBBBCCCBBCCBCCBCBCBCBBCBBBCBCBCCCBCBBCCCBCCBBCBCBBBCBBBBBBBCBCBBCCBCBBCCBBBCCBCCBBCBCCBBCCCCCBBBBBBBCCCBBCCCCCCBCBCBBCBBBBCBBCBBBCCCCCCBBCBBCBCCBBBBCCBCBCBBBCCCCBCCCBBCBCBCCCBBCCCBCCCBCBBCCCCBCCBBBBCCBBCCBCCBCBBCCBCCBCCCBCBCCBCBBCCCBBCBBBBCBCCBBBBCBBCBBBCCCCCBCCBCBBBBBBCCCBBBBCCCBBBBCBCBCBBBBCCBCCCBBBBBBBCCCBBCBCBCCBCCBBCBBCBBCBCCCBCBBCCCCCCBCCCCBCCCCBCCBCBCBBCCCBBCCBBCCCBCCCCCBCBCBBBBBCBCBBBCCCBBCCCCBCCBCBBCBCBCBBCBCCCBCBCCBBCBCCBCCCBCBBCCBCCBBCCBBBCCBCCCBCBBCBCCCBCCBCBCCCCCBBCBCBCCBCBCCBCCBCBCBCCBBBCCBCCBCBCBCBCBCCBCBCBCCBCBBBCCBCBBCCCCBBCBCCCCBBBBBBCBCCCCBCBBCBCBBCCCBBBCBBCCCCBCCCBCCBBBBBBBCCBBBBBCBCCBCBBCBCBBCCCBCBCCCBCBBCBBCBBBBBBBCCCBBCCBCCCCBCCCBCCCCBBCBBCBBBCCBBBBBCBCCCCCCCBCBBBBCCBBBBCBCCBCBBCBBBCBCBCBCBBCBCBBCCBCBCCCCBCBBCBCBBCBBBCCBCBCCBBBBCBCCBCCCCCBBBBCCBCCBBBCBCCBCCBCBBCCBBBCCCCBCCCBBBCBBCCCCBCCCBBBCCCBBBCBCCCBCBCBCCBBCCCCBCCCCBCBCCBCBCBCCBBCBBBCBCCBCBCBBCCBBCBBBCBBCCBBCCBCBCCCCCCBCBBBCCBBCCCBBBCBCBCCCBCCBBBBCBCCBBBCCBCCCCBCCBBBBCCBCCBCBCBCCCCBBCCBCCBCCCCCCCBBCBBCBCBCBBCCCBBBBBCCCCCBCBBBCBBCBBBCCBCCCCBBCCBCBCCBCBBBBCCCCCCBCCCCCBBCBCBBBBBBBCCBCBBCCCCCCBCBCBCCBCBCCBBBCCCCBBBCCCBBBCBCBCCCCCCCCBBCCBBCCCCCCBCCCCBBBCBCCBBBCCCBCCCBBBCBCCCBBBBCBCBCBBCBCBBCCBBBBBCBBCBBBBBCCBBCBBBCCBBCCCCCCBCBBBBBCBCCBBCBCBCCCBBCCBBCBCBCCBCCBCCCCBCBBBBCCCCCBCBCBCCCBBCCCCCBBCBCCBBCBCCBBBBCBBCCCCCCCBCBBBBCBCBBCBCCCBCBCBBCBBCBCCBCBBCBCBBBCCCBBBCCBBBBCCBBBBCCCBCBCBBCCCCCCBBBBCBBBBBBBCBBCBBCBBBBBBCBCBBCCBBCBCCCCCCBCBCCBBCCCCBCCCBCCCBBBCCBCCCCBCCCBBCBCBBCCCCSBCCCCBBBBBCCCCBBCBBCBCBBBBBCBCCCCCBBBCCCBBBCCBCBCCBBBCBBBBCBCCCCCCCCBBBCBCBCBBBBBBBCBCBBCBCCBBBCCCBCBCBBCCBBCBBBBBCBBCBBBCBCBBCBCBBCBCBBCBBCCCBBCBCCCBCBCCCBCBCCCBBBBCCCBCBBCCCBBCBCBBCCCCBBBCCCCCBCBBBBCBCBCCBCBCBCCBBBBCCCBBCBBCCCCBCBCCCBCBBBBCBBBCCCCBCBCCBCCCBCCCCBBCBCBCCBBCCCBCCBBCBBCBCBBBCCCCBCBBCBBBCCCCBCBCBBCBBBCBBBBBBBBCBBCCCCBBCCCCCBBBCBBBCBBCBBCCBBBCCBBCCCBCBBCCBCBCBCBCBCCBCBBCBCBCBCBCCCBCCBBBBCBBCBCBCCBBCBBCCCBCBBCBCCBCCBBCBCBBCBCBCBCCBBCCCCBCBBCBBBBBCCCBCCBCBBCCCCBBBCBBBCCCCBCCBBCCCBBBCCBBBBBBBCCBCCBCCCCCBCCBBBBCBBCBCBBBCBCBCBCCCBBCBCBCBCCBCCCCBBCCBCBBBBBBBCBBBBBCBBCCCBCCCBBBBCBCBBCBCBBBCCBCCBBBBBBBBBBBBCBBCCCCCCCCBCBBBCBBCBBBCCCBBCCBBCCCBBBCBCBCCBCCBBBBBBBCBCBCCBBBCCBBBCBBBBBCBCBCCBBBCBBCBCCCBBBCBCBCCCBCBCCCCCBBCCBBBBCBBCCCBCBCBCBBBBCBBCBBCBCBBCCBCCCBCBBBBCCBCCCCBCCCBBCCCCBBBCCBBBBCBBCBBBBBBCCCCBBBCBCCBBCBCBBCCCBCBBCCBBBBBCCCCCBCCBBBBBCCBBBCBBCCCBBBBBBBCCCBCCBCBBBBCCCCCBBBBCBCBCCBBCBBCCCCBCBCCCBCBCBCBBCBBCCCCCBBCBCCBCBBBCBCCCBBBBBCCBBCCCCBBCCBBCCBBCCCCCBCBBCBBCCCCBCCBCBBBBBCCCBBCBCCBBCCBBBBBBCCBCCBCBBBCCCBCCBCBBCBBCCCCCBCBCBBCBCCBBCBCBBCBCBCBBBCCBCBBBCCCBBBBCCBBBBBBCBBCBCBCBBCBBCCBBCBBCBBCBCCBBBCCCCCBCCBCCCBCBBCBBCCBBCBCBCBBCBBCBBCCBCBCBBCBCBCBBCCBBBCBCBBCCCCCBBBBBCBCBBBCCCBBBCCCCCBBCCBBCBCCBBBCCCCBCBBCBCBBCCCCBCCBBCCCCBCBCBBBBBCCCCCCCBCBCBBCCBCCCBCBCCBBCCBBBBBBBBBBCBCBBCBCCCBCBBCCBCBCCCCBCCCCBCCCBCCBBCCCCBCBCBCCCCBCBBCBBBCBCBCBBBBBBBCBCBCCBCBCCBBCCCCBBCBCBCBCCBBCBBBCBBBBBBBBBCCBCBBBBCCBCBCBBBCBBBCBBBBBCBCCBBCCCBBBBBCCCCBCCCCBBBBCCCCBCBBBCCCCCBBBCCBBBBCBBBCBBBBCCCBCBCCBCBBCCCCBBCBCCBBCBCCBCBCBBBCBCBBCCCCBCBBBCCCCBBBBBBBCCCBCBBBBCCCCCCCBCCCBCCCCBBCCBBBCBBBBBCCCCCCCBCCBBBCCCBCCCCCCBBBBBCCBCBBBCCCCBBBCCCCBCBCBBBBCCBBBCCCCCCBCCBCBCBCCCCBBBCBCBBBCCBBBBCCBCBCBCBCBCCCCBCBBCBBBBBBCBBCCBCCCCCBCBBBCCCCCBBCCBBCBBBCCBBBCBBCBBCCBBBBCBCBCBCBCBCCCCCCCBBCBBCBBCBCBCCCBBBCCCCBCCBBBBCCCCCCBBCBBCCBBBBBBCBCBCCBCCBBBCCBBCBBCCCCBBCBCCCBBBCCCBBBCCBCBBCCCCCCCCCCBBCBBCBBBBCBCCBBBBBBCCCCCBBBBCBBCCCCCCCBBCCBCBBCBBBBCBBBCBCCCCCBCCCCBCBCCCBBCCBCBCBBBCBCBCBBBCBCCCBCCBCBCBBCCCBBCCCCBBCBBCBBCCBCBCBCBCCCCCBBBBBCCCBBBBBCCBBBBCBBCBCBCBCCBCBCBBCCCCCBCCCCCBCBCBCCCCBBCBCBCBBCCCBBCBCBCBCCBBBBBBCBBBBBBBCCBBCCCBCBCBBBBBBBBBCCCCCBCBCBBBCBBBCCCCCBCBBCBBBCBCCBBCBCCCCBBCBBCBBCBCBBCCCBBCCBBBCBCCCBCCBCBBCCBBCCCBBCBBBBBCCBBCCBCBBBCBCBCCCBCBCCCCCBBBCBBBBBBBCBBCBCBCBCCCCBBCBCCBBBBBBCBBCCCCCCBBCCCBCCCCBBCBBBCBBCCCBCBBBBBBCCBCBBCBBBBBBBCCCBCCBCCBBBBBBCCBBBBCCCBCBCBCBBCCCBCBCBCBBBBCCBBCBCCBCBCBBCCCCCBCBBBBCCCCCCCCBCCCBCBBCBCCBCCBBBBBCBBBCBBBCCBCCBBBBCCBBBBCCBBBCCCBBBCBCCCCCBCBCBBBCCBCBCBBBCBBCCCBBCCCCBCBCCCCBBBBCBCBBBCBCCBCBCCCCBCCBCCCBCCCBCBCBCBCCBBBCBCCBBCBBBCBBCCCCCBCCCBCCCBCCCCBCCCCBBCBCCCCCCBCCBBBCBBBBCBCCBBBCCBCBBBBBCCBBCBCCBBBBBCCCCBCBBCBCCCCBBBCBBCCBBBBBCBBCBBCCBCBCBBBBBCBBBBCCBCBCBBBCBBBCCCBCBBBBBCCBBCCBBCCBBCBBCBBBCBCCBBBBCCBBCCCBCBCCBBBCCBBBCCBBBBCCCBCCCBBCBCCBBBCBCBCBBCCBCCCBCBBBBBCCCBCCCBBCBBCBCCCBBBCBCBCCBCBCCCCCBCBCCCCCCBCCCBBCCBCCBCCCCBBCCBBCCCCBBBBCCCBBCBBCBCBCBCBCCBCBCCBBBCBBCBBBCCBCCBBBCBCBCCCCCCBBBBCBBCBCBCCCCBCCBCBBCCBBCBBCBBBCBCCCBBBBCCBCCBBBCBBCBCCBCBCBCBCCBCBBBBCCCBCBCBCBBBBBBCCBCCCBCCCBCCCCBBBBCBBBCBCCBBBBBCCBCBCBBBCCCBBCBBBBBCCBBCCBCBCCCCCCCCBCCBCBCCBCBBCCBBCCCCCBCBBCCBCBBCCBCCBBCBCBBBBCBBCBCCBBBBCCBCBBBBCCBBCBBBCBBBCBCBCCCBCBCCBBCCBBBCBCCBCBBBBBBCCCCBBBCCBCCBCBCBBCCBCCCCBBCBCCBBCCBBBBBCBCCBCCBCBCBBCBCBCCBBCBCCCCBBBBBCBBCBBCBBCBBCBBCBBCBBBBBCBBBBBBCBBCCBBBBBBCCBCBCCBBCCCBBCCCBCBCBBBBCCCBCCCCCCBCCBBCBCBBBBBBBCBCBCCBCBBCBBCCBCBCCCCCBCBBCBCBCBBBBBCBCCCBBCBBCBBCBCCBCBBBCBBCBBCCCCBCCCCBCCCCBBCCBBCCCCBBBCBBBBBBBCBBBBBCCCBCBCCBCBBCBBCCBCCCBCBCBBCBBBBBBBCBBBCBCBBBBBCCBBBBCBBBCBBBBCBCBBCCBCCBCCBBCCBBCBCCBCCBBCCBBCCBCBBCBCCCCBCCCCBCBBBCBCCBBCBBCCBCCCBBBBBBCCCBBCBBCCCBBBCCCCCBBCBBBBBBBCBBCBCBBBBCBCCBCCCBBCCBCBCCCCCCCCBBCCBBCCCBBBBBBCBBBCCBCBCCCCBBBCBBCCCCBBCCBCBCBBBCCCCCCBBCCBBCBBCBCCBCBCCBBCBCBCCBCCCCCCCBCCCCBCCBCBBBCCBCBBCCCCCCCBCBCBCBCCBBBCBCCCBBBBCBCCCCBCBCBBBCCBBBCCBCCCBBBCCBBBCBBCBCCBCBCBCCCCCCCBBCBCBCCCCBBBBBBCCCBBCCCCCCBBBCCBBCCCCCCCCBCCCCCCCBCCCBBCBBCBBCBCCCBCCBBCCCCBBBBCCCBCCBCBCBCBCBBBBBCBCCBBBBCCBCBCCBBBBCCBBBCBBCCCBCCBBBBCBCCCCBCBCBCCCCBCBBCCCCBCCCBBBCBCCBCCBBCBCCCBCBCBBCBBBBCBCBCCBBBCCBCBCBBBCCBCBBBCCBCBBCCBCCBBCCCBBBBCCCBBBBBCCCBBBBBBBCBCBBBBCCBCBCCBBCCBBBBCCCCBBBCBCBCBBCCBBBCCCBBBCCCBBCCBCCBCCBBBCCCBBBCCCCCCBCBCCCBBCCBCCBCCCBBBCBCBBCCCCCBBBCCCCBCCBBCCBCBBBCBBBCCBBBCCBBCCBBBCCBBCCCBCBCBCBCBCCBCCCCBCCCCBCBCBCBCCBBCBBBCBBCBBCBCBBCBBBBCCCCCBCBCCCCCCBCCCBBCCCBCBBBBCCBCCBBCCBBCCCBCBBCCCCCBBBBCCCBCBCCBBCBBBCCCCCCCBCCCBBBBCCCBCCBCBCBBCBCCBCBBCBBBCBBBBCBBBCCCBCBCBBCCCBBBBCBCBBCBCBBCCBCCCCCCCCCCBCCBBCCBCBCCCBCBCCCBCCBCCBCBBCBBCCCCCBBCCBCBBBCBCBCBBBBCBBBCCCBCBBCBBCCCBBBCBBCBBCBCCBCCCCBBCBCBBBBBBCBBBCCBBCBBBBBBBCCBCCBCBBBCCBBBCCBBBBBCCBBBBCCCCBBCBCBBBCCCBCCCBCCBCBCBBCBBBCCBBBCBCBBBCCCCBBBBBCCCCCCCBCCBCCBBBCBBCCBBCBBCBCBCCCCBCBCBBCBBCBCCBBCBBBCCBCCBCBBCCCCBCCCCBBBBCBCCBBCBBCBBBCBCBCBBCBCCBCBCBCCBBBBBBBCBBBBCCCCBBCBCCCBCBBCBBBCCBBBBCCCBBCCBBCBBBCCCBBBBBCBCCCCCBBCBBBCBCBCCCBCCBCCBCBCBBBBCCCBCBBBCCCBCBBCCCBCCBCBCCCBCBCBCBBCBBCCCBBCCBCBBBBBCCBBCCCCBCCCBCBCCBCBCCCBCCBCBBBBCBBCBBBBCBCCBCBBBBCBBCBBCBCBCBBBCCBCCBBBBBBCBBCCBBCBBCCBCCCBCBCBCCBCCCCBCBBCCCBCBBCBBCCBCBCBBBCBBBBCCCCBBCCCCBBCCBBCCCCCBCCCBCBBBCBCBCCBCCCBCBBBCCBBBCCCBBCBCCBBCBCBCBBCBBCCCCCBBCBCCCCBCCBBCBBCBBBCBCBBCCBBBBBBCCCCCBBCBCCCCBBBCBCCCCBBBCCBBBBCBCCCBBBCCBBCCCBBBBBBBCBCCBBCBCCCCCCCBCBBCBCBBBCBCBBBCCCCBBBBBBCCCBBCCBBCBBCCBCCBBBBBBBBBBCBBBCCCCBCCBCCBCCCCCBBBBBBCBCBCBCCCBBBBBCBBCCBCCCBBCBBBBBBBBBBBBCCCBCBCCCBCBBCCCCCBCCCCBCBBBBCCCCCBBCCBBCBCBCCCBBBBCBCBBCBBBCBCCCCCCCBCBCCCBBCBCCCBCBBCCCCBCCBBBCBCCBCCCBCCCCBBCCCCBBCBBCBCCCBCCCCBBBBCCBCBBCBCCCCCBBBBBCBCCCCBCBCCBBCCCCBCCCBBCCBCBBCBCBCCCBCBBBCBCBBCCBBCCBBCBBCBBCBCCBBBCBCBCBCCBCBCBCCCCBCCCCCBCCBCBBBBCCBBCBCBBBCCCBBCCBBBBBBBCBCCCCCBBBCCBBBBCCBBCCCCCCBBCBBBBCCCBCBBBCBCCBBBBCCBCCCCCCBBCBBCCCBBCCCBBCBBCBCCCCBCBBCCBBCCCBBCCBCCBCBBBBCCCBBCCBBBBCBBBCCBCCBCCCBCCBCBCBBCCBCCBCBCBCCCCBBBBBBBCBBBBCCBCCBBCBCBBBCCCBBBBCCBCCCCBCBCCBCCBBBBBCCBCBBCCBBCBCBBBCCBCCCBBCBBBBCCCBCCCCCCBBCCBCCCBBCCBBCCBCCBCCCBCBCBBBBCBBCBCCBBBCBBCBCCBBBCBBBBBCCCCCBBCCBBBBCCBBCBCBBBCBCCBBBBBBCBBBBBBBCCCBBCBBBCCBBCBCBBBCBBCCCBBBCBCBBCBCCCBCBBCCCCCBBCBCBCCCBCCBCCBBBCCBCCCCCCBBBCBBCBCBBBBCBCBBBBBCCCBBBBBCCBCBBBBCCBBBCCCCBCBCBBBBCBCCCCBCBCBBCBCCBCBBCCCBCBBCBBBBCCBBCCBBBBCBCCBBCCCCCBBBBCBCCBCCCCBBBBBBCBCBCCCCBBCCBCBCCBCCBCBBBCCCCCCBCCCBBBBBBBBCBCBCBBBCCCCBBBCCBBCBBCCBBCBBCCBCBBCBBBBBCBCCCBCBBCCBCBCBBBBCCCBCCCCBCCCCCCBCCCCBBCBCBCCCBCBCBBCCBBBCBBBBBBCBCCCCBBCBCCBBBCBCBCCBCBCCBBBBCBCBCCCBBCCCBCCBBBBBCBBBBBCBCBBCCBCCCBCBCBCCBCCCCCCBCBBCBBCBCBBCBBBCBBCBBBCBCBBCCBBBCCBCBCCBCBCBBCCCBCCCBBBBBCBCCCCBCCBBBCBCBBBBCCCCBCCBCBBCBCCBBCBBBBBCCCBCBBCBBCBCCCBBBCCCBCBCCBCCBCBCCBCBBCBCBBCCBCBCBBCCCCBCBBBBBCBCBCBCCBBBBCBCCCCBCCCBBCBBBCCBCSCCBCBBCCCBCCBBBBCBBBCCCBBCCCBBBBCCBBCBCCBCCCCBCCBBBBCBBBBCCCCBBSBBBCBCCCCCCCCBCCCBCBBCBCCBBCBCCCBBBCBCBBBBBBBBBCBCBBBCCCCBCBBBBCBCBCBBBBBBCCBBCBCCCCCCCCCBCCCCBBCCCBCCCBBBBBCBCCBCCBCCCCBBCBCCCCBCCCCCBCCCCBCCBCCCCCCBBBCCBBBBBBCBBBBCCBBCBCCCBCCCBCBBCBCBBCCCCBBBCCCBCBCCBCCCBBBBBCBCCBCCCBBBCBCCBBCCCBCCCCCCCBBCCCCBBCCBCCCBBCBBCCBCCCCCCCBCBBCBCCBBBBBCCBBCBBCCCBBCBCCCBBBCCBBCBCCCCCCCCBCBCBBBBCBCBCCBCBCBBCBBCCCCCBCCBBBBBCBBBCBCCCBBBCCBBCBBBBCBCCBBBCBCCBCCBCBBCBCCCCBCBBCCBBCCCCCBCBCBBCCCBBCCBBCBCCCCCCCCCCBCBCBBCBBCCBBBCCBCCCBCCCCCBCCBCCBBBCBBBBBCBBCCBCCBCBCCCBBBBBCCCCBCCCCCBCCBBCCBCBCBBCCCCCBCCBBBBBCBBCCBCCBCBBBBCCCCCCCBBBBCBBCCCCCCBBCCBCCCCCCCBBBBBCCBBCCBBBBBBCCBCBCBCCCCBCBCCBCCBBCBBCCBCBCBCBBBBCCBBBBCCBBBBCBCBBBCBCBBCCCCCCCCBCCCBCCBCCCCCBBBBCCCBBBBBBCCCBCBCBCBCCCCCBBBBBBCCBBCCBCCBCCCCBCBCCCBBBCBCBBCCBCBBCBBCBBBCBCBBBCBBCBBCCBBBCCBBBCBCBCBCCBCCCCBBCCBCCBBCBCBBCCBCBCCBBCBBCBBBCCBBBCBCCBBBBBBBBCCBCCCCCCBBCCCBBBCBCBCCBBBBCCCBCBBBCCCCBBCCCBCBCBCCCBBCCBBBCBCBBCCCBCCBBBBCBCBCCBCCCBBCBCBBCBCCBCBCCCCBBCBCBBBCCCBCBCBCBCBBBCBBCBBBBBBCBCBBCCCCBBCCCCCBCCCCBCCBBBBBBBBBCCCBCCCBBCCBCBBBCCCBBCBBCBBBCCCCCBCCBCCCBBCBCCCCCCBBCBCCCCCCCBBCBCCCCCBCCBCCBBCBCBCCCCBCCCCBBCCCCBCBBBBBCBBCCCBBBCBCBCCBCBCBBBBBBCCBBCCBCBCBBCCCBBBBBBBBBCCCCBBBBBCCCBBCBCBBCBCCCBBCBCCBCCCCCBCCBBCCCBBCBBCBCBCBCBBBBCBCCCCBBBCBCCCBCBCCBBBBBBCBBCCBBBBCCCBCBBBBCCCCCBBBCBCCBCBCBBBBCCBBCCBBCBBCBCCCCBCCCCCCCBCCCCCCBCCBBBCBCCCCBCBBCCCCBCCBCBCCCCCBBBBCBCCBCBBBBCBBBCCBBCBBBBCCBBCBBCCBCBCBBBBCCBCBCBBCBBCBBCCCBCCBCBCBBCBCCCCBCBCCCCCCCCBBCCBBCCCBBBCBCBCCCCCBBBCCBBCBCBBBCBCCBBBBCBCBBCBBCCBBBBCBBBCCBBCBCCCCCCBCCCBBBBCBCBBCCBCBBCBBCBCCCBBCCBCCCBCBCBBCCCBBCBBCBCBBCBBBBCBBCBBBBCCCCBBBCBBCBCBBBCBCCBCBBCCBCBBCBBCBCBBCCBBCCCCBCCCBCCCCBCBCBBBCBCBBBCBCCBBCCBCBCBBBBCBBCBBBBBBBCBCCBCBBCCCCBCBBBBCCCBBCCBBCCCBBCBBCBBCCBBBBCCCBCCBBCBCBBBBCBBCBCCCBBBBCCBBBCBCCBBBBCCBCCCCBCCCCCCBCCCCCCCCBCCBBCCCBBBBCBBCCBCBBBCBBCCBBCBCBCBBBCCCCBCCBBCBBBCBBBBBCBBBCBBBBBBCCBBCCBCCBCCBBBCCBBCCBBBBBCCBBCCCCCBCCCBBCBBCBCCBBBBBCCCCBBBCBBCCCCCCBBCBCBCBCCCBCCCCBCBCCBCCCBBCCCBBBBCCBBCCCBCBBCBCCCBBCBCBCCCCBBCBBBBBCCSCCBBCBCCCCCBCBCBBCCCBBBBCCBCCCBCCBBCBBBCBBBBCBBCBBBCCCBBBBBCCCCCBBCBCCCBCBCBCBBCCCBCCBCCBCBBBCCCBCBCCCBBCCCCBCCBCBCBCBCBCCCCCBCBCBCBCBCCBCBCBBCBBBBBBCBBBCBBCBCBBCBCCBBBBBBCBCBCCBCBBBCBBBBCBBBBCCCBCBBCCBBBCCBCCBBBBCCCCCBBCCBCCBBCBCBBBCCBBBBBCBCCCCBCCCCCCBCBCBCCCCBBBCCBCCBCCBBCCBBCBCCCCCBBBCBCBBBBCSCBBBCBCCCBCCBCBCCCBCBBCCBCBCBBCBCCBCCBCCCCBBCCBBBBBCBBCBBBBBBCCBBBCCBCCCCCBBBCCCCBBCCBBCBBCBBBBCCCBBBBCBBCCBCBCBBCBCBBBCCCCCCCCCCBCCBBBBBBBBCCBBBCCCBCCBCCBCBCCBCBBBCCBBBCBCBCCCCCCBBSCBBBCBCBCBBBBCBCBCCBBCBCBCCBBBCBBBCBCCBBBCCCCBBBBBCCBBBCBCBCBCBBBBBCCBCBCBCBBBCCCBBCBBBCCCBBBCCBCCCBCBBBCBBBBBCCCBCBBCBBCBCCCBCBCCBCCBCBBCBCBCCBCBCCCBBBCBCBCBBBBBCCBCBBCBCBBCBBCBCCCCCCBCBBBCBBBCCBBBCCBCCCBCBCBCBBBBCCBCCCCBBCCCBBBCBCBCBBBBCBCCCBCCCCCCBBBCBCCCBCCCBCCCCBBCCCBBCCBCCBBBBBBCBCCCCCCCBCCBBCBCCCBBCCCBBCBBBBBBBCCCCCBBBCCBBCCCCCCBCCCCCCBCBCBBBBBCBCCBCBBBCCBBBBCBBBCBCCCBCCCCCBBCBBBBCCBBCCBCCBBCCBCBBCBBCBBCCBBBBBBBCBBCBBCCCCCBCBBBCBBBBBCCCCCCCBBCBCBCBCCBCCCBCBBCBBCCCCBBCBBBCCBBCBBBCBCBBCCCCCBBCBBBCCBBBCCCCBCCBCBCBBCCCBCBCBBBBCCCCCBCBBCBBCCBCCBCCCCCBCBCCBCBCBBCCBBBCCBCCBCBCCBCBBCCCBCBCBBCCBCCCBBCBCCBCBCBCCBBBBBCBBBCCCCBBCCBCCBBCCCCBBBCCCCBCBCCCCBBBBBBBBCCBCBCCCBBBCBBCBCCBCCCCCBBBBBBCCBCCCCCCCBCCCCBCBCBBBBBCCCCBCCBBCBCCCBBCCCCBCBBBBCBBBCBCBBCCCCBCBBBBBCBBBCCCBCCBCCBCCCCBCBBCBCCCCCBCBCCBCBBBCBBBCCBBCBCBBCBCBCCCCCBBCCBBBCCCBBBBBBCBBBBCBBBCCBCBCBCBBCCBBCCCBCCBCBBBBCBBCCCCBBBCBBCBCBBBBCBCCBCBCCBBBCBBCBCBBBBBBCBCCCCCBCCBBCCCBBBCBBBCBBBCCBBCBBCCBCBCBBCBBBBBBCBBBBBCCCBBBCBCCBBCBCBCBCCCCBCBCCCCCCBCBBBBCBCBBCCBBCBCBCCCCBCCCCCCBBBBCBBBCCBBBCCCBBCCCCBCBBCBCCCCBCBCCCBBBCBBBCBCBBBCCCCCBCBBCCCCCBBBBCBCCBBBBCBBCBCCBBBBCCBCCBCBCBCBCCCBCCBCCBCBBBBCCCCBBCCBBCBBBBBCCBCBBBCBCCCBCCCBBBCBCBBBBCCBBBCBCCCBCBBBBBCCCCCBBCBCCBCCBCCCBBBBCCCCCCBCCCBBBCCBCCBCCBBCCCBCCBBBBCBBCCBCBBCCCBBBBCBBCBCBCCCBCCBBCBCBBBBBCBBCBBCCBCCBCBCBCCBBBBCBBBBCBCBBCBCBBBBBCCBBBCBBBBBBBBCBBBCCBBCBBBCBBCBBBBCBCCCCBBCCBCBBCBCCBBBCBBCBBCBBBBBBBCCCBBBBCBBBCCCBCBCBCCBBBCCBCCCBCBCCBBCBCCCCBCBCCCBCBBCBBBBCCBCCCBCBCCBBCCBBBBBBBCCBCBCBCCCBBCCCBCBBCCCCBBCBBBBBBCCBBCBBCCBCBBBBCBCCBBCBBCCBBCCBCBCBBCCBCCCBBBBBCBBCCCCBBBBBCBBCBBBBBBBCCCBCBBBBCBBCBCBBBBCBCCCCCCCBCCBCBBBBCCBBCBCBBBBBCBBBBCCCBCCCBCCCBBBBBCBCBBCBBCCBBBBCBBBCCBBBCBCCCCCBBBCCBBCBBCBBCBBBBCCCCCBCBCBBCBBBBCBBCBBBBCCCBBBBBCCCBCBCCCBBBBCBBBCCCCCBBCCCBBBBBBBCBBCBCCBBBBBCCBCCBCCBCCCBBBCBCCCCCBBBCBBBCCCCBCBCCCBBCCCCCBCBBBBCBBBCBCBBCBCCCCCCCBBBCCCBBCCCCCBBBBBCBBBBBCBBCCCBCCBCBCBBBCBBBCBBCBCBCCCBCCCBBCBBBBBBBCBCCCBCBBCCBBCCCCCBCCBCBCBBBCCBBCCCBCBCBCBBCCCBBCCBCCBCCCCCBBCBBCBCCBBBCCCCBBCCCCBBBBCCBCCBBCBBCBBCCCBCBBBBBCCCBCBBBCCBBBBCBCCCCCBCBCCCBBBCBBBCBCCBBCBCBCCBCCCBCCBCBBCCCBBBBBCBBBCBBBCCCBCBBBBCCBCCCBCBCCCBBCBCCBBCCBBBBCCCCBBCBBCCCCBBBCCBBBCBBCBCCBCCCCCBCCBBBBBBCCCCCCCBBBCCBCBCBBCCBCBCCBCBCCCBCCCCCCBBCBBCBBCBBCCBBCBCCCCBCCBCCCCBBBCCCCBBCBBBBBBCCCCBCBBCBCBCBCBCBBBCBBCCCBBBBCBBCCBCBCBCCCBBBCBBBCBCCBBBCCCBCBCCCCBCCBBCCCCBBBBCBBBBBBCBBCBBCBCBBCBBCBCBCBCBBBCCCCCCBBBCCBBCCBCBCCCBCCBCBBCCCCCBBCCCBCCCCBCBBCCBCCBCBBBCCCBBCBCBCCCBBCBCBBBCCCBBBCBCCBBCBCCBBBBCCCBCBCCCCCBBCCBBCCCBBBBBCBBCCCBCBBBCBCCCCCCBBBCBBCBCBBBCBCCCBCBCBCBBBCBBCBCBCCBBCBCCBBCBBBCBCCCCBBCCCBCBBCBBCCBCCCCBCCBCBBBBBBCBCBBBCCCCCCBCBCCBCBCCBBCCBCBCBBBBBCBBBCBCCCBCBBBCBBBBBBCCBBCCBCCCBBBBCCCBBBCCCCCBBCCBBCCBCBBBBBCCBCBBBBCCBCCBCBBCCBBBBCCBBBCCBBCBCBCCCCCCBBCBCCBBCCBBBCBBCCBCCBCBBCBBCBCCCBCBCCCCBCCBBBBCCBBCBCBBBBBBBBBCBBBBBCCBBCCCBBCCCBBBBCBCBCBBCBBCBBBBBBCCBCBCCCCCBBCCCCBCBCCBBCCBCBCCBCCBBBBBBCCBBBCCCCCCCCBBCBBBCBCBBBCCCBCCBCCBBBCBCCBCCCBCBCCBBCCCCBBBCBBCBCCBCBBCBCBCCCCBCCCCCCCCCCCCBCBBCCBBBBBBBBCCCBCBCCBBBBCBCCBBBBBBBBCCBCCBBCSCCBBCBCCBCBBBBBCCBCCCCCCBCBBCCCCBBCCCCBCBCBCBCBBBCCBBBBCBCBCBBBBBCCBBBBBBBCCCBBBBCCBCCCBBBBCBCBBCBBCCBCCCCBBCCBCBCBBCBCCBBBBCCBCBBBBCBCCBCBCCCCBBBBCBBCCBCBBBCBBBBCCCBCBBCBCBCBBCCBCCCBCCBCBBBBCCCCBBBCCBCBBBBCBCCBBBCBCBCCBBCCBCBBCCBCBBCBCCBCCCCCBCBCCCBBCCBCCBBCCCBBBBCBCCBBCCBCCBBCCCBCBBCCCBCBCCCCCCBBCBBBBCCBBBCCCCBBBBCBCCCBBBBCCCBCCBBBCBCBBBCCCBBBCCBBCBBBCBCCCCCCCBCCBBBCBCCBBBBCBCBBCCCBCBCBBBBCCBBBBBBBBCCBBBBCBCCBCBCBBCCCBCBCBCCCBCCCCBCBBBBBBBCBCCBBBBBCBCBBBCCBCBCBCBCBCCCBCBCBBCBCBBBBBBCBCBBBBBBCBCCBCBBBCBCBBBCBBBBBBBBBBBCBBCCBBCBCBCCBBCBCCCBCCCCBCBBBCCCBBBBCCBBCCBBBBCCBCBCBBBCCBBCCCCCCCBCCBCBCBCCBBBBCCBBCBBBCCBCBBCBBCBBBCCBBCCBCCBCCBCCCBCBCCBCBBBBCCCCCBCCBCBCCBCBCCCBCCBBBCBCCCBCCBBBBCCBCCCCCBBCCBCCBBBCCCCBBBBCBBCCBBCCBCCBCCCCBCCCBCCBBBCBBBBCCBBBBBBBCCBBBCBCCCCCCCCCCBCCBCCBCBCCCBBCCCBBCCCCCCCCBBCBCBCBBCCBCCCBBCCCCCBBBCCCBCBBBCBCCCCBCCCCBBBCCBBCBCCBCBCCBBCCBBBBBCBCCCBBCBCCCCCCCBBCCCCBBCBSCBBBCBCCBBBBBBBBBBBCBBBCCBCBCBCCBCCCCCBBCCCCCCCCBCCCCBCBCCCCCBCBCBBBBBBCCBCBBBCBBBCBCBBBCCBBCCCBBCBCBBCBCCCBCCCBBBBBCCBCCBBBCCCCCBCBBBCBBCCCCCBBCCBCCBBCBBBCCCBCCCCCCCBBCCBCCBBBCCCBCBCBCCCCCBBBCBBBCBBCBBBCBBBBCBCCBBCCCBBCBBCCCBBCCBCBBBCBBCBCCBCBCCBBCBBCCBCBCCCBBCCCBBBCCCCBBBCBBBCCCCCBBBBBBBBCBCCCCCBBCBCBBCCCBBBBCCBBBBCCBCBBCCBCCCCBBBBBBBBBCCBBBBBCBBCCCBBCCBBCBCBCBBCCBBCCBCCCBBBBCBBCBCCBCCCBCBBCBCCBBCBBBBCCBBCCCBBBCBBBCBCBBBCCBCCCCBCCCBCBBBBBBCBCCBBCBBCCBCCCCCBBBCCBCCCBCBBCBBBCBCCCBCCCBCBCCCCCCBBCBCCCCCBCBBCCCCBBCCBBBBCBCBBCBCCCCBCBBCCCBCBBBCCBCBCBBCCCCCBCCCBBBCCCCCCCBBBCBCBBBCCBCCCCBCCBCCCCBBBCBBBBBCCBBBBBCBCBCBCCBCBBCBBCCBBCCCBCBBBBBBBCBCCCCCBBCBBBBBCCCBCBBCBCCBBBCBBBBCCCBBCCCCBCCCCCCBBBCCCBCCBBBCBBCCBCCCCCCBBBCBCCCCCCBCBCBBCCBBBBBBBCBBBBCBCBCCCCCCBCCBCCCCCCBBBBBCCBCBBCBBBBBBBBCBCBBCBCBBBCBBCBBBBCCBBCCCBCBCBCBCBCCCBBBCBCCBBCBBBCCCCBCCCCCCCCCCBCCBCCBCBCCCBBBCCCCCBCBBCCBBCCBCCCBCCCCBBBBCBCBBCBCCCBCBCCCCCCCCCCBCCBBCBBBCBBCCBCCBCCBBBCCCBCBBCBBBBCBBBCCCBBCCCBCBBCCBBCCCCCCCBBCCCCCCCBBCBBBBBBCBBCBCCBBCCBCCBCBCCCBBBBBBCCCBBCCCCCCCBBBBBCCBCCBCBBBBBBCBCBCCCBCCBCBBCCCCBCCBBBBCCBBCCBBBBCBCBCCBCCBBBCCBBBBBBBCBBCCCBCCBBCCCBBCCBCCCBCBCCBBBBCBBBCBCBCCBBBBCCCCCCBBBBCCCBBCCBCBBCBCBBCBCBBCCCCCBBCCBCBCBBBBBCBBBCCCCBCCBBCCBBBBBBCBCBBBCCBBBBBBBCBBCCBBCCBBCCCCCBCBCBCCCBCBCBCCBCCCCCCCCCCBCCBCBBCBCCCCBCBBCBCBBCBBBCBBBBCCBCCBCCCBBCCCCCBBBCCCBCBCBBBBCBBCBBCBBBBCCBCCCCCBBCBBBCBCBBBBCCBBBBBCBCCCCBCCCBBBCCCCBBCBCCCCCCCCCBCBCBCBCCBBBBCCBCCBCCCCBBBCCBBBBBCCBBBBCBCCCBCBBCBCBBBCBCBCCBBCCBCBBBCBCCCCCBCCCCCCBBBBCBBCCCBBCCBBCCBCCCBBCCBCBBCCCBCBBBBCCCBCBBBBBCCBCBCCBCCCBCBCBBCBCCBBBBCCCBCCCCCBBCCBBCBBCCCBBCCBCCCCBBCCBCBCBCCBBBBCBBBCBCCBCBBCCBBCCBBBCCBBBCCBCCCCBCCBCCBBBBCCCBBBCBBCCCBBCCBBCBBBCBBBCBBBBBCCCBCBCCBCBBCCBCCCCCCBBBCCBBCCBCBBCBCCCBBBBCBBCCBBCCCCBCBCCBBCCCBBBBBBBBCBCBBBBBCCCCBCCBCCCBCCCBCBBCBBBBBCBCCBCCCBBBBBCCCCCBCBCBCCBBCCBBBCBCCCBBCCCCCBBCBBBCBBCBCCBBCCCCBBCCBBBBCBBBBCCCCBBCCBBCBBCBBCBBBCBCCBBCBCBBBCBCCBCBBBCCCCBBBBBBCCCBCCBCBBBBCCBCCBCBBCBCBBCCBCBBCBBBBCBBCBCCBBBCBBBBCCBBBBBCCBBBBCCCBCBBBCBBBCCCCBBCBCBBCCBBBBCBBBCCBBBBCCCCCBCCBCCCBBBCCBCCCCCCCCCBBCCCCBBCCBBBCBBCCBBCBCCCCBCBCBBCCBBCBCCBCBCCBCBCBCBCBCCBBCBBCCCCBCCBCCBCBCBBBBCCBBCBBCBCCCBBCCBBCBCCCBCBCBCCBBBCBCBBBCCBBCBBBCBCBBCBCCBBBBBCCCBBBBBBBBCCBCCBCCBBCCCCCCCBBCBBBBBBCBBCCCBCCCCCBBBCBCBBBBCCCCCBCBBCBCBBBBCBCCCCBCCBBBCCBCBCCCBBCBBCCCCCBCBBCBCCCBCCBBBBCBBCCBBCCCBBCCCBCBBBCBCBBCCCBCCCCBBCBBBBBCBCBBBCBBBCBCBBBBBBBBBCCCBCCCBBCBCBBBCBBBCCCCBBBCBBBCCCCBCCCBCCCCCCCCCCBCBBCCBCBCCCBCCBBCBBBBCCCBBBCCBCBCCBBBBBCCCBCBBCCBCCBBBBBBCBBBCCCBBCCCBBBBBCCCCCCBCCBCBCCBBCCBCCCCCCBBCCCCCBCCCBBCCBCCBBCBBBCBBCBCBCCBCCCCCCBBBCBCCBBBBBBCBCCBCBCBBBBCBCCCBCBBCCBBCBBBCCCBBBCBCBCCCCBCBBBCBCCBCCBBBCBCCCBBBBBBCBBBBBCBCCBBCCBBBBBBBCCBBCBBCCBCBCCCBCCBCBBBBCCCCCCCCCBCBCBCCBCCCCBBCCBCBCBCBBBBBBBCBBBCBBBBBCCBBCBBBBBCBCCCCBBCBCCBBBBCBBBCBCBBCCBCBCCCCCBBCCBCCBBCCCBBBCCCBBBBBCCCCBBBCCCCBCBCBBBCBCCBBCBBBCCCBBCCCBBBBBBCBBCBCBBCBCCCCCCCCCCBBCCCBCBBCCCCBCBBCCCBCBCCBBBBCCBSBCBBCCCCBCBCBCCCBCCBCBCBBCCBCCBBCCBCBCBCCCCCCBCCCBBBBCBBBBCBBCCBBCBCBBBBCBBCCBCCCBCCBBBCBCBCBBBCCBCCBBBCCCBBBCBBBBCBBCBCCBBCBBCCBCCBCCCBCBBCCBBCCBCCCBBBCCCBCBCCBBCCCCBBCBBBBBCCBBCBBCCBBCCBCBBCCBBCCCBCCCBBBCBCCBBBCBBCCBBCBCBBBBCCCBCBBBCBCCBCBBCCBCCCBCBBCBCCBBBBBCBBCCBCBBCBCBBCCCBCBCCCCCBBCCBCCCBBBCBCCBBBBBBCBBBBCBBBCCCBCCCCBBCCCBCCCBBCBCCCCBCBBBBBCCBCCBBBCCCBCBCCBCCBCCBCBBBBCBCCBCBBCCCCBBBCBBBBBBCCBCCCCCBCBCBBCBCCCCCBCCBCCCBCBCCCBCCCCBCBCBBCBCCCBBCCBCBCBBBCBCCCBBCCBCBBCBCBCBBBCCCCBCCCCCBCBBCBBBBCBBCBBCBBBCBCCBBCCCBCCBCBBBCCBBCBBCCCCBCBCBBBCBBBBCBBBBCCCCCCCCCCBCCBBCCCCBCBBBCBBBBBCBCCCCBBBBCBBBCBBCCBBBBCCCBBCCBCBCCBBBBCBBCBBBCCCCBBBBCBBBCBBCBBBCBCCCBBBBCCBBBCBCBBCBBCBBBBBCBCCCCCCBBCCCCBCBBBCBCBCCCBBCCBCBBCBBCBBCBCCBCBCBCBBCCBCBCCCBCBCCBCBBCBCCBBBBBCBBCBCCBBBBCBBBCCCBBBCCBBBCCCCBCBCBBBBCBCCCBBBBCCCBBBCBBBCBBCCBBBBBBCCBBCBBCCCCCCCBCCBCBBCCBBCCBBBCCBBCBCBCCBCBBBBBCBCCBCCCBCBCCBCBBCCCCBBCCBBCBBCCCCBCBBCCBBCCCBBBCBCCCBCBBBCCBBCBBCCCBBBCBCCBCCBBCCCCBBBBCCCCBCCBCBBBBCBBCCCBBCBCCCBBCCCBBBBBCCBBBBBCBBCCCCBCBCCCCBBBCBCCBCCBBBCBBBBCBCBCBBBBCBBBBBCBCBBBBCBCBBBBBBCBCBCCBCBBCCBBCBBBBCBCBBCCBCBCBCCCCCCCCBBCBBBCBCCBCBCBBCCBCBBBBBCCBBCCCCBCCCCBCCBCCCCCBBCBCCCCCCBCCCCCCBBBBCCBBCBCCBBBBCCBCBBBCCCCBCBBCCBBBCBCCCBCCBBCCCBCBBBCBBBCBCBBCBBCCCBCCCCCCCBCBBCCBBCCCCCCBBCCCCCBBCCCBCCBCBCCBCCBBCBCBBCCCBBCCBCBBCCCCCBBBBCCBCCCCCCBCCBCCBBBBBBBCBCCBCBCCBCBBCCCBBBBCBBBBCBCCBCCCBBBCCBBCCCCBCBBBBBBCBBCBCCCBCBBCCBBCCBCBCCCBBBCBCCBCBCCCCCBCCBBBBBCBBCCBBCBBCCCBBBCCBCBCBBCBBCBBBBBCCBBBBBCCBBBBCBBCBBBCBBBCBCCCCBBCBCCCBCBBBBBBCBCBCBBCBBCCCCCCCBBBCBBBCBBBBBCBCCCCCBCBBBCBBCCCBBBCCCCCCCCBCCBBBBCCCCBBCBBCBBBBBCCCBBCBCCBCBCCCBBCBCBBBCCBCCBCCBBCCBBBBCCBBBCBBBBCCCCCBBCCCCBCBCBCBBBCCBCBBBCBBCCBBBCCCCBBCCCBCCCBCBBBBCCCCCBCCCBCBCCCCBBBCBBCBBCCCBCBCBBCCBCCCBCCBBCCCBCCBCCCCCCCBBCCCBCBCCCCBBCCBCCCCBCCCCCCCCCBBBCBCCCCCBCBCCBBCBBCCBBCBCCBBCCCCCCCBBBCBCBBCBCCBCCCBCBCBBBCBCCBCCCCBCBBBBBBBCCCCCBCCCBCCBBBCBBBCCBBBCBCBCCBBBCBBCCCCBBBCBCCCCCCBBCBCBBBBCCBBCCBCBCCBBBBBBCCBBCCBCBBCBCCCBBBCBBCCBCCCBCCCCCBBBBBBBCCBBCBBBCCBCBCBCCBBBCBCCCBCBCBBCBCCCCCBBBCBBBBCCCBCCCBBCBCCCCBBBCBBBBCBCBBBCCCCBBBCBBBCCCCCCCBCBBBBBBCBBBBBBCCBCCBCBBCBCBCCCBBCBCBCBBCBCCBBCCCCCCCBBCCCCBBCCBBCBBCBCCBBBCBBCCCCBCCCCCBCCCBBCBCBCCCBCBCBCCCBCCBCBBBCBCBCBBCBCBCCBCCBBCBBBCBBBBCBCBBBBCCBCBCCBCBCCCCCBBBCCBBCCCBCBCCCBCCCCBCCBCBBCBBBBBCCBCBCCCBBCBBBCBBCCBCBBBBBCBBCCCCBCBBBCBBCCBBBCBCBBBCBCCBBBBCBBCBCCBBCCCBCCBCCCBBBCCBBBBCCBBBCBBBCCBCBCBCCCBBBBBBBBCCBCBBCBBBBBCCCBCBBBBCCBCCCCBBBBCCBBBCBCBBBBCBBCCCBCCCCCBBBBCBCCCCBCBCCCCCCBCCBCCBCBBBCCCBCBCBCCCCBBBBBCCCBCBBCCCBCBBCCBCCCBBCBBCCCBCBCBBCBBBBBBCBCBCCBBCCBBCBCCBCCCBCCCCCCBBCCBCCCBCCBCBCCBCCCCCCBBBBBBBBBBBCCCBCCBCBBBCBBBBBBBCBCBCBCCCCBBBBBCBBCCBCBCCCBBCCCBCBBBCBBCBBBCCBCCCCCCCCBBCCCCBBCBBBBCBBBCBCCCBBCCCCCBCBBBCBCBBCBBBCCBCBBCBBCBCBCCCBBBCCCBBBCCBCCCBCBBBCBBBBCBBCBBCCBBCBCBBCBBBCBCBCCCCCCCCCBCBBBCCCBCCCCBBCCBBBBBBCBCCBBBCBBBBCCBCCBBBCBBCCBCCBCCBCBBCBBBCCCCBBCCBBBCBCBCCCBCCCBBBBCBBBCBCBCCCCCBCBBBCCCBCCBCCCCCBBCCCBCCBCBCCBBBBCBCCBBBBBBCCCBCBBCBBCBBCCBCBCBCBCBBBBCCBCCBBBCCCCCCCCCBCBCCCBBBCBBCBBCCCBBBCCBBBCCCCBBCBBCCCBBBCCBCCCCBCBBBBBBCCBBBBCBBCBBBBBCBBBCBBCCCCCCBBCCBBCCCBCBCCBBCBCBCBCBCCCCBBBCBBCCCBBCCCBBBBBCCBBCCCCBBCBCBBCBBCCBCCBBCBBBBCBBBBCCCBBBCCCCBBBBBBCCCBCCBCBCCBCCBCCCCCBBBCBBCBCCBCBBBCBBCCCBBBCBCCCCCBCBCCCCBCBCCCCCBBCCCCBBCBCCBBBBBBCBCCBCCCCBCCBCCBCBBBCBCBBBBCCBBBCBCCCCBCCCCBBCCBBBCBBBBBCCCBCBCBCCCCCCBBCBCBBBBBCBBBCCBBCBCCCCBBBCBCBBCBBCCBCBBBBCBBCCBBCCBBCBBBBBBCBCCCCCBCCBCCBBCCBCBCCCBCCBCCBCCBCBCBBCCBBCCBCCCCBBCBCBBCBCBBBBBBCBBBBBCBBBBCCCCBBBCBBBCBCCBCCCBCCBBBBBBBCCCCBCCCCBBCBBBBCCCCCCCCBCBCCBCCBCBCBBBBBBBBCBCBCBBBBCBCCCBBCBBBCBCBBCCBCCBBCBCBCBBCBCCBCBBBBBCBCCCBBBBCBCBBBCBCBBCBCBBBBBCBCBBBCCBCCBCBBCBBCBBBCBBBBCBBBBCBBBCBCBCCCCCBCBBCCCBCBBBBBBBCCBBCBCBCCCBCCCCBCCCBCBBCBCBCBCBCBBBBBCCCBBBBCCCBBBBCCBBBCBCCCBBBCCCCBCBCCCBCCBCCCBBBCBCCBCCBCCCCBCBCCCCCBCBCCBBCCBCCBCCBCCCBBCBBBBBBCBCCCBCCBCCCBBBBCBBBBCBCBCBBBCBCBBCCCCCBCCCCCCBCCCBBBCCCCBCBCCBBCCCCCCCBCBBCBBCCBCBCBCCCBBBBCCCCCCBBCCBBCBCCBBBBBCBBBCCCCCCBBBBBCBBBCCBBCBCBBBCBCCCCBCBBBBBBBBBBCCCBBCCBCCBBCCBBCCCBCBCCCBCCCBCBBCBBBCBCBBBCBBCCBBBCBCCCCBCCBCCBBBBBBCBBCCCCBCCCBCBBBBBCBCBCBCBCCCBBCCBBCCCBCCBBBBBBCBBCBBBCBBCCBCBCBCCCBBCBBCBCCCBCCBCCBBCBCBBBBCBBBCBBCCCCBCBBCBBCBBBCCBBCBCBBBBBBCBCBCCCBBCBCCCBBBBBCCBCBBCCCBBCCCCCBCCCCCBCCCBCCCBCCCBBCCCBCBBBBBBBCBBCCBCCBBCCCCBCBBBCCBCBCCCCBBCBBBBCBCBCBCBBCCCBCBBBBBCBBBBBBCBCBBCBBBCBCCBBBCCBCBBCBBBCCCCCCCBCCBCCCCBCBBBCBCCCCCBBBBBCBBCBCCCBCBCCCBBCBBCCCCCCBBCCBBBCCCCBBBCCBBCBCCBCBCBBCBBCCBCBCBCCCBBCCBBBBBBBCCCBCCCCBBCBBCCCCCCCBBBBCCBCCCBCCBCBCBCBBCCBCBBBBBBBBCBBCBCBCCCCBCBCBBBBBCBBCCBCBBCBBCCCBBCCBBBCCCCCCCBCBBCCBCBBBBBCCCBCCCCCCCCCCBCCBBBCBCBBCCCCCBCCCBCCCCCBCCCCCBBBBCBCCBCCBBCCCBCBBBCBBCCCBBCBCCBCCCBCCBCBCBBBBCCBCCBBCBCBCBBCBCCCCCCCBBCBCBCBCBCCBBBCCBCBBCBCCCCBCCBCCBBCBBCBBBCBBBCCBCCBBBBBBBBCBBCCBCBBCBCBBCCCCBCBCCCBCBCBCBCBBCCCBCCCBCCCCBBCCCCBBBCCBBBBCCCCCCBBCBCBCBCBCBCCCCBCBBCCBCBCBCCCCBCBBCBBBBBCCCCBBCCCCBCCCCBCCBCCCBCBCCCCBCBCCBBCBBCBCCBBBBCCBBCCCBCBBBBCBCCCBCCCBBCCBBCBBBCCBCBCCCCCBBBBBCCCBCCBCBBBBCBBBCBBBBBBBCCCCCCCBCBCBBCBCBCCBCCCBBBCBBBCCCBCCCBCCBCCCBCCBCBCBCCCCBCCBCBBCBCCCCCBBCCCBCCBCCBBBBBBBCCCBBSBCBCBCBCBCCBCCCBBBBCCCCCCBBCCBCBCBBCCBCCCCCCCBCBCCBBBCCBCBBBCCCBCCBCCCBCBCBCCCBBCCBCCBCCBCCCCBBCCCCBBBBBBBBBBCBBBBCBBBBCBCCCCBBCCBCCBBCCCBCBBBBBCBBBCBBBBCBCCBCCBBCBBBBBCBBCCCCBCBCCBBBCCCCCBBBCBBBCCBBBBCCBCBBBBBCCBBCCCBBBCBBCCBBBBCBCCBBBCBCCCCCBBCCCBBBCCBCBCCBCCBBCBCCBCBCCCCCBBBBCCBCBBBBBBCBCBBCBBCBBBBBBCBCCBBBBBCCCCBCBBBCBCCCCBCCCCBBBCCBCBBBBBBBCBCBCCCBCCBCCCBCBBBCBCCCCCBBCCCCCBCBCBCBCBCBBBBCBCBCBCBCBCCBBCBBCCCBBBCCCBCBCCBBBCCBCCBCBCBBCBBBBCCCCBCBBBBCBCCCBBCBBBCBCBBCCCCCBBCCCCCCBBBCBBCCBCBBCBBCBBCCCCBCBCBCCBCCBCCBBBBBCBBBBCBBCCCCBBBCCBCBBCBBBCBCBBCCCCCCCCCBCBCBCBBCCBBCBCBCBCCBCBBBCBBBBCBCCBCCBBBCCCCCBBCBCCBCCBCBCCBCBBCCBBCCBCCCCCBCCCBCCCCCBCBBBBCBBBBCCCBCCCCBBCBBCBBBBCBBCBCCBCBBBBCBCCCCCCCBBBCCCBBCBBBCCBCCBBBCCBCCBCBBCBCCCBBCCBBBBCBBCCCCBBBCCBBBBCCCCCCBCCCCCBCCBCCBBBCCCBBCBCCBBCBCCBCBCCBBBBBBBCBCBBCBCBCCBBBBCCBBBBCCCCBCBBCBBCCBBCBCBBCBCBBCCBCBCCBBBCCBCBBBBBCCBBBCCCBBCBBBCBCBBBBBCCCCCBBCBCCBCCBCCCCCCCBCBCBCCCBCBBBCCBBBBCCCCBCCBBBBBCCBCBCCCCCBCBCCBCBBBBBCBCBCCCCCBCBCCBCBBCCBCBBCBBBCBBCCCCBBCBBCBBBBBCCBBBBCCCCBCBBBCBCCCBBCCBBCCBBBBCBBCBCCCBBCBBBCCBCBBCBBBCBBCBBCBCCCBBBBBCCBBCCCBCBCCBCCBBBCBCCCCCCCCCBBBCBCCCCCCCCBBBCCCBBCCBBCBCBCBBCBCCBCBBBCCBCBCCCBCBBBCBBCBBBCBCBBCBBCBBBCBCBCCCBBBCBBBCCCCBBCCCCBBBBCCCCBBCBBBBCCCCCBBBCBCBBCCCCCCBCBCCCCBCCBBCCCBBBBCCBCCBBBCBBCCBBBCCBBCCBCBBBCBBBCBBBCCCCBCCCBBBBCCBBCCCCCCBCCBCBBCCCBCBCCCCBCCBBCCCCBCBBBCBCCBCCCCCBBCBBCCCCBCBCBCBCCBCCBBBCBBBCCBCBBBBCBCBCBBBCBCBBCCCCCCCCBBBCCBBCCCBCCCBCCBCBBBCCCCBBBCBBCBBBBBCCBCCCCCCBCBCCBBBBBCCCCCBBBCCCCCBBCBCCCBCBBBCCCCBCCBBBBCBCCCCCBBBBCBCCBCBBBCBBCCBBBCBBCBCCBBCCCBCCCBBCCCBBBBCBCBCBCCCCCCCBCCCCCCCBBCCBBCBBBBBBCCBBBBCBBCCCCCCCCCBCCBCBBBBCBCBBBBCBCBCBBBBBCCBCBCCBBBBCCBBBCCCCBCCBCBBBCBBBBCBCCCBBBBCCCBBBBCBCBCBBCCBBCBCBBCCCCBCCBCBCBCCCCCBCCBBBBBCBCCCBBCBCCBCBBBCBBBCCCCCBCBBBBCCCBCBCBCCBCBBCBBCBCBBBCBBCCCCBCCCBCBCBCCCBCCBCCBBCCBCCBCCCBCCCCBBCBBBCCBCBCBCCCCBCCCCCCCBCBCCCBCBCBCBCCCBCBCBBBCBBCBCBBCBBCBBCBBBBBCCBBCCBCBBCCCBBCBCBBCCBBBBBCCBCCCBCBCBBBCCCCCBBBCBCCBCBBBBBCCBBBCCBCBBBBCBBBCBCBBCCCCBCBBBCCCBBBBBCBBBBCCBCBBCCCCCCBBCCBCBBBCCBBCCBBCBCBBCCBBCCCCCCCCCBCBCBBCBCBCCCBCBBBCCCCBCCBBBCBBCBCCBBBBBBCCCBCBBCCCBCBCCCCCCBCCCBBBCBCCBCCBBCBCCBBCBBCCCCCCCCBBBBBBBBCBBCBBBBCBCCBBBBCCBBBBCBBCBBBCCCCBCBBCCBBBBCBBBBCBCCCCBCBCCBCCCBBBBBCCBBBCCBCCCBBCBBCBBCCBCBBCCCBBCBCCBBCBCCCBCBBBCBBCBBCBBCCBBBBCBCCBBCBCBCCBCBCCCCBCCBBCCBBBCCCBBBBCCCCBCBCBBCBBCBBCCBCCCCBBBBBCCCCCCBBBCCCBCBBCBBBCBCCBBCBBBCBCCCCBCBCCBCBBBBBBCBBBCBBBCBBBBBCCCCBBBCBBCCCBBCBCCBCCBBBCBBBBBCCBBCBCBCCBBCCCCCBCBCCBBCBBBBCBBBCBBBCBCBCCBCBCCBCBBBBBBCBCCBCBBCBCBCBCCCBCCBCBCCCCCCBBCBCBCBBCCCBCCCBBCBCCCCCCBBCBCCBBCBCCCCBCCBBCBBCCCBBBBCCCCCBCCCCBBCCBCBBBCBBCCBCCBBCBCCCBBBCBCCBCCCCCBBBBCBCCBBCCCBBCCCCBCBCCCBCCCCCCBCCCCBBBBCCBCBBBCBBBBBBCCBCBBBCCCCBBBBBBCCBBBCBBCBCCBBBCCBBBCBBCBCCBBCBCBCCBBBBBCCBBBCCBBBBCBBCBCCBCCCCCCCBBBCBBBCCBBCBCBBCCBBCCCCBBCCCCBCCCCBCCBBCCCBCCCCBBBCCBCCBCCBBCCCBCBBBCBCBCBCBBBBCCBBBCBBBBBBBBCBBBBBCBCCCCCBBBBBBBBBBCCBCCCCBBBCBBBBCBBCCBBBCBBBCBBBCBCBCBCBBCCCBBBBBCBBCCBCBBBBBCBBBBCCBCBCCBCBCCCCBBCCCCBBCBBBBCCBBBCBCBBCCCBBCBBBBCCCCBBBBBCBBCCBBCCBCBCCBBCCBBCBBCBBCCBCCCCBCBBBBCBBBBCCBCCBBBCBCCCCBCBBCCCBBBBCCBBBBCBCCCCCCCBCCCBBCCBBCBCBBBBBBBCBBBCBBCCCBBBCBCCCCBBBBCBCBBCCBBBCBBBCCBBBCBCCCCBBBBCCCCBBBBCBBBCCCBBBCCCBCBCBBBBBCCCCCBCCBBBBBCCCCBCBBCCCCCBCBCBBBCCCBCCCBBBCCBCBCCBCCBBBBBBCBBCCCCBCBBBBBCBBCBCCBBCCCBBCCBBCCBCBBCBCCBBCBCBCCBCBCCBCBCCCBCBBBBBBBBBCBCCBCBBCCBBCCCBCBBCCCCCCBBBBBCCBBBBBCCBBCCCBCBCBCCCCCBBCBBCBCSBCBBBCCCCBCBCBCCCCCCCBCCBBBCBCCBBCBBBBCCCCBBBBCBCCBBCBBCBBCBCCCBCBCCBBBCBCBBBBBCCBBBCBBBBBCCBCBCCCCBCBCCBCBBBCBBBCBBBBCBCBBBCCCCCBBBCCCBBBCBBCBBBCCCCBBBCCCCCCCBBCCBCCBBCBCBBBBBBCCBCCCBCBBBBCBBCCBCCCCCBCBBBCBCBBBBCBCBCCBBBCCCBCCBCBBCCBCCBBCBBBBCCBBBBBBCBBBBBCCCCBCCBCCBCCCBBCBCCCCCCCBCCBBCCBBCCBCCCCBCBCCCCBCCBCCBCCCBBCBBCBBCBBBCBCBBCBBCCBBCCBBBBCBBBBBCCBCBBCCBCBBBBBCCCCCCCCBBCBCCCCBBBCCCCCBBCBCCCBCBCBBBBBCBCBCCCCCBBBCBCBCBCBCBBBCCCBCCBBBCCBBCBCCCCBBBBCBBCBBBCBBCBBBCCCBBBBBCBBCBCBCCBCCBCCBCBBBCBBCCBBBCCCBCBBBBBCCBBCBCBBBCBBCBCBCBBBCCCCBCCBCBBBCBBCCBBBCBCBCBBCCCBBBCCBBBBBCCBBCBCCCBBBBBCCBBCCBCBCCCBBCBCBBBCBCBBCCBCBCCBCBBCCCBCBCCCBCCBCBBCBBCBCBBCCBBCBBBBBCCCCCBCBCBCCBBCCCCCCBBCBBCCBBCBBBBBCCBBCBCCBBBBBBCCCBBCBBCBCCCCBCBCCCCBBCCBBCBBCBBBCCCCCBBBCCCBCBCBCBBBCBCCBCBBBBCBBBCCBBCBCCCCBBCBCBBBCCBCCBBBCBBBBBCCBBCCCCCCBCCBBBBCBBCBCCCBBCBBCBBBCBCCCCBBCBBCCBBBBBCBBCBBBCCBBBBBBCCBBCBBCBCCCCBBCBCCCCCCBBCBCCCBCBBBCBBCBBBBCBCBCCCCBCBCCBCBCCCBBCBBBBBCBBBBBCCCCCBCBBCBCCBBCBBCCCCBBCBCCBBBBBBBBBBBBBBBCCBCCCBBBCBCBCCCCBBBBCBBCCBCCBCBCCBBCCBCCBCBBBCBCCCBBBBCCCBCBCBCBBCBCCBCCBBBCBBCCCCCCCCBBBBBBBCBBBBCBCBBBBCCCCCBCCBBCBBCCBBCCBCBCCCCBBCBCBCBBBCBBBCCBCCBCCBCBCBCBCCCBCBCCBBBBCBBCBCCBBBCBCBCCCCBCCCBBBCBBBCBBCBBCBBBBBCCBCCBBBBCBBCBBBBBBBCCCCCBBBCBCCBBCCBCCBCBBCBCCCCCCCCBCCCBCBCBBCCBCCCCCBBCBCCCCBCCCBCCBBCBCCCBCCBBCBBBCBBCCBCBBCBCBBBBCBBCCBBCCBCCBBCCCCBBBBCBCBCBCBCCCBBCCCCBBCBCCCCCCCBBCCCCBCCBCCCBBCCCBCBCBCBCBBBBCBBBBBBBCCBBBBCBCBBCCBBCCCCBCBCCCCCCBBCCCBBCBBCCBCCCBCCBBCBCCBCCCBCCBBBBCCCCBBCBBCBCCCBCCBBCCBBCBCBBCBBCBBBCCCBCBBCBCCCCCCBBBCBCCBBBCCBCCBBBBBBCCCCBCBCBBBBBCBCCBBBBCBCBCBBCCBCCBCBBBCBCBBCCCBBCCCBCBBBCCBBBBCBCBBCBBBCBCCBCBCCCCBCBBCBBCBBBCCBCBBCCBBCBBBBCCCCCBCBBCCCCBCBCBCCCBCCBBBBCBCBBCBBCBBBBCBBCBBBBCBBBBCBCBCBCBCCBBCCBBBBBBBCCCCCBBCCCBBBBCCBBBCBCBCCCBCCCBCBBBCBCBBCCBBCBCCCCCBBCBCBBCCBBCCBBBCCBCBCCCCBCBCBBCCBBCCCCBCCCCCBBBBCBBBBCBCCBBBBBCCCBBCBBCBCBBCBCBBCCCBCBCCBBCBCBCCCBCCCBBCCBBCCCBCBBCBBCCBBCCBCBBBCCCCCCCCBBBBBCCCCBCCBBBBBBBCCCCBBCCCBCBCBBCBBBCBCCBBCBCCCCCCBCCBCCBCBCCBBCBBBCCBCBBCBBBBCBCBCBCCCBBCCBBBBCBBBBCBCCBBBCBCCCBBCCCCCCCBCCCCBBBBCCBBBCCBBBCBCCCBCBBCCBCBBBBCBBBCCCCCCBBBBCCCBCBCCBBBBCBBCBBCBCCCCBCBCBBCBBBCCCBCCBBBBBCCBBCCCCCCBBCBCCBBCCBBCBBBCCCBCBBBBBCBBCCBCBBBCBBCBCCBCCCCCCCBCCCBCBBBBBBCBBBCCBCBCCBBBCCBBCCCCBBBCBBBCBCCBCBCCCCCBCCBBBBBBBBBCCCBCBCCCBCCBCBCBBBBCCCBCBBBCCCBBCBCCCCBCBBBCCCBBBBBCBCBCBCBCBCCBBBBCBCCBBCCCCCCBBCBBCBCCCCBBBCBBBBCCCBCCBBBBBBBCCCBBBBBBCBCBBBCBCBCCBBCCCCCCCCBBCBCBCCCBCCBBCCBCCCCBCBCCBBBBCCCCBCCCBBBCBBBCBCCCBCBBBBBBCCCBCBCBCCBCCCBBCCBBCCCCBCBCCBBBCCBBCCCCBCBBBCCBBCBBBBCBBBBCCBBBBCBCCBBBBBBBCBCBCCBBBCBCBCCBBBCBBCCBCBCBBBBBBBBBBCBBCCCBBBBBBCBCBCBBBBBBCBCBCBBSCCCBBCBCBBBCCBBBCCBCCCCCBCCCBCCBCBBCBCBCBBBCCCCCCCBBCBCCCBCCBBBBBCBCBBCBCBBCCBBCBBBCBCCCCCBBCBCBBCCCBBCBCCBBCCCBBCBCCCCCBBCBCBCCCBCBBBBBBCCBCBCBCCBCBCCBBBCCBCCCCCBCBCCCCCCCCCBCBCCCCCBCCCCCCBBCBCCCCBBBBCCBCCBCCCBBBCBCCCCCBBBBBBBCBCCBBBCCBBCBBBCBBCBBBCBCBCBBBCCBBCBBCBCCCCBBCCCCBBCCBCCBCCBCCCCBBCCBCCBBBCCBCCBBBBCCBBCBCCCBCBCBCBBBBBCBCCBBBBCBCBBBCCCBBBBBCCCBCBBBCBBCCBCCCCBCBCBCBBCBBCBCCBCCCBBCBCCBBBBCCCBCBCCCCCBBBBBCBBCBCCBCCBBBBBCCCBCBCCBCBCCBBBCBBCCCBBBCBCCBBBCCBCCCBBCCBBBCBBCBCBCBBCCBBBCBCCCBCCBCBCBCCBCCBCCBCCBBBCBBCCBBBCCBCBBCBBCCBBCBCCBCCCCCBBBCCCBCBBBCBCCCBCCCCBBCBBBCBBBBBCBBBBCBCCBBBBBCCBBCCCBCCCBBCCCBBBCBBCBCBBBBCCBBCBBBBBCCBBCBBCBCBCCCCCBBBBBBBCBCBBCCBCCCCCBCBBBBCCBCCCCCBBBCBCCCBBBBCCCBBBBBCCBCCBBBCCCCBBCCBBCBCBBCBCCBCCCBCBBBBBCCBBBCBCCCCCBBBBBBCCCCCCCCCBCCBBCCCBBCBBCCCCCBBCCBCCCCBBBBCBCCCBCCBBBBCCBBBBCBBCCCCBCCBCBCBBBCCCBBCCBCCBBBCBBCBBCBBCBBBBBBBBCBCCCBBCBBCCCBBCCCCBCBCBCBCBCCBCBBCBBBBBCCCCBBCBCBCBBBCCCBBBCBCCBCCCCBCBBBCBCCCBBBBBCCCCBCBCBBBBBBCBBCCBBBBCBCCCCCBCCBBBCCBCBBBBBBCBBBBCCBBCBCBCCCBCCBBCCCBBCBBBBBBBCCCBCBCBBCCBBCCBCCCBCCBBBCBBCCCBCCCBCCCCCCCCBCCCCCBCCCBBBCBBCCCBCCBBCBCCBBBCBBCBBCBBBBBCCBBBCCCBCCBBCCBCBCCBBBBBCCCBCCCBCCBCCCCBBCCBBCCBCBCCCCCCBCBBCBBBBBCCCCCCBBCBCBCCBCCCBCBCCCCCCCCCCCCCCBCBCCCCCCBCBCBBCCCBBBBBCBBCCCBBBBBCCBCBBBCBBBBBCBCBBBBCCCBCCBBBBBBBCBCBCBCBCCBBBBCBBCBBBBBCCBBBBBBCCCBCBCBBCCBCCCCBCBBBBBBCBBBCCCBBBCBCCBBBCCCBCBCCCCBCCCCCBBCBBBCBCBCCBCCCCCBCBBBBCBCCBCCBCBBBCBBCBBBCBCBCBBBCBBBCBBCCBBCBCBBCCBBCCCBCCBCCBCCCBCBCCCBCCCBCCBCBCBCCCCCBBCCBCBBCCCBCBCBBBCBCBBCBCBBCBBBBCBBCCCCBBCCCBCCCCCCBBBCCCCCCCCCBCBCBBBBBBCCCBBCCBCCBCBBBCCBBCBCBCBCCBCBCBBCCBBCCBCBCCCCCBCBBBBCCBBCCBBBBCCBCCBBBCCBBCCBBBBCCCCBCCBBBBCBBCCCCCCBCBBBBCCCCCCBBCBCBCCCBBBCBCBCCCBBCCBBBCBBCBBBBBBBBBCBCCBCCBCBBCCBBCBCBBCBBBBBBBBBBCCBBCCBCCCBBCCBCBCBCCCCBCCBCBBBBBBBCCBCBCBCCBCCCBBBBCCCCBCBCCCCCCCBBCBBCBCCCBCCCBCBBCBCCCBBBBBCCBBCBBCCCCBCCCCCBCCBBCBBCBBBBBBCCCBCCBCBBCCCBCCCBBCCCCCCBCBBCCBCBBBCCCCBBBCBBBBBCCBBBCCCCCBCCBCBCBBCCCCBCCBBBBCBCCCBCBCBBBBCCBCCBBCCBBBCBCCBCCBCBBBCBCBBCCBBBBBBCCCBCCBCCBCCBBCCCBBBBCBCBCBCCCBBBCBCBBCCCBCCCCCCCCCBCBBBBBCBCCBBCBBCBBCCCCBCCBBCCCBCCBCCCBBBBCCCCBBCBCBBCCCBCBBCBBCBCBCCCBCCBCBCBCCBBBBCCCBCBBCCCCCBBBBBCBCBCCBCBBCBBCBBCCBCCCBCBBBCBCBBBBCCCBBBBBBBCBBCBBCCBBBCCCBCCCBCBCBBBCBCCBBBCBCCBBBCBCBCCCBBCBBBBCCBBBCCBBBCCBCBBBCCCBBBCCCCCBCBBBBCBCCBCBBCBBCCBCCCBCBBBCBBBCBBCCCCCCCBBCCCCBCBCCBBCBBCCCBBCBBCBCCCCBCBCCCCCBCCCBCCBCBBCCBBBCBBBCCCCBBBBCCCBCBBCBCCBBBBCBBBBCCCBBBCBCCBCBCBCCCBBBCCBCCCBBBCBCBBCBBCCBBCBCCCCBBBBBBBBCBCBCCBCBCBBCBBBBCBCBBCBBBCBCBBCCBBCBCCCBBBBBCCBBBBCBCBBBBBCBBBBCBCCCCCBCBCCBCCBBCCBCCBBCBBBCBCBCBCBBBCCCBCBBBBBBCCBBCCBCBCBBBBCBCBBCCBCCCBBBBBBBBBBCBBBCCCBBCBCBBBCBBBCCCCBCCBCBBBBBCCBBCBBCCCBBCBBBBBCBBCCBBBBCBCBBCCCBBCBBCBCBCBCBBBCCCCBBCCCCCBBBCBBBBBBBCBBBCCBCBBCBBBCBCCBCBBBBCBBCBCBCBBBCCBCCBBBBCBCCCCBBCBBCBBCCCCBBBBBCCCCBCBBCBBBBBBBCBCBCCCCCCCCCBCBCBBBBCCCBBBCBBCCBCBBCBBCBCCBCCCBBBCCBCCBBBCBCBCBBCCBCBBCCCCBBCCCBBCCCBBCCBBBBCCCCBCCBBCCCCBBBCBBCBCCCBCBCCCBCBCBCCCBBCCCCCBCBCCCBCBCCBCBBCCCCCBBCCCCCBCCBCCBBBBBCCCCBBCBBCBBBBCBBBCCCCCCBBCCCBBBBBBCCBBCBBCCCBBCBBBCCCBCBCCBCBCCCCBCCCCBCCCBBBCBBCBCCBCBBCCBBBCCBBBBCCBBCBBBBBCBCBBCBBCCCCBBBCCBBCCBBBBCCBCCCBCCCBBCCBCBBCBCBBBBCBCBCBBBBBCBBCCBBCCBBCCBBBCCCCCBCCCBBBBCCBCBCBCBCCBBBBCBCCBBCCCBCCCCCBBBCCCBBCCBBBBCCCCBCCCBBCCCCCCCBCBBBBBCCBBCCCCCBCCCBCBBCBCCBCCCCBCBBBBCCCBBCCBBCBBCBBCCCBBBCCCCCBCBBBBCBBCCCCBBBCBCCCBCBBBBBCBCBBBBCBCCCCCBCCCCCBCBCBBBCBCBBCCCCBCCBBBCCBCBBBCBBBBCBCCBBCBCBCBBBCBBCCBBCCBBCCBCBBCCBCBBCCCBBCBBCBCBCBCBBBCCBCBCBCCBBBCBCCCCBBCBBBBCBCCBBBBBCCCBBCCBBBCCCCCBBCBBBCBCCCBBCBBBCCCCBBCCBBCBCCCCBBCBCCCBBCCCBCBCBBBCBCBBBBBCCBCCBBCCBCCBCBBCCBBCBBCBCBCCBCCCCCBBCCCCCBCBBBCCCCBBBBBCCCCCBCBCBBCBBBCCCBBBBBCCCCBCCBBBCCCBBBBBCBCBCCCBCBCBBBBCCBBCCCCBCBCCCBCBBBCCBBCCCBBCCBCCCCCBCBBBCBCBCCBBBBBBBBCBCBBCBBBCCBCCBBBCCCCBBBBBCBBBBBCCCBBCBBBBCBBCBBBBBCCBBCBCCBCBCBBCCCCBBBCBBBBBCBCBCCCCCBBBBCBCCCBBCCBBCCBCCCCCBCBBCBCCCBCCCBCCBBBCBBCCCBCCCCBBBBCBCBBCCBCBBBCBCBBBBBBCBCCBBBBBCBBCCCCBCBBBCBCBCCBBBCBBCCCCCCBCCCCCBCBBBBCCBCCCBBCCBCBCBCCCBCBBBBBCBCCCBBCBBCCCBBBBBBCCCBBCBBCCBBBBBBCBCCCBBCBBCBBBBCCCBBBCBCCBBCCBBBBBCCCBBCCBBCBCBBBCBCBBBCBBBBBBCBCCCBBCCCBCCCBCCBBCBCBBCCBCCCBCBBCBCCCCBBCCCBBBBBCBBCCCBCCBBCBCCCBBCBCBCCBBCCBCCBCBCCCCCCCCBBBBBBCBCBBBBCBCBBBCBCCBBBCCBCBCCBCBBCBCBCCCCCBBBCCCBCBCBCBBBCCCBBCCBCBBCCBBCBBBBCBBBCBCBCBBCCCBCCCCCCCBBBBCCCBCCCCBBBBCBBCCBBCCCCCCBBBBBBBCCBBCBBCCBCCCCCBCCCBBBCCBCCCBCCCBCCBBBBCBBCBBBCBBCBBBCBBBBCBBBBCBCBCBBCCBCCBBBCBBCCBCBBCBCCCCCBBBCCCCCBCBBCBCBBCBBCBBBCBCBBCBCCCBBBCBCBBCBCBBBCBCBCCCBBCBCBCBCCCBBBCBBBCCBBBBCCBCCBBBCBCCCBCBCCBCBCBBCCBCCCCBBBBCCBCBCBCBCCCCBBBCBCCBCCCBCBCCCCCCBBCCCBCBCCCBBCBBBCBBBBBBBBCCCCBCBCCBBBCCBCBCBBBBBCBCCCBCBCBBCBCBBCBCCCBCBCBBCCCBCCCBCCBBCBCCBCCBCCBBBBBBBCBBCBCBBBBBCCBBCCBBCBBCCBCCCBCCCBBBCBCBCCCCBCCCBBBCCCBCCBBBBCBCBCBCCBBBCCBBCCBBBCBCBCBCCCCBBBBBCBBCCBBBCBCCCBBCBCBBCCCCCCCCBBBCCCBCCBBBCCBCCBBBBCBCBBBBCBCCBBBCCCCCCBCBCCBCCCBBCBCCCBCCBCBBCBBCBCBBBBBBBBBBBCCBBCBBCBBBCBBBBCBCBCBBBBBCBCBCBCBBCBBCCCCCBBCBBCBBBCBBBCCBBCCCBCBCCBBBCBBCCBBCBCBBCCBCCBBBBBCCCCCBCCCBBCBCCCBCBBCBCBBBBCCBBCBCBCBCBBBCCBCBCBBCCBBCCBCCBCBCBBBCBBBCBCCCBBBCCBBCBBBBBBCCBBBCCBBCCCBCCBCCCBBBCCBBCCBCCCBBCBCBCCBBBCBCBBBCCBCCBCBBBCCCCCBBBCBCCBBCBCBBBBCBCBCCBBCCBBCCCBCCCCCCCCCBBCCBBBBCCBBBBCBBCCBBCBCCBCBBCBCCCCBBCBBCBBBCCBBCBBBBBBBCCCCCCBBCCCBBCCBCCBBBBCCBCCCCCBBCBBCCBCBCBCBBBCCBBBCCCBCBCCCCBBCBBBCCCBBCCCCCCCCCBCCCBCCBBBBCCBBCBBBCCCCCCBCCBCCCCBCCCBBBBBCBBBCBBCBCCCBCBCCCCCBCBCBCCBCBBBBBBBBCCBCCCCBBCCCBCBBCBCCBCCBBBCCCCCCBBBCCCCCCBCBCBCCBBBCBCBCCBBBCBBCCBBCCBCBCBCBBBBCCBBBBCBCCCCCBCBCCBBCBBCCCCCCBBBBBBBCCBCCBBBCCBCBCBCCBBBCBBBCBBCCCBBCBBBCCBBBBCCCCBBBBBBCCCBCCCBBBCCBCBBBBCBCCCBBBBBCCCCBCCCCBCBCCCCCCBCBBCCCBBBCCBCCCBCCCBBCBBCCBBBCBBCBCCCCBCBBCCBCCBBBBCCBBCBBCCCBBBCCBCBBBCCCCCBCCCBBCBCCCBCBBBBBBBBBBCCCBCCBBCBBCBBBBBCCCBCCCBBBBBCBBBCCCBBBCCBBBCBCBBBCCBCBCCCCBBBBCCCBBBCBBBCCCBCCBBBBCCCBCCBCBCCCBBBBBCCCCCBCBBBCCBCCCCCBCCCBBBCCCCCCBBBBCBBCBBBBCBBCBCBCCCCCCCBCBBBBCCCCBBCCCBBBCCBCCCCBCBCBCBCCBCCCBBBBCCBBBCCCCBBCCBBCBCBCCBCBBCCCBCBBBCCBBCBBBCCBCBCBCBCBCCBBBBCCCBCCBCBBCCCCCBCCCBBCCCCCBBCBCBBBCCCBBCBBCBCBCCCBBCBBBCCCBCBBCCCBBCCBBCBCCBCBCCBBBCBBBCBCBBBCCBCBBBBBBBCCCCCCBCCBBBBBBCBBBBCCBCBCCCBCCBBBCBCCBBCCBCBCBCCCCCBBCCBCBCBBBCBBCCBCCBCBCBCCBCBCBBBBBBCBBCBCCBCCBCBBCBCCBCCCCBCCBBBCCBCCCBBCBBBCBBBBBCBBCCBBCCBBCBCBCBBBCCBBCCBBCCCBCBBCCBBCCCCBCCBCCCCBBCBBBCCCCCBCCBCCBCCBBCBCCCBBCCCBCBCBCBCBBCCBBBBCBBBCBBBBCCBCBBBCBBBCBCBCBCSBBCBCBBCCCCCBBCCBCBCCCBBBBCBCCBBBCBCCBBCCBCBBBBBCBCBBBCCCCBBBBCBCBCBBCBCBCBBBBCBCBBBCCCCCCBBBCBCBCBCCCCBCCCBBBCBBCBBCBBBCCBBCBBCBCBCCCCCCBBBCCBBCCCBCBCCCBBCBCCBBCBCBCCCCCBBBBBCBCBBBCBBBCBCSBBCCCCCCCCBBBBCCBBCBCCCCBCCCCBCBCBBCBCCBBBBCBCBCCBBBCBBBCCBCCCBBBBCBCCCCCCBBBCCCBBCCCBCCBBCBCCCCBCBBCCCCCCCCBCCCCBBCBCCBBCCCBCBBBCBBCCBBCCBCBBCCCBBCCCCCCBBBBCBBCBBCBCBBBBBBCCBBBBCCBCBBCCBBBCBCCCCCBBCCCCCCCBBBBCBBCCBCCCBCBBCCCBBBBCCCBCCCBCBCCCCCBCCBCBCBCBCCBCBBBCCBBCBBBBBBCBCBBBCBCCCBBCBCBCBCBCBCBBBBBCBCCCCBCBBBCBCCBBBBCBCBBCBCBCBBBCBCBCBBBBCCCBCCCCBBBBCBCCBCCCCBBCCCBCCBCCCBCBBBCBCBBCCCBCBCBCBBBBBBCBCCBCCCBCCBCCBCCBBCBBCBBCBCCCCBCCCBCCBCCCBCBBBBCBBBCCCCBBBCCBCBBBCCBCBBBCCBCCCCCBBBBBBCCCBBBBBBCCBCBBCCCCBCCCCBBBCCCBBBBBBCCBCBBCBCCBBBBCBCCCBBCCCCCBCCBBBBBBBBCBCBCCCCCCBCCBBCCBBCCCCBBBCBCBCBCCBBCBCCCBBBBBCCCCBBBBBCCBCBBBCCCBBBCCBCCCCBBCBCBCBCCCCCCBCBCBBCBBCCBBBCBCCCCBBBBBCCCBBCBCBCBCCBBCCBBBBBBCCBCBCBBCCBBCBBBBCBCBBBCBCCCBCBBBBCCCCCCCBCBBCBBBBBCBBCBCCCCCBCBBCCCBCBCBCCCBCCCCBBCCBBBCBBCCBBCBCCCBCCCBCCCCCBBBBBCBCBBBCBCCCCBBCBCBBBCCBBBBBBCBBCCCCCCCBCBBCBBCCCCBBBBCBBCCBBBCBCBCCCCBBCBBCCCBBCCCCCCCBBCBCCCBCCCBBBBCBCCCCBCCCBCBBBCBBBBCBCBBBCBCCBCCCBCCBCCBCCCCBCBBCCCBCBBCCCBBBBBCBBCCBCCCBCBBBCCBBCBBBCCBCCBCCCBBBBBBBCCBBBBBCBCCBBBCCCBBBCBCCBBBBCCCBCBCCBCCCBBCCCCBCCBCCBCCCBBCCBCBCCCCCBCCBCCBCBBBCCBCBCCCCBBBBCBBCCBBCBCCCBBBBCCCBCBCBCCBCCBBCCBCBBBBBCCBCCBBBCBCCBBBBCBCCBCBBCCCCBCBCBBCBBCBBBBCBCBBBBBCBCCCBBBBBBBCBCBCBBCCCCCBBBBCBCBBBCCCBBCBCCBBBCBBCCBCCCCCBBBCCBBCCBCCBCCCCBBBBBCCCCCCCCBCBBCBCBBCBBCCCCBBBCCBBCCBBBBBCCBCBCBCBCBCCBCCBCBCCCBBBCBCCCBCCBBBCBBBCBBBCCBCCBCBCCBCBBBCCBBCCBCBCCCBCBCCCCCBBCBCCBBCBCBCCBBBCCCBBBCCBCBCBBBCCCBCCCBBCBCBCCCBBBCBBBCCBCCBCBBBCBBCCBBBBCCCBCCBCBCCCCBCCCCBCBBBCBBBCBCBCCCCCCCCCBBCBCCBBCCBBCCBBBCBCBBBCCBCCCCBCCBCCCBBBCCCCCCBBBBCCBCBBBBCCCBCBBBBBCCCCCBCBBBCBCCCBBBBCCBBBBBBCCBBCBBCBCBCBBCCCCBBCBCBBCBBBCCCCBCCCCCCCCCCCCBCBCCBCBCCBBCBBCCBCBBCBBCBCBBBCCCBCCBCCBBBCCCCBBCBCCCCCBBBBBBCCBCBBCCCCBBBBBCCBBBCBCCCBBBCBBCCCBBCBCCCBCCBCBBBCCCCCCCCCBBCCCCBBBCBBBCBBCCCCBBCCCCCCBBBBBCCBCCCCCBBCCBCBCBBCBBBBBCCCBCBCCBCCBCBCBBBCCCBBCCBBBCCBBCCCBBBCBBBBBCBBBBCBCCBBCCBCBBBBCBBCCBBCBCCBCCBBCBBCCBBBCCBBCBCCCCCBBCBBCBCCCCCCCCBCBBCCCCCCCCBCBBBBBBCBCCCBCCCCBCBCBCBCCCBCCBBCCBBCBCBCBCBBBCBBCCBBBCCCBBCBCBBCCBBCCBBCCCBCCCBCCBBBCBBCBBCCBCBCCBCCCBCBCCBCBCBCBBCBCBCBBCCCCCCBCBCCCBBCCBBBCBBBCCBBCBBCBBBCBBBCCBCBCCBCCBCCBBBBBCCBCBBCCBBBBCBCBBCBCBBCBCBCCBCBCCCCCBCCCBBBCBBCCBBBCCBBCCCBBBBCCBCCCBBCCBCBCBBCBBCBBCCBBCBCBBBBCCCBBCCBBBBBCCBBCBBBBBBBCBBCBCBBBCCBCBCBBBCBCBCBCBCCBCCBCCBCCCCBCBBBCCCCCCCBBBCCBCCCBBCCBCBCCBCBCBCBCCBBBCBCCBBCCCBCCCCBCBCCBCBCCBCBCCBCBBCCBBCBCBCBBBCBCCBCBBBBCCCCCBCBBBBCBCCCBBBCBBCBBCCCCBBCCCCCBBCCBCBBBCCCBBCBCCBCBBCCBCBBBCCBCCBBCBBBCCBCCBCBCCCBCBCBBBCBCCBCBBBBBCBBCCCCBCCBBBBBCCBBCBCBCCBCBBBBBBBBCBBBBBCBBBCBCBCBCBBBBBCCCBBBCBCBCBCBBBCCBCCBCCCBCCBBCCBCCBCBCCBBBBCCCCCCBCBBBCBBCCCBBCCCBCBCCBCBBCBBBBCCBCBCCBCCBCBCBBCCCBBCBCCCCCCCBBBBBBCBCBBCCBBCCCCBCCBBBCCBCBBBBCCBBBCBBBBCCBCCBCBBCBBCBBBBBCBCCCCBBBBBBBCBCCCCBBBCCCBCCBBBBBCCCCBBBCCBCCBBCCBBBCCBBCBCCCCCCCBBCCBBCBBBBBBCBCCCCCBCCCCBCCBBCBCCBCCCBCBBBCBCBCCBCBCBBCBBCCBCCBBBCCBBBCBBCCBCCBCBCBBCBCCBBBBCCCBBBCBBCCBBBCCCCCCBBCCBBBBCBBBBBCCBBSBCCBBCBBCBBCBBCCCCCCCBBCCBCBCCCBBCCBCBBCCBCBCBCCBCBBCBCBBBBCCCBCBBBCCCCBCBBBCCBCCCBCCCCBBCBCBCCBBBCBCBCBCBCBBBBBBCBCBBCCCCBBBBCCCBCBCBBBCBCCCCBBCCCCCBCBCCBCCBBBBBCCCCBCCCCCBCCBCCBCBCCCCBBBCBBCCBCBCCCBBCCBCCCBBCCCCCBBCBBCCCBCCBCCCCCBBBBBBCCCCBCCCCCCCBCCBBCCCBBBBCCCCBCBCBBCCCBCBCBBBBCCCBCBBBCCBCCBCCCCCCBCCBCBCCCBCBCBCCBCBCBBBBBBBBBBCBBCCBCCBBBBBCBCCBCBBCCCBCBBBCCCBCBCCCBCCBCCBCCBBBBCBCBBBBBBCCBBCCBBBBCBBBBCCCCBBBBBCCCBCBCBCCBCCCCBBCCBCCBCCCCCCBCBBBBCBBCCBBCBCCCBBBCCBBBBBCCCBCBCCCBCCBCBBCBBBCBBCCCCBBBCBBCBCCCCBBBBCBBBCCBCBCCBCCCBCBBBCCBBCBCBBBCCBCCCBCCCCBCCBBCBCCBCCBCBCBCBBBCCCCCBCBBCCBCCBBBCCCCBCBCCBCBCBCCCBBCBBBCCCBBBCCCBBCBBCBBCBBBCCBBCCCBBCCBCBCBCBBBBCCCCCCBBBBCBCBBBBBCCCBCBCCBBCBBBCBCCCCCCBBBCBBBCCCCCCCBCBBCBCBBCCBBCCBCCBCCBBCBBBCCBBCCCCCCBBCBCBCCCBBBBBCCBCCCCBCCBBBBCBBBBBBBCCCCBBCBBBBCBBCBBBCBCBBCBCBCCBCBCCBBBCBBBBBBBBBCCBBBBCCBCCBCBCBCBCCBCBCBCBCBCBBCCCBCCCCBBBCCCCCCBCBCCBCBBBCCCCBBCBBBCCCCBBCCCCBBBCBBBBCCCCBBCCBCCBBCCBCCCBCBCCCBBCCCBCCCBCBCCBCBCCBBBCCBCBCCCCCCCCBCCBBBCBBCBCCCBCBBCBBBBBCBCCCCBCBBBBCBBBBCBCBBBBCBBBCCCCCCCBBBCCCBCBCBBCCCCCCBBBBCBCBCCCBCCCBBBBCCBBBBCBCCBCBBCBBBCCBCCBBBBCBBBCCBBBCCBBCCBBCCCBBCBBBBBBBCCCBCCBCCCCCBCCBBBBBBBBCCBCCCBBBBCBBBCBCCBCBCCBCCBCBBBCCBCCCBBCBCBCBCBBCBCBCBCBBCBCBCBBBBBCCBCCBCCCCCBBCBCCCBCBCBBBCBBBBCBCCBCCCBCCCCCBBBBCBBBCBCBBBBCCCBCCBBCBCCBBBBBBCCCCCBCCCCBCCBCBCCCCBCCBCBCBCCCCBCCBCCCCCBBCBCBBBCBBCBBCBCCCCBBBCCBBCBBBCCBBCCCBBCBCBCCCCBBCBBBCCCBCCBCBBCCCCCBCBBCCCCCCBCCCBBCBBCCCBCCBCCCBCBCBBBCBCCCCBCBBBBBBCBBBCCCCCCBCBCCBBBCCCBCCCCCBCBCCBBCBBBCBCCCCBCCBCBBBBBCBBBBCBBCBCBBCBCCBBBBBCCCBBBCCCBBCBBCBBCBBBBCBBBBCCBBCCCBBCCBCCCCCCCCCCBBCCCCCBCBBCCBBCCCBCBBCCBBBBBBBCBBBCBCCBCBCCBCCCCCCBBCBBBCCCCBCCBBCCBBBCBBCCBBBBCCCCCCBCBCCCCBCCCCBBCBCBCBBBBBBBBBCCCBCBBCBBCBCBBBBBBCBBCCBBCCCCBCBBBCCCCCCCBCCBBBCBCBBBBBBBBCBBBBBBCBCCBBBCBBBCCBBCCCBCBCCBBBCCBCBCBCCCCCCBCCCBBCCCBCCBBCBCCCBBCBBBBCCBCBBCCBCBCBCCCBBCBBCBBBCCBBCBCCBCBBBBCCCBBBBCBCBBBCBCCBCCCCBCBCCBCBCBBCCBBBBBBBCCBBBCBCCCBCCBCBBCBBCCCCCCCBCBBCBCBCBCBCBCCCBBBCBCBCBCBCCCCBCCBBBBBCBCBBCCBCBCCCCBBCCCBBCBBCBCBCBBBCCBBCBCBBBBBCBBCCBCCBCBCCCCCCBBCCBBCBBCCCSCBBCCBCCCBCCCCBCBCCCCCCBBBBBCBCBCBBCCCBCCBCBCBBBCBCBBBBBBBBCBCCCBBBCCCCCBCCCBBCCCCBBCCBBBBCBCCBBCCBCCCBBCCCBBBBBCBBBCBBCSCCBCCCBBBCCBCCBCCBCCBCBBBCCCBBBBCCCBCBCCBCBBBBCBCCCBBBCCBCCBCCCBBBCBCBCBCBCCCCBCBBCCCBBCCCCCCBCBCBBBBCCBBBCBCCBBCBBCCBCBBBCCCCCBBCCCCCBBCBCCBBBBBBCCCBBCCCCCBCCBBCBBCCBCBCBCBBBCBBBCBCCCCBBCBBCBCCCBBBBBBCBBBBCCBBCCCCBCBBCCBBBBCCCBCBCBBCBCCCCCBCBBCBBBCCCCCBBBBBCBCCCCBCBCCCCBBCBCBBBCBCBCBBBCBBCCBCBCBBBCBCBBBBBBBBCBBBCBBBBBCCCCCBBCBBBCBBCCBBBCBCBBBCBBCBBBCBCCBCBCCBCBCCBBBBBBBBBBBCCCBCBCCBCBCBBCBBCCCCCBBBCCBCCBBCCBBBBBBCCBCCBCCBCBCCCCBBCBBBCCCBBCCBCBBCCCCCBCCCBBBBBBBCCCBBCCCBCBBBCBCBCBBBCBBBCCBCBBBBBCCCCBBCCBCBBBBBCBBCBBBBCBCCBCBCBCBCCBBBCBCCCBBBBCBBBBBCCBCCBCBCCBBCBBCBBBCCBBBCCBBCCBCBBBBBCCBBCCBCBCCBCBCBCCCCBCBCCCCCCCBBCCCBBCBCCBBBBCCCCBCCCBBCCBBBCBBCCBBBCCCBCCBBBCCCBCBCBBCCCBCBCCBBCCBCCBBCBCBBBBCBCCCCBBBBBCBCCCBBBCCCCBBBBBCBBCBCCCBCCCBBCBCBCCBCBBCCBBBBBBCBCBBCBBBCBBCCBBBBBCCBBBBBBCBBCBCCBCBCBBCCCCBCCBCBCBCCCBBCCBCCCBBBCCBBCBBCCBCBCBCCBBCBCBBBBBCCBCBBBBBBBBBBCCCCCCCCCBCCBBCCBCCBCCBBBCCBBCBCBCBBBCCBBCCBBCBBBCBCBBBCBBCCBCBCCCCCBCCCCCBCBBBBCCBCCBBCBCBCCCBCCBCBCCBCBBCBCBCCCCCCCCBBCCCCCCCBBBBBBBCCCCBBBBCCBCBBBBBCCCBCBBCBCCBCBCCCCBBCCCBBBBBBCBCBBBCBCCCBBCCCCCBBCCCCCCCCBCBCBBCCBBCCCCCCCBBBCCCCBBBBBBCBCBCCBCCBCBBBBCCCCCCBBCBBBBCCBCBBCBCBCCCBBBBCBBBBBBCBCBBBBBBCBBCBCCCBBCCBBCCCCCBBBBBBBBBBCCCCCBCCCCCCBCBBCBBCCBCCBBBBBBCBCCBBCCBBCCCBBCCCCCBCBBCCBCCCCCCBCBBBBBCBBBBCCCCBCBBCCBCBBCBCBBBCBCCCBCBBBCCCCBBBBBCCCCCCBCCCCBBBCBCBCBBBCCBCCBBCBCBCBCBCBCCCCBCBCCBBBBBCBBBBCBBBCCBCCBBCBBCCBCCBCBBBCCCBBBCBCBCBCCBBBCCBCBBCCCCBCBCBBBCCBBBBCBCCBBCCCCCCCBBCCCBCCCCCCCBCBCCBCBBBBBBBBBBBBCBBBBCCCCBBBCCCBCCCBCBBCCCCCBBCCBCBBCCBCCBCBBCBBBCCBBBCBBBBCCCBBCCCCCBBCBBCBCCCBBCCBCBBCBBCCBBBBCBBCBBCBCBBCCBCCCBBBCCCCBCCBBCBCCBCCCCBCCCBBBCBBCCCBCCBBBCBCCCBCBCBBBBBBCCBBCCBBBCCCBCBBBCCCBBCCCCCBBCCBCCCCCBBBCBBBCBBBBCBBCCCBBBCCCBCBCBBBBBBCBBBCBCCBBCCCCBBBCBBCBBBBCCCBBCCCBCBCCCBCCCCBCBCCBCBCBBBCBCCBCBBBCCBCBCCBBBCCCBCBCCCCBBCBBBBBBBCCCBCCBBBBCCBBBCCCBCCBCBCBCCCCCCBBCBCBCCBCCCBCCCCCBCBBBCBCBCCCBCBCCBCCBBCCBCCCBBBCBBBBBCBBCBBBBBBCBBBBCCCCBCCCCCCBBBBCBBBBBCBCBBCCBCBBBBBCBCBBBBBCBBCCBBCCCBBCBBBCBCBBBBBBBCCCCBCCBBCCBCCCBCCBBCBBCCBBBCCBBCBBBBBBBBCBCCCBBCCCBBCBCCCBCBCBCCBCCBBBBCBBBBBCBCBBCCCBCBBCBBBBCBBCCCBBBBBBBBBCCCCCBBBBBBBCCCCBBBBBCCCCBCBCCCBCCCBCBCCBCCBCBBBBCBBCCBCCBCCBCCBBBCCBCCCCBBCBBBBCCCCCCBBBCBBCCBBCBBBBBCCCBCCCCCBBCBBBBCCCBCCCCCCCCCBCBCCCCBCCBCBBCBBCBCCBCBCCBCCCBBBCBBBBCBCCCCBBBBCCCBBCCCCCCBBBBCBBBBBBBCBCBCBCCCBBCBBBBBCCCCBCCBCCCBBCBCBCCBBCCBCBCCCCCBCBCBBBCBBBCCBCCBBBBBCBCBBBBBBBCBCBBCCCBCBCCBBCBCCBBBCBBCBCBCBCCBBCCCBCCBCCBBCCCBBCCCBBBCBBCBCBCBCCBBCCBCCBCCCCBCCBBBCCBBCCCCBCBBBCCBCBCBBBCBBBCBBBCCCCCCBCCBBBCCBBCBCCBBCCBBBCCCBBCCBBCBCCCBCCCCBBBCBBCCCBCBBCBBCCCBBCCCCCBBCCBCBBCCCCCCBCBBCCCBBCCBCBCCCCBBBCBBCCCBCCBCBCCBBCCCCBCBCCBBCBCBBBBCCBBBBBCCBCCBCCCCCCBCBBCBBBBCCCCBCBBCBCCBCBBBCBBBBBCBBBCCCBBBCCCCBBCBBBBBBBCCBBCCCCBCBBCCBBCBCBBBBBCBBBCBCCCBBCCBCCCCBBBCCBBBCBCCCBCBBBBBBBBCBBCCCCBBCCBBCBCCCCBBCBBCCCCBCBBBCBCBCCBCCBBBCCCBBCCBBBBCBBCCCBCBCCCCCCBBCBBCCCBBBBBCBBBBBBCCCCBCCCBBCBBCBCBCBCBCCBCCBCCBCCCBBCCBBBBBBCBCBCCCBCBBCCCCCBBCBCCBBCBCBBBCCBCBCCCCBBCCBCBBBCCBBCBBCCCCCCBBBBBCCCBCBCBCBBBBBCBBCCCCCBBCCCBCBCCCCCCBBBBCBCCCCCCBCCCBCBBBBCCBBCBCCBBCBCCBCCBCBBCCCBCCCCBBCBCCBBBBBCCBBCCBBBCCCCCCBCBCBBBCCBCBBCCBCCBBCBCBCBCCBBBBBBCCCBCCBBBCCBBCBCCCCBCCBBBCCCCBBBBCBCBBBCBBBCCBCBCCBCBBBCCBCCCBBBBBBBBBBBCBCBCCBCCBBBBBCBBCBCCCBBCBCBCBCCBBCBBBBBCBCCCCBBCCCCCCBCBBCBCCCBBBCCBCCCBCBBCCCBBCBCCCBBBCBBBBCBBBBBCCBCBBBBBBBBCBCCCCCBBBCCBCBCCCCCBBBCCBCCBCBBCBCCCBBCBBCBCBCBBBCBCBCCBCCCCCBCCCBBCCBBBCCCCBCBBCBBCCCCCCBCBBBCBCBBCCCBCCCBCCCBBCCCBBCCCBBCCBBBCCBCBCCBBBBCBCBBCCBCCCBBCBCCCCBBBCBCBCBBBCBBCCBBCBCCCCCBCCCCCCCCCBCCCBBCBCCBCCCBCBCBCBCCCCBCBBCCBCBBCCCCBBCBCCCBCCCBBCBCBCCCBCBBCCCCBBCCCCCBBCBCCBCBCBBBBCBBBBCCBCCCBBBCCBBBBBCBCCCBCCCBBBCCCBBBCBBCCBBBCCCBBBCBBCBBCCBBBBCBCBBCCBCBCCBCBBCCBCBCCBCBCCBBBCBCCBCCBBBCCCCCCCBCCBCCBBCBCCCBCCBCCCBCBBBBBBBBBCCCBBCBBCBCBCCCCCBCCCCBBBBBCBBCBCBCBCBCBBCCBSBBCCCCCBCCBBBBBCBBCBBBCBBCCCBBBCBBCCCBBBBCCBBBCBCCBBCCCBCCCBCBBCBCBCBBCBBCCCCCBBBCBCBBCCCCCBBCBBCCBCBCBBBBCBCCBCCBCBCCCCCBBCBCBBBBBBCBCBBBBBBCBBBBCBCBCCBCBCBCCCCCCCCBBBBCBCBBCBBCBCCCCBCCBCBBBBBCBBBCBCCCBBBBCCBBCBBBCCBBBCBCCBBBBBCBCCBCCBBCCCBBBCBCBCCBBBCBBCBBCCCCCCCCBBCCBBCCBCBCCCBCCBCBBBCBCCBBCCBBCBCBBCCCBBBBCCCBCCBCBCBCCBCBBCCCCBBCCCBBBCBBCCCBBCCBCCBCBCBCCBBBCBBCBBBBCCCBBBBCBCBCCCCBCBBBCBCBCBBCBBBCBBBCCCBCBCCCCCCBCBCCBCBBBBCCBBCCCBBCCCBCCBBBCCCBBBBCCBBCCBBBCCCBCBCBCCBBBBCCCBBCCBCCCCCCBCBCBBBBBBBCBBCBBCBBBCBBCBCCCBCCBBBBBBCCCCCCBBBCCBBBBBCBCCCCBBCCBBCBBCBCCCBBBCBBBCBBBBBBCBCCBCCBCCCCCCBBCBCBCCCCCCCBCCCCCCCBBCBCBCBCCBCBBBCBBBCCBBCBCBCBCBBBCCCCCCCBCBBBCCBCCCCSCBBBCCCBCBBBCCCCBBCCBCCBBBCCCBCCCCBBBCCCBBCCBCBCBBCCBBBBBBBCBBBCBBCCBBCBCBCCCCBBBBBBCBCBBCBBBBBBCCCBCCBBCCCBBBBCBBBCCBCBCBBBCBBBBBCBCCBBCBBCCCBCBCCCCBCBCCCCCBCCBCBBCBBBCBBBBCCCBBCBCCBBBCCCBCCBBCCBCCCCBBCCBCCCBBBBBCCBCCBCCCCBBBCBBCBCBCBCBBBBBBCCBCCBBCCBCCBBCBBBBCBCBCBBBCCCBCBCBCCCCCBBBCBCBCBBBCCCBBBBBCCCBCBBBBCCBBCCBCBBCBBBBCBBBBBBCCCBBBBCBCBBCCBCBBBCBBBCBCBCBCBCCBBBCBBBBBCBBCCCCBBCBCCBBCCCCCBCBBBCCCCBCCCBBCCBBBBBBCCBCBBCCCCCCBBBCCCBCCCBBBBBCCBBBBCBCBBBBBCBCBCCCBBCBBCBCCCBCBCCBCCCCCBBCBBCCCCCBCCBBCBBCCBCCBCBBBBSBBCCBBCCCCBBBCBBBCCCCBCCBBBCBBBCCCBCBCBBBCBCBCBBBCBCBBBCCBCCCCCCBBBBBBBBCBCBBBBCCBCBBCCBBCCBBCBCCBCCCCBCBCBCCCCBCCCBBCBBBBCCBCCCCCCBCBCCBBBCBCBBBBCBCBCCBBBBCCCCBBCCCCBCBBBBCCCCCCCBCBBCCCBBCBCBCCCBBBBBBBBCCBCBBBBCCBCBCCBBBBCCBCCCCCBCBBBCBCCBBBCCBCCBCCCBBBBCCBCBBCBBBCBBBCCBCCCBBCBCCCCCBCCCCCCCBCBCCCCCBCCBCBCCBCCBBBCCBCCCBBCBBBCCCCBBCBBCCBBBBCCCBCBBBBBBCCBCCBBCBCBCCCCBCBBCCCCCBBBCBBCBBCBCCCCCCBCBCCCCBBBCBCBBCCBCCBCCCCCCCCCBCCCBBBBBCCCBBBCBCCCBCBCBCBBCBBBBBBCCBCCCBCCBCCBCCCCBCBCCCBCCBCBCCCBBBCCBCBCBCCCCCCBBCBBCBCCCCCCCBBBCBBCCCCCCCCBCBBBBBBBCCBCBCBBCCCBBBCCBBCBBBCCCBCBCBBCBCBCBCCBBBBBBBBCCBCCCCCCCBCCCCCCCCBCCCBCBCCCCCCBCCBCBBCCBCCCBCCBBCCBCCBBBBBBCCBCCCBCBCCBBCBBCCCBCBCCCCCCBCBBCCCCBBBBBBBCBCCBCCCCBCBCCBBBCCCBBBBBCBBBBBCBBCBCBCBCBCCCCBBBCBBCCCBBCBBBBBBBBBCBCBCCBCCCBBBCCCBCCBCCCCCCBCBBCCBCBBCBBCBCCBCBBCBCBBCBCBCBBCCBBCBBCCBBBCCBCCBBBCCCCBBBBBBBCCBBBCBCCCCBCCCCBCBCCBCBBBBCBCBBBCBCCBBCCCCBCCBBCBCBBBBBBCBBBCBCBBCBCCBCCBBCCCCBCCCBBBBCCCBBBCBBBBBBCBBBBBCBBBCCCBBCCBBCBCCCBBCCCBBBCBBCCBBCCBCCCBCBBCCCBCCCCBBCCBCBCBBCBCCCBBCCCBCBBCCBCBBBCCCBBCBBCBBBCCCCBCCCBBCBCCBBCBBBBBCCCCBBCCBBSBCBBCCCBCBCBCBCCBBCCCBCBBBCCBCBBCBBBCCBBCCBBCCBCBCCBCCBBBCCCCCBCCBBCCBBBCCBCCCCCCCCBBCBCCBBBCCCCCBCBBCBBCCCCCCBBBBBCBCBCBBBBBCCBCCBCCCCBBCBBCBBCBCCCBBCBCCCCBCCBCBBCCCBBCCCCCCCBBBCCBBBBCCBCBBCBBBCCBCCBBCBCBCCCBBBBBBCCBCCCBCCCCCBBCBCBBBBBBBCCBCCBBBBBCBBCBBBBCCBBBCCCCBCBCCCBCCCBCBBBBBBBCCCBBCBCCBCBBBCBBBBCBCBCBCCBCBCCBCCBBCCCBBBCCBCCCBBBBCCBBCBCSCBCBBCCCBCCBCCBBCCBCBCCBCCCCBCCCBBBCBCCCBCBBCCBBBCBBBCBCCBCBCCCBCCCBBCCBBCBBCCBBCBCCCBCCBCBBBBCCBBCBCBCBBBBBCBCBBCBBBBCBCCCCCCBCCBBBCBCBBBCBBBCBBCCCBCBBCCCBCCBCCBCBCBBBBCBCBCCCBBCBCBCCCCCBCCCBCBCBCBBCBCCCBCBBBBBCCCCCCCBCBBCCCBCBBBCCBBBBBBCCBCBBCCCBBBBBCBCCCCCBCCCBBBCBBCBCBBBCCBBBCCCBBBBCCBCCCCCCCBBBCBBCCCCCCBBCCCCCCBCCCCBCCBCCBCCBBCBCCCBCCCCBBBCBBCCBCCCCBBCBCBBCCCCCCCBCCCBBCCBCCCCCBCBBCCBBBBCBBBBCCCCCBBBBBCCCBCCBBBCBCCBBBBBCCCCCBBCCCBBBCBCCBBCCCBBBCBCCCCBBBBBBBBCCCBBBBCBCCBCBBCBCBBCBBCBBBCCCCCCBBBCCBCCBBCBCCBBBCCBCBBCCCBBCBCCBCCBBBCBBCCCBBBBCBBBBBBBCBCCBCCCCBCCBCBCBBCCCBBBBBCCCCCCBCCCBBCCCBCCBBCCCCBBBBBBBCBBBBBBCBBCCBCBCCCBBCCBBCBCCCBBCBBBBBCBBBCCCBBBBBBBCCCCBCBCBBBCCCCBBBBBBCCBBCCBCCCBCBCBCBBCBCBCBBBCBBCBBCBBBCCCBBBCBCCBBCBCBCBBCBCCCCBCBBBCCBBCCCBBBBCBBBCCBCBBCCBBCCBCCCBBBBBCBCBCBCBBCCBBBCCBCBBCCBCBBBBBBBBCBBBBBCCBBBBCCBBCBCBCCCBCCCBCBBCBBCCCBCBCCCBCBBCBCBCCCCCCBBBCBBCBCCBBBBBCBBCCBBBBBBCCCCCBCBBBCBCBBCCCBCCBCCBBBBCCBBCBCCBBCCBCBBBCCBCBCBBBBBBBCCCBCCCCBBCBCCCCCBBBBBCCBCCBCCCBBBCBBCBBBBCCBBCCCCBBCBBCCBCBBCCCBBCBCCBCCBBCCCBBCCBCCBCBCCBBBCCCCBCCCBBBCCBCCBCBBBCBCCBBCCCCCCBCBBCCBBCBCBCBBCCBCCCBBCCBBCBCCBBBBCCCBCCBCCBCBCBBBCBBCCCBBCCCCCCCCCCBBBCCCCBBCCCBCCCBCBBCCCBCBBCCCCBBCBBBCCBCCCCBCCCBBBBBBCBBCCCCBBCBBBBBBBBCCCBBBCCCBCBCCBBBBBCBCCCCBBBCBCBCCBBBCBBBCBCCCBCCBCBBCBBBCBBBBBBBBCBCCCCCBBBBBBBCCCBBBCBBBBCCBCCBBCBCBCBBCCCBBBBBBCBCBBCCBCCCCBBBCCBCCCBCCBCCCCCBCCBBBCBCCBCCCCCBCBBBBCCBCCCCBBBBCBBBCCCCBBBCBCCBCBBCCBCCCBCCCCBBCCCBBCCCCBBBCCBBBCCBCBCCCBBCBBBBBBCCCBBBBBCCCBCCCCBCCBCCCBSBCCBCBBBBBCCBCBBCCCBCBCBCBCBBBCCCBBCCCCCCBBCBCCCBCBBBBBCCCCBBBBCCCBBBBCBCBBBBBBCBBBCCBBCCCBBBBBCBBCCCBBBBCCCCBBCBBCBCCBBCBCCCBCBCBBCBCCCBBCBBBCCBCCBCBBBCBBCBBCBBBBCCBBBCCCCCBCBCBBBBCCCCCBBCBCBCCCBBCBBBBBBBBCCCCBBBBCCBCBCBBCBCBBCCCBCCCBBBBBBCCBBBCBBCCBCBBBBCBBBBBBCCCCCCCBBCBCBBCCCCCBBBBCCBBCCCCCBCCBBCCCBCCBCCBBCCCCCBCCBBBBBBCCCCBCCCBBCBBCBCCCCBBCBCBBCBCBCBBCCCBBCCCBCBCBCCBBCBBCCCBBCCCCBCCCCBBBBBCCBBCBBCCBBBBBCBBCCBBCCCBCCBBBBCBBBBCCCCBCCCCBBCBBBCCCBCCBCBBBCCBCCBBBCCCBCCCBCCCBBBBCBCBSCCCBCCBBBBBCBCCCBBCBCCCBCCBCCCBBCCCBCBCBCBBCCCCBCCCCBCBBBCBCCCCCBBBBCBCBCBCCCCCBCCBCBCCCBBBBCCCBCBBBCBCCBCCBCCCCBCCCCBCCCBCBBCBBCBBBCCBBCCBBBCBBBCBCBCCBBBBCCCCCCCCCCBBBBCCCBBBCCBCBBCCCCCCCBCCBCCBCCBBCCCCBBBBCCBCCCBCBCBBCCCBBCCBBCBCCCCBCCCBBCCCBCCBCBCBBCCCBCCBBBCCCCBCCCCBBBCCBCBBBBCCBCCBBBCBBCCBCBCCBBBBBCBBBCBBCBBCCCCCBCBBBCCBCCBBCBBCBCBBCCBBBBBBCBCBCCCCCBCBCCCBBBBCBBBBCCBCBCBCBBCCCBBCBCCCCBCBCBCBCBBCBCBBCCCBCCCBBCCBBCBCCCCCBCBCCCCCBCBBCCBCCCCBBCCBBBBBBBCBBBBBCBCCBBCBBBCCCBBCCBCCBBCCCCBBCBBCCCCBCCBBCCBBBCBCCBCCBCCCCBCBBCCBCCCBCBCCCBBCCBCBBBCBBCBCBCCCCBCCCBCBCBCBBBCCBCBBBBCCCBCBCCBCBCCBCCCBBCCCCBBBBCBCBBCBCBBBCBCBBCBBCCCBCCBBCBBBCCCCCCBBBCBBBBBCCBCBCCBBCBBBBBBBBBCCCBCBBCCBCCCBCBBCBBCBBBCBBBBCBBBBBBBCBCCCBBCBCCCBBBCBBBCCBCBBCCBBCBBBBCBCBBCBCCCBCCCCCBBCBBCBBCBCCBBBCBBCBBCCCBCCBCBCBBBCCBCCBCCBBCBBBCBCBBBCBBBCBCBCBBCBBCCBBCCBCBBBCCCBBBBBCBCBCCCBCCCCCBCCBCCCBBCCBBCBCBBBCCBBBBCBBBCBCCCBCBBBCBCBCCCCCCBBBCBBBBBCBBCCBBBBCCBCBCCCBCCBCBCCBCCCCBBCCBBBCCCCCBBBBCBBBCCBBCBCCCBCCCBCBCCBBBBCBCCBBBCCBCCBCBBCCBBBBCCCCCBCCCCBBCBCBCBCCCCCCCBBCCBCCBBCCCCCCCBBCBCCCCCCBCBBCBBCCBCCCBCCCBBBCBCBCBBBCCCBCBCBCBCBBCCCCCBCCBCBCCBCBBBBBCCBBBBCCBBCCCCBBCBBCCBCBBCCBBCCBBCCCBCBCBBCBBBCBBBCCBCBCCBBCBBBBCBBBCBBCCCCCBCBCCCCBCCBCCBCBCBCBBCBCCBBBCBCBCBBCCCBBBCCCBBBBBCCBCBCBCCCCBBBCBCBCBBCCBBBBCBCCCCCBBBCBBCCCBBCBCBBCBCCBCBCCCBCCBBCBBBCCBCBBCBBCBCCCBCCBCBBCBBBBCCCBCBBCBBBCCCBBCBBBBCBCCCCCCBBCCBCCCCSBBBBBCCBCBCBCBCCCBCBBBCBCCBCCBCBCCBCBCBBCBCBCCBCBBCCBCCBCCBCCBBCCCCCCBCCBCBBCCCBBBBCCBBCBBBBCBBBBBCCCCCCBBBCBBBBCBCBCCCBBCCBBBCBBCCCBCCBCBCCBBBCCBCBCCBBBCBBCBCCBBBCCCCBBBCBCCBCBCBCBBBBBCCCBBBCBCBCBCCCBCCCCBBBBSBBCBBCBCCBBCBBBBBBCCBBCBBBBBCCCBBBCCBBBCBBCCBCBCBBBCCBBCBCBBBCCBCBBCBBCCCCBBCBBBBBCCCBBCCBCCBBBBBBCBCBCBCCCBCCBCCBCCBCCCBCCBCCCBBBBCCCCBCCCBCBCCBCCCBCCCBBBCCCCBBCBBCBBCCCBBBBBCBBBCBCBCBCBCCBBCCBCBBCCCCCCBBBBBCBBCCBCBBBCBCBBCBCCBCBBBBCCCCBBBBCBBCBCCCCBBCBBBCBCBCCCBCBBBBBCCCCBBBCBBBCCBCBBCCCBBBCBCCBCCBCBBCCCCBCCCCBBBCBBBBBBBCCBCCCCCBCCBBBBCBBCBCCBBBCCCCBBBBCBCBCCCCBBCCBBCBBCCCBCCBBBCBCCBCBCCBBCBCBCBBCBBBBBCBBCCCBBBBBCCCCBBBBBCBCBCBBCBBCBCBBCCBBCCCBCCCCBCBBBCCCBCBBBBCBBBCBBCBBCCBBBBCBBCCBBCBCCBBBCBBBCBBBCCCBBCCBBCCCBCCCBBBCCBBCCBBCBBBCBCBBCBBCBBCBCBCCBBCCBBCBBCBCBBCBBBBCBCCCCBCCCCBCBCBBCBBCCCCCBBCCBCBBCCCBBBBBBBBCCCBCCBBCCCBBCCCBBBCBBCBCCBCBBBBCCBCCCCBCCBCBCBBBCCBCCBBBCBBBCCBCBBBBCBBCCBCCBCBCCBCBCBCCBCCCCCCBCBBBCBBCCBBCBCCBCCBBCCCBBBCBCCCBBBCCBBBBCBBBCBCBBBCCBCCCBCCCCCBBBBCBCBBCCCBBCCCBCCBCBBBCBCBBBCCCCBBCCCCBCBCCBBBCBBBBBBCBBBBBBCCCCCCBBCBCCCBBCBCBCCBCCBCCBBBCCBCBBCCCBBBBCBBCBBCBCBCCBBCCBBCBCBCBBCBBBCCCCCCCCCCCBBCBBBBBBCCBBBCCBCCCBCBCBCCBCBBCBBBBCCBBBCCBBCCBCBBCCBCBBCBCCCCBCBBCCCCCCCCCCBCCCBBBCBCCBBBBBBCCCBCBCCCCBBCCBBBBCBBBCCBCCBBCCBCBBBCCCBBCBBCBBCBBBCBCCCCBCBCBCCBBBCBBBBCCBCBCBCCCCCCCBBBBCBCBBBBCBBCBBBCCBCCCCBBBCBCBBBCBCBCBBBBBBBBBBBCCCCBBCBBBBBCBBCCBBCBBBCCCCCCBBCBBCBCCCBCBCBBCCBBBBCCBCBBBBCCCBBCBBBBCCCCCCCCBBCCBBCCCBCBBCCCBCBBBCBBCCCBCCBBCBBCBBBCCCCCBBBBCCBCBCCBBBBCCCCCBBBBCCCCCCBBBCBBCBBBCCCBCBBCBBCCBBCCBCCBCCBCCCCCCBCCBCBBCBCBBCBCCBBBBCBCCBBCBBBBCBCCCBBBBCBBBBBCBBBCCBCBCBBCCCCCCCBCBBCCBBCBBCBCCBBCCBCCBBBCCBBCBCBCCCCBBCBCBCCBCCCBBCBBCBBBBBCCBBCCBCCBBCBBCCBBBBCBBCCBCBBBBBCCBBBBBBBCCBBCBBCBCBBCCCBCCCBCCCBBCCCCBBBCCBBCCBBCCCBBBCCCCCBBCBBCCBCBBBCCBBBBCBCBCBCCCBCBCCBBCCCBCCBBCBCCCBCBCCBCBCBCBBCBBCCCCBCBCCBCCBCCCCBBBCCCBBBCBCCBBCBCBBCCCBCBCCCBBCBCCCBCCBBCBCBCCBBCBCCCBBCBBCBCCCBBCBCBBBBBBCBCCCCBBCCCCCBCBCCCCBBBCCCBBCCCBBBCCCBBCBBCBBBCBCBCBCCCCBCBCBBBCBCBCBCCBBCBCBBBCCBBBCBCCCBBBBBCBCBCBCCCCBBBBBBCBCCCCBCCCBBCCCBBBCCCCCCCBCBCCBBBCBBBBBCBBBBBCCBCBCBBCCBBBCCCBCBBBCCCBBBBBBCBBCBCBBBCCCBBCBCBCBCCCCCBCBCCBCBCBBBBCCBCBBCCCCBCBCBBBCBBBBBBCCCBCBCCCCCBBCCBBBBBBBCBBBCBBBCCCBCCBBBCCBBBBCCCCCCBCBBBBBCBBBCBCCBBBCBCBCCCCBBCCCCBBCBCCCBBCCCCBCCBCCBCBCBCCCCCBCCCCBCCCCBCBCCCBBBBCBBCCBBBCBCBBCBBBCBCCBBCBBCCCBBBBCBCBBCCBBCBBCBCBBBBBBBBBBBBCBBBCBCBBCBBCBBCBCBCCCCCBBCCBCBCBBCBBBCCCCBCCBCCCBCCCCCBBBBCBCBCCCBBBCBCBBBBBCBBCBBCBBBBCBBCCCBCCBCCBCCBBBCBBCCCCCBCCBCCCCCBBCBBCBCBBCCBBBBCCBCBCBCBBCBBBCCCBCCBBCCBCCCCCCCCBCBCCCCCBCBCBCCCBBBCBCBCCBBBCBCCBCCCCBBBCBBCCBBCCBCCBBBBCCCBCBCBBCCCBCCBCBBCBCCCBBCBCCBBCCCCBBCCCCCBBBBCBCBCBBCCBBCCCBCCCCBBBCCCBCCCBBBBCBBCBBBBCCBBCCCBCBCBCCCBCCBBCCCCBBCCBCBBCBBCBBBCBBBBBCCBBCBBCCCCBCCBCBCCBCBCBBBBBBCCCBCBCCBBBBCCBCBCBCBCBCBBCCCCCCBCBBBBCCCCCBBBBBCCBBCCCCCCBBCCBCCCCCBCCCCCCBCCBBBBBCBBBCCBBCBCCBCBCCCBBCBCCBCBBBCCCBCBBCCBCCBBBCCCCBCCBCBCCCBBBBCBBBBBBBCBBCBCBBBCBCCBCCBCCCBCCBCCCBCBBBCCBBCCBCCBCBBBCCBBCCCBBBCCCCCCCCBBBBBCCCCBCCBCCBBCBBBCBCBBCCBBBBBCCCBBBCCBCBCBCBCBBBCBCBBBCCBBBCCBCBCCCBBCBBCBBBCBCCCBBCBBCBCCBCBBCCCCCCCCCCBCBBCCCCBCCBCCCBBBBBCCCCCCCCBBBCCBCCBCBBCBBBBCCBBBCCBCCBBCBBCBCBBCCBCCBBCCBCCBBCBCCBBBCCCBCBCBBCBCCBBBCCBCCBCBBBBCCCCBCBCBBCBCCCBCCCBCBBBBBCBCCCCBBCBBBCBCBCCBCCBCCBCBBBBCBBCBBCCBCCBCCCBBCBCBCBCCCBBBBBCBCCBCBCBBBBBCBBCBBCCCCBCBCBCBCBCCBBBBCBCCBBCCCBCCBBCBCCBBBCCBBBBBCBCCBBCCCBCBBCCCBCCCBBCCCBCBBBBBBBCBCCCCCBBBBBCCBBCBBCCCCBBBCBBCCBCBBBBBCCBCBCCBCCBCCBBBBBBCBBBCBCCBCCBCBBBCCBBCCCCBCBBBBCCCCCBCCCBBBBBCBCBCBBCBBCBBBBCCCBBBCBBCBBBBBBBBBBBCCBCCBCCCBCCCCCCCBCBBCCBBBCBCBBBCCBBCBCCBBCCCCBCBCCBCBBBBBBCBBBCBCBBBCCCCBBBBCBBBBBBCBBCCCCCBBCCBCCCBCCCBBCCCCCCCBCCCCBCBBBCCBCBCCCCBBCCCCCCCCBBBBCCCBCBBCBCBBCCCBCCCCBCCBBCCCBBBCCBCBBCCBBBBCCCBCBCCBCCCCBBCBCCBBBBCBCBCBCBBBBCBCBBCCBCCCBCCCBCCCBCCCBBBCBBBBCCBBBBBCCBBCCCBBCBBBBBCCBCCCBCBCCCCCCBCCCCBBBCCBCBBCCCCCBCCBCCBCBBBCCCBBCBCBBCCCSCBBBBBBBCBBCCCBCBCCCCCCBBCBCBCBCBCBCCCBCCCBCCCBCBBBCBBBBBBCCBCBCCCBBCBCBCCBBBCCBCCBBCBCCCCCCBBBBCBCBBCCBCCCCBCCCCCBBBCBCCCCCCCCCCBCBCBBCBBCCBCCBCBBCBCBBCBCCCCBCBBCBCBCBCCBCCCBCBCBCCBBBCCCBCBBCCCBCCCBBCCBCBCBBBBCBBCBBBCBCCBCCBBBBBCBBCBCCCCBBBCCCBCCCBCBCCBBCBBBBBCCCCBCBBBBBCBBBCBCBCBBCBBCBBBCBBBBCBCCBCCBCCBCCBBCCBCBCCCBCBCCBBCCBBBCCBCBCCBBCCCBBBBBCBCCBBCBBBCCBCCCCBBCCBBBCBCBCCBCBCCCCBBBBCCCBCBCBBBBBCCCCBBCCBBCBCBCBCCCBCCBCBBCBCCCCBCCBCBCBBCBBBBBBCBBBBBCBBBBBCCCCBBCBBCCCBCBCCBCCBCCCCCBBBCCBCCBCBCCCBCBCBCCCCBBBCCCCCBBBBCBBCCBBCBBCBCCCCCBBBBBCBBBCBBCBCCCCCCCBBBCCBBCCBBBBBCBBCCCBBCCCBCBCBBCBBBBCCCCBCCCBCCBCCCCBBBCCBBBBBBBCCBBCCBCBBBBBBBCCCBBBCCCBBCCBCCCCCCCBBBCBBBCCCCBCBBBCCCCCCBBBCBCBBBBCBBBBCBBBCCCCCCBBBBCBBCCBBBCBCBCBCBBCCBCBCCBCCBBBCBCCBCCBBBCBBBCCBBCBBCCBBBBCBBBCCBBCCCCCCBBBCBBBCBBCBCBBCBCBCBCBBBBCCBCCCBBBCCCCCCBBCCBBCCBBBBBBCBCCCCBBCCBBCCCBBCBBCBCCBCCBCBBBCBBBBCBBBCCCBCBCBBCCCBBCBCCCCBBCCCCCCBBCBBCBCCBBCCCBBBCBCCCCBBCCBCBBBCBBCBCCCCBCCBBCBCBBBCBCCBCBCBCBBBBCCCCBCCCCCCCBBCCCCCBCCBBBCBBBCBBBCBCCBBCCCCCBCBBBCBCCBCBCCCBCCCCCBBCBBCBCCCCCBBBBBCBBCBCBBCBCCBBCCBCCBCBBCBCBBCCBCCBBCBCCBCCBCBBBCBBBCCCBBBCBBCBCBBBBBBBCCBBCBBCBBCCCCCBBBBBCCCBBCBCCBCBCCCCCCBCBCBCCCCBCBBBCBCCBCBBBCCCBBBCCCCCCCBCCCCCBBCBBCBBBCCBCBBCCCCCCBCCBCBCBBBBCCCBBBCCCCCBBCBCCBBCBCBBBCCCCBCCBCCBBBBCCCBCBBBCCBCCBBBCBCBBCBBCCCBCBCCBBCCCBBCBCBCCCBCCBBCBBCCBBBBBBBBCBBBCCBBCCBCCCBBCCCCBCCCBBBBCCCCCBBBBCBCBBCBCBCCCCCBCBCCCCBCCCSBCCCBBBBCCCCBBBCBCBCBBCCBCBCBBBBCBCBCCCCCCBBCCBCCBBCBBBBBCBCBCBBBBBBCBBBCCCCBBBBBCBCCCCBBBBBCBCBBBCCBBCCBCCCCBCBCCCCBBCCCCBBCCBBBBBCCBBCBBBBBBCBCCBBCCCCBCCBBCBBCBCBBBBBCCBBCBCBCCCBBCBBCCCBBCCBBBBBCCBCBCCCBCBBCBCBBCCBCCCBCBBCBBBBBCCCCBCCBBBCCBCBCCBBCBBBCBCCCBCBCCCCCCCBCBCBCBBCCCBCCCBBBBCCBBBCCCBBCBBBCBCCCBCCCCCCBCCCBCCCBCBCCBBBBBBBCCCCCCBBBBCCCCBBCBBBCCBCCCBBCBBBCBCCCCBCCBCBCBCBCBBCCBCCCBCCCBBCCCBBBBCCCCBCBBBBBBBCBBCBCBCBCBBBBBCBCBCBCCBCCCCCBBBBCBCCBBBBCBCCBCBCCCCBBBBCCBCBCCBBCCCBCCCBBBCCBCCBCBBCCBCBBBBCCBBBBCBCCCCBBBCBCCCCCCCBBCBBCCCBBCBCCBCCBCBBCBBBBBBCCCBBBBBCCBBBBBBBCBBBCBCBBBCCCCBCBBCCBCBCBBCBCBCBCBBBBCCBBCBCBBCBCCCCCBBBBBBCCCCCBBCCBBCCCBBBBBBBCCBBCCCBBBCCBCCBCBCBCBBBCCCBCCBBBBCBBCCCCBCCBCBCCCBCBCBBCCBCBCCBCCBBCBBBBBBBCCBCBBCCCBCBCCCBBBCCBBCCCBBCCBCCCCCBBBBBBBBBBBCBBCBCCCBCBCBCCBCBBBCCCCCCBBBCCCBBCBCCBBCBBBCBBCBCCCCCCBBCCBBBBCBBBCBCBBCBCCCCBCBBBCCBCCCBCBBBCBBCCBBCCCBBBBCBBCBBCBCCBCBCBBBCCCCCBBBCBBBCBBBCCCCCCCCCCCCCCCBCBBBBCCCCBCBCCBCCBCBCBBCCBBBBCCCCCBBBCCBBCCCBBCCBBBCCBCBBCBBBCCCBCCBCCBBCCBCCCBBBCBBCCBCCCCBCBCCBCBCBBCBBCBBCCBCBBBCCBBBCCBCBBCBCCBCBCCBCBCCCBCBCBCBCCCBCCBCCCCCBCCBCCBBBCCBCCBCBCCBBCCBBCCCBCBCCBBCBCCBCCBBCCCBBBCCCCBBCBCBCBCCBCBCCBCBCBCCBCBBCBCBBCCBBCBBCBCBBCBCBBCCBCBBBBBBBBBCBBBCBBCBBCCCBBBCBCBBBBCCBCCCBCCBCCCBCCBBBBBBCBBBBCBBBCCBBBBBBBCCBBCCBBBBBBCCBBCBCCBCBBBBBBCBCCBCBCBBCCCCCBCCBCCCBCBCCBCCBCCBBBCCBCCBBCCCBBBBCCCBCBCCCBBCCBCCCBCCBBBCBBCCCCCBCBBCCCBBCCCBBBCBCBCCCCCBBBCBBCBBBBCCCCCCBCCCBCBBBCCBBCCCBBCBBCCBCCCCCBCCBCBCCCBBBBCBBCCCCBCBCCBCBBBBCCBBBCCCCCBBCBBBCBSCBCBCBBCBBCBCBCBCBCCBBCCCCBCCCBBCBCBCCBCBCBCBBBCBCCCBCCBBBCBCCCCBCBCBBCCCCCCBBCBBBBCCBBBBBBCBCBBBBBBCCCBCBCCCCBBCBBCCBBCBCBCBCBCBCCCCBCCBCBBCBCCCCCCBCBBBCCBCBBCCCBBCBCBCBBBBCCBCCBCBCCBBBCCCCBCCBCCBBBBCCCCBBCCBBCBCCBBCBCCCBBCCCBBBBBCCBBCCBBCCBBBCCBBCBCCBCCCBBCBBBCBCCBCBBCCBBCCCBBBCCCCBBBBCBCCCBCCCCBCCBCCCBBCCBBCCCBBBBCBCCCCBBBCCCSBBCCCBBBCCCCCCBBCBBCBCCBCBBCBCCBCCBBBBBCBCCCBCBCBCCCCCCCBBCCCCCCCBBBBBCBBCBCCBBBCBCCBCCBCCBBCBBBCCCCCBCCCBBBCCBCCCCCBCBCCCCBBCCBCBCCBCCBBBCCCBCCCCBCBBBBCBCBCCBBBBBBBCBBCBBBCBBBBCCCCCCBBCCCCBCCCCBCCCCCBBBBCBCCBBBBBCBBCBBBBCBCBCBCCCBCBBCBCCBBCBCBCBCCCCBBCBCBCCBBCBCCBCCCCCCCBBBBBCBBCCCCBCCCBBBBBCBCCBCCBBCCBCCCCCBBBBBBCCBBCBBCBCCCCBCBBBBCBCBBBBBBCBCBCCCCBBBBBCBBBCBBCBBBBCCBCBBCBBCBBCBBCBBCBBBBCBCBBBCCBBBCCCCCCCBCCBCCBCCCCCCCBBCCCBCCBBBCCCBBCBCCBBCBBCCBBCBCBCCCCBCCBBCBBBBBCCCBBCBCCBCCBBBBCCBBBCBCCCBBBCBCBBCBCCCBCBBCBCCBBBCBBBBBCCBCBCCCCBCCCCCCCBBCCCBBBCBBCBBBCCBBBCCCCCBCBBCCCBBCCBBBBBCCCCBCCCBBCCBBCCBCBBBCCCCCCBCBBBCCCCBBCCBCBCBBBCCBBCCBBCCBCCCCBBBBCBBCBCBBBCBBBBCCBBCCBBCCBBBCCBBCBBBCCCBCCCCBBCCCCCBBCBCCCCCBCBCCBCCBCCCBCCCCBBBBCCCBCBCCBCBCCCCCCBCCCCCBBBCBCBBCCBBCCBBBBCBCCCBBBCCBCCBCBCCCCBBCCCCCBBCCCBBBBCCBCBBBBBCCCCBBCBCCBBBBCSCCBCCBBBCBBBBBBCCCBCCBBCCCCBCBBBCBBBCCBCBBBBBBCCCCCBCBCBCCBBCBCBBBBBCCCCBBCCBCBBCCCBBBBCBBCCBCBCCBCBCCBBCBBBBBBBBBBBCCCBBBBCCBCCBBSBCBCCBBBCCBCBCBCBCCCBBBBCCCBBBBBBBCBCCBCBCBCBCBCBBCCBCBBBCBCCBCBCCCBBCBBCBCBCCCBBCBCBCBBCBBCCCCCBBCBBBBCBBCBCCBBBCCBCBBBCBBCCCBCCCCCCCBBCCBBCBCBBBCBBCBCBBBBCCCBBCCCBBBBBBBBBBCBCBBCBBBCBBBBBBBBBBBBCBCCBCBCBCCBCBCBBCBBCCCCCBBBCCCBCBCCCBCCBBBCCBBBCCCBBCBBSCBCCBCCCCBCBBBCBCCCBBCCCBBBCCCBCBBBBCCBBCBCBBCCCCBBCBBBCCCCCCBCCCCCCCBCCBBCBCCBCBCCCBCCBCBBCBCCBBCCCCCBBBCBBCBBCCCBCBCCBCCBCCBBBCBBCBCBCCBCCCBCBCBBBCCCBCBCCBCCCBBCBBCCCCCBCBBBBBCCBBCCBBCCCBCCCCCBCCCBCBBBCBCBCCCBCCCCCCCBCBBCBBBCCBBCCBCBBCCCBBBCBBBBCBCBCBBBBCBBBCCCBCCCBBCCCBCCBCCCBCCBCBCCCBBBCCBCCCBCBBCCCCBBBBBBBCBCCCBBBBCBBBBBCBCCCCCCBBCBCCBBCBBBCCCCCCCCCCCCCBBBCCBBBCBBCBBBCCBCBBCCBBBCCBBCCCCBCBCBCBCBCBCBCBCBBBCBBCCCBBBCCBCBCBBBBCBCCCBBBCCBCCBBBBCBCCBBBBCBCCBCBCBCCBBBBBBCBCCBBCBBBCBCCCCCCBBCBBCCCCBCCCCBCCCCCBCBBBCBCBCBCCCBCCCBCCCCBBBCBCBBBBBBCBCBBCBCCCBBCCBBBCBCBCCBCCBCCBCBBCBBCBCCBCCBCCCCBCBBBCBCCCBBCBBCBCCBCBCBBCBCCCBCCCBCBCCCBBBBCBCBCCBCCCBCBCCBBBBCBBBCBBBBBBBCCCCCBCBCSBCCBCBBBBBBBBBCBBBBCBBCCCCCCBCCCCCCCCBBCBBBCBCBBCBBCBBBBCCCCBBCBCBCBCBBBCCBCCCBCBBBCBBBCCBCCCCCBCBCCBCBCBCBBBCCBCCCCCCBBCBBCCBCBBCCCCBCBBCCCBBBBBBCCBBBCBCCBCBBCCBCCBBCCCCBBCBBBCBCCCCCCCBCCCCCCBBBBBBBBBCBCBBBCBCBCBCCCCBBBBCCBCCBCBBCBCBCCBCCBBBCCBCCBCBCCCBBBBBBCBCCCBBCCCBCBBCBBBBBCBBCBCCBBBBCCBBCBCBBCBCBBCBBBBBCBBBCBBCCBBBBBBBCBBCCCBCBBCBCBBCBBBBCBBBBCBBBBBCCCCBBCBBBBCBCCBCBCBBCBCCBBBCCCBCBBCCCCCBCBCCBCCBBBCBCBCCBCCCBCCBBCBCBCCBCCBBBBCCBBCBBBCBBBCBBBCBBBCBCCCBCCBBCCCBBCCCBBBCBCBCCCBBBCBCBBCCBBBCBCBBBBCCCCBCBBCCBBBBBBBBBCBCBCCCCBCCCCBCCCBBBBCCBCCCCCCCCCCBCBBBBCBBBCBBBBCBCCCBCCBCCCCCCBCCBBCBCCBCCBBCCBCBBBCCBCCCBBCCBCCBCCCCCCBCBBCBCBBCBCCCBBBCCCCCCCCCCBCBCBCCBCCBBBCBCBBBBBBBBCBCBCCCCBCBCBCBBCBCBCBBCBCBBBBCBCCBBBBCBCBCCBCBCBCCCBBCBBBCBBBBBBBBBBBBBBCCCBBBCCBCBBCCCCBCBBBBBBCCCBCBCBBBBBBBCCCBCCBBCCCCCBBBBBBCBBCCCBBBCCCCCCCCBCCBCCBBCBBBCCCBCCBBCCBCBBCCBCBCCBCBBCCCBBCBBCBCBCBBBBCCCBCCBCBBBCCCBBCBBCCCBCCCBBCCCCBCBBCCBCCBBBBBCBCBBBBBBCBCBCCCCBBBCBCCBCCBCBCBCCBCBCBBBCCBCCCCBCCCBBCCBCCBCCCCCCBCBCBCBBCCCBCCBBBBCCBBCCCCBCBBCCCCBBBCCCBBBCCCCCCBCCBCBBCBBCBBCBBCBCBBBCBBCBCCBBCCBBBBBBBBBCCBBCBCCBBBBBCBCBBBCBBBCBCBCCCBCCBBCCBBBBBBCCBCBCCBCCCBCBBCCCCCBCBBBBCCBCBCCBCBBCBCCCCBCBCBCBBCCCBCBBCBCCCCBBBCBBBBCCCCBBBCBCBBCCCCCBBCBCBBCCCBCBCCBBCCBBBCBBCBCCCCBBBBCBBCCBBBBBBBBCBBCCBBCBCBBBBBCBCBBCCBBCCBCCCCBCBBBBBBBBCCCBCCCBBCBBCCBBCCCBCCBBBBBCBBCCCBBCBBBCBCCBBCCCCCBCCCCBCCBCCCCBCBCCCBBBBBBCCBBCCBCCBBBBBBCBBBCCBCBBCCBBBBBBBBCBCCBBBBBCBBCBBCCBCCBBBBBBCCBBCCCCCCCCCBBCBCBBBCCBBBCBBCCBCBBBCCCCCBCCBBCCBBCBCCBCBBCBBBCBCBBBCCCCBBBCBCCBCBCBBBBCBBCBCBCCCCBBBBBBCBCCCCBCBBBCCCCCBBCCCBCCBBBCBBCBCCBCCCCCCBCBCCBCBCCBCCCCBBBBCBCBCBBCCCCCCBCCCBBBBBCCCBCBBCBBBCBBBBCCCBCCCBBBCCCBBBCBBCCBBCCCBBBBBBCBCCCBCBCCBBBCBBCBCBBBCBBBCCCBCCCBBCBBBBBBCCBCCCCBBCBBBBBCBCCCBCCCBCBBBBCBBCCBCBBBCCBBBBCCBBCCBCBCBCBBCCBCCCCBCCCCCBCCBBCCBCCCCCBCBBBCCBBCBCBCCCCBBBBBCCBCBCCCBCCCCCBBCBBCCCCCCCBBBBBCBBBBCBCBBCBCCCBCCCCBBBBBBCBBBBCBCCBCBBBBCCCBBBCCBBCCBCCCBCCBBCBCBCBCCCCBCBCBBCBBBBBCBBBBBCBCCCCBBBCCBBBCBCBBBCCBBBBBCCBCCBCCBCBCCBBCBBBCBBCBBCBBCBBCBCBBBBBBBBCBBCCCCBCBCCCBCBBBCCBCBCCBBCCCCCBBCBCCCCCCCBBCCCBCBCCCCBCCBCCCBBBBBBCCBCBBCBCCCCCBBBBBBBCCBBBBCBBBBCCCCBCCBCCBCCCCBCCCCBCCBBCBCCCBCBBCBBCCCBCBBBCCCBBBBBCBCBBBBCCBBBCBCBCCBCCCCCCBBBBCBBBBCCCCCBCCCCBCBBBCBCCBBBBBBBCCCBBBCBBBBCCCBBBCCBBBBCBBCBCBBBBBBBBBCCCCCBCCCCCCBBBBBBBCCCBBCBCBBBCBCBCBCCCCCBBBCBCCCBCCCBCBBCCCCBBBBCBCBCCCBBCCBBBBBCCCCBBCCCCBBCCBCCBCCCBBBCBBCBCBBBCCBBCBBCBBBCCCCCBCCBCBBCBCBBCBCBBCBCBBCCCBCCCCBCBCCBCBBCCBCBBBBCBBBCBCCCCCBBBCCBBCBCBCCCCCBBCCCBBBBBBBCBBCBBCCBBCBBBCCCBBCCCCBCCBBBBBBBBBBBCCCCBCCBCBBCBBBBCCCBBCBCBCCCCCCBCCCCCBCBCBCCBBCBCBCBCBCBCBBCBBCCBBCBBBCBBCCCBBBCCBCBCCCBCBBBCBBBCBCCCBCCCBCBBCCBCCBCBBBCBBCCCBBCBBBCBBBCBBBBBBCCCCCCBBBBCCBCBCCCBCBCCCCBBCCCBBBBCBBCBCCBCBCCCBBBCBCBCBCCBCCCCCBBBBCCCBBBCCCBBBCCCBBBBCCBCBCCCBBBCCBCCBBCCCBBBCBBBCCBBCCBCBBBBCBCCCCBBBBBBBCBBCBCCBBCCCBBBCCCCCCCBCBBCBBCBCBCCCBBCBCBBBBBCCCBBBCCBCBBBCBCBCBCCBBCCCBCBCBCBCBCCBBCBBCCBBCBBBBBCCCBBCCBCBCCBCCBCBBCBCCCCBCBCCCCCBCCBBCBBCCBBCBCCBBBCCCBBBBBBCCCCBCCBBBBCCBCCBCBBCBCCBBCBBCBBBCBBBBBCBCBBCBCCBCBCCCCCBBBCCCCBCBCBBCBBCCCCCBCBCCCCCBCCBCBCBBCBBCBBCCCCBCCCCCBBBCCCBBCCCBCBCBBBBCBBCCCBBBCCBCCBBBCCCBCCCCBCBCBBBBCBBCBCCCCCCBCCBBBCCCCCCCCBCCBCBBBCBBBBCBBBBBBCCCCCBBCBBBBCCCBCCCBBCBBBCBBBBBCCCCCCCCCBCCCBBCBCCBCCCCCBBBCCBCCBBCCBCBCBCCCBBCCCBCBCBCCBBCCBBBBCBBBCCCBCBCCCBCBBCCCCBCBBCBBCCBBCCBCCBCCBCBCCBBCBBBCCCCCCBBCCCCCBBBBCBCBCBCCCBCCCBCBBBCCCCCBCBBCBCCBCCBCCBCBBCBBBBBCBCCBCBBCCBCBCBCCBCBBBBCCCBBCCCBBBBBCBBCCBCCCCCBBCCBCBCBBBCCBBCBCCCCBBBBBCCCBCCBCCBBCBCBBBCCBBBBCBBBCBCBBCBBCCBBBBBBCBCBCBBCCCBCBBCCBBCCBBCCBBBBCCCCBBBBCBBBBBBBBCCCCCCCBCBCBCCCBBBBCCCCBCCCCBBBCCCCBBBCCCBCBCBBBBCCCCBBBCBBBBBBCBCBBBBBCCCCCCBBCCCCCBBBBCCCBCCCCBBCCCBCCCCBBBBBCCBBCBBCBCCCBBCCCCCBBBBBBCCBBCCBCBCCBBCBCBCCCCCBBCBCCCBCBBCBBCBCBBBBCBCBBBCCBBCCCBCBCCBBCCCBCBCBBBCBCCBCCBBCCBBBCCBBBCCBBBBBBCBBBCCBCCBCCCBBCCBCCBCBCCBCCCCBBCBCBCBCCCBCBCBBCBCBCBCBBBBBBBCCBCCBBCBBBCCCCCBBBBCBBCCCCCCBCCBBBCCBBCCBCCCBCBCCCCBCCCBBCBBBBBCCBCBBBBBCBBBCCBCBCBCBCBCCCCCCCBSCCCBBBBBBCBCCCCCBCCCBBBBBCBCCCBBCCBBCBBCCCCBCBBBCCCCCCCCCBCCCBCBCCBBCCCCBCBBCCBBCBCCBBBCBCBCCCBCCBBBCBCBBBBBCCCBCCBBBBCBCCCBCBBCBBBBCCCCCBCCBCCCCCCCCCBBCCBBBCCBBBBBBBCCCBCBBBBCCCBBCBBBBBBCBBBBBBCBBBBCCCBCBBCBCCBBBBCBBBCBBCBBCBBCBBBCBCBCBCBCBCCCCCCBCBBBBBBBCCCBCCBCBBCCBCBCBCCBCCBBBCBCCCCBCBBCCBCCBBBCCBBBBCCBCBBBCCBBBCCBBCCBBCCBCBCCBCBBBCBCCBCBCBBBBCBSBCCCCBCCBCBBBBBCBCCBBCCBBCCBCCBBCCCBBCBCCBBCBCBBBCBBBBBCCCCCBCCCBCCCBBCCCBBBCBCBCCBCBCCBCCCBBCCCCBCBBCBBCBBBCBCCBBBCBCBCCBCBBBBBCCBBBCCBBBBCCBCBBBBBBCCBCBBCCBCBCCCCBBCCCCBCBBCCBCBCBBCCCCBBCBCBBBBBBBBCBCCCBBBCBCBBCBCCCBBCBCBBCBCBBCBCCCCBCBBCCBBBBCCBCBBCCCCBCCBCCCBCBBCCBBBCCCCCSCBBCCCBBCBCCCCBBCBBCCCBCCBBCBBBBBCCBCCBBCCCCBBBBCBCCCBBCCCCBBBBCBBCBCCBCBBBBCBCCCBCBBCBBBCBBCBCBBCCCBCBCCBBCCBBBBCCCCCBCCBBCBBCCCBBCCBCCCCCCBBBCBBBBBCBCBBCCCCCCCBCBBCCBCCCBCBBBBBCCBCBBCCCCCBBCBBCCCBCBBBCCBCCBCCBBCCCCCBCCCBCBCCCCBCCCBCCBBCBCCCBCCBCBBBBCBBBCBBCBBBBCBCCBCCBBBCBCCCBCBCCCCBBCCBCCBBCBCBBCBBBBCBCCCCCBBBBBCBCCCBBBCBBCBBCBCBCCCCCBBCCCCBCBCCBBCCCBCCCBCBBBBCCCBBBCCBBCCCBBBCBCCBCBCCCCBCBBBCBBBBBCBCCCCCCCBBCBBCCBCCBBBBBCCBCCCBBBBCBCCCBBBCBCBCBBCCBCCBBCCBBCBBCCBBBCCCCBBCCCBCBBCCBCCCCBCCBCCBCCBBBCCBBCBBBCCCBCCBCBCBBBBCCCCCBBBBCCCCCBBCBCBCCCCCCCCCCBBCBBCCBCBBBBCBBBBCBCCBCCCBCBCBBCCBBCCBBBBBBCCBCBBCCBCCBCCBBCCBCCBBCBCCBCCCBBBCCCCBCCBCBBBCCBBBBBCCBCCBBCCBCBCBBBCBBBBBCCBBBCCCCCCBBBCBCCBBCBBBCBBCCCCBBBBCCBBBBBBBBBBBBBBBCBBCCBBCBCBBBBCCBCBBCCBCCCBCCBBCBCBCCCBBCBCCCCCBBCCBCCCCCBBBCBCBBBCCCCBCCBCBBBBCCCCCCCBBCBBCCCCBCBBCCCCCBCBCBCBCCCCCCCCBCBCCBBBBBBBCCCCBBCBCCBBCCCCCBBBCBCCBCBBCCCBCBCBCCCBBCCCCCBBBCCBCBCCCCBBBCBCBBCBCCCCCBCBBCCCCBCBCBBCCCCBCBBCCCBCCBCBBBBBBBCCCCCBBBBCCCCCCCCCBCBBBBBCCBCCBCCBCBCBBCCBBCCBCCBBBBBBCCCCCCCCBCBCBBBCBBCCBCCBCCBCBBCCCCBBBCBCCBBBCBCBBCBBCBCCBCCCBCBCBCBCBCCBCCCCBCBBBBBCBBCBBCCCBCCCBCBCBCBCBCBBCBCBBBCBBCBBCCCCCBCBBBBCBBCCCBBBCCCCBCCCCCCCCCBBCCCCBCBBBCBBBBBBBBCBBCBBCCCBCBBCCBCBBCCBBBCBBCBCBCBCBCCBCCCBCBCCBBCCCBBBCCCBBBBBBBCCCBCBBBBBBCBCCBCCCBCCBBCCCCCBBBCBBBBBBCBBCBBCCCCCCBCCBCCCBBCBCCCBBBCCBCCBBCBCBCCCBBBBBBBCBCCCBBBBCCBCBCBBCBBBCCBBBBBBBBCBBBCBBBCBBCBCCBCBBBBCBBBBCBBCBCBBCCCCCCCBBCCCBCBCCBCBCBCBCBCCBBBCCCCBBCCBCBCCBBCBBCBBCCCCBBCCBBBCBBCCCBCBCCCBBCBBBCBCBBBCCCBCCBCBBBBBCBBBCCCCBBCBCCBCBBBBBBBBBBCCBCCBBCBBBBCCBBBCBBBBBCBBCBCBBBCBCBCBBBCBCBBCBCCBCCBBBBBCCBBCBBBCBCCCCCBCCCCCBBCCCCCCCBBBCCBCBBBCBCBBCCCCCCCBCBCBCBCCBBCCBBCCCCCCCBBBBCBBBCBBBBCBCBCBCCCBCBBBCCCBCCCCBBBBCCBBBBBCCCCCCCCBCBBCCBCBBCBCCCCCBCBCCCCCBBCCBCCCBBCCCCCCCCBBBCBCCCBBBCBBBCBBBBBCBBCCBBBCBBBBCCCBCBBCBCBCBCBCCBCCCCCCCCBBCBCBBBBBCCCCBCCCBCBCCCBCBBCCBBCCBBBCBBCBCCCCCBCBBCCBCCBCCBCCCBBBCBCBBBBBCBCCBBCCCBBBCBBCBCCBCCBBCBCBBBBCCBCCCBCBCCCBCCBBBCBBBCBCCCBCBCBCBCCCCCBCCCCCCCBBCCCCCBBBCBBBCBBCBBCCBBCCCCBBCBCBBCCCBCCCCBBBCBCBBCCCBBCCBCBCBBBBCCCCBBCBBCBCBCBCBCCBCBCCBCBBBBCCCBBBCCBCCCCCCCBBCCBBBCCBBCBBBBCBCCBCCCBCBCCBBBCCCCBBCCCCCCBCBCBCBBCBBBBCCCCCBCCCCCCBBBCCCBCCBCBCBCBBCBBBBCCBCBBBCCCCBCCBBBCBBBBCCBBCCBBBCCBCBCBBBCBCCBCBBBBBCBCBBCCBBCCBCBCCBCBBCCCCCBBCBCBCBBBCCBCBCBCCCCCCCCBCCBCCBCBCBBCCBCCBBBCBCBCBBBBBCBCBBCCCBCBCBCCCBCBCCCCBBBBCCCBCBBCCBBBBBCCBBBCBBCCBBBCBBBBBBBBCBCCBBCCBCBCBCBBBBBBBCBBBCCBCCCCBBCBBCCCCBCBBBCBCBBCCCCBBCBBCBCCCCBCCBBCBBCBCBBBBBCBCCBCCCBBCCBBCCBBBBBCCBBBCBBBBBCCCCCCCBBCBBBCBBBBCBBCBBCBCCBCBCBBBCCCBCCBBBCCBCCBCCBCCBBCCCBCCCBBCBBCBBBCCBCBCBBCBBCBBCCCBCCCBBBBBBCCCBBBCCBBBCCBBCCBBBCBCCCBBBBCBBCBBBBBCBCBCBBCBBBCCCCBCCCBBBBCCCCCCBBBCBBBCBCCBBCCBCBBCBBBBCBBBBBCBBBCCCCBCBCBBBBCCCCCBBCBBBCCCCBCCCBCCCCCCCBCBBCBBCCCCBBBCBCCBBCBCBCCBBBCCCBCCCCBBCBBBCCBBCCCBBBCCBBCCCCCBCBCCBBBCCBBCCCCBBBBBBBBCCCCBBCBCCBCBBCCBCCCBBCBBBBCCBCCCCBCCCBCBCCCBCCBBCCBBCCCCBBBCCBCBCCCBCCCBCCBCBBCCBBCBCBBCCCBBBCBCBBBBCBCBBBBBCCBBBBCCBBBBBBBBCBBCBCCBBCBBBCBBCBCCBBBCBBCCBBBCBCBBCBBBBBBBCBBCCBBCBBCBCCBBBBCCBBBCCBCCCCCCBCCCBBBBCCCCBCCBCBBBCBBCBCCBBBBCBCBBBBBCBCCBBBBBCCBBCBBCBBBBBCCCBBBCCBCBBCBBBCBBBCCCBBCBBBCBCCCBCCBBCCCBCCCBBBCBBBCCBBBBCBBBBCCCCCCCBCBCCCCCCCCCBCBCBCCCCCCBBBCCBBCCCCCCCBBCBBCCBBCCBCBCCCBBBBCCCBBBBBCBCBCCCBBCBBCCCBBCBBCBBBCBCCCBBBBBCBBCCCCBCCCCCCCBBCBCCBBCBCCCCBCBCBBBBBCBBBCCBBBBCCBBCCBBBBBCBCBBCBCCBCBCCBBCBBCCBCBCBCCBBCBBCCBBBBCBBCCCBCBBCCCCBBBBCBCBCCBCCCCBCCBCBCCBCCBCCBBBBBCBCCBCCCBBBCBBBBBBCBBBBCCBBBCBCCBBBCBCBBBBBCBCBBBCCCCCCCCCCBBCBBCCCBBCBCBCBCCBBCBBCBBBBCCCCCCBBBCBBBCBBBBBCCBBCBCCBBBCBBBCBBCBBCCCBBCBCCCCCCBCCBBBBBCCCCBCBCCCCCBCBCCBBCCBBBCCBBCBCCCCCBBCBBCCBCBBCCBBCBBBBBCCBBBCCCBBBCBBCCCBCCBBBBBBCBBCCBBBCCBCBCBCBCBCBBCCCCCCBCCCCCBBBBBBCBCCCBBBCBBCCCCBCBBCBBBCCBCCBCCBBCBCBBCCCBBCCBCCCCCCBCBBBCBCCCBBBCCCCBBBBBBCBCCCBBCCCBBCBBBCCCBCBBCCBBBCBCCCBBCCBBBBBCCCBCBBBBBCCCCBBCBCCBBCCBCBBBCCBCCCBCBCCBBCCCBCBCBBBCCBBCCBBBCBBBBBBCCBBBCCBCBBCBCCCCCBCCCBCCCBCCBCCCCCBBBBCBBBBCBCCBBCCCCCBBBBCBCCBCBBBCCBBBBBCCCBCCCBBBBCCCCCCCBBBBCBBCCCCBBCCBCBBBBBBCBBCBCCBBBCBBCCBCCBBCCCCCCBBCCBBBBBCCCBCBCCCCBBBCBCCCBCCBBCCCCCBBCBBCBBCBCBCCBBCBCBBBCBBBCBCBBCCBBCCCBCCCBCCCCCBCBBCBBCCCCCCBBCCBCCCBCCCBBCBCBCBBCBCBBBCCBBBCBBCCBCCCCCBBBBBBBCBCCCCCBBBCCCCBCBBCBBCCCCCBCBCCBBCBBBCBBBCBCBBBBBBBBBBCBCBCCBBBCBCCCBBCBCCBCCCBBCCCBBCBCCBBBCCCCBCCBBBBCBCCBCBBCBCBCBBCBCBCCBCBCBBCBBBCCBBBBCBBBBCBCCCBBCBBBCCCBBCBBCBCBBBCBBBBCBCBCBCBCCBCCCBCCCBBCCBBBBBCBCCBCBBCBCCBBBCCCCCCBCCCCBCBCCBBCCCBBBBCBBBCBCBBBBBBBCBCCBBCCBCCCCCBBCBCCBBBCCCBCBCCCCBCBCBBBBCBCBBCBCCCCBBCCBCBCCBCCCCCCCCCBBCBCBBBCBBBCBBCCCBCBCCBBCCCBBCCBCBBBCCCCBBCCBCBBBBBBCCBCBCBCCBBBCCCBCBCCBBCBBCBCBBCCBCBBBCBCBCCBBCBCCBCBCCBBBCBBBCBBBCCBCCBBBBCBBCCBCCBCCBBCBCBBCCBCBBBCBCBCBBCBCBBBBCBCCCCBCBCCBCCBBBCBBCBCCBBBCCBCCBCBCBBCBBCBBCCBBBCBBCCCBBCCCCBCCBCCBBCBCBCBCBBCCBBCCCCCCCCBBCBBCCCBCCCBBBBBBCCCCBCBCCCBCBBBBBCCBCBBCCBCCCCCCCBBCBCBCBCBCBCCBCCBBBCBCBBBBBCBCCCCBCBCCCCBCBBCCCBBCCCBCBBCBBBCCBCBBBBCBCCCBCCCCCCBCCCBBCBCBCBCBBCBCCCCCCCCCCCCBCBCBBBBCBBBBBBBCBCBCBCCBBBCCBCBCCCBBBBCBCCBCCBCCCBCBCBCCBBBCCBCCBCBBCCCBBCCCCBBBBBBBBBCBCBBBBBBBCCCBCCCCCCBCBCBBBBBBCCCBBBCCBCBCCCCCBCBBCCBBCBCBBCBBCBBBCCCBCBCBBCCCBBCBBBCBBBBBCCBCCBCBBBBCBBBCBCCCCCBBBCCBBCBBCCCBBCBCBBBCCCBBCBCBCCCCBCCBCCBBCBBBBBCBCBCCCBBBCCBBCCCCCCBCCBBCBBCCBCCBBCCCBCCBBCBBCBBCCCBCCCBCBCCCBCCCCBCBBBCBBCCCBBBBCBCBBBCCBCCBBCCCBBBBCBBBCCBBCCBBCBCCCBCBBCCBBCBBBCBBCBBCCCCCBCCCCCCCCCBCCBCBBBCCBCCCCBCCCBBBBBBBBBBCBBBBCCBCCCCBCCCBCCCBCBCBBCBCBBCCCCBBBCBBBCBCCBCBBCCCBCBBCCBCBBCBCBCBCBBCBCCCBBCCBCBCBBBCBBBCBBBCBCBCBCBBBBBBBCCBBCCCCBCBCBBBCCBBBCCCBBBBBBBCCCCCCCBCCBBBBBCBCCCCBCBBCCBBCCBCCBCCBBCBCBCBBBCCBBBBCCBCBCBBCBBCCCCCBBBBBCBCBCBBCBBBCBBCBBBBCBCCBCBCBCCBCCBBBCBBBBCBBCBCCBBBBBCBBBBCBBBBCBBCBCBCCCBCCCBCCBBBBCCCBBBCCCCBBCCCBCBBCCBBCBCBCBCCCBCBBCCBBCCCBBCCBBBBBCCCCCCCBBCBCBBCBBCBBCCCBCCBBCCCCBCCBBBCBCBCBCBBCBBCBCBCCCCBCCBCBBBCBCBCCCCBBBBCCCCBBBCCCBCCBCCBCCCCCCBBCCBCCCBBBCBCBBBBBBBBBBCBCCBBBBBCBCCCCCCBBBBCCCCBBBCBCCCCCBBCBBBBBCCBCCBBCCCCCBCCCCBCCBCCCCCCCBBBBCCBCBBCCCCBBCCBCBBBBCCBBBBCBBBBCCCCBCCBBCBCBBCBBCBCBBCCCBBCBBCCCBBBCBCBCBBCBCCCCBCCCCCBBCCBBBCBBBCBBCCCCCCBCCCCCBBBCCCBBBCCCCBCBBBBBBBBCCBCCCCBCCBBBCCCCCBCBBBBCCCCBBBBCCCBBBCBBBCCBCBCCBCCBCBCCCCBBCCBBCBBCBCBBBCBBCBCBBBBCCBBCBBBBCBBBBCCCCCBCCBCCBBCCBBCBCCBBCBCBBCCCBBCBCBBCCBCCBBCBBBCCCBBCBBBBCBBCBBBCCBCBCCCBCCCCCBCBBBBBBBBCBBBBCCBBBBCBCBBCBBBCCCCCBCCBCBCBBBCBCBBBBCBBBBCCCBBCBBCBCBCBBBCCBCBCBBCBCBCBCCBCBCBCCBCCCBCCCCBCCCBBBBCBCBCBBCCCBCBBBCCBCCCCBCCCCCCCCBCCCCCCBBCCBBCCCCCCBCBCCCBCCCCBBBCCCBBCBBBCCCBCCCBBBCCCCBCCBBBBBBCBBCCBCCBCBCBBCCCCCBBBBBCCCBCBCBCBCBCCCCBBBCBBCCBCCCCCBBCCBBBCBBCBBCBCBBBCBCBCCBBCCBBCCBCBCBBBBBCBBCCBBCBCBBCBCCCBCBCCBBCBCBCCBCBBCCCCBCBBCBCBCBCBCCCCCCCCBCBBBBCBBCBBBCBBBBBCCCBCBCCBBBBBCCCBCCBCBBBCCCBBBCBBBBCCCCCBBBBBCBBBBCCBCBCCCBBCBCBBSBBBBCCCCCCBCBBBCBBCBBCBBCCBBBBBCBBBBCCCBCBCCBCCCCCBCCCBBBBCBBBCBCBCBBCCBCCCBBBCBBBCBBCCCCCCBBBBBBBBBCBCCBBBBCBBBBBBBCBCBCBBCBBBCCBBCBBCBBCCBCCBBCCCBBCBCBBCCCCBCBCBBCCCCBBCBBCCCCBCCCCCCBCCCBBBCBCBBCCBCCBCCCBCBBCBCBBBCCCCBBBCCCBBCCCCBCCBCBBCCBBBCBCCBCCBCCCBBCBCCBBBBCCBBBBCCCCCBCCCBBBBBBCCCCCCBCBCCBCBBCBBBBBCCBCBBCCBCBCBCCBBBBBBCCBBBBBCCBBCCCCCBBBBCBBCCCCCBBCCCBBCCBCCCCCBBCBBCBCCBBCBCCBBCCCCCCCBBCCCBCCCCBBCBBCBCCBBBBBBBBCCCCCBCCBBCCBBBCBBBCCCCBBCCBCBBBBCBBBBBCCCBCCCBBCBCBBBBBCBBBCBBBCCCCCBBBCBCCBBBBBBBCCCCCBCBBBBBCCCBBBCBBCCBBCBCBBBBBCBBBCBBCBBCBCBBCBBBBCBCCCBCCBCCCBBCBBCBCBBCCBCCBBCCBCCCCCCBBCCBCCBBBCBBBBCBBCCCBCCCBBCBCCBCBCBCCCBCBBBCBCBCBCBBBCCCCCCBBCBCBBCBBBBBBCBCBBBCCCCBCCBCCCCCBSCCCBCCCBCCBBCBCBCBBBBCCBBCBBBBBBCBCBCBBCBCBBBBBBCCCBCBBBCBBBBBCBCCBBCBCBCCCCBBCBBCBBBCBBCCBCBCBCCBCBCCCCCBBBCCCBBCBBCCBCCCBCCBCBCCBCBBCCBBBCBBBCCBCCBBCBCBBBCBCBBBCBBCCBCCCBBCBCCBBBBCCBBCBBBCCBCBCBBBBCBBCCCBBCCBBBCCCCBBBCCBCCBCCCCCCBCBCCBBCBBBCCCBCCCCCBBCCBBCBCBBBCCCBBBBCBCBBCCBBCCBBBCBCCCCBBBCBCCBBCBBBBBBCBCBBBBBBBCCSBCBBBBBCCBBCCBBCCBCCBCCCBBCCCCCCCBBBBCBBBBCBBCCCCBCCCCBBBBBCBBBCCBBCCCCCCBCCBCCCCBBCCBCCBCBBBBBBCBBCBCBCBCCCBBCBCBCCBCCBCBBCCBCBCCCBCCCBCCCCBBCBCBCCCCBBBCBCCCCCBBBBCBCBCCBCBBBCCCBCCBCBCBBBBCBCCBCCCCCBBCCCCCCBCBCCBCBCCBCBBBBBBCCBCBCBCCCBBBCCBBBCBCBBBBBBBCCCCBCCBBCBBCCBBBCBCBBCBBCBBCSBBBBCBBBCBCBBBCCCCBBCCBCCCCCBCBCBCCCBCBCCBCCBBCCCCBCBCCBBCCCBBCCCCBBCBBBBCCBBCCCBBBCCBCCBCCBCCCCBCBBCCCBBCCBBBCBBCCCBBCBCBCBCBBBBBCBCBBCBBBCBCBCCCCBBCCBBBCCBCCCBBCBBBBBCBCCBBCBCCBBCCBBBBBCBBCCBCCBBBCBBCCCCBCBCBBBCCCCBCCCBBBCCCBBBBCCBCBCCBCBBBBCCCBCCCCCCCCCBBCBCBCBCBCBBCBCCCCCCBCBBCBBBCCCCBCBCCCBBBBCBCCBBBBCCCCCBCCCCBBBCBCCBBBCBCCCBCCBBBBCCBBCCBBBCBBCBBCBCCCBBBBBCCCCCBBCCCCBBBBBCCBCCBBBCCBBCCCBCCBCBCBCBCCBCBCBCBBCCBCBCCCBBCBBCCBBCBBBCCCCCBCBBBCCCBBBBCCBCCCBCCCBBBBBCCBCCCCCCBBBCCCCCCCCBBBCBBBBBBCBBBBBBCCBCCBCBBCCCBCBCBBBBBCBBCCCBBBCBBBCBCCCBBBCCBBCBCBBCBCBCCCCCCBCCBCCBCCBBCBCCBCBCCBBCBBBBCCBCBCCCCBBBCCCBCBCBBBBCBBBBCBCCBBBBBBBBBCCCBBCCCCBCCCCBBBCBBCBCBCBCBCCBCBBCBCBCBCBBCBBBBCBBCBBCBBCCCBBCCBCBBBCBBCBCBCCCBCCBCBCCBCCCCBBBBCCCBCBCCCBCBCCCBBCBBCBCBCCBCCBCCBBCBCBCBCCCCCCBBBCCCBBBCBBCCBBBBCBCBCBBBBCBCBCCBCCBCBCCBBCCBCCBBBCCBCCBCCBBBBBBBBCCCCCBCBCBBCBBCBCBBCBCBCBBCBCBBCBBBBBBCCCBCCBCBCBCCBCCBCCBBBCCCBCBCCBBBBCCBCCCBCBCCCCCBBCCBBBBCCBBBBCCCCBCBCCCBBCCBCBCBBBBCCBCBCCCCCBBCCBCBBBCBBCCCBBCCBCBCCCBBBCBCCCBBBBBCCBCBCBCCBBCCBCCBBBCBBCBBCBCBBCCCCBBCBCBCCCCCCCBCCCCBBCCCBBBCCBBCCCCCBCCBBCBCCCCCBCCCCBBBBBBBCCCBBCCBCBBBBBBBCCCCCBCBCBCBBCCBCCBCBCBCCBBBBBBBCCCCCCCBCCBCCCCBCBBBCBBCCBCCBBBBCCBBCCBCBCCCCCCCCBBBBBCCBCBCBBCCCBCBCBBBBCCCCCCBBBBBCBBCBBCBCCBCBBCCBCBCCCBBCCCBBCCBCBBBBCBBBBBBBCBCCCCBBBCBCCCCBCBCBBBCBCBCCBCBCBBCCCBCCBCCCBCBCBCCCCBBCBBBCBBBCCCCBBCBCCCCBBBBCBBBCBBBBBBBCCCCBBBBBCCCCCBBBCCBCCCCBCBCBCBBCCCBCBCCBBCCCCBBBCBCCCBCBBBBCCBCCCCCCBBBCCBCBBCCBCCCBCCBBBCCCCCCBBCBBCCBCCCCCCBBBCBCCBBBBBCBBBBBCCCCCCBBCBBCCCCBBCCCBCCBBBCBBCCCBCBBBCBCCBBBBCBBCBBBBBBCCBCBCCCBBCCBBBCCCBCCBBBBCBBCCCCBCBBCBCCCCBCBCBBCCCBBCBCBCCCBCBCBCCBCCCBCCCCBBCBBBBCCBBBBCCCCCBBCCBBCBBBCCBBBBCCCBCBCBBBBCCBCCCCCBCCCBBBCBBBCCCBCCBBBBBBBBBBCBBBCCBCBCCBBCBCCBCCBBBCCBBCCBCBBBBCBBCBCCBCBCBBCCCCCBCCCCBBCCBBBCBBBBBCCCCBCBCCCBCCCCCBCBCCBBCCBBCBBBCBBBCBBBBCBCBBBBBBBCCCCCBBCCCBCBCCBBCCCBBBBBCCCCBCBCCBCBBCBBCCBBCCBCBBBBBBBCBBBBBCBCCBBBBBCBCBCCCCBCCCCCBCCBCBCCBCCCCCBBBBCCCBBBBCCBBBCBBCCCBCCBBBBBBBBBCBCCCCCCBBCCBBBBBCBBBCBBCCBBBCCCBBCBCCCBBBCCCCCCCBBBCBBCCBCBBBCCBBCBBCCBBBBBBBBBBBCBCBCBBBCBCBCCBBCCCBBCBCBCBBCCCCBBCBCBCCBBBBBBBBCCCCBBCCBBCCCBBCBBBBCBBCBCBCBBBBCBCCCBBBCBCCCBBBBCCBCCBCCCCCBCBBCBCBCCCBCBBBBBCBBCCCBCBBBCBBBCCCBBBBCBCCBCCBBBCCCCBCBBBCCCCCCCBBCBCCCCCBCCBCBBBCCBBBCCBBBBBCBCCBBCBBCBBBCCCCCBCCBCBBCBBCBCCBBBBBBCBCBCCBBBCCBBCBCCBCBBBBBCBBCBCBBBBCCBCCBBBBBBBBBCBCBBCBCBCCCCBCBBBCBCCCCBBBBBBBCCBBCBCCCCCBBCCCCBCCCCBBBCBCCBCCCBBCBCCCBBCCCBCBCBCBCBBCCBCCBBBCCCCCCCCCBCBBBCCCCCCCBBCCCBBCCBCCBCCBBCCCCCCCBCBCBCBBBCBBCCCBBBBCCBCCBCBBBBCBCCCBCBBCCBBCCCCCCBCCBBCCCCBBBBCBCCBCBCCBCBCCBCBCCCCCCBCBBBBBBCCBCCBBBCCCCCCCBCBCCCBBBBCCCCBCCCBBCCBCCCCBCBBCCCCBCCCBBCBCBBBBCCCCBCCCBCCCCBCBCBCCCBCBBBCCCBBBCBCBBBCBBCCCCCBCBBBCCBCCCBBBBBCBCBCCCCBCBBBBCBCCBBBCBBCCBBBBBCBBBCBBCBBCBCCCBBCCBCBBCCCBCCCBCBBCCCCBCCCCBCBBBBCCBBBBBCBCBBBBCBCCCCBBBCCBBBCCCBCCBCCBBCBCCCCBBBCCBBCBCBCCCBCBBBBCBBBCCBCCCBCCBBCCCBCBBCCCCCBCCCCCCBCCBCBCBBBBBBBBBBCBCCCBBBCCBSCBCCCCCBBCCBBCBCCBCCCCCBBCCCBBCCCBBCCBBCBCBBBBCCCCCCBCCCBBCBBBCCBBBCCCBCCBBBCBCCBCCCCCCBCBBBBBBBBCCCBCBBBBCCBBBBBCBBBCBBBBCCBBBBBBBBBBBCBBBCCBBBCBBCBBCCBBCCCBCCBBCBCCBBBBCBCBCBBBBBCBCBBBBBBCCCCBBBBCBCCBBBCCBBBCBCCBBBCCBCBBBCCBBBBCCCBBCCCCCBCBCCCCCCCCCBCCCCCBCCCCCBCCBCBBCCCBBCCCBCBCBCCBBCBBBCBCBCBCBCCBBBBBCCCCBBBCCBCBCBBCBBBBBBBBBBCCBCCBBBBCCBBCBCCCBBBBBBBCCCCCBBCBBCBCBBCBCBBCCSCCCCCBBCBCBCCBCBBBBBBBBBCBBBCBBBCCBCCCCBBCCBCBCBBBCCBCCCCBBCBBBBCCBBBCBCBCBBCCBCCCCBCBCCCBCBCBBCBBBCBBBBCBCBCBCBCBCBCCCBCCBCBBBBCCBBBCCBCCBBBBBCBBBCCCCCCCCCCCBBBCCBCCCBCBBCCBBCCBBCBCBBBCBBBCCBCBCCCBCCBBCBCCBBBBBBCBBCBCBCBBCBCCBBBCCCBBBCBBCBBCCCCBCCBBBBBCCCCCBBBCCBBCBCCBCCCCBBBBCCBCCBCCCCCBBBCBBBCBBBCBBCBCBCCBCBBBCCBCBBCBBBCBCBCBBBBBCCCCBBCBCBBBCCCBCCBBCCCCBCBCCCBBBCCCCCCCBCBCBBCCBCCBBCBBBBCBBCCCCBBBCBCCBBCBBCBBBBCBBCBBCCCBCBCCBCBCBCBCCBCBCCBCCBBBBBBBCBCBCBCBBBCBBCBCCBBCCBCCCBBBCCBBBCCBCCCCBBCBCCBBBBCBBCCCBBCBBCBCBBBCCBCBBBBBCBCCBBBCBBBCCBBCCCCCCCBBBCCBCBBBCBBCBCCCBBBBBBCCCCCBBCCBBBBCCCBCBBCCCCCBBCCCCBCBBCCCCCCCBBBBCBCBCCBBCCCBCCCCBBBBBCBBBBCBBBCBCBBCCBBCBCBCCBCBCCCCBCCCCCCBBBBBCCBCCCBCBCCCBCCBCBBCCBBBCBCBCBBCCCCBBCBBCCCCBBCBBBCCCBCBCCBBCCBCCBBCBBBCBBCBCBCCBCCCCCCBCCBBCCBBCBBBBCBBCBCCCBCBCCCCCBCCCBBCCCBCCCBCCCBCBCBBCCCBCCBBCBBCCCCCBBBCCBBBCBBCBCBCCBCCBBBCCCCCCCBBBBBBCCBBCCBCCBBBCCBBBBBCCBBCCBCCCCCCCCBBBBCCBBCCBBBCCBCCCCCBBCBCBBBCCCCCBCBBCCCCCCCCBBBCBBBBBCBCBCCBCBBBCCCCCCCCBBCCBCCCCBBCCBCBBCBCCCCBCBCCCBCCCCBCBBCBCBBBBBCCBCCCBCBCCBCBCBCBBCBBCBCBCBCCBBBCBCBBCBBCBCCBCCBBCCBBBBCBCBBCCBCBCCBBCCBBCBBBBCBCBCCBBCCCBCBCBBCBCCBBCCCCBBCCBBBBBBBBCBCBCCBBBCCCCBCBBBBCBCBCBCCCBBBCBBCBBBCCBCCCCBCCBCCCBBCBCCCCCCBBCCBCCBCBCCBBCBBCBBBBCBBBCBBBBBCCCCCCBBCBBBBBBCBBBBBCCBBBBBCCBBBBBBBCBCBBCBBBBCBBBCBBBBCBBCBCCCCCCBBCCCBBCBBCBBCCCBCCCBBBBCBBCBBCBCCBCCBCCCCCBBCCCCCCCCCBCCCCCBCBBCBCBCCCCCBCCCCCBCBBCBBBBBCBCBCCCBCBCCBBCBCBBCCBCBCCBBCCBBCBBCCBCBBBBCCCCCCCCCCBBCCBBBCCCCBCBBBCCBCBCBCCCCCBBBBCCCCBBBBBBBCCCBBBBCCCCCBBBCBCBCCBBBCBBBBBCCBBBCCBBCCBBBCBBBCBBCBBCCCCBBBBCCCBBBBBCBCBCCCCCBBBBBCCCBCBBCBBCCCCCCCCBCCBCBCCCBCCCBCCCBBBCBBCBBCCCCBBBCCBBCCBBCBBCBCBBCBCBCBCCCCCCCCCCBCBBBCCCBCCCBBBBBBCBBCBCCBCCBBCBBBCCBCCBBCCBBCBCCBBBBBCBCCCBBCCBCBBCCCBCBCCBBCCBBBBBCCBBBCCCCBCCCCBCBBBBCBCCBCCCCBCCBBBBBCBCBBBBBBCCBBCBCBBBCCCBCBBCBCCCBBBCCCCCBCCCBCBBBCBCCBBCBCCBBBBCBCBCBBBCCBCCCBBCCBCBBCCCBCCBCCBCBBBBBBBBCBBBBBCCBBBCCCBBBBBBCBCBBCCCCCBCCBBCCCCBCBBBBCBCBCBCCCCCBBCBBBBBCBCBCCCBCCBBCBBBBCCCBBCCCBCCCCCCCCCBCBCBBBBBCCBBBBCBCCCCCCBBCCCBCBBBBCBCCCCBCCCBBBBCCCBBCBBBBBCBCBCCBCCBCCBBBCBCCBBCCBBCCBCBBBBBCCCBCCBBCCCCBBBBBCCCCCBCCCCCBBBCCCBCCBCCBBCBBBBCBCCCCCBBBBCBBCBCCBCBBCCCCCBCCBBCCBCBCBBBBCBBCBBCCBBCBCBCCBCBCBBBCCBCCBBCBBCCCBCCCBBBCCBCBCBBBBBCCBCCCCCCBCCCCCBBBBCCCBBBCBBCBBCCCCBCCCCBCBBBBBCBBCBCBBBCCCBBBCBCCBCBBCBCCBCCBCCCCCCCCBCBCCCCCCBBBBBBBBBBBBBBBCBCBBBCCCCCBBCCCBCBCBBBBCBBCBCCBBCBBBCCCBCCBBCBCCBBBCBBBCCBCCBBCBCBBCCBCCBBBCCBCCCCCCBBCBBCCCBCCCCBCBCBBCBBCCCBBCCBCBBBBCBBBBCCBBCCCBBCCBBCCBBBBBBBBCCBBCBCCCBBCCBBCCCBBBBCCBBBCBBCBBBBBCCBBCBBBCCBBCBCCBCBBBCCCCBCCBBCBBCCCBCCBBBCBBBCCCBBBBBBBCBBBCBBBCBBCBBCCCCCBCBBBCCCCBBCBBBBBBBCBBCCCBCBCBCCCBCCCCCCCBCCCCBCCCCCCBBBCBBCCBCCCBCBCCBBCCBBBBBBCBBCBCCBCBBBCBBBCBCBBCCBCCBBCCCBBCBBBBCCCCBBBCBBBCBCBBBCBBBCCBCCCBBCBBBBCBBCBBCCBBCBCCBCBCCCCCCBCCCCBBCBBBBBBBBBBBCBBCBCCCCBCBCCCBCCCCBCBBCBBBCBBBBCBBCBBCCBCCCBBCBCBBBCBBCCCCCBBBBCCCBBBBCCBCBCBCBBCCBCBCBCCBCBBCBBCCBBBCCBCBBCCBBCBBBCCCBBCCCBBBBCBCCCBBBBBCCCBCBCBBCCBCCCCCBBCCCBBBCBBCCCBCCCCBCCBCBBBCCBCCCCBBBBBCBCCCBCCBCBBBBBBBBCCBBCCCCBCBCBBCBBCCCCCBBBBCCCBCCCBCCCBCBBBCCCCCBCBCBBBCBCBBBCBCBBCCBCCBBCCBBCCCCCCBBBCBBBCBBCCBBCCCCBCCCBBBBBBCBCCBCCBCCCCCBBBCCBBCBBBCCCBCBBCCCBCCBBBCCCCCBBCBCBCCCBBBBBBCBCCCCBCCCCBBBBBBCCBCBBBBCBBCCCBBCBBBCBCCBBCCCCBCBBBBCCCCCBBBBCBCBBCCBBBCCCCBCCCBBCBBCCCBCCCCBBCCBCBCCBBBBCBCCBCCBCBCCBBBBBCBCBCCCBCCBCBBBBCBCBCBCCCBBCBBCBCCCBBCBBBCCCBCCCCBBCCBBCCCBBBBCCBBBCBBBCCBBCCCBBBBBBBBCCCCCBCCBBCCBBCCBBCCBCBCBCCBCCCBCCBCBBBCCCBBBCBBBBCCCBBBCCCBCBBBCBBBBCCBCBBBBCCCBCCCCBBCCBCBBBCCCBCBCBBBBBCCCCCBBBBCCBBCCCCBCCCCCBCCBBCCCBBBBBBCBBCCBCBCBBBCCBBBCBCCBBCBCCBBCBCBBCBCBCCBCCBCBCBBCCBBBBBCBCBBCCCBBBCCBCCCCBCBBBBCCCCBBBBCBCBBBBCCBCBBBCBBBCCCBBBBCCBBBCCCBCCCCCBCBCBCCBBBBBBBCBCBCCCCCCCBCCCBCBBBBBBCCCBBCBCCBBCCCCBCCBBCCBBCBBCCCBCCBBBBCCBCCBCBBCCCBBCBBBCCCCCCCCCBCCBBCBCBBBCCBCCCBCBBBCBCCBCCBCBBCCBBCCBBCCBBBBBCBCCBCCBBCCBBBCCBBCBBCCBBCBBBCBCCBCCBBBCCCBBCBCCCCCCCCCCBCBCCCCBCBCCBCBBCCCBCCBBCBCCBCCCBCCBCCBCBBCCBCCBBBCCBCCCBCBBBCCBCBBBBBBBBCBBBCCCCBCBBCCCCBCCCBBCBBCBCBBCBBBBBCBCBBCCBBBCCCCCCCCCCCBCCCBCCBCBBCBCCBCCBBBCBBCCCCCBCBBBCBBCBCBCCBBBCBBBBCCBCBBCBCBCCCBBBBBBCBBBCCBCCBBBCBBCCCCBCBBCCBBCBCCCCBBCCBCBCCCCBCBCBBBCCBBCCBCCBBBCCCCCCBCCCCBBCBCBBCBBCCBCBCBCCCBBCCCCCBCBCCBBBBBCCCCBCCCCCBCCCBBBBBBBBCBBCCCCBBCCCCBBCCCBCCBBCBBBBBCCBBCCCCBCCCBCCBBCBCCBCCBBBBBBCCCBBCCCCCCBBBCBCBBBCCCBCBBBCCCBBCCCCBBCBCBBBBBCBCBBBBBBCCCBCCBBCCCBCCBCCCCCBCCCCCCBCCBBCBCCBCBBCCCCBCCBCBCBBBBCBCBBBBCBBCBCBCCBBBCCBCBBCBBBBCCCCBCCCCCCCCCBCCCCBBCBBBCBCBCBBCBCCCBCCCBBCCBBBBBCCBBCCBBCCCBCCCBCCCCCCBCBBCCCBCBBCCBBBCBBBCBCCBCCBBBBCBCBBSCCBBBBBCBCBCBCCBCCCCBBBCCBCBCBBBBBBCCBBCBBBCCCCBCBCCCBCBCBCBCBCBBCBCCCBBBCBCCCCBBCCBBCBBCBCCBBBCCBCBCCCBBBBBCBCCCCBBCBBBCBCBBCCBCCCCBCBCBCBBBCBCBCBBCCCCCCBBBCBBCCCCBCBCCBCCCBBBCCBCBBCCBCBBCCCBCCBBBBBCBCBCBBBBCBBBBBBBCCCBBBCCCCCCBCBCCBCCBBBBCBBCCCCCBCBBBCBCBCCBBCCBCBCCBBBBBBBBCCBBBBBBCBCCCCCBCCBBCBBCCBCCCBCBBCCBBBBBBCBCBBBCCCBCBCCCCBBBBCCBCCBCBCBCCCBCCBCCCCCBBCBCBCBCCCCCCBBCCCCCCBBCBBCCBCCBCCCBBCBCBBBBCCCCCCBCCCBCCBCBCBCBCCCBBBBCCBCBCCBBBBBBBBCBBCCBBCCBBBBBBBCCBBBCBBCCBBCBBCCBCCCBBBBCCCBCBBBBCBBCSCCBCBCBCCBCCBCBBCCBBBCBBCBBCBCBCBCCBCCBCCBCCBBBCBCBBCBBCCBBCCBBBBBCBBBCCBBCBBCBCBCCCBCCCCBBCCBCBBCBBCBCBBBBCBCBCCCCCBCBCCBCCCCCCBCCCBCCCBCCCCCBCBBCBCBBBBBBBCBCBBBBCBCBBBCCBCBBBCCCBBBBBBBBBBCCCCBCCCBCCCCCCBBCBCCCCBCBCBCBCCBBBCBBCCBCBCBBCCCBCCCBBCCCCCBBBBBCBCBCCCCCBCCBCCCCCBBBCBBBCBCBBBCBBBCCBCCBCBBCCBCBBBBCBCBCCBCBCCCBCCCCCBBCBCBCCBBCCBCCCCCBBBCCBCCCCBCBCBCBCCCCBCCCCCCCCCBCCBCBBBBBCBCCBCCBBBCCCCBBBCBCCBBBBCBCCBBBBBBCCBBCCCBCCCCCCCBCBBBCCCBBBBBBCCCBBCBBCCBCCCCCCBCBBBBBCCBCCCBBCCBBBBCBCCBBCBCCBCBCCCBBCCBCCBCCBCBBCBBBCBBCCBCBBBCCCBBCCCCBBCCBBBCBCBCCBCCBCCCBBCBBCCCCCBCCBBBCCCBBCCCCBCCBBBCBCCBCCCCBBBBBBCCCBCCBCBCBCBBBCBBBCCCCCBBCBCBCCBCBCBBCCCBBCCBBBBBBCCBCBBCBCCBCCCCBCBCBBBCCBBCBBCBCBCCBBCBBBBBCCBBBCCCCCCCBCBBCCBBCBCBBBBCCBBCCBBCBCBBCCBBBBCCBBCCCBCBCBBBBCBBBCCBBBBBCCCBCBCBCCBBBCBCBCCBBCBBBBBBCCBBBBBBCCBCCBBCBBBBCCCCBBBCCCCBBCBCBCCBCCBBBBBBCCCBCCCBBCBCBCCCBBCCBBBCCCBBCBBCCBCBBBBBCCBCCCCCBBCCBCBBCBCCCCBCCBBCCCBCBBCBCCCBBCBBCBCBCCBCBCBCCCCBBCCCCCBBBCBBBBBCCCCBBCBCCCCBBCCCCBBCCBCBBBBBCCBCCCBCBBBBBCCCBCBBCBBCBBBBBBCBCBCCCBBCCCCCCCCCCBCBBCCBCCCBCCCBBBBBBCCCCBBBCCCBCCCCCBBBCCBBBBBBCCBCCBCBCCCBCCBBCBCBBCBBCCBCBBCBCBBBBCBCBCCCCBBCBCCCBCBCCBCCBBCCBBCCBCBCBBCCBCBCCBCCBCCCCCBCCCCBCCBCCCBBBCBBCCCCBBCBCCCBCBBBBCBCBBCCBCBCCBCBBBBBBCCBBBCBCCCCBBCCCCCBCBCBBCCCCCBBBBBBCCCBBBCBCBCBCBCBCBCBCCCBCBBBCBCBCBBBCCBBBCCBBCCBBCBBBCCBBCCBBCCCBCBCBCBBBBCCCCCBCBCCCCCCBBCBBBBBBCBBBBCCBCBCBCCBCCCBBCCBCCCBCCBCBBBBBBCCBCBBBCCCBBBCCBCCBCCBCBCCBCBBBBBBCCCBBBBBCBCCCBBBBCCCBBBCCBBCBCBBCCBBBBBBCCBCCCCCCBBBBCCCBBBBBBBBBBCBCBBBBCCCCCCCBCCBBBCBBCCCCBBBCCBBCBCCBBCCCBBBBCBCCBCBCCCBCBBCCBCCCBCBCBCBCCBBCCCBCBCCCBBCBCBCBCBCCBBCBBCBBCBBCBBBCCBBBBCCBCCBCCBBCCCCCBCBCBCBCCCCCCCCBBBBBCBBCCCBBCCBBBCBCBBBBCCBCBCBBCBCBCCCBBBBCBBCBBBBBCBBBCCBCCBCBBBBBBCBBCCBBBCBCBCCCCBBBCCCBCCCCCBCBBCBCCBBCCBCBBCCBCCBBBBBCCBBBBBCCBCCCCCCBCBBCBBCCCCBBCCBCCBBBCCCBCBBCBCBCBCCCBCBCBCCCBBBBCCBBBCCCBCCBCCBBCCCBCBBCBCBBCBBCBBBCBBBCCCBCBCBCCBCCBBCCCCBBCCBBBCBCBCBCCBCCCCBCBBCBBCBCBBBCCCCBBCBBBCCCCCCBBBCCBCBCCCCCBBCCBBCCBBCBBBBBBBCCBCCBBBCBCBBCCBCBCCCBCCBCBCBCBBCBCCCBCCCBCCBCBCBCBCBCBBBBBCBCCCCCCCBCCBBCCCCBBBCBCBCBCCCBCBCCBCCCBBBBCBCBCCCBCBCBCCCCBCBCCCBBBBCBBCCCCBBBBBBCBCBCCBBCBBBBBBCCCBCCBCBBCBBCCCCBCCCCBCBCBCBBBBCBCCBBBBCCCBBCBCBBBBCCCBBBBCCBCCCCCBBCCBBCBCCCCBBBCCCBCBBCCCCBBCBBCBBCCBBBCBCBCBCBBCCBCBCBCBCBCCCCBBBCBBCCBBBCCBCCBBBCBCBCBBCBCCCCCCCCCBBBCBBBBCBCCCCCCCBBBBBCCBBBCCCBCBCCBCCBBBCBCCCCBBCBBCCCBBCCCBBCBBCCBBBBCBCCCCCCCCCCBBBCBCBCCCCBBCCCBBBBBCCCBCCCBBCCCBCBCCCCCCCCBBCBBBBBBCBCBCBCCCBCBCBBCBBCBBCCCBCCCBCBBCCCCCCCBCCBBBBCBCCCBBBBBBCCBBBCBBBCCBCBBCBBCCCBBCCCCBCBBCBCCCBCBBBBBCCCBCBCCBBCBBCCBBCBCCCBBCCCCBBBBCCBCCCBCBBCBCBCCCBBCBBCBCCCCBBBCBBBCCBCBBBBCBCCCBBCBCCBCCBBBBCBBCBCBCCBCBBBBBBCBCBBBCCCBBBBBCCCBCCBBCCCCCBCBBBBBCBCCCBCBBBBCBBBBCBCBBBBCCBCBBCBBBCBCCBCBBBBCBBCCCCBBBCBCCBBBBCBBBBBCBCCBBCCCCCCBCCCBBBBBBCBBCBCBCCCCCBCBCCCCBCBCCCBCBCCBBCBCCBBBBBCBCBCBCBCBBBBCBCCBCBBCCCBBCBCCBCCBCBCBCBCBBBBCBBBCCCCCCCBCCBCCCCCCCCBCCBBBBBCCCCCCCCCCCBCCCBBCCBCCBCCCCBCCCCCBBBCCCBCCBCBCBBCBBCCBBBCCBBBBBBBBCBBBCCCBBBCCCCBCBCBCCBBBBBBCBCBBCCCBCBCCCCBBBBBCCBBCCBCCCCCCBBCCCBBCBCCBCCCBCBCCCBCCBBBBCBCBBCCCCCBBCBCBBBCCBCCCBCCBCCCBCCCBCBBCCBBBCCCCBBCBCBBCCCBCCBCBBBBBCCCBBBBBBCBCCBCBCCBCCCCBCCBBCCBCBBCCBCCBBBCCBCBCBCCBCCCCBCBCCCCBCBBCCCBCCBBBBCBBCBBBBCCBCCCCBCBBBCBBBBBBCBBBBBBCCBCCBBCCBCBCCCCCBCCBCCBBCBBCBCCCBBCBBBCCCCCBBCCCCCCBCCBBCBCBBCBCCCCCBCBBCBCCCBCCBBBCBBCBCBBBBCCCCBCBBBBCCBCCCCBBCBBBCBBBBBBCBCCBCBBCBBBCBCCCCBBCCCBCCCBBBBBBCCCBCBCBCBCCBBBBBBCCCBCCBCBCBCCCBBBCCCBBCBBBCBBBCBBBBCBBBCCBBCBCCCBBBCCCBBBBBCBCBCCCBCCCCBBBCBBCBBBCBCCCBBBBBBCBCCBBCCBBCCBCBCCCBCBCBBBBBBCBCCCBCCCBCCCBBCBBBCBBBCBBBBCBCCBBBCCCBBCCCBCCBBCCBBCBCCCCCCCCCCCCCBBBBBCBCBBCBCBCCBCCCBBCBCCCCBBBBBBBCBCCCCCCBCCBCCBBCBBCBBBCBBBCCCBCBBCCCBBCBCBCCBBCCBBCBBCCBCBCBBCBBBCBCBCBBCBCCCBCBBCBCBCBBBBCBCCCCCBCCBBCCBCCCBCCCCCBCBCCBBBCBCBBBBCBCCCBCCBBCCBBCBBCCCCBBBCCBCBBCCCCBBCBCBCCCBBBBBCBBCCCCCCBCCCBBCBBCBCBCCBBCCBBBBBBCCCBCBCCBCBBCBBCBBBBBBBBCBCBCCCCCCBCBCBCCCBBBBCCCCCCBBCBCCBCCBBBCCBCBBBCBBBCCCBCCBCCBCCBBBBBBCCCCCBBBCBCCCBCCCBBBBCBBCCCBBCCCBCBBBBBBBBCCCBBBCBCCBBBBBCBCBCBCCBCBBCCCCCBBBBBBBBBCCBCBCCBCBBCBCBCBCCBCCBBBBCBBBBCCCCCBBBBBBBCCBCCCCBCBCBCBBBCCBCBBBCBBCBBBBCBBCBBCCBCCCCBCCCBBBCCBBCBBBCCCCBCBBBBBCCBBCCBBCCBBCBBBBBBCCCCCBBCCCCBBCBCCCBCCCBBBBBCCBCCBBBBCCCBBBBCCCBBCBBCCCBBCCBCCBBCCCCCBBCBBCBBBBBCBCCBBBCCBCCBCCCBCBCCCCBBBCBCCBCCBBBBCCBBCBBBBBCCCBBBCBBCBBBBCCCBBCCCBCBBCCCCCCCCCBBBBBBCBCBCBCCCCBCBBCCBCCCCCBBCCBCCCBCBBBBCCCCCCCCBCBCCBCBCBBCCBBCCBBBCBCCBBBBBCCCBBBCCBBBBBCBBCBBCBBCBBBCCBBBBCCBBCCCBBBBBCBBBBCBCBCCBCCCCCCCCCBCCCCCBCCCCCCCCBBBCCBBBCBCBBBCCCCCCCBCBBCBBCBBCBBCBCCCCCCCBBBBBBBBCBBBBCBBCBCBCCCCBCCCCCBBBBCBBBCCBCBCBBCCCCCBCBBCCCCBCBBCCBCBBBBBBCCBBBBCCBCCCBBBCCCBBBCCCCBCCBBBCCBBCBCCBCBBCCCBBBCBCCCCCCCCCBBCBCCCCBBCCBCCBBCBBCBBBBBCBCCBBBBBCBBCBBCBBCCBCCBBCCBBBCBBBBCCBCCCBCBCBCCBBBCCBCBBBCCBCBCBBBCCBBBBCCBBBCCCCCCCCCBBBBCBCBBCBBBCBCBBBBBCCBCCCCCBBCCBCCCCBCCCBCCCCBBBBCCCBCBCBBBBCBBCCBBBCBBCBCCCCCBBCBBBBBCCCBCCCBBBBBCCCCCBCBCBCBBCBBBCCBBCCCBBBBBBBBCCBCCBBBCCCBCCBCBBBBCCBBBCBBBCCBCBBCBBBCCBBCCCCBCCBCCCCCCCCBBCCCBCBBCCBBBBCCBBCBCBBBCCCCBBBBCBCCCCCBCBCBCBBCCBBCBBBCBCBBBBBCBCCBCBBBCBCBBCBCCBCBBBCCBBBBBCBCBBCBCBBBBBBCCCCCBCBCBBCBCBBCBCBCCBCBCCBBCBCCBCBCBCCCCBCCBBCBCBBBCCBBBBBBCCCBBBBCBCCCCCCCCCCBCBBCBBBCBBBCBBBCCCCBCBBBCCBCCCCBCBCCBCCCBBCCBCBCBCCBBBBBBBCBBCBCBBBBBCCBCCCBCBCCCBCCBBBBBBBBBCBCBBCCBCCBBCCBBCCBCBBBCBBBCCBBBCCBBBBCBCBBBCCBCCCCBCBCBCBBBBBBBCCCCCBBBCBCCBBCCCCCBBCBCCBBCBCCBCCBCBBBBCCCBCBBCBBCBBBCBBCBCBCCCCCCCCBBBBCCCCBCCBBBBCBCCCBCBBCBBCBBCCCBCCCBBBCCCCBBCBBBBBBBCBCCBSBBBBBBBCCBBBBCBBCBCBBCBCBBCCCCCCCBBBBBBCCCBCCCCCBCCCBBCBBBCCBCBBBCBBCBCCBBCCCBCCCBCCCCBBBBCCCBBCBCBBBCBCBCBBCBCBBBCCCCBBCCBCBCCCCCCBBBBCBCBCCBBCBCBCBCBBBCBCBCBCBCCBBCCCBCCCCBCCCBCBBBCBBBCCBBCBBCCBBBBCCCCBBCCCCBBCBCCCCBCCCCBBBBCCBBBCCBBBBBCCBCBCBBCBCBBCBBCBCCCBBCBCCCCBBCBCBBCCBCCCBBCBCBCBCCBBBBBBBCBBCCCCBBCBBBBCCBBBCBBCBCCCBBCBCCCBCBBBCCBCBCBBCBBCCBBCCBBCCBCBCCCCCCBBCBCBBBBBBCBBCBBCBCCCCCCCCBCCCCBBBCCBCBCCCBBBBBBCBBBBBCBCBCBBBCCBCBCBCBCCCCBBBCBCBBCCBBCCCBBCBBBBCBBBBCBCCCBCBBBCBCBCBCCCBBBCCBBCBCBBBCCCCBCBCCBCBCCBCCCCCCCCCCCCBBCBBBCBBBCCBBBBCBCCCCCBCBSCCBCCBCBBBCBBCCBBBCCBBCCCBCCCBCCCCCBCBBBCBCCBCBCBBBBBCBBBCCCBBCCBCCCBBCCCBBCCBBCBBCBBBCBBCCBCCCCBBBCBBBCBCBCBBBCCCBBCBBBCCBCCBBBBCBBBCCCBBCBCBBCCCBCCBCBCBCBCCCCBCCBBBCBCCCCCCCCBBBBBBBBCBBBBBCCBBBCBBCCBCBCCCBBBCCCBCCCCBCCBBCBCBBCBBBBCBCBCCBBCBCCBBCCCCBBCBCBCCCBCBCCCBBCBCBCCBBBCBBBCCBCBCBBCBBCCCCBCBCCBBBCBBCCBBBCCCBCCCCCBBBCCBBBBCBBBBCCCCCCCBBBBCBBBCBBBCCCCCBBBCCBBCCCCBCBBCBCBCBCCCBCCCBBBBBCCBCBCBCCCCBBCBCCBBCBBBCBBBBCCCCBCCBCBCCCBBBBBCBBCCCBBBBCCCBCBBCBBCBCBCCCCBBBBBCBCBBBCCBCBBCCCCCBCCCCBBCBCCBBCCCCBCBCCBCCBBBCBBCCBCCCCCCBCBBBCBCCBBCBCCCBBBCBBCCCCBBBBBCCBCBCBBCBBCBBCCBBBBCCBCCCBBBCBCBBBCBBBBBCCBBCBCBCBBBCCBBBBCCCBBBBBCCBCBCCBBBCBBCBBCCCCCBBBBBBBCBCCCCCCBCBCCBBBCBCCCCCBCCBBBBBCBCBCBCCBBCCBCCBCCCBBBCCBBCCCCBBBCBCCCBCCBBCBCCBBBBCBBCBBBBBBCCBCBBCBBBCCCBCBBCCCCCBCBCCBBBBBBCCCCCBBCBBBBBCCCBBBCBCBCBCCBCCBBCBCCBBBBBBBCCBBCCBBBBBBBCBBCBCCCCCBCBBBCCCBBBCBBCCCBCBBCCCCBBBCBCCBCBCCCBBBCBBBBCBCCCCBCBCBBCBBBCCBBCBBBCCBCBCBBBBBCBBBCBCBCBCCBBCCBBCBCCCCCBCCCBCCBBBCCCCBCCBCCBCCBCCCCBBCCCBCBBCCBCCBBCCCBCBBBBCBCBCCCCCBCCCCBCCBCBBBCCCBCBBCCBBBBBBCCCCBCBBBBBCCBCBCBBBCCCBCBBCCCCCCCCCBCCCCBCCBCCCCBCBCBCBCBCCCCCBBBCBCCCCBBCCCBBCCBBBCCBCBCBCCBCBBBBCBCBBCBCBCBCCBBBBCCCCCBBBBCCCBCCCBBCBCCBBBBCCBBBBBBBCBBBBBBBBBCBBCBBCCBCBBBBCBCBBCCBCBCBCCBCCBCCBBBCCCBBCBCCBCCBCCBBCCBBBCBBBBBBBCCBBBBCCCBCCCBBCCBBCCBCBCBBBBBBBBBCCCBCBBBCBCBCCBBBBBCCBBCCCCCCCBCBCBCCBCBBCBCCCCBBBBCBCBCCBCBCCCCCCBBBBCBCBCCCCCBCCBBCBBCCBCBCSCBBCBBCBBBCBBCCCCBCBBCCBBBCBCBCCCCBBBBBCBBBBBBBBCBBCBCBBCBCCCCCBCCBCCCCCBBBCCCCCBBCBBCCCBBBBBCCBBBCBCBBCBBBBCBCCCCBCBBBCCBCCCCBBBCCCCCBCBCCBBBBBBBCBCCCCCCBCBCCBCBBCCBBCCCCBCBBCBBCCBBCCCCCCBBBBCCBCBCBBCCBBCBBBBBBBCBBCBBCCBBCBCCCBBCBBCCBCCBCCBBCCBBCBCCBCCCBCBBBCCCBBBBBCBBCBBBBBBBCCBCBCCBCCBCBCBCCCBBCBBBCCBBBBBCBCCBBCCCCCBCCBBBCBCCBBBCBBCCBCCBCBCBCCCBBCBCBCBBCCCCBCCBBBCBBCBCBCCBCBBBBCCBBBBBCCCBCBCCCBCBCCBCBBCCCCBBCBBBCBBCBBCCCCBBCBCBCCBCCBCCCBBCCBBBBCBCCBBBBCBBBBBCCBCBCCCCCBBCCCCCBCCBCBCCCCCBBBBCCBBCBBBCCBCCBBBBBCCCBBCBBBCBCBBBBCCBBBBCCCCBBCCCCCCBCBCCCBBBBBBBCBCCCCBCCCBBCBCBCBBCBBBCCBCBCCBBCBBCCBCBCCCCCBCBBBBCBCBCBBCCBCCCBBCCCBBCBCBBCCBBCCCCBBBCCCCCCBCBCCBBCCBCCCCBCCBBBCCCBBBBBBCCBBCBBCCCCCCCBBCBBCBBBBCCBBCCCCBCBCCCBBCCBBBBCBBCBCBCBBBCBCBCBCCCCBBBCBBBBCBCBBBBCBBBCCCBBCBBCCCCCBBCBBCCCBCBBBBBBBBBBBBCCCBBBBCBBCCBCBCBCBBCBCCBBCCBCBBBCCCCCBBCBBBCBCBCBBBCCCCCCCCCBBBBBBBBCCBCBCBBBCBBBCBBBBBBBCCBCCBBCCCCCCCCBBBCCBBCCCCBCBCBBCCBCCBCCBBCBCBCBBBCBBBCBCCBBCBBBCCBBCCBCCBCCCBBCBBBCBBBCCBBCBBBBCCBCBBBCCBBBBBBBCCCCBBBCCBBBCCCCBCBBCBBCBBCCBBCCCCCBCCBCCCBCBBBBCCCCBCCCBCBBBCBCBBBCBCBBCCBBBCCCBBBBBBCBCCCBBBBCCBCCBCBBBCBCBCBBCBCCCBBCCCCBBCCBCBBCCBCCBBBBCBCBCCBBCBCBBBCBBCBCCCBCBBCCCBBBBBCCBBCBBBCCCBCCCBBCBBCBBCBCBBBCBBBCBCBCCCBBBCCCCCCCBBBBBCCBCCBBBCCBBBCCBBCBCBCBBCBCBBCCBCCCBCBBCCCCCCBCCCBBCCCBBCCCBBBCCBCBBCBBCCBBBBBBCBBCCBBBCBCCCCCBCCCBBBCCCCCBBCCBBBBCCCBCCCBCBCCCCBBBBBBBCBBBCCCCCCBCCCBCCCBCBCBBBCCCCBCBCBCCCCBBBCCCBBCBCCBCCBBCBBCCCCBCBCCBBCBCCBCBBBCCBCCCBCBBCCCBBCBCBCBBCBBCBCBBBBCCCCCCCBBBBCBCCCBBBBBCCBBCBBBBCBBCCBBCCBBBBBBBCBBCCBBCCCBCBCCBCCCCBBBCCCBCBBBCBCCCCBBCBBCCBCCCBCCBBBCBBBCCCBCBCCCCCBCCBCBCCBBBCCCCCCCBCBCBCBCBBBCBBCCBBCBCCCBCBCCBCBBBBCBCBCBBCCCBCCBBCBCCBBCBCBBCCBCBCCBBCCBBBCBCCCCBCCBCBBCBBBBCCCCBBCCCCBCCBBBCBBCBCCCBBCCCBCCCBBBCBCCBBBCCCCCCCBCCCBCCCBBBCBBCCCBBBCCCBCCCCCBCCBBCCCBCCBBBBCBCCBBBCBCBBBBBCBBCCCBBCBBBCCBBCBBCCCCCCCCBCCCCCCCCBBCCCBBCCBBCBBCBBBCBBCBCCBCBBBCBCBBCBBBCCBCCCBCBCBCCBBBBBBCCBCBBBBCBCBCBBCCBBBCBBCBBCCBCBCBCCCCCBBCCCBBCCBBBCBCCBCBCBCBCCCCBCCBBCCCBCCCCCCBBBCBCCBBBCCCBBCBBBBBBBBCCCCBCBBBBBCCCBCBCBBCBCCBBBCCCBBBCBBBBCCCBBCCCBBCBCCCBBBBCCCBCBBCBBCBBBCCCCCBBBCCBCCBBBBCCBCBBCBCBCCBCBBCBBCCCCCCBCCCBBBBCCCCCBCBCCBCCCBCCCBBCBCCBCBCBCCCBBCCCBCBBCCBCBBBBCCBBCCCBCCBCBCCCBCCCBCBBBBCBCCCCBBCCCCCCBCCCCBCBCCCBCBCBBBBCBCCCBBCCCCCCCBBCBCCCBBBBCCBCBBCCCBCCCCBCCBBBCCCBBCCCCBCBBCBCBBCBBCBCCBCBBCCCCCCCBBBCBCCCBBCCCCBBCCBCBCCBBBCBCBCCCCBBBBBCBCBCBBBBCBBBBCBCCBBBBCBCBCBCBCBBCCBBCCCCBBBCCCCBCCBBBCBBBBBBBBCCCBCBCCCCCCBBBCBCCBBBBBCCBCBCCCBBCCBBBCCBCBBCBBBBBCCCCBCBBCCBBCBCCBCCBCBBCBCBCCBCCCCCCBBBBBBCBCCBCCBCCCCBBBCCBCCBBCCCCBBBCBBBCCCBBCBCBBBBBCCBCBBBCBBCCBBCCBBBCCBBCCBBCCCCBCBCCBBBCBCCBCBBBBCCCCBBBBBBBCCBBCBCBBCBCBBCCBCBBBCCCBCCCCBBCBCCBBCCBCBCBCCCBBCCCBCCBBBCCBBCCBCBBBCBCBCBBBCBBCBCBCBCCBCBCCBBBBCCCBBBBBCCBBBBCBBBBBBCCBBBCBCBCCBBCBBCCCBBBCBBCBCBCCCCCCCBCBBCBBBBCBCBBBCBCBBCCBBCBBCCBCBCCCBBBCCBBBCBCBCCCCBBCBCBCBCBCBBBBBBCBBBBCBCCCBBCBBCCCBBCCCCCCBBBBCCCCCBCCBBBBCBCBBCBCBBBCBBCBBCBBCBCBCCCBCBCCBCCCBBCBBBBBBCBCBCCBCCCBBCBCCCBBCCBBBCCBCCBCCBCCBBBBCCCBBBCCCCCCCCCBBBBCCCBCBBCBBCBBCCCCBCBBBBBBCCBCBCCBBCCCBBCBCCBBBCBCBCCCBBCBCBCBBCBBBCCBCCCCCCBBBCBCBBCBBBBCCBCBBBBBBCCBCBCBBBBBBBCCBBCCBCCBBBCBCCCCCBCBBCBBBCCCBCBBBBCCBBBCCCBCBCCBCBBBCBBCBBCCBBCCCCBCCCBBCCCBBCCBCCCCCBCBCBBBBCBCCCBCCCCCBCBBCBCBBCCCBBCCBCBCBBCBBCBCBBCBCBCBCBBBBCBCCCCBBCCCBBBCBBBBCBBBBCBCCBCCCCBCBCBCCCBBCBCCBCCCCCCBBBBCBBBBBBCCBBCCBBBCCCCBBBCBCCBCBCBBBCBCCCBCBCCCCBBCBCBCBBBCBCCBBBBCCBCCBBCBCCBBCCCBCCCBCBCBBBBBBBCCCBBBBCBBBBCCCCCBCBBBBBBBBBBCBCBBCBCBBBBCCCCCBCCBBCCBBCBBBBBBBCCCBBCCBBBBCCBBCCBBCBCCBCCCCBCCBBCBBBCBCCBCBBBCCCBCCCBCCBBCBCBBCBBBBBCBBBCBCCBBBCCCCBCBBCCBCBBBBBCBCBCCBBBCBBCBBBBBCBCBCBBCCBBBBBCCBBBCCCCBCCBCBBBCCBBCCBBCCBCCBBCBBCCCCBBCBBCBBBCCCBCBBBCCBBCCCCCCBCBBCBBCCCBBCBCBCCBBBBBBCCBCCCCBBBCBCBCCBCCCCBCBCCBCCCCBBBBBCBCBCCBBBCCCBBBBBBCCBBCBCBCBBBCBCCBCBBCBBBCCBBBBCBBCBBCCBCCBCCBCCBCCBCBBCCBCBCBBBCCBBCCBBCBBCBBBCBCCBBBCCBBBCBBBBCCCCCBCBCBBBCBBBBBBBCBCBBCCCBBCCBCBCBBBBBBBBBCBCBBCCCBBBBCBBBCCBBBCBCCCBCBBBCBBCBCBCBCBCCCBCBCCCBCCBBCBBBBBCCBCCCBCBBCCBBBBCBCBCBCBCCBCCBBBBBCCBBBBBCBBBBBCBBCCBCCBCBCCCCBCBBCBBCCCBCBCCCCCCCBBBCBCCBBBCBBBCBCBCBCBCCBBBCBCBCBCBBBBCBBCBBBBBCCBBCCCCCBCBCBCCCBBBBBBCCBSCBBCBCBCBCCBCBCCCCBCCCCCBBCBBCBCBCBCCCCBCBCCCBCBBCCBCBCCBCCCCCCBBBBCBBCBCCCCBCBCCBBCCBCBBCCBBCCBCCBBCCCCCBBCCBCCBCBBCBBCCCCBBBCCCBBBCCCBCCCBBBCCBCBCBCBBBCBCCCBCBCBBCBBCCBCCCCCCCBBCBCCBCBBCBCCCBCCCBCCCCBBCBCBBBBCBCBBCBCCBCBBBCCCBCBBCBBCBCBBBBCCBBCCBCCCBCBCCBBCBCBBBBBBBCCCBCBBCBCCBCBCBBBCBCCBCBCBBBBBCCCBBBBCCBBCBBBCCBCBBCCBBCCCBBBCCBBBCBCBBCBCBCCBBBBCBBBBCCBBCBCBBCCBCBBBBCCCBCCBBCCBCBBBCBBBCCBBCBCCBBBCCCBBCCCBBBBCCBCBCBCBCBBCCCCBCBCCBBBCCCCBCBBCBBBBBCBBCCCCBCCBBCBBBBBBBBCCBCBBCBBCCBBBBBBCCCCBBBCCBCBCCCBBBCBCCCCBCBBBCBCBBBCCCCCBCBBCBBBBBCBCBBCBBBBCBCCBCCCCBBBBCCBCCCBCBCBBCCCBBCBCBCBBCBBBCCCBBCBBCBCBBCBBCBBBBCBBBBBBBCBBBBCBCBCCCBCCBCCCCBBBBBBBCCBBCBCCCCCBCBBBBCBCCBBCCBCCBBCCBBBCBBBCBCCBCCCBCBBBBCCBBBBCCBBBBBCBBBBBBCBCCBCBCBBCCCCBBBCBCCCBBBBBBCBBBBCBCBCBBBCCCBCBCCCBCCBCCCBBCCBCCCCBBBBBBCBCBCBCCCBCCBCCBBBBCBBBCCCCCCBBBBCBBCCBCBCCCBBCBBBBBCCBBBBCBBCCCCBBCBBBCCBCCBCBBBBCCCCCBBCBCBBCCBBCBBBBBCBCBBCBCBCCCBCBCBCBBCBBCBCCCCCBBBBCBBCBBBSBBCBBBCBBBBBBCCCCCBBBBCCBBCBCBCBCBCBCBCCBBCCBBBBCBCCCCBBCCCCBCCBBBBCCBCBCCBCBBBCBBBBBBCBBCCCCBBCBCBCCBBBCBBCBBCCCCCCBBCCCCCCBBCCBCCBBCCBBCBBBBCCBBBCCCBBBCBBCCCCBCCBCBCCBCBCCBCCBBCBCBCBCBBCCCBCBBBBCBBCBCBCBBCCBBBBBBBCCBCBCCCCCCBCSBBBCCBBBBBCCCCCCCCCBCBCBCBBCCBBBBBCCBCBBCBCBBCBBBCBBBBCBBCBBCBBBBCCCCCCCBBCCCBBBCBCBBCCBCBBBCBCCBCCCCCBCCCCBCCBBBCCCBCCBCCCBBBBBBCCCCBCBBBCCCBBCBCCCCCCBBCBBCBCBCBBBCCBBCCBBBBCCCBCBBBBBCBBCCBBBBBBCBBCBCBCBBCBBCBBBBCBCBBCCCCCCCBBCBCCCBCBBCBCBCCBBBCCBBCBCCBBCBCCBCBCCBBCBBBCCBCCCBBCBCBCCCBCBBCBBBCBBBCCBCBCCCCCBBCCBCBCBCBBCCBCBBBCBCBBBBBBCBCCCBBBCCCBBBCBBCCCCCBCBBCCCCCCBBCBBBBBBCCCBBCCBBBBCBCCCCCCCBBCCBBBBBCBBBBCBBCBCBCBBCCBBCCCBCBCCBBBBBCBCBBCBCBBBBBCCCBCBCCCCBBBCCCBBBCBBCCBBCCBCCCCCBCBBBCBBBBBBCCBCCBCCBBBCCCCBCCCBCBCBCBBCCCCBCCCCBBCCCBBCCCCCBCCCCBCCBCBBBBBCCCBBBBBCCBCBBCBBCCBBBCCBCBBBCBCCCBCCCCCBCCCCCCCCBBCCBCBBCBBCCCCCCBBBCCCBCCCBBBCCBCCBBCCCBBBCCCCCBBBBBBCCCBBCCBCBCBCCCCBCBBBSBBCBBCCBCBCBBCBCCCCBBCCCCBBCBBCCBCBBBBCBCCBCCBBBBCBBBBCCCBBCCBCCCCCCCBBBBCBBCBBCCBBCCCBCBCBBBCBCBCCBBCBBCBCBBCCBCCCBBCCBCBBBBCBCCBBCCCCCBBCBBCBBBBCBBCCBBBCCBCCBBCCBCBCBCCBCCBCBCBBBCBBCBCCBBCBBCCBCCCCBCBBCBCBCCBBCCBCBCBCBCCCCCCCCBCBCBCBBBCCBBCCCCCBBBCCCBCBBCCBBBCCCBCBBCCCBBCCCCCBBCCCBCBBBBCBBBCBBBBCBCBBBBBCBBCBBCBCBCCCBBCBCBBCBBBBCBBCBCCBBBCBCBCBBBCCCBCBBBCCBCCCCCCCCBCCBCBBBBCBCCBBBCBBBCCCBCCBCBCCCBCBCCCCCCBBCCBBBBCCBBBCBBBBCBCBBCBCCCCBCBCCBBBBCCCCCCBBBCCCCBBBBBBCCBCCCCCCCCBCBBBCBBCBBBBCBCBBBBCBBCBCCBBCBBCBCBCCCCBCCCCBBCCCCCCBBBCCBCBCCBCCCBCCCBCBBCCBCBBBCBBBCCCBCBCCBCCBBCCCBCCCCBBBCCBBBBBBBBCBCCBBBBBBBBBCBCBCCBCBCBCBBCBBCCCBBBCCBBBBBBBCCCCCCCBBCBBBCCCCBCBBCCBCCCBBBBBCBCCCCBBCBCBCCCBCBBCBCCBBBBCBCCBBBBCCBBBBCBCBBCCBBCCCBCCBBBCCCBBBBBBBBCBBBCCBBBCCCCCCCCBBCBCBBCBCCBCBCCBCBCCBBBBCCBBBCBCBBCBBBBBBCCBBBCBCBBCCCCBBCCBCBCCBBCBCCBCBCBCBCBBCBBBBCCBBCBCCCBBCBBCBBCCBBBCBBCCBBBBBBCCCBCCCCCCBBBBCCCCBCCBCBCBCBCBCBCCCBBCCCCCBCCCBBCCCCBBBCCBCCCCBBBBBBBCBCBBCBCBCBCBBCBBCBCCCBCCCBBCBBBCBBBCBBCBCCCCCCBBCCCCBCBCCCBBBBBCBBBCBCCCBBCBCBCCCCCBCBCCCCBBCBCBCBCCCCBCBCBCCCCCBCCCBBCBCCCCBCCCBBBCCCBBBCBBBBCCCCBBBCCCCCCCBBCBCCBCBBBCBBCBCBCBBCBBBBCCBBCBBCBCCCCCBCBCCBBCCCCCBCCBCCCBBBBBCCCCBBBBBBSCCBCCCBBCCBCCCCBBBBBBCCCBCCBBBBCBBBBCBBCBCBBBBCCBBBBCBCCCCCBCCCCCCBCCCCCBBBCBCCCCBBBBCCBCCCCCBBBBBBCBCCCBCCBBBBCCCCBCBCCBBBBCBCCBCBCCCCCCBBBBBCBCBCBCCBCBCCBCCBCBCCCBCCBBBBCBBBBCCBCCBCBBCBBBCBCBBBCBCBCBCBBCCCCBBCBBBCCCBBCCCCCBBBCBBBCBCBCBBCCCBBBBBBBCBCCCCBBBBCCCBBCCBBCBBCBCCCCBBBCBCBBBBCCBBCBBBCCCCCBCCCCBBCBCBCBCCBBBCCBCCBBCCCBBBCCCCCBCCBBBBCBBCCBCBBCBBCBCCBBBBBCBBCCBCCCBCBBBBBCBBBCBBBCBBBCBCBCBCBCBBCBCBBCCCCBBBCCCCCBBBCBCBCCCCBBCCCBBCBBBCCBCCBBCBCBBCCCBBCCCBCBBBCBBCCCBCBCCCCCBBCBCCBCCCBCCBCBBCBBCCBCBCBBBBCCBBCCCCBBBCCCCCBBCCBCBBCBBCBBBCCBBBBBCBBCCBCBCCCCCBCCCBCBBBCBCBBBBBBCBCBBBBCBCBBCBBCCBBBCBCBCBBCCBCCCCCBBCCBCBCCBCBBBBCCCBCBBCCBBBBBCBBBBBCBCBCCBCCCCBBCCBCBCBCBBBBCBCBBBCCBBCCBBCCCBBBBBCCCCCBBCCBBCBBBBBBBCBBCCCBCBCBBBCCBCCCCBCCCBBBCBCBCCBBCCCBBCCCCCBBBCBCBCCCBCBBCCBCBCBBBBBCCBCBBCBBCCBCBCBCCCCCCBCCCCCBBBBBBCBCBCBBBCCCBBBBBBBBCCBBBBCCCCBBCBBCCBBCCCBCCCBBBBBCCCBBCCBBCCBCBBCBBCBBBCBBCBCBCCCCBCBCBCBCCCCCCBCCCBBCCBCBBBBBBCBCCBCCBCCBBCCCCCCCBCCCBBBCCCBCCCBCCBCCBBBBCCBBBBCCBCCCBCCCCBCCCCCBBBCCCBBCCCCBBBBCCCBCCCCCCBBBCBBCCBCCCCCCCCCBCCCBBCCCCCCBCBCBCBCCCBCBCBBBBBCBCCCCBCCCCBBCBCBBBBBCCBBCBBCBCCCBCCCBCCBBCBCCCBBCBCBBBBCCCBBCCCBBBCCBBBBCCBBBCCCCCBCBCBBCCCCCBBBBBCBCCCCBBCBCBCCCCBCCCCCCCBBCCBCCBBCCCCBCCCBCCCCCCBBBCCCCBCBCCCBCBCBCCBCBCCCCBBCCCBCBCBCCBCCCCBBCBBCCBBCBCCBCCBCBBCCBCBCBCCBCCBCCBCCBCCCBCCCCCBCCCCCCCBBCBCCCCCBCCCCCBBCBBBCCBBCCCCBCBBCCCBCCCCCCCCBBBBBBBBCCCCBBCBBBCCCBCCCBBBBBCCBCBCBCBCBCCCBCCCBCBCCCBBCBBCBBCCCCCBCCCCCCBCCBCBBCCBBBBCCCCCCCCBCBBBCCCBBBBBBBCCCBBCCCBCBCCCCBCBCCCBBCCBBCBBCCCCCCCCCBBBCBBBCBCCCBCCCCBCCCBBBBBBCBBCBBCBCCCBCBCBCCBBBCCCCCCBBCCBBCCBBBBBBBBCBCCBBBBBBCCCCBBCBCBCCCBCBBBBBBCBCCBBCBBBBBCBCCCBBBCCBCCBCBCCCBBCCBBCCCCCCCCBBCCBBBCBCCBBBCBCBCBBCBBBCCCBBBCCCCCBBCCCCCBCBBCBBBCBCCBBBCBBCBCCCCCBCCBCBCBCCCCBBBCCCCCBCBCCCCCBCCBBBCCBCBBCCCBBBCCCBBBCBCBCCCBCBBBCCBBCBBBBBBBBBCCBCBBBBCCCBCBBCBBCBBCBBBCCCCBBBCCCCCBBCBCBBCBCCBCCBCCCCCCCCBCBBCCBBBBBBBBCCCBCCBCCBCBBBBBCBCCBBBCBCBBBCBCCBBCCCCCCCCBBCBCBCCCCBCBCBBCCBCCCCBBCBCBBCBCCCCBBCCBBBBBBCBBBBBCBCCCCBBCCBCCCBBCCCCBBBCCBCBCCBCBCCBCBBBCBCBBBCCCCCBBBCCCBCBBCCCBCBCCBCCBBCCCBBBBCCCCCBBBBCCBBBCCBBBBBBCCBBBBCCCCCBCBCCBCCBCBCCCCCBCCCBBBBBCBBBBCBCBBCCBBCCCBCBBBCBBCBBCCBCCBBBBCBCBCCBBCCBBCBBCBBBCCSBBCBCCBCBCCBCBBCBCCCBBBCBCBCCCCCCBBBCCCCBBCBCBBBBCBBCCBCCCCBBBBBBCCCBBCBCBBBCBCCCCBBCCBBCCCCCCCCCBBBCBCCBBCCCBCBBBBBCBBBBCBBBCBCCBBCCBCBBCBBCBBCCBBCBBBCCCBBBBCBBCBBCCCBCBBCBBBCBBCCCBBCBBCCBBBBCCBCBBCCCBCCCCCCBCBBBCCCBCBBBBBBBBBBCCBBBBCCBBCBBCCCBCBBBCBCBBBCCBCBCBBCBBCCBCBBBCCCCCCCBBBCBCCBBCBBBCBBCCCBCCBCBCBCBBBBBCBCCBCBCCBBCCCBCBBBBCBCCBCCBCCCCBCCBBCBCBCBBCBBCCCCBBBCBCCBBBBCCCBCBCBBCCBBCBCBCBBBBBBCBCCCCBCBBBCCBBBBCCBBBCCBCBBBBBBCBCBBCBBCCCCCCCCBBBBCBBBBBBCCBCBBBBCCBCBBBCBBBCBCCCCBBCBCCBBBBCCCBBBCCBBCCBCBBCCCCCBBCCBBCCBCCBCCCCCCBCCBBCCBCBBCBCCBBBCBBCBBCCBCCBBCBBBBCCBCCCCBCCCCCCCBCCBBCBBBCCBCBCCBCCCBCBCCBBBBCBCCBCCBBCBCCCBBCCBBBCCCCBCCBBBCCBBCCCBBCCCBBCBBBBBCBBBCBCBCCBCCCBCBBCCBCCCBCBBCCCBBBCBCCCCBCCBBBCBCCCBCCBCBCCBBCCBBCBBBCCCBCBBBCCCBCCCCBCCBCBCCBCCCBCCCCBBBCCCBBCBBCBBBCBCCCBCBBBCCBCCBBCCBBCBBBBCBCCCCBCBBBBCCBCBCCBCCCBBCCCBCBBCCCCCCBCCCBBCCCCBCBBBBCCBBCCBBCBCBCBBBCBCBBBBCBCCBBBBBBCCCCCCBCBBBCCCCCCBBBCCBCCCBCCBBBBCBBBBBCCBCCBCBCCBBCCCCCBCBBCCCCCBBCCBBBCCBBBCBCCCBCBBCCBCBCCCBBBBCCBCCCCBCBCCBBCCBBBCCCCBCBCBCCCCCBBCCCBBBBCCBCCBBBBCBCBCCCBCBCCCBBBBBBCCBCCCBCBCCCCBCCCBBCBBBBBBBBBCCBBCCBBCCCCCBBCCCBBCBCCBBCBCBCCCCBCCCBCBCCCBBBCBBCCCBBBCBBCBBCBCBBCCCBCCBCBBBCBBCBCCBBBCBBCCCCBCCBBCBBBBBCCCCCBCBCCCCBBBCBBCCBBBCCCBCCBBCBCCBCCBBBBCBCCBCCBCCCCBBCBBBCBCBBCCCCCBBBBBCBBCBCBBBCBCCBCCBBBBBCCCBBCCBBBCBCBCCBBBCCBBCBCBBCCBBBBBBBBBCBCBBBCCCBCBBCBBCBCBBBBBCCCCCCCCCCCBCBCBCBCCBBCBCCCBBCBCCBBCCCBBBCCBCCCCCBCCCCCCCCBCBCCCCCBCBCBCBBCCCCCBCBCCBCCBBBBBCBBCBBCCBBCCCBCCBBBCCCBBBBCCBCBBBCCBBBBBCCBBBBCBCBBCCBBCBBBBCBCBBCBCCCBCBCCCCCBCBCCCBCCCBBBBBCCBCBBBCBCCCCBBCBBCCCCBCBCBBBCBCCCBBCCBBBBBBCBBCBBCCCBBBBBCBBCCCCCCBBCCCCBCCBBBBCBBBCBCBCBBBCBBBBBCBCCCBBBBCBBCCBBBBBBCBBCBBCBCCBCBCBCCCCBBBCBBBBBCBBBBCBCBCCBCCBBCCCCCCBBBBCCCBCBBCCBCBBCCCCBCBBCCCCCBCBBCBBBBCCCCBBCBCBCBBCBBCBCBCBCCCCBCCBBBCBBBCBCBBBCCCCCCCCCCCCCBBCCCCCCBBBBBBCCBCCCCCBBCBCCBBBCCBCBCCBBCCBCBCBCCCBBBBCBBCCCBBCBCBCBCCBBBCCBBCBCBBCBCBCCCBBBCBCBBCBCCCBBCBBBCCBCBCCCBCBBCBBBBCBBCCCBBCBBCCCCBCBBCCBBCBCCCCCCCCBCCBCBBBBBCCBBBCCBCCBBCBBCBBBBBBBCBCBCCCCBCBCCBBCCCBBCBCCBBBCBCBBCCBCCCCCBBCBBCBCCCBCBCBCBBCBCCBBBCCCBCCCBBCBCBBCBBBBBBCCBCCBCCBBCCCCCCCBBBCCBCCBCCBBCBCCBCCBBCBBCCBCBBCBBCBBCBBBCBCCCBBCBCBBCBBCCBCBCBCCBBCBCCCBCCBCBBBCBBBCBBCBBBBBCCCBBBCCCCBCBSBBBBCBBBCCCCCBCBBBCBCCCCBBBBBBCBCBBCBCBBCBBCBCCCCBCCCBBCCCBCBBBBCCBCCCCCCCCCBBBCBCBBBBCBCCBCBCBCCCBCCCCCBCCCCBCCCCCBBBCBBBCBBBBBCBCBCBBCCCCCBBBBCCBCBCCBBCBCBCBBCBBBBBBBBCBBCCCCBCBBBBBCBBCBCBBBBBBCBCCBBCCBBCCCCCCBCCBBBBBCCBCCBBCBCBBCCCCBCBCBBBBCBBBBCBBBCCCBBCBBBBCCBBBCCCBCBBBBCCBBBCCCBBCCCBBCBCCCBCBBCBCBCBCBCBCCCCCBCCBCBCCCBCBBCBBBBCBBCBBBBCBBBBBCBBCBBBBCBBBBBBCBCBCCBBCBCBCCCBBBCCCCCBCCBBCBBBBBCBCCBCBCCCCCCCBCBCBBBBBCBBBBBCBBCBCCBCCCBBBBBCCBCCBBCCCCBBBBCBCBCCCCBBBCBBCCCBBBBBBCCBCBCBBBBBBBCCBBBCCBCBBCCBBBBCBCBCBCCBCBCBCCCCBBCBBBCBCBCBBCCCCBBCBCCCCCCBCCBBCBCCCCBCBBBCCBBCBCCBBCCCCBBBCBCBBBCBBBCBBBBBCBBCBBBBCBCCBBBBBCBBCCCBBBBCBCBCCBBCCBCCBBCBBBBBCBCBBBCBCBCCCBCCCBBCCCBBCBBCCCBCCBBBBCBBBCCBCBCBBBCBBBCBCCCBBBCCBCBBCBBBCBCCCCBBBCBBBBCBBBBCBCCCCBCBBBBCCBCBBBBBBCCCBBBCBBCCCBCBBCCBCCCCCBBCBBBCBBCCCBCBBBCBCCBBBBBCBCBBBBCBBCBCBBCBCCBCCCCCBBCBCBBCCCBCBBBBCBCBBCCBCCBBBCBCBCBBCCCBBCCBBBCBCCBCBBBBBCCCBBCBCBBBCCBBCBCCBBCBCCCCBCBBBBBCCCBBCCBBCBBBBBBCCBBBBBCBCCBBCBCCCBCCBBBCCBCBCBCBCCCCBCBBBCBBBCCCBBCCCCBBBBBBBCBBCBCCCBBBBCBCCCCBCBBBBCBCCBBCCCBCCCCCBCBCBCBBCCCCBBCCBBBCCBCCBCBCCBBBCCCCCCCBCCBBCCCCCCCCCBCBBBCCCCBBCCCCCCCCCBCBBCBBCBBCCBBBCBBCCBBCCCBCCCBBCBCBCCCBCBCBCCCCBBBBBCCCBBBBBCBBBCBBCCBBCCBCBCBCCBBCCCBCCBCCCCCCBBCCBBBCCBCCCBBBBBCCCBCBCCCBBCBBBBCCCCBCBCBCBBBBBBBBCBCCBCBCBCBBBCCCBBCBCCBCCCCCBBBCBCBCCBBCBCCBBBBCCBBCCCCBBCCCBCCBBBBCBCBBCBCCBCBCCBBCCCCCCBCBBCBCBBBBBCBBCCBBBCCCBCCCCCCCCBCBBBCCBBBCCCBCBCBBCBCBBCBBCBBCCBBCCCBBBCBCCBCBBCCCCCCCBBCBCCBCCBBBCBCCBBCBCBCCCCBBBBCCCBCBCCCBBCBBBBBCCBCBCBCBCCBCBBCBBCCBCCCBBCCBCCBCBBBCCCBBBBBCBCCCCCCCBBBCCCCBCBBBBBBCBBCCCCBCCCCBCBBBCBCBBBCCCCBCCBCCCCBBCBBCBBCBCBBBCCCBBCCCCCCBBBCCBCBCBBCBBBCCBBBBBBCCCCBCCCBCBBCCBCCCCBCCCCBCBCCBCCCCBCCCBCBBCCCCCBCCCCCCBBBCBCCBCCBBBCBCCCCCBCCBCBBBCCCCCBCBCCBBCCCBBBCCCBCBCCCCBBBCBCBCBBCCBCBBBCBBCCBCBBBBCCCBCBCBBCBBCBBCBCBBBCBBBBCCCBBBBBCCCBCCCBBCCBBCBCCCBBCCBCCBCCBBBBCBBBCBCCCCCCBBCCCBBBBBCBBCCBBCBBCCCCCCCCCBBCBBBCCBCCBCBCBBCBCCBCCBBCBCBBCBBCBCBCBCBCBBBCCBCBCCCBBCCBBBCBBCCCCCBCBCCBBCCCCBCBBBBBCBCCCCCBCCBCCCCBCBCCBBBCBBCBCBBCCCBBCCCCBBCCCBBCCCCBBBCCBBBBCBCBCCCCCBCCCBCCBBCBCCBCCCBCBBBBBCBBBCCBBBBBCBBCCBCBCBCBCBBBBBBCBCBBBBBBBBCBBCCCBCCBCBBBBCBCCBCBBBCCCCCBBBCBBBCCBBBBBBBBBBCCBBCBBCBBCBCCBCBBBBBBBBBBCBBCBBCBBCBCCBBCBCCCBCCBBCBCCCBCBBBBBCCBCBCCCBCCBBCCBCBCCCCCBBCCCCCBBBBBBCCBCBBBCBBCBBBBBCBBCBBBCCBBCBCBBBBBBBBCCBCBCCCCBCBBBCCBBBCBBBBBBBBBBCCCBBCBBCCBCCCCCBCCCCCBCBCBCCCCBBCBBBBCCBBCBCBBCBCBBBBCCBCBCBCCBBBCBBCCCCBBBCBBCBCCCBCBBCBCCCBCBBCCCCBCCCCBCBBBCBCBBCCBCCCBBCBBBCCBCCBBBBBCBBCCBCBCBBBCBBBBCBBBBBBBBCBBBCBBBCCCBBCBCBCBCCBBCCBCBCBBBCCBCCCCCBBCCBBCCBBBCCBCCCBBBCCBCCBBCCBCBBCBCCCCCBBCCBBBBBBBBBBBBBCBBCBCCCBBBBBCBCBCCCBCCBBCBCBBCBCBCCCCCCBBBBBCCBBCCCCBBCBBBCBCCBBBBCBCCCBBBCCBCBCCCCBBBCCCCCCBCCBBBCCCBCBCBBBBCBCCCCBBBCCBBCBCCCBCBCBCCCCBCCBBCBBBCCBBCCBBBBBBCCBCBBCBBBCBCCCCBBBCCBCCBCBCCBBBBCBBCCCBBCBBBCCCCCBCCBBBCBCBCCBCCCCBBBCCBBCBBCCCCCBCCBBBBBBBBCBBBBCBCCBBBCCCBCBBCBBBCBCCCBCBCBBCBBBCCBBBBBBCBBBCBCBBCBBCBCCBCCCCBCCBCBCCCBBBCCCCBCBBBCBBBCCBCCBCCBCBCCCCBBCBBCCCCCCCCBBBBBCBBBCBCCCBBBCBBBBBBBCBCCBBCCBCCBBCCBBCCBCCCBBCCCCCBCBBBBCCBBBBBCBBBBBBCBCBBCCCBBBBBCCCBBCCBCBBBCBCCBBCBCBCBBCCCBBCCBBCCBBCCCBCCBBBBBCCCCCBCCBCCCCBBCCCCBBBBBCBBCBBCCCCBCBBCCBBCBCCCCBCCCCBBCBCBBCBCBBCCBBCCBBBCBCBBBCBBBBBCBBBCCCCBBBCBBCCBBBCCCBBBBCCCCCCCCBCCCCCCCBBBCCBCBBCBBBBCBBCCCBBCBBBBBCCCBBBBCCCCCCCBCBCCCCBBCBBBCCBBBBCCBBBCBCBCCCCCCBBCCBBCCCBCBCCCBCBBCBCBBCCBBCCCCCBBBCCCBCBBCCCBCCCBCBCBBBBCBBCCCCCCCBCBCBBCCBBCBBCCCCBCBCCBBCCBCCCBBBCBBBBCBCBBBBBCCBCBBBBBCCBCCCBCCCBCCCCCBCBCCBBBBCBBCCCCCBBCCBCCBBBCBCCBCCBBCCCBBBBBCBBCCBCCCCBBCBCCCBBCBCBBBCBBCCBBBCBCCBBBBBBBCBBCCCBCCCBCCCBCBCCBCCBCBBBCCBBBBBCBCCCBBCCCCBBCCCCBBBCBBBCCBBBCBBBCCBCBBCBBCBBCBBCCBBCBCBBCBBBBCCBBBCCBBCBBCCCBBCCBCBBCCCCBCCCBCCBCCCCBCCCCBBCCCBBBBCCCCCCCBBCBCCCCCCCCCBCBCCCCCBCBBBCCBBBBBCCCCBBCCCBBBBCBBBCBBBCBBBBBBBCBCCBBBBBCBBBBCCBBBBCBCBBCCCBBCCCCCCBBCBBBBCBBBBCCBBCBCCBBBBBCCCBBBCBBCCBBBBCCCCCBBBCBCBBBBCBBBCCCBBBCCCBBCBCCCBCCBCCCCBCCCBBCBBCCCCCCBCBCCCBCCBBCCBCCBBBBCCCBCBBBBBCBBCCCBCCBBCCBBCCBCBBBCCCBBBCBBCCCBCCCBCCCBCBCBBCBCCBCBBBBCCBBCBCBBCCBBBBCBBBCBCCCCBBCBCBCCBBBCCCBCCBBCBBBCBCBBCBCBCCBBBBBCCCBCCBBCBBCCCBBCCBBCBCBBCBBBCBCBCCBCBBCBBCBCCCCBCBBBBBCBBCBCBBCBCBCCCCBCBCCBCBCBCCCCBCCCBBCBBCBCCBCBCCCCCCCBBCBBBBBCCCCBCCCBCBBBBBCBBCBBBBCCCCCCCCCCCBCBCBBBCBBBBCCBCBCBBCBCCBBBBCBCCBBCCCCCBBCBBCCBCCCCCBBCBBBCBBBCBCCBCBBBBCBBBCBBCCBCBCCCBCCBBBCBCCCBBBBBBBBCCCCCBCBBCBCBBCBCCBBCBCCBBBCBCCCCCCCCCBBBCBCBCCBBBCCBBBCCBBBBCCCCCBBCCBBBCCCCBCCCCBCBBCCBCCBCCBBCCCCCBBCCCBBBCCBCCCBBBCCCCCBCCBCCCCCBCCBCCBBBCCBCBBCBCBCBCCCBCBBCBCCBBCBBBCBBBCCCBBCBBCBBCBBCCCBBBBBCBBCBBBCCCBBBCBBCBBCBBBCCCCCCBCCBBCBCCBBBCCCCCCCBCCCCCCBBBBCBCCCCCBCCCBBCCCCCCBBBCCBBCBCCBBCBCBBBBCCCCBCCBBCBCCBCCBBBCBBCBCCCCBCCCBBCCBBBBBBBCBBCCBCBCCBBBCCBCCCBCBBCCCBCCCBBBBCCCCCBCBBBCBCCBBCBBCBBCBBBCBBBCCCBBBCCBBCCCBCCCBBBCCCBBCCBBBCBCCBBCBBCBBBBCCBCBCCCCBBBBBBCBCCCBBBCCBBBBCBBBCBCBBBCCBBBCBBCCCCCBBBBBBCBBBBCCBCBCCCBBCBBCBBCBBCBCBBCBCBCBBCBCCBBCBCCBCBBCBBCBBBCBBCCCBBBBBBBBCCBCBBCBBBBCBBCCCCBBCBCBBCCBCBBBBBBBBBCBBBCCBCBCBBBCBBCCBBCCBCBBCBCBCBBCBBBCBCCBCCCCBCBBCBCCCBCBCCCCBBBCCCBBBCBCCCBBCCCBBBCCBBBCBCBCBCBCCBBCBBCBBBBCBBCCCCCBBCCCBCBBBCBCCCCCBBCBBCCCCCBBBBBCBCBBCBBBCCBBBBCBCBCBCCCCBBCCCBBCCCBBBBBCBBBCBBBCBBBBCBCBBBCCCCCBCBBCBBBCBBCBBCBBCCBBBCCCCCCBCBCCCBCCCCBCBBCCCCCCBBBCBCBCCBCBBBCCBBCCBCBBBCCBCBBCCBCBCBBBCCCBCCCBBBBBBBBBBBBBBCCBCBBBBBBCBBCCBBBCBCCCCBBBBBCCCCBBCCBBCCCBBBCBCCBBCBBCCCCCBBBCBBCBBBBCBCBCCBCBBBCBBBCCCBCCCBBBBBBBCBBBBCBBCBCCBCBCBBBBBCCCCCCBCCBCCCCBCBBCBCBCBBCBBCBCCBCCBCBBBCBCCCCCBCBBCCBCCBCCBCBBBBBBCCCCBCCCBBCBBCCCBCCBCBBCCBCBBCCBCBCBCCBCBBCBCCBBCCBCBBBCBBCCBCBBBBBBBBCCBBBBBBCBCCBCBBCBCBCCBCCBCBCCCCCCBCBCBBBBCBBCBBBCCBCBBBBBBBBCBCBCBBCBCCBBBCBCBBCCCBCCCBBBBCBCBCCBCBBCBBCCBBBCBBBCBBBBCCCBBCBCBCBBBBCBBCBBCBCBBCCCBCCBCCCCBBBBCCCCBBCCCCCCCCBCCBCBCCCCBBBBBBBBCCCCCBCCBBBBCCBBCCCCCCCCCBBBBCCBBBCBCCCBCBBBBBBCCCBCCCCBBCBBCBBBCCCCCCCBCCBCBBCBCBBBCCBCCCBCBCBCBCCCCCBCCBBBBCCBBCCBBBCBCCBCBCBCCBBBCCBCCBBBBCCBBBCCCBCBCCCCCCBBBBBCCCCCCCCCBBBBBBBCCCCBBCBBBBBCBBCCBCCBBCBCBCBCCBCBCCBBBCCBBBBCCCCBCCCCBCBCBBCCBCCBBBCCCBBBBBBCBBCCBBCBCCBBBBBBCBBBCBCCBBCCCCBCBCCBBCCBCCCCBCBCBBCBBBBBBBCCBCBCCBBCCCBBCBBCCBCCBBCBBBBCBCCCBBBBCBBCBBBCBCCCCCBCCBCBCBCBCCBBBBCBBBBCCCCCCCBCBBBCBCCBBBBCCCBBBBCCBCCBCBCCCCBCCCCBBBCCCBCBBBBBBBBCBBCBBCCBCCBBBBBBBBCCBCBBBCBCBBCBBCBBBCCBCCBCCCBBBCBBCCCBCCBBBCCCBCBCBBCCCBCCCCCCCBBBCBBCBBBCBBCBCCCCBBCBBBBBBCCBCBCCBCCSBBCBBCBCBCBBCCBBCBCCCBCBCCBBCBCBBBCBCCCCCCCCCCCCCCBBBBCCBBCCCCBCCCBBCCCBBCCCCCCBCCCBBCBCBBBCCCCBBCBCBCBBBBBCCCCBCBCCCBBCCCBCBCCBCBBCCBBCBCCCCBCCCCCBBCCCBBCCCCBCCCBCBBBBCCCCCCCBBCBCBCCBCCCBCBBCBCCBCCCCCBBBCCBBCBBBBCBBBBBCCCBCBCBBBCCBCBBCCCCCCCBBBCBCCCCCCCBBCBCBBBCBBCCBCBBCBBBCBCBCCCBCCCCCBBBCBBCCBBCBBBCBCBBCBCCBCCBBBBBCCCBCBBCCCBCCBCCBBCBBCBCCBCCCBBBCBCCBBCCBCCBBCCCCCCCCBBBCBCCCCBCCBBCCBBBCCCBCBBBCCBCBBCBCCBBBCBCBBCBCBBCCBCBBBCBCBCCCCBCCBBCCBBCBCCCCCCBBCCCCCCBCBCCBBCBBCBBBCBCBCCBCCCCCCCBBCBCCBCBBCBCBBBBBBBBCBCBBBBCBBBBCBBBCCCCCCBBBBBCBBCCCCCCCCCCCBCCBBBBCCBBBBCBCCBCBCCBBBBCCBCCBCBCBBBCBCBCBCBCCBBBBBCBBCBBCCCBCCCBBBCBCCCBCBCCBBBBBCBBCBCBBCCBCBBCCCCBCCCCBCCBBBBBCCCCCBCBBCCBCBCBBCCCBBBCBBBCBBBCBCCBCBBCBCBBBCBBBCCCBCBCCCBCBCBCBCCBBCCCBBBCBBCCCBBBCBBCBBCCCCBCCBCCBBCCBCCCBCBBCBBBBBCBBBCCCCBCCCBBCBCCBBBBBBCBCCCCBCBBCBBCCCBBCCCBCCCBBCCBCCBBCCCCBBCCBBBBCBBCCCBCBCCCBBCBBBBBBBBBBCCBBCCBCBBCBBCBCCCCCCBCBCCCBCCCCBCBBBBBBCCBBCBCCCCBBBBBBCCCBBCCBBCCBBCBBCCBBBBBBBCCCBCBCBCBCCBCCBCCBCCBCBBBBBBCBBCBCCBCCCBBCBCCBBCBBCBBCCCCBBBBBCCBCBCCCBCBBCCCBBCBBCCBCBBBCBCBBBCBCCCCBBCCBBBCBBCBBCBCCCBCCCBCCCCBBBCCCBBCCBBCBBCBBBCBCCCBCCCBBBCCCBCBBBCBCBBCCBBCBCCCBCBCCBBCCBBBCCCBCCCBBBBCBBCCCBBCBBCCCCCBCBCBCCCBCCBBBCBCCCBBBCBCBCBBBCCBCBBCCCCCBBCBBBCCBCBBBBBBCCBCCBCCBBBCBCCCBBCCCCCCBCBCCBCBBCBCBBCBBBBCCBBBCCCCCBCCCBCBBBCBBBCBBBBBCCBBBBBCBCBCBBCBCCCBCCCCBCBCCCBBBCCBCCCBCCBCBBBBBBBCBCCCBCCCBCCBBCBBBCCBCCCCBBCBCCBCCBBBBBBCBCBCCCBCBCCCBCBCBCCCCBBBBCBBBCBBBBBCBCCCBCCBBCCBCCCCBCCCBCCCBCBCBBCBCBCBCCBBBCCCCBCCBBBBCBCBBBCBCBBBCBBCCCBCBCCBBBBCBBBCBBBBBCBBBCBBCBCBBBCCBBCBBCBCCCCBBCBBCBBBCBCBCCCCCBBBBBBBCBBCBCCCCCBCBCCCBBBBCBCBCCCCBCCCBBBCCBCCBBBCCCBBCBCBCCCCCCBBCBCCBCBCBCCBBBBCCCCBCBBCCBBCCCBBBCCBBBBCBCBBBBCCCCBCBCBCBCBCCCBBCCBCBCBCCBBBBBBBBBCCCCBBBBCCCBCCCBBCBBCCCBBCCBCBBCBCBBCBBCCCBBBBBCBCCBBBBBBCCBBBCCBBBBCCCCBCBCBBBBBCBBCCCCBBBCCBCCCCCCBBBCCCCBBCBBBBBBBCCCBCBCBBCBCBCBBCCBBCCCCCBCBCBCBBCCCBCBCCCBBCBBCBBCBCBCBBBCBCBCCCBCCBCBBCCBCBCCCCCBBBBCCBCBCCCCBBBCCCBBBCCCCBBCBBCBCBCCBCBBBCCCBCBBCBBBCCCBCCBBCCBBBCBCCBBBCBBBCCBBCBBBCCBCBCCBBCBCCCCCBBCBBBCBBBBBCCBCCBCCCCBCCCCCCBBBBBBBCBBCBBBBBCCCCCBBCCBBCBBCCCBBCCCCBBCCCCCBCCCBBCCCBCCBCCBBBCBCBBBCCBCCCBBBBCBCBBBCCCCBCCCCBBBCCBBBBCCCCBCBBCBBBBBCBBBCCCBBCBBBCCBBBCBCBCBCBCCBCCCBBCCBCBCBCBBCBBBCCCBCBBBBCCCBCBCBBCCBCCBCBBBCCCBCCBCCCCBBBBCCBCBCCCBCBCCCCCBBCCCBCCCCCCBBBCCCBCCBBCBCBBBBCCCCCBBCCCCCCCBBCCCCBCBBCBBCBBCBBCCCBCCCCCBBCBCBCCBBBCCBBBBBBBBCBBBCCBCCBCBCCCBBBBCBCCCCBBCCCBCCCBCCBBBCCCBCBBCBBCCCCBBBBBCBBBCBBCBCBBBBBCBCBBBBBCCCBBBBBCBCBBCBBBBCBCCBCBCCCBCBBBCBBCCCCCBCBCBCCBCCBCCBBCBCCBBBBBBBCCCBCCBBCCCBCCBCBCBCBBBCCCBBBCCCBBBBCCBCCBBBBBCBCBBBCBBBBBCBBCBBCCCBBCBCBBCBCCBBCCCCCCBBBCBCBBBCBCBCBCCCBBBBCBCCCBCBCBBBCCBCCCCBCCCCCBCBBCBCBCCBCBCCCBCBBBCCBBBCBBCCCBBCCBCBBBCCBBCBCBCBCCCCCBBBCBCBBCBBCCCCCBCBBCCCCBCBBBBBCCBCCBBBBBCCCCBCCCBBCCBCBBBBBCCBBBCCBBBBBCBCCCCBBBCCCCBCCBCCCBCBCCCCBCBCBCCCCCBCCBCBCBCCCCBBCBBCBCCBCCCCCCCCBCBBBBCCBBBBCBBBCCBBCCCCBCCCCBBBCBCBBBBBBBCBCCCBBCBBCCCBCBCCBBCBCCCBBBCBBCBCCCBBBBCBBCCBBBBBCBBBBCCBBBCCBBCBBBCCCBBBCBBCBCBBCBCBCBBCBBBBCCBCCCBCBCCBCBBCCCCCCBBBBBBCBCBCBCBCCCCCCBBCBBBCBCCCCBCCBCCCBBBCCBBCBCCCBBCBBBCBCCBCCBCCBBCBBBCCBBCBBCBCCBBBBCCCBCCBCCBBBCBBCCBBCBCBCCCCCBCCBCBCBCCBCBCCCBBBCCCBBCBCBBCBCBCCCCBBBCCCBCBCCBBBCCCBBCBBCCCBBBBCBCCCBCCBCCCCBBCBBBBBCCCBCCBBCCBBBCCCCBCBBCCCCCCBCBCBBCCBBBCBBBBBBCCBCCBCBCCBBCCBBCBBCBBBCBBBBBCBCCCBCCCBBCBCCCBCCBCBBBCCBCBBBBCBBBBBCBBCCCCBCCBBCBCBCCCCCCCCCBBCCCBCBCCBBBCCCCBBBCCCBCCCBCBBBBBBBCBBCCBCCBCCBBBCBBCBCBCBCCBBCBBCBBBCBCBBCCBBCCBBBCBCBCCCBCCBBCCBCCCBCBCBCCCBCBCCCCBBBCBCCBCCBBCCCBBCCBCBBBCBBCCBBCCBCCBCCBBBBCBBBBCCBBCBCBBBBCCCBCCCBBBBCCBBBBCBCBBCCCCBCCBBBBBBCBBBCBCBCBCCBCCCCCCBBBCBBBCBCCBBBBCBBCCBCBBCBCBCBCCCBBBCCBBCCBCBCCBBCBBBBBBBCCBBBCBBBCCBCBCCBBBBBCBBCBBBCBBCBBCCBCBCCBCCBCBCCBBCBCBBBBBBBCCCBCBCCCBCBBBCBBCBBBCCBCBCCBCCCBBCCBBCBBCCCCBBCCCBCBBCBCCBCCCCBBCCBCBCBCBBCBBCBBBBCCCCCCBCCCBBCBCCCBCCCBBBBCBBCCCBCBCBCCCCBCBBBBBCCBCCCCCCCCCCCBBCCCCBCBCCBBCBBBBCBCCBBBCCCCCCCBBBCCCBBCBBBBCCBBBCCBCBCBBBCBBBBCBBBCCCCBBCBBBBBBBCCCBBBCCBBCCBCBBCCBBCCBBCBCBBCCCCCBBCCCCCBBBCBCCCCCBBCBBBBCBBCCCBBCBBCCBCCBBBBBCCBBCBCCCBBCBCBBCBCBBBBBCCCBCCBCBBBCCBCCBBBCCBBBCBCCBCBBBBBBBCBCBBBBCCCBCCBBCCBBCCCCBCCCCBBBBCCCCBCCBBCBCCBBCBBBCCBBCBCBBCCCBCBCCCCCCCCCBBBCBBCCBBCCBCBBCCBBCCCBBCBCCCBCBCCBCBBCBBBCBBBCBCCCBCBCBBCBBCBBCBCCBCBBCCBBCBBCBBCCCBBCCCBCCCCBBBBCBBBBBCBBBBCBCCCCCCBSCBCCBBBCBBBCBBBCCCCCBCBCBCCBCBCCBCCCBCCBCBCCBBCBBBBCBCBBCBCCBBBCBCCCBBCCCBBBCBBBCCBBBCBCCCBBBCCBCCBCBBBBCBCBCBBBBCBBBBBBCCBBBBBCCBBBBBBBBCCBCCBCBBBCCBBCBCBBBCCBCCCBBBBCBBCCCCBBCCBBBBBBBCBCCBBCBBBBBBCCCBCBBCCCCCBBBCBBBBCBCCCCCCCBCCBCCCCCCBCCCCCBBBCBBCCCCBCBCBBCBBBCCCCBBCBCCBCCBCBCBBBBCCCCBBBBBBBBCCCBBCCCBCCBBBBBCBCCCCBCBBCBBCBCCBCCBCCCBBBCCCCBCCBCCBBBBCCBBCCCBBBBBBBBCCCCCCBBBBBCBCCBCCCCCCCBCCCBCBBCCBCCBCCCCBBBCCBBBBBBCCBBBCCCCBBCCCCCBBCBBBBBBBCBBCBCCBCBCBCCCBBBCBCBBCBBBCCBCBBBCCBCBCBBBBCBCBBCCBCCBBCCCCBCCCBCCBCCBCBCCCBCCBCBCCCBCCBBCCBBCCCCCCBBBBCCCCCBCBCCBCBBCBBBBCBCBCBCBBBCBBCBBCCCBCBBBCCCBCBBCBCCCBCBBCBCCBCCBBCCCCBBCBCCBBBBCBCCBBBCCBBBCBCBBCCCCCCBBBCBBBBCBCCBCBCBBBCCCBCBBBCBCCCCBBCBCCBCCCBCCBBBBCBBCBCCCCBCBBCCCCCCCBCBBBBCCBBCCBBCBBCCBCCCBBCCCCCCCBBCBBBCCBBCCCBBCBBBBBBCCCCCBCCBCBBCBBBBBBCCBCBBBBBCBBCCBBBCCBCCCCCBBCCBCCCBBCCCBBBCCBCCCCCCBBBCBBBBCCBCCBCCCCBCBCCCBCCCBBCCBCCCCBCBCBBCCBCCBCCBBCBBBCBBBCBCCCBBBBBCCCCBCCCBCCBCBBBBCBCBBCBBBBCCCBCBBCCBBCBCCBCBCCCBBBBBCBBCCCBBBCBCBBBCCCBCBBCBCCCBBBCBCBBCCBCCBCBCBBCBBCCCCCCCCBBCCCCCBCCCCCCCBCCCBCCBBBCBCCBBBBCBBCBBBBCCCBBBCBCBCCCCCCBCBBBCBBCCCBBBCCCCBCBCCBCCBBCCCCCCCCBBBBBBBCBBCCBBCBBBCCBCCCBCCCCBBCCCCBBBBBBCBCBBCBCBCBCBBCCCCBBBBCBBBCCCCCCBCCBBCCBCBCCBBBBCBCCBBBBBCCBCBCBBBBCBCBBBCBCBBBCBBBBBCBBBCCBBBCCBBBCBBCCBBBBCBCBCBBCBCBCCCCCCCCCCBCCBBCBBBBCCCBCCCCBCCBBCCCCCBCBBCBCCBBBCCBBCBCBBCCBBCBBCBBBCCCBBCBCCBCBCCCCCCBCBBBBCBCCCBBCCBCCCBBCBBCCCBCCBBCCBCCBCBBCBBBCCBBCCCCBBCCBBBBCCCBBBBBCCBCBCBCCBCBBBCCCBBBCCCCCCCBBCBBBCCBBCBCBCBBCCCCCCBCCBBCCBCCBBBBBCCBCCCCCBBCBCCCBBBBCCBCCBBBCCBCCBCBBBCBCCCBCCBBBCBBCCCCCCCCCBBCBBCBCBCBCBBCCCBBBBCBBCBCCBBCCCCBBBCCBCCBBCBCBCCBCCBBCCBBBBCBCBBBCCCBCCCBCBCCCCCBCCBCBCBBCCCBBBBBBCCBBCBCCBCBCCCCBCCCBBCCCCCCCBCBBBCCCCCBCBBCCCCCBCBCCBBCBBBBCBCCCCCCBBCCBBCCBBCCCCCCBBCCCBCCBCBCBCCCBCCCCCCCBCBBCBCCCCCBCBBBCCBCCCCCCCBCBBBCBBCBCCBBCCCBCCBBCCBBCBBBBBCCCBCCCBBBBCBCCBCBCCBBCCBBBBBCBBBBBCBBBCCCBCBBBBBCBBBCCBCCCBBBCCCCCBCBBCCCCBCCBCBBBCCBCCCBBCCCBBBBCCBCCBCBCCBBCBCBBBCCBCBBBCCBBCBCBBBBBBCCCBBCBBCCBBBCCBBBCBCCCCBBBCCBCCBCBBBCBCBBBBBCBBBBBCCBBCBCBCCBCCCBBCBBBBBCBBBBBCBBCBBBBCCCCBBBBCCBCBBBBBBBBBBCBCBCBCCBCCCBBCBBCCBBCBCBCBCCBCCCCBCCBBCCCCBCBCBBCCBBBCCBCBCBCBBCCBBBBCCBCCCBBBCCBCBBBBCBCBCCCCBCCCCBBBCBBBBBCCCCBCCBCCCBBCCBBCBCCBBCBBBCCCCBCBCBCCBCCBBBCBCCCBCCCCCCCCBCBBCBBCCCBBBCCCCCCCCCBBCCCBCBCBBCCBCBBBBBCBCBCCCBCCBBBBCBCBCBBBCBCBCBBBCCCCCBCCCBBCCCBCBBBBBBBBCCCBBCBCBBBCCCBCBBBCCBBCCBBCBBCCCCCCCCCBCBCBCCBBBBBBCBCCCCBCBBBBCBCCCCBBBBBCCCBCBCBCBBBBCCBCBCBCCCCBBBBBCCCCBCBCCBCCCCCBCBCBBCBCBBCCBBCCCBBBCCBCBBCCBBBBBBCCCBCBCCBBCCBBCBBCCBBBBCCBBBCBBCCBBCCCBBBBCCBCBCBCCCBCBCCBCBCBBCBCBBCCBCCCBBCCBBCBBCBBBBCCCBBBCBBCBBBCBCBBBBBCCBBBCCCCCCBBCBBCBBBBBBCCCBCCCCBBCBBCBCCBCBBCBCBBBBCCBCBBCCCBBBBBBCSCCBCBCCCBBBBBBCCBCCBBBBBBCBBBBBCCBCCCCCCBBCCBBBBBCBBBBCCCCBCCBBBBBCCCBCBCBCBBBBBBBBBCBBCBCBBBBBCCBBBCBCCCBBCCCBBBBBCBBBCCBCBBCCBBCCBCBCBBCCCBBCCBBCBBCCBCBBBBBBBCBBBCBCBBBCCBCCCBBBCBCBBBCCCBCBBBBBCBBCBBBCCBBCCBCBBCBBBBBCBBBBCCCCCBCBCBBBCCCBBBBBBCBCBCCCBBBCCCCCBBCBBCCBCBBBBBBCBBBBBCCCCCBBBCBCBCCCBBCBBCCBCBCBCCBCCBCBBCCBBCCBCBBCBCBCCBCCCCCCCBCBBBCBCBBCCCBBBCBBCCCBBCCBCCBCCBCBCCBCBBBCBCBCBBBBCCCBBBBBCBBCCBCBCBBBBBCBCBCBBCBBBBCBBCBBCCCCBCCCCBBCBBCBCBBBCCCBCCBBBCCBBBCCBBBBCCBBBBCBCCCCBBCCBBCBBBBBBCBBCBCBCCBCCBCBCBBBCBBBBCCBCCBCBCCCBBBBCCCBBCCBBCCBBBBBCCCBCCCBBCCBCBBCBCBCBCBCCBCBBBBCCCBBCCCBCBBBCCBCCCCBBBCBCBCCBCCBCCBBCCCCBCBCBBCCBCBCCCBCBBBCCCCCCCBCBBBBCBBCBCBBBBBCCCBBBBCCCBCBBCBCBCCCCBCBCBCCBCBCCCBBBBCBCCCBCBBCCCCBCBCBCCBCCCCCBCBBBBBCBCCCBBBCCCBCBCCBCBCBCBBCCCBBCBCCCCCBCCBBCBCCCCBCCBCBBBBCBCBCCCBCBBCBBBBCCCBBCCCBCBBCCBCCCCBBCBBCBCCBCCBCCCBCCBBBBBBCCCCBBBBCBBCCBBBBBBBCBCCCBBCCBCCBBBCBCBCBCCBBBCCCCCBBBBBBBBCBBCCCCBBCCBCCBBBCCCBBCBCCBCBBCCBCBBCBBBCCBCCCCBCBCBCBBBCCBBCBBBBBCBCCCBCCBBCBCBBCCCBCBBBCCBCCBBBBBCCBCCCCCBBBCBBBBCCBBBBBCCBBBBCBCCBCBCBCBBBBCBCCBCCBBCCCSBBCCCCBBBCCCBBBCCBCCCBCBBCBCBCBCBBBBBCBCCCBBBCCBBBBBBCBCBBCBCCBCBBBBCBBBBBCBBCCBBBCBBCBBBCBCCCCCCBBCBBBBBBBCCBCCBCBBBCBBCCBCBCBBBBBCCBCCBBBCCBCBBBBBBCBCCBBBCBCBBCCBBCCCCBBCCBCCCBBBBBCBCCBCBCCBBBCCCBCCCBCBCBCCBBCBBCCCCCBBBBCCBCBBBCBCBBCCBBCBBBCBBCCCBBCBCBCCCBBBCBBCBCCBCCBCCCBBCBBCCBCCBCCCCCBBBBCCBBCBCBCCCBCBCCCCBBCCBCCBCBBCCBCBBCCBCBCCBCCCCCBBBCCCCBCBBBBBBCBCCCBCCBBBBCBBBBBCCBCBCBCBBCCBBBBBBCBBBBCBCBCCCBBCBBBCCCCBCBBCBCBBCBBCCBCBCBCBCBCCCBBCBCBCBBBBCBBBBBCBBBCCBBBCCBCCCCBCCCBBCCBBBCBBCCCCCBCBCCBBBBBBBCBBBBBCBCBBCCCCBCBCCCCBBBCCCCBCBBCCCCCBCCBCBBBCBCBCCBBBBBBBCBBCCBCCCBCCCCCBBBCBCBCBBCCBBBBBBCBBCCBBCCCCBCBBCCBCBCCBBCCBCCCCCBCCBCCBCBCCCBBBBBBBBBCBCBCBBBBCBCCCCBCBCCBCBBCCCCCCCCBCBCBCCCBCCBBBBBCCCBBCBBCCCBBCBCCCBCCBCCCBCBBCCCBCBBCCCBCCBCBBBCBCBCCBCBCBCCCCCBCCBCBBCBCBBBCBBBBBBCCBCCBBBCBBBCCCCCBCBCCBCBBCBBCCCCBBBCBBCBBBBBCBCCCBBCBCCBBCBBCCCBCCBCCCCCBCBBCCCCCBCBCCCBCCBCCBBBBBBCBBCBBBBCBBCCCBBCBCCBCCBCBBCCBCBBBBBBCCBBCCCCCCBBCBBCCCCCCBBBBBBBCBCBBBBBCCCBBBCBBCBCCBBBBCBCCCCBBCCBCCBBBBCBCBBBCBBCBCCCCBCCBCBCBCCBCCCBBBBCCCBCCBBBCBBBCCCCBBBBBBCCCBBBBCCCCCCBBCBBCBCCCCCCCCCCBCCBBCBBBBCCCCBCBBBBBBCCCCCCCBBBBCBCBCBBBBBCCCBCCCBCBCBCBCBCBBBCBBCCCBBCBBBCCCCCCCBBCBBBBCBBCBBBBCCBCCBCCBBCBBBBBBCBCBBCCBBCCBBBCCBBCCBBCCBCCCBBBCCCCCCBBCCCBCCCBBBBBCCBCCBCBBCCBCBCBBBCBBCBBCBCCBBCBBBBCCCBBBCBCBCCCCBBBBBBBBBCBBCCCCCBBBBBBBCCCCCBBBCBBCBCBBCBCBCCBCCCCBCBCCBBBCCBCCCBBCCCCBBCCBBCCCBCBCCCCBCBBBCCCBBBBBBCCBBBBCBCCCCBBBBBCBCCCBCCCBBBBCBBCBBCBBCCBBCBBBBBCBBCCBCBBBCCCBCCBBBCCBCBCCBCBBCBBCBBCCCCCBCCBCCBCBCBCBBCCCBBBBBBBBCBCBCCBCBCBBCCBCBBBBCBBCCBBBCBCBCBCBCBBBBBCCBCBBCCCCBBBCBBCBCBCCCCCBBCBBCCCCBCCBCBBBCBCCBCBCCCCBBBCCBBBCCCBCCBCCCCBCCCBCBBCBBBCBCBBBCBCBBCCBCBBBCBBBCCCCBCBCCBBCBCCBBCCCBCBCBCCBBCCBCBCBBBCCBCCCCBBCBCCBBBCBCCBCBCCBBBCBBBBCBBBBCBBCBCBCBBCCBBCCBBCBBBBCBCBCCCBCBCCBBCCBBBCCCCCBCBBBCCCCBBBCBBCCBBBCCCBBCCBBBCBBBCBBBCCBCCBBBBBBBBCCBBCCCCCBBCBCBCBBBCCCCCCBBBCCBBBCBCCBCBCCBBBBCCBCBCCCBBBCCCBBBCBCCCBBBCCCCCCCCBCCBCCCBBBBCCCCBCCBBCCCBCBCCBCBCCBCBCCBBCBCBBCCCBCCBBBBCCCBBBCBBBBCBCBCCCBCBCBBCBCCCCCBBBCCBBCBBBCCCCBCBBCCCBBCBBCCBCCBBBCBBBBBBBCCCCCCBBBCCCCCBBBCCCCCCBCBCCBBBBBCCBBBCBCCBCCBCBBBCBCCBCBBCBBCCBBBBBCCCCBBBCCCCCBCBCCCBBBBBBBBBBCBBCCCBBBBBCCBBBBBBBBBCCCCBBCCCCBCCCCCBCBBBBBCCCBCBBCCCBBCCCBBCBCCCCBCCCCBCCBBCCBCBCCCBBBCBCCBBCCBBCBBCBBCBBBBCBBBBBBBCBBBBBCCBCCBBCBBCBBBBCCCBBBCBCCBCBBBCCCBBBBCCCCCBBCCBBCBBCCBCCCBBBCBBBCBBCCCCBCCBBBBCBBCCCCBCCCCBCCCCCBCBBCCBBCBBBCBBCBCBCCCCBBBBBBBBBBBBBCBCBBBCCBBCCCCBCBCCBBBBBBCBBCBBBBBCCCBBCCCBBCCCBBBBCCBBCBCCCCBBBBBBBCBCCCBBCCBBCCBBBCBCCCCBBBCBBBCCCBCBCBBCCBBBBCCCBCBBBBBCCCBCCCCBCCBCBCBBBBCCBBBBCCBBCBCCCBBBBCCCCCBCCBBBCBBCBCBBCBCCBCBBBCBBBCCBCBCCBBBCCBCBBBBCBCBBBBBBBCCBBCBBBBBBCCCBBCBCBBBCCCBBCBCBBCBBBBBCCCBCBBCBCCCCCCCBCBCCBCCBBCBCBCCBBCBCBCCBBCBCBCCCBBBBBBCCBBCCCCBCCCBCCCCCBBBBBBBCBBBBBBCBCCCBCCCCCCCBCCBBCCBCBCCCBBBBBCBBBBBCBBBCBCCCBBBBBCCCBCBBCCBCCCCCCCCCCBBCCCBCCCCBCCBCBBCCCCBCBBCBCBCBCCCCCBBCCBCBBCBCCCCCBCCBCBCBBCCCBBCBBCBCCBBCCBBBCBCCBBBBBCCCCCBCCBBBCBBCBBBCBCBBCBBCCBCBCCCCBCCCCCBBBCCCBBBBCCCBBBBCBBBBCCCCCBBBCBBCBCCCCCCCBCCCBBBBCCBCBCCCBBCCCCBBCCBCBBCCBBBBCCCBBBCCBCBBCBBCBCCBCCCBBBBBCBBBBBBCCCBBCBCCCCCCBBCCCCBCCCCBCCCCCBBBBCCBCCCCBBBCBCCCCCBCBBBBBBCCBBBCCCBCBBBCBCBCCCCBCCCCCBBCBBBCCCBBCBBBBBBCCCCCCBCBCCCBBBCBCBBBBBBCBCCCBCBCBCCBBBBBCCBCBCBBBBCBBCBCCCCCBBCBCBCCBBBBBBBBCCCBBBCBCBCCCBCBCCBBCCBBBCBCBCCCBCCBBCBCBBCCCCCBCCCBBCBCCBBBCCBCBBCBBCBBBCCCBBCCCBBBBBCCCBBBBCBCCBCBCBBBCBCCCBCCCBBCBCBBBCCCCBBBBCCCBBCBCCBBCBCCBBBBCCBCBBBBBBBCCBBCBBCBBBCBCCBCBCBCBBBBCCBBCCCBBCBCCCBCBCBBCCBBBBBBBCBCCCBCBCBBCBCBBBBCBCBBBCCCCBBBCBBBBCCCCBCBBCCCCCBBBBCCBCBBBCBCBCCBCBCCBCCCCCCCBCBCCBBCBBBBBBBBCCCBCBCCBCBCCBCCBBBBBCBCBCBBBBCCBCCCBBBBBBCCBCCCBBBCBCCCCBBCBBBCCBBCCCCCCBCBCBCBCCCCCCBCBCBBBBBBBCCBCBBBCBCBCCCCBCBBCCBCBBBCBBBBBCCCBCBCBCCBBCBBBCCBBCCCCBBCCCBCCCCCBBBCBBCCCBCCBBCCBBBBBBBCBCBBCBCBBBBCCBCBCCBCBCCBCCCBBBBBBBBCBBBCBCCCCBBBCCBCCCBBCBCCCCCBCCCBBCBCCCCCCBCBCBBBBCCBBCCCCCBBCCCBBBBBBBBBCCCCCCCBBCCCCCBBBCCCCCBCCBBCBCBCCCBBCCCCCCBCCCBBCCBCBBCCCCCBBBBCBCBCBBCCBBCBCBBCCBCCBBCBCCBCCBCCCCBBBCBCBCCCBCBCCBBCCCBBBCBBBCBBBCBBCCBBCCBBCCCCBCBBCCBCBCBCCCCBCCBBBCCCBBCCBBCCCBCCBCBCBCCBBCCCCCBBCBCBBBBBCCBBBBBCBBCBCCCCBCBCBBCBCCCCBBCBBCBBBCBBCCCBBBCCCCBBBBCCBBBBCCCCCCCCBBCCCCCBCBBBCBCBBBBBBCBCCCCBBBCBBBBCBCCBBCBBBBCCCCCCBBBBCCCBCCBBCCCCCCBCBCBBCCCBCCCBBBCBBBCCCCBBBBCCCCCBBCCCCCCBCCCBCBCBBCCBBCBBCCBBBCBCCBCCCCBBCBBCCCBCCBBCCCCCCBBCCCBBCBCBBCCCCCCBBBBCBCCBCCBCCCCCCBBCBBBBCCCBCCCCBCCBCCBBCBCCBCBCBCCCBBCCCCCBBBBCCBCBCCBCBCBBBCCBCBBCBBBCCCCCCCBBCCCCBBCBBBBBBCBCCBBCBCCCCCBCBBCBCBCCBCCCCCBCCCCCBBCCCCBBBBCCCBCBCCBCBCBBCBBBCCCCBBBCBCCBBBCCBCBBCBBBBBBBBBCCBCBBBCCCCBCCCBCBCBCCCCBBCBCCCCCCBBCCBCBBCCBBCCBCCBCBCCBCCCBBCCCBBCBCBCBBBCCCBBBCCCBCCCCCBCCCCBCCCBCBBCBBBCCBCCBBBBBBCBCBCBCCCBBCBCBBCBCBCBCCCBCBBCCCBBBCCBBBCBBBBCCBCBBCBBCBBBBCBBCBBBSBCCBCCCCBBBCBCCCCCBCCCCCCCCBCBCBBCCCBCBCBCCBCCBCBBBCBCCCBBCBBCCBCBBBBBCCCBBBCBCBCCBCCBBBBBCBCBCBBBCCBCCBCBBCBCCCBBCCCBBCBCBCCBCBCCBCCBBCCCBBBBBCCBBCBBBCCBCCCBBCBCBBCCBCBCBBBCBBCCBCCBCBBBBBCBBBBBCBBBBCCCBBBCBCCCCBBCBBBCBCBCBCCCBCBCBCBCCCBBBBBCBCBCBBCCBBBCBBCBCBBBCCCBCCCBCBCBCCBBBCBBCBCBBCCBBBCBCBCCBBCCCCCBBBCCCCCBCBBCCCBCCCCCBCBBCCBBCCCCBBCBCCCCCCBCBBBBCCCBBCCCBCBCCCBCBCCCBBBCCBBCBBCBBBBCBCBBCCCBBBBCBBCCBBBBCBBBCBCBBCBBBCBCCBCBBCCBBBBCBCBBBBBCBCCBBCCCCCCCCCCCCCCCBCCBCCBBBCCCCCBBCCBBCCCCBCBCCBCCBBCCBCBBCBCCCBCBCCCBBCBBBCCCCBCBBCBCBCCCCCCCBBCCCCCBCBBBBCCCCCCBCBBBBCCCCBBBCCBCBBCCCBBCCBCBCCBCCBBCBCCBCCCCCBCCCCCBBCCCBCBBBBBBBBCCCCBCBBBCBCBBBBBCCCCCCBBBBCCCCCBBBCCCBBBBBBCBCCCCBCCCCBBBCBCCBCCBCCBCCBBBCCBCCCBBBBBBBCCBBCBCBBCBBCCBBBBBBBBCBBBBCCBBCBCCCBBCCBBCCCBBBCCBCCBBBCBCCBCCCCCBCCBBCCCBCBCCBCCBCBBBBCBCBCBBCCBBCCCCBCCCBBBCCCBCCBBBBBBCCCCCCBCCBBBCBBCBCCCBCBBCCCCCBBCCCCCBCBCCCCCCBBBBCBBCCCCBBBCCBCBCCCBBCCCCCCBCCCBBBBBCCCCBCCCCBBCCCBCCCCCCBCCCBBBCBBBBCCCCBCCBCCCBBBBCCCBBCBCCBBCCCBCCBBBCBCBCBCBBCCCBBCCCCBBCBCCCCCCBBBBBCCBCBCBCCCCCBCBBCCCCBBBBCCCBCBCCBBCBBBCBCCCBBCCBBBCBBCCCCBBCBCCBBCCCCBCCCBBCCBCCCCCBBCBCBBBCCBCCCCCCCCBBCCCBCBBCBCCBBCBBCBCCBCBCBBBBCCBCBBCCCBCCCCCCCCCBBCBBCCCBBBBBBBBCBCCCCCBCCBBCCBBBBBCBBBBCCBBCCCCCBCBBCBCCCCCBCBBCCBBCCCBBCBBCCBCBCBBCBBCBCCBBBBBBCBCCCCBCBCCCCCCBBBBCCBCCBBCBCBCBCCBCCCBBBCBCBBCCCCCBCBBBBBBBCBCCCCBCBCBCBCBBBBBCCBBBCBCBCBBCBBCCBBCCCCCBBCBCCCBBBCCCCCBBBCCCCBCBBCCCBCBCBCBCCBCBCCBCBBCCCCCBCBBBBCCCBCBBCBCCBBCBBBCBBBCBCBCCCBBCCCBBBCCCBCCCBBCCCCCBCBBCCBBCCCCCBCBBBBBBCCBCBBBCCBBBBBBCBCBCBBCBCCCCCCCCBBBCCCBBCCCCBBBCBCCBCBCCBBCCBBCBBCBBBCBBCCBBBBBCBCCBBCCCBBCBBCCCCBBBCBBCBCBCBCBBCBCBBBCBBBCBCBCBCCCCCCBCCBBCBCCCCCBCCBBCCBBBCBCBCCCCCBCBBBCBCBCBBCCBBBCCBBBBBBCBCBBBBCCCCCBBBBCCCBCCCCCBCBBCCCBBBCBCBCCBBBBCCCBBCBBCBBSCCCBCCCBCCCCCBCCBCBCCBBBCBBBBBBBBCCCBBBBBCBBCBBBCBBCBCCBCCBCBCBCCBBBCBCCCCBCBBBBBCCCCBCBBCBCCCBBBCCCCCBCCBBCBBBBBBCCBCCBBCCBCCBBCBBBCBBCCBBCCBCBBBCBCBBBBBCBBCBBCCCCCBBCCBCCBBBCBBCBCBCBCBBBBBCCBCCBBCCBBBCCCBCBBBBCCCBCCBCCBBCCBCCCCCCCCCBCCBBCCCCBBCCCCCBBCCBBCBCCBBBCBBBCBCCBBBCCCBBBCBCCCBBBBBBCBCCCBBBBBBBBBBBCCCCBBCBCBBBCBCCBCBCCCCCBCBBBCBBCCCCCBBBBBBCBCCBBCCBBCBBBCBCBBCBBBBCBCCBCBCCBCCCCBCBBCBBBBCBBCBCBCCCCBCCBBCBCBCCCBBCBCBCCBCBBBCBCBBCCCCBCCCCCBCCBBCBCBCCCBBCBCBBCBBBBBSCBCBBBBCCBCBBCCCBBCCCCCBCCCCBBCCBCBCCCBCBCBCBBCBCCBCBBCBBBBBCCBBBBCCBBCCCBBCBBCCBBCCBCBCBBBBCCBCCCBBBCCCCCCBBCCCBBCBCCBBCBCCCBCBCCCCBBCCBBCCBBBCBCCBBBBCCCBBCCCBCCCCBCCBCBBBBBBBBBCBCCBCBBCBBBBBCBCCBCBCCBBCBCBBBCCCCCBCBBCBCCBBCBBCBBBCCBBCBCCBBBCCBBBBCCBBBBCCBCCBBCBBBCCCBCCCBCCBCCCBCCCCBCBBCCBCCCCCBCBBCCCCBBCCCCBCBBBCBCCCCCCBCBCCCCCCCCBBCCBBBCCCCCCBBCBCCBCBCCBBBBBBBCBCCBCBCCCCBCCCCCBBCBBCBBCBBCBCBCCBBBCCBCBBCBCCCCBCBBCBCBBBBBBBCCBBBCBBCBCBCBBBCBBBBBBCCBBCCBCCBBBBBCBCCBBCBCBCCCCBBCBCBBCBBCBBBCCBBCBBBCBCBBBBCCBCCCCBBCBCCBBBCBCBCBBCBCBCCCBBBBCBCCBBBCBBBCCBBBBCBBBCCCCBBCBCBBBCBCBCBBCCCBCBCCCBBBCCBBCBCCCBBBBBCBCCCCBBCCCCBCBCCBBBBCBBCCCCCBBBBBBBCCCBBBBBCBCBBBCBBCBCCCBBBCCCCCCBBCCCCBBCBCBBCBCBBCCBCCBCBCBBCCCCBBCCBBBBCBCBCBCBCBCBCCBBCBCCBBCCCBCBBBBCBBCCBBBCBCBBCBBCCCBCBBBBBBBBCCCCBCCBCCBBBBCCCBCCBBCCBBBCBCBBCBBBCCCCCBCCBCBBCBCCCCCBBCCBCCBBCBBCBCCBCBBBBCCBBBCCCCCBCBBBBBCCCBCCCCCCCBBCBCCBBBBBBBBCBBCBBCCCCBCCCCBBBBBCBCBBBBCBCBCCCBBCBBCCCCBBBBCCBCCBCCBCCBCBCBCBCCCBBBCCCCBBBBCCCCCCBBBBCBCBBCBBCBBCCBBCCCBBCCBCCCCBBCBCBCCCBCCCCBBBBBCCBCCCCCBBBCCCBCBBCCCCBCBCCBCCCCCBBBBCCBBCCBBCBBBBCBBBBBBCCCCCCBCCBBCBBCBCBBBCCBCBBCCCCCBBBCCCCCCBCCCCBBBBCCBBCCCCCBBCCBBBBBBBCCBBBCBCCBBCCBCCCCBCBCCCCCBCCBCCBCBCBBBCCBCCCBBBCCCCBBCCBBCBBCBCBCCCCCCCBBBCBBCBBCBCBBBBCCCBBCCCCCBCCBBCBCBCBBCBCBCBCCCBBBBCBCCBBCBBCBBCCCBCBBCBCBCBCCCBBCBCBBCCCBCBCBBBCCCBCBBCCCCCCBCCBCBBCCBBCCBCCBCCCCBCBCCCBBBCCBBCBBCBBCCBCCCCBCBBCBBCBBBBCBCCBBBCBCCBBBBCCBCBCCBCCBCBCCBCBBCBCBBCBBBCCBBCBCCCBBCCBBCCBCCBCCCCCBBBBCBBBCCCCBCBCCBBBCCBBBCBCBBCBCBCCCBBCCBBBCBBBCBCBCBBCBCBCBCCCCBBCCBBBBBBCBCBCCBCCCCBCBCCBBBBBBBCCCBBCBBCCCCCBBBBCBCBCCBBCCCCCBCBCCCCBCBSCBBCBCBBBCBBCBCBCBBBBBCCBBBBCCCBBCCBBCBCCCBBCCCCBBBBBBBCBCCCCBBBBCBCCBBCBBCBBBBCCCCCCBCBCBBBCCCCCCCBBCBBBCCBBBBBCBCCCBBCBCCBCBCCBCBBCCBCBBCCBCCBCBCCBCCBCBBBCBBBBCBBBBCCCBCCCCCBCCCBBBCBCBCBCBCCCCCBBCBBCBBBBCCCCCCBCCCBCBBBCCBCCCCBBCCBBBCBBCCBBBBCBBBCBBCBCBCCBCBBCCBCBBBCCCBCCBCCCBBBCCCCCCCBCBCBCCBCBCBCCCCBCBBBCCCBCCCBBBBBCBBCBBCBCBCBBCBBCCBCCBCBBCBCBCCBCBCCBCBBBCCCCBBBBBBCBCBCCCBBBCCBBBCBBBBCCBBBCBCCCCBBCBBCBCBBCCCBCBBCCCBCBCBCCBBCCBCBBCCBCBBCBBCCCCCBCBBBBBCCCCCCCBBBBBCBCCBBBCCBBBCCCBBBCCCBCBBCCBCCCBBBCCBCBBBCCBCCBBCCBCCBBBBBCBBCBBCBBBBBBCCCBCCCBBBCCCBCBBBBBCCBCCBCCBCCBBCCCCCBBBCBBBCCBBCBBBBCCCBCBBBBBCCCBCCCCCBCCCBBBCCCBCBCBBCBBCCBCBBBBBCBCCBBCCCBBCCCBCCCBBCCCBCCBCCBCCCBCCBBCBBBBCCCBCCBCCCBCBCBCCBCCCBBBCCBBBBBBCCCCCCBBCBCBBBBCBBCBBBBBBCBBBCCBCBBCBCBBBBCBCBCBBBBBCCCCCCCCBCCBBBCCBCBBCBCBCBCCBCCCCBBCBCCCCBBCCBBBCCCBBBBBCBCCCCCBBBBBBBCCCCCCCCBBBBBCBCBCBBBCBBCCBBCCBBCBCBCBCBBCCBCBBBCCCBCBBCCBCBBBCCBBBBCBBCBBCBBCBCCBCBBCCCBBCBBBBBBBCBBCCCBCBCBBBBBCCBBCCBCCBBCBCCBBCBBCBCCCBCCBCBBBCBBBBBBBCCCCBCBCBBBBBBBBCCCBCCBCCCBCCCCBBBBBBCBCBCCCBBBBCBCCBBCCCBBBCBCBCBBBBBCBBBBCBCBBCBBCCCBCCBBBCBCBBCBBCBBCBCCCBCCBBCCBBBCCBCBBBCBCCCBBCBBCCBCBCCCBCCBCCCCBCCCCBCCCBBBCBBBCCCBBCBBBBBCCCCBBBCCBCCCBBCCCBBBCBBBCBBBCBBCBBCBCCBCCBBBBBCCCBBCCBBCBBCBCCCBBCBBCCBCBCBCCCBCCBBCBBCBBBBBCBBCBBCBCCBCCCCBBBCCCCBBCCCCCBBCBBBBBBBCBBCBCCCCCBBBCBBCBBBCCCCCCBBCBCBBBCCBBBCCBBBBBCBBBCCCBCCCBBCBBBBBCCCBBBCBCBBCBCCBCBCBCBCBBBBBCBCBBBCCCCCCCCCBBCCBBBBBBBCBCCBBBBBBBCBCCCCCCCCCCBCBCBCCBCCBBCCCBCBCBCBBBBBBCCCCCBBCCCCCBBCCCCCCBBCCCBBBCBBCBCCCCBCBBCCBCCBCCCCCCBBBBBCCBBBCCBBBCCBCBBCCCCBCCCCBBCCBBCCCCCBBBCCBCCBCCBCCBBBCCCBBBCBBCBBBCBCBCBBBBCBCCCCBCCBBCCCCBBCCBCBBBCBBCCCCCCCCBBCBBCBBBCBBBBCCCCBCBCBBCBCBBBBBBBBBCBCCCBBCBBCCBBCCBBBBBCCCCBBBBCBCBCBCCCBCCBBCBCBCBBBBBCCCCBCBCCCBBBCBCCCCBCCCBCBBBBCCBBBCCBCCBCCCCCCBCBBCCBCBCCCCCCBCCBCBCCBCBBBBCBCBBBBBCCBBCCBBCBCBCBCCBCBCBBCBCBBBCCBBBBCCCCBCCCBCCCBCBBCBCCBBBCBBCCCCBCCBCBBCBCBCCBCCCCCBBBCBCBBBCBCCBBCCBCBCBCBCBCBCBBCBBCBCCCCBBBCBBCBCBBBBCBCCBCCCBBCCBBBBBBCBCCCCBCBCCBCCBBBBBBCCBBCBBCCCCBCBBCCCBBBBCBCBCBBBCBCBCCCBCCBBCBCBBCCCCBCCCCBCCCBCBBCBBBCBBCCBCBBBCCCBBBCBCCCCCCCCBCCCBCBCCBBCCBCBCCCCBBBCBBBCCBCBBCBCBBCBCBBCBCCCCBCCCBCBCBCBBCCCCCBBBBBBBBCCBBCCCCCCBCBCBBCBCBBBBBCCBBBCBBCBCBCBBCBCCCBBBBCBBBBCCBCBCBBCCBCBBBBBBBBBBBCBCBBBBBBBBBCCCCBBBCBCBCCBBCCCCBBCCBBBBCCCBBBBCCBCBBCBCCBBBCBCCBBBCCBCCCCCCBCCBBBBBBCCBCCCCBBCBBCCCCBCBCCBCCBCBCCBBCBCCBCCBCCCCBBBCBCBBCCBCCCCCBBBCBCCCBCCBCBCCCCCCBCCBCBBCCCBCCBCBBCCCCBBBBCBBBBBCBBCBCBCCBBCBBCCCBCBBBBCBBCCCCCBCCBCCCCBCBCCBBCCCBBBBBCBCCCBBBCCBCCBCBBBCBCCBCCCCBBCCBBBCBCBCCBBCCCBCBCBBBBCCCCCCBBCCBCCCCBCCCCBBBBBBCBBCBCCCBBCCCBBBCBBCBBBBCCCBBBBBCCBCCBBBBCCBBCCBBCBBBBBBCBCCBBCCCCCCCCBBBBCCCBCCCCCBCBCBCBBCBBCCBCCBCCCBBCCCBCBBCCBBCBBBCBCBBBCCBCCBBBCBBCBCBBBBBBBCBBCCBBBBBCBCCCCCCBBCCCBBBCBBCBBCCBBBBCBBBBBCCBBBCCBCCCBCCCBBBBBCCCBBBCCCBCBCBBBCCCBBCBCBCBBCBCCCBBBCBBCBCCCCBCBBCCBBBBCCCBCBBBCBCBBBCBBCCCCBBBCCCCBCCBBBCBBBCBCBCBCCCCBBCCBBBBBCBBBBBCBCBBBCCCCBBCBBCCBCBBCBCBCBCBCCBBBBCBBCBBBCCCCBCBCBCCCBCCCCBBBCCBBCBBCCBCCBBBCCCCBCBBCCBCBBCBBCBBBBBBBBBCBCBBCCBCCBCCBBCCCBCBBBCBCBBBBBBCBBBCCCBCCBCCBCCCCCCCBBBBCBCCCBCCCCBCBBCBBBBCCBCBCCBBBBBCCCCBCBCBBBCCBCBCCCBBBCBBBCBBCCCBCCCCCCCBBCBCBCCBCCBBCCCCBBBCBCBBCBBCCBCCBCCBCBBCBCCCCCBBCBBCBBCBCBBBBCCCBBBCCCBCCCBCBCCCCBCBCBBCBBBBCBBCCBBBCCBBBBCCCBBCCBBCCBBBBBBBBBCBCCCCCBCBBBCCBCBBBBCBBBCCCBCCCBBCCBCBBCCCCBBCBBBCCCCCBCCBBBCBBCCBCBCBCBCBCBBBBCBCCBCBCBBCCCCCBCBBCCBBCCCBBBBBBCBCBBCCCCBBCBCCBCBCBCBBCBBCBBCBCCBBCCCCCCBBBBBBBBBCBCCCCBCCCBCBCBCBCBCSCBBCCBBCBCCCBBBBBCCBCBBBCBCBCBCBBCCCCBCCBBBBBCCBBCBCBCBBCBBBBBBBCBCBBBCCCBCBCCBCCBCBCBBCBBBCBBBCBBCBBBBBBCCCBCCBBCBCBCBCCCBBBCCCCCBCCCCCBCBBCBBCBBCBCCBCCCBCBCBBCBBCBCBCBCBBBBCBBCCCCBCBBCCCBCCCCCCBCCCCBCCBCBCCBBCCCCCBBCBCBCCBCCCCBCBBCBBCBBBCCCBBCBCBCBBBCBBCBCCBBBBCBBCBCBCCBCCCBCBBBBCCCCCBBBBBCCBCBBBCCCCCBCBBBCCCBBCBCCBCCCCBCCCBCCBCBBCBCCBBCBBBBBBBBBBCBCCBCCCBCCCCBCBCBBCCBCBBCCBBCBBCCBCCCBBBBBCBBCCCCCCBCCCBCBCCCBCBCBCCCBCBBCBCBCCCBCBCBBBCBBBCBCCCCCBBBBCCCCBBCCCBBBCCCBBBBBCBBBCCCCCBBCCCCCBCCBCBCCCBBCCBBCBBCBBCBCBCBBCBBCCCBBCBBBBCCBBCCBCCBBBCCBCBBCCCBCBBBBCBCBBBBBCBCCCBCCCBBCBCBCBCBBCBCBCBBCBCCCBCCBCBCBBCCCBBBBBBBBCCCCBBBBCBCCBBCBCCBCCCCCBCBBBBBBBBBBCBCBBCCBBBBBCCBCCCBCBBBBBBBBBBCBCCBCBCCBBBCBBBCCCCBBCBBCCBBCBBCCBCCBCCCBBBBCBCBCBCCBBCCCCCBCCCBCBCBCBBBCCBCBBCCCCBBBCCCCCCBCBCCBBBCBBBBCCBCBCCCBCBCCBBCCCBBBBCCCBBBCBCCCCBCBCCBCBCBBCBBBCCCCCBCBCCBCCBBBCCBCBBBCCBCBBBCCBCBBBBBBCBCBCBCCCBBBBCBBBCCBCCCBBCCBBCCCCCCBCBCCBCBBCBCBCBCCCBBCBCCCBBBBCCBBBBBBCCCBBCCCBCBBBBBCCBCBCCCCBCBBBCCCBBBCBCBCCBCBBCCCCBBBBCBBCCCCBBBBBBBCBCBBBBCCBBCBBCBCBCBBBBBBBCCCCCBBBCBCBCCCCBCBCBBBCCCCCBBCBBBBCBCBBBCCCBBCBBCCBBCBBCCBBCBBCBBCBBCBCCBCBBCCBCBCCBBCBCBCBBCBBBCBBBBCCBCCBBBCCBBCBBBCCCCCBCBCCCCBCCCBBCBBCCBCCCCCBBBBBCBBCBCBCCBCCBCBBCBCCBBCCCBBCBCBBCCBBCCBBBCBCCCBCBCCCCCCCCBCBBBCCCBBBBCCBBCBBCBCCBBBCBBCBCCBBBCCBBCBCBCBCCBBBBCBCBBCCCBBCBCCBBCBCBBBCCCBCCCBCCCBBCBBCCBCBCCBCBCCCCCBBBBBBCBCCBCBCCCCBBBCCBCBCCBBBBBBBCCBCBCCCBCBCCCBBBBBCCCCBBCCBCBCCCBBCBCBCCCBBBCCBCBCBBBBBBCCCBBBCBCCCCBCCCBCBCCBCBBCBBCBCCCCBBBBBBCBBBCCCCCCBCBCCCCCCBCBCCCCCBCCCBBBCCBCCCCCCBCBCBBBCBCCBCCBCBCCBBBBCBCBCCBCBBCCBCBCCCCCCCCBCBBCBCBBBBBBCBBBBCBCCBCCBBBBCCCBBCCBBBCBBBBCCBCBBBBCBCBCBCCBBBCBBCBCBCCCBBBBCBBCBBBCBCCCBBCBBCBBBBCCCCCCCCBCBBBBBCCCCBCBBBCCBCCCBBCCCCCCCBBCCCBBCCCBCBCBCBBBBCBCBBCCCCBBCCBCCCCCBBCCCBBSCCCBCCCBBCBBCCCBBCCBBCBCBBCBBCCBCBCBBBBCCCCCCBCBCCBBCBCBBCBBBCCCBCBBCBBCCBCBBCCCBCCBBBBBBCCCCBCBBCCCCCCBBBBCBBCBBBCBBBBBBCBCBCBBCBBBCCBBCBCBBBBBBCBCBBBCBBCBBBCBCCCBBCBCBBCCCCBBBCCBBBBCBCBBCCBBBBBCBCCCCBCCBBCBCCCBCBCCBBCCCBBBCCCBCCBCBBBCBBCCBBCBCCBCCCBCBBBBBCBBCCBCBCBBCBBBBBCCBBBBBCBBCCBCBBCCCCCCCCCCCCBCBCCBBCBCCBBBCBCBBCCBCBCCBCCBCBCBCBCCBBBCBCCCCBBBCCCCBCCBBBBBCBBBBBCBBBBCBCBCCCBBBBCCCBBCBCCCCBCCCBCBCCCBBCCCBCBBBCBBCCCBBBBBCBCBBBCBCCBBCCBCBBCCCCBCCBCBCCBCBBCBBBBBBCCCBCBBBBBBCCBCCBBCCCBCBBCCCCCBCCCCBBBCBCCCBBCCBBBBBBCCBCCCBCCBCCBBCBBBCBBBBCBCCCBCBCCCCCCBBCCBCCCBBCBCCCBBCCBBBBCBBCBCCCBBBBBBBCBCBBBCCBBCCCBCCCBBCCCCCBBCCBCCBCCCBCBCBCCBCBCCBCCCCCCBCBCBBCCCCBBCBCBBBCBBCBBBBCCCBBCCBBBCBBCBBCCBCBCBCCBBCCBBBCBBCBBBCBCCBBCCBBCCCCCCCBCCCBBBCCCBCCCCCCBCBCBCCBCCCBCBBCBBCBBCCBCBBCBCBBCCBBBCCCBBBCBCCBBCCBBBBCCBBBBBBCCCCCCBBBCBCCBCBBBBBCBCCCCBCBCCBCCCCBBCCBCBCBBBCBBCCBBCCBBBBBCBBCCCBBBCBBBBCBCCBCCCCCCBBBCBCCBBBCCBBBBBCBCCBBCBCCCCBBCBCBBCCCBBBCCCCCBCBCCBCBCBBBCCBCCCBCCBCCCBBCCCCBCCCCBCCBCCCBCBBBBCCCBBCCBBCCCBBBCCCBBBCCCCCCCCBCBCBBCCBBBBCCBBBCBCCCBBCCBBCCBBBCBBCCBCCBCBCCBCBBCCCCBBBCCCBCCCCBBBCCBCCBBBBCCBCCCBCBCCBBBCCBCBCCCBCBCBCBCBCBBBBBBCCCBCCCBBCCBBCBBCCBCCCBBBBCCBCCCCBBCBBCCBBCBCCBBCCCBCCCCCCCCBCCCBCBBCBBBBCCBCCBCBCCBBBBBBCBBBCCBCCCCCBBCBCCCCCBBBBCBBBCBCBBCCBCBCCCBBCBBBBCBCBBBBCCBCBCBBBBCBCCCCCBBBCCBBBCCCCBCCBCCBBBBBCBBBCCBBBBBCBCCBCCCBBCBBBCBCCCBCBBBBBCCCBBBBCCCCBCBCBBCCBCBBBBCCCBBBBCCBBCBBCBBCCBCBBCCBBCCCCBBCBCBCCCCCBCCCCCCCBBBCCBBCBCCCBBBCCBCBCCCCBBCBCBCCCBBBCBBBCBCCCCBBBBBCBBCBCCBCBBBCBCBCBBCCBBBCBBCBCCCBBCBCCBCCCBBBCCCCCCCCBBBCCCBBBBCBCBCCBBCCCBBCCBCBCCBBCBCBBCCBCCBCCCCBCBBCCCCBCBBCCCCBCCCBCCBCBBBBBBBBCBCBBBBCBCCBBCBBBCCCCCBBBCBBCBCCBBBCBBCCCCCBBCBBCBCCBBCBBCBBCBCCBBBCCCBCBCCCCCBCCCCBCBCCCBCCCCBBBBCCBBBBCBBCBBBCBCCBBBBBBBCBCCBBBBBBCCCBBCCBCCBBCCBBCBCBCCBCCCCCCCCBCBCCBCCCBBBBBCBBBBCCBCCBBBBCBBCCCCCCCCBBCBBCCCCBBBCBCBBBBCBBCCCBCBBBCCCCCBBBCBCBBCCCCBBCBCCBBCCCCBBCCBCBBCCBCBCCBCCBBBBCBCBCBBCCBCCCBBBCBCBCCBBCBSCCCBCBCBCCCBBBCCCBCBBBBCCCBCBCBBBCBCCBBCCBBBBBCBCBCBBCCBCCCBCCCBCBCBCCBCBBCCBBCBBBBBBCBCCBCCCBCBCBBBCCBBCBBBBBBBBBBCCCBCBBCBCCCBBCCBCCBCCBCBBCBBCBBBBCCCBCCCBBCCBCBBBBBCCBBCCCCBBBCBCBCBCBCBBBCCBBBCCBBBBCCBCCBCCCBCCCCBCCCBBBBBCBBBBCCBCCBBCBCBBCCBCBBBCBBBCCCBCBBBBBBCCCCBBBBBCBBBCCCCCCCCBCBBCBBCBBCBCCCBCBBBBBCBBBBBCBBCCBCBCBBCCBCCBCBBBCCBCBCBCBBBCCCCBBCBCCCCBCCBBCCCBBBBBCBCBCBBCCCCCBBCCBBBBCBCBCBBCBBBCBCCBCCCCCCBBBCBCCBCBBBCBCBCBBCBBCCCCCBBBCBCBBCBCCCBCBCCBCBCCBBCBCBBCCBCCCBBBBCCCCCCBCCBBCBCBCBBCCBBCCCBBBBCBBCBCBCCCBBBBBBBCCBBBCBBBCBCBCBBBBBCBBBCCCBBCCCCBBBBBBBBBCBBCCCBCCBCBCCCCBBCBBBCBCCBBCCCCBCCBCCBBBCCCCCBBBCBBBBBCCCBBCBBBBCCBCBCCBCBBBCCBBBCCCBBBCCCBCBBBBCCCCCCCCCBBCCCBCCBBBBCCBBBBCBBBBBCBCBBBCBCCCBBCCBBCBBBBBBCCCBBCBBCCBBBBCBCBBCCCCBCBCCCCBBCBBBCCCBBBCBCBCCCCBBCBBCBCCBCCCBCCBBBCCCCCBBCBCBCCCBBBBCBBCBCBBCBCCCBCCCCBBCBCCCCCCCCCBCBCBCBCBCCBBCCCBBCBCCCBBBCBCCBBCCBCBCBCBBBCCCBBBBBCBBCBCCCBBBBBCBCCBBBCCBBBBBBCCBBCBCCBCCBBCBCBCBBBBBCCCCBBBBCBCBCCCCCBCCCBCCBBCBBBBCCBBCBBBBCCCBCCCBBCCBBCBBBBCBBBBCBCCBCCCBBBBBBCCCCBCCBCCBCBBCCCCCCBBCBCBCCCBBBBCBCCBCCBCCCCBBBBBBBBBCCBCCBBCCBBBCCCCBBCBCCCCBBBBCCBBBCBCBBCBCBBCBBBCCBCBBCBCBBCCCBCBCCBBCCBBBBCCCBBCCCCCBBBCCCCCBBCCBCCCBCBCCBCCCBBBCBBBCCBBBBCCCBCCBBCBCBBBCCCCCCBCBBBCBCCCBBCCCCBCCCBCBCCCCBCCBBCBCCBCBCBBBBBCCBCBCBCBBBCCBBCBCBCCBBCBCCBBCCCCBCBBBCBBCBBCCCBBCCBBBCCBBCBCBBCCCCBBCCCCBBCCCCCCBBCCCBBBCCCBBBCBBCCBBCCCBCBCCCCBCCCBBCCBBCBBCCBCBCCCBBCCBCCCBCBBCCBBCBBCCCCBCCCCBBBCBCBCCCBBBBCCBCCBCCBCBBBCBBBBCBCBBBCBCCCCCCBBBBCCCBCCBCCBBBCCCCCBBCBBCBBCBBCCBCBCCBBBBBBCBCCBCBBCCBBBCCCBCBCBCBCBCCCBCCBCBBBBCCBBBCCCCCBCBBCBCBCCBBCBBCBCBBBCCCCCCBCCCBBBBCCBBCCCCCCCBCCCCBBBCBBBBBCBBCCCBCBCBCCBBCCBBBBBCCBCCBCBCCCCCBBCBCBBBCBCBBBBBCBCCBCCCBCCCBBCBBCBCCBBCCBCCCBCCBCBCCCCBCBCBCBCCCCCCCBBBBBBBCBCBCBBBBCCBCBBCCCBBCCBCBCBCCBCBCCCCCBCCBCCBBBCCBBBCCBCCBCCBCCBBBBCBBCCCBBCBCCBCCBCBCBCBBBCCCCCBBCCCBBBBCBBBBBCCCBCBBBBBCCCCBCCCBBBBCCCCCCCBCCBCCCBBBCBBBCBCCBBBBCBCBBCBBCBCBBCBBCBBCCCCCCBBBBCBCBCCCBCBBBBBCBCCBCBCBCCCCCCCCCCBBBCBBBCBCCBCCBCBBCCCBCBBCBBCCCBBCBCBCCCBBCCBCBCBBCCBBCBBCCCBBBBBBBBBBBBBCBBBCBBBCCBCCCBCBBCCBCCBBBBBBBBBBCCCCBBCCCBBBCBCCCCCBCBBCBBBCBCBBBBCBBCCBBBBBCCBCCBCCCBCBBCCBCCBBBBCCCBCBCCBBBCBCCBBBCCBBBBBBBBBCCBBCCCCCBBBBBBBCCCCBBCCBBCCCCBBCCCCCCBBCCCBCCBBCCCCBBCCBBBCBBCCBBCBCBBCCBBBBCCBBBBCCBCCCCBBBBCBBCBCBCBBBBCBBCBBCBCCBBBBBBBBCCBCBBCCBCCCCBCCCBCBBBBBCCBCBCCBCBCBBBCBBBBCBBBCBCCBCCCBBCCBCBCCBBCBBBBCBCCBBBBBCBCCBCBBCCCBCBBBBBBCCCCCCBCCCBCBCCCCBCCCBCCBCCCCCBBCCCBBBBBBBCCBCBCBBBCBBBCBCBCBBCBCCBCBCBCBBCBCCCBCCBBCBCBCCCBCBBBBBBBBCBCCBBCCBCCCCCCBBCCBCCBCCBCCBBBBBBBBBCBBCBBCCBCCCBCBBBBCCBBCCBBBCCCBBCBBBBBBBCCCBBBBBCCBCCCBBBBCCCCCBBBCBCBBCCBBBCCBBCBCBCBBCCCCCCBBBCCCCCBCCCBCCBBCBCCCCBBBCBCCCBBCCCBBCCCBBBCCBCCBBCBBBCCBBBCBBBBBBCBBCBBBCBCBCCBBBCBCCBBCBCBBBCBBBBCCCCCCCCCBBCCBBCBCBCBCCCBCBBCBBCCBBCBBCCCBBBCBBBBCBBCCCBCBBCCBCBCBCBCCBCCBCBBBCBBCCCCCCBCBBCCCBBBBBCBBBBCCBBBBBCCCBBBCCCBBCCBCCCCBCBCBCBBBBCBCBBCCCCCCCCCCBCBCBBCBCBCCBBBCBCCBCBBCCBCBBCCBBBBCCBCCCBBBCBBBBCCCCBBCBCBCBCBCCCCCBBBCCCCCBBCCBCCCCBCCCCCCCBBBCCCCCCCBBBBCCCBBCCCCCCBCBCCBBBCCCCCBBBBCBCBBCCCCBCCCBCBCCBCBBCCBCCCBCCBCCCCCCCCBBBCCBBBCCCBCBCCCCBCCBCBCCCCBCCCBBBBBBBCCBCCBBCCBBBBBCBBCBBCBBCBCCBBBCBBCBCCBCBBCBBBCCCBCCBCCCCBBCCBBCCCCCCCBCCBCBBCCCCCCBCCBCCBCCCBBCBBBBCBBCCBBBCCCCCBBCCBCBCCCBBCCBBBBBCBBCBBCBBCBBBCBCCCCCCBCBBCBCCCBBBCBCCCBCBCBBCBBCBBBCCBBBCBCCCBCBBBBCCBCBBBBBBBCCBCCBBCCCCBCCCCBBCBCCCBBCBCBCBBCBBBBCBCCBBCCCCBCCBCBCCBCBBBBBBCCCBCCCCCCBBCBBBCCCCBCCCCBCCCCBBBCCBBBBBBBBCCCBCBCCCBBCBCBBCBBBCBBCCBBCBCBBCCBBCCBBBBCCBBCCCBCBCBBCBCBBCBBCCBBBCCCBCBCBBCCBCCCCCCBCBCCBCBCCBBBBCCCCCCBBBBBBBBBBBBCBCBBCCBCBCBBBBCBBCCBBBBBBBCCBCCBBBCBCBCBCBBBCCBBBCCCBCBBBCBBBCBCBBBCBCCBCBCBCCCBBBCCCBBCCBCCCBCBCBBBBCCBBBCBCBCBBBBBCBCBCCBBCCBBCBBCBBBBBBBBBCBBBBBBBCCCCBCCBBCBCCCBCCCBBBCBCBBCBCBBCBBBBCBBBBCBCBBBCBBBBBCBCCBBBCBBCBBBCBBBCBCBCCBBCCCBBBBCBBCCCCCBBBBCCCCCBCBCCBBBCCBCBCBCBCBBBBCBBBCBCCBBBBCBBBCBBBCCBBBBBBBBBCBBCCBCCCCBBCBBCCCBCBBBBCCCBCBBCBBBCCCCBCCCBBBBCBCCCCBBCCCBCCBCCCCBBBBBCCCBBCCBCCBBCBCCCBCBBBCBBCCCCCBBBBBBBBBCCCBCBCCCBCCCBBCCCCCCBCCCCBBCCBCBCCCCCBBCCBCBCBCBCBCCCBCCCCCCBCCCBCBCCCBBCBBCCBBCBCCBCCBCCCCCCCBCCCCCCCCCCCBCCCBCBBBCCCBCCBCBBBCBCCBCBBBBBBCCBCBBBBBCSBBCCBBCCCCCBCCBCCCCBBBBBBCCBCBCBBCBBCCCBBBBBBBBBCBCCBCBBCCCCBBCBBBBBBCBCBBCBCBCCBBBCCCCBBCCBCBCCCCCCBBCCCCCBCBBCCBBBCCCCBCCBBBBBCCBBCCBBCBBBBCCCCBCBCCBBBCBCCCBCBBCCCCBBBBBCCCBCCCCCBBCBBBBCCCCBCCCBBCCCCCCBCCCCBCCCBCBCBBCBCCBCCBCCBBBBCBCCCBBCBCCBCBBCCCBCBCCCCCCCBCCCCBCCCCBBCBBCBCBCCCBBCCBBBCBCCBCCCCCBCCBCCCCCBCCCBCBBBBBCCBCCBBCBCCBBCCCBBCBBBCCBCBCCBBCBBBCBBCBCCBBCBBBBCCBBBCCCBCBCCBBBCCCBBCBBBBCCCBCCBBBBCBBBCBCBBCBBCCBCBBCCBCCCCCBCBCBBCCCBCCBCCCBBCCCCBBBBCCCBCBBBBBBBBBCCCCCCCBCBBCBCBCCBCBBBBBCCBCBCCCBBBCBBCCCBCCBBBCCCBCCCCBBBBBCCCBBCBCCCBCCCCCCBCBCCCBCCCCBCCBCBBCBCBCCCCCBCBBCBCBBCCBBCCBBBBBBCCCBBCBCCBCCCBBCBCBCCBBBCBBBCCBBCBBBCBBBBBCBBBCCBBCCBBBCBBCCCCCBCBBCCCBCCBBCBCBCCBBBCBCBCBBCBCBBCCCBCBCCBCCCCCCCBCCBCBCCCBBCCCBCCBCBBCBCBCCBBBCCBBCCCCBCCBBBCCCBBCCBBCBBCBBCBBCBBCCBCCCBCBCCBCBCCCBCCCCBCCCCBCBBCBBBCBCCBCCCBCCBBBCBBCBCBCCBCBCBBBCBBCCBBCCBBCBBBBCCCCBBCBBCCCCBCCCBCBCCCCBCCCCCCBBBBBBCBBBCCBBBBCCBCCCCCCBBCBCBBCBBCBBBBCCBBCBBCBCCBCCBBBBCCBBBCCBBCBBCBBCBCBBBBCCCCCBCCBCCBCCBCCBBCCBCBCCBCCBCBCBBBCCCCBBCBCBCBCBCBBCBCBCCBBCCCBCBCCCCBCBCBBBBBCBBBBBCBBCBCBBBBBBCBBCCBBCCBCBBCCCBCCCCBCBBBCCCBBBCCBBCBBCCCBBBBCBCCCCCBBCCCCCCCCCBBBCCBCCCCBCBBCCCBBBBSBCCBBCCBBBCBBCCBBCBCBBBCCBBBBBBBBBCBCBCBCBCBCCCCBBCCCCCCBCCCCCBCCBBCBCCCCCBBBCBBBCCCCCCCCCBBBCCBCBBBBBCCCCBBBCCBCCCCCCBCCBCCCBBBCCCBCBBCBCCBCBBCBBBBBCCCBCBBBCCBCCCBCCBBBBBBBCBCBBCBCCBCCCCBCBCCBBBCBCBCCCBCBBBCBCBCBBBBBBCCBCCBCBBBBCBCBBCBBBBCBBCBCCCCCCCBCBBBCCBBCCCBBCBBBBCBCCCCCCCBBCCBBCBBBBBBCCBBCBBBBCBCCCCBCCBCCBBCCCCCBCBBBCBBCBCCCBCBBCBBBCCCBCBCBBBBBCBBCCCCCBBBCBBCCBBBBCCBCCBBCCBBCCBCCBCCBCCCCCBBCCBBBCBCBCBCCBCBCBBCBCBBCBCBBCBCCBCBCBCBCBBCCCCBCCBCCCBBBCCCBCCCCBCBCBCBBBCCCCBBBBBBCBBCCBBBBCBCBCCBBCBCBCBCBBCCBCBCBBCCCCBCCCBBBBBCCCCBCBCBBCCBCBBCCBCBBCCBBCCCBCCCBCBBBBCBCCCBCCBCBBBCCCBBBCBCCBCBCCCCCCBBBBCBBBBBBBBBBCCBBCBBCCBBBBCCCCCCBBCBBBCCBCBCBBCCCCCBCBCCBBCBCCCCCCBBCBBBBCCCBCBCBBBCBBCCCBBBCBCCCBCBCCCBCCCCBBBBBCCCCBCBCCCCBBCBCCBCBBCCCBCCCBBBCBBBBBCBBBCCCBCBCBBBBCBBCBBCCBBCBCCBBBBBCCCBBBCBBBCBCCCCBCCCBBBBCCCCCBCCCCCCCBBBCCCCBCCBCCBCBCBBBBBBBCBCCBBCCCCCCBBBBCBBCBCBCCBCCCBCCBCBCCCCBCBBBCBCCCCBCBCBBCBCCBCBBBBCBCCCBCCCBBBCCBBBBCBBCBCBBCBCCBCCCBBCBBBCBCBCCCBBBBCBCCCCCCBCBCBBBBCBCCCBBCBCCBBBBBCCBBCBBCBBCCBBBBCCBBCBCCCBBCBCCCCBBCBBCBBCCCBBCBBCCCCCCCBBCCBCCCCBBCCBBBBBCBCBCCCCBBCBCBCBBCCBCBBCBBCBBCBBCBCCBBBCBCBBBCCCCCCBBCCBBCCCBBCCBCBBBBBBBCCCBBBCCCBCBBBBCCBBCBCCBBCBBCCBCBCCCCBCCCBBCBCBCCCCCCBCCCBCCBBCBCBBBCCCBBBBBCCCCCBBBBCCCBBBCBBBBCCBCBBCCCBBBBCCCBBCBCBBCCBBCCCCBCCCBCCCBBBBCBCCBBCCCCCCBCBCCCCBBCCBCBCBBBCCCCBBBBCCCBBCCBBBCCCCCCCBBBBCCCCCBBCCBBBBCCCBBCCBCBCBCBCBBBCBBBCCBCBBCCCCCBCBBCCBCCCCCBBCBBBBCBCCCBBCCCCBBCCBBCCBBBCCCBCBCCBCBCCBCBCCBBBCCCCBBBCBBCCBCCBBCCBBCCBCCBBBCCCBBBBCBCBCBBCBBBCCCBCBCBCBBBBBBCBCCBCBCCCCCCBBCCCCBCBBCCBBCBBCBBBBBBBCBCBBBBCBCBBCBCCCCBBCCBCBBCCCCCBCCBBCBBCBBBCBCCCCCBCBBBBCCBCBBCBBBCBBCCCBBBBBBBBBCBBBCCBCCCBBCBCCBBBCBBBBCBBBCBCCBBCCBBBBCBCCBCBCCBBCBBBCBBCBBCBCCBBCBCBBBCBBBBCBBBBCCCCBBBCBCBCBBCCCBCCCBBCBBBBCCCCBCCBCCBCCCCCCCBCCBCBCBCCBCBBBCBCCBBBCBCBCBCBCCCBCBBCCBCBBCBCBBBBBCBBBBCCBCCBBBCBCBCCCCCBBBCCBBCBCBBCCBCBCBCBBBBBCCCCBBBCBCCBCBBBCBCCCCCCBBBBBBBCBCBCCBCCBBBCBBBCCBCCCBBBBCCBCCBBBCBBBBBBCBCCBBBCBCBBCBCBBCCBCCBCBCBBBCBBCBBCBBCCBCBCBCBBBCCCCCBCBBBCCCCCBCCBCCCBCBCCCBBCCBBBBBBBCCCCBBCBBCBCBBBCCCCCCCBCBBCBCBBBBBBBBBCBBCBBCCBCCBCCBCCCBBCBBCBCBBCCCBCCBBCBCBBCCCCBCBCBBBBBBCBBCBCCCBCCBBCCBBCBBCCBBBCCBBCBCCCBCCCCCCBCCCCCBBCCBCCCCCBBBCBBCCBCBCCBBCBCBBBBCBCBBBBCBBBCCCBCCBBBCCBCBCCCCCBCCBBCBBBCBBCCBCBBCCBBBCCCCCCCBBCCBCBBCCBCBBCCCCCCCBCBBBCBBBCBBCBBBCBBBCCBCCCCBCBBBBBCCBBBBCCCCBCCBCBBBBCCBCBCCCBCBBBBCBBBBCBBCBBBCCCCBBCCBBCBBCBCBBBBCBCCBBBCCCCCBBBCBBCCCBBBBCCBBCCCCBCBBBBCCBCBBCCCCBCBBCBBCBCCBBBBCBBCCBBBBBCCBBBCCCCCCCCCBCCCBCBBBCCCCCCBBBBCCBCCCCBBCCBBCBCBCCBCBBBBBBCBBBCCBCBCCBCCBCCCCBCCBCCCCBBBBBBCCCBCCBCBBBCCCCCBCCCBBCCCBBCCCBBBCCCCBCCBCBBBBBCCCCCBBBBCCCBBCCCBBCBCCBBBCBBCCBCCBCBCBCBCCCCCCBBCCCBBBCCCCBBBBCBBCBBBCBCBCBBCCBCBCCCCCBBCCBBBBBBCBCCCBBBCBCCCBCBBCCCCBBBBCBCCBBBCCBCBBCCBCBBBBBBBBBBBCCCBBCBCCCBCCCCBCBCCCBCBBCCBCBCCCBCBBBBCBBBCCBCCBCCCCBBCCBBCCCBBCCCCBBCBCBCCCCBCBCBBBCBCCCBCBCCCCCCBBBBBCBCBBCCBBCBCCCBCCCCBBCCCCCCCBBCBCCCBBBCBBBCCCCBCBCCBCBCCCCCBBBBCCCBCCCCBCBBBCCCCBCBCCBBBBBBCCCBBBBBCBBBCCCCCBBBCCCCBCBCCBBCBCBBBCCCBCCCBBBBBBBCCBBCCCCCBCCBCBCBBBCBCCBBCBCCBCBCCBCCBCBCBCCBCBCCCBCCCCBCBBCBBBBCCCCBBCBBCCBCCCCCCCBBBCCBBCBBCBCBCBCCCCBBBBCBBBBBBBCCCBBBBBBCCBBCBBCBCCBBCBCCBBBCCBBCBBBCBCCBBBCBCCCCBCCBBCCBCCCBCCBCBBCBCCCBBBBBBBBBBCBBCCBBBBCBCBCBBCBCBCCBBBBCCCBCBBBCCBCBCBBCBCBBBBBBBCCBBBCBCCBBCCBCBBBCBCCBCCCCBBCCCCBCCCCCCBCCCCCCBCBBCCBBCCBCBBCBBCBBCCBCCBBBCBBCCCCBCCCBCBBCBCBCCCBCBBCCCBBCCBBCBCCCBCCBBBBBBCCCCCCCBCBCCBCBBCCCBCCCBCCBCBCBBBCCBCCCBCCCBBCCCBBCBBCCBBBBBCBBCCBBCCCBCBBCBCBCCBBBBCCCBBCBCBCBCBCBBCCBBBBCCBCBCCBBCBBBCBCCCBBCCBBBBBBBCBBCBCCBBBCBBCBCBBCCCBCBCBBBBCCBBBBCBBCCCBCCCBBCBCBCCBCCCBBBBCBBBBBCCCCCBBCCBBCBCCCCCCCCCCCBBCCCCBBCBBBBBCBBCBBCBCCCCBBCBCBBCCBBBCCCCBBBBBBCBBBBCCBBBCCBCBBCBBCCCBBCBCCCBBBBBBBBBBCBBCBBCBCBCCBBBBCCBCCBCBBBBBBCBCBBBBCCBCBCBBCCCBBBBCCCCCCCBCBBCCCCCCBCCCBCBCBBCCCCBCBBBBCBCCBBBCBBCCCCCCCCCBBBBBCBBBCBBBCBBCCBBBCCCBBBCCCCBCBBCCCBCBCCCBBCCBBCBBCCCBCBBBCBBCBBBCCCBCCBBBBCBBCCCCCBBCCBBBBBBCBBCCBBCCBBBBCCCBBCCCCBBCBBCBCCCCBCBBBBBCBBCBCBCBCCBCBCBBCCCCBCCBCCBBBBBBCCCBCBCBCBBBBCCCBBCBBBCBBBCCBCCCBBCBCCBBCBBCCCCBBBBBBBBCBBBBCBBCCCCBBBBBBBCCCBCCCBBBCBCCCCBBBBBCBCCBBBCCBBCCBCBCCBBBBCBBCCBCBBCCCCCBBCBCCBBCBCCCCCCBCBBBBCCBBBCCCCCBBBBBCCCCCCCBBBBCCCBBBBCCCBBBBCCCCCCBCCBCCCCCBBCBCCBCBCBCCCCBCBCBCBCBCCBBCBBCCCCBBCBBBCCBCBBBCCCCCCBBBBBBCBCBBBCBCCCBBBBBCCBBBBCCBBBBCBBBBCBCBCCCBBBBCBCCCBCCCBBBBBCBBBBBBBCCBBCCBCCCBBBBBCCCBBBCBBCBCBBBCCBBBBCBCCBBBBCCBCCBBBBBBBBCBBBCCCCCBCBBCBBCBCCCCBBBCBBCCCBBBCBBBCCBBBBBCCCBBBCBCBCCBCBBCBCBBCCBBBCCBBCCCCCCCCCCBCCSBBCBBCCBCBBBCCCCCBBCCCCCCCCCBCBBBCBBBBCCCCCCCCBCCCCBCCBBBBCCBBCCBBBCCBBCBBBCCCBCBBBBBBCBCCBBCCBCBBBBBBBBCCCCBCBBCBCBBCBBCBBCCCBCBCBBCCCBBBBCCBBCCBBBBBCBBBCCCCCCBBCCBBCCBCBBBCCCCCCBCCBBCBBCCBCBCCBCCCBCBCCCCCCCCBCCCCCCBBBCCCBBBBBCBCCCBCCCBCBCCBCCCCBCCCCCCCCCCBBBCCBBCCCCCCCBCCBCBBCCBCBCCCCCBCBBCCBCCBBBCCBCBBBCBCCBBCCCBBCCCBBCBCCBBBBCBCBCCBCBBBCBCCBBCCBBCCCBBBBCCCCCCBBCCBCCCBCCCBBBCCBBCBCCCBBCCBBCCCBBBCBCBBBCBCBBCBBCBCBCCCCBBCCCCBBCCBCCCCBCCBCCCCBBBCCCCBCCBCCBBCCBBCCCCCCCCCBCBCBBCCBCBBCBBCCCBBBCBCBCBCCCBCCBCCBBBCCCCCBBBCBBCBBBBBCCBCBBCCBBBCBBCCCCBCCBCCCBCBBCCCCCBBCBBCCCCBBBBCBCBBBBCBBBBBCBCCCCBBCCBCCBCBBCCBCCBCCCCBBCBCCCCBBBCBBBBBBCCBBBCBCCBCCCBBCBBCBCCCBBCCBBBCCBBBCCBCBCCBCBCCCBBCCCCCCBCBBCCCCBBBBBCBCBBCCCBCBBBBCBCCCCCBCCCBBBCBCCBCBCBCCCBCBCCCBBBBCBBCBCBCBCCBCCBCBCBCCBBCCBCCCCBCBBCCCBCCCBBBCCBBBBCCBCCCBBBCCCBCBCCBCBCBBCBCCCBBCBBBCBCCBCBBBCBCBBCCBBCCCBCBCCBBBBCBBCCCCCBBCCBCBBCCBCCBCCCCBCBCBBCBBCCCBCCCBBBBCCCCBBCBBBBBCBCBBBBBBCBCBCBBCCCCCCBCBBBCCBBBCBCCBBCBCBBCBBBBBBBBBCCCCBCCBBCCCCBCCBCCCBBBCBCBCBBBCCBCBBCCBBCCBBCCBCCCBCBCCCBBCCCBCBBCCBBCCCBCBBBCBCCBCCCBBBBBCBCBCBBBBCBBCBBCBCCBCCCCBCCBCBBBCCCCCBCCCCBCBBCCCCBBCCCBCCCCBCCBCBCBBBBCBCBBBBBBCCBCCBBBBBBCBBBCBCBCCCCBBCBBBBBCBBCCCBCCBBCBBCBCBBBBBCCCBBCBCBBCCBCCBCCBBBBCCBBBBBCCBCCBBCBBBCCBBBBCBCCCCCCBCCCCBCBCBBCBBBBBCCCCBCBCCCBCBCBCBBCBCBBBCCBCBCCCCCCCCBBCCCBBBBCCCCBCCCCBBBBCCBBBCBBCBCBBBBBBCBBCBCCCCCCCCCBBBCBCBCBCCCBBCCBCBBBBCBCCCBBBBCBBBBBBCCCCBCCBCBBBBCCBCCBCBBBCBBCCBBCCCCBCBBCCBBCBCBCBCCBCCBCCCBCCBCCCCCCBCCBBCCCCCBCCBBBBBBBBBCCBCCCBBCBCBBCCBBCBBBCBCCBCCCCBCBBCBBCBCCBCCCCCBCBCCCBBBCCBCCBBBBBBBCBBCBCBBCCBBCBBBBCBCCBCCCCBCCBCCCCBCCCBBBBCCCCBBBBCBCCCCCCBCCBCBBCCCCCCBBCCCBCBBBBBCCCBCBCBBBCBBCCBBBBCCBCBCCBBBCCCBCBBCCCBBCBCBCCCCCCCCBBBBBBCBCCCCCBBBBBBCBBBBCBBBCCCBBCCBBCBBBBCBCBBBBBBCBBCCBCBCCCBBCBCBCBCBBBBBCCCCBCBBBCCBCBBCCCBCCBBBBBBBCBBCBCBBCBCCBBBBBCBCCBCCCBBBCBBCBCBBBCBCBCBCBBCBCCCCCCBBCBBCBBCCCBCCCBCBBCCBBBCBCBBBCCCCBCCCCBCCBBCCCCBBBCCBBCBBBCBBCBCBBCCCBCCBCCCCBCBCCCBCCBBCBBBBBCBBBBCCCCBCCCCCCBCCCBBCCCCBCBCCBBBBBBBCCCBBCBCBCCCCBBCCBBBCBBBBBBBCBBBCCBCCCBCBCBBBBBBCCCCCBCBBCCBBCCCCCBCBCBBCBBCBCBBCBCBCCBBBBBCBCCBCCBCCCCBBBBCCBCCCBBBCBBBCCCCBCBCCBBBCCBCBCBCCCCBCBCBBBBBBBBBCBCCCCCBCBBCBCBBBBCCCBBCBBCCCCBCBCCBCCCBBBCCBBCBBBCBBBCBBBBCCCBCCCCCBCBCCCBBCCBBBCCCCCCCCBBCCBBBBCCBCBBCBCCCBBCBBBCCCCCCCBCBCBBBBBBCCBBCBBCBCBBCCBBBCBCBBCBBBBBBCBBCCCCCCBCCBCCBBCBCCCCCBCBCBBBBBCCBCBCCBCBBCCCCBBBBCCBCBBCBBBBBBCCBCBCBCCCBCCBCBBCBBCBBCCCCCBBBCBBBCBBCCCBBCCCBBBCBBBCCBCCCCBCBBBCBCBBBBBCBCBCCBCBBBCBBCCCBBCCCCBBCCBBCCCCCCBCBCBCBBBCCCCBCBCBCBCCCBBBCCBCCCBBCCBCBCCCBCBCCBBBCBBCCBBBBBCBCBCCCBCBCCBBBCBBBCCBBBCCCBCCCBCCBBBCCCBBCBCBCCBBBCCCBCCCBBBBCBCBBCCBBCBCBBCCCBCCCBCBBBCCCBBCBBBCCBCBCBBCBBCBBBBBCCBBBBBCCCBBCCBBBCCBCBCCBBBCBCBCBCCCCCBCCCBBBBCCBCCCCBBBBBCCBBBCCCCBBBBCBCCCCCBBCCBCBCBCCBBBCCBCBCBCCCBCBCBCBBCBCBBBCBBBBCBCCBCCCCBCCCCBBBBBBCBBCBBBCCCCBBBBCCCBCCCBCBBBBCCBCBCBCBBBBCBBCBBCBCCCCCCBCBCBBCCCBBBBBCCCCCCBBCBBBCCCBBCCBCBBBCBCBBBCBBCBBCBCCBCBBBBCBBCBCCBCCCCBBCCBBCCCCBBBBCBCBCCCCCCCCBCCCSBCCBCBCBBBCCBBCBCCBCCCCCCCCCBCBCBBBBCCCCCCBCCCBBBCBCCCCCCCBBCCBCCBCCBBCCBBBBCCCBBBBBBBBCCBCCCCBCBCCCCBCBCCBCBCBCCCBCBCCBBBCBCCBBBBBCCBBBBCBCBCBBBCCBCCBCCBCCCBCBCCCBCCCCCCCBCBBCBCCBCBCCCCBBCCCCCBCBCBBCCCBCBCCCCCBBCCBBBCCBCBCBBBCBCBCCBBBCBCCBBBBBCCBCBBCCCBBBBBCBCCBBCBBCCCBBCBCCCBCCCBBBCBBCBBCCBCCBBCBBCCCBCCCCCCBCBBCCCCCBBBBCCCCCCCBCCBBCBBCBCBCBBBCBBBCCCBBCBCBBBCBBCBCCCCBCCCCBBCCCCBCBCBBBCBBCCBCBBBBCCBBCCBBCCBBCBCBCCBBBCBBBCBCBBCBBCBBCCBCCCCCBCBCBBCCCCCBBCCBBCCBCCBCBCCBCCBCCBBCCBCCBCBBCBCCBBCCCCBBBCCBCCBCBCBCBCCBCCCCCBBBBCCCBBCCBBCCCCCCCCCBBBCCCCBCBCCBCBCCCBCBBCCBBBBBCBCBBBBCCBCBCCCCBBBBCBBCBCBBCCCBBCCCCBCCCCCBCBBCCBCCBCCBCCCBBCCBCCBCCBBCBCBCCCCCCCCBCBCCBBCCCCCBBBBBCBBCBCCBCCBBCCBCBBCCBBCBBBCCCCBBCBCBBBCBBCCCBBCCCCCCCBCBBCBCBCCCCCBCBCCCCCCBCBBBCBBCCBBCCCBCBBCCBBCCBCBBCBBBBBCBBCBCBBCCCCBBCCBBCBCCCBCBBCCBCCCBCCBBCCBBCBCCCCBBCBBBCBBCBCCCBCBBCCBBCBCCBCCBCCCCCBCCCBCCCBBCBBBCBBCBBCBBCCCCBCCBBCBBCCCCBCBBCBBBCCBCCBBCCBCCBBBCCBCCCCCCCBCCCCCCCBCCBBCCCBBCCBBCBBCCCBBCBCCBCBBCCBCBCCBBCBBBBBBCBCBCBBBCCCBBCBCBCCBBBBCCBCBCCCBCBBCCBCCBCCBBCBCCBCCBBBCBBBBBBCCBCCBCCCCBBCBBBCBCCBCCCCCBBBCCBBCBBBCCBBCCCCBCBBCCBCBCCCCBCCCBCBCBCCCBCCBCCBCBBBBCBCCBCCCCCBBCCCCBBBBBBCCCCBBCBCBCCCBBBCBBBCBCBBBBBBBBBBBCCBBCCCCBCCCBCCBCCCBCBBCCBCBBBBBBBCCBCBCBCBBBBCBCCCBBCCCBCBBBBCBCBCCCCCBCCBBCCCCBCCCBCBCBCBBCCBBCCBBCBCBCBCCCBCCBCCBCBCCCBCCBBBBCCBCCCBCCCBBCBBCBBCBCCBBBBBCCBCBCBCBBBBCBCCBCCCCCBCBBCCCBCCCBBCCCBCCCCBBBCBCCBCBCCBCBBCBCBCBBCBBCBCBCBBBCCCBCCCBBBCBCBCCCBCCCBBBBBBBCBBBBBCBBBCCBCBBBCCBCBCBBCBBBBCCBCBBBBCBBBCCBCBBCBCBBCBCBBBCBCCCCBCCCBCCBCCBCBCCCBCBBCBCCCBCCBCCBBBBBCCBBCBBBBCCBBBBBBCBBCCBBBBBCBBCBCCCCCBCCCCBBCBBBBCBBCBBCBBCBCBCCCBBBCBCCCBBBCCBBCCBBCBCBCBBBBCBCCCBBCCBCBBBBBBCCCCBBCBBCCCCCBBCCBCCBBBCBBBBBCBBCBBBCBCCBBCCBCBBBBBCBBBCBCCCCBCCCCBCBCCCBCBCCCBBCBCBBCCCBCCCBBBCBBCBCBBBBBBCCBBCBBBCBBCCBCCBCCBBCBBBBCBCCCBCCBCCCBBCCCCBCBCBBCBBBCBBBCBCCBBCCBCCBBBCCBBCCCBCCCBCBBBBCCBCBCBBCBCBBCCCBCBBCBCBCCCBBBCCCBBCBBCBCCBBBCBCCBBBCCBBBBCBBCBBCBCCCBCCCCCBCCCBBCBCCBBCBBBBBBCBCCBBCBBBCCCBBBBBCBBBCBBBCCCCBCBBCCCBCBBBBCCBCCCCBCCBCBCBBCCBBCBCCCCCCCCBBBBBCBCBCCBCCCCCCBBCCCBCBCBBBCCCBCCCBBBCBCBBBBBCBCCBBCCCCCBBCBBCCCCCBBBCCCCCCBCBBBCBBCCBBBCBBBCBBCCBCCCBCBBCCBBCCBCCCCCCBCCBBCCCCBCCBBCBBCBCCBCBCCCCBCCBCBBCBCBBBCCBCCCBBCBBCCBBCCBBCBBBBBCBCCCBCCCCBBCBBCBCCCBBCBBBCCCBCCCCCCCBCBCBBCCBBCCBBBBCBCCCBCBCBBCBCBBBBBCBBBCBBBBBBBBCBBCCCBCCCBBCCCBCCBBBCCCCBCCBBBBCCBCBBBBBBBBCBCBBBCBCCBCBCBBCBBBBBBBBBCBCBCBBCBBCCBCBBCBBBBBBBBBCBCBCCBBCCBCBCCBCBCCBCCCBCBBCBCBCBCBCBBCCCBCBBCBCBBBBCBBBCCBCBCCCBCCBBBCBBBCCCCCCBBCBCCCCBCBCCBCBCBCCBBCCBCCBCBBBCBBBCBCCBCBCCCBBBCBBBBCBBBBBBCCBCBBBBCCCCBBCCBCCBCCBBCCCBCCBBCBCCCCBBBCBCCCBCCCCBCCBBBBBBCBBBCBBCBCBCCCBBBBBBCBBBBCBCBBBCBCCBBCBBBBBCBCBCBBBBCCBCCBCBBBBCBCCCBCBCBCCCCCCBCBBCBCCBBCBCCBCCBBBBBBBBCBCCBBCCBCCBBCCCBBCBBBCBCBBBBBCBCBCBBCCBCCCCCCCCBCCCBCBCBBBBCBCCBBCCCCCBBCCBCCCBCCBCCBCBCBCBBCBCCBCCCBCBCBCCCBBBCCCCCCCCCCCCBBCCBCCBBCBBCBCBBBBBCCCCCCBCBCCCCCBBCBBBCCCCBCCCCBCCCBBCCBBCBCCCCBBCCBBBCCCCBBBCCBCBCBCBCCBCCCCBBBCCBCCCCBBBCBCBCCCBCCBBBCCCBCBCCBCBBCCCCCBBCCBBBBBCCBCBBBCBBBCCBBBCCBCCBBCBCBBBBBBBCCBCCBCCBBCBBBCBBBBCCBCBCBBCBCCBBCCBCCCCBBCCCBCCBBCCBBBBCCBCBBBCBCCCBCCCCBCCCBCBBBBBCBCCBCCCBCCBCBBBCCBCBCCBCCCBBBCBBBBBCBCCCCCCBCBCBCBBBCBBBBCBCCCCBCCBBBCBCCBCCBCCCBCCCCBBBCCBCBBBBBBBBCBCCBBCCCCBCCBCCBBBBCCCBCCBBCCCBCBCBBCCCBBBBBBBCCBBCBBCBBCBCBBBBBCCCBBCBBCBBCCCCBBCCBBBCBBBBBBCCCBBCCCCBCCCCCBCBCCBCCCCBCBCBCCBCCCBBCBCBBBCCBCCCBCBCCCBBBCBBCCBBBBBBBBBCCBCBBBBCBBCCBCCBCCBBCBBBBCCBBCCCBCBCBBCBCBCCCCCBCCCCBBBCBBBCCBCCBCBBCCBCBBBCCBCCBBBCBBCCBBCBCBCCBCBCCCBBCBBCCBCBCCBCBBCCCBBCBBCCBCCCBCBCBCCBBCCCBBCBBCBBBCBCCCBCBCCCCCBBBCBBCCBBSCBBCBCCBBCBCBBCCCBCBCBCBCBCBCBCBCCBCCCBBBBCCBBBCCBCBBBBCCCBCBBBCCBBBCCCCBCBBBCBBBCCCBBBBBCBCBCBBBBBBBCCCCCBBCBCBBBBCCCBBBCCBBBBBBBCBCBBCBBBBBBBCCBBBBBBCBBBBBBBCCBBCBBBCCBBCCBCCBCCCCBBBCCBBBCBCBBCCCCBBBCBCBCBCBCCBCBBBCBBBBBBBCCCBCBCCCCBBBBBBCBCCBCCCCCCBBCCBCCCBBCBCBCCCBCCBBBCBBCCCCBCCCCBBCCCBCBBBCCCBCBBCCBCCCBCBBCCCBCBCCBBCCBBCBCBBCCBCBBBCCCCBCCBBBCBCCBCBBBCBBCBBBCCCCCBBBCBBCBBBBBBBBCCCCBCBCBCBBCCBBCCCCCBCBCBCCBBBCBCBCCCCBCBCCBCBBBCCCCBCBCCCBBCCBCCBBBBCBBBCBBBCCBCCBCCBBBBBCCCBBBCCBCBCCCCBCCCBBCBCCCBBBCCBCBBBBCBCCBBBCBBBCCBBBCBBBCCCCCBBBCCBCCBCCBCBCBBCCCBBCCCBCBBCCCBBCCBBBBCCCCBBBBBBBBCBCCBBCCCBBBBCCCCBBBBCBBCBCCBCBCBBBCBBBCBCCCCBBBCBCBCCCBCCBBBBBCBCBBCBCCCCCBCBBBBBCCBCCBBBCCBCBCBBCCBBBCBCCCBCCCBBCBCBBBCCBCBCBBBCBBBCCCCCBBBCCBBCBBBBCCBCBCBBCCCCBCCBBBBBCCCCCBBBCBCBCBBCBCCBBBBBBBCBCCBCBBBCCCCBBCBBBBBBBCBCCBBBCBBBBCCBBBCCCCBCCCBCCCCCCBCBCBBBBBCCBBCCCBCBBCCBCBBCBCBCBBBBBBBCBBCBBCCCBCBBBCCCBCBCCBCBBBBCBBCCCCCBBCCBBCCBBBBCCBCCBBBCBCBCCBCCCCCCBCCCBBCCCCBCBCBBCCBBBBBBCCBCCBCBBCCBCCBCBCBCCBBCCBBBCBCBCBBCCBCCBCBBCBCCBCCBBBCCCCCBCCBBBBCBBCBCCCBCBCCCCCCBBCBCBCBBCBBBBBCBBCBBBCBBCCBBBCBCBCBCCCBCCBCCCCCCCCBCCCBBBBBCCCBCCBCCBCBCCBCBCBBCBCCBBCBBCBBBBCBSCCBBCCCBCCBCBBCBBCCBBCCCBCBBCCBCCCBCCBBCCCCBCBBCCBBCBBBCBCBCCCBBBCCBCCBCBCCCBCCBBCCCCBCBCCBCBCBBBCBCCBBBBCCCBBBBBBCBCBBCCBCBCCCCBBCBCBBBCBBCCCBCCBBCCCBBCCBBCCCCCCCCCCCBBCBBCCCCCCCBBBBBBCCCCBBCCCBCCBCCBCCBBCBCCCCCBCBBBBCCCBBBCBBBCBCBCBBBCCCBBCCBBBCBBBCBCCCBBBCBCBBBCCCBCCCCCCCBCBCBCCBBCBBCCCCCCCBBCBCCBCCBCBCCCCCCBCBBBCBCCCCBBBCCCCBBCBBCCBBBBCBBBBBCBCBCBCCCBBCBCCBCCCBBCCBBCBBCCCCCBCCBCBCCBBCCBBCCBCCCBBCCCBBBCBCBCCCBCCCCBCCCCCBCCCBBBCCCBCCCBBBCBBCBCBBCBCBCCBBBCCBBBCBCBCCCBBCCCBBCBCCCCCCCBCBBCCBCCCCBBBBCBCCBBCBBBCBBCCBCBCBBCCBCCCCCBCCCCCCCCBBCCCBBBBBCCCCCCBBCBCBCBCCCBCBBCCBBCCBBBBBCBCCBCCBBBBBCCBBBBBCCCCBBBBBCBCBBBBCBCCCCBBCCCBCCCBCCCCBCBBCCCBCBBBBCBBBBCBCCBCBCBCCBBBCCBBBBCBBBCCCCCCCBCBCCBBCCCBCCCCCCBCBBCBBBCCCCCCBCBCBCCBCCCBCBBBBBBCCCBBCCBCBCCSBCBCCCBCCBCBCCCBCCBBBBCCBBCCBBCCCCBBBBCCBBCBCCCCBCBBBBCBBCBBBBCCCBBBCCCCBCBBBCBBCBCBCCBCBBCCBCCBBBBCCBCCBBBCBCCCCCBBBBBCBCBBCBBBBBCCBBBBCCCBBBCCCBBBCBBBBBCCBCCCBCBBCBCCCBCCCBBBBCBBBBCCCCCCCBBCCCBBCBCCCBCBBBBCBBCCCCCBBBCBBCCBBBBCBBCBCCCBCBCCCCBCBBBCBBBCCCCCBCCCBCBCBBBCCBBCBCBCCBCCBCCBCBCBCCBCCBBCBCBBBCBCBBCBBCCBCBCCBBCBBCBCBBBCBCBCBCCBCBBCCBCBCCBCBCBBBCBBCCBBBBBCBBBCCBBCBCBCCBCCBBCCCBBCCCBCBCBBBCBCBCBCCCCCCCCCBCBCBCBBBCBCBCBBBCBCCBCBCBCCCCCBCBBCCCBCCCBCBBCCBCCCCCCCBCBCBBCBBCCCCCBCCCBBBBBCCBCBBCBBBCCBBCBBBCBCCCBBCCCBCCCCCCBBCBCBCBCBBCCBCCBCBBBCCBCCBCCBCCBBBBCBCCCCBCCCCCCCCBBCCBCCCBCCCBCBCBCCCBBCCBBBCCBBBCCBBBBBBBBCBBCCCBBBCBCBCCCCBBCBCBBCBBCCCBCCBBBBCBBCBBCSCCBBCCCBCBCCCCCBCBBBBCCBBBCBBBBCCBBCBBBCCBBBCBCCCCCBBCBBBBBCBCCCCBBCCCBCCCCCCCCCBCCBBCBCBBCBCBBBBCCCBCBCBBBCBBCCBBBCBCBBCCCCCBCBBBBCBCCBCCCBCBCBBBBCBCBCCBBBBCBBBCCBCCSCBCCBBCBBBBCBBBBBCBBBBCBBCBCCCCCBBBCCBBBBBBCCCCBCBCCBCBBCBBCCCBBBCBBCBBCCBBCBCBCBCBCBCCBCCBBBBCCBCBCCBCCCBCCBBCCCBCCBCCCBBBBCCBCCBBCCBBBCCCBBCBCBBBBCCBBBCBBBCCCCCBCCCCBCBBBBCCBCBCCBBBBCCBCCBCCCBBBBCCCCCCBBCCCBCBCBBBBCBCBCCCCCBCBBBCBCBBBCCCBCBCBCBBCCCBCBCBBBCBCBBCBBCBBBBCCCBCCBCBBCBCCCCBBCBCCCCCCBBBCCBCCCBCBBBCBBBBBBCBCBBCBBCCBCCBBBBBBCCBBBCCBCCBBCCCBCBCCCBCCCBBBBCBCCCBCCBCCCCCBCCCCCCBBCBCBCCCCBCBCCCCCCBCBBBBBCBBBBCCCCBBCBCCBBBCCBBBBCCBBBBCCBCCBCCBBCCCBBBCBCBCCCBCBBCBCCCCBBCBCBBBCCBBCCCCBCCCCCBBCCCCCCBCCBCCBCCCBBBCCBBBCBCBBCCCCCCBBCBCBBCCBCCBBBBBCBCBCCBBBBBCCBCCCCBBCBCCBCBCCBCBCBCCCCBBCBBBBBCCCCBCBCBBBBBCBBCCBCCBBCBCCBBCCCBCBCCBCCCCCCCCBBBBBCBCCCCCCBBCCCCCCCBCCCCBBBCBCBBBBCCCCCCCCCCCCBCCBBCBCCBBBBBBBCBCCBCCCBCCBBBCCBBCCCCBBCBCBCCCCBBCBCBCCBCCCCBCBCCBBCCCBCBCBBCBBBBBBBBBBBBCCBCCCBCCCCCBCBCBBCBCCBCBCCBBBBCBCBCBBBCBBBBCCBCCCCCBCCBCCBCCCCCBBCCBBBBBBCBBCCCBBCBCCBCCCBBCCCCBCBBBBCBCBBCCCBBBBCCCCBBBBBCBBCBCCBBBBCBCCBBCCBBCBBBCCBBBCBCBCBCCCBBCBCCCCCCBBCBBBBCCCCBBCBCCBCBCCBBBCBCBBCCCCCCBBBBCBBCCBCBBCCCCCCCCBBCBBBBBCBBBCBCBBBCCBCCBCBCBBBBCBBCCBBCBBCBCBBCBCBBBBCCCBBBCBCCCCCBCCCBBCCBCCBCCCBBBBBCBCCCBBCBCCCBCBCCCCBBCBCBBBCCBBBBBBCBCBCCCBCBBCCBCCCCCCBCBBBBCBCBCCBCBCBBBCCBBCCCCCBBBBBBCBBBBCBBBBCBCCCCBBBBBCBCCBCBCCCBBBCBCCBBBBBCCCCCBBBBCCCCCCBBBBCBBCCCCBCBCBCBBBBBBBBBBCBCBCCCCCBBBBCCCCBCBBBBCCCBBBCBBCCCCBBBBCCCBBCBBCBCCCCCBCBBCCCBCCBBCCBBCBCBBCCCCBBBCCCCCCBCBBBBBCCCBCBCCCCBBCCCCCBCCBBBCCBCBBBBCCCBBCBCBCCBBBBCCBCCBBBCBCBCCBCCBCBCCBCCBCBCBBCCCCBCCBBBCCCBCBCBCBBBCBBBBBCBBBBBBCBBCBBCCBBCCCBBCCBBBCCBBBBBBBCBBCCCCCBCCCBCBBBBBBCBBBCBBBBBCCBBBBBBBCCBCBBBCCCCBCBCCCCBCBCCBCBCBBCBBBBBCBCBCCBCCBCCBBBBCBCCBCBCCBCCCBCCBCBBCCCCBBCCBBCBCCBCCCBCCCCBCCCBCCCBBCCCCBBCBBCBCBBCBCCCBBBCCBCBCCCCBCCCBBCCBBSCCBBBCCCCBCCBCBBBBCCCBBBBBBBCCBBCBCCBCBCBCBCBCBCBCCCCCBCCBCCCCBCCCCCCCCBCCBBCBBBBCCBCBBCBCBCBCCCCBCBBBBBBBCCCBBCBBBBBBCBBCCBBCBBBCBBBBBCCBBBCCCCCCCCBCCBBCBCBBBCBBCCCBBCCBBCCCBCBCBBCBBBCBBCBBBBBBCBBBBBBBCCBBBCCBCCBBBCCCCBBBCBBBBBCBBBBBCBCCCBBBCCBCBBBCCCBBCCCCBBCBCBBBBBCBBCCBBCCBCBBBBBBBBCCCCCBCBCBBBBCBBBCCBCBCCCCBCBCCCBCBCBBBCBCBBBBBBCBBCBBCBCBBBBCCBBCBCBBBCCCCCBCBCBCCBCCCBCBBBBCBBCBBBBCBBCBBBBBCBBBBCBBBCCCCCBCCBBCCBBCBCCCCCBBCBCBCBBBCBCCCCCCCBBBCBBCBCBCCCBCBBBCBCBCBBCCCCCBBBBBBCCCCCBCBCCBBBCCBBBBBCCBBBCCCBBCCBCCCCCBCCBBCBCCBCBCCBBBBCCCCBCBCBCBBCBCBBCBBCCBBBCBCCCCCBCBCBBCBBBCCBBBBCBCCCBBCBCCCBCBBBBBBCCCBCCBBCBCBBCCCCCBCCBCBCBBBCBBCCCCCCBCBBBBCBCCCBBCCBBCBBCCBBCCBCCBCBCCBBCBCCCBCCBBCCCBBCBCBCBBBBCCBCBBCCBBBCBCCCBCCCCBBBCBCBBCBCBBCCCCCCBBCBCBCBBCBBBBCCBCBCBBBBBBCCBBCBBCCBBBBBBBCCCCBCBBBBCBBCBBBCBBCBCCCBBCBBCCCBBBBBCCCCCCCBBBCBCCBBBBCCCBCBCCBBBBBBCCCBBBBCBBCCCCCCBCCCCBCCCCCBCBBCCBBBBBCCCCCBBBCBCBCCBBCBCBBCBCBBCBBCCBCBBBBCCBBCBBBCBCCCBBBBCBBCCCBBCBCBCBCCBCBBCCBCBCBBCCCBBCCBBBCBCCBCBBBCBCBBCCCCCCBBBBCBCCCBCCCBBBBBBCBCCBCCBCBCBCBBBBCCCCCCBCBBCCCBCCCBCBBCBBCBCCCBCBBBCCBCBCCCCBBCCBBBCBBCBBCBBCBCBCCBBCBCCBCBBCCCBCBCBCBCCCCCCBBBCCCCBBBCBBCCCCCBCBCCBCCCCBCCBCCCBCCBCCBCBBBCBCCCBCCBBCCCCCBCBCCCBBCCBBCBBBCBBCBCBCCBBCBBBCBBCCBBBBCCCBBCBBCCBBBBBBCCCBCBCCBCBCBBCCCBBCBCCCCCCCBCBCCCCBBBCBCBBBBBBBCCCBCBCBCBCCCCBCBBCCBBCCCCCCCCBBBBCBBBCCCBBCBBCCCCBBBBCCCBCBCBBCBCCCCBBBBCBCBCBBBCBBCCBCBBCCBCCCCCCCCBBBBCBBBCCBCBBBBBCCCBBBBBBCBCCCCCBCCCBCCBCBBBBCCCBCBBCCBCCCCCBBBCCCCBCCCBCBBCBBBCCCCCCBCBBCBBCCBCBBCCBBCCCBCCBCBCCCBBCCCCCCCBBCCCCBBCCBCBBCCCCCBBCCCCBBBCCBBBBBCBCCBBCCBCCCCBCBBCBBCCCCCCCBCCCBBBCCBCCBBBCBCCCCBBBBCBBBBCBCCCBCBBCCBCBCBBBCBCBBCCBBBBCCCCCCCCCBBBCBBCBBCCBCCBBBCBCBBCBBCCCCBCCBCCBBBCBCBCCBBBBBBBCBCCCCBCCCBCCCBBCBCCBBCCCBBCBCBBBBCBBCBCBCBBBCBCCBCCBCCCCCBCCBCCBBCBCCCCBBCCCBCCBBBCBBCCBBCCCCCBBBBBCCCBCCBBBCCBCBCBCCCCBBCCCBCCCCBBCCBBBCBCCCCBCBBBCCCBCCBCCBBBCBCBBBBCCCBCCBCBCBBCBCBBBCCCCBCBBCBCCBBBBBBCCBCCCCBBCBBBBBCCCCCBBCCBBBCBCBCCCCCBCBBBBCCBCBBBBBCCCCBCBCBCCCBCCBCCBCCBBBBCCCBBBBBCBBBBBBCCBCBCBCCCCBCCCBBCCCBBCCBCBCCBCCCBCCCBBCCBBCCBBBCCCBCBBBBCCBBBBCBCCCCBBBCBBCCCCBBBBCCBBBBBCCBCCCCCBBBCBCBBCCCBCBCBBCCCBCCBCCCBCCCBCCCBCCCBCCCCCBCCCCCCBBBBCBBBBCBCCCBBBBCCCCBCBCCCBBBCCCBBCBCBCBBBCBCBCBBBCBCBCCBCBBCCBBCBCBBCCBBBBCBBCBCBCBCBBBBCCBCBBCCBBBBCCCCCCBBBBCBCCCCBBCBCCCCCCCCCBBCBBBBBBBBCCBCBCCCBCBBCCCCBCBBCBCCCBBCBCCCCBCCCCCCCCCCBCCBCCCBCCBCCCBBCBCBBBCCBCCCBBBBCCBCBCCCBCBCCBBCCCBBCBCBCBBBCBBBBCCCCCCBCBBBBBCCCBBCCBCCCCBCBCCCBCCCCBCBBBCCCCCCCCCCBCBCBCCBBCBBBCCCBBBCCBCBBBCCBCCCBCBBBBBBBBCBBCCBCCCBBBBCCBCBBCCCCCBBBCBBCBBCBBBCBCBBCCBBBCBCBCCCCBBBCBBCBBBBCCCBCBBCBCBBCCBBBCBBCCCBBBBCCBBBCCBBCBCBBBCBBBBCCCCCCCCBBCBCCBBBCCBBBBCBBBCBBCBCBBCCBCCBCCBCCCBCCBBBCCBBBBCCCBBCBCCCCBCBCCCCBCBCCBBCCBCCCBBBCBCBCCBCCCBCBBCCBBBCCBCBCCCCCCBBCCCBBBCCBCBCBCCBCBBCBCBCBBBCBBBBBCCBBBBCBCCBCBBBCBBCCBBCBBCBCCCBBBBBBBCBBCCBCCCBBBBBBBCCBBCBBBBCBBCCCBBBBCCBCBCCCCCBBBCBBBCBBCBCCCBBCBCCCCBCBCCBBCBCCCBCBBCCBBBCBBCBCBCCBBCBCCBCBCBCCCCBBBBBBBBCBCCCBBCCCBBCCBBBBCCCCBCBBBBCBCBCCCBCCCCCCBBBCBCBCBCCCBBBBBCBBCBCCBBCBBCCCBCBBCBBCCBCCBBBCCCBBCBBBBCCBBBBCBCCCCBBCBBBBCCBBBBBCBCBCBBBCBBCCCCBCCCCBCCCBBBBBCBBBCBBBBCCBBCBBCBCCCCBBBBCCBBCBCBBCCBCBCBCCCBBBBBBBBBCCBBCCBCBCCBCCCBCCCCBBCCCBCBCBBCCBCCCBBCCBCCBBCCBBCCCCBCCBCCBCCBCCCCBBCCBCCCBCCBBBBCBBCBBCCBBCBBCCBCCCBCBBBBCBCBCCBBBBBCCCCCBBBBBBCBBBBCBBCCCCCBBCBCBCCBBBBCCCCCBBBCCCCBBCCBCCBCBBBBCBCBBCBBBBBCCBCCCCBCBBBCCCBCBCBBBBCBBCBCCCCCCBCBBCBCBCBBBCCCBCBBCBBBCBCCCCCCBBBCCCCCCBCCBBCBCBBCCBBBBCCBCBBCBCBBBBBCCBBCBBBCCCBCCCCBCCCBCCBCCCBBCCBBCCCCBCCBBCCCCBCCCBCCBBCCCBCBCBCCBCCBCCCBCBCBBCBBCBBBCCCBBCBBBBCBBBBBBBCCBBCBBBBBCBCBCCCBBBBCBCBBCBBCBCBBCBBBCCBBCBBBCCCBBCCCCCBCCCCCBBCCBBBCBCCBBCCCCBCBBCBCBCCBBCBCCBCCBCBCBCBBCCBBCCCCCBCBCCCBCCBBCCBBCCCBCCBBCCBBCBCCBBBBBBBCCBCCBCBBCBBCBBBBBCBCCBBBCBCBCBCBCBBBCBCBBBCCCBBBBCBBCBCCBCBCBCCBBBCCCBCBBBBBCBCBBBBCCCCCCBCBBCCBCBCBBCBBBCCBBBBCBCCBBBCBBBCBCCBCBCCCBCCCCBBCCCBBBBBCBCBCCCCCBBCCBCCBCBCBBCBCCCBCBBBBCBBCBBBBCBCBCCBBBCCCBBCBCBBCCCCCCCBCBCBBCCBBBBBBCBBCBCCCBBBCBBCBBCCCCCBCCBBBCBCBCCCBCCCCBCBCCCCCCBCBCCCCCBCCBBCBBBBBBBBCBBBBCBCBCCBBCBBCBBCBBCCCBBCCBCCCCBCCCCBCCCCBCBBCCCCCCCCCCCBCBBCCCBBCCCCBCCCBBBBBBBBBCBCBBBBCCBBCCBCCBCBCCCCCCCCCBCCBCCCCBBCBBCCBCCBBBCCBBCCCCBBCBCCBBBBCBCCCBCBBBBBCCCCBBCBCBCCCBCCBBBCCBBBCBCCCBCCBBCBCBBBBCBCBBCCBBCCCBCBCCCBCCBBBBBCCBBCBBBCCCBCCBCBCBCBCBBBBBBCCBBBCCCBBBCBBCBBCBBCCBCCBCCCCBCBBCCCCBBCCCBBBCBCBBBCBBCBCCCBCBBBBCBCCBCBBBBCCBCCCBBBCBCCBCBBCBCCBCBCBCCCCCBBCCCCCBBCCBCCBBCCBBBCBCCBCCBBCCBCCCCBBCBBCBCBBCCBCBCBBBBCCCBBCBCBBCBCBCBCBBCBCBBCBBBCCBCBCBCCCBCCBBBCBBBBBCBBCCCBBCBBCCCBBCBCBBCCCBCBBBBBCCBCBCCBBBBBBCCBBCCBCCBBBBBBCBBBCBBCCCBBCBCBCBCBCCCCCBCBCBBBBCBCCBBCCBBBBCCCCCCBBBCCBBCBCBCBBBBBCCBCCCBBBCCCCBBCBBCBBCCBCBCBBBBBCBBCCCBBCCCCBCCBBCBBCBBBCCBBCCCBBBBBCCBCCCBBCBBCBCCCCCCBCCBCCCBCBCBBCBBCBBCCBCBCBBCCCBBBCBCBCCBBCBCBBCCCBBCCCBBCCBCBBCCBCCCBBCCCCBBCCBCCBCBBBCBBCCCBCCCBBBBBBBCBBBBBBBBCCCBCCBCBCBCBBCCCCCBCBCBBBBCCCBCBBCCBCBCCBBBBCCCBBBBBCBBCBBBBCBCBBCCBCCBBCCBBBBCCCBCBCBBCCBCCCCBCCCBCBBBCCCBBBBCCBCBBCCBBCCBCBBCCCCCBCCCCBCBBBCCCBCBCCBCCCBBBCCBBBCCCBCCCBBBCBCCBBCCBCBBBBBCCBBCCBBCBCCCCCCBBBBCCBCCBCCBBCBBCCCCCBCBBCCBBCBCCBBCBCBBCBBCBBCBBCBBCBCBBBCCCCBCCBBCBBCCCCCBBCCBCBBBBBBCCBCBBCCCBBCCBBBBCCBBCCCCCCBBCBCBBBBCBCBBCBCBCBCCBCBCBBCBBBBBBCCCBCBBCBCCBCBBCCCCBCCCBBBCBBCCBBCBCBCCBCCCCCBBCCCCCBBCBCBBCCCBCBBBBCCBBBBBCCBBBBCCBCBCBCBCCBCCBCCCCCCCCBCCCBCCBBBCBBBBBBCBCCCCCCBBCBBBCBCBCCCCCBBCCBBCBCBCCBCBBBBCBCCBBBCCCCBCCCCBCCCCBCCCCBBCBCBCCBBBCBBCCBCBCBCCCCCCCBBCCCBBCCCCCCCCBCBCBCBCBBCBBBCCCBBCBCBCBBBBCBCBBCBBBBCBCCCBCCBCCCCBBBCBCBBBCCBCCCBBBCBBCCCCBBCBBCCCCCBBBBCBCBBBCBCBCBBBCCBBCCCCBCBBBCBCCBCBCCBCBCBCCBCBBCBCCBBCBCBCBCCBCBCCCBBCBCCBBBBBBBBBCCCBCBBCBBCCCCCBBBBCCCCBCCBCBCCBCCCCCCBCCBBBCCBBBBCBCBBCCBCBCBBBCBCCBCCBBCCBCCBBBBCBCBCCBCBBCBCCBBCBCCBCCCBCBCBCCCCCBCCCBCCCCBCCCCBBBCBCCCCBCBCCCCCCBBBCCCBBBCCCCCCBBBCBCCCBCBBBBBCBCCBCCBBCCCCBCCBCCBBCCCCCCBBBBCCCCBCBCBBBCBBBBCCCCCBBCCBBBBBCCBCBCCCCBBCCCCBBCCBCBCCCCCBCBCBCCBBBCBBCBBBCBBCBBCCBBCCCCCCBBBCCBBCCBCBBBBBBBCBBBBCBCBBBBBCBBCBCBCBBBCCBCCBCBCCBCCBCBCCCCBCCCCBBBCBBBBBCBBBCBBCBBBBCBBBCBCCBBBBBBBCBCCCBBCCCBBCBCCBCCCBCBCBBBBCCBCBCCBBBBCCCBCBBBBBBCBBCCCCBBBBBCCCBBCBBCBBCCBBCCCCCCCBBBBBCBCCCBBCBBCBCCBBBBCCBCBCCCCCBBCBBCBBBBCBCCCBCCCBBCBBBBCBCCCBBBBCCCCBBBBBCBCBBCBBCBBBCCBCBCBCCBCCBCBCCBBBBBCBBCBBBCCBBCBCBCCBCCCCCCCCBCCBCCBCBCBBBCCCBCCBBBCCBBCCCBCCCCBCBBBBCBBCCCBCCBCBCCBCBBBCCBCCCBCBCBCCCBBCCCBBCCCCCCCBBCCBBBCCCCCCBCCCBBBCCCCCBCBBCCBCCBCBCCCCCBBCBBBBCCBBCCBCCBBBBBBBCCCBBCCBBCCBBCBBCCCBBBBCCBBCCBCCCCBCCCCCBCCBCCCCCBBBBBBBBCBCBCBBCBBCCBBCCBCBCCBCBCCCBCCBCCBBCCBCCBCCCBBCCBCCBBBBBBCBBBCCCCBCBCCBBCBCBCBBBCCCCCCCBBCCBCCCCCCCBBCBCCCBBBBBBCBCCCBCCBCCBBBBBBBBCBCBBCBCBCBCCCCCBBCCCBBCCBBCBBBCBSCBCCBBCBBBBCCBBBCBBBCCBBCBBBBBCCCBBCBCBCCBBCCBCCBCCBBBBBCCBCBBCBCCBCBCBBCCCCBCCCBCCCCBCBBCCCBCCBCCCBBCBBBBCCCBBCBBBCCCBBBCCCBBCCCCBBBBBCCCBBBCCBCBCCBCCBBBBBBCCCCBBCCCCBCCBBBCBBBCCBBCBCBBBCCBBCCBBBCBCCCCBBCBCCBCBCCCBCBBCBCCCBCBBCBBBCBCBCCCCCCCBCCCBBCCBBCBBBBBCBBBBBBBCBCCBCBBBBCCBBCBCCCCBCCBBBBCCCBCBBBBCBBCCBBCBBCBCCBBBCBBCCCCBCBBBBBCBCBCBBCBCBBBBCBBBCCBBCCCCCCCCBCCCCCCCBCBBBBBBBCBBBCCBBBCCCCCCBBBCBBCBCBBCCCBBCCCCCCCCBCCBCCBCCBCCBBCBCBCBCBCCBCCBCBBBBBBCCCBBBCBBCBCBBCBBCBCBCCCCCCCCCBBBCBBBBBBCBCBBBBBBBCCBBBBBBBBCCCCBBCCBBBCCBCBBBBCBBCCCCCBCCBCCBBCCCCCCCBBBBBBBBCBBCBBBBBCBCBCBBCCBBCBCCBCBBBBCBBBCBBCCCCBCCCCCBBBBCCCCCBCCBCBCCCBBCBBCBCBBBBBBCBCBCBCBBBCBCBCBBCCBCBBCBCBCBBBBBBCCBCCCCBBCBCBCBCCBCCBBBBBCBCBBBBCCCBBBCCCCCCCCCCBCCBBBCCBCBCBBCBCBBCCCBCBBCCBBCBBBCBCCCBCCCCBCCBBCBBCBBBBBCBBCCCCBBBBCBBCBBBCCCCBCBCBBBCBCCBBCCBBBCBBCCBBBCCCCBBCBCBBBCBCBCBCCBBCBCCCBCBCBCCBBBBCCCBBCCBBBCCBBBCCBBBCBBCCBCCCBBBBCBCBBBBBBCCBCCCCBBCCCBCCCCBCCBCBCCCBBBBCCBBBBBCBBBCBBBBCCCBBBCBCBCBCBBBCBCCCBCCCBBBCBCCCBCCBBCCCBBCCCCBBCBBCCBBBBCCCCCCCBCBBCBCBCBBBCBCCBBCBBBCBCCBBCCBBBCBCCBBBBCBCBCCBBCCCCCBCBBCCBBCBBBBBBBBCBCBCCCBCBCCBCBBCCBBCCCCBCCCBBBBBBCBCCBBBBBCBBCCCBBBCBBCBCCBBCBBBCCCCBBBCCCBBBCBCCBCBBCCCBCCCBBCCBCBBBBCCCBBCBBCBBCBBBCBCBBBBBCCBCCBBCCCBBCBCCCCBCCCBCCCCBCBBBBCBBBCCBCBBCCCBCBCBCCBBBCCCBCCBCCBCCBBCCCCCBBBBCBCCCBBCBCCBBCBCCCBBBCCCCBBBCBCCBCBBBBCCCCCCBCCBCBCCCBCBBBBCBBBBCCCBBBCBBCBCBCCCCBBCCCCBCCBCCCBCBBBCCBBCCBBBBBBCBCCBBBCCBBBBBBCCBCBCBBBCBCCCBCBBCCBCCCBCBCBBCBCBCCCCBBBCCCBCBBCCBBCBBCCCBCCBBBCBBBCCCCBBBCCCBBBBCBBCBCBCBCCBBCBCBBBCBBCCBBCBBBBBBCBCCCCCBBBCBCCCCBBBBBCCBBCBCCCCCBCCBCBBCBBCBBBCBBCBBCBCCCCBCCCCCCCCCBCBBCBCBCCBCCCBBBBBBCCCCBBCBCBCCBCCBBBBBBCCCCBCCBCBBBBCCBBCCCCCCBCCBBCBCBBBCBBBBCBCBBBBCCBBCCBBCBCCCBBBBBBBBCBCCCCCBCCBBCBCCBCBBBBBCCBBBBBBBBBBBBCBBBBCCCCCCCCCCCCBBBCBBBBBCCCBBBBCBCBBBBBBBBBBBCCBCCCCBCCCBCCCCBCCCBBBCCCBBCBCCCBBBBBBCCBBBCBBBBCCCBCBBBBBCCBCBCCBBBCCBCBCCCCCBBCBBCCBCCCBCBBBBCBBCBCCBCBCCBCCBBBCBCBCBBCBBBCBCCBBBCBCCBBCBBCCBCBBCCBBBBBBBBBCBCCBCBBBBBCBCCCBBCBCBBBBBCBBBBCBCBBBBCCCCBBCCBBBBBBBBBCCCCCCBBCCBCCBBCCBCCCBBCBCCCCCCBCCBBBCBBCCCCBCCCCBCBCCBCCCBBCBCBCBBCCBCBCBCCBCCCBCCCCCCCCCBBBCCCCCBBBCBCCBBBCCCCBBBCCBCCBBBBCCBBBBCCCCBCCCCBCCCBBCCBCCBBCBBCBBBBBBCCCCCCBBCBCCBCBBCCBCCCBCCCBCCCBCCCBBBCBCBCCCCCBBCBCCCBBCBCCBCCCBCCCCBBBCBCBCCBCBCBBBCCBCBCBCBCBBCBBCCBBBBBBBCCBCCCBCCCCCBBBBBCBBCBBCBBCBBBBBBCBBBCCBCCBBCBCBCCBBBCCBCBBCBBCCCCBCCCBBBBBBCBBCCCCCCCBBCCCCCBBBBCCBCBCBBCCBCBBCBCBBCCCBBBBBBBCCCBBBBCCCBCCCBBBCCBCBBBCBCBBCBCCCCCCBCBCBCCCCCBBBCBBCBBCBCCBBCCCCBCBCCCCCCCCBCCCCCCBBBBBCBBBBBCBBBCCCCBBBBCCBBBCCCCBCBBCCCCCCCBBBCBBBBBBBBBBBBBCBBCBCBBBCBBCBCBCBBBBCBCCCCCBCBBCBBCBCBBCSBBCCCBBCCBBCBBBCBBCBCCBCBCBBCBCBBCCCCCCCBCCCCCCBBCBCBBCCBBCCBCCCBBBBCCBCBCBBCCBCCBCCCCBBBCBCCCBCBCCBBBCBBBCBCCBCCBCBCCBBCCBCBCCCBBCCBCBBCCBBCCBCCBBBCCBBCBCCCCBCCBCCBBCCBBCBBBCBBCCBCCCBCBBCCBCCBBCBBBCBBBBCCBCCCCCCBBBCCCBCCBCBCBCBCCBCBCCCCCCBBBBBBCBBCBBCCCCCCCCBBCCBCCBBCCCCBCBCBBCBBBCCBBCCCBBCCCBBBCCBBCBBCBCCCBCCCBBCCBCCBCCCBBBCCCBCCCCBBBBCBBCCCBCBCBCBBBCCCCCCCCCCBBBCBCCCCBBBBBBCBBCBBBCBCBBCBBBBCBBCBCCCCCCCCCCCCBBBCCCBCCBBBCBCBCBBCCBCCCBCCBCCBCBCCBCCBCCBBCCBCBBCBBCBBCCBCCCBBCCBBBBCCCBCCCCCCBCBCCCBCCBBBBBCBCBCBCCCBBBCBBBBCCCCBBBBBBBBBCCCCCCBBBBBBBBBCBCBCCBCCBCBCBBBBBBBBBCBBBCBBCCBCBCCCCBBCCBCCCBCCCCBCBBBCBBCBCCBCCBCBBBCBCBCCCCCBBCBCBBBBBBBCCBBBBCBBBCCBCBBCBBBBBBCBBCBBBBCBBBCBBBBCBBCBCCBBCBCBBCBBBCCBCCCBCBCBCBBBCCCCCCCBCCCBBCCCCCCCBCCBBBCCCCBBCCBBBCCCCBBCBCCCCBCBBBCCBBBBBBBBCCBCBBCBCBBCCCCBBCBCBCBBCCBBCCCCBCBBCCCCCCCCBCCCBBCBBCBBCBCBBCBBBCBCCBCCCCCCBCBBCBCBBCCCCBBCBBBBCCBCBBCCBBBBCBCBCCBCCBCBBCBBCCCBCCBCCBCBBCBCBCCCBBBCCBBBBCBBCCCCBBBBBBBCCCCBBBCCCCBBCBBCCCCCCBCCBBCCBCBCCBBBBCBBBCCBCBBCBBCCCCCBCCCCBBBBBBBBCCBBBBBCBBCBBCCBCBBCCCCBCCBBBBCCBCCBBCCBBBCCBCBBBBCCCCBBCCBBBCCCCBCCBCBCBBCCBCCBCBBBCBCBBCBCBBCCCBCCBCCCCCCCCBBBCCBCBCBBCCBBBBCBCCBCCBBBBCBBBBBCBBBBBBBBCCBCBCBCBBBCBBCCCBBBBCBCCBBBCCCBCCBBBBCCCBBCBBBBCCCCBBCBBCCBCCCBBCBBBBBCCBBCBBCBBCBBCCBBBBCBCBCBCCBBBBCBBCCBCCCCBBBBBCCBCCBBCBBCCBCCBCBCCBBCBCCCBCBCCBCBCBCBBCCBCBCBCBCCBCBCCBCCBCCBCBCCCBCBCBBBBCCCBBBCCBCCBBBBBBCCBBCCBCCCBCCCBBBBBBBCCCCCBBBBCCBCCBBBBCCCBBBCBCCCCBBCBBBBCCCCBBCBBBBBBCBBBBBCBCBCBBBCBCCBBCBCCCBBBCCCCBCBBBBBCCCBCBCBCCCBBBCCBCCCBCCCCCCBBBCBBCCBBCBCBBCBBCBCCCCCCBCBBCBCCBBBCBCCBCBCCBBBBCBCCBCBCBBBCCBBBCCCBCCCCCCCBBBBBBCCCBBBBBBBBCBBCCCCBCCBCCCBCCCCCBCCBBCBBBBBCCCBCBBCCBBBCBCCCCCBBCBCBBBBCCCCCCBCCBBBBBCCCBCBCBCBCCCBCCBBCBBBBCCBBBCBBBBBCBBCBCCBCBBCCBBBBCBBBBBBCBBBBCCCBBCBCCBCBBBCBCBCCBCBCCCCCCBCBCCBBBCCBBCBBBCCBCCBBBCCBBBCCCBBCBCBBBBCBCCBBBCBBBCBCCCBCCBCCBCBBCBBBCBCBCBBBBCCBCCCCCBBBBCBBCCCCBCBBBCBCCBCCBCCCBCBBBCBBBBBBCCBBBBBCBBBCBCBCBCCBBBBCBCCCCCCBCCBBBBBCCBCBCBBBCBCCBCBCCBCBBBCCBCBBBBBCBBBBBCCBBCBCCCBCCCCCBCCCBBCCBCBCBCCBCBCCBCCBBBBCBBBBCCCCBCCCBCBCCBBBCCCCCBBCCCCCBCCCBBCCBCCBCBBBBCBCCCBBCBBCCCCBCBBBCBCCBCCCBBCBBCBCCCBCCCBCBBCBCCBCBCCCBBCBBBBBCBBCCCBCCBBBBBBCBBBBCCBBCCBBBCBCCBBBCBCCCBBBCCCBBBCCBCCBBBCBBCCBBBBCCBBCCBBBBCCBBBBCBBCBCBBCBBBBCBBBCCCCCCBCBBBCCCBCBBBBCBCBBBBCBCCCCCBCBCCCBBBBBBBBCBBBCCBCBBBBBCBCBCBCBCBCCCBCCCCBCCCCBCBBBCBCBBCBCCBCCBCCBBCBCBBCCBCCBBCCBBBBBBCCCCBCCBBCCBBBCBBBBCBCBBCCBBCBBCCCBBBBBBCCCCBCCBCCBCBCBBBBCBBBBBCCBCBCCCBBBBCCBBBBBBCBBCCCBBBBBBBCCBCCBCCBBBBBCCCBCBBCBBBCCBBBBBBBCCBCCCBCBBCBBCCCCCBCCBBCCCCCBBBBCBCCCCBBBBBCBBBBBCBCBBBCBCBBBCBBBCCCCBBBCBCBCBBCCBCCCBBBBCBCCBBCCCBBCCCBCBBCCBCBBBCBBCBBCCBCBBBBCCCCBCCBBBBCCCCBCCBBCCCCBCCCBBCCCBBCCCCBCCBCCCCCBBBCBBBBCBBCCCBCCCBBBBCCCCBBBCCBCBBCCBBBBCCBBBCCBCCCCBCBCCBCCCBCBBBCBCBCCCCCCBBCBBCBBCCCCBBBBCBCCCBCBCBCCBCCBCBCBCBCCCCBCCCCCBCBCBBCCCBCCCCBBCCCBBCCBBBCBBCCBCBBBBCBBBBCBCCBBCBBBCCBBBBBBCBBBCBBCCCBCBCCCCBCCBCBBCBCBBBBCCCCCBCBCBCBCCCCBCCBBCBBBBBCCBBCCCCCCBBBBBCBCCCCCBCBCBBCBCCBBCBBCCBBBBCBBBBCCCBCCBCCBBBCCBBBCBBCCCBCCCCCCCBCBCBBCCBBBCBBBBBCBBCBBCBBBBCCBBBBCBCBBBCBBCCCCCBBBBBCCCCCBBBCCCCCBCBBBCBCBBBBCCBBCBBCCBCBCCBCCBCCBCBCCBBBCCBCCCBCBCBBCBBBCCBCBCCCCCBBBCCBBCBBBCBCBBCCCCCBBBBBCBBCCCCBBCBCBCCCBBCCCCCBBCCCCBBCBBBCCBBBCCBBCBCCCCCBCCCCCCBBCBBCCBCBBCCCCBBCBCBCBCCBBCCBBCCBCBCCCBBCCCBCCCCBBBBBCBBCCCBBCBCCCBBBBBCCBBCCBCCBCBCCCBBBCCCBBBBBCCCCCBBCCBCBBBCBBBCBBBBCBBBCCBCBCCBBBCBBCCBBCBBCBCBCCCBCCCBBCBBCBBBBBBBBBBBBBBBBBBBBBCBCBBCCBCCBBBBCCCCCCCCCCCCCBCCCCCCCCCBBCCBCCCCCBBBCBBCBBCCBCCBCBCBCCCBBCCBCBBCCBBCBBCBCCCBBCCCBCBCCCCCCCCCCCBBBCBBCCBBBCCBCCBBBBBCCBBCBBCCBCBCBCCCBCCCBBCCCCBBBCBBBCCCCBBCBCBCCBCCBCCCBBBBCBCCCCBBBBCBCCCBCCBBBBCBCCBBCBCBBCBBBCBCBCCBBBCCCCCCBCBBCCBCCBBBBCBCBCCBBCBCBBBCBCCBBBCCBBBBCCCBCBBBCBCCBCCCCBBBBBCCBCBBCBCBCBBCCCBCBCCBBCBBBCBBCBBCBBBBCBCCBBBCBBBBBBBCCBBBBBCCBCCBBCBCBCCBCCCBCCCCCCBBBCCBBBBBCBBBBCBCBCCCCCBBCBCCCCCBBCCBBBBBBCBCCBCCBCBCBCBBBBBBCBCCCCBCCCBBCBBBCBCCBCBBBCBCBCBCCBCCCBBBCCBCBBCCCBCBBBBBCCBCCCCCBBCBCCCCCBCBBBBCCCBCCBBCCCCCBCCCBBCCBBCCBBCCBCBCBBBBBCBBCCCCBBCCCBBCBBBCBBBCBBCBCBBBCBCBCCCBCBBBBCCBBBBCBBCCCBCBCCBBCCBBCBBCCBBCCCCCCCCBCBBCBBCBBCCCBCBCBBCBCCBBCCCBCCBBCCCCCBSCCBBCCCBBBBCCBBCBCBBCBCCBCCCCBBBBCBBBCBBCCBBBBBCBBCBCBBBBBBBBBCCCBCBBCCCCBBBBCCCCBCCCCCBBCCBBBBBBCBBCCBCBCCBCBCBCBCBBBBBCCBBCCBCBCBCCBBCBBBCCCCCBBBCBBBBCBBBCBCCBBCCBBCCBCCCCCCCBBCCBBCBCBBCCCBCBBBCBCCCBBBBCBBCCBCCCBCCCBCCBCCCBCBBCCCBBBCBBCBCCBBBBCCCCBCCCCBCCBCBCBBBBCCBBBBBBBBBBCCBCBBCBCCBCCCBCBBBCBCCBCCBCBCCBBBBBBBCCCCCBCCCBBCBCCCBCCBBCCCCBBCCBCCBCCCCBCCBCBCBCBCCBBBBCBBBCCBBCBCCCBCBBCCCCBCBBBCCBBCCBBBBBCCBCBCBCCCBCCCCCCCBCBCBBBBCCBBBBCCCCBBCCCBBCBBBBBCBCBCBBCBCCCBBCBBBBBCBBCCBCCBBBCBBCBBCBBCBCBCCBCCBBBCBCBBCBCCCCCCCBCBCBCBBCBCBBCCCCBBBCCCCBCCBCBBCBBCCBBBCCCCBBCBCBBBCBCCCCBBCCBBCBBCBBBBBCBBCCBCBCBBBCCBBBCBBBBBBBBBBBBBBCCBBBBCCCCBCBBCCCBBCCBCBBBBCCBBBCBCCBCCCBBCBCBBCCBCBBCCCCCBBCBCCBBBBCBBBBBBCBCBCCCCBCBBCCBBCCCCBCCBBBCCBCCCCCBCCBBCCCBCBCCBBCBBCCBBCBCCCCBCCBBBBCCBBBBCCBBCCBCCBBCCBBCBBBCBBCBCBCCBBBBCBBCBCCBBBCCBCBBBBBBBBBCCCCCCBCCBBCBBBBCCBBCCCBCCCBCBBCBBBBCBBBCCBBCBBBBCBCCBCCBBCBCBCCCBCBBBCCBBCBCBBCCCBBCBCBCCCCBBBCCCBCCCCCBBCCBCCBCCCBCCBCBCCBCCCCBCBBBCBCCCCCCCBBCCBCCBCBCCCBBCCCCBBCBBBBBCBCCBCBBCCCCCCCBCBCBBBCBBCBCBCCBCCCBBCCBCBCBBCBBCCCBBBCBCBCBCBBBCCCBBCBBBCBBCCBCCBBBCCCCCBBCBBBCCBCCBBCBBCBBBCBBCCBCCCBBCBCCCCBCBBCBBBCBBBBBCCCCCBCCCBBBCBCBCCCBCBBCBCCCCBBCBBBCBBBBCCBBBBCCCCBBCCBCBCCBBBCBCBBBCBBBBCCCBCCBBBBBBBCBBCBBBBBBCCBCCBBCBCBCBCCCCCBBBCCBCCCCBBBBCCCBBCCBCCCCCBCBBCBBBBBCCBBBBBCBCCBBBCCBBBBBCBBBCCCCCBBCCBCCCCBBCBBBCBCCBBCCBCBBCBBBBCCBBBCCBBCBBBCCBBBCCBCBBCCBBCCBCCBBBBBCCBBCBBCBBBCCCCBBBBCCBCCBBBCBCCCBBBBBBCBBCBBCCBCCCBCBCCBBCBCCCBBCBCBCCBCCBCCBBCCCCBCCBCBCCCBCBCCCBCBCBBCCCBCBCCBCBBBBBBBBBBCCCBCBCCBCCBCCBBCCBBCCCCCCBBBCBCBBCCCBCCBBCCCCCBBCCBBCCBBCCCCBBCBBCCBCCCBBCCCCBCBBBBBCCBCCCCCCCBBBBCCCCBCBCBCBCCBBBBBCCCBCCBCBBCCCCBCBBCBCBCBCBBCCBCCCCCCBBCBCBBCBCBBBCBCBBBBBBBCBBBBBBCCCBCBBCCCBBCCCBBCCBBCCBBCBBBBBBBBBCBCCBBCBCBCCCBCCBBCBCCCCCCBBBCCBCCBCCCBBBBBCCBCCCCCBBCCBCBCCCBCBCBCCCCCBBBCBCCCCCCBCCBBCBBBCCBBBBCBBBBCCBBCBBBBCBBBCBBBBCBBCCBCCBBCCCCCCCCBBBBCCBBCCBBCCBBCCBBBBCCCCBBBBBBCCCBBCBCCCBBBBBBCBCCCBCCBCBCCBBCCBBBCBCCBBCBBCCCCCCBBBCBCBBCCCCBBCBBBCCCCCCBCCBBBCBCCCCCCCCCBBBBCCCBCCCBCCBCCCCCCCBBBBBCBBBBCBBCBBCBCCBCCCCBCCCBCBBBBCBCCBCCBBCCBBBBCBBBCCBCBBCCBBBCBBCBCBBBBCBCCBBBCBCCCCCCBBCBBBCBBCCBBCBCBBBCBBBBCCBBCCBBBBCBCBCBBCCBBCBBCCBCBCBCBBCCBCCCBCBBCCBBBCBBCBCCBCCCBBCCBCBBCCBCBBCBCCBCBCCCBCCCBCBBBBCBBBBCCBCBCCBCCCBCBBBCBBCBCCCCBCCCCBCCBBBCBBCCCCCBBCCCBCBCBCCBCCBCBCCBBCBBBCCBBBCCCCCCBCBBCCBCBCCBBBCBBCBBCCBBBCBCBBCCBCCBCCCCCBBBCBCBCBCCCCCCCCBCCBCBCCBBBBCBBBCCCCCBBCBCCCCBBBCBBCCBBCBCBCCCBCCBBBBBBCBCBBBBCBBBBCCCBBCCBBCBBCCBCBBCBBBCCCCBBBCCCBCBBBCBCBBBCCBBCCBBBBCCBBBBBBCBCBCBCBBBCBCBCBCBBBBCCCBBBCBBCBBBCCCCCBCBCBBCCCCCBBBBBBCCBBCBCBBBBBBCBBBBCBCBCCBCCBBCBBCCCCCCBCBBCCCCBBBBBBBBBBCBBCBCBCBCCCBBCCCBBCCBBCCBBBCBCBBCCCBBBCBBCBCBBCCCBBBCBBBCBBBBCBCBCCBBCCCCCBCBBBBBCBCBBCBBCBCBCCBCCBCCCCCBCBCCBCCCBCCBCBBCCCCBCBBCBCCBCCCCCBBCBBBCBCBBBCBCCCBBCBBBCCBCBCBBCCCCBBCBBCBBCCCCCBBCCCCCCBCCCCBCBCBBBBBBCBCBBBCCBBBCBCBBBBBBCBBCCCBBBBCCCCCBBBCBCBBCBCBCCBBCBBBCBBCCBCBCBCCCBCBCBBBCCCCCBBCCBBCCCCBBCCBCCCCBCBCCBCCCCCBBBBBBBBBBBBBCBCCBCBCCBBBCBCBCBCBCCCCCCCBBCCBCCCBBBCBCBBCBBCCCBBCCBCCCBBBCCBCCCCCCCCBBCCBCCCBCBBCCCBBBCBCBCBBBBBBBBCBCBCCBCCCCBBBCCBBBBCCBBBBCBCCBBBCCCCCBCCBBCBCBBBCBBBCBCCCBCBBCBBBBCCCCCCBCBCBBBBBBBCCBBBBBCBBBCCCCCCCCBCBCCCBCBBBBCCCCCCCCCBCCCBBBCCCCBCBBBBCBBCCCBCBCBCCCCBCCCBBBBBBBCCBBBBCCCBBBCBBBCBBBBCBCBCBCCBBBCCBCBBBCBCCBBCCCCCBCCCBBCCBCBCCCCCCCCBCCBBBBCBCCBCCCBCCCCBCBCCBBBBBCCCBBBCBBBBBCCCCBCBBBCCCCBBCCBCCBCCBCCCBCCBBBBBBCBCCCCBBBCCCCCCCCBCBCBBBBCCBBCBBCBBCBBCBCBBCCCCCCBBBBBBBCBBBBCBCCCBBCCBCCCBBBBBCCCBCBBBBCCCBCBBCBCBBCCBBCCBCCCBCBBCCBBBCCCBBCBCBCCCCBCCBBBBBCBBBBCBBCCCBCBBBCBBCCCCBCBBCCCCCBBCCCCBCCCBCCBCBCBCBCCBCCBCBBCBBCBBBCCBCBCCBBCBBCCBBCBCBBCCBCCCCBBBBBCCCBBBBCCBBBCCCBBBBBCBBCBBBBCCCCBBBCBBBBBCCBBBCBCBBBBCCCBBBBCBBCCBBCCBCBCBBCCCCCCCCBBCCCCCCBCBBBBCCCBBCBBCCBBBBCBBCCBCBBBBBBCCBBCBBBBCCBCBBBBBBBCCBCBBBCCBCCCCCCBCBCCCBCBBBBBBBCBBCBCCBCBBCCBCBBCBCBCCBBBBCCBCCBCCCBBCCCBCCCCCBBCBCCSBBCBCBBBBCCBBCBCBBCCBBCCBBBCCBBCCCBCBCBCBCBBCCCCCCBCCCBBCBCSCBBBBBCCBBBCCBCBBBBBCCCCCCCCBCBCCBCBBCBCCBCCCBCBBCCBBCCBBBBCBBBCCBBCBBCCBBBBCCCBCBBCBCBBCBCCBCBCBBCBBBCBCCCBCBBCCCBBBCCBCBBBBBCBBBCCCBCBCBCCCCBBBBCCBCCBCBCBCBBBCCCCBBCCCCCBCCCCBCBBCCCBCBCBCCBCBBCCBBBCBCBCCBBCBCBCCCBCCBBBBBBCBBCCBBBBCCBBCBBCCBCBCCCBCBCBBBCCBBCCCBCBCBCBCCCBBCCBBCBBBCCBCCBCCCBBBBCCBCBCCCBBCCBCCCCBBBBBCCBCCCBBBBCCCBBCCCCCBBBCCBBBCCBSCBBCCCBBBCBCBCCCCBBBCCBBCBBCCBCBCCCCBBCBCCBBCBCBCCCCCBCCBBBCCBBBCCCCBCCCBBCCCCBBBCBBCBBCCCCCCCBCBCCBBCBBCCBBBCBBCCCCBCBCBCBCCCCBCCCCCCCBBBBCBCCCBCBCBBBCCBCBBCBBCCCCCCBBCBBBBCCBBBBBBCCBCCCCCCCCBBBBCBCBBCCBBBCCBCBCBBCCBCBBBCCBCBBBCCCBBCBBBCCBCCCBCCBBCCBCCBCCBBBCBCBCBCBCCBCCCBBCBBBCBCBCCBCBBCBBCCBBBCCCBBCCBCCCBBBCBCCCBBBBCCBCCBBBCBCBBBBBCCBBCBCCBCBBCCBCBCCCCCBBCBBCBBBCCBCBCCCBCCBCCBBBBBCCCBBBBBBCCBBBCBBCBBBBBBBCCCCBCCCCCCCCCCBBBCBCBCBBCBCBCCBBBCCBCCCCCCCBBCBBBCCBBBCBCCBBBCBCCBCBCBCCCCBCCBBBCBBBCCBCBCCBCBBBBBBCCCBBCBCBBBCBCBBCCCCCCCBCCCCBCCBBBCBBBCBCCCCCBBBCBBBBBCBBBBBCCBBCCCBBCCCBBBCBCCBCBBCCCCBCBBCBBCCBBBBCCCCBBBBBCBBCBCBCCBBCCCBCBCCCBCCBCCCBBCCBCCBBCBBBCBBCBCBBCCBBBCCCBBBCCCBCBBBBCCCCBBCBBCBBCCCBBCCCCBBBBCCCCBBCCBCBBBCBBBCBCCBBCCCCBBCBCCCCCCBCBCBBBBCCCBBBCCBBBCBBBBBBBCBBBCBCBBBCCCBCBCCBBBCBCBCCBBCBCBBBCCCCBCBCBCCBCCBBCCBBBCCBCBBCCBCBCBCCBCCCBBBCBCCCBBBBCCBBCBCCCBCBBCBCCCCBCBBBBCCCBCBCCBCCBBCCBCBCCBBBBBCCCCCCBBCCBCCBCCBBBCCBBBBBCBBBCBBBCCCCCBBCCCBCBBCBBCBBBBCBCCBCCBBBBBBCBBCBCCBCCBBBCBBBCCCCCBBCBBBCCBCBBCCCBBCBCCBCCCBCCCBCBCBBBBCBCCBCCBCCBCBCBBCBCBCBCBCCCCBBCBBBBBBCBBCCCBCBCBCBBCBBCBCCCBBCCBCBBCBCBBCCCCCCBCBBBBCCBCCCBCCCBBBCBCCCCCBBBBCBBCBBBBBCBBCCBBCCCCBCCCBCCCBCBBBCCCCCBCCCBBCCCBCBBCCCCBBSBBCCBBBBCBBBBCCCBCCBCCBCCCCBBBCCCCCCCBBCBBCBCCBCBCCCCCCBBBBCBCCCBCBBBCBBBCBBCBCCCCBCCCBBCBBBCCBBBCBCBBBCBCBBCCCCCBBCCBBCCCBBBBCCBCCBCCCBCCCBCBBCBBBCCCCCCBCCCBCBBCBCCBCBCCBCBCBBCBBCBBCCBBBBCCBCCBBCCBCBCCCBBCCCCCBCCBBBCCBBBCBCBCBBBCCCBCBCBCBCBBBBCBBCBCCBCBCCBCBCBBCCBBCCBBCBCCCCCBCBCCBCCCCCCBCBCBCCBBCBBCBCCCCBBBCCCCBCCCCCCBBBBCCCBCCBCBCBCCCCCBCCBBBBBCCBCBBBBBBCBCCCCBCCBCBCBCBCCBBCBCCBCCCBBBCBBCBBBCCBBCBBBCBCCBBBCBBCBCBCCCCBCBCBCCCCCBCCCCCCBBCCBBBCBBBCCCBBBBCBCBCCBCBBCBCCCBBCBCCCBCCCBCCBCBCCBCCCBBCCCCCBCCCBBCBBCCBCCCCBCCBBBBBCBBBCCBBBCBBCCCCCBCCBBCBCBCCCBCBCBBCBCBCCBCCBBCCCCCCBCBBCBCBCBCCCCCBCBCCCCCBCBBBCCBBCCCCCCBCCCBBBCBCCBCCCBCCBCBBBCCBBCCBBBBBBCBBBBBCCBCBCBCBBCBBBCBCCBCCBBBBCBBBBCBBCBCCCBCCBCCBCCBCBCCCCCCCBBBCCCBCBBBBBCBBBBCCBBCBBCCCCCBCBBCCBCCBCBBBCCCCCBBCCBCBCCCCBBBBBBCBCBBBCBCCBBCBBBBBCCBCBBBBCCCCCCCCCCCCCCCCCBBCCBCBBCCBCBCCBCBCCCBCCBCBCBCBBBBBBCCCCCCCBBCBCBCBCBCCBCCSCCCCBCBBCCBCBCBBCCCBCCBBCBCBBBCCBCBCCCBBCCBCBCCBCBCCBBCBBCBBCCBCBCBCCCBCCCBCCBCCBCBCCCBBCBBCBCBCBCCBCCCBCCBCBCBBBCBBBBBCCCCCBBCBBCCCCCBBCCBBCCBCCCCBCCBCCBBBBBCBCCCCCBCBBBBBBCCBBCCBBBBBBBBBCCBBCCBCBCBBBBBBCBBBBCCCBBBBCCBBCCBBBCBCCBCBCCBBBBBCCCBCCBBBBCBCCCBCBCCBBCCBBBCBBCBBCBCCCBBCCCCBCCCBBCCBCCBBBCCBBCBBCBBBCBBCCCCCBBBCCBBCBCBBCCCBBCCCCCCBBCCBCCCBBCBCCCCBBCCBCBCBCBCCCCCCCCBCBCCBBBCCCCBCBBCBBBBCBBCBCCCBBCCCCBCBBBBCBCCCCBBCCBBCBBCBBCBBBCCBBCBCBCBBBBCBBBCBCCBCBCCCCCCCBBCBBBBCCBCCBCCCCBCBCBBBCBCCBBCCBBCBCBCCCBCCBBBCCCCBBCCCBCCCBCBBBCCBCCCCBCCBCBCBCBCBCCBCBBCBBBCBCBBCCBBBBBBCBBCBBBBCBBBBCBBCCBBCCCBBBCCBCBCCCCCBBCBCBCCBBCCBBBCCBCBCCCCCCBCBCCBBCCBCCBBCBBBBBBBCCCCBCCBBCBBCCCBCBCCBBBBBCBBCCBCBBCBCBCCCBBBBBCBCCBBBBCCBCCCCCBBBCCCBCCCCBBCCCCCCBBCBCBCCBBCCBCCBBCBCBCCBCBCBCBBCBCCCBCCBCBCCBBCCCCCCCCBBCCCBCBBBBCCCCCBBBCBCBCCBBBCBCBCBBCBBBBBBCBBCBCCBBBCCCBCCCBBBBCCCCCBCBBCBBCCBBCBBCBBCCBCBCCBCBBBCCCCCCBCBBCCBCBCBBCBCBCCBBCBBBBBCBBCBCBBBBBBCCCCCBCBBBCBCCBBCCCCBBBBBCCCCBBBCBBCCCBBBCBBCCCBCCCBBCBBBCCCBBBBCCCBBCCCBBCBBCBBCBCBCBBCCCBCCBBBCCBCCCBCCCCBBBCBBBCCBBBCCCCBBBBBBCCBCBBCBBBCBBCBCCBBBBCBCCBCCBBCCBCBCCCBBCCBBCCBBBCBCBCCBBCBBBBBCCCCCBCBBBCBCCCBCCBBCBBCBCCCBBBBBBCCBBBCBCBCBCBBCCCBCBCCBCBBBBCBBCCBBCCBBBCBBBCBCCCBCBCCCBBCBCBBBCCCBBBBCCCCBCBBBCBBCBBBBBCBCCCBBBCBCBBCBBCCCBCBCBBBCBBCCCCBCBCCCCCBBCCCBCBCBCBCBBCBCBBCBCBCBCCBBCBCCCCBBCCCBCCBBCBBBBCBBBBBCCBCBBBCBCCCBBCBBCCCCBBCCCCBBBCCCBCCCBBCCBCBBCBCBCCBCBCBCBCCCBCCBBCBCBBBBCBCCBBBBCBCBCBBBBBCCCBCBBBBCBBCCCBBBBBCCCCBBBBCCCBCCCBBBCCCCBBCBBBBBCCCCBBBBBBCBCCCBCCBCCBBBBBBBBBCCCCBCBCBBCCCBBCCBCCCBCBCCBBCBCCCCBBCCBBBCCBCCCCBBBCCCCCCCCBBBCCBCBBBBCBBBBBBBBCCCBBCCBCCBBCBBCCBCCCBBBCCCCBCBBCCBCCBBBBCCBCCBBCCCBCBBBBCCBCCCCCBBBCBBCBCCBCBCCBBBCBBBBCCCCBBBBBCBBBBBCCBBCCBCBCCCBBCBCCCBCCCCCBBCBCBBBBCBCBCCBCBCBBCCBBCBCBCCCCCBCCCCBCCBCBBCCCCBBCBBCCBBBBBBCCBCBCBCCCCCBBBBBBCBCCCCBCCBBBCCBBBBBBCCCBBBBCCBCBBCCBCBCBBCBBCCCCCCCCBBBCBCCBBBBBCBBBBCCBCCCBBCBCBCCCCBCBBCBCBBCBBBBBCCBCCCCCBCCCCCBCCBBBBCCCBCCBCBCBCBCCCBBBCBBBCBCBCBBCBBCBBBCCCCCCBBBBCCBBCBCBCBBBCCBBCBBCBBCCBBCCBCCBCCCBBBCBCBBBBBBBCCCBBBBBBCBBCBCBBBCBCCCCCCBBCCCCBBBBCBBCCCCBCBCCBBBCBCBCBBCBBBCCBBBCBBBBBBCCBCBBCBBCCCCCCBBBCBBCBCCCBBBBBCBCBCCCBCCBCCBBCBBCCCBCBBBCCBBCCBBCBCCCBBBCBBCBBBBBCCCCBBCCCBCCBBBBBCCCCBCBCBCCBCCCBBCCCBBCBBCBBBCCCCCCBCBBCCCCBBBBBCCCCCCCCCBBBBBCCCBCCCCCBCCBBCBBCCCCCCCCCBCCCCCBBCBBBBBBBBBCBBBCCCBCCBCBCBCBBCCCCBBBBBBCBBBBCCCCBBCCCCCCCBCCCCCBCBBBCCBCBCBBCBCBBCCBBCBCCCCBCBCBBBBCCBBCBCBCBBCCCCBBCBCCCCCCBBCCBCCBBCBBCCBCCBCBBBCCBCBBCCBBBBCCBBCBBBBCBBCCBBCCCCBCBBCBCCCCBBBCBCBCCBCBCCCCCBCCBCBCBCCBBCBBCCBBBCBCBCBBCCCBCCBCBCCCBBCBCCBBSBBCBBCBCBBBBBBBCBBBCBCBCCCBBBBCBBCCBBCBCBBBBCCBBBBBBBCBBBCCCBBBCCCBCBCCCBBCCCBCCBCBCCBCBCCCCCBCCCCCCCBCCBCBCCBCBBBCBCCBCBCCBCCBCBCBCCCCBCCCBCBCBBBBCCCBCBBCBCCBBCBBBBCCCBCCCCBBBBBBBBCCCCCBCBCCCBCBBCBCBBCCBCBBBCBBBBCCCCBBCCCBBBBCBBBCBBBBCBCCBCBBCCBBBCCBBBBBCCBBBBCBCCCCCCCCBCCCCBBBCBBCBCCCBCBBBBCBCBCBBCBBBCBBBCBBCBCCCCBCCCBCBCBCBCCCCBCCCBBBCCCSBBBCBBBCCCCCBBCBCCBBCCBBBBBCCBCCCBBCCBCBCBCBCBCCCCCCBBBCBCCBBBCCCBCBBBBBBBCBCCCBBCBCCBCBCCBCBBBBCBBCCCBCCCCCBCCBBBBBCCBCCBCCBBCCCBBBBCCBBCBCBBBCBBCBCBBCCBCCCBCBCCBBCCCCCCCCBBCCBBCBCCCBCBBCBCCCBBCBBBBBBBBCCBBCCCBCCCBBBCBBBBCBCBCCBBBCBBBCCBBCBCCBCBCCBCBBBBBCCCBCBBBBBCCCCCBBBBCBBCBCCBBCBBBBCBCBCBBCCBBCBBBBBCCCCBBCBCCBBCBBCCBCBCCCCCBBBCCBBCCCBCBCBBBCBCBBCBCBBCBBCBBCBBCBCBBCBCBCCBCCCCCCBCCBCCCCCCBCBBBCBBBCBBCCBCBCCCCCCCBCCCCBBCBBBCBCBBCCBBBCCBBBCCBCBBCCBCBCBCBBBBBBCCCBCCBCBBBBCCCCCCCCCBCCBBCCBCBCBBCCCBCCBBBCCBCCBBBCBCCCCCBBCBBCBCBBBBBBBCCBBBCCCBBBCBBBCBBBBBCBBBBBCCCCBCCBCBBCBCBBBCBCCCCCBCBCCBBCBCCBCBCBCBBCCCCBCCCBBBCBCCCCBCCCCCBBCBCCCCCBCCCCCCBBCCCCBCBBCCBBCBCCBBBBCCCCBCCCCCBBCCBBBCCBCBCBBCBBBCBCBBCBCBCCBBBCBCCCBCBCCBCBBCBBCBCCBCBCCCCBCBCCCBBCBBBCBBBBCCCBCBCBBBCCCCBCBBBCCBBCCBBCBBCCCCCCCCBCBBBCCBCCBCBCCBBCCCCCCCCCCCCBBBBBBBCCBCBBBCBCBBCBBBCCCBCBBBBBCCBCCBBCBBCCCCBCBBCCBCBCCCCBBBCCBBBBCBBBCBBBBCBCCBCCCBBCBCCCBCCCBCCCCCCBCBCCCCCCCCCBBBCBBBCCBCCBCCBCBBCCBBBCBCCCBCCCBBBBCBCCBBCCBBCCCBBCBBBBBCCCBBBCBBCCCBCCCCCBCBBCBCBBBBCCBBBCBBCBCCBBBCCCCBBCCCBCBBBBCCBBBBBCCCCBCCBBCBBBBBBCBCCBBBBCCCBBBCCCCCBBCCBBBCCCBBCBBBCCBCCBBBCCBBBCCCBBBBBCCCCCBBBBCCBCBBBCCBCBCCCBCBCBBBBCBBCCBCBBCCBBBCCCBCBCCBCCCBCBBBCBBBBBCCCCBBBBCCCCBCBCCCBBBBCBCBBBCCBBCBCBBBBCBCCBBCBCBCBBBCCBCBBBCCCCBBBBCBCCCBCBCCCBBBCBCBCCBCBBBCCBCCBBCBCCCBCBCBBCCCCCBBBCBCCBBBCBCCBCCCBBCBCBCBCCCBBCCCBBCCBBCBCCCCCBBCBBBBCBCCBBCCCCBBCBBCBCBCCCBCCBCCBBBCCBBBBBBCCBCBCBCCBBCBCBBCBCBBBBCCBCBBCCBBBBCBCCBCCBCBBBCBBCBBBBCCBBCBCCBCBBBCCBCCBBBBBCBBCCBCBCBCCCBBBCBBBCCBBCCBCCBCCBBBBBBCBCBBBCCCBBCCCBCCBCCBBBBBCBBBBCCBCCBBBBBBCCCBBCCBBBCCBCBCCCBBCBBCBCBBBBBBCBCCCCBBBBBBBCCBCCBBBCBCBBBCBCCBCCBBCBCBBCBBBCCBBCCBCCCBBCBCBBCBCCBCBCBBCCBBBCCCCCBBBCCCBCBCBCBBBCCBCBBBBBBCCBBBBCBBBBBCCCBBBCCBBBBBCCBCCBBCBBCBBBBCCBCCBBBCCCCBBBCCCBBCBCCCCBCCCCBBBBBCCCCBCCCBBCCCBBBCCCCCCBCCBCCCCCCBCBBBBBBBCCCCCCBBCBBBBBCBCBBBBBCBCCCBBBCCCBCCBCBCCBBCCBCBBBBCCCCBCBCCCCCCCCBBCCCBCBBBBBBCBBCCCBCBBCCCCBBBCBCCCBCCCBCCCCCCBCBBCCBBCBBCBCBBCBBBBBCCCBBBBCBCCBBBCCBBBBBBCCBBBBCBCCCCBBBBBCCBBBBCCCCBBBBBCBCBBCBCBBCBCBCBCCCCCBCCBCBCCCCCBBBBBBBBCCCCBBBCCCBCCCCBCCCBCBBCCCCBCCCCBBCBCBBBBCCBBBBCBBCCCBCCCCBCBBCBCBBCCBBBCCCBCBCBBBCCBCCBBBCCCBBCBCBCBCBBBBCBCBCCCCBBBBBCBCBCCCBCCBCCCBCCBBBCCCCCCCCCCBCCBBBCCCCCBCBBCCCCBBCCCCBCBBCBCCCCBCCCCCBCBCBBBBCBCBCCCCCBBCCCBBCBCCCCCBCCBCBCCCCBBCBBBCBCCBCBCCBCBBCCCBBBBCBBBBCCCBBCBBBBBBBBCBCCBCBBBCBBBBBBBBBCBCCCBCCBCBCBBCBBCCBCBCBCBCCBCCBCBBBCBCBCCBCBCBBCCCCBBCBCCCCBCCCCBBCBCCCCCCCCCCCBBBCBBCCBBCCCBBBBBBCBBCCCCBCCCBBBCBBBBBCCCCCCBBBBBBBCCBBBCCBBCBBBCCBCCCBCBCCCCCBBBCCBBCBCCBBBBBBCCBCBCBBCCBCCCBCCBBCCCCCBBBBBCBBBBCCCCCBCCCBBBBBCBCBCBBBBCCCBCCBCCCCBBCBBCCCCBCCCCCBCCBBBCCBBCBCBBCCBCBBCCBBBBCCCCCBBBCCBCCCBCBBBCBCCBBCCCBBCCCBCBCCBCCBBBBCBBCBBBCCBCBBBBBCCBBBBCCCBCCBBBCCBBBBCCCBBCCBCCCBCBCCCBBCBCBBCBCCCCBBCBCBCBBCBBBBBCCCBCBCCCBCBBCBBCCBCBCCCCCBBCBBBBCCBCCCBBBCCBCBCBCCCCBCBCBCCBBCBBBBCCCBCBCCBBBCBBCCBBBBCCBCCCCCCCCBBCBBBBCBCBBCCBBCBCBCBCBBCBBBBBBBCBBBCBBBBCBCCBCBBBBCCCCCBBBCCBCCBCCCCCCCBBBCBCBBBCCBCCBBBCCBBCCBCBCCBCBCBCCBBBBCCBCBCCCCBBBCCBBBCBCBCCCCCBCCBCCCBBBBBCCCBCCBBBCCCCBBBBBBCCBBCBCCBCBBBBCBCCBCBBBCBBCBCBCBCCBCCBCBCCBCBBCBCBBBCCBCBCBCCBBCCBBBCCCCCBBBCBBBCCCCCCCBBCBCBCBBCCCCBCCBBCCBBBCBBBBCBCCCCCCBCBBCBBCCCCCBBBBBBCCCCBBBCBCBBBCCBCCCCBCBCBCBCBBCBCBCBCBBBCCCBBCCCBCBBCCCBBCCBCCBCCCBCCCBBCBCCBBCCCBCCBBCBCCBCCBBBCBBCBBBCCBCBBBBCCCCBBBCCCCBBBCBCCBCCBCCBBBCCBBBCBBCCCBBCBBCCCCCCBBCBBBBBBCBBBCCCCBBCBCCBBCBCCBCBCCCBBBBCCCCBBBCCCCBBCCBBBBCBBBBBCBBCCCCCBCBBCCCCBBCBCCCCCBBBCCCBCBBBBBCBBCBBBBBCBBBBBBCCCBBCBCBCBCCCBCCCCCCBCCCBCCCBCBCBCCBBCBBBBBBCBCBCCCCCCCCCCBBBBBBCBCCCCBBCCCCBBCCBBBBCCBCCBBBBBBBBBBBBBBCCCBCCBBCBCBCBBBBCCBBBBCBCCBBCBCBBBCBBCCCBBBBBBCCBCCCCCBCBBCCBBCCBCBCCCCBCCBCCBCBCCCBCBBCCBCBBBBBCBCCCBCCBBCCBCCCBCCBBCCBBBCCBCBBBBCCBBCBBCCBCBCBBCCBBBBBBCBBBCBBBCCCBBCBCBBCCBCCBCBCCCCCBBBBCCBCCCCCBCBCCCCBBBBBBCBBCBBCBBCCCBCCBCCCCBCCCCBBCCCCCBBCBBBCBCBCBCCBCCBBBCCBBBBBCBCCBCBCBBBBCBCCCBBCBCBCCBCCCCBBCBBCBBCCBCCBCCCBCBBCCBCBBBBBBBBBBCBBCCCCBBCBBBBBBBBCBCBBCBBCCBCBCCCCCCBCCBBCCCBBBCCCCBCCBCCBBBCBBCBBBBCBCBCCBCCCBCCCCBCBBCCBBBCBCCCBCBCCBCCBBBBCBBBCBBCBCBBCBCCBCCCCBCCCCBCBBBCCCBCBBCCCBCBBBBCCCBBBCBBBCCBCCCCCBCCCCCCCCBCBBCCCBCBCBBBBBCBCBCCCCCCCBBCBCBBBBBBCBCBCBCCBCCBBCBCCBCCBCCBCCCBBBCCBBCCCCBBCBCCBBCBCCCCCBCCCCBCBCCBBBBBCBBCBCBBBCCCBBCBCCBCBCCCCBBCBCCCCBCBBBBBCBCCCBBBBCBBCCCCBCCCCBBBCCBBBBBCCCCBCCBCBCBCBCBBCCCBCBCCBCBBCCCBCCBBCCBBCBBBCBCBBCCBBCBCBBCBBBBBCBBCBCBCBBBCCCBCBBCCCCBCCCCBBBCCBBCBCBCBCBCCBCBCCCCBCBCBCBBCBBBCBCBBCBCCCCBBBBCCBCCBBBBCCCCBBCBCCCCCBCCBCBCCCBBCBCBBCCBBCBCCBCCCBCCBCCCBCBCBCBBBBBCCCCCCCBBBCBCBBBCBCBBBBCCBCCBBBBCBBBCBBCBBBCBBBCCCBBBBCCCBBBCCBBBCBCCCCBCCCCCBCCBCBCBBBCCCCCCCBCBCCCBCCBCBCCCCCCBCBCBCBCBCCBCCBCBBCCBBCBBBCCBBCBBCBBBBBBBCBBBCBBCBCCCCBBBBBCBBCCBCCCCCCCCBBCBCCCCCCBCCBBCCBBCBCCCCBCBBBBCBCBBCBCBCBBCBCCBBBBCCCCCCCCBCCCCBBBBCCCCCBBBBBCCBCBBCBBBBBBBCBCCBCBCBCBCCCCBBBCBCBBCCCBBBBBCBBBCBCBCCCBCBBBCBBBBBBCBBCCBBCCCBBCCCCBBBCCBBBCCBBCCCBCBCCBCBCBCBCBCBCBBCBCBBCBBBBBBBCBCBBCCBCCBBCBBCCCCBCBBCBCBBCCCBBBCCBCBCBCBCBBBBCCCBBCCBBCBBBBCCBCBCBCCCCCCCCBCCBCBBBCBBCBBBCBBBCBCBCBBBCCBBBBCBCCBBBCCCCBCCCCCBCCCBBBBBCBBBBCBBBBCBCBCCCBBBCBCBBBCBCCBBBBCBCCBBCBBCCBBCCCBCCBCBCBCBBCCBBCCBBCCCBBCBBCBCBCBBBCBBCBCBBBCCCBCBBCCCCCBBBBBCCBBBBCCCBCCBCBCBCCCBCBBBCBBCCBCCBCBCCCBCBCBBCBCBBCCBBCBBBBCBCCCBBBBCBBCCCCCCBCBBCCCBBCBBBBBBCCCCCCCCBBBBBBBCCCBBCCBBBCCBCBCBBCBCCBCBCBCCCCBBCBCCBCBBCCBBBBBCCCBCCBCCBCBCBCCBBBCCCBCBCBBBBBBCCBCBBBBBBBBCBBCBCBCCCCBCCCBCCCCCCBCBCCBBCBBBBBBCCCBBBCBCBBCCCCCBCBCBCBCBBCBCBBCBBCCBBCBBCBBCBBCBBCCCBBBBCCCBBCCCCCCCCCCCCBCBBCCBBBCBBBBCBCCCBCCBBCCBCBBCCCBCBCCBCBCBBBBCBCBBCBCCCBBCCBBCCBBCBBBBBBBBCBCBBBBBBCCBBBCCCBBCCCCBBCBBCBCBCCCCBCCBBBCBBCCBCBCBBCCBCCCCBCCCCBCCBCBBCCBBCBBCBCCCCCBBBCCBCBBCBCBBBBCBBCBCCCCCBCCCCBBBCCBCCBCBBBCCCBCCCCBCCCCBBCBCCBCCCCBCBBCCBBBBBBBBBBBBBCCCBBCCCCCCCCCCBCCCCBCCCBBCCCBBBBCCCBBCBCBCCBBCCCCCBCBCCBBCCBBBCBBCCCBCBBBBBCBBBCCCCCCCCCBBCCBCBCBCBBBBCCBCBCBBBCBCBBBCCCBBBCBBCCCBBCCBBCCBCCBBCCCBCBBBBCCCBBBCCBCCBCBCCCCBCBBCCBCBCBBCCCCBBCCCCBCCBBBBBCBCBCCBCBBCCCBCCBCBCCCCBBCBBCCCCBBBCCBBBCBBBBCBCBBCCCCCCBCBBCCCCCBCCCBBCBBCBBCCBCCBCBBCCCCBCBBCBCBCBBBCCBCBCCBBCCCCCBCCCCCBCBBBCBBCCCCBCBCBBBBCCCCBBCBCBCCCCBCCBCCBBBCCBBBCBBCBCBCCBBCBBBCBCCCBBBCBBBBCBCCBBCCBBCBCCCCBBCCBBBCCCCBBCBCCBCBBCBCBBBBBCBBCBCBCBBCCCBBCCBBCCCBCBCBBBCBCCBBCCBBCCCBCBBCBCBBBBCBBBCBCCCCCCCCCBCBCCBBBCBBCBCBCBBBCCBCBBBBBCBCBBBBBBBCCBCBCBCCCBCCCBBBBCCCCCCBCCBCBBBBBBCBCCBBBBBBBCBCCCCBBBBBCBBCBCCCBBBCCBCBBBCBCBCCCBCCCBBCCBCCCCCCBBCBCCCBBCBCBCCBCCCBCBBBBBCCCBBBCCCCCCBBBBBCBCCBCBCCBBCBBBBCCBBCBCCBBCCCCCBCCCBCCBBBBCCBCBCBBBCCCBCBBCCCBCBCBCBBBCBCBCBBCBBBCBBBBBBBBBBCBBCBCCCCBCCBCBCBBCCCBCCCBBCBBBCCBCCCCCBCBCBCBBBBCCBCBBBBBBCCBBBBCCCCCBCBCBBCBBBCBCBCCCCBCBBBCBBCCCBBCCCCCCBBBBCCBBBCBBCCCBCCCBBBBCCBBBCBBCCBBBCCCBBBBCBBBCCBBCBCCCBBCBCBCCCBCCCBCBBCCCBCBCBBCBBBCCBBBBBCCCCBCCCCCBCBBBBCCCBCBCCBBBCCBCCCCCCBCCBCBBCBCCCCBCCCBBCCBBBCBBCBCBBCCBCBCBCCBCBBBCBBCCBBCCCCCBBCBCCBCBBBCCBBCBBBCBCCCCCCBCCBCBCCBCBBBBBBCBBBBCCCBCBBCCCCCCBCCCCCBBBCCCCBCBCBCCCBBCBBCBBBCBBBBCBBBCCBCBBCBCCCBCBBBCBCCCCBCCBCBBBCBCBCCCCCBBCBCCCBCCBCBBCBBCCCCBBBBCBCCCBCBCCBCCBCCBCBCBBBCBBBCBBCBCCBBCCCCBBBCCBCBBCBBBBCCCBBCBBBBBBCBCBBCBBCBCCCCBBCCCCCBBBCCBCCCBCCCCCCCCCBCCBCBCCBCBBBBCBBBCBBCCBCCBBCCCBBBBCBCBCCBCCBBCCCCCBBCBBBBCCCCBBBCCCBCCBCBCBBCCBBCBCBCCCBBCCBBCBBCBBCCCBBCCCCBCCBCCBBCCCBCCBBCBCBCBCBCCBCCBCCCBCCBBCCCBCBBBBBBCCBCBCBBCBBBBBBBBBBBBBCBCCBCBCBCCCBCCBBCCBCCCBCCCCCBCBBBBCCCBBBCBBCCBBBCCCBBBCCBBCCBCCBBCBCBBCCCBCCBCBBBBCBCBBCCBBBBCBCCBBBBBBBBBBCBBCBCBBCBCCCBCCBBCCCCBBBBCCCCCCCBBCBCBBCBCBBBCBCBCBBBBCCCBBBBBCBBBBCCBBCCCCCCBBBCCBCBCBBBBBBCBCBCCCCCCBBBBCCBBBCBCBCBBBCBCCCBCCCBBCCBCCCBBBBCCBBBBCCCCCCCBBCCCBBCBCCBBBCCBCCBCBBCCBCCCCBBCBBCCCCBBBBBCBBCCBCBBCCBBBCCBBBBBBBCCCBCCBCCBBBCCCCCBBBCCBBBCCBCBCBBCCCCCBBBBBBBBBBBCCCCBCBBBCBCCBCBCBCCCBBBBBBBBCCCCBCCCBCBBBBBCBBCBCCBBCBBCBBCCBBCCBBCBBBCBBBBBBBCCCBCCBBCBBBBCCCCBBBCCBCCCBBBCBBCCBBBBCBBBCCCBBBBCBCCCCBBBBBCCBCBBBBBCBBBBCCCCCBBBBBBBBCBBCCCCBCBBCBBCBCCCBCCBBCCCBCBCCBBBBCBBCCBBBBCBBCBCCCBCBCCBCBBBCCCBBBBBBCBBBBCCCBCCCCBBBBBBBBCCCCBCCCCBBBBCCCCCBCBBBCCBBBCBBBCCBCCCCCBCCCCCCBCBCCCCBCBCCBBBCCCCCCCBCCBBBBCBBCCCCBCCCCBBBCCBBCCCBCCBBCBBCBBBBCCBBCCBBCCBCBBCBBBCBBBBCCBCBCCBCBBBCBCBBCCBBCCCCBCCBCCCCBCCBBCBCBCCCBCCCCCCBBCBCCCCBCCBBBCBCBCCBCBCBCBBCBCBBBBBBCCCBBCCCCBCCBBCBBBBCCBCBBCCCCCBBCBCBCBCCCBCCBCBCBBBBCBCCBBCCCCCCCCBCBBBBBCBCBCCCCCBBCBCCCBCCBBCCBBBBBCBBCCCCCCBBBCBCCBCCCBBBBCBCCBBCBCBCCCBCCBCCCCCBCBBBCBBCBCCCBCCBCBBCBBBCCCBBCBBBCBCCBCBCBCCBCCBCCCCCBBCBBBBCBCCCCBCBCBCBBBBBCBBCBBCBBCCCBBBCBCCBCCCBCCCBCCCBCBBCCBCBCBCBBCCCCBCCCBBBBBCBCBBCBCCBCBBCBBCBCCBCCBCBBBCCBCBBCCBBBCBCCCBCBBBBCCCCCCBBCCCCBBCCCBBBCCBBBBBBCCCCBCBCCCCBBCBBBCCCBCCCCBBCBCCBCBBCCBBBCBBCBBCBCBBBBBCBBCBBCBCCBCCCCCCCBBBBCCBBCCCCBCCBCCCCCCCBBBBCBBCBBCCCBCBCCBCBBCBCBCCCBBCCBBCCBBBCCBCCBCBCBBCBBBBBCCCBCCBBCCCBCCBBBCCCBCCBCBCCCCBCBCBBBBBBBBBCBBCBBBCCCCCBCCCBBBCCBBCBCBCBBBCBBCCCCCCCBBCBBBCCBCBCBBCCBBCBCBBBCBBBBCCCBBBCBBBBCCBCCCCBCBBCCBCCCBCCCBCCBCBCBCCCBCCBBBCCCBBBBBCBCCBCBCCCBBBCCCCCBCBCBBBCCBCBBCCBCBBBBCCBCBCBCCBBCCCCBBCCCCBCBCBBCBBBCCCCCCBBBCCCBBCBCBBCCBBCBCCBBBBBBCBBCCCBCBBBCCBBCBBCBBCBCCCCCCBCBCCCBBBBCBCBCCCCBCCCBCBCCCCCBCCBBCCBBBBCCCBCBCCBBCCBCBCBBCCBBBBCBBCBBCCBCBBCCCCCBBCBCBCBBBBCBBBCBCCBCBCBCCCCCBBBBBBCCCCCBBBCBBBCCBBBBCCBCBCCBCBBBCBBBBCBCBCBCCCBCBCBBBCBBBBBBBCBBBBCBCCCBBCBBBCBBCBCBBBCBCBCCBCCCCBBCBBBCBCCBCBCCBBBBCCBBCCBCCCBCCBBBBBBBBBCCBCCCCBBCCBCBCCCCBBBBBCBBBBBBBCBCBBCCBBBCBBBCBCCCBCCCCBCCBCBCCCCBCCCBBBBBCCCBBCCBCBBCBCBBCCBBBBBCCCCBBBBCCBCBCCCBCBCCCCBCCBCBCCCCCBCBCBCCCBBCCBCBCCBBCCBCBBBBBCCBBBCBCCBCCBCCBCCCBCBBBBBBBBCBCBCBBCCBCBCCCBBCCBBBCCCBCBCBBCCBCBBCCCCBCCCBBBBCCCCCCCCBCCBCCBCBCCBBCCBCCCCBCCBBBBCBCCBCBCBBCCCCBCCBBBBBBBBCBCBBCBCBBBBBCCCBCBBCBCCCBCBBCBCCCCCBBCBBCBCCCCBCBCBCBCCBCBBBCBBBCCBBCBBCBBBBCCBCCBBCCBCBBCBBBCBBCBBCBBCCBBBCCCCBBCBCBBBCBBBBCBCCCCBCBCCCBBBBCCCCCBCCBBBBCCCBBBCCCCCCBBCCBCBCCCCCCCCCCCBBBCCBCBCBBBBBBCCCBCCBBCBBBBCCCCBBBBBCCCCCCBCBBBBBBBBBBBCBCBBBCCCBCCCBCCCCBCBCBCBCBCCCBBCBBCBBBCCCCBBBBBBCBCBBBBBCCBCCCBBBBBBBCCBBCCBCCBCCBCCBCBBBCBCBCBCCCCBCCBBBCCCBCBBCBBBCCCCCBBBCBBBBCCBCCCBCBCBBCCBCCBCCCCBBCCCBBBBBCCBCBBCBCBBCCBBCCCBBBBBCCBBCCCCBBCBBBBCCBCCBCBCCCBBBBCBCBBBCBCCCCBBCBCCCCBCCBBCBCCCBBCBCCBCCBCBBBCCCCCCBCBCCCBCBCBCCBBCBCCBCCCCBBBBCCCBBBBCBCCBBBBBBBCCCCCBBBBBCBBCCCCBBBCCBBCBCCCBBBCCBBCBCCBBBCCCCCCBCCBCBBBCBBCCBBCCBCCCBBBBCBCCBCBCCBBBCCBCCCCCCCBBBBBBBBBBCBBCBCCBCBCCCBBBBBCBCBBBBCCBBCCCBBBCBCCBCBBBCCBBCCBCBBBCCCBBBBBCBBBCCCCBCCCBBCCBCBCCCCCCCCBBBBCCBBSBBBCBCBBCBBCBCBBCCBBCBBBCBCCBBCCBBCBBCCBCCCCCBBCBBBCCCBCBCCCCCCCBBBBBCBCBBBBCCCCCCCCCCCCCBCCCCBBBCCCCBBBCCCCBBCCBBCBCBCCCCBCBBCBCBCCCCCBBCBBCBBBBBCBBCBBCBBCCCBBBCCBCBBBCCCBCCBBBCBBBBBBBCCBCBCCCBCBCBBCCCBBCBBBCCCBBCBCBCCCCCCBCCBBBBCCCBCBCCBCCCCBCBCBCCBBCCBCCBCBCCCBBBCCBCBBBCCCCCCBBCCBCBBCCCCBBBBCBBBCBBBBBBBCBBCCCCBCBCCBCCBCCCCBBBCCCCCBBCBCCCBBCBCBBBBCCBCCBBCBBBBBCBBCBCBCBBCBBBCBCCCBCCBCBBCBCCCCBCCCBBBBBCCBBBBBCCBBBCBCBCBBBBCCCBBCBCBCCBCBBBBBBCCCBBCCCCBBBCBCCCCCBCBCCBCCCBCCCCBCBBBBBBBBBCCBBCCCBCBBBBBCBBCBBBBBCCCCBBBCCCBCCCCBBCCBCCBBBCCCBCCCBCCCBCBCCCCBCBBBBBBBCCCBCBBBBCCCBCCBBBCBCBBCBCBCBBBCCCCBCBBBCCCCBBCCBBCCCBCCCBBCBCCBCBBBCCBCCCCBCCCBBCBBCBCBCCBBBBCBBBCBBCCCBCCBCBBCBBBCBCCCBCBBCCCBBCCCBBBBBBBCCBBBCCCBCCCCCBBCCCBBBCBBCCBCBBCCCCCBCCCCCCBCCBCCBBCBCCCBBBBCBBCCBBCBBCCBCCBBCBCBCCBBCCCCCBCBBCCBCCCBBCBCCCCCCBCBCCBCBBBCCBBBBBCBCCCBBCCCBCBCCBCCBBCBBCCBCCCBCCCCCBCBBCBBBBCBBBCCBBBCCCCBBBCBBBCCBBCCBBCCCBCBCCCCCBBCBBBCCCCCCCCBCCCCCCCCCCBBCBBBBBCCCCBCBCBBCBBBBBBCCCBBBCCCBCBBCBCCCCBCCBBCBBCBCBBBBBCCCCCCBBCBBCCCCBBBCCCCBCBCCCCCBBBCCCBBCBBBBCCCBBCBBCBCCBBCBCCCCBCBBCCCCBBCBBBCCCCBCBBBCCBCBBBBBBBBCBCCCBBBCBBCBCCBCBBCCCCBBCCCCBBCCBBBCCBCCCCCBBCBBCBBCCCCCCCBCCBBCBBBBBCBCCBCBCCBCCBBBBBBCCBCBBCCCBBCBCBBCBCCCBCBBCBCCBCCCBCCBBCBCBBCBBBCCBCCCBCCCBCBBBCCBBCBBBBBBCBCBCBBBBBCCBCBCCCBCCCCCBBBBCCBCCCCBBCBBBBBBCCCBBBBBCCCBCCCCBBCBCBBBBBBBBBCCBCCBCCBCBBCCCCCBCBCCBBBCCCCCCCCCCBCCBBBBCBBBCBBCBCCCBBBBCCBBBCCBBBCBBCBCBBBCCBCCCBBBCCBCCCCBBCBBBBBBCCBCBBBCCCCCCBBCCCBCCCCCCBCBCCCBCCBBBBCBCBBCBBBBCCCCBCBCBBBCCCCBCBCCBBBBBCBCCBCBBCBCCBCCCCBBCCBBCBCBCBBBBCBBBBCBCCBCBBBBBCBBCCBBCBCCBCCBBBCBCCCCBCBCCCCCCCBCCCCCBCBCBBCCBBCBCCCCBCBCCCBCCCBCBCBCBBBBBBBCCCBCCCBBCBBCBCBCCCBBBCBCBBBCCBBBBCCCCBCCCCCCBCBCCBCCCCBBCCBCCBBBBCBBCBCCBCBCCBCCBCBBCBBCBCCCCCCCCCCCCCCBBBCCCCBBCBCBCBBCBCBCCCBBBBBBCBCCBCCCBBBBBBBBBCBCCBBCBCCBBCBBBCBBBBBBBCBBBCBCCBCCBBBBCCCBBBBBBCCBBBCCBCBBCCCCCBBBBCBBBCCCCBBCBCCBBCBCCBCBBBCBBBBCBCBBCCBBCBCBBCCCBCBBBCCBCBCBCCBBBCCBBCCBCCCBBBCCBCCCCCCCBBBCBBCCCBCBBBCBCBBBBBCBCBBBCCBBCCCBBCCBCBBBCCBBCBBBCCCBCCCBCBCCBCBBCBBCCBBCBBBCBBBCCBBCBBCCCBCCBCBCBCBCCBBCBCBCBCCCBCCCCCBCBCBCCCBBCCBCBBCBBBBCBCBBCBCBCBBBCCCBBCBBBBCBCCCCCCBBBBCBBBCBBCBCBCCBCCCCCCBBBCCBCBBBBBBCCBCCBBCBBCBCCBBCCCBBBBBBBCCBBBBBBBBBBBCBBCCBCBBBCCBBBBBCBBBCCCBBBBCCCCCCBBCBBCBBBCCCCCCCCBCBCCCCBBCBCBCCBBBCCCBBCBCBCCCCBBCBBBBBCCCBBBBBCCCBBCBCBCBBBCCBBCCCBCBBCBBCBCCBBCCCCBBCBCBCBCCCBCBBCCBBBBBCCBBCCCBBCBBBBBBBBCBBCBCCCBCBCBCCCBCBCBBBCCCCBCCCBCBBCBBCCCBBCBCCCCCBBBBBBBBCBBBBCBBBCBBCBCBCCBCBBCBBCCBCBCBBCCCCBCCBBBCCBBCBCCCCCBBCBBBBCBBCBCBBBCBBBCCBBCBBBBBCCBBBCBCBBBBBBBCCCBBBCCCCCCCCBBCBCCCBCCBBCCBCCCCBBBCCCCBBCCCBBBCBCCBBCBBCCCCCCBBBCCBCBBCCCBCBBCCCCCCBBBCCBCCBBBCBBBBCBCBBCBBBBCBBCCCCBCBBBBBCCBBBBCBCCCCCCCCCCBCCCCBBCCCBBBBBBCCCCCCBCCBBCBCBBBBBCCBBBCCBBCBBCBBCCBCBCBBCBCCBCCBCBCBBBCBBCBBCBCCBCCCCSCCCBCCBBBBBBCCCCBBCBBCCCCBCCBCBBCCCCBBBCCCCCBBBBCCBCBCBCCBBBCBCCCCBCCCCBBCBBCBCBCBCBBBBBBCBBBBCCCBBBCCCBCCCBCBBBBBBCCCBCBCCBCBBCCCBBCBBBCBBCCCCBCCCBCBBCCCCBCBBCCCCCCBBBBCBBCCBCBCBCCBBBCBBBCCBCBBBBBBBCCCCCBBBCCBCBBCCBCCCCCBCCCBCBBCBCBBBCCCBCBCBBCCCBCBBBBCCCCBCCCCBCCBCCBCCCBBBCCCBBCCBBBCCCCCCCBCBBBBCBCCBCBBBBCCBBCBBCCBBBBBCBCBBCBCCBBBBBCBBBBBCCBBCCCBBCCCBBBCCCCCCCCBCBBCCCBBCCBCBCBBBBBCCCCBCBCBCCCBCCBCBBCCCBBCCBCBBCCCCBBCCBBCBCCCBCBCCBBCBCBBCBBCCBCCBCCCBBCBBCCBBCBCBCBCBCBCCCBBBCCBBBBCBBBBBBBBBBBCCCCCCCCBBBBBBCCCCCCBBBBCCBBCCCBBBCBBCBCCBCBCBCBCBCCCCCCCCBCBCCCCBBBCBBCCCCCBBCBCCCBCBCCBBCCCCCBBCCBCCBCBCCBBBCCCCBBBBBCBCBBBBCCCBBCCBCCBBBCCBCBCBBBBCBCCCBBBBCBBCBBBCCBBCCCBCCCCCCCCBBCCCCCCBCBBBCBBBBBCBCBBCBBCCCCCCCCBBBCBBCCCBBCBCCBBBCBBCBBCCCCBBBCCCBCCCCCCCCCBBBBBCCBCBCBCCBBCCCBCCCCBCBBCBCCCCCCBBBCBCBBBBBCBBCCCBCBBBBBCBCCBBBCBCBCCBBCCBBBBCCBBBCCCBCBCCCBBCBCBBBCBCBCBBBBBCBBCCCBBBCBCCCCCBBCBCCCCBBCCCBCCCCCCBCCBBBCCCBBBCCBCBCCBBBBCBCCCCBBBCCBBCBBBBCBCBCCBCCBCBCCBBCCCBBBCCBCCBBCBBBBCCBCBCCBBCCBBCCBBBCBCBCCBCBCCBBBBBCCCCCBBBBBBCCBCBBCCBBCCCCBCCBBCCBCCCBBCCBCCCBBBBBCCCBBBCCBBBBBCCCBBBBBCCCBBBBBCBBCCCCCCCBCBBBCCCCBBBBCCCCBCBCCCCBBBCCBBBBCBBBCCCCBCBCCCBBBCCBCBCBBBCBCBCBCCCBCCBCBCBBBBCBBBCBCBCCCCBCBBCCCCBCCBCCBBBBCBCCBCCCCCCBCBCBCCBCBCCCCBBCBBCBBBCCBCCBBBBCCCBCCBBCCCBCBBBBCBBBBCCCCCBBCCBBBBBBCCBCCBBBBCCCBBCCCBCBBCCBCBCBBBBBCBBCBBCCBBCBCCBCBBBBCBBBCBBCBCCCCBCCBBCCCCBBCBBCCCCBBBCBBBBCCBBCCBBCCCBBCBBBCBBBBBBBBCBBSCCBCCCCCBCCCBBBCBBCCBBBCCCBCBCCCCBCCBBBBCCBBBBBCBBCCCCCCCCCCBBCCCCBCBBBCBBCCCCBBCCCCCCCCCBCCCBBBCBCBBCBBBCBBCCBCBCBBCCBCCCCBBBBBBBCBCBBCCCCBBBCBCBBCBCCCCBCBCBCBBBCCBBBCCCBCCBBBBCBCCBCCCBBBCBBBCCCBBBBCCBCCCBCCBCBCBBCSCCCCCBBBCBCBCCBCCCBCBBCCBCBBBCCBBBBBCBCCCBCCCCCBCBBCCCCCBCBCBCBCCCBCBCBBBCBBBCCBBCBCCBCCCCCBBCCCBCBBBBBCBCCBCBCBCCCCCCBCCBCBBCBBCBCCCBCCCCCBCCBCCBBCBCBBCBCCBCCBCBBBCCCCCCBCCBCCCCBCCCBBCCCCCBBCCCCCBBCCCBCBBCBBCCBBBBCCCBBCBBCBBBBBCBCCBBCBCCBBBCBBBCBCCCCCBCCCCCBBCCCBCBBCCBBCCBBCCCCBCBCCBBCBCBBBBBBBBBCCCCCCBBCBCCCCBCBCBCBBBCBBCBBCBCBCCCBCBBCBBCBCCBBCBCCCCCCCCCBBBCBBBCCBBCBCCBCCBBBBCBBBCBCCBCCCBBBCBBCBCBCCCBCCCBBBBCBCBBBBCCBBCBBBBBCBBBCCBBBBCCCCCCCBCCCCBBBBBBBCCCBCCBBBCBBBBCCBBCCBCCCBCBBCBBBCBBBBCBBBBCCBBCBBBBBBBBCCCBCCBCBBCBCCCCCCCBCBCCBBCCCCCBBCCBCCCBCBCCCCCCCBBCCBCBBBCBBCBBBCBBCCCCCBCBCBBCBCBBBCBCCCBBCCBBCCCBBCBCBCCCBBCBBCBCCBBCCCCBCBCCCCBCBBCBBBCCCBBCCCBCBBCCBCBCCCCBBBBBBCBBCCCCCBCBBBCCBBCCCCCBBBCBCCBCBBBCBBBCCCCBCBBBCCBBCBCBBBBCCCBCCBBCCCCBCCBCBCBCBCBBCCCCCBBBBBBCBCCBBBBBCCCCCBCBCBCCCBBCCBBBCBBBCBBCBBBCCBBBBCBBCBBBBCCCBCBCBBBBCCCCBBBCCCBCBBBCBBCCCCBBCBBBCCCBBCBCCBCBBBBCBBCCBBBBCBBBBCBCCCBBBCCBCCCBCCCCBBBBBBCBCBBCBBBCBBCCBBBBBBBCCBBBBBCBBCBBBBCCCCBCBBCBBCBBBBCBCBCBBBCBBBCBCBCCBBCBBBBCBCCCBBBCBBCCCCBCCCBBCBBBCBBCCCCCBCCCBBBCBBBBBBBBCBCBCBBBCCBCBBCCBCBCBCCBCCBBBCBBBCCBCBBBBBCCBCBBCBCCCCBCCCCBCCBBCCBCBCCCBCCBCBCBBBCBCBBBCBBBBCBBCCCBCCCBCCCCBBCBCBCCBBBCCCBBBCBCCBBBCBBCCCBCCCCBCCBBBCBCBCBCCBCBBBCCBCBBBCBBCCCCCCCBBCBCBBCCBCBCBBCBBCBCCCBCBCCCBBBCBCCCBCBCCBCCBCBCBBBBCCBBCBCBBCCCCBCCCCCCBBBBCCCBBCCBBCCCBBCBBBBBCCBCBCBBBBBCBCBBBCCCCBBBBBCBBCBBBBCBCCBCBCCCBCBCCBBCBBBCCCCBCBCCBCCCBBBCBCBCCBBCBBCBCCCCCCBCBCBCBCBCCCBCCBBBCCBBCBCCBCBBCBBBCCBBCBCBBCBCCBCBBBBCBBBCBBCBBCCBCCBBCCCBBBCBBCCBBBCCBCBBBBCCCCCBBBBCCBBBCBBBBCCCBBCBBCBBBCCCCBCCBCBCCCBCCCBBBBBBBCCBBCCCCBBCBCCCBCBBCBBCBSCBCBBCBCBBCBCBBBBCBCBCBCCCCCCCBCBCCBCBCBCBCBBCBBCBBCBCBCCCBCCCBBBBBBCBCCCCCCCBCCBCCBBBBBBCBCCBBBBCCCCBCCCBCCCBBBCCBCCBCBCCCCCBBCCCBBCBCBCBCBCCBCBCCBBCCBCCBBCBBCBCCBBCCBCBCCCBBCBBBCBBBBCCBBBCCCBBCCBCCCBCBBCBBCBBCCBCBBBCCCBCCCCBCCBCBCBBCCBBBCCBCCBCCBCCBBBCCBCBBCBBCBCBBBBBCCBBBCBBCCBCCBBBBBCCCCCBCCBBCCCBCBBBBCCBCCCBCBBBBCBCCCCCCBCBCBCBBBBBCBBCCCBBBBBBCCCBBCBCBBCBCCCCBCCBBBCBCCBBBCBCBBBCBBCBCBCBCCCCBBCCBBBBBBCCCBBCCBCCCCCCCBBBCBBBBCBCBCCBCCBBCBCBBBCBCBBBCCCCBBCBCCBCCBBBCCBCCBCCBCBBBCBCBCBCBBBCBBBBCBCCCBBCCCBBBCCBCCCBBBCCBCBBBCCCCBCBCCBBCBCBCBCBCCBCCCBBBCCBCBCCCBBBCCCBBBBCCBBCBBBBBBBBCCCBCCBBBBCCCBCBBCBCBCBCCBCCBCBBBCCBCCBBCBCBBCCBBCBCCBBBCCCCCCBCCBBBBCCBCBCBCBBCBCBCCBCBCCBBCCCBCBCBCBCBCCCBCCCBCCBCBBCBCCBBBBBCCBBCCCCCBCCCCBBBCBBBBBBCCBBCCCBBCBCBBCCCCBBBCCCCCBCBBBBBBBBBBCCBCBCCBCBCBBBBBCCBCBCBCCCBBCBBCBCBCBCCBBBBCCBBBCCBBCBBBCBCCCCBBBBBCCBBCCBCBCCCBCBBCBBCBBBBCCCBCBBBCCBCCCCBBBBBBCCCCCBCBCCBBCCCBSBBCCBBBBBBCBCBBBCBBBCCBBBBCCCBCCCBBBCBCCBBCBCBCCBCBBCBBBCBCBBBBCCCBBBBBCBCBCCCBCBCBBBCCCCCCCCBCBCBBBCCCCCBBBBCBCCCBCBCBCCBCBBBCBCBCBCCCCBCBCBCBBBCCCBCBCBBBCCBCBCCBBBBBBCCBBBBBCCCCBBCBBCCBBCBCBBBBCCCBBCBBBBBBCBCBBBCBBBBBCBBBBCCCBBBCCCBCBCCCCBBCCCBBBCCCBBBCCBCCBCCBCCBCBCBBBCBBBCBCBBBBCBBCBCBCCCCCCCCBCCBBBBCCBBCCCBBBBCBBCBBCBBBBBCBBBCCCBBCCCCCCBBBBBBCBCCCCBBCBBCCCBBCCCCCBCCBCCBCCCBBBCBBBCCCBBBBCCBBBBCCCCBBCBBCCCBBBCCCBBCCBBCCBCCCBCBCBCCBBCBCBBCCCBCCBCCBBBBBCCBBBBBCCCCCBCCCBCCBBBBBCCBCCCBCBBCCCCBCBBCCCCBBCBCCCCCCBBBCCBCBCBCBCCCCBCBBCCBCCBBCCBCBBBCCBCCBCCBBCCBCCCBCBCBCBCCBCCCCBCCBBBBBCBBBBCBCBCBCBCBBCBCBCCCBCBBCBBCBBCCCBCCCBBBCBBCBBSCBBBCBBCCBCCBCBCBCBBBCBCCBBCCCCCBCBCCBBCBCBCBCCBCBCCBCCBBBCCBBCCCCCBBCBBCCCCCBCBCBCCCCBBBBCBBCBCCBBCBCBCBBBCBBCCCBCCBCBBBBBBCCBBBCBBCBBCCCBCCBBBBBCBBCBBCBCBCCBBCCBCCCCBCBBBBCCBBCBCCBCBBBCBBBCCCBSBCCBBCCCCCBCCBCCBCCBCCBBCBBBCBBBCCBBBBCBBBCCCBBCBCCBCBBCCBCCCBBCCBBCBBCBBCBBCCBCBBCCBBCBBCBBBCCCBBBBBCCBCBBBCCCBCBCCBBBBCCBBBBBBBBBCBBCBCBCCCBCBBCCCBCCBBCCCCBCBBBBBCCCCCCCCBBBBCCCCBCCBBCBBBCCCCBBBCBBCCCCBCCBBBBCBBCBBCBBCCCCBBCBCCBBCCCBCCCCBBCBBCCCBCCCCBBCBCCCBBBBBBBCBBBCBBCBBCBBCCCCBCBCCCCCCBCBBCBBCCCCCCCBCCBBBBBBBBCCBBBCCBBBCCBBBBCCBBBCCBCBCCCBCCCCBBCBCCCBCBCCBCBBBBCBCBBBCBCBCCBBCBCBBCBCBBCBBCCBCBCCCCBCBCBBCBBBBCCCCBCCBCBCBCCCCBCBCBCBCCBCCBBBCBBBCBBBBBCCBCBBCBCCCCBCCBBBCCCCCBBBBCCCBCBBBCBCBCBBCBBBBBCBBBBCCCCBBCCBCCCCBCCCBBCBBBCCBCBCBCBBBBBCCBCBCCBCBCBCCBBCCCBBCCBBCBBBBCBBBBCCCCBCBCBBBBCCCBBBBCCCCBCBCCCBBCCCCCCBBCBBCCBBCBBBCBCCBBBCBBCCCCBBBCBCCBCBBBCCCCBBBBCCBBCBCBCCCCCBCBCBBBCCBBBBCBCCCCBBCBCBBCCBCBBCBBCCCBBBBBCBCCCBBCCCBBCCBCCBCCCCBBCCBCCBBCBBCCCCBCBCCCCBCBBBBCCBCBCCCCBBBBCCCBCBBBBCBBBBBBBCCCBBCBBBBBBBBBBCCCBBCBCBCBBCCCBBCBCCBBCBCBCBCBCBCBBBCCBCCCCCCBBCCCCCBBBBBBBBCCCCCCBBCCBCCBCCCCBCCBBCCBBBBCCBCBCBCBBCBBCBBBCBCBBCBCCCCCCBBCCBCBBBBBBBCBBCCBBCCBCBCCBCBBBCCBCCBCCCBCCCCCCCCBCBBBCBCBBCBCBBBCCBBBBBBCBCCBBBCBCBBCCBCCCCBCBCCBBCCBBBCCCCCCBBBBBCCBBCBCCBCCBCBBBCBBBBCBCCCCCBBCCBCBBBCCBBCCCBBCCBCBBCCCBCBBBBBCCBCBBBCCBCCCCCCBBCBBBCCCBBBBCCCCCBCBBBCCCCBBCBBCCBCCBCBBCBCCBCCBBBBCBCBCBBBBCBCCBCBCBCBBBBBBBBCCCCBBBBBBBBBCCCCCCCCCBBBCCCCCCBBBBCBBBBBCBCBBBBBCCCBCBBBBCCCBCBBBCCCCBCCCCCCCBBCBCCCBBBBCBCCBCCBCCCCBCCCCCBBBCBCBBBBCBBCCCBCCCCCCCCBCCBCBCCBCCCCBBBCCBCBBCCCBBCCBBBBBBBCBCCBCCBBCBCBBBBBBBBCBCBBBCBCBCBCBCBBCCCCBCCBCBCCCCBCCBCCBBBBCCCBBCCBCBBCBBBCCBCCCCCBCCCBBCCCBCCCBCBBCCBBCBBCBCCBBBBCCBBBBCCCCBCCCCCCBCBCCBBBCBBCBBBCBBBCBCBCCCBCBCCCCBBCBBCBCCCCCBCBCBCCCCBCCCBBBCCCBBCBCCCCBCCBCCCBCBBCCCCBCCBCCBCCCCBBCBBBCBBCCBBCBBBBCCBBCCBBCBBBBCBBCCCCCCBBBBCCCCBBCBCCBBCBCBBCBCBBCBCBBCCCBBCCBBCCBBBBCBCCBBCCCBBCBCCCBCCBCCCBCCBCBBBBBCBBBCBBBBCBBBCCBCBBBCCBCCCBCBBCCBBCCBBBCCBBBBBBCCBBBBBCCBBBBCCCCCBCCCBBBCCBBCCBCBCCBCBBCCBBBBCCBBCBCCCBBBCBCBCBBCBBCBCBCBCCCBCBBBBBCBCCBBCCBCCCCCCBCCBCBBBBBCBBBCCBCCBCBCBBCBCBCCBBBBBCBCBBCBCCCBBBCCBBBBCBBBBBBBBBCCCBCBBBCCBCCCCBCCBBBCBBCCCBBBCBBBBCBBBBCBCCBBCBBCBCCBCBBBBBCBCCBBCBCCBCBBCCBCCCCBBBBCCCCCCCBBBBCCBCBCBBBCCCCBBBCBCBCCCBCCBCCCBCBBBBBBBCCCBBCCCBCBCCCCBCBBCCBCBBCCCCBCBBBBBCCCCBBCBBBCCBCBCBBCBCCCCCBBCBCBBCBCBBCCBBBCCBBBBBBCBBCCBBCCBCCCBBCCCBCBCBBCBBCCCCBBCCBBBCCBCBCBBBCBBBCCCBCCCCCCBBBCBCCBBCCBBCBCBBBCCBBCCBCCBBCCBBBCCBCCCCCCCCBCCCCBCBCBCBCBBCCBBBCBCBBBBCBBBBCBBBCCBCCBBBCCCCCBCCBCBBCBCCBCBCCBCBBCBCBBBCBCBCBCCBCBCCBBBCBCBCCCBBBBBCCCCCCCCCCBCBBBCCBBBBCCCCCCBCBBCBCBCCBCBCBCBCBBBBBCBBCCBBCBBBCBBBBCBCBBCCCCBBBBBCBCBBBCCCBBCBBCBBBCCBBBCBCCCBCBCCBCBCCCBBBBCCCCBBBCBCCCCCCCCBCBBBCCBCBCBBBCBCCBCBCCCBBCCCBBCBBBCBCBCCBCBBBBCBCCBBBCCBBBBBCBCCBCCCCBBBBBCCCCBCCBBCBCBCCBBCCCCCBCCCBBCCBBCCBCCCCBCBBCBCBBBCCBCBCCBCBCBCCBBCBCCCCCCCCBBCCCBBBBCCBCCCBCCCBBCCCCBBBCCCCBCBCBCCBBCCCBCCCBBBCCCBBCCBBCCCBCBCCBCCBCBCBBCCBCCBBCCCCBCBBBCBBBBBCBBCBBCCBBBBCCCBBCBCBBCBCBBCCCBCCBBBCCCCBCBBCCCCBCCCBCCCBCBBCBCCCBBBBBCBBCCCBBBBBCBCBCBCBCCBCCBCBBBBCCBCCBBBBCCCBBCCCCBCCBCCCBCBCBCCCBBCCCCBCBBCBBCCCCCBCCBBBCBBBCBBBCBCCBBCBBCBBCCCCBCCCCCCCCBBCCBCCCCBBBBBBBCBCCBBCCCCBCCCBBBCBCBBCCBBCBBBCBBCCCCBBCBCCBBBCBCCCBCBBBCBCCBCBCBCBCCCBBBCCCBCCBBBBBCCCBCCBCCBBCCBBBBBCBBBCCBBCBCCCCBBBBBBBBBCCBCBBCCCBCCBCBBBBBCCBCBBCCCBCBBCCCBCCBCCBCCCCBBBBBCCCBCCBCCCBBBBCBCCBBCCBBCBBBBCCBCCCBBCCCBBBCCBCCCCBCCCCCBCBCCBBBBBCCBBCBCBBCBCCBBCCCCCBBCBCCCBCCBCCCCBCCCCBCBCCCCBCBBCBCCCBBBCCBCBBBCCBBCCCCCCCCCCBCCCBBBBBCBBCCBBBCCBCCBBCCCCBBCCBBCCBBBCCBBCCCBCCBBBBCCBCCCBBCBCCBBBCBBCCCCBBBBCBCBBBBBCCBBBCBCCCCCCCCBCBBBBBCBBBCBBBCBCBCBCCCCBCBCCCCCCCCCBBCBCCCBCBCBBCBBCBBBBCBCBBCCBBCBCCCBCCBBBBCBBBBCCBBCBBCCBBCCBCBBBCCCCBBBBBBCCCBCCBBCCBCCBBBCBBBBBBCCCCCBCCCCCCBCCBCCCBBCCBBCCCBBBBCBCBCCBCBBCBCCCCBCCBBBBCBCBBCBCBCCCCBCBCCBBCCCBCBCBCCBBBBBBCBBBBCBCCBBCCCBBBBCCCCCCCCBBCCCCBCCCCSCBCCCBBBCCBCCCCCCCCBCCBCBCCBCBCBCBCCCCCCBCCCBCCBBCCCBCBCBCCBCCBCBCBBBCBCCCCBCCBCCBCCBCCCCCBCBCBBBBBCCCCCBCBCBCBCCCBCCCBCBCCBCBCBBBCBBCBBCBCBCBCCBCBBBCBBBCCBBCCBBBCCBBBBCBBCCBCBBBCBCCCCCBBCCCCBBCBBBBBCCBCBBBCCCCCBCCCCCCBBCCCCCCCCCBBCCCBCBCBCCCBCBBCCBBBCBCBCCCCBBCBCBBCCCBBCBCCCBCBCBBBCCCBCBBCCBBCCBCBCCCBBBBSBCBCBBCCCBBCCCCCBBBBCCCBCCCBCCBCBCCCBCBCCBCBCCCBCBBBCBCCBCCBCCCBBCBCBBCBBBBBBBCBCBBCBCBCCBBBCCBBCCBCBCCCBBBBBBBCBCBCBCCCBBBBCBCBCBBBCBCCCCBBBBBBBBCCBBCCBCCCBBBBBCBCCCBBCBBBBBBCCBBBBBCCCBCCBCBCBCBCBCBCCBBCBCCBCCBBCCCCBCBBBCCBBBBBCCBBBBBCBCBCCCCBCCBBCBCBBCCBCBBCCBCCCCCCCBCBCCCCCBCCCBCCCCCCCCBCCCCCBCBCBCBSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
