4
16
18
15
17
17
12
15
15
14
20
20
20
11
14
9
16
8
14
19
16
13
9
14
10
10
12
9
7
9
10
12
8
10
5
7
7
8
12
7
11
8
7
7
4
3
5
1
3
3
7
0
3
4
1
3
10
1
2
5
5
3
3
4
6
2
4
2
3
7
4
5
3
6
5
3
7
6
2
6
9
6
7
6
4
3
3
3
3
6
4
3
5
11
2
6
3
4
3
7
7
4
4
6
5
4
8
4
1
4
5
6
2
5
3
10
5
3
3
5
3
2
7
3
3
0
3
3
3
4
3
3
2
4
0
2
0
5
3
2
5
2
7
6
3
4
7
2
4
2
3
3
5
4
4
3
4
0
3
1
2
7
3
8
3
3
3
4
3
2
3
3
4
6
3
4
6
5
4
4
4
6
9
4
4
4
8
6
1
1
3
7
7
4
4
4
8
7
3
10
6
7
2
7
4
4
5
2
2
5
7
6
9
6
10
4
4
4
5
8
3
9
9
13
6
10
3
5
6
6
1
7
5
5
8
9
9
6
6
8
6
4
10
6
5
5
6
7
4
9
5
5
4
13
5
5
3
3
6
3
11
9
8
7
4
11
9
7
14
10
7
7
1
9
9
5
12
7
7
7
9
7
4
6
14
6
12
6
12
4
8
4
9
5
3
13
10
14
11
11
11
13
6
8
7
11
8
9
11
8
7
6
9
11
9
15
12
7
11
8
15
6
8
7
4
10
14
9
4
10
8
13
6
10
5
10
7
7
14
6
8
1
9
20
9
14
8
14
6
10
14
5
13
9
9
8
6
4
12
8
8
7
8
9
11
11
8
13
9
6
8
11
11
9
10
14
10
14
11
6
7
13
8
10
11
11
14
7
4
8
10
8
12
9
3
7
10
11
12
6
8
9
8
4
6
13
8
11
9
8
8
10
9
6
7
6
12
6
7
7
9
7
10
5
11
6
11
3
10
8
6
6
11
6
4
8
4
8
12
11
9
6
4
6
4
8
9
6
4
5
6
3
11
12
3
9
9
3
4
5
7
3
5
4
8
8
9
5
7
6
7
5
5
5
7
3
8
5
7
4
3
7
4
9
9
6
7
5
8
5
7
1
8
7
5
5
3
10
5
7
2
6
9
5
5
9
6
8
10
8
5
7
3
4
5
3
7
8
13
9
4
8
6
7
6
2
9
12
3
4
6
5
4
6
4
3
5
2
3
4
6
4
5
6
6
2
11
2
6
7
6
6
6
6
5
4
3
0
2
3
10
3
4
5
3
3
1
3
2
6
7
7
2
3
12
6
3
4
6
6
3
10
9
4
9
3
3
4
5
2
8
2
6
4
7
3
6
4
5
8
4
2
6
7
9
7
7
7
6
4
4
4
1
5
5
8
3
8
9
12
4
6
6
7
10
4
11
5
3
5
8
4
5
10
4
8
3
5
7
3
8
4
6
4
9
4
6
10
9
5
4
5
6
5
7
9
6
3
5
6
8
6
10
5
7
9
9
4
5
4
4
6
8
3
3
10
9
5
5
8
2
7
2
8
11
8
6
13
11
7
7
16
11
10
7
10
14
14
8
10
8
17
12
10
11
10
15
7
9
5
8
9
12
4
14
18
14
15
13
13
16
12
10
17
21
17
17
14
15
20
19
13
17
22
18
17
15
23
14
23
13
25
15
22
20
18
18
29
23
26
28
22
20
22
19
17
31
20
24
31
25
21
36
25
26
30
30
22
34
33
35
33
29
29
31
38
40
44
35
35
34
37
50
49
38
38
47
45
50
37
53
49
47
64
51
58
34
55
62
52
47
57
61
50
60
59
58
63
66
48
53
64
64
61
49
55
74
70
71
61
71
77
80
65
60
78
65
70
73
73
83
62
78
86
104
84
67
91
95
73
79
84
83
96
80
80
110
86
77
101
91
75
106
88
92
102
102
103
98
83
85
83
101
95
99
95
99
88
109
82
79
72
95
101
95
82
87
91
86
91
75
79
85
80
78
95
83
65
77
84
92
76
64
85
68
74
73
75
57
61
64
56
52
58
65
63
68
41
38
61
39
45
42
37
36
38
48
27
32
32
36
29
33
22
33
32
32
29
24
34
26
23
24
30
27
23
18
23
21
25
20
33
17
22
17
35
25
19
19
24
22
24
25
13
23
17
21
20
21
18
18
12
21
19
16
16
16
12
19
23
24
14
13
17
13
15
16
14
20
12
14
18
17
15
12
14
11
19
20
26
22
17
18
16
23
17
15
13
14
19
16
20
18
16
19
16
19
14
16
18
20
14
16
10
14
18
21
17
15
22
10
16
13
13
18
19
7
20
23
18
21
18
21
14
18
16
19
15
13
13
21
13
24
21
18
31
26
14
18
26
27
24
18
20
18
17
17
27
23
20
16
17
20
26
18
23
27
27
20
22
17
32
24
20
17
28
27
32
24
23
20
28
31
35
21
16
29
31
30
26
36
24
39
28
23
26
26
35
30
24
23
33
34
29
36
21
25
40
25
50
34
28
39
38
43
43
35
46
40
34
40
36
53
50
39
46
55
48
51
54
47
46
61
53
51
59
65
58
57
57
65
68
97
82
82
87
68
80
83
102
93
102
96
91
98
110
115
130
106
122
115
129
107
133
133
125
118
141
128
134
133
121
135
146
145
168
149
157
155
167
161
127
138
158
153
154
170
164
193
151
158
162
169
141
160
148
152
146
160
151
150
143
142
110
146
135
120
124
104
115
113
103
117
108
109
103
108
95
91
102
91
92
68
84
74
78
61
77
65
84
65
71
61
56
62
57
62
67
51
68
61
56
47
60
58
51
55
47
51
46
51
49
72
54
48
45
54
48
37
59
51
52
36
63
68
50
54
54
52
63
52
47
48
53
59
56
64
44
56
39
54
47
58
61
61
57
60
44
53
78
61
64
60
82
63
68
61
58
56
54
64
71
65
66
76
62
92
57
71
86
78
94
87
74
75
103
98
66
96
95
121
101
97
106
112
105
113
111
112
124
126
133
115
124
153
122
131
129
139
163
135
146
158
131
150
153
126
144
168
150
163
158
163
177
165
164
160
136
178
179
181
170
178
176
172
159
183
182
194
191
185
162
179
171
184
177
195
157
204
174
193
192
200
165
178
227
192
196
174
159
196
173
172
197
184
183
219
187
192
209
223
206
246
213
244
253
235
243
290
273
302
300
322
332
302
331
338
352
372
392
386
446
417
393
443
449
464
465
507
459
503
471
543
540
581
539
552
530
571
569
510
571
599
585
600
608
594
594
624
601
612
588
624
603
608
678
582
657
599
590
629
565
594
615
562
535
555
522
496
504
456
481
459
473
448
388
380
338
356
343
297
298
255
242
228
233
192
203
181
166
172
155
135
131
115
104
83
67
77
62
47
46
33
49
32
46
31
26
22
17
18
9
11
11
8
12
5
8
4
4
5
6
7
4
6
2
4
4
3
4
2
2
3
1
3
0
5
2
2
2
2
6
2
0
2
3
3
2
3
4
3
3
4
3
2
1
1
7
3
5
6
5
1
4
3
2
5
0
5
4
1
6
5
2
1
2
1
4
1
5
3
2
1
1
2
0
4
2
2
6
5
4
2
5
3
2
5
6
3
4
6
3
1
5
5
1
4
8
6
2
3
4
6
7
4
5
3
3
4
1
5
4
10
2
8
5
6
9
1
10
4
3
5
7
4
2
5
2
5
6
5
5
3
5
5
5
4
4
5
8
2
7
5
4
6
5
6
4
6
6
6
6
10
5
9
8
8
9
1
6
4
11
13
8
11
5
7
8
2
7
10
6
11
12
9
9
5
6
5
5
8
18
7
15
11
14
17
9
11
6
9
6
10
13
9
11
8
7
16
9
8
9
11
11
15
12
15
9
9
10
16
11
11
13
22
6
10
12
8
11
10
13
13
13
13
15
7
12
14
12
11
18
7
22
15
16
13
24
16
17
17
12
13
16
24
18
20
19
18
12
16
18
17
20
16
17
18
17
26
18
12
23
12
30
25
26
19
22
23
28
24
21
17
22
21
26
24
22
16
24
26
21
20
12
30
20
23
22
21
39
23
19
29
35
27
24
30
21
30
37
30
30
34
29
34
29
28
27
32
38
34
32
35
34
28
29
41
38
39
32
39
41
43
41
35
26
40
32
32
41
37
36
33
47
39
29
39
32
32
38
37
46
59
53
35
43
45
36
33
51
35
47
41
44
43
40
53
49
57
51
39
55
54
47
40
50
53
47
49
43
52
41
42
44
43
50
55
50
48
53
54
55
45
40
51
67
47
48
48
56
55
59
57
50
66
59
67
75
58
56
71
56
81
70
57
61
64
66
54
73
50
70
64
58
52
58
76
64
56
59
84
73
66
69
72
52
73
65
81
66
63
67
69
70
66
72
59
63
63
64
61
75
52
62
62
67
64
60
69
58
56
62
59
55
62
60
74
55
62
62
57
65
57
68
61
72
63
52
63
63
62
58
59
62
60
60
68
61
42
64
58
68
46
50
58
44
69
57
60
56
50
57
61
48
70
62
57
56
57
60
50
56
57
52
52
63
58
56
46
56
60
49
46
59
50
55
49
55
65
52
52
61
49
60
67
78
62
48
53
45
42
53
61
48
63
36
35
45
55
49
50
46
52
41
51
57
44
58
62
56
46
47
44
48
40
54
49
53
50
47
44
49
50
51
44
57
54
47
45
63
47
36
52
63
50
40
49
48
54
33
52
62
50
42
45
55
60
60
52
51
58
46
60
64
57
53
70
68
47
70
66
57
75
55
60
51
62
70
56
59
66
52
79
66
65
64
63
57
74
54
67
67
83
72
79
74
61
67
68
79
74
72
72
93
95
78
85
85
97
82
104
81
96
108
92
102
93
86
119
91
99
105
80
93
114
127
133
113
111
106
90
121
142
93
120
123
136
123
133
126
138
138
147
139
129
160
142
129
153
162
149
145
151
164
187
174
173
165
160
178
200
205
158
171
224
194
208
203
194
200
229
250
219
223
214
215
224
229
224
261
286
229
225
217
237
276
257
245
273
246
286
287
283
278
276
268
254
270
283
289
291
299
271
309
293
319
307
305
306
296
328
311
298
318
321
331
297
346
351
341
316
311
354
346
328
360
379
354
368
383
373
373
342
353
332
349
374
354
402
334
335
335
364
323
318
329
356
327
283
345
331
319
343
323
336
322
337
337
299
317
324
331
335
295
328
290
306
301
321
299
304
299
316
314
308
275
320
301
307
326
288
295
323
316
297
292
318
307
342
302
305
331
325
297
314
313
319
325
338
303
333
345
330
322
322
367
339
335
350
361
357
342
378
400
385
390
379
406
390
425
417
405
443
477
422
417
437
424
509
458
496
479
497
474
485
510
478
477
514
492
545
520
572
518
558
578
578
553
610
608
580
626
611
614
643
615
600
610
661
665
704
655
662
657
727
668
711
734
682
718
687
730
709
745
726
731
756
714
753
744
744
763
776
790
773
805
803
742
766
741
752
800
835
802
768
797
762
764
794
813
739
696
791
796
772
786
777
779
767
756
807
772
770
779
814
809
804
803
816
843
795
818
849
857
834
822
865
896
836
907
897
839
916
875
970
942
865
924
917
931
1003
934
1055
951
1001
1009
1061
1033
1051
1073
1073
1072
1074
1136
1101
1130
1129
1190
1233
1153
1204
1193
1246
1259
1290
1255
1253
1405
1274
1286
1306
1412
1395
1330
1374
1383
1416
1467
1367
1365
1468
1423
1448
1531
1414
1427
1453
1461
1442
1523
1494
1499
1459
1475
1521
1528
1601
1531
1560
1529
1487
1616
1616
1616
1583
1717
1621
1618
1609
1695
1716
1621
1675
1768
1783
1803
1752
1812
1853
1764
1923
1827
1943
1849
1997
2003
1991
1980
1950
2054
2008
2016
2126
2071
2044
2142
2139
2286
2272
2204
2210
2248
2283
2282
2269
2340
2446
2314
2360
2358
2552
2485
2619
2455
2558
2651
2602
2741
2684
2750
2684
2795
2707
2791
2879
2936
2879
2892
2910
3028
3029
3131
3202
3100
3164
3227
3252
3315
3408
3415
3395
3367
3580
3516
3601
3706
3632
3759
3826
3751
3849
3960
3815
3949
4074
4014
4238
4188
4173
4283
4338
4322
4425
4556
4572
4664
4687
4727
4904
4990
5105
5041
5191
5190
5141
5271
5409
5654
5525
5820
5805
5670
5885
5833
6015
6198
6351
6348
6250
6644
6702
6566
6783
6738
7094
7221
7221
7633
7439
7784
7737
7925
8282
8188
8235
8242
8620
8759
8862
9055
9082
9369
9490
9653
9829
9960
10098
10261
10604
10935
10826
11161
11286
11517
11555
12050
11997
12219
12328
12943
12890
12790
13164
13587
13740
14279
14263
14147
14490
14669
15088
15399
15438
15834
15808
16182
16429
16683
16954
17068
17509
17686
18271
18384
18323
18898
19261
19890
19981
20167
20718
21077
21402
21878
21975
22379
23111
23549
23832
24502
25150
25724
26067
26782
27659
28419
29433
29583
29849
31090
32311
33428
34410
35229
36132
37952
39533
40519
41891
43143
45741
47548
49304
51360
53303
55756
58404
60274
62551
64377
67532
70539
73593
76564
78219
80755
84376
86879
88367
92310
95150
96827
98889
100986
103624
105278
107323
109502
110548
111304
114131
115827
116423
117242
118955
120097
120852
120795
123752
124598
124250
125095
126392
128128
128488
129662
130289
131285
132527
132466
132339
133343
133086
134382
134452
133170
131238
130581
129036
126917
124175
122017
118177
114710
112854
108615
104374
99798
95979
91023
86749
82619
78271
73628
68826
64476
60469
56172
51835
48180
44623
41335
38086
34953
31383
28488
26479
23838
21241
19046
16744
15289
13417
11837
10234
8899
7692
6644
5772
4855
3952
3506
2849
2361
1975
1650
1378
1095
946
783
622
490
424
390
342
322
311
278
245
248
247
259
256
281
288
292
288
304
308
355
321
343
391
349
420
403
399
441
439
444
460
467
472
495
485
500
561
557
580
537
614
607
657
615
728
681
714
718
758
746
779
821
836
910
845
924
912
897
1002
1001
894
1000
1009
991
982
1029
1071
985
974
967
922
1050
959
957
852
901
899
827
798
734
712
656
624
621
594
522
466
467
442
397
371
326
299
274
236
242
197
180
139
121
117
85
68
67
56
59
45
27
40
32
12
16
15
11
5
2
8
2
8
4
6
6
8
8
5
5
3
10
6
3
4
2
7
4
5
8
4
1
2
2
2
1
3
2
0
2
0
1
0
0
1
2
1
0
1
1
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
1
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
2
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
2
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
3
0
0
0
0
0
2
1
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
1
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
2
2
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
2
0
0
1
2
0
0
0
1
0
0
1
1
0
1
0
1
0
0
0
2
0
0
0
0
1
0
0
1
1
2
2
0
1
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
1
2
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
1
1
2
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
2
0
0
0
0
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
1
0
0
0
1
0
0
0
0
2
0
0
0
0
1
0
0
3
0
0
1
0
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
2
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
0
0
0
2
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
2
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
1
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
2
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
1
1
1
0
1
0
0
1
0
0
0
2
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
2
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
0
0
2
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
2
0
0
0
0
0
1
0
0
0
2
0
1
0
2
0
1
0
0
1
1
1
1
3
0
2
1
0
1
4
0
1
2
0
0
2
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
1
0
0
1
0
0
2
0
0
0
1
0
2
1
1
0
1
0
0
0
1
1
0
1
1
1
0
0
0
0
1
0
2
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
0
1
1
1
0
0
0
0
0
1
0
0
0
0
2
0
2
0
0
0
1
0
2
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
2
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
4
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
0
0
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
1
1
0
0
1
0
1
3
1
1
0
0
0
0
2
0
1
0
1
0
1
0
0
0
0
0
2
0
2
0
0
0
1
1
1
1
1
0
1
2
0
0
0
0
0
2
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
2
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
3
0
0
0
1
3
0
2
0
2
0
0
0
0
0
1
0
0
0
1
2
2
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
4
0
1
0
0
0
2
0
2
1
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
2
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
1
0
0
1
1
0
1
0
1
0
0
1
0
0
2
1
0
1
0
1
0
1
1
1
1
1
1
0
0
1
0
0
1
0
1
2
0
1
2
0
1
0
2
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
0
1
1
1
0
2
0
0
1
0
1
0
3
0
0
0
0
0
1
0
0
1
0
1
1
1
0
2
1
3
1
1
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
0
3
2
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
2
0
2
0
1
0
3
0
2
2
0
0
1
1
0
0
0
1
2
1
2
1
2
1
1
0
2
0
0
1
0
0
0
1
0
0
0
0
0
1
2
1
0
1
0
0
1
0
2
1
2
1
1
0
0
1
3
0
0
0
1
0
2
1
0
1
1
0
2
2
0
1
1
0
0
0
0
2
1
1
0
2
1
0
0
1
1
1
0
0
1
1
1
4
1
0
0
0
1
0
1
0
0
0
2
0
1
1
0
0
1
0
0
1
1
2
1
3
1
0
1
0
2
1
1
2
1
0
0
1
2
0
2
1
0
0
1
3
1
1
0
2
0
0
1
1
1
0
0
1
3
1
1
2
0
0
0
1
0
0
2
2
0
0
0
0
3
0
0
0
1
0
0
0
0
0
2
1
0
0
1
1
0
4
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
2
1
0
1
0
0
0
1
3
0
0
0
1
0
0
0
1
0
0
0
0
2
1
0
0
1
2
1
2
1
0
1
2
1
2
0
0
0
0
1
0
0
1
2
1
0
0
0
1
0
0
0
0
0
1
0
0
0
2
1
1
1
0
1
0
1
1
2
1
0
1
0
1
2
0
1
1
1
0
0
1
1
2
1
2
0
0
1
1
0
0
1
0
0
1
2
3
0
1
0
0
0
0
3
2
0
0
1
0
0
3
0
0
1
0
0
0
1
1
0
0
0
0
2
0
2
0
1
2
0
0
0
0
1
2
0
0
1
1
0
0
1
0
1
1
0
2
1
0
0
1
0
0
0
1
0
1
0
0
1
1
0
1
0
0
2
0
0
3
0
0
2
0
2
0
0
2
0
1
0
1
0
1
2
1
1
1
0
1
1
2
0
1
0
2
0
0
0
0
2
1
2
1
0
2
1
0
0
0
2
0
1
0
0
0
0
1
0
1
0
2
0
0
2
0
1
0
0
0
0
0
0
1
1
0
2
0
1
0
2
0
1
3
2
1
1
0
0
1
0
2
2
1
0
1
1
0
0
1
0
1
0
1
1
0
0
1
1
0
1
3
1
1
0
0
1
0
1
0
1
1
0
0
1
1
1
2
1
0
1
0
3
3
0
0
0
1
3
0
0
1
2
1
1
2
0
3
2
1
1
0
3
0
1
2
2
1
0
0
2
0
1
1
2
1
1
2
2
3
1
2
4
5
2
1
2
1
2
1
0
1
2
1
0
4
1
5
2
4
2
3
6
2
4
2
1
3
5
2
3
4
3
4
1
3
2
6
3
4
1
3
1
4
6
3
5
5
3
3
5
4
2
4
2
3
4
5
2
4
3
6
3
6
3
3
9
3
4
3
6
5
3
3
3
2
2
4
2
2
2
2
3
2
5
1
2
1
3
0
5
0
3
1
1
0
1
1
0
0
2
1
1
0
2
1
2
0
2
0
0
1
2
2
0
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
2
0
0
0
1
1
2
1
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
1
0
0
0
2
0
1
1
0
2
2
0
1
5
1
1
3
0
2
1
1
1
1
0
2
2
0
0
0
0
2
3
2
0
1
2
2
1
3
1
2
1
0
0
1
3
1
0
1
0
0
1
2
0
2
1
0
1
1
0
2
2
2
3
1
1
1
0
2
1
0
0
1
0
1
2
3
0
1
0
2
1
4
0
0
0
0
1
1
1
2
1
1
1
3
0
0
3
3
1
1
3
2
1
0
1
1
1
2
1
5
2
0
1
2
0
0
1
1
0
1
0
0
1
0
3
0
1
1
1
0
3
2
1
0
2
2
2
0
0
1
2
2
2
2
1
1
4
1
2
1
1
3
2
1
4
1
2
5
2
2
2
1
4
3
3
0
2
4
3
4
2
3
2
2
1
0
3
5
1
2
2
2
1
1
3
2
3
4
5
5
3
1
2
4
2
3
2
1
1
2
4
3
0
1
3
4
3
1
4
3
2
3
3
4
3
4
2
2
2
5
2
1
2
2
5
2
1
2
3
2
1
3
2
3
5
5
0
5
3
7
3
3
1
2
1
1
2
6
3
3
1
5
1
2
1
0
1
1
3
1
4
4
0
0
2
2
1
1
1
1
5
1
5
0
4
2
1
4
1
3
2
0
4
3
4
3
0
4
0
2
3
3
2
2
0
2
2
4
4
5
4
2
2
3
0
0
4
1
2
4
4
2
4
1
2
4
0
3
4
2
0
2
4
3
3
1
2
2
2
5
3
2
3
3
2
6
4
5
2
0
0
3
2
4
1
0
2
1
3
5
0
1
4
3
2
0
0
2
1
1
2
3
1
3
2
2
1
2
2
3
0
1
3
0
1
1
1
0
4
1
1
0
2
0
2
3
4
1
4
3
0
2
3
2
1
2
6
1
0
2
2
0
1
2
3
3
0
0
1
0
1
1
1
5
1
1
1
1
0
1
1
4
1
1
4
6
0
1
0
4
2
1
1
1
4
3
1
1
1
1
0
0
2
1
1
2
1
1
2
1
2
1
2
3
2
2
2
2
1
2
5
0
4
1
1
2
3
1
3
2
4
3
1
0
2
2
3
0
3
1
3
2
0
4
2
2
0
1
1
2
4
1
5
2
0
2
4
2
1
3
1
3
2
2
2
0
1
0
2
1
2
1
0
0
0
1
1
2
1
1
0
4
2
3
3
1
2
1
2
3
2
2
0
2
0
0
0
2
0
1
3
0
1
0
1
1
1
5
0
0
1
1
2
2
0
1
2
1
0
1
0
0
2
2
3
1
1
1
2
0
0
2
2
2
1
1
2
2
0
3
1
2
3
0
5
2
3
3
1
3
1
2
2
0
3
3
1
2
0
6
5
0
2
2
2
4
4
4
2
5
2
1
1
2
0
3
0
2
4
1
3
5
2
1
3
5
0
5
3
2
0
2
5
3
3
1
1
3
4
7
3
0
3
1
4
2
2
2
6
1
5
3
6
2
4
2
3
4
3
3
3
5
3
5
4
0
0
1
6
6
5
4
3
4
5
2
5
5
2
4
8
1
3
4
4
3
3
5
5
3
5
7
1
6
5
8
8
2
8
4
5
8
6
6
7
3
4
4
5
8
7
10
7
6
4
3
7
7
6
6
5
10
3
9
6
6
9
5
10
6
4
8
10
9
9
14
5
12
13
8
12
18
15
12
19
12
20
17
19
14
11
18
17
26
19
18
12
17
15
19
17
26
19
21
26
14
26
17
25
15
21
16
28
20
29
19
23
24
21
24
26
25
19
29
31
32
26
26
27
25
32
26
21
21
24
33
19
25
22
27
27
20
21
31
21
17
21
26
19
23
21
12
16
17
19
13
12
12
15
13
10
19
9
12
14
15
4
8
11
10
7
8
11
8
4
13
11
3
7
6
3
1
7
4
3
4
5
5
4
4
3
1
4
9
4
7
6
3
3
1
1
2
5
2
3
2
1
1
1
4
2
8
1
0
7
3
5
4
0
1
5
3
6
2
5
6
4
6
6
2
4
5
2
4
6
8
7
4
2
5
5
7
5
9
8
5
7
7
3
7
4
7
3
7
7
13
9
11
9
11
11
8
7
12
10
16
13
9
8
9
7
9
16
9
7
13
17
9
9
16
14
14
17
12
16
12
15
6
18
15
10
12
17
18
15
16
12
16
17
19
14
17
9
18
29
