home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume39 / ioccc.1993 / part04 < prev    next >
Encoding:
Text File  |  1993-09-26  |  18.2 KB  |  666 lines

  1. Newsgroups: comp.sources.misc
  2. From: chongo@toad.com (Landon Curt Noll)
  3. Subject: v39i107:  ioccc.1993 - 1993 International Obfuscated C Code Contest winners, Part04/04
  4. Message-ID: <1993Sep26.172619.4253@sparky.sterling.com>
  5. X-Md4-Signature: e77b6efef5898288e0f167e45baed549
  6. Keywords: ioccc
  7. Sender: kent@sparky.sterling.com (Kent Landfield)
  8. Reply-To: chongo@toad.com (Landon Curt Noll)
  9. Organization: Nebula Consultants in San Francisco
  10. Date: Sun, 26 Sep 1993 17:26:19 GMT
  11. Approved: kent@sparky.sterling.com
  12.  
  13. Submitted-by: chongo@toad.com (Landon Curt Noll)
  14. Posting-number: Volume 39, Issue 107
  15. Archive-name: ioccc.1993/part04
  16. Environment: C
  17.  
  18. #! /bin/sh
  19. # This is ioccc.1993, a shell archive.  Remove anything before this line,
  20. # then feed it into a shell via "sh file" or similar.  To overwrite existing
  21. # files, type "sh file -c".
  22. #
  23. # Contents:  1993/ant.hint 1993/cmills.c 1993/dgibson.data1
  24. #   1993/dgibson.data2 1993/dgibson.data3 1993/dgibson.data4
  25. #   1993/dgibson.sh 1993/ejb.explain1 1993/plummer.c 1993/rince.data1
  26. #   1993/rince.data2 1993/rince.data3 1993/rince.data4
  27. #   1993/schnitzi.info
  28. #
  29. # Send comments, questions, bugs to:
  30. #
  31. #    judges@toad.com   -or-   ...!{sun,uunet,utzoo,pyramid}!hoptoad!judges
  32. #
  33. # You are strongly encouraged to read the new contest rules before
  34. # sending any entries.  The rules, and sometimes the contest Email
  35. # address itself, change over time.  Valid entries one year may
  36. # be rejected in a later year due to changes in the rules.  The typical
  37. # start date for contests is in early March.  Contest rules are normally not
  38. # finalized and posted until the beginning of the contest.  The typical closing
  39. # date for contests are in early May.
  40. #
  41. # The contest rules are posted to comp.unix.wizards, comp.lang.c,
  42. # misc.misc, alt.sources and comp.sources.d.  If you do not have access
  43. # to these groups, or if you missed the early March posting, you may
  44. # request a copy from the judges, via Email, at the address above.
  45. #
  46. # Copyright (c) 1993, Landon Curt Noll & Larry Bassel.
  47. # All Rights Reserved.  Permission for personal, educational or non-profit
  48. # use is granted provided this this copyright and notice are included in its
  49. # entirety and remains unaltered.  All other uses must receive prior permission
  50. # in writing from both Landon Curt Noll and Larry Bassel.
  51. #
  52. # Previous contest winners are available via anonymous ftp from
  53. # ftp.uu.net under the directory /pub/ioccc.
  54. #
  55. # Wrapped by kent@sparky on Sun Sep 26 12:05:12 1993
  56. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
  57. echo If this archive is complete, you will see the following message:
  58. echo '          "shar: End of archive 4 (of 4)."'
  59. if test -f '1993/ant.hint' -a "${1}" != "-c" ; then 
  60.   echo shar: Will not clobber existing file \"'1993/ant.hint'\"
  61. else
  62.   echo shar: Extracting \"'1993/ant.hint'\" \(1128 characters\)
  63.   sed "s/^X//" >'1993/ant.hint' <<'END_OF_FILE'
  64. XBest Utility: <ant@mks.com> Anthony C Howe
  65. X
  66. X    Anthony Howe
  67. X    Mortice Kern Systems, Inc.
  68. X    Unit 1, 14 Weber Street North,
  69. X    Waterloo, Ontario, N2J 3G4
  70. X    Canada
  71. X
  72. X
  73. XJudges' comments:
  74. X
  75. X    To use:
  76. X    make ant
  77. X    ./ant 'ERE' [file ...]
  78. X
  79. X    where:
  80. X    ERE     is an extended regular expression
  81. X    file    a file to process (default is stdin)
  82. X    
  83. X    You may also want to try the author's test suite:
  84. X    make -f ant.test.mk
  85. X    
  86. X    See the author's Posix P1003.2-like documentation file ant.doc
  87. X    for more information.
  88. X
  89. X    This program demonstrates that Posix doesn't guarantee readability.  :-)
  90. X
  91. X
  92. XSelected notes from the author:
  93. X
  94. X    Some of the features of my entry are:
  95. X
  96. X       o  "Lengthy" POSIX.2 style specification and manual :) :) 
  97. X       o  Useful subset of POSIX.2 Extended Regular Expressions.
  98. X       o  Recursive ERE parser/compiler that generates an NFA railroad. 
  99. X       o  Lazy NFA to DFA evaluation to improve performance speed.
  100. X       o  Code tested on a variety of platforms.
  101. X       o  Make driven test script.
  102. X       o  Can be compiled with ANSI or K&R C.
  103. X       o  Not a toy, but actually useful and usable on systems that use DOS.
  104. END_OF_FILE
  105.   if test 1128 -ne `wc -c <'1993/ant.hint'`; then
  106.     echo shar: \"'1993/ant.hint'\" unpacked with wrong size!
  107.   fi
  108.   # end of '1993/ant.hint'
  109. fi
  110. if test -f '1993/cmills.c' -a "${1}" != "-c" ; then 
  111.   echo shar: Will not clobber existing file \"'1993/cmills.c'\"
  112. else
  113.   echo shar: Extracting \"'1993/cmills.c'\" \(1198 characters\)
  114.   sed "s/^X//" >'1993/cmills.c' <<'END_OF_FILE'
  115. Xlong
  116. Xz[7992],W,H,*t=z,j,k,*T=z,n,b;
  117. X#include<X11/Xlib.h>
  118. XWindow*E,D,s,w[999],*e=w;
  119. XDisplay*d;
  120. XPixmap
  121. Xp;
  122. Xm(w,h,x,y,u,v){
  123. X#define C XCreateSimpleWindow(d,
  124. XXSetWindowBackgroundPixmap(d,s=C*e=C
  125. X#define l(n)t[n]=T[n]+
  126. XD,l(0)x,l(1)y,t[2]=w,t[3]=h,1,b,0),l(6)-x,l(7)-y,W,H,0,0,0),p);
  127. Xl(4)u;
  128. Xl(5)v;
  129. X#define M XMapRaised(d,
  130. XM
  131. Xs);
  132. XM*e++);
  133. Xt+=8;
  134. X}
  135. Xmain(c,g)char**g;
  136. X{
  137. XXSetWindowAttributes
  138. Xa;
  139. XXGCValues
  140. Xv;
  141. Xn=DefaultScreen(d=XOpenDisplay(0));
  142. Xp=XCreatePixmap(d,D=RootWindow(d,n),W=DisplayWidth(d,n),H=DisplayHeight(d,n),DefaultDepth(d,n));
  143. Xv.subwindow_mode=IncludeInferiors;
  144. XXCopyArea(d,D,p,XCreateGC(d,D,GCSubwindowMode,&v),0,0,W,H,0,0);
  145. Xa.override_redirect=True;
  146. XXChangeWindowAttributes(d,D=C
  147. XD,0,0,W,H,0,0,b=BlackPixel(d,n)),CWOverrideRedirect,&a);
  148. XM
  149. XD);
  150. Xm(W,H,0,0,3,3);
  151. Xfor(c=c^1?atoi(g[1]):9;
  152. X;
  153. X)for(T=z,n=e-(E=w);
  154. Xn--;
  155. XT+=8,++E){
  156. XXMoveWindow(d,*E,*T+=T[4]*c,T[1]+=T[5]*c);
  157. Xj=0;
  158. X#define F(n,o,s)o+T[n-4]s-0&&++j&&T[n]s!1&&(T[n]=0-T[n])||
  159. Xif((F(4,0,<)F(4,T[2]-W,>)F(5,0,<)F(5,T[3]-H,>)1)&&j&&(j=T[2]/2)&&(k=T[3]/2)&&e-w<997&&rand()%32768<=T[2]*T[3]*(T[4]*T[4]+T[5]*T[5])/999){
  160. Xm(T[2]-j,T[3]-k,j,k,2,2);
  161. Xm(j,T[3]-k,0,k,-2,-2);
  162. Xm(T[2]-j,k,j,0,2,-2);
  163. XT[7]-=2;
  164. XXResizeWindow(d,*E,T[2]=j,T[3]=k);
  165. XT[6]-=2;
  166. X}
  167. X}
  168. X}
  169. END_OF_FILE
  170.   if test 1198 -ne `wc -c <'1993/cmills.c'`; then
  171.     echo shar: \"'1993/cmills.c'\" unpacked with wrong size!
  172.   fi
  173.   # end of '1993/cmills.c'
  174. fi
  175. if test -f '1993/dgibson.data1' -a "${1}" != "-c" ; then 
  176.   echo shar: Will not clobber existing file \"'1993/dgibson.data1'\"
  177. else
  178.   echo shar: Extracting \"'1993/dgibson.data1'\" \(78 characters\)
  179.   sed "s/^X//" >'1993/dgibson.data1' <<'END_OF_FILE'
  180. XLIFE
  181. X
  182. XL _ _ _ _ _
  183. XL _ _ _ O _
  184. XL _ O _ O _
  185. XL _ _ O O _
  186. XL _ _ _ _ _
  187. X
  188. XGEN 0 
  189. XEND
  190. END_OF_FILE
  191.   if test 78 -ne `wc -c <'1993/dgibson.data1'`; then
  192.     echo shar: \"'1993/dgibson.data1'\" unpacked with wrong size!
  193.   fi
  194.   # end of '1993/dgibson.data1'
  195. fi
  196. if test -f '1993/dgibson.data2' -a "${1}" != "-c" ; then 
  197.   echo shar: Will not clobber existing file \"'1993/dgibson.data2'\"
  198. else
  199.   echo shar: Extracting \"'1993/dgibson.data2'\" \(65 characters\)
  200.   sed "s/^X//" >'1993/dgibson.data2' <<'END_OF_FILE'
  201. XLIFE
  202. X
  203. XL _ _ _ _ _
  204. XL _ O O O _
  205. XL _ _ O _ _
  206. XL _ _ _ _ _
  207. X
  208. XGEN 0
  209. XEND
  210. END_OF_FILE
  211.   if test 65 -ne `wc -c <'1993/dgibson.data2'`; then
  212.     echo shar: \"'1993/dgibson.data2'\" unpacked with wrong size!
  213.   fi
  214.   # end of '1993/dgibson.data2'
  215. fi
  216. if test -f '1993/dgibson.data3' -a "${1}" != "-c" ; then 
  217.   echo shar: Will not clobber existing file \"'1993/dgibson.data3'\"
  218. else
  219.   echo shar: Extracting \"'1993/dgibson.data3'\" \(77 characters\)
  220.   sed "s/^X//" >'1993/dgibson.data3' <<'END_OF_FILE'
  221. XLIFE
  222. X
  223. XL _ _ _ _ _
  224. XL _ _ O O _
  225. XL _ O O _ _
  226. XL _ _ O _ _
  227. XL _ _ _ _ _
  228. X
  229. XGEN 0
  230. XEND
  231. END_OF_FILE
  232.   if test 77 -ne `wc -c <'1993/dgibson.data3'`; then
  233.     echo shar: \"'1993/dgibson.data3'\" unpacked with wrong size!
  234.   fi
  235.   # end of '1993/dgibson.data3'
  236. fi
  237. if test -f '1993/dgibson.data4' -a "${1}" != "-c" ; then 
  238.   echo shar: Will not clobber existing file \"'1993/dgibson.data4'\"
  239. else
  240.   echo shar: Extracting \"'1993/dgibson.data4'\" \(405 characters\)
  241.   sed "s/^X//" >'1993/dgibson.data4' <<'END_OF_FILE'
  242. X/*  0064 Can you build a puffer train?  */
  243. X
  244. XLIFE
  245. X
  246. XL _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
  247. XL _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
  248. XL _ _ O _ _ _ _ _ _ _ _ O _ _ _ _ O _ _ _ 
  249. XL _ O _ _ _ _ _ O _ _ O _ _ _ _ O _ _ _ _ 
  250. XL _ O _ _ _ _ _ _ O O O _ _ _ _ O _ _ _ _ 
  251. XL _ O _ _ O _ _ _ _ _ _ _ _ _ _ O _ _ O _ 
  252. XL _ O O O _ _ _ _ _ _ _ _ _ _ _ O O O _ _ 
  253. XL _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
  254. X
  255. XGEN 0
  256. XEND
  257. END_OF_FILE
  258.   if test 405 -ne `wc -c <'1993/dgibson.data4'`; then
  259.     echo shar: \"'1993/dgibson.data4'\" unpacked with wrong size!
  260.   fi
  261.   # end of '1993/dgibson.data4'
  262. fi
  263. if test -f '1993/dgibson.sh' -a "${1}" != "-c" ; then 
  264.   echo shar: Will not clobber existing file \"'1993/dgibson.sh'\"
  265. else
  266.   echo shar: Extracting \"'1993/dgibson.sh'\" \(827 characters\)
  267.   sed "s/^X//" >'1993/dgibson.sh' <<'END_OF_FILE'
  268. X#!/bin/sh
  269. X#
  270. X# dgibson.sh - run the dgibson entry
  271. X#
  272. X# usage:
  273. X#    dgibson.sh [data_file]
  274. X
  275. X# parse args
  276. X#
  277. Xif [ $# -eq 0 ]; then
  278. X    DATA="./dgibson.data1"
  279. Xelse
  280. X    DATA="$1"
  281. Xfi
  282. Xif [ ! -f "$DATA" ]; then
  283. X    echo "$0: no data found in $DATA" 1>&2
  284. X    exit 1
  285. Xfi
  286. X
  287. X# for the initial data.name if needed
  288. X#
  289. Xif [ ! -f "data.name" ]; then
  290. X    rm -f data.name
  291. X    echo "$DATA" > data.name
  292. Xfi
  293. Xif [ ! -f life.d ]; then
  294. X    # force a new life setup
  295. X    echo "/" > data.name
  296. Xfi
  297. Xrm -f data.name2
  298. Xecho "$DATA" > data.name2
  299. X
  300. X# note if we are running a new form
  301. X#
  302. Xif cmp -s data.name data.name2; then
  303. X    :
  304. Xelse
  305. X    rm -f life.d
  306. X    cp "$DATA" life.d
  307. X    rm -f data.name
  308. X    echo "$DATA" > data.name
  309. X    cat life.d
  310. Xfi
  311. X
  312. X# build a new copy of the program
  313. X#
  314. Xrm -f dgibson
  315. Xmake dgibson
  316. X
  317. X# form the next generation
  318. X#
  319. Xchmod +w life.d
  320. Xdgibson | tee life.d
  321. END_OF_FILE
  322.   if test 827 -ne `wc -c <'1993/dgibson.sh'`; then
  323.     echo shar: \"'1993/dgibson.sh'\" unpacked with wrong size!
  324.   fi
  325.   chmod +x '1993/dgibson.sh'
  326.   # end of '1993/dgibson.sh'
  327. fi
  328. if test -f '1993/ejb.explain1' -a "${1}" != "-c" ; then 
  329.   echo shar: Will not clobber existing file \"'1993/ejb.explain1'\"
  330. else
  331.   echo shar: Extracting \"'1993/ejb.explain1'\" \(530 characters\)
  332.   sed "s/^X//" >'1993/ejb.explain1' <<'END_OF_FILE'
  333. X    The Towers of Hanoi is a puzzle consisting of three posts
  334. X    and several rings of various sizes.  The initial
  335. X    configuration of the game is that all the rings are stacked
  336. X    in decreasing order of size on one post.  The object of the
  337. X    game is to move all the rings from one post to another
  338. X    subject to two rules: only one ring can be moved at a time,
  339. X    and at no time can one ring be placed on top of a smaller
  340. X    ring.  The number of steps necessary to solve this puzzle is
  341. X    exponential in the number rings.
  342. END_OF_FILE
  343.   if test 530 -ne `wc -c <'1993/ejb.explain1'`; then
  344.     echo shar: \"'1993/ejb.explain1'\" unpacked with wrong size!
  345.   fi
  346.   # end of '1993/ejb.explain1'
  347. fi
  348. if test -f '1993/plummer.c' -a "${1}" != "-c" ; then 
  349.   echo shar: Will not clobber existing file \"'1993/plummer.c'\"
  350. else
  351.   echo shar: Extracting \"'1993/plummer.c'\" \(125 characters\)
  352.   sed "s/^X//" >'1993/plummer.c' <<'END_OF_FILE'
  353. Xchar*_,*O;main(S,l)char**l;{*(O=*(l+++S-1)-1)=13,*l[1]=0;for(;;)for(printf(*l),_=O-1;_>=*l&&++*_>(S+*O+S)*S;*_--=(S+*O)*S);}
  354. END_OF_FILE
  355.   if test 125 -ne `wc -c <'1993/plummer.c'`; then
  356.     echo shar: \"'1993/plummer.c'\" unpacked with wrong size!
  357.   fi
  358.   # end of '1993/plummer.c'
  359. fi
  360. if test -f '1993/rince.data1' -a "${1}" != "-c" ; then 
  361.   echo shar: Will not clobber existing file \"'1993/rince.data1'\"
  362. else
  363.   echo shar: Extracting \"'1993/rince.data1'\" \(1056 characters\)
  364.   sed "s/^X//" >'1993/rince.data1' <<'END_OF_FILE'
  365. X\#* ***** **'******
  366. X\#** **** ***/*****
  367. X\$*******/ ********
  368. Xo*** **** ***o****,
  369. X=*** **** ***=****,
  370. Xo******=* *o******.
  371. Xo ***** * \********
  372. X\ ******* \********
  373. X'**$*****`** ******
  374. X' *#***** \********
  375. X'**#* *** ****`****
  376. X'** ***** **'******
  377. X/******=*\*********
  378. X`******=*'*********
  379. X
  380. X=**** *** ****=***/
  381. Xo**** *** ****o***/
  382. X/***** ** *****/***
  383. X/*****#**`*********
  384. X`*******  *******`*
  385. X`*******#/*********
  386. X
  387. X36 18
  388. X###################################
  389. X#                                 #
  390. X#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#
  391. X#$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$#
  392. X#$$$$$$$$$$$$$#$$$#$$$$$$$$$$$$$$$#
  393. X#$$$$$$$$$$$$$#$$$#$$$$$$$$$$$$$$$#
  394. X#$$$$$$$$$$$$$#$$$#$$$$$$$$$$$$$$$#
  395. X#                                 #
  396. X#                                 #
  397. X#      #   #    #                 #
  398. X#      #   #                      #
  399. X#      #   #                      #
  400. X#                                 #
  401. X#                                 #
  402. X#         o                       #
  403. X#        ====                     #
  404. X#                                 #
  405. X-----------------------------------
  406. END_OF_FILE
  407.   if test 1056 -ne `wc -c <'1993/rince.data1'`; then
  408.     echo shar: \"'1993/rince.data1'\" unpacked with wrong size!
  409.   fi
  410.   # end of '1993/rince.data1'
  411. fi
  412. if test -f '1993/rince.data2' -a "${1}" != "-c" ; then 
  413.   echo shar: Will not clobber existing file \"'1993/rince.data2'\"
  414. else
  415.   echo shar: Extracting \"'1993/rince.data2'\" \(1084 characters\)
  416.   sed "s/^X//" >'1993/rince.data2' <<'END_OF_FILE'
  417. Xo***o@***@***d.***h
  418. Xo*o****@*@*d****.*k
  419. Xh***H@***@***..***h
  420. Xk*K****@*@*.****.*k
  421. Xo***.@***@***o.***h
  422. XO***.@***@***O.***h
  423. Xh***.@***@***h.***h
  424. Xj***.@***@***j.***h
  425. Xk***.@***@***k.***h
  426. Xl***.@***@***l.***h
  427. Xo*.****@*@*o****.*k
  428. XO*.****@*@*O****.*k
  429. Xh*.****@*@*h****.*k
  430. Xj*.****@*@*j****.*k
  431. Xk*.****@*@*k****.*k
  432. Xl*.****@*@*l****.*k
  433. X@***.****.***@****h
  434. X@***d****.***@****h
  435. X@*d******.*@******k
  436. X@*.******.*@******k
  437. X
  438. Xo***@o***@***.d***l
  439. Xo*@****o*@*.****d*j
  440. Xl***@L***@***..***l
  441. Xj*@****J*@*.****.*j
  442. Xo***@.***@***.o***l
  443. XO***@.***@***.O***l
  444. Xh***@.***@***.h***l
  445. Xj***@.***@***.j***l
  446. Xk***@.***@***.k***l
  447. Xl***@.***@***.l***l
  448. Xo*@****.*@*.****o*j
  449. XO*@****.*@*.****O*j
  450. Xh*@****.*@*.****h*j
  451. Xj*@****.*@*.****j*j
  452. Xk*@****.*@*.****k*j
  453. Xl*@****.*@*.****l*j
  454. X@****d***.****@***l
  455. X@****.***.****@***l
  456. X@******d*.******@*j
  457. X@******.*.******@*j
  458. X
  459. X23 12
  460. X######################
  461. X#do#.......#..o.o.#..#
  462. X#oo#.#K###.#j.#.#.#h.#
  463. X#.@..#..H.....hh#.#od#
  464. X#oo..H..####k#d...#.o#
  465. X#######J#o.#..o#.##.o#
  466. X#dd##oo.#o.###ddo#...#
  467. X#.Od###.#.o####do#..d#
  468. X#.o.H........#####o..#
  469. X#.oo##..#O....O.O.O.o#
  470. X#d..#ooooO.o#...O....#
  471. X######################
  472. END_OF_FILE
  473.   if test 1084 -ne `wc -c <'1993/rince.data2'`; then
  474.     echo shar: \"'1993/rince.data2'\" unpacked with wrong size!
  475.   fi
  476.   # end of '1993/rince.data2'
  477. fi
  478. if test -f '1993/rince.data3' -a "${1}" != "-c" ; then 
  479.   echo shar: Will not clobber existing file \"'1993/rince.data3'\"
  480. else
  481.   echo shar: Extracting \"'1993/rince.data3'\" \(1268 characters\)
  482.   sed "s/^X//" >'1993/rince.data3' <<'END_OF_FILE'
  483. Xm*** o***o***m ***h
  484. Xm*** O***o***m.***h
  485. XM*** o***O***m ***h
  486. XM*** O***O***m.***h
  487. Xm***.o***o***M ***h
  488. Xm***.O***o***M.***h
  489. XM***.o***O***M ***h
  490. XM***.O***O***M.***h
  491. Xo*** **** ***o****h
  492. Xo***.**** ***O****h
  493. XO*** ****.***o****h
  494. XO***.****.***O****h
  495. Xm* ****o*o*m**** *k
  496. Xm* ****O*o*m****.*k
  497. XM* ****o*O*m**** *k
  498. XM* ****O*O*m****.*k
  499. Xm*.****o*o*M**** *k
  500. Xm*.****O*o*M****.*k
  501. XM*.****o*O*M**** *k
  502. XM*.****O*O*M****.*k
  503. Xo* ****** *o******k
  504. Xo*.****** *O******k
  505. XO* ******.*o******k
  506. XO*.******.*O******k
  507. X
  508. Xm***o ***o*** m***l
  509. Xm***O ***o***.m***l
  510. XM***o ***O*** m***l
  511. XM***O ***O***.m***l
  512. Xm***o.***o*** M***l
  513. Xm***O.***o***.M***l
  514. XM***o.***O*** M***l
  515. XM***O.***O***.M***l
  516. Xo**** *** ****o***l
  517. Xo****.*** ****O***l
  518. XO**** ***.****o***l
  519. XO****.***.****O***l
  520. Xm*o**** *o* ****m*j
  521. Xm*O**** *o*.****m*j
  522. XM*o**** *O* ****m*j
  523. XM*O**** *O*.****m*j
  524. Xm*o****.*o* ****M*j
  525. Xm*O****.*o*.****M*j
  526. XM*o****.*O* ****M*j
  527. XM*O****.*O*.****M*j
  528. Xo****** * ******o*j
  529. Xo******.* ******O*j
  530. XO****** *.******o*j
  531. XO******.*.******O*j
  532. X
  533. X20 15
  534. X.         ####     
  535. X     #### #  #     
  536. X   ### o###m #     
  537. X  ##      m  #     
  538. X ##  m mm## ##     
  539. X #  #m##     #     
  540. X # # m mm # ###    
  541. X #   m #  # m #####
  542. X####    #  mm #   #
  543. X#### ## m         #
  544. X#.    ###  ########
  545. X#.. ..# ####       
  546. X#...#.#            
  547. X#.....#            
  548. X#######            
  549. END_OF_FILE
  550.   if test 1268 -ne `wc -c <'1993/rince.data3'`; then
  551.     echo shar: \"'1993/rince.data3'\" unpacked with wrong size!
  552.   fi
  553.   # end of '1993/rince.data3'
  554. fi
  555. if test -f '1993/rince.data4' -a "${1}" != "-c" ; then 
  556.   echo shar: Will not clobber existing file \"'1993/rince.data4'\"
  557. else
  558.   echo shar: Extracting \"'1993/rince.data4'\" \(1228 characters\)
  559.   sed "s/^X//" >'1993/rince.data4' <<'END_OF_FILE'
  560. Xm*** o***o***m ***h
  561. Xm*** O***o***m.***h
  562. XM*** o***O***m ***h
  563. XM*** O***O***m.***h
  564. Xm***.o***o***M ***h
  565. Xm***.O***o***M.***h
  566. XM***.o***O***M ***h
  567. XM***.O***O***M.***h
  568. Xo*** **** ***o****h
  569. Xo***.**** ***O****h
  570. XO*** ****.***o****h
  571. XO***.****.***O****h
  572. Xm* ****o*o*m**** *k
  573. Xm* ****O*o*m****.*k
  574. XM* ****o*O*m**** *k
  575. XM* ****O*O*m****.*k
  576. Xm*.****o*o*M**** *k
  577. Xm*.****O*o*M****.*k
  578. XM*.****o*O*M**** *k
  579. XM*.****O*O*M****.*k
  580. Xo* ****** *o******k
  581. Xo*.****** *O******k
  582. XO* ******.*o******k
  583. XO*.******.*O******k
  584. X
  585. Xm***o ***o*** m***l
  586. Xm***O ***o***.m***l
  587. XM***o ***O*** m***l
  588. XM***O ***O***.m***l
  589. Xm***o.***o*** M***l
  590. Xm***O.***o***.M***l
  591. XM***o.***O*** M***l
  592. XM***O.***O***.M***l
  593. Xo**** *** ****o***l
  594. Xo****.*** ****O***l
  595. XO**** ***.****o***l
  596. XO****.***.****O***l
  597. Xm*o**** *o* ****m*j
  598. Xm*O**** *o*.****m*j
  599. XM*o**** *O* ****m*j
  600. XM*O**** *O*.****m*j
  601. Xm*o****.*o* ****M*j
  602. Xm*O****.*o*.****M*j
  603. XM*o****.*O* ****M*j
  604. XM*O****.*O*.****M*j
  605. Xo****** * ******o*j
  606. Xo******.* ******O*j
  607. XO****** *.******o*j
  608. XO******.*.******O*j
  609. X
  610. X20 14
  611. X.  #########       
  612. X  ##   ##  #####   
  613. X###     #  #    ###
  614. X#  m #m #  #  ... #
  615. X# # m#om## # #.#. #
  616. X#  # #m  #    . . #
  617. X# m    m # # #.#. #
  618. X#   ##  ##m m . . #
  619. X# m #   #  #m#.#. #
  620. X## m  m   m  m... #
  621. X #m ######    ##  #
  622. X #  #    ##########
  623. X ####              
  624. END_OF_FILE
  625.   if test 1228 -ne `wc -c <'1993/rince.data4'`; then
  626.     echo shar: \"'1993/rince.data4'\" unpacked with wrong size!
  627.   fi
  628.   # end of '1993/rince.data4'
  629. fi
  630. if test -f '1993/schnitzi.info' -a "${1}" != "-c" ; then 
  631.   echo shar: Will not clobber existing file \"'1993/schnitzi.info'\"
  632. else
  633.   echo shar: Extracting \"'1993/schnitzi.info'\" \(274 characters\)
  634.   sed "s/^X//" >'1993/schnitzi.info' <<'END_OF_FILE'
  635. XThis program answers questions about paragraphs
  636. Xof text posed to it in English.  It is written
  637. Xin C.  Mark Schnitzius is the author of this
  638. Xprogram.
  639. X
  640. XThe Loch Ness monster has been captured.  Elvis
  641. Xis alive.  Hostler was a woman.  The NASA moon
  642. Xlandings were clearly faked.
  643. END_OF_FILE
  644.   if test 274 -ne `wc -c <'1993/schnitzi.info'`; then
  645.     echo shar: \"'1993/schnitzi.info'\" unpacked with wrong size!
  646.   fi
  647.   # end of '1993/schnitzi.info'
  648. fi
  649. echo shar: End of archive 4 \(of 4\).
  650. cp /dev/null ark4isdone
  651. MISSING=""
  652. for I in 1 2 3 4 ; do
  653.     if test ! -f ark${I}isdone ; then
  654.     MISSING="${MISSING} ${I}"
  655.     fi
  656. done
  657. if test "${MISSING}" = "" ; then
  658.     echo You have unpacked all 4 archives.
  659.     rm -f ark[1-9]isdone
  660. else
  661.     echo You still must unpack the following archives:
  662.     echo "        " ${MISSING}
  663. fi
  664. exit 0
  665. exit 0 # Just in case...
  666.