0
0
0
2
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
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
15
15
15
15
15
15
15
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
21
21
27
27
27
29
29
29
29
30
30
35
35
36
45
50
54
58
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
66
66
66
66
66
66
68
68
68
69
71
71
72
72
72
72
72
72
72
72
73
73
75
75
75
75
76
76
78
78
78
80
82
82
85
88
88
91
93
93
96
96
99
99
99
100
103
103
105
106
106
106
107
111
114
117
117
118
124
125
131
133
139
144
147
153
159
164
167
173
176
179
182
182
182
185
185
187
187
190
193
196
199
202
202
205
208
211
211
211
213
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
216
216
216
217
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
227
227
227
227
227
227
229
229
229
229
229
229
229
230
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
232
232
232
232
235
235
240
240
240
242
242
242
242
243
243
248
249
251
261
267
271
275
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
281
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
282
283
283
283
283
283
283
285
285
285
287
289
289
290
290
290
290
290
290
290
291
292
292
294
294
294
295
296
296
298
298
298
300
302
302
305
308
308
311
313
313
316
316
319
319
319
320
323
323
326
328
328
328
330
335
338
341
341
342
348
349
355
359
365
370
373
379
385
390
393
399
402
405
408
408
408
411
411
413
413
416
419
422
425
428
428
431
434
437
437
437
439
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
441
443
443
443
443
444
444
444
446
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
449
452
452
452
452
452
452
454
456
456
456
456
456
456
456
456
456
456
456
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
459
460
460
460
462
462
462
464
464
464
464
464
464
464
465
466
467
467
467
467
467
467
468
468
468
468
468
468
468
468
468
469
469
469
470
473
473
479
481
481
485
486
486
486
488
488
493
494
496
506
512
517
521
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
527
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
531
532
532
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
533
534
534
534
534
534
534
536
538
538
540
542
542
545
545
545
545
545
545
545
546
547
547
549
550
550
551
552
552
554
557
557
559
562
562
565
568
568
571
573
573
576
576
579
580
580
582
585
585
588
590
591
591
593
598
601
604
604
605
611
613
619
623
629
634
637
643
649
654
657
663
666
669
672
672
672
675
676
679
679
682
685
688
691
694
694
697
700
703
703
703
705
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
707
709
709
709
709
715
715
715
717
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
722
723
723
723
723
723
724
724
724
724
724
724
724
725
727
727
727
727
730
730
733
733
733
733
735
737
738
738
738
738
738
738
740
740
740
740
743
743
743
745
745
745
745
747
747
747
747
747
747
747
747
747
747
747
747
747
747
747
747
747
747
749
752
754
754
757
757
757
760
760
760
763
763
763
765
765
765
768
768
768
770
774
779
785
790
795
796
796
796
800
804
804
804
804
804
804
813
816
822
827
827
832
837
837
843
848
848
854
858
862
868
871
871
877
880
895
905
913
921
930
936
936
936
939
939
941
945
948
953
956
959
962
965
968
968
970
970
973
976
976
979
982
982
982
982
982
982
984
984
987
989
989
992
993
993
996
996
996
999
1002
1005
1007
1010
1010
1010
1010
1010
1010
1010
1010
1010
1010
1010
1015
1020
1024
1028
1032
1034
1038
1041
1044
1048
1051
1053
1056
1060
1063
1067
1070
1073
1076
1079
1082
1082
1085
1088
1088
1091
1094
1094
1097
1100
1100
1103
1106
1108
1110
1113
1113
1116
1119
1119
1122
1124
1124
1127
1127
1130
1133
1133
1136
1139
1139
1142
1145
1148
1148
1151
1156
1162
1170
1173
1184
1193
1202
1212
1218
1224
1231
1234
1240
1248
1253
1256
1262
1270
1273
1276
1276
1276
1279
1283
1288
1288
1293
1297
1300
1303
1306
1306
1309
1312
1316
