Per Mårtensson 1 rok pred
commit
2d4251950a

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 113 - 0
K thermocouple table conversion.ipynb


+ 16 - 0
README.md

@@ -0,0 +1,16 @@
+k-thermocouple-lib
+==================
+
+Converts thermocouple voltage to temperature with linearization and cold junction compensation. 
+
+The library uses a 65 entry lookup table and an interpolation to convert from K-type thermocouple voltage to temperature in degrees Celsius and back. The lookup table is based on [NIST](http://srdata.nist.gov/its90/main/its90_main_page.html) data, points for the lookup table were selected by hand according to the most nonlinear places in k-thermocouple response, to minimaze the error. 
+
+Code is written using fixed point arithmetic and is suitable for embedded applications. 
+
+![](https://github.com/Miceuz/k-thermocouple-lib/raw/master/plots/lookup-table-selection.png)
+
+
+Accuracy
+--------
+![](https://github.com/Miceuz/k-thermocouple-lib/raw/master/plots/error-voltage-vs-temperature.png)
+![](https://github.com/Miceuz/k-thermocouple-lib/raw/master/plots/error-temperature-vs-voltage.png)

+ 4 - 0
library.json

@@ -0,0 +1,4 @@
+{
+  "name": "k-thermocouple-lib",
+  "version": "0.0.0+20210328135053"
+}

BIN
plots/error-temperature-vs-voltage.png


BIN
plots/error-voltage-vs-temperature.png


BIN
plots/lookup-table-selection.png


+ 1280 - 0
test_microvolts

@@ -0,0 +1,1280 @@
+0
+39
+79
+119
+158
+198
+238
+277
+317
+357
+397
+437
+477
+517
+557
+597
+637
+677
+717
+757
+798
+838
+879
+919
+960
+1000
+1041
+1081
+1122
+1162
+1203
+1243
+1284
+1325
+1366
+1407
+1448
+1489
+1530
+1571
+1612
+1653
+1694
+1735
+1776
+1817
+1858
+1899
+1940
+1981
+2023
+2064
+2105
+2146
+2188
+2229
+2270
+2312
+2353
+2394
+2436
+2477
+2519
+2560
+2602
+2643
+2685
+2726
+2768
+2809
+2851
+2892
+2934
+2975
+3017
+3058
+3100
+3141
+3183
+3225
+3266
+3307
+3349
+3390
+3432
+3473
+3515
+3556
+3598
+3639
+3681
+3722
+3764
+3805
+3847
+3888
+3930
+3971
+4013
+4054
+4095
+4136
+4178
+4219
+4260
+4301
+4343
+4384
+4425
+4467
+4508
+4549
+4590
+4632
+4673
+4714
+4756
+4796
+4837
+4878
+4919
+4960
+5001
+5041
+5082
+5123
+5164
+5205
+5246
+5286
+5327
+5368
+5409
+5450
+5491
+5531
+5572
+5612
+5653
+5694
+5734
+5774
+5814
+5855
+5895
+5935
+5976
+6016
+6056
+6097
+6137
+6177
+6218
+6258
+6298
+6339
+6379
+6419
+6459
+6499
+6539
+6579
+6619
+6659
+6700
+6740
+6780
+6820
+6860
+6900
+6940
+6980
+7021
+7060
+7100
+7140
+7180
+7220
+7260
+7300
+7340
+7380
+7420
+7459
+7499
+7539
+7579
+7619
+7659
+7699
+7739
+7779
+7819
+7859
+7899
+7939
+7979
+8019
+8059
+8099
+8139
+8179
+8219
+8259
+8299
+8339
+8379
+8419
+8459
+8499
+8539
+8579
+8619
+8659
+8699
+8739
+8779
+8820
+8860
+8900
+8940
+8980
+9021
+9061
+9101
+9141
+9181
+9222
+9262
+9302
+9342
+9383
+9423
+9464
+9504
+9545
+9585
+9626
+9666
+9707
+9747
+9788
+9828
+9869
+9909
+9950
+9990
+10031
+10071
+10112
+10153
+10193
+10234
+10275
+10316
+10357
+10398
+10439
+10480
+10521
+10561
+10602
+10643
+10684
+10725
+10766
+10807
+10848
+10889
+10930
+10971
+11012
+11053
+11094
+11135
+11176
+11218
+11259
+11300
+11341
+11382
+11423
+11465
+11506
+11547
+11588
+11629
+11670
+11712
+11753
+11794
+11836
+11877
+11919
+11960
+12001
+12043
+12084
+12126
+12167
+12209
+12250
+12291
+12333
+12374
+12416
+12457
+12499
+12540
+12582
+12623
+12665
+12707
+12748
+12790
+12832
+12873
+12915
+12956
+12998
+13040
+13081
+13123
+13165
+13206
+13248
+13290
+13331
+13373
+13415
+13457
+13498
+13540
+13582
+13624
+13666
+13707
+13749
+13791
+13833
+13875
+13916
+13958
+14000
+14042
+14084
+14125
+14167
+14209
+14251
+14293
+14335
+14377
+14419
+14461
+14503
+14545
+14587
+14629
+14671
+14713
+14755
+14797
+14839
+14881
+14923
+14965
+15007
+15049
+15091
+15133
+15175
+15217
+15259
+15301
+15343
+15385
+15427
+15469
+15511
+15553
+15595
+15637
+15680
+15722
+15764
+15806
+15848
+15891
+15933
+15975
+16017
+16059
+16102
+16144
+16186
+16228
+16270
+16313
+16355
+16397
+16439
+16482
+16524
+16566
+16608
+16651
+16693
+16735
+16777
+16820
+16862
+16904
+16946
+16989
+17031
+17073
+17115
+17158
+17200
+17242
+17285
+17327
+17369
+17412
+17454
+17497
+17539
+17581
+17624
+17666
+17709
+17751
+17794
+17836
+17878
+17921
+17963
+18006
+18048
+18091
+18133
+18175
+18218
+18260
+18303
+18345
+18388
+18430
+18473
+18515
+18558
+18600
+18643
+18685
+18728
+18770
+18813
+18855
+18898
+18940
+18983
+19025
+19068
+19110
+19153
+19196
+19238
+19281
+19323
+19366
+19408
+19451
+19494
+19536
+19579
+19621
+19664
+19707
+19749
+19792
+19834
+19877
+19919
+19962
+20005
+20047
+20090
+20132
+20175
+20217
+20260
+20303
+20345
+20388
+20430
+20473
+20516
+20558
+20601
+20643
+20686
+20729
+20771
+20814
+20857
+20899
+20942
+20984
+21027
+21070
+21112
+21155
+21198
+21240
+21283
+21326
+21368
+21411
+21454
+21496
+21539
+21582
+21624
+21667
+21710
+21752
+21795
+21838
+21880
+21923
+21966
+22008
+22051
+22094
+22137
+22179
+22222
+22264
+22307
+22350
+22392
+22435
+22478
+22520
+22563
+22605
+22648
+22691
+22733
+22776
+22819
+22861
+22904
+22947
+22989
+23032
+23074
+23117
+23160
+23202
+23245
+23288
+23330
+23373
+23415
+23458
+23501
+23543
+23586
+23629
+23671
+23714
+23757
+23799
+23842
+23884
+23927
+23969
+24012
+24054
+24097
+24139
+24182
+24224
+24267
+24309
+24352
+24394
+24437
+24479
+24522
+24565
+24607
+24650
+24692
+24735
+24777
+24820
+24862
+24905
+24947
+24990
+25032
+25075
+25117
+25160
+25202
+25245
+25287
+25330
+25373
+25415
+25457
+25500
+25542
+25585
+25627
+25669
+25712
+25754
+25797
+25839
+25882
+25924
+25966
+26009
+26051
+26094
+26136
+26179
+26221
+26263
+26305
+26348
+26390
+26432
+26475
+26517
+26559
+26602
+26644
+26686
+26729
+26771
+26813
+26856
+26898
+26940
+26983
+27025
+27067
+27109
+27151
+27193
+27235
+27278
+27320
+27362
+27404
+27446
+27488
+27531
+27573
+27615
+27657
+27699
+27741
+27784
+27826
+27868
+27910
+27952
+27994
+28036
+28078
+28120
+28162
+28205
+28247
+28289
+28331
+28373
+28415
+28457
+28499
+28541
+28584
+28625
+28667
+28709
+28751
+28793
+28835
+28877
+28919
+28961
+29002
+29044
+29086
+29128
+29170
+29212
+29254
+29296
+29338
+29380
+29421
+29463
+29505
+29547
+29588
+29630
+29672
+29714
+29756
+29797
+29839
+29881
+29923
+29965
+30006
+30048
+30090
+30132
+30174
+30215
+30257
+30298
+30340
+30381
+30423
+30465
+30506
+30548
+30589
+30631
+30672
+30714
+30756
+30797
+30839
+30880
+30922
+30964
+31005
+31046
+31088
+31129
+31171
+31212
+31254
+31295
+31337
+31378
+31420
+31461
+31503
+31544
+31586
+31627
+31669
+31710
+31752
+31793
+31834
+31875
+31917
+31958
+31999
+32040
+32082
+32123
+32164
+32205
+32247
+32288
+32329
+32370
+32412
+32453
+32494
+32536
+32577
+32618
+32659
+32700
+32741
+32782
+32823
+32864
+32905
+32946
+32987
+33028
+33069
+33110
+33151
+33192
+33233
+33274
+33316
+33356
+33397
+33438
+33479
+33520
+33561
+33602
+33643
+33684
+33724
+33765
+33806
+33847
+33888
+33929
+33970
+34011
+34052
+34093
+34133
+34174
+34215
+34255
+34296
+34337
+34378
+34418
+34459
+34500
+34541
+34581
+34622
+34663
+34704
+34744
+34785
+34826
+34867
+34907
+34948
+34988
+35029
+35069
+35110
+35150
+35191
+35231
+35272
+35312
+35353
+35393
+35434
+35474
+35515
+35555
+35596
+35637
+35677
+35717
+35757
+35798
+35838
+35878
+35919
+35959
+35999
+36040
+36080
+36120
+36161
+36201
+36241
+36282
+36322
+36362
+36403
+36443
+36483
+36523
+36563
+36603
+36643
+36684
+36724
+36764
+36804
+36844
+36884
+36925
+36965
+37005
+37045
+37085
+37125
+37166
+37205
+37245
+37285
+37325
+37365
+37405
+37445
+37485
+37525
+37565
+37605
+37645
+37685
+37725
+37765
+37805
+37845
+37885
+37925
+37964
+38004
+38044
+38083
+38123
+38163
+38203
+38242
+38282
+38322
+38362
+38401
+38441
+38481
+38521
+38560
+38600
+38640
+38680
+38719
+38759
+38798
+38838
+38877
+38917
+38957
+38996
+39036
+39075
+39115
+39154
+39194
+39234
+39273
+39313
+39352
+39392
+39432
+39471
+39510
+39550
+39589
+39628
+39668
+39707
+39746
+39786
+39825
+39865
+39904
+39943
+39983
+40022
+40061
+40101
+40140
+40180
+40219
+40258
+40297
+40336
+40375
+40414
+40454
+40493
+40532
+40571
+40610
+40649
+40689
+40728
+40767
+40806
+40845
+40884
+40924
+40963
+41002
+41041
+41080
+41119
+41158
+41197
+41236
+41275
+41314
+41353
+41392
+41431
+41470
+41509
+41548
+41587
+41626
+41665
+41703
+41742
+41781
+41820
+41858
+41897
+41936
+41975
+42014
+42052
+42091
+42130
+42169
+42208
+42246
+42285
+42324
+42363
+42402
+42440
+42479
+42517
+42556
+42594
+42633
+42671
+42710
+42748
+42787
+42825
+42864
+42902
+42941
+42979
+43018
+43056
+43095
+43134
+43172
+43210
+43249
+43287
+43325
+43364
+43402
+43440
+43479
+43517
+43556
+43594
+43632
+43671
+43709
+43747
+43786
+43824
+43863
+43901
+43939
+43977
+44015
+44053
+44091
+44130
+44168
+44206
+44244
+44282
+44320
+44359
+44397
+44435
+44473
+44511
+44549
+44588
+44625
+44663
+44701
+44739
+44777
+44815
+44853
+44891
+44929
+44966
+45004
+45042
+45080
+45118
+45156
+45194
+45232
+45270
+45308
+45345
+45383
+45421
+45458
+45496
+45534
+45571
+45609
+45647
+45684
+45722
+45760
+45797
+45835
+45873
+45910
+45948
+45986
+46024
+46061
+46098
+46136
+46173
+46211
+46248
+46285
+46323
+46360
+46398
+46435
+46473
+46510
+46547
+46585
+46622
+46660
+46697
+46735
+46772
+46809
+46847
+46884
+46922
+46959
+46996
+47034
+47071
+47109
+47146
+47184
+47221
+47258
+47296
+47333
+47371
+47408
+47446
+47483
+47520
+47558
+47595
+47633
+47670
+47707
+47745
+47782
+47820
+47857
+47895
+47932
+47969
+48007
+48044
+48082
+48119
+48157
+48194
+48231
+48269
+48306
+48344
+48381
+48418
+48456
+48493
+48531
+48568
+48606
+48643
+48680
+48718
+48755
+48793
+48830
+48868
+48905
+48942
+48980
+49017
+49055
+49092
+49129
+49167
+49204
+49242
+49279
+49317
+49354
+49391
+49429
+49466
+49504
+49541
+49579
+49616
+49653
+49691
+49728
+49766
+49803
+49840
+49878
+49915
+49953
+49990
+50028
+50065
+50102
+50140
+50177
+50215
+50252
+50290
+50327
+50364
+50402
+50439
+50477
+50514
+50551
+50589
+50626
+50664
+50701
+50739
+50776
+50813
+50851
+50888
+50926
+50963
+51001
+51038
+51075
+51113
+51150
+51188
+51225
+51262
+51300
+51337
+51375
+51412
+51450
+51487
+51524
+51562
+51599
+51637
+51674
+51712
+51749
+51786
+51824

+ 16383 - 0
test_temps

@@ -0,0 +1,16383 @@
+0
+75
+151
+226
+302
+377
+453
+528
+604
+680
+755
+831
+906
+982
+1057
+1133
+1209
+1284
+1360
+1435
+1511
+1586
+1662
+1738
+1813
+1889
+1964
+2040
+2115
+2191
+2267
+2342
+2418
+2493
+2569
+2644
+2720
+2795
+2871
+2947
+3022
+3098
+3173
+3249
+3324
+3400
+3476
+3551
+3627
+3702
+3778
+3879
+3954
+4030
+4105
+4181
+4256
+4332
+4408
+4483
+4559
+4634
+4710
+4785
+4861
+4937
+5012
+5088
+5163
+5239
+5314
+5390
+5465
+5541
+5617
+5692
+5768
+5843
+5919
+5994
+6070
+6146
+6221
+6297
+6372
+6448
+6523
+6599
+6675
+6750
+6826
+6901
+6977
+7052
+7128
+7204
+7279
+7355
+7430
+7506
+7581
+7682
+7758
+7833
+7909
+7984
+8060
+8136
+8211
+8287
+8362
+8438
+8513
+8589
+8664
+8740
+8816
+8891
+8967
+9042
+9118
+9193
+9269
+9345
+9420
+9496
+9571
+9647
+9722
+9798
+9874
+9949
+10024
+10099
+10174
+10249
+10324
+10399
+10473
+10548
+10623
+10698
+10773
+10847
+10922
+10997
+11072
+11147
+11221
+11296
+11371
+11446
+11546
+11620
+11695
+11770
+11845
+11920
+11995
+12069
+12144
+12219
+12294
+12369
+12443
+12518
+12593
+12668
+12743
+12817
+12892
+12967
+13042
+13117
+13192
+13266
+13341
+13416
+13491
+13566
+13640
+13715
+13790
+13865
+13940
+14014
+14089
+14164
+14239
+14314
+14389
+14463
+14538
+14613
+14688
+14763
+14837
+14912
+14987
+15062
+15137
+15211
+15311
+15386
+15461
+15536
+15610
+15685
+15760
+15835
+15910
+15985
+16059
+16134
+16209
+16284
+16359
+16433
+16508
+16583
+16658
+16733
+16807
+16882
+16957
+17032
+17107
+17182
+17256
+17331
+17406
+17481
+17556
+17630
+17705
+17780
+17855
+17930
+18004
+18079
+18154
+18229
+18304
+18379
+18453
+18528
+18603
+18678
+18753
+18827
+18902
+18977
+19052
+19152
+19226
+19301
+19376
+19451
+19526
+19600
+19675
+19750
+19825
+19900
+19975
+20049
+20123
+20197
+20271
+20345
+20419
+20493
+20567
+20641
+20716
+20790
+20864
+20938
+21012
+21086
+21160
+21234
+21308
+21382
+21456
+21530
+21604
+21679
+21753
+21827
+21901
+21975
+22049
+22123
+22197
+22271
+22345
+22419
+22493
+22567
+22641
+22716
+22790
+22888
+22962
+23037
+23111
+23185
+23259
+23333
+23407
+23481
+23555
+23629
+23703
+23777
+23851
+23925
+24000
+24074
+24148
+24222
+24296
+24370
+24444
+24518
+24592
+24666
+24740
+24814
+24888
+24962
+25037
+25111
+25185
+25259
+25333
+25407
+25481
+25555
+25629
+25703
+25777
+25851
+25925
+26000
+26074
+26148
+26222
+26296
+26370
+26444
+26518
+26592
+26691
+26765
+26839
+26913
+26987
+27061
+27135
+27209
+27283
+27358
+27432
+27506
+27580
+27654
+27728
+27802
+27876
+27950
+28024
+28098
+28172
+28246
+28320
+28395
+28469
+28543
+28617
+28691
+28765
+28839
+28913
+28987
+29061
+29135
+29209
+29283
+29358
+29432
+29506
+29580
+29654
+29728
+29802
+29876
+29950
+30024
+30097
+30171
+30244
+30317
+30415
+30488
+30562
+30635
+30709
+30782
+30855
+30929
+31002
+31075
+31149
+31222
+31295
+31369
+31442
+31515
+31589
+31662
+31735
+31809
+31882
+31955
+32029
+32102
+32176
+32249
+32322
+32396
+32469
+32542
+32616
+32689
+32762
+32836
+32909
+32982
+33056
+33129
+33202
+33276
+33349
+33422
+33496
+33569
+33643
+33716
+33789
+33863
+33936
+34009
+34083
+34180
+34254
+34327
+34400
+34474
+34547
+34621
+34694
+34767
+34841
+34914
+34987
+35061
+35134
+35207
+35281
+35354
+35427
+35501
+35574
+35647
+35721
+35794
+35867
+35941
+36014
+36088
+36161
+36234
+36308
+36381
+36454
+36528
+36601
+36674
+36748
+36821
+36894
+36968
+37041
+37114
+37188
+37261
+37334
+37408
+37481
+37555
+37628
+37701
+37775
+37872
+37946
+38019
+38092
+38166
+38239
+38312
+38386
+38459
+38533
+38606
+38679
+38753
+38826
+38899
+38973
+39046
+39119
+39193
+39266
+39339
+39413
+39486
+39559
+39633
+39706
+39779
+39853
+39926
+40000
+40072
+40145
+40218
+40291
+40364
+40437
+40510
+40583
+40656
+40729
+40802
+40875
+40948
+41021
+41094
+41167
+41240
+41313
+41386
+41459
+41532
+41630
+41703
+41776
+41849
+41922
+41995
+42068
+42141
+42214
+42287
+42360
+42433
+42506
+42579
+42652
+42725
+42798
+42871
+42944
+43017
+43090
+43163
+43236
+43309
+43381
+43454
+43527
+43600
+43673
+43746
+43819
+43892
+43965
+44038
+44111
+44184
+44257
+44330
+44403
+44476
+44549
+44622
+44695
+44768
+44841
+44914
+44987
+45060
+45133
+45206
+45304
+45377
+45450
+45523
+45596
+45669
+45742
+45815
+45888
+45961
+46034
+46107
+46180
+46253
+46326
+46399
+46472
+46545
+46618
+46690
+46763
+46836
+46909
+46982
+47055
+47128
+47201
+47274
+47347
+47420
+47493
+47566
+47639
+47712
+47785
+47858
+47931
+48004
+48077
+48150
+48223
+48296
+48369
+48442
+48515
+48588
+48661
+48734
+48807
+48880
+48953
+49051
+49124
+49197
+49270
+49343
+49416
+49489
+49562
+49635
+49708
+49781
+49854
+49927
+50000
+50072
+50145
+50217
+50290
+50363
+50435
+50508
+50581
+50653
+50726
+50799
+50871
+50944
+51016
+51089
+51162
+51234
+51307
+51380
+51452
+51525
+51598
+51670
+51743
+51815
+51888
+51961
+52033
+52106
+52179
+52251
+52324
+52397
+52469
+52542
+52615
+52711
+52784
+52857
+52929
+53002
+53075
+53147
+53220
+53292
+53365
+53438
+53510
+53583
+53656
+53728
+53801
+53874
+53946
+54019
+54092
+54164
+54237
+54309
+54382
+54455
+54527
+54600
+54673
+54745
+54818
+54891
+54963
+55036
+55108
+55181
+55254
+55326
+55399
+55472
+55544
+55617
+55690
+55762
+55835
+55907
+55980
+56053
+56125
+56198
+56271
+56343
+56440
+56513
+56585
+56658
+56731
+56803
+56876
+56949
+57021
+57094
+57167
+57239
+57312
+57384
+57457
+57530
+57602
+57675
+57748
+57820
+57893
+57966
+58038
+58111
+58184
+58256
+58329
+58401
+58474
+58547
+58619
+58692
+58765
+58837
+58910
+58983
+59055
+59128
+59200
+59273
+59346
+59418
+59491
+59564
+59636
+59709
+59782
+59854
+59927
+60000
+60096
+60168
+60240
+60313
+60385
+60457
+60529
+60602
+60674
+60746
+60818
+60891
+60963
+61035
+61107
+61179
+61252
+61324
+61396
+61468
+61541
+61613
+61685
+61757
+61830
+61902
+61974
+62046
+62119
+62191
+62263
+62335
+62408
+62480
+62552
+62624
+62697
+62769
+62841
+62913
+62986
+63058
+63130
+63202
+63275
+63347
+63419
+63491
+63564
+63636
+63708
+63804
+63877
+63949
+64021
+64093
+64166
+64238
+64310
+64382
+64455
+64527
+64599
+64671
+64743
+64816
+64888
+64960
+65032
+65105
+65177
+65249
+65321
+65394
+65466
+65538
+65610
+65683
+65755
+65827
+65899
+65972
+66044
+66116
+66188
+66261
+66333
+66405
+66477
+66550
+66622
+66694
+66766
+66839
+66911
+66983
+67055
+67128
+67200
+67272
+67344
+67441
+67513
+67585
+67657
+67730
+67802
+67874
+67946
+68019
+68091
+68163
+68235
+68307
+68380
+68452
+68524
+68596
+68669
+68741
+68813
+68885
+68958
+69030
+69102
+69174
+69247
+69319
+69391
+69463
+69536
+69608
+69680
+69752
+69825
+69897
+69969
+70041
+70114
+70186
+70258
+70330
+70403
+70475
+70547
+70619
+70692
+70764
+70836
+70908
+70980
+71053
+71149
+71221
+71294
+71366
+71438
+71510
+71583
+71655
+71727
+71799
+71871
+71944
+72016
+72088
+72160
+72233
+72305
+72377
+72449
+72522
+72594
+72666
+72738
+72811
+72883
+72955
+73027
+73100
+73172
+73244
+73316
+73389
+73461
+73533
+73605
+73678
+73750
+73822
+73894
+73967
+74039
+74111
+74183
+74256
+74328
+74400
+74472
+74544
+74617
+74689
+74785
+74858
+74930
+75002
+75074
+75147
+75219
+75291
+75363
+75435
+75508
+75580
+75652
+75724
+75797
+75869
+75941
+76013
+76086
+76158
+76230
+76302
+76375
+76447
+76519
+76591
+76664
+76736
+76808
+76880
+76953
+77025
+77097
+77169
+77242
+77314
+77386
+77458
+77531
+77603
+77675
+77747
+77820
+77892
+77964
+78036
+78108
+78181
+78253
+78325
+78397
+78494
+78566
+78638
+78711
+78783
+78855
+78927
+79000
+79072
+79144
+79217
+79289
+79361
+79434
+79506
+79578
+79651
+79723
+79795
+79868
+79940
+80012
+80085
+80157
+80229
+80302
+80374
+80446
+80519
+80591
+80663
+80736
+80808
+80880
+80953
+81025
+81097
+81170
+81242
+81314
+81387
+81459
+81531
+81604
+81676
+81748
+81821
+81893
+81965
+82038
+82134
+82206
+82279
+82351
+82423
+82496
+82568
+82640
+82713
+82785
+82857
+82930
+83002
+83074
+83147
+83219
+83291
+83364
+83436
+83508
+83581
+83653
+83725
+83798
+83870
+83942
+84015
+84087
+84159
+84232
+84304
+84376
+84449
+84521
+84593
+84666
+84738
+84810
+84883
+84955
+85027
+85100
+85172
+85244
+85317
+85389
+85461
+85534
+85606
+85678
+85751
+85847
+85920
+85992
+86064
+86137
+86209
+86281
+86354
+86426
+86498
+86571
+86643
+86715
+86788
+86860
+86932
+87005
+87077
+87149
+87222
+87294
+87366
+87439
+87511
+87583
+87656
+87728
+87800
+87873
+87945
+88017
+88090
+88162
+88234
+88307
+88379
+88451
+88524
+88596
+88668
+88741
+88813
+88885
+88958
+89030
+89102
+89175
+89247
+89319
+89392
+89488
+89560
+89633
+89705
+89777
+89850
+89922
+89994
+90067
+90139
+90211
+90284
+90356
+90428
+90501
+90573
+90645
+90718
+90790
+90862
+90935
+91007
+91079
+91152
+91224
+91296
+91369
+91441
+91513
+91586
+91658
+91730
+91803
+91875
+91947
+92020
+92092
+92164
+92237
+92309
+92381
+92454
+92526
+92598
+92671
+92743
+92815
+92888
+92960
+93032
+93105
+93201
+93274
+93346
+93418
+93491
+93563
+93635
+93708
+93780
+93852
+93925
+93997
+94069
+94142
+94214
+94286
+94359
+94431
+94503
+94576
+94648
+94720
+94793
+94865
+94937
+95010
+95082
+95154
+95227
+95299
+95371
+95444
+95516
+95588
+95661
+95733
+95805
+95878
+95950
+96022
+96095
+96167
+96239
+96312
+96384
+96456
+96529
+96601
+96673
+96746
+96842
+96914
+96987
+97059
+97131
+97204
+97276
+97348
+97421
+97493
+97565
+97638
+97710
+97782
+97855
+97927
+98000
+98072
+98145
+98218
+98290
+98363
+98436
+98508
+98581
+98654
+98726
+98799
+98872
+98944
+99017
+99090
+99162
+99235
+99308
+99380
+99453
+99526
+99598
+99671
+99744
+99816
+99889
+99962
+100034
+100107
+100180
+100253
+100325
+100398
+100471
+100567
+100640
+100713
+100786
+100858
+100931
+101004
+101076
+101149
+101222
+101294
+101367
+101440
+101512
+101585
+101658
+101730
+101803
+101876
+101948
+102021
+102094
+102166
+102239
+102312
+102384
+102457
+102530
+102602
+102675
+102748
+102820
+102893
+102966
+103039
+103111
+103184
+103257
+103329
+103402
+103475
+103547
+103620
+103693
+103765
+103838
+103911
+103983
+104056
+104129
+104226
+104298
+104371
+104444
+104516
+104589
+104662
+104734
+104807
+104880
+104952
+105025
+105098
+105170
+105243
+105316
+105388
+105461
+105534
+105606
+105679
+105752
+105825
+105897
+105970
+106043
+106115
+106188
+106261
+106333
+106406
+106479
+106551
+106624
+106697
+106769
+106842
+106915
+106987
+107060
+107133
+107205
+107278
+107351
+107423
+107496
+107569
+107641
+107714
+107787
+107860
+107956
+108029
+108102
+108174
+108247
+108320
+108393
+108465
+108538
+108611
+108683
+108756
+108829
+108901
+108974
+109047
+109119
+109192
+109265
+109337
+109410
+109483
+109555
+109628
+109701
+109773
+109846
+109919
+109991
+110064
+110137
+110209
+110282
+110355
+110427
+110500
+110573
+110646
+110718
+110791
+110864
+110936
+111009
+111082
+111154
+111227
+111300
+111372
+111445
+111518
+111615
+111687
+111760
+111833
+111905
+111978
+112051
+112123
+112196
+112269
+112341
+112414
+112487
+112559
+112632
+112705
+112777
+112850
+112923
+112995
+113068
+113141
+113213
+113286
+113359
+113432
+113504
+113577
+113650
+113722
+113795
+113868
+113940
+114013
+114086
+114158
+114231
+114304
+114376
+114449
+114522
+114594
+114667
+114740
+114812
+114885
+114958
+115030
+115103
+115176
+115248
+115345
+115418
+115491
+115563
+115636
+115709
+115781
+115854
+115927
+116000
+116073
+116146
+116220
+116293
+116367
+116440
+116514
+116587
+116661
+116734
+116808
+116881
+116955
+117028
+117102
+117175
+117248
+117322
+117395
+117469
+117542
+117616
+117689
+117763
+117836
+117910
+117983
+118057
+118130
+118204
+118277
+118351
+118424
+118497
+118571
+118644
+118718
+118791
+118865
+118938
+119036
+119110
+119183
+119257
+119330
+119404
+119477
+119551
+119624
+119697
+119771
+119844
+119918
+119991
+120065
+120138
+120212
+120285
+120359
+120432
+120506
+120579
+120653
+120726
+120800
+120873
+120946
+121020
+121093
+121167
+121240
+121314
+121387
+121461
+121534
+121608
+121681
+121755
+121828
+121902
+121975
+122048
+122122
+122195
+122269
+122342
+122416
+122489
+122563
+122636
+122710
+122808
+122881
+122955
+123028
+123102
+123175
+123248
+123322
+123395
+123469
+123542
+123616
+123689
+123763
+123836
+123910
+123983
+124057
+124130
+124204
+124277
+124351
+124424
+124497
+124571
+124644
+124718
+124791
+124865
+124938
+125012
+125085
+125159
+125232
+125306
+125379
+125453
+125526
+125600
+125673
+125746
+125820
+125893
+125967
+126040
+126114
+126187
+126261
+126334
+126408
+126506
+126579
+126653
+126726
+126800
+126873
+126946
+127020
+127093
+127167
+127240
+127314
+127387
+127461
+127534
+127608
+127681
+127755
+127828
+127902
+127975
+128048
+128122
+128195
+128269
+128342
+128416
+128489
+128563
+128636
+128710
+128783
+128857
+128930
+129004
+129077
+129151
+129224
+129297
+129371
+129444
+129518
+129591
+129665
+129738
+129812
+129885
+129959
+130032
+130106
+130179
+130277
+130351
+130424
+130497
+130571
+130644
+130718
+130791
+130865
+130938
+131012
+131085
+131159
+131232
+131306
+131379
+131453
+131526
+131600
+131673
+131746
+131820
+131893
+131967
+132040
+132114
+132187
+132261
+132334
+132408
+132481
+132555
+132628
+132702
+132775
+132848
+132922
+132995
+133069
+133142
+133216
+133289
+133363
+133436
+133510
+133583
+133657
+133730
+133804
+133877
+133975
+134049
+134123
+134197
+134270
+134344
+134418
+134492
+134566
+134640
+134714
+134788
+134862
+134935
+135009
+135083
+135157
+135231
+135305
+135379
+135453
+135527
+135600
+135674
+135748
+135822
+135896
+135970
+136044
+136118
+136192
+136266
+136339
+136413
+136487
+136561
+136635
+136709
+136783
+136857
+136931
+137004
+137078
+137152
+137226
+137300
+137374
+137448
+137522
+137596
+137669
+137768
+137842
+137916
+137990
+138064
+138137
+138211
+138285
+138359
+138433
+138507
+138581
+138655
+138729
+138802
+138876
+138950
+139024
+139099
+139173
+139248
+139322
+139396
+139471
+139545
+139620
+139694
+139768
+139843
+139917
+139992
+140066
+140141
+140215
+140289
+140364
+140438
+140513
+140587
+140662
+140736
+140810
+140885
+140959
+141034
+141108
+141182
+141257
+141331
+141406
+141505
+141579
+141654
+141728
+141803
+141877
+141951
+142026
+142100
+142175
+142249
+142324
+142398
+142472
+142547
+142621
+142696
+142770
+142844
+142919
+142993
+143068
+143142
+143217
+143291
+143365
+143440
+143514
+143589
+143663
+143737
+143812
+143886
+143961
+144035
+144110
+144184
+144258
+144333
+144407
+144482
+144556
+144631
+144705
+144779
+144854
+144928
+145003
+145077
+145151
+145226
+145325
+145400
+145474
+145548
+145623
+145697
+145772
+145846
+145920
+145995
+146069
+146144
+146218
+146293
+146367
+146441
+146516
+146590
+146665
+146739
+146813
+146888
+146962
+147037
+147111
+147186
+147260
+147334
+147409
+147483
+147558
+147632
+147706
+147781
+147855
+147930
+148004
+148079
+148153
+148227
+148302
+148376
+148451
+148525
+148600
+148674
+148748
+148823
+148897
+148972
+149071
+149145
+149220
+149294
+149368
+149443
+149517
+149592
+149666
+149741
+149815
+149889
+149964
+150038
+150113
+150187
+150262
+150336
+150410
+150485
+150559
+150634
+150708
+150782
+150857
+150931
+151006
+151080
+151155
+151229
+151303
+151378
+151452
+151527
+151601
+151675
+151750
+151824
+151899
+151973
+152048
+152122
+152196
+152271
+152345
+152420
+152494
+152568
+152643
+152717
+152792
+152891
+152965
+153040
+153114
+153189
+153263
+153337
+153412
+153486
+153561
+153635
+153710
+153784
+153858
+153933
+154007
+154082
+154156
+154231
+154305
+154379
+154454
+154528
+154603
+154677
+154751
+154826
+154900
+154975
+155049
+155124
+155199
+155274
+155348
+155423
+155498
+155573
+155648
+155722
+155797
+155872
+155947
+156021
+156096
+156171
+156246
+156321
+156395
+156470
+156545
+156645
+156719
+156794
+156869
+156944
+157019
+157093
+157168
+157243
+157318
+157392
+157467
+157542
+157617
+157692
+157766
+157841
+157916
+157991
+158065
+158140
+158215
+158290
+158365
+158439
+158514
+158589
+158664
+158739
+158813
+158888
+158963
+159038
+159112
+159187
+159262
+159337
+159412
+159486
+159561
+159636
+159711
+159785
+159860
+159935
+160010
+160085
+160159
+160234
+160309
+160384
+160483
+160558
+160633
+160708
+160782
+160857
+160932
+161007
+161082
+161156
+161231
+161306
+161381
+161456
+161530
+161605
+161680
+161755
+161829
+161904
+161979
+162054
+162129
+162203
+162278
+162353
+162428
+162502
+162577
+162652
+162727
+162802
+162876
+162951
+163026
+163101
+163175
+163250
+163325
+163400
+163475
+163549
+163624
+163699
+163774
+163848
+163923
+163998
+164073
+164148
+164247
+164322
+164397
+164472
+164546
+164621
+164696
+164771
+164846
+164920
+164995
+165070
+165145
+165219
+165294
+165369
+165444
+165519
+165593
+165668
+165743
+165818
+165892
+165967
+166042
+166117
+166192
+166266
+166341
+166416
+166491
+166565
+166640
+166715
+166790
+166865
+166939
+167014
+167089
+167164
+167239
+167313
+167388
+167463
+167538
+167612
+167687
+167762
+167837
+167912
+167986
+168086
+168161
+168236
+168310
+168385
+168460
+168535
+168609
+168684
+168759
+168834
+168909
+168983
+169058
+169133
+169208
+169282
+169357
+169432
+169507
+169582
+169656
+169731
+169806
+169881
+169956
+170030
+170105
+170180
+170255
+170329
+170404
+170479
+170554
+170629
+170703
+170778
+170853
+170928
+171002
+171077
+171152
+171227
+171302
+171376
+171451
+171526
+171601
+171675
+171750
+171850
+171925
+172000
+172075
+172150
+172225
+172300
+172375
+172451
+172526
+172601
+172676
+172751
+172826
+172902
+172977
+173052
+173127
+173202
+173278
+173353
+173428
+173503
+173578
+173653
+173729
+173804
+173879
+173954
+174029
+174105
+174180
+174255
+174330
+174405
+174480
+174556
+174631
+174706
+174781
+174856
+174931
+175007
+175082
+175157
+175232
+175307
+175383
+175458
+175533
+175608
+175708
+175784
+175859
+175934
+176009
+176084
+176159
+176235
+176310
+176385
+176460
+176535
+176610
+176686
+176761
+176836
+176911
+176986
+177062
+177137
+177212
+177287
+177362
+177437
+177513
+177588
+177663
+177738
+177813
+177889
+177964
+178039
+178114
+178189
+178264
+178340
+178415
+178490
+178565
+178640
+178715
+178791
+178866
+178941
+179016
+179091
+179167
+179242
+179317
+179392
+179492
+179568
+179643
+179718
+179793
+179868
+179943
+180019
+180094
+180169
+180244
+180319
+180394
+180470
+180545
+180620
+180695
+180770
+180846
+180921
+180996
+181071
+181146
+181221
+181297
+181372
+181447
+181522
+181597
+181673
+181748
+181823
+181898
+181973
+182048
+182124
+182199
+182274
+182349
+182424
+182500
+182575
+182650
+182725
+182800
+182875
+182951
+183026
+183101
+183176
+183251
+183352
+183427
+183502
+183577
+183652
+183727
+183803
+183878
+183953
+184028
+184103
+184178
+184254
+184329
+184404
+184479
+184554
+184630
+184705
+184780
+184855
+184930
+185005
+185081
+185156
+185231
+185306
+185381
+185457
+185532
+185607
+185682
+185757
+185832
+185908
+185983
+186058
+186133
+186208
+186284
+186359
+186434
+186509
+186584
+186659
+186735
+186810
+186885
+186960
+187035
+187136
+187211
+187286
+187361
+187436
+187511
+187587
+187662
+187737
+187812
+187887
+187963
+188038
+188113
+188188
+188263
+188338
+188414
+188489
+188564
+188639
+188714
+188789
+188865
+188940
+189015
+189090
+189165
+189241
+189316
+189391
+189466
+189541
+189616
+189692
+189767
+189842
+189917
+189992
+190068
+190143
+190218
+190293
+190368
+190443
+190519
+190594
+190669
+190744
+190819
+190894
+190995
+191070
+191145
+191220
+191295
+191371
+191446
+191521
+191596
+191671
+191747
+191822
+191897
+191972
+192047
+192122
+192198
+192273
+192348
+192423
+192498
+192573
+192649
+192724
+192799
+192874
+192949
+193025
+193100
+193175
+193250
+193325
+193400
+193475
+193550
+193625
+193700
+193775
+193850
+193925
+194000
+194075
+194150
+194225
+194300
+194375
+194450
+194525
+194600
+194675
+194775
+194850
+194925
+195000
+195075
+195150
+195225
+195300
+195375
+195450
+195525
+195600
+195675
+195750
+195825
+195900
+195975
+196050
+196125
+196200
+196275
+196350
+196425
+196500
+196575
+196650
+196725
+196800
+196875
+196950
+197025
+197100
+197175
+197250
+197325
+197400
+197475
+197550
+197625
+197700
+197775
+197850
+197925
+198000
+198075
+198150
+198225
+198300
+198375
+198450
+198525
+198625
+198700
+198775
+198850
+198925
+199000
+199075
+199150
+199225
+199300
+199375
+199450
+199525
+199600
+199675
+199750
+199825
+199900
+199975
+200050
+200125
+200200
+200275
+200350
+200425
+200500
+200575
+200650
+200725
+200800
+200875
+200950
+201025
+201100
+201175
+201250
+201325
+201400
+201475
+201550
+201625
+201700
+201775
+201850
+201925
+202000
+202075
+202150
+202225
+202300
+202400
+202475
+202550
+202625
+202700
+202775
+202850
+202925
+203000
+203075
+203150
+203225
+203300
+203375
+203450
+203525
+203600
+203675
+203750
+203825
+203900
+203975
+204050
+204125
+204200
+204275
+204350
+204425
+204500
+204575
+204650
+204725
+204800
+204875
+204950
+205025
+205100
+205175
+205250
+205325
+205400
+205475
+205550
+205625
+205700
+205775
+205850
+205925
+206000
+206075
+206150
+206250
+206325
+206400
+206475
+206550
+206625
+206700
+206775
+206850
+206925
+207000
+207075
+207150
+207225
+207300
+207375
+207450
+207525
+207600
+207675
+207750
+207825
+207900
+207975
+208050
+208125
+208200
+208275
+208350
+208425
+208500
+208575
+208650
+208725
+208800
+208875
+208950
+209025
+209100
+209175
+209250
+209325
+209400
+209475
+209550
+209625
+209700
+209775
+209850
+209925
+210025
+210100
+210175
+210250
+210325
+210400
+210475
+210550
+210625
+210700
+210775
+210850
+210925
+211000
+211075
+211150
+211225
+211300
+211375
+211450
+211525
+211600
+211675
+211750
+211825
+211900
+211975
+212049
+212124
+212198
+212273
+212348
+212422
+212497
+212571
+212646
+212721
+212795
+212870
+212945
+213019
+213094
+213168
+213243
+213318
+213392
+213467
+213541
+213616
+213691
+213765
+213865
+213939
+214014
+214089
+214163
+214238
+214312
+214387
+214462
+214536
+214611
+214685
+214760
+214835
+214909
+214984
+215058
+215133
+215208
+215282
+215357
+215431
+215506
+215581
+215655
+215730
+215804
+215879
+215954
+216028
+216103
+216178
+216252
+216327
+216401
+216476
+216551
+216625
+216700
+216774
+216849
+216924
+216998
+217073
+217147
+217222
+217297
+217371
+217446
+217520
+217620
+217695
+217769
+217844
+217918
+217993
+218068
+218142
+218217
+218291
+218366
+218441
+218515
+218590
+218664
+218739
+218814
+218888
+218963
+219037
+219112
+219187
+219261
+219336
+219410
+219485
+219560
+219634
+219709
+219784
+219858
+219933
+220007
+220082
+220157
+220231
+220306
+220380
+220455
+220530
+220604
+220679
+220753
+220828
+220903
+220977
+221052
+221126
+221201
+221276
+221350
+221450
+221524
+221599
+221674
+221748
+221823
+221897
+221972
+222047
+222121
+222196
+222270
+222345
+222420
+222494
+222569
+222643
+222718
+222793
+222867
+222942
+223017
+223091
+223166
+223240
+223315
+223390
+223464
+223539
+223613
+223688
+223763
+223837
+223912
+223986
+224061
+224136
+224210
+224285
+224359
+224434
+224509
+224583
+224658
+224732
+224807
+224882
+224956
+225031
+225106
+225205
+225280
+225354
+225429
+225503
+225578
+225653
+225727
+225802
+225876
+225951
+226026
+226100
+226175
+226250
+226324
+226399
+226473
+226548
+226623
+226697
+226772
+226846
+226921
+226996
+227070
+227145
+227219
+227294
+227369
+227443
+227518
+227592
+227667
+227742
+227816
+227891
+227965
+228040
+228115
+228189
+228264
+228339
+228413
+228488
+228562
+228637
+228712
+228786
+228861
+228935
+229035
+229109
+229184
+229259
+229333
+229408
+229482
+229557
+229632
+229706
+229781
+229856
+229930
+230005
+230079
+230154
+230229
+230303
+230378
+230452
+230527
+230602
+230676
+230751
+230825
+230900
+230975
+231049
+231123
+231197
+231271
+231345
+231419
+231493
+231567
+231641
+231715
+231789
+231863
+231937
+232011
+232085
+232159
+232233
+232307
+232381
+232455
+232529
+232603
+232677
+232776
+232850
+232924
+232998
+233072
+233146
+233220
+233294
+233368
+233442
+233516
+233590
+233664
+233738
+233812
+233887
+233961
+234035
+234109
+234183
+234257
+234331
+234405
+234479
+234553
+234627
+234701
+234775
+234849
+234923
+234997
+235071
+235145
+235219
+235293
+235367
+235441
+235515
+235589
+235663
+235737
+235811
+235885
+235959
+236033
+236107
+236181
+236255
+236329
+236403
+236477
+236576
+236650
+236724
+236798
+236872
+236946
+237020
+237094
+237168
+237242
+237316
+237390
+237464
+237538
+237612
+237687
+237761
+237835
+237909
+237983
+238057
+238131
+238205
+238279
+238353
+238427
+238501
+238575
+238649
+238723
+238797
+238871
+238945
+239019
+239093
+239167
+239241
+239315
+239389
+239463
+239537
+239611
+239685
+239759
+239833
+239907
+239981
+240055
+240129
+240203
+240302
+240376
+240450
+240524
+240598
+240672
+240746
+240820
+240894
+240968
+241042
+241116
+241190
+241264
+241338
+241412
+241487
+241561
+241635
+241709
+241783
+241857
+241931
+242005
+242079
+242153
+242227
+242301
+242375
+242449
+242523
+242597
+242671
+242745
+242819
+242893
+242967
+243041
+243115
+243189
+243263
+243337
+243411
+243485
+243559
+243633
+243707
+243781
+243855
+243929
+244003
+244102
+244176
+244250
+244324
+244398
+244472
+244546
+244620
+244694
+244768
+244842
+244916
+244990
+245064
+245138
+245212
+245287
+245361
+245435
+245509
+245583
+245657
+245731
+245805
+245879
+245953
+246027
+246101
+246175
+246249
+246323
+246397
+246471
+246545
+246619
+246693
+246767
+246841
+246915
+246989
+247063
+247137
+247211
+247285
+247359
+247433
+247507
+247581
+247655
+247729
+247828
+247902
+247976
+248050
+248124
+248198
+248272
+248346
+248420
+248494
+248568
+248642
+248716
+248790
+248864
+248938
+249012
+249087
+249161
+249235
+249309
+249383
+249457
+249531
+249605
+249679
+249753
+249827
+249901
+249975
+250048
+250122
+250195
+250268
+250342
+250415
+250489
+250562
+250635
+250709
+250782
+250855
+250929
+251002
+251075
+251149
+251222
+251296
+251369
+251442
+251516
+251613
+251687
+251760
+251833
+251907
+251980
+252054
+252127
+252200
+252274
+252347
+252420
+252494
+252567
+252640
+252714
+252787
+252861
+252934
+253007
+253081
+253154
+253227
+253301
+253374
+253447
+253521
+253594
+253667
+253741
+253814
+253888
+253961
+254034
+254108
+254181
+254254
+254328
+254401
+254474
+254548
+254621
+254694
+254768
+254841
+254915
+254988
+255061
+255135
+255208
+255306
+255379
+255453
+255526
+255599
+255673
+255746
+255819
+255893
+255966
+256039
+256113
+256186
+256259
+256333
+256406
+256480
+256553
+256626
+256700
+256773
+256846
+256920
+256993
+257066
+257140
+257213
+257287
+257360
+257433
+257507
+257580
+257653
+257727
+257800
+257873
+257947
+258020
+258093
+258167
+258240
+258314
+258387
+258460
+258534
+258607
+258680
+258754
+258827
+258900
+258974
+259072
+259145
+259218
+259292
+259365
+259438
+259512
+259585
+259658
+259732
+259805
+259879
+259952
+260025
+260099
+260172
+260245
+260319
+260392
+260465
+260539
+260612
+260685
+260759
+260832
+260906
+260979
+261052
+261126
+261199
+261272
+261346
+261419
+261492
+261566
+261639
+261712
+261786
+261859
+261933
+262006
+262079
+262153
+262226
+262299
+262373
+262446
+262519
+262593
+262666
+262764
+262837
+262911
+262984
+263057
+263131
+263204
+263277
+263351
+263424
+263498
+263571
+263644
+263718
+263791
+263864
+263938
+264011
+264084
+264158
+264231
+264305
+264378
+264451
+264525
+264598
+264671
+264745
+264818
+264891
+264965
+265038
+265111
+265185
+265258
+265332
+265405
+265478
+265552
+265625
+265698
+265772
+265845
+265918
+265992
+266065
+266138
+266212
+266285
+266359
+266432
+266530
+266603
+266676
+266750
+266823
+266897
+266970
+267043
+267117
+267190
+267263
+267337
+267410
+267483
+267557
+267630
+267703
+267777
+267850
+267924
+267997
+268070
+268144
+268217
+268290
+268364
+268437
+268510
+268584
+268657
+268731
+268804
+268877
+268951
+269024
+269097
+269170
+269242
+269315
+269388
+269461
+269534
+269607
+269680
+269753
+269826
+269898
+269971
+270044
+270117
+270214
+270287
+270360
+270433
+270506
+270579
+270652
+270725
+270797
+270870
+270943
+271016
+271089
+271162
+271235
+271308
+271381
+271453
+271526
+271599
+271672
+271745
+271818
+271891
+271964
+272037
+272109
+272182
+272255
+272328
+272401
+272474
+272547
+272620
+272693
+272765
+272838
+272911
+272984
+273057
+273130
+273203
+273276
+273349
+273421
+273494
+273567
+273640
+273713
+273786
+273859
+273956
+274029
+274102
+274175
+274248
+274320
+274393
+274466
+274539
+274612
+274685
+274758
+274831
+274904
+274976
+275049
+275122
+275195
+275268
+275341
+275414
+275487
+275560
+275632
+275705
+275778
+275851
+275924
+275997
+276070
+276143
+276216
+276289
+276361
+276434
+276507
+276580
+276653
+276726
+276799
+276872
+276945
+277017
+277090
+277163
+277236
+277309
+277382
+277455
+277528
+277625
+277698
+277771
+277843
+277916
+277989
+278062
+278135
+278208
+278281
+278354
+278427
+278500
+278572
+278645
+278718
+278791
+278864
+278937
+279010
+279083
+279156
+279228
+279301
+279374
+279447
+279520
+279593
+279666
+279739
+279812
+279884
+279957
+280030
+280103
+280176
+280249
+280322
+280395
+280468
+280540
+280613
+280686
+280759
+280832
+280905
+280978
+281051
+281124
+281196
+281269
+281367
+281439
+281512
+281585
+281658
+281731
+281804
+281877
+281950
+282023
+282095
+282168
+282241
+282314
+282387
+282460
+282533
+282606
+282679
+282751
+282824
+282897
+282970
+283043
+283116
+283189
+283262
+283335
+283407
+283480
+283553
+283626
+283699
+283772
+283845
+283918
+283991
+284063
+284136
+284209
+284282
+284355
+284428
+284501
+284574
+284647
+284719
+284792
+284865
+284938
+285035
+285108
+285181
+285254
+285327
+285400
+285473
+285546
+285618
+285691
+285764
+285837
+285910
+285983
+286056
+286129
+286202
+286274
+286347
+286420
+286493
+286566
+286639
+286712
+286785
+286858
+286930
+287003
+287076
+287149
+287222
+287295
+287368
+287441
+287514
+287586
+287659
+287732
+287805
+287878
+287951
+288024
+288096
+288168
+288241
+288313
+288386
+288458
+288531
+288603
+288675
+288772
+288844
+288917
+288989
+289062
+289134
+289207
+289279
+289351
+289424
+289496
+289569
+289641
+289714
+289786
+289858
+289931
+290003
+290076
+290148
+290221
+290293
+290365
+290438
+290510
+290583
+290655
+290728
+290800
+290872
+290945
+291017
+291090
+291162
+291235
+291307
+291379
+291452
+291524
+291597
+291669
+291742
+291814
+291886
+291959
+292031
+292104
+292176
+292249
+292321
+292418
+292490
+292562
+292635
+292707
+292780
+292852
+292925
+292997
+293069
+293142
+293214
+293287
+293359
+293432
+293504
+293576
+293649
+293721
+293794
+293866
+293939
+294011
+294083
+294156
+294228
+294301
+294373
+294445
+294518
+294590
+294663
+294735
+294808
+294880
+294952
+295025
+295097
+295170
+295242
+295315
+295387
+295459
+295532
+295604
+295677
+295749
+295822
+295894
+295966
+296039
+296135
+296208
+296280
+296353
+296425
+296498
+296570
+296642
+296715
+296787
+296860
+296932
+297005
+297077
+297149
+297222
+297294
+297367
+297439
+297512
+297584
+297656
+297729
+297801
+297874
+297946
+298019
+298091
+298163
+298236
+298308
+298381
+298453
+298526
+298598
+298670
+298743
+298815
+298888
+298960
+299033
+299105
+299177
+299250
+299322
+299395
+299467
+299540
+299612
+299684
+299781
+299853
+299926
+299998
+300071
+300143
+300216
+300288
+300360
+300433
+300505
+300578
+300650
+300722
+300795
+300867
+300940
+301012
+301085
+301157
+301229
+301302
+301374
+301447
+301519
+301592
+301664
+301736
+301809
+301881
+301954
+302026
+302099
+302171
+302243
+302316
+302388
+302461
+302533
+302606
+302678
+302750
+302823
+302895
+302968
+303040
+303113
+303185
+303257
+303330
+303402
+303499
+303571
+303644
+303716
+303789
+303861
+303933
+304006
+304078
+304151
+304223
+304296
+304368
+304440
+304513
+304585
+304658
+304730
+304803
+304875
+304947
+305020
+305092
+305165
+305237
+305310
+305382
+305454
+305527
+305599
+305672
+305744
+305817
+305889
+305961
+306034
+306106
+306179
+306251
+306324
+306396
+306468
+306541
+306613
+306686
+306758
+306831
+306903
+306975
+307048
+307144
+307216
+307288
+307360
+307432
+307504
+307576
+307648
+307720
+307792
+307864
+307936
+308008
+308080
+308152
+308225
+308297
+308369
+308441
+308513
+308585
+308657
+308729
+308801
+308873
+308945
+309017
+309089
+309161
+309233
+309305
+309378
+309450
+309522
+309594
+309666
+309738
+309810
+309882
+309954
+310026
+310098
+310170
+310242
+310314
+310386
+310458
+310530
+310603
+310675
+310747
+310843
+310915
+310987
+311059
+311131
+311203
+311275
+311347
+311419
+311491
+311563
+311635
+311707
+311780
+311852
+311924
+311996
+312068
+312140
+312212
+312284
+312356
+312428
+312500
+312572
+312644
+312716
+312788
+312860
+312932
+313005
+313077
+313149
+313221
+313293
+313365
+313437
+313509
+313581
+313653
+313725
+313797
+313869
+313941
+314013
+314085
+314158
+314230
+314302
+314374
+314470
+314542
+314614
+314686
+314758
+314830
+314902
+314974
+315046
+315118
+315190
+315262
+315335
+315407
+315479
+315551
+315623
+315695
+315767
+315839
+315911
+315983
+316055
+316127
+316199
+316271
+316343
+316415
+316487
+316560
+316632
+316704
+316776
+316848
+316920
+316992
+317064
+317136
+317208
+317280
+317352
+317424
+317496
+317568
+317640
+317713
+317785
+317857
+317929
+318001
+318073
+318169
+318241
+318313
+318385
+318457
+318529
+318601
+318673
+318745
+318817
+318890
+318962
+319034
+319106
+319178
+319250
+319322
+319394
+319466
+319538
+319610
+319682
+319754
+319826
+319898
+319970
+320042
+320115
+320187
+320259
+320331
+320403
+320475
+320547
+320619
+320691
+320763
+320835
+320907
+320979
+321051
+321123
+321195
+321268
+321340
+321412
+321484
+321556
+321628
+321700
+321796
+321868
+321940
+322012
+322084
+322156
+322228
+322300
+322372
+322445
+322517
+322589
+322661
+322733
+322805
+322877
+322949
+323021
+323093
+323165
+323237
+323309
+323381
+323453
+323525
+323597
+323670
+323742
+323814
+323886
+323958
+324030
+324102
+324174
+324246
+324318
+324390
+324462
+324534
+324606
+324678
+324750
+324823
+324895
+324967
+325039
+325111
+325183
+325255
+325327
+325399
+325495
+325567
+325639
+325711
+325783
+325855
+325927
+326000
+326071
+326143
+326215
+326287
+326358
+326430
+326502
+326574
+326646
+326717
+326789
+326861
+326933
+327005
+327076
+327148
+327220
+327292
+327363
+327435
+327507
+327579
+327651
+327722
+327794
+327866
+327938
+328010
+328081
+328153
+328225
+328297
+328369
+328440
+328512
+328584
+328656
+328727
+328799
+328871
+328943
+329015
+329110
+329182
+329254
+329326
+329397
+329469
+329541
+329613
+329685
+329756
+329828
+329900
+329972
+330044
+330115
+330187
+330259
+330331
+330403
+330474
+330546
+330618
+330690
+330761
+330833
+330905
+330977
+331049
+331120
+331192
+331264
+331336
+331408
+331479
+331551
+331623
+331695
+331767
+331838
+331910
+331982
+332054
+332125
+332197
+332269
+332341
+332413
+332484
+332556
+332628
+332700
+332795
+332867
+332939
+333011
+333083
+333154
+333226
+333298
+333370
+333442
+333513
+333585
+333657
+333729
+333801
+333872
+333944
+334016
+334088
+334159
+334231
+334303
+334375
+334447
+334518
+334590
+334662
+334734
+334806
+334877
+334949
+335021
+335093
+335164
+335236
+335308
+335380
+335452
+335523
+335595
+335667
+335739
+335811
+335882
+335954
+336026
+336098
+336170
+336241
+336313
+336409
+336481
+336552
+336624
+336696
+336768
+336840
+336911
+336983
+337055
+337127
+337198
+337270
+337342
+337414
+337486
+337557
+337629
+337701
+337773
+337845
+337916
+337988
+338060
+338132
+338204
+338275
+338347
+338419
+338491
+338562
+338634
+338706
+338778
+338850
+338921
+338993
+339065
+339137
+339209
+339280
+339352
+339424
+339496
+339568
+339639
+339711
+339783
+339855
+339926
+339998
+340094
+340166
+340238
+340309
+340381
+340453
+340525
+340596
+340668
+340740
+340812
+340884
+340955
+341027
+341099
+341171
+341243
+341314
+341386
+341458
+341530
+341602
+341673
+341745
+341817
+341889
+341960
+342032
+342104
+342176
+342248
+342319
+342391
+342463
+342535
+342607
+342678
+342750
+342822
+342894
+342965
+343037
+343109
+343181
+343253
+343324
+343396
+343468
+343540
+343612
+343707
+343779
+343851
+343923
+343994
+344066
+344138
+344210
+344282
+344353
+344425
+344497
+344569
+344641
+344712
+344784
+344856
+344928
+345000
+345071
+345143
+345214
+345286
+345357
+345429
+345500
+345572
+345643
+345715
+345786
+345858
+345929
+346001
+346072
+346144
+346215
+346287
+346358
+346430
+346501
+346573
+346644
+346716
+346787
+346859
+346930
+347002
+347074
+347145
+347217
+347288
+347383
+347455
+347526
+347598
+347670
+347741
+347813
+347884
+347956
+348027
+348099
+348170
+348242
+348313
+348385
+348456
+348528
+348599
+348671
+348742
+348814
+348885
+348957
+349028
+349100
+349171
+349243
+349314
+349386
+349457
+349529
+349601
+349672
+349744
+349815
+349887
+349958
+350030
+350101
+350173
+350244
+350316
+350387
+350459
+350530
+350602
+350673
+350745
+350816
+350888
+350983
+351055
+351126
+351198
+351269
+351341
+351412
+351484
+351555
+351627
+351698
+351770
+351841
+351913
+351984
+352056
+352127
+352199
+352271
+352342
+352414
+352485
+352557
+352628
+352700
+352771
+352843
+352914
+352986
+353057
+353129
+353200
+353272
+353343
+353415
+353486
+353558
+353629
+353701
+353772
+353844
+353915
+353987
+354058
+354130
+354202
+354273
+354345
+354416
+354488
+354559
+354654
+354726
+354797
+354869
+354941
+355012
+355084
+355155
+355227
+355298
+355370
+355441
+355513
+355584
+355656
+355727
+355799
+355870
+355942
+356013
+356085
+356156
+356228
+356299
+356371
+356442
+356514
+356585
+356657
+356728
+356800
+356872
+356943
+357015
+357086
+357158
+357229
+357301
+357372
+357444
+357515
+357587
+357658
+357730
+357801
+357873
+357944
+358016
+358087
+358159
+358254
+358326
+358397
+358469
+358540
+358612
+358683
+358755
+358826
+358898
+358969
+359041
+359112
+359184
+359255
+359327
+359398
+359470
+359542
+359613
+359685
+359756
+359828
+359899
+359971
+360042
+360114
+360185
+360257
+360328
+360400
+360471
+360543
+360614
+360686
+360757
+360829
+360900
+360972
+361043
+361115
+361186
+361258
+361329
+361401
+361473
+361544
+361616
+361687
+361759
+361830
+361925
+361997
+362069
+362140
+362212
+362283
+362355
+362426
+362498
+362569
+362641
+362712
+362784
+362855
+362927
+362998
+363070
+363141
+363213
+363284
+363356
+363427
+363499
+363570
+363642
+363713
+363785
+363856
+363928
+364000
+364071
+364142
+364214
+364285
+364356
+364428
+364499
+364570
+364642
+364713
+364784
+364856
+364927
+364998
+365070
+365141
+365212
+365284
+365355
+365426
+365521
+365593
+365664
+365735
+365807
+365878
+365949
+366021
+366092
+366163
+366235
+366306
+366377
+366449
+366520
+366591
+366663
+366734
+366806
+366877
+366948
+367020
+367091
+367162
+367234
+367305
+367376
+367448
+367519
+367590
+367662
+367733
+367804
+367876
+367947
+368018
+368090
+368161
+368232
+368304
+368375
+368446
+368518
+368589
+368660
+368732
+368803
+368874
+368946
+369017
+369088
+369183
+369255
+369326
+369397
+369469
+369540
+369612
+369683
+369754
+369826
+369897
+369968
+370040
+370111
+370182
+370254
+370325
+370396
+370468
+370539
+370610
+370682
+370753
+370824
+370896
+370967
+371038
+371110
+371181
+371252
+371324
+371395
+371466
+371538
+371609
+371680
+371752
+371823
+371894
+371966
+372037
+372108
+372180
+372251
+372322
+372394
+372465
+372536
+372608
+372679
+372774
+372846
+372917
+372988
+373060
+373131
+373202
+373274
+373345
+373416
+373488
+373559
+373630
+373702
+373773
+373844
+373916
+373987
+374058
+374130
+374201
+374272
+374344
+374415
+374486
+374558
+374629
+374700
+374772
+374843
+374914
+374986
+375057
+375128
+375200
+375271
+375342
+375414
+375485
+375556
+375628
+375699
+375770
+375842
+375913
+375984
+376056
+376127
+376198
+376270
+376341
+376436
+376508
+376579
+376650
+376722
+376793
+376864
+376936
+377007
+377078
+377150
+377221
+377292
+377364
+377435
+377506
+377578
+377649
+377720
+377792
+377863
+377934
+378006
+378077
+378148
+378220
+378291
+378362
+378434
+378505
+378576
+378648
+378719
+378790
+378862
+378933
+379005
+379076
+379147
+379219
+379290
+379361
+379433
+379504
+379575
+379647
+379718
+379789
+379861
+379932
+380027
+380098
+380170
+380241
+380312
+380384
+380455
+380526
+380598
+380669
+380740
+380812
+380883
+380954
+381026
+381097
+381168
+381240
+381311
+381382
+381454
+381525
+381596
+381668
+381739
+381811
+381882
+381953
+382025
+382096
+382167
+382239
+382310
+382381
+382453
+382524
+382595
+382667
+382738
+382809
+382881
+382952
+383023
+383094
+383165
+383236
+383307
+383379
+383450
+383521
+383592
+383687
+383758
+383829
+383900
+383971
+384042
+384113
+384184
+384255
+384326
+384397
+384468
+384539
+384610
+384682
+384753
+384824
+384895
+384966
+385037
+385108
+385179
+385250
+385321
+385392
+385463
+385534
+385605
+385677
+385748
+385819
+385890
+385961
+386032
+386103
+386174
+386245
+386316
+386387
+386458
+386529
+386600
+386672
+386743
+386814
+386885
+386956
+387027
+387098
+387169
+387264
+387335
+387406
+387477
+387548
+387619
+387690
+387761
+387832
+387903
+387975
+388046
+388117
+388188
+388259
+388330
+388401
+388472
+388543
+388614
+388685
+388756
+388827
+388899
+388970
+389041
+389112
+389183
+389254
+389325
+389396
+389467
+389538
+389609
+389680
+389751
+389822
+389894
+389965
+390036
+390107
+390178
+390249
+390320
+390391
+390462
+390533
+390604
+390675
+390746
+390817
+390912
+390983
+391054
+391125
+391197
+391268
+391339
+391410
+391481
+391552
+391623
+391694
+391765
+391836
+391907
+391978
+392049
+392120
+392192
+392263
+392334
+392405
+392476
+392547
+392618
+392689
+392760
+392831
+392902
+392973
+393044
+393115
+393187
+393258
+393329
+393400
+393471
+393542
+393613
+393684
+393755
+393826
+393897
+393968
+394039
+394110
+394182
+394253
+394324
+394395
+394490
+394561
+394632
+394703
+394774
+394845
+394916
+394987
+395058
+395129
+395200
+395271
+395342
+395413
+395485
+395556
+395627
+395698
+395769
+395840
+395911
+395982
+396053
+396124
+396195
+396266
+396337
+396408
+396480
+396551
+396622
+396693
+396764
+396835
+396906
+396977
+397048
+397119
+397190
+397261
+397332
+397403
+397475
+397546
+397617
+397688
+397759
+397830
+397901
+397972
+398043
+398138
+398209
+398280
+398351
+398422
+398493
+398564
+398635
+398706
+398778
+398849
+398920
+398991
+399062
+399133
+399204
+399275
+399346
+399417
+399488
+399559
+399630
+399701
+399773
+399844
+399915
+399986
+400057
+400128
+400199
+400270
+400341
+400412
+400483
+400554
+400625
+400697
+400768
+400839
+400910
+400981
+401052
+401123
+401194
+401265
+401336
+401407
+401478
+401549
+401620
+401715
+401786
+401857
+401928
+402000
+402070
+402141
+402212
+402283
+402354
+402425
+402496
+402567
+402638
+402709
+402780
+402851
+402922
+402993
+403064
+403135
+403206
+403277
+403348
+403419
+403490
+403561
+403632
+403703
+403774
+403845
+403916
+403987
+404058
+404129
+404200
+404271
+404342
+404413
+404484
+404555
+404626
+404697
+404768
+404839
+404910
+404981
+405052
+405123
+405194
+405265
+405359
+405430
+405501
+405572
+405643
+405714
+405785
+405856
+405927
+405998
+406069
+406140
+406211
+406282
+406353
+406424
+406495
+406566
+406637
+406708
+406779
+406850
+406921
+406992
+407063
+407134
+407205
+407276
+407347
+407418
+407489
+407560
+407631
+407702
+407773
+407844
+407915
+407986
+408057
+408128
+408199
+408270
+408341
+408412
+408483
+408554
+408625
+408696
+408767
+408838
+408932
+409003
+409074
+409145
+409216
+409287
+409358
+409429
+409500
+409571
+409642
+409713
+409784
+409855
+409926
+409997
+410068
+410139
+410210
+410281
+410352
+410423
+410494
+410565
+410636
+410707
+410778
+410849
+410920
+410991
+411062
+411133
+411204
+411275
+411346
+411417
+411488
+411559
+411630
+411701
+411772
+411843
+411914
+411985
+412056
+412127
+412198
+412268
+412339
+412410
+412481
+412576
+412647
+412718
+412789
+412860
+412931
+413002
+413073
+413144
+413215
+413286
+413357
+413428
+413499
+413570
+413641
+413712
+413783
+413854
+413925
+413996
+414067
+414138
+414209
+414280
+414351
+414422
+414493
+414564
+414635
+414706
+414777
+414848
+414919
+414990
+415061
+415132
+415202
+415273
+415344
+415415
+415486
+415557
+415628
+415699
+415770
+415841
+415912
+415983
+416054
+416149
+416220
+416291
+416362
+416433
+416504
+416575
+416646
+416717
+416788
+416859
+416930
+417001
+417072
+417143
+417214
+417285
+417356
+417427
+417498
+417569
+417640
+417711
+417782
+417853
+417924
+417995
+418066
+418136
+418207
+418278
+418349
+418420
+418491
+418562
+418633
+418704
+418775
+418846
+418917
+418988
+419059
+419130
+419201
+419272
+419343
+419414
+419485
+419556
+419627
+419698
+419793
+419864
+419935
+420006
+420077
+420148
+420219
+420290
+420361
+420432
+420503
+420574
+420645
+420716
+420787
+420858
+420929
+421000
+421070
+421141
+421212
+421282
+421353
+421424
+421495
+421565
+421636
+421707
+421777
+421848
+421919
+421990
+422060
+422131
+422202
+422272
+422343
+422414
+422485
+422555
+422626
+422697
+422767
+422838
+422909
+422980
+423050
+423121
+423192
+423263
+423357
+423428
+423498
+423569
+423640
+423710
+423781
+423852
+423923
+423993
+424064
+424135
+424205
+424276
+424347
+424418
+424488
+424559
+424630
+424700
+424771
+424842
+424913
+424983
+425054
+425125
+425196
+425266
+425337
+425408
+425478
+425549
+425620
+425691
+425761
+425832
+425903
+425973
+426044
+426115
+426186
+426256
+426327
+426398
+426468
+426539
+426610
+426681
+426751
+426822
+426893
+426987
+427058
+427129
+427199
+427270
+427341
+427411
+427482
+427553
+427624
+427694
+427765
+427836
+427906
+427977
+428048
+428119
+428189
+428260
+428331
+428401
+428472
+428543
+428614
+428684
+428755
+428826
+428897
+428967
+429038
+429109
+429179
+429250
+429321
+429392
+429462
+429533
+429604
+429674
+429745
+429816
+429887
+429957
+430028
+430099
+430169
+430240
+430311
+430382
+430452
+430547
+430617
+430688
+430759
+430830
+430900
+430971
+431042
+431112
+431183
+431254
+431325
+431395
+431466
+431537
+431607
+431678
+431749
+431820
+431890
+431961
+432032
+432102
+432173
+432244
+432315
+432385
+432456
+432527
+432598
+432668
+432739
+432810
+432880
+432951
+433022
+433093
+433163
+433234
+433305
+433375
+433446
+433517
+433588
+433658
+433729
+433800
+433870
+433941
+434012
+434083
+434177
+434248
+434318
+434389
+434460
+434531
+434601
+434672
+434743
+434813
+434884
+434955
+435026
+435096
+435167
+435238
+435308
+435379
+435450
+435521
+435591
+435662
+435733
+435803
+435874
+435945
+436016
+436086
+436157
+436228
+436299
+436369
+436440
+436511
+436581
+436652
+436723
+436794
+436864
+436935
+437006
+437076
+437147
+437218
+437289
+437359
+437430
+437501
+437571
+437642
+437736
+437807
+437878
+437949
+438019
+438090
+438161
+438232
+438302
+438373
+438444
+438514
+438585
+438656
+438727
+438797
+438868
+438939
+439009
+439080
+439151
+439222
+439292
+439363
+439434
+439504
+439575
+439646
+439717
+439787
+439858
+439929
+440000
+440070
+440141
+440211
+440282
+440353
+440423
+440494
+440565
+440635
+440706
+440776
+440847
+440918
+440988
+441059
+441130
+441200
+441271
+441365
+441436
+441506
+441577
+441648
+441718
+441789
+441859
+441930
+442001
+442071
+442142
+442213
+442283
+442354
+442425
+442495
+442566
+442636
+442707
+442778
+442848
+442919
+442990
+443060
+443131
+443201
+443272
+443343
+443413
+443484
+443555
+443625
+443696
+443767
+443837
+443908
+443978
+444049
+444120
+444190
+444261
+444332
+444402
+444473
+444543
+444614
+444685
+444755
+444826
+444920
+444991
+445061
+445132
+445203
+445273
+445344
+445415
+445485
+445556
+445627
+445697
+445768
+445838
+445909
+445980
+446050
+446121
+446192
+446262
+446333
+446403
+446474
+446545
+446615
+446686
+446757
+446827
+446898
+446969
+447039
+447110
+447180
+447251
+447322
+447392
+447463
+447534
+447604
+447675
+447745
+447816
+447887
+447957
+448028
+448099
+448169
+448240
+448311
+448381
+448452
+448546
+448617
+448687
+448758
+448828
+448899
+448970
+449040
+449111
+449182
+449252
+449323
+449394
+449464
+449535
+449605
+449676
+449747
+449817
+449888
+449959
+450029
+450100
+450171
+450241
+450312
+450382
+450453
+450524
+450594
+450665
+450736
+450806
+450877
+450947
+451018
+451089
+451159
+451230
+451301
+451371
+451442
+451513
+451583
+451654
+451724
+451795
+451866
+451936
+452007
+452101
+452172
+452242
+452313
+452384
+452454
+452525
+452596
+452666
+452737
+452807
+452878
+452949
+453019
+453090
+453161
+453231
+453302
+453372
+453443
+453514
+453584
+453655
+453726
+453796
+453867
+453938
+454008
+454079
+454149
+454220
+454291
+454361
+454432
+454503
+454573
+454644
+454714
+454785
+454856
+454926
+454997
+455068
+455138
+455209
+455280
+455350
+455421
+455491
+455562
+455633
+455727
+455798
+455868
+455939
+456009
+456080
+456151
+456221
+456292
+456363
+456433
+456504
+456574
+456645
+456716
+456786
+456857
+456928
+456998
+457069
+457140
+457210
+457281
+457351
+457422
+457493
+457563
+457634
+457705
+457775
+457846
+457916
+457987
+458058
+458128
+458199
+458270
+458340
+458411
+458482
+458552
+458623
+458693
+458764
+458835
+458905
+458976
+459046
+459117
+459187
+459281
+459352
+459422
+459493
+459563
+459634
+459704
+459775
+459845
+459915
+459986
+460056
+460127
+460197
+460268
+460338
+460409
+460479
+460550
+460620
+460690
+460761
+460831
+460902
+460972
+461043
+461113
+461184
+461254
+461325
+461395
+461466
+461536
+461606
+461677
+461747
+461818
+461888
+461959
+462029
+462100
+462170
+462241
+462311
+462381
+462452
+462522
+462593
+462663
+462734
+462804
+462898
+462969
+463039
+463110
+463180
+463250
+463321
+463391
+463462
+463532
+463603
+463673
+463744
+463814
+463885
+463955
+464025
+464096
+464166
+464237
+464307
+464378
+464448
+464519
+464589
+464660
+464730
+464800
+464871
+464941
+465012
+465082
+465153
+465223
+465294
+465364
+465435
+465505
+465576
+465646
+465716
+465787
+465857
+465928
+465998
+466069
+466139
+466210
+466280
+466351
+466444
+466515
+466585
+466656
+466726
+466797
+466867
+466938
+467008
+467079
+467149
+467220
+467290
+467360
+467431
+467501
+467572
+467642
+467713
+467783
+467854
+467924
+467995
+468065
+468135
+468206
+468276
+468347
+468417
+468488
+468558
+468629
+468699
+468770
+468840
+468911
+468981
+469051
+469122
+469192
+469263
+469333
+469404
+469474
+469545
+469615
+469686
+469756
+469826
+469897
+469967
+470061
+470132
+470202
+470273
+470343
+470414
+470484
+470555
+470625
+470695
+470766
+470836
+470907
+470977
+471048
+471118
+471189
+471259
+471330
+471400
+471470
+471541
+471611
+471682
+471752
+471823
+471893
+471964
+472034
+472105
+472175
+472245
+472316
+472386
+472457
+472527
+472598
+472668
+472739
+472809
+472880
+472950
+473021
+473091
+473161
+473232
+473302
+473373
+473443
+473514
+473608
+473678
+473749
+473819
+473889
+473960
+474030
+474101
+474171
+474242
+474312
+474383
+474453
+474524
+474594
+474665
+474735
+474805
+474876
+474946
+475017
+475087
+475158
+475228
+475299
+475369
+475440
+475510
+475580
+475651
+475721
+475792
+475862
+475933
+476003
+476074
+476144
+476215
+476285
+476355
+476426
+476496
+476567
+476637
+476708
+476778
+476849
+476919
+476990
+477060
+477131
+477224
+477295
+477365
+477436
+477506
+477577
+477647
+477718
+477788
+477859
+477929
+478000
+478070
+478140
+478211
+478281
+478352
+478422
+478493
+478563
+478634
+478704
+478775
+478845
+478915
+478986
+479056
+479127
+479197
+479268
+479338
+479409
+479479
+479550
+479620
+479690
+479761
+479831
+479902
+479972
+480043
+480113
+480184
+480254
+480325
+480395
+480466
+480536
+480606
+480677
+480771
+480841
+480912
+480982
+481053
+481123
+481194
+481264
+481334
+481405
+481475
+481546
+481616
+481687
+481757
+481828
+481898
+481969
+482039
+482110
+482180
+482250
+482321
+482391
+482462
+482532
+482603
+482673
+482744
+482814
+482885
+482955
+483025
+483096
+483166
+483237
+483307
+483378
+483448
+483519
+483589
+483660
+483730
+483800
+483871
+483941
+484012
+484082
+484153
+484223
+484294
+484388
+484458
+484529
+484599
+484669
+484740
+484810
+484881
+484951
+485022
+485092
+485163
+485233
+485304
+485374
+485444
+485515
+485585
+485656
+485726
+485797
+485867
+485938
+486008
+486079
+486149
+486220
+486290
+486360
+486431
+486501
+486572
+486642
+486713
+486783
+486854
+486924
+486995
+487065
+487135
+487206
+487276
+487347
+487417
+487488
+487558
+487629
+487699
+487770
+487840
+487934
+488004
+488075
+488145
+488216
+488286
+488357
+488427
+488498
+488568
+488639
+488709
+488779
+488850
+488920
+488991
+489061
+489132
+489202
+489273
+489343
+489414
+489484
+489555
+489625
+489695
+489766
+489836
+489907
+489977
+490048
+490118
+490189
+490259
+490330
+490400
+490470
+490541
+490611
+490682
+490752
+490823
+490893
+490964
+491034
+491105
+491175
+491245
+491316
+491386
+491457
+491551
+491621
+491692
+491762
+491833
+491903
+491974
+492044
+492114
+492185
+492255
+492326
+492396
+492467
+492537
+492608
+492678
+492749
+492819
+492889
+492960
+493030
+493101
+493171
+493242
+493312
+493383
+493453
+493524
+493594
+493665
+493735
+493805
+493876
+493946
+494017
+494087
+494158
+494228
+494299
+494369
+494440
+494510
+494580
+494651
+494721
+494792
+494862
+494933
+495003
+495097
+495168
+495238
+495309
+495379
+495449
+495520
+495590
+495661
+495731
+495802
+495872
+495943
+496013
+496084
+496154
+496224
+496295
+496365
+496436
+496506
+496577
+496647
+496718
+496788
+496859
+496929
+497000
+497070
+497140
+497211
+497281
+497351
+497422
+497492
+497562
+497633
+497703
+497774
+497844
+497914
+497985
+498055
+498125
+498196
+498266
+498337
+498407
+498477
+498548
+498618
+498712
+498782
+498853
+498923
+498993
+499064
+499134
+499204
+499275
+499345
+499416
+499486
+499556
+499627
+499697
+499767
+499838
+499908
+499979
+500049
+500119
+500190
+500260
+500330
+500401
+500471
+500541
+500612
+500682
+500753
+500823
+500893
+500964
+501034
+501104
+501175
+501245
+501316
+501386
+501456
+501527
+501597
+501667
+501738
+501808
+501879
+501949
+502019
+502090
+502160
+502254
+502324
+502395
+502465
+502535
+502606
+502676
+502746
+502817
+502887
+502958
+503028
+503098
+503169
+503239
+503309
+503380
+503450
+503520
+503591
+503661
+503732
+503802
+503872
+503943
+504013
+504083
+504154
+504224
+504295
+504365
+504435
+504506
+504576
+504646
+504717
+504787
+504858
+504928
+504998
+505069
+505139
+505209
+505280
+505350
+505420
+505491
+505561
+505632
+505702
+505772
+505866
+505937
+506007
+506077
+506148
+506218
+506288
+506359
+506429
+506500
+506570
+506640
+506711
+506781
+506851
+506922
+506992
+507062
+507133
+507203
+507274
+507344
+507414
+507485
+507555
+507625
+507696
+507766
+507837
+507907
+507977
+508048
+508118
+508188
+508259
+508329
+508400
+508470
+508540
+508611
+508681
+508751
+508822
+508892
+508962
+509033
+509103
+509174
+509244
+509314
+509408
+509479
+509549
+509619
+509690
+509760
+509830
+509901
+509971
+510041
+510112
+510182
+510253
+510323
+510393
+510464
+510534
+510604
+510675
+510745
+510816
+510886
+510956
+511027
+511097
+511167
+511238
+511308
+511379
+511449
+511519
+511590
+511660
+511730
+511801
+511871
+511941
+512012
+512082
+512153
+512223
+512293
+512364
+512434
+512504
+512575
+512645
+512716
+512786
+512856
+512927
+513020
+513091
+513161
+513232
+513302
+513372
+513443
+513513
+513583
+513654
+513724
+513795
+513865
+513935
+514006
+514076
+514146
+514217
+514287
+514358
+514428
+514498
+514569
+514639
+514709
+514780
+514850
+514920
+514991
+515061
+515132
+515202
+515272
+515343
+515413
+515483
+515554
+515624
+515695
+515765
+515835
+515906
+515976
+516046
+516117
+516187
+516257
+516327
+516398
+516468
+516562
+516632
+516702
+516773
+516843
+516913
+516983
+517054
+517124
+517194
+517265
+517335
+517405
+517475
+517546
+517616
+517686
+517757
+517827
+517897
+517967
+518038
+518108
+518178
+518249
+518319
+518389
+518459
+518530
+518600
+518670
+518741
+518811
+518881
+518951
+519022
+519092
+519162
+519233
+519303
+519373
+519443
+519514
+519584
+519654
+519725
+519795
+519865
+519935
+520006
+520076
+520170
+520240
+520310
+520381
+520451
+520521
+520591
+520662
+520732
+520802
+520872
+520943
+521013
+521083
+521154
+521224
+521294
+521364
+521435
+521505
+521575
+521646
+521716
+521786
+521856
+521927
+521997
+522067
+522138
+522208
+522278
+522348
+522419
+522489
+522559
+522630
+522700
+522770
+522840
+522911
+522981
+523051
+523122
+523192
+523262
+523332
+523403
+523473
+523543
+523614
+523707
+523778
+523848
+523918
+523988
+524059
+524129
+524199
+524270
+524340
+524410
+524480
+524551
+524621
+524691
+524762
+524832
+524902
+524972
+525043
+525113
+525183
+525254
+525324
+525394
+525464
+525535
+525605
+525675
+525745
+525816
+525886
+525956
+526027
+526097
+526167
+526237
+526308
+526378
+526448
+526519
+526589
+526659
+526729
+526800
+526870
+526940
+527011
+527081
+527151
+527221
+527315
+527385
+527456
+527526
+527596
+527667
+527737
+527807
+527877
+527948
+528018
+528088
+528159
+528229
+528299
+528369
+528440
+528510
+528580
+528651
+528721
+528791
+528861
+528932
+529002
+529072
+529143
+529213
+529283
+529353
+529424
+529494
+529564
+529635
+529705
+529775
+529845
+529916
+529986
+530056
+530127
+530197
+530267
+530337
+530408
+530478
+530548
+530618
+530689
+530759
+530853
+530923
+530993
+531064
+531134
+531204
+531274
+531345
+531415
+531485
+531556
+531626
+531696
+531766
+531837
+531907
+531977
+532048
+532118
+532188
+532258
+532329
+532399
+532469
+532540
+532610
+532680
+532750
+532821
+532891
+532961
+533032
+533102
+533172
+533242
+533313
+533383
+533453
+533524
+533594
+533664
+533734
+533805
+533875
+533945
+534016
+534086
+534156
+534226
+534297
+534367
+534461
+534531
+534601
+534672
+534742
+534812
+534882
+534953
+535023
+535093
+535164
+535234
+535304
+535375
+535445
+535516
+535586
+535656
+535727
+535797
+535867
+535938
+536008
+536079
+536149
+536219
+536290
+536360
+536430
+536501
+536571
+536641
+536712
+536782
+536853
+536923
+536993
+537064
+537134
+537204
+537275
+537345
+537416
+537486
+537556
+537627
+537697
+537767
+537838
+537908
+538002
+538072
+538143
+538213
+538283
+538354
+538424
+538495
+538565
+538635
+538706
+538776
+538846
+538917
+538987
+539058
+539128
+539198
+539269
+539339
+539409
+539480
+539550
+539620
+539691
+539761
+539832
+539902
+539972
+540043
+540113
+540183
+540254
+540324
+540395
+540465
+540535
+540606
+540676
+540746
+540817
+540887
+540958
+541028
+541098
+541169
+541239
+541309
+541380
+541450
+541520
+541614
+541685
+541755
+541825
+541896
+541966
+542037
+542107
+542177
+542248
+542318
+542388
+542459
+542529
+542600
+542670
+542740
+542811
+542881
+542951
+543022
+543092
+543162
+543233
+543303
+543374
+543444
+543514
+543585
+543655
+543725
+543796
+543866
+543937
+544007
+544077
+544148
+544218
+544288
+544359
+544429
+544500
+544570
+544640
+544711
+544781
+544851
+544922
+544992
+545062
+545156
+545227
+545297
+545367
+545438
+545508
+545579
+545649
+545719
+545790
+545860
+545930
+546001
+546071
+546141
+546212
+546282
+546353
+546423
+546493
+546564
+546634
+546704
+546775
+546845
+546916
+546986
+547056
+547127
+547197
+547267
+547338
+547408
+547479
+547549
+547619
+547690
+547760
+547830
+547901
+547971
+548041
+548112
+548182
+548253
+548323
+548393
+548464
+548534
+548604
+548675
+548769
+548839
+548909
+548980
+549050
+549120
+549191
+549261
+549332
+549402
+549472
+549543
+549613
+549683
+549754
+549824
+549895
+549965
+550035
+550106
+550176
+550246
+550317
+550387
+550458
+550528
+550598
+550669
+550739
+550809
+550880
+550950
+551020
+551091
+551161
+551232
+551302
+551372
+551443
+551513
+551583
+551654
+551724
+551795
+551865
+551935
+552006
+552076
+552146
+552217
+552311
+552381
+552451
+552522
+552592
+552662
+552733
+552803
+552874
+552944
+553014
+553085
+553155
+553225
+553296
+553366
+553437
+553507
+553577
+553648
+553718
+553788
+553859
+553929
+554000
+554070
+554140
+554211
+554281
+554351
+554422
+554492
+554562
+554633
+554703
+554774
+554844
+554914
+554985
+555055
+555125
+555196
+555266
+555337
+555407
+555477
+555548
+555618
+555688
+555759
+555829
+555923
+555993
+556064
+556134
+556204
+556275
+556345
+556416
+556486
+556556
+556627
+556697
+556767
+556838
+556908
+556979
+557049
+557119
+557190
+557260
+557330
+557401
+557471
+557541
+557612
+557682
+557753
+557823
+557893
+557964
+558034
+558104
+558175
+558245
+558316
+558386
+558456
+558527
+558597
+558667
+558738
+558808
+558879
+558949
+559019
+559090
+559160
+559230
+559301
+559371
+559465
+559535
+559606
+559676
+559746
+559817
+559887
+559958
+560028
+560098
+560169
+560239
+560309
+560380
+560450
+560520
+560591
+560661
+560732
+560802
+560872
+560943
+561013
+561083
+561154
+561224
+561295
+561365
+561435
+561506
+561576
+561646
+561717
+561787
+561858
+561928
+561998
+562069
+562139
+562209
+562280
+562350
+562420
+562491
+562561
+562632
+562702
+562772
+562843
+562913
+562983
+563077
+563148
+563218
+563288
+563359
+563429
+563500
+563570
+563640
+563711
+563781
+563851
+563922
+563992
+564062
+564133
+564203
+564274
+564344
+564414
+564485
+564555
+564625
+564696
+564766
+564837
+564907
+564977
+565048
+565118
+565188
+565259
+565329
+565400
+565470
+565540
+565611
+565681
+565751
+565822
+565892
+565962
+566033
+566103
+566174
+566244
+566314
+566385
+566455
+566525
+566619
+566690
+566760
+566830
+566901
+566971
+567041
+567112
+567182
+567253
+567323
+567393
+567464
+567534
+567604
+567675
+567745
+567816
+567886
+567956
+568027
+568097
+568167
+568238
+568308
+568379
+568449
+568519
+568590
+568660
+568730
+568801
+568871
+568941
+569012
+569082
+569153
+569223
+569293
+569364
+569434
+569504
+569575
+569645
+569716
+569786
+569856
+569927
+569997
+570067
+570138
+570232
+570302
+570372
+570443
+570513
+570583
+570654
+570724
+570795
+570865
+570935
+571006
+571076
+571146
+571217
+571287
+571358
+571428
+571498
+571569
+571639
+571709
+571780
+571850
+571920
+571991
+572061
+572132
+572202
+572272
+572343
+572413
+572483
+572554
+572624
+572695
+572765
+572835
+572906
+572976
+573047
+573117
+573188
+573258
+573329
+573399
+573470
+573540
+573611
+573681
+573775
+573846
+573917
+573987
+574058
+574128
+574199
+574269
+574340
+574410
+574481
+574551
+574622
+574693
+574763
+574834
+574904
+574975
+575045
+575116
+575186
+575257
+575327
+575398
+575469
+575539
+575610
+575680
+575751
+575821
+575892
+575962
+576033
+576103
+576174
+576245
+576315
+576386
+576456
+576527
+576597
+576668
+576738
+576809
+576879
+576950
+577021
+577091
+577162
+577232
+577303
+577397
+577467
+577538
+577608
+577679
+577750
+577820
+577891
+577961
+578032
+578102
+578173
+578243
+578314
+578384
+578455
+578525
+578596
+578667
+578737
+578808
+578878
+578949
+579019
+579090
+579160
+579231
+579301
+579372
+579443
+579513
+579584
+579654
+579725
+579795
+579866
+579936
+580007
+580077
+580148
+580219
+580289
+580360
+580430
+580501
+580571
+580642
+580712
+580783
+580853
+580948
+581018
+581089
+581159
+581230
+581300
+581371
+581441
+581512
+581582
+581653
+581724
+581794
+581865
+581935
+582006
+582076
+582147
+582217
+582288
+582358
+582429
+582500
+582570
+582641
+582711
+582782
+582852
+582923
+582993
+583064
+583134
+583205
+583275
+583346
+583417
+583487
+583558
+583628
+583699
+583769
+583840
+583910
+583981
+584051
+584122
+584193
+584263
+584334
+584404
+584475
+584569
+584639
+584710
+584780
+584851
+584922
+584992
+585063
+585133
+585204
+585274
+585345
+585415
+585486
+585556
+585627
+585698
+585768
+585839
+585909
+585980
+586050
+586121
+586191
+586262
+586332
+586403
+586474
+586544
+586615
+586685
+586756
+586826
+586897
+586967
+587038
+587108
+587179
+587250
+587320
+587391
+587461
+587532
+587602
+587673
+587743
+587814
+587884
+587955
+588025
+588120
+588190
+588261
+588331
+588402
+588472
+588543
+588613
+588684
+588754
+588825
+588896
+588966
+589037
+589107
+589178
+589248
+589319
+589389
+589460
+589530
+589601
+589672
+589742
+589813
+589883
+589954
+590024
+590095
+590165
+590236
+590306
+590377
+590448
+590518
+590589
+590659
+590730
+590800
+590871
+590941
+591012
+591082
+591153
+591224
+591294
+591365
+591435
+591506
+591576
+591647
+591741
+591811
+591882
+591952
+592023
+592094
+592164
+592235
+592305
+592376
+592446
+592517
+592587
+592658
+592728
+592799
+592870
+592940
+593011
+593081
+593152
+593222
+593293
+593363
+593434
+593504
+593575
+593646
+593716
+593787
+593857
+593928
+593998
+594069
+594139
+594210
+594280
+594351
+594422
+594492
+594563
+594633
+594704
+594774
+594845
+594915
+594986
+595056
+595127
+595198
+595292
+595362
+595433
+595503
+595574
+595644
+595715
+595785
+595856
+595926
+595997
+596068
+596138
+596209
+596279
+596350
+596420
+596491
+596561
+596632
+596702
+596773
+596844
+596914
+596985
+597055
+597126
+597196
+597267
+597337
+597408
+597478
+597549
+597620
+597690
+597761
+597831
+597902
+597972
+598043
+598113
+598184
+598254
+598325
+598396
+598466
+598537
+598607
+598678
+598748
+598819
+598913
+598983
+599054
+599125
+599195
+599266
+599336
+599407
+599477
+599548
+599618
+599689
+599759
+599830
+599900
+599971
+600042
+600112
+600183
+600253
+600324
+600394
+600465
+600535
+600606
+600676
+600747
+600818
+600888
+600959
+601029
+601100
+601170
+601241
+601311
+601382
+601452
+601523
+601594
+601664
+601735
+601805
+601876
+601946
+602017
+602087
+602158
+602228
+602299
+602370
+602464
+602534
+602605
+602675
+602746
+602816
+602887
+602957
+603028
+603099
+603169
+603240
+603310
+603381
+603451
+603522
+603592
+603663
+603733
+603804
+603875
+603945
+604016
+604086
+604157
+604227
+604298
+604368
+604439
+604509
+604580
+604650
+604721
+604792
+604862
+604933
+605003
+605074
+605144
+605215
+605285
+605356
+605426
+605497
+605568
+605638
+605709
+605779
+605850
+605920
+605991
+606085
+606155
+606226
+606297
+606367
+606438
+606508
+606579
+606649
+606720
+606790
+606861
+606931
+607002
+607073
+607143
+607214
+607284
+607355
+607425
+607496
+607566
+607637
+607707
+607778
+607849
+607919
+607990
+608060
+608131
+608201
+608272
+608342
+608413
+608483
+608554
+608625
+608695
+608766
+608836
+608907
+608977
+609048
+609118
+609189
+609259
+609330
+609400
+609471
+609542
+609636
+609706
+609777
+609847
+609918
+609988
+610059
+610129
+610200
+610271
+610341
+610412
+610482
+610553
+610623
+610694
+610764
+610835
+610905
+610976
+611047
+611117
+611188
+611259
+611330
+611400
+611471
+611542
+611612
+611683
+611754
+611825
+611895
+611966
+612037
+612107
+612178
+612249
+612320
+612390
+612461
+612532
+612602
+612673
+612744
+612815
+612885
+612956
+613027
+613098
+613168
+613263
+613333
+613404
+613475
+613545
+613616
+613687
+613758
+613828
+613899
+613970
+614040
+614111
+614182
+614253
+614323
+614394
+614465
+614535
+614606
+614677
+614748
+614818
+614889
+614960
+615031
+615101
+615172
+615243
+615313
+615384
+615455
+615526
+615596
+615667
+615738
+615808
+615879
+615950
+616021
+616091
+616162
+616233
+616303
+616374
+616445
+616516
+616586
+616657
+616728
+616822
+616893
+616964
+617034
+617105
+617176
+617246
+617317
+617388
+617459
+617529
+617600
+617671
+617741
+617812
+617883
+617954
+618024
+618095
+618166
+618236
+618307
+618378
+618449
+618519
+618590
+618661
+618732
+618802
+618873
+618944
+619014
+619085
+619156
+619227
+619297
+619368
+619439
+619509
+619580
+619651
+619722
+619792
+619863
+619934
+620004
+620075
+620146
+620217
+620287
+620358
+620452
+620523
+620594
+620665
+620735
+620806
+620877
+620947
+621018
+621089
+621160
+621230
+621301
+621372
+621442
+621513
+621584
+621655
+621725
+621796
+621867
+621937
+622008
+622079
+622150
+622220
+622291
+622362
+622433
+622503
+622574
+622645
+622715
+622786
+622857
+622928
+622998
+623069
+623140
+623210
+623281
+623352
+623423
+623493
+623564
+623635
+623705
+623776
+623847
+623918
+624012
+624083
+624153
+624224
+624295
+624366
+624436
+624507
+624578
+624648
+624719
+624790
+624861
+624931
+625002
+625073
+625143
+625214
+625285
+625356
+625426
+625497
+625568
+625638
+625709
+625780
+625851
+625921
+625992
+626063
+626133
+626204
+626275
+626346
+626416
+626487
+626558
+626629
+626699
+626770
+626841
+626911
+626982
+627053
+627124
+627194
+627265
+627336
+627406
+627477
+627548
+627642
+627713
+627784
+627854
+627925
+627996
+628066
+628137
+628208
+628279
+628349
+628420
+628491
+628562
+628632
+628703
+628774
+628844
+628915
+628986
+629057
+629127
+629198
+629269
+629339
+629410
+629481
+629552
+629622
+629693
+629764
+629834
+629905
+629976
+630047
+630118
+630189
+630259
+630330
+630401
+630472
+630543
+630614
+630685
+630756
+630827
+630898
+630968
+631039
+631110
+631205
+631276
+631347
+631417
+631488
+631559
+631630
+631701
+631772
+631843
+631914
+631985
+632055
+632126
+632197
+632268
+632339
+632410
+632481
+632552
+632623
+632694
+632764
+632835
+632906
+632977
+633048
+633119
+633190
+633261
+633332
+633402
+633473
+633544
+633615
+633686
+633757
+633828
+633899
+633970
+634041
+634111
+634182
+634253
+634324
+634395
+634466
+634537
+634608
+634679
+634750
+634844
+634915
+634986
+635057
+635128
+635199
+635269
+635340
+635411
+635482
+635553
+635624
+635695
+635766
+635837
+635907
+635978
+636049
+636120
+636191
+636262
+636333
+636404
+636475
+636546
+636616
+636687
+636758
+636829
+636900
+636971
+637042
+637113
+637184
+637254
+637325
+637396
+637467
+637538
+637609
+637680
+637751
+637822
+637893
+637963
+638034
+638105
+638176
+638247
+638318
+638412
+638483
+638554
+638625
+638696
+638767
+638838
+638909
+638980
+639050
+639121
+639192
+639263
+639334
+639405
+639476
+639547
+639618
+639689
+639759
+639830
+639901
+639972
+640043
+640114
+640185
+640256
+640327
+640398
+640468
+640539
+640610
+640681
+640752
+640823
+640894
+640965
+641036
+641106
+641177
+641248
+641319
+641390
+641461
+641532
+641603
+641674
+641745
+641815
+641886
+641957
+642052
+642123
+642194
+642264
+642335
+642406
+642477
+642548
+642619
+642690
+642761
+642832
+642902
+642973
+643044
+643115
+643186
+643257
+643328
+643399
+643470
+643541
+643611
+643682
+643753
+643824
+643895
+643966
+644037
+644108
+644179
+644250
+644320
+644391
+644462
+644533
+644604
+644675
+644746
+644817
+644888
+644958
+645029
+645100
+645171
+645242
+645313
+645384
+645455
+645526
+645620
+645691
+645762
+645833
+645904
+645975
+646046
+646116
+646187
+646258
+646329
+646400
+646471
+646542
+646613
+646684
+646754
+646825
+646896
+646967
+647038
+647109
+647180
+647251
+647322
+647393
+647463
+647534
+647605
+647676
+647747
+647818
+647889
+647960
+648031
+648101
+648172
+648243
+648314
+648385
+648456
+648527
+648598
+648669
+648740
+648810
+648881
+648952
+649023
+649094
+649166
+649260
+649332
+649403
+649474
+649545
+649616
+649687
+649759
+649830
+649901
+649972
+650043
+650114
+650186
+650257
+650328
+650399
+650470
+650541
+650612
+650684
+650755
+650826
+650897
+650968
+651039
+651111
+651182
+651253
+651324
+651395
+651466
+651538
+651609
+651680
+651751
+651822
+651893
+651965
+652036
+652107
+652178
+652249
+652320
+652392
+652463
+652534
+652605
+652676
+652747
+652842
+652913
+652985
+653056
+653127
+653198
+653269
+653340
+653411
+653483
+653554
+653625
+653696
+653767
+653838
+653910
+653981
+654052
+654123
+654194
+654265
+654337
+654408
+654479
+654550
+654621
+654692
+654764
+654835
+654906
+654977
+655048
+655119
+655191
+655262
+655333
+655404
+655475
+655546
+655617
+655689
+655760
+655831
+655902
+655973
+656044
+656116
+656187
+656258
+656329
+656400
+656495
+656566
+656637
+656709
+656780
+656851
+656922
+656993
+657064
+657136
+657207
+657278
+657349
+657420
+657491
+657563
+657634
+657705
+657776
+657847
+657918
+657990
+658061
+658132
+658203
+658274
+658345
+658416
+658488
+658559
+658630
+658701
+658772
+658843
+658915
+658986
+659057
+659128
+659199
+659270
+659342
+659413
+659484
+659555
+659626
+659697
+659769
+659840
+659911
+659982
+660077
+660148
+660219
+660290
+660362
+660433
+660504
+660575
+660646
+660717
+660789
+660860
+660931
+661002
+661073
+661144
+661215
+661287
+661358
+661429
+661500
+661571
+661642
+661714
+661785
+661856
+661927
+661998
+662069
+662141
+662212
+662283
+662354
+662425
+662496
+662568
+662639
+662710
+662781
+662852
+662923
+662995
+663066
+663137
+663208
+663279
+663350
+663421
+663493
+663564
+663635
+663730
+663801
+663872
+663943
+664014
+664086
+664157
+664228
+664299
+664370
+664441
+664513
+664584
+664655
+664726
+664797
+664868
+664940
+665011
+665082
+665153
+665224
+665295
+665367
+665438
+665509
+665580
+665651
+665722
+665794
+665865
+665936
+666007
+666078
+666149
+666220
+666292
+666363
+666434
+666505
+666576
+666647
+666719
+666790
+666861
+666932
+667003
+667074
+667146
+667217
+667312
+667383
+667454
+667525
+667596
+667667
+667739
+667810
+667881
+667952
+668023
+668095
+668166
+668237
+668308
+668380
+668451
+668522
+668593
+668665
+668736
+668807
+668878
+668950
+669021
+669092
+669163
+669235
+669306
+669377
+669448
+669520
+669591
+669662
+669733
+669805
+669876
+669947
+670018
+670090
+670161
+670232
+670303
+670375
+670446
+670517
+670588
+670660
+670731
+670802
+670873
+670968
+671040
+671111
+671182
+671253
+671325
+671396
+671467
+671538
+671610
+671681
+671752
+671823
+671895
+671966
+672037
+672108
+672180
+672251
+672322
+672393
+672465
+672536
+672607
+672678
+672750
+672821
+672892
+672963
+673035
+673106
+673177
+673248
+673320
+673391
+673462
+673533
+673605
+673676
+673747
+673818
+673890
+673961
+674032
+674103
+674175
+674246
+674317
+674388
+674460
+674555
+674626
+674697
+674768
+674840
+674911
+674982
+675053
+675125
+675196
+675267
+675338
+675410
+675481
+675552
+675623
+675695
+675766
+675837
+675908
+675980
+676051
+676122
+676193
+676265
+676336
+676407
+676478
+676550
+676621
+676692
+676763
+676835
+676906
+676977
+677048
+677120
+677191
+677262
+677333
+677405
+677476
+677547
+677618
+677690
+677761
+677832
+677903
+677975
+678046
+678117
+678212
+678283
+678355
+678426
+678497
+678568
+678640
+678711
+678782
+678853
+678925
+678996
+679067
+679138
+679210
+679281
+679352
+679423
+679495
+679566
+679637
+679708
+679780
+679851
+679922
+679993
+680065
+680136
+680207
+680278
+680350
+680421
+680492
+680563
+680635
+680706
+680777
+680848
+680920
+680991
+681062
+681133
+681205
+681276
+681347
+681418
+681490
+681561
+681632
+681703
+681798
+681870
+681941
+682012
+682083
+682155
+682226
+682297
+682368
+682440
+682511
+682582
+682653
+682725
+682796
+682867
+682938
+683010
+683081
+683152
+683223
+683295
+683366
+683437
+683508
+683580
+683651
+683722
+683793
+683865
+683936
+684007
+684078
+684150
+684221
+684292
+684363
+684435
+684506
+684577
+684648
+684720
+684791
+684862
+684933
+685005
+685076
+685147
+685218
+685290
+685361
+685456
+685527
+685598
+685670
+685741
+685812
+685883
+685955
+686026
+686097
+686168
+686240
+686311
+686382
+686453
+686525
+686596
+686667
+686738
+686810
+686881
+686952
+687023
+687095
+687167
+687238
+687310
+687381
+687453
+687525
+687596
+687668
+687739
+687811
+687883
+687954
+688026
+688097
+688169
+688241
+688312
+688384
+688456
+688527
+688599
+688670
+688742
+688814
+688885
+688957
+689052
+689124
+689195
+689267
+689339
+689410
+689482
+689554
+689625
+689697
+689768
+689840
+689912
+689983
+690055
+690126
+690198
+690270
+690341
+690413
+690484
+690556
+690628
+690699
+690771
+690842
+690914
+690986
+691057
+691129
+691201
+691272
+691344
+691415
+691487
+691559
+691630
+691702
+691773
+691845
+691917
+691988
+692060
+692131
+692203
+692275
+692346
+692418
+692489
+692561
+692633
+692728
+692800
+692871
+692943
+693015
+693086
+693158
+693229
+693301
+693373
+693444
+693516
+693587
+693659
+693731
+693802
+693874
+693945
+694017
+694089
+694160
+694232
+694304
+694375
+694447
+694518
+694590
+694662
+694733
+694805
+694876
+694948
+695020
+695091
+695163
+695234
+695306
+695378
+695449
+695521
+695592
+695664
+695736
+695807
+695879
+695951
+696022
+696094
+696165
+696237
+696332
+696404
+696476
+696547
+696619
+696690
+696762
+696834
+696905
+696977
+697048
+697120
+697192
+697263
+697335
+697407
+697478
+697550
+697621
+697693
+697765
+697836
+697908
+697979
+698051
+698123
+698194
+698266
+698337
+698409
+698481
+698552
+698624
+698695
+698767
+698839
+698910
+698982
+699054
+699125
+699197
+699268
+699340
+699412
+699483
+699555
+699626
+699698
+699770
+699841
+699913
+700008
+700080
+700152
+700223
+700295
+700366
+700438
+700510
+700581
+700653
+700724
+700796
+700868
+700939
+701011
+701082
+701154
+701226
+701297
+701369
+701440
+701512
+701584
+701655
+701727
+701798
+701870
+701942
+702013
+702085
+702157
+702228
+702300
+702371
+702443
+702515
+702586
+702658
+702729
+702801
+702873
+702944
+703016
+703087
+703159
+703231
+703302
+703374
+703445
+703517
+703613
+703684
+703756
+703827
+703899
+703971
+704042
+704114
+704185
+704257
+704329
+704400
+704472
+704543
+704615
+704687
+704758
+704830
+704902
+704973
+705045
+705116
+705188
+705260
+705331
+705403
+705474
+705546
+705618
+705689
+705761
+705832
+705904
+705976
+706047
+706119
+706191
+706263
+706335
+706406
+706478
+706550
+706622
+706693
+706765
+706837
+706909
+706981
+707052
+707124
+707196
+707292
+707363
+707435
+707507
+707579
+707651
+707722
+707794
+707866
+707938
+708010
+708081
+708153
+708225
+708297
+708369
+708440
+708512
+708584
+708656
+708727
+708799
+708871
+708943
+709015
+709086
+709158
+709230
+709302
+709374
+709445
+709517
+709589
+709661
+709732
+709804
+709876
+709948
+710020
+710091
+710163
+710235
+710307
+710379
+710450
+710522
+710594
+710666
+710738
+710809
+710905
+710977
+711049
+711120
+711192
+711264
+711336
+711408
+711479
+711551
+711623
+711695
+711767
+711838
+711910
+711982
+712054
+712125
+712197
+712269
+712341
+712413
+712484
+712556
+712628
+712700
+712772
+712843
+712915
+712987
+713059
+713130
+713202
+713274
+713346
+713418
+713489
+713561
+713633
+713705
+713777
+713848
+713920
+713992
+714064
+714136
+714207
+714279
+714351
+714423
+714494
+714590
+714662
+714734
+714806
+714877
+714949
+715021
+715093
+715164
+715236
+715308
+715380
+715452
+715523
+715595
+715667
+715739
+715811
+715882
+715954
+716026
+716098
+716170
+716241
+716313
+716385
+716457
+716528
+716600
+716672
+716744
+716816
+716887
+716959
+717031
+717103
+717175
+717246
+717318
+717390
+717462
+717534
+717605
+717677
+717749
+717821
+717892
+717964
+718036
+718108
+718204
+718275
+718347
+718419
+718491
+718562
+718634
+718706
+718778
+718850
+718921
+718993
+719065
+719137
+719209
+719280
+719352
+719424
+719496
+719568
+719639
+719711
+719783
+719855
+719926
+719998
+720070
+720142
+720214
+720285
+720357
+720429
+720501
+720573
+720644
+720716
+720788
+720860
+720931
+721003
+721075
+721147
+721219
+721290
+721362
+721434
+721506
+721578
+721649
+721721
+721793
+721889
+721960
+722032
+722104
+722176
+722248
+722319
+722391
+722463
+722535
+722607
+722678
+722750
+722822
+722894
+722965
+723037
+723109
+723181
+723253
+723324
+723396
+723468
+723540
+723612
+723683
+723755
+723827
+723899
+723971
+724042
+724114
+724186
+724258
+724329
+724401
+724473
+724545
+724617
+724688
+724760
+724832
+724904
+724976
+725048
+725120
+725192
+725264
+725336
+725408
+725505
+725577
+725649
+725721
+725793
+725865
+725937
+726010
+726082
+726154
+726226
+726298
+726370
+726443
+726515
+726587
+726659
+726731
+726803
+726875
+726948
+727020
+727092
+727164
+727236
+727308
+727381
+727453
+727525
+727597
+727669
+727741
+727813
+727886
+727958
+728030
+728102
+728174
+728246
+728318
+728391
+728463
+728535
+728607
+728679
+728751
+728824
+728896
+728968
+729040
+729112
+729208
+729281
+729353
+729425
+729497
+729569
+729641
+729713
+729786
+729858
+729930
+730002
+730074
+730146
+730218
+730291
+730363
+730435
+730507
+730579
+730651
+730724
+730796
+730868
+730940
+731012
+731084
+731156
+731229
+731301
+731373
+731445
+731517
+731589
+731662
+731734
+731806
+731878
+731950
+732022
+732094
+732167
+732239
+732311
+732383
+732455
+732527
+732600
+732672
+732744
+732840
+732912
+732984
+733056
+733129
+733201
+733273
+733345
+733417
+733489
+733562
+733634
+733706
+733778
+733850
+733922
+733994
+734067
+734139
+734211
+734283
+734355
+734427
+734500
+734572
+734644
+734716
+734788
+734860
+734932
+735005
+735077
+735149
+735221
+735293
+735365
+735437
+735510
+735582
+735654
+735726
+735798
+735870
+735943
+736015
+736087
+736159
+736231
+736303
+736375
+736448
+736544
+736616
+736688
+736760
+736832
+736905
+736977
+737049
+737121
+737193
+737265
+737337
+737410
+737482
+737554
+737626
+737698
+737770
+737843
+737915
+737987
+738059
+738131
+738203
+738275
+738348
+738420
+738492
+738564
+738636
+738708
+738781
+738853
+738925
+738997
+739069
+739141
+739213
+739286
+739358
+739430
+739502
+739574
+739646
+739718
+739791
+739863
+739935
+740007
+740079
+740175
+740248
+740320
+740392
+740464
+740536
+740608
+740681
+740753
+740825
+740897
+740969
+741041
+741113
+741186
+741258
+741330
+741402
+741474
+741546
+741618
+741691
+741763
+741835
+741907
+741979
+742051
+742124
+742196
+742268
+742340
+742412
+742484
+742556
+742629
+742701
+742773
+742845
+742917
+742989
+743062
+743134
+743206
+743278
+743350
+743422
+743494
+743567
+743639
+743711
+743783
+743879
+743951
+744024
+744096
+744168
+744241
+744313
+744385
+744458
+744530
+744602
+744675
+744747
+744819
+744892
+744964
+745036
+745109
+745181
+745253
+745326
+745398
+745470
+745543
+745615
+745687
+745760
+745832
+745904
+745977
+746049
+746121
+746194
+746266
+746338
+746411
+746483
+746555
+746628
+746700
+746772
+746845
+746917
+746989
+747062
+747134
+747206
+747279
+747351
+747423
+747520
+747592
+747664
+747737
+747809
+747881
+747954
+748026
+748098
+748171
+748243
+748315
+748388
+748460
+748532
+748605
+748677
+748750
+748822
+748894
+748967
+749039
+749111
+749184
+749256
+749328
+749401
+749473
+749545
+749618
+749690
+749762
+749835
+749907
+749979
+750052
+750124
+750196
+750269
+750341
+750413
+750486
+750558
+750630
+750703
+750775
+750847
+750920
+750992
+751064
+751137
+751233
+751305
+751378
+751450
+751522
+751595
+751667
+751739
+751812
+751884
+751956
+752029
+752101
+752173
+752246
+752318
+752390
+752463
+752535
+752607
+752680
+752752
+752824
+752897
+752969
+753041
+753114
+753186
+753258
+753331
+753403
+753475
+753548
+753620
+753692
+753765
+753837
+753909
+753982
+754054
+754126
+754199
+754271
+754343
+754416
+754488
+754560
+754633
+754705
+754777
+754874
+754946
+755019
+755091
+755163
+755236
+755308
+755380
+755453
+755525
+755597
+755670
+755742
+755814
+755887
+755959
+756031
+756104
+756176
+756248
+756321
+756393
+756465
+756538
+756610
+756682
+756755
+756827
+756899
+756972
+757044
+757116
+757189
+757261
+757333
+757406
+757478
+757550
+757623
+757695
+757767
+757840
+757912
+757984
+758057
+758129
+758201
+758274
+758346
+758418
+758491
+758587
+758659
+758732
+758804
+758876
+758949
+759021
+759093
+759166
+759238
+759310
+759383
+759455
+759527
+759600
+759672
+759744
+759817
+759889
+759961
+760034
+760106
+760178
+760251
+760323
+760395
+760468
+760540
+760612
+760685
+760757
+760829
+760902
+760974
+761046
+761119
+761191
+761263
+761336
+761408
+761480
+761553
+761625
+761697
+761770
+761842
+761914
+761987
+762059
+762131
+762228
+762300
+762373
+762445
+762517
+762590
+762662
+762734
+762807
+762879
+762951
+763024
+763096
+763169
+763242
+763315
+763387
+763460
+763533
+763605
+763678
+763751
+763823
+763896
+763969
+764042
+764114
+764187
+764260
+764332
+764405
+764478
+764551
+764623
+764696
+764769
+764841
+764914
+764987
+765059
+765132
+765205
+765278
+765350
+765423
+765496
+765568
+765641
+765714
+765786
+765859
+765956
+766029
+766102
+766174
+766247
+766320
+766392
+766465
+766538
+766610
+766683
+766756
+766829
+766901
+766974
+767047
+767119
+767192
+767265
+767338
+767410
+767483
+767556
+767628
+767701
+767774
+767846
+767919
+767992
+768065
+768137
+768210
+768283
+768355
+768428
+768501
+768573
+768646
+768719
+768792
+768864
+768937
+769010
+769082
+769155
+769228
+769301
+769373
+769446
+769519
+769616
+769688
+769761
+769834
+769906
+769979
+770052
+770125
+770197
+770270
+770343
+770415
+770488
+770561
+770633
+770706
+770779
+770852
+770924
+770997
+771070
+771142
+771215
+771288
+771360
+771433
+771506
+771579
+771651
+771724
+771797
+771869
+771942
+772015
+772088
+772160
+772233
+772306
+772378
+772451
+772524
+772596
+772669
+772742
+772815
+772887
+772960
+773033
+773105
+773178
+773251
+773348
+773420
+773493
+773566
+773639
+773711
+773784
+773857
+773929
+774002
+774075
+774147
+774220
+774293
+774366
+774438
+774511
+774584
+774656
+774729
+774802
+774875
+774947
+775020
+775093
+775165
+775238
+775311
+775383
+775456
+775529
+775602
+775674
+775747
+775820
+775892
+775965
+776038
+776110
+776183
+776256
+776329
+776401
+776474
+776547
+776619
+776692
+776765
+776838
+776910
+777007
+777080
+777153
+777225
+777298
+777371
+777443
+777516
+777589
+777661
+777734
+777807
+777880
+777952
+778025
+778098
+778170
+778243
+778316
+778389
+778461
+778534
+778607
+778679
+778752
+778825
+778897
+778970
+779043
+779116
+779188
+779261
+779334
+779406
+779479
+779552
+779625
+779697
+779770
+779843
+779915
+779988
+780061
+780133
+780206
+780279
+780352
+780424
+780497
+780570
+780642
+780739
+780812
+780885
+780957
+781030
+781103
+781176
+781248
+781321
+781394
+781466
+781539
+781612
+781684
+781757
+781830
+781903
+781975
+782048
+782121
+782194
+782267
+782341
+782414
+782487
+782560
+782633
+782706
+782779
+782852
+782925
+782998
+783071
+783144
+783217
+783291
+783364
+783437
+783510
+783583
+783656
+783729
+783802
+783875
+783948
+784021
+784094
+784167
+784241
+784314
+784411
+784484
+784557
+784630
+784703
+784776
+784850
+784923
+784996
+785069
+785142
+785215
+785288
+785361
+785434
+785507
+785580
+785653
+785726
+785800
+785873
+785946
+786019
+786092
+786165
+786238
+786311
+786384
+786457
+786530
+786603
+786676
+786750
+786823
+786896
+786969
+787042
+787115
+787188
+787261
+787334
+787407
+787480
+787553
+787626
+787700
+787773
+787846
+787919
+787992
+788065
+788162
+788235
+788308
+788382
+788455
+788528
+788601
+788674
+788747
+788820
+788893
+788966
+789039
+789112
+789185
+789258
+789332
+789405
+789478
+789551
+789624
+789697
+789770
+789843
+789916
+789989
+790062
+790135
+790208
+790282
+790355
+790428
+790501
+790574
+790647
+790720
+790793
+790866
+790939
+791012
+791085
+791158
+791232
+791305
+791378
+791451
+791524
+791597
+791670
+791743
+791841
+791914
+791987
+792060
+792133
+792206
+792279
+792352
+792425
+792498
+792571
+792644
+792717
+792791
+792864
+792937
+793010
+793083
+793156
+793229
+793302
+793375
+793448
+793521
+793594
+793667
+793741
+793814
+793887
+793960
+794033
+794106
+794179
+794252
+794325
+794398
+794471
+794544
+794617
+794691
+794764
+794837
+794910
+794983
+795056
+795129
+795202
+795275
+795348
+795421
+795494
+795592
+795665
+795738
+795811
+795884
+795957
+796030
+796103
+796176
+796250
+796323
+796396
+796469
+796542
+796615
+796688
+796761
+796834
+796907
+796980
+797053
+797126
+797200
+797273
+797346
+797419
+797492
+797565
+797638
+797711
+797784
+797857
+797930
+798003
+798076
+798150
+798223
+798296
+798369
+798442
+798515
+798588
+798661
+798734
+798807
+798880
+798953
+799026
+799100
+799173
+799270
+799343
+799416
+799489
+799562
+799635
+799708
+799782
+799855
+799928
+800001
+800074
+800147
+800220
+800293
+800366
+800439
+800512
+800585
+800658
+800732
+800805
+800878
+800951
+801024
+801097
+801171
+801244
+801317
+801391
+801464
+801537
+801611
+801684
+801758
+801831
+801904
+801978
+802051
+802124
+802198
+802271
+802344
+802418
+802491
+802564
+802638
+802711
+802785
+802858
+802931
+803029
+803102
+803176
+803249
+803323
+803396
+803469
+803543
+803616
+803689
+803763
+803836
+803909
+803983
+804056
+804129
+804203
+804276
+804350
+804423
+804496
+804570
+804643
+804716
+804790
+804863
+804936
+805010
+805083
+805157
+805230
+805303
+805377
+805450
+805523
+805597
+805670
+805743
+805817
+805890
+805963
+806037
+806110
+806184
+806257
+806330
+806404
+806477
+806550
+806624
+806722
+806795
+806868
+806942
+807015
+807088
+807162
+807235
+807308
+807382
+807455
+807528
+807602
+807675
+807749
+807822
+807895
+807969
+808042
+808115
+808189
+808262
+808335
+808409
+808482
+808555
+808629
+808702
+808776
+808849
+808922
+808996
+809069
+809142
+809216
+809289
+809362
+809436
+809509
+809583
+809656
+809729
+809803
+809876
+809949
+810023
+810096
+810169
+810243
+810316
+810389
+810487
+810561
+810634
+810707
+810781
+810854
+810927
+811001
+811074
+811148
+811221
+811294
+811368
+811441
+811514
+811588
+811661
+811734
+811808
+811881
+811954
+812028
+812101
+812175
+812248
+812321
+812395
+812468
+812541
+812615
+812688
+812761
+812835
+812908
+812981
+813055
+813128
+813202
+813275
+813348
+813422
+813495
+813568
+813642
+813715
+813788
+813862
+813935
+814009
+814082
+814180
+814253
+814326
+814400
+814473
+814546
+814620
+814693
+814767
+814840
+814913
+814987
+815060
+815133
+815207
+815280
+815353
+815427
+815500
+815574
+815647
+815720
+815794
+815867
+815940
+816014
+816087
+816160
+816234
+816307
+816380
+816454
+816527
+816601
+816674
+816747
+816821
+816894
+816967
+817041
+817114
+817187
+817261
+817334
+817407
+817481
+817554
+817628
+817701
+817774
+817848
+817945
+818019
+818092
+818166
+818239
+818312
+818386
+818459
+818532
+818606
+818679
+818752
+818826
+818899
+818972
+819046
+819119
+819193
+819266
+819339
+819413
+819486
+819559
+819633
+819706
+819779
+819853
+819926
+820000
+820073
+820147
+820220
+820294
+820368
+820441
+820515
+820589
+820662
+820736
+820810
+820883
+820957
+821031
+821104
+821178
+821251
+821325
+821399
+821472
+821546
+821644
+821718
+821791
+821865
+821939
+822012
+822086
+822160
+822233
+822307
+822381
+822454
+822528
+822602
+822675
+822749
+822822
+822896
+822970
+823043
+823117
+823191
+823264
+823338
+823412
+823485
+823559
+823633
+823706
+823780
+823854
+823927
+824001
+824074
+824148
+824222
+824295
+824369
+824443
+824516
+824590
+824664
+824737
+824811
+824885
+824958
+825032
+825105
+825179
+825253
+825326
+825425
+825498
+825572
+825645
+825719
+825793
+825866
+825940
+826014
+826087
+826161
+826235
+826308
+826382
+826456
+826529
+826603
+826677
+826750
+826824
+826897
+826971
+827045
+827118
+827192
+827266
+827339
+827413
+827487
+827560
+827634
+827708
+827781
+827855
+827928
+828002
+828076
+828149
+828223
+828297
+828370
+828444
+828518
+828591
+828665
+828739
+828812
+828886
+828959
+829033
+829131
+829205
+829279
+829352
+829426
+829500
+829573
+829647
+829720
+829794
+829868
+829941
+830015
+830089
+830162
+830236
+830310
+830383
+830457
+830531
+830604
+830678
+830751
+830825
+830899
+830972
+831046
+831120
+831193
+831267
+831341
+831414
+831488
+831562
+831635
+831709
+831782
+831856
+831930
+832003
+832077
+832151
+832224
+832298
+832372
+832445
+832519
+832593
+832666
+832740
+832813
+832912
+832985
+833059
+833133
+833206
+833280
+833354
+833427
+833501
+833574
+833648
+833722
+833795
+833869
+833943
+834016
+834090
+834164
+834237
+834311
+834385
+834458
+834532
+834605
+834679
+834753
+834826
+834900
+834974
+835047
+835121
+835195
+835268
+835342
+835416
+835489
+835563
+835636
+835710
+835784
+835857
+835931
+836005
+836078
+836152
+836226
+836299
+836373
+836447
+836520
+836618
+836692
+836766
+836839
+836913
+836987
+837060
+837134
+837208
+837281
+837355
+837428
+837502
+837576
+837649
+837723
+837797
+837870
+837944
+838018
+838091
+838165
+838239
+838312
+838386
+838459
+838533
+838607
+838680
+838754
+838828
+838901
+838975
+839049
+839123
+839197
+839271
+839345
+839419
+839493
+839567
+839641
+839715
+839789
+839863
+839937
+840011
+840085
+840159
+840233
+840307
+840406
+840480
+840554
+840628
+840702
+840776
+840850
+840924
+840998
+841072
+841146
+841220
+841294
+841368
+841442
+841516
+841590
+841664
+841738
+841812
+841887
+841961
+842035
+842109
+842183
+842257
+842331
+842405
+842479
+842553
+842627
+842701
+842775
+842849
+842923
+842997
+843071
+843145
+843219
+843293
+843367
+843441
+843515
+843589
+843663
+843737
+843811
+843885
+843959
+844033
+844132
+844206
+844280
+844354
+844428
+844502
+844576
+844650
+844724
+844798
+844872
+844946
+845020
+845094
+845168
+845242
+845316
+845390
+845464
+845538
+845612
+845687
+845761
+845835
+845909
+845983
+846057
+846131
+846205
+846279
+846353
+846427
+846501
+846575
+846649
+846723
+846797
+846871
+846945
+847019
+847093
+847167
+847241
+847315
+847389
+847463
+847537
+847611
+847685
+847759
+847833
+847932
+848006
+848080
+848154
+848228
+848302
+848376
+848450
+848524
+848598
+848672
+848746
+848820
+848894
+848968
+849042
+849116
+849190
+849264
+849338
+849412
+849487
+849561
+849635
+849709
+849783
+849857
+849931
+850005
+850079
+850153
+850227
+850301
+850375
+850449
+850523
+850597
+850671
+850745
+850819
+850893
+850967
+851041
+851115
+851189
+851263
+851337
+851411
+851485
+851559
+851658
+851732
+851806
+851880
+851954
+852028
+852102
+852176
+852250
+852324
+852398
+852472
+852546
+852620
+852694
+852768
+852842
+852916
+852990
+853064
+853138
+853212
+853287
+853361
+853435
+853509
+853583
+853657
+853731
+853805
+853879
+853953
+854027
+854101
+854175
+854249
+854323
+854397
+854471
+854545
+854619
+854693
+854767
+854841
+854915
+854989
+855063
+855137
+855211
+855285
+855359
+855458
+855532
+855606
+855680
+855754
+855828
+855902
+855976
+856050
+856124
+856198
+856272
+856346
+856420
+856494
+856568
+856642
+856716
+856790
+856864
+856938
+857012
+857087
+857161
+857235
+857309
+857383
+857457
+857531
+857605
+857679
+857753
+857827
+857901
+857975
+858049
+858124
+858198
+858272
+858347
+858421
+858496
+858570
+858644
+858719
+858793
+858868
+858942
+859016
+859091
+859190
+859265
+859339
+859413
+859488
+859562
+859637
+859711
+859785
+859860
+859934
+860009
+860083
+860157
+860232
+860306
+860381
+860455
+860530
+860604
+860678
+860753
+860827
+860902
+860976
+861050
+861125
+861199
+861274
+861348
+861422
+861497
+861571
+861646
+861720
+861795
+861869
+861943
+862018
+862092
+862167
+862241
+862315
+862390
+862464
+862539
+862613
+862687
+862762
+862836
+862911
+863010
+863084
+863159
+863233
+863308
+863382
+863456
+863531
+863605
+863680
+863754
+863828
+863903
+863977
+864052
+864126
+864201
+864275
+864349
+864424
+864498
+864573
+864647
+864721
+864796
+864870
+864945
+865019
+865093
+865168
+865242
+865317
+865391
+865466
+865540
+865614
+865689
+865763
+865838
+865912
+865986
+866061
+866135
+866210
+866284
+866359
+866433
+866507
+866582
+866656
+866755
+866830
+866904
+866979
+867053
+867127
+867202
+867276
+867351
+867425
+867500
+867574
+867648
+867723
+867797
+867872
+867946
+868020
+868095
+868169
+868244
+868318
+868392
+868467
+868541
+868616
+868690
+868765
+868839
+868913
+868988
+869062
+869137
+869211
+869285
+869360
+869434
+869509
+869583
+869657
+869732
+869806
+869881
+869955
+870030
+870104
+870178
+870253
+870327
+870402
+870476
+870575
+870650
+870724
+870798
+870873
+870947
+871022
+871096
+871171
+871245
+871319
+871394
+871468
+871543
+871617
+871691
+871766
+871840
+871915
+871989
+872063
+872138
+872212
+872287
+872361
+872436
+872510
+872584
+872659
+872733
+872808
+872882
+872956
+873031
+873105
+873180
+873254
+873328
+873403
+873477
+873552
+873626
+873701
+873775
+873849
+873924
+873998
+874073
+874147
+874221
+874321
+874395
+874469
+874544
+874618
+874693
+874767
+874842
+874916
+874990
+875065
+875139
+875214
+875288
+875362
+875437
+875511
+875586
+875660
+875734
+875809
+875883
+875958
+876032
+876107
+876181
+876255
+876330
+876404
+876479
+876553
+876627
+876702
+876776
+876851
+876925
+877000
+877074
+877149
+877224
+877298
+877373
+877448
+877522
+877597
+877672
+877747
+877821
+877896
+877971
+878045
+878145
+878220
+878294
+878369
+878444
+878519
+878593
+878668
+878743
+878817
+878892
+878967
+879041
+879116
+879191
+879266
+879340
+879415
+879490
+879564
+879639
+879714
+879788
+879863
+879938
+880013
+880087
+880162
+880237
+880311
+880386
+880461
+880536
+880610
+880685
+880760
+880834
+880909
+880984
+881058
+881133
+881208
+881283
+881357
+881432
+881507
+881581
+881656
+881731
+881806
+881905
+881980
+882055
+882129
+882204
+882279
+882353
+882428
+882503
+882577
+882652
+882727
+882802
+882876
+882951
+883026
+883100
+883175
+883250
+883325
+883399
+883474
+883549
+883623
+883698
+883773
+883847
+883922
+883997
+884072
+884146
+884221
+884296
+884370
+884445
+884520
+884595
+884669
+884744
+884819
+884893
+884968
+885043
+885117
+885192
+885267
+885342
+885416
+885491
+885566
+885640
+885740
+885815
+885889
+885964
+886039
+886114
+886188
+886263
+886338
+886412
+886487
+886562
+886636
+886711
+886786
+886861
+886935
+887010
+887085
+887159
+887234
+887309
+887384
+887458
+887533
+887608
+887682
+887757
+887832
+887906
+887981
+888056
+888131
+888205
+888280
+888355
+888429
+888504
+888579
+888653
+888728
+888803
+888878
+888952
+889027
+889102
+889176
+889251
+889326
+889401
+889500
+889575
+889650
+889724
+889799
+889874
+889948
+890023
+890098
+890173
+890247
+890322
+890397
+890471
+890546
+890621
+890695
+890770
+890845
+890920
+890994
+891069
+891144
+891218
+891293
+891368
+891442
+891517
+891592
+891667
+891741
+891816
+891891
+891965
+892040
+892115
+892190
+892264
+892339
+892414
+892488
+892563
+892638
+892712
+892787
+892862
+892937
+893011
+893086
+893161
+893235
+893335
+893410
+893484
+893559
+893634
+893709
+893783
+893858
+893933
+894007
+894082
+894157
+894231
+894306
+894381
+894456
+894530
+894605
+894680
+894754
+894829
+894904
+894979
+895053
+895128
+895203
+895277
+895352
+895427
+895501
+895576
+895651
+895726
+895800
+895875
+895950
+896025
+896100
+896175
+896250
+896325
+896400
+896475
+896550
+896625
+896700
+896776
+896851
+896926
+897001
+897101
+897176
+897251
+897326
+897401
+897476
+897552
+897627
+897702
+897777
+897852
+897927
+898002
+898077
+898152
+898227
+898303
+898378
+898453
+898528
+898603
+898678
+898753
+898828
+898903
+898978
+899054
+899129
+899204
+899279
+899354
+899429
+899504
+899579
+899654
+899729
+899805
+899880
+899955
+900030
+900105
+900180
+900255
+900330
+900405
+900480
+900555
+900631
+900706
+900781
+900856
+900956
+901031
+901106
+901181
+901256
+901332
+901407
+901482
+901557
+901632
+901707
+901782
+901857
+901932
+902007
+902083
+902158
+902233
+902308
+902383
+902458
+902533
+902608
+902683
+902758
+902833
+902909
+902984
+903059
+903134
+903209
+903284
+903359
+903434
+903509
+903584
+903660
+903735
+903810
+903885
+903960
+904035
+904110
+904185
+904260
+904335
+904411
+904486
+904561
+904636
+904736
+904811
+904886
+904961
+905036
+905111
+905187
+905262
+905337
+905412
+905487
+905562
+905637
+905712
+905787
+905862
+905938
+906013
+906088
+906163
+906238
+906313
+906388
+906463
+906538
+906613
+906689
+906764
+906839
+906914
+906989
+907064
+907139
+907214
+907289
+907364
+907440
+907515
+907590
+907665
+907740
+907815
+907890
+907965
+908040
+908115
+908191
+908266
+908341
+908416
+908491
+908591
+908666
+908741
+908816
+908891
+908967
+909042
+909117
+909192
+909267
+909342
+909417
+909492
+909567
+909642
+909718
+909793
+909868
+909943
+910018
+910093
+910168
+910243
+910318
+910393
+910469
+910544
+910619
+910694
+910769
+910844
+910919
+910994
+911069
+911144
+911220
+911295
+911370
+911445
+911520
+911595
+911670
+911745
+911820
+911895
+911971
+912046
+912121
+912196
+912271
+912371
+912446
+912521
+912596
+912671
+912747
+912822
+912897
+912972
+913047
+913122
+913197
+913272
+913347
+913422
+913498
+913573
+913648
+913723
+913798
+913873
+913948
+914023
+914098
+914173
+914249
+914324
+914399
+914474
+914549
+914624
+914699
+914774
+914849
+914924
+915000
+915075
+915150
+915226
+915301
+915377
+915452
+915528
+915603
+915679
+915754
+915830
+915905
+915981
+916056
+916132
+916233
+916308
+916384
+916459
+916535
+916610
+916686
+916761
+916837
+916912
+916988
+917063
+917139
+917214
+917290
+917365
+917441
+917516
+917592
+917667
+917743
+917818
+917894
+917969
+918045
+918120
+918196
+918271
+918347
+918422
+918498
+918573
+918649
+918724
+918800
+918875
+918950
+919026
+919101
+919177
+919252
+919328
+919403
+919479
+919554
+919630
+919705
+919781
+919856
+919932
+920033
+920108
+920184
+920259
+920335
+920410
+920486
+920561
+920637
+920712
+920788
+920863
+920939
+921014
+921090
+921165
+921241
+921316
+921392
+921467
+921543
+921618
+921694
+921769
+921845
+921920
+921996
+922071
+922147
+922222
+922298
+922373
+922449
+922524
+922600
+922675
+922750
+922826
+922901
+922977
+923052
+923128
+923203
+923279
+923354
+923430
+923505
+923581
+923656
+923732
+923807
+923908
+923984
+924059
+924135
+924210
+924286
+924361
+924437
+924512
+924588
+924663
+924739
+924814
+924890
+924965
+925041
+925116
+925192
+925267
+925343
+925418
+925494
+925569
+925645
+925720
+925796
+925871
+925947
+926022
+926098
+926173
+926249
+926324
+926400
+926475
+926550
+926626
+926701
+926777
+926852
+926928
+927003
+927079
+927154
+927230
+927305
+927381
+927456
+927532
+927607
+927708
+927784
+927859
+927935
+928010
+928086
+928161
+928237
+928312
+928388
+928463
+928539
+928614
+928690
+928765
+928841
+928916
+928992
+929067
+929143
+929218
+929294
+929369
+929445
+929520
+929596
+929671
+929747
+929822
+929898
+929973
+930049
+930124
+930200
+930275
+930350
+930426
+930501
+930577
+930652
+930728
+930803
+930879
+930954
+931030
+931105
+931181
+931256
+931332
+931407
+931483
+931584
+931659
+931735
+931810
+931886
+931961
+932037
+932112
+932188
+932263
+932339
+932414
+932490
+932565
+932641
+932716
+932792
+932867
+932943
+933018
+933094
+933169
+933245
+933320
+933396
+933471
+933547
+933622
+933698
+933773
+933849
+933924
+934000
+934075
+934151
+934227
+934303
+934378
+934454
+934530
+934606
+934682
+934757
+934833
+934909
+934985
+935061
+935136
+935212
+935288
+935389
+935465
+935541
+935617
+935692
+935768
+935844
+935920
+935996
+936071
+936147
+936223
+936299
+936375
+936450
+936526
+936602
+936678
+936753
+936829
+936905
+936981
+937057
+937132
+937208
+937284
+937360
+937436
+937511
+937587
+937663
+937739
+937815
+937890
+937966
+938042
+938118
+938194
+938269
+938345
+938421
+938497
+938573
+938648
+938724
+938800
+938876
+938952
+939027
+939103
+939179
+939280
+939356
+939432
+939507
+939583
+939659
+939735
+939811
+939886
+939962
+940038
+940114
+940190
+940265
+940341
+940417
+940493
+940569
+940644
+940720
+940796
+940872
+940948
+941023
+941099
+941175
+941251
+941327
+941402
+941478
+941554
+941630
+941706
+941781
+941857
+941933
+942009
+942085
+942160
+942236
+942312
+942388
+942464
+942539
+942615
+942691
+942767
+942843
+942918
+942994
+943095
+943171
+943247
+943323
+943398
+943474
+943550
+943626
+943702
+943777
+943853
+943929
+944005
+944081
+944156
+944232
+944308
+944384
+944460
+944535
+944611
+944687
+944763
+944839
+944914
+944990
+945066
+945142
+945218
+945293
+945369
+945445
+945521
+945597
+945672
+945748
+945824
+945900
+945976
+946051
+946127
+946203
+946279
+946355
+946430
+946506
+946582
+946658
+946734
+946809
+946885
+946986
+947062
+947138
+947214
+947289
+947365
+947441
+947517
+947593
+947668
+947744
+947820
+947896
+947972
+948047
+948123
+948199
+948275
+948351
+948426
+948502
+948578
+948654
+948730
+948805
+948881
+948957
+949033
+949109
+949184
+949260
+949336
+949412
+949488
+949563
+949639
+949715
+949791
+949867
+949942
+950018
+950094
+950170
+950246
+950321
+950397
+950473
+950549
+950625
+950700
+950801
+950877
+950953
+951029
+951105
+951180
+951256
+951332
+951408
+951484
+951559
+951635
+951711
+951787
+951863
+951938
+952014
+952090
+952166
+952242
+952317
+952393
+952469
+952545
+952621
+952696
+952772
+952848
+952924
+953000
+953076
+953152
+953228
+953304
+953381
+953457
+953533
+953609
+953685
+953762
+953838
+953914
+953990
+954066
+954143
+954219
+954295
+954371
+954447
+954524
+954600
+954701
+954778
+954854
+954930
+955006
+955082
+955159
+955235
+955311
+955387
+955463
+955540
+955616
+955692
+955768
+955844
+955921
+955997
+956073
+956149
+956225
+956302
+956378
+956454
+956530
+956606
+956683
+956759
+956835
+956911
+956987
+957064
+957140
+957216
+957292
+957368
+957445
+957521
+957597
+957673
+957750
+957826
+957902
+957978
+958054
+958131
+958207
+958283
+958359
+958435
+958537
+958613
+958689
+958766
+958842
+958918
+958994
+959070
+959147
+959223
+959299
+959375
+959451
+959528
+959604
+959680
+959756
+959832
+959909
+959985
+960061
+960137
+960213
+960290
+960366
+960442
+960518
+960594
+960671
+960747
+960823
+960899
+960975
+961052
+961128
+961204
+961280
+961356
+961433
+961509
+961585
+961661
+961737
+961814
+961890
+961966
+962042
+962118
+962195
+962271
+962347
+962449
+962525
+962601
+962677
+962754
+962830
+962906
+962982
+963058
+963135
+963211
+963287
+963363
+963439
+963516
+963592
+963668
+963744
+963820
+963897
+963973
+964049
+964125
+964201
+964278
+964354
+964430
+964506
+964582
+964659
+964735
+964811
+964887
+964963
+965040
+965116
+965192
+965268
+965344
+965421
+965497
+965573
+965649
+965725
+965802
+965878
+965954
+966030
+966106
+966183
+966284
+966360
+966437
+966513
+966589
+966665
+966741
+966818
+966894
+966970
+967046
+967122
+967199
+967275
+967351
+967427
+967504
+967580
+967656
+967732
+967808
+967885
+967961
+968037
+968113
+968189
+968266
+968342
+968418
+968494
+968570
+968647
+968723
+968799
+968875
+968951
+969028
+969104
+969180
+969256
+969332
+969409
+969485
+969561
+969637
+969713
+969790
+969866
+969942
+970018
+970094
+970196
+970272
+970348
+970425
+970501
+970577
+970653
+970729
+970806
+970882
+970958
+971034
+971110
+971187
+971263
+971339
+971415
+971491
+971568
+971644
+971720
+971796
+971872
+971949
+972025
+972102
+972178
+972255
+972331
+972408
+972485
+972561
+972638
+972715
+972791
+972868
+972944
+973021
+973098
+973174
+973251
+973327
+973404
+973481
+973557
+973634
+973711
+973787
+973864
+973940
+974043
+974119
+974196
+974272
+974349
+974426
+974502
+974579
+974655
+974732
+974809
+974885
+974962
+975038
+975115
+975192
+975268
+975345
+975422
+975498
+975575
+975651
+975728
+975805
+975881
+975958
+976034
+976111
+976188
+976264
+976341
+976418
+976494
+976571
+976647
+976724
+976801
+976877
+976954
+977030
+977107
+977184
+977260
+977337
+977413
+977490
+977567
+977643
+977720
+977797
+977873
+977975
+978052
+978129
+978205
+978282
+978358
+978435
+978512
+978588
+978665
+978741
+978818
+978895
+978971
+979048
+979125
+979201
+979278
+979354
+979431
+979508
+979584
+979661
+979737
+979814
+979891
+979967
+980044
+980120
+980197
+980274
+980350
+980427
+980504
+980580
+980657
+980733
+980810
+980887
+980963
+981040
+981116
+981193
+981270
+981346
+981423
+981500
+981576
+981653
+981729
+981831
+981908
+981985
+982061
+982138
+982215
+982291
+982368
+982444
+982521
+982598
+982674
+982751
+982827
+982904
+982981
+983057
+983134
+983211
+983287
+983364
+983440
+983517
+983594
+983670
+983747
+983823
+983900
+983977
+984053
+984130
+984206
+984283
+984360
+984436
+984513
+984590
+984666
+984743
+984819
+984896
+984973
+985049
+985126
+985202
+985279
+985356
+985432
+985509
+985586
+985662
+985764
+985841
+985918
+985994
+986071
+986147
+986224
+986301
+986377
+986454
+986530
+986607
+986684
+986760
+986837
+986913
+986990
+987067
+987143
+987220
+987297
+987373
+987450
+987526
+987603
+987680
+987756
+987833
+987909
+987986
+988063
+988139
+988216
+988293
+988369
+988446
+988522
+988599
+988676
+988752
+988829
+988905
+988982
+989059
+989135
+989212
+989288
+989365
+989442
+989518
+989620
+989697
+989774
+989850
+989927
+990004
+990080
+990157
+990233
+990310
+990387
+990463
+990540
+990616
+990693
+990770
+990846
+990923
+991000
+991076
+991153
+991230
+991307
+991384
+991461
+991538
+991615
+991692
+991769
+991846
+991923
+992000
+992076
+992153
+992230
+992307
+992384
+992461
+992538
+992615
+992692
+992769
+992846
+992923
+993000
+993076
+993153
+993230
+993307
+993384
+993461
+993564
+993641
+993717
+993794
+993871
+993948
+994025
+994102
+994179
+994256
+994333
+994410
+994487
+994564
+994641
+994717
+994794
+994871
+994948
+995025
+995102
+995179
+995256
+995333
+995410
+995487
+995564
+995641
+995717
+995794
+995871
+995948
+996025
+996102
+996179
+996256
+996333
+996410
+996487
+996564
+996641
+996717
+996794
+996871
+996948
+997025
+997102
+997179
+997256
+997333
+997435
+997512
+997589
+997666
+997743
+997820
+997897
+997974
+998051
+998128
+998205
+998282
+998358
+998435
+998512
+998589
+998666
+998743
+998820
+998897
+998974
+999051
+999128
+999205
+999282
+999358
+999435
+999512
+999589
+999666
+999743
+999820
+999897
+999974
+1000051
+1000128
+1000205
+1000282
+1000358
+1000435
+1000512
+1000589
+1000666
+1000743
+1000820
+1000897
+1000974
+1001051
+1001128
+1001205
+1001282
+1001384
+1001461
+1001538
+1001615
+1001692
+1001769
+1001846
+1001923
+1002000
+1002076
+1002153
+1002230
+1002307
+1002384
+1002461
+1002538
+1002615
+1002692
+1002769
+1002846
+1002923
+1003000
+1003076
+1003153
+1003230
+1003307
+1003384
+1003461
+1003538
+1003615
+1003692
+1003769
+1003846
+1003923
+1004000
+1004076
+1004153
+1004230
+1004307
+1004384
+1004461
+1004538
+1004615
+1004692
+1004769
+1004846
+1004923
+1005000
+1005076
+1005153
+1005256
+1005333
+1005410
+1005487
+1005564
+1005641
+1005717
+1005794
+1005871
+1005948
+1006025
+1006102
+1006179
+1006256
+1006333
+1006410
+1006487
+1006564
+1006641
+1006717
+1006794
+1006871
+1006948
+1007025
+1007102
+1007179
+1007256
+1007333
+1007410
+1007487
+1007564
+1007641
+1007717
+1007794
+1007871
+1007948
+1008025
+1008102
+1008179
+1008256
+1008333
+1008410
+1008487
+1008564
+1008641
+1008717
+1008794
+1008871
+1008948
+1009025
+1009102
+1009205
+1009282
+1009358
+1009435
+1009512
+1009589
+1009666
+1009743
+1009820
+1009897
+1009974
+1010051
+1010128
+1010206
+1010283
+1010360
+1010438
+1010515
+1010592
+1010670
+1010747
+1010824
+1010902
+1010979
+1011056
+1011134
+1011211
+1011289
+1011366
+1011443
+1011521
+1011598
+1011675
+1011753
+1011830
+1011907
+1011985
+1012062
+1012139
+1012217
+1012294
+1012371
+1012449
+1012526
+1012603
+1012681
+1012758
+1012835
+1012913
+1012990
+1013093
+1013170
+1013248
+1013325
+1013402
+1013480
+1013557
+1013635
+1013712
+1013789
+1013867
+1013944
+1014021
+1014099
+1014176
+1014253
+1014331
+1014408
+1014485
+1014563
+1014640
+1014717
+1014795
+1014872
+1014949
+1015027
+1015104
+1015181
+1015259
+1015336
+1015413
+1015491
+1015568
+1015645
+1015723
+1015800
+1015877
+1015955
+1016032
+1016109
+1016187
+1016264
+1016341
+1016419
+1016496
+1016573
+1016651
+1016728
+1016805
+1016883
+1016960
+1017063
+1017141
+1017218
+1017295
+1017373
+1017450
+1017527
+1017605
+1017682
+1017759
+1017837
+1017914
+1017991
+1018069
+1018146
+1018223
+1018301
+1018378
+1018455
+1018533
+1018610
+1018687
+1018765
+1018842
+1018919
+1018997
+1019074
+1019151
+1019229
+1019306
+1019383
+1019461
+1019538
+1019616
+1019693
+1019770
+1019848
+1019925
+1020002
+1020080
+1020157
+1020234
+1020312
+1020389
+1020466
+1020544
+1020621
+1020698
+1020776
+1020853
+1020956
+1021033
+1021111
+1021188
+1021265
+1021343
+1021420
+1021497
+1021575
+1021652
+1021729
+1021807
+1021884
+1021962
+1022039
+1022116
+1022194
+1022271
+1022348
+1022426
+1022503
+1022580
+1022658
+1022735
+1022812
+1022890
+1022967
+1023044
+1023122
+1023199
+1023276
+1023354
+1023431
+1023508
+1023586
+1023663
+1023740
+1023818
+1023895
+1023972
+1024050
+1024127
+1024204
+1024282
+1024359
+1024436
+1024514
+1024591
+1024668
+1024746
+1024823
+1024926
+1025004
+1025081
+1025158
+1025236
+1025313
+1025390
+1025468
+1025545
+1025622
+1025700
+1025777
+1025854
+1025932
+1026009
+1026086
+1026164
+1026241
+1026318
+1026396
+1026473
+1026550
+1026628
+1026705
+1026782
+1026860
+1026937
+1027014
+1027092
+1027169
+1027246
+1027324
+1027401
+1027478
+1027556
+1027633
+1027710
+1027788
+1027865
+1027943
+1028020
+1028097
+1028175
+1028252
+1028329
+1028407
+1028484
+1028561
+1028639
+1028716
+1028819
+1028896
+1028974
+1029051
+1029129
+1029207
+1029285
+1029363
+1029441
+1029519
+1029596
+1029674
+1029752
+1029830
+1029908
+1029986
+1030064
+1030142
+1030219
+1030297
+1030375
+1030453
+1030531
+1030609
+1030687
+1030765
+1030842
+1030920
+1030998
+1031076
+1031154
+1031232
+1031310
+1031387
+1031465
+1031543
+1031621
+1031699
+1031777
+1031855
+1031933
+1032010
+1032088
+1032166
+1032244
+1032322
+1032400
+1032478
+1032556
+1032633
+1032711
+1032815
+1032893
+1032971
+1033049
+1033127
+1033204
+1033282
+1033360
+1033438
+1033516
+1033594
+1033672
+1033750
+1033827
+1033905
+1033983
+1034061
+1034139
+1034217
+1034295
+1034372
+1034450
+1034528
+1034606
+1034684
+1034762
+1034840
+1034918
+1034995
+1035073
+1035151
+1035229
+1035307
+1035385
+1035463
+1035540
+1035618
+1035696
+1035774
+1035852
+1035930
+1036008
+1036086
+1036163
+1036241
+1036319
+1036397
+1036475
+1036553
+1036631
+1036734
+1036812
+1036890
+1036968
+1037046
+1037124
+1037202
+1037280
+1037357
+1037435
+1037513
+1037591
+1037669
+1037747
+1037825
+1037903
+1037980
+1038058
+1038136
+1038214
+1038292
+1038370
+1038448
+1038525
+1038603
+1038681
+1038759
+1038837
+1038915
+1038993
+1039071
+1039148
+1039226
+1039304
+1039382
+1039460
+1039538
+1039616
+1039693
+1039771
+1039849
+1039927
+1040005
+1040083
+1040161
+1040239
+1040316
+1040394
+1040472
+1040550
+1040628
+1040732
+1040810
+1040887
+1040965
+1041043
+1041121
+1041199
+1041277
+1041355
+1041433
+1041510
+1041588
+1041666
+1041744
+1041822
+1041900
+1041978
+1042056
+1042133
+1042211
+1042289
+1042367
+1042445
+1042523
+1042601
+1042678
+1042756
+1042834
+1042912
+1042990
+1043068
+1043146
+1043224
+1043301
+1043379
+1043457
+1043535
+1043613
+1043691
+1043769
+1043846
+1043924
+1044002
+1044080
+1044158
+1044236
+1044314
+1044392
+1044469
+1044547
+1044651
+1044729
+1044807
+1044885
+1044963
+1045040
+1045118
+1045196
+1045274
+1045352
+1045430
+1045508
+1045586
+1045663
+1045741
+1045819
+1045897
+1045975
+1046053
+1046131
+1046209
+1046286
+1046364
+1046442
+1046520
+1046598
+1046676
+1046754
+1046831
+1046909
+1046987
+1047065
+1047143
+1047221
+1047299
+1047377
+1047454
+1047532
+1047610
+1047688
+1047766
+1047844
+1047922
+1048000
+1048078
+1048156
+1048234
+1048312
+1048390
+1048469
+1048547
+1048651
+1048729
+1048807
+1048886
+1048964
+1049042
+1049120
+1049198
+1049277
+1049355
+1049433
+1049511
+1049589
+1049668
+1049746
+1049824
+1049902
+1049980
+1050058
+1050137
+1050215
+1050293
+1050371
+1050449
+1050528
+1050606
+1050684
+1050762
+1050840
+1050919
+1050997
+1051075
+1051153
+1051231
+1051310
+1051388
+1051466
+1051544
+1051622
+1051700
+1051779
+1051857
+1051935
+1052013
+1052091
+1052170
+1052248
+1052326
+1052404
+1052482
+1052587
+1052665
+1052743
+1052821
+1052899
+1052978
+1053056
+1053134
+1053212
+1053290
+1053368
+1053447
+1053525
+1053603
+1053681
+1053759
+1053838
+1053916
+1053994
+1054072
+1054150
+1054229
+1054307
+1054385
+1054463
+1054541
+1054620
+1054698
+1054776
+1054854
+1054932
+1055010
+1055089
+1055167
+1055245
+1055323
+1055401
+1055480
+1055558
+1055636
+1055714
+1055792
+1055871
+1055949
+1056027
+1056105
+1056183
+1056262
+1056340
+1056418
+1056496
+1056600
+1056679
+1056757
+1056835
+1056913
+1056991
+1057069
+1057148
+1057226
+1057304
+1057382
+1057460
+1057539
+1057617
+1057695
+1057773
+1057851
+1057930
+1058008
+1058086
+1058164
+1058242
+1058320
+1058399
+1058477
+1058555
+1058633
+1058711
+1058790
+1058868
+1058946
+1059024
+1059102
+1059181
+1059259
+1059337
+1059415
+1059493
+1059572
+1059650
+1059728
+1059806
+1059884
+1059962
+1060041
+1060119
+1060197
+1060275
+1060353
+1060432
+1060536
+1060614
+1060692
+1060770
+1060849
+1060927
+1061005
+1061083
+1061161
+1061240
+1061318
+1061396
+1061474
+1061552
+1061631
+1061709
+1061787
+1061865
+1061943
+1062021
+1062100
+1062178
+1062256
+1062334
+1062412
+1062491
+1062569
+1062647
+1062725
+1062803
+1062882
+1062960
+1063038
+1063116
+1063194
+1063272
+1063351
+1063429
+1063507
+1063585
+1063663
+1063742
+1063820
+1063898
+1063976
+1064054
+1064133
+1064211
+1064289
+1064367
+1064445
+1064550
+1064628
+1064706
+1064784
+1064862
+1064941
+1065019
+1065097
+1065175
+1065253
+1065331
+1065410
+1065488
+1065566
+1065644
+1065722
+1065801
+1065879
+1065957
+1066035
+1066113
+1066192
+1066270
+1066348
+1066426
+1066504
+1066582
+1066661
+1066739
+1066817
+1066895
+1066973
+1067052
+1067131
+1067209
+1067288
+1067366
+1067445
+1067524
+1067602
+1067681
+1067760
+1067838
+1067917
+1067995
+1068074
+1068153
+1068231
+1068310
+1068388
+1068493
+1068572
+1068651
+1068729
+1068808
+1068886
+1068965
+1069044
+1069122
+1069201
+1069280
+1069358
+1069437
+1069515
+1069594
+1069673
+1069751
+1069830
+1069908
+1069987
+1070066
+1070144
+1070223
+1070302
+1070380
+1070459
+1070537
+1070616
+1070695
+1070773
+1070852
+1070931
+1071009
+1071088
+1071166
+1071245
+1071324
+1071402
+1071481
+1071560
+1071638
+1071717
+1071795
+1071874
+1071953
+1072031
+1072110
+1072188
+1072267
+1072346
+1072424
+1072529
+1072608
+1072686
+1072765
+1072844
+1072922
+1073001
+1073080
+1073158
+1073237
+1073315
+1073394
+1073473
+1073551
+1073630
+1073708
+1073787
+1073866
+1073944
+1074023
+1074102
+1074180
+1074259
+1074337
+1074416
+1074495
+1074573
+1074652
+1074731
+1074809
+1074888
+1074966
+1075045
+1075124
+1075202
+1075281
+1075360
+1075438
+1075517
+1075595
+1075674
+1075753
+1075831
+1075910
+1075988
+1076067
+1076146
+1076224
+1076303
+1076382
+1076486
+1076565
+1076644
+1076722
+1076801
+1076880
+1076958
+1077037
+1077115
+1077194
+1077273
+1077351
+1077430
+1077508
+1077587
+1077666
+1077744
+1077823
+1077902
+1077980
+1078059
+1078137
+1078216
+1078295
+1078373
+1078452
+1078531
+1078609
+1078688
+1078766
+1078845
+1078924
+1079002
+1079081
+1079160
+1079238
+1079317
+1079395
+1079474
+1079553
+1079631
+1079710
+1079788
+1079867
+1079946
+1080024
+1080103
+1080182
+1080260
+1080339
+1080417
+1080522
+1080601
+1080680
+1080758
+1080837
+1080915
+1080994
+1081073
+1081151
+1081230
+1081308
+1081387
+1081466
+1081544
+1081623
+1081702
+1081780
+1081859
+1081937
+1082016
+1082095
+1082173
+1082252
+1082331
+1082409
+1082488
+1082566
+1082645
+1082724
+1082802
+1082881
+1082960
+1083038
+1083117
+1083195
+1083274
+1083353
+1083431
+1083510
+1083588
+1083667
+1083746
+1083824
+1083903
+1083982
+1084060
+1084139
+1084217
+1084296
+1084375
+1084480
+1084558
+1084637
+1084715
+1084794
+1084873
+1084951
+1085030
+1085108
+1085187
+1085266
+1085344
+1085423
+1085502
+1085580
+1085659
+1085737
+1085816
+1085895
+1085973
+1086052
+1086131
+1086211
+1086290
+1086369
+1086448
+1086527
+1086606
+1086686
+1086765
+1086844
+1086923
+1087002
+1087081
+1087161
+1087240
+1087319
+1087398
+1087477
+1087556
+1087636
+1087715
+1087794
+1087873
+1087952
+1088031
+1088111
+1088190
+1088269
+1088348
+1088427
+1088533
+1088612
+1088691
+1088770
+1088850
+1088929
+1089008
+1089087
+1089166
+1089245
+1089325
+1089404
+1089483
+1089562
+1089641
+1089720
+1089800
+1089879
+1089958
+1090037
+1090116
+1090195
+1090275
+1090354
+1090433
+1090512
+1090591
+1090670
+1090750
+1090829
+1090908
+1090987
+1091066
+1091145
+1091225
+1091304
+1091383
+1091462
+1091541
+1091620
+1091700
+1091779
+1091858
+1091937
+1092016
+1092095
+1092175
+1092254
+1092333
+1092412
+1092518
+1092597
+1092676
+1092755
+1092834
+1092913
+1092993
+1093072
+1093151
+1093230
+1093309
+1093388
+1093468
+1093547
+1093626
+1093705
+1093784
+1093863
+1093943
+1094022
+1094101
+1094180
+1094259
+1094338
+1094418
+1094497
+1094576
+1094655
+1094734
+1094813
+1094893
+1094972
+1095051
+1095130
+1095209
+1095288
+1095368
+1095447
+1095526
+1095605
+1095684
+1095763
+1095843
+1095922
+1096001
+1096080
+1096159
+1096238
+1096318
+1096397
+1096476
+1096581
+1096661
+1096740
+1096819
+1096898
+1096977
+1097056
+1097136
+1097215
+1097294
+1097373
+1097452
+1097531
+1097611
+1097690
+1097769
+1097848
+1097927
+1098006
+1098086
+1098165
+1098244
+1098323
+1098402
+1098481
+1098561
+1098640
+1098719
+1098798
+1098877
+1098956
+1099036
+1099115
+1099194
+1099273
+1099352
+1099431
+1099511
+1099590
+1099669
+1099748
+1099827
+1099906
+1099986
+1100065
+1100144
+1100223
+1100302
+1100381
+1100461
+1100566
+1100645
+1100725
+1100804
+1100883
+1100962
+1101041
+1101120
+1101200
+1101279
+1101358
+1101437
+1101516
+1101595
+1101675
+1101754
+1101833
+1101912
+1101991
+1102070
+1102150
+1102229
+1102308
+1102387
+1102466
+1102545
+1102625
+1102704
+1102783
+1102862
+1102941
+1103020
+1103100
+1103179
+1103258
+1103337
+1103416
+1103495
+1103575
+1103654
+1103733
+1103812
+1103891
+1103970
+1104050
+1104129
+1104208
+1104287
+1104366
+1104445
+1104525
+1104630
+1104709
+1104788
+1104868
+1104947
+1105026
+1105106
+1105185
+1105265
+1105344
+1105424
+1105504
+1105583
+1105663
+1105743
+1105822
+1105902
+1105981
+1106061
+1106141
+1106220
+1106300
+1106379
+1106459
+1106539
+1106618
+1106698
+1106777
+1106857
+1106937
+1107016
+1107096
+1107175
+1107255
+1107335
+1107414
+1107494
+1107574
+1107653
+1107733
+1107812
+1107892
+1107972
+1108051
+1108131
+1108210
+1108290
+1108370
+1108449
+1108529
+1108635
+1108715
+1108794
+1108874
+1108953
+1109033
+1109113
+1109192
+1109272
+1109351
+1109431
+1109511
+1109590
+1109670
+1109750
+1109829
+1109909
+1109988
+1110068
+1110148
+1110227
+1110307
+1110386
+1110466
+1110546
+1110625
+1110705
+1110784
+1110864
+1110944
+1111023
+1111103
+1111182
+1111262
+1111342
+1111421
+1111501
+1111581
+1111660
+1111740
+1111819
+1111899
+1111979
+1112058
+1112138
+1112217
+1112297
+1112377
+1112456
+1112536
+1112615
+1112722
+1112801
+1112881
+1112960
+1113040
+1113120
+1113199
+1113279
+1113358
+1113438
+1113518
+1113597
+1113677
+1113756
+1113836
+1113916
+1113995
+1114075
+1114155
+1114234
+1114314
+1114393
+1114473
+1114553
+1114632
+1114712
+1114791
+1114871
+1114951
+1115030
+1115110
+1115189
+1115269
+1115349
+1115428
+1115508
+1115587
+1115667
+1115747
+1115826
+1115906
+1115986
+1116065
+1116145
+1116224
+1116304
+1116384
+1116463
+1116543
+1116622
+1116729
+1116808
+1116888
+1116967
+1117047
+1117127
+1117206
+1117286
+1117365
+1117445
+1117525
+1117604
+1117684
+1117763
+1117843
+1117923
+1118002
+1118082
+1118162
+1118241
+1118321
+1118400
+1118480
+1118560
+1118639
+1118719
+1118798
+1118878
+1118958
+1119037
+1119117
+1119196
+1119276
+1119356
+1119435
+1119515
+1119594
+1119674
+1119754
+1119833
+1119913
+1119993
+1120072
+1120152
+1120231
+1120311
+1120391
+1120470
+1120550
+1120629
+1120709
+1120815
+1120895
+1120974
+1121054
+1121134
+1121213
+1121293
+1121372
+1121452
+1121532
+1121611
+1121691
+1121770
+1121850
+1121930
+1122009
+1122089
+1122168
+1122248
+1122328
+1122407
+1122487
+1122567
+1122646
+1122726
+1122805
+1122885
+1122965
+1123044
+1123124
+1123203
+1123283
+1123363
+1123442
+1123522
+1123601
+1123681
+1123761
+1123840
+1123920
+1124000
+1124080
+1124160
+1124240
+1124320
+1124400
+1124481
+1124561
+1124641
+1124721
+1124828
+1124908
+1124988
+1125068
+1125149
+1125229
+1125309
+1125389
+1125469
+1125549
+1125630
+1125710
+1125790
+1125870
+1125950
+1126030
+1126111
+1126191
+1126271
+1126351
+1126431
+1126511
+1126592
+1126672
+1126752
+1126832
+1126912
+1126992
+1127073
+1127153
+1127233
+1127313
+1127393
+1127473
+1127554
+1127634
+1127714
+1127794
+1127874
+1127954
+1128035
+1128115
+1128195
+1128275
+1128355
+1128436
+1128516
+1128596
+1128676
+1128756
+1128836
+1128943
+1129023
+1129104
+1129184
+1129264
+1129344
+1129424
+1129504
+1129585
+1129665
+1129745
+1129825
+1129905
+1129985
+1130066
+1130146
+1130226
+1130306
+1130386
+1130466
+1130547
+1130627
+1130707
+1130787
+1130867
+1130947
+1131028
+1131108
+1131188
+1131268
+1131348
+1131428
+1131509
+1131589
+1131669
+1131749
+1131829
+1131909
+1131990
+1132070
+1132150
+1132230
+1132310
+1132390
+1132471
+1132551
+1132631
+1132711
+1132791
+1132872
+1132978
+1133059
+1133139
+1133219
+1133299
+1133379
+1133459
+1133540
+1133620
+1133700
+1133780
+1133860
+1133940
+1134021
+1134101
+1134181
+1134261
+1134341
+1134421
+1134502
+1134582
+1134662
+1134742
+1134822
+1134902
+1134983
+1135063
+1135143
+1135223
+1135303
+1135383
+1135464
+1135544
+1135624
+1135704
+1135784
+1135864
+1135945
+1136025
+1136105
+1136185
+1136265
+1136345
+1136426
+1136506
+1136586
+1136666
+1136746
+1136827
+1136907
+1136987
+1137094
+1137174
+1137254
+1137334
+1137414
+1137495
+1137575
+1137655
+1137735
+1137815
+1137895
+1137976
+1138056
+1138136
+1138216
+1138296
+1138376
+1138457
+1138537
+1138617
+1138697
+1138777
+1138857
+1138938
+1139018
+1139098
+1139178
+1139258
+1139338
+1139419
+1139499
+1139579
+1139659
+1139739
+1139819
+1139900
+1139980
+1140060
+1140140
+1140220
+1140300
+1140381
+1140461
+1140541
+1140621
+1140701
+1140781
+1140862
+1140942
+1141022
+1141129
+1141209
+1141289
+1141369
+1141450
+1141530
+1141610
+1141690
+1141770
+1141850
+1141931
+1142011
+1142091
+1142171
+1142251
+1142331
+1142412
+1142492
+1142572
+1142652
+1142732
+1142812
+1142893
+1142973
+1143053
+1143133
+1143213
+1143293
+1143374
+1143454
+1143534
+1143614
+1143694
+1143774
+1143855
+1143935
+1144015
+1144095
+1144175
+1144255
+1144336
+1144416
+1144496
+1144576
+1144656
+1144736
+1144817
+1144897
+1144977
+1145057
+1145137
+1145244
+1145324
+1145405
+1145485
+1145565
+1145645
+1145725
+1145805
+1145886
+1145966
+1146046
+1146126
+1146206
+1146286
+1146367
+1146447
+1146527
+1146607
+1146687
+1146767
+1146848
+1146928
+1147008
+1147088
+1147168
+1147248
+1147329
+1147409
+1147489
+1147569
+1147649
+1147729
+1147810
+1147890
+1147970
+1148050
+1148130
+1148210
+1148291
+1148371
+1148451
+1148531
+1148611
+1148691
+1148772
+1148852
+1148932
+1149012
+1149092
+1149172
+1149279
+1149360
+1149440
+1149520
+1149600
+1149680
+1149760
+1149841
+1149921
+1150001
+1150081
+1150161
+1150241
+1150322
+1150402
+1150482
+1150562
+1150642
+1150722
+1150803
+1150883
+1150963
+1151043
+1151123
+1151203
+1151284
+1151364
+1151444
+1151524
+1151604
+1151684
+1151765
+1151845
+1151925
+1152005
+1152085
+1152165
+1152246
+1152326
+1152406
+1152486
+1152566
+1152646
+1152727
+1152807
+1152887
+1152967
+1153047
+1153127
+1153208
+1153288
+1153395
+1153475
+1153555
+1153635
+1153715
+1153796
+1153876
+1153956
+1154036
+1154116
+1154196
+1154277
+1154357
+1154437
+1154517
+1154597
+1154677
+1154758
+1154838
+1154918
+1154998
+1155078
+1155158
+1155239
+1155319
+1155399
+1155479
+1155559
+1155639
+1155720
+1155800
+1155880
+1155960
+1156040
+1156120
+1156201
+1156281
+1156361
+1156441
+1156521
+1156601
+1156682
+1156762
+1156842
+1156922
+1157002
+1157082
+1157163
+1157243
+1157323
+1157430
+1157510
+1157590
+1157670
+1157751
+1157831
+1157911
+1157991
+1158071
+1158151
+1158232
+1158312
+1158392
+1158472
+1158552
+1158632
+1158713
+1158793
+1158873
+1158953
+1159033
+1159113
+1159194
+1159274
+1159354
+1159434
+1159514
+1159594
+1159675
+1159755
+1159835
+1159915
+1159995
+1160075
+1160156
+1160236
+1160316
+1160396
+1160476
+1160556
+1160637
+1160717
+1160797
+1160877
+1160957
+1161037
+1161118
+1161198
+1161278
+1161358
+1161438
+1161545
+1161625
+1161706
+1161786
+1161866
+1161946
+1162026
+1162106
+1162187
+1162267
+1162347
+1162427
+1162507
+1162587
+1162668
+1162748
+1162828
+1162908
+1162988
+1163068
+1163149
+1163229
+1163309
+1163389
+1163469
+1163549
+1163630
+1163710
+1163790
+1163870
+1163950
+1164030
+1164111
+1164191
+1164271
+1164351
+1164431
+1164511
+1164592
+1164672
+1164752
+1164832
+1164912
+1164992
+1165073
+1165153
+1165233
+1165313
+1165393
+1165473
+1165580
+1165661
+1165741
+1165821
+1165901
+1165981
+1166061
+1166142
+1166222
+1166302
+1166382
+1166462
+1166542
+1166623
+1166703
+1166783
+1166863
+1166943
+1167023
+1167104
+1167184
+1167264
+1167344
+1167424
+1167504
+1167585
+1167665
+1167745
+1167825
+1167905
+1167985
+1168066
+1168146
+1168226
+1168306
+1168386
+1168466
+1168547
+1168627
+1168707
+1168787
+1168867
+1168947
+1169028
+1169108
+1169188
+1169268
+1169348
+1169428
+1169509
+1169589
+1169696
+1169776
+1169856
+1169936
+1170016
+1170097
+1170177
+1170257
+1170337
+1170417
+1170497
+1170578
+1170658
+1170738
+1170818
+1170898
+1170978
+1171059
+1171139
+1171219
+1171299
+1171379
+1171459
+1171540
+1171620
+1171700
+1171780
+1171860
+1171940
+1172021
+1172101
+1172181
+1172261
+1172341
+1172421
+1172502
+1172582
+1172662
+1172742
+1172822
+1172902
+1172983
+1173063
+1173143
+1173223
+1173303
+1173383
+1173464
+1173544
+1173624
+1173731
+1173811
+1173891
+1173971
+1174052
+1174132
+1174212
+1174292
+1174372
+1174452
+1174533
+1174613
+1174693
+1174773
+1174853
+1174933
+1175014
+1175094
+1175174
+1175254
+1175334
+1175414
+1175495
+1175575
+1175655
+1175735
+1175815
+1175895
+1175976
+1176056
+1176136
+1176216
+1176296
+1176376
+1176457
+1176537
+1176617
+1176697
+1176777
+1176857
+1176938
+1177018
+1177098
+1177178
+1177258
+1177338
+1177419
+1177499
+1177579
+1177659
+1177739
+1177846
+1177926
+1178007
+1178087
+1178167
+1178247
+1178327
+1178407
+1178488
+1178568
+1178648
+1178728
+1178808
+1178888
+1178969
+1179049
+1179129
+1179209
+1179289
+1179369
+1179450
+1179530
+1179610
+1179690
+1179770
+1179850
+1179931
+1180011
+1180091
+1180171
+1180251
+1180331
+1180412
+1180492
+1180572
+1180652
+1180732
+1180812
+1180893
+1180973
+1181053
+1181133
+1181213
+1181293
+1181374
+1181454
+1181534
+1181614
+1181694
+1181774
+1181881
+1181962
+1182042
+1182122
+1182202
+1182282
+1182362
+1182443
+1182523
+1182603
+1182683
+1182763
+1182843
+1182924
+1183004
+1183084
+1183164
+1183244
+1183324
+1183405
+1183485
+1183565
+1183645
+1183725
+1183805
+1183886
+1183966
+1184046
+1184126
+1184206
+1184286
+1184367
+1184447
+1184527
+1184607
+1184687
+1184767
+1184848
+1184928
+1185008
+1185088
+1185168
+1185248
+1185329
+1185409
+1185489
+1185569
+1185649
+1185729
+1185810
+1185890
+1185997
+1186077
+1186157
+1186237
+1186317
+1186398
+1186478
+1186558
+1186638
+1186718
+1186798
+1186879
+1186959
+1187039
+1187119
+1187199
+1187279
+1187360
+1187440
+1187520
+1187600
+1187680
+1187760
+1187841
+1187921
+1188001
+1188081
+1188161
+1188241
+1188322
+1188402
+1188482
+1188562
+1188642
+1188722
+1188803
+1188883
+1188963
+1189043
+1189123
+1189203
+1189284
+1189364
+1189444
+1189524
+1189604
+1189684
+1189765
+1189845
+1189925
+1190032
+1190112
+1190192
+1190272
+1190353
+1190433
+1190513
+1190593
+1190673
+1190753
+1190834
+1190914
+1190994
+1191074
+1191154
+1191234
+1191315
+1191395
+1191475
+1191555
+1191635
+1191715
+1191796
+1191876
+1191956
+1192036
+1192116
+1192196
+1192277
+1192357
+1192437
+1192517
+1192597
+1192677
+1192758
+1192838
+1192918
+1192998
+1193078
+1193158
+1193239
+1193319
+1193399
+1193479
+1193559
+1193639
+1193720
+1193800
+1193880
+1193960
+1194040
+1194147
+1194227
+1194308
+1194388
+1194468
+1194548
+1194628
+1194708
+1194789
+1194869
+1194949
+1195029
+1195109
+1195189
+1195270
+1195350
+1195430
+1195510
+1195590
+1195670
+1195751
+1195831
+1195911
+1195991
+1196071
+1196151
+1196232
+1196312
+1196392
+1196472
+1196552
+1196632
+1196713
+1196793
+1196873
+1196953
+1197033
+1197113
+1197194
+1197274
+1197354
+1197434
+1197514
+1197594
+1197675
+1197755
+1197835
+1197915
+1197995
+1198075
+1198182
+1198263
+1198343
+1198423
+1198503
+1198583
+1198663
+1198744
+1198824
+1198904
+1198984
+1199064
+1199144
+1199225
+1199305
+1199385
+1199465
+1199545
+1199625
+1199706
+1199786
+1199866
+1199946
+1200026
+1200106
+1200187
+1200267
+1200347
+1200427
+1200507
+1200587
+1200668
+1200748
+1200828
+1200908
+1200988
+1201068
+1201149
+1201229
+1201309
+1201389
+1201469
+1201549
+1201630
+1201710
+1201790
+1201870
+1201950
+1202030
+1202111
+1202191
+1202298
+1202378
+1202458
+1202538
+1202618
+1202699
+1202779
+1202859
+1202939
+1203019
+1203099
+1203180
+1203260
+1203340
+1203420
+1203500
+1203580
+1203661
+1203741
+1203821
+1203901
+1203981
+1204061
+1204142
+1204222
+1204302
+1204382
+1204462
+1204542
+1204623
+1204703
+1204783
+1204863
+1204943
+1205023
+1205104
+1205184
+1205264
+1205344
+1205424
+1205504
+1205585
+1205665
+1205745
+1205825
+1205905
+1205985
+1206066
+1206146
+1206226
+1206333
+1206413
+1206493
+1206573
+1206654
+1206734
+1206814
+1206894
+1206974
+1207054
+1207135
+1207215
+1207295
+1207375
+1207455
+1207535
+1207616
+1207696
+1207776
+1207856
+1207936
+1208016
+1208097
+1208177
+1208257
+1208337
+1208417
+1208497
+1208578
+1208658
+1208738
+1208818
+1208898
+1208978
+1209059
+1209139
+1209219
+1209299
+1209379
+1209459
+1209540
+1209620
+1209700
+1209780
+1209860
+1209940
+1210021
+1210101
+1210181
+1210261
+1210341
+1210448
+1210528
+1210609
+1210689
+1210769
+1210849
+1210929
+1211009
+1211090
+1211170
+1211250
+1211330
+1211410
+1211490
+1211571
+1211651
+1211731
+1211811
+1211891
+1211971
+1212052
+1212132
+1212212
+1212292
+1212372
+1212452
+1212533
+1212613
+1212693
+1212773
+1212853
+1212933
+1213014
+1213094
+1213174
+1213254
+1213334
+1213414
+1213495
+1213575
+1213655
+1213735
+1213815
+1213895
+1213976
+1214056
+1214136
+1214216
+1214296
+1214376
+1214483
+1214563
+1214644
+1214724
+1214804
+1214884
+1214964
+1215045
+1215125
+1215205
+1215285
+1215365
+1215445
+1215526
+1215606
+1215686
+1215766
+1215846
+1215926
+1216007
+1216087

+ 643 - 0
thermocouple.c

@@ -0,0 +1,643 @@
+/******************************************************************************
+ * Additional info
+ * ****************************************************************************
+ * Changelog:
+ * - v. 2.0 Optimize memory usage. Option to use binary search.
+ *   2016-01-09 by Joakim Soderberg joakim.soderberg@gmail.com
+ * - v. 1.0 Initial release)
+ *   2014-04-24 by Albertas Mickėnas mic@wemakethings.net
+ *
+ * ****************************************************************************
+ * Bugs, feedback, questions and modifications can be posted on the github page
+ * on https://github.com/Miceuz/k-thermocouple-lib/
+ * ****************************************************************************
+ * - LICENSE -
+ * GNU GPL v2 (http://www.gnu.org/licenses/gpl.txt)
+ * This program is free software. You can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as published
+ * by the Free Software Foundation.
+ * ****************************************************************************
+ */
+
+#include <stdio.h>
+#include "thermocouple.h"
+
+#ifdef __AVR__
+#include <avr/pgmspace.h>
+#else
+#undef KTHERM_WITH_PROGMEM
+#endif
+
+#ifdef KTHERM_TEST
+#include <string.h>
+#endif
+
+/*
+ * Values for this table should be multiplied with 1000 when used.
+ * If we store the table as that instead, we need to use unsigned long
+ * For example it would need (on an ATmega328):
+ *    66 * 4 = 264 bytes
+ * instead of:
+ *    66 * 2 = 132 bytes
+ */
+#define TEMP_TABLE_SCALE 1000
+static const signed int temp_tablek[]
+    #ifdef KTHERM_WITH_PROGMEM
+    PROGMEM
+    #endif
+    = {
+	-250,
+	-240,
+	-230,
+	-220,
+	-210,
+	-200,
+	-190,
+	-180,
+	-170,
+	-160,
+	-150,
+	-140,
+	-130,
+	-120,
+	-110,
+	-100,
+	-90,
+	-80,
+	-70,
+	-60,
+	-50,
+	-40,
+	-30,
+	-20,
+	-10,
+    0,
+    10,
+    20,
+    30,
+    40,
+    50,
+    60,
+    79,
+    98,
+    116,
+    134,
+    139,
+    155,
+    172,
+    193,
+    212,
+    231,
+    250,
+    269,
+    288,
+    307,
+    326,
+    345,
+    364,
+    383,
+    402,
+    421,
+    440,
+    459,
+    478,
+    497,
+    516,
+    535,
+    554,
+    573,
+    592,
+    611,
+    630,
+    649,
+    668,
+    687,
+    706,
+    725,
+    744,
+    763,
+    782,
+    801,
+    820,
+    839,
+    858,
+    877,
+    896,
+    915,
+    934,
+    953,
+    972,
+    991,
+    1010,
+    1029,
+    1048,
+    1067,
+    1086,
+    1105,
+    1124,
+    1143,
+    1200
+};
+
+#define TEMP_TABLE_SIZEK (sizeof(temp_table) / sizeof(temp_table[0]))
+
+static const signed int volt_tablek[]
+    #ifdef KTHERM_WITH_PROGMEM
+    PROGMEM
+    #endif
+    = {
+	-6404,
+	-6344,
+	-6262,
+	-6158,
+	-6035,
+	-5891,
+	-5730,
+	-5550,
+	-5354,
+	-5141,
+	-4913,
+	-4669,
+	-4411,
+	-4138,
+	-3852,
+	-3554,
+	-3243,
+	-2920,
+	-2587,
+	-2243,
+	-1889,
+	-1527,
+	-1156,
+	-778,
+    -392,
+	0,
+    397,
+    798,
+    1203,
+    1612,
+    2023,
+    2436,
+    3225,
+    4013,
+    4756,
+    5491,
+    5694,
+    6339,
+    7021,
+    7859,
+    8619,
+    9383,
+    10153,
+    10930,
+    11712,
+    12499,
+    13290,
+    14084,
+    14881,
+    15680,
+    16482,
+    17285,
+    18091,
+    18898,
+    19707,
+    20516,
+    21326,
+    22137,
+    22947,
+    23757,
+    24565,
+    25373,
+    26179,
+    26983,
+    27784,
+    28584,
+    29380,
+    30174,
+    30964,
+    31752,
+    32536,
+    33316,
+    34093,
+    34867,
+    35637,
+    36403,
+    37166,
+    37925,
+    38680,
+    39432,
+    40180,
+    40924,
+    41665,
+    42402,
+    43134,
+    43863,
+    44588,
+    45308,
+    46024,
+    46735,
+    48838
+};
+//T
+static const signed int temp_tablet[]
+    #ifdef KTHERM_WITH_PROGMEM
+    PROGMEM
+    #endif
+    = {
+	-250,
+	-240,
+	-230,
+	-220,
+	-210,
+	-200,
+	-190,
+	-180,
+	-170,
+	-160,
+	-150,
+	-140,
+	-130,
+	-120,
+	-110,
+	-100,
+	-90,
+	-80,
+	-70,
+	-60,
+	-50,
+	-40,
+	-30,
+	-20,
+	-10,
+    0,
+    10,
+    20,
+    30,
+    40,
+    50,
+    60,
+    79,
+    98,
+    116,
+    134,
+    139,
+    155,
+    172,
+    193,
+    212,
+    231,
+    250,
+    269,
+    288,
+    307,
+    326,
+    345,
+    364,
+    383,
+    400
+};
+
+#define TEMP_TABLE_SIZET (sizeof(temp_tablet) / sizeof(temp_tablet[0]))
+
+static const signed int volt_tablet[]
+    #ifdef KTHERM_WITH_PROGMEM
+    PROGMEM
+    #endif
+    = {
+	-6180,
+	-6105,
+	-6007,
+	-5888,
+	-5753,
+	-5603,
+	-5439,
+	-5261,
+	-5070,
+	-4865,
+	-4648,
+	-4419,
+	-4177,
+	-3923,
+	-3657,
+	-3379,
+	-3089,
+	-2788,
+	-2476,
+	-2153,
+	-1819,
+	-1475,
+	-1121,
+	-757,
+    -383,
+	0,
+    391,
+    790,
+    1196,
+    1612,
+    2036,
+    2468,
+    3312,
+    4185,
+    5036,
+    5491,
+    5910,
+    6956,
+    7823,
+    8917,
+    9930,
+    10962,
+    12013,
+    13082,
+    14168,
+    15270,
+    16387,
+    17518,
+    18665,
+    19825,
+    20872
+};
+#define VOLTAGE_TABLE_SIZEK (sizeof(volt_tablek) / sizeof(volt_tablek[0]))
+#define VOLTAGE_TABLE_SIZET (sizeof(volt_tablet) / sizeof(volt_tablet[0]))
+#define POINTS_COUNTK (VOLTAGE_TABLE_SIZEK - 1)
+#define POINTS_COUNTT (VOLTAGE_TABLE_SIZET - 1)
+static inline signed long getTableVal(const signed int *t,
+                                        unsigned char i)
+{
+    #ifdef KTHERM_WITH_PROGMEM
+    return (unsigned long)pgm_read_word_near(t + i);
+    #else
+    return (signed long)t[i];
+    #endif
+}
+
+static inline signed long interpolate(signed long val,
+                                        signed long rangeStart,
+                                        signed long rangeEnd,
+                                        signed long valStart,
+                                        signed long valEnd)
+{
+    signed long valDiff = valEnd - valStart;
+
+    if (valDiff == 0)
+        return 0;
+
+    return rangeStart + (rangeEnd - rangeStart) * (val - valStart) / valDiff;
+}
+
+static inline signed long interpolateVoltagek(signed long temp,
+                                               signed char i)
+{
+    return interpolate(temp,
+                       getTableVal(volt_tablek, i - 1),
+                       getTableVal(volt_tablek, i),
+                       getTableVal(temp_tablek, i - 1) * TEMP_TABLE_SCALE,
+                       getTableVal(temp_tablek, i) * TEMP_TABLE_SCALE);
+}
+static inline signed long interpolateVoltaget(signed long temp,
+                                               signed char i)
+{
+    return interpolate(temp,
+                       getTableVal(volt_tablet, i - 1),
+                       getTableVal(volt_tablet, i),
+                       getTableVal(temp_tablet, i - 1) * TEMP_TABLE_SCALE,
+                       getTableVal(temp_tablet, i) * TEMP_TABLE_SCALE);
+}
+static inline signed long interpolateTemperaturek(signed long microvolts,
+                                                   signed char i)
+{
+    return interpolate(microvolts,
+                       getTableVal(temp_tablek, i - 1) * TEMP_TABLE_SCALE,
+                       getTableVal(temp_tablek, i) * TEMP_TABLE_SCALE,
+                       getTableVal(volt_tablek, i - 1),
+                       getTableVal(volt_tablek, i));
+}
+static inline signed long interpolateTemperaturet(signed long microvolts,
+                                                   signed char i)
+{
+    return interpolate(microvolts,
+                       getTableVal(temp_tablet, i - 1) * TEMP_TABLE_SCALE,
+                       getTableVal(temp_tablet, i) * TEMP_TABLE_SCALE,
+                       getTableVal(volt_tablet, i - 1),
+                       getTableVal(volt_tablet, i));
+}
+static inline unsigned char binarySearchK(const signed int *t,
+                                         signed long val,
+                                         signed long scale)
+{
+    unsigned char first;
+    unsigned char middle;
+    unsigned char last;
+    unsigned long cur;
+
+    // Note that we skip the first item in the list.
+    first = 1;
+    last = POINTS_COUNTK - 2;
+    middle = (first + last) / 2;
+
+    while (first <= last)
+    {
+        cur = getTableVal(t, middle) * scale;
+
+        if (val > cur)
+        {
+            first = middle + 1;
+        }
+        else if (val == cur)
+        {
+            return middle + 1;
+        }
+        else
+        {
+            last = middle - 1;
+        }
+
+        middle = (first + last) / 2;
+    }
+
+    return last + 1;
+}
+static inline unsigned char binarySearchT(const signed int *t,
+                                         signed long val,
+                                         signed long scale)
+{
+    unsigned char first;
+    unsigned char middle;
+    unsigned char last;
+    unsigned long cur;
+
+    // Note that we skip the first item in the list.
+    first = 1;
+    last = POINTS_COUNTT - 2;
+    middle = (first + last) / 2;
+
+    while (first <= last)
+    {
+        cur = getTableVal(t, middle) * scale;
+
+        if (val > cur)
+        {
+            first = middle + 1;
+        }
+        else if (val == cur)
+        {
+            return middle + 1;
+        }
+        else
+        {
+            last = middle - 1;
+        }
+
+        middle = (first + last) / 2;
+    }
+
+    return last + 1;
+}
+static inline unsigned char linearSearchK(const signed int *t,
+                                         signed long val,
+                                         signed long scale)
+{
+    unsigned char i;
+
+    for (i = 0; i < POINTS_COUNTK; i++)
+    {
+        if ((getTableVal(t, i) * scale) > val)
+        {
+            return i;
+        }
+    }
+    return POINTS_COUNTK - 1;
+}
+static inline unsigned char linearSearchT(const signed int *t,
+                                         signed long val,
+                                         signed long scale)
+{
+    unsigned char i;
+
+    for (i = 0; i < POINTS_COUNTT; i++)
+    {
+        if ((getTableVal(t, i) * scale) > val)
+        {
+            return i;
+        }
+    }
+    return POINTS_COUNTT - 1;
+}
+/**
+ * Returns the index of the first point whose temperature
+ * value is greater than argument
+ **/
+static inline unsigned char searchTempk(signed long temp)
+{
+    #ifdef KTHERM_WITH_BINARY_SEARCH
+    return binarySearch(temp_table, temp, TEMP_TABLE_SCALE);
+    #else
+    return linearSearchK(temp_tablek, temp, TEMP_TABLE_SCALE);
+    #endif
+}
+static inline unsigned char searchTempt(signed long temp)
+{
+    #ifdef KTHERM_WITH_BINARY_SEARCH
+    return binarySearch(temp_table, temp, TEMP_TABLE_SCALE);
+    #else
+    return linearSearchT(temp_tablet, temp, TEMP_TABLE_SCALE);
+    #endif
+}
+/**
+ * Returns the index of the first point whose microvolts
+ * value is greater than argument
+ **/
+static inline unsigned char searchMicrovoltsk(signed long microvolts)
+{
+    #ifdef KTHERM_WITH_BINARY_SEARCH
+    return binarySearch(volt_table, microvolts, 1);
+    #else
+    return linearSearchK(volt_tablek, microvolts, 1);
+    #endif
+}
+static inline unsigned char searchMicrovoltst(signed long microvolts)
+{
+    #ifdef KTHERM_WITH_BINARY_SEARCH
+    return binarySearch(volt_table, microvolts, 1);
+    #else
+    return linearSearchT(volt_tablet, microvolts, 1);
+    #endif
+}
+/**
+ * Returns temperature as a function of the ambient temperature
+ * and measured thermocouple voltage.
+ * Currently only positive ambient temperature is supported
+ **/
+long thermocoupleConvertWithCJCompensationk(signed long microvoltsMeasured,
+                                           signed long ambient)
+{
+    // Convert ambient temp to microvolts
+    // and add them to the thermocouple measured microvolts 
+    signed long microvolts = 
+        microvoltsMeasured + interpolateVoltagek(ambient, searchTempk(ambient));
+
+    // look up microvolts in The Table and interpolate
+    return interpolateTemperaturek(microvolts, searchMicrovoltsk(microvolts));
+}
+long thermocoupleConvertWithCJCompensationt(signed long microvoltsMeasured,
+                                           signed long ambient)
+{
+    // Convert ambient temp to microvolts
+    // and add them to the thermocouple measured microvolts 
+    signed long microvolts = 
+        microvoltsMeasured + interpolateVoltaget(ambient, searchTempt(ambient));
+
+    // look up microvolts in The Table and interpolate
+    return interpolateTemperaturet(microvolts, searchMicrovoltst(microvolts));
+}
+/**
+ * Returns temperature, equivalent to the voltage provided in microvolts
+ */
+long thermocoupleMvToCk(signed long microvolts)
+{
+    return interpolateTemperaturek(microvolts, searchMicrovoltsk(microvolts));
+}
+long thermocoupleMvToCt(signed long microvolts)
+{
+    return interpolateTemperaturet(microvolts, searchMicrovoltst(microvolts));
+}
+#ifdef KTHERM_TEST
+int main(int argc, char **argv)
+{
+    unsigned long i = 0;
+
+    if (argc < 2)
+    {
+        goto usage;
+    }
+
+    for (i = 1; i < argc; i++)
+    {
+        if (!strcmp(argv[i], "--temps"))
+        {
+            for (i = 0; i < 16383; i++)
+            {
+                unsigned long voltage = 5000000 / 16384 * i / 101;
+                printf("%ld\n", thermocoupleMvToC(voltage));
+            }
+        }
+        else if (!strcmp(argv[i], "--microvolts"))
+        {
+            for (i = 0; i < 1280000; i+= 1000)
+            {
+                printf("%ld\n", interpolateVoltage(i, searchTemp(i)));
+            }
+        }
+        else
+        {
+            fprintf(stderr, "Unknown option %s\n", argv[i]);
+            goto usage;
+        }
+    }
+
+    return 0;
+usage:
+    printf("K-Type Thermocouple Library Tests\n");
+    printf(" Usage: %s [--microvolts] [--temps]\n", argv[0]);
+    return -1;
+}
+#endif

+ 43 - 0
thermocouple.h

@@ -0,0 +1,43 @@
+/******************************************************************************
+ * Additional info
+ * ****************************************************************************
+ * Changelog:
+ * - v. 2.0 Optimize memory usage. Option to use binary search.
+ *   2016-01-09 by Joakim Soderberg joakim.soderberg@gmail.com
+ * - v. 1.0 Initial release)
+ *   2014-04-24 by Albertas Mickėnas mic@wemakethings.net
+ *
+ * ****************************************************************************
+ * Bugs, feedback, questions and modifications can be posted on the github page
+ * on https://github.com/Miceuz/k-thermocouple-lib/
+ * ****************************************************************************
+ * - LICENSE -
+ * GNU GPL v2 (http://www.gnu.org/licenses/gpl.txt)
+ * This program is free software. You can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as published
+ * by the Free Software Foundation.
+ * ****************************************************************************
+ */
+#ifndef __THERMOCOUPLE_H
+#define __THERMOCOUPLE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Returns temperature as a function of the ambient temperature and measured thermocouple voltage
+ **/
+long thermocoupleConvertWithCJCompensationk(signed long microvoltsMeasured, signed long ambient);
+long thermocoupleConvertWithCJCompensationt(signed long microvoltsMeasured, signed long ambient);
+/**
+ * Returns temperature equivalent the voltage provided in microvolts
+ */
+long thermocoupleMvToCk(signed long microvolts);
+
+long thermocoupleMvToCt(signed long microvolts);
+#ifdef __cplusplus
+}
+#endif
+#endif // _THERMOCOUPLE_H
+

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov