summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2013-07-03 14:26:33 +0200
committerJérémy Zurcher <jeremy@asynk.ch>2013-07-03 14:26:33 +0200
commit1a1515b5eb60e4dc049256d0498f4fb0f0c29b23 (patch)
tree80a041c7c7cdc32c144343c40e2332fd0042efce
parent7f64bf1e3102bc074dc96841f0d09b4e1b428699 (diff)
downloadcoursera-1a1515b5eb60e4dc049256d0498f4fb0f0c29b23.zip
coursera-1a1515b5eb60e4dc049256d0498f4fb0f0c29b23.tar.gz
Discrete : add 01-knapsack assignment
-rw-r--r--01-knapsack/Solver.java91
-rw-r--r--01-knapsack/data/ks_10000_010001
-rw-r--r--01-knapsack/data/ks_1000_01001
-rw-r--r--01-knapsack/data/ks_100_0101
-rw-r--r--01-knapsack/data/ks_100_1101
-rw-r--r--01-knapsack/data/ks_100_2101
-rw-r--r--01-knapsack/data/ks_19_020
-rw-r--r--01-knapsack/data/ks_200_0213
-rw-r--r--01-knapsack/data/ks_200_1201
-rw-r--r--01-knapsack/data/ks_300_0301
-rw-r--r--01-knapsack/data/ks_30_031
-rw-r--r--01-knapsack/data/ks_400_0401
-rw-r--r--01-knapsack/data/ks_40_041
-rw-r--r--01-knapsack/data/ks_45_046
-rw-r--r--01-knapsack/data/ks_4_05
-rw-r--r--01-knapsack/data/ks_500_0501
-rw-r--r--01-knapsack/data/ks_50_051
-rw-r--r--01-knapsack/data/ks_50_151
-rw-r--r--01-knapsack/data/ks_60_061
-rw-r--r--01-knapsack/handout.pdfbin0 -> 140380 bytes
-rwxr-xr-x01-knapsack/solver.py58
-rwxr-xr-x01-knapsack/solverJava.py41
-rw-r--r--01-knapsack/submit.pycbin0 -> 8129 bytes
23 files changed, 13418 insertions, 0 deletions
diff --git a/01-knapsack/Solver.java b/01-knapsack/Solver.java
new file mode 100644
index 0000000..07ffdcd
--- /dev/null
+++ b/01-knapsack/Solver.java
@@ -0,0 +1,91 @@
+import java.io.*;
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * The class <code>Solver</code> is an implementation of a greedy algorithm to solve the knapsack problem.
+ *
+ */
+public class Solver {
+
+ /**
+ * The main class
+ */
+ public static void main(String[] args) {
+ try {
+ solve(args);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Read the instance, solve it, and print the solution in the standard output
+ */
+ public static void solve(String[] args) throws IOException {
+ String fileName = null;
+
+ // get the temp file name
+ for(String arg : args){
+ if(arg.startsWith("-file=")){
+ fileName = arg.substring(6);
+ }
+ }
+ if(fileName == null)
+ return;
+
+ // read the lines out of the file
+ List<String> lines = new ArrayList<String>();
+
+ BufferedReader input = new BufferedReader(new FileReader(fileName));
+ try {
+ String line = null;
+ while (( line = input.readLine()) != null){
+ lines.add(line);
+ }
+ }
+ finally {
+ input.close();
+ }
+
+
+ // parse the data in the file
+ String[] firstLine = lines.get(0).split("\\s+");
+ int items = Integer.parseInt(firstLine[0]);
+ int capacity = Integer.parseInt(firstLine[1]);
+
+ int[] values = new int[items];
+ int[] weights = new int[items];
+
+ for(int i=1; i < items+1; i++){
+ String line = lines.get(i);
+ String[] parts = line.split("\\s+");
+
+ values[i-1] = Integer.parseInt(parts[0]);
+ weights[i-1] = Integer.parseInt(parts[1]);
+ }
+
+ // a trivial greedy algorithm for filling the knapsack
+ // it takes items in-order until the knapsack is full
+ int value = 0;
+ int weight = 0;
+ int[] taken = new int[items];
+
+ for(int i=0; i < items; i++){
+ if(weight + weights[i] <= capacity){
+ taken[i] = 1;
+ value += values[i];
+ weight += weights[i];
+ } else {
+ taken[i] = 0;
+ }
+ }
+
+ // prepare the solution in the specified output format
+ System.out.println(value+" 0");
+ for(int i=0; i < items; i++){
+ System.out.print(taken[i]+" ");
+ }
+ System.out.println("");
+ }
+} \ No newline at end of file
diff --git a/01-knapsack/data/ks_10000_0 b/01-knapsack/data/ks_10000_0
new file mode 100644
index 0000000..462213b
--- /dev/null
+++ b/01-knapsack/data/ks_10000_0
@@ -0,0 +1,10001 @@
+10000 1000000
+122416 120553
+171513 179530
+71709 76916
+30363 28113
+131225 120582
+33759 32535
+40880 43263
+203267 185377
+132025 136991
+92508 85416
+33323 32725
+120889 115377
+123919 125990
+156914 157002
+165914 151158
+68590 66466
+128882 122615
+63477 61894
+59609 58667
+162659 156404
+140255 154967
+81587 89693
+192056 194502
+64814 71996
+10665 11062
+109588 102286
+170130 168996
+162920 177197
+173511 185263
+19198 20493
+28331 31275
+11018 10705
+113233 121157
+192217 196939
+122770 115598
+159373 156431
+134988 130086
+43146 42098
+70420 73158
+171049 169636
+154108 169769
+198256 193447
+83735 84312
+53932 59563
+4199 4305
+131792 134920
+33044 35347
+179421 184727
+706 649
+136170 126958
+41181 44240
+67246 65846
+108434 114791
+134952 129706
+124205 135730
+3077 3117
+153939 170667
+131352 142408
+108884 100582
+154292 158464
+69089 74110
+83454 84752
+173593 187553
+25705 26824
+131269 126581
+82123 77570
+196053 184998
+31917 35324
+1930 2062
+541 599
+62546 67967
+56482 52459
+166450 179504
+32077 32197
+16476 16129
+93336 92798
+145974 147308
+106077 101817
+52475 50314
+46203 49144
+152536 148223
+145968 152219
+174200 187844
+9912 10679
+160709 158671
+141547 146831
+199436 187873
+204448 189618
+159658 169452
+51475 48945
+126770 121310
+18488 18042
+31938 34894
+148573 137237
+10858 11458
+120829 110971
+77193 73499
+49714 52942
+125877 138782
+99979 91834
+40251 44383
+160390 167718
+109197 106892
+137809 132886
+115953 114323
+18849 17248
+12594 13105
+182379 175112
+161402 174232
+149386 140539
+39093 41980
+187252 184357
+37349 41467
+23861 25839
+25589 25383
+11180 12376
+141743 138737
+94810 96751
+16017 16243
+36323 35626
+65081 66649
+29789 31142
+146562 150509
+27510 26940
+129515 139071
+140581 146236
+144966 142957
+160707 172169
+122113 115988
+21655 20241
+6521 6483
+143861 146919
+46792 48056
+68682 72318
+47769 49674
+171487 158084
+103165 113395
+21715 20632
+180184 190663
+156738 146602
+106642 106357
+156196 171374
+86873 95753
+268 253
+192110 195227
+39895 39880
+149501 141080
+55885 53497
+162027 156522
+93252 90280
+86355 85831
+7715 8118
+12132 12755
+9161 10058
+47245 47539
+117838 125862
+84054 83312
+162198 167717
+77936 83139
+158939 162003
+134694 124099
+149014 136680
+175058 190568
+43502 45667
+88080 90171
+111091 114816
+138296 128924
+104939 99605
+26642 28719
+135045 130255
+31069 33252
+50498 53507
+151628 138466
+184722 184883
+51937 50192
+54610 53408
+40690 38912
+136424 149383
+177456 174520
+63743 66937
+74898 74013
+86055 89370
+12256 12670
+83658 92342
+72750 79418
+37808 38907
+93895 89232
+81723 79511
+23476 25665
+40035 39087
+198759 183268
+162615 160504
+35497 35078
+49186 52086
+114658 119931
+147511 158415
+82462 87621
+114533 105867
+119231 129696
+125946 120683
+152843 148648
+65856 61986
+152027 165416
+131186 130740
+90775 99456
+170691 160106
+28855 30642
+201138 190127
+98338 95945
+29947 29387
+141379 131302
+168194 181625
+44537 44648
+140180 139430
+39446 37047
+36956 34505
+134510 145774
+95769 92441
+84403 89315
+79207 83568
+179146 186963
+43995 41978
+91102 90287
+87674 82009
+115472 111997
+100860 96025
+3302 3245
+135067 134539
+170938 156345
+46682 43264
+161280 170807
+101303 112548
+119506 126910
+10798 9972
+47050 48499
+168524 167901
+103108 100207
+6634 6515
+167842 155662
+171434 182410
+15412 15895
+51947 57589
+81641 84739
+54248 53593
+16561 17132
+85479 90796
+309 339
+150593 139023
+163815 168270
+120422 127238
+17563 17676
+25348 28112
+167018 159622
+87515 86887
+167846 179589
+89902 84630
+105956 102218
+155002 168562
+61582 56989
+159747 145398
+116280 125109
+11060 10687
+42862 44480
+126488 134368
+185569 197009
+124267 135139
+166801 177188
+135350 149981
+50317 52366
+109377 107693
+132030 128837
+13973 12817
+83138 81289
+81905 80484
+184819 177391
+107097 118904
+7568 8264
+189832 172876
+170554 160050
+116812 118442
+127674 125178
+66932 63840
+10370 10669
+206862 195480
+169095 171002
+122109 117782
+170588 156805
+178623 170766
+106268 103242
+190232 185568
+17704 18860
+133142 147249
+17082 18330
+121413 129127
+173831 190428
+55010 58688
+135627 126720
+198273 190032
+168688 165211
+164932 150741
+79720 72510
+71141 70520
+106565 101495
+145758 135907
+49704 46977
+85739 86905
+176077 162697
+196085 182903
+182289 181277
+173514 173797
+56861 57523
+138864 134392
+13936 13780
+123018 123463
+72348 66787
+117482 116456
+190776 181198
+38585 38567
+125507 116048
+33922 36514
+79444 81248
+102529 111300
+181593 183033
+102876 98716
+121800 129927
+43539 44633
+112644 108139
+112991 120484
+109876 108907
+131723 130906
+3578 3833
+50409 46053
+139725 128286
+87525 94326
+146217 159171
+19839 21281
+101604 105116
+156682 166932
+73550 68466
+116228 116853
+106174 111435
+166013 156376
+80594 74807
+82228 87450
+99579 100218
+83615 82780
+178085 180561
+206526 191711
+4431 4579
+7746 8569
+17158 18118
+48645 46706
+103613 111466
+95695 94590
+186562 171750
+89186 81878
+59548 62429
+26253 25333
+38471 40076
+161469 169836
+39780 39603
+141664 153570
+153503 154782
+70391 65452
+52704 49807
+133846 145541
+102507 107914
+104664 105898
+65878 66365
+39529 43604
+47858 43849
+84649 87123
+76845 71601
+91489 95940
+58049 62430
+82675 83567
+115775 109452
+99592 101503
+68328 63701
+96945 89822
+132302 134936
+154831 161773
+21770 21382
+152858 160733
+118786 122185
+172387 177837
+196275 196049
+186706 177920
+79395 77243
+80974 89114
+86872 93088
+139286 130103
+191052 183352
+29069 29064
+48565 48682
+156488 149195
+37297 33969
+104945 101381
+17507 18924
+104307 97183
+168396 183042
+131343 122715
+165518 164655
+61298 59057
+70478 72368
+168560 170826
+55997 52551
+32449 33048
+142221 151532
+6606 6416
+53162 53520
+11577 12421
+134018 139662
+83491 76834
+92892 87345
+76200 82116
+8118 7772
+7766 7730
+167630 169178
+139862 130041
+72736 75587
+26509 24232
+184807 179783
+80378 76069
+47061 44058
+58213 63083
+54128 54396
+21099 23393
+131385 132260
+127478 131735
+163896 156680
+202837 197983
+82049 90379
+52525 49990
+42387 40388
+155910 171758
+117947 107687
+187235 192969
+67200 61267
+42272 40564
+195812 184183
+51886 57006
+201029 194145
+104086 113907
+184504 194021
+77868 70841
+72539 67814
+79853 75206
+183294 183684
+66790 67820
+137954 141858
+99529 95523
+23180 21394
+138800 128001
+163188 179872
+158399 164760
+94279 88504
+136485 126316
+127791 119285
+16487 15247
+144415 144071
+143036 137499
+13631 14463
+88232 86092
+163908 167738
+142660 135415
+27716 26792
+12345 12715
+107189 118584
+172353 189283
+43154 45474
+86212 80548
+16274 15504
+183109 171321
+144423 152169
+172858 177609
+99005 100796
+67916 62098
+21046 19590
+177528 172932
+142982 157665
+149692 149308
+71326 73865
+94330 97627
+160392 151499
+199827 183683
+99620 92556
+125675 124590
+154980 159027
+3005 2858
+165404 164020
+112241 120949
+125454 115514
+5326 5105
+158063 169840
+131127 131972
+55059 58157
+20769 19534
+7502 7418
+34146 36296
+60056 64256
+6510 6774
+74193 79699
+203411 194440
+202796 192021
+128420 135315
+141101 137800
+10918 10022
+75944 82740
+65726 71116
+176331 168049
+132579 120862
+128541 124690
+157406 158146
+175117 178414
+148936 137732
+163112 169292
+24745 24655
+118775 121450
+148224 160711
+4565 4266
+90573 96966
+192635 195482
+29873 28146
+154500 156318
+125281 135736
+70437 76476
+18709 18215
+122774 120452
+134010 123243
+113721 115290
+29597 31140
+29912 27618
+140782 137634
+126893 120198
+188083 191551
+154283 157671
+65107 68634
+117030 115165
+43850 40555
+89740 93101
+99356 108872
+97605 94470
+176347 173939
+48472 47288
+129426 127645
+65703 68274
+149737 156348
+14952 14966
+108962 104068
+141236 150555
+105589 116805
+941 958
+114285 123296
+26904 28935
+42626 42023
+46148 47763
+101714 110864
+173598 177795
+179299 164502
+192020 188704
+73897 70381
+151829 139946
+144420 160352
+168034 177276
+195914 197000
+7340 7261
+96752 104490
+76140 69221
+27422 26734
+43527 47049
+204990 192184
+119876 117190
+137491 135973
+84525 92390
+105311 116964
+159817 159602
+30904 32814
+40733 41973
+54404 50595
+20389 19240
+153622 149891
+7196 7487
+168561 158725
+188303 193807
+100533 104536
+54339 59098
+62239 67827
+145802 150457
+58095 61403
+161156 175204
+119750 125361
+37858 35361
+13046 13941
+166818 172679
+42138 39899
+33904 33134
+186068 173512
+135584 138422
+202329 199145
+160711 162480
+101878 106608
+200024 196076
+54197 55725
+27183 24736
+60963 60037
+103158 96753
+36848 35857
+57134 54945
+208197 195733
+124135 120790
+14148 13531
+90549 95299
+26997 25451
+125353 128437
+191964 176234
+60185 57212
+3413 3469
+56849 54964
+62614 60536
+75316 70447
+166088 158711
+147905 148992
+54838 55063
+82649 87015
+474 482
+133348 122708
+131874 120630
+173821 184666
+165313 183489
+147046 161649
+68808 70043
+149185 142247
+182767 176256
+12066 13157
+111987 102313
+74919 78682
+18931 18437
+186655 182086
+29903 29017
+94007 98981
+9771 9009
+11433 11382
+116963 107905
+143436 136230
+9651 9949
+91038 97822
+156244 157522
+11150 11558
+193886 178783
+27005 25524
+92817 98259
+150340 159765
+44522 41924
+50085 52023
+115471 112617
+119188 112977
+144312 154517
+105890 104239
+6586 6609
+31749 32925
+12036 12372
+110578 106736
+160180 177697
+82633 90348
+196690 187646
+176552 194965
+29177 32204
+64221 63957
+50294 52104
+187745 182534
+184584 189597
+63862 59101
+130043 130147
+32291 33652
+106730 114616
+33916 32435
+182444 168121
+3869 4122
+126264 118302
+75971 75820
+136498 126255
+194801 189115
+156115 159271
+188197 189773
+163753 167139
+96089 88808
+168353 170375
+52711 50175
+15965 17454
+94340 94457
+30091 29899
+77291 83354
+172432 159777
+21312 20304
+100127 100251
+119287 131996
+154047 146121
+152785 165147
+165268 180023
+3828 3505
+182212 195500
+15437 15505
+23684 22204
+72656 73898
+49199 48714
+84120 90609
+168945 164638
+151455 141703
+160653 172575
+75616 70408
+138940 148973
+10079 9328
+72557 76381
+29461 28137
+137873 151698
+120484 128117
+55293 60212
+37963 34676
+128493 142608
+142673 149907
+188993 190156
+11144 11473
+145675 143429
+97894 95023
+6468 6407
+5811 6324
+11416 12648
+137969 151066
+1769 1665
+73074 73624
+102347 103498
+120970 112525
+179812 175889
+41808 43526
+138475 134295
+163228 177196
+116460 106183
+6978 7245
+42341 45652
+32038 33989
+107649 113390
+21550 21193
+52996 52832
+24012 22543
+159119 175497
+169937 185757
+89083 83316
+142247 135661
+39064 40471
+24191 22074
+90680 86885
+10567 9963
+175366 181008
+31236 30488
+156524 153951
+108917 100797
+151838 168231
+145902 151994
+93160 98345
+174508 180036
+162445 174600
+91678 85036
+106001 97829
+152115 139978
+44601 45145
+53575 56070
+118326 129294
+110860 107458
+193348 186682
+176849 173031
+141061 143097
+54180 52363
+211710 196870
+176170 185596
+71061 69654
+166838 177004
+180658 192530
+31241 29752
+62820 65775
+85222 85271
+16334 15339
+54520 52507
+172493 172581
+60190 63207
+192462 190297
+126837 138158
+174762 174968
+161436 163811
+161289 154272
+105307 110083
+140819 152061
+10162 9915
+173536 188667
+90014 87158
+156525 144487
+135543 130055
+50871 53537
+84559 89584
+132409 137920
+84299 89997
+118911 111362
+66782 73568
+109852 103086
+31586 32314
+44256 46025
+80701 89666
+158475 153841
+161187 154277
+141607 143833
+22549 21850
+61865 58913
+103409 100560
+28220 29520
+171776 157367
+134696 142321
+154647 169768
+159162 165513
+145951 139634
+53315 48689
+5325 4866
+57918 62611
+77336 82990
+54391 49669
+137787 136478
+20107 22205
+4652 4823
+102685 98224
+21688 21862
+71515 74316
+67710 67493
+95298 104078
+6472 6445
+57537 56512
+25338 23960
+62515 68115
+177909 171825
+114256 108437
+174104 185019
+40302 39822
+152306 165018
+20957 21629
+191527 190690
+138147 151402
+60861 67451
+113029 117800
+54243 51693
+22264 22313
+29668 29198
+136724 127549
+74450 71109
+41778 42665
+150356 151674
+89344 96352
+61216 63260
+61638 60065
+181391 195662
+33094 32108
+212340 199215
+162149 177698
+128194 138244
+34537 33784
+12451 12997
+58381 58007
+175800 165953
+76145 71508
+9409 9582
+129111 128967
+145667 157905
+166828 182218
+188850 182982
+170628 178384
+9438 8813
+158015 146207
+164619 177585
+102099 112299
+91679 96502
+95685 94161
+68687 69534
+139128 140077
+33266 30840
+18791 18776
+105171 97735
+72128 78977
+22887 24426
+1572 1446
+101186 94061
+81575 89584
+51861 51627
+99091 97769
+170292 156317
+155735 145243
+146624 141764
+89765 95942
+13453 12655
+150110 158461
+142821 151081
+131101 136861
+42898 44931
+35174 36843
+31482 29433
+12931 12873
+174619 190468
+161099 162133
+9559 8700
+92068 101599
+160998 149415
+97247 97156
+166019 176290
+15195 15595
+155314 159530
+73720 78492
+8028 7816
+3982 3768
+154841 169879
+58828 56345
+106287 110515
+8881 8134
+167368 182336
+123754 135699
+7283 6676
+108032 119571
+49774 46274
+53832 55675
+14398 14404
+121324 118037
+160117 171012
+94070 93213
+169924 181767
+121248 111420
+162347 170678
+181313 197086
+152470 161867
+124920 113906
+128724 120532
+67082 69054
+43568 45543
+29886 29596
+102906 102563
+88330 90452
+29054 28510
+57604 62103
+98768 96688
+15402 17110
+75638 80155
+191933 175549
+11001 11926
+179112 188432
+142029 140980
+147675 159648
+2928 2998
+183895 189609
+104016 114794
+22853 21003
+17721 19069
+10097 10596
+135956 140900
+173767 191494
+126398 134243
+167786 179418
+84033 84793
+45102 44816
+58373 56232
+172083 188546
+189434 188260
+164374 170916
+38428 35480
+138702 127914
+118996 118031
+72021 74551
+172483 186821
+143931 153532
+181245 168587
+157145 156789
+135998 150609
+183456 195324
+125765 132371
+66770 63561
+55428 51171
+32580 31303
+113547 123407
+190129 195475
+100496 102958
+121528 115411
+15988 17036
+131012 138033
+144811 138415
+167110 165363
+89176 95686
+7100 6585
+120016 117421
+109091 120402
+125056 115935
+33512 33786
+88792 87673
+191010 182772
+181326 191207
+131032 120384
+14503 15597
+148846 156474
+33610 35220
+1014 975
+144304 147375
+200710 194396
+133118 135305
+24058 24165
+57537 57324
+147971 162798
+156495 165712
+95095 99962
+191674 184927
+167193 167325
+212747 194785
+183639 189184
+60411 63497
+11545 10865
+61967 62299
+175695 181284
+19060 19256
+144352 159819
+135760 133448
+69956 69773
+102822 104578
+143196 149734
+65934 71259
+31378 29274
+31119 28488
+172134 172503
+172969 183922
+135976 128294
+152067 145974
+63089 66829
+152080 151061
+28689 31109
+165140 176063
+160166 153683
+120464 111479
+88101 82886
+97773 94755
+90177 82572
+65707 66610
+96462 102128
+300 298
+78616 72564
+170008 177997
+72021 71623
+44755 46119
+124699 126499
+84328 84535
+217534 199941
+157266 154423
+195383 197898
+18942 19786
+25008 24675
+51780 50498
+169047 162549
+71559 69322
+196058 179855
+51949 49334
+186674 198089
+73537 76710
+174196 178037
+61540 57873
+124675 129093
+121595 133363
+109028 120697
+10885 11541
+136361 134530
+139848 128118
+136743 129528
+159733 163667
+134760 123317
+141765 151704
+196871 197132
+31284 32163
+43516 40617
+8477 9201
+189131 196103
+116978 129447
+5141 4680
+120371 116287
+137409 151156
+10949 10317
+41167 38417
+48215 45357
+157141 145818
+98525 106252
+142400 150496
+48181 51471
+136954 133498
+133106 130595
+1323 1450
+125965 132578
+70121 74510
+147531 141022
+145586 134912
+175012 170958
+126246 138378
+104644 114131
+171304 181321
+114241 125029
+157408 173149
+4527 4959
+6011 6154
+181043 194467
+82402 78766
+202434 190187
+29978 28319
+21183 21677
+105139 101536
+137392 131498
+39427 38656
+60139 56788
+85482 89424
+103916 109850
+15304 16511
+84040 82001
+118728 117780
+210913 195520
+44939 42182
+37192 40456
+118289 122811
+30674 33966
+166017 161627
+201601 191879
+69412 71953
+212312 194111
+149684 152030
+158078 153669
+64701 65049
+42865 42391
+182487 198535
+207603 198693
+156039 144531
+93689 87844
+73938 69546
+118782 126514
+72158 73845
+116450 111457
+47253 52212
+119771 129507
+143665 135796
+68851 70160
+52290 51565
+165336 160022
+44154 45114
+149546 139133
+199444 190709
+21637 22357
+156505 168878
+14124 14655
+80322 79944
+64336 66198
+156539 172145
+122738 112248
+20551 21372
+38970 37044
+5194 5405
+189201 178898
+93760 98816
+32843 35769
+17716 16966
+108191 118849
+153231 140509
+163477 153750
+74962 72570
+18203 19909
+8564 8886
+9120 9830
+172595 159298
+145983 143782
+55670 59721
+147116 136880
+57709 62561
+10006 10936
+62793 66476
+41636 44644
+171530 188369
+146583 154007
+150054 142675
+152577 159579
+59937 61323
+93413 85417
+71193 67526
+148291 147992
+136691 128445
+156611 157345
+125607 117357
+176256 191755
+103457 107539
+210287 194295
+36248 36870
+41945 41418
+133949 135984
+81510 82994
+126134 137514
+120111 125399
+64941 66163
+88490 93472
+89505 83213
+175163 192479
+47788 50165
+71531 72858
+161713 151101
+145556 147255
+194040 190023
+71479 69251
+29341 27232
+140942 142111
+213232 198518
+138976 144903
+28410 29624
+129011 136064
+161580 148489
+160600 162270
+21000 23264
+106127 96687
+101671 108287
+188102 184584
+60435 63053
+57669 60201
+16449 16530
+23278 23247
+167759 156559
+194858 188183
+19942 19896
+32011 29642
+9530 9103
+6631 7305
+198639 185246
+110533 102870
+134093 145681
+41986 40892
+112646 111341
+124598 116573
+203040 192433
+175051 163542
+68619 72392
+107609 116368
+147154 157479
+63097 62886
+108333 104393
+182258 185198
+100859 93189
+116108 115942
+137388 139592
+197480 194237
+151778 151349
+74080 71419
+156008 168662
+22981 22541
+3991 4413
+122855 119025
+154212 152955
+129959 132282
+168411 160508
+84392 81473
+91259 89085
+137567 138344
+89174 84844
+180282 197580
+30644 29915
+90859 83591
+40298 43040
+95789 88350
+48659 52811
+187190 190222
+13013 12100
+90980 90030
+204328 194881
+42273 39873
+157331 157922
+20377 19098
+56230 60969
+206995 188844
+187508 188249
+53218 57389
+35073 33386
+183401 172135
+86721 87781
+198709 189019
+74311 81378
+20645 20946
+119453 128220
+204593 198401
+190258 182062
+26215 25624
+160786 172717
+61188 63527
+201675 191393
+146670 153581
+74653 73952
+1301 1215
+70808 69641
+148792 155026
+48964 53338
+116101 123557
+134880 132271
+104248 111821
+146981 137368
+60481 56158
+17400 17045
+97246 107763
+167000 158128
+84348 85403
+14511 15159
+70761 65952
+124384 131733
+142725 143285
+128237 122764
+54836 50491
+12612 13458
+162348 157168
+59690 62021
+114488 116917
+163710 175947
+29879 30266
+1791 1674
+21123 19272
+109291 100353
+20563 18858
+104904 110593
+169265 172345
+88141 93260
+94599 103427
+92928 90568
+185616 183191
+100685 110880
+154340 164592
+128842 126776
+41007 41852
+181681 169162
+100349 94855
+129509 134178
+23484 21705
+38215 37362
+9829 10632
+117386 107923
+167497 171307
+154583 140569
+14843 13597
+93752 88529
+21685 20250
+152884 140058
+25618 25625
+35894 35229
+48070 51990
+130520 126634
+127383 122171
+118648 113584
+36690 38826
+178107 164569
+31091 28586
+119241 113088
+107616 98859
+74889 82448
+93877 95671
+67494 66554
+45035 48952
+174141 185746
+56403 56608
+55180 58951
+191788 179448
+76220 74941
+165733 157193
+47962 44233
+174904 172001
+83321 85512
+113461 104130
+185372 179996
+69964 70957
+166484 155012
+62952 68678
+88637 94871
+203330 186980
+186845 183197
+143576 142967
+149899 138186
+116297 110998
+87261 85272
+70005 65573
+34822 33152
+108925 117152
+51401 55060
+159499 168646
+195331 179964
+53685 57636
+78775 86411
+41887 39868
+62425 64637
+19129 19859
+51422 50575
+146097 154900
+41139 45051
+155666 143972
+165538 170703
+45095 48899
+18961 18345
+96391 98075
+104449 98449
+44029 40169
+17333 17715
+190843 179717
+199988 185719
+186424 178063
+6191 6719
+115388 119992
+196675 190140
+110187 100586
+98567 95021
+144913 150101
+96095 93046
+184189 198679
+41588 39001
+46452 50375
+145358 137299
+100662 105951
+120086 113749
+20765 22723
+27937 30557
+191272 187186
+56544 57905
+103223 109256
+65721 67320
+25190 27949
+82144 79349
+92182 96670
+25877 24865
+68021 70486
+69086 74979
+73210 70808
+137428 129838
+64972 67868
+144044 149623
+130823 120532
+88158 95250
+96329 92889
+178988 179880
+106184 105079
+144243 136535
+167647 180306
+32290 29414
+127736 124659
+91782 88355
+158223 158451
+188509 189852
+4912 4674
+170666 163382
+169489 187476
+119167 112301
+52673 56234
+153214 145000
+459 440
+106329 107384
+69378 73592
+140558 146797
+62813 67851
+39905 38485
+66680 64071
+151386 163858
+12845 11937
+90323 94167
+74536 76600
+29355 30207
+7837 8380
+70349 66825
+140426 136505
+137870 152372
+189660 194628
+120112 118323
+36358 35456
+89503 95949
+180451 174797
+75017 78933
+211476 193679
+149468 142528
+93680 99734
+183478 197800
+197204 179503
+112843 104732
+113155 112838
+134915 148193
+79441 79414
+29042 30730
+178975 163759
+46901 47535
+164439 178755
+42496 44557
+56143 51533
+80248 76858
+31793 34174
+200728 183235
+47490 51014
+142266 147940
+88094 90587
+42103 38691
+40875 39336
+164035 161417
+42316 43029
+96840 89982
+53520 49327
+145998 155200
+5724 6325
+80404 80319
+68216 75134
+106386 116761
+72583 73161
+119480 129965
+82216 90979
+5682 5214
+133925 141743
+142332 139366
+29291 30613
+70437 69972
+2174 2058
+190285 192932
+49086 48695
+128813 126329
+154547 157449
+109533 109433
+128158 125716
+149591 154565
+125213 138020
+191646 180627
+92422 89762
+171569 156395
+21687 20768
+124114 114874
+64834 66561
+57339 55958
+101607 97992
+155953 150287
+32350 32763
+76654 70190
+138537 147635
+103981 114829
+84160 83971
+71167 75154
+114880 115075
+176079 171082
+142094 140600
+115816 116190
+117691 110625
+38679 40884
+115901 120033
+168390 156068
+78583 86340
+79386 81685
+189660 196527
+92004 101748
+198025 182761
+23542 23120
+119060 109952
+165542 174613
+93611 87705
+200427 190436
+45104 45592
+31671 29131
+69281 72104
+100893 105062
+95183 101287
+81 81
+142784 142897
+78907 84552
+91754 91912
+11127 10462
+133343 142237
+6079 5718
+147251 161277
+22155 23458
+147134 151579
+178965 178870
+142723 134518
+69965 64327
+55533 51942
+143639 158501
+41026 43593
+183648 190578
+112756 116164
+152570 167102
+94388 93496
+85048 89089
+82888 83715
+191501 174195
+57414 56112
+55203 52684
+107990 99772
+186591 191315
+101171 93126
+185902 175717
+33294 32466
+213891 197701
+6898 6393
+167335 156250
+18297 18673
+157669 172809
+212594 195573
+164825 151727
+19096 18705
+71828 73339
+47036 44748
+105552 102567
+78618 83121
+116848 109073
+3934 4348
+53288 53306
+35802 39390
+192602 198810
+55086 56109
+78058 75357
+127636 121068
+173235 187262
+81404 78578
+94673 97407
+30262 27961
+74053 70338
+185136 176901
+112194 112519
+160876 158702
+101492 100931
+86694 82636
+60412 58137
+139480 127615
+67604 67959
+160659 164504
+84592 91024
+148879 146728
+190983 183665
+76051 70371
+148604 142787
+46063 44015
+25655 25308
+6226 6543
+148697 159233
+144589 148135
+151286 164924
+41808 39467
+126277 115542
+125632 137768
+212674 194802
+218215 199151
+51950 47622
+124339 120089
+113525 118006
+180021 176892
+165757 153231
+146802 144553
+71919 72413
+60814 63518
+63950 64809
+112173 114831
+144883 139730
+100101 91020
+175775 192134
+16916 16270
+36473 38494
+17125 16996
+70558 68052
+64390 68341
+158574 150305
+100674 109553
+129750 141111
+191039 174553
+35015 35160
+98765 95399
+107945 106002
+35361 34714
+114374 123735
+46771 47970
+182795 178237
+170072 157093
+138239 131342
+162167 166380
+1253 1165
+177875 187502
+9872 9862
+71350 65654
+149326 146128
+85376 83059
+195802 199459
+116533 123292
+115111 126160
+75398 71422
+99829 102113
+30599 29219
+75945 74189
+167271 154209
+138586 133144
+69201 73916
+58584 62917
+64634 69433
+70793 72121
+66207 69056
+16407 17454
+123323 123308
+24812 22736
+139681 137075
+60609 64631
+28740 26733
+89124 97922
+183560 192323
+46510 47500
+168848 161269
+91031 88718
+177454 174407
+208582 194833
+82346 87561
+52480 48718
+176352 165762
+172442 159652
+11937 10872
+47468 51764
+4666 4575
+114442 107100
+189047 177244
+68108 62031
+37996 36916
+59802 59278
+139757 145622
+203928 197765
+8949 9281
+104092 99844
+99735 94483
+17839 18072
+153626 165296
+28459 31366
+64739 69067
+51751 56419
+115648 118292
+128183 133267
+120332 122750
+151333 138012
+131459 143083
+106761 114342
+84222 80375
+43212 42641
+35489 35358
+136399 148275
+122883 114763
+165574 171053
+121329 116862
+98910 91432
+171097 179544
+134521 124977
+9783 8902
+206700 189231
+83941 86280
+172245 167741
+163620 180829
+117360 127784
+170775 183629
+58297 59270
+204330 198354
+149619 157425
+134801 145828
+54644 50015
+123082 131296
+115205 112223
+141510 134612
+159292 175346
+116831 110761
+146587 155332
+95078 91246
+95736 102790
+5575 5437
+65681 66153
+192016 193868
+30601 33272
+105962 104146
+130932 143186
+53994 55955
+44710 48195
+25159 25226
+181780 176895
+28930 31219
+8692 9594
+40762 43250
+117149 122343
+166809 175779
+23798 23818
+117979 107583
+37913 39676
+152739 143463
+6363 6523
+68055 71120
+213764 196203
+133181 139404
+49782 53421
+51881 56305
+137132 141979
+141488 150312
+141529 151709
+168188 164244
+183841 195819
+122140 131356
+49287 51295
+170289 182039
+191787 199925
+79431 84691
+115917 107043
+94789 92866
+56140 60879
+64572 70530
+186795 174194
+60032 66184
+180434 183879
+168388 157736
+208127 195951
+98553 104835
+94179 92452
+217533 198733
+168459 176792
+146016 134777
+26967 25001
+140295 146564
+61411 58499
+40538 38555
+51826 57171
+116993 129514
+114323 118884
+158372 165506
+59738 61655
+175040 176038
+83801 87491
+61650 56051
+161242 150119
+19265 18985
+69482 73032
+146815 157722
+135286 140972
+102510 97005
+28926 27505
+187822 174351
+38625 39818
+200929 194360
+146740 144727
+198018 190165
+162979 161825
+179119 163351
+148449 164591
+55704 58840
+84542 93447
+25487 25509
+41935 38980
+25851 27436
+15225 14480
+198541 181123
+86666 85119
+23251 24402
+157336 147529
+178095 171807
+41856 45473
+19921 19701
+182753 179574
+55651 57519
+128460 133061
+42247 42278
+103172 96729
+24640 25717
+77223 72737
+183477 169573
+106904 116204
+50992 50362
+175878 173443
+108451 105689
+43603 40546
+204585 194516
+82040 86805
+158814 165076
+10465 10924
+16863 16610
+102795 100379
+193419 199634
+110821 104240
+116435 121804
+32405 32305
+29085 30904
+98624 104529
+59883 55173
+168756 184527
+107090 115030
+103390 113708
+55091 57163
+15868 16903
+96973 102247
+1494 1430
+21347 20899
+10350 11267
+137743 130894
+47556 47904
+85989 90399
+77977 73225
+107312 100761
+51677 47381
+106247 104665
+30141 28024
+92326 91839
+72091 77752
+32399 33271
+41894 43018
+71296 75107
+35175 38537
+52914 54887
+8836 8338
+136976 152080
+81926 85886
+118789 115745
+111608 104893
+121392 123708
+85032 78732
+85563 93546
+32280 29394
+34197 33031
+177143 185309
+128 141
+214984 195764
+158039 160571
+98410 98584
+54728 54561
+26290 26908
+186027 193035
+53198 58654
+14532 14472
+196921 192929
+147565 143381
+32317 31624
+104500 114283
+147713 149553
+119334 116386
+143991 141484
+159235 162752
+11120 12247
+148723 137635
+59272 55703
+72598 78086
+168107 184053
+158884 174579
+217213 198674
+48061 50373
+112419 114825
+189586 174041
+155598 149279
+87 81
+169004 167785
+85240 77956
+167510 157243
+154164 147398
+128350 123272
+50807 51279
+138065 145371
+62394 63754
+47181 49009
+129974 126972
+171633 188400
+24469 22543
+57704 57864
+14506 15867
+109824 111077
+67437 71312
+2265 2446
+44773 45090
+41181 40221
+13983 14416
+27015 24795
+106855 111155
+60350 57144
+39824 44064
+25455 24163
+2368 2203
+71731 75660
+8293 8920
+56255 55860
+17369 18094
+1862 2029
+185882 194523
+124603 129524
+136030 141742
+78534 75495
+166460 157013
+23323 22628
+24703 23491
+13660 12864
+145727 143293
+102009 94817
+76109 78530
+143239 133561
+31100 34133
+19930 19103
+170663 167656
+12362 11595
+122431 132327
+80902 88046
+82723 83998
+13474 12972
+2768 2823
+44559 41271
+48843 54004
+57936 59593
+149231 136853
+178487 169406
+62929 58855
+195944 181579
+76773 76410
+31994 33951
+150166 158365
+163543 163412
+68245 67495
+136718 134290
+61288 60452
+154892 142849
+98716 99675
+79663 75176
+43062 40377
+64276 64359
+57006 55772
+22486 21197
+140875 128637
+130253 131031
+48926 49722
+41590 41158
+173387 171135
+91685 86940
+95464 87121
+122006 131890
+55855 57526
+100994 95929
+56248 55045
+52819 53195
+165391 172230
+38882 39981
+21362 22149
+138170 140580
+26366 23992
+87588 93616
+53336 55818
+47370 49257
+121156 132867
+36021 38261
+8986 8278
+149587 139812
+76502 84104
+179249 197416
+141491 128888
+198470 196404
+135976 135119
+138407 140015
+98641 97028
+103615 101397
+108152 106508
+170657 165291
+158184 146077
+96330 93980
+172659 170014
+33742 31989
+182147 178221
+38508 39994
+72956 73804
+102737 94627
+139861 141801
+114115 105462
+137898 138376
+195630 199234
+6283 6415
+165432 158005
+76478 70253
+150258 136731
+87682 87848
+45215 49075
+156798 173507
+79528 83952
+47619 52552
+59317 59081
+183482 188471
+209338 192893
+90767 91275
+200739 188519
+75617 74277
+11626 12409
+214706 199832
+23721 21784
+145404 135376
+62538 64660
+22411 22367
+100510 99522
+100173 111206
+57296 52408
+165576 176860
+176814 162533
+157184 162814
+89419 92427
+46786 46803
+152682 157017
+64706 62939
+77036 74985
+139322 150547
+54098 50130
+21048 22952
+20228 20715
+152215 159862
+662 733
+120274 131579
+143650 139108
+124317 117405
+148717 164834
+56917 54036
+197391 186208
+141379 138613
+136651 141921
+122198 124764
+10990 11109
+157169 173878
+126058 135031
+53239 52904
+183267 199283
+33298 35424
+192334 181912
+90137 84086
+86745 86981
+165241 177022
+177464 173716
+180575 181676
+11313 11664
+126095 123364
+152861 161492
+56683 56862
+151013 147201
+3287 3507
+374 347
+4459 4934
+33661 35585
+17444 16530
+172869 169991
+48120 45259
+68160 74161
+42237 41843
+37375 34127
+69814 68669
+192813 192304
+100868 94422
+25311 27716
+96012 106196
+36137 38290
+73115 67646
+93975 100562
+176315 167926
+32784 35560
+20924 22271
+129297 123133
+175954 163375
+62719 68156
+150406 147826
+113240 109990
+205193 194616
+109320 100435
+63913 70972
+145774 135110
+10244 10226
+180275 176363
+23910 25101
+181298 179183
+130320 137898
+28897 30460
+130407 126940
+106853 103056
+60399 57877
+143424 145529
+28265 29037
+11711 10991
+181206 164754
+57412 62669
+81963 77005
+7905 8302
+66741 66988
+106785 116896
+139936 150226
+125947 126728
+63290 69847
+25177 26898
+139223 142621
+144833 155026
+112642 104688
+2343 2556
+18381 18457
+10477 9980
+104390 105600
+16863 17331
+110094 102907
+64075 62800
+108677 111031
+197617 183622
+62634 61441
+67798 65647
+49960 45426
+45679 48893
+134953 137077
+131755 144920
+25644 25334
+126954 118810
+29707 28649
+140171 140003
+72554 80052
+48885 49241
+79955 73274
+21609 22655
+43805 45829
+100992 97137
+139955 131344
+69612 69434
+120953 127214
+84619 91730
+103391 94169
+91199 87607
+123894 129243
+55154 56998
+124581 121426
+46673 43574
+132693 143652
+114142 125458
+147282 162752
+25059 24273
+122129 118540
+163682 163508
+184550 174960
+39261 39483
+12805 12479
+175712 184164
+179441 178749
+142758 130497
+133942 143505
+137161 150324
+51454 55496
+39902 39946
+109698 103939
+110644 108402
+82480 85375
+204451 187801
+97087 104063
+192860 182947
+81544 85016
+1598 1671
+62644 57177
+93099 97031
+79807 78676
+118645 112075
+117155 128525
+48813 46233
+89388 88511
+121507 126387
+83488 88261
+110046 104526
+91555 99244
+99635 92906
+24019 23890
+85123 89554
+30503 28986
+107433 109746
+51758 48496
+36288 40080
+29233 31187
+43133 44777
+175766 181124
+125715 117545
+45979 44522
+87653 95557
+212323 196447
+161998 155769
+123359 115514
+100577 107673
+13550 14521
+65729 60182
+126212 127755
+140245 152080
+126350 114936
+27538 27218
+165968 177326
+197558 187311
+24370 23529
+177424 162678
+207416 199357
+22114 23380
+65328 63811
+1048 1159
+10473 10142
+64061 69051
+104543 112425
+20903 19779
+25277 26879
+89015 81589
+118035 119526
+24249 26210
+200459 186264
+146175 139440
+183950 198064
+166781 158806
+104013 96814
+184866 171124
+138820 141735
+205339 195661
+36663 36172
+2019 1954
+73380 68436
+95008 99500
+152584 167689
+17164 16309
+35042 37740
+88450 93139
+42941 40390
+109529 115522
+112796 111245
+77361 71389
+204508 186543
+163091 174329
+86982 88573
+35449 33758
+146416 140663
+37101 37091
+18535 17072
+53812 58597
+57655 52894
+49314 44899
+115479 120448
+45664 44153
+57306 53804
+78539 83895
+113784 120052
+181460 196510
+178927 174516
+47347 45943
+60488 59899
+176325 183119
+147195 149460
+49725 54866
+94969 87856
+26956 26371
+40892 40945
+4939 4693
+170729 176149
+43556 42793
+4086 4413
+57851 56101
+84370 82074
+159055 163373
+59860 60595
+17327 19137
+57283 61908
+94274 100979
+52793 52823
+86148 91523
+53738 57096
+20958 22361
+4385 4087
+167007 181021
+66915 67167
+147262 142838
+160377 150382
+57388 56414
+207438 198769
+112855 116767
+186406 172318
+156548 167853
+65461 69565
+115204 113438
+180263 199155
+18518 20426
+150192 141676
+15074 14843
+189215 184356
+176256 160849
+195625 179859
+42811 44853
+56711 58291
+86776 92152
+52975 57199
+160404 177927
+147623 154985
+169259 183373
+126455 138728
+176365 161125
+183772 182045
+47064 50298
+14014 15056
+113294 124862
+97620 91244
+189377 193219
+94606 90531
+80180 77433
+94950 97407
+185710 171589
+115699 128391
+163208 169018
+5559 5130
+203029 197814
+179415 188683
+93310 91420
+130961 122824
+166651 178473
+199183 183529
+67374 66677
+200473 182850
+117212 118472
+145407 154437
+55260 57559
+33438 33095
+93480 86170
+138782 133357
+137464 146827
+129547 143923
+115669 112700
+168509 156632
+86329 82453
+104463 97386
+78354 75562
+18862 17385
+159814 151989
+100988 108827
+103293 106165
+36202 39532
+44481 41058
+199342 184447
+92121 95051
+120229 131157
+35312 36558
+35320 35864
+67494 72563
+121377 124485
+85070 79078
+38585 38389
+113461 114448
+151146 142342
+215417 195985
+153611 165738
+77346 78108
+145299 154380
+126191 137710
+104299 95514
+19108 21100
+97957 92851
+112842 107544
+56224 61871
+155982 163759
+152795 152197
+166223 164387
+133604 134557
+136302 143280
+48397 53171
+80997 89053
+157099 146916
+143672 154578
+142904 133401
+160524 165520
+172035 174541
+32860 30992
+159774 146556
+120637 112572
+119954 123178
+104880 105476
+134724 148812
+144935 157663
+89790 87127
+118787 119135
+191220 185700
+1024 1134
+190798 194045
+148298 138474
+140659 132615
+125253 118683
+187855 177611
+115393 114189
+160100 173795
+68547 72911
+142394 146813
+15481 16902
+110382 115471
+106165 96942
+28475 30679
+166099 154863
+180569 196557
+165296 153624
+3130 2985
+116421 106298
+163354 153802
+56850 60259
+188157 194890
+62250 60470
+11174 11547
+139187 126948
+24822 23773
+159730 176585
+185833 178944
+77376 82597
+45718 45713
+8724 8373
+16195 17635
+53082 56621
+160804 151451
+68339 66005
+8886 8087
+171834 159357
+58188 63035
+111023 118110
+58088 56538
+124985 137103
+180480 183358
+180702 174304
+58788 62549
+5119 5527
+15358 15480
+98057 101445
+185210 183704
+194923 197379
+191561 199175
+64485 60046
+43094 42529
+57666 54909
+179417 182101
+107483 103451
+58907 56980
+139758 131429
+132986 131028
+68599 73377
+44546 45697
+88865 87321
+105116 111041
+133510 148275
+17510 18402
+197995 194094
+20742 22499
+36228 33403
+188042 189788
+151576 163957
+98921 107658
+106391 107455
+193086 190203
+117330 117945
+106826 106066
+98101 96286
+170433 164600
+33417 35837
+94441 104223
+149031 164498
+193350 177012
+46192 48065
+126110 139681
+130879 128558
+191079 199036
+121515 131003
+29919 31055
+99506 100831
+170443 178692
+145132 151904
+153932 153709
+23800 22637
+175443 181486
+67620 63706
+20427 21384
+16580 16760
+134909 149506
+95147 101456
+22769 23477
+15131 14652
+35938 37109
+90162 91043
+66229 67608
+187275 172623
+23886 22820
+98542 106605
+688 729
+154401 143136
+93703 96855
+25914 24130
+71869 79789
+111338 105592
+250 256
+183235 169520
+180232 167957
+27106 25338
+159804 154555
+145769 139072
+126575 116568
+16480 16419
+63349 59406
+105614 115380
+166693 178185
+79847 74956
+104488 113896
+22488 24073
+124103 113861
+3227 3301
+118711 118947
+76892 80308
+123251 124339
+95433 98106
+185784 191107
+64118 64230
+13733 12675
+34917 31791
+77642 84150
+81373 84426
+161705 147634
+32323 35013
+179531 193107
+177210 172995
+209893 196610
+144023 159765
+70000 77341
+149842 159921
+75439 80388
+94258 89617
+48546 44159
+106330 104874
+48016 49487
+160763 160775
+60442 65296
+120035 109506
+130963 139911
+60381 58271
+98390 95566
+150270 139781
+86666 89305
+83308 79578
+30165 28068
+102075 103226
+174546 186811
+106136 106963
+54993 60325
+4364 4767
+202353 194286
+187818 182975
+131062 124944
+160345 163505
+63469 66557
+100647 102894
+71270 67340
+198526 198051
+145835 151741
+110015 116169
+160213 176555
+159331 157411
+47165 45453
+84796 84116
+57571 55400
+115117 104666
+151464 140181
+108725 102315
+10617 9706
+98330 102314
+164100 176520
+113360 122438
+20999 23233
+107043 112367
+95099 95203
+6447 6454
+109399 111334
+11108 11137
+26534 28141
+98753 105127
+91735 93884
+94523 102318
+63693 68023
+6942 6878
+45849 43475
+190690 196289
+87576 83612
+7093 6650
+42669 44641
+134071 127296
+102846 97919
+158773 153269
+185537 174793
+10107 10983
+163675 157329
+92161 92642
+157237 144086
+172139 164207
+12688 12809
+120072 132974
+170483 173309
+182236 176267
+145039 157484
+47596 52832
+207981 191200
+1094 1127
+169189 163205
+82483 81050
+96045 92296
+104541 97961
+191941 184683
+93800 90327
+92825 92776
+109616 105714
+189320 187071
+93806 93485
+49232 46494
+24259 23388
+175354 169004
+72078 76875
+186879 175603
+21881 22330
+159688 156456
+9764 10361
+151252 158103
+137820 126044
+136686 129583
+54965 59676
+108214 104616
+128904 141258
+103655 94285
+177759 186544
+26497 27881
+152645 138886
+73906 80914
+39790 36622
+3381 3149
+177489 172557
+156859 168476
+37250 34598
+153724 163307
+58678 64276
+70334 66515
+8691 9091
+131072 122888
+113908 117324
+201866 199270
+170340 188620
+83936 84883
+193929 192287
+83319 78416
+201382 193022
+116707 107169
+97177 105075
+51615 55767
+183756 182836
+149980 145975
+89471 97252
+187994 190601
+49942 48033
+99132 96766
+158243 166411
+53707 54014
+148295 162515
+99720 96398
+533 507
+207467 192219
+51187 52783
+64001 67429
+171159 186112
+192569 176331
+70393 70393
+62364 68847
+81769 78368
+116732 113797
+9102 9931
+100040 102717
+46606 43867
+112040 115083
+10426 11418
+134377 141967
+28206 30637
+76240 81638
+78969 81526
+41687 38861
+119070 118920
+18576 18796
+17471 17287
+124730 133703
+72395 77660
+50733 53692
+55603 51091
+97853 90554
+1942 2001
+141577 132799
+114405 120821
+146173 153227
+57509 57545
+170355 173670
+32783 31141
+162598 148811
+164638 165344
+115069 125168
+36979 38068
+9602 8819
+101692 104429
+191423 191330
+104961 98254
+55086 58215
+205539 198016
+102955 97422
+89100 91767
+26136 25461
+161668 172196
+12834 13071
+139968 154000
+94377 102740
+29218 29980
+9249 8777
+45176 48594
+106136 107559
+19615 18791
+47393 52459
+81970 75920
+254 249
+143474 155581
+57381 58990
+59608 63862
+24664 26049
+131468 130321
+126136 121236
+158666 165965
+146532 158429
+11789 11023
+214155 198572
+50390 46070
+65808 63704
+150358 138141
+68522 72266
+180311 164076
+116961 117733
+180369 174683
+21402 20497
+46785 45957
+112042 113955
+112956 120996
+183659 193130
+96066 96239
+171430 177817
+64266 64653
+30161 27660
+4562 4148
+184690 178040
+33783 32547
+137144 136372
+78151 82872
+40316 38366
+108607 115247
+113707 119211
+164095 171191
+127201 119631
+18966 20850
+45898 43269
+97667 100490
+161478 178172
+47320 48683
+51496 50078
+10452 10464
+38672 39677
+90513 94926
+78355 72604
+102221 113351
+117127 126936
+205865 194444
+126592 117810
+83524 90530
+85990 90682
+170503 188303
+33111 35032
+123642 113649
+44741 44538
+99086 101756
+32497 34517
+33795 31822
+71255 71450
+110510 122161
+76293 82552
+143414 141356
+74739 75143
+180705 172230
+81337 81752
+150822 141592
+115225 126870
+118048 125198
+44393 44568
+16053 15034
+189701 192455
+29467 30740
+116785 117095
+8374 9234
+68147 68291
+162916 150880
+112765 109433
+40923 37501
+116357 116383
+173159 187057
+51814 50129
+131612 125166
+82605 82777
+102597 96707
+110597 108025
+127957 131255
+104740 108311
+53193 51912
+172288 185798
+135244 129664
+90702 88621
+140767 136880
+120785 113046
+108835 111244
+82265 83413
+13582 12515
+96618 92755
+90203 85945
+11103 10742
+35122 33090
+17341 17838
+113346 120637
+115812 105375
+121574 125867
+20411 20198
+22322 23851
+80137 77066
+148123 158388
+196767 179137
+178927 184686
+115751 109212
+180044 178605
+127130 128015
+114360 104715
+51645 53217
+85832 91616
+196677 187884
+210990 195425
+200456 193938
+70318 75154
+124799 113789
+197733 181097
+113722 120080
+45913 44737
+54442 52207
+113930 107767
+72835 72615
+120560 132197
+204699 192380
+175199 192889
+106042 108110
+53352 49393
+33477 34983
+81416 89013
+149983 163363
+151287 164816
+130665 135228
+18219 17164
+172030 181938
+129865 128874
+128396 139219
+5402 5755
+159049 148780
+174631 163998
+41755 37964
+75942 82135
+89962 96369
+184584 189063
+155324 160082
+128747 132046
+199489 196488
+75928 83898
+6328 6810
+30124 28330
+170894 179300
+45062 43523
+175536 183906
+77750 73806
+10606 10078
+145576 138221
+194138 199988
+139449 149048
+66146 67967
+1025 953
+104587 96738
+138935 153407
+119754 114165
+166057 153379
+66428 69001
+45850 49493
+111020 114138
+81093 88353
+130489 128336
+65590 67332
+167373 178994
+95499 105125
+6188 6760
+50191 53170
+36907 40939
+72624 76184
+127442 128459
+104438 108318
+80934 82972
+34075 36959
+213753 196798
+155294 147490
+56079 61576
+115515 109976
+160504 165201
+92013 88497
+13315 13210
+3636 3675
+121628 124955
+207296 193688
+33495 31656
+190838 183546
+51770 51328
+48322 47678
+185149 171314
+64747 60035
+201776 187693
+92264 83877
+67038 70818
+68025 69306
+85932 89944
+19909 21352
+126075 130124
+117244 126946
+186734 185794
+78134 75709
+69307 69100
+2870 2739
+105296 111158
+42928 47219
+30806 34092
+100523 100706
+183667 181321
+159497 147506
+80515 84509
+18110 19869
+135467 145497
+177323 161215
+121302 110714
+40545 44942
+142832 142736
+16773 15351
+124179 112938
+107521 110549
+47312 49441
+194233 198032
+33930 31293
+65827 70736
+165896 168967
+140389 142109
+38974 36588
+77056 75349
+134581 134154
+102220 110920
+42645 42842
+6751 6516
+7999 8187
+87168 88984
+139101 126679
+167787 172471
+38314 40180
+29997 33003
+127107 122329
+35618 33954
+18221 18394
+39109 38010
+34201 37762
+98385 104437
+119783 120157
+62127 67545
+200633 194847
+72397 67879
+187435 194676
+178582 166581
+189251 185445
+122808 118058
+166493 172004
+60092 54870
+92395 96180
+65918 67436
+109295 104887
+83793 84508
+133021 139478
+169872 163985
+152247 152263
+104702 114372
+41103 44926
+89932 96443
+12676 13042
+55975 58402
+126099 120586
+8661 9156
+150958 166436
+170249 165606
+185140 177282
+59705 58240
+146591 141266
+874 857
+81081 83609
+167182 161342
+136021 140539
+121087 117790
+40771 40809
+95183 86789
+116867 109671
+139625 131315
+206179 188217
+134985 139033
+46499 45225
+24836 26351
+207887 199928
+130043 126581
+200104 195871
+115653 126020
+160215 165248
+204258 185807
+187300 171374
+130108 127547
+105312 115221
+80298 86553
+111912 111688
+176633 169276
+120499 117990
+99165 108028
+154277 150183
+116038 107973
+24506 23816
+18863 17244
+100933 95057
+142520 134448
+31739 30272
+54621 54809
+149163 144020
+182001 167471
+164947 182583
+65841 63369
+42809 43912
+1637 1553
+24334 22277
+28995 32001
+199512 191954
+17650 17468
+143674 154600
+180016 186635
+209174 195421
+110952 106866
+164220 171531
+25591 27311
+132033 143456
+178540 180494
+66139 71362
+4076 3756
+35165 37404
+143942 146182
+2091 1930
+148347 141756
+165323 156957
+103452 100520
+191689 187339
+202268 188885
+168556 158774
+92962 101662
+53814 57943
+31192 33829
+170094 171271
+184458 178604
+96010 92394
+60115 65619
+129998 126136
+34300 35631
+156678 147049
+103836 115267
+22075 21245
+130061 138141
+155041 153061
+191434 190287
+74575 78609
+99460 99529
+29094 27607
+99158 106384
+43626 41789
+95204 96157
+164315 173667
+63675 64596
+18129 18896
+6949 6751
+113403 114199
+71558 70055
+82059 75365
+59706 64751
+141910 157418
+17367 19276
+73107 74722
+66268 63173
+121994 133951
+111669 106819
+79359 72693
+199166 186485
+152686 147425
+59829 64963
+98754 108375
+63348 58476
+51337 51462
+110428 102846
+184740 172490
+123035 118705
+6090 6095
+43185 42849
+131104 144988
+102912 104871
+81747 86723
+122866 124242
+145438 140900
+135148 132551
+136199 138329
+95097 100594
+194301 190081
+20843 20968
+72475 67244
+126988 122075
+58139 52960
+90634 94137
+50793 53126
+11125 11233
+44949 45044
+119522 118146
+214218 196952
+70393 68946
+46813 49277
+94262 104681
+36194 34749
+147302 138872
+48474 51140
+94859 96296
+138470 126780
+181806 180499
+101642 112219
+43820 43481
+156933 170565
+98363 96288
+112409 112542
+152807 168236
+127646 133104
+73278 70039
+105063 105782
+78923 81389
+90263 83139
+130165 119910
+20245 19858
+171759 174081
+91581 96171
+152699 147833
+146465 139502
+44609 48614
+69661 75647
+64657 65459
+137141 152014
+156569 146680
+122553 113921
+19775 18612
+15693 17217
+68675 66344
+8574 8926
+79023 75218
+126282 116000
+37041 35013
+132804 144939
+134145 134433
+156345 154637
+6090 6197
+157794 161064
+149328 165806
+49989 46071
+45469 50105
+136570 130686
+153163 147325
+155846 162706
+66344 70318
+31079 31554
+93553 88976
+110081 114657
+16417 16777
+68736 63409
+68665 73248
+74216 81006
+127927 136344
+173846 166388
+60866 59939
+33192 30989
+62533 57733
+38647 38875
+100834 108358
+202630 192478
+109838 120083
+145479 155107
+34993 33075
+145956 159882
+179075 196769
+72638 73202
+175601 183626
+63860 65667
+177441 185380
+160663 152599
+180275 188392
+26522 25670
+118926 116718
+138047 144652
+169948 185892
+42545 46617
+189009 185131
+18877 18486
+3217 3279
+74410 73679
+4631 4512
+51222 50657
+11921 11633
+125759 137537
+158003 151917
+171362 168710
+143845 151185
+169687 181588
+149405 140681
+86458 78982
+20788 21419
+99266 95351
+102955 113098
+134882 123053
+97455 88888
+147759 134883
+156979 154652
+11110 10674
+65687 68588
+105021 108955
+101616 92550
+37165 35955
+123604 115825
+50030 49643
+65809 68907
+29019 31995
+48561 44654
+16958 15659
+159513 148420
+37642 34302
+26863 29059
+178918 182331
+36453 38568
+106398 105369
+29924 27852
+154362 153670
+33634 32645
+87088 93268
+42743 44508
+70965 66113
+3836 4134
+63039 60513
+180833 180801
+27009 25898
+92579 96173
+104889 113820
+111738 104516
+176526 191691
+88273 87511
+209993 195722
+94723 90919
+204758 191734
+207860 189437
+9693 9372
+99647 96806
+77094 77512
+99336 109135
+59020 53931
+78544 81657
+21597 20264
+207172 199960
+170471 156091
+42612 46734
+45016 41990
+98988 96255
+25754 25466
+173207 173392
+69480 67166
+57652 53057
+98388 105215
+75041 69797
+76716 78900
+66593 69306
+195697 187725
+190728 182121
+211859 195864
+69692 64987
+110626 122895
+805 757
+22230 21217
+156451 150962
+139582 149723
+118233 111196
+36019 34419
+58274 59751
+200461 193969
+157722 162730
+58909 60283
+197850 193914
+198464 191931
+87594 80549
+45621 45039
+133037 131656
+30822 33484
+163862 152654
+59304 56208
+134949 132037
+46224 47651
+130071 141406
+65768 70313
+106939 108545
+16002 15015
+45821 44555
+171818 168335
+109731 101605
+154577 150633
+43495 46402
+46078 44064
+145419 139637
+68985 68711
+71518 65324
+45130 48902
+6394 6733
+155198 142661
+13877 13995
+153990 160179
+17904 19173
+131209 134547
+132960 133403
+54070 56100
+117911 109966
+67508 69260
+128279 131603
+144713 136032
+12144 11636
+134896 129042
+127124 126115
+2105 2296
+60553 64028
+203526 188405
+214591 196438
+139343 144070
+114661 117093
+157295 156523
+37881 40559
+48142 49903
+108975 111240
+25607 23830
+181406 194733
+73263 77411
+209279 196826
+44172 43011
+76101 84552
+89360 85465
+146724 153735
+174729 162343
+65891 62067
+74964 71766
+99975 94358
+33671 36706
+87189 95578
+145705 136932
+107602 101161
+150155 157885
+140879 147171
+187802 182556
+41874 44667
+132558 127661
+73078 72943
+149415 157471
+33932 35169
+96410 92367
+110372 102103
+182026 179478
+149357 161100
+141252 135980
+140283 137776
+87178 86391
+130573 142979
+150583 167028
+109817 108297
+45645 44481
+9113 9451
+31210 32132
+175513 178730
+13083 12092
+58575 64640
+88586 89122
+36779 37781
+101142 99259
+117774 109339
+167217 162301
+17147 17798
+28239 27803
+2894 2859
+172197 158191
+46867 51828
+66188 71811
+154584 168894
+117728 118780
+149524 136207
+123609 114148
+129209 141559
+31108 31507
+139454 141698
+171620 184440
+177249 165526
+20823 19209
+34787 34736
+23753 24517
+2069 2230
+114652 116642
+166025 161208
+138437 151065
+58333 53319
+153734 141898
+64900 71858
+58310 56652
+27608 26074
+75218 72341
+179235 190065
+91937 86019
+116935 122707
+130426 124741
+106798 101568
+86428 89897
+180829 177974
+30059 31362
+171394 174247
+104394 110645
+180771 192668
+193897 198560
+12627 12454
+158324 146024
+176716 166268
+98181 95326
+98121 107830
+137480 146958
+119577 112357
+53028 55139
+8996 9677
+197339 184250
+146092 153920
+9292 9921
+203444 189655
+183554 175564
+22682 21264
+166481 177076
+89626 87039
+107476 104364
+33392 31474
+72199 79585
+165130 164838
+11615 10957
+35645 37599
+118718 124377
+39407 39912
+19322 17965
+136720 142183
+183098 186325
+207989 193628
+81680 89297
+72509 67702
+105798 110265
+156616 171538
+181407 183435
+33291 35025
+102287 113619
+55033 61076
+2090 1973
+170825 162455
+81450 88474
+111326 105447
+53966 53621
+81017 88513
+159411 167409
+168725 182921
+84798 77305
+83755 88036
+58159 59043
+55483 59954
+187699 181242
+149067 148651
+153561 149542
+185360 195669
+134150 132666
+29166 31647
+34990 36570
+59333 59421
+31915 30663
+191400 176417
+78598 72201
+127903 124338
+123312 128632
+16342 14892
+162961 170022
+31675 31028
+185451 186668
+42771 40917
+123579 123088
+102260 112380
+105823 101840
+160143 160908
+176010 174094
+112731 116127
+73036 70807
+125104 130010
+47592 44433
+181279 194348
+32579 35521
+151792 166243
+147661 161527
+71981 72299
+145314 157526
+64708 70819
+122602 115780
+87150 92381
+70799 69866
+27257 25138
+76850 72552
+166419 153344
+75173 77081
+24224 24706
+23749 23422
+86628 87818
+103621 100169
+22629 22941
+17248 16328
+129144 117867
+12130 12204
+169814 158249
+108782 115574
+93023 90829
+167598 157693
+17999 17062
+13804 15198
+29672 30101
+54160 58880
+206001 194731
+19058 20802
+6669 6881
+124392 115844
+72620 80366
+4276 4687
+8798 8969
+163110 154722
+112794 124091
+121946 117786
+69504 71647
+54717 54652
+136650 136441
+146374 158370
+50 49
+170364 168897
+194214 183083
+132543 124819
+128383 137156
+107677 117029
+18038 17898
+12978 12223
+143828 151896
+29013 29739
+8958 9069
+100592 93668
+173446 184232
+18397 19036
+35868 35330
+3135 3178
+121150 125800
+112828 117007
+169085 155604
+170983 159523
+101877 102215
+162683 152993
+146627 146277
+93988 99980
+30057 33324
+101727 92732
+11134 11282
+125678 131976
+144725 156603
+182444 187473
+164767 157396
+83912 86633
+3475 3343
+41015 45087
+24417 22907
+137092 151400
+175425 189055
+12689 12140
+185638 169011
+35427 34730
+14805 14746
+117788 112008
+34985 35200
+107140 113595
+107062 97773
+43785 40591
+179480 186115
+152884 146643
+21955 22009
+116601 113381
+76143 77364
+172960 189270
+32508 35455
+6073 6265
+106073 105319
+89883 84173
+71496 67958
+148272 136836
+173472 161226
+10222 10095
+158653 163728
+68936 64905
+106673 117858
+20804 22813
+200322 185467
+187622 194964
+89020 86995
+76534 73375
+21498 22940
+117010 120061
+15672 14551
+131759 135209
+7384 7891
+73630 77284
+58585 57539
+138681 148058
+71092 69115
+93331 101812
+30037 29383
+91701 85817
+78469 82728
+1980 1889
+143260 155372
+96459 88568
+65960 62440
+51681 53228
+29466 27413
+201843 189683
+118470 113669
+95538 103003
+13418 14400
+46061 50159
+119628 127935
+151759 143747
+17842 19268
+176173 180573
+104318 103828
+182062 166592
+129018 122067
+48840 54102
+101333 103802
+12572 13369
+27002 29623
+150769 154270
+136828 148897
+51923 53726
+124585 120725
+188429 187298
+38897 38066
+46715 50155
+70276 76463
+195586 181628
+161621 158356
+55998 56868
+135228 143579
+44752 42796
+109979 121636
+129576 117849
+71499 70607
+4185 4062
+186291 170170
+114428 115873
+103931 95831
+178888 176680
+111464 114920
+106991 110624
+53192 57370
+48097 51658
+115526 118523
+187129 178818
+34617 33050
+114893 115182
+184089 174074
+79249 77247
+25449 24626
+166327 174887
+129042 134820
+28712 30999
+98375 96152
+79087 76467
+161237 167028
+56379 62421
+142357 139098
+20417 20987
+99244 99678
+116080 113358
+172664 165986
+120771 119248
+23657 21520
+76837 73313
+43127 42356
+216009 198509
+13063 13236
+164529 152117
+62923 60780
+201611 188025
+142411 137130
+144548 136959
+189907 181251
+8567 8579
+29808 32656
+74442 73404
+163478 173705
+6552 7046
+168403 167356
+85654 85808
+154879 171241
+28182 28196
+86287 82173
+33470 31855
+102995 101161
+44392 42157
+130061 119775
+11455 11602
+100506 98473
+31787 29463
+67238 73573
+80680 78271
+94553 104673
+51102 49604
+66706 62415
+81534 79267
+108083 100901
+56556 61889
+78921 75476
+135222 142136
+128502 142178
+39920 41987
+45651 42534
+116991 106754
+129640 123296
+108602 109033
+172521 170866
+122101 134283
+174536 191807
+123338 117759
+100979 109407
+103124 104044
+166136 160956
+149072 153847
+150314 148492
+24600 23813
+184102 192939
+35399 38895
+23613 25620
+105646 104642
+48973 47035
+18404 20271
+103047 102475
+152298 145174
+75764 69431
+14526 14121
+91749 100287
+171930 159168
+24986 25665
+97842 105657
+113262 114361
+167532 171594
+3278 3543
+87129 81445
+36856 37820
+57954 64326
+127756 118288
+68530 73116
+9337 8642
+71333 65170
+76714 79837
+32639 34488
+42875 39108
+194964 187731
+160173 154634
+104390 98557
+74933 79536
+46102 47034
+147962 147772
+81814 82905
+60203 63538
+141773 140164
+52251 50290
+96553 97828
+165784 154605
+172532 163635
+47166 43973
+190613 198623
+105242 110401
+184191 179352
+165016 158569
+142016 154167
+189029 183876
+38734 41290
+178750 179180
+41865 43520
+195515 184395
+53781 49326
+60171 56948
+67306 62267
+42354 43616
+144418 150638
+27272 27395
+147199 143186
+17935 18570
+9474 8964
+160196 166516
+128322 118297
+22227 23626
+119006 118766
+103910 111228
+23242 24077
+107883 102746
+57901 55352
+197777 193963
+60433 64918
+130070 141614
+75923 79479
+164642 181035
+67829 69574
+140897 156468
+72037 66314
+70018 67197
+56346 58712
+127549 128021
+10886 10521
+164475 152576
+98320 92468
+47331 48947
+48861 53592
+59349 63212
+117993 114663
+102790 101291
+86679 91906
+42688 46416
+59994 66477
+26748 28626
+144960 134367
+109985 104665
+50649 51369
+183505 169722
+73901 70336
+82619 86541
+56742 54249
+206267 195947
+109764 107264
+20414 22217
+178165 184420
+121801 117932
+116396 111362
+4829 4872
+165429 156541
+61253 67193
+182340 196791
+193661 195229
+133443 147903
+170457 177932
+155127 164183
+3945 3828
+69309 72544
+90252 90326
+104196 114340
+126990 124183
+180565 167872
+152647 162628
+145118 142444
+67500 67301
+195162 186921
+177075 171708
+6472 6918
+188997 198683
+29422 29710
+106365 103583
+125473 124241
+171053 177548
+191083 188301
+65307 59846
+12543 12473
+134830 144874
+86406 95599
+78762 85639
+60993 67444
+34405 33725
+95873 87333
+28964 27120
+21721 22271
+196421 198248
+46844 47050
+20801 19912
+188246 199843
+57762 62568
+68229 64485
+909 978
+48017 45555
+173294 158294
+17923 17829
+130471 127946
+1957 1933
+131047 120418
+85136 77669
+178827 174567
+196798 198678
+193950 196439
+77307 75559
+34792 38618
+60493 58496
+126633 117020
+141212 146970
+167431 161163
+146692 153862
+34659 31919
+64327 66710
+201656 186592
+171352 180140
+42303 40489
+198061 192157
+71972 78648
+146547 149953
+34674 37886
+50822 55898
+48232 50729
+160024 151134
+112511 115451
+143282 147490
+37488 35655
+44102 40293
+20515 19784
+30498 32375
+96335 88222
+78106 79236
+129448 123110
+171877 167553
+162949 165684
+170881 185394
+143482 133616
+118120 121877
+96117 95626
+69973 74607
+19197 18715
+100297 96112
+22193 22618
+117347 127493
+120562 111607
+177911 169467
+51374 49111
+65521 62731
+187943 198765
+151020 149766
+42251 40242
+43777 43678
+57049 59456
+178897 175246
+166779 154768
+151086 167591
+31973 33614
+14832 13880
+66566 61974
+9280 9306
+81968 75982
+142167 135701
+129212 128928
+8511 8050
+35987 39506
+58177 62623
+23704 21699
+134730 141048
+7414 6852
+148353 150840
+189661 191824
+54640 52795
+121250 131178
+141067 154991
+30635 32530
+100298 91223
+56812 59619
+132979 124411
+144035 136396
+175575 187824
+163706 169001
+205508 198847
+171836 179197
+101275 112117
+43487 42382
+136155 142855
+124090 133853
+164373 179871
+105270 103745
+129714 138311
+158787 147295
+93132 92465
+17133 19016
+87730 81952
+24572 26799
+202020 186295
+106066 107461
+201599 185756
+15923 17459
+144462 152393
+158933 150515
+164310 156079
+175368 164300
+99057 96391
+196078 197032
+186564 193718
+186294 176275
+125791 137051
+54244 53458
+121463 133561
+135861 136926
+17870 18492
+139992 153660
+164832 158698
+144073 159098
+69542 67879
+36623 37896
+50689 52836
+165779 175280
+150373 137766
+49210 48307
+74007 68847
+15066 16514
+22179 22859
+118193 119510
+185016 195960
+85356 79148
+83409 84530
+141010 154656
+185569 174619
+180579 165221
+129716 140868
+145774 135327
+140199 139355
+52454 48029
+73741 77937
+88591 83190
+125029 116069
+155166 155007
+14012 14258
+156507 152486
+210859 198419
+164112 171054
+10618 10319
+150752 157895
+85683 84324
+197844 185225
+119731 124820
+172891 161293
+110537 115142
+75826 74408
+78223 82651
+157734 149381
+141559 137999
+33162 31710
+146245 161799
+186603 180119
+195444 188669
+92577 91511
+53601 57988
+95225 87491
+13037 12154
+53903 57465
+175004 168010
+35355 36006
+191761 196379
+170305 159396
+100485 107161
+60017 63732
+79713 82398
+97339 91636
+11712 10876
+81827 79676
+143595 130921
+172913 188635
+178728 186248
+97907 102889
+75941 76112
+9444 10185
+63482 66267
+37400 36862
+155677 151373
+130046 128166
+164178 178271
+149348 141526
+75729 77383
+115335 108116
+141761 139334
+94242 94571
+182226 174285
+31789 32431
+60984 65997
+47160 47117
+80652 82714
+79933 78734
+85656 80955
+143867 155368
+7426 8144
+107329 116033
+155567 171744
+199045 191937
+50922 50623
+204186 191378
+168387 167704
+126778 125239
+77139 78685
+161459 168390
+144994 145864
+58470 61059
+193803 178636
+35608 39387
+195931 198621
+170938 164666
+72189 77849
+111301 113929
+97115 92305
+132105 128391
+38123 37880
+36781 35587
+94831 96487
+145274 146804
+8863 9291
+50918 46581
+38535 40300
+102785 105567
+88902 95322
+8689 8517
+124531 126966
+84813 84742
+108364 115738
+118987 127571
+12513 12518
+148670 143230
+26820 24616
+163658 171322
+145654 134311
+198282 186549
+9070 8589
+128680 122767
+15782 14766
+46628 45813
+75381 81209
+184921 176607
+133013 128698
+92675 92834
+85198 77833
+57697 59442
+108372 99795
+179046 184696
+28549 29762
+181709 169100
+36813 34892
+132856 126287
+137978 135061
+123910 116776
+31796 29954
+178364 181849
+11402 12443
+190539 174909
+161627 159004
+202706 184352
+147467 153497
+71722 73659
+146034 153227
+27940 27146
+162471 169722
+48640 48332
+128844 143113
+89724 97239
+154264 144921
+89665 90069
+13540 13915
+54013 53983
+25306 23926
+5703 5876
+28282 26449
+113781 107925
+99175 91837
+127544 130817
+200070 192066
+195758 196424
+151111 150085
+42682 41103
+122185 117203
+1596 1695
+147672 142348
+135690 135273
+73081 78766
+102039 112602
+195349 184253
+125160 130135
+6217 6540
+124049 120150
+127359 134827
+40737 38424
+5343 4974
+5119 4806
+34153 35669
+160644 175847
+79238 72605
+95129 92604
+24127 23714
+215667 197497
+77567 81647
+123126 113760
+27165 25572
+167415 160635
+98133 93187
+14584 14453
+135654 131671
+77153 75093
+106442 103745
+132947 139224
+16061 15584
+178345 179371
+22230 23964
+79275 79938
+21499 21136
+84078 93144
+55989 61073
+27755 26371
+90205 84639
+98142 98867
+54590 55656
+2595 2375
+192011 190707
+130812 144779
+182878 168623
+143449 144594
+193085 181209
+141281 155372
+196060 195972
+175400 178629
+83851 90952
+59918 60506
+82300 86729
+39224 36248
+200859 196899
+48407 47443
+164693 166127
+166885 185312
+81980 79861
+121375 119247
+51741 47150
+133411 125832
+86333 80948
+156424 159297
+170046 181384
+187367 185177
+112278 117888
+52051 56916
+95006 101003
+140650 156084
+144184 136354
+61935 60976
+114461 114509
+14243 13267
+162452 164623
+137199 147060
+30369 30128
+150112 163214
+52489 55205
+157989 167931
+148662 153437
+136022 124754
+142720 149674
+40013 38617
+130915 141258
+39676 37929
+171905 175762
+165041 175197
+134335 128438
+207895 199478
+11695 10935
+79605 85391
+193575 197481
+109624 109943
+96890 97184
+198657 196272
+168263 158135
+117435 112515
+128339 127228
+1530 1662
+148432 150075
+65899 71500
+134186 123430
+184131 174383
+14034 15134
+128921 138396
+186370 176544
+185896 192690
+67322 73935
+131735 139545
+86951 79449
+81614 74547
+46199 42697
+176441 189186
+158975 147177
+9765 9302
+104600 104594
+127338 117680
+126377 116818
+91303 86073
+60706 55608
+120975 132376
+168186 183614
+78160 82548
+54232 52692
+204420 191814
+96306 88069
+68188 74393
+103864 100360
+13719 14241
+5339 5478
+182751 194870
+58553 64642
+102036 98923
+25667 23562
+126651 115983
+170160 155321
+77110 85248
+10389 10630
+80559 87462
+73312 67308
+44533 48467
+148470 155223
+115641 107765
+191515 198504
+136303 137142
+393 421
+127274 132912
+58939 56320
+177672 170128
+96712 101186
+8608 8326
+30267 32724
+4136 4582
+163368 169322
+95518 98270
+184554 176845
+94634 96660
+151716 150339
+31159 29724
+21599 23132
+165490 177107
+86132 89692
+53465 55003
+127262 125312
+149050 164659
+49944 45999
+49538 46321
+10293 9534
+168401 156383
+69540 68192
+166151 166320
+45707 50153
+53085 49245
+36746 36989
+164555 179361
+77927 75865
+9299 9869
+4645 4925
+36266 33800
+7093 7413
+200912 188135
+171936 184323
+141524 147301
+163267 177259
+31158 28479
+119987 120795
+204792 195759
+77827 83572
+142551 156674
+123518 121017
+194088 188120
+91431 85395
+47663 52280
+96541 102078
+71562 77198
+172667 172564
+51074 54658
+127034 122100
+187064 194229
+76649 78031
+192516 193498
+135728 148175
+18315 16815
+130916 144803
+129708 142935
+12479 13483
+29589 30038
+84269 87805
+46186 48232
+113227 103890
+196147 190718
+29392 31377
+112461 117974
+185388 198453
+50654 47350
+29112 30877
+181290 198788
+132521 140528
+64210 65541
+23683 23146
+194264 196656
+2836 3080
+165708 172078
+155597 172300
+39635 39857
+124664 127213
+63661 66350
+189442 184351
+67635 65208
+162684 168698
+47069 43194
+166400 172297
+132020 141457
+47125 43826
+61693 59012
+203137 185789
+200808 188129
+9244 8770
+176064 180853
+68081 63092
+125625 138151
+147298 155268
+168507 176113
+124047 117235
+36381 36348
+156648 156727
+164291 155480
+44362 40393
+100309 99285
+167191 174857
+84730 80768
+41989 40463
+60549 57853
+185496 192847
+50540 47678
+98068 97512
+28760 27933
+162911 158281
+95879 88284
+111706 120832
+67530 73590
+164010 153185
+81448 76065
+128668 124239
+135566 134179
+151282 144874
+43591 43470
+121570 122389
+79011 81946
+106265 103266
+187535 188253
+23843 25821
+107105 108713
+87503 91762
+173753 188354
+45097 42491
+161524 147386
+140865 132074
+99040 92396
+86706 91408
+83430 82321
+116527 109768
+39188 41666
+58006 52994
+59333 58122
+133162 127343
+119588 124199
+190514 174534
+196376 184350
+212905 197874
+114410 110072
+194195 192856
+141486 145052
+128682 131400
+20479 19594
+84637 78847
+160102 167793
+46019 45206
+146554 154734
+198865 190220
+1216 1251
+133987 125675
+111468 122863
+86324 78617
+52376 54031
+89513 97021
+145 145
+51946 51595
+71708 68784
+119677 119534
+168894 176209
+77442 80145
+2635 2905
+108742 119371
+18713 19817
+49553 50596
+75322 75831
+118817 122696
+97599 90058
+193790 179079
+127740 121233
+16261 15239
+190048 194913
+157529 164871
+119949 112586
+70746 72784
+91573 98260
+163628 177914
+71086 77403
+185231 184984
+34253 36676
+156149 171969
+143547 158171
+169194 166780
+124294 115403
+152172 156743
+69208 71289
+178307 172868
+133430 130685
+182717 187073
+144552 152381
+61326 56930
+156084 166120
+41576 39853
+131484 121804
+5235 5426
+62569 62677
+210428 198933
+90257 82659
+56001 61434
+140802 139782
+63968 62219
+163983 163161
+125960 137960
+187391 182392
+124828 132524
+114064 125727
+187493 170904
+2262 2400
+146780 161823
+113148 119360
+144 142
+67491 70512
+142811 143509
+173388 183139
+86443 80501
+10171 10000
+2222 2184
+91860 91718
+78370 75560
+65178 70502
+8145 7933
+207617 195778
+85583 94439
+59810 62545
+179122 170820
+150410 148747
+98388 105886
+30085 30631
+67329 64756
+107754 103919
+105689 107300
+48708 51772
+74545 69042
+16880 17044
+185495 198199
+176417 192476
+84286 83752
+35494 37564
+26505 28674
+194 206
+203495 195087
+170015 155265
+122165 124568
+42813 40080
+170697 160103
+189961 189531
+85198 88568
+143114 135583
+79269 77820
+161288 160471
+85904 90249
+62027 60846
+162568 164513
+128774 122975
+93285 91676
+149497 141675
+25865 24949
+122105 120054
+179477 172463
+184838 174143
+158276 159266
+165817 176826
+85003 83430
+72598 71564
+56985 62810
+166861 167650
+180463 186322
+80668 80303
+216730 199963
+119986 113600
+136264 143403
+35681 33213
+131819 126314
+173351 176062
+94421 95895
+2486 2631
+153714 144345
+75693 80290
+160748 172451
+18445 17368
+104657 116034
+69938 74827
+56150 58118
+82556 78579
+130810 142347
+157696 168627
+158264 145443
+185847 181079
+24136 26657
+69771 67309
+6555 6532
+86403 79932
+40256 39807
+141757 150757
+162715 161697
+101799 98709
+49420 50854
+91348 89317
+33483 37081
+114909 114702
+120839 111780
+23722 25996
+158029 150198
+133207 133646
+122821 120975
+201143 195158
+72549 66795
+57558 63219
+63800 63241
+59970 56281
+20665 19862
+177748 173722
+41775 40123
+26099 24131
+113463 110912
+51806 55509
+110328 109659
+109864 100511
+129586 126745
+3687 3381
+45381 50216
+74700 69519
+190169 194878
+74292 73599
+179579 195050
+5159 5584
+167516 168245
+84521 79160
+33776 32308
+119453 114107
+62912 57773
+148113 160348
+21993 21924
+135339 136959
+48534 48833
+48314 47264
+163269 165087
+103107 114346
+47606 52595
+52849 52725
+116305 125271
+28785 28255
+98984 93106
+2329 2182
+22018 22022
+37116 35231
+109646 105302
+113512 121462
+49531 54002
+85476 80194
+147065 135905
+94252 90852
+31213 31529
+196532 179964
+69501 69181
+77387 74920
+73914 70276
+149736 142810
+131432 127234
+123718 133973
+164686 167717
+140392 138180
+73195 74478
+67593 61623
+112615 121018
+87479 85755
+103240 105325
+185972 174292
+154014 170618
+25039 24153
+18609 17104
+175084 160429
+16534 15652
+51162 52565
+70713 66455
+32464 34491
+134923 145541
+70794 70590
+180929 182889
+136582 150964
+139170 138864
+152274 143677
+84783 79513
+108787 107397
+143765 138245
+19120 20181
+48184 52768
+44409 40406
+118244 112620
+154214 162084
+58243 61031
+43501 42571
+1223 1305
+147343 162593
+104742 100156
+187750 184832
+20485 19591
+42773 46621
+110731 104281
+53784 50442
+6751 6527
+180822 178884
+115097 112994
+180753 172090
+72456 67920
+176178 168603
+154521 152677
+44841 48090
+38733 38613
+165504 182849
+63284 62745
+75718 78959
+93077 98484
+74625 69296
+1837 1953
+146511 153079
+170764 188763
+98260 99578
+9426 9096
+146124 160426
+34129 36291
+10456 10510
+197530 192133
+140152 145979
+126286 121455
+197129 192434
+116260 106358
+63202 60246
+139052 152875
+130114 141256
+172376 174054
+15759 15201
+138632 127758
+68027 71499
+171282 174856
+138671 142460
+39567 41018
+103548 107152
+208184 198587
+65952 62979
+151478 162009
+112850 103816
+8537 8646
+73589 72968
+36662 34399
+92155 83834
+170986 185946
+193209 176987
+180836 196876
+144308 133003
+131261 130325
+172947 178180
+116285 111529
+34248 35575
+157748 150587
+50516 55557
+7706 8455
+34429 35798
+127557 116797
+15133 15194
+106268 107461
+190098 187610
+153627 166451
+30585 30906
+164932 180809
+67077 66829
+129191 134115
+129798 124245
+171446 167299
+121728 120597
+70013 69753
+182863 176789
+89967 99759
+24620 24498
+130596 132623
+148813 157919
+182549 170321
+66760 72252
+108648 109540
+45243 42769
+124911 118136
+17359 18535
+96116 96806
+83455 77699
+65173 69757
+175712 174400
+126349 117738
+69585 65352
+38186 36803
+28315 28398
+37653 37232
+101133 92523
+68184 66038
+84898 86900
+37316 38177
+177125 162036
+175796 192782
+159996 152875
+97842 104850
+20000 18915
+2209 2251
+80411 84042
+53311 55169
+129111 121713
+21281 22391
+135176 125920
+106998 118484
+83813 79187
+78602 74153
+26839 25621
+155738 172127
+147532 163192
+63525 67134
+198044 198767
+69640 71004
+98775 93704
+143203 134368
+33675 32136
+27073 26418
+112620 119012
+63978 64769
+37785 39770
+6629 7216
+42783 39979
+83323 75870
+14598 16117
+144857 139664
+56933 52464
+105836 100541
+103317 97605
+178973 191479
+125152 127366
+69645 65265
+45401 49102
+120992 110129
+197422 190454
+90014 86483
+47196 50033
+101192 99895
+65465 69253
+1805 1864
+109081 109031
+76276 76906
+8673 9393
+51979 56639
+154070 143938
+122031 133398
+74107 76018
+35843 34993
+183101 180336
+133711 144626
+27847 29371
+12203 11233
+60801 56057
+159885 171804
+76517 72375
+36408 35356
+133525 138622
+22110 21984
+72454 77390
+78173 81592
+132607 142074
+84438 79919
+76261 77151
+28145 31190
+3311 3202
+61669 68137
+50836 51334
+146959 156065
+110133 106950
+133346 143957
+104902 103509
+15262 14157
+78308 84047
+207262 196837
+160964 170908
+20331 22107
+118852 124225
+19709 18229
+185658 190306
+101129 96466
+40510 42584
+182719 184843
+175827 187179
+18450 19781
+85903 80876
+125454 124182
+142853 151858
+184834 187985
+86878 87535
+44930 49264
+191285 198893
+79029 75997
+172858 182699
+126782 121693
+150784 165902
+203386 196569
+62633 67078
+41628 43850
+164833 150654
+9181 9409
+202741 185791
+139225 136529
+205130 190498
+154586 160282
+176760 169392
+198038 182578
+110638 104856
+129752 120881
+15411 16459
+38070 40281
+54997 57016
+27386 27616
+177164 185631
+159153 164124
+52197 57108
+27508 28298
+163009 172499
+156294 153787
+39719 40954
+83762 83420
+117147 120039
+211267 198368
+187678 190510
+134564 124492
+130988 122551
+1426 1503
+106132 110259
+42418 45723
+41836 43065
+19931 19508
+109673 116801
+139024 136852
+198124 187387
+6928 7625
+2217 2253
+114160 103820
+75977 70632
+59122 55791
+106916 105094
+51465 47586
+122986 134594
+178714 172449
+11731 12179
+33490 35710
+175491 179558
+66230 69702
+10991 10072
+68595 74899
+22181 21133
+63575 63470
+177927 175599
+136609 129630
+38451 40711
+102469 96786
+81298 85553
+193638 181286
+56989 60863
+188888 177621
+124378 134893
+73335 73276
+90502 89020
+115287 120519
+130014 122669
+83115 89402
+86357 95195
+122159 125854
+112190 124597
+73223 81030
+103030 99031
+148463 155132
+173027 160517
+26291 24205
+198069 196484
+88641 81646
+77665 86292
+78132 73418
+103270 96141
+142161 144553
+136792 128340
+193407 191102
+153475 146171
+135827 141197
+187895 176371
+104109 95799
+139328 148590
+30335 29539
+173442 176213
+67964 63179
+58769 55331
+27386 25888
+24972 26780
+164772 179483
+163795 175726
+162199 147490
+181186 198882
+35339 32851
+80473 80639
+150503 163759
+64403 62012
+105885 101158
+78177 77663
+163448 156923
+140621 131446
+187449 191891
+26821 26993
+182885 180896
+129956 123290
+42206 44132
+141604 129075
+61301 62117
+12490 12395
+16304 16876
+58145 62460
+141983 137273
+180166 179684
+87826 89926
+52038 51389
+33435 35254
+109273 120059
+51255 51354
+166599 184258
+36538 36384
+98709 100642
+183749 198105
+128382 117104
+161198 157157
+39453 36162
+146937 140094
+173958 166790
+139611 135965
+64996 62463
+181305 181196
+141278 151134
+78861 79305
+62588 66105
+118203 124628
+33591 33898
+69091 72470
+34039 35847
+8756 9006
+69798 66873
+202065 186393
+40363 44219
+32473 35644
+152646 153969
+10003 10577
+154785 156258
+166924 152620
+34388 38036
+73227 73129
+48722 48259
+525 564
+49705 50685
+174226 168437
+164659 162333
+191885 182614
+19883 20386
+93731 103538
+7797 7659
+38849 36123
+71016 75537
+71748 71752
+182077 180449
+38583 37082
+63662 66228
+28950 26505
+83673 86125
+118355 130159
+71587 71055
+122660 127345
+72749 66168
+122430 115846
+4181 3966
+37439 37541
+93246 103269
+15216 14799
+71941 65530
+149578 163958
+2237 2382
+133921 143817
+110518 118354
+72925 75293
+168742 162956
+150088 148153
+4761 4596
+145255 138174
+163478 179629
+103580 112369
+24045 25443
+165097 178919
+153897 145853
+16759 15820
+191294 182143
+129845 144079
+125859 127296
+193720 176621
+6629 7106
+158824 153049
+42742 44851
+99067 105477
+65538 70591
+157570 168272
+197482 197584
+115914 115276
+6741 6371
+122097 112042
+4193 4296
+48784 47941
+98826 100086
+130560 132295
+117841 116552
+26960 27452
+147339 151896
+25009 22897
+76280 70967
+53207 48712
+126441 119686
+50335 46172
+153393 140276
+145444 135115
+75644 78548
+72364 76708
+44827 41305
+68362 63470
+35928 38833
+94433 102227
+27539 25084
+174634 165224
+17625 17768
+102754 98906
+66349 71019
+95678 95926
+77181 80603
+23774 23764
+120981 124461
+12943 13217
+32174 30024
+164561 155528
+71961 71493
+173074 169917
+174157 170502
+203709 192422
+127477 130672
+106616 100006
+15539 14982
+73312 74886
+165229 155683
+99177 92226
+86100 91988
+40273 43310
+13748 13647
+87759 80387
+197233 180820
+147845 143434
+134059 143135
+71830 77796
+93048 85639
+93053 91700
+15479 17014
+179040 195241
+11899 11781
+120466 128235
+140130 150644
+9579 8865
+98395 108355
+83246 87581
+202658 191151
+32864 30757
+121148 128268
+44189 41119
+1779 1788
+91868 93720
+151357 153097
+144479 160305
+14295 14053
+137369 151590
+183113 187707
+62790 65788
+127782 136241
+25018 27719
+124782 125757
+157969 165653
+102792 99681
+142061 145722
+110630 103812
+49517 48825
+34165 32303
+92909 102476
+106763 101344
+168684 177745
+66411 61262
+74045 75281
+146563 136570
+73516 73645
+28159 30767
+31904 30951
+186716 197910
+91876 98186
+65347 67256
+57939 63863
+124693 130256
+98430 100430
+125907 129868
+176977 163573
+30885 32224
+8787 8200
+159523 160903
+79766 83485
+184045 193624
+13659 12786
+104412 97601
+140833 143350
+175609 188386
+131364 123889
+104569 99656
+185121 184592
+41716 45188
+72150 79633
+172867 165800
+209243 191111
+72143 70621
+131922 125322
+52902 50468
+70303 75967
+93760 92263
+92347 100416
+151885 143163
+198725 199975
+77994 80565
+86812 87228
+30448 28390
+95094 101432
+5046 4724
+180155 194678
+558 598
+52092 51893
+160396 162923
+146332 138252
+81061 87096
+211107 196587
+30842 30460
+19695 20745
+97841 107890
+67384 62704
+95112 89059
+134361 130977
+42451 39653
+169053 167140
+22148 20723
+34101 35185
+73981 73514
+12406 12276
+142753 144094
+45132 46209
+28861 31063
+136020 126484
+136932 135915
+37083 39747
+32423 31673
+121613 131266
+192136 179839
+90172 86355
+77532 75161
+24776 26824
+81082 80215
+110572 103862
+9172 8569
+144373 137848
+147094 139082
+97851 90525
+176098 175830
+105310 99823
+2327 2568
+102729 112865
+172820 157605
+34790 34004
+74189 75487
+77088 84358
+218870 199511
+87462 93591
+94521 94514
+99029 95737
+162162 160598
+186460 190900
+92702 98242
+111207 120788
+104418 111752
+34236 34864
+43328 44071
+13780 14935
+145165 134089
+125509 131352
+69371 69141
+121845 133870
+19346 21170
+56255 61382
+122677 117978
+41474 37807
+110934 112342
+86218 95197
+44435 48860
+179168 191130
+29660 32577
+89728 89482
+83490 89692
+132319 146713
+105202 100537
+94784 100931
+56935 54391
+109814 117183
+117537 112703
+177380 178569
+192283 178209
+9509 8907
+12574 13452
+33654 36903
+90722 84458
+64013 70627
+27975 28438
+129686 128242
+7332 7867
+131952 130907
+126842 136842
+129613 131592
+48491 51287
+21895 21486
+95141 102865
+149987 140499
+68795 74012
+196461 185409
+68215 66765
+13747 12677
+159935 150081
+1883 2084
+54020 56218
+159789 166748
+199630 190423
+138108 150226
+17282 18447
+138202 133661
+77735 79114
+69173 71405
+46598 51580
+7689 8217
+131244 137631
+116597 118085
+93891 92972
+45530 46636
+106518 99957
+124782 138448
+91774 92642
+145574 145787
+156433 151878
+186116 191280
+215319 196829
+57279 60019
+134269 125285
+26389 28338
+144610 143957
+16740 15311
+116071 113790
+162381 167499
+42015 42557
+70675 72720
+143459 151130
+140253 129499
+112775 117569
+9565 9796
+121612 116442
+174317 165099
+152284 154759
+98185 108801
+30584 28282
+159278 176368
+19494 20016
+91699 99048
+18017 17485
+37064 39751
+147405 149653
+200308 187812
+146815 144068
+184772 186169
+195115 196364
+147624 155370
+7714 7529
+78131 82550
+109176 103330
+127842 135033
+140944 140382
+99908 107675
+60135 56159
+136485 137881
+42942 46944
+177090 193326
+67978 69639
+191183 199197
+168269 162759
+146387 146078
+169254 174230
+155458 147619
+101802 108613
+41294 40965
+82319 86465
+190362 180368
+57157 53476
+48527 45479
+58913 64121
+193332 178646
+20545 20619
+97003 99122
+87415 91368
+154864 161007
+151969 147319
+115967 114814
+160840 171507
+71622 71968
+131395 122819
+183071 196492
+106531 110840
+152256 160825
+94244 104674
+48516 46345
+162809 178127
+169519 170130
+37636 36641
+172222 171593
+82885 82187
+42047 41485
+88303 84328
+115183 108430
+145329 156344
+171474 190296
+198474 191287
+156098 151424
+76315 83292
+78644 87081
+14477 14187
+175165 162035
+169813 155767
+146673 137282
+91958 92792
+46405 51174
+24988 23940
+54340 59116
+71263 69549
+89986 89920
+1790 1976
+128968 130621
+8458 8373
+121794 123475
+24943 24576
+83085 79252
+163892 164626
+187321 193307
+158925 168964
+62411 61785
+8609 8802
+135321 143357
+62776 67304
+199238 182272
+170629 166620
+41090 39626
+169701 155975
+13519 13828
+66557 62929
+187736 199227
+148180 137784
+177482 179629
+32110 34605
+165488 170548
+213075 194187
+16523 17740
+44996 43764
+125981 123523
+38762 42506
+63220 68796
+55698 54471
+80917 85023
+41325 41274
+46434 48545
+68252 74527
+159232 151275
+144983 156889
+23126 25321
+119934 120910
+153592 160946
+5167 5343
+174916 166543
+156910 150467
+327 298
+36530 37439
+31449 30741
+89871 88964
+102973 100915
+20453 21989
+140968 146695
+116349 108595
+22691 23191
+133668 131702
+146401 137084
+120113 131338
+140351 151561
+17274 16853
+6809 6870
+24516 22945
+28621 28328
+109920 115802
+103917 108222
+145881 135013
+159309 165242
+89099 82778
+73399 72619
+37924 35552
+32161 31027
+187479 191076
+163649 151705
+105381 117046
+45696 44462
+87514 82240
+191003 196436
+101968 97315
+138643 143087
+35114 37231
+104406 103020
+46319 45631
+106272 103529
+114628 123951
+13851 12864
+76964 83324
+195366 177907
+78570 77110
+54902 52341
+114013 126500
+96893 105747
+142116 157364
+49860 50878
+171606 182301
+213289 197941
+92491 84755
+1178 1171
+14193 13350
+150607 139890
+2575 2808
+197366 181435
+53301 53977
+3194 3404
+127141 126785
+70476 76996
+90350 97065
+32814 32302
+125165 119174
+183697 177927
+36055 39267
+164484 174189
+7281 6809
+197581 191783
+119437 117614
+158736 153035
+52336 56136
+154664 143824
+179347 164556
+186525 198833
+160622 155416
+55829 57657
+62903 68185
+161563 170545
+83847 81801
+127154 123300
+162719 177480
+116014 105932
+168864 154006
+55547 56603
+10688 9963
+19332 20583
+185364 172723
+57565 60146
+158668 170282
+177460 171797
+48577 52943
+193230 186633
+191231 185032
+139051 134674
+89533 86418
+74545 82697
+123840 115234
+106706 98052
+119764 130461
+73291 72164
+64938 64369
+92828 102970
+186772 175950
+138314 130710
+174798 177349
+92728 91118
+198469 183931
+17800 17320
+148858 136329
+108678 111493
+51096 55732
+180725 196585
+4873 5252
+60709 59019
+73694 68803
+187033 184565
+90985 98067
+93047 99320
+181108 192876
+82531 77040
+192255 189042
+149004 135727
+119043 118639
+146209 153801
+147587 135474
+185747 182972
+87296 85763
+38950 41913
+120463 111489
+88898 90323
+147326 158107
+75354 78595
+157629 172007
+117357 108310
+194003 198818
+121443 127220
+6346 6853
+135671 136525
+43538 47680
+12227 11361
+53120 52181
+105306 98924
+179582 187796
+145842 153773
+48422 46447
+27282 27218
+63631 60921
+141882 152194
+196353 180032
+13314 13830
+15014 13827
+70095 65621
+135264 134097
+8473 7738
+28912 29633
+64549 65828
+34710 36488
+78026 85642
+47259 51258
+17960 16953
+29045 30944
+3478 3387
+31390 30386
+121786 119846
+96685 103217
+145745 137278
+170135 162083
+9403 8967
+107097 114412
+21425 22188
+115302 122246
+177585 188293
+154370 144221
+39403 39241
+93201 89482
+127076 116368
+44568 45225
+29039 28546
+68884 69273
+56688 55906
+207481 198223
+106401 102065
+134035 128471
+116829 126656
+24434 25577
+19200 21334
+58198 62948
+21715 21497
+112341 120233
+78354 85789
+60903 55447
+139989 141030
+191456 184286
+173122 179292
+167944 156418
+32878 30378
+82812 87278
+129016 132051
+93929 96306
+83579 87410
+158655 157275
+7822 7595
+115322 116590
+176026 172404
+73109 66753
+139152 144378
+144443 158645
+63967 65137
+145033 159251
+152767 166395
+149581 162242
+2800 2868
+30875 33123
+42379 42072
+171280 184137
+33843 35730
+207293 193240
+77301 71458
+48992 54265
+162851 148329
+101448 105975
+133178 140628
+72708 68281
+48181 48099
+79107 82844
+70510 64405
+186115 198956
+44002 43570
+27194 28160
+105617 113332
+29651 29103
+26784 25491
+132262 130162
+211838 195180
+57196 52184
+64082 58317
+185860 189408
+4931 4895
+75463 82998
+121406 128048
+67863 66317
+106252 105117
+94138 96341
+27585 26905
+91712 90585
+13970 13724
+156836 167481
+142450 136170
+49909 46271
+137937 147902
+19025 19743
+84779 90771
+3119 3344
+55800 55504
+80012 88833
+86729 87118
+205020 187898
+196211 178631
+81801 75728
+146805 135836
+158425 152708
+156339 166530
+106233 114617
+87896 93387
+65567 61393
+113708 104525
+163516 164003
+26669 25521
+97087 90266
+175725 166682
+14673 14509
+96512 106415
+91648 87158
+32323 34759
+68126 65906
+181766 191664
+77191 76372
+14074 15004
+201520 191110
+23359 23017
+75746 77501
+82298 86795
+89343 85239
+129517 136600
+114550 113556
+144320 154224
+85898 78734
+131615 127367
+160354 163607
+6099 6481
+82092 86414
+99151 107081
+60857 60573
+94269 102621
+213783 197425
+76776 76921
+179182 194391
+112225 117486
+126545 123376
+104573 111231
+110625 105425
+123233 113160
+142444 131065
+140250 155596
+82205 84847
+98412 102937
+49859 54520
+70745 66586
+116195 106994
+189951 198265
+144927 136656
+82948 75887
+44249 40435
+55909 58409
+109979 119137
+50115 46936
+7626 7204
+166705 154902
+36438 35714
+17894 16432
+154322 149908
+175494 173524
+42065 41349
+108944 99352
+132514 146921
+163028 171684
+136362 149239
+161211 173246
+201032 192933
+11493 12464
+102785 95262
+14750 13912
+114547 112995
+16921 16524
+103870 101755
+168763 154855
+125061 129432
+87190 88693
+6836 6408
+191695 190135
+185896 175124
+12810 11987
+63274 66873
+162657 168411
+46232 48128
+175835 195064
+80666 83260
+115224 124467
+120936 118240
+61878 65759
+63116 68858
+131621 123559
+114444 124560
+42516 46576
+11067 10197
+131171 121002
+45615 45128
+126521 131000
+86081 90986
+60076 59321
+58665 64474
+173898 184051
+72316 70222
+142866 157020
+97613 89904
+113830 112708
+135278 124947
+59820 60706
+94726 88208
+55981 59833
+205329 188865
+83442 83814
+18518 20506
+174236 176969
+75920 75935
+78744 77518
+58198 55557
+130684 122647
+59444 58473
+46575 50695
+121704 110759
+33982 35502
+170452 163033
+166848 157708
+104316 99628
+47183 51972
+45075 43424
+5230 5279
+135234 140380
+44809 49465
+18618 20395
+155810 162124
+169707 172631
+176491 184535
+62877 63520
+169328 187178
+107328 106905
+143041 143505
+158865 168096
+48487 51290
+119726 115832
+3189 3077
+151584 138181
+82974 75464
+56076 53539
+65908 71804
+166913 177954
+33618 32807
+33210 34914
+89826 93862
+74639 72008
+87830 95991
+18264 18586
+147098 140001
+75939 79613
+21442 20032
+164644 159944
+50749 50289
+205348 197380
+202465 192662
+204722 186882
+153553 168454
+146857 161433
+19094 18004
+33408 36923
+132396 136315
+193100 188916
+175721 194211
+189649 190718
+52098 55122
+60975 64003
+6452 7090
+71516 70064
+85400 92410
+59984 62001
+157850 156988
+178895 182479
+200365 199947
+143263 131812
+62596 67655
+171636 167095
+29909 28871
+85321 79352
+551 545
+81259 84697
+208575 192728
+109567 113670
+142242 145507
+176179 168707
+73875 80086
+11927 12065
+165859 165872
+102794 97885
+14995 15360
+115625 115477
+48999 52020
+3308 3432
+170887 164287
+134339 148649
+34717 34790
+85930 79102
+55794 51304
+9158 8795
+94536 95240
+179258 176407
+128937 126456
+79501 79912
+179264 178404
+192555 180736
+144543 149720
+105643 104195
+161776 161358
+96347 89635
+65208 59544
+17790 17050
+53995 57062
+78645 75331
+177035 189621
+1781 1942
+60676 64532
+200918 194942
+58392 56212
+181784 179929
+7380 6732
+55429 53771
+21655 20742
+199717 185279
+112716 111818
+51995 51771
+123864 117380
+155237 165407
+118349 126996
+152202 141178
+189932 182771
+8 9
+39465 43005
+52543 51085
+82839 87711
+15172 14792
+87254 83869
+142575 139540
+179808 170496
+120973 119903
+45824 48411
+51751 48262
+153483 140857
+169175 177357
+16294 17189
+27740 28537
+200589 192150
+3480 3594
+2930 2740
+89292 95513
+79276 73611
+64500 63561
+120981 122059
+89844 99309
+54915 57337
+33913 35254
+65981 72439
+89782 91223
+176279 175466
+118324 116023
+199081 199437
+101988 107026
+150265 156626
+197247 192749
+41621 45680
+89906 93044
+55648 56334
+113328 109810
+80419 80266
+113585 107883
+108148 107238
+16018 15769
+563 591
+2891 3010
+124582 122508
+68867 68274
+53273 50624
+114619 110106
+15826 15899
+105882 102853
+16108 17123
+136410 135347
+46304 47450
+24786 22676
+183697 175053
+11289 11810
+18275 17273
+183185 189979
+30596 28378
+75755 76826
+211601 196369
+18608 19729
+75795 78577
+12733 13477
+131687 136806
+119325 130534
+155028 149186
+60654 63210
+95190 92965
+181963 194309
+210931 196809
+107845 105254
+128174 118504
+169721 167377
+121194 112650
+5646 5236
+160217 153070
+12817 13673
+42793 40532
+154930 154887
+21619 22757
+103150 96997
+180723 188608
+88586 93037
+145686 140514
+138262 142808
+20408 22193
+79417 72907
+110779 107365
+3923 3598
+79499 72916
+211327 196389
+132495 130008
+141847 146381
+116934 110495
+148592 140948
+43455 44366
+26758 25045
+34297 34387
+64593 69263
+66532 61638
+64138 58978
+119661 130042
+148859 136101
+63480 69158
+140504 133862
+199033 193515
+184614 176383
+156099 173314
+120543 122449
+111836 120964
+27861 28064
+46214 49428
+40029 38923
+79225 81772
+21032 22886
+162935 177859
+74089 67638
+32112 33624
+211070 194888
+103870 102750
+54004 49198
+104885 115652
+45369 44759
+147927 158176
+119796 115722
+140827 140983
+172627 170239
+122004 114219
+147196 161498
+179317 188674
+88927 86725
+131254 138063
+128850 130856
+89707 94335
+142378 144392
+79346 73858
+69265 75513
+61352 59219
+162277 179649
+106811 98662
+183698 193995
+47266 44910
+167777 177477
+170580 174152
+91299 85206
+12822 13831
+97773 102335
+1669 1564
+70374 69517
+60182 55522
+164593 150648
+15384 16708
+62801 62748
+82396 87308
+154348 152657
+47844 50504
+165128 161897
+14841 13722
+127692 141061
+137536 141021
+193781 189396
+84783 83056
+71758 67305
+42616 39776
+146882 139384
+8666 8694
+79770 86254
+179620 180633
+81829 74986
+186028 198626
+6501 5979
+146046 152443
+158604 149303
+174336 179890
+119625 118485
+4754 5280
+159666 164135
+5276 5232
+92938 103128
+182132 176270
+165727 176446
+161995 174190
+158781 158204
+84030 77878
+9145 8887
+80791 80841
+35235 37363
+158250 144177
+7634 7241
+126793 139368
+87202 85255
+164767 173955
+33491 33252
+54366 52860
+57681 52766
+44845 43546
+142835 133234
+5793 5439
+26599 26359
+144327 139854
+117421 129432
+85706 91831
+181864 169324
+24809 22880
+25842 27316
+95533 87025
+100460 95408
+99689 106172
+153127 147358
+22591 23176
+73640 78672
+16393 16569
+152256 147945
+148492 151069
+54340 52468
+133062 127445
+205824 199392
+33715 32670
+172548 171484
+54179 59963
+185056 170507
+118492 121089
+176610 178084
+38684 39038
+27315 27049
+178975 165703
+23253 25090
+68984 73693
+4730 4534
+9133 9787
+71628 68741
+27403 29631
+161507 162596
+184287 185010
+55796 52693
+154901 156406
+118885 121379
+21158 21963
+24545 24567
+182672 174654
+28344 27034
+123371 124974
+109020 111624
+175075 187196
+153633 143853
+45863 45006
+94762 95231
+3275 3584
+125129 133495
+120264 121961
+42052 40877
+103419 107397
+178669 164239
+13185 14532
+10618 11389
+26287 26670
+126142 115844
+95718 94961
+193280 194870
+10789 10377
+90914 98467
+171044 172106
+27952 27702
+152972 166605
+120000 126061
+167454 183349
+49427 45238
+89773 89181
+114782 121187
+24240 23072
+47499 46602
+128445 126084
+186084 178364
+81537 76099
+132172 143072
+98349 104952
+113986 111211
+88397 90979
+86862 88765
+211489 196824
+201353 190875
+187595 175434
+60786 59013
+158499 157104
+134415 144820
+178436 193298
+148194 137650
+90339 86578
+83762 81109
+63978 60377
+76126 76953
+170182 170685
+60753 61081
+148929 156620
+35278 35050
+51554 54935
+131429 120469
+116013 116766
+12665 11886
+170411 180340
+5110 5525
+110797 121487
+28764 29577
+142399 130990
+44711 45860
+70234 68071
+41924 43703
+63752 62476
+113108 107458
+13922 13241
+178849 193040
+59883 59965
+153673 148397
+64133 59427
+167854 162949
+72480 71452
+90800 84379
+19779 19914
+35165 34018
+146456 159083
+105376 102396
+63879 61600
+156192 153356
+41898 42393
+208308 190714
+30719 31840
+51947 50946
+143180 140798
+170313 169401
+59332 58317
+131499 139550
+20497 19932
+9858 9689
+158393 171128
+212778 193939
+134656 141853
+198137 198641
+46312 45625
+39089 35758
+156920 171993
+61481 65619
+25355 27635
+185883 181142
+133097 121615
+141307 131277
+75895 77458
+109520 120461
+19504 20584
+62481 64547
+2207 2189
+65103 71854
+191254 177273
+72400 73559
+138854 127910
+117198 123439
+131716 121343
+84729 78563
+174507 166502
+29674 31198
+162407 168610
+101525 100668
+16000 15396
+155454 148582
+165956 154932
+87744 92750
+164696 182333
+167075 175689
+92081 87025
+38844 38404
+76589 82778
+21492 22372
+50815 49151
+124473 124734
+125950 114799
+47548 49263
+103747 103340
+84165 86106
+32446 34935
+108969 118780
+99649 102069
+123340 121005
+157637 155067
+112047 106230
+139573 140091
+96080 88009
+22777 24394
+45157 43233
+40593 37965
+162039 167351
+43130 47360
+85801 78046
+119850 110050
+29707 29308
+76467 73601
+112840 113509
+78295 86173
+141648 130453
+26833 28284
+193649 193162
+84616 88393
+34940 33020
+36515 33578
+126886 118650
+75708 80349
+89297 85922
+85240 80653
+48274 46653
+104357 109623
+62237 59381
+28123 29491
+202011 195315
+170136 184290
+176908 162713
+89327 98803
+48261 52697
+21947 23633
+86512 82288
+142778 145389
+102254 99203
+113796 103779
+166990 184660
+15890 15051
+244 225
+28874 29407
+207919 195161
+45272 44228
+198407 183612
+5779 5367
+7585 7950
+179430 185877
+125848 117431
+35871 33607
+62072 64442
+83231 86472
+94675 86352
+168629 164756
+159709 168288
+64180 69550
+65113 60126
+145571 154126
+47915 45053
+207277 192102
+132567 135506
+79954 82384
+91346 92871
+120918 129942
+198141 185912
+133571 145117
+11450 12205
+29070 27886
+143408 140340
+12674 12450
+24735 25179
+129568 140074
+126514 121927
+113008 121721
+142768 154996
+50788 51854
+116151 127242
+139855 148321
+49897 52632
+153424 151273
+99261 97263
+168479 182728
+4253 4126
+139460 153108
+10935 10565
+93910 90755
+54831 57752
+71960 68466
+17027 18546
+55952 54994
+75295 70291
+135521 150064
+28932 27128
+27507 27103
+53663 51734
+9446 10371
+85247 90930
+175935 165053
+95516 103648
+142936 154094
+28842 26454
+103867 109866
+116598 125867
+129886 118715
+101817 101042
+132857 134415
+49305 45549
+113143 105407
+196863 179760
+44555 41084
+50518 54228
+5748 6232
+207461 189588
+209373 198638
+20742 20999
+132750 131824
+89986 90682
+149286 136139
+204695 186537
+169807 161977
+35985 37402
+160977 172131
+159346 152151
+198333 193584
+79013 85510
+873 814
+72033 79398
+101153 96476
+102215 103656
+11512 11281
+108682 105128
+169734 155725
+55710 51142
+183396 171611
+76583 75557
+19896 21663
+173575 163584
+28382 30913
+36425 33828
+71054 78518
+89788 93198
+72325 78632
+147756 137569
+99980 106306
+98514 108036
+75503 81049
+92724 94934
+67559 74746
+94883 91599
+17849 19084
+41560 40180
+113731 109090
+108888 114166
+181657 193376
+125548 125160
+90831 98822
+15724 15067
+73775 79006
+70777 67736
+4690 4606
+154935 171258
+53536 55675
+144289 145829
+144325 158378
+123779 133799
+60791 65812
+100234 95465
+154273 150005
+78179 78225
+21980 23281
+152898 154680
+55559 55124
+139899 144259
+176017 178244
+116706 124512
+183446 174534
+25337 27935
+175524 185897
+19390 19370
+131013 138386
+47792 43811
+39187 40165
+79674 80728
+191578 190990
+147705 163749
+43877 46313
+131644 139815
+143377 134420
+41565 41752
+134951 126350
+81927 81356
+132732 147468
+108856 99847
+12695 12696
+102519 97273
+11772 11302
+124300 115223
+32704 35957
+157143 157910
+45173 42014
+128127 136326
+89048 90237
+194136 186570
+84524 84345
+85389 93104
+127321 118257
+84255 83121
+13995 15108
+96710 94918
+124087 119421
+57641 56612
+103922 110810
+130580 120087
+63679 58807
+43461 42743
+28784 31580
+60663 55688
+110036 109920
+14622 13748
+24448 26360
+164065 151005
+60489 61792
+33729 33122
+167264 174116
+70100 73072
+7271 6987
+86201 89538
+88958 89953
+139325 142390
+7871 7456
+148658 143245
+48819 52730
+60868 64511
+19434 20806
+151155 147321
+118295 118852
+32653 31284
+148678 147726
+41905 45875
+183627 196062
+124779 120793
+48781 48438
+104848 96740
+5642 5936
+25309 26442
+89279 93474
+92273 100206
+33602 34221
+39193 42367
+178125 184547
+92515 90286
+152467 157266
+190838 178378
+31296 31025
+162585 165177
+52391 48166
+161079 176213
+35007 31986
+178587 163808
+96062 100282
+74758 73190
+186716 179571
+152660 165806
+109831 120808
+124497 113820
+134665 139563
+110530 111718
+96574 93334
+47559 49649
+124578 117948
+68171 67975
+39642 39346
+96601 99383
+138822 136243
+179052 189322
+95401 96052
+148084 136989
+150994 156293
+84523 86112
+25849 27745
+179045 170729
+138902 129042
+83816 80502
+20924 22147
+125202 138365
+161455 162468
+94412 98994
+141045 131508
+5415 5653
+78617 75694
+158860 148660
+178907 190418
+159074 152068
+39362 37326
+19897 21720
+35516 38985
+135603 132348
+7810 8461
+158471 165425
+23130 22926
+28724 28100
+122918 117595
+115285 105613
+11742 12640
+167463 178817
+79246 78357
+174604 160501
+168712 182535
+76549 77680
+63939 60481
+131323 135787
+57036 63255
+92103 85031
+66541 70670
+188372 179947
+2255 2219
+135775 140505
+110702 114263
+7504 7276
+48552 51499
+112059 116561
+139413 135582
+38250 36190
+48137 45832
+23192 22003
+142955 154450
+200973 191276
+119653 130045
+195556 177984
+184193 195787
+27537 29817
+121566 121614
+159817 161680
+12186 11467
+174290 179620
+9410 10313
+35396 35543
+181490 196604
+155597 151941
+121106 119241
+110210 101090
+16230 15030
+29511 30063
+50462 49136
+66474 64025
+135046 136887
+149682 136174
+121349 129770
+24704 27324
+98388 106666
+53435 56776
+88726 93806
+42407 43368
+68663 71715
+34798 32830
+54539 59197
+157378 160209
+103704 96159
+60092 61257
+75261 73571
+84895 81927
+182153 199686
+28892 26911
+191826 177075
+44586 41203
+18281 17450
+13788 13805
+87004 87053
+127753 137496
+178689 182087
+119159 114332
+41881 43290
+178776 197524
+56929 57603
+142605 147725
+79521 75211
+110444 114590
+131665 137901
+145059 139999
+128105 120159
+13362 14023
+25376 25343
+73776 71078
+143335 146011
+71717 71035
+109195 112541
+196590 179187
+174066 185617
+137203 148287
+76770 80277
+140323 152784
+149088 141980
+21332 21490
+180224 177182
+64897 60482
+189428 192672
+161218 172109
+38741 38043
+101605 107719
+57361 62412
+27663 27237
+102074 98391
+87984 88151
+21428 22041
+188623 175141
+131781 121865
+35674 34149
+142448 138633
+1776 1687
+165380 156623
+116385 118493
+83683 78506
+38791 35546
+174903 181108
+193145 198885
+177084 163091
+149839 146410
+203275 198891
+75085 73501
+141453 152420
+115925 115164
+150228 138195
+184437 183585
+146056 136391
+27664 25440
+157781 144114
+154762 155523
+150512 155059
+160730 164224
+153337 160892
+50690 47635
+148568 149093
+46589 43293
+80672 84620
+100170 104409
+93754 91110
+71440 65719
+196614 179495
+72128 77335
+73629 75274
+32749 32867
+72279 74941
+76415 84425
+107181 106221
+46751 44436
+22381 20457
+2270 2278
+148914 154741
+9713 9556
+216873 198894
+133701 135198
+50760 56212
+134414 149065
+117925 117817
+52350 55899
+10948 11653
+165483 168499
+64518 60452
+150638 166722
+18310 17996
+42043 39594
+168273 183086
+146892 139377
+27441 30136
+10142 10529
+100286 96645
+7951 7232
+148250 163298
+128079 128359
+63949 67582
+181764 185666
+42292 45677
+111846 113699
+3856 3609
+3862 3779
+95079 98566
+15784 16085
+86786 92543
+76463 81288
+137063 141730
+104745 112346
+27466 26501
+50701 51924
+119692 114500
+101470 100518
+153280 153641
+150217 144223
+187866 172278
+172279 189576
+37946 37457
+80396 74206
+160373 160844
+62785 65963
+178915 169873
+96141 93824
+101662 112679
+4694 5201
+97655 104803
+100450 96429
+116625 121005
+187800 178840
+65067 70574
+185209 173063
+44427 40979
+151216 157751
+145539 150337
+180357 170666
+132526 129493
+147584 155711
+33457 36118
+123515 122221
+32071 34106
+94025 91611
+121634 132817
+65270 68575
+163034 171858
+161824 150610
+25051 25985
+72418 72205
+6477 6585
+71372 75266
+183957 168603
+31241 33848
+28610 30547
+130248 122788
+18720 18884
+49671 52513
+31589 30608
+56950 52557
+40084 42373
+96757 91903
+169107 168871
+156213 171624
+160161 173142
+157106 160325
+86296 92444
+90568 98302
+129145 126101
+15749 16670
+19453 19963
+100100 110832
+175754 171981
+33211 31346
+196575 180316
+157861 145913
+60684 64562
+156670 143457
+129167 142431
+41797 39470
+130926 125729
+45637 44100
+106270 106223
+19080 19903
+114901 125730
+190295 182128
+100358 109249
+60151 58293
+186965 197159
+57905 62132
+79311 72851
+109027 99123
+64252 61452
+92795 85335
+67251 68015
+1786 1848
+128313 133015
+180020 185757
+50689 53799
+153725 142041
+162226 169526
+142629 143937
+51726 50136
+95315 87368
+133064 129861
+153170 139514
+65584 70889
+144353 134161
+105694 97224
+203813 193591
+149147 141579
+29064 27289
+33212 35242
+42779 47140
+90157 91192
+143843 150880
+78540 80838
+30736 28261
+187711 181749
+96626 99197
+133164 127068
+26935 27480
+184713 195153
+160305 154022
+116210 106904
+156332 144533
+131443 128614
+66732 61863
+103230 93904
+85923 82926
+3316 3541
+41485 38951
+177691 162308
+82096 76337
+154856 153164
+33220 36648
+139052 149982
+47506 44963
+11555 11136
+103175 94214
+179508 186289
+67256 61892
+97819 102901
+42063 46388
+95732 104124
+75530 73871
+131268 124019
+183906 197828
+26803 29606
+140516 149944
+58087 59408
+93364 98653
+150841 167041
+42292 44142
+54143 55594
+156933 152132
+57067 63112
+63501 57880
+21080 22443
+165563 170582
+153560 149218
+199992 196634
+122306 132613
+57216 59593
+139454 130015
+44468 48847
+64408 67318
+146932 146032
+94438 102711
+126980 127053
+186700 199363
+29174 32374
+6981 7632
+35557 35110
+786 765
+129225 138655
+36654 37367
+45109 48099
+7630 7425
+182216 192460
+124158 120419
+128346 127305
+113204 124017
+40267 36853
+145552 139318
+199326 191381
+183519 168190
+71649 69934
+91899 87997
+73669 80513
+29415 29855
+57963 53604
+73703 78573
+145359 155327
+101784 106776
+111721 108703
+127632 130150
+177806 187962
+39623 38902
+74323 69632
+152883 146417
+193572 196314
+87656 94223
+63892 67457
+100109 101507
+90503 87422
+84224 78341
+179407 163898
+75158 78330
+164714 174593
+173756 189377
+30192 28631
+169005 185116
+94473 96823
+154330 160825
+130451 127140
+99984 99677
+108744 108526
+51257 47532
+169702 163204
+110743 116055
+183195 169648
+11460 12386
+119309 112499
+38338 38864
+111135 110653
+189424 179758
+184166 175113
+108846 113018
+36277 39123
+113658 116206
+174832 175223
+21202 23532
+33114 33639
+210245 198279
+203204 194825
+34151 36523
+90379 89259
+57585 59115
+212485 197348
+180286 175205
+42957 39560
+170590 155412
+166013 154951
+110312 111730
+185933 194402
+24798 25992
+46778 43979
+165640 159827
+105284 111449
+97302 104212
+45328 42917
+136398 134197
+39620 39876
+104431 103443
+46267 50528
+25670 24364
+90558 84405
+45955 46503
+114734 121766
+107372 100666
+50648 56249
+46347 45179
+116205 116790
+176928 176583
+188290 182167
+55071 50825
+149538 139564
+124028 113704
+156194 160014
+437 399
+190695 179837
+19716 18394
+34438 32985
+205596 189978
+26051 25721
+189024 182469
+126693 134764
+56741 54141
+16451 18058
+105097 115323
+49712 45365
+212653 196696
+83259 87473
+12580 12152
+6066 5726
+18727 18963
+148619 147278
+14845 15969
+78583 84487
+15682 14498
+44297 44758
+99478 105927
+5968 5582
+67912 68736
+78374 74204
+131884 135139
+187393 177352
+125689 138805
+170459 178698
+57642 54041
+56510 51398
+138866 148562
+5873 6182
+55586 50679
+151531 143763
+107809 110578
+67855 69968
+95201 104628
+171231 159859
+162919 169529
+172828 173376
+22615 24243
+76962 73955
+70528 68566
+173631 158538
+49570 50943
+211985 197021
+23833 24514
+175166 193499
+112812 117710
+62241 59090
+181193 166143
+180892 186939
+183706 187776
+85792 95151
+117428 117083
+15611 16650
+25191 24607
+91275 98907
+207379 194989
+56018 52548
+70968 77087
+175185 191029
+97945 97876
+69177 66239
+117823 130076
+169776 156567
+52676 54589
+136211 131370
+157206 174048
+28684 29271
+199603 184475
+192866 182414
+62026 60572
+144746 143171
+10242 9518
+56167 56974
+145238 155115
+9374 8674
+5739 6015
+114829 107560
+135641 145940
+155828 154487
+19344 20959
+77639 71474
+117845 126663
+186110 171391
+49218 46957
+161762 167775
+11618 11356
+39218 40815
+196345 185295
+70345 77818
+80385 83161
+191853 193145
+85571 89461
+89469 93352
+148956 147242
+92249 86917
+22120 20634
+179563 164648
+78652 80552
+155660 161402
+34840 34116
+186611 192211
+21374 20245
+96096 93940
+161845 150785
+122466 129565
+58302 57628
+128794 123277
+186555 193130
+129205 128468
+76514 74963
+85339 94678
+40147 39778
+58907 59166
+68169 72633
+52334 55836
+52663 57429
+174228 159997
+55742 51450
+111887 121445
+171244 181499
+168030 168076
+72486 69992
+94969 91186
+28533 28308
+112148 112640
+114412 113793
+51417 54461
+62576 66411
+102781 100969
+185959 180526
+165377 161913
+153048 151252
+109496 105008
+167944 163519
+106997 100503
+51115 49711
+105200 99481
+125714 132017
+56430 55549
+96662 88165
+186777 174144
+166490 168042
+139917 130062
+180908 196072
+5815 5597
+48064 46137
+19141 18151
+127451 121908
+8795 8770
+139508 146776
+80048 80925
+54541 57682
+151798 139609
+188818 191339
+45108 41281
+99770 105810
+111477 114920
+68747 70593
+97191 92574
+78467 71757
+165120 166030
+112728 109583
+115988 124983
+41285 42923
+108352 115333
+32985 30138
+133698 143179
+189227 196184
+63155 65760
+9189 10059
+73296 80275
+62890 65870
+84390 92619
+82933 81210
+99652 93504
+91705 87376
+184606 192976
+178560 193381
+3808 3711
+75730 76586
+172661 157774
+18437 17367
+84009 80246
+131953 137460
+111030 120897
+53488 50052
+164934 180294
+95124 93198
+32844 30463
+131578 136137
+201887 196168
+13039 12899
+125359 123767
+46676 47918
+118561 121810
+69265 72487
+192838 179633
+200798 190821
+157623 170289
+71945 69851
+153138 141010
+194110 186698
+164490 169518
+190352 193222
+43588 45783
+137335 136098
+72207 72587
+14324 15738
+32174 30998
+102427 112606
+162678 164805
+122221 128854
+14025 13250
+85217 81111
+7658 7761
+69995 64960
+94842 102182
+182876 196625
+112288 103840
+126277 138601
+77165 75558
+50034 54777
+99660 91357
+93490 85579
+1768 1667
+52545 56553
+85365 90859
+29135 28971
+45916 44245
+74005 69665
+141140 145449
+164130 155672
+72674 76368
+65330 59405
+202999 196975
+56371 54700
+80812 84161
+180271 198275
+41255 40208
+176544 190024
+26509 28624
+52211 51267
+30782 30040
+131440 138521
+139237 145470
+169646 188023
+166160 154701
+43429 44823
+82525 86758
+86996 80434
+199043 182512
+93167 85954
+20448 20925
+70036 70579
+42620 39547
+122549 117349
+134622 141715
+76453 70048
+33133 35489
+22 21
+66095 60625
+125180 121101
+87716 85906
+25472 26609
+112266 124666
+140301 144117
+69930 64182
+59626 62945
+59885 58028
+162652 175549
+146511 137839
+210193 199128
+74376 69470
+184227 174133
+63203 61017
+176772 166163
+75406 81249
+100831 105304
+154984 161612
+110467 120409
+162037 164129
+141973 141064
+61070 65366
+48827 46587
+63264 61859
+37244 35605
+82778 83522
+63946 69011
+52720 53062
+173331 189045
+79358 74261
+171302 166726
+164757 151364
+169961 161418
+147648 135309
+50382 50052
+79366 72623
+55735 56417
+161934 148579
+152046 142212
+188867 181174
+179449 187183
+196423 178759
+142599 137866
+148079 143647
+131656 134996
+202693 196264
+13688 12515
+110001 116428
+106312 109785
+112188 119339
+64936 71973
+88250 86776
+123571 134067
+79788 87025
+130484 125361
+28625 28473
+198577 189119
+25195 26067
+91061 86835
+48606 51965
+51924 47494
+143239 143911
+47601 51102
+144537 134542
+197474 185656
+70380 74682
+88881 95985
+170748 180432
+151172 167410
+116364 120597
+76266 82742
+96182 102080
+24228 22266
+192841 189497
+37270 40256
+117382 114036
+3104 2943
+108657 98789
+174293 159594
+185730 181023
+84213 83995
+186946 173645
+51157 54940
+55989 52427
+162387 164114
+74195 80290
+34794 35975
+210634 197662
+60369 58642
+219380 199630
+56878 62181
+146715 158168
+112035 116211
+191775 177014
+20232 20028
+74937 82513
+91577 91894
+73197 71608
+107000 101594
+21757 21181
+9837 10376
+46541 49900
+13030 13207
+159949 176809
+30064 32509
+197790 189477
+13601 12631
+101529 106300
+138528 143191
+143750 143727
+158551 168263
+84524 77177
+64812 64894
+18035 18960
+22178 21662
+159732 171705
+67412 68934
+8209 8712
+1609 1627
+195975 194227
+204576 199214
+128068 139602
+163224 160138
+104924 109366
+59211 59101
+189011 179491
+101236 107265
+19823 20779
+6900 7269
+17541 16680
+4637 4892
+193212 194965
+117518 129410
+49861 47945
+28844 31495
+119205 129170
+81351 81497
+198788 190634
+69788 74162
+135606 133337
+1635 1531
+195433 189478
+76318 77531
+185107 169787
+192362 198113
+209939 193876
+18664 17866
+69999 75875
+139398 143343
+139174 135492
+90531 93902
+26274 28312
+123582 134387
+176620 193920
+76509 70018
+169419 181176
+27476 29476
+16375 15501
+82849 91916
+95287 94013
+53041 52197
+84955 79913
+228 218
+124958 128377
+64202 60609
+190923 199692
+185472 186277
+88431 83674
+164848 164846
+107754 100649
+175274 184623
+203544 194408
+72004 76044
+130506 139884
+192863 176646
+106441 115332
+119339 112165
+180162 182139
+29465 29888
+38727 42665
+77997 83244
+14871 16118
+9225 9855
+203382 189293
+166990 153664
+78749 87224
+24795 24877
+45429 45310
+46931 51751
+78419 77717
+152117 145918
+128772 141350
+88962 91861
+170036 156316
+45814 46386
+81947 79496
+179618 187940
+46880 46101
+102735 96785
+155888 167523
+214616 199387
+162078 166274
+42462 41199
+78086 74124
+130007 127018
+199806 191775
+113319 113511
+67075 61621
+69229 65449
+74970 68194
+95978 106594
+90964 94890
+108095 116894
+8449 9085
+198993 185423
+88736 90448
+42881 46261
+42635 39577
+82899 77482
+152870 164071
+163290 175943
+45401 46747
+147509 137975
+3924 4231
+173987 176854
+179488 164129
+46283 49541
+149199 144611
+179121 168141
+99793 108611
+154336 145388
+1875 1738
+179656 185153
+121638 116500
+111463 113489
+50002 48803
+6836 6836
+4819 4383
+169406 157663
+1937 2094
+40642 44046
+165068 180012
+105780 97486
+2895 2695
+6649 7076
+197265 192122
+209326 197982
+175894 170084
+108502 105780
+129937 123396
+73763 79897
+162188 172116
+168604 182948
+151027 154175
+57085 55574
+189387 174335
+52294 50951
+13594 13975
+11451 11250
+23202 23274
+62535 59225
+174700 164407
+77035 71894
+25260 26738
+189963 187328
+28504 31359
+147094 134966
+12577 12813
+59996 62667
+156549 172365
+48217 50510
+121919 131854
+85275 83252
+104191 100919
+106376 116453
+179008 189408
+130121 124192
+34143 32973
+3084 3339
+33792 30855
+168363 173083
+191189 189401
+161128 148444
+62621 63716
+16389 15453
+91236 98272
+191526 199804
+212967 196079
+73398 68169
+179772 183519
+18187 18586
+217651 199549
+20308 21803
+41249 43536
+5811 6063
+111917 120825
+52966 54519
+120688 110565
+177783 177918
+152840 141228
+81333 89935
+142124 137033
+61897 61075
+85399 78390
+8883 9083
+103686 105188
+96815 105350
+154374 159252
+147693 157551
+30458 29205
+93468 98359
+44993 46234
+188123 182794
+156180 147127
+39608 36048
+123148 116344
+23521 25043
+14561 16158
+84004 83784
+132355 121783
+75936 75068
+114111 112089
+3474 3228
+67254 63354
+74381 73057
+150098 147887
+24079 21974
+142807 132992
+41339 44423
+33385 33188
+157553 152136
+8692 8926
+156691 160479
+33204 33907
+174688 159823
+126613 134022
+79592 83394
+45329 46290
+97404 104978
+26341 28676
+151835 162996
+164099 153523
+48653 48833
+56694 59901
+101442 97058
+201320 185535
+113164 106328
+19951 19760
+126239 126694
+151906 159578
+1906 2011
+35618 37751
+65020 69631
+14955 15268
+4392 4186
+143369 153668
+111700 111644
+83199 88244
+26602 28716
+146566 141350
+284 272
+171439 170012
+170098 174517
+111079 111427
+127768 117852
+139598 145770
+107782 99873
+107986 108317
+3680 3561
+33727 32418
+152177 146024
+47345 44943
+119595 114125
+103029 104582
+29091 26634
+155915 166735
+113220 110211
+60258 60752
+117410 113170
+85072 90475
+171362 173237
+21871 23348
+20354 19669
+86753 79502
+55323 58099
+19864 21345
+157297 170609
+34140 36153
+182167 180795
+78811 79678
+97072 99280
+174336 164236
+123420 132785
+180997 164911
+60318 56740
+198527 191228
+97522 96357
+90373 92046
+123191 132650
+91712 87900
+174911 173074
+92326 89268
+62314 58089
+100239 91990
+116786 128218
+117761 108591
+15105 14002
+64945 70385
+167554 175309
+76978 72971
+90119 83935
+156346 142666
+120576 131553
+78937 79308
+135486 134741
+197881 183324
+174024 172024
+28152 29615
+68470 64452
+65867 69946
+2216 2335
+118743 120430
+17990 19427
+181387 174929
+44226 40331
+203231 190906
+109249 100342
+2425 2345
+170622 176411
+22598 23681
+60168 63626
+137011 147042
+45182 43035
+181213 195623
+142045 138933
+1809 1785
+158453 173756
+67069 61006
+14616 13336
+6256 6082
+158438 150623
+179012 165200
+98162 106270
+159561 160813
+150645 151689
+196059 181185
+42165 41852
+166583 174146
+51017 52461
+88450 86767
+5569 5105
+64769 63591
+176731 196071
+26793 27236
+144183 158405
+70439 70935
+157203 149053
+44469 40672
+25345 28107
+178379 192937
+140287 143518
+72596 70689
+116315 128032
+30125 31056
+123384 124580
+132163 120668
+173928 170731
+112340 118359
+191229 187219
+184117 171842
+57669 62493
+161063 156387
+90330 82457
+78339 74686
+85909 87728
+162303 163379
+36396 33934
+38272 40372
+174954 185258
+69808 77152
+98865 105075
+18825 19713
+137187 132121
+115235 114463
+164104 173876
+164641 174271
+175021 159637
+172898 165115
+146917 140264
+173436 171583
+83158 84482
+154312 146269
+128322 136397
+28131 27918
+124800 119245
+109006 110598
+123914 137614
+200633 183154
+141820 129260
+161754 150993
+201053 191615
+212089 198252
+162453 168161
+186214 199476
+110841 111709
+68643 71606
+70696 66165
+125659 133629
+19830 21520
+68729 70724
+179382 166398
+136329 147478
+46550 44394
+172272 172036
+69994 73435
+125005 122882
+52192 49958
+56608 52063
+76024 69620
+78663 78560
+16795 16044
+89677 90872
+136161 127036
+5317 5157
+166645 180489
+113552 111721
+6745 6321
+195284 188644
+17312 15993
+141667 132427
+184537 178456
+28375 29127
+113431 118623
+61817 64364
+69271 62979
+182749 183060
+97625 98505
+183630 186904
+41260 45772
+160467 155946
+105029 111406
+6417 6162
+39776 36825
+21073 21763
+62824 58033
+12103 11353
+95022 98968
+163835 158898
+160034 160413
+215085 199206
+21595 21378
+88926 89892
+68159 68456
+44064 40618
+155841 152345
+104078 101920
+115302 126962
+153595 154834
+195768 189739
+140469 145673
+28578 30788
+31558 31172
+173588 168590
+50416 46424
+55306 54484
+122306 119329
+108341 113444
+47538 47204
+49812 52349
+147688 143747
+79185 82006
+147985 157659
+113584 119625
+169901 156478
+74989 80283
+39398 42504
+8810 9128
+22222 22048
+63187 65263
+46086 49037
+200431 198968
+76310 70386
+85549 86942
+183197 188199
+59674 54269
+78328 73782
+25751 27384
+40759 44783
+62267 62631
+178536 170280
+172141 158876
+41988 41301
+140475 137296
+84631 78272
+111642 107247
+87850 93989
+70881 69373
+15794 15340
+196911 186147
+186997 189123
+35210 33178
+87331 90712
+133775 124851
+189117 187184
+85718 86720
+137523 130279
+71384 65699
+122124 114948
+170037 156849
+7103 7288
+200088 194562
+174771 168563
+116249 125527
+77165 73443
+156371 168040
+123658 113227
+166250 171402
+152869 150204
+7704 8186
+64436 71410
+199283 190793
+40159 37133
+39525 38627
+162419 148457
+111613 123773
+161404 167965
+62469 64731
+27799 26125
+36165 37819
+132375 140204
+99436 97505
+47489 47954
+39806 39680
+66373 60598
+91491 96514
+65787 61192
+15946 15732
+191009 199918
+91767 87441
+153702 140568
+37770 35242
+104401 105346
+165519 175726
+51436 53702
+153975 163868
+174825 164763
+138292 143234
+139349 131886
+126486 124528
+57706 52571
+12762 13055
+57417 58888
+162265 164727
+110801 108126
+163242 174241
+120625 113189
+120723 114730
+74181 68987
+165227 154161
+86276 86321
+30792 28142
+50490 55427
+85200 87230
+172159 156657
+146243 150287
+85546 78142
+118824 109220
+128114 137412
+188664 186757
+170631 184498
+149234 141895
+109389 117668
+138592 133811
+15130 15197
+94914 103382
+145445 135716
+30505 33765
+103173 111800
+52800 49482
+38434 38512
+157757 145231
+6244 6004
+75320 83046
+4541 4626
+25461 26706
+98186 102654
+161371 150582
+185434 199849
+13918 14328
+97517 92860
+194244 178706
+193725 182129
+76578 79157
+90484 85070
+65564 60825
+155856 170495
+52273 55206
+106276 109712
+107473 102968
+146969 136324
+148170 153107
+35400 36500
+181748 193187
+84717 80199
+84847 81709
+147281 158442
+166011 153368
+10421 11309
+175206 188626
+130103 128410
+183793 185569
+70609 73202
+30958 32134
+86699 88678
+63225 62415
+76708 76271
+203216 185210
+93877 88906
+163485 169729
+125205 123540
+53062 49607
+101051 98493
+172288 186205
+70307 67436
+96336 98737
+178678 179312
+38544 37587
+119490 111709
+55479 55589
+142598 131083
+50893 52319
+76105 70247
+178751 197693
+18365 19444
+55034 58885
+72462 74786
+124327 121080
+171006 159305
+99742 96405
+168313 183938
+178319 174980
+126625 130146
+89203 86438
+83741 78356
+161202 178294
+63804 58642
+901 924
+113697 118080
+198332 193870
+86823 85989
+181565 179363
+73435 69830
+193247 188406
+137794 135009
+187388 174579
+176326 195651
+122465 116929
+194608 179718
+143507 134924
+122272 121579
+2979 2798
+193670 182480
+30595 29625
+196743 192398
+145265 154659
+182083 185393
+51428 50255
+9159 8661
+376 372
+33161 32025
+87339 82668
+65633 61571
+42648 44635
+10000 9520
+194816 186682
+65825 60726
+71771 69503
+96226 88024
+29535 27051
+133315 126309
+168761 154159
+76421 71533
+82295 90300
+148875 138209
+42301 42662
+67650 71814
+73567 71924
+117418 123670
+133868 140806
+162372 155443
+142436 139939
+161793 163272
+38144 39391
+15559 14654
+143016 139173
+16040 16856
+107630 105702
+156177 159852
+203981 199774
+141525 150271
+49526 54912
+153804 155515
+76677 79038
+167967 170639
+5216 5047
+203750 185955
+74043 67516
+133768 122487
+70521 71744
+151427 149911
+87170 92124
+14792 13757
+85562 87101
+22621 23747
+89982 97643
+84554 85379
+132247 126262
+104656 99597
+175146 183743
+78465 74180
+157652 149408
+190111 195861
+185445 188409
+198302 199381
+51248 47512
+183961 183863
+77412 85764
+43683 42150
+104600 96358
+117552 128389
+205269 192277
+2836 2689
+90684 92989
+47761 49743
+14366 13738
+57732 62919
+94087 89655
+4654 4636
+29295 29389
+111916 114167
+20199 20378
+120846 127088
+186089 199825
+57114 59689
+43804 41303
+123023 121798
+72797 72849
+120784 125004
+166626 183815
+90127 83989
+191979 180277
+139070 150638
+181191 192302
+151875 153997
+188433 176301
+36904 36594
+49659 48058
+69063 72472
+166316 152566
+183136 196696
+49065 54019
+138245 130651
+181555 185234
+32025 29690
+85096 83658
+89047 92212
+149153 155410
+40194 38603
+79190 84667
+127647 126395
+50368 48077
+73944 74840
+189071 182125
+87359 89795
+27207 26727
+130043 132552
+80025 75678
+99066 96983
+188781 193997
+45093 49310
+133661 124921
+74706 77567
+131364 136501
+69276 70323
+185091 173521
+45077 46395
+158525 162337
+45915 45054
+126551 139941
+62377 60356
+25218 27866
+20688 20557
+140549 147932
+165456 170575
+120743 114422
+20602 20043
+74898 68296
+87161 87115
+14074 14035
+60402 60410
+6935 6629
+55630 53919
+75513 70876
+53878 59576
+106649 102424
+111186 113583
+173109 177281
+136406 132667
+183871 192945
+77228 73046
+27885 28736
+35646 36054
+199008 192875
+133879 146155
+193080 177632
+156194 157620
+28336 26537
+7030 7550
+112292 106866
+96709 93914
+93445 92025
+33499 36377
+55018 55569
+54188 52710
+53677 49042
+52392 52225
+81671 88736
+120872 122708
+156976 157526
+113364 105395
+27324 29136
+203960 185781
+4088 3730
+13332 12521
+51225 49113
+4675 5111
+83996 76539
+159956 149845
+99637 95229
+114429 105826
+103299 111345
+108336 110114
+152181 139082
+136878 144663
+146694 157118
+75827 73592
+144606 144598
+85330 84305
+84640 90965
+79738 78774
+159131 165315
+89675 96165
+6030 5973
+115340 111607
+7635 7546
+77002 70979
+47147 46276
+137436 133712
+178430 172273
+201351 185652
+217655 199062
+164121 181261
+133553 147111
+130834 139163
+72738 77093
+18634 18169
+79053 74276
+108896 99126
+53730 55096
+108512 116308
+186856 176764
+27238 27805
+40246 41854
+190639 186844
+118178 124426
+13478 14079
+169402 158354
+99207 97159
+102755 112183
+93507 102761
+159569 160182
+38037 39045
+89481 85234
+174816 169664
+178462 184601
+100517 105344
+72600 72182
+20432 21123
+119461 117395
+154080 152028
+19959 19081
+125935 132876
+110948 101990
+147722 141241
+148503 149369
+109609 118733
+56255 54716
+51400 49134
+147331 137886
+165326 169493
+183264 173357
+176790 193037
+107319 107421
+94515 92491
+37253 34423
+143194 151588
+153177 149921
+126751 118959
+165834 159174
+115557 117687
+71074 65506
+16310 15517
+171207 167147
+17544 19337
+172800 190623
+190946 189194
+51325 52903
+75917 83794
+68456 70437
+147010 147655
+1686 1567
+2586 2439
+79278 80711
+43574 45051
+27745 28198
+101109 93462
+22986 22437
+26202 26859
+23123 21880
+23541 23145
+25447 23911
+117361 129972
+107153 114938
+65894 72992
+122138 117057
+5623 5516
+49017 46077
+92460 97305
+13468 14959
+46096 42054
+28063 29114
+180269 180586
+78367 76343
+192454 179212
+127474 141142
+6123 6114
+23198 22699
+22957 23909
+108482 117277
+77071 71565
+94381 102566
+91150 82990
+178440 179335
+133529 123375
+30816 33740
+28559 27426
+160748 174839
+176585 165829
+148661 144268
+35005 36885
+51833 55160
+191133 194505
+93541 94111
+180046 194930
+103078 99265
+160359 148909
+92454 91272
+46918 46913
+77977 79920
+51957 54556
+53768 56083
+21640 21285
+35765 38992
+75677 74941
+52862 52247
+136060 150552
+35809 35412
+113603 117617
+175697 164150
+48020 45679
+148348 144731
+164110 164882
+165658 171418
+95777 101849
+164175 170668
+186483 199412
+81959 78199
+111184 115937
+131514 125817
+35273 35238
+90159 94286
+190552 179881
+154424 158173
+168395 171183
+59603 56869
+86347 81327
+147389 154400
+80277 87443
+76321 84561
+182730 190218
+191338 195055
+5997 6348
+169758 157294
+45030 47596
+38871 36838
+36952 40019
+156131 156578
+51300 50334
+7707 7496
+49796 45398
+144912 138080
+10757 10248
+122925 114882
+159152 166657
+113718 105568
+166735 184936
+5672 5805
+171864 171640
+151736 139626
+56080 54232
+24544 23243
+190869 193112
+18284 17994
+133717 136906
+42907 39303
+148211 155643
+25917 25178
+17347 16205
+184328 195383
+97355 92466
+182186 173565
+24952 23303
+166652 169179
+141982 141194
+13420 13023
+38036 37498
+143217 149469
+153256 157130
+184368 183096
+111038 114753
+72048 72336
+173951 174321
+205887 192328
+153298 140113
+179502 173682
+29513 27066
+113202 106202
+105917 117050
+60336 65132
+117408 115160
+111813 109314
+172573 174310
+76544 78990
+147984 147260
+128525 142369
+17908 18518
+20275 21973
+124738 118220
+156560 161885
+15522 15082
+36689 38887
+20089 21035
+155626 162987
+99503 107415
+94638 101267
+120405 126134
+139402 127431
+148110 138160
+175929 169428
+169750 179714
+47006 48632
+96036 103135
+180687 175372
+157257 165921
+38231 38350
+88467 96554
+82387 76299
+123398 136796
+65403 63013
+208767 190704
+7411 8198
+104063 107639
+122183 122786
+197854 180779
+132678 138914
+75850 80177
+17641 16882
+177868 164270
+108037 113256
+215466 198019
+78019 79503
+160514 162086
+192901 190672
+114878 104862
+43872 46076
+202775 192667
+47020 48697
+142232 134319
+96764 102854
+9521 9069
+161057 161900
+68039 67037
+11228 11395
+180062 191064
+21829 20190
+1831 1990
+135101 144660
+80365 87986
+17803 17260
+41526 40263
+82141 75620
+125203 129706
+6286 6366
+148961 150515
+71867 72680
+101833 107913
+101521 99750
+99519 109080
+49801 54366
+180973 180402
+37512 41504
+123662 134463
+143228 143632
+212548 197474
+153494 151121
+69296 73515
+1324 1424
+194808 184306
+139412 139050
+124006 125270
+159572 166459
+3426 3538
+117576 128068
+98685 90681
+23777 21816
+48245 50766
+61580 65187
+134640 128002
+129547 133880
+196719 183818
+178481 164213
+61065 56220
+202133 194933
+126373 134599
+207260 195410
+58407 59245
+129365 130932
+121941 111134
+30843 33403
+160753 169681
+127215 128325
+122282 132097
+29120 30300
+24117 24482
+42996 47295
+23859 23230
+9695 9931
+102611 101361
+116995 129862
+204830 198141
+131746 130825
+85923 83467
+49033 47687
+104497 104767
+5014 4797
+55975 59126
+181974 180792
+114693 122527
+25531 27646
+50994 52979
+17188 18010
+105822 113682
+144395 146248
+104896 114555
+37034 35448
+96572 97128
+145269 133634
+202468 195524
+149046 152551
+96741 100490
+192897 196608
+137785 134395
+70663 73862
+141169 155707
+30894 28861
+50190 48713
+55913 56189
+32305 32410
+49067 46302
+6957 7184
+78509 76735
+173253 170524
+1776 1651
+128334 138541
+13329 14026
+1934 2003
+162090 167927
+157538 147829
+17799 17891
+145643 135019
+20856 22221
+48907 52985
+131802 137308
+58930 57705
+133953 129475
+80497 86020
+147564 142095
+5423 5740
+82682 79952
+52416 48409
+170969 172321
+21407 23022
+154697 144214
+148063 136055
+106726 110466
+26862 25538
+84204 78754
+167589 184983
+40410 41194
+72976 72917
+114885 112617
+8135 8362
+44341 41435
+95327 88302
+82706 83531
+11132 11101
+130264 141219
+17834 19375
+6952 6482
+90274 83862
+68097 73176
+16177 16659
+43094 39537
+31351 29174
+2636 2779
+48778 52976
+156704 163526
+115888 128150
+61706 60696
+161836 167284
+115293 110170
+96178 90124
+87002 84994
+18940 19818
+61721 66205
+168993 180773
+94277 99225
+23220 24244
+162586 151532
+44113 43626
+142335 149093
+17004 16783
+156974 143757
+138633 127709
+41287 43385
+190021 173332
+143905 141935
+25130 27578
+166487 156275
+12880 13747
+164553 153325
+127111 117816
+155688 149944
+84563 77879
+63232 59209
+20313 18503
+102914 111482
+123715 125639
+51563 49906
+3771 3986
+46307 46643
+101293 103392
+91935 85952
+152228 168188
+126694 130985
+3032 3037
+26441 24564
+106787 111588
+9073 9322
+18774 18737
+52233 57275
+153562 155490
+164608 176911
+123272 134954
+154975 166250
+98558 107721
+205704 189754
+20197 21549
+176685 187456
+40236 38693
+165890 165849
+175987 179966
+171872 182952
+15740 15676
+60845 56610
+177176 162423
+71264 70262
+41507 44559
+43083 47191
+82556 90125
+12635 12071
+159724 155351
+76507 77185
+176392 164944
+151340 163875
+108260 117514
+73084 71223
+1770 1960
+196221 199420
+104142 112213
+103083 98838
+43051 39707
+24461 24046
+69593 65441
+107177 100807
+170606 157444
+66610 65759
+69408 75600
+150281 148669
+180375 194715
+78621 78494
+139130 143422
+44168 41078
+141967 141489
+121608 133029
+177242 172546
+64144 66679
+37415 36850
+62582 60568
+112191 119148
+137569 135635
+184295 186594
+20118 21957
+212791 196102
+19960 18274
+84220 86626
+176143 171619
+135135 145301
+77076 80075
+93560 100075
+170425 184085
+119034 114391
+118915 123068
+149031 146512
+173143 180966
+188947 180421
+128944 141294
+92942 88061
+57878 54412
+61540 64719
+135278 126052
+95548 101307
+125090 125672
+178762 181988
+57402 55082
+151482 162859
+75935 78593
+30890 29993
+37611 35159
+54298 50952
+153273 160846
+32856 34943
+203781 188877
+129970 142120
+140102 146475
+43327 43583
+118548 127734
+143253 143225
+137955 142495
+161229 166718
+11073 11078
+181601 188357
+40154 38430
+25068 25227
+203062 191741
+161309 166768
+47786 46787
+18706 19246
+32513 33956
+109081 108278
+43873 45523
+201633 188777
+183297 197004
+31237 31984
+138254 152702
+86378 85304
+123865 125972
+189672 182157
+214003 195423
+120197 131602
+128094 134946
+95273 87323
+8081 8633
+45875 43495
+142344 135078
+128469 131709
+131801 132217
+70066 70049
+101265 98524
+165606 162355
+126452 135352
+70888 66213
+193626 198984
+144707 160535
+120861 111288
+40658 43665
+15605 17273
+35604 37660
+198943 187492
+2465 2493
+164261 171080
+151805 166479
+143076 131922
+183787 188732
+22772 24472
+135374 145816
+101472 108034
+170257 160730
+193644 177941
+119582 114359
+62789 57821
+29968 31197
+118586 129527
+195747 178057
+80078 85048
+160301 153221
+133285 137405
+160678 163073
+71679 75537
+8579 8653
+171407 169140
+185604 171633
+23011 23502
+53559 58666
+62804 67312
+108053 110081
+48903 50114
+11726 11400
+157492 164751
+48223 50868
+45356 46698
+162857 178706
+110108 112315
+160951 172712
+36057 33321
+13069 14185
+45426 48806
+194147 182163
+121942 118482
+31697 30505
+65579 60685
+125942 127496
+146431 160156
+60369 57513
+39700 36726
+148555 145202
+107910 104236
+110129 102073
+80516 81972
+44641 48662
+33498 32721
+100005 97635
+79415 76000
+132021 120530
+70946 74688
+60637 56044
+104480 104927
+89816 81762
+173908 165214
+5383 5777
+23903 23776
+66611 70295
+29547 28724
+106121 105164
+2824 2716
+193115 180704
+109414 116474
+154093 144847
+62525 64598
+36726 39683
+9804 9998
+176340 161222
+57276 52315
+103032 102305
+142174 142011
+73812 80598
+95796 92289
+104843 112119
+149691 157365
+58927 62754
+6204 5865
+174928 179418
+166378 166489
+48851 44482
+126769 138365
+147272 153016
+106087 100079
+176320 174155
+171929 164468
+42714 43163
+140523 148521
+121300 116172
+20007 18508
+2306 2470
+1761 1635
+68352 64972
+93953 90636
+200917 189847
+125926 118947
+104633 99279
+34974 35721
+171571 160837
+160976 150295
+88160 93136
+18769 18719
+16588 17506
+30562 33307
+74 70
+53136 53557
+168129 183864
+174233 192946
+125566 138977
+176216 192316
+158287 173229
+183913 196106
+91993 93707
+68921 68910
+129994 136640
+144082 157819
+85434 88296
+89723 82640
+85578 79947
+133381 146950
+205487 193176
+155643 154034
+105560 105153
+153197 158615
+24338 24242
+79607 87595
+33392 36335
+27568 27460
+214828 196297
+45382 46687
+166146 154620
+14633 13325
+71560 78760
+158650 160187
+120640 118570
+2853 3036
+114446 122519
+85458 90421
+159488 165780
+92124 88196
+86517 81685
+76522 75150
+42025 41456
+19340 20292
+37734 34717
+87858 84113
+148909 160653
+24979 25603
+177142 165475
+72442 69523
+130445 141907
+152225 153811
+66773 68694
+86941 84595
+121284 134151
+12259 11887
+135429 140061
+82842 78937
+160873 169670
+81234 74302
+92582 89180
+96440 92216
+21274 20998
+51126 47376
+159313 170350
+60730 61645
+157040 142938
+138917 131741
+157475 173353
+11666 12575
+3817 3948
+51955 52939
+27053 25247
+24956 24831
+23771 26371
+93472 90918
+76441 76825
+5801 5703
+179174 174205
+58017 64296
+12642 12828
+137808 136092
+196753 194515
+170622 158576
+65778 61413
+69283 67182
+41737 40921
+44710 43084
+171417 175854
+38807 39989
+164086 169276
+27774 26673
+95352 101609
+76721 72307
+124254 133700
+46724 46783
+44291 47489
+12874 13814
+120100 132497
+51764 51135
+193729 197790
+201389 185940
+119077 129248
+70358 75494
+178913 178207
+142018 143790
+130532 127749
+66433 61394
+186376 180703
+131358 131119
+91568 91696
+181279 199625
+17926 17074
+24617 25356
+159196 175978
+77024 80126
+43502 40614
+24603 22532
+165918 163094
+184306 191822
+36121 34821
+160381 157727
+184467 179186
+165713 157628
+143091 136399
+164088 170801
+156420 155541
+27480 27258
+92463 101122
+4849 5269
+98630 98737
+41542 40162
+106081 100052
+101674 101747
+53413 54095
+2813 2998
+117900 119540
+13622 12540
+78883 82135
+166625 153125
+213090 195342
+86062 91242
+117076 121863
+141019 142087
+159402 151110
+76630 83587
+77617 72377
+98448 91037
+195223 189817
+166957 165141
+137696 147551
+116080 113300
+34624 33473
+96110 103225
+78336 82824
+56529 59008
+24122 22447
+9886 10513
+188649 195738
+44362 41315
+200662 199185
+146809 152715
+62921 60695
+73067 75621
+33388 35243
+129407 118429
+143732 141978
+102905 110875
+90261 96639
+127353 124937
+183113 180313
+45623 43842
+86583 94855
+31266 29976
+505 482
+78786 77762
+149688 138935
+159382 147744
+16370 16543
+65520 59949
+55601 59581
+49420 53248
+89124 97236
+8591 8703
+98790 93251
+47170 44192
+71810 79518
+90541 88797
+48350 45161
+185628 173620
+138335 150707
+85029 79064
+178262 196109
+186449 183927
+56736 51942
+945 873
+36813 39428
+194634 186994
+179785 164257
+8838 8628
+134862 147040
+73542 78004
+106849 104746
+107414 110470
+141805 140905
+87894 87448
+101650 93985
+199230 197337
+52897 55014
+40725 42180
+111996 105022
+180125 199437
+24435 25811
+43414 44326
+173906 170645
+116683 108270
+73221 72234
+101087 95735
+135214 150163
+183731 191282
+168753 169820
+108507 113082
+128873 119551
+69404 72633
+58102 58519
+99233 93499
+101347 100348
+1825 1933
+104883 97919
+39023 36625
+193131 193283
+1889 2081
+3562 3638
+75010 79838
+141751 139819
+8524 8340
+115177 112278
+143489 154123
+23239 21155
+107918 110509
+47759 45491
+8420 7887
+160306 155123
+96095 101150
+127567 117083
+105706 105127
+193565 186816
+138990 141634
+157027 149527
+5072 5532
+27795 26503
+22150 20832
+43674 48425
+91471 84034
+124288 137631
+67315 73384
+50491 47374
+121273 116660
+28250 27833
+149662 136242
+16564 15291
+44627 41883
+17801 17377
+40201 39108
+9244 9186
+46533 48550
+96684 100155
+53198 55882
+106756 107243
+191249 179473
+47834 51400
+182518 167773
+116100 120317
+142339 141024
+143780 147361
+116958 125503
+78498 80180
+67660 74402
+166201 166648
+194756 180955
+85993 80554
+97903 95472
+75474 82268
+48243 52935
+149099 148400
+173025 178797
+134189 148339
+87808 81794
+85108 87379
+95286 94149
+50465 51838
+84577 81400
+148574 160089
+80951 80943
+54469 59418
+157635 148283
+49119 46979
+164517 163885
+78071 82684
+35958 39305
+181384 184139
+132331 133321
+104255 100978
+129021 133002
+138051 132645
+155879 163992
+193084 189734
+158414 160401
+151780 149247
+139593 131128
+131708 145115
+78878 85784
+129921 123266
+38373 41490
+54719 58736
+80963 82502
+83623 86800
+31618 32794
+14388 13082
+78323 82858
+77042 72710
+103969 104204
+147337 163371
+141442 140350
+25995 25721
+119946 130159
+138607 133647
+111730 108198
+102402 95290
+69691 71507
+50100 53131
+94493 88176
+158050 152724
+25522 23636
+84024 87551
+81827 79764
+29250 29130
+73910 71190
+127142 120226
+80896 87347
+140544 136795
+80459 82696
+177283 189002
+4303 4378
+183668 169856
+119552 120547
+32914 32291
+83282 76733
+173091 166250
+163715 168682
+159181 173940
+135540 134142
+155287 145542
+89652 85610
+125703 135712
+50743 48293
+88149 84282
+13945 13176
+103616 106080
+83453 78887
+120533 118119
+26109 27383
+53409 56267
+146397 138273
+145789 156583
+81258 83345
+59023 53775
+5768 5723
+49657 54797
+160341 176507
+26066 27383
+150180 165639
+136610 144681
+39281 40371
+17441 16357
+166808 160384
+186475 196547
+63529 66883
+74308 81814
+194116 182542
+16501 18269
+10545 11389
+52982 56419
+7593 8415
+65913 59956
+92291 95166
+28450 26044
+63434 68749
+118453 121981
+130253 137325
+178899 174892
+12604 12955
+27610 26857
+89750 94842
+208385 195162
+151414 167225
+164019 159139
+185806 195361
+100156 96387
+39698 38078
+55607 61518
+85794 82663
+12230 12867
+165703 171115
+76463 80585
+100012 100249
+6763 6987
+12343 12332
+57602 53485
+62914 60817
+157891 147113
+34803 37591
+121395 113739
+185922 188530
+98746 106629
+167379 158124
+35874 34991
+125566 137961
+166518 162463
+114212 109589
+91053 100194
+17637 17260
+7792 7252
+10448 10597
+28625 29217
+103052 96188
+53168 48664
+13675 13659
+29419 31401
+35591 39460
+13549 13371
+49846 55197
+4099 3756
+163079 172409
+84869 86566
+24311 24063
+132550 125274
+11277 11481
+107984 112796
+65753 65787
+78471 74587
+193519 192238
+113633 121787
+71734 68600
+97442 97105
+99641 105514
+89126 84922
+101764 99846
+104057 111321
+17171 17610
+103735 100011
+176425 160925
+17871 18248
+158341 153173
+162906 161528
+57529 58083
+71611 67311
+184010 184284
+101099 108839
+5117 5604
+12808 12504
+22369 22649
+24879 25815
+62172 66586
+39070 39816
+140330 134162
+51729 52737
+104693 102500
+120682 125501
+150014 162580
+41845 42810
+145340 156432
+24188 23728
+9631 9466
+186386 169838
+144362 144211
+187916 173266
+47945 53189
+12258 12196
+149613 153292
+133782 127887
+128413 141059
+20379 18686
+203436 185671
+126027 130767
+91229 96266
+34327 31351
+81618 88118
+172740 173810
+194144 186939
+25471 23908
+39841 37815
+8584 8465
+112273 120705
+19216 17846
+46576 45522
+122795 118466
+74558 78673
+108537 99764
+42823 44602
+49159 54034
+9545 9706
+173258 166275
+195027 189577
+12713 13706
+20909 22676
+46831 43999
+194707 182406
+16076 16300
+90839 92066
+148906 154401
+63759 65696
+199360 187700
+27728 26993
+21395 21304
+52131 48305
+88281 86873
+162862 152425
+64433 60594
+128114 129341
+181153 168203
+39684 36664
+31201 28466
+90771 91058
+143463 143604
+15119 15772
+125841 131128
+14780 14376
+111100 105657
+175240 173783
+204825 191646
+59381 54752
+79055 75192
+147110 139386
+144232 155863
+88139 95879
+46210 45193
+134938 129181
+90158 93233
+90508 94257
+13618 14527
+172129 185442
+126037 128913
+42881 45471
+58541 59942
+19362 19767
+110227 120507
+176936 165500
+73021 71108
+142066 138578
+11219 11016
+7273 6617
+35875 38425
+5882 5940
+64522 59055
+38530 36790
+61139 66529
+28927 28777
+121810 113919
+73312 70010
+193396 196622
+126793 135620
+167951 166881
+27556 29559
+83015 81296
+33598 34853
+59028 65304
+178255 163625
+48859 49295
+40089 40436
+6338 6529
+103183 100469
+156880 153772
+167737 156260
+12978 12629
+199873 193836
+127205 136646
+87815 88691
+145419 147620
+100104 93063
+140099 135408
+61152 60902
+53966 53658
+199253 199658
+12414 11645
+81279 78799
+148192 144444
+99827 94498
+208975 192439
+126817 133449
+74870 75625
+27527 29161
+205752 198881
+125836 121527
+93100 90010
+115972 122079
+179565 183673
+662 714
+139231 147108
+106881 103568
+80914 84666
+121689 132794
+72344 78578
+180938 166002
+157841 171539
+67761 63945
+129855 139213
+163821 178405
+85552 92979
+124 134
+29487 30550
+15710 16499
+89189 81855
+32233 31237
+11321 11016
+172718 168783
+13260 12311
+142160 146152
+12558 12088
+51656 47384
+179756 187414
+11307 12315
+104426 108502
+176804 191892
+184676 188049
+150241 163089
+175384 190443
+76774 78839
+97131 89044
+91019 85578
+117480 122971
+21781 21147
+81811 89194
+35764 34575
+98989 95394
+164002 174791
+91219 98452
+65776 70385
+16383 18200
+164632 159467
+65908 69390
+26826 25935
+44499 44463
+179749 163423
+114203 118223
+138561 152526
+96930 106609
+125304 137129
+162460 172870
+50921 50016
+181539 187524
+39303 41525
+80895 83360
+116998 114432
+160629 151335
+108015 114332
+15683 16318
+933 882
+170461 188532
+104903 109408
+197932 183297
+30591 32197
+151515 143326
+73561 74091
+195541 186240
+64894 65810
+186143 174514
+168209 157141
+183692 186958
+82831 89404
+34941 37591
+135503 136221
+76836 73718
+5748 6383
+105945 96912
+174423 170540
+15861 17152
+175280 177058
+33077 32630
+134444 125527
+30798 33643
+87805 87959
+54025 59008
+68463 74204
+53135 53170
+16085 16728
+175390 171196
+49309 48545
+44812 40906
+8118 8377
+189799 194453
+46889 48889
+17001 16991
+26340 25562
+92154 97677
+96880 102816
+113850 108956
+194979 185380
+171373 159745
+77892 71676
+159520 161890
+172453 161865
+28422 26666
+60441 65820
+23520 21517
+56204 51397
+4027 3992
+35321 37882
+135457 146227
+170089 166433
+23296 23095
+171570 160186
+119989 129958
+168013 166444
+18047 16843
+4206 4074
+22334 20335
+98716 92738
+45415 48821
+58424 53314
+24770 25299
+202594 186759
+127343 125165
+36863 38499
+122154 112719
+89024 82986
+142515 134215
+28319 29850
+135835 150237
+38593 37988
+3468 3185
+23754 25499
+115843 123695
+191192 181560
+90693 100400
+64833 67784
+191918 196336
+131346 127090
+106817 102824
+168934 168425
+184715 168968
+60235 58922
+214131 197907
+84171 82098
+30651 31958
+26059 28864
+127206 129030
+85308 79426
+183854 172149
+80033 81183
+3781 4081
+83953 77728
+60934 60473
+47201 45116
+60371 61469
+134736 142462
+111151 108785
+194540 180501
+29934 28333
+89403 97464
+159053 161572
+101719 94067
+84646 83551
+177190 179731
+5868 6230
+108432 110250
+119729 127626
+135515 150272
+28904 31874
+60800 66070
+99320 98464
+33843 31448
+169548 165790
+105430 103966
+61909 61482
+45212 45599
+88519 91804
+172979 168947
+131460 120528
+85378 90178
+159756 147621
+13545 12878
+74785 74129
+99447 97435
+101808 106078
+198611 188023
+114780 123140
+41734 39593
+39001 42980
+67014 64634
+185242 174879
+27814 27162
+211573 193873
+73661 71281
+13051 13677
+163966 162436
+96669 90998
+117903 129023
+36356 37400
+60221 58213
+65347 63137
+163335 179473
+160385 171039
+46584 45863
+121329 127766
+4096 4061
+180430 170398
+177568 171487
+116558 123415
+66116 66020
+204474 190731
+175818 172555
+22471 23326
+5050 4785
+46364 44212
+89145 89106
+107414 104415
+148768 137560
+154636 167811
+13711 14725
+157677 154441
+51902 55226
+191525 185916
+31902 31842
+57690 56387
+51616 48958
+122577 118907
+30177 32333
+21510 21233
+85455 78807
+91180 94393
+92365 90454
+169286 185005
+179887 190850
+45660 48134
+76229 83512
+130211 135760
+79629 76614
+170441 173837
+1767 1877
+133756 142441
+39729 40243
+202578 185492
+110912 117372
+85381 94081
+70181 77797
+146647 136827
+26282 24869
+162513 179807
+86220 95425
+163211 175226
+169395 173874
+7858 7359
+205641 199028
+99291 104677
+141700 131566
+60662 62875
+81324 82361
+34147 33577
+135262 149902
+159434 174309
+69169 69905
+11776 12494
+75995 71476
+178870 177928
+93492 91913
+137241 133620
+119460 127016
+98751 94123
+18279 17529
+106476 106712
+174137 178783
+195268 187823
+58957 62402
+23176 21838
+47702 51127
+89303 84270
+24632 27213
+147738 149765
+69007 72246
+114609 127100
+194492 190416
+73511 69704
+164426 163023
+56441 52903
+151663 163401
+152937 145145
diff --git a/01-knapsack/data/ks_1000_0 b/01-knapsack/data/ks_1000_0
new file mode 100644
index 0000000..4b704d2
--- /dev/null
+++ b/01-knapsack/data/ks_1000_0
@@ -0,0 +1,1001 @@
+1000 100000
+11264 10483
+3619 3407
+8178 7509
+14020 14670
+14436 14975
+12955 13037
+15258 15504
+5733 5615
+11573 11176
+3854 3597
+12351 12375
+14252 14094
+14893 16415
+7743 8479
+3235 3336
+17432 16240
+12031 11200
+19057 18379
+9910 9036
+6524 6929
+16201 16528
+12129 11283
+17895 17879
+6264 5738
+9223 9120
+2115 2291
+140 133
+5387 5707
+5469 5449
+19423 19202
+12708 14077
+12445 13535
+4039 4015
+17476 17040
+14556 14447
+4138 4428
+14709 14111
+13840 12968
+18602 19095
+17559 16178
+3181 2962
+4366 4461
+11277 10553
+7636 7177
+4496 4138
+10605 10270
+5754 5829
+1531 1477
+4301 4370
+10745 11315
+8288 7922
+8831 9747
+20397 19968
+12886 11935
+13644 13860
+9823 9083
+16368 16948
+16507 17102
+8456 8839
+6646 6045
+7541 7992
+11862 12006
+4094 3923
+18307 17718
+5058 5567
+6027 6055
+14515 16104
+18273 17146
+8405 9063
+14384 15981
+8622 8369
+19918 19513
+5685 5753
+21016 19978
+16395 17091
+6352 5884
+38 38
+2881 2638
+12467 12412
+4882 5126
+15580 14217
+13646 13409
+19153 19334
+16726 16437
+10088 10633
+15724 17413
+8905 8851
+5780 5823
+921 1013
+5257 5430
+16771 15328
+84 88
+9063 9448
+5522 5515
+11864 12051
+9134 8712
+9506 8772
+6421 6420
+9883 10815
+18961 17495
+4080 3736
+13077 12571
+14824 13565
+13782 15011
+20925 19132
+10517 10213
+11094 10674
+663 614
+16588 15762
+15303 15632
+5582 5486
+1268 1266
+10959 12004
+914 852
+16522 16616
+12721 11574
+5356 5802
+7068 6980
+8840 8324
+5479 5912
+8068 8419
+8010 8236
+17378 18159
+6726 7386
+1007 920
+8771 9746
+365 383
+19226 17751
+4595 4670
+6962 7062
+12902 12789
+14625 15012
+11328 12466
+2237 2419
+16307 16412
+16238 17489
+6923 6556
+4789 4382
+7427 7785
+19180 18183
+16913 17710
+12851 13092
+5285 5178
+3650 3818
+7638 7716
+9630 10221
+14215 14137
+12565 13526
+9011 8516
+15475 16797
+12491 13784
+10189 9444
+15038 13885
+9187 9231
+17232 15925
+7717 8131
+604 617
+2270 2394
+11363 11957
+7923 7680
+17028 16620
+14418 13294
+6735 7401
+17592 16065
+11624 12020
+366 405
+558 558
+6398 6147
+13816 15129
+11737 11220
+10027 10278
+6067 6145
+18156 16732
+1704 1833
+2780 2882
+16093 15150
+16292 16841
+18073 19180
+14625 14329
+5524 5591
+2174 2262
+1509 1456
+10701 10479
+15543 16547
+16212 16932
+663 640
+4820 4689
+4469 4628
+13251 13531
+9782 9892
+3376 3637
+14537 13446
+6393 6127
+18091 19387
+1007 924
+4719 4973
+2731 2623
+7361 8001
+18781 18450
+7485 8216
+9681 10194
+129 136
+7447 7402
+14375 15186
+14861 14138
+18704 19040
+2223 2307
+1925 1949
+3543 3346
+12981 12688
+253 231
+9354 8855
+17008 18338
+6065 6300
+12008 11561
+6213 6550
+4830 4567
+4938 5279
+17459 17412
+16362 15693
+14750 14733
+12605 11952
+11942 11616
+4622 4295
+6006 5927
+6941 6655
+17838 17646
+16131 16040
+6518 7186
+4877 4758
+11131 10888
+2421 2577
+595 584
+6092 6105
+18411 17908
+16526 16219
+12241 13224
+3340 3144
+14182 14848
+9390 9304
+13642 13824
+10644 11066
+4466 4356
+2603 2454
+10392 10597
+7346 7010
+2234 2213
+2395 2397
+17634 17463
+6501 6027
+6445 6862
+16564 16302
+13834 14528
+4588 4445
+10163 9590
+3926 4196
+3998 3987
+3314 3255
+2390 2366
+1856 1908
+6930 6862
+17224 17876
+8160 8434
+12400 12398
+12125 13146
+7655 7241
+10318 10245
+9013 8251
+13327 14408
+11594 12226
+7908 7863
+7858 7454
+10983 11347
+18153 18026
+6887 6704
+5399 5557
+960 994
+12768 12929
+5096 5508
+9668 9751
+8968 9060
+9286 9733
+8823 8622
+5024 4630
+3718 3571
+12738 13068
+9113 8790
+17931 19516
+10972 11124
+13488 13158
+1150 1101
+102 111
+332 339
+2796 2813
+16837 18190
+14485 14222
+5471 5353
+10015 9621
+6774 6493
+4878 4467
+6273 6679
+5822 5774
+11833 11049
+9377 9456
+16007 16842
+1336 1375
+10170 10858
+6281 6612
+11622 10615
+5176 4826
+20988 19301
+9063 8773
+13178 13565
+17630 18381
+17941 16773
+13622 12709
+15146 16200
+7554 7100
+12055 12577
+4613 4912
+16116 17769
+4613 5066
+21495 19995
+7256 6905
+14024 13920
+7120 7374
+15524 14333
+10670 10674
+11541 12469
+1208 1280
+11355 11675
+19585 18402
+9217 10104
+17452 17611
+2779 2773
+12244 12590
+15347 13958
+8243 8410
+7508 7475
+5097 5395
+18521 19876
+15819 14509
+8774 9449
+14418 13159
+12593 12291
+19647 18594
+8278 8723
+652 701
+980 1020
+11509 11246
+17117 16407
+3521 3775
+15894 16115
+3112 3203
+8734 9607
+8558 9300
+17881 17110
+3342 3210
+17426 17662
+17669 19481
+221 221
+3937 4264
+8743 8576
+9075 9961
+15538 14505
+7189 6778
+16607 16508
+3323 3255
+18143 19430
+5065 4794
+3040 3147
+2180 2321
+20323 19499
+10685 9945
+9099 8399
+10119 11036
+11468 10774
+9830 9093
+8643 8119
+5190 5724
+18158 18770
+13656 13922
+19054 18839
+15079 14058
+506 466
+14043 14418
+10122 9298
+2248 2461
+11989 10997
+6792 6319
+10086 9714
+7929 8004
+15029 15554
+10762 10445
+5739 5227
+9524 9768
+18379 18251
+19221 17691
+6865 7229
+6035 5612
+12226 13419
+6081 6240
+169 177
+19458 18542
+9604 8873
+8516 9407
+7692 8473
+2079 2181
+7280 6933
+5176 4725
+6580 6098
+13574 14306
+15025 14728
+6335 6456
+8897 8738
+7135 6897
+12044 13094
+10055 9847
+4408 4283
+17513 18167
+18039 16476
+20129 19422
+10923 10488
+14504 15027
+17026 15715
+6297 6352
+14642 15197
+15359 14303
+5263 5245
+7286 7437
+2944 3194
+3120 2893
+10587 9941
+1042 1100
+15535 14566
+9594 8972
+15226 16161
+13275 13823
+19585 18629
+13248 13442
+14114 13665
+14896 14931
+16452 15075
+3846 3985
+14234 14750
+7271 7663
+14993 14456
+8085 8852
+2524 2766
+9050 8434
+10053 9956
+7115 7680
+7578 8108
+7596 6998
+5306 5329
+9212 8869
+18251 17186
+16850 16209
+3302 3254
+4707 4781
+14857 14592
+18186 16817
+9095 8752
+8840 9625
+11764 10787
+215 221
+11866 12201
+16200 15145
+10481 11185
+2781 2744
+13203 12275
+4913 5074
+16875 15993
+5685 5823
+930 875
+14670 15686
+12566 12214
+12547 13927
+16109 14744
+4067 4114
+12956 14186
+5335 5826
+18266 18058
+2838 2841
+11759 11460
+11450 10424
+16208 17181
+18123 18299
+16836 17404
+8559 8592
+7075 7478
+456 466
+15966 17524
+12166 12166
+1449 1602
+2106 2065
+7391 6838
+3227 3124
+6685 6779
+20820 19941
+7730 7354
+19210 19467
+15569 16804
+650 694
+9142 8318
+13546 13304
+256 234
+16447 15396
+496 462
+11241 11138
+15964 16931
+15815 16811
+18435 19291
+15739 16071
+13879 13776
+18917 19009
+4171 4197
+18277 17540
+8504 7996
+13710 12469
+1999 2004
+1294 1292
+20384 19451
+3040 3023
+3220 3480
+6064 5517
+14218 15534
+3142 3189
+17658 19342
+15676 16976
+4988 5116
+11528 11457
+16862 16379
+4910 5176
+1407 1336
+2623 2733
+10573 9744
+5411 5087
+12321 12863
+17654 17417
+9667 10630
+14295 15645
+8003 7896
+411 449
+18780 17569
+583 579
+1662 1844
+19157 17977
+2513 2543
+12311 12313
+111 109
+9236 10002
+9191 10120
+14781 13446
+4367 4552
+14223 15300
+19190 18861
+15119 14598
+1425 1397
+18115 16708
+5212 4810
+2728 2834
+3005 3243
+2996 3197
+7701 8373
+10910 11294
+9781 9966
+5619 5976
+16210 17614
+19562 19284
+825 779
+520 566
+15474 14975
+14572 13435
+3066 3128
+11561 11090
+116 124
+5962 6100
+1665 1814
+5826 5441
+574 545
+17976 17176
+11581 12176
+12459 13459
+17492 16152
+18730 17629
+2358 2203
+5680 5617
+17287 16690
+16583 17520
+7465 8022
+19201 19294
+19806 19883
+15151 16314
+2500 2601
+10397 10584
+1167 1096
+19158 19101
+1999 2151
+19810 18487
+15571 15609
+15359 15542
+10264 9485
+3967 4202
+18341 17465
+10563 10202
+10481 10467
+9540 9566
+893 875
+2995 2810
+14799 14231
+1147 1144
+13871 14716
+2556 2625
+17325 18727
+235 247
+17922 16902
+1194 1106
+2384 2453
+20172 19317
+14688 15432
+9998 9196
+15401 15826
+12859 12901
+18889 17232
+14644 13896
+18870 18901
+303 276
+12151 12819
+1294 1207
+10467 9667
+10860 11561
+12040 12753
+10192 9926
+1928 1831
+11804 11654
+10697 11636
+8573 8699
+19125 19096
+16828 16486
+16636 15151
+4412 4118
+3439 3127
+3924 3711
+1453 1472
+14127 13267
+11868 11568
+13130 13503
+5521 6095
+17478 16101
+18248 18998
+11437 12177
+2990 3183
+11320 12314
+8768 8744
+2344 2327
+5240 4954
+6802 6363
+154 145
+18476 19438
+20286 18807
+12451 12042
+7184 7873
+635 591
+9875 9685
+17941 17059
+5009 4662
+12070 11722
+17680 16655
+14816 15229
+12464 12408
+12399 12618
+11973 10951
+3157 2920
+7041 7670
+693 725
+3652 3596
+15973 17359
+15830 17515
+18920 18347
+5293 5110
+6126 6517
+12811 12989
+5309 5540
+63 70
+3010 2873
+10942 11418
+4265 3956
+15408 15113
+1531 1395
+10782 10010
+20756 19593
+9089 9651
+4046 3862
+6818 7202
+12684 13192
+1210 1254
+5291 4942
+14880 13565
+7089 7573
+5534 6058
+2375 2337
+8944 9762
+5247 4777
+6971 7476
+16733 16880
+20948 19187
+17473 19036
+12052 13153
+5240 5620
+17428 17977
+3407 3770
+3240 2969
+5783 5443
+2618 2475
+5198 5199
+6565 6158
+10376 10282
+20666 19301
+4790 5150
+11236 10492
+17084 17074
+17154 16755
+13099 13122
+9449 9577
+14627 13660
+828 837
+10949 10133
+9165 10147
+15795 15271
+1269 1338
+13044 12776
+5259 5638
+5869 6311
+2810 2935
+12795 11685
+8649 8214
+16718 15565
+11375 10990
+18021 16657
+17074 16126
+19169 18947
+8845 8506
+12900 13421
+17177 16185
+6694 7342
+4791 4383
+5271 5650
+14498 14727
+970 1068
+18028 19564
+12257 12914
+7577 7668
+732 757
+6066 5722
+14076 13532
+9951 9302
+10142 10044
+16076 16139
+709 694
+18104 16718
+10387 11021
+4615 4558
+15895 14722
+15740 14947
+16809 17102
+3173 3351
+15721 15323
+15349 15884
+3898 3904
+931 873
+16319 16663
+18163 18916
+13895 14460
+9571 9261
+16535 18372
+13041 12341
+1812 1975
+7697 7546
+8746 8908
+7720 7408
+2328 2560
+9683 10189
+4409 4307
+1977 1937
+6068 6303
+13822 13711
+10688 10133
+16223 17117
+13504 14678
+11270 11444
+5615 5419
+13576 12548
+14954 14945
+1117 1176
+3510 3428
+12272 12417
+14207 14007
+13519 13057
+1242 1325
+17535 16407
+2295 2088
+2626 2754
+18348 17388
+16724 16691
+15243 16926
+4240 4628
+12331 13374
+17792 19054
+20437 19230
+6930 7452
+4978 5182
+7331 7530
+6446 6662
+13826 13641
+11818 11391
+4555 4914
+3898 3822
+14778 16020
+8696 8238
+11898 11676
+19307 18281
+9461 9312
+9973 9651
+1357 1288
+17539 17091
+12570 11609
+17460 18542
+14865 15039
+8316 8353
+18937 17431
+11989 12155
+12438 13782
+7880 7206
+4048 3705
+15936 15312
+14380 14410
+1036 1098
+4995 4556
+12709 13212
+16140 16676
+11113 12162
+1177 1092
+774 808
+6409 6132
+4510 4413
+17640 17791
+13586 13463
+19709 18584
+7659 7779
+10587 11687
+11173 11206
+5357 5843
+16135 16598
+18955 18797
+17872 17166
+10671 10391
+595 658
+12788 12624
+14642 14559
+13155 12606
+12327 11822
+4804 5270
+5676 5669
+1512 1418
+17616 16729
+1025 1072
+2439 2501
+15284 15114
+11325 12256
+4409 4119
+10534 10909
+14153 14486
+9884 10948
+3311 3539
+8477 7913
+10674 9839
+666 646
+11945 11408
+19969 18426
+3425 3778
+9498 10461
+6763 6952
+11765 11519
+1252 1316
+16627 15516
+8728 8638
+13338 14717
+8676 8244
+438 399
+15160 16735
+6214 6008
+13733 14621
+14877 13787
+8319 8736
+5844 6474
+6003 6131
+10419 10211
+13756 14020
+12327 11432
+4761 4659
+4786 4959
+17934 19509
+12358 12130
+15642 14277
+12069 11396
+20852 19080
+8698 8770
+15387 15995
+9147 8609
+9856 10556
+2189 2249
+17139 16049
+2966 2717
+10975 11384
+51 54
+7001 6988
+10703 10620
+12183 13233
+11535 11008
+1377 1373
+12065 12057
+9799 9667
+14630 16249
+4427 4605
+9084 9579
+18208 17973
+9639 9963
+19036 17520
+1 1
+17013 18840
+9359 8732
+18992 18180
+11470 12584
+4079 3878
+17443 18859
+13877 13905
+1521 1537
+12553 12452
+9526 9170
+17167 18712
+15910 15501
+2928 3074
+18412 17572
+6230 6917
+191 195
+17767 19511
+14399 13581
+20192 19054
+1336 1430
+9965 9415
+18732 17655
+19385 18931
+17033 18129
+672 639
+18893 19073
+11129 10590
+19187 19644
+18242 17461
+14627 15495
+14525 15682
+15872 14774
+5669 5962
+10356 10879
+9214 8414
+18858 18842
+1516 1513
+15308 14807
+10505 10809
+9319 10204
+3602 3559
+862 826
+5498 5828
+16308 15275
+12785 13283
+8409 7818
+19704 19677
+8703 9550
+16842 16068
+11524 11268
+6731 6600
+73 73
+7779 7904
+13221 13633
+19409 18902
+17945 17239
+9218 8945
+5202 5681
+1257 1247
+12165 12334
+14820 15167
+17988 17663
+673 649
+15348 15712
+18514 17083
+18209 18002
+4969 4928
+10919 11030
+7951 7391
+16640 18087
diff --git a/01-knapsack/data/ks_100_0 b/01-knapsack/data/ks_100_0
new file mode 100644
index 0000000..760dd3e
--- /dev/null
+++ b/01-knapsack/data/ks_100_0
@@ -0,0 +1,101 @@
+100 100000
+90000 90001
+89750 89751
+10001 10002
+89500 89501
+10252 10254
+89250 89251
+10503 10506
+89000 89001
+10754 10758
+88750 88751
+11005 11010
+88500 88501
+11256 11262
+88250 88251
+11507 11514
+88000 88001
+11758 11766
+87750 87751
+12009 12018
+87500 87501
+12260 12270
+87250 87251
+12511 12522
+87000 87001
+12762 12774
+86750 86751
+13013 13026
+86500 86501
+13264 13278
+86250 86251
+13515 13530
+86000 86001
+13766 13782
+85750 85751
+14017 14034
+85500 85501
+14268 14286
+85250 85251
+14519 14538
+85000 85001
+14770 14790
+84750 84751
+15021 15042
+84500 84501
+15272 15294
+84250 84251
+15523 15546
+84000 84001
+15774 15798
+83750 83751
+16025 16050
+83500 83501
+16276 16302
+83250 83251
+16527 16554
+83000 83001
+16778 16806
+82750 82751
+17029 17058
+82500 82501
+17280 17310
+82250 82251
+17531 17562
+82000 82001
+17782 17814
+81750 81751
+18033 18066
+81500 81501
+18284 18318
+81250 81251
+18535 18570
+81000 81001
+18786 18822
+80750 80751
+19037 19074
+80500 80501
+19288 19326
+80250 80251
+19539 19578
+80000 80001
+19790 19830
+79750 79751
+20041 20082
+79500 79501
+20292 20334
+79250 79251
+20543 20586
+79000 79001
+20794 20838
+78750 78751
+21045 21090
+78500 78501
+21296 21342
+78250 78251
+21547 21594
+78000 78001
+21798 21846
+77750 77751
+22049 22098
+77500 77501
diff --git a/01-knapsack/data/ks_100_1 b/01-knapsack/data/ks_100_1
new file mode 100644
index 0000000..0ab4e28
--- /dev/null
+++ b/01-knapsack/data/ks_100_1
@@ -0,0 +1,101 @@
+100 3190802
+1491 3882
+399 1298
+77 654
+969 2638
+8485 20670
+55 610
+1904 4908
+703 2106
+657 2014
+932 2564
+1201 3302
+1697 4494
+462 1424
+1201 3302
+111632 267364
+9044 21988
+147380 352660
+31852 76604
+9044 21988
+9300 22700
+8660 21020
+174684 418068
+19844 47788
+9044 21988
+1635 4370
+62788 150476
+6932 16964
+6308 15516
+50 600
+4600 11300
+565204 1351508
+7463 18226
+2988 7476
+9044 21988
+9044 21988
+4040 9980
+137732 329764
+7150 17400
+9300 22700
+177 854
+372 1244
+499 1498
+15108 36516
+11108 26916
+2468 6236
+1133 3166
+1490 3880
+865 2430
+2468 6236
+2468 6236
+5974 14648
+5972 14644
+9532 23164
+1872 4844
+3964 9828
+2799 7098
+527708 1261916
+7212 17724
+3002 7504
+21004 50708
+47728 114556
+565204 1351508
+100600 240900
+118920 284740
+2822 7144
+612 1924
+6324 15548
+9508 23116
+9268 22636
+11636 28172
+210708 504116
+2176944 5204588
+930 2560
+4481 11062
+50 600
+112 724
+14434 34968
+0 500
+248 996
+48 596
+820 2340
+278 1056
+643 1986
+1413 3726
+1408 3716
+0 500
+2581 6662
+287 1074
+2040 5180
+289 1078
+1380 3660
+372 1244
+0 500
+472 1444
+360 1220
+0 500
+622 1944
+3504 8708
+5924 14548
+2784 7068
diff --git a/01-knapsack/data/ks_100_2 b/01-knapsack/data/ks_100_2
new file mode 100644
index 0000000..20bd25d
--- /dev/null
+++ b/01-knapsack/data/ks_100_2
@@ -0,0 +1,101 @@
+100 10000
+339 342
+1629 1514
+697 696
+1299 1433
+1613 1762
+36 40
+1737 1635
+473 442
+1859 1899
+2055 1960
+362 378
+1104 1177
+1880 1970
+1349 1434
+1545 1691
+132 139
+341 371
+1430 1350
+1878 1775
+1870 1980
+1536 1651
+818 814
+289 282
+1690 1573
+1437 1587
+310 302
+53 56
+720 726
+1707 1820
+258 269
+1842 1680
+757 842
+1642 1730
+1149 1243
+1970 1794
+749 775
+1904 1810
+2 3
+967 970
+1310 1261
+1004 997
+1295 1192
+1056 1036
+51 52
+1320 1453
+1580 1673
+480 440
+604 624
+1766 1813
+1198 1326
+1762 1637
+2046 1902
+315 323
+714 746
+434 471
+1461 1366
+1652 1511
+1876 1785
+906 1002
+1483 1560
+1355 1403
+510 513
+2114 1958
+1479 1505
+1618 1538
+1472 1378
+310 315
+1478 1493
+970 1066
+43 40
+1231 1172
+1792 1972
+870 956
+1484 1541
+1049 1014
+56 55
+814 793
+978 985
+1215 1311
+720 737
+210 204
+460 492
+1798 1961
+1944 1952
+208 204
+1836 1872
+882 806
+239 234
+141 136
+49 49
+1352 1363
+915 883
+1318 1259
+72 70
+937 886
+1783 1843
+1253 1319
+1268 1375
+1144 1234
+878 818
diff --git a/01-knapsack/data/ks_19_0 b/01-knapsack/data/ks_19_0
new file mode 100644
index 0000000..d829b45
--- /dev/null
+++ b/01-knapsack/data/ks_19_0
@@ -0,0 +1,20 @@
+19 31181
+1945 4990
+321 1142
+2945 7390
+4136 10372
+1107 3114
+1022 2744
+1101 3102
+2890 7280
+962 2624
+1060 3020
+805 2310
+689 2078
+1513 3926
+3878 9656
+13504 32708
+1865 4830
+667 2034
+1833 4766
+16553 40006
diff --git a/01-knapsack/data/ks_200_0 b/01-knapsack/data/ks_200_0
new file mode 100644
index 0000000..c79f4a2
--- /dev/null
+++ b/01-knapsack/data/ks_200_0
@@ -0,0 +1,213 @@
+200 100000
+90001 90000
+89751 89750
+10002 10001
+89501 89500
+10254 10252
+89251 89250
+10506 10503
+89001 89000
+10758 10754
+88751 88750
+11010 11005
+88501 88500
+11262 11256
+88251 88250
+11514 11507
+88001 88000
+11766 11758
+87751 87750
+12018 12009
+87501 87500
+12270 12260
+87251 87250
+12522 12511
+87001 87000
+12774 12762
+86751 86750
+13026 13013
+86501 86500
+13278 13264
+86251 86250
+13530 13515
+86001 86000
+13782 13766
+85751 85750
+14034 14017
+85501 85500
+14286 14268
+85251 85250
+14538 14519
+85001 85000
+14790 14770
+84751 84750
+15042 15021
+84501 84500
+15294 15272
+84251 84250
+15546 15523
+84001 84000
+15798 15774
+83751 83750
+16050 16025
+83501 83500
+16302 16276
+83251 83250
+16554 16527
+83001 83000
+16806 16778
+82751 82750
+17058 17029
+82501 82500
+17310 17280
+82251 82250
+17562 17531
+82001 82000
+17814 17782
+81751 81750
+18066 18033
+81501 81500
+18318 18284
+81251 81250
+18570 18535
+81001 81000
+18822 18786
+80751 80750
+19074 19037
+80501 80500
+19326 19288
+80251 80250
+19578 19539
+80001 80000
+19830 19790
+79751 79750
+20082 20041
+79501 79500
+20334 20292
+79251 79250
+20586 20543
+79001 79000
+20838 20794
+78751 78750
+21090 21045
+78501 78500
+21342 21296
+78251 78250
+21594 21547
+78001 78000
+21846 21798
+77751 77750
+22098 22049
+77501 77500
+22350 22300
+77251 77250
+22602 22551
+77001 77000
+22854 22802
+76751 76750
+23106 23053
+76501 76500
+23358 23304
+76251 76250
+23610 23555
+76001 76000
+23862 23806
+75751 75750
+24114 24057
+75501 75500
+24366 24308
+75251 75250
+24618 24559
+75001 75000
+24870 24810
+74751 74750
+25122 25061
+74501 74500
+25374 25312
+74251 74250
+25626 25563
+74001 74000
+25878 25814
+73751 73750
+26130 26065
+73501 73500
+26382 26316
+73251 73250
+26634 26567
+73001 73000
+26886 26818
+72751 72750
+27138 27069
+72501 72500
+27390 27320
+72251 72250
+27642 27571
+72001 72000
+27894 27822
+71751 71750
+28146 28073
+71501 71500
+28398 28324
+71251 71250
+28650 28575
+71001 71000
+28902 28826
+70751 70750
+29154 29077
+70501 70500
+29406 29328
+70251 70250
+29658 29579
+70001 70000
+29910 29830
+69751 69750
+30162 30081
+69501 69500
+30414 30332
+69251 69250
+30666 30583
+69001 69000
+30918 30834
+68751 68750
+31170 31085
+68501 68500
+31422 31336
+68251 68250
+31674 31587
+68001 68000
+31926 31838
+67751 67750
+32178 32089
+67501 67500
+32430 32340
+67251 67250
+32682 32591
+67001 67000
+32934 32842
+66751 66750
+33186 33093
+66501 66500
+33438 33344
+66251 66250
+33690 33595
+66001 66000
+33942 33846
+65751 65750
+34194 34097
+65501 65500
+34446 34348
+65251 65250
+34698 34599
+68451 68450
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/01-knapsack/data/ks_200_1 b/01-knapsack/data/ks_200_1
new file mode 100644
index 0000000..f72444a
--- /dev/null
+++ b/01-knapsack/data/ks_200_1
@@ -0,0 +1,201 @@
+200 2640230
+31860 76620
+11884 28868
+10492 25484
+901 2502
+43580 104660
+9004 21908
+6700 16500
+29940 71980
+7484 18268
+5932 14564
+7900 19300
+6564 16028
+6596 16092
+8172 19844
+5324 13148
+8436 20572
+7332 17964
+6972 17044
+7668 18636
+6524 15948
+6244 15388
+635 1970
+5396 13292
+13596 32892
+51188 122676
+13684 33068
+8596 20892
+156840 375380
+7900 19300
+6460 15820
+14132 34164
+4980 12260
+5216 12932
+6276 15452
+701 2102
+3084 7868
+6924 16948
+5500 13500
+3148 7996
+47844 114788
+226844 542788
+25748 61996
+7012 17124
+3440 8580
+15580 37660
+314 1128
+2852 7204
+15500 37500
+9348 22796
+17768 42836
+16396 39692
+16540 39980
+395124 944948
+10196 24692
+6652 16204
+4848 11996
+74372 178244
+4556 11212
+4900 12100
+3508 8716
+3820 9540
+5460 13420
+16564 40028
+3896 9692
+3832 9564
+9012 21924
+4428 10956
+57796 138492
+12052 29204
+7052 17204
+85864 205628
+5068 12436
+10484 25468
+4516 11132
+3620 9140
+18052 43604
+21 542
+15804 38108
+19020 45940
+170844 408788
+3732 9364
+2920 7340
+4120 10340
+6828 16756
+26252 63204
+11676 28252
+19916 47932
+65488 156876
+7172 17644
+3772 9444
+132868 318036
+8332 20364
+5308 13116
+3780 9460
+5208 12916
+56788 136076
+7172 17644
+7868 19236
+31412 75524
+9252 22604
+12276 29652
+3712 9324
+4516 11132
+105876 253452
+20084 48468
+11492 27884
+49092 117684
+83452 199804
+71372 171044
+66572 159644
+25268 60836
+64292 154084
+21228 51156
+16812 40524
+19260 46420
+7740 18980
+5632 13964
+3256 8212
+15580 37660
+4824 11948
+59700 143100
+14500 35100
+7208 17716
+6028 14756
+75716 181332
+22364 53828
+7636 18572
+6444 15788
+5192 12884
+7388 18076
+33156 79612
+3032 7564
+6628 16156
+7036 17172
+3200 8100
+7300 17900
+4452 11004
+26364 63428
+14036 33972
+16932 40964
+5788 14276
+70476 168852
+4552 11204
+33980 81660
+19300 46500
+39628 95156
+4484 11068
+55044 131988
+574 1848
+29644 71188
+9460 23020
+106284 254468
+304 1108
+3580 8860
+6308 15516
+10492 25484
+12820 31140
+14436 34972
+5044 12388
+1155 3210
+12468 30236
+4380 10860
+9876 24052
+8752 21404
+8676 21052
+42848 102796
+22844 54988
+6244 15388
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+387480 926660
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+15996 38692
+8372 20444
+65488 156876
+304 1108
+4756 11812
+5012 12324
+304 1108
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+304 1108
+1208 3316
+47728 114556
+314 1128
+314 1128
+314 1128
diff --git a/01-knapsack/data/ks_300_0 b/01-knapsack/data/ks_300_0
new file mode 100644
index 0000000..97fe8a2
--- /dev/null
+++ b/01-knapsack/data/ks_300_0
@@ -0,0 +1,301 @@
+300 4040184
+31860 76620
+11884 28868
+10492 25484
+901 2502
+43580 104660
+9004 21908
+6700 16500
+29940 71980
+7484 18268
+5932 14564
+7900 19300
+6564 16028
+6596 16092
+8172 19844
+5324 13148
+8436 20572
+7332 17964
+6972 17044
+7668 18636
+6524 15948
+6244 15388
+635 1970
+5396 13292
+13596 32892
+51188 122676
+13684 33068
+8596 20892
+156840 375380
+7900 19300
+6460 15820
+14132 34164
+4980 12260
+5216 12932
+6276 15452
+701 2102
+3084 7868
+6924 16948
+5500 13500
+3148 7996
+47844 114788
+226844 542788
+25748 61996
+7012 17124
+3440 8580
+15580 37660
+314 1128
+2852 7204
+15500 37500
+9348 22796
+17768 42836
+16396 39692
+16540 39980
+395124 944948
+10196 24692
+6652 16204
+4848 11996
+74372 178244
+4556 11212
+4900 12100
+3508 8716
+3820 9540
+5460 13420
+16564 40028
+3896 9692
+3832 9564
+9012 21924
+4428 10956
+57796 138492
+12052 29204
+7052 17204
+85864 205628
+5068 12436
+10484 25468
+4516 11132
+3620 9140
+18052 43604
+21 542
+15804 38108
+19020 45940
+170844 408788
+3732 9364
+2920 7340
+4120 10340
+6828 16756
+26252 63204
+11676 28252
+19916 47932
+65488 156876
+7172 17644
+3772 9444
+132868 318036
+8332 20364
+5308 13116
+3780 9460
+5208 12916
+56788 136076
+7172 17644
+7868 19236
+31412 75524
+9252 22604
+12276 29652
+3712 9324
+4516 11132
+105876 253452
+20084 48468
+11492 27884
+49092 117684
+83452 199804
+71372 171044
+66572 159644
+25268 60836
+64292 154084
+21228 51156
+16812 40524
+19260 46420
+7740 18980
+5632 13964
+3256 8212
+15580 37660
+4824 11948
+59700 143100
+14500 35100
+7208 17716
+6028 14756
+75716 181332
+22364 53828
+7636 18572
+6444 15788
+5192 12884
+7388 18076
+33156 79612
+3032 7564
+6628 16156
+7036 17172
+3200 8100
+7300 17900
+4452 11004
+26364 63428
+14036 33972
+16932 40964
+5788 14276
+70476 168852
+4552 11204
+33980 81660
+19300 46500
+39628 95156
+4484 11068
+55044 131988
+574 1848
+29644 71188
+9460 23020
+106284 254468
+304 1108
+3580 8860
+6308 15516
+10492 25484
+12820 31140
+14436 34972
+5044 12388
+1155 3210
+12468 30236
+4380 10860
+9876 24052
+8752 21404
+8676 21052
+42848 102796
+22844 54988
+6244 15388
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+387480 926660
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+15996 38692
+8372 20444
+65488 156876
+304 1108
+4756 11812
+5012 12324
+304 1108
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+304 1108
+1208 3316
+47728 114556
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+104036 249172
+5248 12996
+312 1124
+24468 58836
+7716 18932
+30180 72460
+4824 11948
+1120 3140
+11496 27892
+4916 12132
+14428 34956
+24948 59996
+41100 98700
+28692 69084
+826 2352
+3073 7846
+7684 18868
+5604 13708
+17188 41476
+34828 83756
+7540 18380
+8004 19508
+2648 6796
+5124 12748
+3096 7892
+166516 398532
+13756 33212
+9980 24260
+15980 38660
+9056 22012
+5052 12404
+8212 20124
+11164 27028
+13036 31572
+23596 56892
+2028 5156
+7584 18468
+5772 14244
+4124 10348
+5368 13236
+4364 10828
+5604 13708
+8500 20700
+7676 18652
+8636 20972
+4588 11276
+4152 10404
+4860 12020
+5484 13468
+8636 20972
+5140 12780
+236380 565460
+116500 278900
+36480 87660
+16968 41036
+5232 12964
+13280 32060
+138032 330364
+9044 21988
+22028 53156
+4632 11564
+13196 31892
+65404 156708
+28940 69580
+865 2430
+45988 110276
+670 2040
+4820 11940
+41356 99212
+39844 95588
+897 2494
+4028 9956
+7924 19348
+47756 114612
+47036 112772
+25908 62316
+4516 11132
+29460 70820
+7964 19428
+16964 41028
+22196 53492
+68140 163380
+80924 193948
+63700 152700
+20860 50220
+1682 4464
+16804 40508
+3195 8090
+60348 144596
+1901 4902
+67468 161636
+4772 11844
+11196 27092
+25836 62172
+49676 119252
+6188 15276
+15588 37676
diff --git a/01-knapsack/data/ks_30_0 b/01-knapsack/data/ks_30_0
new file mode 100644
index 0000000..921db22
--- /dev/null
+++ b/01-knapsack/data/ks_30_0
@@ -0,0 +1,31 @@
+30 100000
+90000 90001
+89750 89751
+10001 10002
+89500 89501
+10252 10254
+89250 89251
+10503 10506
+89000 89001
+10754 10758
+88750 88751
+11005 11010
+88500 88501
+11256 11262
+88250 88251
+11507 11514
+88000 88001
+11758 11766
+87750 87751
+12009 12018
+87500 87501
+12260 12270
+87250 87251
+12511 12522
+87000 87001
+12762 12774
+86750 86751
+13013 13026
+86500 86501
+13264 13278
+86250 86251
diff --git a/01-knapsack/data/ks_400_0 b/01-knapsack/data/ks_400_0
new file mode 100644
index 0000000..6324d1c
--- /dev/null
+++ b/01-knapsack/data/ks_400_0
@@ -0,0 +1,401 @@
+400 9486367
+31860 76620
+11884 28868
+10492 25484
+901 2502
+43580 104660
+9004 21908
+6700 16500
+29940 71980
+7484 18268
+5932 14564
+7900 19300
+6564 16028
+6596 16092
+8172 19844
+5324 13148
+8436 20572
+7332 17964
+6972 17044
+7668 18636
+6524 15948
+6244 15388
+635 1970
+5396 13292
+13596 32892
+51188 122676
+13684 33068
+8596 20892
+156840 375380
+7900 19300
+6460 15820
+14132 34164
+4980 12260
+5216 12932
+6276 15452
+701 2102
+3084 7868
+6924 16948
+5500 13500
+3148 7996
+47844 114788
+226844 542788
+25748 61996
+7012 17124
+3440 8580
+15580 37660
+314 1128
+2852 7204
+15500 37500
+9348 22796
+17768 42836
+16396 39692
+16540 39980
+395124 944948
+10196 24692
+6652 16204
+4848 11996
+74372 178244
+4556 11212
+4900 12100
+3508 8716
+3820 9540
+5460 13420
+16564 40028
+3896 9692
+3832 9564
+9012 21924
+4428 10956
+57796 138492
+12052 29204
+7052 17204
+85864 205628
+5068 12436
+10484 25468
+4516 11132
+3620 9140
+18052 43604
+21 542
+15804 38108
+19020 45940
+170844 408788
+3732 9364
+2920 7340
+4120 10340
+6828 16756
+26252 63204
+11676 28252
+19916 47932
+65488 156876
+7172 17644
+3772 9444
+132868 318036
+8332 20364
+5308 13116
+3780 9460
+5208 12916
+56788 136076
+7172 17644
+7868 19236
+31412 75524
+9252 22604
+12276 29652
+3712 9324
+4516 11132
+105876 253452
+20084 48468
+11492 27884
+49092 117684
+83452 199804
+71372 171044
+66572 159644
+25268 60836
+64292 154084
+21228 51156
+16812 40524
+19260 46420
+7740 18980
+5632 13964
+3256 8212
+15580 37660
+4824 11948
+59700 143100
+14500 35100
+7208 17716
+6028 14756
+75716 181332
+22364 53828
+7636 18572
+6444 15788
+5192 12884
+7388 18076
+33156 79612
+3032 7564
+6628 16156
+7036 17172
+3200 8100
+7300 17900
+4452 11004
+26364 63428
+14036 33972
+16932 40964
+5788 14276
+70476 168852
+4552 11204
+33980 81660
+19300 46500
+39628 95156
+4484 11068
+55044 131988
+574 1848
+29644 71188
+9460 23020
+106284 254468
+304 1108
+3580 8860
+6308 15516
+10492 25484
+12820 31140
+14436 34972
+5044 12388
+1155 3210
+12468 30236
+4380 10860
+9876 24052
+8752 21404
+8676 21052
+42848 102796
+22844 54988
+6244 15388
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+387480 926660
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+15996 38692
+8372 20444
+65488 156876
+304 1108
+4756 11812
+5012 12324
+304 1108
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+304 1108
+1208 3316
+47728 114556
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+314 1128
+104036 249172
+5248 12996
+312 1124
+24468 58836
+7716 18932
+30180 72460
+4824 11948
+1120 3140
+11496 27892
+4916 12132
+14428 34956
+24948 59996
+41100 98700
+28692 69084
+826 2352
+3073 7846
+7684 18868
+5604 13708
+17188 41476
+34828 83756
+7540 18380
+8004 19508
+2648 6796
+5124 12748
+3096 7892
+166516 398532
+13756 33212
+9980 24260
+15980 38660
+9056 22012
+5052 12404
+8212 20124
+11164 27028
+13036 31572
+23596 56892
+2028 5156
+7584 18468
+5772 14244
+4124 10348
+5368 13236
+4364 10828
+5604 13708
+8500 20700
+7676 18652
+8636 20972
+4588 11276
+4152 10404
+4860 12020
+5484 13468
+8636 20972
+5140 12780
+236380 565460
+116500 278900
+36480 87660
+16968 41036
+5232 12964
+13280 32060
+138032 330364
+9044 21988
+22028 53156
+4632 11564
+13196 31892
+65404 156708
+28940 69580
+865 2430
+45988 110276
+670 2040
+4820 11940
+41356 99212
+39844 95588
+897 2494
+4028 9956
+7924 19348
+47756 114612
+47036 112772
+25908 62316
+4516 11132
+29460 70820
+7964 19428
+16964 41028
+22196 53492
+68140 163380
+80924 193948
+63700 152700
+20860 50220
+1682 4464
+16804 40508
+3195 8090
+60348 144596
+1901 4902
+67468 161636
+4772 11844
+11196 27092
+25836 62172
+49676 119252
+6188 15276
+15588 37676
+4412 10924
+26564 63828
+16412 39724
+8108 19716
+6084 14868
+9884 24068
+4224 10548
+14660 35420
+25708 61916
+39228 94156
+40748 97796
+40748 97796
+64276 154052
+114356 273812
+14724 35548
+4540 11180
+11612 28124
+4972 12244
+10060 24420
+14548 35196
+3136 7972
+9132 22164
+5752 14204
+10100 24500
+12172 29444
+24428 58756
+3336 8372
+4356 10812
+8652 21004
+14492 35084
+8796 21492
+6408 15716
+6056 14812
+10124 24548
+387480 926660
+18188 43876
+7732 18964
+9492 23084
+7300 17900
+10052 24404
+19604 47308
+6644 16188
+107364 257028
+91812 219924
+4620 11540
+42848 102796
+33268 79836
+13260 32020
+6564 16028
+6524 15948
+13596 32892
+13596 32892
+47844 114788
+226844 542788
+226844 542788
+226844 542788
+226844 542788
+85864 205628
+170844 408788
+56788 136076
+6628 16156
+10492 25484
+104036 249172
+14428 34956
+14428 34956
+22028 53156
+22028 53156
+22028 53156
+25836 62172
+11612 28124
+11612 28124
+11612 28124
+85872 205644
+1377 3654
+1365820 3265540
+562272 1344644
+1445900 3457100
+501060 1198220
+106224 254348
+492496 1177692
+387824 927548
+151320 362140
+109924 263148
+105696 253092
+96404 230908
+107732 257964
+42140 101180
+102896 246292
+4036 9972
+19616 47332
+100948 241796
+1417728 3389756
+62604 150108
+491820 1176140
+33740 80980
+25216 60732
+111716 267532
+400156 957012
+108800 260500
+1211040 2895580
diff --git a/01-knapsack/data/ks_40_0 b/01-knapsack/data/ks_40_0
new file mode 100644
index 0000000..cf4f40c
--- /dev/null
+++ b/01-knapsack/data/ks_40_0
@@ -0,0 +1,41 @@
+40 100000
+90001 90000
+89751 89750
+10002 10001
+89501 89500
+10254 10252
+89251 89250
+10506 10503
+89001 89000
+10758 10754
+88751 88750
+11010 11005
+88501 88500
+11262 11256
+88251 88250
+11514 11507
+88001 88000
+11766 11758
+87751 87750
+12018 12009
+87501 87500
+12270 12260
+87251 87250
+12522 12511
+87001 87000
+12774 12762
+86751 86750
+13026 13013
+86501 86500
+13278 13264
+86251 86250
+13530 13515
+86001 86000
+13782 13766
+85751 85750
+14034 14017
+85501 85500
+14286 14268
+85251 85250
+14538 14519
+86131 86130
diff --git a/01-knapsack/data/ks_45_0 b/01-knapsack/data/ks_45_0
new file mode 100644
index 0000000..cad6bfe
--- /dev/null
+++ b/01-knapsack/data/ks_45_0
@@ -0,0 +1,46 @@
+45 58181
+1945 4990
+321 1142
+2945 7390
+4136 10372
+1107 3114
+1022 2744
+1101 3102
+2890 7280
+47019 112738
+1530 3960
+3432 8564
+2165 5630
+1703 4506
+1106 3112
+370 1240
+657 2014
+962 2624
+1060 3020
+805 2310
+689 2078
+1513 3926
+3878 9656
+13504 32708
+1865 4830
+667 2034
+1833 4766
+16553 40006
+1261 3422
+2593 6686
+1170 3240
+794 2288
+671 2042
+7421 18142
+6009 14718
+1767 4634
+2622 6744
+831 2362
+701 2102
+5222 12944
+3086 7872
+900 2500
+3121 7942
+1029 2958
+52555 126010
+389 1278
diff --git a/01-knapsack/data/ks_4_0 b/01-knapsack/data/ks_4_0
new file mode 100644
index 0000000..8e653f3
--- /dev/null
+++ b/01-knapsack/data/ks_4_0
@@ -0,0 +1,5 @@
+4 11
+8 4
+10 5
+15 8
+4 3
diff --git a/01-knapsack/data/ks_500_0 b/01-knapsack/data/ks_500_0
new file mode 100644
index 0000000..4dd5076
--- /dev/null
+++ b/01-knapsack/data/ks_500_0
@@ -0,0 +1,501 @@
+500 50000
+384 412
+7060 7285
+8475 8103
+5028 4876
+9741 9369
+3360 3538
+1426 1394
+2084 2204
+4865 5362
+1885 1779
+8191 8376
+6296 6460
+3292 3193
+10227 9957
+5744 5513
+2163 2365
+10738 9786
+5099 4865
+9193 9406
+7777 7455
+8538 8090
+9597 9224
+1275 1257
+6317 5831
+7598 7177
+2241 2297
+1398 1271
+4083 4216
+6033 5634
+1694 1560
+7563 6878
+12 12
+7406 6872
+7679 7142
+6619 6945
+9222 8778
+1869 1785
+6809 7485
+4961 5033
+2616 2719
+6406 6156
+1703 1826
+6415 6795
+4898 4790
+7601 7620
+2145 1971
+6559 6310
+1691 1874
+8734 8092
+9570 9321
+7649 7955
+0 1
+5652 5146
+475 517
+8789 8341
+1366 1400
+3325 3230
+5487 5443
+7316 7097
+10232 9979
+1788 1873
+9179 9259
+3790 3940
+7820 8611
+4462 4552
+832 893
+6798 7209
+5467 5319
+5573 6065
+5489 5010
+8246 8770
+2815 2918
+8766 8355
+7043 7760
+8834 8052
+8549 8969
+6511 6415
+9253 9812
+831 861
+4587 4755
+202 210
+1022 950
+867 823
+1989 2194
+2813 2594
+1711 1642
+9343 9828
+1840 2029
+2772 2575
+6035 5564
+8815 9345
+9329 8485
+354 353
+3488 3792
+2701 2645
+102 102
+3711 4046
+10505 9897
+8471 9201
+3406 3157
+10171 9442
+6862 7425
+3747 3887
+7132 7137
+7386 7590
+3073 3179
+7566 8244
+2269 2467
+7134 7291
+7750 7078
+8126 8991
+1803 1824
+8229 8894
+9725 9514
+1468 1498
+844 771
+2939 2868
+7538 7210
+380 406
+10182 9845
+176 188
+8874 8977
+5461 5808
+7833 7831
+9668 9122
+3381 3255
+8534 7808
+10002 9684
+8881 9703
+3503 3884
+2774 2742
+6546 6754
+3368 3227
+2269 2521
+3229 3149
+6703 6895
+9740 9718
+1660 1779
+4724 4906
+10161 9765
+2460 2712
+1221 1161
+893 956
+3922 3736
+3837 3854
+4564 4211
+6844 7195
+7300 7204
+550 509
+3347 3315
+8141 8090
+7173 7121
+1386 1366
+2216 2053
+4182 4310
+6496 6753
+7540 7923
+6576 7072
+745 774
+10510 9710
+5294 5494
+6752 6259
+3818 4235
+6704 6462
+212 222
+6247 5995
+7948 8543
+2763 2688
+5698 5186
+2307 2186
+7426 7303
+5292 5134
+9295 8645
+2578 2430
+6097 5571
+2925 3243
+1223 1123
+8720 8978
+4240 4139
+4344 4244
+6250 6864
+6547 7189
+4989 4641
+732 753
+4440 4445
+7861 8726
+147 147
+3066 3394
+5265 5044
+6723 7050
+7443 7655
+6062 6387
+3793 3529
+6167 6689
+1965 1918
+1479 1530
+7177 7624
+3624 3782
+6602 7203
+9195 9398
+8667 8091
+4802 4637
+3317 3035
+10496 9631
+2441 2467
+8759 7973
+320 325
+3459 3770
+4805 4396
+6153 5990
+5076 5513
+6003 6084
+2143 2027
+2915 3169
+6150 6074
+5077 4948
+3335 3361
+8400 8116
+9711 9158
+1375 1467
+6421 6150
+8784 8277
+3085 2946
+247 228
+6182 6208
+7543 7284
+2056 2048
+1198 1190
+4033 4380
+2527 2603
+4158 4618
+2552 2607
+668 609
+7843 8591
+3986 3670
+8463 8184
+6382 6242
+3103 3422
+397 385
+10619 9845
+8138 8106
+8370 8192
+4321 3974
+4514 4964
+4041 4063
+6558 6871
+397 438
+1943 2122
+319 305
+8557 8465
+10517 9695
+7573 8139
+9981 9433
+8833 8354
+5854 5944
+3796 3761
+2043 2109
+7288 7949
+7280 7744
+2163 2065
+2469 2264
+5532 5066
+2318 2387
+7179 6779
+8381 9284
+5665 5694
+3544 3303
+3108 2872
+3050 2801
+7307 6760
+528 536
+8598 8444
+1282 1404
+1912 1919
+6096 6018
+2305 2211
+3787 3723
+7142 6631
+950 965
+7389 7413
+2823 2941
+2097 1979
+7066 6576
+3447 3779
+2727 2493
+7624 8353
+764 776
+4578 4617
+2503 2653
+7276 7099
+6643 6991
+2786 2972
+2422 2349
+6811 6498
+5584 5951
+10727 9755
+3882 3987
+9566 9211
+4396 4126
+8930 8192
+831 849
+4712 4675
+657 602
+2738 3006
+6995 6708
+5598 5844
+8939 9020
+6861 6674
+9795 9952
+2090 2208
+4661 4726
+3258 3155
+6520 6999
+3040 3298
+7137 6758
+8379 8963
+7682 7553
+5225 5634
+5653 5459
+6605 6957
+8226 7939
+7947 8831
+6663 6956
+9263 8743
+8527 7914
+110 116
+486 526
+916 863
+6285 6030
+8658 8005
+9627 9516
+777 752
+5208 5569
+7641 7249
+2961 2726
+255 252
+6656 6447
+10101 9887
+124 133
+8303 7584
+7576 8318
+2428 2643
+4008 4090
+2645 2517
+756 717
+3980 4407
+2950 3236
+9529 9690
+3644 3814
+260 276
+7840 8345
+4601 4493
+7423 7117
+1692 1817
+6957 7465
+2923 3073
+1677 1792
+1138 1088
+5317 5247
+9705 9127
+840 838
+1209 1309
+2481 2369
+7686 8119
+6022 5554
+8029 8016
+5418 5101
+646 613
+9511 8848
+2350 2335
+2544 2444
+6819 7518
+1055 1044
+7563 7599
+4530 4369
+2249 2154
+2244 2095
+2976 3034
+6533 6184
+1518 1625
+2484 2603
+6100 6072
+6326 6297
+7341 7384
+8751 8748
+7195 7352
+2487 2548
+6846 7003
+1049 1102
+3670 3525
+2538 2691
+5378 5906
+1530 1403
+8675 8179
+5411 5421
+308 342
+8138 8884
+3751 4000
+5392 5535
+8288 7690
+3425 3797
+6599 6118
+1855 2050
+8516 8028
+5331 5379
+8180 7989
+708 746
+1217 1315
+5753 5983
+2918 3035
+8370 8675
+9502 9840
+10584 9793
+6538 6077
+3678 3780
+5013 5327
+8374 8415
+2038 1965
+6129 5741
+6622 6292
+7569 7366
+942 963
+1259 1194
+4277 3984
+1121 1021
+6333 5974
+8989 9647
+9265 8860
+8344 8231
+3112 3138
+3347 3355
+1352 1450
+9712 9502
+2307 2209
+5520 5095
+10137 9833
+4583 4634
+4444 4676
+6024 5990
+2481 2671
+9522 9498
+9993 9209
+5687 6004
+420 414
+5365 5480
+834 836
+4767 4745
+2409 2497
+1897 1847
+8698 9047
+4612 4405
+3524 3486
+1156 1173
+6516 5996
+7741 7139
+8546 9331
+2349 2219
+6095 6103
+835 872
+724 666
+5288 5114
+5659 6134
+2847 3042
+9627 9511
+189 189
+1509 1378
+3609 3963
+3802 3926
+134 139
+5689 6206
+9097 9077
+6347 5951
+3007 2835
+4305 3972
+3155 3228
+4130 3764
+3904 3631
+1915 2109
+9014 9897
+8504 8943
+651 708
+8947 8695
+6239 5900
+8311 8054
+1412 1422
+6513 7166
+8244 8159
+8127 8361
+5552 5782
+4068 4325
+1013 935
+10274 9984
+2977 3181
+2751 2876
+10479 9715
+2260 2159
+5603 5520
+3074 3065
+9406 9789
+9416 9939
diff --git a/01-knapsack/data/ks_50_0 b/01-knapsack/data/ks_50_0
new file mode 100644
index 0000000..0f4c2f1
--- /dev/null
+++ b/01-knapsack/data/ks_50_0
@@ -0,0 +1,51 @@
+50 341045
+1906 4912
+41516 99732
+23527 56554
+559 1818
+45136 108372
+2625 6750
+492 1484
+1086 3072
+5516 13532
+4875 12050
+7570 18440
+4436 10972
+620 1940
+50897 122094
+2129 5558
+4265 10630
+706 2112
+2721 6942
+16494 39888
+29688 71276
+3383 8466
+2181 5662
+96601 231302
+1795 4690
+7512 18324
+1242 3384
+2889 7278
+2133 5566
+103 706
+4446 10992
+11326 27552
+3024 7548
+217 934
+13269 32038
+281 1062
+77174 184848
+952 2604
+15572 37644
+566 1832
+4103 10306
+313 1126
+14393 34886
+1313 3526
+348 1196
+419 1338
+246 992
+445 1390
+23552 56804
+23552 56804
+67 634
diff --git a/01-knapsack/data/ks_50_1 b/01-knapsack/data/ks_50_1
new file mode 100644
index 0000000..5653266
--- /dev/null
+++ b/01-knapsack/data/ks_50_1
@@ -0,0 +1,51 @@
+50 5000
+995 945
+259 242
+258 244
+279 281
+576 582
+126 119
+280 303
+859 913
+270 279
+389 408
+927 925
+281 305
+624 662
+961 938
+757 718
+231 250
+838 767
+154 158
+649 595
+277 268
+180 167
+895 957
+23 22
+930 948
+93 102
+61 62
+626 604
+342 349
+262 279
+215 221
+183 203
+958 889
+205 213
+859 835
+171 166
+566 575
+779 758
+704 706
+196 182
+26 28
+726 729
+621 671
+800 864
+580 579
+535 553
+647 632
+168 163
+90 95
+679 745
+440 438
diff --git a/01-knapsack/data/ks_60_0 b/01-knapsack/data/ks_60_0
new file mode 100644
index 0000000..dc62def
--- /dev/null
+++ b/01-knapsack/data/ks_60_0
@@ -0,0 +1,61 @@
+60 100000
+90000 90001
+89750 89751
+10001 10002
+89500 89501
+10252 10254
+89250 89251
+10503 10506
+89000 89001
+10754 10758
+88750 88751
+11005 11010
+88500 88501
+11256 11262
+88250 88251
+11507 11514
+88000 88001
+11758 11766
+87750 87751
+12009 12018
+87500 87501
+12260 12270
+87250 87251
+12511 12522
+87000 87001
+12762 12774
+86750 86751
+13013 13026
+86500 86501
+13264 13278
+86250 86251
+13515 13530
+86000 86001
+13766 13782
+85750 85751
+14017 14034
+85500 85501
+14268 14286
+85250 85251
+14519 14538
+85000 85001
+14770 14790
+84750 84751
+15021 15042
+84500 84501
+15272 15294
+84250 84251
+15523 15546
+84000 84001
+15774 15798
+83750 83751
+16025 16050
+83500 83501
+16276 16302
+83250 83251
+16527 16554
+83000 83001
+16778 16806
+82750 82751
+17029 17058
+82500 82501
diff --git a/01-knapsack/handout.pdf b/01-knapsack/handout.pdf
new file mode 100644
index 0000000..c5d5315
--- /dev/null
+++ b/01-knapsack/handout.pdf
Binary files differ
diff --git a/01-knapsack/solver.py b/01-knapsack/solver.py
new file mode 100755
index 0000000..81a6d79
--- /dev/null
+++ b/01-knapsack/solver.py
@@ -0,0 +1,58 @@
+#!/usr/bin/python2.7
+# -*- coding: utf-8 -*-
+
+
+def solveIt(inputData):
+ # Modify this code to run your optimization algorithm
+
+ # parse the input
+ lines = inputData.split('\n')
+
+ firstLine = lines[0].split()
+ items = int(firstLine[0])
+ capacity = int(firstLine[1])
+
+ values = []
+ weights = []
+
+ for i in range(1, items+1):
+ line = lines[i]
+ parts = line.split()
+
+ values.append(int(parts[0]))
+ weights.append(int(parts[1]))
+
+ items = len(values)
+
+ # a trivial greedy algorithm for filling the knapsack
+ # it takes items in-order until the knapsack is full
+ value = 0
+ weight = 0
+ taken = []
+
+ for i in range(0, items):
+ if weight + weights[i] <= capacity:
+ taken.append(1)
+ value += values[i]
+ weight += weights[i]
+ else:
+ taken.append(0)
+
+ # prepare the solution in the specified output format
+ outputData = str(value) + ' ' + str(0) + '\n'
+ outputData += ' '.join(map(str, taken))
+ return outputData
+
+
+import sys
+
+if __name__ == '__main__':
+ if len(sys.argv) > 1:
+ fileLocation = sys.argv[1].strip()
+ inputDataFile = open(fileLocation, 'r')
+ inputData = ''.join(inputDataFile.readlines())
+ inputDataFile.close()
+ print solveIt(inputData)
+ else:
+ print 'This test requires an input file. Please select one from the data directory. (i.e. python solver.py ./data/ks_4_0)'
+
diff --git a/01-knapsack/solverJava.py b/01-knapsack/solverJava.py
new file mode 100755
index 0000000..1023219
--- /dev/null
+++ b/01-knapsack/solverJava.py
@@ -0,0 +1,41 @@
+#!/usr/bin/python2
+# -*- coding: utf-8 -*-
+
+import os
+from subprocess import Popen, PIPE
+
+
+def solveIt(inputData):
+
+ # Writes the inputData to a temporay file
+
+ tmpFileName = 'tmp.data'
+ tmpFile = open(tmpFileName, 'w')
+ tmpFile.write(inputData)
+ tmpFile.close()
+
+ # Runs the command: java Solver -file=tmp.data
+
+ process = Popen(['java', 'Solver', '-file=' + tmpFileName],
+ stdout=PIPE)
+ (stdout, stderr) = process.communicate()
+
+ # removes the temporay file
+
+ os.remove(tmpFileName)
+
+ return stdout.strip()
+
+
+import sys
+
+if __name__ == '__main__':
+ if len(sys.argv) > 1:
+ fileLocation = sys.argv[1].strip()
+ inputDataFile = open(fileLocation, 'r')
+ inputData = ''.join(inputDataFile.readlines())
+ inputDataFile.close()
+ print solveIt(inputData)
+ else:
+ print 'This test requires an input file. Please select one from the data directory. (i.e. python solver.py ./data/ks_4_0)'
+
diff --git a/01-knapsack/submit.pyc b/01-knapsack/submit.pyc
new file mode 100644
index 0000000..113338a
--- /dev/null
+++ b/01-knapsack/submit.pyc
Binary files differ