commit 10de332344b9bab5e85c7abad3c6bc8b0f23123a
parent c3de5f6235bbde07232e4c29cfa97015a25a1a2d
Author: Marc Jeanmougin <marc@jeanmougin.fr>
Date: Mon, 7 Apr 2014 19:20:26 +0200
Merge branch 'master' of ssh://gitorious.org/ens-ulm-1/ens-ulm-1
Diffstat:
10 files changed, 26648 insertions(+), 57 deletions(-)
diff --git a/contest/louis/ameliore.cpp b/contest/louis/ameliore.cpp
@@ -66,7 +66,7 @@ void ameliore_louis(vector<int> c[])
while( nb_iter < nb_iter_max )
{
if(nb_iter %200 == 0)
- fprintf(stderr,"cur_score %d[%d] | %d | %lf \n",cur.score,cur.cibles[0].size(),r_best.score,temp);
+ fprintf(stderr,"cur_score %d[%zu] | %d | %lf \n",cur.score,cur.cibles[0].size(),r_best.score,temp);
cur = best;
cur.update(temp);
@@ -83,6 +83,6 @@ void ameliore_louis(vector<int> c[])
vector<int> r[8];
for(int i = 0 ; i < 8 ; i++ )
r[i] = complete(r_best.cibles[i]);
- tronque_solution(r,0);
- affiche_sortie(r);
+ tronque_solution(r);
+ //affiche_sortie(r);
}
diff --git a/contest/louis/louis.cpp b/contest/louis/louis.cpp
@@ -1,6 +1,7 @@
#include <cstdio>
+#include <cstdlib>
#include <algorithm>
-#include <future>
+//#include <future>
#include <vector>
#include <queue>
#include "../mc/lecture.cpp"
@@ -12,10 +13,67 @@ short use[N_SOMMETS_MAJ][N_SOMMETS_MAJ] ;
int cur_dist[N_SOMMETS_MAJ] ;
void init_use()
{
- FILE * f = fopen("dist2","rb");
- if(!f)
- fprintf(stderr,"dist not found !");
- fread(use,sizeof(use),1,f);
+ const char *filename = "dist2";
+ FILE * f = fopen(filename,"rb");
+ if(!f) {
+ fprintf(stderr,"%s not found !\n", filename);
+ exit(1);
+ }
+ const int tr = sizeof(use);
+ int r = fread(use,1,tr,f);
+ if (r < tr) {
+ fprintf(stderr, "read only %d/%d bytes in %s\n", r, tr, filename);
+ exit(1);
+ }
+ fclose(f);
+}
+
+short nb_aretes[N_SOMMETS_MAJ][N_SOMMETS_MAJ];
+
+void calc_nb_aretes() {
+ fprintf(stderr, "Calculating nb_aretes for the first time, please wait\n");
+ for (int i = 0; i < N_SOMMETS_MAJ; i++) {
+ for (int j = 0; j < N_SOMMETS_MAJ; j++)
+ nb_aretes[i][j] = N_SOMMETS_MAJ;
+ deque<int> cur;
+ nb_aretes[i][i] = 0;
+ cur.push_back(i);
+ while (!cur.empty()) {
+ int c = cur.front();
+ int d = nb_aretes[i][c] + 1;
+ cur.pop_front();
+ for (int k = 0; k < int(adj[c].size()); k++) {
+ int v = adj[c][k];
+ if (nb_aretes[i][v] <= d)
+ continue;
+ nb_aretes[i][v] = d;
+ cur.push_back(v);
+ }
+ }
+ }
+ fprintf(stderr, "Done calculating nb_aretes\n");
+}
+
+void init_nb_aretes() {
+ const char *filename = "nb_aretes.cache";
+ FILE *f = fopen(filename, "rb");
+ const int tr = sizeof(nb_aretes);
+ if (!f) {
+ calc_nb_aretes();
+ f = fopen(filename, "wb");
+ if(!f) {
+ fprintf(stderr,"%s not found !\n", filename);
+ exit(1);
+ }
+ fwrite(nb_aretes,1,tr,f);
+ fclose(f);
+ return;
+ }
+ int r = fread(nb_aretes,1,tr,f);
+ if (r < tr) {
+ fprintf(stderr, "read only %d/%d bytes in %s\n", r, tr, filename);
+ exit(1);
+ }
fclose(f);
}
// Renvoie la première intersection à utiliser
@@ -67,10 +125,19 @@ vector<int> complete ( vector<int> & c)
vector<int> r ;
r.push_back(c[0]);
// fprintf(stderr,"complete : %d\n",r.back());
- for(size_t i = 0 ; i+1 < c.size() ; i++ )
+ for(size_t i = 1 ; i < c.size() ; i++ )
{
- while(r.back() != c[i+1])
- r.push_back(use[r.back()][c[i+1]]);
+ while(r.back() != c[i]) {
+ //fprintf(stderr, "complete %zu/%zu -> %zu\t add %d\n", i, c.size(), r.size(), use[r.back()][c[i]]);
+ r.push_back(use[r.back()][c[i]]);
+ }
}
return r ;
}
+
+void complete_all (vector<int> sol[])
+{
+ for (int v = 0; v < n_vehicules; v++)
+ sol[v] = complete(sol[v]);
+}
+
diff --git a/contest/mc/lecture.cpp b/contest/mc/lecture.cpp
@@ -6,8 +6,9 @@
#include <cstring>
#include <cmath>
-#define N_SOMMETS_MAJ 12000
-#define N_ARETES_MAJ 18000
+const int N_SOMMETS_MAJ = 12000;
+const int N_ARETES_MAJ = 18000;
+const int N_DEGRE_MAJ = 6;
using namespace std;
@@ -35,22 +36,31 @@ map<pair<int, int>, int> id_arete;
vector<int> _solution[8];
-void affiche_sortie(vector<int> trajectoires[]) {
- printf("%d\n", n_vehicules);
+void affiche_sortie(vector<int> trajectoires[], FILE *fp) {
+ fprintf(fp, "%d\n", n_vehicules);
for (int i=0; i< n_vehicules; i++) {
- printf("%d\n", (int) trajectoires[i].size());
+ fprintf(fp, "%d\n", (int) trajectoires[i].size());
for (unsigned int j=0; j<trajectoires[i].size(); j++) {
- printf("%d\n", trajectoires[i][j]);
+ fprintf(fp, "%d\n", trajectoires[i][j]);
}
}
}
+void affiche_sortie(vector<int> trajectoires[]) {
+ affiche_sortie(trajectoires, stdout);
+}
+
+void affiche_sortie(vector<int> sol[], char *filename) {
+ FILE *fp = fopen(filename, "w");
+ affiche_sortie(sol, fp);
+ fclose(fp);
+}
+
// (temps_tronques)
// format: score, temps1, temps2, ..., temps8
// (ou vide si solution invalide)
vector<int> evalue_solution(vector<int> trajectoires[]) {
- bool aretes[N_ARETES_MAJ];
- memset(aretes, 0, sizeof(aretes));
+ bitset<N_ARETES_MAJ> aretes;
vector<int> resultat;
resultat.push_back(0);
@@ -99,7 +109,7 @@ int tronque_solution(vector<int> trajectoires[], int max_limit) {
return -1;
}
temps += cout[a];
- if (temps > t_autorise) {
+ if (temps > max_limit) {
// j'ai deborde, je cesse la
trajectoires[i].resize(j);
break;
@@ -108,6 +118,9 @@ int tronque_solution(vector<int> trajectoires[], int max_limit) {
}
return 0;
}
+int tronque_solution(vector<int> trajectoires[]) {
+ return tronque_solution(trajectoires, t_autorise);
+}
void lecture_entree(){
@@ -165,38 +178,46 @@ void init_solution(vector<int> sol[]) {
sol[i].push_back(s_depart);
}
+void goto_etoile2(vector<int> sol[]) {
+
+ for (int i = 0; i < n_vehicules; i++) {
+ double x = .4 * (1+cos(2*i*M_PI/n_vehicules));
+ double y = .4 * (1+sin(2*i*M_PI/n_vehicules));
+ int p = plus_proche_norm(x, y);
+ sol[i].push_back(p);
+ fprintf(stderr, "Etoile2 %d: %lf, %lf -> %d (%lf, %lf)\n", i, x, y, p, longitude[p], latitude[p]);
+ }
+
+}
void goto_etoile(vector<int> sol[]) {
- for (int i = 0; i < n_vehicules; i++)
- sol[i].push_back(plus_proche_norm(.5 * (1+cos(2*M_PI/n_vehicules)), .5 * (1+sin(2*M_PI/n_vehicules))));
+ for (int i = 0; i < n_vehicules; i++) {
+ double x = .5 * (1+cos(2*i*M_PI/n_vehicules));
+ double y = .5 * (1+sin(2*i*M_PI/n_vehicules));
+ int p = plus_proche_norm(x, y);
+ sol[i].push_back(p);
+ fprintf(stderr, "Etoile %d: %lf, %lf -> %d (%lf, %lf)\n", i, x, y, p, longitude[p], latitude[p]);
+ }
}
-//
-// int main(){
-// srand(time(NULL));
-// lecture_entree();
-//
-// printf("%d\n",n_vehicules);
-// for(int i=0;i<n_vehicules;i++){
-// int t=0;
-// int pt=depart;
-//
-// vector<int> blah;
-// blah.push_back(depart);
-// while(true){
-// int d=rand()%(adj[pt].size());
-// if(t+adj2[pt][d].cout>t_autorise) break;
-// t+=adj2[pt][d].cout;
-// blah.push_back(adj2[pt][d].arrivee);
-// pt=adj2[pt][d].arrivee;
-// }
-// printf("%d\n",blah.size());
-// for(int i=0;i<blah.size();i++){printf("%d\n",blah[i]);}
-// }
-//
-//
-//
-// }
-
+void lire_solution(const char *filename, vector<int> sol[]) {
+ FILE *fp = fopen(filename, "r");
+ if (!fp) {
+ fprintf(stderr, "Vérifie '%s'\n", filename);
+ exit(1);
+ }
+ int n_veh;
+ fscanf(fp, "%d", &n_veh);
+ for (int v = 0; v < n_veh; v++) {
+ int size;
+ fscanf(fp, "%d", &size);
+ for (int i = 0; i < size; i++) {
+ int n;
+ fscanf(fp, "%d", &n);
+ sol[v].push_back(n);
+ }
+ }
+ fclose(fp);
+}
diff --git a/contest/mc/output_deep b/contest/mc/output_deep
@@ -0,0 +1,25723 @@
+8
+3447
+4516
+7281
+2751
+2239
+7075
+8109
+9480
+9224
+2890
+4501
+8399
+8401
+5819
+9855
+1786
+4581
+10057
+2144
+6125
+3611
+7610
+5953
+10241
+7392
+9074
+155
+3924
+9098
+1018
+3295
+3625
+9124
+5515
+378
+3839
+6126
+430
+7481
+9578
+4988
+6899
+2049
+1658
+2483
+9522
+876
+8780
+2700
+10336
+7727
+2359
+1555
+42
+434
+10216
+6571
+5221
+6249
+8659
+9926
+9407
+5068
+2611
+4164
+9481
+1074
+10043
+8573
+4033
+3819
+8097
+4204
+1841
+5832
+9020
+7641
+7112
+8630
+11005
+10105
+6486
+10657
+2004
+1607
+9133
+3118
+3853
+7737
+2445
+8254
+3118
+7342
+4730
+326
+7893
+5811
+5476
+1309
+7200
+5191
+4399
+5826
+3214
+10581
+7620
+10844
+10222
+5391
+11104
+1760
+10648
+7243
+8490
+2793
+611
+7003
+4199
+1454
+267
+7422
+5603
+4081
+2250
+5480
+7792
+2174
+9215
+10152
+7902
+5514
+9596
+2354
+6936
+7738
+3111
+1885
+3272
+5157
+7556
+2404
+10460
+1797
+1609
+9542
+4487
+4412
+278
+3396
+10438
+1609
+1797
+6595
+6831
+4504
+3526
+3662
+9718
+11307
+3023
+11032
+5802
+5480
+10964
+737
+4814
+798
+7061
+4692
+4275
+10368
+1667
+10263
+10311
+729
+2228
+548
+11339
+509
+3079
+269
+11051
+2338
+9127
+1536
+10249
+269
+2847
+9976
+9594
+1629
+246
+6641
+10500
+6768
+1225
+2591
+323
+8339
+4752
+4659
+1446
+2554
+9199
+1534
+6839
+5905
+274
+3340
+7551
+1048
+5612
+3833
+5499
+11268
+5085
+6872
+10570
+3573
+3916
+4262
+1524
+3929
+7822
+7456
+2451
+3293
+4836
+7504
+6393
+129
+9949
+2711
+306
+3007
+4359
+5110
+10117
+5110
+2994
+1806
+8422
+7114
+2644
+10482
+3951
+1699
+8967
+3363
+7983
+6516
+3799
+1209
+807
+6146
+4100
+10977
+101
+7202
+145
+7202
+5759
+72
+2528
+2523
+4858
+9291
+9061
+826
+7413
+2705
+27
+6525
+8130
+1874
+9162
+4854
+6355
+1717
+27
+499
+11321
+6659
+6984
+8343
+6565
+89
+69
+11097
+7102
+5973
+1215
+7026
+8503
+1596
+2657
+9977
+2924
+988
+5683
+8697
+416
+3792
+10866
+1184
+9815
+1728
+8498
+951
+5936
+9505
+9144
+8938
+9277
+5176
+10422
+4245
+9144
+9505
+6506
+2560
+10824
+1191
+6387
+9383
+6255
+3927
+1839
+8058
+6255
+4394
+10524
+7762
+584
+6725
+1221
+5824
+7762
+6725
+1221
+1564
+7378
+5955
+7435
+4789
+5975
+7206
+5206
+4462
+445
+502
+1233
+4210
+2179
+10662
+5901
+1731
+10971
+10985
+6872
+9810
+5612
+1048
+6995
+4051
+10585
+8339
+428
+11247
+5413
+9485
+6548
+5547
+3403
+5653
+4742
+888
+4400
+8333
+45
+8745
+9200
+9622
+6915
+9659
+6094
+10641
+9777
+221
+3066
+3684
+10736
+9908
+10736
+925
+10052
+11251
+6101
+10117
+5110
+2994
+1806
+8422
+7114
+2644
+1502
+9483
+7968
+5180
+4982
+3240
+753
+8705
+1502
+3240
+5776
+9023
+9779
+10514
+5611
+2741
+2317
+7665
+6065
+7143
+9817
+6742
+6145
+4634
+8668
+9867
+2569
+6383
+10776
+8274
+8436
+11234
+5886
+1645
+3146
+9585
+11049
+5892
+10378
+11293
+10378
+4229
+1163
+2597
+10146
+6471
+1245
+6401
+8112
+9001
+8579
+3912
+8925
+556
+6484
+5845
+556
+9897
+10404
+6604
+9311
+8398
+2212
+4623
+3117
+5565
+11079
+213
+3116
+6822
+9972
+417
+10552
+10794
+9063
+7489
+9168
+3258
+5081
+7198
+6834
+9077
+6669
+6600
+5957
+7414
+4
+9581
+6155
+11140
+582
+3336
+6669
+9077
+5902
+3073
+6012
+1368
+1329
+7458
+7878
+8029
+3073
+6012
+3893
+426
+10086
+10960
+10048
+2252
+1947
+7810
+3424
+3025
+214
+8564
+2990
+11179
+11174
+4985
+11135
+10772
+5535
+8694
+545
+9985
+5639
+2455
+10095
+6523
+3141
+5742
+7613
+116
+53
+5156
+2713
+9910
+10454
+1778
+5809
+5945
+8624
+5078
+9933
+3521
+8628
+5966
+7088
+643
+12
+3840
+4378
+5918
+3231
+5420
+3941
+8273
+10940
+4183
+8771
+210
+2992
+6985
+6151
+1498
+6329
+6579
+6960
+3624
+9319
+1600
+10861
+10675
+10129
+4599
+4526
+2931
+8616
+718
+5490
+10861
+3881
+9319
+7827
+2613
+8063
+1560
+5372
+7607
+5164
+9209
+3309
+8256
+805
+8711
+253
+9213
+4027
+10795
+403
+4027
+10795
+3735
+4538
+7692
+5680
+11148
+7673
+8990
+6781
+7500
+2319
+1761
+5393
+9970
+10205
+654
+3387
+10346
+8171
+2464
+6359
+1022
+10498
+2154
+10574
+7480
+3537
+2852
+1894
+10704
+629
+11332
+777
+5644
+10851
+12
+5415
+4950
+9266
+5642
+10508
+954
+4875
+7480
+10574
+1300
+5810
+1621
+1480
+4819
+8200
+2878
+9508
+10498
+2449
+11195
+3421
+6747
+7331
+337
+8922
+10290
+8325
+7009
+5910
+2372
+4193
+2373
+5385
+324
+7825
+3274
+2699
+9746
+8644
+10914
+9209
+9246
+2699
+9746
+6572
+8559
+7268
+2826
+2062
+6206
+6796
+7898
+9453
+3533
+1975
+5107
+1207
+2515
+10024
+9083
+2399
+1053
+10914
+9209
+3309
+8256
+10679
+636
+5073
+2984
+496
+3975
+2584
+6845
+9462
+11304
+3975
+496
+8405
+4003
+7103
+6061
+3386
+4170
+6461
+318
+6730
+7170
+5052
+1623
+1135
+2394
+962
+8616
+3881
+9319
+3624
+1777
+6367
+3274
+2699
+7825
+6477
+5385
+2373
+4448
+9276
+7539
+8510
+5420
+3941
+5918
+5435
+10940
+2810
+4194
+11008
+4378
+9500
+1956
+5966
+7088
+1597
+5229
+956
+1058
+8909
+4867
+4835
+1938
+10357
+8892
+8534
+11018
+3711
+11190
+1377
+5697
+10729
+711
+9749
+8295
+5639
+11162
+4631
+1104
+8524
+5535
+10772
+10106
+10401
+9278
+9410
+9809
+4391
+3888
+6272
+6726
+4757
+4470
+605
+9915
+7438
+3084
+8340
+3562
+2313
+3236
+4641
+7077
+9784
+4324
+622
+3471
+7656
+11156
+7754
+3968
+9337
+10159
+2840
+339
+750
+5838
+884
+10274
+5968
+4413
+5606
+17
+9640
+2583
+9402
+451
+6517
+11154
+1688
+2052
+10359
+4716
+2065
+7701
+10359
+1695
+706
+10417
+10979
+5214
+3283
+1747
+3630
+1259
+5551
+3580
+9317
+7464
+11139
+8107
+3692
+3283
+1747
+3630
+10620
+5323
+10547
+10026
+218
+9875
+9957
+2622
+291
+3061
+9585
+3146
+8348
+1976
+5339
+7495
+4166
+11092
+6468
+4523
+4618
+4302
+6972
+2012
+11337
+4496
+4248
+1573
+3388
+1188
+790
+6389
+8158
+1869
+1206
+6450
+7813
+11111
+4255
+8289
+9744
+4881
+172
+2389
+10080
+443
+3225
+8318
+2073
+2651
+6647
+9445
+7047
+2497
+6169
+9445
+4578
+11137
+5770
+3225
+8318
+2687
+8785
+443
+3225
+8318
+2073
+2651
+6647
+5677
+3469
+7691
+1909
+9052
+799
+2012
+11337
+4496
+8829
+7364
+2706
+10838
+2706
+4933
+6437
+7767
+765
+417
+9972
+6822
+3116
+1039
+999
+2153
+10030
+10199
+2335
+1039
+6822
+3116
+213
+11079
+5565
+4546
+3146
+6785
+309
+10100
+6388
+1645
+583
+1430
+232
+4017
+3110
+10993
+9259
+9840
+7795
+9229
+8660
+368
+2596
+7823
+1537
+6340
+3694
+8488
+112
+661
+2362
+2117
+2476
+8737
+1405
+11016
+2842
+1706
+57
+2542
+7267
+2970
+8576
+8385
+1735
+1857
+6340
+3694
+11038
+7566
+1733
+8270
+2707
+8416
+4233
+8155
+10128
+10802
+3961
+3845
+6168
+3060
+8674
+1273
+6357
+10620
+9781
+10288
+692
+5930
+7655
+7566
+1733
+10802
+10128
+7479
+10993
+3110
+11236
+5117
+4017
+5117
+10215
+1430
+232
+9259
+9840
+7479
+7795
+9229
+8660
+368
+8416
+4233
+8270
+2707
+1882
+7823
+1537
+9956
+1363
+6187
+7618
+10445
+2163
+4218
+9683
+5301
+7600
+6439
+10833
+3939
+5311
+9745
+484
+8606
+6977
+5231
+9859
+780
+8443
+3590
+1478
+1922
+7216
+11275
+9140
+3968
+9337
+10159
+6017
+7001
+5296
+7656
+2201
+1948
+3728
+7286
+5621
+4825
+374
+2642
+780
+9859
+5231
+9431
+7024
+917
+9681
+115
+7024
+9431
+5398
+3691
+6348
+1918
+4828
+10876
+2701
+10201
+9905
+6744
+2568
+2792
+4295
+5815
+11196
+4246
+1073
+10863
+867
+10458
+11196
+4246
+1073
+10863
+1592
+9948
+1944
+5812
+9258
+5812
+7169
+2242
+9520
+5531
+7135
+4090
+6171
+6375
+11118
+11172
+4466
+2282
+8381
+1100
+9808
+152
+4414
+7161
+10879
+8331
+3189
+8497
+3460
+8094
+9536
+4912
+10242
+169
+3681
+859
+5522
+7307
+4274
+10613
+134
+1458
+9582
+6329
+6579
+6496
+3482
+210
+8771
+6029
+2972
+7098
+5633
+7183
+7533
+1457
+8571
+8999
+621
+9879
+7760
+7613
+5742
+3141
+4388
+5651
+4812
+10309
+4998
+7908
+4812
+3643
+3530
+3010
+6567
+7438
+3084
+5628
+605
+6726
+4391
+10401
+9278
+5656
+5185
+10772
+11135
+8564
+5114
+3424
+3025
+7433
+1035
+8986
+11149
+5656
+5185
+117
+1035
+8986
+10471
+10640
+1807
+9410
+9809
+4391
+3888
+7179
+4076
+9688
+11007
+8524
+5535
+10874
+1566
+11174
+11179
+1768
+655
+1768
+7461
+5882
+4178
+7555
+7461
+11232
+1970
+6251
+4891
+8175
+10168
+3904
+8800
+9561
+4615
+6196
+6004
+1060
+3639
+6004
+6196
+8445
+8557
+9601
+6117
+1299
+10078
+10941
+3554
+2390
+7950
+2955
+2652
+10420
+7996
+1205
+9704
+10420
+7996
+11111
+4255
+8289
+9744
+7601
+4770
+2731
+597
+3513
+9187
+1303
+9084
+11137
+5770
+2928
+412
+1015
+8116
+4770
+7601
+4881
+7619
+7813
+11111
+6119
+1905
+7414
+1905
+7051
+7919
+5017
+6119
+1205
+9704
+11109
+1602
+2966
+4913
+4386
+11219
+4784
+3639
+6004
+6196
+4615
+9561
+6219
+6710
+11334
+9015
+5432
+8103
+5432
+613
+3351
+634
+4788
+9587
+2421
+3402
+2996
+479
+8073
+7913
+11044
+9525
+6150
+10610
+6209
+7196
+11246
+435
+8072
+8575
+10521
+9004
+1451
+6890
+5218
+707
+5282
+7155
+5494
+7858
+5282
+7155
+1736
+11190
+2294
+1377
+5697
+4344
+10729
+5697
+2997
+3711
+11190
+1377
+8688
+7454
+11265
+3787
+9285
+10935
+4310
+545
+9985
+11285
+4310
+545
+9985
+5639
+2455
+10173
+10095
+6523
+3141
+5742
+10606
+7820
+5326
+3010
+5326
+7820
+10606
+5742
+3199
+5742
+7613
+8403
+4065
+8974
+8304
+7100
+9500
+1956
+5966
+8628
+3547
+673
+5156
+53
+116
+4919
+9391
+2072
+6949
+4919
+9391
+621
+9879
+6900
+10253
+10756
+5094
+6661
+11279
+2770
+3034
+4183
+1057
+4509
+7183
+7098
+5080
+9864
+5686
+10039
+5158
+8816
+5696
+8652
+6601
+8635
+7946
+7369
+2478
+7399
+4924
+8346
+4553
+2478
+7399
+8652
+5696
+5146
+7625
+8763
+859
+3681
+7777
+6881
+5855
+5047
+3029
+1513
+10568
+7575
+2398
+667
+9813
+2697
+4010
+8142
+2649
+4480
+5101
+453
+10717
+5054
+4010
+8142
+9813
+2697
+2413
+8259
+10455
+1572
+2846
+9624
+6291
+8632
+9352
+10825
+6739
+6208
+10388
+746
+302
+7470
+9914
+898
+7580
+1425
+2691
+6828
+302
+7470
+6514
+4047
+6766
+10300
+11116
+5645
+1428
+3753
+3319
+5482
+10538
+7073
+821
+4841
+9898
+9557
+37
+7860
+11086
+8563
+4627
+7865
+1946
+1486
+9138
+2545
+10856
+5288
+8514
+5524
+10450
+4398
+7233
+7113
+9423
+1684
+11047
+4158
+6551
+5571
+4349
+10185
+9734
+4702
+8202
+6609
+5357
+5533
+11110
+10181
+418
+150
+2649
+2412
+4010
+8142
+957
+667
+7575
+2321
+1152
+4383
+3221
+4708
+237
+6135
+9079
+4708
+8180
+3978
+10185
+5328
+104
+1684
+11047
+4158
+6551
+9895
+2017
+10684
+4932
+8010
+9921
+4620
+9579
+3552
+7312
+6826
+7548
+8284
+630
+7367
+5948
+994
+3989
+134
+1458
+9582
+6329
+6579
+1804
+1777
+6367
+3274
+2699
+489
+8063
+1560
+5372
+5052
+1623
+10304
+726
+1560
+5372
+5052
+7170
+7140
+5850
+5073
+1972
+805
+8711
+253
+9213
+6845
+9462
+11304
+5073
+2984
+496
+8405
+10020
+4003
+7103
+6061
+4361
+5312
+10795
+3735
+2159
+5312
+2584
+6845
+9462
+8711
+253
+9213
+4027
+10795
+403
+8875
+7692
+5680
+3030
+10175
+9951
+1103
+3352
+400
+1069
+7227
+4660
+88
+7156
+4538
+7692
+5680
+3030
+1164
+7673
+8990
+6781
+7500
+2319
+1761
+5393
+9970
+3990
+7212
+2985
+654
+3387
+5399
+2464
+6359
+4417
+10008
+2878
+9508
+10498
+2154
+10574
+1300
+9759
+4579
+1040
+1758
+4755
+9475
+5871
+9653
+944
+10674
+8099
+3537
+2852
+1894
+10704
+629
+5415
+4950
+735
+8510
+7396
+8510
+7539
+8325
+7009
+5910
+4584
+2372
+4193
+6572
+8559
+7268
+2826
+2062
+6206
+4584
+9548
+11195
+3421
+7331
+337
+8922
+4008
+10508
+954
+4875
+879
+8188
+7839
+8550
+7480
+10574
+1300
+5810
+4332
+10929
+4332
+5382
+8883
+6568
+8200
+2878
+10008
+4417
+10945
+4340
+3634
+3626
+8538
+5462
+6717
+1345
+6536
+6295
+8819
+11308
+1761
+5393
+9147
+7746
+2499
+5304
+1226
+3192
+8641
+674
+2978
+1053
+10914
+9209
+5164
+7607
+5372
+5052
+1623
+1135
+6461
+2931
+8616
+718
+4526
+6177
+9870
+2494
+971
+11022
+6432
+1296
+11131
+4507
+4865
+11295
+11087
+1134
+8601
+1350
+9268
+1934
+7208
+7506
+1350
+8601
+7393
+380
+3099
+7393
+380
+10232
+6989
+2159
+6989
+10020
+4003
+7103
+4170
+3386
+11022
+6779
+971
+2494
+5579
+8010
+9921
+4620
+6392
+7548
+8284
+1114
+4954
+7307
+5522
+859
+3681
+7777
+6881
+6743
+4979
+5522
+5146
+7625
+5266
+8956
+6740
+2567
+7558
+5029
+2555
+8094
+8905
+10568
+2321
+6527
+2398
+204
+10041
+6609
+150
+2649
+4480
+5408
+10717
+453
+2893
+6761
+5336
+5152
+6291
+8632
+773
+6828
+10388
+746
+9751
+2468
+2818
+9304
+2181
+6006
+5441
+7478
+6233
+9495
+1539
+567
+8487
+6472
+6808
+11116
+5645
+1486
+9138
+2545
+2440
+958
+9399
+4137
+6235
+6928
+9890
+5909
+4811
+4430
+6733
+4098
+10513
+211
+2618
+866
+3811
+4371
+3489
+6715
+596
+6581
+358
+1277
+1935
+4849
+7083
+9669
+5389
+9669
+1559
+7542
+2703
+3642
+5589
+2196
+5805
+3854
+2981
+6436
+3764
+9175
+8269
+2461
+2886
+7552
+9534
+8742
+8269
+5692
+1466
+3889
+3842
+10774
+1659
+4099
+1901
+11123
+1802
+4099
+1901
+9783
+6190
+1270
+3285
+854
+3496
+1853
+5530
+9635
+3942
+5313
+10132
+7371
+395
+6646
+10520
+6510
+599
+8003
+4609
+9960
+10623
+395
+8440
+4609
+9960
+3088
+3942
+5313
+10623
+10132
+7371
+5258
+9670
+5421
+10713
+2119
+941
+11189
+6232
+2263
+6636
+5292
+4556
+7537
+10389
+11129
+4006
+8612
+10214
+11129
+10389
+1716
+9496
+5270
+10801
+4823
+7606
+6543
+5988
+4384
+5695
+7889
+4384
+7146
+10413
+2659
+3718
+2943
+4707
+3476
+6922
+8026
+5418
+1715
+1386
+1266
+3914
+3253
+192
+10707
+2940
+1662
+3996
+9076
+6300
+7728
+10516
+8495
+9371
+5979
+6422
+2385
+3356
+5979
+1224
+1992
+6422
+2385
+3356
+11065
+3825
+1514
+5808
+2830
+4459
+9674
+2199
+7377
+10153
+11317
+4083
+9658
+9834
+9658
+6462
+73
+7117
+3269
+3011
+1463
+6363
+1376
+10846
+6597
+475
+8721
+10015
+3528
+1666
+3648
+9154
+11117
+8962
+4748
+1173
+4077
+2087
+507
+8566
+1526
+586
+10789
+2592
+9018
+10386
+9398
+11328
+9901
+6014
+4345
+7963
+10247
+9901
+2114
+11238
+6697
+10012
+5772
+7265
+6773
+966
+5758
+6469
+11280
+7360
+2802
+6594
+1683
+2146
+6934
+6380
+11165
+2832
+9378
+4670
+3009
+10918
+2315
+3243
+4680
+2037
+7635
+9499
+7096
+536
+2056
+7349
+7569
+9190
+1339
+2021
+6366
+4670
+9375
+1027
+8787
+5197
+6227
+5197
+6556
+66
+2424
+9087
+5212
+6556
+66
+9671
+837
+4532
+465
+1526
+9165
+10374
+8734
+966
+5758
+6469
+11280
+7360
+2802
+10779
+7395
+5053
+1683
+265
+6702
+8580
+5818
+8262
+9080
+6022
+4401
+7163
+9696
+5438
+6576
+474
+1332
+8932
+938
+9412
+7226
+4884
+8567
+6799
+4650
+8567
+6799
+6446
+2727
+6813
+7775
+10746
+837
+9671
+6227
+5197
+266
+5668
+10517
+10806
+8835
+4656
+9267
+7688
+10816
+4063
+2051
+1172
+8046
+6959
+5189
+852
+2869
+8185
+5189
+6959
+5927
+1110
+5938
+1027
+7395
+5053
+8220
+9375
+5453
+3095
+4999
+8531
+2967
+231
+2108
+8190
+5317
+11324
+8464
+11324
+8185
+5189
+852
+9149
+2967
+3371
+6515
+10792
+6366
+9906
+9312
+2021
+6366
+4670
+9375
+1027
+7395
+5053
+10779
+7395
+5053
+6594
+1683
+11146
+3675
+9531
+7417
+5803
+11146
+3675
+9531
+7417
+967
+3875
+3003
+9782
+4885
+11122
+9057
+9031
+4709
+2694
+5537
+7885
+9476
+8044
+7652
+10338
+7917
+3891
+338
+6273
+10433
+8011
+10338
+7917
+8664
+4593
+6934
+6380
+9378
+4670
+3095
+4999
+8531
+2967
+231
+2579
+10534
+1360
+995
+3805
+8226
+8882
+5252
+704
+5507
+8681
+6500
+5268
+8882
+5252
+704
+5507
+3391
+10343
+3349
+9634
+10343
+3313
+11020
+7951
+4253
+1024
+5920
+2140
+4049
+5920
+2140
+7666
+3635
+5993
+11102
+3542
+165
+191
+2155
+7814
+6738
+11188
+5674
+1374
+5016
+8300
+4281
+1670
+2825
+6649
+2221
+3306
+2936
+10031
+10356
+4878
+6058
+980
+9664
+6282
+10565
+4917
+10001
+3437
+3814
+3731
+4206
+3463
+10504
+3913
+7363
+864
+1180
+4878
+6058
+10315
+4150
+2580
+1375
+546
+2450
+9455
+2429
+7176
+8945
+10594
+2865
+229
+9193
+2340
+1914
+2619
+4298
+4596
+10294
+3219
+5444
+3416
+3622
+4471
+921
+10107
+4565
+7033
+4758
+1409
+5762
+10303
+2717
+6809
+3816
+5243
+907
+6104
+3373
+2138
+1580
+6104
+9082
+3864
+3219
+5444
+3416
+3622
+9193
+2340
+5874
+10664
+2896
+96
+2779
+2340
+9193
+8805
+200
+9600
+4596
+8854
+905
+4377
+9987
+5873
+1610
+4528
+7086
+10943
+3306
+2936
+9602
+9649
+687
+7804
+1431
+3685
+6871
+4281
+1670
+5674
+1374
+11257
+7814
+2155
+3579
+7394
+6224
+4116
+10888
+2458
+2683
+551
+9161
+495
+1503
+4311
+7849
+2825
+6649
+7804
+1431
+7261
+10031
+10356
+4878
+9664
+6282
+4917
+10001
+10728
+7850
+864
+7850
+10728
+7916
+7419
+3731
+2148
+6616
+8650
+9633
+8337
+5400
+1049
+8198
+7144
+614
+5544
+9873
+1755
+3913
+10504
+7916
+11230
+9322
+3437
+3814
+282
+1375
+546
+2450
+9455
+632
+6547
+8032
+2820
+7941
+4684
+5210
+7021
+8823
+1250
+3213
+7604
+5302
+9299
+6082
+10804
+7941
+9322
+10728
+7850
+864
+1180
+8558
+1864
+10256
+3685
+6871
+1490
+10488
+2326
+8300
+4281
+1670
+2825
+10943
+4750
+10893
+2180
+3035
+4377
+9329
+7793
+7588
+6129
+1042
+5011
+2734
+8127
+10293
+8127
+7670
+10212
+4123
+2837
+4906
+5368
+10025
+10571
+2683
+2458
+7505
+8584
+5446
+8461
+6981
+5578
+2379
+4326
+8536
+6332
+3581
+8108
+6981
+5578
+8536
+6332
+3581
+9589
+7184
+3498
+3317
+8041
+7373
+2754
+6332
+3581
+9589
+7184
+7425
+3577
+1996
+5904
+4864
+8098
+3820
+4700
+2225
+10407
+5527
+5623
+8756
+457
+7837
+846
+10340
+699
+6476
+9611
+10627
+9153
+6195
+8448
+7093
+10259
+9153
+6195
+8448
+7093
+9016
+7721
+438
+6943
+11124
+2639
+6999
+9459
+11088
+10678
+10112
+4691
+10142
+8378
+5857
+7571
+4734
+1364
+9182
+7952
+1691
+7429
+8642
+8125
+955
+9249
+7431
+9122
+3981
+4125
+8871
+3699
+7375
+5585
+8678
+9113
+7375
+8893
+1775
+7431
+3900
+10761
+6220
+7032
+8700
+9024
+3738
+6307
+1632
+10921
+10494
+4019
+7518
+11003
+8854
+7022
+6296
+2854
+6296
+9082
+3864
+907
+6104
+3373
+2138
+862
+6809
+2717
+10303
+5762
+1409
+6166
+1254
+4960
+7540
+4139
+3931
+2553
+5747
+7221
+6245
+3901
+8832
+5236
+7221
+6245
+11138
+8663
+6655
+4458
+4231
+4087
+6790
+1413
+933
+8832
+10811
+6886
+2016
+10942
+4453
+641
+6599
+1254
+2993
+8354
+4758
+1409
+6166
+1254
+2993
+8354
+4721
+7033
+4758
+1409
+5762
+10303
+2717
+862
+2138
+1580
+3816
+5243
+907
+3864
+3219
+5444
+3416
+3622
+4471
+10594
+2865
+4150
+4732
+96
+2779
+2340
+1914
+4729
+3035
+4377
+9987
+5873
+1610
+5729
+8515
+11267
+6951
+9161
+495
+1503
+4311
+10709
+6771
+6738
+1374
+11257
+7814
+2155
+191
+4049
+5920
+2140
+1024
+4465
+7643
+10961
+1351
+5423
+6501
+7643
+4465
+1024
+5920
+5596
+3051
+4610
+5786
+5732
+10279
+5587
+6176
+523
+11020
+7951
+5587
+6176
+523
+11073
+4285
+10292
+8586
+6918
+2616
+2261
+2194
+510
+4610
+5786
+5732
+6607
+8438
+10292
+8586
+6918
+2616
+2261
+10904
+2352
+5906
+1495
+3498
+6157
+7425
+3577
+1996
+5904
+7333
+6777
+1119
+9438
+4864
+8098
+3820
+4700
+2225
+10407
+4306
+1612
+4129
+6482
+4994
+9900
+700
+6002
+2211
+4519
+10335
+8813
+6509
+7309
+4519
+10335
+693
+10875
+7726
+9900
+700
+5678
+5280
+86
+9024
+3738
+6307
+2947
+8283
+6045
+7347
+9243
+3806
+6240
+877
+7060
+5796
+388
+2947
+8283
+6045
+7347
+1294
+7060
+10055
+2655
+2408
+2260
+3738
+8700
+7032
+6407
+2946
+2103
+3674
+1005
+3844
+11151
+10022
+9920
+10344
+1121
+1529
+8972
+7002
+3395
+11076
+6413
+4569
+1121
+1529
+8972
+2532
+6143
+3395
+11076
+6413
+4569
+7002
+3395
+11076
+6413
+3746
+4710
+4231
+4458
+5131
+9273
+4045
+9075
+3809
+945
+9203
+161
+1981
+564
+10996
+945
+2822
+2482
+5334
+9615
+3241
+5583
+10542
+5636
+6228
+8720
+6751
+3170
+9860
+4521
+8532
+6758
+4234
+30
+4860
+1000
+7228
+7222
+7731
+8776
+11314
+5172
+8434
+7203
+10957
+724
+10306
+2224
+2396
+56
+7283
+4883
+10061
+4883
+7514
+9647
+8792
+6283
+6279
+436
+5198
+2850
+10539
+10998
+10539
+3863
+1579
+7429
+8642
+8125
+11160
+10087
+3137
+2894
+5841
+7063
+10432
+9409
+9029
+1743
+3145
+519
+3329
+11037
+3962
+8229
+3661
+11037
+3329
+7571
+5857
+8378
+4838
+6924
+4838
+10112
+4691
+7800
+4174
+7029
+7800
+10678
+11088
+10125
+5345
+1517
+7339
+5345
+6121
+730
+2327
+681
+4016
+6074
+2262
+5720
+1440
+8948
+10650
+2745
+255
+4606
+2184
+10297
+1151
+9555
+2841
+4809
+142
+1892
+9086
+2756
+4964
+10479
+8358
+3044
+10479
+8358
+6390
+6887
+1966
+10852
+3126
+1782
+3984
+6625
+10010
+393
+8117
+6346
+1406
+10006
+3290
+8918
+960
+3813
+11186
+10616
+563
+3198
+5013
+8151
+6222
+789
+3973
+11082
+1145
+3196
+6643
+1274
+6794
+10145
+2892
+9712
+7585
+9918
+3302
+5448
+3810
+5448
+8474
+10937
+442
+1766
+3494
+8485
+3207
+5373
+1872
+4790
+5020
+11288
+1262
+4035
+4953
+10991
+10981
+961
+1262
+10136
+10763
+10136
+5467
+3658
+6433
+649
+9100
+7502
+2301
+7087
+5042
+119
+9100
+649
+6433
+5058
+8767
+9206
+7300
+11113
+3736
+8279
+4360
+10860
+8696
+9527
+10394
+4844
+9642
+10841
+9642
+54
+4941
+2781
+5111
+9141
+10150
+2986
+9067
+719
+10860
+5419
+4225
+11113
+3736
+8279
+5193
+5940
+9332
+5276
+3105
+8708
+2817
+8123
+387
+8798
+7988
+5396
+2407
+1455
+2377
+1776
+9507
+8748
+9250
+1455
+9250
+8123
+387
+5072
+5778
+9059
+4503
+9716
+3230
+5915
+1403
+3406
+5827
+8122
+1836
+2208
+9124
+5515
+378
+9544
+4079
+1359
+8147
+335
+5141
+1461
+9210
+10278
+11243
+3457
+1120
+6996
+1847
+4817
+3507
+1037
+3162
+738
+6663
+5087
+7621
+4955
+8050
+3859
+2178
+2483
+9522
+876
+8890
+5365
+8780
+5310
+10336
+7727
+10447
+5470
+434
+5774
+657
+1045
+87
+6237
+5774
+657
+1874
+8130
+4026
+1717
+6355
+6852
+8101
+9449
+6057
+8206
+3992
+5365
+8780
+2700
+10946
+10447
+5470
+434
+10216
+6571
+5221
+6249
+8659
+9043
+10848
+7979
+8326
+5219
+193
+10348
+9367
+1650
+6459
+5440
+2486
+4204
+1841
+5832
+9020
+7641
+7112
+6416
+7076
+1841
+5832
+6416
+3087
+7112
+8630
+11005
+10105
+6804
+6563
+5963
+8633
+2434
+8345
+9737
+3578
+1261
+4922
+6563
+5963
+8633
+9737
+4341
+10629
+647
+258
+7125
+3374
+5082
+2539
+10822
+11244
+2961
+1618
+1752
+2961
+1618
+6753
+3368
+1341
+4385
+10600
+8332
+543
+2453
+6683
+329
+164
+5378
+10671
+2746
+5534
+7145
+4533
+4073
+7686
+3409
+4516
+7281
+2751
+2239
+7075
+8109
+9480
+9224
+2890
+4501
+8399
+8401
+5819
+9855
+1786
+4581
+10057
+2144
+6125
+3611
+7610
+5953
+10241
+7392
+9074
+155
+3924
+9098
+1018
+3295
+3625
+9124
+5515
+378
+3839
+6126
+430
+7481
+9578
+4988
+6899
+2049
+1658
+2483
+9522
+876
+8780
+2700
+10336
+7727
+2359
+1555
+42
+434
+10216
+6571
+5221
+6249
+8659
+9926
+9407
+5068
+2611
+4164
+9481
+1074
+10043
+8573
+4033
+3819
+8097
+4204
+1841
+5832
+9020
+7641
+7112
+8630
+11005
+10105
+6486
+10657
+2004
+1607
+9133
+3118
+3853
+7737
+2445
+8254
+9405
+6879
+3871
+2004
+2587
+10583
+6563
+6804
+10105
+6486
+2039
+7389
+8591
+1614
+8793
+5034
+4396
+7025
+5971
+9861
+8630
+7112
+3087
+5971
+7499
+5034
+4396
+9336
+7603
+10443
+5604
+3972
+416
+2684
+2728
+2392
+6617
+1482
+10077
+6770
+2110
+7302
+11210
+9673
+6277
+10657
+2004
+2587
+7342
+4730
+10561
+7634
+8923
+2085
+3812
+5491
+9874
+1993
+2226
+1752
+2961
+1618
+6753
+3368
+7958
+10973
+3071
+6050
+10676
+9546
+6898
+7010
+653
+4142
+4110
+6234
+1362
+3128
+7118
+4667
+4557
+10124
+7547
+4151
+4557
+7035
+6234
+4110
+10254
+9241
+4142
+9241
+6454
+11283
+5919
+10254
+1014
+3234
+9546
+1388
+10090
+1854
+2218
+6993
+1124
+3456
+5387
+10683
+3616
+7137
+683
+10683
+8777
+7717
+3784
+11193
+2077
+4628
+7136
+2116
+3410
+7035
+4557
+7028
+4664
+8977
+8523
+10124
+6666
+7436
+18
+7225
+7976
+11213
+4257
+11132
+2719
+5167
+1142
+9720
+3827
+6221
+6336
+6584
+6048
+8807
+6178
+8238
+15
+1906
+9245
+8309
+15
+11243
+3457
+1120
+4817
+3507
+8427
+7199
+6048
+8087
+1847
+4817
+3318
+10056
+4461
+9578
+8887
+6631
+10472
+5225
+5884
+3625
+3295
+7932
+7280
+8187
+7252
+6324
+3680
+6036
+9425
+9851
+7191
+2760
+10670
+10219
+7000
+9765
+2220
+8431
+8759
+8731
+602
+8431
+8759
+4736
+6210
+808
+2658
+5347
+10658
+8292
+6475
+6418
+6146
+9519
+6811
+9386
+10823
+3144
+896
+7413
+2705
+7034
+7704
+6852
+8101
+9449
+6057
+8206
+2796
+5939
+9110
+5556
+9105
+10769
+2612
+1606
+3169
+10472
+5225
+8118
+8186
+430
+58
+8147
+335
+1403
+9716
+9302
+6559
+3230
+5915
+1230
+1461
+9107
+4195
+4461
+6899
+2049
+1658
+2483
+9522
+876
+8780
+9035
+7275
+6877
+1646
+5102
+8544
+6377
+8803
+8052
+1834
+10907
+7698
+8379
+3191
+7040
+860
+2384
+10266
+6933
+8097
+3819
+949
+6492
+2742
+6593
+4602
+5932
+1198
+7324
+6877
+756
+9035
+2209
+876
+8890
+8298
+7797
+407
+7329
+3080
+8887
+8186
+7481
+9578
+4988
+6899
+2049
+8733
+7186
+3318
+10056
+764
+9000
+8830
+330
+10645
+9210
+10278
+1906
+9245
+296
+10850
+8455
+3230
+9716
+4503
+1312
+8252
+2685
+5009
+3712
+3856
+9560
+9568
+2527
+6225
+3852
+8855
+298
+109
+9119
+732
+9482
+7806
+4989
+1627
+2630
+7157
+2278
+9060
+5115
+195
+10800
+195
+5263
+10491
+9990
+891
+2653
+4078
+549
+7870
+9838
+10234
+10817
+10954
+1098
+7082
+2490
+212
+4293
+8726
+7218
+11212
+5144
+4342
+9839
+9444
+7476
+7164
+9333
+3748
+8623
+2860
+10950
+8507
+7833
+328
+5227
+1877
+4904
+4559
+8502
+3089
+404
+6026
+463
+404
+2123
+7640
+1429
+404
+10115
+5908
+8655
+5972
+7964
+1456
+4198
+1553
+1954
+11013
+1861
+6323
+7523
+5717
+8395
+6741
+10557
+8293
+8717
+6564
+3005
+9597
+9070
+6931
+10267
+754
+7933
+3235
+5363
+5327
+6216
+5008
+10544
+5454
+4651
+2125
+3823
+3771
+9552
+508
+4242
+6859
+537
+11013
+7835
+7598
+6067
+8076
+537
+10329
+6846
+1651
+4267
+7444
+6976
+4203
+6435
+6931
+1960
+2272
+6216
+9693
+2716
+3958
+2232
+11299
+4570
+6443
+4888
+10716
+295
+10223
+2186
+1774
+6580
+6154
+2186
+1774
+3342
+9839
+9444
+979
+4227
+1569
+5563
+3056
+6778
+8947
+7109
+6784
+10258
+8621
+6023
+7654
+2509
+1347
+9556
+9128
+533
+9655
+1764
+1637
+2344
+9262
+8132
+10093
+10453
+7188
+4807
+6553
+10643
+8935
+7993
+9941
+801
+7732
+3621
+2207
+6479
+742
+6107
+2305
+8602
+7277
+2006
+260
+3641
+3345
+868
+646
+8794
+7014
+6653
+8280
+4695
+7209
+7718
+10954
+4607
+863
+2309
+7937
+10116
+8795
+8951
+5066
+1113
+120
+1031
+6838
+10188
+1789
+9799
+8376
+247
+7870
+7785
+7116
+8043
+3165
+1812
+6347
+891
+8675
+6365
+2805
+7491
+4155
+6557
+9363
+5591
+6079
+4207
+2383
+9550
+3770
+6373
+9969
+4101
+9816
+2663
+3849
+3971
+1334
+6033
+7568
+6170
+11287
+4357
+3380
+4896
+5228
+9950
+6668
+5442
+2782
+8520
+645
+6133
+1641
+1639
+10049
+175
+7622
+4038
+2608
+5075
+5188
+6349
+4915
+8744
+3894
+6441
+8744
+1133
+7862
+4172
+1628
+9085
+8228
+8232
+1255
+9871
+6433
+3658
+5467
+7192
+3510
+528
+4431
+2397
+7501
+6100
+8141
+8853
+10497
+4941
+2781
+5111
+54
+9642
+4844
+9275
+10841
+10176
+5467
+3617
+10763
+1262
+6849
+7783
+8324
+9733
+2496
+2000
+4277
+7783
+4547
+3658
+8441
+8767
+4225
+11113
+3736
+8279
+4360
+9263
+11036
+327
+11155
+2685
+1419
+2484
+9569
+4731
+9942
+5005
+8105
+3107
+3924
+9098
+1672
+10808
+2493
+3585
+5036
+2870
+3385
+9091
+4723
+5660
+10166
+8719
+4855
+3786
+1704
+9818
+6534
+3786
+10405
+6691
+1704
+8316
+2692
+10975
+2277
+7532
+9645
+10333
+906
+6105
+9486
+8023
+2783
+5465
+3130
+10198
+10140
+11194
+10510
+511
+7166
+4263
+11320
+1285
+7836
+9443
+2152
+4552
+6997
+10948
+3130
+11026
+6745
+6658
+9924
+9392
+1361
+4406
+8018
+10503
+9392
+1361
+9785
+7355
+6720
+10179
+331
+156
+3880
+4092
+6576
+474
+1332
+7291
+9230
+1518
+2487
+2537
+4923
+3795
+8057
+2487
+1518
+10768
+1332
+8932
+5416
+7213
+5818
+8262
+9080
+5504
+7417
+5803
+10667
+6446
+5772
+7265
+8734
+10984
+7775
+10746
+823
+8397
+716
+11063
+5197
+7395
+5053
+8220
+8702
+2832
+9378
+4670
+9375
+5453
+1110
+5938
+8787
+5197
+10806
+8835
+4656
+9267
+7688
+10816
+10934
+132
+8464
+1665
+4733
+4463
+7663
+11245
+7241
+10282
+4188
+7663
+6385
+10687
+10473
+2511
+1818
+47
+7562
+9619
+720
+8723
+1630
+5033
+6558
+10082
+7486
+8369
+2566
+10699
+2704
+7511
+5725
+8637
+7129
+7549
+11323
+5735
+1950
+7688
+10074
+2051
+1172
+8046
+6959
+9149
+2967
+3371
+1204
+4180
+6798
+1433
+10079
+520
+568
+4756
+7905
+8031
+11191
+4756
+7905
+8065
+7132
+4657
+7992
+8065
+7132
+10367
+33
+3520
+8020
+6
+7197
+2593
+547
+1367
+3113
+2415
+10720
+3534
+2150
+9521
+9828
+2446
+6049
+3459
+668
+94
+7955
+5359
+8084
+3106
+2856
+1917
+9493
+3106
+8213
+5025
+4739
+7351
+916
+8593
+7930
+6531
+9521
+6049
+2195
+4751
+8943
+4739
+7351
+916
+8593
+4633
+7782
+4571
+1814
+6665
+8667
+7851
+3775
+5837
+5431
+3947
+6760
+4766
+7960
+2094
+656
+1126
+7030
+3046
+313
+9723
+137
+4401
+7163
+9696
+9080
+5504
+7417
+8664
+4593
+6934
+3243
+4680
+7917
+8664
+9531
+7417
+967
+3875
+3003
+9782
+9057
+8449
+3875
+3003
+8253
+5209
+9069
+3591
+5959
+4439
+2415
+10530
+3933
+7815
+8615
+8420
+3046
+4626
+9102
+6214
+6938
+9966
+10419
+10286
+850
+6671
+2281
+3967
+6658
+5126
+6671
+2246
+2764
+1473
+159
+2466
+3531
+5990
+9588
+10737
+1126
+4626
+5787
+313
+9723
+6338
+1369
+7561
+1501
+1669
+9102
+10737
+1126
+7030
+10154
+1322
+11107
+10720
+1814
+6665
+11316
+7782
+319
+8362
+10141
+9806
+6583
+10701
+458
+8617
+2952
+390
+6194
+11153
+5788
+2952
+390
+4211
+4516
+7281
+2751
+2239
+3878
+2751
+2239
+7075
+8109
+601
+7572
+7075
+8109
+9480
+147
+5460
+7790
+4354
+2929
+5541
+6895
+8157
+5701
+10871
+2991
+8393
+3271
+5468
+5541
+6895
+4909
+4069
+4594
+2510
+5819
+10127
+11272
+4112
+5090
+2035
+8941
+5090
+2035
+3247
+811
+8677
+7759
+8399
+8401
+3601
+11272
+10127
+1786
+4581
+10057
+2144
+6125
+3611
+7610
+5953
+3585
+2870
+3385
+9091
+6821
+4301
+9091
+6821
+4301
+2493
+1412
+7787
+7392
+9074
+155
+3924
+9098
+1018
+3295
+3625
+9124
+5515
+378
+3839
+6126
+8118
+6631
+2130
+9105
+10769
+4649
+9179
+6057
+8206
+3992
+5365
+8780
+9035
+2209
+6843
+8050
+10431
+3162
+738
+1888
+7199
+9720
+2488
+4291
+9593
+243
+2346
+84
+2836
+5015
+10553
+9559
+8310
+10092
+6215
+3443
+8825
+8741
+2954
+4699
+1264
+1833
+2954
+11074
+8238
+9501
+3690
+10402
+1538
+5289
+1862
+8110
+168
+10280
+3687
+4456
+5538
+9177
+1068
+10857
+976
+5134
+10992
+900
+4976
+6044
+346
+10158
+1601
+131
+2501
+722
+5558
+4023
+10149
+722
+1081
+7515
+10735
+712
+3619
+8478
+712
+6860
+6602
+7744
+4243
+6908
+8595
+9703
+11286
+3315
+9955
+7986
+1965
+1481
+7602
+9892
+8811
+1776
+8195
+3105
+8708
+2817
+5778
+7650
+11155
+2685
+9456
+8886
+3884
+6979
+5935
+2732
+4235
+10225
+6832
+8981
+5050
+9478
+2781
+8404
+9141
+10150
+9067
+719
+10860
+5419
+8279
+5193
+5940
+8773
+9442
+4550
+9825
+9355
+715
+3637
+2145
+10742
+7365
+419
+3633
+6334
+6575
+4018
+9370
+8177
+8228
+8232
+1255
+9342
+10110
+1519
+9418
+3098
+203
+952
+10965
+11315
+6823
+4303
+1282
+3097
+728
+402
+2000
+10050
+3120
+8991
+9362
+1790
+8991
+9362
+1523
+4277
+6849
+7783
+6552
+1884
+1584
+3658
+5467
+7192
+4481
+9189
+10497
+6287
+3877
+9189
+1065
+7637
+3510
+5020
+11288
+5798
+3280
+2915
+5373
+1872
+2397
+7501
+10257
+4196
+7660
+6062
+1002
+2143
+9109
+10882
+7306
+8517
+7017
+7674
+4820
+2911
+5024
+4573
+6912
+3067
+271
+4163
+6244
+1453
+5751
+2197
+4331
+2311
+4572
+8942
+6643
+1274
+7630
+10145
+7630
+747
+6703
+10989
+2064
+8781
+2005
+3985
+747
+7630
+2185
+11269
+9712
+7585
+9918
+3302
+8477
+8994
+121
+883
+10635
+3810
+4653
+7640
+10965
+11315
+6199
+3287
+6451
+1212
+8710
+804
+402
+2000
+8324
+9733
+105
+1255
+9342
+9260
+1519
+9418
+2722
+105
+2198
+1884
+1584
+3658
+6433
+649
+264
+5058
+8767
+7300
+11113
+3736
+8279
+5193
+5940
+9332
+7432
+793
+2809
+308
+6016
+7211
+2097
+10628
+3638
+9338
+5942
+6866
+3177
+4031
+1404
+7531
+1552
+7616
+7205
+10923
+1149
+8134
+3108
+9040
+7798
+11021
+1404
+4031
+476
+10765
+5933
+5574
+9715
+10411
+4435
+8920
+2600
+10793
+1370
+2558
+9562
+7345
+9256
+8315
+8574
+4171
+1656
+9778
+3953
+3486
+1387
+9256
+62
+3868
+3955
+2452
+8815
+4800
+7432
+10121
+308
+3296
+8024
+2600
+10793
+6257
+6123
+10411
+9715
+5574
+3917
+6253
+7305
+10016
+1552
+7616
+6028
+1149
+8134
+1149
+10923
+7171
+3956
+5203
+7008
+1012
+3248
+8486
+10718
+7408
+6587
+1631
+3155
+5760
+8486
+10718
+7408
+8645
+2601
+5384
+515
+7214
+10224
+10782
+4980
+2479
+7380
+9909
+11264
+4718
+2531
+1511
+682
+3841
+7057
+5931
+9325
+3793
+812
+2808
+9577
+5931
+812
+8217
+9009
+748
+1055
+1395
+8192
+5175
+5463
+2204
+8869
+2995
+8248
+8687
+10412
+2506
+4238
+9377
+557
+9377
+8839
+7615
+5601
+2673
+7758
+3756
+11343
+2673
+7758
+9334
+174
+8248
+8687
+637
+7177
+10412
+7615
+2885
+9506
+7084
+10469
+1787
+5380
+7338
+6692
+8521
+9567
+1593
+6226
+9471
+9612
+2573
+2047
+2426
+814
+1471
+3641
+3345
+868
+4787
+11301
+4403
+3737
+924
+6189
+3946
+577
+4778
+5294
+28
+6942
+6837
+4252
+8598
+5652
+2456
+5256
+7716
+6308
+1828
+4568
+6182
+5129
+421
+762
+9121
+1185
+6217
+10202
+1578
+6613
+5652
+8730
+5618
+10988
+5488
+10522
+4829
+10988
+8730
+5618
+4013
+5097
+5084
+1868
+5479
+7716
+5652
+8598
+1138
+2136
+856
+9489
+8724
+9503
+6140
+10101
+5868
+6694
+5264
+2564
+7861
+2136
+856
+9489
+2292
+4095
+9301
+3946
+577
+4778
+5294
+10302
+1700
+8291
+7462
+7867
+4834
+9192
+5294
+3595
+7867
+4834
+5379
+7013
+365
+2213
+1001
+5165
+10439
+3828
+646
+8794
+7014
+6653
+11081
+6342
+3599
+8736
+6653
+11081
+10423
+9695
+3721
+3054
+10093
+10453
+7188
+1506
+8356
+4429
+6737
+2131
+8467
+10408
+7346
+3673
+1338
+5222
+11260
+11052
+5529
+10902
+9786
+5532
+8356
+1506
+5713
+1859
+11301
+4403
+3737
+924
+5165
+10439
+3705
+6983
+10339
+6526
+11166
+3553
+2838
+968
+1635
+1287
+9006
+10522
+4829
+4013
+5097
+11319
+10481
+1868
+5479
+3279
+10813
+10755
+4510
+4847
+3279
+10813
+4981
+1393
+7638
+1448
+3818
+5123
+570
+3895
+3818
+5123
+2724
+46
+5171
+9115
+10446
+9775
+1908
+3713
+6319
+3779
+10974
+816
+8271
+816
+8192
+5175
+8426
+8217
+812
+5931
+9325
+1316
+3726
+9343
+7385
+8209
+4029
+5978
+5950
+6298
+7249
+354
+176
+4037
+92
+4644
+10314
+8993
+6085
+4230
+226
+16
+10318
+16
+2884
+8827
+9925
+9473
+3157
+8241
+1751
+8241
+10324
+10463
+10298
+8322
+4588
+9196
+9390
+1390
+2129
+2222
+8472
+1016
+768
+1932
+9631
+9281
+429
+1044
+3991
+650
+6330
+11184
+9047
+8407
+10102
+2927
+4315
+4879
+1870
+9353
+3366
+9415
+6755
+10839
+320
+10969
+10200
+9366
+1382
+4799
+10969
+1105
+7947
+4978
+10200
+9366
+1079
+9869
+3307
+9251
+8199
+7967
+4296
+9313
+1679
+918
+3503
+2778
+4668
+1855
+8090
+4143
+4668
+1855
+90
+9638
+9591
+249
+5003
+10546
+5407
+9422
+2844
+8491
+6281
+9510
+7137
+3013
+9242
+7411
+3616
+7137
+683
+6498
+11242
+2491
+1358
+8328
+3420
+4862
+8307
+10546
+5407
+9422
+2083
+9721
+3475
+5517
+7583
+5916
+3233
+261
+11120
+8182
+7412
+4291
+3827
+9720
+2488
+6566
+4257
+1112
+672
+10005
+6508
+5103
+9973
+1571
+4096
+9973
+8803
+10365
+1694
+926
+5211
+10898
+11132
+4257
+1112
+315
+8955
+9971
+9307
+6570
+2535
+189
+6018
+6666
+10124
+7547
+3773
+714
+6344
+7739
+3695
+3866
+9218
+3036
+8079
+9185
+1603
+7118
+4667
+4557
+4664
+8977
+7436
+18
+8305
+5878
+7436
+18
+7225
+7976
+5916
+3233
+261
+11213
+4257
+2937
+8969
+672
+5103
+9973
+9170
+8052
+7852
+1541
+447
+2887
+7324
+9005
+608
+8286
+1792
+6020
+2359
+1555
+42
+434
+5774
+1910
+7747
+5221
+6249
+691
+9788
+7748
+657
+1045
+3992
+8298
+7797
+407
+3668
+827
+8900
+2483
+1447
+8451
+7186
+3318
+1348
+5386
+158
+10278
+11243
+3457
+920
+8087
+1847
+4817
+3507
+1037
+3162
+4955
+8050
+3859
+2178
+1447
+10622
+10431
+8451
+3507
+8427
+3807
+5374
+1037
+3162
+738
+6663
+5839
+4892
+4935
+1888
+83
+103
+3950
+9429
+1056
+7275
+6877
+8535
+9005
+1198
+5932
+2534
+4070
+8327
+7111
+3778
+1834
+7040
+860
+2384
+1718
+3393
+11175
+1355
+10266
+6933
+9791
+949
+6492
+11077
+1423
+197
+2848
+10033
+9926
+8659
+7979
+8326
+3743
+499
+3932
+2168
+7626
+3495
+5023
+4871
+7107
+9061
+826
+5023
+4871
+11057
+2916
+5062
+3932
+2168
+7626
+3495
+7413
+896
+1819
+5404
+145
+7202
+11098
+3223
+9981
+7517
+1251
+3799
+1209
+3719
+223
+10096
+455
+7935
+9981
+7935
+807
+9833
+4539
+7279
+11215
+3515
+2829
+3517
+8838
+2559
+822
+3515
+2829
+7605
+9641
+8120
+7875
+8705
+1502
+3240
+5776
+10270
+8797
+3072
+815
+7115
+8161
+3407
+6902
+10390
+9911
+6013
+8957
+10390
+9911
+5611
+10514
+6294
+6127
+2219
+9779
+10514
+5611
+2432
+10900
+3801
+3392
+5708
+1090
+3848
+375
+8267
+9155
+3259
+9421
+375
+8267
+9155
+9151
+10395
+1046
+4952
+5893
+4085
+5738
+7890
+5220
+7256
+59
+10011
+3461
+8790
+2223
+10612
+2223
+280
+4433
+2223
+280
+4479
+4442
+3365
+7890
+5738
+7722
+2214
+6731
+5893
+4085
+2029
+4937
+10195
+913
+5207
+1477
+2909
+250
+32
+806
+5512
+1826
+9725
+2330
+270
+6914
+9725
+1826
+802
+3850
+8897
+3572
+7840
+1664
+8373
+7052
+4908
+8769
+3997
+8210
+6193
+9553
+4114
+7390
+3976
+1320
+3245
+9094
+1235
+594
+10349
+4761
+1256
+8374
+1843
+8207
+9007
+9491
+3592
+3994
+3592
+5846
+2177
+7669
+9780
+7455
+882
+9628
+36
+9474
+9514
+648
+2349
+10962
+3096
+11344
+3409
+8568
+9714
+11050
+6163
+1557
+5883
+5356
+9866
+2347
+7094
+3264
+8761
+10633
+7586
+7246
+532
+10633
+8430
+7259
+1190
+2480
+5187
+8542
+7160
+7768
+2264
+772
+3325
+4554
+7527
+11066
+2428
+10926
+10920
+10372
+6030
+5666
+9961
+9497
+2963
+4086
+1549
+10476
+4956
+3926
+8054
+2133
+10164
+4927
+4525
+10220
+2230
+5862
+11150
+1136
+10654
+2105
+1268
+1873
+5736
+3921
+9762
+2069
+8860
+3316
+3921
+9762
+2069
+10217
+3493
+10703
+729
+10311
+10263
+1667
+10368
+2614
+10275
+3966
+1667
+6075
+6689
+3938
+1705
+3740
+8709
+830
+3277
+721
+9237
+10842
+5487
+3277
+721
+5136
+7153
+2442
+8014
+9389
+7158
+985
+11014
+7683
+1485
+6203
+9572
+9776
+7683
+11014
+2442
+8014
+2793
+611
+7003
+4567
+1953
+10387
+8114
+3076
+4567
+7003
+4199
+1454
+267
+7422
+3069
+6412
+439
+4765
+7483
+1987
+5965
+5844
+612
+3368
+1341
+5724
+1070
+3890
+5195
+6586
+8862
+7521
+6179
+5721
+1388
+5836
+3142
+332
+7079
+5387
+3109
+124
+4625
+7081
+8555
+6084
+9465
+8066
+1827
+3456
+9183
+5010
+8572
+3355
+7439
+3142
+5836
+79
+10090
+2171
+9707
+6274
+4025
+11023
+251
+3570
+4219
+1033
+6833
+5907
+2374
+4687
+7089
+4279
+498
+6480
+9939
+2187
+7629
+619
+1132
+3058
+1158
+9623
+7954
+10506
+5712
+4530
+4971
+9517
+3239
+5455
+3909
+3574
+8895
+10572
+1540
+7720
+2217
+9632
+5597
+97
+4890
+7451
+7311
+8820
+1949
+5865
+3053
+4294
+5439
+760
+10949
+2623
+9967
+2218
+6993
+8965
+2623
+1820
+9639
+1739
+4687
+1013
+1438
+2343
+251
+11023
+10350
+9707
+6274
+6586
+8862
+2106
+234
+3512
+5724
+1070
+10584
+9324
+179
+6966
+10058
+4025
+11023
+10350
+1854
+4921
+2343
+251
+3570
+4219
+6883
+4454
+1444
+6686
+3176
+8912
+9979
+10398
+2453
+6683
+3190
+9289
+7066
+4638
+7864
+9913
+2135
+8113
+1933
+4284
+10652
+4856
+9104
+7483
+4765
+5622
+9882
+6803
+7807
+7290
+5491
+2791
+8707
+7883
+3902
+10004
+8345
+9737
+8633
+2434
+10004
+3902
+647
+258
+3228
+10629
+647
+258
+3228
+10273
+10634
+414
+8442
+4958
+3426
+3724
+3379
+8047
+2757
+7133
+6508
+5103
+10365
+1694
+6377
+5102
+1646
+8051
+10373
+3129
+3026
+5211
+2719
+5167
+2488
+4291
+9593
+243
+3233
+261
+11120
+6566
+4257
+1112
+315
+1342
+9307
+2757
+4420
+6087
+3426
+3724
+3379
+6570
+3291
+10752
+148
+8074
+6339
+1295
+4586
+5649
+6402
+10578
+5291
+10966
+10827
+6402
+10578
+10027
+1401
+10273
+10634
+414
+8442
+4958
+8379
+3191
+7040
+860
+7111
+8327
+10638
+4602
+8693
+6421
+1878
+8476
+7631
+2183
+434
+5774
+657
+1045
+87
+6237
+5470
+434
+10216
+7631
+6571
+5221
+6249
+8659
+9407
+5068
+2611
+2815
+8119
+9962
+10043
+1074
+9481
+8196
+7979
+8326
+3561
+4033
+3819
+8097
+4204
+1841
+7076
+2640
+7818
+4224
+4895
+7025
+5971
+9861
+3490
+5478
+7292
+3651
+1084
+9385
+8015
+8793
+7603
+10443
+5604
+9336
+5604
+3972
+4543
+3327
+11097
+7102
+1596
+2657
+11059
+8503
+11059
+10877
+4894
+3346
+9058
+2924
+988
+7752
+3124
+6404
+486
+7938
+6374
+352
+1728
+2888
+11100
+7204
+6250
+8541
+8064
+7293
+1131
+2110
+7302
+11210
+8812
+1967
+3927
+935
+11210
+8812
+1967
+4394
+10524
+992
+7574
+10976
+6387
+9383
+6255
+3927
+1839
+8058
+3499
+3294
+7039
+8541
+8064
+7293
+4676
+2032
+10077
+6770
+4678
+6770
+9673
+6303
+881
+2039
+7389
+5689
+2318
+4808
+11005
+10105
+2318
+3490
+9861
+4808
+10105
+6486
+10657
+2004
+1607
+9133
+3118
+3853
+7737
+2445
+8254
+9405
+3333
+584
+9896
+5811
+5476
+9547
+5700
+3696
+1309
+5476
+9547
+8640
+1564
+7378
+5955
+10784
+7435
+4789
+5975
+7206
+7617
+4266
+6844
+2475
+9739
+8938
+9277
+5176
+10422
+4245
+9713
+10171
+306
+3007
+9949
+129
+6393
+10835
+8400
+7504
+7608
+4210
+4262
+1524
+10570
+3573
+2179
+10662
+5901
+4876
+11268
+5085
+6872
+9810
+9934
+2303
+454
+5749
+9991
+7822
+7456
+2451
+4777
+1999
+7639
+8425
+3293
+4836
+7504
+6393
+129
+10251
+6645
+9937
+553
+7953
+10947
+7730
+4266
+4630
+2078
+9397
+5142
+2654
+7378
+1781
+9346
+8791
+8184
+3394
+4622
+7327
+6889
+10784
+7435
+4789
+5975
+7206
+7617
+4266
+6844
+10947
+7730
+10927
+4462
+445
+5206
+7778
+3077
+7778
+2058
+6236
+445
+5206
+4462
+9143
+10835
+9227
+4213
+9252
+5343
+6955
+9227
+4213
+6645
+9937
+553
+9739
+8938
+9144
+9505
+5936
+951
+9692
+1889
+993
+1325
+10529
+5879
+11119
+7463
+5581
+8439
+4117
+947
+3370
+9369
+10562
+7497
+8153
+3920
+4028
+8924
+8172
+10560
+4067
+5759
+72
+2528
+3448
+1129
+72
+2528
+2523
+145
+9414
+230
+3612
+9386
+10823
+3144
+896
+9272
+10187
+9062
+6248
+6314
+9169
+10823
+3144
+7191
+7948
+1122
+7317
+9368
+4899
+3892
+4551
+8071
+1122
+7317
+9368
+4899
+8071
+1122
+7317
+8653
+1186
+4786
+7230
+1354
+7672
+4735
+2002
+7831
+5730
+4673
+10219
+10138
+3353
+8088
+1108
+5459
+8543
+10908
+7708
+141
+3436
+10072
+4072
+4321
+3565
+638
+9425
+9851
+7191
+3144
+896
+9272
+10187
+6248
+9062
+9169
+10823
+3144
+896
+7413
+896
+9272
+3144
+7191
+7948
+6055
+8071
+1122
+7317
+8653
+1186
+4786
+7230
+1354
+7672
+153
+7054
+4661
+7855
+310
+3055
+10009
+9502
+1931
+2266
+7520
+2469
+5424
+2266
+7520
+11218
+7742
+11199
+5554
+6868
+6210
+808
+2658
+7016
+2738
+122
+2109
+5184
+40
+2556
+6910
+11048
+5184
+40
+2556
+171
+10068
+5077
+3936
+10461
+10485
+5253
+163
+1174
+2127
+10564
+11229
+11223
+6853
+4410
+4483
+10970
+2242
+7326
+10163
+3260
+5481
+8459
+2733
+7664
+6064
+623
+9228
+8095
+623
+9228
+10630
+8669
+9907
+3260
+10163
+4614
+727
+2422
+3037
+9186
+8251
+2034
+675
+3417
+7055
+10892
+7706
+1093
+8529
+4658
+9468
+6092
+1036
+3422
+4353
+9630
+3270
+5247
+3270
+6092
+1036
+3422
+6739
+2795
+1576
+7901
+5672
+3886
+4903
+5830
+1528
+9304
+2818
+1260
+2031
+1442
+5443
+2468
+9751
+3640
+6808
+11116
+5645
+1428
+2581
+7865
+1946
+1486
+9138
+2545
+10856
+5288
+1275
+9711
+898
+7580
+1425
+2691
+7553
+7580
+1425
+2691
+6828
+10388
+746
+9751
+3640
+6808
+11116
+5645
+1486
+9138
+2545
+10856
+5288
+8514
+5524
+10450
+4398
+2544
+990
+1684
+11047
+4158
+6551
+5571
+5328
+4158
+6551
+5571
+4349
+776
+237
+776
+3978
+10185
+9734
+1649
+5895
+4383
+3221
+9079
+6135
+6577
+1337
+5855
+5047
+6881
+6743
+4979
+5522
+7307
+10613
+4274
+8816
+5696
+8652
+6601
+8635
+7946
+3201
+7946
+7369
+6684
+6992
+8069
+4553
+2478
+7399
+4924
+8346
+7649
+4924
+8346
+5570
+8069
+6992
+8877
+8894
+2176
+795
+8903
+2873
+9706
+4055
+8903
+2873
+1353
+5029
+2555
+8094
+9536
+169
+3281
+4516
+7281
+2751
+2239
+7075
+8109
+9480
+9224
+2890
+4501
+8399
+8401
+5819
+9855
+1786
+4581
+10057
+2144
+6125
+3611
+7610
+5953
+10241
+7392
+9074
+155
+3924
+9098
+1018
+3295
+3625
+9124
+5515
+378
+3839
+6126
+430
+7481
+9578
+4988
+6899
+2049
+1658
+2483
+9522
+876
+8780
+2700
+10336
+7727
+2359
+1555
+42
+434
+10216
+6571
+5221
+6249
+8659
+9926
+9407
+5068
+2611
+4164
+9481
+1074
+10043
+8573
+4033
+3819
+8097
+4204
+1841
+5832
+9020
+7641
+7112
+8630
+11005
+10105
+6486
+10657
+2004
+1607
+9133
+3118
+3853
+7737
+2445
+8254
+9405
+3333
+9896
+5811
+5476
+1309
+7200
+5191
+4399
+9843
+3405
+439
+4765
+7483
+9104
+4959
+1530
+3709
+1933
+8113
+5168
+1620
+6497
+3477
+10113
+697
+9309
+3062
+8144
+8786
+6438
+5928
+7738
+3111
+1885
+3272
+5157
+1769
+1391
+3085
+6786
+7595
+6218
+3041
+10069
+2264
+7768
+2256
+9885
+4580
+7011
+9543
+3390
+7586
+7788
+4416
+3140
+10464
+10587
+7684
+8247
+3474
+7362
+5555
+6275
+3276
+6814
+10424
+2080
+2533
+2086
+4527
+3777
+904
+6862
+2768
+8751
+5816
+7614
+4366
+4665
+244
+2874
+3945
+437
+5722
+7019
+8996
+10468
+2024
+5436
+8350
+6947
+10285
+7465
+2342
+8525
+208
+10749
+5370
+1249
+4175
+886
+5887
+470
+7829
+9027
+4292
+1499
+7817
+9849
+2569
+6383
+2909
+250
+32
+806
+4494
+3959
+8878
+1732
+5055
+2605
+9019
+1974
+6701
+5976
+8783
+9450
+3536
+1203
+1732
+2403
+7469
+8140
+6238
+1392
+6952
+882
+9628
+36
+9474
+932
+4907
+5607
+6713
+6096
+10238
+4531
+9689
+3414
+2777
+5500
+634
+10168
+871
+9698
+5872
+809
+1947
+5286
+10048
+2252
+7174
+6756
+3904
+3351
+9046
+3532
+7576
+8103
+8028
+8954
+9963
+1314
+20
+4126
+7950
+2390
+3210
+20
+4126
+2914
+11157
+2955
+2652
+10941
+2999
+6117
+1299
+10078
+11109
+1602
+2966
+8725
+6136
+9077
+5902
+3073
+6012
+1368
+8692
+2883
+10605
+5748
+1998
+1076
+5271
+9152
+3415
+9804
+5856
+5271
+5856
+1076
+1998
+7949
+8725
+6136
+6600
+5957
+1905
+7051
+9581
+6155
+11140
+582
+9940
+6834
+7198
+9032
+7343
+4771
+8021
+1860
+1682
+4159
+3796
+8112
+6677
+6554
+706
+2079
+3022
+4640
+9337
+10159
+2840
+9784
+7842
+6612
+5447
+3236
+2714
+750
+4470
+2313
+7484
+3050
+8528
+108
+9735
+11278
+8243
+2176
+8894
+8877
+7894
+5543
+717
+4473
+7570
+3569
+7369
+2478
+7399
+8652
+5696
+5146
+7625
+5266
+10798
+7558
+5029
+2555
+8094
+8905
+7777
+6881
+5855
+1337
+10531
+1114
+4954
+630
+7367
+3989
+134
+1458
+10580
+1498
+6329
+6579
+1804
+8493
+8512
+441
+3400
+6477
+3957
+4448
+9276
+7009
+5910
+4584
+6359
+4417
+10008
+236
+4417
+10945
+4340
+3634
+10959
+6505
+1959
+7834
+10271
+6589
+9408
+10525
+4121
+8670
+5218
+707
+3350
+6870
+9831
+5324
+2737
+9525
+6150
+1017
+8073
+7913
+11044
+7651
+4891
+6251
+2298
+1970
+8235
+8581
+3739
+6783
+7943
+7676
+620
+6341
+10126
+7980
+4891
+8175
+4788
+7651
+2216
+3159
+7354
+9831
+2329
+6209
+7196
+144
+8906
+2777
+5500
+634
+4788
+9587
+3402
+2996
+7913
+11044
+9525
+6150
+10610
+6209
+7196
+144
+8906
+3774
+9012
+3438
+5744
+4389
+7482
+1881
+8810
+10097
+9314
+5890
+9474
+9514
+648
+4036
+2349
+10962
+3096
+11344
+9314
+1021
+7122
+1734
+10180
+6721
+4053
+11163
+594
+1235
+9094
+1663
+4167
+10569
+4167
+9553
+6193
+8210
+5929
+118
+10685
+9434
+9393
+217
+4407
+7829
+9027
+4292
+1499
+7817
+9849
+5561
+5274
+10418
+2670
+5542
+10837
+2463
+11002
+2432
+10900
+10895
+11217
+1625
+7217
+1168
+10933
+9566
+4239
+10983
+10830
+9151
+4240
+2463
+11002
+2432
+10900
+3801
+3392
+5708
+833
+5177
+9946
+11002
+2432
+5611
+10514
+6294
+6127
+6013
+8957
+10390
+9911
+5611
+2741
+8713
+7909
+1064
+5180
+4982
+3240
+5776
+10270
+8797
+8982
+1800
+8193
+2617
+4722
+1162
+9403
+10528
+7677
+1231
+9117
+10955
+2472
+3281
+450
+5213
+2910
+5752
+7092
+10085
+3401
+3442
+5617
+5625
+9197
+1825
+4082
+5347
+5140
+2974
+10414
+4367
+3749
+7672
+153
+7054
+4661
+7855
+10392
+2658
+7016
+2738
+9687
+1636
+5996
+9652
+5151
+10269
+7045
+6351
+2460
+166
+10803
+9822
+11347
+9827
+10490
+6111
+481
+2308
+7690
+9822
+481
+4957
+5752
+7092
+6328
+895
+7271
+6328
+2472
+10955
+1680
+1231
+9117
+2370
+10000
+9216
+3281
+450
+5213
+11112
+4968
+7234
+5679
+7887
+8413
+10858
+4535
+527
+1724
+9930
+7045
+818
+9747
+7459
+902
+9652
+11048
+5184
+40
+4931
+3704
+3659
+4363
+6868
+5554
+11198
+9257
+7254
+1730
+154
+8366
+3481
+9288
+5283
+8686
+3644
+2388
+3716
+7971
+7106
+7402
+3320
+8414
+5457
+10847
+1744
+5646
+5825
+10396
+552
+2571
+6650
+10072
+4072
+4321
+7282
+9717
+616
+5038
+1867
+11342
+6011
+8979
+5063
+8237
+8587
+11313
+2823
+6258
+186
+5599
+2237
+3102
+9395
+7765
+5196
+1396
+2879
+133
+8096
+9537
+6165
+7085
+9754
+2881
+11273
+2141
+10260
+3226
+1243
+2513
+11284
+1243
+8179
+9349
+3550
+11309
+5646
+3320
+1187
+3948
+7402
+4747
+6719
+1467
+7971
+3716
+10836
+4947
+9993
+1491
+7799
+9167
+1586
+9665
+11182
+3636
+10330
+4617
+2962
+11239
+3430
+472
+7753
+1111
+1125
+2477
+10686
+9298
+4818
+2416
+4926
+7289
+9202
+2577
+238
+1072
+10668
+5967
+8194
+9650
+511
+2662
+7091
+1624
+3824
+5831
+2753
+4074
+10229
+4490
+9298
+4818
+2416
+4926
+2729
+8203
+10753
+5315
+9028
+9750
+5817
+761
+11108
+2059
+5506
+555
+6076
+5349
+4983
+542
+3937
+6333
+10710
+7012
+2917
+6376
+6688
+7687
+6830
+7863
+5536
+5691
+3594
+2247
+10399
+6953
+3326
+3995
+9270
+4287
+7128
+5303
+7383
+3960
+2578
+5497
+5830
+1528
+3960
+9219
+10631
+8910
+2866
+9219
+4138
+9523
+1678
+4209
+2578
+5497
+6478
+10062
+8715
+8596
+10554
+8669
+9907
+1154
+9228
+10630
+7633
+8095
+4485
+1432
+188
+1313
+307
+3090
+10564
+11229
+1199
+2669
+9173
+6368
+11229
+11223
+6853
+10688
+2607
+8424
+7069
+7263
+7449
+10733
+8683
+10120
+10156
+4308
+6925
+10980
+4308
+6925
+3632
+4432
+2067
+1107
+10334
+3173
+7337
+9616
+2780
+4754
+4460
+8161
+3407
+4939
+7042
+1961
+7217
+1168
+4666
+7679
+3969
+1712
+5318
+9039
+6439
+10833
+2542
+7267
+2970
+8576
+8385
+661
+2476
+8737
+8885
+1253
+8622
+3580
+5551
+2307
+3701
+8622
+9348
+4153
+9781
+10288
+7591
+4153
+9781
+10620
+5323
+1500
+11293
+2597
+1163
+9129
+2540
+4220
+6604
+10404
+9897
+8899
+8244
+6484
+8579
+9001
+6827
+9129
+1163
+6401
+8112
+6677
+6554
+4159
+1682
+3068
+4727
+3796
+4159
+4900
+7774
+2908
+3893
+426
+10086
+6054
+3454
+3133
+6078
+7108
+10938
+3133
+351
+1465
+7356
+9640
+10523
+10359
+1695
+6554
+7701
+2065
+7488
+5746
+4900
+4159
+1682
+1860
+7874
+6012
+1368
+8692
+10960
+10048
+2883
+1321
+8960
+3944
+8556
+8639
+2102
+4677
+2084
+1321
+8960
+3944
+2465
+6756
+5872
+1785
+10047
+10563
+7987
+6071
+7810
+3424
+3025
+214
+8564
+11135
+117
+1035
+8986
+424
+9904
+4585
+5286
+713
+6054
+3454
+662
+4467
+7356
+9640
+2583
+9402
+233
+2583
+9402
+451
+2840
+9784
+7077
+2100
+4641
+3236
+2313
+7484
+3050
+782
+5861
+8208
+4132
+9735
+11278
+8243
+2176
+795
+8903
+2873
+6634
+8712
+2567
+6740
+3569
+2203
+5543
+7894
+6684
+6992
+8069
+5570
+7183
+4509
+1057
+10253
+1660
+8403
+7494
+2906
+4779
+3547
+673
+9910
+10454
+1778
+4186
+3199
+3583
+6545
+9097
+5671
+6197
+9662
+10505
+8859
+8295
+2552
+2672
+2997
+3711
+11190
+2294
+7454
+11265
+3787
+5640
+9285
+10935
+4310
+545
+9985
+5639
+11162
+2241
+4436
+11007
+7710
+10106
+3888
+2730
+3606
+7179
+4076
+7711
+5337
+2076
+1591
+7908
+8562
+6523
+903
+8859
+8295
+2552
+1599
+9195
+9662
+6197
+364
+7920
+2672
+8892
+8534
+11018
+3711
+3298
+5293
+7582
+9576
+5
+11185
+5681
+2502
+1876
+5925
+7232
+8080
+7258
+2839
+5521
+3359
+10193
+991
+10929
+7678
+5382
+8883
+6568
+4548
+4060
+1621
+10574
+7480
+6735
+9759
+4579
+1040
+11070
+944
+10674
+8099
+2852
+1894
+11332
+5644
+10851
+9943
+5179
+6405
+9653
+5179
+9943
+6588
+10674
+8099
+1201
+6735
+9759
+4579
+991
+5810
+4332
+5382
+8883
+4060
+4548
+1480
+2154
+7168
+9919
+2449
+11195
+3421
+7331
+337
+8922
+4008
+4875
+879
+8188
+7839
+9919
+2449
+10498
+9508
+236
+4417
+10945
+4340
+8201
+10945
+4340
+3634
+3626
+8538
+5462
+6717
+1345
+11308
+1761
+5393
+1708
+3600
+2499
+9727
+3990
+7212
+6337
+521
+10207
+10024
+1207
+5107
+7268
+2826
+2062
+4584
+5910
+337
+8922
+10290
+356
+735
+7396
+3231
+5420
+6408
+1719
+8510
+1719
+3957
+6477
+3400
+1804
+6579
+6960
+10675
+10129
+4599
+3304
+5579
+8010
+4932
+1306
+6779
+971
+11022
+6432
+4282
+7253
+7208
+7506
+1350
+8601
+7393
+380
+10232
+2437
+7253
+7208
+7506
+11087
+1134
+8601
+7393
+380
+3099
+5793
+10111
+7027
+4760
+2353
+6946
+7027
+4760
+4681
+7805
+5964
+8077
+6081
+3440
+10684
+2017
+9895
+1311
+11006
+9423
+1684
+990
+11039
+11110
+5181
+5257
+9145
+8514
+5288
+1275
+10181
+5101
+453
+2893
+2849
+8632
+9352
+10825
+4353
+9630
+3270
+6092
+1036
+3422
+6739
+2795
+5672
+3886
+4495
+6259
+727
+2422
+10163
+3260
+9907
+10630
+7633
+11167
+5496
+10680
+341
+8553
+11297
+6183
+8997
+6488
+9923
+10485
+5253
+6540
+1574
+10480
+8690
+5253
+163
+1643
+5801
+1432
+1459
+10680
+5496
+8872
+10862
+5076
+5394
+9686
+9826
+1263
+1604
+1284
+8625
+2417
+1978
+5699
+5962
+3974
+1721
+10859
+7694
+1581
+3974
+1721
+5699
+8250
+9048
+9748
+9042
+5122
+3885
+3882
+9042
+5122
+4043
+10461
+10485
+11200
+8690
+5253
+163
+1174
+2127
+1327
+9173
+333
+786
+7578
+6718
+2547
+3831
+7578
+6718
+9150
+781
+6207
+7130
+8001
+7401
+4868
+6964
+4968
+7234
+8001
+7130
+6207
+4425
+2660
+4425
+3188
+10912
+1229
+4058
+9274
+10912
+1229
+4058
+9724
+9709
+10358
+8193
+9357
+4030
+10270
+8797
+3072
+7471
+8957
+10390
+9911
+5611
+10514
+9779
+9023
+5180
+4982
+5834
+9483
+7968
+3782
+1673
+8713
+7909
+4810
+10514
+5611
+2741
+2317
+7665
+5561
+5274
+10418
+9881
+875
+10913
+9030
+9954
+9742
+10395
+1046
+6138
+9954
+9742
+4240
+2334
+5542
+10837
+5821
+2741
+2317
+7665
+6065
+7143
+3759
+6383
+5980
+1242
+10418
+9881
+875
+913
+5207
+8879
+9657
+3365
+2029
+4937
+6051
+6728
+10913
+9030
+2670
+5542
+10837
+2463
+11002
+2432
+10900
+3801
+833
+5177
+9946
+9155
+9151
+10395
+1046
+4952
+5684
+840
+9604
+2677
+3250
+6746
+10830
+3492
+9566
+4239
+10983
+5590
+6746
+10830
+10983
+3760
+10983
+5590
+1537
+6340
+3694
+1882
+2596
+368
+8416
+4233
+8155
+7795
+9840
+7479
+10128
+5112
+3061
+9585
+4476
+4623
+3117
+2092
+2335
+1039
+999
+2153
+11106
+10434
+7314
+4887
+8925
+556
+9897
+10404
+6604
+9311
+8398
+9068
+5892
+11049
+291
+11049
+5892
+10378
+8896
+9957
+9875
+6168
+5956
+3251
+1240
+1273
+1240
+7655
+692
+5930
+2833
+11038
+2707
+1882
+7823
+1537
+9956
+1363
+6187
+3134
+6395
+5124
+3760
+10983
+5590
+7823
+2596
+368
+8660
+10995
+6301
+1531
+1512
+10477
+9840
+7479
+10128
+10802
+3961
+9957
+8896
+598
+2518
+4337
+10026
+218
+2206
+6466
+10099
+598
+8896
+10378
+4229
+2540
+4220
+6604
+9311
+8398
+9068
+4476
+9585
+3146
+4546
+8348
+1976
+11079
+213
+5339
+7495
+4166
+11092
+7767
+6437
+4618
+4523
+595
+7914
+4848
+4024
+10385
+1176
+160
+8728
+10385
+4024
+160
+7914
+4848
+1909
+8227
+4945
+2497
+6169
+3469
+6930
+4192
+6647
+5677
+3469
+7691
+1909
+10261
+257
+11274
+7015
+10067
+5135
+10705
+1869
+8158
+10067
+5135
+10705
+8866
+6326
+11310
+1462
+2687
+8785
+2389
+2938
+8116
+4770
+2731
+3091
+6896
+2401
+5739
+3289
+2200
+1568
+4299
+3289
+2200
+1289
+6097
+10089
+6318
+3334
+6318
+7328
+942
+3305
+7238
+1314
+3698
+7772
+4404
+1799
+9963
+1314
+3698
+5777
+9802
+8028
+8954
+7576
+9636
+5409
+6247
+10868
+10313
+6621
+2913
+7576
+8103
+6219
+9561
+9945
+5714
+9372
+4615
+2164
+288
+2811
+9944
+1507
+2054
+20
+4126
+2914
+7475
+7915
+8143
+1988
+10284
+9610
+7601
+4881
+7619
+9841
+6450
+5017
+6119
+11111
+4255
+2652
+10941
+3554
+6490
+2999
+6117
+1299
+10078
+11109
+1602
+7244
+1299
+10078
+11109
+1602
+2966
+4386
+11219
+4784
+3639
+6004
+6196
+1078
+9705
+413
+5714
+9372
+4615
+9561
+8245
+1507
+2054
+3698
+7772
+1799
+9963
+1314
+3698
+5777
+6219
+6710
+11334
+9015
+613
+3351
+9046
+3532
+6343
+4531
+9689
+3414
+10958
+1192
+1195
+3954
+11246
+435
+8072
+1451
+6890
+7468
+3427
+2173
+1508
+4663
+11000
+2666
+9316
+1532
+5944
+4006
+8612
+10214
+6289
+10549
+10801
+4823
+7606
+6543
+5988
+7889
+4384
+5988
+4384
+7146
+10413
+2659
+3718
+2943
+4707
+7846
+2943
+4707
+3476
+6922
+8026
+5418
+1715
+1386
+1266
+3914
+3253
+1796
+8347
+10707
+2940
+1662
+6519
+928
+929
+9076
+6300
+1123
+10
+2550
+3331
+585
+9656
+10864
+7957
+3615
+2043
+4911
+7728
+1182
+11207
+1182
+11040
+3722
+8930
+831
+7587
+8928
+7587
+2566
+2772
+6444
+6975
+5740
+8914
+6444
+2772
+5663
+1417
+1640
+604
+4918
+3607
+6041
+9413
+3631
+1063
+4320
+4918
+9351
+3103
+8758
+7257
+4824
+4853
+1911
+1971
+7876
+1292
+2215
+5852
+10682
+6312
+5829
+1179
+4975
+8844
+7386
+7563
+2015
+10295
+11192
+10035
+2766
+4944
+909
+8030
+915
+10601
+11075
+5924
+10248
+6202
+2698
+5169
+8881
+8685
+7906
+6256
+7452
+3922
+2546
+1838
+2267
+2868
+5035
+1575
+1234
+3584
+11241
+2090
+6384
+6173
+1441
+4575
+9539
+6854
+11216
+8565
+7310
+3375
+9756
+1183
+9608
+2028
+10021
+1360
+995
+9710
+652
+8911
+1433
+10079
+415
+3805
+8226
+8882
+5252
+704
+5507
+3391
+10343
+3313
+11020
+7951
+4253
+1024
+4465
+7643
+10961
+5472
+2551
+362
+6615
+4512
+5891
+6046
+8008
+151
+8662
+8156
+10647
+624
+4177
+4270
+725
+6615
+8008
+151
+10566
+336
+7859
+1582
+336
+7879
+3081
+2633
+10231
+10377
+3081
+987
+9740
+3588
+11101
+8156
+8662
+4177
+10577
+5423
+6501
+9347
+5899
+9824
+5001
+1816
+6229
+5250
+2562
+9073
+44
+3122
+6858
+44
+3122
+5159
+8809
+1838
+7301
+398
+3922
+2546
+1349
+7545
+3447
+4560
+2155
+7814
+6738
+11188
+4311
+7849
+5715
+7086
+4528
+1610
+5729
+10293
+7247
+1080
+9987
+5873
+7247
+10118
+1042
+3618
+9535
+7581
+10494
+10921
+8283
+9535
+6129
+1042
+5011
+2837
+1140
+7347
+9243
+3806
+1294
+7060
+5796
+3093
+2655
+2408
+2260
+1219
+3538
+6532
+4129
+6482
+4994
+6819
+6699
+6819
+10144
+10017
+7733
+10951
+3166
+1059
+8249
+2812
+4683
+2812
+1767
+2858
+438
+8513
+8212
+11262
+1020
+1615
+1020
+11134
+6782
+259
+3204
+420
+259
+3487
+1032
+3655
+7680
+397
+4679
+5610
+6502
+10360
+4679
+7837
+846
+10340
+699
+5019
+9411
+7189
+5527
+5623
+8756
+457
+4679
+5610
+6502
+4318
+8098
+893
+3458
+5353
+3820
+4700
+3237
+5330
+366
+7201
+3237
+5330
+366
+3121
+6240
+877
+10055
+2655
+3093
+6806
+2408
+8757
+4977
+3121
+10611
+4713
+7513
+8590
+5368
+10025
+10571
+839
+8306
+4906
+5368
+225
+8889
+8189
+7658
+7333
+6777
+1119
+6331
+5330
+5353
+3820
+4700
+2225
+10407
+554
+1612
+4129
+6482
+3282
+6630
+10326
+743
+6195
+8448
+4418
+10017
+7733
+5461
+7559
+8229
+3962
+3145
+9409
+10432
+7063
+10843
+6382
+5280
+86
+9024
+5280
+86
+11231
+8078
+7032
+6407
+2946
+2103
+3674
+5949
+3589
+2975
+4254
+2749
+10474
+10942
+7540
+4139
+3931
+11019
+5747
+7221
+8390
+9814
+1483
+6863
+2835
+5806
+2606
+1619
+2743
+5190
+5806
+2606
+1619
+6467
+10035
+11192
+5241
+2430
+4795
+7926
+2046
+5804
+8844
+7386
+7334
+973
+7190
+10322
+2015
+10295
+8433
+10035
+2766
+733
+8030
+915
+449
+2430
+4795
+10682
+5852
+11126
+10094
+7294
+6792
+5954
+394
+11152
+9345
+4328
+3301
+1994
+4215
+1400
+7516
+1420
+334
+10287
+1450
+5924
+10248
+1450
+10287
+6954
+8341
+7123
+5516
+2267
+2868
+8183
+9729
+10731
+1575
+10204
+9766
+2409
+10810
+9073
+44
+3122
+5159
+7545
+3447
+2859
+3603
+1257
+11257
+7814
+2155
+4560
+8342
+11102
+3542
+165
+7666
+3635
+11056
+7545
+3447
+8342
+11056
+7545
+3447
+2859
+6884
+2326
+10488
+10905
+10177
+9490
+8198
+7144
+8365
+6141
+480
+1831
+8650
+6616
+7824
+9633
+1220
+8649
+7441
+9437
+847
+6345
+6824
+6345
+361
+10148
+7304
+2609
+8649
+7441
+9437
+847
+5200
+8789
+392
+5329
+6040
+8285
+5329
+5200
+847
+9437
+1220
+8089
+8337
+5400
+8022
+10034
+2609
+7304
+6134
+9490
+10177
+10905
+325
+1490
+10488
+2326
+4965
+2668
+8149
+300
+3922
+398
+7301
+5705
+566
+4785
+398
+7301
+5516
+4390
+8183
+9729
+10731
+6608
+11152
+9345
+5954
+394
+2010
+5869
+363
+9096
+11169
+3765
+7579
+6184
+6173
+1441
+4575
+6192
+11216
+6507
+7981
+4905
+9539
+3744
+6507
+8817
+7981
+4905
+2625
+5001
+9824
+6530
+4007
+2244
+7685
+1647
+8408
+8931
+1183
+9608
+360
+6361
+9756
+2189
+2520
+9188
+9096
+11169
+3765
+7579
+6184
+5295
+10003
+9188
+7982
+4853
+3343
+7876
+1292
+2215
+2082
+5829
+5804
+2046
+6312
+2046
+7334
+973
+7190
+7563
+2015
+10295
+8433
+531
+2861
+3505
+1386
+11290
+1085
+7786
+6302
+4372
+908
+8583
+4283
+9354
+593
+9891
+3232
+4582
+3466
+9454
+865
+8465
+5099
+6266
+658
+593
+8959
+6734
+10169
+10751
+853
+3381
+4851
+3114
+3381
+10169
+3232
+4582
+3509
+9936
+5667
+215
+7903
+3597
+7715
+8173
+2871
+3450
+3923
+6820
+1410
+6967
+8075
+7695
+6211
+6409
+6903
+6573
+4236
+9865
+587
+1291
+5799
+10044
+9108
+3341
+9108
+10328
+6313
+4566
+3906
+763
+9951
+1103
+3352
+400
+1069
+7072
+2767
+4660
+88
+2159
+6989
+10232
+2437
+4191
+9268
+1350
+8601
+7393
+380
+3099
+5793
+10111
+1134
+8601
+7393
+380
+10232
+6989
+10020
+4003
+7103
+318
+6730
+7140
+5850
+2984
+496
+8405
+10020
+6989
+10232
+380
+3099
+5793
+10111
+7027
+4760
+4681
+7805
+11295
+11087
+1134
+8601
+7393
+380
+10232
+6989
+2159
+3735
+4538
+7692
+5680
+11148
+7673
+4189
+3473
+1808
+1291
+5799
+10044
+9108
+10328
+6313
+7923
+1069
+7072
+8585
+10821
+1297
+3727
+1567
+9621
+3489
+4371
+9590
+4826
+211
+2618
+866
+1661
+9470
+3489
+6715
+596
+5828
+3156
+11326
+9066
+5797
+5771
+9204
+5771
+1559
+7542
+2981
+3854
+2703
+3642
+1559
+9669
+5389
+3156
+11326
+9066
+5797
+5771
+1559
+9669
+5389
+358
+1277
+10845
+9983
+3039
+7152
+744
+10167
+1335
+2048
+9898
+9557
+4430
+6733
+4370
+4601
+4265
+1928
+8796
+6538
+7207
+8067
+677
+878
+8672
+3608
+5354
+3803
+4137
+6235
+997
+13
+1928
+8796
+6538
+4601
+4370
+4098
+1335
+2048
+9898
+4841
+821
+8949
+2521
+2310
+9297
+9513
+6142
+2310
+9297
+8851
+5469
+9726
+734
+7474
+6089
+963
+3970
+819
+9803
+1587
+7970
+8680
+7269
+6748
+6091
+4251
+10791
+3184
+24
+6544
+2287
+7712
+2771
+6091
+6748
+7868
+11237
+1077
+1811
+6099
+5088
+2661
+6681
+9803
+819
+6386
+4502
+8680
+7970
+7407
+5687
+7141
+3052
+5864
+8361
+7873
+11197
+6360
+5259
+1587
+9803
+819
+3970
+8873
+8415
+4646
+8033
+8873
+8415
+6262
+3321
+6333
+10710
+7012
+2917
+6376
+6830
+6953
+4352
+9270
+3995
+10710
+7012
+6524
+6076
+5349
+3153
+5506
+555
+9361
+11305
+9959
+5943
+6712
+5322
+9986
+2041
+912
+11291
+2323
+6095
+2441
+8016
+2243
+10757
+10753
+5315
+6591
+8282
+10383
+2729
+8203
+10753
+5315
+6591
+4781
+8360
+8762
+9166
+8294
+9750
+5817
+761
+11108
+2059
+5506
+555
+9361
+11305
+9750
+5817
+761
+11108
+2059
+5506
+555
+9361
+11305
+2096
+3679
+9980
+14
+2243
+8016
+5305
+10910
+6909
+4505
+4312
+841
+10317
+7493
+9180
+5290
+6705
+2665
+7493
+5388
+1434
+11204
+8625
+2417
+10465
+8335
+1978
+5699
+8250
+1284
+8625
+2417
+10465
+8335
+10859
+7694
+1581
+6639
+5022
+7248
+9042
+3882
+11256
+6172
+7844
+8752
+6875
+3882
+9042
+5122
+4043
+5437
+9923
+10485
+11200
+8690
+10480
+527
+1724
+9930
+7045
+818
+9747
+2637
+6518
+8133
+6351
+2460
+2787
+8413
+10858
+4535
+2547
+3831
+7764
+333
+9173
+6368
+11229
+11223
+6853
+10688
+1815
+4135
+1997
+1107
+10334
+3173
+7337
+9616
+2780
+4754
+4460
+8161
+8957
+10390
+9911
+5611
+2741
+5821
+4857
+10837
+5821
+2741
+8713
+7909
+1064
+4810
+10514
+5611
+2741
+2317
+7665
+6065
+7143
+3759
+6383
+10776
+2897
+4009
+1531
+1512
+10477
+9840
+7479
+10993
+3110
+11236
+6785
+309
+10100
+6388
+309
+10100
+10215
+1430
+232
+9259
+9840
+7795
+9229
+8660
+10995
+2227
+7121
+2214
+6731
+5893
+4085
+2029
+4937
+10195
+6728
+10913
+9030
+9881
+875
+913
+8879
+9657
+3365
+7890
+2897
+8274
+8436
+11234
+5886
+250
+6511
+9867
+7817
+9849
+2569
+2236
+9191
+6742
+6145
+4634
+8878
+1732
+5055
+2605
+9019
+3432
+5217
+10788
+38
+7466
+9019
+3432
+5217
+74
+9125
+6839
+5905
+4659
+1446
+1534
+9199
+3747
+1840
+4197
+2905
+6415
+5851
+5710
+5285
+4815
+5285
+664
+6757
+3378
+9573
+8966
+3203
+2945
+3485
+2951
+3715
+4290
+9595
+1424
+10299
+5395
+4290
+3715
+6305
+406
+3472
+8039
+6025
+3425
+8867
+7308
+9071
+8537
+5557
+8658
+8221
+1899
+9528
+10255
+1460
+9528
+1899
+6797
+478
+3324
+631
+4478
+2338
+9127
+5547
+3403
+5653
+4742
+888
+4400
+8333
+2162
+4642
+6162
+3485
+2951
+3715
+6305
+6945
+406
+3472
+8225
+3472
+8039
+6025
+3425
+6962
+11034
+6695
+381
+4613
+1558
+7802
+8275
+7074
+2715
+2874
+3945
+437
+5951
+8996
+10468
+2024
+4943
+4693
+4514
+2342
+8525
+5592
+1075
+7372
+3211
+8618
+9605
+8618
+9622
+3065
+4516
+7281
+2751
+2239
+7075
+8109
+9480
+9224
+2890
+4501
+8399
+8401
+5819
+9855
+1786
+4581
+10057
+2144
+6125
+3611
+7610
+5953
+10241
+7392
+9074
+155
+3924
+9098
+1018
+3295
+3625
+9124
+5515
+378
+3839
+6126
+430
+7481
+9578
+4988
+6899
+2049
+1658
+2483
+9522
+876
+8780
+2700
+10336
+7727
+2359
+1555
+42
+434
+10216
+6571
+5221
+6249
+8659
+9926
+9407
+5068
+2611
+4164
+9481
+1074
+10043
+8573
+4033
+3819
+8097
+4204
+1841
+5832
+9020
+7641
+7112
+8630
+11005
+10105
+6486
+10657
+2004
+1607
+9133
+3118
+3853
+7737
+2445
+8254
+9405
+3333
+9896
+5811
+5476
+5780
+1309
+7200
+5191
+7590
+4323
+1357
+8364
+1357
+3435
+8191
+7866
+439
+4765
+3541
+6412
+3069
+7422
+7059
+1530
+3477
+10113
+4934
+8483
+7450
+5427
+329
+1748
+9964
+7296
+8786
+6438
+5928
+7738
+3111
+4595
+3571
+7062
+3693
+4182
+9286
+834
+6606
+8496
+6069
+4472
+343
+10526
+5260
+10754
+8247
+3474
+7362
+4336
+5342
+2006
+260
+3641
+3345
+5048
+2436
+11166
+3553
+10643
+8935
+894
+4769
+2921
+3276
+2080
+2533
+2086
+4527
+3777
+904
+6862
+2768
+8751
+5816
+7614
+4366
+4665
+244
+2715
+7074
+7094
+3264
+1271
+7788
+4416
+3065
+4042
+9694
+10470
+5411
+5157
+1769
+1391
+4118
+11249
+5880
+1964
+5754
+6716
+345
+8743
+3979
+5452
+3836
+4040
+1216
+3316
+3921
+9762
+11209
+1268
+1873
+572
+4948
+7434
+6704
+5489
+10926
+3325
+4554
+2428
+10926
+10920
+10372
+8129
+8643
+4956
+3926
+8054
+9071
+8537
+5557
+8658
+9003
+245
+3964
+3715
+4290
+5395
+6945
+406
+3472
+8039
+6807
+5934
+8225
+10051
+3472
+8039
+6025
+3425
+8867
+3926
+2285
+5489
+10926
+3325
+76
+9440
+76
+10475
+9051
+294
+10986
+4412
+6786
+5880
+1964
+6218
+3041
+10069
+2264
+772
+7467
+10920
+8968
+1190
+5187
+1801
+1190
+2480
+5548
+8542
+7160
+772
+7467
+10920
+10372
+6030
+5666
+9961
+2963
+4086
+6865
+5794
+10476
+4956
+8867
+7308
+4120
+10299
+5395
+4290
+3715
+2951
+9532
+6162
+3485
+2951
+9532
+4642
+10932
+4642
+4914
+45
+1711
+10511
+8842
+7023
+5464
+6757
+3378
+9573
+8966
+3203
+10932
+3310
+8619
+2190
+7681
+6098
+1075
+5592
+10749
+5183
+125
+1863
+5887
+470
+2650
+6986
+7669
+9780
+10579
+6721
+4053
+10349
+4761
+5586
+3245
+1320
+9007
+4869
+9393
+9434
+6448
+1753
+8210
+6193
+6320
+9341
+5946
+3572
+8897
+5028
+595
+4302
+799
+2012
+4805
+257
+10261
+6930
+11274
+7015
+10067
+5135
+10705
+8866
+6326
+172
+2389
+2938
+1383
+10080
+2928
+412
+1015
+9187
+3513
+1561
+3091
+5739
+3289
+2200
+1289
+6829
+1568
+4299
+2401
+5739
+3289
+4299
+3289
+2200
+8242
+10284
+9610
+7601
+9744
+3501
+3092
+7475
+7915
+3261
+1289
+6829
+5657
+7888
+5549
+7299
+6713
+6096
+1109
+10958
+1192
+1195
+7468
+3427
+2173
+7149
+9679
+1556
+4674
+7834
+10271
+3359
+5521
+5658
+8080
+6990
+1876
+2502
+5681
+8264
+10425
+7232
+5681
+11185
+8841
+5494
+7155
+5282
+6870
+7769
+1736
+3298
+3707
+1097
+8264
+1938
+10357
+1095
+1938
+8264
+10425
+7258
+8080
+5658
+6589
+9408
+10525
+10436
+5284
+708
+1508
+4663
+11000
+2666
+7770
+10060
+4102
+2871
+3450
+3923
+3364
+3217
+6967
+8995
+817
+10767
+2331
+7923
+1069
+7072
+2767
+6989
+10020
+6989
+10232
+380
+3099
+5793
+6946
+2353
+8902
+199
+3440
+10684
+4932
+10684
+2017
+9895
+1311
+626
+199
+4681
+7805
+5964
+10103
+4507
+4865
+4282
+1296
+11131
+4507
+10103
+10684
+2017
+4720
+7312
+6826
+7548
+8284
+1114
+10531
+1337
+6577
+3221
+4383
+3029
+1513
+1152
+204
+5895
+4708
+8180
+1649
+10041
+6609
+150
+957
+667
+2122
+3460
+301
+10203
+4330
+1159
+8394
+775
+11173
+9234
+9808
+152
+4414
+5043
+10455
+1572
+8529
+4658
+2846
+9326
+5336
+5152
+6291
+8632
+773
+6828
+10388
+1576
+7901
+5672
+3886
+4903
+6478
+10062
+8715
+3594
+5691
+7134
+7687
+5536
+5691
+3224
+2441
+3224
+10862
+5076
+5394
+10715
+4312
+841
+10317
+7493
+5388
+10465
+2599
+544
+2448
+9157
+2306
+26
+3455
+1111
+11253
+701
+11171
+2427
+1223
+5071
+5750
+5071
+9830
+11171
+10228
+472
+870
+2101
+8552
+1177
+3636
+1491
+7899
+2679
+7159
+8414
+5457
+10847
+7975
+4901
+8070
+7636
+7166
+6056
+1845
+7316
+2152
+4552
+6997
+4208
+6842
+5192
+539
+9225
+173
+3226
+1243
+8179
+9349
+7975
+8504
+1304
+6400
+9789
+8313
+2680
+7826
+6400
+3766
+2662
+3824
+5568
+8194
+9650
+511
+1003
+1160
+7423
+8774
+8863
+2574
+6696
+7355
+9785
+6354
+10286
+6941
+1501
+1669
+6338
+4092
+4141
+6707
+3164
+10990
+376
+1272
+10990
+3164
+7163
+9696
+9080
+6022
+8253
+4428
+9782
+4885
+11122
+4709
+2694
+5537
+3520
+8020
+2694
+5537
+7885
+9476
+6103
+6836
+5182
+7635
+9499
+4680
+2037
+6103
+33
+668
+10367
+2418
+10994
+568
+2098
+2969
+415
+10575
+9710
+2579
+10534
+77
+2108
+8190
+360
+6361
+5240
+487
+6361
+9756
+2189
+4358
+2265
+1793
+7257
+10208
+8124
+4824
+4853
+7982
+7257
+4824
+8124
+3075
+8914
+6444
+2772
+2566
+8369
+5663
+1417
+1640
+1943
+4320
+4918
+3607
+5635
+2265
+2189
+2520
+9188
+3343
+7876
+1292
+1865
+3343
+9096
+11169
+3765
+7579
+11241
+2090
+6384
+2625
+5001
+9824
+6530
+4007
+2244
+7685
+1647
+8408
+4216
+6882
+3278
+48
+3322
+9848
+7340
+10122
+1763
+10577
+5423
+6501
+9347
+5899
+9824
+5001
+1816
+5250
+2562
+44
+4022
+2868
+8183
+4390
+5516
+7301
+5705
+8341
+7123
+5705
+566
+6256
+5269
+81
+5169
+8881
+6954
+7236
+8685
+8881
+6202
+2698
+915
+449
+1400
+7516
+7418
+3301
+10094
+6626
+1292
+2215
+2082
+7896
+9159
+9231
+1522
+3262
+5331
+2960
+1006
+3262
+1522
+5643
+4824
+8124
+3075
+11090
+5961
+9351
+1147
+8758
+7257
+10208
+11090
+5961
+604
+4918
+3607
+5635
+7689
+2050
+2511
+5240
+487
+6361
+1665
+5240
+487
+4358
+2265
+2189
+8565
+7310
+8817
+7981
+4905
+2625
+5001
+10369
+8607
+1234
+11152
+394
+2010
+10745
+114
+7294
+10745
+2010
+394
+3584
+7579
+6184
+5295
+10003
+9188
+10840
+7982
+4853
+3343
+1865
+5869
+363
+3765
+7579
+11241
+8607
+10204
+9766
+2409
+5035
+9729
+10731
+6608
+4011
+7418
+7516
+11075
+1420
+334
+10287
+6954
+7236
+8685
+5269
+6112
+7452
+3922
+300
+4965
+2326
+10488
+1490
+325
+10905
+5544
+6038
+614
+5544
+9873
+1755
+4206
+3731
+3814
+8032
+2820
+7941
+9322
+4684
+5210
+7021
+8823
+1250
+392
+5329
+5200
+8789
+7824
+9633
+1220
+8649
+7441
+7304
+6134
+10034
+2609
+7304
+10148
+6120
+10123
+369
+5190
+2743
+1509
+2107
+5885
+2861
+4000
+1921
+2503
+740
+911
+3874
+6276
+8605
+456
+6241
+969
+9682
+2576
+9558
+4283
+9354
+593
+8959
+6734
+10169
+10751
+4134
+853
+3381
+4851
+6835
+6690
+3114
+3381
+4851
+6009
+8848
+9396
+2516
+8959
+6734
+6723
+4851
+6009
+8848
+6723
+4851
+6009
+2804
+2803
+2942
+7786
+6302
+4372
+7443
+8583
+4283
+9354
+6724
+9936
+5667
+5270
+9496
+6358
+745
+5308
+4446
+10537
+2827
+5673
+240
+513
+8452
+8005
+6646
+10520
+6510
+4048
+49
+293
+2071
+2386
+8937
+4745
+9045
+2380
+4148
+2891
+9232
+10774
+7646
+8735
+11317
+4083
+5998
+10153
+8746
+7843
+5559
+9845
+7377
+5917
+5473
+8437
+5917
+5473
+6901
+2375
+1463
+3790
+6961
+2089
+7757
+8917
+3797
+4604
+3797
+744
+10167
+10513
+211
+4826
+5096
+9983
+3039
+7152
+744
+2454
+5631
+2048
+6733
+4370
+4601
+6538
+9876
+1661
+9470
+3489
+9621
+1567
+3727
+9204
+10028
+5771
+1559
+7542
+2981
+6436
+7653
+5362
+8908
+5030
+1069
+400
+4566
+3341
+9457
+3473
+4189
+763
+9951
+1103
+3352
+3906
+763
+1164
+7673
+8990
+1808
+1291
+5799
+10044
+9108
+10328
+6211
+10328
+6313
+7923
+1069
+7072
+8585
+9899
+7911
+694
+2514
+8410
+2603
+677
+8067
+3608
+5354
+6083
+2530
+958
+9399
+4137
+3803
+997
+13
+1928
+8796
+6538
+9876
+5992
+677
+878
+8760
+2750
+3776
+2274
+222
+8902
+222
+10665
+3000
+9282
+2681
+2530
+6083
+3608
+8067
+7207
+6538
+9876
+5992
+2603
+677
+467
+11201
+2750
+3776
+1963
+10896
+4449
+1813
+2514
+8410
+694
+7911
+9621
+9066
+5797
+5771
+1559
+7542
+2864
+7841
+10821
+1297
+10028
+9580
+3148
+2864
+1010
+2981
+6436
+3764
+11083
+8908
+640
+11202
+5520
+4202
+2099
+4616
+6522
+1962
+817
+8995
+1773
+7695
+6211
+6409
+5007
+2172
+587
+6315
+5007
+6409
+6903
+6573
+4236
+8511
+7770
+10060
+4102
+2871
+3450
+8907
+100
+2744
+2631
+444
+3408
+3645
+3626
+3387
+2411
+6759
+68
+2515
+10024
+9083
+2399
+1053
+10914
+9209
+9246
+2699
+489
+2613
+3881
+9319
+1600
+10861
+10675
+6897
+1458
+10580
+5686
+10039
+5158
+8816
+4274
+7307
+5522
+5146
+7625
+8763
+1276
+10798
+7558
+5029
+2555
+8094
+3460
+301
+10203
+3288
+78
+5456
+4839
+5456
+1159
+8394
+775
+4690
+4743
+10812
+8331
+3189
+5706
+9917
+301
+10203
+3288
+78
+9706
+4055
+6504
+4451
+2291
+7699
+10429
+1452
+6144
+9902
+8818
+1830
+10325
+8852
+2302
+8170
+5820
+9902
+7924
+5593
+6787
+10928
+6424
+3354
+660
+9335
+1903
+9293
+6676
+635
+10509
+6470
+8539
+3354
+6424
+10928
+8636
+7426
+2615
+5783
+1653
+2302
+8170
+5820
+9902
+8818
+11278
+8243
+503
+2033
+8818
+1830
+7048
+6612
+5447
+3236
+2714
+750
+5838
+3138
+339
+750
+4470
+605
+9915
+4794
+6494
+2769
+1200
+6272
+9915
+4794
+6494
+2769
+6110
+10486
+7711
+5337
+2076
+1591
+2425
+2241
+2425
+459
+2328
+4436
+4631
+1104
+4375
+8694
+1566
+11174
+11179
+1768
+7461
+11232
+9698
+5872
+1785
+4966
+10047
+10563
+4178
+10563
+7987
+7020
+9374
+5114
+8564
+2990
+11179
+1768
+7461
+11232
+8581
+3739
+6783
+7508
+7943
+6783
+11174
+11179
+1768
+7461
+5882
+655
+2990
+11179
+1768
+7461
+5882
+7020
+9374
+6071
+7810
+3424
+4585
+7108
+10938
+3133
+351
+4413
+5968
+4269
+17
+9640
+7356
+4716
+2304
+7488
+2065
+4900
+7774
+6066
+9676
+8085
+6066
+9676
+8085
+1682
+4159
+6554
+706
+10417
+1598
+1245
+6471
+10979
+5214
+3283
+1747
+3630
+1259
+5602
+3524
+11139
+8107
+3692
+4640
+9337
+10159
+6017
+7001
+622
+3471
+4324
+9784
+7077
+4641
+3236
+2714
+2100
+4641
+7077
+9784
+2840
+451
+6517
+11154
+5833
+10159
+6017
+7001
+5296
+622
+3471
+7656
+2201
+3728
+7286
+7928
+3384
+2957
+374
+10098
+3590
+1478
+7942
+4825
+374
+2642
+780
+9859
+5231
+9431
+5398
+7594
+485
+6923
+11127
+7675
+5067
+4373
+5863
+5937
+321
+2245
+3593
+1130
+512
+9284
+8394
+775
+11173
+10559
+9234
+9808
+152
+3083
+2366
+1093
+7706
+1093
+8529
+4658
+9468
+5247
+9624
+6291
+448
+9630
+3270
+6092
+1036
+1516
+4658
+8529
+2977
+10512
+7319
+3037
+2422
+10163
+3260
+5481
+1154
+2733
+7664
+4483
+7664
+6064
+623
+6064
+10366
+8970
+4485
+1432
+1459
+341
+8553
+11297
+5801
+2763
+4165
+1174
+6540
+1327
+1574
+7764
+333
+786
+1902
+4395
+11333
+7848
+4870
+1238
+1817
+5278
+6867
+1817
+5278
+2669
+1199
+7391
+11223
+307
+3090
+2763
+5801
+11297
+6183
+10160
+1019
+5875
+861
+3885
+3882
+11256
+6172
+7844
+8752
+7303
+5912
+11054
+7573
+10160
+1019
+5875
+861
+9261
+5437
+9923
+163
+1643
+8997
+6488
+9923
+10485
+11200
+7871
+5077
+1588
+7593
+7065
+10426
+2834
+6397
+2517
+3481
+9288
+359
+41
+5283
+8367
+4434
+4097
+2855
+7724
+1041
+8492
+10170
+7838
+5484
+7235
+9643
+7724
+1931
+2266
+7520
+11218
+4426
+11199
+5554
+6868
+8682
+2738
+9687
+1636
+4088
+5137
+3470
+9280
+10172
+3014
+7459
+902
+2548
+10172
+3014
+8952
+8603
+8850
+5414
+5617
+5625
+9197
+1825
+1004
+8479
+347
+10162
+3
+2121
+10363
+7628
+8971
+8784
+7271
+3401
+3442
+5617
+5625
+9197
+3470
+9280
+8850
+4873
+10490
+6111
+481
+2308
+7690
+10803
+9822
+11347
+6111
+3428
+10085
+3401
+3442
+5617
+5625
+9197
+1825
+1004
+8479
+347
+10766
+822
+3515
+2829
+7605
+2829
+3515
+11215
+7279
+4539
+9247
+10658
+8292
+6475
+10081
+1354
+7672
+4735
+2002
+7831
+5730
+4673
+10219
+10138
+3353
+923
+8806
+9851
+7191
+3144
+896
+1819
+5404
+145
+9414
+230
+2759
+10361
+1697
+4961
+1697
+1088
+2410
+2759
+230
+3612
+9386
+4786
+7230
+1354
+4402
+2632
+3982
+3892
+4551
+8071
+1122
+7317
+9368
+1977
+4402
+1186
+4786
+7230
+8460
+6418
+344
+9247
+10658
+5347
+5140
+10414
+4367
+3749
+7054
+310
+3055
+10009
+9502
+4106
+4444
+10885
+3194
+7838
+10170
+1247
+4452
+2932
+10908
+7708
+141
+3436
+10072
+4072
+4321
+3565
+638
+9425
+9851
+7191
+7948
+6055
+6998
+4673
+1835
+8053
+5877
+7831
+5730
+4673
+10219
+10138
+8543
+3244
+1835
+8053
+1228
+4735
+1228
+8638
+2002
+7831
+5730
+2151
+1208
+3982
+1977
+4402
+1186
+4786
+7230
+1354
+7672
+153
+10009
+9502
+5866
+5424
+2266
+8366
+154
+7520
+2469
+4347
+4426
+157
+808
+2658
+7016
+2738
+122
+2109
+3659
+4363
+8682
+2738
+9687
+7821
+2336
+10235
+1636
+5996
+122
+2109
+5184
+40
+2556
+6910
+5151
+10068
+5077
+3936
+7248
+9042
+3882
+11256
+5690
+950
+6485
+9315
+6805
+9686
+9826
+1263
+6398
+1604
+10211
+5822
+9826
+1263
+6398
+6485
+9315
+8059
+9540
+6172
+7844
+8752
+5912
+7844
+8752
+6875
+5875
+861
+9261
+6488
+9923
+163
+1643
+5801
+1432
+1459
+10680
+5496
+11167
+8596
+10554
+10062
+8715
+3594
+5691
+7134
+2041
+912
+11291
+6712
+5322
+7012
+6524
+6076
+5349
+4983
+542
+2735
+10409
+6956
+8415
+8873
+3970
+963
+6089
+7474
+9794
+2788
+5265
+85
+3872
+6667
+4317
+6142
+2310
+9297
+8851
+5469
+9609
+10556
+4201
+3136
+11004
+2038
+963
+3970
+6386
+4502
+3783
+1193
+2238
+11258
+2030
+3347
+5784
+8566
+1526
+465
+8566
+1526
+586
+1644
+2030
+11258
+9330
+10936
+7185
+4502
+8680
+7269
+7868
+11237
+6681
+9803
+819
+3970
+5039
+1810
+825
+11004
+3136
+734
+7474
+9794
+2788
+5265
+7078
+2505
+6379
+4772
+9154
+11117
+7956
+5737
+4639
+11340
+2919
+11323
+610
+65
+10727
+10435
+4419
+796
+3751
+6003
+3587
+1237
+4419
+8998
+1630
+8723
+720
+1280
+5492
+6802
+6385
+10687
+4463
+7663
+11245
+3587
+1237
+7241
+10282
+8770
+10816
+10934
+132
+8046
+6959
+5927
+4656
+9267
+2902
+3229
+7771
+5668
+10517
+10806
+8835
+4656
+9267
+2902
+2919
+10846
+6597
+8721
+11340
+2919
+10846
+5346
+10462
+3790
+4726
+7757
+3269
+5341
+10083
+4348
+6901
+2375
+2255
+411
+10083
+4348
+1652
+4475
+6462
+4475
+8104
+9834
+5998
+10153
+8746
+7843
+8261
+8746
+7843
+5559
+10246
+2380
+3376
+4148
+2891
+10246
+2380
+3376
+11346
+2386
+8937
+3376
+4148
+2891
+9232
+10774
+7646
+3663
+5486
+9232
+10774
+1659
+4099
+1901
+9783
+6190
+1270
+2053
+7442
+2549
+3627
+10845
+9983
+3039
+7152
+4902
+6611
+10213
+7117
+3269
+3011
+1463
+6363
+1376
+8637
+5569
+3002
+7511
+2831
+7486
+8369
+2566
+10699
+2830
+5808
+4774
+5655
+8928
+9026
+9371
+8495
+4911
+7728
+10516
+3722
+11040
+1182
+11207
+929
+9076
+6300
+1123
+10
+2550
+10495
+409
+5767
+2011
+5767
+409
+6300
+1123
+3615
+2043
+371
+9371
+5979
+6422
+2385
+3356
+11065
+4469
+970
+4459
+9674
+3522
+3356
+11065
+3825
+8518
+4774
+5808
+1514
+4469
+970
+4459
+9674
+2199
+7377
+5917
+8437
+4168
+1652
+4475
+6462
+9221
+140
+8457
+11001
+5528
+140
+8457
+11226
+6464
+2115
+2872
+11226
+6464
+4276
+7472
+1659
+4099
+1901
+9783
+6190
+4744
+7472
+1659
+9518
+1466
+5692
+8269
+2461
+2886
+5344
+167
+4075
+4962
+1595
+2461
+2886
+5344
+4962
+1595
+9175
+8269
+5692
+1466
+3382
+599
+10520
+6510
+4048
+49
+1340
+8005
+8452
+5258
+9670
+5421
+2119
+941
+240
+5421
+2119
+941
+11189
+6232
+2263
+6636
+4556
+7537
+10389
+1716
+215
+7903
+2744
+2631
+5335
+8819
+11308
+1761
+2319
+7500
+6781
+7507
+1291
+5799
+10044
+2172
+5007
+6409
+6903
+731
+1942
+5595
+1026
+6180
+1293
+1616
+731
+1942
+7229
+8075
+7695
+6211
+10328
+6313
+7923
+2331
+1773
+7695
+6211
+10328
+6313
+7923
+1069
+7923
+2331
+10767
+5520
+4202
+2099
+4616
+3702
+7266
+9554
+5147
+8269
+2461
+2886
+7552
+9534
+3717
+2053
+7442
+5567
+3717
+5567
+7552
+9534
+8742
+8269
+5692
+1853
+5530
+7707
+9960
+10623
+395
+6646
+10520
+6510
+7612
+3889
+3842
+10774
+1659
+4099
+1901
+9783
+6190
+1270
+3285
+618
+349
+11123
+1802
+9518
+3842
+10774
+1659
+4099
+1901
+9783
+6190
+4744
+2115
+2872
+11001
+5528
+3218
+73
+7117
+3269
+5341
+73
+7117
+8917
+3797
+10213
+3218
+73
+7117
+3269
+3011
+411
+10083
+4348
+6901
+2375
+1333
+5569
+3002
+9674
+2199
+1754
+2385
+3356
+11065
+4469
+970
+3522
+3356
+11065
+3825
+8518
+7535
+9026
+9371
+8495
+4911
+7728
+1182
+11207
+929
+928
+6519
+2747
+928
+6519
+1662
+3996
+1398
+8260
+1398
+2940
+10276
+8211
+1662
+2940
+10707
+8347
+1796
+8980
+9995
+3253
+3914
+7410
+2271
+192
+10707
+8347
+4797
+2526
+11228
+4549
+9461
+8980
+1796
+3253
+3914
+1266
+2953
+4689
+11290
+6302
+1715
+3710
+953
+1871
+3505
+1386
+11290
+1085
+6009
+2804
+9396
+2516
+8959
+6734
+10169
+3232
+4582
+3466
+1585
+9454
+3466
+4582
+3509
+9936
+5667
+215
+7903
+3597
+10814
+1689
+4102
+2871
+3450
+8907
+10060
+4102
+2871
+3450
+8907
+100
+8121
+1026
+5595
+7229
+8075
+7695
+6211
+10328
+6313
+7923
+2331
+10767
+5520
+4202
+640
+11202
+2331
+7923
+1069
+7072
+8585
+10821
+1297
+3727
+1567
+9621
+3489
+4371
+9590
+4826
+211
+2618
+866
+3811
+4371
+9470
+3489
+9621
+1567
+9899
+8585
+10821
+7841
+7131
+9344
+10599
+7653
+5362
+8908
+640
+11202
+2331
+10767
+1962
+6522
+4616
+3702
+7266
+8447
+8738
+869
+9700
+6522
+4616
+3702
+7266
+9554
+5147
+8269
+5692
+1853
+5530
+9635
+3088
+3942
+5313
+10132
+7371
+5258
+9670
+5421
+2119
+941
+11189
+5673
+11189
+6232
+2263
+4446
+2827
+6232
+2263
+6636
+4556
+7537
+10389
+1716
+9496
+6358
+7537
+10389
+1716
+215
+7903
+2744
+2631
+5335
+8819
+11308
+1761
+5393
+9147
+4522
+9970
+10205
+654
+6759
+68
+2515
+10024
+9083
+2399
+1053
+10914
+9209
+9246
+2699
+7825
+6477
+3400
+441
+6408
+1719
+8510
+7539
+8325
+10290
+356
+5642
+10508
+954
+4875
+7480
+6735
+9759
+4579
+1040
+1758
+4755
+9475
+5871
+7857
+1058
+8909
+2839
+8909
+4867
+7258
+8080
+6990
+5925
+7232
+5681
+11185
+5
+1097
+5
+11185
+8841
+5494
+7155
+5282
+6870
+7769
+11265
+620
+6341
+2216
+9525
+6150
+1017
+7913
+11044
+9525
+6150
+10610
+5324
+2737
+3159
+7354
+7769
+11265
+3787
+9285
+10935
+7676
+10935
+4310
+545
+8694
+5535
+10874
+4985
+11135
+117
+1035
+8986
+11149
+1807
+9410
+10274
+424
+9904
+6078
+3133
+351
+662
+4467
+2304
+7488
+5746
+2908
+7774
+7874
+6012
+1368
+426
+10086
+10960
+713
+10938
+3133
+6078
+9904
+1035
+8986
+11149
+1807
+9410
+9809
+4757
+4470
+605
+9915
+4794
+6494
+2769
+6110
+4076
+7711
+10486
+4998
+10309
+6494
+2769
+6110
+10486
+4998
+7908
+8562
+6523
+10095
+10173
+11162
+5639
+9749
+8295
+5639
+2455
+10095
+6523
+3141
+5742
+7613
+8403
+7494
+2906
+4779
+1956
+5966
+8628
+3547
+673
+5156
+53
+116
+7613
+8403
+7494
+1701
+7100
+9500
+1956
+5966
+8628
+3547
+673
+5156
+53
+116
+4919
+9391
+621
+8999
+2072
+6949
+4919
+9391
+621
+9879
+7760
+7613
+8403
+7494
+2906
+1701
+7100
+9500
+1956
+5966
+7088
+1597
+5229
+956
+1058
+8909
+2839
+5521
+5658
+6589
+9408
+10525
+10436
+2120
+9292
+4728
+3838
+7627
+10597
+10919
+8391
+3268
+5284
+708
+9679
+1556
+4674
+7834
+10271
+3359
+5521
+2839
+8909
+4867
+4835
+10425
+7232
+5681
+11185
+8841
+5494
+7155
+5282
+6870
+9831
+2329
+6209
+7196
+144
+8906
+3774
+3438
+5744
+4389
+10018
+5657
+7888
+5549
+11312
+1720
+1144
+617
+5040
+5813
+7299
+2635
+10018
+3334
+6829
+3334
+6097
+7915
+8143
+3261
+8242
+8484
+9610
+7601
+4770
+2938
+8116
+1015
+9187
+1303
+9084
+7047
+2497
+6169
+3469
+7691
+4945
+8227
+10385
+4024
+8728
+1176
+160
+7914
+7047
+9084
+1303
+9187
+3513
+5361
+9130
+9953
+8568
+9714
+2134
+5297
+4970
+6411
+6947
+10285
+7465
+2342
+4514
+4693
+4943
+2024
+2773
+9842
+8716
+5951
+5722
+7019
+8996
+10468
+2024
+2773
+9842
+1791
+4574
+9866
+3072
+4516
+9806
+6583
+4211
+4516
+1032
+3655
+7680
+579
+390
+10701
+458
+10576
+916
+8593
+4633
+6531
+2195
+3548
+7955
+5359
+872
+5186
+7992
+8065
+2418
+10994
+7349
+7569
+9190
+1339
+2021
+6515
+8531
+5927
+4656
+9267
+2902
+2919
+10846
+5346
+10462
+3790
+4726
+3011
+1463
+6363
+1333
+5569
+3002
+9674
+2199
+7377
+10153
+5486
+9232
+4173
+3376
+2071
+2386
+8937
+4745
+9045
+9845
+7377
+10153
+11317
+6464
+2115
+2872
+11001
+5528
+3218
+9221
+140
+8457
+11226
+6464
+4276
+7472
+1659
+9518
+1466
+5692
+1853
+5530
+7707
+3382
+599
+6510
+7612
+3889
+4173
+2026
+293
+49
+1340
+513
+9670
+5421
+2119
+941
+240
+686
+10537
+10442
+3697
+7126
+7743
+4128
+4169
+7715
+3597
+10814
+1689
+9316
+1532
+4823
+7606
+7146
+10413
+2659
+3649
+19
+5298
+10332
+4244
+7604
+3598
+6156
+1331
+11138
+8663
+6655
+4458
+5131
+9273
+4045
+2481
+4830
+4925
+8592
+373
+10134
+5620
+1981
+7297
+7736
+6790
+1413
+8390
+9814
+5302
+3213
+1483
+6863
+2576
+9558
+8679
+5418
+1715
+3710
+953
+1871
+5885
+2107
+1509
+10123
+6120
+139
+5155
+6040
+8285
+4314
+1265
+7604
+8651
+6888
+3598
+6156
+1331
+9477
+4458
+9702
+9731
+2857
+9226
+7725
+6916
+1092
+2405
+7882
+4237
+6736
+5376
+1846
+4898
+10669
+5849
+8754
+220
+5615
+1028
+7297
+7736
+8299
+4231
+4458
+5131
+9273
+4045
+9075
+3809
+945
+9203
+10820
+5245
+8532
+6751
+3170
+2295
+8720
+6228
+8720
+9198
+3241
+5583
+8299
+4231
+4710
+4409
+3844
+2014
+386
+9122
+3981
+3999
+8871
+3699
+5769
+8321
+5172
+8434
+10957
+8776
+7731
+11314
+5172
+9113
+7375
+8893
+8642
+7429
+1323
+7644
+724
+10539
+2224
+7295
+7283
+56
+393
+8117
+3984
+10632
+6073
+937
+1966
+6887
+6610
+4606
+6610
+937
+6073
+1713
+4002
+6618
+7642
+3952
+2314
+1389
+6283
+6279
+2920
+5198
+2850
+10539
+2224
+2396
+1990
+5613
+5741
+56
+7295
+9647
+8792
+10998
+9647
+7514
+4883
+6625
+10010
+393
+1000
+7228
+7222
+3021
+779
+22
+10978
+4498
+7341
+10493
+7341
+8236
+6474
+9049
+1729
+3193
+2481
+4830
+5627
+6228
+8720
+6751
+10712
+11180
+6758
+2297
+1957
+7477
+9376
+9387
+1155
+7892
+2360
+10719
+9755
+2740
+252
+3800
+7892
+8582
+8013
+9574
+3004
+7525
+4234
+30
+4860
+1657
+8626
+10006
+10519
+3762
+1406
+10006
+3290
+3429
+1087
+6390
+3126
+1782
+3984
+6625
+10061
+10632
+5358
+7374
+8657
+8594
+9894
+7374
+5358
+2391
+6528
+5474
+6283
+6279
+2920
+9182
+1991
+7063
+10843
+693
+1743
+3145
+5513
+1364
+4734
+7571
+3540
+1767
+2858
+438
+6943
+10656
+4920
+4147
+7880
+6487
+10308
+7880
+9101
+1671
+4147
+6640
+6204
+4020
+1822
+5281
+1738
+6911
+1449
+3446
+4196
+7660
+6062
+9446
+6167
+5320
+182
+10054
+2604
+1051
+4004
+8444
+2798
+4974
+3650
+5364
+8846
+8423
+5505
+9614
+2003
+4773
+303
+8338
+7007
+271
+3067
+1453
+4163
+6244
+1453
+5751
+2311
+1274
+7630
+2185
+2980
+9795
+7445
+3104
+6937
+3383
+4286
+3308
+6021
+4064
+4457
+6297
+9613
+10567
+6864
+4737
+4597
+3361
+6864
+4737
+4597
+5149
+10797
+6139
+2160
+5545
+9333
+7164
+3899
+4205
+4651
+1470
+2125
+3823
+3771
+6846
+10329
+9552
+508
+810
+1737
+2752
+3449
+8676
+8508
+5227
+8609
+9549
+4162
+843
+3667
+9320
+5045
+8599
+10744
+4286
+3308
+3870
+10183
+9112
+4537
+21
+3383
+6130
+2720
+384
+6088
+3001
+11269
+1877
+7585
+9918
+4904
+9763
+6372
+6080
+9463
+3484
+4103
+3546
+5972
+7964
+4801
+3539
+1196
+2156
+6093
+11147
+5711
+4198
+6894
+3898
+175
+10049
+6816
+7779
+3887
+4091
+10190
+9787
+4181
+8395
+9541
+3849
+7049
+239
+2358
+10637
+749
+8111
+9541
+3206
+1334
+6033
+4652
+2124
+7847
+6373
+9969
+8727
+8499
+9586
+2288
+9235
+4268
+10829
+6186
+9586
+4101
+7847
+9550
+6456
+11089
+1197
+4329
+8086
+1218
+3038
+11214
+8654
+5859
+8501
+2522
+5974
+8166
+11254
+914
+8799
+7320
+6246
+3763
+11164
+7904
+5115
+9060
+3903
+3763
+11164
+2467
+2570
+1707
+10491
+9990
+63
+3883
+8409
+1286
+2235
+8462
+1305
+3733
+5703
+6750
+2283
+800
+8808
+11187
+571
+9812
+10446
+670
+2457
+9115
+10778
+7529
+8281
+10073
+4313
+7264
+3895
+4488
+1161
+797
+2275
+4671
+4510
+3434
+11069
+4874
+2934
+930
+4041
+9318
+9081
+4821
+6512
+7929
+7703
+1161
+797
+2275
+7530
+11069
+9318
+460
+3732
+8007
+1533
+39
+9126
+8197
+6935
+5566
+4929
+9838
+10234
+10817
+7599
+8849
+276
+2332
+9114
+3660
+247
+8795
+8951
+9799
+8376
+10188
+6838
+1113
+120
+8181
+6124
+4381
+11028
+1252
+2950
+5761
+7353
+4343
+3847
+741
+10327
+4508
+2205
+1050
+10527
+3519
+4508
+7997
+4621
+3112
+7714
+8554
+2322
+8277
+2358
+5327
+2716
+3958
+2232
+3047
+4654
+8921
+295
+10223
+838
+4654
+8921
+3047
+2232
+11299
+4570
+2950
+845
+5403
+3178
+446
+4185
+8181
+120
+1031
+6838
+1113
+4293
+8589
+98
+7376
+6929
+8726
+7218
+4381
+11028
+4888
+10716
+11212
+7109
+6784
+7218
+4381
+11028
+1252
+845
+5403
+2504
+5761
+7353
+1380
+11299
+2232
+3047
+4654
+838
+4611
+9693
+6216
+5008
+1960
+6931
+9070
+9597
+3005
+5717
+7523
+7995
+5717
+7523
+6323
+848
+10739
+5246
+10818
+848
+10739
+2500
+1281
+4973
+2973
+6816
+7779
+3887
+4091
+5246
+10190
+3048
+6170
+4652
+8137
+9430
+7388
+9663
+1139
+10558
+524
+5458
+10070
+2863
+9685
+9404
+6880
+10805
+3934
+11095
+8855
+298
+7097
+7498
+9685
+2863
+10070
+5458
+6973
+6764
+892
+6106
+9466
+6513
+1139
+6940
+6427
+8435
+3686
+5921
+10558
+5044
+7416
+890
+9364
+3161
+3380
+4896
+5228
+11062
+10750
+10742
+4316
+3344
+6662
+6334
+6575
+4018
+6550
+3557
+9565
+2816
+1213
+7430
+4564
+9206
+3200
+7430
+2301
+7087
+10890
+9370
+5042
+119
+8083
+9871
+2198
+1884
+4547
+10321
+10136
+5467
+6590
+1381
+5467
+3658
+6433
+649
+8083
+8232
+2473
+8228
+2473
+9085
+9342
+8205
+3098
+203
+952
+5475
+10965
+11315
+11178
+5475
+1282
+9418
+5000
+8205
+1628
+5914
+8744
+3894
+6441
+4715
+2876
+5075
+11147
+7622
+5075
+4131
+2948
+10747
+2025
+8320
+10115
+560
+2641
+1196
+10747
+2025
+1133
+7862
+4172
+5914
+8744
+4915
+7242
+10747
+2025
+4694
+2641
+11259
+3539
+4217
+5711
+4198
+1553
+1954
+11013
+1091
+3369
+5350
+3005
+6564
+2853
+9597
+3005
+5717
+8395
+6741
+6212
+10557
+3235
+1887
+749
+8111
+7049
+10829
+9235
+4268
+239
+2358
+5327
+6216
+5008
+7994
+3965
+1655
+3342
+1774
+6580
+7994
+3965
+7164
+9333
+5360
+7473
+1479
+10567
+9613
+6297
+5405
+10183
+10289
+1941
+9684
+4587
+9339
+8056
+2529
+6574
+6493
+4109
+4297
+3299
+4437
+8139
+1344
+2748
+5941
+3576
+2405
+7882
+4237
+6736
+5376
+1846
+4898
+5376
+1846
+4227
+1569
+6907
+979
+9444
+7476
+3899
+4205
+2860
+10950
+8507
+7833
+328
+10596
+6353
+8864
+3596
+8599
+10744
+1642
+4286
+3308
+8864
+3596
+5045
+3667
+9320
+885
+6353
+10596
+8035
+107
+7596
+4737
+4597
+3361
+5108
+10567
+1479
+4309
+9436
+5093
+5059
+2529
+322
+8876
+9684
+4587
+4012
+6987
+2395
+6428
+4176
+7038
+9760
+304
+11225
+2395
+6428
+3212
+6007
+1269
+8470
+2290
+10184
+8377
+5405
+10183
+9112
+11248
+10289
+1941
+2740
+252
+3303
+10040
+10119
+606
+9008
+1626
+965
+8214
+373
+10134
+5620
+161
+1981
+564
+9239
+6812
+5970
+9075
+3241
+9198
+5636
+6228
+3174
+10978
+4498
+7341
+8321
+5172
+8434
+10306
+2224
+10539
+3863
+5244
+1323
+7644
+7203
+5585
+7375
+1117
+1775
+7431
+9249
+3900
+10761
+9856
+688
+10087
+11160
+4783
+1991
+7063
+10432
+9409
+9029
+10432
+7063
+5841
+6382
+5280
+86
+11231
+11027
+3012
+10087
+3137
+3012
+10087
+11160
+4783
+7952
+1691
+2850
+5198
+2920
+9220
+7095
+8386
+4464
+2314
+3952
+6637
+7029
+7800
+10678
+11088
+9459
+6999
+9269
+6578
+1067
+6569
+1067
+3518
+4273
+5345
+730
+2327
+6121
+2327
+681
+5726
+3708
+4273
+10125
+11088
+9459
+6999
+2639
+1418
+3729
+3404
+8610
+10308
+7880
+4974
+3650
+5364
+8846
+1051
+4004
+11105
+3149
+5281
+9
+9661
+3399
+9205
+5903
+6769
+2036
+6980
+2387
+11121
+8978
+10590
+8154
+3399
+9205
+2320
+6769
+2036
+10780
+7536
+4235
+10225
+6832
+1570
+5050
+8981
+7195
+4484
+9456
+1419
+5079
+10771
+5935
+2732
+4235
+10225
+6832
+1570
+4949
+9478
+6560
+219
+4916
+719
+10860
+8696
+5419
+8279
+5698
+8831
+6364
+1213
+3736
+8279
+5193
+5940
+9332
+7432
+8388
+9013
+4492
+6068
+2600
+7492
+3177
+6866
+11021
+7798
+11329
+5942
+6866
+10721
+9338
+4600
+8135
+2097
+10628
+3296
+8024
+2600
+4493
+9778
+3953
+575
+504
+3527
+7719
+7910
+3527
+7719
+1370
+2558
+9562
+6652
+4511
+9256
+7181
+3143
+8169
+4767
+1288
+8926
+10038
+7421
+4768
+6944
+5109
+1415
+8392
+6288
+11033
+6257
+5648
+10411
+9715
+5574
+3917
+6253
+7305
+10016
+7205
+10923
+7171
+3956
+5203
+2382
+2276
+6015
+5989
+4837
+9090
+4059
+2001
+3266
+11091
+974
+3057
+5773
+2922
+4335
+9106
+1674
+1690
+851
+7147
+9757
+8060
+561
+10925
+7897
+8522
+9135
+2371
+6335
+1464
+5384
+1464
+6335
+2371
+8152
+2270
+6791
+11263
+3257
+8913
+535
+2638
+6791
+11263
+3257
+4980
+497
+2800
+4289
+10036
+10316
+3246
+6549
+9009
+748
+1055
+1395
+8192
+816
+10974
+3779
+6319
+4806
+3335
+670
+2457
+5731
+46
+5171
+11017
+7529
+10897
+5719
+3348
+7554
+5519
+3362
+8334
+6664
+7116
+8043
+146
+6664
+7116
+7785
+4741
+7989
+5983
+7740
+8671
+5519
+10730
+10636
+3275
+5483
+2351
+5560
+3006
+5719
+75
+6546
+460
+3732
+8007
+1533
+9648
+9126
+8197
+3915
+4802
+1710
+1533
+7740
+8671
+5519
+10730
+4764
+3453
+9092
+11055
+5669
+6347
+891
+2653
+8290
+4078
+549
+1812
+6347
+63
+3883
+494
+2983
+5669
+6347
+891
+8675
+6365
+2805
+7491
+1236
+10591
+8468
+2712
+11084
+5591
+3988
+2383
+9550
+6774
+8036
+2765
+9430
+7388
+9663
+1139
+6513
+9466
+10353
+1115
+7330
+1844
+8086
+1218
+2903
+892
+6106
+7330
+1844
+2903
+892
+6106
+9466
+8036
+2765
+2124
+9816
+2663
+3971
+1334
+6033
+7568
+6170
+11287
+4357
+2357
+5163
+3686
+8435
+2188
+6427
+8435
+3686
+5921
+7416
+5044
+6767
+2507
+524
+5458
+6973
+8870
+4591
+11214
+8654
+5859
+8501
+1127
+5859
+8501
+2522
+5974
+8166
+5223
+10230
+3491
+6181
+2522
+5974
+281
+9847
+3903
+3763
+11164
+7904
+5263
+2235
+8462
+9447
+195
+10800
+836
+2538
+29
+8647
+2610
+927
+4544
+732
+9482
+7806
+5580
+6200
+1171
+2088
+6840
+10800
+195
+5263
+10491
+9990
+6675
+9294
+5428
+4762
+6365
+2805
+5702
+4762
+6365
+2805
+7491
+1236
+6674
+10799
+6817
+2288
+9235
+9010
+7714
+8554
+3847
+741
+3112
+7714
+8554
+978
+4268
+239
+2358
+10637
+3506
+5363
+754
+7933
+8293
+8717
+10415
+3357
+2853
+9597
+4161
+9103
+10642
+9208
+10045
+4001
+6503
+11013
+1861
+7278
+1553
+1954
+11013
+1861
+7278
+3478
+3898
+175
+11045
+6894
+4198
+1456
+7964
+4801
+8655
+5972
+3546
+1214
+7325
+3273
+803
+810
+10320
+328
+5227
+8609
+9549
+4162
+843
+8772
+113
+4963
+10397
+9549
+4162
+843
+8772
+1642
+4286
+3383
+1904
+3104
+5779
+7387
+592
+5779
+3104
+6937
+6603
+1421
+9248
+2339
+2824
+5823
+6810
+11311
+563
+3198
+5013
+3813
+960
+6086
+4964
+2756
+3767
+3813
+960
+8918
+6086
+3429
+3044
+8358
+6390
+6887
+10533
+1151
+9555
+4809
+142
+1892
+9086
+2756
+3767
+3813
+11186
+828
+8695
+2590
+7124
+11205
+3004
+7477
+4845
+8406
+3815
+2845
+10384
+8865
+899
+3861
+6290
+1957
+6290
+4845
+8406
+3815
+6223
+10499
+8840
+4447
+1626
+10548
+5004
+7350
+4925
+4830
+9615
+3241
+5583
+8299
+4231
+4087
+10535
+6019
+8255
+3254
+7931
+959
+2575
+1005
+3844
+11151
+2532
+6143
+5371
+8387
+10883
+8236
+9174
+1030
+3332
+3150
+9829
+710
+10542
+5636
+6228
+8720
+7751
+10712
+11180
+30
+4860
+1657
+6346
+1406
+8626
+4234
+6758
+2297
+7525
+10891
+5525
+736
+8049
+3290
+8918
+3290
+10006
+10519
+1087
+1782
+3762
+1406
+10006
+8049
+3742
+828
+8695
+7460
+4992
+6810
+7773
+4685
+6447
+4605
+4759
+7773
+11311
+563
+3198
+5013
+8151
+4534
+2257
+6161
+9529
+2182
+9328
+1851
+2745
+10650
+6610
+937
+1966
+10852
+10632
+10061
+5358
+2391
+6528
+5474
+10666
+9820
+6528
+5474
+6283
+1389
+4305
+10666
+9820
+9894
+7374
+5358
+2391
+9894
+7374
+8657
+8594
+6618
+7642
+3952
+6637
+7029
+10142
+501
+2971
+5857
+7571
+3329
+11037
+3661
+7559
+5461
+10951
+3166
+8448
+10326
+743
+6191
+7189
+5527
+10407
+4306
+1267
+7201
+3237
+5330
+5353
+3820
+5926
+4318
+8098
+893
+6047
+9438
+4864
+1848
+10088
+7485
+6158
+2420
+3671
+766
+6311
+9002
+1917
+9493
+872
+5186
+2261
+2194
+510
+8302
+3051
+4610
+5786
+5732
+6607
+6176
+523
+11073
+4285
+3209
+8824
+3758
+8276
+9488
+11191
+4756
+7905
+8065
+2418
+10994
+7934
+6836
+5182
+7635
+9499
+4680
+7917
+3891
+338
+6273
+10433
+8044
+7652
+10338
+7917
+3891
+8449
+3875
+3003
+8253
+4428
+9069
+3591
+5959
+7197
+2593
+547
+1367
+3113
+3534
+2150
+4571
+1814
+6665
+8667
+7851
+3775
+5837
+11330
+1153
+10277
+5518
+8363
+2364
+3216
+7851
+3775
+5837
+5431
+4288
+3330
+9095
+3330
+102
+8336
+9793
+5509
+4880
+2471
+4278
+2414
+1422
+10915
+11330
+1153
+10277
+11330
+1153
+3216
+6152
+4516
+1032
+3655
+846
+10340
+699
+5019
+6476
+4136
+7382
+699
+6476
+4136
+1615
+3479
+8212
+4920
+11262
+1020
+11134
+6782
+259
+3204
+10104
+678
+3070
+11053
+4014
+126
+43
+5782
+4249
+7090
+8506
+2889
+7945
+6204
+4020
+8444
+2798
+2381
+5390
+7880
+6487
+10887
+3729
+3404
+10452
+5546
+6569
+9614
+2003
+4773
+9164
+11266
+303
+8338
+7832
+6167
+5320
+182
+10786
+5215
+6994
+8168
+7735
+10240
+6911
+1449
+3446
+4196
+7660
+11318
+5065
+182
+10054
+6582
+8846
+8423
+8610
+3404
+10452
+181
+6578
+9269
+1418
+4990
+3817
+8779
+10656
+5069
+3535
+8779
+10656
+4920
+11262
+4589
+2933
+6765
+4014
+126
+43
+5782
+4249
+4672
+2998
+11303
+4501
+8399
+8401
+5819
+9855
+1786
+4581
+10057
+2144
+6063
+9451
+10127
+1786
+4581
+4594
+2510
+6670
+2324
+4368
+4105
+6670
+2324
+4368
+5460
+4590
+4717
+10963
+7503
+7453
+8684
+7503
+2316
+10250
+3271
+5468
+2929
+5541
+6895
+2510
+6670
+2324
+2890
+11103
+3227
+2239
+7075
+8109
+9480
+147
+9928
+8778
+4796
+3256
+849
+8469
+7148
+5518
+1009
+8363
+7148
+8363
+2364
+3216
+7851
+2723
+6665
+8667
+6152
+7776
+10141
+9806
+6583
+10701
+458
+10576
+916
+8593
+4633
+6531
+2195
+3548
+3586
+8213
+5025
+4739
+7351
+5139
+4751
+8943
+4739
+7351
+916
+8593
+4633
+6531
+2195
+3459
+668
+10367
+2418
+10994
+7349
+7569
+9190
+771
+9872
+6654
+1371
+7569
+9190
+771
+1371
+7569
+9190
+771
+9872
+7096
+536
+6836
+7934
+10994
+568
+2098
+2969
+3780
+520
+568
+4756
+7905
+8265
+8586
+6918
+2616
+2261
+2194
+5654
+2616
+2261
+2194
+510
+4610
+5786
+5732
+10279
+3205
+10279
+10345
+4253
+7749
+3152
+4512
+5891
+6046
+5086
+6434
+1141
+99
+5891
+6046
+8008
+151
+10566
+4258
+10377
+2589
+987
+2589
+9740
+3588
+11101
+8156
+10647
+9848
+7340
+10122
+1763
+10577
+5423
+6501
+9347
+5899
+9824
+5001
+10369
+6384
+6173
+1441
+4575
+6192
+2520
+1793
+10840
+7982
+4853
+1911
+6708
+5643
+4824
+4853
+1911
+6708
+9231
+9159
+7876
+1292
+2215
+11126
+1994
+4215
+4795
+10682
+5852
+2215
+2082
+7896
+2960
+1006
+3262
+1522
+5643
+4824
+8124
+3075
+11090
+5740
+8914
+6444
+6975
+1417
+1640
+6975
+1640
+1943
+9619
+720
+8723
+796
+3751
+6003
+6802
+47
+1063
+4320
+4918
+3607
+6041
+3631
+1063
+4320
+4918
+3607
+1147
+8758
+7257
+4824
+4853
+3343
+7876
+1292
+2215
+2082
+7896
+1179
+4975
+8844
+7386
+7563
+2015
+10295
+8433
+531
+2861
+3505
+1386
+11290
+6302
+4372
+6399
+3555
+3476
+6922
+8026
+5418
+1715
+1386
+1266
+2953
+4689
+11290
+1085
+7786
+2942
+9419
+4515
+2516
+8959
+6734
+10169
+10751
+853
+3381
+4851
+6009
+2804
+2803
+4515
+2516
+8959
+6734
+10169
+3232
+4582
+3509
+9936
+5667
+215
+7903
+2744
+2631
+5335
+9406
+6295
+8819
+11308
+1761
+5393
+9970
+4522
+7746
+2499
+9727
+3990
+7212
+2985
+68
+2515
+10024
+1207
+5107
+7268
+2826
+2062
+6206
+6796
+2826
+2062
+4584
+9548
+6747
+7331
+337
+8922
+10290
+356
+9266
+10704
+629
+5415
+12
+643
+10851
+9943
+5179
+6405
+956
+5229
+3521
+9933
+10454
+1778
+4186
+3199
+3583
+9097
+5671
+6197
+364
+2721
+3943
+5078
+8624
+5945
+1328
+8624
+1328
+3943
+5078
+9933
+10454
+1778
+5809
+2588
+6545
+9097
+5671
+6197
+364
+2588
+6545
+9097
+5671
+6197
+364
+2721
+1095
+10357
+8892
+8534
+11018
+3707
+7582
+5293
+8841
+11185
+5681
+7232
+8080
+5658
+6589
+9408
+10525
+10436
+2120
+9292
+4506
+4728
+5792
+7627
+10919
+8391
+3268
+5284
+708
+9679
+1556
+4674
+7834
+10271
+7678
+5382
+8883
+4060
+4548
+1480
+4819
+9508
+236
+4417
+10945
+4340
+3634
+10959
+8201
+4340
+3634
+3626
+3387
+2411
+10346
+5399
+3634
+10959
+6505
+1959
+7834
+10271
+3359
+10193
+1758
+4755
+11070
+944
+10674
+8099
+2852
+1894
+11332
+777
+6588
+10674
+8099
+3537
+954
+4875
+879
+8188
+7331
+337
+8922
+10290
+356
+735
+8510
+5420
+3941
+8273
+8771
+210
+3482
+6151
+1498
+6329
+6579
+6960
+1600
+10861
+10675
+10129
+5490
+10861
+10675
+6960
+6579
+1804
+8493
+8512
+3941
+8273
+8771
+210
+2992
+2972
+7098
+5633
+8346
+5570
+8069
+6992
+8877
+8894
+2176
+795
+6504
+4499
+2176
+795
+8903
+2873
+9706
+10296
+4839
+2291
+7699
+10909
+5272
+6463
+9877
+6680
+10689
+6923
+4828
+1918
+6348
+8606
+6977
+5231
+9859
+8443
+3590
+1478
+1922
+2008
+9317
+2008
+8629
+1253
+8885
+9348
+2117
+2476
+8737
+1405
+8576
+2970
+7267
+4218
+9683
+2163
+4218
+9683
+5301
+7671
+2726
+4608
+9323
+1712
+5318
+9039
+11196
+4246
+1073
+10863
+1592
+9948
+3808
+9905
+6744
+2568
+1592
+9948
+1944
+4866
+7263
+7449
+10156
+4308
+6925
+10980
+10120
+8683
+10733
+10375
+1613
+4135
+1238
+1817
+5278
+2669
+9173
+333
+786
+7578
+6718
+9150
+7702
+2296
+781
+6207
+4425
+3188
+10912
+1229
+7427
+4133
+3188
+10912
+1229
+4058
+9724
+9709
+10358
+275
+9216
+3281
+450
+5213
+11112
+3267
+2158
+450
+5213
+2910
+2308
+7690
+9822
+11347
+9827
+10490
+8040
+3401
+3442
+5617
+5625
+9197
+1825
+4082
+5347
+5140
+2974
+8292
+6475
+10081
+8460
+6418
+6146
+9519
+6811
+9386
+10823
+3144
+896
+7413
+2705
+7034
+6381
+7704
+6852
+8101
+9449
+10762
+1783
+3680
+1783
+9089
+7509
+3483
+2612
+1606
+3169
+10472
+5225
+5884
+5515
+9544
+4079
+1359
+8147
+335
+5141
+8147
+58
+3839
+6126
+430
+7481
+9578
+4988
+3080
+8887
+8186
+430
+58
+4079
+1359
+8147
+335
+5141
+1461
+9107
+4195
+764
+3789
+6425
+880
+10645
+9107
+4195
+4461
+6899
+2049
+1658
+1447
+10622
+3859
+6239
+9522
+4397
+348
+8900
+827
+3668
+8382
+5694
+7797
+5939
+4649
+9179
+2796
+5939
+9110
+10769
+4649
+7509
+3483
+2612
+1606
+3169
+7761
+3139
+10472
+5225
+8118
+8186
+7481
+9578
+4988
+6899
+2049
+1658
+1447
+8733
+7186
+3318
+10056
+764
+3789
+1348
+5386
+158
+6425
+880
+10645
+9210
+10278
+11243
+3457
+920
+8807
+6178
+8238
+9501
+1722
+3468
+8927
+4699
+2954
+8741
+1308
+316
+3846
+10063
+8310
+10092
+8825
+7313
+1833
+2954
+8741
+1308
+2736
+11074
+10076
+6178
+8238
+9501
+3690
+168
+8110
+4456
+5538
+5498
+9177
+4697
+10149
+4023
+11078
+7515
+3131
+277
+5800
+11286
+3315
+9955
+7986
+1965
+1481
+7657
+4379
+7602
+9892
+5630
+1385
+262
+6559
+3230
+8455
+8017
+5986
+538
+9955
+7986
+1965
+1481
+7657
+2142
+7567
+4767
+9773
+8257
+4598
+7180
+6652
+7345
+504
+3527
+7719
+7910
+4493
+9778
+3953
+3486
+1387
+9256
+8315
+8048
+1740
+3868
+62
+1408
+3955
+759
+8388
+793
+10121
+6016
+7211
+3568
+55
+2696
+8773
+9442
+4550
+9825
+9355
+1805
+5969
+6880
+10805
+6685
+9355
+1589
+8611
+61
+2527
+6225
+9598
+6053
+4316
+3344
+7365
+5562
+11062
+5228
+9950
+3633
+419
+5562
+10750
+2145
+3637
+8984
+1805
+5969
+10805
+3934
+11095
+7498
+9685
+2863
+7648
+4591
+11214
+2930
+4516
+1032
+3655
+846
+10340
+699
+6476
+4136
+1615
+9016
+7721
+438
+2858
+11088
+10125
+7339
+4002
+8223
+2022
+4174
+6924
+1767
+3540
+11037
+3329
+4734
+7095
+8386
+501
+4464
+2314
+1389
+9220
+2920
+9182
+7952
+1691
+7429
+11160
+10087
+688
+8078
+7032
+6407
+2946
+2103
+3674
+5949
+5371
+10493
+2014
+3844
+4409
+4710
+4231
+4087
+6790
+1413
+8390
+9814
+1483
+6863
+2835
+9682
+2345
+9255
+10332
+4244
+6156
+1331
+9477
+9702
+9731
+9226
+7725
+6916
+1092
+3212
+4237
+6736
+6778
+8947
+10258
+8621
+7654
+2509
+1347
+5104
+10453
+7188
+4807
+6553
+2838
+968
+1635
+1287
+9006
+10738
+10444
+10507
+8847
+29
+8647
+1248
+4405
+11041
+8611
+61
+8131
+755
+8004
+9767
+2620
+4669
+202
+8252
+2685
+5009
+3712
+3856
+4529
+3930
+9263
+7650
+11155
+1312
+9736
+2965
+3295
+3625
+2208
+1836
+4503
+9059
+5778
+2817
+8708
+9984
+8081
+8646
+5940
+8773
+9442
+3078
+6780
+10023
+5449
+6592
+8418
+10226
+4405
+11041
+6679
+6685
+8570
+6874
+1980
+9719
+1750
+10437
+228
+1980
+405
+2979
+589
+3568
+55
+2696
+9332
+7432
+10121
+6016
+7211
+2097
+10628
+3296
+8024
+3638
+2600
+10793
+1370
+2558
+11341
+1415
+8392
+477
+2254
+1116
+6800
+3467
+5609
+10064
+3653
+1590
+2045
+1493
+550
+10748
+1146
+9538
+6893
+8481
+9677
+4842
+9137
+8062
+2165
+382
+9925
+9473
+2758
+5216
+10787
+9978
+10281
+10787
+9401
+6885
+517
+1175
+7700
+6913
+10268
+6932
+4822
+4423
+4861
+2070
+4782
+5012
+1912
+1741
+11302
+573
+8218
+5785
+3700
+5201
+5401
+11046
+8608
+10380
+4938
+4071
+5638
+4938
+4071
+3433
+10660
+9479
+5605
+4422
+10660
+8466
+9377
+8839
+4993
+5614
+6269
+11255
+7510
+11235
+10663
+7338
+5380
+1926
+5381
+10952
+8271
+10376
+3676
+7647
+6327
+4706
+2013
+5947
+10782
+4980
+497
+2800
+5728
+5092
+609
+748
+1055
+1395
+8192
+7755
+149
+3043
+8258
+10469
+1787
+256
+2724
+5123
+3818
+1448
+7638
+10481
+11319
+3516
+256
+7543
+11068
+5584
+10974
+816
+10952
+5381
+1787
+5380
+7338
+6692
+7584
+2462
+2456
+1484
+6182
+5129
+421
+2934
+5889
+1083
+2325
+964
+5889
+762
+2286
+10604
+10817
+3560
+82
+6263
+9121
+5204
+1338
+5222
+10764
+3905
+8356
+1506
+5713
+1859
+9236
+8794
+7014
+5173
+224
+1426
+9691
+7376
+6929
+5144
+4342
+5849
+8754
+10722
+6007
+1269
+6428
+4176
+6428
+3212
+4237
+6736
+5376
+1846
+4898
+10669
+3748
+8623
+2160
+5545
+5108
+7473
+4309
+9436
+5093
+5059
+2529
+322
+8876
+9684
+4587
+9339
+5941
+5615
+1028
+5620
+161
+6673
+10384
+500
+8406
+3815
+2845
+10384
+10820
+2822
+10714
+7969
+10714
+235
+5334
+9615
+3241
+5583
+4624
+6711
+4387
+7384
+6205
+11076
+6413
+3746
+4710
+4409
+3844
+2014
+8204
+6024
+6619
+8204
+6024
+5769
+8321
+1157
+3021
+779
+7751
+8720
+11289
+7969
+10714
+9264
+10820
+9203
+6673
+3745
+10603
+8592
+1913
+965
+8214
+248
+1394
+9008
+1626
+10548
+5004
+6223
+10499
+10548
+5004
+7350
+2845
+500
+8865
+899
+3861
+2297
+7525
+10891
+11205
+2
+2590
+7124
+466
+3742
+828
+8695
+7460
+10616
+563
+11311
+6810
+7773
+4685
+6447
+9868
+592
+5779
+3104
+6937
+6603
+9607
+769
+4149
+11248
+8750
+198
+2339
+2824
+5823
+6810
+11311
+563
+3198
+5013
+9086
+1892
+3497
+6161
+9529
+1025
+1453
+6244
+1440
+5493
+7007
+9303
+6628
+5552
+2143
+9109
+8845
+3755
+1278
+6958
+2980
+2005
+6703
+7344
+1232
+2064
+4605
+4759
+7773
+11311
+4992
+2790
+2590
+8695
+7460
+4992
+2790
+8013
+9387
+982
+1155
+7892
+2360
+3800
+2862
+10040
+10119
+9008
+1626
+965
+1394
+6325
+4705
+4369
+6574
+1544
+6493
+3299
+4437
+1344
+2748
+5941
+3576
+8355
+6987
+2395
+5693
+8470
+2290
+10184
+8377
+10183
+9112
+4537
+10206
+3383
+1904
+6130
+2720
+8933
+6660
+5982
+3001
+11269
+1877
+4904
+9763
+6372
+6080
+9463
+3089
+5908
+11259
+3539
+1196
+2156
+4217
+5711
+4198
+1553
+1954
+1983
+6067
+8076
+1849
+1617
+3273
+803
+810
+1737
+2752
+4940
+1214
+3546
+4103
+3182
+6533
+6080
+6372
+9763
+4904
+4559
+8477
+3302
+5448
+8474
+6451
+442
+1766
+3494
+8485
+10991
+1523
+10050
+1212
+6451
+442
+7306
+4573
+5552
+3983
+6628
+4223
+9303
+7832
+2233
+1548
+4647
+1128
+10054
+6582
+9617
+10272
+2003
+4773
+9164
+1166
+5493
+1440
+8948
+10650
+2745
+1851
+9328
+2182
+3497
+4534
+7276
+1725
+9768
+2081
+3196
+6643
+1274
+6794
+10145
+2892
+2185
+1278
+6958
+1497
+7445
+3104
+6937
+769
+4149
+11248
+8750
+206
+10342
+5021
+8582
+5823
+6810
+7773
+4685
+6605
+9248
+1421
+5779
+3104
+6937
+3383
+4286
+3308
+8864
+6353
+8035
+107
+5149
+10797
+1875
+10950
+1470
+2125
+7444
+6976
+4203
+6435
+4161
+9103
+10642
+9208
+10045
+4001
+10740
+2361
+207
+10740
+2361
+9103
+4203
+6435
+10544
+5454
+6976
+4203
+6435
+6931
+9070
+689
+9433
+9439
+10267
+2272
+6216
+9693
+2716
+3958
+6861
+10624
+4343
+2322
+8277
+978
+9010
+7714
+8554
+978
+9010
+11025
+7997
+4621
+10327
+4508
+2205
+1050
+10527
+2205
+11025
+6817
+10799
+6817
+2288
+9235
+4268
+10829
+6186
+9586
+8499
+8727
+4704
+10007
+6622
+11084
+5591
+9363
+8166
+9847
+281
+2278
+7157
+2630
+7853
+4989
+1627
+1023
+732
+9482
+7806
+2610
+927
+4544
+7812
+10376
+8418
+6592
+2191
+8901
+6780
+3078
+9442
+4550
+6874
+1980
+9719
+1750
+4144
+7008
+1012
+6892
+3248
+1189
+4837
+389
+6752
+974
+3057
+1116
+8561
+5113
+7403
+10796
+2572
+767
+1654
+1866
+4712
+4583
+7380
+9909
+11264
+5958
+3678
+633
+6085
+471
+4910
+10790
+4910
+1525
+11042
+2443
+9163
+3168
+10922
+433
+10354
+7978
+4230
+226
+919
+9148
+11029
+176
+354
+1772
+7031
+7565
+7534
+10252
+6077
+3911
+2147
+7031
+2944
+11130
+6115
+9244
+2867
+2995
+9334
+2995
+8869
+2204
+9123
+149
+7755
+5175
+5463
+1316
+9325
+1246
+10931
+2636
+11233
+682
+9373
+7592
+4718
+4644
+10314
+7766
+7611
+6085
+10922
+8062
+10463
+10298
+2170
+9196
+9390
+1390
+8311
+3991
+650
+6330
+11184
+6848
+1692
+8407
+10102
+3558
+1982
+7967
+4296
+9313
+1096
+8530
+7050
+1638
+1679
+9678
+11221
+8199
+10586
+10066
+2912
+0
+4942
+6755
+2941
+4696
+9516
+8946
+1703
+8533
+7379
+11133
+2210
+7139
+10196
+5248
+7250
+8749
+5485
+9758
+1319
+7667
+2595
+7962
+10831
+10467
+10781
+1167
+3444
+4555
+7182
+9975
+10301
+2166
+1915
+10956
+2643
+9935
+3508
+80
+7415
+9618
+4264
+10197
+9184
+3242
+9120
+3940
+9989
+2664
+7609
+9044
+4336
+5342
+8551
+943
+5162
+4382
+9011
+2166
+10301
+8766
+9857
+1217
+2541
+6037
+2524
+9207
+10831
+9888
+7250
+8749
+3300
+6132
+9279
+10371
+8126
+4822
+10268
+2807
+1283
+603
+9181
+1676
+9672
+5626
+6561
+1900
+2444
+6913
+10268
+2807
+1900
+6968
+8569
+8266
+2708
+6278
+10400
+429
+1044
+70
+1821
+2129
+7624
+6919
+7193
+2762
+5508
+517
+6885
+10518
+1086
+2202
+10518
+6885
+9401
+5508
+7067
+3215
+350
+6968
+9281
+9631
+7219
+70
+1821
+353
+8472
+1016
+7067
+2444
+6913
+7700
+4423
+4861
+2070
+3665
+7004
+6656
+1803
+7420
+5089
+52
+5299
+2828
+5201
+5401
+5002
+3511
+1985
+3804
+3263
+6772
+6037
+7437
+8766
+10301
+180
+1178
+4325
+2305
+8602
+7277
+2006
+260
+3063
+3769
+8673
+2645
+9997
+4645
+5637
+6651
+10013
+4577
+934
+3928
+5614
+9350
+6449
+9479
+8466
+6988
+6596
+3433
+10625
+10245
+4422
+10660
+6596
+4612
+9996
+9770
+11080
+9388
+6001
+2506
+8839
+7615
+10412
+7177
+788
+8027
+1916
+6031
+873
+3706
+1749
+5201
+5401
+10773
+9770
+11080
+10773
+5401
+11046
+8608
+996
+3993
+3220
+1958
+4967
+5412
+5638
+8833
+10380
+9996
+9770
+11080
+9388
+788
+7645
+1515
+7056
+9306
+7565
+7534
+10252
+9424
+5661
+7534
+10252
+10131
+6131
+9916
+8218
+8857
+2671
+2828
+5002
+3511
+5239
+35
+3925
+7560
+4127
+2541
+3613
+6213
+9603
+4803
+8091
+505
+9603
+505
+1958
+4967
+3949
+1178
+8602
+7277
+2949
+2192
+2921
+3276
+2080
+2533
+2086
+4527
+3777
+904
+6862
+2768
+8751
+8352
+607
+1150
+10032
+1968
+10587
+7684
+3869
+10886
+5260
+10526
+7918
+6122
+8740
+4562
+1315
+10155
+7693
+5897
+6069
+6789
+3418
+8722
+8600
+2040
+5791
+6598
+7803
+8755
+1169
+3559
+7368
+9988
+11012
+1756
+9819
+3286
+9988
+2939
+600
+1885
+3272
+5157
+5411
+7358
+2755
+2229
+10881
+9054
+342
+8045
+3154
+5816
+7614
+4366
+4665
+244
+2715
+7074
+8275
+7802
+6865
+5794
+7245
+3100
+8489
+6962
+11034
+6807
+5934
+7597
+10999
+8225
+10999
+7597
+3284
+8916
+381
+6695
+381
+9533
+6164
+3504
+7245
+5794
+10476
+4956
+3926
+8054
+2133
+11043
+9690
+10220
+2230
+1268
+1873
+5736
+3921
+10139
+10815
+3867
+9627
+4897
+6027
+7527
+11066
+2918
+1505
+572
+4948
+7434
+6704
+2918
+1505
+5736
+3921
+9762
+2069
+10217
+3493
+10703
+2228
+548
+11339
+509
+7274
+8983
+8613
+123
+5862
+11150
+10615
+8983
+9321
+4686
+7352
+478
+9844
+631
+3403
+4304
+8718
+5503
+4400
+8333
+8383
+1711
+10511
+8842
+5464
+4815
+1930
+7912
+1969
+8
+2554
+785
+3747
+2905
+6415
+3378
+9573
+10511
+8842
+8012
+488
+11325
+3292
+4791
+7440
+1222
+5757
+1984
+10695
+9360
+8165
+7440
+1222
+2489
+4304
+8718
+5997
+5503
+4742
+5653
+5582
+8836
+9003
+1634
+4120
+7308
+2027
+1634
+4120
+3425
+6962
+6164
+9533
+4613
+1558
+7802
+8275
+9697
+10307
+1558
+7802
+6865
+5794
+10476
+4956
+3100
+8489
+3504
+7245
+5794
+10476
+4956
+3926
+8054
+2133
+10164
+525
+7434
+6704
+5489
+10926
+3325
+76
+9440
+7321
+9038
+3323
+3781
+8861
+9051
+294
+10986
+5754
+1964
+8703
+3551
+9903
+4044
+10592
+5880
+11249
+3085
+6786
+7595
+3041
+9051
+8861
+7321
+9038
+529
+5716
+5608
+3781
+3323
+529
+5716
+1216
+3563
+8975
+6963
+1726
+3312
+4427
+7080
+5471
+4261
+6788
+6431
+10091
+1298
+8219
+8764
+2614
+10275
+3966
+1667
+6075
+7512
+254
+7512
+10263
+10311
+1577
+10819
+9380
+190
+9448
+9889
+9999
+7043
+8975
+6963
+4040
+1216
+3563
+5753
+6362
+3493
+10703
+729
+11181
+6562
+3830
+984
+9976
+9594
+246
+1629
+4119
+2847
+3079
+509
+7274
+11296
+11051
+2338
+9127
+5547
+3403
+5653
+5582
+6797
+478
+3324
+631
+3403
+4304
+2489
+10783
+488
+11325
+11030
+6856
+10783
+488
+8012
+8383
+8333
+2162
+4642
+10932
+2190
+7681
+6098
+8297
+10649
+8471
+7465
+2342
+8525
+5592
+10649
+8471
+8701
+4996
+6411
+6947
+4943
+2024
+2773
+272
+8037
+9732
+2495
+5835
+3623
+5951
+8996
+10468
+8716
+1791
+272
+8037
+9732
+2495
+5835
+813
+3623
+5573
+9992
+10135
+10962
+7723
+6163
+1557
+5883
+5356
+8037
+9732
+4970
+5297
+2134
+7544
+10097
+9314
+1021
+7122
+1734
+10180
+10579
+2177
+2402
+4869
+9007
+8207
+2406
+3994
+8614
+5846
+2177
+2402
+7577
+3843
+217
+4407
+7829
+470
+5887
+3684
+3066
+221
+67
+7178
+4338
+7006
+1399
+3439
+7466
+6429
+2605
+9450
+8783
+4882
+1974
+9019
+3432
+5217
+74
+9125
+6839
+5905
+274
+9382
+10585
+5847
+5287
+323
+8339
+4752
+4659
+1446
+1534
+9199
+3747
+1840
+1489
+1930
+7912
+1969
+11203
+4752
+9382
+3340
+7551
+1048
+6995
+7070
+10693
+3031
+4637
+3646
+2337
+1082
+6059
+10589
+5105
+5510
+10449
+8100
+8146
+2629
+10924
+4629
+7064
+8837
+985
+7158
+9238
+3620
+6043
+8490
+2793
+8706
+6614
+7153
+5136
+1427
+794
+2675
+6641
+3910
+2709
+10826
+2675
+6641
+10500
+6768
+10677
+11125
+1225
+2591
+2149
+8888
+10249
+1536
+9485
+5413
+4356
+11247
+428
+2898
+7589
+2898
+428
+8339
+10585
+4051
+7551
+1048
+289
+11061
+7541
+4057
+8372
+9053
+7210
+5391
+10222
+1550
+3452
+642
+9853
+10673
+9296
+11338
+11335
+2093
+4536
+10844
+5960
+10844
+4438
+8364
+1357
+3435
+5049
+3187
+6460
+5049
+3435
+4323
+3435
+8191
+4399
+5826
+3214
+7780
+6322
+855
+2474
+1675
+5923
+1896
+8234
+2058
+7778
+5206
+268
+3077
+8314
+178
+4622
+7327
+8184
+3394
+5064
+7284
+7200
+1309
+5476
+5811
+7893
+2445
+8254
+3118
+9133
+2587
+9133
+1607
+2004
+10657
+6486
+6804
+6563
+5963
+3578
+1261
+4922
+6563
+6804
+10105
+2318
+5689
+7389
+7872
+3186
+4678
+8216
+8591
+5478
+7292
+7499
+5034
+4396
+2525
+3372
+3897
+8475
+6271
+8068
+4895
+7025
+7818
+4224
+6905
+5981
+9367
+1650
+6459
+5440
+10237
+279
+1841
+4204
+8097
+3819
+4033
+8573
+8196
+7979
+8326
+5219
+6984
+8343
+3008
+4561
+11060
+6052
+7965
+5911
+5501
+9131
+3008
+8343
+6565
+89
+7102
+5973
+1215
+5060
+9464
+3448
+7323
+4894
+10877
+9058
+2924
+10550
+8453
+8924
+8172
+9072
+1029
+10562
+7497
+8153
+2023
+1029
+7524
+4089
+10560
+4067
+5759
+72
+1129
+639
+3346
+9058
+2924
+8697
+4543
+9977
+2924
+10550
+7752
+3124
+6404
+486
+7938
+6374
+1889
+9692
+5273
+1889
+8498
+1728
+2888
+11100
+5057
+2392
+2728
+10866
+1184
+3851
+1937
+5683
+6284
+8704
+1937
+3124
+6404
+486
+7938
+3752
+3370
+9369
+7524
+4089
+9072
+3920
+4028
+8924
+8172
+10560
+4067
+5759
+72
+2528
+2523
+9798
+7428
+6000
+9240
+6116
+580
+89
+7102
+5973
+580
+5501
+9131
+3008
+8343
+4272
+3255
+193
+10348
+9367
+1650
+3561
+4033
+2775
+5576
+8231
+111
+11077
+1423
+10651
+10033
+9926
+8659
+9043
+10848
+2789
+9982
+6525
+8130
+4026
+9162
+4854
+8101
+9449
+10762
+9089
+7509
+3483
+2612
+3398
+2813
+7252
+1504
+2598
+1543
+9912
+1436
+9021
+10456
+9938
+4113
+2240
+4723
+5660
+10166
+8719
+4855
+3786
+10405
+6304
+2935
+6108
+5426
+2689
+9512
+10609
+9699
+4827
+9512
+2689
+1474
+7709
+5539
+6457
+4250
+9886
+11114
+8174
+7381
+9994
+9146
+5509
+9146
+6648
+8316
+2692
+5132
+2277
+9761
+7120
+6410
+8246
+4364
+11015
+1468
+2289
+8446
+4792
+1986
+7960
+1322
+11107
+10530
+10154
+2094
+656
+1126
+7030
+7815
+8615
+3591
+5959
+4439
+3933
+7815
+8615
+8420
+137
+5209
+8420
+3046
+313
+9723
+6707
+3164
+7163
+9696
+5438
+5416
+7213
+5818
+8262
+9080
+5504
+10880
+7071
+265
+6702
+8567
+6799
+6446
+2727
+7265
+6773
+3610
+5758
+10984
+7775
+10746
+507
+2087
+3703
+534
+8397
+507
+2087
+3703
+6185
+7956
+5737
+3528
+1666
+9093
+3689
+3648
+9154
+10502
+2788
+9794
+6370
+4317
+6142
+2310
+9297
+9513
+4643
+3413
+8851
+10538
+7073
+11031
+3049
+8160
+2647
+9557
+37
+7860
+1061
+1919
+9701
+11031
+821
+8949
+10626
+2521
+2310
+9297
+8851
+5469
+9609
+3980
+5688
+3500
+7128
+5303
+7383
+2866
+9219
+10631
+4352
+9270
+3995
+10710
+7012
+6524
+6076
+5349
+3153
+5506
+555
+9361
+11305
+2096
+9028
+4781
+8360
+8762
+9166
+8294
+9750
+5817
+761
+11108
+9530
+242
+6978
+10936
+7185
+8033
+8873
+8415
+4646
+6978
+1633
+10607
+11306
+10247
+9901
+2114
+3545
+138
+11238
+6697
+10012
+9947
+842
+5772
+7265
+2727
+558
+3610
+5758
+6469
+11280
+7360
+2802
+6594
+10667
+6799
+6446
+2727
+6813
+10984
+7775
+10746
+837
+9671
+6227
+4154
+11063
+823
+8397
+507
+2087
+8323
+4748
+1173
+4077
+2087
+507
+8566
+1526
+586
+10789
+842
+5772
+7265
+6773
+966
+5758
+6469
+558
+3610
+5758
+6469
+11280
+7360
+2802
+10779
+5212
+6556
+66
+9671
+837
+4532
+465
+1526
+586
+1644
+2030
+11258
+9330
+1633
+10607
+9398
+11328
+9901
+6014
+8294
+9750
+5817
+4345
+7963
+9530
+242
+6956
+8415
+6262
+3321
+5688
+3500
+2181
+6006
+5061
+5662
+7478
+6233
+9495
+1539
+567
+8487
+3319
+5645
+1486
+9138
+2545
+10856
+6264
+10785
+9914
+898
+7580
+1425
+2691
+7553
+1425
+2691
+6828
+10388
+6208
+773
+6828
+302
+7470
+6514
+4047
+6766
+4987
+6514
+4047
+3640
+9751
+2468
+2818
+1260
+5443
+2468
+7901
+5672
+3886
+4495
+6259
+727
+2422
+10457
+9186
+8251
+5531
+7135
+4466
+2282
+464
+462
+11118
+11172
+1702
+4090
+6171
+6375
+1702
+4090
+6171
+8359
+6286
+2776
+5325
+2356
+3045
+312
+6369
+11115
+2132
+770
+6991
+5340
+11127
+5340
+2132
+770
+4576
+425
+5067
+4373
+9428
+5937
+321
+2245
+3593
+1130
+6971
+4576
+3593
+1130
+512
+9284
+3791
+6463
+3059
+1745
+6424
+10928
+6787
+5593
+6198
+2615
+8170
+5820
+9902
+8818
+11278
+8243
+2176
+795
+8903
+2873
+6634
+7662
+1227
+8894
+8877
+6992
+8069
+5570
+8346
+7649
+2621
+5080
+2621
+8652
+6601
+8635
+10019
+3201
+8956
+6740
+3569
+2203
+5543
+1227
+8894
+2176
+795
+8903
+2873
+1353
+5029
+2555
+4912
+10242
+1276
+10798
+5266
+8956
+6740
+3569
+2203
+4473
+717
+8712
+7570
+3569
+7369
+6684
+6992
+8069
+5570
+7183
+7533
+4509
+1057
+10014
+10756
+10253
+6900
+1457
+8571
+9879
+7760
+1660
+8403
+4065
+6661
+11279
+8974
+8304
+11008
+4194
+5435
+10940
+2810
+2770
+3034
+3857
+10014
+3857
+5094
+6661
+4065
+8403
+7613
+5742
+3141
+4388
+8562
+6523
+3141
+4388
+5651
+5326
+3010
+3530
+6567
+7438
+3084
+5628
+3562
+2313
+7484
+3050
+8528
+782
+5861
+8208
+1830
+7048
+7842
+9784
+2840
+451
+9402
+233
+10523
+10359
+1695
+6554
+4159
+1682
+3068
+4727
+4771
+7343
+9032
+7198
+6834
+9940
+3388
+1573
+4248
+3908
+9063
+3908
+10838
+8829
+7364
+10617
+6972
+2012
+4805
+1188
+790
+6389
+3772
+6155
+11140
+582
+9940
+3388
+1573
+7489
+9168
+10428
+10794
+10552
+417
+9972
+6775
+7495
+4166
+2519
+6468
+4523
+595
+5028
+11067
+5650
+9931
+6316
+5650
+11067
+5028
+595
+7914
+4346
+4724
+5406
+10569
+4167
+1663
+7390
+4114
+1753
+118
+5929
+7829
+470
+5887
+3684
+3066
+221
+67
+5333
+2193
+3654
+2403
+1732
+1203
+5055
+2605
+9450
+3536
+5976
+6701
+2137
+6701
+3759
+2236
+9191
+6742
+6145
+4634
+8878
+1732
+2403
+1071
+10052
+1071
+5333
+2193
+408
+1307
+5768
+2926
+9835
+3439
+1399
+6094
+10641
+7006
+4338
+7178
+9777
+221
+3066
+1563
+6795
+8163
+4175
+886
+5183
+125
+208
+125
+1863
+5887
+3684
+10736
+9908
+1863
+5887
+470
+2650
+6986
+6952
+882
+9628
+36
+11227
+1021
+7122
+1734
+10180
+6721
+4053
+11163
+11093
+10619
+9883
+11093
+9883
+1302
+1235
+9094
+1663
+4167
+10569
+6320
+9341
+3997
+8210
+5929
+7829
+9027
+4292
+1499
+1343
+8140
+6238
+1392
+8239
+9172
+9027
+4292
+1499
+1343
+8665
+3959
+8878
+1732
+5055
+2605
+6429
+5445
+9835
+3439
+7466
+9019
+3432
+38
+7466
+6429
+3654
+2403
+7469
+8665
+4408
+11331
+1826
+887
+5466
+5224
+4327
+5512
+4494
+3959
+8668
+9867
+2569
+6383
+1477
+5207
+8879
+9657
+3365
+7890
+5220
+7256
+9511
+8432
+59
+10011
+5220
+7256
+8436
+11234
+5886
+250
+32
+806
+5512
+1826
+802
+3850
+8897
+3572
+7840
+7240
+5946
+3572
+8897
+5028
+595
+4302
+799
+2012
+4805
+1188
+790
+7015
+10067
+5135
+10705
+1869
+1206
+8092
+2104
+8092
+8866
+6326
+11310
+1462
+5135
+10705
+1869
+8158
+6389
+3772
+11140
+582
+3336
+4
+7414
+1905
+7919
+5017
+6119
+1205
+9704
+11109
+1602
+7244
+9654
+4913
+4386
+11219
+4784
+3639
+9965
+8639
+2102
+5748
+1998
+7949
+11219
+4784
+9965
+8639
+2102
+4677
+2084
+1321
+8960
+2252
+7174
+2465
+6756
+5872
+1785
+10047
+809
+7174
+6756
+3904
+3351
+9046
+3532
+6343
+9012
+3438
+5744
+4389
+10018
+5657
+7888
+5549
+11312
+617
+7299
+2635
+7888
+5549
+11312
+1720
+1144
+5040
+5813
+7299
+6713
+6096
+10238
+4531
+9689
+3414
+2777
+5500
+9046
+3532
+7576
+9636
+5409
+6247
+10313
+6621
+2913
+9636
+5744
+3314
+4516
+7281
+2751
+2239
+3878
+2364
+3216
+7851
+2723
+11107
+10530
+10154
+1322
+3775
+1153
+3216
+6152
+4516
+1032
+3655
+846
+7837
+4679
+10360
+10088
+7485
+6585
+5788
+2952
+8617
+989
+2895
+1545
+11072
+4675
+6072
+8042
+8213
+5025
+9646
+4351
+8042
+2856
+8224
+9484
+3671
+766
+5906
+1495
+1562
+5920
+2140
+7666
+3635
+11056
+7545
+6884
+2326
+10488
+10905
+10177
+2175
+4944
+2880
+6467
+2107
+1619
+2606
+6241
+969
+9682
+2576
+9558
+4283
+9354
+6724
+9936
+5667
+215
+7903
+2744
+2631
+444
+6505
+1959
+7036
+6495
+4121
+8670
+144
+8906
+3774
+3438
+5744
+4389
+7482
+1881
+8810
+9130
+5361
+1561
+3091
+2731
+597
+3513
+5361
+9130
+9953
+8568
+9714
+2134
+5297
+4970
+6411
+6947
+4943
+2024
+2773
+9842
+8716
+4574
+9866
+2347
+7094
+3264
+8761
+10633
+532
+4665
+244
+2874
+3945
+5573
+9992
+10135
+10962
+3096
+5890
+11227
+1021
+7122
+1734
+7577
+3843
+4292
+1499
+1343
+8665
+4408
+11331
+1826
+802
+3850
+5028
+595
+7914
+7047
+9084
+1303
+412
+1015
+8116
+4770
+7601
+4881
+7619
+9841
+2104
+4881
+9744
+3501
+11157
+8289
+4255
+11111
+6119
+1205
+9704
+11109
+1602
+7244
+9654
+8557
+8445
+10968
+2164
+4615
+9561
+6219
+8103
+8028
+8954
+7576
+9636
+5744
+4389
+10018
+3334
+6097
+10089
+3305
+7238
+1314
+3698
+5777
+6219
+9561
+9945
+9372
+4615
+6196
+1078
+431
+3208
+8556
+2084
+1321
+8960
+3944
+2465
+10355
+8800
+5714
+9372
+4615
+6196
+1078
+2465
+1078
+9705
+413
+10355
+8800
+9561
+8245
+2811
+9944
+1507
+2054
+20
+4126
+2914
+7475
+7915
+3261
+8242
+8484
+2731
+3091
+6896
+9088
+7482
+1881
+6042
+5883
+5356
+8037
+9732
+2495
+5835
+813
+7019
+8996
+10468
+2024
+4943
+4693
+10285
+8701
+4996
+8297
+4701
+7681
+7372
+1075
+5370
+1249
+8618
+9622
+4175
+5367
+6915
+9200
+9605
+8619
+7372
+3211
+5370
+1249
+5183
+125
+1863
+5887
+470
+7829
+5929
+8769
+4908
+7
+3997
+8210
+6193
+6320
+10569
+5406
+4346
+7914
+4346
+4724
+10536
+9931
+10536
+5314
+9563
+6316
+5650
+11067
+5028
+6261
+432
+5466
+5224
+5233
+32
+250
+6511
+9867
+2569
+6383
+1477
+5207
+8879
+9657
+4479
+280
+5913
+8353
+10612
+3461
+8790
+4442
+3365
+7890
+2897
+1512
+10477
+9840
+7479
+10128
+5112
+2622
+9957
+3961
+3845
+6168
+3060
+3251
+5956
+6168
+9875
+9957
+8896
+598
+10099
+2518
+4337
+10026
+10547
+1500
+11293
+10146
+3630
+10620
+2307
+3701
+8622
+1253
+8629
+484
+7999
+4872
+10551
+5279
+3939
+5311
+10551
+5629
+8885
+9348
+8622
+3580
+11139
+8107
+11275
+9140
+6403
+5621
+7286
+6010
+3656
+7928
+3384
+2957
+374
+2642
+6470
+8539
+3354
+635
+660
+9335
+1903
+9877
+6680
+10689
+6923
+4828
+1918
+2988
+5815
+11196
+4246
+1073
+10863
+1592
+9948
+1944
+4866
+7263
+1613
+4135
+1997
+1107
+10334
+10178
+696
+9139
+4376
+1073
+867
+2792
+9575
+2055
+1326
+6762
+6744
+2568
+1592
+3632
+2067
+1997
+5848
+3101
+3339
+9668
+7702
+2296
+781
+5679
+7887
+166
+7234
+8001
+9274
+10912
+1229
+4058
+9724
+7972
+562
+815
+7115
+7110
+4015
+7427
+4133
+3188
+7130
+6207
+4425
+4776
+8148
+2660
+2296
+781
+5679
+7887
+8413
+10858
+1724
+7871
+5077
+1588
+7593
+2139
+9022
+2799
+7668
+5632
+1373
+9801
+9932
+5133
+2693
+2258
+784
+1373
+9801
+2139
+9022
+10426
+2834
+1330
+1687
+1310
+2556
+171
+10068
+5077
+3936
+6639
+5022
+7248
+9042
+9748
+950
+6485
+9315
+6805
+6970
+8456
+5076
+10910
+6909
+4365
+6541
+10753
+5315
+6591
+3311
+1856
+4923
+3135
+8360
+8762
+9166
+3545
+138
+11238
+8548
+5790
+6430
+4187
+5572
+11099
+187
+5232
+138
+11238
+6697
+6423
+8548
+7226
+4884
+8567
+6799
+6446
+2727
+6813
+7775
+10746
+507
+2087
+8323
+8962
+10502
+5265
+85
+2505
+2089
+4604
+3872
+10692
+2454
+10626
+6667
+4317
+6370
+4643
+3413
+9726
+5469
+9609
+3980
+3321
+6333
+135
+3500
+2181
+5441
+2031
+5443
+2468
+1528
+9304
+2181
+6006
+5061
+5676
+10538
+5482
+9014
+567
+8487
+3319
+5645
+1486
+9138
+10300
+11116
+6472
+6808
+3640
+9751
+2468
+1528
+3960
+9219
+4209
+2578
+5497
+6478
+5161
+3260
+5481
+8459
+10970
+8424
+7169
+2242
+7326
+10163
+4614
+10441
+4495
+6259
+9722
+7319
+3037
+2422
+10457
+177
+9520
+8359
+6286
+2776
+5325
+4703
+3543
+8961
+4052
+5670
+10381
+6369
+11115
+2132
+770
+4576
+3593
+1130
+10559
+9234
+4414
+7161
+2259
+10812
+8331
+9629
+3664
+5043
+284
+2366
+1093
+2739
+2034
+8251
+5531
+7135
+2034
+675
+3417
+2282
+464
+462
+3543
+4703
+5670
+2132
+5340
+6991
+7675
+5067
+6680
+10689
+9293
+6676
+9335
+1903
+1745
+9033
+10429
+4451
+2291
+4839
+10296
+6504
+4499
+503
+1452
+6144
+9902
+8818
+9902
+7924
+9033
+8308
+3059
+1745
+6424
+10928
+8636
+2018
+9526
+7426
+6787
+5593
+7924
+9033
+8308
+10909
+5272
+6463
+9877
+9428
+5937
+321
+3791
+6463
+9877
+6680
+10689
+6923
+485
+1918
+2988
+5311
+10551
+1706
+2842
+2970
+10445
+7618
+10114
+6187
+10218
+6847
+3666
+7679
+3969
+10711
+8804
+6847
+10218
+4239
+10983
+5590
+368
+8660
+3250
+2677
+7121
+2214
+7722
+7121
+2214
+6731
+5893
+6051
+6138
+1046
+4952
+5893
+4085
+5738
+7890
+5220
+7256
+8436
+11234
+5886
+250
+6511
+9867
+2569
+6383
+10776
+2897
+4009
+8458
+2227
+7121
+2677
+3250
+6746
+10830
+3492
+3259
+9421
+3848
+1090
+7856
+1625
+7217
+1168
+4666
+7679
+4307
+4184
+9139
+9310
+2594
+4246
+4376
+10178
+696
+3173
+7337
+8412
+1809
+792
+3195
+3358
+6841
+2821
+8148
+11322
+10189
+314
+3101
+3339
+4395
+11333
+6867
+1817
+5278
+2669
+9173
+6368
+11229
+11223
+6853
+4410
+4483
+2607
+8424
+7069
+1815
+4135
+1997
+1107
+3358
+6841
+3195
+792
+10334
+3173
+7337
+8412
+7151
+7318
+9616
+2780
+4754
+4460
+7110
+562
+7972
+8982
+1800
+4030
+753
+8705
+7875
+6455
+2317
+7665
+6065
+7143
+3759
+2236
+9191
+5433
+6109
+6145
+4634
+8878
+7469
+8140
+6238
+8526
+8038
+8239
+9172
+470
+5887
+8163
+6795
+5367
+6915
+9200
+8745
+4914
+45
+8333
+2162
+3964
+245
+888
+4742
+5653
+3324
+478
+7352
+4686
+8919
+11043
+9690
+3040
+9321
+8983
+10615
+548
+11339
+4986
+11181
+6562
+254
+8753
+1143
+794
+1143
+3830
+984
+4986
+11339
+548
+10109
+10654
+2105
+10217
+2069
+8860
+3563
+5753
+4763
+5242
+1577
+10819
+10275
+3966
+1667
+6075
+5150
+2423
+4275
+7061
+798
+3023
+10143
+2061
+9570
+6857
+778
+5802
+5480
+2250
+4081
+3076
+4567
+10065
+8706
+6614
+8014
+2793
+611
+3367
+10192
+7243
+10648
+1760
+1771
+9893
+2368
+8138
+11161
+9843
+5870
+7165
+1945
+2368
+8138
+10515
+1685
+1546
+10222
+1550
+3452
+8082
+10673
+1823
+10894
+6873
+10865
+7741
+1048
+289
+11061
+11136
+576
+6722
+8384
+6059
+1082
+5840
+2337
+3646
+4984
+8384
+6059
+10589
+3502
+11345
+2091
+10182
+1379
+3502
+4629
+10391
+1693
+2629
+3620
+6043
+3829
+9389
+7158
+985
+8837
+10924
+4629
+7064
+1379
+1485
+6203
+5894
+6727
+9136
+1
+10500
+6440
+10500
+6768
+1225
+2591
+2149
+2688
+1895
+323
+5847
+5287
+10853
+9136
+1
+9572
+9776
+7683
+11014
+2442
+8014
+2793
+611
+7003
+4567
+1953
+10387
+6749
+2118
+10065
+8706
+9237
+10842
+4832
+8287
+9741
+7881
+3938
+2667
+6689
+3938
+1705
+8753
+1705
+6420
+830
+3277
+5487
+8709
+3740
+1705
+4832
+8287
+9741
+1352
+10708
+11183
+8301
+5150
+2423
+3042
+2470
+8868
+7127
+9078
+6521
+9055
+11145
+2250
+6270
+5392
+3802
+8268
+4228
+9309
+697
+8765
+8483
+7450
+5427
+329
+164
+9958
+6683
+329
+1748
+1824
+5854
+5153
+6426
+3172
+8689
+7062
+3693
+4182
+9286
+1443
+1407
+758
+3222
+574
+3865
+3566
+8368
+1008
+8898
+10725
+2128
+4455
+9118
+1411
+6113
+11211
+6148
+1955
+9064
+2341
+5154
+9517
+3239
+5455
+7854
+4969
+8000
+1759
+5597
+97
+5351
+3837
+379
+4890
+628
+7154
+3556
+4066
+283
+7154
+1995
+5027
+1611
+7044
+8546
+7406
+3574
+8895
+10572
+5027
+5451
+5402
+679
+9469
+4392
+3033
+10854
+1565
+9134
+2565
+6638
+1784
+7925
+6539
+491
+5502
+6687
+6965
+703
+2686
+1346
+3132
+10869
+5106
+10466
+676
+427
+3238
+4005
+6149
+516
+10151
+4655
+8519
+3125
+3109
+124
+7794
+11159
+3605
+8555
+4813
+8820
+9807
+4294
+5439
+760
+10949
+3053
+9639
+1739
+1920
+7187
+4921
+1013
+1438
+4219
+6883
+4454
+10584
+1070
+10239
+8332
+543
+9979
+10398
+8944
+1594
+9176
+9305
+6906
+8944
+1594
+3935
+6683
+329
+1748
+9964
+5427
+4636
+3190
+9289
+10878
+6815
+4190
+588
+7424
+6982
+473
+2784
+5844
+612
+3368
+6118
+7521
+8934
+10973
+3071
+844
+2539
+10822
+11244
+8707
+7105
+10583
+6563
+5963
+8633
+9737
+4341
+10634
+414
+8442
+4958
+3426
+4586
+5649
+6402
+10578
+10027
+1401
+10723
+3374
+5082
+9417
+5291
+10966
+10827
+9651
+5649
+6402
+10578
+10027
+10634
+10273
+3228
+258
+7125
+3374
+4068
+5226
+3902
+10004
+2434
+7105
+2690
+7336
+2085
+3812
+5491
+9874
+1993
+2226
+7162
+5622
+9882
+11094
+9882
+6803
+6460
+6803
+7807
+7290
+5491
+2791
+34
+2690
+4730
+326
+7893
+5811
+5476
+9547
+8640
+9346
+1781
+8184
+8791
+3696
+1309
+7200
+7780
+4753
+4592
+10581
+3657
+7756
+11128
+11335
+2093
+4536
+5987
+11338
+9296
+10662
+1823
+9878
+9853
+642
+8372
+9053
+7210
+5391
+10222
+10844
+4438
+8364
+5267
+5960
+9509
+10515
+8138
+5826
+11161
+5870
+7165
+8419
+7891
+2355
+6776
+1521
+939
+267
+4081
+2250
+3876
+7792
+8976
+7792
+2174
+1062
+8661
+7974
+2174
+778
+10152
+10870
+10421
+2251
+3963
+4504
+3526
+5641
+10706
+345
+8743
+7496
+5471
+4261
+6788
+1298
+8219
+8764
+2614
+10275
+190
+9448
+9999
+7043
+8975
+6963
+1726
+9797
+9564
+4152
+1165
+5130
+4427
+3312
+4140
+1301
+1202
+7080
+5471
+7496
+8743
+6716
+5754
+4487
+4412
+278
+3396
+10438
+7556
+6936
+7738
+5928
+6438
+6032
+5514
+10644
+3314
+1062
+8661
+10210
+5734
+8976
+7792
+5480
+10964
+194
+10889
+3185
+6292
+5100
+492
+10889
+9524
+10964
+194
+492
+10889
+3185
+7127
+8545
+9771
+482
+5275
+9968
+311
+5275
+9968
+311
+6521
+9055
+6537
+9524
+10964
+737
+11032
+9570
+6857
+10828
+6857
+514
+5665
+2251
+5665
+1472
+10430
+2678
+9927
+1372
+10152
+7902
+5514
+10644
+9215
+10152
+7902
+5514
+9596
+2354
+5928
+7738
+3111
+9836
+2797
+8009
+972
+2682
+1748
+9964
+5427
+7450
+3785
+3180
+1622
+1897
+10807
+5168
+5624
+6497
+3477
+1530
+3709
+10652
+4856
+1987
+5965
+5844
+5965
+7005
+5375
+7424
+6982
+588
+3741
+7784
+615
+9913
+2135
+10807
+5168
+5624
+6497
+3477
+5166
+9571
+940
+10849
+5603
+7422
+3069
+6776
+1521
+6442
+5332
+4893
+2378
+4199
+1454
+4893
+2378
+10192
+7243
+10648
+1760
+1771
+1546
+10222
+10844
+4536
+10844
+7620
+3657
+2161
+2561
+4793
+1896
+8234
+2058
+6236
+5745
+1233
+4210
+4262
+7608
+7504
+8400
+502
+445
+5206
+4462
+9143
+10835
+9227
+4213
+6645
+9937
+553
+9739
+5999
+2438
+10393
+5142
+9397
+5142
+2654
+2078
+2475
+7953
+10947
+9252
+5343
+10927
+7617
+9359
+4789
+5975
+9359
+4630
+2078
+9397
+5999
+2438
+8164
+2624
+10362
+2560
+10824
+7039
+8541
+8064
+8992
+5057
+665
+1184
+3851
+1937
+3124
+6404
+486
+7938
+3752
+993
+947
+3799
+6516
+2268
+7522
+10899
+5523
+1066
+5581
+8439
+4117
+829
+10529
+5879
+11119
+6642
+10529
+5879
+11119
+6394
+10478
+8963
+1241
+3523
+7194
+1066
+5523
+469
+1089
+3951
+1699
+11208
+1089
+8540
+10482
+3951
+1699
+11208
+3015
+5707
+7037
+2268
+7522
+5707
+8967
+3363
+7605
+2829
+3517
+10363
+7628
+3677
+8784
+7271
+6328
+2472
+3281
+450
+5213
+11112
+3267
+7623
+6489
+3267
+2158
+6489
+9132
+4868
+6964
+4968
+7234
+5679
+7887
+8413
+10858
+1724
+9930
+2787
+8413
+10858
+1724
+7871
+5077
+1588
+5133
+2693
+2258
+9932
+7593
+2139
+9022
+2799
+3481
+9288
+359
+5675
+9665
+41
+2557
+1586
+1952
+11182
+7668
+5632
+2448
+9157
+5290
+6705
+2665
+7493
+5388
+1434
+3669
+841
+10317
+9295
+10489
+8505
+540
+5145
+4365
+6541
+4021
+2416
+4926
+2729
+10383
+6254
+9300
+3987
+4424
+8106
+1856
+91
+9675
+2574
+9675
+6268
+8145
+9764
+10341
+698
+5422
+6706
+8106
+1856
+91
+2075
+6720
+10179
+331
+156
+4859
+1369
+7561
+490
+10286
+6354
+9785
+331
+156
+3880
+9214
+9111
+474
+1332
+7291
+1852
+422
+9412
+7226
+8548
+5790
+5232
+8057
+2487
+2537
+4923
+3135
+8360
+8762
+3135
+8360
+8762
+9166
+8294
+9750
+5817
+4345
+7963
+9530
+242
+6956
+8415
+6262
+10409
+2735
+2059
+3153
+5506
+555
+9361
+9959
+5943
+2323
+11291
+2323
+6095
+9980
+14
+10757
+10753
+10757
+2243
+5305
+10910
+6909
+4505
+4312
+4816
+4365
+6541
+10910
+6909
+4365
+6541
+10753
+5315
+6591
+8282
+8203
+10753
+5315
+6591
+3311
+6254
+9300
+3987
+4424
+8106
+6706
+2577
+698
+8145
+6481
+5383
+11024
+8194
+9650
+511
+1003
+1160
+7423
+3016
+5888
+10697
+10140
+11320
+1106
+2273
+8034
+9443
+2152
+4552
+6997
+10948
+5425
+10702
+1469
+4208
+6842
+5685
+7696
+2976
+6419
+8939
+7696
+7150
+705
+1936
+3750
+9486
+6391
+9381
+10540
+3419
+3171
+1102
+10382
+4364
+8246
+1468
+2289
+8446
+7046
+3094
+6410
+5249
+5550
+4497
+3419
+3171
+7138
+3397
+317
+1714
+11026
+6745
+6658
+5126
+3798
+9392
+5888
+10697
+9800
+6745
+6658
+5126
+6354
+10286
+10419
+3688
+850
+6671
+2281
+1324
+9265
+3397
+5465
+5425
+10702
+1469
+8288
+493
+8411
+10702
+1469
+4208
+8939
+7696
+7150
+4542
+2237
+3102
+9395
+11313
+8587
+6011
+8587
+5196
+1396
+6445
+7765
+539
+2393
+1396
+1867
+11342
+6011
+8979
+5063
+1436
+9021
+10456
+9283
+6732
+2068
+5540
+9753
+8826
+1762
+7167
+4542
+2237
+5685
+7696
+2976
+493
+8411
+2783
+3171
+7138
+9265
+3397
+317
+3130
+10198
+1285
+7836
+9443
+2152
+8061
+6070
+6060
+4901
+7975
+8504
+10847
+5457
+7220
+8414
+4747
+6719
+1467
+7971
+7106
+7402
+3320
+9765
+2220
+8431
+8759
+8731
+602
+9993
+1491
+1952
+1586
+2557
+5255
+2459
+9211
+8686
+4434
+8367
+2855
+10691
+9288
+5283
+8686
+3644
+2459
+5255
+9167
+7799
+2220
+8431
+8759
+8731
+4736
+6210
+808
+2658
+7016
+4082
+5347
+5140
+10414
+4367
+10174
+4661
+2761
+9426
+10414
+4367
+3749
+7672
+153
+10009
+9502
+5866
+3055
+10009
+9502
+1931
+2167
+10691
+9288
+359
+5675
+7668
+5632
+8739
+8552
+1177
+10330
+4617
+2101
+9157
+2306
+6705
+2665
+7493
+5388
+1434
+3669
+385
+6754
+11204
+8625
+2417
+10465
+8335
+10859
+2599
+975
+8025
+544
+2448
+9157
+2306
+26
+9295
+10489
+8505
+540
+1890
+6657
+2333
+2477
+10686
+9298
+5967
+8194
+5568
+5831
+2753
+4545
+4490
+10229
+581
+2753
+4074
+10229
+11253
+701
+11171
+2427
+10228
+472
+7753
+11336
+870
+2306
+6705
+2665
+7493
+5388
+2417
+10465
+8335
+10859
+7694
+544
+784
+1373
+9801
+2139
+9022
+6397
+2834
+10426
+7065
+2806
+10194
+8482
+2095
+1310
+2556
+171
+1588
+5133
+2693
+6639
+5022
+9748
+950
+6485
+9315
+8059
+5690
+950
+6485
+9315
+6805
+6970
+8456
+4355
+11054
+7573
+8553
+1384
+11297
+5801
+2763
+3090
+7068
+10108
+4165
+1643
+5801
+1432
+188
+1313
+9025
+8970
+4485
+1432
+1459
+10680
+5496
+11167
+7633
+4485
+1432
+188
+8970
+4485
+1432
+188
+1313
+307
+11223
+6853
+4410
+4483
+10970
+8424
+7169
+5812
+6286
+2776
+5325
+2356
+3045
+9258
+6102
+10876
+4828
+1326
+6762
+4350
+7705
+1326
+6762
+6744
+2568
+1592
+3632
+4432
+10178
+696
+3173
+7337
+9616
+2780
+4754
+5600
+7042
+1961
+8929
+11217
+7856
+1625
+7217
+1168
+4666
+4307
+4184
+2111
+2780
+4754
+4460
+7110
+4015
+7427
+792
+3195
+3358
+6841
+2821
+6458
+10189
+314
+11322
+3101
+5848
+7848
+4870
+1238
+1817
+5278
+2669
+9173
+6368
+10564
+11229
+11223
+6853
+9025
+1313
+307
+11223
+6853
+4410
+10366
+8970
+4485
+1432
+1459
+10680
+5496
+11167
+8596
+10554
+10062
+4209
+2578
+5497
+6478
+5161
+10441
+4495
+6259
+9722
+1516
+4658
+8529
+1093
+7706
+7869
+675
+3417
+7055
+1100
+152
+4414
+7161
+10879
+8331
+3189
+8497
+9917
+4330
+4690
+4743
+10812
+8331
+9629
+3664
+8259
+9326
+5054
+4010
+8142
+2649
+4480
+418
+5533
+11110
+11039
+3575
+5357
+5533
+11110
+5181
+5257
+9145
+8514
+468
+4050
+2794
+2440
+11009
+2681
+2530
+6083
+3608
+8672
+3608
+8067
+7207
+8796
+6538
+4601
+4265
+7215
+13
+1928
+8796
+6538
+4601
+4370
+4098
+10513
+211
+2618
+9876
+1661
+9470
+3489
+6715
+7763
+11326
+9066
+5797
+625
+9204
+10028
+9580
+11327
+2968
+3148
+2864
+1010
+7653
+5362
+2431
+5030
+1069
+7072
+7131
+9344
+10599
+1010
+2981
+6436
+3854
+2981
+6436
+3764
+11083
+2099
+4616
+3702
+9700
+6522
+4616
+3702
+7266
+8447
+8738
+869
+9554
+5147
+8269
+2461
+2886
+5344
+167
+4075
+2196
+5805
+2703
+3642
+5589
+7083
+9669
+5389
+358
+6581
+5096
+4826
+211
+3039
+7152
+744
+10692
+3872
+6667
+85
+2505
+6379
+10741
+5208
+475
+8721
+11340
+2919
+11323
+5735
+65
+10727
+8998
+1630
+5033
+10639
+610
+65
+10727
+1950
+7688
+10816
+10934
+4063
+2051
+1172
+4656
+9267
+2902
+2919
+10846
+5346
+10462
+3790
+6961
+6379
+4772
+7078
+2505
+2089
+7757
+3269
+3011
+1463
+6363
+1376
+7549
+7129
+10639
+610
+65
+10727
+10435
+5251
+10282
+4188
+7663
+6385
+1818
+47
+7562
+9619
+720
+1280
+7562
+9619
+720
+1280
+796
+4419
+8998
+1630
+8723
+720
+1280
+5492
+3751
+6003
+3587
+1237
+7241
+10282
+4188
+10934
+132
+8464
+1665
+4733
+10473
+2511
+5240
+487
+6361
+9756
+1183
+9608
+2028
+7270
+10021
+1360
+995
+9710
+652
+4180
+6798
+1433
+8911
+10575
+8911
+1433
+10079
+520
+568
+4756
+7905
+8031
+7632
+10292
+8586
+6918
+2616
+2261
+10904
+9002
+1917
+9493
+3106
+8213
+5025
+9646
+10379
+3919
+11072
+4675
+6158
+2420
+3671
+766
+6311
+8224
+9484
+6072
+8042
+8213
+5025
+9646
+10573
+4351
+3919
+10379
+10573
+3919
+11072
+4675
+6158
+2420
+6157
+7425
+3577
+7485
+6585
+5788
+2952
+8617
+989
+2895
+6585
+5788
+2952
+390
+6194
+11153
+397
+4679
+7837
+846
+10340
+6153
+3487
+259
+6782
+3441
+2626
+6153
+3487
+259
+420
+6926
+5755
+11303
+4501
+6414
+7041
+7090
+4249
+5782
+8747
+1907
+6640
+6204
+4474
+9551
+1156
+4518
+10046
+5074
+6417
+8884
+10593
+787
+9730
+8978
+10351
+627
+5235
+9837
+4474
+9551
+8115
+3465
+3451
+7018
+8102
+9451
+1786
+4581
+10057
+7400
+11281
+8157
+5701
+10871
+2991
+10775
+7745
+10250
+3271
+5468
+2929
+4354
+7790
+5460
+4590
+8778
+4796
+6850
+4278
+2414
+1422
+6850
+8174
+7381
+71
+9994
+9146
+5509
+4880
+3147
+2471
+196
+9327
+3147
+196
+4288
+1181
+7907
+3947
+6760
+4766
+7960
+1322
+3775
+5837
+5431
+4288
+1181
+1986
+10618
+656
+1126
+4626
+9102
+6214
+6938
+9966
+159
+9966
+10419
+3688
+2246
+2764
+9823
+8176
+10492
+10075
+8176
+10492
+1102
+10382
+2466
+159
+9966
+10419
+10286
+6941
+6938
+9966
+10419
+10286
+6354
+9785
+331
+156
+3880
+9214
+474
+1332
+7291
+9230
+1518
+2075
+6720
+10179
+10768
+1332
+7291
+9230
+1518
+2487
+2537
+91
+9675
+6481
+5383
+9764
+10341
+238
+1072
+10668
+5967
+8194
+9650
+511
+1003
+8774
+8863
+526
+9650
+511
+7166
+4263
+10510
+5369
+11194
+10510
+511
+7166
+7636
+1304
+6400
+9789
+8313
+2680
+3725
+10872
+9171
+2253
+1476
+5511
+3151
+690
+10330
+4617
+2962
+11239
+2427
+1223
+5071
+7940
+7091
+9830
+11171
+10228
+472
+7753
+1111
+1125
+8505
+540
+1890
+4818
+10668
+5967
+8194
+9650
+511
+7166
+6056
+1845
+7316
+1210
+8061
+6070
+8179
+9349
+3550
+11273
+2141
+7085
+6165
+11261
+858
+8775
+10072
+6650
+2571
+3074
+10396
+5825
+5646
+1744
+11309
+5646
+1744
+10847
+8504
+1304
+6400
+9789
+8504
+1304
+6400
+9789
+8313
+2680
+3725
+4247
+4850
+7220
+5457
+10847
+8504
+1304
+6400
+9789
+8313
+2680
+7826
+11239
+3430
+472
+870
+2306
+26
+3455
+11336
+870
+2101
+8552
+1177
+10330
+4617
+3430
+472
+7753
+1111
+1125
+2477
+1194
+2333
+6657
+10686
+9298
+4818
+2416
+4926
+7289
+10668
+5967
+8194
+9650
+511
+1003
+8774
+8863
+526
+11024
+8194
+9650
+511
+7166
+6056
+1170
+10312
+8034
+2273
+7836
+9443
+2152
+4552
+6997
+4208
+6842
+3102
+9395
+5599
+186
+7167
+1762
+7734
+8826
+6356
+2823
+6258
+186
+7167
+1762
+7734
+6483
+8002
+1605
+6252
+10975
+9818
+6252
+10975
+2692
+5132
+9793
+6648
+4443
+4520
+6108
+5426
+1474
+7709
+8351
+4250
+9886
+11114
+7381
+71
+4520
+4443
+6691
+1704
+9818
+6252
+10975
+2277
+7532
+9645
+906
+8856
+6483
+7734
+4104
+1583
+5540
+9753
+4080
+6698
+2057
+2646
+8237
+8587
+11313
+9395
+7765
+539
+2393
+6445
+1396
+2879
+133
+616
+5038
+1867
+11342
+6011
+8979
+9912
+1436
+9021
+10456
+9938
+4113
+5660
+10166
+3032
+8578
+9938
+4113
+2240
+6821
+4301
+2493
+1412
+7392
+9074
+4775
+7392
+8516
+2877
+3464
+2419
+7661
+3107
+11276
+9584
+1365
+2300
+9736
+2965
+3462
+7332
+4711
+5032
+3834
+5984
+3515
+2829
+3517
+10363
+2121
+8971
+5617
+5625
+9197
+1825
+1004
+8479
+347
+10162
+9494
+8838
+2559
+822
+3515
+2829
+7605
+7628
+3677
+8784
+7271
+6328
+2472
+10955
+1680
+1231
+9117
+2370
+10528
+9403
+3628
+1162
+8577
+9403
+8577
+3628
+7175
+3123
+2617
+4722
+10000
+9216
+3281
+450
+5213
+2910
+5752
+7092
+6328
+2472
+10955
+1680
+895
+7271
+6328
+2472
+3281
+450
+5213
+11112
+3267
+7623
+6964
+4968
+7234
+5679
+7887
+8413
+10858
+1724
+9930
+7045
+818
+9747
+2637
+6518
+8133
+818
+9747
+2637
+6518
+9034
+1686
+8952
+8603
+8850
+5414
+5617
+5625
+9197
+1825
+4082
+5347
+10658
+8292
+6475
+6418
+6146
+4100
+1697
+10361
+1088
+1697
+4100
+10977
+101
+7202
+11098
+3223
+9981
+7517
+10096
+455
+7935
+9981
+7517
+1251
+3799
+6516
+3196
+4516
+4122
+7281
+2751
+2239
+7075
+8109
+9928
+8778
+9886
+11114
+71
+4520
+6108
+2935
+6304
+3385
+10166
+5660
+8578
+9938
+4113
+2240
+6821
+4301
+2493
+1412
+7392
+8516
+2877
+2563
+1668
+127
+931
+9942
+5005
+8105
+7332
+4711
+5032
+3834
+5984
+9641
+8120
+7875
+6455
+2317
+7665
+6065
+5433
+6109
+8526
+8038
+6763
+7455
+882
+9628
+1557
+5883
+5356
+9866
+2347
+7074
+2715
+2874
+3945
+5573
+9992
+4907
+5607
+6713
+6096
+1109
+1192
+1195
+7468
+3427
+2173
+1508
+4663
+11000
+2666
+9316
+1532
+5944
+8612
+10214
+11129
+10389
+1716
+215
+7903
+3597
+10814
+5664
+7743
+4128
+1293
+1616
+4236
+8511
+5664
+7743
+7126
+3697
+10442
+10537
+686
+10997
+7713
+7142
+4134
+853
+3381
+10169
+3232
+4582
+3509
+6724
+9936
+5667
+5270
+10801
+4823
+7606
+6543
+1723
+11220
+1585
+9454
+865
+5099
+6266
+10413
+2659
+3718
+2943
+4707
+3476
+6922
+8026
+3710
+953
+4000
+5885
+2107
+1509
+2880
+6467
+10035
+8433
+531
+2861
+3505
+1386
+11290
+1085
+6009
+2804
+2803
+2942
+7786
+6302
+4372
+908
+3649
+19
+5298
+6491
+2345
+9255
+10532
+5155
+139
+6824
+361
+10148
+7304
+6134
+9490
+8198
+1049
+1831
+480
+2148
+3731
+2363
+7419
+3731
+3814
+282
+6547
+546
+2450
+8945
+10594
+4471
+921
+9626
+3589
+5949
+7931
+959
+9420
+6019
+10535
+2365
+1837
+6886
+2016
+10942
+4453
+2749
+10474
+3589
+9626
+4648
+2993
+8354
+4721
+10107
+4565
+5723
+3416
+3622
+9193
+2340
+5874
+4729
+3035
+4377
+9987
+2180
+10944
+10664
+10356
+8558
+1864
+325
+1490
+6871
+4281
+1670
+2825
+5715
+7086
+2825
+7849
+5715
+6951
+10212
+4123
+2734
+8127
+8515
+11267
+7670
+10212
+9680
+551
+9161
+495
+6714
+6224
+4116
+4326
+8536
+6332
+3581
+8189
+7658
+1996
+5904
+7333
+6777
+7513
+8590
+1140
+3618
+6045
+388
+2947
+6307
+3738
+2260
+6878
+700
+5678
+5280
+86
+9024
+6878
+3538
+6532
+5807
+4977
+3121
+10611
+8590
+5368
+10025
+5446
+8461
+225
+8889
+8108
+3581
+9589
+7184
+3498
+6157
+7425
+7184
+9589
+7373
+2754
+6332
+3581
+8108
+6981
+5578
+2379
+8584
+7505
+2458
+10888
+6714
+495
+1503
+4311
+10709
+6771
+3579
+191
+2155
+4560
+8342
+11056
+2901
+3249
+5037
+9347
+6501
+7643
+4465
+1024
+5920
+5596
+3205
+10345
+4253
+7749
+3152
+4512
+6615
+8008
+5086
+6434
+4115
+6500
+5268
+8882
+5252
+704
+5507
+3391
+7487
+3313
+11020
+7951
+5587
+6176
+523
+11073
+8438
+10292
+8586
+6918
+2616
+2261
+5654
+2616
+2261
+10904
+2352
+5906
+1495
+1562
+5920
+2140
+4049
+191
+2155
+7814
+6738
+1374
+5016
+8300
+2326
+2668
+8149
+7452
+3922
+2546
+1349
+1798
+8809
+1838
+2267
+2279
+44
+3122
+5159
+7545
+3447
+1257
+11257
+7814
+2155
+3579
+7394
+1503
+4311
+7849
+2825
+10943
+4750
+10893
+5873
+7247
+10118
+7588
+7793
+9329
+905
+8854
+7022
+10294
+200
+9600
+4596
+8854
+11003
+7518
+6129
+9535
+8283
+6045
+7347
+9243
+10611
+4713
+6331
+5330
+366
+3121
+6240
+8757
+4977
+1267
+2225
+10407
+4306
+5807
+1219
+2260
+3738
+8700
+7032
+6407
+95
+9122
+7431
+3900
+10761
+9856
+688
+10087
+3012
+11027
+86
+9024
+5678
+6002
+2211
+7726
+9900
+700
+6002
+2211
+4519
+10335
+693
+10875
+2066
+370
+3962
+3145
+519
+5513
+1364
+7095
+8386
+2971
+5857
+8378
+6924
+7357
+4108
+1767
+4683
+8249
+1059
+7721
+3479
+8212
+11262
+1020
+2933
+4589
+43
+1907
+6640
+10809
+7251
+2889
+7945
+6204
+4474
+4322
+7490
+2907
+3247
+7759
+8399
+2324
+4368
+5460
+4590
+4717
+2316
+7790
+4354
+4105
+6670
+2324
+2890
+4501
+6414
+7041
+4672
+2998
+11303
+3227
+6926
+420
+259
+3204
+10104
+678
+5765
+11134
+6782
+699
+5019
+9411
+9611
+10627
+9153
+6195
+8448
+10326
+5527
+5623
+8756
+5926
+10972
+5610
+6502
+4318
+1848
+4864
+8098
+3820
+4700
+2225
+10407
+554
+3282
+6630
+6699
+4418
+3166
+8448
+7093
+10259
+4136
+7382
+2439
+10104
+6917
+9998
+2998
+6414
+7041
+7090
+811
+4441
+2907
+8102
+9451
+1786
+4581
+10057
+2144
+6125
+6620
+518
+5953
+10241
+7392
+9074
+155
+7661
+4635
+127
+241
+4156
+752
+931
+4731
+8252
+2685
+2231
+4484
+7195
+8421
+6560
+219
+7682
+6147
+8421
+6560
+9478
+6100
+8141
+8853
+1065
+7927
+7501
+5254
+7536
+10780
+7398
+10257
+11252
+8278
+9
+5281
+1738
+8278
+5903
+11252
+1449
+4339
+4221
+4491
+651
+5065
+182
+10786
+273
+5215
+6994
+8168
+4004
+8444
+2798
+2381
+6640
+5390
+7880
+3817
+11124
+2639
+4990
+3817
+8779
+10656
+4920
+11262
+4589
+4147
+6640
+6204
+4474
+9551
+8115
+3465
+4877
+7273
+6452
+4145
+6063
+8782
+3451
+1842
+7490
+7945
+10809
+7251
+6039
+4249
+126
+8215
+4222
+6917
+9998
+5755
+11303
+3227
+2239
+7075
+8109
+60
+8469
+3488
+10915
+5431
+4288
+1181
+1986
+10618
+5990
+9588
+6214
+6938
+3531
+2289
+8446
+4792
+3094
+4288
+2414
+1422
+10130
+3256
+849
+9928
+8778
+4796
+6850
+8174
+9994
+9146
+6648
+4443
+6648
+9793
+8336
+7120
+6410
+8246
+2512
+5249
+3018
+5550
+6105
+8856
+6483
+8002
+4104
+1583
+2068
+5540
+9753
+4080
+6732
+2068
+9178
+1583
+5540
+9753
+8826
+6356
+2057
+9021
+10456
+9938
+4113
+5660
+10166
+3032
+9283
+6698
+2057
+2646
+8237
+8858
+8159
+2823
+6258
+186
+7167
+705
+7734
+4104
+6534
+3786
+10405
+6304
+2935
+4717
+10963
+2935
+10319
+5539
+6457
+8778
+849
+9928
+9480
+9224
+2890
+4501
+8399
+8401
+5819
+10127
+1786
+4581
+10057
+7400
+11281
+5701
+10871
+7610
+3611
+518
+2602
+2877
+2563
+1668
+9738
+5867
+1696
+9730
+8978
+627
+5235
+9837
+1378
+5235
+9287
+10694
+5074
+6417
+787
+9287
+10694
+5074
+10046
+6632
+6452
+4145
+6620
+518
+2602
+10241
+7392
+8516
+3464
+2419
+7661
+3107
+11276
+9584
+1365
+2300
+2620
+9767
+8004
+9772
+9560
+9568
+2527
+9598
+6053
+983
+8317
+1589
+8611
+61
+8131
+10191
+5193
+5940
+9332
+10953
+8195
+5116
+3175
+1408
+297
+4800
+10953
+5276
+3105
+9507
+8748
+9250
+8123
+2900
+1455
+2407
+8811
+5116
+4831
+4379
+7602
+9892
+5630
+7986
+1965
+1481
+7657
+2142
+5594
+10038
+7421
+4768
+6944
+3265
+7922
+3315
+5594
+7287
+7922
+3315
+538
+9955
+262
+10243
+5072
+5051
+6624
+4107
+7845
+9302
+10243
+8798
+7988
+1385
+262
+6559
+5026
+6371
+5986
+8017
+10850
+296
+11010
+1906
+15
+8309
+7921
+9501
+3690
+5289
+10857
+377
+722
+1081
+383
+8604
+1137
+7977
+11300
+7659
+5843
+3757
+10743
+3115
+591
+5199
+2045
+3328
+6265
+10967
+1493
+1780
+1034
+5014
+2284
+6242
+1525
+11
+9017
+7359
+550
+10748
+3082
+8093
+10059
+90
+9472
+8547
+7361
+11250
+918
+3503
+2778
+4946
+9792
+9492
+3734
+4951
+6848
+2400
+10352
+3734
+4951
+3411
+6330
+11184
+9047
+1925
+6278
+2708
+3564
+483
+11294
+2987
+4260
+6693
+5876
+3181
+684
+6535
+8627
+7397
+64
+6132
+9279
+6644
+64
+824
+6825
+7791
+4540
+1703
+8533
+7379
+2725
+4362
+5143
+10653
+1043
+5041
+4054
+5348
+9253
+9222
+4558
+4056
+1043
+7415
+4374
+2009
+2718
+10588
+5083
+5091
+9340
+1527
+9036
+8312
+1709
+3940
+9989
+3918
+10901
+10608
+7609
+9212
+10157
+372
+391
+5121
+9832
+5355
+9583
+4334
+6939
+31
+5704
+2989
+8691
+3835
+4445
+10873
+9212
+10157
+372
+3252
+8389
+4719
+8527
+5898
+2925
+3977
+11085
+8732
+3720
+679
+9469
+292
+5402
+287
+1611
+8620
+5046
+2786
+6927
+7404
+452
+2882
+5733
+396
+9974
+6818
+10137
+6230
+8368
+1008
+8055
+9517
+7854
+10451
+1132
+8162
+6678
+7528
+8417
+783
+1158
+9623
+6293
+3865
+3566
+7315
+5098
+9201
+3544
+671
+3609
+7239
+948
+2074
+9599
+10264
+7404
+6927
+6396
+5178
+3835
+8691
+6869
+5355
+9599
+709
+3761
+10305
+3252
+3822
+2169
+5306
+11222
+4362
+2725
+7379
+8533
+1703
+8946
+10403
+10777
+5876
+3181
+6137
+6352
+8126
+4822
+6932
+603
+6352
+10037
+6644
+64
+6132
+5952
+4861
+4423
+4782
+5012
+1912
+9620
+8915
+10555
+5012
+1912
+9620
+7004
+6656
+1677
+11064
+936
+3423
+5417
+3431
+1741
+11035
+1086
+10518
+6885
+9401
+10787
+3714
+9473
+9925
+10661
+9978
+10318
+8263
+3602
+8891
+10545
+1551
+8272
+2248
+7990
+7370
+1772
+7272
+7249
+354
+176
+92
+2531
+1795
+11233
+4489
+3841
+8768
+7366
+9373
+11240
+11141
+2479
+6855
+2126
+2007
+1654
+1397
+851
+7147
+2270
+6791
+11263
+535
+2638
+8152
+9757
+1690
+1850
+1397
+1654
+4046
+4910
+5095
+6242
+2284
+8380
+3467
+6800
+8561
+2922
+401
+1116
+2254
+10440
+8371
+3197
+5410
+4524
+7171
+3956
+9884
+1149
+6028
+9040
+7798
+11021
+6866
+3177
+4435
+8920
+2600
+10793
+1370
+2558
+9562
+1746
+7180
+4511
+9256
+1740
+8048
+6175
+8048
+759
+8388
+9013
+2982
+10655
+10427
+8549
+2648
+2600
+10793
+1370
+11033
+6257
+6123
+10411
+9715
+5574
+3917
+10765
+476
+7531
+1552
+7616
+6028
+1149
+8134
+2843
+9884
+7171
+3956
+5203
+7008
+1012
+3248
+8486
+10718
+3202
+7214
+10224
+2958
+2013
+227
+11096
+7647
+3676
+5237
+4450
+5728
+5092
+340
+3676
+5237
+8463
+3582
+5947
+10782
+4980
+497
+2800
+4289
+10036
+10316
+3246
+6549
+9009
+748
+1055
+1395
+8192
+816
+10974
+3779
+6319
+4806
+1908
+3713
+800
+8808
+1052
+7884
+130
+4300
+1940
+3167
+10582
+11058
+5922
+11277
+9812
+3652
+9460
+10897
+5719
+3348
+7554
+5519
+10730
+4764
+3453
+9092
+11055
+4798
+10370
+10832
+6008
+4798
+10370
+3453
+9092
+6160
+3604
+3275
+5483
+2351
+5560
+3348
+3754
+4093
+6546
+9081
+4821
+2019
+5230
+9504
+4313
+7264
+8729
+666
+570
+3895
+3818
+3516
+10444
+10507
+11068
+5584
+10974
+680
+8940
+1829
+836
+10800
+195
+9447
+3733
+1305
+1052
+7884
+9458
+461
+11058
+571
+11058
+5922
+11277
+2351
+5560
+3006
+3652
+7255
+10778
+7529
+10897
+8281
+75
+6546
+9081
+4821
+2019
+6512
+7929
+7703
+1161
+797
+2275
+4671
+4510
+4847
+11011
+1828
+1578
+7861
+2136
+856
+10734
+8989
+4095
+9301
+4632
+11224
+5204
+5763
+6263
+9121
+5204
+1338
+3673
+7346
+10903
+7119
+4440
+3183
+10903
+3183
+4695
+82
+4695
+8280
+11081
+10423
+9695
+2042
+659
+559
+7082
+5321
+2344
+1637
+1764
+10659
+6851
+224
+1426
+9691
+8589
+4293
+212
+2490
+93
+5321
+9262
+8132
+10093
+10453
+7188
+1506
+8356
+4429
+286
+4333
+3673
+1338
+5222
+11260
+4632
+11224
+10101
+5868
+1185
+6217
+1484
+2456
+2462
+2851
+9567
+1593
+6226
+9471
+1832
+9929
+9997
+4645
+5637
+5495
+6107
+2305
+8602
+7277
+2006
+260
+3063
+6107
+2305
+8602
+4382
+9011
+2166
+1915
+10956
+7182
+7409
+2524
+9207
+10781
+6188
+10467
+10781
+1167
+7789
+8396
+6188
+10467
+10831
+7962
+2595
+1770
+6656
+1803
+7420
+5995
+820
+3804
+3263
+1118
+5239
+3511
+5002
+2828
+2671
+5148
+3879
+573
+8218
+9916
+9424
+5661
+8450
+1279
+7959
+3700
+3706
+1749
+6031
+873
+8027
+788
+7177
+6001
+5575
+11080
+10773
+5401
+11046
+3925
+4127
+35
+3925
+7560
+3613
+7560
+4127
+2541
+1217
+4803
+8091
+505
+1958
+4967
+5412
+5638
+8833
+996
+8833
+10380
+4938
+4071
+3433
+10660
+10625
+10245
+5605
+4422
+10660
+9479
+6449
+557
+8560
+4993
+5614
+6269
+7084
+10469
+11255
+7510
+5605
+4422
+10660
+8466
+6988
+5575
+4612
+9996
+9770
+11080
+9388
+6001
+2506
+8839
+7615
+2885
+11343
+3756
+10726
+8814
+9123
+149
+7755
+5175
+8426
+3793
+812
+2808
+9577
+2367
+1788
+7366
+9373
+5316
+497
+5947
+2013
+4706
+6892
+3248
+1189
+2276
+6015
+5989
+4688
+8371
+4688
+389
+6752
+974
+3057
+1116
+6800
+3467
+5609
+10696
+1590
+3757
+5843
+1011
+11298
+1492
+9400
+10855
+910
+5781
+6969
+10770
+1416
+10770
+2433
+5718
+5977
+7944
+4486
+7991
+10770
+6969
+2956
+835
+2350
+723
+9435
+2312
+3860
+10310
+6321
+8927
+4699
+2954
+11074
+10076
+440
+2923
+5775
+8222
+2836
+5015
+440
+2923
+5775
+8222
+6267
+2346
+84
+5352
+9721
+10331
+9721
+3475
+6281
+5517
+10700
+3013
+9242
+5878
+7985
+7224
+10410
+2491
+1358
+8328
+9416
+522
+2020
+7936
+9863
+8698
+5307
+5789
+7361
+11250
+918
+3503
+9792
+1547
+2702
+3549
+4936
+10298
+2170
+5174
+7624
+1751
+10930
+2758
+9473
+3157
+2165
+382
+4130
+367
+10483
+10354
+7978
+4230
+10987
+4200
+4037
+92
+4644
+5958
+3678
+633
+10759
+471
+10790
+4910
+1525
+11042
+11
+9017
+7359
+6893
+7538
+10227
+1435
+550
+10748
+3082
+8093
+10059
+9379
+4094
+4380
+1258
+7335
+299
+4380
+51
+6623
+10059
+3682
+8090
+4143
+3020
+4946
+9792
+9492
+3734
+4951
+6848
+1692
+3558
+1765
+1096
+8530
+8904
+1648
+2400
+10352
+7050
+1638
+6542
+9492
+3734
+4951
+3683
+4936
+2157
+4842
+2157
+9137
+8062
+2165
+382
+9925
+10661
+3714
+10661
+9978
+10281
+8801
+8891
+10545
+6077
+4259
+8801
+9401
+5508
+7067
+3215
+350
+6968
+8569
+483
+9672
+9181
+1676
+7557
+11294
+2987
+5238
+1698
+3017
+5756
+10102
+2927
+4315
+4879
+10586
+10066
+3307
+9251
+9606
+702
+3158
+10147
+702
+3158
+3794
+4392
+9469
+292
+1608
+5477
+3119
+1148
+6350
+2565
+6350
+3033
+10854
+2376
+3360
+10854
+2376
+11250
+9678
+11221
+10147
+702
+3158
+3794
+4392
+9469
+292
+1608
+7729
+8233
+10982
+5477
+8233
+7729
+6350
+3033
+4392
+9469
+292
+5402
+287
+1611
+7044
+8546
+6148
+6948
+10448
+209
+1927
+8055
+9644
+6285
+10690
+7954
+10506
+1158
+9623
+5120
+783
+8417
+11177
+5564
+4157
+4725
+7877
+9667
+50
+4157
+5564
+4991
+1681
+4991
+981
+2369
+9365
+183
+3086
+4477
+9384
+8162
+6678
+2959
+9365
+2369
+7237
+669
+9811
+6529
+4073
+7686
+9958
+164
+5378
+10671
+8950
+3873
+9116
+8349
+8880
+10487
+128
+7457
+5119
+1951
+2674
+8303
+5119
+1951
+6426
+3172
+832
+4182
+9286
+1443
+1407
+758
+3222
+4421
+1356
+1402
+758
+3222
+357
+1407
+1443
+834
+6606
+2040
+3127
+8597
+5397
+4146
+8597
+3127
+8454
+9790
+8319
+1099
+5994
+343
+10526
+7918
+9056
+10347
+6122
+8740
+4972
+10917
+5429
+8006
+1315
+7239
+4214
+8357
+5031
+9854
+3544
+671
+3609
+5897
+4472
+343
+10526
+5260
+10754
+10681
+7262
+9467
+11144
+4527
+3777
+1366
+2280
+1239
+607
+1150
+5659
+6473
+8828
+1968
+10587
+7684
+8247
+3474
+4445
+3835
+8691
+6869
+5355
+9583
+4334
+10939
+9427
+4843
+10917
+4972
+5704
+2989
+8691
+6869
+5355
+9583
+31
+6939
+7348
+9158
+7348
+10939
+9427
+9158
+10917
+4843
+8006
+5429
+4562
+1315
+10155
+7693
+5897
+4472
+2904
+6789
+3418
+8722
+1054
+8454
+9790
+1099
+5994
+2904
+6789
+3418
+8722
+8600
+2040
+5791
+6598
+2485
+10595
+9358
+4062
+9819
+1756
+7546
+7966
+8150
+5300
+1893
+7830
+3559
+7830
+11012
+1756
+7546
+9358
+10595
+7803
+9286
+1443
+1407
+357
+5138
+5434
+6426
+3172
+8689
+5854
+1824
+1748
+9964
+7296
+2585
+2695
+7231
+8765
+697
+10113
+106
+3802
+8268
+922
+6270
+2586
+5392
+3802
+8268
+4228
+3062
+10210
+143
+162
+922
+6270
+5392
+3802
+8268
+4228
+9309
+697
+8765
+8483
+7450
+5427
+329
+164
+5378
+4533
+6529
+1594
+9176
+9305
+6906
+4226
+4415
+1033
+6833
+5907
+2374
+8788
+4603
+3670
+6480
+9939
+578
+3337
+10406
+578
+3337
+9545
+2801
+263
+1759
+8000
+6243
+9632
+5597
+97
+4890
+7451
+7311
+3529
+6128
+628
+7720
+2217
+8895
+4500
+7044
+1611
+8620
+5046
+2882
+5733
+8375
+8620
+5046
+2786
+6396
+5178
+709
+3761
+10305
+3252
+8389
+4719
+8588
+8473
+695
+8588
+8473
+11292
+170
+184
+7947
+5898
+2925
+4978
+10200
+9366
+1382
+4799
+10839
+320
+10323
+7809
+10724
+10698
+4852
+7809
+2941
+7173
+4468
+5634
+10698
+4852
+7809
+2941
+4696
+290
+9805
+4541
+6174
+1923
+9415
+6755
+10839
+4799
+1382
+9366
+5853
+9366
+1079
+0
+1079
+9880
+3720
+1318
+4804
+9606
+9251
+8199
+7967
+4296
+1765
+8904
+1648
+1692
+3558
+1982
+4315
+4879
+1870
+9353
+1698
+3017
+3564
+483
+11294
+2987
+4260
+3297
+5876
+6693
+4260
+1487
+4541
+9805
+7984
+9516
+8946
+1703
+8533
+4749
+11133
+2210
+7139
+10196
+9394
+3027
+824
+6825
+5858
+5682
+2210
+7139
+4056
+1043
+7415
+4374
+9618
+4264
+541
+5083
+7900
+9441
+9036
+1527
+8312
+1709
+3242
+9120
+3918
+10901
+2664
+7609
+9212
+10157
+372
+3252
+8389
+5377
+8240
+11168
+3822
+10608
+10157
+372
+3252
+8389
+4719
+8527
+184
+170
+11292
+7550
+695
+8588
+4719
+8527
+5898
+2925
+3977
+11085
+8732
+287
+5402
+679
+4804
+9606
+702
+3158
+3794
+3360
+10854
+1565
+9134
+11071
+8494
+6793
+4111
+6904
+2435
+522
+2020
+3420
+4862
+8307
+565
+3514
+9041
+9422
+2083
+9721
+10331
+4256
+7405
+5526
+6700
+3986
+9559
+8310
+10092
+6215
+3064
+3768
+5743
+3443
+4886
+7313
+1833
+1264
+6321
+10310
+10992
+5134
+377
+10992
+10310
+6920
+3468
+8927
+1722
+9501
+7921
+10280
+3687
+4456
+5538
+5498
+11142
+5128
+3131
+277
+10233
+6908
+10337
+9858
+3619
+8478
+1081
+383
+11271
+8604
+11300
+1510
+6299
+7260
+1488
+3467
+6800
+1116
+401
+8561
+2922
+5773
+5896
+3266
+11091
+9090
+4059
+8522
+9135
+3155
+1631
+5760
+8486
+3248
+1012
+7008
+4144
+1750
+10437
+9290
+4241
+10042
+4241
+228
+4241
+9290
+11170
+2843
+9884
+7171
+3956
+5203
+2382
+7801
+5410
+4524
+8128
+1437
+7305
+6253
+3917
+5574
+5933
+4435
+8920
+2600
+10793
+1370
+2558
+9562
+1746
+998
+946
+9773
+8257
+4598
+998
+946
+1288
+5814
+8480
+8699
+4768
+6944
+5109
+1415
+9858
+5109
+897
+5366
+6957
+8480
+8699
+4768
+6944
+5109
+897
+7811
+1244
+2492
+7939
+9562
+7345
+9256
+7181
+3175
+1408
+3955
+759
+8815
+4800
+10953
+5276
+8646
+4084
+9263
+11036
+327
+9767
+2620
+2300
+1365
+9846
+5553
+1018
+1672
+10808
+4775
+9074
+155
+7661
+3107
+11276
+9584
+4669
+202
+4738
+5005
+8105
+3107
+11276
+9584
+1365
+9846
+3462
+7332
+4711
+5032
+3834
+8653
+1186
+4786
+7230
+1354
+4402
+2632
+4735
+2002
+7831
+5730
+4673
+10219
+10138
+3353
+8088
+4863
+1542
+4321
+3565
+638
+7322
+3647
+7058
+9065
+1542
+4321
+7282
+9717
+2498
+11261
+858
+8775
+7282
+9717
+616
+5038
+2879
+133
+8096
+9537
+10260
+3226
+173
+5202
+8096
+9537
+6165
+11261
+858
+9754
+2881
+3074
+10396
+5825
+3320
+7402
+3948
+7106
+7971
+3716
+10836
+7886
+3028
+7899
+3028
+4947
+9993
+1491
+1952
+1586
+2557
+9211
+8686
+4434
+4097
+1041
+8492
+5484
+7838
+10170
+1247
+8973
+11158
+2932
+10908
+7708
+141
+6650
+10072
+4072
+4321
+3565
+638
+7322
+3647
+8806
+9851
+7191
+2760
+10670
+10236
+6998
+4673
+10219
+7000
+8834
+3244
+1835
+8053
+5877
+8638
+2002
+7831
+5730
+4673
+10219
+10138
+3353
+9065
+1542
+4863
+4072
+4321
+3565
+638
+7322
+3647
+7058
+9487
+3565
+638
+9425
+9851
+7191
+3144
+896
+7413
+2705
+27
+499
+9142
+6659
+6984
+8343
+6565
+5501
+9131
+3008
+4561
+11060
+6052
+3389
+4563
+8666
+7428
+6000
+9240
+1215
+5060
+9464
+7026
+7323
+4894
+3346
+9058
+2924
+988
+7752
+3124
+6404
+486
+7938
+6374
+352
+6453
+9099
+6404
+486
+7938
+8988
+486
+7938
+8988
+11270
+8329
+4028
+8924
+8172
+10560
+4067
+5759
+6201
+639
+3346
+9058
+2924
+988
+5683
+6284
+3792
+416
+2684
+1482
+10077
+6770
+9673
+6277
+3871
+2004
+2587
+7342
+4730
+10561
+7336
+5127
+2085
+3812
+5491
+2791
+34
+3812
+5491
+9874
+1993
+2226
+7162
+1987
+5965
+5844
+612
+3368
+7958
+9194
+8934
+10973
+3071
+6050
+10676
+1014
+3234
+5919
+6898
+7010
+8509
+9887
+653
+9887
+6454
+9241
+4110
+6234
+1362
+3788
+3036
+8079
+9185
+6344
+7739
+3695
+844
+2539
+7973
+7883
+3902
+7125
+3374
+5082
+9417
+5291
+10966
+10827
+9651
+148
+10752
+2535
+189
+6018
+3629
+189
+6018
+3629
+9971
+9307
+2757
+7133
+6508
+1571
+4096
+9973
+9170
+10907
+3191
+7040
+860
+7111
+3778
+7852
+1541
+10758
+2534
+4070
+1541
+10758
+2887
+7324
+6877
+756
+1792
+6020
+10946
+10447
+5470
+1555
+42
+608
+9005
+9743
+8936
+2183
+434
+5774
+1910
+355
+2060
+5647
+1475
+691
+9043
+10848
+3743
+499
+11321
+5219
+193
+10348
+9367
+1650
+6459
+3819
+949
+6492
+11077
+1423
+197
+590
+2742
+6593
+4602
+10638
+1101
+3393
+11175
+9791
+949
+6492
+2742
+6593
+4602
+10638
+8327
+4070
+3778
+1834
+8052
+8803
+10365
+1694
+10898
+8969
+672
+10005
+315
+8955
+6666
+7436
+18
+8305
+5878
+5106
+10466
+10186
+8958
+676
+427
+3238
+4005
+5125
+7895
+4655
+10151
+3377
+2293
+1924
+5234
+6709
+283
+4066
+3556
+6406
+791
+10165
+3605
+11159
+757
+8519
+3125
+10683
+8777
+10732
+3784
+11193
+5056
+7035
+6234
+1362
+3788
+1014
+10676
+6050
+3179
+6050
+10676
+9546
+1388
+5721
+5985
+986
+10501
+6274
+6586
+5195
+3890
+3512
+5724
+10239
+4385
+10600
+4190
+473
+2348
+2784
+5844
+612
+6753
+3368
+1341
+5724
+1070
+10584
+4454
+1444
+4226
+4415
+6883
+9223
+179
+6966
+10058
+6586
+8862
+7521
+6179
+5721
+1388
+10090
+1854
+2218
+6993
+1124
+3355
+7439
+79
+10090
+1854
+4921
+1013
+2374
+4687
+7089
+10084
+8843
+3053
+4294
+5439
+8066
+1827
+7448
+4625
+7081
+8555
+4813
+8402
+1898
+3826
+6128
+628
+7154
+1995
+1540
+7720
diff --git a/contest/mc/prune.cpp b/contest/mc/prune.cpp
@@ -12,15 +12,15 @@ void prune(vector<int> trajectoires[], vector<int> resultat[]) {
order.push_back(i);
random_shuffle(order.begin(), order.end());
- bool aretes[N_ARETES_MAJ];
- memset(aretes, 0, sizeof(aretes));
+ bitset<N_ARETES_MAJ> aretes;
for (int i=0; i< n_vehicules; i++) {
+ int v = order[i];
int skipped_last = 0;
// push first point
- resultat[order[i]].push_back(trajectoires[order[i]][0]);
- for (int j=0; j< int(trajectoires[order[i]].size() - 1); j++) {
- pair<int, int> p = make_pair(trajectoires[order[i]][j], trajectoires[order[i]][j+1]);
+ resultat[v].push_back(trajectoires[v][0]);
+ for (int j=0; j< int(trajectoires[v].size() - 1); j++) {
+ pair<int, int> p = make_pair(trajectoires[v][j], trajectoires[v][j+1]);
int a = id_arete[p];
if (!a) {
fprintf(stderr, "ERREUR");
@@ -28,12 +28,12 @@ void prune(vector<int> trajectoires[], vector<int> resultat[]) {
}
if (!aretes[a]) {
aretes[a] = 1;
- // j'ai passe une arete utile de j à j+1, donc je dis j+1
- resultat[order[i]].push_back(trajectoires[order[i]][j+1]);
if (skipped_last) {
// je dois dire la précédente aussi
- resultat[order[i]].push_back(trajectoires[order[i]][j]);
+ resultat[v].push_back(trajectoires[v][j]);
}
+ // j'ai passe une arete utile de j à j+1, donc je dis j+1
+ resultat[v].push_back(trajectoires[v][j+1]);
// je n'ai plus rien skip
skipped_last = 0;
} else {
@@ -45,3 +45,9 @@ void prune(vector<int> trajectoires[], vector<int> resultat[]) {
}
}
+void prune_in_place(vector<int> sol[]) {
+ vector<int> tmp[n_vehicules];
+ prune(sol, tmp);
+ for (int v = 0; v < n_vehicules; v++)
+ sol[v] = tmp[v];
+}
diff --git a/contest/mehdi/a.cpp b/contest/mehdi/a.cpp
@@ -0,0 +1,551 @@
+
+#include <csignal>
+#include <bitset>
+#include <numeric>
+#include "../louis/louis.cpp"
+//#include "../mc/lecture.cpp"
+#include "../mc/prune.cpp"
+#include "../louis/ameliore.cpp"
+
+typedef pair<int, vector<int> > pivi;
+typedef unsigned int uint;
+
+// ATTENTION: 3 globales maintenues à jour tout le temps, faites pas de conneries !
+int score = 0;
+int temps[8];
+int passages[N_ARETES_MAJ];
+
+// const int MAX_RM = 7;
+// const int MAX_ADD = 7;
+uint MAX_RM = 4;
+uint MAX_ADD = 4;
+const int MAX_GIT = 20;
+volatile bool interrupted = false;
+
+bool force_affiche_interm = false;
+void intHandler(int sig) {
+ if (interrupted) {
+ fprintf(stderr, "Ok, ok, j'ai compris\n");
+ exit(0);
+ } else if (force_affiche_interm) {
+ fprintf(stderr, "Will terminate soon(ish)... ^C à nouveau pour vraiment quitter (pas de sortie)\n");
+ interrupted = true;
+ } else {
+ fprintf(stderr, "Je vais écrire une solution intermédiaire. ^C à nouveau pour quitter\n");
+ force_affiche_interm = true;
+ }
+}
+
+void affiche_score() {
+ for (int v = 0; v < n_vehicules; v++)
+ fprintf(stderr, "t[%d] = %d\n", v, temps[v]);
+ fprintf(stderr, "score = %d\n", score);
+}
+
+void affiche() {
+ affiche_score();
+ affiche_sortie(_solution);
+}
+
+int nbinterm = 0;
+char interm_filename[255];
+char *interm_basename;
+void affiche_interm() {
+ sprintf(interm_filename, "%s_%05d", interm_basename, nbinterm);
+ affiche_sortie(_solution, interm_filename);
+ affiche_score();
+ fprintf(stderr, "\t\t\t\t\t\t\t\tPRINT %s\n", interm_filename);
+ nbinterm++;
+}
+
+inline void check_interrupt() {
+ if (force_affiche_interm) {
+ affiche_interm();
+ force_affiche_interm = false;
+ }
+
+ if (interrupted) {
+ affiche();
+ exit(0);
+ }
+}
+
+bool ajoute_fin(int v) {
+ int cur = _solution[v].back();
+ for (uint i = 0; i < adj[cur].size(); i++) {
+ int voisin = adj[cur][i];
+ int arete = id_arete[make_pair(cur, voisin)];
+ if (passages[arete])
+ continue;
+ if (temps[v] + cout[arete] > t_autorise)
+ continue;
+ _solution[v].push_back(voisin);
+ temps[v] += cout[arete];
+ if (!passages[arete])
+ score += longueur[arete];
+ passages[arete]++;
+ fprintf(stderr, "%d\t+%d\tAjoute fin %d à vehicule %d (t = %d)\n", score, longueur[arete] * (passages[arete] == 1), voisin, v, temps[v]);
+ return true;
+ }
+ return false;
+}
+
+#ifdef AJOUTEFORCE
+bool ajoute_force(int v) {
+ int cur = _solution[v].back();
+ uint deg = adj[cur].size();
+ bitset<N_DEGRE_MAJ> a;
+ uint remaining = deg;
+ while (remaining) {
+ uint i = rand() % deg;
+ if (a[i])
+ continue;
+ a[i] = true;
+ remaining--;
+
+ int voisin = adj[cur][i];
+ int arete = id_arete[make_pair(cur, voisin)];
+ if (temps[v] + cout[arete] > t_autorise)
+ continue;
+ _solution[v].push_back(voisin);
+ temps[v] += cout[arete];
+ if (!passages[arete])
+ score += longueur[arete];
+ passages[arete]++;
+ fprintf(stderr, "%d\t+%d\tAjoute force fin %d à vehicule %d (t = %d)\n", score, longueur[arete] * (passages[arete] == 1), voisin, v, temps[v]);
+ return true;
+ }
+ return false;
+}
+#else
+bool ajoute_force(int v) { return false; }
+#endif
+
+void mul_pos(int v, uint i, int mul) {
+ // fprintf(stderr, "mul_pos %d %d %d\n", v, i, mul);
+ int arete = id_arete[make_pair(_solution[v][i], _solution[v][i+1])];
+ temps[v] += cout[arete] * mul;
+ if (!passages[arete])
+ score += longueur[arete];
+ passages[arete] += mul;
+ if (!passages[arete])
+ score -= longueur[arete];
+}
+
+pivi cherche_modif(int v, int debut, int fin, int max_add, int score_a_battre) {
+ pivi best;
+ best.first = -1;
+ for (uint i = 0; i < adj[debut].size(); i++) {
+ int voisin = adj[debut][i];
+ if (nb_aretes[voisin][fin] > max_add)
+ continue;
+ // if (!max_add && voisin != fin)
+ // continue;
+ int arete = id_arete[make_pair(debut, voisin)];
+ if (temps[v] + cout[arete] > t_autorise)
+ continue;
+ if (!passages[arete])
+ score += longueur[arete];
+ if (!max_add) {
+ if (score > score_a_battre) {
+ // fprintf(stderr, "%d > %d (%d -> %d)\n", score, score_a_battre, debut, fin);
+ best.first = score;
+ best.second.push_back(fin);
+ }
+ if (!passages[arete])
+ score -= longueur[arete];
+ return best;
+ }
+ passages[arete]++;
+ temps[v] += cout[arete];
+ pivi cur = cherche_modif(v, voisin, fin, max_add - 1, score_a_battre);
+ if (cur.first > best.first) {
+ best = cur;
+ best.second.push_back(voisin);
+ // fprintf(stderr, "add to best %d -> %d\n", debut, voisin);
+ }
+ temps[v] -= cout[arete];
+ passages[arete]--;
+ if (!passages[arete])
+ score -= longueur[arete];
+ }
+ return best;
+}
+
+void debug_car(int v) {
+ fprintf(stderr, "Car %d\tt %d :\n ", v, temps[v]);
+ for (uint i = 0; i < _solution[v].size(); i++)
+ fprintf(stderr, "%d ", _solution[v][i]);
+ fprintf(stderr, "\n");
+}
+
+bool modif(int v) {
+ bool didit = false;
+ for (uint rm = 0; rm <= MAX_RM; rm++) {
+ check_interrupt();
+ for (int pos = int(_solution[v].size()) - rm - 1 ; pos >= 0; pos--) {
+ if (pos + rm + 1 > _solution[v].size())
+ continue;
+ int prev_score = score;
+ for (uint dp = 0; dp < rm; dp++)
+ mul_pos(v, pos + dp, -1);
+ pivi mod = cherche_modif(v, _solution[v][pos], _solution[v][pos+rm], MAX_ADD, prev_score);
+ if (mod.first < 0) {
+ for (uint dp = 0; dp < rm; dp++)
+ mul_pos(v, pos + dp, 1);
+ continue;
+ }
+ // debug_car(v);
+ _solution[v].erase(_solution[v].begin() + pos + 1, _solution[v].begin() + pos + 1 + rm);
+ // debug_car(v);
+ _solution[v].insert(_solution[v].begin() + pos + 1, mod.second.rbegin(), mod.second.rend());
+ // debug_car(v);
+ for (uint j = 0; j < mod.second.size(); j++)
+ mul_pos(v, pos + j, 1);
+ fprintf(stderr, "%d\t+%d\tModif longueur %zu (rm %d) à vehicule %d pos %d\n", score, score - prev_score, mod.second.size(), rm ,v, pos);
+ if (score <= prev_score) {
+ debug_car(v);
+ exit(0);
+ }
+ didit = true;
+ //return true;
+ }
+ }
+ return didit;
+}
+
+#ifdef DEBUG
+void debug_sol() {
+ vector<int> T = evalue_solution(_solution);
+ fprintf(stderr, "Score %d (vs %d)\n", score, T[0]);
+ for (int v = 0; v < n_vehicules; v++) {
+ fprintf(stderr, "Car %d\tt %d (vs %d) :\n ", v, temps[v], T[v+1]);
+ for (uint i = 0; i < _solution[v].size(); i++) {
+ fprintf(stderr, " %d", _solution[v][i]);
+#ifdef DEBUGA
+ if (i < _solution[v].size() - 1) {
+ int arete = id_arete[make_pair(_solution[v][i], _solution[v][i+1])];
+ fprintf(stderr, " [t %d]", cout[arete]);
+ }
+#endif
+ }
+ fprintf(stderr, "\n");
+ }
+ fprintf(stderr, "\n");
+}
+#else
+#define debug_sol()
+#endif
+
+/*
+int order[8] = {0,1,2,3,4,5,6,7};
+
+void prune() {
+ random_shuffle(order, order+n_vehicules);
+ for (int i = 0; i < n_vehicules; i++) {
+ int v = order[i];
+ int skipped_last = 0;
+ vector<int> res(1, _solution[v][0]);
+
+ }
+}*/
+
+void calc_glob() {
+ vector<int> T = evalue_solution(_solution);
+ score = T[0];
+ memset(passages,0,sizeof(passages));
+ for (int v = 0; v < n_vehicules; v++) {
+ temps[v] = T[v+1];
+ for (uint i = 0; i < _solution[v].size() - 1; i++) {
+ int arete = id_arete[make_pair(_solution[v][i], _solution[v][i+1])];
+ passages[arete]++;
+ }
+ }
+}
+
+int temps_total() {
+ return accumulate(temps, temps+n_vehicules, 0);
+}
+
+int order[8] = {0, 1, 2, 3, 4, 5, 6, 7};
+
+bool prune_and_complete() {
+ random_shuffle(order, order+n_vehicules);
+
+ int prev_temps = temps_total();
+ int prev_score = score;
+ memset(passages, 0, sizeof(passages));
+ score = 0;
+ for (int iv = 0; iv < n_vehicules; iv++) {
+ int v = order[iv];
+ temps[v] = 0;
+ bool skipped_last = false;
+ vector<int> res;
+ res.push_back(_solution[v][0]);
+ for (uint i = 0; i < _solution[v].size() - 1; i++) {
+ int a = id_arete[make_pair(_solution[v][i], _solution[v][i+1])];
+ if (!a) {
+ fprintf(stderr, "ERREUR");
+ exit(1);
+ }
+ if (!passages[a]) {
+ if (skipped_last) {
+ while (res.back() != _solution[v][i]) {
+ int n = use[res.back()][_solution[v][i]];
+ int b = id_arete[make_pair(res.back(), n)];
+ if (!passages[b])
+ score += longueur[b];
+ passages[b]++;
+ temps[v] += cout[b];
+ res.push_back(n);
+ }
+ }
+ res.push_back(_solution[v][i+1]);
+ if (!passages[a])
+ score += longueur[a];
+ passages[a]++;
+ temps[v] += cout[a];
+ skipped_last = false;
+ } else {
+ skipped_last = true;
+ }
+ }
+ if (skipped_last) {
+ while (res.back() != _solution[v].back()) {
+ int n = use[res.back()][_solution[v].back()];
+ int b = id_arete[make_pair(res.back(), n)];
+ if (!passages[b])
+ score += longueur[b];
+ passages[b]++;
+ temps[v] += cout[b];
+ res.push_back(n);
+ }
+ }
+ _solution[v] = res;
+ }
+ int dt = prev_temps - temps_total();
+ int ds = score - prev_score;
+ if (dt < 0 || ds < 0) {
+ fprintf(stderr, "Failed to prune correctly, t -= %d\tscore += %d\n", dt, ds);
+ //exit(1);
+ } else if (dt || ds) {
+ fprintf(stderr, "Pruned! t -= %d\tscore += %d\n", dt, ds);
+ return true;
+ }
+ return false;
+}
+
+/*
+ <X> A B <Y> B A <Z> A B <T>
+ ->
+ <X> A <Z> A B <Y> B <T>
+
+ <X> B A <Y> A B <Z> A B <T>
+ ->
+ <X> B <Z> A <Y> A B <T>
+ */
+bool simplif_elarnon(vector<int> sol[], int v) {
+ short posa[2][N_ARETES_MAJ];
+ memset(posa, 0, sizeof(posa));
+
+ for (uint i = 0; i < sol[v].size() - 1; i++) {
+ int a = id_arete[make_pair(sol[v][i], sol[v][i+1])];
+ int sens = sol[v][i] == depart[a];
+ if (posa[sens][a] && posa[!sens][a]) {
+ temps[v] -= 2 * cout[a];
+ passages[a] -= 2;
+ vector<int> res;
+ //fprintf(stderr, "elarnon pos %u/%zu arete %d, deja utilise en %d et %d\n", i, sol[v].size(), a, posa[sens][a]-1, posa[!sens][a]-1);
+ if (posa[sens][a] < posa[!sens][a]) {
+ res.insert(res.end(), sol[v].begin(), sol[v].begin() + posa[sens][a]); // <X> A
+ res.insert(res.end(), sol[v].begin() + posa[!sens][a] + 1, sol[v].begin() + i + 2); // <Z> A B
+ res.insert(res.end(), sol[v].begin() + posa[sens][a] + 1, sol[v].begin() + posa[!sens][a]); // <Y> B
+ res.insert(res.end(), sol[v].begin() + i + 2, sol[v].end()); // <T>
+ } else {
+ res.insert(res.end(), sol[v].begin(), sol[v].begin() + posa[!sens][a]); // <X> B
+ res.insert(res.end(), sol[v].begin() + posa[sens][a] + 1, sol[v].begin() + i + 1); // <Z> A
+ res.insert(res.end(), sol[v].begin() + posa[!sens][a] + 1, sol[v].begin() + posa[sens][a] + 1); // <Y> A B
+ res.insert(res.end(), sol[v].begin() + i + 2, sol[v].end()); // <T>
+ }
+ sol[v] = res;
+ return true;
+ }
+ posa[sens][a] = i+1;
+ }
+ return false;
+}
+
+bool simplif_elarnon() {
+ int prev_temps = temps_total();
+ random_shuffle(order, order+n_vehicules);
+ bool r = false;
+ for (int i = 0; i < n_vehicules; i++) {
+ int v = order[i];
+ r |= simplif_elarnon(_solution, v);
+ }
+ if (r) {
+ int dt = prev_temps - temps_total();
+ fprintf(stderr, "Elarnon in action, t -= %d\n", dt);
+ }
+ return r;
+}
+
+void vraie_etoile(vector<int> sol[]) {
+
+ bool ameliore = true;
+ double d[n_vehicules];
+ fill(d, d+n_vehicules, 0.0);
+ while (ameliore) {
+ ameliore = false;
+ for (int v = 0; v < n_vehicules; v++) {
+ double best = -42.0;
+ int bestVoisin = -1;
+ int bestArete = -1;
+ int cur = sol[v].back();
+ for (uint i = 0; i < adj[cur].size(); i++) {
+ int voisin = adj[cur][i];
+ int a = id_arete[make_pair(cur, voisin)];
+ if (temps[v] + cout[a] > t_autorise)
+ continue;
+ double mi = 19840000.0;
+ for (int w = 0; w < n_vehicules; w++)
+ if (v != w) {
+#ifdef JUSTHEAD
+ int wcur = sol[w].back();
+#else
+ for (uint j = 0; j < sol[w].size(); j++) {
+ int wcur = sol[w][j];
+#endif
+ mi = min(mi, hypot(longitude[voisin] - longitude[wcur],
+ latitude[voisin] - latitude[wcur]));
+#ifndef JUSTHEAD
+ }
+#endif
+ }
+#ifdef LONDONISBAD
+ mi = min(mi, hypot(longitude[voisin] - longitude[s_depart],
+ latitude[voisin] - latitude[s_depart]));
+#endif
+ if (mi > best) {
+ best = mi;
+ bestVoisin = voisin;
+ bestArete = a;
+ }
+ }
+ if (bestVoisin < 0)
+ continue;
+ //fprintf(stderr, "Etoile v %d, go to %d, dist %lf\n", v, bestVoisin, best);
+ if (best > d[v]) {
+ ameliore = true;
+ d[v] = best;
+ }
+#ifdef BRUTETOILE
+ d[v] = best;
+#endif
+ sol[v].push_back(bestVoisin);
+ temps[v] += cout[bestArete];
+ if (!passages[bestArete])
+ score += longueur[bestArete];
+ passages[bestArete]++;
+ }
+ }
+}
+
+void positions_choisies() {
+ _solution[0].push_back(plus_proche(48.848451,2.263328));
+ _solution[1].push_back(plus_proche(48.836136,2.289421));
+ _solution[2].push_back(plus_proche(48.825401,2.334568));
+ _solution[3].push_back(plus_proche(48.830939,2.377998));
+ _solution[4].push_back(plus_proche(48.862004,2.407696));
+ _solution[5].push_back(plus_proche(48.88673,2.394306));
+ _solution[6].push_back(plus_proche(48.897791,2.357399));
+ _solution[7].push_back(plus_proche(48.886053,2.288048));
+}
+
+
+bool try_ameliore_louis() {
+ int prev_score = score;
+ ameliore_louis(_solution);
+ calc_glob();
+ if (score > prev_score) {
+
+ fprintf(stderr, "Merci Louis ! (score += %d)\n", score - prev_score);
+ return true;
+ }
+ if (prev_score > score) {
+ fprintf(stderr, "Louis, tu fais de la merde (score -= %d)\n", prev_score - score);
+ exit(1);
+ }
+ fprintf(stderr, "Louis, inutile !\n");
+ return false;
+}
+
+int main(int argc, char *argv[]) {
+ /*
+ Usage: a.out [INTERM_BASENAME [INIT_SOLUTION]]
+ INTERM_BASENAME: nom de base pour écrire les solutions intermédiaires
+ INIT_SOLUTION: nom du fichier de la solution initiale
+ */
+
+ signal(SIGINT, intHandler);
+
+ srand(1337);
+ lecture_entree();
+ init_use();
+ init_nb_aretes();
+
+ if (argc > 2)
+ lire_solution(argv[2], _solution);
+ else {
+ init_solution(_solution);
+ // vraie_etoile(_solution);
+#ifdef CHOIZ
+ positions_choisies();
+ complete_all(_solution);
+#endif
+ }
+
+ calc_glob();
+
+ debug_sol();
+ prune_and_complete();
+ debug_sol();
+
+ bool ameliore = true;
+ bitset<8> prev_amel, amel;
+
+ fprintf(stderr, "C'est parti...\n");
+
+ if (argc > 1)
+ interm_basename = argv[1];
+
+ int it = 0;
+ for (int git = 0; git < MAX_GIT; git++) {
+ ameliore = 1;
+ for (; ameliore; it++) {
+ debug_sol();
+
+ ameliore = 0;
+ prev_amel = amel;
+ for (int v = 0; v < n_vehicules; v++)
+ ameliore |= amel[v] = ajoute_fin(v) || (!prev_amel[v] && ajoute_force(v));
+
+ check_interrupt();
+
+ debug_sol();
+ for (int v = 0; v < n_vehicules; v++)
+ ameliore |= amel[v] = amel[v] || modif(v);
+
+ ameliore |= prune_and_complete();
+ ameliore |= simplif_elarnon();
+
+ check_interrupt();
+ // if (!ameliore)
+ // ameliore = try_ameliore_louis();
+ }
+ MAX_ADD++;
+ MAX_RM+=2;
+ }
+
+ affiche();
+}
diff --git a/contest/mehdi/eu.cpp b/contest/mehdi/eu.cpp
@@ -0,0 +1,142 @@
+
+#include "../louis/louis.cpp"
+#include "../mc/prune.cpp"
+
+int vu[N_ARETES_MAJ];
+vector<int> tps;
+
+vector<int> cycleAmeliorant(int v, int cur, int dest, int delta, bool first) {
+ // fprintf(stderr, "ca %d %d %d\n", v, cur, dest);
+ if (delta < 0)
+ return vector<int>();
+ if (!first && cur == dest)
+ return vector<int>(1, dest);
+ int bestArete = -1;
+ int bestVoisin = -1;
+ double best = -1;
+ for (int i = 0; i < int(adj[cur].size()); i++) {
+ int voisin = adj[cur][i];
+ int arete = id_arete[make_pair(cur, voisin)];
+ if (tps[v+1]+cout[arete]>t_autorise)
+ continue;
+ double c = double(longueur[arete]) / cout[arete];
+ if (vu[arete])
+ c /= 2;
+ if (c > best) {
+ bestArete = arete;
+ bestVoisin = voisin;
+ best = c;
+ }
+ }
+ if (bestArete >= 0) {
+ if (vu[bestArete])
+ delta -= cout[bestArete];
+ else
+ tps[0] += longueur[bestArete];
+ vu[bestArete]++;
+ tps[v+1] += cout[bestArete];
+ vector<int> res = cycleAmeliorant(v, bestVoisin, dest, delta, false);
+ if (!res.empty()) {
+ res.push_back(bestVoisin);
+ return res;
+ }
+ if (!--vu[bestArete])
+ tps[0] -= longueur[bestArete];
+ tps[v+1] -= cout[bestArete];
+ }
+ // return vector<int>(1, dest);
+ return vector<int>();
+}
+
+bool chercheCycleAmeliorant(vector<int> sol[], int v, int i, int delta) {
+
+ //fprintf(stderr, "Cherche un cycle améliorant pour voiture %d, position %d\n", v, i);
+
+ int score = tps[0];
+
+ vector<int> ca = cycleAmeliorant(v, sol[v][i], sol[v][i], delta, true);
+
+ if (ca.empty())
+ return false;
+
+ /* if (score <= tps[0])
+ return false;*/
+
+ if (score == tps[0])
+ return false;
+
+ fprintf(stderr, "Trouvé cycle améliorant pour voiture %d, position %d (%d), longueur %d\n", v, i, sol[v][i], int(ca.size()));
+
+ sol[v].insert(sol[v].begin()+i-1, ca.rbegin(), ca.rend());
+
+ sol[v] = complete(sol[v]);
+
+ return true;
+}
+
+void euler(vector<int> sol[]) {
+
+ tps = evalue_solution(sol);
+
+ for (int v = 0; v < n_vehicules; v++) {
+ for (int i = 0; i < int(sol[v].size() - 1); i++) {
+ vu[id_arete[make_pair(sol[v][i], sol[v][i+1])]]++;
+ }
+ }
+
+ for (int v = 0; v < n_vehicules; v++) {
+ while (1) {
+ int cur = sol[v].back();
+ int bestArete = -1;
+ int bestVoisin = -1;
+ double best = -1;
+ // sel voisin
+ for (int i = 0; i < int(adj[cur].size()); i++) {
+ int voisin = adj[cur][i];
+ int arete = id_arete[make_pair(cur, voisin)];
+ if (vu[arete])
+ continue;
+ if (tps[v+1] + cout[arete] > t_autorise)
+ continue;
+ double c = double(longueur[arete]) / cout[arete];
+ if (c > best) {
+ bestArete = arete;
+ bestVoisin = voisin;
+ best = c;
+ }
+ }
+ if (bestArete < 0)
+ break;
+ fprintf(stderr, "La voiture %d continue vers %d\n", v, bestVoisin);
+ sol[v].push_back(bestVoisin);
+ vu[bestArete]++;
+ tps[v+1] += cout[bestArete];
+ tps[0] += longueur[bestArete];
+ }
+ int delta = 0;
+ while (delta < 424242) {
+ fprintf(stderr, "Delta %d, score %d\n", delta, tps[0]);
+ int i = sol[v].size() - 1;
+ for (; i >= 0; i--) {
+ if (chercheCycleAmeliorant(sol, v, i, delta))
+ break;
+ }
+ if (i < 0) {
+ delta = delta*2+1;
+ continue;
+ }
+ }
+ }
+
+}
+
+int main() {
+ lecture_entree();
+ init_use();
+ init_solution(_solution);
+ goto_etoile2(_solution);
+ for (int i = 0; i< n_vehicules;i++)
+ _solution[i] = complete(_solution[i]);
+ euler(_solution);
+ affiche_sortie(_solution);
+}
diff --git a/contest/mehdi/man.cpp b/contest/mehdi/man.cpp
@@ -0,0 +1,26 @@
+
+#include "../louis/louis.cpp"
+#include "../mc/prune.cpp"
+
+int vu[N_ARETES_MAJ];
+
+int main() {
+ lecture_entree();
+ init_use();
+ init_solution(_solution);
+ // goto_etoile2(_solution);
+ vector<int> sol2[8];
+ for (int i = 0; i < n_sommets; i++) {
+ _solution[i%8].push_back(i);
+ }
+ complete_all(_solution);
+ prune(_solution, sol2);
+ complete_all(sol2);
+ tronque_solution(sol2, t_autorise);
+
+ vector<int> t = evalue_solution(sol2);
+ for (int v = 0; v < n_vehicules; v++)
+ fprintf(stderr, "t[%d] = %d\n", v, t[v+1]);
+
+ affiche_sortie(sol2);
+}
diff --git a/contest/mehdi/spirale.cpp b/contest/mehdi/spirale.cpp
@@ -0,0 +1,31 @@
+
+#include "../louis/louis.cpp"
+#include "../mc/prune.cpp"
+
+int main() {
+ lecture_entree();
+ init_use();
+ init_solution(_solution);
+ const int D = 300;
+ vector<int> sol2[8];
+ for (int v = 0; v< n_vehicules;v++) {
+ for (int i = 0; i < D; i++) {
+ if (i % 100 == 0)
+ fprintf(stderr, "%d %d\n", v, i);
+ double a = 2*(3*i+i%3)*M_PI/(double)(3*D);
+ double x = (((double)(v+4)*10+i%10)/120) * .5 * (1+cos(a));
+ double y = (((double)(v+4)*10+i%10)/120) * .5 * (1+sin(a));
+ _solution[v].push_back(plus_proche_norm(x, y));
+ }
+ _solution[v] = complete(_solution[v]);
+ }
+ prune(_solution, sol2);
+ complete_all(sol2);
+ tronque_solution(sol2, t_autorise);
+
+ vector<int> t = evalue_solution(sol2);
+ for (int v = 0; v < n_vehicules; v++)
+ fprintf(stderr, "t[%d] = %d\n", v, t[v+1]);
+
+ affiche_sortie(sol2);
+}
diff --git a/contest/mehdi/td.cpp b/contest/mehdi/td.cpp
@@ -0,0 +1,24 @@
+
+#include "../louis/louis.cpp"
+#include "../mc/prune.cpp"
+
+int vu[N_ARETES_MAJ];
+
+int main() {
+ lecture_entree();
+ init_use();
+ init_solution(_solution);
+ goto_etoile2(_solution);
+ const int D = 10000;
+ for (int i = 0; i < D; i++) {
+ for (int v = 0; v< n_vehicules;v++) {
+
+ }
+ }
+ }
+ prune(_solution, sol2);
+ complete_all(sol2);
+ tronque_solution(sol2, t_autorise);
+
+ affiche_sortie(sol2);
+}