#include #include #include #define r char S; T R; I N, G, s #define A(P,O) for(P=O; *P; P=U(P)) typedef char T[128],*I,p[2400]; #define memset (I)\ memset void*P= strcpy ; I Q(); typedef const void*f; int u(f P,f O){ return strncmp ((I)P,(I)O,1); } T g,c={ 127} ; char l,F[6000000]; I U(I P){ r; strncpy (R,P,2); s= strchr ( strcpy (P,c),0) ; strncpy (P,R,2); return s; } T q,B,E; I t(I P){ r; qsort (P, strlen (P),1,u); if(s= strstr (P,c))*s=0; return P; } T a={ 2} ; void D(){ r; S=1; strcpy (R,c); t(F); for(; memset (E,S,l), (S= strlen ( strcat (R,c)))<*R; t(s))for(s=B; N= strstr (F,E); s=F) * memset (N,*c,l)=S; } p H="(*&,.",k; I j(I P){ r=(I) malloc ( strlen ( strcat (P,"\177 "))); * strstr (P,c)=0; return strcpy (s,P); } int K(f P,f O){ return u(O,P); } void b(){ qsort (F, strlen (F),1,K); } void n(I P){ r; A(P,P){ if(N= strchr (F,*P)); else{ t(F); b(); memset (B,l,*F); N=F; while(* strrchr (B,l)=0, *P<=(S= strlen (B))){ * memset (E,S,l) =*c; strcat (F,E); } memset (B,0,S); } *N=*c; } D(); } void C(I P,I O){ r; A(P,P)A(s,O){ * strrchr ( memset ( strchr ( memset ( strncpy (k,B,254),l,*P),0),l,*s),l)=0; *q= strlen (k) ; strcat (F,q); } D(); } T i="\13<\f="; void o(I P){ A(P,P){ * strrchr ( memset (B,*c,*P),*c) =0; memset (B,0, *P= strlen (B)); } } int V(f P,f O){ return u(*(I*)P,*(I*)O); } void e(I O){ r; strcpy (H,O) ; strcpy (R,c); for(; 0< strncmp (F,H,1) ; strcat (R,c))A(s, H) memset (B,0, *s= strlen ( strcat ( memset (B,*c,*s),c))); *k=0; do{ while (0<= strcmp (F,H)){ n(H); b(); *q= strlen (R) ; strcat (k,q); } * strrchr (R,*c)=*B; o(H); } while(*R); } char d(I P){ if(P= strstr (P,g)){ if((*g= getchar ())<*i)' '<*g?o(g):d(" "); } else P=B; return*P; } I m(I P){ qsort (P, strlen (P),1,K); return*P==*c?U(P):P; } void J(I P){ r=m(P); if(P