aaaggaatagaatggaatgcaatggaatggaacagagtggaatcaagtggaatggaatcgaatggaatggaatcgaatggaatggactggagaggaatgcaattgaatggaatggaattgaacaaaatggaattgaaatgattggaatcgaacagaacggaatggaagggaatggaatggaatggaaaggaaaggaatggaatggaaaggaaaggaatggaatcaaaacaaatggagtcgaatggaatggaatcgaatggaatggaatcgaatagaatggaattgaatggaaatgaaaggaatagaacggaatggagtgtgatggaaatatttcaaatggattggaatggaatggacacaaatggaagaagtggaatggaatgaactcgaaggaagtgggtgggagtggaatgaactagaatggattggaaacgaatggaatggaatggaacggaaaggaatagagtggaagggaatcggatagaatggaacagaatggaatggagacaatggaatagaatcgaacggaatggcatcgaatggaatggaatggaatggactcgaatggaatggactcgaatggaatagaatcaagtggaatgtcatcgaatgcaatggaatgtaatggaatggactcgaaacgagaggcctggaatggaatggactagaatggcatgcaaaagaatcgaatggaatggaatggaatttaatggaatggaaagtaatagaatggaacagaatcggatggaacggaatggaatggaatggagtcaaatggaatagaatcgaatggaatggcatcacgtggaatggaatggaatggaatggaatggactctaatttaatggaaacgaatggaaaggaatggactggaatggaatggactagaatggaatagaatagaaaggaatggcattgaatggaatggaatggattggaatggaatggacacaagtgtaattgactcgaatggaatggactcaaatagaatggaatcaaaaggaatggtctagaatggaatttatttgaacagaatggaatcgaatggaatgcaatagtatggaagggaatcaaatggaatggaattgaatggaatggactggaatggaatggactggaatagaatggactcgaaagtaaagtattgcaatgtaattgatatgaacggaatggaatcgaatggaatgaaatccaatggaatggaaaggaatgcaatggaacgcaatagaatggaatgcaatggaatggaacgaagtggaatttaatggaatggaatcaaatgaaatgaaatcgaatagaatggactcaaaaagaatggaatggaatggaatggactcgagtgtaatggactgaaacaaaatggaatcgaacggattggaattgaaaggaacggaattgaatggaatggaagagaatggacttgaatggaatggagtcgaatggaatggaaccgaatggaatggaattgaaaggaatcgaaaggaatagaatggaatggtgtgtcgtggaaagatattgaatggaatggaaggaatggaaaggactcgaatggaatggactggaatggagtggatttgaatggaatggcctggagtggcaaggactcgaatggaatggaaacgattggaatggaattgaaaggaatagaatggaatggtatcggatggaactgaatggaatggaatggagtcgaatggaatagaaatgaaggaaagggcatggaatgcaatggaatggaatggcctcgaatgaaatggaatcgaatagaatagaattaaatggaatgacatagaatggaatagaatggaatggaaccgaatggaatggaatggactcgaatggtatggaatcgaatggaaaggaaatgaatgaaatggaatcgaaaggaatagaaagcaatggagtgtcatggagagatatcgaatggaatggaatggagtcgaatggaatggactggaaggtaatggaatcgaatggaatggacaggagtggaatggactcgaatggaatggaaacaaatggaaacaaattgaatggaagggaatgaatggaaaggaatagaatgcaatggaatcggatggaaaagaatggaatggaaaggagtcgaatagaataggataaaatggaatgacatcgaacggaatggaatggaacagaatggaattaaatggactcgaatggaattggctcgaatggaatagaatcaaatggaatgggatcgaatggaatagaatagaccaaaatgtaatggacacaaatggaatagactcaaataatatggactcgaaagtaatggtctcgaatggaatttatttgaatagagttgaatcgaatggaaggcaatagtatggaaaggaatagaattgaatggaatggagtcgaatggaatggactggaatagaacggactcaaatataatggactgcaatgtaattgattcgaatgcaatggaatcgaatggaatgtaagcaaatggaatggaatggaatgcaaaacaatggaagagaatggaaagcaattcaatggaacagagtggaatcgcgtggaatggaatagaatggaagggaattgaatggaaggcaatcgattggaatggactggaaaggaatagactggaatgtaatggaatcgaattgaaaggaatcgaatagaatgcaatagattggaatggactggaatggaatggactcgaatggaatctactggaactaaatggaatcgaacggattggaatcgagcagaacggaatgttatgtaatggaatggaatggactcgaatggaatggagtcgaatggaatggaacagaatggaatgggatcgaatggaaaggaattgaatggaatcgaagggaatagaatggagtggagtgtaatggaaatatttcaaatgaaatggaatggaaaggactcaaatggaatggactggaatgtaatggactcgaatgtaatggactggagagcaatggaaactaaaggaatggaaacgaatggaatggaatgaaatgaaatggaataaaatggaatgaaatcggatggaacagaatggaaaggaatggagttgaatggaatagaatcgaaaggaatggcatcaaaaggaatggaatggaatgaagtggaatggactcgaatggaatggagtagaacggtagagaatcaaatgtaatggcatcgaaaggaatagaatggaatggaatcgacccaaatataatagactcgaaaggaatcaactcaaatagaatggactcgaaaggaatggtctcgaatggattttattcaaatagaatggaatcgaatggaatgcaatagtatggaatggaatcgagtggaatggaatagaatggaatggaccggaatggaaaggcctggaatagaacggactcgaatgtaatggattgcaatgtaattgattggaatggaatggaattgaatgggatgtaatcaaatggaatggaatggaatgcaatggaatacaatagaatggaatgaaatggaaaggaacgcagtggaatagagtggaatggaatcgaaaggaatggaatccaatggaatggtatctaatggaatggactggaatggtatggactcgaatggaatggactggaacaaaatggaaacaaacggattggaattgaaaagaaccgaatgtaatcgaatggaatggaatagagtcaaatggaatggaatcgaaattattggaattgaatgcaatggaattgaatggaatcgaaagtaatataatacaatggagtgtaatggaaaggtattgaatgtaatggaatggagtagaattgatataaatgaaatggactggaatgcagtggaatgaacacgaatggaatgcaaacgaatggaatggaatggaatggaatggaaaggaatagactggaatggaataggatggaatggaatgaaatggaatggagtcgaatggaacagaatcgaatggaattgcatcgaatggaatggactggaatggaatggaaatgactcgaatgaaatggaaacaagtggaatggaatggaatggaatagaatggaatggaatcggatggaaaggaatggaaaggaatggaatggagtcgaatggaatagaatcgaatggaatggaatggaatggactcgaatggaatggacccgaatgaaacaaaatcgaatggaatggcatggaatggaatggaatgtaacggaatggaatggaattgtatggaatggaatggaatggaatggaatggaatagaatgggatgcaatggacaggaacggagtggagttgagagaaagaaatcaaatggaaatgaatcgaatgaaatggatttgaatggaaaggagtgtaatgggatggactcgaatggaatggactggaacaaaacggaatcatccggattggaatagacaggcactgaatggaatggaatggactcgaatggaatggaatcgaatggaatggatttgaattgaatgcaaaggaatagaatggaatggagtctaatggaaagatatcgaatggaaaggattggaatggaatggactcgaatggaatggacaggaatggagtggacacgaatgaaatgtagtggaatgcaatgtaccccaatggaatggaaaagaatggaatggaatggaatggaatggaaaggaatagaatggaatggaattggatgaaatggaagggaaaggaatggagtcgaatggaatagaatctaatggaaagttattgaatggaatggaatggaatcgaatggaatggaatcgaatgtaatagaatcgaatggaatggaagtgaacggaatcgaatggaatggaatgttatggagtgatatggaaagatatagaatggaatggaatggagtcgaaaggaatggactgtaatggaatggacgcgaatgaaatgtcatggaatggaatgtaccccaatggaatggaaacgaatggaatggaaaggaatagaatggaatggaattggatggaatgcaagggaatggaatggagttgaatggaatagaatcgactggaaagtcattgaatggaatgcaatggaatcgaatggaatggaatccaatgtaatagaatcaaatggaatggaattgaatggaatcgaatggaatggaatggtacagagttttatggaaatatatagaatggaatggaatggactcgaatgcaatggactggaatggaatggactcgaatggaatgtactagaatggaaaggactcgaatggaatggaaacgaatggaaaggaacggaagggaaaggaatagaacagaatgtaaatggatggaattgaatggaaaggaatggagtctaatggaatggaccctaatggaatgtattcgaatggaaaggacaggagtggaatggaatcgaaggcagtgcaaacgaatagaatgaaatggaatggaatggaatggaaaggaatggaattgaaaggaatacattggaatggaatctgatggaatggaattaaatgaaatggagtctaatggaaaagaatcaagtttaatgacatcaaattaaatggaatggaatcgaatggaatggaattgaatggaatggaattgaatggaatggactctaatggaatggactcgaatggaatggactgcaacaaagtggaatctaaaagattagaatggaacggaacgaaatggaatggaatggaatggaatggactcgattggaacgtagtcgaatggaatgggattgattggaatggaatcgaacacaacgaaattgaacggctttgaaaggaatagaatggaatggagtgtaatgtaaagataccgaatggaatggaatggactcgaatgttatggacttgaatggaattgactcgaatggaaaggactgcagtggaatggactggaatggaagggaaacgactggaatggaatgcaatggaatggattggaatggaatagaatagaatggaattggatggaaaggaatggaatggaatggagtcaacagtaatgtaatcaaatgaaatggaatgaaatggactcgaattgaatggactcaaatggaattgaatggaatggaatgtcattgaatggtatggattggaatggaattgaatggaatggaatcgaatggaatggactggaatggaatggaatggaataggaaatatacgaatgtaatgaattgaaacgtaattgattcaaatggaatggactcaaaaggaatggtctttaatggaatttattcgaaaagaatggaatcgaatggaatgcagtagtacggaatggaatggaatggaatggaataggaaatatatgaatgtaatgaattgaaacgtaattgattcgaatggaatggactcaaatggaaagtaattaaatggaacagaatggaatgcaatggaatggaatacaatggaatgcaatggaatggaacagagtggaattgagtggaatggaatggaatggaatggaatagaatggaattaaatggaatggacaggaacaaaatggaaacaaaaggactggaatcgaatggaatggaattgactccaatgaaatggaattgaatggaatggaactgaatggaatggaattgaatggagtggaattgaatggaattgaaaagaatagaatggagtggaatgtattggaaatatatcgaatggaatggaatggaacggactcgaatggaatggactggaatataccgggcacgaatttaatggattgtagtggaatggacacgaatggaatggaaatgaaaggaatacaagggaatggaattgaaaggaatggaattcaataggatgtaatggaatggaatggaatggagaggaagggaatagaatcaaatggaatggcatcaaatggaatggaatttaatggaatggactcgaatggaaatgactggaacaaaatggaatggaaagggctggaattgaatggaatggaatggaatggaaaggaagggaatacaatggaatggagtagaatggaatggaaccaaatggaaaggaatcaaatggaatggaattgaattgaatcaaatagaatagaatggaatggagagtaatggaaagataccgaatggaatggaatggaatggaatggaatggaatggaatggaatggaatggactcgaatggaatggacttgaatggaatgtactcgaatgtaatggactggactggaatggactcaaagggaatggaaaagaatggaatggaagggaatggaattgaaaggaatagaatggaacagaattggatgaaatggaatggaatggaattgagacgaatggaatagaattgaatggaatggcatcaaaagaatggaattcaatgaaatggagtggactcgaatggaatagaacagaatggaatggtatcgaatggaatggaacagaatggaatggaatggaatggaatggaatggaatggaagggaatggaatggattggacccaaatataatggactagaatggagtggactcaaatagaatggactcggaaggaatggtctcaaatggaatttattcgaatagaatggaatcgaaaggaatggattcaaatggaatggaccggaatggaatggactggaatagaacagacttgactgtaagggattgcaatgtaactgatttgaatggaactgattcaaatgtaatataatcaaatggaatggaatggtatgaaatggaagggtgaagaatggaatgcaataaaatggaagggagtggaatcgagtggaatggaatggaattgagtggaacagaatcaaatggaatggactgaaatggaacaaactggaatagaatggactagaataaaatggaatcgaacggattggattcaaatggatcagaagggaatggaatggaatggaatcgaatggcatggagtcgaatggaatggaactgaaaggaatggaaacaaatggaatggagttgaatggaattgaaagaaaaggatgctatggagtgtaatggagagatatcgaatggaatggaatggaagggactcgaagggaacggagttgaaaggaatggaatcgaatggaatcgaattgaatagaattgaaaggcatagaatagaatggaatggaatggaaagatatcgaatggaagggaatggaaaggaatggattcaaatggaatggatttgaatggaatggacttgaacggaaaggactggaatggaaaggactgcaatgatatgcactggagtggaatagacgggaatggaagggaaacgaatggaatggaatggaaaggaatagaatggattgaaattggatttaacggaatggaatggaatggatttcaatggaagagagtcgaatggaatggcatcaaatggaatgtaaatgaatgtaatggaagggggtgcgctcaaatggaatggatgggaatggaatagaatagaatggaatggcattgaaaggaacggaatggaatggaatggaatggaatggaatggaaaggaatggagtggaatggaatggagtggactgaaatgttatgtactcaaatggaatggactcaaatagaatgcactcgaaaaggattggtcttgaatgaaatttattcgaatagaatggattcgaatgcaatgcaatactatggaatcaaatagaatggaatagaattgaaaggaatgtaatcaaacggaatggaagggaatgcaatggaatggaatagaatggaatgcaatggaatggaaaggagcagaatcgagtgtaatggaatcgaatagaatggaatcaaatggaatgtaatcaattggaatgtacgcgaatgtaatggattcgaatggattatactggaaaataatggagtcaaacagattggaatctaacggaacagaatggaatggaatggaatggaatggaatagaatggaattgaatggattcgaaagaatagaatggaatgctgtgtaatgaaaagaaatagaatggaatggacttgaatggaatgtactggaattgaatggactcgaatggaatggactggagtggaatagactcaaatggaatggaaaaaatggagtggaatggagtagaatgtggtggaatggaatgaaaaggaatagaatggaatggagtcggatgcaatggaattgaatggaaacgaaattaatagaatggaatggagtgtaatggaaacacatcaaatggaatggaatggaatggacacgaaaggaatggactggaatggagtggcctcgaatggaatggaaacgaatggaatggagtggaatggaatggaatggaatgggatggagtgtaatggaaacatatcgattggaatggaatggaatggaatggaatggactcgagagtaatggactggaatggaatggcctcgaatggaatggaaatgaatggaatcaaatggaatggaatggaatggaatggaatggaatggaatggaatcaaatggagtggaattgaaaagaatagaatggaatggaatcggctggaacggaatggaatggatggagtcgaatggattacaatcgaatgcaatggcaacaagtggaattgaatggactcgaagggaatagaattgaatggagtggcatagaatggaatggaattgaatggacccaagtgtaatggactctaaaggaaaggactcaaatagaatggactgaaaataaatggcctcgaatggaatttatacaaaaagaatggaatcgaatggaatgcaataatatagaatggaaacgacgggaatggaatcaaatggaatgcaccggaatggaatggactggtatagatcggactcaaatgtaatggattgaaatgtaattgattcaaatgaaatggaatcgaatggaatgtaatcaaatggaatggaatggaatgcaatgcgatcgaatagaatggaatgcaatggaatggaacgaagtgcaatcgagtggaatggaatcaaatgaaatggaatcgaattaaatggactggaatggaatgttgtggaatggaatgaactggagtggaatggactcaaatggaatggaaacgaatggaatggcatggaatggagtggaacagaatggaatggaaaggaatagcatggaatggaatggaatggaatggaatcaaatgtaacggaaaggaaggcaatggaatggaatagaatggaatgcaatggaatggaacggagtgaaatcgaatgtaatggaatcgaatggaatggaatcgaatggaatggaatcgattggaatggactggaatgtaatggactcgaatggtttgcacaaaaaaaatggaatcgaacagattggaatcgaacggaacggaatggaatggaatggaatgaaatggaatggactccaatgtaatggagtcgaatggaatggaatggaatggaatggaatggaatggaatataatggaattgaatgaaattgaaaggaatataatggaatggaagggaatggaaagaaatggaatggaatggaatggaatggacatgaatggaatgtactgtaatagaatgtactcgaatggaatggactggagtcgaatggactcgaatggaatgtaaaggaatggaatgtaaaggaatggaatggaatggaatggaatggaaaggaatagaatggaatgcaatcggattgaatggaatgcaatggaatggagttgaatggaatagaatcgaatggaatggcatcaaatggaatggaatggaatgaactggaatgtaatggaatgtaaacaaatgtaatggagttgaatggaatggactcaaatataatgaactcaaaaggaatgtctcgaaaggaattcattcgaatcgaatggaatcgaatggaatgcaatagaagggaatcgaatggaatggagtgcagttgaatggaatggaacggaatggaatggactggaatagaaaggactcgaatgtaatggattgcaatgtaattgattcgaatggaatgcaatcaaatgtaatgtaatcaaatggattggaaaggaatgcaatggaatggaatagaacggaattcaatggaatgtgacggagtagaatcgagtggaatggaatctaatgcaatggaatcaaatggaatggattcgaatggaatggactggaatggaatggactcaaatgtaatggacttgaataaaatggaatcaaatggattggaatcaaacagaacggaatgtaatgtaatgtaatggaatggaatggaatggaatggaatggaatggaatggaatggagtggaaggactctaatggaatggaaacgaatgtaatggaatggaattgaatgcattggaatggaatgaaatagcatagaatggaatggagttggatggaatggaatggaatggaatggagtcaaaaggaatagaatcgaatggaatggcattgaatggaacagaatggaatggaatggaatggaaagaactcgaatggaatggactcaaatggaaaaaaatggaatggaatggcatggaatggaatggaatagaatggaatggagcggaatggacccaaaagtaatggacccgaaaggaatggactcaaatagaatggactcgagggtaatggtctcgaatggaatttattcaaaaagaatggaatcgaaaggattgcaatagtgtggaatggaatcgaatgtaatggaatcgaatgcaatagactggaattcaatgtactggaatagaatggactcgaatgtaatggattgcaatgtaattgattcaaatggaaaggaatcgaatggaatgtgatcaagtggaatagaagggaaagcaatggaatggaacagaatggaatgcaatggaatggaacagagtgaaatcgagtggaatggaatagaatggaaaggaatcaaatggaatggaatcgaatgtaatggactggaatggaatggactggtagaaaatggaatcgaatggattggaatcgagcaggaccaaatggaatggaatggaatgtcctcgaatggaatggactgcaatggaatgtactggaaaaaaatggaatcgaatggattggaatcgagtggaatggaagggaatgaaatggaatggactcgaatggaatagagttgaacggaatggaatggaatggaatggaatggaatggaatagaatggaatcaaaaggaataaaatggaatggagtgtaaaggaaagatatcgaatggaatggaatgcaatggacccgaatggaatggactcagatgaaatggactggagaggaatggtctcaaatgtaatggaaacgaatgtactggaatggaatggaatggaatggaagggaaaggaatagaagggaatggaatcagatggaaggggatggaatggaatggattcaaatggaatggacttgaatggaatagaatagaatggaatgtcatcgaacggaatggaaatgaagggagtgtaatggaaagatatcaaatggaatttaatggaatggaatggactcgaatggaatgtacttcattgaaatttactcgaatagaatggactggagtggaatggacacgaatggagtggaatggagtggaatggaatggaatggaaaggaatagaatggaatggaatcacatgggtcagaatggaatggaaaggagtcgaaaggaatagaattgaatagaatgggattgaatggaatggaatggaatggactcgaatggtatggactcgaatggaatagaatacaatggaatgacatcgaaaggaatggaattgaatggaatggattggaatggaatggaatggcatggaaccaaatgtaatggactcgaaaggaatgcaatcaaatagaatggtctcgaaaggaattgtctcaaatggaatgtattcgaatagaatggaatcgaatggaatgcagtagtatggaatagagccgaatggaatggaatcgaatgaaatggaccggaatggaatggactggaatagaatggacaagaatgtaatggatggcaatggaattgattggaatggaatggaatcaaaaggaatgtaaacaaatgaaatggaatggaatgcaatggaaagcaataaagtggaatgcaatgtaatggaacgtagtggaatcgagtggaatggaatcgaatggaatggaatcgattggaaaggagtggaatggaatggactcgaatggataggactggaacaaaatgtaatcgaatgcattggaatggaacggaacggaatggaatggaatggaatgaactcgagtgaaatggagtcgaatggaatggaactgaatggaatggaattgaatgcaattgaaaggaacagcatggaatggagtgtaatggaaaggtatcgaatggaatggaatggaatttagtggaatcgaacggaacggactggaatggaatggaatcgaatggaacggactggagtggaatgtacccgaatggaatggaaacaaatggaatggaatggaaaggaatagaatggaatggaatcggatggaacagaatggaatgaaatggactcgaagggaatagaatctaatggaatgacattgaatggaatttagaggaatggaatggaatggaatggaatggaaaggacacgaatggagtggactcgagtagaatagaatagaatggaatgtcatcgaatggaatggaatcgaatttaatggaatggaatagaccgaaatgtaatggactgcaatggaatggactcaaatagaatggactcgaaagaatggtctcaaatggaatttattcgaatagaatggaatcgaatgcaatgcaatagtaaggaatggaatcgaatggaatgcaatcgaaccgaatggaacagaatggaatggactggaatggaatggactcgaacgtaatggatttcaaagtaattgattcgaatggaatataatcaaatggaatggaaaggaatgcaatggaatggaatagaatggaatggaatggaaagtaatggaatcgagcagaatggaatcgaatgcaatttaattgaatgcaatggaatcgaatggaacggactggaatggaatggactcgaatggaatggactggaataaattggaatggaacggcttcgaatcaaattgaacgcaatggaatggaatggaatggaatggacacgaatggacacgaatggaatggagtcgaatggagtggaatagaacggaatcaaatcgaatagaatggaattcaatggaattgaagggaatagaatggaatgcagtgtaatgaaagatatcttatggaatggaatggaatggactcgcatggaattgtctggaatggaatggtatcgaatggaatgtactagagtggaatgcactagaatgtaatggaaacaaacggaatggtatggaatggaatggaatagtaaggaatagaatggaatggaataggatgcaatggaatagaatggaatggagtcaaatggaatagaaacgaaaggaatggcatcaaatggaaaggaatggaatggaatggaatggaaaggaatggactcgaatggaatggactcgaatggaatcgaatcaaatggaatgtcatcaaaaggaatggaatgtaatggacccaaatgtaacggactcgaatggaatggactcaaatagaatgaactcgaaagaaatggtttcgaaaggaatataatcgaatagaaagggatcgaatggaatgcaattttatggaatggtatctgatggaatggaatcgaaaggaatggaatggaatgcaatggactggaatagtacggactcgaatgtaatggattgcaataaaactaattcgaatggaatggaatcagatagaatgtaattgaaaggaatggaatataatgcaatggaatggaatagaatggaatgcaatggaatggaatagaatggaatgcaatggaatggaagggagtggaatcgagtggaatggaatcgaatggcaaggaatcgaatggaatggactcgaatggaatggactcgaatggaatagacaggaacaaaatggaatagaaaagattggaatTCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN