agtctattctgaactttaaggtcaatactgctgcttgaggtcatgttgTGAAGTGTTCTAAGATATGTTATATTGATTTTATTGTTTTAATGTGGGAAAAGATACCATTGTTGTATGTCCACAATCCTTGATAccaggatcatccaggatcatccaggatgtccatgttctctgatgccacttggaacattaatacaagctactccaaatgccaccaaaatatatactgatatcatcaatccacacttctgccatctgacaccatgttaggtatatgatgtgtactgccagctctaaccaatttgatgtcaaaagtctatcctgccactagagtggacattactgtctatggtcttatatgtcctctgaaactgtgtacatgccaatgatacctcctagcaacaaactacatggttcatctcagatgatggctgccattagccacaagaagatgagggattcttgctgtcagtttggaccctattgattatatcattgatctcagttgcataggaaaatatcttgatgtcacttaatactgctgcctttggtaaccatgttgatatccctagtcagtttttgctctcaagagcttggtgatgtctgtgagccctactgccagaagaatctatcttgaagttcatggacagtactgctacctacttcatgtggagtgttctgacttccacctcagATATGTGTGTGTTCCTACTTACAATTGGAAGCTATACTAATATTAATAATACTTGATTTTACCAGCAAAAAAGATGGTATACATAGGTATTATTGAGATCCTACCTGACACAAGTAACTATAGTGAATTCCTTGATGCATATATGCAGCCCTCAATGCAGATCATATTAATTAAATACCCTTTTTGACACCAGATTCGCAATTGATGTCAATGATCCATCCTGCCACTGGAGAAGAAATTTATTTGCATGATCTCTTCTTCCCTCTGAGTCTATGATAATATCACTGATTTTTCTTGCAATAAACATCATGGAATCTATACTGATGTTGGACctgcactctgcaacaaatgtgtacgagcccaagcttcagcctgtatatgctccttggttgctagttcagtatctgagagcctcagtgatccaagttgtttgattgtgttggtattcctttggagctcttatcccccttggggccctcaattttctgcccaacactaccataagagacccaagctccattcaatatttggctgtgggtttctgtgtctgtctgagtcagctgctgagtagaaactcctagaggtcaacatgcttctgtctgcagtcctatcactgtatcattaatgctgtcagggattgtttgttgcccatgggatgggtcactagtttggccagttattgatttgccattgcattagtgttttttctatcccttgtcaatgtatttctcataaacagaataaaatttaggtccaaagtttgaagatgtgttggtgtgacgatagcttcactggagttcctacatagacacaagatgtggaccattcagattccatagcacaatattgtaagtcacagttaatatcatccactttgatatttgagtaccttccctttcccaggtctcagtctcatcgtcaacatgccacacccctacactctatacccctgcaagtttcagttttcccttcattctcatggtcatctagaaatctaccctgcccctactcacactggattctgaacactgccatgtcattacccattctttctctcactcacttaattttgcccatctcctgctcatgattttttttaagtgagattcaagcatcctcactttgtcctttcttcttgtttagcttccttgggtctgtggagtacagcaagtttatcctgtattttaagactaatttcaatttataagtgactacatgccatacatgtcctttggggtctgggttaactagctcaggatgatattctccattccatctattttcctacaaaatccatgatgtgtttgtttttaatagctctatagtactccactgtgtagatgtgtcacattttctttatccatctgtcagttgagggacatctaggctgtttccagtttctggctattatgaataaagctatgagcatggttgagcaagtgtccttttggggacagtggagtatcttttgggtatatgcacaggagtggtatagctggctcttgaatagaacttgaatagaatatttacagttttctaagaaacaccaaattgatttccaatgtttatgcagaagtttgcagttccaccagcaattgaggtatgttccccttgatccacatcctcactaacatgtattaccaattgaatttgtgatgatagccaatatgactatagtatgatagaatctcagagattgtttaatttgcatttccctaatgacaaagcacattgaacatttctttaagtgcttcttggccatttaagattcttctgctgtgaattatccgtacctaatttttcacctaggttatttggttttttggaggttaacttcttgagtttttggtaaattttggacattagtcctctatgggatgtccgttaagagaaaaattttcataatgtgtaggttgctgatttgtactatgggctatgtcctttggtttacagaagctttccagtttcatgaggtcccatttatcagttcttgatcttagaacctgaagtattggtgttctgttcaggaacttgtttcctgtaccaatgtgttgaacctatttcctactatctcttctatgagataaagtgtatctgattaatgttgaggtctttggtccatttgtacttcagttttgtgcatgatatatgtggatctatttgcattcttctacatgcagacatccaattagaccagcagtatttgttgaagatgcctcctttttccatgtattcttttatattctttttcaaaaatcaaatgtccataggtttgtggggccatctcaggatcgtccattcaatttaattgatccaccagtttgttcctatagtaatagaatgcagcttttaatattatttctctgtattataaaccaaggacaggtatggtggtacctctggaagttcttttattggttaagattgttttagctatcctgggttttttatctgtatgaatcttagaattgttctttcaatgtctggaaagaattgtgttagaattttgatagggattgcattaaatctataaattgcttttggtcagatgatcattttcaatatgttagtcctactgccccatgagcattgaagatctttccatttctgatatgttcatcagtttctttcttcagagaattgaagttcttctcattgaagttcttatacatgctcgattagagttacacaatgatattttatattgttcatgtctattgtaaagagttgtattttcctaatttatttgttggcccatttatcatttatcaaaggagggcaggctatgtattattttagaaataactttatattcagctgttttgctggaggtgtttatcagcttgcttatgtttactataatattatctgcaaatagtgatacattgacctcttcctttctactttgtgtctctgtgaactccatcagttaacttattgctctgggtagaaagtttaatactatattaaataaatagtgagtgagtggggtgcattcacttgtctccaatttagtggaactgttttaagtttctctacatttaattttatgttgtccattggctttccatatactgctttgattatgtttatgtatgtgccttatatccctgatctcaaacttttgacatgaaggggtggtgaattttgttgaaggccttttcatcatattatgagatgatcatgtgaatattttctttcaatttgttgatatggtggattatgtggattggttttcagatattgagccatcccgcatccctgggatgaagcctacttgatcatcatggatgatagtcttgatgtatttctgaatGGAGTCAAAGTCgcacttaaagaaatgttcaaagttcttagttatatgggactgcaaatcaaaacaaccctgagattccaccctaaaccaaacagaatgcctaagaacaagagctcatgtgacagcacatgctggtgagaatgtagaacccgaggaacactcccttattgctggtgggattgcaggttggtacaaccactatgggaaacaatctggcttttcttcagaaaattggaaatagttctacctgaagaaccagttcgactaatttgggcatatatccaaaatatgccccaccattccacagggccatgtgctccactatgttcatagtagccttacatgtaatagctggaaacaacccagatgtctctcaatagaagagtagagacagaaaatgtggtttctttacataatggaatattattcagctattaagaatgaggaaatcatgagtttttcaggcaaattgttagaaatggaaattataatcatgagttaagtatctcagacccaaaaggacattcatagtatatactcactagtaagtggatattagccaaaaagtacagaatacctatgatacaacctactgaacttaagaaatttaaaaacagaaaggcacaagtgaggatacttcagtaacatttgagggtgaagaaaataatcataggagtcagggggaaggagcaacctgggtgtgagtagggagatggaacagaaatgggaacaggatcagttaggtgggacaggaaagaagcccagagtgttagaagaatgagtggaaatatgcaggtttcagagtggggtcgaggtaccatggacctctagaaagtgccatggaccttggagttaagactctcaggacttagtgatatgctcaacagtggggaaagggaacttaaaaagcgtccacctccagtagatagacagggcttcaggtagagagatggggttaccaaaacacagttaaaatttctgacccagaattgttcctgtgtaacagtacaaaaatggagaagagatgaagggaaaggtggtccagtaaagacccaacttggaattcctctcaagggctggatcaaagaactgacattattactgatgcaatggtgtgctgacagacaggagcctagcattgtttggcctcctagaagcccaaaaagcagctgaattattcagttgcagatacttatacctagaaattggactgaagtcgagaccccaatggtggaattagaggaaggatgaaagaagctgaagggaagagtgaccccataggaataccagtagtatcaactaatatggatgcctagaagctcccagatactgaccaccagcaaggcagcatgccagagctggctggagtaccctgacacacatatagcataggattgcctagtcttgccttactgggagaatatgtgcctaatcttcaagtgacttgagaccccatggagtgtgaaggtccagtatatgtgtgagagtatcttcttggaagaggggcaggggggaggaggaatgtgatgaagaactgtgaagggggggaccaggagcagaagcaaatgctagattccaatatatatacatacatacatacatacatacataTAATAttcaaggtcatcttcagctccatagttaatttgaagcctaccctgatatacataagaccctgtctaataaaaataaTATTAACTATACTCATGCTAATAGAAATATATTTCCAGTTGGAATTGTCCCACTTAAATTTAGGATAACTAAGCCCTTTGCTGGATTCTATTTGCCCTCAACTTATGATAACTATTGTTTTTCAACCTGTCAAGAAAAAAATGAGACCTCTAATGTCCTACAATCAAAAGGTGTTCCTATGACATGGACACAAACGGAAGTAAACCTATGATAAGCAGACTTGAGTTAAAATGCTTAAAACGGCTCCAGTGTGGAGACAGTGTCTTTTTGTGTCATTCTGATTTTCTTAAAAattggatattttattcacttacatttcaaatgttatccctttccaggttttccctctgtaaataccctattccaaccccctttaccctacttccatgaggatgctccccctctgacctatctactcctgcctcactgccctagcattcctctacactgggacagcaaaccttcacaggaccaagggcctcttctcccattgatgtcagataaggccccttcagcttcttgagtacttccccttactcctccactggcatccctttgctcagtccaatggttggctgtgagcatccacatctgtattggtcaggatctagaagacactcttcagaagacagctgtatcaggctcctgtcagcaagcacttcttggaatcagctatagtgtctgggtttggtgtctgcatttgggatggatccccaggtagggtagtctctggataacatttccttcagtctttgatccactcttttttgctatatttcctatagaaaggagtaattatgaattaaaattttggaactgagtgtgggacccatccttcaaacatgccaacctctggatatggtctttacaggttctctctcccctttcgtggtatattttggctaatgtaatcctgttggagtcctgtgagttccttgcttttggcattggggactttctggttgctacacccagttacccatcccctattgctatacactgctattcaggttcctgacccacattacatctcctccatctcctctgatatatgattcttccctctttttcacctacccctcttctcttacatcccagttcctttcaccctctatttccattgagtattttgttaccctttctatgtagggcttaagcattcacactggtcttccttctgcttgaacttcatttgctccatgagttgtatcttgggtattctatgttctttgactaatattcacttataagtgagtacataccatatatggtcttttgtgactgagttacatcactcaagacaatagtttttatttcATTTTTTTTCAAtttttaattagctattttcttcatttacatttcaaatgctatcccgaaaatctcctataccctcctctgtgcactgcttcccaacccacctactcccacttcttggccctgcattcccctgtactggggcatataaagtttgcaagaccaaggggcctctctcttcccaatgatggctgactaggccaccttctgctacatatgtagaaagagaaagaagatctgagggcgctggttagttaaatttttgttccacctatagggttgcagacgcctttagctccttgggtatattctctagctccaccattggggccctgagttctatccaataaatgactatgagcatccacttttgtatttgccaggcactggaatatcctcacaagagacagctatatcagggtcctttcagcaaaatcttgctggcatgtacaatagtatctgtgtttggttgctgattataggatggatccctagatgggttagtctctagatggtccatcctttcatcttagctccaaactttgtctctgtaactccttccacgtgtgttttgttccctattctaaggagaaatgaagtatccacccattggtcttcctgcttcttgattttcttgtgctttgaaaattgtaccttggccttctgctccacttgagccccgggctaccttgcaagcagagtctcgcccaacacccgcaagggtccacacaggattccccacgggatcctaagacctctggtgagtgaaacacagcgcctgccccaatccaatcgcatggaacctcagactgcagtacatagggaagcaggctacccgggcctgatctggggcacaagccccttccgctccactcgagccccgggctaccttgccagcagattattgcccaacatccgcaagggcccacacaggactccccacgggatcctaagacctctggtgagtggaacacagcacctgccccaatccaatcgcatggaacctcagactgcagtacatagggaagcaggctgcccgggcctgatctggggcacaagccccttctgctccattcgagccccaggctaccttgccggcagagtcttgcccaacacccgcaagggcccacacaagactccccaagggatcctaagacctctgttgagtggaacacaacttgtcccaggagtctggttcgaacaccagatatctgggtaccttccctgcaagaagagagcttgcctgtagataatactctgcccactgaaactaaggagagtgctaccctccatgtctgcttatagaggctaacagagtcacctgaagaacaagctcttaacagtgataactaaaacagctagcttcagagattaccagatggcgaaaggcaaacgtaagaatcctactaacagaaatcaagaccactcaccatcatcagaacgcagcactcccaccccacctagtcctgggcaccccaacacaaccgaaaatctagacacagatttaaaaacatttctcatgatgatgatagaggacataaagaaggactttcataagtcacttaaagaattacaggagagcactgctaaagagttacaggcccttaaagaaaagcaggaaaatacagccaaacaggtagaagtcattaaagaaaaacaggaaaacacatccaaacaggtaatggaaatgaacaaaaccatactagaactaaaaagggaagtagacacaataaagaaaacccaaagcgaggcaacgctagagatagaaaccctaggaaagagatctggaaccatagatgcgagcatcagcaacagaatacaagaaatggaagagagaatctcaggtgcagaagatttcatagagaacatcgacacaacagtcaaagaaaatacaaaatgcaaaaggatcctaactcaaaacatccaggtaatccaggaaacaatgagaagaccaaacctacagataataggaattgatgagaatgaagattttcaacttaaagggccagctaatatcttcaacaaaataatagacgaaaacttcccaaacataaagaaagagatgcccatgatcatacaagaagcctagagaactccaaatagacgggaccagaaaagaaattcctcccgacacataataatcagaacaacaaatgcactaaataaagatagaatattaaaagcagtaagggagaaaggtcaagtaacatttaaaggaaggcctatcagaattacaccagacttttcaccagagactatgaaagccagaagagcctggacagatgttatacagacactaagagaacacaaatgccagcccaggctactatacccggccaaactctcaattaccatagatggagaaaccaaagtattccacgacaaaaccaaattcacacaatatctttctacgaatccagcccttcaaaggataataacagaaaagaagcaatacaaggacggaaatcatgccctagaacaagcaagaaagtaatcactcaacaaaccaaaaagaagactgccacaagaacagaatgccaactctaacaacaaaaaaaaaaggaagcaacaagtacttttccttaatatctcttaatatcaatggactcaattccccaataaaaagacataaactaacagactggctacataaacaggacccaacattctgctgcttacaggaaacccatctcagggaaaaagacagacactacctcagagtgaaaggctggaaaacaatttttcaagcaaatggactgaagaaataagctggagtagccattttaatatcggataaaatcgacttccaacccaaagttatcaaaaagacaaggaggaacaattcatactcatcaaaggtaaaatcctccaagaggaactctcaattctgaatatctacgcaccaaatgcaagggcagccacattcattaaagacactttagtaaagctcaaagcacacattgcacctcacacaataatagtgggagatttcaacacaacatttacttcaatggacagatcgtggaaacagaaactaaacagggacacagtgaaactaacagaagttatgaaacaaatggacctgacagatatctacagaacattttttcataaaacaaaaggatataccttcttctcagcacctcacgggaccttctccaaaattggccatataattggtcacaaaacagacctcaacagatacaaaaatgttgaaattgtcccatgtatcctatgagaccaccatggcctaaatctgatcttcaaaaacaacataaataatggaaagccaacattcacatggaaactgaataacacccttctcaatgataccttggtcaaggaaggaagaaagaaagaaattaaagactttttagagtttaatgaaaatgaagccacaacatacccaaacctatgggacacaatgaaagcatttctaagagggaaactcatagctctgagtgcctccaagaagaaacgggagagagcacatactagcagcttgacaacacatctaaaagctctagaaaaaaaggaagcaaattcacccaagaggagtagaaggcaggaaataatcaaactcaggggtgaaatcaaccaagtggaaacaagaagaactattcaaagaattaaccaaacgaggagttggttctttgagaaaatcaacaagatagataaacccttagctagactcactaaagggcacagggacaaaatcctaattaacaaaatcagaaatgaaaaggagacataacaaaagatcctgaagaaatccaaaacaccatcagatccttctacaaaaggctatactcaacaaaactggaaaacctggacgaaatggacaaatttctggacagataccaggtaccaaagttgaatcaggatcaagttgaccatctaaacagtcccatatcacctaaagaaatagaagcagttattaatagtctcccagccaaaaaaagcccaggaccagacgggtttagttcagagttctatcagaccgtcaaagaagatctaattccagttctgcacaaactatttcacaaaatagaagtagaaggtactctacccaactcattttattaagccactattactctgatacctaaaccacagaaagacccaacaaagatagagaacttcagaccaatttctcttatgaatatcgatgcaaaaatcctccaaaaaattctcgctaaccgaatccaagaacacattaaagcaatcatccatcctgaccaagtaggttttattccagggatgcagggatggtttaatatacgaaaatccatcaatgtaatccattatataaacaaactcaaagacaaaaaccacatgattatctcgttagatgcagaaaaagcatttgacaagatccaacacccattcatgataaaagttttggaaagatcaggaattcaaggcccatacctaaacatgacaaaagcaatatacagcaaaccagtagccaacatcaaagtaaatggagagaagctggaagcaatcccactaaagtcagggactagacaaggctgcccactttctccctaccttttcaacatagtacttgaagtattagccagagcaattcgacaacaaaaggagatcaaggggatacaaattggaaaagaggaagtcaaaatatcactttttgcagatgatatgatagtatatataagtgaccctaaatattctaccagagaactcctaaacctgataaacagcttcggtgaagtagctggatataaaataaactcaaacaagtcaatggcctttctctatacaacgaataaactggctgagaaagaatttagggaaacaacacccttctcaatattcacaaataatataaaatatcttggtgtgactctaactaaggaaatgaaagatctgtatgataaaaacttcaaatctctgaagaaagaatttaaagaagatctcagaagatggaaagatctccattgctcatggattggcaggatcaacattgtaaaaatggctatcttgccaaaagcaatctacagattcaatgcaatccccatcaaaattccaactcaattcttcaacgaattggaaggagcaatttgcaaatttgtctggaataacaaaaaacctaggatagcaaaaagttttctcaaggataaaagaacttctggtggaatcaccatgccagacctaaagctttactacagagcaattgtgataaaaactgcatggtactggtatagagacagacaagtagaccaatggaatagaattgaagacccagaaatgaacccacacacctatggtcacttgatcttcgacaagggagctaaaaccatccagtggaagaaagacagcattttcaacaattggtgctggcacaactggttgttatcttgtagaagaatgcgaatagatccatacttatctccttgtactaaggtcaaatctaagtggatcaaggaacttcacataaaaccagagacactgaaatttatagaggagaaagtggggaaaagccttgaagatatggacacaggggaaaaattcctgaacagaacagcaatggcttgtgctgtaagatcgagaatcgacaaatgggacctaatgaatctccaaagctttgcaaggcaaaagacactgtaaataaggcaaaaagaccagcaacagattgggaaaggatctttacctatcctaaatcagataggggactaatatccaacatatataaagaactcaagaaggtggacttcagaaaatcaaataaccccattaaaaaatggggctcagaactgaacaaagaattctcacctgaggaataccgaatggcagagaagcacctaaaaaaatgttcaacatccttaatcatcagggaaatgcaaatcaaaacaaccctgagattccacctcacaccagtcaaaatggctaagatcaaaaattcaggtgacagcagatgctggcgtggatgtggagaaagaggaacactcctctattgttggtgggattgcaggcttgtacaaccactctggaaatcagtctggcggttcctcagaaaattggacatagtactaccgTaggatccagcaatacctctcctgggcatatatccagaagaagccccaactggtaagaaggacacatgctccactatgttcatagcagccttatttataatagccagaagctggaaagaacccagatgcccctcaacagaggaatggatacagaaaatgtggtacatctacacaatggagtcctactcagctattaaaaagaatgaatttatgaaattcctaggcaaatggatggacctggagggcatcatcctgagtgaggtaacacattcacaaaggaactcacacaatatgtactcactgataagtggatatagccccaaacctatgatacccaagatataaaatacaatttgctaaacacatgaaactcaaaaagaatgaagactgaagtgtggacactatgcccctccttagaagtaggaacaaaacacccatggaaggagttacaaagacaaagtttggagctgagatgaaaggatggaccatgtagagactgccatatccagggatccaccccataatcagcatccaaacgctgacaccattgcatatattagcaagattttatcgaaaggacccagatgtagctgtctcttgtgagactatgccgggtcctaataaacacagaagtggatgctcacagtcagctattggatggatcacagggctcccaatggaggagctagagaaagtaccgaaggagctaaagggatctgcaaccctataggtggaacaacattatgaactaaccagtaccccggagctcttgactctagctgcatatgtatcaaaagatggcctagtcggccatcactggaaagagaggcccattggacttgcaaactttatatatcccagtacaggggaatgccagggccaaaaagggggagtaggtgggtaggggagtgggggtgggtgggggtgggggacttttggtatagcattggaaatgtaaatgagctaaatacctaataaaaattggaaaaaaaaagaaaaaaaaaagaaaattgtatcttggatattctaagtttcttggataatatccacttatcagtgagtgcatatcttgtgacttcttttgtgattgggctacctcacttaagataatatatgccagacacctccatttgcccaagaatttcataaatccattatttttaatagctgagtagtattcccttgtgtaaatgtaccacattttctgtatccatttctctgtttggggacatctgggttgtttccagcttttgggtattataaataagactactatgaacatagaggagcatgtgtccttcttctgggtatatgcccaggagaggtattgctgcatcttcaagtagtacaatgtccaatgttctgatgaaccgccagactgatttccagagtggttatacaaggatgcaatgccaccagcaatggaggagtgttcctctttcttcacatccttgccagcatctgctgtcacctgaattttcaaacttagccattctgactggtgtgaggtggaatcttagggttgttttgatttgcatttccctgatgattaaggatgttgaacatttttcaggtgcttctcagcccttcagtattcctcacttgggaattcattgtttagctctgtaccacattttttaatggggttacttgaatttctgtggtccagcttcttgagctccttatatatattggatattattttcctatcagatttaggattaaaaaaaatcctttcccaatctgttggtggccttttttgtcttattgacagtgtcttttgccttacagaaattttgcaattttatgaggtcccatttgttaattcttgatcttactgcacaagccattgctgttctgttcaggaattgttcccttttgcctataacttcgagtcatttacccactttatcctctataaaattcagtctggttttatgtggagttctttgatgtacttagatttggactttgtaaaaaagataagaatggctcaatttgcattcttctaaatgataacctcccattgtgccagcaccatttgttgaaaatgctttttttccaatggatggtttatgtcccttgtcaaaggtcaagtgaccataggtgtgtgagttcattgctaggtcttcaattctatttcattgatctccctgtctgtcactgtactagtaccatgcagtttttatcaaaattactctgtagtacagcttgagatcaggcattgtgattccaccagagtttcttttatttttgagaatagtttttgctatctcagttttttgtcatccagatgaatatgcaaattgacctttctaactcagtgatgaattgatttggattattgatgggaattgcattgaatctgtagatttctgttggcaggatagccatttttctatattaattctgccaatccatgaacatgggatatctttccttcttctgagatcttcaattgttttcgtcagagacttgaaattcttgtcatacagatctttcacttcctaagagtcacaccaatgtgttttgtattttttgtaactattgtgaagggtgttgtttcactaatttctttctcagcctgtttatcctttgagtagagaaagaccactgatttgtttgagttaattttatatccagctactgtactgaagccatttatcaggttcaggaattcNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN