0
0
0
0
0
0
0
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
4
4
4
5
9
13
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
17
17
18
18
18
18
18
18
19
19
19
19
19
19
19
19
20
20
21
21
21
21
22
22
22
22
22
22
22
22
22
22
23
23
24
24
24
24
25
26
26
26
26
26
27
28
28
29
29
30
31
32
33
33
33
33
33
33
33
34
34
35
36
37
38
38
38
38
38
39
40
40
40
40
40
40
41
41
41
42
42
43
43
45
45
46
50
55
55
57
59
63
67
70
75
80
80
80
82
86
88
91
94
99
99
101
101
101
101
103
108
113
119
123
132
135
144
144
152
152
152
152
152
152
152
152
152
152
152
152
152
153
153
153
153
153
153
153
153
154
154
154
154
154
154
155
155
156
156
157
157
158
159
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
161
162
163
163
164
164
165
165
166
167
168
168
169
169
169
169
170
171
172
172
172
173
173
174
174
175
175
176
176
176
176
177
178
179
179
180
180
181
181
181
181
182
183
184
184
185
185
186
186
186
186
187
188
189
189
189
189
189
189
191
196
201
201
201
205
209
213
213
217
221
225
230
233
236
236
241
245
246
246
247
247
248
249
249
250
250
251
252
253
253
254
254
255
256
256
256
256
256
256
256
257
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
259
261
264
264
265
266
267
268
269
271
276
281
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
285
286
286
286
286
287
287
288
288
289
289
289
289
289
289
290
290
290
290
290
290
290
290
291
291
292
292
292
292
293
293
293
293
293
293
293
293
293
293
294
294
295
295
295
295
296
297
297
297
297
297
298
299
300
301
301
302
303
304
305
305
305
305
305
305
305
306
306
307
308
309
310
310
310
310
310
311
312
312
312
312
312
312
313
313
313
314
315
316
316
318
318
319
323
328
328
330
333
337
341
344
349
354
354
354
356
360
362
365
368
373
373
375
375
375
375
377
382
387
394
399
409
414
424
424
432
432
432
432
432
432
432
433
433
433
433
433
433
434
434
434
434
434
434
434
434
435
435
435
435
435
435
436
436
437
437
438
438
439
440
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
442
443
444
444
445
445
446
447
448
449
450
450
451
451
451
451
452
453
454
454
454
455
455
456
456
457
457
458
458
458
458
459
460
461
461
462
462
463
463
463
463
464
465
466
466
467
467
468
468
468
468
469
470
471
471
471
471
471
471
473
478
483
483
483
487
492
496
496
500
504
508
513
517
521
521
526
530
531
531
532
532
533
534
534
535
535
536
537
538
538
539
539
540
541
541
541
541
541
541
542
543
544
544
544
544
544
544
544
544
544
544
544
544
544
544
544
545
547
550
551
552
553
554
555
556
558
563
568
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
573
574
575
575
575
575
576
576
577
578
579
579
579
579
579
579
580
580
580
580
580
580
581
582
583
584
585
585
585
585
586
586
586
586
586
586
586
586
586
586
587
588
589
589
589
589
590
591
591
591
591
591
592
593
594
595
596
597
598
599
600
600
600
600
600
600
600
601
602
603
604
605
606
606
606
606
606
607
608
608
608
608
609
610
611
611
611
614
616
618
618
622
622
623
628
633
633
635
638
642
647
650
655
660
660
660
662
666
670
673
678
683
683
685
685
685
685
687
692
697
704
711
721
727
737
737
745
745
745
745
745
745
745
746
746
746
746
746
746
747
747
747
747
747
747
747
747
748
748
748
748
748
748
749
749
750
750
751
751
752
753
754
754
754
754
754
754
754
755
756
756
756
756
756
756
757
758
759
760
760
761
761
762
763
764
765
766
766
767
767
767
767
768
769
770
770
770
771
771
772
773
774
774
775
775
775
775
776
777
778
778
779
779
780
780
780
780
781
782
783
783
784
784
785
785
785
785
786
787
788
788
788
788
788
788
790
795
800
800
801
805
810
814
814
818
823
827
832
836
840
840
845
849
850
850
851
852
853
854
854
855
855
856
857
858
858
859
859
860
861
861
861
861
861
861
862
863
864
864
864
864
864
864
864
864
865
866
866
866
866
866
866
868
872
876
877
878
879
880
881
885
887
892
897
900
900
900
900
901
901
901
901
901
901
901
902
903
904
904
904
904
904
904
904
904
904
905
906
907
908
908
909
910
911
912
913
914
915
915
916
917
918
919
920
921
921
921
922
923
924
925
926
926
926
926
927
927
927
928
929
929
929
929
929
930
931
932
933
933
933
933
933
933
933
933
933
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
954
954
954
954
955
956
956
956
956
957
958
959
963
963
967
969
973
976
980
982
984
988
992
992
994
998
1002
1007
1010
1015
1020
1025
1027
1032
1037
1042
1045
1050
1055
1055
1057
1057
1058
1059
1061
1066
1071
1079
1084
1092
1099
1107
1109
1117
1117
1118
1119
1119
1120
1120
1121
1121
1121
1121
1122
1122
1123
1123
1124
1124
1125
1125
1125
1125
1125
1126
1126
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1138
1139
1140
1141
1141
1142
1143
1143
1144
1144
1144
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1156
1157
1157
1157
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1175
1176
1176
1177
1178
1179
1180
1181
1182
1183
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1201
1206
1211
1216
1218
1222
1227
1231
1231
1235
1240
1245
1250
1254
1258
1263
1268
1272
1273
1273
1274
1275
1276
1277
1278
1279
1279
1280
1281
1282
1282
1283
1283
1284
1285
