0
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
6
9
9
9
9
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
13
13
13
13
13
13
13
13
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
17
18
18
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
23
28
28
33
36
36
40
43
43
46
49
49
53
54
56
66
73
78
83
89
89
89
89
89
89
89
89
89
89
89
90
90
90
91
91
91
91
93
93
93
93
93
93
93
93
93
93
93
93
93
93
95
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
99
101
101
101
103
103
104
104
104
104
104
104
104
105
106
106
108
110
110
110
111
111
113
113
115
116
117
117
118
121
121
124
125
125
127
127
130
130
130
132
135
135
138
139
141
141
144
148
151
157
157
159
165
169
175
179
185
191
194
200
206
212
214
220
226
229
232
232
232
235
235
238
238
241
244
247
250
253
253
256
259
262
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
266
266
270
270
270
270
270
275
281
281
281
281
287
287
287
294
299
299
299
299
302
304
304
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
308
308
308
308
308
308
309
309
311
313
313
313
315
318
318
321
321
321
323
326
326
328
328
328
330
332
333
336
336
336
338
341
341
341
342
342
342
342
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
343
344
345
346
346
349
349
349
351
351
351
354
354
354
357
357
357
359
359
362
370
375
381
387
392
398
401
401
401
405
408
408
408
408
408
408
418
421
432
438
438
444
449
449
454
459
459
465
470
470
476
479
479
484
489
502
512
521
529
538
544
547
548
551
551
551
556
560
565
568
571
574
577
580
583
586
586
589
592
594
597
600
600
600
600
600
600
602
602
604
606
606
609
612
612
615
615
615
618
618
621
624
626
626
626
626
626
626
626
626
626
626
626
629
634
639
644
647
648
652
656
659
664
667
670
675
680
682
687
690
693
696
699
702
702
705
708
708
711
714
714
717
720
720
723
726
729
732
735
735
738
741
741
744
746
746
749
749
752
755
755
758
761
761
764
767
770
770
773
778
784
790
793
804
814
825
836
842
848
854
860
866
872
878
881
887
893
896
899
902
902
905
910
915
915
920
925
928
931
934
934
937
940
945
