huffman/my.c
main() {
char *c,b[5*72];
int a,e,d[9*9*9];
while(gets(b)) {
if(0[b]-7*5) {
c=b;
while((*c-6*7)**c) c=c+1;
if((-0)[c]&&gets(b+8*5*3)&&gets(b+8*5*6)) {
a=0;
while(a[b]) {
a[d]=!!(a[b]-4*8);
a=a+1; }
while(a<8*5*3) d[(a++)]=0;
a=0;
while(b[a+8*3*5]) {
d[a]=a[d]+!!(b[a+40*3]-4*8)*2;
++a; }
a=0;
while(a[b+6*40]) {
a[d]+=!!(b[a+5*6*8]-4*8)*4;
a=a+1; }
a=0;
while(a<3*8*5) {
if(a[d]) {
e=1;
while(e[a+d]) {
*(d+a+e)=a[d+e-1]+(d[a+e]<<(3*e));
e=e+1; }
a=a+e-1;
putchar(!!(*(d+a)%(64)-12*5)+
(e>4)
?" A?B?K?L?CIF?MSP?E?H?O?R?DJG?NTQ?????U?V?????X???????Z????W??Y??"[e>2?2:a[d]]
:6*8+(" A?B?K?L?CIF?MSP?E?H?O?R?DJG?NTQ?????U?V?????X???????Z????W??Y??"[d[a]/8/8]-4)%(10));
if(!(2[a+d]+3[d+a])) putchar(4*8); } /* if(a[d])... */
a=a+1; } /* while(a<3*8*5)... */
putchar(5*2); } /* if((-0)[... */
else {
c=b;
e=0;
while(*c) {
*c+=-(*c>8*12)*32;
a=8*8;
if(*c>=48&&*c<8*8-6) {
*c=(*c+1)%(5*2)+65;
while(--a>0&&*c-a[" A?B?K?L?CIF?MSP?E?H?O?R?DJG?NTQ?????U?V?????X???????Z????W??Y??"]);
d[(e++)]=4;
(*(d+(e++)))=07; }
else while(a-->1&&*c-" A?B?K?L?CIF?MSP?E?H?O?R?DJG?NTQ?????U?V?????X???????Z????W??Y??"[a]);
d[(e=e+1)-1]=a%8;
while(a/=8) d[(e++)]=a%8;
++c;
*(e+++d)=0; }
--e;
if(e>0) {
a=1;
while(a<8) {
c=b;
while (c<e+b) {
putchar(*(c-b+d)&a?6*7:8*4);
c++; }
a=a+a;
putchar(2*5); } /* while(a<8) */
putchar(5*2); } /* if(e>0) */
} /* else of if(-0[d... */
} /* if(0[b]-7*... */
} /* while(gets(b)) */
} /* main */