← Back to Scenario Details

Test Case Files

File: tc_97.in Scenario: main Problem: 0180-dna-dinossaurico

Input File

/test-cases/main/tc_97.in
330784 bytes
306cd77ef2a077722220214a31d3e222
✅ Found 1 match(es) in DB
  • ID: 3354 (Scenario ID: None) Current Scenario
CDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDTCDT

Output File

/test-cases/main/tc_97.sol
7 bytes
5126bf99152a17d61da064919e70d814
✅ Found 1 match(es) in DB
  • ID: 3354 (Scenario ID: None)
110261

Analysis

Input exists in the database.

Output also exists in the database.

Both files exist in DB. This should be synced unless they belong to different test configurations.