5
1082
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
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
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
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
25
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
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
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
34
35
35
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
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
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
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
46
47
47
47
47
47
47
47
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
48
48
48
49
49
49
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
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
53
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
56
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
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
61
61
61
61
61
61
61
61
61
61
61
61
62
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
66
66
66
66
66
66
66
66
66
66
66
66
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
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
71
71
71
71
71
71
71
71
71
71
71
71
71
71
72
72
72
72
72
72
72
72
72
72
72
72
73
73
73
73
73
73
73
73
73
73
73
73
74
74
74
74
74
74
74
74
74
74
74
74
74
75
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
81
82
82
82
82
82
82
82
82
82
82
82
83
83
83
83
83
83
83
83
83
83
83
84
84
84
84
84
84
84
84
84
84
84
85
85
85
85
85
85
85
85
85
85
85
85
86
86
86
86
86
86
86
86
86
86
86
86
86
87
87
87
87
87
87
87
87
87
87
87
87
88
88
88
88
88
88
88
88
88
88
88
88
89
89
89
89
89
89
89
89
89
89
89
89
90
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
92
93
93
93
93
93
93
93
93
93
93
93
93
94
94
94
94
94
94
94
94
94
94
94
94
95
95
95
95
95
95
95
95
95
95
95
95
96
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
98
98
99
99
99
99
99
99
99
99
99
99
99
99
99
100
100
100
100
100
100
100
100
100
100
100
100
100
101
101
101
101
101
101
101
101
101
101
101
101
102
102
102
102
102
102
102
102
102
102
102
102
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
106
106
106
106
106
106
106
106
106
106
107
107
107
107
107
107
107
107
107
107
107
108
108
108
108
108
108
108
108
108
108
109
109
109
109
109
109
109
109
109
109
110
110
110
110
110
110
110
110
110
110
111
111
111
111
111
111
111
111
111
111
112
112
112
112
112
112
112
112
112
113
113
113
113
113
113
113
113
113
114
114
114
114
114
114
114
114
114
115
115
115
115
115
115
115
115
116
116
116
116
116
116
116
116
116
117
117
117
117
117
117
117
117
117
118
118
118
118
118
118
118
118
118
119
119
119
119
119
119
119
119
119
120
120
120
120
120
120
120
120
121
121
121
121
121
121
121
121
121
122
122
122
122
122
122
122
122
123
123
123
123
123
123
123
123
124
124
124
124
124
124
124
124
124
125
125
125
125
125
125
125
125
126
126
126
126
126
126
126
126
126
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
129
129
129
129
129
129
129
129
129
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
131
131
131
131
131
131
131
131
131
132
132
132
132
133
133
133
133
133
134
134
134
134
134
135
135
135
135
135
135
134
134
134
134
133
133
133
132
132
131
131
130
130
129
129
128
128
127
127
127
126
126
126
126
126
126
126
126
126
126
127
127
127
128
128
128
129
129
130
130
130
131
131
131
132
132
132
132
132
132
132
132
131
131
131
130
130
129
129
128
128
127
127
126
125
125
124
124
123
123
122
122
122
121
121
121
121
121
120
120
120
121
121
121
121
121
122
122
123
123
124
124
124
125
125
126
126
126
126
126
126
126
126
126
125
125
125
125
124
124
124
123
123
123
123
123
122
122
122
122
122
122
122
122
121
121
121
121
121
121
120
120
120
120
120
119
119
119
119
119
119
119
118
118
118
118
117
117
117
116
116
115
115
114
114
113
113
113
113
113
113
113
113
114
114
114
115
115
116
116
116
116
117
117
117
117
117
116
116
116
116
116
116
116
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
114
114
114
114
114
114
114
115
115
115
115
116
116
117
117
117
118
118
119
119
119
120
120
120
120
120
120
120
120
120
119
119
119
119
118
118
118
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
116
116
116
115
115
115
114
114
114
114
113
113
113
113
113
113
113
113
112
112
112
111
110
109
108
107
106
105
104
103
102
101
100
99
99
98
98
98
98
99
99
100
101
102
103
104
105
106
107
108
109
109
110
110
109
109
108
107
106
105
103
101
100
98
96
94
92
89
87
86
84
82
80
79
78
77
77
76
76
76
76
77
77
78
79
80
81
83
84
86
88
90
92
94
96
98
99
101
102
103
104
104
104
103
102
101
99
97
95
93
90
87
85
82
79
77
74
72
70
68
67
65
64
63
62
61
61
61
60
61
61
61
62
63
64
65
66
68
69
71
73
74
76
78
79
81
82
83
83
84
83
83
82
81
79
77
74
71
68
65
62
58
55
52
49
46
44
42
40
38
37
36
35
34
34
34
34
34
35
35
36
37
37
38
39
39
40
40
40
40
39
38
37
36
34
32
30
27
24
21
18
15
12
8
5
2
-1
-3
-5
-7
-9
-10
-11
-11
-11
-11
-10
-9
-7
-6
-4
-3
-1
0
1
1
1
1
-1
-2
-5
-7
-11
-14
-18
-22
-26
-30
-35
-38
-42
-46
-49
-52
-54
-56
-57
-57
-58
-57
-56
-55
-53
-51
-49
-46
-43
-40
-38
-35
-32
-30
-27
-25
-24
-23
-22
-21
-21
-21
-22
-23
-24
-26
-29
-32
-35
-38
-42
-46
-50
-54
-58
-62
-65
-69
-71
-74
-76
-77
-78
-79
-79
-79
-79
-79
-79
-79
-79
-80
-80
-81
-82
-83
-84
-85
-87
-88
-89
-91
-92
-92
-93
-93
-93
-93
-92
-91
-90
-89
-87
-85
-84
-82
-80
-79
-77
-76
-76
-75
-76
-76
-77
-78
-79
-81
-83
-85
-87
-89
-91
-93
-95
-97
-99
-100
-102
-103
-104
-105
-106
-106
-106
-106
-105
-105
-104
-103
-102
-102
-101
-101
-100
-100
-100
-101
-102
-102
-103
-104
-105
-106
-107
-107
-107
-107
-106
-105
-104
-102
-100
-97
-94
-91
-87
-83
-79
-74
-69
-64
-59
-53
-48
-43
-37
-32
-27
-23
-19
-16
-13
-12
-11
-11
-12
-14
-17
-21
-26
-31
-37
-43
-50
-56
-63
-69
-75
-80
-85
-89
-93
-96
-97
-98
-99
-98
-97
-95
-93
-90
-86
-83
-79
-75
-71
-67
-63
-59
-55
-51
-48
-45
-42
-39
-37
-35
-34
-33
-32
-32
-33
-34
-35
-37
-38
-40
-42
-44
-46
-47
-48
-49
-50
-50
-50
-49
-49
-48
-48
-47
-46
-45
-45
-45
-45
-45
-46
-47
-49
-51
-53
-56
-59
-62
-65
-69
-71
-74
-76
-78
-78
-79
-78
-77
-75
-72
-68
-64
-60
-55
-49
-43
-37
-31
-25
-19
-13
-8
-3
2
6
10
13
15
17
19
20
21
21
22
22
22
21
21
21
20
20
20
20
20
20
20
20
20
21
21
21
20
20
19
19
18
17
15
14
12
11
9
8
6
5
5
5
5
6
7
9
11
13
16
19
22
26
29
32
35
38
40
43
46
48
50
53
55
57
59
62
64
66
68
70
71
73
74
75
75
75
74
73
71
69
67
64
62
59
57
54
52
50
49
47
45
44
42
41
39
37
35
34
32
30
28
27
25
24
23
23
23
23
24
25
27
29
32
35
38
42
46
50
55
60
65
71
76
82
87
92
97
101
104
107
109
111
111
112
111
110
108
106
103
99
95
91
86
81
76
71
66
61
56
51
46
42
38
35
32
30
28
27
27
27
28
29
31
33
36
40
43
48
53
58
64
70
76
83
91
98
105
112
119
126
132
137
141
144
147
149
150
149
148
146
143
140
135
130
124
119
112
106
99
93
86
80
73
67
61
55
49
43
37
32
26
22
17
13
9
6
3
1
0
-1
-1
-1
0
2
4
6
10
13
17
21
25
29
33
37
41
45
49
53
56
60
63
67
70
73
77
80
82
85
87
89
91
92
93
94
95
95
95
94
94
93
91
90
89
87
86
85
85
85
85
86
87
88
90
92
94
96
97
99
100
101
102
102
101
101
99
98
96
94
92
90
89
87
86
85
84
84
84
84
84
85
85
86
86
86
87
87
87
87
86
85
84
82
79
76
73
69
64
59
54
49
43
37
31
25
20
14
9
4
-1
-5
-9
-13
-16
-18
-20
-21
-22
-22
-21
-20
-18
-16
-14
-11
-8
-4
0
3
7
12
16
20
23
27
30
33
35
36
37
38
38
37
36
34
32
30
28
25
22
20
17
14
11
9
6
3
-1
-4
-7
-11
-15
-19
-23
-27
-31
-35
-38
-41
-44
-47
-49
-50
-51
-51
-51
-49
-47
-45
-41
-37
-33
-28
-22
-16
-9
-2
5
12
19
26
33
40
46
52
57
61
65
68
70
72
72
72
71
69
66
62
58
53
48
42
36
30
24
17
10
4
-3
-10
-17
-23
-30
-36
-42
-48
-53
-58
-62
-66
-69
-72
-73
-75
-75
-75
-75
-75
-74
-73
-72
-71
-70
-69
-67
-67
-66
-65
-64
-63
-63
-62
-62
-61
-60
-59
-58
-57
-56
-54
-53
-52
-51
-50
-49
-48
-48
-48
-49
-50
-51
-52
-53
-55
-57
-59
-61
-64
-66
-69
-72
-74
-76
-79
-80
-82
-83
-83
-83
-82
-81
-78
-75
-71
-66
-61
-55
-48
-41
-34
-27
-19
-11
-4
4
11
18
24
30
36
41
45
49
52
55
57
58
59
58
58
57
55
52
50
47
43
39
35
31
26
22
16
11
5
0
-7
-13
-19
-26
-32
-39
-46
-52
-58
-64
-69
-74
-79
-82
-86
-88
-90
-92
-93
-93
-93
-92
-91
-89
-87
-84
-82
-78
-75
-72
-68
-64
-60
-56
-53
-49
-46
-43
-41
-39
-38
-37
-38
-39
-41
-43
-47
-51
-55
-61
-66
-73
-79
-86
-93
-99
-106
-113
-119
-125
-131
-136
-140
-144
-147
-149
-150
-150
-149
-148
-145
-142
-137
-132
-126
-120
-113
-105
-97
-89
-81
-73
-65
-58
-50
-44
-38
-32
-28
-23
-20
-18
-16
-15
-14
-14
-15
-17
-19
-21
-24
-27
-31
-35
-39
-43
-46
-50
-54
-57
-60
-63
-66
-68
-70
-72
-73
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-87
-88
-90
-91
-93
-95
-97
-99
-101
-103
-106
-108
-112
-115
-118
-122
-126
-130
-134
-138
-141
-145
-148
-151
-153
-155
-157
-157
-158
-157
-157
-155
-153
-151
-148
-145
-141
-137
-133
-129
-125
-121
-117
-113
-110
-106
-103
-100
-97
-95
-93
-92
-91
-91
-91
-91
-92
-93
-95
-96
-98
-100
-101
-103
-103
-104
-103
-102
-100
-98
-94
-90
-85
-80
-74
-67
-61
-54
-47
-40
-33
-27
-21
-16
-11
-7
-4
-2
0
0
0
0
-2
-4
-6
-9
-12
-15
-19
-22
-25
-28
-31
-34
-37
-39
-41
-43
-45
-47
-48
-50
-51
-52
-53
-53
-54
-54
-53
-53
-53
-52
-51
-50
-49
-48
-46
-45
-43
-42
-40
-39
-37
-36
-35
-35
-35
-35
-35
-36
-38
-39
-41
-43
-46
-49
-52
-55
-59
-63
-67
-71
-75
-80
-84
-89
-94
-98
-103
-107
-111
-115
-118
-121
-123
-125
-126
-126
-125
-124
-122
-119
-116
-112
-107
-102
-97
-92
-86
-81
-75
-70
-65
-60
-55
-51
-47
-43
-40
-37
-34
-32
-29
-28
-26
-25
-24
-23
-23
-23
-23
-24
-25
-26
-27
-28
-30
-31
-32
-33
-34
-35
-36
-36
-37
-37
-37
-37
-37
-37
-36
-36
-35
-35
-34
-33
-31
-30
-28
-27
-25
-23
-21
-18
-16
-14
-12
-10
-8
-6
-5
-3
-3
-2
-2
-3
-3
-4
-6
-7
-9
-12
-14
-16
-19
-22
-25
-28
-30
-33
-36
-39
-42
-45
-47
-50
-52
-54
-57
-59
-61
-62
-64
-66
-67
-69
-70
-72
-73
-75
-76
-78
-79
-81
-82
-84
-86
-87
-89
-90
-92
-93
-94
-95
-96
-97
-97
-97
-97
-96
-95
-94
-93
-91
-89
-87
-84
-82
-79
-77
-75
-72
-70
-69
-67
-66
-65
-64
-64
-64
-64
-64
-65
-66
-67
-68
-70
-72
-75
-77
-80
-83
-86
-89
-92
-95
-97
-99
-101
-102
-103
-103
-102
-100
-98
-96
-93
-89
-85
-81
-76
-72
-67
-63
-59
-55
-52
-49
-46
-45
-44
-44
-44
-46
-48
-51
-54
-58
-63
-68
-73
-78
-84
-89
-95
-100
-104
-109
-113
-116
-119
-122
-124
-125
-127
-128
-128
-129
-129
-129
-129
-128
-127
-127
-126
-124
-123
-121
-120
-118
-116
-114
-113
-111
-109
-107
-105
-103
-100
-98
-96
-94
-92
-91
-89
-87
-85
-84
-82
-80
-79
-77
-75
-74
-72
-70
-68
-67
-65
-63
-62
-61
-60
-59
-58
-57
-56
-56
-56
-56
-56
-56
-57
-57
-58
-59
-61
-62
-63
-65
-67
-69
-71
-72
-74
-76
-78
-80
-81
-83
-84
-85
-86
-86
-86
-86
-86
-85
-84
-83
-81
-79
-77
-75
-72
-69
-66
-64
-61
-58
-55
-52
-49
-47
-44
-42
-40
-38
-36
-35
-34
-33
-33
-32
-33
-33
-34
-35
-37
-39
-41
-44
-47
-50
-53
-57
-60
-63
-66
-69
-72
-74
-76
-77
-78
-79
-79
-79
-78
-77
-76
-75
-73
-71
-69
-67
-65
-64
-62
-60
-59
-57
-56
-55
-54
-53
-52
-51
-50
-48
-47
-46
-45
-44
-43
-42
-42
-41
-41
-40
-40
-40
-40
-40
-40
-40
-41
-42
-42
-44
-45
-46
-47
-49
-50
-52
-54
-55
-57
-58
-59
-61
-62
-63
-64
-65
-66
-67
-67
-68
-69
-69
-70
-71
-71
-73
-74
-75
-77
-78
-80
-83
-85
-88
-90
-93
-96
-99
-102
-105
-107
-109
-111
-112
-113
-113
-113
-112
-111
-109
-106
-103
-100
-96
-92
-87
-83
-78
-74
-69
-65
-61
-58
-54
-52
-49
-48
-47
-46
-47
-47
-49
-51
-53
-56
-59
-62
-65
-69
-72
-75
-78
-81
-83
-85
-86
-87
-87
-87
-87
-86
-85
-84
-82
-81
-80
-79
-78
-77
-77
-77
-77
-77
-78
-80
-81
-83
-85
-87
-90
-93
-95
-99
-102
-105
-109
-112
-116
-120
-124
-128
-132
-137
-141
-145
-150
-154
-159
-163
-167
-170
-174
-177
-179
-181
-182
-183
-183
-183
-182
-181
-179
-177
-175
-173
-171
-169
-167
-165
-163
-162
-160
-159
-157
-156
-155
-155
-154
-154
-154
-154
-155
-155
-156
-157
-158
-160
-161
-163
-165
-168
-171
-173
-176
-179
-183
-186
-189
-191
-194
-197
-199
-201
-202
-204
-205
-206
-206
-207
-207
-207
-207
-207
-206
-206
-206
-206
-207
-207
-208
-208
-209
-210
-211
-212
-213
-214
-215
-216
-217
-218
-219
-220
-221
-223
-224
-225
-227
-228
-229
-230
-232
-233
-235
-236
-238
-239
-241
-243
-244
-246
-247
-248
-249
-251
-252
-252
-253
-254
-255
-256
-257
-258
-260
-261
-263
-265
-267
-269
-271
-273
-276
-279
-281
-284
-288
-291
-294
-298
-302
-306
-310
-314
-318
-322
-325
-328
-331
-333
-335
-336
-337
-337
-337
-337
-336
-335
-334
-332
-331
-329
-327
-325
-322
-320
-318
-315
-313
-311
-309
-307
-305
-304
-303
-302
-302
-302
-302
-303
-304
-305
-307
-309
-311
-313
-316
-318
-321
-323
-326
-329
-332
-335
-338
-341
-343
-346
-349
-351
-353
-355
-357
-358
-359
-360
-360
-361
-361
-361
-361
-361
-361
-362
-362
-362
-362
-363
-363
-364
-365
-366
-367
-368
-370
-371
-373
-376
-378
-381
-384
-388
-391
-395
-399
-402
-406
-410
-413
-417
-420
-423
-426
-429
-432
-434
-437
-439
-441
-442
-444
-445
-447
-448
-448
-449
-449
-449
-449
-449
-448
-448
-447
-446
-445
-444
-442
-441
-440
-439
-438
-437
-436
-435
-435
-434
-434
-435
-436
-436
-438
-439
-441
-443
-446
-448
-451
-453
-456
-458
-460
-462
-464
-464
-465
-464
-463
-462
-459
-456
-453
-449
-444
-439
-434
-429
-423
-418
-412
-407
-402
-398
-393
-389
-386
-383
-380
-377
-375
-374
-373
-372
-372
-371
-372
-372
-373
-374
-375
-376
-377
-379
-380
-381
-382
-383
-384
-384
-385
-385
-385
-385
-385
-385
-385
-385
-385
-385
-385
-385
-385
-385
-386
-386
-386
-387
-387
-387
-387
-387
-387
-387
-386
-386
-385
-384
-383
-381
-380
-378
-376
-374
-373
-371
-370
-370
-369
-369
-370
-371
-372
-374
-375
-378
-380
-383
-385
-388
-391
-393
-396
-398
-401
-402
-404
-405
-406
-407
-407
-406
-405
-404
-402
-399
-396
-392
-388
-384
-379
-373
-368
-362
-357
-351
-346
-340
-336
-331
-327
-324
-321
-319
-318
-317
-317
-318
-319
-321
-323
-326
-329
-333
-336
-341
-345
-349
-353
-358
-362
-366
-369
-373
-375
-378
-380
-381
-382
-382
-381
-380
-378
-376
-373
-369
-365
-360
-355
-350
-345
-339
-333
-328
-322
-317
-312
-307
-303
-299
-296
-294
-292
-290
-290
-289
-290
-291
-292
-294
-297
-300
-303
-307
-312
-316
-321
-327
-332
-338
-343
-349
-354
-360
-365
-370
-375
-380
-385
-390
-395
-400
-405
-409
-414
-419
-423
-428
-433
-437
-442
-446
-450
-455
-459
-463
-468
-472
-477
-481
-486
-490
-495
-499
-503
-507
-510
-514
-517
-520
-523
-525
-528
-531
-534
-537
-540
-543
-547
-551
-555
-560
-565
-570
-576
-582
-588
-594
-601
-608
-616
-623
-631
-639
-647
-655
-663
-671
-679
-688
-696
-703
-711
-718
-725
-732
-738
-743
-748
-753
-757
-760
-762
-764
-766
-766
-766
-766
-765
-764
-763
-762
-760
-758
-757
-755
-754
-752
-751
-750
-749
-749
-748
-748
-748
-747
-747
-747
-746
-746
-745
-744
-743
-741
-740
-738
-735
-733
-730
-728
-725
-722
-720
-718
-717
-716
-715
-716
-717
-718
-721
-724
-728
-732
-737
-742
-747
-752
-757
-762
-766
-770
-774
-777
-779
-781
-782
-782
-782
-781
-779
-777
-775
-772
-769
-765
-761
-756
-751
-745
-739
-733
-726
-719
-711
-703
-695
-686
-676
-666
-656
-645
-634
-622
-609
-597
-583
-570
-555
-541
-526
-511
-496
-480
-465
-449
-433
-417
-401
-386
-370
-355
-339
-324
-309
-294
-279
-264
-249
-234
-219
-203
-187
-171
-154
-137
-119
-100
-82
-63
-43
-24
-4
16
36
56
75
94
112
130
148
164
180
195
210
224
237
249
261
272
283
293
302
312
320
329
337
345
353
361
368
376
384
392
401
410
419
429
440
451
463
475
488
502
516
530
545
560
575
589
603
617
630
643
655
667
678
689
699
708
718
727
735
744
752
760
767
774
782
788
795
801
806
812
816
821
825
828
831
833
835
837
839
840
842
843
845
846
848
850
852
855
858
860
863
867
870
873
876
879
881
883
885
886
886
885
884
881
877
873
867
860
852
844
835
825
815
805
795
785
776
767
759
751
745
740
735
732
730
728
727
727
727
727
728
728
728
728
728
727
726
725
723
722
720
718
715
714
712
711
710
710
711
712
714
718
722
727
733
740
748
757
766
777
788
799
811
822
835
847
859
871
883
895
906
918
929
940
951
961
971
981
991
1000
1008
1016
1022
1030
1036
1041
1045
1049
1053
1056
1058
1061
1063
1064
1066
1067
1069
1070
1072
1073
1075
1077
1078
1080
1081
1082
1082
1082
1082
1081
1079
1077
1074
1070
1066
1062
1057
1051
1045
1039
1033
1027
1020
1012
1006
1000
993
986
978
971
963
954
946
937
927
918
908
897
887
877
866
856
846
837
828
820
813
806
800
795
790
786
783
779
777
774
771
769
766
763
761
758
754
751
747
743
738
733
727
721
714
707
699
690
681
670
660
649
637
625
612
600
587
575
563
551
541
531
523
515
510
505
503
501
502
503
506
511
515
521
527
533
539
545
549
553
556
557
556
554
550
545
538
530
520
509
498
485
473
461
449
438
428
419
412
407
403
402
402
405
410
417
426
437
450
465
481
499
517
537
556
576
596
616
635
654
672
689
705
720
734
746
758
769
778
787
795
801
807
812
817
820
823
826
827
829
830
831
831
831
831
831
831
831
831
832
832
834
835
837
840
844
848
853
859
866
873
882
892
902
913
924
936
947
959
970
980
990
998
1004
1010
1012
1014
1012
1010
1004
998
988
976
962
945
926
906
883
859
834
807
779
751
723
695
667
639
613
588
564
542
521
503
487
473
461
452
445
441
439
439
442
446
452
459
467
476
486
496
505
515
524
533
541
549
556
564
571
578
585
592
599
607
616
625
634
644
654
665
675
686
697
707
717
727
736
743
750
756
761
764
766
767
766
763
758
752
743
733
720
705
688
669
649
627
603
579
554
528
502
477
452
428
405
383
362
344
327
311
298
287
278
272
267
264
264
266
270
275
283
291
302
313
325
339
352
366
381
395
409
423
436
449
460
471
480
488
494
499
502
504
503
501
497
492
484
475
465
453
440
426
411
395
378
361
343
325
307
288
269
251
232
214
195
177
158
140
121
103
84
66
47
28
10
-8
-26
-44
-61
-78
-95
-111
-127
-143
-158
-172
-187
-201
-214
-227
-239
-251
-262
-272
-281
-290
-298
-304
-310
-316
-320
-323
-325
-326
-326
-325
-324
-321
-317
-313
-308
-303
-297
-291
-285
-279
-274
-268
-263
-259
-255
-251
-248
-246
-244
-243
-242
-243
-243
-245
-247
-250
-254
-258
-264
-270
-277
-284
-293
-301
-311
-321
-331
-342
-352
-363
-374
-384
-394
-403
-412
-420
-427
-433
-439
-443
-446
-448
-448
-448
-446
-443
-439
-434
-428
-421
-413
-404
-395
-385
-375
-365
-355
-345
-335
-326
-317
-309
-301
-294
-288
-282
-277
-272
-268
-264
-261
-258
-256
-254
-253
-251
-250
-249
-249
-248
-248
-248
-249
-250
-251
-253
-256
-258
-262
-266
-271
-277
-283
-291
-299
-307
-317
-328
-339
-350
-363
-375
-388
-401
-413
-426
-438
-449
-461
-471
-481
-491
-500
-508
-516
-522
-529
-534
-539
-543
-546
-549
-551
-553
-555
-557
-558
-560
-562
-564
-566
-568
-571
-574
-576
-579
-581
-583
-585
-586
-587
-587
-586
-586
-584
-583
-581
-579
-578
-576
-574
-573
-573
-572
-572
-573
-574
-576
-579
-582
-585
-589
-593
-598
-604
-609
-616
-622
-629
-637
-645
-654
-663
-672
-681
-691
-701
-712
-722
-732
-742
-752
-761
-771
-779
-787
-794
-801
-806
-810
-814
-816
-817
-817
-815
-812
-807
-801
-794
-786
-776
-765
-753
-741
-728
-714
-700
-687
-673
-659
-646
-633
-621
-610
-599
-589
-580
-572
-564
-557
-551
-545
-539
-533
-527
-521
-515
-509
-503
-496
-489
-482
-474
-466
-457
-448
-438
-427
-416
-404
-391
-378
-364
-350
-335
-320
-305
-289
-273
-257
-240
-224
-208
-191
-176
-160
-145
-130
-116
-103
-90
-78
-67
-56
-46
-37
-29
-21
-14
-8
-3
2
7
11
14
17
21
24
27
30
33
37
41
46
51
57
63
70
78
87
96
105
115
126
137
148
159
170
181
192
202
212
222
231
240
248
255
262
269
275
280
285
289
293
297
301
305
309
313
317
321
326
331
336
342
348
355
362
369
377
385
393
402
410
419
429
438
447
457
467
477
487
497
507
516
526
535
544
552
559
566
572
578
583
588
592
596
599
602
605
608
611
614
617
620
623
626
629
632
635
638
641
644
647
650
653
656
659
662
665
667
670
672
675
676
678
680
680
681
681
680
678
675
672
667
661
654
646
637
627
616
604
591
578
565
551
537
523
509
495
482
469
457
446
435
425
416
407
400
393
387
382
377
373
370
368
366
366
366
366
368
370
373
376
381
386
391
397
404
410
417
424
431
438
445
451
456
461
466
469
472
474
476
476
477
476
475
474
473
472
470
469
468
467
466
467
467
469
470
473
476
480
484
489
494
499
505
510
516
521
526
531
535
539
542
544
546
547
548
548
548
547
545
543
541
538
534
530
526
522
518
514
510
506
503
501
498
497
496
496
497
498
500
503
505
508
511
514
517
519
522
524
525
526
526
526
526
524
523
520
517
514
510
505
500
495
489
482
476
469
461
454
446
438
430
421
412
403
394
384
375
365
355
345
336
326
316
307
297
288
280
271
263
256
249
242
236
230
225
220
215
211
208
204
201
199
197
195
194
194
193
194
194
195
197
198
200
201
203
205
207
209
211
213
214
216
218
220
223
225
227
230
232
235
238
241
245
248
252
256
260
264
267
271
275
278
282
285
288
291
294
297
299
302
306
309
312
316
320
324
329
333
339
344
350
356
363
369
376
384
391
399
407
415
423
432
441
450
459
468
477
486
495
504
513
523
532
541
550
560
569
578
588
598
607
616
626
635
643
652
660
667
674
681
687
692
698
702
706
710
712
715
716
718
718
718
717
715
713
710
707
703
699
694
689
683
678
672
667
661
656
651
646
641
637
632
628
624
621
617
614
610
607
603
600
596
592
589
585
581
578
574
571
568
565
562
559
556
553
550
547
543
540
536
531
526
521
515
509
502
495
487
478
470
460
451
441
431
420
410
400
390
381
371
363
355
347
341
335
330
326
323
321
319
319
319
320
321
323
325
327
330
332
334
336
337
338
338
337
336
333
330
326
321
315
309
302
295
288
280
272
264
256
248
240
232
225
218
212
206
201
197
194
192
190
190
191
193
197
202
207
214
222
231
242
253
265
278
291
305
320
335
351
367
383
399
415
431
447
463
479
494
510
525
540
556
571
585
600
614
628
642
656
669
681
694
705
717
728
738
748
757
766
774
782
790
796
803
808
814
818
823
826
829
832
833
835
835
835
835
834
833
831
830
828
826
824
822
820
819
818
818
818
818
819
821
822
825
827
830
833
836
839
842
845
847
849
850
851
852
852
851
850
848
845
843
840
836
832
828
823
818
812
807
801
794
788
781
774
766
758
750
742
734
725
716
706
697
687
676
666
655
645
634
623
613
602
592
582
572
563
554
545
536
528
521
513
506
499
492
486
479
473
467
460
454
447
441
434
427
421
414
407
400
394
387
381
375
370
365
360
355
351
348
345
342
340
339
338
338
338
338
339
341
342
344
346
347
349
351
353
354
356
357
358
358
358
358
358
357
357
355
354
352
350
347
344
340
336
332
327
322
316
311
305
298
292
286
279
273
267
261
255
249
243
237
231
225
218
212
205
199
192
185
178
170
163
156
149
142
135
128
122
116
111
106
101
97
93
90
87
85
82
80
78
77
75
73
71
70
68
66
64
62
60
58
56
54
52
50
49
48
46
45
44
43
42
41
40
39
37
36
34
32
29
26
23
20
16
12
8
3
-2
-7
-13
-19
-25
-32
-40
-47
-55
-64
-72
-82
-91
-101
-111
-122
-133
-144
-156
-167
-179
-192
-204
-216
-229
-242
-255
-267
-280
-293
-305
-318
-330
-342
-354
-365
-377
-388
-399
-409
-420
-430
-441
-451
-461
-471
-481
-491
-501
-511
-521
-531
-542
-552
-562
-573
-583
-593
-604
-613
-623
-632
-641
-649
-657
-664
-671
-676
-682
-686
-690
-693
-696
-698
-700
-702
-702
-703
-703
-703
-703
-702
-700
-699
-697
-695
-692
-689
-686
-682
-678
-674
-670
-665
-660
-656
-651
-646
-641
-635
-630
-625
-619
-614
-608
-602
-597
-592
-586
-581
-576
-571
-567
-563
-559
-555
-551
-548
-545
-542
-539
-536
-533
-530
-527
-524
-520
-516
-512
-507
-502
-497
-491
-485
-479
-473
-467
-461
-455
-450
-444
-439
-434
-429
-425
-422
-418
-416
-414
-412
-411
-411
-411
-411
-412
-413
-415
-417
-419
-421
-423
-425
-427
-429
-431
-433
-434
-436
-437
-437
-438
-438
-438
-437
-437
-436
-435
-433
-432
-430
-428
-426
-424
-422
-420
-419
-417
-416
-415
-414
-414
-414
-415
-417
-418
-421
-424
-427
-431
-436
-440
-445
-451
-456
-462
-468
-474
-481
-487
-492
-498
-504
-509
-513
-517
-521
-524
-527
-529
-531
-532
-532
-532
-532
-531
-530
-529
-528
-527
-525
-524
-523
-523
-523
-523
-524
-526
-529
-532
-535
-540
-545
-550
-556
-563
-569
-577
-584
-592
-601
-609
-618
-627
-635
-644
-653
-662
-670
-678
-685
-692
-698
-704
-708
-712
-716
-718
-720
-720
-720
-719
-717
-715
-711
-708
-704
-699
-695
-690
-686
-681
-677
-673
-670
-667
-664
-662
-660
-659
-658
-658
-659
-659
-661
-662
-664
-666
-668
-671
-673
-675
-678
-680
-682
-684
-686
-688
-689
-690
-690
-690
-690
-688
-686
-683
-680
-675
-670
-664
-657
-649
-640
-631
-621
-611
-600
-589
-577
-566
-554
-542
-531
-520
-509
-499
-490
-481
-472
-465
-458
-452
-447
-443
-439
-436
-434
-433
-433
-433
-434
-435
-437
-440
-442
-446
-449
-453
-456
-460
-464
-468
-472
-476
-479
-483
-486
-490
-493
-495
-498
-500
-503
-505
-507
-509
-510
-512
-514
-516
-518
-521
-523
-526
-529
-533
-537
-541
-546
-551
-556
-561
-567
-572
-578
-584
-590
-595
-601
-607
-613
-619
-625
-632
-638
-644
-651
-658
-664
-671
-678
-686
-693
-700
-708
-715
-723
-730
-737
-745
-752
-759
-765
-772
-778
-784
-789
-795
-799
-803
-807
-811
-813
-816
-818
-819
-820
-821
-821
-821
-821
-821
-820
-820
-820
-821
-821
-822
-823
-824
-825
-827
-829
-832
-834
-837
-839
-842
-845
-848
-851
-853
-856
-858
-860
-862
-863
-864
-864
-864
-864
-863
-862
-860
-858
-855
-851
-847
-843
-838
-833
-827
-821
-814
-807
-799
-792
-783
-775
-766
-757
-747
-738
-728
-719
-709
-700
-690
-682
-673
-665
-658
-651
-646
-640
-636
-631
-628
-625
-623
-621
-619
-617
-616
-615
-614
-613
-612
-611
-609
-608
-607
-606
-604
-602
-600
-598
-596
-594
-591
-588
-585
-582
-579
-576
-573
-569
-566
-563
-560
-557
-554
-551
-548
-546
-543
-541
-539
-536
-534
-532
-530
-528
-526
-524
-522
-520
-518
-516
-513
-511
-508
-505
-502
-498
-495
-491
-486
-482
-477
-472
-467
-462
-456
-451
-445
-439
-433
-427
-421
-415
-409
-402
-396
-390
-384
-378
-373
-367
-362
-357
-353
-349
-345
-342
-339
-336
-334
-331
-329
-327
-326
-324
-322
-320
-318
-316
-314
-312
-309
-306
-303
-300
-297
-294
-290
-287
-283
-280
-276
-273
-269
-266
-262
-259
-255
-252
-249
-245
-242
-239
-236
-232
-229
-225
-221
-217
-213
-208
-203
-198
-192
-186
-180
-174
-167
-160
-153
-146
-139
-131
-124
-116
-109
-101
-94
-86
-79
-71
-64
-57
-50
-43
-37
-31
-25
-19
-13
-8
-2
3
8
12
17
21
25
29
32
36
39
43
46
49
52
56
59
62
65
69
72
76
80
84
88
92
97
101
105
110
114
119
123
127
131
135
138
141
144
146
148
150
151
152
153
154
154
155
155
155
154
154
153
152
151
149
147
145
142
139
136
132
127
123
118
112
107
101
95
89
83
76
70
64
58
52
47
41
36
31
26
22
18
14
11
9
6
5
4
3
3
4
5
7
10
13
16
20
25
29
34
39
45
50
55
60
65
70
75
80
84
88
92
96
99
102
105
108
110
112
114
115
116
117
117
117
116
115
114
112
109
107
104
101
98
94
91
88
85
82
79
77
75
73
72
71
70
69
69
69
69
69
70
70
71
71
71
72
72
72
71
71
70
68
66
64
61
58
54
50
45
39
33
27
20
12
4
-4
-12
-20
-29
-37
-45
-53
-60
-68
-74
-81
-87
-92
-97
-101
-105
-108
-110
-112
-114
-115
-115
-115
-115
-114
-113
-111
-109
-107
-105
-102
-99
-96
-94
-91
-88
-85
-83
-81
-79
-77
-75
-74
-74
-73
-73
-73
-73
-74
-75
-76
-77
-78
-80
-82
-83
-85
-87
-89
-91
-93
-95
-97
-99
-100
-102
-103
-104
-105
-106
-106
-107
-107
-107
-106
-106
-105
-105
-104
-103
-102
-101
-100
-99
-98
-97
-95
-94
-93
-92
-91
-89
-88
-87
-85
-84
-83
-81
-79
-78
-76
-74
-72
-70
-67
-64
-61
-58
-55
-52
-48
-45
-41
-38
-34
-31
-27
-23
-20
-16
-12
-8
-4
1
5
10
15
20
25
30
35
41
46
51
57
62
67
72
76
81
86
91
95
100
105
109
114
119
124
129
133
138
142
147
151
155
159
163
166
170
173
176
180
183
185
188
191
194
196
198
201
203
205
208
210
212
214
216
218
220
222
224
226
228
230
232
234
236
239
241
244
247
250
253
257
260
264
268
273
277
281
286
290
295
299
304
308
312
316
320
324
327
330
334
337
340
343
345
348
350
352
355
357
358
360
362
363
364
365
365
366
366
366
366
366
365
365
364
364
363
363
362
362
361
361
361
361
361
362
362
362
363
363
364
364
364
364
365
364
364
364
363
363
362
361
360
358
357
355
353
350
348
345
342
339
336
333
329
325
322
317
313
308
304
299
293
288
282
275
269
262
255
248
241
233
225
218
210
202
194
186
178
171
163
156
149
143
136
131
125
120
116
112
109
106
103
102
100
99
99
99
99
100
100
101
102
103
104
104
104
104
104
103
102
100
98
95
91
88
83
78
73
67
61
55
48
41
34
27
20
13
6
-1
-8
-14
-21
-27
-33
-40
-46
-53
-59
-66
-72
-79
-85
-91
-98
-103
-109
-114
-118
-122
-126
-129
-131
-133
-135
-135
-136
-135
-135
-133
-132
-130
-128
-125
-122
-119
-116
-112
-108
-104
-100
-96
-92
-87
-83
-78
-74
-69
-65
-60
-55
-50
-46
-41
-36
-31
-26
-22
-17
-13
-9
-5
-1
2
5
7
10
12
13
15
17
18
19
20
22
23
24
25
26
27
28
29
30
31
33
35
36
38
41
43
46
49
53
57
61
65
70
75
80
85
91
96
101
107
112
118
123
128
133
138
143
147
151
155
159
162
165
168
171
173
174
175
176
177
177
177
176
175
174
173
171
169
166
164
161
158
154
151
148
144
141
137
134
130
127
125
122
119
117
115
113
111
110
108
106
105
103
101
100
98
96
94
92
90
87
85
82
80
77
74
71
68
65
62
59
55
52
49
47
44
41
38
36
33
31
28
26
24
22
20
18
16
14
13
11
9
8
7
6
5
4
3
2
2
2
2
2
2
3
3
4
4
4
4
5
5
4
4
4
3
3
2
2
1
0
0
-1
-2
-2
-3
-3
-4
-4
-4
-4
-4
-3
-2
-1
0
1
3
5
7
9
12
15
17
20
23
26
29
32
34
36
38
40
41
42
42
42
42
42
41
40
39
38
36
35
34
32
31
30
30
29
29
29
30
31
33
35
37
40
43
47
51
56
61
66
71
77
83
88
94
100
106
111
116
122
127
131
136
140
144
148
152
155
158
160
162
164
165
166
167
167
167
167
166
165
164
162
160
158
156
153
151
148
146
143
141
139
137
135
134
133
132
132
132
133
134
135
137
139
142
145
148
152
156
161
165
170
175
180
185
190
195
200
205
210
215
219
224
228
232
236
240
243
247
250
253
256
258
261
263
265
267
269
271
273
274
276
277
279
280
281
283
284
285
287
289
290
292
294
297
299
302
305
308
311
315
318
322
326
329
333
336
340
343
346
349
352
354
356
358
359
360
361
362
362
363
363
362
362
361
360
359
358
357
355
353
351
349
347
346
344
342
340
338
337
336
335
334
333
332
331
330
330
329
327
326
325
323
322
320
319
317
315
314
312
311
310
309
308
307
306
306
306
306
305
306
306
306
307
307
308
309
310
311
313
314
315
316
317
319
320
320
321
322
322
323
323
323
323
322
322
322
321
321
320
320
319
318
317
316
315
314
313
312
311
309
308
306
305
304
302
301
300
299
298
297
296
295
294
294
293
292
291
290
289
288
287
287
286
285
284
283
283
282
282
281
281
281
281
281
281
282
283
284
286
288
290
292
295
298
302
306
310
314
318
322
327
331
336
340
344
348
352
356
360
363
366
369
371
374
376
378
381
383
385
387
389
391
393
395
398
400
403
406
410
413
417
421
425
429
433
437
442
446
451
455
459
463
467
471
475
478
481
484
486
489
491
492
494
495
496
498
499
500
501
502
503
504
505
507
508
510
512
514
516
518
520
523
525
528
530
533
535
537
539
541
543
544
545
545
545
545
545
544
544
543
541
540
538
536
534
532
529
527
524
521
518
515
512
508
505
501
497
492
488
483
478
473
468
462
456
450
444
437
431
424
417
410
403
396
389
382
375
368
362
355
349
343
338
332
327
322
318
314
310
307
304
302
300
298
297
296
296
296
296
297
298
300
301
303
305
308
310
313
315
318
321
323
326
329
331
333
336
338
339
341
342
343
344
344
344
343
342
341
340
338
336
333
331
328
326
323
320
317
315
312
310
307
305
304
302
301
300
300
299
300
300
302
303
305
308
311
314
317
321
324
328
332
336
339
343
346
350
353
355
358
360
362
364
365
366
367
368
368
368
368
367
366
365
364
362
360
358
355
353
350
347
345
342
339
337
334
332
329
327
325
323
322
320
319
317
316
315
313
312
311
310
308
307
305
303
301
298
295
293
289
286
283
279
275
271
267
263
258
254
249
245
241
236
232
229
225
222
219
216
214
212
210
209
208
207
207
206
206
206
206
206
207
207
207
207
208
208
208
208
209
209
209
209
209
208
208
208
208
207
207
206
206
206
205
205
205
205
204
204
204
205
205
205
206
206
206
207
207
207
207
207
207
206
205
204
202
201
199
196
194
191
189
186
183
180
177
174
171
168
165
163
160
158
156
154
153
151
150
149
148
147
146
145
144
143
141
140
139
137
135
134
132
130
128
126
124
122
120
117
115
113
110
108
105
102
99
96
93
90
86
83
80
76
72
69
65
61
57
53
49
45
41
36
32
28
23
19
14
10
5
1
-4
-8
-13
-17
-21
-25
-29
-33
-36
-39
-42
-45
-47
-50
-52
-54
-56
-58
-60
-62
-63
-65
-67
-70
-72
-74
-77
-79
-82
-84
-87
-89
-92
-94
-97
-99
-101
-103
-105
-106
-107
-108
-109
-110
-110
-110
-110
-110
-110
-109
-109
-108
-108
-107
-106
-105
-104
-102
-101
-100
-98
-97
-95
-94
-92
-90
-89
-87
-86
-84
-83
-82
-81
-80
-80
-79
-79
-79
-79
-80
-80
-81
-82
-83
-85
-86
-88
-90
-91
-93
-95
-97
-99
-100
-102
-104
-105
-107
-108
-110
-111
-113
-114
-115
-117
-118
-119
-120
-121
-122
-123
-124
-125
-125
-126
-127
-128
-129
-129
-130
-131
-131
-132
-132
-133
-133
-133
-134
-134
-134
-134
-134
-134
-134
-134
-134
-133
-133
-133
-132
-132
-131
-130
-130
-129
-128
-126
-125
-123
-121
-119
-117
-114
-111
-108
-105
-102
-98
-95
-92
-88
-85
-82
-79
-77
-74
-72
-69
-67
-65
-64
-62
-61
-59
-58
-56
-55
-53
-52
-50
-48
-46
-44
-41
-39
-36
-33
-30
-27
-24
-21
-19
-16
-13
-11
-8
-6
-4
-3
-2
-1
0
0
0
0
-1
-2
-3
-4
-5
-7
-8
-10
-12
-14
-15
-17
-18
-19
-20
-21
-21
-21
-21
-20
-19
-17
-16
-14
-11
-9
-6
-3
-1
2
5
7
9
11
12
13
14
14
14
14
13
12
11
10
8
6
4
2
0
-3
-5
-8
-11
-14
-17
-20
-22
-25
-28
-31
-34
-36
-38
-40
-42
-43
-45
-46
-47
-48
-48
-49
-50
-50
-51
-52
-53
-54
-55
-56
-57
-59
-60
-62
-63
-65
-67
-69
-71
-73
-75
-77
-80
-82
-84
-86
-89
-91
-93
-95
-97
-99
-100
-102
-104
-105
-106
-108
-109
-110
-111
-112
-112
-113
-114
-114
-115
-115
-116
-116
-117
-118
-118
-119
-120
-121
-122
-123
-124
-125
-127
-129
-131
-134
-136
-140
-143
-147
-151
-155
-160
-164
-169
-173
-178
-182
-186
-190
-194
-198
-201
-204
-207
-209
-211
-212
-214
-214
-214
-214
-214
-213
-212
-210
-209
-207
-204
-202
-199
-196
-194
-191
-188
-185
-182
-180
-177
-175
-173
-171
-169
-168
-167
-166
-165
-164
-164
-164
-164
-164
-165
-166
-167
-169
-170
-172
-174
-177
-179
-182
-184
-187
-190
-193
-196
-199
-202
-205
-208
-211
-213
-216
-218
-220
-222
-224
-226
-228
-229
-231
-233
-234
-236
-237
-239
-241
-242
-244
-246
-248
-250
-252
-254
-256
-258
-260
-262
-264
-266
-267
-269
-270
-272
-272
-273
-274
-274
-274
-274
-274
-274
-273
-272
-272
-271
-270
-269
-268
-267
-265
-264
-262
-260
-258
-256
-254
-251
-248
-245
-242
-239
-235
-231
-227
-223
-218
-214
-209
-205
-200
-195
-190
-186
-181
-177
-172
-168
-164
-160
-156
-153
-149
-146
-143
-140
-137
-135
-132
-130
-127
-125
-122
-120
-118
-115
-113
-111
-108
-106
-104
-101
-99
-97
-94
-91
-89
-86
-83
-80
-76
-72
-69
-65
-60
-56
-51
-47
-42
-37
-32
-27
-22
-17
-11
-6
-1
4
10
15
20
26
31
36
42
47
53
58
63
69
74
80
85
90
95
100
105
109
113
117
121
125
129
132
136
139
142
145
149
152
155
158
161
165
168
172
176
180
184
188
193
198
202
207
212
218
223
228
233
238
243
248
253
257
261
265
268
272
274
277
279
281
283
284
285
285
286
286
286
285
285
284
283
282
281
280
280
279
278
278
278
277
278
278
278
279
279
280
281
281
282
282
283
284
284
284
284
285
285
285
285
284
284
284
284
284
283
283
283
283
282
282
282
282
282
281
281
281
281
281
281
281
280
280
280
279
279
278
277
276
275
274
272
270
268
266
264
261
258
255
252
249
245
242
238
235
231
228
224
220
217
213
209
206
202
199
196
192
189
186
182
179
176
173
170
166
163
160
157
154
152
149
146
144
141
139
137
135
133
131
129
127
125
124
123
121
120
119
118
118
117
117
117
117
117
117
117
117
118
118
118
118
118
118
118
118
118
118
117
117
116
116
115
114
113
112
111
109
108
106
104
103
101
98
96
94
92
90
88
86
84
82
80
78
77
75
74
74
73
73
72
72
73
73
74
74
75
76
77
78
79
80
80
81
81
81
81
81
80
78
77
75
72
69
66
62
58
54
49
45
39
34
29
24
18
13
8
3
-2
-6
-10
-14
-17
-20
-23
-25
-27
-28
-29
-30
-31
-31
-31
-31
-30
-30
-29
-28
-27
-27
-26
-25
-24
-23
-22
-21
-20
-19
-18
-17
-15
-14
-12
-10
-9
-7
-4
-2
0
3
6
9
12
15
18
21
24
27
30
33
36
38
41
43
45
46
47
48
48
48
47
46
45
43
42
39
37
34
31
28
25
21
18
15
11
8
4
1
-2
-5
-8
-11
-14
-16
-19
-21
-23
-25
-27
-29
-30
-32
-33
-35
-36
-37
-38
-39
-40
-41
-42
-42
-43
-44
-45
-46
-47
-47
-48
-48
-49
-49
-49
-49
-49
-49
-48
-48
-47
-46
-45
-44
-42
-41
-40
-38
-37
-36
-34
-33
-32
-31
-29
-29
-28
-27
-26
-26
-25
-25
-25
-25
-25
-25
-25
-25
-26
-26
-27
-28
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-41
-42
-43
-43
-44
-44
-45
-46
-46
-47
-47
-48
-49
-49
-50
-50
-51
-52
-52
-53
-54
-56
-57
-59
-61
-64
-66
-69
-72
-75
-79
-82
-86
-90
-93
-97
-101
-104
-107
-111
-114
-117
-119
-122
-124
-127
-129
-131
-132
-134
-135
-136
-137
-138
-138
-138
-138
-138
-138
-138
-137
-137
-136
-136
-135
-135
-135
-135
-135
-136
-136
-137
-137
-138
-138
-139
-139
-139
-139
-139
-139
-138
-138
-137
-136
-134
-133
-131
-129
-127
-126
-123
-121
-119
-117
-115
-113
-111
-109
-107
-105
-103
-101
-99
-97
-95
-94
-92
-91
-90
-89
-88
-88
-88
-88
-88
-89
-90
-91
-92
-94
-96
-98
-101
-103
-106
-109
-113
-116
-119
-123
-126
-130
-133
-137
-140
-143
-146
-148
-151
-153
-155
-157
-158
-159
-160
-160
-161
-161
-161
-160
-160
-159
-159
-158
-157
-157
-156
-156
-156
-155
-155
-155
-155
-155
-155
-156
-156
-156
-157
-157
-158
-158
-159
-159
-159
-159
-159
-159
-159
-159
-158
-157
-156
-155
-154
-153
-152
-150
-149
-147
-146
-144
-142
-141
-139
-138
-136
-134
-133
-131
-129
-128
-126
-125
-124
-122
-121
-121
-120
-119
-119
-119
-119
-119
-120
-120
-121
-122
-123
-124
-125
-126
-128
-129
-130
-131
-133
-134
-135
-136
-138
-139
-140
-141
-142
-143
-144
-144
-145
-145
-146
-146
-146
-146
-146
-145
-145
-144
-144
-143
-142
-141
-140
-139
-138
-137
-136
-135
-134
-133
-132
-131
-130
-129
-128
-127
-126
-124
-123
-122
-121
-120
-119
-118
-117
-116
-115
-114
-113
-113
-112
-111
-110
-109
-108
-106
-105
-104
-103
-101
-100
-98
-96
-94
-92
-89
-87
-85
-82
-79
-76
-74
-71
-68
-65
-62
-59
-56
-53
-50
-47
-44
-41
-38
-35
-32
-29
-26
-23
-21
-18
-16
-13
-11
-9
-8
-6
-5
-4
-3
-2
-2
-1
-1
-1
0
0
0
1
1
2
3
4
5
6
8
9
12
14
17
19
22
26
29
33
37
42
46
51
56
61
66
72
77
83
88
94
100
105
111
116
122
127
132
137
141
145
149
153
156
160
162
165
167
170
172
173
175
177
178
179
181
182
184
185
186
188
190
191
193
195
197
199
201
203
205
208
210
213
215
218
221
224
227
230
233
236
240
243
246
249
251
254
257
259
261
263
265
266
268
269
270
271
272
273
274
275
276
277
278
279
280
281
283
284
286
287
289
290
292
293
295
296
298
299
300
301
302
303
303
304
304
304
303
303
302
301
300
299
298
297
296
295
294
293
292
291
290
290
289
289
289
289
289
290
290
291
291
292
293
294
294
295
296
296
297
297
298
298
298
298
298
298
298
298
298
298
298
297
297
297
297
296
296
296
295
295
295
295
295
295
295
296
296
297
297
298
299
301
302
304
306
308
311
314
316
319
323
326
329
332
336
339
342
346
349
352
354
357
359
361
362
363
364
365
365
365
364
364
363
362
360
359
357
356
354
352
350
348
346
344
343
341
339
337
336
334
333
331
330
328
327
326
324
323
321
320
318
316
314
312
310
307
305
302
300
297
294
291
289
286
283
280
278
276
273
271
270
268
267
265
264
264
263
262
262
262
262
261
261
261
261
261
260
260
259
258
257
256
254
253
250
248
245
242
239
236
232
228
225
221
216
212
208
204
200
196
193
189
185
182
179
176
173
170
167
165
163
160
158
156
154
152
150
148
146
144
142
140
138
136
135
133
131
130
128
126
125
123
121
120
118
116
114
111
109
107
104
101
98
95
92
88
85
81
78
74
71
67
64
61
58
56
53
51
49
48
46
45
45
44
44
44
44
44
44
45
45
46
47
47
48
49
50
50
51
52
52
53
53
54
54
54
54
54
53
53
52
52
51
50
50
49
48
47
46
44
43
42
41
39
38
36
35
33
31
30
28
26
25
23
21
20
19
18
17
17
17
17
17
17
17
18
18
19
19
20
20
20
20
20
20
19
18
18
16
15
14
12
10
8
6
4
2
0
-1
-3
-5
-7
-8
-9
-11
-12
-12
-13
-14
-14
-15
-15
-15
-16
-16
-16
-16
-16
-16
-16
-16
-16
-16
-16
-16
-16
-16
-17
-17
-18
-18
-19
-20
-21
-22
-24
-25
-27
-28
-30
-32
-34
-37
-39
-41
-44
-47
-49
-52
-55
-58
-61
-64
-67
-71
-74
-77
-80
-83
-86
-89
-92
-94
-97
-100
-103
-105
-108
-111
-113
-116
-119
-121
-124
-127
-130
-132
-135
-138
-141
-144
-147
-150
-153
-156
-159
-162
-165
-168
-171
-174
-176
-179
-181
-184
-186
-189
-191
-193
-196
-198
-201
-203
-205
-208
-210
-212
-214
-217
-219
-221
-223
-225
-226
-228
-230
-231
-233
-234
-235
-237
-238
-239
-240
-241
-242
-243
-244
-244
-245
-246
-246
-247
-248
-248
-249
-249
-250
-250
-250
-251
-251
-251
-252
-252
-252
-253
-253
-254
-254
-254
-255
-255
-255
-255
-256
-256
-256
-256
-255
-255
-254
-254
-253
-252
-250
-249
-247
-245
-244
-242
-240
-238
-236
-234
-232
-230
-228
-227
-225
-224
-222
-221
-220
-219
-218
-218
-217
-216
-216
-216
-216
-216
-216
-216
-216
-217
-217
-217
-218
-219
-219
-220
-221
-221
-222
-222
-223
-223
-223
-223
-223
-223
-223
-222
-222
-221
-220
-219
-217
-216
-214
-212
-211
-209
-207
-205
-203
-200
-198
-196
-194
-192
-190
-189
-187
-185
-183
-182
-180
-179
-178
-177
-176
-175
-174
-173
-173
-173
-172
-172
-172
-172
-172
-173
-173
-173
-174
-174
-174
-174
-175
-175
-175
-175
-174
-174
-173
-172
-171
-170
-169
-167
-166
-164
-162
-160
-158
-156
-154
-151
-149
-147
-145
-143
-142
-140
-139
-138
-137
-136
-136
-135
-136
-136
-136
-137
-138
-139
-140
-142
-143
-144
-145
-147
-148
-149
-150
-151
-152
-153
-154
-154
-155
-155
-156
-156
-156
-156
-156
-155
-155
-155
-154
-154
-153
-152
-151
-150
-149
-148
-147
-146
-145
-144
-143
-141
-140
-139
-138
-137
-135
-134
-133
-132
-130
-129
-128
-126
-125
-123
-121
-119
-117
-115
-113
-110
-107
-104
-101
-98
-94
-90
-86
-82
-77
-72
-67
-62
-57
-51
-46
-40
-34
-28
-23
-17
-11
-5
0
5
11
16
20
25
30
34
38
42
45
49
52
55
58
60
63
66
68
71
74
76
79
82
85
88
91
94
97
101
104
108
111
114
118
121
124
127
130
133
136
138
140
143
145
146
148
150
151
153
154
155
156
157
158
159
160
161
162
163
163
164
165
166
167
168
168
169
170
171
172
172
173
174
175
176
177
178
179
180
181
182
184
185
186
188
190
192
194
196
198
200
203
205
208
210
213
216
219
222
225
228
231
234
237
240
243
246
248
251
253
256
258
260
262
263
265
266
268
269
270
271
272
273
274
275
275
276
276
276
276
276
275
275
274
273
272
271
270
268
266
265
263
261
260
258
256
255
253
252
251
250
249
248
247
247
246
246
246
246
246
247
247
248
248
249
249
250
250
250
250
250
250
250
249
249
248
247
246
245
243
242
240
238
236
234
231
229
227
224
222
219
217
214
212
210
207
205
203
201
200
198
197
195
194
193
192
192
191
190
190
190
189
189
189
188
188
187
187
186
186
185
184
183
183
182
181
180
179
178
177
176
174
173
172
171
169
168
166
165
164
162
160
159
157
156
154
153
152
150
149
147
146
145
144
142
141
139
138
137
135
133
131
130
128
125
123
121
119
116
114
111
109
106
104
102
99
97
95
92
90
88
85
83
81
79
76
74
72
70
68
65
63
61
59
57
55
54
52
50
49
47
46
44
42
41
39
38
36
34
32
31
29
27
25
23
20
18
16
14
12
10
8
6
4
2
0
-1
-3
-4
-5
-6
-7
-8
-8
-9
-9
-9
-9
-9
-8
-8
-8
-7
-6
-5
-5
-4
-3
-2
-1
0
1
2
2
3
4
4
5
5
5
6
6
6
6
7
7
7
8
8
8
9
9
9
10
10
11
11
11
12
12
13
13
14
14
15
16
17
17
18
20
21
22
24
25
27
28
30
32
34
35
37
39
41
43
45
47
49
50
52
54
56
58
60
62
64
65
67
69
71
73
75
77
79
81
83
85
87
89
90
92
93
94
96
97
98
99
99
100
101
101
102
103
103
103
104
104
104
104
104
103
103
102
102
101
100
99
98
97
95
94
92
91
89
87
86
84
82
80
78
76
74
72
70
68
66
64
62
60
58
56
54
52
49
47
44
42
39
37
34
31
28
25
22
19
16
14
11
8
5
2
0
-3
-5
-7
-9
-12
-14
-15
-17
-19
-21
-22
-24
-25
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-36
-37
-38
-38
-38
-38
-38
-38
-38
-38
-37
-37
-36
-35
-34
-33
-31
-30
-28
-26
-24
-22
-19
-17
-14
-12
-9
-6
-3
-1
2
5
8
11
15
18
21
24
27
29
32
35
38
41
43
46
49
51
54
56
58
61
63
65
68
70
72
75
77
79
82
84
86
89
91
93
96
98
100
102
104
106
108
110
112
113
115
116
118
119
120
121
122
123
123
124
124
125
125
125
125
125
124
124
123
123
122
121
120
120
119
118
117
117
116
115
114
114
113
113
112
111
111
110
110
109
108
108
107
107
106
106
105
105
105
105
105
105
105
105
105
105
106
107
107
108
109
110
112
113
115
117
118
120
123
125
127
129
132
134
137
139
142
145
148
150
153
156
159
162
165
169
172
175
178
182
185
188
191
195
198
201
204
207
210
213
216
219
223
226
229
232
235
238
241
244
248
251
254
257
261
264
267
270
273
276
279
282
285
288
290
293
295
297
299
302
304
306
308
310
312
314
316
318
320
322
325
327
328
330
332
334
335
337
338
339
340
341
341
342
342
342
341
341
341
340
339
338
337
336
335
334
333
332
330
329
328
327
326
325
325
324
324
324
323
324
324
324
325
325
326
327
328
330
331
332
334
336
337
339
340
342
344
345
347
349
350
352
354
355
357
359
360
362
363
364
366
367
368
369
371
372
373
374
375
375
376
377
378
379
380
381
381
382
383
384
384
385
385
385
385
385
385
385
385
384
383
382
381
380
379
378
376
375
373
372
370
368
367
365
364
362
361
359
358
357
356
355
354
353
352
351
350
350
349
348
347
346
346
345
344
342
341
340
338
337
335
333
331
328
326
323
321
318
315
312
310
307
304
301
298
296
293
290
288
285
282
280
277
275
272
270
267
265
262
260
258
255
252
250
247
245
242
239
236
233
231
228
225
222
218
215
212
209
206
203
200
197
194
191
188
185
183
180
177
174
172
169
166
164
161
158
156
153
151
148
145
143
141
138
136
134
132
129
127
126
124
122
120
119
117
116
114
113
111
110
109
107
106
104
103
101
99
98
96
94
92
90
88
86
85
83
81
79
77
75
73
71
70
68
67
65
64
63
62
61
60
59
59
59
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
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
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
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
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
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
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
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
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
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
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
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
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
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
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
