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
1
1
2
2
1
0
0
1
0
0
0
0
0
1
2
2
1
0
0
0
0
0
1
3
3
4
5
8
8
8
8
8
8
8
8
9
10
10
10
10
10
10
10
12
15
18
19
17
16
16
16
15
15
14
14
15
15
17
18
19
19
18
18
18
18
18
18
18
19
19
22
17
7
7
5
6
7
9
10
10
10
10
10
9
9
8
8
8
7
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
8
9
14
23
23
25
30
31
31
33
34
34
35
35
36
37
37
37
36
35
35
34
33
33
33
32
32
31
31
31
31
33
33
37
36
38
39
39
39
39
39
40
41
41
41
41
42
42
43
43
43
43
36
42
44
45
47
48
49
50
53
53
51
51
51
47
46
46
45
43
41
39
38
38
38
37
36
34
33
31
31
31
31
30
29
28
28
27
26
26
26
25
24
24
24
23
23
21
21
21
20
20
20
20
20
19
19
19
19
18
17
17
16
15
14
13
13
11
11
10
10
10
7
7
8
9
9
9
9
9
9
9
8
8
8
9
11
11
10
10
10
10
13
13
13
13
13
13
15
18
20
20
18
18
18
20
20
20
20
20
20
19
18
18
18
18
18
18
18
18
16
15
13
12
13
14
16
16
16
16
16
16
16
16
16
16
16
18
19
22
22
22
22
22
22
22
22
22
22
22
22
22
21
21
23
24
24
24
25
25
25
28
28
27
28
28
31
32
32
32
32
33
33
37
37
38
41
43
47
49
50
51
53
54
55
55
56
56
57
59
65
65
65
66
66
68
69
69
69
68
67
67
67
68
68
68
68
67
67
67
66
67
68
72
72
72
73
76
78
78
78
78
78
78
78
78
82
85
84
83
81
80
78
78
79
79
80
80
80
81
81
80
80
80
81
81
81
80
80
79
78
78
78
78
78
78
78
78
78
78
79
80
80
80
81
82
82
82
82
82
85
86
87
88
88
88
88
90
90
90
92
92
92
92
92
99
101
101
101
101
101
101
102
102
103
105
106
106
107
107
111
113
110
114
122
123
123
123
123
123
122
123
125
152
161
162
167
169
169
171
184
187
187
189
189
187
188
188
188
189
191
191
192
190
190
190
189
189
189
189
188
188
189
189
192
193
197
199
198
200
203
203
204
205
205
205
204
204
204
203
203
206
204
203
202
200
201
202
208
225
225
224
225
225
226
226
227
228
229
232
234
237
241
243
245
248
259
271
286
288
295
299
301
299
285
270
269
267
267
267
267
267
267
267
267
267
269
273
273
270
270
270
271
272
274
278
279
279
279
279
279
280
280
280
281
281
281
282
284
285
286
291
294
297
299
305
309
309
309
311
312
313
316
320
325
331
335
334
332
331
330
335
336
338
339
343
346
343
337
333
332
331
328
327
326
326
326
326
326
328
336
347
345
339
338
337
336
336
339
345
352
352
351
350
351
352
356
359
361
365
367
369
374
376
377
381
386
387
389
390
392
395
398
403
404
404
405
406
407
408
414
421
422
423
425
427
430
436
438
440
441
442
445
448
449
450
454
454
454
451
450
450
450
450
451
453
458
460
460
459
458
458
457
457
456
455
455
455
454
454
454
454
454
456
459
460
461
463
468
470
474
475
478
483
486
485
482
481
484
486
487
496
499
507
509
514
517
518
518
519
520
521
522
523
526
526
527
529
529
529
530
532
533
534
536
537
544
545
545
546
547
547
548
551
552
553
558
560
565
564
564
563
563
564
564
565
567
568
570
571
575
577
577
577
577
577
576
576
575
575
575
575
576
579
580
583
586
588
591
592
594
596
597
599
601
606
606
606
606
606
604
603
602
603
604
606
610
613
614
615
617
620
623
628
629
632
633
634
635
637
638
639
641
642
643
645
648
650
652
654
657
660
660
660
660
659
659
659
659
660
665
675
677
678
679
679
677
674
673
670
668
667
667
668
668
670
671
671
671
673
675
677
678
679
678
678
676
674
673
671
670
672
676
677
681
682
685
689
690
690
690
690
690
690
690
693
699
702
709
708
707
705
704
704
703
702
701
698
693
686
682
678
670
668
659
654
649
645
640
639
638
635
635
633
631
630
628
627
624
620
619
616
612
611
608
607
605
600
599
595
594
588
586
585
585
584
584
584
581
580
578
577
576
574
572
570
567
564
561
554
549
550
551
553
554
553
552
549
547
544
538
534
532
531
526
524
521
520
519
518
512
510
507
503
502
498
496
493
486
483
483
481
479
478
473
471
468
467
466
465
465
464
464
463
465
466
467
468
469
474
478
480
483
483
484
484
485
486
486
486
485
485
484
484
483
482
481
480
480
480
480
480
480
480
481
481
483
486
487
486
485
481
476
475
475
473
472
471
469
464
453
448
443
440
437
435
431
428
426
422
420
419
415
410
403
386
383
380
378
375
372
370
370
371
375
377
384
384
383
382
381
381
377
376
373
368
366
364
362
357
354
352
350
347
347
346
343
343
342
341
341
338
337
336
335
333
331
330
330
329
329
328
328
326
325
323
323
323
323
323
324
329
332
331
329
326
326
327
327
330
334
332
332
332
333
334
342
344
344
345
345
345
352
351
353
359
367
374
372
371
369
353
347
347
346
346
342
341
341
340
340
340
341
341
342
344
345
348
348
353
354
355
357
357
361
362
370
371
372
375
388
394
395
398
398
398
397
396
397
397
397
396
398
400
401
404
405
407
407
407
407
404
399
398
396
396
394
389
385
378
380
384
387
387
385
385
386
387
388
389
389
389
388
384
382
381
383
385
386
387
398
399
401
402
404
421
421
420
420
419
416
415
413
413
413
414
414
415
419
420
421
422
435
437
439
445
446
449
449
451
454
451
450
449
448
447
446
444
445
445
445
447
447
447
450
452
456
459
462
464
464
467
468
470
473
477
484
485
485
487
493
496
497
499
500
501
503
504
505
506
508
513
514
514
513
512
511
510
510
518
518
517
515
515
514
514
516
518
519
520
519
517
514
513
513
513
513
511
511
504
504
504
505
505
506
506
506
506
508
509
509
516
520
523
524
526
533
535
536
541
541
542
544
546
559
561
564
565
565
566
568
568
569
557
555
554
553
552
550
549
548
547
544
544
544
548
554
555
559
565
569
572
573
574
575
575
576
577
588
590
595
597
603
605
610
611
612
615
619
621
633
636
637
639
637
634
631
628
621
615
614
613
613
610
609
607
606
603
595
591
586
585
580
579
575
571
566
562
557
555
550
549
549
548
545
544
539
537
535
529
529
519
515
512
511
505
501
500
500
491
490
489
487
486
485
484
483
482
482
480
479
479
478
476
475
475
476
481
480
479
478
481
483
483
483
483
482
481
481
486
490
492
496
504
509
513
516
517
520
521
522
524
527
528
533
534
535
537
538
539
540
540
542
543
543
545
547
554
557
557
557
559
560
562
563
567
568
570
572
577
579
589
594
597
599
601
603
605
607
609
611
612
615
621
627
631
634
635
637
656
674
677
677
679
680
682
687
688
688
691
693
696
698
702
706
718
715
714
691
684
682
681
679
664
661
655
651
649
648
646
642
637
636
635
631
627
624
620
612
607
606
604
603
603
600
598
593
583
582
576
574
566
564
564
558
555
554
550
549
549
549
549
549
550
550
551
549
548
544
542
540
540
540
540
539
538
535
533
531
529
528
526
521
520
519
518
517
516
514
514
513
511
508
505
497
491
490
485
480
478
477
472
470
470
470
470
470
470
470
470
468
467
465
464
461
467
469
470
472
475
476
474
472
468
468
468
468
468
468
468
468
470
471
472
474
475
478
481
484
486
485
482
481
482
483
483
484
484
484
484
487
489
490
492
500
501
502
503
503
504
505
509
511
513
514
517
523
534
536
538
539
551
562
565
564
563
563
562
561
562
564
567
571
582
584
584
584
584
583
576
572
570
571
573
570
568
567
567
566
560
553
551
546
545
544
544
541
540
540
537
537
537
537
537
536
534
533
532
525
520
513
510
508
508
506
506
503
503
502
501
500
500
499
499
498
496
487
486
483
485
486
489
489
489
489
489
486
485
484
482
481
481
478
471
468
466
466
466
466
466
466
466
467
467
468
462
459
461
463
464
465
467
468
464
460
457
452
441
436
434
434
434
435
435
434
431
427
424
423
418
416
414
407
407
406
399
396
395
392
384
383
382
383
379
377
368
367
365
364
364
359
358
357
353
353
353
353
353
353
353
355
356
357
357
358
362
364
367
368
369
369
369
371
372
374
378
379
387
388
391
393
394
394
397
398
402
403
405
411
412
413
420
421
425
430
432
434
435
435
436
437
439
443
444
446
453
454
457
466
468
470
471
471
472
472
472
474
475
475
476
477
477
488
495
505
505
503
502
498
496
499
502
509
513
518
520
520
520
520
523
532
535
539
548
553
554
555
558
559
559
561
563
563
563
563
562
562
562
566
568
571
572
575
579
585
587
590
591
590
588
590
594
600
603
607
608
612
619
624
628
639
640
640
642
643
643
643
637
635
633
632
633
636
640
642
645
648
649
650
652
652
656
655
655
654
653
653
640
638
632
631
630
627
625
625
626
626
627
627
627
627
624
622
619
615
613
611
610
609
608
608
607
606
606
604
604
604
595
592
587
586
585
587
593
597
603
607
606
605
601
598
595
593
593
593
593
593
591
589
588
586
582
581
579
578
577
576
575
573
571
570
561
554
550
545
542
540
538
536
533
529
529
528
528
527
527
527
526
526
524
523
522
521
520
520
520
520
519
519
519
511
510
506
505
504
493
492
492
491
489
485
483
482
481
481
480
476
473
466
458
458
458
456
455
454
453
448
442
437
434
432
431
431
431
430
420
415
413
397
396
390
386
385
381
381
381
381
381
375
373
372
367
363
361
359
359
358
355
355
352
350
348
345
344
344
343
341
341
339
338
338
339
339
339
340
340
341
344
353
357
362
370
372
373
376
377
378
385
389
402
412
420
422
427
425
420
417
415
407
394
392
389
388
388
386
380
377
373
370
367
366
362
343
343
342
338
337
336
334
329
328
327
326
325
310
307
299
298
297
296
295
294
280
278
277
276
264
262
261
259
254
252
249
243
242
241
240
237
237
237
236
236
231
230
229
227
227
225
225
223
223
222
219
215
212
206
205
204
203
202
201
200
199
199
199
200
200
200
200
200
201
202
202
203
204
204
204
204
204
202
198
197
191
190
190
191
191
191
189
180
179
178
177
177
175
172
171
171
172
172
172
170
168
169
171
176
177
176
175
173
173
163
161
160
160
161
162
161
161
161
156
156
155
156
156
157
157
153
145
145
143
143
142
142
142
141
138
138
138
134
130
121
117
117
116
116
115
115
115
115
120
121
121
121
121
118
117
114
110
107
105
104
103
103
102
102
100
99
86
85
85
85
84
84
74
74
74
73
73
72
74
72
72
73
73
73
73
73
73
73
73
74
75
77
80
84
84
84
84
86
86
84
75
73
72
68
66
61
59
57
54
52
48
45
36
35
31
27
26
18
18
18
17
17
17
17
17
16
15
11
10
8
7
7
7
7
7
8
8
8
8
8
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
7
7
9
10
10
11
10
10
10
11
12
12
12
12
12
12
12
10
10
10
10
10
10
10
10
10
11
11
12
11
19
20
21
24
23
22
19
16
14
11
10
10
10
10
10
10
9
9
8
8
8
8
8
8
8
7
4
3
3
3
0
0
0
0
0
0
0
1
2
2
2
2
2
2
0
0
0
0
1
1