{$H+}

program Compressor;
uses strutils;

var textToCode : string = '1111111111111111111111111111111111110000000100010100111111100100000001101111101000110100000111111011111011010001010100100010011100110100010110100010100101000110110101101000101101000101111110011101101001010001011011111010110010010000100110111110110000000101010101010101010100000001111111111101100110001111001111111111001100011110100110101010011010000110011001010010110010011111011001101101000101011001110011100111110100111010111101100101010011110101111100111101000001010000001001010111100111101000111001111110001011000000011011011000010101100000011100111001001110011001001010111001111010100001001101101100011001001000001110110111111011011101011000111010101011110110110111100001001110101110011111010011100100010111101101011000111100011111110001010010101110100010000101111110010101010010110010110111011011101111011001001111000111000111110110111111011110100101100111010111110111110001010110001111101000110000010011111111111001100010011111101110110111000000011011101010110001010100011110111110101111010100100000111001001101000101000100011001001100000111011010001011010101001001111011111100110100010111010100001110010111101011101111101001000001011100110000011111000000010100010101100011110111110111111111111111111111111111111111111';
    sbit : string;
    i : smallint;
begin

  // length(textToCode) / 5

  i := 1;
  repeat
    //write(i); write(', ');

    sbit := sbit + textToCode[i];
    sbit := sbit + textToCode[i+1];
    sbit := sbit + textToCode[i+2];
    sbit := sbit + textToCode[i+3];
    sbit := sbit + textToCode[i+4];

    //write(sbit); write(', ');

    sbit := ReplaceText(sbit, '00000', '*'); // 0
    sbit := ReplaceText(sbit, '00001', 'b'); // 1
    sbit := ReplaceText(sbit, '00010', 'c'); // 2
    sbit := ReplaceText(sbit, '00011', 'd'); // 3
    sbit := ReplaceText(sbit, '00100', 'e'); // 4
    sbit := ReplaceText(sbit, '00101', 'f'); // 5
    sbit := ReplaceText(sbit, '00110', 'g'); // 6
    sbit := ReplaceText(sbit, '00111', 'h'); // 7
    sbit := ReplaceText(sbit, '01000', 'i'); // 8
    sbit := ReplaceText(sbit, '01001', 'j'); // 9
    sbit := ReplaceText(sbit, '01010', 'k'); // 10
    sbit := ReplaceText(sbit, '01011', 'l'); // 11
    sbit := ReplaceText(sbit, '01100', 'm'); // 12
    sbit := ReplaceText(sbit, '01101', 'n'); // 13
    sbit := ReplaceText(sbit, '01110', 'o'); // 14
    sbit := ReplaceText(sbit, '01111', 'p'); // 15
    sbit := ReplaceText(sbit, '10000', 'q'); // 16
    sbit := ReplaceText(sbit, '10001', 'r'); // 17
    sbit := ReplaceText(sbit, '10010', 's'); // 18
    sbit := ReplaceText(sbit, '10011', 't'); // 19
    sbit := ReplaceText(sbit, '10100', 'u'); // 20
    sbit := ReplaceText(sbit, '10101', 'v'); // 21
    sbit := ReplaceText(sbit, '10110', 'w'); // 22
    sbit := ReplaceText(sbit, '10111', 'x'); // 23
    sbit := ReplaceText(sbit, '11000', 'y'); // 24
    sbit := ReplaceText(sbit, '11001', 'z'); // 25
    sbit := ReplaceText(sbit, '11010', 'A'); // 26
    sbit := ReplaceText(sbit, '11011', 'B'); // 27
    sbit := ReplaceText(sbit, '11100', 'C'); // 28
    sbit := ReplaceText(sbit, '11101', 'D'); // 29
    sbit := ReplaceText(sbit, '11110', 'E'); // 30
    sbit := ReplaceText(sbit, '11111', '!'); // 31

    write(sbit);
    //write(', ');
    sbit := '';
    i := i + 5;
  until i = 1226;
  
  writeln(' [END]');

end.
