0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
2
2
3
3
4
4
5
5
5
6
7
8
9
9
9
9
9
9
9
9
10
10
12
16
18
23
24
29
29
32
37
48
57
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
77
77
77
77
77
77
77
77
77
77
77
78
78
78
78
78
78
78
78
78
78
79
79
79
79
79
79
80
81
82
82
82
82
83
83
84
84
84
84
84
84
84
84
84
85
85
85
85
88
93
93
96
100
100
100
102
105
105
107
110
115
118
118
118
122
123
138
149
158
168
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
177
178
178
178
179
180
180
180
180
180
180
180
180
180
180
180
180
180
180
181
182
182
182
183
183
183
183
183
183
183
183
183
183
184
184
184
184
184
184
184
188
193
197
198
203
207
211
215
218
219
220
221
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
223
223
223
224
224
224
225
225
226
226
227
227
228
229
230
231
232
232
232
232
232
232
232
232
233
233
235
239
241
246
247
252
252
256
262
275
284
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
305
305
305
305
305
305
305
305
305
305
306
307
307
307
307
308
308
308
308
308
308
309
309
309
309
309
309
310
311
312
312
312
312
313
313
314
314
314
314
314
314
314
314
314
315
315
315
315
318
323
323
326
330
330
330
332
335
335
337
341
346
349
349
349
353
354
369
381
392
401
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
410
411
411
411
412
413
413
413
413
413
413
413
413
413
413
413
413
413
413
414
415
415
415
416
416
416
416
416
416
416
416
416
416
417
417
417
417
417
417
417
421
426
430
431
436
440
444
448
451
452
453
454
455
455
455
455
455
455
456
456
456
456
457
457
457
457
458
459
459
460
461
461
462
462
463
463
464
465
466
467
467
468
468
469
470
470
471
472
474
476
477
481
481
484
487
491
494
498
502
505
510
513
518
528
536
546
560
567
579
579
579
580
580
580
580
580
580
580
581
581
581
581
582
582
582
582
582
582
582
583
583
583
584
585
585
585
585
585
585
585
585
586
586
586
586
586
586
587
587
587
587
587
587
588
589
590
590
591
592
592
592
593
594
595
596
597
598
599
600
601
601
601
601
602
603
604
604
605
606
606
607
608
609
610
611
611
612
613
614
615
615
616
616
617
617
617
617
618
619
620
621
622
622
622
622
623
623
623
624
625
626
627
627
628
628
628
631
633
636
636
636
639
641
646
646
646
651
656
656
661
665
665
668
673
678
681
681
684
688
689
693
697
702
705
720
733
743
745
756
756
756
756
756
756
756
756
756
756
756
756
756
756
756
756
756
756
756
756
756
756
756
757
758
759
759
760
761
762
762
762
763
764
764
764
764
764
764
765
765
765
766
767
768
768
769
770
771
771
771
771
771
772
773
773
774
775
776
776
776
777
777
778
782
787
791
794
799
804
809
814
819
820
821
822
823
