8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
13
13
13
13
13
14
14
15
15
16
16
17
17
17
17
17
17
17
18
19
19
20
21
22
22
22
23
23
23
24
24
25
26
26
26
26
26
25
25
25
24
24
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
27
27
28
28
29
29
30
30
30
30
30
30
30
30
31
32
33
34
34
35
36
36
36
36
36
36
37
37
37
38
38
38
38
38
39
39
40
40
41
41
41
42
42
42
42
43
43
44
44
44
45
45
45
45
45
45
45
45
46
46
47
48
48
49
49
50
51
51
52
52
53
53
54
54
55
56
57
58
58
59
60
60
61
62
62
63
63
64
64
65
65
65
65
65
65
66
66
66
67
69
69
70
71
72
73
74
75
76
76
77
78
79
80
80
81
82
83
83
84
84
84
85
85
85
85
86
86
86
86
87
87
88
88
89
89
89
90
90
91
91
92
92
93
93
93
94
94
94
95
95
95
95
96
97
98
99
100
101
101
102
103
104
104
105
106
107
107
108
108
109
110
111
111
111
112
112
113
113
114
114
114
115
115
116
116
117
117
118
119
119
120
121
121
122
122
124
124
125
125
126
127
127
127
128
128
128
128
129
129
129
130
130
131
131
131
132
132
132
133
133
133
133
134
134
134
134
135
135
135
135
135
134
134
134
134
135
135
136
137
137
138
139
139
140
140
141
141
141
142
142
143
143
143
144
144
144
145
145
145
146
146
146
146
146
147
147
147
147
148
148
148
149
149
150
150
151
151
151
152
153
153
154
154
155
155
156
156
157
158
158
159
160
160
161
162
162
163
163
164
164
164
165
165
165
165
166
166
167
167
170
170
171
171
172
172
173
174
174
175
176
177
178
179
180
181
181
181
181
181
180
179
179
179
179
180
181
182
182
183
183
184
185
185
185
185
186
186
186
186
186
187
187
188
188
188
189
189
190
192
194
196
198
199
201
203
204
204
204
204
204
204
204
204
203
201
200
199
197
196
195
196
198
199
201
202
203
205
206
208
210
210
210
210
210
211
211
211
211
211
212
212
212
212
212
213
213
213
213
213
214
214
214
215
215
215
216
216
216
217
217
218
218
218
218
218
219
219
219
219
220
220
221
222
223
224
225
226
226
227
228
229
229
230
231
232
232
233
234
235
235
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
237
237
237
237
238
239
240
241
242
243
244
245
246
247
247
247
249
249
249
250
250
251
251
251
252
252
253
253
254
254
254
255
255
256
256
257
257
257
258
258
259
259
260
261
262
264
265
266
267
269
269
271
272
273
274
275
277
280
282
283
285
286
287
288
289
290
291
292
293
295
296
297
298
300
300
301
302
303
305
305
306
307
307
309
310
310
311
311
311
312
312
313
313
314
314
314
315
317
318
325
326
328
329
331
331
330
329
328
328
327
326
325
324
323
322
321
319
319
319
320
321
322
323
323
324
324
325
325
326
327
327
327
328
328
328
329
329
329
330
330
330
330
331
331
332
332
333
333
334
334
335
335
335
336
336
337
337
338
338
338
338
338
338
338
338
339
339
339
339
339
339
339
339
339
338
338
338
337
337
336
336
336
336
336
336
336
336
336
336
336
336
336
336
336
337
337
337
338
338
338
339
339
339
339
340
340
340
341
341
342
342
343
344
344
345
345
346
347
347
348
348
349
349
349
349
349
350
350
350
350
351
352
354
355
357
358
359
361
362
363
364
365
366
368
369
370
370
370
370
370
370
370
370
370
371
371
371
371
371
371
371
372
373
373
374
374
375
375
376
376
377
377
378
379
379
380
381
381
382
382
388
389
389
378
377
378
390
391
392
393
393
394
395
396
397
397
398
399
400
401
402
402
403
404
404
405
406
406
407
407
408
409
410
410
411
411
412
413
413
414
414
415
416
416
417
417
418
419
420
421
421
422
423
425
426
429
431
432
434
435
437
438
440
444
445
447
448
448
448
448
448
448
448
448
448
448
448
448
448
448
449
450
451
452
453
454
454
455
456
457
458
458
459
460
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
460
460
460
460
460
460
460
460
460
461
461
461
462
462
463
463
464
465
465
466
467
467
467
468
468
469
469
469
470
470
472
472
472
472
471
471
470
470
470
469
469
468
467
467
467
467
468
468
469
469
470
470
471
472
472
473
473
473
472
471
470
470
469
468
467
466
466
465
465
464
465
466
466
467
469
470
471
471
472
473
474
474
475
476
477
478
479
482
481
479
477
476
476
474
473
472
471
470
470
469
468
468
468
468
469
469
469
469
470
470
470
470
470
471
471
471
473
474
476
477
478
479
480
481
482
484
485
486
487
489
489
489
489
489
489
489
487
485
483
481
478
476
474
473
473
473
473
472
472
472
472
471
470
469
468
466
465
464
462
461
459
458
456
456
455
456
457
457
458
460
461
462
462
462
461
461
461
460
460
460
460
459
459
459
459
459
460
461
462
463
465
466
468
470
471
473
474
476
477
479
481
482
482
483
483
484
484
485
486
486
487
487
488
488
489
490
490
490
490
490
490
490
491
491
491
491
491
491
491
492
494
495
496
497
497
498
500
501
501
502
503
504
505
506
506
506
506
506
506
505
505
505
505
505
505
505
506
507
508
510
511
513
516
518
520
521
523
523
523
523
523
524
524
524
524
524
523
522
521
521
520
519
519
516
515
515
515
515
517
513
512
512
512
513
513
513
513
514
514
514
515
515
515
515
515
515
515
515
515
515
515
514
514
514
513
513
513
512
512
511
511
510
510
510
511
513
514
514
515
515
516
516
517
518
519
522
523
525
526
527
529
530
532
534
535
537
539
540
540
540
541
541
541
541
542
542
542
542
543
543
543
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
545
546
547
548
549
550
551
552
553
554
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
571
572
573
574
575
576
576
577
577
578
578
579
579
580
580
581
581
582
582
583
583
584
585
586
587
588
589
589
590
591
592
592
593
594
595
596
597
598
598
598
598
598
599
599
599
599
600
600
600
600
601
601
601
601
601
601
602
602
602
602
602
603
603
603
603
603
604
604
605
606
606
607
607
608
609
609
610
611
611
612
613
614
614
614
614
614
614
615
615
615
615
616
616
616
616
616
616
615
613
612
611
610
610
609
608
607
606
605
605
601
601
600
599
598
598
597
596
595
593
590
588
586
585
583
580
578
567
564
562
559
555
552
548
545
544
544
544
544
544
544
544
544
544
544
544
543
543
543
543
543
543
543
543
543
543
543
543
541
538
536
534
528
524
521
518
516
514
512
510
507
505
503
502
501
500
500
499
498
497
497
496
494
492
491
489
488
487
484
468
465
464
463
461
460
457
456
455
453
452
450
449
447
446
445
443
442
440
437
433
431
430
429
429
428
427
425
422
419
418
417
414
410
410
409
408
407
406
403
400
397
394
392
392
392
392
392
391
390
389
389
388
388
387
387
387
387
387
387
386
384
382
380
378
375
373
370
367
364
362
359
358
357
356
355
354
354
353
352
351
351
350
349
348
348
346
344
341
337
335
331
328
326
323
321
319
317
316
314
312
309
307
305
303
301
300
298
297
295
294
293
292
291
291
291
291
291
290
290
290
290
290
289
289
289
288
288
287
287
287
287
286
286
286
285
285
284
284
284
282
281
279
277
275
272
270
268
265
263
260
259
257
255
254
253
254
255
255
256
257
257
258
258
259
259
260
260
260
260
260
259
259
259
259
258
258
258
257
257
257
257
257
257
258
258
259
259
259
260
260
261
261
262
262
263
263
264
264
264
265
265
266
266
267
267
268
268
268
268
268
268
268
268
268
267
267
266
265
265
266
267
269
272
274
276
277
276
276
274
274
273
272
271
272
272
272
272
272
272
272
272
271
271
271
270
270
270
270
270
270
270
270
270
270
269
269
268
267
267
268
269
270
271
271
272
274
275
277
279
279
279
279
278
278
278
278
278
278
278
278
278
278
276
274
273
271
270
269
268
268
267
267
268
268
269
270
271
273
275
276
277
279
280
280
280
280
280
280
280
280
280
279
279
278
277
277
276
276
276
275
275
274
274
274
274
273
273
272
272
271
271
270
270
269
269
269
269
270
271
271
271
271
271
270
270
270
269
269
268
268
267
267
266
266
264
264
263
263
262
262
261
260
260
259
258
257
256
256
255
254
253
251
250
249
247
245
244
244
243
242
242
242
242
242
242
241
240
239
238
238
236
234
233
231
230
229
228
227
225
223
221
218
215
213
211
208
205
203
202
202
202
203
203
203
204
206
207
209
210
211
213
214
215
217
218
219
216
215
214
213
212
210
209
208
207
206
205
204
204
204
204
204
204
203
201
199
198
196
196
195
194
194
192
188
187
185
183
180
178
176
173
170
167
165
162
160
158
157
155
153
152
150
148
146
144
139
137
135
133
131
128
126
125
123
122
120
117
114
112
110
109
108
106
105
103
101
100
100
98
96
94
93
92
92
91
91
89
88
87
85
84
83
82
80
78
77
75
74
73
71
70
62
61
60
56
55
54
53
51
50
50
49
49
48
47
46
45
44
43
43
42
41
40
39
38
38
37
37
36
36
35
35
34
34
33
32
31
30
29
28
27
26
26
25
25
24
24
24
23
23
22
22
21
21
21
20
20
19
19
18
18
18
18
17
16
15
14
13
12
11
11
10
9
9
8
8
7
6
5
4
3
2
2
1
1
0
0
0
0
0
0
0
1
1
1
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
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
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
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
0
0
0
0