0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
5
6
6
6
6
6
6
6
7
8
8
7
7
6
6
6
7
6
6
6
5
5
7
11
15
20
28
61
37
30
30
30
30
30
30
31
32
36
36
36
37
38
40
40
40
40
42
42
44
45
45
46
47
55
55
58
57
57
92
120
118
100
100
88
89
88
93
93
100
115
111
107
99
99
100
100
100
100
100
100
100
100
104
104
113
114
123
124
124
127
131
148
179
183
192
193
193
194
198
200
201
203
204
208
213
213
213
213
212
210
210
209
207
208
211
213
214
216
217
221
231
250
253
254
256
257
259
260
261
264
268
267
262
250
247
245
260
268
272
272
272
272
272
272
272
266
264
263
262
261
263
265
267
280
281
282
283
284
284
287
288
288
288
307
311
315
335
338
343
348
348
339
341
343
350
351
353
351
350
350
350
350
351
351
353
354
355
356
357
360
360
360
360
364
369
378
393
397
403
403
402
395
396
399
401
400
398
397
395
392
390
389
391
395
396
397
398
399
398
395
387
386
385
384
382
380
383
386
389
392
393
393
394
399
400
402
404
406
409
410
412
423
423
423
422
420
420
418
421
422
423
424
425
426
427
430
430
430
430
430
433
435
442
443
443
444
444
445
445
445
447
466
468
470
471
473
474
476
479
483
485
493
494
495
495
495
498
499
500
501
503
505
507
508
511
513
514
520
521
522
528
530
531
533
533
534
535
536
539
539
540
541
518
517
516
512
508
507
500
500
504
507
508
509
510
507
519
524
526
528
540
539
540
541
543
550
551
556
557
560
561
562
563
561
559
558
556
554
551
550
549
549
548
545
545
544
544
535
529
524
519
512
510
510
510
510
508
502
494
491
490
490
489
489
488
488
499
491
489
484
478
478
478
479
479
490
495
496
498
500
501
502
503
503
503
503
503
503
503
504
505
506
506
508
518
528
539
547
550
553
559
561
564
566
567
565
563
559
556
554
552
552
555
569
569
570
571
573
578
578
578
575
572
572
571
571
570
568
567
565
564
561
560
559
561
564
568
572
574
579
580
582
583
584
586
589
590
591
600
609
613
632
632
632
632
632
632
632
632
632
638
641
647
649
650
654
656
658
662
661
661
660
660
659
657
652
650
648
647
645
644
643
639
638
641
642
642
645
650
652
655
658
668
680
680
680
680
678
667
665
661
659
655
653
652
650
644
645
646
647
649
650
651
652
647
645
643
638
636
633
631
629
627
626
626
625
625
623
623
623
638
639
639
639
640
634
632
628
626
620
618
619
620
622
627
626
625
624
622
617
617
617
618
618
619
624
626
628
629
630
631
631
631
631
630
629
629
629
631
631
627
625
623
623
622
618
617
613
609
607
603
603
603
603
603
603
603
603
603
603
603
603
603
603
606
607
607
608
608
609
600
592
552
545
545
546
549
549
550
550
549
547
542
539
537
533
533
530
530
531
533
537
539
545
542
540
539
535
530
530
536
539
550
550
547
545
540
545
547
551
554
555
557
564
574
576
577
582
584
587
590
595
594
593
593
589
586
583
575
570
565
561
557
554
552
551
550
546
544
543
542
541
538
529
527
524
521
519
517
521
545
544
542
540
536
535
533
514
512
511
517
521
530
532
534
536
538
540
543
552
554
552
551
550
549
547
543
548
565
569
574
579
584
585
587
597
598
601
603
605
604
603
601
599
591
596
598
600
603
694
694
696
697
697
689
687
709
716
731
737
743
744
734
725
708
708
700
698
695
684
661
655
650
644
643
639
638
637
636
627
626
623
626
627
627
628
634
636
638
639
644
647
650
653
653
659
659
660
662
662
663
664
665
666
666
667
669
671
673
682
685
687
688
696
698
700
701
707
708
708
711
712
712
718
725
750
754
756
760
763
763
764
764
773
775
777
778
786
787
788
788
789
791
773
770
767
762
763
767
772
781
790
811
820
829
836
864
870
875
880
886
892
896
882
873
859
852
849
847
845
839
838
830
827
827
827
827
847
849
853
854
858
858
859
869
870
879
880
880
879
878
876
895
900
916
935
933
928
927
926
926
927
935
812
809
810
811
819
822
802
796
792
791
791
788
789
798
803
807
817
820
829
826
823
820
815
812
816
824
829
832
834
833
829
827
826
821
819
818
817
815
812
811
810
808
806
797
795
795
792
791
785
785
782
776
751
747
745
741
736
722
719
714
713
712
707
701
700
697
695
693
690
689
687
685
686
688
691
693
695
697
698
704
711
716
720
727
704
706
708
715
717
718
717
715
713
709
708
706
703
684
684
682
680
679
678
677
675
674
672
671
672
673
676
675
671
668
660
658
655
652
640
639
623
619
580
579
578
604
607
616
620
618
617
617
618
575
568
566
566
561
560
556
555
554
553
552
551
546
540
527
532
534
535
536
538
541
555
557
558
560
565
565
561
557
556
557
563
566
542
545
546
546
548
550
566
564
560
559
557
553
552
552
551
550
549
549
549
549
549
548
548
548
548
548
547
544
538
532
527
524
521
519
517
514
509
508
505
502
493
480
463
455
446
426
411
409
408
393
382
380
377
374
372
370
369
367
364
363
361
356
356
356
355
355
354
354
352
343
341
338
335
330
327
319
314
308
301
297
294
289
283
274
263
261
260
250
248
245
243
242
241
240
239
235
232
229
200
201
201
201
201
202
202
202
201
201
199
199
198
189
187
185
183
181
179
177
175
177
177
166
163
162
160
156
155
154
150
150
146
145
143
142
142
142
142
141
141
140
139
139
139
139
137
134
129
126
121
120
119
115
113
111
111
110
109
108
107
107
105
104
103
102
102
102
101
100
97
95
94
92
89
87
86
84
82
82
83
84
84
85
85
85
82
74
68
67
66
64
62
60
58
58
57
56
56
55
55
54
53
52
51
50
48
48
46
45
45
44
43
42
42
41
41
41
40
40
39
39
38
37
36
36
35
35
34
33
32
32
31
31
31
26
26
26
26
26
26
26
26
26
26
27
28
28
29
30
31
34
34
35
36
37
38
39
40
41
42
42
42
44
46
49
51
52
53
54
64
65
65
66
66
66
66
67
67
68
69
70
71
72
74
77
89
89
102
105
110
109
109
107
108
118
120
121
126
130
131
133
134
134
135
137
140
142
148
152
156
157
159
162
163
167
177
182
184
186
187
188
201
209
212
216
223
228
225
224
222
217
215
214
212
207
203
203
203
203
203
202
203
207
210
213
216
216
216
216
218
219
220
223
225
230
235
250
252
253
254
255
255
244
239
236
236
237
238
240
243
243
243
243
243
243
243
243
239
238
236
236
237
237
238
238
238
238
239
242
247
251
266
277
287
294
301
307
316
330
342
351
353
355
357
358
352
337
335
334
332
326
323
323
323
324
324
325
324
323
322
322
320
324
326
326
327
328
330
326
326
325
325
324
322
324
327
329
334
334
335
336
337
342
343
344
347
347
348
349
354
357
362
364
366
368
368
368
368
369
371
371
372
372
372
372
374
377
387
390
394
397
397
397
397
397
397
397
397
397
397
397
398
404
408
411
417
417
417
417
417
417
417
417
417
419
420
420
420
423
425
425
425
427
446
462
464
463
463
460
459
456
455
454
453
453
452
451
450
451
451
451
451
451
453
455
455
455
456
465
465
466
466
464
462
461
460
460
460
459
459
465
466
466
467
467
473
475
475
476
477
479
483
485
499
498
496
495
493
488
488
487
487
487
488
489
489
489
489
487
483
482
480
480
479
476
477
478
479
489
491
496
495
493
491
483
479
474
469
467
466
464
463
463
466
468
473
474
475
476
470
466
457
453
450
448
440
439
438
438
438
438
438
439
439
439
439
439
437
436
436
436
435
430
429
429
428
422
417
416
415
415
415
415
415
415
415
415
415
415
406
402
400
399
398
393
393
393
393
392
392
392
392
388
388
388
388
387
385
385
379
378
378
377
375
372
371
371
369
367
366
366
366
366
367
367
367
367
367
364
361
357
339
339
338
338
338
337
337
337
337
337
337
337
336
336
335
335
335
334
329
328
327
319
318
314
316
332
335
330
326
318
316
313
306
295
294
294
293
289
289
288
288
287
287
286
283
281
280
278
276
275
272
271
271
268
268
269
272
272
271
265
264
263
262
261
260
252
252
252
252
252
252
252
252
251
242
242
241
241
241
240
237
235
210
206
204
201
198
193
191
189
179
180
180
174
174
173
173
172
172
172
171
171
171
176
179
181
181
182
184
186
186
188
195
198
203
205
205
206
207
208
209
209
210
210
211
212
213
214
219
220
223
223
224
224
224
224
224
224
223
222
223
223
226
228
228
229
232
232
233
235
237
238
239
243
243
246
247
247
248
249
250
251
252
252
254
254
255
255
255
255
255
255
255
256
257
259
262
263
264
268
273
278
284
288
296
302
301
301
299
297
296
295
295
297
300
301
303
307
310
312
313
315
318
318
319
319
320
323
324
326
328
329
330
330
331
332
333
334
335
337
338
338
339
341
342
347
348
352
352
352
352
352
352
352
352
352
354
361
366
367
368
371
373
374
378
379
379
379
379
379
379
379
379
379
379
388
406
413
438
428
423
419
419
419
422
427
433
433
433
433
433
437
438
441
443
447
449
451
455
456
457
459
460
461
461
462
462
463
464
464
465
465
466
467
467
467
467
468
468
469
469
469
469
470
470
470
471
474
475
477
487
487
487
487
488
489
490
492
493
493
493
498
499
499
499
502
513
517
520
523
526
528
530
531
533
534
534
537
540
540
541
541
547
548
548
548
549
551
551
552
552
554
556
556
556
558
558
559
559
559
559
559
559
559
556
554
553
552
550
548
547
545
544
544
544
543
541
540
540
540
535
535
534
532
532
532
532
532
532
532
532
532
532
532
532
532
533
533
533
534
534
535
536
537
537
523
519
511
511
510
510
502
502
501
500
485
485
485
477
477
476
473
465
464
462
462
462
461
460
459
458
458
459
460
460
460
460
460
460
460
460
458
458
458
457
457
456
456
455
454
451
450
441
432
431
430
430
430
430
430
430
432
432
432
431
431
431
430
430
434
435
435
436
436
436
437
437
437
441
441
443
444
446
460
461
461
462
462
463
467
467
467
468
472
474
475
475
475
476
476
478
481
485
485
485
481
481
482
482
483
484
484
484
483
483
485
487
488
490
489
487
487
486
484
483
483
481
480
477
477
476
475
475
472
470
469
467
466
465
461
460
460
459
459
458
456
455
455
454
454
454
454
454
454
454
454
453
451
450
449
443
437
426
422
420
419
417
413
407
406
404
401
399
398
397
385
384
384
383
383
382
382
386
396
398
400
401
390
381
379
377
351
352
353
354
355
356
360
361
361
361
362
362
363
363
363
363
363
361
360
359
358
355
353
353
352
352
352
347
344
341
338
319
319
318
318
315
315
316
314
312
308
304
304
302
298
288
288
290
290
290
276
273
275
276
277
278
280
278
275
260
258
257
244
238
227
227
224
222
209
208
207
207
202
196
196
199
205
207
208
211
216
218
218
219
220
220
221
222
224
225
230
225
223
222
222
222
223
224
227
230
231
233
237
239
238
234
236
245
247
249
251
254
254
254
254
254
255
259
262
266
269
275
278
279
282
282
280
280
278
276
274
263
258
256
251
247
244
241
238
236
233
232
231
230
228
228
228
221
216
213
211
199
195
190
173
165
164
160
158
157
157
156
155
155
154
154
154
154
154
152
149
147
147
147
147
145
145
144
143
143
143
143
143
143
143
143
140
140
141
142
145
145
146
146
146
147
148
148
144
144
143
142
143
143
143
143
144
147
148
148
148
148
151
151
150
150
150
150
151
151
151
152
152
152
150
150
149
151
154
160
162
163
159
158
158
158
160
162
163
163
163
164
164
165
165
166
166
165
163
163
163
164
164
162
162
162
160
158
157
157
157
159
160
162
163
165
176
174
171
168
165
164
166
172
174
176
180
181
182
183
183
179
178
177
177
177
177
177
175
174
173
168
168
167
166
166
165
163
162
162
161
160
158
156
155
155
155
155
155
164
164
164
164
166
162
157
153
150
150
147
143
139
135
132
132
130
130
131
137
137
137
142
142
143
144
144
146
146
147
147
148
148
149
150
151
152
153
154
155
156
157
157
158
158
159
160
161
163
169
170
174
176
178
183
185
186
186
186
186
186
185
184
182
180
179
176
176
175
173
168
158
152
149
148
148
148
148
146
145
140
138
133
133
128
122
119
114
112
112
111
108
105
99
98
97
95
94
94
94
92
92
92
90
98
98
99
99
101
106
106
107
108
108
108
108
112
112
113
113
113
110
110
109
116
119
124
129
129
129
129
129
129
129
129
127
124
120
115
116
116
116
117
112
109
107
107
106
106
107
108
108
108
108
107
107
107
106
106
103
101
98
97
97
96
95
94
88
88
88
88
89
89
89
85
80
72
68
64
62
61
59
58
55
54
53
53
52
52
51
49
48
47
46
41
40
29
29
27
27
27
27
26
26
26
26
26
26
26
26
25
25
25
25
24
24
24
24
24
24
23
23
23
23
23
22
21
24
23
22
22
22
22
21
21
21
21
20
19
19
19
19
19
19
17
17
17
17
16
16
16
16
16
16
16
15
15
15
15
15
15
15
15
15
15
14
14
14
14
13
12
9
8
4
2
1
0
1
1
1
1
1
1
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
1
1
1
1
1
0
2
0
0
1
2
2
2
2
2
2
2
2
2
2
2
3
5
6
6
7
7
8
8
7
6
5
2
2
1
4
5
5
6
6
6
6
6
7
7
6
6
6
4
3
5
2
5
3
4
5
5
5
5
4
4
5
6
6
7
2
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
9
9
8
8
8
7
7
12
11
11
8
7
7
7
7
7
7
7
7
7
7
7
7
7
6
4
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0