0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
2
2
3
3
3
2
2
0
0
0
2
1
1
1
2
3
4
4
4
5
5
4
4
3
3
3
3
3
3
2
2
0
0
0
0
0
0
0
1
2
2
4
4
5
5
6
6
7
10
10
10
10
9
8
7
7
2
1
1
1
0
0
1
2
2
2
3
4
4
4
4
4
5
6
7
8
10
10
11
12
12
12
12
11
9
6
6
6
8
12
14
14
14
14
14
13
13
13
13
13
13
13
16
17
17
16
15
13
11
10
10
4
3
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
0
0
0
0
0
0
0
0
0
1
4
7
7
7
8
9
10
14
14
12
11
12
12
10
10
9
8
6
2
2
2
0
3
4
6
3
2
1
0
1
0
0
0
2
0
1
2
1
2
2
2
0
1
2
3
4
4
5
2
1
0
2
4
9
11
11
10
10
10
10
10
10
10
9
9
7
6
6
4
4
4
3
2
1
1
0
0
0
0
1
2
2
1
0
0
0
0
0
0
2
4
6
9
10
11
11
11
11
11
11
11
11
11
11
11
11
11
10
7
5
5
1
0
1
2
3
4
5
6
6
8
10
12
13
15
18
18
15
13
11
6
4
3
4
5
6
6
9
10
11
14
16
19
22
25
28
32
35
37
39
40
43
44
46
49
54
59
64
65
65
65
65
64
63
63
63
63
68
71
78
80
81
83
86
89
91
91
91
92
92
93
94
94
94
94
94
94
93
93
93
92
92
91
90
89
88
87
86
86
87
88
89
88
88
86
87
88
89
88
87
86
86
85
83
83
81
81
82
83
85
87
88
89
90
90
91
92
89
87
87
86
86
86
86
87
88
89
90
91
93
94
94
95
95
94
94
94
94
94
94
94
94
94
92
92
91
91
91
91
91
94
95
95
96
96
97
97
98
100
100
100
100
100
99
97
97
97
97
98
98
100
100
101
103
106
109
110
111
111
112
113
104
100
100
99
88
89
90
91
92
93
106
106
106
106
106
90
82
76
48
43
37
30
27
25
22
24
24
21
13
15
17
20
21
22
28
34
39
42
42
42
42
42
45
49
49
48
44
40
35
31
27
25
29
31
32
36
36
33
36
40
41
43
46
53
54
58
58
58
59
59
61
61
63
64
65
70
72
75
78
79
81
83
83
84
85
86
88
85
83
81
82
82
84
85
86
87
88
90
92
92
93
94
103
104
105
106
106
106
106
106
106
104
102
103
105
112
114
116
116
116
117
118
119
121
149
148
144
141
145
148
134
127
129
134
138
143
165
169
169
169
169
169
167
166
165
164
172
172
172
172
172
172
172
172
172
172
169
167
165
161
155
153
151
150
151
151
151
149
138
134
132
128
124
120
120
121
130
137
138
140
140
138
124
118
112
104
100
91
82
80
79
77
76
75
66
62
61
58
40
38
37
34
33
31
29
27
24
20
17
14
12
11
10
6
9
10
11
11
12
14
17
19
20
21
21
21
21
21
22
22
23
23
25
26
26
27
27
27
28
29
31
31
31
31
32
33
33
33
32
29
28
27
26
26
26
25
25
24
24
24
24
23
21
20
20
20
20
20
20
20
20
21
24
24
24
26
26
27
29
29
29
28
26
24
23
23
24
22
21
21
21
21
22
21
20
20
20
20
21
22
24
24
26
26
25
25
25
25
25
25
27
29
31
31
31
31
32
33
33
33
32
32
31
33
34
35
36
43
43
44
44
46
47
47
47
47
47
48
49
51
53
56
56
54
53
53
51
49
48
46
37
36
36
20
13
13
13
13
13
14
16
19
19
19
20
19
18
17
16
10
11
13
15
15
12
3
2
1
4
5
8
8
9
9
7
6
5
10
12
17
15
13
12
11
11
12
14
15
16
21
21
23
30
36
39
41
44
46
48
50
52
52
49
47
45
42
30
31
34
41
41
41
42
44
45
45
40
36
33
34
35
36
36
35
30
27
25
30
35
34
32
32
31
27
27
27
27
27
25
24
23
21
22
23
25
27
32
35
34
32
31
34
43
42
41
40
40
36
31
32
33
34
35
36
38
40
41
51
53
55
47
47
46
46
46
46
46
44
36
33
37
42
51
51
51
51
48
47
45
42
40
38
45
47
49
53
57
59
58
57
57
61
55
48
42
43
47
47
45
41
38
34
32
29
22
21
19
17
17
16
15
15
18
20
22
24
21
19
14
13
15
16
19
22
23
26
29
37
34
28
27
31
32
33
34
36
36
37
37
38
39
41
43
45
47
49
52
54
55
56
56
56
53
50
49
44
42
41
37
40
42
43
45
49
55
58
56
52
50
42
46
51
53
49
49
48
47
47
43
42
40
37
30
30
28
27
27
27
28
28
33
34
42
43
44
45
46
46
47
49
51
68
92
101
101
102
102
102
101
103
110
117
120
119
118
124
131
136
147
149
145
142
139
137
132
125
122
117
113
109
108
106
104
108
115
140
140
140
141
145
146
157
175
178
187
192
192
194
194
195
195
196
195
194
186
182
190
203
219
220
227
235
234
228
227
228
236
238
239
239
241
243
243
243
246
245
247
248
249
249
251
251
253
253
253
253
253
253
254
259
262
266
272
276
278
282
283
283
283
286
288
289
291
293
295
309
318
328
336
347
350
352
353
354
359
366
368
370
373
375
380
380
383
383
384
385
386
388
392
394
395
396
390
386
384
380
375
370
368
366
364
366
375
376
376
377
377
378
378
380
386
389
391
399
402
406
409
414
416
418
420
424
428
435
435
436
438
445
449
454
454
457
461
462
461
460
459
464
466
468
473
474
475
476
479
481
485
486
487
488
489
490
491
492
493
496
498
500
500
501
502
503
503
503
503
502
499
498
500
502
503
509
511
514
515
516
518
520
521
522
524
526
528
530
530
530
529
529
529
530
531
532
532
532
533
534
534
534
534
534
533
533
532
531
531
530
530
529
529
529
530
531
531
532
532
533
534
541
543
542
539
539
539
542
543
543
544
545
546
547
548
549
550
550
550
551
551
552
553
553
554
555
555
556
558
560
562
565
567
566
565
567
566
565
565
564
564
563
562
561
561
559
557
558
558
558
556
552
550
548
544
540
538
537
537
536
534
530
528
526
523
522
513
509
505
495
493
485
483
480
475
473
472
470
468
467
464
461
450
444
443
439
437
434
434
433
433
432
431
430
426
425
422
420
417
411
409
398
398
396
395
395
391
388
381
378
377
376
376
375
374
373
373
371
370
364
361
359
357
357
359
360
360
360
360
358
358
363
364
365
366
367
367
367
368
368
370
370
371
365
353
352
350
349
349
349
349
349
350
348
349
350
350
350
351
353
360
363
366
368
372
375
377
382
385
383
381
378
378
378
383
385
389
392
395
396
396
396
397
398
399
398
397
395
394
391
387
385
381
369
362
362
358
357
355
351
348
339
334
331
324
319
311
308
305
304
301
298
290
288
286
284
282
269
265
263
260
259
249
247
247
250
246
245
245
245
245
245
243
242
241
240
237
233
233
232
231
230
230
229
228
228
227
227
225
224
223
221
220
219
219
216
212
209
206
205
202
199
198
196
194
192
184
183
180
179
178
177
176
175
175
174
173
173
172
172
172
171
170
168
167
167
166
165
165
164
160
149
144
137
133
127
124
122
122
122
122
120
115
98
95
93
91
90
89
88
78
76
72
69
67
64
62
59
51
52
52
51
47
46
45
45
44
45
46
48
47
46
48
49
50
51
49
48
46
44
42
40
38
34
30
27
25
25
25
24
24
24
16
10
9
8
7
6
9
10
11
11
10
10
9
9
8
8
7
6
6
6
6
5
5
0
0
0
0
0
0
0
0
1
1
3
3
3
3
3
3
3
3
3
3
3
3
4
6
8
8
8
8
6
3
2
2
1
1
1
1
1
3
3
4
5
6
7
11
12
11
12
14
17
19
22
24
26
25
24
23
22
19
16
15
15
13
11
14
13
11
10
11
12
14
16
16
16
16
16
16
16
16
12
10
8
11
13
11
9
4
3
3
9
12
4
4
4
4
4
6
9
9
8
7
3
2
2
3
4
5
5
10
16
16
15
10
4
0
0
0
0
0
0
10
8
3
0
0
0
0
1
8
9
10
12
14
17
20
30
30
28
36
39
37
37
38
38
38
38
37
37
37
37
37
38
39
40
41
41
42
42
36
32
28
25
23
23
23
22
22
21
19
18
20
26
26
26
25
24
24
23
23
19
15
11
10
4
3
2
1
1
2
3
8
9
10
10
11
10
9
9
9
10
10
11
12
12
11
11
11
12
12
13
13
14
13
13
12
12
12
13
17
18
19
20
23
27
27
26
22
21
20
20
19
14
13
11
9
7
6
4
2
1
0
0
0
0