0
0
0
1
1
1
1
1
1
1
1
1
1
2
3
4
5
6
7
7
8
8
8
10
11
11
11
11
14
17
21
21
23
30
42
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
67
67
67
67
67
67
67
68
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
70
70
71
72
73
74
75
75
75
75
75
75
75
76
77
78
79
80
81
81
81
81
82
82
82
82
82
82
82
82
82
82
87
87
87
87
87
87
90
92
97
101
106
107
109
113
115
115
117
120
123
124
126
130
133
147
160
174
184
195
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
206
206
206
206
207
207
208
208
209
209
209
209
210
211
211
211
211
211
211
211
212
212
213
213
213
214
215
215
215
216
217
217
217
217
217
217
218
218
218
218
218
218
219
220
221
222
222
222
222
222
222
222
222
222
223
224
225
225
226
226
226
226
226
226
226
231
236
241
246
251
254
258
262
267
271
276
280
282
286
287
288
289
290
291
291
292
293
293
293
294
295
296
297
297
297
298
298
298
298
298
298
298
298
298
298
299
300
301
302
303
304
304
305
305
305
307
308
308
308
308
311
314
318
318
320
327
339
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
367
367
367
367
367
367
367
368
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
370
370
370
371
372
373
374
374
374
374
374
374
374
375
376
377
378
379
380
380
380
380
381
381
381
381
381
381
381
381
381
381
386
386
386
386
386
386
389
390
394
398
403
404
406
410
413
413
416
421
426
427
429
433
436
450
463
477
488
499
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
510
511
511
511
511
512
512
513
513
514
514
515
515
516
517
517
517
517
517
517
517
518
518
519
519
519
520
521
521
521
522
523
523
523
523
523
523
524
524
524
524
524
524
525
526
527
528
528
528
528
528
528
528
528
528
529
530
531
531
532
532
532
532
532
532
532
537
542
547
552
557
560
564
568
572
577
582
586
588
592
593
594
595
596
597
597
598
599
599
599
600
601
602
603
603
603
604
604
604
604
604
604
604
604
604
604
605
606
607
608
609
610
610
611
611
611
613
614
614
614
614
617
620
624
624
626
633
645
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
673
673
673
673
673
673
673
674
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
675
676
676
677
678
679
680
681
681
681
681
681
681
681
682
683
684
685
686
687
687
687
687
688
688
688
688
688
688
688
688
688
688
693
693
693
693
693
693
696
696
700
704
709
709
711
715
718
718
721
726
731
731
733
737
740
754
767
782
792
803
812
812
812
812
812
812
812
812
812
812
812
812
812
812
812
812
812
812
812
812
813
813
813
813
814
814
815
815
816
816
817
817
818
819
819
819
819
819
819
819
820
820
821
821
821
822
823
823
823
824
825
825
825
825
825
825
826
826
826
826
826
826
827
828
829
830
830
830
830
830
830
830
830
830
831
832
833
833
834
834
834
834
834
835
836
841
846
851
856
861
864
868
872
874
878
883
886
888
890
891
892
893
894
895
895
896
897
897
897
898
899
900
901
901
901
902
902
902
902
902
902
902
902
902
902
903
904
905
906
907
908
908
909
909
909
911
912
912
912
912
915
918
922
925
928
933
944
966
966
966
966
966
966
966
966
966
966
966
966
966
966
966
966
966
966
967
967
967
967
967
967
967
968
969
969
970
970
970
970
970
970
970
970
970
970
971
971
971
971
971
971
971
971
971
971
971
971
971
971
972
973
973
973
973
973
973
973
973
973
973
974
974
975
976
976
976
976
977
978
979
979
979
979
979
979
979
979
979
979
980
981
982
983
984
984
985
985
985
985
985
985
985
985
987
987
990
990
990
990
990
990
994
994
997
1000
1005
1005
1007
1008
1009
1009
1010
1014
1018
1020
1022
1024
1026
1040
1054
1063
1063
1069
1074
1074
1074
1074
1074
1074
1074
1074
1074
1074
1075
1075
1075
1076
1076
1076
1076
1076
1076
1076
1077
1077
1077
1077
1078
1078
1079
1079
1080
1080
1081
1081
1082
1083
1083
1083
1083
1083
1083
1083
1084
1084
1085
1085
1085
1086
1087
1087
1087
1088
1089
1089
1089
1090
1091
1091
1091
1091
1091
1091
1091
1091
1091
1092
1093
1094
1094
1095
1096
1096
1096
1096
1096
1097
1097
1098
1099
1100
1101
1101
1101
1101
1102
1103
1104
1107
1112
1117
1122
1127
1132
1137
1142
1142
1144
1144
1148
1149
1153
1154
1155
1156
1157
1158
1158
1159
1160
1160
1160
1161
1162
1163
1164
