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 */