fork(1) download
  1. require 'set'
  2.  
  3. @primes = Set.new([2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67])
  4.  
  5. def is_prime? num
  6. if num < 2
  7. return false
  8. end
  9. if num <= 67
  10. return @primes.include?(num)
  11. else
  12. @primes.each do |prime|
  13. return false if num % prime == 0
  14. end
  15. end
  16. miller_rabin_test(num)
  17. end
  18.  
  19.  
  20. def list_of_tests n
  21. if n < 1373653
  22. [2,3]
  23. elsif n < 9080191
  24. [31,73]
  25. elsif n < 4759123141
  26. [2,7,61]
  27. elsif n < 2152302898747
  28. [2,3,5,7,11]
  29. elsif n < 3474749660383
  30. [2,3,5,7,11,13]
  31. elsif n < 341550071728321
  32. [2,3,5,7,11,13,17]
  33. end
  34. end
  35.  
  36. def pow_mod(base, power, mod)
  37. result = 1
  38. while power > 0
  39. result = (result * base) % mod if power & 1 == 1
  40. base = (base * base) % mod
  41. power >>= 1;
  42. end
  43. result
  44. end
  45.  
  46. def miller_rabin_test num
  47. n = num-1
  48. s,d = compute_s_and_d(num)
  49. list_of_tests(num).each do |a|
  50. break if a >= num
  51. x = pow_mod(a,d,num)
  52. #puts "x = #{x}"
  53. next if x == 1 or x == n
  54. skip = false
  55. (0..s-1).each do |r|
  56. x = pow_mod(x,2,num)
  57. #puts "r = #{r}, x = #{x}, n = #{n}"
  58. return false if x == 1
  59. if x == n
  60. skip = true
  61. break
  62. end
  63. end
  64. next if skip
  65. return false
  66. end
  67. return true
  68. end
  69.  
  70. def compute_s_and_d n
  71. s = 0
  72. d = n - 1
  73. while d % 2 == 0
  74. d /= 2
  75. s += 1
  76. end
  77. return [s,d]
  78. end
  79.  
  80. def find_primes min, max
  81. if min <= 2
  82. min = 3
  83. puts "2"
  84. end
  85. start = min.odd? ? min : min+1
  86. (start..max).step(2) do |num|
  87. if is_prime?(num)
  88. STDOUT.write("#{num}\n")
  89. end
  90. end
  91. end
  92.  
  93.  
  94.  
  95. ranges = []
  96.  
  97. STDIN.each_with_index do |line,index|
  98. next if index == 0
  99. ranges << line.split.map{|num| num.to_i}
  100. end
  101.  
  102. ranges.each do |range|
  103. find_primes *range
  104. STDOUT.write("\n")
  105. end
  106.  
Runtime error #stdin #stdout 1.64s 5540KB
stdin
10
999000000 999100000
999100000 999200000
999200000 999300000
999300000 999400000
999400000 999500000
999500000 999600000
999600000 999700000
999700000 999800000
999800000 999900000
999900000 1000000000
stdout
999000011
999000029
999000061
999000071
999000073
999000077
999000103
999000131
999000139
999000157
999000173
999000271
999000281
999000283
999000293
999000311
999000313
999000319
999000337
999000341
999000421
999000433
999000491
999000493
999000517
999000521
999000589
999000643
999000659
999000701
999000707
999000773
999000809
999000817
999000841
999000901
999000911
999000941
999000949
999000953
999000967
999000991
999001007
999001043
999001049
999001097
999001099
999001103
999001109
999001111
999001117
999001127
999001139
999001151
999001163
999001231
999001249
999001259
999001261
999001271
999001301
999001307
999001357
999001387
999001417
999001433
999001441
999001501
999001537
999001571
999001607
999001609
999001643
999001727
999001733
999001763
999001793
999001811
999001853
999001891
999001897
999001901
999001903
999001937
999001943
999001999
999002051
999002057
999002071
999002087
999002111
999002129
999002131
999002143
999002149
999002189
999002231
999002239
999002281
999002341
999002357
999002371
999002443
999002453
999002471
999002509
999002533
999002567
999002579
999002639
999002647
999002657
999002659
999002681
999002687
999002699
999002707
999002743
999002749
999002791
999002819
999002821
999002827
999002831
999002891
999002941
999002951
999002981
999003013
999003037
999003043
999003101
999003119
999003121
999003127
999003139
999003143
999003149
999003167
999003169
999003193
999003197
999003199
999003211
999003233
999003251
999003259
999003277
999003287
999003329
999003331
999003349
999003353
999003361
999003389
999003407
999003409
999003443
999003449
999003479
999003491
999003493
999003539
999003557
999003559
999003601
999003647
999003653
999003667
999003673
999003713
999003721
999003739
999003749
999003751
999003757
999003763
999003787
999003791
999003809
999003829
999003839
999003913
999003931
999003949
999003953
999003961
999004001
999004003
999004007
999004037
999004063
999004087
999004117
999004121
999004141
999004157
999004183
999004229
999004247
999004273
999004283
999004289
999004301
999004309
999004327
999004361
999004387
999004393
999004417
999004429
999004493
999004547
999004583
999004603
999004607
999004627
999004631
999004651
999004663
999004679
999004723
999004739
999004757
999004771
999004801
999004817
999004823
999004829
999004841
999004871
999004891
999004901
999004969
999005027
999005081
999005107
999005131
999005141
999005167
999005177
999005191
999005213
999005239
999005243
999005251
999005263
999005269
999005297
999005317
999005407
999005417
999005419
999005431
999005461
999005477
999005489
999005531
999005563
999005599
999005603
999005681
999005699
999005747
999005801
999005837
999005863
999005873
999005879
999005893
999005939
999005951
999005983
999006017
999006067
999006077
999006097
999006121
999006133
999006157
999006161
999006193
999006223
999006233
999006277
999006313
999006331
999006347
999006353
999006361
999006383
999006391
999006397
999006419
999006427
999006431
999006439
999006469
999006497
999006499
999006517
999006521
999006523
999006539
999006563
999006571
999006583
999006599
999006601
999006607
999006661
999006689
999006709
999006727
999006731
999006763
999006769
999006781
999006787
999006803
999006893
999006901
999006929
999006979
999007013
999007073
999007081
999007103
999007129
999007153
999007199
999007201
999007211
999007223
999007241
999007249
999007259
999007279
999007301
999007343
999007381
999007423
999007439
999007447
999007459
999007469
999007483
999007549
999007561
999007589
999007619
999007637
999007649
999007651
999007673
999007679
999007697
999007739
999007769
999007813
999007831
999007853
999007871
999007879
999007903
999007909
999007931
999007957
999007969
999008039
999008051
999008053
999008063
999008089
999008137
999008147
999008189
999008191
999008203
999008209
999008221
999008261
999008273
999008279
999008287
999008291
999008317
999008321
999008333
999008341
999008347
999008369
999008377
999008441
999008459
999008471
999008531
999008537
999008539
999008561
999008597
999008599
999008623
999008629
999008677
999008687
999008693
999008719
999008737
999008743
999008783
999008831
999008851
999008873
999008897
999008921
999008939
999008947
999008951
999008963
999008971
999008987
999009019
999009049
999009083
999009107
999009119
999009133
999009173
999009217
999009223
999009259
999009283
999009293
999009311
999009337
999009353
999009413
999009419
999009421
999009443
999009461
999009467
999009481
999009491
999009533
999009553
999009563
999009587
999009601
999009611
999009619
999009637
999009659
999009679
999009701
999009727
999009733
999009787
999009833
999009857
999009883
999009941
999009943
999009983
999009989
999010021
999010039
999010087
999010127
999010147
999010189
999010193
999010217
999010279
999010289
999010307
999010319
999010339
999010343
999010349
999010351
999010373
999010381
999010393
999010417
999010459
999010477
999010487
999010501
999010549
999010577
999010583
999010591
999010613
999010643
999010651
999010697
999010711
999010741
999010757
999010759
999010769
999010781
999010807
999010813
999010889
999010921
999010927
999010979
999011009
999011047
999011087
999011107
999011113
999011119
999011159
999011173
999011183
999011263
999011281
999011287
999011311
999011333
999011353
999011381
999011407
999011411
999011441
999011467
999011471
999011479
999011491
999011513
999011521
999011527
999011543
999011551
999011569
999011593
999011623
999011627
999011653
999011669
999011687
999011711
999011731
999011747
999011779
999011843
999011873
999011879
999011891
999011903
999011929
999011957
999012011
999012023
999012031
999012037
999012041
999012073
999012101
999012137
999012181
999012187
999012253
999012263
999012269
999012281
999012283
999012323
999012331
999012341
999012349
999012403
999012439
999012449
999012461
999012467
999012473
999012491
999012499
999012517
999012523
999012551
999012587
999012611
999012673
999012689
999012709
999012731
999012743
999012757
999012767
999012821
999012841
999012857
999012869
999012919
999012961
999012977
999012979
999012997
999013003
999013009
999013033
999013051
999013087
999013091
999013121
999013123
999013129
999013133
999013151
999013159
999013189
999013207
999013237
999013273
999013291
999013343
999013361
999013387
999013397
999013399
999013403
999013439
999013459
999013507
999013513
999013571
999013601
999013621
999013633
999013637
999013643
999013649
999013669
999013723
999013759
999013777
999013817
999013861
999013867
999013871
999013879
999013889
999013933
999013943
999013957
999013963
999013973
999014021
999014047
999014063
999014087
999014099
999014111
999014143
999014147
999014161
999014183
999014209
999014213
999014221
999014239
999014251
999014257
999014273
999014279
999014309
999014351
999014363
999014371
999014377
999014389
999014411
999014413
999014441
999014459
999014473
999014521
999014551
999014579
999014603
999014617
999014633
999014669
999014693
999014701
999014717
999014719
999014771
999014827
999014831
999014833
999014857
999014879
999014903
999014917
999014921
999014953
999014971
999014977
999014987
999015029
999015053
999015067
999015077
999015089
999015103
999015107
999015137
999015163
999015191
999015197
999015203
999015211
999015271
999015343
999015449
999015467
999015487
999015527
999015529
999015533
999015539
999015541
999015551
999015583
999015599
999015601
999015607
999015617
999015623
999015631
999015637
999015701
999015733
999015737
999015749
999015779
999015781
999015791
999015793
999015803
999015841
999015859
999015911
999015917
999015923
999015949
999015989
999016037
999016061
999016147
999016171
999016217
999016229
999016241
999016267
999016313
999016423
999016427
999016433
999016493
999016519
999016531
999016547
999016559
999016573
999016583
999016589
999016639
999016643
999016651
999016691
999016727
999016763
999016771
999016813
999016859
999016861
999016877
999017003
999017009
999017051
999017083
999017153
999017161
999017183
999017197
999017203
999017233
999017251
999017273
999017303
999017333
999017347
999017387
999017389
999017407
999017413
999017417
999017429
999017471
999017527
999017531
999017543
999017567
999017573
999017639
999017651
999017653
999017681
999017683
999017707
999017713
999017729
999017779
999017821
999017827
999017843
999017893
999017927
999017939
999017959
999017983
999017989
999017993
999018001
999018029
999018037
999018047
999018049
999018061
999018091
999018101
999018151
999018191
999018193
999018227
999018239
999018247
999018281
999018287
999018301
999018313
999018331
999018353
999018401
999018439
999018451
999018457
999018467
999018473
999018487
999018491
999018497
999018509
999018541
999018563
999018589
999018599
999018619
999018641
999018653
999018673
999018697
999018701
999018721
999018749
999018791
999018799
999018817
999018829
999018847
999018877
999018931
999018949
999018967
999018971
999019001
999019003
999019019
999019027
999019039
999019067
999019123
999019139
999019157
999019159
999019181
999019187
999019201
999019213
999019249
999019253
999019309
999019337
999019397
999019403
999019459
999019471
999019507
999019523
999019529
999019589
999019591
999019597
999019621
999019633
999019661
999019667
999019687
999019691
999019699
999019709
999019711
999019717
999019729
999019741
999019757
999019783
999019793
999019799
999019831
999019837
999019871
999019891
999019933
999019937
999019939
999019993
999020021
999020041
999020047
999020051
999020083
999020131
999020137
999020173
999020179
999020201
999020233
999020237
999020261
999020299
999020311
999020327
999020329
999020371
999020377
999020413
999020431
999020459
999020497
999020501
999020531
999020573
999020597
999020611
999020641
999020651
999020699
999020707
999020723
999020753
999020761
999020783
999020821
999020837
999020839
999020857
999020873
999020921
999020927
999020941
999020947
999021019
999021041
999021043
999021061
999021071
999021073
999021109
999021113
999021131
999021137
999021157
999021187
999021209
999021241
999021253
999021259
999021263
999021271
999021299
999021313
999021329
999021341
999021391
999021421
999021427
999021437
999021487
999021547
999021557
999021581
999021601
999021659
999021739
999021797
999021799
999021817
999021833
999021853
999021887
999021893
999021931
999021943
999021953
999021971
999021973
999022001
999022021
999022049
999022061
999022067
999022081
999022093
999022099
999022111
999022133
999022183
999022201
999022231
999022249
999022331
999022351
999022373
999022393
999022403
999022433
999022481
999022487
999022517
999022573
999022579
999022627
999022639
999022667
999022723
999022747
999022781
999022789
999022819
999022847
999022873
999022909
999022919
999022939
999022951
999022979
999023027
999023029
999023057
999023083
999023087
999023153
999023159
999023189
999023197
999023203
999023237
999023243
999023269
999023279
999023293
999023299
999023327
999023339
999023351
999023353
999023359
999023371
999023381
999023383
999023393
999023437
999023497
999023537
999023563
999023573
999023579
999023593
999023603
999023609
999023611
999023689
999023713
999023723
999023737
999023741
999023749
999023789
999023803
999023833
999023899
999023911
999023923
999023941
999023953
999023981
999024041
999024043
999024071
999024097
999024101
999024107
999024119
999024121
999024157
999024181
999024211
999024223
999024263
999024269
999024281
999024293
999024307
999024317
999024331
999024353
999024359
999024361
999024391
999024463
999024469
999024473
999024493
999024517
999024529
999024539
999024557
999024563
999024571
999024577
999024581
999024583
999024589
999024623
999024643
999024647
999024659
999024661
999024709
999024713
999024721
999024749
999024797
999024811
999024821
999024833
999024847
999024863
999024869
999024919
999024967
999024991
999025051
999025061
999025087
999025099
999025117
999025129
999025133
999025151
999025163
999025177
999025219
999025241
999025277
999025283
999025289
999025303
999025319
999025327
999025333
999025343
999025397
999025403
999025421
999025457
999025459
999025477
999025483
999025501
999025523
999025589
999025603
999025613
999025619
999025627
999025633
999025649
999025661
999025693
999025711
999025739
999025759
999025771
999025777
999025787
999025793
999025879
999025889
999025891
999025913
999025939
999025949
999025987
999025997
999026003
999026051
999026059
999026071
999026129
999026153
999026167
999026177
999026239
999026257
999026269
999026297
999026339
999026351
999026383
999026393
999026417
999026447
999026473
999026543
999026549
999026557
999026563
999026599
999026617
999026621
999026647
999026711
999026731
999026737
999026759
999026779
999026849
999026857
999026909
999026921
999026989
999027037
999027053
999027067
999027089
999027097
999027131
999027143
999027167
999027187
999027193
999027199
999027203
999027223
999027301
999027311
999027313
999027331
999027349
999027373
999027377
999027431
999027437
999027481
999027493
999027499
999027503
999027511
999027521
999027529
999027539
999027551
999027577
999027613
999027647
999027671
999027697
999027721
999027727
999027737
999027749
999027767
999027773
999027781
999027791
999027811
999027833
999027857
999027919
999027971
999027973
999028021
999028081
999028087
999028109
999028127
999028153
999028169
999028183
999028187
999028201
999028213
999028237
999028333
999028339
999028363
999028397
999028399
999028403
999028487
999028519
999028553
999028559
999028571
999028573
999028637
999028669
999028687
999028691
999028699
999028703
999028711
999028733
999028739
999028799
999028829
999028861
999028883
999028889
999028913
999028931
999028969
999028973
999028981
999028993
999028999
999029011
999029029
999029047
999029051
999029069
999029107
999029111
999029113
999029167
999029201
999029203
999029221
999029233
999029243
999029249
999029257
999029299
999029303
999029333
999029347
999029377
999029387
999029393
999029401
999029413
999029431
999029527
999029561
999029579
999029593
999029617
999029639
999029641
999029677
999029687
999029693
999029719
999029737
999029783
999029887
999029891
999029897
999029923
999029981
999029987
999029989
999030029
999030031
999030037
999030049
999030083
999030101
999030103
999030107
999030163
999030209
999030259
999030281
999030293
999030341
999030359
999030371
999030437
999030467
999030493
999030503
999030509
999030533
999030581
999030601
999030631
999030667
999030677
999030679
999030701
999030713
999030719
999030751
999030757
999030763
999030779
999030793
999030797
999030827
999030833
999030869
999030883
999030937
999030971
999031003
999031009
999031057
999031067
999031081
999031123
999031127
999031139
999031147
999031181
999031183
999031193
999031211
999031213
999031249
999031261
999031309
999031331
999031357
999031361
999031417
999031463
999031477
999031549
999031559
999031633
999031651
999031661
999031667
999031669
999031681
999031769
999031777
999031819
999031829
999031879
999031921
999031949
999031961
999031963
999031981
999031993
999031997
999032011
999032017
999032057
999032087
999032129
999032131
999032159
999032171
999032207
999032213
999032219
999032233
999032249
999032261
999032311
999032317
999032389
999032399
999032401
999032413
999032417
999032471
999032491
999032501
999032543
999032549
999032569
999032581
999032603
999032621
999032627
999032647
999032651
999032653
999032681
999032689
999032707
999032719
999032731
999032767
999032777
999032789
999032809
999032833
999032849
999032857
999032873
999032891
999032941
999032963
999032989
999033011
999033071
999033073
999033089
999033097
999033107
999033109
999033127
999033163
999033197
999033223
999033239
999033247
999033257
999033283
999033293
999033341
999033349
999033389
999033437
999033461
999033479
999033481
999033487
999033523
999033569
999033571
999033587
999033599
999033613
999033619
999033649
999033671
999033719
999033779
999033793
999033817
999033823
999033857
999033859
999033877
999033901
999033907
999033923
999033947
999034031
999034067
999034073
999034097
999034103
999034129
999034139
999034163
999034171
999034207
999034213
999034217
999034261
999034297
999034313
999034321
999034343
999034367
999034381
999034423
999034441
999034499
999034501
999034537
999034541
999034559
999034567
999034583
999034591
999034607
999034633
999034667
999034697
999034709
999034721
999034723
999034727
999034753
999034811
999034819
999034843
999034847
999034919
999034931
999034943
999034963
999034999
999035053
999035071
999035077
999035087
999035129
999035131
999035159
999035161
999035237
999035251
999035273
999035281
999035287
999035293
999035299
999035309
999035321
999035341
999035347
999035363
999035417
999035423
999035449
999035461
999035497
999035509
999035519
999035539
999035573
999035627
999035633
999035657
999035701
999035707
999035747
999035749
999035767
999035771
999035783
999035803
999035833
999035867
999035887
999035893
999035897
999035909
999035963
999035987
999036029
999036043
999036047
999036067
999036091
999036097
999036139
999036151
999036191
999036193
999036221
999036253
999036281
999036343
999036361
999036377
999036383
999036407
999036427
999036443
999036497
999036499
999036541
999036547
999036553
999036601
999036683
999036707
999036719
999036749
999036817
999036823
999036827
999036847
999036877
999036937
999036959
999037021
999037027
999037033
999037069
999037087
999037099
999037163
999037183
999037187
999037297
999037331
999037337
999037349
999037357
999037387
999037393
999037427
999037433
999037441
999037451
999037483
999037513
999037519
999037541
999037553
999037583
999037609
999037639
999037643
999037681
999037709
999037723
999037783
999037789
999037807
999037811
999037813
999037817
999037873
999037901
999037927
999037937
999037987
999038003
999038011
999038039
999038071
999038077
999038111
999038119
999038149
999038177
999038179
999038213
999038219
999038237
999038263
999038279
999038363
999038401
999038437
999038459
999038461
999038501
999038531
999038539
999038549
999038561
999038567
999038569
999038587
999038611
999038641
999038647
999038659
999038669
999038683
999038699
999038717
999038723
999038771
999038783
999038797
999038839
999038849
999038857
999038863
999038869
999038897
999038903
999038939
999039007
999039011
999039037
999039043
999039047
999039053
999039071
999039079
999039089
999039101
999039121
999039157
999039161
999039163
999039179
999039193
999039203
999039229
999039259
999039313
999039317
999039337
999039341
999039343
999039401
999039403
999039407
999039421
999039439
999039491
999039499
999039521
999039563
999039583
999039607
999039641
999039649
999039677
999039689
999039721
999039739
999039749
999039791
999039803
999039823
999039829
999039841
999039851
999039857
999039869
999039889
999039913
999039949
999040001
999040013
999040019
999040043
999040073
999040087
999040103
999040117
999040123
999040129
999040171
999040177
999040181
999040201
999040243
999040247
999040261
999040267
999040277
999040279
999040291
999040327
999040331
999040337
999040423
999040429
999040433
999040439
999040447
999040487
999040499
999040519
999040531
999040561
999040607
999040631
999040661
999040681
999040709
999040711
999040741
999040747
999040799
999040817
999040829
999040841
999040877
999040879
999040897
999040943
999040963
999040997
999041003
999041027
999041077
999041117
999041119
999041129
999041143
999041171
999041177
999041201
999041207
999041209
999041243
999041257
999041279
999041311
999041333
999041339
999041357
999041359
999041389
999041411
999041419
999041441
999041443
999041473
999041539
999041609
999041633
999041647
999041651
999041653
999041657
999041671
999041683
999041707
999041723
999041761
999041809
999041819
999041843
999041861
999041863
999041893
999041899
999041947
999041951
999041977
999042013
999042029
999042049
999042061
999042089
999042101
999042127
999042131
999042133
999042181
999042193
999042241
999042259
999042269
999042271
999042277
999042299
999042307
999042347
999042353
999042377
999042389
999042403
999042413
999042463
999042469
999042493
999042503
999042509
999042523
999042529
999042571
999042599
999042617
999042619
999042631
999042643
999042647
999042677
999042701
999042703
999042761
999042767
999042787
999042799
999042817
999042823
999042841
999042851
999042871
999042911
999042923
999042943
999042959
999042997
999043013
999043021
999043049
999043051
999043099
999043141
999043151
999043153
999043159
999043193
999043219
999043223
999043229
999043277
999043289
999043307
999043321
999043337
999043379
999043393
999043429
999043439
999043477
999043483
999043517
999043523
999043531
999043537
999043567
999043589
999043681
999043691
999043723
999043733
999043739
999043741
999043753
999043783
999043817
999043831
999043841
999043853
999043931
999043943
999043951
999043963
999043967
999043987
999043999
999044003
999044017
999044021
999044023
999044041
999044047
999044093
999044131
999044143
999044159
999044177
999044209
999044213
999044231
999044243
999044273
999044311
999044323
999044351
999044369
999044381
999044411
999044443
999044447
999044467
999044477
999044503
999044509
999044513
999044521
999044531
999044551
999044561
999044573
999044587
999044591
999044603
999044633
999044653
999044701
999044723
999044741
999044747
999044759
999044777
999044779
999044857
999044861
999044863
999044869
999044873
999044887
999044903
999044927
999044939
999044941
999044987
999044989
999044999
999045017
999045037
999045049
999045127
999045163
999045193
999045217
999045259
999045371
999045379
999045433
999045491
999045533
999045539
999045569
999045589
999045611
999045629
999045637
999045659
999045667
999045673
999045683
999045689
999045701
999045721
999045731
999045767
999045781
999045787
999045791
999045797
999045809
999045823
999045829
999045833
999045857
999045863
999045877
999045889
999045907
999045913
999046007
999046019
999046033
999046063
999046091
999046129
999046141
999046151
999046159
999046177
999046189
999046199
999046229
999046283
999046289
999046309
999046369
999046379
999046409
999046427
999046439
999046441
999046457
999046487
999046493
999046501
999046511
999046513
999046541
999046571
999046591
999046603
999046613
999046663
999046679
999046693
999046709
999046717
999046721
999046753
999046777
999046799
999046819
999046891
999046921
999046949
999046957
999046987
999046991
999047111
999047131
999047183
999047209
999047213
999047219
999047221
999047233
999047237
999047293
999047299
999047311
999047321
999047383
999047443
999047453
999047473
999047521
999047549
999047561
999047563
999047579
999047591
999047597
999047639
999047641
999047713
999047719
999047741
999047743
999047761
999047771
999047801
999047821
999047837
999047879
999047897
999047923
999047927
999047947
999047969
999047971
999048013
999048023
999048031
999048053
999048059
999048073
999048077
999048109
999048131
999048133
999048199
999048209
999048221
999048227
999048241
999048277
999048287
999048293
999048307
999048311
999048317
999048331
999048361
999048371
999048373
999048383
999048409
999048419
999048431
999048451
999048487
999048499
999048509
999048511
999048527
999048529
999048551
999048559
999048587
999048601
999048647
999048683
999048689
999048691
999048703
999048731
999048751
999048761
999048793
999048821
999048847
999048889
999048893
999048959
999048991
999049021
999049031
999049067
999049087
999049109
999049111
999049123
999049133
999049151
999049153
999049187
999049199
999049211
999049213
999049231
999049243
999049267
999049291
999049339
999049379
999049409
999049423
999049439
999049453
999049481
999049483
999049511
999049547
999049553
999049567
999049607
999049651
999049661
999049699
999049703
999049717
999049729
999049759
999049769
999049771
999049783
999049789
999049817
999049823
999049853
999049859
999049867
999049871
999049889
999049903
999049939
999049949
999049951
999049957
999049973
999049991
999050021
999050023
999050027
999050047
999050069
999050111
999050137
999050141
999050161
999050183
999050207
999050219
999050231
999050243
999050249
999050257
999050263
999050281
999050293
999050303
999050359
999050369
999050387
999050389
999050527
999050539
999050557
999050561
999050573
999050581
999050621
999050639
999050641
999050651
999050687
999050699
999050711
999050809
999050851
999050867
999050873
999050909
999050929
999050939
999050959
999051013
999051041
999051047
999051049
999051139
999051149
999051169
999051173
999051181
999051197
999051203
999051211
999051227
999051233
999051283
999051341
999051343
999051367
999051371
999051377
999051409
999051481
999051497
999051509
999051533
999051583
999051587
999051589
999051593
999051619
999051623
999051629
999051671
999051679
999051707
999051727
999051803
999051821
999051841
999051847
999051853
999051877
999051887
999051913
999051919
999051923
999051929
999051979
999051983
999051997
999052009
999052013
999052027
999052063
999052079
999052099
999052121
999052139
999052151
999052181
999052189
999052199
999052213
999052217
999052261
999052267
999052297
999052303
999052321
999052331
999052381
999052423
999052459
999052463
999052489
999052513
999052529
999052553
999052589
999052627
999052643
999052709
999052721
999052759
999052763
999052777
999052783
999052837
999052861
999052867
999052883
999052931
999052939
999052949
999052963
999052981
999053017
999053023
999053057
999053087
999053101
999053123
999053131
999053137
999053177
999053179
999053189
999053201
999053203
999053207
999053239
999053261
999053267
999053309
999053311
999053327
999053347
999053351
999053359
999053387
999053401
999053411
999053413
999053417
999053423
999053483
999053533
999053563
999053593
999053609
999053617
999053621
999053623
999053633
999053651
999053663
999053681
999053689
999053707
999053717
999053767
999053777
999053789
999053831
999053863
999053879
999053899
999053917
999053927
999053933
999053941
999053969
999053989
999054041
999054047
999054061
999054083
999054101
999054107
999054109
999054163
999054169
999054191
999054209
999054211
999054247
999054253
999054269
999054323
999054431
999054439
999054479
999054559
999054631
999054737
999054739
999054743
999054757
999054769
999054773
999054781
999054787
999054799
999054803
999054821
999054851
999054857
999054877
999054907
999054911
999054923
999054943
999054967
999055007
999055033
999055037
999055039
999055051
999055061
999055081
999055091
999055097
999055111
999055139
999055153
999055177
999055181
999055217
999055219
999055223
999055231
999055237
999055243
999055273
999055327
999055331
999055333
999055357
999055363
999055403
999055417
999055433
999055457
999055483
999055489
999055493
999055501
999055513
999055517
999055553
999055583
999055591
999055601
999055699
999055723
999055727
999055747
999055751
999055763
999055793
999055801
999055831
999055843
999055873
999055901
999055903
999055919
999055931
999055933
999055951
999055997
999056021
999056033
999056077
999056117
999056159
999056167
999056213
999056243
999056269
999056273
999056287
999056339
999056411
999056479
999056483
999056491
999056501
999056533
999056557
999056563
999056603
999056609
999056687
999056693
999056741
999056743
999056759
999056761
999056767
999056777
999056791
999056813
999056827
999056857
999056887
999056897
999056909
999056939
999056941
999056987
999057023
999057041
999057077
999057121
999057131
999057161
999057179
999057203
999057211
999057229
999057247
999057263
999057271
999057277
999057287
999057289
999057299
999057391
999057403
999057407
999057421
999057439
999057457
999057469
999057497
999057503
999057557
999057583
999057589
999057593
999057607
999057643
999057671
999057673
999057707
999057721
999057727
999057733
999057737
999057767
999057811
999057833
999057847
999057881
999057889
999057893
999057907
999057911
999057929
999057931
999057949
999057967
999057977
999058013
999058051
999058121
999058189
999058213
999058223
999058231
999058241
999058243
999058271
999058283
999058289
999058331
999058369
999058433
999058451
999058453
999058471
999058477
999058519
999058597
999058631
999058657
999058693
999058699
999058717
999058721
999058763
999058783
999058789
999058807
999058811
999058829
999058831
999058883
999058919
999058927
999058943
999058967
999059021
999059023
999059029
999059051
999059053
999059071
999059081
999059123
999059129
999059137
999059143
999059153
999059161
999059203
999059207
999059219
999059231
999059249
999059261
999059267
999059279
999059287
999059353
999059363
999059371
999059393
999059407
999059429
999059473
999059489
999059513
999059527
999059543
999059557
999059569
999059627
999059641
999059651
999059687
999059707
999059771
999059779
999059783
999059797
999059837
999059849
999059879
999059959
999060047
999060067
999060113
999060119
999060163
999060187
999060191
999060193
999060203
999060211
999060217
999060221
999060239
999060263
999060277
999060287
999060289
999060311
999060317
999060371
999060389
999060401
999060449
999060473
999060487
999060493
999060509
999060563
999060593
999060599
999060659
999060697
999060703
999060707
999060721
999060737
999060761
999060763
999060773
999060779
999060787
999060827
999060863
999060893
999061027
999061043
999061061
999061069
999061081
999061109
999061127
999061139
999061153
999061159
999061213
999061229
999061243
999061267
999061291
999061307
999061319
999061331
999061351
999061367
999061387
999061417
999061421
999061463
999061489
999061517
999061523
999061529
999061549
999061577
999061601
999061619
999061633
999061639
999061697
999061711
999061727
999061733
999061747
999061771
999061783
999061823
999061849
999061853
999061859
999061891
999061897
999061909
999061949
999061961
999061963
999061997
999062021
999062023
999062027
999062081
999062089
999062101
999062107
999062117
999062153
999062167
999062189
999062231
999062249
999062257
999062269
999062279
999062333
999062353
999062401
999062411
999062413
999062437
999062489
999062497
999062543
999062549
999062563
999062593
999062599
999062627
999062663
999062671
999062683
999062689
999062747
999062767
999062809
999062821
999062839
999062881
999062893
999062957
999063001
999063017
999063019
999063061
999063101
999063193
999063199
999063209
999063211
999063217
999063269
999063271
999063313
999063323
999063337
999063341
999063367
999063389
999063391
999063413
999063421
999063433
999063437
999063449
999063479
999063503
999063539
999063557
999063577
999063587
999063617
999063647
999063671
999063679
999063683
999063713
999063731
999063743
999063781
999063787
999063799
999063809
999063817
999063829
999063881
999063883
999063889
999063929
999063937
999063959
999063971
999063979
999063997
999064043
999064049
999064067
999064081
999064139
999064153
999064163
999064201
999064219
999064247
999064303
999064351
999064361
999064393
999064481
999064511
999064513
999064531
999064541
999064553
999064567
999064637
999064697
999064699
999064723
999064741
999064747
999064751
999064757
999064763
999064769
999064799
999064811
999064837
999064841
999064849
999064867
999064873
999064901
999064903
999064907
999064919
999064921
999064943
999064949
999064981
999065003
999065017
999065101
999065131
999065143
999065153
999065173
999065183
999065203
999065267
999065269
999065279
999065339
999065351
999065359
999065393
999065443
999065449
999065461
999065497
999065533
999065539
999065597
999065611
999065621
999065629
999065647
999065671
999065681
999065713
999065719
999065723
999065729
999065773
999065783
999065791
999065797
999065803
999065813
999065849
999065917
999065933
999065941
999065959
999065989
999066007
999066017
999066053
999066071
999066073
999066077
999066121
999066139
999066143
999066181
999066191
999066199
999066239
999066301
999066329
999066337
999066359
999066371
999066373
999066389
999066403
999066461
999066463
999066473
999066499
999066511
999066521
999066527
999066553
999066577
999066581
999066599
999066611
999066671
999066707
999066713
999066737
999066749
999066799
999066821
999066823
999066833
999066839
999066857
999066877
999066881
999066961
999066973
999066997
999067021
999067061
999067073
999067127
999067133
999067141
999067171
999067183
999067193
999067219
999067243
999067247
999067273
999067369
999067379
999067393
999067397
999067403
999067409
999067423
999067469
999067493
999067523
999067529
999067567
999067609
999067613
999067621
999067637
999067639
999067697
999067703
999067717
999067723
999067739
999067757
999067799
999067801
999067807
999067837
999067843
999067847
999067871
999067873
999067889
999067897
999067903
999067919
999067957
999068029
999068041
999068047
999068069
999068071
999068099
999068123
999068129
999068137
999068249
999068269
999068293
999068297
999068327
999068333
999068377
999068387
999068419
999068453
999068459
999068471
999068491
999068509
999068513
999068569
999068611
999068617
999068627
999068657
999068677
999068711
999068731
999068747
999068809
999068831
999068881
999068893
999068897
999068909
999068927
999068933
999068947
999068969
999068999
999069013
999069031
999069037
999069059
999069061
999069109
999069121
999069131
999069143
999069199
999069289
999069293
999069307
999069319
999069341
999069359
999069391
999069397
999069431
999069527
999069541
999069551
999069559
999069587
999069649
999069661
999069667
999069689
999069703
999069727
999069733
999069737
999069803
999069847
999069859
999069871
999069899
999069901
999069917
999069931
999069943
999069949
999069959
999069977
999069997
999070013
999070057
999070081
999070091
999070099
999070133
999070153
999070157
999070183
999070199
999070207
999070223
999070231
999070249
999070309
999070313
999070327
999070351
999070363
999070381
999070409
999070427
999070447
999070451
999070453
999070489
999070543
999070591
999070601
999070613
999070621
999070649
999070669
999070693
999070717
999070733
999070741
999070763
999070771
999070789
999070819
999070823
999070861
999070921
999070927
999070931
999070951
999070957
999070973
999070981
999070991
999070999
999071009
999071023
999071201
999071207
999071239
999071251
999071261
999071279
999071287
999071291
999071347
999071377
999071383
999071389
999071399
999071413
999071429
999071449
999071473
999071537
999071569
999071573
999071587
999071597
999071599
999071609
999071611
999071617
999071629
999071651
999071653
999071659
999071729
999071741
999071767
999071771
999071791
999071849
999071867
999071897
999071911
999071923
999071939
999071977
999071981
999071987
999071993
999072013
999072029
999072047
999072077
999072097
999072119
999072121
999072131
999072143
999072149
999072163
999072199
999072203
999072209
999072227
999072241
999072251
999072257
999072281
999072287
999072289
999072317
999072331
999072343
999072377
999072401
999072469
999072479
999072491
999072509
999072511
999072517
999072521
999072523
999072539
999072553
999072587
999072617
999072623
999072691
999072713
999072731
999072769
999072773
999072787
999072829
999072859
999072869
999072913
999072923
999072961
999072967
999073003
999073013
999073037
999073069
999073093
999073133
999073157
999073169
999073193
999073213
999073217
999073249
999073253
999073261
999073279
999073291
999073303
999073319
999073321
999073393
999073417
999073423
999073489
999073499
999073553
999073591
999073601
999073619
999073639
999073651
999073681
999073687
999073703
999073709
999073711
999073717
999073721
999073723
999073753
999073763
999073787
999073807
999073813
999073819
999073843
999073849
999073883
999073891
999073909
999073913
999073919
999073927
999073951
999073981
999074033
999074059
999074113
999074137
999074149
999074171
999074177
999074179
999074189
999074203
999074243
999074261
999074269
999074303
999074371
999074381
999074387
999074413
999074477
999074501
999074507
999074509
999074521
999074533
999074537
999074543
999074551
999074561
999074567
999074579
999074597
999074677
999074693
999074773
999074801
999074807
999074831
999074849
999074917
999074927
999074983
999075031
999075079
999075109
999075131
999075137
999075163
999075169
999075191
999075211
999075229
999075239
999075241
999075323
999075349
999075367
999075419
999075437
999075439
999075479
999075481
999075509
999075529
999075547
999075559
999075611
999075643
999075647
999075661
999075667
999075677
999075683
999075709
999075743
999075787
999075821
999075877
999075881
999075899
999075901
999075943
999075977
999075991
999076007
999076019
999076021
999076027
999076033
999076037
999076073
999076079
999076081
999076103
999076123
999076157
999076163
999076171
999076201
999076219
999076223
999076237
999076283
999076289
999076301
999076307
999076327
999076333
999076399
999076409
999076427
999076433
999076453
999076471
999076493
999076511
999076513
999076517
999076549
999076579
999076583
999076607
999076667
999076681
999076699
999076703
999076733
999076763
999076769
999076777
999076787
999076789
999076843
999076861
999076873
999076877
999076901
999076909
999076919
999076931
999076937
999076993
999077017
999077033
999077039
999077047
999077069
999077077
999077081
999077119
999077159
999077201
999077203
999077227
999077239
999077273
999077279
999077291
999077327
999077353
999077357
999077383
999077389
999077419
999077461
999077483
999077501
999077537
999077561
999077587
999077591
999077623
999077633
999077659
999077699
999077713
999077773
999077809
999077813
999077819
999077831
999077837
999077839
999077899
999077903
999077917
999077921
999077957
999077983
999077993
999077999
999078023
999078029
999078103
999078127
999078131
999078167
999078169
999078229
999078251
999078263
999078277
999078281
999078293
999078307
999078331
999078343
999078361
999078397
999078401
999078419
999078427
999078433
999078497
999078517
999078523
999078527
999078533
999078599
999078601
999078629
999078677
999078697
999078709
999078737
999078749
999078791
999078799
999078811
999078827
999078833
999078841
999078893
999078907
999078911
999078917
999078929
999079027
999079031
999079049
999079063
999079079
999079111
999079117
999079153
999079163
999079177
999079183
999079187
999079189
999079259
999079321
999079327
999079343
999079351
999079357
999079363
999079369
999079397
999079399
999079421
999079429
999079441
999079453
999079463
999079469
999079507
999079531
999079541
999079559
999079561
999079567
999079591
999079607
999079619
999079621
999079693
999079769
999079771
999079789
999079849
999079867
999079889
999079903
999079933
999079937
999079951
999080011
999080039
999080041
999080111
999080119
999080129
999080167
999080177
999080197
999080219
999080221
999080261
999080267
999080297
999080311
999080321
999080323
999080351
999080377
999080393
999080399
999080419
999080437
999080443
999080449
999080471
999080527
999080557
999080567
999080603
999080609
999080657
999080659
999080669
999080681
999080707
999080713
999080729
999080767
999080773
999080783
999080813
999080821
999080839
999080851
999080861
999080867
999080869
999080881
999080903
999080917
999080921
999080959
999081011
999081023
999081037
999081053
999081073
999081089
999081091
999081103
999081121
999081191
999081263
999081269
999081319
999081367
999081439
999081469
999081497
999081527
999081529
999081533
999081539
999081557
999081571
999081593
999081599
999081623
999081719
999081739
999081749
999081763
999081767
999081779
999081781
999081793
999081841
999081859
999081899
999081911
999081917
999081947
999081971
999081983
999081989
999081991
999082003
999082013
999082069
999082079
999082121
999082127
999082141
999082169
999082247
999082297
999082309
999082313
999082319
999082351
999082361
999082363
999082369
999082391
999082397
999082411
999082417
999082429
999082463
999082481
999082499
999082507
999082517
999082523
999082543
999082573
999082603
999082661
999082691
999082759
999082771
999082781
999082789
999082801
999082829
999082841
999082853
999082907
999082927
999082937
999082943
999082967
999082969
999083003
999083017
999083053
999083077
999083083
999083191
999083207
999083233
999083243
999083249
999083279
999083303
999083339
999083357
999083359
999083369
999083377
999083381
999083389
999083399
999083419
999083447
999083467
999083471
999083507
999083513
999083551
999083573
999083581
999083599
999083627
999083633
999083641
999083713
999083741
999083773
999083791
999083797
999083837
999083851
999083873
999083893
999083923
999083957
999083983
999084019
999084041
999084061
999084071
999084113
999084139
999084157
999084173
999084179
999084209
999084211
999084227
999084263
999084283
999084313
999084349
999084421
999084491
999084521
999084533
999084551
999084571
999084607
999084613
999084631
999084659
999084677
999084707
999084739
999084763
999084791
999084803
999084817
999084851
999084857
999084869
999084881
999084893
999084899
999084907
999084913
999084941
999084943
999084959
999084979
999085049
999085069
999085079
999085111
999085117
999085147
999085163
999085181
999085183
999085229
999085231
999085261
999085273
999085277
999085279
999085289
999085333
999085343
999085363
999085369
999085397
999085403
999085411
999085421
999085463
999085487
999085489
999085513
999085541
999085543
999085559
999085561
999085567
999085579
999085589
999085649
999085651
999085657
999085667
999085679
999085777
999085781
999085823
999085837
999085849
999085853
999085859
999085861
999085921
999085933
999085993
999086083
999086087
999086089
999086113
999086147
999086171
999086183
999086233
999086239
999086251
999086339
999086359
999086393
999086419
999086423
999086437
999086441
999086461
999086497
999086509
999086533
999086551
999086563
999086573
999086587
999086593
999086629
999086657
999086659
999086717
999086723
999086741
999086749
999086761
999086773
999086783
999086797
999086807
999086813
999086843
999086873
999086887
999086947
999086951
999086953
999086969
999086971
999087007
999087017
999087031
999087071
999087083
999087101
999087109
999087119
999087137
999087151
999087157
999087163
999087197
999087223
999087227
999087277
999087301
999087311
999087337
999087343
999087347
999087359
999087371
999087373
999087377
999087379
999087391
999087407
999087443
999087493
999087511
999087527
999087701
999087737
999087751
999087779
999087821
999087827
999087833
999087839
999087863
999087889
999087893
999087899
999087907
999087911
999087917
999087919
999087941
999087953
999087967
999088009
999088043
999088049
999088067
999088081
999088087
999088091
999088109
999088133
999088157
999088159
999088177
999088199
999088219
999088231
999088247
999088253
999088289
999088291
999088331
999088403
999088411
999088423
999088459
999088463
999088481
999088501
999088507
999088511
999088547
999088549
999088579
999088591
999088603
999088619
999088627
999088633
999088669
999088681
999088711
999088781
999088787
999088841
999088859
999088879
999088901
999088919
999088967
999088969
999088999
999089041
999089051
999089053
999089087
999089089
999089093
999089131
999089149
999089183
999089257
999089261
999089279
999089291
999089309
999089323
999089339
999089381
999089393
999089401
999089419
999089423
999089437
999089573
999089633
999089647
999089653
999089683
999089737
999089747
999089761
999089771
999089789
999089797
999089831
999089837
999089843
999089887
999089891
999089929
999089957
999089963
999089981
999089989
999089999
999090073
999090089
999090101
999090109
999090133
999090143
999090149
999090151
999090193
999090217
999090241
999090259
999090271
999090277
999090293
999090329
999090341
999090347
999090371
999090377
999090383
999090401
999090427
999090437
999090451
999090457
999090467
999090473
999090481
999090511
999090529
999090541
999090557
999090559
999090641
999090683
999090739
999090769
999090793
999090811
999090817
999090821
999090823
999090881
999090893
999090923
999090929
999091021
999091063
999091081
999091097
999091103
999091109
999091133
999091147
999091153
999091183
999091189
999091217
999091243
999091253
999091277
999091381
999091397
999091417
999091487
999091523
999091537
999091559
999091571
999091579
999091603
999091609
999091619
999091631
999091669
999091679
999091693
999091729
999091741
999091757
999091771
999091811
999091823
999091843
999091859
999091889
999091927
999091981
999091993
999091997
999092011
999092033
999092041
999092047
999092071
999092119
999092173
999092209
999092243
999092249
999092279
999092287
999092293
999092309
999092317
999092357
999092399
999092449
999092461
999092519
999092581
999092593
999092609
999092621
999092623
999092641
999092681
999092701
999092711
999092749
999092753
999092803
999092821
999092849
999092863
999092867
999092869
999092881
999092933
999092947
999092951
999092957
999092977
999092987
999092989
999092999
999093023
999093041
999093059
999093071
999093091
999093097
999093101
999093103
999093107
999093143
999093149
999093209
999093211
999093217
999093287
999093323
999093331
999093353
999093427
999093437
999093439
999093449
999093457
999093479
999093539
999093541
999093547
999093559
999093569
999093583
999093593
999093653
999093661
999093677
999093709
999093713
999093737
999093779
999093827
999093829
999093839
999093881
999093917
999093959
999094001
999094003
999094093
999094099
999094123
999094147
999094169
999094177
999094211
999094219
999094223
999094231
999094247
999094249
999094297
999094303
999094333
999094337
999094357
999094363
999094373
999094391
999094409
999094429
999094441
999094477
999094507
999094511
999094513
999094529
999094531
999094559
999094561
999094583
999094589
999094627
999094639
999094643
999094667
999094693
999094699
999094721
999094741
999094781
999094787
999094813
999094819
999094843
999094853
999094867
999094871
999094963
999094969
999095003
999095023
999095033
999095051
999095057
999095101
999095113
999095161
999095171
999095179
999095197
999095243
999095281
999095303
999095323
999095341
999095347
999095371
999095381
999095431
999095507
999095519
999095521
999095533
999095549
999095561
999095567
999095579
999095659
999095693
999095717
999095723
999095803
999095813
999095821
999095833
999095843
999095861
999095891
999095917
999095953
999095987
999095989
999096067
999096073
999096083
999096097
999096101
999096113
999096121
999096143
999096157
999096187
999096199
999096227
999096251
999096281
999096299
999096337
999096349
999096367
999096421
999096457
999096473
999096479
999096493
999096499
999096509
999096541
999096559
999096577
999096583
999096617
999096629
999096649
999096653
999096667
999096677
999096727
999096739
999096751
999096757
999096767
999096773
999096797
999096811
999096821
999096827
999096841
999096859
999096869
999096881
999096883
999096899
999096911
999096929
999096937
999096941
999096961
999096983
999096997
999097003
999097031
999097037
999097049
999097063
999097079
999097147
999097153
999097193
999097201
999097237
999097277
999097339
999097409
999097447
999097453
999097487
999097499
999097549
999097591
999097639
999097657
999097661
999097669
999097703
999097739
999097741
999097747
999097751
999097777
999097787
999097789
999097793
999097807
999097817
999097829
999097849
999097867
999097877
999097907
999097921
999097927
999097933
999097949
999097961
999097997
999097999
999098017
999098027
999098057
999098123
999098167
999098183
999098207
999098213
999098237
999098257
999098273
999098323
999098333
999098341
999098423
999098447
999098479
999098509
999098533
999098539
999098563
999098567
999098579
999098621
999098623
999098627
999098647
999098657
999098671
999098677
999098729
999098759
999098761
999098773
999098797
999098839
999098843
999098873
999098897
999098921
999098927
999098939
999098953
999098957
999099041
999099067
999099071
999099083
999099089
999099091
999099103
999099113
999099133
999099151
999099161
999099169
999099239
999099259
999099289
999099293
999099301
999099307
999099317
999099349
999099359
999099407
999099421
999099427
999099499
999099509
999099551
999099581
999099593
999099601
999099617
999099623
999099631
999099653
999099679
999099719
999099721
999099733
999099757
999099811
999099817
999099823
999099833
999099839
999099841
999099847
999099853
999099869
999099887
999099901
999099919
999099953
999099977
999099991

999100019
999100043
999100049
999100073
999100127
999100139
999100211
999100247
999100261
999100283
999100301
999100327
999100331
999100337
999100343
999100357
999100367
999100391
999100393
999100397
999100469
999100477
999100483
999100499
999100511
999100549
999100589
999100601
999100621
999100651
999100673
999100699
999100741
999100759
999100763
999100771
999100789
999100799
999100801
999100871
999100889
999100901
999100909
999100937
999100939
999100957
999100967
999100981
999101009
999101017
999101023
999101083
999101093
999101143
999101153
999101167
999101171
999101177
999101183
999101189
999101227
999101267
999101291
999101309
999101317
999101351
999101399
999101413
999101429
999101443
999101459
999101473
999101501
999101503
999101527
999101539
999101561
999101633
999101641
999101651
999101671
999101687
999101699
999101717
999101731
999101743
999101773
999101783
999101801
999101809
999101813
999101819
999101839
999101863
999101867
999101869
999101879
999101893
999101911
999101953
999102059
999102073
999102089
999102107
999102133
999102151
999102197
999102211
999102241
999102271
999102277
999102301
999102323
999102331
999102343
999102367
999102371
999102397
999102413
999102421
999102431
999102437
999102439
999102491
999102499
999102509
999102539
999102541
999102551
999102553
999102571
999102583
999102659
999102661
999102679
999102703
999102737
999102743
999102761
999102787
999102799
999102803
999102833
999102847
999102851
999102857
999102877
999102887
999102931
999102959
999103019
999103057
999103081
999103213
999103229
999103271
999103297
999103319
999103349
999103351
999103381
999103387
999103403
999103421
999103513
999103519
999103537
999103541
999103571
999103577
999103591
999103603
999103607
999103631
999103639
999103661
999103673
999103687
999103697
999103709
999103717
999103727
999103747
999103751
999103801
999103829
999103843
999103879
999103907
999103909
999103913
999103921
999103939
999103981
999103993
999103997
999104009
999104021
999104023
999104039
999104063
999104069
999104083
999104111
999104129
999104131
999104173
999104179
999104213
999104257
999104273
999104279
999104311
999104321
999104347
999104357
999104369
999104371
999104401
999104411
999104413
999104419
999104437
999104453
999104471
999104503
999104551
999104563
999104597
999104621
999104629
999104641
999104653
999104677
999104693
999104741
999104779
999104801
999104831
999104849
999104881
999104923
999104963
999104993
999104999
999105001
999105017
999105053
999105059
999105089
999105103
999105137
999105143
999105161
999105197
999105203
999105209
999105221
999105251
999105259
999105271
999105311
999105313
999105319
999105347
999105353
999105383
999105421
999105509
999105511
999105553
999105577
999105619
999105629
999105637
999105661
999105677
999105689
999105697
999105719
999105721
999105733
999105761
999105781
999105787
999105797
999105799
999105847
999105853
999105971
999106001
999106027
999106049
999106061
999106091
999106093
999106103
999106117
999106123
999106139
999106159
999106169
999106193
999106217
999106271
999106291
999106321
999106331
999106349
999106369
999106379
999106403
999106411
999106417
999106421
999106447
999106457
999106481
999106483
999106513
999106519
999106529
999106547
999106561
999106571
999106631
999106639
999106651
999106673
999106681
999106699
999106721
999106727
999106783
999106793
999106807
999106837
999106877
999106897
999106921
999106943
999106951
999106957
999106993
999107027
999107069
999107071
999107099
999107113
999107117
999107129
999107177
999107201
999107261
999107269
999107309
999107363
999107387
999107413
999107443
999107479
999107497
999107509
999107521
999107579
999107591
999107597
999107617
999107621
999107687
999107689
999107743
999107779
999107783
999107801
999107827
999107831
999107839
999107849
999107903
999107909
999107939
999108001
999108041
999108067
999108073
999108091
999108127
999108133
999108161
999108169
999108211
999108239
999108251
999108263
999108277
999108283
999108287
999108289
999108307
999108323
999108329
999108347
999108349
999108391
999108401
999108403
999108413
999108443
999108449
999108457
999108491
999108499
999108503
999108527
999108553
999108647
999108653
999108679
999108701
999108709
999108769
999108793
999108797
999108821
999108911
999108917
999108941
999108949
999109019
999109037
999109043
999109061
999109087
999109093
999109099
999109109
999109117
999109123
999109141
999109157
999109207
999109291
999109297
999109303
999109327
999109333
999109417
999109439
999109453
999109477
999109511
999109513
999109541
999109577
999109589
999109613
999109619
999109637
999109649
999109663
999109681
999109721
999109723
999109733
999109739
999109747
999109751
999109753
999109759
999109763
999109777
999109823
999109841
999109843
999109921
999109961
999109981
999109987
999110027
999110029
999110053
999110131
999110137
999110141
999110171
999110183
999110209
999110219
999110227
999110237
999110239
999110249
999110251
999110267
999110279
999110341
999110381
999110389
999110401
999110419
999110423
999110429
999110479
999110491
999110503
999110527
999110549
999110557
999110561
999110599
999110603
999110617
999110641
999110653
999110657
999110659
999110663
999110737
999110789
999110807
999110821
999110831
999110843
999110851
999110911
999110939
999110971
999110993
999110999
999111017
999111041
999111073
999111119
999111163
999111173
999111221
999111229
999111287
999111299
999111353
999111359
999111391
999111439
999111469
999111479
999111521
999111563
999111569
999111601
999111611
999111613
999111647
999111661
999111677
999111691
999111721
999111731
999111749
999111769
999111779
999111781
999111791
999111793
999111809
999111823
999111829
999111833
999111859
999111887
999111889
999111907
999111917
999111943
999111977
999111983
999111991
999112001
999112007
999112021
999112043
999112061
999112109
999112133
999112139
999112141
999112183
999112189
999112193
999112211
999112259
999112339
999112343
999112357
999112363
999112451
999112469
999112483
999112507
999112531
999112561
999112601
999112613
999112619
999112633
999112649
999112651
999112687
999112693
999112703
999112711
999112747
999112757
999112771
999112817
999112841
999112867
999112909
999112949
999112973
999112979
999113029
999113039
999113057
999113111
999113147
999113149
999113161
999113173
999113177
999113221
999113243
999113267
999113321
999113393
999113407
999113417
999113419
999113429
999113501
999113503
999113509
999113519
999113527
999113561
999113587
999113641
999113657
999113669
999113683
999113741
999113743
999113777
999113809
999113821
999113833
999113837
999113839
999113861
999113909
999113939
999113957
999113963
999113981
999114041
999114049
999114079
999114113
999114121
999114131
999114133
999114143
999114163
999114167
999114169
999114173
999114187
999114197
999114209
999114217
999114229
999114239
999114269
999114307
999114313
999114323
999114341
999114349
999114353
999114377
999114379
999114397
999114401
999114421
999114451
999114517
999114539
999114553
999114587
999114643
999114661
999114679
999114707
999114749
999114793
999114821
999114839
999114859
999114877
999114923
999114929
999114947
999114953
999114983
999115003
999115043
999115063
999115081
999115087
999115097
999115099
999115111
999115217
999115231
999115253
999115261
999115267
999115307
999115319
999115333
999115339
999115343
999115367
999115379
999115391
999115393
999115441
999115463
999115471
999115487
999115489
999115493
999115531
999115541
999115543
999115549
999115567
999115573
999115609
999115633
999115651
999115657
999115669
999115673
999115681
999115693
999115723
999115727
999115729
999115751
999115753
999115781
999115783
999115813
999115841
999115867
999115877
999115927
999115933
999115963
999115973
999115981
999116039
999116057
999116093
999116099
999116191
999116221
999116227
999116233
999116257
999116269
999116353
999116357
999116399
999116431
999116449
999116483
999116491
999116509
999116533
999116557
999116597
999116611
999116627
999116641
999116683
999116687
999116689
999116731
999116761
999116791
999116831
999116863
999116869
999116879
999116891
999116927
999116933
999116969
999116977
999116981
999116983
999117037
999117157
999117181
999117221
999117227
999117239
999117241
999117271
999117307
999117313
999117323
999117359
999117373
999117403
999117409
999117443
999117461
999117473
999117487
999117499
999117517
999117521
999117533
999117547
999117551
999117619
999117701
999117737
999117739
999117767
999117781
999117809
999117851
999117877
999117883
999117887
999117901
999117913
999117949
999117967
999117989
999117991
999117997
999118007
999118037
999118051
999118073
999118093
999118111
999118129
999118147
999118163
999118187
999118243
999118277
999118283
999118409
999118427
999118429
999118447
999118453
999118487
999118507
999118513
999118531
999118537
999118579
999118607
999118619
999118639
999118649
999118651
999118657
999118691
999118693
999118699
999118723
999118739
999118753
999118763
999118777
999118789
999118801
999118811
999118829
999118837
999118859
999118877
999118907
999118909
999118927
999118937
999118957
999118963
999118969
999118979
999118987
999118999
999119003
999119063
999119113
999119117
999119137
999119141
999119153
999119207
999119239
999119249
999119299
999119353
999119357
999119383
999119411
999119413
999119419
999119437
999119441
999119453
999119479
999119521
999119567
999119591
999119593
999119599
999119603
999119647
999119651
999119707
999119729
999119741
999119777
999119783
999119789
999119827
999119831
999119837
999119899
999119909
999119923
999119951
999119969
999119993
999119999
999120011
999120019
999120043
999120047
999120091
999120113
999120131
999120163
999120167
999120169
999120191
999120197
999120203
999120233
999120251
999120389
999120401
999120439
999120443
999120461
999120511
999120517
999120527
999120533
999120547
999120553
999120569
999120571
999120581
999120589
999120593
999120611
999120671
999120697
999120701
999120737
999120743
999120797
999120799
999120803
999120823
999120827
999120869
999120893
999120961
999120977
999121037
999121043
999121063
999121069
999121111
999121117
999121121
999121129
999121133
999121187
999121199
999121231
999121237
999121241
999121261
999121273
999121283
999121307
999121309
999121337
999121363
999121423
999121429
999121439
999121457
999121463
999121477
999121493
999121499
999121507
999121553
999121583
999121609
999121639
999121657
999121663
999121687
999121691
999121729
999121751
999121763
999121787
999121789
999121793
999121811
999121829
999121861
999121913
999121919
999121951
999121961
999121967
999122051
999122077
999122083
999122119
999122129
999122143
999122171
999122177
999122263
999122269
999122279
999122387
999122393
999122417
999122441
999122473
999122483
999122491
999122503
999122519
999122533
999122539
999122561
999122647
999122651
999122671
999122711
999122713
999122731
999122753
999122791
999122821
999122837
999122867
999122893
999122897
999122903
999122909
999122911
999122939
999122941
999122959
999122977
999123001
999123023
999123043
999123049
999123067
999123079
999123089
999123131
999123143
999123161
999123163
999123199
999123217
999123221
999123239
999123253
999123259
999123271
999123277
999123311
999123317
999123329
999123343
999123347
999123353
999123421
999123443
999123449
999123451
999123481
999123491
999123529
999123551
999123557
999123577
999123589
999123637
999123649
999123661
999123673
999123709
999123731
999123767
999123773
999123781
999123803
999123817
999123833
999123869
999123919
999123947
999123953
999123967
999123971
999123991
999124001
999124003
999124069
999124081
999124099
999124109
999124111
999124129
999124157
999124169
999124183
999124199
999124201
999124207
999124249
999124279
999124303
999124331
999124333
999124339
999124351
999124361
999124381
999124403
999124447
999124453
999124463
999124471
999124547
999124549
999124583
999124597
999124619
999124627
999124631
999124657
999124661
999124667
999124681
999124691
999124717
999124723
999124729
999124741
999124811
999124813
999124843
999124891
999124913
999124957
999124961
999124967
999124979
999124999
999125021
999125047
999125063
999125077
999125093
999125117
999125119
999125213
999125219
999125251
999125273
999125287
999125297
999125299
999125327
999125333
999125357
999125363
999125423
999125453
999125459
999125461
999125473
999125563
999125587
999125593
999125623
999125639
999125651
999125657
999125707
999125713
999125741
999125747
999125749
999125759
999125767
999125789
999125797
999125851
999125861
999125873
999125879
999125903
999125923
999125927
999125947
999125969
999125971
999125977
999125983
999126013
999126053
999126071
999126083
999126101
999126103
999126109
999126179
999126197
999126211
999126221
999126223
999126257
999126277
999126347
999126353
999126367
999126377
999126421
999126433
999126437
999126467
999126521
999126523
999126553
999126587
999126617
999126619
999126631
999126637
999126659
999126671
999126707
999126719
999126749
999126767
999126769
999126773
999126781
999126803
999126811
999126823
999126841
999126851
999126871
999126881
999126901
999126929
999126949
999126959
999126967
999126977
999127013
999127033
999127037
999127057
999127069
999127079
999127093
999127109
999127127
999127133
999127139
999127147
999127177
999127187
999127201
999127223
999127267
999127271
999127273
999127277
999127301
999127307
999127309
999127313
999127361
999127399
999127447
999127469
999127487
999127531
999127537
999127573
999127579
999127583
999127603
999127607
999127637
999127667
999127697
999127721
999127733
999127741
999127777
999127813
999127817
999127823
999127841
999127847
999127867
999127879
999127903
999127907
999127933
999127957
999128003
999128041
999128051
999128083
999128113
999128149
999128159
999128161
999128183
999128189
999128191
999128201
999128203
999128231
999128237
999128261
999128269
999128309
999128311
999128359
999128371
999128381
999128399
999128411
999128453
999128477
999128489
999128569
999128587
999128593
999128629
999128639
999128651
999128659
999128681
999128701
999128749
999128759
999128761
999128783
999128839
999128849
999128861
999128873
999128903
999128941
999128957
999128983
999128987
999129007
999129031
999129073
999129077
999129137
999129139
999129169
999129179
999129203
999129227
999129247
999129277
999129283
999129301
999129343
999129347
999129367
999129371
999129379
999129403
999129413
999129493
999129557
999129563
999129569
999129587
999129589
999129623
999129641
999129653
999129667
999129671
999129709
999129737
999129739
999129749
999129751
999129799
999129809
999129823
999129829
999129883
999129889
999129893
999129917
999129947
999129979
999130007
999130009
999130037
999130043
999130061
999130081
999130087
999130159
999130211
999130213
999130229
999130289
999130337
999130343
999130357
999130381
999130399
999130411
999130421
999130423
999130441
999130469
999130501
999130513
999130541
999130547
999130577
999130607
999130621
999130631
999130663
999130687
999130703
999130711
999130753
999130777
999130799
999130801
999130813
999130859
999130877
999130883
999130889
999130897
999130901
999130921
999130949
999130963
999130981
999130991
999131033
999131047
999131057
999131083
999131129
999131141
999131153
999131219
999131303
999131317
999131323
999131347
999131381
999131389
999131449
999131459
999131467
999131503
999131513
999131543
999131557
999131579
999131597
999131611
999131641
999131669
999131699
999131729
999131759
999131773
999131797
999131843
999131869
999131873
999131893
999131899
999131923
999131927
999131941
999131957
999131971
999132037
999132059
999132083
999132089
999132103
999132179
999132187
999132191
999132221
999132223
999132247
999132283
999132289
999132353
999132361
999132367
999132383
999132427
999132451
999132473
999132487
999132493
999132527
999132577
999132611
999132683
999132709
999132751
999132763
999132769
999132809
999132817
999132833
999132863
999132887
999132919
999132923
999132931
999132943
999132947
999132961
999132971
999133019
999133067
999133073
999133117
999133123
999133147
999133153
999133169
999133171
999133181
999133189
999133241
999133253
999133277
999133307
999133321
999133351
999133381
999133391
999133393
999133403
999133417
999133427
999133451
999133453
999133477
999133483
999133493
999133507
999133517
999133543
999133561
999133609
999133631
999133637
999133643
999133691
999133693
999133697
999133711
999133727
999133747
999133769
999133771
999133801
999133841
999133871
999133951
999133963
999133969
999134011
999134021
999134023
999134029
999134069
999134141
999134153
999134167
999134293
999134321
999134327
999134333
999134359
999134393
999134449
999134471
999134473
999134483
999134491
999134501
999134509
999134519
999134533
999134537
999134579
999134597
999134603
999134611
999134639
999134671
999134687
999134701
999134729
999134749
999134771
999134803
999134821
999134831
999134849
999134869
999134957
999135037
999135047
999135103
999135131
999135227
999135233
999135253
999135257
999135299
999135307
999135317
999135337
999135343
999135421
999135439
999135461
999135469
999135481
999135497
999135503
999135523
999135551
999135583
999135587
999135589
999135647
999135703
999135727
999135737
999135757
999135763
999135773
999135799
999135829
999135833
999135853
999135857
999135887
999135899
999135923
999135941
999135971
999135979
999136009
999136013
999136037
999136057
999136067
999136081
999136091
999136111
999136157
999136163
999136207
999136241
999136247
999136249
999136277
999136279
999136289
999136297
999136319
999136381
999136403
999136423
999136429
999136447
999136477
999136483
999136511
999136543
999136547
999136573
999136577
999136627
999136639
999136661
999136711
999136729
999136741
999136759
999136769
999136811
999136829
999136841
999136861
999136883
999136889
999136891
999136909
999136927
999136961
999136967
999136981
999136991
999136993
999137023
999137047
999137053
999137081
999137137
999137149
999137179
999137189
999137197
999137213
999137219
999137281
999137297
999137339
99913