AGAAAGGCAAGAGATTACCCCTCCTAGAGGACAGGATGGCAGGTATATTTCCAACAGGGGGCTGCTCCTATGAATGTAATGGAATTGGCTTGTCACTCTGTCTTTGTCTTGTTTATTTAttttttttccattttttattaggtatttagcgcatttacatttccaattctataccaaaagttccccatacccacccacccccactcccctacccacccactccccctttttggccctggcgttcccctttactggggcatataaagtttgcgtgtccaatgggcctctctttccagtgatggccaactaggccatctcttgatacatatgcagctaaagtcaagagctccggggtactggttagttcataatgttgttccacctatagggttgcagatccctttacctccttgggtactttctctagctcctccattgggagccctgtgatccatccattagctgactgtgagcatccacttctgtgtttgctaggccctggtatagtctcacaagaaacagttacatctgggtcctttcgataaaatcttgctagtgtatgcaatggtgtcagcgtttggatgctgattatggggaggatccctggatatggcagtctctacatggtccatcctttaatctcagctccaaactttgtctctgtaactccttccatgggtgttttgttcccacttctaaggaggggcatagtgtccacacttcagtcttcatttttcttgagtttcatatgtttaggaaattgtatcttatatcttgggtatcctaggttttgggctaatatccacttatcagtgagtacatattgtgtgagttcctttgtgaatgtgttacctcactcaggatgatgccctccaggtccatccatttgcctaggaatttcatgaattcatttttttaatagctgagtagtactccattgtgtagatgtaccacattttctgtatccatttctctgttgaggggcatctgggttctttccagcttctggctattataaataaggctgctatgaacatagtggagcatgtgtccttcttaccagttggggcatcttctggatatatgcccaggagaggtattgcgggatcctccggtagtactatgtccagttttctgaggaaccgccagaatgatttccagagtggttgtacaagcctgcaatcccaccaacaatggaggagtgttcctctttctccacatcctctccagcatctgctgtcacctgaatttttgatcttaggcattctgaatggtgtgaggtggaatctcagtgtttttttgatttgcatttccctgatgattaaggatgttgaacattttttcaggtgcttctctgccattcggtattcctcagttgagaattctttgttcacttctgagccccattttttaatggggttatttgattttctgaagtacaccttcttgagttctttatatatgttggatattattcccctatctgatttaggataggtaaagatactttcccaatctgttggtggtttgtgtcttattgacggtgtcttttgccttgcagaagctttggagtttcatgaggtcccatttgtcaattctcgatcttacagcacaagccattgctgttctgttcaggaatttttcccctgtgcccatatcttcaaggcttttccccactttctcctgtataagtttcagtgtctctggttttatgtgaagttctttgatccacttagatttgaccttagtacaaggagataagtatggattgattcgcattcttctacatgataacaaccagttgtgccagcaccaattgttgaaaatgctgtttttcttccactggatggtttttgctcccttatcgaagatcaagtgaccataggtgtgtgagttcatttctgggtcttcaattctattccattggtctacttgtctgtcagtataccagtaccatgcaggttttatcacaattgctctgtagtaaagctttaggtcaggcatggtgattccaccagtggttcttttatccttgagaagagtttttgctatcctaggttttttgttattccagatgaatttgaagattgctccttctaattcgttgaagaattgagttggaattctgattgggattgcattgaatctgtagattgcttttggcaagatagccatttttacaatgttgatcctgccaatccatgagcatgggagatctttccatcttctgagagctttaatttctttcttcagggacttgaagtttttatcatacagatctttcacttccttagttagagtcacaccgagatattttatattatttgtgactattgagaagggtgttgtttccctaatttctttctcagcctgtttattctttgtgtagagaaaggccattgacttgtttgagttaattttatatccagctacttcaccgaagctgtttatcaggtttaggagttctctggtggaatttttagggtcacttatatatactatcatatcatctgcaaaaagtgatattttgacttcctcttttccaatttgtatccccttgatctccttttgttgtcgaattgctctgtctaatacttcaagtactatgttgaaaaggtagggagaaagtgggcagccttgtctagtccctgattttagtgggattgcttccagcttctctccatttactttgatgttggctactggtttgctgtagattgcttttatcgtgtttaggtatgggccttgaattcctgatctttccaagacttttatcatgaatgggtgttggatcttgtcaaatgctttttctgcatctaacgagatgatcatgtggtttttgtctttgagtttgtttatatagtggattacattgatggattttcgtatattaaaccatccctgcatccctggattaaaacctacttggtctgatggatgattgctttaatgtgttcttggattcggttagcgagaattctattgaggatttttgcgtcgatattcataagagaaattggtctgaagttctctatctttgttggatctttctgtggtttaggtatcagagtagtagtggcttcataaaattagttgggtagagtaccttctacttctattttgtgaaaaagtttgtgcagaactggaattagatcttctttgaaggtctgatagaactctgcactaaacccatctggtactgggccttttttggctgggagactattaataactgcttctatttctttaggtgatatgggactgtttagatggtcaacttgatcctgattcaactttggtacctggtatctgtccagaaatttgtccgtttcgtccaggatttccagttttgttgagtatagccttttgtagaaggatctgatggtgttttagatttcttcaggatctgttgttatgtctcccttttcatttctgattttgttcatcaggattttgtccctgtgccctctagtaagtctagctaagggtttatctatcttgttgattttctcaaagaaccaactcctcgtttggttaattcattgaatagttcttcttgtttccacttggttgatttcacccctgagtttgattatttcctgccgtctactcctcttgggtgaatttgcttcctttttttctagagcttttagatgtgttgtcaagctgctagtatgtgctctctcccgtttcttcttggaggcactcagagctatgagtttccctcttagaaatgctttcattgtgtcccaaaggtttgggtacaatgtggcttcattttcattaaactctaaaaagtctttaatttctttctttattccttccttgaccaaggtatcattgagaagagtgttgttcagtttccacgtgaatgttggctttccattatttatgttgttattgaagatcagccttagtgcatggtgatctgataggatacatgggataatttcaatatttttgtatgtattgaggcctgttttgtgaccaaatatatggtcaattttggagaaggtcctgtgaggtgctgagaagaaggtatatccttttgttttaggataaaatgttctgtagatatctgtcaggtccatttgtttcataacttcttttagtttcactgtgtccctgtttagtttctgtttccacgatctgtccattgatgaaagtggtttgttgaagtctcccactattattgtgtgatgggcaatgcgtgctttgagctttactaaagtttctttaatgaatgtggctgcccttgcatttggaacgtagatgttccgaattgagagttcctcttggaggattttacctttgatgagtatgaagtgtccctccttgtcttttttgataactttgggttggaagtcgattttatctgatattagaatgtctactccagcttgtttcttcagaccatttcattggaaaattgttttccagcctttcactctgaggtagtgtctgtctttttccctgaaatgggtttcctgtaagcagcagaatgttgggtcctgtttgtgtagccagtctgttagtctatgtctttttattggggaattgagtccattgatattaagagatattaaggaaaagtaattgtttcttccttttattttgtttttagagttggcattctgttcttgtggctgtcttctttttgttttgttgagggattactttcttgcttgttctagggcgtgatttcagtccttgtattgcttcttttctgttattatcctttgaagggctggattcgtggaaagataatgtgttaatttggttttgtcatggaatactttggtttctccgtctatggtaattgagagtttggccggatatagtagcctgggctggcatttgtgttctcttagtgtctgtataacatctgtccaggctcttctggctttcatagtctctggtgaaaagtctggtgtaattttgataggccttcctttatatgttacttgacctttctcccttacttcttttaatattctatctttatttagtgcatttgttgttctgattattatgtgtcgggaggaatttcttttctggtcctgtctatttggacttctgtaggcttcttgtatgatcatgggcatcactttctttatgtttgggaaattttcttctattattttgttgaagatattagctggccctttaagttgaaaatcttcattctcatcaactcctgttatccgtaggtttggtcttctcattgatctggatttcctggatgttttgagttaggatccttttgcattttgtattttctttgactgttgtgtcgatgttctctatggaatcttctgcacctgagattctctcttccctttcttgtattctgttgctgatgcttgcatctatggttccagatctctttcctagggtttctatctccagcgttgcctcattctgggttttctttattgtgtctacttccctttttagttctagtatggttttgttcatttccatcacctgtttggatgtgttttcctgtttttctttaaggacttctacctgtttggttgtgttttcctgcttttctttaagggcctgtaactctttagcagtgctctcctgtaattctttaagtgacttatgaaagtccttcttgatgtcctctatcatcatcatgagaaatgtttttaaatctgggtctagatattcggttgtgttggggtccccaggactaggtggggtgggagtgctgcgttctgatgatggtgagtggtcttgatttgtgctagtaggattctttcgtttgcctttcgccatctggtaatctctgaagctagctgttatagttgtctctggtaagagcttgttcttcaggtgactctgttagcctctataagcagacctgggaggctagctctctccttagtttcagggggcagagtattctctgcaggcaagctctcttcttgcagggaaggtacccagatatctggtcttcgaacctgcctcgtggcaaaagttgtgttccactcactagaggtcttaggatcccgtggggaatcctgtgtgggcccttgcgtgtgtcgggcgactccgctggcatggtaccccggtgctcgagtggggcagaagagcttATTTTTTTATTTTTAAAGGGAACCCTCCCCCCTTTTCTATAATAGAATTTTCTGCCCATTGACTTTGCAAATTGGTCGACAACTAGACTAACTCCATATGTTGCTCCCACTTCTTCCCTCTTAACTGTAGATGAGTTAGCATCCCCTCTGACTAGGTCAGTACATGGGGGCTTGACTTAGCTCAGCTGGATCTAACTAGGGACAAGTTGTTTATTTCCTTTCATTTTGGCAATGGTGCCAGTGGACTGGACTCTGCCCACCACGGGTGTCCTTAAAGGGCTGCAGGAAGGCAGTGGGGGGGGGACACAGTGTGGGGAGCTCATCCCTGCTTACCACCTCCATGAAATGGCCTCTTTCACTTGCCAGACTGAGGCAGGCATGCTGAGTTCTGTCTGCTCTTAGCTGAGTTCTCTGTTCCAAGCACTGTACTTTTCAGAGTTTTTCCCTCCCTTCCCTGGAAATGCACACACTCTCTTCTGGAGTCACAAagggatatgatttataaaatagcagagtgtcgcagggggaggggatgccttacgaggcccatgcagaggcatcctctctgaggtatcagccgtaggacaggtctattatgaagtaaagtttatttgggatattgtagggggctctgggtaagggaatagaggcagatgtgccatgtgacacagattcacctagtattgctaaggcaaactcacatgttgttttgttgacctatgggagacatgtgatgttcagacagagcgtaactgaactcaaaggacagtgatggatgcttgcatagctagctttgcaatgccttgtctcaagtcttcgtcttcactgatcttctcttcattgagagaagtatggaagagaaattctcctggtgtccaggctggtcctggcctcttctgcttactcatgtcacctcagtggaggctgtttctgctgcatcatggcaccactgctgatttgttttttgttatcctgacactgctgaactggactctcagtttcctgacaaagagagattggaatcaccccaaagaactactgctttttaatttttttaaatggtttttcgagacaggatttctttgtgtagcctggctgtcctggaatgcagtttgtagaccaggttcagaaatccacctgcctcttcctcctgagtgctgggattaaaggctggcgccaccatgcccggttatgtatgtatgtgtttaaataatttatatatatatttaataatttatacatatatatatttggaagaactactaacatttgcacatccctcatcctatataccatcttttctcccctacatttgcaaggtgggttaacaggggatttgacacatttgagaactcgtattaaaagtatgttttaaaaaaAAGAAAGTCAAAATATgtttttaaaaaattgaagtcaaagacagagagcaaagagggagtggagagaggagaggaagagagaaagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagagggagactatgaagaggtgctggtgaggcaggaatgaagtcttctcttctttaagctccttggggcaatggttttatctttgaggaacctaagaagattgggatggggatgctggtcaagttctgggaaagctggctctttcattgctgtcctgggtctgtggaaccatctgctggtaggaaagcactggtccagtagaagcatctgtgagagtagaccggagctgctgtcctggatataggctggagtaaatacctggacttggcaagatgctgaaacacacaaacacacagacacacagacacacacacacacacacacacacacacacacattagaggcagttaagtagactttggagaaaaactttttctggtgtacatttgaaatcttagatctttgtggttgcggggaggggagtttccaaaccagggaacgggagaggaatcccaccctctggaataggcagcaaatgggtggcagggatagttattctcttggaatctatttggtccatgaggtagatttgagtgggctttctggagctcataagaatctttttaagtttacaaaagagataattttttttaacagcatgaagtctttaaggtgagtttagggaagacacaaacccttttgtagagaagaaggggcaaagagggctttttttctatccagaagactgaattatataatgtacataattatagtataatgagaaacatttttatgtttatatttaaacgataattaaggggaactcacatatttgaatttgtgaatatgatagttgaccatatagatttagcatgagaataccttaagtctatagttaaaagacaaccaaaggaaactcaaattttgaacttgtgattaggaaagtggattgtatagtggtatatttattagagttaggctaaattatcagaattacaatgattactgtaaataatctgaactcttgaagttttgatataacagtagcatattgaggggaagaaatctgaagcatttTTATCTTAAATTATTTTCTATCATCATCCAAATGTGTATGCCCTCCAAGCTTTATATGTTATGATTACGGATCTCAAAACATCTTTCTAGTCTCTCaaataatttttttatatatttaCAACTTAAGCTTATATCCTCAGACCTTGCCTGAAGTTTCTGTCATTTTTATTTAATCATTTGCCATGGGACATAAGTGGTTGACCATTGGAGAACagtcattgaaaactgattttttggaaagggagtagaaaaaggttacatcttcaaaagtttcccgctgaaagttgtggatattttatcataaagcctgctagcaagtcaaagatgtctctttttgataagagatctggtagtcttaactagtGTAAAGGCCTAGGTAAAATACTAAGGCCTGTCTTAGTTAAGGTTtctttattttttttaaatttatatacttattatatttaagtacactgtagctgtcttcagacactccagaaaaggatgctagatctccttacagatagttatgagccaccatgaggttgccgggatttgaagtcaggaccttcagaagaacagtcagtgtgtttaaccgctgagccatctctccagccctagttaaggtttctattcctgcacaaacatcatgaccaagaggcatttggggaggaaagggtttattcagcttatactttcacattgctgttcatcaccaaaggatgtcaggactggaactcaagcaggtcaggaagcaggagctgatgcagaggccatggagagatgttacttactggcttgctcagcctgctttcttatagaacccaggactaccagctcatggatggcacaccgtacaattgactctcccacctttgatctctaattgagaaaatgccttacagctggatctcatggaggcatttcctcaagaaagcttcatttcactgtgataactccagcctgtgccaaggtgacagagaaaatgagccagcacGAGGCCTAGATGGAACGCTGAGGCCTAAGAGGTTCCTTGCTCAGCAGTCTTGATGGAGGCTGGCTAGAGTCAGGTTGCCAGCTCTTCATTTGCTCTCTTTCCTGTGTTAGGTCTTGAACTGTATTTTTTTTTTTCACCTTCCAGGCTTTGTGATTTCAGGGATTTATTCCAAGTTTTGTTTGTTGTTTTTCCTGGGttttattttttattagatattttctttatttacattttaaatgttatccccttttctagttttccctctgaaaaacccctaaccctccccctccttctgcctaaccaacccacccactcccattcctgattctggcattccccaatactagtgcatagaacattcacaggaccaagggcctctcctcccactgatgaccaactaggccgtccactgctacatatgcacctagctctaaaagttccaccatgtgttatctatgattggtgatatagttctaaggagctctgggagtactggttagttcatattaatgttcttcctatggggcttcagtccccttcagctccctgggtatttttctggctccttcactggggaccttgtactccatccaatgtattttctgtattttccgggcactggcagagccttgcaggagacagctatataggttcctgtcagcagtctcttgttggcatctgcctagtgactgggttgtttatggggtgaattcNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN