home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hall of Fame
/
HallofFameCDROM.cdr
/
wp3
/
psfntgen.lzh
/
MAKEFONT.DAT
next >
Wrap
Text File
|
1980-01-01
|
141KB
|
6,985 lines
1
99
100
0
0
Text
No
No
No
No
No
No
No
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
No
No
No
No
No
No
No
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
\040
space
\041
exclam
\042
quotedbl
\043
numbersign
\044
dollar
\045
percent
\046
ampersand
\047
quoteright
\050
parenleft
\051
parenright
\052
asterisk
\053
plus
\054
comma
\055
hyphen
\056
period
\057
slash
\060
zero
\061
one
\062
two
\063
three
\064
four
\065
five
\066
six
\067
seven
\070
eight
\071
nine
\072
colon
\073
semicolon
\074
less
\075
equal
\076
greater
\077
question
\100
at
\101
A
\102
B
\103
C
\104
D
\105
E
\106
F
\107
G
\110
H
\111
I
\112
J
\113
K
\114
L
\115
M
\116
N
\117
O
\120
P
\121
Q
\122
R
\123
S
\124
T
\125
U
\126
V
\127
W
\130
X
\131
Y
\132
Z
\133
bracketleft
\134
backslash
\135
bracketright
\136
asciicircum
\137
underscore
\140
quoteleft
\141
a
\142
b
\143
c
\144
d
\145
e
\146
f
\147
g
\150
h
\151
i
\152
j
\153
k
\154
l
\155
m
\156
n
\157
o
\160
p
\161
q
\162
r
\163
s
\164
t
\165
u
\166
v
\167
w
\170
x
\171
y
\172
z
\173
braceleft
\174
bar
\175
braceright
\176
asciitilde
\200
Ccedilla
\201
udieresis
\202
Eacute
\203
acircumflex
\204
adieresis
\205
agrave
\206
aring
\207
ccedilla
\210
ecircumflex
\211
edieresis
\212
egrave
\213
idieresis
\214
icircumflex
\215
igrave
\216
Adieresis
\217
Aring
\220
eacute
\221
ae
\222
AE
\223
ocircumflex
\224
odieresis
\225
ograve
\226
ucircumflex
\227
ugrave
\230
ydieresis
\231
Odieresis
\232
Udieresis
\233
cent
\234
sterling
\235
yen
\236
currency
\237
florin
\240
aacute
\241
iacute
\242
oacute
\243
uacute
\244
ntilde
\245
Ntilde
\246
ordfeminine
\247
ordmasculine
\250
questiondown
\251
quotedblleft
\252
quotedblright
\253
guilsinglleft
\254
guilsinglright
\255
exclamdown
\256
guillemotleft
\257
guillemotright
\260
atilde
\261
otilde
\262
Oslash
\263
oslash
\264
oe
\265
OE
\266
Agrave
\267
Atilde
\270
Otilde
\271
section
\272
daggerdbl
\273
dagger
\274
paragraph
\300
quotedblbase
\301
ellipsis
\302
perthousand
\303
bullet
\304
endash
\305
emdash
\306
ring
\307
Aacute
\310
Acircumflex
\311
Egrave
\312
Ecircumflex
\313
Edieresis
\314
Igrave
\315
Iacute
\316
Icircumflex
\317
Idieresis
\320
Ograve
\321
Oacute
\322
Ocircumflex
\323
Scaron
\324
scaron
\325
Ugrave
\326
Uacute
\327
Ucircumflex
\330
Ydieresis
\331
germandbls
\332
Zcaron
\333
zcaron
\334
fraction
\335
space
\336
space
\337
space
\340
grave
\341
acute
\342
circumflex
\343
tilde
\344
dieresis
\345
ring
\346
cedilla
\347
caron
\275
copyright
\276
registered
\277
trademark
/dbmoveover {dropXB 10 mul dropYB 10 mul moveto} def
/dcmoveover {dropXC 10 mul dropYC 10 mul moveto} def
/ddmoveover {dropXD 10 mul dropYD 10 mul moveto} def
/demoveover {dropXE 10 mul dropYE 10 mul moveto} def
/dfmoveover {dropXF 10 mul dropYF 10 mul moveto} def
/dgmoveover {dropXG 10 mul dropYG 10 mul moveto} def
%
%descriptions
%
/scA {newpath 0 0 moveto ft rb gsave rcA} def
/fsA {slA 0 setflat false charpath 1 perlineA sub setgray stroke grestore} def
/sctwoA {gsave newpath 0 0 moveto ft rb gsave rcA} def
/fstwoA {sltwoA 0 setflat false charpath 1 perlinetwoA sub setgray stroke
grestore grestore} def
/flA {gsave newpath 0 0 moveto ft rb gsave rcA 1 pershadeA sub setgray} def
/ffA {show grestore grestore} def
/glA {gsave 0 0 translate newpath 0 0 moveto ft rb gsave rcA}def
/fgA {true charpath clip doscreen gradbottom grestore grestore} def
/scB {newpath dbmoveover ft rb gsave rcB} def
/fsB {slB 0 setflat false charpath 1 perlineB sub setgray stroke grestore} def
/sctwoB {gsave newpath dbmoveover ft rb gsave rcB} def
/fstwoB {sltwoB 0 setflat false charpath 1 perlinetwoB sub setgray stroke
grestore grestore} def
/flB {gsave newpath dbmoveover ft rb gsave rcB 1 pershadeB sub setgray} def
/ffB {show grestore grestore} def
/glB {gsave 0 0 translate newpath dbmoveover ft rb gsave rcB}def
/fgB {true charpath clip doscreen gradbottom grestore grestore} def
/scC {newpath dcmoveover ft rb gsave rcC} def
/fsC {slC 0 setflat false charpath 1 perlineC sub setgray stroke grestore} def
/sctwoC {gsave newpath dcmoveover ft rb gsave rcC} def
/fstwoC {sltwoC 0 setflat false charpath 1 perlinetwoC sub setgray stroke
grestore grestore} def
/flC {gsave newpath dcmoveover ft rb gsave rcC 1 pershadeC sub setgray} def
/ffC {show grestore grestore} def
/glC {gsave 0 0 translate newpath dcmoveover ft rb gsave rcC}def
/fgC {true charpath clip doscreen gradbottom grestore grestore} def
/scD {newpath ddmoveover ft rb gsave rcD} def
/fsD {slD 0 setflat false charpath 1 perlineD sub setgray stroke grestore} def
/sctwoD {gsave newpath ddmoveover ft rb gsave rcD} def
/fstwoD {sltwoD 0 setflat false charpath 1 perlinetwoD sub setgray stroke
grestore grestore} def
/flD {gsave newpath ddmoveover ft rb gsave rcD 1 pershadeD sub setgray} def
/ffD {show grestore grestore} def
/glD {gsave 0 0 translate newpath ddmoveover ft rb gsave rcD}def
/fgD {true charpath clip doscreen gradbottom grestore grestore} def
/scE {newpath demoveover ft rb gsave rcE} def
/fsE {slE 0 setflat false charpath 1 perlineE sub setgray stroke grestore} def
/sctwoE {gsave newpath demoveover ft rb gsave rcE} def
/fstwoE {sltwoE 0 setflat false charpath 1 perlinetwoE sub setgray stroke
grestore grestore} def
/flE {gsave newpath demoveover ft rb gsave rcE 1 pershadeE sub setgray} def
/ffE {show grestore grestore} def
/glE {gsave 0 0 translate newpath demoveover ft rb gsave rcE}def
/fgE {true charpath clip doscreen gradbottom grestore grestore} def
/scF {newpath dfmoveover ft rb gsave rcF} def
/fsF {slF 0 setflat false charpath 1 perlineF sub setgray stroke grestore} def
/sctwoF {gsave newpath dfmoveover ft rb gsave rcF} def
/fstwoF {sltwoF 0 setflat false charpath 1 perlinetwoF sub setgray stroke
grestore grestore} def
/flF {gsave newpath dfmoveover ft rb gsave rcF 1 pershadeF sub setgray} def
/ffF {show grestore grestore} def
/glF {gsave 0 0 translate newpath dfmoveover ft rb gsave rcF}def
/fgF {true charpath clip doscreen gradbottom grestore grestore} def
/scG {newpath dgmoveover ft rb gsave rcG} def
/fsG {slG 0 setflat false charpath 1 perlineG sub setgray stroke grestore} def
/sctwoG {gsave newpath dgmoveover ft rb gsave rcG} def
/fstwoG {sltwoG 0 setflat false charpath 1 perlinetwoG sub setgray stroke
grestore grestore} def
/flG {gsave newpath dgmoveover ft rb gsave rcG 1 pershadeG sub setgray} def
/ffG {show grestore grestore} def
/glG {gsave 0 0 translate newpath dgmoveover ft rb gsave rcG}def
/fgG {true charpath clip doscreen gradbottom grestore grestore} def
/swps {stringwidth pop 0 setcharwidth} def
/IM {gsave translate scale rotate image grestore}bind def
/doscreen {/DataString 256 string def
0 1 255 {DataString exch dup put } bind for 1 256 8 [1 0 0 256 0 0]{DataString}
} def
/gxxa {gxa gxc abs add} def
/gxxb {gxb gxd abs add}def
/gradbottom {0 gxxb gxxa gxd gxc IM} def
end
/newpsfont 500 dict def
newpsfont begin
/FontType 3 def
/FontMatrix [Expandcond .00001 mul 0 Skew sin Skew cos div .001 mul .001 0 0] def
/FontBBox [0 0 0 0] def
/Encoding 256 array def
0 1 255 {Encoding exch /.notdef put} for
Encoding 8#040 /space put
Encoding 8#041 /exclam put
Encoding 8#042 /quotedbl put
Encoding 8#043 /numbersign put
Encoding 8#044 /dollar put
Encoding 8#045 /percent put
Encoding 8#046 /ampersand put
Encoding 8#047 /quoteright put
Encoding 8#050 /parenleft put
Encoding 8#051 /parenright put
Encoding 8#052 /asterisk put
Encoding 8#053 /plus put
Encoding 8#054 /comma put
Encoding 8#055 /hyphen put
Encoding 8#056 /period put
Encoding 8#057 /slash put
Encoding 8#060 /zero put
Encoding 8#061 /one put
Encoding 8#062 /two put
Encoding 8#063 /three put
Encoding 8#064 /four put
Encoding 8#065 /five put
Encoding 8#066 /six put
Encoding 8#067 /seven put
Encoding 8#070 /eight put
Encoding 8#071 /nine put
Encoding 8#072 /colon put
Encoding 8#073 /semicolon put
Encoding 8#074 /less put
Encoding 8#075 /equal put
Encoding 8#076 /greater put
Encoding 8#077 /question put
Encoding 8#100 /at put
Encoding 8#101 /A put
Encoding 8#102 /B put
Encoding 8#103 /C put
Encoding 8#104 /D put
Encoding 8#105 /E put
Encoding 8#106 /F put
Encoding 8#107 /G put
Encoding 8#110 /H put
Encoding 8#111 /I put
Encoding 8#112 /J put
Encoding 8#113 /K put
Encoding 8#114 /L put
Encoding 8#115 /M put
Encoding 8#116 /N put
Encoding 8#117 /O put
Encoding 8#120 /P put
Encoding 8#121 /Q put
Encoding 8#122 /R put
Encoding 8#123 /S put
Encoding 8#124 /T put
Encoding 8#125 /U put
Encoding 8#126 /V put
Encoding 8#127 /W put
Encoding 8#130 /X put
Encoding 8#131 /Y put
Encoding 8#132 /Z put
Encoding 8#133 /bracketleft put
Encoding 8#134 /backslash put
Encoding 8#135 /bracketright put
Encoding 8#136 /asciicircum put
Encoding 8#137 /underscore put
Encoding 8#140 /quoteleft put
Encoding 8#141 /a put
Encoding 8#142 /b put
Encoding 8#143 /c put
Encoding 8#144 /d put
Encoding 8#145 /e put
Encoding 8#146 /f put
Encoding 8#147 /g put
Encoding 8#150 /h put
Encoding 8#151 /i put
Encoding 8#152 /j put
Encoding 8#153 /k put
Encoding 8#154 /l put
Encoding 8#155 /m put
Encoding 8#156 /n put
Encoding 8#157 /o put
Encoding 8#160 /p put
Encoding 8#161 /q put
Encoding 8#162 /r put
Encoding 8#163 /s put
Encoding 8#164 /t put
Encoding 8#165 /u put
Encoding 8#166 /v put
Encoding 8#167 /w put
Encoding 8#170 /x put
Encoding 8#171 /y put
Encoding 8#172 /z put
Encoding 8#173 /braceleft put
Encoding 8#174 /bar put
Encoding 8#175 /braceright put
Encoding 8#176 /asciitilde put
Encoding 8#200 /Ccedilla put
Encoding 8#201 /udieresis put
Encoding 8#202 /Eacute put
Encoding 8#203 /acircumflex put
Encoding 8#204 /adieresis put
Encoding 8#205 /agrave put
Encoding 8#206 /aring put
Encoding 8#207 /ccedilla put
Encoding 8#210 /ecircumflex put
Encoding 8#211 /edieresis put
Encoding 8#212 /egrave put
Encoding 8#213 /idieresis put
Encoding 8#214 /icircumflex put
Encoding 8#215 /igrave put
Encoding 8#216 /Adieresis put
Encoding 8#217 /Aring put
Encoding 8#220 /eacute put
Encoding 8#221 /ae put
Encoding 8#222 /AE put
Encoding 8#223 /ocircumflex put
Encoding 8#224 /odieresis put
Encoding 8#225 /ograve put
Encoding 8#226 /ucircumflex put
Encoding 8#227 /ugrave put
Encoding 8#230 /ydieresis put
Encoding 8#231 /Odieresis put
Encoding 8#232 /Udieresis put
Encoding 8#233 /cent put
Encoding 8#234 /sterling put
Encoding 8#235 /yen put
Encoding 8#236 /currency put
Encoding 8#237 /florin put
Encoding 8#240 /aacute put
Encoding 8#241 /iacute put
Encoding 8#242 /oacute put
Encoding 8#243 /uacute put
Encoding 8#244 /ntilde put
Encoding 8#245 /Ntilde put
Encoding 8#246 /ordfeminine put
Encoding 8#247 /ordmasculine put
Encoding 8#250 /questiondown put
Encoding 8#251 /quotedblleft put
Encoding 8#252 /quotedblright put
Encoding 8#253 /guilsinglleft put
Encoding 8#254 /guilsinglright put
Encoding 8#255 /exclamdown put
Encoding 8#256 /guillemotleft put
Encoding 8#257 /guillemotright put
Encoding 8#260 /atilde put
Encoding 8#261 /otilde put
Encoding 8#262 /Oslash put
Encoding 8#263 /oslash put
Encoding 8#264 /oe put
Encoding 8#265 /OE put
Encoding 8#266 /Agrave put
Encoding 8#267 /Atilde put
Encoding 8#270 /Otilde put
Encoding 8#271 /section put
Encoding 8#272 /daggerdbl put
Encoding 8#273 /dagger put
Encoding 8#274 /paragraph put
Encoding 8#300 /quotedblbase put
Encoding 8#301 /ellipsis put
Encoding 8#302 /perthousand put
Encoding 8#303 /bullet put
Encoding 8#304 /endash put
Encoding 8#305 /emdash put
Encoding 8#306 /ring put
Encoding 8#307 /Aacute put
Encoding 8#310 /Acircumflex put
Encoding 8#311 /Egrave put
Encoding 8#312 /Ecircumflex put
Encoding 8#313 /Edieresis put
Encoding 8#314 /Igrave put
Encoding 8#315 /Iacute put
Encoding 8#316 /Icircumflex put
Encoding 8#317 /Idieresis put
Encoding 8#320 /Ograve put
Encoding 8#321 /Oacute put
Encoding 8#322 /Ocircumflex put
Encoding 8#323 /Scaron put
Encoding 8#324 /scaron put
Encoding 8#325 /Ugrave put
Encoding 8#326 /Uacute put
Encoding 8#327 /Ucircumflex put
Encoding 8#330 /Ydieresis put
Encoding 8#331 /germandbls put
Encoding 8#332 /Zcaron put
Encoding 8#333 /zcaron put
Encoding 8#334 /fraction put
Encoding 8#335 /space put
Encoding 8#336 /space put
Encoding 8#337 /space put
Encoding 8#340 /grave put
Encoding 8#341 /acute put
Encoding 8#342 /circumflex put
Encoding 8#343 /tilde put
Encoding 8#344 /dieresis put
Encoding 8#345 /ring put
Encoding 8#346 /cedilla put
Encoding 8#347 /caron put
version(23.0)eq {Encoding 8#275 /space put} {Encoding 8#275 /copyright put} ifelse
version(23.0)eq {Encoding 8#276 /space put} {Encoding 8#276/registered put} ifelse
version(23.0)eq {Encoding 8#277 /space put} {Encoding 8#277 /trademark put} ifelse
/CharProcs 200 dict def
CharProcs begin
/.notdef{} def
277
295
309
720
554
775
757
351
369
369
425
606
277
332
277
437
554
554
554
554
554
554
554
554
554
554
277
277
606
606
606
591
867
740
574
813
744
536
485
872
683
226
482
591
462
919
740
869
592
871
607
498
426
655
702
960
609
592
480
351
605
351
672
500
351
683
682
647
685
650
314
673
610
200
203
502
200
938
610
655
682
682
301
388
339
608
554
831
480
536
425
351
672
351
606
277
813
608
650
683
683
683
683
647
650
650
650
200
200
200
740
740
536
1157
992
655
655
655
608
608
536
869
655
554
554
554
554
554
683
200
655
608
610
740
369
369
591
502
484
251
251
295
425
425
683
655
868
653
1137
1194
740
740
869
615
553
553
564
790
790
890
502
1000
1174
606
500
1000
400
740
740
536
536
536
226
226
226
226
869
869
869
498
388
655
655
655
592
554
277
277
277
277
277
277
277
295
309
720
554
775
757
351
369
369
425
606
277
332
277
437
554
554
554
554
554
554
554
554
554
554
277
277
606
606
606
591
867
740
574
813
744
536
485
872
683
226
482
591
462
919
740
869
592
871
607
498
426
655
702
960
609
592
480
351
605
351
672
500
351
683
682
647
685
650
314
673
610
200
203
502
200
938
610
655
682
682
301
388
339
608
554
831
480
536
425
351
672
351
606
277
813
608
650
683
683
683
683
647
650
650
650
200
200
200
740
740
536
1157
992
655
655
655
608
608
536
869
655
554
554
554
554
554
683
200
655
608
610
740
369
369
591
502
484
251
251
295
425
425
683
655
868
653
1137
1194
740
740
869
615
553
553
564
790
790
890
502
1000
1174
606
500
1000
400
740
740
536
536
536
226
226
226
226
869
869
869
498
388
655
655
655
592
554
277
277
277
277
277
277
280
280
360
600
560
860
680
280
380
380
440
600
280
420
280
460
560
560
560
560
560
560
560
560
560
560
280
280
600
600
600
560
740
740
580
780
700
520
480
840
680
280
480
620
440
900
740
840
560
840
580
520
420
640
700
900
680
620
500
320
640
320
600
500
280
660
660
640
660
640
280
660
600
240
260
580
240
940
600
640
660
660
320
440
300
600
560
800
560
580
460
340
600
340
600
280
780
600
640
660
660
660
660
640
640
640
640
240
240
240
740
740
520
1080
900
640
640
640
600
600
580
840
640
560
560
560
600
560
660
240
640
600
600
740
360
360
560
480
480
240
240
280
460
460
660
640
840
660
1080
1060
740
740
840
560
560
560
600
790
790
890
480
1000
1280
600
500
1000
400
740
740
520
520
520
280
280
280
280
840
840
840
520
440
640
640
640
620
600
280
280
280
280
280
280
280
280
360
600
560
860
680
280
380
380
440
600
280
420
280
460
560
560
560
560
560
560
560
560
560
560
280
280
600
600
600
560
740
740
580
780
700
520
480
840
680
280
480
620
440
900
740
840
560
840
580
520
420
640
700
900
680
620
500
320
640
320
600
500
280
660
660
640
660
640
280
660
600
240
260
580
240
940
600
640
660
660
320
440
300
600
560
800
560
580
460
340
600
340
600
280
780
600
640
660
660
660
660
640
640
640
640
240
240
240
740
740
520
1080
900
640
640
640
600
600
580
840
640
560
560
560
600
560
660
240
640
600
600
740
360
360
560
480
480
240
240
280
460
460
660
640
840
660
1080
1060
740
740
840
560
560
560
600
790
790
890
480
1000
1280
600
500
1000
400
740
740
520
520
520
280
280
280
280
840
840
840
520
440
640
640
640
620
600
280
280
280
280
280
280
320
300
380
600
620
900
800
220
300
300
440
600
320
400
320
600
620
620
620
620
620
620
620
620
620
620
320
320
600
600
600
540
820
680
740
740
800
720
640
800
800
340
600
720
600
920
740
800
620
820
720
660
620
780
700
960
720
640
640
300
600
300
600
500
220
580
620
520
620
520
320
540
660
300
300
620
300
940
660
560
620
580
440
520
380
680
520
780
560
540
480
280
600
280
600
320
740
680
520
580
580
580
580
520
520
520
520
300
300
300
680
680
720
860
1260
560
560
560
680
680
540
800
780
620
620
620
600
620
580
300
560
680
660
740
420
420
540
400
400
240
240
300
360
360
580
560
800
560
900
1240
680
680
800
520
540
540
600
790
790
890
400
1000
1280
460
500
1000
400
680
680
720
720
720
340
340
340
340
800
800
800
660
520
780
780
780
640
660
320
320
320
320
320
320
300
320
360
600
620
800
820
280
280
280
440
600
300
320
300
600
620
620
620
620
620
620
620
620
620
620
300
300
600
600
600
540
780
700
720
720
740
680
620
760
800
320
560
720
580
860
720
760
600
780
700
640
600
720
680
960
700
660
580
260
600
260
600
500
280
620
600
480
640
540
340
560
620
280
280
600
280
880
620
540
600
560
400
540
340
620
540
880
540
600
520
360
600
380
600
300
720
620
540
620
620
620
620
480
540
540
540
280
280
280
700
700
680
880
1220
540
540
540
620
620
600
760
720
620
620
620
600
620
620
280
540
620
620
720
440
400
540
440
440
180
180
320
300
300
620
540
760
540
900
1180
700
700
760
620
620
620
620
790
790
890
480
1000
1180
460
500
1000
400
700
700
680
680
680
320
320
320
320
760
760
760
640
540
720
720
720
660
620
300
300
300
300
300
300
340
360
420
600
660
940
800
320
320
320
460
600
340
360
340
600
660
660
660
660
660
660
660
660
660
660
340
340
600
600
600
660
820
720
720
740
780
720
680
780
820
400
640
800
640
940
740
800
660
800
780
660
700
740
720
940
780
700
640
300
600
300
600
500
320
580
600
580
640
580
380
580
680
360
340
660
340
1000
680
620
640
620
460
520
460
660
600
800
600
620
560
320
600
320
600
340
740
660
580
580
580
580
580
580
580
580
580
360
360
360
720
720
720
880
1140
620
620
620
660
660
620
800
740
660
660
660
600
660
580
360
620
660
680
740
400
400
660
540
540
220
220
360
400
400
580
620
800
620
940
1220
720
720
800
600
380
440
800
790
790
890
540
1000
1360
460
500
1000
400
720
720
720
720
720
400
400
400
400
800
800
800
660
520
740
740
740
700
660
340
340
340
340
340
340
340
320
380
600
680
880
980
320
260
260
460
600
340
280
340
360
680
680
680
680
680
680
680
680
680
680
340
340
620
600
620
620
780
720
720
700
760
720
660
760
800
380
620
780
640
860
740
760
640
760
740
700
700
740
660
1000
740
660
680
260
580
260
620
500
320
680
600
560
680
560
420
620
700
380
320
700
380
960
680
600
660
620
500
540
440
680
540
860
620
600
560
300
620
300
620
340
700
680
560
680
680
680
680
560
560
560
560
380
380
380
720
720
720
880
1140
600
600
600
680
680
600
760
740
680
680
680
680
680
680
380
600
680
680
740
440
440
620
520
520
220
220
320
380
380
680
600
760
600
920
1180
720
720
760
620
420
420
680
790
790
890
520
1000
1360
360
500
1000
400
720
720
720
720
720
380
380
380
380
760
760
760
700
540
740
740
740
660
660
340
340
340
340
340
340
278
296
389
556
556
833
815
204
333
333
500
606
278
333
278
278
556
556
556
556
556
556
556
556
556
556
278
278
606
606
606
444
737
722
722
722
778
722
667
778
833
407
556
778
667
944
815
778
667
778
722
630
667
815
722
981
704
704
611
333
606
333
606
500
204
556
556
444
574
500
333
537
611
315
296
593
315
889
611
500
574
556
444
463
389
611
537
778
537
537
481
333
606
333
606
278
722
611
500
556
556
556
556
444
500
500
500
315
315
315
722
722
722
796
1000
500
500
500
611
611
537
778
815
556
556
704
606
556
556
315
500
611
611
815
334
300
444
389
389
259
259
296
426
426
556
500
778
500
833
1000
722
722
778
500
500
500
606
790
790
890
389
1000
1000
606
556
1000
400
722
722
722
722
722
407
407
407
407
778
778
778
630
463
815
815
815
704
574
278
278
278
278
278
278
278
333
400
606
556
833
852
204
333
333
500
606
278
333
278
606
556
556
556
556
556
556
556
556
556
556
278
278
606
606
606
444
747
704
722
722
778
722
667
778
833
407
611
741
667
944
815
778
667
778
741
667
685
815
704
926
704
685
667
333
606
333
606
500
204
574
556
444
611
444
333
537
611
333
315
556
333
889
611
500
574
556
444
444
352
611
519
778
500
500
463
333
606
333
606
278
722
611
444
574
574
574
574
444
444
444
444
333
333
333
704
704
722
722
870
500
500
500
611
611
500
778
815
556
556
556
606
556
574
333
500
611
611
815
422
372
444
389
389
333
333
333
426
426
574
500
778
500
778
981
704
704
778
500
500
500
650
790
790
890
389
1000
1000
606
500
1000
400
704
704
722
722
722
407
407
407
407
778
778
778
667
444
815
815
815
685
556
278
278
278
278
278
278
287
296
333
574
574
833
852
241
389
389
500
606
278
333
278
278
574
463
574
574
574
574
574
574
574
574
278
278
606
606
606
500
747
759
778
778
833
759
722
833
870
444
648
815
722
981
833
833
759
833
815
667
722
833
759
981
722
722
667
389
606
389
606
500
241
611
648
556
667
574
389
611
685
370
352
667
352
963
685
611
667
648
519
500
426
685
611
889
611
611
537
389
606
389
606
287
778
685
574
611
611
611
611
556
574
574
574
370
370
370
759
759
759
870
981
611
611
611
685
685
611
833
833
574
574
722
606
574
611
370
611
685
685
833
367
367
500
481
481
333
333
296
500
500
611
611
833
611
907
1000
759
759
833
500
500
500
747
790
790
890
481
1000
1000
606
500
1000
400
759
759
759
759
759
444
444
444
444
833
833
833
667
500
833
833
833
722
611
287
287
287
287
287
287
287
333
400
606
574
889
889
259
407
407
500
606
287
333
287
278
574
574
574
574
574
574
574
574
574
574
287
287
606
606
606
481
747
741
759
759
833
741
704
815
870
444
667
778
704
944
852
833
741
833
796
685
722
833
741
944
741
704
704
407
606
407
606
500
259
667
611
537
667
519
389
611
685
389
370
648
389
944
685
574
648
630
519
481
407
685
556
833
574
519
519
407
606
407
606
287
759
685
519
667
667
667
667
537
519
519
519
389
389
389
741
741
741
815
889
574
574
574
685
685
519
833
833
574
574
574
574
574
667
389
574
685
685
852
412
356
481
481
481
278
278
333
481
481
667
574
833
574
852
963
741
741
833
500
500
500
650
790
790
890
481
1000
1167
606
500
1000
400
741
741
741
741
741
444
444
444
444
833
833
833
685
481
833
833
833
704
574
287
287
287
287
287
287
278
278
355
556
556
889
667
222
333
333
389
584
278
333
278
278
556
556
556
556
556
556
556
556
556
556
278
278
584
584
584
556
1015
667
667
722
722
667
611
778
722
278
500
667
556
833
722
778
667
778
722
667
611
722
667
944
667
667
611
278
278
278
469
556
222
556
556
500
556
556
278
556
556
222
222
500
222
833
556
556
556
556
333
500
278
556
500
722
500
500
500
334
260
334
584
278
722
556
556
556
556
556
556
500
556
556
556
278
278
278
667
667
667
889
1000
556
556
556
556
556
500
778
722
556
556
556
556
556
556
278
556
556
556
722
370
365
611
333
333
333
333
333
556
556
556
556
778
611
944
1000
667
667
778
556
556
556
537
790
790
786
333
1000
1000
350
556
1000
400
667
667
667
667
667
278
278
278
278
778
778
778
667
500
722
722
722
667
611
278
278
278
278
278
278
278
278
355
556
556
889
667
222
333
333
389
584
278
333
278
278
556
556
556
556
556
556
556
556
556
556
278
278
584
584
584
556
1015
667
667
722
722
667
611
778
722
278
500
667
556
833
722
778
667
778
722
667
611
722
667
944
667
667
611
278
278
278
469
556
222
556
556
500
556
556
278
556
556
222
222
500
222
833
556
556
556
556
333
500
278
556
500
722
500
500
500
334
260
334
584
278
722
556
556
556
556
556
556
500
556
556
556
278
278
278
667
667
667
889
1000
556
556
556
556
556
500
778
722
556
556
556
556
556
556
278
556
556
556
722
370
365
611
333
333
333
333
333
556
556
556
556
778
611
944
1000
667
667
778
556
556
556
537
790
790
786
333
1000
1000
350
556
1000
400
667
667
667
667
667
278
278
278
278
778
778
778
667
500
722
722
722
667
611
278
278
278
278
278
278
278
333
474
556
556
889
722
278
333
333
389
584
278
333
278
278
556
556
556
556
556
556
556
556
556
556
333
333
584
584
584
611
975
722
722
722
722
667
611
778
722
278
556
722
611
833
722
778
667
778
722
667
611
722
667
944
667
667
611
333
278
333
584
556
278
556
611
556
611
556
333
611
611
278
278
556
278
889
611
611
611
611
389
556
333
611
556
778
556
556
500
389
280
389
584
278
722
611
556
556
556
556
556
556
556
556
556
278
278
278
722
722
667
889
1000
611
611
611
611
611
556
778
722
556
556
556
556
556
556
278
611
611
611
722
370
365
611
500
500
333
333
333
556
556
556
611
778
611
944
1000
722
722
778
556
556
556
556
790
790
786
500
1000
1000
350
556
1000
400
722
722
667
667
667
278
278
278
278
778
778
778
667
556
722
722
722
667
611
278
278
278
278
278
278
278
333
474
556
556
889
722
278
333
333
389
584
278
333
278
278
556
556
556
556
556
556
556
556
556
556
333
333
584
584
584
611
975
722
722
722
722
667
611
778
722
278
556
722
611
833
722
778
667
778
722
667
611
722
667
944
667
667
611
333
278
333
584
556
278
556
611
556
611
556
333
611
611
278
278
556
278
889
611
611
611
611
389
556
333
611
556
778
556
556
500
389
280
389
584
278
722
611
556
556
556
556
556
556
556
556
556
278
278
278
722
722
667
889
1000
611
611
611
611
611
556
778
722
556
556
556
556
556
556
278
611
611
611
722
370
365
611
500
500
333
333
333
556
556
556
611
778
611
944
1000
722
722
778
556
556
556
556
790
790
786
500
1000
1000
350
556
1000
400
722
722
667
667
667
278
278
278
278
778
778
778
667
556
722
722
722
667
611
278
278
278
278
278
278
228
228
291
456
456
729
547
182
273
273
319
479
228
273
228
228
456
456
456
456
456
456
456
456
456
456
228
228
479
479
479
456
832
547
547
592
592
547
501
638
592
228
410
547
456
683
592
638
547
638
592
547
501
592
547
774
547
547
501
228
228
228
385
456
182
456
456
410
456
456
228
456
456
182
182
410
182
683
456
456
456
456
273
410
228
456
410
592
410
410
410
274
213
274
479
228
592
456
456
456
456
456
456
410
456
456
456
228
228
228
547
547
547
729
820
456
456
456
456
456
410
638
592
456
456
456
456
456
456
228
456
456
456
592
303
299
501
273
273
273
273
273
456
456
456
456
638
501
774
820
547
547
638
456
456
456
440
790
790
890
273
820
820
287
456
820
400
547
547
547
547
547
228
228
228
228
638
638
638
547
410
592
592
592
547
501
228
228
228
228
228
228
228
228
291
456
456
729
547
182
273
273
319
479
228
273
228
228
456
456
456
456
456
456
456
456
456
456
228
228
479
479
479
456
832
547
547
592
592
547
501
638
592
228
410
547
456
683
592
638
547
638
592
547
501
592
547
774
547
547
501
228
228
228
385
456
182
456
456
410
456
456
228
456
456
182
182
410
182
683
456
456
456
456
273
410
228
456
410
592
410
410
410
274
213
274
479
228
592
456
456
456
456
456
456
410
456
456
456
228
228
228
547
547
547
729
820
456
456
456
456
456
410
638
592
456
456
456
456
456
456
228
456
456
456
592
303
299
501
273
273
273
273
273
456
456
456
456
638
501
774
820
547
547
638
456
456
456
440
790
790
890
273
820
820
287
456
820
400
547
547
547
547
547
228
228
228
228
638
638
638
547
410
592
592
592
547
501
228
228
228
228
228
228
228
273
389
456
456
729
592
228
273
273
319
479
228
273
228
228
456
456
456
456
456
456
456
456
456
456
273
273
479
479
479
501
799
592
592
592
592
547
501
638
592
228
456
592
501
683
592
638
547
638
592
547
501
592
547
774
547
547
501
273
228
273
479
456
228
456
501
456
501
456
273
501
501
228
228
456
228
729
501
501
501
501
319
456
273
501
456
638
456
456
410
319
230
319
479
228
592
501
456
456
456
456
456
456
456
456
456
228
228
228
592
592
547
729
820
501
501
501
501
501
456
638
592
456
456
456
456
456
456
228
501
501
501
592
303
299
501
410
410
273
273
273
456
456
456
501
638
501
774
820
592
592
638
456
456
456
456
790
790
890
410
820
820
287
456
820
400
592
592
547
547
547
228
228
228
228
638
638
638
547
456
592
592
592
547
501
228
228
228
228
228
228
228
273
389
456
456
729
592
228
273
273
319
479
228
273
228
228
456
456
456
456
456
456
456
456
456
456
273
273
479
479
479
501
799
592
592
592
592
547
501
638
592
228
456
592
501
683
592
638
547
638
592
547
501
592
547
774
547
547
501
273
228
273
479
456
228
456
501
456
501
456
273
501
501
228
228
456
228
729
501
501
501
501
319
456
273
501
456
638
456
456
410
319
230
319
479
228
592
501
456
456
456
456
456
456
456
456
456
228
228
228
592
592
547
729
820
501
501
501
501
501
456
638
592
456
456
456
456
456
456
228
501
501
501
592
303
299
501
410
410
273
273
273
456
456
456
501
638
501
774
820
592
592
638
456
456
456
456
790
790
890
410
820
820
287
456
820
400
592
592
547
547
547
228
228
228
228
638
638
638
547
456
592
592
592
547
501
228
228
228
228
228
228
250
278
371
606
500
840
778
278
333
333
389
606
250
333
250
606
500
500
500
500
500
500
500
500
500
500
250
250
606
606
606
444
747
778
611
709
774
611
556
763
832
337
333
726
611
946
831
786
604
786
668
525
613
778
722
1000
667
667
667
333
606
333
606
500
278
500
553
444
611
479
333
556
582
291
234
556
291
883
582
546
601
560
395
424
326
603
565
834
516
556
500
333
606
333
606
250
709
603
479
500
500
500
500
444
479
479
479
287
287
287
778
778
611
758
944
546
546
546
603
603
556
786
778
500
500
500
606
500
500
287
546
603
582
831
333
333
444
500
500
331
331
278
500
500
500
546
833
556
827
998
778
778
786
500
500
500
628
790
790
890
500
1000
1144
606
500
1000
400
778
778
611
611
611
337
337
337
337
786
786
786
525
424
778
778
778
667
556
250
250
250
250
250
250
250
333
500
606
500
889
778
278
333
333
389
606
250
333
250
296
500
500
500
500
500
500
500
500
500
500
250
250
606
606
606
500
747
722
611
667
778
611
556
722
778
333
333
667
556
944
778
778
611
778
667
556
611
778
722
944
722
667
667
333
606
333
606
500
278
444
463
407
500
389
278
500
500
278
278
444
278
778
556
444
500
463
389
389
333
556
500
722
500
500
444
333
606
333
606
250
667
556
389
444
444
444
444
407
389
389
389
278
278
278
722
722
611
638
941
444
444
444
556
556
500
778
778
500
500
667
606
500
444
278
444
556
556
778
333
333
500
500
500
333
333
333
500
500
444
444
778
444
669
1028
722
722
778
500
500
500
500
790
790
890
500
1000
1000
500
500
1000
400
722
722
611
611
611
333
333
333
333
778
778
778
556
389
778
778
778
667
500
250
250
250
250
250
250
250
278
402
606
500
889
833
278
333
333
444
606
250
333
250
296
500
500
500
500
500
500
500
500
500
500
250
250
606
606
606
444
747
778
667
722
833
611
556
833
833
389
389
778
611
1000
833
833
611
833
722
611
667
778
778
1000
667
667
667
333
606
333
606
500
278
500
611
444
611
500
389
556
611
333
333
611
333
889
611
556
611
611
389
444
333
611
556
833
500
556
500
310
606
310
606
250
722
611
500
500
500
500
500
444
500
500
500
333
333
333
778
778
611
778
1000
556
556
556
611
611
556
833
778
500
500
500
606
500
500
333
556
611
611
833
438
488
444
500
500
389
389
278
500
500
500
556
833
556
833
1000
778
778
833
500
500
500
641
790
790
890
500
1000
1000
606
500
1000
400
778
778
611
611
611
389
389
389
389
833
833
833
611
444
778
778
778
667
611
250
250
250
250
250
250
250
333
500
606
500
889
833
278
333
333
444
606
250
389
250
315
500
500
500
500
500
500
500
500
500
500
250
250
606
606
606
444
833
722
667
685
778
611
556
778
778
389
389
722
611
944
778
833
667
833
722
556
611
778
667
1000
722
611
667
333
606
333
606
500
278
556
537
444
556
444
333
500
556
333
333
556
333
833
556
556
556
537
389
444
389
556
556
833
500
556
500
333
606
333
606
250
685
556
444
556
556
556
556
444
444
444
444
333
333
333
722
722
611
738
944
556
556
556
556
556
556
833
778
500
500
500
606
500
556
333
556
556
556
778
333
333
444
500
500
333
333
333
500
500
556
556
833
556
778
944
722
722
833
556
556
556
556
790
790
890
500
1000
1000
606
500
1000
400
722
722
611
611
611
389
389
389
389
833
833
833
556
444
778
778
778
611
556
250
250
250
250
250
250
250
333
408
500
500
833
778
333
333
333
500
564
250
333
250
278
500
500
500
500
500
500
500
500
500
500
278
278
564
564
564
444
921
722
667
667
722
611
556
722
722
333
389
722
611
889
722
722
556
722
667
556
611
722
722
944
722
722
611
333
278
333
469
500
333
444
500
444
500
444
333
500
500
278
278
500
278
778
500
500
500
500
333
389
278
500
500
722
500
500
444
480
200
480
541
250
667
500
444
444
444
444
444
444
444
444
444
278
278
278
722
722
611
667
889
500
500
500
500
500
500
722
722
500
500
500
500
500
444
278
500
500
500
722
276
310
444
444
444
333
333
333
500
500
444
500
722
500
722
889
722
722
722
500
500
500
453
790
790
890
444
1000
1000
350
500
1000
400
722
722
611
611
611
333
333
333
333
722
722
722
556
389
722
722
722
722
500
250
250
250
250
250
250
250
333
420
500
500
833
778
333
333
333
500
675
250
333
250
278
500
500
500
500
500
500
500
500
500
500
333
333
675
675
675
500
920
611
611
667
722
611
611
722
722
333
444
667
556
833
667
722
611
722
611
500
556
722
611
833
611
556
556
389
278
389
422
500
333
500
500
444
500
444
278
500
500
278
278
444
278
722
500
500
500
500
389
389
278
500
444
667
444
444
389
400
275
400
541
250
667
500
444
500
500
500
500
444
444
444
444
278
278
278
611
611
611
667
889
500
500
500
500
500
444
722
722
500
500
500
500
500
500
278
500
500
500
667
276
310
500
556
556
333
333
389
500
500
500
500
722
500
667
944
611
611
722
500
500
500
523
790
790
890
556
889
1000
350
500
889
400
611
611
611
611
611
333
333
333
333
722
722
722
500
389
722
722
722
556
500
250
250
250
250
250
250
250
333
555
500
500
1000
833
333
333
333
500
570
250
333
250
278
500
500
500
500
500
500
500
500
500
500
333
333
570
570
570
500
930
722
667
722
722
667
611
778
778
389
500
778
667
944
722
778
611
778
722
556
667
722
722
1000
722
722
667
333
278
333
581
500
333
500
556
444
556
444
333
500
556
278
333
556
278
833
556
500
556
556
444
389
333
556
500
722
500
500
444
394
220
394
520
250
722
556
444
500
500
500
500
444
444
444
444
278
278
278
722
722
667
722
1000
500
500
500
556
556
500
778
722
500
500
500
500
500
500
278
500
556
556
722
300
330
500
500
500
333
333
333
500
500
500
500
778
500
722
1000
722
722
778
500
500
500
540
790
790
890
500
1000
1000
350
500
1000
400
722
722
667
667
667
389
389
389
389
778
778
778
556
389
722
722
722
722
556
250
250
250
250
250
250
250
389
555
500
500
833
778
333
333
333
500
570
250
333
250
278
500
500
500
500
500
500
500
500
500
500
333
333
570
570
570
500
832
667
667
667
722
667
667
722
778
389
500
667
611
889
722
722
611
722
667
556
611
722
667
889
667
611
611
333
278
333
570
500
333
500
500
444
500
444
333
500
556
278
278
500
278
778
556
500
500
500
389
389
278
556
444
667
500
444
389
348
220
348
570
250
667
556
444
500
500
500
500
444
444
444
444
278
278
278
667
667
667
722
944
500
500
500
556
556
444
722
722
500
500
500
500
500
500
278
500
556
556
722
266
300
500
500
500
333
333
389
500
500
500
500
722
500
722
944
667
667
722
500
500
500
500
790
790
890
500
1000
1000
350
500
1000
400
667
667
667
667
667
389
389
389
389
722
722
722
556
389
722
722
722
611
500
250
250
250
250
250
250
250
333
713
500
549
833
778
439
333
333
500
549
250
549
250
278
500
500
500
500
500
500
500
500
500
500
278
278
549
549
549
444
549
722
667
722
612
611
763
603
722
333
631
722
686
889
722
722
768
741
556
592
611
690
439
768
645
795
611
333
863
333
658
500
500
631
549
549
494
439
521
411
603
329
603
549
549
576
521
549
549
521
549
603
439
576
713
686
493
686
494
480
200
480
549
250
250
620
247
549
167
713
500
753
753
753
753
1042
987
603
987
603
400
549
411
549
549
713
494
460
549
549
549
549
1000
603
1000
658
823
686
795
987
768
768
823
768
768
713
713
713
713
713
713
713
768
713
790
790
890
823
549
250
713
603
603
1042
987
603
987
603
494
329
790
790
786
713
384
384
384
384
384
384
494
494
494
494
790
329
274
686
686
686
384
384
384
384
384
384
494
494
494
250
220
280
220
680
440
680
780
240
260
220
420
520
220
280
220
340
380
440
440
440
440
440
440
440
440
440
260
240
520
520
520
380
700
620
600
520
700
620
580
620
680
380
400
660
580
840
700
600
540
600
600
460
500
740
640
880
560
560
620
240
480
320
520
500
240
420
420
340
440
340
320
400
440
240
220
440
240
620
460
400
440
400
300
320
320
460
440
680
420
400
440
240
520
240
520
220
520
460
340
420
420
420
420
340
340
340
340
240
240
240
620
620
620
540
740
400
400
400
460
460
400
600
740
440
480
720
600
400
420
240
400
460
460
700
260
260
400
340
360
240
260
280
340
380
420
400
660
440
560
820
620
620
600
420
480
460
500
220
220
220
280
1000
960
600
500
1000
220
620
620
620
620
620
380
380
380
380
600
600
600
460
320
740
740
740
560
420
220
220
220
220
220
220
278
974
961
974
980
719
789
790
791
690
960
939
549
855
911
933
911
945
974
755
846
762
761
571
677
763
760
759
754
494
552
537
577
692
786
788
788
790
793
794
816
823
789
841
823
833
816
831
923
744
723
749
790
792
695
776
768
792
759
707
708
682
701
826
815
789
789
707
687
696
689
786
787
713
791
785
791
873
761
762
762
759
759
892
892
788
784
438
138
277
415
392
392
668
668
278
278
732
544
544
910
667
760
760
776
595
694
626
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
788
894
838
1016
458
748
924
748
918
927
928
928
834
873
828
924
924
917
930
931
463
883
836
836
867
867
696
696
874
278
874
760
946
771
865
771
888
967
888
831
873
927
970
918
278
! $ TYPESTUDIO (C)1988 BY JOE HECHT