0
0
0
1
1
1
2
3
3
3
4
4
4
4
4
5
6
6
6
7
7
7
7
8
8
8
9
12
12
12
13
13
13
14
17
18
18
18
19
19
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
22
22
22
23
23
24
25
25
25
25
25
26
26
26
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
28
29
29
29
30
30
30
30
30
30
30
30
31
31
31
31
32
32
32
32
32
32
32
32
32
34
34
35
36
36
36
36
36
36
37
37
37
40
40
45
50
51
51
55
59
61
61
65
68
69
69
71
75
78
83
90
93
99
100
100
100
100
100
100
100
100
100
100
101
101
101
101
101
101
101
101
101
101
101
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
103
104
104
104
104
104
104
104
105
105
105
106
106
106
106
106
107
107
107
107
107
107
108
108
109
110
110
110
110
110
110
110
110
110
111
112
112
112
112
112
112
112
112
112
112
117
118
119
119
124
126
131
135
139
144
149
153
153
157
158
159
159
159
160
161
162
163
164
164
164
165
166
167
167
167
168
168
168
169
170
170
170
171
171
171
171
171
172
173
173
173
174
174
175
175
177
177
177
178
181
181
181
184
186
186
190
196
201
201
201
202
202
203
203
203
203
203
203
203
203
203
203
203
203
203
204
204
204
204
204
204
204
205
205
205
205
205
205
205
205
205
205
205
205
205
205
206
206
207
208
208
208
208
208
209
209
209
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
211
212
212
212
213
213
213
213
213
213
213
213
214
214
214
214
215
215
215
215
215
215
215
215
215
217
217
218
219
219
219
219
219
219
222
222
222
225
225
230
235
236
236
240
244
246
246
250
253
254
254
256
260
263
273
283
290
297
301
301
301
301
301
301
301
301
301
301
302
302
302
302
302
302
302
302
302
302
302
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
304
305
305
305
305
305
305
305
306
306
307
308
308
308
308
308
309
309
309
309
310
311
312
312
313
314
314
314
314
314
314
314
314
314
315
316
316
316
316
316
316
316
316
316
316
321
322
323
323
328
331
336
340
345
350
355
359
360
364
365
366
366
366
367
368
369
370
371
372
372
373
374
375
375
375
376
376
376
377
378
378
378
379
379
379
379
379
380
381
381
381
382
382
383
383
385
385
385
386
389
389
389
392
394
394
398
404
408
408
408
409
409
410
410
410
410
410
410
410
410
410
410
410
410
411
412
412
412
412
412
412
412
413
413
413
413
413
413
413
413
413
413
413
413
413
413
414
414
415
416
416
416
416
416
417
417
417
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
419
420
420
420
421
421
421
421
421
421
421
421
422
422
422
422
423
423
423
423
423
423
423
423
423
425
425
426
427
427
427
427
427
427
430
430
430
433
433
438
443
444
444
448
452
454
454
458
461
461
461
463
467
467
478
488
495
502
506
506
506
506
506
506
506
506
506
506
507
507
507
507
507
507
507
507
507
507
507
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
508
509
510
510
510
510
510
510
510
511
511
512
513
513
513
513
513
514
514
515
515
516
517
518
518
519
520
520
520
520
520
520
520
520
520
521
522
522
522
522
522
522
522
522
522
522
525
526
527
527
532
535
540
544
549
554
559
563
564
568
569
570
570
570
571
572
573
574
575
576
576
577
578
579
579
579
580
580
580
581
582
582
582
583
583
583
583
583
584
585
585
585
586
586
587
587
589
589
589
590
593
593
593
596
598
598
602
608
611
611
611
612
612
613
613
613
613
613
613
613
613
613
613
613
613
614
615
615
615
615
615
615
615
616
616
616
616
616
616
616
616
616
616
616
616
616
616
617
618
619
620
620
620
620
620
621
621
621
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
622
623
624
625
626
626
627
627
627
627
627
627
627
627
628
628
628
628
629
629
629
629
629
629
629
629
629
631
631
632
632
632
632
632
632
632
635
635
635
640
641
646
651
652
653
657
661
664
664
668
671
671
671
671
671
675
686
691
700
706
706
706
706
706
706
706
706
706
706
706
707
707
707
707
707
707
707
707
707
707
707
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
708
709
710
710
710
710
710
710
710
711
711
712
713
713
713
713
713
714
714
715
716
717
718
719
720
721
722
722
722
722
723
723
723
723
724
725
726
726
727
727
727
727
727
727
728
728
733
736
739
740
745
749
754
758
763
768
768
773
776
776
777
778
778
778
779
780
781
782
783
784
784
785
786
787
