cattcttcacacagattagaacctttcttttcattgagcagttttgaaaaactctttttgtggaatctgcaagtgtacatttgaagcgctttgaggcctatggtttaaaaggaaatatgtccacataaaaactagacagaatcattcatagaaaatcctttgtgttgtgtgcattcatctcaccgggttgaacatttcttttgattgagcaggtttaaacactccttttgtagaatctgcaagtcgacattgggagccctttgagtcctatggtggaataggaaatatcttcatttaagaactagacagaagcaatctgagaaacttctttgtgatatgtgcattcatctcacagaattaagccattcttttgattgagcagtttcgaacctctcttttcgtagactctgcaagtggacatttcgagcactttgaggcttatggtgaaaaaggaaatatcttcccataaaaagtagacagaagaattctgaaaaactttgtgatgggcacgttcatctcacagagttgaaactttcttttgattgagcagtttggaaaccctctttttatagaatctgcaagtggacatttggagtactttgcagcctactttgcggcctatggtagactaggaaatatgttcacataaaatctagacagaagtaatctgagaaacaactttgtgatgtgtgcattcatctcacagagataaacatttcttttgattgagcagttttgaaactttcttttcgtagaatctgcaagtggacatttggagcactttgaggcctatggtggaaaaggaaatatcttcacataaaaactacatagaagcattctgagaaagattttgtgatgtgcccattcatcacccagagttgaatctttcttttgaaggaccagttttgaaatactctatttgtagaatcttcaagtggacattttgagcgccttgaggcctatggtttaaaaggaaatatcttcacataaaaactagacagaagagttctgagaaacttctttgtgatgtgtgcactcatatcacaaagttggacctttcttttcattgagcagtttggaaacactgtttttgtagaatctgcaactggacatttggagagctttaaggcctatctttgaaaaggaaatatcttcacataaaaactagacagaagaattctgagaaatttctttgtgaggtgtgcattcatgtcacagagtaaaacattttatttgattgagcagttttggaactcttttttcattgaatctgcaagtggacatttggagcgctttgcggcctctggtggaaaaggaaataccttcacataaaaactagacagaagaattctgagaaacttcttcatgatgtgtgcgttcatgttacagagttgaaactttcttttgattgagaagtttggaaacattcttttgtagaatgtgtaagtggatatttggagcacttggtgacctatgatagaaaaggaaatatcttcacataaaatctagacagaagaaatctgagaaacttgtttgtgatgtgtgcattcatctaacagagttaaaactttctctttattgagcagttttgaaactctctttttttagaatctgcatgtggacatttggagcgctttgaggcctatggtggtaaaggaaatatcttcacataaaaactagttagaagcattctgagaaacctctttgtgatgtgtgggttcatatcacagagttgaaactttcttttgattgaccagttcggaatcactcctttttttataatctgcacgtggatatttggagtgctttgcatcctgtggtagaaaaggaaatttcttcacataaaatgtagacagaagcaatctgagaaacgtctttgtgatgagtgcattcgtctcacagatttaaacctttctttggattgagcagtttttaaactacctttttgtagaatctgcaagtggacatttggagtgctttgaggccaatgttggaaaaggatatatcttcacataaaagctacacagaagaattctgagaaacttctttgtgatgggtgcattcacctcacagagttgaaccttccttttgattgagcagtttggaaaccctctttttgtggaaactgcaagtggatatttggaggaatttgtggcctatgctagaaaaggaaatatcttcacataaaattcagacagaagcaatctgagaaacttctttgtgatgtgtgcatgcatctcaccgagttaaaccattcttttgattgagcagttttgaatctctctttttttagaatctggaagtagacatttggagctgtttcaggccaatggtggaaaaggaagtatcgtcacataaaaactagccagaagatttctgagaaactactttgtgatgtgtacattcatctcgtagagttgaaccttttttttgattgagcagtttggaaacactctttttgtagaatttgcaagtggacatttggagtgctttgaggcctgtggtggaaaaggaaatgtcttcacataaaaactagacagaagaattctgagaaacttctttgtgatgcgtgcattcatcccacagagttgaactttttttttgattgagcagtttggaaacactctttttgtagaatctgcatgtggacatttggagcactttgaggcatgtggtggaaaaggaaatatcttcacataaaacctagacagaagcaatcagagaaacttatttgtgatgtgtgcattcatcccacagagttgaaacttccttttcattgatcagtttggaatcactctttttgtagaatgtgcaagtggacatttggagcgctttgcggactatggtagaaaaggaaatatcttcacattaaatctagacagaagcaatctgagaaatttctttgagatgtgtgcattcgtctcacagagttaaaccttccttttgatagagcagtattgaaactctctttttgtagaatctgcaagtggacatttggagtgctttcaggcctacggtggaaaaggaaatatcgtcacataacaactagacagaagaattcggaaaaacttctttgtgatgtgtgctttcatctcacagaattgagcctttcttttgattgagcagtgttgaaaccctctttttgtagaatctgcaaattgtcaattggagtgctttgaggcctatggtggaaaaggaatttatcttcacataaaaactagagagaagaattctgacaaacttctttatgatgtgtgtgttcatttcacagagttgaaactttcttttgattgagcagcttggaaagagtctttttgtagaatatgcaagtggacgtttggagtgctttttggcctatggacgaaaacaaaatatcttcatataaaatctagacagtagcaatctgagaacttctttgtaatgtgtgcattcaactcagagagttaaaacttcatttgattgagcagttttgaaactctctttttgtagattctgcaagtggacatttggagagctttgaggcttatggtggaaaaggaaatatcttcacattaaaagtagacagaagaattccgacaaacttctttgagatgcgtgaattaatctctcaaagttgaacctttcttttgattgagcagtttggaagcactctttttgtagaatctgtaagtagacatttgcagcgctttgcagcctatggtagaaaaggaaataacttcacataaaatctagacagaagcaatctgagaaacttctttgtgatgtgtgctttcatctaacagagttaaacatttattttgactgaggagttttgaaactctcttttagtagaatctgcaagtggacatttggagcacttttaggcctagggtggaaaagaaactatcttcacataaaaactagacagaagaattctgataaacttctttgtgatgcatgagttcatctgacagagttgaactgttctttcgattgaggagtttggaaacactctatttttagaatctggaagtggacacttggagcactttgaggcctatggtggaaaaggaaatatcttcacataaagtctaacagaagcaatctgagaaacttcactgtgatgtgcgcattcatctcacagagttgaaccattcttttcattgagcacttttgaaactctctttttgtaaaatgtgcaagtggaatttcggagcactttgaggcctatggtggaaaggaaatgtcttcacataaaaactagacagaagaattctgagaaaggttttgtgatgtgtgcgttcagctcacagagttgaacttttcttctgattgagcatttttgaaacactctttttgtagaatctgcaagtggatatttggtgtcatttgtagcctattgtataaaaggaaatatcttcacataaaatctagacagaaacagtctcagaaacttgtttgtgattggcgcattcatctcacagagttaaccctttattttgattgagcagttttgagactctctttttgtagaatctgcaagtggaactttggagcgctttgaagactatggtggaaaaggaaatatcttcacataaaaactagacagaagaattctgacaaacttctttgagatgtgtgcgttcatgtcacagaattgaacatttcttttgattgagcagtttcaaaacactgtttttgtagtatctgcaaatggacatttggtgcgctttgtgtcctatggtagaaaatgaaataccttcacataaaaactagacagaagaaatctgagaaacttctttgtgatgtgtgcattcatctcacagagttaaacctttctttagattcagcagttttgaaactctctttttgtagaatctggaagtggacatttggagcgcattgaggcctatggtgggaaaggaaatatcttcacataaaaactagacagaagaattctgacaaactactttgaggtgcgtgcattcatctcacagagctgaacctttcttttgattgagcagtttggaaacactctttttgtagaatctgctagtggacatttggtacactttgtggcctatggtagaaaatgaaatatcttcacataaaatctagacagaagcaatctgagaaacttctttgtgatgtgtgcattcatctcacagagttaaacttttgttttgattgagaagttttgaaactctctttttgtagaatcttcaagtggatatttggagcactttggcacctatggtggaaaagcaaatatcttcacataaaaactaaacagaagaattctgagaaacttctttgagatgcgcgagttcatctcacggagttgaacatttctttcgatggagcagcttggaaacactctttttgtagaatctgtgagtggacatttggtgcgctttgtggcctatggtagaaaatgaaatatcttcacataaaatctagacagaagcaatctgagaaacttcttcatgatgtgtgaactcatctcacagagttaaacttttattttgattgagaagttttgaaactctctttttgtagaatctgcaagtggacatttggagcactttgagacctatggtggaaaaggaaatatctttacataaaaactagacagaagaattctgagaaacttctttgtgatgtgtgcgttcatctcacagagtggaaactttcttttgtttgagcagtttggaaacactctttttgtggaatatacaggtggacatttggagcactttgcggcctatggcagaaaaggaattatcctctcgtaaaatctagacggaagcaatctgagaaactactttgtgatgtgtgaattcatctcacagagttaaacttttgttttgattgagaagttttgaaactctctttttgtagaatctccaagtggatatttggagcactttgacacctatggtggaaaagcaaatatcttcacataaaaactaaacagaagaattctgagaaacttctttgagatgcgcgagttcatctcacagagttgaacctttcttttgattgagcagcttggaaacactctttttgtagaatctgtgagtggacatttggtgcgctttgtggcctatggtagaaaatgaaatatcttcacataaaatctagacagaaacaatctgagaaacttcttcatgatgtgtgaactcatctcacagagttaaacttttattttgattgagaagttttgaaactctctttttgtagaatctgcaggtggacatttggagcactttgagacctatggtggaaaaggaaatatctttacataaaaactagacagaagaattatgagaaacttctttgtgatgtgtgcgttcatctcacagagtggaaactttcttttgtttgagcagtttggaaacactctttttgtagaatctgcaagttgacatttggagcacgttgtggcctatggtagaaaagtaaatatcttcacataaaatctaatagaagcaatccgagaaacgtctttttgatgcgtgcattcaactcacagagtgagagctttcttttgatggggcagtttggaaactctatttttgtagaatctgcaagtggacattttgagcactttgcggcctatggtggaaaaggaaatatcttcacataaaaacgagacagaaaaattctgagaaacttttttgtgacgcgtgcgttcatctcagagaattgaacttttctttcggttgaccaggttggaaacaccctttttgtagaatctgcaacaggatatttggagcacttcgcggtctttggtagaaaatgaaatatcttcacataaaatctagacagaagcaatctgagaaacttctttgtgatgtgtacgtttatctcccagagttgaacatttctattcatggatcagttttgacatacgctttttgtagaatctgcaagtggagatttcgagtgccttgagacctatggtggaaaatgaaatatcttcatataaaaagtagacagaaaaattctgagaaacgtctttgtgatatgtgggttcatctcacagagttgaaactttcttttgattgagcagtttggaaacatgatttttgtagaatctgcaactggacattcggagcactttgaggcatatggtggttaacgaattatctttacataataactggacaaaagcattctgagaaacttctttgtgatgtgtgtgttcatctctcagagttaaacatttcttttgattgagcagttttgaaactctctttttgaagagtcttcaagtggacatttggagggcttcactgcctgtggtagaaaaggaactttcttcacataaaatctagacagcagctatctgagaaacttctttgtgatgcctgcattcatttcacagaattgaacatttcttttgactgagcagtttggaaacaccctttctttagaagctgcaattggacatttgaagagctttgtggcctatggtagaaaaggaaataccttcacataaaatctaggcagaatcagtctgagaaacatctttgttatgtctgcattcatctcagagagttaaaactttcttttgaatgagcagttttgaaactctctttttgtagaatctgcaagtggacatttgaagtgctttgaggcctatagtggaaaaggaaatatcttcacataaaaactagacagaagaattctgagaaacttcttgatgatgtgtgcgttcatctcacagagttgaaactttcttttgactgagcagttcggaaacactctttttccagaatctgcaaggggacaatttggagtgcttagtgccctatggtagaaaaggaaacatctttacataatatctagacagaagtagtctgagatacttctttgtgatgtgtgcattcatctcacagagttaaacgtttcttttgatagagcagtttagaaactctctttttgtggaatctgcaagtggacatttggagcgctttgaggcctactgtggaaaaggtaatatcttcaaataaaaactagacagagaaattctgaaaaactacgttgtgatgtgtgcattcatctcccagagttgaatctttcttttgatggatcagctttgaaatagtcttttttgtagaatctgcaattggacatctaaagagacttgatgcctacggtggaaaatgaaataccttcacataaaaactagacagaagaaaactgagaaacttctttgtgatgtgtgcattcatctcacagagttaaacctttctttagattcagcagttttgaaactctctttttgtagaatctggaagtggacatttggagcacattgaggcctatggtggaaaaggaaatatcttcacataaaaactagacagaagaattctgacaaactactttgaggtgcgtgcattcatctcacagagctgaacctttcttttgattgagcagtttggaaacactctctttgtagaatctgctagtggacatttggtgcactttgtggcctatggtagaaaatgaaatatcttcacataaaatctagacagatgcaatctgagaaacttctttgtgatgtgtgcattcatctcacggagttaaacttttgttttgattgagaagttttgaacctctctttttgtagaatctccaagtggatatttggagcactttgacacttatggtggaaaagcaaatatcttcacataaaaactaaacagaagaattctgagaaacttctttgagatgcgtgagttcatctcacggagttgaacctttcttttgattgagcagcttggaaagtctctttttgtagaatctgtgagtggacatttggtgcgctttgtggcctatcgtagaaaatgaaatatcttcacataaaatctagacagaagcaatctgagaaacttcttcatgatgtgtgaactcatctcacagagttaaacttttattttgattgagaagttttaaaactctccttttgtagaatctgcaagtggacatttggagcactttgagacctatggtggaaaaggaaatatctttacataaaaactagacagaacaattctgagaaacttctttgtgatgtgtgcgttcatctcacagagtggaaactttcttttgtttgagcagtttggaaacactctttttgtggaatgtacatgtggacatttggagcactttgcggcctatggcagagaaggaattgtcctctcataaaatctagacagaagcaatctgagaaacttctttctgatgtttgcattcatctcagagagttaaagctttcttttgattgagcagttttgaaactctctttccgtagaatctgcaagcggacatttggagcgctttgaggcgtatggtggaaaaggaaatatcttgacgttaagactagacagaagaattctgacaaacttcttcgagatgcgtgtgttcatctcacagagttaaacctttcttttgattgagcagtttcgaaacactctttttgtatcatccagaaggggacatttggaacgctttgcagattatggtaggaaaggaaataacttcatatgaaatctggacagaagcaatctgagaaactattttgtgatgtgtgcattcatctcacagagttaaacctttcttttgattgagcagttttgaaactcgcattttgtagaatctgcaagtggacatttggaatgctttgaagcctatggaggaaaaggaaatatcttcacataaaaaccagacagaagaattctgagaaacttctttgtgatgtgttgttcatctcacagagttgaacttggttttgattaagcagtttggaaacactcttttagtagaatctgcaagtggacatttggagcggtttgtggccgatggcaccaaagaaaatatcttcacataaaatgtagacaggagcaatctgagaaactgctttgtgatgtgtacattcatctcatagaggtaaagctttcttttgattgagtcgttttgaaactctctttttgaagaatctgcaagtggacatcaagagcgcttgaggcctatggtggaaaagaaaatatctgcatataaaaactagacagaagaattctgagaaactcctttgtgatgtgtgcattcatctcgcagagttgaacctttattttgatagagcagtttggaaacacactttttgtagaatctgcaagttgacatttggagcacgttgtggcctatggtagaaaagtaaatatcttcacataaaatctaatagaagcaatccgagaaacgtctttttgatgcgtgcattcaactcacagagtgagagctttcttttgatggggcagtttggaaactctatttttgtagaatctgcaagtggacattttgagcacattgcggccaatggtggaaaaggaaataccttcacataaaaacgagacagaaaaattctgagaaacttttttgtgacgcgtgcgttcatctcagagaattgaacttttcttttggtggaccaggttggaaacaccctttttgtagaatctgcaagaggacatttggagcactttgcggcctttggtagaaaatgaaatatcttcacataaaatctagacagaagcaacctgagaaacttctttgtgatgtgtacgtttatctcccagagttgaacatttctattcatggatcagttttgacatacgctttttgtagagtctgcaagtggagatttcgagtgccttgagacctatggcggaaaatgaaatatcttcatataaaaagtagacagaaaaattctgagaaacgtctttgtgatatgtgggttcatctcacagagttgaaactttcttttgattgagcagtttggaaacatgatttttgtagaatctgcaactggacattcggagcactttgaggcatatggtggttaacgaattatctttacaNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN