0
0
0
0
0
0
0
0
0
0
0
1
2
2
2
2
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
9
14
17
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
22
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
25
26
26
26
26
26
26
26
26
26
29
31
32
34
36
37
39
39
43
47
50
50
51
52
52
52
52
52
52
56
61
65
68
77
83
86
89
91
98
98
98
98
98
98
98
98
98
98
98
98
98
99
99
100
100
100
101
101
102
103
104
104
104
104
104
104
104
104
104
105
106
107
108
108
108
108
109
109
109
109
109
109
109
110
110
110
110
110
110
111
112
113
114
114
114
114
114
114
114
114
114
114
115
116
116
117
117
117
117
117
117
117
117
117
117
118
119
119
119
120
121
122
123
128
131
134
139
142
145
147
151
151
154
158
158
161
162
163
164
165
166
167
168
169
170
170
171
172
173
174
175
175
175
175
175
175
175
175
175
175
175
176
177
177
177
177
178
178
178
178
179
179
179
179
179
179
179
179
179
179
179
179
185
190
193
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
197
197
198
199
199
199
200
200
200
200
200
200
200
200
200
200
200
200
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
202
202
202
202
202
202
202
202
202
202
202
202
202
203
204
205
206
207
208
208
208
208
208
208
209
210
213
216
218
220
222
223
225
225
229
233
236
236
237
238
238
238
239
240
241
246
251
256
259
268
275
278
281
284
292
292
292
292
292
292
292
292
292
292
292
292
292
293
293
294
294
294
295
295
296
297
298
298
298
298
298
298
298
299
300
301
302
303
304
304
304
304
305
305
305
305
305
305
305
306
306
306
306
306
306
307
308
309
310
310
310
310
310
310
310
310
310
311
312
313
313
314
315
316
316
316
316
316
316
316
316
317
318
318
318
319
320
321
322
327
330
333
338
341
344
346
351
351
354
359
360
363
366
367
368
369
370
371
372
373
374
374
375
376
377
378
379
379
379
379
379
379
379
379
379
379
379
380
381
381
381
381
382
382
382
382
383
383
383
383
383
383
383
383
384
384
384
384
390
395
398
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
401
402
402
403
404
404
404
405
405
405
405
405
405
405
405
405
405
405
405
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
407
407
408
408
408
408
408
408
408
408
408
408
408
408
408
409
410
411
412
413
414
414
414
414
414
415
415
418
421
425
428
431
434
437
439
439
443
448
451
451
454
455
455
455
458
459
460
465
470
475
478
487
494
497
500
503
512
512
512
512
512
512
512
512
512
512
512
512
512
513
513
514
514
515
516
516
517
518
519
519
519
519
519
519
520
521
522
523
524
525
526
526
527
527
528
528
528
528
528
528
529
530
530
530
530
530
530
531
532
533
534
534
534
534
534
534
535
535
535
536
537
538
538
539
540
541
541
541
541
541
541
541
541
542
543
543
543
544
545
546
547
552
555
558
563
567
570
573
578
581
584
589
590
593
596
597
598
599
600
601
602
603
604
604
605
606
607
608
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
610
610
610
610
611
611
612
612
612
613
613
613
615
617
617
620
623
627
630
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
633
634
634
634
634
635
635
635
635
635
635
635
635
635
635
635
635
636
636
636
636
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
637
638
639
639
639
639
639
640
640
640
640
640
640
641
642
642
643
643
643
644
645
645
646
647
647
650
653
657
660
663
667
670
673
676
680
683
683
684
687
690
690
693
694
694
694
697
698
699
703
708
712
715
724
730
733
736
739
747
747
747
748
749
749
749
750
751
751
751
751
751
751
752
753
753
754
755
755
756
757
758
758
758
759
759
759
760
761
762
763
764
765
766
766
767
767
768
768
768
769
770
770
771
772
772
772
773
774
775
776
777
778
779
779
779
779
779
780
781
781
781
782
783
784
784
785
785
785
785
785
785
786
786
786
786
787
787
787
787
788
789
790
791
796
799
802
807
811
814
817
822
825
827
831
832
835
838
839
840
841
842
843
844
845
846
846
847
848
849
850
851
