<% <% '< <% +< <% 7$ ($A @$A "
+"($A &$ $A *$ $A C2 2; =2; 62; '2 2; +2 2; D# #B ?#B 6#B #B "
+"*# #B F HFG 1 L HFG 'F HFG NFM F :89 :89 J8I :89 &8 :89 +8K :89 ., "
+".,/ 5,0 .,/ ', ,/ +, ,/ -E -E3 4E -E3 &E E3 *E E3 2133024425660788"
+; R(x){ Z=x?0:2; S=x&l; } K(x){ R(x-P); C=x1?v[1]:"", j+32); t=i; if(g) { ;
+ for(; T+1;
+ _ t++ ]=s);
+ w r /* ### COMMODORE BASIC ### */n ;
+ d=w?i: U(C, n
+ -3); /* READY. */z=c>
+ 2?atoi( v[2])+1
+ :4; c=z ? n * z
+ / 4 : n; nodelay(
+ initscr( ), 1 ) ;
+ curs_set(I); cbreak(); noecho( ) ; for (; ;
+ ) { o++ % ( c *4) ?h :( h= getch () ,h-ERR?(_
+ 162]=h|l):0); if(!w){ s=(_ 59408]
+ |=z?l:0)&15; _ 59410]=~(h-ERR?(s^8?0:j[h|l]&1)|(j[h]/8
+ -5-s?0:1<>6; t=j[i+O]-35; M M M W 0 : L a = y G k = x G L
+ a=x)G L x = k ) G L y=a)G L x = a ) G P =y G P = x G P
+ =a G t=a-P-1+C,C r O?0:1,V=((a^ P ) & ( a ^ t )&l)/2 , L a r
+ f)G d=F,d+=F*O+1 G A(),d=F,d|=F*O G t=P,L P=P/2|C*l),C r 1 G t=P,L P=P*2|
+ C),C=t/l):A(b a=F G Y q G Y a G L a|=P)G C=P&1,L P/=2)G L y=P)b x=P b a=P G
+ s=U(1,--d),X(),d=s G d=i&32?U(0,e):e b++y b++x b++P b a^=P b--y b--x b--P):
+ K(y):K(x):K(a G J=0 G J=E 8:8:4:1)G d--,B=16,N() G L a&P),V=P&64
+ ,S=P&l):!H:H:(C=P/l,L P*=2)b a&=P G t=a+P+C,C r O?1:0,V=(~(a^P)&
+
+(a^t)&l)/2,L a r f)); t=e^O*O/2; if(t<1000){ s=P%l; i=A_REVERSE; P>s?attron(i)
+:attroff(i); mvaddch(t/40,t%40,s+w<32?s+64:s>95+w?s-32:s); } } } perror(*v); }
diff --git a/_src/2005/timwi.c b/_src/2005/timwi.c
new file mode 100644
index 0000000..d29f4d5
--- /dev/null
+++ b/_src/2005/timwi.c
@@ -0,0 +1,26 @@
+#include
+#define _ main(
+#define _l ___l ___l ___l ___l ___)
+#define __l int
+#define ___l ___)*(
+#define ____l (_l],
+#define ____ 1
+#define ___ __+_____
+#define __ ____+____
+#define _____ __+____
+#define ______1 *(l__
+#define _____1 *__1%(__
+#define ____1 )?(
+#define ___1 _1&(__
+__l __I[____l _I[____l*l__=_I,*l_=__I;__l _ __l _1,__l*__1){__l _l_;
+return ___1+ __ ____1 ___1 ____1*__1 = getchar()):__ ____1*__1<____?
+____:_____1+___ ____1 _____1+_____ ____1 _____1+____)____1 ___1+___+
+____ ____1 _____1 +__)____1 _____1 )____1 *l__)++:_____1+____)-____?
+______1 ++) :_____1+_____) -____?__:printf("%d\n",*l__):_____1+____+
+___ ____1 *l__) =*(l_++ ):__:___l ____- ____):_____1 +_____)-3?__-2:
+____:(___1+____+___ ____1 _____1)____1*l__)-- :_____1+__)?__:______1
+--):___l 0))?__:_ _1,__1+____)+____:(___1+____+___ )) &&* l__?_ ___1
++___+___+__),__1+____)?_ ___1+11 )|(___1)?____:__- 2),__1):____-1 :(
+_l_=_ ___1 -____+___l ____),__1+____ )) ?_l_+_ ___1 )?_1 :___1+10)|(
+___1-____ ____1 __):0),__1+_l_):0):__:_1%(__ ____1 _1/(__)) ?_ scanf
+("%i",__1 ____1 _____):(___l _____)-____,__1 +____):_ _____,l_):__;}
diff --git a/_src/2005/toledo.c b/_src/2005/toledo.c
new file mode 100644
index 0000000..cf98e3c
--- /dev/null
+++ b/_src/2005/toledo.c
@@ -0,0 +1,64 @@
+#define F getchar())
+ #define H(z)*n++=z;
+ #include
+ #define v main(0,0,0
+ #define Z while(
+ #define _ if(
+#define o(d) (u[l]=0,l[d]=6^e,q=1e4>v,0),l[d]=0,u[l]=e^6,q)
+#define I(H,n) { _ r=l[x=H],!r|(r^e)<-1){ _ j=u[l],-7==r|6==r\
+){ n; e=~e; return 1e5- f; } u[l]=0,t=j+1,i=j-1; _!i&89x)t=j,i=-7; Z++ix)*(9*O[28+i]-288))+O[r+28\
+]*9-288+O[x%10+33]-f-O[33+u%10]; x[l]=i; S|=(21=\
+=u|21==x)*2+(u==28|28==x)*4+(91==u|x==91)*16+32\
+*(u==98|x==98)+(20==d)*64*x; a-=k>f?main(a,f+1\
+,M,k):0; _ i==c&u==h&!f&N&a>-1e4&x==y)longjm\
+p(z,1); S=b; _!N|f&&(a>M||!f&a==M&&1&rand()\
+)){ _!f){ _ k){ c=i; h=u; y=x; } } else _ \
+L-aGK[_`fFDZXEYR" "L\t####"
+"##B#A#@#G#F#E#D#K\t\3Zlv#tjm" "\3J#tjm\3Pwb"
+"ofnbwf\3Joofdbo\3)&`&`.&`&`" "#+&g*\t"; G y,
+c,h,e,S,*s,l[149]; jmp_buf z ; G main(G L,G f,
+G N,G k){ G u=99,p,q,r,j,i,x ,t, a, b,d,M=-1e9
+; char *n; if( *l){ e=~e; Z u >21){ q= l[--u]^e;
+_!-- q){ _!l[p=e?u-10:u+10]){ I(p,)_ e?u>80 & !l[p
+-=10]:u<39&!l[p+=10])I(p,)} _ l[p=e?u-11:9+u] )I(p,)
+else _ u-1==S>>6){ l[u-1]=0; I(p,l[u-1]=-2^e); } _ l[
+p=e?u-9:11+u])I(p,)else _ S>>6==1+u){ l[1+u]=0; I(p,l
+[1+u]=e^-2); } } _!--q){ n=O+41; Z++n<50+O)I(u+80-*n,
+)} _ 0q){ n=q==2?53+O:O+49; Z++nh|98(h+1 )%
+ 10); O[h++]^=3; } n=O +14; s=20+l; Z
+ ++s<29+l){ 10[s]=1; 70[s]=~ ( * s = *
+ n++ -+84); 60 [ s] =-2; } Z n=J){ puts
+ (58+O); u=19; Z++u<100){ H(32)_!( u%10
+ ))H(32)H(O[7+l[u]])_(9+u)%10>7){ H(58
+ -u/10)H(32)_ u&1)puts(n=J); } } puts
+ (O+58); _-1e4 >v , 1)){ e=~e; puts
+ (O+(v,0)> 1e4?e?90:82:96)); break
+ ; } _ 11&&u!=c
+ [O]); c=e^c-7; } } _!
+ setjmp(z)){ v+1,1);
+ puts( 106+
+ O); } } Z
+ 10!=
+ F; }
diff --git a/_src/2005/vik.c b/_src/2005/vik.c
new file mode 100644
index 0000000..73a6a69
--- /dev/null
+++ b/_src/2005/vik.c
@@ -0,0 +1,109 @@
+#include
+#include
+#include
+#include
+#include
+#include
+Window L;
+GC N;
+Display *K;
+XEvent O;
+XImage *Q;
+float w, x, y[7 << 16];
+struct timeval S, U;
+int a, b, c, d =
+ 92, e, f, g, h, i, j, k, l, m, n, o, p, *q[96], r[7 << 16], s[96], *t,
+ *u = r, *v, P = 256, R[64], T, J = 12288;
+struct
+{
+ int a, b, c, d, e;
+} A[9999], *B, *G, *H;
+unsigned char C, D[9999], *E = D, F[] = " .bmp";
+FILE *I;
+
+#define Q(o,X,Y,C)B->b=b+32*o,B->c=c+32*X,B->d=Y,B->e=C,B++->a=l,
+#define D(o,X)(int)((X*(B->b-e)-o*(B->c-f))/(x*B->e-w*B->d))
+
+int
+main (int X, char **Y)
+{
+ for (j = J << 8, x = y[i], w = y[i + 32], B = A; k = D (x, w), B->b;
+ k >> 8 ? 0 : (l = D (B->d, B->e), l > 0
+ && l < j) ? j = l, h = k, g = B->a : 0, B++);
+ for (;
+ X
+ && (p =
+ 1 | 3 * (o = (--X < 2 || 119 - 1[Y[1]] ? 320 : atoi (2[Y]))) / 4);)
+ {
+ for (e = f = J / 2, K = XOpenDisplay (0); m < o << 8;
+ y[m] =
+ sin ((m & 255) / 20.4 + asin ((m / P - o / 2) / 3.2 / o)),
+ D[m & 511] = 10 + d * !(1 & (m >> 3 & m)), r[m++] =
+ m / 18 << (16 & (m >> 6 ^ m)));
+ for (N =
+ XCreateGC (K, L =
+ XCreateSimpleWindow (K, RootWindow (K, 0), 0, 0, o, p,
+ 0, 0, 0), 0, 0), ((I =
+ fopen (X ?
+ Y[X]
+ : "",
+ "r")) ?
+ fread (E + 1,
+ 1,
+ 1 << 15,
+ I),
+ fclose (I) :
+ 0), B = G =
+ A + J / 3; *++E; f = l == 32 ? e = b + 99, c + 99 : f)
+ for (l = *E - 10, *F = *E, k = !l, b *= !k, c += P * k, b += P;
+ l > 54 && l < 96
+ && (Q (0, 0, 1, 0) Q (8, 0, 0, 1) Q (8, 8, -1, 0)
+ Q (0, 8, 0, -1)
+ ! q[l] && (s[l] = 1, q[l] = u, I = fopen (F, "r"))); l = J)
+ for (q[l] = ++u + 19, m = 2;
+ n = (m++ % 3 ? n : 0 ** ++u) >> 8 | C << 16, *u =
+ n, 0 < fread (&C, 1, 1, I)
+ || (m /= J, s[l] = m ? m : 1) * fclose (I););
+ for (XMapWindow (K, L),
+ XSelectInput (K, L, KeyPressMask | KeyReleaseMask), H = A; G->b;
+ *H = *G++, H += !B->b)
+ for (B = A + J / 3;
+ B->b && !(B != G && B->b == G->b - 128 * (B->d - G->d)
+ && B->c == G->c - 128 * (B->e - G->e)); B++);
+ for (Q =
+ XCreateImage (K, DefaultVisual (K, 0), DefaultDepth (K, 0),
+ ZPixmap, 0, (char *) (v =
+ malloc (4 * o * p)), o, p,
+ 32, 0);
+ d = (d + R[19] - R[17]) & 127, n = R[18] - R[20], n ? (i =
+ o * 128 +
+ d + (n <
+ 0) *
+ 64, main (0,
+ Y)
+ >
+ 200) ? e +=
+ (int) (y[i] * 64), f += (int) (y[i + 32] * 64) : 1 : 1;
+ XSync (K, 0), gettimeofday (&S, 0), m = T - S.tv_usec)
+ {
+ for (T -=
+ (m > 0
+ && m < J * 4 ? U.tv_usec =
+ m, select (0, 0, 0, 0, &U) : m) - 4 * J, a =
+ a + 1 & -1 >> 1, m = 0;
+ k =
+ 1 +
+ (int) (p * 512 /
+ ((i = m * P + d, g = n =
+ 0, main (0, Y)) * y[m * P + 32])), m < o; m++)
+ for (t = g ? c =
+ 64 * s[g], q[g] + h / 4 + 64 * (a / 3 % s[g]) : t;
+ l = 32 - (17 << (k < 2)) * (2 * n - p) / k, n < p;
+ v[m + o * n++] = l >> 6 ? 4477904 << (l < 0) : t[c * l]);
+ for (XPutImage (K, L, N, Q, 0, 0, 0, 0, o, p); XPending (K);
+ R[63 & XLookupKeysym (&O.xkey, 0 & XNextEvent (K, &O))] ^=
+ O.type == KeyPress || O.type == KeyRelease);
+ }
+ }
+ return j;
+}
diff --git a/_src/2005/vince.c b/_src/2005/vince.c
new file mode 100644
index 0000000..d758fbd
--- /dev/null
+++ b/_src/2005/vince.c
@@ -0,0 +1,90 @@
+#include
+#include
+#include
+#include
+#include
+#define E(x) { printf("%i\n",x); goto l; }
+#define G fgetc(F)
+#define H glEnable(
+#define I glMaterialfv(GL_FRONT,
+#define J glMatrixMode(
+#define L (y
+#define M 640,480
+#define N NULL
+#define O GL_DIFFUSE , i
+#define P glCallList(u);
+#define T glTexCoord2i
+#define U glLightfv(GL_LIGHT0,
+#define V R(); glVertex3i(c,m,n);
+#define X GL_TEXTURE_2D
+#define Z(x) G; x=G; x=x<50-(x==59);
+
+void Y()
+{ { { { { { { { { { { { { { { {
+
+ { { { { { { { { { { {
+ { { { { { {
+ { { { { { { { {
+ { { { { { {
+ { { { { { ; { } } } } }
+
+
+ } } } } } } }
+ } } } } } }
+ } } } } } }
+ } } } } } }
+ } } } } } } }
+
+} } } } } } } } } } } } } } } }
+
+void Q()
+{ { ; { { { { { { { {
+ { { { { { {
+{ { { { { {
+; { { } } } } } } } }
+} ; } } } } } } } } }
+} } } } } }
+
+
+
+ FILE *F; int u,t,l,m,n,x=0,a=0,b[]={ GLX_DOUBLEBUFFER,
+ GLX_RGBA , GLX_DEPTH_SIZE , 16, None},o,n,c ; void R() {
+ Z(c); Z(m); Z(n); } int main( int _, char **A) { char f[
+ BUFSIZ ] ; GLXContext r ; XVisualInfo * v ; Display *y;
+ XEvent e ; GLfloat g=0, h=10, i[ ]= { 1,1, 1, 1, 5,5, 100
+ ,0, .6, .6, .6 ,1 } ; XSetWindowAttributes s; GLubyte j[1
+ <<10] ; Window w; if(! L= XOpenDisplay ( N ) ) ) E(1) ;if
+ ( !
+glXQueryExtension L , N , N ) ) E (2); v=glXChooseVisual L ,
+DefaultScreen (y ) , b ) ; s.colormap = XCreateColormap L ,
+RootWindow (y,v -> screen), v -> visual, AllocNone ); if (!(
+r= glXCreateContext L, v, N, 1) ) ) E (3) ; strcpy(f, *A ) ;
+s.event_mask=KeyPressMask; strcat(f,".c"); F=fopen(f,"r" ) ;
+w= XCreateWindow L, RootWindow( y, v -> screen ), M , M, 0,v
+->depth,InputOutput, v->visual , CWColormap|CWEventMask, &s)
+;glXMakeCurrent L , w , r ); H GL_DEPTH_TEST ); if ( ! F )E(
+4 ) ; glShadeModel ( GL_SMOOTH ) ; while ( a != 89 ) a = G ;
+G; G ; glGenTextures( 1, & t ); while ( x< 1024 ) { G; a =G;
+j[ x++ ] = 128; j[ x++ ] = 128 & - ( a<33 ); j [ x ]= j[ x-1
+]; x++; j[x++] =-1;} glBindTexture(X,t); glTexParameteri (X,
+GL_TEXTURE_MIN_FILTER , GL_NEAREST ) ; glTexImage2D( X ,0,
+GL_RGBA, 16 , 16 , 0 , GL_RGBA, GL_UNSIGNED_BYTE , j ) ; J
+GL_PROJECTION ) ; gluPerspective( 60 , 1.333 , 1 , 100) ; J
+GL_MODELVIEW); u=glGenLists(1); glNewList(u,GL_COMPILE); H X
+) ; while ( a != 81 ) a = G ; G ; G ; for (x=0; x<6; x++ ) {
+glBegin(GL_QUADS); R(); glNormal3f( c, m,n); T(1,1); V T (1,
+0 ) ; V T ( 0 , 0 ) ; V T( 0 , 1 ) ; V glEnd ( ) ; }
+glEndList( ) ; XMapWindow L , w ) ; c = 0; for ( ; ; ) { if(
+XPending L ) ) { XNextEvent L , &e ) ; if((XLookupKeysym ( (
+XKeyEvent *)&e,0))&1<<5){ h=10; i[c]=!i[c]; c++; c&=3; } else
+E(0)} glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ) ;
+glLoadIdentity(); gluLookAt ( -2 ,0 ,5 ,0,0 ,0,0 ,0 ,1 ) ; H
+GL_LIGHTING); H GL_LIGHT0 ); U GL_POSITION, i + 4); U O) ; U
+GL_SPECULAR,i); glLightModelfv( GL_LIGHT_MODEL_AMBIENT,i +8)
+; I GL_AMBIENT, i+8); I O + 8 ) ; glRotatef( g, 1, 1, 1) ; P
+glTranslatef(-h,0,0); P usleep (4000); g+=.07*x; if (g>360)
+g-=360.0; h-=x /100.0; glFlush(); glXSwapBuffers L ,w);}
+
+l:
+return 0;
+}
diff --git a/imgs/2005-boutines.png b/imgs/2005-boutines.png
new file mode 100644
index 0000000..89a52df
Binary files /dev/null and b/imgs/2005-boutines.png differ
diff --git a/imgs/2005-jetro.mp3 b/imgs/2005-jetro.mp3
new file mode 100644
index 0000000..2c3a1ec
Binary files /dev/null and b/imgs/2005-jetro.mp3 differ
diff --git a/imgs/2005-persano-1.gif b/imgs/2005-persano-1.gif
new file mode 100644
index 0000000..35f6869
Binary files /dev/null and b/imgs/2005-persano-1.gif differ
diff --git a/imgs/2005-persano-2.gif b/imgs/2005-persano-2.gif
new file mode 100644
index 0000000..185f97b
Binary files /dev/null and b/imgs/2005-persano-2.gif differ
diff --git a/imgs/2005-persano-3.gif b/imgs/2005-persano-3.gif
new file mode 100644
index 0000000..14d3277
Binary files /dev/null and b/imgs/2005-persano-3.gif differ
diff --git a/imgs/2005-persano-4.gif b/imgs/2005-persano-4.gif
new file mode 100644
index 0000000..b68fbf0
Binary files /dev/null and b/imgs/2005-persano-4.gif differ
diff --git a/imgs/2005-vik-1.png b/imgs/2005-vik-1.png
new file mode 100644
index 0000000..932cea8
Binary files /dev/null and b/imgs/2005-vik-1.png differ
diff --git a/imgs/2005-vik-2.png b/imgs/2005-vik-2.png
new file mode 100644
index 0000000..ffb48fb
Binary files /dev/null and b/imgs/2005-vik-2.png differ
diff --git a/imgs/2005-vince-1.png b/imgs/2005-vince-1.png
new file mode 100644
index 0000000..2edf4b3
Binary files /dev/null and b/imgs/2005-vince-1.png differ
diff --git a/imgs/2005-vince-2.png b/imgs/2005-vince-2.png
new file mode 100644
index 0000000..2c052c6
Binary files /dev/null and b/imgs/2005-vince-2.png differ
diff --git a/imgs/2005-vince-3.png b/imgs/2005-vince-3.png
new file mode 100644
index 0000000..2087364
Binary files /dev/null and b/imgs/2005-vince-3.png differ
diff --git a/index.md b/index.md
index 732ecaf..680b4e3 100644
--- a/index.md
+++ b/index.md
@@ -15,6 +15,7 @@ IOCCCをよく知らない人は、まず[このサイトについて]({{ site.b
更新履歴:
+* 2021/04/17: [IOCCC 2005]({{ site.baseurl }}{% link 2005/index.md %})の解説を公開しました。
* 2021/04/10: [IOCCC 2004]({{ site.baseurl }}{% link 2004/index.md %})の解説を公開しました。
* 2021/04/04: [IOCCC 2001]({{ site.baseurl }}{% link 2001/index.md %})の解説を公開しました。
* 2021/03/28: [IOCCC 2000]({{ site.baseurl }}{% link 2000/index.md %})の解説を公開しました。
diff --git a/patches/2005-mikeash.patch b/patches/2005-mikeash.patch
new file mode 100644
index 0000000..8284f73
--- /dev/null
+++ b/patches/2005-mikeash.patch
@@ -0,0 +1,35 @@
+--- mikeash.c
++++ mikeash.c
+@@ -1,18 +1,29 @@
++;/*
++#|
++*/
++#define _DEFAULT_SOURCE
++#include
++#include
++#include
++#include
++/*
++|#
++;*/
+ ;typedef char n;typedef n*m;int C;n c[11];n y[]={37,100,0};n b[2048];int i
+ ;int A(void){return C=getchar();}int B(m s){return strlen(s)
+ ;}n w[2048];typedef m defvar;m R(void){do A();while(isblank(C) || C == '\n')
+ ;if(C<0) return 0;i=0;if(C==';'){for
+ (defvar q=
+-";typedef char n;typedef n*m;int C;n c[11];n y[]={37,100,0};n b[2048];int iY;int A(void){return C=getchar();}int B(m s){return strlen(s)Y;}n w[2048];typedef m defvar;m R(void){do A();while(isblank(C) || C == '\n')Y;if(C<0) return 0;i=0;if(C==';'){forY(defvar q=Y~sY;C!='\n';A()Y);R();}else if(C=='('||C==')')b[i++]=C;else if(C==34)do b[i++]=CY;while(A()!=34);else do b[i++]=C;while(!isblank(A())&&C!='\n')Y;b[i] = 0;return b;}typedef defvar*format;m E(void){Y;m a=R();if(!a) return 0;if(*a==34)return aY;if(*a=='#'){c[0]=a[2]=='N'?'\n':a[2];return c;}if(*a=='q')return wY;if(*a=='('){a=R();if(*a=='d'){R();strcpy(w,E());R();return wY;}else if(*a=='f'){R();m f = strdup(E());*strchr(f,126)=37Y;m s=E();s[B(s)+1]=0;s[B(s)]=34;printf(f+1,s);R()Y;}else if(*a=='s'){n p=*E();n o=*E();m r=strdup(E());a=r;forY(format t ;*a;a++)*a=*a==o?p:*aY;R();return r;}else if(*a=='c'){c[0]=*E()-32/*Y(substitute #\Newline (char-upcase #\y ) q= )q= );*/Y;R();return c;}else{n z=*a;int d=atoi(E()),e=atoi(E())Y;sprintf(c,y,z-'+'?z-'-'?z-'*'?d/e:d*e:d-e:d+e);R();return cY;}}return a;}int main(void){while(C+1)E();return 0;}Y"
++";/*Y#|Y*/Y#define _DEFAULT_SOURCEY#include Y#include Y#include Y#include Y/*Y|#Y;*/Y;typedef char n;typedef n*m;int C;n c[11];n y[]={37,100,0};n b[2048];int iY;int A(void){return C=getchar();}int B(m s){return strlen(s)Y;}n w[2048];typedef m defvar;m R(void){do A();while(isblank(C) || C == '\\n')Y;if(C<0) return 0;i=0;if(C==';'){forY(defvar q=Y~sY;C!='\\n';A()Y);R();}else if(C=='('||C==')')b[i++]=C;else if(C==34)do b[i++]=C,i-=(b[i-2]==92&&C==92)Y;while(A()!=34);else do b[i++]=C;while(!isblank(A())&&C!='\\n')Y;b[i] = 0;return b;}typedef defvar*format;m E(void){Y;m a=R();if(!a) return 0;if(*a==34)return aY;if(*a=='#'){c[0]=a[2]=='N'?'\\n':a[2];return c;}if(*a=='q')return wY;if(*a=='('){a=R();if(*a=='d'){R();strcpy(w,E());R();return wY;}else if(*a=='f'){R();m f = strdup(E());*strchr(f,126)=37Y;m s=E();char S[2048],*P=S,*p=s;for(;*p;p++){*P++=*p;*p==92&&(*P++=92);};*P++=34;*P=0;printf(f+1,S);R()Y;}else if(*a=='s'){n p=*E();n o=*E();m r=strdup(E());a=r;forY(format t ;*a;a++)*a=*a==o?p:*aY;R();return r;}else if(*a=='c'){c[0]=*E()-32/*Y(substitute #\\Newline (char-upcase #\\y ) q= )q= );*/Y;R();return c;}else{n z=*a;int d=atoi(E()),e=atoi(E())Y;sprintf(c,y,z-'+'?z-'-'?z-'*'?d/e:d*e:d-e:d+e);R();return cY;}}return a;}int main(void){while(C+1)E();return 0;}Y"
+ ;C!='\n';A()
+-);R();}else if(C=='('||C==')')b[i++]=C;else if(C==34)do b[i++]=C
++);R();}else if(C=='('||C==')')b[i++]=C;else if(C==34)do b[i++]=C,i-=(b[i-2]==92&&C==92)
+ ;while(A()!=34);else do b[i++]=C;while(!isblank(A())&&C!='\n')
+ ;b[i] = 0;return b;}typedef defvar*format;m E(void){
+ ;m a=R();if(!a) return 0;if(*a==34)return a
+ ;if(*a=='#'){c[0]=a[2]=='N'?'\n':a[2];return c;}if(*a=='q')return w
+ ;if(*a=='('){a=R();if(*a=='d'){R();strcpy(w,E());R();return w
+ ;}else if(*a=='f'){R();m f = strdup(E());*strchr(f,126)=37
+-;m s=E();s[B(s)+1]=0;s[B(s)]=34;printf(f+1,s);R()
++;m s=E();char S[2048],*P=S,*p=s;for(;*p;p++){*P++=*p;*p==92&&(*P++=92);};*P++=34;*P=0;printf(f+1,S);R()
+ ;}else if(*a=='s'){n p=*E();n o=*E();m r=strdup(E());a=r;for
+ (format t ;*a;a++)*a=*a==o?p:*a
+ ;R();return r;}else if(*a=='c'){c[0]=*E()-32/*