ccaacaggatgggcagcacacgactgtcactagggttggttcaatctccagccgggccagaacagtccgaatatctgaaggaagagaattgagagtgttttgttggagcacattgaggccctcatcattttgacgatcgccaagtccgccagagaccgcgagggtaagtaggtcttttccagatttcaaaagccacgacgaggtggcaacggatacatgatcgaaaacagatagcatcgcggacgaaagtgagatgtgcagaacagccggattgacatccttgagggtgaaattgtagaattggtctgtaaaaaaacgagtataagcatgaataccaggaatgtgtacataatcacataaaatacgaaccacaattataaatatccgataggatgggactggaacaaggactttcggagcggtgggatttctgggcactgtcaggacgtacatccttcatatcattgtcggaatccatatcatcgtcggaatcatcgttggaatcgttgtcggaatctgccgttatacatcatcaggttgaatagaagccagacggactttctattaagccatagactacgcacctcgagatattccaaatcttgctgccatttgagtatcggctgcagcatggcttattttagtggctgaggagacgatggcgccgggtgcccaattgccatccttttgccggaaccgctgttgattgcatctttggcaatggcaaacgacggggtctcgccgggtgtcagacattgttgacccgccgggtcgagggtggcgtgaacggatgatatggttgagatggtcgaggggttggtgtggacgcaccggtgcgtggacggataacaaaatatggtcggggggctttggagtggactgtctggagaggagggatagggagggatagtactttgtatataaatatgtacatatgtaagttataggtccaaccagccaagggatcggccgagccgagataccactaaccttacgacttacataaatacgtcatatcacaggatgaaggccaatcggacggacatgtaatttgtatgtaaatatgtatgaccacaactgtgtatgtatgtatgaccacaactctgtgtgaccacatctttgatgaccaaattcaagcagcaggcaccaccaggctccactaggaaggtatttagcctgcaccgaccggcggcgagggaatcggaccccgttacctcagtgagggactactggaacggcttccctccctgctggaacggcttccctccctactggaacggcttccctccccagatgggtcagatgtgggtttcccttgtacggaatagcacaggatgcagcacaagatgcagctgcagttcctcagaatctatttgtaacggaaggccgatcggacggacaactttgtatgtatgaccccacaactctgtatgaccacatctttgatgaccacattcaagcagcaggctccaccaggctccattaggaaggtatttcgcctgcaccgaccggcggcgagggaatcggacccagttacctcatggctggactggattggtacggccattgcttgtgagggactactggaacggcttccctccccagagcatttcccttgtacggatgttgaataagacttgtcttccggtttcatgacttgggggatattatattggatgtagatctcgaaagattgcagaaataaatccaaataaatacaccgtggactgctatgatcctttgtcgtatcaacaacaccggtcctttgtcgtatcaataacacatctctggttatcatcttggtaccgggctcctgcctctgcctctcatcagcctactacttaactcgccccaccggcttaactcgccccacctgctaccatctccacctctactagctgtctacgatttgcaaccaatcagcctatattcctaaaatcctagaatcccacccgttagctgtctgctataccatgcatcccgccgaactcaacagatccgacgtgcccgacgcacaatctgtggagaaaggtatgttattagtgattttatgtagtgtagaaaaggtagatatcttaccttatatatcttaccttatatatgcatcatgatcggccattagcttctgtgactgtcacagcttctgcaaaatctcaagtgcccgacgcaggatctgccgaggaaggtatgtcatagagtgattatgtacaacgtagatgttaaattactatcagcttatcgtgaatgtaatgtgccattagctcctgtcacggttgctgccccgcccagcaaatccaacgagcccgatgtggcattagctcccaaggctgacgagcccgatgcagcatcagctcctaaggccgacgagcccgatgtggcattagctcccaaggcagctgaccaaggtttgtcgctgaaatcgcgtccatctatcttccaatacagcaagatgctgacgtttgatcttccccagccatagaaaccgccgcggcagttgaagacctctttaccaagtttgaacgtcaagcgttcttcggtaccccacgcgctgctgccgaagagagcgcttccggagtacccgatgcggcaccggttggccagggaggtgtgttatcataatctcatttttcatcatgtaaattgaaatgcacacgtttgacctccacgtttaatcttaatcttccctccccagtagaaaccatcgcagggctcttcaccgatgcagagtttgaagcaatggcagaagggctcttaaccgaagcagagcttgatgcgatcatccagaccttgattaccaccgggagatatcgcgggtctctgacgctggagcaggtagagcaactcaaagccaagtttccagccatcagagacagcaaatcccacaagcccgatgtggcatcggtggcatcgactcccaaggccgaccaaggggctggccaaggtttgtcatccatcaaaattttgtctagcttctgaacagccctgactttaatcttccaaccgccgcagaaaccgccgtggcagccgacaacgcagcagaaaccgccgtggcagccgacgatctcttcaccaagtttgaacatcaagcgttcttcagcatcccaggcaccgctgccgaagagagcgcttcccgagcacccgatgcgacaccggctggccagggaggtgtgttataataatatgatttttcctcgtgtaatatcatcaatatccgatgttgaatcttccctcgccagtagaagccatcgcgccggcagaggggctcttgaccgaggcttcagttgacgagatcctccgcaccttgattaccaccgggttatttcgcggtcgcttgacgttggaccagcttagccaagtgagcgacaagctttcagccatctacggctttagcggcgccctcgacatggaatacaccgagactccagatggggtggttcctgggaacttcgtacttcaagccctcctcaagcaatggtcgcgcggcagttatgaaagtacatactactactttccggattacatagcttttcgaagcatgcaattcgatgtagataacaccggaggtgaggcgtatagttaataatacaattggcgatacgggactgattggtggattgtgtttggaaaaacgttggaaaagccaacgtgggattctttgtaggcccagatgatgataggtggactctgatttaccagactcatccggcggctcgtttttgatgatggactggttgccagactcatcccctaagctccacccgaggcgtgatgaatttccagtttatgctctgtgcctgttttgtttagttcctccccgacgcgtgataaatttccagtttatgctctgtgcctgttttgtttagttcctcattcctagcgtgctgtctaagcctgatgaatgttacaagttctgtgcgtgatcatgaatgaatcaatgaatgaatcaagttcgttctgttggccagccaacctggccgagtttttacaagcccaagttgaatcttttgcgggcatgagggccaagctgcacgccgccacaaactgaccagactagcacttcaagccaagttgaatacaccgccacaagctgaccagacaaggccttcaagtcaagttggatcttttggctggggaagatgagttagagggaaatgaatgaatggccattgctatatacacaagagactaagtgagatcatcgacaatgctatttacaatggagactagtggccatggctatgttacaactatgcacaggtggctatattacagctatgtacagattatgtatagtgaaaaagagaaagtaatcaggcatttacaaggatcgggtcagatcagcttctttaattctttcacgagaccctttaatgatggacctgtctggatgtgcaacttggtcaactcggggattctttgattcttgagccagtcttcgcagtacgcatgggcagggagttgagcagggcagggccaatcactgatcctggggttaccgtaccgaaatcgggtgtatgacgacgatcgtccgaaatctctactgcccgatttcctcttacgctcaattagttggtcgattaattgaacggcttcttcaattcgaggatggcgccacggcaactttgttacgaacgcaattctctcattctcacccgtgtccatgtccgacccttcgatcccagcgtcactttcggtgtcactagtgcactcgtcaatcaccgggataagggggatgaggaatgattgagtggtacaaaatttgagtcgagcatcgcgtaactgcatagatggatggttggtaagtgggatcatattcagtgagattgaagaactacggtggtacttacacgagtggtgcacatttgacgacgtttcttctgggcctgcgcatcctgccgtcgggggtcccaacctgcctgggtgtacctgcaaggtaaattaaatgtataagttagcttgattcttcacaagagttaaaagtacgctatttcagactcacgttcgcttgagttgcttggcatgattgagaatcgcatcatatatctttgctgaggagcaagtctcgagatcaatttctgggtactcctgggctctgactagcttgatgaaaatgctgtgggcaaggtcccataggaatagattgtcggtgtcccggacagctcgaacgaagtcgggccggaatgatactacgcgacatcgttgcatagaacgccacatgatcttgagtgtagacgcagatgcttgcctatgaccaggtccattggcatatggaaagcagggatcaacggcatcgtcatgtgacgatgcgcttgaggcggacatgggctcgtcttccgggtagtcgttttccgggtcgcgcctccacagggccttctcggcggcagtggccgggggtggaaagatattcaattccattgtcttgccgaatagggtcctgatgtgttggcgcactcgagcctacatgtaaacagtcaattctgattagtaatgatatcatgtcattgtgtagctgtttaggtacaccttaccagaagagacaggtctcggggtcctgaggggcgacttgcagggatctggggttgaccagtaatcggcataaggctagtactctgcataagcgatgcttgattcgtcgcatggacaatagaatcggttagacgccctgcagcttgggtcaattccgacaacattccggtacatcctcccagggcgcaacctctcaaattaggatttgccgaaggtggtggggatgggctacgagatggtggtgacaatcctggaggcaccgagttcctccacctctcaaccccactctctgaaggattgggtactataaaatcgtcatggattgatgggattgtgaggctgttgagtcgaactctttgctcccttgctcttcggcggcgaacgtgtgcagagctcgggataaggcaggcagctgatggcgctcgccgtttggcacgttgagggctgggagagctatcatccggtcgtcgtcttttgctccggggagtcgcaagtgggtgggtttcttgcggatggtcaaggtgaggttgagtgggcccgccgtcatgaaaggaagaggccaatgggtcatcatgaaatgaggatgcaggggcatagctgtcactgcgtactcttccttctctacgggaggtggatggacgaagggggggcctcgactgttgcagctccaagtcagaccaatcgaaatcgggtggattgggtcgagtccgtttagtgtgaactgaacgtgaagaggactcggcagggggagttctcttgcttgggcgacccagccggtctgactgctctgactgttcagtgtgtcccggtgtcacatcctccaaatcgacctgaccatcatcacgaaaggagggatgaggagtgtaggtattatgccgggtttcgggttggcgacgacgagaggcagaggcttgacgatgggtagcgaactcggaagaaggaagatcatcagggccagggcacgcccgtttcgcacgggcaggagtcgaagatcgattcttccttttctttgaggtctcgggaagaacaggaacaaagttcacagtatcactagccaggtcggcttcatgatgagtgctaacgcgccagcgggttctcttgggccgggatgctcgcgctcgacgttttccggctttcttggaggtctggggtcgattattgcccttcttggctcgcttttgtcggggattttccgtgggaaagcttctggtggttctgatggttgagcgtgtgctgtttgatgcccgagaaggtgtaccaaccgacgtctcagtgggcgcaaccgatggctgatagtcagatgacccagagtcagatggactctgaggagggatggaggcatttcgaggccgctccggcctggagtatacaaacccaacctgatcgtcgtcactgcttgcctcaactctggcgcgagttcgcctgcgtttgattccagtggaggatggaggaggactggactgagaagctcttgggcgtttgaagggctggagatccccaagatgagggagactggatcgaagcaggttgtagctaccaatgattcgcgcaagccgagtcgagcgatcgtacggaacatcatgcgccgctagatattcttcgagttgaactcgcgttagaattgacgcatctaaaaatatataatattcaattagtatcatgctgggagtggagacaccgcaaacacaaataaaacatacccggccactctgaggggtcctcagacttgcgcttcttacttgctccggaaagtggctgaggcctggagctagctgtcatttcatctgtcacacgccgcctggacacttcgggccgtgaagactgctgggatgattcggagtcgtggtcttctgagtcgtggtcttctgactctgaagaatgattggccgatggcgatgtcgatgatgcttcggagtcaccagcttgcaccaagggccgtgtagagacttcagattcttggtctgctagccttgatgaccattcagatgatcggaagtcgctgtcttctggctcatttcccagccccacaggagatgacgatcgttggacgcgggacgattcgacttcttccgaggctcgtggggataagtcggccgtcggaggttgtgcaccttcttcaaaaaatctggaggttgaagctgcttcgaagggagactcagggccttcttcttgagttgactgttgggaggattgtattgattgactaccatcagctgtagtggcaacggaggaccgtccaaagggagagatgaggctgcctggcgcttcaaagggagattcgggaccatcttgagttggctgttgaggggtcagtggcgcttcgaaaggagactcggaagcttcttcttcagttggagaatgcctgtcttgcgaagattctcgagagggcacggggtggatgggggagtcagccaggctaacggatggagtgggcgagcttgcacgcgtggacgcttccacaacatcacctcggcgatttgacatgtctgaatcatcatcagagccgtattgtcgagattcattgtcatgtgcctcatttcgggagctctgagtcggttcaactgacgacagggataattcatgacttggaaggtctgcgagcatttgactgtcttcgtgggctgcccgtagtcgtggggatcgacggagagtgtgatgttgggatgattcagacatatgcgacagtgacctcgggtcggcggctccggttgtagaagagcgcctggaagtcgagctgacctttcgaggcttagcactggatggctgctcgtcttctgcatgttcccggcggctatacggcgcaaaaaaggtctcactgcgggccgctgacttgatccgcttgctcctgccatgactgggaagtttttcgatacccggcttgccgatatgacttggaacgagccacagagcatttgacttgggcagtggtttgggaggacttgatttggatttttgtcgcaagttggctttgcgtttcttgtgttcgggatgaggggggatgacgactgagactgtgacgcttgtggctggagaagaaggaatgagagaccttcgggttggggcagctggagtgatggattggtataggtggactaagtggccacgcttggcctgcgctgggtagtcaatcttgtgtagagccaggaaaatcttaatctgggaaacaacaagtgcatcgggagctgaaaacgaaaatgtgctgtcagaaaccctcctcgactatgaggtagctcattcgactgacctggcaggggtccagttaaagagtgttgcccgatccaaaacttcacagagtcaggcgactggatccgcgccaggcggacgtactgctgaaataacttggtccggggttcaccttgatcgatggagattttatacaccgacaaggtatggcgaagccgagggatggtaagctggttgggatctgaggtattgtacacactggatatcagtggagcccaatcgggatgaatactgtagactgttacttaccatcccacaacggtacacgatcctctgcggggcgcttcatggctacaacaactatgataaactaacaaattaaaacacccagtggagcgtaggactcttggagtggacggatcggatgttaggcggaattattagacggatcgaatggtggacggaattaatggatgatggggggcaatgaagacagcctcaagctgacggatcggcggtggtagacggaattaatggatgattaagtgcaatcgaaccagcgtcaagctggggataagagtcgacgtttataaatggtagacggagagtgcaatgaaaacaaacagcttcaagctggttaatatccgtatcaacaatgcagatgagaaacgatggggagaagtggactggtcgaaggaggatagcgtgtctgaaggaagatatataccaaaagccactagtcgaaagatttgaaagtcatacccttccaagagaacgaagatttgaaaggggtagtccgttggaggtcgagaataatcgattcaaatcccttggaggccatgaggcgaattggttggttgccaacatctttgaaaggcgatcgttcaatccaacccggcggtccttcttcgttcatcgtttgaatggcttttcttgactggactttcaatggggaacggacgttaggccggtgaccgaatggaattgggtggaggtgttagtctagaagttgtatctcgtgaccttttgtggtatgacggcacgatcggtcaggcaggaggatggattaaaggaaatgaggaaatcggttgaaagccttagttttctatgtacctcattgtcgaaagcgttagggtcacatgtccttttgtggtatgacggcgcgatcggtctcttggtggtatgacggcacgatcggtcaggcagagatcggacctctaagagcaaaccctgtacaaatttatttggcacacgttattgtccaaaatccagcagcagagcggaatagtacttactcgactaagagagctacaccagagaatgtcgttcggatgggttgtgggaaggaacgaatcagaccaaagctaggcaatcgagggggattgaggtggaccggatcaaaggtacacatgaaagttatgaagcttgaacacattgcatgcatgtacataaatatgtatgtataaatctacatatgtatttttttgcccttacagctcgagctggctgacccaccacaagcatctaccacttataattttcagaaatccgacaagaaaggactgatcgatcgatgtcgccgaggtggaagaagtcgtaccgaggtggaagaagtcgtaaactaggccagaagagggcggttcaacaaaggactgatcgatcgatgtcgccgaggtggaagaagtcgtaccgaggtggaagaagtcgtaaactaggccagaagagggcggttcaacaaaggactgatcgatcgatgtcgccgaggtggaagaagtcgtaccgaggtggaagaagtcgtaaactaggccagaagagggcggttcaacaaaggactgatcgatcgatgtcgccgaggtggaagaagtcgtaccgaggtggaagaagtcgtaaacaggtcagaagagggcgaattcaatggcttgacctcgacttgtcccgatcaatctgttggtgttcccgtacggtacataccaatgggcatcattcaatacgatgtgccaagaggcataccgctgtcttcttgtattcggtctccagccatctatctgcctctggtctcatctcgtctctagtcattgtctacttgctcgacaccatacccagccatctcccgcccccgctagtttcacatctattaccagctcaaatccattacccgccatgcccacaggcaggcctccaccagatgaagcggcatcgattgattttgaaccttacaacccagcaaaccacaaagccgaactcgcgtctttcatttacaaagtcgatagccatgccataattccctcaaagatcaaggttgatccattacgtgaccttgcccaagaatacttggacagacttagtaagtgtagcatagctagtattattacaatcttagtctcgctgatactcttgccggcctcacgtcttcagtactccgacagtcggcccaaaactctcctcacagtcaaacagcaagccgtcgtactgaagacgcctccgacggctccactgaagacgactccaacgactccctttcctctcctgaggtctcacctgagccagtccaactaccaataccgccaacaacagtcatcactccctctcccccgccgagaagaggggcccgatcaccaggcagagctaggactggtggtcgatctcgatcacctgccagacctgctgctcgatcacaggcaagagctcctcgattaccggccagaagagctcctcaatcaccggccagagctgtggctgatcgagccccagcgccggctagacctgcacctagattgccagcaagagcccctcgatcacaggccagagctgcggctgatcgagcaccagcaagagctcctcgatccgccagagctcaatcacccgcgaaaactccttccaaaacagcccgagctcgaccacaggcaaggactccttccagaacacgcgctcgatctccggcgactccgtccagaaaacaggcacaaagttccaggcactctgctgatactcgtggtcgatccccatcaagaagatcaaagggcagatcttcatctctctccccctccccgaaacgagcctatcctagaagctctggacgagcctatgctagaacctctgcatcgccatctcccagaaatgcccgtcctgaaagccgagcacctaacgaaaaaaaacgcatgcaatctcaatcaccgcaacggaagtccaaaaagcggcacgtttcatttgaagaattgcagccaaagagacattcaaaattacccgttgaagacgaatcgacatctggcgaggattcatcactttcagaatccagttctcttacttcacagtctggcgactccaattccgattccgagtcagacaacagagcctcaaggaaaagtaagggtaagaacaaggcaccggccaaagacaagtactgggatcaagccaaaaacaattacaaaaaattcaagtcggtgaagtctgcgcagccactcaagtcagcacttgtaactgtaagttgtcgtctttcttccttgcccaatattgtacggctcgattttttctgattgctgttccagggtaaaaaacttttgaagaatcacatcatcaacatcgactctggcactgatactaacacccgtcgtcataacacccgttcgggccgtaggccaccgcggcgctcgccctcgccagcttatgaagacctgtgctacgccgaagagggacgacaggacgccaattcatattctcgcccaaagatctcgcccttcttgcagctgcctccggatcgcgagcgatcgaatcaagatgtgccagctcagagtcacaaccaagacccacagcccagacgcaggaggtacattcagatgggagggggaagccaaacgtttgccgcagcagggattgattaccatcagggcaaagatcacccatctgaatggcgtttcacccccgccccaattcccttctgtccgactcttgcacgaccccattgccccagcacctctcatctggcgcagtcacctcactcactcacagcgacccacaggtatcccagtgttgccccttcgtatggatatcacacctctcagtccaacgtcggggatccagcatctccacagttcaacatccctccagcatttccacagtccaacgtccctccagcatttcaagtcgctccagcatttcaaccgttgtcaacacaagcctcagcggtcgcagacagccaagagcctggccctccggccctcggcagaccaaagcccttcgactattcacagtattggcccaaggtcgaatcacaaaatcagaacttgccaatcaaaaaacccagcaatcggagaccggctccttcctcaaatttcaatttctcctatgctcttggtatccaggaaaagccggaccctcagccgcttggtcgattcaaccagaccctagaaaaacagccacccccgccgcccctttgctttggccaatctgctcaccacgcaaaacaacctcatgccctgcctcctcgattcagtcagtttccgaccggtcaactcagtcaatctggtataacgccaaccagtcgatttggtcagcctgacctacagataaaacttccgaccagtcgattcggtcagcctgacctacagatatgtactacgacgagtcgatgcggccagactccactcccgactctggccactggaaccctcttcagacctaccacggagcccacannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnttttatccaaaggcccagacaaaagatcagcaggcctgttcttcggccgcccaggtcacaggccccagccccttgtggtggggtactccctcacctgtcacaatccggaatagtagctttcccctacaagtcagcgccacccgccatgtgctaaggcagcgcttgcgctggctccaattcagtcaccccttgcgtctgaatcagtggcgcggtcagtgagccttacactcccaaaccaacttgatggtgattgcagcgaatccgtctaatccaactgattattttttttcctttctcaactacttactttcaccctttttctagagaattgtagatagctttctaaagaaattgtagatagctgggaatagctgtgaatagaaataaatagttactttttccaacatgaattttgaattatagctgtaaatagaacaaaaatttttgaattatagctgtaaatagaacgaaatgggttttcaaaattgcaaacaagctagagagagaaaagcagccctgaagtacaaaaaacaaagcaaaaaataaaaaccttggaaagggctggccctaaagtacaaaaaattcaatataataaaaactttgaaaaagcagggcttggagacaaaaactttcttgaaaagcagccctggaagcacaacaacaaaaaagcagccctgaagtacaaaaaaaaaaaaaaaaaaaaaaaaaaattaaaaaaaaaaaaaaaaaacccaagttccccccaaggtggaacagggttttgtttgtagtggtatgagcccccctgcaagccacatgtccaaagggtcagttgatgagtggcctccccgggccgcggccgcactacccaagccggcaagcattccagtctttggctgcagtcacagatattttggattaatttagtatgagaaaaacaagacaatagtgaggctgtattgatttggcttaccttgttagcaacaactgctgatgaggtgggaggagtaattggcttgggcttataaacagaaacccacatctcccgggtgagccgtatnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnccactttgacatctaacgtttgaaccattggatcccacatctaacgaggtcggaccatccggagcgcccaaggatgaatcaagtgcagcatttccgaatgttgcagaaaggcccggtgtttgacgccagaacgagcgacccagcatcatcgatacggttggctgcaaaacttgattggagctcgtgaaattcgtcgcctggattgagaccgtcttcaaaaaccgatgtgtaactagccgggtccacaggcagcatggcaggggagcgatgactagaggtcaaatacccgctggagcccaagttgcaatttgggttgttgtcgtagtttgcaatctgacccccaggagcaatgagatgtccctgggcggcaggggccacgtgggacaaatcggcataagcatgtgggtctgcacttcctggggtggctgcataattgtagacattcgtcccgtgtgcgtgatcctgattcaaatgtgggttgcggacgaggtcggacactctggtggtgttcatgttcgtaggatggccagtgcctgcagcaatgcagtagtcgtttcctgggtgctgaatcgggttgatcataggttggcaaatgttgttgggaggaagtacaccgtagatgtctgagtcatagttcccggttggtccaaggccataggtgttgggcaattgtcggtgatcattgtttgtcagtggggaaccatagtagttggatggagggtggccataattgatggctggtgggggaccattgttgttgggcggttggggaccatagttattgggtggtggtggtgcgggctgattgttgttggtctgtgcttgggcatagttgatagccagcggttggccatagttgttgggccgtatggggccattgtagttggccggtggttgtgcggggctgccgtagttgggtggagggtggccatagttgttggccagtgaggggtgatagctgttggccggtggggggccagactgtgtggatgtgccccagttggttcctggtctgtgtggggccccagggaggttgggctgtggagtgccagactggtggccactgcgatgagtggctccgtacatgtgattggccgggcggctggcaggacgtgagtcgtgacggatgggtggcggagggccgttgttgtctgcgcgaacagtgggctggtgtgtcggagggtgttcagaggggtaacccctgccactgtggtttgggtgggaccacaggtgatattgttggtaagacataggctgtgatgaggagnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnncccttttttcccccatctcactttcatacataaccttatttacgggcacctttacctttttttcccattattccctttttaactttcttaaccttagtttcccttttcccccctttattccactttttactcttttttcatgtttttactttttcctcttcttttaccttgttccccccctggtttcccctttatttcctttttttcacctttttacccccttttctgcctttttctctctcacttttcattcccctttcctctctcactgttcccctttttaccttttctttcccattttctcacctcactttttccccttttttaccgcctttattacctttttgcctttttttttacctttttttatccttcttttcccttttttttccttttttctttcccattttctcacctcacttttttcccttttttaccgcctttgttacattttttttacattttttgacctttttttgcctattttttcctttttttttcctttttttttccttttttttttcctttttttttcctttttttcctttttttttgaggttattccttacctgctgggttccttaggggcctggtatgcggatcgggtgcgagcggcacgcttgggcgtttcggggggcttcggttgaagctgcgtgcttcgatcggcgtcggttgaggtggttttgaaggggtggatgttaattaataggtcgaacgggtcgttttcggtcggtcgaggtgttttgtggctggatttggggggaaagaaaaaaaaacggcggggggaaagaaccgggcaggccgcttacgnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnggtgactggactgcagatgtacagtgggtagacagtgaaaatctggtgtgcttattttggattccagagctacaaaacacaaacttgaagtcatgagactgggtcaggtggtgcataataggtcccaaaaaatgaatatgaaataataaaagcaaaaaataaagtttgaaaatttgtgaaaaataaaaaataaactcaatttttttcaaaagctttgatattcattttggggagtgagagtgctgagagaaagaaagaatggaacatgggaggaatgattataaatgaaaaaaattggaaccaaaaaaggtttagccaggttggtggtccagattggagccaaaacagtaaatctagtgctttgctgcaatgtgggctggtgaatgccccactcaacagctgtttgaagccatctgaaaaccagtttttccaaaattttcatttataatcattcttctcatttcccaatctttctgtctcgcagcactcccacacacccaaaatgaatatcaaagcttttgaaaaaaattgattttattttttatttttcacagattctccaactttaattttatgcttttattatttcataataacttttttgggggacttataatggaccacctgacccaagtcttatgaactccactttgtgtttttgacgccctcggaatccaaaataagcgagccatttttctctgtgtaggcactggggcatgtaacgatgcattttcaatcatttccacacacttcgacgatgcatttaaaagatagcacgggcnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnggagaagggcgatcgatgagttgtacgagcaaaagtggcaccaaacaaggccgggaacgaatttggctaggcgcgagttggaaaatcccgacaaatgctggttcgactatggaaaaatacatgaacagctttcgagttgaacaggatattgaggcctacagcgaaacccaaatgacgacgtttgaccgggtcatccgtaatgctaagacagctgcactctggtcctctgtcgatgcgaatcgcaaatggaaaggagcgagggatctcgactccattctgataagcgacatgtcgttagccgaatgcaagacgatggttactatctgggcaatgtttgtacgtccagatttatacccattacaaattgtcgagttaggctttgattggaccatttctggttgttatttttttctcttttgctcacttagggctcgataatctatctgggagacgatctaacaaagttaccagaagctagaaaggccttagtaaagaatcccgaagtgctaaaactcgccattttagcgtccacgaaccaagccagattggacggattcgatcccagcgtgcagcccgcgcaaacagccaacttgcaatcgttgaaccagcttgaggccaaagataccacagcagttcaccaaaagtctgctcaggaatgtggagaactggccgaaaaacgccgaatcgtagttgagtatggcacgcatcaaaaagtcgataactccgatgatttccaaaaatcttgcttgaaatctcgagcaagtgagaagttgatgagccttcaagcactctcggccggtgagggtgtcaaaccggatcaatggagcctccaatcttgggtcttagagcagggtcagggcgatatctatgtggcagttatcaatgctggtcaacagaactcaagtgatagtgagtcagaaaaactagattctgatcatgcaaatgaagtttggttgctgacccattctcaaatgttcctgaatcagagccagtcaaagtggatatcagcttgaacaaactccaaacccttcaaaagagcccaagaatcaagcaaatgaccggaatgcgatactcggtgagagacttgtggaaccagaaagacttgagcagcatttctttccaacacaaaatcgattctactctggagactcatggctcgatcttattgaagtttagtccaatccaaacccccactacaagccaatgagaatttcgagccgcacatttcattctttaaataatataatggccactggacctttggttctctattcctgtctttttcttggcacggggaagcagcaatttgaggagtttgttttgatctcttggactgtgtttcttgtttgtaatttcttaccagtcaatcatgcttcatttcttgtcaggatgccaagaaagttccatgtaacatgttttcataaattttaatgagaagcataaaatttcccccaacaaaactttactataggatctacattttggattagaagtggtttccactcatcttaatccatgacccaaataagcctcccaggactcgggggtgcagagcaccccaatgcaaatcatctcctttggagggcgcgagggcacttcgcgctagccttgtactagggccctctgaagcgaggtttgtgtgaatttagattattactgattaggaacaagcagtgacgctttgaagctccacaccagggaagnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnctgaagtgtaggaacaaatttaaaatgtcaaaaaataatcaataattaagctgttaaaaatcaattgaaaaatatgactaattacagtattcagaatgaaccattgtgttttatggaaattgaatattaccattaaatctacacactttcaaatgtaggaaaaaacttcaaaatttcaaaaaatcatagaaaataaggtacatacatgtatgcaaacaattaagtgaaaacgtgaaggattaattaaaaaaaatgtgtcaaatgcagcattcaagatgtagttttcattttgatgaaaaatagttgttaccatcattttaaccatgtcttgaagtgtgggaaataaatttaaaatgtcaaaaaataatgaaaattaacctgtagaaatttaagtgaaaaaatgtcaaatttcagtattaaaaatgaactgttgagttttgagaaaattggatgttaccattaaattgtacacgtattaacacctaggaaataaatttaaaatttcaaaaaagcattaaaaataaggtaaaaacatgtgtgcacacatttaatggaaaaaatgagtggaaaaaaaaattaataatcaaaattcatttttatgaaaaatggtttttaccattaaattctacgcactttaaaacctaggaaacaattttaaaatttcgaaaaaactcaaaaaataagcgggaaaaaattaaattaaaaaccgcgtgcaaacctgcgcgcagcagaaaccgcgtgtaaacgcggatttaccgcgtttttttattaacgcccaaaaaaaatgtcaaatttcagtattaaaaatgaaccattgatttttgaaaaatttggattacaccattgaattctacacacattgaaacctaggaaataaatttaaaatttaaaaaaagcataaacaatagggggtatcaaatataggaaatccaccattcaaaaccagtcacttttccctaaaaattttttggcatcaatggaccccaaaaggggtcaaatgaataaccaacatgtttaaaaaagggtggattttttcaaaccagtcaattaaataatggtggatttggttatatttgataccccctaatgaggtagaaacgtgtatgtaaacaattaattgaaaaataagtggaaaaaaaattaataatcaaaactcattttattggaaaatggacttcaccattgaattctacgcattttttcacctaggaaacaattttaaaaacttaaaaaaaattaaaattaatggcaaaaataaattaattaaaaatgcgggtttaaacacggaatgcgcgtgtgctgtgccgcagcaaaagcgcgtcaaaacgcggaaaatgcgggtttttttattaaggccctttttcaattaatttttgacagattaataaataactagaggccagggcggcttcgccgctgcactccaaaatccagcaacctccccagccaacaaacccccaagcagccagggttcgcaaacccccatatactaataaacttgacccccaacactgaacatgcactatcacccaagtttcaatttcatgaagttgggtacataaggattattgtccttgtttccttttacagttcgtcaactgtgtcaaacactaagctgatattacgtgaagtcaatccacgttggaggacaagtttgaatttcaccaaagatttatattacaataagctctaaaaaaaatcatcaattgtctatttggaatgctttccccgatcagtgtttgaaaatagaagaatgcacaacattcacaacccctgtcctcacatcgggctttgctactaagagattgttcacattagaaacacgtgacaatgctacatacagttgcccatgggcaaagcagtcagtttcaagcaaaacacctacacacgccagagtttgaccctgagacttgttgatggacattgcataggctggacggattgggaattggtaccggaagaagctgtatccatcggcggagttgctcttgttctgtaattttatcttcaggatcatgatctcatcccccttgaagggccccgacatcaactgacctaagatgaagccttctcctatctccttgacaatcaacctcgacccgttgcagacaccttttgaaatgtacagattgcgtatgaccacaactggcattccaactttcaacagcatccggtgctcaggtaggcccggtggagagagagtattaagacattcctctggaaggctgttccagccgtcaggatcagggatatcaatcgacttcaattccagtgcaactcccggtaatctcataatgacttcatcgttcagaatcttgacgtctttgattagaggtgccaaaatgcagcgatcttgcaagtaatccccattttcggtcgatgtcagtccaaaatgatgtgcaaggtccccatagacaaagtcgaccagagaagttcggctctccttcgcggttcgaaaacttttgatgttgacgtgttttggcttgataacatcattctcaagttgattgtacttcccctcaccaataccaagcaatgaccgtgcaaaggtccggttcctctttgcctcacgtccaatggcttccaccctcagccgcatgttcttttccaatttgagctgcgtgacgtgtttccagatgaaggatgacttgatggtggctgacatgatactggaaattccccaaatttcactaccgggaggatttgacgaaagtcacctgcaaaaattactaccttccccccgaacggcagatccaacttgcatagatgttttagtgtcctgtctaccgcttcaattgaattcttgtgaatggtcaccacctcatcccaaatgatgagttcacatttaattaaatccgcactcgtaattgtgttatcgtcgattccacactcgacattaggctggcaatcaattggtattttgaaggctgagtgcgctgttgttccccccttcaaaagcagggccgcgactccggaagaagccactactgtcctactgatggaccttgagtcagcgaggtcgatgagtgagttgaggaggaacgtcttccccgtaccaccaggtccatcgatgtagaacaaacatgctttttttgtgagcaatttttgctggacttcagcataaatatgtttctgattgtcattgaaacgtgagacgtttctgttcaaccggcttgtgatgacttcaattgattcgataactggcccttcgcttcgcatgctattgagcagggatttttcttcatccgatatccggagcccacacctctccagactgctacccaagtcattcaacattgattccaacctccccagaccaagcaacctcctttcgcccaacgatagggtcagactatcccggaacctcatgtcgactcttgtaatatcgtctgtcatcacctcgaagtggtcctcgaagagctgcattggggccgatggtggtgtgtgaacacagatcattgcaaatagctgagatagatgaaagcctgagcgcacgaagcttgcttcaatcaacgtcgaatggtacaatgtgtcatccaccaaaagtcccagccagttgcatgcttcttgataacaacttgcaactcggccatccacggttcttaaatcctcatgagactgtacatttttccggtgaagtaagagcgtccgcatgtagaacttttcaccggccaagaatgagattccgtagatccgaccaaccgcttcagactttgttttccgcggcttccatttcttatcggctttattccaagagaagtatgcgggaatattctcatagaacaatgtccgagcactccggttgtccgcgccacattcgttatcaatgttcaggcaaaagtaacccgtcagcatcgtgctttctgcactccccgatttgatctggccggcagctgattcttcactgtcaaagtagaccaattgttcattatcctcgtgaagagctaaccgcgttacagctgggtagcgctcggagagtgggaacttcaaaaggcgccaagcagcttcacacacaaatgtcagctcaatatacttcacgatgaattgaagagacccttaccttctggaggagagatgtatcgagcatcgacataagcttttgtctcatcatcttcttgaattttcaagtaggacctgttgtgtccctttgttatgtatttgtaaaggtattttattgcagacgagctgactgggacctctacatttatatggcattcaaacatcagggagagatacttgttgaaaggaaccacggaaccgttagtaaatgttgtggtgaatttctggatggtatttccattgtctcgacggcggtaaattgggtacgtcccatcaactgtgactgttcttgctgataacgcttttgggaagcccaatctgcaacctttctcagtccagcaagctcggccattacacggaccatgaagcatgaaattagatatgagcgaatatagttttggtgagtccagcttgtttggaatttcggcattgacaaggaggtcgatcttctcaggtgtggttggtctgtccttctcttcgagtgtcaacatcaggtgaatatgaggaagtcctcttttttgaaattctatcgtcgagacataagcaataacccttccaagacaattgaggtcaaccaactggtgtaacaattccttcgactttaaccggaaaactcgtgcaactatcgtggggtggtcgtaagccttctcgccaggcttaaggagcgcttgtatttctggccactgggggtttgccgtcattgttatgaatagtgatggtggaccatactttcgacagattgccatcgaatcctgatacagctgtcgcatgtatcgtggacctccaataaaggacgatgggagtattatgcgccttccacaatttggctcggctccatcaatagaggacaccagtttatcatattgggctgccttcaattttccttgattgaacgtgatgaatcgcagccttgacctctccaccacgacgtacatgtcgaccaaaaattcttgaaataacgacctgcccgctagtatcggtgaaaaatcatccagatgctgaaatagaaggaatgcgaaccactccaaagatccaaccttcctcccatggactgcattaaccagataattaattcggttagttatgttcaacctctacacaagatgaggttactaaccacgtccagtccatgcctgatacaagttgtcccattgttgcgaaccgtacggaaagaatagtgggtacctcaggggaaagtaggaagagtgaacatccgaaattatgtcgagtttgccgtcatttcgatggagcacaatttgtcgctctcctatcgtttcgccgtcgccttgaatcactactgcaatttcatcgatagcaggttgattgtatcgctttgggtctccaccaggatattgtacgccctggagagccagcgtttttgcatttgactcctgaagaacctcccgagcacagcggtaaagtattgcataagggttgtacttgtcaagaaaacccaccaatttgccaattgtcactgatgagagcttcgcacccctcccccttccaccagcttttccttgggctttcatgagcctcaactccgcttcagctgtccctccatccccaacgacgaatatttgcgcgtatgcaggttcattgtctccaacaggctcgatgcttgaaattcggtgcgtgagtccaccattgatacggaaaacaaaaattcccttctggccttgaactgatgagccgacttttgcgccgagtgatgtaaagctaatcgcattgttatacatcctgatcaagtcaagaaaattcattgattctaatttaattgttgattagtgttagtggacgagtcgcagccagaataagccaaaccaagctcaccttcactgtttgccatgaatagcgactggagcgataaaggatagcctggataggactcatcaacaactggaagagttactttgtccttttgacaacaacttgtgaagcttatgttagacagtttccggtcgactactgctgattcctcccgccaatgtaaagctccacatgagcggcactcgacattgcaatcgcctaacctgtggggaatcgtccaaataagagcttgaatgatatgtttctcggagttttcagcttcaccggggattgctagagcctttatatctatcatcgtatgaaatggaaattgggaagtgtttattaaggtcaaggtgtcactgatcaggtgcaatgagattattaattttagacgtgaaagtagaaatgaagacgacttgaagtgaacttggccagccaaggtttaaattgatttaatgtgctattgataatggtagggaagaagcgacggacgatttcttattggattttaggtcacacctgactcttatatcttcactgttgagtattcaccgggttaactatagatccgatttcacctcggattgatactcttgctgggttgacttcagtctgaactggattagaccattccaattgggctgaactgactgggctactggacattagtcaggcctcgcccgccgtggcatttcaggccaccttcttatcaagcgggcgagaatctcatccgagctagagactaaaattgaattgcataggtattgaccgagagtaaaatggtttcataagggtaccccaattcaacaaaaacattgagatcatgcaacaaactcgtcaaacatgaatcatcacgcggcttgaaagagtatggctcgagttgcctgtaaagaaatggttagcgaattccagctgagagaataactaattgtccaaagtaactgctcacttgaacaaccatgctgtcggggttgtttcctagcgactcaagcgtcccttccacccagaacttttctcctcggttgaactggatacggctcggcatcataatcgaattctccgccagtatgtacgtcactgtaaccttatcaactgtattgttctgtggaaagcattagcccatgccaaaaatctcgaggacttctaacttacattgacatcgtgatcaatagtcagaaaccacgtcctactgtttgccccttcttcgacctctttgacacgccaatcaacaattgaacctactccatctatcataacaccttcaaaccgtcgccccacttgcgcaaattcacccaacggctcaacatcagctaattgaaagctcaatattgagtcgtcgtccatcttgataatctttccactgtatttttgagcgcctccgagtgagagggcaaagtcttcatgatatactcgcgccaacataagagaggtaggccctgagccaatatgccactttccagacgtgtatatcgaagctttcattacttccagaggccctaggtttggccgtgcttgcagaaaaggctgctcggattagtattaatttggcaaatttgcagtagtgaattgtgacttacaccaaattgaccatgaaaattcccactaaagcacaggtaatcccgccccggtcttgaatgttcgttgtgtacaatatggaaagatccagtggtcaatgtcatgtctgaatggtatgtcaagatatggtttattcttgagtgatttggtgttatttttagcattgaagcacgaggtcttcttatcttataaatgctggcccgctagcccgcagaagtacaattggattgcaacctctagcccgcagaagtacaatcggctggtacccttggaagccatggtgacagctgtctttgtgagtcgttgagcgtggcagggggggggaattcgaacgccccttctgtagaattaattgagacccttgaataccaattttcttggtcaatgatgaacaaattaccctgattcatcttgcatcggtgaattgtgaagcataatatnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnacgccaaccaacccccacaatcgtccgccccaggtcgggatggctattggatggacaaattgcttcatttggtgcaggtaggtcgtaatcgagttgacctcttccttatccgccggggagagttcacttaggggtgtaaactcaacgacagcaattatttgcccgttatttgttgaatcgcgtattatgactgtcccgtgtgtaaatttacgaaacctcgatgcccttatctttgcagcttcaacttcttccgttgtaggatggcgaggcctccgtttcttctccgccctgatttctggatagagatggaactttatgaatcgccggcgcgaccaaatcacccgccttcgtgagtaggatgagtcgtcaatttcaagagcaacttcggattctcggtctgcagcacgtcttcttctgcgtgcaatggacttgagaatgttcctcgtcttgggtctcttcgcttccatcactaagtgtcccaaccaaattctaaaacagatcggaatcacttcgtgacttattgcgttgattgcctgaacaagtttgttgctttcgtatccggtttttgggggctgcacggtggccgggttggagtagtcagatccggcagtttgagttggattgactttgaggtcgagatcgtgcctaaatgatgacctcatgtcgagttagcggaagtagctaaatttgatgaacatccaagtcaacaacttacctacaatctgaggtctaatctgagttgcccgatcagcacgttgtacgccagacgatgattcggcggagtctattggaccagcaattccagttgcgtcgtagcggaagtattttgttgattcttcagatccggtttaatgttcgtccgatctgatgtgagtacttcaagacaattttgaagtgagaccaacttcacgtcttctggtcgactgatccgagattgcgttggtgcctattgttcgggtgactgatatatatgttggatttgaaagcgtgggggaggatgaattgaggagcaagagatctcgaccgacagtgcgaacctgtaatgaggtggtatttaggaggtgtcgaggggaaagccaggcctcacaaccctaaagtgaccattcggtggaaactctcacccggaccaacgcaagggcgcggggttcccacccgaatcactcgcttcaggtatcctacttacttcctccgatgctgacgtaacctttcctgattgttttttgttcatatcgatatcaacgttcttctaactaacaacaacaaggccgcccgagatgctgctgttaccgagctggtcaaaattatcaaggtcagtttctcagtctactctcttgctctcactcggttttaaaccgcactgatattcctggtatactgtgagcaggtcctcaagcctttgttcggctaggtctcgacaaaataaacgatcagcagaaccatcatcaacacccgggtaagctcaagctacaaccccccaaaaaaacaaagccaacaccaataatactgatttatattctgaccatcagattccgattcatccgactctcgccacaaacgagcaggaagtgaaccactccatcaccctaataagaagcggcctaagcgaagaccgatccgacggggttgtggtttggaggagaacagagatagaaaaaggggttagtgaaggaggctcagatttggtggggtgagtgttcataatctcagctcacgatacgcatcctcagtgctcatttgcttcggctcgtctcgttggaatgggtcgaggcgtgcaaacaaattatgaactgaaagagaaagagaaaacgatccaaaagtgactcattagcatattttttctcctatcacgttttttccttcgatctctccaaaccgaccaaatctttcacacctactctgatcctctccatattagtcaagagttctccggtcatctgcgagttgagatctatcggatcagccaggatttcgatcagtatatctttggaagtgttgatgcgaacccggtttctcttctgacgcacttaccccgtgaaaattccttcagttggcttaactcctggcccagttggatcttgaaattcgtgctgggaatgttcatgactgcattgaggatggccagggtggcacaggaattcgtaatcaccttcatcatccacccaaagttattccatcgaactgatttgctatctacagccacgccttccccccatctaccaatggactcgaacctctgctcgtgaagttacctgtactctgctatcagaacattgcactcagagtgtggggcacgcggtcgaacctttcctactcgcccacggtgatcatcaggtgctcaacgaactcgtggaggccttgggcgacaagctacccgccgtttctggagccgctttgagtgccgtgaacagcctggtcaagatcatgaccccttggactcgtcacttgattctgcgggtcttgctgaatcggatcgccactgctagtaaatggcaagtcgagactggtgccctgaaggtcttggacgttgtggtcgtcagtgccgccaaaaaaaacgcccatgccatgcccgaattcgtcccagtcctcgcgaccgcaatctgggacaccacagctgatgtcaagaaggccgcccgcagctctttaactaaatctttccctgtaagtctgctgatgtttatctggccattggaactcaataaaaatatatttcaacgcgctcatgcgcccggccttgatcatatcgctggtctccaacaaagacatttaaaagtttattccagcgctcatcaacgcgttgattaaccccgtcgagaggtcccttaatgtgttcaactgctcgctgccacaactttcctctcccaggttgatgccccgaccttgtctttgatggttaactccaacgactaccttgagtactccggtatcaggctattaagtttttgattaaaagtattacgtggattcgacagagtgtgaccatctcatctccatttgtcagcgcgagacttccttgatttcttgttgtattttgatgttttgtctgtgggtttatttatgtgaacgtgccacaccttattacagttcacgcacttgccaatgtgatgaattatacctaccgttgagggtgaatcagataatgtttggttaaatgattcagttctctttgagccacaatggcgagcgaagtaaaagtttaggcagagaatataattccggagcagccgttcaagtatttacatgtaaggaaaaggtgatatgaaaggagaagatcttgaatacaatgagtcaactatttacatgtaaggagaaggtaatatgagagagaaagatattgaaaacaatgaggtcagcccaatgatcaaatatatcaatggctaggagggcacagggagtcgaagtggctgttggatgatctgggagacccgggagtgcacggtgatgtttctatcaagtccgcttcattcgtttagcggcctcctggagaatattcttgcggggtcggcctctctttgtgatgttgggtaagctggtttggctggatgaatccggaaccgtagtttcgtcctgatcagaatcactatcgttgatgtctgaatttgaacttgctttttgctttcctttgctgttctgagcaagtgatgtggatgaggttccaccgtcaacgtgaggttggcagggtggttgagctgctggcgggactggttgagacccgaacttgacgctgttcatgaattagtgcatgtcaacaaaaagtaaggtacctaggacatacaatcttcgcccattccgaggagatgcgctacctgacggcgatggacaagcagcttggcggcctaattggtgtcctgaagtgagactgacagaatggacctgaagttcgagttagttgtcgaagacgaaggaaaggtagcacactcactgcaaaaacagccatgtggcgctctaactcaaagtcgaccaaatggccaagaagttgaatttctctaccaacttggtagagggtgtgtgtcttgatgaagttttttgttccaggaatgatgtacttggcaagaaagcggcgatgggtccttgcctgaagaaagggtcagtttgaccctgatttaatgaatttccaatgagattgacttacaatcgcatcccagtcattatgtgcaacgataacttcaagtcgagggccaccctcggattctccacttaagacttcagccctctcaactacatgaccgagtgttacggctgatgtcctgtttgtcacttcgggacctgccgagccaacacgggcgactctgacaattgtatcatggttgtagctgagagttggagttgagccgtcattgagagctatgaaccgaccgctgatgagatataatgctcccacctcaaggatgttgttgagcgcagtgttggtaattaagttgacctcgaagtcggttggttcggagtttaggtatccagcacactggaaaaagcttggggtggtcaacaccccgtactgatttccgcgttgagaatcgggtagagactataatgtatgtcagcggtagaagatcgtgagtggaccagagtgactcacctcgttggtaggctcaaataaaccagtcaggatagatgggtggttgggggctcggatggcggacatgctgattttctggagggtgttgactgagtgggatgactgggggtgggggctgtgggcttgatgggtgaaaggtcaatttggtctgcgtgtcgagttgggaggtggattcaaggtgctgactgcgatgaggcgtcctttatgtattggtcgagtagagggggcccagcggtagcagatgggagaaatgtaaagaccgaggcgtgatgagtcctaaagccaaggtgaagcccggtgtcgaagggtgctaaagggaagggcgagcacggtgccaaataaccagtactggttcaggaagggctggagagcttcggttgcaaaggtggaagacgttgttagcactcaggtgaccagctgggcggggttgattgtgtaggcgacgatacgactcacctgggttggaatgtcaagtactgaagtgccatcaaggaagctaagggtgcgggtgcgtggcataatattcttgcgaagtagagatgaaggtcattaaannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnaaaagaaatatgattttccatttcccatattttttggagggtcacaggctgcaagcagcaaaggaaaaaaatgaaaaataaaaataaattgaaggcttgaaggcccaagaaattcaaaatcagtgtttatgcagctttctgcatctgaaatttccccaagaaactttcattttgcagcctgggggtcatttttggggccgatatccgcgggtatccgcgcggaaacccgccagggaaagcgggtatccgccagaggatgcggatgcggatgcggatgcggatgtctgatttggctgaaaacgtgagcggatatccggatgcgccgggcccatctctaccccagagtggctatgaatatagaattatagtcaagatgttatgctgctgtattagataaagggtaaactatgagaaggaaaataaaaattctctttggaagcctgctgacttcaatataccaattacaaatgtatcaaaacctgatcaagccaaaatcaatacagagaaacaaaaacaacaaatggctcaaattgtctgttgttgaaggcttggatgcccaaacctcaccattgttgatcaattttaagcttctagttgattgttcttcaaagaatgacttctggttctttttttaagaagtggattcacaggtgtgcaattcaagaatgaaaatgcttgtacatacctcaaatccaaagggaagtcctccattcttccacctcatgagttttgaattaacctaggtcaatattaaacatctttcaattctcctggttcattccacagccagttgcaaagatcctctttgcagcactgggtctatactatactttactataactgacccttttcagtatagtaaagtttcctcaaatttctatttactataccaatactaatagctataaccagtgtgtttcccaccaagcttggtatagtataggccactttttgtggctccaaaattcacctatattgcaagcgccttgtctttatcaaccatgaagtgtatctatgaactccagagggcccttctatggtcaagagactctcacaagtagctttagatgtttttagcagcatccagggcaggttatagtagagtatatcacccaaaagaatttcctgttctcctcagttatagtaaagggccctgaaaatcagactataaccacaccctttatagtaaagttggaaatatatatactataacaatactataccaataaccgtaaagtatagacccagtgttgctctttgaaagttgaaaaggtagtggacgatttccccacattatcagtgggtctcccagaagcaaattatagagcctcagagcatccgcatcagtggtcaagttacactggattagcgagctcggattaggacaagattaaggtgatctcggcctccagccgcatcggtggtggctgaggtggcttaaatctatgtgttatgtatttgaggtcagttgatccgacttgatcggagctagtttgtatgtgtcatnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnatagttacgggcagcggtgggccgctacgctacgctacgcttttggcgcaaaaagcgtagcgtagcggcgctttttttcatccaaaagcggtagtgttagcgtttttgtagcggtttttcgctacgctacgctgcgctacagcgcttttagcggaaaaagcggccaaaaaccgctaaaaagcgctgtagcgcagcgtagtgggcccttttttgcggcccacacgcgtagcgttagcggtgtcgtggcggaatcccgctacgctacgctaaagttgcgtggaattccgctacgttacgctgcgctaaccgctacggttagcgtagctggcccagcgttgttacgggggaagtaagccgtcatatgattgtatgggttatgtaagggttggtgatgtctggtgtaaaggggggtgatgtctgttgtaagggtcgattatggccgggcaggctgctgggagagggaggggggggcatgaatgtgggacttagcgaaattgggggactgatttgctcagatattggtggcttctcaagataatccagatattttattttatcctgcgagaaccacccattgcttaccattaggagatctgtattcccacgtcttcaatatgtacaaaaggtttgccctcgggtgcaaaaaccctccaagaaactatttaccctttactgaaagtcccactgcgcacgagttcggacaatccaaggcttcaaattgtgaatgccccctcgccgacttagaatttacccagatgtatcacttatgaatagcaacctcaagaatctgccaacgaccccggaattacagtgccccggggctcttctgtgctaccccctcagggggtgttccaaatttccaaaacaagattttcatttttttttggaatctgcggtttaatttcaaaaaaaaactggttttctcttgttttttccacaggattctcactttttttccctatggatgttgtagtttcaatttttgatgtattttgtacagcttttattgctccagataactgatctgatggcttttcttttttatttctcatctaatatgcacataacccctgtatatatgcatactacatcctgaataaatccctagtgcatacctagaactccatattgtgacactcctgggtggatgttccaaatctgaaaaaaaaaaattgaatttttttttttatttttttttttttttttttttttttttttttttttttttttttaaagtgagatttggcctatggcattgcacactatgaaactaacaaaaccatatctgtaaatacaataaaagtctgaaactgattgaatgagaaagcagtatgtagtaaaccagggctaatgcaaaggagaagagagagaggggaacaaagaaaaagaaacagagtagaaaaaggggcagagcgaaaagaaacaaaagagacatataaaatttttttcgcaacaacaagcaagtgaatatattcgggttatgaggtgaggttgggaaaccggccggtcaatcgaagaaatcgtgcaactgggaggtctgcctttctcaagagcagaactctgtccagttgatctgggttgaatcggattttcagagagcgtaaagcttttcgaagctcagccctaatagtcttgaagtgtgggcagaaattgaagagatgtatcgttgtatccctgcccgggcagaaagggcacagtgggtcaaagtgtctgttgatgcgaaaaaggaaagagttcagtgtgcagtgacccgacgcgagttggtttatagtagacgaaaaagcgactggaagtaaagaaggcaaagcagctgcggtggacagctcggcagttgccagttgaatgattttccgatgatttccttggacatctaaagtgggggatgtatgatcaccaacagcctcctttgcgagacgatctgccacttcattccccagaatgtctttgtggcccggacaccaaaccatggaaatttccacccgagtaggtaacctggctagactatcattgattgttctgaaaagagattgccctggcctcggagaagccgggtgtttgatccgttggatcacccccttattgtctatgaaaaaggcaattctgctgatctctcgatcactacataatctgctggccaagttgatcgcagcaataagtcccacagcctctgcttcatgattggatatggtcaggttgtcgcccatgcgtaaagcataatagctgttcgattgggtacaaaaggcagctcctgcgccccctttgtccggataaaaggaaccatcactgaagattgaaagagtatcctgtcgggaagataaagtggacagaagagacttaacagaattgaccgctgtatccttggttttgtccaagttggcatatgagatggtcctggatgccgattgcttgaagtcgaaagataggaaaatcctctcgggtcccatccggacggctgaatctatcatggtgtaagagagacttgtgcgggcagagtcggctagtctgcccgccgagtctgctctgctggacaggatgaatcttctaatcacgtcgttgggcttgatcgtcataattttccggaaaaagaaagagaaagctgtccgcaagatgttgtgggaaattggttgaattgttgagcgaagggcaatgaaacggttcgatgtggatttgaagacccccagcgagaaaatgcctgctatcctgtcagccttgttggcaagggataagactcgtcctttattggctgctgtagcccatacagctgccccataagttagtcggggaatgagaacacttctgatcaaactggcacgggctgcttccctggtgccccgtctggagttcccgaaaatttttaattggtttgctgtcttctccgctttggtctccaaagccctgaaattgcgagcaaaggaaagtttggggtctaggaagatccctagccacttaacttccaaaactgccttcaaagtttgagatccgaagatgaatggctcctcggaggtttttcccttggagaaccacatgaactgagcctttgcttgatcaaaaatggctccgtgggtcttgccccaccgtaaggaacgttcaccttcgttgttcagcattgctttggtttgtccgaccgactcagccgcaactagatgaactacatcatctacatagccgatggagaccctgtccgaagcaggagagaagtcctttatcagtaaggagttgttatagaggatgtataagataacggagaggggagatccttgtgggagaccgatgtcaaggctatgttcttgggatacaaaatcgtccaaacgaatagtggtggatctgtcccttaaaaaattatctataatcagtatgagataagtagggcatttttgttgcgccaaataatgagtcaaccgcctagggtggactgaggggtatgcggacttgacatccagaaataacccggccacggtctttccttctcgccacttagcctttacccagtgctcaagagcgaacatagcatcttcggtgccagagcctttgcgacccccgaaatgtccgtcggcaagaattttaccttcttcagcccaagctgtcagcctacgcgctatgacgagctcaaacaattttcccattgtgctcaacagagcaattgggcggtacgctgttggagacgtgtaatcgggctttccgtgtttgcggatgattgctgtgacggcacatttccaaggccgggggaacctgctacaagttagcatttcgttaaacaagcctgccagaacaggcgctaatgtgggagagagcaaccgcagcatctcgttggcaatcccatcgatccccgctgccttcttcggacaaatcttgtcgatggcggattcaacttccgcggtggagacctctggataacaggcaaatctacaattggcgatgggagaaacatcagagagatctattggaacatcagtgaccgatgtgccatcaaaaagcaacttagcctgagattctttgtccagcatgatttttccccctttgtccctcaaaggtaagatgccaccgcccgacgtgcgtttcgagaagcgtaaaaccttgaaaatatccgcctccttggggtcttccaggaggcgttcccagttgcggcgtttcaaggagtctaccaacgataaaaaataagtattccattgtcgatagcattcaatggcttcaggagacttagccagaatcatccatcggcgggctttattccttgtcttgaggaccgggtcaagcgtggccttacaccaccacgctttggttttggattcatccgtccgaaccctccgtcctaaagactcctgtagagatttgaccgaagaagtgagcagagagactttttcattgatatcagccgtagagttggacagatccagaatcgacttagctagtttgggagagatgtcttcccgagagatcttgttccactgtgggagtgaccatcgcaaagttggttccggcttatttactgagagtcgagcgatcaaaccctggtggtcggaaccgaagttgtcgttggtgacagcgactgtctccagaactcgggaacctaagaagtttgcccacattaagtcaattgttgatcctcgacccttattagagtaaaaggtgggaatgtgtttgggtgatgaaagccggaaaccatgatgagaaagggaacttagcaggtcaattgcctctgggtccttttttcggcagcccggcggattccagtgttgatggtgcagatttgagtccatacacaggattgtcgcaacctgccttgaatagtgagaagttagccaagacttgagctccacaacaactgggaaggaaggaggggggttatagagattaatgatacgtaggggtttcccggagggaagtcggatttcgacccctacaatcagttttgatccaccgtccaataaggtgatgttgaccgagggaatggttgtccgaacgtagataaccgtcttgtggcgttggtgccaagactctggagaatgctcgaaagcaacgaaggagcgccaggaagagtgttgaggcggtgagaaatcaaagggattgacccaaggttcctgaagagcgagaacatcataattacaggccgaattcagtacacttagggttgctgcttttgagacatgacagttaagttgaaagatggaaagttttttagagttaaaggtgtttggggctgaggaagccatccaatccaaacgggttgatgtgttgaaatcttcgaattgcgtagaggttccgacaggggttacatacggtgcacctatcattgagacggtaaggggcgcttctcaagccacgcctttttataagggcatagcttatcaaaaggtgtgtggttaacatcggagattccttcaattttatttttcaaaccgtctttacagagaacacaagatttaacattaccgatgccttcggggcattcgtttgtggagtgtttgccagcacatttggcgcatcgagcagtttcccgacaccacttcccaaagtgacccattcgcaggcatttgaagcattgagggggtcggggtttaaaccggtcagtcctgtgaaaatcataatttaagaagattccggatttttcaatgcgcaaagccaggtcacgattcgtgaaggataacactattgaaccggcctttttgattgatccttcgttcgaacccatccaccttactcgagccaaatctgatgcctgaaaattattttcggaagccaacaaagcaatatttgacgactttccaatatcaaaggatctcgggacaccgtgcgccatcacagagaaggtgctgggggtggattccaagtcggtatgaacttctttagaccaaatgtgcttatgttccatcagccacttttgttgactacgatttttgatatagaaagaaacatcacccgaaggaagcatgctagcacctctgatggccacgatttcgccatcaacggttgcattcatcttcgccagggcgtcattcgccttctgaaccagggcacatttaggaacgtctttcagggtgttgttgagagggttggaatgtataatgacgcgttttggtttcaaagacgcgagcatctgattgggaggagggcgaattgagggaggtttcagcggggtcgcggttgagatagccgcaatggacgcgaaggatttcttctgggcctgctgagaatctggtccattcttcattcgtttttcaagatcggcgagacgcgacataacgggatcaaacttcgcgtcgatcttgtcattaagttgtttgattgtcctgttaagttggacgatggtttcctccatccgtcgcgtggtcttctcattctcggctgagagggtgaggatcacctccacgaaagttgggtcgaccaatattgccccggactcgttccgagcggtagagtcggctaggaccttgttgaggagggtgtgtaggctggagggggggttgaccgccggtctggagttgcaggcgtgatcgccattggagatgatgacatcctcgtccatgttcgacgcgtctaggcgagggattgggtcaggggggcgtgagggggggagcattaactgctcagcaagaaggggggaaggggggaagaagaaggggaagagaagttttctgtgagtgagggggagaggtgggtgatttggtgtataatcggcgcgtgtgagggtggtgactttttggttgcggacagaaaactgattgcagctactgagttgtggttatagatttgggttctaccacttgtgtagagcccaaaaacacacagtacatgtatgtaggctcacttgggcggacaaacataccggtcaaagttcaaaaataattttgcaggcgcggggttacacagaagagccccggggcactgtagttgatccgcaacggctccgaacaccgagatagtcatgatatgagcgccacaagcgccaccatgcctctggggtcactgccgccacttcagcggctttacactgcgccggagtagaccatctgccgctccggccggccaggaccggcccctacggaatgtcatgcttgatcatatgtcttccatcagctctctcatggtgtgttgtgcgaatcatcattgatctcagtgtctgaccctcattggtgatctttggctgaaaggcttggaaagatccatgaagctgcggcccgccactggattattatgtattgcttcaacagcgcgtgagagggtttatgtagtaacgggtgaatggcagccaggcgaatacaatggcaggctgtacagggctgtactggccttaaagacccttcagtggcacaagtgggccgtccctccatccgctttgttatttaccaacctcacgttcctctcccccagcacgcatttgtcaaattcatatcctattcttcattctacacaagatgcttacaatctttcaggggagttccctggccatcctcttggcagtcgccatcaatcacctaggtgaagtttctgccgaagtgccaacaccatccccaacaaaacccggtccgacaagcccggcttctcccaaccaggtttcggggacttattttggctggtcttcttggagcttacaagcttacaaaggaaaggtgcgccctgtttcattatccttcgccccattggataccattattttggtgctttagaagctcataatgttttctttatccgtgttaacttgtcttggaaaagggctatggatccgactggctgacagaaaacaacatcaaagcccaggccgatgtcttatccaaagagttttctcagttagggtgaattgcatatttctctcggctttgcggtttcatttttgagaacaaccaagttggttgaacaagaattaacgcgtttcgctgtgtgggaacatttttaggtatactcgcatcaacttggactccggctggcaagttgagtataatgatacaaatccccgggttctccacaccttccctttctttttccctttttccttaaaataaaagaggtgaaaattacgccagcatgatgtggattctgtgtatgccagaggcaccattggcaagattcctagacgccgaacaaacaaacaccgcattgacccgttgcttttcatgatggccattacttcgcaccatccctcattaatcttgacactgaaacaaaaacttgactacttctaggatgccgaattggacaaatatggccgaaccatactgaaccgcaaaactttcccaagcggaatcgacaatctatcgagctacctagcccagaagaagctcaaattgggccttttttaccttcccgggatcgattccagagcggttaacagtaaagtaaaaaaagaatcttcttctctcatgaaaaattgcaaaatgctcaagtctttaaaaagacgcgaaatcaggttagcaatttgctgagcagcatttttttctttcttgttttgacaattagtccgtagtgatggacacgaaatacaccgcggatcaaatcatacaatgtcccgacaaagacgcattaggatgcaatcgaaacaccgtgaatgcattcaacgctggtatggcattaaactacagccatccaggtgctcagatgtatatcaacagcgtggtcgatggcctctacagctggggcgtcagctatgtgaaactggccgggatcgtacccggctctatggtcgacccgcccgaatactggaaatacaacaccacagccgatctgatggcctggagaaaggcgatcaatgagttgtatgaacagaagtggcagaagcaaggtcgggaacgaatttggttgggcgcgagttggaaaatcccaacgagtgccggtgcgaccatggacaaatacgtggacagcttcagagttgaacaagatatcgaggcctacagcgagacacagatgactacattcgatcgggtgatcaggaatgctaagaccgccgcactctggtcctctgttgatccgaatcgtaagtggaaaggagtcagggacctcgattcgatcttgataagtgacatgacgttggcggagtgcaagacaatggtcaccatctgggcgatgtttgtacgtccaaaccgtttctttttgagtattgccgacatcgtcttcgcttgaatgctttctaagtatcgactcctaatcttgacttgttgataatcacccagggctcggtactttacttgggagatgatctaaccaaattgccagaagttagaaaggccttagtcaagaaccccgaggtgctcaagctagcgattttagcatccacgaacgaagccagattggatggcttcaatcccagtccctccagcgccggatcaagcagcttgaaatcctcgaccatgagcttgaaatcttttgaaggactcgaatccaaagctattgaagaagtccagtcggtttccagccgggattgtgacgagatggccgagaaacgtcgattggtggtcgagaaaggcttgttccagaaggtcgatgactccgaccaactccatgagacttgcatgaaaaaaagcaagagtgccaaatcgaggcttcaagctcgggcgttcccctctggcgccgaggatgcccaagccgaccaatggagtctccaatattgggtcttggaacaaggtcaaggcgatatctacgtggccgtagttaacgccggtcaacaaacccctgatgacagtaagctcaagcaactcatacctctcgatcttgatttttttttttacacgactaatccattctatgaaatattattcaaatgatatagaaccggtgaaggtagagatcagtttgagcaagcttcaaacccttcaaaagagtcccagaaacaagcaaatgactggaatgaagtacaccgtccgagacttgtggaatagcaaagacctgagcagtgttgcattcgaaggcaagatcgagtctactctagagcttcatggcacggttctgttaaaattcagtccagtcagccatcccaattagaaccaatataaagtcttgagtcgtagcaagacatatcatgctctaaaacaattttacaccggactctttggttctttatacctactttcaatctttaaaatatatagcagcatcgaattctcaacgctcttgtctctctatttctctcagtcattatgtctccttgttgcacatacttcctcactcttcagttatttgttctagtacgattgcatgtcaggtgccacgaaagtcacacacccataccacaattctccatactcaatctcaattcatcagagacgctgaaacatatgaagcatgtcttgaattgatcaggagaagctgtgctgatttggctgcaattccaccatcatgtttcaagcattacagacattagagtgctatgtgaacagatcttaaacctgcctcctcgccacaactttcaagggtgggttcccagagatggcctgttgggctctgtccctatgccaaacgcatcacactgaaaacctcatgaagaatgtgagaatacgtcggaattgtgcacatgtg