ttgagtttttacgggaagatatacccgtttcgaacgaaggcctcacagtggtccaaatatccacctgcagattctaccaaaagagtgtctcaaagctgaactatgaaaggaaggttcaactctgtgagttgtatgcaaacatcacaaagaagtttcggagaatgcttccgtgtagttctgggaagtttatcccgtttccaacacaatcctcagagaggtccgaatatccacttgcagatcctacaaaaagtgtgtttggaaactgctccgtctaaaggaatgttcagctctctcagttaaatacaatcatcacaaagaattttctgtgaatgcttccatctggtttttatatgaagttatttcctttactaccgtaggtctcaaagccgtccaaatatccaacggcagattctacaaaaagagtgttgacaaactgttctatccataggaatgtccaactctgtgagtcgaatgcaatcatcacaaagtagtttctgagaatgcttctatctagtattcatgtgaagatatttccttttccaccgcaggcctcaaagccctccaaatgtccacttgcacattctagaaaaagagtgtttcatagctgctctttccagaggaaagttcaactctggaagttgaacacaaacatcacaaagtagtttctgagaatgcttctgtttagtttttatgtgaagattaacccgtttccaatgaaatcttcaaagagttccacatatccacttgcacattccaaagaaagtgagtttcaaaactgctccgtcaacaggattgttcaactctgtgagttgaatgcagtcctcacaggaaacattctgagaatgcttctgtctaggtttgatgtgaagatatacccgcttcgaaggaaggccacagagtggtgcaaatatccacatgcagattctacaggaagagtgtttgaaagctgaactatgaaaggaaggttcaaccctgtgagttgaatgcaaacatcacaaacaagtttcggagaatgcttccgattacttctgggaagtttatacagtttccaacgaaatcctcagagaagtccaaatttccacttgcagattctacaaaaagtgtgtttggaaactgctccatcaaaacgaatgttcaactctgagttaaactcgatagtcacaaagaactttctgagagtgctactgtctagttcttatatgaagttcttccctttactaccgtaggcttcaaagtggtccaaatctccacttgcagattcgacagagtgtttccaaactgctctctcaaaaggaatgaaggtctaaatcacagagttcgacgctatcatcacagagtcttttctgagagttcttctatgtagtttttatgagaagatatttccttttcccccacagtccacaaagcactccaaatgtccacctacagattctagaaaacgagcgtctccaaggtgctgtatctgagggaaagttcaactctgtgaggtgaatgcaaacatcacaaagaagtttctgagaatgcttcggtttagcttttatctgaagtttatcccatttccaacgaaatcttcaaagaggtccaaatatccactggccgatcccacagaaagagtgtttcgaaactgctgcttcaaaaggaatcttcaactctgtgagttgaatgcaatcatcacaaagaagtttctgacaatgcttctctctacttcttatgtgaacatgtttccttttccagcacaggcctggaagcgctccacatgtccacttgcagattctacgaaaggagtgtctcaaaaccgctctgtgaaaagcgaggttaaactgtgtgacccgaacacaaacatcacaaagaagtttgtgagaatgcttgagtttagtttttctgtgaagatattcccgtttccaaaggaatcttcaaagaagtccgcatatcctcttacagattctacaaaaagagagtttccaaactgctcaatcaaatggagggttcaactctgtgacctgaatgcaatcatcacacagaagtttctgagaatgcttctcttgagtttttacgtgaaggtataaccgtttcgaacgaaggcctcacagtggtccaaatatccacctgcagattctaccaaaagactgtctcaaagctgaactatgaaaggaatgttcaactctgtgagttgtatgcaaacatcacaaagaagttttggagaatgcttccgtgtagttctgggaagtttatcccgtttccaatgcaatcctcagagaggtccgaatatccacctgcagatcctacaaaaagtgtgtttggaaactgctccatctaaaggaatgttcagctctctcagttaaatacaatcatcgcaaagaattttctgtgaatgcttccgtttgctttttatgtgaagttatttcctttacttccataggcctcaaagccgtccaaatctccaattgcagattctacaaaaagagtgtttacaaactgttctatccataggaatgtccaactctgtgagtccgatgcaatcatcacaaagtggtatctgagaatgcttctatctagttttcatgtgaagatatttccctttccaccgcaggcctcaaagccctccaaatgtccacttgcacattctagaaaaagagcgtttcatagctgctctttccagaggaaagttcaattccggaagttgaacacaaacatcacaaagtagtttctgagaatgcttctgtttagtttttatgtgaagatgaacccgtttccaacgaaatcttcaaagaggtccacatatccacttgcagattccaaagaaagggagtttcaaaactgctccgtcaacaggattgttcaactctgtgagttgaatgcagtcctcacaggaaacattctgagaatgcttctgtctaggtttgatgtgaagatatacccgtttcgaaggaaggccacaaagtggtgcaaatatccacttgcagattctacagaaagagtgtttgaaagctgaactatgaaaggaaggttcagcctgtgagttgaatgcaaacatcacaaagaagtttcggagaatgcttccgattacttctgggaagtttatcccctttccaacgaaatccttagagaagtccaaatttacacttgcagattctaccaaaagtgtgtttggaaactgctccatcaaaacgaatgttcagctctctgagttaaactccatcgtcacaaagaattttctgagagtgctactgtctagttcttatatgaagttcttccctttactaccataggcctcaaagcggtccaaatctccacttgcagattcgacagaaagagtgtttccaaactgctctctcaaaaggaatgaatgtccaactctgtgagttgaatgctatcatcacagagtcgtttctgagagtgcttctatgtagtttttatgagaagatattcccttttccaccacagtccacaaagccctccaaatgtccacctgcagattctagaaaacgagcgtttcaaaggtgctgtatcagagggaaagttcgactctgtgaggtgaatgcaaacatcacaaagaagtttctgagaatgcttcggtttagcttttatgtgaagtttatcccatttccaacgaaatcttcgaagaggtccaaatatccactggccgatcccacagaaagagtgttttgaaactgctgtttcaaacgggatcttcaactctgtgagttgaatgcaatcatcacaaagacgtttctgacaatgcttctctctagttcttatgtgaagatgtttccttttccaccacaggcctggaagcgctccacatgtccacttgcagattctacaaaaggagtgtctcaaaaccgctctgtgaaaagcgaggttaaactgtgtgacccgaacacaaacatcacaaagaagtttgcgagaatgcttcagtttagtttttctgtgaagatattcccgtttccaaagaaatcttcaaagaagtccgcatatcctcttacagattctacaaaaagagagtttccaaactgctcaatcaaatggagggttcaactctgtgacctgaatgcaatcaccacacagaagtttctgagaatgctcctcttgagtttttacgtgaaggtgtccccgtttcgaacgaaggcctcacagtggtccaaatatccacctgcagaatctacaaaaagagtgtctcaaagctgaactatgaaaggaaggttcaactctgtgagttgtatgcaaacatcacaaagaagtttcggagaatgcttccgtgtagttctgggaagtttatcccgtttccaatgcaatcctcagagaggtccgaatatccacctgcagatcctacaaaaagtgagtttggaaactgctccatctaaaggaatgttcagctctctcagttaaatacaatcatcgcaaagaattttctgtgaatgcttccgtttgtttttgtgtgaagttatttcctttacttccgtaggcctcaaagccgtccaaatctccaattgcagattctacaaaaagagtgtttacaaactgttctatccataggaatgtccaactctgtgagtccgatgcaatcatcaaaaagtggtttctgagaatgcttctatctagttttcatgtgaagatatttccctttccaccgcaggcctcaaagccctccaaatgtccacttgcacattctagaaaaagagcgtttcatagctgctctttccagaggaaagttcaattccggaagttgaacacaaacatcacaaagtagtttctgagaatgcttctgtttagtttttatgtgaagatgaacccgtttccaacgaaatcttcaaagaggtccacatatccacttacagattccaaagaaagggagtttcaaaactgctccgtcaacaggattgttcaactctgtgagttgaatgcagtcctcacaggaaacattctgagaatgcttctgtctaggtttgatgtgaagatatacccgtttcgaaggaaggccacaaagtggtgcaaatatccacttgcagattctacagaaagagtgtttgaaagctgaacttggaaggatggttcagcctgtgagttgaatgcaaacatcacaaagaagtttcggagaatgcttccgattacttctgggaagtttatcccctttccaacgaaatccttagagaagtccaaatttacacttgcaaattctaccaaaagtgtgtttggaaactgctccatcaaagcgaatgttcagctctctgagttaaactccatcgtcacaaagaattttctgagagtgctactgtctagttcttatatgaagttcttccctttactaccataggcctcaaagcggtccaaatctccacttgcagattcgacagaaagagtgattccaaactgctctctcaaaaggaatgaatgtccaactctgtgagttgaatgctatcatcacagagtcgtttctgagagtgcttctatgtagtttttatgagaagatattcccttttccaccacagtccacaaagccctcccaatgtccacctgcagattctagcaaacgagcgtttcaaaggtgctgtatcagagggaaagttcgactctgtgaggtgaatgcaaacatcacaaagaagtttctgagaatgcttcggtttagcttttatgtgaagtttatcccatttccaacgaaatcttcgaagaggtccaaatatccactggccgatcccacagaaagagtgtttcaaaactgctgtttcaaacggaatcttcaactctgtgagttgaatgcaatcatcacaaagacgtttctgacaatacttctctctagttcttatgtgaagatgtttccttttccaccacaggcctggaagcgctccacatgtccacttgcagattctacgaaaggagtgtctcaaaaccgctctgtgaaaagcgaggttaaactgtgtgacccgaacacaaacatcacaaagaagtttgcgagaatgcttcagtttagtttttctgtgaagatattcccgtttccaaagaaatcttcaaagaagtccgcatatcctcttacagattctacaaaaagagagtttccaaactgctcaatcaaatggagggttcaactctgtgacctgaatgcaatcatcacacagaagtttctgagaatgctcctcttgagtttttacgtgaaggtgtacccgtttcgaacgaagacctcacagtggtccaaatatccacctgcagattctaccaaaagagtgtctcaaagctgaagtatgaaaggaaggttcaactctgtgagttgtatgcaaacatcacaaagaagtttcggagaatgcttccgtgtagttctgggaagtttatcccgtttccaacgcaatcctcagagaggtccgaatatccacctgcagatcctacaaaaagtgtgtttggaaactgctccatctaaaggaatgttcagctctctcagttaaatacaatcatcgcaaagaattttctgtgaatgcttccatttggtttttatgtgaagttatttcctttacttccgtaggcctcaaagccgtccaaatctccaattgcagattctacaaaaagagtgtttacaaactgttctatccataggaatgtccaactctgtgagtccgatgcaatcatcaaaaagtggtttctgagaatgcttctatatagttttcatgtgaagatatttccctttccaccgcaggcctcaaagccctccaaatgtccacttgcacattctagaaaaagagcgtttcatagctgctctttccagaggaaagttcaattccggaagttggacacaaacatcacaaagtagtttctgagaatgcttctgtttagtttttatgtgaagatgaacccgtttccaacgaaatcttcaaagaggtccacatatccacttgcagattccaaagaaagagagtttcaaaactgctccatcaacaggagtgttcaactctgtgagttgaatgcagtcctcacaggaaacattctgagaatgcttctgtctaggtttgatgtgaagatatacccgtttcgaaggaaggccacaaagtggtgcaaatatccacttgcagattctacagaaagagtgtttgaaagctgaactatgaaacgaaggttcagcctgtgagttgaatgcaaacatcacaaagaagtttcggagaatgcttccgattacttctgggaagtttatcccctttccaacgaaatccttagagaagtccaaatttacacttgcagattctaccaaaagtgtgtttggaaactgctccatcaaaacgaatgttcagctctctgagttaaactccatcgtcacaaagaattttctgagagtgctactgtctagttcttatatgaagttcttccctttactaccataggcctcaaagcggtccaaatctccacttgcagattcgacagaaagagtgtttccaaactgctctctcaaaaggaatgaatgtccaactctgtgagttgaatgctatcatcacagagtcgtttctgagagtgcttctatgtagtttttgtgagaagatattcccttttccaccacagtccacaaagccctcccaatgtccacctgcagattctagcaaacgagcgtttcaaaggtgctgtatcagagggaaagttcgactctgtgaggtgaatccaaacatcacaaagaagtttctgagaatgcttcggtttagcttttatgtgaagtttatcccatttccaacgaaatcttcgaagaggtccaaatatccactggccgatcccacagaaagagtgtttcgaaactgctgtttcaaacggaatcttcaactctgtgagttgaatgcaatcatcacaaagacgtttctgacaatacttctccctagttcttatgtgaagatgtttccttttccaccacaggcctggaagcgctccacatgtccacttgcagattctacgaaaggagtgtctcaaaaccgctctgtgaaaagcgaggttaaactgtgtgacccgaacacaaacatcacaaagaagtttgcgagaatgcttcagtttagtttttctgtgaagatattcccgtttccaaagaaatcttcaaagaagtccgcatatcctcttacagattctacaaaaagagagtttccaaactgctcaatcaaatggagggttcaactctgtgacctgaatgcaatcatcacacagaagtttctgagaatgctcctcttgagtttttacgtgaaggtgtacctgtttcgaacgaaggcctcacagtggtgcaaatatccacctgcagattctaccaaaagagtgtctcaaagctgaactatgaaaggaaggttcaactctgtgagttgtatgcaaacatcacaaagaagtttcggagaatgcttccgtgtagttctgggaagtttatcccgtttccaacgcaatcctcagagaggtccgaatatccacctgcagatcctacaaaaagtgtgtttggaaactgctccatctaaaggaatgttcagctctctcagttaaatacaatcatcgcaaagaattttctgtgaatgcttccatttggtttttatgtgaagttatttcctttacttccgtaggcctcaaagccgtccaaatctccaattgcagattctacaaaaagagtgtttacaaactgttctatccataggaatgtccaactctgtgagtccgatgcaatcatcaaaaagtggtttctgagaatgcttctatatagttttcatgtgaagatatttccctttccaccgcaggcctcaaagccctccaaatgtccacttgcacattctagaaaaagagcgtttcatagctgctctttccagaggaaagttcaattccggaagttggacacaaacatcacaaagtagtttctgagaatgcttctgtttagtttttatgtgaagatgaacccgtttccaacgaaatcttcaaagaggtccacatatccacttgcagattccaaagaaagagagtttcaaaactgctccatcaacaggagtgttcaactctgtgagttgaatgcagtcctcacaggaaacattctgagaatgcttctgtctaggtttgatgtgaagatatacccgtttcgaaggaaggccacaaagtggtgcaaatatccacttgcagattctacagaaagagtgtttgaaagctgaactatgaaacgaaggttcagcctgtgagttgaatgcaaacatcacaaagaagtttcggagaatgcttccgattacttctgggaagtttatcccctttccaacgaaatccttagagaagtccaaatttacacttgcagattctaccaaaagtgtgtttggaaactgctccatcaaaacgaatgttcagctctctgagttaaactccatcgtcacaaagaattttctgagagtgctactgtctagttcttatatgaagttcttccctttactaccataggcctcaaagcggtccaaatctccacttgcagattcgacagaaagagtgtttccaaactgctctctcaaaaggaatgaatgtccaactctgtgagttgaatgctatcatcacagagtcgtttctgagagtgcttctatgtagtttttgtgagaagatattcccttttccaccacagtccacaaagccctcccaatgtccacctgcagattctagcaaacgagcgtttcaaaggtgctgtatcagagggaaagttcgactctgtgaggtgaatccaaacatcacaaagaagtttctgagaatgcttcggtttagcttttatgtgaagtttatcccatttccaacgaaatcttcgaagaggtccaaatatccactggccgatcccacagaaagagtgtttcgaaactgctgtttcaaacggaatcttcaactctgtgagttgaatgcaatcatcacaaagacgtttctgacaatacttctccctagttcttatgtgaagatgtttccttttccaccacaggcctggaagcgctccacatgtccacttgcagattctacgaaaggagtgtctcaaaaccgctctgtgaaaagcgaggttaaactgtgtgacccgaacacaaacatcacaaagaagtttgcgagaatgcttcagtttagtttttctgtgaagatattcccgtttccaaagaaatcttcaaagaagtccgcatatcctcttacagattctacaaaaagagagtttccaaactgctcaatcaaatggagggttcaactctgtgacctgaatgcaatcatcacacagaagtttctgagaatgctcctcttgagtttttacgtgaaggtgtacctgtttcgaacgaaggcctcacagtggtgcaaatatccacctgcagattctaccaaaagagtgtctcaaagctgaactatgaaaggaaggttcaactctgtgagttgtatgcaaacatcacaaagaagtttcggagaatgcttccgtgtagttctgggaagtttatcccgtttccaacgcaatcctcagagaggtccgaatatccacctgcagatcctacaaaaagtgtgtttggaaactgctccatctaaaggaatgttcagctctctcagttaaatacaatcatcgcaaagaattttctgtgaatgcttccgtttggtttttatgtgaagttatttcctttacttccgtaggcctcaaagccgtccaaatctccaattgcagattctacaaaaagagtgtttacaaactgttctacccataggaatgtccaactctgtgagtccgatgcaatcatcaaaaagtggtttctgagaatgcttctatctagttttcatgtgaagatatttccctttccaccgcaggcctcaaagccctccaaatgtccacttgcacattctagaaaaagagcatttcatagctgctctttccagaggaaagttcaattccggaagttgaacacaaacatcacaaagtagtttctgagaatgcttctgtttagtttttatgtgaagatgaacccgtttccaacgaaatcttcaaagaggtccacatatccacttgcagattccaaagaaagggagtttcaaaactgctccgtcaacaggattgttcaactctgtgagttgaatgcagtcctcacaggaaacattctgagaatgcttctgtctaggtttgatgtgaagatatacccgtttcgaaggaaggccacaaagtggtgcaaatatccacttgcagattctacagaaagagtgtttgaaagctgaactatgaaaggaatgttcaaccctgtgagttgaatgcaaacatcacaaagaaatttcggagaatgcttccgattacttctgtgaagtttatcccctttccaacgaaatcctcagagaagtccaaatttacacttgcagattctacagaaagtgtgtttggaaactgctccatcaaaacgaatgttcagctctctgagttaaactccatcgtcacaaagaattttctgagagtgctactgtctagttcttatatgaagttcttccccttactaccataggcctcacagcggtccaaatctccacttgtagattcaacagaaagagtgtttccaaactgctctctcaaaaggaatgaatgtccaactctgtgagttgaatgctatcatcacagagtcgtttctgagagtgcttctatgtcgtttttatgagaagatattcccttttccaccacagtccacaaagccctcccaatgtccacctgcagattttagaaaacgagcatttcaaaggtgctgtatcagagggaaagttcgactctgtgaggtgaatgcaaacatcacaaagaagtttctgagaatgcttcggtttagcttttatgtgaagtttatgccatttccaacgaaatcttcaaagaggtccaaatatccactggccgatcccacagaaagagtgtttcgaaactgctgtttcaaacggaatcttcaactctgcgagttgaatgcaatcatcacaaagaagtttctgacaatgcttctctctagttcttatatgaagatgtttccttttccaccacaggcctggaagccctccacatgtccacttgcagattctacgaaaggagtgtctcaaaaccgctctgtgaaaagcgaggttaaactgtgtgactcgaacacaaacatcacaaagaagtttgcgagaatgcttcagtttagtttttctgtgaagatattcccgttttcaaagaaatcttcaaagaagtccgcatatcctcttacagattctacaaaaagagagtttccaaactgctcaatcaaatggagggttcaactctgtgacctgaatgcaatcatcacacagaagtttctgacaatgctcctcttgagtttttacgtgaaggtgtacccgtttcgaacgaaggcctcacagtggtccaaatatccacctgcagattctaccaaaagtgtgtctcaaagctgaagtatgaaaggaaggttcaactctgtgagttgtatgcaaacatcacaaagaactttcggagaatgcttccgtgtagttctgggaagtttatcccgtttccaatgcaatcctcagagaggtccgaatatccacctgcagatcctacaaaaagtgtgtttggaaactgctccatctaaaggaatgttcagctctctcagttaaatacaatcatcgcaaagaattttctgtgaatgcttccgtttggtttttatgtgaagttatttcttttacttccgtaggcctcaaagccgtccaaatctccaattgcagattctacaaaaagagtgtttacaaactgttctatccataggaatgtccaactctgtgagtccgatgcaatcatcccaaagtggtttctgagaatgcttctatctagttttcatgtgaagatatttccctttccaccgcaggcctcaaagccctccaaatgtccacttgcacattctagaaaaagagcgtttcatagctgctctttccagaagaaagttcaattccggaagttgaacacaaacatcacaaagtagtttctgagaatgcttctgtttagtttttatgtgaagatgaacccgtttccaacggaatcttcaaagaggtccacatatccacttgcagattccaaagaaagggagtttcaaaactgctccattaacaggattgttcaactctgtgagttgaatgcagtcctcacaggaaacattctgagaatgcttctgtctaggtttgatgtgaagatatacccgtttcgaaggaagaccacaaagtggtgcaaatatccacttgcagattccacagaaagagtgtttgaaagctgaactatgaaacgaaggttcagcctgtgagttgaatgcaaacatcacaaagaagtttcggagaatgcttccgattacttctgggaagtttatcccctttccaacgaaatccttagagaagtccaaatttacacttgcagattctaccaaaagtgtgtttggaaactgctccatcaaaacgaatgttcagctctctgagttaaactccatcgtcacaaagaattttctgagaatgctactgtctagttcttatatgaagttcttccctttactaccataggcctcaaagcggtccaaatctccacttgcagattcgacagaaagagtgtttccaaactgctctctcaaaagaaatgaatgtccaactctgtgagttgaatgctatcatcacagagtcgtttctgagagtgcttctatgtagtttttatgagaagatattcccttttacaccacagtccacaaagccctcccaatgtccacctgaagattctagaaaacgagcgtttcaaaggtgctgtatcagagggaaagttcgactctgtgaggtgaatgcaaacatcacaaagaagtttctgagaatgcttcggtttagcttttatgtgaagtttatcccatttccaacgaaatcttcgaagaggtccaaatatccactggccgatcccacagaaagagtgttttgaaactgctgtttcatacaggatcttcaactctgtgagttgaatgcaatcatcacaaagacctttctgacaatgcttctctctagttcttatgtgaagatgtttccttttccaccacaggcctggaagcgctccacatgtccacttgcagattgtacaaaaggagtgtctcaaaaccgctctgtgaaaagcgaggttaaactgtgtgacccgaacacaaacatcacaaagaagtttgcgagaatgcttcagtttagtttttctgtgaagatattcccgtttccaaagaaatcttcaaagaattcNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN