0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
2
2
2
3
3
4
4
4
5
5
6
7
8
8
9
10
11
11
12
12
12
13
13
13
15
15
16
18
18
19
20
24
25
27
30
32
34
37
40
43
43
46
46
46
50
50
55
58
65
71
71
76
76
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
82
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
84
84
84
84
84
84
85
85
86
86
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
88
88
88
88
89
89
90
90
90
90
90
90
90
90
91
91
91
91
91
91
92
92
92
92
92
93
94
94
94
94
94
94
94
94
94
95
96
96
97
98
98
99
100
101
102
103
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
105
105
106
107
108
108
108
108
108
109
110
110
111
111
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
113
114
114
114
115
116
116
116
116
116
117
118
118
119
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
121
122
122
122
122
122
122
123
124
124
124
124
126
126
126
126
126
126
126
126
126
126
126
126
126
126
126
130
134
134
134
134
135
135
135
135
135
135
135
135
135
137
138
138
140
140
142
142
144
146
146
151
152
157
162
162
162
162
162
162
162
164
164
166
168
168
169
169
170
170
170
175
175
180
185
188
192
197
202
206
210
215
219
224
229
229
229
232
232
235
238
238
240
243
243
243
244
244
245
249
251
251
255
256
258
258
258
258
260
263
266
271
272
277
282
284
286
296
302
309
309
309
309
309
313
313
313
313
313
320
320
332
344
356
368
370
374
381
390
399
404
416
421
430
441
448
460
472
484
494
513
513
513
536
548
572
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
597
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
598
599
600
601
602
602
602
602
602
602
602
602
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
604
605
605
605
605
605
605
605
605
606
607
608
608
608
608
608
608
608
608
609
609
610
611
611
611
612
612
612
612
612
612
612
612
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
614
615
616
617
618
619
620
621
622
622
622
622
622
622
622
622
622
622
622
623
623
624
625
625
625
626
626
627
628
628
628
629
630
630
631
631
631
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
632
633
633
633
634
634
634
634
635
636
637
637
637
637
638
638
639
640
640
640
640
640
640
640
640
640
641
642
642
643
644
644
644
645
646
646
646
646
646
646
646
646
647
648
649
650
651
652
653
653
654
655
656
656
656
656
656
656
656
656
656
657
657
657
657
658
658
658
659
660
661
662
663
664
665
666
667
668
668
668
668
668
668
668
668
668
668
668
668
669
669
669
669
670
670
670
670
670
670
670
670
670
671
671
671
671
671
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
673
674
674
674
674
674
675
676
676
676
677
678
678
678
678
678
678
678
678
679
680
680
680
681
682
682
682
682
682
682
682
682
682
683
684
685
685
685
685
685
685
685
685
685
688
688
688
688
688
688
690
692
692
692
692
693
694
694
696
699
704
709
714
714
718
722
722
722
722
726
729
732
734
737
741
746
750
755
755
755
757
759
759
759
759
759
759
759
759
763
768
773
778
782
786
790
794
799
804
808
810
815
820
822
827
832
837
842
842
842
842
842
843
848
853
858
863
863
863
863
863
868
868
872
872
875
880
883
888
893
898
903
903
903
903
903
903
903
908
911
911
911
916
921
921
921
921
926
926
926
926
927
927
927
927
932
942
955
969
983
996
1011
1016
1028
1039
1050
1062
1077
1089
1102
1117
1131
1146
1159
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1175
1176
1176
1176
1176
1176
1176
1176
1176
1176
1177
1178
1178
1178
1178
1178
1179
1179
1179
1179
1179
1179
1179
1180
1180
1181
1181
1181
1181
1181
1181
1181
1181
1181
1181
1182
1183
1183
1184
1185
1185
1185
1185
1185
1185
1185
1186
1187
1188
1188
1188
1189
1190
1190
1190
1190
1191
1191
1191
1191
1192
1192
1193
1193
1194
1194
1194
1194
1194
1194
1194
1194
1194
1194
1194
1195
1196
1196
1196
1196
1197
1198
1198
1198
1198
1198
1198
1198
1199
1200
1201
1201
1202
1203
1204
1204
1204
1204
1205
1205
1205
1205
1206
1206
1206
1206
1207
1207
1207
1207
1207
1207
1207
1207
1207
1207
1208
1209
1209
1210
1211
1212
1212
1213
1213
1213
1214
1214
1218
1221
1225
1229
1233
1233
1233
1237
1242
1246
1246
1251
1251
1256
1261
1266
1271
1276
1281
1286
1291
1292
1293
1294
1295
1296
1297
1298
