ctcagaaacttttttgtgatatgtagattcaactcacagcgctgaacctttcttttgatagagcagttttgaaaaactcttttatcgaatctgcaagtagacatttggagtgctttgagggctgtggtcgaaaaggaaatatcttcacatagaaactagactgaagcattctcagcaacttctttgtgacgtttgcattcatctcacagtgttgaacataccttttcatagagcagttttgaaacactatttttgtagtatctgcaagtggatatttggactgctttgaggccttcattggaaacgggaatatcttcacataaacactagacagaagcattctctgaaacttctttgtgatgtgtgtattcaactcacagagttgaaccatcttttttatggagcggttttgaaacagtgtttttgtagaatcagcaattggatatttggagcgctttgaggcctctggtgtaaagggaatgtcttcacataaaaactggacagaagcattctcagaaacatctttgtgatgtttgcattcaactcacagagttgatccttccttttaatagggcagttttgcaacactctttttgtagaatgcaccagcgggcttttggagcacgtcaagggctatggtgaaaaaggaaatatcttcacaaaaaaccagacagaagtattctgtaaaactcctttgtgatgtttgcattcaactcagaaagttgaacttctctttatatagtccagttttcaaacactatttttgtagaatctgcaagtggatactgggactgctttgaggccttcgttggaaacgggattatcttcacatagaaactagactgaaggattcttagaaacttctttttgatgtgtgcattcaactcaccgagtggaacctcacttttgatagagcagtgttgaaagacacttgttgtagaatctgcaggtggatatttggagtgctttgaagccttccttggaaacgggaatatcttcacataaaaactagacataagcattctcagaaactcctttgtgatctgtccattcagctcacagagttgaaccttccttttgatagagcagttttgaaacactctttctgtagagtctgcaagtggatatcaggagcgctttgaggcctatggtagaaaaagaaatatctgcatataaaaactagacagaagcattctgagaaacttctttgtgatgtttgcattcaactaccagagttgaaccttccttttgatagagcagttttgaaacactctttgtgtagaatctgcatgtggatatctggagcgatttgaggcctatggtcaaaaaggaaatatcttcctatgaaaaacagacaaaagaattctcagaaactacttagagatatgtgcattcaactcacagagttgaaacttttttttgatagagcagttttgaaacactctgtagaatctgaaagtggatatttggagctatttgagggctatggtggaaaagaaaatatattcccattaaactagacagaagcatcctcagaaacttctttatgatgtttgcattaaactcacagagttgaacatacctttccatagagcagttttgaaacactctttttggggaatccgcaagtggatatttggaccgctttgagacctttgctggaaatgggaatatcttcacatataaactagacagaagcattcttggaaacttcttcgtgatgtgtgcattctgctcccaaagttgaaccttccttttcataaagcagttttgaaacactcttttgtacaatctaccattggatatgtggaaggctttgatgaccatggtagaaaaggaaagatcctcatataaaatctagacagaaggattcacagaaactgctgtgtgatgtgtgcatccaaatcacggagttgaacttttcttttgttagagcagttttgaaaccctgtttccgtggaatctgccagtggacatttggagcgcattgagggctatggtggagaaggaaatatcttcacataaaaactagaaagaagcattctcagaaacatctatgtgaagtgtgcattcaactcacagagttgaaccttccttttgatagaagagttttgaaacactcttttgtacaattgcaggtgaatatttggagcgctttgaagcctttgttggaaatgggaatatcctcacataaaaactagccagaagcattctcagaaacttctttgtgatgtgtgcattgaacccagagagatgaaccgttcctttgagagagcagttttgaaacgtgtttttgtaagatctgcaagtggatattaggggcgctttgagtccttaggtggaaacgggaatatcttcgaataaaaactagacagaattattctcagaatcttctttgtgatgtgggcattcaactaacacagttgaacatttcttttgacagagcagttctgaaacactctttttgtagaatccgccagtggatatttggagcgctttgagggctattgtgcaaacggaaatatcttcacctaaaaactagaccgaagcaatcccagaaactactttgtgatgtttgcattcaactcacagagttgaacctacctcttcatagagcagtttggaaaacctctttttgtagaatctgcaagtggatatttggaccactttgaggccttcataggaaacagtactatcttcacataaaaactaggtagaagcattctcagaaacttctttgtgatgtgtgaattcaactcacagagttgaaccttcctttaatagagcagttttgaaacactctttttgtagaatctgccagtagatatttggagcgctttgaggccttcgttggaaaccggaatatcttcacataaaaagtagatagaggcattctcagaaacttttttgtgatatgtagattcaactcacagcgctgaacctttcttttgatagagcagttttgaaaaactcttttatcgaatctgcaagtagacatttggagtgctttgagggctgtggtcgaaaaggaaatatcttcacatagaaactagactgaagcattctcagcaacttctttgtgacgtttgcattcatctcacagtgttgaacataccttttcatagagcagttttgaaacactatttttgtagtatctgcaagtggatatttggactgctttgaggccttcattggaaacgggaatatcttcacataaacactagacagaagcattctctgaaacttctttgtgatgtgtgtattcaactcacagagttgaaccatcttttttatggagcggttttgaaacagtgtttttgtagaatcagcaagtggatattgggagcgctttgaggcctctggtggaaagggaatgtcttcacataaaaactggacagaagcattctcagaaacatctttgtgatgtttgcattcaactcacagagttgatccttccttttaatagggcagttttgcaacactctttttgtagaatgcaccagtgggcttttggagcacgtcaagggctatggtgaaaaaggaaatatcttcacataaaaactagacagaagtattctgtaaaactcctttgtgatgtttgcattcaactcagaaagttgaacttctctttatatagtccagttttcaaacactatttttgtagaatctgcaagtggatactgggactgctttgaggccttcgttggaaacgggattatcttcacatagaaactagactgaaggattcttagaaacttctttgtgatgtgtgcattcaactcaccgagtggaacctcacttttgatagagcagtgttgaaagacacttgttgtagaatctgcaggtggatatttggagtgctttgaagccttccttggaaacgggaatatcttcacataaaaactagacataagcattctcagaaactcctttgtgatctgtccattcagctcacagagttgaaccttccttttgatagagcagttttgaaacactctttctgtagagtctgcaagtggatatcaggagcgctttgaggcctatggtagaaaaagaaatatctgcatataaaaactagacagaagcattctgagaaacttctttgtgatgtttgcattcaactaccagagttgaaccttccttttgatagagcagttttgaaacactctttgtgtagaatctgcatgtggatatctggagcgatttgaggcctatggtcaaaaaggaaatatcttcctatgaaaaacagacaaaagcattctcagaaactactttgagatatgtgcattcaactcacagagttgaaacttttttttgatagagcagttttgaaacactctgtagaatctgaaagtggatatttggagctatttgagggctatggtggaaaagaaaatatattcccattaaactagacagaagcatcctcagaaacttctttatgatgtttgcattaaactcacagagttgaacatacctttccatagagcagttttgaaacactctttttggggaatccgcaagtggatatttggactgctttgagacctttgctggaaatgggaatatcttcacatataaactagacagaagcattctcggaaacttcttcgtgatgtgtgcattctgctcccaaagttgaaccttccttttcataaagcagttttgaaacactcttttgtacaatctaccattggatatgtggaaggctttgatgcccatggtagaaaaggaaacatcctcatataaaatctagacagaaggattcacagaaactgctgtgtgatgtgtgcatccaaatcacggagttgaacttttcttttgttagagcagttttgaaaccctgtttccgtggaatctgccagtggacatttggagcgcattgagggctatggtggagaaggaaatatcttcacataaaaactagaaagaagcattctcagaaacatctatgtgaagtgtgcattcaactcacagagttgaaccttccttttgatagaagagttttgaaacactcttttgtacaattgcaggtgaatatttggagcgctttgaagcctttgttggaaatgggaatatcctcacataaaaactagccagaagcattctcagaaacttctttgtgatgtgtgcattgaacccagagagatgaaccgttcctttgagagagcagttttgaaacgtgtttttgtaagatctgcaagtggatattaggggcgctttgagtccttaggtggaaacgggaatatcttcgaataaaaactagacagaattattctcagaatcttctttgtgatgtgggcattcaactaacacagttgaacatttcttttgacagagcagttctgaaacactctttttgtagaatccgccagtggatatttggagcgctttgagggctattgtgcaaacggaaatatcttcacctaaaaactagaccgaagcaatcccagaaactactttgtgatgtttgcattcaactcacagagttgaacctacctcttcatagagcagtttggaaaacctctttttgtagaatctgcaagtggatatttggaccactttgaggccttcataggaaacagtactatcttcacataaaaactaggtagaagcattctcagaaacttctttgtgatgtgtgaattcaactcacagagttgaaccttcctttaatagagcagttttgaaacactctttttgtagaatctgccagtagatatttggagcgctttgaggccttcgttggaaaccggaatatcttcacataaaaagtagatagaggcattctcagaaacttttttgtgatatgtagattcaactcacagcgctgaacctttcttttgatagagcagttttgaaaaactcttttatcgaatctgcaagtagacatttggagtgctttgagggctgtggtcgaaaaggaaatatcttcacatagaaactagactgaagcattctcagcaacttctttgtgacgtttgcattcatctcacagtgttgaacataccttttcatagagcagttttgaaacactatttttgtagtatctgcaagtggatatttggactgctttgaggccttcattggaaacgggaatatcttcacataaacactagacagaagcattctctgaaacttctttgtgatgtgtgtattcaactcacagagttgaaccatcttttttatggagcggttttgaaacagtgtttttgtagaatcaacaagtggatattgggagcgctttgaggcctctggtggaaagggaatgtcttcacataaaaactggacagaagcattctcagaaacatctttgtgatgtttgcattcaactcacagagttgatccttccttttaatagggcagttttgcaacactctttttgtagaatgcaccagtgggcttttggggcacgtcaagggctatggtgaaaaaggaaatatcttcacataaaaactagacagaagtattctgtaaaactcctttgtgatgtttgcattcaactcagaaagttgaacttctctttatatagtccagttttcaaacactatttttgtagaatctgcaagtggatactgggactgctttgaggctatcgttggaaacaggattatcttcacataaaaactagactgaaggattcttagaaacttctttgtgatgtgtgcattcaactcaccgagtggaacctcacttttgatagagcagtgttgaaagacacttgttgtagaatctgcaggtggatatttggagtgctttgaagccttccttggaaacgggaatatcttcacataaaaactagacataagcattctcagaaactcctttgtgatctgtccattcagctcacagagttgaaccttccttttgatagagcagttttgaaacactctttctgtagagtctgcaagtggatatcaggagcgctttgaggcctatggtagaaaaagaaatatctgcatataaaaactagacagaagcattctgagaaacttctttgtgatgtttgcattcaactaccagagttgaaccttccttttgatagagcagttttgaaacactctttgtgtagaatctgcatgtggatatcaggagcgctttgaggcctatggcagaaaaagaaatatctggctctaaaaactagacagaagcattctgagaaacttctttgtgatgtttgcattcaactaccagagttgaaccttccttttgatagagcagttttgaaacactctttgtgtagaatctgcatgtggatatctggagcgatttgaggcctatggtcaaaaaggaaatatcttcctatgaaaaacagacaaaagcattctcagaaactacttagagatatgtgcattcaactcacagagttgaaacttttttttgatagagcagttttgaaacaatctgtagaatctgaaagtggatatttggagctatttgagggctatggtggaaaagaaaatatattcccattaaactagacagaagcatcctcagaaacttctttgtgatgtttgcattaaactcacagagttgaacatacctttccatagagcagttttgaaacactctttttggggaatccgcaagtggatatttggaccgctttgagacctttgctggaaatgggaatatcttcacatataaactagacagaagcattctcggaaacttcttcgtgatgtgtgcattctgctcccaaagttgaaccttccttttcataaagcagttttgaaacactcttttgtacaatctaccattggatatgtggaaggatttgatgcccatggtagaaaaggaaacatcctcatataaaatctagacagaaggattcacagaaactgctgtgtgatgtgtgcatccaaatcacggagttgaacttttcttttgttagagcagttttgaaaccctgtttccgtggaatctgccagtggacatttggagcgcattgagggctatggtggagaaggaaatatcttcacataaaaactagaaagaagcattctcagaaacatctatgtgaagtgtgcattcaactcacagagttgaaccttccttttgatagaagagttttgaaacactcttttgtacaattgcaggtgaatatttggagcgctttgaagcctttgttggaaatgggaatatcctcacataaaaactagccagaagcattctcagaaacttctttgtgatgtgtgcattgaacccagagagatgaaccgttcctttgagagagcagttttgaaacgtgtttttgtaagatctgcaagtggatattaggggcgctttgagtccttaggtggaaacgggaatatcttcgaataaaaactagacagaattattctcagaatcttctttgtgatgtgggcattcaactaacacagttgaacatttcttttgacagagcagttctgaaacactctttttgtagaatccgccagtggatatttggagcgctttgagggctattgtgcaaatggaaatatcttcacctaaaaactagaccgaagcaatcccagaaactactttgtgatgtttgcattcaactcacagagttgaacctacctcttcatagagcagtttggaaaacctctttttgtagaatctgcaagtggatatttggaccactttgaggccttcataggaaacagtactatcttcacataaaaactaggtagaagcattctcagaaacttctttgtgatgtgtgaattcaactcacagtgttgaaccttcctttaatagagcagttttgaaacactctttttgtagaatctgccagtagatatttggagcgctttgaggccttcgttggaaaccggaatatcttcacataaaaagtagatagaggcattctcagaaacttttttgtgatatgtagattcaactcacagcgctgaacctttcttttgatagagcagttttgaaaaactcttttatcgaatctgcaagtagacatttggagtgctttgagggctgtggtcgaaaaggaaatatcttcacatagaaactagactgaagcattctcagcaacttctttgtgacgtttgcattcatctcacagtgttgaacataccttttcatagagcagttttgaaacactatttttgtagtatctgcaagtggatatttggactgctttgaggccttcattggaaacgggaatatcttcacataaacactagacagaagcattctctgaaacttctttgtgatgtgtgtattcaactcacagagttgaaccatcttttttatggagcggttttgaaacagtgttttttgtagaatcagcaattggatattgggagcgctttgaggcctctggtggaaagggaatgtcttcacataaaaactggacagaagcattctcagaaacatctttgtgatgtttgcattcaactcacagagttgatccttccttttaatagggcagttttgcaacactctttttgtagaatgcaccagtgggcttttggggcacgtcaagggctatggtgaaaaaggaaatatcttcacataaaaactagacagaagtattctgtaaaactcctttgtgatgtttgcattcaactcagaaagttgaacttctctttatatagtccagttttcaaacactatttttgtagaatctgcaagtggatactgggactgctttgaggctatcgttggaaacaggattatcttcacataaaaactagactgaaggattcttagaaacttctttgtgatgtgtgcattcaactcaccgagtggaacctcacttttgatagagcagtgttgaaagacacttgttgtagaatctgcaggtggatatttggagtgctttgaagccttccttggaaacgggaatatcttcacataaaaactagacataagcattctcagaaactcctttgtgatctgtccattcagctcacagagttgaaccttccttttgatagagcagttttgaaacactctttctgtagagtctgcaagtggatatcaggagcgctttgaggcctatggtagaaaaagaaatatctgcatataaaaactagacagaagcattctgagaaacttctttgtgatgtttgcattcaactaccagagttgaaccttccttttgatagagcagttttgaaacactctttgtgtagaatctgcatgtggatatcaggagcgctttgaggcctatggcagaaaaagaaatatctggctctaaaaactagacagaagcattctgagaaacttctttgtgatgtttgcattcaactaccagagttgaaccttccttttgatagagcagttttgaaacactctttgtgtagaatctgcatgtggatatctggagcgatttgaggcctatggtcaaaaaggaaatatcttcctatgaaaaacagacaaaagcattctcagaaactacttagagatatgtgcattcaactcacagagttgaaacttttttttgatagagcagttttgaaacaatctgtagaatctgaaagtggatatttggagctatttgagggctatggtggaaaagaaaatatattcccattaaactagacagaagcatcctcagaaacttctttgtgatgtttgcattaaactcacagagttgaacatacctttccatagagcagttttgaaacactctttttggggaatccgcaagtggatatttggaccgctttgagacctttgctggaaatgggaatatcttcacatataaactagacagaagcattcttggaaacttcttcgtgatgtgtgcattctgctcccaaagttgaaccttccttttcataaagcagttttgaaacactcttttgtacaatctaccattggatatgtggaaggctttgatgcccatggtagaaaaggaaagatcctcatataaaatctagacagaaggattcacagaaactgctgtgtgatgtgtgcatccaaatcacggagttgaacttttcttttgttagagcagttttgaaaccctgtttccgtggaatctgccagtggacatttggagcgcattgagggctatggtggagaaggaaatatcttcacataaaaactagaaagaagcattctcagaaacatctatgtgaagtgtgcattcaactcacagagttgaaccttccttttgatagaagagttttgaaacactcttttgtacaattgcaggtgaatatttggagcgctttgaagcctttgttggaaatgggaatatcctcacataaaaactagccagaagcattctcagaaacttctttgtgatgtgtgcattgaacccagagagatgaaccgttcctttgagagagcagttttgaaacgtgtttttgtaagatctgcaagtggatattaggggcgctttgagtccttaggtggaaacgggaatatcttcgaataaaaactagacagaattattctcagaatcttctttgtgatgtgggcattcaactaacacagttgaacatttcttttgacagagcagttctgaaacactctttttgtagaatccgccagtggatatttggagcgctttgagggctattgtgcaaatggaaatatcttcacctaaaaactagaccgaagcaatcccagaaactactttgtgatgtttgcattcaactcacagagttgaacctacctcttcatagagcagtttggaaaacctctttttgtagaatctgcaagtggatatttggaccactttgaggccttcataggaaacagtactatcttcacataaaaactaggtagaagcattctcagaaacttctttgtgatgtgtgaattcNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN