15
15
15
15
15
15
15
16
16
16
16
20
21
21
20
19
19
19
20
20
20
20
21
25
25
25
25
25
25
25
25
25
25
28
28
28
28
28
30
30
30
30
31
32
33
33
33
34
34
34
34
34
34
34
34
35
41
46
47
47
47
47
47
47
47
49
49
50
51
54
58
60
61
61
61
61
61
62
69
69
69
69
69
70
70
70
70
71
73
78
78
78
78
77
76
75
75
76
76
76
76
76
76
77
88
88
88
88
88
88
88
91
91
91
91
92
92
92
92
91
91
90
90
90
94
92
91
90
89
86
74
73
73
72
71
71
71
71
70
70
69
69
69
69
69
69
69
69
69
69
70
72
72
72
72
71
67
67
67
69
69
69
70
70
72
73
74
75
76
77
81
79
79
75
76
77
83
85
87
87
88
89
89
90
90
90
90
91
92
93
94
95
101
101
102
103
104
105
106
107
108
109
113
114
115
116
117
119
121
122
125
133
134
134
135
135
136
136
139
139
141
147
149
157
160
163
166
166
162
164
169
171
172
173
176
177
180
183
185
188
190
193
195
197
198
202
203
203
204
204
205
210
212
214
217
219
221
222
224
228
232
235
240
241
243
245
246
247
247
248
249
250
251
253
253
262
265
268
271
275
279
281
282
283
285
285
290
296
299
301
302
301
297
295
294
307
309
306
303
303
306
309
311
318
329
330
320
320
321
323
324
324
326
347
351
355
360
365
370
367
361
357
354
352
350
347
347
347
347
347
347
348
348
348
349
349
349
351
353
353
354
354
354
353
351
351
350
349
350
352
355
359
360
360
359
357
354
352
347
347
348
350
351
352
352
350
348
343
336
333
331
328
325
315
313
309
306
304
300
299
289
281
281
283
285
287
289
291
292
292
292
292
290
287
286
285
284
284
285
288
283
281
278
281
290
291
291
292
296
297
298
299
312
316
317
317
317
317
317
318
319
321
334
338
338
336
334
331
321
320
320
321
323
325
331
336
340
342
345
348
351
356
357
360
362
363
363
364
366
370
374
379
388
390
392
399
401
403
414
413
409
404
399
396
396
397
397
398
398
402
398
390
369
366
352
352
352
353
353
353
354
354
354
346
346
346
340
337
328
325
323
321
319
312
311
310
305
304
304
303
302
293
288
288
289
289
289
290
285
285
284
283
282
273
271
258
256
251
249
246
243
240
235
228
225
223
222
220
219
218
216
218
220
225
226
228
228
229
227
225
223
221
218
216
215
210
190
186
181
176
170
148
147
147
147
146
146
145
145
146
146
146
146
147
147
147
143
143
144
144
145
142
141
140
136
136
137
138
140
140
140
140
140
139
138
137
135
134
134
133
132
131
130
129
129
129
124
122
121
123
125
125
126
124
123
116
116
116
116
115
106
106
106
107
107
108
108
108
108
114
115
111
109
109
110
111
112
113
113
113
113
120
123
124
126
129
132
140
141
155
157
158
160
161
163
170
169
168
167
167
169
173
176
178
181
184
184
184
184
184
184
184
185
187
190
192
194
195
200
202
204
204
204
204
204
222
223
227
222
221
219
217
208
205
203
190
194
196
199
203
210
215
217
219
220
221
222
224
230
232
233
235
236
237
238
238
239
240
240
241
241
240
238
234
234
233
228
228
227
223
222
221
227
231
234
237
241
244
255
257
259
261
263
265
267
268
269
273
275
276
277
278
276
274
274
275
276
277
278
280
281
282
284
287
288
289
291
292
295
294
294
291
291
292
294
297
299
301
303
306
309
309
309
308
307
307
306
306
305
305
304
304
305
307
308
309
310
311
313
315
315
315
315
315
315
315
314
313
312
310
308
308
310
317
318
320
321
321
322
323
323
323
323
323
325
326
324
323
321
319
318
316
317
320
324
331
333
335
336
336
336
336
336
336
336
336
336
336
337
339
341
343
343
343
343
342
342
346
353
354
354
354
351
352
352
353
353
354
352
348
347
347
348
351
351
355
355
355
355
357
358
358
362
363
365
367
369
370
371
376
378
380
381
381
381
380
387
391
393
395
396
398
399
399
399
400
401
402
406
407
408
412
414
419
420
419
417
415
413
412
410
408
412
421
419
417
409
410
413
425
428
429
429
429
429
429
431
434
435
436
437
437
437
437
437
438
440
444
443
440
438
435
430
436
439
456
449
449
447
446
445
445
445
445
444
443
441
439
434
431
422
426
429
438
438
438
438
440
440
440
440
434
433
428
424
423
423
420
419
415
414
414
413
412
406
403
398
394
390
387
383
382
382
381
381
381
380
377
374
373
370
370
369
367
359
356
350
350
349
349
349
346
344
341
339
337
334
330
323
321
316
310
307
300
299
299
297
296
295
293
279
277
275
273
273
271
270
270
270
270
270
270
270
270
268
258
255
252
245
243
241
239
237
237
237
237
236
236
236
236
236
237
247
257
265
266
268
269
274
275
276
277
277
281
285
286
287
291
295
296
300
314
315
316
320
321
320
318
315
310
308
306
302
298
291
286
286
285
285
284
283
281
280
278
277
275
273
269
267
265
264
261
259
253
252
249
243
235
232
232
233
235
235
235
234
228
222
216
212
211
204
204
204
204
204
203
202
199
200
199
200
200
201
201
201
201
201
201
201
201
201
201
201
201
201
201
202
202
202
202
202
200
200
200
200
200
200
200
202
202
202
202
202
202
202
202
202
202
202
202
202
202
199
199
198
198
199
201
201
202
203
204
213
216
217
218
219
220
220
221
221
222
222
222
222
222
223
223
224
227
229
233
235
237
239
241
280
280
279
278
278
278
278
277
277
277
279
282
285
291
293
292
290
286
284
283
282
281
280
282
290
292
295
306
310
310
308
305
300
297
295
285
284
284
283
283
283
284
288
289
290
291
293
294
297
297
297
297
296
296
298
301
303
306
309
312
316
326
329
331
339
343
349
351
352
354
358
362
367
375
376
376
376
376
376
376
374
372
366
364
361
356
345
349
353
365
370
371
372
373
372
372
372
372
370
363
361
358
351
349
345
346
349
352
355
358
364
374
375
376
378
382
379
377
375
373
370
353
353
354
354
355
355
356
357
355
353
351
342
338
329
330
331
333
336
337
337
338
338
339
338
332
327
324
321
313
313
312
312
311
307
306
304
302
301
299
297
297
299
299
300
302
306
314
311
308
295
297
298
300
302
307
309
313
313
312
312
311
308
302
296
293
284
282
280
270
268
263
261
260
260
260
260
259
259
259
259
259
259
259
259
257
256
255
254
253
251
249
248
247
247
246
245
244
241
240
240
238
238
237
236
236
235
235
234
234
234
233
233
232
232
231
226
225
224
222
219
220
221
221
220
219
218
218
217
213
208
206
206
204
204
202
206
206
206
203
203
202
202
204
206
206
207
208
209
207
207
209
208
208
209
209
209
213
214
215
215
215
215
215
216
219
220
223
225
226
227
227
227
228
229
231
252
256
257
259
262
257
236
234
233
233
233
233
233
232
231
230
230
223
233
233
233
233
233
234
234
235
235
235
236
237
237
237
237
237
238
238
241
243
244
244
244
244
244
244
244
244
244
244
245
247
247
248
248
248
248
243
244
245
249
249
249
250
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
252
252
251
251
251
250
249
248
248
246
246
245
244
243
243
243
243
243
243
243
243
243
244
244
244
244
244
245
245
245
247
248
248
247
247
247
249
249
249
248
245
242
243
243
243
243
243
253
262
262
263
263
265
268
268
269
269
269
266
264
262
258
258
258
258
259
259
262
262
262
260
260
260
261
261
265
265
265
265
265
265
264
264
264
264
264
267
269
269
269
268
267
267
266
266
265
265
265
269
272
276
280
280
281
281
281
281
280
283
285
285
285
285
284
283
281
279
287
290
292
293
294
295
296
297
301
304
306
310
307
306
302
301
299
298
297
296
295
295
297
303
304
305
305
305
307
309
309
310
311
309
306
306
306
306
306
306
307
307
309
310
313
316
318
320
320
320
321
321
321
321
321
321
321
327
336
340
349
350
351
351
351
352
353
356
364
369
369
366
362
359
340
333
331
328
328
328
328
328
337
338
340
341
342
341
340
339
336
334
333
332
332
334
336
338
338
339
339
340
340
340
344
345
347
348
349
353
358
360
356
351
349
347
347
347
347
347
347
347
348
348
348
348
349
349
350
351
352
353
355
357
358
359
357
352
347
349
352
352
348
346
344
342
342
342
343
343
343
346
349
349
349
349
349
349
349
350
351
352
353
355
355
357
360
365
365
365
365
365
365
365
365
367
367
368
368
369
369
369
369
369
369
370
370
372
373
373
374
374
374
375
376
372
370
369
368
368
368
368
368
368
368
368
368
368
369
370
371
372
373
371
371
371
371
371
369
369
369
370
371
372
374
374
375
375
377
378
378
378
377
377
378
379
380
379
378
377
377
378
379
382
382
382
380
380
380
380
380
381
382
383
384
385
386
386
386
387
387
389
390
390
390
391
391
391
392
392
392
392
393
394
394
394
394
395
396
397
398
399
400
401
402
403
405
406
406
407
407
407
406
406
405
404
403
402
402
402
406
406
406
412
413
415
420
423
434
442
447
448
448
448
449
449
449
450
450
450
451
452
453
454
455
455
456
458
460
463
471
477
475
472
471
470
468
467
461
459
458
455
453
459
465
465
464
463
464
465
466
468
469
469
469
470
472
472
473
475
476
477
478
483
494
502
502
521
524
523
522
533
536
542
545
549
550
552
552
553
557
558
559
560
561
562
563
564
567
570
570
569
565
564
563
560
564
565
572
573
574
575
576
577
578
579
580
582
584
588
589
590
591
592
592
593
593
593
593
594
595
595
595
601
603
604
610
612
621
636
638
637
636
633
623
618
618
611
599
598
597
596
595
594
593
592
591
590
588
587
585
585
588
587
587
587
587
588
593
596
599
601
606
617
620
621
620
619
630
633
627
627
633
636
637
639
640
639
637
639
663
665
668
671
671
682
683
682
682
681
686
687
688
689
690
690
691
695
697
699
700
702
705
706
707
708
709
714
718
719
720
721
728
729
730
730
730
730
706
704
704
704
707
708
712
714
720
722
723
724
724
724
724
725
729
732
740
742
749
766
767
769
770
770
770
771
772
774
774
774
774
773
773
773
772
772
771
771
770
770
767
766
762
760
754
753
753
753
753
753
753
753
753
753
753
752
751
750
749
742
741
740
739
738
737
736
736
736
736
736
736
736
734
732
730
728
727
722
718
704
697
694
689
686
682
678
678
678
678
678
672
669
656
647
641
640
640
639
635
634
633
633
633
633
633
627
626
623
622
620
617
615
615
614
613
613
613
614
615
616
616
617
619
620
621
618
608
604
601
600
600
601
601
601
597
594
592
589
586
583
577
576
572
570
567
566
565
559
553
559
564
566
565
561
556
551
548
545
531
525
524
516
512
510
508
507
507
506
505
502
502
502
501
500
498
496
494
494
494
494
494
494
494
495
493
491
490
489
488
488
488
488
488
488
489
490
491
491
491
491
491
481
479
478
474
472
470
469
469
469
469
469
469
469
469
468
467
466
465
465
468
468
463
463
463
462
461
461
461
461
461
461
461
461
461
460
460
459
459
459
460
460
460
448
449
449
442
440
441
441
437
437
436
436
435
434
433
432
431
430
429
428
427
426
426
426
426
426
427
427
430
430
425
422
423
422
421
421
421
420
420
420
420
429
429
429
429
429
429
427
426
420
413
410
410
411
411
411
408
408
408
408
407
406
405
404
402
397
397
396
396
396
396
396
396
396
395
395
395
395
389
387
387
386
386
386
386
386
386
386
382
381
381
381
381
381
381
381
380
378
376
376
376
375
374
371
369
368
366
365
364
362
362
362
360
360
360
360
360
359
359
359
358
358
357
356
355
355
354
354
353
353
353
353
354
355
356
356
356
356
355
354
354
354
353
353
353
353
353
353
353
351
350
350
347
347
347
348
348
349
350
350
350
351
352
353
353
356
356
356
356
355
355
354
354
354
354
354
353
350
351
351
352
353
353
354
354
354
354
354
355
355
355
355
355
355
355
354
354
354
353
353
353
353
353
353
353
353
353
353
354
354
355
357
358
359
358
357
355
356
357
358
362
363
363
364
364
364
364
365
365
366
367
369
370
371
373
372
371
371
370
370
362
361
360
359
357
356
356
356
350
349
348
347
345
346
353
354
356
357
358
359
361
362
363
373
374
379
380
382
386
387
389
393
392
391
390
396
396
397
396
393
392
391
390
390
389
388
388
388
388
390
389
388
387
387
390
393
394
393
391
387
386
385
377
375
373
370
365
362
357
355
352
350
344
344
344
343
342
343
349
352
354
351
348
348
348
348
348
347
347
347
348
348
348
348
349
349
349
349
349
349
350
351
351
351
352
353
353
353
354
359
359
360
366
362
366
371
370
370
370
370
369
369
369
369
370
371
373
380
383
386
384
380
383
384
387
388
390
392
397
400
401
403
405
409
410
412
423
427
432
434
435
436
437
437
437
444
453
460
461
468
473
477
483
484
494
500
502
506
507
507
507
507
506
508
514
515
515
516
516
519
527
527
527
527
526
528
533
538
541
543
546
549
549
552
555
558
566
569
573
571
569
568
562
562
566
570
572
581
589
592
594
601
603
606
605
605
606
618
620
623
624
625
628
634
641
643
643
645
646
645
643
642
649
655
657
659
661
662
663
664
666
667
670
671
674
675
677
684
686
690
703
700
698
691
690
690
689
688
683
679
686
696
699
699
698
699
706
715
725
726
726
719
714
711
708
700
696
694
704
711
714
716
718
724
737
744
748
749
745
739
732
731
730
729
729
729
729
730
730
729
725
724
719
719
710
705
708
710
711
712
717
720
723
728
731
732
732
732
732
731
731
731
731
731
732
742
748
751
753
755
762
762
762
762
762
762
762
762
762
762
749
747
747
747
745
745
743
742
733
719
714
709
700
691
687
683
671
671
672
672
673
673
673
671
670
668
669
670
672
673
675
671
661
663
666
667
675
680
681
684
687
688
686
684
666
663
660
638
636
635
637
637
638
631
629
627
624
615
614
613
613
612
618
627
631
634
636
636
636
634
633
633
633
633
633
634
634
634
628
620
614
612
606
591
586
580
576
572
570
569
572
585
589
589
587
583
579
572
568
559
557
555
554
553
551
550
548
546
541
539
537
537
539
542
543
543
543
541
540
539
530
528
527
527
525
520
519
519
517
517
515
511
509
509
507
505
499
495
484
482
480
477
475
473
471
467
461
466
467
466
464
456
456
456
454
452
451
449
447
443
440
439
436
434
431
413
412
411
409
406
404
401
397
395
394
388
386
384
383
383
382
380
378
378
377
378
378
378
379
379
380
373
373
372
375
376
376
375
370
361
360
360
361
361
362
363
369
373
360
356
352
365
370
374
378
377
376
382
384
385
384
383
381
377
377
377
375
366
380
391
399
400
402
410
418
424
428
423
415
389
380
388
395
401
398
397
395
393
396
403
409
414
418
422
435
457
456
452
450
468
448
446
444
444
443
442
443
443
445
445
445
440
438
437
432
430
429
427
423
420
417
415
414
411
409
405
402
398
396