summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xetex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-04-25 22:40:35 +0000
committerKarl Berry <karl@freefriends.org>2013-04-25 22:40:35 +0000
commit41d1ed9683f09ac280acceeadd3e5e00689c7873 (patch)
tree9ce0e24f85c6c26d81fc08ecc2003d63e167c1fc /Master/texmf-dist/tex/xetex
parent050e4ce3134f192d97181d2bb1d8fb3cacce2a0b (diff)
xetexko (25apr13)
git-svn-id: svn://tug.org/texlive/trunk@30110 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xetex')
-rw-r--r--Master/texmf-dist/tex/xetex/xetexko/hanja_hangul.tab20902
-rw-r--r--Master/texmf-dist/tex/xetex/xetexko/hanjacom_hangul.tab302
-rw-r--r--Master/texmf-dist/tex/xetex/xetexko/hanjaexa_hangul.tab6582
-rw-r--r--Master/texmf-dist/tex/xetex/xetexko/xetexko-font.sty424
-rw-r--r--Master/texmf-dist/tex/xetex/xetexko/xetexko-hanging.sty124
-rw-r--r--Master/texmf-dist/tex/xetex/xetexko/xetexko-josa.sty211
-rw-r--r--Master/texmf-dist/tex/xetex/xetexko/xetexko-space.sty1633
-rw-r--r--Master/texmf-dist/tex/xetex/xetexko/xetexko-vertical.sty109
-rw-r--r--Master/texmf-dist/tex/xetex/xetexko/xetexko.sty121
9 files changed, 30408 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/xetex/xetexko/hanja_hangul.tab b/Master/texmf-dist/tex/xetex/xetexko/hanja_hangul.tab
new file mode 100644
index 00000000000..157b71bdaed
--- /dev/null
+++ b/Master/texmf-dist/tex/xetex/xetexko/hanja_hangul.tab
@@ -0,0 +1,20902 @@
+51068
+51221
+44368
+52832
+49345
+54616
+47732
+47564
+51109
+49340
+49345
+54616
+44592
+48512
+50668
+47732
+44060
+52629
+52629
+51204
+52264
+48708
+49464
+49464
+44396
+48337
+50629
+52509
+46041
+49324
+49849
+51452
+44396
+47049
+51452
+50976
+47049
+50628
+48337
+49345
+44260
+44396
+44060
+50500
+51109
+51473
+44537
+44060
+48393
+44288
+44278
+52268
+51076
+52265
+51452
+54616
+54872
+45800
+50948
+51452
+51221
+47140
+44144
+48324
+48520
+51060
+50696
+45236
+50724
+44396
+44396
+53441
+50836
+51032
+54840
+51648
+50724
+49324
+54840
+54605
+50501
+51020
+48337
+54273
+44368
+54840
+44340
+49849
+49849
+51012
+51008
+50556
+47616
+44396
+44152
+50556
+49845
+54693
+44060
+44508
+54624
+54848
+49436
+46168
+49884
+44228
+45229
+44040
+44152
+46028
+47904
+50732
+47588
+46976
+52272
+50976
+49444
+50684
+48380
+49332
+45208
+44148
+49556
+50620
+51460
+51096
+44148
+52824
+44396
+44148
+45212
+47536
+51032
+44432
+50836
+47560
+50668
+51137
+49324
+49324
+51060
+52489
+50864
+50864
+50872
+50868
+54840
+44592
+50724
+51221
+49324
+49464
+44557
+44557
+50500
+49324
+50500
+51228
+50500
+44537
+46160
+47581
+54637
+45824
+44368
+54644
+50669
+49328
+54805
+47924
+46976
+54693
+44221
+51221
+50577
+54693
+44221
+50556
+52828
+48149
+50864
+49444
+45800
+47156
+53440
+48120
+51064
+51064
+51665
+46972
+47581
+50613
+49901
+51064
+47477
+51221
+52769
+48512
+48512
+44396
+54036
+51109
+44552
+44060
+48729
+51081
+51333
+48520
+49328
+47452
+50612
+52285
+51088
+49324
+53440
+51109
+48512
+49440
+54732
+53441
+54861
+46041
+51064
+52380
+54620
+55128
+51089
+45824
+50689
+51060
+52488
+51109
+49340
+49345
+51032
+47924
+47928
+51064
+44032
+52488
+50521
+44160
+51473
+48708
+50900
+50724
+44148
+44060
+50836
+48393
+52285
+51076
+50773
+48712
+51200
+48169
+51333
+44592
+54056
+50668
+51312
+46024
+47928
+50669
+49900
+54637
+51060
+44553
+50528
+50724
+44592
+48373
+48268
+55092
+44540
+48176
+52840
+48512
+45432
+51473
+50864
+54868
+54924
+44396
+49772
+51204
+49328
+50948
+51204
+44144
+50500
+54788
+49345
+52285
+47452
+52285
+49692
+49888
+50948
+51200
+53469
+54788
+45432
+48177
+44256
+45768
+53441
+49444
+48152
+54785
+47161
+51452
+49888
+51200
+49324
+54077
+49324
+44032
+48708
+51060
+49324
+51060
+51221
+51204
+44048
+47588
+45800
+51200
+54252
+44396
+54588
+49548
+52264
+50948
+51200
+51452
+51340
+50864
+50521
+48516
+51216
+54616
+54596
+53440
+49324
+50668
+51068
+48520
+51089
+44396
+45397
+53825
+45768
+54732
+44144
+50857
+50752
+52392
+49437
+52852
+54252
+54056
+54924
+44033
+47308
+54637
+54633
+50577
+48177
+48277
+47749
+44032
+51060
+48337
+44600
+54620
+44292
+44452
+51204
+51312
+44368
+52264
+51068
+49324
+54805
+49888
+53441
+44036
+51656
+54644
+45236
+51060
+52824
+44284
+44305
+50696
+51020
+49884
+48120
+51452
+54785
+50976
+50504
+47456
+47784
+51060
+47452
+46041
+52264
+52825
+49692
+44277
+51452
+51032
+50668
+52380
+54801
+44032
+51116
+47140
+44256
+50836
+51221
+52769
+44368
+53132
+51228
+45397
+45453
+51652
+47784
+54980
+44400
+51221
+51652
+51340
+52628
+52840
+47140
+44397
+46160
+51221
+49900
+53448
+48156
+45224
+54952
+48320
+53748
+50864
+44228
+52489
+50500
+44396
+49436
+44305
+44257
+50724
+51456
+51021
+48372
+47049
+51312
+49548
+47532
+50857
+55124
+44221
+54788
+49340
+48176
+49549
+48512
+55148
+47532
+47732
+48729
+48372
+50976
+49324
+54801
+49888
+49688
+50724
+51228
+44144
+51452
+51648
+50628
+47049
+47140
+47000
+47532
+44160
+49688
+48512
+54868
+44396
+54952
+48176
+52380
+54364
+49689
+48708
+48393
+50500
+50628
+48708
+51453
+55124
+48708
+52824
+52285
+51648
+48337
+44396
+54952
+49772
+47049
+50896
+47000
+52285
+51333
+44060
+44288
+48176
+51204
+49689
+49689
+47928
+46020
+45812
+44404
+49688
+54665
+48533
+45817
+54980
+51032
+44592
+52377
+44036
+44221
+52264
+55092
+52285
+52393
+48169
+52824
+44277
+44428
+51333
+44144
+52380
+50696
+50980
+53441
+50780
+46972
+49569
+47497
+54844
+46041
+49324
+48516
+47924
+44396
+45768
+52292
+44160
+52292
+50556
+52824
+49324
+44221
+52393
+50689
+52845
+51204
+50616
+45212
+46041
+51456
+44032
+44172
+50948
+50864
+48337
+50556
+51228
+50808
+54200
+50504
+54413
+53461
+50501
+50501
+54644
+52264
+49457
+44036
+51228
+51452
+49341
+51221
+48176
+50685
+54889
+50836
+45812
+52488
+50684
+50976
+44148
+49436
+52264
+52264
+48512
+54605
+52824
+52509
+47732
+51665
+51032
+49444
+49692
+49884
+45800
+52769
+51221
+50864
+53804
+53804
+48708
+52272
+47336
+52393
+50948
+48516
+49345
+44340
+49688
+52824
+49548
+54624
+48512
+50896
+50857
+47456
+45433
+50896
+44053
+47560
+48169
+51204
+45817
+54840
+44152
+54812
+49440
+44216
+44033
+52285
+52629
+49328
+48708
+54952
+50857
+50836
+53457
+49324
+50521
+48268
+48337
+44032
+53468
+51116
+45817
+44264
+48712
+51200
+45208
+52280
+47280
+52572
+50857
+51312
+52509
+48533
+51333
+50724
+51204
+44396
+52292
+52377
+49345
+49345
+44221
+51228
+49324
+54620
+51109
+44221
+50616
+51228
+49444
+47336
+48708
+54364
+44540
+47144
+47449
+47564
+52392
+49440
+53456
+50885
+46041
+49440
+49345
+49440
+44368
+44400
+53748
+51456
+48373
+55148
+47196
+52285
+44305
+50836
+44592
+46321
+51092
+50948
+44592
+48264
+54812
+52380
+52280
+53444
+50836
+52628
+49849
+48516
+54620
+44208
+50501
+52488
+52280
+46041
+47536
+48513
+44256
+49440
+49549
+54620
+44053
+48124
+50685
+44552
+44032
+52488
+48317
+54413
+52628
+50528
+49324
+51032
+51456
+45453
+52380
+50613
+45817
+44221
+54788
+53132
+44160
+52488
+45812
+44368
+49324
+51116
+52268
+48712
+50517
+50976
+45824
+51452
+51228
+46988
+51032
+51652
+44204
+47609
+47924
+45397
+44221
+51060
+49345
+47157
+47280
+47140
+44305
+54252
+50977
+54364
+52268
+51656
+49324
+50864
+54840
+52828
+52772
+47141
+46321
+50948
+47217
+51200
+52280
+49689
+49689
+55092
+47140
+46972
+52268
+45208
+45817
+50628
+47000
+45229
+51064
+50732
+50980
+51104
+50896
+54805
+52649
+51312
+55113
+49440
+44305
+53468
+44537
+53468
+47732
+53664
+51109
+50500
+53468
+50500
+52840
+53664
+49884
+50672
+50672
+49884
+49901
+45817
+52380
+46160
+48516
+47784
+49888
+46160
+48177
+44557
+47532
+54889
+51077
+47581
+45236
+51204
+50577
+50976
+54036
+44277
+50977
+54812
+54620
+46976
+44277
+52380
+49548
+55141
+48337
+44592
+44396
+51204
+51088
+49104
+50577
+44216
+49688
+44592
+50696
+44592
+52380
+44221
+47784
+50684
+45236
+50644
+47896
+44053
+50684
+52293
+44221
+52293
+51116
+44284
+44221
+47784
+51452
+47784
+44396
+54980
+47732
+47729
+50857
+50976
+49324
+44048
+44400
+45453
+51032
+48120
+49437
+44288
+47805
+52509
+52712
+50896
+47749
+44396
+47548
+48512
+49324
+47729
+48729
+46041
+53468
+44053
+54413
+48729
+54840
+52649
+44208
+54840
+54889
+50556
+45257
+48152
+48520
+48124
+46041
+49849
+47148
+54801
+52392
+51221
+49688
+47588
+46020
+52376
+44256
+51456
+49569
+51221
+50577
+52397
+51312
+45733
+46041
+44552
+44048
+51064
+51452
+51032
+47456
+52285
+47749
+51456
+52572
+49884
+53441
+44552
+47492
+45728
+51025
+55148
+46021
+44452
+48276
+48276
+48276
+48393
+44144
+52376
+44452
+54413
+47785
+51648
+48512
+54413
+48729
+54413
+44060
+54889
+44060
+44048
+46321
+48729
+44048
+55113
+44340
+52384
+50836
+52636
+44201
+45817
+54632
+54632
+52265
+46020
+51312
+46020
+51064
+51064
+52285
+48516
+51208
+50696
+44592
+44036
+52380
+52492
+52628
+47928
+44592
+45800
+54805
+54868
+50756
+44208
+47532
+50900
+50676
+47448
+52825
+44053
+52285
+48520
+52488
+52376
+51312
+49328
+48124
+47161
+51333
+54032
+48324
+44161
+44161
+54252
+51060
+49328
+48324
+51092
+44221
+44292
+44557
+46020
+52285
+44508
+44256
+53440
+51060
+51228
+49604
+44428
+52272
+51088
+44033
+44161
+54924
+51088
+44480
+44060
+53440
+51228
+52404
+44221
+46160
+46972
+52825
+50672
+51340
+49325
+44537
+46980
+51204
+52272
+52285
+44284
+44160
+52265
+47532
+52377
+48708
+48512
+51092
+44592
+52285
+49324
+44053
+50756
+48149
+44592
+52384
+44221
+49452
+53441
+44160
+51228
+48149
+50628
+44537
+44341
+51081
+51204
+53441
+45800
+50725
+44284
+48512
+51081
+44160
+54624
+45813
+44060
+52285
+52380
+49328
+51204
+47449
+47532
+48512
+49340
+54364
+44396
+52488
+44292
+52488
+44452
+54925
+52264
+53441
+47156
+44537
+48317
+50976
+54924
+52488
+44480
+44160
+44160
+45817
+54869
+51228
+44160
+51032
+44160
+51656
+52280
+52268
+47560
+47532
+52489
+50669
+50508
+44428
+54032
+44277
+44032
+47924
+47588
+50676
+44540
+44081
+54801
+51648
+46041
+51312
+45432
+44161
+44396
+52488
+51068
+51200
+47561
+47140
+44221
+47196
+47196
+44428
+44396
+50577
+50780
+54952
+47924
+44305
+54624
+47148
+54645
+54645
+44537
+44221
+44256
+48156
+48124
+52825
+46993
+50857
+50857
+47732
+44537
+54984
+44428
+44221
+47449
+48512
+47609
+47000
+45713
+44060
+47732
+46041
+50865
+50865
+44048
+47924
+50696
+54984
+50745
+49849
+45432
+47784
+47449
+54364
+49464
+51201
+44540
+44053
+52488
+44428
+50577
+50696
+44089
+48264
+44428
+46041
+44144
+45800
+54801
+47588
+54984
+54984
+47140
+50668
+52384
+50577
+44428
+54252
+51089
+44512
+44396
+47928
+44396
+47932
+44512
+47928
+45236
+44060
+44060
+54252
+52509
+49437
+55113
+54217
+44397
+46020
+54633
+54252
+50517
+54252
+48373
+44417
+45813
+44396
+44417
+48708
+54868
+48513
+45516
+49884
+48169
+44396
+51060
+51105
+51109
+44053
+51109
+44305
+54848
+44049
+44257
+48320
+44452
+54801
+51109
+44305
+48708
+54848
+50976
+44452
+44452
+54924
+45800
+44452
+47156
+47156
+49328
+46021
+44396
+44144
+54812
+54596
+44396
+51032
+50516
+50616
+54200
+51061
+44396
+49901
+49888
+52380
+51077
+49341
+51320
+49849
+50724
+55036
+48152
+49464
+49901
+47564
+54868
+54801
+47564
+48708
+51320
+53441
+54801
+45800
+47588
+45224
+45800
+51665
+48149
+49556
+48373
+44288
+48320
+44228
+51216
+51105
+47196
+50976
+47196
+49436
+44312
+50752
+49444
+51208
+51208
+50948
+50521
+44277
+52824
+47896
+51064
+50948
+49548
+51593
+44033
+45212
+52824
+44428
+49324
+55100
+44540
+44033
+50732
+51593
+50501
+44221
+49836
+49328
+50628
+52392
+50529
+52397
+47141
+52293
+50628
+47140
+50500
+50517
+50684
+49324
+51648
+52264
+47217
+50547
+44049
+50528
+51656
+52769
+48169
+51228
+47532
+49324
+54980
+52397
+49688
+51312
+48708
+50896
+52769
+50896
+49345
+50684
+47141
+44432
+54616
+51204
+51452
+44396
+44540
+50724
+44452
+50684
+49884
+47141
+52285
+44048
+47140
+50628
+50684
+50896
+49324
+44361
+47536
+44396
+44144
+44144
+47728
+47336
+51452
+54788
+51204
+52280
+52280
+52280
+52280
+52280
+50528
+52404
+50864
+52264
+44553
+50864
+49933
+48152
+49688
+53132
+48156
+48156
+50557
+49324
+49689
+52384
+52712
+49688
+48320
+49436
+44032
+48152
+49688
+44256
+50948
+49688
+52393
+50696
+52509
+44396
+44256
+44396
+47161
+44312
+46020
+44256
+51648
+44508
+49548
+54036
+51221
+44032
+53468
+51656
+49324
+50864
+44396
+54028
+54801
+54840
+49324
+50864
+52377
+47141
+51312
+44592
+47308
+54861
+47560
+50864
+47581
+55128
+44033
+55012
+50836
+51088
+54633
+44600
+51201
+52492
+46041
+47749
+54980
+51060
+53664
+54693
+53440
+54785
+50556
+47140
+50500
+47560
+50864
+54868
+51032
+44400
+52628
+51064
+53444
+51020
+54224
+54596
+49900
+49900
+44060
+48512
+48512
+54028
+46164
+48516
+50752
+54632
+51008
+54637
+51204
+44228
+54945
+51648
+49888
+50724
+50724
+52488
+45580
+54792
+55137
+52712
+46160
+47928
+54980
+54980
+50724
+44256
+54616
+44512
+50668
+50528
+44201
+47588
+47588
+44228
+51221
+50724
+44256
+48512
+44508
+54980
+52377
+49849
+45580
+53444
+47924
+50696
+53468
+44396
+47141
+54056
+50896
+44312
+44592
+52285
+50724
+50529
+49884
+54788
+48376
+47928
+45768
+47924
+47161
+50684
+50976
+51200
+51452
+44592
+51452
+52393
+55148
+50696
+44592
+54217
+51088
+44256
+51088
+48120
+44396
+44032
+45432
+54633
+48708
+51068
+54952
+49888
+54840
+47749
+45804
+44144
+51200
+44048
+51105
+53440
+46028
+48512
+54252
+54596
+48520
+50521
+54868
+49324
+54868
+54644
+44396
+50689
+48512
+53440
+51452
+50752
+51105
+44256
+44032
+51340
+54252
+47217
+46041
+45397
+53440
+49324
+54788
+54925
+51665
+51060
+50501
+44361
+53440
+55148
+51060
+47148
+51088
+48120
+48120
+51648
+44368
+44600
+51452
+44033
+49692
+52272
+49548
+54644
+54924
+44284
+49884
+46020
+54632
+50508
+55012
+55092
+44312
+50676
+47196
+51060
+50528
+54408
+49888
+46041
+54861
+55113
+52824
+50752
+54633
+51116
+50977
+51648
+44256
+54693
+50528
+44540
+44305
+50500
+45804
+54952
+54596
+54896
+45380
+54868
+54665
+53132
+53440
+49104
+51228
+45453
+47784
+50557
+54840
+50896
+47217
+53804
+48169
+44032
+50500
+54616
+52488
+47532
+45208
+51313
+54616
+44257
+54952
+54788
+47196
+48156
+52384
+52272
+47049
+54036
+47560
+47148
+49632
+48512
+54252
+54620
+54805
+44221
+49444
+44032
+50976
+50616
+44257
+44257
+54056
+54632
+49324
+51652
+51021
+50528
+44217
+46020
+45800
+50756
+47532
+55148
+45817
+49436
+51452
+52264
+50724
+51312
+50500
+46160
+44228
+51201
+52840
+47560
+47568
+54861
+46160
+44163
+47196
+47049
+49604
+51312
+54872
+47021
+49324
+51593
+51200
+50752
+48393
+44552
+54840
+44592
+49688
+50976
+49584
+52285
+50528
+47140
+44053
+50516
+52264
+50977
+51216
+50612
+51204
+47000
+49341
+49437
+53440
+54848
+50528
+51312
+45572
+49845
+53441
+53441
+49345
+51201
+54665
+46988
+50500
+44368
+44053
+53668
+50724
+47928
+52544
+51105
+54848
+44228
+44228
+46020
+45812
+45812
+50756
+51088
+48708
+52544
+52384
+54868
+50500
+44228
+52384
+48176
+47049
+54632
+48708
+49324
+46989
+52293
+51221
+44312
+48149
+51088
+49353
+51204
+44368
+44341
+46972
+50516
+51201
+44428
+53444
+54028
+51221
+46993
+49548
+44144
+45817
+49884
+51228
+50516
+52628
+45812
+44061
+50745
+50948
+45224
+49440
+50977
+52384
+45208
+44060
+54980
+54632
+52393
+51452
+51116
+44312
+50556
+50865
+51020
+51104
+50836
+50501
+47732
+54840
+50868
+52380
+55036
+54872
+54872
+55148
+44040
+51593
+50948
+51333
+50948
+49341
+54980
+54889
+46020
+45393
+55012
+47049
+50976
+49345
+45181
+44368
+50616
+45800
+48516
+49885
+47532
+50557
+49324
+50948
+47896
+50689
+48516
+54271
+44508
+44228
+50976
+44553
+47336
+44257
+49548
+54617
+51228
+50836
+54617
+49324
+54980
+52285
+49353
+50745
+49548
+54861
+54801
+51061
+49325
+47560
+52264
+54624
+54633
+53457
+49345
+51652
+50837
+49688
+50760
+44228
+48169
+50724
+44216
+44592
+44201
+51088
+52264
+46973
+50745
+50732
+49324
+52824
+54840
+49353
+47452
+54644
+49604
+51652
+49453
+54616
+51667
+49604
+51008
+44060
+45208
+45796
+50528
+44053
+53685
+54596
+50724
+50724
+47144
+52572
+52264
+47561
+49688
+51452
+53456
+51201
+51105
+44368
+52649
+44368
+44060
+53444
+49340
+51312
+44032
+50528
+54952
+54364
+47336
+50508
+54616
+44368
+54840
+54812
+44341
+44396
+50616
+52293
+49345
+54728
+54028
+46301
+47560
+47560
+44257
+47477
+46020
+50508
+45817
+50556
+48533
+50549
+49324
+44368
+48128
+49548
+54868
+47588
+50672
+52572
+54077
+47196
+49548
+44592
+52489
+51312
+44480
+52712
+54952
+49884
+54840
+47924
+47308
+44368
+55148
+52629
+53444
+45812
+47925
+49552
+50724
+51456
+48264
+45181
+50948
+52280
+45817
+52629
+45812
+50984
+53668
+51137
+52488
+50676
+55137
+44592
+54840
+47144
+54728
+46321
+50948
+51020
+48149
+44432
+44552
+49900
+44368
+47196
+49324
+50628
+51025
+45804
+52392
+50724
+51452
+44552
+45453
+54896
+54896
+44592
+50501
+51312
+55148
+49436
+44368
+50672
+50528
+50745
+44089
+53132
+50864
+48516
+46020
+44040
+55136
+53668
+45817
+49888
+49352
+48317
+48708
+51020
+52712
+45397
+51201
+46988
+53457
+54925
+50976
+54952
+54616
+50685
+46028
+48708
+51452
+51228
+51652
+54840
+52404
+49345
+54984
+47560
+52272
+52404
+47196
+54812
+48149
+50864
+44368
+51008
+54617
+47925
+54945
+52384
+47532
+47448
+54812
+45229
+54952
+47560
+50672
+47141
+47196
+47217
+48512
+45812
+52828
+48712
+48708
+54693
+54617
+47560
+55148
+53440
+44257
+50628
+52280
+50549
+50577
+51216
+46972
+49688
+54952
+51089
+52384
+55012
+54925
+51204
+49453
+54952
+51105
+47532
+52380
+52292
+47140
+50696
+46972
+45229
+52268
+49548
+55148
+51613
+44036
+51096
+52489
+46976
+49444
+45229
+46988
+46972
+44397
+54924
+51064
+49688
+49324
+51064
+44148
+54924
+49888
+51064
+45785
+45800
+45800
+46024
+44053
+50672
+44221
+54200
+50868
+52285
+54848
+54924
+50756
+50752
+44397
+44260
+52285
+50948
+46020
+50948
+47452
+44397
+44512
+51068
+50689
+44256
+44397
+53468
+44397
+46020
+50976
+44397
+51008
+54844
+54252
+50612
+54632
+50896
+47452
+44428
+50612
+52397
+44397
+52380
+50948
+50896
+44428
+44256
+54252
+50896
+50896
+50517
+49436
+46020
+46020
+45800
+47029
+44452
+50669
+50896
+46976
+46976
+53664
+50508
+53664
+51221
+44264
+48149
+47197
+51077
+50517
+51116
+50864
+51012
+50724
+50724
+44508
+48708
+51060
+51648
+52380
+52380
+49688
+51089
+53461
+44217
+54616
+49328
+44305
+51109
+44592
+45384
+47792
+44553
+44040
+51648
+51648
+54032
+54984
+50669
+44552
+47588
+44512
+44081
+46164
+48169
+48516
+48516
+45812
+44048
+48176
+51340
+44081
+48708
+54805
+51648
+44221
+44592
+44340
+51648
+44221
+44204
+45800
+47141
+54028
+50724
+48516
+52628
+54028
+48152
+45817
+44260
+51200
+53444
+52377
+51060
+44048
+54217
+51216
+44284
+45768
+45824
+48176
+44221
+50521
+48520
+50836
+47449
+44396
+47785
+44032
+44396
+54792
+48156
+51648
+53441
+47161
+51200
+48512
+54840
+52824
+49688
+46980
+47217
+47217
+47196
+50836
+45824
+54252
+48124
+54805
+46041
+44172
+44201
+47456
+51088
+52824
+47336
+54644
+51064
+54980
+53748
+51312
+48373
+44305
+50836
+53440
+53440
+44452
+53440
+50577
+51008
+48268
+44396
+50896
+51656
+54801
+51008
+49345
+49688
+50501
+48337
+51216
+54861
+50500
+44284
+45804
+50836
+45817
+44060
+54665
+45516
+50504
+49457
+54788
+50756
+48169
+48512
+54028
+50669
+51008
+54620
+49436
+49688
+51104
+44221
+50528
+48393
+48169
+44033
+50857
+51456
+54801
+51648
+47588
+46993
+54788
+49457
+50672
+52840
+52384
+46980
+46980
+54252
+51221
+54868
+48372
+49884
+54984
+44284
+44221
+50556
+45392
+51228
+50669
+48512
+50724
+44428
+49604
+48708
+51221
+50756
+44396
+47452
+51221
+44277
+52509
+46041
+53468
+45768
+50516
+52292
+49689
+48393
+44048
+49885
+53440
+50696
+51665
+50669
+48176
+44592
+51456
+44592
+49548
+52628
+45812
+44404
+44284
+45817
+44260
+50696
+44204
+53748
+44540
+44053
+50977
+50501
+48533
+44256
+53664
+47497
+48169
+50528
+52280
+44260
+50504
+49900
+53440
+45516
+46028
+49849
+51064
+54844
+48317
+47144
+44284
+52393
+51204
+54980
+48372
+48372
+50864
+51228
+47924
+44228
+50672
+50508
+44557
+44048
+51333
+50976
+54889
+50501
+50836
+50616
+48372
+51600
+48120
+51109
+46020
+53440
+50516
+54413
+51333
+44228
+51652
+54665
+44053
+52632
+44048
+48337
+47336
+54637
+54889
+48169
+45800
+47564
+49440
+44592
+52377
+44340
+50689
+53457
+49849
+50857
+44060
+49548
+49548
+49884
+47729
+53457
+50745
+51088
+46020
+45817
+44256
+52509
+47456
+48393
+48169
+49352
+51109
+53748
+51204
+50724
+51221
+54984
+44061
+51652
+50528
+44277
+50684
+44048
+51204
+50896
+50728
+49324
+47448
+54644
+46993
+51109
+48393
+48533
+51652
+47197
+47196
+50864
+52280
+47588
+47561
+51204
+49345
+49689
+47336
+51648
+47564
+54364
+44221
+52377
+49436
+52404
+51109
+44048
+50857
+51216
+52280
+52377
+44592
+44285
+51109
+44540
+51201
+49345
+47896
+52572
+50616
+53457
+51613
+44148
+51109
+47049
+50948
+52628
+50836
+51613
+54728
+49440
+49440
+48156
+48373
+44340
+46041
+48264
+44033
+47925
+46024
+46024
+51456
+51648
+49457
+53440
+53440
+45812
+46321
+47924
+48516
+54889
+45812
+45804
+54868
+51200
+44036
+50724
+51109
+44201
+44368
+44036
+50669
+48708
+48317
+51204
+44053
+50556
+50745
+54617
+45800
+46988
+44144
+44340
+45817
+50577
+52280
+54984
+54632
+49352
+54617
+50528
+50517
+46020
+54840
+50672
+51652
+45572
+44305
+47196
+50684
+45812
+50976
+44340
+45453
+47217
+50696
+47141
+47536
+50577
+51204
+54984
+50516
+47280
+54028
+47564
+49324
+51076
+49328
+51109
+51109
+49457
+51068
+47588
+44033
+51452
+51109
+54840
+54840
+44260
+51068
+54840
+49436
+44260
+49688
+47581
+51456
+49688
+51068
+52824
+44256
+52376
+44053
+48393
+48708
+51116
+48320
+49632
+51456
+47497
+48373
+51340
+54616
+54805
+49453
+45432
+54616
+44592
+49437
+50808
+50896
+50896
+49689
+45796
+45796
+50556
+52397
+50827
+44396
+44396
+44592
+47805
+47805
+51064
+44284
+52840
+45824
+45384
+52380
+53468
+48512
+53132
+50836
+50521
+54637
+54840
+49892
+46020
+53468
+46160
+50684
+48708
+51060
+44284
+54801
+53448
+54868
+52380
+50868
+54801
+54028
+47581
+47156
+54872
+51200
+50628
+54252
+44428
+44592
+45236
+48393
+54792
+44053
+51216
+50577
+44508
+51452
+54872
+44228
+44060
+52264
+48516
+54785
+51109
+53804
+51109
+48516
+54644
+54889
+48708
+51312
+49692
+44557
+51204
+50724
+49324
+50549
+48152
+50724
+47924
+50724
+51109
+47156
+53448
+50980
+51109
+49437
+48516
+54876
+48708
+47144
+52264
+50668
+45432
+51221
+45236
+52380
+44036
+51200
+44396
+45212
+53440
+54840
+49440
+48264
+44592
+51089
+50668
+48708
+47581
+54861
+51109
+48512
+47560
+45812
+51076
+48512
+51221
+50672
+54644
+47928
+51333
+54028
+53804
+44592
+44081
+51473
+50836
+44552
+50868
+47896
+48176
+52824
+44208
+51109
+45684
+50504
+45225
+55124
+48516
+48708
+50668
+53440
+48393
+50756
+48169
+47924
+44396
+44508
+53804
+48156
+45768
+52629
+51089
+52488
+45804
+45768
+50896
+51452
+54788
+51656
+50500
+47588
+47568
+52376
+54596
+49888
+52393
+50500
+54868
+54980
+54605
+51221
+48124
+48152
+47784
+48512
+47161
+51088
+51088
+49884
+50684
+49328
+50521
+45812
+51200
+44256
+49324
+49457
+50948
+51088
+44144
+49328
+54217
+51076
+50836
+46041
+44053
+51452
+44600
+54644
+54693
+54876
+50672
+44368
+44396
+47784
+44036
+44036
+51060
+45380
+51656
+51652
+55148
+54744
+54637
+44305
+49692
+44284
+50504
+47749
+47148
+54056
+50517
+50976
+50672
+52264
+49888
+51064
+51228
+44452
+51204
+51088
+50997
+50948
+54861
+50780
+47336
+50500
+50836
+44368
+47144
+48729
+54788
+49548
+47532
+49457
+54792
+47581
+48512
+49324
+47784
+48120
+44537
+52265
+52265
+51221
+45229
+54805
+45224
+50724
+45208
+48512
+45516
+50672
+49888
+51648
+54632
+51228
+51109
+50500
+48712
+53468
+54620
+47564
+50724
+50672
+47924
+50528
+50616
+50724
+49324
+50724
+50780
+47532
+54620
+52628
+52712
+49688
+44592
+54788
+52524
+46041
+52285
+47197
+50528
+50500
+50500
+47336
+47732
+51333
+48512
+44397
+54028
+52292
+47497
+50756
+54364
+54952
+49689
+44592
+55092
+48152
+50752
+50976
+45812
+48708
+48708
+52393
+52392
+50696
+44428
+51221
+54844
+44221
+44036
+51204
+54665
+44256
+50756
+47000
+48708
+51064
+51452
+51089
+48512
+51221
+47200
+50504
+46988
+54844
+51020
+50500
+44144
+47140
+51204
+54788
+54868
+54925
+50689
+49440
+49900
+51221
+53461
+50836
+47924
+45224
+50556
+44032
+50976
+49436
+50864
+50948
+51228
+50976
+48120
+45812
+45576
+52828
+55064
+50725
+51204
+52632
+47896
+48512
+51200
+45800
+51060
+51473
+47588
+54889
+47732
+50516
+50689
+55012
+44060
+50948
+48120
+50896
+51221
+52628
+51228
+49444
+53440
+47144
+47784
+50684
+49884
+54200
+50948
+50780
+50976
+54840
+50724
+52393
+48372
+49688
+50976
+44508
+52628
+50836
+48708
+49885
+50896
+51081
+50857
+50837
+52824
+47448
+48120
+48152
+50728
+47560
+44396
+44340
+51652
+44032
+49688
+51652
+50896
+52264
+50857
+47749
+50549
+51656
+49548
+45544
+54800
+46020
+48169
+46993
+45544
+50836
+50528
+48708
+48712
+50696
+54364
+44396
+47336
+49440
+47564
+50696
+51109
+44053
+50857
+45769
+47532
+51201
+44508
+50616
+44540
+51204
+54637
+52293
+54620
+45576
+47196
+47784
+49436
+54840
+54840
+50724
+45576
+51109
+47560
+48324
+44256
+47924
+52488
+53440
+49440
+47896
+54620
+54620
+47925
+47308
+47144
+54925
+44508
+46321
+51649
+49688
+51068
+54868
+44553
+44452
+50836
+55148
+50672
+49440
+44368
+48120
+48152
+48264
+49452
+51032
+54924
+44368
+48152
+49437
+54224
+49440
+49688
+51109
+47156
+54788
+55136
+45544
+46041
+51032
+52280
+50528
+50577
+45397
+47560
+51312
+49688
+51652
+51088
+50668
+48712
+50689
+50976
+45236
+50684
+45824
+50689
+52280
+45544
+54869
+50689
+47732
+48708
+47560
+49900
+55141
+45769
+46021
+47448
+50672
+46976
+50672
+49345
+47161
+44368
+50577
+46976
+49452
+50689
+49933
+55092
+44428
+48120
+47532
+47144
+50628
+52489
+46976
+51088
+54792
+44432
+44432
+44277
+51081
+51088
+51088
+51316
+49552
+48512
+54056
+51088
+54952
+49888
+47609
+49324
+53468
+54252
+44228
+44256
+45432
+54617
+50976
+51204
+54644
+49328
+49552
+50948
+47736
+51333
+44036
+49689
+51092
+50500
+51088
+51032
+48512
+51088
+47532
+54617
+48317
+50976
+45236
+50620
+50620
+50689
+49328
+47732
+51200
+50857
+53440
+44480
+53469
+44417
+50864
+49688
+50504
+44032
+49569
+50756
+50977
+50836
+44361
+51032
+51221
+51456
+48373
+51452
+53461
+54945
+51333
+44288
+51452
+51221
+50756
+51032
+48372
+49892
+49892
+52509
+49900
+44061
+49440
+49892
+50976
+54872
+51060
+51312
+49884
+54732
+44417
+49457
+44400
+44417
+54952
+51116
+51088
+54252
+54644
+50672
+49548
+44032
+49900
+49888
+50857
+54889
+48128
+44396
+44288
+48712
+49689
+52292
+51104
+51201
+50896
+44592
+51064
+48128
+44396
+44148
+52628
+51221
+44148
+48512
+45397
+48337
+54872
+47588
+52840
+54620
+50864
+49885
+45397
+52840
+45397
+52824
+50976
+48372
+44288
+45397
+52840
+47561
+52272
+44396
+44284
+52840
+54848
+50724
+50836
+49892
+50689
+52292
+49900
+50948
+49324
+44288
+54812
+50836
+51456
+54872
+50696
+51032
+48372
+52828
+52509
+48372
+54413
+52492
+45824
+49324
+49900
+46020
+47456
+45824
+49688
+54028
+48393
+48512
+48512
+49324
+44537
+51109
+51109
+51204
+50948
+51316
+49900
+51452
+45824
+46020
+49548
+51208
+49548
+51060
+51060
+51060
+49548
+52392
+49689
+51652
+49345
+49345
+47560
+44032
+49345
+47308
+49440
+49440
+44260
+50773
+50773
+50864
+47308
+47308
+50836
+48169
+50773
+50773
+50773
+44060
+50836
+53440
+44480
+51333
+52712
+44048
+44264
+52628
+53748
+44048
+52628
+49884
+50980
+52377
+44256
+45768
+51652
+48120
+50836
+44397
+48708
+52789
+55148
+48708
+44144
+44228
+51204
+44404
+52404
+44228
+50725
+52488
+49884
+49884
+48337
+44537
+49444
+51652
+55148
+45768
+51204
+49436
+52492
+47564
+50500
+47336
+48337
+52404
+48708
+49549
+49453
+46020
+47336
+45572
+49324
+52789
+51060
+44396
+49453
+44396
+44368
+47308
+44368
+49549
+55148
+51340
+46164
+50669
+49328
+51221
+49440
+47141
+50508
+46020
+54924
+54861
+55128
+44592
+51064
+50732
+54620
+49888
+49436
+52636
+49464
+44592
+51064
+50900
+54032
+50836
+50521
+54616
+47932
+51208
+50517
+44553
+44204
+48516
+50756
+44592
+51104
+44216
+44592
+52264
+44060
+44396
+44053
+54788
+50724
+46988
+46020
+54028
+51089
+51089
+50521
+44144
+44053
+44032
+44396
+54792
+54028
+47549
+52488
+51200
+50516
+48520
+49688
+44049
+47161
+53440
+48708
+50976
+45824
+54637
+50501
+44396
+54840
+48177
+48124
+50504
+52488
+47161
+51648
+54217
+46041
+51216
+44508
+49688
+47896
+46041
+54617
+50669
+48320
+54633
+54633
+46973
+50529
+48512
+49692
+51656
+47456
+51008
+51060
+54644
+51204
+46041
+51060
+47784
+44053
+50504
+50948
+54872
+52824
+48128
+47532
+44228
+46041
+50808
+50864
+49345
+54801
+47532
+50836
+44368
+51137
+47564
+44368
+50500
+50500
+50837
+49324
+54252
+52488
+44512
+48393
+48393
+45432
+47532
+50976
+54788
+54945
+46020
+49888
+49457
+46020
+44221
+51456
+54840
+54801
+51008
+50612
+46993
+44048
+47196
+47000
+54744
+44033
+44277
+49709
+54868
+45813
+47548
+54868
+44144
+47000
+44592
+48124
+44260
+44260
+51460
+44256
+52572
+50528
+50528
+44053
+47452
+50980
+47497
+44404
+53440
+51137
+44285
+51020
+46041
+51137
+51137
+50948
+54952
+48708
+50628
+49709
+52393
+48533
+51460
+44404
+46041
+52280
+44256
+51020
+52824
+51593
+54889
+50976
+50808
+50577
+48393
+52628
+46024
+52404
+51060
+52824
+49884
+51116
+50836
+50501
+51452
+44048
+47456
+50616
+48120
+44048
+54812
+54812
+50756
+51221
+49849
+48120
+44048
+47924
+50864
+51333
+45224
+44040
+50516
+50516
+50808
+51333
+49324
+49464
+50689
+44284
+44552
+50976
+44592
+47336
+46020
+53748
+44228
+50745
+52285
+45817
+54805
+44152
+50528
+47448
+50724
+49709
+44256
+51088
+50808
+54077
+51204
+52264
+44216
+50857
+50620
+52264
+52377
+49884
+50557
+51333
+51333
+44053
+44368
+44053
+49328
+52404
+52280
+51221
+46020
+47336
+51109
+52280
+52280
+50724
+51312
+44396
+51109
+52712
+52280
+46020
+46020
+49845
+50948
+48176
+47469
+49345
+51613
+54028
+44552
+52488
+50628
+47196
+51092
+47536
+47308
+47308
+52840
+46321
+53440
+51456
+44368
+44432
+50836
+52488
+50836
+44432
+52392
+50669
+54617
+45453
+50629
+50629
+51032
+50508
+54744
+51665
+54644
+44040
+49688
+51648
+50724
+51396
+48120
+51032
+50689
+46020
+50689
+51208
+49436
+50501
+51008
+49688
+52272
+47140
+55092
+47217
+47217
+51204
+50689
+55148
+44397
+52280
+50689
+44508
+50516
+50808
+45432
+44428
+52488
+52268
+47564
+51204
+51204
+50620
+50516
+50516
+54732
+45432
+54732
+52380
+44340
+52380
+51452
+54889
+44221
+49692
+49548
+49548
+47157
+44277
+51340
+44368
+44144
+44277
+44145
+47924
+48512
+48512
+52264
+44396
+44396
+44592
+51060
+49324
+54028
+52824
+49548
+54637
+51060
+44540
+49552
+44428
+54047
+49552
+44148
+48520
+51105
+51105
+49884
+54252
+51221
+49688
+48276
+45393
+49324
+48516
+54028
+51648
+55148
+54840
+45812
+50948
+51109
+53461
+45824
+47568
+54588
+47568
+52393
+48520
+47156
+51656
+52628
+48177
+52824
+51228
+47589
+50669
+50696
+48337
+44049
+44428
+45376
+49688
+45824
+51221
+49464
+52488
+51652
+49324
+44400
+49437
+48169
+45824
+44480
+51452
+48337
+51109
+51204
+50756
+45824
+50976
+49345
+49341
+44592
+52293
+44341
+47784
+46020
+54980
+51221
+49688
+47729
+50948
+50501
+54253
+44060
+48169
+48337
+45393
+44277
+48152
+54889
+46020
+47729
+44032
+46321
+55064
+51333
+49340
+47564
+47561
+54364
+44341
+52293
+47561
+48169
+51109
+44221
+52380
+48373
+52824
+47924
+48264
+45817
+54224
+54224
+51109
+47729
+51312
+52392
+48516
+47805
+48169
+51452
+47736
+51452
+51208
+54732
+46976
+44036
+54217
+50672
+44204
+48337
+48337
+54665
+44036
+50836
+54872
+50976
+50976
+44592
+50628
+48708
+52397
+52769
+44305
+51109
+51200
+44221
+48708
+44552
+46024
+49345
+44592
+50500
+55124
+44060
+49436
+47140
+47924
+50517
+44256
+51025
+51200
+54252
+51216
+50517
+47896
+44221
+51088
+48512
+46041
+48169
+54224
+49345
+51032
+51656
+51312
+52824
+55092
+46020
+51340
+54952
+46020
+44592
+44256
+48169
+51221
+50976
+54252
+48337
+47497
+47000
+48708
+51201
+50516
+49436
+44053
+50857
+53441
+49569
+49436
+44221
+50864
+50976
+47896
+49688
+52769
+49345
+54224
+44396
+54633
+50808
+47448
+54616
+50684
+45229
+49688
+52824
+48512
+44221
+44396
+44396
+44540
+50724
+44285
+47336
+51020
+47308
+45824
+47197
+51060
+51452
+51204
+46020
+49884
+55136
+47896
+52285
+47924
+54224
+44305
+44275
+44340
+48317
+51109
+54644
+47492
+47492
+47308
+50668
+51201
+50689
+49440
+52397
+50745
+47140
+52397
+51064
+49692
+50672
+51221
+51201
+48149
+44148
+54924
+45236
+54924
+44277
+51077
+44060
+48320
+51060
+44592
+45453
+48516
+44144
+44048
+54785
+51109
+54224
+51061
+51068
+51060
+49340
+49885
+51060
+49884
+49884
+44417
+51312
+51064
+54840
+48520
+54861
+50724
+53748
+51060
+44053
+54028
+49888
+51228
+51109
+44404
+46020
+48512
+51200
+48120
+54788
+54840
+52488
+45432
+44221
+51652
+51060
+48120
+54872
+47564
+49548
+50557
+54788
+44221
+46024
+51109
+44053
+44053
+48533
+53444
+44053
+54596
+54596
+49453
+53444
+44148
+44396
+44032
+48156
+54596
+44396
+51204
+48324
+49548
+53444
+54869
+44053
+54945
+48120
+54869
+47564
+54869
+44228
+44228
+44480
+45817
+47197
+47197
+45800
+54812
+52404
+55064
+55064
+51060
+51060
+51060
+51060
+54869
+54869
+49340
+54805
+47928
+46041
+50616
+50616
+50865
+47532
+52292
+54364
+51312
+48712
+54077
+50857
+54364
+52285
+50689
+47532
+52377
+48149
+53440
+44553
+48169
+49569
+50669
+50773
+52384
+54588
+51648
+47161
+48520
+50773
+51221
+51312
+50773
+44221
+45824
+49436
+49692
+55124
+50577
+54924
+50984
+54980
+47456
+51221
+52377
+49436
+44221
+46020
+51333
+51333
+47000
+51333
+46301
+48176
+49324
+47144
+44592
+49345
+52824
+51333
+51452
+47000
+50612
+49453
+52264
+44148
+49884
+44032
+54200
+54889
+48373
+49692
+50948
+48169
+50836
+48120
+54812
+51221
+54364
+51228
+45909
+51669
+51669
+48324
+45909
+51333
+52384
+50836
+50808
+50836
+55064
+48120
+47329
+50577
+54252
+44396
+49900
+49900
+54596
+50613
+47477
+51064
+46020
+51221
+44060
+44592
+51064
+51064
+52380
+53456
+53945
+53945
+44036
+55128
+53468
+52492
+51648
+47581
+47581
+54812
+48276
+51025
+52392
+48124
+48124
+52649
+52649
+50724
+44553
+50724
+55148
+44060
+50864
+50756
+52509
+51333
+53132
+50668
+48320
+44592
+51648
+52684
+52840
+53468
+46024
+44160
+50684
+54844
+55113
+45684
+50773
+54744
+55124
+44053
+54848
+55176
+48516
+48512
+53468
+51333
+47924
+50864
+52285
+52285
+44144
+50696
+54252
+52488
+48124
+48708
+51089
+51608
+50521
+44396
+48152
+45432
+45432
+51221
+54028
+54252
+52393
+44256
+54840
+51200
+45804
+50689
+49324
+51452
+51228
+53468
+51060
+46028
+50864
+48512
+44553
+54217
+49457
+50896
+45768
+44340
+48520
+55148
+54596
+50976
+44161
+54788
+52509
+48337
+54889
+50900
+52636
+54588
+52636
+49892
+53444
+50689
+52509
+45824
+47568
+44592
+50669
+52824
+51076
+49692
+49884
+55184
+47196
+54637
+44305
+47784
+51648
+54801
+47144
+51312
+54889
+51656
+54840
+44277
+44452
+54637
+49436
+44368
+49436
+49324
+44284
+44508
+50577
+50640
+54924
+52825
+44292
+51060
+55113
+44340
+47536
+54924
+51088
+55100
+52824
+49345
+45685
+54620
+51008
+44033
+53685
+45392
+44277
+51204
+49885
+55137
+50676
+48337
+44036
+45909
+54812
+50501
+44508
+53685
+50684
+44060
+52769
+45516
+50868
+47581
+50857
+50857
+50672
+48708
+44260
+52488
+50676
+50668
+49436
+44228
+49892
+52384
+47536
+51228
+54620
+54840
+54801
+52377
+54252
+51021
+44204
+54924
+55148
+54056
+47928
+50696
+54805
+49569
+51204
+51221
+47532
+50724
+50724
+50976
+47532
+47049
+54872
+52509
+50613
+50676
+47532
+45768
+45516
+50501
+44033
+54788
+44036
+50724
+48124
+51333
+48708
+48708
+45909
+52684
+52285
+48124
+47140
+44228
+44288
+44288
+54665
+46020
+52376
+44277
+52392
+47200
+49437
+44048
+44260
+45377
+51221
+52628
+46024
+44284
+52392
+47049
+50756
+50896
+44552
+44592
+46988
+52285
+54841
+54868
+44428
+45812
+52377
+52377
+45393
+47581
+52384
+54848
+54844
+49437
+52285
+55124
+50976
+54812
+50501
+49604
+52509
+54788
+49688
+51216
+44396
+52280
+51669
+45909
+48708
+54801
+52280
+53444
+44288
+53440
+45516
+50868
+49345
+52684
+52393
+54889
+51456
+44221
+50556
+49457
+52769
+54200
+54844
+49688
+51228
+52488
+49688
+48156
+49440
+50808
+44201
+44148
+50948
+50976
+50976
+54605
+55012
+54872
+48124
+54085
+51032
+47732
+50857
+44172
+49345
+51020
+50501
+49900
+47924
+44032
+44033
+50864
+50528
+54801
+50616
+50672
+44048
+50728
+52509
+49352
+47497
+48516
+50689
+44452
+44340
+44033
+44277
+50868
+49548
+49548
+44592
+50836
+49569
+54889
+51656
+44264
+44396
+52285
+45769
+54801
+44060
+51221
+50857
+52488
+49552
+49888
+48149
+44060
+50896
+54644
+55124
+50857
+50521
+50984
+49548
+46020
+51008
+51088
+55093
+44216
+53468
+54889
+50728
+49888
+47749
+44277
+49453
+51333
+54364
+47784
+47784
+44341
+52825
+52280
+52280
+52280
+52572
+48124
+53945
+51109
+53685
+50724
+49345
+47564
+44288
+44033
+51312
+44396
+54812
+44060
+47144
+50864
+51333
+44540
+51008
+47140
+49345
+50948
+45800
+47564
+44036
+49845
+50857
+44221
+44053
+51228
+51665
+47336
+44428
+52377
+52377
+50837
+48729
+47308
+52509
+50864
+50857
+52824
+53685
+45817
+44172
+54728
+54077
+48708
+48324
+49692
+44368
+51613
+51228
+50672
+48729
+44452
+54812
+52488
+51669
+51008
+51008
+55148
+55148
+53444
+45812
+53440
+45824
+45824
+49549
+44432
+52293
+54952
+48152
+48516
+47196
+47196
+46041
+44048
+44172
+54620
+48124
+44221
+47308
+47924
+52280
+55100
+52628
+54732
+49900
+49849
+48317
+50613
+52488
+49452
+45516
+45812
+53444
+44221
+49569
+44048
+50836
+50808
+54872
+46041
+44540
+44540
+44144
+51312
+44036
+54644
+51025
+50724
+47924
+50669
+47492
+49353
+51456
+54924
+47928
+46972
+50528
+47492
+50684
+44292
+54616
+52404
+50668
+51008
+45824
+47805
+50528
+47805
+45824
+51228
+47560
+46988
+47928
+51452
+52824
+45208
+45208
+50684
+50577
+48149
+52824
+44305
+44305
+50864
+48512
+47448
+47736
+51669
+54812
+52280
+47805
+45208
+54924
+54788
+50577
+52280
+44592
+44396
+54872
+49453
+51032
+50672
+45212
+47560
+45817
+54869
+45817
+45817
+45817
+44284
+50900
+47924
+51092
+49696
+49688
+50997
+55148
+49457
+50500
+44228
+44032
+51092
+51109
+54841
+52285
+51204
+46041
+52377
+50508
+51656
+51201
+50508
+44537
+49884
+44048
+51665
+44508
+44060
+46321
+51204
+52285
+44032
+51204
+51208
+50669
+51204
+51064
+50977
+55148
+51204
+55148
+55148
+52265
+45824
+44396
+54840
+54840
+54840
+50529
+49324
+53468
+47896
+54840
+47140
+48169
+49548
+54200
+51216
+44221
+49345
+51060
+51032
+49440
+54840
+48708
+50684
+49688
+49688
+51116
+52272
+44396
+47477
+48373
+48176
+53440
+51081
+48520
+51077
+51116
+53441
+51109
+51089
+44053
+50864
+50864
+54620
+49888
+52264
+53440
+55128
+44396
+50732
+46024
+52380
+51665
+51064
+54869
+47928
+49548
+50577
+45684
+48516
+52264
+50864
+44553
+44552
+48152
+44040
+50612
+48512
+50724
+49437
+48708
+51648
+51088
+50529
+46024
+51312
+49849
+44592
+50672
+44305
+48320
+52488
+44396
+47928
+44264
+50900
+44208
+54028
+52840
+52840
+49849
+50868
+50756
+45580
+50613
+49436
+51312
+48512
+53804
+46160
+54637
+51208
+48512
+47924
+54252
+48156
+50836
+53469
+45800
+44396
+47452
+52285
+44512
+54840
+48372
+48337
+51648
+54217
+50684
+54252
+54588
+53468
+50976
+51652
+51200
+50521
+54252
+54616
+45768
+49444
+51200
+51656
+48708
+51105
+47568
+47588
+49888
+50517
+52628
+44161
+48124
+52629
+44032
+48520
+51092
+51452
+45800
+53441
+47924
+45392
+45225
+48512
+54252
+48152
+48149
+47161
+45208
+44340
+44216
+44144
+52377
+48156
+53440
+53440
+50836
+44396
+51320
+48320
+52488
+48176
+48176
+51200
+51032
+44144
+54869
+47217
+44036
+51105
+50745
+46976
+45397
+48156
+53469
+52380
+55124
+44292
+49885
+44600
+51613
+45784
+44277
+44277
+44428
+51204
+51316
+52272
+44256
+52824
+54801
+52293
+54924
+54217
+50696
+49845
+45208
+48317
+51648
+44312
+51656
+54869
+53440
+53440
+51648
+49444
+50504
+47217
+51652
+44201
+44368
+44256
+46041
+45208
+46020
+47148
+52264
+47140
+51217
+50508
+44208
+47148
+44144
+51648
+47144
+50500
+44284
+45804
+54801
+50836
+45817
+44368
+51137
+51228
+54844
+51104
+50864
+50528
+49464
+45208
+51340
+48156
+44221
+52404
+51652
+51221
+49324
+49324
+44221
+47588
+47217
+44397
+48169
+44204
+51021
+51221
+50672
+45516
+47564
+54801
+49341
+48393
+44260
+50724
+44400
+44396
+53685
+44260
+54785
+46020
+52265
+48512
+46980
+54036
+54620
+49548
+45216
+50672
+52769
+49569
+50556
+44033
+54252
+50756
+52377
+51456
+50696
+51116
+47140
+49688
+53448
+47196
+49552
+48337
+44160
+54872
+46020
+48120
+50756
+44552
+48393
+49324
+47148
+48124
+47928
+48512
+54056
+44144
+46020
+50752
+50528
+44428
+50501
+52509
+51204
+52628
+52393
+53468
+48516
+45216
+50684
+45516
+51320
+50508
+49436
+55124
+51137
+51216
+49548
+47452
+52397
+44053
+52384
+49688
+46020
+48512
+51200
+51109
+54844
+44592
+46020
+44217
+44592
+48176
+49689
+44204
+47497
+50529
+50500
+44404
+51137
+47049
+44312
+50696
+54841
+49452
+51221
+50557
+52292
+53456
+52404
+48533
+51217
+52377
+44277
+52628
+50628
+51312
+52628
+44397
+52392
+44204
+44557
+48176
+49688
+44172
+47196
+44341
+47749
+44221
+52377
+53444
+47609
+49452
+49548
+44288
+54077
+50672
+45209
+44036
+51221
+52628
+51204
+50976
+50672
+44508
+45224
+54945
+50976
+48317
+50808
+49884
+51452
+49440
+47896
+51228
+50676
+49341
+49884
+52509
+52840
+51021
+49692
+54889
+54200
+50577
+54872
+50628
+51104
+50516
+49436
+50508
+50501
+44061
+52684
+51593
+52404
+46980
+46980
+51221
+44060
+52628
+52628
+46028
+44172
+55064
+44557
+52649
+49325
+49444
+49444
+50896
+44148
+50556
+49341
+49324
+48176
+50836
+47736
+52380
+46988
+50728
+55136
+52280
+44033
+47336
+52509
+44557
+44368
+44396
+44552
+50857
+44033
+52628
+52404
+51204
+49552
+49552
+48149
+55093
+50857
+48169
+52264
+49548
+44049
+50836
+46020
+51648
+45433
+46989
+47156
+49688
+44396
+44256
+54732
+49325
+49345
+51652
+47736
+50529
+52628
+45769
+49440
+53457
+44152
+45817
+48152
+48152
+53457
+47456
+46020
+44264
+52824
+50752
+54624
+44148
+50728
+52285
+51204
+51652
+44201
+55092
+45769
+44428
+52264
+52265
+44201
+50724
+51008
+49453
+44053
+49453
+53552
+54028
+50836
+48712
+49688
+53444
+49332
+49328
+49689
+44508
+50857
+52285
+44341
+48337
+48393
+49556
+51228
+52404
+49688
+51201
+47144
+45817
+47532
+44288
+47197
+46972
+47336
+52509
+44060
+54840
+49324
+52285
+53461
+54868
+52572
+45236
+47560
+51109
+44508
+50689
+52377
+50724
+51648
+52404
+47564
+52280
+44396
+51200
+49353
+45800
+52488
+47784
+47784
+51217
+49452
+44221
+54364
+44053
+51020
+44396
+44204
+47029
+44201
+50689
+44452
+45236
+48324
+47196
+46024
+54620
+50672
+44480
+51104
+51032
+51104
+53489
+53489
+49332
+50836
+54945
+49436
+44048
+44305
+53457
+51456
+50672
+47536
+51613
+55064
+45817
+44368
+44537
+49452
+53456
+53444
+52384
+48156
+52264
+51208
+52488
+47308
+48516
+47924
+54952
+54028
+52524
+52265
+52268
+53440
+48149
+55136
+46024
+47144
+54925
+55184
+47196
+44368
+52268
+45804
+44048
+44368
+44284
+44160
+44036
+50745
+47280
+45229
+45432
+52380
+52265
+53469
+48149
+52265
+44201
+45817
+49353
+51312
+44221
+44221
+54872
+51217
+44552
+54924
+45812
+55092
+44040
+48317
+48317
+50724
+44144
+50685
+50508
+47609
+49688
+48120
+51228
+45824
+53441
+46020
+54805
+46988
+52272
+44144
+50556
+50976
+50685
+50685
+51032
+54868
+51208
+48712
+45397
+44033
+52377
+51600
+54869
+47560
+51204
+55184
+47157
+53444
+54028
+49688
+47196
+47141
+50836
+51201
+48152
+50577
+47280
+52272
+53552
+52268
+47144
+54732
+44400
+54869
+47141
+46980
+54872
+50689
+47196
+47217
+44148
+44144
+52268
+44148
+46976
+49452
+50689
+48120
+50577
+52280
+50689
+52268
+55092
+49453
+46972
+44400
+48120
+47532
+52268
+47144
+53444
+52524
+47140
+51204
+50752
+45817
+44368
+54869
+46988
+46972
+45229
+51648
+44592
+44452
+44592
+49900
+48373
+48373
+49688
+44256
+50976
+44060
+51060
+44277
+44036
+48152
+48169
+51221
+48149
+52392
+44396
+48124
+47924
+44256
+44049
+52293
+54952
+48120
+52629
+44201
+54876
+49436
+44368
+48124
+51652
+44396
+49888
+53448
+50612
+52825
+50724
+54056
+49436
+44368
+53448
+47156
+45393
+54224
+52285
+51204
+52384
+51060
+44048
+49328
+44284
+50684
+46024
+44592
+53804
+54952
+52384
+44368
+44221
+50577
+54633
+48124
+49688
+50528
+44256
+50528
+51221
+51201
+51652
+48512
+49688
+47308
+44396
+54788
+54924
+44368
+49440
+44368
+53441
+46160
+47156
+54224
+53468
+54952
+54952
+47928
+54617
+51228
+51228
+51116
+48712
+44033
+51116
+47049
+48708
+48152
+48152
+46976
+50976
+46976
+48120
+46160
+49849
+50836
+44032
+44257
+49324
+44032
+50976
+51664
+44033
+50508
+51452
+52629
+44540
+52377
+51008
+48512
+51109
+52280
+44396
+51089
+52280
+45800
+52265
+49324
+49888
+51089
+52265
+44540
+47536
+52265
+52489
+45800
+52489
+48169
+44060
+54637
+50612
+49884
+54056
+50976
+47728
+48169
+44592
+51204
+47784
+50668
+54056
+54588
+47448
+48512
+48169
+49440
+51221
+51221
+45768
+51313
+51312
+51032
+47448
+49548
+44148
+50631
+51032
+44592
+52824
+48264
+54364
+48264
+51204
+44340
+49688
+50668
+47924
+44592
+44592
+44592
+54868
+51068
+45800
+44396
+51648
+51312
+54801
+46020
+49692
+50865
+50865
+46972
+44036
+54620
+45824
+51201
+50864
+52280
+49884
+44305
+50577
+49884
+50773
+48124
+48124
+46024
+52632
+50724
+50980
+54056
+50521
+52769
+54032
+44161
+44260
+49849
+54840
+48169
+54840
+44228
+52285
+55012
+47749
+54844
+48516
+44552
+47932
+50669
+49437
+55124
+50672
+52769
+48169
+50837
+49888
+44144
+50577
+51104
+48337
+49457
+50689
+54788
+48520
+51652
+47161
+52632
+54840
+47588
+51089
+47568
+48320
+44396
+54844
+49548
+51333
+49884
+54616
+50865
+48708
+51656
+47896
+45769
+52285
+50728
+46041
+50528
+48337
+50521
+51452
+47217
+54788
+44305
+51312
+51312
+49884
+54889
+54889
+55012
+44340
+44284
+44368
+51652
+51656
+51652
+49345
+46041
+54861
+50504
+54644
+54693
+49604
+54952
+50685
+54984
+55064
+54632
+54620
+51456
+47564
+54788
+44260
+51452
+55148
+49457
+49457
+54252
+51208
+51208
+50724
+54872
+54924
+54840
+49888
+47564
+51204
+53441
+49688
+51452
+48372
+44221
+49437
+49452
+50696
+49437
+52397
+44228
+51221
+44480
+51221
+50669
+51648
+50516
+50896
+47548
+47049
+52285
+50773
+54952
+51104
+48708
+55012
+54872
+51060
+44032
+54984
+55064
+48512
+48124
+44508
+44040
+50689
+46020
+50948
+49436
+52397
+47924
+45224
+44036
+45212
+50516
+50577
+52632
+50836
+52264
+48372
+47749
+44368
+44060
+44256
+50745
+52285
+44592
+54840
+50504
+47141
+50528
+44592
+44228
+47928
+51104
+49444
+54840
+47784
+47561
+51333
+45769
+51109
+54812
+54253
+54620
+49440
+51204
+47308
+49452
+53444
+44221
+48324
+47536
+46024
+55148
+50640
+44592
+54889
+53468
+50685
+50685
+50669
+45812
+46041
+54952
+48708
+45812
+51312
+54840
+50669
+54693
+49457
+49340
+44368
+54252
+44221
+50684
+50528
+50685
+50976
+49436
+47805
+54984
+50836
+54253
+47140
+49888
+44305
+52393
+47308
+50672
+54869
+47140
+55148
+50997
+47217
+45229
+46972
+46976
+49604
+45817
+50628
+52489
+50760
+50517
+44257
+50696
+44221
+50696
+54848
+44040
+49436
+51312
+51312
+52380
+47564
+51613
+51613
+52404
+52572
+52280
+50865
+54924
+51064
+44152
+48516
+48708
+50900
+50976
+50896
+48533
+48152
+48373
+47161
+44404
+44396
+49464
+45685
+51312
+49325
+51664
+46993
+45229
+51204
+47749
+54889
+47581
+46024
+51312
+44592
+44592
+50689
+51333
+47581
+46041
+46993
+47196
+47805
+47217
+47785
+48712
+48120
+47568
+48376
+52272
+52636
+52636
+47792
+51452
+51064
+54036
+48149
+53440
+53440
+46020
+47141
+44396
+44452
+44508
+48708
+54980
+51221
+51088
+49332
+51077
+51105
+44428
+52380
+50864
+44036
+50724
+52264
+49340
+49692
+48276
+50732
+51088
+51060
+54665
+51116
+52492
+51064
+54364
+53441
+52404
+51109
+47581
+52824
+51061
+44264
+44417
+46160
+51060
+44592
+49549
+44053
+51312
+47785
+49328
+54924
+47000
+44396
+47581
+50577
+47560
+52488
+51648
+50896
+54637
+54224
+48176
+44152
+46041
+44256
+47896
+54744
+51200
+52632
+54028
+49688
+54868
+49900
+50976
+51200
+52632
+49569
+54032
+49569
+44161
+50900
+51652
+44396
+44228
+47784
+48708
+48708
+50773
+50521
+48169
+48516
+50696
+48512
+45224
+49437
+54840
+50556
+46160
+49900
+52840
+50836
+51076
+50696
+50752
+47588
+51312
+44284
+51648
+51333
+50868
+54868
+49849
+52628
+51312
+44204
+47141
+54840
+44204
+51221
+49569
+52285
+54413
+45800
+54952
+52840
+44256
+54217
+51060
+49884
+51648
+44312
+54952
+44032
+44032
+44396
+54252
+47568
+49444
+50685
+50685
+49884
+50620
+54588
+53440
+51060
+47161
+48337
+45768
+46989
+54868
+48152
+48276
+51333
+45824
+49324
+50689
+48512
+48177
+47784
+44048
+52832
+50684
+50976
+47924
+49548
+49569
+51088
+54633
+50976
+49888
+44144
+53441
+51089
+45224
+51200
+50689
+51200
+51656
+49324
+49324
+45800
+44256
+54252
+44396
+50836
+48520
+44036
+48156
+46028
+44032
+45236
+51452
+48708
+50976
+49884
+52293
+49324
+52629
+48176
+49884
+44312
+49324
+50836
+51221
+51221
+49884
+52824
+47448
+47784
+54924
+50689
+52293
+51312
+54364
+51092
+51600
+47217
+46041
+47196
+49373
+47141
+46976
+50689
+49688
+49692
+51204
+44228
+51221
+49436
+50984
+52404
+54637
+51664
+47140
+49353
+44292
+44036
+48337
+51076
+44368
+48177
+51076
+54413
+51088
+49688
+50696
+52264
+54728
+51452
+52380
+51228
+51060
+51060
+50865
+48268
+44277
+44256
+47196
+51204
+47148
+54645
+50577
+54645
+44540
+51648
+49885
+44201
+51116
+46976
+48373
+44152
+54637
+44228
+46020
+44305
+50808
+44305
+50668
+50504
+50504
+44428
+51060
+53441
+44256
+51656
+44277
+46041
+49345
+49345
+54872
+44600
+44396
+54792
+53440
+53748
+50864
+52272
+49345
+50549
+49849
+49437
+51092
+50500
+50836
+51221
+45817
+44592
+44368
+54868
+54924
+51109
+51109
+49900
+49324
+49324
+51652
+48176
+51221
+44292
+44221
+48156
+48516
+48512
+50976
+53685
+44033
+55148
+46993
+47448
+48393
+52832
+50728
+44400
+44036
+49549
+50577
+44396
+51221
+50976
+47588
+48169
+47217
+54077
+51109
+51228
+54788
+46020
+51312
+50836
+44257
+54224
+51201
+54632
+51116
+52824
+51064
+54056
+44221
+44204
+54872
+47564
+45208
+54801
+51312
+44592
+54952
+47140
+50756
+52488
+49900
+48516
+49569
+47805
+50724
+51060
+47532
+46160
+52840
+50689
+49324
+44397
+51228
+44228
+44260
+53448
+49548
+52380
+48276
+48120
+51221
+47532
+48712
+47197
+48520
+46020
+51648
+47000
+47144
+44160
+51208
+47161
+47532
+44592
+48337
+47452
+52509
+52380
+47732
+44592
+44592
+52292
+44260
+49452
+46301
+48708
+54056
+48393
+48512
+54844
+51333
+51221
+51312
+44537
+47140
+48533
+50977
+50612
+44256
+44260
+46041
+45817
+44053
+47581
+52404
+49437
+48264
+51137
+51092
+44228
+50672
+50684
+50669
+44428
+50669
+49340
+51076
+52628
+47497
+49436
+51208
+48373
+44284
+47000
+52628
+52628
+46020
+44288
+48516
+48516
+47548
+44221
+50696
+50756
+44285
+47197
+54840
+51217
+51032
+51452
+44396
+44397
+49849
+51320
+47049
+44053
+49885
+52628
+50500
+44144
+48708
+52488
+53441
+52824
+48712
+48533
+51221
+52488
+52285
+47477
+54868
+44160
+44508
+49901
+46021
+52280
+46020
+44480
+51204
+46972
+51648
+44428
+47749
+48512
+44221
+48337
+51204
+51032
+53440
+49340
+53440
+50556
+48373
+55064
+50808
+45800
+44032
+51333
+44048
+51060
+52840
+48372
+50616
+50672
+50672
+51204
+52632
+50864
+44201
+49324
+50501
+54200
+48373
+50836
+54868
+49436
+50557
+50577
+46980
+50504
+48376
+55064
+44508
+44228
+44508
+49324
+54413
+49444
+53440
+51600
+44148
+47785
+47924
+52488
+44256
+54840
+47144
+47497
+51221
+45224
+50976
+50976
+48120
+49569
+50896
+55012
+50689
+51221
+54200
+51217
+51609
+44040
+50629
+51200
+49692
+50976
+51452
+50948
+47588
+52404
+44537
+51208
+54644
+52628
+50689
+50976
+54889
+47336
+50501
+52380
+54693
+54408
+49892
+44060
+54744
+46988
+50728
+50976
+52828
+47140
+44144
+49888
+52628
+48708
+49444
+44032
+51061
+51204
+48512
+45400
+54596
+46993
+50857
+44257
+51652
+44396
+45813
+50836
+51652
+48169
+49332
+50896
+51116
+47749
+49548
+44032
+50836
+44152
+54889
+44036
+48708
+51088
+44148
+47560
+49692
+50896
+49324
+50689
+49884
+51648
+52572
+50728
+51221
+47448
+50857
+45817
+44368
+52292
+49324
+49849
+53457
+54633
+54812
+44264
+44592
+44256
+44256
+49552
+48152
+46020
+46020
+49692
+51204
+45572
+51656
+49325
+44396
+53748
+52285
+52264
+44216
+44340
+47588
+55093
+44277
+44256
+53441
+53441
+44368
+50577
+51204
+44032
+54632
+52712
+46020
+47217
+48712
+51200
+49345
+49845
+44592
+47144
+54812
+50857
+52280
+44285
+44060
+44060
+45800
+54868
+49353
+49340
+52572
+48393
+50976
+44257
+51109
+54840
+54872
+44480
+50620
+50696
+44256
+44053
+44508
+44508
+51312
+47564
+44540
+51201
+51109
+50501
+46993
+51652
+51333
+47532
+49688
+44221
+49345
+48264
+53685
+44288
+51201
+52636
+47448
+47196
+47049
+48128
+45572
+49548
+49549
+44032
+51200
+53489
+54364
+47197
+44508
+51088
+49324
+52628
+51109
+47564
+47784
+51312
+50577
+51312
+48393
+51452
+49332
+49436
+44428
+54945
+44204
+52509
+44592
+50672
+51109
+49444
+50549
+51060
+49900
+51649
+52488
+52572
+52509
+48149
+49688
+54868
+44452
+51652
+51456
+50900
+51204
+54812
+52632
+51316
+48268
+44048
+47784
+47924
+52712
+50836
+47536
+47448
+44368
+54620
+50980
+48264
+51204
+53441
+47308
+50868
+49692
+46024
+53489
+53489
+47609
+44516
+46321
+49689
+44432
+44432
+45812
+54812
+44592
+45208
+49345
+53440
+45397
+50696
+51200
+46041
+51613
+48516
+44221
+50672
+54945
+49900
+44256
+47448
+47196
+44256
+51452
+55148
+49849
+51088
+49328
+44537
+46160
+51221
+47196
+54620
+52628
+50672
+45804
+49688
+44053
+45800
+47492
+45453
+51008
+44201
+49464
+49340
+52712
+49440
+51221
+44036
+44397
+51396
+50613
+44552
+48149
+52392
+47280
+54413
+55036
+45817
+44228
+49688
+48317
+48317
+51221
+52488
+44284
+54924
+51609
+54644
+44032
+44221
+49437
+44160
+51109
+46020
+51032
+54364
+49569
+50577
+47492
+47141
+52272
+47805
+51008
+46020
+45824
+47732
+44592
+45800
+48712
+54869
+44228
+50684
+45768
+45397
+51032
+44256
+54632
+51008
+45572
+44221
+50684
+44592
+48128
+46020
+44452
+52632
+51228
+44340
+54028
+46321
+51452
+44033
+47732
+50864
+51656
+54889
+52380
+47336
+47280
+52272
+45432
+47168
+52268
+47140
+47736
+54812
+50864
+47140
+51600
+44256
+46021
+50672
+47141
+54224
+51200
+49688
+47144
+51204
+51452
+44221
+51200
+47196
+50684
+47141
+51200
+52828
+44152
+50501
+49548
+54924
+50620
+50668
+47217
+47280
+52488
+54732
+44480
+44144
+49548
+47161
+50549
+52392
+51008
+50976
+50689
+50577
+45453
+48149
+52280
+45212
+44144
+49933
+49453
+52712
+52509
+44428
+44396
+51109
+44396
+50872
+46972
+47140
+52268
+46976
+45817
+44285
+50628
+46988
+46976
+52489
+47448
+47168
+54028
+45229
+50872
+47161
+44288
+55136
+52264
+54872
+55124
+50668
+50984
+54632
+44396
+44396
+52488
+52636
+44201
+54644
+51064
+44432
+55184
+49696
+54633
+50837
+44340
+46993
+44288
+49688
+55148
+50528
+51032
+44592
+54988
+52572
+55136
+44288
+44048
+44288
+44048
+52380
+49341
+44284
+51064
+55136
+54736
+50976
+44216
+54952
+51060
+44032
+50724
+53444
+44540
+44396
+54840
+51201
+54872
+54728
+48516
+55148
+49548
+54988
+55137
+49440
+44048
+52489
+50669
+51021
+50668
+52384
+54872
+51648
+51221
+52264
+48372
+47924
+44592
+48372
+48372
+50780
+44144
+51204
+52824
+49353
+52824
+49341
+51333
+49464
+49464
+47141
+49353
+50864
+50669
+44480
+50508
+50508
+49324
+49452
+47792
+47792
+47792
+50836
+47792
+51312
+50521
+51652
+49373
+53468
+49345
+54785
+49692
+49688
+51092
+44221
+54364
+44217
+44396
+49549
+44557
+50868
+50684
+51060
+48512
+49885
+50629
+51092
+54844
+53444
+44537
+50685
+51652
+50868
+50728
+52628
+48712
+52404
+44540
+49345
+51064
+51312
+52629
+44452
+52268
+50640
+53444
+46160
+44053
+50684
+48712
+46021
+49452
+49452
+49688
+44396
+45800
+51452
+51008
+49457
+50696
+49332
+44033
+44033
+54952
+51456
+51204
+55036
+55036
+44257
+44033
+44201
+51032
+44396
+55036
+45800
+51032
+54952
+47924
+44288
+47784
+47588
+47588
+50528
+51088
+46021
+50977
+48708
+54596
+48708
+48708
+48708
+54224
+52280
+47784
+49548
+49340
+48708
+47784
+44032
+51204
+49884
+47785
+53440
+49692
+51060
+50997
+49440
+44397
+47784
+54840
+44396
+46160
+47784
+45812
+48176
+44397
+53448
+52712
+48708
+49328
+52280
+47784
+49884
+50976
+50976
+53440
+44040
+44148
+53457
+49328
+47336
+47784
+47532
+46041
+50857
+52285
+48169
+47196
+51204
+49548
+51204
+47805
+47196
+44396
+52393
+50472
+51200
+48124
+44432
+47609
+44592
+54588
+45236
+44592
+46020
+49440
+52380
+48516
+50577
+45236
+48337
+48520
+49888
+46041
+44221
+44592
+51064
+49436
+54644
+50577
+50504
+50500
+44537
+44221
+50500
+46041
+45812
+47197
+52397
+50577
+50728
+50728
+49688
+49688
+49849
+48729
+50689
+45817
+49688
+47477
+45769
+53444
+48276
+44452
+51221
+51609
+44396
+54036
+52769
+47732
+53444
+55064
+51312
+54620
+52264
+51089
+52380
+54872
+48276
+45824
+49437
+53441
+47581
+49688
+55128
+49328
+54028
+54620
+52380
+50724
+50724
+49888
+49324
+50668
+54861
+44053
+51648
+50724
+53664
+44396
+53461
+51648
+51648
+44204
+44264
+44264
+50773
+51221
+51221
+50696
+44512
+44361
+53468
+44204
+44553
+48320
+54032
+44048
+47928
+51333
+48169
+55113
+44208
+50724
+50864
+44592
+48516
+49436
+49436
+49900
+44592
+50725
+50868
+50896
+54637
+50672
+52840
+52840
+53456
+50864
+46024
+54840
+54868
+51208
+47785
+45684
+47792
+45813
+47732
+47932
+52649
+52392
+48708
+49324
+51648
+54056
+48152
+52628
+51105
+44396
+51312
+47792
+53469
+54413
+44396
+47141
+47452
+52285
+54413
+44508
+54840
+47568
+47588
+49696
+51200
+49437
+53441
+53440
+53440
+54616
+47140
+47140
+49884
+48156
+48708
+50976
+51204
+52824
+49548
+44256
+52392
+50672
+49324
+54889
+54805
+44396
+49444
+49688
+51068
+44032
+51333
+52380
+48149
+55064
+48708
+48516
+49353
+52636
+47477
+50976
+44256
+54861
+44048
+48277
+47896
+49324
+54840
+54217
+51088
+48276
+51648
+49548
+51200
+51221
+47161
+54252
+54028
+51021
+49324
+51060
+44397
+50900
+51452
+49373
+47336
+54788
+54792
+48512
+48152
+48124
+53468
+50521
+51228
+50689
+44288
+48729
+54805
+47217
+47196
+45800
+46973
+49324
+48156
+53469
+44221
+51008
+51452
+44600
+50557
+54924
+54924
+51116
+49849
+51064
+50948
+54980
+52380
+50577
+47148
+49324
+44228
+51060
+54665
+48372
+49464
+49353
+51648
+51064
+50724
+49464
+44256
+49688
+54861
+45209
+47029
+50504
+46041
+51060
+47784
+47280
+51060
+48120
+52380
+51652
+48177
+50976
+54952
+49444
+54861
+54785
+49549
+44305
+46020
+44208
+44144
+51060
+51452
+50668
+48337
+49692
+55113
+51656
+44305
+50896
+47749
+54876
+50752
+55137
+54028
+50724
+44257
+50976
+51068
+54801
+51221
+52380
+51109
+50836
+51221
+49324
+53441
+52769
+48268
+54924
+51228
+47448
+49328
+54844
+54728
+45453
+49900
+51652
+47148
+44396
+48120
+51208
+51456
+54632
+48712
+48169
+52265
+50976
+55148
+48156
+46160
+50756
+44361
+51021
+54252
+50689
+46988
+54840
+45229
+54620
+47532
+44221
+48512
+50724
+47532
+49692
+48393
+51061
+50837
+46041
+47196
+54644
+52840
+54801
+52649
+54805
+47588
+49688
+51201
+54056
+44204
+49340
+46020
+44260
+48729
+50676
+44036
+44221
+49548
+49453
+45380
+46021
+50857
+54952
+50672
+51221
+50500
+49549
+44400
+50672
+51104
+52404
+47532
+49464
+49324
+47336
+49464
+46020
+46021
+47196
+47000
+47144
+50948
+50752
+50868
+54872
+52377
+54805
+50980
+44036
+52285
+49341
+48512
+44288
+54665
+49688
+49604
+50528
+52384
+50529
+50529
+44277
+50756
+54632
+53440
+46041
+54980
+50752
+44144
+49324
+47049
+54844
+45813
+53441
+51221
+52393
+46301
+44428
+52824
+49437
+54952
+44592
+44404
+44284
+54632
+51076
+52285
+51452
+48393
+54840
+52285
+49689
+52376
+48169
+52825
+47449
+45544
+44397
+46020
+51333
+45572
+51228
+48729
+48708
+49569
+51204
+48708
+45812
+50669
+50696
+50612
+47197
+44048
+48128
+51221
+47497
+50980
+51020
+49772
+44144
+54924
+50977
+49900
+49900
+54364
+49692
+50732
+50672
+47000
+54844
+52397
+50628
+52380
+52392
+47896
+51648
+51020
+47729
+48516
+50672
+47928
+50557
+48708
+52397
+50672
+44040
+51228
+49453
+50672
+49341
+47197
+51648
+46021
+44592
+51216
+48124
+48708
+48512
+50612
+50672
+49900
+49340
+50976
+54872
+51200
+44048
+45212
+53804
+52628
+51221
+44144
+46020
+54413
+49324
+48156
+50501
+50752
+51228
+50808
+50728
+50976
+49444
+52769
+50948
+44032
+54637
+50628
+54861
+49440
+48120
+44040
+47896
+50689
+50672
+50976
+44361
+47896
+49457
+48120
+51116
+54844
+45236
+44508
+47549
+50501
+48176
+48120
+47144
+51021
+51021
+47588
+52392
+51452
+50948
+52268
+45800
+47732
+54924
+48177
+49436
+51609
+48516
+51204
+44148
+54840
+48393
+49345
+50669
+51064
+45812
+49885
+44060
+51221
+54889
+53444
+50864
+48317
+48124
+49884
+46028
+49373
+50857
+44201
+46041
+45800
+52628
+52628
+52628
+51064
+53461
+47469
+54925
+50896
+45224
+48164
+50976
+52380
+52632
+47049
+51204
+48372
+49692
+50676
+52824
+47564
+49845
+47564
+50689
+51088
+44452
+48393
+52380
+49436
+47336
+44508
+44060
+44032
+50689
+48156
+51652
+50672
+45817
+50896
+49604
+50896
+47156
+50836
+47805
+51456
+49849
+54633
+53468
+45813
+50752
+50976
+44396
+49548
+47749
+51088
+49884
+51068
+47200
+47560
+48512
+48120
+47456
+51116
+50724
+44228
+50728
+44053
+51649
+49324
+49548
+44592
+51652
+49688
+50868
+52628
+51008
+50857
+54844
+49548
+49325
+51061
+53457
+49845
+50837
+50808
+48152
+52629
+51200
+48169
+50745
+52285
+47736
+44201
+51204
+54840
+54889
+54736
+51088
+52377
+52824
+54805
+48512
+44152
+54876
+44032
+51116
+46020
+46321
+49688
+54596
+44368
+54924
+44260
+51228
+44256
+47217
+52404
+50684
+49453
+47564
+54805
+49692
+47140
+46988
+46976
+54952
+48712
+53444
+50668
+49688
+54840
+54596
+54364
+52404
+44221
+44396
+49340
+49345
+51201
+48128
+50724
+47196
+54840
+54840
+50976
+49328
+48276
+50857
+44260
+47564
+44221
+50612
+54364
+51201
+50528
+49548
+52832
+49324
+51228
+47197
+47336
+50997
+44540
+44341
+52509
+45572
+52841
+44060
+44053
+47532
+50672
+51312
+44368
+52509
+49692
+45800
+44396
+46321
+50556
+49845
+47729
+45817
+47561
+49345
+54620
+50672
+46988
+50752
+49884
+44148
+48393
+49440
+51032
+47564
+51648
+47581
+44053
+53457
+48533
+49688
+52285
+51109
+52649
+49436
+54872
+44285
+51216
+50616
+49345
+47448
+52572
+51228
+50577
+51109
+51333
+50689
+54861
+49692
+49688
+44288
+54805
+49548
+52509
+44260
+49436
+47156
+51656
+50976
+48324
+50984
+52488
+48156
+49345
+54812
+44208
+47924
+54028
+51665
+48152
+44508
+49689
+51104
+51104
+55137
+47196
+49437
+49552
+46024
+54889
+48124
+50980
+49549
+47308
+51613
+52509
+51060
+51648
+47564
+45800
+45812
+51312
+49900
+44452
+50676
+49548
+46020
+51200
+49328
+55121
+54596
+49328
+51092
+51092
+49436
+46041
+48372
+47536
+50948
+49341
+49341
+51669
+44221
+51669
+54896
+50836
+47196
+52384
+44048
+52492
+54945
+49884
+51452
+54077
+54632
+50868
+47448
+54861
+48373
+54840
+54868
+54620
+44036
+49328
+49437
+50724
+47196
+46976
+45397
+50864
+47492
+48124
+51312
+45817
+54620
+53469
+54644
+50668
+47168
+49436
+54617
+47161
+47564
+51088
+50745
+54924
+52268
+47156
+51204
+50629
+50724
+54872
+52828
+51204
+47564
+45812
+45812
+50613
+49688
+48317
+44144
+45804
+44552
+44201
+53441
+47156
+45453
+44284
+52840
+48516
+49353
+51609
+49688
+50696
+52488
+45813
+52509
+51221
+49836
+51200
+47280
+48712
+47156
+45768
+49845
+49436
+47729
+45397
+50689
+50689
+47805
+51652
+44592
+48708
+51228
+54840
+50976
+52712
+50508
+46020
+51064
+51008
+45824
+51088
+54840
+51221
+45224
+51456
+50528
+48373
+53441
+50976
+48712
+44257
+51104
+50689
+48712
+54876
+47564
+52285
+47925
+52380
+50976
+46973
+52268
+50668
+47168
+50864
+50577
+47196
+49324
+51600
+54805
+46021
+50773
+55064
+49324
+48152
+49900
+54364
+51204
+47568
+47448
+52392
+54253
+49353
+51669
+44257
+48712
+44285
+54732
+47196
+52828
+54620
+50689
+50997
+47141
+51221
+49548
+54805
+49688
+50976
+54644
+54924
+54840
+51200
+47217
+47280
+45824
+48264
+44257
+47280
+49688
+47548
+50689
+48120
+44228
+47156
+52380
+50689
+48516
+47548
+51061
+52392
+50557
+52280
+45824
+50577
+44148
+46976
+48264
+49345
+50672
+52265
+54413
+49453
+47448
+46988
+52509
+44396
+50745
+52392
+48277
+44288
+44432
+50684
+54840
+54805
+49604
+52268
+46976
+50684
+46972
+48120
+49440
+53444
+45817
+44368
+52380
+50689
+54840
+54028
+52489
+46988
+46976
+45229
+47564
+46976
+52380
+54788
+50684
+44277
+50684
+50872
+54868
+54868
+47736
+44305
+51221
+54924
+54952
+54952
+55064
+54861
+47161
+51312
+49440
+44396
+53440
+49324
+51201
+51089
+51116
+51116
+52268
+50577
+44592
+51333
+48516
+45684
+44221
+47928
+48149
+50669
+47196
+52712
+48176
+44060
+48152
+50684
+44060
+48169
+47785
+52488
+47308
+44208
+54637
+46024
+44305
+55124
+51088
+44305
+44305
+50948
+52285
+48320
+45804
+50517
+51221
+52636
+44032
+49548
+48520
+48156
+53440
+53440
+47161
+51320
+54788
+44144
+53444
+54252
+54805
+54252
+53468
+53468
+48337
+50521
+46041
+49452
+51452
+51089
+51216
+50948
+49437
+47144
+52824
+54889
+51452
+54840
+49325
+46976
+44221
+44368
+55100
+54665
+51204
+50676
+54872
+50577
+55092
+55092
+49440
+51020
+50724
+51452
+50836
+49885
+44228
+46041
+54792
+51116
+44060
+54861
+45209
+54633
+52489
+55012
+51613
+48149
+50672
+44340
+44305
+53469
+54924
+44256
+49888
+48264
+49548
+50685
+54924
+44288
+53461
+49888
+50676
+47148
+55148
+48512
+44221
+52384
+48372
+44221
+51089
+51221
+50756
+54924
+54077
+46993
+50672
+54988
+48393
+51201
+47469
+44257
+55148
+49689
+54785
+54984
+44257
+44208
+49548
+55148
+50616
+54620
+51109
+51456
+51228
+52384
+44592
+50724
+44260
+47140
+54632
+50684
+54872
+48124
+44397
+46020
+48176
+48516
+47536
+54844
+54844
+46024
+49437
+49772
+47924
+54861
+52488
+48512
+50508
+52488
+52509
+48393
+48533
+44417
+49444
+49437
+44221
+55124
+51089
+50684
+54785
+50556
+51089
+50977
+44053
+50672
+48708
+44256
+47581
+49849
+52285
+49548
+47749
+45392
+44221
+44404
+49900
+54785
+44508
+51333
+45800
+54616
+55064
+54413
+50672
+55012
+49457
+54889
+52488
+51204
+54589
+50689
+51088
+50948
+45800
+51216
+55148
+45212
+45212
+48520
+50672
+44221
+44221
+50865
+48120
+49332
+50948
+51105
+55124
+44221
+50976
+47588
+54872
+54980
+51312
+50808
+48264
+52628
+49688
+50577
+47148
+51088
+44060
+44256
+44284
+48372
+54840
+50728
+45224
+49885
+47049
+54200
+44396
+53748
+45817
+52628
+49440
+51008
+48149
+50685
+54801
+55148
+47924
+49885
+50728
+54633
+54952
+55148
+50868
+50885
+45236
+49452
+44417
+50836
+54984
+47749
+47156
+54805
+50724
+50857
+44277
+46020
+52285
+47448
+55148
+54596
+54364
+52509
+47197
+44204
+49689
+49845
+47336
+48393
+52572
+51061
+53685
+51089
+51333
+50948
+54840
+51060
+51088
+50724
+50948
+47308
+49440
+44396
+50676
+44221
+47564
+44260
+51201
+52268
+51613
+51104
+55148
+55148
+55137
+51061
+49548
+52824
+54889
+52380
+50685
+52392
+50672
+50684
+49452
+44368
+51316
+46321
+46024
+49888
+52488
+48516
+49324
+50836
+50984
+51064
+46041
+49548
+48516
+48264
+50672
+49900
+46976
+48124
+53461
+51068
+44221
+48124
+44221
+52488
+50689
+50865
+50669
+54364
+46988
+53468
+51312
+52268
+49688
+55148
+44201
+52509
+47156
+55036
+52489
+49453
+47161
+50528
+51032
+54801
+51312
+54924
+45804
+45453
+46988
+50976
+55148
+44256
+54984
+49888
+51452
+46020
+50836
+54785
+46988
+54364
+50689
+47148
+47925
+54253
+49444
+47140
+46989
+50724
+54984
+44305
+49325
+47308
+47141
+45432
+51089
+47308
+49452
+55148
+49453
+47329
+50685
+52268
+50577
+50557
+45212
+52509
+51089
+52649
+44288
+44396
+52384
+48120
+45817
+46976
+52489
+46988
+47161
+52268
+50872
+51312
+51312
+54028
+51137
+54252
+52845
+50896
+50528
+50948
+47308
+54869
+51089
+48512
+50556
+54028
+45796
+50556
+54952
+51312
+49345
+51060
+51109
+49345
+44032
+51109
+52393
+51109
+50857
+51109
+54200
+54032
+48152
+49548
+51204
+54056
+46021
+52285
+53804
+49341
+54200
+52393
+48169
+48149
+52285
+50976
+50857
+46021
+50500
+53489
+50864
+50864
+48712
+44396
+47784
+53440
+47784
+45516
+51064
+47581
+48169
+47784
+47785
+44053
+47932
+50616
+44032
+54056
+49324
+52380
+44256
+50976
+44032
+49373
+47924
+51200
+44204
+44428
+51204
+51088
+53945
+55148
+48169
+44221
+44204
+50724
+44257
+49436
+47532
+47532
+48512
+51032
+44053
+51649
+48516
+44428
+49692
+46021
+44396
+44032
+44148
+48393
+54200
+44284
+44201
+54840
+52628
+55148
+48708
+46973
+44060
+47560
+49340
+50948
+47532
+46024
+46041
+44368
+44053
+55148
+47168
+46021
+47157
+54588
+54364
+48149
+55148
+51452
+50948
+44508
+51452
+44204
+44204
+48156
+48276
+44396
+54872
+49884
+51089
+50504
+55184
+49345
+44305
+47560
+50864
+44053
+54056
+54980
+50500
+51008
+48320
+49345
+50980
+44305
+45684
+51201
+44221
+51473
+47785
+54056
+48708
+44201
+51032
+49457
+54252
+50517
+51060
+54840
+47161
+48708
+54588
+45768
+50836
+50976
+44396
+50900
+51200
+45804
+48149
+44256
+49440
+50689
+55012
+54620
+44368
+54617
+51312
+44600
+49692
+49328
+53457
+50997
+49688
+46041
+47196
+46021
+54801
+49324
+54924
+51137
+50725
+49552
+50668
+54224
+48169
+55148
+44204
+47532
+54801
+51008
+49328
+45229
+54056
+51228
+50672
+49324
+47532
+54620
+54744
+44221
+48176
+48708
+54952
+54056
+44592
+50696
+54364
+51008
+47000
+51089
+44204
+44053
+44260
+50684
+44284
+51333
+48120
+52285
+51032
+51228
+51137
+50528
+47609
+49884
+51320
+49324
+47157
+51204
+46972
+54840
+51333
+54980
+50808
+54413
+50752
+50896
+49457
+51200
+47896
+50948
+52380
+54732
+45800
+50508
+45432
+54840
+44032
+54980
+54200
+50976
+50976
+48120
+49324
+50836
+49552
+48149
+47749
+54876
+50896
+49688
+47560
+50896
+50528
+50725
+49324
+54840
+44053
+51061
+51652
+52285
+54840
+47564
+44221
+51109
+47784
+51109
+52280
+50724
+50724
+54840
+52572
+48516
+44432
+54224
+54224
+54889
+48373
+47536
+55100
+46041
+44368
+47308
+49325
+54952
+49688
+46024
+44201
+44040
+44204
+46021
+50696
+54924
+54744
+54644
+46980
+49440
+54984
+50689
+48712
+54925
+45572
+47805
+50685
+50864
+44305
+49688
+47196
+45804
+54732
+48120
+50577
+54872
+45432
+46972
+54744
+44592
+54869
+54788
+47896
+51088
+49556
+47196
+50725
+49689
+50773
+44508
+44032
+51221
+47477
+54036
+44592
+44053
+51201
+52380
+44036
+44396
+50864
+44592
+50668
+52285
+47560
+44053
+50724
+48512
+48124
+44060
+50500
+48516
+48320
+48169
+47784
+44208
+50980
+44033
+50756
+44048
+47588
+45800
+48712
+50948
+48176
+54788
+52285
+50689
+45824
+50696
+44048
+54217
+51216
+48512
+54788
+49352
+54028
+51088
+44396
+44049
+49548
+48149
+51088
+44032
+50684
+49373
+49888
+51060
+51312
+44032
+48124
+49328
+47448
+54596
+51652
+51652
+44033
+48277
+47217
+51652
+44368
+52380
+47140
+44305
+49440
+51452
+44277
+50672
+54980
+50577
+54980
+45209
+49689
+51452
+44552
+51008
+49692
+48372
+51060
+54693
+50836
+54633
+54805
+44508
+52649
+49696
+48152
+54056
+47196
+45817
+47280
+54844
+47928
+50500
+51221
+51228
+47924
+50724
+49457
+44400
+47588
+54056
+51221
+54788
+52265
+54632
+49440
+50616
+44396
+54788
+46993
+51060
+49688
+48512
+50976
+50556
+55148
+47497
+47532
+51652
+47144
+49604
+49548
+48393
+50756
+51221
+48337
+51092
+49772
+48124
+50669
+44144
+52840
+47000
+48124
+47581
+50976
+51204
+49689
+53441
+48176
+51137
+54840
+44592
+50501
+44260
+52285
+44592
+48393
+50756
+47197
+51333
+44288
+50684
+51312
+48176
+47548
+44552
+48708
+54028
+44053
+53441
+44552
+48277
+44552
+44221
+46020
+44060
+54844
+50864
+47784
+48120
+52632
+49440
+51228
+49457
+45824
+50976
+48124
+44048
+50948
+50672
+54872
+54644
+52380
+51204
+51204
+52285
+47144
+51204
+54616
+45800
+50896
+50556
+45432
+54840
+50689
+50976
+54889
+49436
+49836
+47448
+49324
+50857
+49604
+50836
+50728
+50724
+51652
+51652
+54805
+47560
+46020
+47448
+45817
+47456
+46993
+44340
+51204
+52285
+52264
+44257
+51312
+50836
+50528
+48712
+49436
+49345
+44260
+51204
+51333
+44540
+50696
+52572
+52509
+44592
+47532
+50689
+49548
+44396
+49440
+50724
+50672
+47928
+51109
+51064
+54868
+50689
+52404
+47196
+47924
+46321
+49688
+51613
+49900
+44144
+53461
+51064
+47308
+44221
+49689
+54889
+44340
+48149
+44221
+48264
+51652
+47448
+44592
+54812
+44221
+50528
+48317
+52268
+44144
+51312
+45817
+44368
+44260
+45800
+54924
+54872
+49836
+49688
+51204
+52488
+50668
+49888
+48512
+48712
+49689
+47928
+52712
+46988
+49352
+51228
+49440
+50672
+54869
+44060
+47280
+46021
+47141
+51656
+50976
+47140
+52268
+44221
+51201
+44340
+49688
+46980
+47217
+47196
+47141
+52268
+46976
+50689
+49352
+50577
+55092
+44288
+46020
+52268
+54872
+44284
+54252
+51656
+48149
+54840
+51665
+54364
+54032
+50577
+47168
+50752
+49901
+44053
+52380
+54032
+48516
+48169
+45812
+50745
+44396
+48516
+47784
+53668
+54840
+47161
+51060
+48337
+51088
+48177
+44204
+51109
+52824
+47532
+45817
+47609
+48512
+52628
+48337
+48320
+52628
+44204
+47532
+51088
+50549
+44228
+54632
+47336
+51201
+44396
+47609
+51204
+54077
+47536
+51613
+47924
+48317
+45812
+50745
+50549
+50616
+44048
+45824
+49900
+52392
+52392
+44048
+49345
+49373
+52397
+49888
+49328
+49328
+50976
+49373
+49548
+49340
+50857
+49556
+47197
+48372
+50857
+48393
+47805
+45397
+51204
+50976
+44049
+49888
+49341
+51204
+48520
+45224
+51204
+48337
+51221
+54868
+51221
+44204
+52824
+47609
+48708
+48708
+44396
+49692
+47448
+52285
+47896
+44512
+54032
+48512
+44221
+51204
+44228
+44228
+44204
+50808
+48373
+51204
+47896
+45813
+48152
+44053
+50752
+48373
+45224
+50976
+48516
+51652
+52629
+47924
+47924
+52769
+51204
+54644
+54596
+45813
+52824
+50557
+55092
+47029
+48264
+51032
+48264
+54868
+50668
+50668
+47924
+51456
+51060
+47448
+50668
+52393
+51452
+54868
+45817
+52384
+44592
+50896
+44053
+49849
+52285
+53668
+47280
+44592
+51105
+47448
+52393
+53444
+47536
+44053
+44053
+51452
+48317
+52393
+52393
+54596
+49453
+45800
+49548
+49548
+52404
+51032
+45377
+45236
+51221
+48708
+51208
+47308
+44277
+55128
+44396
+51452
+54616
+49328
+54980
+54617
+47140
+50577
+51652
+50864
+54028
+44060
+54792
+51200
+50500
+52684
+48708
+50669
+47141
+51333
+52285
+54413
+51452
+54252
+54588
+44048
+50500
+51088
+49444
+51200
+45804
+51652
+48277
+51648
+46041
+51200
+51656
+48708
+44396
+51216
+44032
+54788
+51088
+48337
+45776
+51613
+50745
+44221
+51204
+52649
+53685
+51060
+54644
+50976
+54924
+53440
+50577
+52824
+52824
+55124
+50500
+47588
+46160
+44221
+54952
+53685
+46021
+47581
+48708
+49548
+49328
+48512
+51060
+51648
+51340
+53448
+50724
+49324
+47196
+49688
+53444
+44036
+50669
+48533
+51109
+44288
+45812
+48708
+47560
+47548
+52824
+44228
+51204
+50516
+52404
+48708
+48708
+48124
+44256
+53748
+50500
+50948
+50612
+52684
+50500
+52489
+52488
+45800
+52280
+51333
+44228
+50976
+54980
+54413
+46980
+50577
+49900
+46020
+50976
+44284
+50728
+53444
+44256
+54616
+51020
+50696
+47336
+49548
+44432
+44228
+49885
+44288
+50696
+50728
+52377
+52285
+48152
+50808
+47448
+52292
+49688
+54617
+51204
+53457
+48324
+53444
+51109
+54364
+52280
+51313
+46972
+50696
+51333
+52628
+51109
+52292
+49688
+49353
+44032
+51312
+47336
+47336
+47561
+44540
+51008
+50689
+54889
+48373
+50836
+47469
+52488
+47448
+47196
+44036
+54224
+45800
+51020
+54617
+50516
+48152
+44036
+54872
+44340
+45453
+50976
+48120
+50613
+50745
+48317
+47280
+47140
+49436
+45812
+47492
+51204
+47492
+46972
+48324
+51228
+52824
+50577
+49440
+51208
+51669
+47925
+47141
+44285
+45208
+51201
+51204
+49440
+50689
+51008
+44396
+50745
+53444
+51204
+47336
+47144
+46976
+48156
+44036
+44228
+48156
+48156
+46321
+48156
+48177
+48177
+44032
+44553
+51312
+51312
+47784
+51201
+54028
+44060
+54889
+44480
+52404
+47161
+44256
+47568
+51593
+44368
+54077
+44256
+50528
+50500
+54840
+54620
+48317
+54872
+51452
+52380
+49437
+50528
+54952
+54840
+54889
+54840
+52293
+52572
+54840
+54952
+50685
+54028
+54840
+44368
+50528
+49457
+54889
+47141
+54364
+54617
+51089
+54588
+44036
+54252
+52628
+44400
+44396
+51456
+51089
+49324
+44256
+44400
+44400
+52628
+49324
+51068
+51204
+46021
+47749
+44592
+50689
+50864
+48176
+51312
+52649
+48516
+54633
+50689
+54868
+51061
+48156
+50756
+54633
+50521
+51092
+50684
+44048
+54633
+50864
+54924
+48276
+44060
+46020
+48152
+48372
+44396
+49457
+46020
+47197
+51092
+47609
+47532
+51652
+54785
+44048
+48152
+44288
+50516
+45432
+49688
+51452
+53461
+50516
+44256
+47140
+47785
+51221
+44036
+50864
+47609
+47581
+51649
+44592
+50896
+51204
+49345
+49692
+55124
+54812
+48152
+48393
+49692
+48124
+47749
+49457
+49884
+50868
+47732
+54032
+48169
+47896
+53456
+48120
+47784
+44036
+54788
+44396
+49884
+50521
+51221
+50976
+49888
+54876
+45813
+51652
+54889
+44396
+49888
+51060
+49373
+47588
+47568
+51200
+51652
+51652
+47732
+51200
+50896
+51656
+51060
+51088
+51088
+52488
+51105
+54788
+48337
+48120
+47329
+55092
+46041
+48120
+51656
+51060
+51060
+47749
+49692
+52824
+44305
+44428
+47784
+51652
+51312
+50577
+50504
+47589
+51473
+47589
+52265
+51221
+48120
+51456
+52488
+54872
+54872
+51228
+51221
+51340
+44204
+50500
+47564
+54788
+55148
+44260
+47000
+44160
+49452
+51204
+44260
+50756
+47497
+49437
+44221
+47148
+50528
+51221
+51221
+47532
+47000
+49688
+44428
+49688
+49688
+46021
+48708
+48708
+47785
+54844
+50696
+47197
+50669
+52393
+52292
+52628
+50976
+54844
+47568
+54616
+49457
+55092
+44260
+51116
+52632
+44148
+48120
+46020
+54980
+55012
+51228
+44508
+44256
+50696
+47924
+54785
+48268
+50732
+47896
+52628
+44480
+48120
+50745
+44396
+45817
+51652
+44049
+49688
+54624
+44221
+47561
+47749
+47564
+54984
+52293
+51109
+50696
+51312
+44396
+47561
+49692
+51333
+47336
+47532
+47564
+54364
+45817
+44508
+47805
+54872
+49692
+48324
+55148
+52488
+48149
+52489
+51669
+49900
+49692
+47308
+52384
+44036
+44048
+50685
+55100
+46041
+47924
+47536
+44480
+54620
+50685
+50528
+54924
+52392
+44160
+44256
+51312
+44396
+48120
+52628
+49548
+45397
+54984
+50836
+54869
+47805
+47732
+48712
+47732
+47140
+44305
+54869
+54788
+47732
+54617
+47196
+47805
+47329
+44288
+47564
+47532
+52489
+45817
+44048
+52489
+47784
+44557
+44557
+50984
+49325
+49353
+54869
+49884
+51032
+49888
+51648
+54980
+49888
+50689
+44396
+51452
+44368
+51340
+45800
+50780
+44368
+51613
+54869
+54056
+49437
+51221
+52404
+44592
+51088
+50504
+50732
+53441
+44264
+44053
+49437
+48152
+44305
+53461
+47560
+49324
+45800
+44208
+47168
+48512
+48124
+45208
+54925
+44053
+51648
+52404
+44048
+44060
+48516
+50517
+50500
+48708
+52384
+50672
+49604
+51204
+52264
+46024
+50752
+50672
+44552
+54413
+44161
+47568
+49324
+51200
+50725
+46972
+53440
+53440
+51648
+52292
+52840
+50529
+54224
+47784
+51452
+47549
+54212
+45432
+48729
+54077
+47161
+54252
+47141
+54028
+48156
+48149
+49888
+51105
+50528
+47140
+47217
+46041
+50857
+47141
+44305
+52636
+44081
+51204
+51452
+44305
+44508
+50517
+45544
+54624
+47456
+50948
+50528
+46973
+44036
+54805
+50672
+46041
+54077
+49436
+47196
+54861
+49437
+54801
+44368
+54924
+50528
+44368
+50669
+44081
+52488
+44257
+52380
+46993
+44361
+50668
+54952
+54801
+47581
+47217
+50857
+52264
+52377
+50500
+50976
+44221
+47581
+54617
+50672
+49324
+44260
+44257
+51201
+54868
+45544
+51104
+54744
+54617
+49709
+53441
+44081
+48533
+50628
+52628
+44277
+51137
+44592
+51333
+52397
+47548
+44512
+54028
+51221
+48124
+51312
+51204
+54616
+45433
+50528
+49604
+51089
+47497
+48708
+51020
+45824
+47924
+44592
+47200
+50756
+51204
+44053
+48176
+51201
+52280
+50672
+50516
+49444
+51221
+46021
+53440
+44040
+50689
+54200
+44061
+48317
+50808
+49437
+52840
+45800
+54616
+53461
+51228
+45516
+54077
+44048
+51228
+53444
+49324
+51221
+44228
+49692
+54413
+49440
+54869
+54869
+47560
+44277
+45380
+49556
+50529
+51088
+47448
+49324
+45817
+48169
+54876
+48708
+50808
+49345
+45516
+52264
+51204
+54624
+44228
+47156
+48152
+50528
+50868
+53748
+52293
+44060
+46989
+48512
+50836
+44260
+51204
+52280
+52404
+50724
+54077
+47449
+45544
+44048
+52285
+52280
+51008
+47280
+54364
+51201
+47560
+52377
+52572
+51333
+44221
+49692
+47452
+44592
+49440
+47196
+44144
+51613
+46321
+44036
+49437
+47536
+51221
+51216
+44305
+48152
+51105
+44368
+51228
+47141
+44036
+52488
+55148
+51109
+44368
+46024
+54744
+50865
+52628
+44368
+44201
+53469
+47280
+44040
+52488
+44553
+44033
+45817
+51032
+44053
+48317
+48317
+50668
+48712
+44553
+50528
+44060
+44048
+50668
+50672
+47805
+54252
+51088
+48149
+50577
+47568
+52272
+54788
+44305
+47280
+47280
+51656
+50668
+47141
+48152
+54869
+54252
+50689
+47141
+47217
+47217
+47560
+48149
+49345
+44288
+46988
+52272
+50516
+49884
+49884
+47168
+51081
+49324
+50557
+49324
+44592
+50556
+47560
+44060
+50836
+52380
+44592
+44592
+51648
+54077
+45824
+52649
+51076
+51032
+49437
+50864
+51656
+52488
+48520
+48512
+48708
+51312
+51648
+49328
+48120
+51312
+44144
+54840
+52629
+49888
+49688
+49324
+49884
+45768
+47140
+50864
+49345
+50724
+51312
+54364
+51452
+44452
+54801
+51648
+51228
+44256
+51221
+44256
+49464
+52840
+49888
+44060
+44260
+52404
+46020
+54868
+46020
+44592
+44256
+44288
+52544
+47497
+45433
+54408
+44552
+46020
+49885
+47197
+49440
+48708
+51200
+55064
+50976
+44228
+51064
+51088
+54868
+51221
+48373
+50896
+50864
+49440
+50577
+51228
+51032
+47588
+49324
+52404
+48176
+51089
+51652
+50689
+51649
+44256
+45817
+49324
+47560
+53457
+48512
+55012
+44592
+50612
+55148
+44592
+49324
+49440
+45812
+54924
+49688
+50696
+45453
+45768
+46020
+47140
+50577
+50557
+51228
+52268
+47448
+50976
+50864
+50745
+47532
+49444
+44552
+54868
+46021
+49688
+49324
+51064
+46021
+51088
+53440
+44036
+50696
+49440
+48337
+50672
+52628
+52628
+52649
+48516
+47784
+50868
+44284
+52488
+51648
+44081
+48708
+51648
+50612
+48708
+44256
+48152
+54588
+45768
+47141
+50976
+51312
+48708
+48156
+47161
+47568
+52845
+51216
+51652
+50521
+51089
+51656
+51648
+52636
+44144
+51088
+54876
+51201
+52845
+46041
+52824
+54876
+54633
+51064
+51088
+51656
+44040
+51076
+53804
+51060
+51452
+50696
+45453
+48512
+55148
+44256
+46993
+48512
+52769
+49464
+47140
+44260
+44036
+44081
+51228
+51221
+46020
+52488
+49464
+50500
+47452
+47449
+44256
+51089
+51076
+51456
+48169
+54056
+44592
+51649
+52824
+44512
+45733
+54077
+44284
+54408
+51312
+51320
+50865
+49548
+49688
+54693
+51032
+49444
+48320
+44592
+48373
+48317
+45208
+44060
+51333
+51333
+49436
+52845
+46020
+51008
+47156
+51088
+50865
+51649
+52629
+51652
+52824
+46020
+44032
+44228
+44256
+44256
+44257
+50857
+49688
+50857
+51228
+44053
+47785
+49340
+48120
+52824
+44592
+47449
+49548
+51201
+50689
+51008
+52628
+49353
+51312
+51061
+54889
+52393
+44592
+49688
+54952
+48373
+44368
+52265
+46041
+52572
+47140
+49688
+45453
+49353
+50696
+50577
+45208
+50668
+48712
+51228
+53748
+50728
+52845
+54869
+44305
+47140
+54364
+49353
+50577
+51089
+47532
+52268
+54792
+50508
+44396
+44417
+49437
+44417
+44277
+50864
+49340
+51221
+50836
+52380
+46164
+46028
+47196
+51208
+52265
+50836
+54212
+48149
+50836
+48337
+50752
+51460
+44368
+44508
+51312
+50724
+44508
+50836
+51656
+52285
+50836
+51312
+44368
+52285
+44400
+54952
+49457
+44396
+52268
+50752
+45812
+44404
+44284
+52524
+54925
+49556
+44288
+44508
+46160
+53441
+51020
+50752
+50752
+50508
+50976
+44396
+44417
+50836
+50836
+51312
+47308
+50976
+51204
+51312
+44396
+47308
+49892
+50724
+44508
+52285
+49548
+44288
+44288
+47469
+53489
+52712
+47308
+51312
+52268
+44508
+44417
+46160
+51312
+47217
+51208
+51077
+52376
+49901
+48512
+52380
+52489
+54945
+44592
+47784
+49849
+48516
+49688
+47896
+44396
+52280
+51200
+47161
+47329
+48337
+44221
+44221
+51109
+48177
+49324
+51456
+44361
+46041
+49569
+51221
+51312
+51032
+49688
+51221
+44396
+44040
+48337
+45800
+47532
+51204
+51613
+46321
+51456
+54868
+44221
+44048
+44221
+51453
+52629
+47477
+48393
+50864
+51648
+44036
+47581
+52629
+54872
+46021
+44228
+54952
+54028
+49328
+44553
+49888
+51312
+49692
+50500
+52404
+50896
+54848
+54637
+49548
+44552
+48708
+54596
+44204
+51060
+46041
+51216
+49373
+44049
+51201
+51460
+45225
+53468
+44256
+51077
+52264
+48124
+54252
+49548
+49324
+48512
+52293
+48516
+54056
+45804
+51088
+51228
+47161
+52265
+45432
+48520
+44396
+48264
+44032
+44032
+48276
+49884
+47896
+54028
+49464
+51204
+44277
+47217
+47749
+48320
+46973
+44228
+44257
+51648
+51064
+50836
+49440
+54596
+44277
+44292
+46321
+54952
+44540
+51204
+49692
+50668
+48268
+44305
+52629
+53685
+44228
+45813
+54665
+52293
+51473
+44396
+47280
+54596
+49324
+45817
+51137
+52293
+48512
+44512
+46020
+54028
+47532
+46993
+44144
+44288
+44204
+54632
+53685
+44049
+51648
+49457
+49328
+49436
+51200
+51089
+49548
+49548
+51221
+54801
+50672
+44256
+53132
+44036
+51452
+44305
+44053
+50868
+50724
+52392
+49548
+44036
+48512
+47000
+52628
+48708
+54224
+48708
+44060
+51648
+44340
+50612
+51204
+51312
+44256
+54840
+51137
+51221
+49341
+52628
+47197
+48149
+44592
+47548
+49328
+44512
+48373
+52264
+44256
+44277
+44216
+44428
+44512
+52628
+44288
+50896
+52293
+51320
+54028
+52293
+54801
+53441
+46972
+45800
+49548
+50557
+51204
+55012
+54200
+49692
+49345
+49440
+48337
+51104
+49457
+54840
+51060
+51200
+50557
+51456
+47456
+50725
+46041
+49548
+49341
+51208
+54889
+49457
+48120
+48276
+52380
+51204
+54200
+48393
+52629
+54861
+54801
+54980
+52628
+47896
+44048
+44256
+44452
+49885
+47336
+50868
+54633
+45817
+54869
+52628
+44256
+48708
+50557
+51613
+44396
+45384
+52380
+49548
+52268
+44277
+48169
+46021
+47456
+48708
+52265
+51200
+49324
+51648
+52629
+52285
+47217
+46988
+51204
+48512
+47532
+49688
+54596
+51201
+52509
+50616
+48393
+51104
+52268
+54056
+54364
+46160
+50612
+47736
+51204
+52293
+49324
+44452
+51060
+54840
+49328
+44396
+51313
+48337
+52628
+44592
+44452
+49549
+47336
+52265
+47197
+45380
+49324
+52268
+51312
+49324
+47477
+45800
+47049
+49548
+48149
+47729
+49884
+53461
+47308
+45800
+51216
+48372
+44036
+48124
+44452
+45824
+44368
+46321
+54889
+49692
+47196
+51104
+49548
+47196
+49436
+51104
+44592
+54056
+44592
+48708
+44036
+44144
+47196
+47197
+52392
+54028
+45817
+49352
+44284
+44396
+52392
+50684
+48512
+51452
+47280
+49885
+46988
+44452
+50668
+54869
+54840
+51652
+45824
+51201
+49453
+51452
+51201
+51032
+44592
+46321
+52268
+51452
+48264
+49688
+52628
+52392
+44285
+46321
+47197
+47196
+51204
+53441
+50689
+50612
+47280
+45453
+52392
+47156
+46976
+52392
+50557
+51333
+44144
+47156
+48320
+45800
+52268
+47532
+49324
+46972
+50689
+54869
+52265
+50976
+48120
+51201
+49901
+49888
+52293
+49888
+50668
+55128
+47448
+49440
+51088
+51064
+52492
+51109
+52380
+44396
+48708
+54032
+47932
+49324
+44053
+45684
+48516
+48708
+49688
+51064
+47784
+52377
+53468
+54840
+54028
+51077
+44048
+44144
+48149
+47568
+51312
+51216
+51452
+47532
+49689
+51312
+47140
+49436
+49549
+54861
+46041
+51088
+52293
+50900
+51453
+47536
+51109
+48177
+45432
+48516
+51060
+44257
+54633
+47049
+44036
+48512
+47049
+52268
+44081
+47532
+50900
+47197
+44397
+44592
+49688
+54056
+51109
+47536
+51333
+51221
+44284
+54868
+49340
+49340
+45817
+48320
+50976
+47732
+54980
+49436
+51333
+54840
+51204
+52272
+51088
+47532
+49444
+48512
+45769
+48708
+44257
+49688
+44256
+45817
+44396
+44032
+51312
+51109
+45817
+48120
+49340
+48516
+51312
+44053
+44053
+47784
+49340
+49328
+45208
+52824
+50577
+44053
+44340
+48317
+54872
+49436
+51333
+54632
+45208
+45800
+50620
+47140
+52265
+51201
+50620
+51312
+46976
+47729
+47729
+44508
+44228
+44277
+51221
+44508
+44277
+44592
+52264
+51452
+49692
+50557
+54861
+50864
+55128
+54872
+51064
+47928
+47928
+44396
+45225
+52824
+46160
+50976
+48512
+44228
+49436
+49692
+48708
+51652
+49324
+44361
+51648
+44553
+48516
+50868
+51076
+45812
+44552
+49548
+48169
+49353
+52572
+44508
+52272
+54028
+44596
+48512
+51656
+52376
+51088
+51452
+54945
+52272
+45572
+49464
+48520
+49444
+49888
+54588
+51200
+44144
+47161
+51452
+49548
+44048
+50521
+48520
+53440
+51652
+53468
+52636
+49884
+51333
+54788
+51312
+44221
+48152
+44396
+47589
+49696
+48376
+44305
+44221
+51076
+54665
+49444
+44208
+51452
+49688
+44312
+48177
+51208
+44305
+54848
+52264
+54872
+44557
+51312
+54792
+44256
+44368
+51204
+44060
+46973
+54788
+48337
+49440
+48373
+44553
+46041
+50997
+51312
+51064
+47448
+49444
+44428
+49436
+54644
+51656
+53685
+49324
+44053
+49345
+54924
+51208
+51665
+44204
+44204
+52824
+47928
+51652
+47140
+49457
+44396
+49548
+48169
+53685
+52488
+54872
+52840
+44221
+49688
+51228
+49688
+54801
+44361
+44201
+48156
+51221
+49688
+53468
+44260
+48512
+44221
+54840
+51648
+50672
+44221
+48393
+44228
+49549
+51060
+51333
+52840
+53440
+47140
+45433
+47049
+51452
+44428
+49548
+44592
+44592
+51456
+44592
+50896
+52380
+49440
+49688
+50976
+44228
+46020
+44288
+44053
+47581
+48533
+52384
+52292
+44284
+52572
+47452
+47448
+44592
+53444
+48317
+51089
+45733
+47732
+52376
+52393
+45812
+51333
+44260
+52628
+49437
+52824
+54665
+47049
+44596
+48708
+50976
+48124
+50669
+52509
+48264
+47197
+49436
+50689
+49345
+51088
+49436
+49345
+54632
+44201
+49440
+50672
+47732
+51665
+45800
+51333
+52404
+48124
+47896
+50672
+49444
+48372
+49884
+52628
+54200
+50756
+44557
+52509
+47732
+50948
+48512
+50948
+53804
+44396
+47896
+54792
+50672
+51333
+54200
+54844
+51064
+51228
+50780
+52824
+50728
+51221
+51204
+53468
+54616
+50672
+52509
+49436
+49849
+50948
+44557
+49440
+50689
+51652
+50529
+52628
+50669
+48169
+44264
+48152
+52628
+44216
+52265
+51204
+49345
+50728
+54624
+52572
+44228
+50857
+46020
+48149
+50868
+51652
+54840
+50837
+44257
+51116
+46321
+54788
+49548
+51652
+51333
+51312
+54889
+52292
+54596
+48393
+52629
+47532
+52629
+50672
+49604
+51333
+47448
+44204
+44204
+47564
+51665
+45572
+47561
+54364
+47144
+48120
+49440
+52509
+51201
+49340
+49604
+48264
+47456
+48533
+50696
+49548
+47924
+50836
+44053
+54844
+49452
+44228
+47532
+49688
+50672
+49440
+49464
+44368
+51613
+52524
+51649
+49440
+49328
+47536
+50984
+48264
+47308
+51089
+51456
+44036
+50836
+52380
+50696
+49688
+44452
+54925
+52268
+55148
+44053
+50868
+45804
+49849
+54924
+44228
+49353
+44204
+44053
+54788
+51312
+52509
+54644
+44201
+48317
+45800
+50613
+45453
+49688
+50669
+50724
+49688
+44228
+48712
+44204
+46988
+48373
+54984
+52268
+51088
+48393
+50557
+47925
+47280
+55184
+52268
+44305
+50864
+49549
+47448
+49452
+51204
+44368
+47196
+51204
+50689
+51116
+50577
+49452
+49688
+52268
+46972
+47532
+46021
+46988
+47448
+47144
+47729
+44508
+50864
+54861
+51452
+49452
+55128
+50557
+44553
+54872
+44305
+44592
+51064
+50948
+50868
+44361
+49692
+48708
+49324
+47581
+45225
+51076
+51333
+47452
+48516
+51648
+47928
+48169
+51200
+51652
+45684
+49436
+49440
+44048
+49444
+48520
+47144
+51312
+49888
+49464
+51649
+51333
+52628
+48152
+48520
+52636
+49548
+50669
+44221
+53468
+48169
+50997
+44208
+44256
+50836
+51656
+54665
+54924
+44553
+54788
+44053
+46973
+51208
+44368
+53685
+44221
+52488
+44204
+49688
+44201
+49688
+51312
+44228
+51228
+51201
+49436
+47497
+50689
+49549
+44592
+48708
+51089
+49345
+44260
+49849
+50976
+47732
+49688
+48533
+51452
+46020
+47448
+44428
+51333
+53444
+44288
+47197
+52384
+52824
+44201
+49345
+54632
+47732
+46988
+51228
+47896
+51665
+50728
+44452
+49884
+49688
+45800
+54200
+49440
+44396
+52628
+50756
+52404
+47336
+54200
+48124
+50672
+51652
+48149
+50837
+51652
+48393
+52572
+54840
+51204
+47532
+50529
+44216
+48712
+54364
+47564
+47448
+50689
+52629
+47924
+49548
+55184
+47308
+49440
+51613
+44053
+44204
+51312
+54788
+44201
+52268
+48512
+49324
+54637
+48512
+44208
+48512
+44208
+48156
+48337
+54637
+51312
+54637
+50549
+50549
+44221
+54616
+44288
+51456
+45812
+51109
+44228
+50745
+50549
+47280
+45812
+47196
+44288
+47581
+47581
+47581
+47581
+54620
+46972
+46972
+48512
+48120
+48268
+44256
+51452
+51200
+47784
+44256
+48124
+44053
+54028
+44312
+51228
+44204
+48512
+49340
+50628
+51312
+51396
+44312
+52384
+50669
+52824
+50516
+48268
+45224
+49436
+49884
+48708
+47588
+47448
+54028
+48268
+51060
+51312
+50948
+54596
+44228
+51613
+46041
+47448
+44592
+44204
+47729
+51312
+45208
+48708
+44592
+44592
+46976
+50577
+48120
+44053
+45804
+48120
+50577
+50976
+50976
+48516
+54028
+44256
+50577
+44256
+44053
+51109
+44256
+50689
+51032
+51200
+51200
+49688
+44036
+51060
+51060
+50997
+44400
+44400
+44036
+54872
+52572
+49440
+51032
+47049
+44053
+44216
+50976
+44081
+44040
+53444
+50756
+55148
+48264
+51204
+48516
+51204
+47156
+47532
+44081
+45572
+50521
+52268
+50864
+44277
+50696
+52649
+50745
+48516
+44361
+49884
+49884
+52712
+48520
+54633
+48516
+51061
+46989
+51061
+54588
+47161
+47308
+51656
+44396
+49845
+55184
+49345
+55137
+55137
+44144
+44368
+54896
+55064
+49548
+49341
+44361
+44053
+51201
+52712
+48708
+50864
+49341
+49884
+51200
+51204
+55012
+49884
+54200
+51333
+50756
+55064
+54980
+54645
+54617
+54620
+44256
+54364
+50696
+47144
+54980
+44256
+47536
+48516
+44368
+44256
+48264
+51061
+54896
+54788
+46020
+50836
+45432
+47196
+44256
+47784
+51088
+44592
+44396
+44396
+44396
+51656
+51656
+51060
+49324
+50672
+45236
+45236
+45800
+47280
+51221
+51088
+44221
+52488
+47784
+50868
+54028
+54588
+52824
+49324
+52376
+44032
+44144
+54633
+49436
+47196
+47452
+51201
+45817
+50864
+47336
+45572
+44053
+48169
+52272
+47336
+44592
+47196
+54869
+50864
+47560
+54924
+51060
+52393
+51221
+50556
+53457
+50857
+44552
+50868
+52824
+45812
+53456
+44361
+44221
+51649
+48516
+49453
+45812
+51652
+52384
+50689
+51221
+50976
+50760
+47308
+47217
+51649
+45397
+51312
+51060
+50508
+51217
+44292
+49436
+47144
+54840
+49457
+47157
+48729
+51221
+52712
+48708
+51200
+44341
+47928
+49436
+48337
+52509
+51221
+50500
+51221
+44396
+52509
+44508
+47144
+50808
+52509
+47144
+50745
+44480
+47144
+50672
+52509
+50724
+49457
+50857
+52397
+50808
+49453
+51649
+45812
+45397
+51208
+51201
+52397
+52397
+45453
+50984
+49324
+51312
+49324
+49689
+51060
+49689
+49324
+51312
+51312
+50977
+50613
+45713
+44592
+44396
+44557
+51312
+55128
+51201
+54872
+54889
+51060
+51064
+52488
+50668
+51452
+50672
+46160
+54637
+50997
+44036
+52264
+50724
+51109
+44256
+51648
+44552
+48512
+48708
+48516
+48176
+48169
+44204
+48169
+49692
+50864
+45580
+54637
+44557
+50672
+44361
+50977
+47928
+54952
+44592
+48708
+55100
+55184
+55184
+54224
+44557
+51221
+53468
+49888
+51333
+52285
+54801
+49888
+50948
+51452
+51656
+45800
+54596
+48156
+48149
+44396
+51216
+48176
+44256
+53468
+51088
+44404
+51648
+45768
+54217
+51088
+48512
+48152
+51652
+54788
+51312
+48176
+44049
+49457
+51648
+54252
+47924
+44144
+54840
+44032
+51060
+50980
+49436
+50521
+47217
+46041
+52852
+47140
+44221
+45432
+50672
+48169
+44256
+51060
+44305
+54644
+44033
+46041
+52824
+54952
+55113
+55113
+51060
+50508
+54665
+48320
+45733
+51088
+44508
+49849
+51312
+51648
+52712
+47588
+54801
+52712
+54801
+47589
+47589
+52377
+54801
+45380
+54924
+49332
+51109
+51228
+45516
+48120
+45453
+47144
+47564
+48156
+47928
+50756
+44396
+44033
+44221
+50976
+54805
+51340
+47148
+51204
+51221
+47588
+49692
+49888
+54801
+53945
+52572
+52489
+49688
+55124
+53448
+54252
+51221
+53748
+54252
+46160
+53448
+45544
+45516
+48708
+50724
+46972
+47532
+44160
+52285
+49688
+52393
+47049
+49688
+48708
+54364
+47452
+48320
+44284
+44480
+49688
+45812
+51204
+45516
+51221
+44060
+49437
+50529
+50628
+51076
+49888
+52384
+48512
+48512
+44144
+48708
+44053
+50756
+46041
+48708
+44341
+51333
+51221
+50501
+47588
+48512
+51204
+51656
+51452
+46972
+50864
+51228
+50516
+49457
+45516
+49688
+52380
+45224
+50868
+51333
+50976
+50501
+49884
+46028
+50836
+44148
+50808
+44033
+50976
+44032
+45800
+54589
+51109
+48373
+49440
+45768
+47732
+50732
+46321
+53748
+48169
+44216
+47140
+50732
+49688
+45817
+49548
+52628
+44201
+51061
+48149
+47308
+52377
+48708
+54644
+44256
+47140
+48712
+44396
+51109
+47197
+44341
+48169
+52572
+54364
+44053
+48512
+45817
+47561
+49836
+51204
+47456
+44368
+51081
+47336
+51656
+49444
+46976
+47144
+46041
+54077
+45768
+49884
+47308
+52712
+44340
+54952
+46321
+48264
+51649
+52488
+49440
+47924
+52684
+50980
+54693
+49688
+48516
+51025
+51204
+44284
+45812
+54924
+45453
+46164
+47156
+48708
+50745
+44089
+52489
+50613
+51204
+46989
+44160
+51312
+46164
+44256
+51228
+52712
+48712
+54984
+45432
+54869
+51109
+54788
+54364
+55141
+44260
+45225
+50672
+47140
+54869
+51104
+46972
+44396
+51109
+47144
+45768
+51104
+49888
+54788
+50752
+44305
+51109
+51076
+44305
+51088
+44368
+50620
+52712
+44592
+44256
+52712
+47732
+50620
+51648
+52824
+44201
+52380
+51656
+51652
+49688
+45824
+51652
+44396
+54632
+50976
+49341
+50836
+50668
+50857
+49437
+49437
+44396
+50668
+50668
+55141
+44144
+44396
+55124
+49444
+49324
+49324
+44396
+51648
+45812
+49436
+51648
+52392
+45812
+54252
+54252
+44288
+54868
+52392
+52380
+49692
+54624
+47924
+51452
+46020
+44053
+49328
+52264
+48276
+54028
+53468
+48276
+54032
+49440
+54637
+48169
+48152
+48708
+54840
+51473
+54632
+52285
+47161
+52629
+52293
+53440
+48149
+54788
+44032
+49440
+44049
+47196
+44277
+48169
+49436
+44284
+48512
+51312
+48393
+47532
+49548
+50668
+46993
+51221
+47448
+48120
+48149
+47609
+45392
+44144
+54889
+49688
+51333
+54200
+47784
+51217
+46020
+48169
+52264
+51061
+49548
+52285
+51312
+47336
+45824
+49444
+50836
+46041
+46321
+45817
+51109
+47196
+51032
+51665
+54632
+54869
+47805
+51228
+47196
+47196
+52280
+49933
+44036
+50577
+44036
+44036
+49353
+50684
+48520
+48337
+50684
+50684
+52488
+52488
+50696
+47477
+51221
+44396
+50528
+51081
+52488
+44508
+51208
+48393
+54872
+51061
+52264
+47732
+48120
+44036
+52380
+50864
+50864
+51089
+44417
+53664
+54616
+44592
+47581
+51088
+55036
+50976
+52824
+54693
+48708
+48512
+46164
+49692
+47924
+51648
+44152
+49340
+47928
+44160
+51064
+48512
+44508
+44060
+54840
+49436
+44553
+44552
+44592
+50896
+48516
+54028
+50696
+49900
+44592
+54868
+54868
+48169
+54848
+44208
+44396
+51648
+50868
+44540
+50836
+52628
+47784
+50500
+48708
+51081
+54637
+51333
+51020
+50864
+48320
+50696
+51208
+50948
+47141
+54596
+50529
+54788
+51109
+52285
+51200
+49548
+51228
+50896
+50684
+47161
+53468
+52488
+51201
+47896
+44221
+47549
+50857
+44032
+47785
+54056
+54252
+44396
+48124
+51060
+51060
+44144
+48708
+50557
+44256
+51200
+45768
+48177
+48337
+51216
+49688
+50836
+49440
+48516
+54861
+50689
+51089
+46041
+51200
+51656
+45216
+44048
+54840
+54217
+47588
+48512
+49373
+44256
+54596
+48120
+48520
+51460
+47924
+48276
+44032
+47784
+47896
+48156
+51088
+47568
+51088
+51200
+52824
+44537
+44221
+47217
+52509
+51312
+50896
+54792
+53664
+44221
+44033
+47749
+47140
+50997
+51064
+44036
+52380
+52292
+49888
+50984
+55092
+51088
+47148
+50724
+45796
+44508
+52293
+52649
+51088
+44396
+44305
+47581
+52824
+44368
+52488
+48373
+50976
+49688
+51088
+44053
+54924
+51064
+45796
+54056
+50857
+50668
+52649
+47581
+46041
+51473
+44204
+52629
+49692
+54872
+44284
+51204
+54644
+45813
+54805
+54665
+52380
+52488
+54805
+51060
+50504
+44368
+52824
+51076
+52380
+51060
+54889
+48337
+47140
+44540
+48176
+49696
+51109
+45804
+54801
+50836
+54596
+51593
+44368
+54924
+51228
+53461
+50864
+49569
+54984
+54805
+46973
+54805
+45812
+49888
+49552
+51020
+47588
+54861
+51312
+50557
+46160
+48120
+47532
+46160
+48512
+51064
+51020
+54616
+48156
+52488
+50980
+51201
+46020
+50976
+49688
+49457
+49888
+47924
+48324
+55148
+44221
+47532
+48372
+51312
+47792
+47532
+51109
+51089
+53448
+52636
+49324
+49324
+52840
+48393
+44144
+47588
+47609
+54665
+44221
+52264
+49888
+44400
+50672
+51221
+51312
+51340
+50756
+54632
+50976
+52265
+54801
+47581
+49689
+45684
+49548
+54788
+46993
+48512
+50500
+47561
+47732
+51593
+45224
+47785
+44048
+47000
+47144
+49884
+50752
+53664
+47156
+54925
+50976
+50725
+50549
+45734
+49692
+47581
+47581
+51088
+50872
+52397
+51201
+44144
+46041
+44288
+52628
+44256
+46989
+45433
+44397
+48120
+44512
+51076
+44260
+54616
+48373
+52824
+44256
+44284
+48373
+47200
+52285
+51452
+49709
+49688
+51092
+47928
+52292
+48156
+47532
+46020
+54028
+54632
+54252
+44596
+44428
+49437
+44540
+51200
+51217
+48372
+53461
+44540
+52488
+53468
+44221
+54868
+44256
+45733
+48708
+44552
+50516
+47581
+48393
+52628
+50612
+51200
+44204
+47492
+45812
+49689
+52392
+46020
+54840
+44592
+54868
+52684
+46020
+52632
+48708
+51109
+54872
+48708
+47000
+52376
+47609
+54217
+50948
+45812
+49341
+52628
+50616
+51032
+52488
+51228
+50756
+52293
+45236
+52840
+53441
+44396
+52393
+46972
+48708
+54872
+48533
+48149
+54252
+51221
+54805
+50689
+50689
+49548
+49332
+52628
+44284
+54693
+47564
+50864
+50976
+48512
+47144
+55012
+55012
+45224
+51593
+50752
+52632
+49548
+50976
+54200
+47784
+50516
+50501
+45209
+50689
+54876
+44292
+44053
+47732
+51201
+51452
+51200
+48372
+50976
+49884
+50685
+50516
+44396
+44036
+48373
+47456
+51204
+48516
+54413
+54861
+54861
+54980
+50672
+46028
+51200
+52824
+49345
+49900
+44040
+44228
+44221
+48120
+54889
+49340
+54252
+44060
+46041
+51312
+51204
+50948
+48156
+50808
+54028
+44228
+54840
+51109
+44032
+45800
+50557
+51456
+52509
+52380
+50948
+52840
+44508
+51221
+54984
+49324
+49884
+51609
+46988
+51333
+50836
+50896
+48120
+50728
+49696
+52404
+51204
+44288
+50684
+44277
+52380
+44060
+44340
+44275
+51109
+47336
+50948
+54028
+50976
+49688
+51008
+49324
+49692
+49884
+50728
+51652
+46993
+45208
+47805
+47141
+44208
+49328
+50896
+47532
+44396
+49885
+48169
+51228
+49436
+46020
+47448
+54869
+51216
+52380
+51312
+48149
+52264
+50896
+52628
+50977
+44340
+48152
+54252
+54252
+45225
+49325
+54812
+48516
+50868
+51613
+44216
+51656
+50557
+52285
+51008
+48120
+54840
+49552
+51652
+47749
+49688
+52629
+47448
+49437
+44264
+46993
+50857
+50745
+44060
+51340
+49884
+45817
+46972
+50837
+49324
+54620
+48176
+50836
+44228
+48708
+51333
+44260
+51340
+49688
+52293
+48176
+46988
+46020
+44228
+47532
+49340
+46993
+50668
+47497
+54805
+47589
+51312
+49688
+47784
+53685
+52629
+48393
+50516
+50672
+52509
+49324
+54217
+44396
+44540
+49692
+52393
+50976
+53748
+51312
+50612
+50696
+51665
+50836
+54596
+47196
+49689
+48512
+51109
+47448
+44053
+47564
+50672
+47497
+44592
+54364
+44260
+54620
+51201
+49549
+47197
+49444
+49345
+51201
+47736
+54984
+47564
+48373
+52404
+52264
+51088
+49340
+49440
+50872
+44257
+50724
+48120
+47336
+51452
+51333
+52292
+54028
+51109
+48128
+52509
+51312
+49464
+44428
+51064
+51216
+50616
+49548
+51020
+44452
+51652
+54840
+49332
+44396
+52380
+47560
+51109
+52293
+51109
+46160
+47156
+47536
+44396
+50528
+54224
+47532
+50948
+44537
+45812
+49849
+48264
+47609
+50864
+52380
+51204
+49900
+52488
+50696
+50696
+47448
+50976
+44368
+51200
+54868
+44036
+47588
+50868
+48372
+50976
+44144
+47196
+50836
+54812
+50501
+51228
+48708
+51208
+52404
+54224
+50668
+48516
+44340
+49692
+50976
+50500
+49688
+48373
+44432
+53461
+47924
+46041
+49324
+49548
+49437
+47469
+50728
+52488
+44592
+44036
+50728
+49552
+47161
+50668
+54616
+50745
+51609
+54861
+49324
+45453
+47280
+55012
+50728
+50865
+44201
+54840
+48149
+54840
+50528
+48120
+54924
+50696
+44228
+51088
+54693
+50756
+47736
+51032
+47497
+44053
+52268
+49340
+51109
+47156
+44284
+50896
+45804
+52824
+53461
+49444
+48317
+45812
+49552
+47156
+48264
+51221
+54644
+44256
+54644
+52489
+52380
+44256
+55001
+49332
+49888
+54984
+50557
+48708
+49688
+49436
+54984
+45824
+48712
+50896
+45397
+51452
+47588
+50976
+54364
+45824
+51228
+51312
+51652
+51652
+51060
+51032
+54805
+44256
+52509
+54840
+44592
+48268
+44148
+49436
+44508
+51088
+48320
+51312
+48128
+45224
+49888
+51109
+47896
+44221
+44152
+49440
+47308
+50864
+49328
+49549
+47140
+51032
+49549
+49324
+47140
+50696
+50557
+47448
+54952
+51201
+52824
+54588
+46321
+50557
+47560
+54872
+54364
+48264
+49688
+45812
+53748
+44417
+52488
+50948
+47448
+54924
+52628
+44256
+50728
+48372
+47141
+51200
+51200
+50528
+51064
+51312
+55012
+52828
+47280
+44285
+53441
+50724
+50696
+50696
+44592
+54805
+45432
+49548
+53748
+47581
+50728
+48712
+50612
+54984
+44592
+44221
+55012
+47560
+44396
+50612
+46041
+48393
+50620
+48317
+50577
+50696
+49440
+50977
+44397
+47156
+47156
+51008
+51109
+50689
+47217
+53804
+50948
+50557
+47161
+44144
+50836
+48264
+48120
+46988
+44480
+45212
+44228
+53461
+47564
+47448
+47448
+55092
+54413
+51649
+50948
+44592
+51104
+54924
+47532
+44228
+48120
+47448
+44340
+45208
+51228
+44592
+47196
+52392
+49332
+46321
+47448
+44428
+54952
+50669
+46976
+47928
+48324
+54840
+54840
+47196
+54617
+54596
+49324
+54952
+44148
+52376
+54840
+54728
+52264
+48373
+54728
+54728
+45432
+54840
+50864
+54840
+44368
+44144
+44341
+54252
+54788
+51092
+51092
+55092
+48152
+54785
+49689
+55036
+44508
+46020
+44592
+44508
+51221
+49836
+48373
+44404
+52293
+49324
+50864
+44036
+51088
+54861
+55036
+47609
+55128
+49688
+54616
+52292
+49885
+51032
+47560
+54693
+48169
+50529
+54028
+52377
+44204
+47928
+47928
+50696
+48169
+48708
+50900
+50900
+44512
+44592
+46041
+51064
+44592
+52380
+50896
+44208
+54924
+44552
+44592
+51473
+50500
+51088
+47785
+50773
+48516
+48516
+54637
+44277
+51312
+48372
+50684
+44060
+48512
+52824
+46160
+54252
+54788
+45768
+53945
+44396
+50976
+52293
+54217
+51648
+50976
+44032
+44048
+44144
+47141
+48512
+50684
+52272
+44396
+48708
+54028
+54788
+51452
+51312
+48324
+48337
+44256
+51216
+51200
+49324
+52384
+47161
+44256
+45800
+44256
+54805
+47140
+51221
+44257
+47784
+44201
+51088
+54924
+54924
+48169
+48512
+50577
+50752
+47148
+51452
+51060
+54620
+54876
+44368
+47140
+51061
+48337
+44600
+54633
+49444
+51060
+47581
+47589
+44277
+44208
+44452
+44277
+51656
+47564
+45432
+52841
+54801
+50836
+49324
+51228
+54805
+47148
+44396
+49548
+50857
+54801
+49464
+52264
+54056
+50500
+54632
+52489
+49440
+48393
+49888
+51652
+54252
+54788
+52384
+50724
+48512
+47532
+46993
+54224
+49436
+50672
+50976
+44161
+45800
+50672
+51221
+51204
+53468
+54924
+50752
+51648
+49569
+48708
+44144
+48128
+44592
+44592
+50977
+44400
+49324
+47609
+44053
+49324
+49437
+47452
+47140
+51217
+51312
+46020
+44260
+54632
+54632
+50669
+48169
+48708
+48708
+50948
+50980
+52377
+50672
+49556
+44428
+44204
+50696
+50696
+52397
+50976
+47049
+44284
+50896
+46041
+50501
+54032
+52404
+47581
+51104
+50577
+49849
+44341
+49440
+51221
+46989
+44284
+51593
+44040
+51221
+47784
+49436
+47732
+50976
+44060
+49885
+55012
+54889
+50616
+54200
+50976
+50948
+48512
+50672
+48120
+50948
+48373
+50980
+54792
+50976
+50976
+47784
+54616
+50689
+49836
+51473
+53461
+51200
+51333
+51228
+48373
+50896
+44508
+47609
+46980
+46021
+54840
+52628
+51217
+47141
+50752
+50868
+44396
+45224
+47336
+52632
+50689
+49849
+51109
+53748
+46993
+48169
+49324
+49892
+51088
+54812
+50896
+50745
+47156
+49688
+48152
+50997
+50997
+51656
+50724
+54980
+54620
+51652
+51060
+48708
+54876
+45817
+51032
+46160
+45236
+54624
+44257
+54924
+47560
+47749
+51032
+47928
+54805
+46321
+50976
+52285
+49548
+44592
+47564
+51312
+49345
+49437
+51312
+47532
+52404
+50724
+47197
+50948
+51656
+45817
+51652
+54364
+44144
+48708
+50976
+51216
+45208
+47336
+44540
+51333
+51064
+51109
+49556
+47928
+44368
+47564
+52841
+51088
+47560
+47560
+44341
+47308
+47784
+49892
+52509
+47532
+47564
+49548
+49345
+51109
+47581
+49345
+47925
+51452
+49324
+52628
+53945
+51649
+54077
+54077
+44368
+44144
+48324
+47308
+48152
+50948
+55148
+44592
+51204
+54889
+48708
+47196
+44432
+44432
+54812
+45812
+49440
+52488
+49440
+50836
+49548
+47784
+52649
+49900
+49324
+51452
+51221
+45817
+47140
+54644
+49440
+51032
+44221
+45804
+49452
+44228
+51088
+54693
+49453
+46972
+44552
+49849
+52292
+47140
+51201
+54788
+47156
+52489
+53469
+44040
+47581
+54644
+51228
+50689
+44204
+47805
+54840
+50672
+54869
+53441
+51208
+48712
+54617
+47736
+48264
+47280
+51208
+45225
+48128
+47140
+51456
+47140
+52628
+50620
+47196
+46160
+49548
+51200
+47217
+47532
+47329
+48393
+50676
+48708
+49345
+44256
+44204
+50689
+49436
+55092
+51104
+44396
+44428
+46160
+51104
+47564
+44396
+51208
+52489
+52272
+54792
+54889
+45685
+48176
+45685
+55124
+51473
+47589
+51060
+44061
+47736
+54785
+54665
+50672
+44036
+50896
+44144
+47161
+54788
+49696
+54632
+46041
+54637
+44032
+54632
+50500
+54840
+50948
+46020
+52649
+50948
+46020
+49692
+54805
+44396
+51032
+51032
+48372
+44036
+50864
+54364
+52264
+51060
+49340
+52828
+48512
+44260
+48516
+49632
+44161
+45225
+51333
+45812
+51068
+51473
+52649
+44060
+44592
+49324
+50684
+51648
+51076
+44552
+44552
+44512
+50896
+47756
+51228
+50724
+45544
+50948
+45800
+44032
+53440
+47161
+45824
+54252
+54252
+50836
+51340
+54596
+49548
+45800
+51200
+54616
+49696
+49688
+51652
+51060
+54028
+48156
+51200
+47568
+48512
+44260
+51656
+51656
+50684
+48264
+50696
+47924
+53441
+44404
+44396
+54788
+51216
+44144
+54588
+50977
+49845
+52824
+48156
+47924
+48373
+51060
+52824
+44256
+51076
+44053
+44161
+51316
+47568
+44208
+51060
+44033
+45376
+51452
+44508
+51064
+51116
+50676
+47217
+54665
+51109
+45817
+54792
+44260
+44036
+45544
+49688
+44217
+44260
+51221
+51060
+44204
+49888
+48512
+44537
+50696
+50976
+51652
+47448
+44396
+44400
+51228
+51021
+48372
+51109
+49464
+49324
+44400
+51060
+47144
+52392
+44256
+44036
+54252
+52392
+48708
+44260
+46020
+50672
+47497
+52824
+52285
+51452
+52384
+54364
+47049
+49345
+48176
+48176
+48708
+44428
+45208
+44284
+50516
+46021
+49437
+51228
+44144
+44592
+44592
+52377
+44312
+44557
+52376
+52404
+51228
+48373
+51473
+49444
+54200
+51217
+44260
+45800
+50976
+50976
+44040
+50896
+54252
+48372
+48512
+50976
+45800
+50616
+50948
+48176
+51200
+47336
+54252
+45800
+50728
+45813
+44396
+45813
+54924
+50857
+50896
+50837
+45236
+44221
+52264
+48152
+53748
+52824
+49345
+45544
+54805
+49437
+44148
+54924
+44256
+47144
+46988
+47532
+49845
+49884
+47336
+50696
+52393
+49444
+49440
+50948
+54364
+51312
+51201
+44053
+49340
+54252
+50577
+54596
+48373
+44036
+49440
+44036
+52524
+44537
+45800
+51105
+48264
+48156
+49345
+49900
+48324
+50836
+47564
+46976
+50724
+53441
+44340
+51312
+49688
+45453
+52392
+52392
+48317
+44552
+45817
+52489
+45800
+48708
+45224
+48373
+50976
+52824
+45824
+52489
+47568
+49437
+54588
+55184
+48149
+52828
+47280
+47217
+49845
+49452
+46976
+51217
+45824
+44144
+52268
+49884
+44204
+48152
+50696
+46976
+50500
+49436
+50500
+50836
+48393
+45812
+48373
+47896
+48373
+54056
+54645
+44592
+44592
+44204
+44288
+48320
+50628
+44508
+44033
+54200
+47784
+47729
+47729
+48324
+49884
+49324
+51216
+46972
+44033
+47589
+51312
+47156
+50836
+51648
+44512
+44201
+49452
+50948
+54785
+51204
+50976
+46988
+50501
+46020
+52828
+48169
+44592
+47749
+50689
+44396
+52376
+52280
+44540
+44288
+46321
+54620
+46972
+52376
+44036
+48120
+44033
+52376
+46972
+46988
+49900
+51201
+44288
+44204
+44288
+50628
+44508
+47729
+49884
+51216
+46988
+44033
+44592
+44201
+51201
+51204
+50976
+44396
+44540
+52376
+44033
+44396
+44540
+52628
+44208
+51648
+52488
+44553
+44256
+45800
+51088
+51200
+49345
+54644
+44428
+44201
+49436
+54644
+44452
+44361
+52489
+54644
+54844
+44396
+49457
+49549
+50696
+44592
+47197
+52824
+45796
+54596
+49457
+44257
+49345
+44361
+52824
+54617
+52489
+55092
+51032
+47141
+44208
+55092
+50672
+55092
+50616
+50616
+51221
+48512
+44396
+44396
+44508
+44361
+44228
+48276
+49888
+51312
+54861
+52264
+53664
+50864
+50508
+51060
+51064
+54984
+51008
+49328
+55128
+53441
+44592
+49888
+51008
+50752
+48516
+50500
+50836
+49569
+49888
+51020
+55124
+44208
+54952
+45580
+50864
+50864
+51648
+55113
+48169
+49888
+52488
+49444
+54788
+49324
+51456
+54728
+50613
+50669
+49548
+52824
+44032
+49888
+54868
+49688
+51652
+51452
+51221
+44396
+51088
+51088
+52280
+44256
+48512
+44204
+51656
+47161
+51200
+50521
+47532
+45432
+48152
+51452
+44048
+50696
+44144
+50836
+49324
+51060
+51060
+44144
+51312
+54217
+54588
+54805
+44404
+48156
+45804
+51200
+46020
+51200
+49324
+49453
+50689
+54980
+49692
+50696
+54889
+54633
+49884
+52272
+54952
+49884
+54788
+53440
+44396
+44452
+51204
+54924
+55184
+54868
+54644
+49345
+50808
+49440
+49688
+46041
+48120
+52392
+47749
+50529
+54924
+54788
+55113
+44312
+51060
+48337
+51312
+52824
+47280
+51452
+44305
+44284
+47924
+50696
+46321
+44592
+51648
+51064
+49549
+46993
+50500
+44305
+55148
+49436
+51221
+53444
+54056
+51216
+50976
+44221
+52488
+52840
+49324
+50516
+50612
+54952
+49457
+44228
+54788
+47924
+50724
+44256
+49569
+54252
+54924
+44221
+49444
+51652
+49444
+46021
+54868
+52285
+49688
+52393
+44284
+44404
+51333
+54952
+49688
+47581
+54788
+48708
+52824
+45813
+51032
+45208
+51008
+51312
+48708
+52384
+52392
+52840
+49692
+44592
+44592
+45812
+52628
+50948
+44397
+52397
+46041
+51137
+52293
+52628
+44148
+52265
+50577
+51204
+49689
+54616
+45436
+49900
+54364
+54924
+48276
+50976
+52393
+49436
+54200
+49884
+55012
+49884
+50896
+44284
+50501
+51333
+52404
+54644
+48373
+48372
+51221
+44036
+44228
+50976
+51088
+51204
+49884
+55064
+51064
+50516
+54632
+45224
+49900
+54413
+51228
+50577
+50616
+54889
+55012
+44201
+45209
+51665
+47784
+50508
+50948
+49457
+46321
+52488
+49440
+44148
+54252
+44340
+54889
+54925
+44032
+50689
+48120
+49548
+48128
+54812
+52285
+51652
+54617
+51228
+49549
+48169
+51648
+44216
+51061
+44053
+50896
+49324
+54617
+46020
+50836
+50836
+54925
+50864
+54364
+52509
+44221
+47532
+47784
+47784
+49345
+51201
+47448
+51204
+52293
+51312
+47144
+47336
+52280
+44396
+44260
+49845
+51089
+50724
+50724
+44540
+51665
+51060
+54840
+44053
+47564
+51312
+54632
+54868
+52380
+54980
+51613
+49341
+55148
+52264
+45824
+51613
+45544
+46976
+50752
+51025
+55100
+44592
+51456
+44368
+54028
+54812
+49440
+47924
+52280
+51105
+49885
+52488
+45812
+52280
+48372
+49849
+54788
+51312
+53444
+45817
+49688
+54744
+44201
+44368
+44221
+51104
+45572
+51032
+50528
+49452
+48708
+55036
+54868
+50669
+51032
+49440
+50577
+45572
+44204
+45824
+45813
+54840
+51452
+54840
+51032
+50549
+44048
+50696
+51204
+54812
+46021
+51201
+54788
+52268
+47280
+49900
+50948
+52392
+47141
+50976
+48320
+49453
+50672
+50501
+49688
+50948
+49688
+50836
+52280
+50577
+51008
+46976
+52280
+54925
+49453
+54872
+52268
+50696
+45817
+49452
+50616
+46021
+50616
+44228
+51221
+48512
+51064
+44592
+50508
+54861
+53664
+50577
+49328
+55128
+53441
+54984
+51032
+49888
+44592
+51064
+44053
+55064
+44396
+44144
+50500
+45580
+54728
+50752
+47200
+55113
+49569
+54413
+49444
+48169
+44208
+51221
+44256
+44032
+54217
+51200
+49888
+54805
+49324
+49548
+51652
+51200
+52488
+49324
+44404
+51312
+54588
+50669
+51060
+44305
+47280
+49884
+44312
+49884
+55184
+54924
+49457
+51452
+49440
+54868
+53444
+44396
+51204
+44452
+49692
+50696
+51137
+54644
+49345
+53440
+50896
+54980
+51452
+44228
+47924
+50612
+52488
+50724
+44256
+50976
+54924
+44305
+49444
+49569
+55148
+52397
+51228
+52628
+45209
+46021
+52265
+48708
+44284
+50948
+50976
+49688
+49900
+51312
+52392
+47049
+49692
+49688
+45812
+49900
+51032
+47784
+49900
+52393
+54889
+44036
+54644
+54617
+50508
+50948
+50501
+50976
+55012
+52280
+51088
+50516
+50616
+52404
+48120
+54200
+49436
+47784
+45817
+49549
+49324
+50836
+48169
+51061
+44216
+48128
+44540
+47564
+51201
+51204
+47448
+45812
+52280
+52488
+46976
+48372
+55100
+50616
+44204
+49452
+52280
+44257
+52380
+54945
+54616
+44089
+54861
+54632
+54861
+44228
+54812
+54876
+47308
+54632
+46021
+47217
+46160
+44053
+44592
+49884
+54413
+46321
+50756
+48708
+49688
+54632
+54413
+51656
+51656
+50684
+50684
+49884
+52629
+54924
+46024
+51032
+46024
+50669
+44204
+54028
+54980
+50529
+51200
+49345
+54872
+44204
+44036
+54644
+44144
+48512
+55148
+48712
+54840
+50696
+51200
+44032
+48516
+54812
+54841
+50728
+50896
+48712
+51201
+51333
+48516
+55148
+52824
+54364
+49884
+54620
+48708
+45468
+48708
+44396
+45468
+50976
+52488
+47589
+49324
+55092
+55012
+44036
+54617
+47589
+47589
+54620
+47784
+47532
+50696
+54588
+50976
+44032
+45800
+47896
+48708
+55092
+50529
+47336
+47589
+52628
+45800
+54872
+54869
+54056
+51221
+50896
+48512
+51116
+44277
+53945
+51060
+54637
+50756
+48712
+54868
+54032
+53456
+44288
+52293
+51656
+51060
+51200
+49464
+54588
+51088
+51060
+44480
+54200
+54212
+47588
+45824
+49373
+54889
+48708
+52393
+51060
+51648
+47924
+54616
+48516
+45516
+51076
+54924
+54644
+48320
+51088
+44032
+55100
+51201
+44368
+54644
+51109
+52380
+50689
+49692
+51652
+49324
+48712
+48712
+44396
+49324
+44288
+51109
+51452
+47280
+52268
+49324
+52840
+49345
+51204
+48176
+44081
+54788
+47588
+52380
+49688
+48512
+53456
+51333
+51333
+51656
+51116
+51109
+46020
+49888
+54805
+52632
+50868
+48372
+51116
+47280
+48393
+52285
+51116
+51081
+50528
+51104
+48512
+44396
+49352
+49353
+47308
+50948
+54056
+49340
+50756
+51648
+52712
+54364
+50980
+51613
+45812
+52268
+50504
+48373
+49452
+47564
+50689
+49888
+44048
+54788
+51109
+48708
+46021
+49549
+50504
+49345
+54788
+47329
+44277
+51109
+54056
+51221
+48512
+50896
+44277
+51116
+52293
+54788
+54056
+51109
+54868
+51656
+54032
+53456
+48712
+54212
+44396
+51200
+44288
+51060
+52380
+48516
+49464
+52393
+44480
+54889
+45824
+47924
+48708
+54616
+51060
+51201
+51648
+44032
+54924
+51088
+51076
+47280
+51109
+51088
+54644
+49888
+44396
+51652
+47280
+49324
+48512
+46020
+51116
+49549
+49345
+49324
+48708
+51452
+44081
+48176
+53456
+47280
+48393
+52684
+48512
+51104
+49352
+49353
+50504
+52268
+50980
+51613
+49452
+50689
+44277
+51201
+54785
+49324
+45212
+46041
+54785
+51221
+54785
+51221
+51088
+54616
+45817
+51452
+51452
+47141
+44508
+48512
+51312
+44036
+44592
+49328
+44221
+44552
+49440
+51088
+44208
+44540
+51648
+51088
+51652
+51652
+51208
+51200
+52488
+51200
+49901
+51104
+44404
+50900
+52628
+44600
+52628
+51452
+54876
+54792
+51088
+51312
+53440
+47148
+44036
+51340
+52489
+54785
+51312
+49549
+51020
+44397
+44216
+51089
+51137
+52488
+50976
+47197
+52712
+53461
+52628
+51088
+51228
+52628
+52825
+54889
+44368
+44368
+52488
+51312
+51201
+51060
+52268
+52268
+51313
+54028
+48149
+50724
+55128
+46024
+44208
+48512
+52280
+44204
+48169
+51648
+49341
+50900
+54028
+44592
+50557
+52285
+53441
+53468
+50696
+51204
+47161
+47588
+48156
+51656
+44256
+53440
+44032
+52264
+54252
+44032
+51452
+44396
+51217
+52377
+48512
+48152
+51200
+49328
+54028
+45768
+44144
+47141
+44540
+51060
+51201
+45796
+49440
+44368
+53440
+51452
+51204
+44284
+49464
+44452
+44277
+44508
+54637
+52824
+45432
+48320
+52824
+44161
+46020
+49440
+52380
+45804
+44368
+54596
+49440
+53440
+51228
+44397
+44592
+49689
+46020
+52489
+44221
+49453
+49548
+48372
+50696
+51456
+47924
+49548
+47049
+50857
+44033
+51452
+44368
+48512
+45813
+52380
+44592
+50948
+50976
+53441
+52393
+51201
+45392
+44397
+49453
+47452
+47449
+47497
+44284
+44144
+51648
+50896
+44428
+52377
+48513
+51320
+52393
+44592
+52629
+51333
+52292
+51333
+48337
+44036
+51221
+51216
+52377
+50976
+53441
+46164
+51456
+50857
+51333
+51228
+52264
+52840
+45800
+44148
+44284
+53461
+50864
+48373
+51313
+51217
+54200
+50976
+45265
+51228
+49324
+53748
+44148
+46020
+52264
+54812
+45813
+52285
+51204
+51204
+51228
+52377
+49453
+47564
+47448
+51104
+54596
+50857
+47197
+47308
+52629
+45817
+45824
+52629
+49324
+44508
+51201
+52377
+51109
+52377
+47564
+51333
+47144
+48533
+51312
+50672
+48324
+53748
+44516
+46321
+52789
+49440
+48264
+51452
+51333
+51456
+48156
+52629
+52629
+44432
+44432
+47536
+45813
+44368
+44368
+48373
+47308
+46024
+52268
+44288
+51312
+45804
+48317
+48317
+52489
+44144
+51200
+44368
+46024
+51452
+51228
+47924
+50557
+45380
+47536
+47157
+52377
+47141
+51648
+51204
+51452
+45800
+50948
+47329
+47536
+49440
+50948
+52268
+46976
+49453
+50577
+49444
+49453
+45813
+44396
+51201
+52268
+52268
+49324
+44592
+44285
+47536
+49888
+44417
+53456
+48516
+44396
+52404
+53440
+53440
+44417
+46993
+51064
+46972
+50780
+44592
+44397
+45817
+44277
+51109
+50616
+48120
+44053
+44396
+47336
+47196
+53440
+51649
+50504
+52404
+46020
+51025
+50725
+52264
+50508
+44452
+44400
+49464
+50900
+49440
+45824
+54732
+48276
+51064
+49328
+44305
+49688
+46024
+51652
+45824
+50529
+45225
+44592
+47784
+50672
+51076
+44552
+51204
+44361
+54840
+44396
+54889
+51200
+47161
+53468
+50836
+51652
+48516
+44305
+50521
+54077
+48176
+44256
+44256
+54252
+51452
+50857
+50529
+48156
+52629
+51648
+52488
+44032
+51068
+44221
+49885
+48337
+51060
+44277
+44397
+44368
+44305
+47196
+54644
+51204
+51452
+51116
+51648
+50836
+47049
+50837
+49548
+50976
+50756
+44400
+52393
+47564
+48372
+44221
+51452
+50696
+47497
+52393
+51092
+47049
+52824
+55064
+47581
+52384
+44284
+44048
+51032
+54077
+52380
+44260
+50672
+48337
+44288
+48176
+50980
+48176
+47049
+50672
+50976
+51665
+50577
+54632
+52380
+51452
+49692
+44040
+50976
+54945
+49688
+48373
+52824
+48373
+50728
+48516
+51204
+50668
+50728
+44048
+44257
+51652
+54624
+50896
+47197
+44368
+52488
+51204
+49464
+50672
+49444
+52384
+44368
+51092
+48373
+47308
+48516
+48264
+47536
+44040
+49353
+44048
+54872
+51032
+44201
+45824
+51060
+50668
+54632
+44361
+47280
+48708
+50669
+47141
+47196
+47536
+52264
+50508
+44452
+54732
+45824
+51064
+51204
+50529
+47452
+50672
+44361
+44256
+44032
+47196
+52629
+51648
+51068
+54840
+51652
+47141
+52488
+44221
+49885
+51116
+51648
+44368
+51452
+51204
+47196
+44368
+52393
+48372
+47049
+47144
+48176
+55064
+44260
+47581
+47049
+52384
+52824
+51452
+48373
+51665
+50728
+49688
+48708
+50896
+54624
+51204
+47197
+52384
+47536
+49888
+44256
+49324
+49324
+54588
+51396
+48320
+46980
+46980
+49324
+49444
+54032
+54032
+48320
+48320
+49444
+48320
+48152
+49324
+48320
+48320
+51652
+50837
+45453
+45453
+51652
+52265
+52265
+51068
+51081
+48320
+48320
+49901
+51077
+47308
+52404
+52380
+44036
+52380
+50864
+50724
+55128
+49888
+51060
+44284
+47588
+49436
+51105
+44305
+46028
+46164
+50689
+52404
+50868
+44540
+54637
+50500
+48152
+50724
+52404
+50752
+54872
+51200
+51473
+51652
+50896
+50948
+47144
+51648
+52393
+45768
+52488
+47148
+51060
+54805
+44032
+51652
+53468
+51060
+51201
+48149
+50773
+51656
+52293
+46020
+49696
+51060
+44161
+44221
+54924
+46041
+50976
+48120
+48337
+51201
+45236
+51060
+44208
+52628
+47148
+51456
+53748
+49569
+44292
+46020
+48169
+54980
+50669
+46024
+54805
+49440
+49552
+54252
+50976
+49548
+51452
+53804
+52629
+44396
+52404
+52404
+46020
+44221
+51201
+46160
+51032
+51200
+53685
+44305
+50724
+49436
+47161
+49549
+51312
+51456
+48393
+50672
+49324
+54924
+47532
+44257
+47000
+48516
+52265
+44208
+48337
+54872
+52404
+47197
+50976
+51452
+51652
+50977
+53441
+44508
+50948
+51201
+51068
+45804
+50896
+46972
+54605
+45265
+50976
+53461
+49688
+46164
+49688
+50616
+52380
+51648
+52404
+50864
+49885
+51221
+50976
+50868
+50501
+54200
+44284
+50508
+54616
+54889
+51452
+46020
+45804
+50948
+45224
+50976
+44396
+50836
+52628
+47448
+49552
+45813
+52404
+51648
+50896
+49548
+53457
+44204
+55085
+50836
+44288
+51109
+50724
+51201
+49341
+52825
+49549
+51312
+52264
+46164
+52404
+47336
+51648
+51340
+47536
+51456
+50836
+52380
+49440
+55100
+50976
+50724
+50836
+44144
+49436
+54588
+50836
+47588
+54644
+49688
+54872
+51204
+46321
+51060
+47561
+48320
+48320
+46989
+47140
+50896
+50976
+45208
+47532
+51021
+51221
+46321
+44592
+50745
+49328
+54620
+50864
+47581
+50668
+44277
+49437
+44305
+48512
+54637
+48712
+48169
+54805
+45208
+55124
+49900
+48169
+50896
+52492
+54868
+49324
+48169
+44368
+44396
+50864
+44048
+53468
+44396
+54596
+48708
+48337
+49548
+54056
+50752
+51200
+52628
+50629
+47536
+44305
+44508
+51452
+49884
+44256
+50865
+44060
+54633
+44537
+51656
+44600
+49692
+54980
+54805
+44368
+54644
+44508
+45208
+45229
+44217
+54924
+51221
+46993
+50868
+50672
+49457
+46160
+52824
+47140
+48512
+50724
+48512
+44256
+54617
+46993
+44217
+44221
+44400
+50689
+48156
+44537
+54056
+47141
+50868
+48512
+54952
+52376
+48708
+52397
+44285
+51452
+45812
+52628
+48337
+47000
+50696
+52840
+50864
+48512
+54693
+45800
+44201
+50745
+44368
+51032
+46020
+50616
+48120
+50557
+54056
+50501
+50976
+44204
+50864
+50868
+54980
+44508
+54693
+54693
+49688
+45817
+47749
+49885
+50837
+52629
+51088
+52628
+44201
+50724
+54693
+50868
+54840
+50857
+48708
+47561
+49548
+48512
+47308
+51008
+51204
+54840
+44368
+50616
+51109
+47564
+44368
+54728
+46321
+54224
+49900
+48708
+51613
+50948
+51221
+47924
+49440
+47536
+54028
+45800
+47609
+50629
+51312
+54924
+54413
+47805
+52628
+44305
+47144
+52268
+51204
+50864
+44592
+50672
+52280
+52268
+47161
+54872
+55092
+54413
+52268
+47141
+50976
+51221
+52628
+51089
+48176
+51452
+51060
+54637
+50864
+51452
+50684
+52712
+47784
+53456
+54980
+46160
+51664
+48516
+50896
+48512
+50728
+53468
+52392
+44032
+53440
+52488
+44048
+44256
+49548
+48156
+49688
+51116
+47749
+45209
+52384
+49688
+50976
+46041
+51648
+49440
+51109
+51221
+50980
+46020
+54952
+47588
+54841
+49328
+47280
+54252
+52712
+54644
+50684
+49884
+50577
+50976
+47197
+47548
+50628
+46020
+48176
+51092
+49692
+45812
+52712
+52384
+52488
+44260
+51228
+54632
+46020
+54840
+49436
+49457
+53456
+52628
+49692
+50728
+48156
+44049
+49688
+48120
+52384
+52628
+52264
+50728
+50689
+50521
+51088
+54644
+45817
+51109
+54364
+52280
+50612
+47532
+51312
+47308
+51032
+51109
+48373
+52488
+54812
+45812
+48156
+45453
+50669
+50696
+44089
+50684
+51032
+50577
+50976
+54984
+49688
+50672
+47161
+48120
+48120
+50577
+55124
+51312
+49884
+48120
+50684
+48320
+52292
+49437
+50976
+49437
+49437
+51060
+51473
+50556
+50577
+47532
+44608
+44552
+44396
+51012
+51312
+46020
+49632
+51221
+48149
+44396
+55121
+48512
+52840
+52841
+54036
+46976
+48512
+45236
+51312
+49340
+52488
+44396
+52380
+44208
+48276
+50864
+54868
+54620
+44277
+51116
+47581
+51068
+52404
+49324
+55128
+51061
+52292
+49324
+53664
+49437
+45376
+52380
+54872
+51064
+48317
+50556
+44540
+54028
+48169
+52840
+44204
+46160
+50900
+50672
+48512
+48708
+45225
+49900
+50752
+44208
+46164
+44396
+51064
+44160
+54032
+49341
+51076
+52488
+45684
+48516
+50980
+51032
+44552
+48708
+44284
+54945
+51020
+44512
+51312
+50669
+51473
+45393
+44060
+51068
+54868
+53468
+54637
+50896
+54840
+50529
+47928
+53441
+51088
+45768
+46028
+49884
+48124
+44256
+50500
+50689
+48337
+49324
+44256
+48156
+54588
+50725
+49324
+51089
+54252
+50976
+51204
+44049
+51652
+49324
+49884
+52384
+44144
+52393
+49324
+49324
+54788
+52488
+54252
+54868
+54596
+49373
+49436
+49437
+48149
+51452
+52825
+51105
+54028
+46041
+44216
+48520
+51116
+47448
+50672
+48512
+47549
+50900
+48708
+50521
+48152
+48156
+44161
+44396
+49696
+51221
+47924
+45768
+45393
+52404
+44032
+47785
+45800
+49888
+51060
+49324
+44305
+44032
+48513
+44048
+46041
+54805
+54861
+44368
+52824
+51060
+46973
+48337
+49885
+47784
+54801
+51008
+44512
+51452
+52509
+54693
+46041
+48177
+47280
+44228
+50984
+49696
+51076
+51316
+51656
+44277
+52293
+52404
+49440
+44204
+51204
+54588
+52384
+49688
+54980
+47749
+44284
+51312
+49452
+54632
+55092
+44512
+52264
+47196
+44600
+48317
+50668
+48120
+51032
+51064
+44305
+50504
+51452
+50976
+49353
+44256
+51204
+46976
+49324
+50528
+51312
+54620
+50696
+49464
+44081
+44396
+49548
+49453
+49688
+51109
+51228
+51340
+44292
+54861
+51333
+46160
+47140
+47588
+46993
+47576
+51088
+50980
+54056
+50725
+49549
+50837
+50672
+51221
+48156
+54872
+54801
+54945
+51204
+48393
+52392
+47564
+51648
+49324
+54788
+50724
+50612
+51312
+44305
+52265
+47148
+54805
+52840
+49888
+54632
+47148
+50556
+49436
+51221
+44397
+54788
+52384
+47581
+54252
+47532
+48152
+50696
+49457
+44256
+47532
+53945
+48337
+51452
+44537
+46021
+47448
+52572
+44144
+52285
+50896
+44204
+44053
+51312
+46020
+49345
+47452
+44284
+47497
+54028
+45433
+47532
+52285
+48512
+44428
+48124
+52544
+54077
+50504
+48708
+54632
+50500
+52628
+47280
+50500
+44361
+53457
+44260
+46021
+52628
+52628
+52824
+51137
+48516
+45393
+51333
+49692
+45812
+51221
+44592
+51204
+52384
+44592
+50977
+44552
+44288
+47896
+52285
+51204
+49437
+46041
+51312
+44256
+52265
+49696
+51652
+47197
+47609
+47197
+54868
+54364
+50508
+47000
+44557
+48169
+47924
+45236
+47576
+52280
+54840
+46301
+55124
+44552
+54848
+44221
+48277
+47928
+44060
+50689
+49884
+50672
+44284
+49440
+46020
+46028
+50948
+51333
+48373
+50976
+51665
+50501
+44400
+52840
+51228
+52272
+54841
+50577
+45800
+54616
+50864
+44081
+49457
+44361
+50808
+48373
+52488
+49341
+44228
+49324
+44361
+44508
+52392
+47924
+52488
+52488
+54980
+50976
+52509
+54872
+49453
+48124
+44048
+45800
+44148
+49569
+44508
+54840
+49440
+53440
+44040
+52840
+54200
+51333
+52824
+49688
+50556
+48120
+54028
+50528
+44228
+51204
+48120
+52264
+45813
+48169
+54624
+44216
+49353
+44060
+47448
+50836
+53457
+45572
+50745
+50857
+45817
+49604
+51137
+47141
+49325
+52628
+48149
+48152
+49341
+48708
+49345
+44053
+51088
+50724
+54805
+54889
+51312
+47448
+44060
+51456
+49604
+49688
+47576
+54840
+51652
+51652
+46972
+51068
+50896
+45817
+50620
+49885
+44032
+44032
+47560
+51204
+49569
+51312
+49604
+54616
+48393
+50728
+45208
+47196
+49604
+50864
+51313
+45800
+49688
+44288
+49440
+47144
+49688
+50724
+47564
+47561
+46972
+54596
+50696
+47448
+51201
+49340
+52509
+51064
+50724
+50724
+44081
+51109
+52572
+52377
+49345
+45817
+47564
+50857
+49328
+48393
+44221
+54364
+49436
+47336
+49688
+52509
+47217
+52280
+51216
+51312
+47140
+54616
+49892
+44053
+49345
+48533
+51109
+44204
+51137
+47196
+54868
+51665
+48149
+54812
+44053
+48156
+47536
+52293
+49688
+49328
+51137
+44452
+49324
+47448
+45544
+54945
+48324
+49688
+48264
+44368
+51204
+50577
+53461
+49345
+55100
+52488
+51456
+47308
+44208
+47196
+45824
+49900
+51104
+44592
+44036
+51333
+46321
+50500
+50689
+45824
+44432
+45572
+52404
+48372
+52384
+44552
+51109
+51221
+49440
+44060
+44036
+48708
+49688
+47196
+51204
+54924
+50724
+47156
+51089
+51312
+52392
+53441
+47280
+48317
+52384
+54872
+50685
+53441
+44284
+45817
+44144
+48516
+45804
+54224
+51032
+50528
+48264
+54984
+51312
+51452
+54945
+52628
+51228
+45768
+53457
+54869
+44221
+48712
+50689
+44452
+45397
+50976
+44048
+44048
+44204
+52272
+51656
+47736
+47140
+47280
+44228
+52268
+44305
+49345
+48393
+46989
+46021
+49325
+52265
+47140
+54364
+54252
+45432
+54788
+44288
+47217
+50501
+47196
+55136
+44048
+46976
+48149
+52392
+50557
+52280
+50577
+44148
+55092
+44288
+51109
+49453
+47280
+52268
+44396
+48152
+46972
+52268
+46976
+52265
+50508
+44285
+45817
+52489
+46976
+44552
+44396
+51012
+52840
+51221
+49632
+48149
+51312
+53664
+52380
+52380
+49340
+49341
+48276
+51312
+47928
+45376
+50577
+52292
+44204
+44060
+48708
+53468
+44144
+46164
+52488
+51333
+45225
+54056
+44053
+54032
+44160
+50900
+55136
+44512
+50724
+44396
+54637
+48169
+54868
+46160
+45684
+54028
+50725
+51204
+51221
+44216
+44256
+48156
+50500
+54028
+54252
+48156
+50900
+52393
+47785
+45800
+44049
+51204
+50976
+52384
+48149
+47161
+49325
+50672
+47448
+54252
+49884
+54788
+49324
+54596
+45768
+54588
+53441
+54805
+44256
+47196
+51060
+47581
+50500
+50976
+49457
+54801
+50556
+45544
+51656
+45817
+46041
+47140
+51312
+51064
+44060
+52272
+49688
+49440
+51221
+51452
+49452
+54868
+51204
+49604
+54801
+51312
+46973
+47749
+51137
+49353
+44368
+51032
+49328
+52509
+53461
+50504
+51008
+50668
+51452
+47196
+54252
+50612
+47000
+53945
+47144
+44081
+49548
+49604
+47532
+51221
+49436
+44284
+44256
+52384
+49688
+51340
+47148
+48393
+51088
+47448
+44060
+44036
+50696
+51228
+46993
+52840
+44397
+50500
+52285
+53440
+52392
+52265
+47896
+48516
+44592
+46301
+44284
+44260
+52285
+49437
+44256
+46972
+52628
+52628
+44552
+51656
+55124
+44428
+54848
+48512
+45812
+51221
+44144
+44144
+47609
+52824
+44228
+50689
+44060
+51109
+49569
+50501
+49341
+52488
+51333
+45800
+49688
+44361
+54872
+50528
+46020
+48120
+47336
+51088
+48708
+48120
+47561
+51652
+48149
+47141
+49453
+45817
+51204
+50620
+45208
+47448
+54840
+48169
+51068
+44032
+48712
+50857
+54364
+45817
+47564
+46972
+48533
+50857
+44221
+51201
+51313
+49440
+47448
+49900
+44432
+47308
+48149
+45432
+45824
+46976
+48372
+52268
+44053
+46321
+54869
+47280
+54872
+53441
+47156
+51032
+52272
+54364
+46989
+52280
+50577
+51109
+51109
+44396
+50724
+51208
+44404
+47308
+48120
+51109
+47928
+47568
+49328
+49452
+54841
+47928
+50684
+54224
+54620
+54224
+49328
+44060
+54637
+54077
+44361
+50980
+49340
+54620
+54620
+44036
+48124
+54616
+49688
+46160
+44049
+45544
+52392
+54217
+54616
+47161
+48320
+48708
+50980
+50528
+44288
+44033
+54633
+48268
+52629
+54861
+44508
+48124
+49436
+44260
+46993
+50668
+51221
+49324
+44397
+50676
+50676
+52380
+44201
+47536
+52285
+49332
+44260
+50628
+47928
+50684
+50508
+54844
+50669
+47928
+54637
+54252
+54637
+44201
+50836
+47928
+48152
+50516
+50948
+51064
+54876
+44208
+46976
+46020
+52380
+54077
+51204
+50620
+53457
+44060
+54633
+44432
+53960
+44288
+53804
+44228
+44508
+45817
+44288
+54364
+54632
+55137
+44452
+52380
+48317
+45817
+54872
+45804
+50728
+50896
+47928
+49328
+49452
+50684
+54620
+54224
+47928
+53960
+50980
+50948
+54620
+44361
+44036
+48124
+54637
+48124
+44049
+45544
+44508
+47928
+45804
+48124
+47140
+44060
+48268
+44033
+50528
+44260
+44396
+50676
+46993
+46020
+50669
+50628
+52285
+54785
+47928
+54844
+50684
+50508
+52380
+46976
+44201
+44452
+54876
+44208
+54633
+51204
+53457
+44432
+54632
+54872
+48512
+48512
+47477
+45824
+49888
+52380
+50732
+44060
+52824
+51020
+50577
+46160
+50529
+49849
+54032
+48176
+44081
+50980
+50756
+51648
+48708
+51221
+48169
+50577
+51020
+51652
+44228
+51221
+50529
+44144
+51200
+51312
+51312
+51216
+47161
+50500
+53440
+53440
+54588
+48337
+48512
+51228
+47449
+47217
+51652
+54805
+52824
+45572
+47589
+44053
+49688
+53440
+54620
+51060
+44452
+50864
+54644
+54633
+51456
+52488
+54805
+49692
+48512
+54224
+54633
+49452
+49849
+52377
+54252
+46160
+50896
+51652
+51228
+54632
+46020
+45216
+50868
+54744
+48176
+48708
+52628
+44592
+53748
+47452
+51020
+44397
+49688
+51652
+48708
+45733
+46020
+54632
+50977
+49849
+54744
+51064
+51200
+50577
+51081
+54801
+51473
+50616
+51020
+50976
+51228
+50864
+50997
+50948
+50808
+50620
+45824
+49688
+50516
+54889
+44228
+49688
+51008
+44592
+50628
+55092
+44201
+50868
+50724
+50808
+50528
+44537
+45817
+51228
+51109
+46020
+50724
+44537
+51008
+49328
+50836
+51064
+53748
+46321
+48708
+49688
+49688
+50724
+54744
+48516
+45768
+51060
+51228
+46020
+49845
+51008
+52377
+55092
+47217
+55148
+51060
+47168
+50696
+52628
+44033
+52377
+51456
+51204
+45212
+51061
+51089
+50504
+44552
+44204
+50885
+50500
+51665
+44256
+54872
+52824
+44396
+51456
+51088
+50745
+51200
+52628
+54840
+51105
+46973
+50668
+49688
+51312
+49688
+54620
+54869
+49933
+44288
+52628
+51105
+50745
+44228
+55092
+49688
+47448
+51060
+45212
+54617
+51105
+51665
+51665
+50864
+50864
+49444
+45460
+48512
+49341
+47785
+47928
+48516
+48169
+50868
+47141
+47549
+50521
+50689
+45516
+50516
+48149
+47805
+51204
+53461
+54840
+47924
+51312
+49688
+51228
+47785
+52840
+49548
+49341
+51221
+51652
+54056
+47588
+47161
+52376
+51452
+44285
+49341
+48708
+54861
+51216
+51020
+50696
+51452
+46164
+47548
+47161
+46041
+50689
+47924
+47161
+49345
+47161
+54616
+54861
+51020
+47589
+47589
+50868
+47448
+47805
+48712
+47924
+50948
+54869
+51020
+49845
+51061
+50528
+45812
+46321
+49328
+55100
+45432
+47469
+52404
+51609
+48169
+50577
+54056
+48317
+48120
+54413
+55148
+51228
+47588
+47805
+47805
+47280
+47141
+54869
+50528
+48708
+52404
+47217
+50689
+50528
+54413
+47141
+48372
+51089
+51312
+54617
+48729
+52397
+52397
+51221
+52380
+51652
+51221
+51221
+51221
+51221
+51221
+51204
+51221
+52380
+48708
+48708
+44256
+48120
+47732
+47732
+54252
+50685
+51204
+54924
+50685
+54785
+51221
+52292
+44036
+51064
+51201
+46020
+50732
+51064
+44552
+44540
+54868
+45684
+54028
+51064
+49341
+45225
+47568
+51312
+45804
+48152
+50696
+50836
+46020
+54588
+44040
+44361
+54252
+50521
+48337
+51064
+54801
+46020
+44600
+54812
+50504
+50504
+55124
+44277
+54616
+45804
+44368
+51221
+47564
+44221
+49632
+51312
+52488
+54788
+44277
+48393
+53457
+51109
+48708
+44285
+44397
+46989
+49453
+50976
+48169
+50517
+52628
+52628
+44040
+52488
+47924
+44397
+44148
+54200
+51228
+52380
+50728
+46020
+44396
+53457
+48708
+54812
+48152
+44201
+54596
+44285
+45817
+47336
+44452
+44368
+54868
+44592
+52380
+44053
+52392
+45804
+54925
+54788
+52380
+46021
+47568
+52380
+46976
+50948
+51064
+48520
+47588
+44428
+44049
+50948
+52488
+54620
+54624
+46024
+50976
+50868
+49453
+50948
+50948
+48176
+46020
+44396
+50728
+44256
+54596
+50948
+54812
+46021
+47568
+46021
+50948
+51064
+48520
+54620
+50948
+50728
+46020
+44396
+44396
+44396
+54644
+49452
+51228
+51020
+51105
+50868
+49548
+47141
+48393
+54889
+50689
+50868
+48393
+50516
+51020
+54693
+54840
+54792
+51221
+44221
+44508
+54637
+49692
+50504
+49688
+51060
+50865
+50752
+49569
+44508
+44592
+54637
+50696
+50756
+48152
+46024
+51201
+51216
+48152
+54028
+50689
+52293
+44221
+47280
+54633
+44368
+50508
+50529
+50948
+55184
+44292
+49888
+51060
+51060
+54644
+53748
+54200
+48337
+47280
+48512
+54801
+46160
+54924
+44508
+54801
+46980
+51221
+51221
+50689
+44400
+54841
+50516
+44221
+53748
+53748
+48712
+47280
+53748
+51088
+51088
+52628
+51221
+47280
+45812
+54632
+44036
+44284
+52684
+44221
+44552
+51060
+49884
+51228
+50529
+50501
+50504
+50896
+54632
+50745
+51204
+50504
+54788
+49888
+51032
+50896
+49345
+51204
+51204
+44053
+44264
+50976
+47308
+54364
+51032
+47564
+52629
+54952
+54840
+52488
+44256
+49552
+50628
+55036
+51204
+50976
+55001
+48712
+54788
+48712
+47196
+46988
+49453
+44288
+54792
+51221
+44221
+50504
+54637
+49692
+49688
+50865
+50756
+44256
+46024
+44592
+48152
+49569
+54637
+50696
+47196
+47161
+54028
+44221
+55184
+54801
+51221
+54633
+50689
+44221
+54644
+51060
+48712
+54924
+53748
+50516
+50689
+50689
+44284
+51228
+50745
+50501
+51204
+50504
+50529
+49453
+47564
+51204
+49345
+54840
+47280
+51204
+50976
+48712
+44288
+54413
+54364
+54413
+48512
+54616
+51216
+48149
+49341
+53468
+53468
+47148
+44292
+49440
+49548
+44396
+54364
+49884
+50948
+50577
+50836
+49688
+44060
+49548
+48276
+47448
+49845
+47308
+54364
+54364
+47448
+54364
+54364
+54364
+47308
+54364
+49892
+54413
+55092
+54413
+50577
+51216
+48149
+49341
+44396
+49884
+49688
+50836
+47448
+54364
+54364
+54364
+48708
+48264
+48708
+48708
+49885
+49885
+49552
+44592
+51221
+49324
+53441
+51204
+49552
+54693
+46024
+51076
+50612
+44428
+52825
+51020
+48152
+48152
+49552
+51020
+51452
+51060
+51089
+54596
+51088
+46020
+47448
+51088
+52384
+49324
+54252
+49885
+46028
+54644
+51076
+52392
+44368
+54801
+48337
+50836
+46041
+51088
+54693
+50577
+44428
+51060
+50684
+46973
+51032
+52268
+48156
+45516
+50500
+54252
+51456
+46160
+49549
+50668
+55148
+54952
+54844
+44284
+49885
+51204
+52404
+48337
+54632
+48512
+50629
+45812
+48708
+51109
+50948
+44288
+50613
+45212
+50868
+54840
+54889
+52384
+55036
+51204
+54980
+50528
+45817
+48516
+50948
+44264
+49324
+49569
+45817
+48149
+44256
+55148
+44452
+47448
+49688
+46020
+50685
+50728
+47561
+45817
+47564
+54596
+50612
+49688
+44540
+49328
+44452
+52268
+49440
+55148
+45812
+51032
+44592
+50836
+51137
+50745
+46020
+50696
+54693
+51204
+48516
+54644
+47805
+50684
+47560
+52280
+50577
+46972
+52268
+45229
+49885
+51221
+44592
+53441
+45817
+46024
+55148
+51076
+50612
+52825
+48152
+51020
+51204
+49885
+54252
+49324
+46028
+51060
+51060
+50836
+54693
+54801
+46973
+44368
+51032
+48337
+48156
+46160
+50500
+50668
+45516
+51456
+44284
+54844
+54632
+44288
+49324
+44452
+44264
+49688
+52280
+50685
+47561
+48149
+47448
+49688
+44540
+47564
+49328
+52268
+50577
+49688
+44508
+44341
+54693
+48516
+48156
+45768
+54596
+48156
+46020
+54632
+48708
+51204
+50516
+50528
+48373
+54800
+50728
+54805
+48516
+48712
+55141
+47560
+50612
+54413
+44036
+51201
+53440
+53441
+52824
+49692
+51452
+51648
+54056
+44540
+51068
+49341
+50980
+47928
+52841
+45812
+47140
+50864
+48149
+48372
+44208
+53468
+50669
+44396
+47928
+44396
+44221
+54028
+51312
+50896
+54217
+52628
+44144
+51452
+45432
+44396
+48708
+51109
+44032
+47161
+51652
+53468
+48512
+50521
+49324
+54596
+53440
+53440
+49324
+47448
+47588
+48320
+51312
+52824
+50997
+46321
+46041
+49692
+51204
+49888
+44221
+51060
+54644
+48149
+51452
+51064
+45209
+51452
+45800
+54644
+47448
+44397
+49569
+52840
+48169
+46993
+54620
+46020
+54788
+53468
+51456
+50500
+48729
+49457
+50528
+47197
+52628
+51452
+49324
+48337
+44260
+46020
+47000
+51333
+44284
+44592
+44592
+54744
+48708
+49548
+54744
+44040
+50836
+47924
+54200
+52509
+54200
+51204
+48708
+54889
+44148
+54925
+50976
+51228
+51204
+54616
+51333
+51333
+50976
+49324
+50780
+53444
+44480
+49688
+44148
+49849
+51600
+47448
+54077
+46321
+54812
+52488
+46021
+50504
+50896
+52628
+49548
+49440
+47140
+52824
+49345
+47197
+49845
+46972
+51109
+47589
+50724
+52280
+54364
+52509
+44396
+54596
+51648
+50984
+54728
+54868
+48156
+49689
+54952
+47536
+51092
+46024
+47448
+53444
+51613
+45812
+44368
+52384
+54744
+46972
+45800
+44221
+50669
+50629
+53441
+48712
+52712
+50672
+47329
+47140
+46321
+50577
+44592
+49345
+44397
+55092
+54872
+50668
+54364
+47560
+50612
+53440
+49692
+52824
+44396
+51068
+48149
+47140
+51109
+49324
+49324
+48512
+44396
+52628
+51452
+53440
+45432
+44032
+50669
+53468
+54952
+47588
+51064
+44368
+54868
+46973
+54644
+48320
+54364
+47140
+48729
+54744
+49457
+52840
+51456
+44592
+44592
+44284
+52628
+51333
+49689
+52280
+54200
+51600
+51333
+49548
+47924
+50724
+47448
+44148
+49440
+54364
+46972
+52509
+51092
+52712
+44592
+49345
+50577
+44264
+50948
+50948
+50948
+50864
+54620
+51061
+54637
+53804
+44040
+48149
+54588
+51088
+52404
+51200
+44256
+54644
+44368
+54980
+44284
+44201
+53748
+44221
+48320
+48708
+44284
+44032
+50864
+49688
+47336
+48149
+54952
+48169
+48149
+51088
+44288
+48712
+47560
+47308
+47336
+54952
+52489
+51109
+49688
+52404
+48712
+44288
+47196
+44256
+44256
+44256
+44256
+44368
+47196
+51312
+54364
+44260
+44260
+52404
+48169
+55092
+50684
+47784
+45812
+44260
+48712
+48156
+52488
+48708
+51088
+48156
+50684
+52404
+54252
+54588
+47924
+48520
+51060
+50857
+44257
+44277
+55092
+44292
+44228
+48393
+51340
+49548
+49324
+52404
+47532
+48712
+51333
+52404
+48533
+49569
+51137
+44428
+51333
+49692
+51204
+52628
+54840
+46980
+52628
+44592
+47156
+51652
+48712
+48393
+47560
+49340
+47564
+47564
+49849
+49688
+47564
+44036
+44036
+45453
+54872
+44292
+45397
+48712
+47157
+50577
+46160
+53804
+47308
+54861
+54785
+53804
+54632
+53804
+53804
+44396
+52285
+50872
+50872
+44201
+44428
+48512
+49900
+44508
+51333
+47448
+44508
+49345
+51453
+44480
+47588
+44592
+44592
+44060
+44340
+54844
+48156
+48177
+47588
+54988
+50684
+49548
+47049
+50669
+52628
+44592
+47581
+47049
+50948
+44048
+47532
+54364
+54596
+47560
+44592
+54728
+49688
+50684
+52280
+50612
+46020
+51064
+44208
+51077
+54861
+53441
+51312
+44592
+49436
+54868
+44161
+49324
+54637
+46024
+47568
+44060
+49900
+48152
+50896
+48708
+45432
+47928
+54840
+47196
+49324
+48169
+48516
+45225
+50864
+54200
+47784
+44032
+54633
+54728
+54632
+48708
+47161
+53440
+48156
+49688
+54217
+48520
+54596
+51228
+48120
+44396
+51312
+48177
+50976
+44260
+54588
+51216
+49457
+53468
+54252
+48512
+51088
+44144
+44256
+49437
+46041
+45824
+53457
+44600
+49689
+54980
+49345
+51060
+50504
+50808
+51312
+51452
+51064
+47148
+46973
+46041
+51228
+51648
+48337
+50976
+44368
+48372
+54644
+49440
+54633
+54924
+47196
+48373
+44256
+55092
+53448
+44400
+51228
+47732
+49548
+51088
+49324
+52840
+50668
+45516
+52393
+44260
+44221
+49548
+50864
+44396
+49440
+54252
+54872
+51312
+47532
+49324
+49324
+44256
+47800
+49457
+47532
+51452
+55148
+50857
+49888
+52824
+44592
+52397
+49345
+45516
+49692
+44228
+51312
+52393
+44256
+52628
+46041
+47000
+48708
+50696
+50669
+44260
+47449
+44396
+52285
+44221
+47452
+47497
+52628
+47532
+47609
+51333
+51228
+50684
+54840
+50612
+51200
+49836
+49548
+54844
+51228
+54980
+49457
+45796
+46980
+51333
+51593
+54200
+54200
+54872
+52380
+51593
+50808
+50948
+50745
+52632
+50976
+51217
+54889
+47144
+50616
+52628
+52628
+44148
+48317
+50501
+50577
+48373
+49352
+54632
+54616
+53440
+54840
+49892
+50557
+49440
+50728
+44216
+54840
+50724
+48169
+49548
+47448
+47560
+49884
+49324
+54872
+51088
+46321
+53457
+50836
+50517
+50857
+44148
+44592
+50728
+50557
+49888
+47144
+50724
+47477
+55064
+48124
+51228
+51312
+44396
+44204
+49548
+47564
+49845
+49688
+54364
+51201
+44592
+52629
+51109
+52628
+51204
+50857
+51109
+44053
+49444
+48324
+50984
+44144
+49345
+48156
+44368
+49900
+49689
+54889
+51456
+49440
+49440
+48264
+44432
+51064
+49900
+47896
+55148
+51613
+54693
+48516
+54872
+54980
+54924
+51593
+49548
+51204
+44048
+44452
+49849
+47168
+49345
+47280
+49436
+50528
+50976
+51228
+49436
+54868
+49436
+47140
+47157
+47141
+47736
+52840
+49345
+50501
+47196
+44288
+47140
+49440
+50612
+46020
+44592
+50864
+46024
+47196
+48169
+54028
+44032
+48156
+54217
+51216
+47196
+50976
+51088
+48512
+48177
+54252
+54980
+54588
+53468
+54644
+44600
+44256
+50976
+51060
+46041
+51593
+54980
+54924
+51228
+44368
+49440
+51088
+49345
+49900
+44221
+47140
+47144
+44204
+47532
+49884
+51312
+44260
+49324
+54872
+44400
+51593
+50857
+52397
+47497
+44592
+52628
+48708
+44260
+52285
+44256
+50696
+50684
+51312
+44221
+49548
+49836
+52824
+48516
+51217
+48317
+49345
+51228
+50728
+50808
+49352
+50501
+52628
+48373
+54889
+52380
+51109
+54200
+49548
+50724
+44592
+53457
+54872
+50836
+48169
+44216
+47477
+54364
+49444
+48324
+47564
+48124
+50857
+50948
+49845
+44432
+49440
+47536
+51456
+54868
+44048
+47168
+51204
+44288
+51312
+51012
+48512
+47141
+44396
+48373
+50504
+48512
+46020
+44228
+48393
+51077
+44036
+49884
+48393
+47749
+48372
+50672
+51648
+54840
+44552
+48512
+48152
+47928
+44204
+49324
+50725
+48512
+50836
+44208
+44201
+54596
+54872
+51664
+48372
+50504
+50500
+51221
+48169
+48393
+47928
+44396
+53945
+44032
+45432
+47161
+47736
+54605
+53440
+48124
+47549
+48320
+52824
+44032
+50896
+51088
+44396
+54952
+52824
+45800
+51200
+50836
+44256
+51333
+50984
+50521
+50984
+50517
+51068
+50857
+51204
+54617
+53748
+50724
+51060
+44292
+50528
+51648
+50504
+54665
+44368
+50508
+47148
+51452
+50577
+51228
+54861
+46973
+50668
+47784
+54633
+51076
+44368
+55092
+51452
+52824
+44033
+54665
+45380
+47749
+46976
+44217
+44592
+46020
+54872
+53440
+54252
+47924
+44204
+50837
+48156
+51456
+51456
+44161
+55148
+44400
+44201
+46021
+44221
+51228
+50500
+50500
+44305
+44257
+47924
+49888
+47000
+44033
+54032
+47197
+48337
+49436
+48373
+50516
+53441
+48533
+44552
+44048
+54596
+51312
+47449
+51089
+44204
+44397
+53664
+50500
+50896
+44592
+47140
+50556
+52628
+44277
+53448
+44260
+49849
+44592
+44221
+50669
+50669
+52397
+52824
+47000
+46041
+52376
+49692
+44221
+44144
+44404
+51060
+51333
+44228
+49696
+54805
+52825
+47896
+50976
+50516
+52628
+51228
+54840
+51228
+50501
+44060
+47784
+48373
+52632
+46028
+50616
+44040
+50896
+54200
+44260
+48120
+54840
+50689
+45800
+47785
+44201
+44036
+52285
+48169
+54617
+50549
+50896
+44148
+50745
+49324
+54617
+52628
+45817
+54624
+50557
+47448
+52377
+44264
+44216
+51456
+54620
+51088
+51088
+51061
+50836
+50504
+44228
+47456
+51204
+44396
+52404
+52404
+50669
+46020
+47560
+44368
+44256
+51204
+49888
+44553
+45800
+51088
+50724
+50836
+50696
+44396
+52825
+51648
+47448
+50857
+47336
+54596
+49345
+51089
+50612
+47924
+44432
+51020
+45800
+49324
+52488
+51068
+54868
+48324
+50549
+49689
+54889
+48264
+44368
+47308
+50672
+44256
+52712
+54620
+54620
+46020
+47588
+51456
+55100
+51025
+45432
+45800
+54620
+54617
+51032
+48317
+52489
+46972
+44228
+51032
+44201
+53469
+50864
+51204
+50629
+50577
+48317
+45397
+54869
+49884
+50549
+47805
+51201
+50501
+50668
+47448
+48373
+47196
+54617
+47217
+49345
+50557
+50549
+44288
+44396
+47532
+45212
+51312
+44396
+44228
+50672
+47749
+49884
+44396
+50500
+52285
+48372
+51664
+44256
+46041
+47196
+50517
+54952
+50521
+47161
+52824
+44396
+50896
+54617
+53440
+49324
+51648
+51060
+44292
+55092
+54665
+51452
+54633
+46976
+54861
+47924
+48156
+47532
+44204
+44257
+50500
+50837
+54620
+51228
+47924
+51089
+47896
+50516
+44260
+54596
+48533
+44048
+49692
+44221
+50896
+49689
+54840
+44040
+50501
+44264
+52628
+51088
+48120
+47785
+50669
+50836
+50669
+49692
+52377
+51061
+44216
+54617
+50696
+50549
+51088
+47448
+47308
+52488
+52712
+55100
+47196
+54872
+51204
+51025
+54869
+47805
+44288
+49345
+47196
+44557
+47161
+44048
+54632
+52264
+44048
+44048
+50684
+52264
+45433
+50864
+52628
+44452
+54252
+52628
+54252
+51312
+44512
+51452
+44204
+48120
+48120
+50864
+47448
+49888
+44512
+47536
+50696
+44592
+47197
+44396
+44512
+44221
+50668
+54693
+50516
+44032
+48120
+47456
+49324
+51109
+51064
+44221
+51228
+47161
+50516
+52628
+47589
+47589
+55128
+52488
+48512
+47732
+47732
+48512
+54252
+44144
+44397
+47784
+48512
+54620
+47000
+44397
+47732
+47532
+54413
+48512
+48512
+47732
+47560
+47560
+47560
+55064
+47560
+52628
+54693
+48516
+54889
+54889
+44552
+44305
+52392
+51452
+54945
+44508
+44305
+54945
+49436
+50668
+51216
+47532
+55121
+55121
+51061
+44160
+45812
+44592
+46024
+47925
+47925
+44216
+45824
+52636
+50976
+51216
+51060
+55184
+50684
+52636
+47588
+50516
+44221
+50872
+47140
+45817
+46021
+52280
+50504
+50516
+50516
+45812
+50516
+51652
+45824
+52280
+50696
+48120
+45812
+50684
+46021
+47196
+52824
+48516
+48520
+48372
+48124
+48124
+50896
+52629
+44144
+51312
+50752
+51452
+51648
+47609
+50724
+48324
+53440
+48317
+50896
+51312
+53440
+51221
+47729
+45236
+51221
+51088
+44256
+44256
+46041
+48516
+46020
+50672
+48708
+52285
+44256
+52377
+50672
+45817
+46321
+49436
+49436
+48516
+54224
+47928
+48156
+52488
+53440
+51333
+44396
+49373
+49437
+50976
+49884
+51221
+50724
+45380
+51221
+54844
+44201
+50616
+46028
+49324
+54812
+44216
+50616
+47336
+48708
+44508
+44396
+54620
+50732
+50732
+54980
+55148
+50508
+49324
+54980
+50745
+52264
+45453
+45229
+51228
+51116
+51228
+51088
+51116
+51228
+51228
+51228
+52824
+52828
+52828
+55128
+50500
+51008
+44228
+54252
+49353
+49464
+51116
+52824
+50616
+51200
+52488
+47161
+47161
+52377
+44428
+49464
+44036
+49444
+44396
+44368
+52265
+44260
+50612
+49548
+44592
+50696
+49353
+52628
+50864
+50868
+50616
+50864
+50501
+50501
+51061
+52264
+52628
+51204
+52488
+44552
+50508
+52824
+52828
+55128
+51008
+51200
+47161
+54252
+52488
+51116
+44036
+50612
+52265
+50864
+50501
+50857
+47217
+44277
+48169
+50628
+47329
+47217
+44277
+44048
+45813
+47161
+45813
+47329
+44277
+44048
+44396
+52628
+48324
+44396
+50557
+52712
+54868
+47197
+54644
+50976
diff --git a/Master/texmf-dist/tex/xetex/xetexko/hanjacom_hangul.tab b/Master/texmf-dist/tex/xetex/xetexko/hanjacom_hangul.tab
new file mode 100644
index 00000000000..6477fd7f378
--- /dev/null
+++ b/Master/texmf-dist/tex/xetex/xetexko/hanjacom_hangul.tab
@@ -0,0 +1,302 @@
+44060
+44081
+44144
+44256
+44264
+44288
+44480
+44480
+44512
+44544
+44552
+45208
+45208
+45208
+45208
+45208
+45208
+45208
+45208
+45208
+45209
+45209
+45209
+45209
+45209
+45209
+45209
+45212
+45212
+45212
+45212
+45212
+45212
+45224
+45224
+45224
+45224
+45225
+45225
+45225
+45229
+45229
+45229
+45229
+45229
+45236
+45257
+45432
+45432
+45432
+45432
+45432
+45432
+45432
+45432
+45432
+45432
+45432
+45432
+45433
+45433
+45433
+45433
+45433
+45433
+45436
+45453
+45453
+45453
+45453
+45516
+45516
+45516
+45516
+45572
+45572
+45572
+45572
+45572
+45572
+45572
+45572
+45713
+45713
+45728
+45733
+45733
+45733
+45733
+45733
+46160
+46972
+46973
+46973
+46976
+47161
+47196
+47456
+47532
+48176
+48264
+48320
+48512
+48520
+48708
+49325
+49325
+49340
+49353
+49373
+49453
+49464
+49604
+49888
+49900
+49901
+50556
+50557
+50557
+50577
+50577
+50577
+50577
+50577
+50577
+50577
+50577
+50668
+50668
+50668
+50668
+50668
+50668
+50668
+50668
+50668
+50668
+50668
+50669
+50669
+50669
+50669
+50672
+50672
+50672
+50672
+50672
+50672
+50672
+50672
+50672
+50672
+50672
+50672
+50672
+50672
+50676
+50676
+50676
+50676
+50676
+50676
+50684
+50684
+50684
+50684
+50684
+50685
+50689
+50689
+50689
+50689
+50689
+50689
+50689
+50689
+50689
+50689
+50689
+50689
+50689
+50696
+50696
+50696
+50696
+50724
+50836
+50836
+50836
+50836
+50836
+50836
+50836
+50836
+50836
+50836
+50857
+50868
+50896
+50976
+50976
+50976
+50976
+50976
+50976
+50976
+50976
+50976
+50976
+50977
+50977
+50977
+50980
+50980
+50980
+50980
+50984
+50984
+50984
+50984
+50997
+51060
+51060
+51060
+51060
+51060
+51060
+51060
+51060
+51060
+51060
+51060
+51060
+51060
+51060
+51061
+51061
+51064
+51064
+51064
+51064
+51064
+51064
+51064
+51076
+51076
+51076
+51077
+51077
+51077
+51109
+51201
+51648
+51665
+52264
+52377
+52404
+53441
+53441
+53461
+53469
+53685
+54252
+54253
+54637
+54637
+54788
+54869
+50732
+54841
+49933
+44257
+52509
+44592
+52397
+48512
+44144
+55148
+51200
+51061
+47168
+49888
+49345
+48373
+51221
+51221
+50864
+50508
+44396
+49373
+51228
+46160
+44553
+51068
+46020
+54952
+54665
+46020
+48152
+49324
+44288
+54617
diff --git a/Master/texmf-dist/tex/xetex/xetexko/hanjaexa_hangul.tab b/Master/texmf-dist/tex/xetex/xetexko/hanjaexa_hangul.tab
new file mode 100644
index 00000000000..d5c3e65562b
--- /dev/null
+++ b/Master/texmf-dist/tex/xetex/xetexko/hanjaexa_hangul.tab
@@ -0,0 +1,6582 @@
+44396
+52392
+52832
+47560
+44284
+50724
+51008
+44404
+46168
+51208
+49332
+53672
+51060
+51320
+44544
+50732
+45440
+46028
+51320
+44040
+44264
+50984
+54792
+45440
+49920
+46168
+50732
+50872
+44396
+44404
+44600
+44600
+50984
+50976
+46896
+44264
+44396
+49444
+44152
+51228
+49436
+54805
+52380
+55113
+47448
+47492
+50577
+50857
+49888
+51652
+45824
+50732
+48152
+50976
+49324
+47560
+55136
+55128
+51473
+45236
+49849
+54413
+50896
+44201
+53468
+52636
+48169
+50836
+47784
+51089
+51060
+52628
+46041
+49689
+50669
+44417
+50773
+47280
+45516
+51200
+49689
+51088
+52392
+51456
+49688
+49464
+51473
+49888
+44060
+51217
+45208
+49549
+51208
+47217
+51081
+54077
+44204
+51593
+44033
+46988
+47896
+51060
+47140
+44228
+50724
+46972
+51228
+45392
+44256
+48708
+54844
+49688
+55036
+50836
+45224
+52628
+52840
+51656
+55148
+53468
+50836
+54924
+51456
+47568
+47029
+45817
+50836
+49548
+51201
+50864
+52265
+51060
+50672
+44228
+55137
+47924
+44048
+52285
+49845
+49884
+44221
+47336
+49341
+54620
+49692
+54924
+48373
+45804
+46021
+50521
+50864
+45824
+49688
+47732
+51008
+51312
+50668
+47736
+51456
+45544
+54644
+50976
+50557
+51025
+49453
+54413
+47280
+47140
+49440
+46972
+49437
+44592
+50773
+44260
+49884
+50685
+51204
+47805
+51116
+47049
+44264
+47784
+44277
+55141
+49688
+51204
+47581
+47784
+47564
+44428
+49884
+47532
+48373
+47749
+44396
+53440
+52840
+51221
+47452
+50725
+48729
+54876
+46041
+44277
+51137
+52649
+52840
+44221
+47449
+54665
+52832
+45224
+49324
+47736
+54596
+44208
+49689
+55113
+44277
+44277
+50976
+54805
+44040
+54588
+51216
+48512
+46973
+44049
+44040
+45817
+48177
+54632
+51088
+55012
+46993
+45824
+44256
+49444
+51312
+47140
+54925
+46160
+54200
+51200
+50672
+50501
+44208
+51032
+52265
+52404
+44148
+44053
+52832
+49709
+49436
+52832
+47049
+46321
+47536
+51208
+49549
+49548
+51104
+48156
+48708
+52489
+51204
+44048
+52628
+52524
+49444
+47141
+52392
+52832
+55092
+44148
+44053
+44544
+44033
+48708
+52636
+48337
+44396
+54624
+48156
+47049
+44340
+49464
+54624
+48324
+51208
+47280
+49900
+54056
+50577
+47196
+48176
+50517
+47196
+51340
+53441
+49884
+45208
+49440
+54637
+50976
+44452
+44452
+51061
+49440
+44048
+47336
+52404
+47484
+49464
+48708
+49692
+50976
+51208
+51452
+51452
+44033
+51020
+44228
+51648
+44049
+54840
+46989
+51032
+44049
+48512
+44552
+50528
+53748
+50517
+51452
+49324
+51452
+51032
+51204
+52397
+54872
+49548
+50976
+52280
+51456
+51312
+50864
+49324
+44256
+49604
+44340
+49933
+54617
+44060
+50672
+44396
+51060
+54868
+55176
+48276
+48169
+45812
+48169
+44277
+50836
+48512
+45580
+54617
+50864
+54876
+55113
+52840
+47581
+51008
+48149
+47549
+48268
+54952
+53804
+55113
+49324
+49567
+54693
+47456
+47536
+50696
+54980
+51452
+49696
+44257
+51060
+45448
+44592
+49900
+44079
+44415
+46179
+44079
+45384
+50948
+44228
+51228
+54861
+53444
+50508
+50508
+51020
+51652
+44051
+48531
+44275
+44275
+45143
+44312
+49688
+45208
+50556
+51088
+53804
+54632
+44400
+46041
+54844
+47197
+52628
+54925
+47497
+49688
+52392
+47452
+46629
+46629
+48192
+50687
+50687
+54848
+44396
+50676
+49884
+44089
+48516
+52632
+45684
+47784
+52293
+50501
+49324
+50976
+50501
+49373
+47928
+47564
+54840
+44061
+54616
+47564
+47029
+51665
+54980
+51656
+51116
+44032
+50780
+44049
+48176
+50528
+52628
+44148
+44396
+45812
+54056
+48149
+52628
+47456
+49548
+54980
+44256
+54028
+51471
+48708
+51079
+46041
+51228
+52629
+44285
+47196
+51656
+54644
+49845
+54588
+51208
+52264
+49892
+47749
+51107
+51333
+51665
+54925
+53457
+50504
+54988
+48156
+49352
+50948
+52488
+48708
+44284
+50629
+54693
+54868
+54616
+51089
+50669
+51088
+50556
+47497
+54632
+45824
+50689
+51032
+51600
+51021
+54788
+44537
+51656
+54632
+46039
+54364
+47168
+50491
+46976
+49352
+46988
+50504
+44396
+48708
+50516
+54632
+44048
+49688
+45785
+51088
+52285
+48317
+54633
+50745
+49440
+50756
+50752
+44540
+49436
+44340
+48708
+47784
+51221
+48520
+50836
+52377
+51109
+51664
+45812
+44397
+44396
+51340
+54252
+44152
+50528
+51340
+51088
+48268
+51064
+44256
+51116
+50864
+45384
+44396
+47588
+53468
+48337
+54224
+48372
+54861
+52489
+54616
+51204
+51109
+44592
+49548
+52384
+50948
+48373
+53440
+50864
+50556
+44508
+50948
+44340
+50864
+50808
+50836
+47217
+49457
+48372
+45824
+54801
+50620
+46993
+50696
+51333
+47564
+51109
+54616
+44260
+49324
+47448
+44592
+47308
+50696
+51665
+51008
+44432
+45813
+50696
+54644
+54840
+50745
+44048
+52392
+45824
+45817
+52841
+48149
+47805
+44452
+51204
+47336
+49437
+44033
+55148
+55148
+44368
+45229
+50868
+52404
+47469
+48373
+51333
+52380
+44256
+54644
+51312
+44284
+44340
+45824
+54840
+53804
+47161
+49452
+47000
+45393
+48520
+44256
+51088
+48152
+44032
+44361
+54812
+50669
+49692
+49900
+52265
+54952
+44592
+45432
+44368
+51061
+50864
+55148
+50628
+49888
+50684
+54840
+49341
+44512
+50864
+45812
+49900
+48176
+44396
+52392
+50500
+54252
+46041
+49324
+45236
+49884
+47896
+51081
+44592
+54840
+44368
+54805
+54252
+52628
+54217
+50752
+44208
+51032
+51060
+53440
+51109
+44256
+49436
+53440
+51060
+47784
+54801
+47140
+44396
+49688
+52268
+46160
+52824
+48393
+50517
+49324
+51340
+48156
+49888
+50857
+49888
+50976
+54056
+47217
+54872
+54620
+50756
+49688
+50868
+47532
+53457
+46988
+47576
+44053
+52629
+50628
+49437
+47449
+49437
+49688
+47732
+54844
+50808
+48156
+50696
+45516
+52845
+53444
+44228
+49688
+48320
+50516
+44284
+49341
+49328
+54632
+45824
+49345
+49324
+48393
+47144
+49900
+52629
+48120
+51060
+47785
+50745
+51204
+51061
+45572
+45817
+54812
+50868
+49688
+54028
+50696
+45813
+44221
+47144
+51312
+52280
+52376
+47197
+49689
+45576
+50724
+50516
+52280
+44048
+52572
+51333
+47336
+50672
+45812
+47588
+49900
+50900
+45236
+50724
+49888
+48120
+52392
+45817
+46988
+55148
+50557
+51656
+50689
+54924
+47805
+45544
+48152
+48120
+50620
+44396
+52268
+47144
+51656
+51088
+54644
+49436
+54840
+44204
+51228
+47732
+49692
+45572
+55148
+49692
+47144
+51200
+49688
+47308
+44396
+49324
+51221
+44060
+50857
+48169
+44144
+54633
+50836
+45397
+51032
+47049
+50745
+51064
+50672
+49689
+49437
+47548
+50500
+47784
+47749
+52572
+50864
+50696
+44396
+48120
+51456
+50728
+50896
+44053
+51216
+47469
+54624
+49457
+52572
+44368
+47732
+47805
+52840
+45824
+50756
+50528
+46301
+49900
+48320
+45572
+47156
+44540
+50864
+49688
+51340
+54028
+54924
+50836
+53748
+44537
+50516
+46972
+44592
+50808
+48156
+52272
+49696
+51649
+51081
+54872
+54028
+52841
+44144
+48120
+54644
+44592
+49884
+49444
+52264
+44396
+46021
+45544
+52841
+44592
+53748
+52377
+49569
+51204
+47308
+51204
+51648
+48516
+51020
+51104
+44452
+54924
+51648
+46988
+45432
+51452
+44540
+45824
+50948
+44592
+54728
+52509
+50885
+46160
+51648
+46020
+48124
+50773
+48520
+44032
+51313
+54840
+49849
+50900
+45768
+44592
+47144
+50504
+47784
+49324
+49345
+50521
+54868
+51340
+44396
+47196
+48512
+53468
+47581
+46993
+53440
+54632
+47581
+48156
+44512
+44592
+54632
+46160
+47217
+48712
+51312
+52293
+44592
+51104
+48120
+48176
+51092
+54637
+44053
+44428
+44592
+49709
+47197
+52280
+50868
+50501
+45800
+48124
+50948
+52380
+49688
+48124
+46028
+50529
+47749
+50836
+50896
+47456
+50808
+44053
+50896
+45813
+44256
+47308
+47336
+52280
+50724
+54364
+50857
+47581
+46020
+52280
+50724
+51201
+49845
+48373
+45800
+52628
+50980
+46041
+54728
+50501
+44592
+51665
+51665
+54868
+44368
+51396
+54364
+47805
+48176
+50808
+51032
+50724
+49436
+54840
+45824
+54869
+51032
+52268
+51669
+47140
+47140
+45544
+54924
+47141
+50577
+47280
+54413
+48120
+50872
+54889
+44144
+48512
+48512
+51204
+48393
+51060
+44040
+44592
+48708
+47561
+51064
+54889
+48276
+44049
+48512
+44060
+49324
+55148
+49324
+46041
+50896
+51088
+54224
+44284
+47168
+54889
+49692
+45208
+54889
+52393
+47928
+54788
+55137
+50629
+47784
+48177
+49340
+50976
+51204
+51312
+51456
+44260
+47924
+50689
+51333
+52404
+47156
+48708
+44396
+54889
+49444
+48393
+47336
+51312
+51221
+51452
+47564
+47329
+50629
+51008
+48712
+51221
+52392
+46976
+45576
+50696
+44592
+44228
+44592
+53469
+50864
+44396
+54872
+51200
+46989
+47161
+51648
+48376
+49324
+51200
+45800
+47308
+50696
+51312
+54620
+52377
+51088
+52824
+50628
+46993
+46160
+47217
+51204
+50616
+53748
+53440
+51032
+52824
+50500
+50689
+51217
+53804
+50500
+49688
+52264
+51109
+51333
+50745
+48152
+44368
+47156
+44540
+47196
+50628
+44053
+49548
+51061
+51648
+54805
+51109
+54224
+44221
+51116
+46041
+44032
+44428
+54620
+51201
+50724
+49328
+54945
+46020
+51060
+46024
+54588
+47728
+49552
+47196
+49436
+54801
+54596
+49464
+54596
+49888
+54788
+50948
+48324
+51060
+44204
+54980
+51652
+48708
+50669
+50977
+44144
+51104
+48120
+51060
+49884
+44277
+49688
+45800
+49340
+53468
+47785
+51221
+48320
+50857
+51613
+52268
+51221
+45824
+53468
+54840
+44396
+51201
+53685
+54924
+54805
+49709
+53448
+44600
+46041
+51473
+51228
+49452
+52380
+52824
+50948
+50980
+44256
+47548
+50756
+51333
+51665
+51333
+45224
+49444
+49892
+49353
+48120
+47924
+54889
+45804
+45800
+45397
+50976
+51025
+49900
+50528
+51064
+49436
+52264
+51312
+47581
+52392
+44553
+48169
+54056
+50528
+54032
+50724
+49900
+44032
+54952
+48516
+44048
+44368
+44032
+46041
+52392
+50864
+44256
+48516
+48512
+51460
+51200
+53468
+52488
+51008
+54637
+51076
+55100
+52649
+53441
+44277
+47148
+47168
+50865
+54077
+50696
+54644
+47532
+54980
+44277
+44033
+50896
+45909
+50640
+44368
+44305
+44221
+51089
+48512
+54801
+48176
+52393
+51088
+48169
+54632
+54785
+44396
+54889
+47200
+44161
+51452
+53456
+50628
+49885
+45909
+53945
+48124
+47497
+49688
+53748
+51092
+52393
+48512
+48533
+51032
+44397
+44592
+47532
+51204
+50896
+50864
+52292
+44592
+50977
+47144
+51333
+48124
+44161
+52649
+50976
+44537
+50948
+48120
+49688
+55092
+49436
+52824
+52628
+54812
+44557
+50864
+54801
+49692
+49688
+53440
+47336
+46024
+48169
+53468
+52488
+51008
+49548
+48708
+51652
+50896
+51060
+55124
+49353
+54801
+48124
+48516
+54633
+52377
+51008
+52293
+45769
+50724
+48393
+47144
+49345
+49328
+47560
+52292
+54840
+47197
+50528
+51032
+54868
+52264
+52268
+50501
+54925
+49692
+45768
+44048
+47532
+50672
+50684
+47469
+47928
+44552
+44201
+50864
+48320
+50668
+54869
+47561
+51452
+47588
+45824
+46973
+51208
+50948
+51032
+54732
+54785
+52280
+46976
+51008
+49453
+52272
+46972
+47161
+51204
+54841
+52392
+50500
+51116
+51116
+44201
+51452
+50857
+50857
+44537
+50577
+50837
+49845
+49345
+50865
+51060
+54840
+44553
+44049
+51204
+44508
+44160
+46020
+44540
+47784
+51064
+50508
+48156
+54788
+47784
+48169
+50500
+44053
+49569
+55064
+50836
+44284
+44340
+47448
+50529
+51088
+51088
+48708
+50752
+46988
+51105
+44032
+48156
+54924
+51060
+54644
+51064
+51452
+52649
+49440
+54788
+49548
+44396
+54056
+44452
+50976
+44277
+44277
+54848
+47196
+47141
+45208
+49340
+51116
+50500
+48512
+44081
+53444
+54077
+53945
+45813
+53441
+54364
+44256
+54848
+52285
+48337
+51648
+46041
+53748
+51312
+50696
+47492
+54028
+51228
+48124
+53440
+52264
+44396
+48169
+50672
+53444
+48512
+51333
+44508
+47196
+54632
+50689
+52824
+52393
+49457
+54812
+49692
+49452
+44148
+49444
+49548
+44060
+47732
+54848
+54588
+50745
+54924
+45225
+49569
+48516
+52628
+52393
+54889
+46988
+50896
+54840
+46160
+54869
+44260
+50836
+52293
+44592
+44148
+51204
+46020
+44540
+47568
+51228
+47732
+52280
+47029
+48317
+50577
+44144
+44144
+44033
+49325
+44148
+49324
+52628
+52628
+54925
+50868
+55137
+49440
+49689
+48708
+52293
+50685
+47925
+46024
+49341
+44552
+55036
+46164
+47161
+44053
+55092
+51032
+49353
+47805
+45800
+46988
+54840
+52293
+51116
+50724
+46972
+47736
+55064
+48512
+49452
+55092
+48149
+54812
+44221
+55184
+51656
+55148
+54952
+44148
+54028
+52488
+51089
+44428
+49569
+44397
+50508
+45393
+44148
+52393
+52393
+48708
+44592
+51648
+44592
+52628
+44404
+50864
+44552
+44404
+44032
+48520
+44221
+51200
+49440
+44228
+44049
+44400
+54620
+53685
+48156
+49452
+48708
+47456
+50629
+50696
+51396
+49328
+51089
+47197
+53804
+47156
+44284
+49328
+52840
+52712
+47144
+47784
+46024
+44048
+44060
+49548
+44256
+54596
+51088
+51064
+55137
+49440
+49689
+49341
+50696
+53441
+47196
+47161
+44144
+51116
+54872
+46161
+46181
+54624
+48152
+44257
+46160
+51664
+47336
+44396
+44428
+44032
+49548
+44201
+51208
+51221
+45800
+51200
+50616
+48169
+44592
+48120
+50613
+50633
+50948
+51032
+51204
+51221
+50976
+55064
+50836
+50836
+51648
+44277
+44592
+44036
+44305
+51648
+54980
+48128
+48512
+47932
+44305
+45800
+51200
+46020
+50672
+48152
+46041
+44144
+48124
+52285
+47749
+53664
+54252
+50504
+52632
+50857
+54788
+49692
+49884
+51088
+47925
+46993
+45212
+54056
+49888
+54952
+48708
+51452
+44592
+52393
+49548
+49437
+44260
+51228
+47197
+49345
+50976
+49692
+51105
+50864
+45824
+52268
+47564
+48124
+54872
+50728
+45212
+54872
+54980
+44221
+48149
+54788
+47141
+51652
+54869
+47581
+54364
+54840
+50577
+44228
+45380
+49549
+50948
+52384
+55137
+51652
+49569
+44040
+48533
+49604
+47161
+55148
+45824
+44553
+54252
+54869
+54252
+54785
+54812
+52393
+50672
+44396
+51089
+45212
+47148
+50976
+52404
+52392
+50724
+54861
+44368
+54840
+44260
+46020
+51137
+44428
+54889
+48373
+51312
+51032
+46024
+49436
+51081
+52488
+44053
+51652
+49340
+45236
+50672
+44208
+54868
+49437
+48169
+47924
+52832
+44053
+55064
+47568
+47588
+49324
+48320
+47196
+44144
+45824
+50872
+54633
+51201
+47140
+54028
+50997
+44396
+47148
+44277
+49440
+49888
+54805
+47928
+51312
+48512
+53469
+48152
+50556
+47148
+48512
+51340
+51200
+54036
+52524
+52393
+52628
+44049
+44161
+54952
+44204
+51204
+48169
+45224
+46020
+54788
+50628
+45817
+45813
+51200
+44404
+50521
+44048
+54952
+44257
+50948
+48169
+52628
+50620
+52392
+45236
+54801
+47924
+50865
+47732
+51092
+48176
+45236
+49457
+52841
+50672
+44557
+52649
+51060
+44040
+44540
+47924
+50501
+47456
+49884
+51109
+54785
+51208
+45380
+50689
+44288
+54980
+44060
+49569
+48516
+49353
+50724
+51649
+49885
+44277
+54624
+50745
+54632
+44208
+54844
+48708
+49849
+52628
+51664
+49548
+51204
+49325
+44228
+49569
+52824
+48376
+51312
+49328
+48152
+46993
+54596
+49440
+48176
+45824
+52832
+51648
+54588
+49328
+54224
+49549
+51200
+55124
+44221
+52380
+51109
+45436
+54805
+53440
+53489
+47729
+53457
+52712
+49436
+51201
+54620
+44288
+52384
+45813
+54840
+52712
+47196
+44204
+47197
+44204
+54252
+51664
+48516
+47141
+51312
+44592
+52488
+50984
+51060
+47161
+44144
+47156
+47196
+52489
+44277
+52824
+54364
+44552
+44221
+50857
+46041
+51333
+48373
+51652
+54364
+54632
+48376
+44060
+48712
+51312
+47157
+47140
+46972
+49900
+47732
+51204
+51201
+48176
+49452
+47144
+51652
+49452
+48712
+44033
+47217
+52628
+44256
+53440
+49340
+54617
+46988
+49453
+55148
+46988
+52629
+51060
+45208
+47532
+50557
+51204
+51060
+52824
+44592
+54637
+54644
+44081
+51088
+54616
+54812
+44144
+54644
+55148
+54644
+50780
+52280
+49692
+54980
+49888
+46160
+54633
+49341
+50865
+50500
+48512
+51320
+44396
+51088
+44048
+54632
+54616
+51060
+49453
+50616
+44368
+54812
+52824
+49688
+44053
+51020
+55121
+51032
+55148
+49353
+44552
+50629
+50864
+44033
+52393
+46976
+44260
+51221
+47924
+49464
+44032
+47161
+49324
+44480
+52712
+55092
+50684
+54980
+51092
+52380
+52272
+49324
+51021
+54588
+44256
+49849
+46993
+53748
+49437
+47497
+44592
+50756
+47156
+46021
+54844
+46976
+50724
+45800
+44452
+50528
+51116
+54924
+51032
+47561
+51648
+48516
+54077
+51665
+48317
+47141
+47140
+46972
+54644
+44552
+44060
+44033
+51652
+44277
+51221
+44396
+44396
+44228
+47161
+46041
+49548
+44033
+50696
+52265
+45397
+51648
+47336
+54364
+44552
+49688
+54252
+49688
+49440
+47280
+49548
+48512
+44396
+49688
+49324
+51648
+45812
+50857
+49556
+50689
+47532
+45236
+48320
+49688
+49632
+45817
+54620
+49548
+50857
+53457
+46321
+48373
+52488
+45812
+53457
+46988
+45397
+47157
+52393
+51656
+51473
+49548
+47197
+45812
+55137
+44592
+51656
+45769
+50696
+51064
+50864
+50773
+44284
+52769
+50672
+49772
+50672
+47448
+53685
+47924
+54056
+50900
+50976
+44396
+50517
+54252
+48320
+49884
+52272
+51068
+48277
+50864
+45824
+46976
+51032
+52292
+52649
+50672
+55100
+50976
+55092
+50773
+52649
+44277
+45804
+44284
+44368
+47196
+49689
+47217
+44228
+52393
+52272
+45812
+48708
+45813
+49440
+50672
+45544
+49888
+44396
+50577
+53468
+44537
+48128
+44228
+50976
+54848
+54868
+50773
+50976
+52293
+54596
+48120
+44053
+49444
+48276
+50669
+45812
+47336
+50549
+49548
+52840
+49453
+51008
+51228
+50672
+49689
+44256
+49849
+45236
+50773
+47732
+49548
+50669
+49324
+51021
+51665
+48149
+50976
+47784
+49341
+49688
+52824
+54200
+47140
+46020
+54980
+54632
+54693
+51473
+51060
+51452
+52488
+44417
+49885
+51664
+50745
+50620
+44400
+49324
+50836
+49444
+51648
+45733
+49900
+49324
+47805
+52840
+48128
+44033
+53456
+49452
+48120
+47000
+51452
+49689
+49444
+48156
+51221
+51313
+54889
+49436
+49324
+54620
+53456
+54840
+52392
+54876
+47548
+45393
+47588
+49692
+47928
+44036
+52572
+44432
+54616
+48708
+49885
+49324
+49340
+45376
+48729
+47564
+52397
+48512
+49440
+45224
+50696
+49688
+48120
+44404
+48149
+47280
+44040
+49341
+48128
+49688
+44040
+48317
+50696
+49440
+51021
+50689
+51200
+49692
+48533
+49436
+54364
+47924
+47308
+51109
+52628
+52524
+48320
+50557
+47589
+48708
+55092
+49324
+47280
+51221
+54952
+44368
+44341
+54889
+47924
+50684
+54617
+51200
+54945
+50689
+44228
+55148
+50976
+47144
+49440
+54872
+51008
+51025
+47156
+49900
+51109
+48176
+44036
+49689
+48152
+51216
+50976
+54056
+50668
+50672
+51025
+45229
+47336
+50669
+54868
+44396
+51216
+52488
+44036
+49888
+45576
+48176
+52840
+48176
+47308
+47568
+50976
+49548
+47448
+54632
+48376
+50857
+49888
+52824
+51076
+45453
+49692
+54801
+54861
+52392
+48393
+50528
+44284
+54364
+48156
+44221
+53685
+49436
+52628
+54924
+52488
+48512
+54924
+50517
+50948
+48516
+50684
+48512
+47452
+50508
+50745
+55036
+50672
+50864
+52509
+50684
+52628
+51312
+55148
+45824
+51204
+51221
+48372
+54785
+46028
+54980
+53748
+47536
+44221
+52264
+49457
+54841
+51613
+54785
+50896
+48393
+55148
+51456
+44221
+47561
+48393
+51312
+48393
+47532
+50885
+46041
+50504
+47141
+47925
+48317
+51088
+50685
+46020
+50684
+47924
+50672
+49440
+44089
+54744
+45824
+54620
+49688
+51216
+51228
+51208
+44256
+52268
+52488
+49453
+46980
+48264
+44285
+55148
+49453
+48120
+50672
+52268
+51020
+46020
+44036
+54869
+51200
+46041
+47564
+52264
+47532
+49548
+44277
+54744
+51208
+51648
+51312
+49688
+48708
+50629
+54200
+52280
+54840
+44036
+44396
+50504
+49692
+44148
+54056
+54028
+48516
+44284
+53440
+53440
+51089
+47161
+49548
+44480
+50672
+49464
+54980
+47148
+49324
+49324
+48393
+54056
+51064
+46021
+51088
+47049
+44204
+48708
+51649
+52509
+55064
+44152
+47532
+50896
+50501
+49688
+49328
+51201
+47336
+44540
+49569
+49324
+48149
+50836
+44053
+54872
+54872
+46020
+50976
+50549
+50549
+50836
+51008
+49884
+51008
+44208
+46024
+54788
+44032
+51333
+44161
+51452
+52488
+50521
+50976
+44221
+49328
+51060
+49324
+50696
+47589
+55092
+44305
+51089
+54952
+50724
+44081
+44221
+51221
+55148
+47784
+44221
+53457
+50752
+44397
+52268
+54364
+53441
+54848
+45432
+44048
+44396
+50976
+54980
+51088
+49884
+52824
+54841
+50577
+50745
+54800
+48712
+50857
+47336
+51312
+49340
+44368
+51201
+55064
+48264
+54632
+52268
+51104
+49892
+45804
+51452
+45432
+54632
+50668
+53441
+50976
+47141
+54869
+55148
+49452
+52280
+47144
+54952
+49324
+49836
+48149
+44396
+44277
+51088
+50864
+47217
+49324
+51081
+45684
+47588
+48156
+44396
+46160
+49696
+54217
+48320
+47784
+48520
+49440
+48708
+54805
+51060
+50976
+44340
+48337
+44257
+48372
+54924
+50672
+51204
+54980
+48372
+47928
+46980
+46020
+50724
+49836
+47161
+51456
+44228
+50868
+52628
+52852
+44404
+45824
+48176
+48320
+50977
+48533
+50669
+51333
+46980
+48712
+49688
+46028
+49444
+49884
+49900
+44396
+50976
+50864
+53440
+50756
+44216
+51456
+54596
+46020
+49836
+52268
+46020
+50948
+48393
+47336
+47532
+47564
+51092
+54596
+44537
+51104
+54788
+47141
+46024
+45812
+49688
+50745
+52489
+45804
+51032
+50668
+47157
+44592
+44305
+54805
+44221
+46972
+51664
+46164
+44256
+50976
+47280
+48149
+45516
+54200
+47144
+53461
+47156
+50728
+45817
+47532
+51221
+50752
+52628
+44053
+54805
+50521
+50756
+54077
+48177
+53440
+49688
+51060
+48177
+44208
+44256
+44277
+46041
+54632
+49457
+54801
+44284
+54665
+51216
+52264
+46041
+48708
+51456
+47157
+49457
+50864
+51228
+50976
+51204
+50857
+44053
+45817
+51109
+54364
+52285
+47197
+46041
+51221
+47141
+49341
+48152
+49324
+46321
+45817
+54841
+51032
+54632
+49453
+46972
+47448
+44048
+45812
+55137
+54800
+45812
+49373
+49373
+50976
+50976
+45224
+47924
+44053
+50980
+52377
+44396
+50896
+47168
+47448
+47148
+54801
+48708
+50516
+50669
+44397
+50976
+49692
+51648
+52264
+52280
+51613
+50745
+48512
+50672
+49457
+55092
+49436
+44368
+44368
+54980
+51109
+51109
+44592
+49688
+49900
+48152
+44553
+51648
+51064
+44256
+50732
+44284
+44161
+49696
+54644
+53440
+46021
+51088
+52392
+47785
+48512
+47161
+49353
+47448
+49440
+45236
+50517
+50528
+47140
+45813
+50668
+50672
+47140
+49888
+47532
+47049
+44221
+55124
+49324
+52840
+54801
+52264
+50976
+48372
+44305
+44033
+47000
+44552
+44053
+52629
+48176
+44284
+51032
+44340
+49457
+54200
+54644
+52628
+54889
+54924
+54840
+54224
+50724
+51088
+49324
+44228
+44264
+49436
+44256
+49324
+47560
+51200
+53748
+52628
+54800
+46993
+48152
+44256
+52824
+52404
+50528
+49440
+44284
+49845
+50745
+53748
+52280
+49548
+54744
+44060
+48516
+44400
+52824
+50557
+51452
+54801
+47280
+50684
+47196
+53748
+50689
+48708
+46972
+47140
+48324
+54693
+47784
+48177
+44305
+46160
+50836
+54624
+52632
+54617
+45397
+51452
+47141
+45817
+54872
+48708
+54028
+52293
+50521
+45813
+50724
+49444
+51032
+52824
+45813
+50672
+48169
+52628
+47564
+45804
+48149
+44036
+50672
+54812
+51200
+50500
+48276
+50976
+50504
+53748
+47805
+49324
+51652
+44256
+44592
+44368
+44368
+50684
+51652
+44048
+47732
+54788
+49340
+50508
+52380
+54872
+51064
+51064
+52380
+44208
+44228
+52404
+50521
+47588
+47588
+48708
+46020
+48708
+44396
+51216
+49692
+48708
+47924
+49325
+44256
+54861
+54876
+46973
+54637
+44217
+51204
+54644
+54889
+48372
+44257
+48393
+47785
+46980
+50689
+49692
+47049
+44161
+51228
+49452
+52628
+48729
+51652
+50672
+46020
+52824
+51208
+47049
+54620
+54364
+54665
+47609
+50629
+48128
+44228
+44228
+50508
+54801
+50872
+44217
+51221
+50836
+50689
+50577
+51665
+51333
+55012
+48124
+47336
+44060
+50836
+50616
+49552
+44480
+54889
+50549
+49457
+52264
+47156
+49452
+49440
+49440
+51201
+45776
+52376
+47896
+54869
+50612
+52280
+54848
+52789
+54364
+51104
+55137
+54637
+50864
+47588
+47581
+51204
+54872
+44201
+44033
+45229
+48708
+49437
+49325
+47925
+47157
+47736
+47925
+55148
+52280
+44396
+52488
+54869
+54620
+44201
+45684
+46041
+54980
+50668
+50976
+52649
+48149
+52268
+51312
+51320
+51228
+44040
+44508
+54665
+55036
+49437
+44404
+52264
+49437
+54952
+50668
+48169
+53440
+49437
+44032
+49884
+51648
+46041
+51088
+48512
+48124
+51652
+51652
+52264
+50672
+44368
+54861
+44277
+44368
+47029
+44340
+46989
+50696
+44161
+51340
+50672
+44277
+44161
+44340
+44341
+49353
+50752
+51221
+45384
+46020
+47000
+45813
+52292
+50500
+44260
+44053
+44221
+51228
+44592
+47732
+44060
+48124
+51200
+50976
+51064
+45824
+52264
+49457
+46028
+48152
+54645
+44396
+54861
+47196
+50724
+48149
+44081
+47197
+52489
+47144
+50696
+44368
+49689
+49328
+49440
+51104
+44552
+55036
+49689
+45817
+46024
+47469
+44053
+45544
+45800
+45812
+50808
+44048
+45804
+47141
+52272
+49452
+48152
+46989
+51200
+45544
+44340
+50689
+49452
+46976
+47560
+54028
+48373
+44452
+48708
+48512
+54868
+50696
+47448
+50521
+51064
+44428
+54876
+51221
+46160
+50500
+51648
+50628
+52384
+51088
+44592
+50836
+44428
+54876
+51076
+54889
+44396
+49324
+49688
+50672
+54077
+47749
+51312
+47336
+47532
+52285
+51228
+52404
+49440
+52392
+51228
+46021
+47280
+47161
+47308
+51081
+50864
+51061
+52488
+44592
+51060
+45380
+48512
+44204
+50500
+48169
+45404
+49440
+50900
+45380
+54596
+49437
+48149
+52380
+51228
+46020
+52392
+49440
+50857
+50696
+47148
+50504
+54617
+44277
+47168
+44508
+52824
+49549
+50896
+50500
+51333
+47564
+44204
+51221
+50976
+48120
+44204
+50976
+47581
+44396
+52824
+44144
+50516
+50976
+47000
+54844
+44428
+52285
+53440
+44277
+45713
+49340
+51228
+49688
+52628
+54889
+51665
+44040
+47896
+50684
+54693
+51648
+44452
+49688
+50528
+48169
+52285
+45817
+51008
+50728
+44592
+52628
+49325
+51089
+45572
+46020
+49888
+47336
+54364
+47532
+47564
+54805
+51104
+54868
+47588
+44256
+47156
+46020
+49440
+51088
+51312
+48393
+52824
+54028
+48120
+52628
+50696
+47217
+49452
+48708
+44397
+51221
+44396
+50672
+52649
+50676
+44361
+50836
+50517
+50836
+46041
+53440
+50976
+54792
+50836
+54633
+54872
+46993
+50676
+49888
+52380
+52380
+45812
+50752
+45397
+47749
+54861
+52285
+50868
+54732
+52840
+52524
+50864
+45812
+44053
+49688
+51312
+51221
+52628
+54792
+51221
+52509
+48152
+44508
+44284
+44144
+46988
+50696
+50857
+49324
+44148
+49324
+55128
+48268
+46160
+47609
+49457
+47549
+44305
+54644
+52488
+52489
+51089
+53748
+47532
+48708
+44060
+49688
+46972
+49688
+50868
+51333
+54840
+51064
+48373
+51648
+44160
+52392
+44048
+44148
+51452
+51200
+44256
+45393
+50696
+52265
+50521
+52404
+44277
+50696
+52824
+44592
+52628
+47196
+51076
+50857
+51613
+46989
+54801
+51204
+49436
+51008
+44033
+48324
+51221
+44512
+46160
+48120
+51021
+51228
+50616
+52293
+49328
+47452
+48337
+49548
+54632
+54869
+45824
+51312
+48708
+49341
+47497
+45813
+51200
+47609
+50685
+48373
+44340
+44284
+45224
+44040
+44032
+49884
+44284
+49604
+51088
+51452
+53468
+44340
+52840
+49436
+46021
+52769
+50896
+52509
+49352
+51221
+44216
+44540
+51333
+50948
+54620
+44160
+44201
+45225
+54252
+49688
+44396
+51652
+49548
+46020
+48152
+53457
+44216
+50745
+50857
+46973
+44257
+49688
+51333
+54252
+47736
+44540
+52488
+47729
+49436
+47161
+47336
+51109
+47497
+51665
+51312
+49900
+49328
+44256
+48152
+48120
+49688
+44036
+45817
+54644
+44256
+47924
+48264
+46972
+52268
+51613
+47161
+51021
+49345
+50868
+47609
+50865
+52824
+51032
+45812
+54869
+48120
+45800
+49353
+49324
+49688
+52509
+52380
+47448
+51032
+44396
+47280
+47140
+54224
+47157
+47536
+54620
+54952
+50864
+48120
+49440
+50577
+52268
+49933
+50628
+48320
+47161
+54861
+44592
+47308
+48152
+48708
+54840
+54840
+49888
+49353
+54056
+44277
+47749
+44396
+54252
+47588
+49340
+48120
+51109
+48708
+47532
+44428
+49340
+54844
+54693
+51221
+49884
+50689
+44148
+45224
+54889
+51452
+50672
+53748
+49332
+45800
+49892
+51201
+47928
+55148
+47564
+51109
+54889
+45812
+49548
+50676
+48708
+46972
+48152
+47140
+52572
+52264
+46020
+51201
+44305
+51200
+49452
+49328
+48120
+44216
+44396
+51652
+52824
+50864
+49452
+54840
+44048
+52824
+44208
+47785
+48512
+54840
+44221
+54952
+47784
+47581
+50864
+54840
+52377
+45376
+54792
+51221
+48124
+44204
+50500
+53444
+51089
+50900
+48337
+49436
+52628
+48176
+51076
+50984
+44204
+52628
+51060
+51061
+48120
+44228
+50689
+47581
+44592
+48372
+49436
+48324
+48264
+50557
+47532
+48264
+44396
+48512
+50500
+50500
+51137
+52392
+50977
+44552
+44228
+44397
+47000
+49849
+48176
+45684
+50696
+49688
+47924
+49692
+54253
+52628
+45784
+51221
+48393
+51088
+50808
+44284
+50836
+50864
+52488
+44221
+45817
+44480
+49325
+53457
+44053
+50836
+45813
+52393
+44540
+47029
+48128
+47729
+44204
+47197
+48264
+50864
+48120
+51665
+47924
+48324
+54889
+49549
+50836
+50629
+44552
+47156
+48317
+44048
+52404
+47161
+52268
+49884
+51008
+46020
+51452
+52292
+47736
+50684
+46988
+51473
+52488
+49345
+44428
+45393
+46972
+54984
+49884
+46972
+52489
+52824
+51452
+44204
+44221
+51060
+51061
+53468
+52292
+45784
+54253
+46988
+49688
+50864
+50836
+51216
+47161
+51200
+45813
+48337
+51116
+44368
+49688
+48512
+48512
+52380
+47581
+54620
+54620
+48512
+50500
+54945
+51200
+54252
+54788
+48120
+47588
+46993
+44256
+51312
+45813
+50669
+51333
+47532
+47197
+47924
+47280
+51228
+47141
+47532
+51109
+48156
+50577
+47568
+53440
+54217
+51109
+51312
+44452
+51064
+49436
+50696
+44208
+50948
+51137
+46041
+50948
+48149
+51204
+54872
+49440
+51104
+47141
+50672
+54889
+55016
+54840
+54252
+50684
+52488
+48149
+47308
+51452
+50696
+55100
+46973
+44256
+52489
+48512
+45393
+54632
+52488
+47197
+51092
+45813
+48512
+54945
+51613
+44368
+49689
+48712
+54812
+44592
+54844
+51200
+51089
+51060
+51060
+45212
+44152
+49324
+44397
+44257
+50684
+48512
+50629
+52824
+45713
+52285
+54028
+51312
+52404
+54620
+51089
+54028
+51012
+50900
+44081
+48708
+51060
+51452
+50724
+47928
+51228
+51452
+47197
+47928
+44260
+52628
+46980
+51116
+49688
+47749
+51656
+52404
+51312
+54364
+47144
+49845
+47217
+49689
+55128
+50896
+54413
+54980
+44208
+51088
+54200
+44288
+45684
+51076
+51064
+44060
+54596
+53456
+47896
+49692
+44553
+51204
+47568
+48324
+44553
+49884
+54588
+51200
+49324
+53456
+52392
+52824
+53748
+54801
+51060
+55092
+47924
+51452
+54801
+51648
+51064
+44397
+51228
+51208
+49548
+47805
+54588
+54620
+50612
+54788
+48169
+45733
+51092
+48512
+48169
+44228
+44592
+46021
+47197
+44512
+54632
+55148
+52292
+49692
+51649
+52824
+54844
+52509
+51204
+52628
+51228
+51456
+52628
+51217
+52264
+50976
+48320
+51665
+55176
+51200
+44033
+44201
+51593
+45813
+51652
+49576
+50557
+44396
+54889
+51228
+52628
+49552
+52264
+50745
+44049
+54840
+44257
+44060
+51204
+51333
+51312
+52404
+49328
+47280
+49688
+52292
+51217
+50612
+44060
+54889
+51104
+45800
+54925
+49688
+45812
+44256
+54792
+47564
+53441
+50724
+48317
+50725
+50668
+47805
+48708
+47805
+50577
+51656
+48149
+50689
+50976
+50577
+46976
+50689
+52280
+44428
+51652
+48373
+51064
+45824
+48268
+49436
+52393
+53461
+52264
+45812
+52392
+51648
+53457
+44032
+49692
+54889
+47308
+52264
+50732
+52840
+44552
+50517
+44396
+48512
+53440
+44256
+50517
+54077
+46020
+51228
+53440
+51228
+48372
+50896
+46020
+47452
+44592
+47785
+52380
+44204
+51333
+49548
+48276
+50976
+52628
+53457
+52377
+49689
+48512
+49845
+51109
+51312
+48512
+46321
+52384
+48512
+48708
+47924
+54812
+50521
+47749
+48169
+47581
+49849
+47805
+52488
+51312
+44060
+48176
+49548
+49888
+44152
+49688
+49345
+49548
+54872
+50864
+54952
+52840
+45800
+48393
+51064
+50521
+50684
+51068
+47564
+48276
+44144
+49884
+54868
+48320
+45824
+47561
+46321
+48276
+54872
+44305
+51613
+52264
+53440
+50976
+54840
+52380
+44292
+54792
+47280
+44540
+44592
+44257
+47581
+51032
+47308
+44600
+46321
+50616
+51021
+51008
+44592
+51208
+54785
+50669
+50556
+50724
+51648
+51648
+54620
+52265
+48512
+49692
+54217
+44340
+51452
+54952
+50896
+44417
+52509
+44256
+44340
+49436
+44404
+51648
+47609
+47140
+51452
+45813
+51648
+44256
+47049
+54848
+46980
+51204
+44537
+48512
+51648
+50669
+44592
+53441
+52272
+47924
+46021
+51064
+49884
+50696
+54620
+50672
+48512
+46980
+54665
+44036
+51032
+48120
+44396
+47581
+44592
+49324
+54632
+50976
+47456
+51088
+51312
+50836
+44032
+47532
+44592
+44277
+47141
+48337
+49324
+44256
+47560
+49549
+52628
+51204
+49324
+48176
+54728
+44221
+54252
+47497
+49345
+51312
+51312
+49692
+44221
+45812
+51088
+47456
+51060
+49548
+50612
+54868
+47140
+54028
+49548
+47588
+47140
+50745
+49549
+49345
+49548
+51060
+45397
+49324
+44256
+48512
+51021
+46321
+50672
+52572
+44036
+51228
+44552
+54364
+49688
+49688
+46024
+49341
+50528
+50508
+51456
+44288
+48708
+50896
+51020
+51613
+49548
+46160
+54924
+52393
+53469
+45800
+45817
+52824
+50696
+48373
+50528
+48373
+49688
+44032
+52272
+54632
+47564
+49552
+48708
+47161
+51208
+44452
+54801
+52712
+52845
+46993
+55141
+54224
+47140
+51088
+54624
+44592
+45768
+50689
+54952
+46321
+47308
+53469
+44592
+44053
+49452
+44397
+54364
+48264
+46160
+47492
+48120
+52265
+54792
+54840
+48120
+54624
+51105
+52509
+47140
+50672
+52489
+50628
+54620
+54952
+50613
+46976
+50557
+50672
+47161
+50577
+50872
+54617
+54980
+50696
+54617
+50669
+44148
+54633
+52376
+51008
+47729
+55148
+45216
+54632
+52264
+54633
+50516
+46020
+51228
+50724
+49325
+51008
+52649
+51452
+47609
+50896
+45685
+47896
+51312
+50896
+47784
+44404
+45216
+49437
+54596
+51088
+48169
+44049
+44428
+54693
+44508
+54056
+44305
+49692
+52264
+50836
+44260
+54924
+55148
+50500
+50577
+51312
+47448
+44033
+47532
+50756
+47532
+51613
+44592
+54840
+51092
+48512
+51109
+44288
+44397
+47609
+52285
+45812
+47784
+49457
+47140
+50672
+49688
+49884
+49845
+48337
+52509
+54980
+50896
+52404
+44204
+44049
+54620
+48149
+49688
+47448
+51104
+51104
+50696
+49440
+50616
+51312
+44048
+50857
+51333
+48393
+44053
+50612
+52377
+51088
+47560
+48393
+54872
+49345
+51652
+44288
+48373
+47536
+46321
+51221
+44053
+46989
+50613
+50745
+51088
+50672
+51208
+54984
+50976
+54788
+45397
+48512
+51208
+51216
+47925
+51200
+45733
+54732
+47928
+47140
+51104
+47736
+51216
+45776
+52292
+47564
+55100
+45685
+47589
+52572
+44048
+44061
+54637
+54632
+55064
+49548
+50948
+51320
+44592
+44148
+51061
+47560
+51312
+48156
+48708
+51200
+51088
+52636
+44049
+45768
+50521
+44368
+49692
+52649
+45376
+50997
+51648
+49345
+52488
+49440
+50976
+52840
+44552
+51333
+47197
+54632
+48324
+50529
+49772
+53444
+50977
+50896
+50696
+44288
+44404
+54077
+51092
+51333
+53440
+51105
+50836
+44228
+50672
+54980
+49692
+45824
+49440
+44340
+48708
+54812
+48149
+44201
+52572
+52629
+54588
+44396
+51333
+48533
+52404
+52629
+51648
+45544
+44260
+48393
+49444
+46321
+50948
+44432
+44480
+51613
+49341
+53440
+47161
+47805
+54984
+44284
+47805
+48152
+44592
+50689
+44148
+44288
+52629
+47532
+52489
+49440
+54364
+49440
+44508
+45453
+46301
+46301
+51060
+47156
+51088
+49548
+54792
+49884
+48120
+52840
+52840
+54785
+50976
+47197
+47000
+50689
+49373
+44204
+44228
+44204
+50868
+44256
+51201
+52285
+47536
+51201
+47588
+45817
+49900
+48712
+47532
+49457
+44053
+54805
+55012
+49440
+44257
+48708
+51320
+45824
+45824
+54844
+49352
+52384
+51228
+50864
+50557
+52824
+47448
+48156
+44368
+54872
+54785
+47536
+55012
+51081
+54788
+48708
+49888
+49328
+52824
+50760
+46160
+52380
+54812
+54644
+48708
+50836
+50836
+45685
+54840
+51076
+51020
+48152
+50684
+51060
+50756
+50896
+54633
+51452
+50672
+49884
+47732
+54812
+51088
+54252
+48708
+54792
+45768
+49324
+48128
+48320
+44048
+45208
+50976
+50696
+44592
+51076
+55093
+47029
+54924
+49888
+45432
+54620
+44217
+53804
+54868
+46021
+48729
+52489
+55148
+49569
+48120
+49888
+50724
+44417
+51109
+46020
+54665
+44396
+44144
+54844
+51228
+47732
+50628
+44592
+49688
+47280
+50896
+51216
+54788
+44228
+50976
+55036
+49341
+49548
+44201
+45432
+54812
+44256
+53748
+51648
+50976
+47560
+44260
+52488
+52832
+51312
+54924
+47144
+47308
+47196
+53440
+49688
+50724
+50724
+49453
+49688
+47588
+45812
+55136
+44221
+50517
+45813
+52280
+50696
+45800
+51228
+52280
+51656
+50865
+54732
+55124
+44277
+45800
+49692
+45432
+54872
+50672
+44396
+54861
+49688
+50696
+47196
+44397
+54840
+47564
+47157
+46164
+52628
+49884
+54637
+52840
+47588
+49548
+52293
+49884
+47785
+50976
+51020
+49688
+47448
+47196
+49688
+51217
+49933
+54924
+54848
+54924
+50529
+47805
+49341
+51333
+44208
+44400
+45800
+47336
+49688
+52649
+52628
+47157
+54872
+51217
+51312
+55092
+51032
+52628
+45768
+54028
+49328
+51032
+54840
+49444
+54872
+47564
+47564
+44144
+47308
+54840
+51473
+48124
+54788
+51652
+49548
+51089
+51452
+44396
+54788
+51060
+52824
+54801
+49888
+51092
+51116
+54252
+47049
+51648
+44592
+50756
+44288
+44144
+52397
+50528
+48512
+44480
+54980
+50616
+50672
+52824
+54364
+51060
+49604
+51648
+44480
+51081
+50696
+52828
+52392
+52397
+52285
+49324
+52632
+54861
+46041
+51221
+48120
+50976
+49549
+52292
+44544
+51105
+44592
+50724
+48512
+50725
+48520
+48177
+52377
+45800
+51089
+52264
+44396
+50976
+44201
+54980
+44508
+55137
+51109
+50868
+53804
+51456
+46020
+48512
+52293
+54841
+50900
+48373
+51312
+52384
+52377
+44404
+48512
+54889
+52632
+50857
+52268
+49353
+52824
+44148
+52824
+52488
+47928
+52280
+52293
+51104
+54596
+44592
+51656
+52489
+44144
+51216
+44600
+48320
+52268
+47141
+47141
+50557
+44428
+51221
+48512
+52264
+51648
+49884
+54637
+51208
+44592
+48156
+45580
+53804
+51452
+52489
+50900
+51648
+51204
+52636
+48324
+47805
+48156
+51204
+48124
+44033
+48276
+51137
+44396
+51312
+48373
+44292
+54632
+51201
+52649
+50864
+51652
+44396
+51340
+52404
+44508
+47148
+54056
+46020
+47924
+49548
+52384
+47197
+52285
+51228
+52488
+47049
+51204
+44260
+51109
+44404
+46028
+54872
+48708
+48708
+45813
+54616
+50501
+44228
+44201
+44508
+54840
+52628
+49688
+52292
+51088
+55113
+54224
+48169
+50752
+50836
+50857
+54984
+52629
+52393
+52404
+52264
+47805
+49440
+53440
+48324
+51648
+51200
+52392
+44452
+45800
+51452
+46321
+47280
+46321
+50557
+44428
+52489
+47161
+52828
+52828
+48512
+49324
+51312
+44284
+54644
+47928
+44417
+49688
+54644
+49452
+50808
+51204
+47217
+44396
+47456
+44452
+52632
+50857
+50900
+44368
+44053
+48152
+44592
+44361
+48512
+47196
+44361
+53440
+48124
+51204
+44204
+44228
+51613
+44081
+44277
+51204
+46993
+47784
+50669
+47449
+50896
+44397
+48708
+44081
+54644
+54200
+54844
+51200
+50857
+49345
+50724
+52264
+51652
+49440
+48393
+47564
+49688
+51333
+52509
+44081
+51204
+49328
+49884
+52649
+49688
+48708
+44060
+47736
+51648
+50696
+48124
+47161
+52268
+50620
+47161
+55128
+50900
+47549
+50696
+49884
+49888
+50857
+50857
+54924
+45453
+50976
+44592
+48156
+48169
+44592
+46160
+51312
+51228
+44368
+50864
+54633
+55100
+50984
+44257
+49688
+54056
+44081
+54805
+44480
+50500
+49696
+50976
+49569
+49453
+52285
+50836
+49696
+50672
+49556
+47308
+51333
+50612
+44368
+49688
+52380
+49440
+47280
+47536
+51201
+46021
+50753
+44592
+52380
+50868
+48169
+45800
+51200
+44144
+52636
+49888
+44277
+54637
+49440
+50504
+44452
+50864
+47280
+49324
+46020
+49888
+54805
+44396
+54637
+49324
+45817
+52292
+51200
+50628
+52824
+44277
+50689
+51204
+44452
+47140
+49604
+47560
+47560
+44256
+45817
+48176
+47336
+52832
+52264
+46020
+50501
+51104
+51104
+51032
+51201
+45817
+44285
+48708
+47448
+51061
+49692
+51456
+48156
+47532
+44284
+51452
+48156
+52628
+44089
+54980
+48152
+49324
+54980
+51060
+44292
+51200
+50684
+48268
+44204
+54632
+47049
+51648
+47729
+50864
+50557
+49900
+47588
+51020
+47732
+53804
+44508
+49688
+54812
+48128
+50857
+50865
+52285
+47564
+44516
+48708
+51104
+50773
+44592
+47805
+51216
+54617
+54252
+44048
+52280
+47141
+47532
+44396
+46164
+44417
+50980
+52840
+51648
+50684
+48324
+54840
+44060
+44452
+50900
+54924
+48317
+53440
+53440
+52280
+49324
+49885
+49453
+54805
+54805
+49436
+51201
+50556
+54632
+48708
+50629
+50616
+52509
+49688
+44540
+53440
+49440
+44288
+46020
+44208
+52380
+54632
+47805
+50501
+51312
+44552
+44552
+49340
+47581
+50896
+52285
+54077
+51613
+51648
+49692
+50612
+47924
+47576
+44053
+44592
+49549
+48324
+51204
+44288
+52265
+49688
+52488
+44208
+54620
+50724
+44368
+50508
+52840
+52393
+47469
+52265
+48149
+47156
+49688
+49440
+47140
+48120
+54788
+52384
+48149
+51613
+52629
+54028
+47609
+49324
+44396
+50864
+51456
+54952
+47141
+52272
+48120
+49444
+50556
+47924
+47932
+48156
+49324
+47140
+50864
+48169
+49340
+51089
+47532
+49440
+44285
+44228
+52264
+49324
+45544
+50724
+52628
+50732
+44288
+54644
+51221
+54792
+53461
+52392
+45800
+54217
+54624
+54785
+54620
+55176
+44292
+51137
+50724
+54925
+50980
+50728
+49884
+54872
+54876
+48512
+52544
+54620
+44552
+54792
+46976
+47928
+54624
+50689
+44208
+54693
+52632
+52824
+44396
+50948
+50684
+54693
+50669
+48120
+51137
+50728
+50864
+49901
+51221
+51088
+44208
+49436
+50864
+51473
+44361
+54980
+51312
+51204
+44033
+51060
+54861
+51032
+49436
+47532
+44257
+54788
+49688
+44537
+54788
+48393
+44285
+51228
+47000
+51452
+45392
+50669
+51204
+48317
+51204
+47497
+54840
+48169
+45817
+52824
+47560
+54632
+51204
+50857
+44396
+51064
+48373
+54812
+50948
+51032
+50629
+44048
+52393
+54840
+48712
+52509
+54732
+52280
+54844
+44396
+44036
+51088
+51648
+51664
+44396
+50976
+44256
+51025
+50885
+54633
+44257
+52572
+49436
+51089
+51201
+47924
+52628
+50504
+50516
+47308
+48324
+49933
+48712
+50549
+50672
+54617
+48149
+50689
+54861
+51088
+55137
+51228
+50864
+47280
+48149
+50864
+51228
+48512
+49440
+51020
+54848
+49437
+48533
+52397
+50864
+50752
+50528
+54632
+45812
+48149
+51201
+54869
+48169
+51020
+52628
+47161
+47588
+47589
+46988
+49548
+49444
+51652
+48149
+48373
+45572
+55148
+45824
+45812
+50868
+49328
+51008
+49689
+53748
+48337
+54840
+48708
+48708
+51105
+48708
+48708
+54632
+49884
+51204
+51204
+51092
+51216
+54924
+48372
+50896
+47560
+52488
+47308
+44160
+47736
+54848
+44361
+50864
+44592
+53440
+50521
+49324
+54056
+51228
+54788
+51228
+54596
+51452
+54252
+52393
+51060
+51221
+44217
+51208
+46020
+54792
+45800
+51312
+54792
+52285
+50896
+44288
+47049
+48393
+44592
+47197
+44537
+51665
+50976
+46020
+49688
+54840
+50868
+51221
+48169
+50857
+50529
+50745
+54056
+48393
+50864
+51088
+48516
+44288
+48373
+44537
+46024
+54889
+52489
+52404
+48149
+44204
+47157
+47217
+50976
+52280
+46976
+49632
+45225
+48708
+53440
+51452
+51217
+48512
+44397
+48512
+54616
+50948
+48149
+45813
+48264
+52392
+54925
+51105
+48708
+51228
+51228
+51228
+51228
+48264
+54644
+54861
+51648
+48149
+51020
+44032
+44221
+48156
+50896
+52628
+50689
+51032
+44060
+50732
+50980
+52840
+50500
+51200
+44396
+48124
+48176
+44049
+48320
+51208
+54840
+51652
+49888
+44036
+48708
+45796
+51652
+53448
+49340
+49457
+50684
+51104
+47784
+48176
+53748
+48708
+48512
+52384
+44592
+47548
+51032
+47928
+50724
+44228
+51208
+52840
+54616
+54624
+49345
+44284
+54980
+50836
+48373
+54952
+50868
+48708
+50516
+49324
+54812
+47749
+50808
+44049
+44256
+50724
+49340
+49345
+47336
+52840
+54924
+49340
+51032
+47536
+50976
+54632
+46021
+44552
+47732
+48264
+50501
+52488
+54861
+54945
+50984
+54792
+54252
+54596
+52488
+50976
+51060
+50900
+49341
+55100
+54801
+47456
+50672
+53468
+54925
+49341
+47497
+54392
+54848
+44341
+48512
+50948
+50948
+49688
+50516
+50976
+44053
+54945
+50577
+54952
+50836
+48276
+54596
+47532
+54945
+46020
+47448
+48708
+51200
+46020
+55128
+52268
+51032
+46160
+50896
+44396
+51116
+48149
+51228
+50521
+46020
+51060
+45392
+49548
+48376
+44396
+48152
+47568
+50528
+50504
+49324
+52268
+51656
+50577
+51204
+50672
+49464
+51228
+48120
+49888
+51228
+51021
+51076
+49324
+44256
+45377
+50676
+44148
+49688
+50689
+54252
+54840
+54840
+50685
+54200
+50577
+47156
+49885
+50728
+53748
+51104
+51200
+50689
+50689
+52840
+45817
+45812
+47308
+54924
+50669
+50685
+44216
+51008
+45397
+51088
+44204
+50577
+48149
+48120
+49688
+47560
+47049
+44228
+44228
+49688
+48520
+48156
+48393
+48324
+51032
+50948
+54872
+48276
+44592
+47784
+48512
+50521
+50521
+48516
+44592
+44400
+53468
+51068
+48149
+48320
+48156
+44396
+54788
+49696
+48708
+50984
+52824
+47140
+51060
+47148
+55092
+45544
+55148
+50724
+44221
+47280
+54252
+53441
+52628
+52384
+52285
+50504
+50696
+50669
+47497
+48512
+49341
+54844
+51456
+49688
+48317
+54596
+49341
+49345
+54617
+47141
+44368
+54620
+51116
+44264
+49849
+47336
+47561
+47729
+47589
+50724
+51201
+52629
+54889
+48264
+46321
+46041
+51665
+46021
+50508
+50696
+51228
+46020
+47536
+54364
+48393
+44148
+49453
+46972
+49888
+50504
+44284
+49453
+51061
+44264
+50756
+50508
+44032
+48156
+44256
+47161
+44036
+44292
+54644
+44305
+54665
+44508
+52293
+51221
+46993
+54224
+54872
+48372
+50836
+50756
+52377
+49688
+44284
+45824
+50724
+44216
+47560
+44340
+44340
+50516
+47568
+44221
+44256
+44273
+44256
+54840
+45796
+49452
+45236
+49324
+44060
+48708
+54028
+49569
+51109
+50508
+47564
+49709
+52264
+49452
+44292
+44256
+51201
+48512
+51312
+51320
+50752
+48708
+52292
+48337
+49352
+49688
+50976
+44592
+52264
+48152
+48149
+47564
+52509
+55092
+44480
+51228
+46988
+49688
+47805
+47732
+48152
+47140
+52268
+44396
+47448
+51032
+47928
+47141
+47141
+51613
+51088
+54844
+49888
+52824
+54665
+47581
+46041
+50669
+48708
+54840
+47588
+52264
+47588
+52488
+44516
+50976
+51032
+51032
+50976
+47161
+50508
+51221
+44544
+51088
+47581
+48169
+44277
+51201
+44060
+50612
+51104
+54056
+54028
+53440
+50521
+44368
+50976
+51656
+44060
+47568
+49849
+49440
+51648
+51200
+48120
+44277
+51060
+44557
+44557
+46160
+48512
+49444
+50629
+51221
+51312
+47924
+47448
+52268
+47532
+49689
+47197
+54785
+51089
+54056
+45236
+44144
+51092
+44397
+51137
+51320
+54632
+51228
+52628
+49440
+51228
+47581
+54364
+46980
+49436
+44557
+50529
+47536
+46041
+51228
+50672
+51204
+44557
+50745
+46993
+50612
+49688
+52264
+54644
+54876
+51204
+52285
+47336
+52280
+51648
+50948
+49440
+52488
+48124
+44508
+49548
+49549
+47560
+49324
+53440
+51104
+44288
+46321
+45236
+47196
+47196
+51032
+54644
+50628
+44221
+48372
+51452
+54632
+44288
+51208
+47280
+47805
+50629
+52285
+47549
+51064
+52632
+52628
+46321
+50612
+51452
+44396
+45824
+46160
+54861
+49884
+54812
+44396
+51648
+49884
+50896
+44553
+50868
+48169
+44277
+54637
+51664
+51089
+50896
+47785
+44060
+48708
+44048
+54788
+49373
+49437
+44368
+51088
+51068
+48156
+51312
+50896
+51088
+51648
+48177
+47924
+48372
+46041
+48156
+46041
+44204
+44277
+44396
+44508
+52264
+50976
+50896
+47196
+44257
+48512
+45393
+50500
+50500
+54805
+44036
+50504
+46020
+48512
+48393
+47749
+49688
+52628
+44592
+50672
+48324
+51104
+49440
+54980
+54889
+50836
+51204
+44508
+50669
+51201
+47589
+51473
+48372
+47785
+51652
+49696
+45813
+52825
+44228
+51333
+47560
+44396
+50516
+52280
+44396
+54617
+46321
+50672
+46041
+50864
+49345
+45544
+49692
+48516
+48373
+47161
+50724
+54872
+51032
+54872
+47805
+50549
+47336
+50672
+48372
+52393
+47161
+49324
+44368
+47148
+52397
+44201
+52404
+48317
+44053
+49548
+54924
+52572
+51201
+54872
+50724
+47140
+48120
+54840
+49373
+44032
+51008
+50948
+50896
+54364
+47197
+47161
+51061
+51116
+49328
+54848
+49549
+53440
+47568
+54876
+52393
+48337
+48393
+54844
+48512
+44284
+48512
+47532
+51092
+48708
+52264
+47805
+49604
+51109
+51201
+44361
+54413
+50724
+47805
+49340
+44257
+46160
+46024
+50976
+54800
+46024
+45800
+47196
+52380
+45776
+45776
+47532
+46041
+44144
+44204
+48373
+49352
+52264
+46020
+44204
+45453
+50508
+44221
+44036
+51201
+44204
+47588
+45804
+44204
+50872
+49324
+51116
+47581
+47168
+44260
+54984
+45813
+51088
+50577
+53668
+49345
+54785
+51312
+54924
+51081
+52524
+44396
+50752
+52628
+51648
+51221
+49464
+49345
+51105
+48512
+52393
+45813
+45813
+54364
+54632
+48337
+44033
+52628
+51452
+48149
+47448
+45685
+55137
+54252
+51228
+54633
+52404
+50780
+51228
+51228
+51228
+52824
+54028
+44552
+44032
+47549
+44144
+44396
+46980
+44257
+54801
+44592
+54632
+54632
+49892
+54632
+50528
+54624
+52264
+52293
+50836
+52280
+51228
+52272
+50628
+44204
+50773
+50628
+44508
+52488
+46041
+50684
+50557
+52712
+51648
diff --git a/Master/texmf-dist/tex/xetex/xetexko/xetexko-font.sty b/Master/texmf-dist/tex/xetex/xetexko/xetexko-font.sty
new file mode 100644
index 00000000000..8264204e362
--- /dev/null
+++ b/Master/texmf-dist/tex/xetex/xetexko/xetexko-font.sty
@@ -0,0 +1,424 @@
+% $Id: xetexko-font.sty,v 1.29 2012/10/27 10:55:09 nomos Exp $
+%
+% Copyright (c) 2013 Dohyun Kim <nomos at ktug org>
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2006/05/20 or later.
+
+\ProvidesPackage{xetexko-font}[2013/03/27 v2.0 Font commands for XeTeX-ko]
+
+\RequirePackage{fontspec}
+\RequirePackage{xkeyval}
+
+%%%%%%%%%%
+% ttfamily
+\protected\edef\ttfamily
+ {\unexpanded\expandafter{\ttfamily\disablehangulspacing}}
+\edef\verbatim@font
+ {\unexpanded\expandafter{\verbatim@font\disablehangulspacingandlinebreak}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% for old hangul rendering
+\ExplSyntaxOn
+\fontspec_define_font_feature:n {YetHangul}
+\keys_define:nn {fontspec}
+ {
+ YetHangul .default:n = {On} ,
+ YetHangul / On .code:n = {
+ \fontspec_update_fontid:n {yethangul:on}
+ \fontspec_update_featstr:n {script=hang}
+ } ,
+ YetHangul / Off .code:n = {
+ \fontspec_update_fontid:n {yethangul:off}
+ \fontspec_update_featstr:n {-ljmo;-vjmo;-tjmo}
+ }
+ }
+\ExplSyntaxOff
+
+%%%%%%%%%%%%%
+% hangul font
+\def\hangfnt{%
+ \edef\@tempb{\sfdefault}\edef\@tempc{\ttdefault}%
+ \ifx\XKprevfont\@tempb \korsansfont \else
+ \ifx\XKprevfont\@tempc \kormonofont \else
+ \kormainfont \fi\fi}
+% hanja font
+\def\hanifnt{%
+ \edef\@tempb{\sfdefault}\edef\@tempc{\ttdefault}%
+ \ifx\XKprevfont\@tempb \hnjsansfont \else
+ \ifx\XKprevfont\@tempc \hnjmonofont \else
+ \hnjmainfont \fi\fi}
+
+%%%%%%%%%%%%%%%%%%%%%
+% hangul font options
+\newtoks\XK@font@options\XK@font@options{}
+\define@key[xtxko]{font}{hu}{\addto@hook\XK@font@options{\def\xetexkohu{#1}}}
+\define@key[xtxko]{font}{interhchar}{\addto@hook\XK@font@options{\def\xetexkointerhchar{#1}}}
+\define@key[xtxko]{font}{lowerexclamation}{\addto@hook\XK@font@options{\def\xetexkolowerexclamation{#1}}}
+\define@key[xtxko]{font}{lowerperiod}{\addto@hook\XK@font@options{\def\xetexkolowerperiod{#1}}}
+\define@key[xtxko]{font}{lowerquestion}{\addto@hook\XK@font@options{\def\xetexkolowerquestion{#1}}}
+\define@key[xtxko]{font}{lowercomma}{\addto@hook\XK@font@options{\def\xetexkolowercomma{#1}}}
+\define@key[xtxko]{font}{postexclamationkern}{\addto@hook\XK@font@options{\def\xetexkopostexclamationkern{#1}}}
+\define@key[xtxko]{font}{postmathskip}{\addto@hook\XK@font@options{\def\xetexkopostmathskip{#1}}}
+\define@key[xtxko]{font}{postperiodkern}{\addto@hook\XK@font@options{\def\xetexkopostperiodkern{#1}}}
+\define@key[xtxko]{font}{postquestionkern}{\addto@hook\XK@font@options{\def\xetexkopostquestionkern{#1}}}
+\define@key[xtxko]{font}{postcommakern}{\addto@hook\XK@font@options{\def\xetexkopostcommakern{#1}}}
+\define@key[xtxko]{font}{preexclamationkern}{\addto@hook\XK@font@options{\def\xetexkopreexclamationkern{#1}}}
+\define@key[xtxko]{font}{preperiodkern}{\addto@hook\XK@font@options{\def\xetexkopreperiodkern{#1}}}
+\define@key[xtxko]{font}{prequestionkern}{\addto@hook\XK@font@options{\def\xetexkoprequestionkern{#1}}}
+\define@key[xtxko]{font}{precommakern}{\addto@hook\XK@font@options{\def\xetexkoprecommakern{#1}}}
+\define@key[xtxko]{font}{quoteraise}{\addto@hook\XK@font@options{\def\xetexkoquoteraise{#1}}}
+\define@key[xtxko]{font}{quotewidth}{\addto@hook\XK@font@options{\def\xetexkoquotewidth{#1}}}
+
+\presetkeys[xtxko]{font}{
+ hu=0.06em,
+ interhchar={},
+ lowerexclamation={},
+ lowerperiod={},
+ lowercomma={},
+ lowerquestion={},
+ postexclamationkern={},
+ postmathskip=\dimexpr\xetexkohu*\tw@\relax,
+ postperiodkern={},
+ postcommakern={},
+ postquestionkern={},
+ preexclamationkern={},
+ preperiodkern={},
+ precommakern={},
+ prequestionkern={},
+ quoteraise={},
+ quotewidth={}
+}{}
+
+%%%%%%%%%%%%%%%%%%%%
+% user font commands
+\protected\def\setmainhangulfont
+ {\@ifnextchar[\@setmainhangulfont{\@setmainhangulfont[]}}
+\def\@setmainhangulfont[#1]{%
+ \def\kormainfont{\XK@main@hangul@font\XK@main@hangul@options}%
+ \XK@font@options{}%
+ \setkeys*[xtxko]{font}{#1}%
+ \edef\XK@main@hangul@options{\the\XK@font@options}%
+ \expandafter\newfontfamily\expandafter\XK@main@hangul@font\expandafter[\XKV@rm]}
+
+\protected\def\setsanshangulfont
+ {\@ifnextchar[\@setsanshangulfont{\@setsanshangulfont[]}}
+\def\@setsanshangulfont[#1]{%
+ \def\korsansfont{\XK@sans@hangul@font\XK@sans@hangul@options}%
+ \XK@font@options{}%
+ \setkeys*[xtxko]{font}{#1}%
+ \edef\XK@sans@hangul@options{\the\XK@font@options}%
+ \expandafter\newfontfamily\expandafter\XK@sans@hangul@font\expandafter[\XKV@rm]}
+
+\protected\def\setmonohangulfont{\newfontfamily\kormonofont}
+
+\protected\def\setmainhanjafont
+ {\@ifnextchar[\@setmainhanjafont{\@setmainhanjafont[]}}
+\def\@setmainhanjafont[#1]{%
+ \def\hnjmainfont{\XK@main@hanja@font\XK@main@hanja@options}%
+ \XK@font@options{}%
+ \setkeys*[xtxko]{font}{#1}%
+ \edef\XK@main@hanja@options{\the\XK@font@options}%
+ \expandafter\newfontfamily\expandafter\XK@main@hanja@font\expandafter[\XKV@rm]}
+
+\protected\def\setsanshanjafont
+ {\@ifnextchar[\@setsanshanjafont{\@setsanshanjafont[]}}
+\def\@setsanshanjafont[#1]{%
+ \def\hnjsansfont{\XK@sans@hanja@font\XK@sans@hanja@options}%
+ \XK@font@options{}%
+ \setkeys*[xtxko]{font}{#1}%
+ \edef\XK@sans@hanja@options{\the\XK@font@options}%
+ \expandafter\newfontfamily\expandafter\XK@sans@hanja@font\expandafter[\XKV@rm]}
+
+\protected\def\setmonohanjafont {\newfontfamily\hnjmonofont}
+
+% adhochangulfont/adhochanjafont, hangulfontspec/hanjafontspec
+\protected\def\adhochangulfont{\@ifnextchar[\@adhochangulfont{\@adhochangulfont[]}}
+\def\@adhochangulfont[#1]{%
+ \def\hangfnt{\XK@adhoc@hangul@font\XK@adhoc@hangul@options}%
+ \XK@font@options{}%
+ \setkeys*[xtxko]{font}{#1}%
+ \edef\XK@adhoc@hangul@options{\the\XK@font@options}%
+ \expandafter\newfontfamily\expandafter\XK@adhoc@hangul@font\expandafter[\XKV@rm]}
+\let\hangulfontspec\adhochangulfont
+
+\protected\def\adhochanjafont{\@ifnextchar[\@adhochanjafont{\@adhochanjafont[]}}
+\def\@adhochanjafont[#1]{%
+ \def\hanifnt{\XK@adhoc@hanja@font\XK@adhoc@hanja@options}%
+ \XK@font@options{}%
+ \setkeys*[xtxko]{font}{#1}%
+ \edef\XK@adhoc@hanja@options{\the\XK@font@options}%
+ \expandafter\newfontfamily\expandafter\XK@adhoc@hanja@font\expandafter[\XKV@rm]}
+\let\hanjafontspec\adhochanjafont
+
+% newhangulfontfamily/newhanjafontfamily
+\def\XK@newfont@family{XK@newfont@family}
+\def\XK@newfont@options{XK@newfont@options}
+
+\protected\def\newhangulfontfamily#1{%
+ \@ifnextchar[{\@newhangulfontfamily#1}{\@newhangulfontfamily#1[]}}
+\def\@newhangulfontfamily#1[#2]{%
+ \protected\def#1{\def\hangfnt{\csname\XK@newfont@family\string#1\endcsname
+ \csname\XK@newfont@options\string#1\endcsname}}%
+ \XK@font@options{}%
+ \setkeys*[xtxko]{font}{#2}%
+ \expandafter\edef\csname\XK@newfont@options\string#1\endcsname
+ {\the\XK@font@options}%
+ \expandafter\expandafter\expandafter\newfontfamily\expandafter
+ \csname\expandafter\XK@newfont@family\expandafter
+ \string\expandafter#1\expandafter\endcsname\expandafter[\XKV@rm]}
+
+\protected\def\newhanjafontfamily#1{%
+ \@ifnextchar[{\@newhanjafontfamily#1}{\@newhanjafontfamily#1[]}}
+\def\@newhanjafontfamily#1[#2]{%
+ \protected\def#1{\def\hanifnt{\csname\XK@newfont@family\string#1\endcsname
+ \csname\XK@newfont@options\string#1\endcsname}}%
+ \XK@font@options{}%
+ \setkeys*[xtxko]{font}{#2}%
+ \expandafter\edef\csname\XK@newfont@options\string#1\endcsname
+ {\the\XK@font@options}%
+ \expandafter\expandafter\expandafter\newfontfamily\expandafter
+ \csname\expandafter\XK@newfont@family\expandafter
+ \string\expandafter#1\expandafter\endcsname\expandafter[\XKV@rm]}
+
+% newhangulfontface/newhanjafontface
+\protected\def\newhangulfontface#1{%
+ \@ifnextchar[{\@newhangulfontface#1}{\@newhangulfontface#1[]}}
+\def\@newhangulfontface#1[#2]{%
+ \protected\def#1{\def\hangfnt{\csname\XK@newfont@family\string#1\endcsname
+ \csname\XK@newfont@options\string#1\endcsname}}%
+ \XK@font@options{}%
+ \setkeys*[xtxko]{font}{#2}%
+ \expandafter\edef\csname\XK@newfont@options\string#1\endcsname
+ {\the\XK@font@options}%
+ \expandafter\expandafter\expandafter\newfontface\expandafter
+ \csname\expandafter\XK@newfont@family\expandafter
+ \string\expandafter#1\expandafter\endcsname\expandafter[\XKV@rm]}
+
+\protected\def\newhanjafontface#1{%
+ \@ifnextchar[{\@newhanjafontface#1}{\@newhanjafontface#1[]}}
+\def\@newhanjafontface#1[#2]{%
+ \protected\def#1{\def\hanifnt{\csname\XK@newfont@family\string#1\endcsname
+ \csname\XK@newfont@options\string#1\endcsname}}%
+ \XK@font@options{}%
+ \setkeys*[xtxko]{font}{#2}%
+ \expandafter\edef\csname\XK@newfont@options\string#1\endcsname
+ {\the\XK@font@options}%
+ \expandafter\expandafter\expandafter\newfontface\expandafter
+ \csname\expandafter\XK@newfont@family\expandafter
+ \string\expandafter#1\expandafter\endcsname\expandafter[\XKV@rm]}
+
+% addhangulfontfeature/addhanjafontfeature
+\let\XK@orig@hangfnt\hangfnt
+\let\XK@orig@hanifnt\hanifnt
+
+\protected\def\addhangulfontfeature#1{%
+ \begingroup
+ \hangfnt
+ \unpresetkeys[xtxko]{font}%
+ \XK@font@options{}%
+ \setkeys*[xtxko]{font}{#1}%
+ \global\toks@\expandafter{\the\XK@font@options}%
+ \addfontfeature{\XKV@rm}%
+ \global\let\XK@curr@family\f@family
+ \endgroup
+ \ifx\hangfnt\XK@orig@hangfnt
+ \edef\@tempb{\sfdefault}\edef\@tempc{\ttdefault}%
+ \ifx\XKprevfont\@tempb
+ \edef\@tempa{\noexpand\DeclareRobustCommand\noexpand\XK@sans@hangul@font
+ {\noexpand\fontfamily{\XK@curr@family}\noexpand\selectfont}}\@tempa
+ \edef\XK@sans@hangul@options{\unexpanded\expandafter
+ {\XK@sans@hangul@options}\the\toks@}%
+ \else
+ \ifx\XKprevfont\@tempc
+ \edef\@tempa{\noexpand\DeclareRobustCommand\noexpand\XK@mono@hangul@font
+ {\noexpand\fontfamily{\XK@curr@family}\noexpand\selectfont}}\@tempa
+ \else
+ \edef\@tempa{\noexpand\DeclareRobustCommand\noexpand\XK@main@hangul@font
+ {\noexpand\fontfamily{\XK@curr@family}\noexpand\selectfont}}\@tempa
+ \edef\XK@main@hangul@options{\unexpanded\expandafter
+ {\XK@main@hangul@options}\the\toks@}%
+ \fi\fi
+ \else
+ \edef\hangfnt{\unexpanded\expandafter{\hangfnt\fontfamily}{\XK@curr@family}%
+ \noexpand\selectfont\the\toks@}%
+ \fi
+}
+\let\addhangulfontfeatures\addhangulfontfeature
+
+\protected\def\addhanjafontfeature#1{%
+ \begingroup
+ \hanifnt
+ \unpresetkeys[xtxko]{font}%
+ \XK@font@options{}%
+ \setkeys*[xtxko]{font}{#1}%
+ \global\toks@\expandafter{\the\XK@font@options}%
+ \addfontfeature{\XKV@rm}%
+ \global\let\XK@curr@family\f@family
+ \endgroup
+ \ifx\hanifnt\XK@orig@hanifnt
+ \edef\@tempb{\sfdefault}\edef\@tempc{\ttdefault}%
+ \ifx\XKprevfont\@tempb
+ \edef\@tempa{\noexpand\DeclareRobustCommand\noexpand\XK@sans@hanja@font
+ {\noexpand\fontfamily{\XK@curr@family}\noexpand\selectfont}}\@tempa
+ \edef\XK@sans@hanja@options{\unexpanded\expandafter
+ {\XK@sans@hanja@options}\the\toks@}%
+ \else
+ \ifx\XKprevfont\@tempc
+ \edef\@tempa{\noexpand\DeclareRobustCommand\noexpand\XK@mono@hanja@font
+ {\noexpand\fontfamily{\XK@curr@family}\noexpand\selectfont}}\@tempa
+ \else
+ \edef\@tempa{\noexpand\DeclareRobustCommand\noexpand\XK@main@hanja@font
+ {\noexpand\fontfamily{\XK@curr@family}\noexpand\selectfont}}\@tempa
+ \edef\XK@main@hanja@options{\unexpanded\expandafter
+ {\XK@main@hanja@options}\the\toks@}%
+ \fi\fi
+ \else
+ \edef\hanifnt{\unexpanded\expandafter{\hanifnt\fontfamily}{\XK@curr@family}%
+ \noexpand\selectfont\the\toks@}%
+ \fi
+}
+\let\addhanjafontfeatures\addhanjafontfeature
+
+%% we have to redefine \normalfont
+\protected\edef\normalfont{%
+ \unexpanded{%
+ \let\hangfnt\XK@orig@hangfnt
+ \let\hanifnt\XK@orig@hanifnt
+ }%
+ \unexpanded\expandafter{\normalfont}%
+}
+\let\reset@font\normalfont
+
+%%%%%%%%%%%%%%%%%%%%
+%% xetexkofontregime
+\define@key[xtxko]{char}{alphs}{\csname #1alphs\endcsname}
+\define@key[xtxko]{char}{nums}{\csname #1nums\endcsname}
+\define@key[xtxko]{char}{parens}{\csname #1parens\endcsname}
+\define@key[xtxko]{char}{quotes}{\csname #1quotes\endcsname}
+\define@key[xtxko]{char}{puncts}{\csname #1puncts\endcsname}
+\define@key[xtxko]{char}{colons}{\csname #1colons\endcsname}
+\define@key[xtxko]{char}{hyphens}{\csname #1hyphens\endcsname}
+\define@key[xtxko]{char}{cjksymbols}{\csname #1cjksymbols\endcsname}
+
+\protected\def\xetexkofontregime{%
+ \@ifnextchar[\@xetexkofontregime{\@xetexkofontregime[]}}
+\def\@xetexkofontregime[#1]#2{%
+ \csname #2marks\endcsname
+ \setkeys*[xtxko]{char}{#1}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%
+% set unfonts if [unfonts]
+\if@unfonts
+ %% 한글폰트 지정하기 :
+ \setmainhangulfont
+ [ ExternalLocation,
+ Mapping=tex-text,
+ BoldFont=UnBatangBold,
+ ItalicFont=UnBatang, ItalicFeatures={FakeSlant=0.17},
+ SlantedFont=UnBatang, SlantedFeatures={FakeSlant=0.17},
+ BoldItalicFont=UnBatangBold, BoldItalicFeatures={FakeSlant=0.17},
+ BoldSlantedFont=UnBatangBold, BoldSlantedFeatures={FakeSlant=0.17},
+ interhchar=-0.045em,
+ lowerperiod=0.1em ]
+ {UnBatang}
+ \setsanshangulfont
+ [ ExternalLocation,
+ Mapping=tex-text,
+ BoldFont=UnDotumBold,
+ ItalicFont=UnDotum, ItalicFeatures={FakeSlant=0.17},
+ SlantedFont=UnDotum, SlantedFeatures={FakeSlant=0.17},
+ BoldItalicFont=UnDotumBold, BoldItalicFeatures={FakeSlant=0.17},
+ BoldSlantedFont=UnDotumBold, BoldSlantedFeatures={FakeSlant=0.17},
+ lowerperiod=0.1em ]
+ {UnDotum}
+ \setmonohangulfont
+ [ ExternalLocation,
+ Scale=1.05,
+ BoldFont=UnTaza, BoldFeatures={FakeBold=2},
+ ItalicFont=UnTaza, ItalicFeatures={FakeSlant=0.17},
+ SlantedFont=UnTaza, SlantedFeatures={FakeSlant=0.17},
+ BoldItalicFont=UnTaza, BoldItalicFeatures={FakeBold=2,FakeSlant=0.17},
+ BoldSlantedFont=UnTaza, BoldSlantedFeatures={FakeBold=2,FakeSlant=0.17}]
+ {UnTaza}
+ \let\hnjmonofont\korsansfont
+\fi
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%
+% for lazy font setting
+\AtBeginDocument{%
+ \ifdefined\kormainfont\else \let\kormainfont\relax
+ \PackageWarning{xetexko-font}{Main (Serif) Hangul Font is not set.^^J}
+ \fi
+ \ifdefined\korsansfont\else \let\korsansfont\kormainfont \fi
+ \ifdefined\kormonofont\else \let\kormonofont\korsansfont \fi
+ \ifdefined\hnjmainfont\else \let\hnjmainfont\kormainfont \fi
+ \ifdefined\hnjsansfont\else \let\hnjsansfont\korsansfont \fi
+ \ifdefined\hnjmonofont\else \let\hnjmonofont\kormonofont \fi
+ % set space glue from hangul font
+ \if@hangul
+ \edef\reserved@a{\familydefault}
+ \edef\reserved@b{\rmdefault}
+ \ifx\reserved@a\reserved@b
+ \XK@hangul@spaceskip{\kormainfont}
+ \else
+ \XK@hangul@spaceskip{\korsansfont}
+ \fi
+ \fi
+}
+\def\XK@hangul@spaceskip#1{%
+ \bgroup
+ \@for\reserved@a:=,\small,\footnotesize,\large,\Large,\LARGE\do{%
+ \reserved@a
+ \bgroup
+ #1%
+ \global\dimen@\fontdimen2\font
+ \global\dimen@ii\fontdimen7\font
+ \egroup
+ \fontdimen2\font=\dimen@
+ \fontdimen3\font=.5\dimen@
+ \fontdimen4\font=.3333\dimen@
+ \fontdimen7\font=\dimen@ii
+ }%
+ \egroup
+}
+
+%%%%%%%%%%%%%%%%%%%%%
+% hangul in math mode
+\def\setmathhangulfont{%
+ \@ifnextchar[{\setmathhangulfont@}{\setmathhangulfont@[]}}
+\def\setmathhangulfont@[#1]#2{%
+ \zf@fontspec{#1}{#2}%
+ \xdef\xetexko@math@hangul@family{\zf@family}}
+\AtBeginDocument{%
+ \begingroup
+ \ifx\xetexko@math@hangul@family\undefined
+ \edef\@tempb{\sfdefault}\edef\@tempc{\ttdefault}%
+ \ifx\f@family\@tempb \korsansfont \else
+ \ifx\f@family\@tempc \kormonofont \else
+ \kormainfont \fi\fi
+ \xdef\xetexko@math@hangul@family{\f@family}\fi
+ \endgroup
+ \DeclareSymbolFont{mathhangul}\zf@enc\xetexko@math@hangul@family
+ \mddefault\updefault
+ \ifcsname \zf@enc/\xetexko@math@hangul@family/\bfdefault/\updefault\endcsname
+ \SetSymbolFont{mathhangul}{bold}\zf@enc\xetexko@math@hangul@family
+ \bfdefault\updefault
+ \fi
+ \setmathhangulblock{AC00}{D7A3}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%
+% under [hangul] option
+\if@hangul
+ \linespread{1.3888}
+ \footnotesep=1.3888\footnotesep
+ \skip\footins=1.3888\skip\footins plus6pt minus3pt
+\fi
+
+\endinput
diff --git a/Master/texmf-dist/tex/xetex/xetexko/xetexko-hanging.sty b/Master/texmf-dist/tex/xetex/xetexko/xetexko-hanging.sty
new file mode 100644
index 00000000000..e0cce2114d5
--- /dev/null
+++ b/Master/texmf-dist/tex/xetex/xetexko/xetexko-hanging.sty
@@ -0,0 +1,124 @@
+% $Id: xetexko-hanging.sty,v 1.9 2012/12/06 04:56:05 nomos Exp $
+%
+% Copyright (c) 2013 Dohyun Kim <nomos at ktug org>
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2006/05/20 or later.
+
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname ProvidesPackage\endcsname\relax\else
+ \ProvidesPackage{xetexko-hanging}
+ [2013/03/27 v2.0 Hanging punctuations for XeTeX-ko]
+\fi
+
+\chardef\catcodeofATcharacter\catcode`@
+\catcode`\@ = 11
+
+\let\XK@orig@periodboxstop \XKperiodboxstop
+\let\XK@orig@commaboxstop \XKcommaboxstop
+\let\XK@orig@closingquotestop \XKclosingquotestop
+\let\XK@orig@openingquotestart\XKopeningquotestart
+\let\XK@orig@postcjkfullstop \postcjkfullstop
+\let\XK@orig@postcjkcloseparen\postcjkcloseparen
+\let\XK@orig@precjkopenparen@ \precjkopenparen@
+
+\def\disablehangingpunctuation{%
+ \let\XKperiodboxstop \XK@orig@periodboxstop
+ \let\XKcommaboxstop \XK@orig@commaboxstop
+ \let\XKclosingquotestop \XK@orig@closingquotestop
+ \let\XKopeningquotestart\XK@orig@openingquotestart
+ \let\postcjkfullstop \XK@orig@postcjkfullstop
+ \let\postcjkcloseparen \XK@orig@postcjkcloseparen
+ \let\precjkopenparen@ \XK@orig@precjkopenparen@
+}
+\let\disablehangingpunctuations\disablehangingpunctuation
+
+\ifdefined\strip@pt\else
+ \begingroup
+ \catcode`P=12
+ \catcode`T=12
+ \lowercase{\def\x{\def\rem@pt##1.##2PT{##1\ifnum##2>\z@.##2\fi}}}
+ \expandafter\endgroup\x
+ \def\strip@pt{\expandafter\rem@pt\the}
+\fi
+
+\def\hangingpunctuation{%
+ \begingroup
+ \setbox\z@\hbox{가.}\setbox\tw@\hbox{가}%
+ \xdef\temp@a
+ {\strip@pt\dimexpr(\wd\z@-\wd\tw@)*65536/\number\dimexpr 1em\relax\relax}%
+ \setbox\z@\hbox{가'}%
+ \xdef\temp@b
+ {\strip@pt\dimexpr(\wd\z@-\wd\tw@)*65536/\number\dimexpr 1em\relax\relax}%
+ \endgroup
+ \edef\xetexko@periodwidth{\temp@a em}%
+ \edef\xetexko@quotewidth {\temp@b em}%
+ \def\XKperiodboxstop{%
+ \XK@orig@periodboxstop
+ \ifnum\XKcurrentfont>\z@
+ \count@\spacefactor
+ \XKH@post@hang\xetexko@periodwidth
+ \spacefactor\count@
+ \fi
+ }%
+ \def\XKcommaboxstop{%
+ \XK@orig@commaboxstop
+ \ifnum\XKcurrentfont>\z@
+ \count@\spacefactor
+ \XKH@post@hang\xetexko@periodwidth
+ \spacefactor\count@
+ \fi
+ }%
+ \def\XKclosingquotestop{%
+ \XK@orig@closingquotestop \XKH@post@hang\xetexko@quotewidth
+ }%
+ \def\XKopeningquotestart{%
+ \XKH@pre@hang\xetexko@quotewidth \XK@orig@openingquotestart
+ }%
+ \def\precjkopenparen@{%
+ \@josa@char@to@number\@let@token\count@
+ \dimen@\XeTeXglyphbounds\@ne\XeTeXcharglyph\count@
+ \dimen@\dimexpr\fontcharwd\font\count@-\dimen@\relax
+ \ifdim\dimen@<.5em \dimen@.5em \else\advance\dimen@.1em \fi
+ \ifx^^^^201c\@let@token
+ \dimen@ii\dimen@ \advance\dimen@ii-.125em
+ \XKH@pre@hang\dimen@ii
+ \else\ifx^^^^2018\@let@token \XKH@pre@hang\dimen@
+ \fi\fi
+ \leavevmode\hbox to\dimen@\bgroup\hss
+ \XeTeXinterchartoks\XKboundary\XKcjkopening = {\empty}%
+ }%
+ \def\postcjkcloseparen{%
+ \XK@orig@postcjkcloseparen
+ \ifx^^^^3001\@let@token \XKH@post@hang\dimen@
+ \else\ifx^^^^ff0c\@let@token \XKH@post@hang\dimen@
+ \else\ifx^^^^201d\@let@token
+ \dimen@ii\dimen@ \advance\dimen@ii-.125em
+ \XKH@post@hang\dimen@ii
+ \else\ifx^^^^2019\@let@token \XKH@post@hang\dimen@
+ \fi\fi\fi\fi
+ }%
+ \def\postcjkfullstop{%
+ \XK@orig@postcjkfullstop \XKH@post@hang\dimen@
+ }%
+}
+\def\XKH@post@hang#1{%
+ \nobreak\hskip\z@\relax
+ \vrule width-#1 height\z@ depth\z@
+ \kern#1\relax
+}
+\def\XKH@pre@hang#1{%
+ \kern#1\relax
+ \vrule width-#1 height\z@ depth\z@
+ \nobreak\hskip\z@\relax
+}
+\let\hangingpunctuations\hangingpunctuation
+
+\catcode`\@\catcodeofATcharacter
+
+\endinput
diff --git a/Master/texmf-dist/tex/xetex/xetexko/xetexko-josa.sty b/Master/texmf-dist/tex/xetex/xetexko/xetexko-josa.sty
new file mode 100644
index 00000000000..6d8bb6ffe95
--- /dev/null
+++ b/Master/texmf-dist/tex/xetex/xetexko/xetexko-josa.sty
@@ -0,0 +1,211 @@
+% $Id: xetexko-josa.sty,v 1.11 2011/03/14 03:47:59 nomos Exp $
+%
+% Copyright (c) 2013 Dohyun Kim <nomos at ktug org>
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2006/05/20 or later.
+
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname ProvidesPackage\endcsname\relax\else
+ \ProvidesPackage{xetexko-josa}[2013/03/27 v2.0 Auto-josa for XeTeX-ko]
+\fi
+
+\unless\ifcsname @tempcnta\endcsname\newcount\@tempcnta\fi
+\unless\ifcsname @tempcntb\endcsname\newcount\@tempcntb\fi
+
+\newcount\@josa\@josa\m@ne
+\protected\def\jong{\global\@josa\z@}
+\protected\def\rieul{\global\@josa\@ne}
+\protected\def\jung{\global\@josa\tw@}
+
+\begingroup
+\catcode`\A=11
+\catcode`\0=12
+\global\let\dhucs@cat@eleven=A
+\global\let\dhucs@cat@twelve=0
+\endgroup
+
+\expandafter\def\expandafter\strip@characternum@meaning@prefix\detokenize
+ {the character} #1{\number`#1}
+\expandafter\def\expandafter\strip@letternum@meaning@prefix\detokenize
+ {the letter} #1{\number`#1}
+
+\def\@josa@char@to@number#1#2{%
+ \ifcat#1\dhucs@cat@eleven
+ \expandafter\expandafter\expandafter#2\expandafter
+ \strip@letternum@meaning@prefix\meaning#1\relax
+ \else\ifcat#1\dhucs@cat@twelve
+ \expandafter\expandafter\expandafter#2\expandafter
+ \strip@characternum@meaning@prefix\meaning#1\relax
+ \else
+ #2\z@
+ \fi\fi
+}
+
+\def\josa@char@to@number{%
+ \XeTeXinterchartokenstate\z@
+ \@josa@char@to@number\XK@last@char\count@
+ \@josa@char@to@number\XK@lastlast@char\@tempcnta
+ \@josa@char@to@number\XK@lastlastlast@char\@tempcntb
+ \ifnum\count@="302E
+ \count@\@tempcnta \@tempcnta\@tempcntb
+ \else\ifnum\count@="302F
+ \count@\@tempcnta \@tempcnta\@tempcntb
+ \else\ifnum\count@="1160
+ \count@\@tempcnta \@tempcnta\@tempcntb
+ \fi\fi\fi
+ \XeTeXinterchartokenstate\@ne
+}
+
+\def\josa@last@char@latin{%
+ \ifnum 49=\count@ \rieul\else % 1
+ \ifnum 51=\count@ \jong \else % 3
+ \ifnum 54=\count@ \jong \else % 6
+ \ifnum 55=\count@ \rieul\else % 7
+ \ifnum 56=\count@ \rieul\else % 8
+ \ifnum 48=\count@ \jong \else % 0
+ \ifnum 108=\count@ \rieul\else % l
+ \ifnum 109=\count@ \jong \else % m
+ \ifnum 110=\count@ \jong \else % n
+ \ifnum 76=\count@ \rieul\else % L
+ \ifnum 77=\count@ \jong \else % M
+ \ifnum 78=\count@ \jong \else % N
+ \jung
+ \fi\fi\fi\fi\fi \fi\fi\fi\fi\fi \fi\fi
+ \ifnum 110=\@tempcnta \ifnum 103=\count@ \jong \fi\fi %skati-ng
+ \ifnum 97=\@tempcnta \ifnum 112=\count@ \jong \fi\fi %c-ap
+ \ifnum 117=\@tempcnta \ifnum 112=\count@ \jong \fi\fi %c-up
+ \ifnum 97=\@tempcnta \ifnum 116=\count@ \jong \fi\fi %c-at
+ \ifnum 101=\@tempcnta \ifnum 116=\count@ \jong \fi\fi %Haml-et
+ \ifnum 105=\@tempcnta \ifnum 116=\count@ \jong \fi\fi %summ-it
+ \ifnum 111=\@tempcnta \ifnum 116=\count@ \jong \fi\fi %n-ot
+ \ifnum 117=\@tempcnta \ifnum 116=\count@ \jong \fi\fi %n-ut
+ \ifnum 111=\@tempcnta \ifnum 107=\count@ \jong \fi\fi %bo-ok
+ \ifnum 105=\@tempcnta \ifnum 99=\count@ \jong \fi\fi %picn-ic
+ \ifnum 108=\@tempcnta \ifnum 101=\count@ \rieul\fi\fi %app-le
+ \ifnum 105=\@tempcntb \ifnum 109=\@tempcnta \ifnum 101=\count@ \jong\fi\fi\fi %t-ime
+ \ifnum 105=\@tempcntb \ifnum 110=\@tempcnta \ifnum 101=\count@ \jong\fi\fi\fi %m-ine
+ \ifnum 97=\@tempcntb \ifnum 99=\@tempcnta \ifnum 107=\count@ \jong\fi\fi\fi %b-ack
+ \ifnum 105=\@tempcntb \ifnum 99=\@tempcnta \ifnum 107=\count@ \jong\fi\fi\fi %p-ick
+ \ifnum 111=\@tempcntb \ifnum 97=\@tempcnta \ifnum 116=\count@ \jung\fi\fi\fi %b-oat
+ \ifnum 84=\@tempcntb \ifnum 69=\@tempcnta \ifnum 88=\count@ \jong\fi\fi\fi %TEX
+}
+
+\def\josa@hanja@hangul#1{%
+ \begingroup
+ \count@=\z@
+ \openin1=#1\relax \josa@hanja \closein1
+ \endgroup
+}
+\def\josa@hanja{%
+ \read1 to \@tempa
+ \ifnum\count@=\@josa
+ \global\@josa\@tempa \let\next\relax
+ \else
+ \advance\count@\@ne \let\next\josa@hanja
+ \fi
+ \next
+}
+
+\def\num@josa#1{%
+ \bgroup
+ \count@#1%
+ \ifnum\count@<\z@ \count@-\count@ \fi
+ \count\tw@\count@
+ \divide\count\tw@ 10
+ \multiply\count\tw@ 10
+ \advance\count@-\count\tw@
+ \ifcase\count@\jong\or\rieul\or\jung\or\jong\or\jung\or
+ \jung\or\jong\or\rieul\or\rieul\or\jung\fi
+ \egroup
+}
+
+\def\josa@last@char@cjk{%
+ \ifnum\@josa>19967 \ifnum\@josa<40870 % cjk unified ideographs
+ \advance\@josa-19968 % "4E00
+ \josa@hanja@hangul{hanja_hangul.tab}\fi\fi
+ \ifnum\@josa>13311 \ifnum\@josa<19894 % cjk unified ideographs ext. A
+ \advance\@josa-13312 % "3400
+ \josa@hanja@hangul{hanjaexa_hangul.tab}\fi\fi
+ \ifnum\@josa>63743 \ifnum\@josa<64046 % cjk compatibility ideographs
+ \advance\@josa-63744 % "F900
+ \josa@hanja@hangul{hanjacom_hangul.tab}\fi\fi
+ \ifnum\@josa>44031 \ifnum\@josa<55204 % hangul syllables
+ \advance\@josa-44032 % "AC00
+ \count@=\@josa \divide\count@28 \multiply\count@28
+ \advance\@josa-\count@ \advance\@josa4519 % "11A7
+ \fi\fi
+ \ifnum\@josa>"115F \ifnum\@josa<"11A8 % jamo vowels
+ \ifnum\@josa="1160 \ifnum\@tempcnta="1105 \rieul \else \jong \fi % ㄹ or other chosong
+ \else \jung \fi\fi\fi
+ \ifnum\@josa>"11A7 \ifnum\@josa<"1200 % jamo final consonants
+ \ifnum\@josa="11AF \rieul \else \jong \fi\fi\fi
+ \ifnum\@josa>"D7AF \ifnum\@josa<"D7C7 \jung \fi\fi % jamo vowels
+ \ifnum\@josa>"D7CA \ifnum\@josa<"D7FC \jong \fi\fi % jamo final consonants
+ \ifnum\@josa>12592 \ifnum\@josa<12623 % ㄱㄴㄷㄹ
+ \ifnum\@josa=12601 \rieul
+ \else\jong\fi \fi\fi
+ \ifnum\@josa>12895 \ifnum\@josa<12924 \advance\@josa-96 \fi\fi
+ \ifnum\@josa>12799 \ifnum\@josa<12814 % ㉠ or ㈀
+ \ifnum\@josa=12803 \rieul
+ \else\jong\fi \fi\fi
+ \ifnum\@josa>12813 \ifnum\@josa<12829 % ㉮ or ㈎
+ \jung \fi\fi
+ \ifnum\@josa>9311 \ifnum\@josa<9372 % ① or ⑴
+ \advance\@josa\m@ne \num@josa{\@josa}\fi\fi
+ \ifnum\@josa>9423 \ifnum\@josa<9450 \advance\@josa-26 \fi\fi
+ \ifnum\@josa>9397 \ifnum\@josa<9424 \advance\@josa-26 \fi\fi
+ \ifnum\@josa>9371 \ifnum\@josa<9398 % ⓐ or ⒜
+ \ifnum\@josa=9383 \rieul\else % l
+ \ifnum\@josa=9384 \jong\else % m
+ \ifnum\@josa=9385 \jong\else % n
+ \jung\fi\fi\fi \fi\fi
+ \ifnum\@josa>8543 \ifnum\@josa<8556 % ⅰ ⅱ ⅲ
+ \advance\@josa-3 \num@josa{\@josa}\fi\fi
+ \ifnum\@josa>8559 \ifnum\@josa<8572 % Ⅰ Ⅱ Ⅲ
+ \advance\@josa\@ne \num@josa{\@josa}\fi\fi
+}
+
+\protected\def\makejosa#1#2{%
+ \ifnum\@josa<\z@
+ \josa@char@to@number
+ \ifnum\count@<\@cclvi
+ \ifnum\lastskip>\z@\else\XKcjklatinsmallbreak\fi % probably last char is latin ㅠㅠ
+ \josa@last@char@latin
+ \else
+ \@josa\count@
+ \josa@last@char@cjk
+ \fi
+ \fi
+ \ifcase\@josa #2% jong
+ \or \ifx\@empty#1\@empty \else#2\fi% rieul
+ \else #1% jung
+ \fi
+ \global\@josa\m@ne
+}
+
+\def\가{\makejosa{가}{이}}
+\def\이{\futurelet\dhucs@next\makejosa@I}
+\def\은{\makejosa{는}{은}}
+\def\는{\makejosa{는}{은}}
+\def\을{\makejosa{를}{을}}
+\def\를{\makejosa{를}{을}}
+\def\와{\makejosa{와}{과}}
+\def\과{\makejosa{와}{과}}
+\def\으{\makejosa{}{으}}
+\def\로{\makejosa{}{으}로}
+\def\라{\makejosa{라}{이라}}
+\def\makejosa@I{%
+ \ifx\dhucs@next라%
+ \makejosa\relax{이}%
+ \else
+ \makejosa{가}{이}%
+ \fi
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/xetex/xetexko/xetexko-space.sty b/Master/texmf-dist/tex/xetex/xetexko/xetexko-space.sty
new file mode 100644
index 00000000000..d0978bde015
--- /dev/null
+++ b/Master/texmf-dist/tex/xetex/xetexko/xetexko-space.sty
@@ -0,0 +1,1633 @@
+% $Id: xetexko-space.sty,v 1.29 2012/10/27 10:55:09 nomos Exp $
+%
+% Copyright (c) 2013 Dohyun Kim <nomos at ktug org>
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2006/05/20 or later.
+
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname ProvidesPackage\endcsname\relax\else
+ \ProvidesPackage{xetexko-space}
+ [2013/03/27 v2.0 Spacings and fonts for XeTeX-ko]
+\fi
+
+%%% we need XeTeX > 0.997
+\ifx\XeTeXinterchartoks\XeTeXcharclass
+ \errmessage{This package requires XeTeX 0.997 or higher.}
+ \expandafter\endinput
+\fi
+\ifcsname newXeTeXintercharclass\endcsname\else
+ \errmessage{This package requires TeXLive 2009 or higher.}
+ \expandafter\endinput
+\fi
+
+\unless\ifcsname @sptoken\endcsname
+ {\def\:{\global\let\@sptoken= } \: }% space token
+\fi
+
+%%%%%%%%%%%%%%%%%%%%%
+% assign char classes
+
+%%% default assignments (see unicode-letters.tex)
+% CJK hanja = class 1
+% CJK openings = class 2
+% CJK closings and small kana = class 3
+% others = class 0
+\chardef \XKhanja \@ne
+\chardef \XKcjkopening \tw@
+\chardef \XKsmallkana \thr@@
+\chardef \XKlatinchar \z@
+\chardef \XKboundary \@cclv
+
+%%% small kana (something has changed)
+\XeTeXcharclass "3041 = \XKsmallkana
+\XeTeXcharclass "3043 = \XKsmallkana
+\XeTeXcharclass "3045 = \XKsmallkana
+\XeTeXcharclass "3047 = \XKsmallkana
+\XeTeXcharclass "3049 = \XKsmallkana
+\XeTeXcharclass "3063 = \XKsmallkana
+\XeTeXcharclass "3083 = \XKsmallkana
+\XeTeXcharclass "3085 = \XKsmallkana
+\XeTeXcharclass "3087 = \XKsmallkana
+\XeTeXcharclass "308E = \XKsmallkana
+\XeTeXcharclass "3095 = \XKsmallkana
+\XeTeXcharclass "3096 = \XKsmallkana
+\XeTeXcharclass "30A1 = \XKsmallkana
+\XeTeXcharclass "30A3 = \XKsmallkana
+\XeTeXcharclass "30A5 = \XKsmallkana
+\XeTeXcharclass "30A7 = \XKsmallkana
+\XeTeXcharclass "30A9 = \XKsmallkana
+\XeTeXcharclass "30C3 = \XKsmallkana
+\XeTeXcharclass "30E3 = \XKsmallkana
+\XeTeXcharclass "30E5 = \XKsmallkana
+\XeTeXcharclass "30E7 = \XKsmallkana
+\XeTeXcharclass "30EE = \XKsmallkana
+\XeTeXcharclass "30F5 = \XKsmallkana
+\XeTeXcharclass "30F6 = \XKsmallkana
+\count@="FF67 \loop
+ \XeTeXcharclass\count@ = \XKsmallkana
+ \ifnum\count@<"FF6F \advance\count@\@ne \repeat
+
+%%%
+\XeTeXcharclass "25A1 = \XKhanja % □
+
+%%%
+\XeTeXcharclass "2018 = \XKcjkopening % ‘
+\XeTeXcharclass "201C = \XKcjkopening % “
+
+%%% cjk closing parentheses
+\newXeTeXintercharclass \XKcjkclosing
+\XeTeXcharclass "2019 = \XKcjkclosing % ’
+\XeTeXcharclass "201D = \XKcjkclosing % ”
+\XeTeXcharclass "3001 = \XKcjkclosing % 、
+\XeTeXcharclass "FE11 = \XKcjkclosing % 、 vert
+\XeTeXcharclass "FF0C = \XKcjkclosing % ,
+\XeTeXcharclass "FE10 = \XKcjkclosing % , vert
+\XeTeXcharclass "2019 = \XKcjkclosing % ’
+\XeTeXcharclass "201D = \XKcjkclosing % ”
+\XeTeXcharclass "FF09 = \XKcjkclosing % )
+\XeTeXcharclass "FE36 = \XKcjkclosing % ) vert
+\XeTeXcharclass "3015 = \XKcjkclosing % 〕
+\XeTeXcharclass "FE3A = \XKcjkclosing % 〕 vert
+\XeTeXcharclass "FF3D = \XKcjkclosing % ]
+\XeTeXcharclass "FE48 = \XKcjkclosing % ] vert
+\XeTeXcharclass "FF5D = \XKcjkclosing % }
+\XeTeXcharclass "FE38 = \XKcjkclosing % } vert
+\XeTeXcharclass "3009 = \XKcjkclosing % 〉
+\XeTeXcharclass "FE40 = \XKcjkclosing % 〉 vert
+\XeTeXcharclass "300B = \XKcjkclosing % 》
+\XeTeXcharclass "FE3E = \XKcjkclosing % 》 vert
+\XeTeXcharclass "300D = \XKcjkclosing % 」
+\XeTeXcharclass "FE42 = \XKcjkclosing % 」 vert
+\XeTeXcharclass "300F = \XKcjkclosing % 』
+\XeTeXcharclass "FE44 = \XKcjkclosing % 』 vert
+\XeTeXcharclass "3011 = \XKcjkclosing % 】
+\XeTeXcharclass "FE3C = \XKcjkclosing % 】 vert
+
+%%% cjk colons
+\newXeTeXintercharclass \XKcjkcolon
+\XeTeXcharclass "00B7 = \XKcjkcolon % ·
+\XeTeXcharclass "30FB = \XKcjkcolon % ・
+\XeTeXcharclass "FF1A = \XKcjkcolon % :
+\XeTeXcharclass "FE13 = \XKcjkcolon % ︓
+\XeTeXcharclass "FF1B = \XKcjkcolon % ;
+\XeTeXcharclass "FE14 = \XKcjkcolon % ︔
+
+%%% cjk fullstops
+\newXeTeXintercharclass \XKcjkfullstop
+\XeTeXcharclass "3002 = \XKcjkfullstop % 。
+\XeTeXcharclass "FE12 = \XKcjkfullstop % ︒
+\XeTeXcharclass "FF0E = \XKcjkfullstop % .
+
+%%% cjk liaisons
+\newXeTeXintercharclass \XKcjkliaison
+\XeTeXcharclass "2015 = \XKcjkliaison % ―
+\XeTeXcharclass "2026 = \XKcjkliaison % …
+\XeTeXcharclass "FE19 = \XKcjkliaison % ︙
+\XeTeXcharclass "2025 = \XKcjkliaison % ‥
+\XeTeXcharclass "FE30 = \XKcjkliaison % ︰
+
+%%% cjk question/exclamation marks
+\newXeTeXintercharclass \XKcjkextrastop
+\XeTeXcharclass "FF1F = \XKcjkextrastop % ?
+\XeTeXcharclass "FF01 = \XKcjkextrastop % !
+
+%%% other cjk symbols
+\newXeTeXintercharclass \XKcjksymbol
+%% still missing:
+%% 00AD ­
+%% 0138 ĸ
+%% 0149 ʼn
+%% 0166 Ŧ
+%% 0167 ŧ
+%% 0370.. greek letters
+%% 0400.. cyrillic letters
+\XeTeXcharclass "00B2 = \XKcjksymbol % ²
+\XeTeXcharclass "00B3 = \XKcjksymbol % ³
+\XeTeXcharclass "00B9 = \XKcjksymbol % ¹
+\XeTeXcharclass "00BC = \XKcjksymbol % ¼
+\XeTeXcharclass "00BD = \XKcjksymbol % ½
+\XeTeXcharclass "00BE = \XKcjksymbol % ¾
+\XeTeXcharclass "02D0 = \XKcjksymbol % ː
+\XeTeXcharclass "2032 = \XKcjksymbol % ′
+\XeTeXcharclass "2033 = \XKcjksymbol % ″
+\XeTeXcharclass "203B = \XKcjksymbol % ※
+\XeTeXcharclass "2074 = \XKcjksymbol % ⁴
+\XeTeXcharclass "207F = \XKcjksymbol % ⁿ
+\XeTeXcharclass "2081 = \XKcjksymbol % ₁
+\XeTeXcharclass "2082 = \XKcjksymbol % ₂
+\XeTeXcharclass "2083 = \XKcjksymbol % ₃
+\XeTeXcharclass "2084 = \XKcjksymbol % ₄
+\XeTeXcharclass "2103 = \XKcjksymbol % ℃ changed from smallkana
+\XeTeXcharclass "2109 = \XKcjksymbol % ℉ changed from smallkana
+\XeTeXcharclass "2113 = \XKcjksymbol % ℓ changed from smallkana
+\XeTeXcharclass "2121 = \XKcjksymbol % ℡
+\XeTeXcharclass "2122 = \XKcjksymbol % ™
+\XeTeXcharclass "212B = \XKcjksymbol % Å changed from smallkana
+\XeTeXcharclass "2153 = \XKcjksymbol % ⅓
+\XeTeXcharclass "2154 = \XKcjksymbol % ⅔
+\XeTeXcharclass "215B = \XKcjksymbol % ⅛
+\XeTeXcharclass "215C = \XKcjksymbol % ⅜
+\XeTeXcharclass "215D = \XKcjksymbol % ⅝
+\XeTeXcharclass "215E = \XKcjksymbol % ⅞
+\count@ "2160 % Ⅰ
+\loop
+ \XeTeXcharclass\count@\XKcjksymbol
+ \ifnum\count@ < "216B % Ⅻ
+ \advance\count@\@ne \repeat
+\count@ "2170 % ⅰ
+\loop
+ \XeTeXcharclass\count@\XKcjksymbol
+ \ifnum\count@ < "217B % ⅻ
+ \advance\count@\@ne \repeat
+%% math symbols (?)
+\count@ "2190 % ←
+\loop
+ \XeTeXcharclass\count@\XKcjksymbol
+ \ifnum\count@ < "2199 % ↙
+ \advance\count@\@ne \repeat
+\XeTeXcharclass "21D2 = \XKcjksymbol % ⇒
+\XeTeXcharclass "21D4 = \XKcjksymbol % ⇔
+\XeTeXcharclass "2200 = \XKcjksymbol % ∀
+\XeTeXcharclass "2202 = \XKcjksymbol % ∂
+\XeTeXcharclass "2203 = \XKcjksymbol % ∃
+\XeTeXcharclass "2207 = \XKcjksymbol % ∇
+\XeTeXcharclass "2208 = \XKcjksymbol % ∈
+\XeTeXcharclass "220B = \XKcjksymbol % ∋
+\XeTeXcharclass "220F = \XKcjksymbol % ∏
+\XeTeXcharclass "2211 = \XKcjksymbol % ∑
+\XeTeXcharclass "221A = \XKcjksymbol % √
+\XeTeXcharclass "221D = \XKcjksymbol % ∝
+\XeTeXcharclass "2220 = \XKcjksymbol % ∠
+\XeTeXcharclass "2225 = \XKcjksymbol % ∥
+\XeTeXcharclass "2227 = \XKcjksymbol % ∧
+\XeTeXcharclass "2228 = \XKcjksymbol % ∨
+\XeTeXcharclass "2229 = \XKcjksymbol % ∩
+\XeTeXcharclass "222A = \XKcjksymbol % ∪
+\XeTeXcharclass "222B = \XKcjksymbol % ∫
+\XeTeXcharclass "222C = \XKcjksymbol % ∬
+\XeTeXcharclass "222E = \XKcjksymbol % ∮
+\XeTeXcharclass "2234 = \XKcjksymbol % ∴
+\XeTeXcharclass "2235 = \XKcjksymbol % ∵
+\XeTeXcharclass "223C = \XKcjksymbol % ∼
+\XeTeXcharclass "223D = \XKcjksymbol % ∽
+\XeTeXcharclass "2252 = \XKcjksymbol % ≒
+\XeTeXcharclass "2260 = \XKcjksymbol % ≠
+\XeTeXcharclass "2261 = \XKcjksymbol % ≡
+\XeTeXcharclass "2264 = \XKcjksymbol % ≤
+\XeTeXcharclass "2265 = \XKcjksymbol % ≥
+\XeTeXcharclass "226A = \XKcjksymbol % ≪
+\XeTeXcharclass "226B = \XKcjksymbol % ≫
+\XeTeXcharclass "2282 = \XKcjksymbol % ⊂
+\XeTeXcharclass "2283 = \XKcjksymbol % ⊃
+\XeTeXcharclass "2286 = \XKcjksymbol % ⊆
+\XeTeXcharclass "2287 = \XKcjksymbol % ⊇
+\XeTeXcharclass "2299 = \XKcjksymbol % ⊙
+\XeTeXcharclass "22A5 = \XKcjksymbol % ⊥
+\XeTeXcharclass "2312 = \XKcjksymbol % ⌒
+\count@ "2460 % ①
+\loop
+ \XeTeXcharclass\count@\XKcjksymbol
+ \ifnum\count@ < "24EA % ⓪
+ \advance\count@\@ne \repeat
+\XeTeXcharclass "2500 = \XKcjksymbol % ─
+\XeTeXcharclass "2501 = \XKcjksymbol % ━
+\XeTeXcharclass "2502 = \XKcjksymbol % │
+\XeTeXcharclass "2503 = \XKcjksymbol % ┃
+\count@ "250C % ─
+\loop
+ \XeTeXcharclass\count@\XKcjksymbol
+ \ifnum\count@ < "254B % ╋
+ \advance\count@\@ne \repeat
+\XeTeXcharclass "2592 = \XKcjksymbol % ▒
+\XeTeXcharclass "25A0 = \XKcjksymbol % ■
+%\XeTeXcharclass "25A1 = \XKcjksymbol % □
+\XeTeXcharclass "25A3 = \XKcjksymbol % ▣
+\XeTeXcharclass "25A4 = \XKcjksymbol % ▤
+\XeTeXcharclass "25A5 = \XKcjksymbol % ▥
+\XeTeXcharclass "25A6 = \XKcjksymbol % ▦
+\XeTeXcharclass "25A7 = \XKcjksymbol % ▧
+\XeTeXcharclass "25A8 = \XKcjksymbol % ▨
+\XeTeXcharclass "25A9 = \XKcjksymbol % ▩
+\XeTeXcharclass "25B2 = \XKcjksymbol % ▲
+\XeTeXcharclass "25B3 = \XKcjksymbol % △
+\XeTeXcharclass "25B6 = \XKcjksymbol % ▶
+\XeTeXcharclass "25B7 = \XKcjksymbol % ▷
+\XeTeXcharclass "25BC = \XKcjksymbol % ▼
+\XeTeXcharclass "25BD = \XKcjksymbol % ▽
+\XeTeXcharclass "25C0 = \XKcjksymbol % ◀
+\XeTeXcharclass "25C1 = \XKcjksymbol % ◁
+\XeTeXcharclass "25C6 = \XKcjksymbol % ◆
+\XeTeXcharclass "25C7 = \XKcjksymbol % ◇
+\XeTeXcharclass "25C8 = \XKcjksymbol % ◈
+\XeTeXcharclass "25CB = \XKcjksymbol % ○
+\XeTeXcharclass "25CE = \XKcjksymbol % ◎
+\XeTeXcharclass "25CF = \XKcjksymbol % ●
+\XeTeXcharclass "25D0 = \XKcjksymbol % ◐
+\XeTeXcharclass "25D1 = \XKcjksymbol % ◑
+\XeTeXcharclass "2605 = \XKcjksymbol % ★
+\XeTeXcharclass "2606 = \XKcjksymbol % ☆
+\XeTeXcharclass "260E = \XKcjksymbol % ☎
+\XeTeXcharclass "260F = \XKcjksymbol % ☏
+\XeTeXcharclass "261C = \XKcjksymbol % ☜
+\XeTeXcharclass "261E = \XKcjksymbol % ☞
+\XeTeXcharclass "2640 = \XKcjksymbol % ♀
+\XeTeXcharclass "2642 = \XKcjksymbol % ♂
+\XeTeXcharclass "2660 = \XKcjksymbol % ♠
+\XeTeXcharclass "2661 = \XKcjksymbol % ♡
+\XeTeXcharclass "2663 = \XKcjksymbol % ♣
+\XeTeXcharclass "2664 = \XKcjksymbol % ♤
+\XeTeXcharclass "2665 = \XKcjksymbol % ♥
+\XeTeXcharclass "2667 = \XKcjksymbol % ♧
+\XeTeXcharclass "2668 = \XKcjksymbol % ♨
+\XeTeXcharclass "2669 = \XKcjksymbol % ♩
+\XeTeXcharclass "266A = \XKcjksymbol % ♪
+\XeTeXcharclass "266C = \XKcjksymbol % ♬
+\XeTeXcharclass "266D = \XKcjksymbol % ♭
+\XeTeXcharclass "3012 = \XKcjksymbol % 〒
+\XeTeXcharclass "301C = \XKcjksymbol % 〜
+\XeTeXcharclass "FF04 = \XKcjksymbol % $
+\XeTeXcharclass "FF05 = \XKcjksymbol % %
+\XeTeXcharclass "FF5E = \XKcjksymbol % ~
+\XeTeXcharclass "FFE0 = \XKcjksymbol % ¢
+\XeTeXcharclass "FFE1 = \XKcjksymbol % £
+\XeTeXcharclass "FFE5 = \XKcjksymbol % ¥
+\XeTeXcharclass "FFE6 = \XKcjksymbol % ₩
+
+%%% hangul syllables
+\newXeTeXintercharclass \XKhangulsyllable
+\count@ "AC00
+\loop
+ \XeTeXcharclass\count@\XKhangulsyllable
+ \ifnum\count@ < "D7A3
+ \advance\count@\@ne \repeat
+
+%%% leading consonants jamo
+\newXeTeXintercharclass \XKhangulchosong
+\count@ "1100
+\loop
+ \XeTeXcharclass\count@\XKhangulchosong
+ \ifnum\count@ < "115F
+ \advance\count@\@ne \repeat
+\count@ "A960
+\loop
+ \XeTeXcharclass\count@\XKhangulchosong
+ \ifnum\count@ < "A97C
+ \advance\count@\@ne \repeat
+
+%%% jungseong/jongseong jamo including tone marks
+\newXeTeXintercharclass \XKhanguljungjong
+\count@ "1160
+\loop
+ \XeTeXcharclass\count@\XKhanguljungjong
+ \ifnum\count@ < "11FF
+ \advance\count@\@ne \repeat
+\count@ "D7B0
+\loop
+ \XeTeXcharclass\count@\XKhanguljungjong
+ \ifnum\count@ < "D7FB
+ \advance\count@\@ne \repeat
+\XeTeXcharclass "302E = \XKhanguljungjong
+\XeTeXcharclass "302F = \XKhanguljungjong
+
+%%% latin openings
+\newXeTeXintercharclass \XKlatinopening
+\XeTeXcharclass`\( = \XKlatinopening
+\XeTeXcharclass`\[ = \XKlatinopening
+\XeTeXcharclass`\{ = \XKlatinopening
+\XeTeXcharclass`\< = \XKlatinopening
+
+%%% latin closings
+\newXeTeXintercharclass \XKlatinclosing
+\XeTeXcharclass`\) = \XKlatinclosing
+\XeTeXcharclass`\] = \XKlatinclosing
+\XeTeXcharclass`\} = \XKlatinclosing
+\XeTeXcharclass`\> = \XKlatinclosing
+
+%%% latin quotes
+\newXeTeXintercharclass\XKopeningquote
+\XeTeXcharclass`\` = \XKopeningquote
+\newXeTeXintercharclass\XKclosingquote
+\XeTeXcharclass`\' = \XKclosingquote
+
+%%% latin full stop
+\newXeTeXintercharclass \XKlatinfullstop
+\XeTeXcharclass `\. = \XKlatinfullstop
+
+%%% latin questions/exclamations
+\newXeTeXintercharclass \XKlatinquestion
+\XeTeXcharclass `\? = \XKlatinquestion
+\newXeTeXintercharclass \XKlatinexclamation
+\XeTeXcharclass `\! = \XKlatinexclamation
+
+%%% latin hyphen including /
+\newXeTeXintercharclass \XKlatinhyphen
+\XeTeXcharclass `\- = \XKlatinhyphen % this affects -- --- ligatures
+\XeTeXcharclass `\/ = \XKlatinhyphen
+
+%%% latin comma
+\newXeTeXintercharclass \XKlatincomma
+\XeTeXcharclass `\, = \XKlatincomma
+
+%%% latin colons
+\newXeTeXintercharclass \XKlatincolon
+\XeTeXcharclass `\: = \XKlatincolon
+\XeTeXcharclass `\; = \XKlatincolon
+\XeTeXcharclass "2013 = \XKlatincolon % – ? liaison
+\XeTeXcharclass "2014 = \XKlatincolon % — ? liaison
+
+%%% latin numbers
+\newXeTeXintercharclass \XKlatinnumber
+\count@ `0
+\loop
+ \XeTeXcharclass\count@\XKlatinnumber
+ \ifnum\count@ < `9
+ \advance\count@\@ne \repeat
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% define inter char tokes
+%%% ? latin numbers
+\XeTeXinterchartoks \XKlatinchar \XKlatinnumber = {\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKlatinnumber \XKlatinnumber = {\XKlastchar}
+\XeTeXinterchartoks \XKlatinopening \XKlatinnumber = {\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKlatinclosing \XKlatinnumber = {\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKopeningquote \XKlatinnumber = {\XKopeningquotestop\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKclosingquote \XKlatinnumber = {\XKclosingquotestop\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKhanja \XKlatinnumber = {\XKcjklatinsmallbreak\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKsmallkana \XKlatinnumber = {\XKcjklatinsmallbreak\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKcjksymbol \XKlatinnumber = {\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKcjkopening \XKlatinnumber = {\postcjkopenparen\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKcjkclosing \XKlatinnumber = {\postcjkcloseparen\XKhalfsmallbreak\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKcjkcolon \XKlatinnumber = {\postcjkcolon\XKquatersmallbreak\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKcjkfullstop \XKlatinnumber = {\postcjkfullstop\XKfixedhalfskip\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKcjkliaison \XKlatinnumber = {\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKcjkextrastop \XKlatinnumber = {\XKhalfsmallbreak\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKhangulsyllable \XKlatinnumber = {\XKcjklatinsmallbreak\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKhangulchosong \XKlatinnumber = {\XKcjklatinsmallbreak\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKhanguljungjong \XKlatinnumber = {\XKcjklatinsmallbreak\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKlatinfullstop \XKlatinnumber = {\XKperiodboxstop\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKlatinquestion \XKlatinnumber = {\XKquestionboxstop\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKlatinexclamation \XKlatinnumber = {\XKexclamationboxstop\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKlatincomma \XKlatinnumber = {\XKcommaboxstop\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKlatincolon \XKlatinnumber = {\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKlatinhyphen \XKlatinnumber = {\XKlatinnumfont\XKlastchar}
+\XeTeXinterchartoks \XKboundary \XKlatinnumber = {\XKundoignorespaces\XKlatinnumfont\XKbeginboundary\XKlastchar}
+
+%%% ? latin alphabets
+\XeTeXinterchartoks \XKlatinchar \XKlatinchar = {\XKlastchar}
+\XeTeXinterchartoks \XKlatinnumber \XKlatinchar = {\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKlatinopening \XKlatinchar = {\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKlatinclosing \XKlatinchar = {\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKopeningquote \XKlatinchar = {\XKopeningquotestop\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKclosingquote \XKlatinchar = {\XKclosingquotestop\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKhanja \XKlatinchar = {\XKcjklatinsmallbreak\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKsmallkana \XKlatinchar = {\XKcjklatinsmallbreak\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKcjksymbol \XKlatinchar = {\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKcjkopening \XKlatinchar = {\postcjkopenparen\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKcjkclosing \XKlatinchar = {\postcjkcloseparen\XKhalfsmallbreak\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKcjkcolon \XKlatinchar = {\postcjkcolon\XKquatersmallbreak\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKcjkfullstop \XKlatinchar = {\postcjkfullstop\XKfixedhalfskip\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKcjkliaison \XKlatinchar = {\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKcjkextrastop \XKlatinchar = {\XKhalfsmallbreak\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKhangulsyllable \XKlatinchar = {\XKcjklatinsmallbreak\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKhangulchosong \XKlatinchar = {\XKcjklatinsmallbreak\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKhanguljungjong \XKlatinchar = {\XKcjklatinsmallbreak\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKlatinfullstop \XKlatinchar = {\XKperiodboxstop\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKlatinquestion \XKlatinchar = {\XKquestionboxstop\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKlatinexclamation \XKlatinchar = {\XKexclamationboxstop\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKlatincomma \XKlatinchar = {\XKcommaboxstop\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKlatincolon \XKlatinchar = {\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKlatinhyphen \XKlatinchar = {\XKmaybelatinfont\XKlastchar}
+\XeTeXinterchartoks \XKboundary \XKlatinchar = {\XKundoignorespaces\XKmaybelatinfont\XKbeginboundary\XKlastchar}
+
+%%% ? hanja
+\XeTeXinterchartoks \XKlatinchar \XKhanja = {\XKhanjafont\XKcjklatinsmallbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKlatinnumber \XKhanja = {\XKhanjafont\XKcjklatinsmallbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKlatinopening \XKhanja = {\XKhanjafont\XKcjklastchar}
+\XeTeXinterchartoks \XKlatinclosing \XKhanja = {\XKhanjafont\XKcjklatinbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKopeningquote \XKhanja = {\XKopeningquotestop\XKhanjafont\XKcjklastchar}
+\XeTeXinterchartoks \XKclosingquote \XKhanja = {\XKclosingquotestop\XKhanjafont\XKcjklatinbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKhanja \XKhanja = {\XKinterhanjabreak\XKcjklastchar}
+\XeTeXinterchartoks \XKsmallkana \XKhanja = {\XKinterhanjabreak\XKcjklastchar}
+\XeTeXinterchartoks \XKcjksymbol \XKhanja = {\XKhanjafont\XKcjklastchar}
+\XeTeXinterchartoks \XKcjkopening \XKhanja = {\postcjkopenparen\XKhanjafont\XKcjklastchar}
+\XeTeXinterchartoks \XKcjkclosing \XKhanja = {\postcjkcloseparen\XKhalfsmallbreak\XKhanjafont\XKcjklastchar}
+\XeTeXinterchartoks \XKcjkcolon \XKhanja = {\postcjkcolon\XKquatersmallbreak\XKhanjafont\XKcjklastchar}
+\XeTeXinterchartoks \XKcjkfullstop \XKhanja = {\postcjkfullstop\XKfixedhalfskip\XKhanjafont\XKcjklastchar}
+\XeTeXinterchartoks \XKcjkliaison \XKhanja = {\XKhanjafont\XKcjklastchar}
+\XeTeXinterchartoks \XKcjkextrastop \XKhanja = {\XKhalfsmallbreak\XKhanjafont\XKcjklastchar}
+\XeTeXinterchartoks \XKhangulsyllable \XKhanja = {\XKhanjafont\XKinterhanjabreak\XKcjklastchar}
+\XeTeXinterchartoks \XKhangulchosong \XKhanja = {\XKhanjafont\XKinterhanjabreak\XKcjklastchar}
+\XeTeXinterchartoks \XKhanguljungjong \XKhanja = {\XKhanjafont\XKinterhanjabreak\XKcjklastchar}
+\XeTeXinterchartoks \XKlatinfullstop \XKhanja = {\XKperiodboxstop\XKhanjafont\XKcjklatinbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKlatinquestion \XKhanja = {\XKquestionboxstop\XKhanjafont\XKcjklatinbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKlatinexclamation \XKhanja = {\XKexclamationboxstop\XKhanjafont\XKcjklatinbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKlatincomma \XKhanja = {\XKcommaboxstop\XKhanjafont\XKcjklatinbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKlatincolon \XKhanja = {\XKhanjafont\XKcjklatinbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKlatinhyphen \XKhanja = {\XKhanjafont\XKzeroskip\XKcjklastchar}
+\XeTeXinterchartoks \XKboundary \XKhanja = {\XKhanjafont\XKafterboundaryskip\XKbeginboundary\XKcjklastchar}
+
+%%% ? small kana
+\XeTeXinterchartoks \XKlatinchar \XKsmallkana = {\XKhanjafont\XKcjklatinsmallbreak}
+\XeTeXinterchartoks \XKlatinnumber \XKsmallkana = {\XKhanjafont\XKcjklatinsmallbreak}
+\XeTeXinterchartoks \XKlatinopening \XKsmallkana = {\XKhanjafont}
+\XeTeXinterchartoks \XKlatinclosing \XKsmallkana = {\XKhanjafont\XKcjklatinsmallbreak}
+\XeTeXinterchartoks \XKopeningquote \XKsmallkana = {\XKopeningquotestop\XKhanjafont}
+\XeTeXinterchartoks \XKclosingquote \XKsmallkana = {\XKclosingquotestop\XKhanjafont\XKcjklatinsmallbreak}
+\XeTeXinterchartoks \XKhanja \XKsmallkana = {\nobreak\XKzeroskip}
+\XeTeXinterchartoks \XKsmallkana \XKsmallkana = {\nobreak\XKzeroskip}
+\XeTeXinterchartoks \XKcjksymbol \XKsmallkana = {\XKhanjafont}
+\XeTeXinterchartoks \XKcjkopening \XKsmallkana = {\postcjkopenparen\XKhanjafont}
+\XeTeXinterchartoks \XKcjkclosing \XKsmallkana = {\postcjkcloseparen\XKhalfsmallbreak\XKhanjafont}
+\XeTeXinterchartoks \XKcjkcolon \XKsmallkana = {\postcjkcolon\XKquatersmallbreak\XKhanjafont}
+\XeTeXinterchartoks \XKcjkfullstop \XKsmallkana = {\postcjkfullstop\XKfixedhalfskip\XKhanjafont}
+\XeTeXinterchartoks \XKcjkliaison \XKsmallkana = {\XKhanjafont}
+\XeTeXinterchartoks \XKcjkextrastop \XKsmallkana = {\XKhalfsmallbreak\XKhanjafont}
+\XeTeXinterchartoks \XKhangulsyllable \XKsmallkana = {\XKhanjafont\XKinterhanjabreak}
+\XeTeXinterchartoks \XKhangulchosong \XKsmallkana = {\XKhanjafont\XKinterhanjabreak}
+\XeTeXinterchartoks \XKhanguljungjong \XKsmallkana = {\XKhanjafont\XKinterhanjabreak}
+\XeTeXinterchartoks \XKlatinfullstop \XKsmallkana = {\XKperiodboxstop\XKhanjafont\XKcjklatinbreak}
+\XeTeXinterchartoks \XKlatinquestion \XKsmallkana = {\XKquestionboxstop\XKhanjafont\XKcjklatinbreak}
+\XeTeXinterchartoks \XKlatinexclamation \XKsmallkana = {\XKexclamationboxstop\XKhanjafont\XKcjklatinbreak}
+\XeTeXinterchartoks \XKlatincomma \XKsmallkana = {\XKcommaboxstop\XKhanjafont\XKcjklatinbreak}
+\XeTeXinterchartoks \XKlatincolon \XKsmallkana = {\XKhanjafont\XKcjklatinbreak}
+\XeTeXinterchartoks \XKlatinhyphen \XKsmallkana = {\XKhanjafont}
+\XeTeXinterchartoks \XKboundary \XKsmallkana = {\XKhanjafont\XKafterboundaryskip\XKbeginboundary}
+
+%%% ? cjk symbols
+\XeTeXinterchartoks \XKlatinchar \XKcjksymbol = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinnumber \XKcjksymbol = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinopening \XKcjksymbol = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinclosing \XKcjksymbol = {\XKmaybehanjafont\XKcjklatinsmallbreak}
+\XeTeXinterchartoks \XKopeningquote \XKcjksymbol = {\XKopeningquotestop\XKmaybehanjafont}
+\XeTeXinterchartoks \XKclosingquote \XKcjksymbol = {\XKclosingquotestop\XKmaybehanjafont\XKcjklatinsmallbreak}
+\XeTeXinterchartoks \XKhanja \XKcjksymbol = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKsmallkana \XKcjksymbol = {\XKmaybehanjafont}
+%\XeTeXinterchartoks \XKcjksymbol \XKcjksymbol = {}
+\XeTeXinterchartoks \XKcjkopening \XKcjksymbol = {\postcjkopenparen}
+\XeTeXinterchartoks \XKcjkclosing \XKcjksymbol = {\postcjkcloseparen\XKhalfsmallbreak}
+\XeTeXinterchartoks \XKcjkcolon \XKcjksymbol = {\postcjkcolon\XKquatersmallbreak}
+\XeTeXinterchartoks \XKcjkfullstop \XKcjksymbol = {\postcjkfullstop\XKfixedhalfskip}
+%\XeTeXinterchartoks \XKcjkliaison \XKcjksymbol = {}
+\XeTeXinterchartoks \XKcjkextrastop \XKcjksymbol = {\XKhalfsmallbreak}
+\XeTeXinterchartoks \XKhangulsyllable \XKcjksymbol = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKhangulchosong \XKcjksymbol = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKhanguljungjong \XKcjksymbol = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinfullstop \XKcjksymbol = {\XKperiodboxstop\XKmaybehanjafont\XKcjklatinbreak}
+\XeTeXinterchartoks \XKlatinquestion \XKcjksymbol = {\XKquestionboxstop\XKmaybehanjafont\XKcjklatinbreak}
+\XeTeXinterchartoks \XKlatinexclamation \XKcjksymbol = {\XKexclamationboxstop\XKmaybehanjafont\XKcjklatinbreak}
+\XeTeXinterchartoks \XKlatincomma \XKcjksymbol = {\XKcommaboxstop\XKmaybehanjafont\XKcjklatinbreak}
+\XeTeXinterchartoks \XKlatincolon \XKcjksymbol = {\XKmaybehanjafont\XKcjklatinbreak}
+\XeTeXinterchartoks \XKlatinhyphen \XKcjksymbol = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKboundary \XKcjksymbol = {\XKmaybehanjafont\XKafterboundaryskip\XKbeginboundary}
+
+%%% ? cjk openings
+\XeTeXinterchartoks \XKlatinchar \XKcjkopening = {\XKmaybehanjafont\XKhalfsmallbreak\precjkopenparen}
+\XeTeXinterchartoks \XKlatinnumber \XKcjkopening = {\XKmaybehanjafont\XKhalfsmallbreak\precjkopenparen}
+\XeTeXinterchartoks \XKlatinopening \XKcjkopening = {\XKmaybehanjafont\precjkopenparen}
+\XeTeXinterchartoks \XKlatinclosing \XKcjkopening = {\XKmaybehanjafont\XKhalfsmallbreak\precjkopenparen}
+\XeTeXinterchartoks \XKopeningquote \XKcjkopening = {\XKopeningquotestop\XKmaybehanjafont\precjkopenparen}
+\XeTeXinterchartoks \XKclosingquote \XKcjkopening = {\XKclosingquotestop\XKmaybehanjafont\XKhalfsmallbreak\precjkopenparen}
+\XeTeXinterchartoks \XKhanja \XKcjkopening = {\XKhalfsmallbreak\XKmaybehanjafont\precjkopenparen}
+\XeTeXinterchartoks \XKsmallkana \XKcjkopening = {\XKhalfsmallbreak\XKmaybehanjafont\precjkopenparen}
+\XeTeXinterchartoks \XKcjksymbol \XKcjkopening = {\XKhalfsmallbreak\precjkopenparen}
+\XeTeXinterchartoks \XKcjkopening \XKcjkopening = {\postcjkopenparen\precjkopenparen}
+\XeTeXinterchartoks \XKcjkclosing \XKcjkopening = {\postcjkcloseparen\XKhalfsmallbreak\precjkopenparen}
+\XeTeXinterchartoks \XKcjkcolon \XKcjkopening = {\postcjkcolon\XKquatersmallbreak\precjkopenparen}
+\XeTeXinterchartoks \XKcjkfullstop \XKcjkopening = {\postcjkfullstop\XKfixedhalfskip\precjkopenparen}
+\XeTeXinterchartoks \XKcjkliaison \XKcjkopening = {\XKhalfsmallbreak\precjkopenparen}
+\XeTeXinterchartoks \XKcjkextrastop \XKcjkopening = {\XKhalfsmallbreak\precjkopenparen}
+\XeTeXinterchartoks \XKhangulsyllable \XKcjkopening = {\XKmaybehanjafont\XKhalfsmallbreak\precjkopenparen}
+\XeTeXinterchartoks \XKhangulchosong \XKcjkopening = {\XKmaybehanjafont\XKhalfsmallbreak\precjkopenparen}
+\XeTeXinterchartoks \XKhanguljungjong \XKcjkopening = {\XKmaybehanjafont\XKhalfsmallbreak\precjkopenparen}
+\XeTeXinterchartoks \XKlatinfullstop \XKcjkopening = {\XKperiodboxstop\XKmaybehanjafont\XKhalfsmallbreak\precjkopenparen}
+\XeTeXinterchartoks \XKlatinquestion \XKcjkopening = {\XKquestionboxstop\XKmaybehanjafont\XKhalfsmallbreak\precjkopenparen}
+\XeTeXinterchartoks \XKlatinexclamation \XKcjkopening = {\XKexclamationboxstop\XKmaybehanjafont\XKhalfsmallbreak\precjkopenparen}
+\XeTeXinterchartoks \XKlatincomma \XKcjkopening = {\XKcommaboxstop\XKmaybehanjafont\XKhalfsmallbreak\precjkopenparen}
+\XeTeXinterchartoks \XKlatincolon \XKcjkopening = {\XKmaybehanjafont\XKhalfsmallbreak\precjkopenparen}
+\XeTeXinterchartoks \XKlatinhyphen \XKcjkopening = {\XKmaybehanjafont\XKzeroskip\precjkopenparen}
+\XeTeXinterchartoks \XKboundary \XKcjkopening = {\XKmaybehanjafont\XKafterboundaryskip\XKbeginboundary\precjkopenparen}
+
+%%% ? cjk closings
+\XeTeXinterchartoks \XKlatinchar \XKcjkclosing = {\XKmaybehanjafont\precjkcloseparen}
+\XeTeXinterchartoks \XKlatinnumber \XKcjkclosing = {\XKmaybehanjafont\precjkcloseparen}
+\XeTeXinterchartoks \XKlatinopening \XKcjkclosing = {\XKmaybehanjafont\precjkcloseparen}
+\XeTeXinterchartoks \XKlatinclosing \XKcjkclosing = {\XKmaybehanjafont\precjkcloseparen}
+\XeTeXinterchartoks \XKopeningquote \XKcjkclosing = {\XKopeningquotestop\XKmaybehanjafont\precjkcloseparen}
+\XeTeXinterchartoks \XKclosingquote \XKcjkclosing = {\XKclosingquotestop\XKmaybehanjafont\precjkcloseparen}
+\XeTeXinterchartoks \XKhanja \XKcjkclosing = {\XKmaybehanjafont\precjkcloseparen}
+\XeTeXinterchartoks \XKsmallkana \XKcjkclosing = {\XKmaybehanjafont\precjkcloseparen}
+\XeTeXinterchartoks \XKcjksymbol \XKcjkclosing = {\precjkcloseparen}
+\XeTeXinterchartoks \XKcjkopening \XKcjkclosing = {\postcjkopenparen\precjkcloseparen}
+\XeTeXinterchartoks \XKcjkclosing \XKcjkclosing = {\postcjkcloseparen\precjkcloseparen}
+\XeTeXinterchartoks \XKcjkcolon \XKcjkclosing = {\postcjkcolon\nobreak\XKquatersmallbreak\precjkcloseparen}
+\XeTeXinterchartoks \XKcjkfullstop \XKcjkclosing = {\postcjkfullstop\precjkcloseparen}
+\XeTeXinterchartoks \XKcjkliaison \XKcjkclosing = {\precjkcloseparen}
+\XeTeXinterchartoks \XKcjkextrastop \XKcjkclosing = {\precjkcloseparen}
+\XeTeXinterchartoks \XKhangulsyllable \XKcjkclosing = {\XKmaybehanjafont\precjkcloseparen}
+\XeTeXinterchartoks \XKhangulchosong \XKcjkclosing = {\XKmaybehanjafont\precjkcloseparen}
+\XeTeXinterchartoks \XKhanguljungjong \XKcjkclosing = {\XKmaybehanjafont\precjkcloseparen}
+\XeTeXinterchartoks \XKlatinfullstop \XKcjkclosing = {\XKperiodboxstop\XKmaybehanjafont\precjkcloseparen}
+\XeTeXinterchartoks \XKlatinquestion \XKcjkclosing = {\XKquestionboxstop\XKmaybehanjafont\nobreak\XKcjklatinbreak\precjkcloseparen}
+\XeTeXinterchartoks \XKlatinexclamation \XKcjkclosing = {\XKexclamationboxstop\XKmaybehanjafont\nobreak\XKcjklatinbreak\precjkcloseparen}
+\XeTeXinterchartoks \XKlatincomma \XKcjkclosing = {\XKcommaboxstop\XKmaybehanjafont\nobreak\XKcjklatinbreak\precjkcloseparen}
+\XeTeXinterchartoks \XKlatincolon \XKcjkclosing = {\XKmaybehanjafont\precjkcloseparen}
+\XeTeXinterchartoks \XKlatinhyphen \XKcjkclosing = {\XKmaybehanjafont\precjkcloseparen}
+\XeTeXinterchartoks \XKboundary \XKcjkclosing = {\XKmaybehanjafont\XKbeginboundary\precjkcloseparen}
+
+%%% ? latin openings
+\XeTeXinterchartoks \XKlatinchar \XKlatinopening = {\XKwaslatinchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKlatinnumber \XKlatinopening = {\XKwaslatinchar\XKlatinparenfont}
+%\XeTeXinterchartoks \XKlatinopening \XKlatinopening = {}
+%\XeTeXinterchartoks \XKlatinclosing \XKlatinopening = {}
+\XeTeXinterchartoks \XKopeningquote \XKlatinopening = {\XKopeningquotestop\XKlatinparenfont}
+\XeTeXinterchartoks \XKclosingquote \XKlatinopening = {\XKclosingquotestop\XKzeroskip\XKlatinparenfont}
+\XeTeXinterchartoks \XKhanja \XKlatinopening = {\XKcjklatinbreak\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKsmallkana \XKlatinopening = {\XKcjklatinbreak\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKcjksymbol \XKlatinopening = {\XKcjklatinbreak\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKcjkopening \XKlatinopening = {\postcjkopenparen\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKcjkclosing \XKlatinopening = {\postcjkcloseparen\XKhalfsmallbreak\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKcjkcolon \XKlatinopening = {\postcjkcolon\XKquatersmallbreak\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKcjkfullstop \XKlatinopening = {\postcjkfullstop\XKfixedhalfskip\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKcjkliaison \XKlatinopening = {\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKcjkextrastop \XKlatinopening = {\XKhalfsmallbreak\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKhangulsyllable \XKlatinopening = {\XKcjklatinbreak\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKhangulchosong \XKlatinopening = {\XKcjklatinbreak\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKhanguljungjong \XKlatinopening = {\XKcjklatinbreak\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKlatinfullstop \XKlatinopening = {\XKperiodboxstop\XKlatinparenfont}
+\XeTeXinterchartoks \XKlatinquestion \XKlatinopening = {\XKquestionboxstop\XKlatinparenfont}
+\XeTeXinterchartoks \XKlatinexclamation \XKlatinopening = {\XKexclamationboxstop\XKlatinparenfont}
+\XeTeXinterchartoks \XKlatincomma \XKlatinopening = {\XKcommaboxstop\XKlatinparenfont}
+\XeTeXinterchartoks \XKlatincolon \XKlatinopening = {\XKlatinparenfont}
+\XeTeXinterchartoks \XKlatinhyphen \XKlatinopening = {\XKlatinparenfont}
+\XeTeXinterchartoks \XKboundary \XKlatinopening = {\XKundoignorespaces\XKlatinparenfont\XKbeginboundary}
+
+%%% ? latin opening quote `
+\XeTeXinterchartoks \XKlatinchar \XKopeningquote = {\XKwaslatinchar\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKlatinnumber \XKopeningquote = {\XKwaslatinchar\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKlatinopening \XKopeningquote = {\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKlatinclosing \XKopeningquote = {\XKlatinquotefont\XKopeningquotestart}
+%\XeTeXinterchartoks \XKopeningquote \XKopeningquote = {}
+\XeTeXinterchartoks \XKclosingquote \XKopeningquote = {\XKclosingquotestop\XKopeningquotestart}
+\XeTeXinterchartoks \XKhanja \XKopeningquote = {\XKcjklatinbreak\XKwascjkchar\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKsmallkana \XKopeningquote = {\XKcjklatinbreak\XKwascjkchar\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKcjksymbol \XKopeningquote = {\XKcjklatinbreak\XKwascjkchar\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKcjkopening \XKopeningquote = {\postcjkopenparen\XKwascjkchar\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKcjkclosing \XKopeningquote = {\postcjkcloseparen\XKhalfsmallbreak\XKwascjkchar\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKcjkcolon \XKopeningquote = {\postcjkcolon\XKquatersmallbreak\XKwascjkchar\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKcjkfullstop \XKopeningquote = {\postcjkfullstop\XKfixedhalfskip\XKwascjkchar\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKcjkliaison \XKopeningquote = {\XKwascjkchar\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKcjkextrastop \XKopeningquote = {\XKhalfsmallbreak\XKwascjkchar\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKhangulsyllable \XKopeningquote = {\XKcjklatinbreak\XKwascjkchar\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKhangulchosong \XKopeningquote = {\XKcjklatinbreak\XKwascjkchar\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKhanguljungjong \XKopeningquote = {\XKcjklatinbreak\XKwascjkchar\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKlatinfullstop \XKopeningquote = {\XKperiodboxstop\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKlatinquestion \XKopeningquote = {\XKquestionboxstop\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKlatinexclamation \XKopeningquote = {\XKexclamationboxstop\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKlatincomma \XKopeningquote = {\XKcommaboxstop\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKlatincolon \XKopeningquote = {\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKlatinhyphen \XKopeningquote = {\XKlatinquotefont\XKopeningquotestart}
+\XeTeXinterchartoks \XKboundary \XKopeningquote = {\XKundoignorespaces\XKlatinquotefont\XKbeginboundary\XKopeningquotestart}
+
+%%% ? latin closings
+\XeTeXinterchartoks \XKlatinchar \XKlatinclosing = {\XKwaslatinchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKlatinnumber \XKlatinclosing = {\XKwaslatinchar\XKlatinparenfont}
+%\XeTeXinterchartoks \XKlatinopening \XKlatinclosing = {}
+%\XeTeXinterchartoks \XKlatinclosing \XKlatinclosing = {}
+\XeTeXinterchartoks \XKopeningquote \XKlatinclosing = {\XKopeningquotestop\XKlatinparenfont}
+\XeTeXinterchartoks \XKclosingquote \XKlatinclosing = {\XKclosingquotestop\XKlatinparenfont}
+\XeTeXinterchartoks \XKhanja \XKlatinclosing = {\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKsmallkana \XKlatinclosing = {\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKcjksymbol \XKlatinclosing = {\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKcjkopening \XKlatinclosing = {\postcjkopenparen\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKcjkclosing \XKlatinclosing = {\postcjkcloseparen\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKcjkcolon \XKlatinclosing = {\postcjkcolon\nobreak\XKquatersmallbreak\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKcjkfullstop \XKlatinclosing = {\postcjkfullstop\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKcjkliaison \XKlatinclosing = {\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKcjkextrastop \XKlatinclosing = {\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKhangulsyllable \XKlatinclosing = {\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKhangulchosong \XKlatinclosing = {\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKhanguljungjong \XKlatinclosing = {\XKwascjkchar\XKlatinparenfont}
+\XeTeXinterchartoks \XKlatinfullstop \XKlatinclosing = {\XKperiodboxstop\XKlatinparenfont}
+\XeTeXinterchartoks \XKlatinquestion \XKlatinclosing = {\XKquestionboxstop\XKlatinparenfont}
+\XeTeXinterchartoks \XKlatinexclamation \XKlatinclosing = {\XKexclamationboxstop\XKlatinparenfont}
+\XeTeXinterchartoks \XKlatincomma \XKlatinclosing = {\XKcommaboxstop\XKlatinparenfont}
+\XeTeXinterchartoks \XKlatincolon \XKlatinclosing = {\XKlatinparenfont}
+\XeTeXinterchartoks \XKlatinhyphen \XKlatinclosing = {\XKlatinparenfont}
+\XeTeXinterchartoks \XKboundary \XKlatinclosing = {\XKundoignorespaces\XKlatinparenfont\XKbeginboundary}
+
+%%% ? latin closing quote '
+\XeTeXinterchartoks \XKlatinchar \XKclosingquote = {\XKwaslatinchar\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKlatinnumber \XKclosingquote = {\XKwaslatinchar\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKlatinopening \XKclosingquote = {\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKlatinclosing \XKclosingquote = {\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKopeningquote \XKclosingquote = {\XKopeningquotestop\XKclosingquotestart}
+%\XeTeXinterchartoks \XKclosingquote \XKclosingquote = {}
+\XeTeXinterchartoks \XKhanja \XKclosingquote = {\XKwascjkchar\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKsmallkana \XKclosingquote = {\XKwascjkchar\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKcjksymbol \XKclosingquote = {\XKwascjkchar\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKcjkopening \XKclosingquote = {\postcjkopenparen\XKwascjkchar\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKcjkclosing \XKclosingquote = {\postcjkcloseparen\XKwascjkchar\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKcjkcolon \XKclosingquote = {\postcjkcolon\nobreak\XKquatersmallbreak\XKwascjkchar\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKcjkfullstop \XKclosingquote = {\postcjkfullstop\XKwascjkchar\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKcjkliaison \XKclosingquote = {\XKwascjkchar\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKcjkextrastop \XKclosingquote = {\XKwascjkchar\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKhangulsyllable \XKclosingquote = {\XKwascjkchar\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKhangulchosong \XKclosingquote = {\XKwascjkchar\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKhanguljungjong \XKclosingquote = {\XKwascjkchar\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKlatinfullstop \XKclosingquote = {\XKperiodboxstop\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKlatinquestion \XKclosingquote = {\XKquestionboxstop\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKlatinexclamation \XKclosingquote = {\XKexclamationboxstop\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKlatincomma \XKclosingquote = {\XKcommaboxstop\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKlatincolon \XKclosingquote = {\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKlatinhyphen \XKclosingquote = {\XKlatinquotefont\XKclosingquotestart}
+\XeTeXinterchartoks \XKboundary \XKclosingquote = {\XKundoignorespaces\XKlatinquotefont\XKbeginboundary\XKclosingquotestart}
+
+%%% ? latin colon
+\XeTeXinterchartoks \XKlatinchar \XKlatincolon = {\XKwaslatinchar\XKcolonfont}
+\XeTeXinterchartoks \XKlatinnumber \XKlatincolon = {\XKwaslatinchar\XKcolonfont}
+\XeTeXinterchartoks \XKlatinopening \XKlatincolon = {\XKcolonfont}
+\XeTeXinterchartoks \XKlatinclosing \XKlatincolon = {\XKcolonfont}
+\XeTeXinterchartoks \XKopeningquote \XKlatincolon = {\XKopeningquotestop\XKcolonfont}
+\XeTeXinterchartoks \XKclosingquote \XKlatincolon = {\XKclosingquotestop\XKcolonfont}
+\XeTeXinterchartoks \XKhanja \XKlatincolon = {\nobreak\XKcjklatinbreak\XKwascjkchar\XKcolonfont}
+\XeTeXinterchartoks \XKsmallkana \XKlatincolon = {\nobreak\XKcjklatinbreak\XKwascjkchar\XKcolonfont}
+\XeTeXinterchartoks \XKcjksymbol \XKlatincolon = {\nobreak\XKcjklatinbreak\XKwascjkchar\XKcolonfont}
+\XeTeXinterchartoks \XKcjkopening \XKlatincolon = {\postcjkopenparen\XKwascjkchar\XKcolonfont}
+\XeTeXinterchartoks \XKcjkclosing \XKlatincolon = {\postcjkcloseparen\nobreak\XKhalfsmallbreak\XKwascjkchar\XKcolonfont}
+\XeTeXinterchartoks \XKcjkcolon \XKlatincolon = {\postcjkcolon\nobreak\XKquatersmallbreak\XKwascjkchar\XKcolonfont}
+\XeTeXinterchartoks \XKcjkfullstop \XKlatincolon = {\postcjkfullstop\nobreak\XKfixedhalfskip\XKwascjkchar\XKcolonfont}
+\XeTeXinterchartoks \XKcjkliaison \XKlatincolon = {\XKwascjkchar\XKcolonfont}
+\XeTeXinterchartoks \XKcjkextrastop \XKlatincolon = {\nobreak\XKhalfsmallbreak\XKwascjkchar\XKcolonfont}
+\XeTeXinterchartoks \XKhangulsyllable \XKlatincolon = {\nobreak\XKcjklatinbreak\XKwascjkchar\XKcolonfont}
+\XeTeXinterchartoks \XKhangulchosong \XKlatincolon = {\nobreak\XKcjklatinbreak\XKwascjkchar\XKcolonfont}
+\XeTeXinterchartoks \XKhanguljungjong \XKlatincolon = {\nobreak\XKcjklatinbreak\XKwascjkchar\XKcolonfont}
+\XeTeXinterchartoks \XKlatinfullstop \XKlatincolon = {\XKperiodboxstop\XKcolonfont}
+\XeTeXinterchartoks \XKlatinquestion \XKlatincolon = {\XKquestionboxstop\XKcolonfont}
+\XeTeXinterchartoks \XKlatinexclamation \XKlatincolon = {\XKexclamationboxstop\XKcolonfont}
+\XeTeXinterchartoks \XKlatincomma \XKlatincolon = {\XKcommaboxstop\XKcolonfont}
+%\XeTeXinterchartoks \XKlatincolon \XKlatincolon = {}
+\XeTeXinterchartoks \XKlatinhyphen \XKlatincolon = {\XKcolonfont}
+\XeTeXinterchartoks \XKboundary \XKlatincolon = {\XKundoignorespaces\XKcolonfont\XKbeginboundary}
+
+%%% ? hangul syllables
+\XeTeXinterchartoks \XKlatinchar \XKhangulsyllable = {\XKhangulfont\XKcjklatinsmallbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKlatinnumber \XKhangulsyllable = {\XKhangulfont\XKcjklatinsmallbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKlatinopening \XKhangulsyllable = {\XKhangulfont\XKcjklastchar}
+\XeTeXinterchartoks \XKlatinclosing \XKhangulsyllable = {\XKhangulfont\XKcjklatinbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKopeningquote \XKhangulsyllable = {\XKopeningquotestop\XKhangulfont\XKcjklastchar}
+\XeTeXinterchartoks \XKclosingquote \XKhangulsyllable = {\XKclosingquotestop\XKhangulfont\XKcjklatinbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKhanja \XKhangulsyllable = {\XKhangulfont\XKinterhanjabreak\XKcjklastchar}
+\XeTeXinterchartoks \XKsmallkana \XKhangulsyllable = {\XKhangulfont\XKinterhanjabreak\XKcjklastchar}
+\XeTeXinterchartoks \XKcjksymbol \XKhangulsyllable = {\XKhangulfont\XKcjklastchar}
+\XeTeXinterchartoks \XKcjkopening \XKhangulsyllable = {\postcjkopenparen\XKhangulfont\XKcjklastchar}
+\XeTeXinterchartoks \XKcjkclosing \XKhangulsyllable = {\postcjkcloseparen\XKhangulfont\XKhalfsmallbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKcjkcolon \XKhangulsyllable = {\postcjkcolon\XKhangulfont\XKquatersmallbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKcjkfullstop \XKhangulsyllable = {\postcjkfullstop\XKhangulfont\XKfixedhalfskip\XKcjklastchar}
+\XeTeXinterchartoks \XKcjkliaison \XKhangulsyllable = {\XKhangulfont\XKcjklastchar}
+\XeTeXinterchartoks \XKcjkextrastop \XKhangulsyllable = {\XKhangulfont\XKhalfsmallbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKhangulsyllable \XKhangulsyllable = {\XKinterhangulbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKhangulchosong \XKhangulsyllable = {\XKcjklastchar}
+\XeTeXinterchartoks \XKhanguljungjong \XKhangulsyllable = {\XKinterhangulbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKlatinfullstop \XKhangulsyllable = {\XKperiodboxstop\XKhangulfont\XKcjklatinbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKlatinquestion \XKhangulsyllable = {\XKquestionboxstop\XKhangulfont\XKcjklatinbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKlatinexclamation \XKhangulsyllable = {\XKexclamationboxstop\XKhangulfont\XKcjklatinbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKlatincomma \XKhangulsyllable = {\XKcommaboxstop\XKhangulfont\XKcjklatinbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKlatincolon \XKhangulsyllable = {\XKhangulfont\XKcjklatinbreak\XKcjklastchar}
+\XeTeXinterchartoks \XKlatinhyphen \XKhangulsyllable = {\XKhangulfont\XKzeroskip\XKcjklastchar}
+\XeTeXinterchartoks \XKboundary \XKhangulsyllable = {\XKhangulfont\XKafterboundaryskip\XKbeginboundary\XKcjklastchar}
+
+%%% ? choseong jamo
+\XeTeXinterchartoks \XKlatinchar \XKhangulchosong = {\XKhangulfont\XKcjklatinsmallbreak\XKlastchar}
+\XeTeXinterchartoks \XKlatinnumber \XKhangulchosong = {\XKhangulfont\XKcjklatinsmallbreak\XKlastchar}
+\XeTeXinterchartoks \XKlatinopening \XKhangulchosong = {\XKhangulfont\XKlastchar}
+\XeTeXinterchartoks \XKlatinclosing \XKhangulchosong = {\XKhangulfont\XKcjklatinbreak\XKlastchar}
+\XeTeXinterchartoks \XKopeningquote \XKhangulchosong = {\XKopeningquotestop\XKhangulfont\XKlastchar}
+\XeTeXinterchartoks \XKclosingquote \XKhangulchosong = {\XKclosingquotestop\XKhangulfont\XKcjklatinbreak\XKlastchar}
+\XeTeXinterchartoks \XKhanja \XKhangulchosong = {\XKhangulfont\XKinterhanjabreak\XKlastchar}
+\XeTeXinterchartoks \XKsmallkana \XKhangulchosong = {\XKhangulfont\XKinterhanjabreak\XKlastchar}
+\XeTeXinterchartoks \XKcjksymbol \XKhangulchosong = {\XKhangulfont\XKlastchar}
+\XeTeXinterchartoks \XKcjkopening \XKhangulchosong = {\postcjkopenparen\XKhangulfont\XKlastchar}
+\XeTeXinterchartoks \XKcjkclosing \XKhangulchosong = {\postcjkcloseparen\XKhangulfont\XKhalfsmallbreak\XKlastchar}
+\XeTeXinterchartoks \XKcjkcolon \XKhangulchosong = {\postcjkcolon\XKhangulfont\XKquatersmallbreak\XKlastchar}
+\XeTeXinterchartoks \XKcjkfullstop \XKhangulchosong = {\postcjkfullstop\XKhangulfont\XKfixedhalfskip\XKlastchar}
+\XeTeXinterchartoks \XKcjkliaison \XKhangulchosong = {\XKhangulfont\XKlastchar}
+\XeTeXinterchartoks \XKcjkextrastop \XKhangulchosong = {\XKhangulfont\XKhalfsmallbreak\XKlastchar}
+\XeTeXinterchartoks \XKhangulsyllable \XKhangulchosong = {\XKinterhangulbreak\XKlastchar}
+%\XeTeXinterchartoks \XKhangulchosong \XKhangulchosong = {}
+\XeTeXinterchartoks \XKhanguljungjong \XKhangulchosong = {\XKinterhangulbreak\XKlastchar}
+\XeTeXinterchartoks \XKlatinfullstop \XKhangulchosong = {\XKperiodboxstop\XKhangulfont\XKcjklatinbreak\XKlastchar}
+\XeTeXinterchartoks \XKlatinquestion \XKhangulchosong = {\XKquestionboxstop\XKhangulfont\XKcjklatinbreak\XKlastchar}
+\XeTeXinterchartoks \XKlatinexclamation \XKhangulchosong = {\XKexclamationboxstop\XKhangulfont\XKcjklatinbreak\XKlastchar}
+\XeTeXinterchartoks \XKlatincomma \XKhangulchosong = {\XKcommaboxstop\XKhangulfont\XKcjklatinbreak\XKlastchar}
+\XeTeXinterchartoks \XKlatincolon \XKhangulchosong = {\XKhangulfont\XKcjklatinbreak\XKlastchar}
+\XeTeXinterchartoks \XKlatinhyphen \XKhangulchosong = {\XKhangulfont\XKzeroskip\XKlastchar}
+\XeTeXinterchartoks \XKboundary \XKhangulchosong = {\XKhangulfont\XKafterboundaryskip\XKbeginboundary\XKlastchar}
+
+%%% ? jungseong/jongseong jamo
+\XeTeXinterchartoks \XKlatinchar \XKhanguljungjong = {\XKhangulfont\XKcjklatinsmallbreak\XKlastchar}
+\XeTeXinterchartoks \XKlatinnumber \XKhanguljungjong = {\XKhangulfont\XKcjklatinsmallbreak\XKlastchar}
+\XeTeXinterchartoks \XKlatinopening \XKhanguljungjong = {\XKhangulfont\XKlastchar}
+\XeTeXinterchartoks \XKlatinclosing \XKhanguljungjong = {\XKhangulfont\XKcjklatinbreak\XKlastchar}
+\XeTeXinterchartoks \XKopeningquote \XKhanguljungjong = {\XKopeningquotestop\XKhangulfont\XKlastchar}
+\XeTeXinterchartoks \XKclosingquote \XKhanguljungjong = {\XKclosingquotestop\XKhangulfont\XKcjklatinbreak\XKlastchar}
+\XeTeXinterchartoks \XKhanja \XKhanguljungjong = {\XKhangulfont\XKinterhanjabreak\XKlastchar}
+\XeTeXinterchartoks \XKsmallkana \XKhanguljungjong = {\XKhangulfont\XKinterhanjabreak\XKlastchar}
+\XeTeXinterchartoks \XKcjksymbol \XKhanguljungjong = {\XKhangulfont\XKlastchar\XKlastchar}
+\XeTeXinterchartoks \XKcjkopening \XKhanguljungjong = {\postcjkopenparen\XKhangulfont\XKlastchar}
+\XeTeXinterchartoks \XKcjkclosing \XKhanguljungjong = {\postcjkcloseparen\XKhangulfont\XKhalfsmallbreak\XKlastchar}
+\XeTeXinterchartoks \XKcjkcolon \XKhanguljungjong = {\postcjkcolon\XKhangulfont\XKquatersmallbreak\XKlastchar}
+\XeTeXinterchartoks \XKcjkfullstop \XKhanguljungjong = {\postcjkfullstop\XKhangulfont\XKfixedhalfskip\XKlastchar}
+\XeTeXinterchartoks \XKcjkliaison \XKhanguljungjong = {\XKhangulfont\XKlastchar}
+\XeTeXinterchartoks \XKcjkextrastop \XKhanguljungjong = {\XKhangulfont\XKhalfsmallbreak\XKlastchar}
+\XeTeXinterchartoks \XKhangulsyllable \XKhanguljungjong = {\XKlastchar}
+\XeTeXinterchartoks \XKhangulchosong \XKhanguljungjong = {\XKlastchar}
+\XeTeXinterchartoks \XKhanguljungjong \XKhanguljungjong = {\XKlastchar}
+\XeTeXinterchartoks \XKlatinfullstop \XKhanguljungjong = {\XKperiodboxstop\XKhangulfont\XKcjklatinbreak\XKlastchar}
+\XeTeXinterchartoks \XKlatinquestion \XKhanguljungjong = {\XKquestionboxstop\XKhangulfont\XKcjklatinbreak\XKlastchar}
+\XeTeXinterchartoks \XKlatinexclamation \XKhanguljungjong = {\XKexclamationboxstop\XKhangulfont\XKcjklatinbreak\XKlastchar}
+\XeTeXinterchartoks \XKlatincomma \XKhanguljungjong = {\XKcommaboxstop\XKhangulfont\XKcjklatinbreak\XKlastchar}
+\XeTeXinterchartoks \XKlatincolon \XKhanguljungjong = {\XKhangulfont\XKcjklatinbreak\XKlastchar}
+\XeTeXinterchartoks \XKlatinhyphen \XKhanguljungjong = {\XKhangulfont\XKlastchar}
+\XeTeXinterchartoks \XKboundary \XKhanguljungjong = {\XKhangulfont\XKafterboundaryskip\XKbeginboundary\XKlastchar}
+
+%%% ? latin period [.]
+\XeTeXinterchartoks \XKlatinchar \XKlatinfullstop = {\XKwaslatinchar\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKlatinnumber \XKlatinfullstop = {\XKwaslatinchar\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKlatinopening \XKlatinfullstop = {\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKlatinclosing \XKlatinfullstop = {\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKopeningquote \XKlatinfullstop = {\XKopeningquotestop\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKclosingquote \XKlatinfullstop = {\XKclosingquotestop\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKhanja \XKlatinfullstop = {\XKwascjkchar\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKsmallkana \XKlatinfullstop = {\XKwascjkchar\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKcjksymbol \XKlatinfullstop = {\XKwascjkchar\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKcjkopening \XKlatinfullstop = {\postcjkopenparen \XKwascjkchar\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKcjkclosing \XKlatinfullstop = {\postcjkcloseparen\XKwascjkchar\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKcjkcolon \XKlatinfullstop = {\postcjkcolon\nobreak\XKquatersmallbreak\XKwascjkchar\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKcjkfullstop \XKlatinfullstop = {\postcjkfullstop\XKwascjkchar\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKcjkliaison \XKlatinfullstop = {\XKwascjkchar\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKcjkextrastop \XKlatinfullstop = {\XKwascjkchar\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKhangulsyllable \XKlatinfullstop = {\XKwascjkchar\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKhangulchosong \XKlatinfullstop = {\XKwascjkchar\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKhanguljungjong \XKlatinfullstop = {\XKwascjkchar\XKpunctsfont\XKperiodboxstart}
+%\XeTeXinterchartoks \XKlatinfullstop \XKlatinfullstop = {}
+%\XeTeXinterchartoks \XKlatinquestion \XKlatinfullstop = {}
+%\XeTeXinterchartoks \XKlatinexclamation \XKlatinfullstop = {}
+%\XeTeXinterchartoks \XKlatincomma \XKlatinfullstop = {}
+\XeTeXinterchartoks \XKlatincolon \XKlatinfullstop = {\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKlatinhyphen \XKlatinfullstop = {\XKpunctsfont\XKperiodboxstart}
+\XeTeXinterchartoks \XKboundary \XKlatinfullstop = {\XKundoignorespaces\XKpunctsfont\XKbeginboundary\XKperiodboxstart}
+
+%%% ? latin question
+\XeTeXinterchartoks \XKlatinchar \XKlatinquestion = {\XKwaslatinchar\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKlatinnumber \XKlatinquestion = {\XKwaslatinchar\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKlatinopening \XKlatinquestion = {\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKlatinclosing \XKlatinquestion = {\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKopeningquote \XKlatinquestion = {\XKopeningquotestop\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKclosingquote \XKlatinquestion = {\XKclosingquotestop\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKhanja \XKlatinquestion = {\XKwascjkchar\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKsmallkana \XKlatinquestion = {\XKwascjkchar\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKcjksymbol \XKlatinquestion = {\XKwascjkchar\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKcjkopening \XKlatinquestion = {\postcjkopenparen\XKwascjkchar\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKcjkclosing \XKlatinquestion = {\postcjkcloseparen\XKwascjkchar\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKcjkcolon \XKlatinquestion = {\postcjkcolon\nobreak\XKquatersmallbreak\XKwascjkchar\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKcjkfullstop \XKlatinquestion = {\postcjkfullstop\XKwascjkchar\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKcjkliaison \XKlatinquestion = {\XKwascjkchar\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKcjkextrastop \XKlatinquestion = {\XKwascjkchar\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKhangulsyllable \XKlatinquestion = {\XKwascjkchar\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKhangulchosong \XKlatinquestion = {\XKwascjkchar\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKhanguljungjong \XKlatinquestion = {\XKwascjkchar\XKpunctsfont\XKquestionboxstart}
+%\XeTeXinterchartoks \XKlatinfullstop \XKlatinquestion = {}
+%\XeTeXinterchartoks \XKlatinquestion \XKlatinquestion = {}
+%\XeTeXinterchartoks \XKlatinexclamation \XKlatinquestion = {}
+%\XeTeXinterchartoks \XKlatincomma \XKlatinquestion = {}
+\XeTeXinterchartoks \XKlatincolon \XKlatinquestion = {\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKlatinhyphen \XKlatinquestion = {\XKpunctsfont\XKquestionboxstart}
+\XeTeXinterchartoks \XKboundary \XKlatinquestion = {\XKundoignorespaces\XKpunctsfont\XKbeginboundary\XKquestionboxstart}
+
+%%% ? latin exclamation
+\XeTeXinterchartoks \XKlatinchar \XKlatinexclamation = {\XKwaslatinchar\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKlatinnumber \XKlatinexclamation = {\XKwaslatinchar\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKlatinopening \XKlatinexclamation = {\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKlatinclosing \XKlatinexclamation = {\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKopeningquote \XKlatinexclamation = {\XKopeningquotestop\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKclosingquote \XKlatinexclamation = {\XKclosingquotestop\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKhanja \XKlatinexclamation = {\XKwascjkchar\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKsmallkana \XKlatinexclamation = {\XKwascjkchar\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKcjksymbol \XKlatinexclamation = {\XKwascjkchar\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKcjkopening \XKlatinexclamation = {\postcjkopenparen\XKwascjkchar\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKcjkclosing \XKlatinexclamation = {\postcjkcloseparen\XKwascjkchar\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKcjkcolon \XKlatinexclamation = {\postcjkcolon\nobreak\XKquatersmallbreak\XKwascjkchar\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKcjkfullstop \XKlatinexclamation = {\postcjkfullstop\XKwascjkchar\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKcjkliaison \XKlatinexclamation = {\XKwascjkchar\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKcjkextrastop \XKlatinexclamation = {\XKwascjkchar\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKhangulsyllable \XKlatinexclamation = {\XKwascjkchar\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKhangulchosong \XKlatinexclamation = {\XKwascjkchar\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKhanguljungjong \XKlatinexclamation = {\XKwascjkchar\XKpunctsfont\XKexclamationboxstart}
+%\XeTeXinterchartoks \XKlatinfullstop \XKlatinexclamation = {}
+%\XeTeXinterchartoks \XKlatinquestion \XKlatinexclamation = {}
+%\XeTeXinterchartoks \XKlatinexclamation \XKlatinexclamation = {}
+%\XeTeXinterchartoks \XKlatincomma \XKlatinexclamation = {}
+\XeTeXinterchartoks \XKlatincolon \XKlatinexclamation = {\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKlatinhyphen \XKlatinexclamation = {\XKpunctsfont\XKexclamationboxstart}
+\XeTeXinterchartoks \XKboundary \XKlatinexclamation = {\XKundoignorespaces\XKpunctsfont\XKbeginboundary\XKexclamationboxstart}
+
+% ? latin comma
+\XeTeXinterchartoks \XKlatinchar \XKlatincomma = {\XKwaslatinchar\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKlatinnumber \XKlatincomma = {\XKwaslatinchar\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKlatinopening \XKlatincomma = {\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKlatinclosing \XKlatincomma = {\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKopeningquote \XKlatincomma = {\XKopeningquotestop\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKclosingquote \XKlatincomma = {\XKclosingquotestop\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKhanja \XKlatincomma = {\XKwascjkchar\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKsmallkana \XKlatincomma = {\XKwascjkchar\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKcjksymbol \XKlatincomma = {\XKwascjkchar\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKcjkopening \XKlatincomma = {\postcjkopenparen\XKwascjkchar\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKcjkclosing \XKlatincomma = {\postcjkcloseparen\XKwascjkchar\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKcjkcolon \XKlatincomma = {\postcjkcolon\nobreak\XKquatersmallbreak\XKwascjkchar\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKcjkfullstop \XKlatincomma = {\postcjkfullstop\XKwascjkchar\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKcjkliaison \XKlatincomma = {\XKwascjkchar\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKcjkextrastop \XKlatincomma = {\XKwascjkchar\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKhangulsyllable \XKlatincomma = {\XKwascjkchar\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKhangulchosong \XKlatincomma = {\XKwascjkchar\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKhanguljungjong \XKlatincomma = {\XKwascjkchar\XKpunctsfont\XKcommaboxstart}
+%\XeTeXinterchartoks \XKlatinfullstop \XKlatincomma = {}
+%\XeTeXinterchartoks \XKlatinquestion \XKlatincomma = {}
+%\XeTeXinterchartoks \XKlatinexclamation \XKlatincomma = {}
+%\XeTeXinterchartoks \XKlatincomma \XKlatincomma = {}
+\XeTeXinterchartoks \XKlatincolon \XKlatincomma = {\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKlatinhyphen \XKlatincomma = {\XKpunctsfont\XKcommaboxstart}
+\XeTeXinterchartoks \XKboundary \XKlatincomma = {\XKundoignorespaces\XKpunctsfont\XKbeginboundary\XKcommaboxstart}
+
+%%% ? latin hyphens [-/]
+\XeTeXinterchartoks \XKlatinchar \XKlatinhyphen = {\XKwaslatinchar\XKhyphenfont}
+\XeTeXinterchartoks \XKlatinnumber \XKlatinhyphen = {\XKwaslatinchar\XKhyphenfont}
+\XeTeXinterchartoks \XKlatinopening \XKlatinhyphen = {\XKhyphenfont}
+\XeTeXinterchartoks \XKlatinclosing \XKlatinhyphen = {\XKhyphenfont}
+\XeTeXinterchartoks \XKopeningquote \XKlatinhyphen = {\XKopeningquotestop\XKhyphenfont}
+\XeTeXinterchartoks \XKclosingquote \XKlatinhyphen = {\XKclosingquotestop\XKhyphenfont}
+\XeTeXinterchartoks \XKhanja \XKlatinhyphen = {\XKwascjkchar\XKhyphenfont}
+\XeTeXinterchartoks \XKsmallkana \XKlatinhyphen = {\XKwascjkchar\XKhyphenfont}
+\XeTeXinterchartoks \XKcjksymbol \XKlatinhyphen = {\XKwascjkchar\XKhyphenfont}
+\XeTeXinterchartoks \XKcjkopening \XKlatinhyphen = {\postcjkopenparen\XKwascjkchar\XKhyphenfont}
+\XeTeXinterchartoks \XKcjkclosing \XKlatinhyphen = {\postcjkcloseparen\XKwascjkchar\XKhyphenfont}
+\XeTeXinterchartoks \XKcjkcolon \XKlatinhyphen = {\postcjkcolon\nobreak\XKquatersmallbreak\XKwascjkchar\XKhyphenfont}
+\XeTeXinterchartoks \XKcjkfullstop \XKlatinhyphen = {\postcjkfullstop\XKwascjkchar\XKhyphenfont}
+\XeTeXinterchartoks \XKcjkliaison \XKlatinhyphen = {\XKwascjkchar\XKhyphenfont}
+\XeTeXinterchartoks \XKcjkextrastop \XKlatinhyphen = {\XKwascjkchar\XKhyphenfont}
+\XeTeXinterchartoks \XKhangulsyllable \XKlatinhyphen = {\XKwascjkchar\XKhyphenfont}
+\XeTeXinterchartoks \XKhangulchosong \XKlatinhyphen = {\XKwascjkchar\XKhyphenfont}
+\XeTeXinterchartoks \XKhanguljungjong \XKlatinhyphen = {\XKwascjkchar\XKhyphenfont}
+\XeTeXinterchartoks \XKlatinfullstop \XKlatinhyphen = {\XKperiodboxstop\XKhyphenfont}
+\XeTeXinterchartoks \XKlatinquestion \XKlatinhyphen = {\XKquestionboxstop\XKhyphenfont}
+\XeTeXinterchartoks \XKlatinexclamation \XKlatinhyphen = {\XKexclamationboxstop\XKhyphenfont}
+\XeTeXinterchartoks \XKlatincomma \XKlatinhyphen = {\XKcommaboxstop\XKhyphenfont}
+\XeTeXinterchartoks \XKlatincolon \XKlatinhyphen = {\XKhyphenfont}
+%\XeTeXinterchartoks \XKlatinhyphen \XKlatinhyphen = {}
+\XeTeXinterchartoks \XKboundary \XKlatinhyphen = {\XKundoignorespaces\XKhyphenfont\XKbeginboundary}
+
+%%% ? boundary
+\XeTeXinterchartoks \XKlatinchar \XKboundary = {\XKendboundary\XKwaslatinchar\XKlatinfont}
+\XeTeXinterchartoks \XKlatinnumber \XKboundary = {\XKendboundary\XKwaslatinchar\XKlatinfont}
+\XeTeXinterchartoks \XKlatinopening \XKboundary = {\XKendboundary\XKlatinfont}
+\XeTeXinterchartoks \XKlatinclosing \XKboundary = {\XKendboundary\XKlatinfont}
+\XeTeXinterchartoks \XKopeningquote \XKboundary = {\XKopeningquotestop\XKendboundary\XKlatinfont}
+\XeTeXinterchartoks \XKclosingquote \XKboundary = {\XKclosingquotestop\XKendboundary\XKlatinfont}
+\XeTeXinterchartoks \XKhanja \XKboundary = {\XKendboundary\XKwascjkchar\XKlatinfont\XKignorespaces}
+\XeTeXinterchartoks \XKsmallkana \XKboundary = {\XKendboundary\XKwascjkchar\XKlatinfont\XKignorespaces}
+\XeTeXinterchartoks \XKcjksymbol \XKboundary = {\XKendboundary\XKwascjkchar\XKlatinfont\XKignorespaces}
+\XeTeXinterchartoks \XKcjkopening \XKboundary = {\postcjkopenparen\XKendboundary\XKwascjkchar\XKlatinfont\XKignorespaces}
+\XeTeXinterchartoks \XKcjkclosing \XKboundary = {\postcjkcloseparen\XKendboundary\ifcjtypeset\XKhalfskip\fi\XKwascjkchar\XKlatinfont\XKignorespaces}
+\XeTeXinterchartoks \XKcjkcolon \XKboundary = {\postcjkcolon\XKendboundary\nobreak\XKquatersmallbreak\XKwascjkchar\XKlatinfont\XKignorespaces}
+\XeTeXinterchartoks \XKcjkfullstop \XKboundary = {\postcjkfullstop\XKendboundary\ifcjtypeset\XKfixedhalfskip\fi\XKwascjkchar\XKlatinfont\XKignorespaces}
+\XeTeXinterchartoks \XKcjkliaison \XKboundary = {\XKendboundary\XKwascjkchar\XKlatinfont\XKignorespaces}
+\XeTeXinterchartoks \XKcjkextrastop \XKboundary = {\XKendboundary\XKwascjkchar\XKlatinfont\XKignorespaces}
+\XeTeXinterchartoks \XKhangulsyllable \XKboundary = {\XKendboundary\XKwascjkchar\XKlatinfont\XKignorespaces}
+\XeTeXinterchartoks \XKhangulchosong \XKboundary = {\XKendboundary\XKwascjkchar\XKlatinfont\XKignorespaces}
+\XeTeXinterchartoks \XKhanguljungjong \XKboundary = {\XKendboundary\XKwascjkchar\XKlatinfont\XKignorespaces}
+\XeTeXinterchartoks \XKlatinfullstop \XKboundary = {\XKperiodboxstop\XKendboundary\XKlatinfont}
+\XeTeXinterchartoks \XKlatinquestion \XKboundary = {\XKquestionboxstop\XKendboundary\XKlatinfont}
+\XeTeXinterchartoks \XKlatinexclamation \XKboundary = {\XKexclamationboxstop\XKendboundary\XKlatinfont}
+\XeTeXinterchartoks \XKlatincomma \XKboundary = {\XKcommaboxstop\XKendboundary\XKlatinfont}
+\XeTeXinterchartoks \XKlatincolon \XKboundary = {\XKendboundary\XKlatinfont}
+\XeTeXinterchartoks \XKlatinhyphen \XKboundary = {\XKendboundary\XKlatinfont}
+%\XeTeXinterchartoks \XKboundary \XKboundary = {}
+
+%%% ? cjk colons
+\XeTeXinterchartoks \XKlatinchar \XKcjkcolon = {\XKmaybehanjafont\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKlatinnumber \XKcjkcolon = {\XKmaybehanjafont\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKlatinopening \XKcjkcolon = {\XKmaybehanjafont\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKlatinclosing \XKcjkcolon = {\XKmaybehanjafont\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKopeningquote \XKcjkcolon = {\XKopeningquotestop\XKmaybehanjafont\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKclosingquote \XKcjkcolon = {\XKclosingquotestop\XKmaybehanjafont\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKhanja \XKcjkcolon = {\nobreak\XKquatersmallbreak\XKmaybehanjafont\precjkcolon}
+\XeTeXinterchartoks \XKsmallkana \XKcjkcolon = {\nobreak\XKquatersmallbreak\XKmaybehanjafont\precjkcolon}
+\XeTeXinterchartoks \XKcjksymbol \XKcjkcolon = {\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKcjkopening \XKcjkcolon = {\postcjkopenparen\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKcjkclosing \XKcjkcolon = {\postcjkcloseparen\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKcjkcolon \XKcjkcolon = {\postcjkcolon\nobreak\ifcjtypeset\XKhalfminusquaterskip\else\XKsmallskip\fi\precjkcolon}
+\XeTeXinterchartoks \XKcjkfullstop \XKcjkcolon = {\postcjkfullstop\nobreak\ifcjtypeset\XKthreequaterskip\else\XKsmallskip\fi\precjkcolon}
+\XeTeXinterchartoks \XKcjkliaison \XKcjkcolon = {\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKcjkextrastop \XKcjkcolon = {\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKhangulsyllable \XKcjkcolon = {\XKmaybehanjafont\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKhangulchosong \XKcjkcolon = {\XKmaybehanjafont\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKhanguljungjong \XKcjkcolon = {\XKmaybehanjafont\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKlatinfullstop \XKcjkcolon = {\XKperiodboxstop\XKmaybehanjafont\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKlatinquestion \XKcjkcolon = {\XKquestionboxstop\XKmaybehanjafont\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKlatinexclamation \XKcjkcolon = {\XKexclamationboxstop\XKmaybehanjafont\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKlatincomma \XKcjkcolon = {\XKcommaboxstop\XKmaybehanjafont\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKlatincolon \XKcjkcolon = {\XKmaybehanjafont\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKlatinhyphen \XKcjkcolon = {\XKmaybehanjafont\nobreak\XKquatersmallbreak\precjkcolon}
+\XeTeXinterchartoks \XKboundary \XKcjkcolon = {\XKmaybehanjafont\nobreak\XKquatersmallbreak\XKbeginboundary\precjkcolon}
+
+%%% ? cjk fullstop
+\XeTeXinterchartoks \XKlatinchar \XKcjkfullstop = {\XKmaybehanjafont\precjkfullstop}
+\XeTeXinterchartoks \XKlatinnumber \XKcjkfullstop = {\XKmaybehanjafont\precjkfullstop}
+\XeTeXinterchartoks \XKlatinopening \XKcjkfullstop = {\XKmaybehanjafont\precjkfullstop}
+\XeTeXinterchartoks \XKlatinclosing \XKcjkfullstop = {\XKmaybehanjafont\precjkfullstop}
+\XeTeXinterchartoks \XKopeningquote \XKcjkfullstop = {\XKopeningquotestop\XKmaybehanjafont\precjkfullstop}
+\XeTeXinterchartoks \XKclosingquote \XKcjkfullstop = {\XKclosingquotestop\XKmaybehanjafont\precjkfullstop}
+\XeTeXinterchartoks \XKhanja \XKcjkfullstop = {\XKmaybehanjafont\precjkfullstop}
+\XeTeXinterchartoks \XKsmallkana \XKcjkfullstop = {\XKmaybehanjafont\precjkfullstop}
+\XeTeXinterchartoks \XKcjksymbol \XKcjkfullstop = {\precjkfullstop}
+\XeTeXinterchartoks \XKcjkopening \XKcjkfullstop = {\postcjkopenparen\precjkfullstop}
+\XeTeXinterchartoks \XKcjkclosing \XKcjkfullstop = {\postcjkcloseparen\precjkfullstop}
+\XeTeXinterchartoks \XKcjkcolon \XKcjkfullstop = {\postcjkcolon\nobreak\XKquatersmallbreak\precjkfullstop}
+\XeTeXinterchartoks \XKcjkfullstop \XKcjkfullstop = {\postcjkfullstop\precjkfullstop}
+\XeTeXinterchartoks \XKcjkliaison \XKcjkfullstop = {\precjkfullstop}
+\XeTeXinterchartoks \XKcjkextrastop \XKcjkfullstop = {\precjkfullstop}
+\XeTeXinterchartoks \XKhangulsyllable \XKcjkfullstop = {\XKmaybehanjafont\precjkfullstop}
+\XeTeXinterchartoks \XKhangulchosong \XKcjkfullstop = {\XKmaybehanjafont\precjkfullstop}
+\XeTeXinterchartoks \XKhanguljungjong \XKcjkfullstop = {\XKmaybehanjafont\precjkfullstop}
+\XeTeXinterchartoks \XKlatinfullstop \XKcjkfullstop = {\XKperiodboxstop\XKmaybehanjafont\precjkfullstop}
+\XeTeXinterchartoks \XKlatinquestion \XKcjkfullstop = {\XKquestionboxstop\XKmaybehanjafont\precjkfullstop}
+\XeTeXinterchartoks \XKlatinexclamation \XKcjkfullstop = {\XKexclamationboxstop\XKmaybehanjafont\precjkfullstop}
+\XeTeXinterchartoks \XKlatincomma \XKcjkfullstop = {\XKcommaboxstop\XKmaybehanjafont\precjkfullstop}
+\XeTeXinterchartoks \XKlatincolon \XKcjkfullstop = {\XKmaybehanjafont\precjkfullstop}
+\XeTeXinterchartoks \XKlatinhyphen \XKcjkfullstop = {\XKmaybehanjafont\precjkfullstop}
+\XeTeXinterchartoks \XKboundary \XKcjkfullstop = {\XKmaybehanjafont\XKbeginboundary\precjkfullstop}
+
+%%% ? cjk liaison
+\XeTeXinterchartoks \XKlatinchar \XKcjkliaison = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinnumber \XKcjkliaison = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinopening \XKcjkliaison = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinclosing \XKcjkliaison = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKopeningquote \XKcjkliaison = {\XKopeningquotestop\XKmaybehanjafont}
+\XeTeXinterchartoks \XKclosingquote \XKcjkliaison = {\XKclosingquotestop\XKmaybehanjafont}
+\XeTeXinterchartoks \XKhanja \XKcjkliaison = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKsmallkana \XKcjkliaison = {\XKmaybehanjafont}
+%\XeTeXinterchartoks \XKcjksymbol \XKcjkliaison = {}
+\XeTeXinterchartoks \XKcjkopening \XKcjkliaison = {\postcjkopenparen}
+\XeTeXinterchartoks \XKcjkclosing \XKcjkliaison = {\postcjkcloseparen\nobreak\XKhalfsmallbreak}
+\XeTeXinterchartoks \XKcjkcolon \XKcjkliaison = {\postcjkcolon\nobreak\XKquatersmallbreak}
+\XeTeXinterchartoks \XKcjkfullstop \XKcjkliaison = {\postcjkfullstop\nobreak\XKfixedhalfskip}
+%\XeTeXinterchartoks \XKcjkliaison \XKcjkliaison = {}
+%\XeTeXinterchartoks \XKcjkextrastop \XKcjkliaison = {}
+\XeTeXinterchartoks \XKhangulsyllable \XKcjkliaison = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKhangulchosong \XKcjkliaison = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKhanguljungjong \XKcjkliaison = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinfullstop \XKcjkliaison = {\XKperiodboxstop\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinquestion \XKcjkliaison = {\XKquestionboxstop\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinexclamation \XKcjkliaison = {\XKexclamationboxstop\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatincomma \XKcjkliaison = {\XKcommaboxstop\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatincolon \XKcjkliaison = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinhyphen \XKcjkliaison = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKboundary \XKcjkliaison = {\XKmaybehanjafont\XKbeginboundary}
+
+%%% ? cjk quesiton/exclamation
+\XeTeXinterchartoks \XKlatinchar \XKcjkextrastop = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinnumber \XKcjkextrastop = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinopening \XKcjkextrastop = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinclosing \XKcjkextrastop = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKopeningquote \XKcjkextrastop = {\XKopeningquotestop\XKmaybehanjafont}
+\XeTeXinterchartoks \XKclosingquote \XKcjkextrastop = {\XKclosingquotestop\XKmaybehanjafont}
+\XeTeXinterchartoks \XKhanja \XKcjkextrastop = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKsmallkana \XKcjkextrastop = {\XKmaybehanjafont}
+%\XeTeXinterchartoks \XKcjksymbol \XKcjkextrastop = {}
+\XeTeXinterchartoks \XKcjkopening \XKcjkextrastop = {\postcjkopenparen}
+\XeTeXinterchartoks \XKcjkclosing \XKcjkextrastop = {\postcjkcloseparen\nobreak\XKhalfsmallbreak}
+\XeTeXinterchartoks \XKcjkcolon \XKcjkextrastop = {\postcjkcolon\nobreak\XKquatersmallbreak}
+\XeTeXinterchartoks \XKcjkfullstop \XKcjkextrastop = {\postcjkfullstop\nobreak\XKfixedhalfskip}
+%\XeTeXinterchartoks \XKcjkliaison \XKcjkextrastop = {}
+%\XeTeXinterchartoks \XKcjkextrastop \XKcjkextrastop = {}
+\XeTeXinterchartoks \XKhangulsyllable \XKcjkextrastop = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKhangulchosong \XKcjkextrastop = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKhanguljungjong \XKcjkextrastop = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinfullstop \XKcjkextrastop = {\XKperiodboxstop\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinquestion \XKcjkextrastop = {\XKquestionboxstop\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinexclamation \XKcjkextrastop = {\XKexclamationboxstop\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatincomma \XKcjkextrastop = {\XKcommaboxstop\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatincolon \XKcjkextrastop = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKlatinhyphen \XKcjkextrastop = {\XKmaybehanjafont}
+\XeTeXinterchartoks \XKboundary \XKcjkextrastop = {\XKmaybehanjafont\XKbeginboundary}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% font setting
+\def\XKlatinfont{\ifcase\XKcurrentfont\else\XK@latinfont\fi}
+\def\XKhangulfont
+ {\ifcase\XKcurrentfont\XKstoreprevfont\XK@hangulfont\or\or\XK@hangulfont\fi}
+\def\XKhanjafont
+ {\ifcase\XKcurrentfont\XKstoreprevfont\XK@hanjafont\or\XK@hanjafont\fi}
+\def\XK@latinfont {\chardef\XKcurrentfont\z@\XKrestoreprevfont}
+\def\XK@hangulfont{\chardef\XKcurrentfont\@ne\hangfnt}
+\def\XK@hanjafont {\chardef\XKcurrentfont\tw@\hanifnt}
+\chardef\XKcurrentfont\z@
+
+\ifcsname selectfont\endcsname
+ \def\XKstoreprevfont {\edef\XKprevfont{\f@family}}
+ \def\XKrestoreprevfont{\fontfamily\XKprevfont\selectfont}
+\else
+ \def\XKstoreprevfont{\edef\XKrestoreprevfont{\the\font}}
+\fi
+
+\protected\def\latincjksymbols {\let\XKmaybehanjafont\XKlatinfont}
+\protected\def\hangulcjksymbols {\let\XKmaybehanjafont\XKhangulfont}
+\protected\def\hanjacjksymbols {\let\XKmaybehanjafont\XKhanjafont}
+\protected\def\prevfontcjksymbols {\let\XKmaybehanjafont\empty}
+
+\protected\def\latinalphs {\let\XKmaybelatinfont\XKlatinfont}
+\protected\def\hangulalphs {\let\XKmaybelatinfont\XKhangulfont}
+\protected\def\hanjaalphs {\let\XKmaybelatinfont\XKhanjafont}
+\protected\def\prevfontalphs{\let\XKmaybelatinfont\empty}
+
+\protected\def\latinnums {\let\XKlatinnumfont\XKlatinfont}
+\protected\def\hangulnums {\let\XKlatinnumfont\XKhangulfont}
+\protected\def\hanjanums {\let\XKlatinnumfont\XKhanjafont}
+\protected\def\prevfontnums {\let\XKlatinnumfont\empty}
+
+\protected\def\latinparens {\let\XKlatinparenfont\XKlatinfont}
+\protected\def\hangulparens {\let\XKlatinparenfont\XKhangulfont}
+\protected\def\hanjaparens {\let\XKlatinparenfont\XKhanjafont}
+\protected\def\prevfontparens{\let\XKlatinparenfont\empty}
+
+\protected\def\latinquotes {\let\XKlatinquotefont\XKlatinfont}
+\protected\def\hangulquotes {\let\XKlatinquotefont\XKhangulfont}
+\protected\def\hanjaquotes {\let\XKlatinquotefont\XKhanjafont}
+\protected\def\prevfontquotes{\let\XKlatinquotefont\empty}
+
+\protected\def\latinhyphens {\let\XKhyphenfont\XKlatinfont}
+\protected\def\hangulhyphens {\let\XKhyphenfont\XKhangulfont}
+\protected\def\hanjahyphens {\let\XKhyphenfont\XKhanjafont}
+\protected\def\prevfonthyphens {\let\XKhyphenfont\empty}
+
+\protected\def\latincolons {\let\XKcolonfont\XKlatinfont}
+\protected\def\hangulcolons {\let\XKcolonfont\XKhangulfont}
+\protected\def\hanjacolons {\let\XKcolonfont\XKhanjafont}
+\protected\def\prevfontcolons {\let\XKcolonfont\empty}
+
+\protected\def\latinpuncts {\let\XKpunctsfont\XKlatinfont}
+\protected\def\hangulpuncts {\let\XKpunctsfont\XKhangulfont}
+\protected\def\hanjapuncts {\let\XKpunctsfont\XKhanjafont}
+\protected\def\prevfontpuncts {\let\XKpunctsfont\empty}
+
+\protected\def\latinmarks
+ {\latinalphs \latinnums \latinpuncts \latinquotes
+ \latinparens \latinhyphens \latincolons \latincjksymbols}
+\protected\def\hangulmarks
+ {\hangulalphs\hangulnums\hangulpuncts\hangulquotes
+ \hangulparens\hangulhyphens\hangulcolons \hangulcjksymbols}
+\protected\def\hanjamarks
+ {\hanjaalphs \hanjanums \hanjapuncts \hanjaquotes
+ \hanjaparens \hanjahyphens \hanjacolons \hanjacjksymbols}
+\protected\def\prevfontmarks
+ {\prevfontalphs\prevfontnums\prevfontparens\prevfontquotes
+ \prevfonthyphens\prevfontcolons\prevfontpuncts\prevfontcjksymbols}
+
+\latinmarks
+\prevfontpuncts % empty default font in case of latin . , ? !
+\prevfonthyphens % empty default font in case of hyphens
+\prevfontcolons % empty default font in case of latin ; :
+\hangulcjksymbols % cjk symbols in hangul font
+
+% simple command to typeset hanja by hangul font
+\protected\def\hanjabyhangulfont{\let\XKhanjafont\XKhangulfont}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% options regarding micro-spacing
+\def\xetexkohu {0.06em }
+\def\xetexkointerhchar {}
+\def\xetexkolowerperiod {}
+\def\xetexkolowerquestion {}
+\def\xetexkolowerexclamation{}
+\def\xetexkolowercomma {}
+\def\xetexkopreperiodkern {}
+\def\xetexkopostperiodkern {}
+\def\xetexkoprequestionkern {}
+\def\xetexkopostquestionkern{}
+\def\xetexkopreexclamationkern {}
+\def\xetexkopostexclamationkern{}
+\def\xetexkoprecommakern {}
+\def\xetexkopostcommakern {}
+\def\xetexkoquotewidth {}
+\def\xetexkoquoteraise {}
+\def\xetexkopostmathskip{\dimexpr (\xetexkohu + \z@) * \tw@\relax}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% `` '' or ` '
+\def\XKopeningquotestart{%
+ \chardef\XK@make@quotebox\z@
+ \ifx\empty\xetexkoquotewidth\empty
+ \ifx\empty\xetexkoquoteraise\empty \else
+ \chardef\XK@make@quotebox\tw@
+ \fi
+ \else
+ \chardef\XK@make@quotebox\@ne
+ \fi
+ \ifnum\XK@make@quotebox>\z@
+ \leavevmode
+ \ifnum\XK@make@quotebox=\tw@ \raise\xetexkoquoteraise \fi
+ \hbox
+ \ifnum\XK@make@quotebox=\@ne to\xetexkoquotewidth \fi
+ \bgroup\hss
+ \fi
+}
+\def\XKopeningquotestop{%
+ \ifnum\XK@make@quotebox>\z@
+ \egroup\nobreak\hskip\z@
+ \fi
+}
+\def\XKclosingquotestart{%
+ \chardef\XK@make@quotebox\z@
+ \ifx\empty\xetexkoquotewidth\empty
+ \ifx\empty\xetexkoquoteraise\empty \else
+ \chardef\XK@make@quotebox\tw@
+ \fi
+ \else
+ \chardef\XK@make@quotebox\@ne
+ \fi
+ \ifnum\XK@make@quotebox>\z@
+ \leavevmode\nobreak\hskip\z@
+ \ifnum\XK@make@quotebox=\tw@ \raise\xetexkoquoteraise \fi
+ \hbox
+ \ifnum\XK@make@quotebox=\@ne to\xetexkoquotewidth \fi
+ \bgroup
+ \fi
+}
+\def\XKclosingquotestop{%
+ \ifnum\XK@make@quotebox>\z@
+ \hss\egroup
+ \fi
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% . , ? !
+\def\XKwaslatinchar{\chardef\XK@after@cjk@punct\z@}
+\def\XKwascjkchar {\chardef\XK@after@cjk@punct\@ne}
+\XKwaslatinchar
+\chardef\XK@inpunctuationbox\z@
+
+\def\XKperiodboxstart{% .
+ \ifnum\XK@after@cjk@punct>\z@
+ \ifx\empty\xetexkolowerperiod\empty
+ \else
+ \leavevmode\lower\xetexkolowerperiod\hbox\bgroup
+ \chardef\XK@inpunctuationbox\@ne
+ \fi
+ \fi
+ \ifnum\XKcurrentfont>\z@
+ \ifx\empty\xetexkopreperiodkern\empty
+ \else
+ \kern\xetexkopreperiodkern\relax
+ \fi
+ \fi
+}
+\def\XKperiodboxstop{%
+ \ifnum\XKcurrentfont>\z@
+ \ifx\empty\xetexkopostperiodkern\empty
+ \else
+ \vrule width\xetexkopostperiodkern height\z@ depth\z@
+ \fi
+ \fi
+ \ifnum\XK@inpunctuationbox=\@ne
+ \global\count@\spacefactor\egroup\spacefactor\count@
+ \fi
+}
+
+\def\XKquestionboxstart{% ?
+ \ifnum\XK@after@cjk@punct>\z@
+ \ifx\empty\xetexkolowerquestion\empty
+ \else
+ \leavevmode\lower\xetexkolowerquestion\hbox\bgroup
+ \chardef\XK@inpunctuationbox\@ne
+ \fi
+ \fi
+ \ifnum\XKcurrentfont>\z@
+ \ifx\empty\xetexkoprequestionkern\empty
+ \else
+ \kern\xetexkoprequestionkern\relax
+ \fi
+ \fi
+}
+\def\XKquestionboxstop{%
+ \ifnum\XKcurrentfont>\z@
+ \ifx\empty\xetexkopostquestionkern\empty
+ \else
+ \vrule width\xetexkopostquestionkern height\z@ depth\z@
+ \fi
+ \fi
+ \ifnum\XK@inpunctuationbox=\@ne
+ \global\count@\spacefactor\egroup\spacefactor\count@
+ \fi
+}
+
+\def\XKexclamationboxstart{% !
+ \ifnum\XK@after@cjk@punct>\z@
+ \ifx\empty\xetexkolowerexclamation\empty
+ \else
+ \leavevmode\lower\xetexkolowerexclamation\hbox\bgroup
+ \chardef\XK@inpunctuationbox\@ne
+ \fi
+ \fi
+ \ifnum\XKcurrentfont>\z@
+ \ifx\empty\xetexkopreexclamationkern\empty
+ \else
+ \kern\xetexkopreexclamationkern\relax
+ \fi
+ \fi
+}
+\def\XKexclamationboxstop{%
+ \ifnum\XKcurrentfont>\z@
+ \ifx\empty\xetexkopostexclamationkern\empty
+ \else
+ \vrule width\xetexkopostexclamationkern height\z@ depth\z@
+ \fi
+ \fi
+ \ifnum\XK@inpunctuationbox=\@ne
+ \global\count@\spacefactor\egroup\spacefactor\count@
+ \fi
+}
+
+\def\XKcommaboxstart{% ,
+ \ifnum\XK@after@cjk@punct>\z@
+ \ifx\empty\xetexkolowercomma\empty
+ \else
+ \leavevmode\lower\xetexkolowercomma\hbox\bgroup
+ \chardef\XK@inpunctuationbox\@ne
+ \fi
+ \fi
+ \ifnum\XKcurrentfont>\z@
+ \ifx\empty\xetexkoprecommakern\empty
+ \else
+ \kern\xetexkoprecommakern\relax
+ \fi
+ \fi
+}
+\def\XKcommaboxstop{%
+ \ifnum\XKcurrentfont>\z@
+ \ifx\empty\xetexkopostcommakern\empty
+ \else
+ \vrule width\xetexkopostcommakern height\z@ depth\z@
+ \fi
+ \fi
+ \ifnum\XK@inpunctuationbox=\@ne
+ \global\count@\spacefactor\egroup\spacefactor\count@
+ \fi
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% cjk openings and closings
+%%% considering bounding box
+\def\precjkopenparen{\futurelet\@let@token\precjkopenparen@}
+\def\precjkopenparen@{%
+ \@josa@char@to@number\@let@token\count@
+ \dimen@\XeTeXglyphbounds\@ne\XeTeXcharglyph\count@
+ \dimen@\dimexpr\fontcharwd\font\count@-\dimen@\relax
+ \ifdim\dimen@<.5em \dimen@.5em \else\advance\dimen@.1em \fi
+ \leavevmode\hbox to\dimen@\bgroup\hss
+ \XeTeXinterchartoks\XKboundary\XKcjkopening = {\empty}}
+\def\postcjkopenparen{\egroup}
+
+\def\precjkcloseparen{\futurelet\@let@token\precjkcloseparen@}
+\def\precjkcloseparen@{%
+ \@josa@char@to@number\@let@token\count@
+ \dimen@\XeTeXglyphbounds\thr@@\XeTeXcharglyph\count@
+ \dimen@\dimexpr\fontcharwd\font\count@-\dimen@\relax
+ \ifdim\dimen@<.5em \dimen@.5em \else\advance\dimen@.1em \fi
+ \leavevmode\hbox to\dimen@\bgroup
+ \XeTeXinterchartoks\XKboundary\XKcjkclosing = {\empty}}
+\def\postcjkcloseparen{\hss\egroup}
+
+\def\precjkfullstop{\futurelet\@let@token\precjkfullstop@}
+\def\precjkfullstop@{%
+ \@josa@char@to@number\@let@token\count@
+ \dimen@\XeTeXglyphbounds\thr@@\XeTeXcharglyph\count@
+ \dimen@\dimexpr\fontcharwd\font\count@-\dimen@\relax
+ \ifdim\dimen@<.5em \dimen@.5em \else\advance\dimen@.1em \fi
+ \leavevmode\hbox to\dimen@\bgroup
+ \XeTeXinterchartoks\XKboundary\XKcjkfullstop = {\empty}}
+\def\postcjkfullstop{\hss\egroup}
+
+\def\precjkcolon {\leavevmode\hbox to 0.5em\bgroup\hss}
+\def\postcjkcolon{\hss\egroup}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% various spaces
+\def\XKzeroskip {\hskip\z@ plus .1em minus .1ex }
+\def\XKsmallskip
+ {\hskip\dimexpr (\xetexkohu + \z@) * \tw@ \relax plus .1ex minus .05ex }
+\def\XKsmallsmallskip
+ {\hskip\dimexpr \xetexkohu + \z@ \relax plus .1ex minus .05ex }
+\def\XKxkanjiskip {\hskip0.25em plus0.15em minus0.06em }
+\def\XKhalfskip {\hskip0.5em minus 0.5em }
+\def\XKfixedhalfskip {\hskip0.5em\relax}
+\def\XKquaterskip {\hskip0.25em minus 0.25em }
+\def\XKhalfminusquaterskip {\hskip0.5em minus 0.25em }
+\def\XKthreequaterskip {\hskip0.75em minus 0.25em }
+
+\def\XKinterhangulbreak
+ {\ifcjtypeset\else\penalty50 \fi
+ \hskip\dimexpr\xetexkointerhchar + \z@\relax plus .1ex minus .05ex }
+\def\XKinterhanjabreak {\ifcjtypeset\else\penalty50 \fi \XKzeroskip}
+\def\XKcjklatinbreak {\ifcjtypeset\XKxkanjiskip\else\XKsmallskip\fi}
+\def\XKcjklatinsmallbreak {\ifcjtypeset\XKxkanjiskip\else\XKsmallsmallskip\fi}
+\def\XKhalfsmallbreak {\ifcjtypeset\XKhalfskip\else\XKsmallsmallskip\fi}
+\def\XKquatersmallbreak {\ifcjtypeset\XKquaterskip\else\XKsmallskip\fi}
+
+\def\XKafterboundaryskip{%
+ \ifcase\lastnodetype
+ \or \XKzeroskip % 1. hbox: especially after indent box
+ \or\or\or\or\or\or\or
+ \or \XKzeroskip % 9. whatsit
+ \or \XKcjkmathbreak % 10. math
+ \or
+ \or \XKzeroskip % 12. kern
+ \fi}
+%% users can redefine XKcjkmathbreak
+\def\XKcjkmathbreak{%
+ \ifcjtypeset\XKxkanjiskip
+ \else\hskip\xetexkopostmathskip plus .1ex minus .05ex \fi}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% for autojosa, get last chars
+\let\XK@last@char=0
+\let\XK@lastlast@char\XK@last@char
+\let\XK@lastlastlast@char\XK@lastlast@char
+
+\def\XKlastchar{\futurelet\@let@token\XK@save@last@char}
+\def\XK@save@last@char{%
+ \global\let\XK@lastlastlast@char\XK@lastlast@char
+ \global\let\XK@lastlast@char \XK@last@char
+ \global\let\XK@last@char \@let@token
+}
+\def\XKcjklastchar{\afterassignment\XK@cjk@save@last@char\let\@let@token= }
+\def\XK@cjk@save@last@char{%
+ \XK@save@last@char
+ % and supress char orphan
+ \toks@{\@let@token}% 가
+ \afterassignment\XK@check@nextchar\let\XK@next@=
+}
+\def\XK@check@nextchar{% 가<par> 가. 가。 가<sp>
+ \toks@\expandafter{\the\toks@\XK@next@}%
+ \ifx\XK@next@\par
+ \let\next\XK@nobreak@the@toks@
+ \else\ifx\@sptoken\XK@next@
+ \let\next\XK@afterassign@getnext@
+ \else\ifx.\XK@next@
+ \let\next\XK@afterassign@getnext@
+ \else\ifx^^^^3002\XK@next@
+ \let\next\XK@afterassign@getnext@
+ \else\ifx^^^^ff0e\XK@next@
+ \let\next\XK@afterassign@getnext@
+ \else
+ \let\next\XK@normal@the@toks@
+ \fi\fi\fi\fi\fi
+ \next
+}
+\def\XK@check@nextchar@{% 가.<par> 가.<sp>
+ \toks@\expandafter{\the\toks@\XK@next@@}%
+ \ifx\XK@next@@\par
+ \expandafter\XK@nobreak@the@toks@
+ \else
+ \ifx\XK@next@@\@sptoken
+ \expandafter\expandafter\expandafter\futurelet
+ \expandafter\expandafter\expandafter\XK@next@@@
+ \expandafter\expandafter\expandafter\XK@check@nextchar@@
+ \else
+ \expandafter\expandafter\expandafter\XK@normal@the@toks@
+ \fi
+ \fi
+}
+\def\XK@check@nextchar@@{% 가.<sp><par>
+ \ifx\XK@next@@@\par\XK@nobreak\fi \the\toks@
+}
+\def\XK@afterassign@getnext@{%
+ \afterassignment\XK@check@nextchar@\let\XK@next@@=
+}
+\def\XK@normal@the@toks@{\the\toks@}
+\def\XK@nobreak@the@toks@{\XK@nobreak\the\toks@}
+\def\XK@nobreak{\skip@\lastskip\unskip\unpenalty\nobreak\hskip\skip@}
+
+\def\XKbeginboundary{% empty interchartoks crashes xetex!!!
+ \XeTeXinterchartoks\XKboundary\XKlatinnumber = {\empty}%
+ \XeTeXinterchartoks\XKboundary\XKlatinchar = {\empty}%
+ \XeTeXinterchartoks\XKboundary\XKhanja = {\empty}%
+ \XeTeXinterchartoks\XKboundary\XKhangulsyllable = {\empty}%
+ \XeTeXinterchartoks\XKboundary\XKhanguljungjong = {\empty}%
+ \XeTeXinterchartoks\XKboundary\XKhangulchosong = {\empty}%
+}
+\def\XKendboundary{%
+ \XeTeXinterchartoks\XKboundary\XKlatinnumber = {\XKundoignorespaces\XKlatinnumfont\XKbeginboundary\XKlastchar}%
+ \XeTeXinterchartoks\XKboundary\XKlatinchar = {\XKundoignorespaces\XKmaybelatinfont\XKbeginboundary\XKlastchar}%
+ \XeTeXinterchartoks\XKboundary\XKhanja = {\XKhanjafont\XKafterboundaryskip\XKbeginboundary\XKcjklastchar}%
+ \XeTeXinterchartoks\XKboundary\XKhangulsyllable = {\XKhangulfont\XKafterboundaryskip\XKbeginboundary\XKcjklastchar}%
+ \XeTeXinterchartoks\XKboundary\XKhanguljungjong = {\XKhangulfont\XKafterboundaryskip\XKbeginboundary\XKlastchar}%
+ \XeTeXinterchartoks\XKboundary\XKhangulchosong = {\XKhangulfont\XKafterboundaryskip\XKbeginboundary\XKlastchar}%
+}
+
+%%%%%%%%%%%%%%
+% etc commands
+\let\enablejamoautojosa\relax % enabled already
+
+\protected\def\disableautojosa{%
+ \let\XKbeginboundary\relax
+ \let\XKendboundary\relax
+ \let\XKlastchar\relax
+ \let\XKcjklastchar\relax
+ \let\XK@save@last@char\relax
+}
+
+\protected\def\disablekoreanfonts{%
+ \let\XKlatinfont \relax
+ \let\XKhangulfont \relax
+ \let\XKhanjafont \relax
+ \let\XKmaybelatinfont \relax
+ \let\XKpunctsfont \relax
+ \let\XKlatinnumfont \relax
+ \let\XKlatinparenfont \relax
+ \let\XKlatinquotefont \relax
+ \let\XKhyphenfont \relax
+ \let\XKcolonfont \relax
+}
+
+
+\protected\def\disablecjksymbolspacing{% for natural width of 。「」 etc
+ \let\precjkopenparen \relax \let\postcjkopenparen \relax
+ \let\precjkcloseparen\relax \let\postcjkcloseparen\relax
+ \let\precjkfullstop \relax \let\postcjkfullstop \relax
+ \let\precjkcolon \relax \let\postcjkcolon \relax
+}
+
+\protected\def\disablehangulspacing{% all micro-spacing is 0pt
+ \disablecjksymbolspacing
+ \let\XKopeningquotestart \relax \let\XKopeningquotestop \relax
+ \let\XKclosingquotestart \relax \let\XKclosingquotestop \relax
+ \let\XKperiodboxstart \relax \let\XKperiodboxstop \relax
+ \let\XKquestionboxstart \relax \let\XKquestionboxstop \relax
+ \let\XKexclamationboxstart \relax \let\XKexclamationboxstop \relax
+ \let\XKcommaboxstart \relax \let\XKcommaboxstop \relax
+ \let\XKwaslatinchar \relax \let\XKwascjkchar \relax
+ \let\XKinterhangulbreak \XKzeroskip
+ \let\XKinterhanjabreak \XKzeroskip
+ \let\XKcjklatinbreak \XKzeroskip
+ \let\XKcjklatinsmallbreak \XKzeroskip
+ \let\XKhalfsmallbreak \XKzeroskip
+ \let\XKfixedhalfskip \XKzeroskip
+ \let\XKquatersmallbreak \XKzeroskip
+ \let\XKhalfminusquaterskip \XKzeroskip
+ \let\XKhalfskip \XKzeroskip
+ \let\XKsmallskip \XKzeroskip
+ \let\XKthreequaterskip \XKzeroskip
+ \let\XKcjkmathbreak \XKzeroskip
+}
+
+\protected\def\disablehangulspacingandlinebreak{% all micro-spacing is \relax
+ \let\XKzeroskip\relax
+ \disablehangulspacing
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% for old and C/J documents
+\newif\ifcjtypeset
+
+% try to remove space skip
+\def\XKignorespaces{}
+\def\XKundoignorespaces{}
+
+\def\XK@japanese{\cjtypesettrue
+ %% killing spaces after cjk chars
+ \def\XKignorespaces{\futurelet\XK@let@token\XK@ignorespaces}%
+ \def\XK@ignorespaces{\ifx\XK@let@token\@sptoken\kern-1sp\kern1sp\ignorespaces\fi}%
+ \def\XKundoignorespaces{\ifnum\lastkern=\@ne\@sptoken\fi}%
+ %% cjksymbols
+ \hanjacjksymbols
+ %% spaceskip is equal to xkanjiskip
+ \spaceskip.25em plus.15em minus.06em
+}
+\protected\def\japanese{\XK@japanese\parindent1em }
+\protected\def\Tchinese{\XK@japanese\parindent2em }
+\protected\def\Schinese{\XK@japanese\parindent2em
+ % these glyphs in simplified chinese fonts are left-aligned.
+ \XeTeXcharclass "FF1F = \XKcjkfullstop % ?
+ \XeTeXcharclass "FF01 = \XKcjkfullstop % !
+ \XeTeXcharclass "FF1A = \XKcjkfullstop % :
+ \XeTeXcharclass "FF1B = \XKcjkfullstop % ;
+ }
+\let\chinese\Schinese
+
+%% inhibitglue
+\let\inhibitglue\relax
+
+%%%%%%%%%%%%%%%%%%%%%%
+%% hangul in math mode -- general
+\def\setmathhangulblock#1#2{%
+ \count@ "#1
+ \loop
+ \XeTeXmathcode\count@ = 7 \symmathhangul \count@
+ \ifnum\count@<"#2
+ \advance\count@\@ne \repeat}
+
+%%%%%%%%%%%
+%% for ulem
+\def\xetexkoulemsupport{%
+ \UL@hook\expandafter{\the\UL@hook
+ \let\XKcjklastchar\XKlastchar
+ \def\ulem@XKrestoreprevfont{\let\XKprevfont\ulem@XKprevfont}%
+ \let\ulem@XK@hangulfont\XK@hangulfont
+ \let\ulem@XK@hanjafont\XK@hanjafont
+ \def\XK@hangulfont{\hangfnt\global\let\ulem@XKprevfont\XKprevfont
+ \aftergroup\aftergroup\aftergroup\ulem@XK@hangulfont
+ \aftergroup\aftergroup\aftergroup\ulem@XKrestoreprevfont}%
+ \def\XK@hanjafont{\hanifnt\global\let\ulem@XKprevfont\XKprevfont
+ \aftergroup\aftergroup\aftergroup\ulem@XK@hanjafont
+ \aftergroup\aftergroup\aftergroup\ulem@XKrestoreprevfont}%
+}}
+
+%%%%%%%%%%
+%% dotemph
+\def\dotemphraise{0.4em }
+\ifcsname bfseries\endcsname
+ \def\dotemphchar{\bfseries ^^^^02d9}
+\else
+ \def\dotemphchar{\bf \char95 }
+\fi
+
+\protected\def\dotemph#1{%
+ \leavevmode
+ \begingroup
+ \def\XKcjklastchar{\futurelet\@let@token\XK@dotemph@last@char}%
+ #1\relax
+ \endgroup}
+
+\def\XK@dotemph@last@char{\XK@save@last@char\dot@@@emph}
+
+\def\dot@@@emph#1{%
+ \setbox\z@\hbox{#1}\dimen@\wd\z@
+ \setbox\z@\hbox to\dimen@{\hss\dotemphchar\hss}\ht\z@\z@\dp\z@\z@
+ \rlap{\raise\dotemphraise\box\z@}\nobreak
+ #1}
+
+%%% declare to use interchartoken
+\XeTeXinterchartokenstate\@ne
+
+%%% frenchspacing is default
+\frenchspacing
+
+\def\hellipsis{^^^^2026^^^^2026}
+
+\endinput
diff --git a/Master/texmf-dist/tex/xetex/xetexko/xetexko-vertical.sty b/Master/texmf-dist/tex/xetex/xetexko/xetexko-vertical.sty
new file mode 100644
index 00000000000..0e82f313a23
--- /dev/null
+++ b/Master/texmf-dist/tex/xetex/xetexko/xetexko-vertical.sty
@@ -0,0 +1,109 @@
+% $Id: xetexko-vertical.sty,v 1.12 2012/12/13 09:13:00 nomos Exp $
+%
+% Copyright (c) 2013 Dohyun Kim <nomos at ktug org>
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2006/05/20 or later.
+
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname ProvidesPackage\endcsname\relax\else
+ \ProvidesPackage{xetexko-vertical}
+ [2013/03/27 v2.0 Vertical environment for XeTeX-ko]
+\fi
+
+\unless\ifcsname @tempdima\endcsname\newdimen\@tempdima\fi
+\unless\ifcsname @tempdimb\endcsname\newdimen\@tempdimb\fi
+\unless\ifcsname @tempdimc\endcsname\newdimen\@tempdimc\fi
+\unless\ifcsname AtBeginDocument\endcsname\def\AtBeginDocument#1{#1}\fi
+\unless\ifcsname @onlypreamble\endcsname\def\@onlypreamble#1{}\fi
+
+% do not veticalize headline/footline
+\protected\def\verticaltypesetting{%
+ \AtBeginDocument{\XK@vertical@spacing}%
+ \maxdepth\z@
+ \dimen@\textwidth
+ \textwidth\textheight
+ \textheight\dimen@
+ \edef\@outputpage{%
+ \unexpanded{\xetexko@rotatebox\@outputbox\textwidth\textheight}%
+ \unexpanded\expandafter{\@outputpage}}%
+}
+\@onlypreamble\verticaltypesetting
+
+\def\xetexko@rotatebox#1{%
+ \ifvbox#1\count@\@ne\else\count@\z@\fi
+ \dimen@\wd#1\dimen@ii\dimexpr\ht#1+\dp#1\relax
+ \setbox#1\ifnum\count@=\@ne
+ \vbox to\dimen@\bgroup\hbox to\dimen@ii\bgroup\hfil\else
+ \hbox to\dimen@ii\bgroup\vbox to\dimen@\bgroup\fi
+ \wd#1\z@ \ht#1\z@ \dp#1\z@
+ \special{x:gsave}\special{x:rotate -90}\box#1\special{x:grestore}%
+ \ifnum\count@=\@ne\egroup\vfil\else\vfil\egroup\hfil\fi\egroup
+}
+
+% users can declare vertical EM size, which might be different from 1em.
+\newdimen\verticalem
+
+\def\XK@vertical@spacing{%
+ \ifnum\verticalem > \z@
+ \def\XK@vert@half@em{.5\verticalem}%
+ \else
+ \def\XK@vert@half@em{.5em}%
+ \fi
+ \def\precjkopenparen {\leavevmode\hbox to\XK@vert@half@em\bgroup\hss}%
+ \def\precjkcloseparen{\leavevmode\hbox to\XK@vert@half@em\bgroup}%
+ \def\precjkfullstop {\leavevmode\hbox to\XK@vert@half@em\bgroup}%
+ \spaceskip\XK@vert@half@em plus\XK@vert@half@em\relax
+ \parindent\XK@vert@half@em \parindent2\parindent
+}
+
+\protected\long\def\vertical#1{%
+ \setbox\z@\vbox\bgroup
+ \hsize=#1%
+ \leftskip\z@
+ \rightskip\z@
+ \parindent\z@
+ \everypar{}%
+ \XK@vertical@spacing
+}
+
+\protected\def\endvertical{%
+ \egroup
+ \@tempdima\wd\z@
+ \@tempdimb\ht\z@
+ \@tempdimc\dp\z@
+ \setbox\z@\hbox{%
+ \kern\dimexpr\@tempdimb+0.5em\relax
+ \wd\z@\z@
+ \ht\z@\z@
+ \dp\z@\z@
+ \special{x:gsave}%
+ \special{x:rotate -90}%
+ \box\z@
+ \special{x:grestore}}%
+ \wd\z@\dimexpr\@tempdimb+\@tempdimc\relax
+ \ht\z@\z@
+ \dp\z@\z@
+ \leavevmode
+ \raise\dimexpr\@tempdima-\@tempdimc\relax\box\z@
+}
+
+\protected\def\vertlatin#1{\leavevmode\lower0.5ex\hbox{\latinmarks #1}}
+
+\endinput
+
+%% example:
+%\newhangulfontfamily\myvertfont
+% [Script=Hangul,Vertical=RotatedGlyphs]
+% {HCR Dotum LVT}
+%\verticalem=1.05em
+%\begin{vertical}{12em}\myvertfont
+% 세로쓰기 영역.
+% #1 = 세로길이
+%\end{vertical}
+
diff --git a/Master/texmf-dist/tex/xetex/xetexko/xetexko.sty b/Master/texmf-dist/tex/xetex/xetexko/xetexko.sty
new file mode 100644
index 00000000000..5787c502425
--- /dev/null
+++ b/Master/texmf-dist/tex/xetex/xetexko/xetexko.sty
@@ -0,0 +1,121 @@
+% $Id: xetexko.sty,v 1.7 2012/10/27 10:04:19 nomos Exp $
+%
+% Copyright (c) 2013 Dohyun Kim <nomos at ktug org>
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2006/05/20 or later.
+
+\ifx\ProvidesPackage\relax \let\ProvidesPackage\undefined \fi
+\ifx\ProvidesPackage\undefined
+ \chardef\catcodeofATcharacter\catcode`@
+ \catcode`\@ = 11
+
+ \input xetexko-space.sty
+ \input xetexko-josa.sty
+ \input xetexko-vertical.sty
+
+ % 한글 폰트
+ \def\hangulfont{\font\hangfnt}
+ \def\hanjafont {\font\hanifnt}
+ %\hangulfont="[UnBatang]:mapping=tex-text" at 10pt
+ %\let\hanifnt\hangfnt
+ % 수식 한글
+ \newfam\symmathhangul
+ \def\setmathhangulfont#1#{\setmathhangulfont@}
+ \def\setmathhangulfont@#1{%
+ \font\tenhangul = "#1" at 10pt
+ \font\sevenhangul = "#1" at 7pt
+ \font\fivehangul = "#1" at 5pt
+ \textfont\symmathhangul = \tenhangul
+ \scriptfont\symmathhangul = \sevenhangul
+ \scriptscriptfont\symmathhangul = \fivehangul
+ }
+ \setmathhangulblock{AC00}{D7A3}
+ %\setmathhangulfont{[UnBatang]}
+
+ \catcode`\@\catcodeofATcharacter
+ \expandafter\endinput
+\fi
+
+\ProvidesPackage{xetexko}[2013/03/27 v2.0 Typesetting Korean with XeLaTeX]
+
+\newif\if@hangul
+\newif\if@hanja
+\newif\if@unfonts
+\DeclareOption{hangul}{\@hangultrue}
+\DeclareOption{hanja}{\@hangultrue\@hanjatrue}
+\DeclareOption{unfonts}{\@unfontstrue}
+\ProcessOptions\relax
+
+\RequirePackage{xetexko-space}
+\RequirePackage{xetexko-josa}
+\RequirePackage{xetexko-font}
+\RequirePackage{xetexko-vertical}
+
+\RequirePackage{kolabels-utf}
+\if@hangul \RequirePackage{konames-utf} \fi
+
+\AtBeginDocument{
+ % for ulem package
+ \ifcsname UL@hook\endcsname \xetexkoulemsupport \fi
+ % for hyperref package
+ \@ifpackageloaded{hyperref}{\pdfstringdefDisableCommands{%
+ \let\dotemph\@firstofone
+ \let\makejosa\@secondoftwo
+ \let\jong\relax
+ \let\jung\relax
+ \let\rieul\relax
+ \let\latinalphs\relax
+ \let\hangulalphs\relax
+ \let\hanjaalphs\relax
+ \let\prevfontalphs\relax
+ \let\latinnums\relax
+ \let\hangulnums\relax
+ \let\hanjanums\relax
+ \let\prevfontnums\relax
+ \let\latinparens\relax
+ \let\hangulparens\relax
+ \let\hanjaparens\relax
+ \let\prevfontparens\relax
+ \let\latinquotes\relax
+ \let\hangulquotes\relax
+ \let\hanjaquotes\relax
+ \let\prevfontquotes\relax
+ \let\latinpuncts\relax
+ \let\hangulpuncts\relax
+ \let\hanjapuncts\relax
+ \let\prevfontpuncts\relax
+ \let\latinmarks\relax
+ \let\hangulmarks\relax
+ \let\hanjamarks\relax
+ \let\prevfontmarks\relax
+ \let\latincolons\relax
+ \let\hangulcolons\relax
+ \let\hanjacolons\relax
+ \let\prevfontcolons\relax
+ \let\latinhyphens\relax
+ \let\hangulhyphens\relax
+ \let\hanjahyphens\relax
+ \let\prevfonthyphens\relax
+ \let\latincjksymbols\relax
+ \let\hangulcjksymbols\relax
+ \let\hanjacjksymbols\relax
+ \let\prevfontcjksymbols\relax
+ \let\disablekoreanfonts\relax
+ \let\disablehangulspacing\relax
+ \let\disablehangulspacingandlinebreak\relax
+ \let\disableautojosa\relax
+ \let\disablecjksymbolspacing\relax
+ \let\japanese\relax
+ \let\chinese\relax
+ \let\Tchinese\relax
+ \let\Schinese\relax
+ }}{}
+}
+
+\endinput