1
1
Fork 0
mirror of https://github.com/QB64Official/qb64.git synced 2024-07-08 09:05:17 +00:00
qb64/programs/samples/thebob/pongg/pgfx.bas

1056 lines
45 KiB
QBasic

CHDIR ".\programs\samples\thebob\pongg"
'****************************************************************************
'------- PGFX.BAS ---- A utility to create graphics files for PONGG! --------
'****************************************************************************
DEFINT A-Z
DECLARE SUB PrintSTRING (x, y, Prnt$, Font)
DIM SHARED Box(32000)
SCREEN 12
GOSUB SetPALETTE
GOSUB GetSPRITES
GOSUB DrawFONT
GOSUB GetWORDS
GOSUB GetFONT
GOSUB GetSCREEN
GOSUB GetOVERLAYS
GOSUB GetPOPUPS
CLS
LINE (5, 5)-(634, 474), 12, B
LINE (8, 8)-(631, 471), 12, B
LINE (200, 180)-(439, 290), 12, B
LINE (197, 177)-(442, 293), 12, B
PrintSTRING 250, 212, "The graphics files for PONGG!", 1
PrintSTRING 243, 226, "have been successfully created.", 1
PrintSTRING 246, 250, "You can now run the program.", 1
a$ = INPUT$(1)
END
GetSCREEN:
FOR x = 30 TO 600 STEP 10
Count = Count + 1
IF Count MOD 2 THEN Colr = 14 ELSE Colr = 4
LINE (x, 459)-(x + 9, 460), Colr, BF
NEXT x
CIRCLE (73, 126), 30, 5
CIRCLE (73, 126), 50, 5
PAINT (73, 90), 5
CIRCLE (565, 126), 30, 5
CIRCLE (565, 126), 50, 5
PAINT (565, 90), 5
CIRCLE (73, 126), 60, 6
CIRCLE (73, 126), 80, 6
PAINT (73, 196), 6
CIRCLE (565, 126), 60, 6
CIRCLE (565, 126), 80, 6
PAINT (565, 196), 6
CIRCLE (73, 126), 90, 10
CIRCLE (73, 126), 120, 10
PAINT (73, 236), 10
CIRCLE (565, 126), 90, 10
CIRCLE (565, 126), 120, 10
PAINT (565, 236), 10
CIRCLE (73, 126), 25, 3
PAINT STEP(0, 0), 3
CIRCLE STEP(0, 0), 20, 15
PAINT STEP(0, 0), 15
CIRCLE STEP(0, 0), 20, 8
CIRCLE STEP(0, 0), 16, 8
PAINT STEP(17, 0), 8
PrintSTRING 68, 120, "25", 2
CIRCLE (565, 126), 25, 2
PAINT STEP(0, 0), 2
CIRCLE STEP(0, 0), 20, 15
PAINT STEP(0, 0), 15
CIRCLE STEP(0, 0), 20, 8
CIRCLE STEP(0, 0), 16, 8
PAINT STEP(17, 0), 8
PrintSTRING 560, 120, "50", 2
FOR x = 53 TO 93
FOR y = 126 TO 146
IF POINT(x, y) = 8 THEN PSET (x, y), 7
IF POINT(x + 492, y) = 8 THEN PSET (x + 492, y), 7
NEXT y
NEXT x
FOR x = 63 TO 83
FOR y = 120 TO 136
IF POINT(x, y) = 7 THEN PSET (x, y), 0
IF POINT(x + 492, y) = 7 THEN PSET (x + 492, y), 0
NEXT y
NEXT x
LINE (0, 0)-(6, 479), 0, BF
LINE (633, 0)-(639, 479), 0, BF
LINE (5, 5)-(634, 48), 5, BF
LINE (5, 468)-(634, 478), 5, BF
PrintSTRING 10, 467, "Copyright (C) 2007 by Bob Seguin", 1
PrintSTRING 480, 467, "Email: BOBSEG@sympatico.ca", 1
FOR x = 5 TO 634
FOR y = 468 TO 478
IF POINT(x, y) <> 5 THEN PSET (x, y), 12
NEXT y
NEXT x
PUT (287, 113), Box(29000), PSET
PrintSTRING 22, 21, "REMAINING LIVES:", 2
PrintSTRING 504, 21, "PLAYER SCORE:", 2
FOR x = 22 TO 100
FOR y = 20 TO 34
IF y > 28 THEN Colr = 7 ELSE Colr = 8
IF POINT(x, y) = 13 THEN PSET (x, y), Colr
IF POINT(x + 480, y) = 13 THEN PSET (x + 480, y), Colr
NEXT y
NEXT x
FOR x = 287 TO 360
FOR y = 113 TO 150
IF y > 127 THEN Colr = 7 ELSE Colr = 8
IF POINT(x, y) <> 0 THEN PSET (x, y - 100), Colr
PSET (x, y), 0
NEXT y
NEXT x
FOR yy = 110 TO 350 STEP 40
FOR x = 240 TO 360
FOR y = 0 TO 50
IF POINT(x, y) = 7 OR POINT(x, y) = 8 THEN PSET (x, y + yy), 9
NEXT y
NEXT x
NEXT yy
CIRCLE (27, 77), 20, 13, 1.57, 3.14
CIRCLE (29, 79), 20, 13, 1.57, 3.14
CIRCLE (612, 77), 20, 13, 0, 1.57
CIRCLE (610, 79), 20, 13, 0, 1.57
CIRCLE (29, 441), 20, 13, 3.14, 4.71
CIRCLE (27, 443), 20, 13, 3.14, 4.71
CIRCLE (610, 441), 20, 13, 4.71, 0
CIRCLE (612, 443), 20, 13, 4.71, 0
LINE (27, 57)-(612, 57), 13
LINE (29, 59)-(610, 59), 13
LINE (27, 463)-(612, 463), 13
LINE (29, 461)-(610, 461), 13
LINE (7, 77)-(7, 443), 13
LINE (9, 79)-(9, 441), 13
LINE (632, 77)-(632, 443), 13
LINE (630, 79)-(630, 441), 13
LINE (119, 132)-(520, 380), 12, B
LINE (139, 142)-(500, 370), 12, B
Count = 0
DEF SEG = VARSEG(Box(0))
FOR y = 0 TO 320 STEP 160
GET (0, y)-(639, y + 159), Box()
Count = Count + 1
FileNAME$ = "pongg" + LTRIM$(RTRIM$(STR$(Count))) + ".bsv"
BSAVE FileNAME$, VARPTR(Box(0)), 52000
NEXT y
DEF SEG
RETURN
DrawFONT:
RESTORE FontDATA
MaxWIDTH = 581
MaxDEPTH = 104
x = 0: y = 0
DO
READ Count, Colr
FOR Reps = 1 TO Count
PSET (x, y), Colr
x = x + 1
IF x > MaxWIDTH THEN
x = 0
y = y + 1
END IF
NEXT Reps
LOOP UNTIL y > MaxDEPTH
RETURN
GetFONT:
Index = 2
FOR y = 32 TO 48 STEP 16
FOR x = 0 TO 584 STEP 12
GET (x, y)-(x + 11, y + 11), Box(Index)
PUT (x, y), Box(Index)
Index = Index + 50
IF Index = 94 * 50 + 2 THEN EXIT FOR
NEXT x
NEXT y
Box(0) = 50
Box(1) = 3
FOR Index = 2 TO 93 * 50 + 2 STEP 50
LINE (0, 200)-(20, 220), 0, BF
PUT (0, 200), Box(Index)
x1 = -1: x2 = -1
FOR x = 0 TO 20
FOR y = 200 TO 220
IF POINT(x, y) <> 0 AND x1 = -1 THEN x1 = x
NEXT y
NEXT x
FOR x = 20 TO 0 STEP -1
FOR y = 200 TO 220
IF POINT(x, y) <> 0 AND x2 = -1 THEN x2 = x
NEXT y
NEXT x
GET (x1, 200)-(x2 + 1, 211), Box(Index)
NEXT Index
LINE (0, 200)-(20, 220), 0, BF
DEF SEG = VARSEG(Box(0))
BSAVE "pongg1.fbs", VARPTR(Box(0)), 9402
DEF SEG
Index = 2
FOR y = 68 TO 86 STEP 18
FOR x = 0 TO 584 STEP 12
GET (x, y)-(x + 11, y + 17), Box(Index)
PUT (x, y), Box(Index)
Index = Index + 75
IF Index = 94 * 75 + 2 THEN EXIT FOR
NEXT x
NEXT y
Box(0) = 75
Box(1) = 4
FOR Index = 2 TO 93 * 75 + 2 STEP 75
LINE (0, 190)-(30, 230), 0, BF
PUT (0, 200), Box(Index)
FOR Cx = 0 TO 20
FOR Cy = 200 TO 220
IF POINT(Cx, Cy) <> 0 THEN PSET (Cx, Cy), 8
NEXT Cy
NEXT Cx
x1 = -1: x2 = -1
FOR x = 0 TO 20
FOR y = 200 TO 220
IF POINT(x, y) <> 0 AND x1 = -1 THEN x1 = x
NEXT y
NEXT x
FOR x = 20 TO 0 STEP -1
FOR y = 200 TO 220
IF POINT(x, y) <> 0 AND x2 = -1 THEN x2 = x
NEXT y
NEXT x
GET (x1, 200)-(x2 + 1, 217), Box(Index)
NEXT Index
LINE (0, 190)-(30, 230), 0, BF
DEF SEG = VARSEG(Box(0))
BSAVE "pongg2.fbs", VARPTR(Box(0)), 14200
DEF SEG
Count = 0
x = 100
FOR PrintX = 100 TO 190 STEP 10
x = PrintX
IF Count = 1 THEN x = x + 2
PrintSTRING x, 100, LTRIM$(RTRIM$(STR$(Count))), 2
Count = Count + 1
NEXT PrintX
FOR x = 100 TO 200
FOR y = 100 TO 114
IF POINT(x, y) = 0 THEN PSET (x, y), 5 ELSE PSET (x, y), 1
NEXT y
NEXT x
Index = 0
FOR x = 100 TO 190 STEP 10
GET (x, 100)-(x + 6, 114), Box(Index)
Index = Index + 100
NEXT x
LINE (100, 100)-(200, 114), 0, BF
DEF SEG = VARSEG(Box(0))
BSAVE "ponggnms.bsv", VARPTR(Box(0)), 2000
DEF SEG
RETURN
GetWORDS:
GET (0, 0)-(61, 29), Box(29000)
PUT (0, 0), Box(29000)
GET (78, 0)-(186, 29), Box(30000)
PUT (78, 0), Box(30000)
GET (200, 20)-(264, 29), Box(31000)
PUT (200, 20), Box(31000)
RETURN
GetSPRITES:
'Draw and get ball and mask
CIRCLE (200, 200), 10, 15
PAINT (200, 200), 15
CIRCLE (200, 200), 9, 11, 4, 1
CIRCLE (198, 198), 9, 11, 4.5, .5
PAINT (206, 206), 11
GET (190, 190)-(210, 210), Box()
FOR x = 190 TO 210
FOR y = 190 TO 210
IF POINT(x, y) = 0 THEN PSET (x, y), 15 ELSE PSET (x, y), 0
NEXT y
NEXT x
GET (190, 190)-(210, 210), Box(200)
LINE (190, 190)-(210, 210), 0, BF
DEF SEG = VARSEG(Box(0))
BSAVE "ponggbal.bsv", VARPTR(Box(0)), 800
DEF SEG
'Main body of paddle
LINE (301, 100)-(379, 100), 15
LINE (301, 101)-(379, 101), 13
LINE (301, 102)-(379, 103), 7, BF
LINE (310, 104)-(370, 105), 7, BF
LINE (320, 106)-(360, 110), 7, BF
'Round bottom corners
LINE (320, 109)-(320, 110), 0
PSET (321, 110), 0
LINE (360, 109)-(360, 110), 0
PSET (359, 110), 0
'Add rivets
FOR x = 301 TO 378 STEP 4
PSET (x + 1, 102), 15
PSET (x + 1, 103), 0
NEXT x
'Red/yellow markings
LINE (339, 102)-(341, 110), 4, BF
LINE (336, 102)-(338, 110), 14, BF
LINE (333, 102)-(335, 110), 4, BF
LINE (330, 102)-(332, 110), 14, BF
LINE (342, 102)-(344, 110), 14, BF
LINE (345, 102)-(347, 110), 4, BF
LINE (348, 102)-(350, 110), 14, BF
'Lightening holes
FOR x = 331 TO 349 STEP 9
CIRCLE (x, 106), 3, 0
PAINT (x, 106), 0
NEXT x
CIRCLE (324, 106), 2, 0
PAINT (324, 106), 0
CIRCLE (356, 106), 2, 0
PAINT (356, 106), 0
GET (301, 100)-(379, 110), Box()
PUT (301, 100), Box()
DEF SEG = VARSEG(Box(0))
BSAVE "ponggpdl.bsv", VARPTR(Box(0)), 500
DEF SEG
RETURN
PaletteDISPLAY:
Colr = 0
FOR x = 0 TO 600 STEP 40
LINE (x, 420)-(x + 39, 460), Colr, BF
Colr = Colr + 1
NEXT x
RETURN
GetPOPUPS:
CLS
DEF SEG = VARSEG(Box(0))
BLOAD "ponggbak.bsv", VARPTR(Box(0))
DEF SEG
PUT (198, 178), Box() 'largest area
GET (258, 204)-(378, 312), Box(20000)
LINE (198, 178)-(438, 327), 7, BF
LINE (198, 178)-(438, 253), 8, BF
LINE (204, 185)-(432, 312), 0, BF
LINE (204, 186)-(432, 207), 1, BF
LINE (204, 185)-(432, 312), 1, B
LINE (308, 185)-(308, 310), 1
LINE (360, 185)-(360, 310), 1
LINE (204, 185)-(204, 207), 0
LINE (432, 185)-(432, 207), 0
LINE (204, 185)-(432, 185), 0
FOR y = 228 TO 310 STEP 21
LINE (204, y)-(432, y), 1
NEXT y
LINE (308, 185)-(308, 207), 0
LINE (360, 185)-(360, 207), 0
PrintSTRING 230, 89, "Player NAME", 2
PrintSTRING 320, 89, "SCORE", 2
PrintSTRING 372, 89, "Game DATE", 2
PrintSTRING 245, 415, "PRESS ANY KEY TO CONTINUE", 1
FOR y = 410 TO 435
FOR x = 200 TO 440
IF POINT(x, y) <> 0 THEN
PSET (x, y - 100), 15
PSET (x, y), 0
END IF
IF POINT(x, y - 324) <> 0 THEN PSET (x, y - 224), 0
PSET (x, y - 324), 0
NEXT x
NEXT y
GET (198, 178)-(438, 327), Box() 'largest area
DEF SEG = VARSEG(Box(0))
BSAVE "ponggtfv.bsv", VARPTR(Box(0)), 20000
DEF SEG
LINE (204, 185)-(432, 312), 0, BF
LINE (204, 185)-(432, 202), 8, BF
PUT (258, 204), Box(20000), PSET
PrintSTRING 289, 183, "Instructions", 2
PrintSTRING 215, 12, "The object of the game is to score as many", 1
PrintSTRING 215, 24, "points as possible before losing all 5 lives.", 1
PrintSTRING 215, 44, "The PONGG! paddle is moved by sliding the", 1
PrintSTRING 215, 56, "mouse from side to side.", 1
PrintSTRING 215, 76, "Each time the ball is returned you score 10", 1
PrintSTRING 215, 88, "points. If the ball is missed it costs you a life.", 1
FOR x = 214 TO 432
FOR y = 12 TO 100
IF POINT(x, y) <> 0 THEN
PSET (x, y + 200), 1
PSET (x, y), 0
END IF
NEXT y
NEXT x
GET (198, 178)-(438, 327), Box() 'largest area
DEF SEG = VARSEG(Box(0))
BSAVE "ponggin1.bsv", VARPTR(Box(0)), 20000
DEF SEG
LINE (204, 203)-(432, 312), 0, BF
'LINE (258, 204)-(378, 312), 5, BF
PUT (258, 204), Box(20000), PSET
PrintSTRING 215, 17, "The accelerators are designed to send the", 1
PrintSTRING 215, 29, "ball in unpredictable directions, often in-", 1
PrintSTRING 215, 41, "creasing its speed considerably.", 1
PrintSTRING 215, 61, "Returning a ball which has just been spun", 1
PrintSTRING 215, 73, "from an accelerator increases your score by", 1
PrintSTRING 215, 85, "the amount shown on that accelerator.", 1
FOR x = 214 TO 432
FOR y = 12 TO 100
IF POINT(x, y) <> 0 THEN
PSET (x, y + 200), 1
PSET (x, y), 0
END IF
NEXT y
NEXT x
GET (198, 178)-(438, 327), Box() 'largest area
DEF SEG = VARSEG(Box(0))
BSAVE "ponggin2.bsv", VARPTR(Box(0)), 20000
DEF SEG
LINE (204, 203)-(432, 312), 0, BF
PUT (258, 204), Box(20000), PSET
LINE (204, 180)-(432, 202), 8, BF
PrintSTRING 260, 183, "Instructions: options keys", 2
PrintSTRING 236, 9, "esc:", 2
PrintSTRING 226, 41, "space:", 2
PrintSTRING 246, 85, "t:", 2
PrintSTRING 258, 13, "Press the Escape key at any time", 1
PrintSTRING 258, 25, "to QUIT.", 1
PrintSTRING 258, 45, "Press the SPACE bar to pause the", 1
PrintSTRING 258, 57, "game (HINT: Only pause the game", 1
PrintSTRING 258, 69, "while the ball is moving upwards).", 1
PrintSTRING 258, 89, "Press T to see the Top-5 list.", 1
FOR x = 214 TO 432
FOR y = 12 TO 100
IF POINT(x, y) <> 0 THEN
PSET (x, y + 200), 1
PSET (x, y), 0
END IF
NEXT y
NEXT x
GET (198, 178)-(438, 327), Box() 'largest area
DEF SEG = VARSEG(Box(0))
BSAVE "ponggin3.bsv", VARPTR(Box(0)), 20000
BLOAD "ponggbak.bsv", VARPTR(Box(0))
DEF SEG
PUT (198, 178), Box(), PSET
PrintSTRING 71, 230, "PRESS LEFT MOUSE", 2
PrintSTRING 78, 247, "BUTTON TO BEGIN", 2
PrintSTRING 54, 267, "Instructions: (X)", 1
PrintSTRING 134, 267, "Quit: (ESC)", 1
PrintSTRING 91, 279, "Restart: (R)", 1
FOR x = 54 TO 180
FOR y = 230 TO 290
IF y < 266 THEN Colr = 8 ELSE Colr = 1
IF POINT(x, y) <> 0 THEN PSET (x + 200, y), Colr
PSET (x, y), 0
NEXT y
NEXT x
GET (246, 230)-(389, 290), Box()
DEF SEG = VARSEG(Box(0))
BSAVE "ponggops.bsv", VARPTR(Box(0)), 6000
DEF SEG
RETURN
GetOVERLAYS:
GET (198, 178)-(438, 327), Box() 'largest area
DEF SEG = VARSEG(Box(0))
BSAVE "ponggbak.bsv", VARPTR(Box(0)), 20000
DEF SEG
GET (110, 118)-(230, 136), Box()
GET (409, 118)-(529, 136), Box(2000)
PUT (210, 68), Box(31000)
FOR x = 210 TO 340
FOR y = 66 TO 80
IF POINT(x, y) <> 0 THEN
PSET (x - 50, y + 51), 8
PSET (x + 204, y + 51), 8
PSET (x, y), 0
END IF
NEXT y
NEXT x
LINE (110, 125)-(154, 125), 15
LINE (484, 125)-(529, 125), 15
GET (110, 118)-(230, 136), Box(4000)
GET (409, 118)-(529, 136), Box(6000)
PUT (110, 118), Box(), PSET
PUT (409, 118), Box(2000), PSET
DEF SEG = VARSEG(Box(0))
BSAVE "ponggacc.bsv", VARPTR(Box(0)), 16000
DEF SEG
PUT (262, 70), Box(30000), PSET
FOR x = 262 TO 380
FOR y = 70 TO 100
IF POINT(x, y) <> 0 THEN PSET (x, y + 150), 4
PSET (x, y), 0
NEXT y
NEXT x
GET (233, 220)-(400, 310), Box(10000)
PrintSTRING 286, 65, "Record Game Score", 2
PrintSTRING 286, 83, "New Game", 2
PrintSTRING 286, 101, "Quit", 2
FOR x = 286 TO 400
FOR y = 65 TO 120
IF POINT(x, y) <> 0 THEN PSET (x, y + 191), 1
PSET (x, y), 0
NEXT y
NEXT x
LINE (233, 253)-(400, 310), 12, B
FOR y = 262 TO 302 STEP 18
LINE (262, y)-(278, y + 5), 12, BF
NEXT y
GET (233, 220)-(400, 310), Box()
FOR x = 262 TO 375
FOR y = 256 TO 307
IF POINT(x, y) = 1 THEN PSET (x, y), 15
IF POINT(x, y) = 12 THEN PSET (x, y), 1
NEXT y
NEXT x
Index = 4000
FOR y = 256 TO 292 STEP 18
GET (262, y)-(371, y + 15), Box(Index)
Index = Index + 1000
NEXT y
DEF SEG = VARSEG(Box(0))
BSAVE "pongggo1.bsv", VARPTR(Box(0)), 14000
DEF SEG
PUT (233, 220), Box(10000), PSET
PrintSTRING 306, 83, "New Game", 2
PrintSTRING 306, 101, "Quit", 2
LINE (233, 253)-(398, 296), 12, B
FOR x = 286 TO 400
FOR y = 65 TO 120
IF POINT(x, y) <> 0 THEN PSET (x, y + 175), 1
PSET (x, y), 0
NEXT y
NEXT x
FOR y = 262 TO 280 STEP 18
LINE (282, y)-(298, y + 5), 12, BF
NEXT y
GET (233, 220)-(398, 296), Box()
FOR x = 262 TO 375
FOR y = 256 TO 292
IF POINT(x, y) = 1 THEN PSET (x, y), 15
IF POINT(x, y) = 12 THEN PSET (x, y), 1
NEXT y
NEXT x
GET (262, 256)-(374, 273), Box(4000)
GET (262, 274)-(374, 291), Box(5000)
DEF SEG = VARSEG(Box(0))
BSAVE "pongggo2.bsv", VARPTR(Box(0)), 12000
DEF SEG
RETURN
SetPALETTE:
DATA 12, 2, 22, 50, 37, 63, 40, 10, 50, 40, 10, 50
DATA 53, 0, 0, 19, 2, 22, 17, 2, 22, 42, 42, 42
DATA 55, 55, 55, 16, 9, 26, 15, 2, 22, 63, 55, 55
DATA 25, 12, 35, 42, 42, 42, 55, 63, 9, 63, 63, 63
RESTORE SetPALETTE
OUT &H3C8, 0
FOR n = 1 TO 48
READ Colr
OUT &H3C9, Colr
NEXT n
RETURN
FontDATA:
DATA 8,7,6,0,6,7,4,0,8,7,6,0,8,7,4,0,8,7,2,0,2,7,18,0,8,7,4,0
DATA 6,7,4,0,6,7,1,0,5,7,4,0,10,7,11,0,6,7,4,0,2,7,6,0,2,7,2,0
DATA 10,7,2,0,8,7,4,0,2,7,395,0,9,7,4,0,8,7,3,0,9,7,4,0,9,7,3,0
DATA 9,7,2,0,2,7,17,0,9,7,3,0,8,7,3,0,13,7,3,0,10,7,10,0,8,7,3,0
DATA 2,7,6,0,2,7,2,0,10,7,2,0,9,7,3,0,2,7,395,0,10,7,2,0,10,7,2,0
DATA 10,7,2,0,10,7,2,0,10,7,2,0,2,7,16,0,10,7,2,0,10,7,2,0,14,7,2,0
DATA 10,7,9,0,10,7,2,0,2,7,6,0,2,7,2,0,10,7,2,0,10,7,2,0,2,7,395,0
DATA 10,7,2,0,10,7,2,0,10,7,2,0,10,7,2,0,10,7,2,0,2,7,16,0,10,7,2,0
DATA 10,7,2,0,14,7,2,0,10,7,9,0,10,7,2,0,2,7,6,0,2,7,2,0,10,7,2,0
DATA 10,7,2,0,2,7,395,0,10,7,2,0,10,7,2,0,10,7,2,0,10,7,2,0,10,7,2,0
DATA 2,7,16,0,10,7,2,0,10,7,2,0,14,7,2,0,10,7,9,0,10,7,2,0,2,7,6,0
DATA 2,7,2,0,10,7,2,0,10,7,2,0,2,7,395,0,10,7,2,0,10,7,2,0,10,7,2,0
DATA 10,7,2,0,10,7,2,0,2,7,16,0,10,7,2,0,10,7,2,0,14,7,2,0,10,7,9,0
DATA 10,7,2,0,2,7,6,0,2,7,2,0,10,7,2,0,10,7,2,0,2,7,395,0,10,7,2,0
DATA 10,7,2,0,10,7,2,0,10,7,2,0,10,7,2,0,2,7,16,0,10,7,2,0,10,7,2,0
DATA 14,7,2,0,10,7,9,0,10,7,2,0,2,7,6,0,2,7,2,0,10,7,2,0,10,7,2,0
DATA 2,7,395,0,10,7,2,0,10,7,2,0,10,7,2,0,10,7,2,0,10,7,2,0,2,7,16,0
DATA 10,7,2,0,10,7,2,0,14,7,2,0,10,7,9,0,10,7,2,0,2,7,6,0,2,7,2,0
DATA 10,7,2,0,10,7,2,0,2,7,395,0,2,7,5,0,3,7,2,0,3,7,4,0,3,7,2,0
DATA 2,7,5,0,3,7,2,0,3,7,9,0,3,7,9,0,2,7,16,0,3,7,9,0,3,7,4,0
DATA 3,7,2,0,2,7,3,0,3,7,3,0,3,7,2,0,2,7,17,0,3,7,4,0,3,7,2,0
DATA 2,7,6,0,2,7,2,0,2,7,10,0,2,7,5,0,3,7,2,0,2,7,395,0,2,7,6,0
DATA 2,7,2,0,2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0,2,7,10,0,2,7,10,0
DATA 2,7,16,0,2,7,10,0,2,7,6,0,2,7,2,0,2,7,4,0,2,7,4,0,2,7,2,0
DATA 2,7,17,0,2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0,2,7,10,0,2,7,6,0
DATA 2,7,2,0,2,7,395,0,2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0,2,7,6,0
DATA 2,7,2,0,2,7,10,0,2,7,10,0,2,7,16,0,2,7,10,0,2,7,6,0,2,7,2,0
DATA 2,7,4,0,2,7,4,0,2,7,2,0,2,7,17,0,2,7,6,0,2,7,2,0,2,7,6,0
DATA 2,7,2,0,2,7,10,0,2,7,6,0,2,7,2,0,2,7,395,0,2,7,5,0,3,7,2,0
DATA 2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0,2,7,10,0,2,7,10,0,2,7,16,0
DATA 2,7,10,0,2,7,6,0,2,7,2,0,2,7,4,0,2,7,4,0,2,7,2,0,2,7,17,0
DATA 2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0,2,7,10,0,2,7,5,0,3,7,2,0
DATA 2,7,395,0,10,7,2,0,2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0,2,7,2,0
DATA 6,7,2,0,2,7,2,0,6,7,2,0,2,7,16,0,2,7,2,0,6,7,2,0,10,7,2,0
DATA 2,7,4,0,2,7,4,0,2,7,2,0,8,7,11,0,2,7,6,0,2,7,2,0,2,7,6,0
DATA 2,7,2,0,8,7,4,0,10,7,2,0,2,7,395,0,10,7,2,0,2,7,6,0,2,7,2,0
DATA 2,7,6,0,2,7,2,0,2,7,2,0,6,7,2,0,2,7,2,0,6,7,2,0,2,7,16,0
DATA 2,7,2,0,6,7,2,0,10,7,2,0,2,7,4,0,2,7,4,0,2,7,2,0,8,7,11,0
DATA 2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0,8,7,4,0,9,7,3,0,2,7,395,0
DATA 10,7,2,0,2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0,2,7,2,0,6,7,2,0
DATA 2,7,2,0,6,7,2,0,2,7,16,0,2,7,2,0,6,7,2,0,10,7,2,0,2,7,4,0
DATA 2,7,4,0,2,7,2,0,8,7,11,0,2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0
DATA 8,7,4,0,8,7,4,0,2,7,395,0,10,7,2,0,2,7,6,0,2,7,2,0,2,7,6,0
DATA 2,7,2,0,2,7,2,0,6,7,2,0,2,7,2,0,6,7,2,0,2,7,16,0,2,7,2,0
DATA 6,7,2,0,10,7,2,0,2,7,4,0,2,7,4,0,2,7,2,0,8,7,11,0,2,7,6,0
DATA 2,7,2,0,2,7,6,0,2,7,2,0,8,7,4,0,8,7,4,0,2,7,395,0,10,7,2,0
DATA 2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0,2,7,2,0,6,7,2,0,2,7,2,0
DATA 6,7,2,0,2,7,16,0,2,7,2,0,6,7,2,0,10,7,2,0,2,7,4,0,2,7,4,0
DATA 2,7,2,0,8,7,11,0,2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0,8,7,4,0
DATA 9,7,3,0,2,7,395,0,10,7,2,0,2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0
DATA 2,7,2,0,6,7,2,0,2,7,2,0,6,7,2,0,2,7,16,0,2,7,2,0,6,7,2,0
DATA 10,7,2,0,2,7,4,0,2,7,4,0,2,7,2,0,8,7,11,0,2,7,6,0,2,7,2,0
DATA 2,7,6,0,2,7,2,0,8,7,4,0,10,7,2,0,2,7,395,0,9,7,3,0,2,7,6,0
DATA 2,7,2,0,2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0
DATA 2,7,16,0,2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0,2,7,4,0,2,7,4,0
DATA 2,7,2,0,2,7,17,0,2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0,2,7,10,0
DATA 2,7,5,0,3,7,2,0,2,7,395,0,8,7,4,0,2,7,6,0,2,7,2,0,2,7,6,0
DATA 2,7,2,0,2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0,2,7,16,0,2,7,6,0
DATA 2,7,2,0,2,7,6,0,2,7,2,0,2,7,4,0,2,7,4,0,2,7,2,0,2,7,17,0
DATA 2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0,2,7,10,0,2,7,6,0,2,7,2,0
DATA 2,7,395,0,2,7,10,0,2,7,6,0,2,7,2,0,2,7,6,0,2,7,2,0,2,7,6,0
DATA 2,7,2,0,2,7,6,0,2,7,2,0,2,7,16,0,2,7,6,0,2,7,2,0,2,7,6,0
DATA 2,7,2,0,2,7,4,0,2,7,4,0,2,7,2,0,2,7,17,0,2,7,6,0,2,7,2,0
DATA 2,7,6,0,2,7,2,0,2,7,10,0,2,7,6,0,2,7,2,0,2,7,395,0,2,7,10,0
DATA 3,7,4,0,3,7,2,0,2,7,6,0,2,7,2,0,3,7,4,0,3,7,2,0,3,7,4,0
DATA 3,7,2,0,2,7,16,0,3,7,4,0,3,7,2,0,2,7,6,0,2,7,2,0,2,7,4,0
DATA 2,7,4,0,2,7,2,0,2,7,17,0,3,7,4,0,3,7,2,0,3,7,4,0,3,7,2,0
DATA 2,7,10,0,2,7,6,0,2,7,2,0,2,7,16,0,2,7,25,0,2,7,350,0,2,7,10,0
DATA 10,7,2,0,2,7,6,0,2,7,2,0,10,7,2,0,10,7,20,0,10,7,2,0,2,7,6,0
DATA 2,7,2,0,2,7,4,0,2,7,4,0,2,7,2,0,10,7,9,0,10,7,2,0,10,7,2,0
DATA 10,7,2,0,2,7,6,0,2,7,20,0,2,7,25,0,2,7,19,0,2,7,329,0,2,7,10,0
DATA 10,7,2,0,2,7,6,0,2,7,2,0,10,7,2,0,10,7,20,0,10,7,2,0,2,7,6,0
DATA 2,7,2,0,2,7,4,0,2,7,4,0,2,7,2,0,10,7,9,0,10,7,3,0,8,7,3,0
DATA 10,7,2,0,2,7,6,0,2,7,19,0,4,7,24,0,2,7,19,0,2,7,329,0,2,7,10,0
DATA 10,7,2,0,2,7,6,0,2,7,2,0,10,7,2,0,10,7,20,0,10,7,2,0,2,7,6,0
DATA 2,7,2,0,2,7,4,0,2,7,4,0,2,7,2,0,10,7,9,0,10,7,3,0,8,7,3,0
DATA 10,7,2,0,2,7,6,0,2,7,19,0,4,7,4,0,4,7,3,0,4,7,3,0,4,7,2,0
DATA 2,7,2,0,4,7,2,0,3,7,2,0,4,7,2,0,3,7,2,0,4,7,2,0,3,7,317,0
DATA 2,7,10,0,10,7,2,0,2,7,6,0,2,7,2,0,10,7,2,0,10,7,20,0,10,7,2,0
DATA 2,7,6,0,2,7,2,0,2,7,4,0,2,7,4,0,2,7,2,0,10,7,9,0,10,7,4,0
DATA 6,7,4,0,10,7,2,0,2,7,6,0,2,7,18,0,2,7,2,0,2,7,2,0,2,7,2,0
DATA 2,7,1,0,2,7,2,0,2,7,1,0,2,7,2,0,2,7,1,0,2,7,1,0,2,7,2,0
DATA 2,7,1,0,2,7,6,0,2,7,1,0,2,7,2,0,2,7,2,0,2,7,1,0,2,7,318,0
DATA 2,7,10,0,10,7,2,0,2,7,6,0,2,7,2,0,10,7,2,0,10,7,2,0,2,7,16,0
DATA 10,7,2,0,2,7,6,0,2,7,2,0,2,7,4,0,2,7,4,0,2,7,2,0,10,7,9,0
DATA 10,7,4,0,6,7,4,0,10,7,2,0,2,7,6,0,2,7,2,0,2,7,14,0,2,7,2,0
DATA 2,7,2,0,2,7,5,0,2,7,5,0,6,7,1,0,2,7,1,0,6,7,1,0,2,7,3,0
DATA 5,7,1,0,2,7,2,0,2,7,2,0,2,7,1,0,2,7,318,0,2,7,10,0,10,7,2,0
DATA 2,7,6,0,2,7,2,0,10,7,2,0,10,7,2,0,2,7,16,0,10,7,2,0,2,7,6,0
DATA 2,7,2,0,2,7,4,0,2,7,4,0,2,7,2,0,10,7,9,0,10,7,5,0,4,7,5,0
DATA 10,7,2,0,2,7,6,0,2,7,2,0,2,7,14,0,6,7,2,0,2,7,5,0,2,7,5,0
DATA 2,7,5,0,2,7,1,0,2,7,5,0,2,7,2,0,2,7,2,0,2,7,1,0,2,7,2,0
DATA 2,7,2,0,2,7,1,0,2,7,318,0,2,7,11,0,8,7,3,0,2,7,6,0,2,7,3,0
DATA 8,7,4,0,8,7,3,0,2,7,17,0,8,7,3,0,2,7,6,0,2,7,2,0,2,7,4,0
DATA 2,7,4,0,2,7,2,0,10,7,10,0,8,7,6,0,4,7,5,0,10,7,2,0,2,7,6,0
DATA 2,7,2,0,2,7,13,0,2,7,4,0,2,7,1,0,2,7,2,0,2,7,1,0,2,7,2,0
DATA 2,7,1,0,2,7,2,0,2,7,1,0,2,7,1,0,2,7,2,0,2,7,1,0,2,7,2,0
DATA 2,7,2,0,2,7,1,0,2,7,2,0,2,7,2,0,2,7,1,0,2,7,318,0,2,7,12,0
DATA 6,7,4,0,2,7,6,0,2,7,4,0,6,7,6,0,6,7,4,0,2,7,18,0,6,7,4,0
DATA 2,7,6,0,2,7,2,0,2,7,4,0,2,7,4,0,2,7,2,0,10,7,11,0,6,7,8,0
DATA 2,7,6,0,10,7,2,0,2,7,6,0,2,7,2,0,2,7,13,0,2,7,4,0,2,7,2,0
DATA 4,7,3,0,4,7,3,0,4,7,2,0,2,7,2,0,4,7,2,0,2,7,3,0,5,7,2,0
DATA 2,7,2,0,4,7,2,0,2,7,2064,0,1,7,11,0,1,7,2,0,1,7,9,0,1,7,2,0
DATA 1,7,9,0,1,7,10,0,2,7,10,0,1,7,10,0,1,7,12,0,1,7,10,0,1,7,74,0
DATA 1,7,9,0,3,7,10,0,1,7,10,0,3,7,9,0,3,7,11,0,1,7,8,0,5,7,8,0
DATA 3,7,8,0,5,7,8,0,3,7,9,0,3,7,69,0,3,7,11,0,4,7,8,0,1,7,8,0
DATA 4,7,9,0,4,7,7,0,4,7,8,0,5,7,7,0,5,7,8,0,4,7,7,0,1,7,4,0
DATA 1,7,6,0,1,7,14,0,1,7,8,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,5,0
DATA 1,7,5,0,1,7,4,0,1,7,7,0,4,7,7,0,5,7,8,0,4,7,1,0,1,7,11,0
DATA 1,7,2,0,1,7,9,0,1,7,2,0,1,7,8,0,3,7,8,0,1,7,2,0,1,7,2,0
DATA 1,7,5,0,1,7,1,0,1,7,9,0,1,7,11,0,1,7,12,0,1,7,10,0,1,7,1,0
DATA 1,7,60,0,1,7,8,0,1,7,3,0,1,7,7,0,3,7,9,0,1,7,3,0,1,7,7,0
DATA 1,7,3,0,1,7,9,0,2,7,8,0,1,7,11,0,1,7,3,0,1,7,11,0,1,7,7,0
DATA 1,7,3,0,1,7,7,0,1,7,3,0,1,7,67,0,1,7,3,0,1,7,8,0,2,7,4,0
DATA 2,7,6,0,1,7,8,0,1,7,3,0,1,7,7,0,1,7,4,0,1,7,6,0,1,7,3,0
DATA 1,7,7,0,1,7,11,0,1,7,11,0,1,7,4,0,1,7,6,0,1,7,4,0,1,7,6,0
DATA 1,7,14,0,1,7,8,0,1,7,2,0,1,7,8,0,1,7,11,0,1,7,5,0,1,7,5,0
DATA 2,7,3,0,1,7,6,0,1,7,4,0,1,7,6,0,1,7,4,0,1,7,6,0,1,7,4,0
DATA 2,7,11,0,1,7,2,0,1,7,8,0,6,7,6,0,1,7,1,0,1,7,1,0,1,7,8,0
DATA 2,7,2,0,1,7,6,0,1,7,1,0,1,7,9,0,1,7,11,0,1,7,12,0,1,7,11,0
DATA 1,7,61,0,1,7,8,0,1,7,3,0,1,7,9,0,1,7,13,0,1,7,11,0,1,7,9,0
DATA 2,7,8,0,1,7,11,0,1,7,14,0,1,7,8,0,1,7,3,0,1,7,7,0,1,7,3,0
DATA 1,7,34,0,1,7,20,0,1,7,15,0,1,7,8,0,1,7,6,0,1,7,5,0,1,7,1,0
DATA 1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,4,0,1,7,6,0,1,7,11,0
DATA 1,7,11,0,1,7,11,0,1,7,4,0,1,7,6,0,1,7,14,0,1,7,8,0,1,7,1,0
DATA 1,7,9,0,1,7,11,0,2,7,3,0,2,7,5,0,2,7,3,0,1,7,6,0,1,7,4,0
DATA 1,7,6,0,1,7,4,0,1,7,6,0,1,7,4,0,2,7,24,0,1,7,2,0,1,7,7,0
DATA 1,7,1,0,1,7,13,0,1,7,8,0,1,7,22,0,1,7,12,0,1,7,10,0,1,7,1,0
DATA 1,7,11,0,1,7,47,0,1,7,9,0,1,7,3,0,1,7,9,0,1,7,13,0,1,7,11,0
DATA 1,7,8,0,1,7,1,0,1,7,8,0,4,7,8,0,1,7,14,0,1,7,8,0,1,7,3,0
DATA 1,7,7,0,1,7,3,0,1,7,7,0,1,7,12,0,1,7,12,0,1,7,22,0,1,7,14,0
DATA 1,7,7,0,1,7,3,0,3,7,2,0,1,7,4,0,1,7,1,0,1,7,7,0,1,7,3,0
DATA 1,7,7,0,1,7,11,0,1,7,4,0,1,7,6,0,1,7,11,0,1,7,11,0,1,7,11,0
DATA 1,7,4,0,1,7,6,0,1,7,14,0,1,7,8,0,2,7,10,0,1,7,11,0,2,7,3,0
DATA 2,7,5,0,1,7,1,0,1,7,2,0,1,7,6,0,1,7,4,0,1,7,6,0,1,7,4,0
DATA 1,7,6,0,1,7,4,0,2,7,24,0,1,7,2,0,1,7,8,0,2,7,12,0,1,7,9,0
DATA 1,7,22,0,1,7,12,0,1,7,24,0,1,7,47,0,1,7,9,0,1,7,3,0,1,7,9,0
DATA 1,7,12,0,1,7,10,0,2,7,9,0,1,7,1,0,1,7,8,0,1,7,3,0,1,7,7,0
DATA 4,7,10,0,1,7,10,0,3,7,9,0,4,7,32,0,1,7,10,0,5,7,9,0,1,7,12,0
DATA 1,7,8,0,1,7,2,0,1,7,2,0,1,7,2,0,1,7,3,0,1,7,3,0,1,7,6,0
DATA 4,7,8,0,1,7,11,0,1,7,4,0,1,7,6,0,4,7,8,0,4,7,8,0,1,7,2,0
DATA 3,7,6,0,6,7,6,0,1,7,14,0,1,7,8,0,2,7,10,0,1,7,11,0,1,7,1,0
DATA 1,7,1,0,1,7,1,0,1,7,5,0,1,7,1,0,1,7,2,0,1,7,6,0,1,7,4,0
DATA 1,7,6,0,5,7,7,0,1,7,4,0,2,7,24,0,1,7,2,0,1,7,9,0,2,7,10,0
DATA 1,7,9,0,1,7,1,0,1,7,1,0,1,7,19,0,1,7,12,0,1,7,22,0,5,7,19,0
DATA 2,7,23,0,1,7,10,0,1,7,3,0,1,7,9,0,1,7,11,0,1,7,13,0,1,7,7,0
DATA 1,7,2,0,1,7,12,0,1,7,7,0,1,7,3,0,1,7,9,0,1,7,9,0,1,7,3,0
DATA 1,7,11,0,1,7,31,0,1,7,26,0,1,7,10,0,1,7,9,0,1,7,2,0,1,7,2,0
DATA 1,7,2,0,1,7,3,0,1,7,3,0,1,7,6,0,1,7,3,0,1,7,7,0,1,7,11,0
DATA 1,7,4,0,1,7,6,0,1,7,11,0,1,7,11,0,1,7,4,0,1,7,6,0,1,7,4,0
DATA 1,7,6,0,1,7,14,0,1,7,8,0,1,7,1,0,1,7,9,0,1,7,11,0,1,7,1,0
DATA 1,7,1,0,1,7,1,0,1,7,5,0,1,7,2,0,1,7,1,0,1,7,6,0,1,7,4,0
DATA 1,7,6,0,1,7,11,0,1,7,4,0,2,7,23,0,6,7,8,0,1,7,1,0,1,7,8,0
DATA 1,7,2,0,2,7,6,0,1,7,2,0,1,7,20,0,1,7,12,0,1,7,24,0,1,7,46,0
DATA 1,7,10,0,1,7,3,0,1,7,9,0,1,7,10,0,1,7,14,0,1,7,7,0,5,7,11,0
DATA 1,7,7,0,1,7,3,0,1,7,8,0,1,7,10,0,1,7,3,0,1,7,11,0,1,7,32,0
DATA 1,7,10,0,5,7,9,0,1,7,11,0,1,7,9,0,1,7,3,0,2,7,1,0,3,7,3,0
DATA 5,7,6,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,4,0,1,7,6,0,1,7,11,0
DATA 1,7,11,0,1,7,4,0,1,7,6,0,1,7,4,0,1,7,6,0,1,7,11,0,1,7,2,0
DATA 1,7,8,0,1,7,2,0,1,7,8,0,1,7,11,0,1,7,2,0,1,7,2,0,1,7,5,0
DATA 1,7,3,0,2,7,6,0,1,7,4,0,1,7,6,0,1,7,11,0,1,7,2,0,1,7,1,0
DATA 1,7,25,0,1,7,2,0,1,7,7,0,1,7,1,0,1,7,1,0,1,7,7,0,1,7,2,0
DATA 1,7,2,0,1,7,5,0,1,7,2,0,1,7,20,0,1,7,12,0,1,7,24,0,1,7,45,0
DATA 1,7,11,0,1,7,3,0,1,7,9,0,1,7,9,0,1,7,11,0,1,7,3,0,1,7,10,0
DATA 1,7,8,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,8,0,1,7,10,0,1,7,3,0
DATA 1,7,7,0,1,7,3,0,1,7,33,0,1,7,22,0,1,7,23,0,1,7,10,0,1,7,5,0
DATA 1,7,5,0,1,7,3,0,1,7,7,0,1,7,4,0,1,7,6,0,1,7,3,0,1,7,7,0
DATA 1,7,11,0,1,7,11,0,1,7,3,0,2,7,6,0,1,7,4,0,1,7,6,0,1,7,11,0
DATA 1,7,2,0,1,7,8,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,2,0,1,7,2,0
DATA 1,7,5,0,1,7,3,0,2,7,6,0,1,7,4,0,1,7,6,0,1,7,11,0,1,7,3,0
DATA 3,7,24,0,1,7,2,0,1,7,8,0,3,7,12,0,2,7,7,0,2,7,1,0,1,7,19,0
DATA 1,7,12,0,1,7,35,0,1,7,22,0,1,7,11,0,1,7,12,0,3,7,10,0,1,7,9,0
DATA 5,7,8,0,3,7,11,0,1,7,9,0,3,7,9,0,3,7,9,0,1,7,11,0,3,7,9,0
DATA 3,7,8,0,1,7,12,0,1,7,13,0,1,7,20,0,1,7,13,0,1,7,10,0,2,7,9,0
DATA 1,7,5,0,1,7,5,0,4,7,9,0,4,7,7,0,4,7,8,0,5,7,7,0,1,7,12,0
DATA 3,7,1,0,1,7,6,0,1,7,4,0,1,7,6,0,1,7,12,0,2,7,9,0,1,7,4,0
DATA 1,7,6,0,5,7,7,0,1,7,5,0,1,7,5,0,1,7,4,0,1,7,7,0,4,7,7,0
DATA 1,7,12,0,4,7,39,0,1,7,45,0,1,7,12,0,1,7,34,0,1,7,179,0,1,7,62,0
DATA 5,7,201,0,1,7,85,0,1,7,10,0,1,7,2959,0,1,7,347,0,1,7,21,0,1,7,65,0
DATA 5,7,8,0,3,7,8,0,5,7,7,0,1,7,4,0,1,7,6,0,1,7,5,0,1,7,5,0
DATA 1,7,9,0,1,7,1,0,1,7,5,0,1,7,5,0,1,7,5,0,1,7,5,0,7,7,5,0
DATA 2,7,10,0,1,7,11,0,2,7,11,0,1,7,1,0,1,7,20,0,1,7,23,0,1,7,27,0
DATA 1,7,20,0,1,7,22,0,1,7,11,0,1,7,11,0,1,7,11,0,1,7,11,0,1,7,180,0
DATA 1,7,10,0,1,7,12,0,1,7,64,0,1,7,4,0,1,7,6,0,1,7,3,0,1,7,9,0
DATA 1,7,9,0,1,7,4,0,1,7,6,0,1,7,5,0,1,7,5,0,1,7,9,0,1,7,1,0
DATA 1,7,5,0,1,7,5,0,1,7,5,0,1,7,11,0,1,7,5,0,1,7,11,0,1,7,12,0
DATA 1,7,10,0,1,7,3,0,1,7,20,0,1,7,22,0,1,7,27,0,1,7,19,0,1,7,23,0
DATA 1,7,35,0,1,7,11,0,1,7,95,0,1,7,84,0,1,7,10,0,1,7,12,0,1,7,11,0
DATA 2,7,2,0,1,7,48,0,1,7,4,0,1,7,6,0,1,7,13,0,1,7,9,0,1,7,4,0
DATA 1,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,3,0,1,7,3,0,1,7,3,0
DATA 1,7,7,0,1,7,3,0,1,7,11,0,1,7,6,0,1,7,11,0,1,7,12,0,1,7,58,0
DATA 1,7,27,0,1,7,19,0,1,7,23,0,1,7,35,0,1,7,11,0,1,7,95,0,1,7,84,0
DATA 1,7,10,0,1,7,12,0,1,7,10,0,1,7,2,0,2,7,49,0,1,7,4,0,1,7,6,0
DATA 1,7,13,0,1,7,9,0,1,7,4,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0
DATA 1,7,3,0,1,7,4,0,1,7,1,0,1,7,9,0,1,7,1,0,1,7,11,0,1,7,7,0
DATA 1,7,12,0,1,7,11,0,1,7,47,0,3,7,8,0,4,7,9,0,3,7,9,0,4,7,8,0
DATA 3,7,8,0,2,7,11,0,4,7,7,0,1,7,1,0,2,7,8,0,1,7,11,0,1,7,11,0
DATA 1,7,2,0,1,7,8,0,1,7,11,0,3,7,1,0,2,7,6,0,1,7,1,0,2,7,9,0
DATA 3,7,8,0,4,7,9,0,4,7,7,0,2,7,11,0,2,7,9,0,2,7,10,0,1,7,3,0
DATA 1,7,7,0,1,7,3,0,1,7,7,0,1,7,2,0,1,7,2,0,1,7,5,0,1,7,2,0
DATA 1,7,9,0,1,7,2,0,1,7,7,0,4,7,9,0,1,7,10,0,1,7,12,0,1,7,64,0
DATA 5,7,8,0,3,7,10,0,1,7,9,0,1,7,4,0,1,7,7,0,1,7,3,0,1,7,7,0
DATA 1,7,3,0,1,7,3,0,1,7,5,0,1,7,11,0,1,7,11,0,1,7,8,0,1,7,12,0
DATA 1,7,11,0,1,7,50,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0
DATA 1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,3,0,1,7,7,0
DATA 2,7,2,0,1,7,7,0,1,7,11,0,1,7,11,0,1,7,1,0,1,7,9,0,1,7,11,0
DATA 1,7,2,0,1,7,2,0,1,7,5,0,2,7,2,0,1,7,7,0,1,7,3,0,1,7,7,0
DATA 1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,2,0,1,7,8,0
DATA 1,7,11,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,2,0,1,7,2,0
DATA 1,7,5,0,1,7,2,0,1,7,9,0,1,7,2,0,1,7,10,0,1,7,8,0,1,7,11,0
DATA 1,7,13,0,1,7,63,0,1,7,4,0,1,7,10,0,1,7,9,0,1,7,9,0,1,7,4,0
DATA 1,7,8,0,1,7,1,0,1,7,9,0,1,7,1,0,1,7,1,0,1,7,1,0,1,7,5,0
DATA 1,7,1,0,1,7,10,0,1,7,10,0,1,7,9,0,1,7,13,0,1,7,10,0,1,7,47,0
DATA 4,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,3,0,1,7,7,0,5,7,7,0
DATA 1,7,11,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,11,0
DATA 2,7,10,0,1,7,11,0,1,7,2,0,1,7,2,0,1,7,5,0,1,7,3,0,1,7,7,0
DATA 1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,12,0
DATA 1,7,10,0,1,7,11,0,1,7,3,0,1,7,8,0,1,7,1,0,1,7,8,0,1,7,1,0
DATA 1,7,1,0,1,7,1,0,1,7,6,0,2,7,10,0,1,7,2,0,1,7,9,0,1,7,10,0
DATA 1,7,10,0,1,7,12,0,1,7,64,0,1,7,4,0,1,7,10,0,1,7,9,0,1,7,9,0
DATA 1,7,4,0,1,7,8,0,1,7,1,0,1,7,9,0,1,7,1,0,1,7,1,0,1,7,1,0
DATA 1,7,4,0,1,7,3,0,1,7,9,0,1,7,9,0,1,7,10,0,1,7,13,0,1,7,10,0
DATA 1,7,46,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,3,0
DATA 1,7,7,0,1,7,11,0,1,7,11,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0
DATA 1,7,11,0,1,7,11,0,1,7,1,0,1,7,9,0,1,7,11,0,1,7,2,0,1,7,2,0
DATA 1,7,5,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0
DATA 1,7,3,0,1,7,7,0,1,7,13,0,1,7,9,0,1,7,11,0,1,7,3,0,1,7,8,0
DATA 1,7,1,0,1,7,8,0,1,7,1,0,1,7,1,0,1,7,1,0,1,7,6,0,2,7,10,0
DATA 1,7,2,0,1,7,8,0,1,7,11,0,1,7,10,0,1,7,12,0,1,7,64,0,1,7,4,0
DATA 1,7,6,0,1,7,3,0,1,7,9,0,1,7,9,0,1,7,4,0,1,7,9,0,1,7,11,0
DATA 1,7,3,0,1,7,4,0,1,7,5,0,1,7,8,0,1,7,8,0,1,7,11,0,1,7,14,0
DATA 1,7,9,0,1,7,46,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0
DATA 1,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,3,0
DATA 1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,11,0,1,7,2,0,1,7,8,0
DATA 1,7,11,0,1,7,2,0,1,7,2,0,1,7,5,0,1,7,3,0,1,7,7,0,1,7,3,0
DATA 1,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,2,0
DATA 1,7,8,0,1,7,11,0,1,7,2,0,2,7,9,0,1,7,10,0,1,7,3,0,1,7,6,0
DATA 1,7,2,0,1,7,10,0,2,7,8,0,1,7,12,0,1,7,10,0,1,7,12,0,1,7,64,0
DATA 1,7,4,0,1,7,7,0,3,7,10,0,1,7,10,0,4,7,10,0,1,7,11,0,1,7,3,0
DATA 1,7,4,0,1,7,5,0,1,7,8,0,1,7,8,0,7,7,5,0,1,7,14,0,1,7,9,0
DATA 1,7,47,0,4,7,7,0,4,7,9,0,3,7,9,0,4,7,8,0,3,7,8,0,1,7,12,0
DATA 4,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,11,0,1,7,3,0,1,7,7,0
DATA 1,7,11,0,1,7,2,0,1,7,2,0,1,7,5,0,1,7,3,0,1,7,8,0,3,7,8,0
DATA 4,7,9,0,4,7,7,0,1,7,12,0,2,7,10,0,1,7,11,0,2,7,1,0,1,7,9,0
DATA 1,7,10,0,1,7,3,0,1,7,6,0,1,7,2,0,1,7,10,0,1,7,9,0,4,7,9,0
DATA 1,7,10,0,1,7,12,0,1,7,172,0,1,7,24,0,1,7,122,0,1,7,31,0,1,7,71,0
DATA 1,7,15,0,1,7,93,0,1,7,23,0,1,7,9,0,1,7,11,0,1,7,173,0,2,7,22,0
DATA 2,7,22,0,6,7,90,0,4,7,32,0,1,7,71,0,1,7,15,0,1,7,91,0,2,7,4768,0
DATA 1,7,11,0,1,7,1,0,1,7,23,0,1,7,10,0,2,7,11,0,1,7,10,0,1,7,11,0
DATA 1,7,11,0,1,7,12,0,1,7,70,0,3,7,8,0,2,7,10,0,4,7,8,0,4,7,8,0
DATA 1,7,2,0,1,7,8,0,5,7,8,0,3,7,8,0,5,7,8,0,3,7,9,0,3,7,69,0
DATA 3,7,21,0,3,7,8,0,4,7,9,0,4,7,7,0,4,7,8,0,5,7,7,0,5,7,8,0
DATA 4,7,7,0,1,7,3,0,1,7,7,0,1,7,15,0,1,7,7,0,1,7,3,0,1,7,7,0
DATA 1,7,11,0,6,7,6,0,4,7,9,0,3,7,8,0,4,7,9,0,3,7,2,0,1,7,11,0
DATA 1,7,1,0,1,7,23,0,1,7,9,0,4,7,3,0,1,7,6,0,1,7,9,0,2,7,10,0
DATA 1,7,13,0,1,7,10,0,3,7,68,0,5,7,7,0,2,7,10,0,5,7,7,0,5,7,7,0
DATA 1,7,2,0,1,7,8,0,5,7,7,0,5,7,7,0,5,7,7,0,5,7,7,0,5,7,67,0
DATA 5,7,19,0,5,7,7,0,5,7,7,0,5,7,7,0,5,7,7,0,5,7,7,0,5,7,7,0
DATA 5,7,7,0,1,7,3,0,1,7,7,0,1,7,15,0,1,7,7,0,1,7,3,0,1,7,7,0
DATA 1,7,11,0,7,7,5,0,5,7,7,0,5,7,7,0,5,7,7,0,5,7,1,0,1,7,11,0
DATA 1,7,1,0,1,7,22,0,3,7,8,0,4,7,3,0,1,7,4,0,4,7,8,0,2,7,10,0
DATA 1,7,13,0,1,7,9,0,5,7,67,0,5,7,7,0,2,7,10,0,5,7,7,0,5,7,7,0
DATA 1,7,2,0,1,7,8,0,5,7,7,0,5,7,7,0,5,7,7,0,5,7,7,0,5,7,67,0
DATA 5,7,19,0,5,7,7,0,5,7,7,0,5,7,7,0,5,7,7,0,5,7,7,0,5,7,7,0
DATA 5,7,7,0,1,7,3,0,1,7,7,0,1,7,15,0,1,7,7,0,1,7,3,0,1,7,7,0
DATA 1,7,11,0,7,7,5,0,5,7,7,0,5,7,7,0,5,7,7,0,5,7,1,0,1,7,11,0
DATA 1,7,1,0,1,7,21,0,5,7,7,0,1,7,2,0,1,7,2,0,1,7,5,0,4,7,8,0
DATA 1,7,11,0,1,7,13,0,1,7,10,0,3,7,61,0,1,7,6,0,5,7,7,0,2,7,10,0
DATA 5,7,7,0,5,7,7,0,1,7,2,0,1,7,8,0,5,7,7,0,5,7,7,0,5,7,7,0
DATA 5,7,7,0,5,7,67,0,5,7,7,0,7,7,5,0,5,7,7,0,5,7,7,0,5,7,7,0
DATA 5,7,7,0,5,7,7,0,5,7,7,0,5,7,7,0,1,7,3,0,1,7,7,0,1,7,15,0
DATA 1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,7,7,5,0,5,7,7,0,5,7,7,0
DATA 5,7,7,0,5,7,1,0,1,7,35,0,5,7,7,0,4,7,2,0,1,7,5,0,4,7,20,0
DATA 1,7,13,0,1,7,11,0,1,7,62,0,1,7,6,0,1,7,3,0,1,7,8,0,1,7,14,0
DATA 1,7,11,0,1,7,7,0,1,7,2,0,1,7,8,0,1,7,11,0,1,7,15,0,1,7,7,0
DATA 1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,16,0,1,7,18,0
DATA 1,7,11,0,5,7,7,0,7,7,5,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0
DATA 1,7,11,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,11,0,1,7,11,0,1,7,3,0
DATA 1,7,7,0,1,7,15,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,2,0
DATA 1,7,2,0,1,7,5,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0
DATA 1,7,7,0,1,7,3,0,1,7,1,0,1,7,24,0,1,7,1,0,1,7,8,0,5,7,7,0
DATA 4,7,1,0,1,7,6,0,1,7,23,0,1,7,13,0,1,7,23,0,1,7,49,0,1,7,7,0
DATA 1,7,3,0,1,7,8,0,1,7,14,0,1,7,11,0,1,7,7,0,5,7,7,0,1,7,11,0
DATA 1,7,15,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0
DATA 1,7,14,0,3,7,18,0,3,7,9,0,1,7,3,0,1,7,7,0,7,7,5,0,1,7,3,0
DATA 1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,3,0,1,7,7,0,1,7,11,0
DATA 1,7,11,0,1,7,11,0,5,7,7,0,1,7,15,0,1,7,7,0,4,7,8,0,1,7,11,0
DATA 1,7,2,0,1,7,2,0,1,7,5,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0
DATA 1,7,3,0,1,7,7,0,1,7,3,0,1,7,1,0,1,7,24,0,1,7,1,0,1,7,8,0
DATA 1,7,1,0,1,7,1,0,1,7,8,0,2,7,1,0,1,7,7,0,1,7,23,0,1,7,13,0
DATA 1,7,23,0,1,7,49,0,1,7,7,0,1,7,3,0,1,7,8,0,1,7,11,0,4,7,8,0
DATA 4,7,7,0,5,7,7,0,4,7,8,0,4,7,11,0,1,7,8,0,5,7,7,0,5,7,7,0
DATA 1,7,11,0,1,7,12,0,4,7,7,0,4,7,9,0,4,7,7,0,1,7,3,0,1,7,7,0
DATA 1,7,5,0,1,7,5,0,5,7,7,0,5,7,7,0,1,7,11,0,1,7,3,0,1,7,7,0
DATA 4,7,8,0,4,7,8,0,1,7,1,0,3,7,7,0,5,7,7,0,1,7,15,0,1,7,7,0
DATA 4,7,8,0,1,7,11,0,1,7,2,0,1,7,2,0,1,7,5,0,1,7,3,0,1,7,7,0
DATA 1,7,3,0,1,7,7,0,5,7,7,0,1,7,3,0,1,7,1,0,1,7,23,0,5,7,8,0
DATA 2,7,13,0,1,7,1,0,2,7,5,0,3,7,20,0,1,7,13,0,1,7,21,0,5,7,46,0
DATA 1,7,8,0,1,7,3,0,1,7,8,0,1,7,10,0,5,7,8,0,4,7,7,0,5,7,7,0
DATA 5,7,7,0,5,7,10,0,1,7,9,0,3,7,8,0,5,7,31,0,3,7,9,0,4,7,11,0
DATA 3,7,9,0,1,7,8,0,1,7,1,0,5,7,5,0,5,7,7,0,5,7,7,0,1,7,11,0
DATA 1,7,3,0,1,7,7,0,4,7,8,0,4,7,8,0,1,7,1,0,3,7,7,0,5,7,7,0
DATA 1,7,11,0,1,7,3,0,1,7,7,0,4,7,8,0,1,7,11,0,1,7,2,0,1,7,2,0
DATA 1,7,5,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,5,7,7,0,1,7,3,0
DATA 1,7,1,0,1,7,23,0,5,7,9,0,2,7,11,0,1,7,1,0,4,7,3,0,1,7,23,0
DATA 1,7,13,0,1,7,21,0,5,7,19,0,5,7,22,0,1,7,8,0,1,7,3,0,1,7,8,0
DATA 1,7,10,0,4,7,9,0,4,7,7,0,5,7,7,0,5,7,7,0,5,7,10,0,1,7,8,0
DATA 5,7,8,0,4,7,31,0,1,7,28,0,1,7,9,0,1,7,8,0,1,7,1,0,1,7,3,0
DATA 1,7,5,0,5,7,7,0,5,7,7,0,1,7,11,0,1,7,3,0,1,7,7,0,4,7,8,0
DATA 4,7,8,0,1,7,1,0,3,7,7,0,5,7,7,0,1,7,11,0,1,7,3,0,1,7,7,0
DATA 4,7,8,0,1,7,11,0,1,7,2,0,1,7,2,0,1,7,5,0,1,7,3,0,1,7,7,0
DATA 1,7,3,0,1,7,7,0,5,7,7,0,1,7,3,0,1,7,1,0,1,7,24,0,1,7,1,0
DATA 1,7,8,0,1,7,1,0,1,7,1,0,1,7,9,0,1,7,2,0,4,7,3,0,1,7,23,0
DATA 1,7,13,0,1,7,21,0,5,7,19,0,5,7,21,0,1,7,9,0,1,7,3,0,1,7,8,0
DATA 1,7,10,0,1,7,15,0,1,7,8,0,4,7,11,0,1,7,7,0,1,7,3,0,1,7,10,0
DATA 1,7,8,0,1,7,3,0,1,7,11,0,1,7,31,0,3,7,9,0,4,7,11,0,3,7,8,0
DATA 1,7,9,0,1,7,1,0,5,7,5,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0
DATA 1,7,11,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,11,0,1,7,3,0,1,7,7,0
DATA 1,7,3,0,1,7,7,0,1,7,11,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0
DATA 1,7,11,0,1,7,2,0,1,7,2,0,1,7,5,0,1,7,3,0,1,7,7,0,1,7,3,0
DATA 1,7,7,0,4,7,8,0,1,7,3,0,1,7,1,0,1,7,23,0,5,7,7,0,5,7,9,0
DATA 1,7,2,0,1,7,2,0,1,7,3,0,4,7,20,0,1,7,13,0,1,7,23,0,1,7,47,0
DATA 1,7,9,0,1,7,3,0,1,7,8,0,1,7,10,0,1,7,15,0,1,7,10,0,1,7,12,0
DATA 1,7,7,0,1,7,3,0,1,7,9,0,1,7,9,0,1,7,3,0,1,7,11,0,1,7,32,0
DATA 4,7,7,0,4,7,9,0,4,7,9,0,1,7,9,0,1,7,1,0,5,7,5,0,1,7,3,0
DATA 1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,3,0,1,7,7,0,1,7,11,0
DATA 1,7,11,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,3,0
DATA 1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,2,0,1,7,2,0,1,7,5,0
DATA 1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,1,7,1,0,1,7,1,0
DATA 1,7,25,0,5,7,7,0,5,7,8,0,1,7,3,0,4,7,3,0,4,7,20,0,1,7,13,0
DATA 1,7,23,0,1,7,46,0,1,7,10,0,5,7,8,0,1,7,10,0,5,7,7,0,5,7,10,0
DATA 1,7,8,0,5,7,7,0,5,7,9,0,1,7,9,0,5,7,7,0,5,7,34,0,3,7,18,0
DATA 3,7,11,0,1,7,9,0,1,7,11,0,1,7,3,0,1,7,7,0,5,7,7,0,5,7,7,0
DATA 5,7,7,0,5,7,7,0,1,7,11,0,5,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0
DATA 5,7,7,0,1,7,3,0,1,7,7,0,5,7,7,0,1,7,2,0,1,7,2,0,1,7,5,0
DATA 1,7,3,0,1,7,7,0,5,7,7,0,1,7,11,0,5,7,26,0,1,7,1,0,1,7,8,0
DATA 5,7,8,0,1,7,3,0,4,7,3,0,4,7,20,0,1,7,13,0,1,7,33,0,1,7,23,0
DATA 1,7,12,0,1,7,10,0,5,7,8,0,1,7,10,0,5,7,7,0,5,7,10,0,1,7,8,0
DATA 5,7,7,0,5,7,9,0,1,7,9,0,5,7,7,0,5,7,7,0,1,7,11,0,1,7,16,0
DATA 1,7,18,0,1,7,23,0,7,7,5,0,1,7,3,0,1,7,7,0,5,7,7,0,5,7,7,0
DATA 5,7,7,0,5,7,7,0,1,7,11,0,5,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0
DATA 5,7,7,0,1,7,3,0,1,7,7,0,5,7,7,0,1,7,2,0,1,7,2,0,1,7,5,0
DATA 1,7,3,0,1,7,7,0,5,7,7,0,1,7,11,0,5,7,1,0,1,7,24,0,1,7,1,0
DATA 1,7,9,0,3,7,14,0,2,7,6,0,1,7,21,0,1,7,13,0,1,7,33,0,1,7,23,0
DATA 1,7,11,0,1,7,11,0,5,7,8,0,1,7,10,0,5,7,7,0,5,7,10,0,1,7,8,0
DATA 5,7,7,0,5,7,9,0,1,7,9,0,5,7,7,0,5,7,7,0,1,7,11,0,1,7,49,0
DATA 1,7,9,0,7,7,5,0,1,7,3,0,1,7,7,0,5,7,7,0,5,7,7,0,5,7,7,0
DATA 5,7,7,0,1,7,11,0,5,7,7,0,1,7,3,0,1,7,7,0,1,7,11,0,5,7,7,0
DATA 1,7,3,0,1,7,7,0,5,7,7,0,1,7,2,0,1,7,2,0,1,7,5,0,1,7,3,0
DATA 1,7,7,0,5,7,7,0,1,7,11,0,5,7,1,0,1,7,37,0,1,7,23,0,1,7,21,0
DATA 1,7,13,0,1,7,33,0,1,7,23,0,1,7,11,0,1,7,12,0,3,7,9,0,1,7,10,0
DATA 5,7,7,0,4,7,11,0,1,7,8,0,4,7,9,0,3,7,10,0,1,7,10,0,3,7,8,0
DATA 4,7,8,0,1,7,11,0,1,7,49,0,1,7,9,0,7,7,5,0,1,7,3,0,1,7,7,0
DATA 4,7,9,0,4,7,7,0,4,7,8,0,5,7,7,0,1,7,12,0,3,7,8,0,1,7,3,0
DATA 1,7,7,0,1,7,12,0,3,7,8,0,1,7,3,0,1,7,7,0,5,7,7,0,1,7,2,0
DATA 1,7,2,0,1,7,5,0,1,7,3,0,1,7,8,0,3,7,8,0,1,7,12,0,4,7,39,0
DATA 1,7,45,0,1,7,13,0,1,7,33,0,1,7,179,0,1,7,267,0,1,7,86,0,1,7,11,0
DATA 1,7,1066,0,4,7,9,0,4,7,7,0,5,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0
DATA 1,7,7,0,1,7,2,0,1,7,2,0,1,7,5,0,2,7,3,0,2,7,5,0,1,7,3,0
DATA 1,7,7,0,5,7,7,0,3,7,21,0,3,7,10,0,2,7,21,0,1,7,23,0,1,7,26,0
DATA 1,7,21,0,2,7,21,0,1,7,11,0,1,7,13,0,1,7,9,0,1,7,11,0,1,7,96,0
DATA 1,7,84,0,1,7,9,0,1,7,11,0,1,7,12,0,2,7,1,0,1,7,49,0,5,7,7,0
DATA 5,7,7,0,5,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,2,0
DATA 1,7,2,0,1,7,5,0,2,7,3,0,2,7,5,0,1,7,3,0,1,7,7,0,5,7,7,0
DATA 3,7,21,0,3,7,9,0,4,7,20,0,2,7,22,0,1,7,26,0,1,7,20,0,3,7,21,0
DATA 1,7,11,0,1,7,13,0,1,7,9,0,1,7,11,0,1,7,96,0,1,7,83,0,1,7,10,0
DATA 1,7,12,0,1,7,10,0,5,7,49,0,5,7,7,0,5,7,7,0,5,7,7,0,1,7,3,0
DATA 1,7,7,0,1,7,3,0,1,7,7,0,1,7,2,0,1,7,2,0,1,7,5,0,2,7,3,0
DATA 2,7,5,0,1,7,3,0,1,7,7,0,5,7,7,0,3,7,21,0,3,7,9,0,1,7,2,0
DATA 1,7,20,0,2,7,22,0,1,7,26,0,1,7,20,0,3,7,21,0,1,7,35,0,1,7,11,0
DATA 1,7,96,0,1,7,83,0,1,7,10,0,1,7,12,0,1,7,10,0,1,7,2,0,2,7,49,0
DATA 5,7,7,0,5,7,7,0,5,7,7,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0
DATA 1,7,2,0,1,7,2,0,1,7,5,0,2,7,3,0,2,7,5,0,1,7,3,0,1,7,7,0
DATA 5,7,7,0,1,7,11,0,1,7,13,0,1,7,34,0,1,7,22,0,1,7,26,0,1,7,20,0
DATA 1,7,23,0,1,7,35,0,1,7,11,0,1,7,96,0,1,7,83,0,1,7,10,0,1,7,12,0
DATA 1,7,64,0,1,7,3,0,1,7,7,0,1,7,13,0,1,7,9,0,1,7,3,0,1,7,7,0
DATA 1,7,3,0,1,7,7,0,1,7,2,0,1,7,2,0,1,7,6,0,1,7,3,0,1,7,6,0
DATA 1,7,3,0,1,7,11,0,1,7,7,0,1,7,11,0,1,7,13,0,1,7,45,0,3,7,9,0
DATA 3,7,10,0,3,7,9,0,3,7,9,0,2,7,9,0,3,7,10,0,4,7,7,0,3,7,9,0
DATA 1,7,13,0,1,7,9,0,1,7,2,0,1,7,8,0,1,7,11,0,4,7,8,0,3,7,10,0
DATA 2,7,9,0,3,7,10,0,3,7,8,0,3,7,10,0,3,7,8,0,5,7,7,0,1,7,2,0
DATA 1,7,8,0,1,7,3,0,1,7,7,0,1,7,2,0,1,7,2,0,1,7,5,0,2,7,1,0
DATA 2,7,7,0,1,7,2,0,1,7,8,0,4,7,9,0,1,7,10,0,1,7,12,0,1,7,64,0
DATA 1,7,3,0,1,7,7,0,1,7,13,0,1,7,9,0,1,7,3,0,1,7,7,0,1,7,3,0
DATA 1,7,7,0,1,7,2,0,1,7,2,0,1,7,7,0,1,7,1,0,1,7,7,0,1,7,3,0
DATA 1,7,10,0,1,7,8,0,1,7,12,0,1,7,12,0,1,7,45,0,4,7,8,0,4,7,8,0
DATA 4,7,8,0,4,7,8,0,4,7,8,0,3,7,9,0,5,7,7,0,4,7,8,0,1,7,13,0
DATA 1,7,9,0,1,7,2,0,1,7,8,0,1,7,11,0,5,7,7,0,4,7,8,0,4,7,8,0
DATA 4,7,8,0,4,7,8,0,4,7,8,0,4,7,8,0,5,7,7,0,1,7,2,0,1,7,8,0
DATA 1,7,3,0,1,7,7,0,1,7,2,0,1,7,2,0,1,7,5,0,2,7,1,0,2,7,7,0
DATA 1,7,2,0,1,7,8,0,4,7,9,0,1,7,10,0,1,7,12,0,1,7,64,0,5,7,7,0
DATA 4,7,10,0,1,7,9,0,1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,2,0
DATA 1,7,2,0,1,7,7,0,3,7,7,0,5,7,10,0,1,7,8,0,1,7,12,0,1,7,12,0
DATA 1,7,45,0,4,7,8,0,4,7,8,0,4,7,8,0,4,7,8,0,4,7,8,0,3,7,9,0
DATA 5,7,7,0,4,7,8,0,1,7,13,0,1,7,9,0,1,7,2,0,1,7,8,0,1,7,11,0
DATA 5,7,7,0,4,7,8,0,4,7,8,0,4,7,8,0,4,7,8,0,4,7,8,0,4,7,8,0
DATA 5,7,7,0,1,7,2,0,1,7,8,0,1,7,3,0,1,7,7,0,1,7,2,0,1,7,2,0
DATA 1,7,5,0,2,7,1,0,2,7,7,0,1,7,2,0,1,7,8,0,4,7,9,0,1,7,10,0
DATA 1,7,12,0,1,7,64,0,4,7,8,0,5,7,9,0,1,7,9,0,1,7,3,0,1,7,7,0
DATA 1,7,3,0,1,7,7,0,1,7,2,0,1,7,2,0,1,7,7,0,3,7,8,0,3,7,10,0
DATA 1,7,9,0,1,7,13,0,1,7,11,0,1,7,45,0,4,7,8,0,4,7,8,0,4,7,8,0
DATA 4,7,8,0,4,7,8,0,3,7,9,0,5,7,7,0,4,7,8,0,1,7,13,0,1,7,9,0
DATA 3,7,9,0,1,7,11,0,5,7,7,0,4,7,8,0,4,7,8,0,4,7,8,0,4,7,8,0
DATA 4,7,8,0,4,7,8,0,5,7,7,0,1,7,2,0,1,7,8,0,1,7,3,0,1,7,7,0
DATA 1,7,2,0,1,7,2,0,1,7,5,0,2,7,1,0,2,7,7,0,1,7,2,0,1,7,8,0
DATA 4,7,9,0,1,7,10,0,1,7,12,0,1,7,64,0,5,7,8,0,4,7,9,0,1,7,9,0
DATA 1,7,3,0,1,7,7,0,1,7,3,0,1,7,7,0,1,7,2,0,1,7,2,0,1,7,7,0
DATA 3,7,8,0,3,7,9,0,1,7,10,0,1,7,13,0,1,7,11,0,1,7,48,0,1,7,8,0
DATA 1,7,2,0,1,7,8,0,1,7,11,0,1,7,2,0,1,7,8,0,1,7,2,0,1,7,8,0
DATA 1,7,11,0,1,7,3,0,1,7,7,0,1,7,2,0,1,7,8,0,1,7,13,0,1,7,9,0
DATA 3,7,9,0,1,7,11,0,1,7,1,0,1,7,1,0,1,7,7,0,1,7,2,0,1,7,8,0
DATA 1,7,2,0,1,7,8,0,1,7,2,0,1,7,8,0,1,7,2,0,1,7,8,0,1,7,11,0
DATA 1,7,12,0,1,7,10,0,1,7,2,0,1,7,8,0,1,7,3,0,1,7,7,0,1,7,2,0
DATA 1,7,2,0,1,7,7,0,1,7,9,0,1,7,2,0,1,7,11,0,1,7,8,0,1,7,11,0
DATA 1,7,13,0,1,7,63,0,1,7,3,0,1,7,11,0,1,7,9,0,1,7,9,0,1,7,3,0
DATA 1,7,7,0,1,7,3,0,1,7,7,0,1,7,2,0,1,7,2,0,1,7,7,0,1,7,1,0
DATA 1,7,9,0,1,7,10,0,1,7,10,0,1,7,14,0,1,7,10,0,1,7,46,0,3,7,8,0
DATA 1,7,2,0,1,7,8,0,1,7,11,0,1,7,2,0,1,7,8,0,4,7,8,0,1,7,11,0
DATA 1,7,3,0,1,7,7,0,1,7,2,0,1,7,8,0,1,7,13,0,1,7,9,0,3,7,9,0
DATA 1,7,11,0,1,7,1,0,1,7,1,0,1,7,7,0,1,7,2,0,1,7,8,0,1,7,2,0
DATA 1,7,8,0,1,7,2,0,1,7,8,0,1,7,2,0,1,7,8,0,1,7,12,0,2,7,10,0
DATA 1,7,10,0,1,7,2,0,1,7,8,0,1,7,3,0,1,7,7,0,1,7,2,0,1,7,2,0
DATA 1,7,7,0,1,7,9,0,1,7,2,0,1,7,9,0,2,7,10,0,1,7,10,0,1,7,12,0
DATA 1,7,64,0,1,7,3,0,1,7,11,0,1,7,9,0,1,7,9,0,1,7,3,0,1,7,7,0
DATA 1,7,3,0,1,7,7,0,1,7,2,0,1,7,2,0,1,7,6,0,1,7,3,0,1,7,8,0
DATA 1,7,9,0,1,7,11,0,1,7,14,0,1,7,10,0,1,7,45,0,1,7,2,0,1,7,8,0
DATA 1,7,2,0,1,7,8,0,1,7,11,0,1,7,2,0,1,7,8,0,1,7,11,0,1,7,11,0
DATA 1,7,3,0,1,7,7,0,1,7,2,0,1,7,8,0,1,7,13,0,1,7,9,0,3,7,9,0
DATA 1,7,11,0,1,7,1,0,1,7,1,0,1,7,7,0,1,7,2,0,1,7,8,0,1,7,2,0
DATA 1,7,8,0,1,7,2,0,1,7,8,0,1,7,2,0,1,7,8,0,1,7,14,0,1,7,9,0
DATA 1,7,10,0,1,7,2,0,1,7,8,0,1,7,3,0,1,7,7,0,1,7,2,0,1,7,2,0
DATA 1,7,7,0,1,7,9,0,1,7,2,0,1,7,8,0,1,7,12,0,1,7,10,0,1,7,12,0
DATA 1,7,64,0,1,7,3,0,1,7,7,0,5,7,9,0,1,7,9,0,5,7,7,0,5,7,7,0
DATA 7,7,5,0,2,7,3,0,2,7,7,0,1,7,9,0,5,7,7,0,1,7,15,0,1,7,9,0
DATA 1,7,45,0,4,7,8,0,4,7,8,0,4,7,8,0,4,7,8,0,4,7,8,0,1,7,11,0
DATA 5,7,7,0,1,7,2,0,1,7,8,0,1,7,13,0,1,7,9,0,1,7,2,0,1,7,8,0
DATA 1,7,11,0,1,7,1,0,1,7,1,0,1,7,7,0,1,7,2,0,1,7,8,0,4,7,8,0
DATA 4,7,8,0,4,7,8,0,1,7,11,0,4,7,9,0,4,7,7,0,4,7,8,0,5,7,7,0
DATA 7,7,5,0,2,7,1,0,2,7,7,0,4,7,8,0,4,7,9,0,1,7,10,0,1,7,12,0
DATA 1,7,64,0,1,7,3,0,1,7,7,0,5,7,9,0,1,7,9,0,5,7,8,0,3,7,8,0
DATA 7,7,5,0,2,7,3,0,2,7,7,0,1,7,9,0,5,7,7,0,1,7,15,0,1,7,9,0
DATA 1,7,45,0,4,7,8,0,4,7,8,0,4,7,8,0,4,7,8,0,4,7,8,0,1,7,11,0
DATA 5,7,7,0,1,7,2,0,1,7,8,0,1,7,13,0,1,7,9,0,1,7,2,0,1,7,8,0
DATA 1,7,11,0,1,7,1,0,1,7,1,0,1,7,7,0,1,7,2,0,1,7,8,0,4,7,8,0
DATA 4,7,8,0,4,7,8,0,1,7,11,0,4,7,9,0,4,7,7,0,4,7,9,0,3,7,8,0
DATA 7,7,5,0,2,7,1,0,2,7,7,0,4,7,8,0,4,7,9,0,1,7,10,0,1,7,12,0
DATA 1,7,64,0,1,7,3,0,1,7,7,0,5,7,9,0,1,7,9,0,5,7,8,0,3,7,8,0
DATA 7,7,5,0,2,7,3,0,2,7,7,0,1,7,9,0,5,7,7,0,1,7,16,0,1,7,8,0
DATA 1,7,45,0,4,7,8,0,4,7,8,0,4,7,8,0,4,7,8,0,4,7,8,0,1,7,11,0
DATA 5,7,7,0,1,7,2,0,1,7,8,0,1,7,13,0,1,7,9,0,1,7,2,0,1,7,8,0
DATA 1,7,11,0,1,7,1,0,1,7,1,0,1,7,7,0,1,7,2,0,1,7,8,0,4,7,8,0
DATA 4,7,8,0,4,7,8,0,1,7,11,0,4,7,9,0,4,7,7,0,4,7,9,0,3,7,8,0
DATA 7,7,5,0,2,7,1,0,2,7,7,0,4,7,8,0,4,7,9,0,1,7,10,0,1,7,12,0
DATA 1,7,64,0,1,7,3,0,1,7,7,0,4,7,10,0,1,7,10,0,3,7,10,0,1,7,10,0
DATA 2,7,1,0,2,7,6,0,2,7,3,0,2,7,7,0,1,7,9,0,5,7,7,0,3,7,14,0
DATA 1,7,6,0,3,7,46,0,3,7,8,0,3,7,10,0,3,7,9,0,3,7,9,0,3,7,8,0
DATA 1,7,12,0,4,7,7,0,1,7,2,0,1,7,8,0,1,7,13,0,1,7,9,0,1,7,2,0
DATA 1,7,8,0,1,7,11,0,1,7,1,0,1,7,1,0,1,7,7,0,1,7,2,0,1,7,9,0
DATA 2,7,9,0,3,7,10,0,3,7,8,0,1,7,11,0,3,7,11,0,3,7,8,0,2,7,11,0
DATA 1,7,10,0,2,7,1,0,2,7,6,0,2,7,1,0,2,7,8,0,3,7,8,0,4,7,9,0
DATA 1,7,10,0,1,7,12,0,1,7,172,0,3,7,21,0,3,7,21,0,6,7,94,0,1,7,33,0
DATA 1,7,69,0,1,7,14,0,1,7,95,0,1,7,21,0,1,7,23,0,1,7,172,0,3,7,21,0
DATA 3,7,117,0,5,7,31,0,3,7,69,0,1,7,14,0,1,7,92,0,4,7,22,0,1,7,21,0
DATA 1,7,317,0,4,7,32,0,2,7,70,0,1,7,14,0,1,7,92,0,3,7,693,0,
SUB PrintSTRING (x, y, Prnt$, Font)
SELECT CASE Font
CASE 1: FileNAME$ = "PONGG1.FBS"
CASE 2: FileNAME$ = "PONGG2.FBS"
END SELECT
DEF SEG = VARSEG(Box(0))
BLOAD LCASE$(FileNAME$), VARPTR(Box(0))
DEF SEG
FOR i = 1 TO LEN(Prnt$)
Char$ = MID$(Prnt$, i, 1)
IF Char$ = " " THEN
x = x + Box(1)
ELSE
Index = (ASC(Char$) - 33) * Box(0) + 2
PUT (x, y), Box(Index)
x = x + Box(Index)
END IF
NEXT i
END SUB