0
0
0
0
0
0
0
0
1
1
1
2
3
3
4
5
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
9
14
19
22
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
32
33
34
34
34
34
34
34
34
34
34
34
34
35
35
35
35
35
35
35
35
35
35
36
37
38
38
38
38
38
38
38
38
38
38
38
38
39
39
40
40
40
40
40
40
40
40
40
40
40
41
42
43
44
45
46
47
47
47
47
47
47
47
47
47
47
47
47
47
47
48
48
49
50
51
51
51
54
54
54
56
57
62
64
65
65
67
72
75
79
83
88
91
91
91
91
91
91
94
95
96
100
104
108
110
119
131
140
143
146
155
155
155
155
155
155
155
155
155
155
156
157
157
157
157
158
158
158
159
160
161
162
163
163
164
164
164
164
165
165
165
166
167
168
169
170
170
170
170
171
172
173
174
174
174
175
175
176
177
178
179
180
180
181
182
183
184
185
185
186
187
187
187
188
189
190
191
192
193
194
194
194
194
194
194
194
194
195
196
196
196
196
196
196
196
201
204
207
212
217
220
225
229
232
235
239
239
242
243
244
245
246
247
248
249
250
251
252
252
253
254
255
256
256
256
256
256
256
256
256
257
257
257
258
259
259
260
261
262
262
262
262
263
263
263
263
263
263
263
263
263
263
263
266
273
278
281
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
290
291
292
293
293
293
293
293
293
293
293
293
293
293
294
294
294
294
294
294
294
294
294
294
295
296
297
297
297
297
297
297
297
297
297
297
297
298
299
299
300
300
300
300
300
300
300
300
300
300
300
301
302
303
304
305
306
307
307
307
307
307
307
307
307
307
307
307
307
307
307
308
308
309
310
311
311
311
314
314
315
317
319
324
327
329
329
331
336
339
343
347
352
355
355
357
358
358
358
361
362
363
367
371
375
377
386
398
407
410
413
422
422
422
422
422
422
422
422
422
422
423
424
424
425
425
426
427
427
428
429
430
431
432
432
433
433
433
433
434
434
434
435
436
437
438
439
439
439
439
440
441
442
443
443
443
444
444
445
446
447
448
449
449
450
451
452
453
454
454
455
456
456
456
457
458
459
460
461
462
463
463
463
463
463
463
463
464
465
466
466
466
466
466
466
466
471
474
477
482
487
490
495
499
502
505
510
511
514
515
516
517
518
519
520
521
522
523
524
524
525
526
527
528
528
528
528
528
528
528
528
529
529
529
530
531
531
532
533
534
534
534
534
535
535
535
535
535
536
537
537
539
540
541
544
552
557
560
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
569
570
571
572
572
572
572
572
572
572
572
572
572
573
574
574
574
574
574
574
574
574
574
574
575
576
577
577
577
577
577
577
577
577
577
577
577
578
579
579
580
580
580
580
580
580
580
580
580
580
580
581
582
583
584
585
586
587
587
587
587
588
588
588
588
588
588
589
590
590
591
592
593
594
595
596
596
596
599
601
603
606
609
614
618
621
623
627
632
635
639
643
648
651
651
654
655
655
655
658
659
660
664
668
673
676
685
697
706
709
712
721
721
721
721
721
721
721
721
721
721
722
723
723
724
724
725
726
726
727
728
729
730
731
731
732
733
733
733
734
734
734
735
736
737
738
739
739
740
740
741
742
743
744
744
744
745
745
746
747
748
749
750
750
751
752
753
754
755
755
756
757
757
757
758
759
760
761
762
763
764
764
764
764
764
764
764
765
766
767
767
767
767
768
769
770
775
778
781
786
791
794
799
804
807
810
815
816
818
821
822
823
824
825
826
827
828
829
830
830
831
832
833
834
834
835
835
835
836
836
836
837
837
837
838
839
839
839
839
840
840
840
840
841
842
847
851
853
858
859
859
864
867
868
876
885
890
893
896
897
898
898
898
898
898
898
898
898
898
898
899
899
899
899
900
901
902
902
902
903
903
903
904
905
906
906
907
908
909
909
909
909
909
909
909
909
909
909
910
911
911
911
911
911
911
911
912
912
912
912
913
914
914
915
915
915
915
915
915
916
916
917
917
918
919
920
921
922
923
924
925
925
925
925
926
926
926
926
926
926
927
928
928
929
930
931
932
933
934
939
944
948
949
952
956
959
964
968
971
976
981
986
989
989
994
999
1002
1002
1005
1006
1006
1006
1009
1010
1011
1015
1020
1025
1028
1037
1049
1052
1055
1056
1065
1066
1066
1067
1068
1069
1070
1071
1072
1073
1073
1073
1073
1073
1074
1075
1076
1076
1077
1078
1079
1080
1081
1081
1082
1083
1083
1083
1084
1084
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1096
1097
1098
1098
1099
1100
1101
1102
1103
1104
1105
1106
1106
1106
1106
1106
1107
1108
1108
1108
1109
1110
1111
1111
1112
1113
1114
1114
1114
1114
1115
1115
1115
1115
1116
1117
1117
1117
1118
1119
1120
1121
1126
1129
1132
1137
1142
1145
1150
1155
1158
1158
1162
1163
1165
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1177
1178
1179
1180
1181
