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
17
26
32
32
32
32
32
32
32
32
32
32
32
32
33
33
34
34
34
34
34
34
34
35
35
35
35
35
35
35
35
35
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
37
37
38
38
38
38
38
39
39
40
41
41
41
41
41
41
41
41
42
42
42
42
43
43
43
43
43
43
43
43
44
45
45
45
46
46
46
50
50
50
50
50
50
50
50
51
52
52
54
55
55
56
59
61
61
65
67
68
68
72
76
79
79
84
89
100
102
104
115
122
134
134
134
134
134
134
134
134
134
135
136
136
136
136
137
137
137
137
137
137
137
137
138
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
140
140
140
140
140
140
140
140
140
141
141
141
141
141
141
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
143
143
143
144
145
146
146
147
148
148
148
148
148
148
153
158
161
166
166
170
172
176
180
180
184
188
193
198
198
199
200
201
202
203
203
204
204
205
206
207
208
209
209
209
210
210
210
211
212
212
212
213
213
213
213
213
214
215
215
215
216
216
217
217
219
219
219
220
223
223
223
227
229
229
237
247
257
257
257
257
257
257
257
257
257
257
257
257
258
258
259
259
259
259
259
259
259
260
260
260
260
260
260
260
260
260
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
262
262
262
263
263
263
263
263
264
264
265
266
266
266
266
266
266
266
266
267
267
267
267
268
268
268
268
268
268
268
268
269
270
270
270
271
271
271
275
275
275
275
275
275
275
275
276
277
277
279
280
280
282
285
287
287
291
293
294
294
298
302
305
305
310
315
327
329
332
343
351
366
366
366
366
366
366
366
366
366
367
368
368
368
368
369
369
369
369
369
369
369
369
370
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
372
372
372
372
372
372
372
372
373
374
374
374
374
375
375
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
377
377
377
378
378
378
379
380
381
381
382
383
383
383
383
384
385
390
395
398
403
403
407
409
414
418
419
424
428
433
438
438
439
440
441
442
443
443
444
444
445
446
447
448
449
449
449
450
450
450
451
452
452
452
453
453
453
453
453
454
455
455
455
456
456
457
457
459
459
459
460
463
463
463
467
469
469
477
489
499
499
499
499
499
499
499
499
499
499
499
499
500
500
501
501
501
501
501
501
501
502
502
502
502
502
502
502
502
502
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
503
504
504
504
505
505
505
505
505
506
506
507
508
508
508
508
508
508
508
508
509
509
509
509
510
510
510
510
510
510
510
510
511
512
512
512
513
513
513
517
517
517
517
517
517
517
517
518
519
519
521
522
522
524
528
530
530
534
536
537
537
541
546
549
549
554
559
571
573
577
587
596
611
611
611
611
611
611
611
611
611
612
613
613
613
613
614
614
614
614
614
614
614
614
615
616
616
616
616
616
616
616
616
616
616
616
616
616
616
616
617
617
617
617
617
617
617
617
618
619
619
619
619
620
620
621
621
622
622
623
623
623
623
623
623
623
623
623
623
623
624
624
624
625
625
625
626
627
628
628
629
630
631
631
631
632
633
637
642
645
650
650
654
656
661
665
666
671
675
680
685
685
686
687
688
689
690
690
691
691
692
693
694
695
696
696
696
697
697
697
698
699
699
699
700
700
700
700
700
701
702
702
702
703
703
704
704
706
706
707
708
711
711
711
715
717
719
729
741
753
753
753
753
753
753
753
753
753
753
753
753
754
754
755
755
755
755
755
755
756
757
757
757
757
757
757
757
758
758
759
759
759
759
759
759
759
759
759
759
759
759
759
759
759
759
759
759
759
759
759
759
759
759
759
760
760
760
761
761
761
761
761
762
763
764
765
766
766
766
767
767
767
767
768
768
768
768
769
769
769
769
770
771
771
771
772
773
774
775
776
776
776
780
780
780
780
780
781
781
781
782
785
787
792
792
793
797
802
804
809
814
816
817
820
825
830
834
839
844
849
860
863
868
880
891
906
906
906
906
906
906
906
906
906
907
908
908
908
908
908
908
908
908
908
908
908
908
909
910
910
910
910
910
910
910
910
910
910
911
911
911
911
911
911
911
911
911
911
911
911
911
912
913
913
913
913
914
914
915
915
916
916
917
917
917
917
917
917
918
918
918
919
920
921
922
922
923
923
924
925
926
927
928
929
930
931
931
932
933
934
939
944
948
953
956
960
964
969
974
979
984
989
994
999
999
1000
1001
1002
1003
1004
1004
1005
1005
1006
1007
1008
1009
1010
