0
0
0
0
0
0
0
0
1
1
1
1
1
2
2
2
2
3
4
4
5
5
5
5
5
5
5
5
8
9
10
10
12
14
17
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
22
23
23
23
23
23
23
23
23
23
23
24
24
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
27
28
29
29
29
29
29
29
29
29
29
29
29
30
31
31
31
31
31
31
31
31
31
31
31
31
33
33
33
33
33
38
38
38
38
38
39
43
48
51
51
51
51
51
51
52
53
54
54
55
58
58
70
84
93
94
96
101
101
101
101
101
101
101
101
101
101
102
102
103
103
103
104
104
104
104
105
106
106
106
106
106
106
106
106
106
106
106
106
106
106
107
107
108
108
108
109
109
109
109
110
111
111
111
112
113
113
113
113
113
113
113
113
114
114
114
114
114
114
114
115
116
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
122
124
128
132
137
142
147
152
155
158
162
162
163
164
165
166
166
166
167
168
169
170
171
172
172
173
174
175
175
175
175
175
175
175
175
176
176
176
176
176
177
177
177
177
178
179
179
180
180
180
180
180
180
180
180
183
184
185
185
187
189
192
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
200
200
200
200
200
200
200
200
200
200
201
201
202
202
202
202
202
202
202
202
202
202
202
202
202
202
202
203
203
204
205
206
206
206
206
206
207
207
207
207
207
207
208
209
209
209
209
209
210
211
211
211
211
211
211
213
213
213
213
213
218
218
218
218
218
219
223
228
231
231
231
232
232
232
233
234
235
236
237
242
245
257
272
284
285
288
297
297
297
297
297
297
297
297
297
297
298
298
299
299
299
300
300
300
300
301
302
302
302
302
302
302
302
302
302
302
302
302
302
302
303
303
304
304
304
305
305
305
305
306
307
307
307
308
309
309
309
309
309
309
309
309
310
310
310
310
311
311
311
312
313
314
314
314
314
315
315
315
315
315
315
315
316
316
317
317
317
317
317
318
319
324
326
330
334
339
344
349
354
357
360
365
365
367
368
369
370
370
370
371
372
373
374
375
376
376
377
378
379
379
379
379
379
379
379
380
381
381
381
381
382
383
383
383
383
384
385
385
386
386
388
388
388
390
395
398
403
406
407
417
429
434
437
449
449
449
449
449
449
449
449
449
449
449
450
450
450
450
450
451
451
451
451
452
452
452
452
453
453
453
453
453
453
453
453
453
453
453
453
453
454
454
455
456
456
456
456
456
456
456
457
457
458
459
460
461
462
463
463
464
465
465
465
466
467
468
469
469
470
471
472
472
473
474
475
475
475
475
475
476
476
476
476
476
476
477
478
478
479
480
481
482
483
483
483
483
483
483
487
487
487
487
487
492
497
499
504
507
512
517
522
525
525
528
529
529
529
534
535
536
541
546
551
554
568
583
595
598
603
614
614
614
614
614
614
614
614
614
614
615
615
616
616
616
617
617
617
617
618
619
619
619
620
621
621
621
621
621
621
621
621
621
621
622
622
623
623
623
624
624
624
624
625
626
626
626
627
628
628
629
629
629
630
630
630
631
632
632
633
634
634
634
635
636
637
637
638
639
640
640
640
640
641
641
641
642
643
644
644
644
644
645
646
647
652
657
662
667
672
677
682
687
690
693
698
699
702
705
706
707
707
707
708
709
710
711
712
713
713
714
715
716
