0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
2
2
2
2
2
2
2
2
2
2
3
4
5
6
7
8
9
10
11
11
11
11
11
11
11
11
11
13
15
16
19
20
23
25
25
27
34
40
52
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
67
67
67
68
68
68
68
68
68
68
68
68
68
68
68
68
68
69
69
69
70
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
73
73
76
76
76
79
84
89
94
94
94
94
94
94
96
96
96
96
96
96
96
100
100
103
103
103
106
118
130
135
144
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
158
159
159
159
159
159
159
159
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
161
161
161
161
161
162
162
162
162
162
162
162
162
162
162
162
162
162
162
163
164
168
170
173
176
180
184
188
188
190
191
192
193
194
194
194
194
194
194
194
194
194
194
194
194
194
195
195
195
196
196
196
196
196
196
196
196
196
196
197
198
199
200
201
202
203
204
205
206
206
206
206
206
206
206
206
206
208
211
212
215
218
222
227
227
230
237
243
258
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
275
276
277
277
278
278
278
278
278
278
278
278
279
279
279
280
280
280
281
282
282
283
284
284
284
284
284
284
284
284
284
284
284
284
285
285
285
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
287
287
287
287
287
287
287
287
287
287
288
288
288
288
288
288
288
292
292
296
296
296
299
304
309
314
314
314
314
314
314
316
316
316
316
316
316
316
320
320
323
323
323
326
341
352
358
370
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
386
387
387
387
387
387
387
387
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
388
389
389
389
389
389
389
389
389
389
389
389
389
389
389
390
391
395
397
401
405
409
413
418
418
422
423
424
425
426
426
426
426
426
426
426
426
427
427
427
427
428
429
429
429
430
430
430
430
431
431
432
432
433
434
435
436
437
438
439
440
441
442
443
444
445
447
449
453
456
461
465
469
474
478
483
488
493
498
503
518
532
547
562
572
589
589
589
589
589
589
589
589
590
590
591
592
593
593
593
593
593
594
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
595
596
596
597
598
599
599
600
601
601
602
603
603
604
605
606
606
607
608
609
610
611
612
613
614
615
616
616
617
618
619
619
620
621
622
623
623
624
625
626
627
627
627
627
628
629
629
629
630
631
632
633
633
633
633
633
633
634
635
636
637
637
637
637
637
637
637
638
639
640
641
644
648
652
657
662
667
667
671
676
681
686
691
691
695
699
704
708
713
713
713
716
716
716
716
721
721
726
726
726
729
743
755
761
776
791
791
791
791
791
791
791
791
791
792
793
793
793
793
794
795
796
796
796
796
796
796
796
797
797
797
798
798
799
799
799
799
799
799
799
800
801
801
801
801
801
801
801
802
803
803
804
804
805
805
805
805
805
805
806
806
806
807
807
807
808
808
809
810
814
817
822
826
831
836
841
846
851
852
853
854
855
