# ECOO 2014 Local - Problem #2: Orphan Black

I was actually at this local competition and this file is the raw code that I used to be marked. I've fixed up this code with comments and made it more of a perfect solution over here.

## The problem:

In the season finale of the Canadian TV show Orphan Black, the main characters discover a message written into their DNA using binary coded ASCII (pronounced "ASKee"). ASCII is a system for numbering letters and other printable characters. Binary coded ASCII uses 8-bit binary integers instead of regular decimal integers. The table below shows the decimal and binary ASCII codes for uppercase letters and the space character.

 Space 32 00100000 A 65 01000001 B 66 01000010 C 67 01000011 D 68 01000100 E 69 01000101 F 70 01000110 G 71 01000111 H 72 01001000
 R 82 01010010 S 83 01010011 T 84 01010100 U 85 01010101 V 86 01010110 W 87 01010111 X 88 01011000 Y 89 01011001 Z 90 01011010
 I 73 01001001 J 74 01001010 K 75 01001011 L 76 01001100 M 77 01001101 N 78 01001110 O 79 01001111 P 80 01010000 Q 81 01010001

Binary integers are just like regular decimal integers except that the only digits allowed are 1 and 0 and instead of palce values rising by 10s they rise by 2s. In decimal integers, the rightmost digit is the 1's place, then 10's then 100's and so on. In binary, the rightmost digit (bit) is the 1's place, then the next is the 2's, then 4's and so on.

DNA comes in a double strand made up of four bases (A, C, G, and T). A pairs with T and C pairs with G so that in a double strand, A's and T's are always across from each other and so are C's and G's, like this:

```     CAACACGTGGCGTGCCAGTGACCTTGGCAGGTTGCGTCGAAATCCC
GTTGTGCACCGCACGGTCACTGGAACCGTCCAACGCAGCTTTAGGG
```

To turn the above DNA into a binary string, just assign one of the base pairs (AT or CG) to be a 1 and the other to be a 0. SO the above DNA string might represent this binary number:

```     1001011011110111010101100111011001110110000111
```

Or it might represent this one:

```     0110100100001000101010011000100110001001111000
```

In this case, the correct one is the second one and the message starts at the fourth position with a few bits left over at the end:

```     011 01001000 01000101 01001100 01001100 01001111 000
H        E        L        L        O
```

DATA11.txt (DATA12.txt for the second try) will contain 10 test cases. Each test case will consist of two lines representing a pair of chromosomes. Each pair contains a coded message as described above, with from 0 to 7 extra bits on the beginning and another 0 to 7 extra bits at the end (the chemists who read the DNA weren't exactly sure where the message was). The message themselves consist entirely of the capital letters A through F and space characters.

```Sample Input
ACCAATGTAGATATCATACTCTCTTGCTATGTTCGTTACATGCCCAA
TGGTTACATCTATAGTATGAGAGAACGATACAAGCAATGTACGGGTT
ACACTTTTGGTGTTCGTATCAACCGCAGATCCGATGTTACACTTCATATTTGATCGTCACTATCTC
TGTGAAAACCACAAGCATAGTTGGCGTCTAGGCTACAATGTGAAGTATAAACTAGCAGTGATAGAG
CCAGACGAGTAGTCCGACAGAGCCTGTGAGAGGGGCGTCGGGGGTGCCGTAGTCCGGCTGAGCAAGCCAGGTTCACC
GGTCTGCTCATCAGGCTGTCTCGGACACTCTCCCCGCAGCCCCCACGGCATCAGGCCGACTCGTTCGGTCCAAGTGG
AACCCCACTAATCCTGAAATTCTGTGTAGTTGTGAACATGTCCTAGATCATATTTGTTGCGGTCAAGCCTAAA
TTGGGGTGATTAGGACTTTAAGACACATCAACACTTGTACAGGATCTAGTATAAACAACGCCAGTTCGGATTT
ACCAGTTATACTACATAAAAGATTACTTACTTTAATCTTTAGCTTGTTTTATGTTAGTTA
TGGTCAATATGATGTATTTTCTAATGAATGAAATTAGAAATCGAACAAAATACAATCAAT
ACGACGCAGTCGACCGCCGAGGCTTCCCACGCCCGTGGCTTTCGACGGCGGAGGAGCCCC
TGCTGCGTCAGCTGGCGGCTCCGAAGGGTGCGGGCACCGAAAGCTGCCGCCTCCTCGGGG
AACCTGGTGGTCCACCGGGCTCCACTCCCAGGCGGCTCGAGTAGGTGGCCGGAGGATGG
TTGGACCACCAGGTGGCCCGAGGTGAGGGTCCGCCGAGCTCATCCACCGGCCTCCTACC
ACAGTGGTACTGGTGCCCGGTCCATACGCAGCGCGCTGGAATACGAGGGCCCTGTGGGCA
TGTCACCATGACCACGGGCCAGGTATGCGTCGCGCGACCTTATGCTCCCGGGACACCCGT
CACTGGCTGGAGCCCGGTGAGCACGCTCCGCCGACACCTAGCAGGCGCCTCTCTGGCAACAC
GTGACCGACCTCGGGCCACTCGTGCGAGGCGGCTGTGGATCGTCCGCGGAGAGACCGTTGTG
CACCCACACACTCTCGACGCCGGACTCTACGCTCCGGGGACAGTAAGCACGCGGGTGATGGCC
GTGGGTGTGTGAGAGCTGCGGCCTGAGATGCGAGGCCCCTGTCATTCGTGCGCCCACTACCGG
```
```Sample Output
HELLO
CLONE ME
KEEP CALM
CARRY ON
A B C D
E F G H
I J K L
M N O P
Q R S T
U V W X
```

## My solution (in Java at the contest):

```import java.util.Arrays;
import java.util.Scanner;
import java.util.ArrayList;
import java.io.*;

public class Problem_2_Orphan_Black {

public static void main(String[] args) {

try {
Scanner scanner = new Scanner(new File("F:\\data\\DATA22.txt"));
ArrayList<String> list = new ArrayList<String>();

while (scanner.hasNextLine()) {
}

for (int l = 0; l < list.size(); l+=2) {

String line = list.get(l);

String binary1 = convertToBinary1(line.trim());
String binary2 = convertToBinary2(line.trim());

for (int i = 0; i < 7; i++) {

String s1 = binary1.substring(i);
String s2 = binary2.substring(i);

int numberOfBytes = s1.length() / 8;

//for (int j = 0; j < numberOfBytes * 8; j++) {

String[] bytes1 = new String[numberOfBytes];
String[] bytes2 = new String[numberOfBytes];

for (int k = 0; k < numberOfBytes; k++) {
bytes1[k] = s1.substring(k * 8, ((k + 1) * 8));
bytes2[k] = s2.substring(k * 8, ((k + 1) * 8));
}

//System.out.println(areBytesValid(bytes1));
//System.out.println(areBytesValid(bytes2));

if (areBytesValid(bytes1)) {
for (String b : bytes1) {
System.out.print(toChar(b));
}
System.out.println();
}

if (areBytesValid(bytes2)) {
for (String b : bytes2) {
System.out.print(toChar(b));
}
System.out.println();
}

//}
}

}

} catch (Exception e) {
e.printStackTrace();
System.out.println("Exception");
}

}

public static boolean areBytesValid(String[] bytes) {
for (int i = 0; i < bytes.length; i++) {
if (!isValid(bytes[i])) return false;
}
return true;
}

public static String toChar(String b) {

int one = Integer.parseInt(b.substring(0, 1));
int two = Integer.parseInt(b.substring(1, 2));
int three = Integer.parseInt(b.substring(2, 3));
int four = Integer.parseInt(b.substring(3, 4));
int five = Integer.parseInt(b.substring(4, 5));
int six = Integer.parseInt(b.substring(5, 6));
int seven = Integer.parseInt(b.substring(6, 7));
int eight = Integer.parseInt(b.substring(7, 8));

int n = one*128 + two*64 + three*32 + four*16 + five*8 + six*4 + seven*2 + eight*1;

return (String.valueOf((char)n));
}

public static boolean isValid(String b) {
if (b.length() != 8) return false;

int one = Integer.parseInt(b.substring(0, 1));
int two = Integer.parseInt(b.substring(1, 2));
int three = Integer.parseInt(b.substring(2, 3));
int four = Integer.parseInt(b.substring(3, 4));
int five = Integer.parseInt(b.substring(4, 5));
int six = Integer.parseInt(b.substring(5, 6));
int seven = Integer.parseInt(b.substring(6, 7));
int eight = Integer.parseInt(b.substring(7, 8));

int n = one*128 + two*64 + three*32 + four*16 + five*8 + six*4 + seven*2 + eight*1;

return (n >= 65 && n <=90 || n == 32);
}

public static String convertToBinary1(String DNA) {
String re = "";
for (int i = 0; i < DNA.length(); i++) {
if (DNA.substring(i, i+1).equals("A") || DNA.substring(i, i+1).equals("T")) {
re += "1";
}
else {
re += "0";
}
}
return re;
}

public static String convertToBinary2(String DNA) {
String re = "";
for (int i = 0; i < DNA.length(); i++) {
if (DNA.substring(i, i+1).equals("A") || DNA.substring(i, i+1).equals("T")) {
re += "0";
}
else {
re += "1";
}
}
return re;
}
}```

## My test cases (as .txt files):

Using their sample input:

```ACCAATGTAGATATCATACTCTCTTGCTATGTTCGTTACATGCCCAA
TGGTTACATCTATAGTATGAGAGAACGATACAAGCAATGTACGGGTT
ACACTTTTGGTGTTCGTATCAACCGCAGATCCGATGTTACACTTCATATTTGATCGTCACTATCTC
TGTGAAAACCACAAGCATAGTTGGCGTCTAGGCTACAATGTGAAGTATAAACTAGCAGTGATAGAG
CCAGACGAGTAGTCCGACAGAGCCTGTGAGAGGGGCGTCGGGGGTGCCGTAGTCCGGCTGAGCAAGCCAGGTTCACC
GGTCTGCTCATCAGGCTGTCTCGGACACTCTCCCCGCAGCCCCCACGGCATCAGGCCGACTCGTTCGGTCCAAGTGG
AACCCCACTAATCCTGAAATTCTGTGTAGTTGTGAACATGTCCTAGATCATATTTGTTGCGGTCAAGCCTAAA
TTGGGGTGATTAGGACTTTAAGACACATCAACACTTGTACAGGATCTAGTATAAACAACGCCAGTTCGGATTT
ACCAGTTATACTACATAAAAGATTACTTACTTTAATCTTTAGCTTGTTTTATGTTAGTTA
TGGTCAATATGATGTATTTTCTAATGAATGAAATTAGAAATCGAACAAAATACAATCAAT
ACGACGCAGTCGACCGCCGAGGCTTCCCACGCCCGTGGCTTTCGACGGCGGAGGAGCCCC
TGCTGCGTCAGCTGGCGGCTCCGAAGGGTGCGGGCACCGAAAGCTGCCGCCTCCTCGGGG
AACCTGGTGGTCCACCGGGCTCCACTCCCAGGCGGCTCGAGTAGGTGGCCGGAGGATGG
TTGGACCACCAGGTGGCCCGAGGTGAGGGTCCGCCGAGCTCATCCACCGGCCTCCTACC
ACAGTGGTACTGGTGCCCGGTCCATACGCAGCGCGCTGGAATACGAGGGCCCTGTGGGCA
TGTCACCATGACCACGGGCCAGGTATGCGTCGCGCGACCTTATGCTCCCGGGACACCCGT
CACTGGCTGGAGCCCGGTGAGCACGCTCCGCCGACACCTAGCAGGCGCCTCTCTGGCAACAC
GTGACCGACCTCGGGCCACTCGTGCGAGGCGGCTGTGGATCGTCCGCGGAGAGACCGTTGTG
CACCCACACACTCTCGACGCCGGACTCTACGCTCCGGGGACAGTAAGCACGCGGGTGATGGCC
GTGGGTGTGTGAGAGCTGCGGCCTGAGATGCGAGGCCCCTGTCATTCGTGCGCCCACTACCGG
```

And the output to that is:

```HELLO
CLONE ME
KEEP CALM
CARRY ON
A B C D
E F G H
I J K L
M N O P
Q R S T
U V W X
```

Using their first judging test input:

```CACCCTCGCGGAGTCTGGTTGCTCGGCCCTGACACCCAGCAGCCCACGGAGACGTGCCGGGTCACCTCGAGCTCCGGAGTAGGAGTGAGACGGTGGTCGGGTGCATGACGACGCCCCTGGCTCCCTGCCAGACAGAGCATCTGCTGCACTCCGTTAGTCGAAAGGACCGTGTGAGGCACGGCTGGGCCCACTCTCCCTGCTATTGCTGCCGCGTCGGCACGACCAAAACTCTGAGTGTGGTTTGGACGCGTACACGGACTACAAC
GTGGGAGCGCCTCAGACCAACGAGCCGGGACTGTGGGTCGTCGGGTGCCTCTGCACGGCCCAGTGGAGCTCGAGGCCTCATCCTCACTCTGCCACCAGCCCACGTACTGCTGCGGGGACCGAGGGACGGTCTGTCTCGTAGACGACGTGAGGCAATCAGCTTTCCTGGCACACTCCGTGCCGACCCGGGTGAGAGGGACGATAACGACGGCGCAGCCGTGCTGGTTTTGAGACTCACACCAAACCTGCGCATGTGCCTGATGTTG
ACACCACAGATAGACCAGGGGAGCGCCACTCACAGGGGAGCGCGCACCCGTTCTCCTATTCAGTCTCTGAGCTTTCGACTGACGCAGACCATCCAGCGGGGTGGACGTGAGTCCATCCTGGGCGCTGTGTGCGTCGAGCCCACCCCCTCACAGACCGCACCGCGCTGACTCCGTGGTGGGGAGCCTGACCAGCGCGGTCAGCTCCTCGAGCCCAGAAGGTCTGGAACTCTCCCAGACAGACGATAACCCC
TGTGGTGTCTATCTGGTCCCCTCGCGGTGAGTGTCCCCTCGCGCGTGGGCAAGAGGATAAGTCAGAGACTCGAAAGCTGACTGCGTCTGGTAGGTCGCCCCACCTGCACTCAGGTAGGACCCGCGACACACGCAGCTCGGGTGGGGGAGTGTCTGGCGTGGCGCGACTGAGGCACCACCCCTCGGACTGGTCGCGCCAGTCGAGGAGCTCGGGTCTTCCAGACCTTGAGAGGGTCTGTCTGCTATTGGGG
CACCCCTCGGTCGGACCCTGACTGTGCTACACGTCCAGACCGTTAGACGATAGGACCCAGTGACGCTGCCCACCGGGGACTCTCGGACCATAAGCTGCGCCGACGGAACGTGGTGCAGTCGATCCCTCGTTCGCCAGCCCGCTCAACCTGTCCAATTGTGAGTCACACTCGAGGGTCCGCGGACGAAGTGAGCACCAGTGGTTAGCACCCTCG
GTGGGGAGCCAGCCTGGGACTGACACGATGTGCAGGTCTGGCAATCTGCTATCCTGGGTCACTGCGACGGGTGGCCCCTGAGAGCCTGGTATTCGACGCGGCTGCCTTGCACCACGTCAGCTAGGGAGCAAGCGGTCGGGCGAGTTGGACAGGTTAACACTCAGTGTGAGCTCCCAGGCGCCTGCTTCACTCGTGGTCACCAATCGTGGGAGC
AAAAAATCTTGCGAACAAGCCCTGACACGGAAGATAATTGTGTGATACATCAATTCTAAATCAGACTGTAAACATATATCTGCTAGTCTTCCCGACAGTGTCACTCAGGTACAATGACTTGAATTATCACAACAAGAATGTCTGATATTGACATCGATTCTACTTGACACCACATCTATGTCAGATTCATATCAATAAACTCACAAACAACTATTGATTCACATGTAATTTGAGTATTACTCATCAACTTGAAGTCATACTATGTAACAGTGTGAAGGAAGTTTTTTCTTTAAGTCTGTACTTGAGTAGAACATCTACTCTCTCGTACAATGAGACATAGTTC
TTTTTTAGAACGCTTGTTCGGGACTGTGCCTTCTATTAACACACTATGTAGTTAAGATTTAGTCTGACATTTGTATATAGACGATCAGAAGGGCTGTCACAGTGAGTCCATGTTACTGAACTTAATAGTGTTGTTCTTACAGACTATAACTGTAGCTAAGATGAACTGTGGTGTAGATACAGTCTAAGTATAGTTATTTGAGTGTTTGTTGATAACTAAGTGTACATTAAACTCATAATGAGTAGTTGAACTTCAGTATGATACATTGTCACACTTCCTTCAAAAAAGAAATTCAGACATGAACTCATCTTGTAGATGAGAGAGCATGTTACTCTGTATCAAG
CAACTCACCCTCTTTGTGATCATTTTACTTACCGACTTCCGGTGAGAGTATAGAAATATCACAGAAAGATGCCGATCTAAAATCTGTTATACACACTGAGATCGTGTGAGAAATATGAAATATCTCAGAAACATGATAACTTTGTGATCAATAATGTCTACGTGTGAGTAAGTGTGTGTGAATCGTAGTATCGTTAGATTATACTCTGTATCTTGGCCTACAAATAAGTTGCTCAGTAATTCAGTTCAGCTCAATGAGAAGTATTTAGACTCACAGAGATGCATCATATTACAGTCTATGAACCCGACTGTCAGACTTTGGGACTTCATAA
GTTGAGTGGGAGAAACACTAGTAAAATGAATGGCTGAAGGCCACTCTCATATCTTTATAGTGTCTTTCTACGGCTAGATTTTAGACAATATGTGTGACTCTAGCACACTCTTTATACTTTATAGAGTCTTTGTACTATTGAAACACTAGTTATTACAGATGCACACTCATTCACACACACTTAGCATCATAGCAATCTAATATGAGACATAGAACCGGATGTTTATTCAACGAGTCATTAAGTCAAGTCGAGTTACTCTTCATAAATCTGAGTGTCTCTACGTAGTATAATGTCAGATACTTGGGCTGACAGTCTGAAACCCTGAAGTATT
ATCAATCGTTCTGTTCTACATGCGCAGATCGTCATCTTATTTCAGACAAACTAGATAAGTATCACTAGTAATTAGAAGAAAAGATTCAGAGATATAGTCACTAGTACTGTGAAAACAC
TAGTTAGCAAGACAAGATGTACGCGTCTAGCAGTAGAATAAAGTCTGTTTGATCTATTCATAGTGATCATTAATCTTCTTTTCTAAGTCTCTATATCAGTGATCATGACACTTTTGTG
CAACACAAGTAGACTGTCATACTCTAGCAAGTATTTACAATTAGTTGTTATAACACTACCTGACTCTTTCATTTACTCTCTTGTAGAGTGAAAAGATTTTAGAAATTGTACTAAAAAGACAGCCACTTGCGCTCTGTTGTTCAAGACGAACTTATATGTACGCGTCAAAGCTTAGTTATTACTAAATGACAGAAGTTCTGTCAAAC
GTTGTGTTCATCTGACAGTATGAGATCGTTCATAAATGTTAATCAACAATATTGTGATGGACTGAGAAAGTAAATGAGAGAACATCTCACTTTTCTAAAATCTTTAACATGATTTTTCTGTCGGTGAACGCGAGACAACAAGTTCTGCTTGAATATACATGCGCAGTTTCGAATCAATAATGATTTACTGTCTTCAAGACAGTTTG
CCACCTCACTCGCTGCATTTCCTGGCGCCTGACGACCTCCCACTGAGAGTAGGTCCTTAACTCCTTGCCAGACACACTGTGTCCGACCTGGTGACGTAAACTCCAAAGCAGCAGGTCAGTAGACCTCGCTCTCGACCGCCCTGCATCAGAGCGCGTGTGCTCAACTCCCACAGGTGCGGGCTCCCCGACCTGCGGGCACGGCAAGTCCACCGGAGCCGGACAGGATTCGTGCCTTAGACCCTGAGGACGGGGCACGATAGGACCATAACAGACACGGTCGACGGGTCCACGTGTCCAAACCAGCCATACACTCCATCCTCGGCCGTGAGGTTCAGTGACGGACACGTGCACGCCCACAGCAATGCAGGCAATGTCGCAGAACAAA
GGTGGAGTGAGCGACGTAAAGGACCGCGGACTGCTGGAGGGTGACTCTCATCCAGGAATTGAGGAACGGTCTGTGTGACACAGGCTGGACCACTGCATTTGAGGTTTCGTCGTCCAGTCATCTGGAGCGAGAGCTGGCGGGACGTAGTCTCGCGCACACGAGTTGAGGGTGTCCACGCCCGAGGGGCTGGACGCCCGTGCCGTTCAGGTGGCCTCGGCCTGTCCTAAGCACGGAATCTGGGACTCCTGCCCCGTGCTATCCTGGTATTGTCTGTGCCAGCTGCCCAGGTGCACAGGTTTGGTCGGTATGTGAGGTAGGAGCCGGCACTCCAAGTCACTGCCTGTGCACGTGCGGGTGTCGTTACGTCCGTTACAGCGTCTTGTTT
AAACAAGAGTGCGCGACCCTCAGTGCTTTAGACTGGGCCAGGTTCCCAGCCTCACGTCCCCCGAGACCCCGTGCCTGTCAGCATTTGTGTCCGGCAGGAAGGGTGCCTCACGTGGGCGGACTCATACACGGACAGGTCGCCGCTCGCGGACAGACGTGGTCCGACTCCTGCGGCGACAGACGCAGCAGCCGACCGTGACGTCGCGCCAGACCTTCACCCGCAGAGCATGACTGCGTGTCCACCA
TTTGTTCTCACGCGCTGGGAGTCACGAAATCTGACCCGGTCCAAGGGTCGGAGTGCAGGGGGCTCTGGGGCACGGACAGTCGTAAACACAGGCCGTCCTTCCCACGGAGTGCACCCGCCTGAGTATGTGCCTGTCCAGCGGCGAGCGCCTGTCTGCACCAGGCTGAGGACGCCGCTGTCTGCGTCGTCGGCTGGCACTGCAGCGCGGTCTGGAAGTGGGCGTCTCGTACTGACGCACAGGTGGT
AAACTTGGGTTGATGGGGTTCAATTAACACAGCCACTAAGACTCTCTTCTAGATAGTGTACAATTTACTTGGCATGAACCCGACAGTCTAATGTATTTAGACAGAAACTTCATTACTTTCTCTTGTATAATCACTTCCACAAAAACACTTGCTGACTATGTC
TTTGAACCCAACTACCCCAAGTTAATTGTGTCGGTGATTCTGAGAGAAGATCTATCACATGTTAAATGAACCGTACTTGGGCTGTCAGATTACATAAATCTGTCTTTGAAGTAATGAAAGAGAACATATTAGTGAAGGTGTTTTTGTGAACGACTGATACAG
```

And the output to that is:

```AS THE RHYTHM DESIGNED TO BOUNCE
WHAT COUNTS IS THAT THE RHYMES
NOW THAT YOUVE REALIZED THE PRIDES ARRIVED
WE GOT TO PUMP THE STUFF TO MAKE US TOUGH
FROM THE HEART
ITS A START A WORK OF ART
TO REVOLUTIONIZE MAKE A CHANGE NOTHINGS STRANGE
PEOPLE PEOPLE WE ARE THE SAME
NO WERE NOT THE SAME
```

And that is exactly the expected output.

However, we officially failed the first test because our formatting was wrong. Because the sample input is so ridiculous to type, we only used the first two lines (so one line of output) and so we didn't see that we weren't printing a new line after each DNA. We simply left out `System.out.println();`. So then we added it, but it counted as our second try.

Using their second judging test input:

```ACAGGCGAAGACCGCGAGAGACTCTGACTCCAAGAGGGTGTGCTCCCCCGACTCATTCACCGACAGGACCGGCCTCCCTGGCTCCATTTGTGCATACGTGACTCGGGTGCCGCGACGAGAAGAGCTAACCAGGTTAACAGACAATCGAGGGCCCTCTCTCCGAGCAGCGCAGGCAGTGCTCGCCGGACCCTATGTCGCGGTCTGCTAGACTCGGACTC
TGTCCGCTTCTGGCGCTCTCTGAGACTGAGGTTCTCCCACACGAGGGGGCTGAGTAAGTGGCTGTCCTGGCCGGAGGGACCGAGGTAAACACGTATGCACTGAGCCCACGGCGCTGCTCTTCTCGATTGGTCCAATTGTCTGTTAGCTCCCGGGAGAGAGGCTCGTCGCGTCCGTCACGAGCGGCCTGGGATACAGCGCCAGACGATCTGAGCCTGAG
ACACACTCTGACCCAGTACTTATGTTTTTGTGTGTGAATTGTATTATGTCACCCAGTTACACTAGTTTAATGTACGGTTGATTGTCTCTTTCTCAGAATGTAAAGTTTTAAGAACTACTCTCTAGGTACTTATTACATAATCAGTCAGCCACAATATCAGACTAGATGTATGACAGAAGCCTTCATTCACAGTGAACGTGAGTAGGACCACC
TGTGTGAGACTGGGTCATGAATACAAAAACACACACTTAACATAATACAGTGGGTCAATGTGATCAAATTACATGCCAACTAACAGAGAAAGAGTCTTACATTTCAAAATTCTTGATGAGAGATCCATGAATAATGTATTAGTCAGTCGGTGTTATAGTCTGATCTACATACTGTCTTCGGAAGTAAGTGTCACTTGCACTCATCCTGGTGG
CACCACTGTGTGGCTCAAACTGTTCAATAATGATATGGTGTATTAGACTAGGGATCTCTCTAAAGTATTAACTTTCCCTCTTACTGAGTGAGTTTAGTTAATAGTAAACCTGAATTAGTCTGATCTTCAAAGTGTGTTCCTATGATTCTGTCAGATCCACTCATCGAC
GTGGTGACACACCGAGTTTGACAAGTTATTACTATACCACATAATCTGATCCCTAGAGAGATTTCATAATTGAAAGGGAGAATGACTCACTCAAATCAATTATCATTTGGACTTAATCAGACTAGAAGTTTCACACAAGGATACTAAGACAGTCTAGGTGAGTAGCTG
CACTTGGACTGCAATTCTCACTCAGCTGCCCGGAGTGCTAGTCGGGGAGTGAAGCAGCTGCCCGCACAGTTTGACGACCGGAGCGGCACACTCTGCGCAGCCCGCTGGTGCTCACAGGAAGGACGGGGCTCACTGGGAGCTGCCCACCAGGAGACTCGAA
GTGAACCTGACGTTAAGAGTGAGTCGACGGGCCTCACGATCAGCCCCTCACTTCGTCGACGGGCGTGTCAAACTGCTGGCCTCGCCGTGTGAGACGCGTCGGGCGACCACGAGTGTCCTTCCTGCCCCGAGTGACCCTCGACGGGTGGTCCTCTGAGCTT
AAAGAACGAGAGAGCTTCATGTAATATGTTAAGATGAAACTCTGATGCTAACAACGCGTCTGACGATCTATGTGTCTTTCTATACATTTTTGAACGTATGATTCACTGAGACTTAGTGTTCCTACAAATTTCTATGGCTGATACACAGTCAGTAAAGATTAATCTTACTTAGTAGGCGACTGTGGGAGTAGGCTATGATAATAGAGAGAAAGTACCGGATGTTTATTGTAAAGTACTCTCTCTGTGAACCTGTAGAACTGATGGCTTGATAGAGACACTTCCTCTGATCGAACAC
TTTCTTGCTCTCTCGAAGTACATTATACAATTCTACTTTGAGACTACGATTGTTGCGCAGACTGCTAGATACACAGAAAGATATGTAAAAACTTGCATACTAAGTGACTCTGAATCACAAGGATGTTTAAAGATACCGACTATGTGTCAGTCATTTCTAATTAGAATGAATCATCCGCTGACACCCTCATCCGATACTATTATCTCTCTTTCATGGCCTACAAATAACATTTCATGAGAGAGACACTTGGACATCTTGACTACCGAACTATCTCTGTGAAGGAGACTAGCTTGTG
ACCAAGACGTTCTCTCGGTCAGAGGTTTGCAGTCTCCGTCCGGGTGTCCATGCCGTGCCCCGTGAGGTTCACGCTCACAGGATGGGACCCAAGCCACGGGGGTGGCTGCCTCCCAGTGAGCCATGCTCCGAGAGTGGTTACCACTCCAACTGGACCTCTGTGTAGCTGGGAGTGCACGGCGCAGCCATCGTCGTGGTCTCAGTCCCTCCAATCCTCCCTCACAGTCCATCACAGGTTCA
TGGTTCTGCAAGAGAGCCAGTCTCCAAACGTCAGAGGCAGGCCCACAGGTACGGCACGGGGCACTCCAAGTGCGAGTGTCCTACCCTGGGTTCGGTGCCCCCACCGACGGAGGGTCACTCGGTACGAGGCTCTCACCAATGGTGAGGTTGACCTGGAGACACATCGACCCTCACGTGCCGCGTCGGTAGCAGCACCAGAGTCAGGGAGGTTAGGAGGGAGTGTCAGGTAGTGTCCAAGT
CAACATGTACGAGTCAAAAAGTCTAGAGCACAAAGTGAACATAAAAGAAACTCTCAGACGTACATACAGACACAAGATGACGAAGTCTAATGAAGATGGGCTGATTGAATGTCGTTCTTGATATTTCTCTACCAGATACACTGAATGAGCACAC
GTTGTACATGCTCAGTTTTTCAGATCTCGTGTTTCACTTGTATTTTCTTTGAGAGTCTGCATGTATGTCTGTGTTCTACTGCTTCAGATTACTTCTACCCGACTAACTTACAGCAAGAACTATAAAGAGATGGTCTATGTGACTTACTCGTGTG
ACTCCACCAGACCAAACCCACGCCCGTCCTTTTGTCTGGTGGTGCCTCGGACGGAGTCACAGCTGCCACGCCCCTCTCTGCGTCCTTATCCAGGGCGGTCGGTAGGTCGACGACAGGCATTGTCGACGGCACACTCGGGAGGCGCCACTGAGGCAGGTCCGGAGCGTGACGTCGCCGGTGTGGGGGACCAAATCACTCAAAGACCGAGAGTCACGTCCTGACCTTGGTCGCCGCACTGTCGCTGGACGGGTGCCGCTCTGTCAGGGGTGGCGGCACCCCTCCAGGCTCT
TGAGGTGGTCTGGTTTGGGTGCGGGCAGGAAAACAGACCACCACGGAGCCTGCCTCAGTGTCGACGGTGCGGGGAGAGACGCAGGAATAGGTCCCGCCAGCCATCCAGCTGCTGTCCGTAACAGCTGCCGTGTGAGCCCTCCGCGGTGACTCCGTCCAGGCCTCGCACTGCAGCGGCCACACCCCCTGGTTTAGTGAGTTTCTGGCTCTCAGTGCAGGACTGGAACCAGCGGCGTGACAGCGACCTGCCCACGGCGAGACAGTCCCCACCGCCGTGGGGAGGTCCGAGA
ACCCAGGTAGGCACCGACAGACCATGTCTGGTTCACACGGAGTCCTGGGCCGTGCAGCCGTGGGACACTCCCCGACACAGCTGCGTCGCCCGTGTTGCTGACCATTACACAGAGAGGACCCCCGTGAGCTAGACCGGCTCTGATGGA
TGGGTCCATCCGTGGCTGTCTGGTACAGACCAAGTGTGCCTCAGGACCCGGCACGTCGGCACCCTGTGAGGGGCTGTGTCGACGCAGCGGGCACAACGACTGGTAATGTGTCTCTCCTGGGGGCACTCGATCTGGCCGAGACTACCT
CCACCCGTGCGTTCCAGCACCACTCGGAAAGAGGACCCGACTCAGCCCTGGCCCGACAGTGCCTCGACCGCACCCAGAGGACCGCCGAGTGGCGCACCAATAGTGACTTAGAGCCTCTCTGACGTGCC
GGTGGGCACGCAAGGTCGTGGTGAGCCTTTCTCCTGGGCTGAGTCGGGACCGGGCTGTCACGGAGCTGGCGTGGGTCTCCTGGCGGCTCACCGCGTGGTTATCACTGAATCTCGGAGAGACTGCACGG
```

And the output to that is:

```CAUSE WE DONT KNOW THE GAME
WHAT WE NEED IS AWARENESS
WE CANT GET CARELESS
YOU SAY WHAT IS THIS
MY BELOVED LETS GET DOWN TO BUSINESS
MENTAL SELF DEFENSIVE FITNESS
MAKE EVERYBODY SEE
IN ORDER TO FIGHT THE POWERS THAT BE
LEMME HEAR YOU SAY
FIGHT THE POWER
```