= Frequency Analyzer == Task Implement a program that analyzes arbitrary text files by counting the occurrence of letters. All special characters (e.g. `-`, `.`, `,`,`\s`,`\n`) and numbers should be ignored. The program should treat all letters as case-insensitive and output: * the letter, * the number of it occurance and * a percentage value in relation to all letters in the text --- For example, the following text should generate a similar output as shown below. `This is a simple test` [cols="",opts="autowidth"] |=== |S |4 | 0.23529 | 23.529 % |T |3 | 0.17647 | 17.647 % |I |3 | 0.17647 | 17.647 % |E |2 | 0.11765 | 11.765 % |H |1 | 0.05882 | 5.882 % |A |1 | 0.05882 | 5.882 % |M |1 | 0.05882 | 5.882 % |P |1 | 0.05882 | 5.882 % |L |1 | 0.05882 | 5.882 % |=== --- TIP: Design your program such that you can easily reuse the frequency-analysis component in other programs as well. WARNING: You can use any programming language you want. We will need the frequency analyzer for some other challenges as well. So choose wisely! --- Example output of a fequency analyzer program using the input link:./../test.txt[test.txt]. [source, Shell] -- $ python solution.py ../test.txt E 562 0.11408 T 467 0.09480 I 428 0.08688 A 423 0.08587 O 396 0.08038 S 356 0.07226 U 344 0.06983 M 299 0.06069 R 292 0.05927 L 277 0.05623 D 246 0.04993 N 242 0.04912 C 137 0.02781 P 104 0.02111 G 77 0.01563 V 67 0.01360 B 52 0.01055 Q 38 0.00771 Y 28 0.00568 K 24 0.00487 F 22 0.00446 J 12 0.00243 H 11 0.00223 Z 10 0.00203 X 8 0.00162 W 4 0.00081 --