0
0
0
0
1
2
2
2
2
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
10
15
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
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
24
25
25
26
26
26
26
26
26
26
26
26
26
26
26
30
34
34
34
34
34
34
35
36
37
37
39
40
40
42
43
45
47
57
62
66
71
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
78
79
80
80
81
82
82
82
82
83
84
84
84
84
85
86
87
88
88
89
89
89
89
90
91
92
96
100
104
108
111
113
115
116
117
118
118
118
118
119
120
120
120
120
121
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
124
130
134
144
153
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
168
169
169
169
169
169
169
170
170
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
172
172
172
172
172
173
174
174
174
174
174
175
176
177
178
179
180
181
182
182
182
183
186
186
186
186
187
187
190
194
199
200
200
200
201
204
207
211
213
214
217
219
220
224
226
229
233
247
256
264
273
281
281
282
283
284
284
284
284
284
284
284
284
284
284
284
285
285
286
287
288
288
289
290
290
291
292
293
294
294
294
295
296
297
298
299
299
300
300
300
300
301
302
303
308
313
318
323
328
332
336
337
338
339
339
340
340
341
342
342
342
342
343
344
345
346
347
348
348
349
349
349
349
349
352
356
360
365
369
370
370
375
379
382
394
406
418
429
449
450
451
452
453
454
454
455
455
456
456
456
456
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
470
471
472
473
473
473
473
474
475
476
476
477
478
479
480
481
482
483
484
485
486
487
488
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
509
509
510
515
520
522
525
529
534
539
544
549
554
559
564
569
574
579
584
588
593
598
602
607
612
616
621
626
641
655
664
677
687
688
689
690
691
692
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
714
715
716
717
718
719
719
720
721
722
723
724
725
726
731
736
741
746
751
755
759
760
761
762
