-
Notifications
You must be signed in to change notification settings - Fork 45
/
Copy pathtromp.orig.c
27 lines (27 loc) · 999 Bytes
/
tromp.orig.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Int L[A],m,b,*D=A,
*c,*a=L,C,*U=L,u;s
(Int*m){return!*U?
*m=g()?U++,!g()?m[
1]=s(++U),2:3:1,s(
U):g()?U+=2:s(U[1]
++),U-m;}v(){for(D
=a;u--;a=*a);C=a[3
];++1[a=a[2]];d(D)
;}char *B,I,O,*S =
"-,&,,/.--/,:-,'/"
".-,-,,/.-,*,//..,"
;d(Int*l){--l[1]||d(l
[d(*l),*l=B,B=l,2]);}g(
){b=b--?b:m|read(0,&I,1)-
1;return~I>>b&1;}x(){for(k(
0,6),U[-5]=96;b;*U++=g())k(0,
9);}k(l,u){for(;l<=u;U-L-A?*U++
=S[l++]^46:exit(5));}main(e){for(
k(10,33),a[4]-=m =e-2&7,a[23]=s(U),
b=0;;e?e-1?e-2?c ?D=c,c=*D,*D=a,a=D
:exit(L[C+1]):(D =B?B:calloc(4,X))?
B=*D,*D=c,c=D,D[ 3]=++C+u, D[2]=a,a
[++D[1] ]++:exit (6):v():C -->22?g(
),1<++b &&x(),k( 7*!b,9),* U++=b&&g
():(C=u+m&1?O=O+ O|C&1,9:write(m||(
O=C+28),&O,1)+1) )e=L[C++],u=L[C];}