-
Notifications
You must be signed in to change notification settings - Fork 0
/
mixed_font.p8
399 lines (368 loc) · 38.2 KB
/
mixed_font.p8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
pico-8 cartridge // http://www.pico-8.com
version 35
__lua__
-- font snippet generator
-- by zep
--[[
to make a font:
1. choose a fixed size (below)
2. draw as many characters as
needed in the spritesheet
3. run this program
4. paste the snippet into your
cartridge to use it
-- output looks like this:
-- poke(0x5600,unpack(split"8,8,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,63,63,63,63,63,63,0,0,0,63,63,63,0,0,0,0,0,63,51,63,0,0,0,0,0,51,12,51,0,0,0,0,0,51,0,51,0,0,0,0,0,51,51,51,0,0,0,0,48,60,63,60,48,0,0,0,3,15,63,15,3,0,0,62,6,6,6,6,0,0,0,0,0,48,48,48,48,62,0,99,54,28,62,8,62,8,0,0,0,0,24,0,0,0,0,0,0,0,0,0,12,24,0,0,0,0,0,0,12,12,0,0,0,10,10,0,0,0,0,0,4,10,4,0,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,0,12,0,0,54,54,0,0,0,0,0,0,54,127,54,54,127,54,0,8,62,11,62,104,62,8,0,0,51,24,12,6,51,0,0,14,27,27,110,59,59,110,0,12,12,0,0,0,0,0,0,24,12,6,6,6,12,24,0,12,24,48,48,48,24,12,0,0,54,28,127,28,54,0,0,0,12,12,63,12,12,0,0,0,0,0,0,0,12,12,6,0,0,0,62,0,0,0,0,0,0,0,0,0,12,12,0,32,48,24,12,6,3,1,0,62,99,115,107,103,99,62,0,24,28,24,24,24,24,60,0,63,96,96,62,3,3,127,0,63,96,96,60,96,96,63,0,51,51,51,126,48,48,48,0,127,3,3,63,96,96,63,0,62,3,3,63,99,99,62,0,127,96,48,24,12,12,12,0,62,99,99,62,99,99,62,0,62,99,99,126,96,96,62,0,0,0,12,0,0,12,0,0,0,0,12,0,0,12,6,0,48,24,12,6,12,24,48,0,0,0,30,0,30,0,0,0,6,12,24,48,24,12,6,0,30,51,48,24,12,0,12,0,0,30,51,59,59,3,30,0,0,0,62,96,126,99,126,0,3,3,63,99,99,99,63,0,0,0,62,99,3,99,62,0,96,96,126,99,99,99,126,0,0,0,62,99,127,3,62,0,124,6,6,63,6,6,6,0,0,0,126,99,99,126,96,62,3,3,63,99,99,99,99,0,0,24,0,28,24,24,60,0,48,0,56,48,48,48,51,30,3,3,51,27,15,27,51,0,12,12,12,12,12,12,56,0,0,0,99,119,127,107,99,0,0,0,63,99,99,99,99,0,0,0,62,99,99,99,62,0,0,0,63,99,99,63,3,3,0,0,126,99,99,126,96,96,0,0,62,99,3,3,3,0,0,0,62,3,62,96,62,0,12,12,62,12,12,12,56,0,0,0,99,99,99,99,126,0,0,0,99,99,34,54,28,0,0,0,99,99,107,127,54,0,0,0,99,54,28,54,99,0,0,0,99,99,99,126,96,62,0,0,127,112,28,7,127,0,62,6,6,6,6,6,62,0,1,3,6,12,24,48,32,0,62,48,48,48,48,48,62,0,12,30,18,0,0,0,0,0,0,0,0,0,0,0,30,0,12,24,0,0,0,0,0,0,28,54,99,99,127,99,99,0,63,99,99,63,99,99,63,0,62,99,3,3,3,99,62,0,31,51,99,99,99,51,31,0,127,3,3,63,3,3,127,0,127,3,3,63,3,3,3,0,62,3,3,115,99,99,126,0,99,99,99,127,99,99,99,0,63,12,12,12,12,12,63,0,127,24,24,24,24,24,15,0,99,51,27,15,27,51,99,0,3,3,3,3,3,3,127,0,99,119,127,107,99,99,99,0,99,103,111,107,123,115,99,0,62,99,99,99,99,99,62,0,63,99,99,63,3,3,3,0,62,99,99,99,99,51,110,0,63,99,99,63,27,51,99,0,62,99,3,62,96,99,62,0,63,12,12,12,12,12,12,0,99,99,99,99,99,99,62,0,99,99,99,99,54,28,8,0,99,99,99,107,127,119,99,0,99,99,54,28,54,99,99,0,99,99,99,126,96,96,63,0,127,96,48,28,6,3,127,0,56,12,12,7,12,12,56,0,8,8,8,0,8,8,8,0,14,24,24,112,24,24,14,0,0,0,110,59,0,0,0,0"))
-- you can then use it with:
-- print"\14 alt font!"
-- or: poke(0x5f58,0x81) to
-- always print with the alt
-- font
]]
-- size of character (width2
-- is user for chr >= 128)
char_width = 4
char_width2 = 5
char_height = 6
-- draw offset
char_offset_x = 0
char_offset_y = 0
function _init()
memset(0x5600,0,0x800)
local s=load_from_sprites()
printh(s,"@clip")
cstore(0x2000,0x5600,0x800)
end
function italic(str)
local istr = "\014"
for i = 1, #str do
istr ..= chr(ord(str,i)+96)
end
return istr.."\015"
end
function _draw()
cls(1)
--poke(0x5f58,0x81)
color(7)
?"\014the quick brown"
?"\014fox jumps over "
?"\014the lazy dog."
?""
?"\014T\014H\014E\014 \014Q\014UICK BROWN"
?"\014FOREVER"
?"\014THE LAZY DOG?"
?""
?"\0140123456789 +-*/"
print("\014\f8forever")
print("\014\#1\f8forever")
print(italic("0123456789"))
print(italic("the quick brown"))
print(italic("fox jumps over"))
print(italic("the lazy dog"))
?""
print(italic("THE QUICK BROWN"))
print(italic("FOX JUMPS OVER"))
print(italic("THE LAZY DOG."))
print("hERE'S "..italic("A PHRASE").." HERE?")
--poke(0x5f58,0)
color(13)
print(" [snippet copied to clipboard]",0,120)
cursor()
end
function load_from_sprites()
--find maximum sprite index
--(look for any set pixel)
maxi=0
for i=0,255 do
local x0=(i%16)*8
local y0=(i\16)*8
for y=0,7 do
for x=0,7 do
if(sget(x0+x,y0+y)>0) maxi=i
end
end
end
-- grab bits from each sprite
for i=0,maxi do
local x0=(i%16)*8
local y0=(i\16)*8
for y=0,7 do
local val=0
for x=0,7 do
if sget(x0+x,y0+y)>0 then
val |= (1<<x)
end
end
poke(0x5600+i*8+y,val)
end
end
-- font attributes are stored
-- in character 0
poke(0x5600,
char_width,
char_width2,
char_height,
char_offset_x,
char_offset_y)
-- generate string
local str="poke(0x5600,unpack(split\""
for i=0,maxi*8+7 do
str..= peek(0x5600+i)
if (i<maxi*8+7) str..=","
end
return str.."\"))"
end
__gfx__
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
77700000000000000000000000000000000000000000000000700000700000007770000000000000707000000000000000000000000000007707000007000000
77700000777000007770000070700000707000007070000007700000770000007000000000700000777000000000000000000000000000007707000070700000
77700000777000007070000007000000000000007070000077700000777000007000000000700000070000000700000000000000000000000000000007000000
77700000777000007770000070700000707000007070000007700000770000007000000000700000777000000000000000000000000000000000000000000000
77700000000000000000000000000000000000000000000000700000700000000000000077700000070000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000077700000770000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007770000770000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000007000000707000007070000007700000707000007700000007000000007000007000000070700000000000000000000000000000000000000070000
00000000007000007070000007770000077000000007000007700000070000000070000000700000007000000070000000000000000000000000000000700000
00000000070000000000000007070000007700000770000000770000000000000700000000700000777700000777000000000000077700000000000000700000
00000000000000000000000077700000777000007000000070700000000000000700000007000000070000000070000000700000000000000000000007000000
00000000700000000000000070700000070000007070000077700000000000000070000070000000707000000000000007000000000000000070000070000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00770000007700000077000000770000070700000777000000770000077700000077000000770000000000000000000000070000000000000700000007770000
07070000000700000007000000070000700700000700000007000000000700000707000007070000007000000070000000700000077700000070000000070000
70070000007000000770000007700000777000007770000007700000007000000770000007700000000000000000000007000000000000000070000000700000
70700000070000007000000000700000007000000070000070700000070000007070000000700000070000000700000007000000777000000700000000000000
77000000777000007700000077000000070000007700000077000000070000007700000077000000000000007000000000700000000000007000000070000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
07070000007700000770000000770000077000000077000007770000007700000707000007770000077700000707000007000000077700000770000007700000
07070000070700000707000007000000070700000770000007700000070000000707000000700000007000000770000007000000077700000707000070070000
70000000077000007070000070000000700700007000000070000000707000007770000007000000007000007070000070000000700700007007000070700000
07700000707000007770000007700000777000000770000070000000777000007070000077700000770000007070000007700000707000007070000007000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000770000070000000007700000070000000000000
00770000007700000770000000770000077700000707000007070000070700000707000007070000077700000700000007000000000700000707000000000000
07070000070700000707000007000000007000000707000007070000070700000070000007070000000700000700000007000000000700000000000000000000
07700000777000000770000000700000070000007070000007700000777000000700000000700000070000007000000007000000007000000000000007770000
70000000007700007070000077000000070000000770000007000000777000007070000077000000777000007700000000700000077000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
07000000007700000770000000770000077000000077000000770000007700000707000007770000077700000707000000700000077700000770000000700000
00700000070700000707000007000000070700000700000007000000070000000707000000700000000700000707000007000000077700000707000007070000
00000000077700007770000070000000070700000770000007700000070700007770000007000000007000000770000007000000700700007007000070070000
00000000700700007070000070000000707000007000000070000000700700007070000007000000707000007070000070000000707000007070000070700000
00000000707000007700000007700000777000007770000070000000777000007070000077700000770000007077000077700000707000007070000007000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00770000077000000770000000770000077700000707000007070000070700000707000000070000077700000077000000700000077000000000000000700000
07070000700700000707000007000000007000007007000007070000070700000070000007070000000700000070000000700000007000000007000007070000
07700000707000000770000000700000070000007070000007700000707000000700000007700000007000007700000007000000007700000770000000700000
70000000077000007070000000070000070000007070000007700000777000007070000000700000070000000700000007000000070000007000000000000000
70000000007000007070000077700000070000000770000007000000777000007070000077000000777000000770000007000000770000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000077000007707000077070000777700007077000077700000077000000770000007700000700700000000000000000000000000000000000000770000
00000000077000007707000077770000777000000077000077700000770000007700000000770000077000000770000000000000000000000000000007700000
00000000077000000000000077070000077700000770000000770000000000007700000000770000777700007777000000000000777000000000000007700000
00000000000000000000000077770000777700007700000070070000000000007700000000770000077000000770000007700000000000000000000007700000
00000000077000000000000077070000077000007707000077770000000000000770000007700000700700000000000077000000000000000770000077000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
77770000777000007777000077770000770700007777000077000000777700007777000077770000000000000000000000770000000000007700000077770000
77070000077000000077000000770000770700007700000077000000007700007707000070770000077000000770000007700000777700000770000000770000
77070000077000007777000007770000777700007777000077770000007700007777000077770000000000000000000077000000000000000077000007770000
77070000077000007700000000770000000700000077000077070000007700007707000000770000077000000770000007700000777700000770000000000000
77770000777700007777000077770000000700007777000077770000007700007777000000770000000000007700000000770000000000007700000007700000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
07700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
77070000077700007770000007770000777000000777000077770000077700007707000077770000777700007707000077000000777700007770000007770000
77070000770700007777000077000000770700007770000077700000770000007707000007700000077000007770000077000000777700007707000077070000
77000000777700007707000077000000770700007700000077000000770700007777000007700000077000007707000077000000770700007707000077070000
07770000770700007777000007770000777000000777000077000000777700007707000077770000777000007707000007770000770700007707000077700000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000007770000077000000077700000770000000000000
07770000077000007770000007770000777700007707000077070000770700007707000077070000777700007700000007700000007700007707000000000000
77070000770700007707000077000000077000007707000077070000770700000770000077070000007700007700000007700000007700000000000000000000
77770000777000007770000000770000077000007707000077770000777700000770000000770000770000007700000007700000007700000000000000000000
77000000077700007707000077700000077000000777000007700000777700007707000077700000777700007770000000770000077700000000000077700000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
07700000777700007770000007770000777000007777000077770000077700007707000077770000777700007707000077000000777700007770000007770000
00770000770700007707000077000000770700007700000077000000770000007707000007700000077000007770000077000000777700007707000077070000
00000000777700007770000077000000770700007770000077700000770000007777000007700000077000007707000077000000770700007707000077070000
00000000770700007707000077000000770700007700000077000000770700007707000007700000077000007707000077000000770700007707000077070000
00000000770700007777000007770000777700007777000077000000777700007707000077770000770000007707000007770000770700007707000077700000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
77700000077000007770000007770000777700007707000077070000770700007707000077070000777700000777000007700000777000000000000000000000
77070000770700007707000077000000077000007707000077070000770700007707000077070000007700000770000007700000077000000077000007700000
77770000770700007770000077770000077000007707000077070000770700000770000007770000077000007770000007700000077700007777000077070000
77000000777000007707000000770000077000007707000007770000777700007707000000770000770000000770000007700000077000007700000007700000
77000000077700007707000077700000077000000777000000700000777700007707000077700000777700000777000007700000777000000000000000000000
__label__
77777711771117717777777111111111177777117711177177777711177777117711177111111111777777117777771117777711771117717711177111111111
11771111771117717711111111111111771117717711177111771111771117717711771111111111771117717711177177111771771117717771177111111111
11771111771117717711111111111111771117717711177111771111771111117717711111111111771117717711177177111771771117717777177111111111
11771111777777717777771111111111771117717711177111771111771111117777111111111111777777117777771177111771771717717717177111111111
11771111771117717711111111111111771117717711177111771111771111117717711111111111771117717717711177111771777777717717777111111111
11771111771117717711111111111111771177117711177111771111771117717711771111111111771117717711771177111771777177717711777111111111
11771111771117717777777111111111177717711777771177777711177777117711177111111111777777117711177117777711771117717711177111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
77777771177777117711177111111111777777717711177177111771777777111777771111111111177777117711177177777771777777111111111111111111
77111111771117717711177111111111111771117711177177717771771117717711177111111111771117717711177177111111771117711111111111111111
77111111771117711771771111111111111771117711177177777771771117717711111111111111771117717711177177111111771117711111111111111111
77777711771117711177711111111111111771117711177177171771777777111777771111111111771117717711177177777711777777111111111111111111
77111111771117711771771111111111111771117711177177111771771111111111177111111111771117711771771177111111771771111111111111111111
77111111771117717711177111111111111771117711177177111771771111117711177111111111771117711177711177111111771177111111111111111111
77111111177777117711177111111111777711111777771177111771771111111777771111111111177777111117111177777771771117711111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
77777711771117717777777111111111771111111177711177777771771117711111111177777111177777111777771111111111111111111111111111111111
11771111771117717711111111111111771111111771771111111771771117711111111177117711771117717711111111111111111111111111111111111111
11771111771117717711111111111111771111117711177111117711771117711111111177111771771117717711111111111111111111111111111111111111
11771111777777717777771111111111771111117711177111777111177777711111111177111771771117717711777111111111111111111111111111111111
11771111771117717711111111111111771111117777777117711111111117711111111177111771771117717711177111111111111111111111111111111111
11771111771117717711111111111111771111117711177177111111111117711111111177117711771117717711177111771111111111111111111111111111
11771111771117717777777111111111777777717711177177777771777777111111111177777111177777111777777111771111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11771111771111111111111111111111111111111111111111111111111111117711111111111111771111111111111111111111111111111111111111111111
11771111771111111111111111111111111111111111111111177111111111117711111111111111771111111111111111111111111111111111111111111111
17777711777777111777771111111111177777717711177111111111177777117711771111111111777777111777771117777711771117717777771111111111
11771111771117717711177111111111771117717711177111777111771117717717711111111111771117717711177177111771771117717711177111111111
11771111771117717777777111111111771117717711177111177111771111117777111111111111771117717711111177111771771717717711177111111111
11771111771117717711111111111111177777717711177111177111771117717717711111111111771117717711111177111771777777717711177111111111
11177711771117711777771111111111111117711777777111777711177777117711771111111111777777117711111117777711177177117711177111111111
11111111111111111111111111111111111117711111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11777771111111111111111111111111111177111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
17711111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
17711111177777117711177111111111111777117711177177111771777777111777771111111111177777117711177117777711177777111111111111111111
77777711771117711771771111111111111177117711177177717771771117717711111111111111771117717711177177111771771117711111111111111111
17711111771117711177711111111111111177117711177177777771771117711777771111111111771117711711171177777771771111111111111111111111
17711111771117711771771111111111111177117711177177171771777777111111177111111111771117711771771177111111771111111111111111111111
17711111177777117711177111111111771177111777777177111771771111111777771111111111177777111177711117777711771111111111111111111111
11111111111111111111111111111111177771111111111111111111771111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11771111771111111111111111111111117711111111111111111111111111111111111111111771111111111111111117777111111111111111111111111111
11771111771111111111111111111111117711111111111111111111111111111111111111111771111111111111111177117711111111111111111111111111
17777711777777111777771111111111117711111777771177777771771117711111111117777771177777111777777111117711111111111111111111111111
11771111771117717711177111111111117711111111177111117771771117711111111177111771771117717711177111177111111111111111111111111111
11771111771117717777777111111111117711111777777111777111771117711111111177111771771117717711177111771111111111111111111111111111
11771111771117717711111111111111117711117711177177711111177777711111111177111771771117711777777111111111111111111111111111111111
11177711771117711777771111111111111777111777777177777771111117711111111117777771177777111111177111771111111111111111111111111111
11111111111111111111111111111111111111111111111111111111177777111111111111111111111111111777771111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
17777711111771117777771177777711771177117777777117777711777777711777771117777711111111111111111111111111111111111111171111111111
77111771117771111111177111111771771177117711111177111111111117717711177177111771111111111177111111111111177177111111771111111111
77117771111771111111177111111771771177117711111177111111111177117711177177111771111111111177111111111111117771111117711111111111
77171771111771111777771111777711177777717777771177777711111771111777771117777771111111117777771117777711777777711177111111111111
77711771111771117711111111111771111177111111177177111771117711117711177111111771111111111177111111111111117771111771111111111111
77111771111771117711111111111771111177111111177177111771117711117711177111111771111111111177111111111111177177117711111111111111
17777711117777117777777177777711111177117777771117777711117711111777771117777711111111111111111111111111111111117111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
77777771717171717111117117777711711171111171111111777111171117111717171111777111111711111777771117777711111111111111111111111111
77777771171717117711177177111771117111711177111117711711777177711177711111777111117771117771177177777771111111111111111111111111
77777771717171717777777177111771711171111177777177777171777777711771771117777711177777117711177171777171111111111111111111111111
77777771171717117177717177717771117111711777771177777171777777717771777171777171777777717771177171777171111111111111111111111111
77777771717171717177717117777711711171117777711177777771177777111771771111777111177777111777771177777771111111111111111111111111
77777771171717117771777171111171117111711117711117777711117771111177711111717111171717117111117177111771111111111111111111111111
77777771717171711777771117777711711171111111711111777111111711111717171111717111171777111777771117777711111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11177111177777111117111111111111177777111117111177777771177777111111111171117111177777117777777171717171111111111111111111111111
11177771771117711171711111111111771177711177711117111711777177711717111117171711771717711111111171717171111111111111111111111111
11171111771717711717171111111111771117717777777111717111771117711171111111711171777177717777777171717171111111111111111111111111
11171111771117717177717171717171771177711177711111171111771117711111111111111111771717711111111171717171111111111111111111111111
11171111177777111717171111111111177777111771771111717111177777111111717171117111177777117777777171717171111111111111111111111111
77771111711111711171711111111111711111711711171117111711711111711111171117171711711111711111111171717171111111111111111111111111
77711111177777111117111111111111177777111111111177777771177777111111111111711171177777117777777171717171111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
1111dd111dd1dd11ddd1ddd1ddd1ddd1ddd111111dd11dd1ddd1ddd1ddd1dd111111ddd11dd111111dd1d111ddd1ddd1ddd11dd1ddd1ddd1dd111dd111111111
1111d111d111d1d11d11d1d1d1d1d1111d111111d111d1d1d1d11d11d111d1d111111d11d1d11111d111d1111d11d1d1d1d1d1d1d1d1d1d1d1d111d111111111
1111d111ddd1d1d11d11ddd1ddd1dd111d111111d111d1d1ddd11d11dd11d1d111111d11d1d11111d111d1111d11ddd1dd11d1d1ddd1dd11d1d111d111111111
1111d11111d1d1d11d11d111d111d1111d111111d111d1d1d1111d11d111d1d111111d11d1d11111d111d1111d11d111d1d1d1d1d1d1d1d1d1d111d111111111
1111dd11dd11d1d1ddd1d111d111ddd11d1111111dd1dd11d111ddd1ddd1ddd111111d11dd1111111dd1ddd1ddd1d111ddd1dd11d1d1d1d1ddd11dd111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
__map__
0405060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0707070707000000000707070000000000070507000000000005020500000000000500050000000000050505000000000406070604000000010307030100000007010101000000000004040407000000050702070200000000000200000000000000000000070e0000000000000303000b0b0000000000000205020000000000
000000000000000004040200010000000a050000000000000a0e0a07050000000c060c07020000000a0806010500000006060c05070000000402000000000000080402020400000002040402010000000a040f020500000000040e0400000000000000040200000000000e000000000000000000040000000804040201000000
0c0a0905030000000c080402070000000c080601030000000c080604030000000a090704020000000e020704030000000c020605030000000e080402020000000c0a0605030000000c0a060403000000000400020000000000040002010000000804020204000000000e00070000000002040402010000000e08040001000000
040a0a0106000000000c0a060500000000060a0507000000000c02010600000000060a0907000000000c060106000000000e060101000000000c020507000000000a0a0705000000000e040207000000000e040403000000000a0605050000000002020106000000000e0e090500000000060a09050000000006090502000000
000c0a0601000000000c0a070c00000000060a0605000000000c020403000000000e040202000000000a0a0506000000000a0a0602000000000a0a0707000000000a040205000000000a0a0403000000000e080207000000060202010300000001020202040000000c08080406000000040a0000000000000000000e00000000
02040000000000000c0a0e0905000000060a0705030000000c02010106000000060a0a05070000000c020601070000000c020601010000000c020a09070000000a0a0705050000000e040202070000000e080405030000000a0a06050d00000004020201070000000e0e090505000000060a090505000000040a090502000000
0c0a0601010000000609050604000000060a0605050000000c020408070000000e040202020000000a090505060000000a0a0606020000000a0a0507070000000a04020505000000080a0604030000000e080402070000000c04030206000000040402020200000006040c02030000000008060100000000040a040000000000
000000000000000006060600060000000b0b0000000000000b0f0b0f0b0000000f070e0f060000000d0c06030b00000007070c090f00000006030000000000000603030306000000060c0c0c0600000009060f060900000000060f06000000000000000603000000000007000000000000000000060000000c06060603000000
0f0b0b0b0f000000070606060f0000000f0c0f030f0000000f0c0e0c0f0000000b0b0f08080000000f030f0c0f00000003030f0b0f0000000f0c0c0c0c0000000f0b0f0b0f0000000f0d0f0c0c000000000600060000000000060006030000000c0603060c000000000f000f0000000003060c06030000000f0c0e0006000000
060b0b030e000000000e0b0f0b00000000070f0b0f000000000e03030e00000000070b0b07000000000e07030e000000000f070303000000000e030b0f000000000b0b0f0b000000000f06060f000000000f060607000000000b070b0b000000000303030e000000000f0f0b0b00000000070b0b0b000000000e0b0b07000000
000e0b0f0300000000060b070e00000000070b070b000000000e030c07000000000f060606000000000b0b0b0e000000000b0b0f06000000000b0b0f0f000000000b06060b000000000b0b0c07000000000f0c030f0000000703030307000000030606060c0000000e0c0c0c0e000000060b0000000000000000000007000000
060c0000000000000f0b0f0b0b000000070b070b0f0000000e0303030e000000070b0b0b0f0000000f0307030f0000000f030703030000000e03030b0f0000000b0b0f0b0b0000000f0606060f0000000f060606030000000b070b0b0b000000030303030e0000000f0f0b0b0b000000070b0b0b0b0000000e0b0b0b07000000
070b0f0303000000060b0b070e000000070b070b0b0000000e030f0c070000000f060606060000000b0b0b0b0e0000000b0b0b0e040000000b0b0b0f0f0000000b0b060b0b0000000b0b0e0c070000000f0c06030f0000000e0607060e000000060606060600000007060e0607000000000c0f030000000000060b0600000000