diff --git a/Makefile b/Makefile
index 1c08db7e0a073b6572a77bba1010af6a403dbe15..32f74f8514fd9af152e86a7dab93c8d334e88610 100644
--- a/Makefile
+++ b/Makefile
@@ -3,11 +3,11 @@ fact : main.o run.o
 			
 
 test_ex : test.o run.o
-			gcc -g -std=c99 -o test test.o run.o -lpthread -lcunit 
+			gcc -g -std=c99 -o test_ex test.o run.o -lpthread -lcunit 
 
 test : test_ex
-		./test
-
+		./test_ex
+		
 run.o : run.c run.h
 			gcc -g -std=c99 -o run.o -c run.c -W -Wall -lpthread 
 
diff --git a/Test_files/big_numb_input.txt b/Test_files/big_numb_input.txt
index 54228a4c68a5d60eaef18a4125096880b9ad3133..54503e9aa2900f1cb66af188ba021d7a685c9e84 100644
--- a/Test_files/big_numb_input.txt
+++ b/Test_files/big_numb_input.txt
@@ -1 +1 @@
-4856742312
+48567423121236489
diff --git a/Test_files/big_test_15.txt b/Test_files/big_test_15.txt
new file mode 100644
index 0000000000000000000000000000000000000000..109688a961a1f59544fddb1e4dd6c42e4ca143bd
--- /dev/null
+++ b/Test_files/big_test_15.txt
@@ -0,0 +1,15 @@
+477809959
+688977444
+843733480
+570614202
+278772784
+118197385
+257252255
+746693899
+914750237
+141968163
+898073957
+327187782
+349346121
+351992961
+435120801
diff --git a/Test_files/big_test_5.txt b/Test_files/big_test_5.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0fde6128acf48077be1ca0c85302070ec8b9e6f0
--- /dev/null
+++ b/Test_files/big_test_5.txt
@@ -0,0 +1,5 @@
+759603486
+244143224
+743314791
+678053055
+640938456
diff --git a/Test_files/long_input.txt b/Test_files/long_input.txt
deleted file mode 100644
index d4847c217eb1d62ff1691da9554bb54eefb2211a..0000000000000000000000000000000000000000
--- a/Test_files/long_input.txt
+++ /dev/null
@@ -1,300 +0,0 @@
-666343
-463698
-1021406
-506156
-913231
-268205
-982865
-917451
-499176
-529973
-746782
-276324
-435465
-352649
-104121
-981518
-413102
-880413
-676364
-804603
-1012028
-364381
-780260
-907169
-142193
-408465
-266175
-171413
-518652
-770297
-134273
-638327
-826830
-220605
-162237
-53202
-494421
-309475
-361113
-1033840
-319499
-981506
-404743
-897560
-1023027
-354480
-793492
-102802
-843491
-983760
-404152
-283682
-526652
-1018
-324508
-103308
-9422
-793590
-241316
-132914
-978150
-725819
-828636
-224489
-431210
-705190
-470751
-182145
-728190
-3574
-813793
-17035
-795384
-534134
-498463
-385529
-624262
-697671
-613191
-866262
-58631
-290417
-901545
-86993
-607222
-437288
-122029
-840703
-647460
-42875
-135229
-1033268
-361034
-916343
-739080
-975089
-82667
-670049
-640632
-950453
-666343
-463698
-1021406
-506156
-913231
-268205
-982865
-917451
-499176
-529973
-746782
-276324
-435465
-352649
-104121
-981518
-413102
-880413
-676364
-804603
-1012028
-364381
-780260
-907169
-142193
-408465
-266175
-171413
-518652
-770297
-134273
-638327
-826830
-220605
-162237
-53202
-494421
-309475
-361113
-1033840
-319499
-981506
-404743
-897560
-1023027
-354480
-793492
-102802
-843491
-983760
-404152
-283682
-526652
-1018
-324508
-103308
-9422
-793590
-241316
-132914
-978150
-725819
-828636
-224489
-431210
-705190
-470751
-182145
-728190
-3574
-813793
-17035
-795384
-534134
-498463
-385529
-624262
-697671
-613191
-866262
-58631
-290417
-901545
-86993
-607222
-437288
-122029
-840703
-647460
-42875
-135229
-1033268
-361034
-916343
-739080
-975089
-82667
-670049
-640632
-950453
-666343
-463698
-1021406
-506156
-913231
-268205
-982865
-917451
-499176
-529973
-746782
-276324
-435465
-352649
-104121
-981518
-413102
-880413
-676364
-804603
-1012028
-364381
-780260
-907169
-142193
-408465
-266175
-171413
-518652
-770297
-134273
-638327
-826830
-220605
-162237
-53202
-494421
-309475
-361113
-1033840
-319499
-981506
-404743
-897560
-1023027
-354480
-793492
-102802
-843491
-983760
-404152
-283682
-526652
-1018
-324508
-103308
-9422
-793590
-241316
-132914
-978150
-725819
-828636
-224489
-431210
-705190
-470751
-182145
-728190
-3574
-813793
-17035
-795384
-534134
-498463
-385529
-624262
-697671
-613191
-866262
-58631
-290417
-901545
-86993
-607222
-437288
-122029
-840703
-647460
-42875
-135229
-1033268
-361034
-916343
-739080
-975089
-82667
-670049
-640632
-950453
diff --git a/Test_files/test1000.txt b/Test_files/test1000.txt
new file mode 100644
index 0000000000000000000000000000000000000000..23f2daa003ff8ef232b8a00c5175ee3ec814e68f
--- /dev/null
+++ b/Test_files/test1000.txt
@@ -0,0 +1,1001 @@
+23261
+165240
+546865
+438263
+522269
+433324
+141679
+514126
+164093
+991670
+506041
+916113
+256362
+317635
+457445
+515858
+663772
+821214
+762093
+49595
+437456
+85859
+180264
+172015
+264994
+445019
+158114
+704459
+772996
+334145
+279758
+548411
+536302
+288387
+685003
+771299
+979456
+422903
+134814
+461111
+120315
+549618
+425490
+296957
+528475
+759704
+678902
+176956
+591671
+367724
+900957
+805660
+312507
+989416
+559072
+77256
+972365
+610882
+777198
+676262
+343416
+505640
+650326
+216669
+469549
+594022
+259663
+369579
+629139
+994695
+372451
+742567
+847868
+712560
+356311
+959027
+645728
+279870
+196001
+891251
+983574
+303363
+296181
+687788
+307308
+233583
+724558
+630000
+326839
+806052
+618659
+622179
+639752
+758980
+805147
+290654
+786609
+132436
+460983
+770832
+458691
+363722
+951365
+651538
+359622
+698330
+573292
+610922
+188814
+951935
+352149
+885351
+771782
+773704
+591027
+999960
+141802
+490983
+394443
+486361
+945137
+486808
+914507
+40580
+785255
+493068
+479323
+939100
+96967
+327842
+701174
+163196
+278294
+188660
+761918
+479969
+726285
+872173
+881307
+844715
+683820
+332515
+248516
+286519
+133313
+685011
+707507
+167361
+494066
+769170
+598626
+701317
+557724
+111665
+524964
+74073
+124946
+738194
+9315
+520547
+583502
+674510
+32913
+306513
+259365
+889998
+362352
+64913
+13674
+270924
+428890
+116288
+826225
+552767
+834916
+44583
+787368
+244650
+952975
+199533
+86247
+914926
+91391
+578896
+516696
+874553
+88494
+317449
+365658
+76841
+384394
+913396
+186509
+710321
+583099
+117183
+2512
+121691
+356969
+767853
+235556
+471886
+240322
+428151
+303033
+818092
+922579
+175841
+509435
+36366
+48942
+754779
+446755
+260969
+877837
+28456
+38245
+416398
+76708
+723185
+524519
+49111
+274952
+210532
+217859
+12429
+527146
+107270
+394197
+825292
+865778
+9646
+399672
+854658
+562331
+353619
+845309
+35060
+648825
+6254
+835835
+200235
+109936
+92711
+22070
+927731
+41746
+39763
+622456
+82545
+767318
+346473
+836268
+513542
+652474
+165658
+879077
+8628
+752197
+652781
+452332
+417432
+275115
+987236
+154889
+781866
+469223
+503443
+214810
+88312
+415654
+736491
+551642
+498229
+920048
+903102
+895823
+90426
+107088
+803718
+995609
+276070
+886504
+204326
+214043
+847956
+267047
+539257
+49558
+309412
+740086
+4241
+615495
+93333
+880972
+573756
+588382
+825027
+340070
+430904
+509166
+905779
+109668
+359763
+864608
+70314
+619459
+15730
+626704
+785859
+454795
+484184
+111709
+611963
+500360
+837548
+108624
+882748
+234387
+418892
+217314
+435384
+774822
+639089
+287413
+661289
+687758
+91036
+403185
+437701
+751189
+844187
+227561
+252878
+978312
+675170
+832837
+326659
+435810
+57149
+870567
+651644
+938552
+941154
+952186
+241606
+459629
+952893
+522699
+605467
+639925
+667834
+847983
+364496
+221813
+774042
+123465
+149901
+386672
+889461
+448195
+484959
+90691
+493215
+305727
+663105
+839607
+372870
+741048
+938737
+526017
+117735
+496594
+187923
+934205
+859205
+434947
+585325
+842376
+327070
+97093
+385080
+72996
+968144
+291121
+702665
+944809
+4522
+177060
+438223
+43886
+222108
+788133
+108116
+675090
+195052
+78351
+499066
+688091
+631395
+553145
+28508
+459904
+888042
+165635
+689044
+198958
+768226
+327804
+260288
+771307
+292486
+668548
+848822
+113458
+269428
+794917
+559948
+419520
+323275
+505966
+985503
+145290
+283140
+205649
+127771
+364165
+733548
+636934
+767356
+801628
+890162
+376484
+61373
+990200
+327035
+399845
+33426
+32884
+331373
+631913
+848913
+95116
+55653
+817194
+554210
+814675
+638819
+208102
+11522
+30905
+997565
+864130
+647505
+793654
+573186
+176641
+13300
+49284
+830627
+802692
+794022
+129018
+351693
+619045
+469755
+982535
+519546
+469702
+136773
+295000
+329464
+254140
+212192
+994795
+142039
+253999
+159450
+692608
+670322
+510699
+967428
+489400
+793959
+110153
+407339
+902317
+70401
+286826
+907708
+651005
+396043
+252866
+239615
+394322
+615746
+435951
+761419
+667645
+105647
+281430
+915914
+809636
+627472
+119308
+889042
+591780
+521985
+361543
+990596
+890235
+618960
+160454
+286804
+608097
+562854
+244871
+658797
+948821
+95292
+197004
+778288
+217252
+557213
+525261
+357327
+327986
+606275
+488831
+278277
+733572
+381494
+963958
+337438
+237970
+655636
+212894
+179805
+70575
+579191
+998482
+702622
+357565
+415126
+696172
+44493
+441400
+934215
+164278
+951316
+531812
+349360
+531470
+194882
+60708
+101122
+108350
+347237
+712253
+885138
+83449
+816554
+50380
+646699
+901638
+954471
+700020
+299844
+310745
+9786
+711902
+544327
+354555
+599101
+173778
+546070
+832081
+267845
+99755
+367156
+208973
+388836
+92048
+705608
+509585
+238296
+938215
+703531
+437620
+730150
+58921
+308166
+929980
+223776
+621856
+595590
+212342
+428677
+956620
+361122
+533447
+943806
+390668
+67971
+282149
+659278
+584496
+238754
+482959
+42380
+813218
+864453
+126266
+404789
+249588
+773237
+344364
+161598
+55350
+827269
+318733
+120714
+420446
+753521
+970251
+411472
+921384
+63642
+972569
+368374
+388566
+736208
+661331
+497952
+462400
+242852
+802023
+292641
+348693
+829857
+997644
+733765
+163754
+442956
+728822
+882491
+583482
+182955
+855210
+739502
+102177
+830207
+191020
+609030
+540269
+776298
+691115
+663064
+855559
+661347
+450761
+300695
+340978
+334138
+838226
+475520
+350781
+315442
+872751
+401201
+905018
+676151
+720255
+233820
+989398
+926304
+450529
+498714
+247453
+239520
+391078
+932466
+805697
+441869
+349402
+423803
+929673
+28585
+902897
+840697
+123842
+386199
+612888
+451120
+904803
+356665
+511792
+629229
+417089
+867177
+663980
+236113
+697658
+696247
+504902
+764050
+878667
+42694
+990859
+305099
+852037
+450687
+564706
+767178
+223964
+439289
+526906
+986441
+722375
+542837
+66652
+396933
+259306
+768149
+189624
+541040
+938739
+687389
+801911
+624177
+995087
+823466
+49076
+161363
+319517
+18784
+487449
+728873
+771170
+430426
+433946
+95089
+464612
+16333
+940075
+11139
+401009
+465386
+463379
+984430
+742571
+627376
+564990
+685564
+669593
+210600
+512984
+232208
+489450
+401129
+457644
+459681
+557094
+931245
+432986
+43490
+426680
+911854
+441837
+826758
+44890
+920662
+399600
+836183
+659225
+854081
+358849
+386109
+817643
+704086
+217534
+260150
+49443
+452884
+137050
+712421
+819293
+250180
+778624
+933871
+870302
+68918
+774165
+196132
+266985
+391427
+388864
+153815
+954177
+266817
+506022
+518434
+539825
+6216
+178029
+15408
+968529
+858037
+380028
+957648
+717433
+130979
+222834
+615337
+70654
+328504
+675891
+535002
+906587
+930763
+711916
+449905
+884792
+312579
+359678
+295333
+958388
+952381
+427070
+387899
+119759
+89499
+449299
+967854
+483438
+372166
+452866
+765540
+446250
+351634
+919245
+336639
+499471
+9093
+912900
+54663
+750302
+199754
+920333
+520737
+809678
+375636
+703719
+199676
+227006
+78495
+276986
+846393
+517323
+367950
+534877
+948624
+573891
+656693
+347588
+982270
+421195
+319157
+828070
+995517
+309548
+618930
+180607
+449988
+709596
+741665
+861646
+51423
+913660
+41082
+562189
+294342
+865355
+758171
+801676
+255960
+442162
+988516
+718127
+511033
+574897
+790061
+150564
+313884
+793640
+365654
+862917
+742193
+464534
+857620
+788724
+589721
+207306
+571606
+546511
+527426
+707854
+200404
+136492
+687576
+469452
+387208
+333862
+327894
+722630
+779247
+623486
+197849
+97522
+641676
+750845
+554713
+108917
+574603
+464455
+613478
+807933
+863056
+27399
+636151
+727309
+861355
+855980
+60262
+813275
+599461
+83750
+400873
+488759
+404341
+980713
+804670
+378013
+621972
+301551
+663606
+304777
+562660
+609883
+142340
+561285
+505599
+352859
+201538
+62843
+975396
+965188
+324633
+330238
+243034
+946992
+705018
+944376
+75709
+796413
+557201
+652266
+680923
+615366
+655599
+413687
+485370
+877366
+286670
+528151
+450118
+341851
+986671
+608687
+368280
+404012
+769067
+46853
+169957
+838594
+327434
+445297
+180030
+978938
+466122
+919805
+194752
+803591
+542618
+677272
+819858
+682701
+882216
+116326
+265013
+
diff --git a/Test_files/test1500.txt b/Test_files/test1500.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c878f5b5d56903071c5d8d45a1d13df639966c48
--- /dev/null
+++ b/Test_files/test1500.txt
@@ -0,0 +1,1501 @@
+379657
+493647
+456275
+793373
+882942
+537929
+469693
+356409
+95555
+212294
+978286
+809649
+281092
+144559
+322507
+937929
+352840
+308178
+803897
+719164
+301248
+590924
+225205
+300265
+173475
+643809
+444208
+477557
+365470
+348438
+842274
+526749
+934913
+530021
+362774
+914136
+233185
+204723
+787183
+619984
+634848
+229913
+437194
+595686
+893287
+823467
+285446
+695279
+962897
+510753
+178847
+531013
+115570
+766190
+690950
+996484
+934704
+848104
+227314
+250877
+214392
+388293
+853862
+806341
+250439
+771444
+667008
+423733
+421534
+177352
+482724
+399124
+820992
+487691
+709320
+95042
+517752
+426315
+899086
+67011
+565277
+164295
+451035
+536132
+89491
+431870
+223947
+628860
+875969
+212871
+942180
+876896
+637127
+813961
+823286
+312600
+213633
+115753
+646871
+204497
+515646
+703281
+405200
+614905
+203905
+714437
+790673
+213196
+331629
+312989
+563386
+134163
+176218
+235147
+756984
+389899
+441767
+257228
+343232
+831034
+145116
+434043
+590238
+694875
+840773
+417439
+756043
+716405
+495688
+832354
+702645
+108476
+315219
+347458
+476997
+415879
+211395
+855869
+967218
+623232
+18147
+478463
+155967
+368722
+283687
+287973
+194916
+885901
+165636
+793860
+969076
+789940
+129294
+318598
+521073
+550909
+419822
+994295
+175910
+811913
+378585
+507155
+236330
+973035
+605146
+458589
+325282
+49538
+533465
+651130
+592339
+929073
+67644
+125618
+644342
+385620
+213373
+356319
+407286
+843751
+530032
+466554
+717449
+482566
+156424
+983555
+583916
+426756
+296781
+630212
+640249
+234103
+564719
+403784
+145192
+65403
+758037
+724492
+452537
+753145
+491686
+289248
+728509
+601882
+617494
+790876
+855003
+208944
+286165
+501099
+538887
+695863
+655805
+410643
+537135
+59389
+635156
+468973
+826521
+698678
+694834
+997624
+404454
+452792
+171890
+184321
+753786
+672838
+670906
+676574
+83394
+23045
+813546
+874537
+994485
+726707
+8511
+622455
+136534
+370246
+840722
+124972
+731451
+621751
+240898
+678835
+264667
+426739
+644539
+962163
+742912
+289892
+96330
+662645
+483491
+388563
+173711
+123901
+695546
+969580
+851441
+637353
+206495
+514500
+235689
+799980
+808867
+510898
+10347
+638337
+298675
+845428
+233036
+411499
+952634
+326194
+708556
+888936
+372750
+182732
+663665
+37735
+924701
+294625
+322693
+488491
+477272
+367410
+383374
+568124
+424420
+897944
+154194
+605412
+195609
+356994
+718333
+725259
+38140
+199659
+917684
+516901
+235743
+518372
+514662
+162982
+506093
+898738
+680024
+922280
+383134
+754244
+76953
+176797
+684969
+733260
+6682
+199357
+630978
+730677
+944297
+632774
+32736
+386233
+301530
+417173
+429184
+317433
+164710
+214313
+969045
+587633
+43944
+462305
+547783
+808369
+445209
+990278
+481760
+565769
+169706
+373792
+299451
+925986
+245045
+784082
+686763
+610758
+315155
+987736
+903201
+785673
+246748
+968334
+2175
+843610
+280961
+629092
+954264
+140239
+719808
+978543
+671307
+979767
+619745
+926672
+54428
+868346
+543541
+228397
+13851
+726175
+889498
+484536
+448009
+998140
+263113
+346593
+782531
+248607
+241659
+829383
+263873
+424608
+345894
+171299
+665649
+586163
+293288
+537733
+831281
+794048
+847960
+70680
+120232
+517003
+991450
+13969
+616410
+18999
+11512
+445788
+876213
+116625
+899568
+461736
+474664
+923810
+626859
+811204
+194556
+919009
+708537
+448643
+605841
+172976
+154321
+238718
+97511
+263403
+945083
+591833
+136261
+312135
+258908
+580776
+884597
+27569
+378370
+248956
+662309
+491515
+762690
+209490
+160164
+112365
+856781
+674604
+32702
+418840
+279139
+262987
+595497
+328344
+833613
+819124
+801930
+885601
+929002
+892593
+718709
+251998
+56241
+165293
+526603
+492330
+839197
+853738
+66870
+256561
+630871
+472002
+555064
+543086
+79887
+222000
+742226
+275147
+202595
+108416
+419946
+480681
+690895
+466206
+661969
+917033
+791867
+973659
+726240
+519669
+498652
+173718
+359971
+598567
+417154
+455245
+52088
+463111
+526523
+545735
+86899
+633207
+856582
+303257
+381543
+443142
+111712
+739500
+654590
+240168
+332099
+213590
+448213
+954310
+956995
+320517
+904177
+62690
+354487
+634312
+676009
+795395
+403899
+18704
+275910
+93631
+467217
+58158
+790549
+798080
+525111
+544836
+303470
+87351
+673860
+114875
+553620
+720966
+315488
+750079
+643511
+118639
+842760
+442324
+628626
+434648
+261418
+979710
+503595
+34716
+185482
+977703
+688837
+208050
+660572
+731030
+16942
+910972
+363638
+29526
+151733
+59789
+909147
+989536
+698250
+283419
+18956
+825238
+321446
+360066
+786277
+960791
+312261
+186247
+324902
+698903
+271282
+698697
+608145
+768756
+800693
+616782
+942442
+170434
+400303
+252038
+218277
+155521
+877855
+330997
+14276
+279289
+647001
+796586
+764334
+135350
+155779
+346462
+786285
+381215
+115927
+58576
+126745
+401845
+933498
+646908
+664531
+767649
+321150
+679019
+685520
+728081
+343699
+940587
+225460
+786563
+27799
+398001
+651107
+246540
+258056
+496379
+769635
+363138
+189298
+837658
+169790
+772745
+56020
+329414
+521981
+806847
+166477
+398825
+78009
+409534
+103936
+410559
+502734
+389135
+85232
+120320
+566402
+150183
+501880
+69056
+912147
+139725
+268508
+580169
+861949
+956847
+521425
+877755
+325126
+166559
+662077
+606516
+616620
+580452
+721233
+466721
+313823
+696481
+243566
+372580
+908452
+334884
+423121
+932288
+544056
+440454
+439321
+74868
+416955
+687287
+929596
+737068
+213675
+236301
+726671
+984024
+177377
+338516
+221217
+124341
+771388
+694055
+835913
+480030
+519496
+648689
+555602
+856858
+586536
+120414
+593188
+192112
+663096
+508603
+169373
+351667
+622584
+181347
+675178
+146057
+199089
+368759
+747566
+755200
+855363
+483639
+199621
+861269
+712810
+924148
+495577
+334163
+661108
+242153
+775265
+10001
+704777
+722998
+27947
+918433
+514985
+231312
+962520
+759595
+208262
+371312
+140820
+715270
+80012
+5987
+309719
+966305
+766186
+63260
+918098
+33904
+952289
+327233
+675258
+545526
+47142
+788094
+902351
+928442
+584457
+984782
+478472
+370991
+775468
+892565
+757621
+413874
+435827
+410755
+379592
+362684
+1090
+556742
+35822
+470876
+516290
+121847
+176774
+253545
+741010
+377118
+236556
+420665
+519329
+664051
+992018
+495310
+181623
+944997
+953271
+489082
+511713
+510038
+810365
+365054
+321279
+226009
+984034
+276740
+180602
+27352
+158596
+666533
+329196
+711624
+26983
+509722
+412526
+446272
+767317
+514006
+480949
+915280
+664223
+166465
+468211
+186291
+899214
+824250
+666126
+358141
+828994
+69969
+944327
+288471
+107213
+129733
+80160
+660104
+11808
+735482
+621921
+725044
+125942
+597573
+110382
+68016
+331149
+558854
+167029
+570794
+771190
+15953
+374604
+219464
+83551
+73568
+811235
+904632
+168597
+147596
+619210
+26815
+143920
+693420
+945716
+275334
+940631
+977337
+933375
+802541
+760519
+495327
+138827
+962179
+260933
+90285
+736144
+341707
+165467
+602416
+962350
+290593
+828232
+220030
+923692
+80733
+409056
+648134
+314254
+776287
+767437
+112265
+409867
+49823
+617260
+818033
+186069
+40612
+972841
+692741
+612754
+864867
+899324
+638546
+244240
+78652
+876777
+16566
+182689
+709918
+188503
+46859
+247116
+414839
+66293
+482564
+752867
+822918
+627471
+425384
+150005
+208095
+775508
+409894
+826174
+248181
+176270
+886521
+299700
+336664
+327565
+508001
+249238
+863568
+709687
+47254
+506915
+948691
+408275
+276991
+897213
+576552
+713707
+859095
+479855
+316123
+421882
+73128
+132311
+741878
+670024
+184038
+779493
+263547
+798138
+373284
+548200
+917793
+725546
+81940
+775653
+869671
+759545
+192132
+792225
+603460
+537059
+471264
+196356
+381852
+78086
+165475
+799510
+525431
+192329
+229456
+332430
+714035
+974789
+979418
+657181
+284268
+545028
+867015
+4839
+213730
+107574
+79201
+141936
+493731
+145362
+155132
+170552
+247285
+638286
+32462
+192797
+878491
+653773
+604496
+704396
+745583
+826386
+502197
+706871
+913431
+752577
+480912
+452504
+631749
+36733
+250017
+285871
+816068
+390994
+962932
+572785
+258730
+759670
+245818
+961741
+903316
+93150
+987715
+504365
+249962
+121093
+332756
+229627
+916107
+179338
+500112
+472960
+630276
+602773
+726138
+776463
+566461
+149427
+381475
+746208
+155622
+210611
+581205
+401895
+915946
+80367
+249895
+530274
+867860
+213828
+452982
+695748
+572118
+203277
+528538
+403092
+822590
+121189
+441577
+503314
+637732
+663681
+757165
+452982
+360546
+390875
+442320
+591893
+799825
+408615
+233818
+238097
+265084
+878212
+159231
+741697
+155104
+886508
+794295
+261835
+915767
+797121
+552050
+42989
+307178
+875839
+839464
+876600
+118929
+329904
+497224
+665988
+191113
+552932
+537155
+342355
+860692
+976323
+143414
+922135
+141661
+661259
+462290
+226222
+503183
+404679
+153328
+888358
+509183
+703461
+593176
+160227
+146508
+895165
+128195
+304170
+869360
+897526
+576528
+860419
+226115
+718252
+914437
+755526
+747514
+268041
+384563
+191979
+214950
+467727
+519701
+182928
+240462
+143925
+178981
+967178
+727291
+81299
+5856
+602736
+322972
+211648
+251518
+325267
+305218
+138129
+368120
+440023
+263376
+29195
+800098
+789070
+38912
+68970
+181822
+610775
+93436
+791663
+976750
+143583
+606531
+820567
+883831
+699126
+520849
+964017
+408832
+287128
+328206
+126682
+127801
+365381
+627091
+199681
+937219
+57310
+153607
+269522
+21725
+978108
+571847
+685629
+668318
+724241
+163829
+393667
+478061
+658504
+153601
+37961
+705670
+39518
+568314
+239926
+774568
+933797
+616095
+370380
+866066
+758972
+160927
+395167
+689258
+319212
+921425
+651139
+107794
+894351
+960858
+360922
+519473
+469739
+890401
+215853
+202305
+707975
+694598
+265228
+183264
+728412
+455710
+459003
+237507
+68526
+217431
+552651
+102613
+588292
+472804
+185235
+718005
+285574
+624989
+263173
+784314
+704608
+444514
+606762
+180171
+601037
+24820
+223323
+778595
+825749
+841795
+364639
+68617
+719204
+558461
+487479
+174270
+834920
+784270
+634375
+959750
+22633
+638119
+168704
+8053
+478880
+785719
+577039
+697474
+377981
+79050
+983265
+387095
+106042
+552576
+569603
+499715
+106971
+467650
+867659
+613675
+108407
+149396
+396963
+769116
+938735
+401559
+930804
+89712
+111399
+817223
+308587
+356700
+554752
+940261
+733972
+75288
+368800
+553155
+134467
+793887
+491725
+467746
+808166
+314745
+182011
+340670
+33840
+213868
+967699
+547340
+154630
+837336
+689551
+992164
+736081
+806861
+582853
+727216
+595749
+376633
+503657
+43736
+542372
+204852
+555555
+432633
+150991
+952043
+562360
+243984
+385443
+719177
+737429
+413179
+561395
+672475
+100915
+788774
+896237
+713298
+271445
+664783
+562529
+47652
+740976
+101458
+545425
+958968
+456927
+894000
+21615
+466815
+792202
+511766
+342622
+93248
+403455
+108892
+868748
+526837
+823222
+658201
+147251
+738367
+587468
+131357
+544530
+227507
+882409
+629927
+633608
+384581
+18463
+57285
+108409
+118111
+468008
+606266
+812395
+846698
+421587
+662561
+837479
+312540
+106166
+966753
+521559
+585955
+79957
+464507
+680058
+850713
+794068
+12875
+336532
+901704
+779891
+279967
+312916
+425437
+84470
+270887
+393548
+398120
+707087
+408964
+283204
+47450
+496366
+379796
+842766
+217067
+817774
+56066
+868191
+550427
+443092
+554725
+727475
+204491
+407810
+667649
+347576
+104201
+767426
+92426
+163085
+453973
+293550
+367206
+622678
+860379
+552981
+900084
+56004
+102286
+275279
+873754
+16845
+590858
+832929
+234915
+381472
+762614
+601458
+244454
+969068
+849562
+442877
+68939
+987315
+117144
+827723
+38795
+171622
+123052
+79433
+309388
+722228
+222102
+173402
+714375
+341525
+362645
+780552
+409288
+267936
+662484
+225816
+597140
+485195
+643986
+522052
+68036
+900894
+935183
+53950
+158443
+718062
+745490
+316478
+243747
+138709
+489512
+619484
+391051
+97506
+751609
+436218
+99688
+130223
+431083
+934983
+597384
+54518
+4026
+430405
+936087
+327200
+373180
+684063
+772105
+178943
+454499
+800209
+438653
+6884
+933660
+850973
+454753
+420014
+825020
+893147
+510119
+849320
+63067
+541119
+561793
+886606
+774991
+764072
+366910
+610622
+467447
+739808
+364594
+187581
+580664
+423682
+561533
+882152
+125230
+
diff --git a/Test_files/test500.txt b/Test_files/test500.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f164af30119d302160a622ff914b6473801716b1
--- /dev/null
+++ b/Test_files/test500.txt
@@ -0,0 +1,501 @@
+883164
+745065
+475130
+350047
+617689
+753641
+330179
+521880
+41334
+724376
+290971
+16573
+138328
+624683
+726393
+858981
+770151
+417673
+538236
+327130
+606221
+964930
+844777
+181779
+55425
+585131
+229321
+337473
+725531
+253237
+207888
+380334
+831078
+419161
+356698
+810376
+598967
+22627
+910412
+148832
+499032
+294798
+28376
+252004
+614107
+443364
+521335
+87798
+392639
+495446
+843580
+693716
+915321
+542851
+177821
+722088
+483775
+212857
+91225
+148067
+905471
+270496
+120706
+426272
+833672
+923082
+791191
+619023
+55346
+437414
+898888
+739557
+651518
+960304
+229356
+363539
+438820
+698569
+173535
+981070
+414350
+29027
+464821
+174899
+498908
+254895
+809508
+992630
+949375
+110459
+316866
+124009
+974545
+612163
+3720
+793314
+293943
+948596
+338013
+494934
+827163
+481550
+789420
+160021
+898891
+657047
+628220
+801777
+393404
+764619
+794776
+475881
+64280
+865094
+445964
+424081
+372751
+765547
+757597
+687651
+200609
+576159
+36845
+50269
+528534
+340717
+438108
+101847
+263255
+295948
+747863
+285780
+391807
+617046
+946272
+658697
+88706
+999804
+979098
+423603
+114623
+367476
+216700
+854602
+360833
+631179
+998066
+484801
+928510
+348268
+983098
+256465
+494402
+769592
+978518
+710757
+73101
+369834
+309193
+85863
+463957
+290489
+560482
+930954
+378496
+245272
+284213
+910279
+343627
+395227
+463212
+125343
+325669
+219519
+381148
+31694
+234267
+936751
+9082
+884321
+636261
+633703
+517852
+56193
+282135
+530516
+537775
+890517
+127170
+39836
+357180
+753264
+696704
+98529
+273712
+153461
+539031
+316339
+982759
+95732
+241518
+553439
+121524
+213537
+872763
+183377
+345199
+980761
+696494
+638509
+791954
+964802
+671702
+129668
+134032
+268674
+316857
+317758
+415422
+779297
+237832
+592105
+180454
+163817
+996922
+618694
+66262
+657884
+770124
+485354
+560515
+592074
+857363
+925628
+616034
+124178
+287765
+428434
+225626
+503287
+838100
+46914
+294583
+883482
+42908
+431294
+901215
+255139
+390579
+130451
+145892
+419845
+718883
+861836
+258419
+589091
+136019
+48646
+467856
+201784
+710469
+431151
+831298
+655296
+353097
+770001
+369194
+810138
+180894
+295731
+551429
+140054
+965300
+43180
+284915
+924504
+288984
+34925
+701417
+140262
+952048
+125317
+146542
+406437
+34817
+216694
+766402
+389826
+290517
+773468
+780667
+749458
+3383
+152436
+24062
+286990
+446422
+538552
+861392
+709256
+77725
+484204
+330304
+672933
+218977
+996110
+493726
+444934
+279692
+341804
+944242
+419753
+601634
+537030
+71538
+382982
+89653
+471813
+571722
+698184
+564516
+565121
+44408
+241724
+270662
+986548
+980620
+444689
+928496
+206822
+976279
+244834
+572139
+14566
+306959
+125527
+838927
+875866
+687082
+665932
+915814
+932018
+268864
+897397
+729596
+485744
+109850
+168355
+61697
+454449
+828225
+552907
+266735
+374703
+426269
+187638
+852887
+285744
+530821
+547641
+116887
+604352
+990438
+624797
+933145
+955070
+987447
+911129
+407767
+913691
+408897
+474726
+961834
+558307
+100573
+490106
+535659
+661037
+52316
+18250
+110280
+616926
+151819
+45167
+478064
+599566
+246881
+180483
+158037
+293126
+447316
+598507
+741619
+223191
+202385
+356914
+416144
+989952
+230602
+386190
+296166
+929610
+102611
+775048
+325974
+692084
+792345
+870936
+782001
+594147
+835910
+671573
+997088
+203843
+764832
+887840
+23282
+227773
+873033
+715302
+673429
+261545
+496689
+16507
+290063
+708448
+148016
+95937
+535971
+196720
+693701
+861575
+601641
+984664
+588492
+290408
+48571
+44796
+406269
+634949
+474302
+652654
+769188
+287373
+644162
+845147
+26995
+685494
+947946
+686735
+574234
+151787
+60490
+724079
+500973
+521210
+363437
+845482
+816120
+16582
+451924
+5874
+818569
+990873
+477805
+508271
+751464
+851346
+259717
+435988
+589413
+228291
+498418
+207978
+53764
+31046
+742492
+398386
+195612
+986897
+468274
+788866
+703336
+700523
+160503
+618381
+188108
+250036
+525460
+49980
+822381
+279226
+479041
+501696
+232227
+791467
+870829
+137813
+940815
+785216
+