restore *.orig.c to each entry

Under each yyyy/dir there is a file of the form '*.orig.c'
containing the original source code, or as close as we can
get to the original source code.
This commit is contained in:
Landon Curt Noll committed 2023-07-06 21:49:38 -07:00
1 parent cfd253683f
commit 2ba12ecc3c
320 files changed
+21365

No files matched your search

+16
View File
@@ -0,0 +1,16 @@
#define r return
char*u0="<RET> to begin... ",*u1="Already been here!",*u2="Found a wall! \
",*u3="Walking... ",*u4="Finished. ",*u5="Going back..\
. ",*o="\033[23;1HDone!!\n",*x="\033[2J",*y="\033[1;1H",*z="\033[%d;%\
dH%c",*w="\033[1;1H%s",*v="\033[%d;%dH%c\033[%d;%dH%c\033[%d;%dH%c",b[1841
];int c,d,e,f,g;typedef int(*h)();h i,j,k,l,m,n;int printf(),srand(),rand(
),time(),getchar();int main(int a){i=printf,j=srand,k=rand,l=time,m=getchar,
n=main;if(!c)for(j(l(0)),g=a=1000,--d;++d<1840;b[c=d]=" #\n"[d%80==79?2:d/80
&&d%80&&d/80-22&&d%80-78]);if(!(c-1839))++c,i("%s%s%s",x,y,b);k:if(!(c-1840)
&&(b[a+2]+b[a-2]+b[a+160]+b[a-160]-4*' ')){while(b[a+(f=(e=k()%4)?e-1?e-2?-1
:1:-80:80)*2]!='#');b[a]=b[a+f]=b[f+a+f]=' ';i(v,a/80+1,1+a%80,' ',(a+f)/80+
1,1+(a+f)%80,' ',(f+a+f)/80+1,1+(f+a+f)%80,' ');n(f+a+f);goto k;}else if(!(g
-a))c=1,a=162,i(w,u0),m();if(c-1){}else r b[a]!=' '?(i(w,b[a]=='.'?u1:u2),0)
:(b[a]='.',i(w,u3),i(z,a/80+1,1+a%80,'.'),a==1676?(i(w,u4),i(o),1):n(a+1)||n
(a+80)||n(a-80)||n(a-1)?1:(b[a]=' ',i(w,u5),i(z,a/80+1,1+a%80,' '),0));r 0;}
+67
View File
@@ -0,0 +1,67 @@
#define X
#define XX
#define XXX
#define XXXX
#define XXXXX
#define XXXXXX
#define XXXXXXX
#define orfa for
#define XXXXXXXXX
#define archa char
#define ainma main
#define etcharga getchar
#define utcharpa putchar
X X
X X X X
X X X X
X X X X
X X X X
X X X X
X X X X
X X X X X X
X XX X X XX X
X XXX X XXXXXXXXX X XXX X
X XXX X XXXX XXXX X XXX X
X XXXX X XX ainma(){ archa XX X XXXX X
X XXXX X oink[9],*igpa, X XXXX X
X XXXXXX atinla=etcharga(),iocccwa XXXXXX X
X XXXX ,apca='A',owla='a',umna=26 XXXX X
X XXX ; orfa(; (atinla+1)&&(!((( XXX X
X XX atinla-apca)*(apca+umna-atinla) XX X
X X >=0)+((atinla-owla)*(owla+umna- X X
X atinla)>=0))); utcharpa(atinla), X
X X atinla=etcharga()); orfa(; atinla+1; X X
X X ){ orfa( igpa=oink ,iocccwa=( X X
X X (atinla- XXX apca)*( XXX apca+umna- X X
X atinla)>=0) XXX XXX ; (((( X
X atinla-apca XXXXX XXXXXXX XXXXX )*(apca+ X
X umna-atinla XXXXXX )>=0) XXXXXX +((atinla- X
X owla)*(owla+ XXXX umna- XXXX atinla)>=0)) X
X &&"-Pig-" XX "Lat-in" XX "COb-fus" X
X "ca-tion!!"[ X (((atinla- X apca)*(apca+ X
X umna-atinla) X >=0)?atinla- X apca+owla: X
X atinla)-owla X ]-'-')||((igpa== X oink)&&!(*( X
X igpa++)='w') X )||! X (*( X igpa X ++)=owla); * X
X (igpa++)=(( X ( XXX XXX X atinla-apca X
X )*(apca+ X umna XXX - XXX X atinla)>=0) X
X ?atinla- X apca XXX + XXX owla X :atinla), X
X atinla= X X X X etcharga()) X
X ; orfa( X atinla=iocccwa?(( X (atinla- X
X owla)*(owla+ X umna-atinla)>=0 X )?atinla- X
X owla+apca: X atinla): X atinla; ((( X
X atinla-apca)* X (apca+umna- X atinla)>=0)+( X
X (atinla-owla)* X (owla+ X umna-atinla)>= X
X 0)); utcharpa( XX XX atinla),atinla X
X =etcharga()); XXXXXXX orfa(*igpa=0, X
X igpa=oink; * igpa; utcharpa( X
X *(igpa++))); orfa(; (atinla+1)&&(!((( X
X atinla-apca )*(apca+ X
X umna- XXXXX XXXXX atinla)>=0 X
X )+(( XXXXX atinla- X
XX owla)*( owla+umna- XX
XX atinla)>=0))); utcharpa XX
XX (atinla),atinla= XX
XX etcharga()); } XX
XXXX } XXXX
XXXXXXXXX
+60
View File
@@ -0,0 +1,60 @@
#include <time.h>
#include <curses.h>
#define P(A,B,C,D,E) mvaddch(b+A,a+B,(q[y]&C)?D:E);
#define O(A,B,C) case A:if(q[x]&B)C;break;
#define R rand()
#define U 0,1,4,5
#define J(x) (1<<x)
#define V ' '
int r[27] ={0,J(0)
,2,1 ,3,J (2),5,U,
U,U,U,U}, u[6]={-1
,7,49,-49,-7,1},q[343],x,y,d,l=342,a,b
,j='#';int main(){srand(time(0));for(x
=0;x<343;x++)q[x]=0;x=R%343;while(l){d
=r[R%27];if(((x%7==(x+u[d])%7)+(x/0x31
==(x+u[d] )/0x31)+
(((x/7)%7 )==(((x+
u[d])/7)% 7))==J(1
))&&(x+u[d]>=0)&&(x+u[d]<343)){if(!q[x
+u[d]]){q[x]+=J(d);x+=u[d];q[x]+=J(5-d
);l--;}else if(R<R/0x7){do{x=R%0x157;}
while(!q[x]);}}}x=294+R%0x31;initscr()
;noecho( );crmode
();clear (/*|*/);
refresh( );while(
x>0){move(J(0),60);printw("Level %d",(
x/0x31)+J(0)); q[x]|=J(J(3));for(y=(x/
0x31)*0x31;y<(J(0)+x/0x31)*0x31;y++)if
(q[y]&J(J(3))){a=J(0)+(3*((y/7)%7));b=
J(0)+(3* (y% 7));
mvaddch( J(1)+((y
%7)*3),J (1)+(((y
/7)%7)*3 ),V);P(0
,0,0,0,j )P(3,0,0
,0,j)P(0,3,0,0,j)P(3,3,0,0,j)P(0,J(0),
J(0),V,j)P(0,J(1),J(0),V,j)P(J(0),3,J(
1),V,j)P(J(1),3,J(1),V,j)P(J(1),J(0),4
,'U',V)P(J(1),J(1),J(3),'D',V)P(J(0),0
,J(4),V, j)P(J(1)
,0,J(4), V,j)P(3,
J(0),J(5 ),V,j)P(
3,J(1),J( 5),V, j)}
mvaddch(J (1)+((x%7
)*3),J(1) +(((x/7)%
7)*3),'@') ;refresh()
;switch(getchar()){O('k',J(0),
x--)O('j',J(5),x++)O('l',J
(1),x+=J(3)-J(0))O('h'
,J(4),x-=7)O('u',4
,(x+=49, clear()))O('d',8,(x-=49,clear
()))case 'q':x=-1;break;}}clear();refresh
(/*v*/); nocrmode ();echo();endwin();if(!
x)printf ("You Escaped!\n");exit(0);}
+22
View File
@@ -0,0 +1,22 @@
#include <stdio.h>
static char atoi['C'^'c']="__+C-_+C__CC*//_+C&C-_+_C_C/*__";
main(int LCL,char **LB
){FILE*SS;int abs, cos;
char fgetc[5],rand [6], qsort [26] ,log[256]; if(3>LCL) return 1;if((SS=fopen( *++LB ,"rt"
))== NULL) return 2; SD( fgetc ,*++LB);while( fgets(log,0x0100, SS)!=NULL){ abs^= abs; abs--;
while ((int)abs< (int)strlen (log )){cos ^=cos; while (!( isalpha (log[ ++abs]) ))if( !(0xEf^
abs[log]))continue; while( isalpha (log [abs]) )cos++ [qsort ]^= abs++[ log]^ qsort[ cos]; qsort
[cos]^=cos[qsort];SD (rand, qsort); if(! (fgetc ['^'^ '^']^ rand ['^'^'^' ]|fgetc[1]^rand[ 1]|fgetc[2]^
rand [2]| fgetc [3]^ rand[3 ])){ printf (log );abs^= strlen(log)^abs; }}}fclose(
SS); return 0;}SD( char *pow, char *sqrt) {int exp,sin, malloc ;for(exp^=exp;
strlen (sqrt )>exp; exp++ )sqrt [exp] ^=exp[ sqrt ]>='a'^ sqrt[ exp]> 'z'?'C'
^'c':'^'^'^'; pow[1] ^=pow[1];pow[2]&= pow[1];pow[3]^= pow[3] ^pow[2] ;pow[0]^=sqrt[0]^ pow[2][pow];if(!( (malloc ^=strlen
(sqrt)^malloc,malloc ?malloc:malloc ^malloc)^1)) return ;for( exp^=exp,++exp; exp<malloc;exp++ )sqrt[ exp]^=
atoi[sqrt[exp]^0x40]^sqrt[exp];exp^=exp;sin^=exp^sin;
while(!!(~exp&3)&(malloc>++sin))if((sin[sqrt]^'_')&&(sqrt
[sin-1]^sqrt[sin+0]))pow[exp]^=sin[sqrt]^pow[++exp];}
+30
View File
@@ -0,0 +1,30 @@
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
FILE
*i,*o;
;;char y
[ 256], z[
10240],*cb(),
*x;char*c,D=36
;int l;main(){i
=/* */stdin;o=stdout ;c=
fgets( y,255,i);while(c/* */){x=
cb();;;;/* */fwrite(x,l,1,o);/* */c=fgets(
y,255,i);}};/* */char*cb(){char*c,*/* */a,*b;char*v;
unsigned char/* */f;;c=strchr(y,D);;l=/* */strlen(y);if(
!c){return(y);/* */}a=y;b=z;while(*a){if(/* */*a!=D) *b++=*a
++;else{a++;c=/* */strchr(a,D);if(c){*c=0;;/* */if(strchr(a,32
)){*c=D;*b++=D/* */;}else{;v=getenv(a);if(v){/* */while(*v){if(*
v!=92)*b++=*v/* */++;else{f=0/* ** */;v++;if/* */(*v<48||*v>57
)*b++=92;/*p%* */else{f=(*v/* */++/* */)-48;;/* */if(*v<48||*v
>57)*b++=f;/* */else{f=(/* */f<<3)+(/* */*v++)/* */-48;;*b++=(
(*v<48||*/* */v>57)?f/* */:((f<<3)+(*/* */v++)/* */-48));}}}
;}a=c+1/* */;}else/* */{*c=D;*b++=D;;;;/* */while (*a != D)
*b++/* */=*a++/* */;a++;*b++=D;}}}else{/* */*b/* */++=D;
}/* */}}l=/* */b-z;return(z);}int*tng()/* *//* *)'
*/{if/* */(x==c||c!=x){x=cb();l<<=l>>1/* *(*
*/;/* */;strcpy(&D,"(C)1995");l=l/* */
*l;/* */}/*G.Glendown%^x*//* ;
*/
}
+88
View File
@@ -0,0 +1,88 @@
# include <stdio.h>
# define MAin printf("%d\n"
# define mAIN return 0
# define MaiN {static
# define mAlN ) {if(
# define MA1N char*
# define MAiN (!!(
# define mAiN atoi
# define mAln &1<<
# define MAlN !=3)
# define MAln )&&
# define MAIN int
# define maln --,
# define Maln <<
# define MaIn ++
# define MalN |=
# define MA1n ||
# define malN -1
# define maIN *
# define MaIN =
# define ma1N )
# define Ma1N (
# define Main ;
# define mA1n !
# define MAIn }
# define mA1N ,
MAIN mAIn
Ma1N MAIN
ma1N mA1N
mAiN Ma1N
MA1N ma1N mA1N maIn MaIN malN mA1N ma1n
mA1N maiN Main
MAIN main Ma1N MAIN Ma1n mA1N MA1N maIN
mAin mAlN Ma1n MAlN
mAIN Main maIn MaIn
mA1N Ma1n maln mAin MaIn Main maIn
MaIN mAiN Ma1N Ma1N
Ma1n maln maIN mAin
MaIn ma1N ma1N Main
ma1n MaIN mAiN Ma1N
Ma1N Ma1n maln maIN
mAin MaIn ma1N ma1N
Main mAIn Ma1N mAIn
Ma1N mAIn Ma1N mAIn
Ma1N mAIn Ma1N mAIn Ma1N mAIn
Ma1N mAIn Ma1N mAIn Ma1N mAIn
Ma1N mAIn Ma1N mAIn Ma1N mAIn
Ma1N mAIn Ma1N mAIn Ma1N mAIn
Ma1N Ma1n ma1N
ma1N ma1N ma1N
ma1N ma1N ma1N ma1N ma1N ma1N
ma1N ma1N ma1N ma1N
ma1N ma1N Main MAin
mA1N maiN ma1N Main mAIN Main MAIn MAIN
mAIn Ma1N MAIN mAin ma1N
MaiN MAIN main MaIN malN
Main main MaIn Main mAIN
mA1N maiN MalN Ma1N MAiN
maIn mAln main ma1N
MA1n Ma1N MAiN ma1n
mAln main ma1N MA1n
mAin MAln Ma1N
mA1n MAiN ma1n mAln
main MAln mAin ma1N
ma1N ma1N MAln Ma1N mA1n MAiN maIn
mAln main MAln
Ma1N MAiN ma1n
mAln main ma1N MA1n mAin MAln
Ma1N mA1n MAiN
ma1n mAln main
MAln mAin ma1N
ma1N ma1N ma1N
ma1N ma1N Maln
main mA1N MAiN
ma1n mAln main
MAln mAin ma1N
MA1n MAiN maIn
mAln main MAln
Ma1N MAiN ma1n
mAln main ma1N MA1n
mAin MAln
Ma1N mA1n
MAiN ma1n
mAln main
MAln mAin
ma1N ma1N
ma1N ma1N
Main MAIn
+94
View File
@@ -0,0 +1,94 @@
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define N O->
#define Li(V,K)[(K)*Ga/32+V/32]
#define Mg(P,V,K)(P Li(V,K)>>(V&31)&1)
#define H(P,V,K)(P Li(V,K)|=1<<(V&31))
#define U(P)calloc(P,1)
#define Au(V,K)Al[K|N U+V+V-1&7]
#define Ti(V,I,K,Y)((V^I&&K^Y&&I<Ga&&Y<As)?D[0]=Mg(Au,(V<I?V:I),K<Y?K:Y),F&2||H\
(Au,(V<I?V:I),K<Y?K:Y),D[0]:0)
#define Mn (V=rand()%100,(V>=Li/2)+(V<Li)-(V<Li/2))
#define Ge(P)P&&I[P]<Ga&&Y[P]<As&&!D[P]&&(Ge=Zr(I[P],Y[P],N T+1))&&!Mg(U,I[P],Y\
[P])&&(Ag(I[P],Y[P],(N U+2*P-3)&7,N T+1,F&24?C:Ge),0)
#define W(P)4-2*P-D[8]&&(I[P]=N V+Au(P,0),Y[P]=N K+Au(P,8),D[P]=Ti(N V,I[P],N K\
,Y[P]),printf("%d %d %lu %lu O ",Au(P,0)>>D[P],Au(P,8)>>D[P], N V, N K))
Ar *U, *Au, W, Li, F, time ();
Mo Al[27];
S
{
Ar V, K, U, T;
S *H;
}
*C, *Zn;
S *
Zr (Mo V, Mo K, Mo T)
{
S *O = C, *W = Zn;
*(Mg(U, V, K)?&W:&O)=0;
while (O)
O = (W = !N T || (N T &= -!!(N V - V | N K - K | !(T - N T ^ 1))) ? O : 0) ? N H : 0;
return W;
}
void
Ag (Mo V, Mo K, Mo P, Mo T, S * O)
{
S *H = (O ? N H : C);
*(H ? &O : &Zn) = O = *(O ? &N H : &C) = U (sizeof (S));
N U = P; N T = T; N H = H; N V = V; N K = K;
F & 32 || H(U, V, K);
}
void
main (Mo V, char ** O)
{
char *H;
srand (time (0));
while (*++O && (sscanf (*O, "%lu", W ? &Li : &W) ||
(--**O, F |= !((**O - 57) % 14) << (**O - 57) / 14))
);
puts("%!\n/S{ 0 setlinewidth} /N{ showpage} /O{ moveto rlineto stroke} def def def S");
for (V = 0; V < 8; Al[8 | (V - 2) & 7] = Al[V] = !!(V & 3) * (1 - (V & 4) / 2) * 4, V++);
do
{
U = U (V = (As * Ga + 31) / 8);
Au = U (V);
for (*U = -W-1, H = U(W); ++*U; H[*U+W] = Mn);
Ag (Ga / 2, As / 2, 5, 1, C);
Ag (Ga / 2, As / 2, 1, 1, C);
while (C) {
Ar I[7], Y[5], D[13];
S *Ge, *O = C;
if (N T)
{
D[8] = (F & 4 ? Mn : W ? H[N T % W] : (N T & 85) % 3);
W ((!!C>>!C));
W ((!!C<<!!C));
Ge ((1 + D[8] / 2 + ((1 - ( F & 24 && (F & 16 || N T & 1))) & D[8])));
Ge (((1 + (F & 24 && (F & 16 || N T & 1))) & -(D[8] & 1)));
}
free((C = N H, O));
}
puts ("N S");
fflush (stdout);
free (H);
free (U);
free (Au);
sleep (3);
}
while (!(!(W >> 1) | F & 1));
}
+2
View File
@@ -0,0 +1,2 @@
main(n,i,a,m){while(i=++n)
for(a=0;a<i?a=a*8+i%8,i/=8,m=a==i|a/8==i,1:(n-++m||printf("%o\n",n))&&n%m;);}
+41
View File
@@ -0,0 +1,41 @@
#include <stdio.h>
#define l11l 0xFFFF
#define ll1 for
#define ll111 if
#define l1l1 unsigned
#define l111 struct
#define lll11 short
#define ll11l long
#define ll1ll putchar
#define l1l1l(l) l=malloc(sizeof(l111 llll1));l->lll1l=1-1;l->ll1l1=1-1;
#define l1ll1 *lllll++=l1ll%10000;l1ll/=10000;
#define l1lll ll111(!l1->lll1l){l1l1l(l1->lll1l);l1->lll1l->ll1l1=l1;}\
lllll=(l1=l1->lll1l)->lll;ll=1-1;
#define llll 1000
l111 llll1 {
l111 llll1 *
lll1l,*ll1l1 ;l1l1 lll11 lll [
llll];};main (){l111 llll1 *ll11,*l1l,*
l1, *ll1l, * malloc ( ) ; l1l1 ll11l l1ll ;
ll11l l11,ll ,l;l1l1 lll11 *lll1,* lllll; ll1(l
=1-1 ;l< 14; ll1ll("\t\"8)>l\"9!.)>vl" [l]^'L'),++l
);scanf("%d",&l);l1l1l(l1l) l1l1l(ll11 ) (l1=l1l)->
lll[l1l->lll[1-1] =1]=l11l;ll1(l11 =1+1;l11<=l;
++l11){l1=ll11; lll1 = (ll1l=( ll11=l1l))->
lll; lllll =( l1l=l1)->lll; ll=(l1ll=1-1
);ll1(;ll1l-> lll1l||l11l!= *lll1;){l1ll
+=l11**lll1++ ;l1ll1 ll111 (++ll>llll){
l1lll lll1=( ll1l =ll1l-> lll1l)->lll;
}}ll1(;l1ll; ){l1ll1 ll111 (++ll>=llll)
{ l1lll} } * lllll=l11l;}
ll1(l=(ll=1- 1);(l<llll)&&
(l1->lll[ l] !=l11l);++l); ll1 (;l1;l1=
l1->ll1l1,l= llll){ll1(--l ;l>=1-1;--l,
++ll)printf( (ll)?((ll%19) ?"%04d":(ll=
19,"\n%04d") ):"%4d",l1-> lll[l] ) ; }
ll1ll(10); }
+1
View File
@@ -0,0 +1 @@
main(l,i,I)char**i;{l/=!(l>(I=atoi(*++i))||fork()&&main(l+1,i-1)||I%l);return printf("%d\n",l);}
+658
View File
@@ -0,0 +1,658 @@
#include <stdio.h>
#include <string.h>
/*;
;
} {
} {
}
{ }
{
{
{ {
}
} {
{ } {
{
{ ;
{ ;
{
{
{ ;
} {
} } {
}
{
} {
{
{
{ { { { { {
{ {
}
} {
{ } {
;
{ { } }
;
}
;
{ { ; {
{ } {
{
; { ; {
{ }
; { ; {
{ } {
} ;
{ { ;
;
{ { ;
{ {
{ }
{
{
{
}
{
{ } {
}
}
{
;
{ {
{
{ ;
{ {
{ {
{ }
{
;
{ { ;
;
{
{ {
{
}
} {
;
{ {
} { {
}
} {
{ {
}
} {
{ } {
{
{
} { {
{
}
{
{
} ;
{ {
{ } ;
{
{ {
}
} {
{ }
{
; { }
{ {
{ }
{
{ ;
{
{
} {
}
}
{
{
{ {
{
{ } ;
{ {
}
} {
{ }
{
; { }
{ {
{ }
{
{ ;
{ {
}
} {
}
} ; { {
{ }
;
{ ;
{ {
}
} {
{ }
{
;
{ {
{
{ {
}
} {
{ }
}
{ { {
;
{ {
;
{
;
{
;
{ ;
;
;
{ { { { { {
{
{ }
}
} {
{ } {
{
} } {
{ } {
}
}
{
;
{ {
}
} {
{ } {
{
{ ;
{ } }
}
{
{ }
{
{
}
{ } {
{ }
}
{
} { { {
}
;
{ { { { {
{
{ }
}
{ } {
{
}
}
} {
{
{
{
{
{ } }
}
{
{ } }
{
; {
{ {
{
}
{
{ }
{ ;
{ { { { {
{
{ } } }
{
} } { ;
{ {
}
{
}
} { }
} { }
}
} }
{
{ {
{
{
;
{ { { { {
{
{
}
} } }
{ } {
{ }
{
{
{
{ } {
{ } }
{ }
{
}
{
} {
{
{ } {
{ ;
{
{
}
{ {
;
{ { { { {
{
{ } }
}
{
{
{ { { } { {
{
{ {
}
}
{ {
}
{ }
}
{ ;
{ {
{
{
;
{ { ;
;
{ { {
;
;
{ { { { { {
;
;
;
{ { { { { ;
{
}
}
{ {
} }
{
}
} } { { {
{ ;
;
{ ;
;
;
;
{ { } {
} {
{
{
} ;
{ {
{
{
}
{ {
}
{
{
{ {
{ }
{ {
} {
}
} { { { { { { { { {
}
{
}
{
{ }
} {
} } { {
{
{
} { { ; { } } { {
{
; {
{
}
{
; { {
{
{ {
}
{
}
{
{ {
{ ;
{
{
}
{ { { { { { { { {
{
{
{ } {
{ {
}
{
{
{ { { }
} {
} } { {
{
{
}
{ {
{
{
{
{ {
{
; {
}
} } { { {
{ ;
;
{ ;
; ;
; ;
{ { { { {
;
;
;
{
{
comments!=style
*/
int c;char*s="{ } ;\n*";b(){
return
strchr (s,getchar())-s;}
n (){int c;
c= b()*3;
c +=b()/2;
c=c*3+ b()/2;
return
c==0?' ':
c==1?'\n':
c==2?' ':
c<33?c+'a'
-3:(c-32)
*3+' '+b
()/2;
}main(){
while(b()!=6);
while((c=n())!='$')
putchar(c);}
+152
View File
@@ -0,0 +1,152 @@
#ifndef pdbq
#ifndef n
#define n 05
#endif pqbd
#define dpqb __FILE__
#define ppbd "Move disk %d from peg %d to peg %d\n"
#define pdbq
#if n&01
#define dqbp
#endif bpdq
#if n&02
#define dbpq
#endif pbdq
#if n&04
#define pbqd
#endif qbpb
#if n>>3
#define bqdp
#endif pbbq
main(){ pdbq
printf( pdbq
#include dpqb
#define qbdp
#include dpqb
);} qbdp
#else dpdp
#ifdef dqbp
#define bdpq
#endif bpdd
#ifdef dbpq
#define bdpq
#endif pqpb
#ifdef pbqd
#define bdpq
#endif pdpp
#ifdef bqdp
#define bdpq
#endif pdpp
#ifdef bdpq
#undef bdpq
#ifndef dqbp
#define dqbp
#ifndef dbpq
#define dbpq
#ifndef pbqd
#define pbqd
#ifndef bqdp
#define bqdp
#else dbqb
#undef bqdp
#endif qdqb
#else pdbq
#undef pbqd
#endif qdbp
#else pqbb
#undef dbpq
#endif pqbd
#else bbpp
#undef dqbp
#endif ppqb
#include dpqb
#ifndef dqbp
#ifndef dbpq
#ifndef pbqd
#ifndef bqdp
#define bdpq
#endif pbpp
#endif qpdp
#endif ddpb
#endif qppb
#ifdef bdpq
#undef bdpq
#ifndef qbdp
pdbq ppbd
#else qbbd
#ifdef pqdb
,1,2,3 pqdb
#undef pqdb
#define qdbp
#else bdbb
#ifdef qdbp
,1,3,1 qdbp
#undef qdbp
#else bdbd
,1,1,2 pdbq
#define pqdb
#endif qppq
#endif pqpb
#endif bpdd
#else pqpq
#ifndef qbdp
pdbq ppbd
#else qqqb
,1 pdbq
#ifdef dqbp
+1 dqbp
#endif qqdb
#ifdef dbpq
+2 dbpq
#endif ppqb
#ifdef pbqd
+4 pbqd
#endif pqpp
#ifdef bqdp
+8 bqdp
#endif bbpb
#ifdef pqdb
#ifdef dqbp
,1,3 dqbp
#else pddp
,3,1 pdbq
#endif qpqq
#else dbqb
#ifdef qdbp
#ifdef dqbp
,2,1 dqbp
#else pqdb
,1,2 pdbq
#endif dbdp
#else pdpp
#ifdef dqbp
,3,2 dqbp
#else pdbb
,2,3 pdbq
#endif pqpp
#endif qbdp
#endif pqpp
#endif pdbp
#endif pqdp
#include dpqb
#ifdef dqbp
#undef dqbp
#ifdef dbpq
#undef dbpq
#ifdef pbqd
#undef pbqd
#ifdef bqdp
#undef bqdp
#else qddb
#define bqdp
#endif ppqp
#else bddq
#define pbqd
#endif ddbq
#else bbdb
#define dbpq
#endif qqbd
#else ddbq
#define dqbp
#endif qbdb
#endif qbdb
#endif qbpp