0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
6
6
6
6
6
6
6
7
7
8
9
9
10
10
10
10
10
10
10
10
11
11
11
11
12
12
12
13
13
16
16
17
17
19
22
23
23
25
28
30
32
35
39
42
42
42
42
44
49
52
57
60
60
60
60
60
63
64
67
70
76
80
87
91
97
97
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
104
104
105
105
106
107
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
109
109
110
110
111
111
112
113
114
115
116
116
116
116
116
117
117
117
118
118
118
119
119
120
120
121
121
121
121
121
121
122
123
123
123
123
124
125
126
127
127
127
127
127
127
128
128
128
128
128
129
130
131
132
132
132
132
132
132
135
140
145
145
146
150
154
157
157
161
166
170
175
180
183
183
188
192
193
193
194
195
195
195
196
197
197
198
199
200
200
201
201
202
203
203
203
203
203
203
203
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
206
208
208
208
209
209
210
214
217
221
224
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
231
231
232
232
232
232
232
232
232
232
233
233
233
233
233
233
234
234
235
235
235
235
235
235
235
235
235
235
235
235
236
236
236
236
237
237
237
237
237
237
238
238
239
239
239
239
240
240
241
241
241
241
242
242
243
243
243
243
243
243
244
245
245
246
247
247
248
248
248
248
248
248
248
248
249
249
249
249
250
250
250
251
252
256
256
257
257
259
263
264
264
266
270
272
274
277
282
285
285
285
285
287
292
295
300
303
303
303
303
303
306
309
312
315
325
331
341
348
359
359
368
368
368
368
368
368
368
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
370
370
371
371
372
373
374
374
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
376
376
377
377
378
378
379
380
381
382
383
383
383
383
383
384
384
384
385
385
385
386
386
387
387
388
388
388
388
388
389
390
391
392
392
392
393
394
395
396
396
396
396
396
396
397
397
397
397
397
398
399
400
401
401
401
401
401
401
405
410
415
415
418
423
428
432
432
437
442
446
451
456
460
460
465
469
470
470
471
472
472
472
473
474
474
475
476
477
477
478
478
479
480
480
480
480
480
480
481
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
482
485
487
488
488
489
489
490
499
502
507
510
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
517
518
518
519
520
520
520
520
520
520
520
521
521
521
522
522
522
523
524
525
526
526
526
526
526
526
526
526
526
526
526
527
527
527
527
528
528
528
528
528
528
529
529
530
530
530
530
531
531
532
533
533
534
535
535
536
536
537
538
539
539
540
541
542
543
544
544
545
545
545
545
545
545
545
545
546
546
546
546
547
547
547
548
550
553
553
556
556
558
563
564
564
566
570
572
576
579
584
587
587
587
589
591
596
599
604
607
607
607
607
607
610
614
618
621
632
641
653
661
672
672
684
684
684
684
684
684
684
685
685
685
685
686
686
686
686
686
686
686
686
686
686
687
687
687
687
687
687
688
688
689
689
690
691
692
693
694
694
694
694
694
694
694
694
694
694
694
694
694
694
694
695
695
696
696
697
697
698
699
700
701
702
702
702
702
702
703
704
705
706
707
707
708
709
710
711
712
712
712
712
712
713
714
715
716
716
716
717
718
719
720
720
720
720
720
720
721
721
721
721
721
722
723
724
725
725
725
725
725
725
730
735
740
740
743
748
753
758
758
763
768
772
777
782
786
786
791
795
796
796
797
798
798
798
799
800
800
801
802
803
803
804
804
805
806
806
806
806
806
806
807
808
808
808
808
808
808
808
808
808
809
809
809
809
809
809
809
811
814
816
817
817
818
818
819
824
827
832
835
839
839
839
839
840
840
840
840
840
841
841
842
843
844
844
844
844
844
844
844
844
844
845
845
845
845
845
846
847
848
849
849
850
851
851
852
853
854
855
855
856
857
857
858
859
860
861
861
861
861
861
861
862
863
863
863
863
864
864
864
865
866
867
867
867
867
867
868
868
869
869
869
869
870
870
871
872
873
874
875
875
876
877
878
879
880
880
881
882
883
884
885
885
886
886
886
886
886
886
886
886
887
887
888
888
889
892
892
895
898
901
904
909
910
913
918
919
919
921
926
928
932
935
940
943
948
950
955
958
963
966
971
973
973
973
974
975
978
980
985
986
992
999
1008
1019
1028
1030
1039
1039
1040
1041
1041
1041
1041
1042
1042
1042
1042
1043
1043
1044
1045
1045
1045
1046
1046
1047
1048
1049
1050
1050
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1065
1065
1066
1066
1066
1067
1067
1067
1067
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1078
1078
1078
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1098
1099
1100
1101
1102
1102
1103
1104
1105
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1124
1129
1134
1139
1141
1144
1149
1154
1154
1159
1164
1169
1174
1179
1183
1188
1193
1197
1198
1198
1199
1200
1201
1202
1203
1204
1204
1205
1206
1207
1207
1208
1208
1209
1210
