#define HUFFMAN_TREE_DEPTH 17 int Left[255] = { 1, 2, 3, 4, 5, 6, 7, -36, 9, -66, -91, 12, -73, 14, 15, 16,-131, -6, 19, 20, 21, 22, 23, 24, 25,-169,-232, 28, -3, 30, 31,-146,-158, -7, -15,-156,-176,-200,-181, 40, 41,-121, 43, 44, -55, 46, 47,-115, 49, 50, 51, 52, -80, 54, -60,-195, 57, 58,-216, 60, -33,-244,-253, 64, -90, -63,-234, -71, 69,-105, -104, 72, 73, 74, 75,-212,-255,-219,-133,-153, 81,-178, 83, 84, 85, 86,-184, 88, 89, 90, -227, -9, 93,-183, 95, 96,-122, 98, -82,-194, 101, 102, 103, -74, 105, 106, 107, -67, 109, 110, -177,-230, 113, -19, 115, 116,-124, 118, 119, -26, -28,-134,-119, -44, 125, -34, 127, -92,-202, 130, 131,-221, 133, 134,-157,-250, 137, 138, 139, 140, 141, 142, -96, -40, 145, 146,-166, 148,-238, -14, -22,-132, 153,-151, 155, 156, 157, 158, 159, 160, -53, 162, 163,-211, 165,-129, 167, -51, 169, 170, 171, 172, -62,-214,-207, 176, 177, 178,-113, 180, -209, 182, -95,-185, -84, 186, 187, -83,-191, 190, 191, 192,-246, 194, -20, 196, 197, 198,-141,-143, -154,-160, -75, 204,-144, 206,-164, 208, 209, 210, -107,-222, 213, 214, -52, 216, 217,-162,-243, 220, 221,-168, 223, 224, -27, 226, 227, 228,-125, 230, -240,-252,-245,-138, -79, 236,-217,-236, 239,-165, -109, -98, 243,-190, 245, -88, 247, -2,-126,-152, 251, -21,-136, -10, -48 }; int Right[255] = { 136, 45, 18,-101,-114, 11, -39, 8,-196, 10, -89,-161, 13,-172,-226, -93, 17,-135, 39,-111, -117, 37, 36, 26, -77,-106, 27, 29,-167, 33, -5, 32,-150, 34, 35,-148,-233, 38,-192, -8, -100, 42, -42,-173, -85, 68, 48, -97,-110, -99, 56, 55, 53, -72, -37, -76, 66, 61, 59, -86, -38, 62, 63, 65,-137,-247, 67, -35, 82, 70, 71,-103, 80, -78, 76,-254, 77, 78, 79, -31, -58,-193, 104, 92, -45, 87,-189, -50,-204,-239, 91,-218, 97, 94, -65,-180,-223,-118, 99, 100, -174,-182, -94,-139, 123, 122, 108,-188, 114,-213, 111, 112, -12,-249,-175,-224, 117, 120, -11, -30, 121,-142,-206, 124, 128, 126, -54, -57, 129, -56, 135, 132,-241, -25,-159, -1, -32, 205, 154,-116, -108, 143, -41, 144,-199, -13, 147, 151, 149, 150, -29, 152, -24,-155, 181, 168, 0, 166, 161,-170, -43,-208, -87, 164,-210,-251, -61, -68, 175, 174, -187, 173, -64,-237,-179, 179, -59, -70,-225,-203, -231, 185, 183, 184,-120,-112, 188,-242, 189, 195, -4,-228, 193, -17, -23, 202,-128, 201, 199, 200, -147, -81, 203,-220,-248, 238, 207, 215, 212, 211, -49,-163, -46, -69,-201, 225, 218,-198, 219, -47, -123, 222, -16,-130,-145, 237, 234, 229,-171,-186, 231, 232, 233,-140, 235,-197,-229,-235, 253, 240, 241, 242, 244,-205,-215, 246, 249, 248, -18, 250, 252,-127,-149, 254,-102 }; /* 24 $ -> 00000000 42 B -> 0000000100 5b [ -> 00000001010 59 Y -> 00000001011 c4 -> 000000011 27 ' -> 0000001 49 I -> 00000100 83 -> 000001010000 06 -> 0000010100010 87 -> 0000010100011 5d ] -> 00000101001 e2 -> 0000010101 ac -> 000001011 a1 -> 0000011 72 r -> 00001 65 e -> 0001 a9 -> 00100000000 6a j -> 00100000001 4d M -> 0010000001 e8 -> 0010000010 03 -> 001000001100 a7 -> 001000001101 92 -> 00100000111000 9e -> 001000001110010 96 -> 001000001110011 05 -> 0010000011101 07 -> 0010000011110 0f -> 00100000111110 9c -> 001000001111110 94 -> 001000001111111 b0 -> 001000010 e9 -> 001000011 c8 -> 00100010 b5 -> 001000110 c0 -> 001000111 75 u -> 001001 6f o -> 00101 79 y -> 0011000 37 7 -> 0011001000 55 U -> 0011001001 ad -> 001100101 2a * -> 00110011 64 d -> 001101 08 -> 00111 73 s -> 01000 61 a -> 01001 50 P -> 010100000 3c < -> 01010000100 25 % -> 01010000101 48 H -> 0101000011 c3 -> 010100010 4c L -> 010100011 d8 -> 0101001000 21 ! -> 010100100100 26 & -> 010100100101 56 V -> 01010010011 f4 -> 0101001010 fd -> 01010010110 5a Z -> 0101001011100 89 -> 0101001011101 3f ? -> 0101001011110 f7 -> 0101001011111 ea -> 010100110 47 G -> 0101001110 23 # -> 0101001111 63 c -> 010101 6e n -> 01011 69 i -> 01100 68 h -> 011010 d4 -> 01101100000 fe -> 01101100001 ff -> 01101100010 db -> 011011000110 85 -> 0110110001110 99 -> 01101100011110 1f -> 01101100011111 4e N -> 011011001 b2 -> 0110110100 c1 -> 0110110101 3a : -> 011011011 67 g -> 0110111 b8 -> 011100000 bd -> 011100001 e3 -> 011100010000 09 -> 0111000100010 da -> 0111000100011 ef -> 01110001001 cc -> 0111000101 32 2 -> 011100011 2d - -> 0111001 b7 -> 01110100 7a z -> 01110101000 df -> 01110101001 b4 -> 0111010101 41 A -> 011101011 52 R -> 011101100 c2 -> 0111011010 4a J -> 01110110110000 8b -> 01110110110001 5e ^ -> 0111011011001 b6 -> 011101101101 ae -> 01110110111 76 v -> 01110111 43 C -> 011110000 bc -> 011110001 b1 -> 01111001000 e6 -> 011110010010 13 -> 01111001001100 f9 -> 01111001001101 0c -> 0111100100111 d5 -> 0111100101 7c | -> 011110011000 1a -> 011110011001000 1e -> 011110011001001 0b -> 01111001100101 1c -> 01111001100110 86 -> 011110011001110 8e -> 011110011001111 e0 -> 01111001101 af -> 0111100111 77 w -> 01111010 ce -> 01111011 2c , -> 0111110 22 " -> 011111100 5c \ -> 01111110100 39 9 -> 01111110101 36 6 -> 0111111011 ca -> 011111110 dd -> 011111111000 9d -> 011111111001000 9f -> 011111111001001 19 -> 01111111100101 f1 -> 0111111110011 fa -> 011111111010 01 -> 011111111011 38 8 -> 0111111111 60 ` -> 10000000 29 ) -> 10000001 28 ( -> 10000010 a6 -> 10000011000 ee -> 1000001100100 0e -> 10000011001010 16 -> 100000110010110 1d -> 100000110010111 84 -> 1000001100110 97 -> 100000110011100 9b -> 100000110011101 18 -> 10000011001111 0d -> 1000001101 c7 -> 100000111 6c l -> 100001 74 t -> 10001 35 5 -> 10010000000 2b + -> 10010000001 aa -> 1001000001 d3 -> 100100001000 81 -> 10010000100100 fb -> 10010000100101 d2 -> 1001000010011 57 W -> 10010000101 d0 -> 1001000011 33 3 -> 1001000100 44 D -> 1001000101 3d = -> 100100011 00 -> 1001001 3e > -> 10010100000 40 @ -> 10010100001 d6 -> 10010100010 ed -> 10010100011 bb -> 100101001 cf -> 100101010 b3 -> 100101011 71 q -> 10010110000 e1 -> 10010110001 46 F -> 1001011001 3b ; -> 100101101 d1 -> 1001011100 e7 -> 1001011101 cb -> 100101111 5f _ -> 1001100 b9 -> 10011010 54 T -> 100110110 78 x -> 100110111 53 S -> 100111000 f2 -> 100111001 bf -> 100111010 f6 -> 1001110110000 14 -> 100111011000100 17 -> 100111011000101 11 -> 10011101100011 e4 -> 100111011001 04 -> 10011101101 8d -> 10011101110000 8f -> 100111011100010 9a -> 1001110111000110 93 -> 1001110111000111 a0 -> 10011101110010 51 Q -> 10011101110011 80 -> 100111011101 4b K -> 100111011110 90 -> 10011101111100 f8 -> 10011101111101 dc -> 1001110111111 70 p -> 1001111 a4 -> 10100 6b k -> 101010000 31 1 -> 101010001 de -> 101010010 a3 -> 101010011 34 4 -> 1010101000 c9 -> 1010101001 45 E -> 101010101 2e . -> 10101011 a2 -> 101011000 c6 -> 101011001 f3 -> 101011010 a8 -> 101011011000 1b -> 101011011001000 91 -> 101011011001001 82 -> 10101101100101 10 -> 1010110110011 7b { -> 10101101101 2f / -> 1010110111 7d } -> 10101110000 ab -> 10101110001 f0 -> 101011100100 fc -> 1010111001010 f5 -> 10101110010110 8a -> 101011100101110 8c -> 101011100101111 ba -> 10101110011 4f O -> 1010111010 d9 -> 101011101100 e5 -> 101011101101 c5 -> 10101110111 ec -> 101011110 eb -> 101011111 a5 -> 101100 6d m -> 1011010 62 b -> 10110110 be -> 1011011100 cd -> 1011011101 58 X -> 10110111100 02 -> 1011011110100 7e ~ -> 10110111101010 12 -> 10110111101011 98 -> 1011011110110 15 -> 101101111011100 7f -> 101101111011101 88 -> 101101111011110 95 -> 101101111011111 d7 -> 1011011111 0a -> 101110 30 0 -> 1011110 66 f -> 1011111 20 -> 11 */