0
0
1
1
1
1
1
2
3
3
3
4
5
5
5
5
5
6
7
7
7
9
12
13
14
18
22
26
31
35
36
40
48
53
58
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
68
68
68
68
69
69
70
71
71
71
72
72
72
73
73
74
75
76
76
76
76
76
76
76
76
77
77
77
77
77
78
78
78
78
78
79
80
81
81
81
82
82
82
83
83
84
85
85
85
85
85
85
85
85
85
85
86
86
86
86
86
86
86
86
86
86
86
86
86
86
89
91
95
100
100
102
105
110
115
115
118
118
123
127
127
130
131
136
141
141
145
148
152
155
155
157
158
159
160
160
161
162
163
164
172
181
189
197
205
208
210
210
210
210
210
210
210
210
211
212
212
212
212
212
212
212
212
213
214
214
214
214
214
214
215
215
215
215
215
216
217
217
217
217
217
217
217
217
217
218
218
218
218
218
219
220
220
220
221
221
221
221
222
223
224
224
224
224
224
224
224
224
225
225
225
225
225
225
225
225
226
226
227
227
227
227
227
227
227
227
227
227
227
228
228
229
230
230
231
231
232
232
232
232
232
233
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
239
243
248
250
252
256
261
264
267
270
273
276
278
283
285
287
290
292
292
293
294
294
294
295
296
297
298
299
300
301
302
302
303
304
304
305
305
306
307
308
308
309
309
309
309
309
310
311
311
311
312
313
313
313
313
313
314
315
315
315
317
319
320
321
325
329
333
338
342
343
346
354
359
364
378
378
378
378
378
378
379
380
381
381
381
381
381
382
382
382
382
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
384
385
385
386
387
388
389
390
390
391
392
393
394
395
396
397
397
397
397
397
397
397
397
398
398
399
399
399
399
400
401
402
403
404
405
406
407
408
408
408
409
409
409
410
410
411
412
412
412
412
412
412
412
412
412
412
413
413
413
413
413
413
413
413
413
413
413
413
413
413
416
420
424
428
432
436
440
445
449
449
454
458
463
467
470
475
480
485
490
490
493
496
500
503
503
504
508
509
510
510
510
512
513
514
527
541
554
567
580
585
587
587
587
587
587
587
587
587
588
589
589
589
589
589
590
591
591
592
593
594
594
594
594
594
595
595
595
595
595
596
597
597
597
597
598
598
598
598
599
600
600
600
600
600
601
602
603
603
604
605
605
605
606
607
608
608
608
608
608
608
608
608
609
609
609
610
611
612
612
612
613
614
615
615
615
615
616
617
618
618
619
619
620
621
622
623
624
624
625
626
627
627
627
628
629
630
631
632
633
633
634
635
636
636
636
637
638
639
640
640
640
640
641
641
641
646
651
654
656
659
663
668
672
675
678
681
684
686
691
696
700
703
706
707
708
709
709
709
710
711
712
713
714
715
716
717
717
718
719
719
720
720
721
722
723
