├── README.md ├── approximate_match_data.txt ├── approximate_pattern_matching_problem.py ├── clump_finding_problem.py ├── clump_finding_problem_text.txt ├── frequent_words_problem.py ├── frequent_words_problem_text.txt ├── minimum_skew_data.txt ├── minimum_skew_problem.py ├── pattern_matching_problem.py ├── pattern_matching_problem_text.txt ├── reverse_complement_problem.py └── reverse_complement_problem_text.txt /README.md: -------------------------------------------------------------------------------- 1 | ## [Bioinformatics Algorithms (Part 1)](https://www.coursera.org/course/bioinformatics) 2 | 3 | This course was the first in a two-part series covering some of the algorithms underlying bioinformatics. It covers 4 | some of the algorithms underlying the following fundamental topics in bioinformatics: 5 | 6 | * assembling genomes, 7 | * comparing DNA and protein sequences, 8 | * finding regulatory motifs, 9 | * analyzing genome rearrangements, 10 | * identifying proteins, 11 | * and many other topics. 12 | 13 | ### About the Course 14 | 15 | The sequencing of the human genome fueled a computational revolution in biology. As a result, modern biology 16 | produces as many new algorithms as any other fundamental realm of science. Accordingly, the newly formed links 17 | between computer science and biology affect the way we teach applied algorithms to computer scientists. 18 | 19 | Genome sequencing is just one of hundreds of biological problems that have become inextricable from the computational 20 | methods required to solve them. In this course, we will uncover some of the algorithmic ideas that are fundamental 21 | to an understanding of modern biology. Computational concepts like dynamic programming and graph theory will help 22 | us explore algorithms applied to a wide range of biological topics, from finding regulatory motifs to determining 23 | whether the human genome has "fragile" regions. Throughout the process, we will apply bioinformatics algorithms to 24 | real genetic data. 25 | 26 | ### Course Syllabus 27 | 28 | The course was based on six central questions, with the algorithmic ideas that was used to solve them in parentheses: 29 | 30 | * Where Does DNA Replication Begin? (Algorithmic Warm-up) 31 | * How Do We Sequence Antibiotics? (Brute Force Algorithms) 32 | * Which DNA Patterns Act As Cellular Clocks? (Greedy and Randomized Algorithms) 33 | * How Do We Assemble Genomes? (Graph Algorithms) 34 | * How Do We Compare Biological Sequences? (Dynamic Programming Algorithms) 35 | * Are There Fragile Regions in the Human Genome? (Combinatorial Algorithms) 36 | 37 | ========================================================= 38 | 39 | ## [frequent_words_problem.py](https://github.com/noelnamai/bioinformatics_algorithms/blob/master/frequent_words_problem.py) 40 | 41 | This is the first problem in a collection of "code challenges" to accompany Bioinformatics Algorithms: An Active-Learning Approach by Phillip Compeau & Pavel Pevzner. 42 | 43 | A k-mer is a string of length k. We define Count(Text, Pattern) as the number of times that a k-mer Pattern appears as a substring of Text. For example, 44 | 45 | ``` 46 | Count(ACAACTATGCATACTATCGGGAACTATCCT,ACTAT)=3 47 | ``` 48 | 49 | We note that Count(CGATATATCCATAG, ATA) is equal to 3 (not 2) since we should account for overlapping occurrences of Pattern in Text. 50 | 51 | We say that Pattern is a most frequent k-mer in Text if it maximizes Count(Text, Pattern) among all k-mers. For example, "ACTAT" is a most frequent 5-mer in "ACAACTATGCATCACTATCGGGAACTATCCT", and "ATA" is a most frequent 3-mer of "CGATATATCCATAG". 52 | 53 | ### Frequent Words Problem 54 | 55 | Find the most frequent k-mers in a string. 56 | 57 | **Given:** A DNA string Text and an integer k. 58 | 59 | **Return:** All most frequent k-mers in Text (in any order). 60 | 61 | ### Sample Dataset 62 | 63 | ``` 64 | ACGTTGCATGTCGCATGATGCATGAGAGCT 65 | 4 66 | ``` 67 | 68 | ### Sample Output 69 | 70 | ``` 71 | CATG GCAT 72 | ``` 73 | 74 | ====================================================== 75 | 76 | ## [clump_finding_problem.py](https://github.com/noelnamai/bioinformatics_algorithms/blob/master/clump_finding_problem.py) 77 | 78 | Given integers L and t, a string Pattern forms an (L, t)-clump inside a (larger) string Genome if there is an interval of Genome of length L in which Pattern appears at least t times. For example, TGCA forms a (25,3)-clump in the following Genome: gatcagcataagggtcccTGCAaTGCAtgacaagccTGCAgttgttttac 79 | 80 | ### Clump Finding Problem 81 | 82 | Find patterns forming clumps in a string. 83 | 84 | **Given:** A string Genome, and integers k, L, and t. 85 | 86 | **Return:** All distinct k-mers forming (L, t)-clumps in Genome. 87 | 88 | ### Sample Dataset 89 | 90 | ``` 91 | CGGACTCGACAGATGTGAAGAAATGTGAAGACTGAGTGAAGAGAAGAGGAAACACGACACGACATTGCGACATAATGTACGAATGTAATGTGCCTATGGC 92 | 5 75 4 93 | ``` 94 | 95 | ### Sample Output 96 | 97 | ``` 98 | CGACA GAAGA AATGT 99 | ``` 100 | 101 | ========================================================= 102 | 103 | ## [minimum_skew_problem.py](https://github.com/noelnamai/bioinformatics_algorithms/blob/master/minimum_skew_problem.py) 104 | 105 | Define the skew of a DNA string Genome, denoted Skew(Genome), as the difference between the total number of occurrences of G and C in Genome. Let Prefixi (Genome) denote the prefix (i.e., initial substring) of Genome of length i. For example, the values of Skew(Prefixi ("CATGGGCATCGGCCATACGCC")) are: 106 | 107 | 0 -1 -1 -1 0 1 2 1 1 1 0 1 2 1 0 0 0 0 -1 0 -1 -2 108 | 109 | ### Minimum Skew Problem 110 | 111 | Find a position in a genome minimizing the skew. 112 | 113 | **Given:** A DNA string Genome. 114 | 115 | **Return:** All integer(s) i minimizing Skew(Prefixi (Text)) over all values of i (from 0 to |Genome|). 116 | 117 | ### Sample Dataset 118 | 119 | ``` 120 | CCTATCGGTGGATTAGCATGTCCCTGTACGTTTCGCCGCGAACTAGTTCACACGGCTTGATGGCAAATGGTTTTTCCGGCGACCGTAATCGTCCACCGAG 121 | ``` 122 | 123 | ### Sample Output 124 | 125 | ``` 126 | 53 97 127 | ``` 128 | 129 | ========================================================= 130 | 131 | ## [pattern_matching_problem.py](https://github.com/noelnamai/bioinformatics_algorithms/blob/master/pattern_matching_problem.py) 132 | 133 | Recall from that different occurrences of a substring can overlap with each other. For example, ATA occurs three times in CGATATATCCATAG. 134 | 135 | ### Pattern Matching Problem 136 | 137 | Find all occurrences of a pattern in a string. 138 | 139 | **Given:** Strings Pattern and Genome. 140 | 141 | **Return:** All starting positions in Genome where Pattern appears as a substring. 142 | 143 | ### Sample Dataset 144 | 145 | ``` 146 | ATAT 147 | GATATATGCATATACTT 148 | ``` 149 | 150 | ### Sample Output 151 | 152 | ``` 153 | 1 3 9 154 | ``` 155 | 156 | ========================================================= 157 | 158 | ## [reverse_complement_problem.py](https://github.com/noelnamai/bioinformatics_algorithms/blob/master/reverse_complement_problem.py) 159 | 160 | In DNA strings, symbols 'A' and 'T' are complements of each other, as are 'C' and 'G'. Given a nucleotide p, we denote its complementary nucleotide as p. The reverse complement of a string Pattern = p1…pn is the string Pattern = pn … p1 formed by taking the complement of each nucleotide in Pattern, then reversing the resulting string. 161 | 162 | For example, the reverse complement of Pattern = "GTCA" is Pattern = "TGAC". 163 | 164 | ### Reverse Complement Problem 165 | 166 | Find the reverse complement of a DNA string. 167 | 168 | **Given:** A DNA string Pattern. 169 | 170 | **Return:** Pattern, the reverse complement of Pattern. 171 | 172 | ### Sample Dataset 173 | 174 | ``` 175 | AAAACCCGGT 176 | ``` 177 | 178 | ### Sample Output 179 | 180 | ``` 181 | ACCGGGTTTT 182 | ``` 183 | 184 | ========================================================= 185 | 186 | ## [approximate_pattern_matching_problem](https://github.com/noelnamai/bioinformatics_algorithms/blob/master/approximate_pattern_matching_problem.py) 187 | 188 | We say that position i in k-mers p1 … pk and q1 … qk is a mismatch if pi ≠ qi. For example, CGAAT and CGGAC have two mismatches. 189 | 190 | ### Approximate Pattern Matching Problem 191 | 192 | Find all approximate occurrences of a pattern in a string. 193 | 194 | **Given:** Strings Pattern and Text along with an integer d. 195 | 196 | **Return:** All starting positions where Pattern appears as a substring of Text with at most d mismatches. 197 | 198 | ### Sample Dataset 199 | 200 | ``` 201 | ATTCTGGA 202 | CGCCCGAATCCAGAACGCATTCCCATATTTCGGGACCACTGGCCTCCACGGTACGGACGTCAATCAAATGCCTAGCGGCTTGTGGTTTCTCCTACGCTCC 203 | 3 204 | ``` 205 | 206 | ### Sample Output 207 | 208 | ``` 209 | 6 7 26 27 78 210 | ``` 211 | 212 | ========================================================= 213 | -------------------------------------------------------------------------------- /approximate_match_data.txt: -------------------------------------------------------------------------------- 1 | TACCATGC 2 | AGTCGACTTGCGTTCTGGAAATATGCGCGGTCTGATTACCACGGGCCCTGACAACGGGACGATCGGGAGACATGAATTATGAATCATCACGGCTTATAGTCCGACGGAATTGCAATGACCTGTCGCGATTGTGGCTCACTAGCTCGCTTTACCCCGTGTAAGAGTGGTAAATGAATCCATTGCTCCTTGTGAATTTCTTTTCAGACCGCTTCGTCTAGGTGCACACTATTAAATTGCCACTTGCTCTGGGCCCGCCGATTGCGCCTCCATAGAGTTCTACTGGTACCCAGAAATCAGGATCAAAAAAGACGGTTTTTCCGCGGCTCATTACTCCAATAGCAGTTCACTTTAGTTTGCCGGAGTCGACCCGAGCGCTACAGCCGTCTCCTAGATCCGCATAAGCGCTCTCAGTAGCATCAGTGTCCTAGATACGTATTCCCGATCTGATTAAGTGTTGCGCAACTCAAAAGCTCGGCTTTCTATTCGACAAGGGAGTGTTCGGCCCCTCCCATTCCTCTCTACTCACACAATACTTCTGGTATACCCGGAATAAACATCCATCCAATCAGTTGAGAAGCTCAGGCCTGATCTGGTAGGCCTTACTCTTCCGTGAAATGGTATAGTGCCGCTGACGCCCAGTCCCACCTAAGTGCAGTTTTACTCAAAGCTCATGCTGCTTACGGCGCGGAAGTGGTTGGCCGAGGTCCTTGAAGTTGATGCTGGTTCTGATCCGACGCTAGTCAGGGATTCTTGGGTGGAAGGGTCCCTTAGTTCTAGTTGCATCGAGTGCGTTTCCACTCAGAGAGTTGGGAACTTAGACTCACCGGGCGCATCTCTCGATACAGTCGACCCGGTGTAGTAGTAAGTACATGCGCTAATTCCCCCGCGGGCAGGACAGTCCTTCGAGGTCGGTGTGTGCGGGATAGGTCGGGTGATGTGCACGCGGACTGGGAGACATATTCACTAAGGCTTCTCTTGCCCTACCGTACATGCTTCCCCCGAATGAACTGCTGGTACTCTTAATCAATGAAATCTATTTTTTGTAGCTACGGCGTGCATAATCAGCGGATTTCTGGGACGATGATCCGGTAAATCCGAGCGAAGGCGACTCAATCAGGAAGTGTCAAATGAATGAGATGTGGGCTGTGGCCTACGAAGATCTTAACTTGTAAAAATACCAGAACTGAATGTCACCGCCCATATTCCAGGCAGAGATTTCGGCTATCACTCCCCGGTACGAGTTTTCGTAGTGAAAACATCCCAACTTATGGGCGATTCGCGAAGGCATGGCCCAGCGACATATGATAGTATCCAACTTCTGCACGTCACAGGCTGGTTACAGGAAATAAACTGCCGGAGCATAAGGAAAGAAACATTTCGTCGTGGCACAGCACGAAAAATTGCATGCTTGTGTGTCCCGCCACAATACCGACGTTGATGCAAGGTTTACCGGAAGTTTGTTTATGGTTCAAAGCGCAGCCAAGGTACGCCCTCGCTGCTCGCCTAACACCACCGTGCTGCGATAAAGCCCGACTTCCTCACAAGCGAAACCAGCTGGCTGTCCACGTGCATGGATGGGGTCGGACCAGTTATTACTTCGACACACAAACAGTTCCGTTCTCAGCTTCTTCATTGTTCACGACATATCCATAAATAATCGCAAGGCCTTACGCGCCAGCAATAAAAACTTGATTTCGGGACCGGGCGTAACTCGTTGTAGACTTGACACTAGCTGATAAGCATCACACCATTGTTGGGTCGTGACGTCAAGTCCATGATTATTTACTTCGTGCAGAGACTCTTCAGGGCCTTTCGTAATTCGGGTGTAAGACTTAGGCACATGCCGATTTGTTATGAGTCCAGCAAGCTATAATTAGACGGAGGCGACCAATAACGTTTGCGCTTTGTGAGGGTGATCTGGCTGCAAACTGCAGCTGCTTGGTCGAGCGAGTGCACTACCTAAAGGGAGTGCCAGGATGATCCCTAGTAATTCCGGGCATCGCGACCTATCCTCCGCGCAGCATAGCTATCCCCAACAACGCAGGCAAGCCTGTAGAAGCATTACACATACCGATTGCTCTGTGAGCGCCTGACATAGAGGTGTATATTCTCCAGCTTTCTCAAGCGAGCCGCAACTAGTCTGCGTTGGTAAATCTGTATGCGATACGTCTGTTTGCCGAACTTGAAATTTTTTCCTGTACATCGGGTAGGGGGATGAGATTTGTTTACTTACATTGATTCAATCCGCGCAAATCGGACGTTGTTACTAAGTGGTGTCCGACGTCTGCACCCTCACTCTTTTGGAAATTGAACTTTCTTTAGGAACCGACCCCTTACACTTAAATACACGCAAAATCGTCTCAATGCCATCTTCCCCGTATTTCCCGTACGCTCACGATGCACCGGGTCTCTTATTCCCCAGACTTAGTAAGTTTTCGACCTATTATTCGTGGAACAGTCCCTGCAATATCCCCCCGGTCCAGTGAGGCGCCGCCAATCCGATAGGGGGGGACGGGCGTAAGGGGCGCTTTTCTCTGGTTCCGGACGTGTTACGATTGAGGGAGTCTGCATTATGGTGTCAAGTATCCTTCTTAGGACGGGTGGTTACGCCTAGAATGGTGGTTCGCTGGTTACTTACAATTAAACGCAGCCGAGTGAAGGCCGCGCCAGTGTATCTGATCGACACACACCTGTCGATGTGAATGCGTTCATGCTAGTGGGTCGATGGCTGATAAGCCTGGTGGTATACTCGGTGCGCTGCCGAGCCGGTATGACCCATTGTGACCGTCGTGATCTTGAGTATATTCTATAGTCGCGAGGGCTTGTTGAAGCATAACGGAGGCTAACGATCTATTTGTCAGAGTGTTACCTAGATGCCGGTTGCTTGATTGGCCCACGTAGATCCAATGTATTTCTCTACCAGATGGAAGACTCCACGCTAAGCGGTTCCTCCTTCTGGCCAGAGAATAAAAGATATCAGCGGGGCGGGGCGTTATGGCTTCCATGAAGGATACGCGAAGGGTCCACCATATGGTAAAAAGCTGCTGACTCAACAAGGGGAGCGATACGAGATCCGCCAACTGCGATTATTTTAGGGGACTCGCCCTCCGGAGCCTTTACACGACGTGTCCGGCGAGAAGGACATCGCGTGCGTGAATATCATTATCAAGCCTCAGTACTGCATGCTAAACCCCGGGGCTTGATGCATGGTAATATTAGTAGAAACTACACCGGCAAGATGACAAATACAGAATTGGACACACTTGATGTTCGGGCACCATGAGGCCATCCTTCAACGGAAATTGGCTCTCTCCCGGTAGAGCGCTGGTCTAATGATCCGACTCATATGTGAGCTAATCTTAACGACAGTTTACGCTGTCTTCACATGTATTCTTGGTTGAACCAGAAGTTCACGCCCGTGGTGACGGTGGAAAATGCGCATCGGGATCCGAGGTCCTAGACTCCAAGCAACTCCTAAGATTCGCTAATTTTACAGGAATTCGGGAGCGAACAGTCTTAGGCTGATGCGTCGCAGAATTCCGGCGAGCGAACTTGTCGTACAAAATAGTATCTTCGCTGGACTCTGTGACGGCTCCTGCGACCGGTGCAGCAGTATCATCTACTCAGTCACGGGTTGTACGAGCAGTCAGCCACCGCTCATAGTAAGAACTAGAATTTATATGGACGGTCCTGGGGTTGGGCTGGTCCGCCGATTGGACGCGTGCGCGAGGGATATGGGCTGTGGCAGCCCCCCGCAATCCTGTGGGAAGATAGCATATGAGTCGGGTCCCATATCTTCCAGAACTTTGGCTGCTGATTTTGATAAGGTAGCTCATTTTTCTCTTTGAACTATCGCCCTGTATCGCCCGTGCCCTCGTGTGTATCAATATGACACTACCGGGTGATAGAGCGCTGATCCTAGTTAAAGGTCCCTTCGGAGCACGGCGTTAGTTTAAGACCGTTTTAGCAGCTACATCGGAGCCAACATGACGTCCGAATGCAGGATTGGTCTAGGCCCGTGCTGAGGGTGGGACTACGGCGCCCATGTATCGCTGTTCGAAGAGTGTATGCTACTAGTGCACATCGGGCGAACACTGAACGCTGCTAATTCCGATTCGACCTCTGGCTTGGACATAGGCTGCACAAGTTTGTTTGCCCACCTACACTTCATCCGTCCCACCCGTCCGGGAAAGCGTGAAAAAAGCTTCGGGAACTTAGGCAAACAGCCTTAGACCCGAGACCAAGCCTGACCTTACTATCATAAGCGTTAATTACATTCCGTCCCCGCGGTAGGGCGGCTAATGCACGACCGTGCTCTCAACTAGCAGGGACTGTCTTACTTCCATGATTTAGAGACCCTGCCGCCTCTATATCGCAGGGCCGTGGTGACTTTCATAGAAACTGACAGACTTCTTATTTAGGTGGATCTAAAGCTAGAGTATGCCCACCATGGATGTCCGGTGGTGCTGTGCCAATCAAAGGCGACCACAACAGATCCGTACCGCCAAGCGCAGGCGAAACCTTCTGGGAGGTTCATCTGCCGGTGAGTCATAATTGTCGTTGCGCCGTAACAGATTTACTGTAGGTAAGGTGCAACGACTGATTTTACAGGAAACTTCTGTCGGTTAAGGGTCTGTCGACCTACCCACCTTTTAGACTGTAGCTTTATTATTGCTCGATAATCCCGCCACTTACTGGAGCGAAAGCATATCCAAAACAAGCACTCGTACAGAGATAGTCTGATAGTTGGCGACAAATCGAGAAGAGTGTGGCGGATCAGAGTCTATCCGATGCTGAGAGGTACTGCCAGGCGGTTAGACGCTACCTCGCCTGCTTCGCATTTGCTTAAGGCATCTGTAGTGGATAGTGTCGGTTGTGCACCCCACCTCGTCTTTTTTATCTGCGTAGTCGGCTGCACGTCTCTAATGTCACAAACATGATAAAGTTGGAAAGGCTATCCACGGAAGCCCACCTGACTCCCGGTGCTCGGATCATGGACCAAATATTCCCTGTATACACGCCCTCTGACTTACCACGCTTGTGCTGTATGTCATATGATTGGTTGTTCGGAGCCCACAGTATGCAGCTGTGAGAGCTTATTCGGAGGTGATCATTGGTGTTAGCACGATAAATCCCACGGCAGCACTTTGTAGCAGGATCCGCCTACTCTTAGTTAAGCGTTGCTTCGAGGTAAGGAAATTTTTAACAATACTCATTTCCTATGGCCGATGATGCTGTTTGTCGTCCCTAGATGGCAGACGGGCAGGAATTATACAATCCCTCCGCTTTTCATCGTTTGTTTTAGACGGGTGCCTAAGATATCCAGTTCCCACCTAATTAACACCATGGAATATTACCTTATAGTTTACGCACGGTACGCGGTAGCCTACCCACGCACAGCTTACCATTGGAGCACATCACACTTGACAGCCTATGTGGGGCCGACTGTGCGGGCTTGCCACCGCACTTTCTGGTAACCGCTGAGATCGTGACGGTGATCACATCTTGTTACTCAAACCATTTTCGCGCTTATCCGATCGAATATACATGGACGGCGTTGCGTACATCGGCACTATTGGTTTGCTATGCAACTGGAAAACGTATAACGAAGGTTAAAATAGTCAGCAGGTCTCCTTCTTGAGGCGGCCTCCGAACTGGGTCGAAATAATGAGTACGCCACCCCAGTGCCTTGAGATCCCCGTCAGCTGTCGAGTATAGCCTGACTGAGATGCTCTCTATCTATGGAGTGTCACTCTGGAGAACCGATGAAAACTCAAGTCTACTTTAGGCAGCCTATCATTTGAATGGGCCCGAATCCGGAGAATGTGACCTCTAAACCCAGCGGAACGACACGCAGCCGCCCCGGCCAACCCAAAGGAGGGGTGCGTTCGAAGTTAGAGTCGATGAATTCCTTCCTAAAAGGAATTGTTTTTAACCGTTGTCCCTTGGGCTACCACCCATTCAGGAAGGGACCGAGACCTGTTGGAGCCACAGGATGCCGTCTCACGGTAGGTCATTTTTCACCCGAGAAAATCGCGGGATTGAATGTGAAGTACATCGCCGCGTTAGGTCCCCTGTGCCATGACAAGCATATTACGGATCCGAAGTCCTGGGCGAGACGGCGTGTATTCAAGTTATCACTTCTGACGGACGAGACAGGGGTACGCTTCTGTCAGCAACATTGGCTATCTACTGAACGCTCAATGCCACCGCCCACCAGTCGAACCTGAGATGAGGAAGGTTCCATCACGTTCGTCAGTCAAAAAAGCTAAGCGCGACTGATTGGGTAGCGCCAAACGTCCCGCGGGGTGGCCCGCCAACGTGACGCTAATCCTGTACGGCAGTTATGAACGGCTTATCACAGAGAGTACTCGCATCACAAGTGTTGCGTAGAACGTAGTCTTGGGAGAGGATCTAGGCGCATATACCAACGACAGTGGACAGCGAACATCTCAATGCGATCACTTTTGCGCCAGTGTGATTTCATTTTCGTCGGCCGACGATGCGCAGTCTTAAGGACGGTCGGCGTTGGTAATTAGATGGCACGTCCTTTTTGCCGGTGCAAGTGCTATACGGCACAGCCACAATAGTGACCGAATCTCTGCTGGGCCGTAGTGCCATCGCTCATACCTATGACCGCTGATTAATACTACTCCTAATGATGACCCGGGGCAGGCGAACTCGGCACGTGATGATCTTGTCGACGATTTATGTGTATTACGGGTCAAGGGGATGCGGGGTAATTTCTGACCCAGGTCCTAGGCCTCGTGGGAATACAAAGTACGATTATGTGCGAAGAGTGTGACGTTTAGAACCTGAACGCAGTTGAACGCTCAGAATCAGCGACAAGGGGAGCGATGTTTATGCCCCAGGTAGCGTCTTATTCATGAACGATGAAAACCGGCCAAATCGAACTCAACGATCAGGACAAATCATGTCACATGATGGCAGCTCCACTTCGAGAACGCGTCCCGAGATATTTTCATCACTCCGGCCTTAGCGAAGTGATAACTTCACCGACACTCTACCCATTGTCCTGAGGACAACTTAACACCAACTTTCTGTCGCGATGGGCCGTATCTCCGCAGATATGTCGGCTGCATCTTACTGTATGTCCGTTAGGACAAGTCTTTCCGCGCTCATTTGAAGTTACGCAGTAACTCATTTCCAGCACTATTGTCACAACGGCGTAAGGTACCTCCAAGGGAGGTTGCTCTATCAAATCCTTCCTTGCTACTTCTCATCACGGTAACCGGTATGAGTTGGGACATTCCGGTCTAACTACGAAGATAGCATGCTTTAGTACAGCCGCGAGATTTAAGCACGGACTGACGCGGTCTTACCAGCCCTTCGAAGAATCCAGGTGTACCTCAATTCCAGGCATCCTCAACGGTGAGTGCAACTAGCAGAAGTGGTCAGACACCCCAACTCCACCGTCGCCCCGTAGACATTGTGACTGACTCTATATACGGTCCCCCGAAAGAGCCCATACTTTGTTTAGCCAATTCTCCGTACAACTAAGGATATAGTGTTCTTCGTAAGTAAGTTTTGATGTTGCTCCATTAACCCCAAGTGATGTCGCTGGGGAGCGCATGGACCTATTATGAGATAGAGATCGCATGATGTGACCTCCTTTAAATAACGTCTCCGGCCTTTCGTACTTCCACGACTCCTTATACCAAAGCAACCGGGCATATTGCCTTACGACGATAAAACCCCTCCTCAAAACGAGGCCGGACTAGATTGAAAAAATGCCGAGTGGAGTAGGACACCGGCGCAGTACTATTACAACCATCGGTAGAGTTGATGAAGGTCCTTGTTTCTAGTCTCATAGGCATTCAACGCGTAGGACGAAAGGCACGATTCTGAAGGGGCAGGGGGATTAGCTCAACTGCCGCAAATGAACTTTGACGCGTGTCCTGTGATCCCACAGCTCTGTGCGAATTAAGAACACATTGGGTTTGTAGGATGGTCGCGCAAGTAGATCGAAGGGACATTTTAATGTGAAGGATATCCCACGACTGGGTGGGGCGGAAGCCGCGGCAAACTAAATCACCATAGACGGGGGGGTTCGTTCCATATGGGTAAAGTACTTCGCATTGATTAAACTGGGTCCGAGTAATCGTTGTTGGTAAACGGTCTCGCTGCGAACCGATCGCCATTTTCTATTGTTCAGGAGATGGCAGGTATGCCTCGGGACACCCCTGTACTAGGTGCGCACTACCAAGCGATCCAATACCATAGACGGGGCCAACCTAGCGCAAAGACCGAGCTTCCCGAGGCTCACCCAAGTTCCCTTAGCAGGTTATTTACGTGACAACCCTAACGGACTGCGCGGGATGCGACGCACGGGCCATTTCGGAGCATACCTTAATGTGTCCCAGTCTACACGTAAAAGCGCCATTAAAGCTAGAGACCAACACCATTGTACCGCTTCCGACGAGATTACATGTCTATGCATGCTGAGAAAAACTCCGTACGCTGGCAATCGACTGGATAAGTCTCTGGAATGGGGGGACGTTTCGCGTGAGAGCCAAGTTGTTCTCGTCCGCTAGGACGGGCAAACCGTCAGGGTCCTTAGCGTATTATAGATCACGGACCAGACCACTTTACGTCCCTGACGGGATTCACAGCAAATGGAATGCGCCAACTAGTGCTCGCGATGCGGAGTCATTGGGCCGCCAGTCGTCGAGACAAATCCATGCTCAAGTTGAACTCGCTCAATCTAGTGACGGAGCGGAACGAAGAGTAAAAGGCCCACCGGGGGGCTCAGCCATGAGAACCTACACCGGCTGGGTCTGATGTTACTTGACGATTAACAGCCACTTATAGATCGTCATATAGCAGAGCGTATTAAGGAGGTGGGAACTCTTCTGCGTTTTGTTGTTTCTTGGACGAGTGGAGCTAACATATTATGATATGGCTGGCCCATACCATCGTTATGCCGGTCTAGGCATATACGTAAACGCGGGATCGCCCGCCACTGATACATCGAGGAGCTTAGACTGAAAGAGCTACCGGGCGCATGACATAACTCACGCTAAGGCGATTTTTAGTTTACAACGGCCATTCGACTCGAGTTCACTCTCCATACCCTTCAAGCATCTCGGAGTTGCCGGAACGGAACAATTGCACCGTTTAGGTTGTGAGTAGGGGGACGAGTGCAAGGCCACAGGCGTCATCTGGGCCACATCGGATCGGTAACTCTCAATTCCTGCGTCCCACCTAAACCGTCTTTGAAGCCACTCATGACTGCGATAGCTTCCAGGCTGAAATTCTAATTGGAACGTACATTAATCTAGGGAGTTCCGGGCTCAGAAGTGTATAATAAGTGTATTGTGTTGTGCCTAGAACCCATATTTCATTGTCTCAGTGATCCTTGCAACGCCCGCAAGCACAACAAAGTGACGGTTGTCAGGGTAACCGCGGACGGATTGCCCTGAGGGCACAGAGTCTGGCTTAGTGAGGACGGGGCTAAGGGAACCGATTGGTCTAGACCCATGGGAGTCAAATAGGCAAGCGTATGGTGTTCCCCGTTCGTCAGGTCACGGCCATCCCTCGACCGGCAGCGGCACTGTAGCTTTCTCTACGATAAGATCAGCTAGGACTGACAAGGGAATCGGAGGGATCAGTCAGTGATCTATAGCACTACATGGCGCCAATTCATATGAGTTCAAACGATACTCGGTGAATTTGAGGGATAGAAACATCGCCAGGCTCCGAAGACTTAAATTCGCGGAGCCGAAGTTGGACATCGTATAGTTTAGATAGAGGTGCCGTCCCGTGCCAGCACGGTGCGAGTTTTGGAAGCTGACTTGCGTATTAATCGCCATCAAAATCACATCCGAAAATACAGTAGAATCCTAAGGCGGACAAATCAGAGGCTGCTGTGTTATATTGCATGATGTGGCCGTGCCAGAATCTTCATGACTGTGCGATTCCATCAGGATGAAGATAACCCTTTCTGGCCCCTTCGAAATGCATTTTGTTCTACGATGATCATGTTGAGACTAGGATGGCCTTTTACAGGTGTGCGACGTGAAATAATACGGTCGTCTGTATAGTATTCCGTCGCCCACGTTCTCGAAGACACTGCGATAGGTCTCCAGCTGAACGTTGATAGGCATCTGAGCATTCCTGATGCATCTAGATGTCTTTGTTAAATCTAAGAATACTACTTTGCGACTTCGGTATCCGGGACGTGTTCACCTTCGCGCACGTTCCTAATTACTTCTGGTTTGTAGCAAGGTGTCCAAACCCAGGAAATCATCCAAGACAGTACAGCTCTCCTGTTGTGTCCGCTGAATTGAGCCTATTCGGCTATTGTCAATATGCTTCCGGTGTTGTCCACGCATCGACTGTCAAAAGCTGTAGTGAGGGTATCTAATGAAGGGTAATCCAGAAGCTGGATCTGGATCTTCATAATCACTAACTGCCCAAAAGTCGCGCGTGCATAGAGTTGGTCAAATTCGAGTGGAATAAATTACTCGGGTCACGAACTCTGGTGTCCCCCATAAAGCATGTCATCTGTTAATTGGTCCTTAGATGCTATTTTGATAGTGGACGGGTGCCTGAAGCTTTCACGCGCACCAACCGGTATGTATCGCTCCACCAATGGCTGACCATAGCCCCTGAGGCTTCGTTAGTTGTGAACGTTCGCATGAAATTTTTCCCCTTATATTGTAAGCATCCCCAAACTTGAGTCTTCCTAGATAAGCAGGAGCTCCGTTCATAGAGCCATACTCCGTCTAAACCGAGGACTTATGATTGCGTTGGAAAAGACTGAGCCCCCCAGCAACGGTCCGGGTTGTCATTTTAGCGGCCACAGATAGCCCCAGGTGCGGAACGCTGACGAACGAGCCTCCCCCTCTTTGTACTGGGATACTAGTCAGGCACGCGTATTTCGGCTCCATAAACGGACTTCTCGGTTGTCTTTAAGCACTTGATGAGGGACGTTTAACGTGATGATTTGACAAAGGACGTGGGGTCTATAAAATATCGAAACAAGTCATGCAAGATGACGAACTGTTGTTGTCTATCTCTCTCGAAGTACCCGGGTGTTATTGTCTCGTTGGCCCCCGGACGAGTTCCTGCGCGAGAAACCCGGGATTCGCCGGCTCGGCTGCTGGATATTGATGTGCATGGTTCGTTTGAACGCACGACGAACGCCATGTGCCGGCACATACATACAACCTTGCTTGCCTTGCACATCGTCGGCCGGCCAAGAATGCCTCGAATAAGAAACGACTGGGCCACATTCTGGGTGCCCGACCTCGCCCAGGCGCGCACGATGACAGCTCATAGCAATAAATCACAAAAGGTCGTTACCTCTAAGGAATAGCTAAACGCAAATCACCTCCCGCAGCCGCAGTTAGCGCTGCACAGGTTTCGCACATTATGCACAATATCACAACGCGCACCTTCGGTAGAGACTGCCAAGGAAGTAGCTGGCTAGATGTCGTGCGAGTGGCGGTCCCTTCTGGTCTCCCCCTGACCCTTGCTTCACTGCACAAATCGGAGTTTGCTGTTCACTTGCTTCCAAGCGCGATTGTGCTCTCGCCCTATAAGTCAAGAATAGGGATGACCGGTCGGAGACAGATGCGTGGATATTCAAGAGTCGTAGCTCGAAGAGGGACCTCTGCACACCACCGATGTGGGAGATGGTCTAAGGTCGTTTCGTTGGCCTTGTAACCGTGGAGACCCCCCTGAGAAAATCCTTCTTTTTACCCAAGTTCACAACTTCGATAAATGGTGTCATTTGTAGAACACGTTGGTTCACCTTCGGCCGGGGCTAACTCTTGAGTCCGGTAGAATCACCGGGGACAGTCCGTCGTCGTACGCCCCGGCCTTGCAGGGCTACGCGCCACTGACAAATGGAGGACTGAGAGAAACTTAGTTGCCAAAATTATCTCCGCCACACCATACGTTCTCCCGTCAGTGCTTGATCCACTTTCGTATGTTGCCGAAATCGAAAACAGTCTAACACGCTAGTCTTACAGCCCTCAAGCCTCTGGTACCCGAAGGCCTCTTGCGCCCGTTGCCCAGGAGCCGTGAGGGCCCTGCGAGCGTGCGCAGACACCGGACAATGGATATCGGTTGCCCAGCCCGCGAATATTGATGTGAGGATGGATTGGTGATAGGACCTGTCCTTCTGGAGAATGTCTCAACTCCGAGTGATTGGGCAGAGTGATAGAAGCACGAGCTTCAAATATCATGCCATGATCTTAGAAGTGACTCTACGATGGGGTTGATGATCATGCACCTTATTCGATAGCGAGTGCTAGCCAGGAATGCATCTAGAGTTAAGATATGCCTGGTAGGTGTATTGAAGTGTCGTTATTGTGGCAGCAATTACGAGGTGCCCGGTCTGCCATCTTTTGGTGGGTATCTAGTGCGAGTGTCCCACTCGTGCGCATATCTCCAACCGAAGCGACTCTTTAGTCCCTACTGAGCTTAGACTCTGATGACGCATCTCACGTTGCACCGATGCAAATATTTGATGCGCGCGGTCGTGTCTTTCTTCGGTGGCTCACCGAAAAAAGTGGACACTGGGGGGATCCAATGCTCATCACTCGAGGATGCGTATGTGACAGACAGGAAATCTGCTACGTGGGGGCGACTGTACGTAGAAGGAATACCGTGGCCGGTTACTGGTAGAGTCTACCCACATCGGGTTCATGATCTCCGGAGCTGTGGCTCATTTTTAGTATTACGACCGGCATCTTAATACCGGGCGACCGACTGTCCTCCCCGGTGACCTTGGAGCACCTATCACGGGTTAATCACCAGTGTCCCAAACGGTTTCAGTCCTTATCTTCCTTCAGTCGCGTCGTTTTGCGAGATACGCTGAAGCGTTCTGTGCATTGTTTGTCGGTTTGCATTCAAAAACAATACGTTTACATTTCCAGCAGCCGAGGAAAATATTCTTTGTTGACTAGGCGTGCGCCCTGCTGTCCCCAGCACGCTTGAGTTAAACTTAGTAATAGTGATTTCCGTGTCTAGACTGGAATTCGCTTATGATGTCACCTCGGGCCTAGCTAACCGACCCAAGTGACGGGCGTACGTGAGTCGATGGCGCGCGCCCGTTAGTTTTTTTTGTCAAATATCAGGTACGGCCACACCGGCTTATAATGTAATCTCTCTCTAGCCAGCGTGGACACATCGTACAGCAGATCAGTTCATCATATCGCACCCTGACGAGTGCCAACGGGCGGGATTTAAGCCGGGCTCGATAGTGGCGTCAGATAGCCATTTGACCTCACGCAGTGTCCAACGTTCACCACAGGCGGTCCGCTCCTCTGCATTCGTGACCTAGAAAACATATTTCTGGTAGGGTGGGGTTCGGTCCTTCTTATTCCCGATGCGTTCTACTTCGCAGGAAGAGCAAGAGCTCTCTACAACGGCGGGGTGTCCGGGGGCGGTTGGTTCTTTAAGCCCGGTGTCGTAGTCGTGCCTTCTATGATTTACTTTCGACGCATGCCCCGGGGTACGACGCTGACAGCATCTAGTGATGGAGACAAATCATGTGTCGCTTCGGAGGCCCAAGTGGGAAGCGTTGACACCCCAAGGAGATGCTAGTAGGGGTTGGTCGTCTCATGTATGAATCCGACGCCCTAGCACTGTGGTACAGGGAACTCCTTAAATCAGGTTATTCACTCGGGTGACGTGCTGTGGTCTACGATATTGATGTCGGTTCCATGAGCGCTAATAGTTGAGTCGCTATTCGTATTAACGGCCGCGCATCCACCACTATCACTCACAGGTCTCAACATCAGCCGCCTCGTATTGGAGGCCCATAGTGGCTGACCCGGGCGTATAAGTCTTTCTAATCGGCATGTTTCTATCGCCGATGCTCCGAGGTGGGTGTATACTGAAGGCGGTGTCGCTGTCGGCCTCTCAGGGCGTTTATAAAATTCAAAATGGATGGTTGATTAGCCTGCATTACTAGAGAGATCCTGCCTGGGATACTAGGTTTCCGTCCCCTTGCCAAACGTCAAGGCTGTGATTTCGACTTACCATACGCAATATTCATCCGGCTAGTGACGGACTGTTCCCAAAGCCTTGTCTTTCAACACAACCTGGTGTCACCCTTGCAGTGGACCGGCAAGTTAAGGCTCGCGTACCGCGGCCACCACTCGTCCGCATCATCGTTCCGGCGCAGTCCAAGTCGAGGGGAGGCCGTAGGTGAGACAGCCCCGTACGCCTCTCTGGGGCGGCTCCTGGTGCTAGTTTGTAGCAAGGTCTGCGGCTTGACACTACAGGCCATATAGTATTTATCTGCACCTCTTTACCGTTTCCGACAGGTCTCTGTAAAGCAGACCTGCCTTACATCGGTGAGCTATATTGGTTTTCTTCCCTCGTCGGTGCGCATTGTACCGAGCGCGTTACCAGATAACGACATGGGCAGCATAGCGAGTTATCCTTTTTCGGGCTCTTTTGTGGTGACCACCCGGATCTAAACACATACGCTCAGAACTACCGAACTTTTCAGGTAAGTTACACGGATCCTAGATACGCCGCGGGAGGTGCCCGCCTCAGATAATGTAGTAACATGCGTCCGTTCGGCAGCTTTCCAGTAGTGCCATCATCGCGACCCGGTATTGTCCGAGGCTCATAAGAACCCCGTCCCAATCACTGTAGCGGTTTACCGTTACAAGGCGTTTATCAAAACTTGTTGAGCATGCGAGACACCTCTACAATCCTCCATGTGATAAAGAGCCATGTAATACCCCCCCATTTGCCTACGTCACCCATGATCCGGGCACTGTATTCAACTACACGCCCGGGACTGCGCGGGATTGCAGCCTGAAAGCGCCATTTGCATCCACATCGGGGGTACCGAGTGGTGCGATAAGGGAGCGCTTAGAGGTTAAAGCATTCAAGTACGCCTTCCACCTCAGTCTCTATTTTTTGCCAACAATGAATCGTAGACGTAAACGCCGCATGAAGTGGATCACGCTCTAACTGACCAAGACCGCTCCACTGTTGAAGTAGAGACGCGTGGGGTAATGCTTACGTCCTTTGTCTTCAGCCCGCATGCGCAGACCAGAGCAAAAACACCGCTACGAGTGTGACTCCTCCATGTGACAACTAGAAGTTGAGCTGCGAAAATGTTCGGCGACTAAATGAGTAATTCAGTCCAATGCTCGAAGGCAGGACTTGAGGGGGACTCATTTCCGAGCAGCGCGTTTGTACGCATGCTGGTACCCGTACTGGAACTGCCCCAACACTCAGCGGCTCTTATAAACAAATGCTCGACCGTTTTGCAGTTAGCCTGGACAAGAAAGGTCTCGTCCTGGACTGACTATCGTTCACGCTACCCTGGATAGAAAGGGATGAAGACCTCGTGACCAACAATGAATCAAGGCTGTGCTGCTACGTTACCGCGTAGGACATGACGGGCTTTTGGCCCACGGCTCTTTTAAAACAGTGCCTAAGCCGACAAATCATCTCGTGGGACTGATATAGGCACGTCCATCGACCAACATACTTACCCGGCCCATCTAAGGTTTCGGGACTAAGTTGCCCCCGAAAGCCCAGTGACGGGCTCCAAGTTGTAGCCTCTCTCTGACCCAAAGTGAGGTGCGGGACGAAATACAAAGTCTAACATTGTAATCTATGCAAAAAAAGACTGTAGGGCGTGACTCTCGAAATTAGTTGACTTGCGTCGCATCCCCTAGAAGGATTAATCAGGCAGGTCCTGCATCCCCAAATTGCACATCGTGGCCGACAGGCAGAACGGCTCCAGTTCTCCGGGTAGCTCGATTGCGGTCCGGTAGGCACGATCAGCTTGAGGGTCAGGTTTTCAGGTAGGAACGAACACTTATCCGTTATGATGGAGGTTACCTGTCATCTTAGCTGATTCAGCTGGTTTAGTTCCAGCCTAGCATATAAGTGGATCAGGCGACTTCATATGCTAGTCTATCGAGTGTTCGGTGATTAAGAGAGCGTAAGTGACACGCCGTCCACTGAAAGGCCTCAAGGCCAACGTACACACCGGCGGGAACTCCGCGCCTGGGAGCCTTCACCTGTTAGACAGAGGGGAAGACTCTGTCAGGCATAACCGAGCGCTACTTAGGAGTCACTCGAATGTTTCGAAAGAAAAATGAGGTCGTGGCCGAAGAAAGCCCTAAAGAACGAGAGGTGACGTCCCTATGAACGACCGCTCAACAACCACTACTCCGGGTGTGCGAGAGGACGTATTAGCTCGTCGTGCAAGCATTAACCAGCCAATAGTCATTAGTACAGTGTCCATCCCATCATTATTGATAAAACGTGGATGACCGAATAATGACTGCAGATCACCGCCTATAGAAACATTTTGGGGTACTCATATTATCTACTGGTGGTGGAACGTGACTAACAAAATTTTTCAACACACGGCTTTTAGGATCACTTAACGACAAGACGAGACCAGAACTCCCGCATTGGATGCGAAGTTGGTACTATGTTACAGCTCCAGGCGGGTATTCTAATCCCACGGAGATCACGGAACGAGCTGGTATGCGATCGGCTCAGAGCAGGAGCTACGTTATCGGCCACAGCTAACGGGCTGTTCTAACTTGCCGGGCTTTGTACCCGTCTGGTAAACAGCGGGTGTCCCACTCTGGCTCTCTGTAGGTTCCGAACTGCCCATTGATTGAGTAGGGTCCTTGACACAAGTGGGTGAGACAACGCTGGAGTACGAATGACCGACCCCGAGTGCGTTGTCGAGACAGCAGGTCACGGTCTGAGTTGCACACATTCAATGATATCAACTTGTGTCGGGTCACCCGTGGTAGGTCCTATAATCCTCTGACCCTTGATCGGCTACGGCACCTCACTACGACCGTCTATTTCCGCACCCTTAGGGAAACGGTGTAGAAAAAAGATAGTACTTATGTAGCTAGTCGTTATTTCTGGCGGGGGAGTGCACGGCGGACTCGACAGCGATTCCGCCATAATTGGGCTCGCAATAATCTTACGCCTGAACACTAGTGGTGTCTGTCTACAGACTTACTACCATATTACCCCTCGGCAGCTCTGGCTGTCGTTAAGTCCTAATTGAGGCCGCGGTCCCCGTAGTCGAACTATACGTAGATGTGTATTAATACCATGC 3 | 6 4 | -------------------------------------------------------------------------------- /approximate_pattern_matching_problem.py: -------------------------------------------------------------------------------- 1 | ## Python function to find all starting positions where Pattern appears as a substring of Text with at most d mismatches 2 | ## given strings Pattern and Text along with an integer d. 3 | 4 | def find_pattern(p, q, d): 5 | count = 0 6 | for x, y in zip(p,q): 7 | if x != y: 8 | count = count + 1 9 | if count > d: 10 | return False 11 | return True 12 | 13 | def approximate_pattern_matching_problem(pattern, genome, d): 14 | pos = [] 15 | k = len(pattern) 16 | l = len(genome) 17 | for i in range(l-k): 18 | if find_pattern(pattern, genome[i:i+k], d): 19 | pos = pos + [i] 20 | return pos 21 | 22 | string = "".join(open("approximate_match_data.txt")).split() 23 | approximate_pattern_matching_problem(string[0], string[1], int(string[2])) -------------------------------------------------------------------------------- /clump_finding_problem.py: -------------------------------------------------------------------------------- 1 | ## Python function to find all distinct k-mers forming (L, t)-clumps in Genome given string Genome, and integers k, L, and t. 2 | 3 | import itertools 4 | from collections import Counter 5 | 6 | def frequent_words_problem(string, k): 7 | 8 | words = [] 9 | results = [] 10 | 11 | for i in range(len(string)): 12 | word = "".join(string[i: i+k]) 13 | 14 | if len(word) == k: 15 | words.append(word) 16 | 17 | return Counter(words).most_common() 18 | 19 | #string = "".join(open('frequent_words_problem_text.txt')).split() 20 | #frequent_words_problem(string[0], int(string[1])) 21 | 22 | def clump_finding_problem(string, k, L, t): 23 | 24 | words = [] 25 | 26 | for i in range(len(string)): 27 | string_1 = string[i: i+L] 28 | 29 | if len(string_1) == L: 30 | words.append(frequent_words_problem(string_1, k)) 31 | 32 | dummy = list(itertools.chain(*words)) 33 | 34 | return [y for y in set([x[0] for x in dummy if x[1] >= t])] 35 | 36 | k = 11 37 | L = 566 38 | t = 18 39 | 40 | string = "".join(open('clump_finding_problem_text.txt')).split() 41 | clump_finding_problem(string[0], int(string[1]), int(string[2]), int(string[3])) 42 | -------------------------------------------------------------------------------- /clump_finding_problem_text.txt: -------------------------------------------------------------------------------- 1 | TGTCTTCCGGCTGAGCGGTTCCTAACCAGCAGACTGATACTGGTCGAATATCGACGGGCAAGAGCCCTGGGATTGATGCGTTTCACCATGCGCGTCTCAGTGCAGGCAGGAATGCAGAGCTTACTTCAAACTAGTTACTGGCAAAAAATACAAATTTTTTCGATCGACCTTGAGTTTATTCATTACCGCACAGTCTTTTACCGCACCTGTTACCGCACATCCGTAAGTTTACCGCACGTTACCGCACTACCTCTCTATATTACCGCACTTCGTTTACCGCACGCTGAGGAACGGTTACCGCACTTACCGCACCACAAGGTGCGTGCTCTGTTATTACCGCACCACCATTACCGCACGCACTTTTATTACCGCACCAGGGCACAGCCACGTAGGGTAGCGTCGTTCTCACTGTATTGCGGCGACGGTCGTAATTTACCGCATTACCGCACCACTCGTTAGCTTACCGCACCTAGGGTTGTTACCGCACGACTTACCGCACAGCCGTTACCGCACGTGTTACTTGACGCTCTAACTCCCACTCATATCAGTCTTATTACCGCACACTGGGCTTACCGCACCCGCACCTTAAGTAGGCAGTTACCGCACGTATTACCGCACGTAATTACCGCACACCTGTAAAGGCAGGGTAAAGTACAGACTTACCGCTTACCGCACGGTTGCACCACGACAAATCTAACGTTAGGTACGTTACCGCACGGGAAATTACCGCACTCCAGGGTTTTACCGCACAGATATCCATTCGGGAATGTGACCCCTGGAGTGGAGTTGTGCGAAAGATACGGAGTTTTCAAGGGCACACCCAGCTATGTTATTAAGCGTTACAGTGGCCGCTGCATCATGTCAATGTTCAGGTCATTCTCTATCTTGCTATGTACGAACCCTCGTTAAGAGGGAGTAAGCGATCTTTTGACAAAATCGTATGCATGTAGGCGAGGCAATGCCGATTACATTGAACGGCGGGACTTTTCGTATGAGACACCGCGGTTGAAATATTTTTTTATGCAAGAGCGGGATTGGGCGGAAGGAGACTTAACGCAGTGCCTAGCACTGTTAACTGCGGCATGGCCGGATGGACTACCTATTTTGCAGCTCCAGCGTTTGAGTTCCACGTACTGACGGAACAGTCCCGAGATAGGCCATGTGGTCGATCCCAGTGAGAAATGAGACTCGAGATGCCGGTACCGGTAGCATCACCACATTGCTCCAGTATGATATCAGTCTTCACTGTCAGCAATTAATGCAGCGATCTTGAAGAGAGTTATTCATCTCTTATCACCTGACAATAAATCAATTTACCAGTCAAATTCTCTTTAACATCGTGCCGAACTGCGATGCGTCGTAGTCTAGATTAGGATATATTTTCTTAGCTGGCTTCGATGATTGGCTGTACGCTAAGGTGATTGAATTTCGATCTGCATTGGAGCTGTACCCCACCTTGCATGGCATTGACAGCCTAAAGCGTGAAGAATGCAATACAGCTGACAGAAAAATAACGGGCTCGATAACGTTCCAAGATTCTGACTTAACGACGGCTAGCGAGCGAGTCATAAATCCCGTCCACACCGGGCAATCGGGTCGGAGTGGAAAGGGCGGGATTTTATTATTACGTGACGCAGATCTCCGTGTCACTATACTCACATCCTCTCTGTAGATAAAGTTATACCAACCTCCATATTCTTCTTACGCTAAGTTCGGGCTATCCGAGTCTCGGCCCATAGCAGGAGCACTTTAAGGGAAGTCCTATTGCCGAATACAGTACGTTCCCCGCAATATGTTATACTCACCCAAATATGTTAATATGTTATATGTTAAAACGCAGTGTGGGAATATGTTAATATGTTATGTGAATATGTTAAAATATGTTAAAATATGTTAACGATGTTAGCCGTGATAAATATGTTATTAACGGCGTGCGTTAATATGTTAGCGACGACTGGGGGTCAATATGTTAGCCAACTTCCTCAATATGTTAACCGGTTAATATGTTAGTTAAGATCAATAAATATGTTAGCTACGTAGACAATAAAAGCATAAGCAATATGTTATAATATGTTAGACAGTTCTCTAACCGATAATATGTTAAGGCATACTTAACCAGCGAATGACAGAAATATGTTAATATGTTAAATAAATATGTTAGATAATATGTTACGATATTACCCGCACATTGCTCCGAATATGAATATGTTAAGGTGGTTCTCCGTATTTAATATTGTGAGAGATAGCTTGTGAGAGATGTTGTTGTGAGAGAGCTGTGAGAGCTTTGCGAGCCTTTAAATATTGTGAGAGTTATGTAGTCGGCCTGTGAGAGATGTGTGAGAGAGTTAAATATGTTAGTTAGCTGAGAGCTACGCTGTGAGAGGCGAATTGACGTAGTGCTTTTTGTTCTGTGAGAGATGTGTGAGAGTGTGAGAGCGCGTGTGAGTGTGAGAGTGATTGTGCATGGTCCAGTAAGATGTGAGAGTGTGAGAGTGATCTAACGCTATGTGTGAGAGAGGGTGTGAGAGGCTGCGTATGAAGCACAAATGTGAGAGTTGTGAGAGATACGTTAAGAGCCCGGAAGCTCGGCATCATAAGCTGAGCAGATTCAATGTGAGAGGGCGAGCCGACGGTAGGCTGTGAGAGTCATTATTGTGAGAGTCGCGTGGTGTGAGAGTCCCATTTTATGTGAGATGTGAGAGCTCTGGGGCTGTGATGTGAGAGAGTACGCCGAAGCGTGTGAGAGTCCTGTGAGAGATTCGGAGGTCTGGATGACATTGTGAGAGCCTGCTTACGCGACGTGATGAACGCGACCGACTAGCGACCGCCCACTACTACTCGCAGTTGGTCTAGAGGCATTGCTTTACTGAAATACGCAGGATGCTTATGACGCTCGCGCCAATACATCGCGCTCGCACTGTATGTCGCTTCACCTTAATCCTAAAGCTCAAATATAACGGAAAAAGAGAAATTAGGACGACCGAGGGTCGTCCTCCGGTGGTTTTCACGACTTCGCCAATGGCGTGCTGCGTCGAAATGTGCTCAAAGCCCCGTAAAGCTCAGACACCATGCAGGAATGGGAATGTGTACCCAGAGATCCCTAGTAAGAGAGATCCAAGACTTAAAGCCGTTCCGAGAGAGATCTAATCACTAGAGATCTTAACACCAATAGAGATCCTCTAAGAGATCAGTAGAGATCGCTTTTCAGAGATAGAGATCACTCACCGAGAGATCTTACAGTTTGATATGTCAGTTCGGTTAAAAGCAGAGATCGTCTGCAGAGATCGGTAGCGTAGAGATCCCGTGTCGTACAAAAACTTAGAGATCAGATCGCGCCTCGAACTGTACTTAGAGATCTACATTATCTAAGAGAGAGATCAGAGATCACAAGGCCACACACGACAAAGTTAGAGATCTACACACGATAGGTGGTGCCGAACCTGAGAGATCCGGGTTTTGAGAGAGATCAAGAGATAGAGATCGTTAGAGAAGAGATCTAGAGATCGCACGGGTTTTGGAGAGATCGTTCGGGTTTTGTCGGGAAGAGATTAATGCGGTGAGTTAATGCGGGTATAATGCGGCAGATAATGTAATGCGGTCTAATGTAATGCGGGAGATAATGCGGTGATGAAACTTAATGCGGCTAATGCGGTTAATGCGGTCGAACGCTAATGCGGAGCTAATGCGGGCGTAACATAATGTAATGCGGTTGTCAATATTGTTTTCAATATTAATATTCAATTACAATATTCAAACGCAATATTAAACGGCCGGTAATGCGGGGTCAATCAATATTTTCGTAATGCGGGGTTAATGCGGTTTTCAATATTATCGGTAATGCGGGAGCTGGCAATATTGGTTTTGGTAATGCGGTTTAATAATGCGGGGCGACAATATTGGGTAATGCGGATATTTATCAATATTGTGTTTCAATATTTAACACAATATTTGCCGTAGGTATGACCTAATTAATGCGGATATTAGGGGCCAATTAATGCGGATCGTAATGCGGGTCGGGCTTATAACAATTAATGCGGTCAATATTACTAATGCTAATGCGGCGGACTACAATATTTACAAAAGACTACCAATAATGCGGATAATGCGGTCAATAATGCGGAAGATAACGCGGCAATATTGCCCGACAATATTTGACTACACAAGACTACACAATATTCCGTTATTCTGTGCCAACGCCAGGTCAATGCGTCGAACCAATATTCTTGATTGTGATGCAGACTACACGACTACAATATTTACCCCCGGGACTACATATCCACGACTACAGGGCGAGACTACATAGGGACTACAGACTACAACAATTATGGTCACATTAACTCTGCCCGGCGGCTCTTCCCTAAATCTCACGTGATGGACTAGACTACACCGACTACAACATACTTTGCAACGACTACAGTACGTTAAGACTACAGGATTCAGACTACACTTGATTTCCTGACTACACTTCTGACAACCCGCACATTGCCCGCTAACTCTGATGGCCCCCAGAGACTACATACCATCGAGCGCGACTACAGGACTACAGCCGTAGACCCTTTAGACTACACGCCAGGGCCAACTGACACGGATAAGGTCTTTGCCCCGCAAGTGCTCGCCGAATGTGATTAATCTCAACATTCCGACCTGCAAGAGCACACGCATTTGATATGGGTATAAGGAAGATCTCGTCCAGCTATAATGTACAACATTTCCCCGTCATGACTTGCTACATAAACAGAATAAGACGTGACGTCGCCAATATAAGACGTACTCGATTGACCGTAAAATTTTTCTAAGAACCAAAATAAGACGTAAGACGTTCACTTAAATAAGACGTAGGGCGTTACCGATAAGACGTTAAGACGTGGATCGCCATCGCCCGTGAGTCGCTCTCCCGCATAAGACGTTAAGACGTCCCAATAGTGCTCCCTACACTTTACCGGTGGTAGATAAGACGTAGACGTTATAAGACGTCGGGTAAATATAAGACGTTATTCCCAATAAATAAGACGTAATCCCTGTAACACTGGAAGTGATAAGACGTTTGTTCTAACATAAGACGTTGTAACTGCCCTAACCCTGATAAGACGTTTTAAAAAGTACTATAAGACGTTCGAGGAATGAGACCATAAGACGTCGTCCCTCCCTCAGCACTGAATTTTTTCGAAGATAAGACGTAAGACGTGTTGGTTTATCGTTAGAAATAAGACGTACGTTTATAAGACGTAATGGTCATAAGACGTACGTTAAGACGTAATAAGACGTTATCCATCCCAAAATTACACGTCAGAAATCATGGCAACCGCCGTGATGGAAGAGAGTAGCAACCGACTACATACAGTATACTGTGGGCAGACTCGTTTGTACACCAACACTTCCGCCGCCATTATTAAATACGATTGGTGCTTTACGCATCTTGATGACCATGGTTACTCACCTCGGGTGCTGACCCGCCTGTCTCCTATGACGTCGGGCTCCACTACGGCCCCGTTTCGACAGATAGGGGGGAGTTGACCTCGAATGCGGGTTACTTCGCCTGCCTTTCGACGAATCGGTATGGCTAGCTTGGACAAGTATAGGATTGGTCTTTCAAGCTGCACTGTTTTGCAGCTTCTAGCGAGATAAGGCTGAAGCCTCCAGCGATATTGTCCAGTTGGAAAAAAGTTGGAAAAATGGGGGTTTGGAAAAAAGAAAACGCCCGGGTTACACCGGGGACATAATTGGAAAAAACCAGTTGGAAAAAGCTTAGAAAGCTTGGAAAAAGTCTTGGGAACAATTATTGGAAAAACGATGGGCGACTGAGAGTTGGAAAAAAAAATTGGAAAAATTGGAAAAACGTGGCTTTGGAAAAATGGAAAAAGATTGGAAAAATTGGAAAAACTTTTGGAATTGGAAAAAAAAGCCACTGCGGGTGCTTTGGAAAAAATATTTGGAAAAAACTAGCAAAGCGGCATTCTGAGAGATTGGAAAAACGTGCTAAGCTTCTTTGGAAAAAGAATTGGAAAAAAAAAAGCGCACCACTCAGGAAGACATGTCTGGCACTTTAGCGTTAAAGTTTGGAAAAAACTCCTCCCACATTTGGAAAAATGGAAAAAGAATCGGTTAGAGCGGCACGTGTCATATTGGAAAAATACTCAGCGCGTTAGCAGTTGGAAAAAAATGATGACTATGTTTGGAAGACAAGGAGAAAGTCTCCGAACAACATCCATGACAAGGAGGAGGCTGGACAAGGATTCAGGCTGTTCAGACAAGGAGGGACGACAAGGAAGGACTGTTCAGGCTGGACAAGACAAGGACTGTTGACAAGGACAGGACAAGGACGAAAGGCTGTTCAGGGACAAGGAAGGACAGGCTGTTCAGAGGACGAGGACGACAAGGAAGGCTGTTCAGGCTGTTCAGGAGGACGAGGAAGGATGTTCGACAAGAGGACGACAGGCTAGGACGACGAAGAGGACGACTGTTCAGGCTGTAGGACGAGGACGAAAGGATGTTGACAAGGAGGAGAGGAGGACGAGGAAGGACGAAAGGAGACAAGGAGACAAGGAGACAAGGAAGGACGAAGGACGAAGGACGAAGGACGAAGGACGAAGGACGAAGGACAGAGGACAGGACGACGAAGGACGAAGGACGAAGGACAGGACGAAGGACGAAGGACGAAGGACGACAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCATCAATCAT 2 | 9 597 19 3 | -------------------------------------------------------------------------------- /frequent_words_problem.py: -------------------------------------------------------------------------------- 1 | ## Python function that finds the most frequent k-mers in a string given a DNA string Text and an integer k. 2 | 3 | from collections import Counter 4 | 5 | def frequent_words_problem(string, k): 6 | 7 | words = [] 8 | results = [] 9 | 10 | for i in range(len(string)): 11 | words.append("".join(string[i: i+k])) 12 | 13 | tuples = Counter(words).most_common() 14 | max_count = max([y for (x, y) in tuples]) 15 | 16 | for (x, y) in tuples: 17 | if y == max_count: 18 | results.append(x) 19 | 20 | return results 21 | 22 | string = "".join(open('frequent_words_problem_text.txt')).split() 23 | frequent_words_problem(string[0], int(string[1])) 24 | -------------------------------------------------------------------------------- /frequent_words_problem_text.txt: -------------------------------------------------------------------------------- 1 | ACGCAACACGCAACTAGCAAGAACGTATTCCCGACGCAACTTCCCGACGCAACACGCAACGAACGTATAGCAATTCCCGACGCAACTAGCAAGAACGTATAGCAATTCCCGATTGTCGAACGTAGAACGTAACGCAACACGCAACACGCAACGAACGTATAGCAATTCCCGGAACGTAATTGTCATTGTCTTCCCGGAACGTAATTGTCTTCCCGATTGTCATTGTCGAACGTATTCCCGGAACGTAACGCAACTTCCCGACGCAACGAACGTAACGCAACTTCCCGGAACGTAATTGTCTAGCAATAGCAAACGCAACTAGCAAACGCAACTTCCCGACGCAACGAACGTAGAACGTATAGCAATAGCAAGAACGTAATTGTCATTGTCACGCAACACGCAACTAGCAAGAACGTATAGCAAGAACGTAGAACGTATAGCAAGAACGTAACGCAACGAACGTATAGCAAACGCAACTTCCCGATTGTCACGCAACATTGTCATTGTCTAGCAATTCCCGATTGTCGAACGTATAGCAATAGCAAACGCAACATTGTCATTGTCTAGCAAACGCAACTAGCAAACGCAACGAACGTAATTGTCTAGCAATTCCCGATTGTCTTCCCGTTCCCGGAACGTAATTGTCGAACGTATAGCAATAGCAAGAACGTAATTGTCATTGTCTAGCAATAGCAAGAACGTATAGCAAGAACGTATTCCCGACGCAACGAACGTAACGCAACTTCCCGTTCCCGACGCAACATTGTCGAACGTAATTGTCATTGTCGAACGTATAGCAATAGCAATAGCAAATTGTCGAACGTAGAACGTAGAACGTAGAACGTATTCCCGTTCCCGACGCAACACGCAACTAGCAAACGCAACTTCCCGTTCCCGTAGCAAGAACGTAACGCAACTAGCAATAGCAAATTGTC 2 | 11 3 | -------------------------------------------------------------------------------- /minimum_skew_data.txt: -------------------------------------------------------------------------------- 1 | CCACGATGTCTATGGCCCCTTCGAAACGCCGTTGTGCCTCTCTTAGTACGGTTCCGATTGCAGGATACAACCCTGTTTCCGCCAAGTTATGGCGCGATTGACTTTTATACTCCCTGCACCGGCCTCTAGTCCGCTTACCGTAGGGCATTGTCTGGGTAGCTCTCACCCGCGAGCCCCCTAAAATTAGCGACTGCCACTTGCTCTTTTGTGCAACCAGGCTCAACGTGATCTATGGTAAGAAGTCATTTCGTCGTATGCAGAATAGAGCAGTGTGTCACAACAAGAATGGTTTGGGGAAGAAGGCGACCCTGTGAATCCAATATAGTTTTTCACATGGTCGAGCGTAGAGCTAAGGTCTATCGAGCCAAGTCCAAGATAATCAAGTCCCCCCTATGAGAACCCCACACGCCGAGTTTATCCAATAATTATGGATTCACGGATGCGTCCGCACACTTCCCTTCAGCCATCCAGAACAAACCCCCGATTCTTGTTGCGCCCGGCCTAGATCAACGATCTGGTTAACGAGCGGGGCAGCCCAAAACTGAATGACTGCCCAGAATGTCGTTGCTGTTCGCACGATCTTTGAAGAGTAGGCGTCAGTAGACCACAATTGCACTTCAAGTGGCCGCTATTGTCTAGTGCAGCTAACTTAGGAGGAACTCACTGTGACGGTGTCTAGTATTAGATGGTGACCCGTCTTGCGTGGGAAGGCATCTTAAGGCTGCTGTTTAGCTCAGGCTTGATAGTGCGTATAGGGTGGGGCTGGCTAGCATGGGGTTGGACCTAACTTGATTTGCCACCCTACACCTCTGAACCTACAGTAAACGACTGCGTGAGGCATGGTGTTTAGACAATTAATTGAAAAACTGACCCCTAGTGGACGAGATCTCACGGACCGTAGGCATAGTAAAGCCGATGACCCCAGCGCACCCTAGTCCAATCAGATGTCACCCCTGGGTGAATGCTAACGTAAAACTTCATCCAAACCACCGCTAATGTGACCACCTCCCGGATGTACCCGGGATGGCCTTGAACCCGTCTAGCATTGAAGGTATAGGATGGAACTGTCTCAAAACAGGTGAAGTCGTGGACCCCCGCTTATGTATCCTCGGAGAGCCATGCATATTGTGCTATGTCATTACGCTTCGCGGGAAGCTAACACATCTAGGTTTCCGCTAGGGCTTTAACATCTGCGTCTCTATAAAGCGCAATCGGCAGGGCATAAGCACGGATTGTGAGAGCCGAAATGCGGTGGGACCGTTTTAAAACACAGTGAGAGTAATTGCCGTAAAGATACCTCCCGACGTACTGGCCGAGAACCTCGGAACCATGAGTGTGACGAGGTTACGTTTGTGCCGCAGAGCATGTTGCACGTGTCGGTGTCAGATGTCATCGCCAGCCTCTAGATAGTATAGGAAGCCCATCTAATTCAGGTCAAGCATGTCGTTCCTACATCCGCAAGTTTGATCACCCTCACCAAAAATGGCCAGACTAATGGGCCTCTGTTACGGTACGACTTACTGCCTCAAATTGATACTTTCAATTATTTATATCTCTGATAGTGATCGTTCACGCCCGAGTTGGATATGGCTTACTACGATCATTAACTCGCCTCAACGAACGGTTGGGACGCATTCCGCCAAGTGGGCGCGCGACAACCAGCCATAATCATCATTCACGTCTCTTTGCTGTCTTAGGGGATCCATCTGGTCTGTGCCCCGAGCACCGACACTTGAAATGTGGGGTGATCTCTTGTGACCCCCTTCCCATGATAAGTGTTCTTCTACGAGGGGATTCGAACAAGAGACGCGTTAACGTGCGAATAGCCCATTGATCGTATCCTTGCCTGTGGGGTGAACCATTACTGAGTACATGCCACTAAGGCCGCGCACACTTTCGAAGGCTCGGATCGATGGAGAAGCCACTTTGACCCTAGCTCGTCGGAGGCAGCAATCGGAGACAGTTGGGACCATGTCATGCCAATACCAAGAGCATGCCAATCTTTTGCTCCTTCGTAGATGTCTCCAGATATCGATGTCCAGTCCTGGTACGGTTCGCAAATTCGGAGCAACGCGGCGTATGCTACGAGTTGAGCGGGCACGGCATCAGCTGGGTACCCATACCGGGGCTTTACAGTATCATTGGCACCAAAGGTGCCAGATATACACGGATAACGCTTGAGCACGCGCTACAATTATTGCGGTGCAAATCACCGCAGCGGGCAATGCCCAGAATAACAAACGGCCGTGCTCCGATGCCCTAGAAGGGCTAGTATTTAAAAGGTAGCTCAGACTCTTAAGTCGTGCTATATCGCATCGGCGGCTCGAAGGTGGAGCCGGAAGCAAATCTTCCGTCAAGAGTTTAACGATCGTACCGTCATGAAGTCCTGTTTGAAACGAAGCCTGGTCAGTTCATCGGTCCACTAGTAACCCCGACTTCATGAGGCATGTAGTTGGCCGATGTTTTATCCACACTGGTCCCCACCAGCGGAAAGAGTAACATCAGCGTGCCATCCAACTGCCTGCGACTATTCCAACAGTCTTAATTTCTTTCTTTCTTAGGCCCGAACTAACTATGTATCTATTCACCATGACTAACGTGATGACGTTGTATGGCACGCGCTTGGTCACAGGGAGTTCTCTGAAAAGCTCCCGCACAAGGGAAACACACCAAAACTGCTTATATCACGGCTGTAGGTACTAAAGAATGCTCCACTTCTATCTCCCCGCTCAAAGCGCGATGACGGCACGTGTGTAACTCCTCTCGGCACGACGGGTTCAGTATTAGCGGGAGCGTCAAGATGAGAATCAGGCACTTGGATGATGGAGACTAGCAGTTAGATGTTCACGTGTCATTGTCCGATCGTTGTTCGCTTTGGCCGCGTTCAGTTAGAAAATGCACGTAATAATAGAGGTGAACTGAGAACATCAGTATGCTGAGGGCATAACGCTCTGTCGGTGTGATCCAGCCAACCGATGGTTGAACTTAGTTATGTAAAAAATCTGGCTTGACTTGCCGTCATTAGATGCTAGCTAGTTCATGGATGATTGAATTCTGAAAATGAGGAAGTGTGCCAACACGTGTTTGAGTTTTCCAGGCTCCATCTGGTGCCCGAGCTGATTATCAAGAGCTGTCCCGTCAGTGAAGCGAGCCGTACTAGGATTGAGGAAAATTTAAAGTGCTGGAGAAGTTACGTATTGTTCGGCCGTTTCGTTAGCGAGGTATGGGACATCTTATGCGGCTGTCGCTCCATAGAGTTTGTCGCTGGAAGGAGACTGATGCACTTGGATGCTTAATCTTGATAATAATCTGTAAGGAAGACAAATAGGAGAGTACGTCCTTACCATATCTCCAAGATTGTCTACCCGTGGCGAGTTAACCGCAATTTAAGTTGGAGGAAAACAAGACTCGAACGGGATGCATAATTACGATTCCACCATCCTCGATTGCGTCGAAAAGTTACCCTTCTCGAATGTCCTAACCCGTGCGGACGACCTTAGCTATAGAGACCCTACGCCTGTGCCAGCGGTTGGGGTGACCCGGGCCACTAGCCTATCCACATTCATTTCCGCTCTAGCCGGACGGTAGCCTGCCCTTGAGGACTGTGGTTGTACGAGGAACCCCTCACCTAAGTTAACTTAGCTTGAGCGCCACACTATTACTGTGGCATAGTACAGGACCAACTCGATCAACTGGCCAATCCTCCGAATTTACTGGATTGGTTATTAACGTGACCATCACAAATCCTACGCGATGATATGCACATACTCATCTCCACCGGGACCTTGTCGACCGGTGTAGTAGGTCAATGGAAGCTCTCATTGGGAATTGAACCAATCATAGCGGCTCTGCGGTTGAAGCGCGCTCCCACCGTCTTCTACGTTGTTTACGGGGCTCTTCGAACGCGATGGTTGACTTCGAAGGTCTACTACTAAACATTTCAACGTCTTTCTATCACGTCTCGCCCGATATACTTGTCTAAAATGATGGTGTCACAGGTTCCATCAACGGACCTTAGTCTCATAAGGCTACTAAATCCGGATACATTACTCTTATTCGGGGTTCGCCTCGGTCGCTAGCATTCCTGATACATCCAGCCGGGCTCCGAGACGCGGACAGGGAAACTTCTATTTAAATCTGCCGGGACGGTACGACTTACAAAAGACACATTGAGACATTGCCAATGTACAGGATCATTCACGTGAGAAAGTTGACGGCAGTCAACGAACTACATTCGCCCTTGCTGACTTAGTCGTCCACTTTCTTCTAAAGGCGCACCCCATTGTGGCTTGATCACGAGTAAGGTACCTTGGTTCGTGATAAAGGTGCTGCGACCTGGCCTGGATAAGTAGAGCGCGTACTGTTACCATATGCTTTGGTATTAGCGTTAGCAGGGTTGAGGATCTTGAAAGGTCACCCTAGCGTCAATACTAGGTCTCCAGAGCTTCTCTTCCCCACGAGTCTAACCGACTCTCTAGCCTGTATGTCCCGACCTCCTTCCATGGAGCTTTATTGCAACAGCTCGTACCGACAATCCCGGATTCTTCCGCGAGTTTGCGGATCGAGCTTAATGGTCCTCCACCATGTGTGCAGCCTACGGCAACTAAAAACCCCGTTCCCGTGTATAGTTCCGCGGGACTTGATGAAAAATTTTACGCCCTTTCCACAGACGGTTATGACGGGTTACAGATTACGTGTACGACCTTTTCACTGATAGTAGGATCCCAGGCATCGATGGCAGATGGGATCCTTCTCACAACAACAATGCAGTGAAGTGATGAAAGTTTTGACTAATCGAGATATCAACAGAAGGTTAGCGCCAAGACCAAGCCACTAAGGTGTGCCTCAACATTATGGCAGCCGTTTCGATGCGCTGGCACTGGCTATAAGCCTTGTTCGCTGCATGAAATGCTTTTGGGCTGACCGGTCGCTAGATGACGAGGCGAAAACCCTAACGGATCCTGGGTGATATACAGTTCTATCACGTAAGATTGCTCGTGCCCTGTAGCTTAATCTTGTAGGAAGCAAAGCTATACCCTTCAGAAATTCGGTCTCCTTTCAAGTAGATCGACGGCCGGCGTCTGAGATTAACATTAGTGGTTATTCTACTCACTATCGGTACAAAGCATGAATGCACAGGTAGGCCTGGCAATTTGTCCCGCACGCGGGCCTCGCTAGCAAGTATTGTATGGTGAGTCCAACCTTGTGTCATTCTTTCAGCAATCTACAAACCACCCAGAGCATCTTGACGTATCTGTGACCTACATTAATGCGGGTGCACTCCAAGCAGAACAACGTGGCCCGAAACATTATGCAAAAACTTATGCGTGATTATTCGGCGCATCTTGTTGACACATGTCCTGCCGACCGCCTTGTTGAACTTCCGCTCACATCGTTAATTGTGAGGATTGTTTCAAAATCAAAATTCCTCGTTCTAAAATTCCCGATAAAGGAAAGGGCGCATGTCCTTAATGATTCCGATTTGACAATTGGGACTGTGAGCAGTGCGTCGTGACCCTCCCGCAGCCCGGAGGATCTTTCCGACAATTATACCGTCACGCCGGTCTTTCTGAGCCTTCGCTCATTACAGGCTTAGACAGTTCAAGGTACTTGTTGTATTCTGGGTAGAGCATTCACGTATGCCTACTAGAGGTGCCGTCATGTAAAGGCGGTGTACGACGCATGACTAACTTACCTAACGCCAGGATTCACGGTACTGTCACAGGAGCCAGGATAGGCGCCGTGTCCATGTTCGCTATTATTTAATCACACTTTCACAGCTGGGTCGACCTGCGGGCTTTTGAATCGAGATCCTACAAAGAACATGCCTTTCTCCCCAAGGGAATACGAAGACCTATGAAAACCCATAGGCCACATCGAGGTGGAGCACCAACGGGGCTCCCTAGTGCAAACTGTTATCTCGATGCTTATTTATAAATTGTTTTTTACTGGATACCGAGTTGCGTCTTAACTGATTCTCGTCTCGCGTCTCTTTATAAGCCCAAAACGTAACATGGGACGAGGCGCGTAGTGGGGTGTGTGACGCTAGCGGCAGCAACAGGGTTCAATCATACTGTACCGATCGGAGGATCTTTGACTGAGACTTCTATTGTCACTACATTGCCCAGAGAGGCTGGACCTGTGCGTGTTGTTTCAGCAAAGTGCTTATCGTGTATTCAAGCGTTCAACTACCATCCCCTTCTAGTATACGGGCAACAATCGTGTCTGGCTAGTGTGATGTGTCCGTATTTGGAAGTAAGGCGGGCGTCCAAGGGTGTTGTGCATGTTAAGGGGTTGCAAACCTCTTGGCAACTCCGCCTGCAGACAAATGGTGCGACGTCACGCAACCCTTCATTATAACGCCTACGGCGCCTGTGCGATTAAACACTCGCTGAGACAACCTGGGAAACAACCATGTTGTGGCACGGTTCAGTCTTATGCCGCAAGAATCCTTGCACTTCACAGACGTAGTTGTGCATTGCAGGTGAAACTCGATCAATGCCCCACTTACTTAACACCGAGGATCGCCCCTCGGGGTTGCGGCGTCGTGCGGTGCGTGTAAGTGAGGACTCGTGCCCCAAGGAGATTCCTCCGGGCGGCGGATCCGGTCAGCGCCTCTTGGGATAGGCAACTTGCGCACTGGGCACTTTCTTGCTATGCCAACACCCGCGAACTCACTGATACGTTACTTTTAACACTTCGGAGCGTCTGACTTACGAAAGGATAGTGAGCATAGCCCATTTTGCAGTGTGCGCGCCAACTTGAGGGAGAGTAGCTTTTTATCGGATCCCCTCTTGCATCTTGCGGCTACTCTATTCGTAGATAGTGGCCTAATGGCAACACGAGGGGATTACAAACATTCATCGCGTCGGGTCGGCATAACTTAATTGAGTGTACGTTGCGTATGCGCAAAGCGACTACGGTATTAAATCAGTGGTCTGAGCAGAAAGTCAGTGAGAGTAAGGACCGCGTACGGTTGCGGTATTGGTAGTCCTCATGGTCACAAGAAATCGGTATGTGTCCCTCCTCTGCAGAGCACGACAACGAGGACTATAATATGGTTTCTACTATTGTGCTTACGAAAGTACTGGTTGGTCTCGGTAAGAAATCAGGACGGAGGTGTACCTATCGAAGGCCCAAACGGTTGGCGGATCTGTTTACGGCTAGAAGGCTTATGAATCGTGAACTCCATGTAATGATACGCATACTTAGAGCTGAAGACCAGAATGCATCGTGATCGATAAAGACTGATTTATAGTTAAGAAACCAGACGTGATTGAGAGATTCGACGAAGAGACACGCGGTACGAAGAAATGCTAGGAAAAGTCTTATTGGATTGATTGATAGTTGCATTTCTTTGTGAAGAGGTAGTGCCGTCCGCAGCATACGCTGAATAACTCGAAATCTGTTGATTATAGCAAACTAGCCTCGCGGAGTCATTATGCCTCCAGTAAATCCGCTGGCCCACTCCTATCCTATATGTCTTGTTCGACTGAATCGCAAATAGAACGTATGCCCTTTCACATACTGAATAAGTCCATGAGCCGTCGATTTGCAATAGGGGTACAGGTCTAGACGGCATTATTTCTACCAAGTTAGAGCCACGGACTGGAGAATACGGCTAGCTCTCAATGTGTAACAGTAGGATTTCTCGCCGCCTACGAAAATCTCAGTTCACGCCGCCATGTGTAATTATTTCGGGACTTCGTCATACAACCTTGATACTAAAGTTCAGGTAGCTACGCGAAAGGCAGAGCTGGGTGCGACTAAAAACGATCCGCCTTGCGCCAGCCTGTATGTGGGGGAAAGGGATGTGTAGACGGCAATAACTACACATGCAGGAGAGATGATGAAGTCGCGGACCATATAAATCTAGGACGTGTCCGTACCAACGATAGAGCACTCATCGCTCTGGTGGGCTTCGCGGGTATTGGGCGGAATCACCTTAGCATTGGTTGGAGGTAAGACCAGGAATTCCGCGGATGCTCCTAGGGCGCCTGAATGTCTTGTCTGCAAAGATCATTGTTCCGTGGGTGCCATATGCTCCCACGTAAAGATATGGTACAGTGTAATACCGTTTCCATATAAGGGGCTTTGTAAGTTAGACTGTAATTGGGTTACGTAGACGGATGCGTGCCGGCTCTAAACAGGGGTTAAGTCCACCTCCACTGGACTAGTAACAGGTATTTTGGGAAGCCGAAGTTTCGCAGGAACTACTAGTAGAACTATAAAAAGATCCGAGGTTCAGGTTTTCCTTTTGACTGGACTGAAACTATACACGCTCAGATACTGTGACCCAGTTCATGGAGAACAGGGAACACCGGCAGGGAATCAACTTTGGGACTTGCGGTCCCAATAGTCTTTTCTCCCGGAAGAAGTAGCTCACCAGCTTACTGTTACCGGATCGATCGACACAGGTGATAATGCAAAGGAGGACGATTATTCGCCTTACCCTCAAGGAGACGTACGATGAAGGTTCCTACCGCGTCAGGTCTTAGGTTAGAGTTACATCTTTTCAGTCGGGGATTCCGAGCTAAGTGGAAACGTACTAGCGCGGTAATAAGCGGTAAGCACAAGCTTTAATCCGTAGCCCTTTAGCGGCGTCACACACGATTTGCCAATTGATATATTGATGTGGGAGGACGCTTGGCATTCAAGTATAGTGATTCTTGGCGAAGGGTCGATTACTTTCGACCGCTTGACTACGTACGATTTGAGCACCTAGCCAGTTGACTATTAGGTATGGAGTCCAATGTTCCTGATAACAAACTCTGCGTAGCCTCGACCCCCGTGTACTGTTGACGCAATCGCACAAACGGACAGGTAGGTCTGTGGGCCTGCATTTTTTTCAGTATCCTGAGCAATGATGGACTAATATCATCTAGCCATTACGCAGGCACATTCTCGCGCCACAGATCGTCTGATGTTAAGGTGAAGGACTATCGTGGTCTCGATGAGCACCTATAACATGCAGTATTTGGCGGACGCGAATGGTATTGTCATCGGAAATCAGATCCGTTGGGTCTCACCTGCTAAGCCTGCACATTTCGGGCACCAGTCCATGTCACCCTACGATAAGGTCGCGGTTAGCGAAAGAAGATATCTTATTTCTGATTCATTTGCTATTTAGAGCGAAACGTTTGACCACCGAGGTGCGCCTGGCAACACTCTGCCTCGCCGGAAGGAGGGCTTGTGTCCCCTGCCATTACCACACATAAATTTTACTGTCCGCGTGCATTGTCCCGGATTGTCCGTGCCAAGGGCCCGTGTACCGTGTCTGGATGGGTGCAGCTTAGTCAGCATAAGCCTACTCTGGACTGGGACCGCGTGGACCTCATAATCAGTTTTACTCAGTCGGAAACATTGCAAAGCAACCGCTATGTAGTTATACTGGCCGAACGCGACCCGTATAAGGATGACATTGATGTGCCGCAAGGATAACATATCTTGCTCTAGAACCACCCCCCTCTAGTGTACCTGTGTTGAATCACATTCCGCGAAGCTCCCCCATCCCGGCGCGATCATTGCATCTAGAGGATTTCCTTGCCTACGTTAGATGGTCGTACATGAGTCTTGGCTCGCGCATTCCTCAACGCGAAGCGTTGTTTAGTATTCCAACATAATACGTCTCTCACCATTAGAGGAGAAACGTCAATGGATACTAGTATTGCAGCCTCGATGCTACCAACTTGAATGCTTAACTGTCGTAAACGTAAAGGTCTAGAAATCTCGTATCGGGTCGTGGATTGATAGCCTACGGTGCGCTTACGAGAATTTAAGGCCGACCGGGCGAAATCAGTCCTTACCGGGAGACGTAAGAATAACCACCAACGGGTCTGCCCGGCTCAGGGAGGAAACTTCAGGGTCTGCTAAGTTCTTCGGGCTGATCAACACACGGGTCTACCTCGCAATGTGAGATCACAGATGTTCACGTATTACCTGCTAAACTTTACACGGATCAGATAGGGCGGTCCATGTGAAACGGATATCATCCCACTACATAGTCTTGGTATCGTCGTGCTCCCACCTGCTACGGGTAAAACCATGTAGAGATTGCATTTTGTTGCGCCTTATTAAGAAGAACATGGCCCTCCGTGGGGGCGGAGGGCAAATGTCCAACGCAAGTGGAACCCTGGAAGCTTTCGCCCACTACAAGACACAACGGGTAGCCCCCTCGATCGGTTGTAAGAGGTCGTCCCAGTGTGACTTAATGATTTAGAATTGCGCATCCACTGCCCGCTCTCGATAATGGACTATGCTCACTGATCGTCTCTCCGTTGCATGGCGTAGACCTTAGCATATGGGTTAGAGCGGTGTAACTGAACAGGTTGGATTACCCTGACTTAACACGCCTTCGCTGTAGATTAGCTATTAGCCGCCAAGTCTAGATCGGCAATTCGAGTAGGTAGGCTTAAAGGGTACGCCAGAGACCCGGAACGCAATAATCCACAATCTAGGGTCACACTCACGTTCCAAACCGGGCCGTCTGTATGAAACAAACTGTGGTTATGGCCCATTTAGGCCTAATTCCGAGGATGGACTCGGATCCGCAGCGAAATCTACGCTGGACCTGCCTACCATATGTGAAAGCTGTTATCCATTGTCCTGTTTGGGTTTTGAATTTCAGGCCATGCCGATAAAATCGGAAATTCTCTCTGGGGCCTAATGCCTCGCACGCCGAGTTCGCTGGGCACATCAGCTAAATAATGGTGTAGTGTTTTGTGCTGCCTTCAACCATACAGATCAATACGACACATTGTCTATTGAGGCAGCCAGGTCTGAGTTCTTAGGCCCGGTCTTCGTTTGACTATGGAGCTATATACTTGGTTTCTCGTGAGTCACTCTCCGCAAGTAGCGGCGTTGGGTAGGGGTACTCGGCAACGGATTCGGAAAAAGGCGGGGGAAGCACCCGCGATGAGTGATATGATCCCCGCCCAATCCGCGCGAAACCGCGATCGTCAATATCTTACCGAGATCTAAATGTTGCACCAATGGCTTCCATCCATAAACGAGATCCTGGGCTCCTACCTGTCGACTCTGAGGCTCATCTCCCTACGTGCGACATGGGCCTTATCTAAGGAGGATAATGATTGTCCACCTACATCGTACCGATATAGGTTCTTACTTGACCTACAGTTGCGGAGTCAATAACGTGGTGTCCGGAACTTATCGTGAAGGGGAGTACCTAGCCACGCAATGGATTGCGTCAATGGTACAACCGTGCGTTCCTTGGGTTTTCATCTTCCGGATAATTGGTGGGCGGCGCCTTATTATGCCCAGTCTATGTCGGGATCGTGACTGTCTCATGGCGCATGCTAGGATACTAGACAACAAAAAATACTATGCAAGCTCAACCTGCAGATCGCGACGTGGGAATGATCTACTGCGATCTTGAAAGTCTGAGACCCGCGACCGGGGTTTTCCTCCATGCGACACTATATCAGGGTGGTAGTTGAGAATCCAGATGACTTTCAGTCAGTGATAATATGCGGGAGAGCGTACTCGTGACAGGGTTCTATCCACTGTACGGAATCGTCGAGAACGCCCTCTTAGGGGCGCGGAGTACAGGCTTGCTCAACTGACAGCGGGCTAGATGCGAGAGGAGTGCGTACAATCCCACTCAAGATTAGTGGGTCCTACAGCTTTCGCAAAATGGCCTTCACAGTGATCTTTCGCTTCAAAGAGCTATGGCTCTTGGGGTGGTACAGTCCAACCCGCGCCACCCGTCTTCGGTATTTTATTTGTGAACTTCATTGTTTAAAAGTCTGCTCGTCGTAAATCGCCTACAACAGGCAATCACTCCCCTCGGCAGGATCCCGAGTTTCGCGACGGGAGTGACACAGACTGGTTCGCAAACATAGGGACCCTGTCGTTTAAGTAACGCAACCGATAAGATAGAGTTTGTTCATTCGTCTCATACTATGGGACAGGATAGGTTGCCGGCGTACTACGCTGTATGGCCGGTGGTGACAGCTTTCCTTCGGGCTTCTTACTGGACTACCCCGGTCGTGCCAAAGATGAATACACTGCCGAGAGGATGAGAGTACGAGATTCATCTTGCTTAGCTGGTCCACAGTGCGCAGCGGCGGAACGTCACTATACCAGATTCCATTTACGGTTAAGATTACGGGTGCGGACCAAGGTGTGACATTAGTAACCCAATCTGATTTTTAACTTACTGATATAGGAGGTCTACTGGATCGCTCTACGATGTTACTGGTTAAGGAGAGGAGGGATCAGCGAGGCTACCATTCAAGGCAGCTGTCGGTTTTGCAGAGACCTGCGCTACGTCGGGCAAACGCGTAATTCCCCACGGTTTGTTTTTCTTCGGCAGCCGCCTCGACGATCCGGTAGCTTTGTCGGGGACACATAGTCAATCAATGACCCAAGCCGGCAATTAGGCAGGAAACTCCGCATTAACAATACTACTTATAGTGGGGGGAAAACCGCATAAACCCCTCACGTCAAGAATGCTGGGTATAAAGGGTCGGTTTTCACACGTGACAGAGCCATGTTAGTGTTGAACCGGTCGACGTCTGTCGGGTGTTCCCACTGTCTTGGTACGGCTGAAACTGGGAGGTCCTTCGGACAGTCACAATTCGTAACGTCATTAAGATAATACCGACTACGCCGGACGGTTGAAATCATCTCACCCCTATTTCCTTCGAAGTCAGGGCGTGAGAGAAGCTGTATGGCTCGCCTGGTCCAGCTGAGATCTGACGTGCAGTGTCATTTGGGCTGGGACACTGTTCTATCGGGAATACTTAGGATTGTCATGCGAGACAAACATTAATGGGAAAACCCTCACTCTATCTGCCTCGGTTACACTCTCGAGCATATCTTGTAAACCGCACAACTGGACTGCAACTGAGGTATCACTTAAGAGGGCGTAACCGTATTGAGCGGTATATATGGCCACTGCGGGGTAGGCATGCGCATAATGGGGGACCAACGACCTGCCAGGCTACAGCACTAGGTATATCCTTATCGAACGGTCTTTGATGAGGGACCAATTGACCCTGATTAGCCTATCGTTTTGGCACGCATTACGGGTGAAACTCCGGTGGGGTGCGTAGTCTCACCAAACCCGCACTTCCTGAACCGGGATACAAATTTAATTCTGATGATGTATGGGACAGCGCGCGTGGCCCGGTCCAGTATGATTTGTTGTTTCGGCACAGATTGGTTGATATAAAATAAGCGACTCCGCTTAAATCGCTAACACTCGTCGCGCAGCGAAAGAGCCCATTGGAGCGTAATTCCGCACATCTTAACAGCTGTGGCAAAAGTGACAAATCTGAACTTGCTTTAAACGGTTGAGGGTAAGTCTGAGGAGAAGCTAGTAGGTATGGCAATTTTGACTTATGATCGTCTCAATGCGCCAACGTCAGGAAAAAAGCCCCTCTAGTCGTAGCTTACGCACAATTCGCCCCGTTGAATTCTCGCTGCTATGTCTAGTTACGGATATCGCGGCACTCACCGGCCGGAGAAGCAGCGCAACCACCCACGGCCAGGCCACGAAAATAATGAGCAATGTAGACAGTTCTGCCCGCTGGTTGGGTCTGGCGGCGGTAAACGTTATGTTCCGCGTACCGCCCTCGAACCGAGTCCTACGGTTTAATTCGATATTGGCTGGTCTGCGGTATCTGTCTTTGACCTGACACCTATCACGTATTTTTTTGACTAACGTACAACTCTGGTTTGGTTCTGCAATGTACCAGGTTCTTAGGGATGAATATACACCTCAGCTCCATTTATCTTCCTGCGACTCAGCGGACGTTGGGACGTACCCATGGATACATCCGCTCAGATCGGAACGAGTCCGGGGGACAGGAGTGTTATGCCGTCTAAGTTGGCCCAGCAATATGTTAGAGGAGGGTTGTGTAATGACACTCAGGAGTTGTGTGATGCGCGTGTGATCTACGTCCAAATGAAATTGCATGACTAAACTTAATGATCGAAGTCATTCAAGGGTTAGACTGTGAAACGGGTCCGACTTAAATCTCTTATTCGATTATATCGGCTCCAAGGGCCTGGCACGGTTAGTGCAGTGCGTAGCGTTACCAGCTGGGAATCAGCGTGGTCTAAAGCCACACTGCTAGCGGAACGACAAAACCACGCCTAAAACGAACAGCGCTATAAACATGTCCTATGGGGTAATTTAGTCCTGTGAGAGTGCCTCAAGCCGCTCCGCCCGGACCTGACTAATCAGCTTGGGAGAGTTCGGGGGCTCCATTGTCAATCTTCTATTCGTGCTGCGGACTGCGTTCCCAGTGACTTACGCGCATGCAATGTGCACAGGAGCGGGGTTGTTAGCATCTGCGGACGCAGTTGACTCAGCCCGGATGCGAGATTTCAGCGGACCCCTTGATAATTCAGGGCTGGGGGACAAGCTGTCACTTGTAGACGATTGATGACTCGAGGGGGGCTTGGGGAATCAGCCGCAACGTATGCCACTCTCGCATAGTACCTGAGCTCGCTACTATACGTTCAGCACGGACAAATGCCACCCTCTGAAGTACAAGCTATTTACCGCAGCCATACTTTTACTTCCTTTGTGTACGCTGACATTAGACCGTATATGGCTAGTACCCAGTAAATTATGTAAGATCTAGTTGGCAAACTCAGTCAAACAAAGCACCGGCGCGTACTGCGCAAGCATACGTCATCTCTGAAGACTAAACTAAATCCAAGCGATGTCAATCGAAACCCACCATAAAATCCGCTGATGAAATAGGATGGGTAGTAAACGCGTAACCAACTAAGCGTAACAAATAAAGTAGATAAGAGTAACAATTGCACGCCCTCATATCGGACGTCGGTAAGCAACGTTTCGGGTTCTCCGCCTGATAAGTAAGCCGTGGTCGGCAAGGGGAAGTCGTCCATTGGGCCACCGCCGAATAGACGCGTCCGGATTACCGTTCTATATTCGGGCCTGAAAGACATACGCTCCGTCTGTAGTTTCTATCTACAAATAGAATTACAATCGCAAGGGGATAGCAAGAGGTGTTTTCGATAATGAGGTAGTGCGATCATTTGCGGCTATGCCACCCATTTGGATAAACATCGAGCCTGAGAAGGCTCAGCAGCGGATTGGTTTAGGGATGTTCACCTCGACCATCCTTTACGTGATCGCGCGTGTGATCTCCTGACTTTATGCGCTACATTACGGCGCCAAGATGAGGATGTGCCTCAGTTAGTTTGTCCAGTTTATTCTTAAGTGTCCTGTCGTCTAGTGTTTGGTCTCGCACTCGACGGGAGGGAATAGGTCCGGAAACCGGTAACATCTACTAACTGCGGCTCGTCTGGACTGGTAGCTTTATTGAAGTTCTCCATGTAGGGTACATTGGTGTTACCGGATTTAAAGCATCAAGGCGATCAGCGCTTACACGCACATCCTGGTCTTTGTTCTCTAGGTATTCTCTAGTAGCATCGAAGGTTGTGTATTCACCAAAAACATAGCATTGGAGGACTCCGTCTTATCCAATATGCCATGTGTGCATATAAACCAGCTGTGGGTTTGCCGGTGCTGTCATTATCATGTATAGCAGCATTACATAACAGAGATATGGGTGATCAACCCATGTACCCAAACAAATGGGACTTCCTATTTCAGGGAGCCTTCACACCAATGAGAGAAGGAGCTTTCATGCCAGCAGAATCCTGCGCGAAGATACATTCGAAAAGCGTTGTGTATAACGCCCGACGATCCGCGCCGTGCGTCCTGTCGGAGTCTTGGTGTCGGGTTTCTGTCTCAGGTAACAAGTCATTACATAGATAGATCTCATTAGCTTTCAGACATTCTGATTACTTGGTCTCCCAGAACGGCGCGTCTGCTGTTGCTGACTAGGATTTGATATTTGTATGAATCAAAGCTCGTTGATAAAGGCACGCGTGTTAAGTACGCCGTTTCTGACTACATGCATATCAGACGCGTCTCAAACGGTAATTTAACTGAGACTACCCTTTCTGGTTTAGGTGCTGTTCCGACTGTGCTTGTTAGTCTACTCGAATATCCGTTTTACGCCTTGTCTCTCGTCCTATACACTCATCTATTTTTGGACAAATATACTTTGGGGCCAAAACGAACTTGCATAAGGGAATCTGGCGTCGTTGTTTATTCAGACCGGTTGTCCCGGCATTTGTCAAAAGACCTAGAGCGTTGTCTCGACTTGGGGAGGTCCCGGTGTATTGTGATGTGACCGTATACACTAGAACGGCCATTTGTGAGTAAGCACACTAGAGTGTGAATGCTGCGCCCTTGTGTATTCCTCAATCCCATGCCCGTTGATATGGTGCACGACAAGGCTGGCGCCCTTTAGCGTTAGGTTGGTTGACCCGCTACGGGTCCGCCGAGCCCAGTAGTCCGATTGCACAGGGACGAGGAGTTTGGTTGCCAGGGCCCTCAGTCGCAGGGCGCATGCCCCAGATTCGCGCGACGCTGAGATAGGCTGTGTTCGATTGGGCTGCTGCCTCTCCCAGGTACTTAGTGTTCCTTGATGGAGGTAGACTCCGTGGATTTAGTACTCCGGAGTATGCCAGCTCGGCGAGCTTTAAAAGCAGTAGTCAACCATGAGTAAGTCTTTCTACGCCGTTCGGTTTATTGGACTACGTTGGGCGAGGAAGTTCTGCTAAAACTTAAAGACTACCTGCCGCAAAGATCTCTGGGACAAAGGGCCCCTAGTAACTCACGTACAACATCTTAACACGTACTCCCGCGACTGTGCCGATTGATGGACCCCGCCTTGATAAATAGGTATAGAGTAACTAGCGTTAGCAGTCGGTGCTCGTTACGCGTGAGCATTTCCCACGAGGACCATAAGCCATTCCTGTACTGCTCACCCTTATGAGACCATCATTAAAATGGTAAGTCTAGAACTGCATGGAACATAGAGGGCAACCGGGGGCAAATAGGCTAGGTTCGCTAGTGAGGAACCCGACGCGTTTCGTACGCCGTGTGGTGTCCAAGACCTCGACACGGGTAGGTCAAGTGCGGCTTGGTTCATATGTAAGAAAATATCACCCAATAAACCGCACTTACCTATCTGATCACTCCGTACCGGCTTGGGTTAATCCACCTTTAAATTACTGTTGGGGAACTAGGCGAAGGCACCTTGGGTTACTTCAGATACTTAGACCACCCTCGTACCAGCCACACGCGTCGACGGGGGATCGGCACCTCCGCATCGAACCTATTAGGAGCGCACACGGCCGGTTCTGCTGCACACGATTGGATTATGGTTTGGGCGGGCTATATCCAGACTCCCTGAAGGTGTACTAACAAATCACATATCCCGCTATGTGGCCCTCCGAAGCACCGCATAAGTCAAACTGTTTTACAACCCCATTGAGAAAGTAACGGCATCGGTGATGCTTAGAAAAGTTCTACAGTATAGCACTGGCGGTCCCTAGTGTATAAAGGTAACCACAGTAAGCTCGCTGCGATTACCTTAACAAATAAACCGCACCGTGGAGGCGGTAATTGCTTCGATAGTCCCCTGTATCCTATGCTTTTTAGGTTAAACTTTTTTCTTTAAAACACTGGATCATTCCTTGGGTAGTTTTTCGAATATTGGCGCCACAGTAGCCCCGTGATCACTGCGGCCGAGTGGCCTGGTGAATAGGCAGCTAATATCAACCTAAGGCTGACGCAGAGGCTACAGCATTCGAGCTTATCAATTGGCGGGGCACACCATGGGTAGAGCCATATCGTCAGTTGCCTAACATGAAGGACTGACTGATATTTATACTGCGGCTGCCTACCTAAACAAGGGAAGGATTACAAATCGTTTTGCCCATAGAATCACATAAACCGATGTTTGATGGGCAAGTTCTGCAATGTATCTCAAAAGCTCCACGTCCTCGTCGTCTCTTAAGCGACCGTATGATCGCTTAACTAATTACCCTGAGGCGGTAGCACGATATAGGTTGACGAAGCCAGGTAGCGACGCAGATGGAATTGTGAAATGATTTCGGCATTGTCCGCGGCTAATCGCACCTTTCGAAAAATACACATCGTTCCCCCCGGTCACACTCCTCCTGTACCGGAATATCCCTCGTGGTTAACGTAGTACCTCCTTGAATGTATACGACAAAGTTGGGGATGCACCCCCATGTCTCGACTCCCTGGCTCCTATTGCGATGTATCTCTTCATTGCTTCTGGAACTCCGGCCCGACGCTTGACCCGGAGGGGTGACACCACATTTCACATGCCCGATAGAACTAGCCTTCATTTGTACTATCGATCGTCGTGCTTCATAATGATCAGTTGAGTACGCGGTATTTCGACGGACCAACGAACAATCAAGTTAAGATATTGCAACGGCAATACCACGAGATGTTATTTGAGTTTCTGTAGTTCTCGGCCGGAGCGTAATTATATATCTTGCCAGGAAGCGGAGGGGGTTTGGCGAGCTACATATCCCGCGTATGCAGTATGAGAATTCTAGAGTAAAATACACGGCGTTGGGAAAACCAGGTGTCGCTTGTGACATGTCCATGCCACGTGAACTGTGTTTGATAACCAGCGGCCATCCCCCTTAGTACAATACTCACGAGCGTCTGGAAATCAAGGAACCGTCCTGTCCGGGCAAATGTAACCTGTATACAAGGCCAGTCGACAATGTCAAGTAACCTCGGTGGCCGTCCCGCGGAAACATCTGCGGTTGACTAACTACGTTTTTCCACGGTCAAGCACATATATAAGCTAAGTCTAGTGGCCCGTAAGTTAAAGCCGCCGCGATAAGAGAGCCGTGCCATTGGGCCAGGTCCGGCTCTCTGCGGTCGGCTATAACCCCAGAGCTGCTACCACGGCAAGTCTTAGGAGGCCGAGTAGCCCAGCGTATTCCCGGTTCGACACCGAGGTGACTCTGGTCTTATTCCGGCTCACTCGTATTTCCCATCTGTGTGCTATGATAAATCTTTAAAAGCAGTTTATAATTCCGGATAAAAGCAACGGTGGGTGACCCTGACAACGGTAAACACAGGAGTTTCCAACGTGCAACTAATCTTAGGGCAAGAACCTAGTTCGCTGCCGTATAACATTCCAATAAAATTAGATATCACCCCCATTATCGTAGTAGGGCGGCAGCAATGAATTGCGACTACGTATTTGGTCCCCGCCCGGAGTTCTCGTCGACATACGAATGCGTCGGGACGCGGCTTTCTATTTCCTAATTTCCTAGCGGCGGGCTGTTGCACACGGATCACGGCCTCTGTCGTCTAAAGTTAACACTGATACAGTGCCGCCTACGCCAAGTATTCCGTTGAGGCCGTCCGTCCCAGTTTCTCGGTCGTACTCTACGCAACCCTTAGCGTGCTCCCCACTAAGACTACAGAATCTTGGTGTTCTTGGATAGTCATACCGGGATCCGGGTAACGTGGGACATGTCAGTTGTAATGAGAATGTTTATTGTTGATAAAGAACCGGATAAGCAAAGGTTCATTTGCATAGCAGACCTTCTCTTTCTTTTCGGATAAGGCTATGAATTTCCAAGAGTTGCGTTGATTTGTACTCCTGATCGTATAGTACGGACCTGTTCTCGATGAGCAATCCGGTTCGTATAGAAGAGAAGCCTCTGACATCAGCGGATATGCAAACGCCGCGTTCACTTTCATGAAAAACTGCATACGACAATCCGCACGCACACTCGCGAAAACATCAAGGGCTGTAGGTGGGACATCACGGCTCAGTTGATATTTTCACATTATACAATATGAAAGATCTAACAACCGAGCTGGGCCCTACTTCGTTACGTTTGACAACCATACTTGCGCTCTCTACTAATAATCAACATTGGAAATAAGGACGGAGTCGACGCTCGGAAAGACCAAACATCATCACAGGCGCTCCCCTCTAGATTCACGGTTCTAGAGCTCCACCGGACACCGTAGACTAAATCGGCTTAACTTCTCAACAGTTGGTTGGACATCGATTACAGGTGACAGACTTGTAAGGGGCCACATGGTGGCGCATGAAATACTCTGTGCGTTTTTGATAAGAACTTTTTCATATGTCGGTATGAGGTGGGTTACTGAAGCCCCTCCAGTCGTGGCGCGACCGAGGTCCCAGTAACAAGCTCCGTCCGTTTAGCCTCTGTTTGCTATGCCGAATCATCACTCATCCCCAGATCTGTACCGGTGGACGGGCCGGCACCGACGGGGAGCCATAAAGCGATGCCGTTAGTCATTAACGACCAGGGCTGCGCGGCTTATTTTCCAGTGTGCGACGAATCGTGGACACCCACGATCTCAGATAAAAGCTGTCCGCTTTCTCTCCGAAGCCAAGGATAACCAGCCCATCCTGCAATGGCGCTTTTTGGAGTGTCAATGCCGGCCATTTACTTAGCCATACAGCGCAACCGACTAGGATTAGTGGGAAGTGGTAACTTTGCGGACTAAAGTGGCGAGGGTCTAAGGTTTAGCCACGTCATGCCTTCGCCCGTTGCAGCGGCGGGTCGGCTCGGAATAAATAACAAACCATGTAGCTAGTAGTCTAAAACTATGGGCGTGCACCTTTCGAAAACATGGTCTTTACTAACCCAGAGAAGGACTTAAATTAAAGGGATTCCGTACACGAGTGTCCTGACTTCGCTTTGGAACTGTCTCACCGGTTGGTTACAGTTGTTAAAACACAATTTACGTTTGGCCACCAATCGCCGTCAATTGTATTATAGCCTAATCCCGGGAGAATCGAACAGGACAACCCCATATGTATGTCACAAAGGGCGCATATTAGCGCAACCCGGATTCCTAGAGGCCTTTGGGAGATCACGGTTGTTGTCCCTATGCGTGCATCTAACCGTCTGTCGGGAGGATGAAAACTAGTGCTGCTAATCGGGAATGCTTGTAGGACATTTAATGAAATGCGTCCGGCCGCACCGGCAGTAACCAACCGTAATGTGCCACATAACCATGGCTTCCTTCCAAATCCATTTAGAGTCATCAATCGGGCGCACGTACGCTGAGATGAGCTGTTCCAGCGACGAGTAGGCGATTTACTTGCGAATATAGGAGGTACACGGTACTTGGGTGGACCCCGGGAGGCGTACGGGGCCAGGGCTTTGCGGGACGTCCCATCACCCGACTTGCACTTATCTGGTCAGATCGGCGCCTGCTCCAACGCAAGATCAACATATATCTTCTAACAGTTGCATAGATACACAGCGCCTTGGGGTGCTTATTTGTTCTGGAATGCACTCAAACTGGGGCCACTATTGCTTCATCTCGTACGTTTTGAACGCCGGGTTGGAGACCTGCGTTCCTGACCAACGGCTTGCGCCGTCCCTCGTAGGGCAGTATAGGTTTACCAACCCCATTCCAATTCTACAAGTAGACTGTATGTCCATTCTGTCATGTGACTAGGTATCGGGATTTGTGCCACTAAGCTACCTCGTTGTTGAGATTTACCGAAAGCGTGTGAATTACAGGTAGTGTCGCACGATTGCGTACTCTGATAGTGTGAGCCCTAGTGGCGTATCGTAGGGGCGATTTCACTTATTTTTGCCCTTGGCGTATCCGTGATGGGGGATCACCAAGATACTCATGGATAAGGGCTGGCGGCGGAGAGGTGGGCTTTCTCGCCTCTGTCACTAACTTGGCGGGATCGTCATGCAGGGGACTACTTGGGCGATTGGAGCCAGTGAGGTGGCAAATAAGACGATTCAGAGCGCTGGGATGTAGCAGCCGAGGTTCCGAATTGAGGGCGTGACCTTTTAGACCGCGTGAAGCTCCCCTTTGCTGCCTCGTAGGTTTGTAATGCGCTATGACTTGAGGGTAAAATCATTGACTGCAGCGTTCTTAGAACCGAGGTTTACCGCTGCGACGATAGCGTCCTTGCTACGCGCAAGGAACGTCCGCTTACGAGATACGTTCAACGGTGGCGGATACGGGAGGGGACTGGTGGATCAGCTACGAAACGTTTGAGCAGAGAACCTACATCGAAAAGCCATGAATTATTGCGTGAGAGGCAGAATTCGACATAACAGGTATGCACTAGCAGCAGTCACATAAGCGCGTCTCGTTGGAATTCGAAGAAAAAATTGTTGAACAACGGTATCCTCCGGTACGCTTTGGCATTAGGTGCGATGCGATGAAGAGAGGAGGATGAAGACTACCGTTATTGTTTAAGTATCTACCGCACTATAATATCAACAGGTTGTGAGAACGCATACTATCCCGCTAACACTCGCCCCACACAAAGCCGGGTCTGAATGTCGTTAGGCCATAGAAAATCTACGGTGATGTAGGCCTGGCAGGCAACATACAGATTCCTTTTAAACGCTGATCGGGAGGAGGCAAGTCTGGGGTACGCGATCTATTGACCACTACATTCCGTCAATGCCACGTAGATGTCCCTCTGGCACTGAATGCCATGTTTAAAGGTTTATCTCTAACAGCGTGTTACTCTGCGTCGACCAGGTGATTAAAGGAAGGACCATAACAGTCACACCCCGCGAGACATAGAACCAGTAGTCGGCAGGTGCACACGCTGTGAACCGATCAACAGTAGAAATACGCACATTCACGACTGTTCCGAGTTAAGGGGTAAGATCCTCCAGTTAGGGACTTCTCTCTATCGTATTCCTCTCGTAGACACCGATACGTCTTCCGCAGTATGCTAAAACTGAGCGTATACAATATTCACGATGCACCCACCCGATACTTGGCTGGTCCCCCTCTTCTCGCCAAGCGATTCATCGTATCTAAGAACCGAATGATGTAAGCATTTGCTTTCAATCCTGTCGATGTACACCCACTCGCTAAGACCTGTGCCCGATCATAAAGCAATCGTCTCCGCGACCTAAGGCGACTACTGCGGAGAGCATGAATAGCGGTCCCAGTAGGTTGACCTTGGGCCCTGAATAAAATATCACGGGATGCCACACCTGTAAACCCCTGGTTATCAGTCACTTCAACAAACGCACGCCGTTAATTGTCATCAAAACTAACGCGCGACAACCGGGGCTAGACAGGGCTGGATCAATCCCAATGTTATTTCCTCGTCAGTAATCGGCAAGGTGTCCGAGAGAGAGCGCCTTCTCTCTTCCGTACTGTCCTAAATGCTATTCCTCAACGGGAGGCAAATGCTCCGGGCATAGTCCGGCACACTAGTTCCTGGAAACATTTCAATCGTCCAAAAACCATCCTGGTGTGCGAGTCCTCGTGGGTTATGACACGTTCGGGCGAACGCCTCGGGATGCGCGAGTGCCATCTCTAATTCGCAGAGCTGCCGGCAAGATGTTGACCTTTGCGGTTCCCGCTTTACAACGCAAAGTTCATCGGGGCTCGCGCTGATGTGTCGCGTCTGATTCCGGAGGTAGGGAATTGTCCCACACAACTGTTCGAATTTCGGTGCAACGGTCGGTACAGGAAACACGCATCGGACTATTGTGCATATGGCAGCCCTCAGCCCAAGAATACAAAATCTGGGGCCTAGCACGTCAAAGCGATAAGGGGCCATAGTATAGGAATCGGTTGAAGACGGAGGGCTGCCGCTGTAAGTGTTAAGAACCTGCATCCATACCACAAGCTTGTCGATGTGAGGTGACCTCGCATAGTGTTCCTTGCGCATCCGATAGTAGGCTCAACCATTTACTAATCAGAGCGGGACCTCTCCGCAAAGCGGCTACGAACCTAAAATAAGTGCATTTGGAGGCGGATTCTTGGGATAGTTGATGTTAGGACGTGACACGATCCATGCAATTAACGGCCTCTTCGGCTTAGAATCGCGGACACCGTAGATCACATGATGCAACCCAGGCATTTCACTGTTAAAAACTAATACCGTAACTAGCTACACCTCCGGGAATTAAGAATCTAGGGCTACGTTCGCTAAAAGTGGGGCTAATGTCGACATTGCGTGAGGCAGAAAAAATTGAACTTATTCGGGTGAATTGATTCACCAAAAATCAAATTAGAGCAGTAGAGCCTCTTTCCAGTATTTAGCTAATAACGGCCTCAGAAGGTTCCGCTAATGCCTATCTGTGTACGTTCAATGCGTAATAAGCGCAGCAAGACAAAAATGACTGCGGGGTCTGGAACATATCGGCTCGTCGGATCCAGGTATGAAGCATTATCTCAAGTTCGGCGGAAGATTGCGCAGGCCCCCTTGTTTCTCGAGCGGGCGTCGCCCGCCTTCGGCCACGCCATCAGTATCGAGCCTCGCTATATTTTTGTTGTGCTCAGATCGGCTTCAAAACCGCTTGGTGGACCATCACCCCCCAAAATCGCGGTACTGAGCAGAAAGGATGAGGCCTCGTAACAGCGGTAGACACTTATGAACCGTTGCCCGTTAGGGCTAAGAGCGCACATTGTTAGCATAGACTAGTCTTTTAAGAAGGAATGTCCTACACGCGCTTTGACATTGACATCTAACCCGCGCATGTTTGGCGCCTACTAAATATGGCCCCGAAGCGTTAGTCCGTAGACCGACGGAGATACCTACTTCAGGGTGGCACTTACACTGTGTGCATTCTTGGATACCTCCATAATTGCGGATTGGTGTAAGTTAGGTAGACTACGTAGCTTCCCTGTTGCGCGGAAGATTACCTTAAGCGTGTCTCAAAATCGTTATTAATTCAATATCCAATTGACTTATCTTCTGGTCAAGTACGGCTAGCTCGTCAAGGCCACCGGCTTTGTACGACCTTCGAAGTCTTCAGAGGCCCCCTCGGCCGCACCGCGAAGTGGGAAACCGGCTCTGCTGGAGTCGGGACATGTCAGTGACATAAAGCCGTGTTTATTTACTAGTCTGTTGGAGTGTTTGACTGGTATTGAATCCTAGGAGAAATGACCGGTGAAAACGACGACACCGACCTGGATTATACAGGGGCTGAGAACAATGCTGGACATGTGACCCGAGACCCCGGTCCTGCTCCACGGGTATTGAAAGAGCCGTGGACAAAGACTTTAGGAAATGTAATTCGCTGTAATCATTCCGACCTTACAAATCACGTGAAGTAGCTAGTTCAGCGTCCAGTAACAACGTTTGTGGTTATTAACCCTACGTACCAGCTAACCGGATCTACAGTGCAAAGTTTGCAGCGCTTCTAGAAATATTGTACGTCACTAGGAGGATTTACGATCAGAATTCGTGCCGTGGGTCTGTGCGTTATCTATCGTCCTTACGACATTCAACGGTATGTTCGCGGTCCCATTTAGCTCCGAACGTGTATAGACAGAAGGACGAATCCAGCATTGTGATGGGGCGTGCATTGTTGTTGATCAATCGATTACGTAAGCGCACAGGTGACGCCGTTGCAGGGCGGACCAGCCATGTTTAACTGATAATGAACGCTAGACATCTTGGGTAATATCGACCTCAGGCTAGGGTTGCCCAAGGTTACGGCATCGCCAATACACGATACGTCTCTGCCTTACGGATATAACGTTCACCGGGTCCTTGGCTCCGAATCTCGGATCTACCGCACATTGGTATCCAATACTGGGGTACACTCCCAGGCAATACGTCCCCCTGGAAATGGTGCAGTGCGTGGTATGGTTATTTAGCTTAGGTCGTCCGGCACAAGCGCCTGAATCAGTGTACAAGTATTTCCGGCTGGTATAGAGTTGTAGATGTTCTGATTAGCCTATGACGGCCACGTAAGCTGCGTACTGAAATGAGAGAGTGCCAATTGTTCATGCACAAATTCTAAGCTCCTGCACTAGGTACATTAAGGAGACCACTTGCGAGCACCCTACCGTCAACTACCCACTAATACTCTTATCCGCCACCCCCTTAACCGGCAATCAGTGGTCGCGAACGTTTCCGAAGTCCAAGGTAGGGGATGGGCGCATCTCAGACTGAAGAAGCCCGTGAAGAGGGGTAGGGCGTCAGTTATGTGGGCCGAGCCGTCCCCTACGTTTCTTGTTCTTTAAGTCCCTCCATGAGATAAATGAATCGGTCATGGACCAGTCGGCGTCGTACACAGTACGATTCAAGTGTGATGAATTGCTAGAAGTAGACTTTGACTTTAAGCCCCCTTGGAGTATTCATTATCTGCTATCATACTACCGTCAGAAGACAAAGGTGCAGAGTCGGCGTTATAACCGGCGCTAGAAGCGTTGATTCTCAGGAAGTTACGGGGGCTTGGGGCGTGCTGAATTGTGGCTAAGTAAAGGATGGTTGAATGTGTGCAACGGGCCTAATACCAACTTCTCGGGGACTTCGGCGTTTCTCGATTCGCCAATTAATCGGTGTACCTCTTCGTAGTGCCACTCCGAGGGTCAATAGACAAAGTTGGCTTAATGTGATATGCGACGCTATGTCTTGGCTTGGGGGATACCGCGAGTGTCGCGGTCGAGTGCTGCGCCACTACATGCGAGCTTCCGTTATGAGTCGAAGACAAGATGGGCGCCGTTATGAACGGTTCCGCCATAATCGATCGACTGCATAAGGCGGTATATACAGTGCATTGTTGCAGACCTCCAGTGAACCGGCCAATGGAGTGGACTCGCCGAGAGCCACGCTGCTAAGTGTCTGTGTCTTTTCGGCGCCAGTATGCCGTCAAAGCAAAACCTAGTACGCCGCTACCTGTCACGGTCGGCGGACTTCCCGGAGTGCGTCCAAGTAGTATTATTTTGTTGTTGAGTAATCCGGCTTTAACCGGCGGTACACCGACAGAGTAGGTCAGACTGACATCGCCCTAACTGAGGTCGTCTTTAAGGGATACCCGGTGGCCACCGAACGCAGTTCCTCGAAGTAACAAAAGCTGAGGGTTTGAAGACCTTGGAGGGGCGTGACGGGGGTGGGTAAAAGTGTAGGTATGCCCTTTGGAGATCTTTACGATCTCCTGGTGTGAATGAAGAGCCGTGCACCCAACTCCTACGAGCTACGGGTCCTCCCGAAAGGAGCGGAAGAGATAGATGCATTTATCAATTGGGCATGGTGAAGGAGAACAACCTTTACCAGAATCATACCATCGTTCCGACCGTTGAGAGAAATACGTTATGGCAAAGTCGTGCATAGGCCGACATGACCCTTAATCGCGTCTAGAGACATCAAGCTTCTCTCGAAGGTTAGTGCGACGTATAGCTGATGTCAGTTACCGACGGCTGCGCATCAAAAAGTGCGGCCCACCCACTCGGCTGGAACGGTGATCTATTCGTGATAGCGCACGCGCAACGATTAATACCAGCGGTAGGGCAGGACTTCTTCATTGGCCTAAGGCGCTGTTAGGCCGGATTTAAGGCGAGCCAATTTACACCATTCGTCCTTGGAAACTACTCGTTCGTGCTTTCTCTCACTGGTCTCTCGAGGGTACGACTTAAGCGTGACTGATGTGTAACCAGTTGAGTCTTGGTTGGTATTTTCCTCTCACAACTAGGTCAGTAGTCTACGCTACTTTTTAGCGAACCGATGTATTCCCAAGTTGGACTTGCTCTGTTGCCTTCGCCATAGCATACTCCTGTTCGAGCTTAATTTGCGCTGGCAATGCTAACGAAGGCACATCGGTTAGAAGACGATGCAGTCACATATGGAGTTCCCAGGTAATACTACAGTCTCTCCAACGATCTTTCAGCCATGCGTGGAAGATTGGGTTTAGCACAGTACAATCAAGGGGATAGTTTACCCGCGGGACATATATACAGACGAACACCCAGATCGTGCCCAATGTTCTGCACGCAATGATCGGGGTGTACCTGTAATTATCCTTTGAGGTTTCATATGCGCCATCGAGACCCGTGTACATATCCCTTAGCCGTCGACATGTTTTGCAAATGGCCTGCACCGGTCTACCATATGATACAACACGGTTGGTGGCTACGTTACCCCGGCCAGCGTCAAGGGGTGTCTTAATACGCTTCGCAAGGATTCAACTTTATACCTGAAGGTTGCTGAGCGCTGGAGATTATATAGAGTCTCTTTTCTGCACCCCATGGCTCGGAAGCGCGTTTGCAACAATACATGTTCGAACTGCACCGTATTGAAGTGAATTTCATTGTGTGGAACCGATCGTGTCTCCTACGATAGGCGTTCCAGAGCTCCGCCCATTAATTGGAGACCCACCTTCAAGCCAGTCTTCCTTGTATCATAGGATGTTAAAAGGGGATGGACCACCCACCGTTTAACACCAGCATAACCGTGCCCGATTTAGCGGGCAGCATCAAGGGACTGGTTTTTCTTTGACCCGCATGTTCCTGTCGAGTCTTGGTCATAATAATTTAAGATTTGAAAGAGCATAACGTGTAGAAAGGCTGCGTTGCAGGGTGTCTGTCAAAACGTCACTAAACAAACCGTCGGGGATCTTTACATGTATACATCCTTGGTGTAAAGCATTGGAAGTGTTGTCGTCATAGCAATTTGAGTAATAAAAGGCACCCAACAACTCCGATGCGTGGATCAATACCAGACTAAGACCCTCTGACATAGCTCTTGGCCGGCAAATAGTGTAATTAACGTACTAGCCCCTGGTTGACAAACGTAAAGCTACAAGAACAGACCGAATACTTCAAGCTGGTGCCGAACCGGATAATTAAATTCGTGTGCCGGCATAAAAGTGGGGGCCGTGTTATTGGGATAATCGTCCCATGTGCGTAGAATTCACACAGCGCCTCGGAGCGACTATGCAAGCGTATCATGATACTGCTACATGACTCATTATAACCCTTCCCTGGGTCACACAGCCAACTAAAGCTGGCTGCCTAGAGCTGCCAGCTGTATTGGGATACAGATTACTACTCTAGCTAAGGGTAGATCGCCGACGACTTCCCAGTCAAACCTAAGCCTATTCAGTGAGCGGAATTCAAGTTCGGAGGATTTTTTTTATGCACCTTACATCCTACCGCAGGGCTCACGAACCTCCAGGACGCTGTCGCCGTTAAATACCAGATCGCAACGAACCAAATGAGATAGGTACGATGCCCTGTGTTACCTGGCGGCTAACCGGACGGTGTTAGATTGTGAGACCGGGCAACTTAGGTCGGAGACGGCCTGAACGTCGTACTGTATCAGTAGGTCCAACGTGTTGCTTCGTGATCTCCGGAGCACCAGAAGAAAGTGTAAGGGGTGAGAGAGGCAATCGAGCTCCTTTTGTCGCAAGTGTCCACGTCCGTACGTATGTGTCCGATGCTTAGGCTCGTATAGTAGGGGGGGGGGAACGGTAAGGGGTAGTGGCTGTCTCCTCCTCCGCAACGCCCAATTCCCCCCAGCAGCAACTGTAGTTGAGGTAATCTCCTCTGGATCGACTACCTCGTGGTCACGATGGTTCTTTTAACCTCCGCACTACCTAGAAGACCCGGAATTGCTGAAGGCGTGATCCACCAACACCAGGCTTTTTTAGAAATGGAGCACACCCTTAAGCGCTAAGACTGACGCCCCAGGTCATCGATATGGTCCACATCCAGGCCAGAGATCTTGAGTCAATCCACACGGCTAACAGTGTCGTAGGCTGTGGCCACGGACACTCCACCATATCGGATTCGTTTGGAAAACCGTTGTAGACGGGCAGGGGTCGCGCTCATTGACGCGCTTGAGCGCCTATGCACGGGAGAGGTTTGTGGTATTTTCTGGAGACAAGCGCGACACCCGGTCGTAGGAGATTTGTTACCCACCGCCATATCCTTATTCTCTTTCTAGTTACACAATAACCCTAGGGAACCACTCCGTACGTCACCGCCCAGGTGTCGTCGATTGTAAGATGGAGGACGGGGCAGGCGTGCTTAGCATCTCTAGCGGTTGTGGCCGGTGTTACTCAAGGGACTCGCTATAGATCCCCTGAAAATCTCTGTATTACATTTCCATGAGTCAGTCCCAATTTCTTCGCGAGGACAAAGCAACCCTCGCTATAGGTTCCAGAGCCTATTCGTGTCCACATAACGCGCTTGAAATTCTGCCCCCCTGCAGTTTAAACCTGTGTAGAGGACGACGTTACCTGGGGCCCAGACTTTACATTAGGGTCTTAACCCTGACATTTACCGGAACGATTACATGGTCCAGTCGGTCCCGGTTTTTGGAACAGGAAGCCGTTTTACAATCTAGCCATGTCACTGAGTTTTCCTCAATAGAGGTAGGCTAACGACTTTGGAATAGACGACATACTTGGATGAAGATAGATTTAATCTGTGAAATTTTCAGTTCTTAAAAGCGCGAGCGCGTGAATCGGGGCCGAATCAGGCAGCGTTATGGTACCTGCTTGCTACAATCTACACCTGACTCTCTCATAAGCATGCCCCGGACTAACACCCGGAACAGGTTAGCACGAGCGACGGCCAGAGAGTCCTAGGCGACGCGCGGACACGAGTGATCGACATGGCGACGGGTGCGCGTACGATCTTTGTCGAGGCTATGTGAGTGTCAATTTTTCAAAGCGCTTATGCAATCGCATATCCGGATCTAATGTACTTCCTTCCTTTCGCTAGGTTGAACCAAGCGGAAGTCGTACAGGCTGACCACCGCCATGCGAGGGGTGCAAACTCGTCGCAAACAAGGCCCCCCAGTAGGCTGCTTGAGCGTCTGATCACTACGCATTTTATCAGACCCAACGCCTGGGTTTCGAACACCCAGCGCCTGCCGGTCAGGTTTCATCAAACCGGTGACTCTTTCGCTCAAACTCCTGGCCTTCGCGACTCACAGATATTATCCCGTATAGGACGAACGTTTCGCCCTAAGTGGATTTTGTCGGTTACTAGCTTTTGCAAACTAAGCGGGAAAACTCTCCAATGTGTTCGGTATCAGCATTGGTTTACGTGTCCTAACGTTGAATGCGTGGCAAGTTCAGCCTTGGTACACACACCCGTGAACATACTCATCAGGCACGTCTAGTTCGGCCAGCGACTTTAATGTTCCGAGCTAACGGATTCAGCAATTAGCTTGGAAGAGGCCGCTATGGCCTGCCCATCTCCGAAGTCTGGGTATGTCGGTCCATTTCTGTTCACGCTTCCGAGATTACCTCCTCCTCCCTGCATCCGATAAAACATTGCTCACATTCCAGTTGGCAGTGGAGCATTCCGGAGACCCATCCGCTCGGTATATGGCTAACGTGGGTGCGTAAGCACAGATTCCGTTCGGCTACGTAGAGGCCCATGGTATTGCAGCTAGGTTCCTTCGGGAGATAAGGTTATATCACAAACGCACTCACTGACACGATTAGATTTGTTTCCCGGTTACCGAAACCTGCGATCAATCCTACTGCGAGGAACCCCGTTAACGAAACCAGGGAGAGCGGACTAAACGCGCAGTTTAACATCATTGATAATCGCAGGGTGTGCCAGCTCGGGTAGAATCAAGCGGGGTAGAGCGCCGCCTACGCATCTGTATCGAACCGGGCAGAAAAGTCCGAGTCCTACAGAACTACGTTCCCGACGGATTTAAATGCAGCGAGTCCATGACGGGGTAGGCGATCTTCCGCCCAAGAACAACGGAGTTAGGACCTGGAGCGACCCCGCCGTTATCAGTGGAGCGGGACTGGTCGGTGATCCCTATGGTTTCAACGCAGGGGAACCCCTCGACGCGGGCGGCACGTAGGTTCGAGTCTGCAGACTAAAGGGGTGTCCCGTGTTCATGTGGGTACCCTCAGTCGTAGCGTAGTAGGCAAATTCTCCCCGGGAGCAAGGTTCGAGGCGCTCCTGCCTCCTGGCTCGTAGCAGTACTACTTAACTGTACTTAGTTGCCCCATCTTGAAGACACGTCTGGCACTTTACGTCTTTGCCGGTTGAATAGGGCGACCCATTGCGACCTCCGGTACACTGTTACTGTGTGTGTGGAGTAGATGCAGAGAGTCATCACGTCAGATGCGAGCTAGTGCATCACGGCCAGAAAATTTGCTTTGCCGTACCGTGAGTCTATGCAAATTTAGAAGCAAACGCAGATCCGGGGATTACGAGTGATCATTTATTACGGCACTTTGCAGTATAGGTCCTAGGCGCGTGGTAAGTTAAGTGCCAATGCCTTTGTTAGGTGGGAGGGTCGCCTATTCTCTACTAATAGCATCAGGGTCAGGCACCCCGGGCTGCGTAATCGTTCCCCGTGCTTAGCTGGCGGGATTAATAAGAATGCGCGCCAATTTCCCTACCAAAGGTTACGCTTAGGTGCCCGCTGCGCCGTTCGTCAAATTGGAATAGTGACGCCGAAAGGATCCAAGAAGGTAACTGTCGATATAGGTTCTCTGCAACTAGAGAGCTTTATGCAAAAAGCAGAAAGCACCCTACGGCATGTAGTATAATGCGGGCCCAGCATCAACTACGCCTTGCCGTTGGATTTTGGCGTCTAACTAGAGAGCGATACGTTATCATGCGTGTTCTAGAGGTGCTAATATTCATCAGTTCAGGAGTACCTGCTAAACGGCTGTGAGCGATTTAGTTCCAAGGCAAGTATGTTTCAACATATGGGAATCACGTATGCAACAATGGGATACCCACGCAACCCTTCCTGCAAAGAGTGCCCAGGTCTAATTAGAGTCGGGATCCTCTTTGACAGTGGTTATATTGCTGTCTGTGAACAATCCGGCAGCCGGCATCTGCGATTAGGGCAAACTCTGTTGAGCGACCAAGCCTACCTCGACTGCGTTGCTCATTGTCGTCCTCACCATAAGCTCCTGTTGTAGGAAAATTAGCCCGTTTAACTCAACCTGACTATCACGATCGTTCCGGAGTCATACCGTATGCACGTGGAGTCAGTCCCCGTTCCGAACAGTGCTACCTTGAAATGAGATTGACCGAAAATAGGCGTTTGTAACTCCGGTTACATGACACACCACCAGATCTTAAATGGGATCCCCGTCGCACCGTCGCTCTCCTATCAACCAGTCGTTATCGGTAGGAACTTGCATCAGCCATCAACAATTTATGGATTTGTGCGAAATAGAATGGCGAGAACACCTATACTGACTGTTCTCCTGTGGACTCCGCACGAGCGTGCGAGGATCTAACATCTTAGGAGACGTCTTCTATGGTTGCGGCGTAAATTTCTGTTCGCTCATCACTACCTTGCGCAACGGCTTTCAACTTATCGCATAGGTAAGCAGACGACTTCTGTATAGGAGTATATAAGGATAGACTAGCTAGGCACGGGCTATAGGCGGGGTTCTCCGAGCCATGGATCGCGAAATCACCAAGTCGTGAACTCGAAGATATGGAGTCAACACACTCTTCGGTGCTTCCGATCTAGTGCCAAAGCCTTCGTAGTTGCGGACACAAATCAGAGGGTTGATAGTGTAAGTGCGTTATCGTGTGCATTTTTGCGATATTATCGTGCTTATAGTCCCTAAGAGGGGGTCCGCTCGCAAGGTAGGATCTAATTCGTGCGATTGCGGGGTCTGAGCAAACTCCAGATCCAACGTGTCCTCGACGTCCCGTCTTAGTTACGTCCAGTTGGGATTTTTAGAACGAATCGGTTAAATGTACTTACACATACAGTGACCAATGGTCAGATCCCAATTGGAATATAGCGGCGCATTGGTGATGGGTCCGGGGCATCGAAGAAACTAGCTCTCGCGACGAAATCACTATCTTGGACACCTCTTGTCCGGTTTGCAATGAGCTATAAGTGCGGAGATAGCCCAATGTCACTATGTACGCACTGACAGGCACCCAGTTGGCAAATTCGAGGCAGATCCCTGTTACCGGTAGCAGGCGCGATAAACCCTCGCATGGATCAGAGTTGATCGCCGTTCGTCAGCCCGCACACTATGTAGAAAATGTATAAAGTCCATCAGGGGATATTAGATTGTCATTTATGGCCCGCCTCTACGCGGTCTATTAAGGCTTGCCAATCCTCTCTATCATACACGGTACCACGTCCCAAACAAACCGAACGATCGCTCAGAAGCGTTTTCAGCCGTGCGACCCACTCCCGCTGTCTTACCGTGCCCCCGAAACACAATTATACGTCGCTTTGACCATTATCAAGGTTTCTCCGCCTACTCAGGCATCTTTTTTTGTACTTAAATAATCATTGGAGTGCCAAAGAGGGGTTCACAGCTGCTTACAGACCTACTTTCGAGCGTGTAGACCAGTTGCATCCCATGCTATAACTTGTAGATCAAGGCGACTTCACATAATTAGCAGATGTGTTGTCCAATATAGCTGCACAATTCCGCCAATGAGCGCGGATTCCCCCCCATGTAGAAGGCGTCGGCACGTAGTGTGTCATGTGGTGACCTTAACGTACAGAGCTAGCAGGCCGTAGGCATCATATGAACTTGTTGGACCGCTCAAGTGGTACAATTTGTATAAACCACGACCGGATGCGTTCAAGATTCTTCGAGGGTCGTACTAGAGTTTTCGGTAACATACATCCTCCAATGACAGAAGTTACGCGGCTGCTAATCGAATCTACGCGGTTTTAGTACATGATAATGCTGAAAATCAACTTGATCTCACCTTGGTCCAGTGAGAACCGGTTAAAATATCTTGCTGGCTCTGAAAATCTCACGCCCCGGAATTGCTTAATCATGTAACCCTAGTAGGGACTGCAGGAATGCTTCGGCTGCGCCCTCCGGAGGGCAGGCCATTAAGAGACGTCCAGATATCATATGTGGTTTATCGTCGTTGATCTGGACTCGGTGGTATGACCGTCGGACAATGGTACTTGAGGCGGTTTCGGGGGGGGATACCCCGGGACATTAATTACCTGAGTCTTCACGAGTACGAAAGACCTTCTCCAACTCGGTTCGTCAAGTAAAAACTCGGCCGACCTGCCTAACTACCAGGACCCCGTAGAGCCAGGCCCTCACTCATTATGTCCGACCTTCACCTGGTAGGACCTTCTATAGAGATTCCCACCGCCACTGATGACGGGGACTTCATATTACCATCAACCGTGTTAGCTGCCAGGCTTCACTAGCTTTTCTGGCACGCGGTGTCTCGACATTGAGACAACCCATTTCGGGTCGGGTCTCCTATGGTGTACTTGTAGTCAAATCACCGGTTCTGAAAACACGGATGTGGTGTTGTATCACAATCACTAGGTTAAGATTAAGCCCAATAGTAACGAATCGCTACAAGCGTGACCCGTTTCGACAACGTCAAACTCGTCACGTGATCGCCGCCAAACAGCGGCCAGTCCGGCCCCCGTCACAGAGTTCAGGGTCTTCTGAAGATTCTCGGGCACTAGGGAGGCCTGAGAGCGTAGCTCACATTGCACCTCTGCTACCCGTTCCCCAGTCTCCGACGGGTCTCATTATTGATGTGTCCGAGCGTTGTCCCTTCAGTCGGCATCGGCAGCCCATTCAAGTCCACTGAATAAGGCCATCAAGAAAATTGGACTGATACGGCGTCATGAGAGTGGATCTTGATATACGGTCTGGAAAGCGCGTACCCATTCTTCGACCCCGTCTACTCGTAGTTATAGGAACGTATTTGCAAAATAACGTGCTTTATGCTTGGGACTTCCCACCCCTTTCTTTGCGGGCGCGTGACCGATGCGAGTTGAGATGGCGTCAGCATATAAAGACTAGGTACAACTAATGTAAACATGTTACCCCACGGCCCTTATCCAGAAGGTAGGTCGGGAGTTCTGGCGGTCACGCGTCTTATACTTGTTTCAAAGTGTCGCCTTGACCGAGTTCCCGGAAAGTAGTTTTTTGCTTTTAAGGGCAGGTGCCTATGTACAGTCTATCGCCCCGTCGGGGCACTCCCACCGGTTTACTAAGCCAGCACTCGAGGGGACGTGATCGTCATTCTACGTAGTGGATGATTCGCATACGAGCGCACGAGAATATGTAAGGTAGTTAATTGCGGCGCCGTTCGACACCCGGTAGCGACCTAATCCGGGGGCGAGATTGCAGGATGAAGATCCAGAAAGCGGGGCTCGTTAATACACGGGGGTTTGGCCTGAGTCCTTTAGCTGAGCCCTCGCCCTTACCGCGTCTACTACGCGAATACGCCGAAACAGGTGGAGGGGACAGTCGGGTGACGCTAGTCCTTGCGCCTGTTTGGCCTATCCATCTAGAGTCTTCAGTCAAACGCAAGAAAGCGGTATTACCGAAGCTCCAACCATGACCGGCTGATCCAACTCTACTATAATCGATCGGGAGATTCACGTACCGTCGACCGTTCAACAAAACTGCCATCAAGGGGCGCCGCTGGTGACGTAAGGAAGCGTTTGCACTTACTATTTAAAGTCGCTACTTAGTCCGAGCTGCGGATAGGACGAACGGGAATCGAGCTCCTAACGCGGTACCGGGTAACGGCATTAGCTAACTCTGTTTACATTAGTTCTCTGGGGATGAATTCCCACGACGAGAAGTTCATCAGTAGGGGCCGGCCTACATTAAGACTATGTACGGCATATATAACGGCCAATTTCGTCTTTTGTCATGATTATACGCGTCGGCCGCTTGAGCTGGGTCCAGCGCTAGGGAACCTTTAGGCTATGGCCCTCGAAGGTCAAGACACAATCTGCTGTGAGACTCCGGCGGTAGGTGACTGCCTAAGAGGGCGAAGGCGGTATAGCTACCTCAATGACGTCGATCGCAGCGGTGTTAATACGGCGCTCCTCGTTGAATATCGAACAGAGCATGACGCATATGTTAGCGCGGCGCGGCTGATAAACCGTAGTTGAGCAAACACAGGGCATTATAATGGTAAATCTTGTGTGCCAGCATACCCATGCGGCCCAGGTGGATGTATGCTCGTTTGTGCTAGTGCTTTGGTTGCCCGAATTCCCCGATCATACGGTAAACCGAGAATTTATGAGGATCGTACCAGACACACTGATACTCTGTGTGGTCCTTCCTTCCTCAAAGTGAGAGCGCATCGGTGATTGTATGACTTAGTAATTTTGATATCTGGCGCTATCCAAGGATGAATACATGGTTGTCTTATTTACCAGACTGACGAGTCATTAGGCTGAGCAGCTACTCGACCGGCGGTACAGCGCATCACACTTTGTGTCGTGACAATTTGTTACGTTAAGTCAGCAAGGAATGCGCCGGACGTGATCAGCGTTCGACCAAAACCTTATGATGAGAAAGTGACGCCCGTTACCCCGTTATGTAGTATCTATTGTTACTGTAGGCTCGTTCTCCTCGCTCAAATGTGGCCTTATCCGGCACTTCCACGAGGCGGGTCTCGTTCTTCGGCTATAATTATTATGCTAGAAGGTGCCATAACTAGCAAACGACACTCCGAGGCTGTTACCAAGATATAACATCACTGCCCTAGACGGAGCCGCTGTGAGGAGGGCACGCCTTGAAGGGTAAATTCTATTTCCAAGCACTAACGGGTAACAGGCTAGAGTATTGTAGATACCACCGGCGTGGTAACCTAACTCAGGCCAACATCTCCATGATATCCCAGCTTCAAAGGTGAACTCCATTACACAATTCTCCTGAAGGGGAGTTCATTAGGGACGTCGAGTGGCTGGAAGACACGGACAACTTGGCTACTCGTACTCGACTCAGGTACAGGGGACCGCCGCTTTGGGGTAGTCTACGGGAGCCTCTGGGCGGATCTATATTCTCCCGTCACCACGATGAAATCAGAAGATTAAATGCTCTCCAGGAGAAGCCCACGGACTTAAATTCAGGCTGTAGCGACTTCGTGGGGTGAGACACTAAGGGGTCCAAGATACTGTGCGTTACAAAGTGCTCATGGTACTATAGCCTAGTTTGGGAACTGGCCGTCGACTGCACTTATCCTGTGTACCGCTCGCAATTAGAAATGTGTGCATTAAGCCACTTAGAAAACTCGCCAGCTGTCCAATACGCCTCAGAGTTAGCACATTTATGACAAGGACCTATCTAGTCAATACTTTGAAACCATTATACGCTTACCGTGTAGCATACACCTTGAGTGGATTACTGGAAACAGGTTATTTGGCGAGATCAAACGGATGTACTCGTCTACTTCAGGGGGTCACCAGGCCAGGGTTTAATTCACCCAGGAGAAATAGTAGGCACGCAGAGGCAAGTTATAAACCTCCGACGGACCTGCAACTAGCTGAGTAAAGTGCTATTCAAACCCACCATGGGGGCGTAGCGTTGAAGAACGCTCGCAGTTTCCCTTATACTTCGTCTTGTGACATACCCAGGCTAAAGGCTCACGCTTCCTAAGGAATGTTACGTGGGACTTTCCTGACTTCTTCTCCCTTAGATATTATGACGCGCAGTAGTCAGAGCACTAGATGCGATATATGTAAGATGTCTGAAGCGGGCTGTGGTTGCTGTAGTCCACCGAGACCTCCCGACCGAGCTACCAAGGGATGGTGCGCTCCCGAATCTCCGACTAACTCAGGGAACGGCCCGTCGCTGACGCCCAATGCGTCTCTGTATCGGGCGCGGAGGGTGGCTTCGTCATTGAAATGATATCAATGCCAGGAGTTGCTAAGTAGTCGGGGACAGACACATGCAGGTCGGGATAGTTCCACAGTGCCCGTAAAGAATGCGAAGTTTCCGGCTTCCAATGATCCGACATTGCCAGGCGCCCGAGAGTTAGGGGGTCTCTTGATTATAGCCTTCTAATGGACTGTCGCAGACCAACGCAGTAGGACGTCAGTTTCCGATCAAACCCCGAATGCCAGCAAGGGCAATTTCAAGTCAAAGAAACGCGCAGAGTGAACCATTCTTCTATCAGACCCCGGACACAGAGAATGGCGATTGTGCAGCCACAATGTAGGTCTCTAAATGAGTAACTTGTTGATCCCCCTATCTCGCATGCAAATGCTCTTGGTTGTAGCGGATCTAGCCCTTAAATCCCATTTACACGGAGATAAGGCCCAATTAAGTCTGCTGTTCACCATGACCTCTATTTATGTAAGCATTCCGTCCTGTTCATTGTAACACGCTGGGCGGCTACAGTGTTAACAGCCGTTTATACGTAGATCTCCTATGTCAGGACCAGTACCTTCCGACATTCAGGAACAGCTCGCATTTCTCATGGAACGTCGACAGAGCCTATAAGTTCGGTCAACTCTGTACTGTCTGTTGCGCTTTTCAATTACCATTTGGTCCTCTCACCCACACTGCCGTAGAGCGCATTTTAGTCGTTGGCTCATGTCCAGACCGGGTCATTGCAAAAGGGCGCACCTGTTAAACGTGCAGGTTTGGGCTCTACTCTACGTATCGAGACTCCGTCGACTCCAGCCCGACAAGGGTGAGTTGAGTTTCGATAGGGTAGATGCATGTACCTAGTCAGCACCCCAAGCGTTACCCTCATAGGTTGAATTTCTGACCACTGTAAGCTGTGGGTGTTAGACACATGTCGCCAACGCTATCCGGTTTGACCATGGGATTCGGTCTATGGATAACTGAGGGTGAGTTGTTACTGCATCACCCCCATTCGTCGCTTTGGCCGTGGCGGAAACACGTTGGATGCGGCCACACATGACCGCCAGACCACTTCTCCGTACCGTGGCAGTAATATCAAATTTCGGTGCGAGCCCCAGAAGCATACCAGTCAGCACCGGCTCCCTTATCACATGTTGTATGGTCTGCTTACCCTAATTATTACAGAGGGGCCACGGTGACCGGGTAAATGCTCTCTAAATCGCTCTGTATTAAGCGACGCTCTTCTCGTGCGTTCACATATACGCGCCTATGCGCGAAACATATTGAATTGTATACCCATTATAGATGACCATGCATCGGCCTGCAAAACGGAGCATCCCTGATCAGTGTATGCGGAAGCTTCAAGATCTATTATAATGGGAGTGATTACATGGGCGGACGGGCGTTACGGGCCAGAGCAGGACGGTGTGTGTATATTCAGACGTAGAGACGCAGAGGAGGCCGATTGTCGGCGGACAGCGGTGGGAAAAAACGGTGGCAAGGATCGTGCTCTTGACACGGTACTCTAGCCTTCCAAGTACGCCCCACGACACCTGGAACTTACCTCTTTGGCGCGCACCTCGTCCGTCTTAGTTAGGTCTCAAATCCGATTATCGCGTTTAACATGTAGGGGTCCGCCAAATTTAACCGCTCCTAGCACGGAACCACTTTGCTGCCAATCTTGGCATAAGCCTATCTTTGCCAATAATAACGACCAAGTCTCCCGCTAGAGAAGTGTATCGGATTGGCTTACTTGATCCAATCGTGAAGCAATGCTACTTCATAATATCTCATAGGGTCCTGACTCTCACTTCGCAAGTTCCGATGTTTTTGCAACTACGACATGAAGACTCCACCTTGCATCCCGCCCCAGCGGTGAGCGCATAGGTCTACCACGTAAGCGCTCCTCAGACAGCATGCCATCTTGACAAGCCTCATGGCACCCCCGCTTTACTACTCCACCAGGAGTTACCCTATACCGTCGAGGCCGCCTGAAATCCGCAGTCGCTTCATCCCCTTCAGGAAGCGATGTGTATAGTCGCTACAGTGGTGCAATATCTAAAGCTACATGTGGGGTCAGAGTAGAAACACTCAGGGGCCTTCGACTCAGGTACACCCAACCACCGGGATTTCTAATTCTCGCATTTGGCCATGTTATACGGATTGTTACATTATTGAGAGCGAAAGGAGGTGACGGATGAGGGAAGCCAGAACTACTCATTTCTAATATACATAGCATAAGACTCACAGTCGCCCAAACGATGTAGACCCGCGTGACCTCGCGATCCGCTGTACACACATAGATGGGACGAGTCCTTCCAGCAGACTATCCCGCCTTCTCTGACTCTATCCATAAGGCGGACAGCGCGTACGGCTATGAGGTCATAAGAGGCGGCGATAAGTATCTAAAACTGGATGCTAGCACAATTAATTCCGCAGTCCAGCACGATACGAAAAGTACGCCTCATCACGCCGCCCAACGCCGTACGGATGAATATGAGCTGCTGGTTCGAAGGCCTGTGTGATTCTGCAGTAAAGACTATCCATGCAGTACCTTCAACGAACGAGAAGTCTCCTCCTAAGCCCCCCATTGCATACTCCGATCACTATCGTCGGAACACGAGGGGCAATCCGGAATAGGATGCGTGCCGGGGCATGGGGAGTTCGTTATCAATCTGAGATCGATACACGATCGCTGCTCACATACTGTCTTTTAGGACTATAGGATATTGGTCTGGCTCTGACACTTTGCGGCTAAGTCACTGTACATATGTAATCCCCACCTGGTGACCCGCTGCGGTCCGTCGCCGACCCCTAAGAGGCGGGTGTAACGCGGGGATATCTCCTAATCAGCCACTCTGAACCTGTGGTCGTCCCCCGACCGCCGAGGGCGAGTTTCCTGCTCACGGCATAGCTTCAGAAGGGGCAATGTCTCCCAAGGTTTTCACATTCTGCCGCCGAGATCAATGAGACCGGCAGACGGGCTGCCGCGATTAAATCAGTCCAACGCATCGATTCCTCCTAATTAAATCGCCTACGAGATCGAAGGGACGGACTGCACACCGTGTCGGACTGAACATGAGACAGTTACTATATAAAATCGCTACAAGTAAGTTCCTGGCATTCAATATCCAGCGTTAACCGTTGAGCCGGTTTTACTCCCCTATGTAAATACTTATGACTTGAGCAGCCACTCTCGGTCGAGCTAGATGGCCCTGATTCTGGAGTTAAGCACCACTTAGCGGCTAACTTTGCTCTCCGTTGTTCGAGAGATAGGTTCTAGAGTTCCCTGTCATGTCAACGTCACAAACCTATAACCCCTGTGTAAAACGGCGACCGCCTCTGAGCGGATCGTTATGTCTGGAGAATGTACTGAAATCACGAATACAAGGTTACCGAAAGACTAGCGCCTTAGTATCTCTTGTCCCGGAAAGCCAACATGATACCGGGCCGATATAGGCAACGAGCAAGACAAGAACAGAGAACGAAGCCTGGCTAGGAATACTAAACTTCTTTTATGTCAGGACAATGTCGACCGAACTACGAATAGTTGCCTCCAAATGTCTTCCGGCTGTGGCTGCATAGTGGAGCACGTACGAAGGCCCTGACTGCGGCTCCTATAAGTGGATGCGCACTTCATCGGTCGTGCTATGCGCGGGCTTAGGGCCACCGATTAATACCAAGTGTGCGTAAACCTATCTAATAGTACGTCATCGCCGGGACTCCGAAGAGAACCAGCAGGGTCCTCGACAAGTGCGCGTAGGCCAAGATGCTTTGGACGTCCGACTGCTTACCGTCAAAACAGGTTTCTTAGTCAAATCTTGATGGACTTATTAAATCTCCTTTCGCATTTGCCGGCGGAAGCTGCTGTACGTAGTCGTTTTTCTCTGGAAATACACTCCACCTGTGGAGGCTGCAGATTAGCTCCCGATGGTGGATTGTGGTCTCGTCGTTGCGGTACCTGAGACTTCGCACTTACGCCCGCCCTTGTACGGCAAATTTACAGATTTGGGCTTTCCCTGCCCAGGGTGCCGTTTCTCTAACACTGATGCGTCACTCTGAAGGCGAGAAACTCTATCTGTTACAGGTTGCTACTCACCCGGTCTCCTCACGGCATAACCCTGTTACCTTGGTGTAATATGGATAGTATGCTGAATTGCGCTCAGGATACGAACTGTGTCGAGGATTATATGTAAGACTGACCCCACGAGTGCCCTTAATCCTACACGGACTGCACCCACTTTCGGGTATGTACGCCGATCTCGTCTAAGGTGCCATGCAATAAACGTGGCCGAACCGAAGAATTAGGAACAGTTGTAATGCACGATCGCAAAGGTGAATGCAGGTCAGATGCGCGCTGCGGTGGAATAACTCGTGTTTCGGGAAATTCTGAAACAGCCGAGTAGTCCGCGGGGTTGACCCCAACTCAAGAGTAAGGTACAAAAATCTATGGGAGGCCGCGACTCGTCGGAGATTTGACAGAAGGGTCCCCACCTCCTTGAGTAACAGTGAATACACTGACATAACCCGACCTAGCTGACCGCTGCACGTGCGAGCTGACATTTGAGACATGGGTTACCGAACAACGTTTGACCACTCCGAGCTCTCGACCAAAATTTATGCTTGTATGACACCTACACGGGCAATGACTCTGGTTACCGAACTCATTTCGCGACAACAAAGGCCTGTGGTATTTCAAAGGGTACAAAGGTAGAGGTACTCCATTACTATCCTTGCGTTGTACAACGAGTGCTGGACAAACCATGAGAGCGATTGGTCAAACCCTTTCAATGTGGCTATCCATTAGTTTCGGCCTGCTTCGGAATCACAGCCGACGGCCGATTGTTTATCACTCCCCCCGTGGTGCTGTAAAGGCGGCCGATGCGGTTTGCCGCGCTAAGTGCTGTCCCTTTACGTTGACGCTATGGCAGATATTATTCTCCGGGCCAATCATCAAAACTAAAGAATGGGGAATCATCTGCTTGATAACACGCTTGGCAGAGCTGACTCTAGAAAACATTAACCCACATTGCAAGGGGTGGTGACAGGGGGGGTCGTAGATCCTGAGTACCAACAAAGCGGTAAGCAGACTGGCGGTTAACTTATAGGGGGCTAGCTTTTTCGTACGGACCCGACCAGTGGATGGCGCCGTTGAGAACTAGGAATTGTTTTCTTGTCGATCAGGCTCCCCAATACGAGGGCATATAAAGACTGATTGAAAGGGTAAGCGAACGTAAAAATACGTAAAGTTGGCCATCTGGTCCTACCTCAAAGGTATTACGCAATGCTCAGGTATGTTCGGACGTTTTAGGTCCGCGCGATCATCCATGCGCATTATGATCGAATGCGTCCCGCTAGTCCTAAACAGTTGATCGACTCTCTATCAATGTTTCCGTCCCCCACAATTTCGGACCGAAACCCCGTATCATCATACATGCCGTAGTCGGGGGAGGATCTAGCTGAGACGTGATTGCTGCAATGCGACCAAGTTCGCCGCTCTATCAAAGATGTAACCAGCACGGCCCCTGGATCAAAGGATTCGATGTTAGTCAGAATTCATAACGATACAAATTCATGCGTGATCTGACCGCGATGAAACAGATGCCTCATGCTTAGCTGGCTTGGTTTGTCTGGGGATAAATCCTGGACCAAAAGTGTGAAAAGCACGATCTCTGGCATGGCTTAGCTGTAACCCCCGTCGGGTTGAGAACATTTCTTCACGGAATAGTATCGTGGTTCCAACCATTCGACGATTCATCGCGGGGTTGCTATGCCTCCCGCTCGTGGCCTAGGACCGCTTGTACCTGAACCGAGATGGACATGAGCGAGGAGTAAAGTTCCAGGTTGGTTTACGAACGGGGTGCGTTTATAAGACGCTATACAAAGAACCCTTGCGGACGAGGAACTGTTTCCTCTATTGGAATCGACTTTTTAAGTCGGTCACTTCCTCCCTTCACCGGCGGCTAGCTGCCGAATGCTCGTAATTGCATTAGCATGGCGCCTGTAGCGTGTGTAGTGTTGAACGTAAAGGATGCCGCAGGTTAGACCGCTTGGCCCTACTCTCCTTCGTGGTGCCCCCAGAGACCGGAGAAAGTACGCTTTACGTCCGAACCAGGCATGCCGGATAGGTCCCACAGGATACCTGTAATCGCTCTGAGGTCTATTGGTAGTTCAATTGACAGTCCACATACTAAAATCTGGTTGCTCGATATCAATAGCCGAGAGCGGTCGTGACGAAAAGGCTTCCTACCTCATTGCCTTCTAGGGCTGGACGCACCTAAGCTCGCCGCAGCCCGACGAGACTGCGGCTAATCTACCACCGAATCAACCCGTAATGAACTGAAGGTTTTTGACATTGCCGAGGTTCGCTTGCGCGAGGCAGTGACTGACTTCAGTCCATCAAGGGCTTTCACGGTAGCAAATCTTATATTACTGTGTTAAGTTCATTCCTTCAATTTGCTGGCTTAAAGATGACCGTAGGGTTTCTCAAGACTTATCTCTTCACCGGGGGCTCTAAAAGAAGCCAGTAGGATGCCCAGTTACCATTGGGGGCACAGATATCTTCTCCGCCCTAGAACGGCCATTGTACTGATTCCCCGTTAGTCACGAACTGTCGGGCTGACAACCTGTTGGATCTAATACTAGCCGATTCCCCCCATACTCCGTCCAAGGATTGTGTCGTACCCGGTCAACTCGAATTGCAGACATTTTGATTTCTTAGCATAAACCTGGCGCTCCGCGCTTGTCCGTGCTTGTAGATCGAGGAGCAGTGGCCTTTAGCTGCTGGTAAGGCATTTTGGGTATTAGATTGGTGCTATCGCCCGCAGAGCTACTGCGGGAGAACAGTGGTGGATGCGAGGGGATGCATCCCGCAGCGAACATAGGCTTGGCCTCAAATGCTTTAACGTGATTCATTGGGATATTGGGTAGCTCCCATGTAAGATAACCACGAAATTAGAACAGTGCTTAAGAAAGGATTAGCTCATCGGGTGTTCACCTGCCTCACGGCCTTAGGCAGAGTCTGTACGAGGTTCCGATATGCTTCAGACTTCCCGATGGAGTAAGGTACCCGATGGAATTACATCTCTAAGGTGGCCCCTTTACCACTTTCCAGTTAGATTTTCTGAGCGCAAACCCTTACTTAGCCCCACTCGAAGAGGAACCCGCAGATCAGGTCAATAGCCTAGGCGTACAGCGTCCTAGAATTACCTGAATACTTTTAGTCACTCTCTAAACCTGAGTTCCTCTTAGCAATACTATCGTTAGAAGGCACTGACTTCGCTAGGTCCATAATTTAGGTTATAAGGACATATACCACCCGGGTCACCTTGGCTGGGGTACGATGAGCAACGCGCGTCGGACACGCCGGCGCAAAATGAGCTCAACAATGTGGGTTCAACCATGAGTGGATACGGATCCACCCTTAAGAACTGGTCTTCACACGCTATTAGGAATTATCACGTCCACAGCTTGTCCACCCTCAAACGCAATGCCTCGTACAGGGCCCGGACCGGACTCTGGGGGATTATGAACAAACTCATGCCCTCCTTGACTTGAGATAATGGCGGATTCTACATTACTTTGATACGAGAGCGTATAACTCACGGGGCCCGGGTACACAATGCTTGAGGAAAATCGCTTGCACTCAAGAGTAGGTCAGTAACATCCGGCGGAGCCATTCGAACCTGACTGCTGCTGGAACCAGATTGTCGATGTTGTTGCGTGTACCGGTGCTGCATCCCTACACCGATGGGCGTCATAATCCACTCAGAGCTCAGGCGTAGCTTGTTTGGTTGAGCGTCAGAGGGCACCCGTTGCAGGTCGGGTTTGCTAGTAATTGTCCCTTACTCTGTGGATCGACCCGGAGACTTCAATGATGCAGAATTAGCAGCCCTTCTGTCCATGAACCGATGGAAATAGTATAGCAAACGACTTCGTCGTTCCACGTGTTAATTCCAGCTAGCACAAGAAATCTCTGACATATCGTTACGCCGCTCAGCTGGATTAGCCGTGAACATAAATTGCAGAACCCACATCGTGGGCAAACGGTATATGTTTTATTCCGGCTGACGCAATTTTTCAATAAAAAATGTACATATTTCCATGCCTTAGCGCTCGACATTCTATCTGAGAAGGGAGCCAGCACGCATTGGCGGTGGACGGCAGGGCATCAACGAAGGCAAAATTGCCCGTACATAACAATGACTCAGGTATATTGCAGGTAATCGTATGGACGAACGCGGTATTACGATGACTACCCAATAGACCCCCGGGACAGAGTCTGTAACACTTCGCGCTTATCCAAAACTAGTGCCTCAATACGTTGCTGGCCTAAACTTGCGGACCGCCGGAATTCGTTGTATTAGTCCTGTTGGGTCAGGCCCTCTGCAGGTGTTCGTCTATATGCCCCGGTAGACTCTCAATCTGACTATAAGAGACCTAGGTAGTAACTCGATATTGGTCTGATCGTGTCCTTACCGCTGTGCTCAGCGCGCCGCGTAATGGGATCCGGAAGTACTTAAAGCCGACAAAACACGGTGATACGGTGGGTTATTTCGGTCCACCTGGCCCCGTTTAGCTTCTCTATGAGATGTGTCCACATTTGCACCTTTAATGCCGTAATAAGTGCTCGGCCATGTCTATTCCTACGATGATTCCGCAGTTACACGTTCTTACTAGCCGTGGCATGCCCCGTTGCTTCGGTAAACCATCGAACCGGGATACGGAGCCTGTACATGTGCCGAGCCTGATCAGACCACTAGCTCCAGAGCGTTCCGTGAATATTAGTGCAACCCCGCAGCACCACATAGCGGGGTAAATATGGCAAGGAACAAAACAGTTCCAGTCTGATGGTGAGCTGGGATTCGACGTGCAAAAGAAGACTCAGTGAATTTAGATCAAGGAGAGTTCGACTCCAAGAAGAACACTCGATGTGCAACTCCTCGATGTCCCCTCGATAAGTTGTACTGGGAATGACGTGCCCGTATCAAAAGCGCTAAACGACCACACAAACGTCGCACATCTGGCACAATGTCTTTGCCTACTTAAACCATCTAAGATGATCCTGTCCATTGACTACTAGCAGCTTTGATATCCGTCCGCATCAGCTAAAGCTATACGGTGGGCAGGGTCATAGAGCGGGGGAAGTACCAAGTAGGCGTCCCTAGACAAATAACCTTTCTTGCACGCTTTTGGACCGCGAGCGTGCGTGTCGATGCATGTCTGCCGGGAGGGTAGCGAATAGTAGGAAGGGGTTGTGATGTGTACCGATAATACTGACCCCGTAGCTCGTATCGAGCATGCTTCACGCACCGGGTAACCGCAATTTAATGTGACTCCTGAATCTAGGATAGTACCATACGCTATGATTGGAGGCGCCTTATCAAACCCACGCTCCGGACGGGAAGATTCTAAGAGCCGCGCAACAGCACAATTTGCTGTTAGCTCGCAACGCTACATCGAGTTTTTATGCCGTGATGAAACTTTCCCAAATCCAAGGGCACGCAAGCTTTGGTCATTCGATGATTCGTTCAAAGGACTGAGACAGTGTGGACTGTTTCGACCGGAGGTGTCTCACCACCCTCGTGTCAGTTGCTCACGAGCCTGGTACCTATCCCCGAAGAGAGTGGAGCTGCACTGGATATGAGCTATTAGCAAAAAGGTCATGGCGTGTCTTCTGGCAGACCGCTGTTCAATTACGGAGGGTTTCGATATTGACAATTTCCAGCGCAATGCTATCCTTGAGCATGGGCACCGGGCTGCAGCTCGGGTCATTCCAGAGATTGCAAAGTACTGAAAGCGAGGACGAGTTCCTACTCTTATCGAGGAAGCCTGCCATAGCGAGCGTTATTACAGTGCTTTTACTTAGAGTTTAACAAGGGTGGTTGCTCTCAGTTCCGGAACCGGAGGTTGCCGAGAAGGACTCCCCCGCGTCTGCCATATAAGGCTTAAGCGAATCGGCGATGAGTTCGTTAAGAGGGTCTAATGTATATCAGGAAAACCATTTGTTCCATTACATACGTTCGCCGTCTAGTCCCCTGTTTCGTGTGGTGGTGTCCTCCGAGCTTGATATAGCAAAGCGGCTAGAGTAGGCTTTGAGGTATATTATAGGGTATGACAAGGAAGGTGACTACAAAGATGTAAAGCGCCAACGTACCACACGAGATAGTTTCCCTGTTCATGTCAGTAAAGTTCTACCTTAAACGGGGGTCTTCATCTTAAACGCCCTATTCCATATATCAGGCCCCCCATGTTCTCCCCAGACACTTCTCGTGGACCAGGGAAGAAATCTGTATACTGGGAGCCGATTTACGGTGCGGCGACAACATAACGGTCGAATGAAAAAACGATTTATCCATATAACAAATAGTACGACCCGCGGGCCTTAGTAACTTCTCGCATTCAGAGAACCGACGAATCCACTTTGGATCATGCCTTAATTGTAGACAACCACGTACCAGCCAAGTCCATCTTAAATCAGATCCAGGGGCTCAATTGCACGCATCAGGAACCCTACTTTTATAGAGCTTGGATAGTCCGCCAATCAAACTACCGAGGCTCGCTGGCCCCATCATGTCTTGGAGCGCTAGGCACCCTAATATCACAAGGGTCTCAATGTCATGATAATTTCTAAACTCTACGGCCCACAATTGAGAAGTGGCCGCGAGCGCAGCTCGTCTTATGCGATGCAAGCCCCGGCCAGGGGCTCGGAGCTAAGTTGAACACCCCGACAGGTTAAAAAACCGAGTGCGAACTCTCGTACTTTGGGAAGATAATAAGCCCCCGGATGGATCCGGCTACTGGTCTTGCGGACCCGTGTGGTTACGATACTTTACAAGTAGAAGATATTAGCCGAGCGCGGGGGGACGGCGCAAATCCATCGACGTAGACCGGTATTTGACATTACCCTCTTTATATAATGATGTGTCGTTGTTACGTCATTAAAGTGCGAACGTTACACTTTCTCCCAGTCCAATATCCGAAGGCAGTAGTCAAACCATTACACTGACATGTGTCTAATTTGAATGGCTAGTAGATACAGATAAGCCGGATAGTTCTATAATTTGTGGTTTGCGCACCAGGCTAACGCTGTGGCCGCTCGATGTCAGCGAAATACAGCGAGATTGGAAGGTGATAGTCACCGACGTACACTTTAGCTGGCTCGTCTGATAATACCACCCCCTTGTTCCACCATGTAATTGCTCGCCCCCCGAAGAGCGCCAATGGAACCAGTACCTTAGGCTGTCATTTCCCATTCGGGTACTACTGAGGGCACTCATAACTTTGGGCACCCGTGCCCTTGGTCGGTTGGGGCCCCATGGCTCGACACTCACAATGCTGAACCGTCTATACCCATAGTGTGTGAAATCTTGTGCTCAATGACCTTAGGAAGGTTCGAGAACAGCTACCAAACACTCAGGATGTAACGCTTGGCGGGTATATAGATTTTTCCCGGAGGAAGGCGTGAAAGCACCATACCGGCCCCTCCCTATAGGATAATCCAATTGCTACTGGCGGTCACCGATTATAATTTTGATACGAAACTAGGCTCTTTGTCTTCTAGTCCTATGGTTTAAGGCAGAAAGAAATTATCTCTAAACCCTACTGATCAGCGCTGGGATGGTCTCCCACCTCAACAAGGTTATGCCTGAGCGGAGAGGGCCCTTGGAGGGTGGTCCTTCCCAGTCTTTCTACATAACGATGACAGACTTAACTGGGTGCCGAATCACTACTGAAGCGATCCATTTGATCCACAACGCATTCCCGAATAAGCATTTGGCGGGGGGATTACCTGACTCCATCAACTAGGAACTGAGGTTTGCGCGCCTTCGCGAGTCTATATCATGTGATTTATCAACAAAGGTGCACAGCAGCCCAGTGCTTGATCATTTTGTAGAGGCCCACTGACCTCCGAAGATTCATAATGGAACACAAAGTGAAGAGGTAAGTGTTAGCGTGGTGCATTCATAAGCGGCTAGGGTGTTGCCGCTGTATACCGTTATTGAGAAGGCGATTTACGCCGCTCAAGTCCCGGTAACTAAACCTATACTCCAGAACTGATCTTCAGCAAGAGGCACTAGGCGCGCCGGCGGAGCACCAAATGTAACAAAGGCTACAGTATGAATCTAAGCCCGTTCGAGCAACAGTCCTATCCATAAGGGTTGTGAACACTGGGTTTACAGACGTCGCATGTATAACGGAGTATGCGAAGACATTTGCCCCTGCTGCACTTCATATGAACCCTTACGAACATGGCTTTTGCAATCTAGGACCTCGCGGCATTAGTAGCTTTCAATAAATTAGCCAAGGTCTGTGCCGGCCACGCCGAGTACTGAAGTACAGCTAAAAAATTTCAGCCAAGATGCTCTCGAATGGTGTTCACGCTCACACACGGGCAGAACGATAGTTACACGTAGTTCGTACTCAAACGTTGTCCAGTCTAAAGAGATTAGTACAATATGCTCAGGCTAACGGCAGGAGTCATGTGCACTAGGCTCGATGAAAGATTCGCAAATAGGAGGGATTGTATCGACTCAGATAATGTGGAAAGTGGATGATCGTGGCAAACCGGCCAAGCGTATGGTGGCGACTCGAGCTAGGTCCCACACGCGGATCCCAATAACAGGAACATCAATCCCCAATCTCCTGGACACTCGGACGGCGAGAGTTAGGTGGGCGGCATGGGTGTGACCTAATGAGGAGGCGCCCCGTTACGACAGGTATTACCGGCATTTTTAGGCATACAGTGAGCGTGAGACCTCAATTGAGAATTCGATACATTGTAAGGGCAACGACCGAGAATGGTTATGTCCGATTCTCTATTACGTAATCACCCCGCTGCAAACACACGGCCGTCATAGACACATTCCCTTATGGCGTGTTCTTAGCACGACCGGGGTAAGGCTTTCCGCGTGACCGGGTATTGCCCGCAATATGTGTGTCCTGTCGGGCGGGAACCTATAATCTAACCTTTCGAGGTAGCACGAGTCGTGGGATCGGGCGAGGACCATACCAAAGAACTAATAAAATTGTGCCGTGTGGTCAACCTCCATCGTAGGGTTTCATGTGGCACTTTCCATAGTTCGGGAGGAGAAGGTTTGGGACGCTGGTTCCATAGTGTATAGGGACCGGGTTACAAGGCACATTTTAGATCGTCAAGGCGGGAGGATTTATAACGGAAAGCCTGGAAGATGCTGCTCTACCTCAAAAATTTATGTCGATAGAAAATTGTATTTCTGAGATTTACGAGGCCCGGCTCCCGTTGGACGAGTACGACTGGGCAGATGCTCTATCAGTATCCCTGGCTATCACGCCATGCGTATAGGTTACGCTAGGAAGCAAGGTGTCGGTTGAGTGCCCGGTCCCATAATCACACAATACCCGCGTGCCCTATAGCGTTCAGCGCCCCGTAAGTGACGTAAACCGATCGTTCCACCACCGTTCCCCGTGAAGCCCAGGGAAGACGTGGCCCGTATCATCCGTCAAACGTGATGAAAGGCAGCGATGATCACACAGGCTGAGCGCCCGACTCACTCGATCCTTGATCGCCTACTATCTGAACTCCAGACCATTAATCGCAGTGAAACCCTAGAAGGACCAAAAACTAAACTGATGGGCCCGCCATATAGCAAGGGCGGTCAAAAGCCCATTGGGGGGAAAGTCTCCCGGCTTGATCAGGGTGAGCGTGGTGCTGCACAACTCTCTTGTGTAGAATCTAATTGTGTAGAATGTAGTCGGAACTGACACATCGTCGCCCATCCCAAGGATTACTCGCATCAGATTGGCTCAGGATTAAGTCGAGAACTGGACACGTTTCATTAAATTTGGACATCGTCTTCCCCAGCTCGACGTTGTCTTCTGTCAGGGGCAAATCGCCGCAGGCTTAGGGCCTCGATCGAATTGCTTTTCCAAATATATCTGCATGGGGGATGGATACACCTAGGCCTCAAGCAAGCTGCGCGCGTATATATAGAATACACCTAATGCGCTTCCTCCACGATAGCATGTCGTTCCTCCGCGCATACTATCCGATGACACATCCTAGGTTAAATTCGGAATTCAAATCCCGATGAACTCGGGCTTTACCCGTTAAGGTATGCTTTCAACGGGGTTACCTGGAACCTTACACTTCAGTGCCGCATGGAGTTGAAGTATTGCAGCTGCCTCGAATACGCTTGCATCGGGTTGAGCGGCAATGTTAGATTGAGGGTCGTTTCAAGCGATCCAACACAGCACGTAATTGTTTATGATTTAGTGGTTTCGTACTGGCGTTACGGGATCGGTTGGACAAAGGGTAGTAAGGCCTGACGTTCACCTTAGCAACGGCGGGTCCCACTCACAATCTGGACATTCATATTCCTGTTATAGCCATCTTCCTGCAGAAAGTAAACGCACCGTTCCACTTAGACTTTGAAACTGTTCGTTCGAAAGATATAGCCGAGTAGCATCCTCCGGTCACCCCGACGCTCACTTCTTAACGCTCTGGCCTGTGCCCAATGTTGCAACTAACACCTCTCCCCGTGGCGCCAGGGAGCAATAACGTTCCCACAATTGGTTATAACCCAGATGAGGCGTGTCCGGTATCTATAATAGGGGCCCAAGAGAACGCCACGAAATTCCTCACTGAAGACCATTGTAACCAACTAGTTTTATGCTCCATGACAGCAATTGCGCACAAAAGCATTAGCATGGTTAATGATCAAAGAAATACTGGTTCATGTCCTATACAACATATCGCCTGTGCAAACGCAGGCATCAGCCATGAGAATTCGGTCTGTCAGGCTGGATGAATACCATGACTTCTGTTTAACCAAACAGTTCCATCTTGTGATCAGGTTGACGGTATGGCTAAGAGATCACAGCAAAAGTCGACGGGCCGCCACGCTTTTACGTCCTCGCGGCAAACACAATAGGTAATGGTGACCTGGTGCAAGGTCGAACGGCTACTTTAGGAGGCGGTGCGTGCGTGCTAAGCTAGAAAGGCCTGTAGGTAGGCAAGCCTAGATACAATTAACAGCCGTGCAGATGATCAGGAAGAGACTGGCGCCGAGCGTAGTTGCCCGAATAGTATAACAAAGAACGCGGATCGTCATCTAAGATTATCTACAGATATATATCTCCGACACGGCGACTCTGCGTGACCCGAGCTCCGTGTCGACATAAAGGTCATACCCCACGCATAGCTGCCAGCGACTCGTTAATTCCACCATGCATTAGACAGTGAGACATGAATCTTGCTTTACTTCACTGACCTATCTCGCAGGAAACAGGGCGGTCCTAATGCGTTCCACTGTATTCCGTTTCGTTCATTGGCTCGTCCTTGCCTGCCTTAACGTTGCTTCGATCACCGTTTACCATCGACCTGTGAGCGCAAATCTATTTGGCCACTACAAGCGCACCGTATACGACAAGCACACTCGCACTCACTAAATGGAGGAGGGCCCCCTCCAGGCTGGGCAGTCTAGCGATCGGTGTTTAGTATCTCAACTACCGTGCGGGATTAACGCTTGTGTGATGCTTCAAGGCCAAAGAGGCTCATAGGTTCGGCCAGAGTGAGGACGCTACCCGGTGGCTCCGATTTTATGTTTGCCCGAGTAATTCAATAGGTGCCCACGAAAACACTATGAATTGTATAGGCTGTGAATCCCCTCGTCGCCTCCTTGTCTTCTAGGACAGGCTTCTGGGTTTCCTCGGTGAACATTGCACTCAGGCCTATGACTGACCCCCGGTTTTCAACGCGAGTCAGTCACGACCCGTAGAGATCCATATAATCCATGTGCGAGGACACCACCCTTGAAAAGAGTGACACACGTTCGATAATTCCCTGATGTTGCAGCGTAGAGGAATCGTCGTGGTCCTCAGATCGACCGTGCCGAGAACACGTATTTCAGGGCACCTCAAAGGGGAACCCATCGCATTCGATATGCTATCAAAGCGCTACGTGGTTCTTGAGGAACCGTCAACTTAGTATGTAAGTTACATCAGCCAGACGCCGATGGGCAATGACCTACATTGAATGGCGTGTTTACCGTTACGCATGGAAATGCCATGATGGTAGTTGCAGAGTGTAGGACGCCGGTGTTAGAGGAGCGATTAACGCCGATAAATAGATTCCGTCGTATCAAATAGCAGAGGCCCTCATACGAGAGAAATCAGCTGACGACCCGTAGCAATTTAGATGTCGGTGTGTTGCGTGATGCACTTCATTGACTAGTGACTTTAGAGCGTAGAGAACTTGGCCTCACGGTGGCGTGATAAGATGTTGGTGTGAGGGGCAACCTTCGAGGTAACTCTACGATTCGTACTATGTGACTGAGATAGCATGCAATGGCTGGCACGATATTTGATCTGGCAGAAATGTCGGCAAACGATCAACCTCCTGCGCAGCTCAAAAGATCAATTGTCACCAGATTTAAGTGGTTTGCTCCGGACCTGCACCCTTGGATAAGTAAATACAATCGCATCGTCGGCCAACCGGGATTGACTTTAAGCATATTAATGCCTCTATCACAGGGCCCTTAACGTAAAAACCAACAAATGTTCCTCTTAATTATGAAGACACTGTCCGACGGCTGTTACAGATCCACTCCTAACACAAGAAACTCCCCTTCTCCCCAATCAGACGTCGGGACACTGCCAAAACATACAAATAAATTAGGGTCCGCGCCTTTAACTAGAGCAGAGGAGACCTCTGATGGTGACGATACGGTGCCAGAATGGCCGAGGCGCTAATTCCCCATTCGTCTCGTAGGTGGATGCTTCCCTTTGACGCCGCACGGACTCCCTGAAATGCTCTGACCACTGAGTCCAGTTTCGACGATGAAGTCACGTACAATCACAGACTTATCATCCAGTACGTAACCCGTTTGATCACGAATCGCTAGTCAGTCATGATAAGTACGCCTCACCGGGGATACGCTCACTCACGTACGGTGTGCTGCCTGATCCGACACTACTTCGTGCATTTAGCGCGCCTGGGCCGGGCTCAATTTAGTCCGTATCTGTTACGGATTATGCAAGCACTACAGTCTAGCTGCGTGATTGGCGGAGCGTAATTAATAGTCGAGGTAAAGCCGCGCACCCATCAGTCGACCGCAGAGTTGTCCAACTGCACACACGACGCGGCATTCGATGCTCTTTCAGACGAGGTTCGTACTGACGTACTACCTTAATCTGTGAATTGAAACTGCAGACTGCACTCCCACAAACTGCGGCCGGAGCAACCATACGTGGCAACCCATATTCGGTATCGGCTCTGGCGTTTAATGTTAAACGCGAGCTCCATTCGAAAAAATAAAAGATGAATTACAGATTGCTCTAGAGCAGCCTGTTGTACATAACCGTGGCGAAGAGCAAAGTTAGCGGCTTAATTAGGCAGCCCTGTCGCCTGTTCGCCTGTACGTGCAAGTGCGGGTAAGGCGGCGTTTGGCATATACTAACCGGACCGCCCGTGCGCGGACACGTATGCTTTGGTATGCGCATCGAGTTTTCCGTAAGGAAATAGCGCTGACTACGCACGAAGAAATCTTTGTCGTGTCAGCTGTCCACACCTAACATGCTAGGCGTCATACTTCTGGCCATCTCTGGCTGACCCCGACACTCTCGAGCTAGATTAACGTGTGCCTCCTGGACACGCTATCATTTCGGATCGCCCTTCATATTCATTATTTGCAGGACCAGCATGAGTATCGTAGTCGAAGTTCAGCTCCCACTTAGGATGGATGTACCGGCACACACGCTCGTATAGCGAGAAAAAACAATAGGAGGGAATTCAGGTCCACTACAGACCAACTACGGGCAAAAACACTCGGGAACTCTTAGGGGAGGCAATGAAACATGGGCAGTGGACTGTTAGGGCTCAGAGGGATAGGCCTCAGACAATATATCTGCTGCATGGTGACCGTACTTCCCGTAACTCACCCCAGAAGAGCCGACGACAATTAAAAGCCAATCCTAAGCGCATGTTGCACCGGACGGCATGGGGTCGTTGTATCTGTAGCCTTTATACCTCTTGTCCGTTTATCATCCTGAACGCTTCAACTTGGGGGCCGCTTCGTTTCAGGTCGACGTTTAGTACTTATCAGTCTCGCTATTATTTGAGGCTGCCAACCGTACATGAAAACTTAGATGCGTCCCGGTGCGTTAGTCATGTGACATTGTTTAGTAACCGCCTTGAATCTCGGCCAGACCGCGAATAAAAGATTGTAATTATGGGACCATAAGGTACTTGCGTACGCAGCATCATCCGGGTCCCGTCATTGTTTCAATGGCATGCAACCGGGTTGACGTGAATCCTGTTCATCGAGCGAATCCGGCCCGCACAGAGGCCGCTATCGGACAATAATCAGGGAGATTATTATTATGAATATAGACCTCTGTCACTAGACGACTTTTTTTTAGGTTAGGATGCGCCTTCTCCAATCTTCTCGTGATGAGGCTGGTGGCGAGCCTACAGGGTCATTTGAGTTTGATGGTTACGATATAGGGACCTTGGCGCTAGCTCAGTAGACACCGTAGGTGTATGGGTGTGTACCCAGTAATGCCCGACCCGACTGTACGGCCCGAGTCCTGGACCGGTGCCGAACCCCAGGAGGCTAAGGTCATCGATTGCGGTACATTGCCGAGAGGAGTAACGTAAACGGGCAGTTTATGATTCGGTTATCCGAATGTTGGGGGGTGGATTCCGGCTGAACGCTAGTAGGTCTCTCTATCATGCAATCGGCATGTGACGCCATTAGCAACACAAAACCCTAATGTGGCCAGGGGCGCCTACCGAACCTTGAAATCGCTCTACCCGGGAAGTTAGTATCATCGAATATCCTCGGGGGCACCTCCGTTCGACCCAGGTGTTGCTTTGCTATGTAAACGAAAATTCAAACGACAAAGACACACTGGGTCTCCGGAGAATTGTATGCTGGTACGGCAACGAAGGCACGAATACATTTTTCAACTGCCTGATGATACAACTCAAGGAGCTTTCTACTCTCTCATCATGTCTCTCGACCGTCCTGATGCAGGACATGATCATGGGAGGACATTCTTGTAGTACATAGGTAAAAAAGGCGGTTACTCGGTGGGCGAGGCGCTACTAGATGACACCTTTGATTTCCCATAACCGTCGAAAGCTAGTTAGACAGTTGCCAGTGCCCAACGCGTGTATACACAGCCTTCCACCATTGATAGAAATTGGATGCAAGCGGCATCCCGACGCAATTGAGGGAAATGGGTGACGTGCTTGTGATTATAGCTCCACTAGCTGTACCTACGCATAACTCGATAGGGAGCATTTGGATGTCGCTTGCCAGCTAGACTGTCCGTTCGTGGACGGACCGCTTCGCCTGCAGTGTCGTCGAAGGCATAATACATTCTAGCACTAATTTGATTTGGCTACGTTTTGTGCTAGAATACACAGGGATTGGGTAATTGTGGGCTACAGGTGCAGGCTTGCGAGGCTTCGCCGGGTTCCCACTCGTAAACCGGCCTGCGGTTAGGCTATGAGGATGAATGAGTACTCGTAAAGGTGAATTACCTTTCGCTTTCGTCCAGTAGCAAACATGGAGTTTTATGGTACGTTCACTAGCGAGCACGCTTATAGGTGCCCTGTGTGGAGATTGGAAGCCATTTGATTCTCTCCAAATTACGTTGTAAACATCCGACGTAAATTGCATACGATTCGGAATGTCCGCTCCTTGAAGCACGCATCAAGCCCTCCGACATTCCCTGCCCAAGATTGCGATGGAAACGGGTCTCCCTACACGCTATATCCGAGAGTTACCGCAACAGTACGACGGGTAAGTATTCCAAACTAAGTCAAGTATTAAATATAGCACGCGGACCGACATGCGGGCCAATTTCCGCAGGTATGCAGCAGAGCCTCGCGTACTCAATCCGAGTCGATCAAGTGTCACGTGAAACTTAGGTCGTTTCAAAGTGTACTCCGACTACACTGGGCTCGGAATCTGGATGCCAACCACTCAGATACCCGCTAAAAGAAATGATAATACCCGGTTGGCCGTTTGTAAATCGGGGGCCAAGCGTATACAACGGATCTTTGAATGTCGCAAGCAGAACAAAGTGAAAGCACCCAGCGCATCCAGTAACATTGCGCTGGCGATACATAGTCAATGGACGTCAATTGAGATCCTGCGGATGGTCACCAATCCATGCCGCAGCACGCGGGTAACGGCAGGGAATCCAATGTCTTCGACTACTGATCTATTAAATATATCCATGCTGGCCGCTGGTTCCAGTCTAGAGCCGTTCGCGATCGCGAGCCTGCGATAGGGATGAGCAGCACTTGCCCTGAAGCGGTACCTACGGCAATCAGCCGCCTGTATATTGACTGGGGACCACGCAAGCCGACTGGTGCTGCCGTACCCGATCTCTAAACGGTCTCCGAAATCAGAATGCTCCTTGAAGACGAACCATCCCGCTATGGTGGTGAAGGAGTTCGTTCCGGGACTTTCTCGGATACTACGGTCCAGTTCGCGCATGTGATGGCAGAGTCACGAATATAAGCGATAAAGTGCTGTGTAAAAGAGTTGGGTCTAAACCGATCGGGCCTACCTCATATTCGAGTAAGGGCGGTAACAACAATACCGTCCTCTGAGATCATGTGTTCATGCAATGGTCTGCGCTGCGAACTATAGCAGACTGTTCTGGCTCTGCCGAGGAGGTCGCTGCAGAATGTCGAATTTTACAGACCACTTCCACCTGCTGGGGCATAAGAAGCCTGTTTTAGAAAGAACATAGTCTCCAGTTCGATTTTGCATCCTGGATCATCGCAATGTAAGCTCGGTATTCTTAGATCTCATATGTGGGGTACTGTCGGGACCAGAGCGAAATGTCAGTGATGGGCAAGTCGGGGTTTGCTCGACGCTCGGGGCTTCCTCGCTCATCTACGTTCGGGAGCGCTGTTGTCATGAGTTTATGTGTGGGGATGTCAGCACTCCGACAATCCTATTACGCCTCGTGACAAGCTCGAATGTTTTGCTTCGTCCCTGTCGTTCGTTCGGCATCGGATTCACACGTACAGTTACCACCAGTTGGGGGACTTTGTTCATAAGATTGGATTGCGTGTCTGGGGTCCTTAGGACCAGTTCGCAATATTCGTACGTGGTGCAAATCCACCAAGAACGCCTCTCATTCACACGGGTCGTATAGTGGAATCAAGTTATATAAACATGCATCCTTTCCAAACGCGACCTGCCGGCTTATGGAAGTAACACGACACTCGGAGACACTAAGATTCATTCCCGATATTTCCGGGATCTGTCTTTAGCATGTTGCATCTATAGCTTTTCCAGTGTCCCCAGCGATTATACGTGGATAATTGAGACTAGGGTATCTCATCCCTGCGACCCTTCGTAGAATTGGCTCCTAGCACTTAGGGAACTCCAACCCTTGTACGAAGGTCCCCCAAGATCTTGGTCCACGTAGTGTCGTATCCTAGCAACTACCCACCCAACCCTCATGTGGGCTGACATATGAAGGTGGAAGGACTTCGTCGCGCACAAGGTTTGTTAAACTCTTGGAGACCGACCGCCCCGGAACCGGTACCCGAGTTATGATAGCAATGCGGATAATACGGTTGCATCTTCCGGACGCTGGGAGTCGACTCATCCTAGGTTTCTCTTCGCGTGATCAAGTTCTCCCGGGCTAAGGCATGCAAGCGTGTCGCGAGTTGCATTACGGTTGTATAAGAGGGAGCATTAAGGCCCGACAAGTGGTCAACCACACTAACTGCGCTTGGTTCGTGTCTTAGGCGTCCCCGAGGCAAATACCGCTCGGGTGAAGTCCAGTAGCAGTGTCATCCTGCACCTTCCCCCGCGAGCTTAACAACCGCGTAAGACGGGGAGGGTGCAGCTCTAGCCCCTGACGAAACCCGGGAAGAGCGAACGATTAAGAAACCATCTTCAGCTAGCTGCCTGGTTTCCCGAGTATAGCGCTCACCTGTCATAACCGGTACAGTCTATTGTTTCTGTATTAACACACCCTACTTGCGTTGCCCCAAGTCCGGCGTAATGGGCTCCAGCAATATAGCGTAAGACATGCATTCGGGCCCATTTTAACTTACATTCATGGTGCATATGCGTTAAGGACCGAACCTAGTGTATATTACTCGTTTCTTTCAAGCACTCCAGCGAGCACGCTGTGTCCTGGCCGTGGACTTCCACACCCCACGGATTATAGAAGTAGTCCGGCACTACTGTAGCAACGATTTACTCCATCGGCGTCATTGTGCAATGTAAACTGGAATGACCACGCCTATGCTCCCCCGGAGCTGAAATGCAGTTAAGTGATCCAAACGAGCTCCCACAATTCCTGAGGCCCGACAGGGACACGCGAGCGCTTACAACAGCCGGAAGTTTCTTAGCACAGAGTTGATAATTTTTGCAAAACTTAGCCCTGAAGTGTTAGGCAGTGGTGTCCTGTGTGGAACAGCTTTTGCTCACTATGTAGAGCATTAAGCTCGGCCATAAGATAGTGTGACCAGGACTAAAGATTGACTCCGTCTTCCTGACATACTTCATACTTATTAGCTTAATCAGCTTGTCGTCAAATGTTCGTTTTGCAACCTAAACCCGTATCTAGGCAGTTTATCGCAACCCTATTTCTAAGAGTTTGATCTAAGGCAAAATGCGTCCTAGCTGCCGGGCGCAAATTGTCCAGTCCGTTTTAATGATTCCACCCAGGTCCAGAGATGTCGATTTGGAGGACATCTCGTATGCGTAGTGGACGCTTGACTAAATAATGAATATGCAAGGATCTACAGTTAGAATGTCACCCTCATCAAACGAATGTGGAACCACCGGGCTTTAACGTCCGTCGGCTCTACTTAAATAGGGTCACCTAGGCTCGTGGCATCCGTTTCTGGTGTACATGATGCGATTTCGACAGTTCCTGTGCAAGGATGTTCCAATCGCGGTACATTCGCATTTGTATAACCTGAGACGCCTTTATCATACAGACGACGGTACCGACCTGACGTTCCTATGACTTGGCTTGACCCAAAGAGATCGGGAATTTTACACGCAAACCCACCTGAGATGTTGGATGTTAGTGTCGAATCCTGTCAATAGGTGGCGGGCCAGAGGTCGTAAATCGCGATTAAAGCGGTTGGGCGATGTTGCAGTGCAAAAACACGGATGCCGCCGAACGAAAATCCGTATCCTAAGGTAATGCATGTTTAGGCTGAGTCTAGATACGCAGGTGCCAATAAGAACCGAACCGAAGGCGGACTGAGGAGAATATCGAGTAAGACAGAGCGTCTAACTTGATTTTCCGTATGGGCTCGGCTCGGACTAAAGAATGCCGAATCTGCCGGATCAGTCGTCGCGGGGTTCGTACGGGAAGTATTGGACGTTGTCGGCGGCTACTAAGAAGTACGTCAGAACGACGTAGTTGCATTTTAGTATCTCGTCGTCAAAGCAACTACGGGGAATGATGTGTGGTCACCAGGTTGAGTAGGGACCCAACTCTGTGCGGCAGACAGTCGAACTGTATCAGGACGAGCAAATCACGGCGTCATCCGCAACCAAAGGCACCCATCTCTAGCAAACATGAGCTCTTTTTAGCAGCCGTTACTCGTTGATTCCTCGACGGAGCCAGGGGAACATTCTTATGTAGGCGGTACCCATGATAGTCAAATGCAAATCAGCCGATATCACGTCTGTTGAAAGTGCTGACAAGAGGTAGACGGAACCAAGCCGTGTCCATCGTGGCCTTATTTACAGGCGCGCAGGCAGGCCCTACCCAATATCTCATACATTTTTACCAATTGACGATCGCATTCACGTGCGAACGGGCCGTATTGCCGACGCGACTAAAAATATCTGTAGTAAGAAGGCCTCAAGCGCAACATGCGACGGATGGCACCAAAGCCCTGAAAACTGAAATTAAGGAGCATGAAAGTGGCATATGCTTGCGTCACCGTAGTTTGGCTCCTCTATCATAGGTCCTGGCAAATATGGCGAGTTGTCGGGGGTCTTGCCAGCCTCGTTCCAGCTTGTTTGTACAACCCTCACGGATAGAAGAGTCCGGATCGCAGATACCAAAGCTAGCTATCAGTATTCACCAGCCCCGCCCCTAGCATGACTCACGGGTATTAATCGCACTCTCCCGAGGGTACACACCTATATGCCTGTTGCCCTTAAAGTGCTCAATGGCTAAGGGAGTTATTTTATATCCCGTGGCATGCGTATAACACGCGAAACCTTCCAACAGTCCTAGGAAGGGGTTTCCTAATTAGGGAGACTACTTAAGGCCTATAACCATACGACACGTTAGGGATACAGTTGGGGCTCTAGGCAAGTGTGGGACTGGTACCCAATCAGTACTCCAGTTTAATGCCATCTACTTGTGAGATTGAGTTACAGTTAGAAAACGATATGCGTACCAGGGGCGTTATATCATATGCCCCCCTGTCTGAACATTGCCCTGCTCACCTTGTGAAGTTGGGCCTAATATCCGCTGCCGCGTCAAACGCAATGACAGACGTCGTATGTGCCGGCCCGCGTCTATATTAATCCTAATGTTCGGTTTATAGGAGATGCGCAAAAGCATTGGCGCCACCTTCCCTGGGGGTCGGACATAAATTCGTACACCAGGAATTGGGTCATAGATAGAACTTATCCTAATGTTGGGTACATTGGCTGTAAGGGGTGAGACCATTTGGGGCTGGAGTCGTTATCGGGCAAGGCGGAAATTAGTACTGGAGTAATTGCCCAACGAGCCCGGAGCCAGCTCGGTTTATGCCGTTTCCCGCACGGTGAGAACACACTTGGAAGTAAACAAGTCCCAGGATGCACTGAGGGCACGCAGATCCCCGCGTGCAGATATTCGGGACGTCCATTAGCCGCGTGCAACTCTTGCCGTTACTTTAGTTCCTCCAGATTCCATACCCGTCGACATTCGCATTAGCTGGGGAAGCAATATCACTTCGGGAAGGCAGTGGTAGTCCAGTCAACTCCGTATTCCAGTCTCGCGAATAAGTTAGATCCCATCGTAAACTTAAAAGTCGACAACTTACTCTCCGCAGGAATTTCTTGTATAAATCAGGCATTTTGGAGAATCGTATTCTATCCCGTCGGGCAACAATGTCAGCAATCTTCACAGCCTGCAGCACCTAAATTCTTTGCCTTCCACTAGAATTCATGATAGCATACGTCGCAAAACTAACAACCTTCATATGTATGACTGAGTCAGAAGTGTGCGATACCATTATCATCACCGGGTTAATAAGTCGATCACTGCTAAGTGAGGGCGTTCAGTTCAGATGAACTTCCCGAACAAAAGTTAAGACCGCAGAAATTATAGTTTTAGCGGGGTCCGGCTAACCCCTTCAATCATGACCCGCATATTCTGAACAACATTGAGAACCAACCAGTGCAGGCCGCTATCTCGCCCCAACAATCCTAGCGATGTGCAACGTAAGCAAATTCCTTCCGTTTTACATATACAGCTTTGGTCTCAGCTTGTCGTATAAACTACCTGGATGCGCAGACTTGTCTTTTGAGGTTAAATATCGAGGCTATTCATTGGCAACTGCCGTATTACAACTGCTGAATGCCACGCTCCTTGCGGAGGACAGTGGATGTGAGTTACGACACATAACGGAGTGACTTCAGCTATAATCGTGAGTCCTCCGCGGTGTGGCACATCAAGCGCGATCAAAGGACACCTGGTTTCACCCTCGATGCCGAGGCCAAAGGAAGTGCCGATTTTATACCTTTGAGAGTCGAATTGCTTGACAATGTGCATGTCGACCTCGCTTTTCCCGTTATCGGTATGACTGCTGCTCCGAAGACTAAAGTAGCTCGTCCAGGGCGATATTCTTTCTCGTATGCACTATCGGACTGTGCAAACCGACTTAAGTTATTCGCTTATGACCTCGCGAGCATAACCCGGCACATAACCCTTTGAATCCTTCTCGATTTACGCAGCGCTCATGCTCCGGTGAGATTTGGACTAACCTTCCGACATGTGGCTGTCGTAGCCCATTTGCTTCGGGACCATAATCATCGCCTCGACGCTTACACTCTTTATTCGAGTTAGGACTGCGCAGGTAGTATCTCGGACCTACAACGTTGTAATTGACTCTCGCTGTTCCGTCTCCGCCCGGGAATATAATAAATAGGTGTTGTGGTTAGCCACTTCGGCAGGCTATATTTCCGAAAAGGAAGCCTCGAGAAGTTCCGTGTATGACGGATCGCTTCAGTGGAGCGGCTGCGCGAAGCTCTGCGTCTCCCATTCAGATTGTTTCACGGTCACGCATTACGCTGACCCACCTCATCATTATCCGGCTATAGGCAGGCAAGTGGAACGAATTACGTAGCTGCTGACATCCCTCAGGTGCCGCATGCGTCTCTGGAACAGGATTAAAATTCTAAGCTATGACTGGTGTTTGTCCCGTCACGGAGACCGTAAGCTCGAAATAGTCAAGTGTCGGGTATCACGGTTCCTCGATTCGGCCAGGTAAAGGCGCCGTTCTGGTTATGCGGTGGGGCCCAGCTCGACGGCCCTCCACTACAGACAAGCATGACAAAATGACGATAGGTTCTCGTCCATGGTTGGAACACGCCTATGGCCCGTGGTGCAATCGGCGCTGTCACCTGAGCACAGGATGTTCAGACCTCTCTAGGTTGGGGTTACATGCTAGACTCCAACCAACTGTGCAACACGAGCGAGCTCGTACAGAGATTTTCATATGTCCCTCCTTGAGCAAATACTCCAACCGCCTTGTCTTCCGTCGGATCTGATGCACCGCCTATTAACATGCTACGGCTTTGCGTCTCCCGCAAGGATATTACAGCATCGGCCGCTTAGGTCGTACGCGAGCACCATAGCTGCACATACGTCCACTTATTACAGCGATTCAATCCTACCGCTTTTTGGCCGCCTCGAGCGCAGCGCAAAGGAATTCCTTCGGTAGGGTCCTCATGTCGATGCTGTTGGTCCACGTCATGGCGTTCCTCCCCGTTTAATATTATCGCTCGACGTGCTCATATTATTTCCCCCACTGCAGGCACTGGCGTTTGCCTCTCTGTCAGATGCAGCTCCTGTCCTTCCACGTTGCATCCTTGTCCTAGACTCATCGTAAAGGAAGTGGCATTGTACTGATATTGCCTTAGATGTAATGAGTCCTTTACATGATTCCAAAGTATTCAAGTTAGCGTCCACCACGATACGCCGTTCTCCCTACTCCGAGTAATCCTGGGATATCAATCCCTTGTAACTGCTTCACCGGCGCTATCCCCACTGTCCTCGCCCTTCACTGGAGACGGATATTAGCATGTCCCCCCACGTGTCTCACATAAGAGCTGTACTGTTCTCGATTATACGGAGAGTTTACTGTCCTCCTTTTGTCAGCAGCGCCGCCGTCGCCAAGCTAAGACTGGCCATTAGCGGACTAGGGGTATGTGTGTTACAGACCCGTCTGTGAATCAAGGCAGTGAGGATCGGACCCGATCCGACCGACTTGACAGGTTATCATCCTTTTTCTAACGGTTTTCCTGGGGGATTTGTTGAGCAAGTCGTTAGCTTTTGAGCCTCCTCCAGTGAGGAGTGTATGTAAGCTTGGCCAGCCAGTTATTTAAGCTAGTTTATACGCAATCCCAGACCCGCGAACTCCCATACGAGAAAGGGTCTCTGCTGAGTTGTAGCAAGGCGTTTCCCAACTAAAAGAACAACAAGAATACACAAATACGGGGGGGAGCTATTCTAAATCAGCTGAGTCATTCTATAGTATGCAAAATTCACGACAAGCTGCACAAAGTTAATGACGGTGTTGACCGGGTGGATGCCTGATCTGCTATCAGAGGAACTAAGGCTTGTCTCTCCATGGAAGTGTCGCTAGTAGATAATCCAAGCGAGGCGAACAACGCTAACATTCCATTTTGACTGAAGTTGCTTCCGCTAGAATGTAGATCGGTAGTAGCGTCCGAATGATACCCTTGGTTACGTACCGTCAGTCTTGACATCGGCGCGCACCACTGCCCACAAATCACTTCCAACGCAAGCGGCAGTTGCTAGCCGTTTCGCTTGTGACAGTGCGATGTTAACGGACTCGGGAAACTTGGCGGGGTTACGTAGTCTGCAGCACCGGCCTAAATAAACTTATGACTTTTTATGAACTCCTTATTTCCCGTCGCAGGTAACGGGTCGAAGTTCGGTGGCGAGTTTATCCTACTTCGTCATTAGCCGCGCACTCCTAACCACAGCACCTGAAATCTCGCCAATGCTGGATAGCCCAGAAAAGTAAGCTTAGAACCTTGCTCGGCAGAGAATTGTTCAAGTATAAATTCATGGACTTTTAACCACGGCTCTGCGATCCTGCTGGACTTGCCATCAGCCCGTTGTCGGTCTCAAGACCTCCTCCAACGAGGACTTTACGGATCTCGATCCGGGCTCACCATCGGTTCTCGTGAATTAAAGTTGTATGATACGCGGTAAGAGCGGGCGATCGAGTCCGACTAATCCCCCAGTACTAGCCCTAGAGCAGCTTGGCGAAATTGTTTCGGTTGAGTGTAGTAAGGATCAGACGATCAGACGACCTAACTACCTTACTGTAATCACAATAAGTATCTCGGCGATATACCAAATACAAATTATTCGGCGGTCACTATTCAGTCTACTTTCCATATCGGAGCGTACGCTAACTCTAGCGAGCGAATCTGCACTTGGTGATGGTGAATCTTGCTTAAGATCGGCCAATCTGACCTTGATAGGCCGAACTTCCTATCCCGTGGCGTCGTTCTACGATGGTAGACATGAATTTCATCACACTTGCTTATGAGAAGGAACTTAGGTCCCCATGGGCCTAGCGTCGTCAATCCCAACACTGTAGTTCGCTCGCGAACCGCCCATCCAGCCCATCTGAATGCATCTTCTCAGGGTGGAGTCCGGTACGGGTAATTAAGGACCTGTCGTTGATAGCTGCAGCAGCGGACCAAAAATGAACCTTGCAGACACGGGGCGGAAGGTTCCCTGAGACCGATAGTGCAGAAAGGATCTGAACAGTCTTCATTATATTCCGCGGCTAAAGATAGAGCAATAAACTTGGAACAGGGGGGCGAGTCCGGTCAGCGAATATCAGACAGGGCCCCAGCGGTACTTTTCGCGCTATATCCATAGACTAATAATCAGTAGGGGTTAAACACGTAGCCGACCCTGGGAGGTAGACCAAAAGGCCGGCCACATATAAAGTGGAAAATCTATGGGACAGGGGGTCAGGAACGCCGGCTACCTCACAAGATAGAGAATCCCTAGGTTTTGGATGTACGCTGCCCTTCTCTTCTGCGCTGCTACGAATAGGACCTGATCGCTGTCATCTATGCATAAAGGAATCCCGGACGCAGGAGACCATCGCGTCAATGTTGCCCATATAGCCAACTAGTGATCGTAATTGAGTAGACACCGAAATCAGTAAGTCCAGTGTTTCCTCGTACGGTTCAGAGGCATCTACTGGCCCTAAACTGAGATACAATGCCGAGTTAGGACGACGCGTTGAACGTCACGGGACTCGCGGAAATCCGTTGCCGTTAGCGTGTCCCTTCTATTGGCAGTGTTCAAGGCGACACCACTACGAGTAGCGTGACGACAATGTAAACACCGTGGGCTGCCTGTACTCTGCCTGCCCTTATAATTAAAGTATAGATGCATATCTTTCGGCTACCCCTTACAACATTTGCGATAGACCCCTGCGATCGGTGCATATCCTATCGACGTCTGGTACGTCAGGGTATTGCCAGCCTACCCCCGTTAGCTGGGATAATCCGAATTCATTCAGAGTTGAGGGGACAGCGTCATGGGCTCCGTGCTGTATAAGGTTGTCATTTATAATTGACGGTAATTGTCAGGGCCTTCTGTAAAGGCACTTTGTCCCATGTTCTCCCGATCAGTTGTCGCTTGGTTTGCATCGACCGCGTAAAACTCCAACAGGATGACATTCCGGCTTGCCACCAACAGACTAAATAACCCACTGACGAACTATGAATGCAGACCCCGTCTGCGCATATAAACCCCAAGGTGACTGGGGTTAAGCAGTATCCCATATTTAGCTTCTGGCAAATGGCCCGCTCTCAATATGACTGCATGAACACCTCTTTGCTGACGTAACCTACCTATCACGCTACGAATCATGATCTAAGCCTTACTCTGCCAAGTCGTAGCGCATAGTGAGGTTACACGAACGGCGTGCGGGCCCATATTATAGACATGTCAGCCTCATTTCTGGTGGGTAGACTGCGCCGTTTTCGAATGTCAGCCCATAACATGCGGGACTCCAGGGCAGACCCGTAGCTTAAGCAAATAGGTTGCGGGACTTCAATAGTTTAGACAAGTGAAGGCGCTAACCGGACAAATGAGGCGTTGGCAGTTAATAGTCTATTGTTTTCCACAGTACCTCTTTCTCCCATGAACCTTGTCATAACCGCCGCATGTCGATGGCACTCCTCGCCACGAGACGATCGTACGGTACGAATGGAATTATCCATCTGCACGCCTAGTCCAGGTCAGGGGAGGGTTGTGAGAATCCCAAACGGTTAAGTAACAGAGTTAATAGTGGACTCGGACAATCGTATCGGACCGGAGGCGATCGCGCAGGTAATCGCCACACTTGGTGTACATCTACTCCTCGGCTCCCCAATTTACGCAGGGCCCGAGAAGTGTAAGGCATCGCCCTTCTGACTAGTCGCTTACACCTAATCGTACGTGCACCGGATGATGTAATAACTGCACGCAAGCTCGGGACAAGAGCGACAGTCAATTGTGGATGTCGGGACGGAAAAAAACTTAACCGTCGCCCCTTATTAGGATATATAGCTAGCGCCTACCCAACATCAGGCAGTGCAGACGACGCTGTAATGGCCTCTAGCAGCACCGAATCATTCGAGGATGAATAGGAGGCGATCTCTCTCAATTTATGACCCACCACGTGCCGATTGCTAGGGGCTGAAGGATGTACGATAAATGGGTCCCTGATAGTATATACCTCTTCCCGCCAGCCACATTTTAACACCCGCTCAGTAGTTCGTAGTTCGATAAGTACACCCAGGACATTCGTGTCAAGATATTCTTACCGAATGCGGTCACGACCCGGGTTGATCAGGATAGCGGACAAATCGGTTCGTGAGGTAACTGTTCAGCGCTAATTGAGTTCCGTCAAGCATACAGTTTAAGGGTGAGCGTCCGCAGGTATTCCGTGGTCATCAAGCACGCGGTCCGGGGTGCATTGTCTTCGCTGTTTATGTTTTGTCCGGCCGCGCTACCCGTAAGTTATGGCCGGAGCCAGACAAGCCGATGCTCTTGTGGGATTCAATCCATACTCGCGTTCACATACAGAACGCGGTAAATGAGTGTTTAAAACATTGTAAATGACGGCGTGATATGCGATGTGAGCTTCCTCGCCGAAGGGCTAGTAGACTTCGTCCGCCTCGTAACCTACAACCCTCTCGGTGACTGTAGCACCAACGTGCTAATGACGCGACTCTTGCGCGGGGCTGAAAGCACGGGAAATATTGAGTTCTGTCACGAGATTGAGTGACCTTCTTTACGGTTAGGTGGCGATTGCTATGTGGATCCTGCTACTGATATCATTGCGCAGCGGGGCCGAAGCTGTTCTTTAAACACTCTCCGAGTTTTCTGTATGTCATACGCTCTCGGCCCTCCCATGGCTTATATCAGTGGAGGCATGTGAGAAAACGAGTCTTCTCGTGCATCAGGGTCCTATTCTGATAGACGACAGACGCCGTTGATGGGCTTTGACTTCCGCAGTTGAAACGGTGATCTTGAACATGTCTGTGGTGCGTACACAGTATGGTTCCACAAGAAAGTGGTGTTGTGCCTCGATTATCAGGGACTTGCTGGCGTACACCTGTTTCGGACCGGTTTGAGGTAAGCAGTTAGAGGCATCCGTTAGGTAGCGCAACAATGTCAGATTCATACGTCCCGCTACGATTACTGGGTAGAGAAGCCACCTTTTGTATACGCCCTACTCTTTGCAAAGTGCATGCGTAGTCTAGTTTTGGAGCACCAACGCCACCCTTAAACATGGCGGTTGTACCTCGGTGCAACCACATCAGGCGATAGGCGGGTTCAGGTGCGGTCCCGCGGCCCTCAGACGAATTTCAGAATGCATTCCTCGCAGCCCACGGTAATTACGCACTGGGCGTTGCTCATGGTTGCACAACGGCTGTTTTAGACAAGAGAACCAGCAGTGGAGCGGTCGGCATAACGGTAGAGACGCGTTTCAAGTCGAATTTATATGGACAGATGCACCAGGACTGGGATCCAGTTGAAAATTCCGCTAGAGGTAAGCGGGGCCAACCATGTGGGTACTTGTCACCTCAGGTAGACTACAATACTTGATGCCGACCTGCGTGTCCTCGGCTGTGCAGGTGTATCCTCTTCTCACTTAGATCAGCACGGCATAATGTATCCGTATAAAGCCAAGAACCACAACCTACGTTCGACGCACCCGCGGCTGTGCCGACACTACTGCCGCGAGTAGTGCAGCCGGATATGCGCAGAGCTACCAACACTTACAGGGTGGCTACCGGCTAAGTGCCTGGCCCTGAGGCTAACCAGTTGAAAAGTGGATTGATGAGAACTCGTTAAGTAAAGGGACTCCACACCATTTTCCAACCATGGGCTGAGCACCAACGTGTTCGGATTGGCTTGCTTGTGGCCCTAACCCAACGCTCATCAAGATCCTTGGCTTCAACTAGTTCAATTTGGTGACCCAATGAGTGATGCATTTTCGTGAGGCAGTGACTCCTGATAGTGATGTTGAGATAAGACTCGATAACTGCTACGACCGGACGGGAGAAGACTTATAGAAATTGGTCTTTTGATAGATATACTCTATTGTAGGTATATGGCTCTTCGCAAAACGACACCGATCTGCTACCAGTCGAACCGCGGTTACAAGAACATAAAGTACAACAAATGAGCAAGTTAGCATTGGTCCAATGCGCCAAATCTATTGCATTGATTTTATGAGGTGAGGAGCGTCACTCGGTCGCAGACCATGGGCACGCCCACAACGGCCCTGTCCACCGACTACATTGAGAGAATGAAAGAAAGGTTTTACGACGGTGCCTGGACTCGCTAATCGGCTTCCCATCTCGAGGCTTACCCCTTCCCTGTATTATCCGGACGGGTCTAGGACCGGACAACTCTGCAAGGCCATTCTTAGCCTGCTGCCAGAGACCGACATGGGCATCGAACACTATTTTTAAAATTGGTCGAATCTCCGAACTACATTACTGATTCAGCAATACTACAAACTTGCAGTTACTGCTTGCATGGCGCTCGACACGACTTGTGTGCCGCTGTGGTAAAGCCCCTCGACCGTATATAAAGCGGTCTCTGCTCGGAGAACGGCGACCACAGGTGCAACATGAGCTCGGAGCTATGTAGACTTGGCGCAAGTCAGTCAATCCCCGATTATAAGCTGCGGCGCAACCGCAGGAAAATGACAACGTAAATAGCTTCAATCAATATACACAAGGTAGCTATAGCTGATTGAGGTGTGTGTAAATCGGCCTGACGTAACACCTGAACCAGTAAGTAAGATGCGGAAAACCGCACTGCGCTCGACGCGCCCCTCCAGTAAAATCGCCTTGACATGTGATGCTCCGGTGCCCGGTGATAAGCGCAGCGGCCTTTTGGAACTAACACATGTTGTGAGGTTGTATATGTTCTAAGACCTTTTCTAATTATTTTCTTTCCTTTTAGTTAGCCGATGGCCTAATTGGGTAATAGCTCATTCACATGGTATGTTCGAACTAGTGCGGTATACGTACCGGCATCTTGCGAGGCTGGCTTTAAATTGGATCAAGGCACAGGCGACACGTACACCGGTATCATGGTGTATGAGCATAGGGGGATGATCGACGCCATCTGCCACTTTCTAACCCTTCGATCAGTCTCCCAGGCCTAGCGCTGGACTTCTATCCCAGTATCGCCTCCTAGTGCTATGAGCGGCGGAGTTAAATGCTAGAATAGACTTAATTATAGCGTGACTTACGAATATTCGCAGTCTCTTACCTCTGTGCTGTAAAGGGCTTATCGGAAGCCACGTCGTGCCGGGAGAGATCAACGCGGAGGTTAGTCTAACCCACGAAAGTGGATATTGCTAGCAATTTCTTGTCGATGGATGGATTGTGGTCTAGCAGCCACAGCCGCAACGGTGATGCGCTCTGTGCGAAGAGCTCTATTGTTCTACCTGGTTACAGGCAATTGAAGGCATGATGACGTCGGCTGAGAGAAGACCCCAATACTACAAGACCTATGAGCAAGCGGCTTGAAAACGCCGCTCACACTCCATCGCCAGCAGCGGGTGGAACGTGAAGTTGCGTTTCTGGTGGCACAAGGCACGAGAATTCCACTATGTGATAGCCTTATGCTTGTGTCCGATGTGCACCTCGGCATGGGGCTCCTGAGCTACATTGACCCTCACGCAGGCATTAATAACGGTCTACCCTTTAGCCACCCTGTGGCCATTTACAAATCCGAACGATCAGCACAACGCATTCCGACTACGCAAGTAGACCTTGATCGGAGTTAATCCAGGGCGCTCTACCACAGTGCGGTATCTGAGCGGCCGGGCCGGTCGTTGTTGACAGGGAGCCCTCATGAGCCAGGTGGACCCGGGTCGAAGGCTCTTGTACGTGTGACCCGTGGGAGTTATTAGTCTGAACATGGCTTCGTCAACGAACTAAACTTGAAGCTAATTAGTGTCAGAAGTATGTTCCGGAACCATGCTTTGTATATCGCGACCGGTTTCCCTGCCGCCCATACCACAAATAACGTTGGAAGTTTGCTTTAGTGAGTGTACGGCACACGATTGCCTTCCCCGATGTTTTCTATTTAAATTCAGTTCTGGCGAGACTGCCTCCAAGAAAATAAATCGCCGATCGGACTAAGAAGCAGCCGTCGCCGGCTGTGCGGATAAGAACTCTGTAAAATTTGTAAGCCGCCCTTCGATATATTTATTTCTAACTCGTGGCGGTGACTTCAGTTAAATGCGACTCCGCAAGAGACGTGCAATTTTCCGAGTCGAAACGGCGGCTTGCCCGAATACTAAGATTTCTATAGACTTACCAGATCGAGAGACCGAGGTTCCAGATAATGGGACACGTAACCTGTGTATACGACGTTTACTGTCAACTATTATCTCCCGCCCGGAGTCGTATGCCAGATTTAATACAGTAGGGTCCGCAAGGGTGCCTCAAGATTGAATACGCTGAATGCTCATCGTTGAGGGATCTACCTGTATAAGATCATCAGGAATCGATTTGCAAGCCATAGAGTCCAGGAGCCGGCAGATGAAGAGCCCTGACGCATCTAGTGATCTCTACACGCCTAGGTCAATAGCGATGAAAACTGCTGGCTAACCTAGAGTAGTGCGAATTGATCCTTATGGCCGTGGAAACTCAATTACAGAGGCGTCACCTCTCTAAAGGGCCATTATGTCATACACAATACAACAACCCGCGGTGGCGCTCCAGCATTGGCGCCATGAAGTGGGCACGATCTACCACCGTGGTCTGCACTCGGGCATCGAATCAGTCGGATCAAGATACTTCCATGGGGCCCAGCTCAGGACAGCTTTTACGGAGATTCTGCCGATATTTTCAACGGAACGCGGACTACACAGGCGTCCAGAATTCCCACGCGCCGCGTCCGATGTCTTGTTCGACATTGACGCTGCACAGTGCTGCAATCGGAACGGGCACCCCGTGGTTTGACGAGTGTCAACTCACGAACTACTATACTGCTAATTAAGTCTAGACCAGACTTTCGGGTGTAACGATTCCAAACGCTACTCTCTAACGCTCCGTCACTCTATCGCCATATACTTGGTTCCGCAAGACTGCTGTGTGCATTCGGGCGTCTTACAGGGACCATCATTCAAGAGTGATGCGAACACAAGCCTGAGCGAAAGCAATTGCGCCAACCCGTGTAATGGCGGCCAACATAATGCGGTCAGTGTCAGCGCTATCACATGATAGAGTGTCACCGTACCCCCCCTCTGGCACAAATATTCCAGGTCCACCCGATTTGTTCGTCGAGATTCATGTTATTGGACACCTTGCAGGAGTCGACTCGTTGCGGTATTCTTTTTAGTTTCGTACGCTACGCGCGAGCGTTCCCGTTACTCAGTCGCGCATCCATTGGACCATGCTTTTTAGGAGGGCGTTGTAGGCGCGAAGGGTTTGTGGTCGCCGGTTCTGGCTGCGGGACTAGTAGCTTGATCAGTCCAAAAGAGGTCCGAATGACAAACATTCAGTGTGTCCCATGCCATCTTGATTAAGGAGTGCGTCCTGGTGTCAAGCCTGGGCTAACTCTCAAGAGGGGCCGGAACATCGCAAGGTGTCATAACGTTAAGAAAGCTCTCCTCTCAGTTCCCTCGCTACGCGTCGTGCTATCGACTACGCTGGGAACGTGGCCGATCTTTACTGGCGTTTTAAGTCGACCACGACGTAGCCAATATCTTACCGCGGAGCGTTTTCGCCTAGTGTACTCCCAGGGTCTTAACATAGTGTCGTCATAAAGATCGAAGAAGGACAGGCGAGCCCTGTGTGTGGCCCATACCGGCTGGCCTGCTGGCGGTCATCAATGTCGCGCCACGTTAATCATTTAGCTCAACTTTGCTAGAAATTATATAAGCCGGCTTTGTTCGCTTGATATGCTTCTTACCCGACTGTATCACGCTGCACACGGCGATGCTAGCCCGTCACACGTGCGGGCGCGAGGTCGCAATTAGTATACCAGGCGCTTCCAGGGTCGAATCAGGCTGAAGATTTACTACCAAATATTCAAGAGCATTACACCGCGTGCTCCAACAATGCGAGCTACATTGCACGGGGTTTTATCGTCGACTATTGGACACACCTGTATGAGACGCCTACGGCTCCACCCTCCAGGCGTAAAAGGTGTTTCCTTGTGCGTACGGAGACCCATGTATTCAGACTCACCGCCACTCAAGTGGCCTCATAGCGCTGGTGCTAAAATGAGTCCCTTGCTATGACAAGGGTCTTAGGTAATCGCGATTCAGGTAAGCAAGATGACCCGGATGCAAACACTCAGAAGGCCCCGCTCCGCACTTGGATTCGCGTACCATACGGGTACATAGGAAGTTGCGTGACAGTTACTCCAGCGATTGCAACGCTGTAGGAGCGGGGAACATTCGTGGACGCGAGCAGAAGCATAGGAGCAGTACCAGTAATCAGCGCCGGGTTATAAGGACCGAGCACTACTTGGTGCTAGACCAGTCCACATTGAATAGGCCGGCAACGGCACATGGTGCTGGTCTTGCGCAGAGAGCGGGCGGTATACGATGTTATCACCTGAGCATCACAGAATTTAGTGTGTGTGGCGGCACTAGAGAAATTTATGAACTAGGGACTTCCTTCGCTCTAACAGCAAGCGGGGCATTGAATACCGGGCTCCTGAAGGCCAAATGGAGACAACGTTACTTCGGGAGTACGGGAGCTCCAGAGAACCACTGCATCTACCCCGTGAAGTTGAAAGACGTAAATGAGGGGATATTGAAGAAAAGAGTGCTGTAGATGCTGATCCAGTAGTACCCTCACCGACCAAGCTCTCGTAAGTGAGCGTTAAGGTGGAATATCTCGGGTACTTCGTATGTAAGCAGTAAACCCTCGGCAAGATTCCAGTGGGAATGACCATTTGGCCCCATGAATATGCCCGAAGACTTAACGAGCATATGCATGCAAGCAGTCCCGTACAGGGCAACTTTCCTCCCTCGTAACAAATGGGCTGTTAAGTGAGGGACTGCTGTGTGCTGCTTGCAAGGTGAAGCCCAGTTAATAATCCCATGAGTTCCTAATGTTGTTACTTATAACCCTATCAGCCCACACGTGGATTCGCACGCCGAGGTCGTCACCGAGACCGGGAGGCGATGGCTTTCTGCTGATCTACTCAGTGCAATTTTGTTGCGCCCCGAACCGGAACGGCAGCGAGACGCACACTGGAGGCCTCGTAGTCCTAGGGGGTCTTTACCTAGAAGGACTTTGGAACACTATTAGGGACCCATAATCCATTCGTATAAGTGGGCCAGATATGATCAGAAGGTGTGGTGGGGATAGTTCCGGTCCCGGTTAATGTGAACCTTCTTGTAATAGACGAGACACGCAGATGTCACGCCAAGTAACAATGGAGGGCTTTGGCCATTATTAAGTAGTGGAGAAGTAGGGATGCACCAGGCTTGTGCAACATGAAAGGGCAATAGATTAGGCCACGACCGACACAAGTTTCGGAGCTATTCATTCAATCTGCCTCAACAAATTTGCGACCATAAGAGGAGGCATCGAAACGTATATCTCACGGACGCCGAAGACAACTGAGCGATGTGACGAGGAGGTCCAGTAGGAGTTCAAAATAGAGAGCCGGACCTAGCCTACTTCCACACGAGTGTTTGTTGACCGTTATAATAAGAAACTATCGTTTTACGCTGTATGGGACCTCTGTGCAGTCACCCCTTACACCATTCAGCGGACCTAGATCGGTAACCTCAAAGATTACTTTTCGGCTCGATGCTCAGGGTCTCAGGATACATCGATGATATCACATCGCTCATTTCCGTGTCGGGGCTCGCATTGAAGAATTTCTGTGGAGGCTCCTGACAAATATAGCTAAGATGAAGGAGCTATCAGAACAGGTACTTACAACCACATGGTAGCGCCGTTAAACGCTGCGCTTAGTTGGGCGACAGACACGGGTCCGAAAGAACCTACTGGGACCACACATCAGCTGCTTTGCTGCAAGCTCAGTTTGGCTATCTAATTGTATATAGCAGGCCACCCGCCGATGATTAGCCTCCTTCATCCCAACGGACCTAGCGGATAAATCTATGCCAGTCAAGCTCCACGCGTATCCAATAGCGACGTGGGCGCGCCTAGAGGTAAGCAAGCGGACCTTAACGTGGTAGTACGTGCCATACATCGCATTTAATATATGCTTGTCTGAACTCCAGGGTTCCTTTGAGGGAAAGGTAGCGTGAGTTCCCTAATAGCCGGATGACGTACAATAGAATGATGTCAAATAGGATCCACAGGTTACCCTTGGGTTCCGACGTAGGGTGCGAACAGAGACATCAACACGCTACCCAGTAGTTCGCCAGATGATGTCCTTTTGAATCTCGATCAGGGAAACTGCAGAATCTCAGATGGAATAGCTACGAGAGCTGGCGATTACGCACAAAATGCACCAACCCACTCCCCGCTCCTTGTCGTCGCTACGTTTTAGTAGTATAACTTGATTAGGGAGGGCATTACGAAGATGTGTGGGGGTAACACCATTATCCTGAGCAACCGTGTAAGACACAGTGATACACCGGATGAGCGTAATTAAGGCATGTTGGCCGTACCCTAATAGATGTCCGAAAAAACACGTCTTTTTGCTAATAGGTAAGCTGCGCAGTCAGGTAAATCTATACTGTTAACTGTCGATGCACTGAGTATGGGTCTAACCGTGAACTCGGCATGCCTTCGGTCGTAAGTTCAGGCATGAATTGCGAGGTACTGAGGAGGTCCGACTTACTGGAGCGGTTCTGGAGCGCTTCAGTGGCTTTACCCAATTAGACACGTGCGCCGTTCGATAAACTTACACGCACCAAACCGCGGCTGCCTAATTGGGGCAACTATTTTAACTCCCAGCCAGATCGTTTCTTTGAGGCGGGGTTTCTCCCGGCATGACTTTAATGATCGCGCATGTCAGAGCGGGCATAAGTTTTTGACAGTTTGATTACATATCATGGCGACTAGTAAGCTTACAGCCCTGAAGTGGCCGACTATGTATGCTAAGATTTTCGGTTGCGTTGACCACTCTTATTAAGTGTCAATCAACTAACGGAAACCCGTGTCGCTGAGTCAGACCTGCATCCCACCCCGTTGTTCGCATTTCGATGCAGCAGTGTAATCGTGAGCTCCCCGAGTTGTAAGTCTATTAAAGTAAATCCCATGCTGACCCTCAGGTATAGATTCTGTTTCCGTCCGGCGGGAATGCTGTGGGCAGGGGCAGCGACGGTCCTGGCACTCGTGGTGGTAGTAGGGTGAAAGACTGCAATACTGTAGCGTACGCACATTGTTGGGTTTACTCACCAGATTTCCCCGATTGAGGGGAACCTCACTCGCAGAAAAAACCGTTTTGGAGCGCGCCATGCCCTCCGTGTACTTGGTCAAAGCCACAAAATGGCGCTACATGGGGACTAATGCATTTTTGCTGGATAAGGCACAGCTCAGAGGCACACAGGACTGGATGGGACCGGTTCGATTTGCGGCTAAAACTACTTCTGGGCGAGTCCTCATGCAGATAGGCCACTGTTGTTGCTCTTCCAAATAGTTGCACAGGCTAGAGTTACATGCCTCGGTCGACTGGCACTAGTGGACGTAAGTATCTCTCTCTAAAGAGCCTGCTTCCTATAGAGATAATGCTTTCAAACACTGATGGCCTAAACCGATCTCTCCCTGCGCTCAGGTATCTGCGCGGCTGTGTAGCCTGTACAACTGCACGTGACACTTGTGAGCGGTAGGCGGGTCCCGAGTCTTGCCCTTGGGGCTACGAAGAGCACTTGTCCTGCAGTAGAAGGTCATGTTGGACCACCCACCAGTAACGCGGTCAATTGTGGTTGCGCTGACCTCCAAATGCAAGCTAGGTGTTGGGCCGTATGGGGTGCCCCACCTTGCAAAGCGGAACTAACTACACTTTGAAATGGTCGACTGGAGACTGGGTGCGAACGAGTATCGATTCATATCCCATCGATCGCGGCGAGGACGTTGCAGACAGTAGTTTCGTTCACAAGCTCTGAGATAGTGGGCTCTTAAAAGATGTCATTCGTAAGCTATCTCCTCAAGTGCAATGTCCTTGGCCCTGTTATGCCTGTACGAAGCGACCCAGTGGGGCACATGTACTGATGTGATAAACGCGGACCAGCGCCCTGTGGATGAGGGTCGTTTGATAGGAAGTAGGAATCAGTGGAGAAACTGCAATCATTCTACTGTCCCTAGGAGAAGGGTGACCCAGATTGCAGAGAGTATTAATTTAAACACTTAAATGGTAGGAAGACGTTTCTACAACGAGTCTATGATAACTCAACATGGATCCCTCAAACGACGTGTGAATTCCGGCTCGGCCGACCGGATGACCACATACAAGGAATCCTTAGCGAGTCTTGCGATGTAGCTCCTACTGATGCAAATCAATACTCTAGGTGCCATCAATATTAGCAGAAGAGACAGCACAAAGACAAAGATTTATGCCCCGAAGTTGAGTATTTTGCGTTAAGCGCGTTCTCACCCGCCCAAATCGAGTAAGCGTTGGTGACAAACCAGAGACTAGAGTTGATCATTTCAACGCAGTGGCCGTACTTGTATGCCTTAGAGGCTGAGAACGTGCACACTGTCCTATACTTTGGCTAGATTGAACAAGCATAACATAGTGTATCAAAGGCCACAATGGAACGCGGGAGTACGATTAAGAGACAACTAACGAATCTGCAGCGCCTCCAACCCCCCAGCCGACTCGATTTCTCATTATGAGTCCTAATCGTTAAGCCCGGAAACACCAGAAGATATCTTCGATACTGAACGTTTCGTTTACGACCCGAAGCACAGTCGCGAGAGACATATGTCTGCGAATGCATGCCTCTCACCCGAGGAACAACGGCCTTTCCGCTATTTAATCTCATGTGGAGTGTTTGCGAGGCAGGTGGTCGAATTGGTCGGGCACGAGGCCCCCGAAAACCCAGCCATATGATTAACTCCGCCCCTGTCCACACAATTAAGATTCGGCGGGCGAGAGAATCCACTTCCACCGACGCAGCCATCCGCACCCATTTGCAAGACGAAGGTCCTGCCGACCGTCTCATAAATTCGATCGCGACGACGGGGTTGTCCGAGAAAGGAACGGATGCGGTCGATCAGCAACTTGCATAAGTCACCTGATGATTACGTTTTCGTATGTCTATAGAAACCGATAAGACGTGCCAGTCCGCACTTCTCCCACTAAGGCAGAGCTGATGGGTTGCGACTTGATGTGAAAAGTACGGGTCTGCCAGACGTACCCTATGCGCTATTCTCCCAATGCAAGCGGTTTGCAATTCATCATTGGAGCGGATTAACTCTCCTGCTACGCAGATCCCGACCCGACTCGGGATTCATGCAAGAAGTCCGTGCGTGGCTGGGGACTGATCTGTGGAAGAACCCCAACGCCATTATAACCTACGGCTGATGCTTAGCCGGGTGTGAGCCTTAAATAACATTTAATAGTAACCTAGTCGTTAATTTTTACGCGCCTCGCTGTCGCTAAAATCCTTCCACGAATGATACATTATAATGGGGGGGTCCAGAGGAGTGTTTCACGGTCGCGGTATTACGCAGTGTAGTGCCGTCCAGGTAGTCGGTTCCTGGCTGTAAACAGTCATGACCCTCTGTTTCTCAATGCGTACGATGCTACGAATTGCTACGCTAATAAAAAACAAGTGGTGGAGTGTGCGTGCTCGGCCAATTCATGGTGCAGTCGGATTATTCTTAATTACGCTACCTTCCGCAACTACGAAATTACTACTTGACTGCTACGTAAAAATATTCTACGACGAACCCCCGGTCTGAAGGGTAACATTTTTAATCTATGTCTAATTATTGGTGGTTTGGGTATCTCCGTAAGCGCGCCTGTTAGGGCGGGCTTCCTCCTGGGTTATTAGGGTCGTGACTTATATCCTTCCTGAGCCGGAAGTCTCTCCTTCGACGTAAATGGTGGCGTCGTAAGACTAACCTGCTAACGGAATTCATTTGTTATGGGGCTATTCCAAATACGTCCCGTGAAAGTGGGCCGTTTACACTTCTTCTTCCATAGGCGTTCGGGCGAGCAAAATCTCCCCCTACGAATCAAAGTGCCTTTAGGAAAGAGCGAGTCGGACCCGATAAGATACTGTATTGTTCAGGGCGTATTCAGCAAGGAAAAATTACACATGGCCTCCGCGTATAGTACACGAGGTCCACAAGGGCGTGACGCTATTGTTACCGAGAATCGCGTGAGATCCTTCCCAAGGGAAGCTCTAGAGAGCAACTCGCTGACGGTACTATGAAGCACGTTTCTATTCGCATGTGGTGATAAGACCAACTAAAATTACAATCCCGCACGGGGTAAGGGTGTGGCGACTGATACCCCACTCTTGAACCCATTTCTTAGGGAGATGAAATTTGTCAGGTCGCTCGAAGGTGAATGGCTAGGTAATTCAATGAAGTTTGGTGGTTAGTATACCATCCCCAGTGGGCGATCGGCTAGCTTGGCGAGCCAGACGGACCAATCAGATATAACGGGTCAGTTCAGGGAGCTGTAAACTGGGTACAATACCCTGGTGATCTCTTCTGCCTTCGCCTTTGTCGCTTGTCAGTGCCCCCTAGCGTGGAATGGATTCGCTTAAACTTGGTGCGCCCAAGGCTTAGCCAATAGTACAGACCCACCGGTCTGCCAGGTGCGGGCATTAACCGGCTTACAGAGAGTGGG 2 | -------------------------------------------------------------------------------- /minimum_skew_problem.py: -------------------------------------------------------------------------------- 1 | ## Python function that finds all integer(s) i minimizing Skew(Prefixi (Text)) 2 | ## over all values of i (from 0 to |Genome|) given a DNA string Genome. 3 | 4 | def skew(genome): 5 | 6 | output = [0] 7 | count = 0 8 | 9 | for x in genome: 10 | if x == "G": 11 | count = count + 1 12 | if x == "C": 13 | count = count - 1 14 | output = output + [count] 15 | 16 | return output 17 | 18 | def minimum_skew_problem(string): 19 | 20 | t = skew(string) 21 | minimum_skew = [i for i,n in enumerate(t) if n == min(t)] 22 | 23 | return minimum_skew 24 | 25 | string = "".join(open("minimum_skew_data.txt")).split() 26 | minimum_skew_problem(string[0]) 27 | -------------------------------------------------------------------------------- /pattern_matching_problem.py: -------------------------------------------------------------------------------- 1 | def pattern_matching_problem(string_1, string_2): 2 | 3 | pos = [] 4 | k = len(string_1) 5 | 6 | for i in range(len(string_2)): 7 | if string_1 == string_2[i: i+k]: 8 | pos.append(str(i)) 9 | 10 | return " ".join(pos) 11 | 12 | string = open('pattern_matching_problem_text.txt').read().split() 13 | pattern_matching_problem(string[0], string[1]) 14 | -------------------------------------------------------------------------------- /pattern_matching_problem_text.txt: -------------------------------------------------------------------------------- 1 | CCGAAACC 2 | CCGAAAACCGAAATGAGACCGAAAACCGAAATGACAATTCCGAAATGTCCGAAATTTGTAGAAGCCGAAAACCGAAACCGAAATCCGAAATTCACCGAAACCCGAAAATTCGCCGAAAGCGCAGACCGAAAATGTCGGCCGAAAGTACATACTGGCTAGCGCAAGGGGTAGTCACCGAAAGGACTAATCCGAAACCGAAACCGAAAACAAGGCGCCGAAAGTTGTCAGAGTGAACTCCGAAATACAATGCAACCGAAACGCCGAAAGATGGACCGAAATCCGAAAAACCCAGAGCCGAAATGCCGAAACCGAAACTCCCGAAACCGAAAACCCGAAAGCCCGAAACCGAAACCGAAAGTAACCGCCGAAATCCGAAAACCGAAATCCCGAAACCGAAAACTAATCCGAAAGGGTTACTTCCGAAACAGTACCCGAAAGTCCCGAAATAGTGTTACCGAAACCGAAATCCGAAAGTCCCGAAATCCGAAAATCCGAAAGCTAACCGAAACCGAAACCGAAAGACCGCCGAAATCCGAAAGTTGACCGAAACCGAAACAATCCGAAAGCACCGAAAGCCGAAACCGAAATGCCGAAATCCCGAAAACCTCCGAAAAACCGAAAAATTCGCCGAAATCCGAAACCCGAAACCGAAACCGAAAGCCACCTGGACCGAAAACCGAAACCGTCTAAGGAAATATCCGAAACACCCGAAACCGAAAGCACCGAAATTACCGAAATCCGAAAGCCGAAACCGAAAACTACCCGAAAATTCCCGAAACGGTAGTCCGAAAGAGCCGAAAAAGGTATCGCCACCGAAACCGAAACGGACCCGTCCGAAAACCGAAATGTTCCGAAATAGTGTCTTCCCGAAATTTTGCGAGTCCGAAAGTCCGAAAACCGAAACCCGAAAACTCCGAAAACCGAAATCCGAAAGCCGAAAGCGGGCCGAAATCCGAAACCGAAACCGAAACCCGAAACACCGAAAAGCCCGAAAAAGTCCGAAACGCCGAAAGCCCGAAATCCCGAAACGTCCCCGAAAGATCCGAAATCACTCCGAAATCCGAAAGCCGAAAACCGAAACATCACGCCCGAAAACCGAAAACCGAAATTGGCCGAAACCGAAAACGATGACCCGAAAGATCCGAAAATCCCGAAACCGAAAGCCGAAAGGGCGACCGAAACCGAAAACGCCGAAACCGAAAGCACCGAAACCGAAAACCCGAAACCCGAAACCTTTAAGCCGCGCACTTCGCCGAAAATCCGAAACCCCGAAACCGAAACCTCCGAAAATATCTCTCCGAAAGACCGAAACCGAAAAACCGAAAGTCCGAAACCGAAATTGCCATAATACCGAAATCATCCCGAAAGCTAGCCCCGGGGCCGAAAGGCTGGTGACCGAAACCGAAACCGAAACCGAAAACCGAAACCGAAAATTCCCGAAACTTTCCCGAAACTACCGAAACCGAAAACACCGAAAGGTCCGAAACCGAAAAATTACCGAAATTCACCCGAAATGTACGCCGAAAGCACATATAACCCGCCGAAACCCGAAAGCTGTACCGAAAGCCGAAACCGAAAGCCGAAAGTCCGAAACGACCGAAAAATCCGAAACCGAAAGGAACCGAAAGACCGAAACGCCGAAAGCCGAAACACTACCGAAACCGAAAAGCTTGCCGAAAGCCGAAACGTTGTCCGAAAGCACCGAAAGGCAGGAGAACCGAAACCGAAACCGCCTCCGAAACCGAAAGTCCGAAAGAACCCGAAATACTACCGAAAATCCCGAAACCGAAATCCGAAACCCGAAAGGACAGAATCCGAAATGACCGAAAGACACCGAAACACCGAAACCGAAAGCCGCCGAAATCTCCGAAAACCCGAAACACCGAAAGGACCGAAACCGAAAACCGAAATCTTTGCCGAAACTCCCGTGCGCCGAAACCCGAAACCCCGAAATTCCTCCGAAAACCCGAAATTGCCGAAAGACCGAAACACATGGCCGAAACCGAAACCGAAAGGCCGAAACCCCCGAAAACCGAAATGGCCGAAACCGAAAGCCCGAAACCCGAAAACGGTCCGAAAGCCCGAAACCGAAACCCGAAACCGAAACGCCGAAAGAGCCCGAAAGAGCCGAAAGTGTGAAGATTACATCCGAAACCCGAAACTTGCGCCCGAAACCGAAAATCCGAAACCGAAATGTGACCGAAAAGCCGAAAGTCGACATCATCCGAAAGCCCGAAATATACCTCCGAAATACCGAAAACTTCCCGAAAAGACAGGAAACCGAAAGCAGCCCGAAAGAAGGTGCCGGTCCGAAACCGAAAAACCGAAAACCCGAAAGTACCTCCACCGAAAGTTCCGAAACCGAAACCGAAACCGAAAGAGGCCGAAACCGAAACGCCGAAAGACCGAAACCGAAAGCCGAAATCCGAAATCCCGAAACCGAAACATAACCGAAATCGCCGAAACCCCGAAAGCAGCCGAAAGCCGAAAGAATCCGAAAAACCGAAACCGAAACTGTCCGAAAGTCCGAAAGCGCCCGAAATCCCCAGACTCCGAAAGCCCCGAAAAAACCGAAACCCGAAACCGAAACACCGAAAAGCTACCGAAACTCCCGAAAGACCGAAAGAGGTATCACCGAAATCCCGAAAGCCGAAACCGAAACCCGAAACCGAAAACCGAAAGTCCGAAACCGAAAAGTCCCGAAAGCTAATGGCCGAAAAAGCCCGAAAGCCCGAAAGTTTCTCCGAAAGCCGAAACCGAAACCCGAAAGGGCCGAAAGGAACCGAAACCGAAAATATTTACGTCCTCTTGTTCCCGAAATCGAACGTGCTCAGGGCCGAAAGTTCCGAAAAGACGGCCGAAATCCGAAATAATTCGCCGAAACGCCGAAACCGAAACCGAAATTGTACTCCGAAACTAACCGAAATTACCGAAACCGAAATTTTGTTACGCCGAAACCGAAAGCGTCTCCGAAACCGAAAACCGAAACCGAAAACGTAGCCCGAAAAATCTACCACCGAAATTCGGCCGAAAACCGAAACCGAAATCCCCGAAAACCGAAACCGAAACCCGAAAAGGAGCCGAAACCGAAACCGAAAGCCCGAAATTCCGAAATTTGCCCGTCCGAAATAAACCGAAACCCGAAACCCGAAATGTTTCAGTCCGAAACCGAAAGCCGAAATGGGTTCCGAAACCGAAAACATCCGAAACCGAAAACCCGAAAATGCCCCGAAACCCGAAATTAAGGCCCCGAAAACACGTTCGCCGAAAACCGAAAAACCGAAACCGAAAGCCCCCGAAACCGAAACCCGAAAGACATACCGAAACCGAAACCGAAACCGAAATAGTGACCGAAAAGTCCCGAAAGCCGAAACCCGAAACCGAAAACCGAAACCGAAAACTCCCGAAAGCCGAAAAGCCCGAAACCCGAAAAGTCACGCCGAAAGACCGAAACCCGAAAACCGAAAACCGAAATTTGAGCCCGAAACCGAAACGTCCGAAACCGAAATTCCCCGAAATGTTCCCGAAACCCGAAATCAAACCGAAAGAGGCCGAAACCGAAATTGGCCGAAACCGAAACGGGCCGAAACAGACCGAAACCGAAATACCGAAACCTCGAAGCGACTGGTCTCCGAAACCGAAACCCCGAAAACCCGAAACGCCGAAACGCCGAAACCGAAACTCCGAAACCGAAACCGAAATTTTCTTCCGAAATTTGCCCGAAACCGAAAGCCGAAATCCGAAACTCCGAAAGAGCCCGAAACAATATCCGAAAGTTAACCGAAAACCATGGCCGAAACCGAAACCGAAAAAGATGCCGAAACCGAAAACCGAAACGCATGTCCGCTCCGAAACCGAAAAAACGTCACACCGAAATCCGAAACGCCGCCGAAAAGTCCGAAAGCCGAAATTCCGAAACATTTAGGTGGCCGAAATCCGCCCGAAATGGGGCCGAAAGCCGAAACCGAAAATTCCGAAAAATAATTCCGAAATTGCCGAAATCCGAAAAAGACGGTGTACCGAAACTCCGAAATCCACCGCCGAAATTAGCCGACCGAAAGACCTCTCCGAAAGCTAAAGACTCTCCGAAATCCGAAACCGAAACCGAAACCGCCGAAAACGTTACCGAAACCGAAAGACCGAAAACCGAAACATCCGAAAAGTGTCCGAAAGCCGAAAGTCCTCCGAAAGACTCAAACAATAACCGAAACCCGAAACACCGGACCGAAAGCCGAAATCCTCCGAAATCCGAAACCGAAACCGAAAAGTATCCGAAACCGAAAACCGAAAGCTCCGAAAGGAATCCGAAAGCCGAAACCGAAATCCCGAAATTCTCCGAAAACCGAAAGTCCGAAACCGAAACGCGCATGTCCGAAACTCCGAAACCTAATCCGAAACGACGCCGCCGAAATCCGAAACCGAAACAGACCGAAATCCTAGCCGAAACCGAAATCCCCGAAATCCGAAACCGAAAAGAACCGAAACGGCCGAAATCAGATCCGAAAAAACCGAAAACCGAAATTCCGAAACCGAAACGAGACCGAAAAACCGAAAGCCCGAAAACCGAAACCCGAAACCGAAATCCGAAAGATCCGAAAGACCCGAAAGCCTGAGAACAGCCGAAATCCGAAACCGAAACCGAAAGCCGAAACCGAAACCGAAACACCCGAAACCGAAACCCGAAACCGAAACCGAAACCCCGAAAGCCCGAAAAGTCCGAAAGATAGCCGAAAATCCGAAACCGAAATCCCGAAAGACCGAAATCCGAAACCGAAATCCCGAAAACTCCGAAATCCGAAACACCGAAAGTCACGAAGAACCGAAACCCGAAACCCGAAATCCCGAAATAAGCCGAAAGAAGCCGAAAACCGAAAGCCGAAAGCCGAAACCGAAAGGTCCGAAATCCGTAGTGCTCCGAAACCCGAAACGTGAAGCCGAAACGAGAGGTCCCCGAAATTTCCGAGACCGAAACTCCGAAAGCGACCGAAATCCGAAACCGAAACCGAAACCGAAATACCGAAATTGCCGAAAGCACCGAAACCGAAACCGAAAGGGTCCGAAAGAGCATCTCCGAAACCGAAAAACCGAAATCCGAAAGCCGAAAGCCGAAAAACCGAAATTCCGAAACCGAAACCGAAACCATGCCGAAACCACCCGAAACCGAAAGAGCCGAAACCCGAAACCGAAAATCCCCGAAAGTCCGAAACAGACCGCCGAAACCGAAAAGTGCCGAAAATCACTACAATCCGAAACCGAAAACGCCGAAATACGGCCGAAAGTCCGAAAACCGAAATCCCGAAACCGAAACTCCGAAACCCGAAACCGAAATCCGAAACTACCGAAAATGGCCGAAACTCCGAAATACCGAAACCGAAAGGCACGCGTAACCGAAAGCGCCGAAAGGCCGAAAGCCCGAAACTCAAAAGTTTACCGAAATAATGTCCGAAAAACCGAAATTCTAGTAGCCGAAATAAGTTTCCGAAATACCGAAATCCGAAACGCCGAAAGTTAGGGCCGAAACCCGAAACCGAAATCCGAAATCCGAAACCGAAAGCCGAAACCGAAATAGCCGAAACTTCTCCCGAAACCGAAAGCTATAATGTCCCGAAACCGAAACCGAAACCGAAAACCCGAAACCGAAATACTCCCGAAACCGAAAAAGCCGAAACCCGAAACCGAAAAGTGTCCGAAACCGAAATGCGCCGAAATCCGAAAGCCGAAACCGAAACGGCCGAAACCGAAAGCACTTTTAGCTCCGAAAACCGAAACCGAAAATCCGAAACCGAAACCGAAAACGTTGTCCGAAAATCCGAAACCGAAAATCCGAAAAAGCCGAAAGCCCGAAATGAACGCCCGAAATCGCCGAAACCGAAATGCACCGAAACCGAAATCCGAAACCGAAATCCGAAACCGAAAGGACCGAAATGGAACCGAAACCGAAACCGAAAACCGAAATCCAGCCCGAAACGCGCAATTCCGAAACCCGAAACCGAAACCGAAAGCCGAAACCGAAACCGAAAAAACCCGAAATACCGAAACCGAAACCGAAACCGAAACCGAAAGCCGAAACTCCGAAACCGAAAACCGAAACCGAAACCGAAAACCGAAACCGAAACCGAAACCGAAAACGCCGAAAGACCCGAAAACCGAAACTAGCCGAAACCGAAACGATCCGAAACCGCCGAAAGGACAACGCCCGAAACCGAAACCGAAACCGGGATTCGCTGTCCGAAAAGACCGAAATCCGCGCTACCCGAAATAGCCGAAACCGAAAGCACCGAAACCGAAAGGCCGAAAAGCCGAAAGCCGAAAGCCCACCCCGAAATGATCGCCGGCCTACAGCCGAAAAATAACCGAAACCGAAACCCGAAACCGAAACCGAAACCGAAATCTCCGAAACTACCTCCGAAACTCTCAAACCGAAACCCGAAAGTAATTCCGAAACCGAAACCGAAATAGCCGAAATCCCGAAAGCCGAAACTGCCGAAAAGACCGAAATAAGCCGAAATACCGAAACTACCGAAAACCCGAAAGTATACCGAAACCGAAACCGAAATCCCCCGCCCGAAACCGAAACACCCCGAAACAACGCCCGAAACCACCGAAACCGAAACCGAAACCGAAAACCGAAATACCGAAAGTTAGCCGAAATACCCCTCCGAAACCGAAACCCGAAAAGTCAACCGAAATGAATGCCGAAAACCGAAATTGTACCCGAAACTGGCCGAAAGAACCGAAACTGCCGAAAGATACCCGAAACCGAAACCGAAACAACCGAAATGTAACCGAAATTGCATTGACACTCCGAAACCCGAAACTGGCCGAAATAGTAATCCGAAACCGAAAGCCGAAAGCCTCCGAAAGCTCTTTTACCGAAAACCGAAAGCCGAAACTCCGAACCGAAACCGAAACCGAAACCGAAACTACACTCCGAAACCCGAAAACCGAAAGTCCGAAACCGAAAGCAAGCCGAAAAACCGAAAACCGAAAAACCCGAAATTAATTCCGAAAGACTCCCGAAATGCCGAAACGGGGAGCCGAAACCCCGAAACCGAAACCGAAACCGAAAGCCCGAAACACGCCGAAAACACCGAAACCGAAACCCCGAAACCGAAACCGAAACCCCGAAACCGAAAAGTCCCGAAACCCGAAAGTCCGAAACCCGAAAGCCGAAATCCCGAAACCGAAATCCGAAACCGAAACCGAAATGCCGAAAACCGAAACTCATTTCCGAAATGACCGCCGAAAAGCCGAAACCCGAAACCGAAATGCCGAAACCCGAAACCGAAACAGGTTCCGAAAGTCGGACTGCACCGAAAACCGAAAACCGAAAAACCGAAACACCGAAACCACGCCGAAATGAGACAAGGCCGAAAAAACCGAAAGGCCGAAAATCCGAAATATGGTCTGCACCCTTAAGAGCATCCCGAAACCGAAAATGGCCGAAATGCCGAAATCCGAAAGCCGAAAGCCGAAACGGCCGAAACGACCGATTCACCGAAAGCCGAAACAGCCCGAAACCGAAATCCGAAAGCCGAAATCCGAAACCGAAACCCGAAAGGGTCCCTATGCCGAAACCGAAACCGAAATGTGGGGCCGAAAAAACAACCGAAAGTCTCCGAAAGCCGAAACGACCGAAACCGAAACCGAAAGAGCCGAAATCCGAAACCGAAACCGAAAACGCTGACCGAAACCGAAAATGCCGAAATCCGAAAGAACCGAAACCGAAACTTCCGAAATCCGAAAATACACCGAAAGCCGGCCGAAACCGCCGAAATACCCTCCGAAAGCGGCCGAAATAATACAGATCAGGTCCGCTGCCCCGAAAGCCGAAATCCGAAATCCGAAAGTCCGAAACAGCCGAAACCGAAATCCCGAAACCCACCGCCGAAAGATTCCGAAACGACCGAAACCGAAAAGCCGAAAACCGAAAGTGCACCGAAATCGGAACCCCCGAAACTGACCGAAAGAGCAGGTGGCCGAAAAATCCGAAAACTCACCCGAAACCGAAACCGAAAGAGCCGAAAATCCACCGAAAGTCATGAAATAACTTTCCGAAATGCCGAAATAGCCGAAACTCCGAAACACCCGAAACGCTGGTTAGTGGTACCGAAATATCCGAAATGTCCGAAACCGAAATCACCGAAAGCCTCCGAAAATCCGAAATCCGAAACCGAAAGGCCGAAACCGAAAAACTTGCCTCGTTTCCCGAAAGCCGAAACCACAGCCGAAACCGAAAGCCGAAATGAACCCGAAAACTCCCGAAACCGAAAGGGCCGAAAATCCGAAACCGAAACCAAGCCGAAACCCGAAACGTAACCGAAACCGAAACCACGAACCCGAAAATACCGACCGAAAGCCGAAATCCGAAACCGAAAACCGAAACCGAAATGCCGAAAGCCGAAACCAATCCGAAACCCCGAAAGCCGAAATCCGAAAAGTATCCCGAAAATTCTGCGCTACCTTCCGAAAGGACAGACCGAAACTCTCCGAAATCGAGCCGAAAGAGTTCCCGAAAGGGCCCGAAACCGAAAGGCTCCGAAACCGAAAGCGCCGAAAAATCCGAAAACCGAAATGCCCGAAACCGAAACATCCGAAATTACCGAAAATGACCGAAACCGAAACACCGAAATAAAGGCCGAAACCGAAACCGAAACCGAAACGAGACCGAAACCATCCGAAACCGAAACCGAAAGTAATGCGCCCGAAAGCCGAAACCGAAAGCCGAAACCGAAAGAACGAGACCGAAACCGAAATCCGAAACCCGAAAGACCGAAACCCGAAATTCCCGAAAGTCCGAAAGTCGCCGAAACGCCGAAACCGAAAAATCCGAAACCGAAAACCGAAAGTCCGAAATCCGAAAGCCGAAACACCGAAACCGAAACCGAAAAGACCCGAAATCCCGAAACCCGAAATGCCGAAACCGAAATTCCGAAAACCGAAACCGAAACCGAAAGAGTCGTTCA 3 | -------------------------------------------------------------------------------- /reverse_complement_problem.py: -------------------------------------------------------------------------------- 1 | ## Python function that finds the reverse complement of a DNA string given a DNA string Pattern. 2 | 3 | def reverse_complement_problem(string): 4 | 5 | dictionary = {"A":"T", "T":"A", "C":"G", "G":"C"} 6 | output = [dictionary[x] for x in string[::-1]] 7 | return "".join(output) 8 | 9 | string = "".join(open('reverse_complement_problem_text.txt')) 10 | reverse_complement_problem(string) 11 | -------------------------------------------------------------------------------- /reverse_complement_problem_text.txt: -------------------------------------------------------------------------------- 1 | TCGGCCTCCTATAGCCAGACTAACTATCCGTGATTTACGCCCGGATCATCCTGCTATCGCTCTACCATCCATTCTCGTTTTCGATCATCGCCGATGAGGGTAGGTGTCGGCGTCGTAATCTGCCAACCCACGATTGCCCCACACCCGCTCCGGCCAATAGAAATCATGTTTGCGGGGTGAAGTGCTCTTCAATCTCTTGTCTGTGTTGGGGTGTGGCATCCGATGGGTCTCAAGGGGAAAAGCTCGGCTTAGATGAATATGGTTCCTGCAACCTTATGGCAGAACCATCATCTTAGCCCCGAGCGGGCTAATGACGCTGCAACGAGTGGGGGTTAGCGATTAATTACTAACAGCACTATGGTACCTTCGACCGATACAGGGCACAAGAGTTCGTACTATCTTGTTCCAATTTTACAGAGATCAGCCTTATCTCTTTTCGAAAAAGTTATATACGCTCCCCTGTCTATATTTATGAACTGCCGCTTATGCATGGATTCTCGCGGTCGGCACCGCCGTGGCGTGGGGGCCTTCGGCTAGGTAAACTAAATCTCCCGGAACGCAAACAAGCGTGACCTAGGGACTTCAATTGAGGCTACGATGCGGCCCCAATAACACCGCTCACCGAGGGAAACTTACCCTGTCCGATAGACTAGTCCATCGTTAGAAATGGCTCCGGTTATCAGACTTTGCAAGAAGATACAGTCTTAAACTGTCCTAGTGTCGGTCCCTTTGCAACCACTGAAATGACTTCCGATTAAGGTACCGCGGAAGGCACTTATGCCCATTGGTTGGCAGCCAATGTCAAACTAACGTGCCAACATACAGACACGGTAACTTCTCGGACGCACGGTGTTAAATTGGTGATCCCTGAGCGACTCTCCGGTCCATCCATCAACCAAAGCATTGGGTATGTGGTGGAGTTTACAGACGCAAAAACTGGGAGTCACCCGCCACCCTGGGGCACGCGAGATCCCAGCTATTTACGGCCAATCAAGCACACACGCACGGTCGGAAAGTGCCGTCCAATTTTACGCTCTTGAGTAAGACAGGCCGGTGTTGTAAGACCACTTCCCGACGGTTTTATGTGATGGATGTGGAGCCAACTGCCCAGACCAAGAATGTTTCCGCGTCATATGAGTTCCCTTGCCCGCTAACGCGACTGGTGGTGTGACGGTGACTAATAGGATAGAGGGTGGGCCACTGCAACCCTTTCTGTATAATCCATTATTATCTCGTTTGATGCCAGTTAGGATTTTCGACGGCAACTGGGCTGATGTTTGTTTGCGTAAGGCCGTAAGAGGTGACGCATGCAGGAGTCGTTGTTTAACCGGGCCCGGGTGCCATGTCACGATCTATTTGGGCTTCATGTGTAATGACATTGTATGGGTAAACTTCAGTGTGCGGTGTGTCTCAAACCCTGTTGCTCGGCCTCCTGAACTCACAGTCCTCTGGGGGGGCCGCACGCGCTCCACTCGTAATGTATACTTCCGTTAACGGAGTTACAGCCGCATAACGTGGCGCAACTCAGAGTTTTGCGTGAATTTATGTAGGAGGTCAATTCATCCTGTCCTCTTCTGCACCAAAGTCCACGCCCGCCCGACTAGCTTCTTCAGCTAGTATAACGACATGACGTAGTGGACCGCGGCTACGTTACCGTTCGCTGGACGAGAAACACGGTTCCTTGACCGCCGACGGTTTTCCACGCACAGCCAGGCGTTGGAGGAAGGAGCGCTATGCAACGGCGCGGGACTGTATTTAATTAACTGAAGTGTATTCCCGAGCCTGCCTTCGACGACGTGATTCAGAAAAAGACCTTGCGATCTGTGACGATCATAATCGTGCTACTCGTAGACTCTTGCATAAACGAGGCACTGTCTCTTGCCGGAGTCTGTATTTGAAAATTTCCATAAGAAGAACATGTCCCATACTAGGCATTTTACAAGGGTCACGCTTTCCAGAGGATATTATTATAAACGGAAGCTATGGTTGTACTCAGGGAGAGCAGAAACGGGAAGTGCCCCGATCACAGCGTCTTGATGCACTGCCAGCGCGGCGACGTTTTATCTGAGCTCTGAGTGGATGCGTTGTTCTAGATCCACGGTTACGCTCAGATGTCAGTGTGTCCAAGATTGTCAGTCGGTTCGCGGTTAGAATCCGCAGAACATCCTTAGTTGATAACTCCTAGCGCAACGCACCGTAAACTTGCTCGTCAGTGGTAGCCAATGGACTTTCTGTAATTTTCTAAACCTGGTTGAGTGACTCCCCCTGGAACACTAACCAATCGGCATATCCATAGTCTATAGGACTTTGTCTATTTATCCAAGTGCGATAGTTTTCGCAAATATATTGGGGCTCTCATACGGCTCCAGAATACCCGACAGATCACGGGTCCCTAGATCTTTTATAGCTTGGATAACCTCAGCCGACAAAATGAAGGGTAATCGGTAAGCGGAAATCAGGCGGCGTATCAACTTTCTAAATTCGCAGGCCATGGGTCCGAGGTATGAGTATCTGCACTCACATATTCCAGGGGAATCCCGAGTAATCTTTCGCACGGAAATATGCTATCTAAGAACGAGCCGGTCGATTGCAGATCATCAGGGGCACGCTCGAGTACGTTATGCTGTTAATTGCGAAAGCCGCGGTCCCCCTTCTAAAAGCTGAGGGTTATTGCTTGGACGTACAGCGGGATTGTCGGGCGAGAATCCCAGGTTGTGATGCTATCGGCCTCCGGCACTGTACGGACCTCGCTATGCCGCGGAGGGCATGCCTCCTTATTATTACGAGGTCGGATGTAGAGGTGAATTGTGTGTACGGTAACTATATCAAGCCTCCCAATTAAAGGTGCCCAGAACCTTGATCCCTTCGGGTTATTAGTCATGGTAAACCCACAGGGGATTTTTAAAACAGTAGTCAAATCCCAGCGGCTTTGGATGTGAACTTAGCGGTGCGCCCTTTATTAGGCGGACGGGGCTCTTGGTCATAATGACGCACCGACCTACCAGGTGCCTTGAGACGTCATGGCGAAGTTCCGCCAGAGTCTTGTACAAATTCACACAAGCCAAGACGACCTCACCATGTTACATTAGTGGTATTTGAGTTGATCGTTCGTGTTGTCTGCCTAGTATGGCGCAACGGTAAGCATAACTGACAAGACCCCCCACCGTTTACCCTATGCATCGATTTCATCAATGTCGTGCGTGTACCCATCATCGCGTCGACGATTGATCCCGATGTAGTAGGTCACTGGATGTGCCAGTGGATATTCTCATCCTTACGTCACGTATTGAAAGGAATTGCACGGAACAAGGCATGCGCTGTAGTCTTGTCCGAGCGTCGCCAGCCCCGTCGCAATGCCCTACAGACACTTCGCAGTTTACTTCCCTGTACGAATACAAACGCTCAAGAGCACACCCGTACTGTCTCGCATGATTCTGACCTTCTTAAGGCAAATGAGTACGAAGAGTATATTCTGGAGGGATGGTCACTATGTGCCAGCTTATACAGACACTCCCCTCGACCGTGTGTGACTTCCAAAGGTGGCTCACATATGGGCAGGAGCGGGCAAGGAAGTTGTCCGCCAATCGATTGGTGGCTCCATGGTGAGATCCCTTCAGTACTATAAAAAATTCGTTTGGCCAGGTGACCGTTTCGACAGTTAGCAGCCTAATTGGATATTCTTGGTCCACCTCTTGGTTACCCAAGGATGGACAGGATTGCTATCGACCGTAGGCCTGGGCCAGAACTCACGATAAAATAAGGTCTGCGGAGTCCTCCAAGCTATAAGGGGCAAGTACTGAGACTAACCTACCGCGGTTATTTGACCAATTTTGTTTACTGAACGCGGCTAACAACGCAGCGTTTGTAATCCTTGGAGCACTCTAACGTCAGATTAATACAGCCCAATGATCAGGGCAAACCCATGTAGCTTGGAGTGAAGCACTTTGGCGTGACAATCTCTTATCACGCCTCACAAGTAGTCGCCGGCCAGAGCATATCAGTTGCAACTGCTCGCGGTAAAGTATCCGGTAAGGTCTCGACGCCGGTGCTGGGTAAACAATACTCTTGGGGGACGCTAAGAACTTCGAGGAACTTGCGGATCAGCGCCTTCCGCACCTGCGGAGTATCGAAGGTCATACGGGAGAATTGACGGGCGCAGTCGGAAACCCTATCAAACCGCAATAATTGTCTAACGACTTAGGACGTGGCCGGCGCGGCGATTCGGTGGTACTGAAATCTCGCGTTTTGAGCGCTCCGGTCGAACCAGCGTCTGCGATATCTTACCCGTGACAACCTTATCTGAGGTCATACGGGCCCGTGGCGACAAATCAACTAAGGTTCGAAAGTGCTCGCCCGATTGTACACTCTGAGTTGCGTGTACGTATGTAGACGAACTAGGCTTCCTCTAGCCGCTTTGACTGATCCTCTCAAAACGGCTAACAGTCCTTTGGAGAACCTTCAGAATCTTTGCGAGCGAAATATACAGTGAGACAATGTACGGATATTTAGCTGAATGTAGATTACCGCTTTGGCGGCTATGGTGAGCTGTAGGCCAGATCATTTTGATATTAGCCGAAGCGAGTACGAAGGGGCACTTGTCGGTCCCTACTCTTTTTTATTTTATAACTATTCATACGCTGGGACCACCACTGTTTCTATTGGACTGGTTCGTTTTAGTAGCAGAGCCCAAATTTGTACAGCACAGGGCTACCCCTTTAATTAACATGGGCTGAGTTTGGTTTGCAGTATTATTCAAGTCTCTCCCCGTACAAGCGAGCAATGGTTAATGTAGTCGCATCCCAGTTGCGGTTAGACGCCACGAGGGCACGACAAGCGAGGACGGTCTTGATTAATTATTATTGAAATCGATGAGTGATTCAAATCAACAACTCAGATAAGTATACCACCGCGCGACTTGCGTGGGCCGTTGGAACTGTTCCGCATCGCTACGATATAGCTCCATGAGCAGTCAGCTCAGAGTACGTCTGAGACAGGCTAGCGTCGATGGGACCCTTTAGCGAATTTTCGAGGCCATTCGATATACACTATCCGATTTTGTCTTATGTGCCATAGAGGCGACATACGGCTACGACATAGCAGAGTTAGTACACAGAAGTTTCACCCGTCTTCGTAAACCGAGATAGTCTTAGAACAAAAGATATATATACTCAACATATGTCGAGGCAGCATCGCGAGTTGCTTACGGCGCGACCGACCCAATACGTGGTATAAGGGTTTATGGCGGTTTGTAACGAAGGGGGAGGTGTGAGAGACTTGCATAGTCAAGTGGGATCGGAATACTTGGTCCTTGAGCAGTCGTGAACGTTGGTGCTGACCCGCTGTATTACTGAAGGGGTCCTAGCGCGTATTCACGAAATCCCAACTTCTTCGCCCTACCGGGTGTTTTAACTAGAAGGACGTGATGGTACTACCTAGATGACGACCCGAAAAGGAGCGGCAAGGAAACTTGGATAGAATGGCTCCTCGGTAGCGGTCAAAGAACACCCCTCCGCTAGTGTCATCCCGAAGATAATACATTTCGGCCCGGGAATCCCAATTGGTTGGGCCAGCTTATGTAAGGCCTTTTGAAGTGTATGGTGCCCCACTCCCCTCCCGTTATGGTAAAATGAAAATGGACTAACCCTATACGCGCCAGACGAAACTTCACCATCCGGTTAGACTGTCGCGAGATTATAGCGACTATCGATCACAGAAAACCTACGGACGATCCGAGGCCCCGAATGGTGCAGCGCATAATCTCACGGATGTGAGACGTGAAGTTAGACGGGCATTATCATATACACTCAGCGTAGCGATTCGATAGGGCTCATAGGATGCGTTCCCTAGCAGACCGTCGACATGCGGCGAATAGGTCTTAGTCCTAAAACGCATGGATAAGACAAGGCACAAAAATGTCAACCGTCTGCACACTATATTGCGTACACAATATTTTACATTCTAGTCGTTAGTTAACCATACCTGGGGGTTCGAGAAGAACTATTGGTTGACACGACAGTAATGCTTACGCTGAGGCAGATCGCAAAAGGTCTGCGTCGACTCTCATTCTGGTTCACGTTCGGCGCATTCTGCGACCATGAGGTAGCCGGAGAATAAGATTACCCCTCGCATTATGTAGTAGTATTCAGAGACGAGCTTGAATAATATGGCTCCTCTCTAGTCACGTGACTGGGGATTGTTGCAACTAATAAGACTCTGCCCTGTTGCACGACTACCGTCCACAGGGAGCCCCCTACCCCCTCGAAGTAAGTCGGCCGATGACTGTACTGGTCCTTGCCCTCGATCGTCCAGACCGGGAGACGTGCAACTGCTACAGCAACAGGGCCGGTGAAGGAAAGAGGGCGGTGATAGGTCTAATTATGTACAGTTCCCGTAAGAGTATGCTTTGGGTCTTTGTCCCAGCTTGCGGTAATCCGCTCTAACGTAAAGGGGGAAGAGGCCAGGAAAGGTTACATATCCATCACCTTAAGTTGGTGTAGACAACACCACATGACATTTCATTTCCTAATTCGTATGTGCCAGGGCGCAGGTCTTAACGACATAGTTCAGAGGAGGAAACCGGTTTATCGGGTACACTGTTTAGGGACACCGACGGATAATTGATCGAGCGTAATTGCTGCAGCGTGAGGGTTCAGCCCAATATACTAAAGTATTCGTAGGTGCGTTTTGGTTGACAACGGAAACGAGTTAGCTTCTTAGGAGGACTTGCTATAGGTCGGACGCCAGAAGGGGACTCCACTACTCCCCAGTGGAGAAGCGTCTCCCACGGGAGGCCTACACGAAGCTGGTACTCCGTGTATTGTTTCTCTGGCTCTTCCTTGGAGCTTTGCAAAAAGTACTCAGGCGCCATGATTATCATCCGTAAGAATATGGCTTGACGACTACTGCAGTCGGCTGAAACGAAATTTAATTTGGCCGTGCATCCTAACTGACCAATGATATACTCCGCATGATGCTTAATATGGCCCGAATGATTGACCTCCCTCCCTATGGGGTTTAAGCGAAATGGTCGTGCACGGGATCCCCATAATGTCGGTAGTCTCCTATAGTCGTCCAGACCTCTACTTCGTGATTCACAGCCAGTAATTACGGTGTGCGATACCACTCGGGTCCTACAACAGGGTTTGTCACCTAAGCCCAGACAACGCTCTGCACTCTGCACTTAATTCTGACGGTTTGGATGTGAAACCTCAAGTGATAATTCAGGCGTCTGGACCGTATACGTATCGGTTCACCTAGATAGATCGTATGCGTGGATAGCTCTAGTTGAATACAGGTCACGACAAGTACGAATTGCTCTAAGCTTCCTATTAAGCTAGACTACTCGAGGACGTTGAGTGGGCACATCGCCCGTCATTGCCAGAGCAGTCCAGCAACTGTTCAGAAATCAACTGGTACGGACCCAGATGTCCTAGACCTCAAAGGATCCTTCTGACAGTTGACTCGGCCGCGAAAGTCGTTATCGTTGCTACTTGGAGCGACGGTAGAGCCCTTTGATTCTCCCTAGATAACTCCTGTGCACCCATGCGGCAATATGACCTGGGTACACAGCGTAAGCCTGGCTGAAAACTTTCGAATGATTTGGGGGGTCTGTAAGTCGCGTCACTGGATTTCTGCTCGACTCTTAGCTTCTTCCTTACTCCCCTATCTGAGTGGGACCCAGTGCCCATTCTCAGAAAGGCGGATCATCAATGGAAGACAGCTAACAATACCGACTGTTACTGTAGACGGGGGATGAGCAAGGGATCGTAAAGTGAAATAGGTTATAGCCTGGGCATTCAGTGTCTTGTCAAGTAATGCTGGGCACTCTGGGGACTTAGCATTTGCCAGTTCTACCGTGCTGAGTAGGGTCGTCTCAGGTGGGTGAGCCTAGAAACCCACGGATTGAGGCTGCTTTTAAGAACTGGCGAGTAGCCTTGAGTATGTCCTTTTAACATCATACCCACTGTTCATACTGCAGCTGGTAACTTCTCGTACTTTTACCGTTATGTGGACACCAAAATTAGGTGCTTTTCGTTGAAATGCCCTTCTTCTTTTAAGATAGCTCTTTCGATGGGGCGATTAGTGCCAGAATAAGGGTCGAACGTACAACCACCAAGAACCGTCAAGAAGTTAATGCCCCTCCAGTTGTTGGAAGAGAGCCGAGACCATTTCGATTCAAGCCCGCAGGAGGGGGCTTTGCTAACCTGTCACCACATGCTCGTGCGGTGTACGACAATTCATCTGATTATCACTACTCGTAGTACTTAACGGAATGCTCAGCAGAATCAATCTCTTACCGAGGTATGCCCTCGGTTTATACGGAATTGACCCGGATTGGATAGAGCTCTTTGATCTCATGGTGTCTGCTCCATCGTGCTTGGTGTCCGGGACTTCCAACCGCTGAACTGATAGGTTAAAGAAAGGATCTTGCTACCCCTCGAGTGTCAAAGCTTAATCACGCTGTACATAGTGTCAAGACGTTGATGAGCGCCAATAACTACTCGTATGATCACTTACTTATAATACGGAGGCTAGGGGGCCGAAACTAAGTTGACAGCAAATAACCGTGTCGGATGTCATGGGCTCGACTTTGGCGAGTTGTTTTCCATATCAAGTAGAGGTTGCTGACGGACTGAGTACCTGTAGGTTTACACGTTCTTATTTAAGACGAACTACGTGCTCTCTAGGCTGAGTGATCTTTATTGGGTTAGCTGGTGAACTCGGAGTCCCATCCAGGGTTCTGGATACGATAAGGTCCTGGTGTGTTCGTAACCGCCGTCAAACATCGTTGACTAGCCTGTCGCTCAATGGTGAGGTCATAGCCAAAATGGACGATCTGGTGTAAGTAGCAGAGGTCTGTGCTAACTTATACGTCTATTCTGACCGGGACGACGTGTACTCTCCCTATTTGACCTAGAAATGGCACAGCATTCAGAAAGCACGGTATGAGCTCTAGGCTTGCGTGAGCAATTCGGCTGTCCTAGGCAGCAACATGCAAAACCAGGTCGTGCAAAACGGCGCCTCCGCCTAAGAAGTAGGTTCAGCATCTCGGCACCGATATACGCACGCACCACAGAGTGGACCGAATATCGGACCTTGTCGACGCGTGGCAGTAGCACACGAAATACGAGGTTTCTCAATTTATGAAAGGGTCGATAGAATACGCGACTAGAGCTGGTCGTGCGTGGGATTCCAGGCACCGGAAGTTGCTATGACAACCCAAGGTTATAAGCTGTTTGGCGGCGAATACCTTCCGCAATTCAGCACCCCAACTCAGTATGATCTGCTGAATCTGAGTGAAGGTTGATACGAACCACCTTAAGATGCGCAGTTCCTATAAAATTTTATGCGATTTATTGGCTAGTAGGGCGTATACCGGGTAGCCTTTGCCCCATCAAGTATTCGCTAGAAAGTTAGACGGCTTAGCAGATTCCCGGGGAATTCTAGTGGGGGTTACGAGACTCTATCAGAGACCGGACTTACTAAAGCCTACTGGGCGCACCTGAACGTTAACTTCGAAGTCATTGCTCGAACAATACAAATGTGGAAGTCGGCCCGAATGGTTCCCTAACATAGGGTACATTGATAAAGACAAGTGCTATCCCGTGGAGCATTTTGTAGGTCATGCCGTTATCCCAGGATT 2 | --------------------------------------------------------------------------------