124
2
0
0
0
0
1
1
1
1
2
2
2
2
3
3
3
3
5
5
5
5
6
6
6
6
7
7
7
7
8
8
8
8
10
10
10
10
11
11
11
11
12
12
13
13
13
13
14
14
15
15
15
15
16
16
16
16
17
17
18
18
18
18
19
19
21
170
1365
10922
87381
699050
5592405
44739242
357913941
2863311530
0
0
0
0
0
0
1
1
1
2
2
2
2
2
2
3
3
3
4
4
4
4
4
4
5
5
5
6
6
6
7
7
7
7
7
7
8
8
8
9
9
9
9
9
9
10
10
10
11
11
11
11
11
11
13
13
13
13
13
13
14
14
14
15
15
15
15
15
15
16
16
16
17
17
17
17
17
17
18
18
18
20
182
1640
14762
132860
1195742
10761680
96855122
871696100
7845264902
0
0
0
0
0
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3
4
4
4
4
4
6
6
6
6
6
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
10
10
10
10
10
12
12
12
12
12
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
18
18
18
18
18
19
19
19
19
19
20
20
20
20
20
21
21
21
21
21
22
22
22
22
22
24
249
2499
24999
249998
2499999
24999999
249999998
2499999997
24999999997
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
12
133
1464
16105
177156
1948717
21435888
235794769
2593742460
28531167061
0
0
0
0
1
1
2
2
2
3
4
4
5
5
5
5
6
6
8
8
8
9
9
9
10
10
10
11
12
12
13
13
14
15
15
15
17
17
17
17
18
18
19
19
19
20
21
21
22
22
22
23
23
23
25
25
26
26
27
27
28
28
28
28
30
30
31
31
31
32
32
32
34
34
34
35
35
35
36
36
36
39
39
39
40
40
41
41
42
42
43
43
44
44
44
44
46
46
46
47
48
48
49
49
49
50
50
50
52
52
52
52
54
54
55
55
55
56
56
56
58
58
58
58
59
59
60
60
61
62
62
62
63
63
63
65
66
66
67
67
67
68
68
68
70
862
10366
124412
1492987
17915899
214990842
2579890170
30958682105
371504185336
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
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
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
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
14
183
2380
30941
402234
5229043
67977560
883708281
11488207654
149346699503
0
0
0
0
0
0
0
1
1
1
1
1
1
1
2
2
2
2
2
2
2
3
3
3
3
3
3
3
4
4
4
4
4
4
4
5
5
5
5
5
5
5
6
6
6
6
6
6
6
8
8
8
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
16
16
16
16
16
16
16
17
17
17
17
17
17
17
18
18
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
20
20
20
20
21
21
21
21
21
21
21
22
22
22
22
22
22
22
24
24
24
24
24
24
24
25
25
25
25
25
25
25
26
26
26
26
26
26
26
27
27
27
27
27
27
27
28
28
28
28
28
28
28
29
29
29
29
29
29
29
30
30
30
30
30
30
30
32
457
6402
89636
1254922
17568916
245964841
3443507796
48209109160
674927528274
0
0
0
0
0
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3
4
4
4
4
4
6
6
6
6
6
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
10
10
10
10
10
12
12
12
12
12
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
18
18
18
18
18
19
19
19
19
19
20
20
20
20
20
21
21
21
21
21
22
22
22
22
22
24
24
24
24
24
25
25
25
25
25
26
26
26
26
26
27
27
27
27
27
28
28
28
28
28
31
31
31
31
31
32
32
32
32
32
33
33
33
33
33
34
34
34
34
34
35
35
35
35
35
37
37
37
37
37
38
38
38
38
38
39
39
39
39
39
40
40
40
40
40
41
41
41
41
41
43
43
43
43
43
44
44
44
44
44
45
45
45
45
45
46
46
46
46
46
47
47
47
47
47
49
49
49
49
49
50
50
50
50
50
51
51
51
51
51
52
52
52
52
52
53
53
53
53
53
55
843
12655
189841
2847654
42714841
640722654
9610839841
144162597651
2162438964840
0
0
0
0
0
0
1
1
1
1
2
2
2
2
2
2
3
3
4
4
4
4
4
4
5
5
5
5
6
6
6
6
7
7
8
8
8
8
8
8
9
9
9
9
10
10
10
10
11
11
11
11
12
12
12
12
13
13
13
13
14
14
14
14
15
15
16
16
16
16
16
16
17
17
17
17
18
18
18
18
19
19
19
19
20
20
20
20
21
21
21
21
22
22
22
22
23
23
23
23
24
24
24
24
25
25
25
25
26
26
26
26
27
27
27
27
28
28
28
28
29
29
29
29
29
29
30
30
31
31
32
32
32
32
32
32
33
33
33
33
34
34
34
34
35
35
35
35
36
36
36
36
37
37
37
37
38
38
38
38
39
39
39
39
40
40
40
40
41
41
41
41
42
42
42
42
43
43
43
43
44
44
44
44
45
45
45
45
45
45
46
46
47
47
47
47
48
48
48
48
49
49
49
49
50
50
50
50
51
51
51
51
52
52
52
52
53
53
53
53
53
53
54
54
55
55
55
55
56
56
56
56
57
57
57
57
57
57
58
58
59
59
59
59
59
59
60
60
60
60
61
61
61
61
61
61
63
1023
16383
262143
4194303
67108863
1073741823
17179869183
274877906943
4398046511103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
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
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
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
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
18
307
5220
88741
1508598
25646167
435984840
7411742281
125999618778
2141993519227
0
0
0
0
0
0
1
1
1
2
2
2
2
2
2
3
3
3
4
4
4
4
4
4
5
5
5
6
6
6
7
7
7
7
7
7
8
8
8
9
9
9
9
9
9
10
10
10
11
11
11
11
11
11
13
13
13
13
13
13
14
14
14
15
15
15
15
15
15
16
16
16
17
17
17
17
17
17
18
18
18
20
20
20
20
20
20
21
21
21
22
22
22
22
22
22
23
23
23
24
24
24
24
24
24
25
25
25
26
26
26
27
27
27
27
27
27
28
28
28
29
29
29
29
29
29
30
30
30
31
31
31
31
31
31
33
33
33
33
33
33
34
34
34
35
35
35
35
35
35
36
36
36
37
37
37
37
37
37
38
38
38
40
40
40
40
40
40
41
41
41
42
42
42
42
42
42
43
43
43
44
44
44
44
44
44
45
45
45
46
46
46
47
47
47
47
47
47
48
48
48
49
49
49
49
49
49
50
50
50
51
51
51
51
51
51
53
53
53
53
53
53
54
54
54
55
55
55
55
55
55
56
56
56
57
57
57
57
57
57
58
58
58
60
60
60
61
61
61
61
61
61
62
62
62
63
63
63
63
63
63
64
64
64
65
65
65
65
65
65
67
67
67
67
67
67
68
68
68
69
69
69
69
69
69
70
70
70
71
71
71
71
71
71
72
72
72
73
73
73
74
74
74
74
74
74
75
75
75
76
76
76
76
76
76
77
77
77
78
78
78
78
78
78
80
1457
26243
472391
8503055
153055006
2754990143
49589822590
892616806654
16067102519805
0
0
0
0
0
0
0
0
0
0
0
0
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
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
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
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
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
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
20
381
7240
137561
2613660
49659541
943531280
17927094321
340614792100
6471681049901
0
0
0
0
0
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3
4
4
4
4
4
6
6
6
6
6
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
10
10
10
10
10
12
12
12
12
12
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
18
18
18
18
18
19
19
19
19
19
20
20
20
20
20
21
21
21
21
21
22
22
22
22
22
24
24
24
24
24
25
25
25
25
25
26
26
26
26
26
27
27
27
27
27
28
28
28
28
28
31
31
31
31
31
32
32
32
32
32
33
33
33
33
33
34
34
34
34
34
35
35
35
35
35
37
37
37
37
37
38
38
38
38
38
39
39
39
39
39
40
40
40
40
40
41
41
41
41
41
43
43
43
43
43
44
44
44
44
44
45
45
45
45
45
46
46
46
46
46
47
47
47
47
47
49
49
49
49
49
50
50
50
50
50
51
51
51
51
51
52
52
52
52
52
53
53
53
53
53
55
55
55
55
55
56
56
56
56
56
57
57
57
57
57
58
58
58
58
58
59
59
59
59
59
62
62
62
62
62
63
63
63
63
63
64
64
64
64
64
65
65
65
65
65
66
66
66
66
66
68
68
68
68
68
69
69
69
69
69
70
70
70
70
70
71
71
71
71
71
72
72
72
72
72
74
74
74
74
74
75
75
75
75
75
76
76
76
76
76
77
77
77
77
77
78
78
78
78
78
80
80
80
80
80
81
81
81
81
81
82
82
82
82
82
83
83
83
83
83
84
84
84
84
84
86
86
86
86
86
87
87
87
87
87
88
88
88
88
88
89
89
89
89
89
90
90
90
90
90
93
93
93
93
93
94
94
94
94
94
95
95
95
95
95
96
96
96
96
96
97
97
97
97
97
99
1998
39999
799997
15999997
319999998
6399999996
127999999995
2559999999996
51199999999995
0
0
0
0
0
0
0
1
1
1
1
1
1
1
2
2
2
2
2
2
2
3
3
3
3
3
3
3
4
4
4
4
4
4
4
5
5
5
5
5
5
5
6
6
6
6
6
6
6
8
8
8
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
16
16
16
16
16
16
16
17
17
17
17
17
17
17
18
18
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
20
20
20
20
21
21
21
21
21
21
21
22
22
22
22
22
22
22
24
24
24
24
24
24
24
25
25
25
25
25
25
25
26
26
26
26
26
26
26
27
27
27
27
27
27
27
28
28
28
28
28
28
28
29
29
29
29
29
29
29
30
30
30
30
30
30
30
32
32
32
32
32
32
32
33
33
33
33
33
33
33
34
34
34
34
34
34
34
35
35
35
35
35
35
35
36
36
36
36
36
36
36
37
37
37
37
37
37
37
38
38
38
38
38
38
38
40
40
40
40
40
40
40
41
41
41
41
41
41
41
42
42
42
42
42
42
42
43
43
43
43
43
43
43
44
44
44
44
44
44
44
45
45
45
45
45
45
45
46
46
46
46
46
46
46
48
48
48
48
48
48
48
49
49
49
49
49
49
49
50
50
50
50
50
50
50
51
51
51
51
51
51
51
52
52
52
52
52
52
52
53
53
53
53
53
53
53
54
54
54
54
54
54
54
57
57
57
57
57
57
57
58
58
58
58
58
58
58
59
59
59
59
59
59
59
60
60
60
60
60
60
60
61
61
61
61
61
61
61
62
62
62
62
62
62
62
63
63
63
63
63
63
63
65
65
65
65
65
65
65
66
66
66
66
66
66
66
67
67
67
67
67
67
67
68
68
68
68
68
68
68
69
69
69
69
69
69
69
70
70
70
70
70
70
70
71
71
71
71
71
71
71
73
1542
32412
680681
14294352
300181421
6303809891
132380007761
2779980163031
58379583423700
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
27
27
27
28
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
29
29
30
30
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
32
32
32
33
33
33
33
33
33
33
33
33
33
33
34
34
34
34
34
34
34
34
34
34
34
36
36
36
36
36
36
36
36
36
36
36
37
37
37
37
37
37
37
37
37
37
37
38
38
38
38
38
38
38
38
38
38
38
39
39
39
39
39
39
39
39
39
39
39
40
40
40
40
40
40
40
40
40
40
40
41
41
41
41
41
41
41
41
41
41
41
42
42
42
42
42
42
42
42
42
42
42
43
43
43
43
43
43
43
43
43
43
43
44
44
44
44
44
44
44
44
44
44
44
45
45
45
45
45
45
45
45
45
45
45
46
46
46
46
46
46
46
46
46
46
46
48
1064
23425
515362
11337989
249435788
5487587353
120726921778
2655992279141
58431830141131
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
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
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
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
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
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
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
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
24
553
12720
292561
6728904
154764793
3559590240
81870575521
1883023236984
43309534450633
0
0
0
0
1
1
1
1
2
2
2
2
3
3
3
3
5
5
5
5
6
6
6
6
7
7
7
7
8
8
8
8
10
10
10
10
11
11
11
11
12
12
13
13
13
13
14
14
15
15
15
15
16
16
16
16
17
17
18
18
18
18
19
19
21
21
21
21
22
22
22
22
23
23
23
23
24
24
24
24
26
26
26
26
27
27
27
27
28
28
28
28
29
29
29
29
31
31
31
31
32
32
32
32
33
33
34
34
34
34
35
35
36
36
36
36
37
37
37
37
38
38
39
39
39
39
40
40
42
42
42
42
43
43
43
43
44
44
45
45
45
45
46
46
47
47
47
47
48
48
48
48
49
49
50
50
50
50
51
51
52
52
53
53
53
53
54
54
55
55
55
55
56
56
56
56
57
57
58
58
58
58
59
59
60
60
60
60
61
61
61
61
63
63
63
63
64
64
64
64
65
65
66
66
66
66
67
67
68
68
68
68
69
69
69
69
70
70
71
71
71
71
72
72
73
73
74
74
74
74
75
75
76
76
76
76
77
77
77
77
78
78
79
79
79
79
80
80
81
81
81
81
82
82
82
82
85
85
85
85
86
86
86
86
87
87
87
87
88
88
88
88
90
90
90
90
91
91
91
91
92
92
92
92
93
93
93
93
95
95
95
95
96
96
96
96
97
97
98
98
98
98
99
99
100
100
100
100
101
101
101
101
102
102
103
103
103
103
104
104
106
106
106
106
107
107
107
107
108
108
108
108
109
109
109
109
111
111
111
111
112
112
112
112
113
113
113
113
114
114
114
114
116
116
116
116
117
117
117
117
118
118
119
119
119
119
120
120
121
121
121
121
122
122
122
122
123
123
124
124
124
124
125
125
127
127
127
127
128
128
128
128
129
129
130
130
130
130
131
131
132
132
132
132
133
133
133
133
134
134
135
135
135
135
136
136
137
137
138
138
138
138
139
139
140
140
140
140
141
141
141
141
142
142
143
143
143
143
144
144
145
145
145
145
146
146
146
146
148
148
148
148
149
149
149
149
150
150
151
151
151
151
152
152
153
153
153
153
154
154
154
154
155
155
156
156
156
156
157
157
158
158
159
159
159
159
160
160
161
161
161
161
162
162
162
162
163
163
164
164
164
164
165
165
166
166
166
166
167
167
167
167
170
170
170
170
171
171
171
171
172
172
173
173
173
173
174
174
175
175
175
175
176
176
176
176
177
177
178
178
178
178
179
179
180
180
181
181
181
181
182
182
183
183
183
183
184
184
184
184
185
185
186
186
186
186
187
187
188
188
188
188
189
189
189
189
191
4606
110591
2654206
63700990
1528823806
36691771390
880602513405
21134460321789
507227047723003
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
26
27
27
27
27
27
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
29
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
32
32
33
33
33
33
33
34
34
34
34
34
34
34
34
34
34
35
35
35
35
35
35
35
35
35
35
36
36
36
36
36
37
37
37
37
37
37
37
37
37
37
38
38
38
38
38
38
38
38
38
38
39
39
39
39
39
40
40
40
40
40
40
40
40
40
40
41
41
41
41
41
41
41
41
41
41
42
42
42
42
42
43
43
43
43
43
43
43
43
43
43
44
44
44
44
44
44
44
44
44
44
45
45
45
45
45
46
46
46
46
46
47
47
47
47
47
47
47
47
47
47
48
48
48
48
48
48
48
48
48
48
49
49
49
49
49
50
50
50
50
50
50
50
50
50
50
51
51
51
51
51
51
51
51
51
51
52
52
52
52
52
53
53
53
53
53
53
53
53
53
53
54
54
54
54
54
54
54
54
54
54
55
55
55
55
55
56
56
56
56
56
56
56
56
56
56
57
57
57
57
57
57
57
57
57
57
58
58
58
58
58
59
59
59
59
59
59
59
59
59
59
60
60
60
60
60
60
60
60
60
60
62
62
62
62
62
62
62
62
62
62
63
63
63
63
63
63
63
63
63
63
64
64
64
64
64
65
65
65
65
65
65
65
65
65
65
66
66
66
66
66
66
66
66
66
66
67
67
67
67
67
68
68
68
68
68
68
68
68
68
68
69
69
69
69
69
69
69
69
69
69
70
70
70
70
70
71
71
71
71
71
71
71
71
71
71
72
72
72
72
72
72
72
72
72
72
73
73
73
73
73
74
74
74
74
74
74
74
74
74
74
75
75
75
75
75
75
75
75
75
75
76
76
76
76
76
78
1953
48828
1220703
30517578
762939453
19073486328
476837158203
11920928955078
298023223876953
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
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
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
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
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
26
26
26
26
28
28
28
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
29
29
29
29
30
30
30
30
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
32
32
32
32
32
33
33
33
33
33
33
33
33
33
33
33
33
33
34
34
34
34
34
34
34
34
34
34
34
34
34
35
35
35
35
35
35
35
35
35
35
35
35
35
36
36
36
36
36
36
36
36
36
36
36
36
36
37
37
37
37
37
37
37
37
37
37
37
37
37
38
38
38
38
38
38
38
38
38
38
38
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
42
42
42
42
42
42
42
42
42
42
42
42
42
43
43
43
43
43
43
43
43
43
43
43
43
43
44
44
44
44
44
44
44
44
44
44
44
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
46
46
46
46
46
46
46
46
46
46
46
46
46
47
47
47
47
47
47
47
47
47
47
47
47
47
48
48
48
48
48
48
48
48
48
48
48
48
48
49
49
49
49
49
49
49
49
49
49
49
49
49
50
50
50
50
50
50
50
50
50
50
50
50
50
51
51
51
51
51
51
51
51
51
51
51
51
51
52
52
52
52
52
52
52
52
52
52
52
52
52
53
53
53
53
53
53
53
53
53
53
53
53
53
54
54
54
54
54
54
54
54
54
54
54
54
54
56
1464
38081
990114
25742980
669317513
17402255380
452458639914
11763924637780
305862040582313
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
21
21
21
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
24
24
24
24
24
24
25
25
25
25
25
25
26
26
26
27
27
27
27
27
27
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
30
30
30
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
33
33
33
33
33
33
34
34
34
34
34
34
35
35
35
35
35
35
36
36
36
36
36
36
37
37
37
37
37
37
38
38
38
38
38
38
38
38
38
40
40
40
40
40
40
41
41
41
41
41
41
42
42
42
42
42
42
43
43
43
43
43
43
43
43
43
44
44
44
45
45
45
45
45
45
46
46
46
46
46
46
46
46
46
47
47
47
47
47
47
48
48
48
49
49
49
49
49
49
49
49
49
50
50
50
50
50
50
51
51
51
51
51
51
52
52
52
52
52
52
53
53
53
54
54
54
54
54
54
55
55
55
55
55
55
55
55
55
56
56
56
56
56
56
57
57
57
58
58
58
58
58
58
58
58
58
59
59
59
59
59
59
60
60
60
60
60
60
61
61
61
61
61
61
62
62
62
62
62
62
63
63
63
63
63
63
64
64
64
64
64
64
65
65
65
65
65
65
65
65
65
67
67
67
67
67
67
67
67
67
68
68
68
68
68
68
69
69
69
69
69
69
70
70
70
70
70
70
71
71
71
71
71
71
72
72
72
72
72
72
73
73
73
73
73
73
74
74
74
74
74
74
74
74
74
75
75
75
76
76
76
76
76
76
77
77
77
77
77
77
77
77
77
78
78
78
78
78
78
79
79
79
80
80
80
81
81
81
81
81
81
82
82
82
82
82
82
82
82
82
83
83
83
83
83
83
84
84
84
85
85
85
85
85
85
85
85
85
86
86
86
86
86
86
87
87
87
87
87
87
88
88
88
88
88
88
89
89
89
89
89
89
90
90
90
90
90
90
91
91
91
91
91
91
92
92
92
92
92
92
92
92
92
94
94
94
94
94
94
94
94
94
95
95
95
95
95
95
96
96
96
96
96
96
97
97
97
97
97
97
98
98
98
98
98
98
99
99
99
99
99
99
100
100
100
100
100
100
101
101
101
101
101
101
101
101
101
102
102
102
103
103
103
103
103
103
104
104
104
104
104
104
104
104
104
105
105
105
105
105
105
106
106
106
107
107
107
107
107
107
108
108
108
108
108
108
109
109
109
109
109
109
110
110
110
110
110
110
110
110
110
111
111
111
112
112
112
112
112
112
113
113
113
113
113
113
113
113
113
114
114
114
114
114
114
115
115
115
116
116
116
116
116
116
116
116
116
117
117
117
117
117
117
118
118
118
118
118
118
119
119
119
119
119
119
121
3280
88573
2391484
64570081
1743392200
47071589413
1270932914164
34315188682441
926510094425920
0
0
0
0
0
0
0
1
1
1
1
1
1
1
2
2
2
2
2
2
2
3
3
3
3
3
3
3
4
4
4
4
4
4
4
5
5
5
5
5
5
5
6
6
6
6
6
6
6
8
8
8
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
16
16
16
16
16
16
16
17
17
17
17
17
17
17
18
18
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
20
20
20
20
21
21
21
21
21
21
21
22
22
22
22
22
22
22
24
24
24
24
24
24
24
25
25
25
25
25
25
25
26
26
26
26
26
26
26
27
27
27
27
27
27
27
28
28
28
28
28
28
28
29
29
29
29
29
29
29
30
30
30
30
30
30
30
32
32
32
32
32
32
32
33
33
33
33
33
33
33
34
34
34
34
34
34
34
35
35
35
35
35
35
35
36
36
36
36
36
36
36
37
37
37
37
37
37
37
38
38
38
38
38
38
38
40
40
40
40
40
40
40
41
41
41
41
41
41
41
42
42
42
42
42
42
42
43
43
43
43
43
43
43
44
44
44
44
44
44
44
45
45
45
45
45
45
45
46
46
46
46
46
46
46
48
48
48
48
48
48
48
49
49
49
49
49
49
49
50
50
50
50
50
50
50
51
51
51
51
51
51
51
52
52
52
52
52
52
52
53
53
53
53
53
53
53
54
54
54
54
54
54
54
57
57
57
57
57
57
57
58
58
58
58
58
58
58
59
59
59
59
59
59
59
60
60
60
60
60
60
60
61
61
61
61
61
61
61
62
62
62
62
62
62
62
63
63
63
63
63
63
63
65
65
65
65
65
65
65
66
66
66
66
66
66
66
67
67
67
67
67
67
67
68
68
68
68
68
68
68
69
69
69
69
69
69
69
70
70
70
70
70
70
70
71
71
71
71
71
71
71
73
73
73
73
73
73
73
74
74
74
74
74
74
74
75
75
75
75
75
75
75
76
76
76
76
76
76
76
77
77
77
77
77
77
77
78
78
78
78
78
78
78
79
79
79
79
79
79
79
81
81
81
81
81
81
81
82
82
82
82
82
82
82
83
83
83
83
83
83
83
84
84
84
84
84
84
84
85
85
85
85
85
85
85
86
86
86
86
86
86
86
87
87
87
87
87
87
87
89
89
89
89
89
89
89
90
90
90
90
90
90
90
91
91
91
91
91
91
91
92
92
92
92
92
92
92
93
93
93
93
93
93
93
94
94
94
94
94
94
94
95
95
95
95
95
95
95
97
97
97
97
97
97
97
98
98
98
98
98
98
98
99
99
99
99
99
99
99
100
100
100
100
100
100
100
101
101
101
101
101
101
101
102
102
102
102
102
102
102
103
103
103
103
103
103
103
105
105
105
105
105
105
105
106
106
106
106
106
106
106
107
107
107
107
107
107
107
108
108
108
108
108
108
108
109
109
109
109
109
109
109
110
110
110
110
110
110
110
111
111
111
111
111
111
111
114
114
114
114
114
114
114
115
115
115
115
115
115
115
116
116
116
116
116
116
116
117
117
117
117
117
117
117
118
118
118
118
118
118
118
119
119
119
119
119
119
119
120
120
120
120
120
120
120
122
122
122
122
122
122
122
123
123
123
123
123
123
123
124
124
124
124
124
124
124
125
125
125
125
125
125
125
126
126
126
126
126
126
126
127
127
127
127
127
127
127
128
128
128
128
128
128
128
130
3658
102441
2868392
80315048
2248821415
62966999720
1763075992232
49366127782567
1382251577911975
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
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
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
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
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
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
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
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
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
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
30
871
25260
732541
21243690
616067011
17865943320
518112356281
15025258332150
435732491632351
0
0
0
0
0
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3
4
4
4
4
4
6
6
6
6
6
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
10
10
10
10
10
12
12
12
12
12
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
18
18
18
18
18
19
19
19
19
19
20
20
20
20
20
21
21
21
21
21
22
22
22
22
22
24
24
24
24
24
25
25
25
25
25
26
26
26
26
26
27
27
27
27
27
28
28
28
28
28
31
31
31
31
31
32
32
32
32
32
33
33
33
33
33
34
34
34
34
34
35
35
35
35
35
37
37
37
37
37
38
38
38
38
38
39
39
39
39
39
40
40
40
40
40
41
41
41
41
41
43
43
43
43
43
44
44
44
44
44
45
45
45
45
45
46
46
46
46
46
47
47
47
47
47
49
49
49
49
49
50
50
50
50
50
51
51
51
51
51
52
52
52
52
52
53
53
53
53
53
55
55
55
55
55
56
56
56
56
56
57
57
57
57
57
58
58
58
58
58
59
59
59
59
59
62
62
62
62
62
63
63
63
63
63
64
64
64
64
64
65
65
65
65
65
66
66
66
66
66
68
68
68
68
68
69
69
69
69
69
70
70
70
70
70
71
71
71
71
71
72
72
72
72
72
74
74
74
74
74
75
75
75
75
75
76
76
76
76
76
77
77
77
77
77
78
78
78
78
78
80
80
80
80
80
81
81
81
81
81
82
82
82
82
82
83
83
83
83
83
84
84
84
84
84
86
86
86
86
86
87
87
87
87
87
88
88
88
88
88
89
89
89
89
89
90
90
90
90
90
93
93
93
93
93
94
94
94
94
94
95
95
95
95
95
96
96
96
96
96
97
97
97
97
97
99
99
99
99
99
100
100
100
100
100
101
101
101
101
101
102
102
102
102
102
103
103
103
103
103
105
105
105
105
105
106
106
106
106
106
107
107
107
107
107
108
108
108
108
108
109
109
109
109
109
111
111
111
111
111
112
112
112
112
112
113
113
113
113
113
114
114
114
114
114
115
115
115
115
115
117
117
117
117
117
118
118
118
118
118
119
119
119
119
119
120
120
120
120
120
121
121
121
121
121
124
124
124
124
124
125
125
125
125
125
126
126
126
126
126
127
127
127
127
127
128
128
128
128
128
130
130
130
130
130
131
131
131
131
131
132
132
132
132
132
133
133
133
133
133
134
134
134
134
134
136
136
136
136
136
137
137
137
137
137
138
138
138
138
138
139
139
139
139
139
140
140
140
140
140
142
142
142
142
142
143
143
143
143
143
144
144
144
144
144
145
145
145
145
145
146
146
146
146
146
148
148
148
148
148
149
149
149
149
149
150
150
150
150
150
151
151
151
151
151
152
152
152
152
152
156
156
156
156
156
157
157
157
157
157
158
158
158
158
158
159
159
159
159
159
160
160
160
160
160
162
162
162
162
162
163
163
163
163
163
164
164
164
164
164
165
165
165
165
165
166
166
166
166
166
168
168
168
168
168
169
169
169
169
169
170
170
170
170
170
171
171
171
171
171
172
172
172
172
172
174
174
174
174
174
175
175
175
175
175
176
176
176
176
176
177
177
177
177
177
178
178
178
178
178
180
180
180
180
180
181
181
181
181
181
182
182
182
182
182
183
183
183
183
183
184
184
184
184
184
187
187
187
187
187
188
188
188
188
188
189
189
189
189
189
190
190
190
190
190
191
191
191
191
191
193
193
193
193
193
194
194
194
194
194
195
195
195
195
195
196
196
196
196
196
197
197
197
197
197
199
199
199
199
199
200
200
200
200
200
201
201
201
201
201
202
202
202
202
202
203
203
203
203
203
205
205
205
205
205
206
206
206
206
206
207
207
207
207
207
208
208
208
208
208
209
209
209
209
209
211
211
211
211
211
212
212
212
212
212
213
213
213
213
213
214
214
214
214
214
215
215
215
215
215
218
218
218
218
218
219
219
219
219
219
220
220
220
220
220
221
221
221
221
221
222
222
222
222
222
224
6748
202498
6074998
182249996
5467499995
164024999995
4920749999994
147622499999994
4428674999999995
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
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
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
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
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
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
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
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
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
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
32
993
30784
954305
29583456
917087137
28429701248
881320738689
27320942899360
846949229880161
0
0
0
0
0
0
0
0
1
1
1
1
2
2
2
2
3
3
3
3
3
3
3
3
4
4
4
4
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7
7
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
11
11
11
11
12
12
12
12
13
13
13
13
14
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
17
17
17
17
17
17
17
17
18
18
19
19
19
19
19
19
20
20
20
20
20
20
21
21
21
21
22
22
22
22
22
22
23
23
23
23
23
23
24
24
25
25
25
25
26
26
26
26
26
26
27
27
27
27
27
27
28
28
28
28
29
29
29
29
29
29
30
30
30
30
30
30
31
31
31
31
32
32
32
32
33
33
33
33
33
33
33
33
34
34
34
34
35
35
35
35
36
36
36
36
36
36
36
36
38
38
38
38
38
38
38
38
39
39
39
39
40
40
40
40
41
41
41
41
41
41
41
41
42
42
42
42
43
43
43
43
44
44
44
44
44
44
45
45
45
45
45
45
46
46
46
46
47
47
47
47
47
47
48
48
48
48
48
48
49
49
49
49
51
51
51
51
51
51
51
51
52
52
52
52
53
53
53
53
54
54
54
54
54
54
54
54
55
55
55
55
56
56
56
56
57
57
57
57
57
57
58
58
58
58
58
58
59
59
59
59
60
60
60
60
60
60
61
61
61
61
61
61
62
62
62
62
63
63
63
63
64
64
64
64
65
65
65
65
65
65
65
65
66
66
66
66
67
67
67
67
68
68
68
68
68
68
68
68
69
69
70
70
70
70
70
70
71
71
71
71
71
71
72
72
72
72
73
73
73
73
73
73
74
74
74
74
74
74
75
75
76
76
76
76
77
77
77
77
77
77
78
78
78
78
78
78
79
79
79
79
80
80
80
80
80
80
81
81
81
81
81
81
82
82
82
82
83
83
83
83
84
84
84
84
84
84
84
84
85
85
85
85
86
86
86
86
87
87
87
87
87
87
87
87
89
89
89
89
89
89
89
89
90
90
90
90
91
91
91
91
92
92
92
92
92
92
92
92
93
93
93
93
94
94
94
94
95
95
95
95
95
95
96
96
96
96
96
96
97
97
97
97
98
98
98
98
98
98
99
99
99
99
99
99
100
100
100
100
102
102
102
102
102
102
103
103
103
103
103
103
104
104
104
104
105
105
105
105
105
105
106
106
106
106
106
106
107
107
107
107
108
108
108
108
109
109
109
109
109
109
110
110
110
110
110
110
111
111
111
111
112
112
112
112
112
112
113
113
113
113
113
113
114
114
115
115
115
115
115
115
116
116
116
116
116
116
117
117
117
117
118
118
118
118
118
118
119
119
119
119
119
119
120
120
121
121
121
121
121
121
121
121
122
122
122
122
123
123
123
123
124
124
124
124
124
124
124
124
125
125
125
125
126
126
126
126
127
127
127
127
128
128
128
128
129
129
129
129
129
129
129
129
130
130
130
130
131
131
131
131
132
132
132
132
132
132
132
132
133
133
134
134
134
134
134
134
135
135
135
135
135
135
136
136
136
136
137
137
137
137
137
137
138
138
138
138
138
138
139
139
140
140
140
140
140
140
141
141
141
141
141
141
142
142
142
142
143
143
143
143
143
143
144
144
144
144
144
144
145
145
145
145
146
146
146
146
147
147
147
147
147
147
148
148
148
148
148
148
149
149
149
149
150
150
150
150
150
150
151
151
151
151
151
151
153
153
153
153
153
153
154
154
154
154
154
154
155
155
155
155
156
156
156
156
156
156
157
157
157
157
157
157
158
158
158
158
159
159
159
159
160
160
160
160
160
160
161
161
161
161
161
161
162
162
162
162
163
163
163
163
163
163
164
164
164
164
164
164
165
165
166
166
166
166
166
166
167
167
167
167
167
167
168
168
168
168
169
169
169
169
169
169
170
170
170
170
170
170
171
171
172
172
172
172
172
172
172
172
173
173
173
173
174
174
174
174
175
175
175
175
175
175
175
175
176
176
176
176
177
177
177
177
178
178
178
178
179
179
179
179
180
180
180
180
180
180
180
180
181
181
181
181
182
182
182
182
183
183
183
183
183
183
183
183
184
184
185
185
185
185
185
185
186
186
186
186
186
186
187
187
187
187
188
188
188
188
188
188
189
189
189
189
189
189
190
190
191
191
191
191
191
191
192
192
192
192
192
192
193
193
193
193
194
194
194
194
194
194
195
195
195
195
195
195
196
196
196
196
197
197
197
197
198
198
198
198
198
198
199
199
199
199
199
199
200
200
200
200
201
201
201
201
201
201
202
202
202
202
202
202
204
6553
209715
6710886
214748364
6871947673
219902325555
7036874417766
225179981368524
7205759403792793
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
27
27
27
28
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
29
29
30
30
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
32
32
32
33
33
33
33
33
33
33
33
33
33
33
34
34
34
34
34
34
34
34
34
34
34
36
36
36
36
36
36
36
36
36
36
36
37
37
37
37
37
37
37
37
37
37
37
38
38
38
38
38
38
38
38
38
38
38
39
39
39
39
39
39
39
39
39
39
39
40
40
40
40
40
40
40
40
40
40
40
41
41
41
41
41
41
41
41
41
41
41
42
42
42
42
42
42
42
42
42
42
42
43
43
43
43
43
43
43
43
43
43
43
44
44
44
44
44
44
44
44
44
44
44
45
45
45
45
45
45
45
45
45
45
45
46
46
46
46
46
46
46
46
46
46
46
48
48
48
48
48
48
48
48
48
48
48
49
49
49
49
49
49
49
49
49
49
49
50
50
50
50
50
50
50
50
50
50
50
51
51
51
51
51
51
51
51
51
51
51
52
52
52
52
52
52
52
52
52
52
52
53
53
53
53
53
53
53
53
53
53
53
54
54
54
54
54
54
54
54
54
54
54
55
55
55
55
55
55
55
55
55
55
55
56
56
56
56
56
56
56
56
56
56
56
57
57
57
57
57
57
57
57
57
57
57
58
58
58
58
58
58
58
58
58
58
58
60
60
60
60
60
60
60
60
60
60
60
61
61
61
61
61
61
61
61
61
61
61
62
62
62
62
62
62
62
62
62
62
62
63
63
63
63
63
63
63
63
63
63
63
64
64
64
64
64
64
64
64
64
64
64
65
65
65
65
65
65
65
65
65
65
65
66
66
66
66
66
66
66
66
66
66
66
67
67
67
67
67
67
67
67
67
67
67
68
68
68
68
68
68
68
68
68
68
68
69
69
69
69
69
69
69
69
69
69
69
70
70
70
70
70
70
70
70
70
70
70
72
72
72
72
72
72
72
72
72
72
72
73
73
73
73
73
73
73
73
73
73
73
74
74
74
74
74
74
74
74
74
74
74
75
75
75
75
75
75
75
75
75
75
75
76
76
76
76
76
76
76
76
76
76
76
77
77
77
77
77
77
77
77
77
77
77
78
78
78
78
78
78
78
78
78
78
78
79
79
79
79
79
79
79
79
79
79
79
80
80
80
80
80
80
80
80
80
80
80
81
81
81
81
81
81
81
81
81
81
81
82
82
82
82
82
82
82
82
82
82
82
84
84
84
84
84
84
84
84
84
84
84
85
85
85
85
85
85
85
85
85
85
85
86
86
86
86
86
86
86
86
86
86
86
87
87
87
87
87
87
87
87
87
87
87
88
88
88
88
88
88
88
88
88
88
88
89
89
89
89
89
89
89
89
89
89
89
90
90
90
90
90
90
90
90
90
90
90
91
91
91
91
91
91
91
91
91
91
91
92
92
92
92
92
92
92
92
92
92
92
93
93
93
93
93
93
93
93
93
93
93
94
94
94
94
94
94
94
94
94
94
94
96
96
96
96
96
96
96
96
96
96
96
97
97
97
97
97
97
97
97
97
97
97
98
98
98
98
98
98
98
98
98
98
98
99
99
99
99
99
99
99
99
99
99
99
100
100
100
100
100
100
100
100
100
100
100
101
101
101
101
101
101
101
101
101
101
101
102
102
102
102
102
102
102
102
102
102
102
103
103
103
103
103
103
103
103
103
103
103
104
104
104
104
104
104
104
104
104
104
104
105
105
105
105
105
105
105
105
105
105
105
106
106
106
106
106
106
106
106
106
106
106
108
3593
118591
3913539
129146796
4261844296
140640861822
4641148440193
153157898526444
5054210651372681
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
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
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
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
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
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
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
72
2456
83520
2839713
96550275
3282709383
111612119055
3794812047903
129023609628735
4386802727377023
0
0
0
0
0
0
0
1
1
1
1
1
1
1
2
2
2
2
2
2
2
3
3
3
3
3
3
3
4
4
4
4
4
4
4
5
5
5
5
5
5
5
6
6
6
6
6
6
6
8
8
8
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
16
16
16
16
16
16
16
17
17
17
17
17
17
17
18
18
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
20
20
20
20
21
21
21
21
21
21
21
22
22
22
22
22
22
22
24
24
24
24
24
24
24
25
25
25
25
25
25
25
26
26
26
26
26
26
26
27
27
27
27
27
27
27
28
28
28
28
28
28
28
29
29
29
29
29
29
29
30
30
30
30
30
30
30
32
32
32
32
32
32
32
33
33
33
33
33
33
33
34
34
34
34
34
34
34
35
35
35
35
35
35
35
36
36
36
36
36
36
36
37
37
37
37
37
37
37
38
38
38
38
38
38
38
40
40
40
40
40
40
40
41
41
41
41
41
41
41
42
42
42
42
42
42
42
43
43
43
43
43
43
43
44
44
44
44
44
44
44
45
45
45
45
45
45
45
46
46
46
46
46
46
46
48
48
48
48
48
48
48
49
49
49
49
49
49
49
50
50
50
50
50
50
50
51
51
51
51
51
51
51
52
52
52
52
52
52
52
53
53
53
53
53
53
53
54
54
54
54
54
54
54
57
57
57
57
57
57
57
58
58
58
58
58
58
58
59
59
59
59
59
59
59
60
60
60
60
60
60
60
61
61
61
61
61
61
61
62
62
62
62
62
62
62
63
63
63
63
63
63
63
65
65
65
65
65
65
65
66
66
66
66
66
66
66
67
67
67
67
67
67
67
68
68
68
68
68
68
68
69
69
69
69
69
69
69
70
70
70
70
70
70
70
71
71
71
71
71
71
71
73
73
73
73
73
73
73
74
74
74
74
74
74
74
75
75
75
75
75
75
75
76
76
76
76
76
76
76
77
77
77
77
77
77
77
78
78
78
78
78
78
78
79
79
79
79
79
79
79
81
81
81
81
81
81
81
82
82
82
82
82
82
82
83
83
83
83
83
83
83
84
84
84
84
84
84
84
85
85
85
85
85
85
85
86
86
86
86
86
86
86
87
87
87
87
87
87
87
89
89
89
89
89
89
89
90
90
90
90
90
90
90
91
91
91
91
91
91
91
92
92
92
92
92
92
92
93
93
93
93
93
93
93
94
94
94
94
94
94
94
95
95
95
95
95
95
95
97
97
97
97
97
97
97
98
98
98
98
98
98
98
99
99
99
99
99
99
99
100
100
100
100
100
100
100
101
101
101
101
101
101
101
102
102
102
102
102
102
102
103
103
103
103
103
103
103
105
105
105
105
105
105
105
106
106
106
106
106
106
106
107
107
107
107
107
107
107
108
108
108
108
108
108
108
109
109
109
109
109
109
109
110
110
110
110
110
110
110
111
111
111
111
111
111
111
114
114
114
114
114
114
114
115
115
115
115
115
115
115
116
116
116
116
116
116
116
117
117
117
117
117
117
117
118
118
118
118
118
118
118
119
119
119
119
119
119
119
120
120
120
120
120
120
120
122
122
122
122
122
122
122
123
123
123
123
123
123
123
124
124
124
124
124
124
124
125
125
125
125
125
125
125
126
126
126
126
126
126
126
127
127
127
127
127
127
127
128
128
128
128
128
128
128
130
130
130
130
130
130
130
131
131
131
131
131
131
131
132
132
132
132
132
132
132
133
133
133
133
133
133
133
134
134
134
134
134
134
134
135
135
135
135
135
135
135
136
136
136
136
136
136
136
138
138
138
138
138
138
138
139
139
139
139
139
139
139
140
140
140
140
140
140
140
141
141
141
141
141
141
141
142
142
142
142
142
142
142
143
143
143
143
143
143
143
144
144
144
144
144
144
144
146
146
146
146
146
146
146
147
147
147
147
147
147
147
148
148
148
148
148
148
148
149
149
149
149
149
149
149
150
150
150
150
150
150
150
151
151
151
151
151
151
151
152
152
152
152
152
152
152
154
154
154
154
154
154
154
155
155
155
155
155
155
155
156
156
156
156
156
156
156
157
157
157
157
157
157
157
158
158
158
158
158
158
158
159
159
159
159
159
159
159
160
160
160
160
160
160
160
162
162
162
162
162
162
162
163
163
163
163
163
163
163
164
164
164
164
164
164
164
165
165
165
165
165
165
165
166
166
166
166
166
166
166
167
167
167
167
167
167
167
168
168
168
168
168
168
168
171
171
171
171
171
171
171
172
172
172
172
172
172
172
173
173
173
173
173
173
173
174
174
174
174
174
174
174
175
175
175
175
175
175
175
176
176
176
176
176
176
176
177
177
177
177
177
177
177
179
179
179
179
179
179
179
180
180
180
180
180
180
180
181
181
181
181
181
181
181
182
182
182
182
182
182
182
183
183
183
183
183
183
183
184
184
184
184
184
184
184
185
185
185
185
185
185
185
187
187
187
187
187
187
187
188
188
188
188
188
188
188
189
189
189
189
189
189
189
190
190
190
190
190
190
190
191
191
191
191
191
191
191
192
192
192
192
192
192
192
193
193
193
193
193
193
193
195
195
195
195
195
195
195
196
196
196
196
196
196
196
197
197
197
197
197
197
197
198
198
198
198
198
198
198
199
199
199
199
199
199
199
200
200
200
200
200
200
200
201
201
201
201
201
201
201
203
7144
250102
8753644
306377601
10723216142
375312565100
13135939778642
459757892252601
16091526228841143
0
0
0
0
0
0
1
1
1
2
2
2
2
2
2
3
3
3
4
4
4
4
4
4
5
5
5
6
6
6
7
7
7
7
7
7
8
8
8
9
9
9
9
9
9
10
10
10
11
11
11
11
11
11
13
13
13
13
13
13
14
14
14
15
15
15
15
15
15
16
16
16
17
17
17
17
17
17
18
18
18
20
20
20
20
20
20
21
21
21
22
22
22
22
22
22
23
23
23
24
24
24
24
24
24
25
25
25
26
26
26
27
27
27
27
27
27
28
28
28
29
29
29
29
29
29
30
30
30
31
31
31
31
31
31
33
33
33
33
33
33
34
34
34
35
35
35
35
35
35
36
36
36
37
37
37
37
37
37
38
38
38
40
40
40
40
40
40
41
41
41
42
42
42
42
42
42
43
43
43
44
44
44
44
44
44
45
45
45
46
46
46
47
47
47
47
47
47
48
48
48
49
49
49
49
49
49
50
50
50
51
51
51
51
51
51
53
53
53
53
53
53
54
54
54
55
55
55
55
55
55
56
56
56
57
57
57
57
57
57
58
58
58
60
60
60
61
61
61
61
61
61
62
62
62
63
63
63
63
63
63
64
64
64
65
65
65
65
65
65
67
67
67
67
67
67
68
68
68
69
69
69
69
69
69
70
70
70
71
71
71
71
71
71
72
72
72
73
73
73
74
74
74
74
74
74
75
75
75
76
76
76
76
76
76
77
77
77
78
78
78
78
78
78
80
80
80
81
81
81
81
81
81
82
82
82
83
83
83
83
83
83
84
84
84
85
85
85
85
85
85
87
87
87
87
87
87
88
88
88
89
89
89
89
89
89
90
90
90
91
91
91
91
91
91
92
92
92
93
93
93
94
94
94
94
94
94
95
95
95
96
96
96
96
96
96
97
97
97
98
98
98
98
98
98
100
100
100
101
101
101
101
101
101
102
102
102
103
103
103
103
103
103
104
104
104
105
105
105
105
105
105
107
107
107
107
107
107
108
108
108
109
109
109
109
109
109
110
110
110
111
111
111
111
111
111
112
112
112
113
113
113
114
114
114
114
114
114
115
115
115
116
116
116
116
116
116
117
117
117
118
118
118
118
118
118
121
121
121
121
121
121
122
122
122
123
123
123
123
123
123
124
124
124
125
125
125
125
125
125
126
126
126
127
127
127
128
128
128
128
128
128
129
129
129
130
130
130
130
130
130
131
131
131
132
132
132
132
132
132
134
134
134
134
134
134
135
135
135
136
136
136
136
136
136
137
137
137
138
138
138
138
138
138
139
139
139
141
141
141
141
141
141
142
142
142
143
143
143
143
143
143
144
144
144
145
145
145
145
145
145
146
146
146
147
147
147
148
148
148
148
148
148
149
149
149
150
150
150
150
150
150
151
151
151
152
152
152
152
152
152
154
154
154
154
154
154
155
155
155
156
156
156
156
156
156
157
157
157
158
158
158
158
158
158
159
159
159
161
161
161
161
161
161
162
162
162
163
163
163
163
163
163
164
164
164
165
165
165
165
165
165
166
166
166
167
167
167
168
168
168
168
168
168
169
169
169
170
170
170
170
170
170
171
171
171
172
172
172
172
172
172
174
174
174
174
174
174
175
175
175
176
176
176
176
176
176
177
177
177
178
178
178
178
178
178
179
179
179
182
182
182
182
182
182
183
183
183
184
184
184
184
184
184
185
185
185
186
186
186
186
186
186
187
187
187
188
188
188
189
189
189
189
189
189
190
190
190
191
191
191
191
191
191
192
192
192
193
193
193
193
193
193
195
195
195
195
195
195
196
196
196
197
197
197
197
197
197
198
198
198
199
199
199
199
199
199
200
200
200
202
202
202
202
202
202
203
203
203
204
204
204
204
204
204
205
205
205
206
206
206
206
206
206
207
207
207
208
208
208
209
209
209
209
209
209
210
210
210
211
211
211
211
211
211
212
212
212
213
213
213
213
213
213
215
215
215
215
215
215
216
216
216
217
217
217
217
217
217
218
218
218
219
219
219
219
219
219
220
220
220
222
222
222
222
222
222
223
223
223
224
224
224
224
224
224
225
225
225
226
226
226
226
226
226
227
227
227
228
228
228
229
229
229
229
229
229
230
230
230
231
231
231
231
231
231
232
232
232
233
233
233
233
233
233
235
235
235
235
235
235
236
236
236
237
237
237
237
237
237
238
238
238
239
239
239
239
239
239
240
240
240
242
242
242
243
243
243
243
243
243
244
244
244
245
245
245
245
245
245
246
246
246
247
247
247
247
247
247
249
249
249
249
249
249
250
250
250
251
251
251
251
251
251
252
252
252
253
253
253
253
253
253
254
254
254
255
255
255
256
256
256
256
256
256
257
257
257
258
258
258
258
258
258
259
259
259
260
260
260
260
260
260
262
262
262
263
263
263
263
263
263
264
264
264
265
265
265
265
265
265
266
266
266
267
267
267
267
267
267
269
269
269
269
269
269
270
270
270
271
271
271
271
271
271
272
272
272
273
273
273
273
273
273
274
274
274
275
275
275
276
276
276
276
276
276
277
277
277
278
278
278
278
278
278
279
279
279
280
280
280
280
280
280
282
282
282
283
283
283
283
283
283
284
284
284
285
285
285
285
285
285
286
286
286
287
287
287
287
287
287
289
289
289
289
289
289
290
290
290
291
291
291
291
291
291
292
292
292
293
293
293
293
293
293
294
294
294
295
295
295
296
296
296
296
296
296
297
297
297
298
298
298
298
298
298
299
299
299
300
300
300
300
300
300
303
303
303
303
303
303
304
304
304
305
305
305
305
305
305
306
306
306
307
307
307
307
307
307
308
308
308
309
309
309
310
310
310
310
310
310
311
311
311
312
312
312
312
312
312
313
313
313
314
314
314
314
314
314
316
316
316
316
316
316
317
317
317
318
318
318
318
318
318
319
319
319
320
320
320
320
320
320
321
321
321
323
11663
419903
15116542
544195581
19591041021
705277476861
25389989167101
914039610015740
32905425960566780
22906492233
70607384108
249999999985
313842837660
4458050224111
1941507093528
9448985395868
32436584472641
70368744177651
36413889826848
289207845356529
122961939948108
1023999999999981
1225971251897758
1285500263104908
996119292364548
12173449145352176
7450580596923816
7952413055140168
25015772549499841
38703044181535387
12636242257338168
132860249999999980
26255426126284980
230584300921369383
166788951495298482
149151292730818802
563203418009440088
1184595334580404209
