home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sources.hp48
- Path: sparky!uunet!seq!spell
- From: Jerome B. Cipriani <cipriani@viking.gatech.edu>
- Subject: v07i041: ttt3d.jbc - 3-D Tic Tac Toe v1.0, Part01/01
- Message-ID: <1992Nov19.195724.19062@seq.uncwil.edu>
- Followup-To: comp.sys.hp48
- Sender: spell@seq.uncwil.edu (Chris Spell)
- Organization: Univ. of North Carolina @ Wilmington
- Date: Thu, 19 Nov 1992 19:57:24 GMT
- Approved: spell@seq.uncwil.edu
- Lines: 516
-
- Checksum: 1276636390 (verify with brik -cv)
- Submitted-by: Jerome B. Cipriani <cipriani@viking.gatech.edu>
- Posting-number: Volume 7, Issue 41
- Archive-name: ttt3d.jbc
-
- BEGIN_DOC ttt3d.doc
- 3-D Tic-Tac-Toe 1.0
-
- Object
- ------
- The object is to beat the computer by accumulating the most points.
-
- Points
- ------
- A tic-tac-toe occurs when three pieces of the same color are aligned in a
- row, whether straight (side to side) or diagonal (corner to corner).
-
- Points are as follows:
-
- 1 point: A single plane straight or diagonal tic-tac-toe
-
- 2 points: A multi plane straight tic-tac-toe
-
- 3 points: A multi plane diagonal tic-tac-toe
-
-
- The Play
- --------
- Press PLAY to begin.
-
- The player is prompted to go first. (I do recommend that you go first if
- it is your first time)
-
- The player may position his cursor (resembling two arrows pointing inward)
- on a position by using the menu keys. The cursor is based on a wrap around
- principle (so that you can go off the top of the board and end up on the
- bottom, etc.)
-
- The player should press the menu key under MOVE to execute his move at the
- current cursor position. A legal move is any that is not in a position
- already occupied by a computer piece or player piece.
-
- The computer automatically begins its move after the player's move has been
- made. (If the computer is allowed the first move, it will always move to
- the center position.) The computer searches all the positions for the best
- possible move, but also throws in a bit of randomness. The computer takes
- the longest in the beginning and each turn thereafter is progressively
- faster. I have included a filling bar to let the player know where the
- computer is in its thought process.
-
- The computer plays more on the offensive than on the defensive. Given the
- chance to take a 3 point tic-tac-toe or to block a 3 point tic-tac-toe, it
- will take the 3 points.
-
- The player may press the menu key under SCORE any time during his turn to
- see the score as of that point. (I didn't have the computer automatically
- do this since SCORE takes about 10 seconds to run.)
-
- The game is over when all the positions on the board are filled. The score
- will automatically be computed at this point and a winner will be determined.
-
- If the game is abandoned during the player's turn (for example by pressing ON)
- it can be resumed later by executing CONTIN (it appears as CONT in the
- directory menu).
-
- History
- -------
- One saturday afternoon, while at Underground Atlanta, I passed by a vendor
- selling chess sets. He offered to play a game of 3 dimensional tic-tac-toe
- which he also sold. After he taught me and I proceeded to beat him, or he
- allowed me to win, he tried to make the sale. Being the poor college student
- that I am, I could not afford it. As I walked away, I thought to myself that
- a game like that should be relatively simple to make on the HP. So, here it
- is!
-
- Note
- ----
- This program was developed on an HP48SX revision E. It contains 3 different
- addresses used by syseval. They are as follows:
-
- Address Description Times used
- ------- ----------- ----------
- #05F42h HP:GARBAGE - force memory packing 3
- #4E2CFh HP:TURNMENUOFF - turn off menu line 1
- #3A1E8h HP:DispMenu - redisplays the current menu 2
-
- Disclaimers
- -----------
- Use at your own risk.
-
- As stated above, the program does use sysevals. However, if used properly
- it should work fine. I tested all the possibilities I could think of when
- playing the game and it worked fine. However, I do not claim to have checked
- every single possibility, and therefore there is always the risk of something
- unexpected happening. I am not responsible for any consequences, unexpected
- or not, you or your machine may experience while using my programs.
-
- Acknowledgments
- ---------------
- Thanks to my fiance, Pam, who originally bought my HP48sx for me.
-
- Copyright
- ---------
- Copyright (c) Jerome B. Cipriani -- 1992
- All Rights Reserved
-
- Hope you enjoy it!
-
- Jerry Cipriani
-
- (Any questions or advice go to: cipriani@beagle.gatech.edu)
-
- END_DOC
-
- BEGIN_ASC ttt3d.asc
- %%HP: T(3)A(D)F(.);
- "69A20FF7BB030000004005F435354047A20C2A20170001302230233021302430
- 2730213025302930223021303021393023302131302231302330213330223530
- 2330213430223730202130273C2A205400013022302330213025302830223021
- 31302230302330213430223630202130243C2A20170001302130223021302630
- 2930213025302730223021323022313023302131302139302330213430223530
- 2330213530223730202130273C2A205400013021302730213025302630223021
- 33302232302330213430223430202130243C2A20D40001302430263021302230
- 28302130213029302130233027302230213430223330202130253C2A20540001
- 302430253021302330293022302135302234302330213430223230202130243C
- 2A20170001302830293021302130243021302330253022302136302235302330
- 21333021393023302134302231302330213730223730202130273C2A20540001
- 302730293021302230253022302137302236302330213430223030202130243C
- 2A20170001302730283021302330263021302130253022302138302237302330
- 21343021393023302135302231302330213730223530202130273C2A20B40001
- 3021313021323021302133302136302130213430213830223021302139302021
- 30243C2A20750001302130302132302130213430213730223022302230302330
- 213022313023302330213930202130253C2A20B4000130213030213130213021
- 3530213830213021343021363022302330223130202130243C2A207500013021
- 3430213530213021303021363022302430223230233021302235302330273021
- 3930202130253C2A20DC00013021333021353021302131302137302130213030
- 2138302130213230213630223025302233302330213022373023302230223630
- 2330233022353023302430223430233026302232302330273022313023302830
- 2230302330293021393020213021333C2A207500013021333021343021302132
- 30213830223026302234302330233022373023302930223130202130253C2A20
- B400013021373021383021302130302133302130213230213430223027302235
- 30202130243C2A20750001302136302138302130213130213430223028302236
- 302330273022373023302930223530202130253C2A20B4000130213630213730
- 2130213230213530213021303021343022302930223730202130243C2A205700
- 0130223030223130213022323022353021302233302237302230213021303023
- 3023302131302330273021333023302930213430202130273C2A209400013021
- 393022313021302233302236302230223021313023302830213430202130243C
- 2A20570001302139302230302130223430223730213022333022353022302330
- 213230233021302131302330273021343023302930213530202130273C2A2094
- 0001302233302234302130213930223530223024302133302330263021343020
- 2130243C2A20B500013022323022343021302230302236302130213930223730
- 213022313022353022302530213430202130253C2A2094000130223230223330
- 21302231302237302230263021353023302430213430202130243C2A20570001
- 3022363022373021302139302232302130223130223330223027302136302330
- 21302133302330233021343023302930213730202130273C2A20940001302235
- 3022373021302230302233302230283021373023302230213430202130243C2A
- 2057000130223530223630213022313022343021302139302233302230293021
- 3830233021302134302330233021353023302730213730202130273B2130A6A0
- 0600594543454356047A2047A20E4A20510005100000000000000E4A20510001
- 000000000000000B213047A20E4A20510000200000000000000E4A2051000100
- 0000000000000B213047A20E4A2051000B200000000000000E4A205100010000
- 00000000000B213047A20E4A20510000100000000000000E4A20510006000000
- 000000000B213047A20E4A2051000B100000000000000E4A2051000600000000
- 0000000B213047A20E4A20510006200000000000000E4A205100060000000000
- 00000B213047A20E4A2051000B000000000000000E4A2051000B000000000000
- 000B213047A20E4A20510006100000000000000E4A2051000B00000000000000
- 0B213047A20E4A20510001200000000000000E4A2051000B000000000000000B
- 213047A20E4A20510005100000000000000E4A20510004100000000000000B21
- 3047A20E4A20510000200000000000000E4A20510004100000000000000B2130
- 47A20E4A2051000B200000000000000E4A20510004100000000000000B213047
- A20E4A20510000100000000000000E4A20510009100000000000000B213047A2
- 0E4A2051000B100000000000000E4A20510009100000000000000B213047A20E
- 4A20510006200000000000000E4A20510009100000000000000B213047A20E4A
- 2051000B000000000000000E4A2051000E100000000000000B213047A20E4A20
- 510006100000000000000E4A2051000E100000000000000B213047A20E4A2051
- 0001200000000000000E4A2051000E100000000000000B213047A20E4A205100
- 05100000000000000E4A20510007200000000000000B213047A20E4A20510000
- 200000000000000E4A20510007200000000000000B213047A20E4A2051000B20
- 0000000000000E4A20510007200000000000000B213047A20E4A205100001000
- 00000000000E4A2051000C200000000000000B213047A20E4A2051000B100000
- 000000000E4A2051000C200000000000000B213047A20E4A2051000620000000
- 0000000E4A2051000C200000000000000B213047A20E4A2051000B0000000000
- 00000E4A20510001300000000000000B213047A20E4A20510006100000000000
- 000E4A20510001300000000000000B213047A20E4A2051000120000000000000
- 0E4A20510001300000000000000B2130B21304A600406425A55440D9D20E1632
- 47A20E4A20510000000000000000000E4A20510000000000000000000B21300F
- 2E1743A24A5A193632B2130D6000400525F47440D9D20E1632E4A205100024F5
- 000000000000E25A1634E147A20E4A2051000A300000000000000E4A20510000
- 000000000000000B2130E4A20510008400000000000000E4A205100063000000
- 00000000614E1AE8C1634E147A20E4A20510001400000000000000E4A2051000
- 9200000000000000B2130E1B201E000F00008300044000400000000C60000000
- 0000045E446C3E00000451544441100004415444411000044192444E9168144E
- 01E4409168100000000E000000000000000000000000000000000FFFFFFFFFFF
- FFF100000000000081000000000000810000000000008FFFFFFFFFFFFFF654E1
- 4B2A24563284E20100597632DCC024B2A24563284E20403484345497632DCC02
- 9C2A23392010000000000007200A132D6E2010874B2A24563284E203094E4449
- 7632DCC024563284E2050451424C45497632D6E2010876C7D13CE224B2A2279E
- 1AFE22D9D204563284E204005F4353597632D6E2010876C7D162BC10A132D6E2
- 010974563284E2050451424C45497632DBBF16C7D14563284E2050451424C454
- 97632E0CF16C7D176BA13F2A276BA147A20339201000000000000210ED2A29C2
- A23F2A2339201000000000000510B2130DBBF16C7D1EEDA14563284E203094E4
- 4497632DBBF1B4402C4232B21305DF224563284E203094E444976329B1C1B440
- 23CE2284E203094E44484E204034843454D5CE1AFE22D9D2084E203094E44445
- 63284E20403484345497632DCC02D6E2010874563284E20100597632DCC02B21
- 305DF22634E1339201000000000000460D6E201087ED2A2EEDA176BA1B9691E4
- A20510004300000000000000ED2A2387C1E1B20510003000020000303030654E
- 1C4232E4A205100024F5000000000000E25A1634E147A20E4A20510001400000
- 000000000E4A20510009200000000000000B2130E4A205100087000000000000
- 00E4A2051000F000000000000000614E1AE8C184E20100584E204034D4F46584
- E2050451424C4544B2A24BAC13CE224B2A2D9AE1AFE22D9D209C2A24563284E2
- 050847484C44597632DCC0284E206034F4E44594E484E20402505C434B21305B
- F2284E2030F465255DF2293632B21303460040D4F4655440D9D20E16323CE228
- 4E2050847484C4454563284E2050451424C45497632DBBF16C7D14B2A2279E1A
- FE22D9D2084E20402505C43484E2050847484C44578BF14563284E2050451424
- C45497632DBBF1683A2704D1634E14563284E206005945434543597632E0CF16
- C7D1E1B20910005000050000E0111111E0AE8C184E2050451424C4544B2A24BA
- C13CE224B2A2D9AE1AFE2284E20400525F4745BF2284E2030F465255DF22B213
- 05BF2284E20406425A5545DF2293632B213008100105410D9D20E163284E2040
- 2505C4344563284E2050847484C445976329C2A2ED2A284E2050847484C4453F
- 2A250FA13ABB14B2A2D9AE184E2030D4655493632B213058000107510D9D20E1
- 63284E20402505C4344563284E2050847484C44597632ED2A29C2A284E205084
- 7484C4459C2A290DA13F2A250FA13ABB14B2A2279E184E2030D4655493632B21
- 30F800020E45420D9D20E163284E20402505C4344563284E2050847484C44597
- 6323392010000000000004203F2A284E2050847484C4453F2A2CFCE184E2030D
- 4655493632B21308800020357520D9D20E163284E20402505C4344563284E205
- 0847484C445976323F2A233920100000000000042084E2050847484C44533920
- 1000000000000520EBBE184E2030D4655493632B213089000303484B430D9D20
- E163262BC10A132D6E2010874563284E2050451424C45497632DBBF16C7D1456
- 3284E2050451424C45497632E0CF16C7D14563284E2050451424C45497632803
- A25BCF16C7D176BA176BA13CE2278BF10B3A2279E1AFE22D9D208DBF184E2020
- 14444563284E203005353497632B4402B21305BF22D9D203CE223F2A2279E1AF
- E22D9D2084E202014444563284E203034353497632B4402B21305DF22B21305D
- F22C423293632B21301610030D4655430D9D20E16323CE22AFE22D9D208DBF1B
- 4402B21305BF22D9D20DBBF18DBF183502B21305DF2284E20402505C43493632
- B2130E60004034D4F46540D9D20E163278BF14563284E2050451424C45497632
- DBBF19C2A2704D1634E14563284E206005945434543597632E0CF16C7D1E1B20
- 910005000050000E0F1F1F1E0654E1634E147A20E4A2051000B3000000000000
- 00E4A2051000D200000000000000B2130C2A2091000D49702D4F66756A302328
- 4E201005B0BC176BA1ED2A2DA5E1654E193632B21301210030F4652530D9D20E
- 1632634E147A20E4A2051000B300000000000000E4A205100000000000000000
- 00B2130E4A20510009400000000000000E4A20510007300000000000000614E1
- AE8C1634E147A20E4A2051000B300000000000000E4A2051000A200000000000
- 000B2130C2A20710007416D65602F4675627ED2A2DA5E1654E184E20503534F4
- 2554634E147A20E4A2051000B300000000000000E4A205100091000000000000
- 00B21303CE2284E203034353484E2030053534D5CE1AFE22C2A20D100034F6D6
- 07574756270275F6E65BF22D9D203CE2284E203034353484E2030053534EBBE1
- AFE22C2A209100005C6169756270275F6E65BF22C2A20B00004596565DF22B21
- 305DF22ED2A2DA5E1654E147A2084E204015559445C2A2050000C2A2050000C2
- A2050000C2A205000084E204005C41495B2130D5112E4A20510008E1A3000000
- 00000E25A193632B21304A2003045D40530D9D20E1632F52E1858A1606E1E4A2
- 051000FC2E400000000000E25A1E1B20F830083000A30000000EFFFFFFFFF300
- 0001000000000100008000000000800000408004002040000020000000002000
- 0010000000001000080000000008000004000000000400000204002001020000
- 0100000000010000800000000080000040000000004000002000000000200000
- 102001080010000800000000080000040000000004000002000000000200000F
- FFFFFFFFF10000000000000000000000000EFFFFFFFFF3000001000000000100
- 0080000000008000004080040020400000200000000020000010000000001000
- 0800000000080000040000000004000002040020010200000100000000010000
- 8000000000800000400000000040000020000000002000001020010800100008
- 00000000080000040000000004000002000000000200000FFFFFFFFFF1000000
- 0000000000000000000EFFFFFFFFF30000010000000001000080000000008000
- 0040800400204000002000000000200000100000000010000800000000080000
- 0400000000040000020400200102000001000000000100008000000000800000
- 4000000000400000200000000020000010200108001000080000000008000004
- 0000000004000002000000000200000FFFFFFFFFF100000634E1DCC029C2A245
- 63284E2050847484C44597632DCC0293632B2130F0400402505C43440D9D20E1
- 632634E14563284E20600594543454359763284E2050847484C4456C7D1A59C1
- E0CF1D13A290DA13F2A20DCF1387C1E1B203200050000F00004001C081F1C7C0
- 8140014E4E184E20406425A55493632B21307B000503534F4255450D9D20E163
- 2634E147A20E4A2051000B300000000000000E4A20510000000000000000000B
- 2130E1B20DF0001100053000E000000804000011000008000000183BC31D16C3
- E014455419044411144554190444111545D3192444E1E83150E11E4401000040
- 000000E00000000000000000000000000000E000000000000011000000000000
- 187E47E0000000E401D011000000050150F100000015015018168100E87E40E8
- 168100654E14B2A24563284E203034353497632DCC024B2A24563284E2030053
- 53497632DCC029C2A24563284E2020144497632DCC02C2A20D81001302230233
- 0213024302730213025302930223025302830233025302730233026302930243
- 0253026302730283029302130302131302132302130302133302136302130302
- 1343021383021313021343021373021323021343021363021323021353021383
- 0213330213430213530213630213730213830213930223030223130213930223
- 2302235302139302233302237302230302233302236302231302233302235302
- 2313022343022373022323022333022343022353022363022373021302234384
- E20303484B4ED2A24563284E2020144497632DCC02C2A20B9000130213030213
- 9302230213130223030233021323022313024302133302232302530213430223
- 3302630213530223430273021363022353028302137302236302930213830223
- 730213029384E20303484B43F2A24563284E2020144497632DCC02C2A20D0100
- 1302131302231302130213330223530213021343022373022302134302236302
- 3302134302235302330213130213930233021353022373024302134302234302
- 6302134302232302730213330213930273021343022313027302137302237302
- 8302134302230302930213430213930293021353022313029302137302235302
- 1302136384E20303484B4634E147A20E4A2051000B300000000000000E4A2051
- 0000000000000000000B2130E4A20510005300000000000000E4A20510001100
- 000000000000614E1AE8C1634E147A20E4A2051000B300000000000000E4A205
- 10000000000000000000B2130C2A209100034F6D60757475627A30284E203034
- 3534B0BC176BA1ED2A2DA5E1AE8C1634E147A20E4A2051000B30000000000000
- 0E4A2051000A000000000000000B2130C2A205100005C616975627A30284E203
- 0053534B0BC176BA1ED2A2DA5E1AE8C184E20406425A55493632B21300170030
- 95543530D9D20E163284E203045D40584E206034F4E44594E484E20402505C43
- 493632B2130D400020E4F420D9D20E163284E203045D40533920100000000000
- 041078BF14563284E20100597632DCC0284E204034D4F46584E206034F4E4459
- 4E484E20402505C43493632B2130C8000401555944540D9D20E1632858A1606E
- 147A2084E203034353484E203005353484E2050451424C45484E20100584E203
- 094E44484E20403484345484E2050847484C44584E20201444634E1B2130EFE0
- 23392000000000000010206911293632B21304C0006034F4E44594E460D9D20E
- 163247A2084E2020357584E2020E45484E20107584E20105484E20503534F425
- 5484E2040D4F46554B2130D5112634E147A20E4A20510000000000000000000E
- 4A20510009300000000000000B2130E1B20DF0007000038000FFFFFDFFFF7FFF
- FFDFFFF7FFFFFDFFFF70FFFEFDF78F7FFBFFDF7FF733191DE2A260FF6FFDFF9F
- 7FFDFFDFFEF7DD55DD4AAA70FFAFFDFFAF7FF0EFDF1CF7BD591DAAA260FFCFFD
- F7BF7FFDFFDFFEF77D55DDEAAA70FF0FFDFBFF7FFBFFDF7FF793151DE26360FF
- FFFDFFFF7FFFFFDFFFF7FFFFFDFFFF70654E184E20406425A55493632B21304D
- 1004005C4149540D9D20E1632E4A205100024F5000000000000E25A1F52E1684
- C184E20406425A5549C2A2339201000000000000720301324B2A2C4232339201
- 000000000000720387C14563284E2050451424C45497632DCC02634E147A20E4
- A20510001100000000000000E4A20510000000000000000000B2130E1B20FB50
- 08300016000FFFFFFFFFFFFFFFFFFFFFFFF1010000000000000000000000010D
- FFFFFFFFFFFFFFFFFFFFFF710500000000000000000000004105000000000000
- 000000004C5105000000000000000000004451050CF100000000000000004451
- 050EF7000008F0000000004D51050FFF00000CF700000000004105808F10000E
- FF100CF700004105400E300002CF300040000041054E3C7000020E7000402000
- 4105C1C870000208F00040000041050001F00002F0F100402C1041050002F000
- 0271E10040220041050002E0000272C30040220041050004E0000274C3004022
- 0041050004E00002788700402C1041050004E0000270970000000041050004E0
- 000270270000000041050004600002702F0000000041050002600002702F0CF7
- 0000410500F3308F02704E00400000410508F110CF02704E00400000410508F8
- 30EF02704E004000004105040C702602704E00483C10410508F870E302704E00
- 44420041050001F00002704E0044420041050002F00002704600446200410500
- 02E00002704600485C1041050004E0000270270000000041050004E000027023
- 0000000041050004E0000270230000000041050004E0000270910CF700004105
- 00046000027881004000004105000260000276C00040000041058702300002F3
- 4000483C104105CFF1100002F120004442204105EFF8000002F01000444E1041
- 052E3400000208000044420041052002000002060000483C104105C081000002
- C1000000000041050F7000000E30000000000041050000000000000000000000
- 41050000000000000000000000410DFFFFFFFFFFFFFFFFFFFFFF710100000000
- 00000000000000010FFFFFFFFFFFFFFFFFFFFFFFF10000000000000000000000
- 0000000000193110F93F83F930000000000015411010115444400000000000A4
- 411010115040400000000000444110F01F834020000000000044411010150440
- 10000000000044411010194440000000000000483E00183193401000000654E1
- 47A2084E204015559445C2A2050000C2A2050000C2A205000084E20309554358
- 4E2020E4F4B2130D5112E4A20510008E1A300000000000E25A193632B2130BBF
- A"
- END_ASC
-
- BYTES: #AFBBh 7166.5
-
- BEGIN_UU ttt3d.uue
- begin 644 ttt3d
- M2%!(4#0X+466*O!_NS`````$4$]34P1T*L"B`G$`$`,B`S(#$@-"`W(#$@-2
- M`Y(#(@,2`P,2DP,R`Q(3`R(3`S(#$C,#(E,#,@,20P,B<P,"$@-RPZ("10`0
- M`R(#,@,2`U(#@@,B`Q(3`R(#`S(#$D,#(F,#`A(#0L.B`G$`$`,2`R(#$@-B
- M`Y(#$@-2`W(#(@,2(P,B$P,R`Q(3`Q*3`S(#$D,#(E,#,@,24P,B<P,"$@-R
- MPZ("10`0`Q(#<@,2`U(#8@,B`Q(S`R(C`S(#$D,#(D,#`A(#0L.B`DT`$`-"
- M`V(#$@,B`X(#$@,2`Y(#$@,R`W(#(@,20P,B,P,"$@-2PZ("10`0`T(#4@,2
- M`S(#D@,B`Q)3`R)#`S(#$D,#(B,#`A(#0L.B`G$`$`."`Y(#$@,2`T(#$@,R
- M`U(#(@,28P,B4P,R`Q(S`Q*3`S(#$D,#(A,#,@,2<P,B<P,"$@-RPZ("10`0
- M`W(#D@,2`R(#4@,B`Q)S`R)C`S(#$D,#(@,#`A(#0L.B`G$`$`-R`X(#$@,R
- M`V(#$@,2`U(#(@,2@P,B<P,R`Q)#`Q*3`S(#$E,#(A,#,@,2<P,B4P,"$@-R
- MPZ("2P`0`Q(3`Q(C`Q(#$C,#$F,#$@,20P,2@P,B`Q(#$I,#`A(#0L.B`E<`
- M$`,2`P,2(P,2`Q)#`Q)S`R(#(@,B`P,R`Q(#(A,#,@,R`Q*3`P(2`U+#H@)+
- M`!`#$@,#$A,#$@,24P,2@P,2`Q)#`Q)C`R(#,@,B$P,"$@-"PZ("5P`0`Q)#
- M`Q)3`Q(#$@,#$F,#(@-"`R(C`S(#$@,B4P,R`W(#$I,#`A(#4L.B`LT`$`,2
- M,P,24P,2`Q(3`Q)S`Q(#$@,#$H,#$@,2(P,28P,B`U(#(C,#,@,2`R)S`S(#
- M(@,B8P,R`S(#(E,#,@-"`R)#`S(#8@,B(P,R`W(#(A,#,@."`R(#`S(#D@,2
- MDP,"$@,2,\.B`E<`$`,2,P,20P,2`Q(C`Q*#`R(#8@,B0P,R`S(#(G,#,@.2
- M`R(3`P(2`U+#H@)+`!`#$G,#$H,#$@,2`P,2,P,2`Q(C`Q)#`R(#<@,B4P,"
- M$@-"PZ("5P`0`Q)C`Q*#`Q(#$A,#$D,#(@."`R)C`S(#<@,B<P,R`Y(#(E,#
- M`A(#4L.B`DL`$`,28P,2<P,2`Q(C`Q)3`Q(#$@,#$D,#(@.2`R)S`P(2`T+#
- MH@)U`!`#(@,#(A,#$@,B(P,B4P,2`R(S`R)S`R(#$@,2`P,R`S(#$A,#,@-R
- M`Q(S`S(#D@,20P,"$@-RPZ("20`0`Q*3`R(3`Q(#(C,#(F,#(@,B`Q(3`S(#
- M@@,20P,"$@-"PZ("=0`0`Q*3`R(#`Q(#(D,#(G,#$@,B,P,B4P,B`S(#$B,#
- M,@,2`Q(3`S(#<@,20P,R`Y(#$E,#`A(#<L.B`DD`$`,B,P,B0P,2`Q*3`R)3
- M`R(#0@,2,P,R`V(#$D,#`A(#0L.B`EL`$`,B(P,B0P,2`R(#`R)C`Q(#$I,#
- M(G,#$@,B$P,B4P,B`U(#$D,#`A(#4L.B`DD`$`,B(P,B,P,2`R(3`R)S`R(#
- M8@,24P,R`T(#$D,#`A(#0L.B`G4`$`,B8P,B<P,2`Q*3`R(C`Q(#(A,#(C,#
- M(@-R`Q)C`S(#$@,2,P,R`S(#$D,#,@.2`Q)S`P(2`W+#H@))`!`#(E,#(G,#
- M$@,B`P,B,P,B`X(#$G,#,@,B`Q)#`P(2`T+#H@)U`!`#(E,#(F,#$@,B$P,B
- M0P,2`Q*3`R(S`R(#D@,2@P,R`Q(#$D,#,@,R`Q)3`S(#<@,2<P,"$@-RLQ(#
- M:@I@`)54-%0T94"G`G0JX*0"%0!0`0```````."D`A4`$`````````"P$@-T
- M*N"D`A4```(```````#@I`(5`!``````````L!(#="K@I`(5`+`"````````
- MX*0"%0`0`````````+`2`W0JX*0"%0```0```````."D`A4`8`````````"P
- M$@-T*N"D`A4`L`$```````#@I`(5`&``````````L!(#="K@I`(5`&`"````
- M````X*0"%0!@`````````+`2`W0JX*0"%0"P`````````."D`A4`L```````
- M``"P$@-T*N"D`A4`8`$```````#@I`(5`+``````````L!(#="K@I`(5`!`"
- M````````X*0"%0"P`````````+`2`W0JX*0"%0!0`0```````."D`A4`0`$`
- M``````"P$@-T*N"D`A4```(```````#@I`(5`$`!````````L!(#="K@I`(5
- M`+`"````````X*0"%0!``0```````+`2`W0JX*0"%0```0```````."D`A4`
- MD`$```````"P$@-T*N"D`A4`L`$```````#@I`(5`)`!````````L!(#="K@
- MI`(5`&`"````````X*0"%0"0`0```````+`2`W0JX*0"%0"P`````````."D
- M`A4`X`$```````"P$@-T*N"D`A4`8`$```````#@I`(5`.`!````````L!(#
- M="K@I`(5`!`"````````X*0"%0#@`0```````+`2`W0JX*0"%0!0`0``````
- M`."D`A4`<`(```````"P$@-T*N"D`A4```(```````#@I`(5`'`"````````
- ML!(#="K@I`(5`+`"````````X*0"%0!P`@```````+`2`W0JX*0"%0```0``
- M`````."D`A4`P`(```````"P$@-T*N"D`A4`L`$```````#@I`(5`,`"````
- M````L!(#="K@I`(5`&`"````````X*0"%0#``@```````+`2`W0JX*0"%0"P
- M`````````."D`A4`$`,```````"P$@-T*N"D`A4`8`$```````#@I`(5`!`#
- M````````L!(#="K@I`(5`!`"````````X*0"%0`0`P```````+`2`RLQ0&H`
- M!$926D4$G2W@82-T*N"D`A4```````````#@I`(5````````````L!(#\.)Q
- M-"JDI9%C(RLQT`8`!%!23T<$G2W@82-.*E`!`$)?````````+J5A0QYT*N"D
- M`A4`H`,```````#@I`(5````````````L!(#3BI0`0!(`````````$XJ4`$`
- M-@`````````6Y*&.'#;D0:<"3BI0`0!!`````````$XJ4`$`*0`````````K
- M,>"Q`N$`\```.`!`!``$````P`8``````$#E1,;C``!`%45$%`$`0!1%1!0!
- M`$`4*43D&89!Y!!.!!F&`0```.``````````````````````\/_______Q\`
- M```````8````````&````````/C_______]O11ZTHD)E(T@N$`"59R/-#$(K
- M*E0V@N0"!$-(0T5Y-M+,(,FB,I,"`0``````<`*@,=+F`@%XM*)"92-(+C"0
- MY$249R/-#$)E(T@N4$`5),14E&<C;2X0@&=\'<,N0BLJ<NFA[R*=+4!E(T@N
- M0`#U-#659R-M+A"`9WP=)LL!&B-M+A"01V4C2"Y00!4DQ%249R.]^V%\'50V
- M@N0"!51!0DQ%>3;BP!_&UW&V&O.B<K8:="HPDP(!```````@`=ZBDBPJ\Z(R
- MDP(!``````!0`2LQT+L?QM?AWAI4-H+D`@-)3D1Y-M*['TL$PB0C*S%0_2)4
- M-H+D`@-)3D1Y-I(;'$L$,NPB2"XPD.1$A.0"!$-(0T5=[*'O(ITM@.0"`TE.
- M1%0V@N0"!$-(0T5Y-M+,(&TN$(!'92-(+A``E6<CS0RR$@/5+V)#'C,I$```
- M`````&30Y@(!>-ZBXMX:9ZNQ:1E.*E`!`#0`````````WJ(R>!P>*U`!``,`
- M(````P,#5N3!)"-.*E`!`$)?````````+J5A0QYT*N"D`A4`$`0```````#@
- MI`(5`)`"````````L!(#3BI0`0!X`````````$XJ4`$`#P`````````6Y*&.
- M'$@N$`"%Y`($0TU/5D@N4$`5),141"LJM,HQ["*THM*I'OHNTMD"R:)"92-(
- M+E"`=(3$1)5G(\T,@N0"!D-/3E1)3D@N0"`%Q32T$@.U+X+D`@-/5E+5+Y)C
- M(RLQ,&0`!$U/5D4$G2W@82/#+H+D`@5(1TA,5%0V@N0"!51!0DQ%>3;2NQ_&
- MUT$K*G+IH>\BG2V`Y`($4E!,0T@N4(!TA,1$=;@?5#:"Y`(%5$%"3$5Y-M*[
- M'X:C<D`=-N1!92-(+F``E50T5#259R,._&%\'1XKD`$`!0!0```.$1$1#NK(
- M@>0"!51!0DQ%M*)"JQS#+D(K*IWJH>\B2"Y``"7U=%3[(D@N,/!D)57](BLQ
- M4/LB2"Y`8"2E553](CDVLA(#@`$04!30V0(>-H+D`@124$Q#5#:"Y`(%2$=(
- M3%1Y-I(L*MZB@N0"!4A'2$Q4\Z)2\!JCNT$K*IWJ@>0"`TU613DVLA(#A0`0
- M<!70V0(>-H+D`@124$Q#5#:"Y`(%2$=(3%1Y-N(M*LFB@N0"!4A'2$Q4R:*2
- MT!KSHE+P&J.[02LJ<NF!Y`(#359%.3:R$@./`"#@5"30V0(>-H+D`@124$Q#
- M5#:"Y`(%2$=(3%1Y-C*3`@$``````$`"\Z*"Y`(%2$=(3%3SHL+/'D@N,-!D
- M591C(RLQ@`@``E-7`ITMX&$C2"Y`(`7%-$1E(T@N4(!TA,1$E6<C\Z(RDP(!
- M``````!``D@N4(!TA,1$-9,"`0``````4`*^ZX'D`@--5D4Y-K(2`Y@`,#"$
- MM#30V0(>-F*R'*`QTN8"`7A4-H+D`@5404),17DVTKL?QM=!92-(+E!`%23$
- M5)1G(P[\87P=5#:"Y`(%5$%"3$5Y-H(P*K7\87P=9ZMQMAK#+G*X'["C(I<>
- M^B[2V0+8^X'D`@)!1%0V@N0"`U!30WDVLD0@*S%0^R*=+3#L(O.B(I<>^B[2
- MV0)(+B`01$1E(T@N,#`T-91G(TL$LA(#U2^R$@/5+\(D(SDVLA(#80$PT&15
- M--#9`AXV,NPB^B[2V0+8^[%$("LQ4/LBG2W0NQ_8^X%3("LQ4/TB2"Y`(`7%
- M-)1C(RLQX`8`!$--3U8$G2W@82.'^T%E(T@N4$`5),14E&<CO?N1+"H'U&%#
- M'E0V@N0"!E!)14-%4WDVXL`?QM?AL0(9`%````4`X/#Q\>%@11XVY$&G`DXJ
- M4`$`.P````````!.*E`!`"T`````````*S'`H@(9`-"4!]+T9E>F`S*"Y`(!
- M4`O+<;8:WJ+26AY6Y)%C(RLQ$!(``T]64@.=+>!A(S;D0:<"3BI0`0`[````
- M`````$XJ4`$````````````K,>"D`A4`D`0```````#@I`(5`'`#````````
- M8$$>ZLAA0QYT*N"D`A4`L`,```````#@I`(5`*`"````````L!(#+"IP`0!'
- M86UE($]V97+>HM):'E;D@>0"!5-#3U)%-N1!IP).*E`!`#L`````````3BI0
- M`0`9`````````"LQ,.PB2"XP,#0UA.0"`U!30UWLH>\B+"K0`0!#;VUP=71E
- M<B!7;VZU+]+9`L,N@N0"`T-30T@N,``U->2['OHNPJ("&0``Q1:65R8'<O7F
- M5OLB+"JP``!4:675+[(2`]4OXBTJK>5A11YT*H#D`@1154E4+"I0```L*E``
- M`"PJ4```+"I0``!(+D``Q124M1(#71'BI`(5`(`>.@``````X%(:.3:R$@.D
- M`C!`U00UT-D"'C;R)1Y8J&%@'DXJ4`$`S^($```````NI>&Q`H\#@`,`.@``
- M`.#_____/P``$``````0```(``````@```0(0``"!````@`````"```!````
- M``$`@`````"```!``````$```"!```(0(```$``````0```(``````@```0`
- M````!````@`````"```!`A"```$`@`````"```!``````$```"``````(```
- M\/____\?````````````````X/____\_```0`````!````@`````"```!`A`
- M``($```"``````(```$``````0"``````(```$``````0```($```A`@```0
- M`````!````@`````"```!``````$```"``````(```$"$(```0"``````(``
- M`$``````0```(``````@``#P_____Q\```````````````#@_____S\``!``
- M````$```"``````(```$"$```@0```(``````@```0`````!`(``````@```
- M0`````!````@0``"$"```!``````$```"``````(```$``````0```(`````
- M`@```0(0@``!`(``````@```0`````!````@`````"```/#_____'P``8$,>
- MS0R2+"I4-H+D`@5(1TA,5'DVTLP@.3:R$@,/!$`@!<4T1-#9`AXV8D,>5#:"
- MY`(&4$E%0T53>3:"Y`(%2$=(3%3&UZ&5'`[\T3$J":TQ+RK0_#%X'!XK,`(`
- M!0#P```$$`P8'WP,&`00Y.2!Y`($1E):13DVLA(#MP!0,#7T)%54T-D"'C9B
- M0QYT*N"D`A4`L`,```````#@I`(5````````````L!(#'BO0#P`1`%`#``X`
- M`(!````1``"`````@;,\T6$\#D%419%`1!%!5$610$01450]D4)$'HX3!1[A
- M1!````0````.```````````````````.````````$0```````('G=`X```!.
- M$`T1````4!`%'P```%$0!8%A&`".YP2.81@`5N1!*RI4-H+D`@-#4T-Y-M+,
- M(+2B0F4C2"XP`#4UE&<CS0R2+"I4-H+D`@)!1'DVTLP@+"K0&``Q(#(@,R`Q
- M(#0@-R`Q(#4@.2`R(#4@."`S(#4@-R`S(#8@.2`T(#4@-B`W(#@@.2`Q,"`Q
- 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
- 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
- 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
- M-B`R-R`Q(#(T2"XP,(2TY"TJ5#:"Y`("041Y-M+,("PJL`D`,2`Q,"`Q.2`R
- M(#$Q(#(P(#,@,3(@,C$@-"`Q,R`R,B`U(#$T(#(S(#8@,34@,C0@-R`Q-B`R
- M-2`X(#$W(#(V(#D@,3@@,C<@,2`Y2"XP,(2T-"\J5#:"Y`("041Y-M+,("PJ
- MT!``,2`Q,2`R,2`Q(#$S(#(U(#$@,30@,C<@,B`Q-"`R-B`S(#$T(#(U(#,@
- M,3$@,3D@,R`Q-2`R-R`T(#$T(#(T(#8@,30@,C(@-R`Q,R`Q.2`W(#$T(#(Q
- M(#<@,3<@,C<@."`Q-"`R,"`Y(#$T(#$Y(#D@,34@,C$@.2`Q-R`R-2`Q(#$V
- M2"XP,(2T9$,>="K@I`(5`+`#````````X*0"%0```````````+`2`TXJ4`$`
- M-0````````!.*E`!`!$`````````%N2ACAPVY$&G`DXJ4`$`.P````````!.
- M*E`!````````````*S'`H@(9`##TU@971U<FIP."Y`(#0U-#"\MQMAK>HM):
- M'NK(84,>="K@I`(5`+`#````````X*0"%0"@`````````+`2`RPJ4`$`4&QA
- M>65R.B!(+C``-36TL!QGJ^$M*JWEH8X<2"Y`8"2E591C(RLQ`'$``UE%4P.=
- M+>!A(T@N,$#5!(7D`@9#3TY424Y(+D`@!<4TE&,C*S'0!``"3D\"G2W@82-(
- M+C!`U00UDP(!``````!``8?[064C2"X0`)5G(\T,@N0"!$--3U9(+F`P].1$
- ME>2$Y`($4E!,0SDVLA(#C`!`$%651$70V0(>-H*%&@;F0:<"2"XP,#0UA.0"
- M`U!30T@N4$`5),14A.0"`5!(+C"0Y$2$Y`($0TA#14@N4(!TA,1$A>0"`D%$
- M-N2Q$@/^#C*3`@````````$"EA&28R,K,4`,``9#3TY424X&G2W@82-T*H#D
- M`@)35T@N(.!4A.0"`5=(+A!0A.0"!5-#3U)%2"Y`T/1D5;02`UT18D,>="K@
- MI`(5````````````X*0"%0"0`P```````+`2`QXKT`\`!P`P"`#__]____?_
- M__W_?___W___!__OWW_X][___?=_,Y'1+BH&__;?__GWW__][W_=5=VDJ@?_
- M^M__^O</_OW!?]N5T:HJ!O_\WW_[]]___>]_UU7=KJH'__#?O__WO__]]W\Y
- M4=$N-@;__]____?___W_?___W___!U;D@>0"!$926D4Y-K(2`]0!0`#%%)1%
- MT-D"'C;BI`(5`"#T!0``````X%(:7^)A2!Q(+D!@)*55E"PJ,RD0````````
- M)S`0([2BPB0C,RD0````````)S!X'%0V@N0"!51!0DQ%>3;2S"`VY$&G`DXJ
- M4`$`$0````````!.*E`!````````````*S'@L0*_!8`#`&$`\/__________
- M____'Q```````````````!#0______________\74```````````````%%``
- M````````````Q!50`````````````$054,`?``````````!$%5#@?P``@`\`
- M````U!50\/\``,!_```````44`CX`0#@_P'`?P``%%`$X`,`(/P#``0``!10
- MY,,'`"#@!P`$`@`44!R,!P`@@`\`!```%%``$`\`(`\?``3"`110`"`/`"`7
- M'@`$(@`44``@#@`@)SP`!"(`%%``0`X`($<\``0B`!10`$`.`""'>``$P@$4
- M4`!`#@`@!WD`````%%``0`X`(`=R`````!10`$`&`"`'\@`````44``@!@`@
- M!_+`?P``%%``/P/X(`?D``0``!10@!\!_"`'Y``$```44("/`_X@!^0`!```
- M%%!`P`=B(`?D`(3#`110@(\'/B`'Y`!$)``44``0#P`@!^0`1"0`%%``(`\`
- M(`=D`$0F`!10`"`.`"`'9`"$Q0$44`!`#@`@!W(`````%%``0`X`(`<R````
- M`!10`$`.`"`',@`````44`!`#@`@!QG`?P``%%``0`8`((<8``0``!10`"`&
- M`"!G#``$```44'@@`P`@/P0`A,,!%%#\'P$`(!\"`$0D`A10_H\``"`/`0!$
- MY`$44.)#```@@```1"0`%%`"(```(&```(3#`110#!@``"`<```````44/`'
- M``#@`P``````%%```````````````!10```````````````4T/__________
- M____%Q```````````````!#P______________\?````````````````````
- M`)$3`9_S.)\#``````!1%`$!$45$!```````2A0!`1$%!`0``````$04`0_Q
- M.`0"``````!$%`$!44`$`0``````1!0!`9%$!````````(3C`($3.00!``!@
- M11YT*H#D`@1154E4+"I0```L*E```"PJ4```2"XPD%4TA>0"`DY/*S'0%2%.
- 4*E`!`.BA`P``````+J618R,K,0`K
- `
- end
- sum -r/size 32815/9910 section (from "begin" to "end")
- sum -r/size 44743/7175 entire input file
- END_UU
-