tcctcaaagcgctccaaatgtccacttgcacattctacaaaaagagagtttcaaaattgctctacaaaaaggaatgtttctctctgttaggtgaatttacaaatcacaaagaagttcctcagattgcttctgtctagattttatgtgaagatatttccttttctacaataggccacaatgcgctccaaatctccacttgcagattctacaaaaagagtgtttccaaactgctcaatcaaaagaaaggttcaactctgtgagatgaacgcacacaccacaaagaagtttcgcagaattcttctgtctagtatttttgtgaatatatttccttttctatcatagacctaaaatcgctgcaaatgtccacttgcagattctacaaaaagagagtttcaaaactgctcaatcaaaagaaaggtttaactctaagagatgaatgctcacataacaaagaagtttctcagattgtttctgtctagattttatgtgaagatatttccttttctagcattggcctcaaagcgctccaaatgtccacttgcggattctacaaaaagagagttgtaaaactgccctagcaaaagaaaggtttaactaggcgagatgaatgtacacatctcaaaaatgtttctcaggttgtttctgtctagattttatgtgaagatatttccttgtctaccataggccgcaaagcgctccaaatgtccacttgcagattctacaaaatgagtgtttcccaactgctcaatcaaaagaaaggttcaactctgtgaggtgaaggcacacagacacaaagaagtttctaagaattcttccgtctagtttttatgtgaagggatttccttttccacaataggcctcaaagagctccaaatatccacttgcagattctacaaaaagagagtttcaatactgctcaatcaaaagaaaagtttaactctgtgagatgaatgcacacatcacaaagaactttatcagatttcttctgtctagattttatgtgaaggtattaccttttctaccatgggccacaaagctttccaaatttccacttgcagattctacaaaaagagtgtttccaaactgctcaatcaaaagaaatgttcaattctgtgagaagaacgcaaacatcacaaagaaatttctcagaagtcttctgtctagtttttatgtgaagatatttccttttccacaataggcctgaaagtgatctaaaagtccacttgcagattctacaaagagagagtttcaaaactgcttaatcaatagaaaggtttgactctgtgagataaatgcacacatcacaaagaagtttctcagcgtcttctgtctagtttttatgtgaagatattacattttccaccataggcctcaaagcactccaaatgtccaattgcagattctacaaaaagagtggttgcggactgctcaatcaaaagaaaggttcaactcggtgagaatgcaaacatcacaaagaagcttctcagaattcttctgtctattttttatgtgaagatatgtccttttccaacataggcatcaaagtgctccaaatgaccacttgcagattctacaaaaagagagcttcaaaactgccctatcaaaaagtccacttgcagacgctacaaaaagagagtttcaaagctgcttaatcaatagaaaggtttgactctgtgagataaatgcacacatcacaaagaagtttctcagagtcttctgtctagtttttatgtgaaaatattaccttttccaccataggcctcaaagcactccaaatgtccaattgcagattctacaaaaagagtggttgcagactgcttaatcaaaagaaaggttcaactctgtgagaagaacacaaacatcacaaagaagcttctcagaattcttctattttttatgtgacgatatttccttttccaccatcgtcctcaaagcgctccaaatgtccacttgcagattctacaaaaagacagtttcattactgctcaatcaaacgaaaggtttcacactttaagttgaaggtacagttcacaaagaagtttctcagaatactactgtctagtttttatgtaaagatatttccttttccaccataggcctcaaggcgatcgaaatgtcctcttgcatattctacaaaaggagtatttcaaaactggtccttcagaagaaaggttcaactctgggagatcaattcctatatcacaaagatgtttctcagagtgcttctatctagtttttaagtgaagatatttccatttccaccattgtcctcaaagtgctccaaatgggcacttccagattccataaaaagagagtttcatagcttctcaaacaaaagaaaggtttaactctgtgagatgaatgcacccatcacaaagaagattctcagattgcttctgtctagattttatatgatgatatttccttttctaccataggccgcaaggcgaaccaaacatccacctggagattctacaaaaagagtgtttccaaactccttaatcaaaagaaactttcaactctgtgagatgaacgcacacatcacaaagaggtttctgagaattcttctgtctagtttttatgtgaagatatttctttttccaccataggcctcaaagcgctccaaaggtcaaatttgaaattctacaaaaagagagtttcaaaactgctcaatcaaaagaaaggtttaactctgtggagtgaatgcacacatcacaaagaagtttctcagattgcttctctctagattttatgtgaagatatttccttttctaccatagacaacaaagcactccaaatgtcaacttgcagattctacaaaaagagtgtttccaaactgctcaatcaacagaaaggttcaactctgtgagatgaacacacacatcacaaataagtttctcagaatgcttctgactaggttttatgtgaagatatttctatttccaccattggcctcaaagctctccaaatgtccacttgcagattctacaacaaaacattctcaaaactgttcaatcaaatgtaaagtttaactctgtgagatgaatggacacatcacaaagaagtttctgacgttgcttctttttagattttatgtgaaggtatttccttttctgtcataggctgcatagcgctccaaatgtccacttctagattctacaaaaagagtgtttccaaactgcacaatcaaaataaaagttcaactctgtgagatgaatgcacacgtcacaaagaagtttctgagaattcttctgtctagtttttatgtgaagatatttccttttccaccataggcctcaaagcgctccaaatatccacttgcagtttctacaaaaagagagtttgaaaactgttcaattaaaagaaaggcttaactctttgagatgaatgcacaaatcacaaagaagtttcacagattgcttctgtctaaattttatggaaatatattcccttttcgaccataggccacaaaatgctgcaaatgtccacttgcagattctacgaaaagagagtttccaaactgctcaaacaaaagaaacatacaagtctgtgacatgaacacacacatcacaaataagtttctcagaatgcttctgactaggttttatgtgaagatatttctatttccaccattggcctcaaagctctccaaatgtccacttgcagattctacaacaaaacattctcaaaactgttcaatcaaatgtaaagtttaactctgtgagatgaatggacacatcacaaagaagtttctgacgttgcttctttttagattttatgtgaaggtatttccttttctatcataggctgcatagcgctccaaatgtccacttctagattctacaaaaagagtgtttccaaactgcacaatcaaaataaaagttcaactctgtgagatgaatgcacacgtcacaaagaagtttctgagaattcttctgtctagtttttatgtgaagatatttccttttccaccataggcctcaaagcgctccaaatatccacttgcagtttctacaaaaagagagtttgaaaactgttcaattaaaagaaaggcttaactctttgagatgaatgcacaaatcacaaagaagtttcacagattgcttctgtctaaattttatggaaatatattcccttttcgaccataggccacaaaatgctgcaaatgtccacttgcagattctacgaaaagagagtttccaaactgctcaaacaaaagaaacattcaagtctgtgacatgaacacacacatcacaaataagtttctcagaatgcttctgactaggttttatgtgaagatatttctatttccaccattggcctcaaagctctccaaatgtccacttgcagattctacaacaaaacattctcaaaactgttcaatcaaatgtaaagtttaactctgtgagatgaatggacacatcacaaagaagtttctgacgttgcttctttttagattttatgtgaaggtatttccttttctgtcataggctgcatagcgctccaaatgtccacttctagattctacaaaaagagtgtttccaaactgcacaatcaaaataaaagttcaactctgtgagatgaatgcacacgtcacaaagaagtttctgagaattcttctgtctagtttttatgtgaagatatttccttttccaccataggcctcaaagcgctccaaatatccacttgcagtttctacaaaaagagagtttgaaaactgttcaattaaaagaaaggcttaactctttgagatgaatgcacaaatcacaaagaagtttcacagattgcttctgtctaaattttatggaaatatattcccttttcgaccataggccacaaaatgctgcaaatgtccacttgcagattctacgaaaagagagtttccaaactgctcaaacaaaagaaacatacaagtctgtgacatgaacacacacatcacaaagaagtttctcagaattcttctgtctagtttttatgtgaaaatatttcattttccaccttaggcctcaaggcagtcgaaatgtcctcttgcagattctacaaaaagagtatttgaaaagtggtccttcaaaagaaaggttcatgtctgggaagtgaatgcacacatcactaagaagtttctcagaatgcttctatctagtttttatgtgaagatattcccttttccaccatatgcctcaaagcgctccaaatgtccacttgcagattctacaaaaacagattttcaaaactgctcaatcaaaagaaaggtttcactctttgagatgaatgagcacatcaaaactgctcaatcaaaagaaaggtttcactctttgagatgaatgagcacatcaaaaagaagtttctcagattgcttctgtctagattttaagtgaagatatttgtttttctaccacaggccacaaagtgctccaaaagtccacttgcagattccacaaaaagggtgtttccaaactgctcaatcaaaagaaagcttcaaccctgtgagatgaatgcacagatcacaaagaagtttctccgaattcttctgtctagtttttatgtgaagatatttccttttccatcatagtcctcaagacactcgaaatgtccacttgcaggttctacaaaaacagtatttcaaagctgtccttcagaagaacggttcaactttgggaggtgaatgcacacatcacaaagtagtttctcagaactcttctgtctagtttttatgggaagatatttcctttccaccataggccttaaggcactccaaatgtccccttgcagattctatagaaagagagtttcaaatctgctcaatcaacagaaaggtttcatcctttgagaaaaatgcatacttgtcaaaggagtttgtcagattgcttctttctagattttatgtgaagatattgccttttctaccatatgccgcaaattgcaccaaacctccacttgcagattatgcaaaaagagtgttcacaaactgctcaatcaaaagaaagtttcaactctgtgagatgaacgcacacatcaccaagaagtttttcagaattcttctgcctgatttttatatgaagatatttccttttccaccataggctgcaaagcgctccaagtgtccacttgcagattctacaaaagcagggtttccaaactactcaatcaaaagaaaggttcacctctgtgggatgaatgcaaacgtcacaaagaagtttgtcagaattcttctgtctagtttttatgtgaagatattaccttttcgaccataggcctcaaagcgctccagatgtccacttgcagattctacaaaaagagagttttgaaactgctgtatcaaaagaaaggtttaattctgtgagaggaatgcacacatcacaagtaagtttctcagattgcttctgtcgaggttttatgtgaggatatttcctttctaccataggccgtaaagcgctccaaatgtccacttgcagattctacagaaagagtgtttccaaagtgctcaatcaaaagtaaggttcaactctgtgagatcaatgcacacataacaaagaagttcctgaaaattcttctgtctagttttgatgtgaagatatttccttttgcaccacaggcctcaaagcgctccaaattaccacttgcagattctaaaaaaagagtttcaaaactgctcaatcaaaggaaaggtttaactctgtgacatgaatgcacacatcacaaagaagtttcttagatttcttctgtctagatattatgtgaagatatttccttttctaccataggccgcaaatggctccaaatgtccacttgcagattctagaaaaagactttttcaaaacgtctcaatcaaaagaaagattcaactctgtgagatgaacgcacacatcacaaagaagtttctcagaatgcttctgtctagttcttaaattaatatatttccttttccacgataggcctccaagtgctgaaaatatctacttgcagattctgcaaaatgtgagtttcgaaattaatcaaaagaaaggttcaactctgtgagatgaatgcacatatcacaaaggatttcgtcagaatgcttctgtctagtttttatttgaagatatttccttttccaccataggcctcaaagcactccaaatgtccatatttagatagtgcaaaaagagtgtttcacaactgctcaatcaaaagtaaagttcaactctgtgacatgaatgcacatatcacaaaggagtttgtaagaatacttctgtagcgtttttatgtgaagatatttccttttccaccatgggcctcatagagctgcgaatgtccacatgcaaattctacaaaaagagtgtttccaaactgctcaatcaatagaaagtttaaactctgtgagatgcatgcacacttcacaaataagtttctcagaatgcttctgtctcgcttttatgtgaagatatgtttttatccacaataggacgcaaagctctcaaaatgtccacttgcagattctacaaaaagagtgtttcaaaactgcccaatgaaaagaaaatttcaacactgtgagatgaatacacacatcacaaagaagtttgtcagaatgcatctgtctagtgtttttgtgacaatatttccttttccaacataggcctcaaagcgctccaaatgtccacttgcagattctacaaaaagaatgtttcaaagctgctcaatcaaaagaaaggttcaactccattgtatgaaggcacaaatcccaaagaagtttctcagaatgcttctgtctagttcttaagagaagatatttccgttttcaccataggcatcaaagcactccaaatgtccacttgcagattctacaaaaagagtgattcaaaactactcaatcaaaagaaaggttccactctatgagaggaatgtacacatgacaaagaaatttgtcagaatgcttctgtctagtttttgtgcgaagatatttcgttttccaccataggcttcaaagcattcaaactgcccacttacagatagttcaaaaaggatgtttcaaaactgctcaatagaaagtaaggttcaactgtgttagataaatgcacatatcataaagaaatttttcagaattcttctgtctagtttttatgtgaagatacttcctcttccaccgtaggcctcaaatagctccaaatgtacccttgcagattctacaaaaagagtgttttcaaactgctcaatcaaaagaaagtttcaactcagtgagatgaatgcacacatcacaaagaagtttctcagaatacttccgtctagttcttaagtgaagataattccttttccaccataggcctcaaaacgctccaaatggtctcttgcagatcctacaaaaacatagtttccatactactcaatcaaaagaaaggttcaactctgtgagacgaatacacacatcacaaggaaatttgtcacaatgcttctgtctagtttttatgtgaagatatttccttttccaccataggcttcaaagaactccaaatgtacacttgcggattctacaaaaagagtttttgaaaagtactcaatgaaaagaaaggtttaactctgtgagatgaatgcacacattacaatgaagtttttcagaatgtttctgtatagttttaatgtgaagatatttccttttccaccttagacctcaaagcgctataaatgtccacttgcagattctgcaaaaagagtgtttcaaagctgctcaatcaaaagaaagtttcaactccgtgaggtgaatgcacatatctaagaaatttctcagaatgcttctttctagttattatgtgaagatatttccttttccaccataggccacaaagcgctccaatagtccgcttggagattccacaaaaagagtgtttcaaaactgctcaatcaaaagaaagattcaactctgtgagatgaatgcacacatcacaaagaagtttctcagaatgcttctttctacttcttaaatgaatatatttccttttccaccataggcctcaaagcacttcaaatgtccacttacagatcctacaaaaagatattttcaaattactcaatcaaaagaaaatctcaactctgtgagataaatgcacacatcacaaaggagtttgtcagaacgcttctgtctagtatttacttgaagacaattccctttccaccataggcctcaaagcactccaaatgttcacttccagataatacaaaagggtgtttcaaaactgcccaattagaagtaaggttcaactctgtgagatgaacgcacatattacaaagacgtttgtcaaaatcctctgtccagtttttatgtgaagatatttccttttcaacaaagacctcaaagcgctccaaatgtacacttgcagattctacaaaaagagtgcttccaaaccgctcaattgaaagtaaggttcaactctgtgaaacgaatgtacatttcacaaagaagttattcagaatgcttctgtctaattattatgtgaagatatttccttttccaccgcaggcctaaagcgctccaaatatccccttgcagatcctacaaaaacagtatttcaaagctgctcaaacaaaagaaaggttaaattctgtgagatgaatgcacacatcacaaagaagtttgtcagaatgcttctgtctagtttttacgtgaagctatttccttttcgaccgtagtcagcaaagcgctccaaatgtccacttgcagattctacgaaaagagggtttccaaactactcatcaaaagaaaggtccaactctgtgagatgaatgcatacatcacaaaaaatttgacagaatgcctctgtctagtttttatgtgaagatatttcctttccaccataggcctcaaagcactccaattgaccacttgcagatagttcaaaaagggagtttcaaaactgctcaatcaaaagtaaatttcaactcggtgagatgaatgcacatatcagaaattagtttgtcataatgcttctgtctaatttttatgtgaacatatctccttttctaccatagactcaaagcactccaaatgtccacttgcagattctacaaaaagagtgtttccaaactgctcaataaaaagataggttcaactctgtgagatgaatgcacacaacacaaagaagcttctcagaattcttctgtctcgcttttatgtgagatatttctttttccaccatggacctcaaagcgctccaaatgttcacttgcagattctacaaaaagagcatttcaaaagtgctcaatcaaaagaaaatttcaaacctgtgagatggatgcacgcatcaaaaagaattttctcagtatgattctgtctagtttttatgtgaagatattgccttttccaccgtaggcctcaaagccctccaaatgcccacttgcatattatacaaaaagagtgtttcaaaactgctcaatgaaaagaaacgttcaaatctgtgagatgaatgcgcacatcacaaagaagtttctcagaatattttggtatagtttttatgtgaagatatttgcttttccaaaacaggtctcaaagcgctccaaatatccccttgcagatactacaaaaagagtgtttcacatctgctcaatcaaaaggaagtttcaactctatgagatgaatgcacacatcacaaggaaattgtcagaatgcttctgtctagtttttatgtgaagatatttccttttctaccttagtcctcagagcactccaatcgtccacttacagactctacaaaagggagtttccaaactactcattaaaagaaaggttcaactctgtgagacgaatacacacatcacaaggaaatttgtcacaatgcttctgtctagtttttatgtgaagatatttcctttccaccatatgcctcaaaggcctccaaatgtccacttgcagacagttcaaaaagggtgtttcaaaactgctttatcaaaagtaagtttcaaatctgtgagatgaatgcacatatcacaaagaagtttgtcataatgcttctgtgcagtttttacctgaagatattttcttttctcaatagaccgcaaagctctcaaaatgtccaattgcagattctacaaaaagagtgtttccaaactgctcaatgaaaagaaagcttcaactctgtgagatgaatgcacacgtcacaatgaagtatgtcagaatgcttctgtatagtttttacgtgaagatatttcgttttccaccataagccaccaaccgctccaaatgtccacttgcagattctacaaaaagagtgtttcaaagctgctcaatcgaaagaaaagttcaactatgtgagatgaatgcacacatcacaaaaaagtttctcagaatgcttctctctagtttttatgtgaagatatttcgttttccaccataggcctctgagcgctccaaatgtccactttcagattctacaaaaagagtgtttaaaatctgctcaatcgaaagtaagtttcaactctgtgagatcaatgcacacatcacaaagaagtttgtgagaatgcttccatctagtttttatgtgaagatacttccttttccaccagaggccagaaagcgctccaaatgtccacttgcagattctacaaaaagtgtgtttcaaaactgctcaattaaaagaaaggctcaactttgtgagaagaatgctcacatcagaaataagtttctcagaatgctgctgtctagttcttgagggaagatatttccttttccaccataggcctcaaagcgctccaaatgttcacaggcagattctacaaaaacagagtttccaaactactcaatcacaggaaaggttcaagtctgtgagatgaatcctcaggtcacaaagaaatttgtcagaatgcttgtgtctcgtttttatgtgaagatattttgttttccaccatgggcctcaaagcactccaaatgctcacttaacaattgtacaaagagagtgtttcaaaactgctcaatgaaaagtaaggttcacctctgtgagatggatgcacatatcacaaagaagtttgttaaaatccttctgtccagtttttatgtgatgatatttccttttccaccataggcctcaaatcgctacaaatgtccacatgcagattctacaaaaagaatgtttccaaactgcacaatcaatagaaagagtcaacactgtgaggtgaatgcccacgtcacaaagaagtttctcagaatgcttcagactaggttttatgtgaagatatttccatttccaccgtaggcctcaaagcgctccaaatgtccacttgtagactctacaaaaagagtgtttcaaaactgttcaatcaaaagaaagttgcaactgtgtgagatgaatgcacacatcacaaagaattttctcagaatgattctgtctagtttttatgtgaagatatttccttttccaccataggcctcaaagcgctactaatgtccacttgcagattctacaaaaagagggtttcaaactgctcaatcaaaagaaaggttaaattctgtgagatgaatgcacacatcacaaagaagtttgtgagaatgtttctgtctaggttttatgtgaagctatttccttatccatcatagtccacaaagcgctccaaatatccacttgcagattctacgaaatgagggtttccaaactactcaatcaaaagaaaggtccaactctgtgagatgaatgcacacatcacaaagaaatttgacagaatgactctgtctagtttttatgtgaagatatttcctttccaccataggcctcaaagcactccaaatgaccacttgcagatagttcaaaaagggtgtttcaaaactgctcaatcaaaagtatgtttcaactctgtgagatgaatgcacgtatcacaaagtagtttgtcataatgcttctgtctaatttttatgtgaagatatttccctttctaccatcgcctcaaagcgctccaaatgtccacttgcagattctacaaaaagattgtttccaaactgctcaataaaaaggaaggttcaactctttgagatgaatgcacacaacacaaggaagcttctcagaatgtttctctctctctcttatgtgaagatatttccttttccaccatgggcctcaaagccctccaaatgtccccttgcagattcttcaaaaagagtgtttcaaaactgctcaattgaaagcaagtttcaaacctatgagatgaatgcgtgcatcaaaaggaagtttctcagaatgcttctgtctagtttttatgtgaagctatttccttttccaccgtaggcctcaaagccctccaaatgtccacttgcatattatacaaaaagagtttttcaaaactgttcaataaaaagaaatattcaactccgtgagatgaatgcccacatcacaaagaagtttctcagaatgtttctgtatagtttttatgtgaagatatttccttttccaaaacaggcctcaaagcactccaaatgtccacttgcagatactacaaaaagtgtgtttcagatctgctcaatcaaaagaaagtttcaactgtatgagatgcttgcacacttcgtaaggaaatttgtcagaatgcttctgtctagtttttatgtgaaaatatttccttttccaccattggcctctaagcactctgaaagtccacttgcagatagtagaaaaagggtgtttcaaaactggacagaaacattatgacaaacttctttgtgatatgtgccttcatctcacagagttgaacatttcttttgattgagcagttttacaacactatttttctagaatctgcagtgtacattaggagtgctttgaggcctatggtggaaaaggatatatcttcacatgaaaacttgacagaagcattctgacaaacttcttgtgatgtgtgcattcatctcacggcattgatcttttctgttgattgagcacctttcaaacaatctttttgaagaatctgtctgtggacatttggagcactttggggtctatggtggaaaagaatttatcttcacataaaaacaagacagaagaattctgacaaacttctttatgatgtgtgcattcacctcacagagttgaacctaacttttcattgagcagatttgaaacactctttttgtagtatctgcaagtggacatttggagcactttgaggcctatggtggaaaaggaaatatcttcacataaaaactacacagaagcattctgacaaactcctttgtgacgtgggcattcctctcacagagttgaacgtttcttttaattgggaagttctcaaacaccctttttgtagaatctgtgagtggatatttggagcgctttgaggcctatggtggaaaaggaaatatcttcacataaaaattagaccgaagAATTCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN