home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / sources / hp48 / 292 < prev    next >
Encoding:
Text File  |  1992-11-19  |  28.6 KB  |  525 lines

  1. Newsgroups: comp.sources.hp48
  2. Path: sparky!uunet!seq!spell
  3. From: Jerome B. Cipriani <cipriani@viking.gatech.edu>
  4. Subject:  v07i041:  ttt3d.jbc - 3-D Tic Tac Toe v1.0, Part01/01
  5. Message-ID: <1992Nov19.195724.19062@seq.uncwil.edu>
  6. Followup-To: comp.sys.hp48
  7. Sender: spell@seq.uncwil.edu (Chris Spell)
  8. Organization: Univ. of North Carolina @ Wilmington
  9. Date: Thu, 19 Nov 1992 19:57:24 GMT
  10. Approved: spell@seq.uncwil.edu
  11. Lines: 516
  12.  
  13. Checksum: 1276636390 (verify with brik -cv)
  14. Submitted-by: Jerome B. Cipriani <cipriani@viking.gatech.edu>
  15. Posting-number: Volume 7, Issue 41
  16. Archive-name: ttt3d.jbc
  17.  
  18. BEGIN_DOC ttt3d.doc
  19.                            3-D Tic-Tac-Toe 1.0
  20.  
  21. Object
  22. ------
  23.  The object is to beat the computer by accumulating the most points.
  24.  
  25. Points
  26. ------
  27.  A tic-tac-toe occurs when three pieces of the same color are aligned in a
  28.  row, whether straight (side to side) or diagonal (corner to corner).
  29.  
  30.  Points are as follows:
  31.  
  32.  1 point: A single plane straight or diagonal tic-tac-toe
  33.  
  34.  2 points: A multi plane straight tic-tac-toe
  35.  
  36.  3 points: A multi plane diagonal tic-tac-toe
  37.  
  38.  
  39. The Play
  40. --------
  41.  Press PLAY to begin.
  42.  
  43.  The player is prompted to go first.  (I do recommend that you go first if
  44.  it is your first time)
  45.  
  46.  The player may position his cursor (resembling two arrows pointing inward)
  47.  on a position by using the menu keys.  The cursor is based on a wrap around
  48.  principle (so that you can go off the top of the board and end up on the
  49.  bottom, etc.)
  50.  
  51.  The player should press the menu key under MOVE to execute his move at the
  52.  current cursor position.  A legal move is any that is not in a position
  53.  already occupied by a computer piece or player piece.
  54.  
  55.  The computer automatically begins its move after the player's move has been
  56.  made.  (If the computer is allowed the first move, it will always move to
  57.  the center position.)  The computer searches all the positions for the best
  58.  possible move, but also throws in a bit of randomness.  The computer takes
  59.  the longest in the beginning and each turn thereafter is progressively
  60.  faster.  I have included a filling bar to let the player know where the
  61.  computer is in its thought process.
  62.  
  63.  The computer plays more on the offensive than on the defensive.  Given the
  64.  chance to take a 3 point tic-tac-toe or to block a 3 point tic-tac-toe, it
  65.  will take the 3 points.
  66.  
  67.  The player may press the menu key under SCORE any time during his turn to
  68.  see the score as of that point.  (I didn't have the computer automatically
  69.  do this since SCORE takes about 10 seconds to run.)
  70.  
  71.  The game is over when all the positions on the board are filled.  The score
  72.  will automatically be computed at this point and a winner will be determined.
  73.  
  74.  If the game is abandoned during the player's turn (for example by pressing ON)
  75.  it can be resumed later by executing CONTIN (it appears as CONT in the
  76.  directory menu).
  77.  
  78. History
  79. -------
  80.  One saturday afternoon, while at Underground Atlanta, I passed by a vendor
  81.  selling chess sets.  He offered to play a game of 3 dimensional tic-tac-toe
  82.  which he also sold.  After he taught me and I proceeded to beat him, or he
  83.  allowed me to win, he tried to make the sale.  Being the poor college student
  84.  that I am, I could not afford it.  As I walked away, I thought to myself that
  85.  a game like that should be relatively simple to make on the HP.  So, here it 
  86.  is!
  87.  
  88. Note
  89. ----
  90.  This program was developed on an HP48SX revision E.  It contains 3 different
  91.  addresses used by syseval.  They are as follows:
  92.  
  93.  Address        Description                                Times used
  94.  -------        -----------                                ----------
  95.  #05F42h        HP:GARBAGE - force memory packing               3
  96.  #4E2CFh        HP:TURNMENUOFF - turn off menu line             1
  97.  #3A1E8h        HP:DispMenu - redisplays the current menu       2
  98.  
  99. Disclaimers
  100. -----------
  101.  Use at your own risk.
  102.  
  103.  As stated above, the program does use sysevals.  However, if used properly
  104.  it should work fine.  I tested all the possibilities I could think of when
  105.  playing the game and it worked fine.  However, I do not claim to have checked
  106.  every single possibility, and therefore there is always the risk of something
  107.  unexpected happening.  I am not responsible for any consequences, unexpected
  108.  or not, you or your machine may experience while using my programs.
  109.  
  110. Acknowledgments
  111. ---------------
  112.  Thanks to my fiance, Pam, who originally bought my HP48sx for me.
  113.  
  114. Copyright
  115. ---------
  116.  Copyright (c) Jerome B. Cipriani -- 1992
  117.  All Rights Reserved
  118.  
  119. Hope you enjoy it!
  120.  
  121. Jerry Cipriani
  122.  
  123. (Any questions or advice go to: cipriani@beagle.gatech.edu)
  124.  
  125. END_DOC
  126.  
  127. BEGIN_ASC ttt3d.asc
  128. %%HP: T(3)A(D)F(.);
  129. "69A20FF7BB030000004005F435354047A20C2A20170001302230233021302430
  130. 2730213025302930223021303021393023302131302231302330213330223530
  131. 2330213430223730202130273C2A205400013022302330213025302830223021
  132. 31302230302330213430223630202130243C2A20170001302130223021302630
  133. 2930213025302730223021323022313023302131302139302330213430223530
  134. 2330213530223730202130273C2A205400013021302730213025302630223021
  135. 33302232302330213430223430202130243C2A20D40001302430263021302230
  136. 28302130213029302130233027302230213430223330202130253C2A20540001
  137. 302430253021302330293022302135302234302330213430223230202130243C
  138. 2A20170001302830293021302130243021302330253022302136302235302330
  139. 21333021393023302134302231302330213730223730202130273C2A20540001
  140. 302730293021302230253022302137302236302330213430223030202130243C
  141. 2A20170001302730283021302330263021302130253022302138302237302330
  142. 21343021393023302135302231302330213730223530202130273C2A20B40001
  143. 3021313021323021302133302136302130213430213830223021302139302021
  144. 30243C2A20750001302130302132302130213430213730223022302230302330
  145. 213022313023302330213930202130253C2A20B4000130213030213130213021
  146. 3530213830213021343021363022302330223130202130243C2A207500013021
  147. 3430213530213021303021363022302430223230233021302235302330273021
  148. 3930202130253C2A20DC00013021333021353021302131302137302130213030
  149. 2138302130213230213630223025302233302330213022373023302230223630
  150. 2330233022353023302430223430233026302232302330273022313023302830
  151. 2230302330293021393020213021333C2A207500013021333021343021302132
  152. 30213830223026302234302330233022373023302930223130202130253C2A20
  153. B400013021373021383021302130302133302130213230213430223027302235
  154. 30202130243C2A20750001302136302138302130213130213430223028302236
  155. 302330273022373023302930223530202130253C2A20B4000130213630213730
  156. 2130213230213530213021303021343022302930223730202130243C2A205700
  157. 0130223030223130213022323022353021302233302237302230213021303023
  158. 3023302131302330273021333023302930213430202130273C2A209400013021
  159. 393022313021302233302236302230223021313023302830213430202130243C
  160. 2A20570001302139302230302130223430223730213022333022353022302330
  161. 213230233021302131302330273021343023302930213530202130273C2A2094
  162. 0001302233302234302130213930223530223024302133302330263021343020
  163. 2130243C2A20B500013022323022343021302230302236302130213930223730
  164. 213022313022353022302530213430202130253C2A2094000130223230223330
  165. 21302231302237302230263021353023302430213430202130243C2A20570001
  166. 3022363022373021302139302232302130223130223330223027302136302330
  167. 21302133302330233021343023302930213730202130273C2A20940001302235
  168. 3022373021302230302233302230283021373023302230213430202130243C2A
  169. 2057000130223530223630213022313022343021302139302233302230293021
  170. 3830233021302134302330233021353023302730213730202130273B2130A6A0
  171. 0600594543454356047A2047A20E4A20510005100000000000000E4A20510001
  172. 000000000000000B213047A20E4A20510000200000000000000E4A2051000100
  173. 0000000000000B213047A20E4A2051000B200000000000000E4A205100010000
  174. 00000000000B213047A20E4A20510000100000000000000E4A20510006000000
  175. 000000000B213047A20E4A2051000B100000000000000E4A2051000600000000
  176. 0000000B213047A20E4A20510006200000000000000E4A205100060000000000
  177. 00000B213047A20E4A2051000B000000000000000E4A2051000B000000000000
  178. 000B213047A20E4A20510006100000000000000E4A2051000B00000000000000
  179. 0B213047A20E4A20510001200000000000000E4A2051000B000000000000000B
  180. 213047A20E4A20510005100000000000000E4A20510004100000000000000B21
  181. 3047A20E4A20510000200000000000000E4A20510004100000000000000B2130
  182. 47A20E4A2051000B200000000000000E4A20510004100000000000000B213047
  183. A20E4A20510000100000000000000E4A20510009100000000000000B213047A2
  184. 0E4A2051000B100000000000000E4A20510009100000000000000B213047A20E
  185. 4A20510006200000000000000E4A20510009100000000000000B213047A20E4A
  186. 2051000B000000000000000E4A2051000E100000000000000B213047A20E4A20
  187. 510006100000000000000E4A2051000E100000000000000B213047A20E4A2051
  188. 0001200000000000000E4A2051000E100000000000000B213047A20E4A205100
  189. 05100000000000000E4A20510007200000000000000B213047A20E4A20510000
  190. 200000000000000E4A20510007200000000000000B213047A20E4A2051000B20
  191. 0000000000000E4A20510007200000000000000B213047A20E4A205100001000
  192. 00000000000E4A2051000C200000000000000B213047A20E4A2051000B100000
  193. 000000000E4A2051000C200000000000000B213047A20E4A2051000620000000
  194. 0000000E4A2051000C200000000000000B213047A20E4A2051000B0000000000
  195. 00000E4A20510001300000000000000B213047A20E4A20510006100000000000
  196. 000E4A20510001300000000000000B213047A20E4A2051000120000000000000
  197. 0E4A20510001300000000000000B2130B21304A600406425A55440D9D20E1632
  198. 47A20E4A20510000000000000000000E4A20510000000000000000000B21300F
  199. 2E1743A24A5A193632B2130D6000400525F47440D9D20E1632E4A205100024F5
  200. 000000000000E25A1634E147A20E4A2051000A300000000000000E4A20510000
  201. 000000000000000B2130E4A20510008400000000000000E4A205100063000000
  202. 00000000614E1AE8C1634E147A20E4A20510001400000000000000E4A2051000
  203. 9200000000000000B2130E1B201E000F00008300044000400000000C60000000
  204. 0000045E446C3E00000451544441100004415444411000044192444E9168144E
  205. 01E4409168100000000E000000000000000000000000000000000FFFFFFFFFFF
  206. FFF100000000000081000000000000810000000000008FFFFFFFFFFFFFF654E1
  207. 4B2A24563284E20100597632DCC024B2A24563284E20403484345497632DCC02
  208. 9C2A23392010000000000007200A132D6E2010874B2A24563284E203094E4449
  209. 7632DCC024563284E2050451424C45497632D6E2010876C7D13CE224B2A2279E
  210. 1AFE22D9D204563284E204005F4353597632D6E2010876C7D162BC10A132D6E2
  211. 010974563284E2050451424C45497632DBBF16C7D14563284E2050451424C454
  212. 97632E0CF16C7D176BA13F2A276BA147A20339201000000000000210ED2A29C2
  213. A23F2A2339201000000000000510B2130DBBF16C7D1EEDA14563284E203094E4
  214. 4497632DBBF1B4402C4232B21305DF224563284E203094E444976329B1C1B440
  215. 23CE2284E203094E44484E204034843454D5CE1AFE22D9D2084E203094E44445
  216. 63284E20403484345497632DCC02D6E2010874563284E20100597632DCC02B21
  217. 305DF22634E1339201000000000000460D6E201087ED2A2EEDA176BA1B9691E4
  218. A20510004300000000000000ED2A2387C1E1B20510003000020000303030654E
  219. 1C4232E4A205100024F5000000000000E25A1634E147A20E4A20510001400000
  220. 000000000E4A20510009200000000000000B2130E4A205100087000000000000
  221. 00E4A2051000F000000000000000614E1AE8C184E20100584E204034D4F46584
  222. E2050451424C4544B2A24BAC13CE224B2A2D9AE1AFE22D9D209C2A24563284E2
  223. 050847484C44597632DCC0284E206034F4E44594E484E20402505C434B21305B
  224. F2284E2030F465255DF2293632B21303460040D4F4655440D9D20E16323CE228
  225. 4E2050847484C4454563284E2050451424C45497632DBBF16C7D14B2A2279E1A
  226. FE22D9D2084E20402505C43484E2050847484C44578BF14563284E2050451424
  227. C45497632DBBF1683A2704D1634E14563284E206005945434543597632E0CF16
  228. C7D1E1B20910005000050000E0111111E0AE8C184E2050451424C4544B2A24BA
  229. C13CE224B2A2D9AE1AFE2284E20400525F4745BF2284E2030F465255DF22B213
  230. 05BF2284E20406425A5545DF2293632B213008100105410D9D20E163284E2040
  231. 2505C4344563284E2050847484C445976329C2A2ED2A284E2050847484C4453F
  232. 2A250FA13ABB14B2A2D9AE184E2030D4655493632B213058000107510D9D20E1
  233. 63284E20402505C4344563284E2050847484C44597632ED2A29C2A284E205084
  234. 7484C4459C2A290DA13F2A250FA13ABB14B2A2279E184E2030D4655493632B21
  235. 30F800020E45420D9D20E163284E20402505C4344563284E2050847484C44597
  236. 6323392010000000000004203F2A284E2050847484C4453F2A2CFCE184E2030D
  237. 4655493632B21308800020357520D9D20E163284E20402505C4344563284E205
  238. 0847484C445976323F2A233920100000000000042084E2050847484C44533920
  239. 1000000000000520EBBE184E2030D4655493632B213089000303484B430D9D20
  240. E163262BC10A132D6E2010874563284E2050451424C45497632DBBF16C7D1456
  241. 3284E2050451424C45497632E0CF16C7D14563284E2050451424C45497632803
  242. A25BCF16C7D176BA176BA13CE2278BF10B3A2279E1AFE22D9D208DBF184E2020
  243. 14444563284E203005353497632B4402B21305BF22D9D203CE223F2A2279E1AF
  244. E22D9D2084E202014444563284E203034353497632B4402B21305DF22B21305D
  245. F22C423293632B21301610030D4655430D9D20E16323CE22AFE22D9D208DBF1B
  246. 4402B21305BF22D9D20DBBF18DBF183502B21305DF2284E20402505C43493632
  247. B2130E60004034D4F46540D9D20E163278BF14563284E2050451424C45497632
  248. DBBF19C2A2704D1634E14563284E206005945434543597632E0CF16C7D1E1B20
  249. 910005000050000E0F1F1F1E0654E1634E147A20E4A2051000B3000000000000
  250. 00E4A2051000D200000000000000B2130C2A2091000D49702D4F66756A302328
  251. 4E201005B0BC176BA1ED2A2DA5E1654E193632B21301210030F4652530D9D20E
  252. 1632634E147A20E4A2051000B300000000000000E4A205100000000000000000
  253. 00B2130E4A20510009400000000000000E4A20510007300000000000000614E1
  254. AE8C1634E147A20E4A2051000B300000000000000E4A2051000A200000000000
  255. 000B2130C2A20710007416D65602F4675627ED2A2DA5E1654E184E20503534F4
  256. 2554634E147A20E4A2051000B300000000000000E4A205100091000000000000
  257. 00B21303CE2284E203034353484E2030053534D5CE1AFE22C2A20D100034F6D6
  258. 07574756270275F6E65BF22D9D203CE2284E203034353484E2030053534EBBE1
  259. AFE22C2A209100005C6169756270275F6E65BF22C2A20B00004596565DF22B21
  260. 305DF22ED2A2DA5E1654E147A2084E204015559445C2A2050000C2A2050000C2
  261. A2050000C2A205000084E204005C41495B2130D5112E4A20510008E1A3000000
  262. 00000E25A193632B21304A2003045D40530D9D20E1632F52E1858A1606E1E4A2
  263. 051000FC2E400000000000E25A1E1B20F830083000A30000000EFFFFFFFFF300
  264. 0001000000000100008000000000800000408004002040000020000000002000
  265. 0010000000001000080000000008000004000000000400000204002001020000
  266. 0100000000010000800000000080000040000000004000002000000000200000
  267. 102001080010000800000000080000040000000004000002000000000200000F
  268. FFFFFFFFF10000000000000000000000000EFFFFFFFFF3000001000000000100
  269. 0080000000008000004080040020400000200000000020000010000000001000
  270. 0800000000080000040000000004000002040020010200000100000000010000
  271. 8000000000800000400000000040000020000000002000001020010800100008
  272. 00000000080000040000000004000002000000000200000FFFFFFFFFF1000000
  273. 0000000000000000000EFFFFFFFFF30000010000000001000080000000008000
  274. 0040800400204000002000000000200000100000000010000800000000080000
  275. 0400000000040000020400200102000001000000000100008000000000800000
  276. 4000000000400000200000000020000010200108001000080000000008000004
  277. 0000000004000002000000000200000FFFFFFFFFF100000634E1DCC029C2A245
  278. 63284E2050847484C44597632DCC0293632B2130F0400402505C43440D9D20E1
  279. 632634E14563284E20600594543454359763284E2050847484C4456C7D1A59C1
  280. E0CF1D13A290DA13F2A20DCF1387C1E1B203200050000F00004001C081F1C7C0
  281. 8140014E4E184E20406425A55493632B21307B000503534F4255450D9D20E163
  282. 2634E147A20E4A2051000B300000000000000E4A20510000000000000000000B
  283. 2130E1B20DF0001100053000E000000804000011000008000000183BC31D16C3
  284. E014455419044411144554190444111545D3192444E1E83150E11E4401000040
  285. 000000E00000000000000000000000000000E000000000000011000000000000
  286. 187E47E0000000E401D011000000050150F100000015015018168100E87E40E8
  287. 168100654E14B2A24563284E203034353497632DCC024B2A24563284E2030053
  288. 53497632DCC029C2A24563284E2020144497632DCC02C2A20D81001302230233
  289. 0213024302730213025302930223025302830233025302730233026302930243
  290. 0253026302730283029302130302131302132302130302133302136302130302
  291. 1343021383021313021343021373021323021343021363021323021353021383
  292. 0213330213430213530213630213730213830213930223030223130213930223
  293. 2302235302139302233302237302230302233302236302231302233302235302
  294. 2313022343022373022323022333022343022353022363022373021302234384
  295. E20303484B4ED2A24563284E2020144497632DCC02C2A20B9000130213030213
  296. 9302230213130223030233021323022313024302133302232302530213430223
  297. 3302630213530223430273021363022353028302137302236302930213830223
  298. 730213029384E20303484B43F2A24563284E2020144497632DCC02C2A20D0100
  299. 1302131302231302130213330223530213021343022373022302134302236302
  300. 3302134302235302330213130213930233021353022373024302134302234302
  301. 6302134302232302730213330213930273021343022313027302137302237302
  302. 8302134302230302930213430213930293021353022313029302137302235302
  303. 1302136384E20303484B4634E147A20E4A2051000B300000000000000E4A2051
  304. 0000000000000000000B2130E4A20510005300000000000000E4A20510001100
  305. 000000000000614E1AE8C1634E147A20E4A2051000B300000000000000E4A205
  306. 10000000000000000000B2130C2A209100034F6D60757475627A30284E203034
  307. 3534B0BC176BA1ED2A2DA5E1AE8C1634E147A20E4A2051000B30000000000000
  308. 0E4A2051000A000000000000000B2130C2A205100005C616975627A30284E203
  309. 0053534B0BC176BA1ED2A2DA5E1AE8C184E20406425A55493632B21300170030
  310. 95543530D9D20E163284E203045D40584E206034F4E44594E484E20402505C43
  311. 493632B2130D400020E4F420D9D20E163284E203045D40533920100000000000
  312. 041078BF14563284E20100597632DCC0284E204034D4F46584E206034F4E4459
  313. 4E484E20402505C43493632B2130C8000401555944540D9D20E1632858A1606E
  314. 147A2084E203034353484E203005353484E2050451424C45484E20100584E203
  315. 094E44484E20403484345484E2050847484C44584E20201444634E1B2130EFE0
  316. 23392000000000000010206911293632B21304C0006034F4E44594E460D9D20E
  317. 163247A2084E2020357584E2020E45484E20107584E20105484E20503534F425
  318. 5484E2040D4F46554B2130D5112634E147A20E4A20510000000000000000000E
  319. 4A20510009300000000000000B2130E1B20DF0007000038000FFFFFDFFFF7FFF
  320. FFDFFFF7FFFFFDFFFF70FFFEFDF78F7FFBFFDF7FF733191DE2A260FF6FFDFF9F
  321. 7FFDFFDFFEF7DD55DD4AAA70FFAFFDFFAF7FF0EFDF1CF7BD591DAAA260FFCFFD
  322. F7BF7FFDFFDFFEF77D55DDEAAA70FF0FFDFBFF7FFBFFDF7FF793151DE26360FF
  323. FFFDFFFF7FFFFFDFFFF7FFFFFDFFFF70654E184E20406425A55493632B21304D
  324. 1004005C4149540D9D20E1632E4A205100024F5000000000000E25A1F52E1684
  325. C184E20406425A5549C2A2339201000000000000720301324B2A2C4232339201
  326. 000000000000720387C14563284E2050451424C45497632DCC02634E147A20E4
  327. A20510001100000000000000E4A20510000000000000000000B2130E1B20FB50
  328. 08300016000FFFFFFFFFFFFFFFFFFFFFFFF1010000000000000000000000010D
  329. FFFFFFFFFFFFFFFFFFFFFF710500000000000000000000004105000000000000
  330. 000000004C5105000000000000000000004451050CF100000000000000004451
  331. 050EF7000008F0000000004D51050FFF00000CF700000000004105808F10000E
  332. FF100CF700004105400E300002CF300040000041054E3C7000020E7000402000
  333. 4105C1C870000208F00040000041050001F00002F0F100402C1041050002F000
  334. 0271E10040220041050002E0000272C30040220041050004E0000274C3004022
  335. 0041050004E00002788700402C1041050004E0000270970000000041050004E0
  336. 000270270000000041050004600002702F0000000041050002600002702F0CF7
  337. 0000410500F3308F02704E00400000410508F110CF02704E00400000410508F8
  338. 30EF02704E004000004105040C702602704E00483C10410508F870E302704E00
  339. 44420041050001F00002704E0044420041050002F00002704600446200410500
  340. 02E00002704600485C1041050004E0000270270000000041050004E000027023
  341. 0000000041050004E0000270230000000041050004E0000270910CF700004105
  342. 00046000027881004000004105000260000276C00040000041058702300002F3
  343. 4000483C104105CFF1100002F120004442204105EFF8000002F01000444E1041
  344. 052E3400000208000044420041052002000002060000483C104105C081000002
  345. C1000000000041050F7000000E30000000000041050000000000000000000000
  346. 41050000000000000000000000410DFFFFFFFFFFFFFFFFFFFFFF710100000000
  347. 00000000000000010FFFFFFFFFFFFFFFFFFFFFFFF10000000000000000000000
  348. 0000000000193110F93F83F930000000000015411010115444400000000000A4
  349. 411010115040400000000000444110F01F834020000000000044411010150440
  350. 10000000000044411010194440000000000000483E00183193401000000654E1
  351. 47A2084E204015559445C2A2050000C2A2050000C2A205000084E20309554358
  352. 4E2020E4F4B2130D5112E4A20510008E1A300000000000E25A193632B2130BBF
  353. A"
  354. END_ASC
  355.  
  356. BYTES: #AFBBh 7166.5
  357.  
  358. BEGIN_UU ttt3d.uue
  359. begin 644 ttt3d
  360. M2%!(4#0X+466*O!_NS`````$4$]34P1T*L"B`G$`$`,B`S(#$@-"`W(#$@-2
  361. M`Y(#(@,2`P,2DP,R`Q(3`R(3`S(#$C,#(E,#,@,20P,B<P,"$@-RPZ("10`0
  362. M`R(#,@,2`U(#@@,B`Q(3`R(#`S(#$D,#(F,#`A(#0L.B`G$`$`,2`R(#$@-B
  363. M`Y(#$@-2`W(#(@,2(P,B$P,R`Q(3`Q*3`S(#$D,#(E,#,@,24P,B<P,"$@-R
  364. MPZ("10`0`Q(#<@,2`U(#8@,B`Q(S`R(C`S(#$D,#(D,#`A(#0L.B`DT`$`-"
  365. M`V(#$@,B`X(#$@,2`Y(#$@,R`W(#(@,20P,B,P,"$@-2PZ("10`0`T(#4@,2
  366. M`S(#D@,B`Q)3`R)#`S(#$D,#(B,#`A(#0L.B`G$`$`."`Y(#$@,2`T(#$@,R
  367. M`U(#(@,28P,B4P,R`Q(S`Q*3`S(#$D,#(A,#,@,2<P,B<P,"$@-RPZ("10`0
  368. M`W(#D@,2`R(#4@,B`Q)S`R)C`S(#$D,#(@,#`A(#0L.B`G$`$`-R`X(#$@,R
  369. M`V(#$@,2`U(#(@,2@P,B<P,R`Q)#`Q*3`S(#$E,#(A,#,@,2<P,B4P,"$@-R
  370. MPZ("2P`0`Q(3`Q(C`Q(#$C,#$F,#$@,20P,2@P,B`Q(#$I,#`A(#0L.B`E<`
  371. M$`,2`P,2(P,2`Q)#`Q)S`R(#(@,B`P,R`Q(#(A,#,@,R`Q*3`P(2`U+#H@)+
  372. M`!`#$@,#$A,#$@,24P,2@P,2`Q)#`Q)C`R(#,@,B$P,"$@-"PZ("5P`0`Q)#
  373. M`Q)3`Q(#$@,#$F,#(@-"`R(C`S(#$@,B4P,R`W(#$I,#`A(#4L.B`LT`$`,2
  374. M,P,24P,2`Q(3`Q)S`Q(#$@,#$H,#$@,2(P,28P,B`U(#(C,#,@,2`R)S`S(#
  375. M(@,B8P,R`S(#(E,#,@-"`R)#`S(#8@,B(P,R`W(#(A,#,@."`R(#`S(#D@,2
  376. MDP,"$@,2,\.B`E<`$`,2,P,20P,2`Q(C`Q*#`R(#8@,B0P,R`S(#(G,#,@.2
  377. M`R(3`P(2`U+#H@)+`!`#$G,#$H,#$@,2`P,2,P,2`Q(C`Q)#`R(#<@,B4P,"
  378. M$@-"PZ("5P`0`Q)C`Q*#`Q(#$A,#$D,#(@."`R)C`S(#<@,B<P,R`Y(#(E,#
  379. M`A(#4L.B`DL`$`,28P,2<P,2`Q(C`Q)3`Q(#$@,#$D,#(@.2`R)S`P(2`T+#
  380. MH@)U`!`#(@,#(A,#$@,B(P,B4P,2`R(S`R)S`R(#$@,2`P,R`S(#$A,#,@-R
  381. M`Q(S`S(#D@,20P,"$@-RPZ("20`0`Q*3`R(3`Q(#(C,#(F,#(@,B`Q(3`S(#
  382. M@@,20P,"$@-"PZ("=0`0`Q*3`R(#`Q(#(D,#(G,#$@,B,P,B4P,B`S(#$B,#
  383. M,@,2`Q(3`S(#<@,20P,R`Y(#$E,#`A(#<L.B`DD`$`,B,P,B0P,2`Q*3`R)3
  384. M`R(#0@,2,P,R`V(#$D,#`A(#0L.B`EL`$`,B(P,B0P,2`R(#`R)C`Q(#$I,#
  385. M(G,#$@,B$P,B4P,B`U(#$D,#`A(#4L.B`DD`$`,B(P,B,P,2`R(3`R)S`R(#
  386. M8@,24P,R`T(#$D,#`A(#0L.B`G4`$`,B8P,B<P,2`Q*3`R(C`Q(#(A,#(C,#
  387. M(@-R`Q)C`S(#$@,2,P,R`S(#$D,#,@.2`Q)S`P(2`W+#H@))`!`#(E,#(G,#
  388. M$@,B`P,B,P,B`X(#$G,#,@,B`Q)#`P(2`T+#H@)U`!`#(E,#(F,#$@,B$P,B
  389. M0P,2`Q*3`R(S`R(#D@,2@P,R`Q(#$D,#,@,R`Q)3`S(#<@,2<P,"$@-RLQ(#
  390. M:@I@`)54-%0T94"G`G0JX*0"%0!0`0```````."D`A4`$`````````"P$@-T
  391. M*N"D`A4```(```````#@I`(5`!``````````L!(#="K@I`(5`+`"````````
  392. MX*0"%0`0`````````+`2`W0JX*0"%0```0```````."D`A4`8`````````"P
  393. M$@-T*N"D`A4`L`$```````#@I`(5`&``````````L!(#="K@I`(5`&`"````
  394. M````X*0"%0!@`````````+`2`W0JX*0"%0"P`````````."D`A4`L```````
  395. M``"P$@-T*N"D`A4`8`$```````#@I`(5`+``````````L!(#="K@I`(5`!`"
  396. M````````X*0"%0"P`````````+`2`W0JX*0"%0!0`0```````."D`A4`0`$`
  397. M``````"P$@-T*N"D`A4```(```````#@I`(5`$`!````````L!(#="K@I`(5
  398. M`+`"````````X*0"%0!``0```````+`2`W0JX*0"%0```0```````."D`A4`
  399. MD`$```````"P$@-T*N"D`A4`L`$```````#@I`(5`)`!````````L!(#="K@
  400. MI`(5`&`"````````X*0"%0"0`0```````+`2`W0JX*0"%0"P`````````."D
  401. M`A4`X`$```````"P$@-T*N"D`A4`8`$```````#@I`(5`.`!````````L!(#
  402. M="K@I`(5`!`"````````X*0"%0#@`0```````+`2`W0JX*0"%0!0`0``````
  403. M`."D`A4`<`(```````"P$@-T*N"D`A4```(```````#@I`(5`'`"````````
  404. ML!(#="K@I`(5`+`"````````X*0"%0!P`@```````+`2`W0JX*0"%0```0``
  405. M`````."D`A4`P`(```````"P$@-T*N"D`A4`L`$```````#@I`(5`,`"````
  406. M````L!(#="K@I`(5`&`"````````X*0"%0#``@```````+`2`W0JX*0"%0"P
  407. M`````````."D`A4`$`,```````"P$@-T*N"D`A4`8`$```````#@I`(5`!`#
  408. M````````L!(#="K@I`(5`!`"````````X*0"%0`0`P```````+`2`RLQ0&H`
  409. M!$926D4$G2W@82-T*N"D`A4```````````#@I`(5````````````L!(#\.)Q
  410. M-"JDI9%C(RLQT`8`!%!23T<$G2W@82-.*E`!`$)?````````+J5A0QYT*N"D
  411. M`A4`H`,```````#@I`(5````````````L!(#3BI0`0!(`````````$XJ4`$`
  412. M-@`````````6Y*&.'#;D0:<"3BI0`0!!`````````$XJ4`$`*0`````````K
  413. M,>"Q`N$`\```.`!`!``$````P`8``````$#E1,;C``!`%45$%`$`0!1%1!0!
  414. M`$`4*43D&89!Y!!.!!F&`0```.``````````````````````\/_______Q\`
  415. M```````8````````&````````/C_______]O11ZTHD)E(T@N$`"59R/-#$(K
  416. M*E0V@N0"!$-(0T5Y-M+,(,FB,I,"`0``````<`*@,=+F`@%XM*)"92-(+C"0
  417. MY$249R/-#$)E(T@N4$`5),14E&<C;2X0@&=\'<,N0BLJ<NFA[R*=+4!E(T@N
  418. M0`#U-#659R-M+A"`9WP=)LL!&B-M+A"01V4C2"Y00!4DQ%249R.]^V%\'50V
  419. M@N0"!51!0DQ%>3;BP!_&UW&V&O.B<K8:="HPDP(!```````@`=ZBDBPJ\Z(R
  420. MDP(!``````!0`2LQT+L?QM?AWAI4-H+D`@-)3D1Y-M*['TL$PB0C*S%0_2)4
  421. M-H+D`@-)3D1Y-I(;'$L$,NPB2"XPD.1$A.0"!$-(0T5=[*'O(ITM@.0"`TE.
  422. M1%0V@N0"!$-(0T5Y-M+,(&TN$(!'92-(+A``E6<CS0RR$@/5+V)#'C,I$```
  423. M`````&30Y@(!>-ZBXMX:9ZNQ:1E.*E`!`#0`````````WJ(R>!P>*U`!``,`
  424. M(````P,#5N3!)"-.*E`!`$)?````````+J5A0QYT*N"D`A4`$`0```````#@
  425. MI`(5`)`"````````L!(#3BI0`0!X`````````$XJ4`$`#P`````````6Y*&.
  426. M'$@N$`"%Y`($0TU/5D@N4$`5),141"LJM,HQ["*THM*I'OHNTMD"R:)"92-(
  427. M+E"`=(3$1)5G(\T,@N0"!D-/3E1)3D@N0"`%Q32T$@.U+X+D`@-/5E+5+Y)C
  428. M(RLQ,&0`!$U/5D4$G2W@82/#+H+D`@5(1TA,5%0V@N0"!51!0DQ%>3;2NQ_&
  429. MUT$K*G+IH>\BG2V`Y`($4E!,0T@N4(!TA,1$=;@?5#:"Y`(%5$%"3$5Y-M*[
  430. M'X:C<D`=-N1!92-(+F``E50T5#259R,._&%\'1XKD`$`!0!0```.$1$1#NK(
  431. M@>0"!51!0DQ%M*)"JQS#+D(K*IWJH>\B2"Y``"7U=%3[(D@N,/!D)57](BLQ
  432. M4/LB2"Y`8"2E553](CDVLA(#@`$04!30V0(>-H+D`@124$Q#5#:"Y`(%2$=(
  433. M3%1Y-I(L*MZB@N0"!4A'2$Q4\Z)2\!JCNT$K*IWJ@>0"`TU613DVLA(#A0`0
  434. M<!70V0(>-H+D`@124$Q#5#:"Y`(%2$=(3%1Y-N(M*LFB@N0"!4A'2$Q4R:*2
  435. MT!KSHE+P&J.[02LJ<NF!Y`(#359%.3:R$@./`"#@5"30V0(>-H+D`@124$Q#
  436. M5#:"Y`(%2$=(3%1Y-C*3`@$``````$`"\Z*"Y`(%2$=(3%3SHL+/'D@N,-!D
  437. M591C(RLQ@`@``E-7`ITMX&$C2"Y`(`7%-$1E(T@N4(!TA,1$E6<C\Z(RDP(!
  438. M``````!``D@N4(!TA,1$-9,"`0``````4`*^ZX'D`@--5D4Y-K(2`Y@`,#"$
  439. MM#30V0(>-F*R'*`QTN8"`7A4-H+D`@5404),17DVTKL?QM=!92-(+E!`%23$
  440. M5)1G(P[\87P=5#:"Y`(%5$%"3$5Y-H(P*K7\87P=9ZMQMAK#+G*X'["C(I<>
  441. M^B[2V0+8^X'D`@)!1%0V@N0"`U!30WDVLD0@*S%0^R*=+3#L(O.B(I<>^B[2
  442. MV0)(+B`01$1E(T@N,#`T-91G(TL$LA(#U2^R$@/5+\(D(SDVLA(#80$PT&15
  443. M--#9`AXV,NPB^B[2V0+8^[%$("LQ4/LBG2W0NQ_8^X%3("LQ4/TB2"Y`(`7%
  444. M-)1C(RLQX`8`!$--3U8$G2W@82.'^T%E(T@N4$`5),14E&<CO?N1+"H'U&%#
  445. M'E0V@N0"!E!)14-%4WDVXL`?QM?AL0(9`%````4`X/#Q\>%@11XVY$&G`DXJ
  446. M4`$`.P````````!.*E`!`"T`````````*S'`H@(9`-"4!]+T9E>F`S*"Y`(!
  447. M4`O+<;8:WJ+26AY6Y)%C(RLQ$!(``T]64@.=+>!A(S;D0:<"3BI0`0`[````
  448. M`````$XJ4`$````````````K,>"D`A4`D`0```````#@I`(5`'`#````````
  449. M8$$>ZLAA0QYT*N"D`A4`L`,```````#@I`(5`*`"````````L!(#+"IP`0!'
  450. M86UE($]V97+>HM):'E;D@>0"!5-#3U)%-N1!IP).*E`!`#L`````````3BI0
  451. M`0`9`````````"LQ,.PB2"XP,#0UA.0"`U!30UWLH>\B+"K0`0!#;VUP=71E
  452. M<B!7;VZU+]+9`L,N@N0"`T-30T@N,``U->2['OHNPJ("&0``Q1:65R8'<O7F
  453. M5OLB+"JP``!4:675+[(2`]4OXBTJK>5A11YT*H#D`@1154E4+"I0```L*E``
  454. M`"PJ4```+"I0``!(+D``Q124M1(#71'BI`(5`(`>.@``````X%(:.3:R$@.D
  455. M`C!`U00UT-D"'C;R)1Y8J&%@'DXJ4`$`S^($```````NI>&Q`H\#@`,`.@``
  456. M`.#_____/P``$``````0```(``````@```0(0``"!````@`````"```!````
  457. M``$`@`````"```!``````$```"!```(0(```$``````0```(``````@```0`
  458. M````!````@`````"```!`A"```$`@`````"```!``````$```"``````(```
  459. M\/____\?````````````````X/____\_```0`````!````@`````"```!`A`
  460. M``($```"``````(```$``````0"``````(```$``````0```($```A`@```0
  461. M`````!````@`````"```!``````$```"``````(```$"$(```0"``````(``
  462. M`$``````0```(``````@``#P_____Q\```````````````#@_____S\``!``
  463. M````$```"``````(```$"$```@0```(``````@```0`````!`(``````@```
  464. M0`````!````@0``"$"```!``````$```"``````(```$``````0```(`````
  465. M`@```0(0@``!`(``````@```0`````!````@`````"```/#_____'P``8$,>
  466. MS0R2+"I4-H+D`@5(1TA,5'DVTLP@.3:R$@,/!$`@!<4T1-#9`AXV8D,>5#:"
  467. MY`(&4$E%0T53>3:"Y`(%2$=(3%3&UZ&5'`[\T3$J":TQ+RK0_#%X'!XK,`(`
  468. M!0#P```$$`P8'WP,&`00Y.2!Y`($1E):13DVLA(#MP!0,#7T)%54T-D"'C9B
  469. M0QYT*N"D`A4`L`,```````#@I`(5````````````L!(#'BO0#P`1`%`#``X`
  470. M`(!````1``"`````@;,\T6$\#D%419%`1!%!5$610$01450]D4)$'HX3!1[A
  471. M1!````0````.```````````````````.````````$0```````('G=`X```!.
  472. M$`T1````4!`%'P```%$0!8%A&`".YP2.81@`5N1!*RI4-H+D`@-#4T-Y-M+,
  473. M(+2B0F4C2"XP`#4UE&<CS0R2+"I4-H+D`@)!1'DVTLP@+"K0&``Q(#(@,R`Q
  474. M(#0@-R`Q(#4@.2`R(#4@."`S(#4@-R`S(#8@.2`T(#4@-B`W(#@@.2`Q,"`Q
  475. M,2`Q,B`Q,"`Q,R`Q-B`Q,"`Q-"`Q."`Q,2`Q-"`Q-R`Q,B`Q-"`Q-B`Q,B`Q
  476. M-2`Q."`Q,R`Q-"`Q-2`Q-B`Q-R`Q."`Q.2`R,"`R,2`Q.2`R,B`R-2`Q.2`R
  477. M,R`R-R`R,"`R,R`R-B`R,2`R,R`R-2`R,2`R-"`R-R`R,B`R,R`R-"`R-2`R
  478. M-B`R-R`Q(#(T2"XP,(2TY"TJ5#:"Y`("041Y-M+,("PJL`D`,2`Q,"`Q.2`R
  479. M(#$Q(#(P(#,@,3(@,C$@-"`Q,R`R,B`U(#$T(#(S(#8@,34@,C0@-R`Q-B`R
  480. M-2`X(#$W(#(V(#D@,3@@,C<@,2`Y2"XP,(2T-"\J5#:"Y`("041Y-M+,("PJ
  481. MT!``,2`Q,2`R,2`Q(#$S(#(U(#$@,30@,C<@,B`Q-"`R-B`S(#$T(#(U(#,@
  482. M,3$@,3D@,R`Q-2`R-R`T(#$T(#(T(#8@,30@,C(@-R`Q,R`Q.2`W(#$T(#(Q
  483. M(#<@,3<@,C<@."`Q-"`R,"`Y(#$T(#$Y(#D@,34@,C$@.2`Q-R`R-2`Q(#$V
  484. M2"XP,(2T9$,>="K@I`(5`+`#````````X*0"%0```````````+`2`TXJ4`$`
  485. M-0````````!.*E`!`!$`````````%N2ACAPVY$&G`DXJ4`$`.P````````!.
  486. M*E`!````````````*S'`H@(9`##TU@971U<FIP."Y`(#0U-#"\MQMAK>HM):
  487. M'NK(84,>="K@I`(5`+`#````````X*0"%0"@`````````+`2`RPJ4`$`4&QA
  488. M>65R.B!(+C``-36TL!QGJ^$M*JWEH8X<2"Y`8"2E591C(RLQ`'$``UE%4P.=
  489. M+>!A(T@N,$#5!(7D`@9#3TY424Y(+D`@!<4TE&,C*S'0!``"3D\"G2W@82-(
  490. M+C!`U00UDP(!``````!``8?[064C2"X0`)5G(\T,@N0"!$--3U9(+F`P].1$
  491. ME>2$Y`($4E!,0SDVLA(#C`!`$%651$70V0(>-H*%&@;F0:<"2"XP,#0UA.0"
  492. M`U!30T@N4$`5),14A.0"`5!(+C"0Y$2$Y`($0TA#14@N4(!TA,1$A>0"`D%$
  493. M-N2Q$@/^#C*3`@````````$"EA&28R,K,4`,``9#3TY424X&G2W@82-T*H#D
  494. M`@)35T@N(.!4A.0"`5=(+A!0A.0"!5-#3U)%2"Y`T/1D5;02`UT18D,>="K@
  495. MI`(5````````````X*0"%0"0`P```````+`2`QXKT`\`!P`P"`#__]____?_
  496. M__W_?___W___!__OWW_X][___?=_,Y'1+BH&__;?__GWW__][W_=5=VDJ@?_
  497. M^M__^O</_OW!?]N5T:HJ!O_\WW_[]]___>]_UU7=KJH'__#?O__WO__]]W\Y
  498. M4=$N-@;__]____?___W_?___W___!U;D@>0"!$926D4Y-K(2`]0!0`#%%)1%
  499. MT-D"'C;BI`(5`"#T!0``````X%(:7^)A2!Q(+D!@)*55E"PJ,RD0````````
  500. M)S`0([2BPB0C,RD0````````)S!X'%0V@N0"!51!0DQ%>3;2S"`VY$&G`DXJ
  501. M4`$`$0````````!.*E`!````````````*S'@L0*_!8`#`&$`\/__________
  502. M____'Q```````````````!#0______________\74```````````````%%``
  503. M````````````Q!50`````````````$054,`?``````````!$%5#@?P``@`\`
  504. M````U!50\/\``,!_```````44`CX`0#@_P'`?P``%%`$X`,`(/P#``0``!10
  505. MY,,'`"#@!P`$`@`44!R,!P`@@`\`!```%%``$`\`(`\?``3"`110`"`/`"`7
  506. M'@`$(@`44``@#@`@)SP`!"(`%%``0`X`($<\``0B`!10`$`.`""'>``$P@$4
  507. M4`!`#@`@!WD`````%%``0`X`(`=R`````!10`$`&`"`'\@`````44``@!@`@
  508. M!_+`?P``%%``/P/X(`?D``0``!10@!\!_"`'Y``$```44("/`_X@!^0`!```
  509. M%%!`P`=B(`?D`(3#`110@(\'/B`'Y`!$)``44``0#P`@!^0`1"0`%%``(`\`
  510. M(`=D`$0F`!10`"`.`"`'9`"$Q0$44`!`#@`@!W(`````%%``0`X`(`<R````
  511. M`!10`$`.`"`',@`````44`!`#@`@!QG`?P``%%``0`8`((<8``0``!10`"`&
  512. M`"!G#``$```44'@@`P`@/P0`A,,!%%#\'P$`(!\"`$0D`A10_H\``"`/`0!$
  513. MY`$44.)#```@@```1"0`%%`"(```(&```(3#`110#!@``"`<```````44/`'
  514. M``#@`P``````%%```````````````!10```````````````4T/__________
  515. M____%Q```````````````!#P______________\?````````````````````
  516. M`)$3`9_S.)\#``````!1%`$!$45$!```````2A0!`1$%!`0``````$04`0_Q
  517. M.`0"``````!$%`$!44`$`0``````1!0!`9%$!````````(3C`($3.00!``!@
  518. M11YT*H#D`@1154E4+"I0```L*E```"PJ4```2"XPD%4TA>0"`DY/*S'0%2%.
  519. 4*E`!`.BA`P``````+J618R,K,0`K
  520. `
  521. end
  522. sum -r/size 32815/9910 section (from "begin" to "end")
  523. sum -r/size 44743/7175 entire input file
  524. END_UU
  525.