58
110
59
115
119
60
106
102
102
100
95
93
93
82
81
37
39
34
33
36
35
28
76
79
36
42
94
91
89
94
42
36
32
29
81
82
79
84
83
79
94
92
31
78
30
80
84
89
73
87
35
25
19
21
26
28
85
23
72
63
63
71
75
25
83
82
33
30
18
76
94
100
82
91
86
76
93
95
29
28
28
25
71
68
20
73
68
26
36
35
81
75
18
20
26
29
27
29
90
98
100
89
35
33
32
30
84
35
35
29
20
76
28
29
27
19
22
79
33
83
76
70
84
81
73
20
26
74
15
38
37
89
40
91
88
87
88
82
81
91
48
98
85
74
23
76
78
75
68
17
22
70
68
69
26
80
84
89
82
87
36
35
45
43
75
71
70
17
31
41
68
81
83
77
81
75
58
68
86
81
83
100
103
90
75
72
78
50
48
37
93
97
105
118
120
125
83
79
45
39
34
55
115
122
69
66
66
117
115
78
95
70
57
70
143
120
95
74
58
14
88
38
93
41
61
55
42
40
98
91
63
81
79
67
123
129
138
104
103
105
84
98
115
124
128
133
131
151
185
187
117
149
110
129
78
83
101
79
54
127
63
120
124
67
137
137
110
78
62
98
134
111
106
85
54
63
77
87
63
75
105
110
127
125
124
163
187
54
54
36
29
31
97
117
117
138
71
43
71
56
107
54
55
53
47
42
40
93
93
91
92
42
35
88
40
39
34
34
90
91
35
32
85
84
79
76
80
35
36
90
46
45
41
89
86
82
85
86
32
96
44
90
81
85
87
39
91
15
71
75
18
17
24
29
25
17
11
72
76
80
87
86
31
86
40
88
93
94
44
96
88
92
86
87
91
79
75
80
71
71
70
18
74
72
65
24
22
22
27
88
93
91
93
44
43
39
35
35
35
85
86
34
28
21
74
31
40
86
84
29
80
28
28
28
23
23
75
23
80
86
90
76
33
36
87
87
83
34
38
35
34
40
45
47
100
102
90
81
76
66
57
14
83
78
67
69
71
18
69
17
19
19
20
18
18
26
87
73
76
80
33
37
41
94
84
69
28
37
24
27
91
90
90
99
47
85
84
88
79
82
87
89
84
77
77
80
42
35
21
82
86
89
96
105
42
38
41
49
50
42
49
64
112
91
92
61
44
21
62
66
27
26
79
89
95
79
66
67
69
60
12
29
41
98
97
53
32
81
121
73
110
64
71
88
105
126
104
124
157
149
150
157
169
135
141
123
107
121
140
145
152
139
152
116
70
94
115
104
115
120
142
140
83
106
161
139
125
80
93
97
92
129
114
140
81
112
55
66
85
44
59
71
86
117
185
155
69
30
0
24
94
65
113
148
148
105
69
74
111
110
107
105
101
46
98
94
93
94
96
99
47
45
45
94
39
87
89
41
94
91
85
31
35
38
88
85
84
32
82
28
83
83
82
80
101
48
45
43
39
35
84
28
24
24
24
21
69
15
17
74
78
79
78
81
36
93
47
43
34
33
33
33
37
30
86
83
82
84
91
47
46
92
33
35
86
76
65
13
28
92
41
36
45
104
50
46
44
46
97
91
87
84
82
29
30
29
28
27
27
83
85
33
35
90
35
30
70
72
72
17
15
67
16
17
18
21
22
73
74
74
26
85
30
25
25
75
12
19
16
17
73
74
18
13
68
86
38
79
84
105
57
44
37
30
24
71
20
23
25
22
22
75
16
16
77
88
88
77
69
19
22
20
74
65
88
90
25
22
22
42
87
87
92
96
95
46
53
108
101
119
122
106
85
74
73
61
18
27
81
80
85
97
105
49
54
62
66
60
48
87
83
80
82
37
43
39
51
46
25
76
90
27
68
126
131
101
95
100
88
91
88
95
119
120
58
54
46
29
116
85
64
125
92
84
121
150
93
82
99
125
109
114
106
137
148
142
153
172
168
121
112
121
137
75
88
69
90
61
124
135
147
124
116
76
50
118
62
82
103
121
145
82
85
133
92
80
95
14
28
53
49
69
179
187
120
108
41
43
54
84
51
154
159
111
158
169
202
95
96
44
96
100
102
104
100
98
98
102
103
102
48
103
98
42
93
96
46
46
45
32
83
89
42
41
37
86
82
78
72
75
81
82
82
98
45
44
43
42
93
92
83
75
73
71
15
73
17
20
80
85
83
82
88
97
84
90
33
26
29
87
90
41
31
28
86
101
53
98
97
99
43
38
38
36
22
6
71
28
40
50
57
53
98
44
36
31
32
82
76
76
77
78
32
38
38
30
21
68
28
30
31
36
39
32
73
20
20
72
72
19
18
18
20
17
14
67
75
26
80
13
72
69
12
18
75
19
70
69
20
77
79
26
27
25
24
84
101
60
57
48
42
19
28
29
29
28
24
18
19
18
71
69
18
77
86
98
88
79
24
28
31
81
66
92
88
71
20
66
81
69
20
78
85
88
34
34
37
100
117
118
100
80
72
75
77
82
24
76
81
98
122
127
69
70
73
77
76
68
98
34
28
83
37
37
44
55
47
25
24
38
79
67
98
101
83
70
81
31
72
80
37
81
58
60
44
19
25
42
89
62
115
112
118
123
128
90
100
110
115
105
121
67
151
162
143
78
142
150
154
138
112
99
106
74
48
144
142
86
126
91
126
107
64
63
84
62
66
122
139
145
137
83
129
53
48
113
7
71
107
134
173
183
175
67
126
57
8
73
88
45
141
142
108
157
203
228
104
104
104
102
105
107
110
110
105
52
108
108
101
99
98
92
37
39
43
96
93
39
38
38
89
86
32
38
46
25
22
77
85
92
94
96
41
40
43
44
43
44
47
93
83
82
28
20
28
19
82
86
38
94
100
101
90
31
40
91
34
38
38
78
68
66
18
70
82
38
47
115
112
37
27
31
20
87
118
57
61
59
47
34
30
32
18
66
77
104
120
112
80
78
71
17
22
25
24
76
78
37
41
87
85
36
36
82
78
21
71
76
27
78
23
27
25
26
85
88
24
13
19
30
26
11
6
10
25
89
85
27
72
13
14
25
49
57
64
121
75
72
103
28
34
15
16
30
40
30
14
25
23
24
85
35
91
95
96
102
97
28
21
32
80
96
78
80
86
30
92
92
95
88
75
16
14
8
8
19
21
82
87
83
75
73
76
26
85
38
38
84
84
40
85
74
20
28
41
37
76
19
39
105
105
58
64
33
47
45
96
102
46
78
64
30
50
83
117
128
79
37
54
93
42
41
39
89
81
67
9
124
100
92
122
24
40
76
73
89
70
75
96
150
83
97
108
110
113
172
156
136
117
95
16
18
61
55
167
185
111
140
107
124
142
87
80
78
89
44
67
125
165
149
122
119
59
147
112
110
56
106
193
120
134
189
129
84
29
37
70
64
79
56
120
203
255
204
128
114
61
58
107
110
103
92
86
89
94
49
51
53
49
52
47
99
98
41
92
93
89
93
87
31
32
85
86
89
70
26
82
82
83
80
73
32
38
35
34
44
39
89
28
31
29
28
85
78
77
29
78
84
80
70
82
92
27
23
75
18
9
10
70
20
16
81
85
36
36
97
115
55
42
33
21
25
83
27
22
88
46
45
38
91
43
43
88
80
97
122
110
80
27
17
12
67
15
13
16
24
32
85
83
86
94
95
90
98
96
96
99
101
103
103
95
95
43
94
91
90
37
49
44
37
32
78
20
15
29
26
74
20
24
37
53
66
46
31
31
35
39
53
69
68
42
41
39
37
38
38
37
38
87
89
85
33
43
91
95
100
101
45
42
98
92
96
99
101
51
105
91
42
95
45
100
50
103
49
47
26
75
77
75
75
22
17
7
14
24
87
92
96
50
72
118
112
54
29
16
62
62
70
74
72
90
76
86
88
21
15
16
77
101
51
36
31
72
74
83
75
13
21
93
34
80
76
91
100
86
94
137
100
108
85
16
28
36
135
123
99
100
60
72
88
90
96
58
64
90
115
59
25
30
55
11
16
13
121
165
148
94
92
97
111
87
83
78
45
29
52
87
99
57
107
138
68
142
162
181
123
156
191
172
118
169
137
72
131
123
137
141
57
74
188
181
111
121
142
78
76
68
111
49
96
92
82
87
42
49
51
51
44
50
43
42
93
90
92
94
91
91
87
84
82
81
79
80
73
82
87
81
77
24
76
84
88
36
88
46
40
90
35
38
35
32
33
29
86
79
29
92
90
30
96
95
70
15
16
13
57
60
70
74
46
109
98
42
44
45
48
47
100
87
24
24
16
10
19
86
97
96
37
43
101
106
97
30
83
94
33
30
31
22
16
70
21
21
24
29
34
85
88
93
43
42
93
93
92
95
47
50
51
103
95
97
100
102
102
100
99
98
47
47
45
41
34
22
20
21
28
39
53
61
63
100
75
66
79
77
66
30
64
69
50
54
60
58
101
92
85
86
83
87
84
30
36
81
87
94
96
94
35
86
85
88
91
95
100
102
87
96
48
53
107
55
53
50
49
43
43
42
39
40
37
78
59
7
4
14
20
73
78
86
34
39
48
44
33
25
81
83
80
71
81
56
52
103
97
75
5
13
33
81
94
92
78
73
84
82
16
14
25
38
73
73
87
92
83
65
86
77
26
71
86
104
97
135
113
29
15
139
96
67
60
45
20
70
99
110
117
35
27
18
94
22
70
122
105
143
142
103
102
101
146
138
56
33
31
75
104
79
102
98
150
161
93
128
151
140
195
141
117
114
169
147
87
139
107
66
111
97
139
98
105
85
99
107
62
107
96
85
78
86
93
48
50
53
53
52
49
48
39
89
41
43
38
39
95
91
86
90
35
27
26
81
25
28
29
30
73
18
27
41
43
98
40
89
46
40
36
54
48
90
38
42
28
28
84
25
13
17
29
33
50
122
108
47
45
101
111
67
117
99
24
20
20
18
27
46
94
98
78
86
96
89
91
43
37
27
71
22
40
42
90
98
102
100
96
40
102
50
41
31
79
30
35
42
100
99
96
99
48
95
92
94
47
44
39
39
38
89
87
86
85
83
82
87
90
93
92
93
38
31
30
37
48
72
67
59
53
49
99
99
101
112
115
58
58
65
64
56
80
53
86
87
92
93
96
104
103
40
32
34
37
44
97
102
106
105
52
40
83
90
86
84
87
91
92
87
82
85
88
88
86
35
38
41
43
46
46
45
51
54
47
93
44
28
20
12
8
13
73
64
59
11
22
75
75
81
75
31
92
89
87
109
86
91
84
26
27
80
42
64
121
102
77
76
81
32
39
41
41
37
88
78
24
39
74
67
98
129
37
31
22
37
109
154
179
150
74
8
47
77
27
48
108
91
92
87
77
29
21
42
94
79
55
87
145
153
101
151
137
122
104
78
67
92
90
73
108
84
137
128
123
110
126
161
162
116
132
141
144
150
126
78
106
141
116
136
140
58
47
69
82
103
102
40
37
40
98
102
105
109
52
54
54
52
47
45
51
53
53
53
97
82
28
88
94
39
41
91
23
27
38
34
38
28
33
86
28
34
45
49
104
44
85
90
95
102
45
35
24
24
79
18
24
19
3
38
71
109
64
91
120
111
107
103
97
98
99
95
95
87
84
88
35
34
39
95
75
19
45
104
53
100
87
33
31
85
41
44
37
79
84
91
94
42
49
94
49
50
99
93
35
35
39
94
99
100
42
90
93
94
40
45
40
82
29
30
83
83
86
85
85
85
91
95
98
88
47
105
51
53
61
66
49
47
44
40
90
88
88
87
80
77
28
31
32
38
47
86
107
46
109
113
106
106
72
81
127
91
74
62
7
71
24
78
79
34
38
28
75
26
87
96
95
87
83
89
89
89
87
84
77
16
10
17
23
35
32
23
24
80
27
32
77
77
74
73
79
71
14
63
13
14
66
68
0
12
31
35
35
46
100
109
70
77
50
16
25
50
108
118
107
87
74
61
8
22
41
31
32
27
40
63
72
28
27
86
75
44
85
68
49
36
31
28
27
88
67
21
12
38
60
83
94
90
135
97
119
34
11
50
138
110
81
92
88
84
67
37
48
42
44
122
90
49
36
81
61
136
104
38
91
174
168
119
107
183
155
169
175
74
89
165
137
114
137
60
25
62
93
59
127
61
35
29
27
86
46
51
58
59
60
62
58
51
45
46
98
47
101
42
28
82
48
60
37
49
52
33
30
87
77
25
16
31
90
33
36
45
55
50
90
91
60
49
37
50
93
28
23
72
65
26
17
79
40
51
108
57
61
134
131
131
123
106
95
92
88
33
85
73
80
94
96
40
94
66
71
48
48
47
87
88
35
33
32
36
41
38
28
43
108
47
31
88
57
48
54
57
104
95
91
39
92
100
52
94
90
45
49
98
81
76
15
16
71
23
77
73
74
76
79
86
88
38
60
73
80
72
61
53
31
42
39
36
90
95
98
98
96
104
104
43
40
47
104
102
101
92
70
81
95
97
104
54
127
86
126
114
103
48
96
91
80
70
75
42
37
70
20
78
31
29
77
87
81
25
74
74
78
81
81
80
68
76
40
34
17
66
71
81
27
14
69
68
66
68
79
79
82
32
71
63
60
13
0
1
12
17
24
65
72
88
90
49
14
51
94
67
122
110
93
82
71
19
90
98
32
40
39
52
44
6
20
54
99
65
46
33
46
35
19
79
93
83
37
102
73
34
77
56
91
101
99
179
124
77
63
46
29
143
87
157
88
58
60
46
76
71
37
29
118
82
64
62
81
91
126
127
71
96
198
171
40
144
213
147
166
166
182
137
160
152
59
72
122
33
125
86
40
110
101
28
27
25
23
24
26
28
38
40
47
104
52
48
97
94
82
79
96
55
39
80
38
24
25
26
25
38
48
37
92
99
34
39
47
47
46
36
61
109
35
51
41
24
35
88
36
23
8
100
107
53
107
52
98
96
46
45
41
50
120
142
156
152
80
62
90
80
30
40
96
93
39
25
28
38
50
42
36
87
42
46
40
31
23
30
59
128
135
118
124
29
12
17
59
26
43
48
102
55
55
103
47
43
38
89
34
83
87
93
34
36
38
49
63
119
111
109
110
116
127
122
116
101
96
38
33
28
26
90
93
35
37
99
112
122
113
82
88
96
100
43
35
34
38
41
130
106
96
51
104
98
90
84
32
98
100
49
103
116
128
136
128
62
58
59
112
112
104
41
42
106
62
55
111
115
65
62
56
103
102
99
57
50
29
25
29
75
34
34
87
35
88
92
95
91
89
88
35
68
63
12
26
22
16
9
56
1
2
8
24
88
72
89
76
67
69
71
110
82
84
91
30
99
116
100
52
52
52
28
23
22
39
44
90
81
76
33
16
24
78
75
83
134
69
14
21
56
134
67
107
119
158
153
91
96
99
127
125
157
148
138
121
60
56
56
135
94
67
63
64
99
42
97
106
123
138
137
47
131
189
196
181
159
168
168
88
44
156
159
83
27
118
98
43
93
118
111
98
99
65
121
123
69
60
62
64
64
59
107
100
35
27
105
103
93
97
98
90
50
63
54
35
86
91
89
93
52
58
58
43
42
102
41
34
43
104
87
83
42
22
22
41
32
36
30
18
76
112
106
104
101
96
91
40
44
50
49
41
31
26
78
78
77
75
83
89
36
82
29
33
34
47
58
61
48
57
64
64
59
54
50
53
59
55
57
81
112
39
82
79
23
70
31
82
88
49
108
55
58
64
56
99
42
49
111
116
68
120
71
93
93
92
91
84
115
55
98
96
102
100
97
77
77
78
77
74
22
92
124
122
69
112
98
96
103
112
108
93
25
25
40
52
54
58
103
73
74
44
84
100
90
85
28
78
78
79
79
88
100
88
81
44
34
47
70
108
98
98
95
34
24
26
79
80
82
86
87
84
26
76
90
45
89
89
93
85
22
24
76
77
79
80
79
88
87
86
32
74
71
18
13
13
13
15
68
68
13
4
0
55
52
65
92
103
60
114
110
37
87
88
36
122
117
107
92
23
69
72
29
83
49
44
68
22
90
57
57
68
22
14
74
81
58
88
88
76
68
36
117
139
149
84
79
83
137
97
162
167
152
139
60
117
134
127
128
71
51
111
108
142
99
102
70
118
155
175
83
116
164
175
161
187
208
105
76
86
126
93
44
98
158
122
42
55
64
85
83
132
55
58
61
61
60
119
125
56
61
108
91
30
92
119
52
103
107
46
41
64
71
43
42
103
106
96
90
97
106
54
44
48
103
35
27
89
75
93
97
29
34
32
13
38
95
87
72
25
102
99
111
108
53
50
47
44
42
25
76
74
18
70
22
84
91
89
100
95
78
24
36
94
92
103
53
43
56
64
61
57
49
48
58
68
59
47
47
35
28
32
89
87
80
32
30
88
49
55
56
118
80
67
111
108
65
75
127
74
78
125
72
67
69
73
71
119
64
59
106
106
108
111
111
111
111
107
98
36
36
47
51
67
74
54
87
91
115
107
38
27
34
53
61
59
61
93
71
83
108
89
99
83
83
82
30
30
29
27
88
97
82
20
32
26
46
46
92
95
106
108
44
32
37
40
93
93
95
98
94
88
71
32
41
35
36
93
88
84
81
17
18
21
18
12
25
25
25
76
76
74
20
21
25
27
24
71
67
18
24
8
70
78
78
23
75
132
118
50
32
89
89
31
114
113
105
91
28
29
47
112
89
104
101
67
62
32
70
107
72
29
74
74
70
6
69
105
98
88
70
84
80
146
82
74
74
133
153
170
176
143
112
36
111
143
122
50
87
81
107
101
118
88
92
62
71
105
175
146
146
141
184
164
162
169
97
105
83
126
101
70
96
84
47
49
64
82
110
146
132
50
49
48
48
54
111
115
100
99
94
88
83
85
88
121
111
96
42
51
47
39
40
67
119
99
84
32
92
100
48
110
95
92
89
28
74
88
65
18
37
15
26
97
111
52
85
77
85
30
89
49
43
38
36
32
25
24
34
90
95
98
98
45
47
100
95
48
50
88
39
101
96
81
29
81
92
42
30
68
75
77
38
46
95
58
107
129
72
113
47
38
36
39
55
54
107
110
59
56
103
99
113
106
48
56
60
100
87
29
28
37
32
29
27
21
75
25
27
30
86
87
88
89
91
99
111
65
63
56
57
60
124
86
98
101
80
40
42
49
56
57
49
42
91
42
51
105
73
138
125
104
108
113
63
60
61
59
55
87
83
30
29
25
32
41
103
115
128
82
78
75
85
68
79
134
122
108
49
43
89
90
49
53
36
25
23
18
89
97
38
32
35
37
34
71
21
22
74
87
88
84
26
27
28
80
81
85
46
48
38
45
102
124
99
106
132
94
66
68
98
50
32
103
139
55
86
78
13
16
57
64
84
88
82
74
67
20
66
82
87
92
38
83
0
33
52
59
119
147
109
102
52
60
110
123
108
126
188
211
87
46
14
38
84
90
89
94
113
109
126
48
39
84
94
94
112
97
130
127
148
149
168
169
134
121
62
106
99
53
91
136
92
69
86
125
70
53
69
0
55
65
57
52
50
32
84
74
74
85
84
78
95
78
117
97
23
28
49
105
55
125
93
44
113
98
46
112
101
81
96
43
36
29
78
30
66
15
2
3
56
68
79
116
97
91
98
99
32
24
21
21
23
78
32
39
45
90
91
91
89
86
85
91
99
102
101
99
95
39
35
33
34
87
88
113
123
56
34
35
40
45
51
59
68
65
62
64
111
114
133
93
78
69
53
33
28
41
105
99
84
68
72
34
45
44
86
79
97
44
30
22
73
76
78
46
42
30
21
100
100
88
91
87
90
89
35
49
45
55
45
98
73
163
182
119
85
127
113
103
52
59
64
116
121
46
97
56
129
136
127
101
104
51
59
57
52
107
98
95
85
76
26
45
45
53
63
121
116
109
53
42
58
116
117
119
125
120
56
101
43
44
46
98
42
91
39
31
36
44
56
66
61
100
88
43
45
98
127
133
127
107
94
85
85
81
78
54
82
88
84
126
121
58
41
29
29
27
102
51
25
84
100
123
49
24
78
65
11
74
71
34
88
69
70
32
15
84
86
71
64
81
16
3
9
72
82
108
150
127
178
192
161
93
107
177
181
185
194
102
74
73
71
131
103
108
107
109
126
109
65
54
97
117
128
164
100
110
121
103
149
187
162
198
199
127
115
106
99
41
60
110
91
94
95
136
56
68
110
52
52
52
56
39
80
83
21
25
81
22
14
74
80
112
45
28
34
57
67
71
85
30
103
113
43
93
105
46
45
97
81
83
80
72
16
71
84
23
14
60
67
68
106
100
103
104
38
22
22
24
27
35
46
56
110
52
107
106
104
103
100
99
101
104
108
111
60
59
108
105
102
96
53
64
135
138
131
121
103
64
74
75
70
69
122
70
66
62
67
74
68
119
116
107
41
29
26
83
39
45
61
9
78
42
44
84
73
71
78
79
70
16
21
79
84
38
37
29
80
82
80
88
84
92
106
58
54
68
62
79
93
90
70
51
96
128
88
93
131
109
99
108
120
119
118
121
123
130
134
130
121
104
52
52
37
30
27
87
92
97
101
50
36
26
34
87
31
24
24
34
53
98
107
111
114
119
66
61
62
71
123
66
59
58
67
78
54
50
51
71
141
138
124
106
101
96
47
67
110
95
78
19
17
21
69
63
83
67
58
91
25
76
26
29
30
36
39
66
66
36
89
48
64
63
24
15
66
17
61
73
82
21
63
12
77
66
73
94
87
67
72
25
12
9
73
88
112
140
103
106
116
170
174
123
174
169
162
106
95
101
126
120
172
158
103
100
102
117
107
77
87
115
121
132
153
142
132
134
72
153
186
177
214
199
184
96
48
82
32
61
100
89
104
73
120
44
125
108
33
48
63
51
58
115
85
25
35
74
19
87
85
126
107
57
55
53
60
65
55
93
51
102
100
47
92
85
37
75
91
88
83
86
100
66
119
114
41
37
81
66
49
82
72
72
79
86
114
70
64
62
63
66
70
121
114
64
118
116
112
109
110
114
116
71
66
114
111
109
107
107
64
60
58
98
87
38
49
117
106
43
41
49
45
85
93
43
44
45
41
27
37
46
104
61
57
33
66
77
50
44
38
34
77
68
67
70
84
94
111
105
46
48
107
83
29
33
44
98
91
89
83
59
102
83
52
73
82
75
57
93
94
57
67
115
92
101
68
143
154
143
118
98
99
91
94
100
103
114
129
136
119
101
96
92
92
99
96
87
83
88
95
59
69
118
113
54
47
46
50
57
109
115
117
118
120
64
62
67
61
57
115
76
83
76
65
84
83
70
69
124
73
122
112
104
99
42
6
2
10
17
19
25
29
23
66
79
32
77
74
23
75
29
44
69
65
47
51
97
77
88
50
72
26
21
8
49
68
73
80
54
108
72
40
13
46
77
87
79
63
74
90
15
88
57
122
124
136
150
101
120
95
90
107
155
134
140
169
102
181
47
81
158
152
130
134
136
120
113
83
98
55
55
81
131
164
173
152
137
131
158
144
204
203
192
95
90
143
157
127
81
0
38
71
60
77
100
105
34
16
20
36
31
30
86
97
48
82
80
48
93
100
93
48
59
61
106
107
53
43
39
92
102
101
29
29
51
38
46
100
54
53
45
42
97
97
47
52
10
5
85
93
107
77
138
129
72
72
65
116
112
106
103
109
121
129
136
137
74
118
66
69
69
72
111
105
104
108
63
67
59
106
57
82
137
81
77
115
111
102
94
40
39
86
94
60
60
99
101
108
93
99
42
43
52
58
59
64
71
60
36
32
40
50
108
59
57
47
48
100
90
79
73
69
74
28
31
84
40
99
72
65
53
57
66
50
89
47
98
96
93
89
85
82
33
83
83
82
81
37
60
84
126
100
83
87
87
82
35
81
69
130
126
138
132
125
119
126
130
126
67
69
124
65
66
72
82
86
78
56
65
112
106
109
114
55
47
49
105
116
116
62
115
63
61
46
32
30
99
104
88
70
23
59
0
7
25
34
44
48
45
42
40
38
89
103
100
100
53
47
89
49
61
59
53
82
84
89
84
96
102
23
0
8
96
59
118
107
102
51
37
40
51
67
53
24
18
73
77
77
85
82
82
54
51
89
107
94
156
111
93
62
101
134
180
183
105
108
85
104
159
132
170
144
184
147
69
37
11
40
45
94
96
101
134
119
142
142
212
241
229
169
144
132
95
121
140
68
24
44
82
89
146
152
101
107
145
16
70
69
73
84
31
92
76
37
35
85
94
40
113
38
50
72
81
64
101
91
27
51
110
113
47
33
31
89
91
38
44
116
119
101
84
29
89
40
38
13
29
70
108
114
125
128
71
89
95
69
70
123
120
115
108
104
72
131
133
77
77
79
73
63
61
106
52
105
110
116
120
119
121
122
126
130
128
124
73
116
101
87
85
44
46
104
117
118
109
106
104
97
100
47
48
53
60
66
67
65
47
46
54
61
61
55
52
55
47
60
66
111
101
96
79
86
37
86
98
105
54
65
48
48
65
63
94
34
44
38
90
48
61
59
92
25
22
20
70
10
58
69
86
125
73
94
82
72
63
68
2
33
75
69
132
141
121
115
129
131
115
51
67
71
70
57
97
45
101
51
54
36
82
74
73
76
70
69
79
108
121
115
53
102
52
52
39
22
61
70
19
59
46
12
3
1
13
41
48
51
108
106
54
56
58
59
115
119
111
103
89
88
67
86
43
41
75
84
97
94
46
43
14
5
45
147
143
122
106
118
107
94
42
65
82
44
25
22
25
26
80
94
78
70
87
35
77
90
67
141
160
159
126
93
69
182
195
160
83
31
127
132
132
161
126
187
136
42
37
29
42
68
96
97
89
119
119
137
202
186
138
201
229
215
204
146
155
79
41
66
94
106
104
151
81
104
174
118
41
112
104
82
95
98
97
95
103
64
119
111
102
122
48
62
43
49
46
32
45
24
21
78
92
41
83
84
96
81
36
45
40
40
52
64
89
75
78
72
44
69
127
114
63
114
111
107
109
60
125
129
122
113
112
112
115
93
109
63
63
85
110
148
113
111
109
102
105
112
68
81
127
81
131
113
115
119
121
131
126
123
125
126
118
116
109
63
69
120
111
101
94
51
63
67
62
61
66
66
59
63
61
105
104
59
59
54
51
59
102
93
97
106
112
111
57
57
111
117
120
68
65
70
64
42
23
21
29
48
52
57
54
45
47
55
71
56
42
92
97
96
87
80
73
95
137
155
141
118
102
48
66
82
111
104
120
141
66
61
51
92
85
33
88
60
8
11
15
16
14
20
24
24
34
96
83
68
85
119
94
83
34
26
18
32
52
32
20
61
62
9
11
15
19
24
20
70
44
93
36
66
15
14
27
51
113
39
100
121
94
135
180
209
96
131
51
101
87
56
21
54
45
29
105
166
139
84
89
121
122
104
72
56
37
39
100
19
38
20
25
104
83
71
40
24
63
38
80
160
144
154
153
152
105
115
174
122
120
134
123
107
153
149
88
118
118
142
77
109
146
97
92
57
61
105
177
104
123
176
140
97
112
181
171
206
124
109
83
117
54
53
125
118
81
150
113
78
94
74
19
70
82
97
94
100
72
91
56
104
34
26
116
62
28
42
41
95
91
61
80
94
52
36
23
38
75
103
137
83
75
75
82
142
97
73
61
71
70
42
55
101
104
107
57
56
103
96
96
92
49
108
116
125
70
62
111
115
109
102
67
98
162
153
129
121
126
127
122
65
66
65
56
106
118
111
101
96
103
107
114
120
118
105
103
107
111
115
115
114
114
121
103
49
43
92
48
59
113
108
54
63
67
112
101
98
100
106
54
96
94
100
106
109
126
126
123
113
97
99
53
50
52
52
51
61
77
83
66
64
63
58
53
60
68
63
63
64
118
119
115
106
100
97
100
101
111
141
114
119
140
119
104
152
89
86
92
100
138
66
54
55
80
89
139
76
66
63
63
113
59
66
75
124
109
106
115
114
102
79
80
35
29
27
47
70
84
122
121
111
35
21
24
41
34
25
19
78
92
107
90
37
46
62
58
99
125
107
175
122
84
101
172
124
131
128
124
111
98
46
48
41
39
134
117
87
98
122
117
113
126
110
71
142
107
91
42
39
43
93
91
50
120
52
71
51
51
140
182
147
170
157
149
107
168
164
160
169
178
112
130
167
88
55
130
123
132
57
49
93
85
93
93
141
148
151
128
196
154
153
140
167
138
161
193
195
71
100
64
27
93
31
87
145
89
48
125
124
28
37
97
97
29
26
29
28
38
97
41
32
36
77
40
31
44
34
68
62
67
104
81
20
42
121
135
144
154
132
122
66
80
92
139
78
63
57
73
71
41
56
52
109
111
113
110
105
48
49
48
51
104
110
121
121
64
108
121
125
117
115
129
140
92
133
124
78
79
131
136
141
70
111
111
133
124
116
115
120
118
120
124
71
113
112
114
110
107
109
116
122
126
111
105
46
44
50
113
67
120
108
57
113
108
96
93
99
94
95
47
102
102
99
95
108
114
120
122
112
57
55
39
37
32
31
93
110
71
78
73
68
62
56
61
67
64
62
57
101
97
98
101
103
112
121
137
133
124
131
92
93
104
115
163
101
94
92
80
79
81
88
98
101
98
99
93
86
81
74
66
62
118
125
131
125
107
90
89
95
80
33
54
67
71
76
79
122
121
125
122
114
109
56
40
75
63
60
63
82
100
52
111
62
113
115
70
123
112
107
131
94
72
161
132
61
80
85
75
121
61
102
99
102
116
101
87
98
98
18
29
60
65
99
110
75
73
77
14
65
75
24
37
92
27
68
41
64
104
109
77
150
141
85
96
153
138
139
161
169
128
114
169
75
54
154
160
146
33
35
90
78
65
91
78
97
176
114
140
161
145
149
173
104
78
175
168
148
136
119
47
32
32
59
142
97
154
153
62
42
99
96
82
100
106
39
16
34
57
124
77
73
45
47
49
13
27
100
108
131
106
121
153
101
135
73
74
128
120
134
84
128
70
115
108
107
108
125
67
31
101
98
37
40
44
98
101
114
120
126
127
128
134
138
129
121
123
111
106
118
132
136
81
79
134
142
91
84
88
89
127
130
127
128
129
122
122
127
126
118
112
114
118
123
125
126
116
106
106
114
120
114
115
111
56
110
57
109
65
129
122
108
106
108
107
102
97
98
91
89
95
99
102
104
96
93
93
101
123
72
70
72
73
68
58
46
41
50
41
49
64
72
124
125
72
123
83
90
83
124
116
109
51
112
126
127
131
148
106
102
110
114
106
107
174
163
135
135
135
86
89
91
82
77
75
84
93
91
76
114
116
126
102
67
56
86
127
134
65
86
133
126
63
64
127
135
104
118
50
95
51
52
94
98
81
77
78
77
86
83
71
86
111
135
139
128
162
129
86
132
131
103
119
162
91
97
75
86
67
20
89
105
83
61
73
66
0
11
32
38
44
43
61
37
31
20
25
94
56
34
105
32
17
48
93
48
23
31
60
37
121
147
167
127
114
71
107
136
178
123
92
151
159
158
87
74
126
99
53
47
78
65
2
61
113
147
160
138
173
174
148
122
109
105
99
154
67
95
73
17
21
88
105
120
128
113
54
70
83
27
88
90
81
50
60
134
127
61
54
57
58
84
29
16
101
112
118
122
113
144
69
61
118
117
54
51
112
159
153
126
124
124
112
96
99
97
114
66
109
119
103
107
112
65
120
120
121
123
117
118
120
125
125
115
113
97
139
139
147
142
129
128
140
98
89
86
92
176
127
92
122
74
76
129
131
125
116
118
126
135
133
120
103
107
130
133
134
127
66
62
126
67
55
51
112
65
111
107
58
124
136
88
88
82
115
94
53
99
105
58
111
113
117
106
103
99
97
110
70
78
87
84
80
75
120
114
65
73
77
83
131
121
122
76
128
89
95
89
84
85
85
81
66
27
40
103
55
59
63
81
79
76
38
29
63
160
174
123
122
115
100
66
57
31
47
70
86
83
66
94
103
106
122
131
111
29
29
103
43
47
52
106
110
110
103
99
101
145
94
79
79
146
145
91
148
136
115
71
58
117
140
89
75
134
152
80
162
86
50
51
120
124
126
125
127
129
112
93
97
97
78
64
79
15
3
2
10
13
21
28
18
71
47
97
51
43
53
53
63
116
113
41
66
113
132
88
49
62
67
127
151
150
140
130
52
102
135
172
128
100
124
128
163
136
76
148
115
124
66
109
127
52
107
74
73
147
63
140
77
98
139
76
64
124
116
96
74
103
31
27
52
141
105
84
74
85
74
86
116
53
60
40
66
64
53
55
120
64
95
97
81
73
57
125
63
118
134
134
124
77
132
127
118
50
114
154
155
139
113
68
125
114
100
79
77
102
58
114
134
118
127
139
139
71
113
125
125
125
126
124
121
122
127
77
79
79
133
131
72
118
122
133
82
79
65
74
107
116
95
121
115
60
120
120
118
117
126
126
123
120
122
127
124
129
136
130
119
66
71
133
100
93
88
94
94
126
110
59
79
125
119
126
69
53
98
99
42
59
117
114
62
119
116
55
49
100
110
113
55
62
72
76
120
110
108
109
118
84
127
98
94
57
57
109
61
62
65
81
98
95
80
72
43
47
113
127
88
98
68
70
52
98
132
134
57
147
144
98
114
118
72
72
54
65
78
69
56
69
125
130
123
106
91
91
51
58
108
112
104
41
96
104
100
87
83
88
102
61
69
63
52
51
62
109
91
82
88
45
100
87
68
78
57
117
148
177
183
70
46
82
84
60
64
73
119
147
151
114
103
89
82
92
77
54
12
27
14
21
26
21
60
98
106
7
86
58
60
103
19
170
98
95
118
134
86
58
35
50
115
141
138
132
119
103
69
91
115
153
123
150
116
91
126
144
91
130
97
111
114
116
71
74
64
115
120
148
200
73
174
141
67
70
125
84
134
62
79
37
63
58
107
79
140
48
113
69
75
133
132
126
51
38
38
78
60
52
100
80
69
102
128
135
87
90
91
134
74
77
73
66
122
131
146
149
139
69
59
40
45
106
59
58
110
114
77
68
67
141
126
135
76
122
123
130
87
138
133
84
83
75
65
58
53
52
62
71
125
78
139
90
88
82
107
106
70
94
98
83
133
126
120
123
125
127
129
125
135
138
128
119
136
143
143
124
105
111
84
96
139
87
92
147
148
140
71
121
134
81
128
130
127
115
71
149
135
77
59
58
60
56
50
103
106
63
116
99
49
47
46
55
65
122
127
132
134
127
94
75
95
116
107
100
47
38
43
60
69
63
61
120
74
86
86
87
88
82
71
119
101
109
144
118
109
125
116
144
146
118
61
112
111
116
92
75
74
78
132
101
139
112
35
28
81
79
79
83
85
84
83
31
31
31
84
99
47
35
31
35
42
45
33
74
24
94
109
114
125
133
112
91
74
67
79
104
101
126
79
96
109
99
92
66
47
95
134
148
132
153
180
175
61
107
109
65
60
35
96
34
52
74
85
33
93
59
48
42
72
98
126
126
197
146
116
83
66
38
108
145
159
151
116
131
105
90
94
92
53
60
92
104
154
155
150
99
127
107
92
80
49
109
121
132
114
118
193
165
81
173
109
85
92
172
45
121
60
65
32
51
47
65
114
97
129
104
88
126
120
103
93
69
72
71
46
56
83
72
107
131
106
94
160
104
88
84
83
77
69
85
117
166
136
125
73
112
41
50
60
63
67
122
123
140
92
94
64
89
115
119
123
64
60
62
113
103
103
95
53
60
56
49
49
108
59
73
83
83
87
93
135
68
100
73
142
90
86
81
129
116
113
113
65
115
61
62
88
143
134
113
52
121
70
112
117
122
131
139
82
132
75
77
126
124
69
112
58
119
116
118
115
68
83
92
90
94
104
92
81
81
81
78
71
115
116
119
109
110
55
53
56
64
127
131
128
117
107
117
111
99
106
66
114
55
70
78
68
55
51
104
104
109
139
137
83
82
72
109
118
131
136
112
105
100
95
126
111
126
159
112
79
73
65
84
110
119
151
112
36
21
102
68
58
93
90
94
96
89
90
91
35
29
31
91
86
38
41
37
36
43
50
47
54
112
55
73
131
116
115
118
132
130
119
133
141
146
130
105
102
46
53
80
154
65
44
92
49
69
82
86
89
88
94
110
116
58
45
44
119
62
102
79
153
115
74
45
97
74
98
113
138
96
130
129
148
168
83
77
167
151
178
146
101
96
192
130
71
48
59
77
100
170
168
118
165
188
131
62
100
43
130
101
34
53
121
177
132
159
183
67
77
95
126
134
76
22
76
45
59
56
118
111
159
126
145
128
98
51
45
46
83
72
53
51
83
74
103
139
146
84
90
88
138
135
122
43
34
49
113
179
98
128
136
129
97
43
55
67
64
64
115
116
122
110
102
34
41
121
131
134
131
72
65
57
98
45
51
65
75
69
55
101
103
128
141
153
155
151
140
69
101
97
59
81
90
90
80
120
110
109
112
64
60
58
59
78
82
127
110
53
67
62
98
106
112
124
142
95
132
85
84
79
77
78
123
67
71
53
104
98
53
80
91
79
80
143
97
91
91
94
148
82
117
111
64
121
123
70
66
59
55
106
109
113
126
118
124
129
131
128
61
51
69
80
76
55
43
101
109
109
119
135
132
76
125
117
107
122
116
108
87
82
92
106
139
91
90
138
161
84
131
107
121
143
118
128
101
38
30
72
82
109
117
101
91
97
89
87
84
28
26
29
32
39
39
42
39
35
88
92
99
62
125
116
145
159
140
131
138
146
139
74
76
130
149
121
75
11
25
53
91
93
71
121
49
38
60
77
138
77
98
83
57
141
128
87
54
46
74
135
179
174
140
119
151
144
114
110
114
136
113
132
103
114
159
161
165
152
109
102
87
77
110
197
121
79
58
64
90
170
175
106
116
168
170
112
63
54
33
69
76
2
86
187
172
133
168
72
91
142
114
102
73
39
33
79
102
111
59
125
89
175
110
133
96
119
126
81
141
71
52
48
57
105
132
132
134
128
142
126
135
126
105
96
60
95
129
86
70
85
157
140
124
143
145
95
78
65
62
118
120
104
114
133
140
60
83
165
167
161
141
66
61
69
59
65
73
72
57
44
49
122
133
74
122
118
58
101
100
107
40
66
66
53
50
50
97
98
100
106
74
83
92
101
97
116
177
115
108
103
143
157
169
160
86
81
87
74
106
59
59
56
55
102
49
55
112
125
90
91
92
96
91
75
70
95
109
114
118
125
176
152
83
74
103
50
52
77
74
72
74
122
117
126
142
130
119
71
83
82
132
76
56
47
58
121
118
113
113
124
117
120
67
113
108
108
46
97
39
40
114
136
148
115
119
125
108
86
156
174
112
113
97
90
58
87
141
117
120
87
106
143
152
134
115
122
117
105
52
64
120
62
55
95
97
57
67
75
81
107
100
110
122
155
177
170
131
152
106
161
163
142
80
150
143
94
32
73
108
125
100
62
76
73
58
62
61
76
71
112
120
83
89
100
168
146
155
107
160
218
134
147
78
144
105
99
134
127
133
133
121
125
151
144
86
111
98
110
87
102
197
191
178
129
93
86
90
159
171
184
204
150
133
76
80
79
103
81
81
75
76
135
111
77
101
108
68
58
21
95
92
49
0
6
87
19
99
68
76
66
55
133
117
82
106
123
125
115
35
76
29
55
127
112
117
123
104
92
95
118
138
154
115
112
93
77
87
137
137
89
94
146
141
157
98
89
79
70
128
140
142
139
147
157
119
72
101
133
76
77
89
93
123
117
130
67
56
55
70
84
131
107
95
93
98
102
116
130
133
82
88
94
95
90
92
150
142
128
113
101
105
70
88
96
100
140
150
155
122
103
58
73
73
69
74
118
71
61
109
110
116
64
55
99
46
39
85
93
56
70
81
87
86
84
74
80
80
76
78
144
144
93
152
176
120
162
74
69
65
62
59
117
125
140
134
76
128
137
91
82
53
62
73
77
119
106
101
105
114
115
53
39
40
98
90
20
53
65
123
136
135
80
116
100
94
104
60
74
91
106
143
120
113
127
87
83
98
118
181
168
150
144
146
147
129
119
112
64
129
86
139
135
119
142
163
114
163
114
97
144
140
136
154
152
135
135
121
93
32
54
138
172
156
168
85
60
54
58
83
72
114
82
94
102
115
53
42
135
123
126
143
106
108
128
116
135
153
209
141
140
94
126
96
127
138
127
92
198
154
144
132
139
146
108
128
128
134
103
127
175
128
182
183
112
110
127
198
184
169
181
142
124
84
60
28
53
45
91
48
40
58
91
133
124
200
168
116
118
159
103
18
0
4
84
36
100
103
83
72
60
117
94
74
137
138
126
98
77
37
42
37
39
100
108
94
89
114
152
167
170
158
93
83
80
86
89
136
117
118
114
114
135
119
76
62
43
35
88
91
95
99
105
56
63
54
38
38
39
99
113
72
92
152
97
101
99
95
147
146
137
63
118
116
59
110
115
62
55
49
54
73
93
99
98
99
129
148
166
174
140
140
105
139
138
165
152
78
62
76
72
77
72
66
65
61
64
66
64
111
106
105
55
59
61
67
85
141
86
79
65
50
59
72
60
113
66
65
61
103
115
125
125
75
90
156
131
122
110
106
107
105
155
96
85
79
131
126
66
70
79
52
38
104
119
111
93
82
80
73
67
4
1
11
22
73
105
83
57
54
48
71
71
73
132
138
82
57
50
114
149
102
81
73
76
80
83
134
135
148
174
190
178
153
108
99
55
130
146
147
139
137
124
150
166
116
119
180
175
120
178
182
155
133
115
86
86
129
120
61
49
93
81
26
36
60
60
71
98
42
44
146
159
82
88
49
56
120
115
123
87
121
120
59
115
113
129
102
126
161
167
83
100
154
138
104
80
174
160
137
139
71
90
132
129
140
139
178
131
153
168
155
127
98
101
153
130
125
146
161
112
131
190
113
132
136
79
116
20
4
119
186
88
182
158
142
128
122
130
114
61
31
65
124
76
108
96
88
86
66
116
115
103
133
127
106
83
106
107
39
45
89
39
86
86
116
152
158
163
106
148
140
76
64
113
72
52
100
128
132
115
116
82
138
110
87
80
80
82
38
42
99
47
73
68
42
48
48
48
97
95
121
86
107
112
110
99
89
80
118
101
102
98
48
60
68
117
60
109
94
138
172
223
198
125
154
220
169
111
91
135
130
103
119
161
99
85
128
76
68
67
63
63
67
68
66
45
119
130
121
117
122
118
106
74
128
121
117
117
110
47
71
81
107
101
103
102
99
98
109
121
71
68
81
94
93
98
100
110
123
117
104
91
86
90
99
148
133
75
79
58
41
103
126
132
111
86
76
23
19
13
16
87
57
114
90
57
50
49
48
57
41
56
63
109
113
131
124
44
68
102
107
83
76
84
83
140
85
76
133
103
124
133
82
60
54
117
132
142
146
134
137
150
164
176
129
181
171
170
178
133
156
137
120
145
129
106
93
92
89
96
82
23
34
59
63
80
107
81
67
91
88
21
41
116
125
61
65
73
83
108
115
73
97
104
129
77
103
154
149
145
148
143
132
98
121
174
114
151
146
64
87
133
118
91
109
167
172
92
153
136
81
108
130
131
163
172
192
188
133
148
172
160
153
152
140
165
108
103
169
121
85
175
180
143
121
122
158
163
73
51
68
149
154
96
89
114
100
63
102
103
94
52
81
77
122
168
134
68
50
53
129
94
174
172
113
83
84
79
130
130
124
63
62
79
138
138
119
106
128
162
161
135
85
75
76
86
49
46
103
108
99
68
76
52
29
34
90
41
100
134
148
139
74
63
72
101
179
178
138
126
107
55
116
58
57
72
79
88
116
141
136
112
143
90
81
66
66
79
80
124
79
76
58
71
139
143
140
137
132
76
68
58
57
65
97
148
146
144
138
131
125
121
103
107
114
115
114
114
66
52
106
102
110
116
71
132
87
74
116
64
62
107
50
51
114
117
77
147
90
98
86
78
69
64
67
82
108
122
107
92
134
124
117
122
133
111
120
68
84
93
88
88
71
47
49
58
52
51
45
101
89
25
75
83
89
84
42
45
62
86
101
102
82
138
141
88
85
142
147
86
71
153
165
176
175
162
147
140
129
136
146
149
156
166
120
125
130
134
131
179
113
142
158
114
71
77
105
112
40
54
49
23
15
23
56
86
52
68
85
85
114
82
57
38
49
111
115
60
35
95
116
111
67
96
101
117
141
111
140
124
71
98
144
124
103
144
100
136
143
115
120
115
186
94
106
186
161
174
162
173
140
143
134
127
183
186
180
135
133
113
110
96
124
123
79
156
178
127
65
181
191
126
111
103
76
117
119
115
40
41
104
94
102
154
79
70
83
87
84
85
90
82
103
138
173
170
144
102
107
160
105
141
111
87
164
155
153
140
67
73
143
87
84
152
162
152
136
133
139
132
109
86
94
52
107
99
110
115
108
108
63
80
62
48
59
110
109
74
95
87
66
55
99
100
49
102
60
118
124
118
110
108
109
73
97
144
105
74
83
85
67
107
119
67
68
83
83
70
54
102
65
75
123
118
115
110
101
69
84
84
86
99
159
153
139
131
127
118
111
103
95
118
119
115
115
121
73
72
124
69
101
101
104
60
126
102
98
99
51
87
94
110
121
122
106
104
104
47
78
104
99
101
104
92
69
58
75
82
123
127
163
182
175
121
109
144
90
100
84
64
69
82
88
93
91
94
98
99
151
131
101
87
92
91
89
39
30
24
16
28
77
90
141
137
73
70
135
147
149
148
56
45
122
165
137
131
115
109
100
147
151
153
150
97
163
112
167
117
115
153
141
159
115
82
85
103
59
62
87
72
86
18
33
119
73
17
94
70
118
150
93
100
94
103
107
112
103
56
44
112
112
118
138
81
126
134
143
141
137
78
87
114
157
82
186
160
110
141
137
93
91
74
93
48
127
130
142
163
111
109
125
136
135
189
182
183
137
141
116
104
142
76
71
93
80
106
142
138
173
167
113
147
122
85
47
98
123
89
102
115
78
147
72
37
86
43
143
97
58
90
65
85
125
136
150
160
102
118
97
102
80
98
125
91
129
120
123
133
99
155
143
166
115
129
182
157
123
101
41
87
90
92
102
113
117
105
61
56
55
54
75
116
48
67
127
129
88
88
77
55
50
101
50
45
35
35
50
55
53
103
50
99
105
67
140
123
75
106
99
104
120
105
111
67
79
80
74
66
73
74
68
58
60
78
130
134
90
146
92
91
145
135
132
118
112
112
109
107
103
96
117
127
75
73
74
77
78
123
126
121
120
108
95
91
89
93
47
50
100
115
132
122
128
65
124
76
71
86
69
69
79
92
94
87
142
100
82
129
138
145
150
160
169
166
171
162
116
158
81
73
90
90
88
102
110
107
153
164
150
125
56
106
99
100
113
53
37
18
21
57
90
110
96
52
72
81
141
138
121
104
107
124
145
158
163
113
147
137
155
141
85
90
148
96
99
103
109
119
160
146
147
123
103
106
63
64
52
75
67
31
22
41
66
65
39
83
64
80
113
165
127
118
95
105
105
89
65
66
111
95
105
90
117
137
138
132
144
135
78
144
111
97
93
145
167
171
203
149
167
107
78
44
17
43
139
147
143
157
121
138
129
126
195
187
120
120
137
78
91
146
69
57
128
121
68
107
185
111
161
103
95
111
66
42
151
137
73
76
85
129
88
0
52
82
165
160
61
80
54
48
44
56
146
155
77
46
28
82
115
142
135
49
84
155
160
112
123
113
95
150
142
94
97
90
130
70
120
110
48
39
35
38
91
86
52
57
54
56
57
131
122
102
132
159
115
161
121
110
104
46
95
46
49
49
52
111
106
114
85
157
157
138
118
98
46
38
46
49
96
95
121
125
125
66
72
82
89
93
94
94
95
99
96
140
142
91
90
83
69
113
139
132
67
62
67
123
127
129
125
122
123
120
116
120
78
138
136
84
119
121
120
66
67
129
139
139
124
117
121
119
133
82
71
75
75
129
145
145
90
87
82
68
54
106
68
90
111
157
141
141
126
91
126
115
100
109
82
107
124
123
123
114
69
58
57
111
123
114
41
25
75
26
33
29
46
99
45
50
46
77
78
92
22
36
50
101
96
93
91
99
109
117
125
136
93
73
86
158
158
99
92
87
105
104
106
117
186
172
155
144
139
127
112
111
68
63
77
134
51
46
58
39
85
49
54
117
135
68
66
142
124
51
81
78
64
117
85
126
110
72
101
143
154
76
85
153
136
77
92
106
108
123
125
176
201
200
159
147
108
47
47
66
59
71
81
135
168
166
172
108
91
86
84
100
145
125
90
166
148
71
135
80
18
136
152
110
148
104
111
63
101
116
92
99
22
15
64
210
85
50
75
88
119
54
56
32
99
2
3
49
46
80
80
66
43
44
111
128
131
84
111
102
161
159
95
79
59
50
58
133
77
61
94
89
49
116
119
118
106
89
88
47
56
43
39
36
51
68
137
122
106
122
136
90
85
57
60
98
91
34
38
102
57
55
41
42
74
125
208
208
175
133
105
111
61
60
111
117
123
107
60
116
122
69
63
56
56
58
58
55
56
83
97
159
142
123
64
70
79
137
117
110
59
63
62
65
123
123
114
113
117
118
115
110
108
108
74
130
128
127
126
129
66
130
136
134
148
151
146
136
85
132
85
78
132
139
119
66
67
66
60
104
51
58
57
100
114
144
93
141
160
161
139
139
129
64
72
92
90
99
117
142
133
108
137
119
111
94
33
39
46
51
49
47
40
36
84
21
27
87
99
56
26
50
94
69
87
87
94
96
93
94
107
70
83
126
120
141
165
122
118
103
156
157
163
168
150
132
125
127
67
110
106
60
67
77
134
115
107
91
62
75
103
57
66
131
148
97
60
14
20
121
68
70
53
60
130
134
122
150
216
225
196
135
150
147
137
85
100
132
144
187
186
183
156
128
131
129
27
46
32
12
81
114
129
135
117
102
84
67
62
43
39
117
104
143
132
87
141
123
88
47
175
85
116
140
152
180
131
70
72
82
110
44
103
148
109
51
5
31
69
98
69
100
101
112
64
53
0
0
59
77
102
114
118
130
138
146
162
151
93
79
123
115
102
103
118
75
68
57
46
95
99
109
63
72
71
117
99
91
43
44
37
37
40
57
72
143
131
110
63
67
71
70
52
59
48
47
97
48
53
110
59
49
48
75
112
128
130
167
139
99
98
63
73
123
113
50
108
60
114
113
114
112
56
63
61
57
54
55
89
107
125
123
117
62
70
84
82
129
125
75
76
69
67
124
126
60
63
121
122
117
114
115
135
153
157
153
93
133
126
58
70
130
130
85
96
155
144
84
127
133
125
127
112
104
49
47
45
43
40
38
48
94
49
69
129
116
116
134
149
155
163
156
148
99
104
116
113
112
131
138
183
171
170
157
129
54
101
67
82
72
70
75
75
114
103
37
134
108
74
82
41
47
89
46
94
99
98
90
84
37
46
37
92
100
62
79
83
79
122
126
134
144
156
143
129
120
73
121
108
88
24
81
87
33
23
78
63
46
17
51
58
60
83
178
166
101
73
81
134
77
123
67
72
165
177
171
164
169
149
118
104
88
89
93
97
50
88
128
188
189
177
157
157
114
145
21
39
32
18
77
96
119
144
147
163
76
60
74
83
102
151
131
119
119
139
150
143
120
133
165
159
158
184
143
164
129
99
34
66
98
58
161
120
118
46
83
71
58
24
83
139
122
97
60
79
56
45
52
3
110
118
128
147
172
180
155
113
65
94
140
137
141
84
87
133
48
45
95
38
40
50
53
46
99
117
132
70
65
81
92
84
131
131
90
136
128
117
103
121
122
53
46
112
53
52
106
114
129
95
110
115
82
64
69
71
64
60
57
102
109
58
57
44
44
119
75
120
111
108
127
87
83
149
149
95
87
89
100
119
119
119
122
127
127
121
115
106
110
124
141
93
87
86
145
158
161
112
164
100
154
176
180
178
169
158
95
91
92
106
96
99
154
96
148
85
133
144
142
124
123
88
97
103
104
53
54
55
52
45
34
45
60
120
120
119
124
131
130
105
159
164
173
126
123
168
115
161
159
117
173
118
174
176
173
115
111
89
127
78
126
73
127
78
135
142
129
136
164
140
116
119
55
60
108
113
115
103
101
106
98
31
79
82
35
81
79
89
72
75
33
89
96
56
112
83
71
99
87
65
74
73
13
60
70
19
1
1
27
102
47
117
153
162
124
90
85
101
88
74
76
137
134
103
185
176
150
137
134
122
118
121
140
125
127
86
124
90
135
158
190
163
140
113
89
32
16
75
25
68
96
123
111
66
124
46
67
66
122
118
101
87
111
157
98
47
142
91
128
157
181
107
150
164
137
74
50
48
64
80
85
18
78
75
64
101
91
121
43
57
70
50
31
8
13
33
78
67
51
51
31
0
58
109
124
109
100
115
142
146
142
133
69
61
84
50
50
105
52
102
105
56
63
112
105
52
50
123
104
87
113
104
74
82
122
77
143
98
117
127
100
108
100
111
118
74
127
118
109
110
69
72
72
61
53
62
69
62
108
107
118
130
71
57
107
68
119
138
186
189
176
108
93
89
85
80
135
95
119
98
97
103
116
129
137
144
163
120
181
131
130
130
128
125
159
146
145
157
160
159
163
112
105
90
134
125
120
66
79
83
82
118
110
122
68
116
124
136
143
144
145
107
122
123
71
122
120
68
69
69
63
57
112
119
123
68
115
117
130
129
133
143
151
154
157
164
168
117
119
165
156
174
153
127
122
138
119
118
107
101
89
124
115
125
174
169
143
148
152
148
84
58
52
105
113
119
116
68
133
87
93
133
94
100
107
107
106
92
94
105
55
24
26
30
109
110
81
121
41
37
99
108
94
94
93
26
81
105
104
45
126
151
128
95
82
71
95
154
139
63
94
112
154
152
131
69
56
138
154
129
143
144
144
166
114
75
111
160
183
102
118
106
122
78
22
13
7
19
113
168
145
144
30
107
134
118
113
130
165
128
144
32
69
141
64
31
25
130
164
143
86
56
102
132
107
91
70
67
28
51
107
107
107
100
118
76
45
29
61
126
132
48
52
3
81
114
113
74
83
9
35
61
124
113
88
121
84
147
137
124
140
117
95
102
55
53
107
56
106
55
61
71
117
104
42
35
101
123
114
111
56
64
54
53
77
75
92
105
116
109
110
105
107
111
116
61
51
47
114
115
93
68
53
106
68
74
67
108
100
108
120
67
56
48
63
109
125
183
134
175
162
90
85
83
83
138
97
73
119
123
131
141
147
151
161
121
127
125
111
101
100
96
142
110
115
113
161
158
158
160
93
136
124
122
117
113
112
114
123
74
64
61
108
94
119
66
132
152
111
161
130
70
66
115
117
69
73
78
125
118
112
115
73
80
129
121
118
126
129
81
84
132
126
122
141
105
104
159
163
165
176
162
142
75
73
140
91
117
125
129
174
162
156
163
149
151
149
136
147
166
136
84
96
106
116
67
71
84
95
106
93
48
55
64
58
48
101
96
101
55
29
20
15
29
47
92
110
79
43
54
128
60
110
108
92
88
102
95
38
125
145
111
34
83
69
63
93
135
146
99
70
61
71
76
79
74
96
159
146
170
161
164
130
114
61
132
155
119
63
84
123
145
113
38
60
74
150
151
175
173
98
100
182
187
109
79
102
164
77
190
39
57
81
68
42
11
131
161
139
136
42
36
111
87
25
102
68
65
74
30
107
112
29
35
60
45
30
78
50
123
110
90
54
73
92
113
90
86
86
51
0
39
93
132
68
158
126
75
8
14
27
102
102
56
46
95
51
104
107
71
90
117
46
45
50
108
106
68
130
64
102
116
67
83
59
71
64
50
124
91
94
90
41
51
110
108
55
73
85
109
94
44
93
40
53
68
112
103
105
62
80
88
80
47
81
74
102
122
86
92
90
94
163
125
128
181
112
156
161
164
160
146
134
139
82
135
131
122
67
72
78
82
99
153
94
89
94
137
112
104
101
104
107
108
111
114
123
115
46
96
131
78
75
57
47
109
135
101
109
113
95
81
69
67
121
123
75
150
149
91
84
137
141
137
128
141
77
78
83
86
136
132
132
128
121
80
142
138
127
125
111
55
69
90
154
149
141
143
140
138
96
169
188
170
165
139
130
90
109
165
127
112
111
115
67
59
60
72
83
126
62
82
89
75
112
114
126
138
77
49
51
50
31
17
21
71
143
63
60
43
91
108
125
116
107
107
96
97
68
137
135
150
171
169
124
91
153
138
137
136
137
125
69
48
119
127
119
196
169
150
163
133
127
33
58
52
56
155
179
108
80
120
102
126
141
186
182
188
123
144
99
49
95
118
130
115
100
124
128
107
101
79
49
133
82
88
124
99
114
55
90
160
154
158
128
73
119
52
76
96
71
13
91
54
42
51
47
54
107
60
81
84
128
108
124
126
111
84
68
102
126
138
76
109
124
114
90
46
49
19
15
25
36
29
29
46
101
103
71
65
95
59
74
93
100
92
69
65
102
109
112
112
95
53
69
78
53
55
69
50
42
39
46
55
52
41
40
107
109
111
107
105
115
68
61
117
109
115
125
91
87
60
43
98
102
116
144
115
121
84
95
173
184
116
137
118
100
142
133
129
127
126
128
130
126
75
79
74
64
64
72
85
149
97
100
117
109
125
104
105
111
110
108
110
115
122
135
94
106
92
82
95
99
99
157
154
140
136
107
137
131
126
119
158
152
113
163
157
147
93
159
127
182
174
172
138
135
121
110
163
170
177
182
180
161
164
169
170
167
99
84
79
131
141
99
96
159
167
167
171
179
174
167
167
150
160
107
103
179
119
99
80
76
81
71
121
135
87
68
63
85
87
78
128
126
77
73
118
107
106
78
68
81
56
59
69
60
8
21
76
101
120
108
90
81
58
116
66
73
147
163
112
108
164
96
79
133
125
97
102
103
34
61
134
102
101
135
165
159
171
104
84
52
115
135
176
167
131
70
102
99
46
134
163
81
93
106
98
0
87
77
82
51
91
147
133
132
176
152
144
172
135
98
139
84
128
109
77
90
122
165
159
156
89
108
117
86
73
53
35
16
77
31
20
33
51
56
0
0
138
160
141
124
154
154
91
40
73
98
128
88
56
121
139
133
124
63
57
50
41
33
37
39
50
31
11
33
71
29
30
114
85
86
79
81
76
78
71
119
94
124
130
109
51
81
138
107
142
69
45
48
53
57
57
54
53
121
118
65
120
121
119
116
114
112
97
102
72
91
85
67
105
115
110
127
153
105
99
80
90
106
177
167
115
128
89
135
129
70
114
111
123
82
73
74
130
69
59
58
61
73
75
82
94
111
116
106
64
57
57
60
60
64
121
127
118
72
93
96
83
77
89
109
103
138
134
125
129
118
126
108
150
176
139
122
167
166
113
113
170
126
185
189
188
132
127
119
103
96
156
155
158
161
158
157
158
160
118
127
132
127
122
175
173
158
152
165
181
177
169
199
183
166
107
110
106
97
157
172
128
117
108
82
66
74
81
128
59
71
94
91
77
75
127
50
57
84
106
148
121
135
143
133
121
124
60
17
11
88
94
95
101
83
70
112
104
122
143
102
130
144
121
162
149
76
112
122
64
108
27
46
92
104
101
118
124
124
139
99
68
121
101
123
89
100
160
163
161
89
61
96
139
18
76
110
77
12
25
62
114
77
71
131
159
135
164
159
156
146
152
80
90
148
143
71
90
100
159
172
127
136
153
98
132
73
74
79
130
115
80
54
57
82
68
63
63
26
66
119
117
116
138
124
116
160
74
89
94
55
78
91
175
127
117
59
60
59
56
115
127
59
50
38
76
46
60
37
1
16
103
120
134
91
96
108
80
82
143
114
140
103
105
58
75
137
127
121
126
63
54
54
68
82
85
82
123
74
127
124
118
112
109
108
100
97
95
49
60
61
55
115
115
118
167
168
91
75
82
94
94
89
144
123
60
69
122
121
63
54
104
76
117
58
56
109
111
62
55
39
58
67
116
111
121
82
84
90
86
81
77
69
63
113
105
97
101
119
80
76
76
77
96
98
145
149
147
93
109
133
136
122
119
111
96
88
92
93
89
84
80
126
120
115
128
90
98
89
80
81
144
144
91
137
86
143
147
77
73
64
55
103
112
62
108
109
124
133
123
116
148
151
158
170
124
121
114
112
113
92
154
155
99
103
110
106
105
112
34
60
88
83
78
60
143
92
82
126
112
125
98
69
125
131
104
93
50
26
74
96
117
111
107
61
122
146
155
146
93
96
88
78
108
145
69
74
63
25
26
49
86
104
185
131
115
118
118
119
111
180
143
101
150
142
115
132
119
80
89
70
0
12
92
40
107
112
57
116
102
55
67
110
182
184
150
102
149
83
162
83
127
154
96
165
151
85
109
157
105
81
153
135
97
54
42
150
92
128
55
37
56
58
36
5
21
116
119
18
112
109
110
127
127
84
132
104
120
144
169
103
87
130
119
108
107
120
79
80
83
139
94
48
60
113
81
87
57
81
110
145
141
73
84
107
95
95
90
142
132
143
112
121
116
50
59
130
96
111
122
58
60
129
137
128
70
82
86
135
123
113
112
118
122
120
83
90
92
86
72
111
49
51
117
161
94
129
79
108
148
82
82
84
106
52
64
113
114
66
68
115
57
107
109
111
53
103
63
70
64
101
104
111
70
135
135
121
48
51
65
77
89
96
151
131
119
109
108
112
64
70
67
118
61
65
84
99
85
69
67
115
69
88
157
108
87
89
141
91
98
103
92
128
69
124
85
97
93
84
85
145
97
101
153
100
101
103
96
93
90
87
134
117
112
62
62
121
119
53
103
127
145
141
80
119
114
121
84
94
112
167
169
168
152
127
55
80
101
41
42
45
45
62
84
91
142
134
86
89
90
73
141
147
147
156
162
102
120
126
101
76
84
87
75
140
138
122
73
89
72
65
148
142
67
63
103
117
72
75
88
86
164
184
176
188
149
124
147
147
182
126
108
64
126
100
83
122
43
28
42
112
176
147
73
51
59
81
37
99
116
72
69
126
129
176
178
103
152
145
65
92
152
153
166
154
91
109
97
54
47
96
50
66
88
87
42
45
122
111
87
96
41
20
19
78
85
71
48
111
112
112
118
137
131
123
148
151
159
156
97
91
116
129
73
124
128
79
75
70
65
53
54
47
62
102
159
125
140
88
147
127
78
157
174
122
121
98
82
127
138
117
113
112
52
66
142
49
106
129
116
68
88
94
78
66
77
82
131
118
110
114
70
73
74
92
99
96
83
65
53
59
116
126
138
66
110
125
114
155
144
93
88
58
63
69
117
117
72
77
72
56
59
114
119
63
56
62
74
77
114
110
114
124
136
130
111
54
58
119
75
84
87
86
147
136
125
67
68
74
81
87
132
74
77
93
160
145
67
72
80
86
87
140
143
104
104
150
143
96
107
106
96
129
126
135
145
89
83
85
149
154
159
158
156
155
156
98
96
92
143
140
134
136
126
70
120
115
106
108
70
121
63
60
111
113
66
77
87
87
154
179
190
168
145
90
117
105
36
38
49
60
126
84
102
153
81
103
96
116
87
95
101
119
183
163
107
100
94
58
98
77
85
68
139
137
130
137
143
66
60
144
159
55
78
95
182
133
112
67
95
186
162
175
203
201
138
156
161
181
97
128
104
116
80
58
109
113
133
158
159
91
58
69
50
58
114
71
93
74
34
133
184
92
154
144
76
141
133
87
119
119
164
174
115
95
105
91
64
62
93
69
113
108
30
53
112
111
103
79
85
92
18
68
64
55
66
73
54
106
110
117
144
132
142
133
117
104
126
99
94
94
113
78
85
71
58
56
107
48
55
48
63
100
108
140
80
175
152
180
169
100
145
84
76
108
55
58
72
154
53
66
120
68
125
80
62
112
123
50
54
87
104
84
60
51
60
114
57
108
115
66
115
68
92
92
81
72
75
83
69
129
132
121
113
118
86
77
104
108
92
80
76
74
81
131
81
84
85
83
84
77
72
131
85
76
67
70
74
64
114
108
106
121
135
84
87
82
54
49
51
52
50
50
58
121
129
76
70
67
52
109
118
70
72
135
135
140
82
84
136
126
67
68
60
85
101
147
136
82
134
131
138
143
153
162
107
105
112
161
162
161
150
146
146
147
89
89
93
147
143
87
145
99
84
71
117
68
82
83
74
109
103
114
70
69
76
90
84
97
181
176
126
65
105
80
135
120
53
76
94
130
82
85
121
133
133
116
108
145
152
175
120
87
132
111
110
85
54
87
58
4
52
64
107
139
130
109
64
100
182
111
126
127
114
96
80
95
149
141
163
174
139
191
197
118
140
192
112
115
137
102
102
126
130
86
57
85
150
155
150
65
65
60
62
95
84
115
124
142
74
127
158
151
146
150
91
55
112
169
178
126
118
111
98
92
66
58
37
91
88
88
56
86
113
37
36
120
96
4
58
63
77
94
34
86
124
115
68
131
129
137
134
115
108
104
105
120
140
140
107
141
116
103
55
57
49
49
109
71
80
81
68
57
107
62
130
132
170
156
143
133
66
54
52
56
55
77
136
63
61
120
145
136
38
68
128
107
113
64
122
70
58
51
63
131
134
69
58
110
61
58
66
72
74
76
77
78
79
89
135
134
139
147
154
102
120
128
128
125
74
122
120
117
115
114
61
61
62
57
51
61
80
94
88
78
69
61
124
132
145
157
89
114
51
74
64
66
64
46
48
69
64
56
53
68
105
119
137
122
150
127
120
121
122
132
139
134
80
129
124
72
70
66
130
137
132
123
72
138
100
89
76
132
136
137
138
139
139
155
171
189
142
141
137
111
100
130
128
146
146
163
116
99
87
86
87
82
82
69
71
70
119
121
77
82
83
106
106
149
147
166
118
74
87
120
96
105
102
46
53
35
50
116
147
157
171
173
159
149
132
71
71
64
103
109
37
18
15
30
52
122
112
120
130
132
79
142
167
188
164
121
161
106
98
105
132
143
161
152
154
178
147
136
112
93
84
91
161
134
116
136
102
84
76
53
43
52
132
124
140
92
68
55
54
93
141
161
147
103
125
174
158
147
166
127
145
153
112
146
141
105
102
92
77
109
105
54
92
83
88
84
64
108
75
83
135
102
84
93
85
81
13
26
82
121
60
73
81
74
92
80
99
110
55
59
126
146
147
111
61
98
47
56
49
39
49
68
86
87
77
59
53
67
137
156
149
162
146
130
117
100
97
42
51
61
85
97
137
77
84
146
103
45
76
71
112
112
115
123
65
49
50
90
105
154
128
109
59
66
65
71
66
122
80
85
84
81
127
118
120
144
152
148
136
111
120
126
125
121
118
118
112
113
116
119
67
62
43
109
51
103
55
59
77
101
115
92
76
122
125
68
59
58
71
114
122
123
52
44
57
63
55
45
48
80
103
126
174
106
145
146
148
141
121
106
102
55
112
108
107
59
50
50
110
129
151
107
100
90
71
61
63
71
135
152
163
172
184
196
209
204
138
126
89
144
143
154
118
97
103
107
152
92
87
87
88
82
72
71
118
113
112
116
67
67
113
133
120
118
180
141
139
86
87
95
89
36
40
27
38
35
28
112
179
185
162
142
71
101
96
48
37
68
74
32
49
68
79
82
135
85
73
139
142
122
139
175
178
165
168
107
106
106
171
199
195
160
159
143
164
190
121
93
82
87
86
168
111
95
83
127
104
45
48
31
22
126
87
159
145
58
49
53
40
95
119
170
120
176
164
151
106
162
91
159
167
175
145
117
97
91
83
80
100
35
91
126
124
103
99
88
109
117
123
94
10
53
70
93
84
59
78
92
89
61
72
83
86
77
66
61
71
63
60
63
123
139
136
32
22
82
43
52
74
91
88
79
69
69
80
99
116
125
167
154
116
43
86
90
97
119
113
62
69
130
78
77
61
76
154
107
61
111
79
151
136
123
122
119
65
85
147
179
142
109
112
88
108
110
86
93
87
77
70
74
81
86
127
126
93
95
134
115
116
117
126
126
62
123
75
69
123
124
121
63
62
64
66
69
132
140
80
70
59
50
49
68
88
94
86
71
60
52
59
107
120
77
71
62
50
51
47
49
119
65
65
72
65
116
129
149
164
173
188
178
120
165
147
131
70
67
83
154
158
94
84
91
106
124
143
152
150
146
147
203
188
174
155
135
133
81
79
105
113
162
142
112
93
110
89
90
137
73
74
87
91
75
78
137
148
157
162
162
109
93
83
51
128
188
165
123
87
79
42
38
39
36
19
11
53
72
132
135
82
108
40
50
41
75
28
49
123
81
74
72
75
73
68
120
117
77
137
137
138
139
139
140
113
171
119
118
119
183
199
188
149
147
160
191
208
176
49
97
118
106
52
66
95
96
128
145
93
56
54
84
98
164
173
151
58
50
124
90
83
84
99
103
98
104
119
137
49
71
128
101
116
92
84
86
67
63
75
61
53
45
36
98
111
103
96
127
104
109
85
86
71
52
84
94
53
87
137
144
73
92
94
84
73
70
74
65
61
65
60
55
126
146
105
13
19
57
68
67
71
119
77
88
147
98
145
78
115
113
106
33
87
91
99
60
60
121
126
89
173
109
96
89
121
108
110
50
107
117
132
144
136
111
103
113
123
125
111
101
52
61
70
84
96
110
91
75
63
61
121
130
141
145
153
84
76
75
125
130
121
131
136
70
132
131
75
67
57
104
54
59
61
104
46
46
48
45
46
49
48
44
60
70
66
70
82
86
71
63
110
114
59
65
82
87
142
130
113
113
56
51
48
59
68
115
104
101
119
126
117
58
61
136
174
142
113
109
114
128
135
129
120
118
120
106
96
88
87
96
160
185
180
178
173
160
93
87
137
126
113
102
93
96
95
49
111
123
127
72
65
52
42
92
94
101
102
93
82
76
56
65
148
182
172
142
113
122
46
31
40
46
40
28
54
73
65
110
118
71
101
109
110
60
70
131
71
56
69
68
74
82
77
66
68
74
145
133
69
140
142
132
143
81
100
113
114
116
175
179
183
182
184
188
188
171
146
188
151
139
110
121
85
109
127
102
100
133
84
98
114
125
131
114
125
101
114
136
146
187
131
113
160
120
100
53
54
83
118
147
103
93
103
105
69
73
89
46
52
44
28
45
37
70
93
143
136
147
153
160
134
57
108
109
73
103
113
36
28
130
104
101
77
80
76
70
59
59
69
117
54
124
143
112
105
73
82
113
111
69
58
84
96
95
85
125
111
101
106
100
93
102
104
52
58
74
83
140
94
113
89
65
86
73
56
118
41
56
108
68
148
149
118
105
112
113
108
102
104
113
115
64
81
105
130
73
103
100
113
78
89
145
154
166
134
119
67
122
132
122
133
89
126
81
129
79
66
104
103
58
64
52
114
108
107
57
51
49
49
45
44
55
58
48
55
76
85
89
90
71
138
97
82
61
81
141
131
111
103
100
46
42
45
48
103
106
111
113
123
121
65
117
135
160
105
48
54
68
79
77
70
75
87
92
89
89
89
94
158
169
163
106
156
152
87
79
77
82
130
128
120
105
41
86
83
91
53
62
60
51
45
47
37
32
90
97
102
108
113
118
54
135
153
140
152
144
129
41
50
97
92
45
42
23
58
66
58
97
114
109
77
19
30
58
70
57
88
88
73
68
79
86
77
68
77
91
82
73
138
142
134
136
74
93
158
106
108
114
115
169
186
192
192
190
180
174
206
176
148
130
159
160
168
151
144
110
150
118
96
129
120
134
114
119
107
87
109
158
122
175
177
178
181
157
63
46
68
94
169
186
121
148
161
75
106
137
50
103
64
88
69
32
31
66
61
15
52
121
142
102
82
100
89
95
95
60
63
64
135
87
145
144
82
75
64
60
60
59
110
110
119
150
150
155
147
73
54
51
111
119
116
112
58
53
101
52
109
109
111
57
55
55
58
65
73
61
64
105
99
86
97
74
69
65
60
57
70
65
64
129
95
74
105
104
97
112
109
102
105
119
129
79
83
75
55
111
121
128
133
135
78
90
87
120
126
133
141
156
152
95
94
91
127
122
93
80
109
103
113
61
59
99
101
120
82
122
58
51
43
62
64
61
57
107
111
115
79
80
134
143
110
116
105
82
66
113
127
136
127
73
73
73
123
74
83
142
163
126
166
107
149
132
124
120
74
75
78
80
82
84
140
90
83
77
73
73
76
79
131
123
75
137
87
133
118
100
100
102
56
118
123
101
90
28
28
53
60
62
66
112
141
98
118
158
168
160
172
166
68
47
95
60
131
138
135
121
53
48
94
89
47
33
43
56
44
72
72
77
85
72
79
87
92
43
48
65
69
67
69
131
85
76
72
87
121
82
125
129
81
64
106
71
143
96
103
103
104
115
123
171
181
181
168
133
174
185
185
179
172
148
168
110
150
146
126
138
158
173
129
137
111
104
122
112
107
128
174
120
110
154
167
172
162
107
121
125
89
146
100
99
153
124
71
90
78
81
53
104
70
32
123
43
22
139
52
11
13
86
90
102
109
101
128
101
142
0
7
79
89
102
93
76
75
56
116
115
113
66
133
101
123
109
147
120
45
44
107
112
108
111
112
61
113
111
61
67
120
64
57
56
56
54
53
114
60
88
120
54
77
58
50
49
56
61
117
75
70
59
73
148
138
127
127
111
94
100
109
134
161
114
100
89
80
85
87
82
72
61
56
79
73
66
128
125
123
131
124
65
112
119
87
136
63
58
120
132
142
145
141
129
130
135
137
81
78
85
140
137
79
81
82
82
132
128
125
71
77
129
123
134
96
150
156
159
146
124
141
153
97
168
116
110
156
99
141
141
79
135
95
105
103
96
94
94
85
74
70
69
64
53
44
50
51
56
60
70
83
147
71
62
60
38
25
79
83
31
99
62
62
103
109
125
79
88
112
114
169
172
178
178
171
178
154
150
138
151
138
126
118
110
110
110
47
84
81
80
39
107
91
45
58
37
37
40
48
93
79
74
71
69
66
9
3
0
0
0
0
7
65
69
17
31
109
127
72
107
129
57
75
147
116
143
87
108
162
95
97
111
174
163
120
120
144
187
182
197
190
174
155
186
179
141
136
110
92
107
139
160
87
137
177
172
136
113
97
112
200
168
160
196
189
148
142
70
95
124
156
149
185
175
109
119
150
122
79
98
111
44
38
72
53
3
8
34
30
45
108
111
71
130
126
134
47
31
0
16
86
158
102
86
73
63
114
67
71
74
135
150
112
169
93
121
49
101
108
111
61
65
65
65
69
69
120
120
70
73
67
56
58
112
59
111
105
47
152
153
104
116
119
45
45
53
116
121
79
77
118
74
93
85
130
80
67
105
69
140
160
175
110
136
69
71
95
152
95
83
77
79
86
76
118
125
118
113
122
126
124
132
149
117
140
109
106
103
104
110
118
127
124
133
149
108
160
155
145
73
58
71
76
75
120
111
106
105
67
67
62
106
110
116
112
123
100
157
132
149
163
154
97
95
87
132
130
76
147
148
116
127
173
164
100
79
66
63
65
73
82
83
75
118
120
65
64
58
53
107
112
60
51
48
31
27
92
104
68
76
84
83
76
127
82
109
169
131
116
146
124
129
192
181
193
129
185
173
172
142
120
116
115
120
124
120
113
109
106
108
118
46
47
58
65
48
89
90
32
78
73
61
56
0
46
0
0
0
0
0
0
0
2
2
10
24
51
89
140
63
43
122
121
123
134
150
178
121
103
109
116
167
91
123
127
153
131
129
200
190
168
144
159
153
121
106
111
111
112
89
101
136
117
161
177
140
96
86
127
129
175
178
189
184
161
148
146
127
106
129
85
176
150
191
162
143
105
64
88
51
98
66
46
0
0
59
23
12
36
97
106
120
117
103
89
60
80
0
0
158
100
140
78
67
72
135
138
95
103
156
155
149
115
64
59
62
71
78
76
74
78
68
70
75
78
130
128
129
73
72
68
66
116
113
111
114
136
142
118
108
108
119
60
52
57
118
119
74
74
120
66
76
72
73
80
71
116
132
146
152
152
143
81
82
90
95
147
87
78
76
79
91
96
90
126
114
104
104
107
116
140
162
112
163
123
148
132
126
132
143
160
136
135
88
88
97
111
113
165
177
94
93
84
122
61
112
62
88
83
86
141
151
158
156
138
81
145
170
107
137
129
100
106
108
104
147
130
122
121
76
69
115
126
83
84
96
102
108
110
103
92
80
72
54
54
65
67
60
109
112
108
111
62
98
102
113
115
54
70
94
116
175
149
138
127
74
90
148
143
124
191
203
178
187
132
200
202
205
166
151
158
160
138
107
98
108
104
91
103
108
61
78
68
35
81
89
102
115
107
86
79
22
66
57
0
0
49
0
0
0
0
0
0
0
0
0
76
109
90
126
153
125
152
141
165
119
119
125
127
121
99
81
131
120
123
137
187
189
166
153
143
91
142
173
121
110
102
104
72
112
158
123
166
147
146
190
216
117
109
170
176
169
179
193
140
121
114
93
138
162
143
96
38
27
80
125
135
134
112
2
0
101
156
26
112
106
82
107
83
115
108
100
104
36
52
27
20
0
139
80
70
112
70
80
125
138
94
102
101
139
68
62
70
77
82
80
77
75
70
65
59
113
68
71
69
116
114
60
79
57
55
105
112
100
164
107
104
128
147
157
160
110
105
98
100
59
66
125
72
82
88
70
89
150
70
96
88
134
145
84
74
83
71
116
137
137
133
80
78
74
83
148
113
115
96
131
123
72
133
174
152
138
109
97
79
65
111
112
110
113
141
131
137
76
71
77
77
80
147
159
165
166
97
88
144
144
106
100
159
147
134
131
129
122
127
126
121
142
143
135
122
74
126
69
69
126
75
122
124
130
85
138
131
72
70
74
83
81
66
59
66
72
69
128
74
67
57
56
113
120
115
99
100
108
107
107
115
106
86
56
35
86
90
83
82
73
36
47
111
222
188
173
172
135
148
203
139
172
154
134
152
108
131
137
95
151
120
102
110
64
63
109
120
95
98
116
86
80
96
95
91
87
40
49
47
106
42
35
52
52
69
114
126
38
138
133
133
143
136
80
108
121
105
131
85
115
120
101
176
98
117
122
134
140
141
198
173
175
92
79
137
127
64
76
43
100
95
129
130
188
176
180
183
174
184
199
194
109
55
139
159
195
177
136
117
107
114
139
133
112
88
78
22
41
62
87
5
101
128
125
85
93
88
105
114
67
152
178
114
91
132
119
43
123
86
39
16
87
124
64
66
73
82
84
92
104
110
99
73
56
128
131
82
81
128
122
66
63
59
60
60
64
66
114
112
112
121
45
107
108
107
40
157
133
116
104
103
88
151
96
99
102
99
96
51
68
81
95
142
137
73
94
100
67
91
92
132
136
82
75
80
70
63
128
126
127
83
91
147
158
156
109
130
127
121
117
153
139
165
149
197
121
119
89
81
86
146
139
126
112
100
172
179
121
169
105
91
87
155
158
86
67
56
107
117
140
128
115
110
113
119
120
111
65
69
70
122
114
105
120
68
118
68
81
93
72
67
73
79
77
117
105
103
66
63
69
121
110
51
58
65
137
77
70
59
53
110
121
113
113
100
98
69
149
175
121
70
64
103
95
33
28
79
86
76
33
26
40
229
184
172
175
192
149
200
192
182
169
143
137
122
130
134
101
65
77
33
88
98
48
52
64
101
106
125
91
74
93
97
95
92
43
51
53
107
118
53
62
55
72
120
135
101
133
119
119
134
130
128
112
82
92
85
90
104
115
122
123
114
129
126
144
145
144
191
172
166
124
74
191
103
142
127
104
46
124
72
94
125
131
135
192
191
181
174
177
122
76
89
121
142
129
193
148
110
138
136
184
134
115
76
34
31
99
67
153
153
184
130
135
123
151
61
132
148
127
137
122
103
129
110
112
104
65
90
23
87
144
151
107
105
102
158
100
87
74
69
122
126
133
70
72
71
117
60
58
57
108
105
106
54
103
100
105
110
115
136
35
63
145
81
97
105
78
116
60
75
59
96
90
105
105
97
102
138
99
101
147
93
143
91
81
71
127
160
146
135
90
84
84
87
86
150
149
143
139
137
137
71
131
86
75
66
69
128
123
128
152
174
165
169
189
178
115
164
165
161
158
154
154
135
112
109
123
134
80
76
166
107
96
148
143
127
117
113
114
43
44
48
100
97
98
95
50
66
124
76
87
80
90
141
77
128
138
78
75
67
63
120
126
124
118
99
87
90
102
104
102
107
113
107
116
72
74
71
65
63
131
95
158
162
145
118
103
119
71
76
78
78
120
114
109
117
47
68
56
78
180
169
150
148
158
153
138
185
188
143
170
102
137
80
116
66
79
94
64
64
59
92
82
35
45
55
77
90
59
44
100
101
49
47
102
112
54
46
48
68
61
70
58
121
132
127
105
109
135
136
127
77
69
141
84
95
108
102
141
102
119
126
185
195
134
154
192
164
157
135
86
156
153
154
132
135
53
54
85
142
140
142
138
139
188
172
173
196
194
157
57
121
123
143
167
92
115
148
214
188
176
141
53
106
19
11
113
158
177
165
135
144
148
115
114
124
165
180
187
140
138
108
126
116
117
99
107
30
112
180
168
87
140
81
128
120
66
65
124
127
127
124
114
68
72
121
62
56
102
42
88
38
41
42
98
104
111
115
111
155
120
111
160
110
64
64
101
103
39
49
56
79
90
100
114
132
153
161
162
150
139
97
98
98
154
138
164
154
143
134
67
71
75
78
130
127
69
64
67
73
84
80
78
85
81
79
131
134
140
135
123
128
149
139
131
80
140
152
159
166
164
147
128
126
128
112
45
52
67
60
73
91
124
128
154
156
158
108
73
116
53
54
71
75
62
55
62
125
82
93
100
83
63
55
113
120
65
63
121
130
135
133
131
134
160
158
158
152
142
141
142
137
138
130
135
89
91
90
91
87
80
65
63
117
109
104
102
58
68
71
62
94
94
95
101
56
59
47
73
220
221
155
151
154
200
190
184
178
160
158
95
144
130
85
76
123
84
95
118
101
61
117
98
105
66
77
64
55
56
115
101
49
105
100
106
108
51
55
75
62
67
61
129
117
113
114
115
134
134
61
75
146
115
124
146
103
101
102
116
170
180
186
169
106
196
202
187
167
137
106
151
135
157
161
153
169
128
116
133
152
142
152
151
178
122
135
185
201
166
64
103
177
136
195
105
93
155
120
99
84
82
72
97
148
103
99
38
104
139
106
96
194
152
118
216
187
173
183
137
129
134
117
63
46
48
35
31
173
130
114
99
104
86
132
114
67
125
129
127
123
128
117
70
72
69
114
107
98
40
33
32
37
41
45
51
55
104
72
100
104
135
96
46
43
73
164
93
50
110
102
89
98
114
136
99
148
158
150
144
133
92
91
99
164
150
153
141
139
129
120
80
129
129
123
68
64
62
70
80
142
133
75
83
138
140
139
151
97
134
121
127
123
110
111
58
121
139
100
160
88
78
127
79
75
61
65
79
135
106
128
89
73
125
144
148
106
160
147
143
68
57
73
101
85
72
71
142
98
105
80
59
44
99
105
52
104
46
105
115
121
120
121
131
138
145
146
131
118
126
136
79
115
122
125
119
111
109
111
41
63
80
79
122
119
123
119
69
75
80
73
103
50
52
47
65
105
43
61
127
216
216
220
163
199
187
176
164
118
109
115
90
72
113
79
93
85
75
58
116
129
124
98
99
119
129
52
60
65
128
105
104
112
104
105
115
117
111
67
50
61
59
124
122
125
134
125
137
141
123
144
129
126
83
99
100
87
79
168
173
189
180
169
163
189
145
185
166
139
110
93
136
165
150
170
126
93
122
206
202
150
144
128
114
169
127
182
193
155
125
140
189
188
187
179
121
149
142
99
52
67
128
174
103
75
97
129
150
115
122
129
152
118
68
202
166
109
121
128
120
114
102
76
36
51
40
30
154
77
61
68
73
115
111
114
65
122
124
73
126
128
66
119
119
65
59
51
94
37
87
37
41
95
98
100
49
51
48
101
101
102
103
55
46
117
121
61
80
137
136
69
131
148
161
161
151
86
118
79
87
80
85
110
160
133
141
140
134
82
134
133
137
140
136
134
85
83
79
80
140
146
95
70
58
109
112
115
119
76
81
126
116
122
115
84
154
157
159
111
105
69
61
108
65
82
95
91
134
119
59
48
45
56
124
134
163
152
156
88
88
92
81
88
110
114
145
131
128
63
72
74
68
117
119
109
121
109
110
110
109
112
118
120
124
130
136
127
107
102
113
69
138
114
105
96
97
59
120
74
69
73
69
116
62
60
62
62
56
104
103
100
109
57
50
42
92
95
96
38
120
111
165
177
157
208
207
131
103
112
133
88
97
64
61
115
125
57
74
106
104
95
81
99
112
109
54
62
67
61
115
126
125
112
113
62
54
117
60
47
48
57
112
115
130
83
76
81
94
143
126
99
62
129
161
105
74
109
159
121
178
172
175
184
185
181
160
111
108
90
114
143
156
186
131
82
178
174
181
177
191
132
141
185
177
130
145
155
191
128
200
193
217
126
179
171
168
123
30
84
221
187
175
123
81
100
74
64
106
132
154
121
110
111
127
143
179
116
106
78
42
87
62
81
102
68
71
132
70
63
60
41
43
54
63
67
70
72
125
74
129
119
122
70
116
108
100
98
46
51
99
99
102
108
58
58
56
52
52
104
104
106
110
115
121
133
153
152
147
159
111
163
104
146
137
132
78
84
81
92
102
104
111
111
131
133
125
120
72
129
129
132
132
131
77
77
71
62
112
127
127
123
52
100
105
112
112
117
74
77
124
117
122
111
110
54
53
118
83
93
110
108
154
145
139
85
88
91
142
134
144
158
164
162
161
156
100
153
137
89
105
110
94
85
78
79
71
124
130
110
115
116
123
142
151
144
145
143
142
145
99
151
86
53
112
103
117
143
120
98
71
70
114
117
113
112
112
57
53
58
72
59
45
41
40
43
51
54
52
98
43
56
62
59
106
97
92
91
101
54
51
73
109
138
161
164
146
111
118
83
80
89
84
59
122
131
91
92
129
99
102
101
95
93
100
53
49
46
59
55
116
125
126
132
62
73
116
56
64
78
73
56
61
90
86
71
80
84
88
111
86
65
114
142
138
111
55
132
104
110
168
169
187
187
185
186
126
118
123
139
148
153
195
150
170
194
160
157
164
172
134
207
126
83
139
98
126
131
146
206
213
203
149
143
116
88
18
63
141
91
182
131
81
115
144
143
51
87
137
132
36
181
144
131
149
137
73
48
37
80
63
64
122
133
21
6
134
73
117
58
95
102
116
122
73
75
76
128
127
128
123
74
72
117
105
98
98
102
51
101
104
60
117
119
118
112
54
46
45
99
105
112
127
137
149
159
141
142
159
166
159
141
74
74
83
86
89
142
151
107
111
121
116
79
133
126
69
128
132
130
130
131
126
71
72
67
60
112
125
122
119
106
106
59
117
123
121
126
139
96
66
100
45
102
57
66
130
139
80
84
95
107
164
161
161
118
128
171
150
138
146
159
160
152
145
93
152
142
93
104
108
82
81
85
95
91
130
121
116
115
113
124
147
157
122
106
114
126
141
102
103
89
125
109
43
123
106
136
105
61
60
118
126
124
119
110
47
59
120
86
71
109
55
55
35
40
38
37
35
33
45
41
39
34
30
82
35
50
48
68
81
75
83
126
160
213
121
130
81
86
74
131
112
134
136
93
83
73
92
103
102
95
95
106
56
47
42
62
59
68
77
77
82
64
72
112
51
60
70
113
101
83
96
73
62
89
88
77
97
150
124
88
109
75
48
70
88
169
161
164
176
197
177
144
181
134
126
142
133
134
151
194
169
186
191
156
150
160
163
128
204
189
150
133
81
176
161
184
176
208
207
159
134
168
47
35
50
52
128
171
178
123
94
126
143
117
113
154
157
159
152
140
160
140
52
32
47
0
55
38
51
99
107
0
17
135
123
111
106
113
119
123
127
128
77
76
126
123
123
128
126
72
65
55
49
103
53
60
64
68
121
121
119
119
108
113
82
84
129
121
119
137
84
73
118
87
138
136
144
137
113
52
71
87
146
147
159
169
167
177
204
196
72
131
132
82
141
144
89
141
131
68
62
66
119
67
124
115
63
63
114
62
63
113
60
60
57
55
59
78
133
84
133
130
132
89
99
114
120
168
112
156
142
81
88
103
187
179
149
85
145
86
63
74
129
130
74
67
59
54
71
77
75
70
105
113
106
150
144
145
147
144
148
159
92
90
84
75
71
72
72
57
119
147
165
98
77
66
58
66
57
52
46
99
99
42
89
90
50
58
63
77
85
98
88
70
60
57
101
106
46
40
33
34
41
48
48
60
63
70
70
53
41
120
162
185
200
180
164
131
123
138
143
155
126
114
104
84
131
95
98
97
92
94
49
53
60
62
73
76
69
78
93
83
128
117
112
108
101
56
56
124
132
152
119
94
121
135
152
73
65
118
76
94
110
110
124
125
142
167
191
140
153
142
186
112
133
138
145
151
195
188
165
136
134
143
139
109
136
187
193
201
188
191
171
158
175
158
137
161
137
134
107
48
62
82
57
34
21
69
87
81
153
170
183
138
138
98
173
172
145
144
56
5
9
0
67
93
99
57
69
7
3
37
70
119
117
119
117
61
58
110
112
114
116
116
115
117
119
118
115
62
62
113
61
61
63
68
69
122
123
130
137
159
106
105
151
87
128
123
112
61
68
133
62
123
153
184
138
119
99
98
80
141
168
113
119
172
166
120
124
100
157
151
141
137
133
79
133
135
76
72
127
125
70
124
118
115
111
59
62
115
114
125
125
72
124
83
102
99
144
84
78
86
102
107
96
95
85
80
85
138
133
135
140
158
172
132
124
100
80
126
128
134
70
65
114
69
82
150
97
106
116
127
58
58
124
115
135
163
161
149
146
133
72
59
52
57
63
61
72
161
147
110
56
53
43
52
47
77
85
87
91
144
137
141
72
113
120
87
106
114
105
104
92
134
74
116
125
121
122
122
67
61
58
57
51
46
99
64
76
119
110
115
148
160
174
149
172
144
158
141
158
162
106
96
111
90
103
60
105
84
45
56
53
51
44
43
38
32
47
72
111
150
130
71
131
130
67
70
60
74
105
168
104
106
176
168
84
89
53
41
57
53
126
104
98
170
163
195
121
189
178
167
180
138
115
149
215
186
196
190
163
164
165
161
116
141
192
199
192
151
153
118
117
155
136
128
165
157
66
75
78
141
72
137
106
55
56
87
174
200
172
163
116
53
117
44
92
146
192
133
63
77
46
103
73
80
80
76
24
48
14
73
67
61
110
110
106
50
108
109
110
113
116
117
114
115
113
106
108
114
112
111
68
71
68
65
119
76
90
153
164
150
80
71
72
130
133
132
81
82
81
57
53
67
137
117
124
102
80
66
135
166
192
142
159
141
115
123
95
167
115
101
95
137
129
134
145
142
89
140
86
86
138
81
118
114
123
121
124
125
138
142
145
140
142
111
97
139
81
81
140
93
90
85
74
70
72
116
104
111
123
118
149
170
187
200
141
118
100
144
150
83
78
85
144
144
135
62
63
142
123
55
63
136
150
159
139
122
139
125
116
64
61
60
115
120
124
183
143
127
83
124
54
54
113
49
72
80
86
95
107
168
153
155
158
172
187
128
106
110
106
0
37
86
80
109
124
110
125
132
110
112
69
124
124
116
115
114
90
78
97
85
120
153
101
172
188
165
163
151
102
161
125
122
152
117
85
74
119
76
103
64
52
58
43
32
51
72
73
108
132
132
94
138
130
77
116
117
115
131
165
174
164
108
163
130
78
28
60
35
29
137
84
70
170
162
180
119
132
108
119
192
111
119
213
208
162
169
168
186
175
170
172
187
140
199
200
176
163
181
111
179
128
151
147
173
23
97
149
121
136
81
109
141
152
50
145
116
167
93
111
104
69
112
133
148
49
151
127
126
79
50
82
41
26
33
31
126
55
45
59
56
52
104
110
110
57
108
109
59
113
115
116
116
115
62
111
117
76
80
133
139
83
74
67
117
119
121
123
65
114
111
119
143
157
154
135
84
85
81
64
63
67
74
132
86
144
88
146
177
196
186
130
173
116
129
189
188
199
201
194
138
131
180
183
178
181
180
119
160
151
147
140
81
143
180
183
180
174
167
113
159
147
137
137
124
121
118
116
116
115
62
71
75
74
77
76
123
125
126
67
131
119
113
124
137
147
104
102
147
71
70
122
109
42
46
117
126
114
59
124
131
143
124
120
133
138
130
72
78
62
53
60
62
116
139
136
69
64
68
117
116
120
122
113
73
79
86
95
161
172
172
111
102
104
114
104
80
112
103
121
93
125
114
97
109
122
124
127
131
116
99
168
165
157
155
154
136
129
145
88
146
153
149
140
132
121
160
156
125
188
111
88
148
123
116
101
59
108
119
84
78
76
72
68
61
51
102
83
60
125
137
124
135
99
68
87
132
115
128
155
169
176
118
88
52
39
49
37
137
92
57
92
97
152
103
96
128
111
134
143
155
129
205
206
141
140
155
137
127
182
194
191
146
132
160
173
196
139
102
175
197
201
171
25
138
51
95
104
104
74
124
104
141
85
147
170
142
179
170
97
109
48
30
61
175
136
92
94
66
63
46
44
21
24
116
125
42
74
45
97
98
100
56
59
60
114
115
63
113
110
108
109
51
113
120
128
138
87
83
86
130
121
115
62
62
61
112
56
64
121
126
140
140
72
55
54
109
55
137
106
106
118
179
175
151
140
169
118
102
90
83
85
110
150
161
149
138
126
119
67
75
88
147
98
137
126
116
112
116
120
132
135
151
167
158
143
126
113
112
116
118
115
122
119
118
120
120
115
60
64
81
119
75
79
75
68
62
65
126
113
113
116
70
68
115
118
80
101
152
126
116
127
144
150
144
85
134
73
119
113
122
143
130
116
124
104
58
43
104
111
120
139
150
131
108
121
72
63
52
51
113
124
144
158
122
127
115
147
136
83
85
87
80
86
90
84
101
126
52
33
92
95
181
215
175
150
146
138
139
142
145
132
127
138
151
97
90
142
125
102
49
68
124
127
142
157
108
95
117
104
73
68
138
132
77
128
102
101
93
133
116
76
116
184
119
126
120
141
79
77
125
96
118
125
107
87
148
173
121
158
158
112
124
114
119
109
114
171
146
88
129
164
79
62
83
97
128
155
158
165
134
144
141
104
94
128
165
130
194
200
203
150
153
196
161
139
147
133
189
206
57
64
174
160
172
139
86
155
156
51
83
82
28
128
155
108
120
127
90
165
110
171
166
99
101
152
161
145
124
58
81
16
38
0
82
33
47
95
44
99
103
108
109
57
58
59
59
107
102
48
103
98
112
120
71
77
128
124
74
128
120
64
114
63
65
66
111
119
80
130
82
76
113
61
58
60
57
114
149
149
118
121
110
83
79
122
108
134
73
121
72
93
133
146
104
90
86
89
88
97
157
159
82
125
117
112
66
130
140
161
164
174
157
141
128
116
103
103
61
70
122
120
66
126
130
131
124
67
68
74
120
129
80
76
71
62
62
126
73
74
130
134
76
70
73
74
89
104
146
137
138
143
98
89
85
84
115
113
69
138
128
102
39
110
121
102
102
66
139
146
81
60
54
63
132
85
82
77
125
73
81
156
157
106
96
85
83
87
89
147
152
80
74
74
120
112
96
85
93
99
62
58
185
189
150
119
125
120
150
148
133
127
134
92
93
91
89
56
93
89
94
98
63
88
118
131
140
147
127
92
75
133
129
132
63
76
66
63
119
102
113
98
170
173
129
120
99
83
132
83
93
102
113
84
112
75
154
99
89
150
164
161
154
164
105
132
171
101
109
154
115
71
103
79
90
132
170
177
114
130
128
139
110
95
66
107
133
195
194
205
154
153
187
138
117
145
128
176
129
52
204
142
175
111
102
114
99
158
110
115
45
61
121
162
100
111
110
117
109
90
153
189
134
108
149
167
110
135
56
76
8
21
50
87
108
138
95
47
105
56
54
52
103
54
57
58
55
103
50
111
63
78
132
121
115
115
119
127
70
116
55
49
100
53
58
76
79
94
82
122
63
111
113
121
84
133
101
105
74
67
53
112
84
112
116
79
70
59
71
87
79
80
101
165
153
158
167
109
99
88
124
76
136
137
85
143
153
164
159
164
112
65
58
125
84
116
109
116
69
61
57
112
111
112
108
104
60
79
104
100
103
100
105
113
100
84
85
90
89
92
146
87
135
90
97
88
84
90
145
146
146
95
92
86
81
85
79
67
59
78
125
70
75
65
106
165
165
147
70
70
88
84
76
78
129
93
119
177
169
171
152
52
114
136
148
98
97
92
140
86
60
53
48
95
95
101
98
105
108
82
80
119
139
147
129
114
121
127
120
109
105
99
38
44
65
78
46
103
134
157
169
172
111
104
102
134
100
70
90
122
167
161
165
145
188
160
95
92
147
152
138
114
71
126
174
172
143
130
91
82
87
129
136
173
97
85
83
98
177
132
187
174
201
170
144
124
185
114
119
110
91
120
66
93
121
111
137
122
154
131
146
96
70
61
121
141
193
205
140
145
146
127
115
103
131
138
32
150
207
205
201
135
161
175
127
108
66
79
74
16
13
123
147
109
135
116
109
202
138
105
96
194
125
95
108
101
85
134
77
62
54
86
100
17
48
88
44
50
54
52
45
99
46
46
47
48
48
51
74
74
121
115
112
113
115
67
119
114
105
100
50
58
68
74
74
77
125
114
105
50
105
106
62
71
73
68
67
66
60
55
70
101
172
138
76
73
126
72
72
134
89
99
173
98
136
137
90
101
107
104
93
155
146
131
127
136
142
132
142
108
111
137
118
62
124
115
73
87
79
65
60
104
116
139
101
99
93
73
60
125
131
79
91
114
125
122
138
186
116
107
169
124
121
114
95
84
147
148
85
127
152
99
109
121
93
89
98
162
161
98
96
161
112
102
195
132
181
137
141
139
138
126
132
186
176
106
86
112
92
125
136
146
152
153
94
139
134
82
69
106
98
97
108
116
121
111
106
104
165
149
141
107
44
47
83
72
74
86
105
131
148
158
110
109
105
77
119
58
115
133
155
114
164
117
157
145
85
100
176
175
167
155
117
118
80
130
148
164
135
114
130
96
122
136
149
146
144
158
108
102
118
140
163
197
155
150
165
159
155
178
198
199
170
186
136
134
141
138
119
111
102
151
78
107
130
147
116
152
153
95
95
56
140
173
112
136
172
180
152
93
116
114
101
95
70
117
194
176
199
152
171
109
121
64
100
28
86
21
3
90
86
116
104
114
90
136
106
173
166
64
45
186
135
124
108
112
127
90
65
111
47
13
26
58
38
46
103
54
105
99
48
45
94
41
94
45
49
67
63
113
112
60
64
119
69
122
111
107
109
115
123
76
79
75
73
112
105
101
101
53
53
54
57
57
59
62
64
60
65
90
119
119
75
79
84
87
82
75
133
95
108
178
149
133
133
136
135
84
132
123
110
166
144
135
145
145
128
61
69
158
133
116
70
82
125
77
84
78
81
88
91
150
163
166
102
89
124
108
125
131
129
147
182
145
137
152
145
110
150
156
116
132
134
131
165
166
170
163
151
97
112
111
111
94
138
108
154
142
146
122
185
161
167
155
146
157
174
123
129
188
207
142
113
82
114
59
120
127
95
97
150
147
143
136
132
78
77
60
96
99
105
62
60
126
114
99
110
196
171
149
64
108
119
58
101
128
154
164
120
111
94
78
121
63
45
53
64
73
78
137
90
120
145
139
132
136
157
168
178
176
115
91
175
83
66
129
152
135
124
137
99
142
145
131
128
133
132
78
147
159
160
167
120
198
205
212
213
208
175
194
192
108
181
145
122
194
191
147
165
98
73
113
142
120
142
143
154
142
77
82
48
151
175
147
185
197
135
144
144
154
155
176
119
99
157
149
178
208
154
115
133
96
88
132
63
86
11
18
10
63
144
149
107
135
130
127
127
180
159
148
96
114
168
121
171
124
103
157
183
124
91
44
56
41
51
105
51
104
48
47
33
82
83
37
42
95
98
50
54
112
119
72
76
76
76
66
125
132
136
81
70
61
63
58
100
98
98
97
99
49
48
52
108
103
104
108
65
101
124
162
84
69
68
84
95
99
151
162
164
152
128
116
120
129
118
99
95
98
99
87
112
107
155
153
143
105
94
39
53
106
109
65
78
88
157
121
122
103
110
102
148
99
159
108
109
109
89
79
124
122
122
127
95
116
95
85
96
94
148
153
94
97
144
143
130
118
129
151
121
113
94
74
88
136
116
103
139
144
115
167
137
116
130
127
147
162
103
97
93
54
53
55
59
110
107
102
97
101
63
65
63
58
56
56
57
57
51
38
103
113
62
125
128
121
68
48
93
100
105
121
135
127
58
54
59
105
67
77
69
54
46
103
57
42
47
52
53
58
81
157
114
73
89
97
103
113
109
95
98
92
106
82
100
109
151
164
147
140
85
74
90
143
91
150
144
119
103
100
104
140
232
202
212
172
171
213
215
222
221
214
138
144
175
177
190
192
101
127
123
157
101
96
119
121
143
155
71
80
84
33
95
146
99
118
121
111
82
72
105
101
125
57
163
188
199
221
190
133
120
199
137
112
105
83
39
29
11
28
64
141
90
85
75
88
175
157
120
117
55
94
145
168
196
179
144
85
73
99
101
55
59
39
44
54
53
97
99
42
40
87
33
33
36
90
91
48
64
67
127
131
132
81
82
81
78
131
131
124
63
51
96
50
49
98
97
97
98
49
46
97
49
103
95
107
124
99
161
98
115
96
115
112
104
63
73
136
142
131
67
84
129
75
121
108
102
108
110
118
151
176
142
115
70
108
109
118
125
101
40
50
67
88
89
83
85
137
126
90
89
88
151
161
156
152
113
90
74
127
150
158
148
151
116
49
5
0
0
37
47
2
4
46
51
55
54
56
63
65
52
102
126
145
94
170
174
94
78
84
164
198
135
155
104
89
86
107
159
91
89
89
93
91
127
99
76
65
81
88
92
43
46
48
49
65
112
118
48
96
106
111
116
123
56
54
109
107
46
124
132
130
124
76
82
81
89
96
97
79
58
49
53
112
107
117
69
72
77
81
133
125
80
141
154
151
149
162
161
89
136
180
59
64
62
135
89
138
161
118
140
123
116
131
84
92
110
166
162
190
139
154
188
175
144
175
210
199
200
174
166
120
154
141
180
194
140
114
165
106
97
79
94
113
111
123
129
102
114
61
52
101
133
120
117
94
118
143
91
64
82
120
128
175
156
159
141
184
169
114
101
98
79
76
37
102
75
61
136
195
48
101
113
62
65
148
107
86
89
95
78
122
116
179
166
135
80
35
61
10
33
31
28
97
107
53
96
97
40
89
92
89
35
35
88
90
54
69
126
131
83
82
82
83
82
75
125
121
59
101
93
89
62
61
52
98
96
98
50
52
100
101
100
96
116
140
109
152
75
97
84
102
109
56
66
75
137
138
74
73
139
130
121
110
102
112
125
129
83
96
109
133
108
118
118
108
70
141
125
98
46
63
67
70
68
75
82
69
85
109
157
161
160
145
142
179
135
89
87
180
169
99
8
23
0
0
0
7
0
0
6
0
2
53
0
54
55
54
0
15
55
53
30
31
69
75
111
197
148
141
148
145
140
149
78
72
90
69
23
0
56
15
25
25
21
78
86
99
99
99
102
53
108
110
75
119
126
102
92
104
111
75
72
56
62
114
66
81
113
69
123
118
109
99
60
58
65
68
57
47
50
65
78
84
87
86
91
98
95
136
114
87
119
86
106
145
134
92
58
134
196
22
44
80
150
140
68
85
142
111
100
55
60
53
66
104
170
179
172
175
163
156
162
150
167
157
157
219
126
116
143
170
129
176
163
197
93
218
195
140
87
104
98
83
148
110
153
128
50
69
115
125
179
127
139
119
140
103
139
137
96
129
151
193
154
162
187
184
153
113
49
96
87
67
153
108
157
180
168
47
85
97
80
121
155
165
92
99
64
118
109
92
185
184
141
105
61
39
5
42
30
21
29
93
89
80
36
33
35
30
82
83
84
89
47
71
132
135
82
131
129
78
78
76
106
45
38
87
88
93
48
56
50
44
99
100
100
50
48
49
48
49
57
127
97
97
82
119
108
103
113
122
85
89
86
81
133
130
133
115
113
109
111
65
76
84
139
126
73
78
83
82
129
124
114
112
58
50
99
55
66
66
74
81
144
152
147
101
154
151
145
161
170
176
161
68
113
136
102
49
5
0
0
0
0
0
11
16
0
51
47
64
57
27
21
6
18
10
12
68
18
18
17
68
34
17
12
82
119
158
106
56
56
3
22
18
0
37
40
67
21
72
90
53
56
65
64
114
66
121
114
67
140
81
75
124
98
108
64
100
55
67
69
63
66
112
104
78
45
58
56
56
68
96
87
97
86
71
77
81
75
72
52
52
52
73
75
46
100
119
96
161
153
121
123
141
162
111
142
61
55
121
152
166
140
152
149
135
130
135
75
56
86
76
131
128
157
135
137
185
212
219
195
192
181
156
148
121
155
164
167
169
114
148
158
127
206
188
112
114
139
42
112
160
140
146
126
130
102
61
167
169
96
149
178
149
174
125
128
145
157
193
153
152
184
146
132
174
91
14
60
62
113
126
124
105
67
124
185
95
120
110
149
127
116
55
30
16
41
97
134
172
173
200
125
42
20
30
34
32
30
15
25
81
26
30
37
43
40
91
40
98
109
121
84
133
134
132
77
76
128
73
68
45
43
43
41
37
37
92
100
42
95
98
98
99
100
97
48
50
48
67
93
163
87
123
113
111
60
69
131
82
86
86
85
85
131
124
67
118
115
115
63
119
73
80
125
69
59
56
61
68
121
114
113
57
57
58
62
63
125
124
66
70
133
155
119
176
171
187
160
136
144
202
120
55
52
13
0
0
38
45
49
0
0
7
27
18
10
108
70
40
32
85
88
17
29
29
78
29
30
68
17
86
82
30
90
111
133
32
6
12
5
17
21
9
55
29
60
29
82
87
98
57
70
126
123
124
122
118
71
134
136
127
107
117
64
48
96
116
114
76
89
95
139
146
198
144
82
108
160
150
123
61
59
57
117
120
48
39
55
41
54
66
125
68
119
154
149
210
67
107
84
149
147
127
117
111
72
51
132
138
145
153
174
171
151
146
102
67
115
121
160
143
116
176
89
61
58
77
78
138
94
72
86
141
117
171
175
160
198
136
133
129
194
191
116
117
189
96
97
93
159
171
172
181
143
34
44
155
112
102
206
187
150
109
196
215
195
181
163
192
120
85
79
83
144
108
72
90
100
182
148
181
123
117
88
157
89
83
144
51
31
20
84
102
58
53
85
56
91
63
48
85
52
27
51
70
57
35
67
23
85
87
88
43
47
49
51
55
114
122
76
132
131
80
78
77
129
130
75
122
105
52
52
49
43
41
94
44
39
93
98
97
96
96
44
45
100
46
119
146
156
127
62
58
64
69
74
83
78
90
97
97
93
130
118
81
76
122
114
109
64
91
115
92
73
62
56
55
112
117
112
58
58
111
114
113
60
61
115
67
80
103
123
185
194
169
161
144
156
155
174
160
0
0
0
0
11
0
46
0
35
52
70
79
61
60
97
92
50
103
127
88
75
65
99
85
99
89
79
48
84
82
87
103
115
118
113
61
19
17
25
23
58
46
57
72
36
47
43
86
99
69
73
62
119
122
123
125
74
76
113
101
69
108
44
56
60
49
73
90
79
134
125
105
42
63
135
123
128
107
80
84
134
134
133
117
106
63
51
58
58
116
125
128
151
177
185
56
63
75
138
160
107
139
86
91
58
139
173
194
190
183
166
142
90
111
175
185
145
117
122
59
111
87
64
69
72
60
64
115
46
44
109
93
166
167
139
196
132
104
188
206
196
187
196
83
24
83
85
153
180
191
194
163
131
127
94
114
178
187
170
135
124
203
203
178
111
129
148
96
125
160
112
35
114
74
116
93
132
95
124
101
132
99
148
118
111
103
74
136
141
139
74
114
127
119
130
88
83
132
124
87
92
34
56
51
37
32
29
90
98
99
108
54
63
69
77
83
137
139
143
136
80
125
69
122
74
73
120
118
63
63
112
55
53
55
45
41
45
101
99
97
96
99
43
46
44
78
152
93
113
99
49
66
131
86
96
114
111
98
84
78
69
66
65
65
116
114
60
70
152
133
131
93
99
94
122
105
103
108
109
55
57
120
130
82
130
137
87
88
87
76
83
93
156
155
147
143
180
213
105
18
1
0
0
0
62
68
83
130
74
99
130
90
119
159
50
74
87
45
86
126
142
89
139
145
101
117
88
112
98
86
88
102
111
123
107
59
47
43
32
76
106
122
116
67
69
107
94
101
114
69
57
62
115
119
123
63
56
51
63
56
106
114
62
55
110
157
152
119
66
45
97
97
98
108
126
89
77
99
153
151
156
109
96
90
104
95
157
146
130
132
138
158
158
137
106
63
97
169
153
122
110
59
71
39
49
107
123
135
145
172
112
96
92
155
89
96
134
159
152
148
64
75
104
93
85
87
123
130
77
97
102
138
202
204
204
184
144
192
124
165
186
168
136
73
76
89
155
195
172
165
161
112
173
130
134
170
135
101
109
123
75
96
106
111
164
197
157
146
109
128
94
153
142
85
132
131
113
141
135
156
180
191
181
141
24
5
27
86
32
42
113
174
167
92
122
170
157
87
83
79
87
88
100
113
31
83
99
117
63
119
122
125
77
80
133
139
97
109
81
124
113
110
114
119
120
119
119
117
65
117
64
60
57
98
104
63
63
111
107
54
51
52
55
49
87
107
144
112
101
48
60
124
130
82
152
87
72
61
60
63
68
63
68
129
83
139
145
100
104
124
89
81
84
134
122
110
122
118
63
68
121
69
124
123
133
82
76
130
142
99
160
133
154
124
150
59
19
13
1
50
58
85
112
192
114
125
108
112
120
91
34
116
149
149
92
175
154
81
35
177
120
89
110
68
151
137
160
92
71
116
121
67
68
110
80
84
81
88
133
117
80
88
145
139
125
65
61
111
62
60
112
115
114
60
56
53
131
126
104
67
114
50
71
117
101
40
47
69
80
67
54
130
109
94
118
92
103
145
132
126
66
52
58
79
127
168
172
158
147
165
78
79
70
62
67
87
111
171
211
117
99
100
72
102
101
97
120
113
86
84
96
105
149
146
171
170
128
118
138
63
53
35
85
102
65
68
69
56
128
125
150
136
200
193
182
203
210
179
171
170
214
118
101
75
121
172
123
106
156
131
139
152
141
65
63
89
71
153
69
158
127
150
112
164
178
158
168
206
203
113
137
179
154
135
135
130
166
99
108
209
180
151
131
92
89
38
12
21
133
23
78
152
128
105
126
177
127
80
117
128
112
131
122
80
27
43
65
77
81
82
130
132
133
136
91
98
96
73
68
117
117
121
123
122
121
120
117
62
115
113
111
109
47
50
111
61
60
58
107
107
54
52
51
93
153
135
109
102
54
66
127
125
126
130
125
120
66
67
68
121
70
74
130
132
81
84
88
92
138
72
75
136
140
82
73
68
68
70
73
66
63
115
128
93
96
141
140
163
179
159
148
92
167
118
0
11
3
56
52
81
120
143
142
104
110
35
115
131
153
80
62
72
192
22
61
175
144
82
115
159
53
59
118
202
205
151
112
100
56
92
78
53
53
126
83
132
134
137
135
144
97
146
134
74
73
69
62
65
63
64
117
116
63
59
63
71
115
110
57
54
112
60
106
94
94
56
82
143
76
83
97
96
74
63
123
84
136
85
88
82
67
66
134
117
145
141
157
168
119
85
82
69
72
88
94
101
163
213
88
93
115
90
98
130
109
112
85
57
72
103
111
104
168
157
122
101
112
126
62
44
31
39
53
55
67
89
59
118
126
148
122
200
222
208
234
204
151
145
144
167
102
84
122
117
129
114
159
171
159
138
154
80
75
138
90
104
114
74
151
163
172
131
186
181
147
161
116
144
165
184
202
132
138
192
164
141
107
144
182
169
139
111
42
45
27
66
74
52
48
103
71
115
92
181
107
18
41
107
108
67
145
108
102
51
65
80
88
93
94
91
91
141
139
138
137
124
119
123
77
130
76
74
71
124
118
115
114
112
113
115
117
109
53
51
57
58
108
105
109
101
98
60
150
84
59
54
111
123
133
83
125
124
64
120
127
133
84
80
74
60
113
113
109
104
101
52
107
112
124
137
148
153
152
99
102
106
112
104
94
90
145
84
119
196
192
178
149
147
144
191
201
189
132
14
0
40
77
157
185
116
93
132
65
102
83
71
97
111
124
145
139
76
76
114
61
82
153
157
104
67
47
92
147
207
151
124
107
45
29
88
64
110
107
66
125
131
99
154
129
88
85
124
124
136
140
78
76
72
72
73
126
124
123
65
53
53
58
50
73
163
107
93
72
119
77
65
60
83
82
86
88
75
61
76
99
159
110
104
90
70
62
70
106
131
121
159
155
78
95
102
119
78
87
100
114
185
200
137
186
133
96
86
90
111
98
76
54
36
32
64
168
125
154
128
117
89
78
123
108
108
77
82
113
66
99
60
89
121
157
96
136
150
207
217
148
196
160
164
184
147
155
135
88
176
162
199
172
180
174
112
189
139
96
96
132
97
208
188
180
167
188
175
215
197
136
154
196
199
185
85
148
152
174
89
134
145
148
174
175
138
108
29
10
7
49
10
3
59
89
102
92
76
105
138
54
64
70
49
79
158
97
135
144
156
103
136
144
97
94
98
95
136
125
124
79
84
84
81
129
123
68
71
74
122
122
119
66
68
71
73
119
113
103
51
104
103
50
100
105
114
132
138
116
109
115
120
130
135
86
88
141
139
85
134
129
124
119
66
61
113
113
110
107
109
114
121
124
123
125
128
81
136
86
82
77
72
64
64
71
82
109
136
198
188
181
189
194
192
41
83
76
70
73
80
195
182
122
113
77
41
26
58
38
62
115
112
100
140
150
110
103
87
136
46
20
85
108
25
57
72
11
40
133
131
119
80
21
114
116
17
31
39
105
110
105
63
81
124
88
98
96
142
143
144
142
83
78
77
131
132
132
80
68
72
69
95
69
101
112
85
79
73
133
93
88
92
90
160
165
154
150
90
61
129
90
93
86
79
67
57
108
101
92
113
160
122
118
97
98
72
115
122
93
89
165
124
148
200
120
75
62
127
93
89
53
120
104
40
158
57
63
128
112
33
118
163
153
150
138
78
78
76
71
72
57
92
100
125
114
94
105
150
168
128
169
174
178
171
146
183
63
49
178
140
202
142
166
123
101
185
130
88
136
89
101
99
149
185
192
109
179
161
130
156
179
174
197
208
165
135
62
137
195
194
121
116
124
146
187
138
88
90
102
104
123
44
38
50
50
152
189
107
113
131
125
128
77
53
110
95
150
156
112
160
140
145
95
92
146
142
82
127
128
132
138
137
133
128
71
71
71
125
75
75
71
68
66
68
68
117
115
105
104
103
103
51
47
62
131
147
126
109
112
119
123
131
84
140
142
140
84
84
135
131
75
122
69
59
111
108
106
104
106
112
119
120
117
68
125
130
136
138
137
79
73
70
70
75
83
101
131
191
175
163
180
191
139
0
57
78
57
59
158
187
146
109
121
77
56
90
61
90
65
87
90
95
121
136
102
106
35
7
6
26
101
89
69
50
68
2
7
100
111
147
133
93
95
63
16
69
29
41
53
112
108
64
78
137
97
103
152
147
144
92
85
79
130
80
82
82
82
123
121
63
51
82
157
97
83
131
130
135
89
80
90
148
170
176
165
153
135
107
119
76
74
66
64
64
60
112
106
84
116
163
126
143
96
77
52
105
98
82
97
117
114
157
122
117
157
161
148
157
138
131
139
148
157
140
118
69
139
131
111
135
159
137
137
132
77
76
67
58
58
64
52
73
107
146
130
151
144
104
97
122
147
199
193
198
151
59
149
155
162
79
49
198
91
158
188
85
174
98
111
173
106
57
82
130
180
188
148
131
158
164
174
202
197
87
93
101
148
148
196
140
170
137
174
162
138
67
16
10
71
26
5
41
90
105
128
136
144
200
101
67
107
84
50
101
85
169
123
122
161
147
150
99
139
136
133
133
135
86
137
139
135
129
73
73
72
74
74
76
130
76
70
65
63
63
67
117
107
106
105
102
96
54
68
153
160
103
110
114
124
128
83
91
147
135
128
126
66
119
77
83
130
121
72
118
111
109
112
118
70
71
65
64
71
132
138
88
86
85
143
149
142
89
99
114
105
161
142
140
154
200
189
131
58
47
52
50
134
88
119
128
111
79
16
34
67
148
82
95
126
126
120
167
99
92
42
0
0
0
0
2
10
57
22
37
0
45
45
52
51
62
31
29
2
63
92
92
33
80
89
56
70
82
140
145
146
92
88
86
86
86
132
78
77
129
127
123
123
54
88
74
98
150
137
144
136
132
131
77
138
149
163
168
166
151
127
100
101
58
64
74
66
55
119
125
61
101
88
98
133
152
163
152
92
77
51
87
71
117
141
84
117
140
135
134
143
180
182
187
163
150
102
126
64
37
58
114
68
72
132
159
163
172
164
96
91
77
58
54
115
5
70
82
82
92
165
217
191
185
123
85
129
150
135
170
172
141
143
30
127
139
94
97
209
139
189
139
119
77
137
160
76
89
150
201
190
182
124
53
195
156
158
224
149
69
100
130
122
145
137
139
167
190
167
165
102
82
75
52
40
58
69
98
134
203
174
111
52
109
54
93
49
55
118
153
159
110
109
154
153
152
149
132
132
81
136
139
140
87
88
137
82
81
80
78
77
76
78
78
76
70
65
62
61
112
111
105
103
102
101
48
69
157
160
125
107
111
110
123
129
86
95
99
86
131
122
116
116
123
130
75
68
66
60
106
105
109
115
120
69
111
59
63
68
69
67
64
72
75
137
155
148
83
75
127
140
169
191
159
78
86
122
90
70
94
93
171
97
75
83
90
100
122
152
172
126
119
126
130
166
164
168
158
148
56
0
0
3
30
55
99
110
59
44
109
117
51
29
50
68
76
83
79
62
56
107
101
96
102
65
77
128
132
136
86
86
84
85
85
148
136
80
79
73
66
109
85
51
87
113
98
85
55
110
111
116
119
117
135
152
145
154
158
153
136
108
45
71
84
96
89
125
75
80
128
115
66
99
125
121
122
62
65
76
91
92
74
126
157
167
124
180
175
134
127
141
147
96
138
140
79
73
108
86
83
62
66
130
134
141
117
133
135
85
103
113
96
73
116
38
38
47
57
114
119
98
156
169
99
127
142
130
208
104
101
128
145
102
142
134
69
179
129
68
98
126
113
71
48
90
111
151
129
217
130
134
123
89
87
114
145
106
135
93
116
115
211
169
159
182
194
196
172
124
85
12
97
66
71
76
71
52
93
119
153
195
202
135
128
159
114
116
125
107
93
149
151
146
99
96
143
128
131
82
87
89
141
139
88
87
85
84
82
81
79
77
76
77
74
124
68
65
63
113
110
101
99
100
106
59
88
111
146
108
105
104
109
118
125
84
93
96
84
78
67
130
141
139
126
62
63
59
112
116
69
124
71
117
111
69
68
71
76
132
81
81
67
76
140
140
132
77
80
72
147
178
177
135
77
40
82
91
104
127
97
90
98
16
63
62
104
155
152
91
121
121
111
102
144
148
148
130
124
131
38
7
0
0
8
15
31
100
113
133
49
4
35
55
88
115
114
92
71
75
76
124
119
120
74
79
129
132
82
137
86
85
87
139
150
137
82
82
76
67
57
108
102
109
88
125
87
47
97
102
110
115
115
132
150
150
155
156
151
138
113
50
67
78
86
133
122
67
66
116
123
152
110
65
93
97
105
82
95
96
78
127
184
144
131
134
184
171
124
130
150
157
117
124
115
106
106
127
157
91
63
65
128
133
137
119
136
96
98
95
93
144
93
138
44
54
73
49
44
138
109
99
85
145
146
153
124
83
89
98
117
136
102
111
83
138
153
58
69
83
135
80
50
36
85
120
116
186
210
112
168
99
95
82
106
147
156
124
91
130
212
224
128
153
176
178
181
189
135
90
60
129
124
56
50
47
46
115
171
171
110
120
119
125
183
116
51
116
124
97
159
162
100
134
129
125
130
82
138
142
142
88
140
137
136
82
82
83
82
79
129
125
126
127
76
74
71
68
64
110
100
98
52
123
144
108
135
107
52
49
96
106
110
66
129
137
87
80
77
104
131
46
21
72
41
67
145
139
131
74
123
67
62
110
65
59
58
60
64
122
74
62
59
113
132
91
103
163
107
67
83
110
114
54
73
123
134
105
148
51
29
34
26
50
127
132
122
116
69
77
129
90
91
136
135
139
137
88
79
118
80
137
78
73
80
60
84
69
52
62
86
82
124
161
159
138
178
83
66
72
136
94
101
106
110
94
144
141
140
139
140
139
139
138
83
81
81
78
75
73
123
134
76
61
51
117
157
95
98
107
117
115
105
108
105
62
73
137
140
123
52
71
72
69
123
78
77
125
129
117
83
52
42
33
60
135
144
94
127
111
164
180
133
155
88
89
151
152
158
162
161
104
144
134
146
121
121
96
88
114
114
114
110
69
93
82
142
154
92
134
145
108
145
137
87
69
105
127
127
117
74
121
165
176
160
150
84
107
110
87
52
108
95
80
164
41
70
42
63
113
81
31
65
72
105
147
177
217
167
132
161
131
52
162
125
88
145
133
174
202
102
130
117
180
175
154
116
118
131
112
118
107
100
121
143
107
115
131
146
138
96
76
90
129
122
53
102
135
126
147
161
101
73
77
134
136
140
91
142
140
137
138
136
133
79
77
78
130
130
127
133
79
129
77
74
68
115
112
109
59
60
64
84
159
88
116
111
114
56
113
104
116
123
133
139
141
139
87
151
133
69
82
109
171
147
81
70
58
53
7
20
33
93
88
46
51
56
60
63
117
101
52
104
73
69
87
109
83
49
9
16
97
114
127
144
97
81
107
42
35
23
71
71
78
131
122
118
117
58
67
59
61
67
73
84
148
155
143
82
91
89
141
150
98
107
158
156
172
187
212
255
158
118
146
120
110
115
75
80
86
148
152
104
112
160
154
145
88
137
84
132
130
128
79
76
71
70
74
78
89
86
81
73
63
57
59
153
133
114
55
108
104
103
95
40
38
101
113
116
72
129
130
120
59
108
95
94
112
100
90
51
54
33
44
61
109
107
94
52
198
94
48
120
68
87
151
112
106
100
88
98
99
92
102
77
113
42
44
89
101
106
99
107
136
104
173
111
94
151
155
85
124
96
146
128
88
96
103
123
138
109
95
124
138
103
101
128
90
86
115
92
85
122
46
42
56
50
126
154
116
176
143
110
149
161
146
142
144
142
151
119
157
110
148
101
152
133
132
129
81
136
65
126
176
211
152
165
189
141
160
159
147
151
161
188
135
145
131
134
187
113
153
95
112
110
147
172
126
86
94
139
133
86
139
140
89
141
142
142
91
88
135
134
132
78
77
76
77
78
129
80
80
75
122
118
117
112
114
115
62
77
95
153
67
66
69
124
123
125
78
83
140
143
91
92
94
92
92
82
75
127
133
79
65
128
141
156
163
107
94
126
59
40
34
32
83
82
28
26
20
29
73
65
72
82
96
120
139
161
161
138
147
110
94
109
90
71
45
63
67
126
77
80
132
128
123
119
65
104
111
109
109
119
129
132
139
126
173
175
181
132
128
157
172
126
172
155
140
122
184
194
172
178
161
139
148
106
107
95
129
126
141
105
98
100
98
93
88
137
132
127
123
114
61
60
61
66
124
131
85
80
63
69
66
55
33
123
85
63
61
124
75
147
90
86
82
125
107
80
76
78
95
70
112
99
104
90
43
96
51
45
50
88
107
120
79
70
105
130
87
112
125
120
123
179
162
149
82
131
135
155
172
170
161
171
162
126
109
104
102
119
80
83
139
91
100
113
171
167
159
184
142
108
89
86
110
130
105
110
112
165
170
163
93
72
87
123
99
58
44
159
110
73
70
48
40
109
153
79
130
167
158
160
162
162
197
156
131
128
122
121
71
67
68
113
122
150
148
168
150
144
99
142
211
176
165
102
127
137
162
177
172
173
129
186
194
129
109
93
76
118
129
59
137
123
105
72
71
73
130
80
83
140
89
89
90
92
93
92
88
136
135
82
133
78
78
77
129
129
130
128
125
121
118
65
66
67
62
67
86
98
91
58
62
72
79
80
134
86
144
145
144
142
143
142
139
130
81
80
122
118
120
69
108
114
121
126
78
83
83
80
77
117
58
51
45
39
35
38
47
46
51
61
126
139
146
147
150
147
148
162
156
89
73
75
19
61
40
77
125
129
133
135
133
128
125
71
88
96
93
90
95
153
156
94
139
143
144
145
89
132
154
170
127
114
91
87
135
124
160
216
231
199
127
139
137
106
115
158
158
118
117
100
102
154
99
98
145
84
75
71
115
59
54
53
110
118
127
81
80
72
129
73
64
94
93
90
88
72
137
97
105
98
92
88
77
110
93
87
89
112
111
94
91
86
83
98
104
73
73
64
42
109
128
123
72
118
104
87
118
113
115
125
128
113
156
92
123
118
100
137
120
143
160
124
93
95
104
101
122
91
67
84
98
108
168
172
171
173
193
114
159
123
76
126
187
119
114
104
146
147
143
81
87
103
147
122
83
142
180
80
41
46
123
142
112
84
147
121
120
134
105
164
152
166
129
136
117
122
93
77
82
103
144
149
170
142
166
154
90
154
138
201
176
106
145
131
81
94
112
121
125
108
109
185
135
166
144
61
79
12
45
39
101
119
83
62
57
71
75
74
136
88
88
88
90
91
143
138
134
135
136
84
82
80
128
126
131
132
130
127
122
68
67
63
68
61
72
99
151
73
107
105
107
67
85
87
87
146
146
144
142
143
137
130
138
116
110
128
139
74
55
115
66
68
121
124
130
81
132
152
81
72
69
71
74
76
69
71
77
82
79
77
73
119
126
139
154
162
108
57
72
63
54
24
113
71
75
59
113
115
116
115
115
115
117
136
141
89
89
95
155
161
156
151
144
146
164
182
187
167
159
95
92
107
101
143
80
123
171
207
212
168
183
177
174
120
173
170
161
158
98
96
93
92
145
144
83
73
137
127
70
60
108
110
114
115
117
67
127
128
74
71
123
103
37
77
85
97
116
125
77
115
87
80
98
103
106
106
79
114
109
75
60
119
120
86
39
37
32
45
79
152
141
89
194
94
108
119
140
135
180
159
76
80
131
138
129
87
83
51
91
130
125
113
73
63
34
54
148
138
69
48
68
118
138
172
158
160
181
130
192
185
107
88
117
127
176
155
87
65
55
90
118
107
93
131
176
129
132
84
90
89
72
102
154
134
81
113
174
110
55
47
98
161
171
124
128
108
80
89
67
119
132
126
146
195
189
123
133
182
204
171
119
172
166
107
95
93
103
110
150
98
117
121
108
76
84
27
58
101
136
214
170
95
75
64
75
78
124
124
125
72
70
71
74
129
132
135
83
82
81
79
128
126
125
130
133
81
76
123
119
117
59
58
58
71
87
80
106
96
45
48
57
127
87
95
152
108
114
166
161
143
82
85
136
126
51
79
64
3
45
52
62
72
85
100
161
164
136
70
65
118
69
73
76
73
68
83
107
111
115
112
92
118
89
19
63
66
62
59
72
117
91
129
77
80
69
117
110
105
104
109
118
125
130
135
91
99
100
98
148
151
93
158
173
180
159
127
69
77
135
81
82
91
151
149
102
92
161
239
213
145
146
191
134
131
125
168
108
156
159
106
103
154
99
95
141
147
133
80
130
124
116
113
112
55
53
113
112
61
65
113
124
47
42
74
61
95
91
85
78
77
87
104
125
147
149
130
117
110
53
66
71
88
103
69
79
59
89
76
35
45
120
180
48
36
47
52
67
137
141
105
120
175
166
122
109
90
75
101
112
119
73
76
76
79
136
131
128
161
122
172
109
74
104
65
120
172
172
94
92
100
93
88
104
148
164
166
128
40
56
52
89
107
168
133
158
116
110
74
101
106
157
143
175
97
72
100
67
106
113
119
144
93
140
78
137
100
101
139
123
143
140
132
112
98
105
112
160
201
146
181
139
176
124
105
85
87
89
80
159
108
87
65
56
91
103
96
93
130
172
115
92
74
63
69
73
66
64
119
117
115
116
67
124
129
135
134
81
131
129
127
126
125
128
132
133
75
70
117
115
111
107
111
122
81
72
100
92
46
104
109
114
76
141
152
111
120
172
164
140
131
76
137
135
75
85
97
73
0
0
0
4
20
42
113
122
71
67
68
125
131
135
137
88
80
88
86
72
59
43
60
62
70
72
59
64
20
94
129
141
80
132
132
82
75
70
115
110
112
122
136
146
140
81
83
87
89
87
86
160
160
172
177
180
162
135
140
139
80
69
65
78
91
141
146
161
64
121
224
145
186
140
138
129
175
176
166
156
161
163
109
106
154
149
92
100
86
85
138
132
124
117
114
54
102
109
107
110
116
73
52
46
32
111
110
61
62
96
93
108
117
116
136
126
139
113
115
56
38
61
65
80
137
48
67
53
78
53
61
77
141
130
31
56
25
71
93
121
80
145
153
148
152
150
70
52
58
43
143
154
122
125
118
170
108
88
167
189
135
127
124
152
144
168
155
113
157
97
102
117
132
79
162
110
119
120
84
102
103
113
119
180
133
130
171
118
129
157
183
172
197
141
117
62
49
91
130
113
86
110
113
104
73
101
130
165
84
138
114
138
144
58
20
121
90
116
175
145
97
119
84
106
110
92
74
76
72
57
49
26
54
72
100
122
157
138
89
110
125
104
74
82
71
56
60
107
57
114
114
113
57
57
62
132
141
138
135
133
133
81
133
133
81
79
130
129
127
123
120
106
50
66
137
132
59
98
48
47
50
106
110
115
121
126
136
151
162
111
140
130
123
130
135
77
63
49
42
49
112
72
78
69
46
73
55
60
50
0
46
44
45
49
5
4
3
2
2
1
53
53
57
5
59
73
148
121
150
144
139
86
134
132
146
101
89
79
123
116
116
118
114
66
66
120
69
71
73
76
99
143
130
82
141
148
102
129
127
70
67
60
61
115
82
79
71
74
58
167
211
199
192
192
134
170
115
112
156
157
107
160
169
176
119
108
103
93
90
90
141
138
132
122
119
115
111
108
108
109
66
58
63
108
96
137
85
78
70
123
121
110
100
100
119
145
63
36
37
34
31
26
89
54
52
65
66
101
101
109
104
152
78
128
127
137
135
112
87
43
154
168
177
147
142
135
139
135
107
133
149
131
68
108
86
80
40
93
116
101
112
144
143
114
132
190
142
110
125
169
170
78
52
147
113
105
64
76
138
174
142
128
178
60
160
146
174
189
171
193
185
184
184
128
177
149
87
112
117
101
99
101
47
24
128
100
88
146
71
129
138
155
68
116
159
115
87
181
194
94
102
83
61
58
72
0
22
31
104
59
63
104
52
131
123
127
49
79
81
98
121
58
74
136
132
61
110
111
120
118
113
57
56
62
82
93
93
92
90
86
135
82
133
131
129
128
128
127
124
70
108
112
75
83
74
58
54
55
54
56
112
116
122
129
137
87
93
153
158
143
133
87
83
131
77
74
116
101
72
23
81
37
47
110
118
122
97
79
68
107
96
92
93
83
26
24
32
37
90
37
59
123
82
80
124
79
140
148
91
80
69
67
77
96
100
91
88
142
89
92
91
83
99
101
92
88
90
83
72
69
77
90
88
78
112
99
99
101
52
57
65
117
117
126
98
85
116
72
67
201
176
190
179
131
121
170
111
137
141
153
160
155
98
106
122
102
98
150
149
149
147
144
75
69
118
113
106
52
54
54
60
107
104
55
107
136
73
78
73
60
48
40
99
96
124
109
42
45
48
103
43
106
62
59
66
56
90
98
41
40
123
56
144
130
141
135
109
162
144
149
118
78
71
69
60
111
64
59
118
118
107
99
100
101
103
103
116
105
59
121
124
134
150
102
109
94
103
136
156
131
34
112
88
132
132
148
106
115
101
143
187
105
77
109
182
186
158
161
180
138
79
66
167
213
161
154
136
127
125
116
94
85
144
171
141
18
53
76
101
109
178
91
84
119
150
149
156
143
82
107
133
110
76
59
50
55
105
33
148
164
150
162
142
93
108
85
94
96
96
90
45
60
79
84
70
67
65
73
123
117
60
57
63
81
94
95
147
92
87
135
134
83
82
131
78
77
128
74
72
60
67
78
78
66
107
108
56
55
110
113
68
127
134
141
141
91
96
101
144
84
78
80
135
83
77
118
103
81
30
34
39
47
109
116
121
115
79
138
140
138
142
148
83
80
79
87
89
86
134
132
83
133
124
62
73
137
86
138
133
72
66
68
82
79
76
81
89
93
98
150
90
114
116
109
106
109
104
94
67
77
82
130
128
125
123
112
111
62
65
123
123
124
72
85
91
53
71
73
159
252
204
177
182
176
165
156
89
90
99
157
152
91
97
113
97
99
152
152
148
144
89
77
70
119
116
57
55
60
55
111
51
50
58
41
117
144
97
84
60
45
38
95
116
136
63
44
93
43
46
85
93
49
94
55
108
90
88
42
42
106
51
137
135
173
201
192
189
133
110
112
150
97
85
147
159
98
95
118
128
64
100
95
103
111
117
131
101
93
114
135
152
154
88
99
99
124
147
146
127
109
153
149
216
139
120
142
139
159
204
144
96
115
157
193
175
188
190
164
100
126
207
155
130
129
196
144
143
144
137
77
76
73
114
98
13
6
40
55
121
129
81
68
152
165
158
143
106
81
63
110
79
84
55
81
138
90
108
139
80
96
147
121
100
45
68
72
85
139
79
49
46
63
84
94
85
67
72
122
68
64
63
69
85
90
92
143
138
133
130
133
84
83
79
75
126
124
122
120
62
74
130
119
105
104
116
60
111
62
67
130
139
148
93
92
91
90
90
144
144
145
139
74
59
102
103
114
125
127
128
75
71
119
114
112
120
128
140
97
100
99
100
90
92
94
95
91
87
86
133
128
128
134
87
94
151
98
133
126
81
81
68
68
64
116
69
73
71
75
82
82
123
70
71
74
79
136
89
103
115
113
155
150
141
132
129
76
78
83
137
133
127
124
123
61
69
61
59
60
205
228
205
172
121
114
95
103
150
98
103
110
108
153
96
101
151
147
143
88
87
85
84
72
65
116
56
110
67
65
112
52
101
47
41
46
98
65
59
47
62
76
96
97
156
132
64
65
75
79
57
121
81
91
108
90
100
86
38
88
122
112
168
163
198
175
158
147
155
146
144
158
147
72
124
143
105
173
117
68
134
85
137
141
133
67
81
46
42
72
154
172
170
100
84
98
158
157
153
140
123
150
109
104
149
191
162
186
217
112
98
116
164
163
137
193
173
111
132
192
200
199
190
158
165
146
124
108
100
96
98
73
66
42
43
29
42
38
78
134
127
154
159
185
168
129
139
102
162
150
111
76
85
141
139
76
41
87
91
106
124
87
110
84
82
146
84
89
144
153
59
61
68
79
149
136
112
72
131
128
68
74
86
67
81
130
131
133
132
76
130
136
130
125
120
117
115
115
115
108
118
121
115
109
114
77
71
67
121
127
146
105
114
116
111
103
96
90
136
135
136
137
137
132
126
69
121
133
127
125
129
77
126
125
129
112
53
59
70
91
98
81
79
83
83
81
86
83
129
136
138
137
138
148
183
192
168
142
124
82
96
139
83
72
71
123
73
73
77
86
96
79
74
131
80
129
132
140
94
87
79
74
76
125
117
114
121
75
78
77
124
120
133
78
81
91
94
87
79
128
199
242
178
115
102
174
148
98
100
101
156
159
108
107
163
151
143
139
89
88
86
139
79
129
125
63
115
71
125
61
51
101
104
94
38
44
38
77
82
78
91
137
137
138
137
68
46
47
48
33
82
71
86
87
128
94
55
43
104
98
119
120
96
125
119
121
80
143
147
141
134
107
140
137
84
163
161
73
83
139
134
74
120
65
71
167
139
69
84
155
108
170
195
156
74
56
87
152
93
102
83
91
149
144
141
136
118
114
127
129
118
104
98
155
106
126
183
128
164
150
138
79
117
125
146
157
119
126
152
86
83
16
48
121
34
38
30
77
171
153
135
132
139
128
192
118
58
25
82
86
33
56
126
104
82
105
127
136
152
187
197
122
45
89
57
122
88
118
117
67
67
72
79
149
140
121
75
131
126
116
122
139
136
89
82
77
128
125
122
124
129
125
120
116
113
112
112
113
111
123
129
70
64
67
132
130
125
126
80
95
101
106
106
157
155
150
145
142
144
85
81
127
124
125
127
76
125
121
119
71
71
70
73
129
125
123
129
134
95
100
143
75
76
77
84
83
130
126
128
127
126
128
132
151
161
170
156
147
156
165
152
129
79
133
79
74
121
124
133
141
82
83
92
94
142
89
146
86
131
122
120
124
125
120
127
129
76
73
72
69
118
116
67
129
142
96
97
165
145
115
229
152
122
160
152
101
103
155
155
156
160
107
105
103
105
149
141
139
88
139
139
84
135
79
70
72
79
122
63
108
104
102
93
93
38
40
54
82
138
128
140
138
144
149
134
109
54
53
39
73
113
128
79
126
98
61
126
118
98
116
118
109
170
181
173
141
144
148
138
77
59
95
150
90
152
88
56
124
78
75
62
111
126
133
109
132
107
70
124
163
161
145
95
86
98
107
126
174
135
41
152
152
119
92
137
143
115
138
118
127
106
162
99
108
184
191
62
159
200
159
124
137
100
101
68
64
43
82
68
35
40
47
46
18
19
78
41
55
104
99
98
104
105
70
56
58
61
66
123
131
139
85
66
61
81
74
162
192
114
79
124
118
58
47
117
82
122
126
97
141
137
84
96
148
137
140
145
146
98
110
177
159
154
142
76
65
62
64
69
125
126
121
64
60
111
112
113
109
120
134
73
73
81
87
83
75
124
128
85
138
138
137
139
91
147
150
149
147
93
83
122
115
64
68
70
115
113
111
59
111
114
67
125
80
145
152
144
136
87
96
80
68
66
79
70
63
64
74
72
74
130
124
117
126
128
133
136
133
138
150
137
63
128
79
66
110
120
84
145
85
91
101
103
96
88
86
74
71
67
73
75
124
127
129
77
75
74
130
125
119
126
73
74
123
110
99
111
124
121
188
193
133
187
164
159
160
158
153
100
153
150
96
89
162
106
96
88
141
143
81
79
80
135
131
77
79
66
61
109
108
53
46
44
36
41
25
50
73
64
133
144
94
101
146
127
70
62
44
67
58
84
96
98
61
56
83
129
89
111
106
150
136
142
117
74
113
162
104
102
80
94
141
130
128
73
78
109
119
77
99
61
90
133
115
109
71
106
124
120
111
105
104
79
54
69
150
134
39
58
128
154
174
191
166
151
143
107
58
117
164
57
81
158
145
153
103
193
212
214
191
201
141
92
65
123
160
208
158
118
85
93
88
97
66
60
126
114
151
127
118
120
72
100
66
119
119
145
76
97
103
40
44
74
86
77
115
98
82
56
123
130
111
99
104
97
143
115
103
92
85
82
138
92
91
140
131
122
67
78
91
81
86
137
132
71
118
68
72
73
74
123
67
62
58
55
105
98
107
127
62
70
84
83
79
125
71
126
85
145
152
105
101
150
153
158
154
148
84
80
74
69
66
66
68
124
126
126
119
64
66
70
73
125
90
89
84
77
79
93
90
81
74
124
65
116
68
56
62
67
120
114
113
117
120
76
136
81
135
161
155
122
131
137
133
74
77
92
107
103
98
145
88
82
129
74
73
79
86
97
86
70
74
124
68
59
52
124
139
95
90
136
87
97
102
151
147
131
133
82
179
181
176
123
160
157
152
93
142
144
145
93
150
151
98
98
151
146
141
141
83
78
139
140
82
127
122
61
56
111
115
50
42
97
31
48
30
45
98
111
94
79
75
80
84
93
87
66
69
64
96
107
109
59
30
57
160
139
159
175
164
184
178
152
132
111
96
161
175
115
102
96
100
149
147
77
61
51
66
77
115
119
141
162
125
129
94
53
51
63
59
50
18
37
52
67
60
24
99
127
66
90
102
139
106
195
169
103
54
53
125
137
119
163
166
203
196
198
201
154
185
155
105
37
23
96
153
164
144
154
166
157
159
104
100
133
109
94
103
119
120
145
154
155
163
149
125
67
76
97
105
50
55
66
97
71
103
96
65
69
61
53
99
71
85
89
132
130
68
64
62
119
128
77
91
136
124
61
61
124
138
87
145
94
138
128
73
72
71
70
70
68
117
60
56
106
47
58
83
67
72
83
76
72
70
73
129
85
94
103
109
108
105
103
153
152
100
141
81
72
69
72
75
76
76
80
132
126
69
72
127
76
128
90
82
81
130
80
90
87
86
83
74
123
124
75
64
75
131
121
113
116
115
117
120
131
81
138
168
169
141
142
147
149
91
85
96
166
97
88
79
123
117
112
109
70
77
86
99
85
67
73
69
67
112
103
60
126
136
83
130
130
83
85
79
74
114
113
58
122
190
196
124
160
156
97
89
139
144
95
95
96
153
99
152
152
147
87
89
88
84
135
136
82
131
125
68
64
64
115
47
40
97
34
43
39
34
71
120
97
80
74
77
78
84
78
58
70
61
137
140
97
64
96
105
132
142
80
163
149
160
132
134
114
72
102
168
177
100
87
141
145
131
71
61
56
104
57
64
112
110
119
93
89
84
64
107
82
103
89
77
41
62
119
103
44
53
138
119
54
96
87
194
186
177
183
52
76
124
133
132
145
255
229
228
254
213
177
176
217
143
147
68
44
112
131
112
134
160
139
119
157
123
153
78
92
79
98
116
106
62
71
72
96
112
150
113
85
92
96
41
43
69
103
113
176
120
47
129
115
101
124
67
80
76
129
108
53
48
46
58
58
53
66
72
64
104
55
62
76
79
81
90
154
105
96
82
73
72
132
132
126
80
78
60
55
76
92
72
75
80
67
63
67
72
83
90
142
101
100
95
93
93
144
145
99
97
90
130
122
74
79
78
78
129
130
137
94
100
150
147
147
94
87
82
135
129
70
139
129
127
75
120
76
144
100
101
82
72
140
84
91
151
88
78
79
141
152
167
168
157
160
163
104
104
107
104
141
130
127
128
125
119
116
120
119
76
142
86
76
74
66
61
111
61
55
101
98
54
106
102
97
43
43
90
36
35
38
39
152
255
170
172
156
96
99
154
103
103
98
160
92
88
141
84
85
95
77
85
78
141
134
72
134
71
65
61
61
109
96
44
44
44
42
94
37
31
122
107
100
147
154
109
159
95
81
79
83
93
98
97
88
73
28
84
134
57
56
2
75
73
55
100
124
9
30
68
69
20
70
63
60
9
55
63
61
66
15
9
20
104
59
84
110
113
140
62
52
56
31
41
73
79
92
100
163
155
118
179
78
86
46
38
77
101
179
74
100
102
167
115
172
182
200
224
240
235
157
181
198
105
103
138
118
192
119
118
46
5
20
70
79
66
73
63
101
61
103
60
116
68
75
79
112
128
126
121
149
67
101
49
58
73
95
102
148
147
157
154
137
133
84
96
96
98
86
84
80
78
79
75
67
68
75
71
118
122
124
59
104
105
57
61
65
73
86
99
93
145
81
119
69
76
74
78
95
95
70
67
70
115
63
69
75
85
87
133
85
136
79
77
134
92
99
152
148
95
89
131
127
75
81
78
85
91
93
91
86
139
140
145
104
97
87
80
79
131
149
139
125
114
114
123
131
132
81
70
69
86
83
88
159
108
105
93
131
133
176
185
165
115
123
99
66
119
139
82
115
108
112
115
115
63
112
124
68
139
109
97
67
132
126
121
69
63
110
108
101
46
92
38
44
51
102
104
41
48
45
78
134
234
167
164
162
160
98
93
93
91
134
136
138
142
85
82
139
136
76
129
127
76
131
128
75
69
64
117
117
105
49
95
92
86
85
90
36
56
98
95
135
124
67
120
125
82
97
76
66
111
108
105
98
40
48
177
152
28
33
29
26
119
116
79
75
18
11
14
14
70
15
12
17
21
66
63
70
80
83
90
108
41
57
145
158
138
126
52
13
40
43
81
89
104
65
176
115
121
100
105
66
85
78
139
186
107
143
76
154
140
129
169
159
174
193
128
167
122
141
107
100
112
102
164
180
168
173
119
98
98
102
131
62
110
143
110
117
65
47
41
72
80
124
139
73
114
51
52
71
97
99
84
111
104
69
115
141
160
166
150
124
24
58
68
48
130
132
83
137
138
78
67
78
83
133
78
137
138
120
63
60
111
59
58
59
65
72
143
146
140
131
76
75
122
84
101
90
67
62
117
116
68
74
78
86
93
88
143
135
129
73
132
92
101
150
148
146
141
135
130
129
128
79
86
94
100
97
145
144
146
101
99
91
133
128
75
128
148
88
131
125
128
129
130
126
125
66
69
133
83
89
138
149
161
111
157
153
175
191
126
125
177
153
125
78
154
137
77
128
74
70
119
115
71
132
136
152
172
113
139
142
82
127
124
116
60
58
104
104
101
100
52
61
68
73
63
64
70
84
100
190
118
113
160
154
144
141
89
139
129
132
134
139
84
81
136
137
71
130
73
75
133
124
124
71
69
120
118
107
53
52
100
93
87
88
88
30
107
152
126
100
86
23
22
32
92
77
129
131
125
108
90
103
104
129
105
46
65
58
66
148
86
106
94
40
52
30
29
86
84
72
20
24
27
76
83
94
99
105
118
122
109
114
116
115
137
89
106
106
80
117
115
123
119
169
93
141
142
101
120
165
143
102
165
87
155
147
139
109
142
124
121
182
179
117
119
108
103
77
87
111
174
190
196
180
176
162
90
97
110
156
71
54
81
60
63
2
4
76
96
92
79
121
51
106
129
94
145
125
72
98
120
139
124
150
179
170
149
123
88
74
122
132
37
99
106
116
126
136
126
63
78
81
77
74
137
144
80
79
77
80
87
140
130
64
55
112
56
110
121
75
75
80
103
113
84
123
117
117
123
130
81
131
83
97
147
150
144
88
84
137
94
98
142
139
134
133
137
142
142
143
89
90
94
101
106
110
111
162
148
123
125
137
100
115
122
187
161
135
132
135
139
147
144
135
79
84
139
86
141
136
134
141
154
165
166
156
144
157
114
118
170
154
90
141
133
79
77
70
63
61
114
64
62
140
91
153
162
153
143
133
123
118
111
109
58
105
112
116
115
63
119
76
77
74
51
58
56
48
153
125
113
99
86
81
136
138
131
128
128
72
76
130
130
133
130
72
76
130
77
130
125
69
76
78
73
116
109
55
107
105
104
94
86
92
43
31
85
14
3
67
64
8
20
83
93
96
83
82
102
123
123
103
90
104
117
62
52
76
144
101
132
137
102
88
121
83
119
126
141
57
29
31
36
102
113
105
95
93
45
112
124
120
108
112
67
65
80
67
112
107
123
180
241
155
104
119
151
162
152
161
186
88
155
153
170
170
138
136
128
143
140
162
158
105
121
129
139
172
170
173
156
170
163
141
130
85
91
74
50
40
41
65
84
53
27
91
59
55
58
67
116
132
154
120
116
108
122
114
144
87
71
140
96
119
90
109
142
149
117
70
103
26
121
121
70
127
139
84
131
130
85
138
83
90
145
136
125
125
128
128
72
68
122
127
134
124
114
111
103
102
64
82
141
65
69
123
126
138
150
154
150
150
152
141
135
147
147
144
139
91
94
138
137
132
128
124
119
118
79
97
100
102
149
90
91
152
162
168
149
94
98
110
128
145
133
146
122
86
80
135
150
146
87
91
151
144
123
118
129
133
140
149
155
160
185
172
152
141
161
175
147
73
84
80
77
80
85
78
65
55
52
58
113
119
104
113
130
125
116
107
105
108
111
62
114
113
112
116
72
75
105
97
60
70
57
116
55
150
124
175
168
149
77
75
128
125
114
123
69
126
129
128
127
73
77
65
125
124
121
136
85
82
74
71
74
113
98
112
100
97
95
86
36
34
36
97
81
68
26
70
64
28
124
147
166
157
144
145
101
85
122
98
107
129
160
142
79
53
91
106
89
20
28
21
38
82
97
117
107
86
63
59
61
56
96
100
75
69
132
130
142
172
165
139
85
114
150
139
82
145
161
153
152
138
171
158
102
137
148
187
191
194
152
140
142
147
146
150
187
198
221
180
78
143
143
109
57
82
103
182
147
101
96
100
129
142
127
112
89
123
135
81
97
54
64
127
142
120
166
140
145
109
48
96
103
129
151
102
70
118
149
125
73
83
74
68
85
138
100
44
0
154
152
150
154
162
97
133
80
79
79
136
137
138
143
135
123
62
62
67
70
71
71
133
145
143
133
78
71
57
98
110
67
118
124
131
135
134
168
126
115
159
90
88
83
83
85
88
92
94
145
134
132
127
122
121
123
129
74
94
157
150
140
137
94
160
161
156
155
154
116
145
164
137
157
129
77
91
94
138
146
108
108
97
98
102
87
135
136
140
95
153
157
173
174
169
160
157
159
142
74
79
87
79
80
77
71
118
112
67
71
70
139
100
147
137
127
122
116
112
109
108
55
105
110
115
66
68
67
53
51
63
119
61
67
67
150
148
164
156
144
127
126
65
111
110
116
59
63
69
124
128
73
130
133
114
111
72
140
132
78
74
72
130
68
52
104
108
50
92
89
36
53
95
78
117
126
56
42
21
37
142
160
166
164
159
156
107
107
123
87
47
128
127
138
74
109
117
143
125
101
88
18
14
14
27
43
48
64
52
118
96
53
91
77
124
105
146
156
160
141
142
166
178
121
173
77
81
110
193
168
81
135
133
109
144
144
179
174
180
127
168
173
195
174
164
194
198
171
159
170
102
124
166
153
126
111
126
117
73
40
102
103
109
116
122
78
127
151
185
201
155
111
83
109
152
159
146
138
123
77
42
85
100
91
96
76
46
3
38
87
97
69
55
44
47
79
98
88
54
141
149
158
113
125
180
178
127
108
87
79
86
150
157
106
106
106
104
97
91
93
98
158
162
156
93
92
91
82
75
73
108
105
61
123
129
87
106
106
96
99
95
96
84
84
84
84
137
99
105
153
92
80
73
123
126
129
135
140
139
143
157
166
115
167
168
175
173
163
105
110
118
179
156
148
154
136
82
97
167
162
154
99
105
123
126
99
144
140
85
86
90
110
161
164
110
115
176
164
95
97
81
81
81
67
105
49
46
52
111
71
78
76
75
135
115
113
111
111
63
63
63
63
62
59
55
55
110
106
105
111
62
63
79
80
97
164
176
161
90
118
116
109
110
109
121
120
124
71
68
70
70
70
126
133
79
75
127
127
76
76
75
128
65
56
56
103
43
43
104
104
93
99
88
101
88
79
37
34
94
161
175
172
168
163
152
142
82
131
152
43
125
129
86
140
124
111
109
115
121
127
83
78
75
52
41
78
39
38
50
53
144
97
122
111
89
82
16
13
78
81
65
56
0
30
88
90
118
223
108
74
110
114
133
139
137
124
158
180
182
175
135
179
174
105
127
148
153
151
204
201
205
167
139
131
123
117
116
62
66
121
115
122
130
126
64
144
124
130
136
168
102
94
152
176
118
157
123
126
113
103
76
150
160
95
90
62
23
82
32
44
28
14
51
89
75
80
106
24
116
116
118
125
148
98
147
92
96
99
100
102
157
149
104
98
147
149
97
89
80
125
137
151
150
136
80
85
87
91
154
162
145
124
111
107
62
72
82
93
108
105
104
95
98
99
94
138
80
82
138
82
79
80
137
140
140
138
142
89
144
158
167
114
166
168
200
203
144
178
118
126
153
157
150
144
141
80
80
132
140
150
98
83
131
147
101
97
97
97
97
98
111
113
109
100
108
132
129
107
97
89
86
83
69
112
113
115
123
123
142
103
150
94
152
111
108
105
106
119
126
129
85
82
75
118
61
60
104
76
75
73
74
91
133
77
238
124
90
69
107
108
102
98
55
57
109
116
118
70
78
72
72
74
70
65
115
117
116
120
73
131
131
76
75
119
122
67
116
118
112
101
113
98
76
61
75
53
71
80
107
128
190
172
136
127
145
94
86
101
123
184
142
137
198
135
165
151
135
116
108
49
71
68
54
60
57
26
62
112
67
88
92
134
127
57
105
105
73
138
109
95
120
136
31
16
17
33
146
98
26
93
39
82
167
162
194
138
132
166
164
183
179
187
156
158
156
152
148
200
196
168
179
173
157
150
146
151
168
101
68
111
141
156
131
98
125
164
152
183
190
120
53
92
92
161
144
97
111
107
87
65
109
128
138
76
95
93
83
37
62
115
122
145
135
94
86
105
33
128
126
123
74
96
98
94
85
91
91
82
131
136
144
139
131
130
139
146
89
73
113
63
133
140
134
81
87
89
141
148
171
167
150
77
65
53
57
69
88
106
103
100
88
92
95
95
142
135
82
137
84
84
88
143
143
140
140
147
95
148
157
109
107
107
110
173
182
142
132
116
115
180
184
162
139
90
87
140
137
136
135
138
87
81
135
135
82
84
88
88
92
102
104
100
89
147
120
124
107
100
85
80
80
74
123
124
126
127
127
137
101
100
94
146
113
110
107
108
115
118
120
125
71
66
114
117
74
81
80
126
63
56
70
115
117
228
117
90
79
122
124
62
55
61
69
73
129
123
120
74
68
69
70
114
110
113
68
108
110
116
125
129
126
75
70
75
74
70
120
113
107
54
55
96
51
50
32
39
49
65
139
107
150
127
79
109
172
153
102
72
128
129
116
106
104
96
149
127
92
81
90
55
45
42
56
45
45
103
104
117
71
112
99
93
101
55
100
35
32
90
104
120
143
112
17
50
86
161
129
41
105
77
93
129
141
197
183
169
169
135
152
141
138
145
141
137
137
135
180
168
148
185
171
132
143
173
123
112
113
84
47
56
83
70
86
118
57
163
171
161
123
102
79
99
171
82
92
110
95
100
49
39
42
28
51
44
70
94
49
45
44
124
101
130
81
124
97
84
169
169
110
150
139
142
92
90
145
137
126
134
162
201
165
143
66
57
60
68
74
130
117
119
131
140
145
89
78
150
164
169
143
129
92
117
118
100
92
96
95
93
88
132
81
84
88
144
144
90
139
88
91
93
146
148
100
149
155
153
154
109
108
101
97
102
123
175
125
112
107
177
187
135
123
109
84
76
97
152
147
131
110
106
85
95
136
134
85
89
91
95
112
109
115
104
148
155
106
107
114
101
89
92
91
137
125
114
115
124
116
72
76
124
118
89
93
102
110
63
111
106
110
118
75
81
82
78
109
105
108
58
58
71
64
120
243
184
99
75
50
48
48
56
65
62
117
122
119
122
82
78
73
69
112
106
52
53
58
108
112
124
79
73
73
121
68
63
61
64
115
111
112
111
114
40
66
105
134
129
157
150
79
128
140
100
105
145
135
102
58
146
138
77
82
91
138
129
81
83
122
133
120
68
76
75
120
109
96
94
107
98
75
71
80
116
45
100
102
32
77
31
79
133
89
19
94
88
111
143
152
85
99
93
129
126
132
206
173
134
209
141
132
174
204
166
162
137
173
168
103
147
142
123
81
112
156
100
134
110
110
110
82
39
36
67
100
100
79
165
208
204
118
86
73
139
142
77
122
145
140
144
65
118
114
59
4
0
80
35
40
40
93
117
128
150
143
130
126
142
99
149
143
138
133
130
131
85
89
93
147
148
146
145
136
130
133
87
92
95
149
142
148
158
158
148
143
145
88
90
133
130
135
146
155
103
109
116
122
97
78
69
109
116
76
85
140
134
84
88
138
138
140
145
101
107
170
115
115
115
112
103
93
89
87
122
125
120
108
109
174
181
110
99
90
91
89
78
74
81
85
84
133
126
121
132
79
132
138
152
110
100
138
135
139
91
144
152
111
166
170
162
152
140
79
127
129
111
109
57
139
159
145
122
108
115
117
111
121
126
124
104
109
106
96
96
48
103
113
59
54
49
70
132
142
164
170
150
136
65
52
88
89
115
72
123
126
130
130
74
76
131
119
63
63
104
101
58
52
105
62
72
73
74
68
69
73
73
71
127
119
102
105
106
103
111
133
147
145
117
122
131
76
82
92
87
118
125
152
163
135
123
76
102
95
84
88
121
109
123
100
104
115
74
75
67
52
54
112
112
110
114
120
72
124
131
68
116
122
55
43
111
137
74
116
71
104
136
185
125
120
104
137
154
166
135
180
151
156
197
191
177
180
165
97
90
144
141
84
74
74
46
65
93
71
120
96
94
120
127
114
74
34
37
74
65
96
111
144
194
160
186
131
83
109
110
103
97
153
66
107
106
63
30
46
20
17
28
84
81
31
35
47
114
84
75
97
138
128
139
90
92
139
76
123
121
125
131
134
133
130
126
129
124
122
76
84
87
86
139
140
149
159
160
154
153
157
165
158
80
76
134
139
142
89
95
106
172
106
134
118
48
59
75
87
89
97
156
95
94
92
94
98
103
105
165
111
109
108
153
94
92
94
93
114
125
130
119
158
159
163
95
88
101
109
157
92
76
78
134
141
148
78
61
108
63
130
149
165
118
87
94
85
82
83
138
149
161
164
163
110
151
141
85
80
74
103
54
63
91
159
145
128
124
120
113
112
134
137
132
138
139
79
65
111
114
116
85
55
40
99
63
51
109
229
181
155
140
125
121
110
111
112
80
133
128
74
77
77
77
127
115
116
62
101
94
111
54
53
60
68
124
72
75
73
75
127
74
76
65
108
51
111
109
99
117
141
140
111
117
74
71
76
82
128
134
138
139
180
160
104
111
103
89
94
60
89
85
97
45
100
115
77
77
73
61
59
74
77
135
147
141
84
112
168
155
145
144
73
116
137
147
192
130
149
58
125
184
129
138
134
145
157
168
132
137
148
142
180
173
151
148
146
75
68
127
128
123
121
51
37
129
127
89
120
164
111
179
141
121
61
17
23
100
84
29
110
158
148
145
166
127
141
115
106
172
126
131
136
120
128
107
68
51
58
25
34
88
80
72
22
55
146
67
84
92
161
41
97
103
61
70
59
108
108
111
66
71
125
123
133
127
119
113
59
60
59
60
62
124
85
100
106
156
149
92
131
126
69
88
165
175
174
101
105
114
120
106
148
144
139
89
88
79
60
38
42
65
72
85
99
108
109
105
102
92
83
84
89
91
93
91
97
105
160
116
117
164
164
146
145
96
185
139
120
99
101
100
146
138
134
142
92
79
70
119
77
92
106
159
106
98
153
158
159
159
151
141
159
106
143
87
91
83
68
116
67
69
83
89
78
119
120
64
110
106
108
106
102
102
98
98
43
43
58
119
106
92
98
109
122
120
131
166
172
151
133
117
111
96
92
113
119
70
71
125
129
79
81
76
126
117
63
66
119
63
61
60
113
65
71
70
69
116
67
124
123
71
64
117
48
114
117
91
100
133
140
74
139
98
104
114
169
164
109
141
141
115
178
128
111
148
157
160
132
85
97
97
91
66
59
60
5
11
10
11
34
102
110
110
89
81
52
61
129
154
173
172
180
203
115
14
127
57
130
159
149
168
178
126
118
174
170
164
101
98
98
97
96
89
131
109
68
75
120
110
106
92
33
84
143
127
160
179
165
184
198
201
165
93
53
52
53
58
15
68
169
187
158
124
78
97
116
104
149
117
48
102
136
142
156
121
72
88
27
82
87
96
92
27
36
115
89
142
124
102
75
75
78
41
65
61
60
102
60
75
89
140
130
131
121
113
108
105
107
113
121
77
102
167
112
100
87
77
73
138
143
86
144
157
158
149
148
104
114
120
104
100
156
137
133
77
129
125
56
105
37
91
98
109
122
82
92
96
91
89
92
95
92
89
88
84
151
146
94
93
147
152
153
155
141
93
100
93
89
94
101
108
108
106
145
86
80
133
140
152
108
159
153
100
94
95
150
152
157
160
156
105
150
93
99
100
85
117
116
119
76
89
90
76
68
114
63
65
64
112
65
121
113
108
116
68
67
86
139
112
120
152
179
202
204
134
137
96
76
55
41
47
46
104
57
57
63
119
117
119
69
68
57
60
104
102
55
55
57
61
62
112
62
66
115
119
117
124
130
124
68
126
118
105
105
111
51
98
114
137
101
154
142
84
133
74
119
72
130
141
146
163
171
135
136
148
134
117
148
151
152
131
64
74
137
76
132
125
90
79
30
33
83
103
121
42
82
86
111
127
125
123
132
171
110
99
96
142
87
178
180
170
167
161
153
146
137
96
86
85
83
74
84
83
97
82
84
157
175
183
185
196
128
75
107
178
153
184
192
189
177
131
88
67
69
83
77
61
135
154
157
150
131
63
58
62
71
115
76
90
150
172
190
211
185
138
39
6
79
96
97
85
25
45
130
76
122
134
121
78
75
24
91
110
104
104
113
116
127
85
82
125
133
128
121
64
115
117
122
130
87
153
160
96
79
73
82
92
141
157
112
110
160
147
128
132
141
155
164
154
145
144
139
131
73
125
124
106
100
108
49
94
92
46
58
71
87
134
77
77
129
81
88
96
96
164
157
98
93
140
140
147
153
89
91
98
94
94
107
103
98
150
156
102
145
133
133
138
148
153
152
154
128
78
93
159
161
161
106
97
98
142
93
152
152
132
113
116
121
133
95
93
76
65
61
59
56
52
45
100
107
103
49
65
82
89
114
122
120
123
196
204
204
196
138
168
86
79
119
103
101
91
91
36
44
54
108
107
109
62
67
104
54
52
101
49
42
92
46
50
104
57
66
114
117
116
125
129
121
115
124
67
55
101
107
107
98
54
81
111
114
101
98
151
147
89
79
148
126
79
144
167
136
109
122
120
137
181
150
137
66
58
80
97
141
151
162
117
101
52
42
22
101
137
111
86
78
102
128
142
158
122
122
184
168
196
167
145
107
179
166
162
158
146
142
85
82
74
79
85
84
122
130
118
92
102
201
222
203
128
187
185
70
129
162
101
127
199
193
179
132
99
85
91
116
121
83
134
143
157
180
179
92
45
87
125
125
58
36
109
171
202
209
184
161
44
34
93
93
90
35
34
42
58
105
68
97
56
102
102
96
97
105
46
104
109
106
106
65
82
83
135
142
127
61
109
111
59
61
65
89
150
104
107
99
86
77
78
154
120
114
165
165
162
159
154
91
86
100
148
144
134
127
111
115
145
172
181
169
116
160
92
78
72
69
45
50
102
114
133
81
70
71
71
75
130
79
82
84
86
149
147
90
80
84
92
99
73
69
78
146
153
144
133
142
140
137
86
146
105
102
90
84
135
146
158
159
166
130
111
159
100
145
145
140
122
133
126
141
126
70
68
53
19
29
37
41
64
75
82
153
107
124
141
139
129
106
75
72
133
153
156
165
198
169
92
121
109
102
102
102
99
99
105
109
61
116
116
117
71
120
116
48
38
36
38
89
40
45
48
51
56
110
106
108
110
112
60
112
110
57
67
110
106
114
104
50
72
96
33
26
28
35
37
36
96
94
94
110
120
122
125
153
125
100
104
154
153
139
105
93
86
87
97
118
129
121
100
87
83
80
94
169
175
173
148
137
105
117
168
123
161
163
172
174
168
157
92
153
155
158
139
128
137
108
113
128
122
132
169
127
106
118
144
144
179
243
216
212
141
198
115
107
139
146
135
183
154
162
139
112
113
62
103
169
85
119
142
184
162
166
87
68
119
48
102
22
120
139
187
194
191
194
136
99
67
114
140
126
90
28
40
80
73
71
73
123
108
63
69
123
113
54
53
59
65
121
129
92
97
70
78
68
59
58
64
69
71
71
79
87
93
97
102
106
109
177
129
187
126
113
104
152
152
99
98
93
141
141
137
138
144
148
151
148
122
116
130
128
75
135
107
176
165
101
86
122
114
120
73
79
84
86
75
73
75
136
92
96
96
143
145
98
87
88
99
160
98
94
95
93
148
146
135
156
174
118
151
138
97
115
99
142
145
147
153
159
114
108
103
98
142
142
143
141
131
137
147
128
125
83
89
105
164
122
130
122
106
93
99
90
86
82
128
131
137
68
130
135
149
163
199
221
153
77
57
100
42
94
95
92
90
91
40
39
38
87
86
36
89
94
53
51
99
99
54
105
52
102
101
105
56
92
98
105
108
108
109
117
102
113
113
112
113
50
48
66
82
67
57
109
114
60
54
123
137
171
188
189
180
176
164
185
158
116
131
135
146
85
94
87
86
96
95
118
162
152
152
144
171
157
161
154
150
135
127
135
88
92
150
149
157
153
144
85
140
148
162
161
166
151
210
206
150
194
123
126
126
99
138
179
149
150
237
234
170
203
162
153
181
118
129
132
98
137
173
146
108
182
175
136
46
61
103
116
81
160
214
216
177
72
66
99
76
49
142
137
149
177
194
202
193
188
89
72
77
96
13
32
98
55
144
117
146
122
125
112
67
77
83
77
76
74
75
88
93
93
149
93
79
89
142
139
82
78
79
81
84
93
96
96
148
155
167
178
176
180
178
111
97
146
148
107
162
170
118
155
152
141
133
130
131
131
130
137
135
143
129
64
65
77
90
102
131
161
139
77
75
75
75
71
68
60
63
72
85
97
103
117
151
137
89
89
150
163
159
157
164
114
106
149
147
130
147
116
123
164
154
109
123
108
106
159
154
101
107
107
125
168
158
97
94
150
158
137
148
163
154
157
174
135
157
139
167
149
140
91
94
95
88
84
82
129
76
118
113
99
118
74
112
228
164
153
129
108
98
89
86
31
27
30
27
27
81
83
87
91
109
49
46
52
46
84
76
28
29
82
83
86
45
49
115
118
119
115
110
109
117
56
116
118
117
114
48
44
55
85
83
81
133
130
117
105
119
127
151
171
175
168
164
165
195
178
139
134
85
100
92
96
71
55
82
111
147
116
125
133
122
154
157
161
148
143
136
136
144
94
142
142
92
132
133
141
95
110
185
177
215
224
205
201
201
163
156
146
117
79
86
187
168
235
211
229
218
193
173
159
153
173
140
160
89
64
113
185
143
85
152
170
115
96
98
95
150
123
122
213
212
153
104
48
114
57
39
125
90
164
188
203
208
140
175
56
57
94
68
68
59
83
128
173
176
141
109
104
96
102
65
75
82
88
78
74
78
136
99
110
104
97
80
147
157
154
145
142
93
95
164
174
122
165
162
169
178
177
191
176
112
170
185
193
190
130
134
131
118
177
167
152
140
91
157
166
171
156
169
181
189
128
104
85
82
76
77
95
115
117
121
177
172
156
142
86
138
138
135
132
134
134
135
140
87
133
127
145
150
159
154
135
145
159
154
153
103
109
105
93
73
135
84
103
164
151
98
109
160
139
133
123
164
153
158
177
142
139
171
166
160
104
157
144
91
146
150
89
81
131
120
70
70
61
99
102
60
74
124
131
112
156
214
121
79
109
95
87
77
23
22
17
13
20
26
83
86
37
38
71
14
12
21
22
74
75
76
79
83
88
93
108
112
113
112
111
110
110
112
115
116
114
62
66
63
53
49
51
104
116
174
175
167
156
146
127
129
133
148
158
163
169
166
157
107
170
149
70
51
51
60
87
116
134
139
110
131
123
115
97
134
143
149
147
138
135
132
123
66
69
123
136
120
202
205
116
103
185
144
171
184
209
167
169
193
159
135
161
173
140
190
249
216
219
215
241
216
123
145
118
124
129
143
140
200
209
161
168
139
128
93
103
92
74
105
150
143
114
142
65
92
21
71
100
77
75
170
129
143
175
172
175
130
114
63
88
63
47
54
88
100
153
151
147
149
133
89
83
92
102
110
121
60
48
55
91
171
181
185
179
149
145
137
165
181
151
131
71
49
119
141
148
137
130
140
103
125
174
109
164
171
174
171
171
166
171
121
133
188
165
96
154
159
158
154
98
147
155
163
170
173
124
114
100
82
78
77
80
87
101
108
103
152
91
97
100
151
146
146
136
125
59
106
118
77
136
148
135
158
175
155
156
141
132
125
90
101
84
71
91
148
136
138
149
111
176
165
130
154
114
121
104
144
155
163
108
92
147
95
140
143
101
86
142
166
154
116
106
107
133
120
123
147
137
130
74
103
91
116
202
141
154
74
54
52
101
95
88
27
21
68
41
36
28
71
65
14
16
17
20
24
22
76
28
85
94
91
91
94
92
89
94
95
99
106
113
65
119
116
100
103
99
53
123
134
71
55
97
101
90
95
147
81
123
136
164
191
199
199
187
174
172
178
160
140
178
115
86
80
118
205
148
130
126
113
99
92
95
135
138
150
142
134
118
116
63
138
95
122
135
199
118
144
52
92
114
185
114
193
217
202
145
136
151
164
220
110
151
155
218
206
222
219
210
240
227
172
127
126
84
188
145
53
57
137
132
188
189
192
129
107
89
77
122
86
124
165
162
108
60
47
66
90
96
86
140
135
173
128
136
129
118
107
119
63
79
103
138
41
77
192
173
161
163
114
58
114
116
114
110
125
135
88
78
154
174
184
189
182
151
151
145
158
163
140
121
52
28
65
83
146
146
145
151
108
118
122
169
166
165
167
166
110
165
169
117
177
121
104
152
162
171
117
110
103
102
109
121
180
175
115
100
92
103
101
98
89
80
84
139
135
89
103
108
103
88
78
76
124
122
122
135
141
143
145
93
80
141
150
140
100
98
140
82
96
108
97
81
62
95
89
93
106
175
147
153
135
123
174
171
103
87
133
74
78
134
150
152
95
142
139
159
96
104
90
132
127
126
147
100
86
117
120
82
90
89
90
179
150
118
83
69
54
46
89
84
83
33
87
37
34
78
75
74
71
18
17
17
69
20
14
14
70
73
89
87
89
43
45
94
97
98
104
62
72
79
83
83
133
128
57
44
106
123
79
82
98
109
112
113
101
138
133
154
167
169
180
192
140
191
163
159
178
136
117
127
125
153
191
179
170
106
102
95
102
92
154
149
147
149
128
124
125
80
102
177
210
150
118
185
211
137
82
75
172
97
165
238
190
196
154
181
146
132
219
114
136
185
211
207
222
203
199
225
151
172
140
114
140
155
176
89
121
110
180
177
175
172
92
80
96
105
141
108
121
156
175
180
115
53
43
88
87
69
148
161
117
134
94
133
44
0
112
151
84
72
55
42
85
163
63
160
92
48
28
156
151
139
126
134
104
122
104
101
148
148
148
136
127
157
119
157
83
84
82
67
60
63
126
143
155
154
147
142
98
107
123
113
101
152
158
99
121
125
124
170
102
107
169
179
134
131
125
173
121
123
126
118
158
98
96
103
168
174
114
91
76
71
124
124
85
111
113
102
94
98
106
146
144
142
91
87
81
74
81
84
76
77
88
71
132
165
158
98
103
121
139
119
116
115
111
107
102
149
140
129
128
129
125
125
139
99
101
123
134
98
141
156
119
119
113
156
160
99
109
148
145
135
121
133
97
143
142
84
107
130
141
114
73
54
49
83
89
45
49
100
90
80
21
29
79
80
83
85
81
27
73
74
23
20
22
26
81
97
93
90
93
45
44
41
87
93
49
58
63
65
63
51
59
108
52
105
53
52
52
130
92
114
183
188
186
182
175
176
165
113
104
87
78
79
109
135
70
144
183
145
117
98
145
159
160
102
105
100
136
147
142
130
140
141
98
106
83
136
136
165
95
63
108
123
75
134
93
106
194
142
144
191
201
195
230
197
214
164
164
156
189
186
186
202
199
201
165
217
143
133
186
184
164
193
148
139
117
138
104
180
184
142
153
138
107
191
165
172
181
170
84
163
133
60
49
99
109
143
120
109
106
84
0
0
41
0
121
125
83
57
42
134
166
109
79
76
60
17
167
147
122
105
96
46
49
55
65
68
67
62
47
83
106
80
78
57
54
59
66
80
70
137
149
151
144
84
82
83
78
100
156
97
98
158
102
113
172
179
166
107
115
177
123
118
115
119
125
174
125
118
104
102
162
111
100
136
160
167
110
114
105
131
116
78
95
103
111
167
168
113
147
99
105
111
111
111
112
116
121
117
172
126
148
154
161
174
180
134
145
145
115
147
151
148
146
146
141
133
133
138
134
142
169
125
109
142
156
115
111
151
145
141
89
101
161
172
104
89
78
141
149
127
122
134
139
144
98
198
190
148
57
48
92
81
94
91
34
24
19
71
29
38
82
34
30
23
72
74
25
78
74
19
18
19
21
23
87
34
83
83
89
48
47
107
109
60
63
65
118
117
125
70
59
55
111
112
55
55
119
132
138
147
156
79
36
63
63
69
23
24
30
46
83
105
187
253
122
102
96
78
132
130
123
132
103
153
159
155
148
130
130
86
142
134
150
140
171
133
80
80
74
116
146
115
54
154
162
118
179
204
224
206
231
192
215
206
203
208
141
128
147
178
209
173
168
187
195
196
209
192
209
139
160
160
72
91
153
121
142
165
146
116
71
70
148
36
18
53
45
73
170
121
100
36
40
70
90
101
98
55
109
30
26
90
126
104
29
124
73
51
85
110
118
94
70
33
9
95
78
60
52
104
108
61
44
52
50
48
56
64
63
118
85
92
130
62
58
64
71
76
84
143
141
133
76
75
72
67
146
151
143
92
104
110
107
116
178
107
108
165
121
121
118
114
112
169
168
126
173
106
96
149
95
142
130
157
111
106
117
116
151
142
73
88
97
107
168
167
110
159
111
113
152
95
96
101
114
116
122
126
121
90
142
95
104
103
102
105
146
122
148
162
167
165
163
153
147
104
106
148
150
165
159
136
121
157
98
96
86
127
133
148
103
160
113
94
86
125
83
76
127
125
131
141
142
155
143
159
131
112
90
85
91
33
26
70
67
69
26
35
94
83
29
26
76
24
24
26
79
25
74
22
23
25
27
37
42
44
96
100
109
107
53
107
111
117
70
76
82
63
66
65
121
125
118
108
106
105
123
142
154
164
102
72
75
74
67
65
8
22
48
148
220
230
174
100
100
95
128
135
140
135
85
98
87
93
97
136
124
88
70
78
36
80
37
71
88
149
100
109
92
154
39
64
159
121
121
201
181
148
204
206
233
222
209
208
193
125
121
91
198
183
183
172
167
144
212
204
188
182
130
142
125
58
91
154
148
166
182
153
114
57
74
101
44
17
9
54
102
108
84
79
78
79
96
115
124
46
80
68
36
28
0
87
66
16
73
92
64
146
163
114
138
118
48
29
119
58
49
44
42
43
46
40
28
25
33
44
55
49
49
59
86
148
83
85
90
76
102
115
173
169
156
142
132
75
71
69
84
89
138
140
105
123
126
109
103
165
114
101
111
114
109
110
175
176
118
113
117
121
103
130
112
105
106
117
87
110
117
107
93
98
135
126
136
157
160
151
109
117
120
161
160
110
113
113
111
170
110
78
68
72
75
74
68
58
55
61
125
93
87
131
131
139
145
139
79
88
142
96
154
148
95
102
77
106
121
61
96
88
32
63
136
124
51
84
84
82
97
143
132
119
55
117
193
174
91
117
55
52
100
88
14
12
68
74
78
84
33
26
90
32
85
84
35
36
84
29
35
92
49
52
101
96
105
58
63
114
111
115
120
61
62
62
114
115
117
73
75
76
72
70
120
116
123
138
123
118
123
139
150
147
137
101
88
22
71
149
165
118
149
125
128
145
142
98
94
89
88
144
145
92
90
91
84
104
68
97
95
112
54
168
129
143
145
58
138
106
145
124
134
198
125
99
166
173
157
165
193
170
150
177
154
183
182
143
90
99
139
199
135
132
187
211
173
198
165
175
206
184
219
151
117
118
135
173
156
123
123
177
119
68
23
38
38
41
29
44
120
94
91
60
94
115
142
173
172
158
155
127
110
48
66
30
40
59
70
74
84
145
143
126
142
99
148
49
59
63
57
57
53
96
34
90
97
98
44
60
107
95
112
110
133
129
66
77
146
100
98
92
137
134
136
138
115
68
88
105
102
86
126
72
132
132
75
101
159
100
103
157
101
93
92
98
147
134
117
102
95
86
88
96
105
110
117
72
79
90
104
114
152
161
136
114
110
115
116
79
83
84
71
73
76
78
145
160
154
87
87
132
139
79
81
81
79
83
93
161
83
69
68
130
125
107
53
68
139
136
146
157
146
69
52
38
67
80
75
13
51
0
72
92
32
60
16
27
41
45
86
108
134
145
130
173
127
113
105
43
31
74
16
64
67
75
75
71
76
33
32
30
29
86
87
40
45
94
103
54
53
46
100
103
104
57
57
58
111
112
114
114
115
119
71
74
74
125
125
65
70
70
73
126
119
112
114
126
125
70
71
77
82
85
130
198
160
124
109
107
107
143
122
72
137
138
90
84
91
93
96
101
99
88
57
56
67
74
105
99
104
90
96
96
83
101
90
110
82
102
100
134
115
48
122
178
153
158
198
176
172
170
146
163
198
176
184
144
66
117
113
187
192
130
145
233
224
192
192
190
66
133
139
107
144
144
150
110
111
194
157
124
101
59
44
25
10
41
113
255
157
109
97
99
91
98
78
94
140
142
131
129
131
143
91
83
94
92
73
72
75
109
129
140
140
75
47
64
71
117
123
119
107
103
94
91
92
97
113
133
64
101
110
76
66
58
84
120
137
113
93
83
83
139
91
147
92
85
97
99
88
80
82
139
137
79
88
135
122
46
101
102
101
49
102
98
100
95
99
105
56
117
135
149
146
140
79
72
74
84
94
150
148
126
109
108
116
68
78
84
87
82
82
84
138
159
179
109
82
135
136
152
109
146
80
78
93
153
129
123
120
124
127
117
50
103
65
101
108
161
104
137
116
106
42
56
87
87
35
24
16
82
94
36
17
13
71
82
74
21
43
76
160
194
146
114
103
99
41
29
73
72
70
71
75
75
73
25
32
84
81
83
87
87
41
48
99
102
56
57
46
48
51
105
61
59
109
59
114
114
60
59
114
117
68
69
69
124
117
121
68
71
127
120
60
56
124
74
71
69
75
89
100
95
199
122
113
118
107
97
91
78
80
87
82
85
85
91
147
98
98
92
83
61
82
112
103
100
109
106
81
79
89
111
63
90
80
83
73
148
178
50
69
118
179
205
157
198
174
171
164
191
215
202
195
203
147
137
106
114
203
206
137
197
235
231
199
185
183
112
167
142
124
147
185
134
91
96
116
110
127
166
123
102
61
20
65
161
181
160
121
100
44
69
79
56
134
113
91
24
76
80
86
65
95
42
44
38
49
52
82
114
139
139
64
58
66
69
66
129
127
65
48
97
102
109
57
110
98
93
52
112
113
63
70
78
84
65
61
121
136
91
86
129
76
79
86
105
111
96
83
88
138
129
119
129
86
140
127
124
120
113
110
129
138
140
151
169
173
163
157
160
153
151
152
158
111
107
144
80
48
95
99
113
129
137
136
109
67
78
89
89
86
134
133
156
158
88
76
62
74
67
68
69
75
83
138
66
107
127
83
124
115
67
67
62
90
88
139
89
83
120
59
54
89
132
94
83
54
60
121
120
125
78
74
122
121
131
141
91
114
146
128
78
104
91
33
31
29
81
82
82
76
25
25
78
33
86
78
87
90
92
90
43
50
102
96
54
60
111
110
108
53
60
57
107
56
110
57
107
62
62
63
114
115
66
74
65
121
65
63
122
124
66
116
113
67
68
70
77
97
169
132
137
123
74
80
85
92
87
90
92
91
83
90
153
144
99
97
80
67
68
85
53
95
91
77
77
78
67
111
60
94
84
86
106
162
158
84
151
84
78
156
126
201
216
209
168
170
181
200
207
220
198
223
205
170
126
130
159
138
129
196
213
208
182
206
178
203
124
76
124
108
159
140
63
67
137
140
106
58
161
115
121
67
60
76
59
155
124
74
77
125
114
31
43
22
11
99
128
134
132
105
114
60
100
34
72
13
68
71
70
17
11
80
73
70
126
125
63
55
61
57
119
139
153
104
70
118
117
115
121
128
126
128
140
141
84
137
145
158
118
125
157
156
96
118
185
179
116
98
149
97
154
179
181
176
147
154
162
165
159
112
124
163
160
162
110
161
165
167
132
129
128
133
136
75
108
39
142
148
142
135
78
79
136
116
72
80
88
92
90
138
131
128
140
91
74
63
112
122
70
74
85
151
154
116
116
114
66
74
70
58
54
58
71
63
114
128
90
93
94
97
152
96
129
112
59
67
128
123
79
144
128
73
74
76
63
92
135
174
130
75
40
36
39
42
88
83
84
80
83
88
33
79
80
85
83
86
40
43
95
99
55
57
115
66
69
123
125
122
116
123
71
123
122
121
68
68
63
64
66
65
62
58
55
52
113
114
62
66
70
68
119
58
56
56
56
57
68
83
135
105
58
54
110
70
71
73
76
125
129
155
110
116
95
99
143
125
114
114
113
112
98
99
92
89
80
10
24
97
70
81
185
176
103
74
99
67
92
104
170
209
201
231
197
87
176
132
141
203
185
228
210
192
192
184
218
147
106
124
218
220
218
210
105
157
198
141
149
151
134
192
102
84
140
105
111
51
147
135
99
88
60
118
57
108
159
102
110
107
111
135
148
78
34
0
79
89
88
156
151
158
61
31
100
86
8
74
97
111
53
31
129
132
85
132
121
69
62
119
110
58
75
145
154
147
142
137
134
135
127
118
117
125
137
140
156
122
134
178
157
139
89
163
121
120
114
110
95
158
171
132
204
200
192
129
186
186
181
183
195
192
171
176
200
146
103
136
88
129
164
176
95
114
105
130
109
121
95
139
130
134
140
133
78
73
71
92
138
78
133
149
141
98
108
101
97
89
117
129
90
139
126
125
136
131
62
62
66
59
60
68
69
74
136
87
138
88
102
117
115
101
93
128
97
38
60
128
135
91
140
124
125
72
116
78
164
190
102
138
137
57
103
50
48
38
30
25
77
73
73
79
33
88
37
40
51
97
56
51
103
58
59
64
67
119
69
73
75
126
125
75
81
132
125
120
112
65
64
114
60
59
61
122
62
116
115
108
53
55
111
113
59
59
58
58
64
131
94
92
56
49
60
54
50
55
55
106
114
130
135
83
88
88
80
124
122
125
124
110
115
101
86
74
71
80
30
35
84
72
164
181
75
66
55
130
127
142
116
161
172
223
217
203
190
174
138
139
115
160
218
213
205
175
199
211
185
198
133
162
163
151
156
130
177
148
133
142
156
197
75
103
72
112
130
110
60
146
101
78
47
112
130
129
102
158
176
157
142
130
148
109
75
40
48
94
94
118
121
108
91
58
1
24
25
26
48
63
99
62
17
157
162
166
158
131
131
128
61
106
54
119
83
91
137
141
135
131
131
129
125
129
85
87
165
183
161
78
127
86
157
160
104
107
116
122
120
108
158
156
161
199
159
164
174
158
202
203
197
193
208
193
174
132
59
73
90
106
122
102
125
63
125
138
152
116
167
104
152
95
145
140
127
139
140
138
85
135
125
115
62
122
133
87
93
160
146
87
128
124
123
116
115
132
140
145
140
121
63
81
89
74
71
119
123
78
82
83
136
85
97
75
69
64
48
32
108
102
47
93
89
93
38
62
174
153
158
94
82
130
122
109
101
44
36
32
87
83
30
32
34
38
41
45
45
47
44
54
49
49
55
54
59
63
118
126
134
87
88
86
135
85
84
81
78
120
122
69
119
115
61
113
119
57
112
111
106
51
103
103
49
51
106
113
117
118
121
73
91
82
45
27
26
46
67
44
115
86
150
100
95
140
124
88
97
95
93
148
140
96
137
135
103
94
91
80
74
46
173
13
82
35
44
58
64
87
97
116
150
126
215
198
198
188
129
197
194
124
167
168
204
204
189
156
117
175
210
198
153
161
157
136
137
154
193
121
160
134
23
75
75
71
152
103
115
113
130
116
109
31
88
119
146
98
110
170
142
73
82
148
92
67
32
28
102
121
114
89
70
44
51
34
42
33
50
73
58
61
34
27
160
152
96
94
141
85
77
65
115
121
132
87
85
72
74
124
125
130
136
141
147
99
99
93
138
138
101
110
102
149
156
99
99
104
107
104
99
152
103
111
186
145
153
147
158
164
161
210
161
124
123
71
96
170
169
119
116
70
71
128
141
148
143
99
171
183
139
175
161
157
154
155
152
150
150
137
143
143
129
72
112
53
60
119
131
149
137
75
130
139
138
132
124
68
127
130
128
74
72
68
119
73
128
131
78
78
81
88
85
82
67
68
61
53
54
121
117
115
57
106
128
145
195
179
131
111
94
84
80
64
104
98
45
40
92
41
87
38
38
35
38
43
45
96
96
47
55
102
51
55
49
63
66
119
124
133
86
87
88
84
84
86
86
87
77
73
72
121
116
59
108
109
56
58
110
107
53
104
101
44
40
93
102
112
118
121
72
64
124
143
107
125
128
119
101
103
96
87
92
142
135
96
93
77
57
50
55
45
92
52
85
72
36
42
58
125
103
155
104
106
84
93
43
56
89
85
170
141
143
150
164
158
96
138
133
118
124
131
149
186
200
162
170
191
210
116
198
218
203
163
155
169
177
181
156
140
88
98
120
119
183
167
143
160
132
154
191
148
111
109
147
85
155
104
128
108
80
139
163
129
121
106
73
62
124
79
97
136
68
81
35
20
32
58
53
58
52
37
30
152
86
82
88
101
100
93
88
85
140
144
93
137
69
71
73
78
85
94
100
103
156
133
138
163
125
123
114
106
151
97
90
90
95
102
105
100
106
167
122
124
131
138
144
156
170
168
189
127
126
138
153
180
175
107
177
172
38
84
112
159
153
159
106
102
179
187
166
154
151
153
157
99
146
151
141
142
141
126
70
63
56
110
116
129
153
147
141
140
138
132
130
126
129
133
77
73
73
69
69
77
78
125
127
76
69
61
56
62
58
72
79
70
71
87
88
83
134
126
117
141
162
130
163
131
108
146
105
62
61
48
45
47
97
96
97
91
44
45
40
92
45
47
45
95
49
56
103
53
56
99
62
116
116
119
126
80
81
85
83
87
141
141
144
135
130
128
125
119
113
109
56
56
58
109
54
54
54
50
45
40
90
42
49
54
112
116
110
71
80
85
150
112
119
182
128
173
109
87
74
64
88
130
116
56
109
114
52
45
44
33
40
60
63
73
55
71
92
101
122
123
100
83
134
137
71
110
126
142
138
148
159
155
202
148
134
144
194
106
189
217
236
123
212
194
177
207
227
197
149
160
154
168
182
138
183
90
79
129
143
155
152
137
147
172
150
104
128
173
154
137
50
84
116
123
122
130
126
149
98
81
60
47
75
84
76
92
62
63
131
36
30
45
62
99
101
89
88
91
151
136
132
137
94
153
155
101
94
90
87
136
134
134
142
92
93
94
93
87
127
118
151
173
181
133
193
135
115
106
96
114
121
163
158
164
156
104
101
97
97
173
147
156
138
99
66
73
205
216
191
170
150
155
165
86
53
100
148
94
96
90
132
88
112
118
170
154
158
163
156
103
102
138
146
149
149
158
155
148
131
129
149
140
141
132
131
143
149
137
125
131
73
76
158
156
79
77
85
76
64
120
133
136
128
69
71
78
141
100
95
138
79
136
97
111
99
145
90
88
158
174
182
140
120
156
110
98
134
113
48
43
46
48
53
110
104
60
61
103
101
107
110
54
91
49
54
101
103
53
94
50
52
103
106
62
120
121
80
84
146
151
149
153
95
88
138
134
127
67
61
58
106
105
103
49
50
52
50
45
94
94
46
51
56
116
71
76
81
92
91
89
138
140
90
141
141
83
61
74
93
87
73
66
71
69
108
100
51
45
40
85
32
41
43
43
39
26
54
127
58
91
153
178
108
140
125
110
126
104
87
157
158
128
142
126
116
135
85
159
207
167
161
150
148
215
165
177
209
204
150
151
153
157
150
187
76
96
128
62
117
145
176
134
174
178
159
158
108
130
86
178
65
78
103
95
135
177
143
136
116
80
105
64
65
146
146
45
37
47
21
91
92
45
51
96
107
123
99
159
149
137
133
91
98
102
109
156
149
145
146
101
108
174
151
84
141
155
112
171
179
113
172
126
183
181
124
118
109
99
149
154
157
165
174
174
121
111
115
148
176
157
62
67
85
112
132
190
192
214
140
132
161
115
61
97
99
108
110
155
156
164
113
160
162
163
96
141
146
154
156
144
140
92
94
142
138
78
102
170
153
128
137
144
87
59
81
155
162
154
90
70
79
81
138
144
92
91
97
158
162
159
103
105
102
99
155
150
99
154
148
144
97
106
116
108
106
107
100
103
166
179
140
129
156
109
82
54
106
51
51
53
54
54
56
113
61
107
104
110
103
47
57
97
97
54
49
100
50
98
44
48
51
106
57
113
114
76
127
134
144
147
155
105
107
154
144
134
77
73
59
106
107
53
51
107
112
59
54
101
104
60
64
113
116
70
73
76
87
139
86
134
133
117
68
68
66
77
78
75
54
66
66
65
77
81
133
131
77
120
110
104
102
44
42
34
38
50
63
144
160
146
116
140
194
119
145
140
117
112
110
128
144
123
118
125
145
107
155
190
224
144
135
124
215
209
219
143
133
143
161
158
140
144
176
130
176
187
59
130
176
136
133
131
125
157
147
123
81
73
95
0
121
187
126
159
117
82
128
138
95
45
126
109
109
10
48
55
44
49
40
84
101
41
99
103
96
76
163
148
135
133
135
90
98
108
157
154
155
161
113
110
145
128
82
120
149
195
178
173
171
176
177
125
123
121
120
166
104
151
157
160
163
170
181
121
111
120
127
92
66
70
90
113
123
168
114
178
134
123
113
78
98
124
162
113
121
117
154
149
156
157
150
153
159
152
150
153
153
150
147
152
162
145
138
87
87
104
101
132
120
84
88
83
127
127
86
152
148
78
81
93
97
103
108
107
105
161
167
160
148
89
146
96
147
149
153
153
101
152
97
99
103
156
99
103
117
108
162
176
123
88
79
153
159
84
43
54
104
53
56
58
110
111
60
60
108
105
107
101
47
52
91
98
51
45
93
43
42
96
99
101
52
53
108
110
73
70
126
136
145
153
154
156
154
93
130
117
112
62
61
111
107
106
110
114
60
54
106
109
65
69
120
123
76
79
80
86
88
140
133
128
69
72
72
71
121
118
115
62
65
60
110
119
125
127
79
81
133
130
127
122
62
56
45
50
65
84
111
171
156
120
160
129
124
133
144
140
122
108
126
132
125
129
173
142
105
141
171
206
140
180
153
206
225
191
186
176
144
151
161
152
150
120
126
128
146
61
96
123
122
130
120
176
149
147
150
141
113
103
22
46
51
87
92
44
70
124
114
170
137
91
69
78
59
19
92
47
101
86
79
91
32
97
97
94
93
153
141
133
133
85
94
105
113
168
173
171
159
140
127
139
94
102
100
97
101
113
174
172
170
164
156
104
110
116
167
164
164
168
175
183
193
196
175
102
89
86
98
109
91
86
79
81
96
170
165
99
81
68
91
119
160
141
97
134
129
140
147
96
156
169
188
166
152
143
140
138
135
132
136
142
139
97
110
113
109
99
145
152
158
138
84
77
133
137
141
147
156
115
109
109
104
93
83
79
81
136
146
143
84
83
136
141
152
160
104
152
151
95
90
85
153
96
100
108
145
150
118
88
131
81
92
144
133
57
45
43
46
51
104
105
107
106
105
104
100
97
96
42
91
82
48
100
98
95
96
49
43
95
99
53
103
104
109
59
66
119
122
129
133
147
156
105
100
140
128
122
65
70
64
56
105
105
106
57
58
105
110
65
71
75
131
135
133
86
88
83
131
128
77
71
71
74
126
126
129
133
115
109
55
60
117
122
122
126
128
131
81
130
124
119
67
71
76
79
78
83
141
142
160
96
72
221
96
189
137
74
122
146
179
179
183
192
199
199
188
208
217
161
202
194
212
217
181
236
207
179
171
212
183
181
163
124
123
136
85
122
155
172
165
136
143
131
153
107
81
33
112
94
42
41
68
104
67
84
151
144
122
135
167
189
140
55
49
76
61
72
65
114
105
97
88
78
25
88
155
158
156
93
104
110
110
104
149
147
148
143
88
110
109
113
120
127
125
117
114
114
160
152
147
91
94
104
110
117
113
171
183
187
181
171
134
128
134
147
128
129
109
95
98
145
139
146
167
158
125
119
147
163
145
140
151
152
155
165
185
153
160
147
128
137
150
156
155
149
143
139
143
138
137
97
115
120
109
110
100
150
152
146
82
134
72
80
132
74
77
92
107
106
108
156
144
82
81
84
85
141
147
92
138
135
88
102
154
107
101
96
145
139
133
66
125
80
131
148
172
140
91
89
84
78
73
125
103
36
36
89
93
95
93
94
94
92
44
40
84
85
36
76
78
38
84
88
89
88
42
41
90
92
45
37
88
41
42
51
98
99
60
115
132
136
90
93
139
131
72
63
122
71
74
125
117
108
57
64
117
120
70
73
129
132
132
142
94
94
90
87
84
137
141
90
91
90
129
129
81
71
114
66
73
122
73
81
125
125
130
136
138
137
90
96
149
151
110
118
104
129
110
93
131
183
180
210
198
160
173
115
119
189
172
168
182
190
201
178
195
207
219
196
127
160
162
170
204
155
139
130
192
192
194
89
69
80
129
69
103
150
171
172
209
190
160
142
190
127
125
120
122
88
155
172
139
120
95
166
106
116
178
173
162
209
180
141
92
24
17
31
54
100
107
81
91
107
109
109
117
114
101
111
166
161
135
131
134
146
154
106
182
117
114
125
136
126
103
149
106
96
144
89
91
99
161
169
124
173
135
144
185
153
121
115
126
150
167
188
131
102
86
152
160
163
174
173
151
110
150
163
155
161
169
163
151
167
175
182
208
236
172
191
163
157
99
91
82
131
132
130
74
74
89
106
107
92
108
147
89
86
132
132
131
129
135
142
145
93
96
159
101
106
156
92
135
81
82
81
91
96
93
140
85
89
100
160
113
104
147
90
83
127
75
138
140
130
141
162
177
146
90
81
72
121
126
100
35
34
36
40
93
39
89
86
84
35
33
74
25
27
67
23
32
24
81
82
80
86
91
87
37
39
81
78
31
31
37
81
84
103
105
121
127
86
146
143
135
80
82
129
134
140
86
72
56
52
57
66
70
125
129
135
139
87
105
103
96
146
142
82
78
128
132
87
93
138
139
144
89
128
128
77
66
118
127
135
134
85
89
139
136
139
106
110
162
168
119
104
82
123
112
155
120
135
154
143
161
113
154
173
220
175
213
179
119
124
91
165
189
217
188
188
179
105
120
192
212
195
145
193
189
155
118
93
86
121
31
112
224
187
178
194
208
162
183
117
47
117
146
118
62
146
154
58
139
144
130
206
134
101
176
193
252
212
152
97
22
5
10
32
91
118
84
98
114
106
164
123
132
180
99
87
129
147
92
100
106
155
158
124
123
117
109
102
97
104
173
138
160
167
128
125
114
164
113
127
140
127
96
76
84
154
165
158
161
113
108
111
113
126
121
170
180
193
156
86
96
163
170
165
167
175
171
150
149
166
177
170
121
124
111
111
141
140
139
83
133
136
79
77
78
95
97
92
87
84
132
129
143
156
139
149
140
89
143
93
91
142
153
163
112
101
91
144
96
98
101
107
103
100
148
93
89
84
142
144
94
94
95
96
96
79
133
121
137
146
185
127
96
87
64
100
100
104
116
94
92
37
34
32
82
77
67
20
23
73
71
23
77
77
23
21
73
73
75
76
77
81
77
24
21
69
24
36
35
31
85
88
87
87
80
35
49
111
120
128
129
83
86
139
139
85
85
80
68
57
110
116
68
70
74
83
90
101
102
149
148
148
146
91
95
94
141
134
125
129
134
116
115
117
115
55
56
114
126
78
135
87
88
87
138
141
95
150
152
106
110
153
139
137
134
128
116
106
69
98
147
103
107
98
97
96
93
123
117
107
153
104
115
166
182
186
156
185
163
212
227
217
204
196
193
172
91
105
153
66
127
224
163
205
194
187
163
88
102
132
154
161
166
113
136
136
123
53
114
124
169
114
129
181
199
235
199
129
118
96
80
32
50
99
81
129
138
134
137
109
158
151
148
164
172
123
154
100
104
113
112
111
109
108
106
104
103
150
144
89
91
101
156
155
90
91
119
143
225
134
92
103
111
113
115
162
170
174
125
129
133
137
120
183
188
189
188
148
135
148
150
146
140
154
126
140
115
100
94
94
140
146
165
176
110
99
99
145
134
127
127
120
114
115
75
74
80
91
148
88
92
165
177
149
145
151
99
100
96
89
141
113
118
164
105
104
162
110
110
168
159
97
147
96
149
147
146
149
157
95
89
93
94
91
157
124
109
99
157
197
164
152
88
65
45
45
51
123
101
98
93
37
32
28
23
76
75
19
66
16
17
17
66
75
75
75
75
75
76
24
29
82
77
75
89
46
45
112
104
99
96
39
51
51
44
95
89
90
104
118
141
92
96
99
98
94
87
74
61
69
146
118
183
175
104
88
96
97
147
149
153
151
149
139
89
144
145
90
89
140
139
85
141
89
83
83
84
81
137
144
148
150
100
103
147
99
152
151
102
159
161
107
153
136
122
124
82
93
155
152
103
158
109
109
108
106
102
169
122
106
88
91
96
114
106
147
155
138
123
132
47
59
105
110
130
66
48
63
65
80
76
86
96
84
85
77
93
81
123
132
149
159
177
192
108
99
121
154
114
128
116
189
196
193
192
99
37
20
50
65
56
32
79
106
90
84
48
122
106
155
152
153
167
165
158
105
104
112
117
110
105
157
93
87
83
86
87
92
99
105
110
159
149
98
122
196
201
123
99
149
118
125
175
121
121
137
140
132
175
121
127
182
186
187
185
131
95
88
156
168
178
179
185
194
143
118
108
148
142
149
163
167
159
147
150
100
92
132
129
133
124
125
132
92
91
99
112
170
155
100
165
170
147
91
151
155
159
106
100
98
169
167
176
115
151
150
102
100
150
142
136
87
145
148
153
156
160
165
148
89
88
137
131
85
105
95
82
147
201
122
105
89
115
99
50
109
119
98
96
91
36
33
30
76
78
77
73
68
15
17
16
12
22
75
75
75
74
22
22
26
81
78
80
97
106
52
113
107
52
48
94
48
47
72
122
58
46
43
42
51
33
55
83
103
105
90
114
90
96
69
94
161
168
117
117
126
117
138
133
133
79
129
154
99
148
97
97
92
140
152
97
149
97
92
146
150
97
148
97
100
106
109
109
154
151
95
94
98
103
104
155
96
131
122
132
94
99
101
151
150
150
149
147
145
145
149
152
160
167
110
92
97
119
164
165
119
102
146
103
94
97
128
116
126
120
57
119
117
91
95
98
94
74
81
117
77
67
122
145
153
145
120
126
131
95
160
147
138
163
101
169
146
107
54
33
91
16
3
29
110
51
89
97
97
90
51
115
106
126
147
155
150
147
146
95
90
141
137
126
75
98
80
84
93
153
101
149
96
99
165
165
114
172
129
115
139
96
112
170
162
160
164
112
151
213
143
169
119
114
118
190
178
171
174
116
104
127
205
192
170
149
149
163
125
121
116
109
161
163
102
139
131
135
139
150
154
150
145
146
130
148
108
96
100
111
168
174
154
101
162
155
147
145
83
88
97
158
159
105
162
124
172
159
147
94
90
136
136
132
87
145
138
78
84
149
153
144
146
93
134
126
125
144
140
81
90
139
187
163
100
142
119
53
53
107
59
46
95
39
35
33
81
77
69
74
76
73
70
21
74
74
22
23
23
23
74
72
19
23
77
80
36
43
100
103
106
52
55
54
47
48
46
83
87
37
44
57
62
62
57
53
46
35
82
83
83
82
80
51
61
108
55
117
76
83
79
137
107
136
157
166
161
210
153
145
177
172
170
170
114
116
117
114
116
167
125
124
121
121
121
122
123
166
163
107
102
151
100
105
163
160
162
155
99
97
106
121
139
137
137
134
134
141
152
159
156
157
161
162
96
91
91
94
151
101
107
157
148
90
91
151
146
71
66
134
142
129
150
93
77
78
76
83
61
37
86
152
141
128
119
116
32
81
112
168
160
128
34
21
48
49
42
66
4
19
46
79
73
105
125
139
113
109
59
98
93
71
121
133
150
148
151
152
86
153
162
157
90
86
99
84
87
93
98
101
161
166
111
123
112
155
150
148
155
171
121
162
177
137
136
126
123
125
174
167
112
126
182
181
197
232
214
158
92
122
182
186
184
164
142
153
179
181
155
152
89
77
76
86
94
97
92
149
153
148
141
153
101
167
102
99
110
116
117
162
151
92
93
151
154
97
154
136
135
80
89
100
148
113
121
116
163
155
144
136
92
157
160
132
141
168
162
155
150
147
89
146
156
144
129
76
140
122
115
109
143
189
177
97
130
118
55
45
52
66
48
97
97
42
86
26
23
19
78
81
77
73
74
26
81
83
23
24
24
21
75
28
33
27
79
94
89
30
27
27
103
113
58
55
46
59
108
46
94
98
49
105
132
73
128
131
127
119
121
138
155
157
162
168
116
103
132
61
53
110
66
74
81
79
71
53
109
58
53
55
57
54
110
106
117
89
99
92
145
78
74
64
61
63
61
113
117
127
94
106
104
101
100
147
150
170
130
111
98
119
123
157
201
205
202
203
173
192
176
204
213
196
163
154
154
144
110
89
99
126
106
71
111
160
156
150
137
134
144
149
115
126
132
59
61
52
26
0
55
125
142
125
95
124
128
110
75
76
93
69
56
19
110
64
115
103
69
66
80
59
75
49
19
88
96
102
75
84
117
127
81
84
96
154
88
97
106
115
164
103
147
96
102
102
103
91
91
99
99
100
156
107
127
117
152
150
160
174
187
111
159
174
177
170
108
157
118
121
121
116
113
173
178
179
171
155
98
154
137
149
160
156
154
152
148
140
138
151
148
92
94
103
110
108
100
113
119
128
114
142
100
110
99
101
106
94
87
88
137
147
91
144
149
151
145
96
93
137
129
80
89
92
176
169
146
133
141
158
164
108
153
210
228
225
197
165
168
177
178
130
120
161
152
152
104
160
97
92
128
136
189
132
105
134
114
51
103
113
114
109
104
100
98
95
88
33
27
24
22
77
87
94
39
34
30
33
33
31
30
87
94
88
87
36
41
40
91
41
90
98
99
45
47
50
60
62
58
52
50
56
113
104
110
109
116
126
137
145
150
153
159
155
152
95
84
70
58
63
73
77
71
120
70
124
126
125
68
65
61
46
31
41
49
59
68
127
134
145
115
65
114
59
59
53
52
60
59
51
43
52
71
79
124
126
175
145
145
197
163
158
199
179
187
163
204
228
207
180
197
209
179
113
151
164
129
117
111
99
113
134
108
189
209
202
173
85
140
176
180
136
118
115
80
64
13
0
120
81
94
82
99
107
128
90
103
51
49
116
40
24
27
70
88
88
27
91
121
70
80
96
72
49
59
112
111
87
77
91
115
86
86
94
96
88
150
106
88
91
91
144
149
105
110
103
144
94
101
101
154
165
125
156
120
143
146
163
170
170
151
156
126
177
169
107
104
112
116
116
110
108
116
120
182
168
154
154
161
88
146
149
145
141
135
81
135
141
158
153
147
146
151
103
103
100
105
128
147
181
143
89
95
101
100
100
81
79
82
81
146
88
135
83
87
143
147
143
135
129
80
138
143
167
154
150
95
149
148
92
144
148
251
235
218
200
164
170
204
201
187
158
104
107
105
97
103
144
89
71
84
190
136
104
136
64
53
105
112
116
112
52
99
97
97
93
87
31
29
27
30
39
99
96
36
34
40
37
83
29
34
40
88
91
94
45
46
50
106
103
102
47
47
48
100
52
54
109
107
50
53
62
107
57
60
67
78
138
139
137
137
147
146
146
144
86
76
70
69
75
78
75
74
77
82
63
62
59
58
55
96
86
42
55
66
72
131
138
73
114
118
66
64
61
54
53
66
75
62
48
74
109
100
117
98
128
153
153
149
165
164
170
196
218
221
190
189
154
159
94
131
168
180
179
190
149
185
180
155
99
128
178
168
165
150
99
138
138
165
150
88
81
93
67
59
17
9
37
108
113
123
105
88
91
130
87
90
39
65
60
58
48
81
96
77
63
80
114
132
146
90
60
102
61
115
115
114
106
101
110
77
81
96
160
157
152
92
76
91
106
166
168
113
99
79
136
148
100
93
97
109
167
119
111
101
155
157
155
152
106
165
176
172
163
104
100
166
113
108
103
110
114
116
182
176
111
148
142
98
145
150
104
99
86
142
157
154
133
139
146
99
96
141
140
92
132
130
138
121
138
133
130
130
79
84
91
150
96
83
74
73
73
76
79
135
135
147
142
146
151
148
94
144
150
147
148
153
154
108
178
144
224
226
214
173
140
151
154
139
71
80
82
96
114
120
101
81
71
58
86
136
128
98
90
69
53
104
108
123
107
50
45
44
42
90
88
87
90
93
42
40
93
94
40
29
39
36
86
88
40
42
81
35
40
44
50
107
58
59
101
51
112
111
107
51
103
107
53
44
89
39
52
31
39
54
65
64
58
57
109
115
119
119
111
102
93
37
54
49
58
64
59
48
37
55
52
51
51
46
99
51
53
54
108
67
142
160
146
139
86
78
122
64
54
103
158
101
151
166
125
166
170
200
207
153
162
170
164
170
171
175
153
164
168
178
208
212
241
169
153
133
143
157
144
158
198
207
197
177
165
168
154
82
119
169
108
122
89
116
75
88
96
96
90
30
43
126
97
154
97
74
84
90
76
9
61
87
87
95
107
161
175
168
115
82
90
102
111
142
125
72
146
80
108
97
95
91
101
122
86
98
117
175
160
107
157
163
155
98
164
191
147
103
122
88
110
119
126
133
123
150
88
78
88
108
116
165
167
137
135
176
175
129
136
139
134
138
134
121
111
122
131
139
115
101
154
99
153
156
145
136
83
90
142
137
139
134
86
100
117
121
163
150
143
103
85
89
142
136
139
129
139
87
84
123
130
131
70
73
75
76
79
85
90
89
158
95
93
90
78
78
80
115
123
87
100
150
138
77
77
124
66
87
130
117
140
141
160
89
128
111
85
76
67
93
128
121
107
82
136
186
154
142
113
99
56
113
117
106
51
48
46
40
89
91
36
38
92
41
96
99
96
90
39
42
38
38
41
40
88
95
48
50
52
57
109
105
72
107
107
114
107
53
49
116
107
50
53
51
44
101
88
42
56
73
82
82
80
131
125
80
133
131
128
129
79
75
72
86
90
80
65
57
47
35
31
37
41
88
34
50
50
110
73
137
85
124
83
77
66
113
65
65
120
121
143
141
83
99
154
139
134
150
113
118
100
59
59
78
82
124
150
82
73
132
164
70
155
118
100
100
130
148
175
111
152
146
105
141
117
118
171
161
200
170
116
69
63
77
69
61
85
21
13
129
107
138
143
117
108
90
111
113
31
65
68
17
28
48
64
160
102
88
111
87
110
93
112
61
105
136
67
70
146
88
86
98
94
83
102
172
180
179
129
181
175
167
155
152
154
153
135
85
90
93
153
119
133
176
107
85
143
142
88
87
89
90
113
158
152
175
189
136
132
132
127
125
124
131
130
118
135
125
112
155
151
152
103
96
146
141
86
88
144
92
149
144
104
123
175
102
84
79
132
87
144
143
143
143
140
130
136
129
141
88
79
80
79
105
103
87
92
113
118
124
117
106
97
91
86
79
82
83
83
83
136
136
80
75
73
70
71
131
144
101
156
151
109
138
132
111
111
133
199
130
161
139
126
160
184
162
132
113
57
55
105
119
102
95
92
90
37
94
103
48
49
50
104
104
102
101
100
43
40
40
38
35
35
89
95
50
50
50
55
110
116
118
115
113
112
61
55
51
105
52
56
108
48
46
98
35
51
66
74
130
81
81
131
76
75
83
93
98
104
106
91
92
123
123
120
118
115
117
156
163
152
147
97
133
125
94
102
165
115
120
166
103
80
69
62
95
97
127
167
102
161
177
178
170
154
80
162
106
88
85
111
114
130
168
182
170
111
127
220
125
146
245
167
145
229
165
193
188
134
191
197
147
187
89
65
146
148
73
122
98
6
66
57
69
7
123
12
48
42
72
128
167
135
127
103
131
112
113
6
46
8
50
48
82
81
144
90
121
109
53
115
125
55
72
112
113
150
132
90
91
100
117
106
109
160
109
122
179
180
143
189
177
163
155
150
135
145
102
98
81
71
75
83
136
145
139
137
145
103
107
107
141
156
170
167
157
153
160
114
117
123
132
143
185
120
144
144
144
140
133
125
127
121
111
99
99
159
165
157
95
86
84
145
149
96
100
107
95
99
157
158
157
154
94
152
154
95
98
99
99
107
119
112
97
90
97
79
120
128
139
86
77
87
164
107
155
99
97
145
142
141
144
147
143
91
95
153
103
152
148
93
97
100
113
120
173
176
171
176
132
122
179
205
183
158
80
62
56
103
101
60
35
33
41
101
52
56
108
51
51
51
50
101
100
98
97
96
90
93
44
42
40
92
99
53
103
49
49
100
103
113
61
62
116
117
60
57
108
54
108
107
100
97
94
50
119
83
134
129
128
128
128
75
76
78
124
62
113
67
77
90
112
102
94
100
109
133
78
124
103
108
110
111
110
121
118
124
75
84
88
115
111
151
148
151
138
129
158
103
149
138
141
168
187
133
157
149
171
189
177
134
109
154
250
248
199
210
186
186
157
133
106
168
198
142
194
195
170
168
166
124
189
167
107
80
52
67
90
95
45
1
69
68
128
18
70
12
31
35
122
89
81
119
130
104
47
96
105
116
11
45
102
100
63
123
69
67
58
58
117
141
73
51
39
41
109
108
13
79
115
126
122
125
122
111
100
107
113
158
166
118
168
169
172
163
112
91
83
93
93
76
76
142
148
153
154
155
156
154
151
154
161
165
158
144
138
95
139
142
141
148
162
104
105
126
133
142
194
131
112
114
112
116
120
118
170
166
108
96
104
115
115
108
105
114
124
114
110
112
164
167
168
164
102
100
101
90
129
69
65
65
70
82
142
138
91
154
147
93
150
159
102
89
87
77
71
71
133
145
150
150
149
107
162
162
154
146
148
155
92
94
112
159
89
145
170
164
151
143
131
99
141
188
143
124
111
107
101
104
114
107
52
57
59
57
56
103
104
51
50
46
45
44
94
93
91
89
94
97
96
94
94
99
51
99
98
47
45
46
53
56
61
65
68
70
122
54
51
104
104
99
98
40
50
129
97
96
86
134
126
119
111
67
74
66
52
53
115
125
122
63
79
82
72
119
126
75
124
102
98
99
104
113
109
96
52
64
79
87
98
100
79
125
144
140
125
93
89
145
152
92
76
140
171
142
154
173
184
143
164
138
186
212
238
255
206
126
170
170
168
140
151
144
196
188
191
144
187
169
211
217
117
138
167
147
132
177
100
89
77
98
24
63
13
31
12
8
25
9
35
125
95
111
147
122
118
109
83
82
65
91
97
63
69
66
72
77
94
151
77
71
129
108
56
85
76
9
92
109
98
118
127
128
119
108
114
120
118
121
166
152
148
153
148
148
76
71
83
89
82
83
147
148
150
149
101
160
166
168
163
162
161
161
99
142
145
100
106
153
153
154
143
97
117
123
131
131
121
105
108
160
171
179
179
120
117
168
103
112
117
110
103
104
112
121
110
113
116
164
166
169
113
108
147
89
84
136
90
94
97
88
143
145
138
138
84
139
137
152
168
108
82
83
77
116
107
63
77
86
146
152
105
159
157
146
135
137
146
89
91
94
82
67
129
157
74
118
116
100
61
123
140
138
71
112
107
102
106
116
104
102
107
56
52
49
49
94
41
38
87
86
33
31
32
86
89
41
43
92
92
93
44
47
95
97
101
101
51
55
58
61
115
64
67
69
54
50
52
54
51
103
46
111
84
154
150
88
81
121
109
61
65
72
66
52
50
58
102
115
120
133
80
70
123
124
66
124
108
110
126
128
101
111
109
114
58
60
78
109
106
87
128
139
142
84
88
133
140
157
148
69
75
114
191
68
78
155
109
121
129
245
218
216
209
120
122
243
153
183
149
89
145
183
183
199
157
148
157
178
123
81
153
201
91
101
195
126
119
124
121
105
78
55
34
18
27
47
32
44
67
89
142
129
120
108
117
103
66
65
72
105
115
73
123
68
77
93
81
96
90
84
84
91
85
41
29
88
92
97
117
118
116
163
166
117
117
113
117
113
105
109
122
168
181
201
137
88
117
84
102
97
89
82
135
148
159
161
156
137
137
102
161
96
130
126
150
109
106
105
158
156
175
176
127
132
187
131
128
133
188
191
187
174
111
104
158
152
103
100
99
155
161
152
88
106
133
140
133
127
125
120
90
128
134
99
103
107
105
105
156
110
155
146
169
165
166
176
182
173
157
150
118
125
120
169
168
109
156
164
179
172
114
116
163
148
135
132
124
147
73
77
93
87
67
134
126
77
73
82
184
191
140
76
66
110
103
105
60
106
109
117
114
103
44
43
94
91
88
35
33
33
34
35
79
90
41
36
31
85
91
89
39
86
45
55
111
115
77
129
127
70
117
116
67
57
53
56
60
113
116
112
115
136
147
89
83
136
74
114
113
106
63
64
50
45
103
118
76
56
70
74
69
76
82
70
101
96
56
65
88
107
108
107
77
93
98
87
88
83
84
130
124
136
145
141
142
136
132
131
74
98
138
70
105
93
123
210
209
144
152
142
187
179
146
195
136
155
132
125
114
160
192
139
164
88
128
136
212
175
123
170
81
67
167
112
59
103
124
134
170
155
130
133
126
74
38
36
87
61
58
100
146
145
99
114
109
79
75
99
107
102
126
128
48
57
50
92
91
86
137
72
67
56
6
86
90
102
110
110
106
111
163
140
150
109
120
117
102
151
118
129
190
137
186
108
84
142
101
97
95
133
129
134
146
156
157
156
144
146
164
172
159
144
143
100
162
124
128
165
164
161
98
98
105
165
123
132
117
174
178
173
167
119
125
178
174
118
108
106
163
112
167
178
110
99
93
91
91
92
143
132
131
83
137
137
139
136
87
104
106
88
132
151
156
170
168
155
145
145
147
102
153
161
113
104
94
137
128
68
124
73
67
117
130
141
138
131
78
84
88
88
83
78
79
84
69
72
88
195
185
142
132
64
52
48
101
59
53
105
51
102
98
96
42
44
90
93
93
34
34
35
82
81
37
88
87
88
35
33
38
95
95
101
63
121
118
123
77
80
77
74
122
66
125
121
66
120
123
122
117
113
146
153
89
88
82
73
73
121
128
72
64
63
69
78
80
89
84
85
95
100
96
96
142
139
82
73
68
109
117
149
157
105
81
46
70
76
72
98
123
140
100
182
85
166
195
133
128
127
172
128
118
89
55
104
188
128
211
201
212
215
138
150
212
159
166
166
215
175
118
199
194
94
74
148
184
169
111
96
147
90
140
170
76
109
92
128
39
58
120
142
126
172
175
105
62
96
69
70
111
150
105
97
64
48
66
42
29
61
116
118
71
78
79
103
69
137
143
152
73
139
47
39
143
112
173
138
105
105
104
92
134
103
118
166
108
148
100
120
124
187
186
114
91
87
101
104
150
98
94
140
148
157
158
160
165
153
149
139
138
129
73
79
95
170
181
118
167
114
154
112
120
127
131
142
136
154
101
161
163
110
115
115
164
154
152
88
81
142
151
152
102
93
93
95
95
95
144
141
133
129
144
141
97
100
128
135
108
101
78
131
147
153
171
157
138
129
131
75
90
158
157
93
74
69
76
126
114
78
121
58
52
112
119
115
66
67
77
133
132
74
68
81
74
115
70
92
204
182
143
131
115
51
45
45
108
102
103
50
100
97
93
93
49
43
91
91
89
38
37
31
87
91
90
92
94
91
35
41
96
97
103
115
121
119
123
76
80
79
129
127
124
128
71
120
120
119
65
70
62
149
109
98
143
82
71
69
73
132
123
64
69
80
87
81
95
96
92
93
91
85
77
78
127
114
117
127
124
139
148
131
67
49
33
76
95
84
93
123
157
123
202
180
188
181
146
205
165
137
107
125
91
89
96
173
149
187
191
197
228
161
169
166
209
192
157
225
148
121
189
150
108
108
187
170
209
143
89
100
158
122
131
100
165
147
138
157
130
67
101
124
82
101
135
102
86
71
117
123
102
70
91
79
63
133
50
26
60
50
107
68
73
131
139
139
95
119
177
86
88
67
68
111
122
162
67
81
83
85
87
161
165
102
116
113
162
170
174
107
126
124
93
79
98
118
172
170
122
163
162
108
146
127
126
137
87
146
155
160
159
111
120
113
135
178
150
171
123
167
94
94
105
111
102
83
78
80
143
150
105
108
152
145
177
180
170
110
114
166
97
82
100
87
85
86
87
92
149
143
167
171
162
105
90
84
89
80
72
86
97
81
168
137
128
122
74
74
73
125
154
120
145
143
93
84
130
133
122
117
114
112
66
69
64
62
112
106
104
50
48
46
99
94
92
50
89
208
174
95
135
118
101
43
45
107
102
51
51
51
50
102
103
109
98
42
42
93
45
46
92
93
42
43
98
101
97
39
42
95
95
104
62
119
69
70
124
75
77
129
75
129
129
71
120
69
67
66
140
86
150
103
98
95
89
78
119
76
71
61
60
65
68
64
153
159
104
96
87
74
62
106
111
112
107
139
153
145
113
121
121
81
82
77
88
106
120
122
171
151
127
122
171
122
155
84
112
96
131
74
80
98
118
82
87
202
188
116
168
195
158
128
129
212
180
173
239
147
163
151
159
78
145
176
161
107
128
190
116
198
145
109
76
87
138
125
94
79
121
111
69
50
118
36
73
83
93
158
175
164
111
95
64
64
100
119
97
67
48
50
113
114
78
106
115
105
126
119
114
110
82
44
86
91
122
116
93
93
94
89
140
158
168
151
151
146
101
113
164
179
134
131
139
142
135
135
130
166
147
157
108
101
92
137
134
133
141
151
158
160
158
163
124
180
168
161
165
147
93
89
140
94
97
93
93
89
99
153
151
149
148
144
146
164
157
145
145
100
98
94
97
81
87
100
155
94
140
140
155
159
157
151
144
142
144
86
90
99
88
74
101
83
75
124
116
60
64
76
137
126
92
117
64
63
105
51
112
102
104
55
57
66
78
83
69
118
109
107
108
112
115
63
120
102
56
121
213
171
147
133
114
46
40
97
108
104
105
105
52
50
48
49
104
99
100
48
98
100
104
102
90
46
45
44
45
44
42
44
43
96
110
118
125
77
134
133
134
85
135
130
134
135
125
121
73
127
126
148
99
101
157
103
98
151
96
138
133
83
84
78
65
64
124
135
148
100
83
120
60
58
99
95
99
110
72
115
96
133
124
61
73
82
96
105
183
112
73
138
190
140
178
127
188
161
179
179
162
142
159
132
111
116
101
106
94
68
153
179
117
216
154
208
230
161
186
181
208
137
168
172
183
186
171
185
91
157
102
149
118
130
50
105
155
168
85
133
137
186
134
176
72
43
84
75
75
26
72
168
129
164
176
121
114
121
95
50
38
45
54
125
141
86
86
188
116
117
87
163
80
64
120
65
76
109
94
84
80
86
90
90
97
151
148
152
152
112
131
131
120
136
140
141
126
104
103
154
135
153
103
102
103
109
109
156
143
101
116
176
177
172
172
191
184
166
163
109
141
95
87
89
93
89
94
102
78
143
148
151
153
99
141
136
163
152
143
143
91
81
74
78
78
73
82
89
139
141
97
112
146
149
145
146
155
95
101
82
84
86
81
109
70
78
129
69
115
64
70
107
77
65
61
68
72
119
57
104
105
61
65
61
60
63
64
71
69
59
108
107
110
112
105
111
86
42
122
203
155
144
132
60
44
91
94
107
109
109
109
106
104
50
49
49
47
102
103
99
101
53
52
88
47
45
43
43
43
42
40
38
92
108
115
122
76
136
133
134
85
82
128
132
74
115
112
120
126
75
99
151
102
111
109
101
153
154
95
127
72
87
143
79
69
68
138
155
156
128
104
95
96
93
97
107
109
96
104
110
103
117
78
92
136
136
154
121
120
74
174
151
127
138
172
147
203
204
203
174
181
150
109
124
93
89
109
99
114
174
147
68
225
75
196
171
199
192
107
150
176
144
138
185
164
110
111
102
158
108
158
131
125
87
179
160
104
66
163
154
180
131
136
105
96
55
62
26
30
99
179
163
172
122
106
98
140
112
52
49
107
51
63
140
139
142
93
102
159
66
163
95
67
47
75
138
94
60
79
92
97
96
90
95
116
197
194
129
119
120
116
91
80
78
83
95
100
154
159
167
102
108
165
169
167
111
106
97
103
109
171
179
187
196
190
165
150
155
103
146
143
66
72
130
134
83
136
136
147
98
96
144
141
144
149
151
144
89
88
82
74
77
85
82
91
91
93
99
101
151
148
96
96
149
150
96
95
90
87
79
127
137
92
76
123
130
80
76
77
82
76
53
52
50
54
65
66
114
114
124
130
133
80
75
69
65
119
126
142
86
124
108
45
47
45
54
111
185
144
147
125
65
59
56
105
56
53
110
113
113
110
110
113
58
56
54
54
55
105
102
52
56
110
115
113
111
59
56
54
54
105
105
113
118
72
81
137
78
80
133
81
141
73
80
137
134
130
127
124
99
162
110
110
162
157
150
91
90
129
126
129
74
64
114
70
55
92
154
132
87
165
105
115
129
82
61
96
60
116
119
82
91
139
91
102
118
88
94
140
190
199
193
195
166
123
87
98
137
157
161
115
126
167
150
171
154
136
170
156
134
107
158
133
175
174
143
82
119
179
128
123
145
126
108
90
109
134
131
155
100
80
97
88
67
104
130
107
130
187
191
206
191
147
102
164
139
82
169
183
168
125
174
79
69
52
46
101
159
158
150
147
131
112
118
163
113
119
100
60
109
101
63
114
118
81
131
95
29
94
54
116
128
139
151
146
139
135
128
121
69
85
127
136
103
116
171
165
162
162
112
152
148
152
158
161
111
98
94
100
102
158
160
157
156
103
97
146
155
155
151
136
84
85
142
92
141
140
145
95
92
83
77
78
82
135
142
91
84
83
91
94
146
142
90
90
96
100
93
134
139
87
85
131
131
80
80
84
85
87
93
147
77
121
120
119
114
57
57
61
56
50
53
53
55
63
62
112
114
128
132
136
84
79
72
66
125
126
128
74
70
66
64
103
56
59
116
180
126
88
128
69
68
116
110
57
64
59
62
116
117
117
115
111
108
54
55
57
56
106
56
61
104
59
109
107
107
55
53
52
99
97
52
57
69
131
139
89
92
92
88
139
136
86
84
130
125
77
130
154
165
119
173
167
160
105
106
161
137
128
128
76
127
77
134
97
85
85
89
129
126
64
96
116
53
64
111
123
91
142
142
141
130
71
87
100
138
164
163
157
176
181
159
135
177
145
135
169
184
170
111
123
59
65
140
124
95
152
145
111
123
130
141
168
162
101
100
189
194
198
146
117
156
174
106
103
87
97
93
105
95
146
163
111
108
131
108
94
180
167
138
142
127
125
131
118
56
58
94
55
56
100
55
54
53
30
20
88
96
113
129
150
157
103
55
120
118
66
99
128
82
33
95
112
73
123
131
121
120
123
127
139
143
144
150
133
118
105
102
68
110
115
125
86
99
159
160
112
115
105
156
157
104
102
100
97
101
94
106
110
112
162
150
139
94
94
87
139
90
141
85
81
83
141
143
141
143
100
158
107
99
92
91
94
137
94
96
139
137
142
93
139
144
131
90
93
83
127
128
134
83
84
77
75
126
126
126
75
79
137
139
131
128
125
66
109
106
109
60
48
49
106
56
110
114
110
105
56
76
76
73
68
66
69
73
65
69
78
77
123
115
58
56
65
67
124
180
119
85
130
122
68
69
112
111
67
63
63
64
117
64
112
107
111
108
55
56
54
103
52
56
103
57
54
104
104
52
51
50
99
97
50
59
124
135
81
137
138
86
86
82
136
138
132
124
68
126
133
105
110
118
173
113
104
100
154
155
137
132
129
129
76
84
145
93
97
89
67
93
58
77
58
121
153
125
126
136
112
101
77
59
104
116
160
153
133
105
84
194
183
88
87
144
101
159
176
161
171
190
169
163
118
194
179
116
93
156
152
108
82
142
204
203
157
175
199
189
140
196
148
143
176
106
104
130
85
127
103
86
157
200
116
78
152
97
133
112
161
157
134
141
127
124
74
168
150
123
122
55
60
120
73
31
2
77
76
105
100
110
60
91
117
180
146
117
103
46
132
111
128
41
56
58
72
68
68
145
140
93
98
113
172
160
152
139
136
138
147
172
140
110
58
63
71
82
93
97
98
108
100
147
95
94
92
89
141
91
137
137
195
197
181
162
99
86
80
132
134
137
131
71
120
127
79
76
131
136
149
160
107
103
99
98
148
153
106
104
152
146
142
140
138
136
86
77
62
112
120
129
79
79
69
120
122
125
118
72
70
118
124
141
134
65
62
60
58
108
103
43
110
63
64
114
114
111
112
120
124
67
61
58
59
116
121
75
67
48
49
110
123
132
65
78
125
75
130
168
151
83
67
63
67
118
115
119
119
64
63
65
63
59
107
61
110
109
109
54
50
50
54
110
112
56
105
105
52
50
50
44
95
100
54
116
73
89
91
140
90
99
96
156
92
142
133
78
133
131
87
88
153
163
110
108
109
159
153
135
131
79
81
84
137
88
82
81
104
70
131
95
98
150
146
187
116
157
152
134
99
82
90
106
157
112
133
140
121
201
213
162
129
153
113
87
150
169
107
167
189
187
161
220
158
149
180
162
63
161
129
137
222
218
217
206
189
149
177
185
205
149
143
133
143
152
53
58
108
61
100
166
135
84
84
71
100
153
197
179
147
147
151
143
123
138
194
142
137
94
153
75
60
15
58
61
72
43
82
100
70
67
90
86
83
188
193
163
115
94
46
35
28
45
48
78
82
71
192
170
154
93
63
61
73
84
140
152
146
148
182
94
70
83
142
143
149
153
156
163
113
116
112
103
144
140
149
110
131
218
146
152
219
213
161
153
160
128
164
141
129
63
59
66
128
124
54
66
72
88
92
146
99
94
138
87
89
141
142
148
159
170
174
174
168
147
67
102
106
116
128
77
76
72
130
134
135
136
144
76
68
138
133
80
77
76
127
76
77
129
125
77
71
68
68
67
117
67
122
64
60
62
63
62
65
71
52
94
101
105
101
104
114
109
114
66
67
145
160
93
87
79
57
75
129
114
133
119
123
68
66
68
64
109
60
57
111
110
104
52
55
104
56
96
49
51
98
50
38
44
39
93
94
53
72
83
87
134
135
143
98
103
107
98
99
78
62
126
74
54
135
129
121
116
117
73
135
146
120
124
135
138
82
102
140
171
146
181
145
92
119
115
131
126
127
116
80
133
128
129
95
104
176
129
119
121
113
173
156
200
212
172
119
70
130
177
150
152
128
157
206
211
157
157
220
222
72
122
177
255
138
210
187
197
160
136
161
91
71
103
185
177
202
196
102
161
177
160
152
170
147
173
66
109
94
135
161
198
166
165
132
133
64
80
230
136
188
196
101
126
111
98
32
23
77
108
87
99
99
38
70
87
71
107
104
192
140
192
165
129
90
65
24
79
99
92
97
150
149
146
139
131
135
88
77
81
146
151
109
194
140
72
86
92
145
147
148
146
148
111
107
157
155
155
162
124
123
118
161
147
163
188
185
150
162
165
150
76
68
109
117
62
62
115
108
101
111
122
80
83
136
91
88
86
167
166
163
161
166
170
171
168
175
126
111
112
116
122
127
121
71
71
70
77
80
81
73
134
73
71
141
135
81
70
125
78
82
81
77
116
62
58
58
60
59
108
58
62
58
53
57
60
59
57
58
101
94
46
48
98
48
53
108
107
55
111
199
157
83
83
132
115
128
78
66
76
120
123
121
66
68
63
108
54
53
56
57
106
106
53
100
102
97
51
48
91
47
42
45
93
94
94
102
66
127
89
83
128
125
74
73
72
64
75
71
106
91
92
155
158
156
150
141
127
114
103
98
109
116
125
141
181
140
107
147
158
169
158
116
128
125
127
128
129
110
74
79
130
126
138
95
161
111
114
91
91
121
116
189
183
103
115
92
144
185
148
139
206
215
211
139
192
172
215
93
73
142
181
214
171
110
189
120
153
126
195
192
140
155
130
193
165
192
172
170
179
134
94
146
185
152
72
141
107
131
161
195
179
166
120
130
126
97
137
142
185
172
135
128
131
103
100
58
48
87
77
92
37
51
65
74
92
122
168
175
69
120
211
165
108
76
27
91
104
96
93
164
160
149
136
86
149
154
106
110
115
123
142
153
66
62
77
141
147
155
101
147
147
176
127
180
126
164
153
102
116
159
118
177
181
169
94
111
142
127
73
119
73
86
143
147
140
74
121
87
92
150
153
100
96
95
145
95
90
91
141
138
138
137
134
127
137
137
143
144
136
126
67
77
78
75
67
119
62
57
63
69
70
77
140
131
78
72
73
73
123
122
70
71
63
60
59
58
54
50
54
61
61
60
64
122
125
72
71
62
66
63
65
69
66
112
93
91
90
101
207
159
71
80
84
130
74
70
71
62
116
121
119
65
66
59
101
55
52
94
87
94
103
106
105
100
48
54
43
77
35
91
41
43
42
93
95
51
115
112
68
71
123
82
114
111
118
152
99
98
92
156
155
174
113
96
80
125
124
127
128
82
65
76
125
121
87
147
120
178
174
185
169
168
151
151
142
120
92
97
93
124
135
147
134
140
107
115
96
147
167
100
140
149
180
181
149
197
194
202
164
152
190
149
167
168
214
141
102
97
82
59
169
158
183
118
162
207
208
224
168
156
138
112
158
207
165
201
157
125
111
139
189
178
51
132
152
149
149
120
155
183
140
41
80
114
38
89
178
115
146
169
149
104
67
46
59
74
95
32
29
41
31
105
77
91
122
84
45
48
111
155
151
184
157
148
63
83
80
52
167
147
143
158
154
144
95
155
166
109
110
133
133
71
92
151
152
151
153
152
143
90
93
93
98
105
105
155
160
128
166
154
106
158
103
103
90
97
150
140
99
153
147
137
91
140
75
69
76
76
90
143
152
105
99
152
157
87
89
139
136
136
142
148
150
100
83
129
123
121
124
129
135
136
137
91
97
96
91
81
76
76
134
130
119
123
63
69
75
129
127
72
70
58
51
48
49
51
53
111
117
75
127
125
125
127
75
72
65
65
68
70
70
121
118
109
64
120
124
216
112
74
133
76
78
63
60
70
121
111
117
118
118
67
59
99
91
52
100
93
51
52
93
89
90
41
45
100
99
106
93
89
44
38
44
96
48
66
130
141
94
141
90
111
167
177
178
125
171
171
131
160
134
87
88
141
145
149
145
135
112
71
89
99
105
107
156
96
155
191
176
178
138
132
149
144
166
80
74
75
124
154
163
141
152
125
108
121
68
93
145
160
132
132
133
192
175
134
159
132
159
180
183
176
204
184
213
156
108
83
86
164
147
156
178
177
156
194
219
196
167
194
136
100
196
146
156
145
119
85
63
153
123
96
146
153
147
105
190
172
201
124
42
59
122
61
73
158
43
82
93
98
70
57
0
1
6
115
39
80
49
46
92
125
170
107
97
83
31
130
136
112
139
175
178
147
63
41
37
139
84
92
163
174
168
112
104
165
100
101
179
123
64
93
150
147
91
147
147
144
144
97
97
103
109
101
141
139
109
159
177
184
171
104
101
100
110
111
148
89
88
80
95
98
96
91
84
82
138
87
87
97
101
97
101
109
144
141
137
86
94
157
107
103
93
80
131
81
80
78
130
140
140
138
143
96
94
88
82
74
78
138
131
66
123
67
73
78
79
75
123
121
114
106
102
105
57
109
109
110
116
116
120
127
79
71
59
109
103
55
56
51
102
105
100
107
112
119
218
112
70
78
67
76
62
60
69
123
112
119
121
121
71
63
103
91
56
51
93
49
49
90
37
87
46
96
99
105
59
41
92
48
39
96
95
46
65
76
135
89
86
135
161
125
194
193
187
134
179
153
62
149
104
108
160
159
158
144
77
111
119
80
83
100
105
134
108
167
193
170
164
175
172
134
121
89
66
78
78
131
129
134
133
153
108
99
83
56
83
142
150
122
138
143
150
149
194
215
193
189
196
198
189
226
203
242
106
51
37
183
187
138
184
153
165
131
201
224
204
176
191
165
89
111
150
158
205
172
62
37
174
135
143
174
147
136
123
132
137
169
87
83
25
65
96
88
81
123
128
77
112
59
5
0
0
73
143
50
105
43
88
73
99
141
176
131
57
84
108
74
122
141
181
169
176
90
55
50
90
76
127
85
85
142
142
92
97
161
184
156
119
127
125
134
136
134
138
141
144
151
102
98
102
163
170
177
192
172
189
195
176
150
141
96
85
94
103
160
161
112
114
155
107
160
148
82
90
86
99
97
92
89
86
84
83
141
142
146
149
95
97
98
94
95
110
163
167
116
112
156
149
138
130
124
71
71
72
65
77
136
131
129
139
85
78
84
83
127
121
122
127
115
126
130
129
129
70
61
112
51
58
127
137
129
112
100
40
99
99
92
36
34
34
98
90
93
99
186
125
55
70
79
129
124
127
126
52
58
117
69
67
66
64
59
103
98
43
92
34
39
47
48
49
54
47
97
50
49
44
102
50
46
101
103
59
72
108
94
100
101
136
135
37
60
154
183
92
111
160
119
125
175
120
168
165
162
155
146
117
74
72
43
32
95
97
58
48
110
98
104
134
104
119
79
66
84
141
144
143
153
148
166
187
121
203
78
49
28
94
138
118
131
210
238
249
215
187
116
141
167
215
163
210
182
148
70
127
173
93
165
243
141
176
162
171
217
224
209
176
167
151
158
124
101
191
224
141
112
122
159
150
117
144
154
126
89
127
94
124
120
143
164
150
69
81
106
88
170
154
85
72
15
0
0
11
122
112
79
93
74
73
48
118
158
107
45
108
89
160
165
76
36
133
166
196
118
71
67
67
79
143
142
148
102
96
104
188
127
85
116
116
116
128
80
81
140
142
143
148
108
102
96
101
106
153
148
128
147
151
158
112
97
131
86
93
153
154
148
99
103
156
148
92
87
77
87
146
92
90
88
86
84
83
86
83
130
133
85
87
92
94
92
97
137
134
90
151
154
150
137
132
130
129
73
71
73
80
137
138
133
132
132
125
122
129
78
75
70
119
112
123
131
82
134
134
128
69
71
120
65
68
70
118
112
108
106
103
39
32
28
28
29
38
88
44
49
126
132
84
91
91
133
73
79
82
69
71
130
81
76
120
65
64
107
104
55
52
46
46
49
99
99
50
45
96
47
46
42
47
50
49
103
48
52
61
87
106
105
98
158
92
0
0
69
105
105
140
185
177
179
123
119
169
166
158
143
131
135
83
119
91
32
39
33
79
74
20
18
76
79
19
8
5
14
22
76
93
104
126
138
94
86
140
102
114
112
150
209
190
208
248
203
190
179
165
195
196
137
149
218
168
173
195
134
175
121
193
172
240
226
178
194
207
188
219
193
206
161
145
121
118
142
189
223
191
206
183
101
145
135
155
176
197
154
115
106
87
160
171
157
132
117
66
144
96
78
69
112
137
79
26
0
8
44
111
153
149
117
67
52
60
91
78
26
52
169
93
112
82
131
122
127
145
115
139
137
62
63
76
140
86
141
90
78
113
138
98
70
143
118
118
128
130
129
133
137
138
145
105
104
99
161
118
162
151
137
155
159
154
148
86
81
91
96
102
154
147
99
104
97
141
91
94
87
86
144
141
141
88
84
79
78
80
123
117
123
82
86
144
148
94
89
124
124
134
144
147
95
141
135
130
125
122
72
76
135
135
134
130
132
130
123
128
130
129
75
71
119
112
118
125
128
131
82
77
73
130
118
62
61
62
112
109
107
108
101
86
82
79
79
81
85
89
50
55
174
189
153
156
101
88
81
86
86
123
71
129
131
74
118
64
64
106
102
105
104
96
41
40
88
88
91
88
88
93
93
91
44
47
46
100
46
49
59
123
97
107
95
141
42
0
80
55
41
163
186
181
177
180
173
122
177
160
138
137
154
89
84
70
57
56
57
47
48
48
35
37
100
100
37
23
27
30
76
65
66
66
91
45
46
77
108
108
141
184
222
255
181
148
156
197
151
159
166
188
182
163
129
146
167
230
223
198
183
147
209
192
235
214
158
180
155
201
203
197
203
156
176
125
191
191
194
183
158
211
197
148
182
165
176
205
175
179
113
90
114
131
158
125
113
117
118
75
76
121
66
112
118
47
34
28
44
89
112
174
158
127
66
43
61
105
90
43
49
72
180
120
74
91
116
145
134
150
121
126
83
136
143
95
97
156
157
180
116
96
81
110
127
70
135
140
133
124
123
126
131
87
108
110
109
166
113
158
99
97
106
168
169
125
90
138
146
91
89
140
140
88
88
99
88
136
85
83
94
97
91
94
95
91
83
77
76
124
120
128
138
137
135
84
85
138
126
131
136
135
79
76
68
124
133
141
135
133
133
89
85
136
136
89
96
148
150
142
132
78
130
130
79
83
136
134
131
72
56
43
48
61
63
67
73
127
121
112
53
93
91
96
94
37
35
34
40
107
108
158
189
176
170
168
158
151
148
84
70
74
129
77
73
123
121
120
105
49
102
99
87
83
82
77
80
82
83
84
86
87
35
32
85
82
33
34
40
104
127
71
95
103
87
127
18
0
0
0
45
165
176
170
120
129
116
89
144
166
166
144
140
143
162
132
141
183
173
130
131
93
92
100
103
106
82
65
43
94
128
125
121
134
84
65
107
97
203
244
180
158
157
151
167
116
133
201
199
207
205
183
218
255
195
229
201
191
208
221
236
203
230
210
231
191
196
154
221
169
183
186
148
135
137
149
118
138
186
125
206
224
193
195
188
172
187
172
164
103
129
100
137
134
131
119
113
112
44
76
104
114
50
96
131
82
55
85
86
120
144
139
116
127
135
95
149
77
76
43
97
119
30
98
125
146
157
167
164
86
67
160
169
176
110
85
157
173
144
58
74
93
110
140
129
139
145
142
134
134
133
134
88
98
105
112
167
162
161
171
112
105
96
160
161
104
102
149
137
74
121
124
65
59
78
78
131
128
77
139
127
77
86
96
98
95
94
95
76
121
125
128
120
116
75
86
79
79
139
143
142
89
91
92
139
135
127
127
135
144
87
83
132
79
82
98
157
157
146
136
138
142
89
87
125
128
130
82
80
64
52
58
57
59
117
77
83
73
111
106
94
105
115
108
43
35
47
43
47
39
84
132
188
170
169
161
152
143
78
78
74
125
70
67
118
65
58
95
38
90
85
78
78
83
82
30
77
77
75
72
70
17
71
75
76
26
22
22
82
85
46
54
110
64
63
67
39
0
0
8
107
95
162
168
102
153
118
169
149
139
146
133
92
121
138
119
152
101
76
124
43
48
44
34
37
33
35
42
125
171
167
175
192
99
139
157
171
78
166
219
158
128
124
173
165
109
128
139
198
228
179
142
139
158
239
221
241
255
186
229
248
242
255
211
237
207
178
221
219
222
207
193
202
126
118
110
102
150
107
185
203
158
196
196
188
190
164
126
114
99
140
130
121
124
127
103
72
0
45
54
58
99
73
155
118
106
114
113
110
141
128
112
92
130
190
190
94
44
96
8
41
118
73
138
138
148
160
157
103
109
153
168
174
157
137
133
117
107
72
78
91
113
135
135
125
122
127
135
133
133
131
74
97
105
173
187
183
114
159
156
168
115
119
168
154
141
136
76
69
117
53
101
46
65
118
124
130
130
122
120
72
135
88
138
91
95
91
64
120
123
123
116
114
77
96
154
95
101
155
148
88
82
73
124
124
122
127
139
151
147
95
96
95
97
105
161
141
140
87
90
90
87
143
133
87
143
143
137
78
72
123
118
66
122
127
81
80
121
58
57
122
122
113
51
48
49
48
43
50
60
139
135
119
112
107
156
144
135
72
73
113
120
78
67
54
101
91
95
98
98
95
94
38
33
89
32
27
25
24
23
75
70
67
68
65
11
16
78
107
103
47
47
54
63
63
61
29
0
0
41
137
96
155
100
105
108
101
146
140
134
134
150
114
118
96
110
36
33
34
37
109
122
67
60
62
87
140
123
156
170
171
179
161
230
188
106
149
216
136
126
104
140
194
148
94
129
128
129
159
175
167
211
135
166
211
191
239
223
197
169
197
225
215
236
191
172
212
189
219
208
205
176
141
121
121
109
148
139
203
157
146
211
140
131
125
111
103
91
70
126
113
137
67
64
93
53
52
0
25
42
68
72
80
103
128
63
93
75
102
84
68
75
149
208
142
95
64
67
80
94
47
130
148
135
145
140
165
158
95
123
128
138
143
158
176
182
176
90
80
94
164
139
105
67
121
134
142
139
138
142
93
99
156
160
165
109
100
151
142
153
161
104
91
137
144
136
130
122
116
57
56
53
59
59
64
121
123
121
124
125
128
78
78
139
147
146
78
76
125
120
116
118
75
86
94
95
98
148
89
83
81
89
131
125
143
154
107
160
162
159
156
155
155
147
143
140
136
131
80
80
132
138
90
91
94
152
156
153
88
79
66
115
120
126
136
142
138
81
84
89
133
121
60
58
110
60
62
65
120
134
144
117
118
112
101
140
137
62
120
114
118
69
59
104
105
109
111
56
52
51
105
105
51
39
40
39
37
34
29
25
78
73
69
69
24
37
102
82
84
35
38
42
106
108
53
57
116
67
72
128
127
124
133
89
88
83
131
124
65
126
109
47
58
134
105
124
106
112
99
151
153
107
114
118
177
160
136
107
169
114
149
204
147
151
163
158
175
148
140
111
114
163
172
130
104
106
108
134
146
150
171
171
219
168
179
240
234
221
182
223
128
112
220
180
163
178
196
158
151
148
192
79
153
110
135
156
159
184
128
156
131
114
112
95
109
96
81
41
68
65
109
30
11
11
25
89
53
35
42
29
74
75
110
121
38
136
132
129
82
65
79
170
135
129
150
90
139
116
99
96
73
147
146
166
172
179
139
61
121
165
165
166
154
110
168
152
140
99
86
90
122
94
74
128
142
155
151
140
137
139
152
156
152
103
107
111
118
144
144
104
162
148
85
136
138
137
80
75
80
81
78
72
71
69
70
123
71
128
139
89
144
95
101
154
150
73
70
121
120
123
76
133
134
71
86
94
96
96
98
155
142
95
103
166
158
93
139
141
142
142
140
138
146
152
142
134
124
122
124
74
133
138
142
91
138
128
116
52
47
40
101
116
124
127
76
72
124
72
61
54
54
112
118
42
103
115
56
104
110
157
124
120
108
93
81
132
59
110
114
63
62
60
110
114
65
121
123
121
119
66
114
109
103
47
44
42
92
91
91
81
82
84
26
23
19
68
92
94
42
41
90
90
92
36
44
50
49
97
106
152
152
133
102
38
48
52
48
48
88
152
119
149
157
133
105
107
107
102
112
169
121
130
206
200
170
133
128
143
103
147
221
154
94
146
194
167
175
158
129
115
132
158
167
150
151
145
151
139
135
166
182
160
158
148
203
172
178
186
243
147
135
125
162
133
50
149
157
163
190
162
72
63
147
114
97
169
191
107
108
112
105
75
66
34
70
98
77
16
49
81
70
25
96
71
92
80
36
0
0
26
98
127
133
102
77
75
122
119
128
132
112
89
137
149
126
136
109
103
59
82
97
94
108
101
84
82
82
111
158
160
164
164
176
130
152
143
149
132
98
122
78
85
71
69
77
74
122
124
77
90
94
143
148
105
115
123
106
166
165
155
90
85
94
139
140
137
131
138
87
83
129
73
68
69
120
123
130
138
88
143
145
149
147
144
81
131
124
118
118
71
75
75
80
94
154
105
105
106
109
155
105
109
158
150
144
145
145
146
144
141
140
152
157
144
135
124
122
124
126
132
135
86
86
79
120
110
51
50
37
97
112
119
124
76
77
73
128
121
114
112
110
108
40
105
122
60
59
105
161
133
123
162
151
86
78
109
115
122
121
66
69
119
67
71
75
128
128
126
124
119
113
107
99
44
42
43
42
94
88
88
84
78
26
27
25
91
92
41
40
40
93
95
25
92
109
60
100
39
108
119
99
146
105
25
19
22
31
146
155
191
182
128
126
175
97
113
174
118
164
118
136
198
194
168
136
126
141
157
185
209
161
189
159
172
146
114
180
136
137
139
191
202
194
184
126
145
150
141
152
150
170
171
193
125
136
158
196
255
220
158
54
117
129
52
138
107
136
215
122
97
154
140
83
137
190
176
103
92
108
85
51
69
48
50
75
100
72
47
78
73
24
30
101
121
104
8
77
42
16
81
104
120
62
125
96
94
83
107
86
122
156
126
91
111
137
113
108
54
119
140
99
119
121
96
145
89
163
166
168
112
159
160
151
136
126
85
80
102
82
157
100
71
56
63
67
68
119
118
98
96
136
137
143
94
98
75
86
88
97
100
92
84
86
143
141
132
135
132
124
122
64
58
57
59
120
129
135
134
83
133
133
135
143
147
141
72
107
102
112
73
78
126
135
145
99
99
100
102
147
90
141
143
89
139
138
133
125
69
130
145
153
93
96
86
127
126
76
130
131
76
68
58
53
103
102
97
42
40
111
135
142
138
134
130
75
125
109
54
109
56
51
43
39
49
39
110
80
136
150
133
176
178
108
79
97
135
144
139
83
89
83
123
122
72
122
117
64
64
115
60
49
102
103
100
45
42
38
30
83
83
78
32
31
27
94
91
89
91
45
103
51
55
112
121
127
124
115
115
98
26
32
135
159
51
0
52
131
148
162
193
220
214
143
113
170
173
119
162
107
117
147
184
154
127
132
147
161
191
255
213
195
194
161
163
127
140
175
168
194
147
193
216
215
215
229
162
130
178
173
195
176
225
198
94
92
172
190
195
211
131
23
118
223
123
24
101
158
138
193
133
143
164
150
102
75
111
84
79
131
48
81
80
51
52
53
29
57
115
111
27
16
47
55
21
109
188
86
22
24
61
101
53
74
112
106
143
53
55
88
91
51
28
124
113
70
97
92
134
142
142
96
129
148
133
132
175
167
99
84
138
107
124
174
103
98
149
98
136
151
106
138
118
61
62
60
60
63
85
91
92
142
90
96
101
134
87
101
93
135
134
86
84
132
131
76
76
128
129
139
135
134
136
85
141
94
156
102
96
89
138
90
141
143
141
129
115
108
112
116
116
71
91
147
87
91
92
83
65
125
78
77
83
138
134
128
124
131
143
142
138
88
80
77
73
121
67
66
68
60
60
60
58
107
105
104
104
118
127
134
135
125
118
122
123
115
110
61
112
108
54
106
60
58
114
101
60
108
163
199
191
133
158
127
130
142
86
136
84
82
79
78
120
119
65
63
64
62
110
54
49
101
101
99
50
49
39
93
94
98
101
47
47
50
104
107
60
65
119
126
76
76
130
130
125
126
128
123
126
112
107
107
111
73
85
132
124
128
80
91
92
92
100
111
186
215
162
151
142
144
138
203
251
219
204
192
231
223
209
215
221
160
158
89
166
93
135
168
196
191
184
155
188
186
135
132
107
157
120
125
129
172
195
178
171
186
208
107
102
76
99
140
151
192
117
103
150
157
179
148
158
89
142
150
131
58
71
93
123
121
141
141
60
102
65
92
115
123
106
64
72
90
42
34
95
121
117
74
58
149
34
27
29
82
71
91
46
56
38
45
74
87
66
70
63
75
152
97
80
90
122
84
31
47
86
148
142
80
72
70
96
124
126
99
98
100
90
135
145
107
142
126
66
64
62
115
69
83
89
87
86
88
93
151
135
93
102
90
130
78
82
79
129
76
74
128
132
134
87
141
142
142
140
144
99
103
98
91
85
139
91
89
100
149
137
122
112
112
115
119
76
142
147
93
93
140
76
60
76
89
91
95
150
146
138
136
142
147
139
81
84
77
83
85
79
67
61
70
69
67
64
61
112
113
114
115
75
80
133
77
66
113
120
115
110
113
117
116
112
110
114
65
62
109
34
48
91
163
206
144
132
161
135
84
95
92
142
92
92
87
85
122
114
59
65
67
62
58
58
53
106
55
53
106
102
92
97
98
50
52
48
47
49
110
60
63
68
123
76
76
85
139
138
133
133
135
133
78
64
67
125
112
49
119
93
132
71
68
130
135
78
77
81
95
181
205
171
190
206
209
219
179
174
190
211
222
167
204
99
89
154
153
150
166
157
149
162
186
189
171
178
134
110
104
163
103
116
134
170
164
179
204
226
222
202
165
97
60
65
116
97
110
195
144
141
183
192
155
158
149
147
139
123
119
134
140
126
120
137
173
183
107
154
176
163
136
133
105
78
96
112
35
0
111
144
112
84
100
74
12
40
79
95
75
86
41
94
47
29
48
113
112
128
64
127
151
94
128
147
190
71
44
75
106
96
141
138
89
73
77
91
90
67
88
89
114
65
134
172
149
128
123
127
126
123
69
87
85
82
78
78
81
83
67
85
104
146
84
84
84
69
118
68
70
70
127
135
77
76
130
138
143
146
98
89
84
75
72
128
135
81
84
78
124
119
113
105
108
62
64
72
80
87
84
73
117
110
74
87
91
94
146
141
142
133
129
131
129
137
84
83
85
85
80
73
70
77
79
74
67
64
116
118
119
120
119
66
115
62
110
113
124
126
121
122
121
117
59
110
119
58
105
99
95
62
131
217
173
160
182
110
95
99
103
150
145
96
97
93
87
85
72
66
126
128
119
114
66
66
55
107
52
104
105
100
101
50
54
110
108
56
58
65
64
64
119
122
122
68
83
136
84
133
78
76
79
73
77
67
55
107
114
113
51
122
134
81
129
131
78
71
69
74
124
131
130
74
75
68
92
106
114
206
219
229
226
188
168
108
77
165
184
206
200
188
156
158
170
161
171
135
99
122
139
114
107
165
179
194
167
87
162
205
221
141
140
71
131
113
153
156
201
181
170
112
144
74
144
141
126
136
156
93
120
126
158
139
190
108
98
94
73
107
70
119
140
87
17
92
94
91
4
19
104
113
125
103
97
98
25
19
97
91
86
94
12
19
103
62
93
110
117
89
147
126
115
128
134
124
66
98
142
131
119
121
75
81
98
105
109
86
83
153
149
135
137
154
175
101
133
129
77
129
124
72
72
127
129
130
133
83
138
75
86
93
87
139
141
138
131
127
76
76
56
55
61
68
71
130
86
140
91
147
99
94
86
77
73
126
73
81
119
114
121
117
50
43
43
51
66
71
76
66
111
120
142
85
76
131
145
149
142
130
128
131
135
83
143
86
76
127
125
124
124
70
64
65
114
113
63
67
69
67
64
114
108
107
113
115
119
128
132
126
66
64
61
62
117
121
59
62
106
101
70
119
183
223
223
189
117
105
107
113
157
98
98
99
94
141
135
84
83
80
127
126
127
77
68
107
110
56
106
107
105
112
59
59
112
111
61
117
114
118
70
74
127
132
82
76
78
82
82
78
70
73
78
130
75
77
124
104
40
103
53
106
106
59
125
127
55
108
113
117
123
123
69
72
73
63
71
85
88
137
117
82
86
138
148
124
158
183
196
173
177
166
173
112
83
206
147
135
150
149
120
103
86
183
144
167
213
198
189
174
70
147
121
126
195
148
166
98
134
131
96
154
77
88
87
96
144
83
154
186
165
130
101
116
133
194
108
63
56
42
120
130
141
118
83
112
93
52
74
124
205
193
91
75
37
35
41
100
82
51
49
99
100
56
55
101
105
130
131
85
96
158
154
133
55
46
48
106
94
122
131
83
134
83
81
78
80
87
164
113
107
102
146
120
155
138
131
75
71
123
74
70
124
127
76
131
80
132
91
99
94
89
142
146
144
131
127
129
130
108
55
62
127
82
93
99
95
96
157
152
97
92
134
130
130
80
138
71
117
123
121
51
37
37
51
69
72
73
113
109
122
148
141
79
84
145
138
122
121
126
136
87
82
84
132
126
127
128
128
126
121
59
57
108
108
113
68
70
67
63
119
110
57
116
118
120
128
128
70
62
61
113
117
123
71
64
122
111
43
66
110
166
216
172
193
174
162
160
119
109
153
100
101
150
143
79
85
86
79
127
128
80
81
123
114
120
118
114
113
110
65
115
114
112
110
113
117
116
120
73
74
124
127
130
71
73
131
132
75
66
68
122
126
116
57
116
63
56
112
52
57
55
52
67
127
112
101
107
111
118
67
67
72
72
80
137
135
85
86
82
75
132
131
81
85
79
176
183
150
228
195
187
136
105
218
194
127
151
144
160
166
132
174
141
147
185
132
137
124
112
111
148
140
91
87
123
130
141
137
76
80
91
89
93
76
148
191
198
119
103
108
124
121
125
143
126
96
93
42
109
95
111
141
107
77
104
34
59
116
175
168
156
79
20
82
94
104
98
14
86
95
83
66
75
102
119
136
135
78
79
96
161
87
54
65
84
96
143
72
68
117
117
118
83
104
117
125
173
103
87
89
153
185
164
75
75
133
122
127
73
73
121
122
75
80
85
87
156
110
95
92
149
102
97
144
138
139
136
112
111
117
141
145
96
151
153
148
89
96
145
138
128
124
127
131
141
142
133
65
55
57
60
55
116
129
75
121
116
109
104
128
142
143
76
125
122
68
128
128
77
80
82
83
134
127
129
130
127
124
122
126
129
128
127
130
81
81
130
74
113
121
126
123
124
127
124
124
116
102
47
97
44
95
105
108
88
6
32
99
52
100
220
168
150
142
171
166
169
116
110
101
94
145
145
87
87
85
132
132
81
79
74
125
124
120
117
115
112
57
56
112
58
103
109
110
105
66
123
124
74
78
128
131
70
73
74
121
119
69
68
124
121
121
118
65
72
125
66
49
44
48
105
53
108
112
125
76
123
135
105
126
132
115
161
104
100
147
94
94
85
128
121
123
74
74
74
127
129
81
141
154
120
187
165
156
161
141
131
185
182
159
161
172
176
165
169
141
112
95
84
75
72
124
127
133
75
75
95
90
79
80
81
110
146
151
194
161
57
56
117
96
183
200
139
128
173
98
35
78
88
75
55
66
13
15
21
72
57
97
86
59
42
64
119
100
135
52
60
33
101
69
63
96
91
110
121
53
81
159
112
113
149
82
43
37
58
85
65
59
109
59
114
125
139
137
167
156
126
126
132
152
176
107
71
68
74
120
123
119
123
121
122
125
127
78
78
98
102
149
146
149
98
96
91
137
132
125
107
112
122
136
135
134
137
146
152
146
87
85
130
122
67
70
72
115
116
112
52
50
58
72
80
84
126
71
111
98
94
101
69
131
132
73
74
128
79
132
128
124
73
77
81
79
137
132
126
121
119
66
115
122
129
85
90
90
84
79
75
70
120
116
110
113
68
69
51
104
48
48
104
108
58
101
89
17
13
99
101
51
36
203
228
158
144
134
161
170
170
162
151
144
145
147
97
92
135
131
80
82
75
66
64
61
109
109
114
66
67
103
58
59
104
113
66
116
125
130
130
79
82
81
137
134
73
123
128
131
73
73
116
116
123
128
75
131
135
77
76
70
60
102
99
53
113
117
61
99
171
126
134
199
138
136
189
137
124
106
146
146
141
135
131
126
127
81
83
139
142
140
134
76
123
68
119
124
76
133
131
128
139
134
85
74
72
70
65
128
121
66
63
68
125
128
130
90
85
61
75
86
114
92
18
143
201
186
156
139
79
210
193
123
127
147
133
105
121
165
133
97
75
52
23
100
103
39
58
127
111
87
71
67
82
33
96
25
91
110
109
83
35
115
117
104
152
150
86
122
158
172
110
126
112
68
60
45
98
57
106
109
120
140
144
149
147
177
112
136
136
85
107
175
108
124
120
74
66
66
113
119
122
124
123
123
121
120
87
97
155
150
146
91
88
81
76
70
65
105
114
122
132
130
128
132
89
94
87
82
132
76
122
119
68
68
65
117
65
60
61
72
87
95
81
128
123
110
95
97
56
73
76
72
69
73
129
81
83
134
132
82
85
84
134
139
135
130
127
126
127
126
86
147
103
102
146
89
91
95
84
79
77
74
75
73
118
117
120
63
59
58
56
53
51
40
22
72
99
97
95
85
153
221
226
196
190
168
167
170
167
156
96
94
95
97
92
134
130
81
83
78
70
62
111
108
109
63
67
68
108
52
55
65
112
115
71
72
130
132
83
86
80
82
126
67
118
124
126
66
63
132
134
89
141
130
73
74
72
74
79
75
65
107
49
47
117
61
98
116
118
117
119
111
157
151
149
152
97
94
132
131
128
126
74
127
131
132
135
138
82
127
74
132
125
120
109
113
65
107
102
102
103
126
76
131
120
117
127
117
70
117
108
127
143
144
63
82
67
105
142
111
94
81
89
167
188
144
145
159
169
152
117
132
147
200
174
174
168
141
125
70
55
70
85
137
80
59
55
69
125
111
71
85
120
18
84
76
43
63
50
14
52
128
79
133
136
164
158
101
128
120
111
121
83
136
71
69
73
70
67
64
124
81
87
167
105
93
142
144
93
139
166
105
73
124
77
120
118
55
62
69
74
126
126
73
125
148
144
146
147
142
134
74
72
72
70
65
113
119
124
71
75
76
78
78
73
64
65
121
122
119
64
62
56
112
110
56
61
122
129
83
87
82
132
127
123
122
120
64
85
79
68
78
80
128
73
77
133
136
136
81
78
132
137
140
143
92
144
145
152
152
149
142
134
127
127
132
86
80
83
87
83
79
70
57
105
110
54
57
62
58
49
46
49
36
19
88
97
103
115
55
153
221
171
135
126
169
174
121
112
153
146
93
92
90
85
79
75
76
126
71
64
119
116
64
65
117
62
64
55
53
66
117
63
65
70
76
129
79
82
77
131
127
78
80
128
129
82
138
152
146
95
98
90
82
79
75
79
62
52
54
112
111
53
44
60
53
57
82
104
160
155
104
157
157
156
100
98
86
135
127
122
126
134
130
136
136
135
83
83
133
128
133
141
72
129
126
110
122
125
111
74
145
141
124
133
124
114
119
129
118
102
102
114
98
93
81
84
133
101
118
130
76
191
209
196
174
121
123
93
141
110
94
143
202
201
198
172
100
111
90
50
29
33
56
69
84
102
142
109
123
130
57
101
60
2
3
82
38
41
36
93
112
47
81
89
138
114
67
140
129
117
82
121
121
124
64
120
69
62
87
112
174
141
138
92
97
140
129
133
109
106
72
64
69
117
118
65
56
102
56
126
140
144
142
115
117
121
67
63
62
113
67
72
72
118
114
61
59
50
56
65
73
76
127
74
69
68
67
118
63
109
102
103
105
113
126
138
141
135
76
124
98
142
133
123
117
117
68
76
81
83
76
131
92
83
80
77
130
132
123
115
71
82
88
80
70
119
70
125
123
121
120
120
116
110
52
57
57
52
51
52
50
45
50
51
49
42
38
43
52
55
67
52
26
95
104
112
120
82
68
168
164
150
140
118
130
128
155
140
150
155
96
86
135
84
76
125
131
83
72
74
76
75
123
120
122
126
74
69
122
129
126
64
111
118
74
79
79
76
128
125
125
76
80
83
83
137
133
134
128
73
132
80
122
117
120
127
81
77
72
117
55
49
42
55
62
63
66
71
155
99
157
155
75
73
71
113
106
101
99
94
94
113
73
70
64
60
58
62
121
133
95
108
106
92
130
126
128
71
73
79
141
144
142
145
93
123
122
61
86
152
234
207
55
56
39
119
73
69
165
162
200
116
186
194
150
120
67
100
121
91
127
137
132
187
211
173
118
69
62
46
11
12
85
72
80
182
187
94
140
110
27
7
3
30
108
65
77
39
58
87
67
112
90
89
87
62
108
145
78
134
148
90
130
72
121
118
69
160
173
115
81
128
133
87
80
123
71
107
107
76
69
126
68
67
63
52
50
52
113
122
128
129
129
77
127
125
69
67
116
67
125
73
121
115
59
56
50
56
66
74
79
79
130
123
69
67
66
64
112
56
57
118
79
140
142
136
77
72
129
147
138
78
120
115
115
78
83
85
87
80
130
87
86
84
132
128
125
121
119
120
76
79
70
60
109
62
68
118
115
112
109
106
50
47
109
58
54
52
52
101
44
53
56
57
51
101
109
67
57
60
43
26
48
50
54
115
132
133
144
188
144
148
127
128
178
165
98
147
152
148
84
132
134
127
123
76
79
126
75
77
76
124
69
123
127
75
71
72
129
125
63
62
121
78
83
83
80
132
138
135
81
81
134
138
148
91
92
138
136
141
86
78
127
125
118
62
58
64
72
71
53
44
99
53
55
112
66
131
155
145
130
77
58
65
106
103
102
107
110
109
59
48
52
57
63
66
119
120
74
85
99
107
105
94
82
128
88
77
95
154
146
144
151
76
65
76
115
159
192
231
182
97
52
90
175
153
137
138
95
200
214
167
112
109
141
142
115
47
54
87
144
140
124
146
168
81
72
73
30
10
9
67
73
142
155
113
97
79
58
43
25
16
29
75
98
111
38
47
55
152
126
87
60
76
85
118
134
139
76
114
61
61
109
117
124
69
82
97
152
143
141
142
142
81
81
152
165
167
134
118
119
108
107
99
99
52
109
111
119
128
83
138
134
75
76
75
70
118
125
125
125
71
66
118
64
54
55
58
65
126
86
90
92
139
80
76
76
77
78
86
91
91
84
74
72
128
135
141
86
129
70
114
109
112
76
84
86
141
137
134
87
92
89
83
130
125
74
129
78
79
75
68
61
61
121
70
120
64
57
51
102
107
111
105
49
45
43
43
96
96
106
54
65
120
116
112
110
60
102
30
32
57
102
107
48
109
117
108
96
194
112
138
186
183
178
162
153
157
104
141
136
140
139
86
87
86
134
78
81
81
79
75
128
130
128
71
72
129
130
73
80
134
136
135
82
138
141
84
139
90
90
91
90
137
93
98
98
150
151
92
89
94
83
142
95
89
82
73
113
116
53
39
90
92
95
98
109
65
85
82
55
118
57
57
51
99
98
99
96
34
45
46
49
53
60
118
120
79
129
79
84
93
152
155
103
84
91
89
136
141
130
48
77
127
77
99
105
180
135
224
228
148
193
107
198
145
99
85
121
189
196
206
190
148
79
66
66
38
98
111
115
144
154
100
100
116
46
14
20
77
183
200
169
136
92
104
102
39
46
74
18
12
15
38
100
88
44
116
118
121
73
61
80
52
65
91
99
122
140
159
102
104
46
44
51
164
135
137
165
171
123
114
96
91
160
181
183
90
64
59
107
113
109
63
63
121
129
137
142
142
129
126
128
130
80
78
129
117
57
103
101
109
114
70
66
60
56
55
116
137
88
80
127
69
64
114
60
60
122
70
70
73
73
73
70
120
122
65
57
52
101
104
63
75
86
88
133
128
123
72
70
66
63
118
124
69
64
62
58
56
108
108
55
112
114
112
56
51
101
50
105
109
44
43
47
53
112
121
130
118
111
110
61
56
98
91
49
97
29
24
51
102
106
103
112
108
75
70
137
191
142
202
200
129
163
166
115
154
143
141
145
145
91
94
145
143
82
137
139
86
83
83
133
127
120
68
127
135
87
89
140
136
131
76
137
144
98
153
151
92
92
149
148
91
95
98
106
109
104
104
166
102
148
142
82
80
80
127
122
64
50
47
98
95
92
95
93
95
127
154
146
141
130
121
102
134
118
59
53
59
57
57
60
64
67
117
110
66
72
69
116
114
121
78
99
86
124
74
122
124
94
143
115
52
68
74
191
219
144
138
139
152
209
170
182
121
104
177
173
141
103
122
218
107
89
95
129
146
125
98
146
154
106
115
74
0
69
60
87
104
135
162
167
139
63
64
45
44
36
47
48
26
89
62
70
57
66
82
143
127
95
125
131
152
114
155
59
117
128
87
106
40
32
44
169
184
122
170
166
108
146
134
88
116
118
121
84
60
59
59
119
118
70
70
126
132
86
90
93
132
131
133
132
78
129
75
65
56
101
102
109
113
69
71
118
114
116
122
136
84
75
123
67
65
63
63
113
61
116
66
68
67
66
64
61
116
116
112
108
104
112
128
134
87
85
137
135
124
66
64
63
62
63
66
67
65
122
65
64
67
119
116
63
121
118
113
110
109
56
56
55
47
49
55
59
112
116
122
99
104
122
67
53
92
85
49
50
35
28
62
57
51
106
108
56
119
66
62
146
152
203
202
191
173
114
112
159
148
147
99
93
143
94
96
94
136
138
141
89
85
85
81
128
71
71
73
130
134
86
87
139
137
136
91
96
104
160
157
99
149
156
101
97
98
101
160
166
108
107
168
98
100
151
143
137
131
122
125
120
52
51
50
47
97
53
103
87
92
191
200
138
155
213
164
212
200
180
125
84
81
78
77
79
127
121
117
119
122
70
120
115
111
109
69
93
110
117
116
110
131
194
117
104
129
114
163
202
197
188
179
141
162
178
157
109
117
171
154
133
56
36
173
95
130
190
132
135
115
119
162
150
78
69
70
1
59
15
55
106
131
152
143
103
69
77
52
42
32
26
21
0
50
53
106
146
140
132
119
135
136
130
116
90
53
115
64
91
163
105
47
38
48
67
105
91
161
166
93
141
151
96
93
79
96
106
92
69
61
109
106
112
78
130
78
86
95
93
86
74
75
124
121
120
119
67
65
113
111
112
111
109
109
108
113
123
131
139
146
93
87
84
134
131
130
74
123
126
123
62
54
53
59
66
68
119
62
59
117
128
135
137
128
86
93
82
78
125
68
59
57
56
57
59
69
75
126
124
120
117
114
113
59
113
115
112
102
46
50
107
56
58
59
68
67
54
93
89
97
102
88
105
64
64
121
121
61
41
41
118
57
116
118
110
43
89
95
45
53
232
197
193
206
193
127
119
160
161
155
104
157
145
138
100
96
141
90
87
88
86
81
84
74
69
112
106
67
87
137
137
140
146
152
98
95
101
158
160
108
107
155
73
115
111
114
168
111
110
165
167
152
145
143
149
145
134
128
132
73
61
104
99
102
58
54
105
102
45
51
135
113
83
114
70
57
43
126
171
107
124
118
133
138
205
188
177
172
173
90
135
94
123
125
59
127
180
80
86
28
166
104
82
125
123
131
132
156
140
104
156
111
114
161
106
108
98
155
138
116
67
35
186
150
36
75
137
126
124
131
126
145
182
149
17
43
102
102
134
135
134
160
175
87
61
61
52
70
62
25
34
55
127
116
35
82
98
76
111
91
162
154
134
73
113
133
127
100
178
140
54
122
97
102
95
89
120
122
105
151
153
93
79
110
73
95
145
68
60
120
126
127
126
78
80
81
84
84
83
77
79
121
60
55
57
110
112
111
111
113
101
95
91
86
88
94
101
54
57
57
105
57
62
64
63
116
118
126
126
123
67
67
72
73
125
74
73
73
77
83
140
139
140
138
132
74
77
79
130
67
67
67
68
122
131
81
120
118
119
123
127
75
114
113
115
114
110
56
57
58
57
41
45
53
55
52
107
113
112
116
106
112
116
117
121
101
60
50
34
44
94
97
106
116
74
83
137
127
120
168
227
193
173
151
144
179
167
169
115
114
160
149
143
101
148
146
96
92
143
88
133
135
78
75
77
125
116
56
75
128
136
143
145
84
81
141
146
150
97
98
102
107
93
93
103
113
167
119
116
109
156
150
144
146
143
137
138
82
79
68
112
106
106
111
64
62
113
110
101
104
109
120
90
53
67
141
144
84
80
142
74
73
56
114
102
142
156
193
202
172
120
90
59
130
138
111
105
109
119
172
120
179
168
123
112
159
157
191
162
109
82
150
147
128
126
116
177
109
80
63
49
49
94
66
92
50
108
183
125
99
121
145
134
65
80
99
99
126
133
51
111
169
117
126
51
30
38
101
99
83
69
34
14
81
42
80
103
127
149
169
175
131
157
66
133
74
141
149
104
68
122
132
80
94
90
168
157
150
148
98
140
126
120
83
102
149
68
59
124
131
124
129
79
79
128
129
81
85
82
83
71
114
57
58
62
115
60
112
113
103
99
96
90
92
95
98
99
98
97
102
56
65
66
64
116
119
131
131
127
124
70
74
77
77
81
82
135
87
90
142
139
129
123
116
65
71
73
73
77
72
63
56
58
129
134
121
122
124
125
125
123
115
122
69
116
110
105
102
49
48
48
59
69
69
117
116
120
59
112
52
102
102
103
106
94
57
102
33
55
114
62
71
125
124
72
127
121
68
149
203
222
197
142
141
123
116
171
120
120
164
149
89
92
151
95
95
142
141
140
136
136
132
125
124
130
128
121
55
77
96
152
110
117
101
159
106
105
105
161
167
125
121
113
161
106
105
160
109
101
160
105
101
153
148
144
146
90
84
69
113
108
110
113
59
62
63
63
105
103
104
101
78
94
107
92
75
86
85
144
128
128
106
115
115
76
84
166
146
201
164
76
76
177
114
106
143
53
131
153
155
156
149
126
172
157
157
188
192
159
96
128
212
202
174
156
196
122
93
72
57
3
28
88
90
42
125
129
111
173
168
146
122
58
75
77
98
121
135
44
85
144
151
96
64
56
75
116
113
89
66
48
34
32
30
33
143
146
135
158
182
130
120
93
62
94
111
117
124
71
128
84
76
81
133
160
167
166
108
101
142
124
86
111
119
112
88
122
81
139
127
116
112
56
54
57
70
81
88
86
80
77
74
128
129
123
118
62
116
117
118
70
109
108
105
102
97
37
88
94
50
59
67
70
126
129
139
138
132
124
70
75
79
132
73
75
76
77
77
74
69
67
115
65
79
80
129
75
82
82
77
122
123
76
70
121
123
124
120
113
57
59
107
51
49
52
108
110
112
116
120
120
114
106
100
49
51
55
48
53
52
56
116
117
122
121
110
92
115
123
62
66
113
108
116
133
136
129
138
99
189
220
138
149
127
108
161
118
178
176
117
109
98
92
86
83
127
128
79
78
120
123
129
138
144
153
159
158
79
80
111
121
114
141
197
182
119
171
126
181
175
176
128
134
135
128
124
111
95
153
153
101
103
151
147
100
103
101
130
118
117
67
69
62
70
74
70
64
119
121
112
106
107
77
24
2
83
82
135
129
142
119
127
122
147
104
94
163
191
146
133
101
81
152
170
166
93
99
140
137
81
167
109
86
60
75
69
136
167
141
168
165
121
148
157
232
217
190
122
32
0
0
33
39
66
99
152
124
97
27
138
121
69
62
101
100
139
34
42
80
79
101
95
84
108
131
62
38
26
58
81
85
65
60
93
157
146
162
101
162
176
115
158
95
76
103
99
83
131
133
87
134
159
159
132
172
161
87
135
145
87
93
108
170
182
164
125
58
115
112
104
50
56
61
66
128
141
90
84
81
135
81
77
72
117
116
116
122
70
119
69
62
113
59
55
104
97
96
106
57
64
70
128
77
129
125
127
128
126
75
79
81
132
140
141
86
86
86
82
76
125
124
128
85
78
73
73
66
66
60
104
108
119
112
104
101
102
110
120
120
49
64
61
64
71
125
65
110
108
112
118
120
68
68
65
62
63
46
51
102
109
118
116
123
120
116
109
110
64
112
111
69
130
143
152
144
129
107
138
78
141
164
127
146
166
157
156
159
158
110
107
88
96
102
102
146
141
138
134
142
132
132
154
105
167
182
174
175
172
115
179
193
179
190
183
127
129
128
173
171
166
166
111
98
87
90
93
87
100
145
143
151
155
107
112
108
112
98
87
82
127
122
69
70
68
68
81
132
125
117
105
60
52
64
96
78
75
124
128
157
145
154
143
134
97
89
114
134
131
144
137
131
82
103
167
95
80
158
155
51
25
179
89
62
45
63
163
200
84
1
144
198
144
175
156
152
197
156
167
116
55
53
143
93
77
149
103
66
170
87
35
102
105
112
72
129
122
55
43
65
78
106
102
87
130
113
40
26
43
35
59
92
97
139
136
115
114
123
157
107
113
178
128
67
111
74
96
116
122
74
142
193
131
112
166
147
85
139
135
80
144
111
174
184
166
131
122
124
113
109
52
54
58
65
120
71
71
123
125
75
79
79
79
70
121
125
79
71
115
61
62
58
53
53
110
58
56
62
62
66
74
133
134
130
131
128
130
130
72
73
134
138
128
131
93
93
83
132
89
84
136
136
78
72
118
115
62
54
53
63
76
74
121
114
126
131
125
68
122
119
57
62
62
55
102
105
106
52
66
70
76
126
64
58
57
105
98
101
116
124
122
116
119
131
133
111
68
72
96
112
129
142
144
146
146
103
101
130
154
110
137
136
162
158
144
139
156
115
166
162
114
109
108
158
155
151
147
144
144
145
156
172
178
189
193
119
182
188
125
122
196
184
196
179
128
137
129
173
154
132
111
102
47
38
41
53
56
86
148
155
149
147
113
129
121
163
158
101
89
131
130
123
83
85
75
139
143
136
137
132
131
84
144
151
163
154
129
122
130
124
116
126
97
98
104
113
124
137
182
110
128
66
89
98
88
113
145
139
136
48
114
137
69
62
62
114
172
156
106
99
140
189
166
123
122
117
65
128
145
106
84
155
161
78
128
115
137
196
124
86
42
48
54
58
123
113
42
29
57
104
101
65
72
138
113
115
92
96
29
90
125
126
121
129
74
63
129
72
81
124
172
135
132
96
37
74
137
138
90
150
131
138
162
161
90
130
131
77
77
85
112
160
161
103
83
122
120
66
101
105
106
53
55
62
68
63
64
67
70
122
70
69
76
129
78
78
118
115
65
57
54
54
114
71
75
72
62
60
64
69
129
135
137
146
131
122
122
74
83
85
78
108
130
137
88
83
77
124
76
68
59
67
79
140
145
147
144
84
75
75
128
121
113
116
115
110
112
66
67
120
120
63
108
57
112
113
109
109
111
63
64
113
60
62
109
53
121
121
61
115
125
128
116
58
49
46
69
78
129
147
159
111
163
147
83
69
64
109
96
141
205
143
129
182
176
120
118
120
170
115
108
107
157
154
151
149
148
141
148
165
174
178
136
139
129
132
132
124
125
191
178
123
118
108
87
71
116
56
61
58
11
17
13
15
25
30
70
115
133
132
131
125
109
170
168
118
164
153
96
98
84
81
83
87
149
148
145
80
82
82
128
117
109
123
130
111
115
120
112
120
141
91
103
109
155
160
131
140
127
124
79
70
91
70
109
36
12
83
74
55
110
147
103
76
54
112
179
166
100
85
186
99
85
172
171
86
147
144
138
121
164
172
181
185
190
89
176
198
205
155
92
42
67
117
22
32
46
50
54
131
116
52
100
114
111
46
85
53
81
97
135
114
175
101
93
148
91
147
147
79
87
147
112
47
54
141
148
145
140
162
178
190
111
102
152
104
102
99
97
101
147
147
157
155
134
115
113
60
60
115
120
122
120
115
69
66
56
102
103
54
58
63
68
74
123
117
66
120
64
66
125
78
78
108
45
99
105
116
75
133
133
131
60
116
127
135
84
85
76
60
118
124
64
115
70
73
120
74
68
114
122
75
75
73
114
121
125
121
122
123
116
113
118
125
129
132
79
65
112
72
131
126
118
117
118
117
117
114
111
110
60
61
114
111
58
31
96
69
72
110
106
57
63
61
85
102
96
93
151
141
132
134
119
43
50
41
111
103
109
174
163
120
167
176
141
145
127
114
113
104
102
153
154
155
104
155
149
153
166
188
198
148
138
146
135
124
113
102
83
65
47
41
31
24
69
63
18
61
78
47
67
89
107
123
135
110
114
143
164
167
214
210
203
195
130
125
115
105
97
102
86
81
144
151
144
143
101
93
87
138
138
132
120
129
143
126
108
115
115
120
169
160
112
117
110
156
165
177
97
65
63
120
79
79
147
111
50
54
58
66
102
154
125
72
87
148
181
145
104
112
94
99
145
66
112
134
172
160
153
164
187
199
183
156
190
177
178
177
120
103
48
0
22
35
37
90
95
54
67
128
115
108
135
119
107
45
57
81
102
117
183
142
138
152
103
102
182
178
125
110
145
131
117
78
141
152
150
143
160
161
156
108
104
105
107
99
146
144
141
135
132
88
147
84
73
74
60
56
60
68
123
118
112
68
118
106
99
46
49
54
57
64
123
123
70
69
121
60
66
127
79
75
103
93
91
45
55
64
68
118
116
127
80
140
140
135
83
80
67
117
120
113
61
70
76
128
77
73
120
119
64
57
104
108
61
120
125
128
120
64
133
130
126
71
68
121
125
109
66
120
112
108
115
74
131
79
72
116
111
58
110
108
114
93
40
53
55
55
110
112
68
78
72
75
81
66
54
72
130
135
142
121
93
98
113
60
103
141
176
126
208
183
169
132
150
144
124
112
154
150
148
148
149
97
150
154
158
170
133
193
141
128
124
104
83
65
101
36
25
14
10
7
14
71
15
39
108
129
97
115
134
145
150
207
154
161
165
219
227
178
222
213
206
190
184
176
115
108
159
95
87
147
157
152
149
90
92
92
89
77
66
66
53
74
123
112
116
114
119
177
161
157
110
103
99
162
124
100
115
67
122
61
38
136
145
83
28
39
62
105
153
130
51
16
110
123
105
122
126
96
113
111
111
70
75
101
134
154
142
143
178
194
177
157
150
194
181
120
119
27
12
37
18
78
95
103
55
70
126
118
116
158
160
105
51
30
100
126
121
124
85
98
152
146
137
162
168
128
115
69
122
128
98
137
136
84
141
75
85
108
109
108
105
95
128
121
77
121
130
131
138
100
95
78
127
78
72
64
58
53
49
98
110
61
59
54
101
101
103
110
68
127
131
83
127
116
117
125
79
76
117
101
104
103
48
97
41
40
45
104
127
131
137
86
137
140
133
116
64
71
77
76
70
119
68
55
54
53
53
56
111
114
129
121
127
94
102
140
93
68
73
78
133
129
124
125
127
125
118
61
119
76
128
121
67
63
56
54
109
110
108
110
56
87
26
32
53
71
128
125
88
90
29
35
48
46
114
112
112
121
107
123
125
104
66
115
127
189
211
181
203
202
129
131
160
217
148
118
159
153
95
144
144
142
88
96
100
57
96
39
29
17
8
8
12
9
8
6
20
39
46
59
154
189
146
147
164
170
175
188
185
225
221
157
131
115
97
102
144
189
253
252
212
130
161
157
105
151
144
86
138
161
109
103
141
81
78
82
84
79
113
73
52
72
73
83
38
88
136
147
151
141
138
95
84
107
145
70
91
138
103
91
53
75
120
141
59
52
84
118
129
130
74
30
94
123
173
146
107
119
101
112
87
50
48
90
147
180
178
122
165
144
155
176
111
156
175
117
0
6
32
26
35
45
43
38
97
107
86
163
152
80
54
41
57
78
136
121
108
54
82
77
104
173
169
149
76
88
62
70
85
57
59
73
131
85
94
148
160
108
157
150
94
91
86
70
113
117
127
129
77
149
163
157
129
72
61
107
107
52
101
53
54
54
50
48
48
50
115
119
123
124
126
124
123
116
69
74
75
73
74
128
73
121
116
114
61
60
113
132
135
79
71
123
80
138
136
78
85
80
78
72
116
115
64
65
119
125
76
79
134
84
137
91
94
91
82
85
132
80
79
77
79
132
123
70
72
74
75
122
65
111
107
99
52
60
115
114
115
120
115
111
116
83
76
54
45
108
111
128
76
35
42
44
35
63
77
124
123
126
125
119
117
113
106
60
141
156
164
171
186
153
149
127
182
210
184
112
163
124
152
138
109
178
147
61
20
57
0
49
4
12
30
106
76
121
141
145
153
220
178
175
226
180
181
153
110
87
60
93
107
108
110
105
94
53
113
108
104
145
100
95
234
191
149
184
161
151
135
132
96
106
122
106
101
91
84
81
80
124
115
101
48
57
65
75
85
133
137
147
154
142
123
120
129
135
77
49
77
136
81
49
129
78
43
58
72
98
100
127
103
98
83
171
134
201
111
96
165
131
138
96
67
0
68
68
131
165
197
178
193
180
185
167
130
105
93
33
0
0
25
29
28
76
74
86
74
154
106
87
68
61
26
82
115
81
79
63
58
146
162
98
139
154
149
118
52
127
133
132
75
113
73
77
86
100
155
114
118
108
100
102
99
85
116
61
111
116
121
129
157
176
168
131
76
113
105
113
63
107
113
61
56
52
49
48
102
51
58
70
131
130
70
64
116
70
76
76
73
80
86
135
126
68
69
125
128
132
148
142
130
66
69
82
142
143
135
87
83
136
79
70
118
122
72
73
122
121
121
70
80
133
86
89
88
138
141
87
83
77
73
74
128
116
69
122
71
68
114
108
106
54
108
116
69
121
118
118
121
128
115
73
89
78
113
112
101
107
120
118
92
42
41
46
76
83
65
114
127
128
117
113
110
105
103
111
121
162
178
155
164
149
193
188
118
154
215
185
127
124
117
121
179
135
87
55
64
78
93
134
154
179
198
211
169
167
173
231
236
181
172
163
123
81
122
53
54
96
39
117
130
106
103
103
113
118
115
116
126
121
86
40
118
235
233
151
110
93
74
68
112
118
131
111
103
159
104
90
97
77
58
45
98
111
128
135
150
143
150
159
140
110
113
89
69
149
105
56
190
93
99
96
48
39
76
79
88
88
143
96
113
170
195
175
207
143
165
172
74
131
101
60
0
84
2
124
131
199
171
179
188
196
170
146
141
132
112
34
31
47
74
78
63
108
98
70
137
139
88
77
70
58
45
114
138
153
86
61
94
149
82
80
153
151
79
75
155
107
101
96
45
107
110
69
97
104
118
166
101
89
85
126
113
127
69
116
122
79
145
168
176
161
119
66
139
152
91
71
60
67
66
65
65
119
120
122
123
117
63
64
66
121
125
131
133
81
76
71
81
89
81
76
75
86
151
156
156
150
140
126
69
73
82
139
137
135
148
90
85
79
77
133
87
90
90
129
122
67
67
73
122
123
80
92
85
125
68
74
74
67
57
58
68
63
118
121
118
113
112
115
118
112
110
106
55
115
125
132
83
115
124
69
107
111
128
126
112
92
95
120
55
50
61
103
109
82
139
113
117
127
118
111
116
123
120
114
121
86
114
144
148
181
190
174
145
125
153
146
186
146
209
177
167
171
218
232
238
241
241
196
195
180
215
125
106
87
85
138
80
70
62
25
42
55
42
27
75
92
115
101
77
80
42
52
111
118
123
129
114
137
66
67
123
97
180
185
169
122
66
47
86
94
98
106
115
117
113
99
162
102
91
73
112
121
134
131
134
144
161
167
154
74
105
108
159
139
89
155
154
76
48
79
96
49
70
98
113
112
179
129
176
149
192
198
118
159
141
83
109
89
14
9
65
9
102
184
135
164
164
168
184
176
167
149
141
154
68
47
5
19
27
81
85
97
105
119
85
174
164
142
102
85
92
54
106
131
72
106
146
130
74
131
126
78
96
101
105
154
155
31
102
117
131
144
91
101
148
144
133
120
111
57
65
64
59
111
110
113
137
154
148
71
87
101
148
129
119
68
117
64
68
74
134
139
140
134
136
145
150
78
126
133
151
146
139
133
80
82
84
90
87
89
99
158
156
149
77
127
128
133
84
83
76
72
138
83
78
82
82
78
79
74
130
80
70
67
70
74
71
123
123
125
81
75
114
71
78
81
73
63
60
70
122
123
125
125
119
113
54
102
114
114
116
128
144
100
100
129
53
63
61
105
47
41
104
107
52
121
112
40
63
80
90
143
84
127
116
128
136
134
124
65
124
116
110
128
99
105
96
115
153
148
153
162
165
133
122
171
159
155
162
155
151
141
132
130
84
80
82
90
99
100
83
78
77
82
96
141
99
62
32
22
73
55
48
0
61
91
91
29
31
37
44
61
76
125
126
116
91
139
87
81
114
120
30
100
198
172
83
58
50
64
79
91
100
109
103
150
142
89
91
81
126
129
87
152
152
133
120
124
132
133
64
127
154
102
128
172
148
67
69
141
128
161
162
155
106
107
165
147
143
136
161
213
189
135
107
121
31
0
5
69
84
126
133
150
138
130
160
111
133
149
151
93
45
70
74
113
136
120
66
103
101
96
103
64
158
161
141
95
77
90
74
98
71
161
136
82
135
139
88
85
86
92
86
88
159
177
45
58
67
86
160
99
103
170
101
143
141
84
76
63
63
61
53
43
97
119
91
105
76
56
64
126
120
109
105
94
40
54
69
84
143
148
143
155
111
162
143
142
145
153
143
140
142
87
77
68
123
69
77
81
131
135
140
141
144
97
97
147
144
91
142
140
68
76
87
143
138
82
147
82
67
61
67
121
120
74
129
128
121
117
65
65
86
87
87
81
72
61
45
107
115
123
119
107
99
53
64
99
110
68
117
116
123
77
95
43
58
57
51
54
63
68
67
77
135
43
55
85
81
80
82
81
122
107
104
106
96
37
41
102
109
110
50
103
53
52
48
61
99
189
212
148
135
182
172
165
173
181
115
105
152
139
127
125
92
92
68
74
70
142
99
128
110
27
59
11
56
12
14
75
69
4
6
16
24
81
90
41
93
114
133
120
95
113
107
115
60
129
83
62
56
128
141
91
237
178
100
73
48
48
72
85
100
101
126
120
109
97
90
131
113
112
111
101
185
161
147
101
145
135
106
97
106
113
126
123
113
89
89
143
168
183
140
154
111
143
188
128
139
81
181
176
122
160
126
62
0
51
64
105
121
93
191
194
165
154
134
206
122
154
161
162
179
121
88
97
71
89
123
109
148
131
93
155
183
118
73
95
53
51
90
90
154
139
149
147
81
75
82
76
62
108
126
159
148
57
69
78
145
109
100
155
150
89
90
94
90
83
72
71
72
62
47
39
99
60
71
76
57
46
52
53
48
100
90
38
53
120
134
141
144
152
106
106
153
141
143
146
152
146
95
94
139
130
72
83
81
87
90
143
149
104
100
144
139
137
85
84
139
144
136
119
71
80
142
98
106
135
77
70
72
75
75
125
133
135
134
79
77
133
132
89
90
87
127
120
64
107
104
110
116
114
106
100
105
63
105
111
64
55
98
97
97
23
22
91
95
42
48
58
57
56
101
90
29
41
53
46
43
44
47
44
89
94
106
96
36
38
48
110
66
129
119
111
53
48
49
64
83
134
170
176
167
201
183
121
127
103
100
164
149
133
68
41
57
50
64
82
177
167
167
95
19
1
11
65
78
18
24
20
63
63
68
20
24
22
90
113
129
118
99
92
111
98
101
116
132
76
57
66
120
110
104
129
165
158
97
76
95
117
90
137
154
119
116
112
106
103
96
82
68
48
63
92
153
108
115
162
128
106
106
118
149
136
139
122
109
95
122
134
135
89
102
139
177
136
97
128
131
153
125
131
179
137
97
39
66
87
126
138
158
142
144
185
165
173
126
155
148
110
163
174
115
95
73
74
121
130
120
109
152
94
89
156
102
75
44
59
55
129
72
79
122
120
72
79
85
90
94
100
109
96
70
124
117
130
90
146
94
88
135
141
84
85
86
133
129
117
71
122
116
55
46
45
50
107
81
65
53
75
129
59
59
106
101
54
67
132
141
93
94
98
101
149
142
144
95
157
153
99
143
135
138
81
82
82
138
137
137
145
148
79
73
126
135
79
66
117
126
76
143
148
91
82
76
75
74
71
119
122
79
90
148
87
136
77
123
70
122
118
73
82
132
117
113
121
113
112
107
102
96
90
32
84
34
16
24
90
94
43
46
46
37
89
44
96
94
96
49
55
58
104
95
115
53
30
33
41
56
69
120
107
100
44
40
37
41
52
121
134
136
121
57
61
69
68
59
103
96
166
153
204
204
192
158
163
172
103
163
182
164
90
110
118
103
137
142
117
96
137
73
83
20
19
71
75
78
80
92
50
99
89
78
18
40
99
99
104
106
99
94
74
76
77
95
90
34
54
124
60
122
112
111
44
84
243
210
156
101
103
134
149
156
162
163
111
111
163
109
89
87
68
109
120
77
148
180
153
121
119
110
182
120
137
107
97
142
87
126
69
62
46
121
109
104
109
129
126
91
137
169
189
157
92
60
72
126
140
100
119
120
180
124
158
169
133
139
204
208
140
104
110
105
126
107
164
128
60
104
63
23
47
127
135
124
115
106
100
113
76
68
97
79
95
88
98
123
115
84
123
78
88
94
91
106
123
77
99
102
139
132
123
65
112
113
123
125
104
99
96
103
117
83
103
169
126
115
94
70
49
55
77
114
104
42
106
121
135
90
94
94
143
135
136
150
111
104
148
140
82
80
92
83
72
78
140
142
146
104
102
119
123
73
73
66
62
67
127
75
70
76
131
79
129
129
124
125
128
132
128
124
67
70
70
67
116
116
117
114
77
84
90
139
136
133
120
62
54
99
94
94
94
44
48
35
33
33
78
74
77
79
27
35
39
83
78
80
85
19
70
79
94
29
17
14
26
29
40
54
111
106
54
63
70
74
70
120
122
66
97
93
41
96
49
49
96
92
110
93
96
111
152
182
128
174
170
83
157
74
110
163
126
108
105
142
129
102
109
125
133
147
147
82
124
102
106
96
94
91
37
49
57
98
102
104
108
109
96
86
88
84
75
28
95
40
34
91
15
52
93
111
114
70
70
34
167
242
197
122
104
131
143
153
157
155
151
154
111
106
117
108
142
134
119
106
112
79
98
113
144
175
145
83
123
80
94
151
90
76
120
129
121
81
113
90
27
35
44
64
64
157
148
113
61
106
111
132
145
159
161
147
157
176
184
201
213
215
209
197
132
70
123
131
75
119
120
79
57
90
82
23
52
43
8
49
65
124
126
128
119
124
79
87
98
113
124
125
173
132
67
70
73
93
104
119
127
151
100
133
126
127
128
120
113
119
126
123
116
109
53
52
111
77
97
105
111
100
79
84
100
105
54
47
95
107
123
135
141
84
80
78
80
97
107
112
95
94
145
86
84
146
135
74
132
137
86
89
151
149
130
130
127
120
66
71
75
73
74
76
134
132
125
117
113
130
130
129
134
128
118
55
60
63
117
65
66
121
69
79
77
78
130
126
118
65
52
46
41
39
93
96
52
59
44
46
47
39
87
91
95
113
67
49
78
65
66
71
92
81
71
15
62
16
25
14
9
14
87
107
60
52
60
72
76
69
63
60
55
28
86
93
101
109
115
115
60
114
69
119
131
150
161
159
191
120
98
153
129
131
119
87
87
107
91
121
109
132
150
143
99
147
89
150
150
113
53
51
94
91
59
69
101
110
51
89
82
79
81
89
83
20
86
91
42
42
87
35
31
45
119
79
84
67
51
74
208
227
162
97
64
132
146
102
101
94
95
102
109
165
162
101
94
136
116
100
110
87
110
150
155
167
134
138
91
75
151
94
100
136
152
119
96
77
109
103
109
37
30
35
102
87
97
78
94
95
129
150
160
167
104
103
175
167
129
199
206
205
205
88
63
126
176
134
83
129
90
70
84
145
76
64
55
46
98
104
57
73
134
138
98
93
143
100
109
113
166
115
75
59
53
49
107
109
122
129
118
127
136
127
78
73
118
114
112
102
130
137
128
108
95
90
48
63
73
69
82
102
88
115
65
60
108
118
127
132
141
98
97
147
95
94
93
87
134
92
88
89
98
103
91
140
85
96
158
158
98
90
82
130
82
132
123
72
76
68
53
62
55
59
121
130
137
139
135
125
122
134
80
72
118
68
64
113
115
116
58
58
69
75
122
101
86
86
53
50
58
65
65
66
69
71
71
62
62
60
108
104
105
109
102
100
37
44
109
111
104
49
48
101
107
111
95
26
26
21
72
81
47
111
103
46
46
34
32
48
52
104
123
119
119
69
71
122
124
127
133
127
138
138
132
83
146
144
141
105
134
149
149
91
83
83
86
79
73
109
104
127
156
114
155
165
187
97
119
138
138
118
115
141
111
113
87
125
109
38
27
84
44
32
37
47
40
39
42
39
48
51
101
102
36
37
59
108
112
130
103
182
199
73
103
122
90
100
103
98
141
154
162
174
130
118
147
126
66
123
60
60
130
146
144
137
146
117
85
79
121
122
150
112
100
144
84
124
128
84
76
80
65
130
59
25
36
85
100
130
138
155
183
112
85
132
125
135
198
168
137
149
151
91
165
174
97
0
66
30
101
156
177
87
70
53
79
129
145
122
64
69
52
91
40
36
44
53
94
80
86
12
7
18
29
92
102
122
137
159
103
89
71
74
74
122
119
115
52
54
66
71
121
120
116
62
64
91
96
104
108
87
67
68
56
110
128
81
132
129
128
80
83
85
89
89
85
133
136
138
89
88
83
89
101
102
150
146
145
148
149
88
74
73
125
127
124
117
62
64
113
61
60
62
66
71
126
124
124
128
130
72
65
113
109
54
54
110
111
104
103
111
107
100
43
48
111
119
65
70
72
67
64
62
58
54
49
50
49
46
97
98
100
121
62
88
95
88
90
102
144
137
128
121
64
64
64
92
86
26
19
17
73
83
100
50
100
56
71
75
120
111
68
127
128
73
68
68
122
126
138
141
141
142
95
100
145
142
119
137
139
117
84
87
77
77
83
91
157
137
155
149
141
140
149
156
84
148
134
121
115
109
103
107
64
65
65
46
41
60
79
137
126
78
41
34
113
133
127
78
71
53
93
103
56
64
114
122
137
120
99
158
203
172
87
113
110
116
118
127
144
157
169
120
121
118
160
148
99
137
123
115
111
116
132
135
130
162
165
125
97
102
119
92
67
56
54
121
70
57
53
85
65
52
78
67
71
90
93
118
149
153
76
70
144
132
118
135
143
179
169
155
154
112
96
89
37
44
92
104
129
135
125
124
107
105
99
89
86
92
45
42
40
109
135
127
99
103
110
88
89
121
110
133
97
111
126
86
114
112
97
75
128
128
124
120
116
59
106
112
58
54
55
56
57
61
74
84
89
91
77
122
129
148
144
139
85
80
128
125
124
74
75
80
88
143
92
142
138
80
76
74
90
151
138
137
134
131
82
137
134
129
73
73
76
69
54
52
114
115
123
122
119
114
62
62
118
122
125
118
60
58
112
121
113
103
48
48
49
53
66
60
53
102
107
115
67
60
64
66
62
61
61
58
55
47
51
51
51
106
110
112
119
63
131
135
134
142
103
93
141
136
133
115
50
42
95
92
88
32
26
20
67
45
40
87
39
51
58
57
112
123
82
82
74
120
67
67
128
141
140
145
101
158
157
154
145
110
85
186
110
89
87
76
80
89
145
142
121
133
124
124
136
94
93
139
132
130
130
130
120
104
93
39
58
57
44
35
36
37
33
131
79
57
51
118
129
123
89
87
130
121
77
77
74
127
144
146
130
61
69
235
194
165
93
142
132
121
134
167
120
115
157
157
120
126
174
127
147
136
130
118
116
125
133
141
107
200
148
138
181
101
92
89
89
84
137
133
63
88
85
57
76
79
57
80
57
106
55
111
109
51
71
140
133
118
174
126
117
116
117
143
107
88
31
40
43
61
43
101
126
121
112
111
88
71
17
27
32
40
130
88
86
83
125
111
105
88
61
59
90
128
151
57
62
118
62
72
136
136
128
125
120
117
111
109
120
65
66
57
99
97
43
38
38
54
75
88
144
147
152
158
141
136
127
76
80
79
126
128
135
146
152
143
135
130
121
68
69
78
90
83
121
112
123
131
126
65
64
121
133
75
78
82
129
66
68
128
60
75
134
80
74
118
62
55
113
113
93
93
102
110
114
109
54
57
58
57
112
67
68
70
70
120
117
122
67
118
116
60
62
66
67
65
61
61
54
52
111
116
116
67
78
126
123
129
129
123
78
61
49
107
126
128
77
71
58
98
94
38
85
87
69
63
13
17
21
34
46
52
119
81
78
71
118
117
64
115
72
80
136
133
122
114
117
110
68
100
146
66
126
117
117
137
154
147
143
138
133
124
110
102
103
115
95
153
156
149
130
117
117
69
70
117
121
93
104
91
75
72
68
55
78
76
61
54
55
40
37
94
100
61
123
124
113
116
155
104
176
197
147
220
145
117
95
136
132
81
142
154
163
162
110
113
110
158
173
181
168
149
130
125
137
98
146
87
134
145
111
177
205
204
149
130
100
130
127
121
77
57
71
60
32
60
59
74
82
66
120
120
44
95
119
146
121
124
108
157
173
154
159
129
108
62
67
55
26
39
92
86
90
107
137
90
47
33
37
30
98
70
82
107
93
62
38
50
43
89
76
82
106
128
109
50
53
111
56
114
117
130
128
127
128
121
115
125
126
125
110
93
88
88
88
93
46
62
125
129
81
81
127
124
126
130
136
89
85
126
131
81
81
131
122
121
69
140
147
93
75
58
112
116
132
137
134
124
113
58
62
133
131
79
76
73
70
70
121
127
70
68
121
117
58
52
106
114
117
48
49
108
112
125
116
107
105
52
59
117
118
65
68
75
76
69
113
110
55
103
99
53
63
69
69
69
65
107
52
114
122
71
62
55
125
121
101
89
40
53
49
108
71
79
79
136
123
115
54
98
86
79
107
115
106
103
40
19
17
77
108
123
82
82
82
140
142
87
76
85
93
87
128
134
151
165
143
99
137
135
77
132
129
124
138
149
132
109
108
107
116
112
101
113
141
135
140
63
104
62
64
107
113
80
102
91
85
44
62
71
69
51
50
62
67
73
70
110
96
77
82
53
118
119
113
102
124
101
118
72
68
153
147
177
132
163
154
174
139
195
192
188
180
165
106
114
179
181
132
172
167
161
149
141
144
146
150
157
158
156
152
140
148
113
134
143
174
144
103
70
91
68
70
79
56
67
64
115
116
92
155
88
154
90
66
71
92
56
112
58
104
81
72
83
22
33
72
71
54
91
111
59
98
75
32
14
22
17
4
51
118
75
75
56
28
14
17
66
56
78
102
133
152
52
53
56
56
98
120
145
95
67
105
108
105
99
117
123
115
101
38
33
33
37
94
42
112
137
133
76
81
129
135
132
83
91
85
82
86
87
77
64
111
119
122
69
136
136
130
68
60
120
123
125
122
116
111
106
52
54
107
111
118
120
59
54
60
124
118
55
107
114
114
56
49
116
128
129
52
58
126
135
133
124
119
64
60
121
118
112
121
71
62
59
63
59
57
60
59
102
47
53
60
115
69
65
114
66
73
74
70
64
51
66
67
59
51
48
42
43
45
52
76
72
113
107
61
111
101
89
27
98
117
71
125
114
48
34
73
81
55
72
69
71
134
85
130
85
155
149
90
146
156
162
112
100
143
84
79
82
93
88
86
155
155
129
133
115
125
116
62
65
121
132
139
63
77
69
100
101
114
113
51
42
88
81
27
46
107
93
47
41
45
55
62
66
68
38
84
46
77
101
37
109
109
115
126
106
63
80
124
130
170
136
172
157
165
185
194
209
179
196
218
193
140
142
188
189
177
180
182
162
169
150
147
155
89
156
168
156
163
160
144
86
113
152
197
173
145
120
66
132
91
142
112
74
64
43
50
69
74
67
31
21
15
13
78
92
96
79
66
107
118
108
102
101
132
56
131
121
136
113
86
87
37
35
32
21
43
102
52
45
25
0
0
15
19
54
83
102
128
149
58
52
45
43
47
67
140
127
116
109
104
98
95
95
103
100
92
35
33
38
47
53
63
96
163
162
168
106
131
121
80
78
78
73
68
67
69
121
119
120
122
124
125
116
119
122
70
73
72
118
57
52
50
53
60
60
108
112
110
109
108
104
100
104
111
109
114
119
121
69
67
66
68
119
60
63
125
130
127
119
68
75
76
68
115
61
113
114
59
56
63
76
85
135
85
81
72
117
114
113
60
65
69
118
112
58
110
111
46
50
82
74
59
52
52
70
64
55
50
56
52
46
77
76
122
121
123
62
52
39
35
34
95
108
62
50
19
60
66
39
66
78
133
134
102
75
78
157
171
136
89
107
141
87
67
72
75
87
69
78
125
73
141
120
117
72
68
68
74
133
133
116
82
70
57
116
134
138
134
83
114
103
115
131
139
130
111
81
91
70
55
54
58
57
52
108
102
92
97
44
89
47
102
53
44
66
146
159
119
91
77
79
90
68
94
75
138
102
66
109
75
117
134
102
187
203
210
166
202
207
191
177
175
107
99
149
139
154
160
157
150
97
87
137
197
192
120
92
120
104
83
78
26
34
46
52
61
91
124
94
89
91
83
70
106
92
78
70
66
62
72
93
103
116
153
157
139
98
79
54
64
26
93
57
48
50
95
110
88
135
80
61
55
107
92
84
99
124
140
27
27
31
35
31
27
25
35
43
104
101
94
44
92
102
47
93
33
32
92
55
66
136
154
169
119
113
160
157
155
111
91
134
127
74
77
125
72
119
112
102
106
110
63
71
74
71
66
119
68
73
123
121
64
59
58
61
70
118
112
107
106
109
112
113
53
120
119
112
53
50
51
59
118
73
125
127
127
128
69
71
129
123
56
55
56
109
112
116
120
123
69
53
56
55
52
51
102
104
108
60
114
110
57
109
109
108
109
54
46
105
104
51
51
50
51
50
103
107
110
109
108
44
100
103
57
65
116
70
62
103
39
36
40
50
58
48
89
67
48
2
24
37
38
33
26
59
137
130
60
48
150
145
65
110
55
57
132
80
56
104
111
112
128
60
58
66
67
67
71
66
113
53
65
62
109
68
82
130
121
121
133
152
158
143
132
135
151
96
74
83
96
87
65
117
109
111
118
129
137
134
75
145
143
83
132
121
114
116
89
97
135
159
113
105
93
114
124
127
100
107
127
115
133
188
184
120
30
67
35
67
167
210
166
173
217
195
157
144
131
135
97
102
76
48
59
66
128
157
191
204
164
141
66
55
67
96
107
93
58
71
133
81
83
143
146
101
95
131
115
84
77
91
67
144
118
120
56
42
44
72
23
15
21
19
25
76
99
88
85
58
62
77
90
111
113
108
129
150
28
27
79
30
34
83
29
25
36
51
53
43
43
43
49
48
42
37
34
93
104
115
81
102
121
175
108
95
95
165
114
146
137
126
126
83
129
74
68
61
107
112
117
62
67
68
63
111
117
120
60
62
64
61
57
111
119
70
70
65
58
57
61
116
119
60
112
107
50
50
57
63
74
124
122
130
78
68
111
114
114
118
112
49
58
63
116
116
117
67
70
122
117
53
49
47
50
50
102
104
108
101
95
46
49
50
50
103
102
93
101
102
101
42
34
87
87
92
97
95
92
93
102
99
89
84
35
42
72
114
55
44
36
30
32
43
67
100
33
79
19
11
24
46
39
45
79
152
143
130
76
137
78
66
52
46
110
134
68
45
106
118
109
121
50
66
75
71
67
70
63
111
54
55
61
127
81
68
113
68
73
126
148
171
164
143
134
163
164
90
86
88
82
70
93
102
60
110
152
171
156
156
164
85
71
122
122
155
143
71
117
134
97
91
77
67
90
144
121
85
98
142
137
87
188
75
32
55
17
69
156
106
87
85
131
212
214
211
207
181
84
45
33
51
136
146
97
88
89
103
165
153
127
122
89
101
105
97
75
50
54
99
42
104
69
126
130
121
164
154
117
92
86
115
143
71
96
69
61
58
68
78
19
25
81
30
41
57
137
139
74
71
62
73
163
126
134
146
150
21
75
79
80
24
70
63
30
39
56
62
48
34
40
102
109
62
62
60
111
115
121
155
117
110
167
174
166
100
106
97
148
145
124
121
136
134
130
123
65
61
61
62
87
79
68
65
70
63
52
64
62
60
60
61
113
109
111
65
64
60
58
62
121
122
66
125
124
67
62
63
64
69
124
124
113
110
65
75
115
113
114
111
101
58
60
105
108
114
116
62
59
115
56
57
113
121
123
116
58
109
98
104
111
110
106
109
66
123
115
61
109
57
53
46
40
40
94
97
87
87
91
103
99
91
37
41
38
42
88
39
46
50
44
35
35
31
53
74
125
59
43
84
23
34
113
151
120
57
57
106
96
79
75
53
69
123
90
43
103
100
99
50
98
64
64
67
54
56
75
71
49
46
56
55
50
57
115
109
102
63
52
63
146
154
140
80
124
118
112
58
55
51
101
106
90
100
61
112
80
137
130
147
79
145
155
135
109
75
103
157
104
112
94
84
98
71
48
59
41
47
136
50
148
132
90
101
104
112
107
119
92
120
105
65
55
73
122
125
61
54
71
146
136
148
144
143
92
92
89
137
112
88
163
143
60
63
107
16
53
75
78
81
94
141
116
113
129
121
109
119
78
74
46
67
76
88
137
83
53
100
107
33
30
54
126
64
42
62
110
114
75
83
95
112
133
131
123
121
14
16
16
70
77
78
25
98
67
132
77
66
102
104
131
140
141
130
124
130
133
79
73
125
135
150
165
119
118
159
172
148
81
86
94
143
136
122
109
60
82
83
79
78
129
74
66
60
113
64
66
68
68
63
114
116
116
108
47
47
51
57
70
131
130
73
71
64
63
65
64
60
110
119
66
111
56
61
70
76
73
123
123
122
115
60
49
104
108
109
109
60
72
71
65
113
116
67
120
119
120
117
106
96
45
109
115
61
119
118
116
114
56
47
41
39
44
98
99
96
94
98
99
99
98
42
40
44
59
103
54
54
55
60
118
72
65
91
72
73
29
37
40
34
175
155
70
68
119
138
152
89
145
124
76
64
93
94
58
52
43
44
52
45
47
53
56
49
48
107
50
44
45
98
49
103
49
49
110
121
128
126
70
65
64
68
74
118
117
127
105
50
58
102
119
117
121
82
87
141
154
157
155
160
165
165
169
110
80
105
120
106
93
162
185
178
174
109
101
95
99
162
106
89
78
70
73
71
61
55
114
69
121
159
149
149
90
91
93
81
88
88
120
113
131
130
131
91
116
138
177
134
142
137
46
5
8
77
21
23
54
70
54
43
97
95
100
79
97
60
77
65
66
58
61
101
83
109
108
90
101
83
63
25
28
88
89
37
28
26
38
57
77
102
175
135
134
136
133
15
11
13
23
81
30
38
63
79
88
82
68
107
118
137
143
138
123
63
69
76
74
118
125
138
150
159
109
111
111
167
111
140
175
167
89
74
120
116
125
88
79
67
125
121
64
58
56
59
61
66
66
66
114
114
115
115
106
45
45
53
66
80
88
84
81
70
64
63
67
65
114
111
116
115
111
57
62
122
68
68
123
128
131
119
109
98
51
109
112
114
65
126
121
59
105
109
117
119
114
109
113
56
103
106
63
65
63
69
120
121
120
64
54
48
50
51
103
102
45
92
90
92
96
102
54
57
60
69
58
62
114
58
110
67
78
54
81
65
64
70
25
27
19
111
166
144
136
139
135
145
91
76
123
107
109
55
90
108
49
47
110
64
50
61
100
107
106
107
62
57
61
89
75
62
105
42
85
92
107
130
136
84
82
87
101
113
69
90
135
131
87
81
117
128
127
120
134
95
132
144
153
156
165
168
159
156
104
141
129
95
66
79
165
162
179
172
174
160
78
71
71
53
129
90
64
56
63
63
109
113
115
114
165
164
109
96
98
79
53
57
56
64
131
79
35
102
112
71
140
145
136
123
88
3
0
1
55
61
7
32
75
103
110
156
141
121
95
40
57
65
49
107
103
120
59
25
88
99
93
35
81
76
31
21
75
34
14
15
77
95
107
57
56
58
34
34
90
89
33
29
36
50
41
36
39
44
59
69
72
72
122
127
140
148
97
89
80
74
71
117
121
131
143
151
151
153
157
145
159
136
208
176
135
79
104
149
82
118
117
71
72
64
61
111
61
64
61
57
69
66
64
65
118
118
116
111
111
68
74
76
83
90
143
135
120
118
120
121
119
118
111
110
103
55
56
55
61
64
61
113
112
116
113
109
119
109
48
104
116
74
69
113
108
108
110
110
109
106
107
114
67
72
127
74
119
112
54
56
62
64
116
112
58
62
61
63
55
98
105
103
118
68
72
74
73
68
111
103
109
114
61
59
61
110
119
63
61
53
88
28
22
15
31
184
160
129
146
127
137
73
144
122
66
118
104
113
110
130
80
62
50
49
103
113
109
100
100
108
47
98
61
58
64
131
137
132
132
138
145
147
96
104
118
130
135
136
184
123
75
74
68
129
119
127
99
39
106
84
71
67
136
169
193
186
160
109
154
92
82
94
117
166
142
131
98
113
64
62
96
115
115
93
94
121
153
203
165
133
88
104
108
110
111
67
48
57
57
44
91
35
100
113
81
58
108
119
56
79
70
75
93
113
98
4
0
0
0
41
72
59
70
75
90
100
167
157
121
124
113
109
157
159
170
124
116
79
45
14
13
11
30
31
66
69
8
18
17
17
70
79
102
85
111
93
108
168
162
43
46
50
52
99
92
86
27
88
43
110
127
79
123
137
89
87
78
67
56
50
47
52
119
140
151
94
142
142
155
95
79
133
138
144
91
123
68
61
113
134
75
60
56
56
58
60
61
60
58
64
112
63
73
131
130
129
114
115
124
129
125
123
73
121
113
120
130
130
123
116
115
115
111
103
65
74
73
76
65
72
78
134
131
126
125
115
108
48
50
113
68
67
62
111
111
109
54
103
105
59
65
57
54
53
105
105
106
108
62
64
59
110
115
70
77
121
123
121
125
128
110
109
110
57
105
103
56
128
74
135
143
138
79
74
128
69
116
113
62
63
68
67
57
59
71
137
152
151
112
107
129
124
80
66
137
142
56
61
116
58
54
65
108
91
89
94
99
114
74
63
118
108
58
108
103
105
119
133
139
156
154
144
80
119
45
24
26
28
102
66
70
66
65
60
127
137
143
158
113
120
178
161
154
159
161
163
169
148
100
104
118
121
97
148
180
75
77
75
83
96
84
114
90
141
136
100
114
114
141
164
123
102
98
16
32
43
39
29
75
94
49
86
73
55
59
61
47
83
87
99
76
76
94
70
75
55
37
33
98
129
89
70
50
42
31
55
51
119
112
73
96
50
136
158
110
87
81
87
81
99
84
45
30
15
78
58
23
26
26
21
75
93
69
91
99
104
163
161
47
52
104
102
52
48
92
89
94
48
61
133
86
127
88
89
84
126
114
110
110
60
50
49
59
121
73
131
89
155
88
94
126
53
54
108
125
75
121
58
114
63
58
41
94
45
48
52
61
63
62
110
113
123
130
127
122
119
116
122
76
75
74
123
114
125
69
123
120
113
112
117
105
101
41
61
72
73
76
73
78
132
129
72
122
125
113
59
57
108
111
114
113
116
110
54
53
52
50
53
56
58
55
57
110
108
106
106
64
71
69
60
58
116
126
128
115
115
118
77
126
97
102
94
39
103
70
82
74
139
147
147
132
113
104
109
70
72
126
67
54
54
61
60
110
53
73
83
61
98
128
92
140
141
134
137
77
89
83
82
77
75
123
88
82
99
107
114
70
69
96
89
85
46
115
138
166
181
165
138
126
109
87
78
83
34
31
26
82
50
59
71
71
111
75
64
124
141
142
153
114
163
167
126
124
150
76
137
101
121
137
150
146
112
97
155
52
55
57
73
81
66
111
131
137
129
126
131
154
182
178
88
113
58
42
52
42
57
47
51
128
117
114
54
55
30
23
44
112
111
45
70
50
52
46
116
120
69
138
138
113
136
134
121
90
54
48
56
123
76
63
134
18
46
58
81
152
89
139
144
58
37
48
23
57
71
4
5
62
66
69
82
107
85
104
91
90
150
156
56
59
107
97
97
42
84
34
91
98
53
62
129
127
83
85
135
125
119
67
71
73
52
50
49
47
44
54
67
61
78
95
82
72
81
149
76
76
124
64
112
70
80
56
101
97
100
52
59
115
117
63
115
118
118
114
115
133
135
83
83
83
81
127
119
124
128
117
105
108
113
109
54
63
68
112
61
72
80
70
67
116
109
54
126
114
105
109
109
109
112
112
113
119
113
113
62
58
60
65
63
125
131
142
149
148
140
134
137
77
64
52
51
63
72
126
133
129
116
45
87
84
97
95
49
119
139
97
90
123
123
122
112
96
32
35
53
55
48
95
46
52
59
67
59
67
124
109
50
42
25
94
138
152
146
93
89
94
140
62
55
49
84
119
121
110
94
81
87
97
92
112
169
175
170
153
144
145
142
132
121
106
93
91
91
37
39
97
92
86
40
49
57
61
60
73
129
125
148
143
123
98
89
160
128
127
132
113
67
27
24
37
31
47
81
163
81
53
55
54
57
83
85
135
167
138
137
170
152
149
139
118
167
146
148
96
105
136
92
71
85
49
67
80
146
112
54
86
123
67
45
99
55
91
138
151
144
92
58
73
92
122
143
147
125
95
57
78
18
64
130
25
11
34
38
73
101
169
148
96
23
17
35
49
32
71
62
73
82
73
76
76
72
32
33
37
34
86
35
62
59
52
97
91
87
85
87
88
94
97
48
112
124
131
132
129
122
119
118
65
114
46
50
62
66
63
77
99
138
134
95
79
74
127
129
57
136
160
160
108
96
97
57
57
59
113
113
108
107
107
104
49
105
115
126
135
96
89
79
124
129
133
132
125
82
128
128
115
105
105
55
59
58
52
54
66
66
112
58
113
113
59
111
122
123
124
128
126
71
121
113
64
58
46
46
56
55
52
59
67
105
104
59
114
109
102
99
113
114
135
132
128
127
72
72
79
130
125
113
107
108
99
100
104
107
103
94
96
129
70
119
124
128
126
63
48
52
44
84
82
31
28
30
89
44
47
103
65
113
90
72
104
112
60
154
172
109
123
106
100
94
133
115
89
106
74
76
100
106
120
177
135
124
124
139
152
154
153
155
147
126
107
99
43
91
92
38
42
56
61
64
66
119
123
89
139
141
149
147
172
89
87
104
122
126
129
98
85
96
76
51
47
38
35
53
63
117
73
82
98
109
79
61
149
152
173
176
183
175
158
118
111
104
89
76
89
152
90
167
113
113
134
132
69
33
109
80
87
167
73
80
40
150
202
97
140
192
140
157
93
90
94
103
103
93
76
92
77
81
53
51
45
40
62
127
50
48
111
34
14
10
19
29
78
73
65
93
132
73
123
142
139
93
108
102
162
173
178
62
57
53
50
92
88
86
82
87
95
97
41
50
126
70
72
73
123
125
125
72
120
108
106
62
59
51
53
65
52
53
87
96
86
122
114
80
94
151
134
88
90
101
60
62
65
64
115
107
103
52
51
50
55
64
75
81
82
81
132
126
125
127
128
75
81
125
125
114
108
111
60
121
56
51
67
66
62
59
113
115
113
61
115
118
125
123
121
114
57
56
104
64
52
90
91
48
45
40
47
55
106
98
100
103
101
101
104
122
117
122
67
69
128
131
66
68
118
121
124
64
116
127
121
117
113
52
42
54
86
76
115
109
110
106
95
90
47
45
39
93
44
43
94
38
46
95
99
107
104
38
91
119
54
55
145
168
134
196
112
90
80
116
95
88
97
97
120
136
131
83
79
121
81
146
101
156
157
152
146
147
137
128
129
130
76
129
81
87
94
92
144
149
103
117
128
169
163
165
110
134
94
149
110
118
119
125
116
96
84
77
129
134
138
132
78
134
128
131
71
71
84
65
67
107
185
202
173
168
160
163
148
94
93
92
97
150
148
178
138
128
189
105
95
101
96
127
106
129
102
44
40
104
178
101
107
150
178
172
178
126
130
130
126
111
90
89
85
86
66
32
100
97
101
107
43
39
112
88
75
25
72
24
34
41
92
68
101
148
134
115
128
132
85
90
108
120
186
192
68
59
106
58
49
49
105
101
99
101
102
47
51
118
57
62
120
128
135
85
129
67
60
119
121
70
71
71
70
121
116
70
78
79
127
69
116
120
123
117
49
50
105
104
58
60
109
107
108
107
60
115
64
58
57
60
62
63
123
76
125
68
68
121
68
64
70
117
59
62
61
51
49
61
70
48
37
96
59
60
55
45
101
61
109
122
122
65
60
67
78
75
80
85
80
130
128
124
128
82
81
111
105
113
118
116
117
73
58
60
126
64
56
57
58
117
116
62
67
68
60
62
116
95
79
80
83
33
54
54
61
63
109
106
110
116
62
71
64
51
100
51
47
95
49
114
128
92
152
154
104
131
59
52
66
50
109
140
135
145
159
114
160
97
148
173
166
85
60
70
92
85
138
143
89
82
84
95
153
151
147
139
128
72
116
53
48
50
99
45
50
58
119
124
135
137
130
120
129
55
21
18
102
141
167
129
137
125
106
79
148
151
96
74
106
142
161
172
179
110
98
95
117
137
86
147
147
139
148
152
142
137
139
139
99
117
179
112
145
115
120
153
142
128
79
148
130
18
8
105
127
63
23
98
91
133
188
171
127
164
112
175
137
201
199
134
200
157
154
153
100
102
84
161
126
90
86
81
71
69
58
62
64
19
82
81
64
103
119
60
112
113
117
85
89
95
98
99
98
67
61
58
110
54
53
110
111
118
120
60
58
65
117
59
113
66
65
59
60
114
56
65
124
123
118
68
79
91
149
152
175
121
112
144
70
69
117
109
103
110
109
103
105
100
102
113
63
107
112
62
61
115
62
55
101
56
65
113
111
116
69
68
114
56
111
65
65
71
68
56
50
64
71
73
68
63
61
68
43
45
51
107
109
111
117
122
65
59
63
67
59
66
76
70
73
71
118
126
86
82
119
110
109
118
76
75
69
117
72
61
59
67
125
71
48
58
118
74
54
50
124
87
124
99
80
81
45
109
90
96
102
112
70
123
121
77
75
74
72
122
120
121
123
117
123
144
154
147
137
84
83
98
85
125
39
35
138
165
175
180
131
139
161
126
125
128
89
88
121
125
150
149
125
134
106
110
160
158
145
77
103
112
74
101
96
114
96
88
145
92
77
54
25
58
118
124
110
109
97
59
63
65
84
108
116
118
118
135
116
165
174
155
99
80
147
161
155
176
120
105
154
56
63
195
98
102
172
179
187
194
162
148
140
130
145
131
115
68
53
56
81
123
140
125
101
27
168
110
71
86
7
73
91
74
87
156
143
131
181
166
135
193
214
205
195
208
154
96
109
93
95
151
186
208
166
109
183
83
78
55
12
69
80
91
34
42
42
71
34
65
115
104
108
57
72
84
143
87
69
66
65
65
56
56
111
113
70
125
69
65
67
58
54
109
115
64
62
67
72
70
126
128
121
60
60
69
132
82
138
144
141
143
136
119
119
118
114
109
114
115
111
103
105
59
61
110
53
111
59
56
56
59
59
58
63
62
111
108
110
61
60
107
48
41
65
75
81
72
51
38
111
121
74
82
72
57
49
46
49
108
115
118
113
115
63
59
55
57
62
58
69
81
78
81
78
68
72
82
81
57
52
53
63
71
68
61
72
72
55
58
71
126
121
111
64
65
70
68
68
136
114
114
109
100
96
43
26
90
44
102
112
73
124
120
62
62
61
65
69
70
68
117
131
111
70
79
75
123
124
121
81
78
39
20
27
57
79
139
160
180
180
151
150
127
129
102
106
128
128
141
131
132
159
180
167
151
92
80
129
112
125
74
104
99
92
106
144
127
91
27
36
49
55
73
131
102
97
91
49
45
114
140
158
164
118
119
126
195
186
112
51
126
106
154
162
174
114
91
127
164
126
130
115
103
146
134
148
140
153
180
153
169
173
168
131
126
80
78
92
75
98
97
129
102
71
61
19
23
0
33
66
96
91
72
132
152
154
186
123
154
210
213
188
181
200
148
111
96
66
89
157
191
209
195
151
115
83
11
88
10
24
112
111
39
70
66
46
51
74
77
122
124
131
81
80
74
69
68
70
70
67
57
58
113
119
69
67
114
60
61
57
69
122
126
123
64
119
75
74
124
116
104
42
41
50
111
105
105
94
102
133
148
140
82
128
118
109
103
98
95
103
62
67
59
107
58
106
45
44
96
101
55
60
62
60
109
107
108
110
110
53
102
49
52
56
61
68
73
68
124
126
75
85
76
109
98
113
55
104
106
110
114
63
51
51
48
47
102
52
77
86
77
69
66
65
63
66
118
123
119
67
72
76
123
63
46
54
71
139
152
95
132
77
126
61
46
51
52
101
96
103
103
96
95
54
76
125
121
110
102
109
111
108
138
82
79
77
71
115
105
97
99
59
80
90
82
71
117
116
62
64
64
119
74
78
108
79
114
143
194
192
156
144
141
143
159
150
140
128
98
112
141
162
159
148
132
61
116
116
76
75
124
135
127
139
114
78
95
93
30
32
43
115
133
109
94
90
98
92
93
115
98
162
154
148
135
119
134
56
54
171
168
167
176
139
173
78
50
94
145
195
120
148
171
119
118
199
137
210
199
201
192
118
90
70
81
55
77
76
113
109
125
137
125
70
95
102
63
77
67
106
118
68
105
136
143
164
114
131
115
115
153
179
182
154
116
80
103
152
137
99
181
160
210
95
116
99
65
2
66
81
84
45
30
14
23
30
56
90
147
141
105
110
115
160
156
65
115
109
52
57
63
64
119
112
50
46
49
108
122
65
119
123
117
106
108
63
116
57
52
50
50
105
111
63
136
136
151
157
164
158
140
116
119
79
93
85
117
103
107
109
110
109
57
58
52
56
59
110
105
103
56
61
64
63
114
115
118
119
119
120
79
71
118
109
65
74
69
65
76
82
137
128
64
114
109
110
116
123
123
57
53
56
59
53
50
52
55
121
120
104
36
39
53
105
99
49
53
50
101
56
63
65
113
110
116
103
47
54
58
107
52
53
110
61
80
89
136
119
124
122
112
54
54
102
116
122
123
132
151
104
143
124
127
126
67
108
104
106
59
93
82
80
78
129
130
132
143
142
84
106
137
81
165
147
73
56
67
150
193
197
202
196
137
191
166
140
105
92
103
128
155
110
147
131
75
115
96
72
119
163
137
125
114
122
118
36
96
112
48
45
30
48
109
98
98
117
105
128
123
107
123
155
196
199
159
190
121
87
80
67
170
177
203
73
78
109
74
188
88
96
172
91
80
200
116
147
210
147
165
151
113
117
114
82
120
127
88
85
156
104
86
119
109
98
82
22
45
75
108
122
110
138
128
82
141
97
163
122
150
157
156
211
157
135
101
115
179
151
83
134
179
176
113
112
80
77
76
11
15
43
50
31
32
43
102
110
125
86
144
151
103
104
141
129
68
65
58
54
63
63
59
109
108
57
59
116
117
65
66
122
128
124
113
64
73
127
70
69
66
65
64
63
62
121
117
125
128
135
93
94
136
137
90
92
67
105
100
56
108
111
60
57
50
52
60
61
56
103
106
62
66
67
66
64
65
66
119
120
121
136
126
122
110
120
82
77
60
71
76
84
130
120
118
113
112
65
69
66
55
55
61
61
109
52
107
108
110
111
103
41
47
58
51
94
99
53
52
52
57
114
113
108
55
112
95
42
55
66
120
68
56
109
62
72
74
63
110
107
97
36
40
52
59
122
142
151
146
143
137
129
80
82
86
141
143
96
103
161
147
80
86
100
113
173
125
107
115
126
99
84
104
135
121
146
147
120
115
132
158
193
194
186
191
178
152
118
98
93
106
138
155
87
67
65
61
103
82
110
151
141
134
135
134
56
55
73
81
70
57
40
52
52
112
126
147
155
105
150
164
202
204
130
98
197
185
89
72
72
88
148
173
173
118
130
133
119
147
84
155
159
85
113
171
118
131
149
147
105
156
124
112
64
107
57
126
154
107
128
55
133
122
145
114
23
34
21
71
136
166
138
93
83
151
134
81
93
105
136
148
164
145
151
163
140
187
177
83
89
117
142
182
130
84
59
7
51
7
30
39
27
8
24
37
57
119
120
81
91
87
61
54
96
89
63
61
63
68
61
57
110
108
111
119
77
76
63
51
76
133
129
67
69
134
139
83
68
125
71
65
61
114
117
114
116
122
117
113
116
70
85
119
58
64
56
104
110
102
49
113
112
44
55
93
43
52
51
102
61
67
59
61
60
62
63
63
62
56
52
96
124
88
140
129
121
119
66
60
58
67
64
113
115
107
108
56
55
58
117
63
68
67
111
50
47
53
107
109
115
65
116
115
108
107
115
129
134
83
73
58
57
118
125
111
66
112
112
65
61
96
47
47
45
101
104
52
67
109
50
55
64
71
75
74
123
124
126
120
56
51
51
57
68
72
76
85
130
111
118
73
76
65
64
123
68
77
89
85
82
112
187
123
75
86
91
77
58
47
52
116
53
83
163
165
185
128
144
108
93
62
84
90
93
94
80
84
79
78
92
158
163
176
120
88
119
35
33
64
48
46
75
85
68
76
81
113
202
170
162
63
107
164
3
4
49
69
73
108
115
65
133
143
178
170
146
218
98
88
130
141
172
165
153
101
151
143
128
74
127
71
107
86
55
63
108
120
149
57
149
145
136
65
130
77
92
0
70
121
92
64
90
128
139
87
174
186
186
190
163
84
74
106
157
144
208
181
160
153
63
38
34
113
108
75
60
50
15
21
16
19
4
26
29
32
33
33
35
39
44
58
82
111
183
104
102
50
103
47
49
104
109
110
112
111
52
48
61
121
123
69
67
76
139
135
71
114
110
58
62
113
108
102
100
107
121
120
75
97
116
95
130
116
68
69
66
70
57
122
46
105
117
91
78
45
44
98
104
55
52
52
63
58
53
51
52
59
117
122
120
123
127
125
120
118
117
122
116
65
70
64
60
61
125
120
59
51
51
66
120
117
119
118
114
60
58
97
52
56
111
116
124
122
120
126
126
77
80
75
116
59
112
114
124
126
59
112
67
66
109
107
52
51
57
103
95
98
56
122
77
71
59
52
57
59
110
107
56
62
69
71
82
79
70
66
58
116
139
134
80
67
108
67
89
98
98
116
95
134
116
78
118
126
70
63
57
114
86
2
19
124
126
118
151
155
140
131
141
152
102
101
108
108
97
126
124
103
83
80
89
98
175
173
81
108
93
131
119
112
120
125
101
150
166
129
114
96
169
157
163
85
54
96
66
145
139
147
168
161
141
156
167
157
176
211
120
197
178
107
69
63
98
135
92
81
106
147
175
192
123
100
95
100
136
99
76
53
117
103
129
130
106
121
63
58
19
99
107
56
74
135
147
120
87
167
187
204
151
177
169
131
123
87
149
156
119
44
26
31
61
81
73
62
8
46
72
73
10
15
17
25
33
95
112
78
91
96
95
92
114
118
126
131
99
101
99
98
94
97
101
110
108
53
50
49
101
112
114
117
117
64
71
132
130
70
119
114
113
63
62
58
53
108
60
69
119
124
141
106
89
128
66
68
73
70
123
76
62
39
73
136
136
143
66
57
47
44
50
114
114
61
110
55
104
104
110
62
118
117
126
74
119
114
114
117
79
74
72
76
69
66
68
75
67
52
41
93
118
71
124
120
62
110
56
107
101
101
52
55
114
124
123
120
124
73
75
77
126
117
109
106
117
78
119
104
54
59
109
107
107
102
94
98
107
60
104
56
113
60
51
42
43
44
104
109
59
115
124
72
122
120
56
60
79
128
74
150
134
132
115
107
65
79
85
77
99
94
118
64
67
110
111
94
99
71
76
79
73
44
93
101
112
121
129
106
123
107
61
86
101
99
95
91
126
127
105
78
125
141
159
113
109
101
124
129
123
129
148
123
153
160
94
158
174
164
152
94
99
182
163
75
54
56
62
119
146
107
87
141
153
143
102
176
194
160
193
135
48
61
83
101
116
102
96
96
151
179
177
177
170
143
85
142
100
132
90
107
123
166
110
58
56
48
56
81
141
142
112
137
128
134
179
87
172
196
198
195
124
159
109
123
74
131
145
76
60
33
47
76
88
35
75
19
58
103
94
79
92
91
55
77
127
73
76
82
87
89
88
110
98
87
75
99
105
108
104
99
101
101
109
102
45
48
56
114
100
102
108
112
110
56
112
117
68
125
124
117
55
51
55
60
59
58
67
68
114
112
60
70
128
80
84
83
75
121
98
69
119
200
190
209
169
152
78
39
52
56
45
102
102
104
109
111
109
110
110
112
111
72
64
105
108
122
134
117
111
59
59
55
57
116
71
69
116
60
61
71
122
116
112
59
64
117
112
46
48
104
107
112
117
113
108
112
61
64
69
72
125
123
121
115
123
109
111
115
114
115
117
112
109
114
127
115
49
88
31
81
34
38
89
36
51
51
106
114
67
118
66
65
120
76
80
65
92
78
79
69
64
61
56
47
45
3
55
90
132
45
46
13
57
56
67
25
21
10
15
28
20
4
2
64
59
45
67
83
104
64
44
14
5
1
0
52
44
46
57
64
9
3
16
12
90
18
35
82
102
54
164
108
102
53
81
95
68
131
152
190
67
101
190
166
126
59
130
165
163
86
60
125
158
99
208
195
196
190
143
93
97
89
84
106
112
41
168
206
118
176
186
172
161
84
82
147
166
85
91
77
139
91
58
91
91
85
56
78
69
109
156
170
177
195
95
191
212
190
192
181
152
87
75
144
105
104
120
121
123
117
91
60
51
90
70
78
111
75
67
86
81
51
48
110
72
83
82
121
51
37
21
31
43
51
98
58
117
113
103
100
97
46
99
47
47
104
110
51
101
103
107
112
64
63
58
53
105
101
93
33
82
85
88
44
104
67
63
57
57
63
116
130
139
134
69
64
56
48
36
115
120
146
151
137
44
48
58
53
51
134
152
131
73
64
104
93
93
97
103
66
68
116
116
124
130
78
105
100
97
99
99
55
65
54
104
98
94
93
45
44
42
31
77
29
34
86
86
74
82
88
91
91
84
81
88
95
97
43
43
97
99
99
88
99
104
107
96
90
102
103
124
140
133
85
17
11
17
68
69
72
72
18
73
22
18
83
107
60
40
27
36
25
41
40
59
55
66
52
65
69
81
89
90
122
177
163
75
88
138
76
108
117
49
39
46
119
125
44
45
29
41
42
31
80
98
122
81
11
10
29
47
60
63
60
58
72
124
106
86
74
73
65
68
75
38
26
6
5
0
7
0
52
15
86
119
90
111
128
89
113
160
128
154
176
218
219
200
135
167
168
148
128
187
155
107
187
190
124
53
88
101
81
83
79
84
161
98
113
169
168
159
167
164
167
149
128
99
103
118
164
137
30
58
62
78
101
121
108
107
117
164
207
154
123
113
136
136
135
65
80
71
142
143
133
160
115
28
34
53
75
92
69
102
101
133
140
98
112
126
54
93
96
99
102
50
100
47
100
103
50
53
55
53
45
56
67
121
106
97
38
48
99
46
47
103
105
55
106
110
111
113
67
73
70
63
109
109
50
45
43
41
88
103
90
45
42
47
55
106
110
76
81
120
61
109
106
77
84
115
166
169
124
50
122
53
42
62
94
154
143
64
66
64
57
56
116
113
106
53
101
108
116
121
118
60
49
47
93
90
96
42
33
31
28
35
86
70
34
35
38
32
77
76
84
92
34
77
76
72
69
72
80
86
87
97
92
77
24
86
86
77
82
90
89
80
82
99
115
87
139
133
120
99
95
92
41
46
88
76
79
87
40
50
56
61
98
87
52
68
69
67
48
78
70
19
75
80
106
112
112
116
156
125
150
95
122
131
139
89
131
126
111
109
73
89
76
62
77
66
63
58
64
136
141
68
2
3
4
65
88
57
60
50
61
56
50
103
96
84
85
24
94
87
45
39
76
77
23
13
12
7
95
113
95
77
98
94
94
70
131
134
124
215
201
179
172
104
122
142
161
146
196
108
95
182
89
72
94
116
88
77
80
56
86
122
83
183
161
158
186
122
129
166
128
138
58
87
108
160
185
88
58
72
82
92
145
110
112
93
104
108
107
89
80
143
160
172
120
77
55
99
103
121
140
102
55
79
122
123
47
102
92
93
125
101
75
91
31
94
76
86
103
123
80
79
78
82
139
75
73
81
80
46
56
116
58
44
44
45
41
96
51
55
107
106
99
96
103
112
67
75
82
84
83
75
72
68
67
121
119
63
61
51
43
37
90
94
95
94
47
105
115
126
127
134
119
144
83
92
143
138
92
78
79
83
87
79
64
54
59
65
68
63
60
64
114
111
113
113
113
110
108
104
100
100
54
59
100
97
45
43
40
89
99
109
114
71
64
65
60
51
44
96
97
36
80
37
49
60
70
126
120
112
133
121
114
61
113
112
110
122
121
129
137
90
90
87
59
68
128
128
123
122
121
77
82
76
66
66
119
62
63
60
119
128
81
85
81
61
75
76
118
114
117
73
134
134
147
161
121
103
76
73
85
89
89
145
137
124
121
66
120
127
79
84
89
77
65
73
136
145
140
127
108
46
78
9
6
70
88
54
68
101
105
99
145
136
129
132
104
98
128
96
154
141
136
116
58
62
60
53
107
94
37
28
85
110
79
84
119
105
133
99
98
138
162
179
167
133
165
170
88
118
85
86
77
71
71
61
48
45
51
110
77
124
138
106
168
141
92
102
103
57
78
104
91
103
125
120
89
76
37
50
109
38
100
75
59
100
49
40
129
144
151
150
138
166
130
83
72
105
90
94
92
97
108
80
70
83
102
111
64
56
110
97
101
73
77
46
126
139
151
149
143
144
99
105
88
97
113
113
58
49
39
92
111
55
44
45
51
111
67
68
69
68
116
113
115
74
85
139
79
70
67
65
64
64
64
117
65
59
58
46
48
53
114
122
120
117
63
116
101
110
134
61
118
157
194
139
115
150
146
131
73
71
64
58
49
105
107
55
102
98
102
107
111
109
108
105
100
99
103
53
96
94
40
39
91
92
41
44
48
100
102
104
101
48
43
47
49
52
59
69
128
83
86
80
65
55
115
137
154
114
112
122
74
68
117
120
121
128
142
139
76
63
53
61
124
78
124
113
120
127
109
119
71
72
126
119
52
53
61
71
126
64
101
44
77
79
68
110
65
130
139
94
133
157
166
151
105
112
92
78
69
65
73
68
59
106
101
52
123
143
79
81
106
98
74
60
120
125
68
78
87
82
74
60
85
6
0
3
17
30
39
49
120
141
150
154
160
132
140
182
161
147
96
117
119
99
115
102
116
123
53
121
159
176
119
93
133
144
143
139
131
141
167
149
127
74
88
112
66
46
37
44
54
81
119
103
71
76
52
30
36
67
89
157
156
138
111
128
125
66
131
156
177
174
130
107
110
131
169
107
102
146
158
113
140
129
86
108
98
119
60
66
117
72
82
134
129
81
9
29
75
58
31
107
148
94
171
135
146
126
81
80
130
90
66
75
139
144
137
129
128
128
73
41
38
43
41
107
54
49
43
99
46
46
45
53
64
72
74
74
129
120
63
64
126
83
80
68
59
54
56
59
59
59
62
118
52
66
59
55
58
66
81
53
110
118
125
79
100
181
58
60
133
162
179
173
156
137
82
141
84
63
54
106
100
100
102
102
103
110
116
121
117
117
115
112
59
61
62
51
99
44
49
50
53
56
107
61
60
61
117
56
58
47
52
57
112
118
75
84
84
79
122
116
119
75
80
132
106
119
83
139
129
120
116
128
132
80
125
121
122
125
75
72
68
117
123
120
115
113
120
122
123
124
117
53
52
61
62
108
50
97
104
71
71
61
105
114
72
129
80
123
161
114
123
171
104
101
85
74
71
65
62
55
42
44
108
122
78
79
95
93
70
58
57
119
118
111
82
92
88
78
61
37
15
8
10
0
1
7
66
87
106
59
122
132
109
157
140
121
109
93
146
145
91
89
79
69
114
108
120
148
165
107
97
99
82
135
133
123
90
172
147
135
104
72
46
50
69
70
149
134
151
131
162
75
77
55
37
35
65
121
73
114
157
113
167
160
113
118
138
126
142
109
105
118
138
174
161
89
160
188
80
87
118
120
116
112
123
147
94
77
103
98
67
100
85
86
49
79
61
58
88
114
109
134
147
131
128
99
103
97
96
51
129
130
120
104
99
107
60
111
45
44
49
95
105
96
87
87
102
95
31
39
105
69
80
79
127
118
108
113
123
130
75
65
60
62
67
72
72
64
55
57
65
114
58
67
158
115
86
58
71
133
135
82
136
86
147
146
84
117
115
119
114
150
91
90
153
96
119
54
51
42
94
99
108
114
117
115
62
70
129
131
126
117
53
97
90
94
105
58
53
60
71
114
65
62
68
85
57
47
66
124
127
124
122
125
79
65
67
67
117
117
67
66
115
127
81
81
79
133
135
135
121
70
65
61
65
127
136
122
73
70
57
111
133
149
98
92
131
120
115
108
109
83
39
34
36
110
118
109
115
63
47
30
85
104
75
92
108
130
162
110
156
156
91
148
145
91
60
61
54
30
38
33
50
77
81
78
90
78
66
56
54
48
92
94
29
34
40
53
74
88
78
110
43
33
80
78
34
88
73
69
61
63
4
3
11
68
56
88
104
44
40
34
28
41
109
105
105
121
71
104
112
120
76
132
114
71
126
77
79
143
170
98
104
106
174
144
135
162
141
195
143
162
146
62
63
98
133
130
105
160
115
120
115
178
134
111
145
174
133
108
99
49
135
114
91
38
69
43
109
88
95
190
217
129
116
166
129
136
103
81
67
100
45
47
65
59
80
85
71
108
129
181
141
133
85
120
108
109
86
56
64
119
120
129
140
81
117
87
60
92
106
97
101
106
110
104
98
94
42
106
119
123
124
71
110
106
110
117
68
63
58
60
69
61
114
63
66
67
65
61
124
111
128
161
115
113
178
119
163
161
114
96
92
159
157
145
132
123
118
124
131
106
82
179
172
115
82
162
117
62
113
116
122
125
71
68
77
75
127
130
134
131
125
114
116
63
61
66
121
68
56
51
51
57
121
83
138
84
129
123
70
124
123
125
123
69
119
66
62
56
50
46
65
128
126
119
123
75
122
114
67
103
55
58
51
96
117
125
122
61
138
140
131
105
45
100
108
104
98
97
108
55
53
55
109
111
115
111
92
88
55
78
140
137
84
64
122
139
98
148
144
145
146
139
125
56
71
79
121
112
55
52
58
68
66
58
24
14
7
15
36
58
83
129
77
83
146
152
150
147
145
117
61
62
56
112
116
109
112
113
118
76
76
68
112
35
97
100
33
65
47
43
90
102
100
58
82
81
120
108
81
132
131
55
61
140
105
78
156
100
123
127
77
81
101
60
147
196
144
186
183
146
138
182
99
118
109
119
163
122
128
51
215
187
127
128
81
89
78
74
22
97
117
171
113
87
90
123
102
67
62
97
35
51
112
54
59
91
100
78
78
94
113
83
11
91
89
74
115
125
133
161
137
114
143
163
159
145
83
77
38
26
22
70
97
54
148
127
123
110
98
105
110
111
51
47
48
102
108
116
70
73
72
110
108
112
65
118
62
59
62
70
56
114
122
131
79
123
112
92
104
118
167
185
170
108
157
106
104
107
97
89
95
149
148
126
106
110
125
89
133
126
174
123
83
102
171
118
69
126
129
130
75
73
72
79
125
128
137
145
142
133
123
69
67
71
75
122
62
61
57
56
61
121
132
84
85
79
74
75
129
130
131
74
74
75
127
65
53
52
59
76
83
127
63
67
78
81
83
75
107
111
55
99
96
108
106
121
81
84
126
98
89
29
84
90
89
89
98
48
44
42
47
57
115
113
108
108
111
132
152
141
130
141
128
132
90
94
89
135
135
83
130
121
114
74
131
120
106
91
90
53
56
22
19
13
85
60
83
90
87
69
64
113
118
131
131
120
113
118
111
72
77
69
129
145
147
138
143
137
135
125
99
62
41
95
95
48
85
53
109
77
74
120
82
102
94
95
79
73
83
141
81
84
100
81
126
111
116
81
122
73
77
73
44
71
177
202
186
188
191
137
118
142
112
94
146
98
134
177
135
149
88
43
104
100
14
58
69
82
134
146
138
154
118
39
60
60
67
67
118
111
46
35
87
90
84
103
89
42
60
116
78
67
37
29
21
135
157
184
203
183
148
157
120
156
157
106
92
59
104
104
102
130
151
163
117
99
141
127
126
121
109
46
105
59
60
54
103
108
114
118
63
67
121
121
65
58
58
61
64
123
77
78
129
125
115
106
50
108
115
113
194
124
95
89
87
76
130
95
86
131
168
111
92
144
157
117
84
157
152
119
95
146
92
80
49
54
60
63
114
118
72
79
83
81
78
76
130
128
122
128
130
77
65
62
55
48
55
54
55
110
62
74
81
78
73
123
127
132
134
137
132
76
77
83
137
85
146
106
79
68
61
60
68
72
66
63
53
107
118
62
57
115
124
149
109
163
78
63
132
59
50
51
113
67
69
53
59
58
108
109
58
58
107
120
161
147
102
97
112
69
133
128
139
149
155
156
156
157
162
143
122
110
70
123
59
94
88
78
70
71
108
75
125
126
70
64
63
68
125
61
104
96
88
77
78
103
134
107
115
112
160
175
140
189
175
173
149
187
143
151
129
131
88
98
98
49
63
85
63
45
62
88
67
43
96
84
120
119
109
113
87
68
101
101
118
125
98
88
120
141
126
101
86
94
106
130
134
144
120
83
137
127
115
127
124
108
67
54
105
119
50
75
15
70
69
72
96
183
114
130
162
100
98
97
67
84
102
119
160
72
65
78
127
102
96
65
64
31
105
75
75
52
55
71
81
167
197
204
211
171
133
161
132
113
116
101
143
141
139
129
127
96
113
154
87
80
48
90
78
72
81
86
36
50
48
101
109
114
115
64
66
123
122
64
61
114
62
112
109
113
116
67
63
52
40
40
26
149
159
197
138
126
94
144
138
140
84
82
142
123
138
152
154
105
110
101
147
140
97
144
135
95
134
121
66
63
64
69
126
127
75
73
83
80
74
72
121
119
127
128
124
63
68
75
77
77
77
129
125
69
72
80
81
75
123
125
126
124
121
126
137
91
88
139
89
86
79
125
83
84
73
122
76
132
74
78
120
118
115
68
130
167
159
87
131
131
69
71
120
61
56
52
48
50
46
51
97
88
80
26
30
90
114
100
99
58
114
111
65
127
127
77
79
85
85
132
128
130
133
138
115
44
79
63
60
75
95
114
129
121
105
127
70
60
48
48
56
49
49
53
107
107
115
135
154
167
156
125
136
196
211
207
179
174
133
116
163
170
171
115
112
110
175
83
101
116
80
126
112
127
119
78
38
82
103
70
116
124
89
84
107
125
76
84
122
174
144
89
70
58
54
130
136
130
133
125
128
123
109
74
60
99
77
66
177
143
93
66
33
94
44
24
67
112
132
130
196
105
118
110
89
80
124
104
53
111
116
96
85
138
114
22
7
70
65
58
56
37
0
11
105
61
55
138
144
171
214
154
120
114
77
126
112
98
144
154
144
147
148
133
145
123
143
89
149
95
83
20
19
91
42
92
96
97
104
115
120
117
63
72
128
74
66
60
59
109
105
115
64
69
75
72
108
38
31
98
168
144
122
103
109
139
140
142
141
69
69
87
95
107
154
121
107
168
108
98
154
142
195
172
110
118
116
56
50
104
109
111
55
101
117
72
70
119
62
58
52
72
76
130
78
80
78
73
72
126
128
74
72
80
90
129
72
69
123
126
125
123
132
94
96
135
129
83
85
131
64
66
68
65
121
131
83
74
135
122
116
67
77
91
131
146
70
71
98
90
116
112
105
98
34
23
27
41
41
40
90
92
45
52
107
54
98
52
62
51
43
53
110
113
65
71
82
88
136
131
85
84
132
26
62
62
63
96
52
116
122
68
118
72
118
115
105
44
53
73
88
90
84
118
101
104
124
138
85
169
193
203
153
156
190
151
145
162
152
161
114
108
107
121
122
172
123
92
111
98
71
59
117
92
57
92
102
80
75
117
122
147
72
71
113
76
90
128
173
136
139
76
49
55
82
126
110
143
150
151
89
59
98
44
79
121
97
121
129
115
161
18
85
69
62
92
131
122
104
186
123
130
81
73
163
168
68
83
95
93
87
72
50
92
99
9
76
55
52
67
0
55
65
103
28
66
100
108
180
131
125
118
82
97
139
121
113
102
156
137
139
154
148
165
116
132
91
161
26
77
28
34
104
55
54
102
55
103
98
105
120
72
126
121
118
64
63
61
108
106
113
66
67
58
102
103
60
68
79
130
95
94
111
105
113
144
131
132
150
92
68
125
140
96
94
93
144
137
175
116
108
136
54
57
76
98
41
37
42
105
105
94
36
47
97
95
40
40
46
106
75
74
126
119
61
62
67
71
118
120
64
56
119
63
114
126
83
88
93
91
142
139
77
118
117
69
123
118
111
57
58
59
58
58
58
58
47
111
161
110
92
82
86
59
109
40
38
85
89
149
139
121
109
53
48
47
45
49
49
102
100
102
103
57
54
55
49
40
39
54
125
140
81
65
62
71
136
93
96
80
46
69
41
109
115
62
57
50
100
108
116
130
87
96
86
77
134
90
93
124
140
128
130
149
155
142
127
124
172
137
195
146
196
177
155
107
191
122
170
125
113
93
154
111
153
77
75
92
103
53
117
108
101
97
96
54
123
136
91
107
89
75
138
126
85
106
160
176
117
72
65
88
119
118
124
145
94
71
103
173
119
55
71
49
73
125
154
149
137
109
56
107
69
82
71
62
98
155
195
132
123
214
190
122
165
131
78
158
117
116
96
59
32
78
31
101
65
16
51
0
48
41
55
66
101
53
99
154
139
148
114
76
96
127
101
101
129
171
142
156
108
138
86
120
117
159
129
20
19
25
42
68
60
50
39
50
110
61
70
131
103
109
111
111
107
98
93
93
95
112
64
60
108
108
118
128
72
71
65
59
119
136
158
136
139
139
82
117
66
68
149
142
86
96
110
141
120
123
150
163
137
60
129
136
94
42
98
99
41
37
98
107
44
40
94
93
39
37
40
46
100
54
124
130
79
78
65
63
115
112
109
126
84
83
78
79
131
128
73
70
113
56
103
102
53
107
108
107
111
65
71
75
127
123
120
62
110
153
130
66
75
73
125
126
76
88
65
53
74
77
130
137
83
121
58
46
65
113
106
98
39
90
94
126
128
72
57
46
47
110
65
62
113
117
71
66
96
74
67
33
66
94
77
66
66
57
105
53
61
118
118
124
132
128
77
81
82
83
92
95
124
124
131
111
93
109
136
167
134
139
135
173
148
126
77
112
90
112
80
83
82
82
127
82
90
82
80
119
129
120
123
95
98
63
116
62
73
124
72
83
84
133
130
171
176
168
187
179
90
87
131
138
133
160
172
159
98
91
136
160
129
119
77
74
106
140
107
64
6
79
42
82
103
122
70
99
154
89
150
142
94
157
165
166
151
140
123
70
74
69
65
72
133
81
25
93
92
77
80
56
66
80
78
77
100
77
126
144
57
77
110
169
197
81
119
173
115
96
100
79
116
79
107
160
157
139
74
73
79
94
114
54
43
43
48
59
71
74
65
56
116
118
64
55
98
94
97
100
113
60
60
114
119
74
77
139
89
75
114
113
82
155
147
132
117
66
77
65
55
121
73
97
123
125
108
92
122
135
125
115
77
81
59
54
50
62
122
59
50
104
52
54
44
97
97
41
38
37
94
98
54
125
130
76
71
66
63
60
111
114
69
130
72
60
111
62
110
110
59
50
51
104
105
105
105
105
105
110
63
69
73
124
119
115
65
63
122
101
59
74
111
104
95
66
145
60
56
58
61
65
73
122
111
109
67
126
120
110
100
40
41
100
130
133
75
57
45
45
56
65
127
73
73
105
77
66
20
53
82
101
71
65
73
79
68
65
68
69
119
123
134
90
97
91
78
74
85
91
64
53
112
118
105
99
107
58
71
77
132
132
127
112
97
91
78
35
77
100
98
91
75
61
118
131
56
62
126
142
137
141
116
72
82
118
136
136
148
147
87
87
80
152
164
177
187
129
160
145
81
61
77
128
157
111
98
154
141
78
96
145
78
128
62
111
145
99
75
83
28
14
111
104
119
71
102
203
83
123
153
178
181
170
162
166
161
79
87
98
88
67
53
44
81
68
104
80
62
78
65
61
69
71
77
108
82
117
179
74
86
167
111
139
97
125
165
105
157
96
55
61
144
158
78
41
18
96
98
98
99
94
40
38
43
45
48
52
101
46
57
108
57
56
53
102
101
50
105
112
65
118
68
72
74
73
126
137
83
124
108
121
117
113
78
138
82
57
62
86
106
125
140
182
104
69
117
118
71
66
75
93
94
146
92
68
68
74
66
69
133
134
134
64
64
118
64
59
108
113
115
115
113
65
116
59
64
118
113
59
62
59
129
80
57
54
61
56
112
114
110
113
115
110
101
95
96
98
102
49
52
57
58
108
53
59
73
67
114
115
59
103
110
117
133
129
43
44
33
32
22
17
74
89
115
129
123
122
65
111
105
104
107
111
122
72
64
58
66
133
146
90
56
92
77
83
66
103
111
106
92
63
59
49
37
50
47
100
52
103
112
127
79
71
106
86
27
28
22
27
59
67
87
46
119
73
50
98
128
148
148
131
154
132
146
120
117
113
107
132
105
54
86
149
144
122
123
154
139
146
114
108
87
105
128
102
91
90
77
123
52
25
114
157
170
195
111
81
145
120
81
59
126
92
135
122
126
165
130
164
178
153
90
30
62
155
104
36
18
38
117
201
126
130
162
198
142
68
130
132
148
145
164
169
175
162
147
111
118
85
56
47
43
105
109
80
105
103
97
92
153
103
23
35
45
50
116
121
61
88
117
123
134
119
102
109
104
128
103
115
141
144
92
129
109
102
126
123
117
54
96
93
36
43
37
39
46
99
92
84
37
36
40
50
53
99
41
89
105
112
118
72
77
81
85
126
125
123
121
118
61
110
114
112
110
55
37
64
160
132
124
121
119
92
112
62
113
165
128
102
101
130
93
72
103
129
124
106
92
85
83
129
72
81
86
86
82
79
70
61
49
63
50
79
68
117
125
120
122
78
55
86
108
72
56
110
115
131
124
110
109
55
105
103
103
106
109
111
113
118
72
72
120
63
72
62
63
118
114
64
70
117
141
133
98
50
52
41
30
19
70
35
105
111
112
121
109
100
50
54
58
117
102
122
139
138
126
66
60
54
21
98
126
101
155
87
75
125
115
104
31
18
18
79
90
97
57
63
50
37
102
99
88
40
47
89
80
99
51
80
147
148
152
105
106
109
128
136
133
131
112
89
135
121
89
82
78
88
132
110
91
143
117
113
116
122
155
153
147
103
90
94
124
102
142
170
131
119
130
28
37
119
147
111
116
153
97
89
140
134
91
77
157
155
128
153
112
110
56
98
56
56
0
57
85
55
15
36
58
159
127
41
120
203
181
138
94
150
126
168
179
143
155
169
149
161
131
105
141
60
78
89
75
70
70
122
124
61
74
59
90
90
30
32
80
105
108
94
182
133
114
166
175
113
170
118
120
94
126
139
135
113
94
102
107
58
114
116
56
92
89
34
43
45
52
107
49
35
82
83
82
38
46
52
99
94
38
104
111
116
123
76
81
83
73
71
119
65
62
110
55
56
56
106
106
46
60
88
177
90
105
79
65
151
103
65
183
167
131
157
91
105
140
101
114
120
120
110
94
80
72
82
142
141
84
81
81
73
133
125
83
103
84
69
74
68
114
130
91
106
82
109
127
114
119
121
128
116
110
106
50
53
59
116
117
116
109
108
112
116
67
65
61
62
102
49
107
55
108
113
73
72
111
98
100
104
58
40
31
31
46
114
120
126
123
119
117
122
121
62
54
102
122
136
127
108
36
18
5
30
80
145
141
122
106
104
44
100
104
103
99
49
107
109
120
73
68
113
67
70
82
107
37
36
86
91
122
71
83
80
72
130
91
101
160
119
130
131
174
146
119
60
95
77
141
112
110
129
97
99
85
60
106
117
135
165
158
134
91
92
86
98
144
175
161
132
129
128
122
139
104
104
163
154
153
154
83
84
72
71
71
88
100
142
157
135
109
37
123
52
26
0
58
49
84
45
19
67
143
212
153
88
104
166
208
145
156
59
157
170
125
159
191
156
187
176
135
103
98
103
154
103
129
90
82
69
55
73
67
93
92
94
103
90
109
120
151
128
134
175
167
179
174
174
170
170
148
132
95
143
100
127
135
95
109
126
84
75
39
40
43
50
60
119
113
41
24
18
69
73
82
95
105
107
106
50
54
111
117
121
125
77
79
72
67
108
53
51
101
48
47
54
106
107
63
56
51
46
106
101
97
131
115
79
58
76
169
108
142
138
131
146
85
79
80
132
85
100
117
101
74
128
140
144
89
85
90
86
130
165
163
109
176
141
72
67
135
147
117
67
97
121
62
75
129
122
114
63
109
103
106
114
120
119
116
109
107
56
58
60
59
59
58
104
50
52
51
51
106
100
131
88
70
66
119
115
52
48
46
100
101
50
113
58
105
103
50
102
98
93
73
79
78
17
66
75
38
49
45
66
74
136
136
131
130
86
149
152
126
121
119
63
99
101
94
83
29
24
64
72
23
29
75
60
61
52
81
62
95
88
93
101
102
43
54
69
135
79
62
106
113
69
143
164
120
173
145
55
45
59
68
125
133
144
142
126
138
118
104
81
101
116
117
103
150
141
144
137
134
134
91
100
95
110
122
160
163
100
125
143
97
104
96
94
120
41
119
99
169
123
116
109
58
75
90
157
136
194
121
38
95
160
162
115
87
87
87
102
96
156
184
184
181
158
149
88
120
96
98
128
123
111
62
85
66
105
75
102
108
121
114
123
133
106
124
168
186
132
135
178
176
175
178
173
168
142
131
101
153
155
49
88
144
49
57
60
104
94
98
103
109
109
106
94
29
21
16
76
85
95
104
113
118
116
108
105
109
113
116
69
72
73
122
66
109
108
56
55
106
108
65
119
115
64
63
66
64
48
105
97
47
80
69
100
137
102
79
84
129
132
76
126
75
80
132
127
71
73
95
106
156
143
129
72
74
129
84
72
142
124
178
102
122
123
126
122
127
157
130
162
94
77
70
68
116
120
117
67
64
56
97
91
93
45
51
104
104
51
50
47
46
51
54
58
55
53
53
54
79
110
40
99
117
114
120
116
63
59
52
44
41
96
52
112
115
108
44
31
74
95
110
128
85
129
113
49
41
50
42
38
107
127
137
140
88
144
139
105
88
76
67
50
48
56
18
21
26
41
103
98
46
51
63
138
115
106
82
130
148
162
178
182
172
153
89
129
65
61
108
98
125
130
106
103
134
113
54
88
136
150
144
147
80
68
27
26
18
87
89
70
68
111
132
126
166
159
121
140
161
81
100
114
158
158
152
97
85
74
132
173
163
121
83
30
76
170
192
130
82
57
102
49
66
59
79
116
103
63
125
148
152
171
95
97
86
59
95
166
153
131
196
172
171
168
92
105
107
116
95
90
94
45
87
24
6
34
59
95
110
122
187
180
99
118
106
132
129
128
187
152
160
178
183
177
148
85
111
166
111
35
30
41
102
51
49
98
102
104
103
50
56
106
41
30
25
24
90
96
103
57
114
117
112
102
95
49
55
112
117
70
74
122
119
113
113
62
61
112
115
119
119
119
65
66
74
58
47
109
100
36
62
72
103
143
142
56
61
142
128
79
77
72
69
124
78
131
129
86
103
161
156
144
83
133
135
86
81
127
133
169
145
132
122
74
127
131
160
78
105
149
77
60
57
59
116
114
65
63
55
96
91
94
47
55
106
104
50
49
49
49
52
51
54
62
69
70
69
117
99
89
105
111
96
95
109
56
50
40
31
25
20
75
86
93
88
30
37
101
66
74
136
87
133
123
67
66
47
57
54
114
126
130
134
128
64
101
68
53
45
45
65
84
104
112
53
102
56
62
54
48
52
120
146
109
151
73
128
150
111
123
132
122
94
137
133
132
86
129
103
87
111
108
145
74
77
148
137
132
141
128
150
133
75
51
17
46
79
93
124
70
56
131
160
163
128
133
173
78
73
95
160
171
178
113
110
152
134
71
157
148
50
59
74
96
156
109
60
52
96
127
100
106
103
52
84
78
144
127
115
102
189
122
98
64
23
123
161
155
130
190
151
179
162
134
114
119
113
89
121
131
82
61
15
54
80
114
108
106
120
122
156
124
142
93
116
131
130
134
94
155
170
173
171
149
146
120
172
110
83
38
51
69
83
40
42
92
86
83
49
48
44
36
29
31
50
41
101
113
67
66
109
97
34
35
41
50
109
116
68
122
123
120
124
70
64
62
116
117
117
124
121
113
65
55
108
105
106
108
54
53
59
62
66
124
129
79
78
128
70
75
132
78
73
70
72
75
124
135
126
93
152
154
122
104
83
132
143
108
116
98
140
95
91
81
88
144
124
91
143
107
41
55
59
38
45
54
56
54
104
98
96
101
69
67
56
53
99
45
56
57
60
84
93
81
71
127
113
93
85
92
71
66
75
79
45
50
50
56
55
63
79
95
144
128
120
65
57
52
52
53
104
49
97
91
87
39
11
61
64
86
104
100
89
14
23
52
111
118
112
115
123
128
128
128
115
122
66
64
69
128
140
106
108
88
59
105
130
90
82
86
104
121
164
102
148
148
133
109
72
116
162
154
100
95
125
49
51
53
127
144
131
86
72
39
51
77
107
20
41
154
90
99
104
138
140
96
68
83
102
177
192
181
160
100
102
132
149
71
57
41
83
67
98
76
99
105
50
103
124
96
167
133
45
99
123
81
179
141
116
75
97
112
87
37
65
142
122
152
120
66
163
113
178
181
164
166
143
203
145
172
90
102
103
109
98
112
159
100
108
107
168
130
106
146
138
136
121
92
149
142
180
183
154
162
178
183
156
149
142
117
91
107
61
56
87
78
80
31
30
26
22
69
21
40
48
99
99
51
53
51
44
37
30
37
98
106
61
117
119
118
115
116
115
113
61
64
115
120
114
109
117
112
113
116
118
121
126
123
65
67
69
71
127
129
78
78
128
125
73
125
124
71
72
73
126
131
72
131
132
184
210
160
155
108
159
124
141
98
78
87
80
70
62
114
81
90
101
155
132
130
86
74
59
59
54
46
51
66
69
58
103
55
49
49
61
118
115
61
63
59
81
81
32
34
89
93
105
110
106
117
118
111
107
99
40
49
62
63
77
85
90
83
122
116
112
44
38
96
104
107
55
50
99
98
95
108
125
139
152
152
139
135
86
71
106
108
97
84
106
122
138
98
150
106
100
53
54
62
83
110
121
147
78
69
122
132
90
99
114
130
126
113
107
118
164
95
140
134
161
149
147
165
119
107
106
151
115
165
134
148
84
73
90
83
58
50
59
83
134
91
100
161
171
165
81
85
91
97
160
169
163
148
141
112
164
159
134
84
44
61
85
68
124
75
37
84
153
134
46
107
110
138
99
98
31
121
158
181
65
115
125
135
105
177
105
137
171
98
87
133
130
117
170
179
192
153
175
147
112
138
64
57
44
68
163
156
87
155
119
131
74
124
164
137
132
123
98
137
76
116
184
110
101
149
99
99
93
110
79
96
113
122
113
79
17
70
21
20
18
68
66
72
91
43
93
92
44
51
54
100
41
33
92
49
56
116
118
120
118
116
115
63
64
118
119
57
125
124
118
111
107
66
67
70
74
129
127
65
65
76
128
131
131
130
76
72
123
121
67
67
68
122
123
123
130
119
137
135
223
204
169
169
107
162
154
141
132
123
80
123
118
117
116
83
103
92
99
137
144
151
134
71
55
113
60
57
107
103
101
54
57
56
111
119
68
59
49
29
91
83
94
110
63
114
122
129
128
117
59
110
105
110
101
102
116
122
112
117
73
85
84
68
109
103
49
56
113
118
66
115
61
60
113
117
120
129
140
148
145
134
123
91
85
68
107
36
35
112
124
135
143
142
101
94
54
115
129
151
115
161
114
112
74
89
152
106
112
116
119
174
105
99
167
161
93
98
146
113
91
101
112
159
100
162
120
128
109
150
148
62
62
82
68
47
119
96
106
88
91
89
96
160
145
63
50
140
162
107
157
110
109
159
167
147
107
114
122
46
38
110
52
127
66
50
76
101
122
122
168
91
95
108
121
12
71
105
93
67
114
110
157
148
148
172
107
140
89
155
120
165
113
125
135
189
185
164
94
124
147
69
73
81
87
137
64
95
87
114
135
92
143
165
169
117
117
98
93
87
172
181
170
170
105
143
156
81
32
5
103
68
124
110
72
60
62
62
64
64
66
20
81
100
42
41
42
96
46
45
37
84
94
47
55
62
119
121
69
62
64
117
67
71
73
73
70
111
110
63
71
73
70
70
74
75
123
122
67
63
60
115
122
125
127
126
71
62
62
62
65
66
119
121
71
118
111
77
94
139
132
140
132
132
128
141
155
99
137
126
117
118
74
77
80
94
91
93
118
113
70
124
93
103
148
127
54
96
91
43
53
58
54
101
97
107
119
67
88
138
43
95
54
61
116
52
99
98
103
69
137
151
139
136
142
140
116
42
47
58
59
53
55
123
134
137
87
134
128
72
122
122
73
126
125
70
122
135
87
79
72
73
83
140
66
44
52
82
114
116
111
105
100
95
106
115
131
136
140
142
125
109
128
146
104
100
149
154
161
163
137
132
89
98
98
101
108
158
81
103
126
177
171
173
156
103
99
102
62
60
96
74
81
77
68
65
63
85
68
138
172
144
122
128
110
135
83
107
84
121
114
140
134
140
141
142
87
96
39
138
141
56
144
114
96
68
169
103
104
173
161
125
115
85
74
90
104
133
90
102
136
138
130
106
121
168
135
125
150
164
173
186
181
177
188
201
182
164
121
51
52
98
75
41
88
115
96
79
115
166
171
172
175
168
180
124
93
103
103
119
110
114
183
162
79
73
51
38
40
106
59
49
81
57
58
64
16
67
68
70
76
86
47
87
37
36
86
84
31
33
84
92
97
103
56
60
60
60
101
55
59
114
120
69
65
110
119
169
136
124
77
61
54
57
56
51
51
117
118
52
56
113
118
116
110
50
37
42
48
49
100
47
102
105
112
59
54
68
126
121
122
136
131
127
118
104
67
101
165
147
79
72
74
74
74
85
97
72
111
65
66
60
129
93
100
146
77
51
32
27
33
102
116
64
64
107
86
106
58
62
70
70
66
67
71
82
127
56
92
154
141
134
130
132
69
51
107
128
85
89
85
132
132
76
122
125
120
64
66
73
129
129
125
136
110
47
61
69
67
72
75
77
84
89
99
121
120
137
142
138
124
105
30
39
99
116
118
120
69
94
71
131
147
161
109
152
144
139
136
102
126
160
111
120
138
131
162
97
145
131
122
176
166
168
152
147
133
80
96
79
52
42
47
50
101
76
153
143
150
172
166
133
123
118
118
153
174
166
107
101
79
109
87
138
120
121
158
100
88
123
49
80
152
82
126
157
104
165
163
170
56
98
83
90
153
144
128
142
101
36
142
181
166
138
134
53
99
148
160
169
165
162
127
139
179
149
97
101
23
80
90
86
36
94
120
62
123
151
132
176
181
178
169
182
179
187
145
122
123
121
109
105
154
169
80
71
98
103
37
84
25
72
70
70
72
68
71
74
77
81
82
89
83
81
31
31
79
22
80
89
46
55
113
55
51
107
55
110
113
63
69
58
102
60
157
139
127
86
134
69
57
91
106
84
39
53
128
122
80
63
121
132
121
62
52
45
53
44
35
42
46
100
111
119
110
62
65
112
108
107
117
126
124
123
116
111
121
103
112
103
78
66
62
44
135
101
58
113
118
116
62
59
61
73
153
163
134
106
59
54
45
84
89
96
49
111
122
72
68
65
63
56
50
70
60
59
75
145
144
145
144
150
141
130
133
136
165
128
113
148
140
83
130
132
130
78
80
77
71
120
124
132
140
108
59
79
86
74
65
70
84
66
32
96
109
123
123
125
118
102
36
36
40
90
114
123
110
97
89
101
114
139
150
143
146
101
100
144
122
96
121
122
121
124
119
95
94
143
132
171
166
154
141
143
138
80
95
88
74
61
58
60
74
137
145
134
86
149
94
175
164
110
110
139
153
100
141
82
82
78
123
119
128
64
138
176
106
133
55
94
97
74
72
166
156
106
109
138
89
83
114
115
139
125
110
111
100
98
96
160
138
153
129
101
70
132
140
158
154
174
131
136
91
138
108
132
32
98
116
114
22
95
86
53
60
131
144
110
143
180
192
187
192
120
186
192
121
186
180
152
127
192
143
89
96
115
118
75
76
25
28
26
78
77
26
77
77
80
83
82
75
68
69
72
76
75
24
28
87
98
102
109
62
62
116
119
75
79
130
129
73
151
144
160
119
92
140
70
122
75
120
124
118
116
152
93
87
79
80
164
162
59
42
57
49
45
38
41
49
97
93
49
41
49
51
102
99
102
107
112
103
95
55
100
43
51
47
61
86
104
99
61
57
67
158
123
50
36
42
83
40
36
49
106
110
139
151
125
60
43
87
44
54
60
66
117
69
61
53
49
95
40
90
89
46
116
87
144
149
155
146
128
70
82
93
161
142
142
142
141
85
77
77
72
62
50
48
50
55
115
121
128
80
86
90
77
60
54
63
110
48
54
114
120
77
81
64
42
30
40
68
71
70
70
76
145
153
86
102
98
94
89
51
130
144
143
89
80
148
162
119
129
128
114
93
93
105
112
184
185
161
156
146
92
95
57
48
54
79
70
64
38
106
132
84
171
151
95
141
111
143
137
103
49
75
172
129
100
142
164
159
81
97
186
163
46
83
146
147
136
153
143
119
163
96
168
160
119
107
129
88
143
91
84
94
98
111
113
134
146
134
62
138
137
108
126
175
181
178
150
161
96
108
107
87
27
104
100
105
123
88
38
66
74
148
83
127
144
140
184
153
177
190
154
172
180
119
118
185
173
140
121
119
92
3
45
74
28
87
38
31
29
80
78
86
40
39
35
31
86
71
75
78
80
31
84
34
88
40
37
92
105
108
110
120
134
125
112
121
65
69
91
188
169
112
98
52
114
115
110
105
127
114
62
157
181
151
77
76
124
52
58
69
54
47
49
51
94
85
34
38
59
55
107
107
107
51
99
94
91
97
55
54
60
67
66
58
102
110
86
99
77
140
141
98
55
56
59
50
41
39
23
85
76
145
134
137
77
54
105
61
65
60
54
101
50
41
40
100
107
112
57
52
100
100
110
120
128
133
126
119
63
64
72
87
132
129
74
128
132
74
60
50
107
115
68
65
60
59
115
81
92
97
92
73
60
115
123
113
114
120
113
119
78
84
128
118
116
125
88
86
72
73
133
145
95
81
136
96
83
121
120
67
57
114
132
152
150
151
115
131
128
114
95
86
156
163
162
168
178
177
166
93
70
69
76
74
79
65
71
66
114
102
145
154
123
124
99
78
163
127
117
70
65
115
87
115
97
55
67
73
99
133
91
100
145
145
163
158
125
110
160
119
96
113
92
58
112
108
117
68
108
150
125
94
106
120
122
114
97
92
96
100
110
115
143
142
154
101
113
74
70
83
68
78
48
119
125
82
53
42
103
73
102
110
196
194
138
183
158
181
182
183
124
173
123
119
95
121
102
87
93
82
74
77
81
88
94
43
37
37
39
86
86
86
34
33
33
30
29
35
39
41
44
48
47
42
55
46
42
52
105
57
76
141
157
117
131
124
152
85
64
95
108
92
111
97
92
95
107
82
51
107
77
56
93
114
66
63
68
62
54
46
41
39
36
87
102
109
98
90
45
43
98
102
50
46
44
52
63
111
123
75
112
103
111
112
96
80
118
93
163
156
108
105
37
40
44
46
64
66
122
79
118
108
126
110
113
68
53
93
44
49
93
95
45
99
97
86
76
10
21
38
54
117
109
100
43
45
112
121
65
66
62
62
108
103
106
71
87
88
66
119
122
74
125
121
122
125
65
57
72
89
86
132
137
116
108
116
111
55
117
71
78
69
58
108
119
80
130
117
76
79
77
77
77
96
98
80
121
138
110
159
85
73
124
122
81
103
110
103
101
144
98
163
159
98
107
181
184
181
170
153
79
75
72
67
73
65
74
90
18
95
164
118
96
111
104
146
121
115
123
91
127
117
41
29
101
157
118
91
126
144
111
99
115
74
158
125
113
186
143
46
144
113
112
146
129
101
122
121
127
110
48
108
105
124
118
110
111
35
90
141
149
159
110
178
129
112
74
126
116
84
80
93
143
122
141
95
135
68
77
101
176
139
147
188
173
154
188
185
131
112
115
181
166
62
85
71
43
114
104
66
43
33
89
42
44
40
42
96
98
91
86
86
91
92
27
30
37
42
43
49
106
52
46
64
106
99
108
106
60
81
193
208
128
173
162
86
72
76
93
80
59
114
66
81
124
95
50
109
96
126
114
107
134
129
69
136
75
59
61
102
94
33
86
105
108
84
87
46
43
41
44
46
45
87
39
44
102
137
103
141
81
119
108
105
45
104
125
164
173
128
107
26
37
46
58
45
88
91
107
119
114
104
46
118
129
108
43
56
72
43
93
35
38
37
27
17
31
39
51
61
56
91
77
82
24
84
93
44
111
125
68
124
128
134
90
94
138
112
60
116
71
74
122
116
61
48
86
55
82
137
132
83
119
108
60
105
52
61
111
53
47
43
104
121
131
123
52
64
67
68
77
87
94
87
81
133
101
124
118
145
128
118
55
114
136
143
90
99
89
157
158
155
104
112
178
170
164
163
162
75
72
81
146
135
42
60
51
59
147
146
149
74
100
93
87
128
95
109
166
142
100
74
83
80
133
169
120
132
164
114
98
111
147
185
103
121
206
135
118
155
90
82
137
156
155
121
127
147
131
93
18
80
102
99
83
94
32
26
108
51
166
101
111
124
106
72
199
126
73
96
98
115
103
94
84
81
67
72
96
182
146
142
183
162
142
137
145
124
179
175
166
83
96
37
97
93
34
71
64
8
32
33
35
37
37
87
88
30
81
80
86
42
101
102
42
37
82
78
79
86
94
47
52
49
47
45
46
51
110
137
187
142
152
106
169
161
83
116
166
115
146
152
110
74
102
89
104
81
158
129
63
74
66
73
91
76
114
125
51
43
96
91
35
34
80
79
38
49
108
107
50
45
93
99
96
98
46
33
73
44
94
86
84
44
129
145
130
123
130
141
129
54
76
57
61
115
120
74
75
117
105
48
43
62
86
143
72
51
62
45
50
53
54
56
58
115
100
92
100
113
55
102
120
66
110
97
36
88
103
104
105
111
121
127
71
65
59
113
125
133
121
107
105
107
99
100
119
134
136
127
121
96
93
50
53
56
63
62
57
44
37
45
59
111
103
49
67
85
86
137
148
141
66
64
94
108
107
88
64
139
182
168
138
117
99
97
113
129
146
107
124
177
164
161
130
82
140
144
78
78
85
53
57
100
103
74
81
145
132
147
110
107
108
91
108
132
88
142
99
101
55
24
108
112
140
146
146
174
131
123
141
182
141
126
183
199
81
147
150
142
160
89
166
136
121
93
88
93
28
21
14
72
90
45
39
44
56
66
75
166
98
66
69
85
96
131
127
109
117
103
91
113
98
78
90
97
99
105
128
92
102
165
166
172
152
136
129
132
119
130
111
141
156
81
61
68
42
25
30
44
50
59
117
56
45
37
39
91
93
95
100
103
101
105
103
100
97
97
104
113
69
55
56
106
100
96
48
55
99
127
170
201
181
195
188
148
156
103
129
100
121
94
70
120
107
87
19
79
29
43
44
54
105
56
143
171
134
65
50
42
36
34
35
88
103
46
45
86
80
39
58
101
95
88
98
46
49
61
48
106
105
52
54
52
58
134
124
124
138
106
107
57
76
72
71
73
65
57
115
130
134
132
60
49
40
61
109
104
68
32
82
36
99
110
118
115
118
120
101
109
126
106
103
50
55
59
57
98
81
30
84
83
79
72
19
30
37
104
112
100
39
94
97
85
75
84
102
123
137
145
61
108
112
61
55
60
68
64
62
63
67
68
109
107
118
132
94
91
87
147
131
78
85
92
95
104
104
91
139
160
132
116
120
111
96
91
79
48
33
31
89
111
94
66
148
160
75
68
94
84
59
131
138
45
34
70
124
116
125
120
139
75
58
83
153
172
119
130
81
52
75
63
108
116
114
64
100
128
148
108
177
173
109
129
134
73
177
169
103
106
92
123
109
194
132
76
71
86
36
54
136
132
75
76
73
57
44
46
93
102
30
42
102
125
112
84
90
133
124
116
117
108
86
64
49
66
111
81
95
94
144
173
92
102
102
137
96
62
127
171
180
168
101
83
69
53
48
33
54
59
116
111
44
43
44
48
99
98
98
101
51
52
111
115
118
114
108
107
115
124
110
56
104
96
90
38
94
86
87
161
183
174
195
178
176
160
105
87
70
90
100
92
74
103
92
51
52
90
36
31
101
109
99
111
132
149
131
55
42
41
41
38
38
39
37
90
99
110
67
69
101
106
112
64
99
91
47
46
49
45
41
44
55
67
96
92
80
76
97
167
121
64
66
75
82
125
55
108
120
129
52
37
45
42
44
69
86
76
38
77
90
110
118
109
121
127
117
104
111
118
109
53
52
54
52
46
41
47
47
100
98
40
34
36
45
45
108
63
61
63
67
68
103
85
34
96
110
116
65
61
56
101
44
94
43
47
59
55
55
112
116
109
55
108
110
68
77
128
129
133
122
92
93
86
94
152
138
113
134
119
114
117
102
80
76
101
93
81
66
35
81
106
57
144
105
72
73
94
82
132
110
115
54
46
65
110
119
51
114
153
74
56
96
144
109
122
93
55
83
82
46
106
121
130
157
195
77
100
149
163
173
168
173
171
132
147
148
153
158
95
121
117
104
129
103
103
114
111
104
96
32
20
23
31
29
30
40
33
107
93
49
106
122
101
104
159
128
114
108
103
101
68
38
88
128
93
59
39
114
145
96
101
114
124
172
124
74
150
116
166
174
123
102
38
37
92
22
109
106
98
84
74
83
41
44
96
100
102
51
53
55
110
109
106
103
101
101
103
105
96
50
117
130
133
127
121
57
46
59
121
132
108
99
25
77
129
101
66
53
26
58
87
151
139
70
44
49
98
47
44
99
105
114
157
161
104
83
67
64
56
43
42
97
100
118
131
125
57
95
63
63
110
57
108
108
62
115
124
126
122
117
102
106
122
68
73
82
85
142
123
162
98
81
67
108
52
113
125
120
66
60
46
35
33
37
44
62
136
117
102
91
82
101
107
115
121
119
117
115
109
101
98
52
56
54
62
42
42
43
45
44
45
48
52
100
47
51
54
62
68
64
43
61
58
52
51
104
104
65
86
81
47
46
45
99
97
39
33
33
87
94
46
111
105
52
48
91
87
32
86
36
67
84
54
66
152
168
129
103
86
88
93
118
153
165
153
155
78
56
40
22
70
91
91
91
83
49
42
141
128
122
48
35
41
96
61
107
131
137
122
68
115
145
93
78
41
54
89
129
70
54
160
85
73
104
90
128
142
160
99
122
100
104
131
146
149
167
168
108
104
102
125
152
133
120
119
144
146
117
55
38
29
33
33
31
87
84
82
70
39
93
123
140
107
102
87
77
88
82
93
94
65
68
108
113
59
76
151
156
94
94
87
80
134
100
132
133
116
116
163
95
93
18
15
23
23
64
56
97
88
88
90
92
102
95
96
101
49
52
54
94
97
101
101
105
113
117
119
122
60
53
104
108
111
61
66
81
127
151
203
148
168
194
127
141
108
109
100
46
46
42
59
96
110
65
55
56
97
90
89
90
105
123
115
121
68
77
92
75
51
55
96
90
85
86
100
113
118
65
86
114
83
104
115
135
113
132
130
117
119
117
117
121
75
78
78
81
91
102
102
103
110
107
134
107
104
68
94
48
57
92
75
74
22
25
67
99
130
131
111
99
104
107
127
131
29
96
115
123
109
95
91
39
38
44
27
31
86
34
34
41
53
118
110
36
26
34
39
44
112
126
71
53
63
69
111
74
77
69
129
124
36
27
43
46
49
45
39
85
86
87
93
22
28
41
32
30
83
76
52
98
126
132
89
93
115
125
92
59
65
97
113
84
77
133
159
79
103
78
83
81
32
39
104
46
52
75
102
131
137
123
72
50
100
169
132
119
67
74
80
70
92
95
145
135
78
85
106
127
101
52
43
48
37
32
44
63
93
79
83
65
45
112
122
94
105
131
139
151
113
119
125
148
156
141
138
143
143
83
67
62
53
28
15
82
53
77
116
124
84
94
78
131
143
140
51
40
100
96
98
79
65
67
54
122
122
138
122
45
40
74
174
187
129
128
181
157
106
155
122
134
93
72
70
73
57
54
99
94
94
95
94
100
94
97
105
56
112
107
106
107
54
49
101
106
113
116
109
48
51
112
121
120
117
59
68
142
194
118
60
82
121
110
133
112
54
102
53
49
46
53
70
86
88
135
63
106
100
42
88
88
94
124
62
47
64
103
104
125
56
40
87
35
95
111
121
122
68
60
124
70
136
140
130
128
131
71
114
114
122
140
71
126
125
73
78
87
93
81
83
95
161
160
139
116
104
59
62
46
80
81
36
29
31
29
87
114
131
76
121
105
116
125
59
45
113
114
109
98
91
94
48
53
60
37
41
44
44
44
50
61
62
51
85
88
110
120
68
126
116
129
69
68
71
71
82
136
118
111
127
115
55
57
64
56
41
32
89
115
120
63
51
40
85
31
42
41
120
128
121
116
112
116
110
73
101
86
68
69
92
115
103
82
99
77
58
121
86
89
89
106
74
59
24
25
81
65
122
118
73
87
53
113
144
133
66
63
138
85
65
163
106
114
157
90
110
118
135
151
78
49
29
16
12
25
48
28
66
66
73
59
52
76
77
43
122
138
142
134
129
133
96
143
112
104
116
77
89
98
96
79
52
31
75
5
90
137
102
108
163
102
117
137
172
92
71
64
107
96
75
75
102
145
153
155
115
104
52
68
99
191
200
181
129
129
159
159
157
129
140
99
90
94
74
93
101
108
110
110
101
90
99
100
107
58
108
110
105
104
104
49
41
40
44
103
105
59
68
72
121
120
69
124
107
131
132
92
114
102
95
77
67
121
85
131
124
130
67
114
53
48
103
132
93
92
121
101
42
47
57
57
36
30
17
25
64
92
143
133
69
105
48
99
98
98
44
112
71
118
123
109
137
124
59
122
73
119
125
122
105
106
110
62
65
117
121
124
93
77
61
115
139
165
112
150
104
83
89
98
46
38
32
26
36
33
42
55
68
78
73
55
46
52
108
110
114
112
112
111
108
101
94
39
45
45
44
42
42
100
111
125
65
56
107
113
117
123
130
113
121
123
81
106
55
34
84
109
126
69
126
128
71
50
52
106
59
117
112
50
96
72
119
94
36
87
50
57
83
145
162
118
112
130
158
114
88
98
106
113
139
140
120
47
35
52
29
2
101
75
83
73
67
62
41
35
117
63
26
64
117
113
78
195
123
56
111
63
91
141
73
79
16
40
153
155
131
143
139
84
78
130
75
123
117
82
79
78
35
47
65
110
102
35
25
48
84
153
166
104
88
129
116
100
43
46
92
82
144
145
72
76
91
137
81
116
121
146
154
108
131
141
119
111
56
51
57
120
162
153
154
154
124
125
131
89
53
59
89
102
122
139
185
137
128
157
148
150
160
181
107
94
64
136
148
146
132
111
101
97
88
97
106
117
116
110
117
127
108
111
110
53
100
98
95
41
48
98
52
116
118
59
48
117
104
60
61
67
74
105
175
146
130
180
145
127
116
75
121
76
91
135
112
74
133
144
150
131
102
38
41
45
41
34
29
88
57
79
140
121
118
112
101
94
97
104
94
39
29
102
69
161
122
74
54
62
83
126
98
55
107
63
72
130
125
118
76
75
81
76
113
103
107
119
125
162
91
55
41
45
45
40
37
27
30
31
21
29
57
88
90
68
38
101
101
93
87
96
103
49
96
95
98
34
36
39
43
48
108
117
106
46
53
121
128
124
109
91
101
65
110
105
144
114
92
76
93
151
110
51
56
62
84
137
127
110
95
47
54
84
84
33
104
80
91
94
134
136
138
119
108
113
111
70
132
131
146
80
72
151
101
83
89
89
52
45
70
65
66
69
80
37
79
113
115
90
112
72
65
57
81
75
114
108
108
112
140
152
128
118
114
116
58
97
105
117
111
131
121
137
127
104
102
111
129
119
70
69
62
66
71
137
121
69
72
63
70
62
66
54
99
108
120
68
61
50
36
113
153
98
69
53
100
91
75
94
135
143
129
124
99
89
121
154
105
98
101
147
139
121
106
162
184
124
76
44
42
80
114
127
137
122
134
124
166
149
142
162
167
176
150
75
133
110
128
142
144
135
114
39
46
105
114
114
112
120
115
109
111
111
55
49
99
98
94
98
96
100
108
111
56
53
53
42
117
70
59
66
116
137
122
175
132
117
160
147
61
62
71
132
131
135
95
65
82
150
140
117
54
52
38
35
37
39
40
52
76
91
83
130
125
61
48
42
95
95
32
41
42
73
147
109
48
64
92
97
64
100
61
70
68
68
123
123
66
122
123
69
111
47
40
46
114
127
121
121
88
64
53
47
45
37
30
29
36
33
35
50
67
86
76
49
105
104
101
54
107
104
48
49
102
37
31
88
42
46
100
99
46
51
102
116
73
63
103
92
27
46
104
94
93
70
92
76
80
89
102
92
72
63
65
131
140
142
133
121
115
116
99
45
50
113
128
93
123
114
98
91
117
71
107
64
77
54
48
106
47
68
176
138
183
123
105
79
131
129
91
105
95
101
69
145
104
132
67
124
124
130
83
76
35
55
115
106
95
124
136
117
99
43
115
119
43
98
112
100
128
116
120
100
85
88
95
110
108
55
78
72
56
103
104
61
57
46
40
37
41
45
50
105
106
99
90
40
106
99
51
65
115
94
82
88
100
28
90
65
124
108
93
79
88
125
96
88
70
120
121
126
134
140
167
113
95
93
65
43
113
98
111
142
179
183
114
115
161
159
180
172
124
123
79
78
54
45
93
100
148
92
68
56
115
124
129
123
110
97
114
52
100
107
113
55
101
100
93
40
45
48
53
61
69
50
113
125
116
115
67
64
102
135
182
94
59
59
74
132
89
109
127
176
152
105
130
147
129
125
140
140
132
117
59
49
41
41
43
43
40
65
81
125
126
74
66
114
62
70
58
59
66
106
135
192
175
152
85
87
85
67
59
63
48
38
51
111
106
59
44
97
57
60
60
119
126
77
89
166
124
104
71
46
45
37
40
46
44
46
50
39
27
56
89
52
108
115
63
49
94
59
82
84
71
59
53
57
117
112
97
90
122
115
104
46
103
56
48
86
88
12
68
69
70
23
13
4
15
86
110
54
94
85
94
119
148
141
58
71
116
93
94
78
73
85
29
52
34
23
28
80
68
75
26
7
51
15
37
88
98
101
26
76
68
61
56
40
69
123
152
160
124
96
79
117
45
157
125
122
141
101
111
102
69
134
150
101
100
116
166
148
119
55
147
98
93
175
156
176
138
116
49
98
107
162
167
95
50
44
17
83
112
86
154
134
70
86
54
76
61
119
121
138
126
96
93
42
100
83
32
92
32
86
86
85
35
50
51
102
103
101
105
129
111
113
127
140
154
160
101
163
168
122
74
41
21
64
129
122
132
91
191
124
183
186
167
139
128
130
75
155
147
133
128
34
98
110
55
59
67
116
48
102
104
102
101
112
159
78
80
138
143
138
128
125
126
134
80
81
83
89
99
162
142
143
167
161
145
156
185
172
174
110
103
107
102
108
102
85
107
120
143
108
101
181
185
197
178
121
134
187
146
138
73
61
53
45
40
37
34
63
83
113
56
70
67
47
95
44
87
135
100
108
101
104
102
98
48
44
35
29
32
40
57
65
60
95
66
50
97
103
54
58
68
127
115
100
47
77
111
109
136
60
52
40
49
56
51
41
38
41
31
45
88
60
100
104
72
74
109
100
49
50
47
46
43
48
67
132
117
83
71
19
32
85
73
72
83
90
93
136
82
32
27
27
26
32
44
74
127
117
108
130
105
75
93
135
82
66
75
63
69
95
104
87
44
53
31
78
90
98
59
84
104
126
93
78
87
86
80
36
67
66
52
32
105
111
82
144
124
111
99
79
116
127
122
90
183
170
68
75
74
128
137
93
106
111
99
88
127
109
86
92
110
130
155
159
102
126
104
141
110
122
103
66
58
105
39
70
150
85
72
114
126
124
49
128
112
43
99
90
98
97
37
45
39
60
108
110
108
40
45
51
22
68
17
12
68
85
98
104
41
126
144
167
179
171
172
158
115
122
111
71
55
74
127
128
133
149
169
178
159
156
149
145
144
141
92
100
147
128
215
204
36
39
96
46
109
110
99
40
45
104
106
101
99
115
45
51
60
125
77
126
124
127
132
88
93
99
106
170
179
106
145
180
175
176
187
182
116
105
94
98
114
108
114
115
104
116
120
100
109
111
161
182
154
134
141
151
167
147
142
83
75
64
54
46
44
109
118
132
143
66
45
57
106
100
52
80
115
25
86
95
96
40
36
38
40
36
52
63
113
99
39
43
54
55
39
34
90
40
46
109
115
104
87
75
89
121
145
100
97
74
50
53
52
51
52
51
55
43
42
88
76
61
53
109
52
98
102
52
45
46
28
25
47
115
104
80
79
28
89
102
105
51
58
69
126
107
75
126
30
18
24
18
72
80
57
114
106
97
98
83
68
87
120
106
102
48
98
107
116
111
105
47
35
29
98
104
95
117
137
67
39
107
113
87
84
99
42
110
117
59
40
21
113
75
76
101
103
89
88
110
115
97
97
153
87
125
144
85
75
95
92
83
93
95
137
66
142
107
106
129
167
138
122
166
156
112
164
112
89
137
119
70
45
48
77
166
50
63
114
136
138
113
125
99
84
93
87
94
95
38
41
56
55
39
99
96
74
34
111
40
47
102
37
19
13
67
79
62
118
134
157
176
168
154
159
127
116
70
70
101
143
78
84
154
169
179
89
131
150
157
149
136
71
84
117
89
92
98
139
59
62
66
62
49
51
46
35
33
35
92
95
42
42
49
46
45
46
45
94
85
28
44
52
55
56
108
102
97
97
104
132
109
160
199
156
78
62
48
43
41
47
53
33
101
96
43
56
40
56
81
121
135
116
153
149
115
128
86
105
121
117
100
88
137
159
173
171
102
102
163
159
133
140
108
154
77
46
53
85
139
140
90
90
72
64
55
91
93
107
113
67
105
90
79
75
75
71
119
67
115
99
99
108
107
102
103
113
151
121
72
54
67
118
96
82
79
88
27
30
68
75
67
94
75
26
30
21
93
102
71
79
59
87
82
87
92
54
109
46
44
56
57
48
36
73
34
120
50
15
21
83
78
75
30
83
79
73
76
74
85
84
71
120
119
47
54
57
85
66
0
9
43
34
18
60
2
50
6
26
66
58
13
80
69
55
61
112
8
44
45
32
71
111
82
61
120
91
146
33
37
51
85
93
157
173
79
67
146
122
61
73
133
137
149
170
146
144
182
154
91
189
115
123
110
136
158
79
71
82
23
48
96
105
141
59
100
114
123
117
110
111
85
89
84
46
48
108
47
27
28
78
118
72
74
142
96
87
111
88
85
83
86
84
34
46
128
113
107
90
88
102
55
55
57
83
94
103
97
110
95
90
142
143
88
137
151
110
119
91
126
94
147
139
157
119
102
79
95
47
95
97
45
45
99
95
53
52
50
46
40
39
58
61
63
63
53
42
36
91
93
40
38
39
42
94
84
20
79
98
92
126
158
131
80
49
45
43
42
44
47
42
49
39
41
45
38
36
24
40
72
138
138
132
153
176
65
55
46
42
95
104
130
157
160
142
96
64
94
98
104
164
158
111
124
132
114
162
144
151
106
106
100
101
111
78
85
97
146
133
86
83
88
84
88
90
84
129
120
56
115
114
100
94
103
108
103
88
109
187
110
110
92
110
94
90
25
27
26
26
104
87
125
53
105
73
135
112
84
20
16
22
22
16
69
85
74
67
69
70
14
9
9
14
12
69
110
101
5
16
14
11
9
13
18
75
77
95
95
89
98
108
51
140
183
131
122
132
112
60
60
69
96
88
118
73
84
87
96
132
92
106
136
119
61
93
56
78
55
62
126
133
81
94
43
98
138
50
66
100
102
103
90
86
144
76
71
87
68
129
126
105
131
167
135
149
164
128
73
101
89
99
89
153
154
133
73
91
62
91
36
33
79
86
32
51
117
100
91
97
96
31
37
84
39
39
104
47
40
77
100
87
57
60
107
23
79
96
28
14
62
77
83
32
92
98
104
107
129
138
130
76
80
125
119
87
31
45
67
88
147
141
149
163
138
113
99
124
142
109
132
138
127
142
98
100
103
96
96
102
111
61
97
101
57
62
53
99
46
49
51
56
59
56
52
48
46
45
96
95
38
33
34
37
34
29
87
100
99
46
45
97
96
98
43
62
60
53
50
97
112
58
55
114
62
40
52
82
80
155
173
174
113
94
76
56
52
105
98
89
105
118
109
123
47
106
82
123
59
86
123
70
76
113
174
115
106
160
146
94
94
89
111
95
81
90
95
145
142
146
146
135
99
106
97
138
82
80
129
69
109
114
128
125
108
99
98
106
153
173
167
139
113
102
82
76
27
16
22
20
106
136
93
145
146
57
38
54
29
81
52
65
109
98
102
84
68
60
70
40
97
34
24
71
97
119
51
31
92
102
93
94
102
56
61
110
132
64
128
60
63
122
88
137
124
127
112
122
83
64
78
75
56
40
50
53
50
53
58
138
62
117
128
37
101
118
165
164
161
162
139
97
83
91
202
13
40
86
135
97
138
122
127
86
74
108
78
117
112
107
114
149
165
138
108
95
119
119
79
94
115
124
135
143
131
87
137
97
109
31
43
77
73
70
73
67
79
85
30
33
47
44
28
97
110
59
60
63
54
106
44
37
103
94
17
77
94
89
20
22
30
40
54
121
114
113
138
96
107
131
107
120
176
148
74
66
117
144
104
87
83
112
145
89
119
144
113
110
103
137
128
129
135
101
96
90
90
57
53
104
49
88
89
39
38
90
95
51
52
98
36
44
43
43
48
55
111
110
107
53
51
52
53
44
35
35
90
90
91
89
35
31
82
47
17
66
192
90
96
86
69
65
67
80
94
65
24
19
26
29
82
35
36
31
39
86
61
72
98
107
128
114
92
19
25
24
13
4
6
0
60
66
61
71
94
114
136
82
143
95
86
78
61
46
33
34
99
104
99
121
137
92
97
98
155
160
158
151
147
155
151
139
123
122
133
104
104
102
78
166
164
133
106
101
55
61
45
47
46
113
134
145
79
69
71
115
111
52
58
74
79
127
128
142
133
131
138
149
152
132
102
38
94
117
137
129
117
122
61
98
56
68
55
62
131
66
70
61
71
119
81
46
103
139
121
112
106
43
83
65
77
84
92
98
90
70
60
69
74
140
135
93
81
121
88
106
126
112
160
155
143
180
138
114
93
113
103
174
154
78
131
144
90
92
87
62
124
115
117
140
141
78
149
124
53
43
46
76
107
113
99
64
109
123
123
103
87
84
82
100
88
103
93
76
79
97
115
67
57
42
97
52
42
82
24
26
84
39
50
63
131
107
65
72
46
40
76
26
21
18
52
134
76
44
62
121
87
113
133
74
145
154
152
159
139
165
95
51
46
106
140
137
105
33
79
85
138
97
97
103
92
147
115
133
127
111
43
44
46
45
45
94
89
98
94
91
40
41
93
49
53
50
47
49
53
104
99
43
36
37
42
50
101
96
96
84
35
42
44
44
44
96
93
134
178
142
130
81
106
150
122
105
102
40
33
41
81
79
17
14
26
33
29
37
82
26
99
112
84
2
8
24
12
17
4
7
15
7
13
13
15
78
80
76
72
72
69
19
24
30
56
62
94
108
113
98
77
115
95
80
35
91
95
105
120
85
95
152
140
142
150
143
125
116
112
104
113
53
113
133
137
106
54
50
43
35
45
110
124
36
87
113
124
129
104
30
37
41
44
54
111
125
113
116
129
87
141
144
145
85
127
133
141
145
90
134
127
76
75
75
66
78
82
71
65
56
115
150
71
127
120
115
166
128
108
125
78
59
73
88
106
107
89
77
79
138
131
89
147
100
73
95
84
50
65
93
96
142
132
127
97
118
132
115
87
94
96
148
163
151
88
93
77
141
137
116
115
125
126
133
150
128
48
54
64
55
74
98
88
88
82
127
114
120
123
107
98
78
80
82
88
30
39
97
42
91
91
42
56
115
107
46
42
48
57
118
128
97
79
104
85
40
43
96
84
85
41
31
21
51
127
114
102
70
82
88
92
82
144
89
137
102
177
140
78
83
95
130
144
121
86
119
135
125
74
41
87
85
73
98
67
149
99
97
96
47
51
53
52
49
42
90
86
86
88
38
38
88
41
42
41
40
40
40
41
91
89
41
38
35
94
96
94
94
91
40
42
42
40
39
38
46
134
120
138
133
112
136
38
91
93
94
46
49
31
82
38
39
30
23
16
12
19
68
100
109
72
66
30
19
18
30
39
29
27
25
14
22
26
29
82
84
37
42
102
98
42
43
44
42
96
54
78
90
82
129
138
136
82
129
119
105
95
94
50
58
103
100
107
121
126
127
133
117
106
132
117
57
63
112
109
111
102
93
47
111
127
49
86
79
23
31
114
126
44
52
101
48
58
63
66
105
98
103
117
128
130
120
102
115
130
137
139
93
92
81
140
124
122
131
77
80
133
70
109
116
74
46
122
117
95
144
141
44
69
92
67
74
91
119
123
100
85
90
99
72
136
119
83
96
120
52
59
59
55
112
111
111
118
140
143
133
105
112
65
87
153
163
85
74
92
70
71
63
117
126
122
66
147
161
109
45
57
64
105
67
84
72
87
89
81
61
117
72
106
104
82
28
83
85
82
102
39
90
87
36
47
115
109
54
103
48
50
58
123
138
91
74
107
89
47
42
89
97
84
29
23
24
46
70
129
106
74
69
117
112
114
131
67
76
150
164
180
131
113
111
102
70
124
148
106
120
107
100
61
76
84
77
112
67
96
97
83
65
39
45
45
39
38
41
41
104
102
49
49
48
49
63
116
119
68
66
62
64
68
125
126
61
47
102
109
111
114
106
104
47
96
41
39
39
33
36
56
112
117
149
161
45
83
34
45
38
74
27
65
19
18
18
25
25
17
149
114
97
100
96
98
50
43
59
52
90
86
36
90
96
96
90
32
86
90
93
93
35
35
89
52
121
67
122
60
49
41
43
98
98
104
132
79
85
96
107
162
108
157
95
93
144
143
131
121
122
121
144
112
119
114
80
74
84
89
130
115
105
98
52
56
99
45
106
55
43
65
86
86
66
56
127
131
120
59
49
45
99
96
97
47
97
110
130
79
76
87
90
75
57
74
139
128
90
146
130
58
84
82
40
109
110
135
77
121
98
61
88
101
89
80
87
108
114
91
74
77
129
133
140
100
118
150
119
85
94
106
99
85
65
116
138
125
44
82
64
44
95
115
112
107
107
109
92
61
77
43
43
43
115
138
124
108
54
108
52
40
41
64
80
74
75
80
67
83
83
64
62
47
103
104
26
33
72
73
39
103
50
42
51
122
104
35
96
42
33
40
68
94
103
86
97
63
55
122
35
34
36
25
33
100
81
72
49
85
118
65
57
72
90
141
139
130
95
156
157
133
136
126
140
155
139
101
100
160
127
35
91
83
81
96
98
76
125
177
110
96
38
40
47
56
105
100
47
51
101
98
102
54
58
109
109
105
104
56
61
65
73
130
126
120
57
47
45
102
108
111
113
100
96
46
48
47
62
60
47
33
91
97
95
108
89
70
62
13
24
26
17
95
49
61
29
39
104
103
106
98
87
90
105
54
41
26
28
30
91
99
97
92
80
83
87
92
91
88
85
40
40
43
100
104
44
38
44
45
44
44
48
52
47
38
41
49
60
63
56
102
48
68
132
142
148
156
166
174
179
171
178
189
141
139
138
126
173
166
160
138
121
61
59
57
51
44
96
50
57
72
73
67
85
84
103
33
40
49
57
112
112
104
98
103
108
113
64
65
67
76
87
66
126
80
65
127
130
63
77
106
67
78
119
122
124
138
89
85
51
54
71
91
113
111
102
83
75
89
104
107
136
116
135
158
142
77
94
120
121
99
86
67
64
137
66
88
88
78
82
42
51
54
96
171
184
112
87
61
90
77
94
131
130
47
98
116
41
49
54
40
58
79
62
60
60
60
62
59
59
120
36
100
111
41
38
90
33
85
89
26
48
119
129
60
41
96
37
36
40
38
58
87
49
33
49
115
113
100
33
37
85
36
85
113
175
188
58
28
41
96
116
145
155
89
94
145
103
113
117
108
139
116
136
136
163
118
64
113
127
119
97
92
48
58
65
108
122
170
166
40
41
44
47
96
99
103
99
98
99
102
107
58
107
111
103
98
49
56
62
65
120
123
115
104
97
97
106
114
113
108
90
90
47
54
56
61
50
88
28
80
82
82
30
27
22
72
78
47
51
54
86
52
20
83
141
64
83
108
100
81
95
109
96
80
73
34
90
94
96
91
87
83
90
97
93
89
90
93
48
98
97
47
50
46
43
47
51
53
103
103
53
53
46
50
108
108
46
30
22
20
40
48
105
107
112
120
127
132
116
137
155
101
144
142
106
138
141
157
132
127
79
78
74
114
101
44
49
66
33
87
43
137
160
92
77
63
124
129
125
119
108
100
100
112
98
105
59
115
126
91
85
140
72
50
106
96
31
68
81
49
131
80
132
141
128
117
52
90
110
78
90
121
125
110
79
70
148
167
113
135
119
126
134
68
66
92
109
108
147
145
77
71
137
122
147
100
85
76
73
55
42
154
171
166
159
92
68
43
76
95
133
124
37
41
102
95
48
102
100
59
69
62
105
40
32
84
33
40
54
57
123
80
56
96
89
31
30
29
20
92
63
86
76
54
35
21
32
41
29
41
50
91
107
126
75
127
111
77
72
66
85
98
141
162
52
21
13
44
97
107
126
135
91
92
136
157
176
115
117
144
112
67
113
148
163
82
76
139
132
109
50
60
70
75
142
153
159
168
36
42
51
55
91
35
35
101
96
89
87
39
45
50
85
81
83
46
61
120
118
65
53
100
101
109
115
116
114
103
98
98
105
58
58
55
100
93
91
93
70
15
22
25
32
36
30
26
40
96
16
91
68
93
121
94
49
40
75
88
106
88
73
79
33
100
40
94
98
96
88
83
94
91
86
80
81
85
88
92
90
37
37
41
48
50
56
62
61
104
94
40
48
52
44
87
81
81
90
49
55
51
54
105
101
97
96
96
94
92
92
113
80
124
102
33
93
116
78
66
122
71
79
80
134
137
87
82
50
51
100
104
130
80
71
82
91
89
78
121
71
68
112
108
100
85
109
128
125
117
67
79
69
49
59
48
84
39
133
128
52
69
102
79
90
79
79
95
131
149
135
78
82
74
118
114
60
113
104
35
96
86
85
99
116
71
72
67
66
111
119
115
120
141
126
50
25
44
72
106
119
115
121
121
99
100
84
77
51
107
116
114
109
70
75
45
63
59
104
114
64
59
66
72
62
54
50
99
54
68
143
84
63
108
105
34
71
74
25
88
93
50
72
83
91
67
37
77
80
33
38
54
100
117
124
99
92
104
105
73
87
104
86
8
62
34
17
15
52
93
68
87
139
92
121
103
147
100
77
79
120
112
130
126
147
68
40
67
36
64
69
26
27
42
71
147
168
175
174
58
52
47
96
96
101
107
101
96
89
88
92
99
57
111
107
108
116
121
120
61
57
54
106
56
114
116
117
117
114
109
108
106
100
41
92
88
90
93
95
95
95
96
40
33
34
43
42
27
87
136
169
100
28
107
100
110
100
48
99
37
26
34
91
29
28
22
28
84
85
86
91
96
91
83
26
27
28
28
31
33
36
39
94
101
104
53
62
67
61
50
43
37
31
41
102
103
103
102
49
46
97
93
88
32
30
31
32
51
53
103
113
73
67
51
100
112
98
90
60
57
71
79
85
93
98
153
155
141
86
70
112
120
100
83
44
63
85
93
135
123
56
43
89
46
104
55
106
49
48
53
76
88
145
97
44
48
39
125
127
114
54
87
113
117
119
126
137
166
140
98
114
125
133
90
88
142
147
82
55
70
132
151
95
124
111
109
153
166
156
133
103
46
68
118
115
78
91
124
116
53
107
108
122
110
109
66
79
88
116
121
135
134
92
100
86
96
86
63
53
51
102
103
58
70
67
57
41
31
87
83
47
41
88
83
21
77
26
33
63
62
56
40
48
60
119
120
107
93
40
41
25
37
88
88
102
103
86
77
94
102
80
70
12
3
40
39
40
44
109
91
79
102
68
91
91
97
150
151
162
126
169
121
104
125
35
88
47
34
22
24
33
33
40
57
97
102
80
125
39
39
97
105
111
110
111
113
109
102
100
103
108
59
91
37
94
106
117
70
71
72
67
66
61
106
106
56
112
107
102
103
103
101
48
52
96
94
90
88
93
91
86
40
35
38
41
31
106
145
130
69
91
123
55
102
110
115
114
98
39
47
45
36
41
80
65
11
64
69
30
98
93
91
88
28
26
26
26
30
33
90
41
96
100
102
104
114
69
64
51
40
21
39
48
103
96
90
39
47
104
43
39
38
41
48
56
62
56
61
54
39
33
46
64
36
100
90
98
132
111
77
79
84
83
127
120
120
78
154
81
123
135
118
49
53
33
106
72
81
141
81
59
43
40
57
51
44
48
114
78
124
105
59
49
44
50
98
120
128
124
62
47
71
61
126
118
117
155
144
111
129
54
78
92
83
86
160
160
80
121
144
134
111
111
83
97
107
118
93
118
94
52
139
136
138
100
93
79
139
66
118
127
131
105
102
95
91
75
61
122
131
131
102
116
102
107
94
66
98
96
97
94
111
75
72
112
91
77
79
37
99
34
85
84
74
78
81
87
69
68
63
32
36
86
86
97
111
117
65
55
18
47
86
62
28
101
101
104
93
99
88
80
20
3
31
46
63
38
94
83
72
89
63
121
72
89
130
136
155
106
164
128
107
114
65
89
61
62
49
31
30
36
44
52
74
66
80
144
47
53
104
103
100
98
103
100
98
103
107
108
57
54
56
55
55
56
110
59
59
56
55
56
60
61
58
58
60
47
98
104
105
101
45
45
87
85
79
81
98
94
92
77
34
40
45
107
53
33
32
50
53
97
98
104
105
98
101
91
28
30
88
37
41
90
86
82
69
72
73
83
76
26
31
26
18
66
15
23
24
77
79
82
89
92
101
101
86
69
70
73
41
50
104
107
105
98
100
48
43
33
33
42
51
56
57
57
66
58
40
36
50
67
70
67
65
75
129
95
105
122
68
61
58
62
65
62
61
102
104
68
77
75
86
101
84
49
43
97
109
75
125
71
98
118
120
111
49
46
47
53
40
39
126
135
83
134
119
99
81
83
42
57
124
130
108
102
130
162
65
115
116
111
154
142
87
148
154
104
115
127
130
128
131
133
87
91
67
100
129
112
156
139
129
130
77
75
75
113
99
50
115
123
121
138
64
89
80
85
146
140
149
106
94
94
110
104
88
133
125
118
123
123
129
74
58
60
126
101
25
15
27
75
78
71
79
83
89
112
102
57
50
35
88
89
97
94
103
73
71
44
61
55
50
42
39
52
97
120
119
65
63
53
47
55
52
49
39
85
96
101
119
65
119
119
108
104
70
62
58
71
115
119
122
103
94
55
36
27
24
38
41
30
49
80
94
98
92
108
109
102
96
90
87
91
84
34
42
95
89
90
104
55
55
55
108
58
59
59
57
54
51
54
110
60
62
66
52
100
95
90
85
31
86
85
73
77
95
96
94
98
92
88
39
49
101
38
94
49
46
91
90
93
90
88
91
88
23
17
28
90
88
86
89
110
93
84
93
84
79
70
23
30
67
62
70
82
37
38
37
87
87
87
87
77
21
69
71
81
88
99
54
110
108
106
105
101
37
29
41
45
46
44
42
46
53
61
51
61
71
74
62
42
74
63
69
130
115
116
121
60
55
58
70
73
66
66
115
106
58
60
55
67
89
136
77
95
140
114
44
78
24
111
96
88
41
111
82
95
70
117
117
77
147
149
132
113
106
108
115
114
112
116
83
76
81
106
133
83
103
48
44
103
111
118
138
156
160
117
123
117
119
127
110
64
37
60
90
72
134
163
98
119
122
69
62
49
45
96
48
89
114
135
144
79
85
83
89
91
127
138
96
87
91
93
65
45
58
118
119
131
143
142
134
60
61
76
105
46
27
23
26
82
73
85
84
87
107
45
56
59
98
87
115
123
128
138
141
74
10
35
36
31
21
24
51
109
126
117
84
102
74
52
75
67
46
16
67
82
86
103
74
137
132
109
127
90
115
83
40
64
109
131
106
45
62
45
34
26
39
44
33
49
79
91
93
89
55
55
56
112
65
59
53
49
51
101
95
93
42
30
31
39
41
36
35
41
40
85
83
86
43
51
51
48
98
44
44
38
34
31
81
31
80
82
29
77
91
89
80
82
86
84
88
93
77
91
91
81
75
77
82
84
89
28
77
68
68
24
28
30
88
87
38
35
75
81
47
53
35
44
39
29
46
48
34
32
32
29
23
20
24
25
73
83
93
92
34
80
23
25
31
86
32
86
95
103
105
91
37
35
86
84
86
89
89
83
74
78
82
83
81
78
81
86
92
90
83
77
91
88
28
27
33
81
22
35
34
34
89
88
85
84
33
27
26
36
45
43
82
71
76
25
79
76
69
70
75
71
69
70
79
81
85
90
37
42
43
94
104
102
82
78
25
24
90
100
75
88
87
29
85
27
62
72
90
85
87
104
55
42
27
24
82
99
97
87
91
96
104
118
120
74
84
81
100
94
89
115
123
127
126
120
118
114
112
75
94
123
61
75
98
71
46
27
12
22
43
47
49
47
113
53
36
33
87
80
60
78
76
66
122
128
137
54
54
56
89
51
68
129
80
84
80
150
134
138
125
120
137
105
104
104
115
85
56
122
112
64
71
65
85
138
114
84
72
59
95
126
69
113
82
90
104
58
83
92
119
122
135
131
128
165
185
92
83
54
34
25
136
52
55
143
80
102
73
54
105
105
106
52
46
41
39
40
91
89
89
39
32
37
41
92
87
35
92
94
90
37
38
89
86
83
87
42
40
42
48
47
95
37
35
31
86
84
82
94
93
87
85
89
91
95
95
71
75
79
74
21
80
85
29
21
16
77
81
85
92
91
36
91
97
93
98
99
49
49
41
45
39
40
44
32
80
85
23
23
22
22
78
76
17
81
79
79
32
41
98
96
98
49
48
44
40
40
40
90
88
88
82
75
76
85
42
88
86
83
82
82
82
82
30
30
82
82
87
93
45
83
40
43
42
42
38
41
89
86
33
91
96
46
99
49
37
28
23
13
56
13
82
79
68
70
72
71
70
70
72
72
73
71
71
79
88
28
31
35
40
96
100
101
91
24
35
44
83
86
98
94
94
103
51
89
88
92
83
86
91
93
88
81
81
84
41
86
73
82
87
90
98
107
45
41
45
105
54
46
57
123
117
96
94
113
93
70
59
65
28
30
32
96
44
28
16
19
22
15
19
35
47
48
45
50
79
74
114
70
107
61
68
87
104
74
54
75
108
152
155
162
174
88
93
73
55
71
91
101
174
114
128
193
90
159
172
107
59
64
89
87
84
108
111
144
133
91
106
110
107
92
91
116
109
85
75
31
47
56
69
131
144
173
188
157
100
54
3
26
137
102
46
85
150
110
124
123
61
112
57
55
50
48
45
41
38
39
93
94
42
39
42
91
36
85
87
39
92
92
34
34
38
41
91
88
35
36
34
33
85
85
84
30
50
49
46
41
89
85
82
84
80
80
80
77
73
19
73
78
82
83
30
33
40
46
52
48
91
38
90
90
42
35
91
88
87
89
96
52
51
45
38
40
39
81
70
17
84
96
97
92
49
108
107
103
101
51
102
44
92
89
87
34
35
34
33
32
84
85
87
87
89
92
37
32
72
74
74
71
69
69
70
74
75
78
79
78
27
27
83
90
87
30
30
80
69
74
19
20
76
77
21
68
71
89
41
30
35
108
112
99
38
83
77
72
21
24
78
75
75
76
69
69
78
89
40
29
21
23
78
76
78
69
40
42
81
26
78
98
89
89
94
98
97
100
107
110
103
121
124
56
35
24
75
65
22
32
86
85
91
103
60
56
114
122
75
121
57
94
90
85
87
91
95
89
101
44
25
77
42
32
75
122
78
47
42
48
38
43
91
98
70
70
58
54
97
80
111
132
61
122
90
84
69
98
41
33
102
128
62
67
59
87
98
143
101
123
124
91
86
96
109
94
152
127
144
59
72
135
148
127
122
83
59
127
75
43
116
135
107
109
112
107
114
97
56
25
37
59
54
125
182
191
72
128
56
50
53
75
37
87
94
53
102
163
192
101
100
48
49
103
103
51
47
44
95
98
98
42
40
98
95
39
90
93
43
44
43
33
32
90
43
42
40
37
86
82
77
28
31
32
32
47
46
45
44
40
91
90
87
79
77
75
19
77
21
24
84
89
35
34
40
49
37
43
38
31
34
92
95
46
36
33
91
106
110
103
102
104
48
43
95
93
79
63
75
84
96
106
61
57
102
101
93
36
37
35
81
81
82
83
89
43
43
35
78
73
30
84
85
90
41
34
75
74
22
74
74
21
20
72
77
74
19
72
80
31
33
18
77
74
17
23
80
76
73
72
23
28
82
29
82
80
79
87
52
63
60
103
97
72
81
82
82
29
25
19
20
71
72
70
71
26
35
50
40
31
28
32
87
85
70
44
40
75
24
70
85
71
22
80
87
90
88
36
39
50
119
120
50
82
74
25
82
35
29
81
87
52
76
82
76
78
81
138
137
129
104
40
85
87
91
89
94
105
97
25
26
43
32
74
42
45
29
68
80
31
22
81
40
84
61
62
46
74
77
90
85
6
61
58
116
123
128
90
48
113
118
109
73
72
102
164
142
78
93
106
124
111
86
72
74
87
106
147
141
86
76
94
133
115
126
125
149
128
79
84
101
107
112
110
152
125
114
72
16
77
111
137
125
187
128
74
141
68
13
122
131
32
75
128
47
96
141
162
111
111
58
56
56
58
60
57
51
100
102
100
93
88
93
87
32
86
90
91
90
36
36
36
87
84
33
39
47
31
28
82
90
45
47
46
43
42
44
45
44
45
48
97
87
86
84
24
84
75
86
90
42
46
104
53
42
36
45
96
91
95
95
83
73
71
23
75
87
95
104
120
117
42
32
88
25
92
123
113
117
115
51
38
34
36
23
71
82
109
73
117
85
83
76
74
27
30
29
81
83
40
44
90
88
39
39
85
81
24
74
79
30
81
26
33
31
32
91
94
30
19
25
88
84
17
12
16
31
95
91
33
26
19
72
83
107
115
70
75
81
78
109
86
88
69
70
84
42
32
16
27
25
78
87
89
41
45
46
52
47
30
23
86
82
98
28
30
36
84
94
94
95
88
23
16
66
60
60
19
21
82
87
83
75
73
24
34
41
46
47
41
41
49
43
32
30
38
52
48
87
25
45
57
109
111
64
83
97
43
96
52
51
83
71
27
46
27
63
73
25
34
53
146
97
96
97
95
88
74
57
120
44
36
118
74
90
75
73
37
19
76
99
101
139
99
109
107
111
173
163
105
91
70
41
37
75
62
172
189
117
95
115
134
155
153
146
145
155
59
30
87
127
173
92
140
127
154
116
59
4
106
142
123
138
145
138
91
86
90
120
110
70
45
107
134
213
134
56
119
66
64
59
61
53
42
86
87
91
43
45
45
41
48
43
95
94
88
89
90
34
39
33
29
32
33
86
89
24
32
88
88
89
33
26
89
92
89
37
45
92
90
33
36
86
85
90
83
82
34
31
37
33
23
35
45
32
28
80
75
66
67
75
77
73
86
90
41
41
102
120
112
47
90
78
30
88
84
78
92
102
101
42
43
47
48
93
85
102
127
63
33
32
22
69
20
20
18
21
29
35
36
86
89
45
46
41
101
99
99
102
52
54
54
46
46
46
97
94
41
40
104
99
92
35
29
23
18
87
84
28
26
30
95
111
124
104
89
89
93
97
111
127
70
44
43
41
39
92
40
39
40
37
39
35
35
45
41
45
50
51
47
96
100
42
46
49
51
53
107
41
42
43
45
48
50
103
101
99
78
75
77
75
75
22
17
15
22
32
44
49
53
59
81
75
69
63
38
25
19
15
75
77
76
91
76
85
87
20
16
18
82
106
110
88
83
19
72
81
20
11
70
90
87
83
79
97
107
95
88
79
42
53
82
65
77
35
82
122
99
101
61
73
89
142
94
55
62
142
120
79
103
109
82
86
85
24
129
177
161
159
106
111
178
154
152
147
113
44
67
101
113
129
176
152
132
145
161
180
120
153
137
174
123
177
149
76
83
128
142
144
59
124
180
109
88
98
121
135
132
124
64
52
98
91
82
33
92
98
48
45
38
46
41
91
90
87
89
93
37
92
88
84
82
81
81
82
29
90
93
87
83
82
81
89
93
90
91
49
95
93
40
43
92
89
90
86
91
84
34
45
43
35
49
48
75
20
21
70
62
65
75
79
51
114
103
47
101
50
53
52
105
92
81
29
21
15
23
90
101
100
41
47
53
59
50
35
88
99
38
35
36
79
73
75
78
26
81
34
37
88
91
44
46
45
96
96
95
98
102
53
54
106
98
48
51
53
105
103
50
101
102
102
100
96
37
77
76
77
32
43
109
117
119
104
27
18
83
81
70
86
120
123
52
56
62
60
103
94
35
36
33
37
86
32
38
31
37
44
46
96
89
88
35
38
41
45
102
52
37
42
46
51
53
53
51
48
99
93
93
92
37
38
35
24
12
12
9
19
25
78
83
92
40
45
54
102
91
31
86
88
31
22
82
56
51
50
44
76
7
70
90
87
98
96
79
22
32
27
12
62
74
89
75
76
93
47
38
59
80
71
20
68
135
153
94
82
60
28
66
140
149
66
59
41
14
64
149
114
137
113
57
97
119
92
135
79
120
159
158
119
118
117
163
154
124
101
98
90
119
94
170
113
162
170
95
125
95
84
139
140
172
171
177
159
93
96
117
128
121
105
140
144
86
61
75
87
114
107
96
86
80
85
93
100
50
53
105
102
47
46
91
88
92
94
92
41
96
94
36
40
92
31
30
85
81
36
37
38
81
76
85
100
100
103
97
94
101
95
91
59
105
95
95
99
85
33
89
30
18
22
34
38
55
127
113
52
50
106
64
72
122
52
29
25
25
23
32
51
47
103
83
91
101
42
44
47
41
31
75
26
44
46
43
51
107
105
101
45
55
55
46
88
84
87
92
47
53
50
99
102
51
46
95
97
50
47
94
94
41
40
90
36
35
33
32
89
92
43
42
95
92
85
32
39
102
126
121
113
107
103
101
49
51
62
65
60
112
119
118
110
134
55
88
89
94
95
98
54
53
42
34
88
39
98
97
102
106
105
52
40
83
38
86
32
35
39
40
35
29
32
35
87
33
34
37
92
94
97
45
44
50
53
46
44
47
31
75
15
63
16
76
67
62
14
25
78
78
85
27
34
43
90
35
56
33
38
85
29
84
85
100
128
133
111
31
26
29
29
36
37
37
87
88
81
28
44
67
112
143
124
32
26
19
34
54
101
178
149
73
59
94
72
21
40
153
139
147
158
103
60
52
120
116
96
120
109
166
174
173
170
103
88
121
95
137
162
105
89
72
95
148
187
181
160
69
102
104
112
131
142
150
157
138
90
70
108
138
160
159
70
100
49
110
134
137
88
85
89
95
101
105
109
104
54
108
106
101
99
105
55
107
109
101
86
31
42
47
44
47
97
29
33
97
93
46
36
41
94
88
92
52
56
57
101
90
93
98
105
50
92
81
81
84
75
29
24
8
43
128
114
69
96
125
116
112
56
102
51
52
100
100
92
89
41
40
39
44
48
28
24
102
109
58
105
39
37
87
89
45
48
41
84
89
96
99
47
54
47
54
55
104
98
40
40
44
99
102
51
45
93
96
45
43
48
43
85
84
85
86
86
36
35
35
35
41
45
48
38
101
107
53
55
115
120
99
97
94
38
36
34
34
33
26
23
78
81
82
88
97
88
109
48
59
115
108
108
74
83
77
41
76
64
61
19
24
26
27
34
38
80
75
26
87
96
95
35
31
88
88
88
86
83
76
15
9
68
74
86
31
22
23
27
26
31
76
75
72
71
77
17
12
61
11
11
63
65
0
16
34
38
88
46
99
108
70
78
105
73
82
108
127
134
121
46
28
11
6
68
87
25
80
25
39
63
73
73
72
79
120
91
132
63
46
33
28
77
78
87
66
66
4
27
49
73
89
93
154
125
150
65
40
125
156
179
162
117
164
158
87
56
66
58
112
191
160
67
55
48
69
91
109
92
140
168
110
61
51
181
157
123
184
87
108
135
113
94
168
140
44
121
75
89
106
101
83
26
76
83
96
103
110
59
115
116
60
105
48
49
102
103
53
46
84
88
54
65
44
55
110
41
37
94
84
36
24
39
98
93
42
104
62
55
43
44
117
104
92
55
98
33
28
77
18
31
22
84
97
108
113
62
66
87
136
136
76
59
48
45
41
38
90
78
33
99
101
45
47
19
24
105
53
52
92
92
91
37
88
92
45
94
85
100
113
52
36
41
62
105
59
62
57
48
44
96
97
103
55
97
93
48
52
49
84
79
70
71
74
26
28
75
24
26
29
36
38
40
62
75
134
74
115
107
33
92
89
34
36
41
44
44
42
50
50
93
90
45
102
100
103
94
72
83
45
99
106
56
77
88
128
116
105
102
96
39
28
18
23
42
37
70
72
78
83
29
77
87
80
76
73
73
77
80
80
27
67
75
39
33
68
65
70
28
26
64
67
66
64
14
25
77
28
29
68
60
57
69
54
3
15
70
24
64
124
140
143
104
71
56
100
86
141
125
104
38
21
17
85
92
78
34
36
51
45
7
65
99
144
110
93
80
93
84
16
76
90
30
36
101
66
25
118
96
80
96
49
146
152
160
147
127
52
110
104
186
116
137
82
66
43
89
54
45
135
152
135
81
49
46
80
130
71
91
193
113
87
141
159
201
172
175
195
157
130
128
93
106
99
54
80
71
69
91
89
84
83
81
79
26
28
30
40
42
46
103
51
47
44
101
37
33
50
61
99
88
97
31
32
35
34
47
57
46
46
105
92
97
105
53
52
43
68
64
42
58
100
83
37
90
38
25
10
50
57
55
109
106
100
98
100
47
44
53
123
145
159
103
83
65
41
31
33
95
99
96
42
34
37
99
111
103
97
96
51
107
101
92
84
91
120
181
189
172
126
31
15
72
62
29
46
50
104
57
109
104
52
48
93
92
37
86
88
94
87
87
89
100
62
118
110
108
57
63
74
69
63
48
95
89
32
79
77
89
93
35
37
99
112
70
61
30
36
96
100
43
35
34
90
93
130
106
44
51
104
98
38
84
32
98
100
101
51
64
76
84
128
114
58
59
112
112
104
93
42
54
62
53
109
113
115
112
54
101
100
97
107
100
79
75
27
73
33
85
86
86
87
39
94
90
88
35
35
68
63
64
77
21
16
9
56
1
3
9
26
38
75
92
131
70
77
131
117
88
38
44
35
103
68
51
55
55
55
31
27
25
42
99
93
84
79
36
19
78
80
25
85
136
71
17
24
115
144
132
124
87
131
179
117
171
173
96
91
123
131
172
151
88
80
128
153
112
83
76
77
161
103
106
50
121
140
92
58
138
192
195
124
102
167
172
101
64
152
156
31
29
125
108
56
54
130
120
104
99
120
124
126
124
62
64
66
66
61
109
102
37
29
55
110
47
51
104
96
108
123
62
42
41
46
96
100
59
65
64
101
100
108
99
40
49
111
42
38
49
29
81
100
34
38
32
20
26
62
56
54
51
98
93
94
98
104
104
44
34
29
81
29
28
26
86
92
91
85
32
36
89
107
118
121
108
117
124
72
67
114
110
113
119
115
65
83
114
93
84
81
26
73
34
85
91
51
58
109
112
118
113
104
97
52
114
119
69
69
124
92
92
91
142
135
114
54
45
43
49
47
44
24
24
25
76
73
21
91
124
122
121
112
98
44
51
60
56
93
25
25
40
104
106
110
103
125
74
44
84
100
90
85
28
78
78
79
27
36
48
36
29
96
86
47
70
108
98
98
95
34
24
76
77
78
80
84
85
30
24
74
88
95
87
87
91
83
21
75
75
76
78
79
78
88
87
34
32
74
71
18
13
13
13
15
16
17
14
5
0
5
54
67
94
106
66
119
115
42
39
40
39
125
119
109
42
25
71
74
83
87
53
48
19
77
93
60
112
71
25
17
25
84
61
87
90
79
74
98
130
103
118
106
101
102
156
166
178
131
130
165
136
85
100
142
141
84
62
120
115
200
157
157
65
63
105
179
39
69
167
119
104
180
204
106
83
155
130
101
52
108
171
85
59
72
133
151
147
140
110
113
116
115
114
121
127
58
63
110
93
32
94
69
58
109
113
52
99
122
129
49
49
110
113
103
97
104
113
58
48
105
108
92
32
42
28
46
50
86
91
89
18
92
97
89
22
27
52
101
61
110
107
104
101
98
44
80
79
25
21
21
25
35
42
40
103
98
81
27
39
97
100
111
113
103
116
124
69
65
57
108
118
128
119
107
101
89
30
34
91
90
83
35
33
91
51
57
110
120
134
72
116
111
120
130
78
75
79
74
71
66
68
124
70
118
63
58
53
53
55
58
58
58
58
54
97
87
87
99
103
119
74
54
35
39
63
55
38
27
34
105
113
111
113
93
123
135
108
89
47
83
83
30
82
82
29
27
37
46
31
21
33
79
99
47
93
96
55
57
45
33
35
90
91
91
93
96
92
34
17
30
91
85
86
91
86
83
80
68
69
72
70
64
77
25
25
24
76
74
20
21
25
28
25
20
16
19
25
10
20
80
80
77
77
138
123
55
37
93
93
34
65
63
107
41
30
31
49
114
93
56
53
19
14
36
73
110
23
32
77
25
21
9
67
105
99
93
130
96
95
113
153
93
91
150
168
184
136
115
135
54
75
156
134
112
97
89
113
157
173
143
146
107
67
105
127
151
98
88
127
103
153
111
97
163
151
136
114
83
111
101
65
70
85
154
179
162
145
51
50
49
49
109
62
118
103
102
97
91
37
91
42
77
119
104
50
109
105
97
98
73
73
103
88
36
96
104
53
63
100
97
94
33
27
41
18
23
94
21
84
103
113
106
35
79
35
32
91
51
97
92
90
86
27
26
89
93
98
101
101
48
50
51
46
51
105
91
94
52
47
87
87
87
98
48
36
22
29
31
96
52
101
64
113
131
126
63
49
93
39
42
58
109
110
113
61
58
53
101
66
111
103
111
115
51
88
30
29
36
31
28
26
20
22
24
26
29
33
34
35
36
90
46
58
64
114
107
109
112
124
86
98
101
80
40
42
49
56
109
101
94
91
95
52
106
126
139
74
53
57
62
64
113
114
60
56
36
84
31
30
26
85
94
104
64
77
83
79
76
86
66
77
80
68
54
47
41
87
88
47
103
86
75
21
16
88
96
90
32
35
37
86
71
21
22
74
35
37
33
27
80
81
29
82
34
47
49
39
46
51
125
152
159
137
99
19
21
102
106
87
106
90
57
88
81
16
19
8
16
36
40
86
78
19
24
70
34
39
43
41
34
3
28
50
110
121
152
120
114
68
76
74
139
173
188
198
169
103
112
76
46
91
146
93
96
115
110
127
99
89
134
136
86
57
45
133
127
92
87
102
103
123
167
114
116
118
124
165
158
114
93
110
149
146
76
89
54
56
66
110
105
53
35
87
80
80
91
91
85
50
33
125
105
83
88
109
111
113
131
98
46
115
48
48
114
49
31
98
97
38
31
81
33
69
18
57
58
111
123
134
119
100
42
101
102
35
79
76
76
78
81
87
42
48
93
42
94
92
37
36
42
50
53
52
102
46
42
38
36
91
92
93
118
76
61
39
40
45
102
56
116
73
70
116
66
113
117
136
96
81
72
108
88
83
44
55
49
86
73
77
89
48
47
37
28
46
45
29
21
72
75
25
45
41
29
20
47
99
35
90
86
37
36
34
100
96
107
97
98
73
163
130
119
85
75
61
51
52
59
64
116
122
47
98
109
130
85
76
50
53
52
60
58
53
108
99
96
34
77
27
46
46
54
64
70
65
58
54
43
56
114
63
65
71
66
54
99
93
94
96
96
92
89
37
30
35
43
56
66
61
100
36
43
45
98
75
81
75
108
95
86
86
82
79
55
83
89
85
75
122
111
42
32
31
29
104
104
78
85
100
123
101
24
78
14
12
75
23
38
40
73
74
36
19
36
38
23
16
32
19
6
2
68
81
109
155
137
189
154
123
107
172
188
189
140
149
108
131
128
125
130
102
107
107
107
177
159
115
103
146
158
119
108
99
110
119
44
84
118
92
130
187
173
120
130
122
116
135
133
59
61
114
155
75
89
131
51
53
105
109
94
83
89
27
32
88
29
23
31
89
120
53
88
94
117
73
77
142
32
105
115
44
42
106
47
47
99
83
33
31
75
71
74
87
26
69
115
122
123
109
51
54
107
93
77
77
79
82
90
49
59
113
55
58
109
107
106
51
50
52
55
59
62
63
62
111
108
105
101
58
69
88
91
84
74
56
69
79
80
75
126
127
72
68
116
70
77
71
122
119
110
96
84
81
85
41
47
66
66
81
97
99
87
22
72
27
26
17
15
20
78
32
38
37
29
80
82
80
88
84
92
106
110
106
120
114
131
145
90
70
51
44
76
88
93
79
109
47
56
68
68
67
122
124
131
83
79
70
53
53
53
90
31
28
88
93
98
102
51
37
27
35
36
32
25
25
35
54
96
105
57
60
65
64
59
60
69
121
116
109
108
117
76
53
49
50
70
88
86
72
54
49
44
47
67
58
95
79
20
70
22
70
64
84
68
111
92
26
77
79
30
33
90
93
68
67
89
90
100
64
115
76
16
67
70
62
77
86
25
67
68
81
70
77
46
39
70
23
28
67
2
16
87
112
93
113
169
131
185
188
189
185
177
117
113
99
156
179
172
171
157
102
98
101
116
157
127
136
164
163
177
148
142
133
80
64
140
169
106
197
187
178
99
19
105
55
133
171
160
69
90
136
62
143
126
31
46
61
104
113
118
90
32
42
83
28
47
45
87
66
68
115
113
120
71
112
98
53
51
46
45
90
82
34
24
92
89
84
35
101
119
120
115
95
39
135
120
103
33
23
23
30
89
117
125
119
117
118
69
125
124
65
67
69
67
63
60
61
117
67
74
69
117
114
112
110
110
67
63
61
49
90
41
52
68
57
46
44
52
100
88
43
45
99
48
44
30
41
50
108
116
112
88
69
79
52
101
95
89
80
71
70
71
85
95
110
104
45
47
54
31
29
33
44
98
91
89
83
111
102
83
104
125
134
127
109
41
42
57
67
63
40
49
68
91
102
91
66
46
47
91
94
100
51
62
77
84
67
101
96
92
40
47
97
36
32
37
44
60
70
67
62
55
48
47
51
110
107
113
115
116
118
62
60
65
59
107
113
126
133
126
115
135
134
121
68
71
72
69
59
51
46
41
6
2
10
17
19
78
82
76
67
28
33
79
24
25
77
83
46
70
118
99
103
97
76
87
101
71
77
72
59
0
68
73
84
58
112
128
96
69
49
80
38
82
14
25
41
70
29
54
68
125
141
160
166
137
113
159
173
168
144
150
176
157
183
100
133
157
151
130
186
137
121
166
135
149
106
102
131
131
166
177
101
80
172
142
126
188
192
187
99
109
110
173
195
146
60
0
78
70
35
60
67
32
14
18
37
86
87
39
52
57
42
92
61
54
64
104
111
122
121
114
113
58
45
40
38
49
46
78
24
98
91
99
101
55
54
46
43
98
99
101
106
64
59
35
96
58
80
89
80
127
127
120
119
115
109
106
112
72
80
139
88
77
121
121
72
72
127
114
108
107
111
66
122
114
109
112
85
140
136
80
66
62
105
97
43
94
89
96
63
115
102
52
111
97
51
46
98
107
113
114
119
73
65
93
87
43
53
59
60
110
100
99
99
89
26
20
17
22
28
31
84
92
99
124
117
105
109
118
102
89
47
46
44
41
37
33
30
33
31
31
82
81
37
60
84
74
48
31
87
35
30
35
29
121
130
126
138
80
125
119
74
78
74
67
69
72
65
66
72
82
86
78
56
115
110
104
107
112
105
45
47
51
114
114
112
113
113
111
96
82
80
97
50
86
68
21
58
0
6
24
33
43
48
97
94
92
90
90
52
49
50
55
101
92
104
64
60
106
82
84
89
31
43
101
22
37
59
96
59
66
107
105
106
92
95
106
122
108
79
21
76
27
27
35
84
25
51
103
91
116
159
171
130
165
133
119
150
140
195
168
163
87
105
107
80
118
146
187
202
125
92
66
94
98
147
149
107
195
180
147
142
154
176
215
157
137
131
103
138
209
135
87
105
87
91
146
102
105
114
154
14
16
15
22
34
36
45
31
45
46
98
55
56
77
101
113
135
141
124
107
96
29
52
108
110
44
28
27
85
92
39
97
117
120
50
33
31
91
94
40
15
31
72
59
65
76
79
74
92
98
124
125
126
123
118
111
107
127
134
136
132
132
134
76
66
116
57
55
56
61
119
71
123
125
74
130
134
132
76
77
68
53
91
89
48
102
106
120
121
112
109
56
101
104
103
104
56
63
121
122
67
52
51
109
64
64
58
53
108
100
111
65
58
48
43
27
34
37
34
46
105
106
117
100
100
117
115
94
86
44
38
38
48
61
59
40
25
22
20
18
10
6
69
34
73
73
42
82
72
63
16
2
85
127
69
132
141
121
115
129
131
63
51
119
123
70
57
45
45
49
51
54
86
80
72
71
22
16
15
25
54
119
113
103
100
102
102
89
72
59
68
17
57
44
10
1
51
63
40
47
102
107
105
106
108
110
59
64
68
61
53
92
91
70
89
44
42
75
32
45
93
45
42
13
4
44
95
91
122
106
69
110
97
97
120
137
99
80
76
27
28
30
96
80
66
83
86
81
46
132
158
181
180
147
59
85
145
207
171
138
85
128
80
80
111
128
190
192
101
95
34
47
72
150
101
96
183
130
145
204
129
130
190
219
209
152
155
171
147
106
128
151
108
103
97
27
105
177
75
41
60
52
30
97
49
50
100
57
70
74
118
111
131
106
120
101
107
104
38
48
27
24
81
95
44
86
35
47
87
94
102
97
45
55
67
90
74
77
71
42
67
73
66
67
66
63
59
60
63
76
132
73
115
114
114
117
104
120
71
71
92
169
154
116
61
55
47
50
54
63
74
74
80
78
112
114
118
120
78
73
70
124
125
117
115
109
115
121
120
111
101
94
102
62
66
113
112
116
116
57
62
60
104
103
58
58
105
102
110
101
40
44
53
59
57
56
56
58
119
122
71
120
127
121
101
30
29
37
47
52
57
54
97
47
55
71
56
42
92
45
44
88
81
21
43
137
155
141
118
102
48
118
134
111
104
120
141
122
117
107
96
90
90
93
65
14
17
21
22
20
26
27
79
89
99
34
19
36
70
45
86
89
81
73
87
107
35
75
64
65
12
66
70
22
27
75
73
47
44
91
66
67
66
80
105
116
43
52
73
98
138
183
211
98
135
55
50
36
5
21
53
43
27
50
163
85
30
84
117
73
107
75
111
92
94
103
74
93
23
28
55
34
22
84
68
57
34
78
164
151
167
116
115
173
180
186
133
129
137
178
163
156
101
91
122
175
201
136
114
99
49
44
50
58
161
191
183
206
206
113
64
72
135
170
201
114
144
115
93
79
125
140
130
37
104
67
32
47
24
21
20
84
48
45
51
77
44
62
58
40
84
121
117
83
97
96
98
42
12
31
100
58
42
29
96
81
109
91
89
80
132
85
93
98
74
62
70
69
40
53
47
56
59
61
60
55
99
99
95
52
59
118
127
124
64
119
123
116
109
124
156
165
156
79
69
124
125
67
62
63
64
55
105
117
110
100
95
50
54
113
67
117
104
102
107
111
115
115
114
114
68
102
48
42
91
99
58
112
107
105
62
66
111
100
97
99
105
105
95
41
47
53
108
124
72
69
59
44
49
55
105
107
107
56
118
82
90
66
116
63
58
105
112
68
115
63
64
66
67
64
55
49
45
48
101
111
141
114
171
192
171
156
152
141
86
92
157
143
123
111
112
137
146
144
133
72
69
69
67
65
66
75
124
57
54
115
114
102
79
80
35
29
79
99
122
139
125
124
114
38
76
27
96
37
28
22
81
43
58
90
89
98
115
112
102
129
163
179
177
139
103
122
125
136
81
74
61
99
47
47
40
38
131
62
33
44
117
60
62
75
59
123
142
107
91
94
39
43
93
91
51
121
98
117
100
49
141
136
105
133
122
114
175
183
176
171
128
126
166
132
171
93
64
141
186
196
119
54
44
34
42
40
91
104
111
203
221
178
121
104
126
145
113
143
143
106
131
92
52
111
45
45
152
43
51
128
126
31
40
100
100
32
29
32
33
43
102
46
37
92
133
94
85
98
88
70
14
18
107
87
26
48
128
142
151
109
137
75
71
85
95
142
79
64
59
124
70
39
54
50
61
63
117
62
56
51
52
51
54
55
61
123
123
66
113
126
130
122
121
132
143
94
83
123
130
131
129
134
139
121
110
110
80
123
63
62
67
65
119
123
70
112
59
62
58
107
109
116
70
73
58
104
45
43
49
60
66
119
107
108
112
107
95
92
98
93
94
46
49
101
46
94
105
111
118
68
60
56
54
93
91
87
34
96
113
77
78
125
68
114
108
113
67
116
62
57
101
46
47
50
52
60
121
137
133
124
131
144
93
156
167
163
101
94
92
135
134
136
143
101
105
154
155
149
90
85
130
122
66
66
125
79
73
55
38
89
95
80
33
54
67
123
128
79
123
122
74
123
63
110
57
41
24
12
61
64
31
49
52
59
62
114
117
124
178
168
162
134
97
74
163
81
67
138
88
77
71
62
49
46
49
113
46
85
96
93
13
30
61
66
47
110
75
73
77
14
65
75
25
38
93
76
117
92
64
160
115
88
166
106
103
166
168
153
150
120
113
73
116
173
83
65
169
124
162
43
40
40
24
11
42
84
106
187
184
160
127
108
111
183
113
140
184
178
180
115
95
71
50
46
69
149
100
105
104
64
49
54
103
87
105
111
94
71
35
110
125
78
124
96
98
99
65
79
100
58
81
58
75
160
160
144
82
83
136
125
137
87
79
73
66
57
57
110
127
66
30
100
45
40
43
47
49
52
65
71
77
78
79
85
89
132
72
125
61
56
120
134
138
83
81
84
144
93
86
142
91
129
129
126
127
128
69
69
74
73
65
111
61
117
122
72
73
63
105
105
61
67
61
62
59
108
58
57
109
117
77
122
108
106
56
55
50
45
46
91
89
43
99
102
104
93
90
90
46
68
70
120
122
123
120
110
98
41
50
41
49
64
124
124
125
124
123
135
91
136
125
117
110
52
112
126
127
131
148
158
154
162
166
106
107
174
163
135
139
139
142
145
95
86
133
131
139
148
146
131
117
119
75
103
68
57
87
128
135
66
87
134
127
64
65
128
84
104
66
50
95
51
52
94
46
29
25
26
25
34
31
19
86
112
84
89
78
165
132
141
135
133
157
120
163
151
104
131
38
18
23
37
105
83
7
19
64
0
6
27
38
45
44
62
38
32
73
78
95
57
35
54
33
17
101
146
104
29
92
124
52
87
115
135
197
131
85
121
94
113
64
92
158
173
177
112
100
98
114
59
48
73
4
16
76
127
160
169
199
127
129
105
184
175
124
176
185
98
71
46
89
38
48
114
125
79
64
57
72
91
34
43
45
86
105
115
136
126
60
52
55
108
81
80
67
100
112
118
125
63
96
75
68
127
126
63
63
72
162
104
76
74
74
62
46
49
99
116
120
111
121
105
58
115
68
71
71
72
126
68
121
71
76
76
118
64
97
87
139
146
141
128
130
90
100
92
141
150
182
133
150
121
125
75
76
78
72
63
117
125
82
80
119
102
54
76
79
80
74
65
61
73
67
55
103
112
65
111
107
58
72
84
88
88
82
63
42
53
99
53
58
59
61
117
103
100
44
42
55
119
127
136
133
129
124
117
111
62
73
77
83
131
121
122
128
129
142
148
142
137
138
138
82
118
27
40
103
107
111
115
133
131
128
90
29
115
160
176
125
124
169
154
67
58
84
100
122
138
83
118
94
51
54
122
131
111
29
81
103
95
47
52
106
58
58
51
45
99
91
92
77
77
144
91
89
94
82
61
69
56
64
87
88
74
82
100
80
162
138
102
103
119
123
125
133
135
134
116
97
48
46
27
64
77
13
1
0
5
8
20
27
17
70
47
149
103
95
53
53
62
115
60
40
71
118
138
97
113
76
83
97
119
118
106
93
66
112
145
105
65
45
130
143
187
164
108
126
82
83
120
105
120
126
128
144
140
204
117
140
130
105
205
150
95
110
164
124
101
75
50
41
115
147
161
85
75
86
74
93
123
60
15
46
69
66
55
106
120
114
93
94
78
72
109
125
63
69
85
86
76
83
88
135
127
111
123
163
157
141
63
70
127
64
50
29
27
104
112
116
137
69
78
142
142
74
64
76
128
128
77
127
124
73
78
80
79
79
133
130
71
65
124
83
84
82
68
132
165
174
101
120
62
59
67
67
65
64
73
73
70
67
121
74
71
75
82
76
66
65
70
132
100
93
140
146
94
74
110
59
79
73
67
74
69
53
46
47
42
59
65
62
62
119
113
104
46
45
107
110
104
111
121
125
117
107
53
54
66
84
127
98
94
57
109
110
114
115
118
134
151
96
81
73
44
100
114
128
141
151
121
71
53
99
81
83
58
97
94
100
116
172
125
125
107
118
130
69
56
121
125
130
123
106
91
91
51
58
56
112
104
41
44
104
48
35
29
34
48
59
119
113
50
49
60
55
89
28
34
43
99
86
15
25
57
65
96
177
183
70
97
133
135
111
73
133
124
100
103
117
104
38
82
90
75
0
10
22
9
72
25
20
59
98
158
7
138
110
112
50
18
117
97
100
124
140
148
122
48
66
82
109
104
96
82
62
77
98
100
144
120
104
131
115
154
173
121
97
109
117
113
112
96
150
135
182
177
202
200
127
180
207
90
102
113
136
109
88
102
106
128
119
164
135
88
49
114
69
78
136
135
129
105
40
40
78
60
104
99
79
16
49
132
139
91
94
95
138
78
81
80
73
129
138
153
156
145
121
111
40
45
108
61
60
60
65
80
71
70
92
80
138
79
73
74
81
90
89
136
87
138
130
68
61
56
54
64
73
127
80
89
92
90
84
109
56
72
148
152
85
80
125
119
122
124
126
76
72
82
85
75
118
135
90
90
71
52
58
83
95
138
86
144
147
148
88
71
121
134
81
76
78
75
115
71
149
135
77
59
58
112
56
50
103
106
63
64
99
48
98
97
106
114
119
72
129
80
75
42
23
95
64
56
101
100
91
96
113
122
116
114
69
75
139
139
140
141
83
72
120
50
58
93
67
58
74
64
92
146
66
61
163
162
167
91
74
73
129
131
100
137
110
85
78
79
77
77
29
31
82
29
29
81
81
30
41
41
29
77
81
88
91
79
68
18
88
103
108
119
130
109
88
19
12
24
101
97
70
75
144
157
147
88
126
107
100
86
100
135
154
180
175
111
105
107
63
56
83
93
83
49
72
84
32
92
110
99
93
18
44
71
123
202
151
122
142
129
102
71
110
123
112
179
190
108
92
94
83
48
111
95
113
168
175
173
123
149
126
106
145
111
81
91
149
180
176
197
170
34
132
125
109
177
211
90
93
135
136
48
61
106
120
166
43
76
51
35
124
118
101
40
121
124
71
98
108
31
20
58
82
109
104
170
166
98
92
91
136
128
89
172
117
137
126
74
113
39
100
112
115
119
124
73
90
96
149
122
43
69
125
125
66
62
64
116
54
54
98
108
115
111
53
53
112
64
78
88
140
145
148
138
122
102
124
142
142
136
79
75
63
60
60
64
62
60
61
87
142
133
60
51
68
69
60
65
70
131
139
82
131
126
76
125
71
68
59
57
118
64
66
63
68
83
144
90
146
156
144
81
81
81
78
77
121
68
71
61
61
110
105
108
116
126
78
127
114
55
65
59
48
55
67
63
56
71
131
121
108
104
105
105
58
88
138
136
135
125
58
119
132
85
61
54
49
44
73
58
125
158
111
130
124
64
83
109
170
150
111
87
72
101
119
57
92
89
41
95
36
89
90
34
28
30
90
26
30
33
81
80
87
42
91
46
52
47
65
123
108
112
63
129
75
63
77
137
142
74
101
97
41
48
127
161
123
99
43
52
71
82
86
89
86
92
108
63
54
41
92
116
111
100
78
100
115
126
96
96
72
44
110
134
98
132
131
153
122
92
87
126
110
134
152
103
146
187
173
124
49
60
78
102
173
175
129
181
211
155
140
126
121
94
64
47
66
182
186
89
117
195
84
99
118
205
113
47
93
94
57
68
112
172
111
157
73
92
75
94
47
41
42
133
122
53
103
83
25
54
90
97
89
103
100
98
147
80
51
94
108
168
180
99
127
135
127
95
42
54
117
116
64
117
118
72
62
105
92
47
76
86
84
133
126
67
111
49
48
54
120
130
125
59
53
107
84
97
160
162
156
146
124
104
99
111
131
140
139
77
65
57
56
59
63
59
57
110
77
133
126
57
52
66
113
98
106
112
124
142
95
131
136
83
78
76
77
122
66
70
53
52
46
53
80
143
79
80
143
149
143
91
146
148
90
73
65
70
73
127
126
121
114
107
54
56
112
125
66
72
130
132
77
62
52
70
81
129
108
96
50
111
111
68
84
133
129
126
118
108
71
117
57
36
31
41
55
86
38
37
137
108
135
130
106
120
143
118
128
101
38
81
71
81
56
64
100
38
44
36
34
83
79
77
80
83
31
83
86
83
79
80
84
91
54
65
56
137
151
132
74
81
141
134
69
70
72
143
63
17
5
19
99
137
99
77
124
52
40
62
77
138
129
96
81
108
140
124
83
102
95
123
133
178
121
140
171
150
143
112
108
111
132
113
80
53
64
113
116
121
111
118
109
90
126
155
188
162
136
61
65
89
116
174
109
122
125
138
191
144
139
120
83
89
12
43
196
181
91
181
138
107
160
135
174
146
62
52
95
114
120
115
127
87
121
56
132
43
61
68
75
83
120
102
98
57
108
83
84
86
80
149
142
151
90
118
56
70
155
188
89
71
85
155
136
120
137
144
146
77
65
62
118
122
108
118
139
146
119
90
120
117
163
143
68
63
124
62
68
128
127
113
48
105
74
92
85
130
74
65
108
106
58
42
116
63
102
96
45
38
45
99
105
73
134
143
100
96
167
176
114
107
154
142
157
169
108
138
133
139
126
105
110
58
55
54
100
47
53
112
73
90
91
144
148
91
75
70
95
161
166
118
177
185
109
92
82
57
56
108
133
129
75
74
70
65
125
143
131
120
72
84
83
81
77
57
100
111
122
120
115
115
73
66
121
120
114
109
109
47
98
92
41
63
85
97
61
65
71
106
85
155
173
111
113
45
38
58
87
193
165
116
31
50
87
96
78
59
66
113
101
100
112
116
58
47
87
89
101
111
119
125
99
92
50
114
147
117
110
126
95
101
104
106
84
74
92
84
35
25
66
153
119
105
67
78
75
60
115
61
76
123
110
118
82
88
96
165
140
149
153
156
214
79
144
127
141
101
95
129
121
127
131
67
73
99
95
90
116
104
169
89
101
191
129
165
167
157
93
92
158
115
125
146
150
139
97
161
165
142
176
138
135
83
91
121
89
62
123
84
125
88
58
105
113
18
25
103
83
106
71
75
116
53
129
113
81
53
70
71
63
38
80
88
114
135
122
78
84
118
106
102
125
146
160
121
119
150
135
143
139
140
89
94
147
142
149
145
137
75
68
126
140
89
141
149
160
124
129
158
84
79
134
94
98
130
125
86
78
119
119
82
96
93
59
45
43
47
102
115
76
76
78
135
143
144
88
90
95
92
78
115
103
107
72
90
97
153
141
151
104
123
104
58
73
73
69
126
118
71
113
109
110
64
64
55
99
98
91
85
93
108
70
81
139
138
84
74
80
132
128
78
148
148
97
156
127
123
165
126
69
65
61
58
116
124
139
133
127
127
136
90
81
52
113
124
76
66
105
100
52
60
60
102
88
91
96
88
20
52
116
124
137
84
81
70
54
100
110
118
132
149
164
97
74
67
133
145
141
149
118
129
116
99
93
95
96
130
120
113
116
129
138
138
83
68
91
114
170
168
117
100
95
88
135
150
147
130
69
54
29
21
47
135
121
108
170
137
110
49
48
70
132
70
90
100
107
118
54
41
130
112
116
132
96
97
117
113
132
148
206
86
86
141
174
142
68
129
117
78
132
162
152
86
91
95
160
178
177
182
100
175
173
128
131
184
162
108
126
198
133
118
133
200
133
99
76
100
76
68
104
61
52
68
98
141
132
211
182
133
138
182
183
99
0
62
89
41
105
158
138
125
59
113
38
16
83
86
74
46
27
39
44
41
95
107
63
49
98
123
157
172
123
112
99
89
138
142
93
140
121
70
66
118
140
115
126
113
42
34
87
91
95
99
105
58
65
107
91
44
45
105
119
78
99
160
157
109
162
157
157
158
97
68
69
67
61
110
114
60
50
44
101
122
141
148
95
96
128
147
217
173
139
87
156
190
189
164
151
77
113
127
124
77
124
118
117
113
116
66
64
111
106
53
55
111
113
67
137
141
138
79
65
102
111
72
60
113
118
65
61
54
118
128
76
75
90
155
182
121
109
103
105
155
153
147
136
130
130
125
65
69
78
51
89
103
66
58
40
29
27
20
68
57
54
63
77
128
160
139
113
110
104
75
75
77
84
142
138
113
106
118
153
106
137
129
132
136
83
82
83
96
123
139
127
102
57
48
56
130
146
147
139
139
74
103
120
122
126
188
130
127
132
187
155
133
62
73
74
66
60
55
99
97
34
31
90
111
107
115
139
103
53
156
167
90
93
53
57
118
109
63
80
164
164
52
113
111
128
101
123
159
113
80
97
96
132
46
73
167
170
146
94
75
143
184
178
187
186
174
127
99
168
105
77
96
152
152
129
72
94
163
168
191
205
182
154
109
104
79
35
18
80
197
98
193
169
103
89
86
95
133
85
91
73
132
134
166
151
143
139
65
112
59
44
81
75
54
83
106
109
41
48
92
42
37
90
120
104
110
167
110
152
144
80
68
117
79
59
107
135
139
122
123
82
86
111
88
79
79
82
90
42
99
47
124
119
91
106
106
54
51
101
76
93
167
172
170
161
99
142
128
55
105
102
50
60
67
63
55
104
140
187
220
220
195
122
153
219
168
162
90
134
129
102
170
160
150
84
127
127
120
119
115
115
119
120
118
45
119
130
69
65
70
118
106
126
128
121
117
117
110
47
71
81
107
101
103
102
99
46
109
121
71
67
80
145
144
95
98
108
170
164
151
142
137
141
150
147
132
74
78
57
92
102
73
79
110
85
77
24
20
68
19
90
114
119
147
114
110
109
108
65
45
60
67
113
117
135
128
100
124
158
163
139
132
88
83
88
85
76
82
104
125
134
83
61
107
117
132
142
146
139
142
158
118
132
138
191
128
179
187
139
109
89
72
132
117
96
34
36
35
101
35
28
89
112
110
124
148
144
131
152
150
31
101
120
128
61
62
67
78
102
109
68
97
104
129
76
102
101
94
90
94
87
77
43
116
169
176
161
153
68
87
184
166
137
103
162
115
90
153
86
135
159
181
130
110
119
139
137
137
155
187
126
176
178
115
131
74
119
184
135
45
187
139
103
82
85
121
128
91
111
76
157
110
102
147
170
154
62
49
99
37
54
31
24
122
168
134
120
100
104
128
93
173
171
58
84
85
80
130
133
127
68
66
86
95
95
76
116
138
120
113
140
88
78
78
88
101
46
50
107
96
117
125
98
36
93
45
47
106
141
155
146
133
69
78
109
186
185
93
130
111
110
117
109
55
67
74
82
164
189
185
160
139
87
78
63
115
128
130
122
129
74
108
121
138
142
139
137
132
128
120
110
109
65
97
148
146
92
86
79
73
121
103
107
114
115
114
114
66
52
106
102
110
116
123
132
86
73
115
63
61
52
48
49
57
60
72
142
84
92
85
129
68
63
66
81
107
121
106
91
133
123
116
69
80
114
125
125
141
150
97
149
132
108
112
121
116
116
58
53
41
29
79
87
41
88
98
101
118
142
157
158
86
86
89
88
85
142
148
87
72
154
114
176
123
162
147
140
135
143
103
108
116
178
133
138
193
197
194
136
122
99
148
103
64
71
102
61
46
62
108
81
16
74
101
75
115
131
97
149
124
91
63
43
53
59
61
110
34
41
115
113
120
149
101
116
88
58
138
71
71
99
146
128
159
155
163
144
147
115
118
162
179
138
152
181
107
122
164
176
191
194
132
177
129
132
128
189
139
181
129
121
153
100
99
176
145
146
81
143
153
86
71
63
87
76
130
178
104
105
113
51
59
109
86
126
84
34
82
28
40
32
105
86
173
170
143
153
158
157
154
86
108
84
112
155
154
141
68
76
146
92
91
109
118
162
146
143
99
85
114
92
45
56
110
99
111
62
107
106
110
127
109
57
68
119
65
82
101
93
124
61
52
53
54
107
65
125
129
123
113
109
56
122
91
138
99
122
131
134
116
103
116
116
117
133
133
68
104
100
64
126
122
117
114
109
101
121
136
136
86
99
159
153
139
131
75
118
59
51
95
66
119
115
115
69
73
72
72
69
101
101
104
60
126
102
46
99
50
34
41
55
119
120
101
99
99
42
73
155
150
152
155
91
68
57
74
133
122
126
162
181
122
120
114
149
147
157
145
73
130
144
100
157
157
160
164
113
101
81
51
37
42
93
91
93
84
78
70
82
131
92
89
85
73
122
135
147
149
148
56
45
122
113
137
183
167
171
110
104
109
112
110
160
175
177
178
180
126
112
98
97
55
75
82
103
63
71
148
133
41
22
32
114
65
76
154
78
127
159
102
106
99
159
159
163
155
56
45
113
114
172
139
81
73
80
89
140
84
79
89
170
163
141
196
170
169
196
188
91
85
118
85
94
122
128
142
165
166
108
176
186
185
134
127
131
139
199
184
176
116
106
154
112
99
125
109
103
139
183
181
109
81
44
56
107
180
153
114
75
38
156
81
0
40
0
91
43
3
41
16
33
73
136
150
160
153
117
96
49
27
97
122
92
130
121
124
136
154
160
147
121
123
137
190
167
133
59
46
40
41
96
52
64
118
106
60
56
53
104
125
59
56
75
135
137
96
146
135
61
56
107
56
48
38
90
109
112
110
106
50
46
102
113
134
117
71
102
96
101
117
103
109
117
129
130
124
116
124
125
119
109
111
129
129
82
90
94
92
91
93
135
132
66
60
60
109
55
51
44
65
75
75
73
74
77
78
71
74
69
120
108
43
91
89
93
47
50
48
62
79
69
73
63
70
126
118
133
120
120
78
91
145
138
141
99
133
76
85
92
97
159
168
169
176
167
173
164
142
134
152
100
100
166
123
173
116
114
100
75
58
56
49
50
115
55
39
72
75
59
92
111
97
53
124
133
141
138
69
52
55
72
93
107
164
114
154
144
112
98
95
100
158
159
160
113
171
180
169
103
87
63
97
102
115
68
61
139
129
39
26
42
61
109
46
90
70
87
120
172
133
175
151
105
104
88
65
66
112
96
158
142
63
82
83
77
91
82
79
146
166
155
99
154
175
177
154
200
164
154
123
88
64
90
137
147
93
160
172
189
179
124
141
133
120
123
196
146
163
172
99
139
144
86
85
124
150
129
179
171
111
73
25
51
160
143
86
89
45
141
48
2
8
36
115
108
8
25
55
0
0
57
95
158
80
49
31
33
66
146
139
53
89
160
165
117
179
169
99
154
148
100
103
96
84
76
74
60
50
41
38
39
40
87
53
58
55
57
58
132
69
57
87
166
174
168
127
116
108
102
99
49
104
52
107
118
110
118
140
157
103
83
60
40
40
34
42
47
94
41
118
122
122
115
121
131
138
142
143
143
144
148
145
137
142
91
90
83
69
113
139
80
67
62
67
71
127
77
73
122
71
120
64
68
78
86
84
84
67
121
120
66
67
133
143
143
128
67
71
70
84
82
71
75
75
128
144
144
141
86
81
67
105
105
119
89
110
156
140
88
125
90
127
116
101
61
138
163
182
182
182
173
131
69
68
70
123
114
41
25
23
26
33
29
46
47
45
50
46
77
131
93
23
37
102
101
96
93
39
47
57
66
74
137
94
130
143
112
110
103
148
144
161
108
111
172
190
124
107
82
131
120
109
112
71
75
142
147
61
54
60
38
80
101
54
118
85
70
68
144
125
51
79
77
63
116
137
126
104
65
97
137
96
71
80
96
134
128
144
160
163
179
130
129
152
149
157
144
103
42
93
114
107
69
81
85
170
164
170
158
90
85
83
102
201
185
107
186
173
99
164
142
29
149
167
180
114
177
181
81
117
130
158
162
83
27
76
170
97
60
33
96
72
4
57
83
46
3
4
0
48
84
84
19
50
51
68
86
141
94
123
162
169
167
103
139
117
56
116
136
80
63
44
39
50
65
116
115
105
36
35
48
57
96
95
40
54
73
141
126
62
76
142
149
144
63
64
50
42
37
94
51
59
57
99
98
78
127
207
206
171
74
99
105
58
57
110
116
122
53
58
62
120
119
113
105
105
107
107
104
105
80
94
107
90
71
64
70
131
85
65
58
59
63
62
65
123
123
114
61
65
66
115
58
56
56
74
130
128
127
126
129
125
137
144
142
154
105
100
90
141
84
89
80
134
142
118
65
66
65
111
103
50
57
56
47
113
143
92
140
159
159
139
139
77
64
74
146
144
156
174
199
138
115
92
67
111
42
33
39
46
51
101
47
92
88
84
21
79
88
100
57
27
50
94
69
86
87
42
44
42
43
56
71
84
127
69
90
114
173
169
102
101
154
161
113
95
77
115
65
62
106
107
65
79
91
147
73
115
95
9
70
98
52
62
128
146
95
60
13
18
117
63
117
50
110
180
123
111
139
207
163
136
127
93
142
133
133
148
183
143
137
136
131
103
125
129
125
75
94
81
61
80
114
78
136
115
152
135
118
62
44
95
175
166
108
99
111
167
149
92
103
181
148
132
106
174
202
101
92
143
151
177
108
115
160
68
62
16
40
75
52
21
101
100
111
65
2
0
48
63
83
110
121
127
88
99
158
176
164
154
140
132
70
109
110
124
133
123
59
100
94
98
56
62
66
68
63
97
91
43
98
90
41
96
62
79
150
86
65
70
73
77
77
58
63
52
50
101
101
55
60
112
107
52
79
114
127
180
163
80
41
40
60
70
122
112
101
52
56
58
56
57
55
103
110
108
103
100
101
135
101
73
71
65
62
70
136
134
77
73
75
76
69
67
124
126
60
63
69
122
65
62
63
83
153
157
153
145
133
126
119
131
139
87
92
104
111
150
142
133
137
129
79
64
51
48
46
44
42
39
37
99
93
48
68
76
115
115
133
147
101
109
102
148
99
104
118
115
166
188
143
188
176
170
157
77
54
49
119
134
72
70
127
127
114
103
37
135
109
75
31
41
47
89
45
94
99
46
91
85
38
47
38
93
47
61
78
134
127
66
70
129
139
99
87
125
110
63
63
104
36
29
93
101
46
34
86
67
45
65
96
104
55
130
176
112
99
70
76
130
72
118
114
120
161
164
106
101
106
88
57
97
80
32
36
41
46
86
126
136
190
177
156
102
112
142
70
88
82
67
24
44
68
92
144
161
127
112
75
137
158
210
141
84
85
110
176
169
70
84
117
169
174
202
113
136
101
123
108
137
167
125
173
80
76
4
94
80
67
30
35
140
123
96
64
31
8
101
56
58
113
121
131
149
174
181
156
114
59
88
134
132
84
78
133
129
96
95
93
37
91
101
52
60
109
64
70
53
43
109
119
117
116
125
149
151
94
70
56
74
75
58
50
116
56
55
57
116
79
97
112
162
129
60
65
68
61
58
55
100
55
56
55
41
93
116
73
121
118
71
91
101
94
152
147
87
77
130
146
114
73
73
76
81
81
127
69
111
115
77
146
150
92
143
150
166
117
120
120
108
110
132
188
186
125
113
154
98
151
159
149
153
156
98
98
87
83
147
145
127
74
91
48
103
52
53
54
55
52
97
34
45
59
67
119
118
71
130
83
110
112
169
126
131
128
121
120
114
164
174
126
123
171
173
120
116
113
147
133
85
131
128
127
76
78
135
135
142
115
91
66
121
55
60
56
111
113
101
99
102
94
31
79
30
36
82
80
90
72
23
33
88
94
106
110
82
18
98
86
12
21
72
12
7
69
70
0
0
78
103
101
119
104
113
127
91
85
100
135
69
123
131
129
150
180
171
93
80
129
65
61
64
83
68
70
81
119
85
80
155
187
161
138
112
140
84
68
75
77
16
96
123
111
61
120
97
120
124
131
130
169
106
132
126
70
71
114
91
76
108
134
118
112
178
100
89
14
63
131
146
96
41
44
33
11
89
71
101
79
59
134
71
111
9
14
34
79
120
104
104
84
45
58
109
124
108
99
110
136
140
137
76
64
107
81
99
100
104
103
101
104
56
64
113
107
52
50
124
104
87
114
105
128
137
124
79
144
99
66
75
100
56
100
58
65
73
126
117
108
57
64
68
68
57
50
59
67
112
54
53
116
128
68
54
104
66
120
142
149
153
138
119
150
140
79
73
128
94
66
53
52
58
71
84
144
150
169
126
187
189
136
188
186
183
166
101
100
164
115
114
118
119
112
97
141
132
75
125
130
134
133
117
58
70
68
64
72
136
144
145
146
56
122
71
71
122
120
120
69
69
63
56
111
118
122
67
62
67
80
79
83
93
101
104
107
114
118
119
173
167
106
173
152
76
70
140
177
124
112
158
144
72
61
70
167
123
97
99
103
98
86
58
52
53
111
117
114
118
129
135
93
81
95
101
108
108
107
41
43
105
107
75
77
81
108
109
132
120
40
36
46
55
41
93
40
25
80
104
105
99
128
102
131
98
31
19
94
149
134
58
88
107
149
147
126
64
51
133
149
72
86
87
87
109
109
70
54
105
128
152
116
156
121
77
74
65
59
19
61
168
196
195
26
106
135
173
119
194
179
196
215
54
91
111
86
53
30
85
119
101
101
126
121
151
127
111
88
137
96
118
127
71
62
98
109
62
30
72
119
141
100
124
0
3
29
62
60
125
134
8
86
112
123
59
34
67
79
142
79
68
135
112
90
99
52
52
106
107
105
107
113
66
61
56
49
48
63
88
78
125
120
123
104
101
71
76
93
106
117
109
110
105
55
59
116
60
50
46
113
111
89
64
50
51
117
124
117
54
46
54
118
116
53
97
61
56
77
146
150
137
173
147
136
79
77
135
99
75
73
77
85
95
101
105
166
178
184
182
168
106
157
153
146
167
120
118
166
163
163
113
98
142
78
128
123
119
66
114
123
126
64
61
56
94
119
67
81
101
112
162
131
122
118
115
117
121
125
78
73
66
60
115
124
131
128
120
66
74
77
81
85
81
75
71
90
106
105
108
112
114
175
109
91
77
127
144
149
121
182
184
122
107
100
157
103
105
100
139
97
168
136
84
44
104
114
117
69
132
143
106
93
101
108
65
59
50
51
45
102
108
81
72
67
28
98
91
109
78
42
53
127
59
57
55
39
87
101
96
91
127
148
114
37
32
69
114
140
130
141
93
65
56
120
125
128
123
145
104
91
115
106
109
127
111
58
77
153
117
61
134
174
144
112
90
112
126
150
150
174
172
97
96
181
188
113
88
114
180
148
209
113
79
103
90
64
74
142
122
101
155
116
110
133
110
100
123
138
135
143
99
120
65
27
28
102
88
77
88
66
144
131
36
0
19
38
59
140
84
136
101
47
37
39
78
14
101
69
18
4
62
75
98
100
54
46
95
103
104
107
71
79
57
51
59
123
134
84
98
104
82
111
106
104
64
54
66
59
45
119
34
89
85
36
46
105
103
50
68
133
105
91
41
38
89
103
66
58
49
51
59
77
137
129
95
29
26
63
85
101
155
147
147
162
124
130
190
175
162
115
118
114
100
140
144
139
140
136
127
72
129
135
87
149
151
93
88
145
136
111
104
101
52
107
108
112
63
124
116
47
45
132
79
128
110
100
110
84
102
162
166
147
81
121
119
121
123
127
98
97
91
84
137
141
137
76
88
76
77
82
85
83
79
79
76
69
80
90
86
75
74
61
57
71
146
158
153
145
145
140
86
95
114
131
176
171
90
81
92
111
165
127
112
109
113
118
58
108
120
84
127
63
136
143
129
115
65
129
141
131
103
105
104
30
16
20
70
142
62
59
94
38
55
72
63
54
106
97
98
70
87
138
101
172
169
175
86
148
133
79
131
132
122
118
97
168
176
116
141
166
95
160
130
124
30
55
51
107
102
126
107
80
120
154
178
193
185
181
135
122
90
96
49
47
75
142
131
119
146
150
77
123
100
70
102
102
160
145
122
142
135
170
136
130
184
154
148
192
122
134
100
73
63
87
51
43
109
118
128
127
24
25
28
72
52
67
121
106
131
116
46
70
82
21
106
67
57
33
43
46
67
63
24
35
81
81
46
101
103
71
115
41
60
77
149
107
98
75
69
105
108
105
51
84
98
114
71
46
48
63
44
88
85
92
101
98
35
86
104
106
56
52
50
112
117
58
62
54
112
122
140
136
109
42
46
53
75
104
179
181
141
148
172
186
122
149
134
106
96
87
135
133
132
134
136
132
133
137
80
122
70
78
132
145
93
96
165
158
122
101
102
109
56
54
57
114
122
135
94
106
92
82
95
99
99
105
102
140
136
159
188
182
177
170
157
151
164
163
105
95
93
159
179
130
122
171
189
186
172
161
162
170
125
130
180
109
113
170
119
120
104
89
136
136
145
153
98
109
167
167
119
125
120
120
120
153
110
109
105
179
119
99
78
127
80
122
118
132
88
121
117
139
141
133
131
129
80
76
121
162
161
133
119
80
55
58
68
59
7
72
23
48
67
55
37
80
110
117
67
75
97
114
112
160
163
91
74
128
119
92
98
102
85
112
185
153
100
134
112
106
170
103
83
103
166
186
175
166
131
70
102
151
98
82
111
80
92
105
44
0
88
132
90
63
107
168
158
159
203
123
165
138
153
114
164
161
155
85
162
123
155
145
136
131
114
181
188
101
72
104
83
64
73
31
26
97
129
134
3
7
82
104
85
68
97
149
138
87
69
94
72
33
1
66
82
76
67
112
54
99
90
32
36
40
50
31
11
33
71
84
85
60
131
129
69
69
64
66
113
58
37
69
77
103
97
127
132
101
136
63
39
94
99
103
103
101
100
118
115
62
65
66
116
113
59
57
42
47
121
140
82
64
103
115
63
86
164
168
158
135
141
157
176
170
130
144
94
140
82
75
119
117
129
140
79
80
136
127
117
64
119
121
71
78
90
108
113
155
113
107
55
59
59
63
120
127
118
72
93
96
83
77
89
109
103
86
134
125
129
169
177
159
149
175
190
173
167
114
113
113
170
126
133
137
187
183
178
170
154
96
156
155
158
109
107
106
159
161
125
134
191
186
127
177
175
108
102
165
181
176
116
146
136
171
109
112
108
99
157
172
128
115
159
81
65
71
130
129
112
125
96
93
132
78
78
53
60
87
109
151
124
134
90
80
68
123
111
68
62
87
41
42
48
82
69
112
104
71
145
104
132
144
120
161
144
71
107
116
111
104
78
97
143
155
152
117
175
175
190
98
67
172
152
174
140
99
160
163
109
89
113
96
87
18
23
109
76
10
23
115
170
139
85
98
183
109
140
186
129
167
170
96
104
175
170
100
119
80
139
204
159
165
127
70
152
90
88
78
127
112
127
51
56
139
80
87
38
0
32
119
65
63
85
70
114
157
123
87
40
1
25
38
123
70
60
54
57
108
105
112
127
110
103
90
76
46
60
37
7
71
41
101
107
109
60
72
48
57
125
62
96
60
99
52
121
131
121
115
120
57
48
100
114
128
131
128
121
124
125
122
63
57
54
105
97
94
92
46
57
58
52
63
64
70
124
124
150
128
132
140
140
138
144
134
73
72
73
72
66
109
107
79
120
113
59
112
115
66
59
95
104
61
110
105
115
129
131
137
81
77
73
65
59
57
52
44
100
118
78
74
74
127
94
96
143
95
145
91
108
184
187
173
170
162
147
88
92
93
89
84
132
127
121
65
130
93
153
144
83
85
148
148
147
90
91
148
152
89
85
126
115
59
63
117
57
57
124
134
124
117
151
156
163
172
126
123
115
164
165
144
153
154
150
102
107
103
158
165
87
114
142
137
81
115
94
147
84
76
114
127
97
68
124
130
103
92
101
77
73
95
116
110
106
60
121
146
103
95
95
98
140
129
158
140
116
121
110
72
22
102
87
157
186
132
116
171
119
120
112
181
144
154
203
193
166
131
119
80
141
122
0
12
92
40
107
111
56
115
157
63
79
178
206
212
181
133
180
108
182
151
138
165
123
140
127
116
89
137
137
164
129
108
116
122
107
160
97
131
53
34
52
107
89
14
42
86
90
34
114
111
111
128
74
83
130
154
118
91
116
51
35
79
61
50
49
116
127
129
80
86
93
100
112
113
132
138
56
72
100
129
123
52
60
135
126
129
75
133
83
95
69
117
112
46
55
126
40
107
118
53
55
124
132
123
65
81
137
133
121
110
109
115
118
116
131
87
141
135
121
56
50
54
72
116
100
131
129
153
137
122
71
129
109
59
61
58
111
63
117
113
55
105
107
109
51
101
113
69
115
98
49
108
67
132
132
119
98
49
115
127
87
94
97
78
66
107
106
110
62
68
65
64
59
62
81
148
82
67
117
114
120
139
156
107
87
89
141
91
99
156
145
129
76
79
92
105
101
92
93
154
106
162
163
110
163
165
110
159
155
150
91
69
114
64
63
121
120
57
106
131
150
94
82
69
115
70
136
146
112
166
168
115
100
124
104
132
101
94
95
98
98
116
86
92
143
135
86
89
90
72
140
146
94
155
161
153
171
177
152
127
135
138
74
139
137
70
74
90
74
117
147
140
114
110
98
112
119
71
88
86
112
132
124
188
201
124
95
95
130
126
108
116
176
151
134
121
95
80
94
113
125
148
125
51
111
81
89
102
124
86
141
203
211
208
161
135
124
110
78
153
158
179
192
182
120
141
129
84
126
121
19
84
100
97
47
116
137
120
87
91
86
14
18
88
47
36
13
115
116
115
121
86
79
71
148
99
159
156
98
40
118
71
67
66
72
127
72
67
64
52
106
99
113
153
158
124
120
121
131
112
117
95
166
168
169
148
80
76
87
66
112
111
103
117
141
47
104
127
62
66
85
143
127
115
76
133
129
116
108
111
119
121
122
140
148
145
132
62
50
62
69
81
93
72
112
119
103
140
128
130
131
110
67
63
59
111
118
123
119
51
54
109
114
59
104
110
70
73
60
108
112
122
134
127
108
103
107
116
124
133
84
83
93
82
123
117
118
72
79
85
77
71
74
90
157
142
65
70
130
137
86
139
142
104
104
98
143
149
160
107
97
139
84
93
103
100
94
96
161
114
171
171
117
168
169
167
111
159
103
97
86
138
128
123
121
117
110
113
129
126
68
62
113
114
67
77
139
87
101
126
137
116
142
140
169
157
89
91
50
113
127
137
103
153
81
102
95
63
86
94
100
118
130
110
106
99
145
109
97
128
84
67
86
84
78
86
92
120
112
143
157
50
73
142
177
180
108
67
95
134
110
123
203
201
190
156
161
129
97
128
156
166
130
109
108
112
133
158
108
40
59
70
103
111
114
71
95
133
100
101
211
124
136
179
108
113
98
100
128
177
190
200
194
124
135
173
146
142
67
37
77
121
38
57
139
132
115
83
81
82
8
59
69
66
79
37
113
113
116
70
96
83
92
83
67
106
128
102
45
98
54
71
79
67
106
52
52
47
54
100
115
99
159
138
130
140
69
164
161
155
157
152
95
127
123
121
71
149
46
66
119
119
124
131
60
110
69
47
51
84
153
133
108
50
111
113
107
106
112
115
111
116
140
140
130
121
124
80
124
134
87
76
64
66
78
65
137
140
126
120
125
126
73
71
125
128
129
127
128
70
65
72
130
70
61
116
68
64
61
55
105
120
82
83
138
133
105
100
102
51
48
46
106
117
124
123
117
62
47
51
112
116
118
129
129
86
80
82
135
73
66
67
60
85
101
96
137
135
135
132
97
102
165
174
119
118
125
122
176
175
113
109
161
162
159
107
108
109
100
90
148
152
86
124
119
124
139
142
130
113
105
115
71
70
76
90
84
96
128
176
126
63
103
132
135
120
106
129
147
131
134
137
121
80
79
114
106
144
99
122
119
86
79
58
57
84
53
138
109
3
0
10
54
87
79
58
65
152
181
161
121
122
110
91
127
143
149
141
111
122
139
191
197
118
140
192
112
115
189
154
152
176
180
137
108
137
98
156
151
66
66
113
115
96
85
119
133
156
94
102
137
133
182
184
63
71
122
174
182
153
145
139
178
123
148
140
117
115
57
51
16
93
116
124
117
139
104
1
0
0
63
92
91
45
137
109
116
127
76
86
137
65
58
106
105
119
138
84
47
83
59
98
53
55
48
50
113
131
142
144
134
123
122
129
141
91
126
111
149
139
70
57
104
107
105
73
132
57
53
115
140
132
37
69
76
54
57
58
111
110
95
84
108
124
129
64
53
108
111
110
117
124
128
130
130
132
133
89
135
134
87
95
102
101
119
127
127
124
125
119
117
63
61
112
111
59
57
105
47
55
74
140
134
121
113
105
119
127
88
100
136
109
46
69
111
113
111
93
43
64
62
54
103
118
155
169
135
120
148
125
118
119
120
130
134
77
127
124
119
67
65
61
125
81
128
119
120
134
96
96
81
135
137
136
83
134
134
150
168
137
144
143
191
172
161
87
135
152
152
166
171
154
88
87
88
136
136
121
123
70
67
122
78
84
85
160
160
151
149
168
120
76
138
119
95
104
101
97
52
86
101
115
94
104
118
120
158
148
131
70
70
63
102
108
88
69
66
29
51
69
111
67
77
79
78
89
114
135
163
172
160
105
97
104
131
141
107
98
100
124
146
135
111
144
135
90
160
185
167
197
163
145
83
112
50
56
82
126
140
92
117
52
51
90
140
162
153
116
143
198
184
175
197
103
119
125
185
165
161
122
119
158
145
131
136
143
135
77
80
70
45
133
103
111
111
75
57
64
105
96
18
26
27
112
108
123
130
73
93
135
101
112
109
59
125
141
89
51
57
97
46
56
49
40
105
125
147
97
139
71
67
81
99
167
108
170
101
84
69
102
97
41
49
108
131
89
129
69
76
141
98
41
77
71
59
56
57
114
106
86
35
137
100
97
71
52
109
116
65
70
118
124
134
138
137
134
127
66
68
92
100
96
83
58
119
125
124
120
115
63
58
59
114
117
65
57
39
105
45
45
49
53
120
145
159
139
71
117
120
115
54
53
66
109
117
118
47
39
52
61
53
43
46
130
153
176
172
104
91
92
94
139
67
52
48
105
110
106
53
57
48
48
108
127
150
158
99
89
128
115
117
124
134
97
160
169
129
144
159
155
144
132
150
153
152
160
176
154
158
162
155
93
88
140
142
136
71
70
65
61
112
64
120
120
114
134
121
119
181
141
139
137
86
94
88
35
39
26
89
34
27
59
126
132
161
89
70
100
95
47
36
67
73
31
100
119
130
81
134
84
72
86
89
69
86
122
125
164
167
158
105
105
170
198
193
158
105
89
110
137
120
144
133
86
137
167
110
146
92
136
111
52
55
35
26
76
89
159
145
107
98
102
37
94
120
176
133
143
188
177
134
193
171
185
139
196
164
140
169
159
147
143
65
58
120
160
162
140
80
65
79
89
147
66
33
22
38
110
99
12
27
89
81
116
127
137
142
132
123
116
126
64
59
61
119
134
77
36
28
88
48
58
80
151
149
140
132
131
143
162
127
135
179
111
72
49
90
93
96
117
107
53
111
116
64
114
50
117
144
47
56
55
78
98
83
67
116
113
56
76
142
122
85
55
58
86
158
161
137
145
139
128
123
127
82
85
126
73
92
94
81
62
63
64
125
125
61
122
74
67
69
70
67
61
57
60
62
63
126
134
74
61
51
94
96
63
83
141
133
118
55
47
106
102
115
72
66
57
48
49
45
99
117
115
115
122
115
114
75
95
162
119
134
124
118
163
145
77
68
65
82
101
157
145
135
142
157
178
197
205
203
197
146
150
137
123
106
145
93
93
145
166
174
171
96
66
98
112
91
92
138
74
75
140
145
73
76
83
94
104
161
161
108
92
82
101
126
186
163
121
86
78
41
37
38
35
18
62
52
71
131
82
81
107
39
49
40
74
27
100
122
132
125
123
126
124
119
119
116
76
136
84
85
86
86
87
112
170
170
117
118
130
198
134
95
93
106
137
155
123
48
148
169
157
103
117
94
154
134
96
96
59
109
137
151
164
172
150
109
99
120
138
82
86
106
117
117
129
198
166
133
152
155
126
138
164
112
162
136
71
125
111
107
51
48
115
130
122
114
89
62
67
43
98
83
11
43
103
57
36
82
139
134
153
102
144
81
75
131
121
114
117
59
51
123
141
116
24
30
119
130
78
133
129
88
151
157
159
156
89
74
123
63
40
92
92
98
55
54
111
62
73
154
90
75
127
107
97
98
40
50
59
76
88
80
109
49
109
67
70
56
46
49
58
69
135
147
161
141
127
62
112
120
77
87
143
151
82
74
73
122
75
68
78
135
121
131
130
73
65
55
50
52
54
57
48
40
40
94
91
37
41
92
91
107
117
113
117
129
133
118
58
105
109
54
60
77
85
140
128
111
59
54
101
98
109
118
113
102
47
65
126
65
58
113
136
122
142
113
109
114
128
136
182
173
119
122
158
148
141
88
97
161
136
133
188
189
178
166
160
146
135
121
56
47
49
45
51
61
124
76
73
118
105
38
88
90
45
46
37
26
20
52
60
143
177
166
136
107
121
97
82
39
45
39
27
105
124
116
109
65
70
48
108
57
59
69
130
122
107
120
119
125
81
128
65
67
73
144
132
68
87
89
79
90
80
151
112
113
115
122
126
129
128
130
186
186
118
93
135
202
138
161
172
136
160
128
155
101
134
137
151
167
176
130
113
124
100
113
135
144
187
185
172
174
139
125
80
135
167
96
175
129
116
124
88
150
143
96
33
86
80
69
40
38
76
101
99
93
91
100
107
82
59
58
113
77
53
62
36
26
140
114
163
139
88
81
127
115
61
121
117
53
71
88
123
116
84
145
123
69
79
70
148
159
158
148
136
70
112
115
109
98
105
105
50
54
65
73
126
131
146
120
44
124
111
97
106
31
48
50
62
92
93
64
103
110
59
55
49
51
112
62
63
80
104
129
71
49
98
111
76
87
140
149
161
129
114
65
68
77
67
132
140
125
132
128
77
64
50
49
56
59
48
110
102
101
51
45
40
41
89
91
102
105
95
102
71
80
136
137
118
133
92
77
56
79
87
77
57
49
46
96
92
95
98
101
104
109
59
71
121
117
117
135
108
105
48
54
68
79
77
123
128
88
94
141
89
89
95
107
171
168
113
166
168
108
154
152
143
139
136
126
59
46
36
33
41
106
63
61
52
46
43
33
81
87
42
47
53
58
62
102
131
148
135
146
138
128
92
49
96
91
44
93
74
109
117
57
44
61
56
24
18
29
57
121
108
139
139
124
119
78
137
128
67
76
142
81
72
85
141
81
83
73
144
157
105
107
113
114
115
132
138
190
188
179
173
205
175
199
181
158
159
167
150
91
109
149
117
147
180
171
185
165
117
105
137
107
156
174
177
184
140
148
130
142
127
152
124
197
212
144
117
144
104
126
196
87
136
96
125
110
27
33
70
67
19
43
60
84
46
28
100
91
45
45
62
63
64
93
97
154
153
142
132
68
64
116
115
114
62
71
102
162
167
159
84
65
62
71
129
126
123
119
115
111
62
119
114
116
113
108
55
108
111
117
51
102
142
81
119
78
116
111
55
50
47
112
107
55
71
89
70
103
104
97
61
58
51
105
119
127
129
81
73
53
56
66
125
130
132
121
133
130
114
120
128
136
154
98
146
145
142
127
122
91
78
107
101
59
56
55
43
95
62
76
116
49
43
35
57
111
108
52
50
54
110
126
127
129
138
105
111
100
81
65
60
74
82
73
71
123
123
121
71
80
139
160
125
165
158
148
131
123
67
74
75
78
80
82
84
88
90
85
77
73
73
76
79
132
125
80
147
155
151
86
120
109
110
116
72
77
106
92
30
30
53
60
63
67
61
85
94
166
155
165
157
117
111
64
43
91
55
126
133
129
120
52
47
93
36
46
84
94
107
43
19
19
24
32
19
26
86
91
42
47
64
120
118
120
130
136
75
123
138
120
81
72
128
80
63
53
122
142
95
102
154
155
114
121
117
179
179
166
132
173
184
184
178
171
147
167
109
95
91
71
134
154
169
177
185
162
154
172
162
157
126
172
119
111
109
129
139
187
186
150
157
171
174
178
122
123
106
100
109
83
119
87
138
108
76
119
44
25
142
105
51
2
23
29
98
107
101
78
103
92
0
9
138
96
108
151
133
130
112
120
120
121
127
143
111
135
121
159
81
58
56
119
122
117
119
118
119
118
117
67
70
121
117
109
108
54
52
49
109
104
80
110
43
118
99
99
98
103
108
109
117
60
49
63
87
80
71
123
109
45
51
60
134
161
166
152
139
78
81
84
79
119
108
103
121
115
108
119
116
117
74
119
115
109
118
138
136
63
56
66
130
88
91
84
73
126
129
79
75
72
76
132
129
75
77
78
78
76
124
121
119
125
125
119
78
92
94
155
106
93
71
87
99
95
166
166
159
153
96
138
138
131
135
147
105
155
148
146
146
138
75
71
70
65
54
45
52
53
56
60
68
82
146
123
115
114
48
37
91
96
39
107
70
68
108
114
127
133
142
164
114
118
121
127
174
167
122
151
95
83
96
83
71
115
55
54
54
43
28
80
27
38
54
38
96
57
88
88
39
47
40
26
21
70
68
65
8
2
0
0
0
50
6
64
68
16
82
108
126
71
106
128
56
74
146
115
90
86
159
161
94
96
109
120
161
170
170
195
186
181
196
189
173
154
133
126
82
76
50
35
50
134
155
135
133
124
171
187
164
97
112
198
169
114
157
156
172
169
99
179
206
184
175
156
144
134
139
112
127
124
91
157
94
93
131
112
7
10
84
72
36
47
53
70
130
128
138
51
35
0
69
91
163
159
89
128
118
118
72
76
83
93
162
180
186
159
135
63
113
121
121
122
73
71
70
71
72
121
121
71
72
118
56
56
58
57
107
101
94
147
148
96
108
112
98
96
104
112
116
121
117
106
62
82
76
72
74
63
56
72
91
163
175
162
135
119
69
91
149
141
130
72
74
75
65
106
115
109
55
64
121
122
129
148
169
140
109
104
101
102
56
64
70
68
129
91
102
154
149
84
65
50
67
72
71
64
55
102
101
115
115
110
102
106
60
56
70
99
104
79
96
109
100
95
93
136
129
127
73
144
147
115
126
173
164
152
131
118
115
65
73
82
83
75
118
124
67
64
58
51
106
111
111
102
101
88
34
99
114
128
84
144
89
81
132
136
163
171
131
168
94
73
78
187
177
137
125
129
118
169
139
65
113
60
64
68
64
57
108
53
107
65
45
98
109
116
99
88
37
31
25
72
60
55
0
45
45
0
46
44
47
47
49
53
1
61
75
102
88
139
114
42
121
120
70
81
97
177
120
102
160
114
113
141
173
177
204
182
180
199
189
115
91
106
100
62
47
52
52
53
84
96
132
113
108
176
139
96
138
127
179
175
183
202
150
133
174
175
211
187
157
163
147
171
158
128
155
109
62
86
105
105
129
59
0
2
113
71
4
31
39
102
119
119
105
93
66
32
3
1
108
102
141
131
67
124
86
91
102
113
169
172
117
139
133
76
130
139
91
87
83
84
122
70
73
76
73
123
123
123
70
66
64
62
59
109
112
135
141
117
57
109
120
117
109
112
117
115
64
114
105
51
64
60
62
71
117
69
85
97
103
154
142
132
131
140
143
141
134
73
70
73
77
82
131
116
104
95
98
102
114
137
161
164
163
178
146
130
72
78
141
103
132
131
82
82
91
105
156
157
169
90
89
132
118
57
108
110
136
131
134
137
147
154
152
85
80
92
117
106
83
127
150
156
157
153
144
127
119
122
77
123
117
128
137
138
150
156
110
112
105
146
82
75
60
58
119
67
58
53
106
102
105
110
97
103
114
64
62
78
154
174
180
154
140
129
128
90
96
91
73
192
194
117
178
175
140
142
146
107
92
99
101
79
48
39
49
52
91
103
108
61
130
120
87
81
37
50
63
55
86
78
21
13
56
0
47
48
43
0
40
41
45
43
0
0
30
75
108
89
125
152
72
99
88
164
170
118
176
178
171
97
131
181
170
174
188
186
136
113
100
90
90
89
112
60
49
41
45
65
107
103
120
113
94
93
191
217
118
106
170
181
129
145
164
166
149
145
174
165
188
114
65
48
34
85
76
88
144
73
22
63
175
121
89
114
97
131
106
82
64
110
105
110
94
58
32
24
0
89
84
78
121
88
99
146
159
112
171
166
148
74
62
76
83
140
141
88
86
134
77
70
122
74
75
70
117
114
60
79
56
106
52
59
98
162
53
48
124
91
101
103
72
117
106
50
55
49
106
53
62
72
60
83
150
126
138
78
72
135
127
117
74
114
107
128
128
72
71
69
65
74
139
156
108
89
124
116
67
76
117
149
135
158
146
80
66
60
113
109
60
137
125
76
67
61
67
66
121
136
153
159
160
143
81
137
137
151
145
153
141
128
73
71
69
74
73
68
89
90
134
121
125
125
68
68
125
74
120
122
128
83
84
77
70
68
72
81
79
116
109
64
70
77
136
134
124
62
60
114
121
63
99
98
52
103
51
116
109
141
113
92
43
47
92
36
26
38
48
58
218
186
171
170
185
198
149
138
119
101
81
151
107
78
84
146
146
115
97
105
59
110
104
115
90
41
59
81
75
91
90
34
30
35
44
94
101
37
30
47
99
116
109
69
37
85
132
132
90
135
131
107
68
156
130
136
166
171
152
174
96
115
120
132
190
191
196
119
121
90
129
187
177
111
71
38
44
91
73
126
135
123
128
131
122
184
199
194
108
106
138
108
145
127
141
124
117
126
153
149
76
52
78
22
94
63
38
8
53
133
182
89
93
85
100
106
120
153
127
117
94
138
127
53
87
52
57
37
91
77
71
76
91
101
105
113
174
177
111
81
60
76
85
88
90
137
133
130
127
123
71
71
125
72
66
62
114
69
97
106
55
54
91
155
131
114
100
99
84
95
40
113
62
107
46
47
105
114
76
122
121
113
140
150
120
81
82
70
74
73
66
71
61
54
119
117
66
74
82
138
149
147
152
173
173
114
110
94
134
108
144
192
118
116
90
82
87
93
86
125
108
146
166
170
165
159
147
82
78
149
152
132
113
101
100
110
133
121
57
52
107
113
114
58
64
68
69
69
61
52
119
119
117
67
80
92
71
117
123
129
127
63
103
101
64
61
67
67
56
49
56
63
145
137
75
64
109
114
122
114
61
100
44
67
95
119
124
125
67
108
100
42
37
36
40
29
87
27
39
225
182
170
173
190
199
146
139
129
116
90
84
121
77
133
152
112
124
80
83
93
95
99
111
96
49
68
86
69
88
92
90
87
38
46
100
102
61
48
57
102
67
115
130
48
80
118
66
81
77
75
59
81
91
84
141
155
166
173
173
112
179
176
194
195
142
137
118
112
70
124
189
153
137
122
99
94
120
120
90
124
182
135
192
191
181
174
177
121
75
140
174
144
131
198
207
120
150
150
146
150
79
76
87
32
100
18
104
105
136
186
87
73
96
56
72
98
129
139
125
109
135
118
70
66
29
56
43
94
151
159
119
174
119
125
169
155
86
78
127
127
131
132
82
81
129
125
126
125
124
68
67
65
60
109
111
116
116
137
36
64
94
133
149
105
76
115
111
71
55
40
105
65
114
99
98
122
133
81
127
127
129
133
75
67
65
98
84
126
133
127
127
78
77
141
140
82
130
128
128
111
119
128
116
107
110
67
62
119
146
115
106
110
132
123
112
109
109
105
154
149
149
129
106
103
118
129
75
71
162
103
91
143
138
122
112
108
109
38
39
44
44
93
97
94
49
65
71
75
86
79
141
88
76
75
137
77
125
117
113
118
124
122
64
45
33
36
48
50
48
53
111
110
119
76
78
72
66
64
80
96
108
112
95
68
51
124
128
81
86
88
130
125
120
74
56
73
58
79
231
219
200
146
156
151
136
132
135
90
117
101
84
131
167
117
126
141
111
111
54
87
77
30
40
50
72
85
54
39
95
96
44
42
97
107
49
41
43
115
108
65
53
64
79
74
52
56
82
83
74
76
68
88
83
146
159
153
140
100
169
176
183
193
132
152
190
110
103
133
136
154
99
149
127
130
101
102
133
190
191
193
190
191
188
172
121
144
193
156
108
173
177
145
224
151
122
160
226
202
138
103
107
107
72
64
114
160
180
117
87
95
97
62
112
120
116
185
192
144
145
117
134
127
131
63
71
48
172
191
179
152
155
149
144
134
128
74
128
128
72
118
125
133
84
135
131
126
120
63
56
56
57
58
59
63
70
119
63
107
124
63
162
112
66
64
101
103
38
48
55
42
51
109
117
130
138
142
142
130
119
131
82
86
92
75
101
91
80
123
56
60
116
68
68
65
59
54
57
63
122
118
116
123
121
119
119
122
130
125
61
67
140
130
123
72
83
94
101
108
159
142
126
124
126
112
98
53
68
56
69
138
119
123
149
150
100
103
120
111
49
50
119
126
113
106
61
72
81
92
99
134
62
54
112
119
64
114
120
129
134
80
130
81
107
105
105
99
89
88
89
136
136
77
134
88
91
91
92
88
84
69
69
71
115
110
111
119
77
81
74
106
106
108
60
67
120
53
78
222
219
205
201
152
146
136
131
125
159
157
146
143
129
84
75
170
131
142
61
44
56
112
93
100
61
72
59
50
51
58
44
44
48
95
101
103
46
50
122
109
62
56
72
64
60
61
62
81
81
60
74
93
62
123
145
154
152
101
114
116
178
184
167
104
142
148
133
113
135
104
97
81
100
104
96
165
124
164
181
203
193
204
203
178
174
135
133
199
164
116
155
179
190
200
110
152
165
130
109
96
42
75
99
150
105
100
91
106
142
109
151
145
154
119
216
144
182
192
146
137
144
126
74
6
8
48
44
132
141
178
163
119
154
146
127
76
131
131
75
67
121
130
135
87
84
131
126
119
61
54
53
55
59
61
64
68
58
78
54
108
139
100
100
97
127
166
93
50
110
102
103
110
122
140
98
83
142
130
124
113
72
73
83
98
87
90
78
76
66
57
69
67
67
61
58
54
52
60
70
127
118
60
69
124
126
76
87
85
122
111
117
113
100
103
50
60
78
94
154
135
128
125
131
75
63
67
133
137
102
123
136
120
120
138
90
100
154
142
138
115
105
121
152
136
71
122
141
149
156
79
58
43
46
104
51
103
45
104
114
120
67
68
78
85
92
93
78
65
125
135
78
58
120
123
117
111
57
112
95
67
84
85
131
128
132
128
130
86
91
85
118
65
65
60
76
114
49
66
129
214
214
218
213
197
185
175
111
169
108
114
141
123
60
78
88
132
70
53
59
72
67
93
94
62
72
47
55
60
123
100
99
55
47
48
58
60
106
114
45
56
54
67
69
72
81
72
136
88
70
91
76
73
82
98
99
138
130
114
119
135
126
115
161
135
143
131
164
137
108
91
82
108
93
113
122
89
118
202
201
201
144
128
114
169
179
182
139
153
73
140
189
190
189
184
126
156
149
57
62
77
133
126
106
77
97
129
151
169
127
186
157
123
73
206
176
171
182
139
130
176
163
88
0
11
51
41
114
89
73
80
85
125
120
122
71
124
124
71
121
122
130
131
81
80
77
70
64
60
110
112
113
115
116
117
65
60
57
110
58
56
109
113
50
121
125
65
81
138
85
80
139
155
111
159
138
69
99
59
66
61
66
92
90
69
77
128
70
70
70
121
73
128
72
70
73
124
68
69
125
131
80
55
96
95
98
52
56
65
69
116
106
112
106
127
145
151
152
106
102
66
60
109
118
86
99
147
87
65
57
46
42
53
69
79
160
149
153
86
86
142
131
87
161
165
144
78
127
114
123
73
67
64
118
108
120
108
57
109
108
59
65
67
71
129
135
74
54
101
112
68
81
109
103
94
97
59
122
76
74
79
130
126
72
122
124
124
118
115
116
113
122
122
61
53
49
49
101
92
118
161
215
227
207
206
206
130
102
111
184
139
96
63
60
110
120
52
69
49
47
38
24
94
107
104
49
57
114
56
110
121
120
107
56
57
49
112
107
94
43
52
107
114
77
82
127
80
93
90
73
98
61
128
160
104
125
108
157
119
124
118
121
130
131
127
158
161
106
88
112
89
99
129
74
78
122
118
125
124
138
132
141
185
177
182
145
155
139
128
148
141
167
128
129
173
173
128
87
37
174
192
127
74
31
102
128
119
163
190
162
132
69
122
85
105
193
130
120
91
104
96
71
37
57
74
25
88
78
71
69
49
50
59
67
69
71
124
123
71
72
127
130
131
128
121
117
117
67
72
119
119
122
125
127
75
66
62
62
114
112
62
66
71
126
86
106
103
98
110
116
113
105
91
131
119
63
66
115
73
83
137
144
94
67
69
113
56
60
65
65
68
120
120
66
118
60
51
49
114
114
57
38
89
94
101
101
55
64
67
64
109
113
106
105
101
48
113
80
90
108
107
153
146
140
86
89
92
90
81
143
157
111
160
159
154
98
152
136
88
105
110
93
136
129
78
70
123
129
109
114
63
70
141
150
143
144
142
141
92
98
98
85
52
111
102
64
90
119
97
70
68
114
117
113
112
62
59
55
115
77
66
52
48
47
100
108
61
111
108
54
67
73
68
112
50
42
91
100
104
101
123
159
188
211
163
197
162
169
134
131
88
83
58
117
126
86
87
72
94
97
96
90
88
95
100
96
93
106
102
111
120
121
127
109
120
111
103
111
73
68
103
60
89
137
122
79
83
87
110
85
64
113
141
137
110
54
130
102
108
114
115
133
133
183
184
176
116
121
137
146
148
138
93
166
138
104
101
111
119
134
155
126
83
139
150
178
131
146
154
213
151
149
143
168
142
20
65
143
93
134
82
31
67
147
148
109
149
150
146
52
145
108
149
164
152
88
63
50
92
72
72
127
83
22
7
89
80
72
64
47
55
68
124
74
76
76
126
73
73
128
79
80
126
117
113
115
68
71
121
124
129
82
82
133
124
118
108
107
109
63
67
82
92
104
111
93
146
111
115
157
138
122
118
123
124
126
124
134
90
146
156
151
116
118
59
54
61
65
64
116
117
60
57
58
53
46
98
111
111
108
95
95
49
107
61
61
118
131
87
60
42
43
100
107
115
127
138
130
82
145
158
111
160
108
118
129
170
149
137
145
158
158
150
91
91
99
141
144
155
108
81
80
136
146
90
77
68
63
62
60
123
94
104
121
53
61
125
140
101
102
88
72
108
42
70
105
135
104
112
60
120
128
74
69
60
49
61
122
88
76
114
112
112
38
43
44
42
94
43
55
51
46
39
32
30
34
46
98
118
79
125
81
124
159
212
172
181
132
137
125
78
59
129
131
88
78
68
87
98
97
90
38
101
103
94
89
109
106
63
124
124
129
111
119
107
98
107
117
108
96
82
147
124
113
140
139
76
96
149
123
139
108
126
99
69
138
167
107
110
122
143
123
90
179
184
176
192
131
132
146
137
112
182
135
100
94
107
110
128
152
137
150
133
133
176
161
132
124
156
155
159
134
168
99
35
51
53
129
122
129
73
46
131
149
179
178
168
122
124
120
108
181
157
120
99
9
5
67
46
59
101
57
0
16
87
75
62
109
114
67
71
128
129
130
77
128
125
73
127
127
75
69
62
60
115
67
76
133
135
136
136
133
131
122
127
145
147
140
79
76
94
92
79
124
93
144
87
85
130
105
96
113
75
132
132
144
103
153
163
190
182
109
116
117
67
127
78
75
127
117
54
48
52
105
53
110
105
105
105
106
106
107
108
54
54
51
51
55
74
129
140
137
133
135
89
151
164
170
166
161
101
87
78
86
98
186
178
96
136
143
136
61
72
127
129
73
118
58
53
70
76
74
69
156
112
105
97
91
92
146
91
147
158
91
89
83
126
70
71
71
56
66
146
164
149
76
117
109
72
115
58
50
52
52
44
91
92
51
59
64
128
136
150
88
124
61
60
106
59
51
42
33
33
37
42
91
58
61
68
120
103
39
67
161
184
199
127
163
78
70
85
86
150
173
109
99
131
126
90
93
92
87
89
96
100
107
57
68
123
116
73
88
130
123
112
107
103
96
51
55
123
131
151
170
145
120
134
151
72
116
117
127
93
109
108
174
123
88
113
189
138
99
140
184
162
183
136
143
198
190
131
109
80
78
87
86
108
136
187
193
201
188
191
172
157
175
106
137
161
137
186
105
99
61
81
108
85
23
70
91
33
108
129
197
206
209
173
198
196
119
117
22
75
76
15
28
52
107
114
71
7
1
32
123
68
66
119
117
60
57
57
111
115
117
117
66
68
116
117
116
64
66
121
124
73
130
135
136
134
135
141
148
120
171
170
161
97
86
81
68
69
75
139
67
76
158
173
127
109
139
139
69
128
155
100
107
160
154
108
164
85
90
84
126
123
119
65
119
121
62
58
61
111
56
110
110
55
51
54
56
57
56
121
69
68
70
81
100
149
152
89
83
91
105
110
148
145
135
129
131
80
76
76
81
105
119
131
123
98
78
72
126
132
69
116
113
68
81
149
96
105
167
126
57
57
71
62
82
162
108
96
93
132
123
110
103
108
62
60
71
160
146
109
55
52
42
103
56
86
94
93
97
97
87
91
73
114
119
136
103
163
154
101
144
134
75
67
128
123
123
121
63
107
101
46
49
96
97
114
126
65
57
62
95
107
121
148
119
91
105
84
101
157
101
91
106
85
46
55
100
79
92
103
100
98
91
90
85
27
42
67
106
93
73
66
126
125
62
69
59
73
104
115
103
157
175
167
135
140
104
92
108
104
124
154
96
168
161
141
119
187
124
165
178
188
165
147
158
181
191
186
159
108
109
160
115
141
192
199
192
151
153
171
170
154
136
128
165
209
64
73
129
140
123
133
102
56
57
90
126
208
132
179
188
77
193
122
120
121
167
98
132
94
112
115
31
87
85
76
22
43
8
72
66
61
110
110
107
51
57
59
112
116
67
68
65
68
118
114
115
121
118
119
75
132
129
127
129
86
100
163
170
155
83
74
75
80
133
132
81
133
132
57
53
120
125
105
114
148
76
66
135
114
137
191
153
80
104
111
77
96
99
89
84
75
123
131
143
142
88
87
85
86
86
85
70
117
72
69
72
73
136
140
91
136
138
159
144
135
77
77
136
89
86
80
121
65
119
111
99
106
66
61
94
167
184
145
138
115
97
141
147
80
75
82
141
141
90
66
66
143
119
49
55
74
90
99
81
66
137
124
127
124
120
115
114
62
62
171
129
61
69
111
96
96
103
79
97
153
153
105
111
113
94
142
142
150
110
156
82
158
101
42
36
34
86
118
81
67
82
141
119
118
75
80
132
121
119
66
93
28
46
34
68
101
101
120
134
111
103
91
96
105
121
118
146
111
77
64
105
109
135
96
95
49
33
22
95
63
64
102
127
75
91
83
127
75
68
69
67
83
114
123
165
109
112
129
129
79
59
86
80
184
79
65
166
158
124
170
183
107
171
192
163
171
213
207
109
168
167
133
174
169
171
134
139
146
199
175
162
180
171
184
127
96
141
214
65
86
139
116
132
131
108
139
186
34
136
169
135
123
199
195
106
147
162
170
14
107
96
95
46
16
43
52
32
34
22
62
39
27
59
56
104
104
111
59
58
57
59
61
63
65
66
67
69
68
119
124
83
86
139
93
143
134
74
124
126
128
130
122
67
62
70
93
107
101
83
136
136
80
116
115
67
116
122
131
138
83
145
176
143
133
178
167
107
118
178
169
131
134
130
127
124
174
180
176
181
127
118
107
99
145
91
84
94
180
131
128
120
113
111
105
91
133
133
120
117
114
112
112
59
58
66
70
69
72
123
118
120
121
62
128
116
110
121
82
92
101
99
144
68
67
119
106
39
50
69
129
115
54
66
73
82
66
62
77
84
129
125
137
118
110
60
61
114
134
79
65
62
68
119
118
124
128
132
88
142
144
149
106
111
107
94
81
79
87
77
53
100
91
111
84
121
113
98
59
72
74
78
132
117
99
123
172
161
159
105
87
130
94
89
93
100
97
88
77
118
153
97
121
185
160
85
146
119
109
93
101
143
152
117
124
121
65
61
54
46
97
78
55
68
80
119
131
95
64
83
76
59
72
150
164
171
113
83
47
83
93
81
129
87
52
87
41
96
99
95
179
162
134
143
155
181
205
205
88
87
154
136
126
181
193
138
145
131
107
172
195
190
159
177
196
198
113
17
131
97
90
104
105
128
128
108
127
21
89
171
157
199
196
177
138
76
56
83
141
97
74
73
46
41
124
119
91
89
118
125
38
70
46
98
99
101
57
60
61
63
116
64
62
111
109
58
58
120
75
83
93
94
90
90
134
125
119
66
66
65
116
61
68
71
128
90
90
71
54
54
107
54
136
157
158
164
175
170
149
85
167
116
100
87
78
131
101
194
151
81
123
114
56
57
68
85
146
97
85
73
63
111
114
118
132
83
99
167
158
142
73
60
57
61
115
112
64
61
62
64
64
59
56
60
76
114
122
74
122
115
109
112
121
111
111
114
68
66
61
116
130
151
150
72
114
73
90
150
145
138
133
71
62
109
118
141
76
63
125
107
62
45
106
112
121
140
151
131
60
126
81
74
67
120
132
143
144
156
116
118
154
130
115
61
60
60
52
110
113
107
82
55
35
17
78
87
174
208
119
146
88
80
81
83
100
138
130
141
102
99
143
142
125
49
48
67
71
124
139
154
105
147
170
158
127
122
139
130
126
122
142
140
132
135
66
78
167
182
117
173
113
81
71
67
64
87
107
164
146
74
83
108
160
145
145
99
111
101
106
96
153
158
89
83
124
108
75
58
82
148
179
155
158
165
186
144
140
103
145
127
164
129
193
147
202
149
152
143
160
138
146
187
191
205
56
61
172
159
174
143
147
167
169
115
96
75
23
71
153
162
126
136
154
180
179
189
136
122
124
200
157
141
169
151
119
103
119
69
97
46
59
96
97
100
104
109
58
58
59
60
60
108
103
49
52
106
120
76
79
84
135
131
81
133
125
119
117
66
68
69
63
71
82
80
84
78
60
112
110
110
107
165
200
200
166
172
160
82
78
173
107
79
71
66
67
87
125
137
89
78
74
78
81
92
154
158
82
125
116
111
115
127
138
161
112
174
157
139
127
115
100
48
58
67
117
115
61
70
74
75
120
63
64
121
115
72
127
123
118
109
109
121
71
72
128
132
74
120
123
72
87
102
144
83
136
141
97
140
84
135
113
111
119
136
127
101
40
113
125
106
104
68
141
148
134
113
106
119
137
94
93
142
140
142
150
147
93
90
79
64
58
60
61
116
121
101
95
95
91
91
25
16
77
85
52
49
126
130
91
61
67
60
143
102
87
130
137
146
95
91
141
108
91
35
41
45
59
84
117
183
193
202
183
148
131
84
79
131
61
120
107
104
124
55
65
152
172
119
177
165
92
73
69
72
82
140
150
121
97
60
139
136
126
135
149
96
89
151
144
119
158
96
104
97
59
67
99
78
89
131
170
177
166
182
180
138
109
146
117
158
184
194
141
204
153
152
134
137
116
144
182
178
128
51
151
194
178
118
162
180
115
124
75
81
43
7
119
160
98
110
111
173
169
153
169
156
157
188
200
219
160
133
154
117
98
107
74
107
73
102
97
101
107
110
55
105
104
107
58
58
55
51
50
111
123
86
89
130
124
123
127
136
76
120
111
105
104
109
62
132
83
96
84
124
65
111
113
121
134
131
152
156
125
122
107
113
87
114
169
79
68
57
69
82
73
73
145
154
90
97
161
104
149
139
125
129
137
136
136
140
150
158
159
164
110
63
109
122
81
114
107
59
64
57
103
106
107
108
52
48
108
127
99
95
98
95
152
160
95
79
80
88
87
142
144
137
133
88
95
86
82
88
91
144
144
145
142
136
131
135
129
118
110
129
126
70
78
68
161
168
168
150
123
70
138
134
123
124
123
139
113
168
161
163
126
25
34
105
64
63
62
109
105
103
80
73
19
65
78
35
33
43
99
77
77
66
138
94
76
114
66
72
74
63
56
49
92
98
117
77
97
101
80
103
167
168
107
108
158
194
160
130
151
183
174
168
169
95
134
156
142
152
103
108
91
66
125
174
167
111
80
67
77
66
123
170
177
162
86
75
125
140
167
176
127
114
193
165
139
119
128
109
114
54
87
116
65
92
120
111
189
174
206
183
145
95
121
112
172
192
192
204
139
144
145
126
114
102
130
190
32
99
156
157
156
143
121
190
147
130
90
102
148
17
14
70
144
99
125
159
156
202
143
116
114
218
156
140
205
197
128
176
168
96
84
57
120
34
63
90
98
104
55
53
98
100
98
98
99
48
48
51
73
82
77
124
121
123
125
75
75
122
113
108
109
117
74
80
78
81
75
65
56
53
105
106
115
122
124
119
118
117
118
113
127
108
178
91
78
75
75
70
69
128
82
90
111
91
130
132
140
153
160
157
149
156
145
130
124
130
136
131
141
107
108
134
116
60
67
58
69
81
125
111
106
48
60
83
97
95
89
68
55
68
74
74
138
161
172
117
188
184
114
157
167
174
119
112
145
82
93
94
83
125
146
147
157
169
143
139
96
161
107
96
94
159
107
98
146
133
130
136
190
186
128
109
112
160
146
128
52
76
2
94
103
59
65
116
57
102
99
46
88
76
70
70
83
108
61
54
50
50
117
102
94
63
52
52
37
26
26
40
58
134
150
160
164
161
156
128
117
56
61
79
151
162
170
123
166
154
96
112
186
186
175
110
120
117
77
179
156
172
89
120
133
150
119
129
140
85
133
92
94
140
165
135
158
140
150
200
215
211
155
179
147
151
174
138
140
129
136
133
63
107
150
150
77
106
130
199
168
204
205
146
94
55
139
172
163
187
171
127
99
92
115
113
100
146
122
169
143
180
153
162
132
125
138
137
122
101
106
92
54
37
83
166
98
160
138
133
108
181
127
81
67
213
113
204
135
139
152
165
83
75
56
21
31
63
40
99
104
55
106
100
49
97
94
93
94
97
101
66
67
118
117
67
72
127
129
131
122
118
119
73
80
137
140
79
77
115
108
52
52
54
54
55
56
56
58
61
63
68
72
97
127
126
82
136
87
88
82
124
129
139
99
171
92
76
131
136
136
137
136
75
111
165
141
132
139
87
75
60
68
104
131
62
65
77
69
71
78
124
127
82
87
146
159
162
98
85
67
51
68
126
124
142
125
140
184
202
143
108
148
154
114
130
132
129
163
164
168
161
149
91
106
159
159
144
136
106
100
137
90
116
124
101
105
102
93
104
171
169
119
176
188
117
85
101
77
19
78
84
63
65
65
62
55
100
96
97
45
83
69
74
82
39
55
69
110
45
58
149
178
156
73
117
75
66
109
134
160
170
123
113
96
132
121
114
96
103
62
71
76
133
138
126
151
148
141
93
115
178
186
132
120
93
173
132
113
84
158
141
127
140
98
138
138
124
119
122
69
67
133
154
155
162
118
144
151
211
214
209
179
147
145
165
189
153
117
137
134
143
161
146
72
60
141
172
194
143
206
142
76
81
47
98
122
146
184
196
134
91
91
101
102
123
118
151
209
150
182
214
165
129
98
114
109
152
131
101
78
15
7
113
194
148
158
188
134
134
136
194
175
115
172
134
136
141
139
141
119
171
193
128
42
47
56
42
52
54
52
105
48
47
85
82
83
37
42
95
98
49
53
113
121
128
132
83
84
130
84
92
97
93
84
126
67
62
51
102
50
101
49
51
50
52
108
50
103
107
126
110
185
171
93
79
76
143
99
99
150
157
158
91
73
61
66
76
119
103
99
50
51
88
111
104
149
95
83
104
41
38
52
50
53
61
72
82
151
167
165
146
153
150
92
95
103
156
157
156
136
74
67
65
117
122
142
163
144
134
93
91
145
150
91
94
141
140
75
63
126
148
115
107
140
122
135
132
112
97
79
81
102
150
119
42
64
63
83
98
90
138
132
39
37
35
87
86
79
73
68
24
36
38
35
30
28
28
30
33
28
19
33
98
47
62
66
61
63
44
94
104
109
125
139
131
62
56
113
111
125
132
124
108
100
103
109
94
45
50
52
57
129
153
116
23
41
49
56
66
114
46
48
91
104
128
144
150
100
113
146
138
135
71
138
139
84
142
84
59
95
92
93
129
169
141
151
166
167
157
213
170
171
216
142
200
127
120
133
135
97
71
171
156
100
147
171
173
195
155
71
79
135
32
94
145
98
117
120
110
81
71
52
48
72
56
215
189
151
175
200
197
134
164
153
126
115
92
97
35
0
18
111
140
151
99
94
161
196
177
138
135
70
158
156
127
155
138
102
146
133
53
101
54
58
38
44
54
53
45
99
42
92
87
85
33
36
90
91
48
56
62
122
128
132
134
85
88
88
144
144
87
77
66
110
54
54
50
101
102
103
52
49
100
50
52
95
107
123
108
171
160
74
56
74
123
114
120
77
83
137
124
57
81
76
74
70
109
106
113
116
71
152
123
139
109
64
47
108
65
72
46
36
46
63
82
83
77
128
128
116
132
85
84
95
157
152
148
160
137
69
70
93
153
143
146
163
98
54
0
36
34
44
0
1
43
48
0
51
1
8
59
98
96
122
141
142
164
112
83
61
64
141
171
104
76
78
65
66
89
145
134
84
87
91
90
126
47
73
63
63
69
73
74
26
80
29
97
93
101
34
33
96
101
46
105
39
39
44
99
93
119
128
127
119
71
77
74
147
154
152
134
113
103
105
112
107
116
120
123
76
78
130
72
79
89
102
99
97
162
108
85
130
171
47
101
46
131
137
133
156
164
134
119
111
126
79
87
159
163
159
119
120
135
118
105
77
110
147
188
193
170
162
169
151
138
123
137
135
58
109
154
96
78
93
165
163
175
129
50
113
112
103
100
132
119
116
93
169
194
90
63
81
119
127
175
209
163
147
194
181
180
116
164
140
81
38
99
123
96
174
189
101
172
191
93
98
181
137
111
158
158
133
184
126
189
124
93
89
0
67
65
38
36
34
45
55
53
96
97
92
89
92
89
35
35
88
90
54
61
118
74
132
134
135
86
88
138
137
82
73
64
57
52
67
66
56
102
101
51
53
55
103
102
49
96
116
140
170
161
137
108
96
64
121
118
124
131
136
133
66
62
138
77
68
59
106
64
79
135
88
149
160
130
102
112
57
56
70
89
122
94
42
57
61
64
62
66
124
111
127
105
153
157
156
141
138
174
182
84
82
175
112
42
55
18
0
44
48
4
0
43
55
0
51
50
0
51
52
0
0
9
49
49
78
77
60
65
98
128
126
115
119
61
109
69
52
50
125
107
67
48
57
71
31
31
28
31
91
83
81
81
83
34
89
91
56
102
108
91
30
94
103
53
52
38
45
99
57
124
106
114
116
111
102
90
103
116
123
123
112
102
104
117
130
136
138
85
142
97
92
81
109
33
65
34
54
145
134
38
53
76
187
7
27
63
92
82
113
130
136
105
93
102
107
48
63
101
167
176
148
151
142
83
91
81
98
90
144
210
169
161
188
166
125
119
106
140
89
162
191
87
86
103
98
83
148
110
153
179
49
68
114
124
178
178
190
170
191
102
86
84
95
76
153
194
210
220
197
196
115
128
115
102
90
119
150
102
138
164
159
48
106
180
169
107
139
197
169
168
127
170
171
154
195
194
98
116
71
47
62
99
35
27
34
46
42
85
94
39
41
88
88
37
90
95
52
76
133
136
82
130
126
128
75
126
111
107
53
56
112
122
77
117
108
48
48
100
49
51
102
104
51
53
63
132
156
150
135
118
108
103
61
70
85
142
137
132
131
128
128
62
60
56
55
60
68
76
129
116
116
124
79
80
127
122
59
109
55
45
94
99
56
56
63
70
130
138
131
85
86
135
130
146
157
164
153
116
163
136
157
52
10
0
0
0
0
0
8
13
47
46
42
59
49
19
65
0
10
51
3
58
10
13
65
64
29
9
2
68
101
87
83
55
4
4
79
25
1
47
50
24
26
71
86
43
45
51
103
100
49
102
95
47
120
61
55
105
84
43
51
38
36
48
51
50
57
57
104
79
98
59
55
107
117
143
136
145
134
119
125
129
123
120
100
48
49
122
124
44
46
121
96
157
148
116
116
135
157
159
141
59
56
121
101
120
94
109
108
147
145
150
87
65
142
77
75
118
145
175
179
175
151
159
138
136
177
154
144
169
150
157
160
109
105
139
149
120
147
131
55
110
138
93
59
160
140
146
126
128
48
57
161
163
87
192
169
143
168
121
127
144
158
199
207
205
184
146
82
130
104
28
67
115
156
111
52
36
111
130
158
142
222
206
182
97
127
112
85
74
51
103
140
126
179
154
131
47
77
35
91
37
87
18
28
33
30
87
42
48
45
44
45
102
113
73
88
135
84
82
130
127
127
125
68
50
51
55
56
57
59
114
112
105
101
104
50
101
103
101
52
109
56
75
101
170
89
125
112
59
60
69
79
134
138
137
84
135
129
119
68
65
62
59
58
59
65
71
116
112
105
104
59
66
69
61
57
53
52
53
54
55
115
60
54
108
119
139
103
160
103
171
145
123
131
192
164
101
101
12
0
2
42
0
0
0
0
5
25
17
9
52
66
87
79
80
83
12
21
73
18
24
25
63
61
76
19
17
21
91
58
5
1
8
4
70
25
68
64
38
67
32
81
83
89
47
59
112
106
107
103
98
51
114
116
108
88
103
51
38
86
102
103
65
82
90
140
199
201
94
84
109
160
149
119
62
60
58
117
120
100
39
55
41
55
67
126
70
69
104
99
158
64
102
79
90
141
122
165
162
123
105
133
88
96
104
127
126
107
157
114
77
177
179
164
144
114
119
85
109
108
75
131
88
98
76
90
196
170
222
223
208
194
131
128
124
137
134
112
113
185
144
93
89
155
115
116
182
90
33
41
98
107
94
198
179
144
103
192
214
142
181
167
192
171
133
79
86
100
71
89
105
163
184
144
122
71
68
155
182
178
171
173
124
42
76
85
103
62
116
94
65
48
20
5
42
113
88
60
131
117
95
16
24
34
89
90
45
49
51
105
109
64
72
77
133
136
84
82
78
130
79
76
123
57
58
61
114
110
110
111
110
105
102
104
103
101
102
50
104
108
105
76
103
164
77
64
58
64
69
73
135
130
90
147
95
143
128
113
82
77
69
58
52
59
83
106
83
119
108
104
53
60
65
59
57
54
107
109
108
52
51
105
107
68
89
109
169
176
101
145
129
141
142
164
153
47
39
0
0
12
41
48
1
36
53
69
78
60
58
95
142
46
99
123
84
71
60
94
28
94
84
71
40
22
68
20
84
40
42
87
54
66
65
24
24
61
51
64
77
91
46
90
80
89
59
111
97
48
103
103
105
54
56
94
82
56
95
86
100
52
41
68
139
130
188
127
110
47
68
137
73
128
105
81
85
83
82
133
65
54
63
51
59
59
65
75
78
101
128
134
53
58
71
80
155
155
187
137
142
112
88
123
141
139
184
118
96
98
122
134
195
152
123
125
112
163
140
117
124
127
65
124
125
56
53
167
96
221
219
189
194
180
152
184
202
140
131
140
79
72
130
132
96
123
134
144
111
79
72
89
109
170
179
162
78
118
199
202
125
111
80
95
146
173
159
115
43
77
93
188
160
141
98
73
58
145
171
174
201
138
124
139
141
142
137
75
119
139
78
89
99
94
91
83
98
103
45
67
114
99
30
27
89
97
46
107
53
62
68
76
82
135
85
141
142
86
80
74
74
76
74
122
120
66
66
117
61
114
116
114
110
110
112
109
104
104
55
103
108
107
140
111
103
115
102
101
66
131
137
95
166
111
96
82
76
67
113
68
66
65
61
56
65
95
124
122
87
147
144
122
53
53
107
108
54
105
116
125
126
122
127
129
76
75
62
69
77
88
139
79
128
168
202
96
64
47
0
0
0
60
66
85
80
76
101
78
38
67
158
101
74
85
43
84
124
141
85
83
141
144
161
128
46
31
15
68
26
85
95
98
102
92
38
28
76
106
71
65
118
119
51
88
93
104
52
38
43
43
99
103
43
88
32
46
43
96
106
54
57
112
211
157
124
124
103
103
103
50
60
78
90
78
104
106
104
161
114
100
94
108
100
110
99
84
86
92
112
161
138
104
59
93
163
148
170
159
111
123
41
50
58
66
78
142
117
112
98
150
163
148
158
143
167
160
156
122
136
165
158
150
155
141
96
94
109
110
195
206
204
204
184
144
192
123
112
133
112
131
120
121
134
148
186
111
116
110
113
119
126
130
111
128
93
52
117
71
94
52
111
112
142
152
192
157
129
102
119
114
164
158
153
129
155
165
186
210
218
201
102
31
59
76
81
81
43
118
185
129
158
136
184
118
48
96
92
100
101
113
126
30
82
98
64
62
66
69
124
76
79
131
137
95
106
88
78
119
115
118
122
122
120
68
66
65
118
65
62
110
65
121
128
126
121
117
62
111
114
117
111
151
117
103
115
104
49
61
125
129
133
151
86
70
59
58
113
115
118
71
78
82
138
141
95
98
118
85
131
134
134
72
60
70
118
63
67
65
65
118
114
124
72
66
66
130
87
93
118
87
112
138
99
10
56
47
44
53
28
107
138
112
74
109
113
70
93
33
64
97
148
91
174
102
27
33
126
120
36
109
111
193
177
94
77
53
45
101
47
46
101
71
75
74
83
128
113
76
84
139
131
65
55
102
100
43
40
92
92
91
37
36
85
112
109
94
59
108
46
84
130
114
103
110
78
138
73
60
82
113
98
122
148
108
150
137
131
123
56
62
83
80
173
125
112
153
171
136
134
123
112
115
135
157
166
155
166
151
152
126
104
156
142
165
158
133
79
93
158
152
151
125
179
138
128
98
74
117
101
100
119
135
138
139
74
89
82
155
189
200
191
183
204
159
127
118
117
158
113
96
120
166
163
62
97
107
80
88
98
85
61
56
82
63
148
63
154
125
148
60
112
123
151
158
200
202
119
99
149
132
113
161
152
187
141
145
241
206
163
86
43
90
91
65
23
136
80
135
112
192
117
138
189
139
92
77
140
124
142
81
78
78
42
64
76
80
81
129
131
131
134
141
95
93
131
74
69
68
123
124
122
119
119
115
62
63
114
111
109
65
67
124
124
70
117
114
115
114
114
113
153
111
92
61
54
55
67
128
124
125
129
72
66
64
65
118
116
125
77
133
133
132
132
84
86
80
68
73
136
142
136
127
120
120
122
72
65
59
109
122
84
87
79
78
99
167
147
136
80
156
107
0
54
49
0
0
24
115
88
87
49
59
36
117
133
152
80
10
122
191
21
59
121
142
80
117
160
53
110
164
191
193
84
44
33
38
23
61
37
96
119
76
125
127
77
130
136
89
84
72
63
59
55
48
45
43
41
42
93
40
91
95
104
101
100
51
102
56
77
123
110
107
121
91
149
82
87
101
100
78
119
127
89
141
142
145
139
123
122
138
122
150
94
111
174
177
143
137
122
122
136
142
147
158
157
137
145
167
144
151
133
101
157
78
103
118
149
162
156
171
109
75
111
121
86
73
56
43
54
120
125
137
159
75
79
133
151
174
197
219
208
234
204
150
92
91
111
97
79
115
110
70
105
150
122
108
87
100
76
71
131
83
96
109
68
147
161
170
131
134
178
192
151
159
140
116
144
221
109
113
218
186
111
97
131
214
195
151
66
48
51
87
73
81
59
105
106
83
127
104
193
119
82
53
67
120
131
156
119
104
105
119
82
90
95
96
93
144
142
140
138
137
123
123
75
78
130
75
71
120
120
114
113
111
60
114
116
118
123
67
61
63
64
113
110
115
107
105
118
157
91
66
58
115
124
134
84
124
123
63
67
72
78
82
78
121
117
118
116
110
103
100
48
51
56
122
135
148
155
156
155
156
108
112
156
144
140
141
78
165
187
183
167
138
135
85
132
142
130
74
9
0
0
75
103
130
61
91
78
63
102
135
71
96
110
71
142
136
74
71
109
56
77
148
159
158
67
98
86
138
196
88
61
44
35
20
80
59
107
104
61
120
124
92
145
116
73
71
107
105
118
68
58
53
49
49
48
101
101
100
97
36
39
50
46
69
109
131
115
92
137
142
124
117
85
134
86
140
127
61
78
100
160
163
156
142
122
114
122
106
132
122
160
157
132
149
157
172
127
134
148
160
180
144
81
185
184
150
139
92
105
144
70
47
81
77
108
162
122
103
78
69
98
87
79
64
118
139
144
126
131
161
122
92
121
154
143
128
140
203
213
144
192
156
108
128
143
151
130
83
171
157
194
122
128
122
109
184
186
88
88
124
144
202
184
127
114
188
179
213
191
125
143
135
145
190
46
119
174
142
107
150
183
184
150
145
152
71
48
85
85
74
85
71
66
85
162
152
84
61
146
61
71
77
56
138
165
103
139
148
160
107
140
148
153
98
101
150
138
127
126
132
84
84
133
126
66
63
115
118
117
119
119
67
69
74
128
129
71
57
55
105
103
51
101
106
117
136
89
68
61
68
125
132
84
87
139
139
85
83
79
74
70
117
113
118
118
64
60
108
108
113
65
68
121
125
78
135
140
142
136
79
74
116
116
121
78
105
182
192
179
172
178
183
138
39
81
23
17
72
27
142
131
122
61
76
40
25
57
88
112
165
162
96
136
146
158
97
81
127
37
11
76
111
80
110
123
56
33
125
71
59
22
20
115
119
22
33
91
104
54
100
54
70
107
70
79
74
119
117
118
116
58
53
52
106
107
109
109
48
107
107
37
65
99
113
112
104
96
151
107
146
95
89
107
110
98
94
89
60
128
89
144
137
130
117
107
54
48
91
112
160
70
118
149
152
124
164
169
140
134
159
67
92
147
171
128
114
129
90
86
49
61
97
83
147
99
55
123
109
34
69
168
156
153
141
133
134
132
127
126
109
36
93
115
101
80
91
143
161
121
164
169
121
167
194
179
114
100
229
139
202
90
113
122
149
179
124
79
127
80
147
93
145
184
191
109
186
161
124
143
164
161
190
207
119
98
78
150
153
205
152
195
146
112
206
112
121
184
201
148
159
68
47
39
53
155
192
110
115
133
75
130
79
55
112
97
155
161
117
113
146
151
100
149
151
94
86
78
79
82
87
135
131
124
66
115
115
117
122
123
70
69
69
71
126
127
70
57
53
103
51
52
100
115
80
97
77
59
64
72
76
81
85
141
140
138
82
82
80
76
73
120
116
116
116
61
56
53
53
59
63
116
63
68
75
134
140
142
139
133
75
122
122
73
79
97
125
185
166
154
169
180
86
0
5
78
5
8
159
188
95
109
121
76
57
91
62
141
116
135
138
91
117
182
96
100
78
0
0
17
92
92
72
51
67
49
0
40
51
89
79
93
99
70
27
73
30
41
52
107
101
54
112
118
74
129
126
119
65
65
60
54
53
55
57
59
111
103
104
50
45
78
155
98
111
107
153
153
103
86
91
96
115
119
108
98
80
106
116
72
70
62
60
60
56
56
50
80
113
160
123
89
94
79
104
153
145
129
142
163
109
101
121
115
106
109
97
105
83
76
134
140
95
128
106
111
130
127
58
84
109
87
87
133
130
130
69
58
109
61
45
63
146
132
114
133
135
147
88
115
192
194
188
194
202
110
200
207
214
79
49
144
89
154
182
79
165
89
102
167
152
105
81
129
181
195
149
73
146
149
161
192
194
90
105
112
159
155
203
166
143
158
191
132
116
107
64
116
122
119
32
50
77
106
129
137
145
201
102
67
107
84
102
101
85
170
176
123
162
147
98
99
139
137
134
83
85
89
88
133
128
122
66
66
120
122
122
125
127
73
70
117
114
114
113
113
57
58
60
109
104
114
126
159
113
56
65
71
73
129
84
91
147
136
128
126
68
69
79
85
134
125
118
60
54
52
56
63
67
68
62
61
67
127
133
134
80
129
135
141
133
132
93
108
99
103
135
83
97
143
184
134
9
0
3
1
85
91
122
79
114
83
72
90
123
100
81
146
177
177
171
166
98
91
41
0
0
0
0
2
65
60
77
38
0
46
0
4
4
15
90
89
64
124
106
51
41
82
84
45
51
107
112
115
118
64
62
62
62
56
104
103
105
107
109
109
111
46
33
129
154
154
144
101
93
86
85
82
88
99
112
117
167
154
130
103
106
68
74
133
125
114
124
130
64
102
89
97
80
151
160
149
85
70
46
83
70
117
193
139
121
143
138
86
95
132
124
129
107
148
105
130
121
94
114
116
67
66
71
95
105
117
162
149
145
133
64
114
125
14
76
88
35
43
116
229
203
142
128
86
128
149
185
220
224
196
199
92
137
76
83
139
199
130
182
133
115
73
132
154
71
83
144
194
195
132
72
49
136
146
148
214
139
64
152
132
127
98
101
103
183
204
130
179
116
94
139
61
48
115
126
102
131
200
169
52
42
99
43
84
100
113
132
177
162
165
112
157
104
103
97
133
133
81
84
88
90
89
133
130
75
74
73
126
125
72
127
127
125
122
116
113
112
108
107
55
55
108
108
108
129
164
114
78
112
66
118
124
130
87
147
151
86
131
122
118
118
125
132
79
72
64
58
52
52
57
63
69
70
60
111
63
67
67
65
62
68
123
133
150
143
81
73
73
85
114
188
156
25
84
122
38
18
42
93
119
45
75
84
91
101
123
153
173
127
118
177
181
165
111
115
105
147
107
0
0
55
82
107
99
110
59
45
110
119
53
31
54
124
133
140
138
120
118
115
53
95
94
52
58
101
104
108
58
60
61
61
63
120
109
56
57
105
100
95
21
43
81
111
151
137
109
116
65
123
124
70
85
102
95
104
161
156
139
111
48
128
141
153
146
130
130
135
129
114
65
98
70
118
119
111
110
70
86
90
73
126
157
170
128
132
128
86
79
145
91
92
137
141
135
130
117
147
140
117
66
75
128
132
63
79
136
139
107
172
105
136
129
50
48
57
63
68
125
164
170
129
105
77
90
181
205
155
152
180
199
159
147
124
59
171
122
113
144
172
161
67
45
86
158
94
123
214
133
135
174
84
80
156
187
148
177
88
114
115
161
171
172
143
207
208
133
136
97
73
106
125
77
133
125
54
90
116
151
193
201
185
180
160
121
75
140
127
152
156
155
150
102
99
143
129
78
82
86
89
89
88
81
80
78
77
130
129
75
125
125
126
126
123
119
116
114
109
106
51
51
106
112
119
148
170
151
113
111
59
63
119
74
84
145
148
84
78
119
132
143
141
76
66
67
108
57
62
67
71
71
65
111
69
120
122
126
130
130
130
66
127
139
139
131
76
79
71
94
178
177
83
25
40
82
91
52
127
97
90
46
16
63
62
105
104
153
92
122
172
110
153
143
147
147
77
123
130
90
59
0
0
60
13
82
99
60
81
49
4
35
57
142
168
170
147
126
83
82
74
63
58
111
112
102
104
54
109
60
61
63
117
123
113
111
59
56
49
43
95
92
100
84
121
137
97
102
107
63
120
117
82
100
100
105
106
154
141
116
105
121
132
140
135
124
68
67
63
122
148
106
61
88
92
100
75
89
145
76
74
132
147
186
138
190
125
77
82
102
105
118
125
171
164
166
189
166
151
120
119
128
130
81
67
84
98
102
154
154
156
106
99
57
66
83
59
51
145
177
167
99
101
149
101
122
133
139
148
167
188
157
166
127
130
146
51
63
132
184
130
100
85
82
119
114
131
155
61
167
95
141
127
148
187
196
166
136
125
158
172
128
164
187
190
191
200
92
99
120
136
131
111
105
101
100
112
168
117
110
123
177
184
141
128
66
131
90
159
169
172
108
138
133
128
79
82
85
87
86
84
82
133
132
78
78
131
130
128
126
125
125
126
127
75
72
69
63
57
51
51
59
132
151
166
141
113
108
53
49
109
110
118
129
137
138
80
77
104
133
48
23
22
45
123
147
141
134
129
127
71
66
115
122
115
114
63
119
124
128
121
118
120
139
150
162
117
59
19
35
61
117
57
76
122
134
105
148
103
29
34
26
50
127
132
122
116
70
130
128
141
142
135
134
138
136
87
130
118
132
137
130
73
74
54
79
12
0
9
33
81
173
210
208
135
173
130
65
71
79
85
140
89
90
119
117
114
113
115
116
117
117
118
63
114
62
61
58
108
108
121
63
50
40
106
146
96
99
108
118
117
55
58
55
64
75
139
142
125
105
122
123
120
122
129
73
121
125
60
78
47
37
80
104
127
139
90
124
109
165
182
136
106
94
147
157
159
113
117
115
110
98
142
154
131
184
158
148
122
118
117
59
70
96
88
148
163
156
96
109
127
112
101
103
83
119
191
139
86
94
86
123
131
110
98
81
102
105
134
99
156
91
76
160
37
68
41
62
112
83
84
67
126
158
148
177
165
166
128
157
125
94
204
167
130
135
126
169
145
100
128
173
184
180
159
122
122
135
116
122
109
50
122
144
159
112
130
148
149
111
96
115
104
147
74
119
147
138
107
121
111
132
134
138
137
87
88
138
133
129
131
132
129
127
74
75
127
127
127
132
78
78
78
75
69
116
61
58
64
64
69
144
166
95
123
118
119
58
63
105
64
123
132
138
88
87
87
150
135
71
84
164
175
152
84
74
62
57
11
25
38
98
93
103
55
60
64
119
120
113
116
114
83
78
96
116
90
4
16
22
103
120
133
142
95
131
105
92
33
21
70
70
77
78
69
117
116
57
118
110
112
118
124
135
147
154
142
134
91
141
141
150
91
100
151
151
116
131
209
255
206
163
138
110
98
101
64
67
73
131
133
136
89
133
127
69
64
63
62
113
111
111
62
59
54
52
56
112
123
120
63
107
45
39
93
148
128
111
106
109
107
56
48
97
95
103
115
116
72
123
124
62
53
50
37
36
54
94
84
45
48
79
38
55
105
51
94
105
199
148
105
73
74
147
159
120
114
56
46
56
56
101
111
85
68
49
50
95
106
59
51
111
143
111
183
176
109
118
174
159
94
65
164
196
156
110
65
94
107
75
54
78
88
102
147
174
133
129
158
136
129
123
48
44
58
106
130
106
69
181
95
65
103
115
99
95
88
138
95
63
151
156
194
146
145
128
127
123
75
130
116
126
176
212
102
167
192
92
110
109
97
100
110
136
132
147
139
149
159
144
137
132
89
80
109
178
137
97
103
149
140
91
91
90
88
86
138
138
84
80
132
131
129
75
74
76
76
77
78
81
81
77
124
120
119
116
117
119
67
84
154
160
74
74
127
128
71
73
76
82
87
90
90
90
93
91
91
84
77
129
136
136
122
132
145
160
167
111
151
79
64
45
91
88
87
34
32
30
84
93
85
74
30
90
52
126
145
115
112
142
149
164
92
55
89
70
44
10
66
125
76
79
79
75
122
118
65
103
162
160
160
170
180
183
190
125
173
175
129
132
128
150
113
121
115
101
139
121
181
187
215
166
145
120
125
84
85
73
105
101
116
80
73
75
75
70
68
117
114
109
106
97
44
43
44
48
106
113
66
60
95
101
46
35
22
114
130
58
113
127
80
154
149
143
139
127
55
26
15
17
34
61
54
93
46
84
37
90
47
41
98
84
51
67
78
70
158
185
143
168
132
128
131
136
174
109
94
89
93
163
128
125
165
173
112
75
110
107
105
122
137
144
149
103
165
181
190
187
180
154
109
73
104
98
122
88
125
127
180
173
123
111
88
117
130
166
141
100
34
149
115
79
128
106
49
118
161
89
87
124
118
119
121
121
156
101
78
75
69
122
124
120
120
113
120
95
93
162
196
143
98
141
211
177
167
104
79
89
114
128
123
124
131
136
147
140
125
117
157
151
162
84
154
131
106
80
80
134
138
137
140
144
91
90
90
89
89
140
133
133
132
79
78
78
77
76
128
130
131
130
127
123
120
119
122
125
119
123
144
156
98
65
70
78
136
80
80
84
143
92
91
88
89
141
138
129
83
82
124
121
125
126
112
118
125
131
83
88
88
85
82
122
115
108
101
43
39
48
109
108
59
69
132
145
150
151
100
97
148
110
156
86
70
72
68
58
37
75
123
127
131
81
79
74
123
121
87
95
144
141
146
152
155
93
86
143
144
145
89
80
148
165
174
112
91
87
134
121
205
255
217
129
105
113
111
80
88
131
131
91
142
127
129
131
79
78
127
66
57
52
44
40
35
34
91
99
108
114
61
104
109
105
96
29
80
81
81
121
140
156
164
156
150
144
79
58
39
26
28
54
53
36
85
80
79
42
100
123
71
62
92
107
75
70
74
172
159
143
176
172
175
133
140
125
117
105
81
74
108
141
124
145
160
124
92
94
104
101
125
94
76
146
162
173
184
189
140
142
163
79
122
135
86
84
142
187
182
169
152
99
90
129
133
146
190
164
125
132
170
89
102
107
132
99
122
146
159
81
80
146
118
125
113
127
77
84
67
125
148
83
139
160
149
150
117
87
111
151
141
101
137
149
125
109
97
83
85
100
118
127
130
113
114
193
146
130
114
138
105
38
64
103
54
66
89
68
112
127
131
130
138
142
89
89
89
142
142
137
134
135
84
83
81
79
77
75
133
82
132
129
75
125
124
71
128
118
130
104
158
81
63
111
112
122
84
82
82
145
145
142
140
141
136
129
137
118
112
130
142
79
60
119
70
72
125
128
82
85
84
156
137
128
125
127
130
80
76
130
136
86
82
77
125
118
123
136
97
103
49
50
70
9
0
74
111
69
73
58
112
114
63
62
62
114
116
135
140
88
88
94
154
160
103
150
144
94
112
182
187
114
158
147
146
163
157
145
132
118
162
244
192
144
153
141
138
87
89
137
131
129
125
72
72
72
127
126
67
57
115
105
47
40
88
90
95
96
98
102
110
111
57
54
106
86
24
68
133
102
123
135
138
121
91
29
44
46
48
48
73
58
53
71
110
117
120
86
41
91
86
99
81
101
142
91
196
149
165
177
199
198
139
171
91
95
94
96
139
93
139
53
37
73
120
109
121
113
86
107
152
144
127
110
131
132
153
136
123
126
142
141
200
191
162
91
126
136
183
157
84
60
102
134
162
150
135
123
169
70
90
146
152
154
85
114
166
147
94
128
137
124
69
61
112
113
123
131
85
172
145
154
132
131
86
78
147
196
136
123
81
131
205
176
125
178
175
116
106
104
113
174
161
111
130
187
172
141
44
36
66
50
135
161
116
149
77
118
75
131
126
126
127
127
72
73
128
131
133
134
82
81
80
78
129
127
74
80
83
83
81
75
123
121
69
118
117
76
93
87
114
104
52
54
113
126
82
89
150
106
112
112
159
90
81
136
138
128
53
82
69
8
47
54
64
74
87
102
163
166
86
72
119
120
71
127
78
76
123
136
158
162
165
159
86
109
80
9
51
54
48
55
16
61
139
125
73
76
66
114
107
102
101
54
63
122
129
134
90
98
99
97
147
150
92
106
121
128
159
127
70
78
137
138
140
149
155
151
150
134
146
218
237
112
105
152
149
95
91
135
131
131
135
85
84
83
82
78
125
120
57
56
54
102
96
41
42
37
36
99
98
48
52
92
105
84
31
70
66
102
101
94
84
81
36
50
68
91
93
126
115
108
51
118
123
142
159
73
85
117
95
30
36
47
122
184
105
93
53
62
78
97
103
172
136
139
123
131
116
146
128
99
105
59
66
72
125
131
138
135
132
166
182
181
122
88
67
81
81
131
126
150
92
150
91
91
107
149
162
162
122
85
100
96
132
151
161
128
101
129
123
139
114
172
223
208
190
163
138
65
84
175
130
136
152
154
152
92
155
170
173
158
140
103
149
138
64
101
104
112
111
153
153
189
202
187
189
170
151
153
102
148
174
176
151
127
60
39
47
142
134
121
114
113
143
125
63
69
126
120
118
121
119
117
66
69
126
130
134
133
80
130
128
128
127
74
78
134
83
80
74
121
119
121
116
118
75
87
79
108
100
53
58
113
113
71
133
150
109
118
118
110
87
78
75
139
137
77
88
154
78
0
0
1
6
22
44
115
124
125
121
122
127
81
85
88
89
133
141
85
70
106
89
54
53
60
60
47
50
6
90
73
85
128
128
128
79
72
119
112
107
109
119
133
143
139
80
82
86
88
86
85
159
107
120
125
128
110
83
141
88
82
74
126
87
97
142
144
153
100
100
248
164
145
99
99
91
141
143
137
131
137
90
90
87
137
132
76
73
59
61
62
58
50
45
44
36
85
43
94
97
103
105
33
31
22
107
116
120
72
105
99
60
66
62
77
122
135
111
113
54
90
113
119
136
141
106
73
111
35
10
10
27
195
134
36
61
31
29
104
81
94
160
117
112
110
108
77
57
110
91
84
94
114
119
166
171
162
92
171
194
143
136
134
114
107
132
116
122
163
153
154
167
179
134
163
163
167
116
130
43
43
53
112
172
126
125
168
131
142
170
197
186
211
206
183
128
118
160
147
130
155
179
122
166
139
117
97
133
104
158
81
151
103
64
25
124
92
66
126
149
156
181
147
171
175
158
140
142
140
125
67
42
66
80
103
119
148
126
127
98
168
153
89
148
137
121
121
116
64
119
118
114
59
58
115
132
139
136
133
131
131
79
79
131
79
128
127
126
123
119
116
115
111
122
141
136
63
101
52
52
53
108
111
116
121
127
137
152
110
111
88
77
70
78
135
129
63
50
43
58
69
81
87
78
107
82
64
69
59
56
1
0
1
5
6
5
56
54
2
53
51
52
56
4
55
69
144
117
95
89
136
135
131
129
143
98
138
128
120
113
113
115
59
62
117
119
120
70
74
77
100
144
80
84
91
101
107
81
79
73
67
58
57
57
126
123
114
64
49
157
202
164
155
101
95
130
79
132
138
91
93
92
95
147
84
69
75
65
64
64
63
60
56
46
43
93
89
86
86
87
43
36
93
88
77
122
72
67
63
66
67
57
49
52
66
91
63
38
41
90
89
84
147
111
109
120
120
101
102
121
116
215
89
87
83
92
90
119
97
54
170
186
144
148
195
139
143
191
163
136
151
79
121
109
88
30
46
56
132
119
129
162
161
132
148
205
154
121
135
180
181
89
61
156
175
167
126
83
90
124
89
123
172
102
146
133
190
205
187
156
147
200
200
197
194
167
158
186
192
176
123
116
123
107
111
134
118
112
77
73
75
96
69
125
121
110
82
128
143
101
163
147
125
122
84
61
29
89
107
75
79
66
118
143
132
134
53
131
130
145
167
72
88
150
143
70
65
66
125
69
65
59
58
63
135
93
93
92
90
86
136
83
82
131
129
128
127
126
71
68
117
121
131
87
78
62
57
59
59
59
62
65
71
129
138
88
94
153
106
91
80
86
83
131
129
74
117
50
27
30
88
96
106
114
122
126
154
134
71
110
99
43
44
32
27
23
31
37
88
87
109
69
78
76
120
73
134
94
89
78
119
117
127
146
98
89
138
140
139
142
141
81
94
150
141
137
139
134
123
120
76
91
89
79
63
50
53
55
58
61
117
117
115
123
92
80
110
119
60
194
145
105
91
93
81
132
131
118
73
85
90
133
69
71
135
126
70
70
123
71
121
117
51
45
94
91
84
30
32
32
38
84
84
36
91
124
62
69
68
58
48
41
48
43
71
57
44
102
104
109
101
165
67
65
70
58
39
99
39
39
122
56
92
78
88
134
107
160
143
149
121
82
70
120
114
114
67
113
120
118
54
100
49
50
53
56
121
59
67
131
83
95
111
167
175
106
114
148
167
142
45
71
99
144
144
212
170
72
54
94
186
103
123
153
173
199
119
122
140
97
90
130
178
174
174
220
202
197
195
134
159
155
168
147
117
41
67
29
45
98
121
144
91
130
95
148
156
145
90
170
146
71
37
72
61
14
113
90
160
176
159
171
151
152
115
89
148
149
148
89
59
74
90
95
79
74
124
130
74
69
61
59
64
82
94
95
95
92
87
135
83
84
82
79
78
76
75
73
70
69
76
82
82
70
111
111
112
112
113
63
69
76
82
90
142
144
96
101
144
83
77
80
83
83
129
119
104
85
34
38
43
51
112
119
124
115
131
139
139
137
89
95
82
79
130
86
88
136
132
130
78
76
67
58
67
79
84
84
131
122
116
118
132
129
126
79
139
143
148
148
140
160
165
106
155
158
154
144
117
75
82
78
76
76
74
70
68
68
71
126
126
72
70
84
88
48
119
69
154
171
120
92
92
138
127
122
67
73
81
139
128
113
114
126
69
123
124
124
70
118
62
53
46
43
94
35
33
38
33
89
28
30
39
77
105
133
88
78
107
43
38
44
63
83
64
46
46
48
104
91
152
107
100
59
59
39
37
33
86
152
47
81
131
169
144
187
183
127
53
107
94
95
84
149
109
100
149
119
128
63
48
44
52
113
123
131
102
96
118
92
110
113
152
162
110
135
159
157
86
68
164
160
178
102
187
156
98
115
157
93
43
110
99
136
132
145
146
121
57
134
163
165
192
191
208
209
208
209
202
139
143
144
138
121
31
18
43
51
112
124
80
73
110
112
159
144
163
92
128
125
42
47
18
94
98
100
115
146
139
103
102
127
158
103
124
75
140
142
133
60
57
72
145
153
92
74
128
127
71
68
67
71
87
91
93
144
139
134
132
83
86
85
80
76
75
72
70
68
71
83
134
123
109
108
119
116
116
117
69
131
140
96
94
93
144
90
142
144
91
92
87
74
111
102
104
115
128
75
76
75
71
117
61
57
117
123
135
142
145
144
145
89
91
145
92
140
136
133
128
71
69
75
80
88
93
93
76
121
76
128
115
63
111
111
116
120
66
70
77
129
117
119
68
123
128
135
88
102
114
113
103
98
92
83
89
88
89
144
145
86
79
75
74
61
69
62
58
60
186
204
125
86
83
76
59
75
127
77
81
84
78
119
109
124
122
119
63
60
59
58
57
45
41
40
32
86
95
42
89
32
80
28
25
84
86
55
102
41
58
74
94
97
156
133
67
70
80
86
64
181
139
150
112
145
102
36
27
130
170
110
169
165
200
124
158
146
99
89
136
150
145
71
74
93
107
175
119
69
82
86
87
143
136
74
70
90
88
69
104
124
125
161
146
161
170
169
165
100
135
163
122
120
114
156
178
201
230
69
53
67
114
110
82
144
124
61
135
143
150
149
193
213
220
204
182
166
158
154
105
82
77
107
107
91
99
40
129
182
177
154
163
189
170
133
146
162
177
166
130
95
52
160
157
91
54
48
40
55
73
88
165
139
137
152
90
150
153
162
69
71
129
138
156
143
67
76
135
133
73
78
90
71
81
130
131
133
133
129
79
137
131
74
69
66
63
63
115
117
127
125
119
61
66
80
75
124
124
77
95
106
114
117
112
156
148
90
84
82
83
85
137
132
126
122
70
81
75
125
128
128
123
70
72
105
43
48
111
132
137
120
128
132
132
130
132
129
124
129
79
78
79
86
121
130
111
137
67
77
143
134
130
119
118
118
120
68
72
81
143
127
72
129
130
127
132
140
94
87
81
76
78
77
69
74
80
86
139
137
80
125
137
82
85
95
97
90
82
115
130
167
96
130
114
134
117
71
75
75
128
130
74
70
134
122
113
109
59
60
110
111
52
50
46
39
91
47
52
40
30
82
85
79
24
85
27
67
74
72
85
81
137
138
138
71
51
52
107
92
142
129
145
91
131
96
57
42
104
158
184
187
166
143
136
137
92
102
99
143
136
107
140
88
88
167
113
77
86
89
85
77
124
70
80
152
127
112
131
156
112
127
205
168
86
120
151
110
103
112
95
103
112
110
107
102
187
76
87
138
73
109
49
104
52
124
180
73
110
96
84
79
117
177
148
159
173
180
154
38
35
18
102
123
89
93
36
134
176
106
140
134
141
134
146
179
70
42
50
107
108
79
147
124
99
122
89
82
151
134
198
123
100
144
115
183
152
132
131
75
127
132
86
156
147
73
79
135
130
69
75
144
142
88
82
77
76
125
123
125
130
126
69
65
62
60
60
113
120
80
81
74
68
123
135
134
130
129
82
96
102
106
159
158
156
150
93
90
143
84
81
127
124
125
128
77
73
69
67
70
122
67
68
124
118
112
118
121
134
139
128
124
73
74
130
129
125
119
121
68
67
66
122
90
100
112
150
141
150
159
146
71
73
127
73
68
115
118
127
135
78
82
91
145
141
142
147
139
132
124
70
74
78
73
85
87
85
134
80
77
123
121
71
81
146
152
153
169
136
102
158
125
88
120
112
118
72
76
128
77
76
73
68
123
76
67
59
57
110
111
111
56
108
52
43
45
55
101
94
87
85
83
78
26
25
29
44
72
130
119
134
138
144
150
137
114
59
112
98
81
119
135
83
77
48
63
128
173
162
185
193
185
196
154
143
109
106
104
144
134
112
148
154
94
157
92
112
127
80
131
118
64
131
142
95
120
98
119
177
168
171
158
109
150
162
117
136
130
91
52
112
113
83
110
155
108
77
150
127
82
59
113
50
51
127
188
59
156
196
105
121
186
100
101
120
116
45
32
22
37
40
97
96
70
74
84
51
67
62
106
51
55
57
77
65
68
78
84
92
100
160
158
139
130
148
141
160
138
114
131
125
121
64
105
180
146
136
140
154
146
142
141
152
100
141
144
97
98
102
117
133
115
154
91
77
66
64
118
123
127
128
123
66
62
61
62
63
118
129
138
129
129
137
142
87
80
127
78
86
139
138
138
140
144
95
98
149
146
92
135
122
115
116
69
71
118
64
62
59
112
113
116
68
73
82
139
131
121
124
133
127
63
113
126
63
108
109
120
63
65
121
115
54
63
70
75
78
75
80
92
79
57
70
73
60
104
114
130
139
134
90
100
102
95
141
139
127
124
70
76
78
77
80
81
81
79
130
134
130
124
131
78
79
127
114
103
115
123
64
122
220
150
147
120
121
73
75
73
71
69
117
112
109
130
74
64
58
111
113
53
51
51
108
52
50
52
45
40
90
89
34
29
82
75
28
66
91
115
106
123
91
93
102
148
132
127
68
102
74
64
90
100
101
62
109
84
183
153
130
128
175
164
117
88
94
130
117
161
159
133
147
145
83
81
129
82
112
69
80
102
13
95
141
108
103
122
160
132
185
179
124
174
144
117
131
157
140
42
115
133
110
135
205
182
114
104
67
15
73
169
112
136
151
190
198
148
189
156
158
189
199
139
93
118
176
161
157
115
120
83
87
82
147
122
125
145
190
170
142
127
72
21
51
70
74
80
108
93
63
69
109
111
141
151
139
169
100
84
110
128
135
119
159
115
161
157
129
160
149
90
87
142
96
95
92
137
77
74
85
150
88
86
137
80
72
119
122
126
75
76
125
121
116
60
109
107
107
116
131
118
126
140
138
83
130
126
128
86
146
152
158
154
151
101
106
154
147
135
132
126
121
118
67
69
131
81
79
72
119
119
121
123
120
81
78
123
114
116
130
85
76
121
118
59
110
114
47
53
110
110
104
103
107
111
67
75
72
74
100
94
61
70
76
124
117
120
135
150
98
96
143
86
80
128
125
72
78
87
98
87
74
78
72
68
59
53
125
140
96
91
139
90
100
105
154
150
135
81
72
210
148
136
129
117
119
65
61
59
113
112
109
116
119
66
66
119
116
111
111
105
49
110
111
55
100
102
41
36
92
96
33
28
83
18
87
17
34
139
151
93
78
75
134
140
149
145
124
75
69
102
110
111
112
83
93
148
137
111
132
124
146
140
111
88
115
143
154
166
167
154
99
103
152
150
79
62
51
67
78
116
121
146
163
180
188
158
122
123
139
83
124
86
100
110
72
61
24
98
127
68
98
61
98
119
205
127
163
111
109
180
193
166
210
213
198
191
142
147
152
186
156
107
39
26
99
104
125
148
151
159
150
158
112
118
162
143
123
123
133
128
90
151
103
113
105
136
79
88
109
117
113
115
72
154
129
109
103
124
76
68
113
162
134
149
153
144
134
124
119
119
71
132
81
95
142
130
68
68
131
145
89
96
97
89
132
129
128
76
75
75
125
122
64
60
110
56
67
87
123
128
139
131
128
75
76
79
86
95
155
110
109
106
103
101
152
151
140
133
124
121
124
76
77
84
88
88
131
124
73
74
74
71
81
71
68
118
65
127
134
81
78
68
65
118
66
55
118
121
111
103
106
105
56
59
70
72
77
107
108
80
81
138
140
82
76
139
157
143
85
76
68
62
111
108
69
76
86
99
85
70
76
67
117
111
50
59
75
85
84
131
131
138
88
82
77
68
61
48
101
157
156
78
65
118
62
57
108
111
114
62
114
119
67
120
120
115
57
111
110
55
106
107
53
102
105
100
44
45
96
30
26
83
20
30
78
20
60
160
96
78
74
79
134
140
136
116
76
66
90
91
151
116
97
83
111
81
78
166
103
116
87
87
64
70
91
153
162
151
138
143
96
134
73
62
56
103
109
64
112
111
123
148
95
93
131
127
107
129
114
153
111
125
125
53
45
53
135
118
106
104
148
205
197
187
139
112
81
128
189
185
139
255
223
171
197
158
123
174
166
145
201
72
48
116
135
125
139
157
132
112
156
131
121
109
76
58
122
131
117
55
65
69
95
117
157
71
96
103
106
100
100
126
157
174
134
130
109
87
73
111
135
130
144
140
141
112
109
104
102
59
59
54
67
72
64
104
53
60
74
79
81
90
154
157
148
134
125
72
80
132
126
80
78
112
108
130
147
129
81
138
126
121
70
74
83
135
134
143
93
87
85
139
138
142
150
95
90
132
126
78
86
85
144
140
137
140
91
90
85
78
78
78
73
72
76
74
67
136
126
69
67
61
66
82
146
147
78
70
140
89
96
93
79
67
67
72
81
94
95
86
91
151
95
98
105
102
135
126
74
76
75
71
120
125
124
131
142
86
74
124
116
111
109
59
53
48
97
105
105
101
96
43
43
38
32
83
34
33
141
239
144
128
107
45
50
110
65
70
120
131
115
59
112
56
57
67
103
59
52
118
111
49
111
53
47
43
43
91
79
27
82
29
27
79
24
18
161
113
106
100
103
160
157
144
79
78
83
93
98
98
141
125
85
89
139
63
62
8
29
27
9
54
78
14
35
21
78
81
79
72
17
18
64
72
70
74
23
17
79
59
81
104
128
127
100
70
58
112
33
44
76
84
98
57
120
149
62
175
130
141
105
101
90
115
193
89
112
164
176
124
180
190
208
179
247
243
165
192
209
117
115
204
184
207
144
141
120
78
95
93
104
143
101
93
131
92
133
38
115
67
127
134
172
189
135
129
102
120
100
99
105
119
148
154
150
97
108
104
141
137
138
147
92
89
142
140
136
82
83
76
68
121
75
71
66
70
70
109
105
54
58
62
66
74
139
100
94
94
82
68
70
77
127
129
149
150
127
125
128
122
121
124
129
85
80
123
127
129
123
121
128
138
96
99
146
95
91
135
79
82
140
141
146
150
96
88
79
74
73
76
89
85
77
75
76
76
148
136
122
55
107
113
122
123
72
64
65
134
84
89
101
102
96
81
64
62
103
112
94
98
111
90
60
63
85
77
111
107
60
65
67
119
117
128
123
139
160
148
117
130
124
119
67
61
57
107
48
45
91
89
43
51
50
48
37
44
39
68
169
208
125
115
111
111
54
55
60
61
105
107
109
113
57
54
111
110
50
103
104
53
108
105
109
51
46
99
99
88
84
78
77
71
70
75
75
95
155
100
87
72
66
117
123
132
149
129
67
60
56
105
97
39
47
176
152
80
85
30
27
68
65
79
23
18
11
19
19
20
69
14
19
23
16
12
71
29
30
89
55
59
73
107
118
97
80
56
67
94
44
30
39
57
71
182
113
119
100
160
124
145
141
151
199
119
104
86
161
146
135
175
164
182
149
187
174
130
202
119
112
124
167
177
141
135
142
190
168
169
121
102
137
134
169
137
143
39
20
93
72
133
128
147
134
122
58
56
127
98
151
83
108
164
79
71
98
118
123
159
133
31
61
69
44
136
138
139
141
142
79
68
79
84
133
78
137
138
118
65
62
61
61
60
61
67
126
93
96
90
81
78
129
124
83
100
145
124
68
123
123
125
129
131
86
137
78
81
127
121
120
126
140
98
149
146
94
92
138
82
82
135
141
147
153
152
94
137
132
78
86
84
79
72
70
71
72
147
87
128
118
118
120
119
115
63
56
61
128
80
86
82
143
152
100
90
136
154
118
107
108
113
144
67
74
100
80
73
124
74
72
121
119
127
136
139
152
171
164
138
140
132
125
122
115
59
57
51
51
100
99
103
61
68
71
61
60
64
74
83
164
76
64
109
104
47
51
57
57
47
50
104
109
56
53
108
111
45
104
102
52
110
101
106
53
51
50
48
90
36
35
85
78
20
21
75
69
164
104
129
100
33
21
21
83
143
77
131
133
126
109
90
98
99
124
153
94
113
107
115
145
83
51
90
36
48
31
30
35
33
21
21
23
25
72
26
37
42
100
110
83
70
74
74
69
88
91
106
106
80
118
116
73
123
173
92
91
143
105
127
175
154
166
178
98
114
103
143
111
148
182
126
187
184
176
126
117
164
86
96
123
187
203
157
144
193
178
157
163
127
122
143
127
105
84
86
26
28
75
97
94
135
128
112
114
135
152
149
74
72
98
118
102
88
113
142
132
162
84
101
84
130
135
38
52
59
69
79
140
78
67
131
82
78
75
84
143
79
82
80
83
90
143
81
67
58
63
59
61
124
78
130
135
103
165
139
126
69
121
128
132
134
130
132
89
85
139
87
83
79
133
90
95
89
86
134
133
88
93
147
148
150
149
150
101
103
154
153
150
83
60
63
79
95
110
172
136
108
134
126
74
76
135
129
121
65
122
125
75
78
82
80
135
145
101
99
85
73
86
97
106
107
96
86
139
125
74
73
69
63
115
118
120
118
141
90
100
159
150
141
131
121
117
110
56
57
52
59
115
114
62
118
75
75
72
101
54
46
33
129
83
118
50
39
36
99
106
51
98
98
42
46
50
102
105
104
46
102
107
106
107
102
101
56
58
53
98
90
36
90
88
35
27
19
77
80
85
86
14
2
14
65
9
74
87
97
100
87
83
103
123
113
93
81
96
110
55
46
122
138
95
74
131
96
134
124
86
122
181
90
57
26
26
27
41
50
42
84
80
50
117
130
71
58
60
67
63
129
64
109
54
122
180
241
161
109
126
159
172
163
123
149
101
168
112
125
171
139
140
132
147
144
166
163
110
181
189
199
180
128
183
166
180
121
98
86
147
101
84
60
53
107
79
98
68
42
53
60
56
61
72
73
140
164
129
121
61
74
117
148
92
100
116
123
93
115
133
166
171
136
139
117
38
77
77
78
80
144
89
83
134
89
87
84
91
146
137
74
74
77
77
73
69
71
128
135
125
115
112
104
103
65
132
139
65
70
127
130
87
152
154
149
144
90
129
123
144
91
140
138
89
91
137
136
132
129
125
68
70
83
101
156
156
149
87
137
144
151
158
87
87
93
105
125
143
134
147
121
132
71
123
135
130
68
125
133
126
56
51
131
133
86
143
92
96
114
101
81
72
97
164
89
69
132
124
121
127
81
129
117
109
106
59
112
66
101
110
127
124
115
106
104
107
58
61
61
112
111
115
71
74
104
97
60
68
53
56
92
128
84
130
119
102
35
38
46
98
84
93
39
44
101
100
99
46
50
38
101
100
97
112
114
59
54
51
106
94
79
93
29
28
78
69
70
19
86
97
28
16
26
73
67
85
131
155
172
111
147
147
155
135
120
97
55
77
109
92
133
107
41
57
40
23
30
32
49
93
159
73
62
139
116
110
57
52
90
94
69
68
131
127
87
117
110
85
135
163
147
136
78
89
157
149
159
96
128
169
168
204
164
152
154
158
166
150
146
203
200
204
189
148
171
132
82
147
148
114
62
90
111
191
104
56
50
53
81
94
79
65
95
130
143
89
104
60
122
129
92
124
120
149
153
119
109
104
112
135
107
110
78
104
135
110
55
116
105
100
62
167
178
68
70
110
108
106
110
115
102
138
136
83
83
85
138
139
144
135
123
62
62
67
70
71
71
133
145
143
81
78
71
57
97
109
120
67
73
80
84
83
168
122
161
149
130
126
82
82
84
138
90
93
144
133
131
128
123
70
124
131
76
96
157
148
138
134
140
100
153
96
98
97
113
142
161
138
158
76
71
82
82
123
130
89
141
79
132
139
72
139
138
140
143
144
93
104
103
100
91
145
148
133
120
127
129
123
127
125
122
118
114
69
72
69
86
97
142
132
126
121
63
59
56
55
54
52
109
114
65
67
66
104
50
114
118
56
58
54
128
107
118
109
98
85
38
35
84
80
86
29
33
41
96
100
98
103
106
90
87
48
116
109
55
51
52
110
48
33
85
89
31
23
20
18
87
90
75
62
73
108
95
25
44
99
117
122
172
111
106
161
161
73
90
51
80
80
91
80
115
72
98
80
108
43
34
30
28
92
55
57
70
109
120
96
53
39
75
122
152
141
151
103
86
87
164
176
118
170
126
77
106
189
164
90
92
144
175
211
213
198
193
148
144
131
133
150
177
215
193
197
170
161
120
104
128
170
157
79
64
79
70
26
44
53
53
58
65
71
80
78
155
190
153
159
114
138
109
102
111
100
95
134
87
105
43
57
101
104
86
56
44
78
72
133
102
88
76
79
110
128
118
135
99
107
114
121
185
185
183
184
165
90
82
89
153
158
157
157
105
103
96
90
92
97
157
161
103
92
91
90
81
73
123
107
54
61
71
77
86
103
153
142
139
80
133
137
85
84
136
137
98
104
152
143
79
73
71
126
129
134
139
138
142
156
111
112
112
165
172
118
110
104
109
117
179
155
147
95
74
71
84
152
147
139
84
91
163
114
157
150
142
135
132
79
93
92
147
95
155
165
155
141
145
124
126
73
64
104
48
46
52
59
71
76
71
122
130
114
112
58
58
62
62
62
114
61
58
54
106
108
104
104
110
61
61
73
66
75
126
130
114
44
25
80
81
83
79
91
90
94
42
39
41
43
43
47
109
55
51
103
104
53
53
52
105
45
36
36
84
24
24
33
34
75
87
26
93
82
127
37
37
49
170
132
127
173
114
151
89
88
137
107
50
81
85
95
97
81
68
67
72
130
136
95
89
138
114
103
139
98
97
108
111
149
102
127
116
79
74
9
8
23
26
65
56
0
31
87
89
62
219
104
86
174
178
200
209
209
196
180
201
149
192
147
133
179
154
176
197
150
150
151
148
155
169
141
82
74
68
67
65
122
124
117
71
79
73
64
93
126
79
84
168
153
145
150
122
120
109
81
86
126
115
89
163
171
159
154
75
57
64
117
75
59
43
133
120
108
116
144
113
74
74
128
83
156
158
103
97
101
104
103
105
108
152
156
150
147
97
97
89
80
73
85
151
98
84
80
85
87
89
152
161
92
71
57
53
59
66
127
135
148
142
140
149
100
99
94
138
79
81
137
134
79
80
85
141
139
136
140
87
144
157
166
113
113
117
149
152
143
177
117
125
151
155
146
136
131
122
68
69
129
139
141
129
127
143
164
158
153
149
145
141
96
96
92
85
96
121
172
153
143
130
77
76
64
109
60
64
123
123
88
98
93
139
93
59
108
53
53
66
125
128
136
133
126
116
111
110
50
77
128
126
73
137
70
57
148
80
44
25
14
75
74
21
25
79
79
86
89
41
49
45
45
47
46
41
91
93
91
43
48
54
108
53
104
47
49
46
45
47
41
82
93
80
58
99
118
48
71
134
165
185
141
120
134
122
86
90
82
98
68
130
140
135
145
134
112
97
81
62
106
43
65
115
101
106
105
22
110
110
66
89
93
135
78
47
43
46
68
83
111
47
72
90
37
19
18
33
144
96
40
107
106
150
184
233
215
210
204
183
178
192
181
188
149
151
201
198
145
145
193
115
126
120
106
99
94
151
168
161
127
117
143
105
80
98
74
164
152
128
186
168
100
36
88
109
95
108
124
70
102
131
71
89
151
89
107
117
107
58
83
84
143
169
160
126
124
94
128
85
83
132
83
155
105
101
90
96
96
87
82
87
95
140
132
131
140
147
142
74
62
64
82
141
135
82
88
90
87
146
170
166
97
75
63
50
51
113
130
91
88
136
142
94
149
97
91
134
133
136
136
84
86
142
142
87
138
145
93
148
105
109
108
160
163
174
131
143
133
115
114
178
180
158
131
134
76
78
75
126
128
81
82
81
135
146
143
142
90
86
83
87
87
83
126
135
109
115
153
94
74
71
73
69
120
123
125
127
127
135
96
95
87
87
61
58
55
55
114
117
119
124
122
116
112
115
72
79
133
127
116
55
64
52
45
138
73
44
35
84
91
34
30
31
39
43
99
94
91
45
41
42
43
90
86
89
44
83
85
39
48
104
103
52
50
54
53
49
49
42
88
28
32
76
86
36
24
88
101
121
143
107
148
122
72
99
160
141
142
61
117
118
105
95
145
85
86
64
29
17
21
38
29
25
93
82
85
92
95
56
66
57
96
41
39
45
41
30
32
40
56
126
151
68
22
104
138
161
127
56
68
40
112
149
214
217
150
187
184
147
159
140
136
138
186
182
130
181
174
113
145
132
117
78
89
173
175
164
123
91
105
113
137
72
88
119
58
163
168
157
119
97
22
94
170
85
51
124
110
64
67
56
58
93
64
57
87
111
65
61
59
140
172
154
114
110
87
130
126
126
119
159
148
149
99
97
98
90
79
87
113
204
167
145
68
59
114
122
128
80
67
69
81
90
95
91
80
94
110
167
142
75
90
115
114
94
136
138
80
76
72
134
135
138
90
93
143
89
138
88
89
92
145
147
99
145
99
100
153
109
110
103
151
158
179
176
178
113
108
178
183
183
168
152
128
65
86
92
139
74
55
53
141
99
96
93
143
143
89
89
149
146
150
141
84
92
97
98
160
142
132
137
138
134
124
113
115
124
114
67
71
66
59
37
41
50
58
62
110
105
109
117
125
131
80
76
107
106
109
59
109
67
53
48
155
140
105
83
64
15
20
31
35
32
87
92
90
93
105
103
46
42
88
82
80
81
33
83
87
99
106
50
102
98
47
42
40
45
96
92
82
82
89
18
49
94
128
125
158
151
128
122
130
87
92
123
113
132
36
73
117
56
113
122
117
55
7
9
48
103
90
90
47
98
93
86
75
75
39
32
64
62
72
106
35
41
47
32
28
37
87
144
47
26
151
142
163
143
116
101
115
112
148
198
202
224
136
146
166
144
127
114
194
156
153
182
166
110
97
92
139
69
79
161
153
149
182
121
172
170
139
96
38
121
101
101
131
112
204
199
113
77
67
86
144
89
137
163
105
110
134
82
129
71
16
64
92
45
50
51
105
132
95
181
127
121
124
91
100
100
148
96
143
142
91
95
99
100
152
151
95
91
82
76
132
138
144
146
148
86
92
102
101
91
84
86
86
88
131
128
81
92
100
98
100
106
160
78
58
46
109
116
129
89
143
141
91
147
94
92
93
152
158
163
172
117
117
120
172
163
156
100
97
179
181
173
107
106
171
178
159
148
140
141
87
76
73
80
84
83
133
126
121
92
89
84
136
143
151
142
129
130
82
83
78
80
85
136
147
143
137
130
125
126
129
113
111
56
85
100
83
60
104
59
112
57
68
125
73
105
112
109
100
48
52
107
56
56
52
101
121
123
71
119
64
93
82
71
17
10
68
33
42
93
93
97
97
96
47
52
94
44
46
89
88
38
32
85
94
104
105
106
100
49
53
53
51
107
99
79
82
83
80
88
58
72
70
42
96
105
102
56
66
61
93
100
128
140
112
100
53
131
71
111
63
42
82
43
27
32
97
112
115
58
98
48
103
50
98
101
53
56
112
119
55
53
61
48
37
55
82
75
117
73
108
192
137
92
87
71
101
168
177
197
187
208
159
200
190
174
125
103
139
80
134
132
75
68
69
41
114
142
122
119
146
144
125
184
170
131
91
93
127
117
95
109
91
194
161
135
142
95
122
121
115
160
162
74
113
111
13
32
48
74
71
84
89
88
40
101
115
82
159
147
117
156
129
88
145
97
96
86
81
131
83
88
141
138
81
75
77
72
122
129
136
139
138
138
136
93
103
154
148
146
98
163
156
130
74
80
86
87
84
86
148
158
87
61
46
48
59
127
88
92
153
163
102
99
98
99
154
158
161
166
164
112
163
159
154
152
102
101
171
179
182
116
103
153
160
144
137
99
107
155
90
75
77
133
88
95
78
61
120
72
79
144
156
158
129
85
80
77
75
124
129
137
135
140
143
136
131
131
131
126
105
107
62
88
102
85
66
70
66
111
110
133
136
131
87
140
131
68
114
117
67
83
54
40
99
61
41
89
132
127
99
86
79
84
81
38
30
50
48
95
41
44
46
46
46
90
45
45
86
79
91
86
85
92
100
104
104
55
53
55
107
54
56
45
86
29
89
87
77
43
67
66
37
43
52
52
57
63
57
117
69
123
164
144
36
95
87
73
25
43
19
14
26
30
36
54
122
126
72
62
59
71
74
131
141
134
76
160
164
151
91
90
72
66
86
97
198
136
104
120
187
194
93
102
96
106
118
178
193
195
204
197
181
171
149
144
86
67
60
119
119
117
115
98
87
127
125
88
67
163
110
132
146
177
118
74
79
101
84
28
56
105
200
146
168
138
101
128
120
132
189
140
91
126
78
57
70
51
59
81
90
93
87
29
88
121
163
86
154
162
176
42
100
106
66
77
68
64
116
68
73
130
130
74
134
132
124
65
63
114
113
113
61
68
80
92
97
146
138
133
131
126
121
139
164
174
120
96
99
105
108
88
129
125
137
87
139
78
60
94
98
70
77
89
101
161
163
158
151
141
83
136
143
146
148
149
155
159
108
114
112
159
157
144
143
94
131
137
118
97
100
99
93
85
133
89
91
85
74
117
68
80
143
149
97
94
97
101
147
140
129
114
137
137
127
127
137
81
120
117
120
68
80
83
122
111
67
63
57
105
107
105
101
101
97
96
41
41
56
117
110
96
47
57
65
55
56
172
121
97
81
71
74
66
15
83
34
37
38
90
94
98
48
45
46
93
42
99
102
43
41
92
93
97
103
50
101
44
47
52
51
51
44
94
28
42
97
21
30
64
74
62
77
88
96
106
111
158
162
142
142
168
179
77
112
149
158
109
81
86
47
47
41
19
13
69
69
25
23
23
45
113
119
65
95
88
118
127
143
116
135
135
143
218
129
81
90
72
145
174
163
121
131
132
124
125
122
116
156
153
151
150
97
89
131
51
62
71
116
106
102
91
84
137
144
128
162
129
167
134
151
154
117
46
58
56
54
58
15
67
117
136
160
127
92
112
131
119
163
128
58
109
87
90
104
67
71
85
33
36
95
51
49
37
99
127
50
154
135
161
78
78
81
46
69
65
67
57
64
79
145
145
133
134
130
70
114
111
111
115
121
76
97
107
104
90
75
65
61
137
142
139
92
105
106
97
94
99
108
109
90
84
138
132
76
74
74
72
59
108
93
95
48
58
121
134
141
139
136
82
140
144
144
142
141
137
152
145
90
88
141
94
152
154
88
92
99
92
88
92
99
106
106
104
91
84
85
133
136
90
93
143
141
143
88
91
144
142
141
137
131
131
125
126
84
89
80
115
115
120
127
86
84
122
112
114
64
66
65
59
115
119
108
104
110
114
61
77
131
69
126
103
124
190
183
103
91
98
26
8
0
10
15
76
28
26
32
86
84
84
35
34
26
31
79
79
34
34
37
93
42
92
94
46
95
99
45
52
58
52
48
54
46
33
34
94
36
33
52
76
99
102
144
87
139
80
125
134
87
98
102
171
179
143
144
156
91
127
107
111
112
92
77
88
153
93
97
91
55
40
43
46
44
115
133
113
101
105
78
94
89
87
96
185
175
111
107
153
150
137
124
114
111
108
100
94
86
149
139
139
137
128
88
87
147
80
82
104
174
184
186
197
182
77
161
130
105
136
144
142
131
84
41
20
22
85
26
10
83
103
107
153
82
79
75
79
139
130
36
47
104
122
138
157
129
82
35
16
36
54
54
42
33
105
139
85
129
139
125
81
78
79
94
114
108
56
117
68
131
88
137
128
136
85
130
122
121
121
124
130
86
148
152
88
69
113
70
80
141
157
165
111
108
95
76
130
136
97
103
139
79
76
80
72
68
70
71
107
101
110
51
42
41
45
107
66
130
125
70
70
124
130
140
149
149
164
155
96
88
134
82
146
152
88
90
97
93
93
105
101
96
96
102
100
91
138
133
134
86
86
84
142
118
72
87
150
97
93
83
72
68
116
72
84
140
74
56
63
120
132
92
88
69
110
62
60
57
53
44
98
102
99
43
59
74
133
156
164
131
130
145
146
136
171
103
121
88
31
74
64
67
62
11
7
15
23
77
73
75
28
33
21
25
27
78
29
22
72
78
30
84
37
46
94
45
44
53
57
49
43
52
46
36
30
90
40
85
45
74
163
117
107
106
161
157
101
88
105
82
87
100
174
91
65
130
129
95
141
110
97
78
71
93
111
104
114
125
79
62
62
52
32
111
148
126
49
93
65
90
103
118
133
183
190
174
148
170
148
110
119
106
105
101
91
87
85
82
127
134
139
86
126
186
170
92
102
149
222
204
129
189
187
124
131
165
104
130
150
146
133
85
52
90
44
66
122
84
134
144
159
183
131
108
113
104
140
87
70
45
63
121
150
155
128
106
40
46
52
103
47
44
40
48
117
163
126
154
60
106
106
99
100
105
46
104
109
54
106
68
85
86
87
94
131
65
113
112
112
113
115
85
144
150
151
143
130
119
130
154
121
114
115
166
163
106
152
138
80
89
136
132
72
65
52
58
89
173
130
118
117
108
89
75
119
113
34
91
93
106
128
129
121
123
125
128
130
79
80
82
136
148
94
89
79
83
91
98
123
67
76
92
99
90
79
146
142
133
75
79
89
87
80
76
127
136
142
87
139
99
129
126
72
69
127
125
59
74
69
82
67
61
57
42
70
27
35
91
112
71
128
147
99
116
131
129
118
95
138
77
77
85
77
128
152
121
45
27
73
18
73
77
22
75
80
84
85
86
86
35
41
39
36
25
70
68
19
17
20
25
28
31
36
38
34
36
38
40
40
40
38
36
48
39
37
99
93
41
119
97
38
33
38
46
50
49
45
43
42
58
68
70
73
102
74
50
54
105
105
143
110
99
93
93
104
125
131
122
100
140
84
80
96
171
180
175
150
87
105
117
115
119
105
102
111
112
158
95
82
91
94
97
81
70
134
106
111
181
176
186
172
182
161
118
144
144
179
191
163
211
193
198
168
108
189
197
134
130
108
117
93
66
119
68
106
171
86
119
91
186
113
118
151
133
131
61
113
30
76
92
189
195
191
143
136
100
81
74
99
84
45
34
47
136
131
81
83
133
112
119
123
126
112
105
103
57
64
120
129
147
151
74
76
66
57
55
113
66
120
120
76
137
143
147
150
154
157
121
125
185
125
114
105
152
100
150
147
88
132
132
74
75
133
139
91
91
123
65
79
77
73
79
152
168
155
90
76
112
108
116
71
78
85
89
130
76
78
137
93
97
146
89
91
96
85
138
149
159
97
93
94
92
95
93
145
161
173
111
138
123
82
103
87
131
130
127
125
127
78
65
63
61
59
117
123
125
116
72
83
64
58
69
73
148
155
165
174
166
150
85
91
82
76
72
118
121
127
77
78
70
71
122
149
165
102
33
23
19
19
22
25
74
72
73
72
70
66
63
61
11
12
71
34
84
82
82
86
85
32
30
81
33
36
20
26
85
88
88
89
45
30
41
42
43
98
37
37
109
131
66
59
62
67
118
60
68
82
117
134
136
127
124
112
133
106
64
79
82
145
85
147
87
136
147
93
113
207
196
197
138
164
153
107
149
145
130
122
129
82
83
89
86
95
89
80
73
74
82
100
101
106
143
204
200
147
191
173
124
124
151
190
230
199
148
183
181
166
147
159
200
177
111
174
178
144
129
165
154
169
190
131
144
105
116
105
66
81
109
164
167
128
130
72
158
83
55
148
142
153
181
198
206
198
194
97
87
142
56
24
40
105
62
152
181
161
89
95
116
123
131
135
76
126
124
125
138
144
93
149
95
83
136
137
134
76
72
125
130
133
90
145
147
148
103
115
178
171
175
176
110
97
146
96
107
160
169
167
149
143
132
120
119
121
71
74
136
85
93
76
62
61
122
132
144
173
151
130
123
70
126
127
126
124
116
67
76
142
100
106
115
97
83
87
87
148
161
158
156
163
113
105
148
146
141
156
119
118
152
138
146
109
97
92
141
130
71
72
67
78
125
118
63
65
126
138
69
81
96
88
89
156
169
147
129
157
139
130
81
84
85
130
76
126
69
68
110
117
95
49
42
67
172
104
50
87
26
22
18
17
17
65
16
12
9
61
64
66
67
33
28
78
87
81
70
62
60
9
62
63
66
25
29
43
46
47
43
90
89
97
36
44
46
47
45
33
83
96
132
80
80
134
130
119
107
118
74
100
120
125
119
116
117
147
129
90
84
86
101
94
148
122
55
80
160
193
161
168
177
115
149
152
158
91
86
131
131
138
88
84
84
83
72
123
131
86
153
176
116
154
163
145
195
195
157
205
142
165
127
135
235
164
231
155
173
162
187
168
102
145
164
131
151
130
106
155
175
100
146
160
126
123
155
101
97
152
71
123
163
215
156
105
101
168
111
97
78
95
168
193
208
162
199
183
118
71
107
80
25
67
91
84
130
138
161
82
79
102
106
119
75
131
135
125
69
125
81
98
110
106
103
120
135
147
91
82
133
138
143
162
174
174
168
114
121
132
119
185
173
110
170
184
192
138
130
184
128
113
171
161
140
76
81
148
160
171
156
117
181
187
122
95
128
122
118
68
89
162
168
173
179
175
162
98
94
94
145
142
139
79
79
80
86
85
131
125
144
149
158
153
135
145
107
171
166
110
107
149
80
110
121
70
88
144
72
63
68
115
139
137
77
124
118
128
153
120
119
101
146
89
83
136
129
76
79
137
75
70
68
110
112
62
104
93
96
54
74
63
58
75
104
150
55
27
18
15
17
14
12
12
7
5
10
15
17
71
19
19
52
0
0
59
62
62
63
56
59
63
68
73
88
40
41
40
39
38
90
92
95
94
92
42
46
45
36
84
88
145
158
166
115
162
150
140
128
131
85
102
113
119
126
123
114
115
125
101
73
105
106
115
142
118
133
188
156
176
114
107
91
132
143
98
94
137
82
79
122
66
69
71
84
121
203
154
117
156
186
135
110
124
149
160
162
186
204
179
153
164
183
180
239
210
213
157
180
207
114
135
158
164
167
129
124
132
142
94
126
97
85
154
164
100
130
160
100
91
114
195
119
43
18
121
98
76
76
120
133
148
128
180
185
194
129
79
103
77
60
64
45
57
110
110
115
123
113
74
78
87
96
104
115
106
42
49
85
113
123
127
173
143
93
85
113
130
100
132
124
102
120
143
98
87
80
90
105
112
161
155
160
171
122
120
120
164
167
113
118
118
92
93
151
154
153
97
89
84
143
99
103
106
108
150
84
78
123
122
123
128
89
96
142
141
85
95
102
154
153
153
88
77
63
58
119
130
137
148
135
158
175
153
155
88
136
131
148
161
145
132
150
153
87
137
144
101
111
148
113
110
67
74
55
95
107
68
69
62
78
87
89
95
107
92
148
172
108
69
59
109
133
118
118
141
126
67
61
83
69
89
118
103
59
28
8
10
13
14
15
13
64
64
73
18
10
1
0
0
2
3
9
13
65
67
73
78
74
71
71
74
72
69
74
75
27
34
41
45
99
96
75
78
22
25
46
109
46
84
132
141
83
89
146
82
72
69
97
131
144
201
140
132
133
139
121
100
187
174
145
119
157
137
132
164
160
145
132
73
78
68
73
87
133
119
53
54
56
83
95
125
139
203
173
196
101
138
157
174
104
183
155
140
135
126
141
154
210
152
194
146
210
198
164
161
152
182
169
115
174
173
131
183
192
48
52
80
127
140
142
148
189
169
99
90
137
101
89
185
234
180
80
46
117
89
96
90
145
141
181
137
145
135
175
109
68
79
147
170
151
53
89
151
134
177
130
82
30
110
112
110
106
68
130
83
73
97
117
127
133
178
147
99
93
158
111
89
122
105
29
118
85
96
96
95
101
162
157
110
163
162
113
167
168
111
163
165
109
162
104
86
97
159
168
164
105
94
91
97
109
113
108
99
84
76
99
149
143
132
70
72
75
71
78
97
158
155
92
84
84
129
127
75
86
145
147
146
94
81
141
150
140
100
98
140
85
99
164
154
138
119
151
88
88
97
163
132
134
116
137
134
131
60
44
90
33
41
101
131
87
89
88
141
159
148
104
90
133
127
126
147
98
134
112
113
124
78
67
118
151
117
80
42
77
9
5
2
55
63
19
78
82
14
60
57
56
4
3
3
3
6
9
57
57
61
66
69
67
69
23
77
74
77
78
84
42
52
59
63
63
108
51
32
19
29
98
56
111
133
149
155
107
98
137
134
143
106
113
181
195
200
199
121
117
134
144
172
180
178
192
178
113
102
140
136
127
135
125
137
82
82
86
119
111
60
70
96
122
157
152
122
189
212
135
77
119
213
138
155
176
128
134
92
119
136
122
209
104
127
176
202
199
164
145
193
220
198
167
187
161
187
202
171
136
116
105
123
132
130
127
152
141
106
118
154
71
86
173
143
148
83
109
99
92
40
75
158
172
129
147
105
143
105
0
116
170
100
87
119
54
95
121
74
175
107
67
49
153
148
136
123
131
153
119
153
150
94
94
94
82
125
105
119
105
83
136
134
119
113
64
75
92
104
155
148
143
143
100
171
111
101
153
159
100
120
122
119
160
90
92
167
176
183
180
172
164
164
113
114
106
92
84
81
88
168
122
163
138
68
63
114
114
126
157
160
151
93
98
106
155
99
97
98
146
137
130
85
87
131
132
143
124
81
153
146
88
145
165
183
111
108
105
100
91
84
77
119
105
115
115
54
102
111
120
67
89
100
70
116
135
100
102
139
130
136
131
95
138
137
131
120
81
97
143
143
85
72
147
157
78
88
69
66
0
61
19
28
28
75
67
8
61
59
10
13
15
14
12
59
60
9
9
11
15
70
77
73
70
73
25
76
73
67
73
29
90
95
97
95
31
39
36
29
30
30
29
84
112
130
154
173
182
180
179
130
131
121
173
165
146
83
29
54
76
57
122
210
170
157
84
79
90
143
136
138
133
119
80
77
119
79
132
140
99
128
184
134
167
149
65
162
122
71
179
134
146
232
185
135
130
139
133
168
135
152
154
154
198
180
177
125
197
194
196
212
212
190
128
181
180
160
137
144
135
113
134
112
136
140
203
214
199
171
151
125
133
194
131
97
124
154
133
69
66
79
165
143
132
129
159
51
53
58
66
140
90
99
70
104
143
120
115
87
86
70
28
168
148
124
55
98
100
104
110
120
123
122
65
102
34
106
80
78
57
106
59
118
132
70
85
97
151
145
85
83
82
77
151
156
96
97
157
101
111
170
175
159
100
159
177
175
170
167
168
172
169
117
108
94
91
99
98
87
139
163
116
111
113
102
126
108
122
139
147
155
162
163
108
151
103
109
113
165
114
167
116
121
117
171
177
95
153
89
102
109
115
128
180
152
132
136
133
128
76
121
61
61
144
136
89
109
113
90
120
130
86
82
122
117
115
63
57
119
133
122
117
112
127
87
70
118
78
86
143
97
96
142
104
17
66
63
58
76
76
19
9
53
53
10
19
63
15
11
5
54
56
59
60
7
4
3
6
8
10
64
11
8
60
14
25
24
84
86
89
92
42
95
94
111
53
42
37
41
92
35
35
49
62
69
81
144
69
26
26
26
28
33
82
32
42
21
37
113
172
85
113
104
118
120
64
57
115
138
134
142
86
81
65
67
77
135
182
146
137
223
133
133
81
73
113
139
105
93
191
199
152
173
198
217
147
171
132
155
146
143
148
185
172
88
119
204
168
215
234
191
192
205
188
205
135
104
104
68
87
149
131
100
123
156
124
79
78
102
43
22
57
0
78
175
154
80
67
70
96
168
180
177
134
136
111
106
116
151
126
100
140
85
61
93
113
171
94
123
33
10
148
131
61
53
106
110
116
99
55
53
103
111
119
66
118
137
92
130
114
110
116
71
76
84
91
89
81
76
75
74
68
146
151
142
143
102
161
104
114
174
103
105
159
175
123
172
114
164
165
163
121
165
149
87
87
85
80
135
110
114
109
118
115
148
137
118
133
140
150
159
158
153
159
111
111
99
94
95
98
111
113
117
121
116
85
83
75
84
84
83
88
129
109
135
148
101
99
149
87
81
90
115
100
98
160
150
121
105
136
76
71
64
54
112
127
62
120
127
60
114
105
68
62
116
115
121
131
131
144
88
54
84
72
57
60
20
22
17
61
53
2
7
14
70
64
10
59
57
5
6
60
61
59
56
4
8
10
12
67
72
22
22
26
35
33
83
85
89
95
48
54
60
103
104
103
104
107
100
36
34
33
52
125
140
151
89
62
33
32
21
15
61
70
40
84
150
154
93
62
112
106
115
122
127
121
68
133
122
128
80
121
111
129
113
71
34
27
36
70
88
150
150
158
138
145
79
102
197
156
156
195
175
142
197
147
173
162
201
200
133
117
165
136
191
179
179
220
215
192
208
200
132
126
74
138
121
55
88
151
159
123
140
111
69
64
80
107
47
19
11
56
103
57
117
59
57
107
121
140
149
123
158
94
63
106
19
113
89
90
143
105
126
99
115
114
137
114
96
79
121
60
52
47
98
99
103
97
85
82
38
49
111
53
101
111
86
148
135
137
142
128
154
167
173
169
104
142
80
77
73
69
134
138
135
134
151
117
173
103
151
162
111
104
114
169
164
163
174
172
114
108
164
166
96
122
104
58
59
70
92
113
170
107
93
95
128
117
126
144
147
136
99
107
110
97
96
98
99
99
97
156
94
63
53
57
64
62
108
48
45
51
119
87
82
77
76
86
92
87
79
82
84
88
144
138
84
91
120
97
63
57
95
88
33
40
116
105
85
70
70
68
81
71
108
89
21
79
149
116
38
17
16
75
80
23
11
9
63
65
63
65
9
0
71
65
66
65
16
69
65
10
66
71
28
31
80
75
81
34
39
38
35
91
44
37
38
38
90
91
93
101
115
116
111
106
104
46
51
118
103
99
54
122
83
134
124
90
23
10
109
186
202
153
78
53
56
122
119
125
121
130
129
131
132
129
124
125
118
37
107
139
138
105
102
116
77
92
144
55
134
151
137
116
122
184
111
134
201
208
154
162
189
114
145
224
201
178
125
86
85
94
135
195
131
128
183
207
221
194
161
119
150
128
216
200
114
115
132
182
165
77
77
129
124
70
77
91
38
38
26
41
117
119
60
80
111
127
153
185
185
172
119
93
79
71
91
57
65
132
88
86
91
95
92
122
138
92
141
52
63
67
113
114
111
102
40
96
102
103
49
116
111
96
113
111
133
129
118
129
146
152
98
92
137
82
84
138
116
69
87
152
147
128
116
112
121
121
66
149
155
96
108
162
158
150
146
150
147
133
61
99
90
82
81
38
56
61
120
75
82
145
105
115
152
154
127
103
45
100
49
65
69
70
57
58
61
63
127
90
85
70
68
61
120
79
133
132
130
81
91
159
135
71
72
84
133
65
66
81
69
67
130
143
134
59
47
35
68
88
35
28
66
15
72
91
85
61
67
23
32
29
10
77
93
94
124
106
79
70
66
12
58
57
5
7
10
68
64
56
57
61
7
11
62
65
66
71
76
73
27
30
29
21
75
78
79
85
33
86
87
88
90
38
91
95
47
50
102
101
101
104
106
106
107
108
99
40
42
107
106
105
56
64
71
74
51
171
134
150
136
134
136
123
52
55
123
129
133
129
132
134
137
87
137
125
94
93
54
115
96
92
100
86
97
43
30
46
33
51
19
39
35
119
100
85
161
165
140
154
142
172
115
113
141
158
141
119
128
88
62
114
110
130
135
125
192
177
220
136
136
134
62
181
187
155
192
140
151
59
60
143
105
124
101
58
43
22
7
38
110
255
170
122
107
53
38
44
75
144
142
96
88
91
147
161
172
162
169
163
139
132
78
59
75
85
137
123
51
69
128
122
129
126
114
110
100
45
97
102
117
85
65
102
111
129
119
59
85
172
137
113
93
83
83
87
91
147
91
81
143
90
77
68
122
127
125
69
132
128
63
52
55
56
105
105
103
98
98
42
95
102
104
113
79
98
147
141
80
127
129
87
147
150
91
67
98
94
49
53
68
126
129
123
71
73
72
93
114
96
67
68
69
85
113
98
134
80
93
101
129
122
122
128
133
73
112
116
78
83
92
147
144
127
108
103
43
59
45
98
49
40
84
84
99
40
73
14
71
76
62
0
12
35
110
135
78
77
68
66
65
57
55
58
61
62
12
61
55
6
11
60
62
63
67
67
21
25
76
79
31
32
21
72
75
77
89
87
85
35
90
38
36
87
90
93
44
45
97
100
101
104
103
104
108
100
38
36
105
109
108
108
64
80
93
69
173
146
85
90
134
124
68
112
115
126
127
133
133
133
137
139
84
130
120
98
119
99
92
91
102
102
79
79
34
56
6
83
17
17
8
81
111
37
56
107
168
194
154
143
171
116
109
136
160
147
140
149
93
83
105
113
198
201
132
140
178
174
142
129
127
108
215
190
172
195
181
81
38
44
116
56
125
113
70
49
8
20
65
161
178
173
134
110
48
14
22
50
78
112
94
30
87
44
52
146
122
117
115
104
109
58
84
115
85
85
62
60
68
71
69
133
131
69
52
100
104
59
58
110
97
95
106
114
115
64
71
79
85
66
62
69
84
143
138
77
70
73
77
93
97
81
65
122
120
114
103
65
75
77
83
80
73
118
115
130
87
139
99
167
172
160
154
105
96
146
97
105
112
108
147
135
49
39
42
53
65
71
70
60
70
81
142
90
87
82
81
156
156
86
74
60
72
74
72
71
75
81
82
60
104
124
134
124
118
72
127
124
83
83
134
139
133
119
60
107
92
83
45
34
57
115
120
120
125
81
78
125
120
125
127
68
81
104
79
20
84
71
13
12
62
63
64
66
60
7
59
60
66
67
59
67
70
72
70
72
27
25
71
26
32
82
81
79
76
85
82
80
29
31
30
28
35
35
36
87
88
91
47
96
100
95
93
98
100
44
93
96
104
109
113
124
146
166
120
71
107
108
113
115
120
115
68
124
124
120
128
139
134
141
85
120
105
106
122
91
30
28
16
70
74
65
55
2
35
22
21
39
147
88
14
85
73
68
148
121
196
160
205
164
166
177
196
152
165
144
169
152
117
126
130
154
133
124
191
156
151
125
149
121
198
171
124
172
156
155
133
57
61
79
82
50
54
157
114
121
68
113
130
61
125
93
89
35
73
59
28
41
21
67
109
141
98
101
80
88
82
116
98
30
17
18
20
19
18
14
83
76
74
78
130
68
60
65
113
122
141
154
156
121
120
119
117
123
78
76
77
141
142
85
138
146
158
170
177
150
148
137
155
170
162
150
132
130
78
84
112
116
112
102
109
117
170
163
115
124
112
107
160
161
157
162
112
73
122
71
78
83
76
110
93
92
147
138
126
67
67
69
129
85
93
153
102
100
148
140
137
149
152
81
122
119
126
125
74
135
148
94
54
106
105
112
70
68
58
56
115
127
67
66
132
146
97
97
150
151
90
71
104
48
108
120
114
75
90
130
77
77
126
55
78
113
91
41
30
28
23
26
27
70
65
64
6
61
67
65
60
63
68
14
14
20
23
72
76
32
32
35
38
40
94
94
91
85
97
97
97
96
95
42
42
37
90
92
39
36
32
81
29
90
91
36
95
46
44
96
93
95
99
101
106
68
83
85
52
52
43
95
51
49
102
49
98
104
131
137
146
137
141
133
113
48
100
99
98
35
36
31
30
76
8
18
37
8
16
118
106
33
56
81
53
80
96
165
205
200
227
193
135
172
128
137
148
130
174
156
139
140
133
167
141
100
118
160
162
161
153
100
204
193
188
196
198
129
239
143
125
129
96
102
45
195
183
98
89
61
121
60
111
189
129
82
124
64
85
148
130
38
57
91
106
109
181
177
128
80
46
111
94
13
25
46
61
57
35
58
63
70
118
111
64
59
119
113
115
80
102
164
157
92
139
137
138
132
71
71
130
141
144
158
123
135
176
155
130
131
152
162
161
155
152
137
149
112
127
153
202
142
127
132
133
128
129
140
137
115
170
194
139
96
127
79
72
159
119
91
58
52
130
110
122
152
146
85
143
97
90
74
70
68
142
136
77
132
148
140
149
158
99
94
86
115
127
88
138
125
124
84
79
114
113
117
58
58
118
119
119
77
80
79
135
149
163
164
150
90
126
95
88
110
120
129
89
87
123
67
57
92
46
126
95
59
95
97
27
21
22
24
69
12
10
64
60
58
61
66
67
16
16
23
69
28
75
75
30
31
36
39
91
41
97
99
98
98
100
54
105
98
41
33
38
37
87
85
32
34
95
40
94
93
86
83
85
89
91
89
89
36
36
94
109
72
82
46
36
45
36
32
39
41
42
53
124
136
139
93
84
76
120
118
69
120
106
59
45
30
18
15
76
78
26
23
11
103
120
65
110
47
122
122
137
163
209
168
219
218
204
191
174
138
139
115
108
166
161
154
124
149
161
183
196
131
158
158
143
198
167
214
184
167
176
189
230
108
157
125
112
76
57
59
199
103
80
0
64
134
133
106
119
186
113
147
76
94
159
78
44
108
106
108
82
138
146
127
141
26
94
88
82
99
111
95
112
69
95
152
157
149
123
126
124
111
108
58
76
94
104
100
146
140
137
137
135
131
83
90
92
169
134
163
80
126
85
99
154
148
150
159
164
162
150
150
97
105
144
159
216
171
155
148
149
196
138
154
189
170
77
53
119
136
100
114
94
68
58
69
134
150
116
114
159
157
100
100
95
134
84
85
83
83
134
124
114
61
121
132
85
91
106
91
85
126
122
70
115
114
80
88
145
139
120
62
131
139
124
64
60
64
73
77
130
131
134
146
126
68
114
98
82
103
46
45
40
35
84
75
38
89
63
63
51
40
90
91
79
21
19
12
13
70
68
15
15
67
69
72
73
73
19
68
26
73
73
79
78
31
35
90
98
106
111
60
111
108
58
109
54
51
93
95
42
92
88
34
86
92
35
90
89
84
81
81
81
27
29
84
91
95
96
47
51
81
69
82
12
8
28
51
30
51
76
144
100
96
92
67
83
92
90
88
143
135
91
132
130
98
89
86
127
117
37
163
5
22
79
88
105
111
83
93
164
198
174
211
146
198
188
128
196
193
123
114
115
151
152
137
157
118
173
208
196
149
208
149
178
177
192
229
158
142
169
56
108
126
122
150
101
63
62
132
68
115
39
96
75
153
157
121
177
95
76
80
95
92
71
91
39
64
139
81
110
106
78
133
110
110
96
106
124
106
109
84
79
167
156
99
95
84
132
71
62
116
124
142
102
104
97
85
83
136
141
146
151
155
107
104
98
142
142
105
111
103
151
156
150
96
152
153
96
90
143
96
104
128
142
150
141
153
159
156
205
159
122
69
69
94
116
114
116
113
60
61
120
132
139
137
93
114
181
138
124
109
105
157
158
98
96
96
84
90
142
128
123
111
104
111
118
77
95
83
73
128
138
85
79
72
68
74
129
127
125
122
118
117
67
123
126
73
73
79
86
135
132
118
67
60
54
106
115
113
115
58
52
119
127
116
146
89
68
103
42
42
85
73
17
17
15
69
70
67
18
18
67
67
18
20
71
71
22
82
77
78
30
24
38
41
94
99
108
113
114
116
112
112
62
62
63
53
49
48
97
40
35
84
33
34
88
88
85
83
82
79
74
18
71
80
90
44
47
50
51
59
128
92
107
162
156
85
89
86
79
88
140
133
88
85
69
49
94
47
89
84
44
25
12
28
34
102
169
150
150
99
101
131
141
91
104
139
135
168
191
195
150
110
156
94
136
183
168
122
129
95
132
146
161
117
138
156
114
142
214
198
155
197
210
218
219
193
177
125
133
155
168
181
113
89
108
136
160
200
110
128
180
165
155
173
163
82
60
82
139
163
183
179
167
87
78
145
103
175
167
99
159
108
36
93
114
53
55
102
87
82
167
99
91
93
97
94
87
83
136
142
102
108
159
149
86
88
91
98
105
109
113
164
139
90
168
130
180
119
111
105
101
143
142
145
96
97
93
97
158
113
117
124
131
137
149
166
164
133
73
124
84
154
180
123
108
126
121
80
126
154
149
144
150
152
96
122
133
113
101
98
152
105
97
93
150
88
89
140
125
121
62
55
109
115
75
151
145
87
139
137
79
129
125
128
80
76
72
124
120
119
127
74
121
123
124
119
59
54
60
57
71
78
71
124
140
84
133
133
127
115
130
144
103
75
89
117
103
115
26
28
69
66
70
70
71
72
68
21
22
69
67
20
22
72
70
24
83
78
28
31
74
37
91
91
94
101
107
108
61
59
115
65
117
68
59
106
52
49
95
37
33
32
34
36
87
84
32
84
80
23
70
68
20
27
32
38
42
96
57
65
68
80
149
156
167
114
162
99
82
122
60
80
70
108
100
101
106
44
89
36
25
32
52
107
117
102
118
87
96
170
171
148
131
132
135
123
162
178
194
190
91
154
150
197
195
129
191
189
101
132
161
180
119
157
140
175
203
223
193
142
205
195
209
220
177
170
127
116
114
88
152
98
84
96
125
159
117
92
143
178
161
76
161
120
74
124
131
125
149
100
139
69
61
146
160
154
174
143
89
155
54
43
106
118
48
47
87
88
91
125
108
151
98
95
150
151
148
93
93
98
101
156
163
160
160
110
108
103
96
134
123
156
126
187
139
199
195
123
118
107
121
176
163
104
106
97
96
93
86
86
165
191
202
132
145
60
70
152
163
140
172
152
106
116
91
58
142
138
136
137
133
123
79
106
112
113
97
101
106
153
100
102
86
94
96
148
157
154
147
130
128
148
87
140
131
130
142
148
84
72
78
72
75
157
155
130
128
136
127
115
116
129
134
126
67
69
78
141
151
96
139
132
137
98
109
151
146
90
83
146
101
99
50
78
61
67
59
100
83
70
13
16
71
76
81
77
33
86
79
77
83
86
82
66
24
29
76
78
28
69
25
27
78
29
37
95
96
55
59
69
74
72
76
70
63
113
57
50
42
36
33
32
31
81
27
28
82
28
23
72
72
76
29
34
42
49
59
64
127
126
72
71
73
127
128
127
124
102
115
135
78
64
57
62
112
99
91
94
88
83
24
23
84
86
90
86
20
50
123
54
87
151
176
108
140
177
162
177
155
135
205
206
176
190
174
165
184
82
104
152
164
158
147
144
159
109
173
205
197
195
194
196
198
191
177
66
138
167
110
116
92
125
192
184
194
126
131
86
162
171
213
99
79
52
44
135
176
196
191
174
91
66
134
140
171
175
66
58
65
37
102
101
50
52
44
107
123
99
133
173
157
149
98
102
103
162
158
102
101
107
117
180
188
165
96
151
162
169
174
128
114
123
132
139
192
187
131
124
111
107
160
159
111
119
115
114
103
107
137
168
149
60
65
135
110
132
140
194
165
195
136
164
118
66
101
142
151
153
149
150
106
107
154
156
104
91
84
141
149
151
144
140
92
94
141
85
77
153
169
152
75
84
143
138
110
80
154
161
101
89
69
78
132
137
143
143
90
148
157
160
157
153
155
102
98
154
151
152
103
151
147
100
109
168
161
159
159
92
88
89
93
48
85
58
66
44
22
77
74
22
76
77
25
27
84
34
80
80
86
81
25
35
74
74
31
26
77
79
75
21
25
28
83
34
90
91
53
104
59
69
72
80
82
84
79
69
59
54
50
36
84
85
31
29
85
90
37
32
79
82
90
42
91
94
48
53
57
120
122
69
68
119
102
105
105
103
112
113
110
93
53
53
104
64
120
120
118
116
107
97
39
37
31
34
26
33
97
58
87
102
142
60
86
192
117
195
138
169
160
106
176
192
172
167
174
194
156
100
187
221
141
132
120
211
205
163
136
127
189
207
204
186
187
167
121
167
178
56
127
176
191
194
195
195
126
122
156
168
108
80
11
70
136
127
161
119
84
183
195
154
56
87
127
130
87
62
68
57
60
49
38
55
45
99
103
96
76
135
118
103
97
144
97
102
164
160
106
111
118
125
125
158
138
143
179
204
196
177
171
172
177
131
185
134
134
186
181
116
109
163
162
112
115
123
114
102
111
118
83
109
122
90
113
123
116
116
128
137
178
115
81
101
126
164
159
167
163
148
144
151
152
145
148
154
147
93
96
96
145
147
152
162
144
137
86
85
102
99
78
66
82
86
81
126
126
85
151
147
129
79
143
95
102
107
106
104
108
166
158
146
140
145
95
94
150
154
154
104
103
100
102
158
157
152
158
169
100
95
99
89
48
33
55
65
46
13
27
77
26
29
29
29
30
31
33
29
80
32
81
27
34
68
23
28
22
70
20
19
73
76
26
29
30
85
87
50
47
103
113
122
78
131
133
79
70
55
42
37
39
39
89
85
84
88
92
38
32
84
87
43
47
98
101
54
59
60
67
71
71
119
114
55
110
110
106
102
99
95
101
52
47
97
106
112
114
118
68
120
117
62
57
49
46
89
94
109
76
103
166
151
115
156
177
120
129
194
190
170
156
174
181
174
178
171
192
155
87
117
151
137
177
149
202
221
184
128
170
190
197
207
198
144
113
171
173
191
110
145
176
125
139
184
194
170
122
128
120
93
136
54
51
108
142
96
47
75
128
172
177
146
102
85
96
132
30
51
110
110
95
33
45
88
100
97
94
93
112
100
92
94
150
159
169
177
126
180
176
109
88
125
143
150
103
98
92
147
156
165
168
169
166
166
117
126
186
180
175
171
174
125
131
137
138
117
148
83
79
91
154
149
144
85
87
102
122
169
103
84
71
93
173
161
142
148
133
76
87
95
96
154
167
186
164
150
141
86
84
81
132
136
142
138
95
108
111
106
96
90
149
104
84
134
129
133
84
88
146
154
165
107
107
102
92
82
78
81
136
145
142
135
82
83
89
100
160
159
154
101
99
94
141
157
100
155
160
135
81
91
53
88
34
46
50
45
29
24
22
22
26
27
25
25
26
77
79
27
78
79
27
76
62
28
80
78
75
76
29
23
75
79
33
31
84
37
39
46
99
102
57
61
127
136
85
80
68
56
102
45
48
42
86
83
83
32
35
36
83
88
43
49
105
109
61
58
63
70
66
114
114
63
57
57
57
108
104
105
109
101
95
41
98
103
108
108
112
114
117
67
116
110
53
54
110
117
120
119
124
132
133
99
140
64
161
88
132
132
121
169
194
175
176
128
189
196
196
133
153
162
157
198
187
205
210
174
178
201
176
220
209
180
177
107
172
119
183
133
173
154
174
169
145
158
149
121
78
53
57
83
63
106
106
133
116
130
144
210
149
76
140
174
147
100
18
3
82
119
130
123
120
111
102
91
81
80
88
104
160
159
103
173
181
181
172
111
155
149
139
78
94
160
109
114
118
115
105
99
99
99
98
97
100
109
120
129
126
175
176
186
189
178
115
78
72
130
143
177
178
157
157
160
155
148
103
121
164
77
70
96
164
91
137
148
104
107
117
134
154
161
148
129
138
150
156
155
149
143
139
143
138
137
96
113
117
106
107
97
95
149
91
79
132
124
132
131
73
76
90
105
104
106
154
91
81
80
84
85
139
145
90
86
83
88
101
156
161
156
99
96
90
84
122
130
135
134
137
152
111
52
96
89
32
31
37
23
18
17
18
72
71
67
66
16
66
20
21
66
20
23
65
58
18
12
68
69
68
74
21
70
72
25
17
68
21
21
82
77
78
91
94
111
115
121
124
118
110
51
42
100
49
52
103
95
86
35
42
43
98
100
103
107
110
110
117
69
74
72
70
70
71
127
74
73
70
102
101
53
54
97
49
56
105
56
64
108
108
113
119
121
120
73
82
135
137
148
104
91
64
97
28
68
120
119
149
189
151
164
158
162
181
165
161
175
184
194
119
136
148
211
136
120
205
155
164
198
204
188
179
189
189
192
139
118
129
178
117
151
201
170
174
163
148
121
103
153
143
87
82
83
109
175
191
106
84
109
176
114
122
130
179
169
218
191
142
96
80
73
87
112
106
113
86
94
110
109
107
117
117
108
127
186
181
153
93
90
147
148
94
110
165
109
117
126
114
140
133
91
87
139
142
100
114
128
137
133
183
192
199
185
150
119
59
70
146
162
184
179
153
151
110
118
121
131
127
105
62
102
112
101
107
114
158
155
119
179
134
160
185
173
140
164
157
151
143
82
131
132
130
126
126
140
104
104
89
105
143
86
83
77
77
128
129
135
141
144
92
94
105
99
104
102
91
82
80
82
81
141
94
91
88
85
88
151
162
167
159
150
93
86
78
81
143
145
81
130
142
96
107
97
34
78
79
90
71
17
16
17
19
69
65
63
60
58
14
14
59
12
16
56
3
12
4
9
62
60
66
71
67
17
71
61
58
11
10
16
60
63
82
84
100
106
117
125
122
114
111
61
107
112
118
64
50
34
30
35
44
48
103
107
113
117
117
80
78
76
128
73
68
64
114
116
69
74
59
111
64
72
59
111
60
49
49
58
66
65
68
124
70
119
122
89
93
148
154
105
90
67
58
47
92
57
72
91
80
152
103
144
164
212
219
206
172
164
117
84
106
129
156
127
181
224
98
114
186
209
192
194
190
188
205
116
142
135
170
79
160
222
186
180
148
163
120
144
79
59
78
105
128
136
169
177
80
104
159
195
163
141
158
180
148
255
223
153
46
78
61
66
90
97
124
89
101
117
106
159
118
127
173
142
128
120
138
88
99
161
163
117
138
133
127
171
161
154
158
175
192
162
172
134
134
125
175
126
171
184
175
144
75
83
101
113
106
159
110
101
155
157
177
120
116
178
191
154
84
93
108
115
113
114
122
170
147
146
163
174
167
118
121
109
109
139
138
137
81
79
82
76
126
127
144
94
143
86
83
79
77
91
156
139
149
140
89
91
92
142
141
150
108
109
98
85
86
90
92
147
96
95
146
93
92
89
87
145
147
93
91
90
89
141
72
83
132
151
135
153
78
97
94
86
81
82
25
16
17
67
13
13
65
64
12
4
9
12
62
60
61
63
63
9
7
7
7
61
62
63
67
11
10
7
55
10
22
16
12
66
69
16
68
61
16
30
92
102
110
111
117
125
126
126
72
70
118
106
95
96
103
55
57
115
124
79
77
78
125
124
127
125
70
75
74
122
115
107
59
64
54
53
107
105
45
46
52
64
68
73
129
78
77
128
80
86
89
143
97
153
144
78
128
73
67
55
45
60
89
139
94
98
88
87
86
135
113
107
97
91
95
106
106
168
172
89
118
148
198
213
203
193
186
183
165
136
151
199
113
171
217
208
196
133
128
104
83
49
79
103
111
116
175
147
147
136
64
125
132
121
115
128
129
145
182
199
119
105
133
110
108
119
111
35
133
92
143
150
109
104
149
144
158
167
170
151
97
105
168
118
122
122
132
181
177
121
166
158
151
99
107
162
109
97
98
126
153
208
169
131
92
102
105
107
155
163
167
116
171
173
177
116
127
132
185
132
145
132
145
147
142
87
153
177
191
168
153
147
147
141
147
166
125
111
100
100
146
83
76
76
121
115
116
76
73
131
142
147
87
91
110
174
146
90
152
100
99
95
140
140
110
115
161
100
99
157
105
103
161
151
141
141
146
149
98
149
152
160
95
88
142
143
137
150
123
120
113
94
163
116
98
95
84
78
79
24
23
73
70
68
65
13
10
8
65
12
8
3
2
3
1
0
60
60
60
60
60
61
61
14
67
62
60
74
31
30
93
85
80
25
20
32
32
25
76
70
20
86
100
123
87
91
146
145
142
83
70
111
121
146
171
184
126
107
143
80
133
131
134
138
136
132
122
72
127
128
74
71
122
119
65
121
69
63
63
64
61
117
124
128
130
80
83
84
88
89
140
143
148
150
96
90
125
59
113
123
82
144
149
100
102
105
104
155
153
97
112
117
102
84
88
93
101
145
137
144
75
112
122
89
101
98
51
123
112
97
112
111
127
123
131
141
130
79
73
90
81
127
85
101
113
132
148
117
110
131
112
122
187
171
192
199
195
195
52
22
54
81
143
78
46
37
112
94
38
57
133
158
155
152
100
163
162
155
102
104
114
121
117
114
168
174
168
162
109
108
161
163
116
116
162
100
101
125
199
152
103
133
132
103
166
166
112
113
130
133
123
165
163
169
175
179
180
129
127
90
83
101
112
122
126
131
192
141
174
164
152
146
153
167
171
163
99
101
103
95
83
80
84
127
128
135
145
144
152
163
169
100
97
162
165
90
86
98
154
158
157
99
97
166
164
119
110
94
93
95
93
143
134
78
84
91
96
153
159
163
168
151
89
86
135
129
78
104
104
96
136
167
72
51
96
83
77
83
82
71
70
68
66
12
12
11
61
64
11
7
54
1
1
0
0
7
60
60
60
7
7
7
11
14
63
65
82
91
89
94
88
33
29
23
29
28
53
103
39
28
77
76
85
29
51
81
101
105
90
115
93
101
76
101
170
125
127
179
168
159
128
122
122
120
116
141
85
134
80
81
76
72
75
72
124
72
67
121
73
72
123
124
127
133
84
84
141
138
134
133
137
142
143
90
83
66
109
119
133
138
140
150
97
97
95
145
143
143
95
98
106
113
109
143
96
109
154
156
162
93
136
147
138
89
71
59
69
64
106
116
113
138
142
146
139
120
129
113
75
70
127
151
109
101
125
131
138
103
170
105
148
170
159
175
152
113
62
42
125
99
32
105
128
64
46
103
101
44
58
127
109
129
150
106
152
149
96
97
92
92
88
78
80
155
162
166
170
175
118
162
155
102
107
157
156
162
117
103
127
77
95
156
150
151
157
107
148
212
194
168
168
163
167
181
169
162
164
108
96
121
199
136
113
95
95
161
123
128
175
168
167
169
108
93
84
88
92
102
106
102
97
150
138
156
168
153
155
164
167
121
99
96
155
148
85
135
82
87
148
155
156
102
105
119
115
152
88
87
83
129
129
124
81
87
135
76
84
149
156
95
97
95
84
128
127
135
88
90
102
125
153
61
46
95
87
31
34
27
9
15
66
11
10
9
8
8
2
7
9
58
55
3
56
56
4
5
5
5
56
54
1
5
59
62
18
25
82
85
35
33
36
35
28
29
27
64
68
18
78
39
96
96
101
100
42
33
30
84
88
37
38
63
73
122
69
79
142
135
131
135
158
184
204
211
152
201
143
133
111
106
104
95
91
93
146
91
93
144
102
101
98
98
98
151
100
100
149
145
140
137
138
143
149
94
148
141
137
135
144
107
134
132
80
129
129
84
95
102
99
100
104
105
143
86
84
87
147
148
102
152
143
86
87
97
92
69
64
132
90
127
97
89
126
127
126
133
112
38
93
161
152
141
132
120
90
88
68
125
169
137
46
32
111
112
53
79
17
94
69
100
89
66
82
145
117
113
64
53
103
127
125
137
154
152
154
103
89
102
163
104
89
83
96
153
154
158
159
156
159
159
151
156
140
128
124
120
75
91
114
156
175
191
191
184
183
187
184
178
175
187
191
138
131
166
200
94
80
112
173
180
178
107
88
99
126
180
162
159
148
83
82
92
100
102
97
101
105
100
93
105
157
177
164
159
167
172
170
161
98
90
88
144
92
86
143
134
133
78
87
150
143
108
114
109
156
148
82
74
82
147
150
73
82
161
105
98
147
146
87
97
107
148
133
80
80
120
122
121
129
102
74
42
83
32
32
23
24
15
66
66
14
14
61
3
2
2
8
63
59
54
2
6
61
66
6
7
7
56
58
63
16
62
62
77
72
13
10
8
32
42
39
36
27
40
89
27
75
80
83
87
114
108
62
118
116
59
65
138
106
112
117
123
123
162
139
68
111
116
70
76
133
130
70
50
104
51
96
97
44
42
48
96
107
79
89
82
135
68
64
54
51
105
103
103
102
112
131
143
141
138
137
132
135
103
115
148
135
156
160
143
187
139
188
137
159
126
110
138
147
130
149
140
140
139
105
136
148
123
155
119
110
106
104
98
85
81
91
96
115
126
131
110
113
104
27
41
60
135
155
140
111
91
136
66
83
87
104
80
69
32
71
131
129
65
83
131
93
71
86
58
25
94
100
103
77
86
70
132
136
139
151
157
91
152
159
168
161
97
87
87
90
88
105
92
89
145
141
138
138
85
99
87
70
118
128
142
103
112
162
180
185
179
173
171
183
137
136
128
177
184
137
109
155
87
82
140
127
139
151
98
97
98
94
87
85
156
153
149
150
107
114
112
104
168
122
131
117
93
102
164
156
158
111
98
91
141
136
94
89
139
144
92
138
89
91
135
124
127
136
87
117
162
139
123
131
148
102
97
142
198
164
161
133
100
157
166
168
123
119
109
155
104
160
149
94
152
138
121
151
81
47
85
78
28
30
31
63
74
69
67
67
67
63
10
8
5
3
58
66
73
70
10
11
14
14
12
11
68
75
69
68
17
22
21
72
74
19
27
28
26
28
31
93
43
39
33
32
38
95
86
36
90
98
112
74
85
94
101
160
156
151
95
134
118
106
67
77
81
125
122
70
71
125
121
115
112
54
39
24
42
50
60
121
128
83
94
116
118
115
60
60
54
105
49
48
40
84
93
112
68
113
115
112
134
134
186
152
147
181
161
117
146
187
159
138
163
180
140
110
95
133
146
124
164
158
146
162
131
105
136
156
149
121
85
140
175
127
137
119
117
81
117
15
0
125
141
159
149
119
127
98
105
66
65
115
129
106
38
42
33
103
103
41
104
80
74
84
100
73
50
60
113
112
88
26
41
117
139
87
95
151
143
151
159
138
85
83
132
83
88
90
101
140
87
145
140
137
147
103
129
94
115
118
135
92
92
154
159
132
133
178
170
168
176
179
127
121
117
122
126
164
150
84
138
145
76
136
140
139
84
81
79
82
88
162
157
151
150
155
107
107
104
109
131
150
132
94
92
150
157
104
104
82
80
83
81
94
86
81
81
82
138
142
138
130
124
127
81
85
161
148
141
138
140
139
81
81
85
185
169
204
133
149
103
140
138
177
103
103
110
110
102
92
89
94
82
69
152
82
46
87
28
27
30
30
65
22
17
66
14
68
65
64
62
60
6
9
18
75
72
12
67
73
18
64
10
15
21
69
72
75
26
27
31
87
84
31
28
28
29
81
33
35
90
88
32
35
96
89
90
40
102
65
129
134
83
85
148
147
146
142
134
123
114
123
77
80
127
74
77
133
114
110
107
106
102
91
81
45
58
69
127
134
89
76
117
121
69
67
64
57
56
57
66
53
91
117
152
91
108
37
119
144
144
192
208
207
153
127
150
153
122
121
87
92
78
115
204
164
162
173
140
179
174
150
146
123
123
113
112
97
98
85
136
113
98
40
85
43
69
60
18
13
41
116
128
140
125
110
113
149
53
107
107
133
128
75
63
44
111
92
25
40
124
79
93
89
59
101
60
114
114
113
53
49
58
126
79
94
158
155
150
88
70
81
92
147
93
85
69
74
132
141
143
135
84
95
153
106
98
90
92
149
147
146
154
161
174
119
112
104
101
167
112
107
151
101
105
106
163
105
92
130
75
87
135
142
150
95
84
90
105
103
132
138
145
150
95
140
139
91
131
129
137
120
85
80
129
130
79
84
91
150
96
83
74
73
73
76
131
135
135
142
137
141
146
90
88
138
141
138
139
142
143
97
115
133
155
207
143
101
68
79
82
71
56
74
80
147
170
124
89
78
76
67
69
98
74
92
92
33
79
81
76
70
70
65
10
11
11
63
63
64
70
72
18
16
17
68
66
62
20
17
67
69
21
23
62
16
21
25
31
88
39
40
82
32
41
92
88
32
32
88
34
78
71
73
86
18
28
98
59
116
113
114
116
122
124
120
111
98
88
81
51
98
107
112
107
96
88
105
102
101
101
96
97
101
52
53
107
118
141
107
145
138
85
77
121
115
53
50
101
96
94
161
120
161
165
143
150
148
157
165
159
165
218
170
148
211
164
122
152
156
237
165
149
181
138
152
139
147
135
196
136
117
158
109
98
78
117
114
105
119
85
112
80
92
100
98
40
85
101
80
54
170
116
96
109
115
104
88
137
162
106
112
125
179
139
184
128
94
98
107
54
85
68
67
144
78
55
96
94
38
48
69
80
95
114
172
158
103
151
155
142
81
91
163
116
67
67
85
157
167
171
126
115
142
134
75
87
110
120
171
173
126
124
167
168
121
127
130
176
128
122
107
144
102
111
118
94
82
135
81
139
145
137
131
79
89
90
85
89
131
135
149
166
118
160
147
141
153
83
87
88
82
85
75
82
82
82
121
76
79
70
73
75
77
80
138
146
145
153
142
88
84
124
124
123
106
114
128
89
87
75
66
66
105
98
66
106
93
64
67
88
73
119
107
85
77
71
81
73
126
116
65
98
133
96
92
77
73
33
81
64
67
66
13
13
9
60
64
65
67
68
17
20
22
19
65
71
22
18
18
21
20
68
75
28
30
32
37
89
33
53
36
88
95
88
34
30
97
88
31
87
85
78
83
31
38
106
74
138
142
144
93
137
140
137
132
126
73
74
71
119
133
137
127
113
105
95
85
81
86
92
87
33
44
44
104
119
131
131
118
129
71
112
107
111
59
62
65
87
137
79
95
150
135
78
94
109
114
96
55
55
74
85
75
154
87
78
85
117
75
160
123
105
104
81
99
112
100
89
84
95
80
58
112
115
157
196
166
61
66
60
83
23
13
37
26
18
135
115
95
107
84
77
62
85
144
113
145
144
90
100
66
82
176
168
153
121
92
112
83
105
54
100
131
65
68
93
35
33
44
39
137
154
171
175
165
111
163
157
149
89
90
149
152
85
90
92
144
149
161
119
160
141
125
137
144
95
102
108
112
109
154
148
169
131
130
127
124
119
117
114
121
172
108
108
98
139
133
133
141
148
143
143
140
87
90
146
145
139
137
149
170
172
101
83
80
133
139
143
139
86
86
81
125
131
124
81
80
69
68
67
90
140
123
128
146
99
150
143
80
125
119
114
109
112
61
63
63
64
64
59
106
100
97
46
106
67
75
130
125
83
111
157
84
84
106
116
106
148
132
99
112
124
49
81
76
33
32
76
68
79
72
68
66
10
67
76
19
20
21
21
21
19
18
69
75
20
72
18
15
15
69
75
30
30
30
35
90
96
98
95
93
40
41
35
31
85
32
88
88
28
78
78
20
37
56
121
129
135
85
84
80
75
131
137
87
89
91
73
74
105
105
154
152
97
151
138
145
82
77
79
115
122
91
99
162
164
169
163
152
129
118
59
92
94
124
159
94
153
168
169
161
145
71
152
149
79
76
155
106
123
151
113
101
96
112
205
112
133
232
157
135
219
103
131
121
119
181
189
143
188
145
125
102
156
80
127
100
60
66
65
76
11
74
13
48
41
124
128
119
92
87
65
145
134
135
77
112
70
55
50
82
132
142
141
120
109
53
50
113
48
71
167
122
159
89
40
40
45
61
157
157
155
100
104
160
107
122
118
107
98
94
145
134
139
146
140
70
110
61
119
120
135
132
134
146
107
116
117
137
152
112
161
151
148
152
158
109
165
122
133
124
109
118
118
172
171
166
162
117
112
104
94
94
155
161
153
136
127
127
136
142
91
95
105
145
147
151
150
97
92
85
147
149
90
90
90
90
97
108
101
136
129
136
115
104
108
119
118
109
119
144
140
136
135
133
129
126
126
129
132
124
123
127
81
83
132
128
125
129
132
92
99
152
155
144
157
124
119
154
162
125
47
30
25
32
81
72
10
9
7
14
74
25
28
27
22
22
22
21
20
19
17
16
76
70
73
24
22
20
72
79
33
31
29
29
80
83
93
41
42
44
45
40
37
88
34
88
87
80
77
22
36
56
73
128
127
129
132
132
76
76
74
116
51
48
52
67
80
102
92
136
142
151
123
68
62
41
46
48
49
107
66
63
69
124
81
137
164
160
148
145
148
135
126
98
95
89
129
132
159
178
176
147
140
214
232
221
178
102
137
233
234
133
144
173
225
196
172
96
158
188
134
134
128
105
158
108
120
190
169
113
36
60
72
43
97
99
1
76
20
79
19
70
64
30
36
72
44
38
131
143
119
69
63
122
130
18
50
52
48
62
121
120
66
57
59
113
140
129
112
104
109
126
71
23
34
68
77
167
168
163
96
80
84
88
81
91
98
99
102
161
156
143
122
116
129
132
118
120
136
144
97
97
149
98
95
92
148
103
104
149
136
130
85
129
132
131
137
99
93
94
102
161
170
170
159
92
95
93
99
102
155
154
152
94
78
141
151
153
96
95
103
167
105
151
152
149
99
100
94
149
147
96
84
123
63
59
58
63
74
136
132
137
148
83
81
138
147
143
130
128
120
114
114
126
138
143
143
142
148
151
151
143
135
137
144
134
136
154
149
131
135
160
148
142
143
136
81
102
133
86
24
78
84
82
76
66
75
20
24
29
27
26
74
25
24
23
21
20
19
19
18
71
69
22
77
76
74
74
79
31
79
78
27
25
26
33
36
41
45
48
50
102
34
31
84
84
79
78
20
40
68
91
92
86
83
130
123
61
67
70
58
41
39
48
73
122
63
79
134
124
119
74
75
72
50
46
99
52
58
54
41
49
61
76
84
147
97
128
122
89
85
70
88
84
140
94
83
67
131
162
132
145
164
174
185
206
181
172
198
224
249
142
114
210
212
210
182
141
84
136
180
126
134
178
163
155
215
170
194
222
150
135
127
102
89
77
49
25
12
13
31
12
9
26
12
43
136
162
178
113
89
135
123
43
37
15
91
96
61
67
117
71
76
95
161
88
86
149
129
79
110
151
27
53
68
57
159
166
165
102
85
90
96
146
97
91
132
131
138
137
123
105
103
119
130
127
133
147
150
150
93
92
97
101
155
154
153
152
101
89
132
135
90
95
142
142
140
129
83
145
151
159
159
98
82
85
137
148
158
158
100
97
148
84
93
151
147
87
90
100
161
98
98
152
148
95
97
93
100
139
135
130
78
85
89
92
85
140
141
136
136
82
78
76
91
110
154
128
78
72
111
104
112
74
83
143
149
98
100
150
139
128
131
140
135
137
88
128
113
123
151
62
64
70
110
44
86
87
81
23
79
86
83
80
68
70
16
21
23
19
19
19
15
14
13
64
11
10
11
12
66
69
21
23
72
72
73
24
27
75
77
81
29
31
35
38
93
95
44
47
49
34
30
84
34
31
31
26
50
78
150
148
88
82
73
61
115
64
68
58
93
88
44
51
116
121
82
81
123
124
73
67
125
109
59
75
77
46
56
54
111
55
57
127
106
103
84
125
136
87
81
83
76
135
151
142
60
66
105
181
59
67
145
151
163
172
231
152
202
197
108
162
231
196
226
192
134
138
176
124
137
147
139
99
174
173
82
207
204
94
104
144
178
171
124
122
105
78
55
34
70
28
49
89
55
132
155
157
94
86
71
131
115
71
15
20
103
61
70
122
119
78
146
146
110
105
104
107
166
159
116
44
50
53
57
152
153
149
143
92
93
94
90
93
91
135
89
103
151
156
181
121
80
117
144
166
166
103
92
140
144
98
94
87
127
127
92
99
84
119
115
84
95
144
91
143
141
108
157
160
164
164
106
101
104
159
162
158
146
83
78
132
129
80
80
132
137
143
136
124
142
114
121
112
105
100
95
84
122
128
146
98
104
102
103
104
161
157
148
120
116
165
123
129
120
104
99
170
128
123
172
171
165
160
116
183
172
166
116
163
148
135
133
125
148
74
79
147
89
69
130
129
88
88
69
147
138
83
28
33
89
86
82
15
69
72
80
80
69
11
13
15
67
65
12
13
15
15
16
59
18
21
68
63
65
71
69
71
66
25
35
91
95
57
109
107
50
97
96
47
37
33
88
92
93
96
92
113
134
146
88
84
137
78
116
113
105
110
108
92
86
89
118
128
56
70
74
121
128
82
122
153
148
56
65
36
51
52
51
73
89
94
83
84
79
132
126
120
80
89
85
138
80
128
125
120
89
129
60
94
82
110
197
197
132
140
78
175
167
134
186
179
198
177
170
159
153
186
133
157
133
121
130
208
171
121
168
29
15
114
111
57
153
174
134
170
104
131
134
128
79
95
95
149
73
70
62
160
158
112
125
117
81
23
45
105
47
123
127
47
110
105
98
98
94
97
85
132
121
70
43
47
58
67
145
141
146
145
122
79
90
101
98
136
81
100
112
173
122
172
153
84
98
115
170
170
154
145
144
147
98
95
89
80
134
101
106
145
78
128
137
147
109
110
147
146
143
83
83
140
146
152
103
140
91
95
144
139
145
151
153
154
98
89
87
93
148
153
163
147
82
74
70
71
122
121
126
125
130
132
82
84
135
85
104
106
142
134
102
107
119
117
103
93
148
150
158
157
113
117
111
153
92
83
74
128
77
71
69
134
145
143
84
83
89
93
146
89
84
129
140
135
87
74
159
131
84
83
31
31
83
79
18
16
16
17
68
65
63
12
17
66
68
70
14
14
15
63
61
17
68
67
16
15
65
70
75
75
29
43
101
98
103
109
112
57
54
50
46
105
101
98
100
103
102
97
116
149
156
92
91
86
74
127
120
124
119
108
105
111
119
125
82
77
130
140
145
141
89
135
132
75
66
61
102
113
93
101
101
129
42
66
72
68
94
119
84
96
126
32
113
142
80
72
121
166
119
108
78
42
89
174
166
197
189
200
203
128
192
202
151
158
158
209
169
164
193
188
142
122
196
180
165
105
90
140
86
135
167
72
159
142
126
42
61
124
145
131
177
181
163
123
158
131
77
67
106
168
105
124
54
66
40
27
56
113
115
70
77
132
158
117
134
140
150
69
136
96
36
141
110
119
88
143
143
90
78
118
87
102
150
144
132
138
106
162
173
121
103
84
139
107
116
167
116
162
152
153
156
101
98
99
87
83
125
124
115
58
116
132
152
163
152
148
95
135
101
159
164
166
122
109
125
72
80
135
136
143
145
144
135
133
70
66
74
137
140
142
133
130
131
79
76
124
121
128
72
139
138
94
97
127
134
106
101
130
131
95
101
120
106
86
129
131
78
93
162
161
97
78
76
83
133
68
82
73
62
56
116
124
120
71
72
82
86
85
79
73
131
130
127
83
76
166
125
83
82
82
30
29
25
68
68
17
16
67
12
63
63
22
16
66
68
66
15
17
11
67
71
18
72
74
19
15
21
24
77
83
43
49
99
103
56
60
59
109
55
52
108
51
100
100
99
97
102
120
153
165
102
148
138
124
71
72
76
118
56
111
70
129
122
84
85
133
134
132
126
66
67
64
51
54
64
113
135
92
127
115
97
29
72
91
80
141
119
153
119
146
129
137
128
145
149
161
131
98
115
77
76
133
159
132
171
181
187
218
203
211
158
149
132
151
219
142
115
185
146
106
158
185
166
205
137
83
93
99
115
74
96
161
145
136
161
135
74
55
132
141
162
196
163
144
128
122
74
105
78
97
85
66
79
48
21
55
99
104
119
125
131
142
135
143
113
119
79
79
59
61
105
116
108
67
124
74
76
79
155
107
97
111
107
104
162
166
98
117
110
79
67
88
162
166
166
118
159
155
99
133
112
56
66
71
78
139
145
144
93
154
147
116
159
131
150
102
146
139
139
146
150
137
111
53
55
67
129
139
146
142
136
163
166
158
100
105
157
143
128
146
130
128
128
127
130
135
140
112
116
159
102
87
81
86
127
119
81
144
76
111
82
73
67
71
125
124
124
206
120
93
94
95
86
80
83
73
68
117
63
121
124
67
65
115
109
55
53
51
49
91
93
98
57
67
164
62
33
31
83
30
29
78
72
72
73
23
75
22
74
74
80
71
15
15
66
18
18
64
73
22
23
78
81
77
19
22
23
75
84
42
47
49
50
104
107
57
109
55
57
109
51
100
101
47
98
120
147
160
163
157
152
145
79
119
124
66
56
52
109
110
106
143
149
94
86
129
116
104
96
49
50
45
77
143
135
57
117
117
77
78
73
84
102
116
118
167
199
123
66
121
72
104
32
59
40
73
117
122
136
155
117
122
184
170
105
157
184
201
171
120
151
173
114
180
143
159
199
155
80
145
174
157
101
120
182
106
187
84
101
123
133
134
120
105
90
133
124
81
114
129
45
134
137
93
154
171
107
115
98
67
65
96
62
40
61
42
47
111
114
133
111
168
106
125
116
111
105
76
38
82
90
124
118
140
89
91
87
89
159
169
100
100
147
99
111
161
174
112
109
115
170
163
160
102
86
118
127
79
73
64
109
106
65
73
81
140
90
140
144
105
109
147
88
92
126
72
85
135
138
138
130
126
68
80
135
135
87
90
90
146
155
148
138
138
95
147
93
96
132
137
148
150
141
133
133
153
157
155
148
89
137
87
79
84
90
79
64
143
73
68
65
57
107
111
123
186
123
89
64
62
61
51
49
58
50
52
55
57
66
129
134
68
65
108
105
106
58
61
51
115
104
59
95
165
55
29
80
78
27
28
79
75
78
79
78
77
23
21
22
75
70
71
19
67
69
73
71
70
26
25
76
25
24
74
24
23
76
90
46
53
57
114
113
114
65
115
110
62
115
105
49
53
107
106
128
163
113
115
111
105
156
149
138
130
78
79
122
57
55
63
81
94
98
133
118
110
56
97
41
45
108
70
113
42
77
120
109
69
78
144
101
179
108
121
134
134
84
122
129
138
111
127
126
106
136
150
122
149
153
136
139
128
102
194
220
158
206
144
198
170
153
126
124
151
184
163
219
237
136
119
131
85
149
92
136
105
119
92
149
201
164
80
149
153
202
201
190
85
56
94
28
73
22
63
106
117
115
178
174
113
117
38
43
32
39
51
71
89
89
91
150
130
129
96
169
136
117
120
68
82
117
104
81
77
83
90
92
100
154
99
103
102
165
131
128
169
165
166
166
98
127
72
69
101
67
69
68
72
78
78
125
127
137
150
158
107
102
101
120
165
145
142
88
120
124
83
137
137
131
132
135
59
123
130
85
143
95
141
140
153
145
136
138
140
80
73
79
131
125
133
137
134
136
90
110
144
147
142
143
150
142
147
73
127
128
123
149
111
71
70
62
108
109
117
154
72
62
58
65
122
117
55
50
53
61
65
61
60
115
115
70
68
58
54
105
56
58
92
104
86
44
94
154
91
78
76
24
25
26
27
75
86
86
85
82
77
23
22
20
70
73
72
68
70
22
73
68
27
25
23
23
23
22
20
18
72
88
95
50
56
116
113
114
65
62
56
60
54
95
92
100
106
55
79
162
114
120
169
160
158
103
95
124
119
131
135
71
60
59
85
102
155
127
103
94
95
92
96
54
56
43
51
57
47
113
74
140
132
132
150
117
116
122
170
147
123
82
122
201
205
152
150
118
175
141
151
162
130
124
142
133
148
215
188
110
215
117
134
163
139
184
102
197
171
191
187
239
114
110
109
148
202
98
197
170
114
129
223
154
100
113
179
171
196
201
153
121
108
65
15
24
24
89
167
149
174
176
107
97
135
105
45
43
49
48
61
88
90
95
113
119
176
77
172
152
123
103
80
146
156
71
87
150
100
148
79
79
96
121
116
101
143
144
91
118
102
48
105
65
72
126
133
143
82
89
98
155
156
99
148
157
160
162
169
123
126
134
126
101
136
141
92
83
132
139
143
146
146
92
135
130
139
140
86
133
132
135
88
150
143
88
87
81
72
75
135
132
138
138
140
94
96
94
146
146
146
147
145
143
90
137
133
125
121
131
135
119
122
129
79
75
76
133
129
106
107
105
57
68
123
67
67
72
130
133
132
75
69
65
119
126
90
86
72
56
97
59
52
104
97
152
105
53
85
29
26
26
75
26
21
25
80
80
77
77
80
80
26
25
25
26
76
75
25
29
77
84
82
80
28
27
25
25
76
78
34
39
47
56
112
53
107
109
54
62
49
56
63
116
113
112
61
89
168
168
118
171
169
111
104
101
135
128
127
120
54
102
56
57
94
150
126
129
102
93
104
120
75
57
42
59
115
113
129
85
134
87
95
111
80
137
130
183
192
187
191
168
123
32
40
74
145
147
152
162
203
134
207
191
172
206
197
123
147
199
122
114
165
137
77
117
228
179
172
193
169
149
132
149
174
172
196
140
71
89
133
115
154
179
158
133
189
191
154
138
94
49
164
89
91
128
146
132
195
189
145
81
63
51
155
158
103
93
88
69
49
53
99
65
123
101
60
161
152
112
111
116
130
129
94
29
92
102
107
113
122
78
70
63
110
104
98
46
117
117
126
143
156
159
151
148
150
154
143
141
147
154
160
109
151
147
150
97
100
99
96
93
93
88
138
98
99
147
147
146
145
146
143
132
129
130
131
76
119
61
62
66
130
85
86
131
78
86
92
92
140
140
140
147
99
92
81
137
137
135
129
126
127
127
131
131
81
87
141
120
112
119
118
61
56
56
60
109
51
108
56
110
118
119
117
67
76
132
136
136
79
72
66
73
126
76
74
70
66
116
115
63
109
101
144
87
46
36
33
34
86
80
27
32
26
29
83
84
84
82
81
78
25
78
28
27
79
81
34
73
28
78
76
26
78
76
75
72
70
25
32
44
106
116
64
67
68
64
115
112
64
64
111
110
64
120
146
120
126
182
177
170
115
117
170
142
129
126
72
118
67
124
96
84
79
81
119
117
55
88
59
49
63
113
126
94
140
141
141
128
70
86
98
187
212
158
100
119
180
158
188
177
142
78
159
172
104
148
159
95
101
177
108
79
190
186
151
165
171
131
158
153
147
94
184
191
195
195
165
204
222
151
147
132
140
134
145
85
189
154
103
154
178
155
96
182
115
86
88
74
72
79
120
65
69
57
71
74
116
123
67
118
36
24
89
43
58
124
143
98
94
44
72
122
67
100
180
82
31
93
111
122
121
130
115
112
113
114
122
124
124
130
110
95
85
30
48
91
115
123
136
147
153
102
104
107
98
152
154
103
102
100
99
152
144
101
104
106
153
141
78
85
88
83
86
90
142
92
89
86
142
141
132
130
137
142
140
80
73
72
76
130
87
89
132
130
85
88
85
142
130
89
94
84
76
129
132
133
134
127
122
121
121
121
69
125
131
81
70
119
124
65
108
105
108
59
49
50
109
59
113
117
115
110
61
128
128
125
120
66
121
125
65
69
78
77
123
63
58
68
72
117
109
144
77
95
90
84
86
36
82
29
35
30
30
31
32
31
79
25
81
79
78
27
77
76
25
29
72
26
23
73
75
75
74
75
72
70
77
34
47
110
58
112
113
61
62
58
114
63
113
107
107
115
123
151
118
126
181
175
114
110
163
164
90
133
129
125
123
128
83
92
95
83
111
86
101
122
53
118
153
125
130
141
116
100
129
60
54
118
163
206
185
156
135
192
129
87
138
145
151
155
168
151
159
123
100
95
50
179
216
152
131
142
195
150
124
182
194
141
148
168
193
183
137
192
195
189
225
155
152
126
79
172
146
126
147
190
107
70
143
143
126
114
163
105
82
87
125
71
73
170
159
82
137
71
78
136
140
46
67
86
82
108
48
57
109
138
164
174
140
69
55
47
81
111
76
39
106
109
122
118
119
127
122
127
80
95
101
90
134
121
120
70
81
106
75
68
120
69
74
136
91
93
91
101
92
142
91
92
92
141
132
134
178
178
184
186
172
156
95
84
80
86
91
96
86
75
72
78
79
123
124
127
138
148
147
88
84
83
85
90
95
94
90
87
85
83
136
85
90
81
67
65
125
127
129
77
119
115
65
120
113
66
116
60
118
80
73
64
61
111
57
107
102
44
111
66
67
117
117
116
117
125
125
68
62
111
60
117
122
76
68
49
102
111
124
81
74
134
120
60
94
126
108
41
81
81
34
85
82
85
34
31
30
32
30
26
77
31
81
80
80
77
23
23
79
79
83
27
76
76
77
75
23
71
70
75
29
93
50
66
68
115
117
74
73
84
125
125
120
67
125
125
85
97
162
120
119
117
118
166
108
87
133
131
132
133
134
83
80
79
102
66
128
145
148
150
201
190
171
162
156
85
102
86
96
113
167
175
142
148
179
207
218
165
184
207
112
84
95
110
96
153
122
118
145
153
91
136
167
149
50
153
172
180
211
207
206
196
234
143
119
179
198
193
186
136
145
154
54
55
102
54
90
156
125
73
73
113
142
144
198
128
94
94
97
89
69
189
196
98
96
161
168
92
130
32
72
75
30
51
35
51
73
119
141
85
133
186
197
115
65
43
47
36
79
96
100
128
133
123
168
148
132
126
46
46
58
71
129
141
85
86
122
85
76
140
144
142
144
144
142
93
95
98
148
91
133
131
140
146
167
202
182
189
207
203
152
147
106
130
175
153
89
74
70
77
87
133
114
71
128
141
144
144
97
90
82
74
76
78
79
86
100
111
117
120
117
99
72
107
111
124
126
75
74
70
73
77
78
131
138
70
62
132
72
71
76
75
126
75
128
128
74
78
74
123
123
122
122
124
127
117
61
115
64
63
66
72
53
95
102
106
50
53
63
118
118
59
49
107
117
47
43
91
72
40
96
81
99
86
90
87
33
35
31
79
30
80
82
81
75
25
28
77
27
67
20
24
71
23
11
19
66
68
71
30
49
60
64
111
112
120
75
83
88
81
85
119
53
122
72
55
92
138
78
73
72
77
139
97
69
126
136
140
136
105
143
120
95
130
95
95
123
172
189
185
133
173
134
134
128
133
100
112
135
142
135
137
128
185
167
208
218
176
122
69
73
120
142
194
115
142
189
195
90
93
209
210
114
111
170
253
182
201
177
240
152
127
101
84
63
95
175
167
208
150
106
111
123
156
94
108
85
111
55
100
136
177
153
199
115
112
79
131
62
78
229
137
144
154
115
88
127
112
46
36
36
66
42
51
103
40
125
87
124
160
104
144
144
193
166
130
91
65
24
131
150
143
149
126
127
124
120
64
71
77
69
73
87
92
103
135
133
129
140
143
140
137
133
126
127
87
137
137
139
140
150
113
104
151
142
128
147
120
121
140
156
164
100
85
79
70
78
127
75
77
122
112
121
131
89
141
140
145
140
137
156
103
100
99
156
111
166
111
121
75
63
64
121
127
132
119
69
121
68
72
75
76
68
128
67
65
135
126
72
69
124
129
133
80
76
117
63
113
113
63
114
113
115
119
111
106
110
61
60
58
59
102
95
47
49
99
49
54
115
109
48
41
161
62
37
91
92
78
93
96
84
92
87
90
88
85
35
30
78
24
24
27
80
77
79
26
73
73
70
24
21
64
20
17
20
68
71
71
79
43
107
66
60
105
102
51
53
53
49
61
61
48
89
93
158
168
113
107
96
82
118
106
49
59
118
128
145
186
145
164
148
109
120
112
122
135
185
187
188
137
168
127
130
125
129
91
103
120
125
130
108
158
187
180
198
190
159
118
88
140
178
191
178
139
201
142
71
128
159
151
83
62
81
174
207
215
153
232
163
145
117
187
133
133
147
120
183
171
195
124
120
125
78
36
86
124
91
63
132
152
176
154
197
128
114
67
76
72
95
135
143
140
130
96
90
95
115
112
69
7
43
32
96
93
105
119
74
93
175
170
179
73
121
160
166
109
76
79
143
155
147
144
144
140
131
120
78
143
98
104
110
114
121
140
200
113
116
129
137
137
87
81
71
119
96
153
159
108
150
143
93
95
138
97
156
160
97
76
97
79
67
70
72
80
93
150
155
150
136
131
151
154
161
162
158
153
148
144
144
83
84
82
131
131
80
77
73
83
136
142
145
137
127
120
127
128
125
117
62
57
52
58
63
64
123
134
122
69
71
72
124
122
121
69
72
64
115
114
113
109
107
111
66
61
112
116
122
125
72
71
114
118
115
65
69
66
60
48
41
31
29
115
61
25
33
93
91
89
36
37
78
83
88
86
84
33
26
71
25
23
65
58
65
76
79
78
73
21
27
18
52
10
66
18
20
19
73
75
31
95
89
45
100
100
62
147
145
104
90
93
96
93
159
162
184
121
104
86
76
74
75
75
82
118
132
185
182
151
159
122
128
127
140
126
129
165
217
155
130
150
148
140
118
81
96
138
149
119
132
115
217
182
113
148
206
182
181
145
140
134
194
204
138
121
81
99
104
203
132
94
88
72
55
165
205
177
161
205
200
200
165
161
148
129
102
147
209
167
149
157
123
107
80
128
119
44
128
202
199
201
120
106
133
88
41
78
60
36
87
178
69
102
129
109
66
74
53
65
80
46
86
83
92
82
105
77
142
121
136
100
51
112
104
152
185
104
148
115
134
131
103
150
133
131
149
152
95
99
107
170
112
112
133
181
117
150
156
153
146
90
82
70
66
72
76
85
98
102
156
111
104
142
77
81
133
132
134
71
82
137
131
96
101
96
78
84
135
125
67
128
128
142
142
149
149
142
141
143
85
87
85
134
82
88
94
96
98
81
127
69
119
122
127
133
134
135
141
92
91
86
128
70
70
128
124
58
114
114
120
74
128
126
71
71
111
106
103
104
106
110
116
122
75
127
125
125
127
75
72
117
65
120
122
70
69
66
63
64
58
52
124
66
26
86
85
39
26
23
85
83
78
32
33
85
34
26
69
61
23
71
64
22
77
66
10
63
14
20
23
74
81
70
66
21
70
76
76
28
46
107
118
71
121
122
146
152
114
169
121
170
174
138
170
143
146
147
144
94
148
143
81
113
125
94
109
170
175
121
95
103
145
132
138
153
200
217
212
179
141
126
71
117
95
107
88
105
134
174
190
136
159
207
166
134
183
130
186
117
127
148
119
93
112
115
108
139
121
204
147
100
75
84
162
196
202
224
221
201
186
160
136
107
134
124
87
194
143
153
141
112
78
56
146
119
94
198
207
203
161
197
123
152
73
42
57
120
59
71
157
48
37
51
57
31
59
2
2
7
113
89
77
98
95
90
122
167
105
147
85
85
130
84
112
140
122
177
147
113
91
87
125
71
82
156
177
172
118
110
170
105
103
178
122
111
155
157
150
140
86
134
127
73
80
84
146
106
104
149
97
85
83
153
108
146
131
78
80
93
148
137
85
85
80
82
85
85
132
75
130
134
82
79
139
90
134
135
142
143
140
136
137
145
155
105
101
91
127
126
76
75
125
125
138
138
136
141
91
89
135
129
68
72
132
125
57
114
118
124
77
78
126
122
122
115
109
105
108
112
114
114
115
64
64
120
127
79
71
59
109
103
107
56
51
50
53
106
55
102
99
178
66
22
83
24
37
25
23
84
33
27
34
36
88
90
30
73
61
27
22
64
20
22
63
10
8
21
19
74
80
36
70
69
25
71
76
23
28
47
53
112
66
118
115
143
110
131
184
182
185
183
160
72
158
163
113
110
160
157
142
74
110
121
86
93
165
174
101
105
166
198
126
123
138
188
203
190
155
128
79
75
73
70
76
80
105
117
113
100
124
149
153
156
125
137
138
93
91
135
152
128
175
128
130
121
163
140
232
97
43
28
181
237
187
230
199
209
176
142
166
145
169
128
101
77
109
146
154
198
165
55
30
167
131
193
226
203
195
182
193
141
120
88
32
23
115
145
137
132
127
82
87
70
19
5
0
0
72
141
99
101
91
136
121
96
138
174
129
59
86
108
74
122
141
180
168
124
88
53
48
94
80
131
139
87
89
89
89
91
103
178
201
164
120
126
83
85
135
139
142
143
147
92
84
135
143
93
98
111
116
130
132
111
83
123
129
66
125
134
141
143
94
96
143
149
150
138
124
133
129
92
90
87
84
133
133
79
143
144
150
153
151
101
101
95
96
157
156
156
104
97
140
133
125
119
119
69
70
73
66
78
135
129
72
77
75
73
79
133
125
119
120
126
114
125
131
130
130
70
64
63
54
61
77
87
79
114
102
42
102
102
96
40
39
39
34
28
82
89
167
97
18
26
29
76
76
84
89
28
25
32
36
37
88
86
80
74
17
15
64
6
11
71
20
24
29
22
73
26
25
17
75
75
19
73
75
83
44
84
70
79
134
121
125
31
58
103
188
100
68
172
132
138
188
130
124
119
114
155
144
116
73
72
43
87
98
48
59
101
60
48
54
84
107
177
137
125
144
100
103
102
102
99
118
193
179
158
85
55
34
97
139
118
129
154
232
189
155
127
104
76
102
150
152
151
126
148
72
129
177
138
158
234
184
219
204
162
153
160
146
113
157
87
95
59
39
128
214
183
103
116
204
197
164
190
200
172
136
122
91
122
118
89
164
151
69
134
159
92
174
105
91
78
24
57
33
67
121
111
76
90
125
124
101
122
112
116
97
107
140
159
164
74
86
79
112
195
117
71
71
71
83
95
143
149
100
94
152
184
173
131
110
110
115
75
81
134
139
89
140
91
97
86
128
80
132
124
118
117
84
138
143
94
79
112
67
127
135
139
137
88
94
146
138
84
131
69
132
139
85
85
83
81
131
79
82
85
132
135
141
143
96
97
93
98
132
127
79
139
139
135
124
121
119
124
71
71
73
81
137
138
131
75
123
116
117
124
128
73
68
117
111
122
78
83
83
135
128
72
74
120
65
68
70
66
112
108
54
103
92
85
30
82
83
80
78
87
39
107
105
47
47
41
28
25
36
45
97
93
100
51
98
91
88
35
80
76
27
79
73
21
24
74
76
27
22
73
24
75
69
22
25
25
79
24
25
86
115
82
84
79
143
82
0
0
20
112
113
152
198
140
193
137
132
179
120
110
93
131
134
83
120
94
87
43
40
83
78
23
21
79
30
74
63
63
72
28
31
48
59
72
138
147
141
144
107
68
66
104
160
192
209
246
148
136
125
108
138
136
77
86
155
159
166
190
131
175
123
195
165
233
219
168
184
197
126
158
132
143
150
135
60
57
81
130
164
183
198
177
147
191
181
149
170
189
198
160
151
136
156
167
102
129
116
65
144
149
81
71
168
140
82
31
46
62
97
110
99
95
115
119
53
116
149
140
38
52
168
92
111
81
129
120
125
92
166
138
137
67
68
79
91
141
142
91
76
163
188
146
118
139
59
65
75
77
76
80
82
135
86
91
86
130
137
90
132
119
122
140
142
137
77
67
64
74
81
89
144
143
97
102
141
133
135
87
80
79
137
136
136
135
79
73
72
74
123
119
125
83
90
148
151
95
90
67
117
73
132
135
80
78
72
121
120
120
72
128
135
135
80
76
75
121
114
123
125
127
73
69
117
111
65
72
129
80
83
77
76
81
118
62
61
62
60
109
107
108
101
87
83
81
81
83
75
79
93
45
155
110
116
112
51
35
33
43
49
99
94
100
102
97
89
87
37
79
77
80
27
71
17
16
64
68
71
68
68
70
70
68
21
24
23
77
23
26
88
98
125
86
76
123
32
0
80
58
48
173
147
144
141
194
187
134
135
168
90
139
154
141
84
125
112
115
64
107
105
105
91
93
104
103
92
78
30
85
81
19
20
20
89
95
97
130
161
110
144
135
225
255
181
149
207
195
101
158
113
133
127
156
120
137
157
222
166
195
183
201
211
184
227
206
148
118
145
139
142
188
143
96
169
67
133
135
138
126
101
206
192
142
176
159
167
197
167
170
156
133
108
125
102
121
110
61
117
125
127
121
68
114
120
101
88
30
96
89
58
120
104
73
66
45
118
167
154
57
49
71
179
119
73
89
114
143
133
149
172
126
87
88
95
99
99
106
107
130
116
148
132
161
178
66
80
85
130
69
68
122
124
78
91
90
136
137
82
123
116
73
82
144
145
104
71
69
133
82
85
88
96
99
101
96
137
133
82
80
91
92
138
140
141
137
129
71
70
124
120
76
87
138
136
85
86
139
72
72
75
124
67
64
62
118
127
136
133
131
131
139
83
79
79
83
87
139
145
137
130
76
128
128
78
82
135
135
132
73
56
46
51
62
116
67
73
75
121
112
105
93
92
97
95
39
89
81
87
103
103
89
113
142
126
118
105
101
104
99
95
99
102
102
98
96
97
95
28
26
27
24
15
10
61
56
9
63
64
65
67
68
16
13
66
63
15
16
22
86
102
46
71
82
69
117
14
34
0
7
57
126
141
136
188
197
182
101
152
173
118
147
142
146
166
140
150
142
184
189
138
99
150
157
160
162
138
121
99
98
78
75
71
131
133
115
157
149
203
245
129
160
209
204
166
115
131
210
155
162
157
185
218
255
190
224
248
186
204
220
235
202
221
149
222
130
135
145
161
109
124
179
142
130
80
93
69
89
135
126
153
169
136
135
181
111
126
162
154
145
119
91
76
127
124
62
56
56
39
74
103
62
50
96
131
129
50
80
80
62
87
83
63
128
140
103
110
92
96
42
96
118
29
97
72
145
156
166
163
86
119
162
171
126
113
88
107
123
94
60
127
146
162
192
128
84
142
139
79
78
77
76
78
80
135
85
137
128
124
132
84
77
71
137
141
87
89
141
83
78
80
91
89
84
133
133
134
79
78
138
126
73
134
142
144
141
84
85
75
120
71
76
119
65
76
139
80
77
82
137
133
79
133
142
137
133
125
73
131
140
83
79
74
73
76
141
148
152
141
82
136
88
87
86
72
127
131
83
81
64
55
61
109
111
116
76
82
72
109
105
93
104
114
108
43
35
96
93
45
35
70
108
102
128
121
108
102
99
41
51
99
98
43
40
94
41
33
72
15
15
13
6
5
62
61
11
59
59
57
54
52
54
56
59
60
64
8
8
68
57
21
30
89
46
53
114
89
0
36
68
67
108
126
132
168
167
128
125
156
92
150
136
148
178
145
129
163
112
135
79
50
107
103
93
94
90
92
100
77
124
120
128
142
152
192
210
223
130
165
217
156
178
174
223
216
108
141
152
157
236
183
144
139
207
234
216
235
255
182
255
247
233
201
202
228
200
171
162
161
167
152
191
201
75
67
68
60
106
113
134
151
154
135
187
178
180
154
168
158
91
131
120
111
64
67
45
14
0
0
1
5
48
73
155
109
45
53
52
49
83
122
59
93
84
149
153
112
68
45
9
42
67
74
87
139
149
161
158
157
163
154
117
175
158
140
136
68
57
74
131
144
165
135
82
73
70
75
80
79
77
73
64
79
135
145
155
146
76
119
128
140
90
96
149
140
131
78
77
128
130
129
74
74
125
126
130
136
135
123
121
71
131
134
132
134
137
81
60
116
121
69
63
63
130
149
155
93
96
149
142
79
124
73
72
72
120
123
135
147
89
89
90
89
88
148
152
136
83
85
88
88
85
142
132
138
144
144
138
78
75
126
118
118
122
126
80
79
120
57
56
121
121
113
51
48
100
47
43
49
47
169
103
77
64
57
106
100
98
45
46
86
93
51
40
30
76
66
20
23
23
23
21
17
12
18
13
9
7
6
60
60
54
1
54
53
0
4
66
82
78
23
78
35
52
107
109
81
52
59
49
94
109
117
114
169
118
108
151
144
136
84
153
118
125
156
121
100
94
95
44
64
129
124
118
68
92
94
77
109
123
124
183
164
233
190
160
148
214
134
175
153
190
244
198
144
142
141
140
219
231
169
211
184
161
206
186
183
219
195
219
240
216
205
228
183
165
156
133
164
207
152
124
92
73
81
67
104
145
205
157
194
202
183
121
167
154
146
134
63
116
103
129
59
58
87
49
0
0
24
43
69
73
133
94
119
52
30
66
93
78
116
128
103
165
104
61
85
68
29
43
48
79
97
136
146
90
115
108
97
69
74
136
141
158
176
130
123
91
81
94
163
138
103
70
124
83
91
87
83
86
85
83
134
133
81
73
62
111
123
82
92
87
77
127
138
134
132
131
131
133
133
81
73
73
76
133
133
126
127
74
127
126
124
130
136
135
72
70
69
66
63
117
128
87
95
146
96
91
83
77
75
94
84
75
142
98
101
102
101
98
95
94
94
86
134
83
79
77
78
78
130
137
141
142
95
101
157
153
91
134
117
114
118
124
134
139
135
78
81
86
131
119
58
56
113
64
64
118
110
115
112
77
70
62
51
96
99
34
38
32
88
40
30
75
76
82
83
31
27
26
28
28
26
19
71
72
18
15
11
10
10
59
55
57
12
27
92
57
60
11
17
23
91
97
96
104
112
117
71
128
78
82
91
98
95
86
132
124
64
73
57
48
62
139
165
184
166
172
105
105
108
112
120
123
128
112
87
112
119
117
154
157
152
153
165
104
120
144
135
158
163
211
221
179
164
112
114
138
200
203
221
219
163
163
174
184
233
219
180
214
171
157
213
227
210
227
193
210
152
151
195
85
107
70
95
115
113
186
178
201
174
155
103
140
104
93
77
40
62
59
51
26
7
9
23
89
55
39
46
33
80
81
101
112
29
75
123
120
76
61
78
171
141
140
111
105
142
67
50
48
77
99
98
119
125
132
92
118
114
106
106
160
150
106
113
97
87
97
83
88
119
90
80
134
149
160
102
141
85
83
138
136
128
73
73
75
80
136
136
96
102
142
79
134
139
141
141
139
99
155
154
146
90
88
87
137
134
134
90
88
140
90
92
144
138
64
64
63
63
69
75
132
135
72
85
93
146
144
94
149
151
101
108
166
102
87
78
79
80
80
78
76
85
143
85
77
70
68
70
124
132
137
89
92
87
129
116
55
102
91
48
63
122
125
126
69
69
69
58
104
104
110
116
47
56
121
110
96
144
179
136
124
58
43
37
42
31
23
27
28
29
79
77
81
86
90
40
40
38
36
32
79
27
22
21
19
72
72
72
63
67
68
14
11
7
56
68
18
21
20
18
71
75
22
82
89
88
86
95
140
108
86
54
39
48
51
95
41
83
96
116
146
210
186
159
168
168
110
117
122
125
132
154
148
117
78
72
88
100
151
173
103
145
142
136
159
167
202
122
161
181
208
168
203
201
195
148
188
181
211
227
152
203
143
200
223
230
186
235
141
180
121
209
182
101
200
210
218
193
168
81
72
106
73
51
121
139
155
151
153
96
119
60
0
71
101
82
66
47
79
70
77
46
73
96
86
97
0
5
37
57
123
129
46
71
65
112
109
122
128
111
90
140
103
82
139
112
54
115
138
102
99
165
106
89
87
87
154
97
99
104
107
171
126
96
140
145
130
95
118
126
94
80
130
84
79
125
125
74
77
76
119
120
73
130
137
104
164
110
100
139
83
92
140
144
144
143
104
106
154
153
95
90
88
137
134
136
141
88
140
140
87
137
132
72
70
66
113
116
70
126
128
81
93
153
155
153
154
105
166
114
115
158
94
86
83
83
82
80
79
78
143
151
87
78
70
68
70
124
131
134
137
87
80
69
58
54
53
36
44
59
117
122
74
74
70
73
118
112
110
108
106
48
110
128
117
103
139
183
93
127
112
49
42
40
81
78
85
32
31
86
84
84
90
41
97
97
43
41
36
30
80
75
19
19
20
74
75
69
70
69
64
66
15
13
70
71
20
19
20
75
77
59
75
92
95
83
22
38
71
103
96
105
76
66
15
22
138
147
134
178
178
177
174
160
174
182
123
115
121
137
144
139
113
78
119
82
150
185
157
159
185
153
164
189
157
171
181
184
188
190
204
138
180
172
191
195
186
195
193
215
165
137
174
187
210
196
198
162
204
102
166
178
103
139
162
139
169
130
157
162
99
91
91
140
122
97
135
149
75
94
12
0
53
79
107
71
47
78
74
25
34
105
127
113
71
88
53
29
42
103
66
60
120
37
84
125
100
80
117
154
126
41
116
142
66
61
112
125
146
106
178
128
103
100
95
150
153
158
103
100
153
146
131
122
80
76
97
130
152
162
81
67
72
76
73
122
118
88
79
114
109
58
60
113
79
90
91
98
153
93
85
89
94
145
141
96
147
139
148
140
134
79
78
133
137
138
136
80
128
123
72
131
138
132
66
50
100
111
124
131
127
136
144
149
149
148
98
106
101
148
144
85
131
76
69
61
57
66
135
145
140
91
81
73
72
74
128
130
75
67
59
54
52
50
48
45
37
56
79
138
133
129
73
70
68
52
49
104
51
46
51
99
55
96
102
114
158
110
85
126
128
64
41
17
44
105
100
96
52
98
85
87
89
87
31
30
30
29
26
73
75
76
76
20
19
18
63
65
65
64
18
19
15
73
70
68
70
25
31
32
36
90
99
105
102
93
40
100
28
84
134
154
44
0
42
120
86
101
135
215
211
140
125
181
182
124
164
109
116
143
126
144
65
68
82
148
135
202
207
187
184
149
149
166
128
166
163
192
147
144
208
205
206
168
150
119
167
162
187
170
221
198
147
93
174
131
137
205
127
72
170
222
72
26
158
165
197
203
195
203
170
154
154
71
105
74
68
69
42
26
83
5
7
62
30
6
64
63
31
22
105
116
84
174
201
151
38
92
113
101
53
124
105
99
133
95
48
133
86
49
28
126
118
75
102
150
140
149
149
155
189
103
140
86
171
166
102
89
142
107
171
162
139
132
132
85
130
101
114
146
128
71
73
70
121
121
81
134
130
123
119
69
73
140
92
94
82
124
124
82
85
141
146
96
97
149
147
147
141
136
81
78
123
74
84
82
78
125
127
80
136
137
135
124
110
106
111
117
117
72
144
147
137
139
88
79
112
120
125
74
80
135
81
75
71
80
144
143
139
89
135
80
128
124
71
122
124
64
64
116
61
58
55
54
106
119
76
82
83
124
117
121
70
62
109
112
111
107
53
101
58
56
111
90
94
80
126
155
144
84
112
84
40
108
52
50
50
49
98
97
90
89
35
35
36
34
30
26
20
20
20
18
22
21
63
68
69
73
78
24
24
79
76
79
32
37
94
101
51
53
107
107
105
106
108
103
98
84
27
82
87
52
66
114
59
65
71
84
87
87
147
165
187
160
158
197
134
186
128
193
191
161
149
137
230
167
153
213
219
158
156
90
168
95
87
172
148
143
190
155
136
135
136
133
160
158
121
125
128
170
193
227
168
131
153
104
99
122
145
186
142
131
108
92
139
146
168
137
102
85
86
147
76
55
68
88
66
65
85
82
53
95
58
99
69
75
110
13
73
91
98
44
166
198
197
107
143
160
44
32
80
76
61
134
88
102
85
41
20
85
63
126
119
135
109
108
93
107
191
102
0
61
46
148
142
85
78
128
150
174
169
135
134
83
80
79
97
113
148
133
128
73
71
124
127
82
82
129
122
119
71
126
141
147
95
131
119
120
78
82
138
91
94
148
150
152
98
149
148
92
136
130
84
87
82
77
74
131
86
88
91
140
131
117
110
112
116
120
132
144
149
93
92
87
127
107
123
136
88
144
147
145
85
83
143
148
140
134
137
129
83
137
132
120
62
124
122
68
65
113
112
61
61
62
76
80
81
77
65
60
67
61
56
112
116
115
111
57
109
63
60
54
25
84
66
129
164
96
84
115
92
46
61
58
108
58
58
54
52
40
84
29
35
39
34
30
30
24
25
26
24
26
74
64
72
73
25
81
77
24
26
82
32
35
40
98
51
51
62
116
115
113
113
115
113
50
36
39
100
88
28
100
76
67
60
59
123
128
73
124
128
91
173
193
209
174
190
193
203
166
108
128
150
213
161
146
93
86
151
150
149
165
104
99
112
136
139
173
178
134
111
157
164
156
117
135
118
111
125
150
223
167
147
110
42
57
59
110
143
101
134
83
78
120
129
92
95
146
92
84
68
64
131
85
70
64
81
117
127
155
150
172
170
90
85
57
27
97
116
39
0
182
218
191
114
133
137
22
45
79
142
119
130
34
88
42
25
46
111
110
131
119
132
160
105
90
112
156
39
10
40
120
102
147
149
102
86
137
145
137
110
128
77
56
63
91
122
151
131
128
133
135
132
78
141
137
130
122
66
65
120
124
86
149
136
125
74
80
73
129
83
90
139
143
149
91
88
141
144
144
141
142
81
76
70
68
129
137
86
124
120
115
113
109
106
58
67
71
79
87
94
89
130
122
105
69
82
139
142
142
140
89
80
130
132
130
138
137
83
137
86
81
74
71
78
132
127
120
64
64
66
66
67
67
66
62
61
57
59
70
124
119
120
119
116
58
109
115
56
52
46
37
100
107
184
133
114
136
63
52
61
66
113
59
62
63
59
54
52
91
88
96
98
37
86
38
37
26
26
23
24
77
72
24
25
29
87
85
33
35
37
36
88
91
97
45
43
60
61
61
113
110
56
111
45
49
42
30
32
41
40
32
107
69
70
120
122
123
116
50
52
49
53
51
47
100
41
65
79
88
133
145
155
162
176
156
96
68
104
125
199
141
129
99
101
113
156
219
131
95
170
187
110
103
161
175
137
109
81
155
198
162
137
84
67
127
158
146
149
140
120
109
103
81
63
133
134
119
129
97
86
116
122
156
140
139
109
152
148
128
110
77
126
92
39
21
44
46
45
14
87
123
187
151
131
108
105
31
74
95
140
133
142
60
68
102
60
92
109
117
141
149
132
74
141
150
91
38
70
113
99
132
84
91
100
117
171
117
85
77
145
141
132
87
113
119
98
133
130
82
83
135
83
82
134
132
132
79
80
132
75
85
84
129
129
82
137
136
138
91
146
124
69
74
76
131
136
141
140
138
142
91
89
81
73
124
126
127
119
108
104
113
114
51
46
51
61
78
83
87
77
122
131
137
80
71
127
141
145
141
77
75
80
84
84
144
87
75
126
72
71
123
121
63
116
113
112
114
65
67
65
62
113
107
106
111
113
65
74
130
124
116
114
111
61
116
117
57
61
107
47
59
99
156
186
181
93
73
65
69
128
120
61
61
62
60
107
102
103
102
99
97
96
97
47
39
26
29
27
26
79
77
35
34
34
89
88
38
42
86
90
42
46
102
107
57
53
55
59
62
110
102
105
103
105
50
52
101
29
20
84
38
91
41
46
114
116
96
29
34
36
42
42
40
43
44
34
96
57
62
111
94
64
68
70
80
108
142
170
183
160
165
154
110
101
127
202
195
131
198
196
167
150
81
178
138
161
206
191
182
167
68
145
171
122
191
196
159
91
75
70
87
145
120
79
77
138
135
126
147
180
161
131
156
119
137
202
168
72
117
99
125
135
93
70
87
118
47
114
87
88
170
213
164
83
44
42
45
101
82
51
49
150
99
55
55
49
104
127
131
87
100
116
169
150
77
72
74
132
119
136
95
103
157
155
97
86
81
84
156
107
105
158
107
116
99
135
132
80
81
134
87
135
135
134
82
133
132
132
142
96
84
76
132
139
143
137
138
92
148
124
67
73
76
135
93
148
90
88
147
142
141
84
76
126
129
79
127
60
55
118
66
53
43
45
63
83
85
86
126
121
134
142
135
73
80
141
134
69
68
73
136
139
82
136
132
125
126
127
75
125
120
58
56
107
107
112
66
68
65
61
118
109
107
114
116
118
73
125
120
112
111
111
116
122
67
114
123
59
42
57
94
141
182
132
99
80
122
70
82
72
64
63
64
113
109
97
104
105
98
94
98
50
103
94
85
39
37
34
85
30
40
90
89
89
87
90
42
36
40
45
46
47
50
53
48
50
108
112
107
98
100
97
101
91
32
41
40
36
93
35
42
40
39
106
114
99
75
29
33
40
41
41
46
46
108
113
111
115
116
112
109
62
61
63
67
63
160
167
188
214
181
123
124
93
213
189
174
146
139
155
161
126
168
187
192
178
177
130
117
109
108
197
188
87
83
67
71
82
78
67
123
134
80
135
118
138
182
192
113
99
109
179
125
185
203
135
157
154
99
114
100
63
93
113
83
110
96
20
78
138
185
173
34
27
89
47
109
100
16
88
147
31
14
75
102
118
134
84
81
84
106
124
107
128
144
164
176
118
142
88
140
143
141
101
116
120
122
167
97
85
144
165
181
109
75
78
89
134
140
90
142
136
135
86
90
92
92
151
154
85
131
139
95
98
150
152
155
103
124
67
124
131
135
86
140
142
84
77
84
133
126
118
63
66
70
131
82
76
62
57
63
68
68
78
93
91
84
131
123
118
70
136
137
72
121
66
67
75
127
129
132
82
135
134
127
77
130
74
71
69
73
76
74
125
76
80
80
129
125
112
119
124
121
70
73
70
122
114
100
98
96
95
94
101
108
89
9
35
97
40
79
191
131
110
102
79
77
78
77
71
62
109
108
108
105
53
103
99
99
48
46
93
96
43
39
88
87
84
29
31
87
33
80
86
87
30
38
43
44
46
53
51
106
47
50
103
101
99
101
100
100
97
97
95
42
49
105
98
30
27
31
88
90
93
97
105
56
52
66
90
111
170
153
150
145
141
136
135
83
119
110
104
54
57
57
60
113
115
68
128
89
107
125
159
150
207
187
176
178
175
204
206
216
220
157
213
134
105
94
83
72
121
121
72
76
70
70
88
135
124
125
72
153
189
196
187
157
53
54
120
152
187
207
148
189
182
162
90
83
93
81
61
72
22
76
83
135
66
54
96
17
0
17
72
55
91
111
119
37
105
122
64
44
91
109
122
108
138
167
125
130
169
159
123
117
137
164
136
81
133
137
86
91
148
88
112
148
118
123
133
161
176
107
74
76
86
134
141
87
144
141
87
85
85
87
87
90
145
136
134
139
94
97
100
151
148
89
65
66
125
126
73
72
127
138
144
85
81
79
126
66
63
66
68
59
63
113
55
56
121
85
94
101
90
86
73
109
105
111
63
73
126
69
70
72
77
78
126
124
125
77
81
79
135
78
72
67
64
63
112
66
73
82
87
87
81
76
124
121
119
114
108
111
66
67
101
102
99
47
104
108
110
97
89
21
18
51
101
42
18
178
195
120
106
96
72
129
129
71
112
105
106
110
112
107
101
97
98
48
42
33
35
32
28
28
34
38
39
78
33
34
81
90
95
93
45
50
50
51
57
56
60
59
50
100
108
111
105
105
92
94
101
106
53
109
112
57
56
103
41
83
80
86
94
100
44
137
108
118
128
143
185
186
187
135
120
102
140
133
76
122
66
63
64
72
74
130
132
132
74
68
63
65
64
69
73
129
127
124
134
129
132
122
120
118
61
72
68
65
114
119
122
125
75
85
80
56
123
131
107
85
67
140
146
183
153
87
79
212
145
127
131
206
192
112
180
168
136
102
134
62
32
161
164
101
118
133
63
39
21
18
34
38
52
88
154
120
118
88
91
118
66
104
152
156
144
131
118
136
181
147
136
147
139
123
122
76
76
133
145
162
110
158
148
171
104
128
130
86
166
177
110
130
131
86
82
87
135
140
141
89
138
133
129
128
77
86
142
138
136
139
91
90
90
88
81
63
66
73
75
73
72
76
85
93
87
134
134
78
124
69
70
69
65
67
67
65
71
136
153
112
98
144
86
69
106
105
64
67
70
118
117
69
125
79
81
132
132
134
85
84
134
138
133
76
73
123
124
122
82
143
99
99
143
138
88
92
83
78
128
124
73
71
116
115
119
114
59
58
56
105
47
40
26
79
106
45
37
69
128
191
190
106
152
79
126
129
126
117
109
55
56
60
107
100
96
99
49
96
36
33
82
79
80
35
39
40
83
79
30
94
89
92
100
44
50
104
55
61
55
57
103
44
95
104
106
98
95
110
112
119
119
108
51
51
52
106
59
55
97
88
30
28
99
96
85
105
110
111
115
161
155
97
95
96
93
88
123
122
67
65
65
68
123
72
78
81
76
71
70
76
72
67
56
111
115
53
99
47
100
123
126
129
118
115
73
64
69
116
107
126
140
89
60
77
114
153
190
104
87
81
89
167
188
93
94
161
119
102
121
136
203
204
178
126
119
144
130
129
117
132
96
96
90
116
110
71
75
59
19
36
72
78
149
140
106
73
5
18
54
128
79
78
92
175
171
168
146
140
187
198
160
161
147
145
92
91
143
141
94
96
146
165
97
83
132
136
90
92
120
111
136
137
146
141
141
79
85
142
142
88
84
80
80
85
133
80
81
132
130
129
81
86
89
81
121
69
73
78
82
86
88
89
86
79
82
138
139
136
81
78
72
65
64
65
72
134
143
152
104
98
95
87
80
78
126
121
131
125
114
126
128
124
71
75
131
136
136
81
130
132
133
136
139
139
139
139
146
93
91
84
128
121
122
127
81
79
82
86
82
78
69
108
104
109
54
57
63
59
102
42
49
40
26
96
100
98
101
34
71
135
133
97
89
128
133
80
71
112
107
54
55
53
100
42
41
42
92
89
87
90
87
35
37
37
34
39
30
28
95
94
92
94
42
100
101
51
57
104
106
104
55
57
56
57
62
118
130
124
125
128
120
112
109
52
111
94
84
86
92
91
33
21
38
36
43
71
96
155
151
100
153
153
96
144
142
133
130
72
66
70
130
129
134
134
135
83
134
132
129
135
90
73
130
126
58
70
72
58
126
145
89
73
82
73
62
119
129
117
49
49
111
147
90
128
132
129
97
114
80
78
193
212
147
125
124
72
94
195
164
148
195
202
201
199
123
106
170
152
61
40
44
66
126
137
101
87
54
70
81
61
161
73
68
68
93
46
46
37
93
111
96
94
102
154
131
138
163
154
142
158
145
142
142
108
112
113
104
118
135
186
143
134
85
94
144
91
108
113
111
80
73
134
132
136
83
73
114
118
131
91
92
89
73
129
84
83
82
133
134
140
91
91
82
125
72
68
68
126
136
93
96
148
148
91
89
88
138
83
128
120
67
121
129
142
154
157
99
92
140
114
106
149
87
133
133
118
126
131
81
126
129
90
81
129
126
127
129
120
112
122
133
139
131
121
118
121
72
70
68
119
119
115
109
51
56
56
51
50
51
49
96
101
102
48
41
37
42
51
108
68
53
29
97
104
108
110
66
45
86
126
107
90
80
92
91
121
106
116
70
63
53
102
48
40
87
93
97
91
41
43
42
38
90
92
44
45
40
93
102
99
89
86
93
101
54
106
103
103
100
100
51
56
59
59
61
110
111
105
105
112
60
102
97
101
108
114
110
53
100
90
25
70
84
42
44
49
56
144
90
149
150
71
124
70
105
101
96
95
93
94
118
130
126
120
114
111
114
121
137
151
112
110
147
133
129
80
72
75
131
90
93
91
94
88
66
117
55
80
148
229
202
53
106
90
118
74
18
154
152
143
165
188
146
106
79
77
161
182
150
186
142
138
144
217
126
120
70
62
46
14
15
96
86
150
202
155
104
97
64
83
57
50
23
101
5
19
36
56
139
70
65
98
99
51
30
133
175
161
164
176
113
148
168
113
110
163
191
193
127
81
124
126
84
84
85
98
111
112
84
78
139
135
86
81
121
114
62
66
125
128
128
139
89
90
90
88
86
137
140
144
92
85
126
122
65
68
126
137
146
99
100
152
145
90
88
86
84
131
74
73
82
95
156
158
100
93
88
145
163
154
146
136
129
129
128
133
135
137
130
128
85
84
81
129
125
122
118
116
67
75
130
121
111
108
113
67
65
62
59
108
105
49
46
108
57
53
51
51
100
95
52
55
56
50
48
56
66
56
61
44
29
50
102
51
55
119
112
115
153
103
100
87
88
141
128
61
61
119
115
51
99
98
91
86
90
92
93
42
44
43
91
39
93
97
46
42
95
102
98
88
89
96
105
110
110
107
107
113
110
56
56
110
62
72
68
69
118
116
121
66
58
107
106
99
43
91
97
53
106
29
72
76
33
36
95
51
66
146
137
125
125
106
64
98
95
97
103
109
109
116
105
108
61
117
118
119
118
130
141
102
162
108
97
137
77
89
77
147
103
95
93
98
69
58
71
110
153
188
227
178
145
103
141
122
154
87
75
86
195
211
169
116
117
98
152
176
108
113
146
204
145
133
154
122
86
73
125
30
10
12
77
85
157
121
81
55
88
115
99
75
63
76
68
92
105
35
46
107
103
78
94
72
39
53
91
163
170
106
142
84
79
148
156
164
159
109
168
160
141
132
132
85
84
145
177
117
121
90
78
81
74
74
68
65
68
68
120
123
77
82
150
146
90
93
95
92
140
147
146
92
87
80
129
127
70
71
74
134
91
107
111
113
160
155
150
97
98
98
106
110
110
103
93
88
92
97
103
98
139
132
124
119
70
74
134
84
139
135
132
85
90
86
80
75
70
71
126
77
78
126
119
112
112
120
69
67
63
56
50
101
106
110
104
100
44
42
42
95
43
53
53
64
67
115
111
109
111
101
83
32
59
104
105
42
99
102
88
68
112
76
95
143
143
86
122
115
67
68
105
100
103
102
49
50
100
101
45
48
48
46
45
98
100
99
94
43
102
103
46
53
107
109
108
107
111
114
111
114
65
65
66
66
61
73
78
78
130
131
73
70
75
64
123
76
70
63
106
94
92
29
16
70
73
78
83
96
54
76
126
50
113
105
47
95
91
93
95
97
36
99
48
103
107
112
116
118
80
130
80
85
92
151
154
103
82
89
137
80
85
74
44
69
119
71
92
150
173
182
220
224
146
191
53
145
147
38
24
116
134
146
158
144
157
140
127
127
97
158
171
175
160
115
111
107
172
49
14
72
77
189
207
127
97
53
57
107
95
50
73
68
62
65
89
49
39
101
124
128
76
80
73
97
21
38
119
129
153
117
133
124
137
131
130
135
133
148
140
159
159
111
106
95
152
184
187
137
101
77
75
73
81
79
81
79
82
139
144
144
92
142
141
145
98
100
100
151
139
79
71
121
124
128
82
77
124
68
70
79
103
109
101
150
143
139
85
85
137
144
142
142
144
92
89
84
132
132
122
113
108
102
105
64
73
136
138
131
126
121
70
120
63
60
115
121
66
61
61
57
107
107
107
54
111
113
111
55
50
48
49
104
108
43
94
98
104
111
68
77
65
110
57
60
55
97
90
46
96
80
24
54
105
109
102
110
50
65
55
68
169
95
103
156
85
119
122
73
62
103
103
108
107
56
58
111
110
101
104
106
53
105
105
103
98
91
91
100
108
112
113
112
108
103
47
110
117
73
128
126
69
69
126
73
74
78
81
139
142
85
85
95
83
77
123
63
61
113
108
98
92
27
79
78
76
75
80
80
30
116
196
190
185
119
111
94
126
115
58
54
59
57
109
112
114
63
113
108
64
70
67
111
109
116
72
93
80
115
117
113
115
85
185
105
94
111
117
182
212
189
132
136
149
155
116
180
112
46
120
118
89
53
125
224
164
146
153
188
206
186
108
170
174
175
127
83
5
72
60
87
53
84
112
120
144
66
117
98
97
89
100
104
82
95
19
28
69
81
99
152
138
108
141
152
125
90
186
91
96
104
114
135
123
115
126
188
194
124
110
154
94
86
133
149
189
177
130
95
125
75
79
90
89
91
88
140
142
93
95
148
145
147
151
152
153
152
99
89
78
71
122
124
75
81
82
78
74
128
137
102
104
147
145
91
88
89
88
138
135
136
86
139
138
82
128
123
124
120
113
107
103
110
74
80
85
83
135
133
122
64
114
112
59
60
115
64
62
69
64
63
118
118
115
62
120
117
112
57
56
55
55
106
46
100
106
110
111
63
69
46
51
69
66
52
91
84
46
49
34
80
117
60
54
107
107
54
114
57
52
132
105
105
156
145
127
68
68
117
108
108
62
110
107
112
62
61
103
105
108
56
55
55
103
99
94
94
46
103
107
56
57
59
109
55
64
69
79
135
134
76
129
136
81
79
132
135
142
149
91
90
99
79
81
132
72
66
112
103
101
96
29
28
30
80
78
36
88
74
27
180
191
181
196
202
154
204
143
125
72
85
81
129
128
75
71
115
113
63
66
66
114
109
105
103
60
84
99
106
105
99
120
183
106
93
120
105
102
141
138
129
121
86
107
124
103
103
111
115
99
81
6
39
177
152
187
248
191
143
124
129
187
173
97
135
81
59
62
15
53
53
78
100
91
51
70
130
105
95
85
30
79
51
59
13
69
111
105
152
130
146
149
148
137
114
82
145
95
123
141
133
72
65
75
93
174
100
108
104
131
127
87
95
101
102
105
115
103
136
132
77
77
84
152
149
147
151
103
99
92
90
143
144
144
143
143
91
89
85
133
133
75
72
123
120
73
83
146
154
111
113
107
157
155
154
153
99
148
145
142
133
70
68
123
128
77
123
114
109
112
122
129
131
126
84
91
80
76
71
118
109
54
105
106
56
66
72
73
123
119
116
113
112
58
60
114
111
49
45
49
54
55
109
110
119
66
53
92
88
44
49
35
104
63
63
120
66
60
40
93
121
60
119
121
111
45
89
94
42
49
138
103
99
111
98
81
73
116
118
62
117
122
111
106
68
63
108
57
54
55
56
103
106
97
40
83
27
40
60
56
108
59
67
125
73
72
133
138
141
141
142
138
58
101
97
152
154
148
95
150
97
83
74
72
78
74
114
108
107
48
36
81
76
82
38
35
34
85
28
36
120
150
121
100
111
48
35
69
116
106
123
166
181
132
147
179
172
115
116
84
77
85
114
116
48
116
169
119
73
67
153
144
122
112
112
68
69
94
131
95
150
106
57
105
102
103
94
99
85
64
67
0
135
154
91
133
199
189
188
145
153
118
204
166
29
52
106
50
80
80
79
105
120
84
111
113
104
123
118
83
95
118
140
79
50
47
63
96
123
105
176
119
101
148
87
108
156
129
156
169
80
96
123
128
164
98
119
113
144
136
91
92
88
133
82
105
106
136
131
143
99
153
150
152
149
95
95
92
89
94
148
141
82
79
81
85
87
83
135
82
120
111
107
102
107
113
120
125
76
76
72
76
81
83
82
135
85
86
138
135
78
76
130
79
129
76
71
121
71
77
79
130
138
136
78
72
75
77
128
117
64
64
65
119
128
78
67
65
66
122
126
74
61
112
114
113
109
55
56
57
56
40
44
52
54
51
106
60
59
63
53
111
115
116
120
47
58
100
86
96
95
98
107
117
75
83
85
76
67
87
143
108
85
112
102
135
123
126
75
75
125
115
112
71
115
113
63
111
110
110
103
105
101
46
48
46
37
29
47
51
59
118
121
65
63
123
131
137
138
139
145
98
83
135
143
154
156
157
102
94
139
131
73
127
123
117
118
57
54
43
87
81
83
88
44
42
41
91
30
33
90
102
75
39
105
132
137
79
127
137
69
120
48
104
92
136
98
187
144
114
62
81
50
121
128
101
147
149
159
160
110
169
158
113
104
99
97
131
104
51
76
147
145
126
176
166
124
108
28
63
0
0
43
69
97
111
172
196
192
177
197
167
151
25
86
51
100
125
78
48
108
114
114
125
102
83
92
108
109
94
132
99
27
42
55
93
114
138
108
182
136
146
121
82
153
148
114
123
131
94
96
106
107
111
98
117
96
84
82
89
141
136
145
91
112
110
84
129
95
155
150
153
101
96
90
88
89
91
99
152
144
84
81
85
89
89
86
135
134
122
115
60
59
113
116
119
120
117
116
121
127
81
82
80
80
135
140
140
84
130
128
78
79
79
81
80
131
81
84
84
81
75
121
114
63
69
71
123
127
69
60
53
55
74
79
120
69
71
72
72
70
114
121
68
115
109
52
49
48
47
47
58
120
120
116
63
67
58
59
51
101
101
102
53
42
57
102
85
55
113
61
70
73
124
72
75
69
67
126
125
142
165
106
155
133
72
128
80
81
127
116
110
113
118
114
62
109
108
110
106
106
103
96
43
51
49
42
31
53
72
131
141
99
86
145
147
147
149
153
162
120
111
103
151
148
146
149
95
86
143
86
82
81
128
72
126
63
59
96
88
83
85
90
36
39
43
43
33
31
32
31
60
131
93
81
66
81
132
139
71
68
44
53
51
72
80
110
142
143
158
122
119
168
105
96
133
95
121
143
97
150
195
119
114
99
99
132
136
104
145
179
211
201
225
208
143
69
41
69
53
1
27
89
95
51
137
144
178
197
190
165
136
17
81
29
47
120
132
94
135
142
149
93
64
57
78
123
123
151
129
111
97
41
39
39
97
104
94
117
141
141
132
107
77
112
130
137
197
97
104
112
105
153
143
162
107
103
97
95
143
137
164
172
180
178
155
141
155
113
152
141
81
74
68
69
78
141
104
157
153
100
100
154
155
149
92
139
138
135
136
85
84
83
132
127
122
109
107
113
118
125
79
82
136
139
141
86
132
124
122
75
79
130
123
73
72
73
73
70
65
65
113
115
77
78
127
73
80
79
126
119
120
73
67
68
122
123
119
60
56
110
54
50
48
51
107
57
59
63
67
119
113
105
99
48
50
54
47
52
103
107
115
116
72
72
110
92
114
120
60
61
56
103
111
128
131
72
74
33
119
198
162
169
143
118
119
78
88
139
84
79
68
111
53
50
94
95
101
48
38
42
48
109
117
74
80
86
59
60
145
157
102
183
188
176
167
170
126
129
177
115
119
125
125
118
164
100
81
135
136
82
83
131
127
77
75
73
103
93
92
42
44
37
45
50
48
42
45
47
41
88
89
114
11
43
128
74
75
69
80
57
63
58
145
102
92
161
189
194
129
149
128
147
165
159
86
92
133
85
81
167
108
34
60
74
68
137
116
142
171
169
177
149
156
180
164
137
119
80
0
0
85
44
23
61
117
194
170
97
154
133
26
16
105
49
88
86
94
132
131
156
146
85
111
135
122
98
88
120
139
143
66
59
91
100
98
114
105
166
180
119
111
100
84
164
112
97
159
162
116
111
179
171
134
114
150
77
130
147
152
173
169
182
195
179
144
134
88
137
129
73
74
75
130
138
149
106
103
154
158
107
103
99
144
141
141
144
88
137
136
93
92
141
137
131
119
116
122
123
128
132
137
138
135
71
73
74
72
73
77
131
130
138
139
136
84
84
80
74
71
122
126
135
76
123
71
64
63
109
101
53
116
109
51
48
101
109
119
119
100
63
60
63
70
72
64
57
55
59
117
119
119
119
116
61
62
45
50
101
56
65
63
73
70
67
109
107
114
107
54
63
72
137
146
137
122
101
130
66
123
193
150
165
126
63
64
121
70
76
75
110
63
69
121
113
108
108
52
112
51
51
73
78
88
103
103
156
153
151
164
183
170
184
179
125
181
129
177
125
108
108
102
141
77
80
134
73
134
128
124
131
135
136
89
80
136
122
60
55
50
45
44
46
44
44
57
108
101
98
86
94
37
103
137
69
68
64
66
95
82
90
77
81
96
88
112
184
181
142
185
179
129
151
163
91
76
102
107
107
28
129
40
65
47
67
167
152
88
7
150
204
145
124
104
99
142
153
163
163
104
105
96
50
39
114
173
136
238
152
98
56
57
116
73
78
123
110
98
120
135
160
104
90
135
122
48
34
50
92
113
143
92
132
72
63
62
71
155
157
163
176
75
68
116
80
104
147
149
148
157
194
124
103
157
88
85
146
148
100
174
109
174
188
122
93
141
97
142
138
133
78
80
134
136
136
102
154
155
157
107
107
105
148
144
94
99
89
133
78
78
74
69
121
124
124
70
73
125
129
83
142
143
139
81
78
80
80
72
73
133
137
124
126
140
88
127
124
81
79
131
132
76
123
119
115
114
54
51
112
70
67
114
111
123
128
122
117
121
117
109
62
62
55
52
55
56
54
117
121
127
125
115
109
108
104
45
48
115
71
69
63
68
80
82
112
121
73
97
113
78
92
146
148
148
105
98
126
93
97
171
164
132
120
101
96
113
74
125
122
126
73
72
120
65
59
107
52
51
54
67
87
148
160
164
109
120
178
117
166
191
128
143
126
128
137
183
175
156
82
61
51
98
34
36
97
44
67
128
133
124
120
84
100
148
138
133
128
61
103
102
95
56
58
48
112
116
57
58
105
104
109
117
126
91
83
62
59
71
121
115
77
95
148
154
163
174
187
129
161
179
117
140
149
35
112
92
140
137
99
113
84
68
61
58
110
116
100
102
93
134
133
110
67
118
112
63
126
194
157
83
155
111
80
78
117
127
190
174
88
46
56
63
65
129
113
40
77
103
98
153
116
71
137
111
61
37
41
27
140
175
73
68
77
72
61
128
123
133
176
174
138
85
49
42
79
169
165
164
165
80
79
153
152
83
78
137
142
97
114
116
114
116
112
96
138
138
88
124
128
128
75
129
82
88
92
93
97
149
150
148
147
152
150
99
97
133
78
80
75
72
124
129
86
90
86
76
126
127
132
140
94
96
148
133
70
70
74
134
136
77
104
125
132
132
75
121
116
71
63
107
117
78
141
145
147
144
134
124
69
69
114
58
113
112
107
109
65
117
118
68
63
56
57
62
115
111
108
110
114
115
112
111
113
108
52
120
68
60
62
72
77
65
59
102
99
70
79
78
96
109
113
113
149
85
68
61
102
86
124
183
167
93
142
136
129
75
128
129
126
72
121
119
64
60
58
57
52
61
80
95
101
113
116
173
176
124
119
119
187
174
119
117
107
85
121
116
4
10
5
10
13
8
10
69
70
106
148
165
162
161
152
136
146
142
93
139
128
71
73
59
56
56
60
122
69
66
106
108
108
103
92
85
52
61
98
53
63
108
120
90
89
101
107
153
158
129
139
178
175
130
121
142
121
160
35
11
134
125
106
109
94
50
23
50
108
175
162
96
81
182
95
81
168
166
81
145
142
137
121
164
172
131
135
140
84
173
198
208
162
101
52
128
125
23
31
95
97
102
130
115
51
47
112
57
44
31
51
131
147
134
113
174
99
91
147
142
147
147
81
90
152
117
104
111
173
175
167
155
163
172
181
102
95
152
110
114
118
125
119
111
111
119
115
143
124
70
72
126
133
142
148
148
94
96
93
82
128
126
129
79
83
87
90
139
131
80
81
83
85
142
147
95
71
60
114
120
130
89
147
147
91
59
63
74
82
135
133
72
56
112
118
107
106
61
116
111
69
62
110
120
74
76
125
114
121
124
118
117
64
109
108
113
120
126
129
76
64
110
70
79
126
66
65
66
117
64
113
110
109
111
60
113
110
57
30
95
68
71
57
55
58
64
114
138
103
97
94
100
91
82
136
121
45
104
93
110
98
98
157
143
90
133
138
101
102
136
121
120
117
115
114
115
64
66
68
63
71
89
118
131
134
127
194
183
120
109
150
79
61
43
35
77
70
63
57
12
4
21
42
62
81
99
165
177
150
152
181
202
203
198
194
182
174
109
104
94
81
73
79
63
56
119
126
119
118
79
123
115
114
115
58
49
61
129
64
102
111
115
69
115
106
110
115
108
154
164
176
148
116
114
171
78
130
198
110
49
105
109
65
101
101
72
71
85
94
127
143
102
107
89
145
141
62
55
129
170
106
153
164
187
147
132
105
136
126
129
185
132
168
111
53
83
90
90
88
92
101
66
127
62
55
81
65
53
43
55
131
152
116
130
141
84
98
102
101
181
178
75
112
150
136
122
135
173
179
172
158
162
155
147
99
97
105
113
111
164
172
166
107
99
103
106
91
127
76
66
66
76
142
151
150
94
93
143
129
70
67
70
74
74
81
138
137
81
80
78
78
136
144
96
92
118
108
106
112
121
78
134
132
128
71
76
84
136
131
131
126
113
111
111
104
104
113
67
67
71
67
116
117
63
57
104
108
113
119
70
71
113
58
76
125
121
66
65
118
122
108
64
66
60
108
63
74
79
78
71
115
110
57
109
107
113
92
91
52
54
54
57
61
69
131
125
128
134
67
55
73
80
85
144
123
95
99
63
60
99
133
111
109
181
153
83
94
107
152
132
117
115
111
57
109
59
62
64
72
80
97
119
131
133
175
174
154
81
63
99
31
20
8
56
1
5
62
6
30
100
121
89
159
178
137
140
197
196
203
205
207
215
166
158
143
136
119
165
157
94
87
139
72
64
124
132
127
124
120
122
122
118
108
45
47
36
61
59
104
60
59
119
123
107
103
108
101
97
161
175
151
114
118
173
60
37
187
196
134
79
90
61
156
204
181
101
66
108
121
105
122
173
91
160
157
53
65
18
99
132
152
140
143
127
143
178
155
99
147
191
184
184
92
76
99
73
77
94
100
51
69
125
117
63
104
106
103
49
80
98
124
120
123
84
96
150
93
84
161
168
130
117
74
127
133
155
168
111
106
104
129
131
99
100
153
105
100
140
139
104
158
162
158
156
110
98
127
120
75
75
76
78
133
135
85
77
132
130
71
118
116
118
122
130
137
139
88
80
121
79
139
93
89
130
114
115
114
60
55
103
51
56
63
119
123
77
130
129
132
125
107
107
114
120
119
113
110
59
49
48
48
51
55
111
114
129
121
126
91
97
134
87
61
66
73
76
72
67
122
124
70
65
59
65
74
128
121
66
62
55
53
56
109
107
109
107
86
25
31
52
70
77
74
89
143
82
88
101
47
63
114
114
71
109
125
77
56
67
115
126
132
150
112
128
174
95
93
118
173
102
79
120
113
57
109
110
112
62
76
84
51
43
39
31
68
59
7
10
59
55
52
63
82
35
48
142
125
134
189
154
212
217
178
229
165
213
152
126
110
40
45
88
133
187
186
147
167
146
139
88
132
73
66
66
86
86
132
118
110
107
112
114
57
93
55
35
57
62
22
33
84
82
93
97
87
84
93
135
106
144
121
90
189
154
142
52
74
171
192
110
103
135
170
181
182
126
83
147
124
174
190
99
111
147
54
29
0
0
33
93
179
177
121
112
143
157
128
118
115
188
131
62
69
93
80
86
95
37
33
96
106
137
110
150
130
52
91
107
128
134
120
107
53
80
75
103
172
168
148
77
142
119
127
142
62
89
151
152
152
147
142
152
151
150
150
100
103
104
97
154
153
157
99
91
100
161
150
125
126
71
125
131
82
83
68
69
118
114
58
58
58
120
124
127
128
127
125
72
120
73
130
131
130
129
80
77
71
118
116
63
61
62
69
72
68
60
112
120
126
124
120
126
121
67
61
53
52
58
59
114
122
75
131
134
84
85
90
92
86
76
79
126
74
72
70
72
127
118
119
121
71
72
69
64
110
53
46
51
59
62
61
62
119
114
110
115
82
75
53
44
57
112
77
129
88
95
97
88
64
79
126
125
128
127
66
64
114
55
62
89
155
157
158
168
126
117
91
142
168
145
73
126
86
118
107
81
154
77
47
16
5
1
55
1
62
80
49
123
167
184
188
195
210
218
215
214
166
173
197
154
131
104
88
50
51
54
101
41
52
60
55
51
86
41
86
225
232
190
171
146
82
66
113
128
86
99
137
129
119
112
109
106
100
94
81
81
42
53
64
75
79
83
93
100
88
69
119
76
134
76
48
128
187
80
100
125
126
91
109
122
150
152
128
104
154
139
175
191
206
104
88
157
123
77
38
9
0
12
12
75
112
144
177
141
182
190
125
90
66
108
99
59
59
78
78
22
17
13
32
72
100
104
86
67
60
77
81
114
132
129
113
108
144
160
97
86
153
148
119
105
132
138
137
81
90
150
97
100
153
149
158
109
101
100
108
111
155
143
154
147
147
93
145
113
125
166
129
130
121
121
135
89
137
126
74
67
115
58
56
107
54
61
71
80
129
70
62
117
123
127
127
124
78
84
81
73
64
65
122
125
127
134
128
116
52
107
120
130
131
123
128
124
125
68
59
55
64
65
68
119
120
121
70
80
133
85
87
83
132
135
81
77
71
67
67
121
111
116
119
120
65
111
55
53
53
55
115
68
68
117
65
120
127
114
124
88
77
112
59
50
56
69
119
93
95
42
99
129
85
67
116
129
130
115
59
58
54
53
63
71
107
169
192
144
173
159
150
78
116
178
148
92
91
138
93
155
117
21
0
12
30
97
129
149
172
191
205
212
210
216
221
226
223
213
152
112
128
117
100
101
91
34
61
74
53
102
50
60
65
64
65
71
66
81
85
161
226
170
138
95
76
107
99
91
97
109
141
131
135
132
64
73
56
90
26
82
96
63
71
96
141
96
105
86
56
60
88
68
148
52
55
137
92
98
92
96
87
126
129
140
140
144
100
117
175
200
131
163
82
156
164
66
70
40
2
0
26
0
68
127
144
119
179
192
202
180
159
157
147
126
99
92
100
123
72
55
46
44
68
83
85
87
76
69
109
44
113
137
151
84
59
144
147
80
79
152
150
132
128
159
164
107
102
73
131
129
82
150
150
110
158
95
90
143
139
132
155
103
149
99
104
164
183
136
169
123
125
147
162
104
86
76
129
76
71
123
123
123
123
122
116
60
61
61
64
121
121
121
69
116
111
67
75
67
60
59
71
136
141
138
80
122
108
103
57
66
123
122
120
135
129
126
68
66
69
80
83
85
126
121
119
67
73
71
122
130
140
132
120
111
117
117
110
51
104
113
110
113
116
115
110
57
60
63
59
109
105
54
62
72
79
82
114
123
120
54
58
75
127
113
41
96
121
56
51
114
104
111
84
141
115
119
119
57
107
64
75
126
71
74
87
109
131
180
154
157
140
109
89
119
112
101
115
129
151
147
155
157
176
236
241
230
237
236
221
204
167
148
77
130
131
73
63
55
70
93
106
93
78
74
91
62
48
24
27
41
103
110
65
70
78
63
136
115
114
116
88
117
172
154
156
99
28
65
125
129
137
144
146
140
74
139
133
72
107
96
106
70
77
132
90
107
113
100
73
52
107
106
86
36
102
101
75
44
75
92
99
68
98
114
116
183
134
132
105
202
156
109
150
80
73
49
28
5
55
59
3
46
129
132
161
109
178
194
190
184
167
158
170
133
109
59
69
22
20
24
43
51
65
83
121
111
89
49
84
91
105
104
129
70
157
93
76
124
129
124
130
97
105
110
108
109
58
72
83
91
144
85
93
140
138
134
127
124
76
93
93
88
139
135
137
157
173
164
83
96
161
155
83
72
73
125
71
73
130
135
138
139
131
133
139
145
72
68
124
132
127
120
114
59
61
63
118
115
65
125
132
130
123
58
56
109
113
66
65
60
56
123
122
117
121
70
66
67
67
123
75
67
117
70
74
71
72
122
123
129
122
109
114
121
124
116
54
54
63
117
118
68
120
116
110
51
47
61
113
115
127
143
99
99
128
52
62
60
52
46
40
105
108
53
122
113
41
116
133
143
145
86
129
118
130
70
71
64
64
74
73
68
87
157
106
88
152
184
172
124
129
132
100
88
138
77
126
134
79
131
77
71
72
80
115
119
127
136
138
72
69
120
127
141
85
44
7
31
24
75
57
50
0
10
40
92
28
30
88
92
109
72
69
129
119
92
138
84
128
107
59
19
87
183
101
64
39
83
97
112
70
79
86
80
129
120
122
125
119
113
64
137
98
98
131
118
122
131
80
63
74
101
49
75
119
95
61
63
137
126
161
110
104
110
112
118
103
153
147
120
152
128
74
97
59
21
0
48
63
78
69
76
147
135
127
172
177
201
220
171
115
63
87
86
168
136
116
59
42
46
42
49
62
105
108
89
43
24
89
125
148
69
106
83
81
133
137
138
135
138
92
90
93
113
131
80
89
94
106
165
150
150
163
93
136
138
85
82
73
81
79
121
110
61
133
157
169
86
66
74
135
129
65
113
105
51
112
125
138
91
144
137
93
99
148
125
122
125
76
66
115
65
62
54
97
99
100
56
60
112
116
69
121
73
78
81
132
132
80
133
79
59
65
76
130
125
118
154
141
74
68
71
73
72
76
79
130
123
116
116
116
129
78
78
75
66
55
40
102
110
118
117
105
97
51
62
99
110
120
117
116
123
76
94
42
57
56
50
53
62
69
68
78
84
45
57
139
135
82
84
83
72
109
106
55
45
36
37
96
48
48
38
39
94
94
94
55
147
185
209
143
126
119
159
98
154
163
95
85
83
122
112
110
122
122
100
54
51
130
89
123
106
28
9
16
11
22
13
74
16
3
57
15
23
80
89
92
92
113
132
67
94
112
106
114
59
128
82
61
55
75
88
38
184
177
99
56
81
28
48
59
71
66
91
138
127
117
110
100
85
92
91
83
115
147
134
142
138
130
54
46
58
66
79
79
57
33
34
139
115
183
140
103
63
149
143
138
150
92
131
124
121
104
120
107
44
43
56
48
67
93
141
197
171
118
203
224
196
176
132
187
152
148
114
174
146
112
197
163
150
131
146
157
183
65
20
93
101
99
139
139
150
136
146
146
133
130
87
85
73
120
136
117
104
92
100
105
165
114
99
150
143
81
83
91
91
89
82
89
88
78
62
52
112
125
135
138
117
54
111
111
54
106
101
47
59
73
136
88
88
147
96
94
139
123
71
126
127
69
70
69
114
107
49
59
60
118
121
122
130
85
80
73
68
121
70
72
76
135
127
110
60
69
129
85
90
140
82
75
76
79
78
76
83
85
84
78
76
132
131
80
81
130
121
114
58
102
99
53
59
112
104
98
103
61
105
111
64
107
98
97
96
74
73
90
42
41
47
109
110
109
102
91
31
95
107
100
45
46
49
46
91
96
55
45
35
34
94
52
56
65
109
101
99
94
45
62
82
133
165
220
158
138
168
156
110
84
82
148
133
117
52
71
89
82
97
66
165
159
162
91
18
3
16
18
33
17
23
19
62
62
67
19
23
21
89
112
128
117
98
91
110
97
100
115
131
75
56
65
119
57
51
76
164
157
79
59
76
95
64
58
70
84
133
129
74
71
65
54
98
28
43
126
136
145
156
153
123
105
106
70
101
89
92
120
55
40
69
82
83
90
106
143
184
94
108
141
145
105
127
132
126
133
92
31
58
27
69
136
158
144
147
139
127
137
143
173
170
184
187
198
141
171
97
97
144
204
174
163
153
147
143
156
101
74
94
107
103
126
121
127
117
117
70
131
88
96
103
110
121
106
80
79
98
109
115
165
99
87
129
133
76
78
135
134
134
126
82
82
128
118
110
108
111
64
140
121
109
129
130
60
111
112
55
56
68
131
137
88
84
87
87
134
122
71
74
129
125
71
118
110
113
57
58
58
114
116
116
124
75
60
54
58
68
67
56
56
117
70
134
139
80
69
63
62
125
122
118
121
78
89
95
87
84
77
71
70
122
118
116
125
123
111
55
63
108
107
102
97
42
88
82
82
32
16
76
90
94
95
45
45
36
88
95
95
93
43
48
108
111
105
44
64
107
84
35
43
58
71
70
57
50
43
39
36
89
100
115
75
77
64
55
113
123
73
65
109
50
170
205
151
146
183
148
99
160
89
99
170
100
79
146
154
141
123
130
107
88
80
69
82
19
20
20
25
25
79
91
101
98
88
77
17
39
98
98
103
105
46
41
21
75
76
94
89
33
53
71
59
69
59
58
43
83
234
147
91
87
85
60
70
75
131
132
80
132
132
77
65
63
46
89
102
112
134
167
144
116
115
57
130
68
87
108
46
91
37
130
127
68
55
133
71
67
75
99
96
105
149
128
145
107
92
58
66
120
83
46
65
120
128
126
115
126
143
152
217
223
209
120
129
177
200
128
187
203
62
107
116
77
101
127
135
123
113
102
96
110
126
116
93
75
93
141
102
127
121
91
78
85
93
96
120
132
146
95
104
101
136
126
65
58
109
112
125
79
58
53
102
110
124
143
109
123
128
116
145
118
45
101
122
115
53
41
51
116
128
81
83
81
125
116
115
129
87
76
120
112
54
55
66
57
48
106
116
121
125
82
80
100
104
57
58
54
52
58
121
69
64
67
122
68
118
116
113
114
117
123
122
118
62
68
68
66
65
65
120
117
120
127
81
81
78
75
115
57
49
42
40
92
92
94
98
35
85
85
77
73
24
26
26
34
90
82
77
27
84
72
71
80
43
30
18
15
28
83
42
108
113
56
56
62
121
122
118
116
117
64
44
45
47
107
62
66
116
112
127
56
57
120
156
132
128
120
165
78
152
69
53
158
118
152
149
134
121
45
52
68
76
142
143
78
68
46
102
92
90
87
85
45
105
94
98
48
52
53
40
30
84
80
71
24
91
36
30
87
11
48
89
107
58
66
66
35
114
187
192
113
39
59
121
126
129
125
121
124
131
78
143
82
119
58
97
88
95
117
139
104
85
170
88
78
73
85
99
157
151
139
185
197
140
104
87
65
57
68
70
88
87
123
110
123
66
53
108
77
90
157
159
145
105
126
186
204
216
220
164
155
142
81
191
199
93
137
87
29
112
143
136
78
53
43
59
99
61
69
71
126
116
122
129
137
150
167
129
130
178
137
121
124
125
119
128
89
90
156
101
130
120
121
121
117
112
67
130
127
120
62
58
57
117
135
152
158
162
148
73
127
142
146
54
47
40
50
116
126
130
123
117
113
113
77
84
89
67
66
117
61
58
120
111
50
108
116
64
67
129
127
111
114
111
53
54
61
66
67
68
122
125
123
114
106
102
63
115
65
71
67
57
49
55
61
116
64
67
73
72
70
68
69
124
120
60
60
47
41
36
89
91
94
102
57
96
97
98
90
34
38
42
112
66
100
77
64
13
69
93
82
20
16
11
69
78
67
63
68
89
57
62
54
59
120
124
117
111
110
53
32
40
52
116
77
137
139
139
138
89
85
92
161
167
163
141
120
96
150
128
130
170
135
135
155
139
65
52
75
145
86
94
142
84
93
145
57
49
99
90
87
107
117
97
106
47
33
78
23
25
33
27
16
82
87
38
38
83
31
27
93
115
75
132
63
53
24
209
174
157
140
47
114
124
78
125
118
65
121
133
137
134
75
71
114
96
82
93
74
100
87
94
106
127
91
95
79
160
157
165
204
170
141
173
157
141
138
145
67
60
62
125
53
111
88
95
42
74
95
105
113
102
101
175
167
182
199
208
157
158
148
72
191
192
98
100
94
41
73
137
147
79
65
3
45
97
101
54
70
132
135
149
144
144
101
111
118
171
120
80
113
105
99
130
78
87
142
122
76
82
123
71
69
61
111
59
50
130
137
129
110
98
95
53
68
126
120
128
93
129
102
49
57
53
61
68
125
132
139
84
132
130
77
73
67
62
68
64
117
74
79
122
66
65
128
138
138
79
71
115
114
66
117
111
62
67
62
49
110
50
53
112
121
126
128
67
57
54
70
68
61
109
62
60
59
63
116
111
111
60
66
113
43
80
80
48
45
53
60
115
116
119
121
121
113
113
111
107
51
52
56
49
99
87
94
107
57
50
50
49
102
56
112
96
79
79
74
73
31
49
61
105
97
45
33
82
46
52
104
77
130
82
89
95
99
156
160
166
157
164
162
99
97
157
152
94
107
84
151
151
145
136
136
139
78
72
105
100
71
99
109
150
157
179
89
63
134
134
114
111
137
159
161
135
121
105
34
23
28
92
28
85
95
36
35
38
35
44
99
97
98
84
33
55
62
116
82
53
182
247
63
89
104
121
77
76
69
59
125
133
94
102
92
120
50
44
103
43
43
64
81
131
124
96
119
89
137
182
185
166
131
123
171
167
156
167
123
113
116
97
105
82
43
49
38
48
76
84
101
126
107
80
186
126
135
200
169
140
152
156
96
122
131
57
0
26
33
105
158
127
90
19
2
27
76
142
119
62
68
49
93
94
40
48
59
48
87
41
16
60
69
76
110
119
136
150
163
104
87
67
70
70
65
62
111
48
105
117
124
123
125
123
69
71
94
97
100
152
127
104
52
53
107
123
128
125
120
119
121
122
72
74
72
68
116
64
120
71
70
65
73
85
86
83
79
130
133
134
76
60
59
113
117
115
59
58
112
109
108
55
56
57
61
116
112
112
64
120
61
56
107
103
49
52
56
110
103
102
102
98
91
37
42
105
114
60
117
67
117
114
112
108
104
100
101
100
45
44
45
47
68
60
86
93
86
88
100
145
138
77
70
65
117
117
93
87
27
20
18
75
85
99
101
99
106
123
75
121
120
79
91
98
98
97
100
156
162
172
170
166
110
110
164
102
96
122
86
140
170
85
140
130
130
84
90
104
84
99
145
137
136
144
99
79
143
129
64
58
104
98
102
59
60
60
41
36
55
74
80
120
124
35
80
107
127
69
72
117
99
87
97
50
58
64
72
139
68
99
156
197
162
73
95
91
41
39
46
64
77
89
93
94
94
136
126
79
67
54
46
42
50
118
130
127
158
166
127
156
164
133
110
142
134
83
102
105
93
86
116
93
128
97
81
126
91
92
65
93
148
71
65
204
140
126
195
202
186
175
159
106
116
101
42
42
49
95
108
131
86
129
74
108
53
98
86
84
90
44
40
103
120
93
87
59
62
68
97
94
72
160
181
113
125
140
149
170
114
95
73
72
72
119
115
111
107
105
111
111
56
62
66
119
123
79
87
89
136
68
56
114
92
140
134
80
75
120
116
115
115
64
67
73
76
77
74
122
64
60
60
76
85
74
125
122
68
71
126
123
115
59
61
118
112
48
48
110
113
118
117
113
108
52
52
108
112
115
109
51
52
106
116
108
49
46
46
48
52
57
51
96
96
101
109
114
107
111
113
112
111
111
108
105
98
102
50
50
53
57
59
65
61
129
133
132
88
101
93
141
84
134
116
103
95
96
93
37
33
27
73
16
45
92
87
91
103
58
58
118
82
98
103
151
148
97
100
163
172
169
170
173
173
169
109
149
60
85
186
161
140
140
129
131
140
144
89
68
132
123
120
132
90
89
83
127
125
73
73
115
99
36
34
53
52
39
82
83
32
28
73
73
51
97
112
71
65
83
81
124
115
123
71
68
74
90
92
76
59
119
229
186
154
78
71
60
97
55
88
93
88
130
133
96
156
151
107
128
119
61
49
99
111
72
80
100
196
147
140
186
164
159
107
162
109
114
111
148
119
165
135
149
147
121
136
111
105
54
110
107
49
69
155
200
131
187
137
128
176
125
97
109
90
33
40
95
117
47
51
77
125
114
112
88
71
67
77
82
91
128
154
152
150
140
125
120
102
20
67
41
76
97
122
126
130
124
128
138
84
126
121
116
110
103
101
111
116
119
111
52
55
55
103
104
65
81
90
140
87
142
146
140
135
123
124
128
126
121
120
127
86
90
82
124
67
59
58
59
68
80
126
112
54
117
125
120
60
59
116
67
63
66
72
120
60
64
126
58
125
129
75
68
111
52
53
111
111
91
39
48
108
112
107
51
52
53
51
106
58
59
61
116
114
111
117
114
113
111
58
60
116
65
115
112
112
53
51
58
63
62
65
76
124
121
75
75
69
130
61
49
107
127
77
78
72
59
47
43
39
86
88
19
11
13
17
21
34
48
57
77
93
95
142
142
91
90
95
99
103
154
147
132
67
66
109
64
146
137
109
117
113
113
133
150
94
90
85
80
123
111
103
52
64
96
94
97
142
123
110
110
62
63
58
114
86
97
136
68
65
59
98
121
119
104
45
46
31
80
85
91
52
62
63
53
56
94
98
170
193
141
211
187
103
80
66
58
58
65
77
86
87
87
90
142
138
154
110
151
132
61
110
70
81
77
73
123
83
106
124
206
210
160
143
116
99
149
147
154
131
143
127
97
120
114
127
134
66
67
67
43
94
146
171
197
201
129
175
189
116
116
131
107
109
62
101
82
43
42
37
94
109
138
143
99
83
87
81
97
120
104
181
166
136
110
69
61
104
85
37
58
75
120
62
115
119
111
116
117
128
124
71
69
61
55
65
75
126
60
48
99
101
104
109
59
123
129
76
76
73
64
124
126
128
134
140
133
122
125
76
76
71
114
61
61
80
87
85
69
52
106
112
76
133
132
122
59
56
112
119
119
67
66
64
66
66
119
125
120
118
116
111
51
97
55
115
118
47
48
55
111
122
113
52
47
46
53
111
109
108
59
69
122
63
108
105
102
98
97
51
61
67
67
68
116
106
51
61
69
69
60
53
123
119
99
87
38
105
101
108
123
80
80
137
124
116
55
47
35
80
56
117
108
53
40
19
17
77
61
78
92
96
151
159
165
111
103
108
164
102
87
140
152
111
85
90
126
124
66
121
124
119
134
93
76
56
55
108
117
113
103
115
91
85
81
56
97
107
57
100
54
73
43
84
78
37
107
116
114
42
93
105
110
116
113
101
87
68
21
44
57
58
52
38
60
39
108
115
62
147
141
167
121
148
137
103
117
120
169
113
157
145
137
145
160
162
115
103
150
94
134
126
73
127
80
90
92
94
95
87
149
119
142
156
138
110
125
144
163
135
83
90
114
121
117
116
64
92
102
87
155
122
98
102
121
135
83
78
119
41
21
28
15
77
113
127
110
94
114
115
100
128
85
14
20
15
3
51
116
99
151
82
105
90
91
87
73
89
59
87
101
69
70
124
119
103
123
148
96
68
56
62
61
58
77
77
69
58
47
42
44
100
105
101
117
140
82
76
78
74
64
113
117
73
121
66
72
75
66
55
50
61
64
63
69
121
115
105
100
110
113
116
114
111
106
102
101
103
50
106
113
115
56
51
111
123
117
104
104
109
109
51
96
104
117
66
37
44
58
119
117
58
56
54
52
115
114
103
112
114
108
53
57
54
52
58
57
101
46
52
59
114
64
63
112
116
70
73
69
63
50
66
67
59
54
103
95
96
46
53
76
72
113
107
61
59
100
88
26
45
69
75
74
63
50
39
78
91
69
90
92
96
112
170
163
155
173
165
103
104
163
115
113
99
138
126
120
123
79
83
133
98
98
72
76
58
120
59
57
112
116
127
82
59
73
117
96
97
110
109
47
38
84
77
23
42
103
89
37
83
87
97
104
108
58
28
74
36
67
39
27
47
48
54
65
45
54
71
115
121
161
127
163
148
156
124
139
206
176
193
215
190
189
139
185
134
122
125
127
159
166
136
81
89
78
94
106
94
104
101
137
80
107
146
139
167
142
117
116
81
93
146
114
126
113
38
40
57
60
51
33
23
68
66
78
92
43
26
15
59
124
64
110
110
156
80
155
145
156
130
102
100
101
45
43
31
55
116
93
86
116
85
78
94
93
19
36
50
72
88
81
73
65
60
58
74
93
132
121
114
59
54
105
107
53
102
96
39
39
44
53
60
68
151
164
162
113
101
72
102
112
60
60
57
52
52
57
57
57
59
63
65
66
48
103
106
55
110
112
108
100
46
96
101
108
111
107
107
53
104
103
47
97
101
108
106
59
114
116
64
62
61
110
108
49
48
59
114
111
103
54
64
65
58
109
107
107
108
105
102
57
71
80
130
80
79
122
114
111
58
57
112
67
116
110
55
109
110
45
49
82
126
59
55
55
70
64
55
50
56
104
98
77
75
121
120
122
61
51
43
39
38
96
109
64
106
26
19
79
57
87
101
105
109
167
139
90
115
178
89
40
54
138
134
111
62
116
76
116
73
68
68
84
63
60
67
63
115
121
128
128
59
78
66
105
112
130
82
130
79
110
99
111
75
83
74
107
71
81
112
45
44
48
47
94
98
92
82
87
34
79
38
41
44
35
57
85
150
110
82
68
70
81
59
85
71
134
150
114
105
71
113
130
98
131
147
154
162
198
203
124
111
111
96
89
87
79
94
100
151
144
143
80
81
139
134
168
142
68
54
85
79
79
33
41
44
51
79
112
95
90
142
82
67
103
37
23
17
16
66
25
46
59
85
122
124
106
63
95
66
23
35
50
67
57
61
107
144
120
167
161
85
77
124
52
35
46
68
79
58
57
58
60
50
42
38
46
104
113
111
104
106
102
98
43
89
32
32
41
56
67
83
151
112
112
104
151
146
135
91
72
115
111
57
62
61
60
57
50
42
47
103
43
51
56
53
102
107
58
116
117
117
114
59
58
62
65
113
107
102
49
50
105
106
46
113
114
107
100
45
46
101
108
62
113
113
113
60
53
57
115
112
46
46
50
53
56
60
116
119
65
48
51
101
97
44
95
97
49
53
109
108
55
55
54
107
108
53
45
105
104
103
106
53
52
51
52
108
111
58
57
45
101
52
57
65
116
70
65
54
42
37
41
49
109
49
41
72
57
12
36
52
105
87
80
113
138
131
59
47
146
141
60
102
99
49
124
127
51
47
54
55
71
55
53
113
114
114
66
113
108
101
61
110
105
116
78
126
117
117
129
148
102
87
76
131
91
88
66
75
88
79
57
109
101
103
110
121
129
126
69
87
85
77
74
63
56
58
83
91
129
153
107
151
89
110
172
175
148
155
175
59
77
184
128
116
78
63
31
55
103
198
208
164
156
136
98
85
124
79
93
45
19
39
50
111
123
154
190
203
165
142
117
54
63
143
102
88
57
119
129
128
130
83
86
44
38
77
63
33
29
42
81
158
132
83
16
1
2
28
30
22
27
78
34
87
119
158
155
74
129
142
99
117
62
55
74
92
61
60
110
112
57
102
44
37
47
112
114
104
101
102
92
91
36
32
30
37
103
114
78
97
113
166
97
84
133
145
94
127
118
109
109
68
64
61
57
50
47
104
109
41
46
48
45
95
105
110
51
56
112
111
57
112
71
65
64
111
52
51
55
110
110
51
106
101
96
96
51
58
119
114
113
118
64
54
95
98
100
104
101
39
49
54
63
63
64
65
66
118
112
99
95
93
40
40
40
42
46
96
93
44
47
47
49
102
49
40
101
102
101
45
89
91
91
44
49
98
95
96
105
102
92
87
38
45
127
119
58
47
89
83
31
42
66
47
85
82
24
18
33
107
90
96
130
148
139
126
124
133
125
61
99
41
105
129
63
40
101
113
52
64
45
61
122
118
62
65
110
106
102
51
109
123
129
116
109
116
121
122
144
115
108
139
78
103
104
82
78
80
126
114
85
94
104
102
144
111
148
98
158
79
65
116
64
97
85
65
111
128
143
85
123
115
86
192
169
81
146
138
81
83
184
71
28
103
65
117
93
95
77
127
176
205
155
152
151
125
80
40
82
48
126
136
141
135
136
99
164
154
128
123
140
100
156
145
71
46
100
94
86
96
59
64
70
61
108
100
65
41
35
125
153
82
55
27
18
14
75
83
24
83
88
39
52
120
148
150
85
80
120
131
167
125
133
91
92
108
110
60
111
103
93
82
98
51
119
71
54
90
94
86
93
100
51
49
49
107
113
95
107
151
153
158
150
84
86
77
129
126
107
104
120
69
65
60
54
52
52
53
66
58
49
46
52
104
42
55
56
58
59
114
114
112
107
59
58
51
47
51
109
110
106
114
113
58
56
57
60
64
117
118
103
46
51
59
99
97
100
45
37
48
50
52
55
58
112
58
107
109
102
100
104
112
60
53
47
98
93
102
109
108
103
56
65
122
62
61
109
109
56
101
43
43
97
48
90
90
42
54
50
94
92
96
93
45
91
94
101
102
95
84
32
25
49
70
123
58
45
86
77
76
156
142
111
48
100
100
90
73
69
49
117
119
86
38
98
95
42
45
41
111
111
114
49
51
122
66
44
42
104
103
98
105
111
105
98
111
100
111
142
150
84
76
115
57
51
49
98
94
92
97
81
91
52
103
71
76
126
91
75
141
151
79
53
71
99
153
152
160
142
80
93
66
43
106
36
94
131
45
143
127
85
96
99
159
102
110
83
111
149
60
102
68
67
122
58
51
70
145
83
142
138
137
138
140
137
133
59
88
163
143
61
116
108
17
47
121
121
123
136
131
54
51
67
63
53
65
78
74
52
73
31
44
93
39
8
55
113
91
37
59
80
124
93
113
161
165
126
82
94
110
79
77
69
67
95
95
43
97
100
47
96
113
131
141
83
68
50
51
110
121
122
60
57
116
70
68
62
114
121
136
97
101
100
140
153
130
62
121
129
128
123
109
98
49
73
74
70
59
111
108
51
45
101
106
57
114
115
113
112
115
115
104
41
38
41
45
107
115
114
109
108
104
53
56
58
56
107
114
113
49
44
99
108
60
57
55
55
108
51
48
41
44
48
101
100
103
115
62
56
104
55
58
59
58
111
112
104
94
43
54
62
60
118
65
64
114
56
50
44
39
44
98
99
96
94
98
47
47
98
94
93
45
60
54
106
106
106
109
115
66
59
85
17
71
81
91
94
90
165
145
61
59
110
132
94
83
89
120
127
115
92
93
53
47
38
39
47
40
94
48
51
44
43
102
45
39
41
94
97
99
97
97
106
117
72
122
118
61
60
64
122
112
111
121
99
44
52
96
113
111
115
76
81
135
148
101
99
104
161
109
113
106
76
153
168
154
89
158
129
121
117
104
96
90
146
157
101
136
125
65
68
66
108
102
108
64
64
156
146
146
142
91
145
81
89
141
120
113
132
131
80
90
167
189
173
130
141
136
97
5
60
77
23
17
100
113
97
85
87
33
90
71
41
59
77
117
120
113
116
105
88
114
61
95
55
88
68
31
34
96
98
82
73
71
85
52
72
97
118
80
79
81
79
87
83
86
96
48
49
53
75
142
146
84
68
54
61
64
122
119
105
48
56
114
63
107
114
72
136
143
93
93
92
148
93
121
159
150
74
113
107
105
62
79
70
58
110
106
49
44
42
99
51
57
112
112
109
109
113
61
50
39
36
43
51
64
69
115
112
106
101
105
58
59
58
108
62
58
50
47
48
108
52
52
107
60
65
52
45
36
41
47
102
104
55
117
112
50
44
51
59
61
108
103
56
54
101
52
60
64
62
68
119
121
120
116
109
51
48
101
101
101
96
91
89
39
43
49
105
56
59
68
59
115
113
109
107
114
73
101
78
64
64
73
82
84
26
102
157
86
78
133
129
89
87
72
119
105
107
105
88
51
44
42
105
59
45
56
43
50
49
50
57
52
56
85
71
110
101
90
81
88
51
126
132
80
78
135
149
109
115
136
129
125
81
127
111
70
69
114
76
89
74
138
149
100
109
112
103
152
100
189
177
143
114
127
161
158
175
116
170
156
126
67
119
101
125
138
112
104
111
111
105
110
112
111
162
161
161
148
150
133
54
58
109
66
133
85
93
105
115
72
139
144
80
119
84
2
0
1
55
61
2
26
69
146
154
146
131
113
87
36
56
65
51
109
104
121
113
80
91
105
46
40
85
80
37
28
83
95
7
8
70
90
50
52
51
53
31
31
35
34
91
87
94
111
104
45
48
51
116
123
123
69
62
65
65
125
128
122
63
59
110
106
112
120
80
85
85
139
141
127
89
119
190
160
119
64
144
137
71
107
108
62
63
106
51
49
51
54
51
47
60
57
55
108
109
109
55
107
54
112
114
112
63
68
118
110
100
102
108
61
62
114
58
57
49
46
46
43
99
48
45
95
96
100
46
42
49
39
32
36
102
60
59
52
50
102
54
56
55
106
107
57
65
70
73
71
118
111
53
107
62
64
116
115
61
56
107
109
102
93
100
98
61
63
67
69
69
64
107
102
108
112
111
109
108
108
119
65
118
111
99
93
90
31
29
130
158
75
92
73
83
71
90
68
64
116
102
59
53
73
75
57
45
44
98
108
52
43
43
51
42
93
57
54
60
127
133
128
76
82
89
91
92
100
166
178
131
184
180
119
71
70
116
125
115
71
95
35
102
80
119
118
135
168
140
133
159
108
153
91
81
145
168
165
141
127
94
109
112
58
144
163
111
89
142
169
201
147
109
77
88
104
108
111
112
121
102
111
113
47
94
90
105
118
151
125
122
131
63
83
18
70
88
107
92
0
0
0
0
0
18
54
118
121
137
147
162
154
122
178
170
115
111
104
168
175
116
133
99
17
67
67
85
34
20
23
16
16
15
15
16
77
99
82
108
90
105
113
107
89
40
46
103
101
94
89
82
89
95
105
120
68
57
114
118
67
59
102
95
40
38
43
58
130
88
83
128
128
137
77
62
116
123
128
129
111
56
51
51
125
67
104
104
52
52
54
55
51
49
54
50
51
61
67
118
115
59
110
114
115
107
103
100
95
87
100
60
64
61
59
112
64
58
49
59
64
61
62
101
54
60
116
63
58
57
38
31
26
30
43
52
55
53
53
55
56
54
105
109
115
60
55
52
51
50
104
105
107
113
64
59
110
118
73
70
114
116
114
118
122
104
103
52
51
47
98
103
123
124
133
138
133
75
72
127
124
122
123
76
132
141
143
133
63
75
141
156
101
62
57
77
72
80
116
135
140
54
56
59
53
49
60
103
86
32
37
42
57
69
58
113
104
54
104
99
101
115
77
83
100
98
140
128
115
41
20
74
76
98
62
66
62
113
108
123
133
139
102
109
116
125
160
153
158
160
110
168
147
151
155
169
172
148
147
177
72
74
124
132
145
81
111
87
138
185
97
59
111
138
165
124
103
101
71
87
100
43
33
29
48
107
143
78
133
137
134
63
96
95
50
71
68
84
59
118
45
27
26
47
128
141
120
101
90
80
54
51
122
117
80
106
60
78
153
157
135
81
88
81
100
84
99
84
17
82
63
23
26
26
21
22
40
68
142
149
154
107
105
91
44
99
98
53
101
43
38
42
45
56
124
75
60
65
66
116
107
100
97
100
103
41
40
101
111
62
119
127
138
70
77
109
38
39
94
61
63
59
48
54
55
50
89
90
41
44
98
52
54
52
48
49
111
116
113
108
116
111
112
62
57
52
46
88
99
47
53
54
51
55
114
106
100
91
55
62
61
62
109
60
114
111
53
54
109
36
34
32
86
91
43
101
107
52
53
53
106
106
109
114
53
53
55
56
105
105
53
115
122
69
112
110
67
77
118
105
105
108
68
65
88
93
33
30
95
114
74
66
134
142
142
127
57
103
108
73
80
86
133
125
130
87
138
116
59
131
87
65
102
78
42
88
141
132
135
75
87
78
129
72
122
66
31
77
94
50
57
65
64
91
84
81
42
111
134
162
177
109
82
70
53
83
74
79
30
27
74
78
46
55
119
119
107
123
60
68
137
138
97
110
162
166
177
175
149
127
136
152
172
188
201
197
111
148
152
101
104
106
122
78
63
160
128
134
126
123
128
151
179
179
141
116
113
97
107
99
113
51
57
82
71
119
61
83
56
47
63
126
119
100
66
42
42
87
105
110
59
76
87
114
136
186
172
141
105
99
109
180
83
73
144
29
38
52
128
148
140
86
92
57
36
47
76
59
75
61
7
12
67
18
31
54
84
155
141
140
146
152
41
45
96
90
98
45
38
40
42
47
50
55
118
112
56
58
108
100
43
46
53
110
94
94
43
43
42
104
119
55
121
83
118
54
61
129
56
110
108
52
56
68
80
54
99
95
98
102
106
110
59
57
57
112
109
105
106
107
109
57
54
53
51
95
88
41
51
45
37
42
49
47
46
55
114
107
111
69
129
119
61
111
102
44
61
101
38
44
44
44
101
102
54
114
110
60
113
110
115
120
118
119
125
84
143
142
134
128
131
123
110
98
45
57
66
125
132
128
63
44
34
32
97
43
49
119
139
97
142
125
125
72
116
100
38
41
62
66
61
108
114
120
75
135
124
78
136
119
58
50
31
45
139
153
142
89
135
140
131
105
46
92
75
110
112
101
85
72
78
88
83
103
167
121
116
151
90
91
88
78
67
104
39
89
89
35
37
95
90
84
90
99
107
111
110
71
127
123
146
89
69
96
139
158
178
125
182
163
65
25
74
87
81
45
131
151
123
95
101
48
54
83
89
142
179
152
101
134
118
115
80
163
160
144
149
99
113
146
107
91
58
76
100
115
119
137
78
108
141
82
110
105
58
91
136
146
139
85
103
68
142
120
193
197
177
146
108
129
71
65
131
28
14
23
30
120
151
171
153
50
28
24
41
53
88
75
15
15
24
15
17
20
16
28
29
87
85
87
88
46
45
93
89
90
90
36
38
39
93
94
40
101
108
112
113
110
105
102
51
52
103
88
94
108
112
59
73
147
184
177
135
115
55
107
109
37
118
146
148
52
94
97
104
52
54
108
108
102
101
101
43
40
96
106
115
73
76
69
109
102
104
56
106
48
57
56
57
49
41
43
97
49
48
43
48
61
115
109
107
108
108
52
101
109
58
63
119
117
62
60
106
59
53
93
95
105
104
103
110
118
100
99
54
109
104
97
94
108
109
130
127
123
70
67
71
78
129
124
60
54
56
47
100
104
107
103
94
96
129
72
121
126
132
78
69
57
63
55
97
95
44
44
46
100
55
57
113
73
119
44
23
105
111
108
150
167
104
169
100
94
140
127
109
83
100
68
70
94
100
114
171
133
70
70
137
150
152
99
101
93
72
53
97
41
37
38
36
40
54
111
114
116
117
121
87
85
87
95
145
170
87
137
154
172
176
179
96
135
146
126
101
45
36
85
43
53
108
119
130
97
110
82
119
160
111
134
138
145
137
155
167
160
158
143
80
97
164
104
131
132
135
159
107
40
2
78
97
103
129
136
33
42
150
200
92
135
186
134
152
91
88
92
153
155
145
128
144
131
135
55
56
50
32
106
122
48
50
115
39
19
14
74
84
28
24
15
35
74
67
67
86
83
89
106
100
162
174
179
46
43
42
42
39
37
37
33
36
94
92
33
91
110
108
109
110
58
112
114
113
111
100
98
105
105
97
99
59
46
96
127
133
119
102
94
112
128
137
124
84
90
101
107
57
60
59
108
100
45
43
42
41
44
53
64
70
66
65
113
107
105
107
108
55
61
109
59
50
46
49
104
111
98
41
61
61
57
108
110
110
108
54
105
107
60
65
63
56
51
50
46
59
47
85
86
43
40
89
44
52
49
93
95
46
44
44
99
117
112
117
62
116
123
74
65
67
117
68
71
63
116
127
121
117
113
52
94
106
86
76
115
111
60
110
100
96
57
56
102
106
57
56
55
48
56
53
107
63
58
41
42
120
53
51
141
163
129
190
158
136
126
110
89
82
91
39
114
130
125
129
125
119
79
92
99
102
155
150
92
93
83
74
127
76
74
75
79
137
92
142
142
147
153
167
126
115
109
111
108
132
144
147
160
168
169
175
166
146
134
127
127
80
84
78
68
125
122
125
119
70
85
68
73
115
196
162
133
130
122
163
148
148
149
96
104
159
108
140
152
144
156
72
64
69
116
144
122
143
113
107
45
106
178
99
102
145
172
166
121
124
128
128
176
163
142
141
137
140
120
34
53
50
41
101
90
37
114
92
28
29
76
79
37
43
40
17
45
92
78
59
72
76
83
88
160
172
135
141
54
45
43
48
46
46
52
48
96
98
97
37
40
104
50
55
113
121
76
130
121
59
52
111
112
61
114
114
113
116
110
59
63
115
108
51
98
104
109
55
47
50
106
99
53
107
102
100
101
45
50
106
53
47
46
101
103
106
114
65
114
109
108
109
56
104
58
55
49
52
53
43
87
47
58
39
31
39
106
55
50
40
94
52
98
111
68
63
110
65
73
70
75
80
125
71
69
117
121
75
74
54
48
108
113
111
112
120
105
107
121
59
103
104
53
114
113
111
65
66
58
112
114
93
77
78
81
83
104
52
59
113
109
106
112
118
67
78
74
113
111
63
59
55
56
121
133
98
158
157
107
80
60
51
117
98
104
135
129
139
153
160
154
91
90
115
108
79
54
116
138
131
136
141
87
80
82
93
99
97
145
137
126
70
114
51
46
46
95
93
98
106
115
120
79
81
74
116
125
51
69
68
100
139
165
179
187
175
156
129
94
149
94
20
52
136
155
168
175
161
97
96
68
91
93
157
104
98
107
110
93
140
145
147
107
128
190
125
106
180
131
112
101
87
94
161
143
30
70
164
133
64
75
98
89
79
132
115
123
107
110
173
135
147
199
186
201
158
209
156
104
56
90
103
175
88
34
86
77
74
10
65
67
20
29
81
11
47
63
56
56
59
63
83
88
147
150
102
102
55
49
98
100
46
48
53
54
113
112
52
48
53
105
56
110
115
62
56
107
109
51
109
115
113
108
58
69
133
144
95
112
109
97
128
51
105
103
97
42
56
58
104
102
97
99
107
58
102
105
55
54
53
53
98
92
47
63
111
109
59
64
63
109
102
105
108
108
61
58
46
38
46
55
59
58
54
55
61
38
40
44
101
100
100
107
121
116
109
113
65
57
113
123
64
66
64
108
64
76
72
117
56
55
64
74
73
119
115
70
59
57
65
123
121
97
55
115
124
52
100
122
137
122
97
78
79
95
107
86
40
98
108
68
121
69
79
80
79
131
129
78
79
81
119
125
147
157
148
138
85
84
98
136
124
89
85
136
109
119
176
127
135
105
70
69
72
33
32
117
121
146
147
123
80
104
108
158
104
91
75
101
58
72
99
42
60
40
32
141
140
125
102
21
54
62
68
54
53
41
55
61
115
82
106
114
168
168
185
166
163
120
101
97
26
91
105
154
175
171
158
103
59
66
148
104
108
128
135
143
144
115
101
151
91
106
94
78
133
118
119
89
73
90
135
111
89
174
116
75
38
60
72
90
72
85
100
87
75
124
164
185
191
212
205
196
209
207
99
113
97
50
106
131
155
114
59
136
89
84
60
16
70
79
38
32
40
40
17
32
63
61
103
107
108
127
139
94
91
57
54
105
107
48
48
103
105
114
117
111
55
107
46
51
106
111
60
57
114
67
62
118
118
59
50
48
109
120
79
81
83
129
76
120
103
51
51
50
100
61
64
62
102
104
56
58
107
102
106
54
51
49
52
53
104
57
61
110
107
57
60
59
105
46
36
111
66
71
60
39
23
93
103
58
70
61
48
43
39
42
102
109
109
104
105
114
110
54
108
110
106
116
128
124
127
71
61
65
75
74
54
49
50
60
120
65
58
121
69
52
55
68
123
118
106
59
60
117
115
115
131
109
109
105
96
40
39
22
32
38
44
108
69
122
119
64
64
118
122
128
77
75
124
132
112
71
80
128
124
125
69
81
77
90
70
77
55
75
135
156
176
124
147
146
71
73
46
50
124
124
137
77
78
105
126
113
149
90
78
75
110
71
72
102
45
38
49
87
70
86
74
31
44
50
68
74
45
40
34
44
43
112
138
104
162
168
169
176
193
184
58
49
124
52
101
109
121
113
144
128
165
129
81
120
109
152
192
153
145
155
130
106
128
134
183
146
141
147
91
154
82
100
97
136
108
129
67
75
79
0
84
65
95
89
70
78
96
150
181
121
152
208
211
188
181
201
149
166
151
70
95
163
138
157
197
102
123
90
17
93
14
26
111
57
36
117
116
44
49
72
76
69
123
130
136
135
79
74
56
58
110
55
47
48
51
57
59
57
104
48
49
45
60
61
116
113
54
109
65
64
114
52
92
82
29
90
99
102
50
33
39
66
81
72
119
113
55
51
50
49
98
54
65
70
114
107
110
107
44
95
95
99
105
58
60
60
57
107
56
58
58
54
101
47
46
45
98
52
54
49
103
106
55
71
64
46
37
55
49
98
100
104
53
55
97
45
42
41
96
98
73
82
72
64
61
60
61
64
64
122
118
66
71
127
122
114
45
53
70
138
151
146
131
124
121
56
41
46
99
96
91
98
99
40
91
102
72
64
60
49
44
51
55
104
137
83
133
131
76
68
110
102
46
58
79
90
134
71
117
64
62
63
115
117
124
128
106
77
60
141
192
190
154
90
87
89
157
148
86
74
96
58
87
108
105
94
78
59
114
114
74
73
70
133
73
82
57
21
90
88
25
27
38
110
76
52
37
33
41
38
91
61
96
108
152
146
133
117
132
54
52
169
166
116
125
88
174
131
104
97
148
146
126
101
176
124
122
205
132
156
147
160
205
188
160
142
99
70
142
84
115
109
130
139
127
72
148
103
116
128
118
103
116
66
51
134
141
107
112
181
113
113
153
179
182
206
170
134
157
157
142
101
132
163
216
104
124
106
19
5
66
79
81
92
76
66
23
30
55
89
94
143
159
166
120
113
109
55
105
99
40
45
48
49
52
45
38
34
37
98
112
48
50
106
100
39
41
48
49
42
40
38
38
93
99
103
133
133
89
94
100
143
125
101
107
68
87
86
120
108
114
64
117
116
64
63
57
61
62
113
108
107
57
62
63
62
64
117
121
70
122
121
78
62
106
92
44
51
44
93
104
61
121
113
53
53
103
104
110
117
117
49
45
44
47
43
40
43
46
115
116
50
34
39
105
106
100
50
52
101
100
107
62
116
112
109
115
102
46
53
109
106
45
46
103
54
125
134
130
113
118
116
106
48
48
44
105
59
114
71
90
98
85
123
74
127
68
110
107
109
62
89
78
77
75
126
75
80
91
90
83
157
135
79
163
145
71
54
65
148
191
195
148
142
187
189
112
86
51
38
49
74
101
108
93
129
73
113
94
70
117
109
135
71
106
114
58
28
88
104
92
37
22
40
101
90
90
57
51
74
69
53
69
101
142
145
105
136
119
85
78
65
171
178
204
128
133
112
78
192
92
100
178
97
86
206
173
137
204
143
173
112
131
189
189
102
138
142
99
90
159
53
87
120
109
98
82
73
96
124
105
120
108
136
126
80
136
147
161
120
148
157
156
211
209
188
154
168
183
155
86
140
238
185
123
124
88
31
80
11
14
92
97
77
32
95
102
109
127
88
146
153
159
109
97
85
58
55
48
42
48
48
44
94
41
42
99
104
107
55
99
103
57
105
96
47
56
59
55
106
54
53
52
51
50
120
62
66
65
71
78
79
121
125
131
86
120
108
105
117
65
120
121
66
109
111
67
66
61
108
109
66
122
118
65
66
67
68
70
123
122
83
65
107
91
97
109
102
88
99
107
68
63
57
57
104
106
111
115
112
99
47
47
49
97
40
45
47
104
107
49
41
47
59
55
98
103
104
51
51
56
113
112
107
54
59
94
41
54
117
119
61
49
50
55
65
119
57
104
101
91
82
86
46
105
59
79
88
85
134
131
123
76
81
87
142
145
151
158
164
142
128
135
97
110
170
122
107
167
177
98
134
154
135
119
144
145
118
113
130
104
191
192
184
137
124
98
64
44
39
52
84
101
137
117
115
111
101
80
108
149
139
132
127
74
48
47
65
125
114
101
84
96
44
52
66
139
101
103
148
162
200
150
76
96
143
131
87
70
70
138
98
123
175
69
133
85
71
151
36
107
166
91
119
177
124
171
191
143
163
169
142
184
139
130
77
141
167
113
131
4
134
123
146
62
23
85
72
120
185
216
136
91
81
149
129
79
91
103
134
148
163
144
150
216
193
188
128
86
95
176
201
140
143
96
67
66
55
60
81
88
74
52
76
37
109
118
122
83
93
141
117
59
52
45
53
51
52
54
43
39
40
92
45
108
121
123
62
52
113
118
62
52
54
67
72
68
53
110
108
50
46
47
102
50
54
62
60
109
60
66
81
115
106
58
97
93
97
111
58
71
123
109
122
108
58
66
65
115
73
77
121
115
114
114
62
114
57
50
44
86
56
70
121
109
98
96
92
86
35
50
49
50
54
49
101
49
100
103
107
105
61
60
104
43
41
47
49
103
57
59
58
109
50
101
109
128
133
82
72
57
108
117
124
58
65
111
111
116
112
96
47
47
45
101
104
52
119
109
50
107
117
72
76
122
122
71
125
119
108
52
105
113
72
76
132
141
137
118
133
90
147
137
139
146
90
96
157
150
88
114
187
123
81
92
94
80
59
46
48
112
50
80
109
111
132
78
132
96
81
51
73
134
137
138
126
131
74
76
142
156
161
171
115
84
63
32
30
113
97
94
123
132
62
122
127
155
192
163
155
57
51
161
1
1
47
67
73
109
168
74
142
150
133
125
101
174
51
93
80
91
121
166
102
100
140
187
177
132
138
84
123
154
120
75
63
70
143
0
154
150
89
70
83
79
146
39
123
172
143
63
89
127
190
84
119
133
134
138
110
83
73
104
152
137
147
120
98
161
70
45
93
119
114
80
13
55
72
25
72
75
60
28
83
86
35
35
90
94
99
114
86
115
135
96
94
92
91
85
33
36
43
98
102
103
48
47
63
109
111
57
55
64
127
71
59
50
98
46
102
49
44
90
37
46
115
116
74
96
116
95
128
114
116
60
57
111
112
126
51
111
125
99
85
51
48
49
106
57
53
106
117
112
105
102
51
54
59
62
110
107
109
106
100
95
94
99
95
44
55
52
51
55
68
63
106
98
98
111
113
60
62
113
109
55
53
40
47
51
55
60
68
118
116
122
125
128
79
126
115
58
59
61
123
125
110
111
66
65
108
54
51
50
56
103
95
98
108
122
129
123
59
52
53
107
106
103
104
61
68
124
83
133
124
70
114
120
91
94
94
133
123
136
158
167
166
181
158
190
168
76
64
79
75
65
59
62
32
0
17
68
70
62
96
100
88
74
84
95
97
98
105
106
147
179
177
158
138
83
92
101
176
174
135
111
148
187
175
168
176
181
105
206
169
184
108
143
165
153
160
135
51
94
63
90
85
94
167
161
95
162
173
110
129
164
73
200
181
55
69
63
98
186
143
125
150
196
179
201
136
113
160
165
146
52
76
47
59
53
79
80
108
123
115
110
19
151
159
107
72
185
196
117
83
163
133
152
152
126
172
135
124
87
148
153
114
40
33
38
120
140
79
68
13
0
77
78
15
20
73
81
32
94
111
78
91
96
147
144
167
119
127
133
94
93
91
88
82
85
37
98
98
97
45
45
100
114
51
106
106
53
60
121
119
59
108
103
102
52
51
47
42
99
54
65
117
124
141
106
89
76
66
66
67
115
113
128
63
42
77
142
89
94
66
55
44
40
46
111
112
115
112
107
103
51
54
56
58
107
110
56
100
42
91
94
110
107
55
64
60
60
63
73
65
102
91
91
113
66
67
115
57
53
51
102
96
96
47
50
57
67
118
115
120
124
126
128
125
116
56
53
116
77
66
51
53
58
56
106
106
101
41
97
106
59
103
108
113
60
51
94
43
38
100
105
55
111
120
123
121
121
109
113
80
130
77
101
143
141
126
120
129
145
150
141
109
100
172
64
65
53
115
98
48
72
129
78
20
41
91
47
58
120
76
54
69
54
60
85
152
153
97
93
130
131
110
85
80
96
114
115
163
156
180
186
181
187
207
182
160
167
101
165
181
160
149
91
97
180
161
127
104
54
59
116
143
157
86
145
157
95
106
126
196
110
143
84
48
112
133
151
166
152
140
88
200
183
186
188
183
156
97
100
105
132
32
49
72
167
111
59
108
100
55
27
87
88
110
135
126
132
125
134
169
143
146
145
126
163
166
128
77
133
145
77
61
38
52
133
145
91
79
23
10
54
45
30
43
94
58
76
126
72
76
82
139
141
140
111
151
88
76
95
101
104
98
38
92
92
48
96
93
44
106
114
102
44
102
106
104
50
106
111
114
119
118
111
49
45
49
54
54
108
118
121
117
115
65
75
131
84
85
81
125
116
97
69
121
153
196
212
221
148
122
81
94
48
40
99
105
107
110
110
57
54
104
104
101
56
45
34
88
100
112
102
99
47
53
51
55
64
72
70
117
59
112
120
119
116
112
59
64
65
112
46
99
103
54
59
64
112
107
111
60
63
120
123
124
70
68
114
70
56
58
62
113
114
115
110
55
112
125
114
48
87
82
80
33
37
36
35
45
45
100
108
113
114
114
116
119
75
79
118
93
27
28
17
14
63
61
0
0
7
59
94
133
95
96
8
0
59
70
80
76
65
18
83
72
56
1
63
57
43
65
84
105
117
97
17
8
57
46
7
0
55
66
22
19
13
17
65
92
72
90
86
158
111
221
114
56
59
35
49
70
134
156
194
122
156
190
165
124
106
125
160
159
83
59
72
105
98
208
195
195
189
194
89
93
137
130
152
158
86
163
204
171
182
195
181
171
94
89
97
114
29
33
20
82
86
52
139
139
81
52
22
13
105
151
113
120
190
88
135
157
138
193
135
160
147
83
101
114
113
128
129
128
174
96
65
108
95
22
30
63
27
19
37
84
54
100
110
72
83
82
121
103
89
74
32
44
52
96
56
115
111
98
95
40
41
97
97
97
102
108
49
99
101
105
110
62
61
108
103
103
99
91
31
28
83
34
95
103
122
118
113
116
122
123
85
92
85
122
64
56
57
99
128
187
163
165
148
103
104
112
108
109
144
165
83
77
65
104
93
89
91
94
56
52
97
97
104
108
56
96
91
39
45
99
56
69
58
108
102
95
94
44
41
43
84
78
30
35
35
87
75
31
37
40
92
85
82
89
94
96
42
42
96
46
46
35
46
51
54
43
37
101
101
122
138
131
83
15
9
67
66
15
19
19
17
72
68
12
77
102
55
87
74
86
75
39
40
59
55
14
0
12
16
28
88
37
69
124
110
22
88
86
76
108
63
106
96
103
125
131
53
106
38
99
99
85
80
98
121
80
13
12
83
49
62
119
116
117
132
132
62
42
32
31
13
16
75
91
79
59
5
0
7
47
0
15
34
67
45
67
136
97
69
113
130
155
175
214
215
195
130
163
167
93
73
185
153
105
183
186
172
48
82
95
127
74
70
131
208
148
114
173
172
165
173
169
120
99
76
43
99
56
103
128
21
101
105
69
95
63
102
103
61
108
203
150
115
108
133
135
138
123
142
133
154
155
94
121
128
41
36
107
77
94
71
52
51
83
90
48
61
75
107
93
94
97
100
48
98
98
99
102
101
52
54
52
43
54
117
119
52
43
36
46
97
96
45
98
100
50
52
108
109
111
117
71
68
113
107
107
48
43
41
39
86
102
89
100
46
103
62
113
117
83
86
73
63
109
106
92
153
186
188
192
145
120
137
117
105
127
161
173
165
68
70
66
57
56
60
107
97
43
85
89
97
101
96
90
43
41
89
90
98
43
37
87
84
39
35
71
83
32
39
85
78
77
33
41
87
78
77
73
17
20
80
86
35
44
91
76
75
85
85
76
29
37
36
27
29
46
62
137
137
131
118
45
41
38
39
96
86
22
26
86
91
97
51
108
93
82
50
118
121
67
100
78
19
20
24
29
54
60
113
115
103
124
149
94
70
80
89
91
133
128
117
115
133
97
86
126
141
130
125
118
70
139
142
15
4
5
58
67
90
61
116
106
120
116
110
61
54
42
43
26
96
88
98
91
76
25
22
12
11
5
41
111
41
32
54
103
103
78
87
136
126
162
200
175
169
152
119
89
106
92
142
106
94
178
137
69
141
163
82
71
123
47
133
117
133
183
110
159
190
126
131
168
76
85
2
31
46
98
123
130
49
63
73
86
87
106
108
89
100
107
106
132
126
139
161
174
179
139
67
112
117
135
102
114
67
28
123
125
49
52
95
44
75
51
25
41
32
95
76
84
101
69
79
78
77
81
138
126
72
80
79
94
104
112
56
42
42
43
39
94
47
49
101
97
88
42
101
110
65
73
132
82
133
73
70
66
65
119
117
113
60
102
98
40
94
101
102
101
54
58
67
76
128
135
193
166
159
169
169
164
169
154
154
158
163
156
143
83
64
122
122
64
60
60
108
102
102
97
42
39
88
82
79
94
50
55
48
99
98
99
44
93
100
108
112
66
111
65
60
103
44
44
44
87
79
88
100
58
68
124
118
58
80
120
113
112
112
111
109
69
68
76
136
89
89
86
57
118
126
126
69
68
119
75
132
126
65
117
118
113
115
112
119
128
81
87
83
117
79
132
122
67
70
78
139
142
153
167
179
107
80
77
141
147
147
156
150
137
134
125
127
84
91
97
159
147
135
88
149
102
94
77
56
49
32
15
64
76
94
114
128
165
169
163
157
148
143
94
113
159
136
155
160
146
88
68
113
116
114
106
108
43
45
34
40
118
88
93
124
109
82
100
99
138
111
129
116
82
114
171
141
171
137
86
77
120
119
57
42
39
97
108
75
70
84
105
115
140
92
102
51
56
77
103
90
41
63
58
27
15
28
44
53
37
99
24
60
101
50
43
179
143
204
206
196
177
143
96
137
118
103
107
103
108
55
27
70
31
103
112
65
57
59
46
49
73
76
97
123
84
96
94
140
89
96
102
85
94
110
110
50
93
34
87
110
54
43
41
47
106
57
108
55
52
109
106
56
67
78
132
124
115
112
58
57
57
109
110
110
57
56
97
100
108
118
74
72
70
67
118
51
111
135
82
139
177
162
159
136
172
169
155
149
146
138
79
120
111
113
110
51
47
98
101
50
46
92
86
29
79
82
32
90
88
36
37
91
92
94
97
99
99
100
99
91
90
91
43
45
47
54
64
123
129
80
126
111
49
56
130
147
61
111
121
73
67
116
119
68
75
141
138
75
62
52
111
122
128
122
59
66
74
56
118
122
71
125
118
51
110
118
130
133
71
55
53
86
88
78
68
75
140
99
106
151
173
130
164
169
124
104
91
134
133
147
144
138
133
55
58
134
156
148
155
180
172
93
77
132
80
70
77
90
85
79
65
90
63
55
11
78
93
102
112
131
100
112
112
170
141
149
190
168
102
103
175
177
157
173
161
123
74
57
73
164
182
125
150
137
96
97
93
86
97
176
156
82
81
95
116
122
102
41
46
107
80
118
101
121
74
51
29
86
65
87
152
151
185
106
126
124
65
131
156
168
113
69
98
52
75
113
108
103
97
112
119
96
85
94
112
104
77
124
78
79
89
151
151
143
93
71
91
137
109
30
106
148
95
173
137
148
128
82
81
78
90
65
72
84
89
134
126
125
73
70
38
35
40
38
45
44
41
38
95
97
42
41
100
56
60
60
58
109
113
56
57
119
128
125
61
52
99
101
104
52
52
55
111
100
62
110
108
58
69
84
56
113
119
127
79
98
180
74
75
147
122
139
134
170
153
99
158
152
77
117
115
106
106
53
51
52
54
110
112
106
101
96
41
39
40
41
45
93
40
47
50
53
56
107
111
58
108
110
96
98
95
48
53
107
113
70
79
78
73
116
110
112
68
73
125
105
118
82
86
128
119
115
75
79
131
124
120
121
72
73
122
66
63
70
67
62
60
119
121
122
123
116
52
62
123
124
66
60
55
115
82
83
73
65
126
139
92
94
146
182
132
141
188
173
170
154
144
92
92
143
138
75
49
113
132
142
148
170
168
145
79
73
130
124
60
80
145
89
131
62
91
70
64
14
3
60
67
75
97
64
69
130
88
116
164
146
75
63
99
100
100
150
149
139
77
116
58
71
100
169
114
102
159
141
89
90
132
152
131
105
145
114
80
54
58
77
75
101
136
152
183
162
127
76
54
88
85
112
116
68
109
152
160
162
156
112
66
138
117
81
103
99
62
82
121
162
92
114
196
88
46
129
79
71
70
135
109
109
95
121
168
137
61
44
97
57
87
112
57
87
166
110
136
149
133
130
101
104
97
148
50
126
75
117
101
96
52
57
56
94
41
46
92
42
33
25
79
99
92
80
86
97
59
66
63
107
96
46
51
113
120
65
55
102
52
57
114
114
106
45
47
55
109
54
117
157
115
86
61
74
134
137
135
134
137
145
156
92
71
118
69
65
104
99
100
163
104
122
105
46
49
48
103
109
63
113
109
53
59
112
112
107
97
32
24
29
36
47
54
51
58
121
112
63
57
113
127
96
86
112
118
121
118
116
118
72
109
111
111
108
56
58
57
106
126
80
80
78
132
134
134
120
69
64
60
64
74
83
121
124
121
56
58
80
96
97
91
78
119
62
56
109
95
103
98
100
70
79
70
78
78
62
45
50
120
143
108
136
156
186
132
178
175
162
169
168
116
145
148
144
69
42
37
59
142
149
152
166
154
138
73
64
105
40
38
25
30
88
101
72
86
76
56
95
86
31
82
38
40
77
74
14
68
61
60
68
74
10
43
60
105
102
97
39
38
58
54
55
125
128
161
172
127
137
143
126
136
89
90
144
154
181
109
114
168
182
152
138
165
195
197
196
213
197
113
113
145
180
123
150
153
160
115
111
177
82
59
139
168
127
104
43
48
136
117
44
46
27
54
69
48
107
151
232
144
134
133
98
158
175
153
82
61
107
55
73
57
131
84
123
161
131
131
143
135
87
121
108
109
85
51
59
62
115
124
135
76
112
81
106
138
152
35
39
98
102
100
94
38
90
101
111
113
112
57
42
42
98
53
108
51
46
101
110
103
104
105
108
60
58
54
119
109
80
119
130
130
146
189
180
173
172
145
86
149
155
95
139
135
133
105
162
127
94
186
170
110
74
158
68
65
114
115
65
116
111
53
61
59
111
115
119
66
60
53
55
54
55
112
115
115
51
46
46
107
119
132
135
134
127
121
68
70
121
123
121
119
117
116
60
54
100
44
116
127
125
118
122
74
121
113
118
102
54
57
50
43
65
125
122
61
86
88
79
54
46
49
109
53
47
98
105
106
108
113
66
68
67
105
84
28
52
82
152
159
110
91
98
115
126
125
173
174
175
113
98
129
91
96
86
69
64
61
67
129
127
116
82
18
11
16
36
56
81
85
85
91
154
108
158
153
151
120
64
65
58
112
64
109
52
53
114
125
129
123
115
40
102
105
38
120
100
96
42
54
52
65
89
141
181
117
142
141
140
116
70
149
134
105
179
119
140
142
148
102
126
136
168
157
148
183
177
137
185
183
163
133
123
129
166
173
175
97
209
188
130
134
139
93
77
19
16
89
109
166
113
92
101
137
121
138
92
75
65
133
139
132
135
113
117
36
30
94
111
28
15
95
90
75
116
72
80
108
84
111
140
161
157
141
86
80
40
80
22
69
43
104
145
176
172
159
89
44
52
53
47
46
47
98
104
110
61
63
60
43
96
100
53
54
102
47
51
59
46
104
112
121
124
116
105
87
102
125
126
149
190
183
128
126
121
170
151
88
91
93
98
80
116
123
152
166
149
134
179
124
81
101
175
72
74
129
130
126
121
64
113
119
111
62
74
82
79
70
62
60
58
65
121
116
57
56
52
51
111
119
129
133
135
129
124
125
75
76
77
72
72
73
125
115
103
102
57
75
82
126
114
118
77
80
134
74
54
58
54
46
43
56
54
121
81
84
126
46
38
30
33
91
90
38
99
97
95
98
108
120
72
67
53
50
105
131
106
157
102
170
157
162
120
124
118
164
112
109
102
144
132
91
94
135
112
45
44
62
65
80
77
71
89
64
85
92
87
69
71
68
74
137
85
126
119
70
63
74
130
122
130
145
95
78
137
133
188
179
155
121
100
101
101
106
140
106
110
82
79
73
87
110
154
155
140
134
144
153
93
97
165
160
152
185
133
97
86
90
99
98
69
91
137
155
184
130
128
130
117
153
127
109
156
102
186
172
131
197
143
101
110
104
67
57
66
76
126
138
133
154
123
102
127
130
139
95
147
140
127
64
113
116
107
122
48
48
63
117
25
71
41
30
22
136
156
131
150
182
145
154
170
154
153
107
93
60
52
52
103
130
99
162
168
150
140
123
122
117
55
46
105
61
60
106
101
104
108
109
52
55
57
57
53
99
99
50
105
61
67
71
122
118
108
99
48
109
72
128
215
200
175
119
115
103
100
110
98
88
119
118
102
102
113
133
147
215
202
119
99
152
103
151
113
118
70
122
119
118
122
127
129
127
73
73
75
73
70
67
69
68
111
56
49
43
50
49
50
108
60
123
130
129
124
122
126
79
81
84
79
75
76
82
136
136
145
157
78
67
60
111
67
123
65
62
52
54
65
61
108
114
124
97
109
163
130
115
132
60
51
52
114
68
70
54
56
109
112
119
123
71
68
72
110
151
111
113
135
99
168
163
174
182
185
133
130
129
132
162
138
71
81
81
69
98
40
30
22
75
112
79
77
131
76
71
122
75
132
115
106
99
39
28
80
105
85
108
116
165
158
173
138
135
117
170
201
190
200
159
191
193
150
159
107
103
117
138
121
103
120
94
127
102
156
147
183
183
121
128
102
84
124
122
187
190
109
100
134
211
200
179
107
107
112
129
76
78
58
80
147
140
128
136
129
108
118
53
108
130
116
79
19
19
68
67
89
175
107
125
162
158
161
112
87
104
133
202
191
156
97
160
156
77
67
29
25
93
61
80
79
56
56
72
82
166
196
203
210
168
130
159
182
109
115
100
91
89
87
130
130
99
120
164
149
144
99
89
77
21
33
90
92
54
49
50
108
112
110
57
55
60
59
53
50
103
53
103
102
106
57
60
58
47
35
39
79
159
174
220
218
209
180
178
120
118
109
104
110
140
159
120
118
116
116
101
140
129
93
145
195
163
162
139
134
76
76
131
132
79
77
74
85
82
79
129
76
74
118
119
115
109
62
69
72
72
72
72
123
67
69
77
132
126
122
124
125
123
120
125
84
90
139
138
88
85
130
124
134
135
124
121
127
131
73
77
67
65
62
67
129
170
162
90
134
134
72
74
71
64
59
55
51
53
101
48
46
94
93
44
51
111
127
111
58
74
137
89
102
117
115
114
114
116
114
156
147
147
147
149
69
49
32
68
60
24
44
61
76
122
107
129
75
67
110
112
120
115
49
53
108
107
63
84
103
114
155
175
134
194
209
153
125
120
132
121
171
179
184
182
179
124
187
93
104
170
132
132
118
81
72
84
96
143
112
133
180
191
105
100
124
141
89
95
181
128
98
97
85
129
129
148
151
136
132
121
62
60
52
81
70
163
139
123
180
144
96
74
104
167
98
26
67
110
127
123
186
99
116
112
149
144
141
123
76
196
202
130
171
173
147
53
36
97
32
20
68
0
7
15
109
62
108
139
143
170
213
153
169
111
127
124
160
146
140
100
92
95
100
138
153
138
160
161
171
94
84
73
23
96
99
97
101
101
105
114
118
60
56
61
65
63
55
49
50
100
96
108
109
62
70
67
51
33
30
99
230
211
145
131
139
172
176
175
122
96
94
109
168
183
179
140
68
123
108
88
142
137
198
233
127
145
134
126
66
117
120
120
61
53
69
76
74
125
71
68
114
115
67
121
124
74
72
68
67
69
71
72
70
77
87
128
123
68
70
125
124
122
131
93
95
134
128
82
84
130
115
65
119
116
120
78
82
73
134
121
63
66
76
142
134
149
73
74
153
93
67
115
108
49
37
26
82
96
40
41
47
108
66
76
78
70
111
67
79
74
76
90
100
103
103
106
165
166
158
148
99
94
86
30
65
65
66
96
52
63
69
67
118
124
120
68
112
106
117
139
157
90
83
65
49
104
73
85
84
167
191
149
151
154
134
147
94
112
106
170
179
175
175
189
137
132
82
95
164
98
126
64
70
97
61
97
58
38
86
182
188
165
91
90
126
140
150
184
175
141
146
140
119
129
152
140
117
92
146
137
80
54
106
54
89
129
103
122
78
118
172
39
110
71
62
92
127
116
98
177
117
129
83
81
123
133
90
107
130
130
124
161
137
75
133
92
102
73
15
26
5
63
69
107
29
67
101
107
179
182
176
167
131
95
137
169
161
150
102
83
87
106
154
175
133
152
166
134
79
78
29
38
109
112
59
55
111
107
47
103
118
65
63
60
57
55
54
52
102
100
108
61
62
53
97
100
57
64
78
137
109
113
83
132
142
173
160
159
172
164
88
142
160
171
112
107
100
138
116
109
160
144
121
79
106
115
110
103
54
115
111
98
40
51
49
49
49
49
57
117
118
65
117
113
55
56
62
66
113
115
62
54
116
60
113
125
82
87
92
90
141
138
76
117
116
68
70
65
110
108
109
110
57
57
57
57
46
58
160
109
91
133
137
116
114
45
43
90
94
154
144
126
114
58
105
104
102
49
54
113
121
127
81
85
75
73
65
58
62
82
160
177
121
152
93
149
106
110
108
87
103
73
45
113
119
119
114
53
52
109
116
128
86
95
139
135
142
102
159
143
88
76
79
96
103
91
76
123
120
187
194
145
143
124
102
110
144
132
181
191
183
163
172
178
113
85
78
93
155
106
118
109
53
49
102
65
82
97
107
124
108
94
108
84
93
109
162
177
118
77
129
156
142
137
138
153
96
68
94
169
171
66
82
60
81
128
103
98
90
119
77
133
121
81
70
58
92
146
134
76
122
165
148
136
131
154
103
196
155
154
185
148
66
109
60
126
80
26
6
0
0
45
59
67
50
54
98
153
190
147
111
73
146
125
149
147
124
166
140
104
112
144
149
138
192
184
105
20
19
27
44
124
118
56
43
54
112
61
68
127
45
48
50
50
98
92
87
87
89
107
59
110
106
105
63
73
66
67
68
119
130
151
124
104
157
157
148
126
125
72
150
149
152
164
126
106
80
76
102
122
102
81
100
113
105
50
106
104
43
91
98
54
43
41
95
97
96
46
49
89
91
97
118
124
125
73
60
58
110
110
107
123
81
82
77
78
130
127
72
121
60
55
102
49
52
54
55
106
110
116
70
74
74
70
67
61
57
152
129
65
126
124
130
131
133
145
70
58
131
134
135
142
140
125
114
102
69
120
121
68
68
123
75
97
146
137
70
62
68
136
94
149
143
91
90
80
54
79
69
87
120
150
135
127
77
121
116
114
119
120
117
120
128
127
78
87
144
147
160
97
74
74
134
62
43
112
139
169
188
193
187
173
148
74
85
68
101
126
147
150
149
149
139
146
97
83
81
117
130
69
73
48
52
72
79
79
92
93
96
106
109
105
90
128
183
119
138
182
97
100
98
162
155
177
183
163
100
92
86
167
142
80
88
80
55
87
54
13
11
150
66
81
99
170
117
91
146
81
147
90
100
115
129
135
124
115
107
106
110
104
100
103
162
106
46
105
99
29
29
2
18
84
79
26
49
128
125
143
108
74
107
167
143
129
114
168
162
146
99
80
122
140
123
178
178
163
20
19
79
96
118
58
47
47
50
59
121
70
59
47
55
109
55
49
92
88
39
95
108
58
110
112
116
71
74
130
83
75
119
120
94
115
109
144
128
126
130
65
104
115
128
108
193
143
131
59
83
94
88
82
98
101
134
60
56
117
123
112
100
99
99
49
41
44
98
97
95
94
85
89
45
119
124
122
118
113
110
55
109
112
66
127
71
59
110
61
109
109
110
49
50
103
52
52
104
104
104
109
62
68
72
123
118
114
64
62
121
100
58
125
110
58
101
72
98
65
113
115
118
70
130
126
115
113
123
130
129
126
72
72
75
80
153
149
86
68
57
62
127
139
160
101
95
70
89
73
22
53
134
155
77
126
136
144
135
132
131
79
124
122
130
138
146
142
133
133
147
156
69
58
65
72
56
51
111
115
127
133
134
134
129
114
47
47
36
100
142
167
165
158
89
72
128
84
57
63
124
142
87
92
71
81
94
84
104
107
120
173
165
113
159
167
177
185
140
133
165
155
96
81
155
152
176
124
157
106
93
85
108
108
93
87
68
60
89
42
22
87
45
34
107
100
166
118
146
195
75
120
154
132
141
134
133
138
136
111
119
130
119
98
82
70
104
86
114
85
12
25
10
13
73
20
26
57
81
116
178
73
135
164
161
137
93
120
160
155
155
147
56
65
153
119
146
111
91
40
94
97
98
96
42
40
45
46
47
100
96
38
47
102
51
50
47
96
43
45
100
110
63
116
66
71
73
124
114
127
78
123
109
73
122
117
82
137
129
46
101
122
147
126
153
204
183
156
147
90
89
87
148
161
155
155
92
68
117
123
113
112
124
124
124
56
59
115
63
60
57
52
106
106
107
111
110
106
111
113
108
57
60
56
126
79
56
105
60
55
111
113
109
112
62
57
100
94
95
97
49
48
51
56
57
107
104
58
72
66
61
62
58
50
67
126
142
138
103
104
93
91
29
76
81
96
122
136
131
132
83
85
138
139
141
134
83
81
70
65
73
145
159
118
132
109
89
90
120
103
109
158
94
73
124
117
107
125
120
118
64
110
111
122
74
66
102
87
81
35
33
85
14
22
43
54
127
132
109
155
185
205
204
186
157
135
156
182
181
178
120
145
118
65
97
157
148
71
69
100
88
96
67
66
99
121
203
182
172
173
160
102
81
56
185
174
183
154
119
91
107
139
106
142
155
116
101
134
83
125
144
179
197
171
103
88
61
151
97
84
69
0
81
145
70
125
154
191
133
59
179
186
102
105
130
140
150
190
122
138
145
112
81
124
66
126
74
38
110
103
43
38
105
55
24
36
46
49
115
120
60
137
166
121
132
115
149
159
154
180
154
116
93
98
101
88
122
119
121
118
110
45
85
81
24
33
31
35
46
103
101
94
101
45
44
48
47
38
32
32
106
113
117
67
117
117
117
124
123
121
118
115
58
55
59
57
107
105
35
114
158
122
117
117
117
95
178
133
136
190
205
180
179
155
66
74
105
182
177
155
141
133
129
122
65
71
128
128
124
69
59
51
92
112
100
77
67
115
122
116
67
75
51
134
102
66
50
105
110
126
122
108
106
54
52
50
50
53
108
110
112
117
123
123
120
63
72
62
63
118
115
117
71
119
143
135
100
103
105
94
83
72
70
87
105
111
112
118
106
47
51
58
67
76
114
137
102
98
137
77
69
115
75
103
131
105
159
143
133
131
121
61
40
79
80
90
113
120
78
79
63
43
54
100
89
40
47
39
82
101
70
97
113
113
115
119
173
175
191
145
142
191
171
148
89
124
147
141
139
97
141
118
44
147
117
58
58
61
95
108
104
59
46
102
133
115
156
187
149
136
95
44
54
140
116
132
189
175
119
114
115
111
179
167
197
197
172
200
138
136
132
114
67
65
48
112
137
54
66
87
7
108
176
38
65
201
181
140
149
157
136
127
140
107
121
187
167
122
143
170
153
126
144
103
87
83
76
126
125
61
72
3
87
87
28
27
20
97
99
137
174
178
111
112
123
115
118
118
171
143
122
83
80
65
103
117
127
105
109
109
47
81
25
24
33
39
48
55
53
44
92
94
91
40
44
43
38
33
33
53
112
65
118
118
65
117
71
69
117
114
59
55
52
53
53
103
103
44
58
138
170
135
100
79
123
164
121
138
205
192
207
130
64
78
90
154
167
172
169
107
90
128
65
75
132
131
126
123
123
115
124
117
133
154
83
69
73
65
110
128
88
103
79
103
121
108
62
64
71
62
108
103
49
52
58
63
64
115
108
107
59
115
118
65
61
114
102
49
55
108
109
62
75
126
113
100
101
105
59
41
84
32
46
114
68
74
68
64
116
71
127
71
65
117
137
99
89
119
99
79
14
84
137
150
146
126
112
110
50
54
61
60
108
60
118
132
143
94
136
126
73
74
83
108
39
38
36
93
127
91
100
98
89
93
106
116
174
183
191
140
182
153
126
118
98
135
149
174
172
138
105
106
141
61
52
59
75
106
115
143
47
48
94
106
157
189
178
150
146
93
88
104
125
125
132
175
176
177
108
111
101
104
159
178
139
132
199
161
133
59
84
63
31
52
110
101
82
95
70
66
142
206
150
85
154
164
208
146
163
120
168
131
89
175
209
122
148
188
148
167
164
117
168
115
194
152
138
122
55
71
63
90
89
92
46
32
51
113
143
172
127
172
113
127
124
124
118
169
145
128
91
89
52
137
150
115
104
121
79
67
31
30
34
44
56
65
115
45
30
28
75
77
82
89
42
44
97
45
58
116
121
120
120
65
118
71
66
106
51
48
46
45
44
51
103
104
61
54
49
92
100
99
100
136
128
147
76
94
137
127
107
102
95
94
137
131
132
131
81
96
112
95
67
122
131
135
132
128
135
131
125
217
216
161
177
141
71
64
82
93
115
65
91
115
56
70
72
65
60
61
106
102
105
113
119
66
63
108
106
55
109
111
58
111
110
104
102
104
51
103
106
50
133
90
123
119
120
64
53
49
47
100
101
50
61
55
52
50
54
108
55
104
88
94
41
32
78
86
101
110
102
71
79
141
142
137
136
92
106
109
83
80
78
74
70
124
115
101
94
33
70
76
25
31
28
13
14
60
99
80
114
106
57
66
66
110
118
80
92
87
69
112
119
126
148
174
184
185
157
66
107
66
71
75
79
89
139
83
146
74
60
89
112
129
133
120
116
107
111
103
99
155
112
121
168
185
197
183
137
126
102
119
128
134
180
178
142
60
136
109
175
177
167
106
55
69
84
151
133
191
113
30
89
153
157
112
86
141
91
108
105
115
195
197
142
117
107
99
184
160
112
143
136
124
124
143
70
56
23
46
104
118
112
69
76
48
117
161
182
180
184
176
176
124
127
122
115
141
128
99
152
107
55
99
157
97
53
56
100
36
42
47
53
55
106
96
33
79
77
80
85
91
95
101
106
105
103
110
117
69
121
120
67
66
121
65
108
106
54
52
51
53
62
116
112
61
60
115
115
47
106
48
54
142
134
165
150
115
89
92
85
84
77
127
76
79
78
73
69
68
90
100
150
138
124
67
121
123
79
68
195
177
179
156
123
122
124
69
74
104
77
156
140
71
65
63
59
66
63
64
115
107
96
90
40
44
50
103
103
102
101
98
97
103
106
110
107
105
105
54
80
111
93
100
118
115
69
117
64
112
105
45
94
96
51
59
116
112
50
42
87
111
127
145
100
144
128
61
53
55
47
44
62
82
144
98
98
102
98
64
47
35
78
73
71
25
36
89
87
47
109
104
105
110
71
96
126
176
152
96
115
182
196
148
137
168
152
88
73
65
111
101
130
84
117
168
148
77
70
152
147
106
97
97
82
120
87
86
77
97
99
81
135
179
149
146
134
127
88
106
131
103
176
190
182
182
176
121
109
96
100
140
181
136
98
44
90
130
197
132
81
105
96
92
57
50
70
162
97
53
115
137
143
163
138
91
136
58
96
167
105
135
202
178
177
123
101
115
117
128
162
158
108
109
99
85
11
39
55
39
55
68
135
128
46
64
104
182
177
177
185
152
110
126
131
126
148
86
112
116
62
38
36
48
101
50
48
45
49
103
50
50
56
108
45
34
31
33
92
96
99
98
102
105
101
97
103
59
65
120
120
67
69
69
118
112
59
60
58
109
112
116
116
116
62
63
123
110
99
111
102
41
122
135
166
152
151
114
64
91
129
79
129
72
69
70
76
129
127
81
99
104
99
88
131
129
129
81
129
128
134
170
146
132
120
71
126
129
106
77
99
143
71
55
52
54
62
112
62
114
106
95
90
93
46
54
105
103
101
100
48
100
103
50
106
62
69
70
69
66
48
90
106
112
97
96
110
109
51
41
32
26
21
22
85
94
92
39
48
114
135
143
153
104
96
138
79
130
52
63
61
69
133
140
92
86
128
112
27
64
58
58
88
107
73
78
121
113
65
69
113
110
114
131
158
123
169
143
95
118
184
144
151
141
163
151
144
140
90
131
52
38
64
119
107
88
94
164
152
143
100
84
154
135
78
114
79
56
89
103
135
137
72
150
180
183
96
155
142
100
147
171
184
195
151
138
186
176
152
88
119
160
113
70
140
109
167
114
61
51
90
170
91
96
93
96
76
122
134
116
104
91
179
113
141
111
73
121
160
104
131
139
155
182
167
140
123
129
125
154
190
148
96
73
78
63
36
107
52
103
66
122
105
125
142
93
166
181
179
184
143
105
118
121
172
151
95
122
122
62
35
41
56
69
83
92
42
42
88
87
53
52
48
40
33
35
54
95
101
109
58
106
97
88
84
95
53
62
119
69
69
119
122
119
70
68
62
59
61
114
114
121
118
58
62
104
108
105
106
111
59
59
117
120
122
126
129
77
73
121
71
128
131
77
72
69
70
73
122
131
71
91
150
151
119
96
76
126
141
107
114
97
86
143
86
78
85
89
121
137
137
101
36
50
54
36
43
103
107
105
51
97
95
100
120
66
55
52
98
44
107
108
59
83
92
80
70
74
62
42
34
41
72
15
76
80
46
51
51
57
56
64
80
96
148
134
129
128
73
122
70
123
122
66
113
54
50
45
17
68
74
96
62
59
101
78
35
65
124
130
124
86
94
97
97
144
128
134
130
128
81
142
155
176
180
102
75
122
147
111
155
160
178
191
178
165
156
150
133
57
74
118
172
115
114
164
141
66
65
118
137
149
136
143
135
101
61
89
67
32
57
120
109
122
127
108
162
117
89
157
176
201
165
157
136
177
179
148
110
79
61
94
136
134
165
89
105
108
101
100
67
140
160
126
90
147
171
70
168
130
105
65
138
155
132
82
112
140
120
150
66
66
110
165
180
135
173
177
157
169
163
138
107
66
64
121
39
53
156
100
113
112
174
135
109
149
190
187
171
141
149
142
129
185
159
168
186
191
164
157
149
120
92
108
117
60
41
87
89
40
39
35
80
75
25
42
106
103
99
45
44
94
90
87
92
101
58
62
64
64
114
116
113
114
113
110
58
61
112
117
111
106
115
110
111
114
64
69
126
74
70
124
124
74
128
128
127
72
68
74
126
126
125
72
71
72
73
77
71
79
130
182
157
107
93
98
98
120
85
94
75
82
126
115
110
109
77
138
147
149
126
125
81
69
57
57
103
97
50
65
68
57
102
106
48
48
60
117
114
112
62
110
80
28
31
33
36
41
54
59
55
118
67
60
108
48
41
50
115
116
130
86
94
139
128
127
73
60
111
117
125
128
73
68
65
62
52
117
135
149
163
113
100
96
100
85
119
123
112
99
131
145
161
119
116
70
114
67
120
79
102
130
144
172
90
83
136
149
162
174
189
153
147
181
118
123
166
92
85
82
110
159
108
130
188
126
124
168
183
178
91
156
144
138
155
96
70
114
73
100
155
113
174
131
142
136
155
153
161
171
184
145
139
178
171
140
185
174
143
139
97
111
160
143
92
88
100
142
104
136
46
107
163
139
154
101
22
60
97
172
109
106
168
181
152
172
152
132
169
96
85
127
126
117
171
185
204
168
193
168
136
109
83
75
61
59
104
153
139
162
129
140
83
132
169
189
183
173
145
137
128
118
137
116
161
161
163
165
157
122
90
97
116
125
118
87
79
80
31
30
27
22
72
77
41
52
99
94
94
45
45
95
41
93
104
59
64
65
115
63
64
114
112
60
61
115
116
54
122
121
64
109
106
65
64
67
73
76
127
68
68
131
131
131
130
127
70
66
72
70
120
68
69
71
122
70
78
66
137
187
221
202
168
106
97
101
97
84
75
67
127
117
111
112
112
131
100
86
93
131
139
146
129
69
53
110
59
56
54
102
100
105
108
55
58
118
67
58
48
80
90
30
40
56
61
112
70
77
76
65
60
59
54
59
50
51
117
123
113
118
74
141
142
77
68
64
65
129
134
139
139
84
79
130
79
74
77
139
152
161
158
95
86
106
99
136
122
51
50
85
147
158
164
108
65
58
71
80
148
118
138
186
141
71
85
155
168
177
134
141
145
143
121
162
172
162
91
94
145
114
101
115
182
127
120
131
140
197
176
111
158
124
76
147
133
60
81
111
123
109
113
163
120
131
167
136
117
156
180
181
184
192
193
191
145
118
124
178
180
100
90
137
79
100
84
117
139
162
128
126
172
147
151
116
129
6
65
98
86
114
161
156
152
143
143
167
157
138
88
102
111
107
111
126
193
199
200
183
116
148
118
91
94
153
130
130
113
95
94
124
146
103
151
118
120
116
115
93
92
88
175
187
178
181
118
158
171
148
99
72
106
71
77
118
83
74
76
25
24
23
23
26
86
100
57
53
100
98
44
41
87
84
102
57
63
66
64
114
111
59
113
114
116
68
122
122
119
108
108
61
70
73
70
64
68
70
69
68
120
118
115
118
123
126
126
124
69
66
66
66
118
67
120
122
71
66
112
77
94
139
133
141
121
121
118
84
98
94
133
121
111
112
71
74
130
145
85
87
112
56
65
119
91
101
145
126
53
43
38
94
104
110
105
100
44
54
118
66
87
137
41
41
52
59
114
52
47
98
51
70
138
100
88
85
91
141
118
96
101
62
115
59
64
82
98
103
160
158
152
146
92
91
144
145
82
79
82
147
152
144
139
88
150
157
82
59
67
97
87
87
134
126
69
113
71
82
98
158
164
117
152
139
135
153
116
115
167
178
135
190
107
97
151
155
151
97
101
158
84
112
194
197
142
145
128
125
172
174
78
126
162
141
147
93
83
132
130
104
141
159
143
167
144
149
133
145
96
123
158
200
198
176
171
123
117
112
155
159
98
142
178
145
179
141
173
88
135
118
117
186
226
191
130
153
73
88
102
131
139
151
133
137
129
105
120
167
82
72
149
153
111
129
181
182
147
164
149
137
95
76
76
121
98
84
27
112
96
89
181
179
132
132
131
119
127
122
88
101
104
173
116
122
195
126
97
96
127
114
115
109
64
56
90
71
72
80
31
30
80
27
30
88
99
106
52
47
38
32
29
31
85
48
53
56
57
55
50
99
97
103
107
110
116
65
62
107
65
115
135
124
77
113
96
48
50
47
49
118
119
56
60
117
119
117
110
50
41
46
104
105
101
48
103
106
112
60
53
68
126
122
123
125
121
118
113
48
62
98
161
142
126
70
72
126
126
79
91
118
106
60
61
58
75
90
99
145
76
50
83
78
85
102
115
63
63
106
85
53
56
60
68
68
64
65
71
82
127
108
144
155
90
83
79
81
70
105
109
130
89
145
143
141
93
92
140
149
144
140
90
95
151
148
144
93
69
59
73
82
134
139
90
95
153
105
114
85
84
162
167
109
145
74
48
57
66
83
89
93
96
124
103
135
153
119
123
119
167
113
162
124
91
173
168
121
134
176
163
99
155
200
144
148
140
141
124
118
154
98
165
146
121
59
63
118
116
143
172
164
173
143
189
155
146
140
127
113
189
187
186
185
116
97
75
119
95
89
172
110
97
167
143
119
184
111
151
128
71
184
181
136
74
118
155
144
102
93
129
142
101
35
89
130
115
139
135
54
100
97
147
107
158
160
132
150
195
169
122
128
102
106
115
110
24
85
117
63
135
165
148
139
193
136
122
131
177
179
197
121
126
125
120
118
171
190
107
99
127
130
111
104
96
88
81
79
78
21
73
76
78
82
86
92
94
40
41
41
35
31
86
41
46
55
112
51
99
102
102
101
104
107
115
106
100
113
160
143
131
140
130
113
48
91
107
31
38
101
122
117
74
56
116
74
64
110
102
90
98
39
85
42
47
104
115
124
113
65
65
60
106
105
117
126
72
71
64
111
121
155
164
155
130
118
114
96
130
96
56
113
118
65
63
60
61
68
144
152
119
89
91
49
42
81
86
41
48
58
121
71
69
66
64
59
53
122
112
111
127
145
144
145
92
98
89
131
134
138
167
131
116
154
146
90
140
143
91
93
95
95
140
137
91
98
100
121
124
92
97
139
130
85
101
88
110
126
90
104
106
105
98
82
66
63
65
113
81
89
75
59
102
113
138
109
169
160
160
114
108
101
130
105
131
184
186
189
185
98
148
202
140
128
124
113
100
105
103
101
177
175
162
72
69
122
133
143
150
88
147
214
162
193
185
80
82
150
115
120
113
164
170
115
110
101
100
82
100
187
113
86
91
129
73
96
144
135
127
130
184
158
103
138
153
149
181
63
48
50
39
37
35
102
80
149
125
97
66
76
84
159
104
127
139
148
155
152
173
195
89
101
116
112
72
95
86
105
113
132
93
111
196
181
193
188
193
121
135
133
166
181
180
157
134
152
108
112
119
140
144
43
96
96
42
89
84
82
28
79
79
81
84
34
78
78
79
82
32
83
82
34
91
46
50
56
58
58
112
114
117
121
120
120
66
146
193
159
119
143
138
114
112
63
66
122
65
65
102
150
91
83
84
165
161
57
37
103
94
90
33
39
49
98
97
105
98
104
106
102
46
48
105
60
103
43
55
48
95
103
99
113
138
156
151
113
57
61
152
118
48
34
42
84
92
88
96
100
101
128
138
110
55
40
32
41
51
59
65
116
68
62
54
50
98
95
90
89
98
116
139
144
149
155
146
128
71
135
147
163
145
94
148
147
144
139
140
85
75
65
63
119
124
80
86
140
92
150
153
140
123
67
78
75
67
132
142
150
107
113
96
72
60
67
93
146
142
141
93
107
115
98
114
117
111
106
117
91
155
151
96
88
105
172
183
196
196
182
99
149
164
121
143
144
119
115
160
108
113
85
79
137
143
133
126
98
112
86
91
181
165
163
211
184
166
110
114
61
92
142
209
132
125
197
190
155
113
146
119
50
139
181
180
111
173
164
140
136
123
144
185
138
116
172
127
134
82
23
33
40
53
55
78
90
78
61
137
84
107
73
124
131
131
105
171
160
120
119
150
84
107
100
103
121
88
90
118
127
97
84
180
197
141
185
154
126
191
103
115
177
171
172
191
132
101
87
141
116
79
69
92
44
101
50
40
86
82
80
34
40
40
36
32
89
79
83
86
89
89
90
38
90
40
36
91
101
52
54
116
126
116
103
60
57
114
137
183
164
159
144
42
102
103
104
99
75
67
73
178
203
121
96
141
130
103
103
110
97
41
95
98
92
85
35
42
63
110
108
108
106
50
44
42
39
45
55
54
112
119
118
110
102
110
138
99
77
77
78
37
49
51
109
102
41
91
73
83
123
139
128
128
72
52
51
59
63
59
105
100
49
42
41
49
111
116
58
105
100
100
110
120
128
81
126
119
64
65
73
141
137
82
80
134
138
84
70
62
120
128
81
131
126
125
129
93
104
107
154
84
71
74
83
75
131
143
138
144
106
111
155
91
89
98
110
157
141
142
147
157
107
93
146
160
94
132
128
73
63
66
84
160
159
110
181
199
197
184
104
148
167
173
174
128
138
136
126
106
138
91
151
151
143
77
134
126
122
109
102
165
138
193
171
152
186
100
73
131
130
81
109
139
176
81
92
90
59
88
94
49
145
124
138
132
144
182
182
93
74
143
121
134
180
161
113
64
52
94
69
38
53
67
69
62
45
40
46
50
60
65
91
92
159
108
120
136
80
93
77
135
103
119
123
80
53
94
103
74
103
111
197
195
139
184
159
182
183
132
122
120
177
123
103
134
66
53
115
105
97
47
95
99
104
103
41
91
91
86
86
86
86
34
34
33
87
41
45
45
48
104
49
44
107
44
41
51
49
53
72
135
151
110
124
116
144
130
109
87
100
84
49
34
80
83
97
28
57
123
161
144
73
92
89
75
70
105
89
89
32
33
32
85
102
110
99
93
46
96
97
101
48
44
44
52
63
111
123
127
112
103
111
60
44
28
66
93
98
91
45
42
28
34
39
96
62
66
122
131
118
108
126
105
111
118
51
91
95
48
92
42
46
48
98
90
80
11
22
39
107
117
109
100
43
45
112
122
66
67
64
68
62
57
112
77
93
98
128
129
132
84
135
133
134
137
128
119
134
96
93
87
92
74
66
128
77
76
138
94
149
88
77
127
84
97
144
131
140
143
139
87
87
155
153
135
124
140
112
109
87
75
129
130
91
118
179
120
173
154
108
175
171
111
120
142
145
142
182
166
95
91
140
132
85
77
135
99
26
157
176
134
114
131
179
170
95
69
129
152
140
132
110
98
170
121
129
99
77
93
110
98
89
98
126
142
131
208
117
78
125
147
195
170
137
104
69
68
126
57
48
56
53
126
120
112
64
40
43
94
102
109
164
180
134
117
131
132
122
88
136
146
144
122
141
147
135
120
78
102
177
192
148
137
174
155
137
186
132
110
114
184
119
72
98
87
11
138
76
39
67
43
99
102
101
94
94
96
97
90
84
86
90
93
30
34
41
46
47
51
108
106
98
116
104
45
54
52
56
77
137
152
123
167
156
80
117
121
137
72
51
104
56
71
109
83
46
114
164
160
150
91
165
99
80
85
65
91
103
94
85
79
81
51
55
85
36
47
94
92
94
44
43
35
39
44
102
137
155
141
81
67
108
53
45
104
125
99
108
65
96
17
28
41
53
95
86
91
107
119
115
105
41
116
127
106
93
56
72
43
93
36
39
38
31
21
84
92
104
62
56
39
25
82
76
85
94
45
112
127
126
78
134
140
96
100
144
122
122
74
81
84
132
74
71
59
43
116
141
144
139
90
74
66
72
69
122
131
132
122
64
60
118
83
93
135
116
74
77
130
139
94
101
140
134
134
153
124
118
145
129
71
63
72
149
158
107
119
99
115
168
166
116
176
191
131
125
175
174
88
137
146
159
147
54
121
112
120
157
107
165
92
121
168
163
154
49
63
175
203
165
141
150
147
95
178
126
83
113
61
44
134
117
151
118
188
174
109
96
188
176
165
161
167
161
120
74
95
131
93
70
28
104
101
88
99
37
31
61
57
168
103
113
178
108
76
203
182
77
97
151
168
156
147
136
81
67
73
149
183
199
143
132
111
91
138
146
177
176
175
168
139
105
103
116
114
59
45
38
85
89
38
39
38
87
86
84
26
77
78
84
93
102
103
42
37
30
26
79
86
94
47
50
99
45
43
44
49
108
83
133
140
150
156
114
157
130
162
108
109
192
198
104
60
39
33
55
146
185
159
91
99
84
81
90
65
96
116
93
87
90
87
33
33
79
27
37
48
106
105
46
41
41
99
96
98
46
85
73
44
42
86
32
44
129
145
121
62
69
132
120
45
70
51
108
113
118
126
128
118
106
43
41
60
136
141
124
103
62
97
51
54
55
60
62
117
102
94
101
62
56
50
120
118
111
98
37
89
105
113
114
120
78
81
77
123
117
67
79
138
126
112
110
60
57
57
73
88
140
131
71
101
46
57
64
119
76
75
67
54
99
55
69
118
110
55
73
91
144
143
101
146
119
115
93
108
104
86
114
85
131
171
146
127
59
59
75
81
100
113
133
187
174
174
143
96
154
156
89
137
144
65
68
111
112
134
141
155
93
111
128
127
182
166
133
89
97
99
159
112
66
36
120
70
96
101
149
123
79
122
157
197
154
187
193
161
101
122
128
174
188
162
175
140
120
40
35
92
80
21
14
74
92
47
96
49
61
71
80
168
100
67
121
136
147
130
126
108
116
104
144
166
154
78
90
97
100
106
129
93
51
114
115
173
205
137
130
128
115
129
115
151
169
99
137
96
70
108
61
45
51
110
63
52
39
31
33
85
89
93
99
102
102
52
102
47
44
44
103
112
67
53
54
52
98
42
46
53
97
126
119
151
131
145
189
147
154
100
126
97
171
92
63
61
53
36
25
92
94
56
55
112
105
52
82
106
124
108
93
86
30
29
84
87
102
45
43
84
24
35
53
101
95
88
98
98
101
113
48
54
53
52
54
104
110
132
122
67
81
100
98
100
119
63
65
68
63
107
115
130
130
130
110
47
90
113
161
156
68
34
32
38
103
114
121
65
120
122
102
110
127
106
104
51
56
60
58
99
90
91
41
40
33
77
76
33
40
108
113
101
93
96
99
43
83
37
106
72
86
93
61
110
62
67
116
69
129
65
63
116
120
69
110
56
119
136
98
95
143
151
135
132
137
145
94
153
154
87
84
106
78
65
123
115
48
46
25
46
34
33
93
119
157
133
164
124
88
77
154
92
69
89
96
52
41
130
133
128
88
85
158
148
80
107
115
186
130
141
143
114
86
72
66
73
70
123
106
80
97
122
136
128
113
133
142
88
143
139
127
178
158
175
158
190
128
72
67
82
35
53
83
132
75
128
127
111
98
48
97
103
31
93
151
171
158
130
136
184
177
169
173
112
86
64
49
67
112
82
96
95
145
174
145
103
103
190
143
59
127
175
190
183
121
159
150
85
80
116
53
110
114
109
38
37
38
42
93
94
96
47
50
53
55
111
62
58
104
54
114
122
56
54
50
42
88
36
40
82
136
110
185
125
146
180
176
159
103
84
120
140
99
87
72
49
39
52
55
95
91
35
101
107
43
54
72
139
68
46
34
35
88
87
89
37
36
88
95
54
62
64
101
106
112
64
99
91
99
46
101
45
41
44
107
119
97
92
80
74
92
161
110
53
55
66
76
68
53
106
120
125
102
87
95
92
96
121
138
76
40
27
40
114
122
112
72
77
119
105
112
119
110
54
53
55
53
47
94
109
108
109
107
46
91
93
100
100
57
64
62
63
67
68
113
93
39
100
111
115
116
113
108
102
100
100
101
108
110
106
106
111
115
110
56
109
111
121
78
77
130
82
124
146
146
139
146
150
134
58
79
64
60
118
50
30
26
43
34
79
66
90
88
116
123
159
121
88
136
155
141
142
67
72
60
52
124
119
130
66
79
171
94
77
119
108
177
135
157
118
145
144
55
64
80
140
166
201
81
52
110
121
127
117
124
125
90
111
167
172
173
156
168
107
150
123
45
45
108
107
48
43
31
71
74
83
81
82
92
37
108
92
98
152
168
145
148
153
177
166
162
159
106
68
38
36
129
94
60
40
115
146
149
102
115
177
173
122
124
99
122
177
189
196
179
121
68
71
53
106
103
41
27
65
74
84
87
90
94
97
49
52
56
53
52
50
99
97
45
47
101
94
48
63
128
79
124
120
103
94
60
72
85
61
103
28
130
129
100
118
105
79
61
90
101
87
67
87
92
89
36
37
93
101
61
105
99
94
74
59
58
103
92
91
95
97
116
75
69
52
90
63
115
110
57
108
108
62
115
124
74
122
117
102
106
128
74
77
82
135
136
164
149
137
122
56
47
46
56
120
116
116
110
96
85
85
89
96
62
86
67
52
95
86
104
58
66
123
120
66
64
58
102
99
53
57
107
115
104
52
104
106
52
50
105
107
100
47
50
53
114
66
62
52
68
63
107
104
103
102
115
136
132
48
50
101
103
94
88
82
82
32
41
45
110
104
103
101
92
88
33
40
92
72
87
54
64
148
110
71
97
80
81
37
61
96
100
89
95
74
56
97
83
83
107
108
108
147
112
104
149
84
78
53
40
47
104
72
69
147
154
89
88
84
165
112
96
107
67
100
139
133
67
120
99
86
115
151
137
151
116
102
120
46
54
85
156
161
179
176
162
144
138
168
143
124
59
58
135
88
59
51
86
77
81
84
30
86
36
83
69
88
139
167
184
151
146
84
129
142
139
99
42
13
16
57
62
60
77
152
157
95
147
140
133
135
101
133
136
125
130
180
169
172
101
45
54
53
53
45
34
77
77
79
81
92
85
86
91
39
42
44
32
37
93
96
102
110
64
118
121
57
50
99
100
103
103
106
70
62
138
137
82
156
129
117
132
103
107
99
45
46
94
111
96
110
116
54
55
95
88
87
88
48
66
104
110
109
120
83
117
95
99
91
86
81
32
46
59
116
61
82
56
74
94
103
71
101
68
68
108
61
61
113
124
78
81
130
133
141
96
146
148
100
96
71
43
40
109
91
99
110
98
83
84
86
36
78
104
81
131
109
97
104
55
127
131
29
44
116
72
58
44
92
40
92
98
39
95
98
46
46
53
64
77
121
47
37
44
49
54
70
121
66
100
110
116
106
120
123
115
123
117
29
20
36
91
94
41
35
29
32
85
91
72
79
92
31
29
33
65
41
87
115
121
77
81
51
58
77
44
49
81
45
16
26
82
108
80
103
130
83
133
84
91
157
99
105
76
97
126
83
69
72
52
107
129
146
136
86
97
103
147
163
166
160
96
84
87
155
174
146
43
34
39
31
78
41
114
92
78
134
116
44
59
121
41
104
78
138
150
112
119
73
148
104
86
83
86
83
125
57
102
93
65
52
67
0
62
103
113
125
136
123
126
88
87
52
92
100
99
45
26
12
14
53
69
69
137
69
44
91
125
173
134
140
192
194
172
122
121
90
102
59
37
33
33
46
43
36
31
31
32
31
90
84
87
43
46
50
45
44
47
46
44
97
105
112
115
108
99
47
55
113
112
107
49
108
129
129
105
48
70
108
152
124
104
52
47
104
49
46
53
122
86
87
82
61
104
46
40
83
83
89
113
103
88
107
93
146
117
100
87
83
31
93
57
67
120
64
56
120
61
74
130
118
116
69
61
53
108
66
84
74
77
128
125
130
137
142
127
128
85
100
97
77
104
92
54
59
99
83
89
98
39
42
40
92
117
79
126
119
53
116
125
59
45
113
115
58
47
40
95
49
54
114
101
105
108
108
108
61
72
73
62
44
46
68
130
78
84
111
124
116
63
118
118
129
130
112
105
121
109
49
51
58
102
38
29
86
113
118
113
49
92
85
31
42
44
59
119
59
54
50
106
48
9
37
20
2
3
26
49
36
31
48
78
111
121
138
89
141
158
126
112
77
78
82
59
118
62
72
138
106
171
152
144
131
130
156
155
137
182
175
129
116
96
111
167
130
143
121
92
74
10
60
74
96
76
62
114
121
55
48
20
21
39
118
134
138
130
77
81
148
140
57
49
59
69
79
140
138
119
40
19
11
0
25
72
91
149
153
147
112
134
119
93
71
116
110
43
22
22
49
92
100
102
114
103
51
67
150
190
199
190
191
192
171
173
120
94
105
115
52
54
32
30
38
45
47
47
38
79
88
90
45
48
46
48
43
43
43
40
35
88
95
102
105
110
119
68
115
111
60
63
101
125
122
83
104
89
83
64
109
112
76
73
119
125
118
113
52
45
100
77
88
87
64
42
36
93
103
103
78
20
59
67
54
83
134
124
115
100
43
94
96
44
42
60
70
65
117
100
76
62
49
113
64
61
121
69
53
59
115
119
120
120
121
122
90
126
56
57
81
104
104
142
96
78
86
99
49
43
39
36
45
93
99
112
123
132
73
107
98
52
56
110
115
61
61
60
109
102
95
92
108
108
107
105
105
111
122
135
75
66
117
123
75
81
140
111
119
173
131
104
105
84
82
107
72
67
124
126
121
46
48
53
110
116
61
51
97
73
121
44
38
37
55
55
81
89
106
114
56
72
152
56
28
38
47
54
78
79
69
48
88
105
30
55
102
76
84
74
120
115
94
88
108
106
71
109
162
161
127
192
123
108
113
117
145
145
84
90
24
46
102
154
127
138
131
128
125
125
72
69
117
129
126
125
82
94
112
105
97
30
20
43
79
148
109
99
83
124
111
43
38
41
84
74
136
136
115
67
82
76
68
51
58
135
144
101
124
136
116
58
57
103
109
120
161
100
101
153
123
72
78
88
104
110
140
153
121
138
190
194
186
112
156
107
118
139
117
51
72
90
138
136
70
50
40
88
79
88
97
56
55
49
56
66
46
49
51
48
98
96
94
40
47
96
102
111
111
49
38
116
102
56
56
60
117
147
217
188
172
169
135
119
107
122
116
123
86
130
105
67
71
83
89
70
91
79
82
34
82
75
20
79
48
70
134
115
111
105
44
37
92
99
44
39
29
98
63
155
113
65
48
56
79
125
46
57
116
123
132
83
130
123
128
75
80
75
59
101
53
63
121
152
134
101
37
44
47
97
43
85
90
91
80
88
64
140
142
68
38
49
49
93
87
45
52
50
45
96
99
95
97
99
103
108
116
73
114
54
61
129
135
79
64
98
48
64
109
156
143
165
143
127
92
150
110
103
56
62
134
135
128
111
44
50
57
87
35
37
56
84
95
101
85
139
89
70
111
115
61
124
79
78
93
78
70
97
99
84
142
142
105
98
71
14
15
70
81
90
132
114
116
137
107
119
112
104
127
121
107
101
101
102
130
142
118
118
114
115
54
41
99
111
105
125
117
136
126
53
51
114
119
109
112
111
104
108
113
127
111
59
62
53
60
52
56
44
37
100
60
60
53
45
84
109
149
94
67
51
98
80
14
85
74
84
70
119
42
34
68
153
157
98
101
93
85
67
52
160
182
122
126
94
92
130
112
125
135
174
186
124
114
150
143
111
116
126
152
77
83
104
122
84
138
129
108
33
92
99
108
56
54
114
109
47
52
52
50
99
98
97
43
97
95
98
51
104
49
43
54
41
63
117
104
57
106
127
112
165
174
159
150
139
108
109
116
125
124
125
85
56
73
87
129
106
43
40
81
26
28
30
83
95
66
84
76
123
118
54
41
35
88
97
34
93
90
121
141
103
42
58
140
93
63
102
115
131
129
128
131
76
71
73
74
69
60
46
40
46
112
74
110
110
131
110
52
100
99
94
88
89
96
40
44
59
67
138
128
49
53
104
49
54
107
52
48
50
103
90
91
96
102
106
108
107
54
58
109
123
80
70
58
99
34
46
52
94
94
71
93
129
133
142
156
94
74
117
67
77
138
143
82
70
118
67
50
48
54
117
132
97
78
66
102
95
121
75
110
119
132
108
50
56
46
67
123
137
184
176
158
132
132
78
40
54
44
50
70
146
105
133
70
75
72
78
135
127
83
103
108
46
33
114
125
106
42
38
110
113
37
40
106
94
122
114
119
48
86
91
98
100
98
45
68
114
98
93
94
103
99
36
30
27
31
35
40
43
44
39
30
35
102
95
50
64
113
94
30
88
91
19
32
59
65
103
88
25
33
72
95
140
122
120
69
74
82
88
115
165
147
93
65
95
113
98
111
194
178
182
113
114
160
157
179
171
123
123
131
78
101
92
88
95
143
139
115
103
110
119
124
66
105
92
55
45
95
104
110
54
102
101
94
91
94
45
48
54
114
105
116
73
60
110
60
56
92
177
172
136
50
49
66
125
134
154
172
169
143
96
69
84
66
62
76
76
120
110
52
42
34
34
88
88
33
58
71
115
116
116
56
104
116
122
110
107
112
48
126
183
169
146
133
138
137
121
117
69
106
43
56
64
109
62
47
45
58
61
61
68
76
67
80
157
170
100
119
97
97
91
97
103
103
53
59
91
79
108
141
52
56
63
63
49
42
59
82
136
71
115
109
113
121
64
101
42
75
120
57
51
56
61
53
39
36
12
69
122
71
76
66
57
69
88
112
56
96
87
39
64
96
89
58
72
65
42
43
29
24
36
32
58
41
30
87
33
73
80
83
62
54
18
39
38
48
51
28
76
68
114
109
93
70
73
102
109
73
97
79
117
45
121
141
84
103
112
121
161
124
135
99
99
98
111
109
84
55
43
84
87
84
116
151
119
84
64
49
46
109
164
157
85
40
34
7
73
102
76
144
124
60
76
44
66
51
57
111
128
66
36
35
38
99
81
32
92
34
35
87
80
82
45
46
45
49
47
51
74
58
60
74
139
153
108
101
111
168
174
126
93
21
64
129
122
132
143
139
123
182
184
113
84
125
127
72
101
146
132
76
84
96
108
105
109
117
114
98
100
102
47
46
109
156
73
75
133
140
137
129
126
129
135
133
132
132
84
94
157
143
144
166
158
141
97
125
164
166
102
96
154
97
104
97
132
154
167
138
102
95
120
124
136
117
59
72
125
141
81
68
56
46
38
85
31
28
54
74
104
97
111
108
98
94
92
133
126
90
46
39
42
93
92
94
43
34
83
34
94
58
66
61
147
118
50
45
52
55
59
69
76
60
43
42
72
157
155
132
108
102
91
102
111
108
98
90
93
31
45
88
60
48
52
72
74
57
100
49
49
103
102
99
52
71
84
69
36
24
24
37
90
78
25
88
40
95
138
136
86
81
81
81
87
99
129
130
120
111
73
48
73
91
81
82
66
23
11
18
44
105
88
48
58
36
83
43
103
115
140
160
127
95
28
35
34
28
36
66
117
104
84
106
60
83
145
73
60
47
78
63
74
89
161
202
189
84
90
139
138
144
99
110
115
100
89
59
43
72
80
99
121
149
102
100
72
50
88
109
69
50
56
48
43
29
60
88
75
62
104
64
62
39
66
50
38
42
85
93
91
33
41
37
110
106
110
108
40
45
51
20
66
15
10
14
32
97
51
40
73
91
114
126
170
175
109
118
125
114
126
110
77
130
131
136
152
172
129
107
103
148
92
142
139
90
98
146
179
215
153
88
91
96
98
109
109
98
39
44
103
105
48
46
114
40
46
109
122
76
127
127
130
135
141
144
148
155
165
174
106
93
127
120
120
129
124
108
99
87
94
110
106
112
113
102
166
170
147
104
105
103
124
96
73
80
142
106
90
85
78
70
59
48
92
38
48
57
123
133
108
35
47
102
96
46
123
105
65
74
83
32
30
27
29
36
32
105
115
113
99
38
42
105
105
37
33
38
41
47
110
64
51
34
20
32
116
139
94
143
120
100
104
105
51
104
103
107
43
42
88
76
61
105
109
52
97
101
103
44
49
83
28
50
66
55
31
30
31
40
105
109
107
114
125
128
109
129
128
84
72
78
72
74
82
111
116
108
99
93
78
66
33
118
105
101
47
45
56
65
112
106
103
92
34
51
109
98
120
141
120
92
108
61
35
32
47
42
56
116
110
40
21
62
76
77
50
51
89
35
109
113
113
113
168
154
138
157
148
137
102
98
87
149
151
138
50
76
93
148
172
161
81
120
112
102
110
160
108
84
132
59
62
89
40
17
106
42
55
106
128
78
53
65
39
80
89
83
90
91
34
40
54
53
89
97
42
20
32
109
40
47
102
37
18
12
14
26
9
65
81
104
123
167
157
162
182
119
125
125
156
146
81
87
105
172
182
144
132
99
106
97
84
71
84
117
142
93
100
89
61
116
120
115
50
104
99
36
34
35
92
43
42
94
44
44
43
46
46
95
89
84
100
105
56
56
106
100
40
41
100
127
50
102
141
98
72
110
97
94
42
48
56
34
101
96
95
108
38
106
131
117
131
112
97
93
110
126
84
103
116
113
96
82
131
150
111
109
92
91
100
96
124
79
98
142
114
82
89
69
71
125
78
78
63
55
51
87
89
103
108
62
154
87
76
72
72
68
118
118
114
54
52
56
106
97
45
52
90
110
114
99
62
61
41
31
27
36
27
30
68
75
119
93
22
25
81
72
92
105
126
134
114
38
33
90
44
58
61
50
100
112
113
52
89
74
35
69
103
68
22
32
79
24
30
83
79
73
71
69
83
82
69
120
119
47
2
6
34
67
45
65
99
38
22
64
58
0
7
80
66
58
13
27
16
2
8
57
6
95
44
32
19
60
31
61
120
90
144
83
34
52
86
146
158
174
132
120
147
69
60
72
131
135
147
156
80
133
172
149
87
135
113
121
54
79
150
69
114
123
19
44
144
101
85
3
44
110
119
61
54
107
81
33
34
48
102
110
47
27
28
76
116
67
69
85
91
80
104
89
34
84
87
85
35
45
75
60
54
89
35
47
104
113
115
141
100
161
155
116
101
96
148
149
94
143
157
163
120
92
75
95
148
141
107
121
104
81
97
49
45
47
46
46
100
96
54
53
102
98
40
39
110
108
113
113
53
43
40
95
99
96
94
40
42
92
82
15
22
41
33
67
100
73
22
43
93
95
95
100
104
47
50
92
42
46
91
36
76
92
71
85
137
131
149
172
115
53
44
40
39
48
72
100
100
80
35
55
83
139
93
102
96
99
161
168
147
143
125
132
142
143
85
91
101
125
132
91
88
127
79
129
134
130
82
87
81
126
117
105
72
69
51
43
49
50
42
77
98
176
152
100
85
50
43
39
25
27
26
26
104
87
124
52
104
124
134
111
87
75
71
77
25
19
20
37
26
71
73
74
71
66
14
18
16
21
62
52
8
19
17
66
11
15
20
77
79
91
91
36
45
55
51
140
183
79
72
82
114
114
117
74
98
142
120
127
86
88
149
131
143
105
135
119
58
38
53
127
105
113
125
81
29
94
43
45
137
99
63
97
93
94
81
77
135
119
62
78
59
68
65
44
70
158
122
138
155
120
120
149
88
98
88
149
149
71
62
129
49
90
35
84
78
33
31
50
116
99
90
44
43
30
36
37
44
96
109
101
42
129
150
134
52
106
48
16
69
86
32
67
63
78
84
85
93
97
51
106
128
135
127
125
138
131
125
93
89
103
73
94
153
95
103
117
144
119
101
126
145
60
83
142
131
94
102
156
159
99
35
41
50
55
40
96
55
59
52
98
98
101
103
59
112
109
105
49
47
46
95
95
88
31
32
87
82
25
31
97
96
41
40
39
90
89
87
104
102
94
91
86
99
47
96
105
53
31
46
77
127
153
171
174
165
146
129
103
99
103
44
87
51
66
57
71
48
55
83
72
115
142
119
66
72
108
169
110
153
155
141
141
141
136
106
142
131
88
93
140
137
88
137
126
141
96
138
127
123
121
115
107
43
100
114
59
42
33
32
92
139
159
153
125
47
44
24
21
76
15
21
72
106
139
96
150
151
114
45
61
88
86
108
66
57
46
50
35
22
70
30
55
63
52
89
83
107
74
56
35
41
103
97
47
60
68
73
71
152
135
143
71
66
65
78
127
114
118
56
121
137
71
130
132
67
62
129
84
79
130
118
138
59
113
126
37
49
167
165
171
170
169
91
46
82
89
201
65
92
137
133
91
80
64
69
80
68
154
72
59
54
49
57
92
108
136
158
93
117
117
77
92
113
174
133
89
77
85
135
95
108
30
42
24
20
69
20
66
78
84
81
32
46
43
26
95
108
109
110
113
104
104
42
35
101
92
15
75
92
84
70
20
80
90
105
120
113
112
139
149
159
134
162
172
176
151
78
72
75
154
168
98
94
121
102
45
124
145
112
57
102
133
71
124
78
100
149
145
150
48
47
46
43
83
84
37
36
89
94
50
104
98
88
45
94
42
47
54
110
108
105
48
47
100
101
40
29
29
88
88
86
84
29
25
24
91
61
109
183
79
33
76
60
108
113
74
88
60
22
17
26
81
82
88
89
84
86
81
59
70
44
53
76
62
92
20
26
25
14
60
62
49
58
64
59
69
92
112
133
131
140
144
135
75
58
96
31
29
94
99
93
115
128
135
139
140
143
96
146
139
136
92
140
76
112
59
70
41
41
91
119
155
101
70
49
44
50
56
42
44
45
112
135
146
82
72
74
66
118
110
116
130
134
127
76
93
86
140
149
110
117
99
69
102
106
127
91
81
69
123
114
102
60
78
67
126
143
137
139
125
131
70
23
37
92
128
112
108
105
97
142
117
133
96
111
177
170
97
134
129
126
137
80
92
82
123
140
108
135
122
117
109
94
129
86
63
96
167
156
122
96
72
73
138
136
138
133
56
66
57
59
82
84
73
147
122
103
41
44
126
157
163
149
62
107
69
121
101
85
83
29
47
87
50
40
23
26
96
114
66
56
41
44
50
40
80
74
76
82
37
48
61
129
105
11
18
44
38
71
76
71
68
102
133
75
43
61
122
140
165
136
129
148
157
155
164
145
123
105
61
56
116
97
94
62
38
79
85
136
95
40
46
86
141
165
185
182
171
37
38
40
40
92
89
87
96
91
90
39
40
92
49
50
47
44
47
100
99
94
37
30
83
85
93
92
87
35
27
30
90
92
40
38
91
88
126
171
83
69
72
97
148
120
51
48
38
33
41
82
80
70
70
82
89
85
32
77
24
45
110
82
2
8
76
13
18
5
8
71
63
64
64
66
77
79
23
71
71
68
70
74
28
54
112
141
103
160
145
72
110
36
22
26
82
86
94
109
74
84
142
130
80
88
81
63
54
50
42
103
95
103
123
75
47
47
43
36
30
40
53
122
34
33
60
123
128
103
39
98
46
101
109
114
75
65
71
87
99
158
165
114
108
86
144
150
99
94
138
128
129
131
131
75
89
145
82
78
119
124
155
71
69
110
106
105
70
104
124
80
116
126
145
170
177
167
156
104
159
136
90
93
45
23
99
90
107
125
159
162
103
142
134
50
72
87
123
95
152
100
92
159
95
136
141
125
137
133
60
59
69
70
77
94
74
46
52
114
105
124
96
138
86
80
125
112
118
121
105
97
77
27
81
87
29
38
44
41
90
90
41
55
114
105
44
40
46
55
116
126
95
77
154
135
38
41
94
82
80
91
81
19
101
126
113
101
121
83
89
144
137
147
146
142
159
182
146
136
90
102
137
151
76
96
76
92
72
125
92
32
30
70
95
116
148
154
154
157
94
98
100
47
44
40
36
32
31
33
89
89
87
40
37
36
35
35
35
34
32
31
84
81
26
83
85
83
83
87
36
38
38
36
34
33
41
129
113
79
74
105
77
37
38
40
93
45
50
32
83
94
95
86
79
72
16
14
63
98
107
70
64
30
71
18
31
40
30
28
29
18
23
27
30
83
85
37
42
102
98
94
95
44
94
96
100
124
137
129
124
81
77
75
70
57
96
86
85
93
49
40
37
96
58
63
64
70
54
43
121
106
98
104
101
48
102
96
87
41
105
70
44
81
22
21
29
112
124
52
112
106
105
114
65
70
112
107
62
132
145
152
91
74
74
88
146
144
97
95
82
141
127
126
140
87
143
144
81
118
122
75
45
63
107
85
134
135
92
68
146
124
126
148
182
193
176
162
165
168
127
82
65
29
46
127
113
117
119
121
126
123
121
125
146
97
89
114
120
123
143
149
107
81
122
140
118
119
111
113
122
66
62
91
157
55
43
55
114
103
65
82
122
137
87
79
59
115
70
104
51
29
27
82
84
29
101
38
89
86
35
46
114
108
52
101
46
48
56
121
136
89
124
157
87
45
92
87
95
79
79
73
22
44
121
128
105
73
70
66
112
117
134
126
135
158
172
186
189
172
170
109
77
79
103
113
78
54
47
8
21
81
74
109
116
97
153
141
127
89
95
95
37
36
39
39
50
48
47
99
98
47
60
57
60
61
59
55
54
58
64
115
102
36
90
97
99
102
102
100
43
92
89
35
35
30
33
51
107
112
144
104
49
87
38
49
94
78
31
69
75
22
74
81
81
21
92
57
95
46
42
44
50
95
111
105
91
87
37
42
48
47
41
35
37
41
44
96
38
38
92
55
71
121
124
107
96
88
90
93
41
47
75
74
78
89
100
155
153
150
85
83
134
81
69
59
60
59
82
102
109
104
122
116
130
135
124
109
99
92
46
50
41
39
100
49
37
111
143
91
70
112
129
133
124
118
58
59
115
115
120
73
71
120
88
87
81
90
93
76
58
129
142
136
100
156
140
61
137
134
39
54
50
127
69
114
93
109
87
154
92
133
142
169
182
162
148
94
91
134
85
46
67
103
77
98
155
169
166
152
130
126
146
133
53
145
128
106
103
121
111
106
106
160
143
112
128
94
42
42
62
85
71
55
52
106
102
38
91
62
78
124
125
130
65
81
81
62
60
46
102
103
25
84
71
72
38
102
49
41
50
121
103
33
94
40
31
38
66
144
153
136
95
61
105
120
33
32
31
23
31
46
79
71
48
84
117
66
58
72
93
144
151
142
159
166
163
190
193
180
194
160
144
108
107
118
77
37
39
83
81
95
97
77
128
184
122
110
89
91
98
53
102
98
45
49
47
96
97
101
53
52
104
48
45
49
54
58
63
69
117
57
98
88
86
90
44
105
107
96
92
94
44
95
110
108
46
32
90
96
42
61
94
73
65
68
27
29
72
98
102
114
82
40
105
98
49
44
33
36
103
54
41
26
29
31
40
48
49
44
32
87
91
43
42
39
88
43
43
46
103
107
47
41
37
90
91
91
43
47
42
33
88
46
57
60
53
99
97
63
75
85
91
99
109
117
122
114
121
184
188
186
185
174
169
110
156
132
63
55
53
51
45
38
87
41
100
124
73
67
85
84
103
85
45
59
69
128
131
127
72
77
65
122
71
70
70
79
88
119
129
135
124
136
87
72
126
155
62
72
61
62
64
78
84
80
49
52
71
144
164
166
163
149
143
106
119
115
80
60
79
107
99
91
112
182
185
113
99
78
73
93
126
150
152
143
145
102
57
54
96
119
184
164
139
112
89
76
41
78
77
46
96
114
91
99
104
90
108
77
60
58
110
58
112
57
57
66
35
99
110
92
37
89
32
84
88
25
47
118
128
59
39
94
87
86
90
88
56
137
99
31
47
113
111
46
31
32
31
34
83
111
174
135
57
27
42
45
64
96
158
161
164
161
116
171
174
162
191
168
138
138
116
125
74
67
78
70
100
94
102
60
67
116
132
184
132
39
40
43
46
93
96
49
45
44
94
97
102
53
50
106
46
41
44
51
55
58
114
114
106
95
86
86
95
51
55
102
85
85
95
102
52
59
48
86
78
28
30
82
33
30
77
75
81
50
52
107
87
105
71
82
140
63
78
51
46
79
41
107
44
28
21
35
91
43
97
95
91
84
91
46
94
90
91
42
49
99
98
47
50
46
43
41
45
99
98
98
48
48
96
99
105
53
43
29
73
71
35
43
100
50
55
63
122
127
111
132
98
96
139
137
104
84
87
103
75
70
74
73
120
108
95
38
43
109
83
33
41
83
107
91
76
66
132
139
88
86
129
71
74
69
107
61
64
119
130
92
86
144
128
58
115
105
40
61
74
42
72
73
72
81
70
112
47
36
56
130
143
172
178
169
143
136
162
180
170
79
60
70
137
77
82
165
170
170
159
156
86
77
90
128
155
162
149
85
27
111
96
156
173
116
161
145
121
44
77
96
133
124
89
41
100
93
46
100
98
109
67
60
51
38
82
82
31
38
52
56
122
131
55
43
88
30
29
28
19
91
114
137
127
104
85
71
82
91
27
39
100
89
53
124
125
125
109
23
15
64
31
44
87
109
51
72
64
97
98
55
77
138
166
165
154
119
131
117
169
144
164
67
63
100
117
91
82
93
136
113
106
62
72
79
98
111
122
134
36
42
51
107
90
32
33
47
39
84
82
33
39
44
32
28
30
44
111
118
116
60
48
94
95
103
109
110
56
44
39
91
100
105
105
52
45
40
38
92
71
16
75
28
35
89
31
79
39
43
13
88
117
140
116
89
44
35
18
86
104
86
71
79
33
48
41
95
99
97
92
87
94
91
86
80
81
85
88
92
90
37
36
40
47
49
50
56
55
98
90
88
46
50
44
34
80
82
91
50
108
101
104
103
99
95
94
94
92
90
90
111
78
122
100
34
42
65
79
65
69
120
128
129
129
132
82
75
43
43
92
96
123
73
64
77
143
146
87
82
87
88
134
132
57
95
117
134
129
121
69
81
73
53
67
58
93
100
123
66
43
60
41
20
33
74
24
93
129
147
133
129
133
127
124
123
124
125
111
37
36
26
81
50
127
141
147
126
73
119
126
119
70
90
128
107
85
105
130
109
67
117
123
71
49
102
138
130
104
108
65
114
109
122
127
43
113
109
102
112
62
57
64
70
60
52
100
97
52
66
142
135
62
107
104
33
70
73
24
87
92
101
71
82
141
117
35
75
78
83
36
52
46
63
70
97
90
102
103
68
33
50
32
6
61
85
68
66
105
42
16
38
90
173
200
178
113
108
79
78
115
107
128
125
96
73
100
124
41
69
72
29
82
45
74
103
127
136
138
58
52
47
96
95
48
104
99
91
84
82
86
41
48
60
56
57
117
122
119
60
109
104
52
54
58
112
61
61
54
49
100
100
94
90
37
86
88
39
95
97
97
46
40
33
86
42
41
24
29
78
109
40
20
45
38
48
43
43
97
87
76
84
91
29
28
23
29
33
86
90
95
93
88
79
22
23
24
76
79
29
32
35
38
45
47
100
109
62
56
46
91
36
31
41
102
52
104
106
53
50
97
93
36
84
82
83
84
103
105
103
113
125
67
51
53
65
51
43
63
109
123
130
136
142
95
98
149
135
74
110
100
109
89
72
87
62
138
98
145
84
74
63
111
107
114
64
112
54
53
55
78
93
98
106
54
58
100
114
116
51
44
79
107
60
65
72
135
164
138
96
112
124
134
93
148
150
103
85
54
112
70
146
98
137
132
135
156
118
108
83
51
44
65
64
116
134
149
74
63
50
110
111
73
60
59
120
132
141
65
70
135
134
144
152
136
146
136
113
51
49
100
49
56
120
65
107
39
29
33
82
98
40
87
82
20
24
25
32
114
113
107
91
47
58
65
66
105
91
90
39
23
35
34
86
100
101
84
75
89
48
78
68
10
2
39
90
91
97
58
39
30
53
152
121
117
117
104
100
109
121
164
115
103
125
40
95
104
90
78
79
86
85
40
58
102
111
91
89
94
42
45
105
110
109
108
59
104
97
94
97
99
50
40
90
95
107
118
71
122
124
117
64
59
52
50
52
56
47
42
95
97
95
97
49
94
92
90
88
95
41
88
40
35
37
40
30
51
87
72
9
31
61
45
40
46
58
109
96
89
97
95
88
41
28
14
12
13
18
86
102
90
88
85
24
22
74
22
78
81
34
37
92
44
98
99
109
64
59
48
36
20
39
48
105
45
39
43
103
108
43
91
90
93
100
56
114
108
113
106
39
85
98
64
43
55
43
51
83
114
129
131
135
134
124
117
117
124
141
120
110
122
107
90
96
81
107
129
91
102
99
79
115
101
67
60
50
53
67
133
127
110
116
58
54
60
107
107
117
113
52
39
65
56
72
64
115
153
142
109
127
105
131
95
89
94
116
111
79
58
82
129
62
72
156
175
162
174
149
68
42
49
84
82
139
156
151
81
86
62
121
78
82
55
104
97
144
128
62
71
79
131
154
168
152
157
144
64
96
94
95
40
57
73
122
110
89
23
25
36
98
85
84
83
21
25
28
86
120
119
62
31
35
32
32
43
109
115
115
105
16
45
84
60
26
99
99
102
88
97
86
78
70
54
30
97
114
39
43
31
23
40
148
152
98
109
136
137
102
101
159
122
54
114
69
96
118
119
104
86
82
88
44
52
79
74
142
107
93
47
47
98
99
47
52
49
99
102
104
51
52
47
97
44
96
99
104
55
107
106
103
104
54
52
47
47
49
47
46
52
105
101
45
45
35
85
79
81
98
94
92
98
107
111
59
66
58
36
32
49
52
96
97
104
54
51
54
96
84
86
91
92
94
38
33
29
15
70
71
81
84
86
88
81
71
65
66
74
75
78
82
87
97
100
106
106
90
73
19
20
38
47
49
106
105
101
103
104
99
35
35
96
105
109
110
110
119
111
92
36
50
119
122
109
56
66
71
93
105
123
121
114
110
61
115
111
107
91
98
120
83
137
150
163
137
96
86
88
100
122
123
123
91
115
121
116
111
109
111
120
52
49
79
83
81
132
120
100
81
82
41
57
73
80
111
106
134
166
68
117
129
124
113
99
93
98
102
102
59
72
78
76
79
135
141
138
114
149
74
57
102
85
73
123
121
65
58
44
29
42
55
61
112
128
107
136
128
83
95
141
150
160
148
146
110
104
87
132
124
116
121
69
75
72
56
59
73
100
21
63
23
71
22
15
23
27
33
108
98
53
47
32
36
40
102
99
106
125
121
98
64
57
49
39
37
52
99
115
117
115
113
103
46
54
51
48
40
34
45
53
71
128
134
138
134
134
151
84
73
131
116
65
69
51
97
106
87
78
75
89
40
29
48
78
92
148
142
101
102
97
91
37
36
40
33
87
93
40
32
85
97
96
96
96
99
52
55
107
107
102
99
48
49
49
51
55
52
48
43
38
85
31
34
33
21
77
95
96
42
98
113
109
110
63
60
43
45
49
45
38
89
92
90
37
44
93
80
73
84
93
91
87
89
57
40
82
91
82
77
78
83
87
70
63
69
81
88
89
90
38
92
95
95
82
78
21
23
82
35
96
103
107
107
106
108
104
93
33
43
47
48
98
95
99
106
114
104
113
71
74
62
94
116
54
60
72
113
116
122
113
108
110
69
71
115
112
104
100
110
118
117
131
151
137
72
138
131
105
91
76
76
104
93
89
98
121
145
159
137
77
75
82
95
95
130
113
106
107
114
60
59
64
33
27
84
110
136
34
53
61
57
62
68
72
88
104
106
61
68
65
67
127
112
118
84
107
87
69
79
108
44
115
115
60
52
32
28
25
40
28
52
124
134
120
129
79
88
90
129
140
151
142
143
145
65
96
57
117
117
77
89
88
80
58
60
75
52
42
23
19
22
26
17
29
28
83
103
41
52
56
43
37
67
130
135
142
142
125
64
38
90
30
18
21
51
111
121
115
134
152
124
103
126
118
45
17
16
31
38
55
137
152
99
135
157
119
85
46
100
117
55
78
54
100
113
96
85
77
90
43
32
48
77
89
143
87
72
124
125
129
131
127
121
119
123
122
121
121
125
116
52
60
114
57
56
61
59
104
101
52
59
118
118
115
113
121
121
113
109
54
53
52
101
104
103
98
112
110
49
109
61
111
63
68
52
66
66
56
50
52
57
59
64
100
97
88
88
96
48
50
56
55
58
55
43
49
67
73
107
116
111
101
120
70
108
57
57
54
100
99
103
104
93
51
61
60
54
100
95
97
103
106
104
54
115
71
125
114
112
110
57
107
109
60
60
54
97
101
53
54
52
45
48
105
111
109
102
44
110
107
47
46
104
100
93
106
105
105
108
107
104
103
104
98
97
107
116
114
101
90
42
43
45
42
35
88
93
89
87
88
45
99
51
56
99
104
105
104
114
112
40
36
35
86
100
110
85
46
47
41
45
91
74
84
102
97
99
64
67
54
39
36
42
66
62
49
52
52
58
68
118
121
128
122
83
25
18
52
60
68
68
119
120
69
67
30
47
73
60
71
91
64
39
23
62
76
101
108
112
111
125
64
98
92
41
86
81
99
45
32
86
90
99
66
115
115
93
55
71
80
91
91
82
93
118
111
140
68
136
54
57
65
82
111
34
64
55
61
69
66
87
88
61
28
9
42
77
53
46
64
33
45
11
29
58
73
102
108
122
119
114
152
172
119
115
92
80
79
145
62
66
94
25
43
10
127
126
123
124
120
114
109
109
110
112
113
116
120
63
58
62
113
108
108
113
113
109
56
57
108
102
99
103
58
65
119
71
122
66
61
56
104
107
106
103
115
114
108
112
116
118
122
70
46
50
54
49
48
55
60
56
48
88
97
101
105
112
111
56
111
65
113
118
119
69
69
61
117
111
112
116
54
102
107
48
48
47
47
105
103
44
101
99
47
52
61
118
116
118
121
68
64
60
60
60
110
111
111
105
98
99
108
65
59
109
106
105
105
53
53
48
48
100
100
105
111
63
101
110
113
60
60
56
111
107
104
103
109
114
116
65
119
55
98
93
83
74
83
100
97
86
36
38
37
88
88
90
90
91
89
89
45
54
38
41
97
102
106
110
59
49
34
97
106
93
96
56
54
54
63
115
101
48
104
95
98
51
53
48
41
41
44
55
48
33
40
40
42
97
104
38
84
83
88
37
29
46
115
111
92
93
63
48
25
14
18
30
29
80
37
38
23
13
72
78
75
81
101
61
61
57
113
86
81
121
91
128
80
33
51
66
86
66
84
167
157
107
165
125
92
96
70
45
50
62
64
73
63
80
151
107
131
150
90
56
61
85
83
79
103
106
85
70
25
37
40
36
71
37
65
61
45
0
12
32
44
112
120
132
158
171
136
134
92
45
73
138
107
51
89
95
52
63
62
138
135
132
76
120
115
61
109
55
58
112
116
65
65
115
112
109
106
108
60
113
112
54
53
57
60
58
55
54
61
111
107
108
108
107
103
71
70
119
114
110
106
103
109
105
105
53
50
46
44
46
103
55
56
55
58
65
66
72
68
59
58
110
110
62
107
111
56
107
109
64
72
123
117
110
112
113
103
40
42
109
121
122
119
76
135
127
71
69
71
122
116
112
109
107
106
55
54
53
52
104
106
108
108
58
113
58
53
93
95
95
92
38
38
39
41
42
45
98
97
46
46
102
109
106
49
101
99
88
91
88
37
93
94
38
33
88
106
110
99
104
125
129
116
56
49
43
38
39
42
44
93
93
94
35
35
44
55
51
40
84
86
89
35
37
28
51
53
92
89
37
57
50
50
107
111
58
61
68
123
116
82
85
69
48
37
36
22
31
38
38
36
39
47
105
100
103
107
110
102
38
87
83
81
83
90
97
42
54
49
27
79
41
28
68
67
74
100
99
108
50
55
108
115
87
85
122
116
105
88
131
100
26
87
52
44
81
108
103
92
107
133
117
122
107
134
139
127
77
92
85
44
39
53
125
118
132
113
81
64
74
81
142
116
108
65
38
54
3
25
46
118
90
54
111
112
76
79
46
19
86
107
99
111
163
166
39
119
49
95
48
70
34
82
86
41
90
99
130
127
127
125
71
122
121
119
61
58
60
115
66
63
63
120
116
112
111
114
64
65
64
53
52
58
63
62
59
56
111
107
99
102
106
107
105
68
67
118
116
113
112
111
112
104
102
100
44
50
46
49
109
62
60
59
65
74
57
63
110
103
54
112
115
118
108
53
59
126
130
71
70
124
120
115
115
115
101
33
100
109
121
131
140
84
77
121
113
56
57
55
101
101
102
103
109
63
63
55
98
93
51
105
106
111
62
55
96
95
43
95
95
42
41
41
96
41
38
91
99
50
52
37
96
93
36
42
47
95
90
89
40
97
99
46
47
97
96
104
121
132
129
120
114
38
47
48
100
47
43
37
38
89
90
36
37
44
53
61
51
42
91
95
46
44
29
55
51
86
87
81
44
31
34
40
99
50
48
100
51
62
79
80
62
42
86
37
36
41
33
32
35
50
72
75
120
119
120
121
120
112
100
36
29
86
90
91
99
108
100
27
25
39
28
67
39
42
82
73
88
43
37
99
59
101
76
127
110
83
35
55
50
23
75
72
77
83
86
98
108
118
123
112
128
117
145
150
124
52
62
69
78
69
47
92
101
122
96
140
95
88
73
137
117
146
101
100
123
105
59
67
86
92
57
57
108
90
99
118
15
129
110
130
163
164
98
33
136
10
7
117
72
23
64
115
30
81
129
153
140
139
84
80
75
75
125
71
116
62
64
63
56
53
113
107
104
106
110
113
111
57
58
58
109
106
54
60
120
55
52
104
60
67
69
67
64
63
117
117
64
65
68
70
112
111
109
101
57
48
111
115
67
71
129
130
67
56
65
116
111
115
115
103
93
91
95
43
55
63
72
88
85
114
104
108
47
62
145
138
90
140
128
117
113
63
43
39
102
129
145
137
105
51
44
42
47
50
49
101
103
59
63
109
107
58
58
104
100
95
93
98
49
48
45
49
47
48
55
110
46
35
41
104
100
33
28
32
47
109
105
47
40
33
34
45
121
77
136
141
147
144
123
100
103
84
85
99
109
99
83
94
92
41
50
52
56
60
110
64
111
94
87
46
42
58
40
42
100
96
54
54
107
100
35
28
78
20
72
83
33
42
99
95
87
85
88
88
95
100
98
38
38
44
87
76
73
79
90
86
73
25
45
58
110
113
66
32
98
44
96
49
47
79
12
22
43
26
66
82
90
103
71
166
116
113
111
107
98
32
20
82
58
50
80
33
49
83
81
45
24
81
104
158
125
137
145
88
86
90
129
64
52
35
12
67
112
106
114
140
115
87
100
110
127
120
111
112
129
36
11
72
166
123
98
101
98
146
115
113
6
156
186
106
111
108
39
32
27
30
108
96
53
77
140
168
249
122
101
149
95
90
84
80
68
55
98
98
50
55
57
58
56
65
60
112
111
108
108
57
55
61
55
53
56
57
110
115
48
56
110
110
59
55
46
57
61
58
56
65
60
58
55
58
108
107
112
105
104
108
105
111
107
97
109
67
52
48
100
95
86
87
95
97
93
106
110
61
61
70
140
80
67
110
98
52
58
106
103
117
127
126
121
70
74
68
61
105
122
147
83
53
52
42
37
40
40
38
41
49
54
107
105
108
116
65
112
120
118
118
121
71
73
73
63
63
63
114
111
110
57
69
116
109
104
46
40
35
99
96
40
38
94
55
123
136
116
101
101
105
109
123
139
135
109
108
106
104
105
105
104
105
50
52
48
48
110
105
57
62
63
111
108
60
54
58
61
63
65
67
53
52
105
107
58
112
61
111
109
88
85
87
85
85
84
79
69
76
86
95
100
104
108
78
72
118
110
85
72
14
19
79
30
79
93
78
83
85
18
11
13
76
100
51
78
23
14
21
34
29
77
87
109
107
100
94
109
117
52
100
91
54
64
39
74
86
95
90
130
107
106
66
78
133
132
133
92
93
116
90
42
66
74
51
60
66
10
64
113
92
141
81
85
147
121
118
113
86
73
98
84
148
94
144
126
110
136
157
176
115
198
176
152
91
86
49
59
66
56
68
123
37
103
161
150
132
92
170
112
109
99
86
69
113
105
94
44
51
109
59
57
52
61
55
56
107
104
56
59
58
113
57
56
54
55
106
107
104
113
115
109
53
104
101
109
113
111
110
68
114
112
62
65
62
111
112
108
113
106
108
67
117
109
123
122
95
40
41
90
82
85
95
99
123
134
123
67
69
70
73
72
125
112
101
51
43
37
48
63
126
125
120
74
80
79
70
107
108
119
58
55
56
47
93
43
46
46
101
54
54
105
108
61
63
114
113
113
112
63
67
70
71
123
113
63
66
120
120
118
65
116
117
117
115
111
52
92
88
89
96
107
121
129
79
64
39
82
95
93
82
46
132
136
117
121
127
125
116
107
100
101
98
102
99
97
103
43
49
56
58
108
101
48
47
50
53
57
62
64
49
105
109
114
116
64
62
59
110
104
104
103
100
101
98
87
67
15
64
74
80
81
86
92
40
45
106
102
91
31
40
42
36
27
86
58
49
46
40
19
2
12
84
83
84
30
19
17
34
34
78
77
93
107
90
91
105
57
100
121
142
133
30
129
144
162
103
90
68
36
22
145
154
114
106
84
54
100
128
87
102
76
73
64
90
68
115
114
97
133
132
92
89
88
131
73
95
75
75
121
152
127
144
90
142
101
84
118
86
125
179
172
145
139
138
113
65
69
38
49
96
30
122
130
132
111
127
140
88
131
120
55
95
99
105
110
60
63
115
115
60
60
51
102
54
56
55
56
62
113
57
63
62
56
55
112
108
111
112
111
102
98
107
119
68
123
117
113
120
114
110
79
73
115
115
119
105
105
109
50
38
42
106
110
127
147
81
72
70
74
84
92
142
124
101
97
97
43
52
71
67
123
103
111
123
116
66
72
66
56
100
105
71
73
63
71
127
125
69
65
75
75
66
108
104
107
112
119
73
67
116
119
68
115
112
114
67
64
111
111
58
57
55
103
50
48
99
104
107
58
57
58
107
100
99
106
117
139
134
126
120
116
114
62
64
75
130
125
125
132
79
71
147
68
101
102
55
56
111
119
118
107
99
101
104
111
57
62
66
65
64
104
95
50
46
44
47
51
52
99
89
92
95
95
41
42
97
100
102
105
105
104
110
113
106
101
104
88
80
72
70
75
83
22
19
23
34
35
35
44
38
43
48
94
35
52
28
33
27
22
78
79
96
54
61
42
21
21
31
88
99
104
104
101
100
90
89
102
127
120
151
183
91
85
78
93
61
109
186
157
29
15
101
130
75
90
147
127
126
126
118
71
63
83
132
114
90
63
123
135
138
88
77
66
50
76
115
86
82
63
98
91
142
128
119
93
50
83
80
137
153
162
116
123
102
42
23
115
47
76
137
58
95
110
123
143
91
59
56
58
62
115
117
121
114
64
120
118
114
112
120
119
119
120
113
98
46
58
66
64
69
69
53
59
123
119
121
59
62
115
109
62
71
75
77
121
109
112
117
124
70
60
101
49
104
95
49
44
28
63
148
134
89
116
93
136
80
76
70
123
124
120
120
112
109
113
112
111
64
120
48
44
70
131
132
127
116
62
60
114
72
75
68
104
109
116
119
67
74
67
74
127
124
118
60
60
116
119
119
68
62
110
113
62
60
65
60
102
101
50
51
51
49
48
48
100
106
58
61
51
114
120
118
120
128
133
112
110
107
51
101
47
47
46
39
88
91
94
95
49
58
100
121
60
71
75
68
68
86
95
141
53
36
24
21
31
36
38
39
46
102
40
35
38
47
56
55
99
95
96
96
96
94
91
84
23
17
76
82
94
91
82
83
87
86
39
84
86
83
82
38
30
26
23
25
28
80
30
10
28
43
45
92
46
42
103
62
70
46
66
24
52
47
55
46
30
18
8
61
78
99
91
94
88
99
123
130
80
79
138
127
98
139
122
105
40
87
86
34
43
74
30
19
41
57
74
135
128
122
137
108
73
46
81
114
137
98
112
116
67
59
36
52
99
101
173
138
41
25
16
28
99
113
37
69
90
78
25
66
143
172
89
101
111
42
71
107
47
82
66
38
127
97
110
125
59
106
47
45
102
58
115
120
69
124
128
124
118
115
116
113
114
116
110
96
50
70
84
63
77
82
64
63
120
110
110
47
112
119
62
64
71
81
75
115
115
136
123
111
127
118
53
48
45
38
51
42
52
117
128
133
82
86
107
156
156
96
79
120
117
113
110
110
98
105
119
121
65
67
39
44
73
127
126
114
117
116
62
113
67
72
121
105
120
133
72
56
61
82
125
79
82
77
68
116
116
117
120
72
114
110
65
69
66
49
44
87
88
39
43
45
36
37
39
42
49
51
53
75
140
147
139
128
120
98
105
102
99
49
54
57
57
55
63
63
106
103
110
115
61
63
54
32
43
57
59
66
68
89
100
88
76
65
62
56
51
40
30
35
54
49
30
32
38
43
41
89
99
88
84
81
29
85
88
88
87
75
83
99
41
76
73
78
36
34
23
78
25
25
27
39
39
42
46
33
79
76
81
14
15
22
74
24
59
116
132
83
45
12
50
96
56
61
50
35
27
18
72
92
104
92
98
47
111
102
64
72
106
151
117
99
87
100
91
75
83
99
38
44
57
32
42
80
54
84
90
35
114
60
64
100
79
58
117
112
119
107
86
43
38
75
127
96
87
171
130
107
101
14
62
92
85
69
71
112
79
0
100
172
164
138
144
169
86
117
121
43
71
131
49
88
42
43
59
49
96
95
93
91
39
41
43
53
55
60
117
65
61
58
120
108
107
124
135
122
111
123
59
60
64
63
76
86
77
70
129
64
121
127
75
126
114
139
135
61
76
66
49
60
61
61
48
33
125
80
130
132
129
123
69
71
70
63
72
90
164
178
174
102
136
112
102
52
114
118
63
61
51
54
116
128
120
114
113
120
72
66
57
49
108
137
209
214
197
149
52
34
39
81
48
65
71
75
134
134
132
124
119
112
59
56
103
106
112
105
103
105
64
76
80
74
72
73
79
90
137
131
64
111
105
100
95
41
105
53
47
49
59
72
82
73
42
48
56
112
55
99
46
50
53
90
66
56
63
64
58
50
44
44
58
60
61
63
126
138
146
138
124
120
69
70
70
62
51
104
116
124
116
120
72
74
71
65
112
111
108
118
59
38
34
38
32
41
41
42
40
41
45
48
43
41
40
37
70
65
66
91
87
28
21
66
61
59
63
75
33
16
33
70
61
66
68
57
32
38
47
41
60
79
66
70
70
122
98
91
84
101
106
100
91
88
45
28
90
92
89
97
97
32
36
41
73
94
125
106
60
91
134
70
73
127
53
49
81
99
98
91
40
44
101
129
140
109
102
103
137
82
35
51
70
85
84
42
68
121
123
104
134
146
97
75
37
97
99
75
16
107
136
30
28
56
103
42
45
135
139
141
139
77
131
133
133
76
72
65
52
44
70
129
121
125
126
118
132
146
137
68
69
126
124
128
88
94
88
73
72
130
121
62
123
130
113
109
67
47
47
66
107
59
53
41
47
135
129
127
124
119
114
115
119
73
123
63
53
100
100
100
47
97
105
111
110
104
51
55
56
74
85
88
127
136
143
143
138
81
77
80
86
134
136
160
139
118
107
102
45
38
51
52
58
72
81
134
137
143
133
123
116
71
81
136
87
139
142
160
160
159
104
97
78
70
113
111
117
115
112
92
40
41
40
37
37
55
84
82
81
72
58
56
63
72
68
53
37
37
104
116
66
68
61
83
84
54
42
58
48
43
38
36
36
37
37
96
108
96
89
104
94
55
78
64
54
54
103
94
84
87
36
37
39
43
96
93
87
85
99
54
46
46
50
42
27
29
29
29
31
32
31
38
37
36
32
74
71
18
23
75
73
23
24
74
68
59
50
2
0
10
37
47
56
60
57
38
40
43
46
82
79
70
55
38
84
87
96
90
108
51
24
30
46
67
119
78
34
26
34
41
18
49
50
32
20
35
110
74
127
112
54
57
111
124
87
92
110
104
88
50
74
71
124
119
97
153
149
186
145
146
61
56
94
113
16
46
88
92
75
152
175
75
50
119
113
28
29
83
141
104
75
88
101
125
73
73
125
128
79
78
129
136
142
125
130
125
56
47
109
136
132
131
135
126
121
146
153
73
75
136
139
131
125
132
141
83
73
75
130
114
106
114
100
118
121
105
58
56
37
113
118
110
95
48
125
122
134
131
128
125
122
119
65
99
98
96
92
92
96
106
113
111
122
117
100
98
58
64
121
132
82
72
137
145
142
138
78
77
87
97
140
128
126
114
53
57
112
109
48
52
50
110
72
80
133
145
159
144
135
130
87
97
147
145
149
144
139
134
136
138
84
82
131
126
121
121
123
74
74
74
74
70
61
51
51
59
63
79
86
66
47
51
75
119
50
39
98
117
125
71
69
49
79
91
64
45
55
39
39
38
38
38
37
87
94
103
88
78
90
84
104
52
46
49
60
114
102
90
98
49
50
50
52
107
103
97
80
41
50
44
45
50
97
88
85
73
74
25
20
14
79
77
25
24
22
20
18
29
85
85
82
77
72
73
79
61
71
25
25
22
74
76
64
49
33
42
96
41
74
75
68
54
43
95
113
126
94
57
108
74
17
39
130
115
80
39
84
84
28
18
26
61
49
35
63
124
62
120
107
47
46
106
129
96
100
105
81
14
48
86
122
103
138
128
151
143
164
136
89
101
58
93
112
76
71
60
98
74
122
131
115
75
60
59
36
55
80
65
27
83
98
119
95
83
73
69
68
67
67
74
79
135
120
119
114
108
53
107
58
98
140
125
71
79
127
121
70
97
97
128
113
115
123
131
75
85
70
119
114
105
99
112
89
94
61
37
48
67
134
127
108
100
108
53
60
124
118
113
111
107
100
47
108
60
65
120
120
119
121
122
117
122
124
110
113
71
66
57
57
109
120
70
58
96
51
53
66
74
123
138
135
156
149
86
70
112
56
57
73
126
127
132
82
133
128
126
138
130
122
130
134
120
106
100
47
104
99
96
92
34
36
90
92
95
99
100
49
50
52
60
72
78
128
69
69
72
84
98
162
165
144
104
106
113
120
121
113
106
51
48
57
59
79
92
79
58
62
67
121
118
119
117
113
92
88
87
86
82
89
98
108
68
81
87
135
132
142
129
140
91
79
65
110
104
98
99
110
114
45
34
32
79
93
101
92
86
89
89
86
71
73
72
72
33
32
28
31
84
85
83
84
88
101
103
93
100
105
127
102
109
78
40
13
17
103
57
92
61
99
69
100
90
77
28
17
67
35
91
87
79
72
77
73
89
94
100
98
91
60
86
53
54
56
130
140
128
19
27
77
94
78
151
112
135
110
77
52
85
84
145
144
147
162
156
174
97
92
139
134
83
50
33
60
51
67
60
75
76
145
135
80
27
34
40
77
70
78
57
126
113
114
47
10
0
74
84
128
123
70
52
104
96
96
107
107
101
118
101
146
126
52
57
78
133
83
101
68
69
138
71
71
137
73
54
121
118
59
52
100
52
36
37
22
23
76
86
97
138
67
113
120
121
54
46
95
95
97
100
106
113
67
60
61
61
59
56
107
113
121
124
123
121
117
113
57
55
61
114
115
140
150
135
113
114
119
124
130
138
147
144
139
141
134
136
155
113
148
87
71
105
102
63
76
72
109
93
96
108
67
66
106
98
116
63
97
89
88
89
91
111
107
95
86
113
61
49
52
48
51
50
48
62
58
67
57
58
137
175
194
183
149
139
125
115
116
71
76
76
74
51
50
61
82
89
80
54
109
108
116
114
109
112
101
98
88
79
81
100
100
108
66
72
119
112
108
97
119
73
74
76
82
129
117
110
104
105
55
55
103
100
100
87
92
100
110
68
115
100
88
95
97
96
73
79
73
58
45
88
88
84
81
109
137
143
139
129
124
113
44
25
78
76
101
54
30
38
108
131
111
84
86
71
69
80
74
89
39
72
75
37
20
89
93
78
71
37
24
11
9
69
76
95
80
154
146
153
70
108
126
94
100
107
118
132
109
117
122
135
160
165
161
160
175
160
66
110
103
166
176
109
97
46
52
26
67
100
72
159
163
95
38
46
41
35
106
105
34
39
92
136
56
70
60
69
71
123
127
111
100
105
43
100
104
97
38
98
104
143
76
59
65
86
95
99
112
55
128
84
65
115
127
68
68
120
104
54
50
42
38
41
52
43
34
78
85
86
76
70
73
126
112
44
44
46
49
57
68
78
132
74
77
76
74
73
70
69
123
126
130
81
134
133
130
127
124
69
78
141
160
163
156
146
128
141
151
152
147
146
147
147
89
137
141
94
86
137
134
73
111
101
100
54
62
70
86
85
100
64
66
104
92
90
45
94
33
31
86
92
96
102
101
41
40
42
40
48
44
52
66
70
118
132
126
91
105
154
134
115
108
140
152
157
143
121
111
68
80
73
72
75
129
136
88
84
75
110
110
110
95
88
33
92
97
102
106
107
93
83
91
92
88
81
81
91
110
107
64
68
71
76
127
122
123
132
132
75
68
119
128
139
111
106
107
127
93
88
74
108
101
96
99
67
56
41
83
24
22
24
20
66
86
122
113
94
28
79
81
84
26
85
88
119
69
93
95
108
72
123
84
73
72
74
66
76
85
76
68
17
30
71
80
101
42
23
28
33
72
10
20
31
48
70
78
126
76
130
135
88
91
88
84
82
128
139
171
172
176
163
160
153
151
166
158
130
143
121
174
185
154
142
125
120
51
72
101
89
125
113
100
18
0
24
27
108
149
88
51
22
71
48
77
60
104
119
134
124
132
137
109
102
112
100
97
115
113
155
88
90
86
84
89
93
134
120
74
124
119
66
111
103
107
97
113
109
52
55
69
85
86
81
58
54
98
83
66
102
92
40
47
54
134
90
84
82
83
86
142
141
82
86
88
86
82
79
132
136
138
93
140
136
133
131
129
129
86
82
132
120
109
112
71
139
128
117
115
123
119
107
116
66
66
67
61
45
53
62
68
131
129
107
88
100
125
121
114
108
99
38
87
89
103
113
126
68
61
61
120
95
93
97
108
58
51
49
43
71
62
43
64
85
146
139
121
105
106
121
131
127
104
113
132
155
166
155
78
58
55
47
50
108
59
70
85
144
127
109
104
100
48
55
50
41
37
42
101
117
127
124
119
112
105
104
108
115
66
72
74
75
77
125
123
128
70
66
72
85
92
137
126
143
142
129
128
79
130
127
117
108
103
98
8
4
12
25
27
31
35
29
71
30
35
78
23
22
74
80
95
117
113
97
103
47
29
41
107
129
83
78
64
51
18
23
33
59
115
131
47
20
54
85
95
89
21
32
48
27
45
65
71
65
69
126
122
82
107
104
70
72
55
64
93
138
118
94
81
110
104
184
184
183
167
161
83
154
112
109
136
133
163
163
85
61
152
67
50
162
112
105
64
77
78
94
169
128
0
0
18
62
27
50
52
53
35
39
57
105
106
110
122
74
58
108
129
70
79
74
81
92
144
135
135
132
118
112
111
119
65
97
96
118
111
119
121
75
72
64
61
64
62
64
69
25
20
48
113
127
97
106
97
92
92
85
84
80
74
71
129
89
99
106
107
96
140
140
143
143
146
133
127
126
130
137
141
129
124
75
100
155
151
95
81
77
120
112
58
109
104
65
82
134
119
67
74
109
63
58
113
122
130
133
138
146
137
112
106
62
72
76
78
128
118
63
63
105
92
34
79
84
90
41
42
50
57
82
127
115
67
76
60
99
59
110
108
105
101
97
94
97
95
95
94
93
101
72
96
86
60
43
99
47
42
47
93
133
142
86
98
92
85
77
84
88
84
77
131
134
75
128
134
144
148
140
118
126
69
63
66
71
116
56
58
62
73
73
71
72
72
122
109
95
93
110
63
45
79
32
14
6
14
82
39
49
60
57
54
50
46
43
56
51
49
52
96
85
97
55
55
101
80
84
39
36
48
107
80
42
64
98
59
66
55
58
59
97
102
61
77
63
88
82
85
39
39
47
44
48
70
61
90
47
129
130
126
106
77
67
53
100
107
136
144
22
47
107
82
118
91
180
191
59
29
59
91
100
141
141
147
178
153
117
108
118
141
124
115
93
135
104
145
165
96
55
78
15
25
82
91
91
44
81
36
38
37
43
55
56
65
102
64
64
115
124
72
93
71
83
105
164
147
129
118
50
124
129
129
63
48
44
102
112
111
117
137
138
68
51
98
106
109
107
80
96
137
128
134
145
148
91
109
115
89
90
91
88
83
76
72
94
101
103
99
99
153
147
85
83
76
74
127
132
138
142
135
137
86
90
94
92
88
89
80
65
51
49
60
62
127
139
88
129
72
68
61
64
63
64
71
132
140
141
140
124
122
128
83
83
75
71
74
118
75
81
74
62
57
37
96
99
44
56
63
64
127
110
110
127
125
104
96
108
102
102
112
125
123
104
89
86
84
82
74
18
81
46
85
85
54
42
32
23
28
66
97
87
81
92
101
81
73
87
89
73
61
77
133
132
119
107
107
111
113
116
97
91
31
30
33
27
26
36
65
78
72
114
111
113
61
103
86
73
30
30
18
57
21
12
62
74
48
55
58
69
67
66
68
68
67
68
70
58
48
85
84
113
80
91
89
73
32
47
98
102
100
71
61
49
97
91
68
52
76
65
52
52
75
94
56
37
36
39
40
42
57
41
41
106
100
82
83
104
116
124
121
90
7
38
104
119
85
119
20
70
78
80
110
123
129
178
85
81
79
95
123
137
138
130
159
96
108
112
87
84
92
170
157
150
98
122
100
63
91
121
86
85
84
66
89
104
48
51
70
64
42
60
66
121
122
81
96
102
147
140
162
70
84
117
123
120
106
115
42
91
96
110
59
49
50
62
57
116
124
117
117
126
138
160
144
145
139
108
133
139
129
130
130
127
123
127
132
93
99
92
84
83
83
88
126
88
92
92
111
187
170
79
74
68
58
59
64
122
134
140
94
92
74
76
80
82
92
87
84
86
87
79
129
65
71
77
76
69
59
54
64
78
82
79
130
137
137
130
128
126
118
117
72
72
67
64
72
63
54
58
67
73
71
70
122
72
82
85
88
139
146
141
120
101
102
110
113
116
121
118
109
111
117
133
116
102
100
53
52
41
86
31
53
95
113
99
76
112
110
128
144
69
62
78
99
79
74
64
53
44
42
97
68
66
69
71
72
68
74
86
86
96
54
41
26
43
77
52
41
96
88
80
94
114
40
80
69
18
17
19
75
27
32
80
78
52
49
44
16
17
12
22
40
47
18
27
48
75
119
166
198
139
134
56
52
40
62
81
113
106
90
111
118
90
33
36
66
78
60
28
66
47
51
60
31
102
30
35
62
39
27
45
83
123
100
89
167
144
85
77
72
76
85
148
101
100
74
167
97
87
78
60
33
82
157
103
146
144
104
105
109
105
136
142
52
74
82
55
18
34
149
126
146
95
128
104
94
91
97
121
116
26
94
109
22
93
36
34
33
45
65
62
70
97
118
86
82
66
58
98
80
46
60
111
113
57
27
46
114
72
58
45
112
97
125
113
111
100
152
156
164
170
144
80
138
137
106
119
113
120
123
125
124
119
114
116
112
123
78
139
96
93
85
86
90
83
75
91
120
182
119
94
81
137
136
130
125
124
78
69
67
79
72
62
57
64
68
75
81
79
66
64
65
121
73
73
74
74
82
64
62
58
55
115
126
128
125
119
76
132
125
114
59
61
67
67
57
55
61
67
70
85
85
134
124
110
64
122
120
124
124
127
137
153
161
130
128
127
122
117
72
78
125
123
124
126
75
69
60
54
55
58
59
69
99
124
181
202
181
166
162
99
96
102
111
149
129
65
64
89
97
147
136
124
121
121
119
115
126
135
80
65
62
71
70
58
35
88
43
89
87
107
78
92
130
77
67
43
29
84
101
94
85
79
86
48
63
40
37
44
57
47
33
106
88
104
104
120
141
161
117
130
127
71
112
101
103
105
98
46
86
69
38
47
69
64
67
80
64
79
98
63
47
50
99
103
153
99
108
126
108
129
59
112
146
188
146
100
80
69
130
140
138
87
98
116
155
119
102
70
33
49
91
150
85
84
87
88
99
100
140
135
71
83
101
66
72
67
94
114
128
146
131
92
123
95
65
85
80
86
144
85
94
121
121
98
55
63
63
49
48
51
53
63
72
68
59
65
106
54
46
59
49
31
26
33
122
49
42
64
144
158
167
125
105
95
91
104
166
161
149
134
74
140
138
105
68
64
73
127
129
126
71
118
121
120
125
126
132
144
92
87
80
93
97
89
85
97
108
109
98
85
90
143
90
147
152
135
124
72
94
85
77
76
81
79
133
85
84
74
73
74
70
119
69
76
82
87
72
66
59
57
63
74
80
133
121
70
126
121
57
54
60
55
56
60
63
63
60
56
64
70
77
133
124
122
120
106
106
102
51
113
130
145
142
137
132
74
68
71
77
124
122
117
109
51
52
55
57
70
79
95
91
82
89
154
155
166
177
173
111
104
102
140
139
141
148
106
108
105
106
100
93
140
133
125
121
126
133
87
81
63
46
45
51
36
41
62
127
131
136
87
127
74
78
75
67
114
113
97
80
68
65
68
35
53
106
111
112
108
106
58
157
145
89
63
28
60
152
125
109
128
133
124
120
116
106
51
55
68
53
38
49
45
17
35
66
71
55
66
31
29
85
74
125
135
82
95
98
83
126
100
72
163
163
126
130
62
55
118
125
114
118
90
104
64
103
156
112
85
78
79
115
60
17
29
77
68
103
84
89
153
126
101
75
67
78
106
86
105
139
117
117
58
47
87
78
83
60
141
91
96
97
59
67
72
69
54
72
130
111
88
53
76
91
96
90
62
54
58
23
89
112
70
94
70
141
176
176
161
151
100
155
144
156
106
148
142
135
127
124
125
142
134
44
62
59
55
110
114
116
67
134
140
146
147
150
156
160
99
91
88
76
71
83
97
153
98
96
99
107
160
101
105
106
144
143
140
141
90
83
83
88
87
79
73
75
79
136
138
91
131
121
121
77
83
75
128
71
68
70
67
67
75
87
134
120
118
120
119
114
57
58
51
49
55
111
62
64
50
47
47
55
131
133
131
133
136
132
70
110
105
114
105
113
76
82
82
83
82
79
143
96
89
78
70
115
109
120
134
83
87
104
114
162
170
174
166
115
130
171
143
138
140
91
146
148
141
136
134
144
153
151
138
124
126
80
56
21
10
40
81
88
71
92
139
132
69
122
133
141
106
120
52
97
105
106
96
100
83
79
80
27
36
33
71
84
107
130
130
65
96
61
72
66
68
94
112
157
130
86
116
76
61
16
35
53
33
12
24
17
3
10
83
98
102
101
119
43
37
77
82
152
114
92
111
38
77
103
96
53
29
87
112
31
47
118
136
147
139
49
88
119
107
56
82
142
148
145
70
52
48
75
31
32
69
5
19
73
112
134
126
102
89
96
78
160
150
92
134
128
93
22
6
61
71
90
109
121
124
57
50
119
58
105
62
63
105
122
130
151
88
74
65
68
69
92
34
23
108
120
76
82
75
108
141
136
142
143
80
79
140
177
171
91
141
141
129
113
116
114
131
83
74
84
68
75
132
137
88
88
141
143
137
138
140
145
145
135
81
161
151
151
160
103
90
143
157
167
161
158
166
198
149
114
135
139
141
142
92
86
77
79
87
96
94
81
64
120
97
152
153
144
135
129
139
131
67
61
70
73
67
115
66
84
148
152
152
146
127
106
65
59
65
70
71
73
77
58
55
51
49
116
128
136
145
142
86
81
126
120
123
135
139
145
141
79
78
84
82
95
101
95
89
90
142
138
126
87
48
59
63
67
123
141
139
136
98
37
123
168
121
122
121
168
153
121
114
89
105
130
146
93
76
52
53
56
72
81
61
31
83
105
97
49
54
108
112
112
53
98
100
144
145
130
130
145
144
142
95
83
62
70
57
62
137
84
121
126
90
68
98
74
40
43
62
66
69
109
59
112
99
82
37
40
22
12
28
16
4
3
61
64
80
87
75
127
101
151
105
97
107
107
119
121
120
100
67
62
82
92
103
111
57
51
120
117
58
52
31
87
121
154
113
88
116
120
155
71
59
74
37
49
46
93
60
61
111
120
57
164
26
52
46
126
172
114
53
61
104
128
110
93
80
80
109
147
162
132
70
81
72
112
142
79
33
62
86
81
68
68
132
73
52
53
87
80
117
133
123
130
94
97
139
95
153
148
142
126
138
178
170
154
130
137
142
131
117
96
94
119
75
79
100
84
147
159
159
143
133
145
145
145
146
144
141
142
95
149
143
143
145
144
85
79
137
98
99
151
137
148
181
190
117
134
128
125
133
81
79
78
87
87
84
81
83
88
137
96
103
97
136
83
86
146
164
105
98
156
102
82
118
67
89
135
129
136
131
115
108
109
52
121
127
124
72
77
70
61
55
106
116
117
111
66
76
80
72
62
60
113
128
146
137
106
50
65
65
63
67
67
70
86
103
100
137
130
49
53
67
81
94
104
126
128
110
104
138
88
63
94
91
97
115
171
127
129
112
123
138
129
66
79
83
80
73
56
41
41
53
60
58
114
106
43
46
106
102
89
82
87
101
112
120
114
103
102
113
108
90
81
35
44
95
82
63
20
49
109
86
115
123
62
40
76
79
57
46
57
50
80
140
106
46
33
28
41
78
3
13
78
65
80
85
78
116
152
158
59
138
110
114
107
24
125
53
44
68
84
88
58
82
91
36
110
104
101
93
32
54
80
97
139
113
92
110
83
113
73
69
51
73
39
95
48
74
72
107
97
137
110
110
38
144
171
100
107
112
124
118
101
73
88
67
66
115
86
86
44
109
67
147
153
100
94
120
105
105
142
122
114
107
35
24
107
141
150
154
157
158
149
141
144
90
135
139
96
163
114
157
133
123
104
109
121
126
73
125
132
95
86
85
107
146
157
150
144
145
152
159
158
153
156
153
145
83
76
123
121
131
140
142
95
104
107
105
99
124
123
139
163
167
100
94
139
133
136
86
88
90
86
96
99
89
80
97
156
108
87
68
74
99
163
152
100
156
159
160
98
81
131
144
91
138
140
137
125
133
159
145
87
121
120
122
66
60
61
64
125
126
107
56
54
53
60
69
74
79
84
85
83
50
31
103
72
61
54
52
43
48
65
72
66
64
123
80
92
92
93
94
88
77
125
107
63
150
124
115
79
64
94
96
68
63
168
167
172
149
132
131
137
139
56
86
59
34
27
28
26
26
30
32
31
30
82
82
82
83
93
93
81
77
81
88
91
79
68
70
88
51
56
67
125
104
31
14
7
19
96
42
67
72
91
156
148
141
103
84
28
71
138
126
148
126
123
60
56
56
64
109
84
104
94
110
127
134
80
140
106
95
91
21
49
82
82
146
95
66
83
115
82
42
65
74
118
137
157
139
79
86
78
44
106
84
96
90
138
75
73
100
81
71
65
34
45
55
113
92
86
108
78
0
89
132
113
124
156
31
111
106
116
37
60
60
77
122
44
74
47
33
138
132
63
54
133
136
135
108
118
93
80
117
89
116
116
130
178
162
155
102
146
138
150
179
124
142
79
79
118
50
111
122
125
131
136
137
103
108
112
84
59
85
141
146
139
83
137
135
73
71
115
123
78
74
65
65
124
135
97
159
159
109
113
103
137
117
138
154
154
149
144
88
77
74
74
78
76
74
127
153
156
147
74
65
82
83
72
77
82
91
99
94
145
140
90
139
137
134
125
123
132
72
126
123
128
143
152
150
154
112
152
141
141
141
86
89
133
132
134
72
70
67
63
64
124
80
84
81
69
63
73
67
53
60
72
120
112
127
133
71
58
54
55
55
62
92
90
88
87
77
62
71
136
141
117
110
105
100
79
64
79
112
117
83
77
121
140
166
175
155
64
40
18
47
65
55
38
35
39
41
34
35
36
32
26
80
88
76
28
31
27
26
33
40
37
96
50
45
63
69
54
55
58
72
70
60
126
136
143
75
102
101
97
104
131
145
109
88
86
97
118
132
138
89
35
41
109
61
53
40
54
127
120
153
126
95
55
66
39
40
21
49
69
96
45
79
76
147
164
125
112
84
119
145
170
131
134
184
176
118
95
54
70
89
152
144
89
80
157
105
43
87
32
58
31
17
38
155
105
58
82
105
42
105
126
160
123
71
71
80
53
73
123
133
123
108
71
90
73
108
113
107
56
144
133
115
113
93
86
115
151
106
95
119
114
164
161
144
62
53
66
123
133
104
132
140
78
98
50
114
128
126
74
129
78
85
74
68
54
63
92
154
157
154
147
88
132
68
65
71
83
93
85
71
65
119
155
168
179
128
123
110
89
119
114
123
144
151
150
140
74
71
70
73
77
73
123
124
143
147
140
71
66
80
75
56
64
70
82
102
107
145
150
97
146
144
145
138
134
140
61
60
54
113
140
151
139
140
151
157
151
151
154
156
155
138
131
82
85
86
85
78
123
63
62
64
66
79
74
80
83
85
82
119
108
126
137
131
58
46
52
58
58
72
88
85
81
78
70
60
75
121
113
92
87
97
111
146
46
45
93
114
89
83
111
125
145
172
182
103
38
25
67
25
52
60
44
34
40
32
30
27
75
73
76
79
80
28
31
28
24
25
29
36
51
62
53
82
96
77
68
75
85
78
66
70
126
145
67
73
61
75
103
141
139
119
115
97
87
111
129
140
131
45
30
54
138
69
28
64
54
80
82
122
116
80
111
93
87
61
61
70
94
61
80
52
111
155
152
149
123
127
120
111
107
147
139
170
129
106
59
84
156
156
80
84
78
85
140
96
96
26
50
7
0
22
177
108
66
99
103
122
172
148
137
113
88
32
84
60
73
127
140
100
126
57
78
41
123
130
137
145
129
113
109
67
117
144
93
95
141
105
106
115
157
134
70
82
114
146
94
75
87
158
137
119
85
152
154
137
75
72
78
82
68
78
101
108
83
106
188
192
186
112
89
84
91
79
85
91
90
73
60
65
85
114
157
151
95
84
126
122
73
107
129
126
111
106
52
46
59
61
67
87
148
157
166
162
181
190
180
121
168
156
113
125
116
94
91
97
86
119
74
126
125
124
121
120
126
120
81
98
151
152
156
151
135
130
155
169
174
178
185
200
176
159
147
69
68
67
144
138
84
82
78
73
79
96
84
73
77
89
140
137
133
111
102
61
72
67
62
62
77
70
73
72
66
61
61
51
50
44
45
67
141
153
124
128
82
65
41
109
127
64
115
99
38
58
85
139
110
113
80
99
136
145
75
56
63
58
46
45
57
61
55
44
32
34
46
56
64
70
96
89
47
59
92
114
107
68
89
97
100
155
136
130
96
91
42
84
125
160
175
150
113
125
124
111
117
115
130
73
113
67
80
84
93
108
102
109
111
105
159
72
83
66
82
46
44
83
81
89
82
70
73
149
140
127
145
118
128
104
125
175
127
120
128
95
86
87
153
106
109
120
114
93
41
107
114
147
130
63
112
117
130
112
25
45
100
57
94
57
29
79
93
47
58
41
31
62
86
143
130
110
130
60
27
113
130
134
125
99
91
98
72
146
132
87
93
127
117
76
99
169
184
143
138
117
99
103
151
97
97
102
152
95
120
165
154
92
82
88
100
103
102
112
125
92
149
180
153
98
101
113
117
97
146
107
100
89
143
106
120
119
84
122
116
117
114
123
81
132
131
139
150
155
101
104
112
104
90
75
116
120
139
157
167
171
161
171
177
144
125
70
85
85
81
138
130
83
125
69
122
128
76
119
111
110
101
43
51
118
132
143
149
148
146
84
142
142
138
140
159
159
108
167
136
132
174
136
129
73
121
118
122
130
92
86
80
132
141
147
138
109
118
129
81
71
58
53
57
65
67
57
45
47
55
49
32
66
80
90
103
104
153
120
104
98
56
64
78
95
110
95
72
65
131
91
139
154
172
183
166
146
139
139
88
70
62
56
62
79
88
91
83
63
73
87
83
127
72
55
52
52
107
86
89
75
60
49
81
79
107
146
178
161
169
135
111
107
111
139
111
99
66
126
84
97
92
36
134
126
127
88
149
147
59
70
87
100
145
71
65
67
97
66
49
62
55
77
132
69
113
100
108
116
132
155
162
171
145
172
174
130
135
136
113
109
122
188
119
100
110
174
158
122
101
72
100
92
86
93
82
43
117
104
91
168
133
81
33
74
73
41
47
58
31
35
46
99
131
119
107
112
39
20
148
150
138
110
39
51
56
52
54
65
73
59
55
80
124
191
142
180
115
103
152
102
104
151
130
131
75
75
94
86
148
131
58
48
49
51
55
59
65
71
80
125
109
110
111
119
83
94
117
127
126
132
132
182
182
184
175
88
140
136
74
120
120
65
106
100
108
131
155
113
114
169
142
161
233
189
155
155
172
206
205
180
167
95
79
93
84
89
84
78
77
73
76
78
76
123
118
117
67
123
125
77
147
99
96
141
127
112
121
82
122
123
128
127
123
115
127
137
137
135
150
163
190
179
167
162
162
160
158
152
141
135
135
130
122
126
135
108
94
108
71
63
45
34
33
26
21
10
7
19
32
135
115
96
70
67
61
136
126
128
135
89
85
60
53
65
100
105
84
128
79
135
137
136
135
146
170
185
173
146
103
42
51
76
94
97
89
84
69
83
92
84
134
139
79
76
86
94
75
109
41
57
62
60
58
57
104
98
82
77
85
109
111
126
155
84
32
132
143
66
73
90
103
121
121
76
140
167
162
46
64
60
74
44
62
95
100
65
80
80
64
30
57
99
68
47
52
38
112
160
161
181
183
173
128
100
168
104
76
97
98
150
125
67
84
150
151
168
174
148
115
121
62
110
64
45
106
163
63
153
127
111
45
41
50
35
37
80
62
69
70
102
140
132
131
113
111
60
51
145
139
66
95
66
69
53
57
49
51
46
47
77
113
122
179
174
164
156
144
132
128
89
69
117
143
95
78
79
106
110
131
54
43
41
42
48
52
57
59
138
133
108
118
118
118
65
115
94
112
186
193
193
186
176
169
155
71
120
114
62
120
125
120
111
110
150
198
235
239
216
195
221
235
236
178
106
150
145
118
132
174
112
150
141
89
80
131
75
75
79
80
78
57
131
142
81
77
82
130
118
136
138
79
75
127
120
57
81
91
65
111
113
112
109
108
119
129
131
127
140
151
150
154
155
165
176
170
155
147
142
146
155
152
137
131
135
114
97
107
78
84
63
38
30
29
25
21
24
43
66
123
99
65
60
59
58
119
96
111
118
112
64
82
75
47
71
157
162
138
131
139
137
142
137
126
129
151
171
180
129
108
50
63
80
92
96
83
84
85
90
93
93
87
73
72
134
91
69
54
39
63
49
34
28
33
88
97
80
73
82
107
114
135
164
127
111
131
126
58
80
105
121
115
73
79
137
158
161
116
43
50
75
20
46
96
87
81
134
127
60
24
42
95
71
57
57
31
59
164
154
137
105
166
119
93
101
83
80
157
179
128
108
117
135
129
175
189
154
140
130
130
64
107
102
93
155
100
61
149
151
115
39
44
80
86
49
96
61
90
95
88
133
156
143
109
99
48
43
119
96
38
82
128
92
78
59
112
84
101
127
125
65
89
90
85
138
140
134
126
127
148
104
104
85
74
96
130
138
162
107
95
39
48
59
54
58
113
103
126
134
108
98
103
107
59
66
157
173
164
152
143
154
132
212
211
103
141
68
65
122
115
112
125
133
146
179
206
154
183
162
158
149
82
80
93
92
136
142
87
67
80
94
98
95
149
144
140
132
70
69
77
109
160
106
104
98
91
137
133
113
117
72
125
124
124
76
62
64
60
68
74
81
90
94
81
123
121
119
111
105
54
63
118
128
146
140
96
142
134
125
120
123
138
164
178
163
148
138
128
69
74
85
69
77
77
93
101
96
148
129
51
106
61
54
54
100
104
92
80
78
34
40
35
45
48
117
141
156
157
137
138
141
138
83
140
143
134
119
149
161
122
121
108
95
88
79
83
82
78
130
132
80
82
81
137
134
81
69
46
71
31
0
7
41
53
86
99
92
67
60
72
109
91
101
115
77
127
100
122
101
88
106
123
126
121
92
96
113
102
60
91
51
121
146
116
141
121
63
83
70
93
70
45
55
45
58
89
105
106
187
149
110
136
110
120
107
117
186
192
133
180
186
189
182
184
177
145
135
64
87
33
71
148
167
114
45
108
169
102
87
79
1
42
98
148
82
83
40
30
38
143
122
112
78
84
33
35
52
44
65
96
131
128
151
161
166
166
109
93
63
91
114
105
106
145
72
133
153
150
101
118
129
120
106
103
111
107
136
108
112
67
67
55
64
67
112
111
116
134
116
118
129
128
128
93
115
107
140
129
123
72
74
127
85
79
83
77
66
62
114
129
153
200
165
137
96
101
137
126
133
133
82
95
95
81
117
111
72
82
76
71
67
62
113
133
148
148
98
111
119
113
151
91
87
78
71
115
107
76
129
73
125
131
135
82
82
79
59
59
62
70
84
58
54
55
58
92
47
62
72
73
55
105
103
98
129
160
155
157
160
148
125
114
131
138
127
131
115
134
127
125
120
101
99
160
144
122
125
136
90
145
142
143
147
148
152
132
102
36
41
40
90
92
83
77
69
81
130
143
139
135
123
120
133
145
95
94
54
95
120
111
135
129
165
163
153
85
84
80
72
65
125
123
122
122
68
54
41
72
34
5
15
39
49
104
127
112
75
8
79
118
78
68
143
63
108
138
135
92
144
160
171
177
167
118
102
169
152
159
131
135
133
91
152
148
89
74
76
147
125
99
92
68
76
113
116
79
85
77
46
106
77
79
88
108
107
155
174
187
190
193
186
185
186
185
93
73
53
34
78
82
69
41
77
67
101
94
144
126
47
12
27
80
157
131
144
53
16
135
62
28
78
38
143
48
12
48
23
41
81
92
106
168
161
177
156
57
35
53
131
96
82
73
76
141
159
166
156
131
134
148
151
127
93
71
66
60
108
108
64
71
71
110
117
110
110
109
130
118
119
138
146
148
107
160
149
75
122
123
124
117
107
107
115
66
64
61
58
54
111
123
198
183
138
119
63
68
84
117
123
79
90
91
135
75
132
133
125
63
65
82
82
94
154
158
156
103
105
147
144
130
72
72
69
119
115
56
75
85
85
83
136
87
88
81
84
79
78
66
53
49
99
51
57
58
56
70
85
75
80
68
127
131
124
139
125
125
135
148
150
143
146
156
138
133
142
97
102
112
121
124
128
118
176
164
139
129
92
91
140
152
158
156
149
165
151
126
57
107
100
101
114
106
90
71
74
58
91
106
92
100
122
131
87
86
69
52
105
122
91
154
159
161
199
188
147
129
120
118
121
116
61
63
119
127
62
48
66
44
29
38
51
54
94
115
105
16
11
86
117
120
91
134
110
71
102
154
171
168
152
117
118
154
129
126
169
132
144
134
118
141
146
140
151
87
74
81
145
121
113
161
134
89
127
130
103
99
79
47
71
44
88
93
88
101
168
187
180
179
198
188
120
116
180
107
60
57
29
65
115
54
53
90
114
91
141
134
126
38
0
22
131
117
118
69
25
121
80
37
45
76
162
108
13
34
5
0
0
7
99
111
137
108
90
94
75
105
98
116
95
166
119
123
188
178
162
165
160
112
117
110
98
92
90
75
115
105
99
44
44
39
107
112
109
113
115
137
127
75
157
184
190
184
141
128
120
113
110
110
113
111
114
126
119
75
97
115
114
94
72
54
106
100
108
60
55
54
75
79
79
124
130
140
147
151
150
150
151
155
100
92
154
155
154
147
133
125
151
144
131
126
131
83
139
89
85
80
81
130
126
130
140
148
94
94
77
79
78
76
77
145
155
103
87
79
83
79
93
144
131
135
135
136
152
149
146
143
138
124
110
110
124
146
167
161
93
93
78
43
80
68
53
62
139
162
178
175
175
165
120
107
106
108
123
114
93
77
75
78
85
81
98
99
97
50
46
129
125
87
70
84
100
49
46
43
41
47
55
61
121
131
140
123
136
152
148
140
131
122
138
81
81
141
155
87
70
70
120
110
100
104
60
53
116
119
36
33
49
88
86
103
52
112
72
56
54
79
119
53
93
93
79
130
149
188
144
107
140
137
152
129
138
154
85
74
84
147
142
156
160
159
133
133
92
135
97
39
93
115
108
18
29
84
117
165
171
159
140
133
130
143
184
161
65
85
64
38
100
115
0
119
134
90
74
136
139
41
78
94
122
128
52
15
64
210
85
101
74
85
117
1
59
37
54
0
0
0
0
31
33
23
56
59
77
96
101
106
189
121
128
126
114
100
79
70
130
99
95
78
59
54
120
135
127
124
111
93
40
50
111
98
96
95
111
79
150
135
137
152
164
168
110
77
76
113
101
94
97
105
110
108
111
110
142
192
221
220
134
90
113
117
121
118
66
70
76
56
61
65
125
124
118
112
112
114
116
113
114
143
105
171
154
135
128
134
143
149
129
122
123
127
74
77
83
135
124
71
127
128
125
68
66
66
84
88
86
85
136
139
141
101
105
103
116
119
112
102
153
147
152
144
146
151
123
122
123
122
116
108
55
114
113
104
118
96
97
93
112
112
89
89
79
66
125
145
89
100
168
193
184
159
84
67
59
42
33
91
98
103
101
99
92
88
84
21
79
132
92
103
74
100
42
19
39
37
94
42
37
89
100
115
130
121
63
136
161
168
164
149
94
93
149
98
80
60
61
115
111
105
102
58
57
65
65
46
92
80
56
74
104
56
59
119
133
82
48
8
21
80
83
85
119
124
194
169
157
185
202
213
186
177
142
87
78
78
145
178
190
188
135
129
98
64
65
113
63
83
72
56
26
64
82
89
68
103
133
113
102
80
72
147
132
66
54
63
67
49
67
76
153
114
41
64
128
104
55
46
98
57
136
70
113
156
64
110
62
87
71
48
22
105
54
67
57
0
0
0
10
31
60
75
82
97
108
118
137
180
117
103
95
86
73
74
140
149
88
74
115
110
114
124
130
76
127
68
100
93
95
97
92
94
99
66
87
158
148
143
96
97
99
96
72
127
113
109
104
103
106
57
107
119
116
143
181
195
194
178
96
55
104
69
77
76
65
106
105
57
111
112
113
113
109
65
115
113
110
113
147
165
137
135
129
126
134
148
146
141
137
139
140
81
79
136
138
70
73
79
80
75
72
73
93
111
115
111
103
143
136
134
146
154
154
108
117
124
164
154
145
149
141
142
127
56
53
51
49
47
44
94
104
98
105
73
81
68
120
138
98
104
112
105
150
151
104
117
112
163
184
191
182
118
118
105
77
54
101
119
134
124
122
127
127
114
51
37
127
153
121
78
39
49
91
102
96
101
96
86
79
30
91
32
35
43
59
128
132
128
65
69
74
83
93
78
64
59
64
65
105
34
23
21
23
16
4
62
52
40
14
104
56
52
72
112
99
35
13
80
145
92
138
134
85
176
106
100
95
102
83
104
91
77
28
33
38
97
139
179
144
143
127
102
95
100
127
53
73
70
60
74
46
73
100
99
112
73
104
113
116
131
177
156
42
43
66
79
124
98
109
90
135
83
108
67
88
53
75
61
91
123
82
173
80
77
3
90
77
64
28
36
144
128
52
117
84
9
50
7
11
66
128
88
109
137
147
124
135
59
88
84
86
91
90
95
92
111
108
52
45
97
107
109
71
118
60
60
35
72
85
99
102
57
77
123
182
182
126
112
78
81
64
61
128
123
124
128
137
152
172
187
182
149
129
131
129
120
113
108
101
56
59
60
48
48
125
126
125
128
144
168
127
168
171
161
150
137
136
150
120
121
121
124
131
131
125
121
62
118
133
150
104
98
97
104
185
136
139
139
129
131
205
211
209
148
139
128
124
125
125
115
116
119
111
111
99
95
156
154
134
133
148
105
103
52
53
106
107
106
99
88
99
64
72
124
71
76
83
79
106
108
165
174
179
124
117
168
160
158
168
120
117
112
116
115
111
162
143
129
130
124
119
63
61
59
64
121
128
104
82
113
118
55
62
110
62
64
52
100
103
95
83
79
28
31
77
75
85
18
23
35
41
53
67
71
78
14
94
82
60
17
16
8
3
65
66
0
0
22
95
90
105
85
92
54
23
23
44
89
76
75
133
126
92
122
113
87
74
123
111
107
58
77
62
116
127
165
131
91
114
144
114
89
162
136
76
58
65
67
58
86
113
51
65
69
95
114
112
166
160
143
128
99
93
36
37
132
101
84
113
137
110
99
109
79
14
0
34
100
113
62
21
28
22
59
91
80
112
89
58
72
2
34
63
68
88
133
124
108
109
89
1
16
69
84
70
63
55
84
90
89
82
71
65
40
110
111
112
109
106
109
58
68
65
54
50
48
119
154
139
116
58
88
104
93
102
149
104
71
83
108
118
112
124
79
141
142
135
126
127
136
137
135
123
111
118
124
115
107
108
119
133
75
61
113
119
124
151
222
230
216
193
169
154
91
133
136
154
126
111
110
118
131
144
102
110
129
138
149
151
152
152
150
147
133
120
119
131
134
133
137
190
183
116
108
151
94
92
92
96
95
79
70
82
78
74
80
144
149
150
151
112
122
71
71
122
122
122
123
123
65
61
116
71
75
72
67
64
77
76
132
142
150
99
102
161
165
166
168
162
101
116
95
71
68
85
123
122
108
100
85
62
48
55
99
109
85
90
96
93
135
58
106
55
62
68
63
119
128
134
143
79
38
43
102
102
49
35
38
51
107
28
30
87
104
105
128
116
36
32
94
103
89
89
88
73
76
48
45
36
114
83
110
25
15
9
38
103
89
62
88
104
91
89
68
58
45
127
143
66
80
81
81
155
155
116
100
112
135
105
67
105
169
72
14
3
0
9
53
160
191
138
27
52
129
162
157
174
154
169
183
70
107
127
102
69
24
78
111
90
80
48
41
67
40
22
102
99
59
79
100
45
44
86
52
62
35
77
119
84
91
58
54
57
31
64
65
130
87
66
92
68
79
122
45
78
76
87
79
69
139
118
97
108
61
60
112
112
110
109
115
63
60
59
55
56
124
150
143
138
82
87
66
63
85
81
98
111
122
117
118
115
117
123
128
74
64
60
127
180
158
131
113
112
124
129
120
57
49
59
123
71
60
106
114
113
138
167
227
215
143
115
152
93
139
144
163
139
139
143
153
111
117
121
133
146
152
150
138
128
127
175
119
135
140
137
133
130
182
184
117
158
146
92
139
135
82
74
83
86
76
71
66
50
127
72
86
106
116
166
135
124
68
65
67
71
127
132
127
68
62
65
77
84
81
73
64
72
75
131
80
76
122
118
137
100
99
154
158
108
119
105
86
74
126
143
95
120
126
125
114
98
89
91
91
93
91
132
92
165
136
86
46
55
65
118
70
131
142
156
143
95
50
57
51
39
40
37
44
50
27
20
15
24
42
139
157
126
38
101
123
107
105
103
87
83
45
38
31
114
131
93
18
16
7
58
94
85
93
93
61
50
63
68
71
118
140
151
138
162
153
156
174
158
105
124
158
70
64
83
172
192
159
82
50
66
90
145
169
116
41
95
125
180
151
121
144
153
118
177
77
93
117
106
80
57
125
102
78
73
80
20
42
16
58
80
44
93
101
67
92
42
12
18
100
89
81
141
63
87
72
89
53
22
41
62
143
139
139
104
50
40
92
131
15
95
65
14
53
61
76
99
103
57
100
97
51
104
107
123
125
54
57
70
142
157
162
176
181
104
76
62
55
66
61
125
66
104
126
93
96
92
43
52
59
57
56
74
95
119
50
52
47
44
56
71
63
54
56
66
84
92
138
94
31
35
82
108
176
125
115
113
124
138
143
155
141
136
141
144
140
126
114
121
116
117
165
105
102
107
113
117
170
172
111
106
109
152
125
116
113
62
63
116
65
68
77
69
52
50
136
83
132
114
50
60
86
104
164
168
149
135
71
69
71
125
77
100
99
93
86
139
91
87
78
86
126
125
130
133
79
74
74
68
113
72
80
76
65
121
110
106
120
145
157
102
92
92
86
84
91
109
125
164
161
83
74
87
160
165
77
62
60
114
116
108
105
117
131
122
107
125
130
115
46
48
60
72
65
90
92
41
26
12
16
118
138
110
107
90
86
103
120
111
50
50
40
40
59
125
119
134
158
161
121
93
103
85
79
75
74
65
113
92
163
171
163
188
161
90
155
177
171
77
102
101
105
98
122
154
124
112
144
170
133
128
125
133
120
91
89
0
32
56
118
50
35
58
112
90
136
113
83
115
117
123
106
80
94
86
119
85
79
84
55
52
151
84
106
75
52
48
76
96
38
107
116
125
73
21
76
79
73
53
71
177
162
135
117
97
121
131
68
99
61
51
79
90
93
64
60
20
33
79
79
44
99
101
121
116
96
65
84
158
169
162
139
132
114
64
60
56
140
105
121
78
53
55
67
48
90
87
42
49
46
35
34
113
115
65
61
57
67
72
65
69
113
119
129
147
143
116
92
100
112
145
178
201
150
108
114
136
149
138
119
105
128
118
161
157
155
102
104
106
104
105
109
104
146
94
102
152
162
110
111
179
169
131
110
109
112
109
107
107
112
124
85
96
160
144
134
147
151
99
105
102
88
136
159
193
135
130
123
110
104
117
113
107
97
93
159
127
130
122
117
133
130
168
156
157
110
117
120
168
149
99
156
105
166
152
137
132
132
144
100
97
108
117
117
121
128
123
113
113
146
157
106
156
181
121
101
79
73
78
118
113
127
83
115
106
126
127
116
112
56
59
55
100
143
142
114
115
76
51
54
116
107
55
68
71
96
63
51
33
24
58
60
59
114
135
149
152
152
161
98
81
80
67
36
37
46
29
56
129
149
148
182
160
154
166
99
79
99
162
181
118
161
123
112
144
141
88
72
103
75
36
51
45
0
126
115
121
91
130
135
67
66
110
81
124
152
167
77
122
119
110
89
109
122
154
95
88
88
75
148
160
130
67
48
80
63
72
31
24
93
118
121
0
0
79
101
84
69
101
205
142
91
122
93
121
80
46
57
76
70
115
107
101
94
85
79
32
35
48
81
61
85
123
91
92
65
133
130
120
121
116
118
114
61
44
78
137
107
101
79
84
53
138
65
41
94
99
51
51
46
45
125
122
121
72
73
71
70
68
66
51
108
130
147
141
123
104
117
121
104
184
138
125
102
105
119
190
135
99
115
113
107
101
94
86
81
93
104
95
96
152
143
133
80
135
138
138
145
156
171
174
164
120
112
108
109
109
113
116
127
118
124
145
148
135
129
141
161
103
86
82
73
77
175
131
113
155
128
143
126
117
116
113
113
170
176
131
135
185
179
174
165
149
88
96
93
94
97
93
90
91
145
170
179
184
179
173
174
172
107
101
115
131
129
121
151
129
164
104
109
105
150
159
174
130
116
157
77
60
66
125
124
106
114
135
131
115
111
109
84
91
118
90
132
105
130
86
76
64
67
55
12
58
31
37
38
44
26
13
62
50
65
134
142
170
184
167
159
151
77
111
64
53
43
22
41
87
99
96
165
171
171
186
94
63
116
148
170
83
94
100
103
151
131
101
138
77
10
18
53
22
11
76
101
153
115
59
118
147
70
99
91
87
74
80
59
120
134
129
108
125
30
89
154
112
121
90
38
127
123
75
86
136
119
82
58
61
142
128
73
19
0
10
59
57
58
83
73
171
164
130
92
43
2
21
33
113
67
109
51
104
103
98
105
119
105
98
36
76
46
62
39
71
28
40
43
98
97
96
110
89
102
71
72
109
127
101
54
71
81
71
65
70
111
102
100
62
76
79
76
124
127
128
75
70
66
63
64
56
53
101
107
118
117
111
117
120
131
193
143
116
94
94
100
98
97
104
100
92
81
134
133
73
116
114
86
73
66
64
117
118
121
62
98
64
73
122
115
125
136
138
91
137
130
126
116
110
108
102
94
98
116
131
127
127
128
149
151
94
98
96
96
168
192
195
127
124
115
100
90
92
93
87
134
130
122
116
112
125
86
146
135
72
71
134
81
78
70
69
74
130
77
125
115
104
48
106
110
52
55
72
84
76
70
108
98
105
117
123
174
169
166
167
144
151
150
145
97
100
94
101
108
79
103
129
123
116
98
129
130
122
63
101
116
145
64
68
74
47
88
97
21
17
39
60
54
50
56
74
148
101
139
136
137
130
124
107
147
122
73
55
66
65
97
82
100
129
127
163
166
166
115
107
124
87
97
146
137
109
74
59
70
131
110
38
52
82
32
47
106
52
163
140
94
107
151
172
174
140
91
86
68
93
63
104
131
140
157
141
126
42
90
142
122
91
78
42
109
98
109
65
98
74
51
67
118
94
11
25
65
62
5
49
46
51
71
79
91
141
113
77
99
122
53
35
74
63
104
101
113
124
124
75
81
89
98
60
115
137
144
62
73
47
77
69
101
110
133
125
129
78
86
90
104
130
114
109
43
52
73
41
56
119
109
59
78
86
77
71
79
83
134
72
117
118
74
80
78
93
98
152
144
128
115
106
111
132
184
116
146
142
109
143
126
77
137
72
75
70
119
118
122
124
118
60
56
110
58
52
102
114
67
61
53
56
115
74
139
139
124
51
54
120
132
144
149
152
76
116
56
107
111
117
123
122
121
116
121
140
155
143
130
128
122
76
145
162
164
89
141
139
141
146
151
140
123
121
124
84
94
142
131
130
137
85
89
86
83
136
138
93
142
138
133
74
55
49
53
57
67
70
60
61
90
94
90
81
68
65
124
138
148
164
112
112
110
92
63
43
78
99
88
89
90
90
105
127
136
137
129
136
141
142
120
136
90
90
151
157
149
115
121
96
71
131
134
70
147
142
70
68
134
115
109
143
141
121
64
102
109
113
112
138
136
162
182
174
186
199
174
93
93
128
72
54
62
125
97
80
117
35
70
82
99
111
134
113
91
101
123
79
85
103
61
113
171
175
169
121
94
88
76
48
72
78
92
155
142
128
91
79
34
81
29
0
60
86
89
50
70
92
75
43
98
93
18
16
27
32
18
0
48
50
52
62
90
87
81
108
111
117
112
51
42
63
75
71
120
123
124
119
62
59
48
52
47
66
107
114
80
59
62
79
63
72
104
179
182
183
109
91
81
92
70
107
106
47
61
85
48
105
130
119
123
92
98
84
72
72
79
78
67
113
68
78
83
84
102
107
104
89
69
109
119
127
143
109
88
125
131
111
145
131
133
136
122
79
73
69
121
128
133
126
109
112
113
118
60
105
111
123
74
65
61
65
127
139
82
63
58
62
123
131
140
143
142
94
135
72
118
121
127
136
142
136
130
135
151
166
151
128
81
89
93
94
145
147
106
104
148
89
144
155
153
143
131
76
84
92
86
130
79
89
92
95
91
89
86
139
96
144
86
83
78
69
124
115
63
64
64
61
67
87
70
64
61
112
116
121
131
141
87
99
122
132
108
81
76
115
103
84
33
44
107
121
131
150
151
133
107
152
121
134
90
96
166
178
158
154
147
141
53
93
124
132
63
146
142
78
133
136
109
104
139
158
57
79
146
174
174
149
65
145
184
108
173
201
199
188
102
107
127
95
74
154
117
79
55
52
107
125
146
94
24
43
108
89
97
102
59
81
115
77
74
178
87
99
87
69
79
66
72
101
99
101
109
153
130
135
119
92
93
22
0
50
103
27
56
80
75
113
30
82
83
9
60
63
58
18
27
43
45
50
63
99
92
104
96
80
67
88
57
50
47
61
130
135
120
105
101
47
42
50
98
65
104
115
97
89
68
51
112
120
122
131
133
128
159
97
89
76
94
40
58
114
62
119
127
113
113
126
106
110
145
112
92
70
45
55
59
58
59
69
74
73
79
102
102
89
78
79
139
129
140
97
92
79
130
141
121
139
141
126
122
134
84
88
86
88
91
142
140
139
78
125
131
137
126
117
120
72
66
66
60
110
125
88
89
92
87
61
108
110
111
59
47
107
118
128
127
71
68
106
113
122
126
130
141
141
149
143
93
91
81
72
72
62
137
99
91
132
129
129
126
141
94
103
162
105
101
107
102
101
98
84
78
78
129
137
137
85
86
79
71
131
138
127
66
66
75
93
152
129
60
52
117
73
72
130
144
136
146
124
116
64
51
91
80
135
118
49
72
142
126
132
137
123
85
90
75
119
140
147
118
167
134
127
106
105
80
101
134
105
51
47
73
112
141
126
102
109
144
125
110
128
128
111
88
69
80
147
139
161
120
137
137
195
168
138
138
58
113
135
152
157
179
129
83
104
129
140
88
135
102
102
97
99
132
121
104
114
133
67
71
103
96
144
95
31
42
97
151
159
112
102
91
127
116
88
80
59
65
14
18
0
77
109
100
43
120
89
0
0
0
63
93
42
47
143
43
52
66
71
91
94
77
71
67
63
75
89
83
44
139
115
102
108
110
105
106
116
82
92
148
137
74
73
80
163
113
147
130
113
101
82
66
60
60
56
72
79
57
50
59
84
129
33
116
126
104
108
112
115
62
48
38
116
80
84
70
57
59
114
60
70
82
89
93
98
153
156
151
145
144
147
155
162
161
127
133
81
78
131
126
72
68
66
115
62
62
61
106
100
57
74
140
134
122
111
103
74
82
95
107
143
116
105
76
66
68
66
100
102
123
119
111
56
123
160
172
138
123
99
76
67
68
69
131
141
136
133
78
73
73
69
117
129
82
77
120
121
133
147
89
75
128
131
79
78
128
76
92
107
127
133
132
128
151
90
70
67
88
90
159
164
147
82
81
80
125
125
113
61
60
107
106
112
115
115
138
138
77
75
95
99
55
84
65
93
102
99
43
50
84
99
113
92
154
116
118
156
146
129
120
120
113
100
106
86
67
64
27
49
119
109
117
127
129
128
139
112
133
109
118
158
103
95
102
129
194
160
151
101
125
144
133
161
88
79
34
156
128
162
178
144
126
117
94
86
41
68
61
128
132
108
95
94
81
136
154
139
96
117
112
95
83
103
63
82
143
154
135
102
67
117
109
54
92
95
102
90
30
29
19
0
78
78
86
86
53
38
48
42
89
73
86
38
129
96
59
71
69
98
92
61
72
69
67
79
93
89
48
106
93
96
106
101
94
108
129
154
106
97
135
80
146
164
187
180
137
119
98
81
62
53
47
54
60
131
87
127
66
73
85
95
38
124
69
109
107
111
117
110
91
40
144
107
104
77
56
112
119
119
75
128
84
97
106
106
155
83
74
128
152
160
156
91
66
73
79
78
74
70
70
63
64
65
68
68
61
92
106
47
97
49
105
121
143
157
94
78
72
127
122
113
112
73
64
124
73
54
98
111
118
110
48
103
135
156
179
123
107
94
95
95
88
68
57
105
110
63
59
56
60
49
49
57
76
96
104
97
139
122
58
60
66
77
92
103
162
122
136
148
144
132
120
131
82
83
94
112
147
151
155
148
87
82
132
131
125
119
65
60
53
102
104
106
104
98
118
53
53
115
129
75
83
32
92
86
85
89
24
87
84
77
109
176
130
159
87
68
98
93
45
34
65
71
29
98
117
128
79
132
82
70
136
139
119
84
120
123
110
113
104
103
103
168
196
194
107
106
90
111
135
118
142
129
82
81
163
157
141
125
119
95
36
91
72
12
63
78
97
135
98
89
95
82
90
164
162
165
115
154
138
93
99
130
146
155
163
184
138
118
114
107
59
33
29
37
73
71
47
37
19
32
67
125
44
13
5
26
48
92
67
84
100
96
109
120
80
89
137
77
71
81
69
64
62
66
78
69
22
14
76
41
54
132
154
156
105
100
104
119
140
159
170
193
126
85
61
101
102
102
70
59
56
112
115
113
111
100
115
142
45
53
52
76
148
133
120
66
63
59
79
201
129
92
112
115
143
163
166
143
155
151
90
89
93
102
91
132
131
98
152
139
120
69
70
79
79
67
128
132
124
126
125
122
116
113
113
63
65
126
134
126
114
101
92
102
69
89
147
139
124
113
105
60
108
69
130
124
115
51
52
48
102
120
118
66
73
66
65
78
98
113
122
137
179
173
166
148
132
121
118
132
151
103
91
131
138
153
173
140
148
146
140
141
145
131
115
149
134
79
79
130
95
103
102
82
54
91
107
138
139
133
120
119
132
134
128
79
136
95
102
105
157
104
88
80
50
77
137
116
74
32
24
91
87
88
85
68
60
102
121
129
132
79
53
37
47
38
72
25
46
120
78
71
121
124
122
117
65
62
126
134
134
135
136
84
85
110
116
168
167
168
180
196
135
96
94
107
138
153
121
98
144
113
101
47
60
89
140
120
85
85
100
98
77
91
104
115
93
104
94
117
83
77
75
90
92
87
90
105
68
34
106
112
138
152
127
124
126
104
47
60
47
44
39
34
45
58
48
36
115
103
108
32
88
73
3
37
100
58
92
141
198
133
152
156
146
136
79
134
124
116
117
57
48
66
83
58
18
26
66
131
134
142
141
106
121
184
136
134
173
106
132
72
48
46
97
103
59
56
112
62
73
150
138
124
126
106
95
98
39
47
59
75
139
133
58
50
58
68
129
115
105
108
65
127
141
153
169
152
139
76
74
84
93
92
148
156
139
131
130
129
82
74
84
141
127
137
138
130
122
110
105
107
110
110
101
42
40
94
91
90
91
90
97
113
123
119
123
135
139
124
64
111
63
112
118
135
86
89
77
62
114
109
104
49
60
71
66
55
52
70
128
119
112
115
138
174
142
163
159
164
178
183
177
168
166
171
156
146
136
83
92
155
181
178
179
176
164
99
93
77
66
54
44
37
42
40
46
108
119
123
119
110
97
91
89
37
44
43
34
23
17
53
64
97
132
124
96
67
65
93
78
87
93
87
75
101
120
112
105
61
66
44
54
55
57
67
128
68
53
66
117
123
131
126
115
65
71
142
130
66
137
139
129
140
130
149
162
163
165
172
176
130
129
131
135
135
116
91
133
198
186
105
116
79
103
68
95
95
128
131
145
109
120
126
111
70
46
59
81
93
127
122
154
149
107
85
87
87
117
98
127
136
126
135
108
120
119
78
27
84
80
67
36
32
14
88
136
76
90
98
105
132
56
55
60
128
104
116
90
81
142
168
165
141
91
136
130
116
112
121
115
49
67
83
75
68
90
99
132
131
141
134
164
125
126
116
158
92
82
120
114
50
110
109
105
55
66
72
125
128
142
117
91
123
110
95
106
30
46
102
114
143
146
65
52
59
60
113
107
109
118
68
69
140
164
189
134
114
111
124
90
101
144
101
113
83
68
70
73
84
74
86
146
131
140
136
134
121
105
104
111
115
101
111
104
49
51
97
93
91
87
95
106
109
99
106
127
136
140
89
70
85
148
133
112
80
88
78
58
104
101
99
43
48
51
54
57
62
64
125
123
119
67
85
110
105
100
104
118
129
127
118
123
135
143
139
139
139
142
102
166
161
105
157
155
93
86
84
74
70
121
62
49
40
31
82
90
101
110
107
98
90
40
30
76
30
35
40
46
103
111
101
80
102
90
104
96
72
36
97
92
87
92
89
18
53
113
105
92
57
52
22
16
27
107
119
54
85
85
122
117
128
135
126
65
74
88
79
70
83
139
131
133
123
142
155
155
157
163
164
116
133
139
139
137
125
119
151
119
143
125
102
102
110
93
86
156
144
113
91
124
117
131
111
66
54
86
108
105
114
114
166
115
116
90
97
79
50
74
148
165
152
126
164
74
101
178
80
132
95
122
106
21
22
56
105
56
98
115
138
47
29
48
38
44
96
113
115
116
105
107
163
160
145
135
121
117
117
116
115
115
74
105
134
191
129
104
85
80
137
141
135
129
72
117
112
61
66
117
67
116
110
107
109
111
115
101
101
139
77
115
72
114
109
53
49
46
111
108
108
123
91
71
52
52
45
66
115
56
61
75
86
88
144
138
116
119
129
136
139
141
70
82
81
64
72
80
90
107
103
100
151
150
135
130
148
135
110
104
114
112
108
96
45
62
76
116
102
93
85
113
115
112
56
54
58
114
130
79
133
142
161
167
156
79
63
58
72
135
74
74
126
128
126
78
87
94
117
183
171
164
102
84
76
72
76
129
132
132
134
136
140
142
136
129
123
123
126
77
127
120
74
86
144
87
74
56
40
95
49
60
67
48
37
27
79
103
110
110
113
55
73
82
154
140
150
142
100
148
104
84
82
49
71
78
77
63
99
94
88
83
41
27
37
50
38
66
66
19
27
17
24
84
89
40
45
62
118
116
118
128
134
125
69
84
66
79
70
126
78
61
103
120
140
145
152
152
153
164
122
118
128
128
115
78
119
130
128
122
115
91
110
104
90
86
118
131
151
114
122
132
108
103
121
163
158
127
173
115
103
93
106
109
96
143
102
107
119
125
130
128
129
73
69
29
61
106
77
128
99
65
55
30
8
125
89
55
58
79
32
99
56
49
77
102
143
40
8
157
114
124
163
139
135
115
123
123
124
134
152
175
149
143
181
100
75
72
133
132
124
121
64
63
111
107
57
59
73
121
111
110
107
105
100
106
102
77
108
91
114
43
42
41
99
105
107
116
113
102
116
142
82
72
72
110
102
108
65
90
119
126
112
101
92
95
147
140
126
115
109
120
62
55
68
67
67
78
73
68
64
72
94
92
73
61
123
133
143
146
140
126
127
79
79
75
72
129
130
127
128
130
79
79
77
73
122
68
126
74
68
79
93
147
151
154
141
121
140
152
98
117
119
114
108
105
95
95
89
93
105
115
113
106
102
154
143
132
128
127
121
110
101
103
52
108
112
121
80
92
69
58
57
40
27
29
34
24
92
57
58
49
58
74
80
141
164
164
165
116
121
163
103
110
84
130
118
129
116
54
98
92
94
43
34
19
23
22
85
101
85
91
104
31
31
86
94
87
21
16
16
66
63
58
52
0
0
0
48
4
62
66
14
80
106
72
69
52
74
54
124
144
113
140
136
157
159
144
146
110
121
110
119
119
141
132
127
140
133
117
98
128
121
128
125
99
83
98
78
100
80
132
122
169
185
110
97
112
199
112
104
139
128
84
128
105
130
156
136
128
110
153
105
112
87
105
108
127
143
79
24
113
44
0
0
71
73
89
100
105
68
78
75
85
50
34
1
71
165
183
178
156
135
123
121
128
132
142
155
176
196
206
172
148
126
125
130
130
127
128
71
66
66
65
115
113
63
77
123
110
111
59
58
106
100
91
92
144
41
105
106
40
39
99
109
113
120
119
108
116
138
79
74
76
116
113
129
98
118
133
122
97
81
83
105
160
151
137
130
132
125
63
54
64
58
57
68
125
127
84
102
125
98
67
57
54
105
59
67
74
69
78
93
154
154
149
137
63
100
120
125
124
65
56
51
102
64
64
59
51
55
61
57
117
147
152
127
146
162
155
98
98
91
136
84
82
103
109
129
140
133
124
112
91
128
125
125
133
142
143
135
126
125
66
64
110
104
104
57
57
48
44
30
27
39
105
113
123
131
79
74
76
83
110
118
183
166
144
68
72
129
116
128
114
169
155
154
122
100
98
45
104
109
53
100
51
48
50
60
40
93
104
111
42
83
84
26
72
67
58
1
0
43
43
0
0
42
45
0
0
0
0
59
73
48
34
85
60
40
119
118
120
131
147
175
170
152
158
115
114
142
174
178
202
128
126
143
133
111
87
101
147
108
93
98
46
47
80
92
77
110
104
172
189
94
136
125
182
121
124
133
124
99
135
131
164
139
109
66
103
76
136
106
83
92
101
125
91
89
113
42
28
0
102
62
54
80
91
101
117
64
50
40
66
85
56
55
185
177
162
149
77
80
91
97
162
177
185
192
142
115
71
66
120
129
82
133
130
80
121
70
74
131
129
127
75
76
75
71
119
65
60
58
61
81
139
113
52
104
63
58
50
53
61
112
115
116
108
106
68
64
66
126
119
124
141
156
164
114
104
94
96
102
157
151
141
131
126
127
76
81
77
63
53
96
100
106
67
92
115
120
121
135
151
135
127
133
92
107
81
80
84
82
143
157
157
155
167
91
90
133
119
58
57
59
85
80
83
86
96
103
101
132
127
139
165
156
136
130
155
161
164
110
101
86
78
88
95
86
80
143
100
153
163
169
174
176
169
158
146
136
112
111
118
119
111
106
54
50
53
57
93
46
57
59
47
65
143
112
122
98
87
76
75
90
148
141
68
187
147
122
129
124
138
139
138
99
82
89
91
71
92
85
43
44
31
43
48
53
70
60
27
21
81
94
107
99
78
24
19
63
54
47
45
46
41
42
0
0
43
41
0
0
0
21
54
35
71
150
70
149
138
162
116
116
122
124
120
98
80
182
171
172
134
132
132
109
148
86
85
84
157
105
42
34
37
59
49
98
115
108
89
89
134
160
113
113
172
123
115
123
135
181
160
153
128
68
91
72
24
39
26
26
69
133
135
115
62
51
163
165
83
113
102
126
101
77
58
53
47
54
40
58
87
79
49
140
85
81
128
102
116
165
180
184
189
183
163
88
74
74
81
86
138
84
134
130
125
118
121
126
128
72
119
116
68
87
62
60
57
64
49
113
54
49
123
142
100
100
57
103
93
37
44
42
100
101
61
72
61
137
152
129
146
138
132
143
132
70
79
67
58
131
129
125
72
122
118
131
144
161
167
148
131
123
126
83
124
158
144
167
155
124
110
106
108
53
58
86
75
79
120
112
118
116
117
132
101
107
162
95
88
144
145
107
100
105
91
76
73
71
127
132
131
126
147
148
140
127
131
131
74
74
79
80
79
133
139
94
95
140
133
131
135
144
142
127
120
127
133
132
139
137
128
117
115
118
123
65
49
99
53
52
52
121
166
146
65
43
42
46
37
34
22
87
95
54
215
187
120
171
134
147
150
136
117
97
77
95
51
73
79
89
90
59
41
49
55
54
48
59
34
89
107
129
123
87
34
30
26
31
92
90
97
33
26
43
43
112
105
65
35
83
78
78
88
81
77
105
118
154
76
82
112
117
98
123
97
116
173
185
191
192
145
120
122
143
130
136
178
55
67
34
41
36
70
123
133
121
180
131
122
132
147
142
106
52
84
103
140
174
186
168
160
166
88
84
63
39
76
72
37
55
17
0
16
144
141
106
69
76
106
78
60
145
119
108
85
128
64
42
74
90
95
74
92
80
77
137
105
118
176
184
194
196
127
94
72
84
81
84
85
132
129
126
123
119
67
67
122
122
65
61
113
129
105
112
61
59
44
106
82
115
153
150
135
144
89
100
102
94
35
38
98
110
72
121
121
115
142
153
124
141
90
78
134
78
71
76
66
57
122
118
119
127
135
139
154
152
157
178
177
173
117
101
141
115
151
147
127
177
134
126
133
89
82
71
57
96
116
119
111
158
145
129
73
149
154
82
65
56
55
66
141
76
61
54
57
61
62
64
70
74
127
127
119
110
125
125
123
125
86
98
77
76
82
88
86
74
114
112
127
124
130
130
119
112
119
126
148
140
131
120
112
117
126
116
115
102
45
68
96
120
129
130
72
111
103
41
36
33
38
77
84
74
35
222
183
119
122
139
148
147
137
127
164
86
80
117
124
128
95
56
68
24
27
37
39
43
55
40
97
116
134
117
84
36
86
83
34
42
44
46
57
96
105
98
115
111
126
98
130
64
64
79
75
73
109
131
89
82
87
101
112
119
122
113
128
177
195
196
195
190
171
165
123
125
138
102
81
66
43
39
65
65
87
122
180
187
192
139
129
122
125
119
73
138
169
139
126
192
199
111
138
85
133
85
66
74
30
27
42
0
77
72
99
149
106
103
89
62
96
87
118
128
114
97
123
105
59
53
16
94
83
102
109
170
183
190
137
194
185
170
98
87
81
79
80
71
73
72
119
116
116
115
62
61
112
111
107
104
55
112
120
141
92
68
96
83
97
105
77
113
109
120
104
89
100
61
111
96
95
122
131
80
76
127
129
134
129
68
73
106
92
79
138
132
132
133
132
142
141
135
131
129
129
61
69
129
120
111
114
122
67
124
98
122
113
117
190
170
159
104
106
104
103
101
101
79
56
51
115
125
71
67
109
104
95
95
92
77
67
63
64
42
43
45
43
40
103
48
55
123
129
133
144
137
147
146
134
133
143
83
136
76
72
77
83
133
127
108
96
47
59
61
59
116
122
115
124
131
133
128
122
118
134
150
159
111
94
67
51
127
131
136
140
87
129
121
116
121
51
121
105
126
227
220
149
147
157
152
137
130
133
86
113
97
80
74
110
60
70
85
55
55
50
31
21
26
36
98
120
133
102
87
91
92
40
38
41
51
45
37
39
111
104
113
49
112
129
72
50
54
80
81
72
74
118
138
81
92
105
99
138
101
118
125
184
194
185
153
191
163
156
134
85
103
100
93
71
74
46
47
78
135
189
191
190
191
188
120
121
144
139
154
106
171
120
140
218
143
114
98
162
137
125
90
96
99
66
6
54
95
109
94
62
74
83
57
65
85
97
165
172
127
179
152
119
111
118
50
60
36
191
209
197
171
174
165
159
145
137
131
129
71
65
54
109
64
70
120
115
110
106
48
96
96
46
48
102
55
62
120
64
108
71
62
109
59
63
62
151
153
86
96
103
101
111
116
124
135
89
92
144
131
120
131
134
138
143
81
107
97
86
129
112
116
120
69
69
66
58
105
108
62
69
65
63
122
121
119
119
72
131
74
62
70
91
133
121
122
80
94
103
112
113
96
77
75
75
58
93
100
63
57
70
142
125
78
104
160
110
110
74
63
50
51
118
132
119
60
119
130
139
150
157
140
120
60
118
125
70
122
76
85
90
88
138
141
167
113
113
107
97
96
149
144
89
82
87
93
145
145
146
142
135
120
67
67
111
54
58
66
76
80
70
102
102
101
106
113
115
101
72
217
220
154
150
153
147
137
129
123
155
153
142
139
124
79
70
114
75
138
109
92
52
56
37
44
109
120
107
98
99
54
40
40
44
39
45
47
42
46
118
105
58
104
120
114
58
59
60
79
79
110
124
143
112
121
143
152
150
151
115
117
179
133
168
105
143
201
186
166
136
157
98
82
96
100
92
110
69
109
178
201
191
204
203
178
122
135
133
200
165
114
153
176
187
194
104
93
104
69
48
86
32
4
33
139
48
50
41
51
83
48
88
136
97
69
174
115
153
163
171
165
172
159
109
0
0
39
89
154
163
200
185
190
170
159
136
133
131
126
67
55
105
112
117
68
65
113
107
50
44
91
90
95
47
50
55
59
56
76
52
107
138
47
47
42
124
163
143
100
108
100
64
122
133
99
106
90
93
132
125
114
123
123
135
97
93
96
84
82
70
61
73
68
68
62
57
53
103
111
121
124
115
57
68
123
125
74
87
85
122
112
66
62
49
49
48
61
81
98
106
89
133
78
81
77
62
116
128
132
103
127
140
126
75
96
100
110
112
96
90
67
106
122
158
142
77
128
147
155
162
137
64
49
52
58
57
57
53
60
70
76
75
128
138
145
100
101
86
73
81
91
86
64
73
76
68
61
59
114
94
66
83
81
126
123
127
125
75
82
87
133
113
110
110
105
122
109
97
62
126
215
215
219
214
198
186
173
109
165
156
162
137
118
107
73
84
128
118
101
107
120
63
37
38
58
120
95
103
56
67
44
95
51
43
44
54
56
102
110
93
52
50
115
119
122
131
70
82
138
120
141
126
123
132
148
149
136
128
167
120
188
127
116
110
136
144
184
165
138
161
144
135
156
141
161
119
138
115
199
199
199
196
128
166
169
179
182
140
154
125
86
135
135
134
126
120
96
89
48
53
16
59
109
43
22
53
85
104
116
121
179
150
65
69
209
90
137
151
161
155
151
142
120
0
53
45
37
190
165
95
102
101
137
129
125
71
119
62
56
50
100
108
109
58
59
55
50
43
40
92
96
101
103
104
107
55
57
54
55
55
54
55
111
103
122
126
118
135
140
139
100
106
121
126
120
95
75
49
60
65
57
62
88
86
73
81
80
74
74
72
71
75
78
72
70
125
122
66
119
120
126
75
52
41
92
95
50
54
115
121
63
53
59
55
78
96
103
159
113
111
75
118
62
122
139
150
146
135
120
112
51
49
62
78
88
169
158
108
91
89
145
132
145
167
171
150
136
133
120
129
79
73
70
72
62
74
62
63
63
62
117
123
125
129
83
89
80
60
55
118
74
85
61
54
45
47
59
69
75
122
75
125
118
64
114
116
116
110
109
109
106
115
115
107
99
96
45
97
37
67
110
216
228
208
207
204
128
98
159
180
135
143
110
55
54
116
100
117
97
95
34
20
38
51
100
45
53
110
52
106
117
64
51
52
53
97
108
103
90
39
48
103
112
127
132
125
78
143
140
123
148
111
126
158
102
71
106
158
172
177
171
122
131
132
180
159
162
159
141
165
142
147
177
122
75
171
167
174
174
188
132
193
185
177
182
145
105
139
128
148
141
164
125
126
118
115
70
81
82
167
118
110
65
30
62
88
74
114
186
203
118
55
108
76
69
157
147
139
113
79
75
54
78
102
72
77
161
149
90
86
60
58
63
68
64
63
60
108
54
52
104
55
58
106
49
46
45
48
57
107
108
111
117
119
67
65
61
63
63
62
64
120
126
130
142
162
110
105
117
188
134
123
108
91
74
66
66
61
69
77
78
85
86
71
73
65
58
62
67
67
68
68
66
64
116
110
49
47
108
108
54
35
33
38
47
47
105
115
118
114
55
62
58
109
53
54
120
141
101
119
167
161
151
144
140
143
146
144
138
97
111
119
119
170
165
109
158
90
93
159
164
151
142
135
136
76
129
83
115
120
69
76
95
104
97
98
96
95
150
104
156
143
110
65
56
70
96
125
103
76
71
64
65
61
60
61
56
52
111
125
59
97
93
92
93
101
53
51
99
46
111
117
115
108
98
91
89
46
53
50
124
160
189
212
213
195
158
165
130
127
135
130
105
113
122
134
135
120
90
41
40
34
32
39
44
92
89
102
98
55
64
65
71
105
116
107
47
55
69
64
99
110
139
135
120
77
133
137
160
135
114
111
139
135
108
104
131
155
161
167
116
134
186
184
185
177
169
174
190
199
196
186
141
111
187
153
150
161
169
186
207
178
83
139
150
128
133
148
208
213
203
149
141
166
139
67
112
138
140
119
123
26
68
102
100
55
88
132
121
25
118
81
73
79
119
109
86
76
70
1
57
121
82
24
11
159
148
88
78
56
59
69
71
69
68
64
113
58
56
54
57
59
105
97
94
97
104
59
110
113
69
76
77
76
72
66
58
57
59
65
73
140
150
164
172
154
105
122
135
178
155
137
131
127
124
123
120
75
82
86
96
91
67
69
62
57
64
68
64
64
65
59
56
57
50
43
95
108
55
52
91
41
47
53
60
111
116
129
140
60
42
46
51
112
122
136
146
141
145
156
114
119
166
165
172
183
175
154
91
101
166
169
161
102
102
107
95
149
160
162
139
138
142
152
148
83
74
69
120
66
77
100
110
75
58
66
130
145
158
159
145
77
61
47
75
110
140
109
117
62
67
75
73
68
57
46
110
119
135
70
108
105
105
81
86
34
35
34
34
47
43
91
87
81
80
32
47
47
119
80
126
134
177
209
210
168
177
128
133
120
125
106
73
127
136
126
116
83
42
41
34
34
45
99
90
85
105
102
59
68
68
125
107
115
103
42
51
61
104
92
132
145
122
59
86
137
126
146
147
121
85
106
72
45
119
139
168
160
111
123
144
124
143
128
133
177
193
184
185
194
185
108
127
132
149
143
157
160
180
152
137
98
133
81
126
111
134
178
210
207
211
186
166
97
85
98
100
176
165
174
70
47
82
95
116
106
142
88
140
83
73
98
73
91
70
0
0
47
0
0
98
108
0
22
148
136
69
62
64
67
69
71
71
70
121
117
114
62
57
57
56
52
46
44
101
54
66
125
78
81
81
81
79
125
130
149
153
94
88
85
155
155
143
138
159
160
104
103
146
120
107
121
127
129
127
137
94
90
100
127
119
60
119
120
70
127
78
75
127
116
105
97
101
102
50
107
103
51
103
104
52
53
105
54
54
103
104
56
127
130
143
140
138
142
97
161
125
183
127
120
110
96
137
143
104
191
131
102
92
154
147
126
137
138
85
79
123
115
110
128
134
132
127
162
118
111
155
149
98
100
97
101
112
96
146
140
131
127
128
128
61
71
151
117
102
133
122
114
122
113
56
49
100
100
93
86
87
98
53
58
123
131
140
130
113
105
103
99
52
97
89
31
83
88
96
94
111
62
69
121
104
92
117
159
128
143
175
159
125
117
80
82
146
169
157
147
127
70
34
37
36
31
85
92
96
103
105
116
119
112
121
136
126
119
108
103
99
92
99
53
121
129
97
116
91
118
132
149
70
62
63
73
91
107
161
175
124
89
114
138
87
100
141
133
111
184
189
196
194
134
127
106
77
75
136
136
158
188
187
141
149
136
139
124
110
125
108
191
215
189
186
106
97
59
79
106
83
22
72
92
86
152
112
119
117
163
119
143
92
72
77
0
0
55
48
11
38
44
55
70
9
6
39
127
72
70
69
115
56
53
52
54
109
111
111
111
61
47
99
100
50
51
106
58
63
71
78
81
82
83
91
98
126
125
176
118
106
96
91
133
134
143
155
86
147
177
137
141
172
149
145
119
122
147
91
95
96
90
96
100
88
93
87
77
123
67
65
66
120
113
107
110
108
105
107
108
105
49
51
56
57
56
122
70
69
123
136
155
152
154
145
139
149
166
171
160
158
96
88
91
90
83
84
88
110
125
137
131
161
143
137
139
145
77
70
67
73
138
155
154
111
173
132
63
63
129
68
88
116
114
102
99
137
128
115
108
113
119
117
128
165
151
62
60
57
47
108
53
83
91
89
145
145
136
138
120
109
114
79
150
158
145
144
134
124
67
60
121
118
118
119
114
107
104
102
50
45
46
63
127
118
107
60
91
103
169
144
166
86
100
80
149
153
149
139
154
81
42
51
44
23
36
99
96
94
87
86
81
75
90
115
154
141
121
62
70
121
58
119
57
71
102
113
101
103
121
113
81
86
50
38
106
102
177
155
97
117
110
142
120
188
125
114
127
189
166
200
206
125
135
131
104
157
158
158
165
193
140
147
140
99
101
123
122
107
138
182
219
211
65
74
127
138
121
132
101
61
62
147
179
195
108
90
87
19
131
59
61
68
122
79
113
76
97
101
20
27
81
26
27
50
70
77
71
63
112
108
102
45
49
46
98
99
50
49
44
45
96
91
97
105
104
56
67
77
76
76
78
87
102
113
118
158
88
81
84
92
93
92
91
141
137
109
103
115
139
119
123
152
129
110
127
158
182
186
153
85
112
123
77
98
102
93
92
84
81
90
156
152
148
145
90
88
140
140
125
122
129
77
82
83
97
101
105
151
155
176
164
136
130
130
137
142
139
136
125
71
73
65
53
61
73
68
103
176
193
206
199
176
158
150
156
89
84
91
150
150
152
77
75
148
120
49
105
73
88
97
81
67
88
77
149
93
139
134
130
128
125
175
77
60
66
105
87
87
94
131
146
148
146
94
97
96
75
123
119
127
88
132
110
149
95
37
31
32
84
65
80
66
81
140
116
114
123
57
59
49
50
51
82
69
38
26
60
93
91
108
122
99
92
80
136
145
161
158
134
99
66
54
96
102
76
89
90
44
83
72
93
116
117
154
124
124
86
128
118
115
123
72
70
138
170
127
117
113
116
134
134
32
64
39
85
180
75
61
111
103
121
116
181
105
119
140
111
119
213
205
107
114
113
131
172
167
169
184
137
144
145
121
108
126
108
128
132
105
153
228
74
92
140
61
131
84
64
150
148
45
141
163
107
85
99
90
52
39
56
121
0
66
79
76
26
0
75
35
20
28
27
66
40
23
61
56
104
104
106
106
52
49
100
100
102
51
52
50
59
58
108
116
76
82
85
93
94
85
80
78
80
134
136
125
123
121
131
105
119
115
95
148
144
138
118
63
65
73
79
86
142
87
143
174
193
183
177
169
162
176
184
171
132
137
186
135
132
132
139
187
191
187
176
164
101
148
96
89
99
136
139
138
131
124
124
118
105
147
148
135
118
115
113
113
112
111
122
126
75
78
77
72
75
76
69
135
123
117
128
141
151
160
158
151
75
74
74
61
46
111
130
136
120
58
68
73
83
66
64
78
87
82
78
93
75
64
68
67
119
140
83
66
63
68
66
117
123
126
128
133
134
134
136
141
146
88
74
112
109
118
108
32
88
79
49
75
112
108
93
54
67
69
71
72
109
141
105
102
94
93
94
78
122
140
83
140
147
141
78
68
57
93
89
164
176
151
76
134
108
99
82
91
135
145
110
60
59
55
105
100
94
146
127
104
116
128
113
122
138
113
132
125
108
121
147
109
116
110
80
96
81
39
79
127
135
48
83
38
93
148
145
177
108
82
91
103
129
205
203
138
85
100
134
124
179
191
188
143
129
105
118
141
136
100
122
149
155
175
28
190
97
86
96
99
73
129
111
140
83
145
166
136
119
107
136
92
27
8
34
145
51
41
39
9
5
37
38
15
20
115
125
35
61
41
41
94
96
103
54
55
109
108
108
54
103
101
50
118
128
83
91
101
102
98
99
91
134
76
75
75
126
125
119
129
135
140
155
155
137
68
66
66
62
89
110
108
112
124
122
102
144
178
179
163
148
137
135
156
192
201
136
126
66
114
117
76
92
154
105
145
133
121
117
67
71
90
93
109
125
116
98
81
68
66
70
124
121
74
71
63
65
65
112
109
113
132
118
128
80
128
121
64
67
128
116
116
119
125
123
118
121
135
156
155
77
67
78
95
158
150
143
138
74
66
58
67
144
81
69
130
114
71
34
43
52
61
134
146
77
63
78
86
80
72
127
138
98
134
143
154
153
137
112
42
40
38
91
83
89
95
89
13
40
19
2
13
76
112
146
108
83
76
68
67
119
84
72
67
78
95
94
138
140
123
99
98
63
66
67
82
97
100
139
162
147
116
109
125
115
111
106
126
124
116
111
44
56
149
167
156
167
159
130
68
65
111
134
155
156
138
118
127
152
152
85
85
91
103
145
150
140
145
150
85
131
120
157
124
107
132
146
125
103
106
113
186
196
190
153
143
125
110
127
139
145
148
147
150
141
106
84
92
130
138
158
62
68
175
209
163
128
126
147
100
51
87
83
30
129
156
105
116
119
130
151
143
147
141
70
120
142
97
81
58
95
70
61
89
57
90
37
47
88
39
94
98
103
104
104
105
106
106
102
97
43
99
119
131
87
90
146
145
139
89
87
131
126
124
125
127
128
124
134
146
145
149
143
126
126
122
69
66
119
154
153
111
118
109
87
86
187
175
148
136
127
125
139
174
182
144
80
78
84
140
98
161
166
90
81
124
65
70
82
91
121
122
132
115
98
83
123
109
107
65
126
123
121
119
71
75
76
121
116
117
125
119
130
133
129
124
116
116
128
126
75
79
135
129
123
126
127
142
157
95
86
87
92
103
94
141
140
64
62
70
87
80
55
45
68
134
65
38
55
76
137
126
56
52
122
141
99
99
96
147
97
105
80
129
126
113
45
38
39
39
43
100
81
77
77
73
22
8
0
10
20
42
0
116
120
81
49
53
47
127
90
75
69
78
89
92
89
141
108
92
88
91
93
56
81
112
175
185
139
169
133
62
65
58
110
92
97
85
82
40
25
38
76
151
156
166
157
86
71
67
122
130
137
143
114
90
105
132
77
67
76
90
88
133
143
136
163
150
144
152
145
108
116
148
128
87
129
118
125
114
182
180
188
159
144
115
104
130
140
139
150
151
202
184
135
114
90
127
125
81
57
156
194
223
154
141
154
141
102
57
117
48
64
124
165
151
108
103
159
146
123
132
162
105
129
131
147
141
64
89
59
51
72
58
96
115
143
86
90
96
99
47
99
98
102
105
108
105
51
50
111
136
149
150
137
129
126
129
135
74
119
110
104
103
110
115
144
147
161
149
137
129
123
125
131
93
90
108
112
81
115
50
63
94
127
190
155
144
130
135
141
125
117
134
158
94
102
113
108
102
144
77
82
90
90
90
95
107
116
119
124
121
74
65
77
140
119
112
115
120
110
105
106
108
57
53
49
109
128
155
99
104
153
158
166
154
138
139
141
88
91
145
138
134
141
148
139
135
89
92
93
93
96
145
139
134
86
82
71
63
83
79
78
85
75
118
109
109
91
66
68
139
135
127
128
127
141
113
117
107
109
57
6
13
84
43
41
40
89
85
84
65
60
57
54
68
24
24
34
40
21
124
113
133
89
71
54
57
115
64
53
49
44
37
97
119
82
102
106
135
156
168
167
106
91
89
121
85
106
72
102
89
82
134
110
147
118
52
61
64
71
59
39
103
162
157
104
76
117
128
118
123
168
175
160
136
125
71
86
113
121
124
111
190
161
187
167
176
157
162
103
136
113
115
90
118
111
137
174
206
183
195
145
119
58
118
138
138
150
137
194
195
176
164
152
128
138
34
103
160
158
201
180
149
159
110
94
58
76
125
73
70
128
151
160
185
162
153
190
173
84
74
168
97
59
124
118
101
104
105
45
46
93
111
80
108
79
87
41
47
47
92
95
96
96
99
48
50
53
78
84
79
123
118
115
116
64
62
57
100
97
101
110
122
128
142
145
139
126
117
112
113
114
68
76
78
75
74
73
64
61
79
118
192
165
153
150
147
136
128
130
128
133
171
98
82
136
91
103
162
107
98
108
99
86
81
90
96
87
97
115
115
141
121
65
123
114
122
135
125
111
106
49
61
84
98
148
142
124
59
126
132
80
92
168
179
176
189
185
115
158
168
175
172
165
146
135
94
95
84
74
148
96
158
170
94
92
101
114
112
101
97
110
111
99
151
138
135
144
199
141
137
115
114
161
144
120
42
12
0
24
86
40
46
97
38
83
80
82
73
65
59
61
76
105
58
51
49
51
120
105
98
66
54
55
37
26
25
30
51
75
93
105
163
163
161
133
122
111
116
132
152
161
144
97
85
71
62
76
97
146
82
68
129
71
84
134
63
79
53
34
52
74
52
119
133
132
131
143
145
139
169
191
214
196
206
203
166
161
157
129
149
152
175
191
193
177
184
181
112
156
147
148
75
104
130
147
168
204
205
144
144
105
137
170
109
133
117
125
149
142
165
163
150
144
124
171
147
181
149
151
164
148
154
96
84
70
79
70
60
43
90
171
154
162
137
126
147
160
153
47
28
116
39
130
116
70
139
109
41
46
103
75
87
118
29
91
96
47
100
95
44
43
92
93
42
99
51
71
66
114
111
111
113
112
114
114
106
104
110
117
129
136
139
91
89
124
117
111
109
58
58
59
61
62
64
69
71
71
78
157
190
194
153
156
106
106
94
79
130
137
146
178
98
82
134
86
86
87
85
76
115
119
98
91
99
99
133
65
73
161
136
117
69
81
122
73
80
124
127
134
140
147
160
163
151
138
123
55
74
80
78
96
132
199
191
205
198
163
151
157
117
133
135
184
166
167
119
112
100
91
106
160
108
95
87
109
103
89
91
116
125
99
103
110
101
164
180
179
130
186
194
121
84
96
68
7
10
15
50
50
50
45
39
84
80
80
82
69
60
15
24
33
52
66
57
46
60
153
132
110
78
122
78
68
59
82
150
160
116
108
93
131
123
119
101
108
117
72
129
132
137
100
73
67
58
62
81
91
97
93
80
105
132
89
71
43
68
53
44
61
77
74
76
116
114
120
119
65
132
108
213
220
175
201
156
164
166
213
130
150
148
116
191
207
113
133
182
140
106
91
70
58
139
172
194
195
206
194
126
131
97
148
172
144
182
142
132
141
141
151
152
173
168
153
211
206
183
210
151
158
118
76
120
115
102
78
59
74
66
118
199
146
154
180
172
116
115
168
94
83
84
19
73
130
78
138
124
83
169
129
101
108
116
88
99
101
47
100
98
45
31
80
31
37
42
95
98
44
48
105
110
62
65
67
69
68
80
92
155
157
149
142
130
71
56
105
103
100
98
48
47
52
56
55
56
61
91
127
202
188
160
143
139
153
108
107
104
111
110
146
132
120
123
81
69
50
98
49
50
144
117
113
109
109
150
102
91
36
50
101
106
114
74
136
153
117
116
149
156
151
145
96
104
105
158
160
140
80
73
71
71
77
97
118
151
141
152
98
152
105
98
101
148
147
82
70
81
103
115
107
142
123
139
133
113
97
129
129
148
142
109
81
115
115
137
154
97
146
141
96
92
86
83
76
15
5
0
17
27
29
24
19
69
69
71
75
20
13
29
43
44
58
116
110
60
43
44
55
60
76
90
80
63
55
58
47
61
71
117
103
97
103
111
44
48
103
102
107
126
150
50
9
24
84
36
46
40
25
26
122
135
106
123
130
120
82
66
61
62
54
75
78
78
139
133
108
92
37
45
133
225
196
206
168
116
158
162
170
170
163
141
199
178
168
181
183
94
120
116
154
150
145
171
173
195
207
123
129
133
82
144
195
148
167
118
160
131
121
102
98
122
106
217
191
204
225
140
183
163
184
168
143
140
71
31
25
14
29
65
138
134
76
118
130
165
149
164
113
51
144
114
84
112
96
65
115
60
43
61
70
126
104
94
52
51
95
97
92
90
33
31
31
34
88
89
98
54
58
118
69
72
74
76
133
90
152
160
110
158
151
145
63
60
53
48
46
97
45
94
93
45
47
43
109
76
137
198
185
146
122
132
125
115
71
80
88
92
80
68
142
134
132
126
59
105
109
112
67
154
129
148
121
78
116
103
112
119
93
85
95
114
134
137
79
81
81
124
140
86
137
96
106
101
149
164
141
127
76
99
107
98
101
118
55
11
0
45
43
1
8
10
0
5
9
8
10
17
59
46
98
123
142
143
164
163
131
106
105
127
154
136
111
115
105
109
137
144
135
140
142
144
140
70
39
12
0
9
65
17
17
19
73
22
90
86
42
31
31
43
48
36
95
83
32
38
44
37
64
73
70
63
65
71
66
81
140
141
125
106
98
51
58
107
62
66
119
124
125
125
70
77
87
152
149
147
160
158
84
130
172
101
104
101
106
112
111
136
96
68
58
53
70
127
135
154
104
100
115
116
131
114
101
72
104
141
130
133
109
153
160
194
181
171
185
183
107
158
151
146
76
143
165
163
123
77
50
163
110
101
150
182
169
166
91
167
192
140
113
79
65
73
175
211
216
145
134
167
157
137
129
109
59
24
42
70
62
135
193
43
90
152
49
103
138
153
134
140
150
86
105
99
110
97
68
18
0
15
82
58
56
50
97
55
53
96
97
90
87
38
35
33
85
86
88
52
111
116
122
75
74
75
79
84
142
149
101
152
149
145
145
125
72
59
49
45
44
46
98
96
96
44
44
66
90
201
190
162
128
110
119
121
117
124
132
89
88
77
76
146
135
126
115
107
115
127
131
136
151
166
139
114
126
126
48
62
133
117
91
91
109
113
118
118
71
80
67
135
106
154
106
105
90
87
178
186
142
140
129
118
49
10
25
6
53
57
65
57
52
64
2
8
7
57
60
61
8
0
9
51
50
79
27
113
115
144
172
167
152
101
40
88
100
87
89
117
104
65
53
61
22
31
29
21
24
32
83
79
27
27
28
83
32
102
43
52
37
28
41
49
92
93
80
87
92
50
67
48
56
58
53
42
29
42
102
109
112
103
43
99
115
128
134
136
135
138
144
139
128
61
36
120
88
108
147
136
93
109
80
192
14
35
71
120
112
94
60
68
41
33
44
103
96
110
96
108
117
144
147
137
130
85
126
91
135
84
201
160
151
178
207
166
167
154
188
86
211
188
137
136
153
150
135
148
58
101
125
99
118
164
174
176
176
188
168
189
100
84
82
41
74
152
196
211
166
137
130
144
151
80
126
69
55
93
50
105
125
112
40
73
136
118
56
93
158
140
152
121
126
147
78
118
170
77
48
11
49
81
121
55
43
40
52
46
89
94
89
37
32
32
35
88
95
107
79
117
122
126
128
133
89
94
148
130
117
56
51
99
104
107
112
106
51
52
50
96
95
88
87
34
39
63
86
166
170
153
134
120
111
115
70
83
137
135
130
80
77
80
57
55
51
104
109
118
126
130
117
119
126
132
133
128
123
106
104
102
93
90
96
106
106
113
120
129
137
131
85
87
84
81
101
114
122
114
78
176
198
164
57
13
0
0
0
40
40
51
58
40
40
36
53
46
68
62
0
59
47
50
56
7
10
64
63
78
59
52
65
97
81
25
53
4
6
83
83
62
57
60
33
32
76
35
42
41
48
42
91
41
95
88
40
113
106
48
46
75
34
42
28
82
94
99
96
102
50
96
19
38
105
50
50
112
140
131
142
131
118
72
130
124
121
99
97
96
115
115
84
34
56
34
154
145
112
108
121
137
134
113
34
40
57
93
94
68
80
74
59
54
111
51
86
119
111
64
64
95
111
169
166
196
208
187
135
178
155
195
166
196
201
202
150
150
184
194
166
193
127
103
107
136
91
109
160
88
94
76
131
49
110
163
165
90
193
170
91
116
68
73
88
101
143
150
147
124
84
69
167
87
63
111
110
105
64
61
42
57
66
129
90
163
145
75
51
41
92
76
74
113
155
192
126
179
206
131
50
80
39
95
93
91
23
33
36
31
31
38
42
39
90
93
101
112
74
91
130
81
133
132
133
135
83
78
56
54
53
103
98
46
101
102
45
99
50
49
96
94
87
89
93
45
78
112
134
104
140
126
71
68
71
79
80
136
135
82
84
78
71
62
60
57
108
107
109
115
124
117
115
107
105
112
119
121
109
106
102
101
102
104
105
114
112
106
108
119
140
104
160
104
122
98
78
88
151
123
111
110
70
0
3
43
50
49
52
48
58
78
67
59
103
65
84
76
77
80
9
18
70
67
21
22
60
7
74
69
63
66
84
50
0
0
5
54
72
28
74
71
47
23
39
34
32
38
45
57
103
98
47
96
39
44
107
109
101
81
94
94
80
76
99
99
113
128
136
134
141
142
89
79
104
106
147
118
56
55
53
63
118
100
91
107
91
102
113
118
111
108
143
85
146
57
98
125
80
125
100
136
132
41
32
67
75
119
75
95
92
70
65
74
40
91
151
89
76
50
113
73
97
95
62
65
74
84
114
128
187
162
217
220
205
139
179
176
120
133
130
109
162
182
141
142
138
100
112
113
124
137
80
88
147
156
144
196
125
92
51
139
160
140
127
168
140
117
78
71
75
137
104
122
138
147
119
83
114
63
57
136
153
83
127
129
33
10
1
19
45
61
120
141
60
43
15
2
39
58
33
59
78
119
97
20
28
36
36
35
40
44
98
100
104
113
71
79
85
139
87
137
134
134
135
80
75
110
56
110
107
103
48
101
95
40
97
50
47
95
92
88
88
93
97
83
118
131
92
77
70
74
77
78
85
78
142
148
148
144
129
65
76
71
64
107
101
108
133
159
136
121
110
105
106
112
117
107
53
51
52
54
105
50
50
104
107
120
141
109
170
124
102
94
132
94
97
121
109
2
46
53
55
66
43
47
58
93
110
126
135
117
113
150
143
99
150
122
83
70
56
90
77
39
29
17
38
20
65
67
77
32
32
22
0
10
62
74
26
66
57
20
31
44
51
42
80
88
57
102
89
41
44
96
46
47
101
87
75
99
86
76
89
101
90
116
134
125
183
122
104
43
64
134
70
76
106
75
80
78
80
79
117
106
115
101
106
105
109
116
117
140
111
120
96
104
62
120
84
130
158
106
111
38
72
110
163
160
152
83
58
57
80
94
108
69
45
54
46
99
74
103
107
110
45
49
49
32
84
153
139
214
217
138
145
125
97
129
199
137
128
189
128
69
126
128
92
119
130
185
153
121
117
83
103
167
177
108
75
66
146
148
123
59
85
100
147
120
154
156
80
110
123
163
137
68
27
55
41
125
146
145
115
51
91
59
67
74
73
69
63
87
70
81
39
34
83
77
40
97
41
63
110
98
31
28
87
43
41
50
100
109
115
124
132
136
88
94
106
100
142
132
77
73
68
59
107
55
109
110
109
111
113
43
40
48
52
49
44
41
42
38
45
101
152
131
128
127
111
111
74
139
90
100
168
165
151
137
79
70
65
61
60
59
109
105
114
144
177
175
141
148
145
122
105
104
103
52
50
50
61
70
72
120
126
128
128
75
62
69
78
89
88
82
79
120
156
49
68
51
44
35
45
63
69
152
147
143
166
142
100
129
166
107
76
88
44
33
73
85
82
80
140
93
107
76
45
78
61
59
16
20
29
37
43
34
34
27
76
108
75
69
123
122
52
88
91
103
44
31
36
36
40
44
36
81
77
38
86
86
95
95
104
107
206
203
120
68
99
101
101
101
113
79
92
80
149
100
98
105
110
99
145
159
148
156
144
74
74
78
98
88
120
92
102
134
97
76
91
126
75
89
17
32
93
88
100
109
134
76
59
60
72
62
72
62
91
85
83
108
119
144
132
68
67
51
58
58
85
147
189
209
160
164
132
92
140
69
162
183
161
179
116
115
128
90
127
104
151
146
149
158
166
171
155
174
142
49
65
70
95
53
59
122
151
210
144
156
123
139
149
140
131
123
65
41
68
77
150
176
187
124
82
67
0
15
23
24
37
112
177
168
145
123
119
108
38
34
30
39
40
54
67
28
80
96
60
57
61
64
119
124
129
132
140
100
113
106
94
131
121
117
115
109
52
50
50
53
110
60
61
112
43
50
66
66
113
57
51
48
51
56
110
167
142
185
120
109
54
66
130
135
139
156
91
75
62
113
116
119
111
64
72
130
134
138
144
150
170
138
132
135
134
123
111
68
64
61
65
64
64
66
115
125
73
67
120
80
89
96
69
90
114
140
101
13
59
51
48
57
86
113
195
117
94
77
131
85
108
47
76
107
104
44
127
104
30
36
121
66
34
107
112
142
127
94
126
101
91
92
36
32
40
64
68
68
79
125
110
75
83
87
129
63
53
100
98
36
85
85
34
33
31
29
78
105
101
84
100
96
34
127
121
105
97
52
73
136
123
110
135
114
99
123
149
101
92
79
75
67
55
113
134
128
115
118
102
89
105
70
61
53
100
104
123
89
92
126
133
115
118
102
83
139
114
137
130
103
49
62
126
69
69
97
100
61
52
74
57
97
76
71
83
43
44
45
34
63
65
97
193
158
152
133
154
161
127
116
115
207
161
144
114
160
104
55
38
140
114
122
135
125
101
98
128
112
145
11
101
74
97
60
122
184
211
218
202
198
109
82
178
98
75
70
61
94
41
49
200
171
89
70
32
82
85
8
18
77
73
128
150
178
103
72
125
75
28
65
78
62
82
73
27
76
40
60
72
75
128
125
129
132
137
94
102
102
95
88
80
73
120
116
58
52
49
48
50
55
109
109
57
43
48
62
64
62
58
54
52
51
54
112
172
138
175
116
109
59
124
133
130
131
135
130
123
69
68
121
120
118
70
126
128
76
77
133
138
132
121
74
136
141
83
126
66
66
68
70
63
58
57
122
85
88
80
79
101
117
151
140
84
108
59
0
57
51
54
0
30
121
95
94
108
77
54
80
96
114
92
22
133
199
26
64
124
93
31
60
103
51
56
114
143
143
87
97
82
34
68
53
24
37
59
68
119
69
74
126
134
138
82
122
59
56
52
45
38
36
35
36
35
34
32
36
97
92
90
91
90
96
119
113
100
98
114
86
145
132
138
152
153
131
120
128
134
83
84
89
83
70
121
137
118
92
87
101
110
111
77
64
52
58
75
79
81
86
130
52
57
81
120
133
64
130
131
104
77
92
123
82
78
92
84
52
35
48
64
56
36
71
25
35
87
97
67
38
53
65
92
124
152
178
156
182
152
148
142
141
108
93
127
109
156
64
46
91
157
144
123
139
116
112
175
129
145
106
68
94
110
119
79
142
135
148
159
112
87
109
130
149
78
78
181
96
72
49
136
173
158
75
48
34
91
76
65
73
51
98
151
121
165
90
179
55
70
41
55
58
121
96
59
103
104
118
81
87
144
145
92
94
146
93
96
97
85
126
78
80
76
71
64
59
57
50
49
50
52
56
111
113
54
52
53
59
62
57
51
53
45
46
118
175
117
95
109
114
126
138
89
132
131
123
127
131
85
87
81
125
110
111
109
53
47
44
45
50
55
71
84
96
102
103
102
103
107
112
104
93
141
142
132
167
138
134
119
90
87
93
192
150
137
78
13
0
0
28
108
137
70
102
143
76
60
93
29
52
66
79
149
143
131
77
61
60
81
100
102
101
65
44
90
91
150
94
67
48
36
21
78
55
102
47
57
64
66
86
140
110
118
62
99
98
56
59
49
47
95
43
95
44
95
94
38
28
30
91
86
109
148
169
102
132
125
132
117
111
132
132
136
138
125
113
129
146
155
158
102
88
122
62
122
52
75
64
100
94
67
84
88
106
66
76
87
96
109
119
52
102
153
76
71
79
89
128
106
83
65
61
95
96
107
89
64
54
29
18
58
43
94
115
119
98
103
134
97
23
57
93
87
74
89
148
158
89
189
153
105
125
140
148
126
131
167
153
138
111
170
164
154
178
180
137
138
174
141
202
131
125
112
136
128
164
143
131
149
140
146
134
36
99
151
117
133
175
188
190
109
106
67
40
20
57
60
105
67
60
111
136
151
141
73
102
135
105
115
121
49
79
106
47
142
151
161
108
141
149
154
101
106
105
98
88
141
100
74
74
123
119
60
59
112
63
61
62
59
59
61
63
65
66
62
55
56
55
51
46
43
46
58
135
106
93
142
116
121
131
86
91
147
150
148
94
140
81
75
120
117
111
111
57
55
51
104
57
64
67
122
73
77
82
87
89
83
78
73
64
116
122
131
158
184
142
130
123
130
187
151
104
92
31
75
77
32
147
136
78
71
90
108
95
75
37
61
114
111
97
137
147
159
151
135
130
40
14
27
52
21
105
121
11
41
84
82
70
32
28
68
72
25
32
91
102
51
44
49
64
97
110
65
61
105
104
53
49
53
100
99
101
102
103
103
41
47
98
77
105
138
151
145
137
130
135
146
136
138
136
154
105
95
91
85
56
123
137
140
83
76
66
56
107
46
35
55
100
60
54
85
86
60
107
114
84
74
93
47
117
169
143
58
50
66
29
25
40
55
39
26
93
45
52
67
52
28
62
109
83
80
122
116
119
117
113
115
99
27
83
54
40
19
30
85
103
115
160
165
117
112
139
124
112
98
227
137
150
88
163
172
148
179
176
132
180
133
147
93
92
130
137
107
127
159
74
98
119
118
145
160
119
91
120
192
194
191
163
154
107
72
109
65
74
138
159
113
133
52
94
99
98
148
185
103
110
128
122
125
128
52
59
44
158
164
120
116
146
99
103
153
157
155
98
93
148
155
123
122
118
113
112
112
113
115
67
68
65
61
58
60
112
118
63
58
55
53
51
47
94
107
74
96
92
82
143
66
72
80
87
93
151
149
93
93
141
137
78
123
120
109
109
54
51
48
49
55
62
63
64
68
74
81
87
141
138
132
74
70
122
126
132
150
179
135
117
105
121
132
152
63
69
88
65
13
111
141
100
67
81
142
127
111
82
137
112
80
135
142
168
182
148
152
81
53
0
20
43
85
65
46
65
55
8
51
64
101
92
51
108
78
31
74
84
41
50
103
95
45
50
104
112
116
59
53
48
48
55
101
100
102
104
53
105
44
44
41
85
118
142
136
141
137
135
137
88
76
83
88
108
115
104
93
75
102
111
69
119
113
59
61
57
109
49
25
56
101
62
77
82
66
94
150
142
125
134
149
141
128
145
142
90
97
89
97
78
71
78
86
94
78
56
60
79
74
54
79
104
65
66
63
62
117
110
102
104
56
39
106
137
69
49
67
76
88
81
161
186
190
132
139
148
108
198
207
162
79
51
147
90
103
132
81
168
142
155
167
152
52
131
177
176
187
92
73
98
104
118
149
149
95
155
160
205
200
195
181
104
119
97
85
64
54
12
67
133
89
67
99
87
101
124
132
140
196
97
117
105
84
50
49
85
172
180
127
115
103
108
109
147
142
136
134
132
134
129
121
118
112
108
56
109
113
61
66
120
66
62
109
109
57
65
60
43
41
44
101
106
127
96
133
135
111
109
54
67
71
79
89
149
89
138
136
80
133
91
149
145
134
122
114
51
46
45
48
50
49
95
98
56
121
130
136
136
127
133
139
82
133
147
162
155
159
90
89
103
150
139
143
70
59
64
60
144
96
75
84
67
34
23
93
126
103
141
154
183
183
177
172
155
148
98
37
46
42
0
4
22
15
84
43
0
48
50
57
59
21
46
100
24
89
109
53
43
81
81
39
44
44
48
104
106
52
49
50
50
46
93
92
93
42
97
44
45
33
18
112
139
139
128
148
140
134
81
76
83
94
107
111
109
95
71
44
47
59
65
73
65
106
65
123
109
96
31
92
75
94
103
144
145
129
94
124
104
145
165
108
140
164
107
113
72
109
102
107
82
71
78
51
46
20
97
103
62
66
76
105
91
102
95
135
131
119
102
101
114
61
126
140
90
48
121
155
129
177
174
88
82
105
144
179
232
149
200
32
129
82
87
140
145
71
172
121
156
64
128
154
129
145
210
210
188
127
70
50
143
102
105
171
148
68
152
181
173
143
143
92
118
137
109
104
93
72
119
44
87
108
120
101
140
155
124
59
50
56
109
49
66
73
81
164
167
170
119
112
113
112
105
138
137
135
134
134
79
128
123
120
117
64
115
115
116
63
68
120
118
114
111
108
55
57
52
42
40
42
49
59
90
131
138
98
63
58
51
66
72
82
95
153
94
89
82
78
130
137
144
88
81
121
113
105
100
49
53
55
106
96
101
107
115
120
120
119
121
124
134
102
147
136
130
130
144
173
145
113
33
43
132
100
80
104
155
181
105
83
37
44
54
76
105
177
131
178
185
187
171
169
173
110
152
112
0
0
57
84
57
57
66
67
50
112
118
104
82
107
127
85
146
94
80
120
117
54
93
39
46
51
38
40
44
46
99
47
49
102
109
100
98
98
94
38
32
9
32
69
98
137
73
44
112
61
116
66
64
80
97
90
99
102
97
80
52
41
69
82
94
87
71
71
128
123
109
60
93
65
61
62
106
117
126
134
130
107
154
129
139
95
99
96
59
54
120
114
115
159
161
102
98
86
68
118
100
54
70
76
83
50
66
70
125
144
156
140
120
112
38
91
101
111
118
71
138
145
109
95
74
92
134
160
109
157
182
198
152
140
73
58
168
64
51
132
158
149
56
38
135
162
153
185
225
74
130
172
140
139
165
144
105
186
94
117
167
210
166
113
134
145
142
113
62
23
0
87
109
117
126
120
53
47
71
104
142
147
186
130
112
75
77
85
63
158
164
164
107
111
108
151
134
83
82
82
81
79
126
123
70
68
67
119
68
66
64
66
67
118
118
62
59
57
56
51
38
37
42
56
70
107
137
121
132
111
51
51
61
69
82
145
150
92
88
131
144
155
153
88
75
76
117
116
119
120
119
115
107
101
111
112
118
75
83
85
139
71
80
92
92
137
134
137
131
154
136
135
93
37
52
94
51
64
139
159
152
106
76
19
18
58
109
106
97
179
180
118
159
149
153
101
82
76
135
92
61
0
0
10
24
90
107
118
135
101
54
85
108
141
170
121
100
81
85
134
73
60
56
54
53
39
41
42
97
99
101
51
104
114
103
103
103
99
39
34
86
82
91
21
110
125
85
96
101
57
62
60
77
95
95
100
101
95
82
57
46
64
75
83
78
67
63
62
111
118
93
103
58
85
89
97
134
145
140
116
108
108
118
103
105
156
91
47
55
75
123
136
143
136
128
129
155
85
127
100
105
118
125
78
55
72
84
87
138
135
136
86
79
40
104
124
100
95
137
148
138
126
140
142
151
123
136
90
151
168
134
98
157
124
127
140
43
51
117
167
115
87
24
129
169
171
190
216
56
113
96
145
134
157
145
154
123
91
129
211
224
126
158
127
128
128
131
73
26
47
66
115
100
98
96
99
123
123
120
108
116
167
176
133
74
63
124
76
171
181
182
119
149
142
133
135
82
81
80
77
72
118
122
121
67
69
122
121
67
119
117
120
121
122
69
66
63
59
52
42
44
52
79
105
126
103
129
120
54
43
48
108
64
129
139
143
142
89
168
145
112
87
34
54
132
159
153
143
134
130
124
65
111
118
116
65
68
76
84
140
79
76
78
97
108
120
181
123
31
47
76
80
20
39
136
94
117
160
115
93
96
88
110
83
88
78
72
127
135
136
149
148
141
140
144
89
92
83
120
82
87
132
75
84
116
86
70
0
59
81
128
168
205
203
130
117
126
115
119
127
80
134
134
83
58
54
103
102
103
104
104
104
111
56
107
107
106
51
49
103
115
57
46
36
102
142
90
93
102
61
60
50
53
50
59
70
82
85
68
48
66
119
64
66
73
70
118
122
109
75
96
86
77
102
125
143
91
117
97
95
106
55
75
60
111
69
73
79
84
77
124
112
103
117
96
100
79
124
101
103
106
103
64
87
76
136
146
84
73
82
99
82
72
128
110
146
169
117
47
57
104
151
165
149
142
128
150
153
130
93
147
132
117
149
77
53
75
94
144
114
66
1
115
152
143
177
165
110
75
106
129
102
212
176
139
92
82
124
151
105
185
172
183
174
152
108
53
66
47
53
43
39
62
139
159
121
135
145
187
140
120
83
73
125
57
103
133
154
123
135
123
142
140
141
139
137
83
129
123
66
115
123
120
118
117
118
120
68
119
127
125
72
73
70
64
59
53
50
58
63
72
147
174
105
133
126
125
57
60
100
116
125
137
143
148
151
151
164
148
83
96
173
132
106
47
34
73
68
72
31
42
102
97
57
64
71
75
79
135
125
128
126
43
41
59
132
106
72
32
38
67
84
97
103
108
92
118
105
96
84
130
78
85
86
75
123
122
63
74
66
118
72
130
89
100
107
95
84
93
91
91
100
99
108
159
157
169
182
204
248
197
153
75
46
86
88
110
61
65
72
127
129
135
126
118
111
106
104
103
99
97
104
107
104
99
48
52
56
67
66
61
55
45
39
93
142
122
106
101
103
48
50
42
39
37
48
60
62
70
123
124
62
53
50
89
88
106
94
136
97
100
79
90
107
106
102
86
39
129
74
75
41
90
108
120
79
73
15
12
74
77
72
32
61
50
33
38
33
100
55
50
112
84
103
120
107
86
90
90
69
55
24
126
160
120
77
32
100
116
35
22
52
67
136
135
162
124
120
97
73
118
105
27
75
89
83
159
83
46
107
78
49
141
157
144
88
85
85
94
114
153
160
198
101
100
83
82
81
137
140
121
128
176
207
91
101
123
75
96
96
86
144
157
186
139
198
180
178
177
154
91
88
58
57
92
112
103
115
120
161
148
95
144
139
136
131
129
75
74
69
123
124
122
120
119
120
71
124
125
128
76
72
119
65
64
50
106
120
125
144
164
170
134
129
127
127
71
125
129
139
144
96
98
101
159
157
157
97
90
141
145
90
76
91
104
119
124
172
157
85
70
51
45
45
44
45
43
93
98
107
99
37
42
51
65
140
159
129
127
102
110
125
103
66
97
78
52
70
124
131
82
84
136
80
127
123
67
111
118
166
114
176
134
136
143
130
123
125
131
134
130
157
120
127
171
154
137
65
122
179
154
102
80
106
111
73
74
62
43
94
109
125
120
120
119
114
109
106
102
97
98
90
89
88
37
44
50
109
114
111
94
100
47
36
68
107
124
104
105
120
74
95
90
87
83
126
107
79
68
70
87
62
106
93
98
84
89
142
98
92
97
83
102
63
74
112
144
166
120
141
151
143
142
145
126
61
46
64
68
88
107
109
99
116
109
77
62
112
60
77
91
87
89
91
96
103
106
98
85
108
63
81
115
112
86
53
76
134
135
136
91
135
118
98
113
151
129
38
24
87
40
105
102
80
22
91
85
13
66
103
98
154
157
159
142
96
73
70
116
116
119
115
66
61
73
102
102
172
208
151
156
198
211
117
102
90
64
74
100
169
166
117
180
187
193
176
150
133
113
106
67
55
83
66
46
99
97
97
151
143
91
91
88
84
82
82
80
79
71
74
125
124
123
122
72
123
123
125
126
125
124
120
65
64
55
61
70
80
104
170
160
123
124
128
80
78
133
139
149
150
99
151
152
155
152
143
96
95
136
78
79
80
69
75
82
137
141
94
94
91
88
76
121
114
110
104
100
112
121
68
72
80
92
105
110
110
112
109
108
122
116
43
77
27
23
65
96
132
128
130
134
84
82
77
124
70
95
103
98
147
152
158
160
98
91
93
94
95
91
82
100
117
178
115
91
85
78
64
147
197
154
117
92
98
98
67
77
68
122
84
83
122
124
125
122
121
115
106
45
45
37
33
28
28
33
93
104
110
57
103
108
104
95
75
74
126
127
114
133
96
105
100
94
91
78
110
94
81
83
56
55
90
87
82
80
95
153
124
124
115
93
108
71
65
115
158
140
68
96
138
136
144
146
127
64
104
56
50
85
124
110
82
106
74
45
48
112
109
80
103
73
86
98
103
106
105
101
99
116
34
79
147
101
101
161
140
135
125
114
66
60
104
111
129
175
100
63
71
109
10
23
80
105
72
97
121
83
59
60
126
152
160
148
110
69
74
56
114
139
125
132
101
93
100
122
94
120
162
97
109
142
149
117
98
82
68
70
86
106
169
175
161
160
182
181
155
130
99
66
3
44
91
47
61
105
84
75
138
82
79
83
85
83
83
84
85
85
81
74
75
76
78
76
74
71
70
76
131
129
126
71
121
68
50
61
72
92
123
176
144
118
109
105
113
82
86
89
153
153
101
153
154
100
93
153
131
73
142
99
85
64
120
71
73
126
131
85
88
87
107
88
131
126
128
131
133
138
88
146
147
91
85
81
72
78
91
103
110
56
5
21
12
3
25
112
70
126
108
110
112
59
58
58
58
60
143
96
94
146
152
160
165
108
103
94
96
114
132
137
112
104
147
145
110
104
92
78
63
157
237
185
134
91
125
122
72
76
76
71
71
69
68
119
117
117
116
54
44
104
42
39
31
27
29
36
37
91
95
103
104
102
99
99
79
68
113
124
43
63
75
81
65
90
31
99
50
50
50
75
59
106
72
59
66
120
138
92
90
85
98
80
93
134
130
182
130
142
149
165
158
148
123
88
38
87
62
53
65
114
84
24
69
117
56
122
114
88
57
99
90
71
99
62
159
120
97
79
78
98
99
163
157
133
114
131
143
139
118
49
30
73
111
143
81
71
60
109
62
63
67
73
128
59
90
92
75
22
57
118
159
104
44
95
98
160
61
66
152
125
136
115
65
82
79
99
149
144
83
91
136
157
117
113
112
106
151
90
90
154
164
153
146
164
164
148
115
20
17
53
104
192
166
117
164
90
78
85
81
73
69
122
68
67
68
73
78
83
77
77
76
75
125
123
70
69
77
80
80
77
74
70
68
45
51
73
95
115
106
127
107
97
94
47
72
88
99
109
117
125
125
121
106
97
100
151
89
65
91
75
12
42
101
113
123
136
101
110
113
85
71
116
117
120
122
125
135
130
141
164
115
170
163
90
60
31
10
1
2
0
2
15
60
86
122
70
73
61
109
50
43
42
47
56
63
85
90
148
156
157
155
152
155
97
108
123
130
161
77
65
73
134
134
140
149
104
98
97
81
91
215
233
105
139
135
133
81
81
76
73
75
79
80
130
128
72
120
112
109
45
44
94
91
85
30
32
27
26
38
89
39
43
87
99
77
77
61
59
42
41
37
82
80
90
105
74
92
94
127
116
57
52
66
71
89
158
124
135
115
93
28
28
36
161
169
85
70
77
27
38
51
104
113
126
129
76
138
74
109
97
74
37
48
56
63
116
121
73
69
79
110
119
112
96
107
80
88
35
88
88
65
64
127
122
48
64
55
124
75
38
57
77
75
63
86
99
70
97
49
43
61
88
95
148
136
119
94
69
47
118
157
164
170
131
133
128
67
129
144
146
136
69
93
92
138
119
106
118
124
118
156
146
126
134
119
171
153
136
140
144
138
151
150
127
103
43
27
44
146
151
190
180
170
157
139
127
129
128
65
61
116
114
60
63
66
73
80
77
76
75
125
123
70
70
69
75
79
80
76
73
68
66
45
47
74
94
109
98
121
103
98
46
47
59
77
92
109
120
131
132
124
103
94
91
154
150
89
149
160
134
42
45
48
53
19
41
60
71
72
118
119
122
128
132
133
146
138
146
142
127
110
93
4
56
9
10
0
0
6
37
72
82
73
125
73
74
67
62
53
48
50
60
72
82
95
88
88
144
146
144
142
164
164
174
179
130
112
85
135
135
129
122
125
138
97
92
93
99
100
149
245
159
127
133
134
130
131
84
79
75
81
85
84
80
127
122
63
62
100
101
102
97
91
86
84
26
75
32
33
36
42
98
27
76
65
98
106
60
64
48
97
111
120
119
84
71
84
60
114
55
38
113
118
83
140
104
123
57
32
7
2
16
182
169
68
38
3
0
12
35
95
101
107
101
58
110
85
69
76
64
66
133
155
159
154
157
96
77
118
138
132
119
109
81
120
139
70
79
73
120
128
144
159
91
121
121
130
81
46
67
72
32
42
107
116
67
111
51
62
92
120
109
136
134
114
59
48
90
129
164
137
161
153
142
114
90
69
105
129
81
61
141
149
64
80
181
105
130
185
204
149
170
131
154
157
141
125
129
129
115
93
68
42
59
34
110
149
136
150
172
185
160
144
151
140
127
128
123
70
125
121
64
58
53
57
124
127
124
121
118
118
64
64
64
67
67
120
121
120
66
63
60
58
79
101
96
126
108
105
100
46
51
61
69
79
79
90
157
170
173
152
143
84
90
147
139
71
107
48
67
130
142
96
87
64
37
19
76
64
62
59
55
56
60
60
59
58
54
54
53
52
0
2
2
0
66
89
114
102
96
91
142
138
136
98
105
93
83
75
68
68
122
66
59
113
115
116
118
121
124
147
139
127
131
138
95
101
134
132
130
127
123
124
123
139
82
119
63
44
95
185
144
136
136
132
118
67
67
124
78
80
79
136
139
78
64
61
103
51
51
102
99
96
86
83
82
78
23
75
76
29
23
30
81
73
125
79
75
70
125
124
114
105
105
116
92
63
37
42
39
37
32
91
53
102
111
55
37
36
109
102
198
124
71
122
84
83
60
86
89
131
138
141
116
161
154
158
154
130
65
88
77
123
111
87
25
34
49
67
97
95
120
111
82
153
164
80
55
74
174
175
135
84
125
141
130
89
101
63
102
69
52
150
75
55
37
109
126
109
135
130
135
138
135
132
101
139
163
164
147
143
139
91
75
79
107
94
148
67
70
81
155
126
130
176
114
138
178
189
137
142
123
101
46
8
0
11
75
96
98
50
40
40
67
111
118
91
123
125
142
167
127
143
153
149
129
73
126
131
126
68
58
55
110
127
135
135
134
78
74
122
121
68
119
119
120
122
122
69
69
114
68
88
99
90
73
116
112
107
52
57
67
76
87
142
145
151
161
168
155
146
100
95
143
139
82
122
55
37
40
46
106
116
71
79
83
160
141
130
115
104
100
49
88
83
80
88
91
91
90
60
70
79
129
119
125
134
99
94
135
124
122
132
151
103
94
143
145
144
147
146
86
101
157
148
144
146
140
129
126
134
148
146
136
120
107
101
105
110
116
127
129
128
134
102
86
112
116
54
184
127
140
127
132
121
121
118
103
58
70
128
122
61
65
130
60
56
58
110
110
108
106
91
85
84
80
21
19
21
19
27
24
77
84
92
128
120
126
126
115
102
95
102
91
67
55
41
46
51
55
45
106
60
105
108
44
23
31
102
99
170
100
82
68
83
130
108
161
141
137
102
111
50
99
90
87
40
37
57
64
59
105
54
54
50
49
72
57
54
107
49
52
67
124
139
34
48
86
107
82
37
93
119
160
156
172
134
41
31
73
116
82
99
116
82
117
91
96
118
80
76
68
170
165
164
205
185
175
171
160
133
129
142
122
94
73
54
22
44
104
179
149
149
134
102
154
210
194
129
153
126
51
17
0
0
0
102
83
138
154
138
100
132
136
99
127
137
141
88
84
114
129
146
153
138
82
132
136
131
72
115
108
111
128
86
87
85
82
75
123
69
70
70
69
70
71
71
71
71
66
75
91
94
82
122
118
113
108
106
58
71
81
92
94
147
149
156
163
156
149
91
92
95
93
85
124
109
96
45
49
54
60
69
76
81
123
139
144
145
143
147
153
140
137
136
144
145
141
137
81
82
132
123
111
121
133
89
89
136
127
69
123
85
82
79
84
144
148
153
153
145
172
124
117
114
117
113
103
128
138
144
140
138
137
135
114
115
118
123
133
135
134
133
144
147
104
120
66
148
155
157
77
79
127
116
110
53
57
119
125
116
51
108
121
55
57
112
112
109
105
103
93
86
85
83
76
22
27
22
26
20
23
87
78
107
137
145
134
111
98
92
98
110
78
59
41
42
44
48
35
92
45
36
44
42
21
19
52
101
152
38
69
119
158
138
132
183
129
50
101
137
132
66
76
87
76
76
111
74
68
56
49
106
58
61
87
52
89
101
115
125
73
114
130
41
69
97
97
78
60
134
180
194
113
146
120
118
91
137
75
23
88
65
98
103
118
122
152
92
119
152
209
183
182
196
192
190
189
182
115
120
122
116
49
15
58
36
50
169
182
138
77
112
118
164
198
159
78
59
52
21
26
0
24
84
89
107
130
123
87
86
113
144
89
110
116
129
79
70
62
111
129
150
161
100
134
137
133
76
123
120
122
134
86
88
86
81
74
121
72
75
74
72
70
70
122
120
120
68
82
143
135
121
119
126
117
112
110
64
133
93
106
98
150
149
150
152
156
157
106
99
86
69
110
109
120
137
85
86
85
81
76
69
66
126
130
142
98
100
99
100
97
151
153
153
149
91
88
83
77
76
134
139
144
149
99
82
75
82
134
121
69
65
117
122
126
124
128
135
135
127
128
129
80
85
91
96
110
174
173
163
158
151
142
79
78
81
141
148
144
140
136
135
121
129
119
63
62
172
192
113
76
74
65
47
113
111
112
119
123
119
110
102
58
108
55
51
48
47
47
98
86
83
82
74
76
85
86
83
25
75
24
25
84
86
108
103
95
111
127
147
89
148
73
60
63
74
79
56
118
127
82
95
74
29
15
44
141
158
85
135
126
161
92
132
76
88
85
134
148
130
53
53
69
83
101
54
63
82
88
86
138
125
58
87
101
90
112
135
149
94
130
69
93
106
107
103
90
73
135
92
84
72
114
141
168
152
48
35
50
93
80
51
117
97
37
114
178
188
190
186
206
213
194
170
154
92
140
89
117
112
90
93
80
92
35
125
183
180
156
114
140
117
132
139
151
104
88
50
15
24
80
79
16
36
31
34
101
67
80
156
130
126
140
76
81
84
91
71
125
134
144
164
153
77
137
144
87
77
133
143
122
133
130
129
79
76
71
71
77
123
68
115
113
113
115
115
114
126
134
131
73
77
87
76
68
117
72
97
111
124
121
117
161
156
152
148
148
149
97
97
90
134
127
75
91
137
135
136
136
132
79
79
61
51
56
67
88
94
77
87
143
143
139
142
87
79
85
87
85
138
146
181
138
115
89
71
81
147
138
82
71
122
122
72
124
128
137
147
128
125
130
131
76
132
88
94
139
132
127
129
128
120
116
72
78
134
139
83
131
146
143
146
156
106
97
89
54
122
159
88
122
52
122
99
104
107
110
114
116
64
61
120
108
50
46
48
48
99
100
41
93
89
81
81
89
47
35
25
24
29
22
21
81
77
118
124
124
137
82
77
78
78
64
44
45
99
84
77
115
77
74
112
23
35
90
146
117
128
118
40
69
66
127
42
60
74
121
115
83
62
57
55
80
80
54
121
130
76
66
57
48
51
119
89
117
125
140
89
100
178
198
126
110
141
101
92
101
73
79
81
70
67
64
101
50
65
69
55
37
74
73
31
51
161
108
95
83
124
121
161
169
189
200
162
169
141
76
73
5
89
112
26
84
26
75
170
152
82
79
86
70
132
162
48
10
13
68
66
37
56
35
13
90
63
135
149
184
193
118
41
83
51
114
80
57
54
130
130
135
92
164
105
84
90
144
87
75
131
147
142
93
84
79
76
71
118
67
72
68
63
60
57
110
112
113
117
79
90
86
80
134
142
83
74
70
77
98
107
116
111
111
161
158
155
154
157
98
93
87
82
133
133
134
83
129
75
130
130
128
75
79
74
68
126
130
91
94
83
81
82
83
88
139
80
127
77
75
74
74
130
95
105
116
102
93
102
163
150
75
77
131
77
72
119
122
131
139
75
78
139
141
137
85
142
82
127
119
65
69
72
119
77
79
80
79
82
80
129
127
132
142
155
109
110
126
77
94
151
118
79
112
100
99
52
109
109
60
63
113
59
58
62
56
48
46
47
100
100
45
99
95
86
88
97
98
39
32
27
25
21
21
19
25
42
123
128
120
82
78
84
90
130
55
53
105
90
70
107
119
66
58
27
42
115
154
112
117
113
99
109
71
122
46
53
67
110
102
81
116
119
57
117
107
87
108
118
65
52
44
56
59
112
80
101
110
159
145
144
184
138
138
152
161
127
119
80
35
92
87
46
20
65
74
51
76
56
64
39
138
73
84
160
171
44
193
184
145
164
177
142
91
110
104
84
19
8
24
80
85
84
60
63
72
40
55
51
46
44
48
43
61
46
44
44
46
103
109
117
117
100
94
115
110
161
139
114
77
120
62
54
41
163
126
61
63
157
149
146
147
163
111
152
155
108
109
111
175
188
169
162
148
81
70
63
63
120
70
71
118
61
59
58
113
62
115
128
95
141
141
148
149
88
76
120
125
88
144
96
90
93
97
103
108
109
160
106
95
82
125
124
126
128
125
71
69
67
117
119
123
75
80
142
146
138
128
79
88
82
70
120
133
70
63
116
124
68
70
126
66
58
67
72
77
80
129
82
146
133
111
72
75
114
106
116
132
141
129
137
147
97
90
83
81
69
118
115
121
123
122
125
134
134
80
131
85
82
128
137
136
137
136
123
60
126
119
60
119
216
92
87
109
102
105
106
104
53
54
50
48
44
65
63
53
47
100
103
42
40
43
99
95
93
95
96
91
86
85
28
21
73
67
20
60
87
113
105
72
86
88
97
143
128
123
64
98
118
106
130
137
136
96
39
70
110
105
66
53
92
80
38
16
83
75
73
68
118
101
61
56
43
41
92
109
95
110
123
41
0
23
65
63
53
65
94
160
157
150
148
152
134
109
123
149
130
33
109
74
95
105
172
94
83
78
43
0
52
147
83
105
141
128
136
86
126
145
147
176
186
126
131
102
160
197
193
98
54
18
23
70
82
55
55
73
116
98
69
56
55
13
40
56
56
104
127
109
25
31
21
26
110
123
115
168
99
133
107
70
76
108
146
98
141
134
52
163
152
146
93
153
107
159
104
149
87
84
145
156
146
148
147
140
129
71
69
73
72
71
120
118
113
59
56
106
104
115
140
78
138
151
145
136
126
119
123
88
151
162
110
107
104
109
116
114
109
97
92
86
131
126
124
126
137
87
83
76
124
124
126
128
126
86
84
130
121
69
135
91
80
125
122
63
112
116
102
106
111
59
53
50
106
62
70
130
127
129
155
149
116
125
79
127
120
123
138
153
156
153
148
143
137
133
78
129
135
143
154
143
129
133
132
128
67
58
130
93
101
148
144
149
107
164
111
107
134
131
122
207
143
76
64
98
98
95
40
91
95
97
43
52
106
55
55
56
105
49
49
95
41
102
103
46
91
103
94
87
88
90
25
69
72
9
79
63
82
137
101
91
76
125
133
139
148
143
122
123
62
144
151
150
98
69
51
150
64
76
139
126
145
143
120
101
82
62
126
137
143
128
70
72
69
123
118
109
105
124
135
120
118
87
106
119
120
134
90
88
103
103
101
75
94
106
66
107
16
104
129
63
75
31
66
89
126
103
88
37
84
149
158
111
155
157
142
133
133
135
85
116
138
138
70
57
130
135
105
79
84
91
134
88
91
92
80
58
40
43
55
52
97
106
105
110
92
119
59
68
37
45
44
48
114
147
125
105
148
117
68
60
102
148
117
129
131
122
137
127
124
125
82
91
93
107
154
142
130
128
139
151
153
157
156
146
135
130
127
124
69
121
121
118
115
111
109
53
66
96
83
88
98
138
129
123
121
126
140
100
165
114
114
111
111
111
112
113
102
93
84
131
132
133
82
87
91
91
135
129
78
79
131
129
138
129
127
122
70
80
138
85
82
70
67
120
121
108
119
122
58
50
105
104
111
114
125
127
132
162
163
135
136
141
143
137
79
142
160
153
146
137
129
123
119
64
77
136
146
159
145
129
135
78
128
119
58
65
80
90
141
136
136
145
95
89
86
120
113
99
150
152
96
65
46
95
92
34
87
94
99
47
50
107
56
109
109
52
47
49
100
47
98
99
45
42
107
101
43
41
90
72
15
72
11
22
20
17
58
110
94
131
126
130
135
141
136
116
124
112
135
134
138
104
31
52
74
72
57
135
119
131
105
109
92
49
73
82
141
131
117
119
69
55
103
108
110
111
121
128
122
116
124
87
81
72
102
92
120
144
134
127
99
119
121
48
39
45
94
72
52
83
69
123
115
108
115
37
110
155
156
151
141
205
171
168
191
149
111
159
148
124
180
101
77
145
112
53
67
88
64
44
84
108
93
77
40
24
38
50
35
71
79
80
101
113
149
60
30
37
43
40
94
122
156
169
178
122
101
78
62
100
121
113
124
120
119
113
110
105
103
61
61
56
121
126
118
106
108
115
77
89
91
152
164
167
158
144
135
134
142
142
136
142
140
122
126
93
104
81
81
82
118
111
111
115
125
129
131
141
87
84
83
139
140
149
158
106
102
144
137
141
94
93
95
92
143
93
98
98
92
138
136
131
124
122
122
67
60
147
137
79
78
69
75
90
150
151
131
71
86
85
90
147
134
123
123
130
139
153
102
144
149
155
150
100
106
103
83
125
124
76
74
72
69
76
128
138
150
146
137
135
129
124
122
70
64
56
53
59
111
106
101
45
45
40
85
84
87
33
87
179
79
51
77
66
72
85
98
107
57
65
49
45
98
42
43
53
36
44
89
102
95
33
43
43
89
85
85
81
71
19
73
22
20
72
68
12
103
99
96
148
159
168
168
153
136
125
125
135
140
92
84
71
39
41
90
63
60
58
27
77
7
52
130
18
39
27
77
80
78
71
16
69
63
71
69
76
78
72
85
117
120
144
166
166
138
109
96
98
74
87
69
78
94
54
117
97
61
124
128
80
87
19
47
62
132
76
100
104
119
97
104
115
135
161
179
228
204
176
192
149
145
179
158
126
37
43
29
47
67
65
74
59
63
55
45
9
55
14
71
72
125
125
151
116
118
118
98
70
53
104
109
119
114
126
76
83
101
103
142
138
81
90
89
90
143
141
137
135
84
78
122
123
129
125
120
72
73
60
107
108
112
116
120
128
141
154
148
148
136
122
124
131
129
145
110
107
79
73
72
62
59
115
118
129
126
121
125
123
120
119
128
140
103
107
105
105
103
144
88
90
96
95
101
158
103
97
87
83
80
136
144
139
128
124
123
71
104
93
79
63
62
69
127
128
75
64
64
131
131
136
155
156
99
85
69
68
162
171
152
156
167
145
114
116
138
74
110
105
110
64
66
68
68
79
76
95
116
104
76
91
85
80
78
72
65
63
54
51
44
42
48
53
104
101
90
97
39
14
162
143
100
85
80
81
81
36
45
50
39
41
43
99
95
92
45
43
87
88
36
37
40
37
47
93
88
89
37
80
76
18
70
12
63
68
69
89
148
96
142
134
132
82
85
91
149
72
61
55
56
55
50
45
53
129
100
78
83
77
74
63
60
25
23
18
13
65
65
15
64
63
68
74
67
66
75
85
88
97
63
47
114
146
158
135
120
94
54
83
36
24
34
53
69
128
48
55
38
99
58
72
59
61
101
121
103
88
172
108
109
97
141
107
128
169
158
167
185
151
142
100
141
149
113
89
101
106
142
147
99
76
108
100
82
104
114
66
0
93
122
127
114
126
115
57
50
55
76
100
99
133
151
127
97
47
81
109
118
104
78
23
54
63
95
136
138
140
142
143
81
122
133
138
135
132
87
88
69
62
111
110
110
109
110
116
123
142
145
139
130
75
126
121
99
114
100
76
68
67
64
66
68
71
130
134
128
79
72
66
117
126
141
105
105
105
104
101
147
91
88
89
98
102
161
162
155
148
142
88
93
141
135
125
122
120
121
101
93
83
73
74
73
73
67
64
57
111
125
127
133
135
145
155
104
95
90
161
177
165
166
169
147
121
127
153
77
70
71
72
71
68
68
78
87
92
108
127
120
94
99
91
84
81
123
67
65
57
57
53
52
56
63
70
72
62
61
64
20
76
151
51
34
78
77
76
84
42
46
36
39
93
98
96
41
96
98
32
91
36
38
44
35
44
43
41
40
38
82
28
27
26
19
13
14
69
63
160
105
82
60
51
42
39
45
96
77
76
80
76
62
46
53
54
128
154
93
110
102
56
86
76
46
87
85
97
75
22
27
77
67
67
73
78
73
82
95
101
107
121
73
60
114
115
109
129
78
94
44
72
60
59
70
70
172
71
70
75
91
59
99
72
130
135
55
71
116
116
87
122
104
103
113
164
158
160
152
145
119
127
151
161
123
129
105
107
151
136
146
109
100
116
96
123
104
110
54
58
122
141
133
120
110
95
51
79
100
152
76
122
142
155
115
104
84
121
119
101
77
42
21
67
128
33
107
114
124
134
143
133
122
135
138
134
79
89
96
84
75
73
128
135
136
126
112
103
108
52
106
117
123
123
128
115
125
94
79
72
68
72
75
77
73
75
86
135
137
83
79
128
132
143
102
97
94
90
89
95
100
99
100
107
107
161
113
114
167
112
162
145
120
123
135
151
166
175
140
113
87
78
79
80
87
80
69
65
121
124
123
126
83
81
85
148
105
104
91
131
144
155
162
163
98
87
140
71
71
70
67
113
114
117
69
69
94
96
108
116
107
100
90
80
125
118
64
63
58
65
69
68
67
123
132
130
127
104
107
45
26
117
111
90
72
63
65
81
41
40
35
35
83
87
38
38
93
91
85
89
41
40
41
36
92
99
101
44
88
83
29
30
81
28
20
12
20
23
30
36
22
16
32
33
27
35
38
44
99
86
35
56
79
69
49
82
94
104
47
34
108
72
81
58
117
134
120
103
117
155
164
128
97
73
75
80
96
108
102
92
38
43
110
120
62
47
102
55
51
68
57
52
50
68
180
241
75
77
95
83
93
81
87
108
109
124
124
92
153
125
115
107
122
121
143
141
140
160
166
176
156
103
104
87
101
94
77
71
84
93
75
49
35
32
53
73
97
75
88
94
90
92
102
106
75
104
76
72
64
73
160
183
114
108
128
90
68
96
67
100
106
65
69
100
26
131
79
80
135
147
92
138
137
144
91
88
95
150
89
76
76
131
131
127
123
125
130
137
75
117
114
106
105
119
143
150
73
75
78
81
89
99
102
95
92
89
129
123
87
88
137
136
144
98
91
92
88
134
130
72
73
84
112
115
168
109
98
97
157
113
117
96
95
152
164
184
200
138
99
74
84
74
127
138
133
70
73
133
124
53
48
130
81
87
93
96
100
120
107
87
130
101
168
91
70
81
69
118
124
78
127
115
108
53
61
65
72
108
117
134
132
71
62
112
115
64
67
67
66
117
69
77
132
110
99
114
123
106
106
87
115
59
101
89
76
13
20
35
37
22
31
81
86
38
37
36
35
91
79
37
36
33
100
106
103
97
94
45
87
20
86
23
21
19
10
14
14
22
37
24
18
34
30
22
36
71
90
106
99
138
142
152
136
121
92
97
65
93
71
111
31
17
30
13
48
58
50
69
115
132
50
44
131
110
108
110
53
94
98
73
63
126
120
80
108
101
73
71
154
88
79
75
88
210
202
125
114
97
85
80
111
115
97
95
96
107
98
109
118
124
180
167
126
149
109
59
124
125
91
39
14
35
164
77
38
38
47
80
95
78
59
33
62
70
68
140
98
110
105
120
149
146
128
88
59
56
54
59
79
92
86
93
115
148
129
80
95
139
79
40
137
149
94
48
164
110
108
164
170
157
141
139
86
86
89
142
143
148
91
131
70
122
127
130
131
79
141
101
99
141
138
131
117
105
117
73
72
78
136
88
85
118
123
109
150
130
126
78
78
134
139
145
98
150
139
137
81
75
74
74
78
88
108
115
159
149
93
100
111
112
107
105
104
172
201
220
142
110
81
75
87
138
128
133
143
91
79
80
84
69
86
85
88
92
95
97
162
161
158
149
149
152
136
70
76
75
120
123
122
118
116
113
68
74
74
91
104
149
139
132
75
69
65
62
113
112
110
115
70
73
127
126
112
107
119
123
60
59
100
117
137
92
29
72
63
22
24
23
18
24
71
23
30
33
89
87
92
95
78
23
36
104
101
99
95
95
101
41
26
78
83
25
16
13
14
31
19
8
53
69
108
97
24
37
82
96
99
99
96
93
98
158
120
133
89
115
112
120
106
35
41
67
49
77
12
0
0
0
12
31
38
60
102
117
94
105
39
24
123
148
85
145
97
77
78
100
112
109
111
69
74
105
190
217
111
115
114
90
120
116
142
129
77
73
114
69
99
80
194
172
176
201
191
98
82
105
147
82
56
41
56
99
55
81
96
102
60
69
73
77
69
89
118
136
93
103
77
85
130
138
126
74
66
26
49
94
108
93
89
114
71
56
95
93
107
133
119
55
55
128
146
84
105
101
109
169
176
188
189
187
188
169
147
87
94
158
163
171
119
119
117
162
156
158
111
171
175
117
158
157
156
95
78
128
113
59
69
131
137
92
110
107
94
141
135
136
132
80
82
136
139
103
109
106
96
84
75
71
72
75
90
95
94
150
112
120
121
119
120
127
125
116
162
167
175
187
163
103
103
82
79
143
157
152
90
87
91
111
114
103
96
89
136
134
135
99
150
153
100
107
117
106
91
94
119
120
70
111
100
44
44
104
111
125
133
129
128
136
119
65
63
63
68
120
120
120
121
118
62
114
119
115
109
115
66
116
125
115
116
155
104
86
20
55
12
69
22
19
31
30
34
34
31
85
86
86
90
99
45
41
93
96
97
45
96
97
38
29
81
78
70
18
27
30
19
9
1
22
120
118
81
26
33
89
101
94
91
87
78
69
78
127
143
84
110
113
66
66
50
37
33
41
47
53
59
55
106
35
79
70
38
90
104
107
145
96
69
109
77
71
3
2
14
17
1
0
0
23
82
33
61
220
157
116
152
154
169
169
158
135
108
122
67
112
73
73
121
139
161
180
185
182
183
127
133
95
68
61
55
49
102
100
105
113
112
125
135
130
64
88
63
65
72
108
96
89
85
159
151
138
56
64
56
51
132
156
163
145
134
47
82
91
96
109
93
77
109
141
117
120
45
17
76
76
78
137
159
161
106
101
157
160
160
162
165
105
114
108
105
107
159
151
142
83
95
109
108
146
142
147
149
92
103
167
100
131
120
116
122
128
135
143
152
145
143
144
149
149
146
140
136
138
142
136
81
80
83
84
83
87
91
90
94
110
119
118
118
121
153
156
148
182
122
130
112
116
108
97
142
133
130
129
137
145
94
79
76
92
108
103
100
97
146
144
153
154
150
142
100
125
123
103
145
126
72
70
112
104
56
59
69
123
143
154
151
146
100
61
58
55
58
71
131
134
144
141
134
127
70
121
61
134
133
79
130
139
118
100
179
107
70
52
0
60
11
14
17
19
19
26
29
33
93
88
88
90
36
31
29
83
84
88
41
47
48
47
46
92
96
93
91
93
37
26
17
8
0
38
111
94
61
68
87
103
110
92
59
102
68
78
122
133
101
161
169
162
117
106
84
124
58
39
31
17
41
41
30
94
44
21
111
111
64
84
87
127
67
45
93
92
114
126
100
33
58
78
27
64
13
31
145
97
69
84
83
121
148
188
107
95
135
115
116
137
142
154
141
195
191
186
182
180
176
95
108
102
90
85
82
141
158
138
111
107
140
159
82
46
69
104
90
121
131
117
52
37
137
151
128
24
42
41
27
114
58
80
90
79
93
104
94
101
126
127
128
147
128
128
119
34
20
90
88
85
88
161
111
107
96
154
154
145
141
94
102
93
85
84
93
152
147
131
67
69
87
94
140
139
145
95
88
149
176
174
157
138
126
113
115
124
139
148
143
139
137
143
146
148
145
139
138
141
138
86
87
88
86
82
87
146
94
96
107
111
110
162
165
176
135
147
137
120
119
140
143
121
146
147
90
89
84
135
135
87
86
83
137
90
88
88
89
139
138
92
145
141
131
139
165
170
155
148
122
66
67
65
115
67
69
73
127
138
152
151
146
94
63
60
57
60
67
123
125
132
130
75
123
126
85
92
138
132
121
60
118
48
36
117
48
70
62
63
76
23
23
23
31
35
39
34
83
89
84
85
34
80
76
27
34
24
78
32
41
45
45
46
43
101
100
96
95
38
32
11
16
13
27
35
74
83
91
46
66
81
73
102
108
87
148
129
126
95
149
148
135
73
71
63
66
46
11
1
1
20
14
15
86
27
89
96
46
57
63
50
87
81
37
95
87
76
74
81
94
112
138
109
67
99
136
161
128
85
97
69
84
114
121
168
95
129
129
97
118
172
121
184
180
174
172
169
160
148
128
114
102
65
77
163
167
156
150
125
93
107
136
71
85
61
50
101
109
156
120
51
29
150
165
120
17
37
25
37
45
40
48
34
5
48
81
105
62
58
52
129
100
70
59
49
23
14
131
131
124
112
101
103
105
103
156
148
137
145
172
159
166
92
67
58
113
121
127
131
66
68
132
141
146
142
79
95
111
120
150
86
103
180
180
158
147
147
139
134
75
79
132
135
141
147
148
146
143
142
90
90
89
90
94
92
98
98
99
107
109
154
150
157
180
178
180
115
110
128
148
148
186
169
143
81
100
155
150
133
114
58
144
102
92
89
89
142
90
143
154
151
156
146
140
148
152
153
162
84
127
131
132
129
67
57
61
70
63
71
75
70
66
39
43
52
60
67
64
111
117
73
84
90
91
89
120
111
62
64
114
68
51
39
185
115
79
58
43
0
9
24
27
24
27
32
30
85
97
94
37
33
26
20
18
19
78
76
80
40
47
44
44
92
94
89
35
39
40
36
20
22
33
20
55
100
130
122
90
81
57
106
118
131
138
112
102
118
22
108
98
37
42
51
48
41
0
0
37
40
28
30
43
48
98
96
32
29
42
32
8
1
9
104
85
87
92
74
69
75
72
78
36
70
145
139
111
143
89
126
141
136
118
111
110
130
93
108
137
179
186
127
193
206
200
174
156
150
83
75
124
56
119
100
94
144
127
143
96
155
132
92
37
66
43
41
71
107
203
151
120
94
129
136
183
53
98
73
71
84
64
72
72
17
16
12
92
99
51
47
43
61
63
124
115
52
55
93
104
105
102
105
101
102
103
105
108
160
158
156
97
104
93
87
138
143
144
144
144
135
143
155
157
149
143
94
99
101
92
89
94
103
161
157
157
159
159
124
51
38
55
62
79
92
150
151
153
155
148
90
86
84
84
86
169
112
112
113
109
150
142
138
138
173
180
177
113
115
130
145
178
165
154
155
152
139
133
86
89
88
135
126
121
144
90
87
139
148
155
143
130
127
78
80
75
79
86
138
153
95
140
131
125
72
75
60
58
61
90
108
92
71
53
60
64
60
73
78
78
58
67
64
57
57
61
66
62
63
63
111
129
126
119
98
90
66
58
56
11
13
25
22
31
31
32
38
38
88
93
97
89
38
39
30
80
31
25
78
35
97
98
47
93
94
98
98
44
48
40
13
16
17
14
22
44
110
108
78
29
90
87
93
101
96
89
95
66
74
44
30
35
63
59
52
59
49
91
55
32
34
43
103
101
41
84
36
42
41
34
33
30
30
90
97
88
87
96
84
23
43
73
69
164
122
159
193
138
112
107
91
117
81
91
111
154
126
130
173
169
155
108
153
137
131
133
133
128
122
73
99
121
149
78
127
157
103
129
135
169
127
87
94
80
129
109
71
151
196
156
127
125
125
148
141
77
74
83
53
49
53
12
0
0
17
18
85
93
94
47
52
112
123
133
120
142
132
133
144
150
103
105
96
143
89
93
97
97
92
86
79
87
82
78
134
138
139
136
134
133
144
154
156
152
153
157
174
167
89
85
91
94
148
142
143
149
158
135
56
39
46
59
77
93
99
164
173
160
154
96
92
88
139
86
161
159
105
154
149
141
139
141
142
165
178
184
123
112
111
125
161
154
165
172
166
153
83
137
139
145
152
132
115
118
71
81
148
161
162
130
86
77
74
72
123
130
137
137
146
95
87
132
131
77
74
52
57
67
95
109
96
77
73
69
62
113
138
89
85
92
93
87
75
121
124
76
88
60
100
107
66
94
82
109
47
20
62
63
78
83
45
19
40
39
34
34
37
93
93
94
85
39
38
27
72
32
27
26
33
93
97
45
48
98
100
100
47
49
38
21
16
24
22
12
30
105
104
75
81
90
89
94
98
92
109
59
58
97
76
20
27
20
8
15
35
69
68
28
35
38
49
112
111
106
100
101
64
67
70
75
63
53
81
85
72
118
119
103
97
68
83
134
126
96
112
179
186
119
128
123
132
90
99
114
169
181
176
163
156
136
81
84
65
58
117
120
117
117
50
38
132
78
41
73
117
168
190
201
124
62
18
80
106
42
42
69
111
148
140
157
121
133
154
139
148
155
113
73
114
73
56
69
51
54
80
91
97
93
36
39
121
155
66
130
138
103
98
105
111
72
139
129
127
75
77
83
86
84
79
86
84
76
68
64
113
110
108
109
117
129
142
150
147
142
137
131
128
71
92
117
127
125
102
155
160
160
138
73
69
88
90
144
84
68
103
107
76
132
88
96
153
150
142
144
134
75
126
132
135
137
137
145
154
158
167
170
113
113
155
154
157
194
200
181
108
108
107
153
145
141
149
99
83
73
66
71
82
146
150
98
93
94
98
95
142
132
67
88
90
78
129
139
82
70
121
72
74
89
93
133
122
73
121
115
111
112
58
54
54
50
101
98
46
111
120
57
45
49
57
62
47
42
96
40
17
59
55
66
64
70
75
27
30
31
32
90
93
95
42
94
89
37
41
43
36
86
33
86
38
44
43
94
89
92
97
44
44
37
34
19
33
36
63
72
106
115
102
117
128
83
145
147
144
144
124
74
102
113
63
46
83
92
93
65
68
26
26
38
13
53
52
47
54
58
65
91
109
114
58
31
20
30
39
55
81
152
102
112
189
103
6
69
53
126
155
94
166
124
122
112
114
108
102
145
142
143
144
144
141
79
51
62
70
115
105
49
35
28
80
87
71
105
124
110
181
209
209
168
42
2
55
58
14
25
73
119
130
95
58
75
145
160
142
130
98
34
93
80
88
104
120
69
80
81
86
97
111
58
46
53
75
40
88
121
153
85
33
36
52
130
126
127
65
73
88
154
151
88
89
77
69
62
109
58
112
119
124
146
157
154
141
127
65
61
132
137
82
90
105
108
99
149
155
162
165
142
84
86
87
83
133
133
130
116
113
96
96
99
105
116
126
132
132
128
74
79
135
134
134
133
131
147
91
91
92
93
98
158
160
148
152
159
152
148
155
162
169
169
167
156
149
81
79
83
91
96
146
143
144
88
90
92
91
92
91
85
80
128
76
87
145
84
68
120
125
135
147
94
132
123
122
121
123
70
64
68
70
60
53
60
114
113
130
129
64
122
96
115
178
166
83
65
19
1
0
35
53
12
73
74
21
27
29
27
82
85
84
75
27
74
21
29
81
82
86
87
85
87
39
88
92
90
97
103
97
93
99
91
26
27
34
29
77
95
119
139
142
133
128
127
120
113
110
118
133
89
108
116
80
81
89
72
103
127
127
126
127
111
115
124
111
115
65
36
82
88
91
89
105
67
29
17
21
48
64
62
60
70
160
155
91
90
188
133
120
123
113
160
103
95
86
78
143
133
134
134
127
91
90
148
81
83
154
172
127
128
137
119
66
96
116
90
121
181
198
183
132
35
14
18
32
30
15
85
98
94
82
61
66
111
112
113
101
64
80
144
169
190
210
180
131
78
59
83
107
111
51
44
116
94
82
70
81
72
36
33
34
101
123
117
117
126
77
88
97
92
83
91
84
77
68
119
68
69
128
136
145
150
138
120
113
122
80
79
149
107
106
106
95
78
81
140
153
158
142
79
77
88
132
127
129
128
111
103
109
50
92
88
92
102
112
123
118
62
62
66
123
132
91
92
110
104
97
92
86
86
152
158
146
96
157
153
153
168
164
159
161
167
165
156
134
79
81
87
89
87
144
119
72
87
99
99
96
89
78
66
63
71
85
142
76
62
121
126
140
151
147
129
118
119
65
114
58
49
49
54
100
43
59
124
131
154
162
125
175
137
134
120
99
81
43
11
9
55
49
57
4
7
3
11
20
22
19
73
78
83
70
21
22
72
74
67
65
71
75
77
82
39
87
38
37
98
102
94
88
97
93
30
76
31
33
77
90
118
153
160
149
147
150
146
141
119
136
119
74
89
114
83
54
63
58
122
157
124
109
106
97
115
127
63
73
94
54
97
103
95
75
100
134
51
26
18
42
67
83
98
116
166
176
160
186
159
137
99
117
104
101
95
82
78
75
72
119
127
134
135
179
187
170
144
102
199
220
147
123
126
124
59
117
148
87
113
183
149
185
131
45
31
38
63
72
36
82
86
94
110
108
97
100
138
171
114
100
80
105
170
202
156
179
153
81
86
96
102
104
53
52
112
125
109
70
98
59
63
63
56
57
113
106
112
117
114
62
75
94
95
96
93
80
66
62
62
62
115
118
138
146
150
149
141
128
65
70
94
116
112
114
168
115
111
157
144
136
145
88
84
81
73
111
114
142
168
124
112
109
152
136
70
116
111
80
33
36
103
124
74
119
123
72
78
80
81
83
137
139
154
152
149
139
143
151
158
134
130
139
155
162
155
144
145
89
82
79
84
92
90
133
126
125
135
143
89
144
105
68
69
68
67
127
128
65
133
127
141
126
66
63
100
75
84
90
94
113
72
76
95
97
114
181
179
168
143
134
123
118
69
56
50
74
46
25
11
59
7
65
18
15
21
24
28
30
32
84
85
39
87
84
19
11
9
64
62
65
70
73
76
81
83
79
81
83
85
33
85
83
83
94
85
82
92
87
34
113
91
83
77
30
38
41
40
83
81
82
98
56
58
61
88
56
29
82
126
122
108
130
117
104
99
105
74
92
142
128
124
122
120
82
105
124
120
95
84
103
167
165
170
156
155
164
165
159
148
135
134
137
88
67
108
119
91
148
165
162
173
213
175
154
172
196
196
229
189
159
154
131
134
102
92
122
179
168
162
156
161
81
52
105
56
99
168
140
117
83
120
92
93
147
124
171
96
148
67
117
140
188
197
139
190
178
134
116
114
145
85
53
46
109
145
75
73
74
72
72
78
83
83
118
111
108
114
122
126
137
156
163
138
79
71
114
62
68
75
129
129
135
142
146
148
149
151
102
120
124
136
130
119
110
108
108
158
154
147
85
85
78
83
87
142
89
85
109
49
63
113
60
68
94
165
102
86
74
59
56
117
74
135
142
96
85
83
85
142
150
102
157
152
154
159
148
149
160
115
105
101
154
152
155
153
147
165
127
118
95
130
85
155
139
77
127
126
124
128
80
49
103
104
54
61
72
76
121
131
87
66
61
69
74
149
156
166
172
164
148
135
89
80
75
123
116
119
73
76
76
113
54
48
70
86
31
20
65
65
13
15
15
64
70
19
19
15
12
9
57
7
8
65
27
25
22
74
79
78
77
75
74
78
81
65
71
78
81
81
82
90
73
84
87
87
91
29
31
102
126
61
106
108
63
62
56
63
127
157
171
168
106
100
86
107
80
90
107
113
124
111
116
103
95
101
97
127
178
175
181
178
154
90
95
103
99
84
76
133
138
140
92
90
96
91
82
125
126
134
143
142
147
130
188
184
130
174
158
111
112
141
182
225
200
201
236
179
165
144
154
142
116
101
112
166
132
118
152
141
152
117
110
71
89
105
152
117
133
155
151
148
107
130
122
151
127
95
138
84
102
132
149
153
192
180
126
116
124
96
20
43
59
120
154
117
90
67
72
76
83
91
93
82
131
129
130
143
150
153
159
159
95
142
143
141
86
82
85
141
144
99
152
152
150
103
165
176
123
127
181
116
105
104
106
117
119
177
174
101
96
85
75
71
70
68
65
118
64
72
108
99
49
62
78
91
119
98
131
125
126
132
135
135
135
127
76
137
148
159
165
181
163
148
152
152
159
120
114
112
117
119
163
153
151
95
111
126
125
110
148
149
161
95
89
85
126
69
70
67
60
109
106
54
61
72
88
72
138
151
88
141
154
167
197
127
155
137
76
131
134
136
129
126
124
119
66
56
68
94
93
27
44
95
78
85
75
70
70
66
62
60
54
67
9
59
60
8
63
65
81
75
71
27
21
7
0
1
2
55
56
59
70
74
88
91
92
88
83
30
38
79
87
89
89
89
26
23
90
126
127
128
77
76
64
52
116
122
86
102
101
90
83
84
114
150
115
115
122
87
125
124
92
71
91
117
159
135
151
166
159
91
94
99
95
90
83
135
142
142
138
84
84
70
69
77
81
148
171
161
199
206
186
181
181
195
190
130
102
66
76
180
161
232
156
174
161
135
113
99
142
159
72
144
124
97
146
166
133
125
137
102
100
137
142
144
151
123
170
152
146
137
161
103
165
106
87
72
91
117
145
159
160
139
168
93
98
139
118
72
17
94
139
129
121
84
52
48
116
118
79
85
138
141
129
125
131
140
106
172
170
169
130
93
106
105
98
98
102
108
176
184
182
173
115
120
182
129
143
184
123
182
198
154
150
142
195
137
119
123
165
92
78
79
89
94
95
130
143
157
166
106
86
71
70
67
69
91
168
174
183
191
190
176
163
157
157
155
150
147
150
98
97
152
99
92
84
100
103
111
106
85
145
107
127
175
120
118
108
90
115
121
67
83
85
117
109
116
110
117
117
114
114
112
74
101
122
121
153
145
85
78
131
122
121
74
131
72
66
118
108
111
112
105
93
96
56
82
66
53
111
134
125
81
65
63
64
69
64
60
55
49
2
8
65
66
68
69
67
48
0
0
0
0
0
0
0
0
4
9
66
81
85
34
85
84
31
31
33
36
81
79
83
87
87
28
76
81
141
156
111
113
107
98
88
80
78
70
76
79
78
81
76
123
130
146
139
118
102
99
104
125
148
157
157
132
160
159
157
145
83
93
100
90
81
78
127
117
110
113
113
72
107
135
138
99
138
168
188
163
174
198
206
208
180
198
124
99
113
134
136
195
160
161
157
181
156
115
134
106
164
166
128
176
184
139
143
101
70
56
71
137
129
116
153
151
93
164
187
106
78
77
126
99
126
71
117
82
99
132
131
132
132
110
50
126
104
94
107
42
56
107
102
90
88
72
30
75
84
44
52
65
108
98
53
89
117
177
181
173
143
101
93
121
135
105
137
128
54
122
142
97
84
77
87
102
130
178
159
159
163
110
104
104
151
156
162
125
130
107
84
90
148
97
94
92
140
147
155
160
161
163
99
85
67
113
114
118
126
89
98
97
149
149
160
167
169
169
169
143
80
66
113
69
80
87
98
83
106
123
102
101
86
148
143
108
120
154
141
156
159
92
91
150
161
170
156
121
99
111
66
100
90
51
62
116
106
68
76
75
80
93
142
144
168
104
65
55
106
131
171
174
145
134
127
71
58
45
68
103
92
105
80
63
66
69
68
66
62
59
55
72
68
60
51
47
48
0
0
5
9
8
10
15
20
15
12
12
15
13
62
67
16
72
79
34
38
40
37
70
73
69
73
93
104
39
76
122
129
67
73
76
64
54
62
90
118
127
128
118
107
159
165
147
128
166
156
127
103
141
174
171
152
150
138
125
119
123
63
67
81
74
62
45
44
92
116
123
150
164
126
102
132
42
86
108
180
102
181
206
193
136
127
142
103
157
98
137
139
147
135
164
161
152
182
169
112
119
169
75
127
188
94
46
126
173
175
122
127
168
145
75
116
108
72
57
150
199
145
97
104
125
149
104
143
139
75
106
108
166
107
101
43
63
102
120
147
134
39
77
137
168
150
154
107
8
109
111
59
55
72
134
87
77
101
121
131
134
127
94
107
101
114
119
94
127
109
85
120
84
95
95
144
150
159
174
176
167
161
105
103
102
97
151
156
106
169
166
98
88
150
161
108
102
95
147
153
165
170
163
152
137
128
140
138
135
127
120
72
77
75
86
159
169
167
104
98
97
133
131
79
91
96
150
98
98
83
91
100
142
100
98
98
94
108
173
160
144
123
154
93
92
154
167
137
140
122
74
126
123
53
38
84
29
87
96
124
130
77
76
128
157
94
102
88
76
125
124
93
99
83
116
120
132
88
43
94
130
102
69
36
76
64
61
58
57
62
68
73
74
13
58
55
54
53
0
0
0
2
5
0
0
4
8
10
8
10
16
18
15
18
19
77
35
45
52
56
56
103
98
79
66
76
93
100
103
123
137
88
91
81
67
116
85
99
101
113
124
125
124
148
144
163
173
153
164
162
176
162
100
141
128
74
68
76
119
78
77
76
80
60
105
106
60
134
103
136
128
95
164
142
71
71
65
165
92
101
174
126
135
93
120
85
123
156
102
122
117
141
136
164
145
141
165
143
112
132
105
131
146
165
130
110
151
169
166
164
161
131
120
82
92
128
42
54
89
160
165
100
56
98
93
43
125
149
155
105
171
127
168
84
0
63
142
126
120
105
44
86
162
110
152
136
97
30
110
105
93
80
88
160
178
160
157
99
99
97
85
76
115
129
115
93
92
142
127
118
68
79
96
106
157
150
145
150
159
172
112
99
148
154
94
167
169
116
159
90
95
155
167
122
121
116
165
165
166
168
158
144
135
130
137
158
164
156
132
117
60
61
63
78
109
166
106
99
106
114
164
109
107
108
156
146
139
94
94
86
87
150
77
86
101
94
87
144
162
180
160
157
155
150
143
136
130
118
53
106
54
47
44
55
117
117
140
151
119
112
130
94
95
140
131
136
78
94
84
135
76
118
79
97
91
93
87
53
128
89
118
79
11
62
0
8
72
79
79
72
61
2
60
58
60
63
65
63
9
4
5
58
57
59
11
14
16
12
9
12
16
15
12
6
64
20
29
34
36
34
24
84
81
75
74
74
21
75
102
67
90
109
116
114
164
175
176
110
106
96
76
63
60
87
110
93
163
203
163
143
71
66
132
133
74
79
74
112
73
69
113
72
125
138
145
120
173
171
146
75
43
88
52
59
119
78
94
180
126
128
125
137
132
169
136
153
153
153
144
123
118
118
142
138
140
156
156
134
122
123
171
99
128
187
178
154
175
149
173
177
186
197
180
151
181
153
159
168
157
69
96
69
102
94
44
110
144
117
103
152
130
26
37
50
17
118
124
138
115
103
142
172
163
128
75
61
22
134
114
87
70
110
112
113
117
127
130
127
70
55
39
66
92
90
69
116
121
128
142
78
93
105
107
98
90
140
129
124
149
158
101
155
163
159
116
171
174
99
90
96
165
163
160
159
109
169
166
167
159
144
139
145
90
131
130
154
108
105
160
97
122
105
119
85
93
101
107
108
105
163
114
120
125
177
175
176
178
181
177
179
185
101
107
80
95
102
160
172
172
145
125
131
128
124
126
120
112
60
88
81
85
107
113
92
122
133
142
84
124
116
62
62
58
68
134
121
115
110
126
85
66
63
75
82
87
93
85
130
93
9
5
5
0
20
21
68
6
0
49
6
67
59
11
59
53
50
0
3
4
2
51
50
52
54
56
56
3
0
0
6
17
16
76
26
81
32
34
35
86
100
95
84
79
83
83
26
26
39
52
59
70
80
57
14
75
75
72
76
70
19
30
61
76
154
216
79
111
51
54
56
53
48
55
78
76
83
79
74
57
61
70
127
181
195
184
215
173
117
63
53
94
71
93
32
132
142
96
161
186
155
141
168
130
153
144
141
146
131
117
82
113
146
110
157
228
182
131
144
125
142
72
92
144
108
127
189
174
143
166
197
165
118
117
140
79
57
40
32
110
103
49
30
23
84
119
139
97
144
101
105
83
84
103
148
103
81
129
133
114
148
170
175
144
118
83
12
117
100
81
71
67
122
125
108
114
60
110
66
126
73
78
149
104
142
126
122
126
133
86
94
101
99
89
84
83
115
60
144
153
96
99
165
169
163
169
173
92
90
145
162
112
161
106
104
162
108
118
162
144
132
130
128
122
128
103
107
154
164
162
143
131
112
75
83
93
102
101
96
169
173
174
107
154
155
157
118
172
175
179
174
91
90
66
77
129
128
132
122
103
129
145
150
150
148
139
133
142
114
101
100
112
101
74
108
141
79
74
66
53
111
74
60
68
126
111
112
104
117
61
62
61
67
77
127
140
81
98
76
64
50
53
65
68
12
56
0
0
3
11
68
60
6
55
53
1
2
4
5
55
52
52
55
5
59
56
9
11
11
67
76
74
72
74
78
84
37
43
49
89
91
90
94
97
38
27
25
24
45
65
79
90
80
52
86
85
69
62
53
61
29
124
192
196
137
59
58
52
54
113
118
112
60
74
63
69
73
114
103
71
106
63
87
77
84
117
130
136
83
89
70
78
15
39
136
149
149
129
161
130
137
141
170
160
199
198
131
115
110
78
133
118
118
159
154
131
145
189
173
114
62
126
161
92
125
188
153
170
132
155
113
56
70
149
88
58
49
42
89
43
12
9
13
69
92
59
68
39
71
111
82
79
49
152
113
67
127
148
125
154
170
168
133
111
41
28
92
81
71
64
109
108
109
103
89
86
44
55
120
116
111
121
96
106
145
147
152
138
166
179
133
129
116
102
92
64
62
119
137
93
146
148
163
179
179
155
140
147
146
95
157
160
157
157
170
117
111
104
158
158
138
111
91
51
52
63
85
158
162
151
85
86
68
108
65
84
87
129
152
160
163
99
96
98
99
99
148
155
146
112
102
106
62
62
108
47
46
104
69
91
86
82
135
144
150
147
139
146
146
99
155
147
92
99
125
102
65
56
41
86
28
34
57
99
81
119
121
67
81
70
54
35
19
76
146
112
34
65
63
69
73
67
56
2
5
8
6
9
5
0
13
59
8
59
10
11
59
4
61
66
75
78
75
70
71
24
29
80
77
81
86
79
80
80
80
81
31
39
47
48
43
41
39
34
42
57
44
92
46
63
76
74
116
98
82
64
109
183
197
146
71
44
99
114
113
68
64
72
71
125
126
124
120
69
62
30
47
78
77
95
39
114
75
87
139
48
73
89
74
103
110
173
100
126
193
200
191
147
125
105
139
220
197
175
173
134
133
88
126
186
122
119
122
146
158
183
150
159
138
116
201
185
151
152
169
181
112
77
75
180
120
65
72
85
82
83
69
84
56
28
27
53
92
115
87
113
107
87
80
103
88
81
104
66
78
101
118
124
135
90
86
59
75
82
83
67
127
130
122
117
111
100
90
96
105
107
55
73
123
153
118
116
141
137
74
137
154
162
160
154
149
94
96
150
110
115
137
156
154
137
125
122
129
125
119
140
144
84
102
156
154
94
93
150
95
79
58
42
84
73
71
26
49
54
113
120
127
138
97
107
92
94
68
45
37
41
94
116
120
119
106
107
56
110
123
138
130
115
114
106
113
139
141
140
138
92
102
170
147
83
84
148
144
127
127
142
137
135
91
156
146
70
54
42
73
90
35
25
63
12
12
34
79
56
65
22
33
30
10
23
39
39
120
100
75
64
9
7
53
50
51
1
4
62
8
0
0
57
3
5
4
8
9
14
19
68
75
78
77
17
71
22
75
21
21
22
23
76
78
78
79
83
35
38
38
37
37
35
38
39
41
42
36
29
33
100
99
98
101
58
65
68
58
176
187
149
132
129
78
114
94
45
114
120
72
67
76
78
81
84
134
70
89
36
48
57
35
30
37
23
40
38
25
41
27
45
13
85
79
164
145
78
153
209
184
143
131
111
109
107
137
154
189
165
171
129
102
151
147
176
181
119
134
220
211
179
177
123
51
117
123
91
180
128
103
63
62
145
157
124
99
56
91
69
52
83
155
254
98
52
96
49
95
99
70
79
66
60
45
94
98
111
116
111
127
131
116
117
119
100
60
68
68
59
60
127
132
125
125
119
107
103
96
43
48
56
74
97
121
106
115
133
124
64
142
180
197
175
155
93
93
97
103
145
141
134
145
145
81
72
126
131
127
68
129
122
109
50
53
54
54
54
105
48
47
40
40
97
95
102
67
92
89
135
126
120
122
80
87
90
85
61
42
39
46
50
119
124
127
121
121
121
121
142
160
142
114
115
114
130
176
161
146
144
105
113
141
136
83
88
93
84
70
125
139
149
157
160
156
138
119
110
48
64
99
100
50
92
84
81
43
39
72
68
73
78
64
0
10
31
103
127
67
71
10
9
9
1
51
55
56
57
8
6
51
0
6
4
3
4
8
8
14
19
70
73
78
79
68
16
19
21
25
23
21
23
78
78
76
75
78
81
32
33
33
36
33
36
35
38
42
37
27
27
98
102
101
102
110
73
85
70
174
91
134
138
127
117
60
102
105
117
65
72
72
131
135
85
83
75
117
95
62
41
34
30
40
39
15
19
27
49
0
25
13
14
54
128
158
83
102
153
214
188
145
134
112
111
104
131
155
192
183
189
132
120
137
145
194
197
178
186
172
168
188
172
118
97
152
127
109
132
117
86
43
98
118
109
126
163
68
45
55
64
109
153
171
101
117
101
47
75
81
104
121
92
13
0
0
0
4
88
17
73
31
29
42
48
73
101
70
70
49
109
117
66
60
119
116
106
90
39
47
58
63
68
61
42
53
61
62
66
73
81
141
123
119
129
92
99
148
87
80
83
82
147
96
78
61
66
64
111
103
121
133
135
137
82
77
122
119
83
92
92
101
116
168
155
95
96
92
90
92
100
106
102
140
76
44
36
39
51
65
71
122
117
127
138
146
146
91
84
83
158
159
87
75
113
125
84
135
83
87
146
96
72
115
133
90
80
71
76
78
74
90
89
140
144
138
125
117
112
99
90
54
95
118
72
76
128
133
90
87
132
125
127
126
62
72
142
114
50
75
62
58
6
6
7
10
66
60
5
5
56
8
9
52
8
11
13
11
14
21
72
66
74
80
78
77
23
20
22
19
17
18
20
71
69
76
76
77
24
25
28
36
27
83
81
27
86
36
33
85
88
97
103
106
118
139
159
108
58
40
94
99
102
108
103
109
115
65
65
73
86
81
88
85
68
52
105
119
88
24
22
7
8
11
0
43
0
25
13
67
34
144
138
66
136
123
118
197
169
192
157
150
109
111
122
193
199
210
184
208
186
148
152
154
203
182
173
188
205
147
173
145
115
192
113
63
111
95
94
88
61
65
135
136
101
53
154
110
113
112
105
119
50
89
62
70
78
83
122
89
96
68
0
33
61
69
70
27
41
44
38
32
22
16
69
66
63
62
59
74
65
60
63
110
46
40
48
99
113
86
106
114
85
65
64
62
68
77
75
79
143
146
142
91
99
114
178
133
114
163
143
158
167
103
88
70
71
72
84
119
126
176
160
167
123
176
172
122
132
117
112
163
159
154
103
103
67
116
65
73
78
70
53
36
87
93
139
129
71
71
74
138
146
154
162
163
109
157
97
92
104
107
139
128
125
135
134
136
146
157
105
63
114
110
116
71
69
56
53
59
74
66
67
133
149
152
154
155
159
102
85
119
116
72
83
131
90
104
91
88
84
129
104
69
151
123
67
51
68
66
17
20
66
11
11
8
11
14
12
4
4
8
6
7
13
16
14
70
26
79
83
86
88
90
39
36
82
32
32
32
31
82
81
81
76
77
79
26
23
19
16
13
74
75
23
81
34
86
88
85
87
92
93
99
112
127
115
31
30
23
76
86
87
88
40
39
47
79
88
97
86
90
80
61
48
47
96
95
29
30
22
20
65
47
4
76
50
59
111
154
83
108
133
105
132
94
162
202
196
174
140
82
119
127
134
195
121
162
141
119
168
154
187
193
152
170
212
162
158
150
96
148
189
184
190
140
123
181
97
79
135
99
157
97
192
180
93
81
1
58
49
100
139
86
50
106
122
149
160
138
91
53
27
38
40
162
130
89
50
27
103
96
71
84
100
112
108
88
51
56
119
118
119
71
68
127
120
67
83
151
156
96
81
76
76
79
74
67
71
81
150
155
119
141
153
197
176
79
130
150
106
103
149
91
76
142
104
121
200
197
191
192
195
193
185
182
187
128
104
158
180
175
132
112
64
68
155
115
88
107
102
130
112
126
156
152
91
98
104
97
149
143
139
156
147
85
88
102
96
105
117
164
111
105
129
140
151
146
79
77
84
79
64
118
71
66
69
79
133
126
84
88
87
142
156
173
173
107
101
85
106
99
69
66
77
92
92
76
67
52
82
83
107
128
40
79
85
79
73
73
74
66
8
5
58
54
1
57
62
64
13
14
19
13
24
71
71
78
79
84
87
87
37
41
43
94
89
91
45
96
89
84
76
29
28
78
76
23
25
34
29
83
82
23
72
74
78
28
78
78
77
77
83
98
113
124
88
80
92
86
82
91
41
44
56
126
138
142
148
135
127
119
117
68
119
105
110
96
81
69
66
75
77
73
70
58
150
167
63
107
96
171
119
134
108
156
115
166
148
188
177
164
130
131
159
100
208
149
140
158
179
189
170
131
119
149
154
141
147
118
165
133
115
172
183
223
101
156
77
120
139
117
116
194
141
56
0
27
45
98
71
76
152
92
143
150
170
180
139
95
97
40
41
71
132
159
143
110
4
80
82
85
107
125
161
123
77
85
143
148
142
120
123
123
60
55
57
73
90
97
93
88
82
81
81
81
77
83
93
98
126
143
123
92
88
99
99
154
145
145
152
155
101
88
87
87
146
189
203
208
230
214
205
202
194
183
142
177
106
114
91
107
124
140
163
91
65
55
120
133
151
118
171
112
163
106
108
103
90
103
156
100
96
90
80
68
67
75
140
96
156
172
108
150
139
81
78
69
67
82
90
95
144
126
70
90
152
137
123
67
71
79
135
137
138
141
103
82
76
73
57
41
100
45
48
45
40
33
70
80
126
96
44
34
24
80
89
77
70
67
8
59
11
9
8
8
61
64
67
69
69
15
64
22
69
69
75
74
79
31
86
42
50
55
56
102
99
101
100
97
42
84
86
33
83
79
25
77
31
24
79
78
21
18
70
18
16
18
21
80
84
85
88
92
123
112
75
59
56
78
103
82
51
129
146
154
150
145
116
132
141
139
85
140
132
140
181
179
147
138
135
124
112
84
161
2
19
76
86
102
108
82
92
111
145
123
160
136
190
180
176
194
191
121
112
163
146
196
179
195
102
160
143
132
140
150
146
125
127
140
177
103
190
162
49
101
131
130
111
114
73
118
179
105
89
2
5
38
67
71
78
143
73
69
94
161
102
124
83
22
41
63
61
95
70
45
105
88
97
90
109
132
120
71
43
35
151
139
82
77
65
113
55
47
50
113
133
97
152
146
87
85
86
91
96
153
157
109
107
101
143
143
106
113
105
98
154
145
141
143
89
83
75
128
132
140
166
179
187
193
202
208
204
199
95
57
56
56
133
156
157
159
158
111
112
118
133
140
139
147
170
184
144
129
117
113
164
165
111
109
107
92
96
95
81
76
64
110
119
126
90
108
94
84
87
94
91
84
74
70
79
134
81
81
133
129
128
69
75
78
77
129
134
143
88
85
124
73
66
59
114
115
114
117
63
57
68
73
107
131
73
51
34
26
31
82
70
65
65
62
63
12
60
11
11
8
61
13
15
66
14
17
25
72
73
77
71
85
36
37
94
51
56
57
106
102
102
104
104
53
43
39
38
87
82
25
22
23
75
77
25
22
72
71
16
11
7
8
17
79
85
88
91
94
102
121
137
155
158
153
137
140
85
129
139
141
134
138
135
119
47
40
45
87
82
94
75
62
78
84
100
167
147
147
96
150
128
140
90
51
88
84
169
142
145
152
111
157
149
193
188
173
179
186
150
187
199
211
164
185
143
102
131
153
140
152
143
156
164
166
138
172
118
126
95
177
192
126
154
168
189
202
179
129
136
83
123
63
135
70
48
37
69
89
113
130
169
150
62
49
62
71
146
136
68
134
89
77
88
117
61
66
63
46
38
146
79
70
70
124
120
63
61
116
128
143
153
156
152
93
95
97
104
109
166
115
166
139
89
164
178
174
165
105
103
152
137
134
133
136
84
77
132
141
148
151
158
165
183
195
209
155
122
60
59
71
140
168
165
152
172
167
79
125
155
98
93
153
154
100
178
138
119
107
106
160
165
108
101
158
94
94
93
130
126
67
61
115
123
86
162
156
98
95
93
85
83
78
81
85
82
78
132
128
130
86
75
70
124
73
122
62
57
65
62
76
136
128
129
145
135
134
138
80
68
82
90
94
63
73
48
86
101
14
23
64
61
64
63
64
65
60
13
14
9
60
13
15
65
65
19
78
73
23
26
69
84
86
86
37
44
50
103
103
101
105
107
107
58
49
96
42
91
85
79
23
22
23
25
24
21
21
21
69
64
7
5
9
16
21
79
83
87
100
110
61
76
144
153
164
165
160
150
131
121
111
129
119
105
97
98
103
41
86
85
74
81
101
104
114
99
115
136
145
169
170
147
80
81
136
125
164
180
196
192
95
158
154
203
201
187
197
195
157
188
214
231
168
204
180
111
140
214
184
136
199
193
205
217
171
164
120
109
107
95
109
109
92
152
171
194
89
53
94
128
113
31
67
35
45
50
65
71
95
95
127
102
88
116
74
67
140
115
116
133
90
85
103
121
53
58
46
46
47
100
82
123
120
61
115
116
116
117
72
84
145
154
169
172
121
120
117
112
155
88
74
100
120
125
127
185
180
108
168
155
166
167
151
141
142
131
129
124
118
118
144
170
186
168
129
96
51
134
145
124
158
139
149
161
85
54
91
139
85
89
84
74
84
110
116
171
103
108
113
108
107
104
88
96
101
153
162
159
152
188
134
154
145
148
139
138
150
156
90
78
84
78
81
163
161
136
134
92
135
71
65
78
83
75
68
72
80
143
104
100
143
137
142
155
162
153
150
98
90
98
152
146
39
64
96
103
96
90
75
62
57
8
63
68
73
68
24
25
17
15
21
76
72
9
71
76
71
21
23
64
20
74
73
24
32
90
91
100
104
114
119
117
69
63
108
106
102
95
87
81
78
73
20
70
16
17
19
17
12
9
9
65
18
23
83
90
103
108
119
119
65
64
68
70
122
72
68
46
59
133
125
59
52
57
55
42
34
37
31
26
19
18
79
81
87
83
72
101
122
105
88
100
125
110
142
179
164
182
160
132
202
203
173
187
171
108
127
77
149
197
209
201
190
185
200
98
162
196
189
187
187
189
192
185
168
57
129
159
57
62
90
119
178
160
158
132
74
74
99
114
159
100
63
36
30
73
119
138
132
112
129
48
60
114
142
145
99
91
101
78
94
98
105
57
52
65
81
55
108
95
130
120
64
67
69
131
134
134
88
100
117
187
199
124
108
161
172
175
179
130
109
116
122
126
176
170
113
173
159
151
150
146
150
154
149
147
136
138
171
149
130
91
94
112
139
108
118
121
198
178
174
155
59
62
100
93
102
104
101
102
110
111
106
108
111
97
90
95
155
157
90
88
92
96
146
143
135
161
177
108
83
92
151
146
115
138
160
115
109
97
77
138
140
145
151
149
148
154
110
111
108
104
106
104
103
107
155
105
108
156
152
159
168
168
163
164
167
103
95
144
91
40
20
95
102
83
63
69
66
66
68
69
17
19
76
25
19
18
24
18
14
24
68
68
25
20
71
21
69
67
19
74
77
28
32
85
99
98
53
63
66
74
76
130
125
115
105
100
96
82
73
74
72
18
22
79
78
73
68
19
79
31
80
83
89
98
102
113
62
61
59
58
43
46
46
44
53
54
51
35
47
47
46
58
62
62
60
58
49
39
33
31
77
83
76
82
94
107
84
102
89
59
87
193
170
196
193
171
149
147
165
180
157
98
105
177
87
81
170
204
176
167
163
202
194
152
126
167
177
195
192
174
178
106
112
160
119
47
66
164
122
167
159
147
119
55
87
102
50
80
26
117
130
119
150
54
71
120
136
95
48
78
63
113
65
101
110
99
104
96
88
55
100
55
59
52
32
111
95
78
70
115
66
127
139
139
143
100
113
125
132
167
148
100
135
211
201
182
122
167
171
121
120
120
117
169
176
112
100
153
149
98
152
159
148
137
146
153
118
92
98
118
141
151
144
144
158
168
161
153
70
42
69
109
163
119
115
100
96
103
156
149
152
158
151
97
100
100
97
93
98
110
149
143
146
148
165
110
91
129
93
97
144
131
131
91
105
103
85
142
154
158
162
167
164
162
165
171
161
99
93
98
100
99
103
159
107
111
110
159
161
167
159
104
163
177
111
102
154
87
40
20
92
103
33
55
72
70
71
22
23
23
76
77
26
22
21
24
20
18
24
62
69
22
16
12
14
65
67
70
20
75
76
27
29
96
93
45
55
64
72
73
127
73
64
101
88
83
85
80
78
22
21
25
29
27
21
73
76
32
88
87
90
95
104
105
60
115
115
110
53
46
49
49
46
43
40
88
41
44
39
37
46
52
54
58
60
60
57
54
49
93
96
86
91
106
73
100
111
96
60
155
176
171
182
195
191
159
144
162
164
103
107
98
119
82
118
148
184
170
158
140
193
210
122
116
106
124
183
193
134
132
103
109
113
131
49
84
110
106
112
146
144
111
55
116
61
43
93
67
99
101
131
81
0
55
113
110
118
89
44
23
30
61
22
95
102
105
92
33
45
39
53
53
50
49
95
83
75
76
133
142
155
165
169
173
120
108
88
76
146
153
159
103
96
151
161
116
115
115
109
106
108
116
174
173
117
111
112
114
119
125
176
155
134
123
121
133
144
123
118
109
111
126
149
144
132
117
106
80
110
103
137
153
138
81
92
97
150
157
170
189
167
153
92
89
87
84
78
82
90
144
158
173
177
175
165
159
166
170
97
147
79
135
89
94
102
165
178
172
170
165
152
140
135
135
138
151
150
91
90
91
99
162
170
168
166
113
162
106
153
158
103
110
118
94
91
96
51
82
76
85
88
33
70
19
17
18
22
23
22
75
75
74
75
22
20
72
20
69
55
21
73
19
16
69
22
16
16
72
26
24
77
30
84
91
40
43
50
54
68
77
78
73
61
101
95
90
89
83
23
20
20
21
24
25
20
77
32
90
94
98
102
102
107
112
108
104
103
52
46
98
99
98
41
43
47
92
86
32
37
42
47
99
51
105
108
58
55
49
96
100
104
111
114
61
66
127
128
94
137
113
158
86
129
129
115
163
185
163
109
111
118
125
125
114
188
199
197
186
129
145
150
112
166
135
107
203
140
113
113
96
111
162
177
134
119
150
111
152
116
119
101
122
34
17
33
119
106
92
86
105
80
35
103
177
178
62
81
115
138
86
0
1
28
117
128
123
120
59
53
96
34
87
96
90
95
96
94
115
177
127
120
112
157
151
88
79
94
156
106
114
119
116
107
102
102
102
99
96
99
106
169
177
121
115
117
125
126
169
156
119
113
121
134
172
173
102
78
81
128
119
126
145
138
106
101
130
148
79
76
141
159
110
120
138
158
165
150
131
140
100
104
103
97
91
87
89
86
139
156
178
186
177
180
170
168
170
110
96
94
72
82
84
79
84
101
118
169
171
165
151
139
137
138
137
150
156
101
98
95
100
167
169
174
171
166
163
157
99
71
133
90
91
99
111
116
53
91
79
71
19
77
12
14
13
14
17
17
66
65
15
65
70
17
62
14
17
59
51
11
5
9
10
9
15
14
11
65
18
10
9
14
68
25
20
21
34
37
54
58
64
67
61
105
98
89
89
38
41
40
32
75
76
31
32
87
89
92
96
99
99
110
62
117
114
112
111
110
114
113
61
59
39
38
42
44
87
91
46
43
46
54
98
98
103
109
111
110
115
125
126
128
139
147
83
56
89
22
62
114
114
144
184
146
169
163
113
126
107
101
113
120
132
161
180
194
209
134
114
145
95
100
132
135
117
108
118
120
125
74
57
120
171
80
113
157
175
169
149
124
143
125
184
133
90
95
154
78
138
145
50
19
48
124
127
96
113
113
101
145
107
92
45
29
22
88
60
54
61
37
47
65
65
94
105
108
101
126
133
130
103
96
145
151
98
94
111
110
158
115
177
114
91
136
94
90
143
144
99
111
124
135
128
123
133
138
175
141
107
48
61
137
156
181
176
99
71
83
91
94
102
99
79
37
131
146
86
94
105
152
158
122
130
137
163
189
175
142
166
159
99
91
82
79
80
76
74
128
148
169
121
108
178
166
159
104
96
94
93
77
85
146
150
100
105
171
165
169
165
151
140
137
136
133
154
159
156
100
97
154
165
175
182
174
165
108
103
95
81
146
99
90
92
101
101
108
92
24
13
67
78
11
13
12
13
16
15
64
62
59
57
63
10
54
6
10
50
48
5
0
2
3
1
7
12
60
10
64
54
0
4
5
11
3
6
25
27
43
49
60
68
65
57
106
108
96
49
55
53
39
75
71
76
33
37
92
44
50
54
106
73
71
119
118
115
109
51
101
103
109
60
48
48
105
114
49
101
50
39
91
100
108
55
110
114
112
109
112
131
137
139
145
148
81
60
50
39
86
51
66
85
76
147
112
100
117
158
164
148
112
156
109
128
152
178
209
130
123
164
90
102
120
140
121
123
119
118
138
103
81
126
163
96
177
183
140
127
138
145
95
118
64
57
87
125
155
100
127
125
16
33
92
139
172
162
138
163
130
184
137
105
50
29
10
67
38
45
72
40
54
72
62
114
125
134
128
95
80
71
87
85
146
154
152
103
123
124
170
162
153
147
153
118
135
157
168
182
181
171
169
119
116
129
120
89
71
79
96
105
96
94
95
82
82
84
107
102
101
111
124
90
72
84
151
160
105
109
169
165
154
101
118
129
122
125
128
114
114
144
91
88
84
82
85
85
83
136
153
155
151
146
143
139
137
151
164
147
105
96
97
99
100
98
149
159
169
170
159
147
148
152
154
157
162
158
156
154
152
97
146
150
152
99
150
97
97
149
90
96
86
100
81
102
81
96
37
24
15
70
16
16
13
11
9
10
61
60
58
52
5
10
60
58
60
62
62
6
4
4
4
6
7
8
12
8
7
4
52
7
19
12
8
62
63
62
10
54
9
23
33
40
100
101
107
65
118
118
64
115
109
97
86
87
95
47
51
109
118
73
75
76
123
122
122
120
65
68
67
115
108
97
49
106
97
96
98
96
36
37
43
55
59
64
120
121
120
119
127
81
84
138
92
96
139
125
123
68
62
50
40
55
84
76
85
89
86
86
87
84
166
108
148
141
142
149
95
107
111
82
113
145
143
160
148
135
125
119
97
117
129
177
110
168
211
148
187
124
118
98
80
109
93
123
186
193
187
153
141
67
0
43
108
106
159
123
121
132
161
111
69
58
38
24
82
101
49
31
82
90
88
91
111
107
100
93
106
112
115
146
142
149
157
156
158
157
168
165
162
107
153
145
88
88
97
152
151
141
142
170
144
201
110
73
88
97
102
104
97
105
107
107
107
107
111
104
115
120
122
121
84
73
86
142
139
135
151
175
189
170
103
97
99
93
99
118
129
115
105
105
99
88
81
81
74
68
121
133
79
137
148
153
145
149
169
181
153
97
157
105
105
101
94
94
117
122
168
159
158
164
164
111
169
164
154
153
157
159
105
104
159
167
155
148
151
100
147
168
137
126
114
92
110
116
98
90
23
12
13
15
23
70
67
64
61
61
6
3
61
8
4
1
53
54
1
50
57
57
5
5
5
6
6
11
12
59
57
19
28
27
37
81
76
71
66
78
77
18
69
11
10
76
90
113
84
88
143
142
141
134
121
112
123
148
175
136
183
164
148
80
81
79
79
135
131
73
115
116
67
118
61
59
110
112
110
114
114
108
108
57
54
58
65
121
123
125
128
130
82
83
82
85
90
144
142
136
119
53
55
65
76
138
92
95
99
106
160
159
159
155
168
173
155
135
135
88
92
137
76
86
71
58
68
35
47
40
43
61
100
82
97
111
124
117
123
131
118
67
62
83
133
130
91
112
125
194
151
112
42
52
85
99
169
160
183
190
181
122
20
0
17
101
116
109
33
29
56
41
36
52
73
104
101
98
98
108
105
96
147
146
101
107
101
149
151
154
148
143
143
91
93
149
154
104
151
141
142
166
188
193
94
71
73
98
108
161
107
110
124
127
116
155
153
107
113
117
118
120
118
84
79
96
109
121
176
184
193
142
121
163
99
95
102
116
122
166
102
106
110
102
90
87
91
132
133
88
98
97
105
169
175
159
156
169
172
97
93
156
160
164
163
105
103
121
119
126
117
101
152
155
153
151
147
90
95
154
158
111
116
120
125
160
151
97
94
140
94
118
111
96
82
166
73
49
39
20
12
69
73
71
67
13
10
60
7
7
56
61
60
56
51
52
1
0
0
2
55
55
55
2
2
2
6
9
58
8
77
86
32
38
84
81
75
69
75
73
98
44
32
18
15
14
23
28
102
134
154
159
144
119
98
107
136
163
179
186
137
189
117
106
75
120
118
116
110
133
76
125
122
68
115
111
122
119
119
119
114
116
68
67
118
67
122
128
131
131
133
78
74
73
77
82
83
82
127
110
101
59
73
78
80
94
93
95
96
148
148
148
152
155
161
166
159
139
144
99
145
147
103
88
82
93
84
87
119
107
115
55
45
55
60
83
138
137
129
108
117
101
63
63
123
151
163
156
183
134
79
36
93
80
124
152
147
113
88
99
93
65
92
68
56
83
112
54
41
49
48
40
51
117
100
68
89
95
89
136
83
83
78
75
71
61
60
135
138
142
148
154
99
144
139
137
145
144
144
150
157
91
115
60
79
91
86
142
149
101
143
207
138
112
111
106
162
176
112
157
110
105
94
121
147
137
117
98
152
166
128
121
116
109
111
115
106
145
139
144
98
111
169
165
108
110
89
107
119
105
108
117
173
127
106
103
163
104
146
144
88
93
154
162
163
109
112
126
122
108
96
95
143
137
137
83
91
97
144
87
94
107
113
104
106
107
96
88
87
100
100
95
102
70
152
60
44
37
24
17
72
68
8
12
10
7
6
5
55
53
49
54
6
55
52
53
54
54
0
1
1
1
52
50
49
1
3
58
14
21
78
81
31
29
84
81
74
75
72
57
9
11
16
29
34
34
99
97
41
34
84
88
94
97
48
75
139
135
134
92
103
85
81
136
156
181
200
205
145
192
185
173
150
145
143
141
137
87
140
137
87
138
96
95
92
92
92
93
94
91
88
84
79
76
77
82
140
137
139
132
128
74
83
98
78
76
76
74
74
81
92
99
148
97
101
153
139
134
126
131
138
142
96
96
140
85
138
150
145
122
65
81
90
78
95
86
119
118
113
66
94
20
75
144
135
124
115
119
86
80
53
104
148
116
78
68
43
46
89
113
49
76
103
137
130
109
129
143
118
60
60
98
94
60
58
70
87
85
137
138
124
86
93
86
71
66
131
134
135
140
140
139
144
143
85
142
128
117
111
108
115
131
86
78
102
118
122
170
120
126
176
172
169
130
134
133
130
165
147
94
80
113
124
182
130
163
145
156
184
186
102
100
89
79
78
90
152
157
153
162
166
163
156
169
117
126
113
109
118
123
174
114
103
95
94
99
100
94
151
139
138
83
92
155
149
114
121
116
111
103
90
134
142
155
106
80
90
169
112
105
104
102
98
106
116
159
92
91
95
79
128
119
126
152
73
39
23
20
16
9
13
12
12
63
11
62
56
49
49
0
56
59
55
50
53
57
60
59
0
0
0
49
51
56
9
3
55
70
65
6
3
56
80
90
85
82
73
85
82
20
16
18
21
25
52
46
105
110
112
108
64
88
111
120
125
133
183
170
147
76
59
64
69
75
131
126
117
97
98
43
87
87
87
82
91
87
98
122
80
73
126
111
55
45
42
44
94
94
95
105
72
84
82
79
78
125
128
148
160
141
76
97
101
132
124
128
125
126
148
115
151
127
136
119
190
181
181
185
151
130
141
170
150
116
108
159
156
152
139
138
96
101
65
74
77
105
103
40
11
26
90
160
127
59
82
61
123
53
70
125
88
115
103
64
51
60
60
50
122
122
138
119
134
107
25
94
49
53
24
31
118
126
119
122
82
88
74
135
143
152
146
83
74
72
76
75
143
130
128
133
129
75
74
74
88
128
111
105
115
129
142
133
131
102
110
160
104
106
173
179
181
176
173
128
133
109
155
87
82
140
76
88
102
102
153
155
99
92
91
100
97
93
97
158
167
165
159
173
181
190
178
154
166
124
107
109
114
101
94
145
89
99
94
93
98
99
93
96
96
88
78
133
90
93
124
117
94
79
87
104
110
105
150
148
166
165
137
107
111
122
124
131
127
117
110
113
117
165
105
155
137
116
148
78
45
26
14
12
13
20
60
18
13
62
62
63
58
56
54
0
0
54
63
70
67
8
5
8
8
6
5
62
69
63
62
11
16
67
66
68
67
75
76
72
74
77
86
36
32
26
22
28
33
24
22
24
86
51
68
82
93
103
112
108
104
97
83
65
53
66
76
80
122
119
120
119
69
66
59
56
48
85
70
86
94
104
113
120
75
138
108
110
107
52
52
98
97
95
94
86
78
87
54
62
107
109
158
180
180
180
146
141
169
149
103
130
117
141
120
145
162
122
94
81
173
186
173
161
155
142
157
178
152
131
204
199
171
137
142
128
132
89
69
64
76
111
56
38
105
118
129
64
30
38
60
82
45
48
100
119
93
73
21
10
28
32
28
97
84
77
87
155
129
106
64
65
64
38
28
40
116
123
71
79
82
74
135
143
123
71
70
120
124
130
133
141
129
129
134
131
75
85
92
118
133
103
104
121
129
127
123
130
106
110
107
102
104
166
171
173
167
166
120
176
162
148
134
138
93
76
85
141
141
140
136
84
87
93
109
104
150
151
156
160
162
159
164
188
209
191
153
151
105
106
105
105
84
82
85
135
148
89
84
84
86
90
94
90
82
76
79
85
89
113
100
94
91
93
92
87
139
143
184
169
204
188
152
108
144
144
185
110
161
169
116
160
158
98
150
78
116
149
80
42
28
14
62
14
19
10
19
13
61
9
10
9
6
57
55
1
4
15
73
70
10
60
14
11
5
3
60
14
62
65
68
71
72
76
80
80
27
24
74
75
75
26
28
31
29
22
25
34
27
24
29
40
57
72
79
84
87
100
99
96
91
81
68
59
120
74
129
125
124
75
79
60
55
52
51
47
36
78
90
51
114
120
127
82
69
110
114
62
60
57
102
101
104
61
100
86
60
95
86
103
84
166
191
191
187
203
202
195
169
189
190
106
105
68
125
114
151
189
203
204
215
193
179
174
147
142
171
168
158
159
92
94
83
137
113
100
43
34
42
66
54
10
0
76
93
97
54
36
19
22
69
27
88
94
123
117
109
42
21
36
21
12
36
133
85
99
147
116
106
65
67
67
66
58
51
60
59
64
79
143
140
85
76
58
71
83
140
139
133
119
120
123
133
136
126
76
86
142
90
82
72
74
128
126
124
127
84
101
101
98
92
93
161
160
157
150
154
106
159
159
153
88
76
72
85
134
140
98
94
137
142
107
105
137
91
150
155
100
145
144
148
188
186
194
177
142
137
82
80
81
86
145
152
150
137
128
127
75
78
81
85
85
94
89
93
98
94
92
90
94
91
92
148
149
155
173
139
148
203
191
100
67
80
84
74
111
130
135
152
173
179
155
139
131
116
114
147
72
88
83
19
62
13
11
14
12
59
58
6
6
4
6
58
63
67
14
12
13
67
65
55
13
10
60
62
66
16
55
61
14
70
76
81
84
88
26
28
87
86
30
25
25
81
27
68
61
11
24
10
22
43
59
66
66
68
72
78
78
72
61
45
33
26
98
93
102
109
104
95
34
54
51
52
52
49
50
106
102
103
105
116
87
105
91
136
83
75
119
61
51
100
150
93
91
106
117
106
162
192
199
197
206
214
208
214
215
219
197
207
155
163
192
196
225
205
190
172
184
201
188
205
193
200
137
166
152
153
87
67
105
105
98
62
82
57
83
93
99
95
35
26
37
66
87
91
32
8
18
24
14
3
113
146
152
154
161
105
113
106
56
30
48
126
61
92
127
125
149
83
60
49
48
44
56
77
66
80
99
105
93
91
87
92
134
74
138
160
166
119
60
130
151
158
111
116
104
131
66
56
66
88
147
145
147
104
102
150
100
110
120
125
122
179
174
159
146
156
165
165
141
76
79
77
84
143
135
128
130
139
142
137
88
88
92
106
175
177
167
154
146
158
138
142
143
137
88
78
86
86
85
124
131
133
124
127
129
131
82
88
95
94
105
94
92
88
128
76
76
59
67
82
95
93
133
124
124
98
39
61
50
39
64
69
89
126
174
160
139
131
72
95
82
129
113
110
95
129
92
83
63
56
15
16
8
10
60
59
60
4
2
5
7
9
64
65
68
70
67
61
64
15
11
11
14
65
61
68
21
23
77
82
82
78
49
32
84
89
82
80
23
90
29
24
77
23
68
73
80
37
57
79
95
101
104
106
149
151
146
137
129
72
71
114
113
127
133
124
112
52
44
36
34
41
48
43
93
100
100
108
123
83
83
122
133
75
64
59
63
63
118
116
138
136
78
94
149
134
77
145
160
165
147
106
106
125
142
132
157
135
72
130
162
120
153
169
101
157
138
156
172
160
147
85
94
75
48
100
103
145
132
103
52
59
1
83
75
66
88
22
12
125
102
130
80
54
44
26
46
51
25
120
76
83
91
104
112
97
90
81
60
96
81
92
113
61
106
137
70
73
98
41
93
107
50
134
152
167
171
110
107
107
101
93
86
88
145
148
134
86
139
139
140
151
106
145
127
111
125
133
139
95
104
109
110
155
147
117
131
130
124
122
169
166
164
171
170
158
165
155
142
135
79
83
88
137
136
135
134
139
145
95
95
144
157
177
179
161
143
137
138
141
141
84
82
80
75
69
75
69
79
78
68
120
121
145
143
126
131
100
105
149
142
133
125
119
114
111
114
63
65
65
66
66
64
111
95
40
41
50
63
74
79
126
138
168
162
143
143
113
121
106
90
122
142
108
123
100
77
68
21
24
18
21
13
6
56
54
0
4
15
11
12
15
68
68
66
15
66
16
13
65
11
8
8
10
16
23
23
75
80
83
89
89
86
84
31
84
78
74
76
23
79
79
19
69
69
69
86
106
118
127
134
86
139
133
127
130
134
135
136
138
105
106
137
137
134
132
77
79
66
73
62
57
59
95
115
136
92
155
157
162
156
145
122
59
52
33
35
65
157
92
99
117
118
110
94
72
99
144
124
119
144
145
159
144
106
146
89
105
198
104
125
224
148
126
210
94
174
166
164
172
126
131
122
130
110
141
145
72
69
99
7
68
76
86
72
131
67
48
89
116
118
104
73
67
42
70
59
60
5
95
61
51
49
136
137
147
94
125
111
55
96
149
66
67
96
93
132
72
104
112
118
127
153
154
151
95
152
102
102
117
112
103
92
89
141
78
87
144
138
116
50
50
54
55
71
70
75
141
158
167
118
138
153
112
109
151
145
150
156
107
163
172
183
171
157
121
121
120
118
110
103
108
105
96
88
90
152
160
102
88
79
78
141
149
97
101
162
150
148
151
96
94
90
80
143
146
87
88
143
143
150
164
157
143
136
91
73
114
109
120
119
110
68
94
90
86
86
136
132
129
131
134
137
68
70
74
80
82
81
77
126
131
134
149
156
105
108
99
107
121
110
147
156
123
95
75
68
72
18
12
13
0
0
55
63
66
17
19
14
14
16
67
66
65
65
12
17
63
14
17
15
13
13
20
26
24
74
22
73
76
84
84
85
87
88
83
80
79
77
79
78
19
68
13
87
106
124
128
128
131
133
133
78
128
125
113
99
94
99
107
120
142
132
124
130
139
59
56
50
29
34
36
89
100
111
56
114
117
126
130
157
153
141
86
89
76
119
96
93
87
78
81
108
127
125
198
135
155
171
210
165
138
181
225
225
124
135
164
216
187
111
86
96
126
123
175
173
149
149
96
108
124
155
99
23
49
65
37
96
98
55
86
81
138
75
72
64
78
82
113
28
21
59
71
44
46
41
51
63
11
46
103
102
119
126
125
71
62
61
138
156
130
95
22
20
92
102
84
105
142
148
161
163
157
141
125
128
133
126
135
91
91
95
103
98
96
127
118
129
74
57
57
72
81
88
93
149
154
154
100
96
103
105
150
134
76
84
127
130
129
135
95
89
90
102
107
116
114
103
85
140
138
144
98
152
154
152
94
76
86
99
153
148
96
159
170
162
155
154
152
100
100
94
146
144
145
136
125
117
115
117
123
137
94
92
97
110
85
135
140
97
95
82
80
73
119
119
133
145
98
98
97
100
103
103
95
87
89
96
83
137
155
150
80
84
109
106
95
141
129
123
95
128
79
66
63
68
15
13
12
64
61
67
71
69
68
66
16
15
16
66
65
64
65
64
12
10
15
70
69
67
67
20
24
72
71
20
18
19
76
79
84
88
91
93
93
77
74
75
75
18
69
11
39
121
143
145
138
85
131
72
60
65
67
107
91
88
97
123
120
113
129
132
122
117
72
73
70
48
44
45
50
53
101
36
96
108
123
131
142
144
123
117
84
80
65
85
81
137
94
84
68
132
163
183
140
105
113
123
142
166
161
135
213
186
130
102
198
200
198
170
77
71
123
115
118
125
169
151
143
150
104
128
211
141
180
174
153
141
131
106
81
68
67
83
62
56
72
55
80
120
143
159
143
119
64
54
29
30
12
93
101
66
124
122
128
81
99
160
80
65
114
86
35
70
123
31
70
90
77
153
160
158
146
129
80
86
136
139
83
123
123
131
131
129
111
105
119
126
119
69
83
87
90
90
93
103
162
165
155
154
101
99
88
131
134
88
93
140
138
137
126
80
143
149
103
103
92
126
129
129
142
153
155
99
98
98
78
87
95
92
87
142
154
165
154
155
155
151
149
151
146
98
137
135
132
132
141
147
151
146
99
103
97
98
96
81
79
96
114
106
80
84
78
65
111
119
81
90
98
106
106
107
105
94
83
83
92
87
139
142
128
113
71
151
72
69
70
102
88
78
133
74
11
10
67
14
15
12
60
58
64
66
62
61
63
6
5
6
56
55
54
56
57
7
10
14
68
65
13
66
17
20
68
70
22
22
24
26
81
84
86
87
90
92
77
73
75
77
22
22
17
53
132
151
149
142
84
74
62
62
62
65
55
39
33
41
53
118
123
84
135
125
126
127
121
127
111
61
77
79
41
51
49
106
102
104
122
153
150
79
68
79
82
76
80
73
80
151
90
61
119
158
232
106
113
136
89
151
157
166
139
137
131
94
148
217
181
211
177
66
70
160
108
180
190
130
87
162
108
68
194
193
137
149
191
178
171
178
124
105
78
107
86
68
75
96
82
41
63
138
138
127
116
52
62
49
13
14
22
108
66
129
128
125
134
150
137
95
82
121
65
70
69
36
47
61
70
73
144
145
142
134
131
81
80
128
81
130
124
132
148
143
162
183
174
129
109
81
100
98
90
135
134
143
103
101
149
126
74
91
98
84
117
113
83
92
89
88
86
136
103
99
102
105
158
151
144
148
151
104
102
91
82
79
83
69
72
73
74
133
141
137
127
145
170
177
169
160
156
151
84
122
130
150
156
163
163
166
168
123
118
163
137
133
118
128
135
126
110
104
126
135
130
181
180
174
117
127
142
132
126
126
121
104
91
86
78
152
76
78
146
140
68
144
138
90
81
112
138
130
72
14
14
16
14
14
10
60
63
72
71
60
54
5
58
57
5
4
56
57
60
61
0
11
66
61
4
6
64
62
12
7
18
28
32
88
100
100
98
93
88
87
90
28
76
79
83
32
35
31
66
139
151
93
88
139
131
63
59
51
55
54
38
32
36
66
76
56
122
126
121
128
134
122
153
148
56
65
36
48
49
48
122
138
143
132
133
128
129
71
65
77
86
82
83
77
75
125
120
142
182
111
142
128
154
188
185
118
74
64
109
101
120
171
164
183
161
154
91
85
170
117
147
123
163
170
196
159
108
156
71
59
161
159
110
154
125
74
162
150
126
129
125
75
89
88
140
61
108
99
143
140
95
57
54
26
23
48
58
54
78
133
53
115
110
148
91
133
129
59
104
95
50
90
46
60
66
137
133
136
133
108
64
75
86
83
122
121
140
154
165
171
169
147
128
87
100
153
100
139
134
136
142
98
96
94
80
82
99
105
144
77
125
134
144
104
106
143
90
87
76
76
133
139
144
149
132
138
90
88
84
144
152
104
93
91
83
135
143
148
153
166
150
140
130
127
125
125
124
130
77
134
138
141
143
143
148
114
118
155
147
169
174
124
122
111
153
155
105
167
166
174
128
173
163
102
93
86
87
140
82
80
91
102
97
90
87
92
148
146
141
84
143
149
84
80
63
147
69
20
16
12
10
65
66
16
7
59
60
59
56
54
4
8
56
61
10
57
5
8
4
2
10
61
60
61
8
58
63
16
16
22
36
42
91
94
100
103
48
45
41
37
96
92
89
91
94
41
36
73
106
113
99
96
89
76
74
66
69
64
54
51
57
65
67
76
71
124
134
139
135
135
129
126
69
60
55
44
58
90
98
150
126
91
115
121
117
91
64
81
93
123
28
109
138
78
123
173
218
172
159
126
88
134
113
103
184
125
136
139
116
180
190
138
145
145
195
155
98
179
174
79
111
185
168
153
145
78
130
77
129
162
69
160
91
77
0
0
58
82
72
119
125
159
118
150
122
121
108
147
152
142
111
96
116
43
32
63
70
72
78
85
85
163
131
145
147
153
68
131
87
79
129
149
104
67
134
134
133
67
103
72
86
134
129
117
125
147
153
164
167
149
128
129
95
102
151
100
149
140
146
151
98
97
99
86
82
72
71
114
55
61
129
148
107
96
142
89
129
147
153
157
159
167
154
119
118
76
80
83
91
95
146
129
75
66
63
126
137
142
146
85
135
134
82
130
126
122
82
78
145
145
153
106
135
142
169
163
142
143
159
165
125
163
146
137
139
85
154
171
170
108
141
138
93
143
80
93
134
123
117
125
130
126
77
76
86
141
140
134
76
144
139
127
76
63
101
62
20
15
11
9
13
66
68
58
7
7
58
3
1
55
13
7
7
8
58
59
10
4
8
12
11
65
67
12
8
14
17
18
76
36
42
92
42
47
51
50
48
46
43
99
42
91
91
38
36
41
80
112
124
111
152
141
74
122
120
125
63
54
58
121
128
116
130
131
127
128
126
120
112
61
58
45
48
58
55
80
89
72
112
94
78
121
88
77
86
64
98
116
143
124
132
124
143
200
212
183
151
166
126
122
126
98
122
106
119
125
156
141
201
147
138
121
139
155
78
155
173
186
94
146
173
154
141
125
71
83
91
57
70
41
110
94
87
86
61
56
41
69
82
105
141
160
140
122
115
119
148
115
135
125
111
132
103
79
62
56
113
75
81
87
147
150
106
179
129
86
82
57
107
143
152
139
43
117
117
67
68
139
91
78
92
91
88
149
155
141
162
99
68
55
130
99
102
103
107
150
147
144
127
107
104
62
71
78
87
142
141
91
100
91
112
103
73
93
97
89
81
81
142
92
130
107
101
51
65
74
87
94
91
85
111
114
108
101
160
162
147
80
98
81
77
127
75
77
82
97
121
125
168
163
146
140
145
134
126
139
150
134
117
89
132
126
130
131
132
184
214
182
155
155
159
150
144
147
130
125
122
120
126
129
124
70
120
116
114
112
58
108
104
99
98
49
105
151
51
20
17
12
13
68
71
78
61
62
64
64
11
11
14
20
10
60
8
7
11
14
60
14
15
16
71
74
70
12
15
16
16
77
35
40
42
41
43
98
48
48
46
48
100
42
91
40
38
37
59
162
172
122
167
158
96
81
117
121
114
52
102
107
109
105
141
147
144
136
127
114
102
94
47
48
43
75
89
81
56
64
116
76
129
124
135
153
115
65
114
146
122
117
116
67
99
30
109
91
125
118
121
133
150
58
62
122
106
47
99
126
142
112
165
196
165
106
172
134
150
190
198
119
185
162
145
89
161
171
45
129
79
98
68
83
83
72
19
8
57
52
15
52
71
44
133
136
143
151
168
155
153
139
110
111
149
120
99
123
104
110
122
124
140
117
121
111
133
125
120
112
80
38
122
124
103
149
134
132
134
75
73
143
151
82
84
79
138
99
152
168
151
148
155
160
101
101
98
82
114
73
127
69
112
105
102
65
73
79
86
88
86
88
101
105
90
83
87
121
67
82
80
83
82
127
122
117
76
81
83
86
90
91
96
108
101
145
145
154
154
151
102
85
88
95
147
137
75
75
114
118
114
105
98
144
145
138
140
145
134
65
142
72
75
72
116
113
118
130
193
184
150
124
125
124
114
60
121
102
104
107
111
120
134
139
74
123
116
116
65
69
72
61
121
101
50
80
151
43
17
66
10
12
16
77
32
65
66
67
14
12
10
13
15
62
65
13
10
12
18
68
11
19
18
69
70
69
67
69
16
17
31
39
98
50
53
104
53
56
54
101
53
106
96
40
44
46
45
67
179
181
127
174
113
108
99
136
125
126
127
120
107
108
116
136
149
153
136
121
113
59
48
44
48
59
73
64
45
76
119
56
68
129
143
152
178
107
68
81
133
135
173
176
185
106
125
124
105
84
99
121
94
96
77
80
66
38
140
166
104
152
90
196
219
202
175
172
147
128
211
215
224
123
107
170
125
138
82
128
47
63
38
147
203
113
84
110
65
121
126
121
23
0
41
31
76
23
116
157
117
104
167
166
160
118
96
103
94
103
114
134
151
150
97
185
115
119
93
169
139
121
120
111
122
156
145
126
120
126
78
78
83
137
134
138
88
151
171
119
162
151
153
155
87
67
67
64
47
65
67
66
121
127
125
120
127
137
96
104
105
100
97
116
109
88
85
83
115
66
80
82
82
77
77
131
107
122
76
84
90
94
141
141
109
152
144
145
147
140
81
84
84
75
131
134
130
78
84
123
105
108
101
100
157
148
151
130
130
129
70
149
57
78
77
69
115
116
124
161
131
71
67
74
133
128
118
113
103
111
117
113
114
117
120
128
74
66
65
116
67
69
50
59
84
33
132
140
79
66
11
60
10
17
24
86
72
72
73
18
14
64
13
64
62
15
15
11
13
71
70
61
20
18
68
68
68
67
13
11
13
81
88
43
49
107
104
105
56
53
99
103
45
86
31
39
45
46
70
128
130
135
180
168
162
105
93
119
115
128
133
121
113
112
142
159
160
132
108
47
48
97
101
59
113
100
56
62
46
60
73
87
131
131
149
168
167
121
117
94
70
81
169
196
148
150
148
117
123
90
98
107
73
65
83
71
84
213
186
108
213
115
132
160
188
181
98
193
167
187
182
226
153
150
148
136
191
140
137
112
110
127
221
156
101
65
88
83
115
125
83
58
52
12
70
79
26
90
115
97
163
165
151
144
139
112
105
105
113
59
72
150
151
153
140
152
160
69
169
155
126
102
125
135
145
115
126
140
91
140
75
79
95
121
169
100
142
141
87
113
92
38
43
54
60
114
68
79
73
82
143
152
154
151
147
159
163
164
172
124
129
135
128
101
84
88
90
79
76
82
87
91
92
89
133
130
137
86
84
129
75
128
133
155
148
93
144
138
129
132
88
85
144
144
146
152
154
100
97
97
97
98
97
95
94
89
137
129
125
135
140
72
76
83
85
81
82
139
134
111
112
58
62
73
127
123
71
136
142
145
144
87
133
77
131
138
154
98
84
68
57
73
62
109
94
137
88
37
21
17
17
70
65
16
8
18
21
73
18
70
73
72
18
17
17
18
16
66
16
72
72
79
77
75
75
73
71
71
18
71
27
32
40
49
53
46
100
99
97
103
89
46
52
54
53
55
57
87
190
190
137
188
181
120
110
105
135
127
128
120
55
102
108
95
135
149
130
85
108
95
102
113
65
100
95
64
121
125
84
87
78
78
85
105
130
142
138
139
147
137
138
155
61
27
40
78
95
94
93
97
180
161
132
172
105
193
177
157
133
195
170
109
156
173
58
148
209
109
113
190
162
91
123
137
160
154
178
124
56
78
127
114
105
134
114
126
132
137
152
136
92
44
104
127
64
94
105
87
147
160
119
111
98
97
154
163
162
100
96
130
109
112
155
118
126
106
68
173
166
129
128
129
139
134
144
17
80
91
98
106
115
125
118
111
106
100
92
92
110
105
114
131
90
93
86
135
136
92
82
83
143
151
158
162
155
151
153
153
104
154
99
97
94
89
84
95
96
144
149
96
95
149
148
137
133
81
82
77
120
113
114
118
136
143
144
137
136
144
149
97
93
93
145
152
156
149
86
140
88
86
132
78
79
79
83
83
85
91
93
73
65
125
72
67
62
62
118
114
56
61
61
63
71
71
69
71
138
142
146
146
141
134
76
135
136
86
84
80
76
126
129
73
114
98
130
70
30
24
21
25
78
70
17
19
19
22
76
25
77
75
73
18
17
18
20
19
70
72
25
68
23
73
71
72
72
18
17
13
63
70
25
37
99
58
57
60
110
106
103
102
53
55
104
103
58
66
92
138
144
197
189
128
124
123
175
145
131
75
71
67
66
123
153
89
91
94
76
120
102
75
37
74
87
89
105
77
141
137
81
63
52
66
85
180
211
110
104
123
126
154
172
165
83
75
108
120
103
89
146
72
78
104
92
66
127
168
137
155
169
130
156
146
83
78
165
174
180
138
164
195
213
141
134
116
123
116
129
73
128
149
101
156
132
110
93
179
167
86
89
72
68
71
107
38
35
16
26
26
89
97
99
101
84
77
93
49
67
131
151
157
99
100
123
123
71
105
188
146
96
106
119
129
122
126
51
49
103
105
114
117
117
123
104
37
26
23
41
84
103
110
123
135
87
88
91
94
88
143
97
99
100
100
98
157
149
159
108
110
158
92
81
140
140
134
136
140
137
150
92
91
147
146
137
85
142
145
144
134
127
126
128
137
94
96
139
137
143
94
90
95
135
146
150
140
132
81
135
136
137
130
126
73
125
125
73
77
83
85
75
72
78
71
114
111
62
65
54
55
62
64
66
70
67
62
65
136
136
133
128
74
129
133
73
77
86
137
131
71
66
82
82
122
106
130
113
27
26
73
77
29
20
19
74
23
23
76
77
24
20
17
73
71
18
19
17
67
68
20
67
73
70
68
69
17
16
16
13
11
70
79
92
103
52
53
106
106
104
100
103
55
54
100
101
111
121
151
131
139
194
185
124
119
170
117
93
135
129
72
120
126
134
100
106
97
72
93
102
112
85
87
117
87
97
111
89
95
119
46
33
42
84
136
173
151
81
141
130
85
133
179
138
146
165
150
159
172
145
80
27
156
195
136
66
133
180
138
115
130
143
140
143
106
127
115
120
180
192
137
216
146
141
166
115
154
129
112
83
129
102
68
146
95
81
61
110
107
84
90
126
121
68
157
132
48
96
26
30
110
117
77
50
81
82
113
56
65
118
145
170
178
142
68
54
49
85
171
138
102
117
115
127
119
114
115
110
115
66
81
139
128
120
107
107
57
70
95
66
111
109
59
63
73
79
82
81
95
89
139
90
93
94
91
137
87
132
184
190
192
125
106
96
85
80
136
140
144
146
84
133
85
139
130
131
80
144
152
151
143
139
138
145
150
155
154
150
94
91
89
89
89
145
136
122
120
128
130
132
132
122
119
69
72
117
70
120
64
70
85
78
70
67
65
63
113
108
49
64
71
72
70
70
68
69
77
130
73
67
116
65
122
127
81
73
106
107
116
129
86
89
145
126
57
80
58
40
29
70
72
27
24
73
73
79
76
23
77
23
19
69
23
73
20
20
69
14
66
70
74
77
73
70
70
18
68
16
12
11
16
22
85
94
60
62
56
110
119
117
75
66
118
114
65
123
125
88
158
171
181
180
126
125
174
114
88
80
77
76
128
127
77
85
136
55
67
123
130
123
166
158
143
72
70
71
56
83
63
68
79
78
135
113
73
113
197
159
106
175
196
143
117
132
154
144
150
169
110
78
130
70
65
151
88
42
142
163
175
163
161
158
142
174
131
105
113
136
139
135
73
82
141
92
92
88
90
78
146
116
67
71
112
91
95
148
132
99
99
154
144
122
185
185
126
116
122
125
47
108
13
55
62
81
54
41
60
82
127
149
90
136
187
144
114
64
45
51
41
85
102
102
129
129
115
156
135
119
111
80
25
89
104
109
123
70
74
111
76
124
82
87
85
138
139
87
143
93
150
149
93
85
84
93
97
118
205
133
140
157
152
155
149
107
129
171
149
137
80
128
135
145
138
117
74
79
91
146
145
98
141
133
135
137
138
139
146
107
118
123
125
121
154
127
110
114
126
129
130
129
125
77
81
82
135
142
126
66
136
77
76
82
133
132
133
134
134
79
83
79
128
128
127
74
76
79
121
65
119
68
67
122
128
109
99
106
110
106
109
67
81
129
66
47
94
49
32
32
81
12
34
35
72
87
79
83
28
78
28
24
71
22
72
22
73
67
16
19
68
21
61
66
69
64
16
4
12
7
9
11
22
41
52
58
105
54
60
119
76
81
74
82
117
54
123
75
60
151
145
139
134
82
138
148
104
71
71
78
129
122
140
126
154
129
112
125
120
142
131
143
134
85
80
112
68
66
54
68
127
145
96
88
150
97
161
150
193
204
161
157
93
103
153
181
185
161
135
127
128
69
71
139
146
53
53
108
247
128
154
133
191
98
68
90
68
50
84
173
116
144
138
144
150
162
144
80
98
127
102
101
147
134
175
150
149
169
117
136
136
119
133
227
183
123
179
134
104
88
95
31
26
28
67
48
60
114
52
134
147
129
164
156
143
145
195
116
80
43
15
26
131
148
138
141
116
114
111
105
95
101
55
46
52
68
128
89
177
125
73
85
87
85
83
78
125
126
139
139
139
142
145
102
119
106
101
92
78
96
121
123
141
156
162
149
132
125
115
136
81
81
132
125
114
122
78
88
87
139
90
138
135
164
163
160
159
164
118
120
117
126
79
118
67
124
130
135
122
124
124
71
76
79
132
124
132
123
69
139
79
77
75
130
135
139
138
82
70
68
118
118
68
119
65
67
71
64
111
115
66
65
63
64
107
100
52
106
104
106
111
131
69
55
39
96
46
22
28
82
18
35
35
75
80
80
31
29
26
28
23
70
68
68
71
72
69
70
17
64
67
63
69
66
57
13
10
13
9
11
11
19
87
98
60
54
99
96
43
46
47
44
58
60
50
40
98
165
177
174
116
106
144
129
115
56
58
61
65
78
114
123
141
117
78
89
130
138
145
136
136
137
90
130
113
74
77
48
59
64
129
76
81
118
125
161
108
129
122
142
97
111
113
107
176
169
184
192
132
55
106
88
135
71
56
76
164
201
161
106
185
114
91
110
174
117
117
134
118
130
107
132
110
159
165
118
76
127
167
134
108
177
146
170
148
196
130
168
124
133
129
150
136
138
122
158
118
109
59
103
100
61
1
46
92
107
52
65
79
82
150
179
169
180
74
125
164
118
61
26
29
141
153
143
139
133
129
117
104
55
65
123
131
86
94
158
180
194
110
61
75
82
83
87
80
69
118
147
154
158
108
150
144
94
90
81
94
101
105
96
74
94
77
64
65
118
125
138
156
106
100
138
132
149
153
157
157
102
95
143
140
139
90
91
89
86
86
86
83
78
88
141
95
97
141
131
124
130
131
128
68
66
113
108
114
119
120
127
86
127
74
77
130
130
128
127
75
129
121
120
119
118
114
111
63
70
69
68
124
130
133
80
79
122
126
123
125
129
126
120
116
53
38
28
103
46
62
75
84
84
83
27
28
14
24
29
27
77
78
19
63
69
67
57
50
5
67
70
69
66
66
72
63
45
3
59
62
12
11
12
66
22
86
83
39
42
42
55
141
89
101
89
93
99
98
166
120
142
134
169
100
91
139
87
83
80
58
63
109
99
63
121
83
89
87
150
131
127
158
158
99
80
114
143
147
80
56
65
51
106
71
80
122
179
151
87
125
184
160
155
110
110
111
123
192
129
111
68
83
82
131
117
83
83
71
96
156
201
233
166
206
194
137
201
142
129
112
93
143
198
156
139
147
163
148
122
171
161
86
169
190
187
137
56
99
128
138
95
135
117
41
90
178
59
87
109
87
41
15
46
63
28
107
98
96
106
96
117
87
96
126
136
107
58
117
109
105
137
109
98
63
80
129
99
142
122
65
132
127
68
72
132
147
145
98
177
178
121
94
98
96
90
86
78
117
62
119
121
79
92
95
150
104
94
132
70
74
76
74
77
65
75
79
124
141
145
140
85
91
89
76
70
76
74
88
138
144
94
137
137
140
90
92
90
87
87
93
99
153
155
138
132
74
124
127
132
136
137
86
92
148
147
142
132
126
74
132
76
63
119
120
126
132
134
132
77
76
64
59
56
57
59
62
120
126
139
139
137
137
139
87
84
129
77
132
134
134
133
130
79
76
66
51
112
51
64
24
76
32
20
67
77
20
71
25
26
78
79
71
61
53
15
63
56
66
68
57
53
56
59
13
16
15
22
62
58
13
61
67
67
19
37
101
112
65
114
63
87
97
112
118
122
175
181
148
130
160
164
113
111
166
166
105
92
56
59
71
75
75
76
69
67
127
111
145
142
150
138
152
149
71
98
62
72
73
76
82
57
117
89
125
146
97
126
128
140
110
155
151
98
83
99
128
103
82
151
152
144
120
103
189
138
149
125
123
202
189
202
224
219
193
121
141
113
136
165
112
130
182
186
144
132
156
122
100
190
162
134
186
142
136
146
181
112
195
119
92
110
125
116
76
110
44
30
92
95
66
56
1
4
12
74
51
42
63
60
104
133
124
110
98
97
97
90
94
120
93
128
130
97
62
92
88
116
62
70
86
150
93
90
84
147
85
90
173
120
65
95
98
91
81
79
128
120
118
124
128
85
97
95
138
138
73
123
143
150
139
72
72
73
86
141
131
76
76
124
89
92
143
138
78
77
133
79
76
137
86
131
131
138
148
145
89
90
98
160
162
158
148
133
132
82
81
131
131
141
141
139
144
95
145
139
133
124
76
136
77
62
119
124
130
135
136
132
128
75
68
62
58
61
65
66
118
119
128
128
132
139
91
83
71
121
115
119
68
115
62
65
70
67
58
98
114
51
60
73
67
30
19
15
76
22
72
79
81
81
83
75
65
53
19
14
56
12
13
54
1
53
66
64
67
21
28
10
61
69
62
67
66
70
89
99
106
60
111
108
139
107
129
185
186
139
140
118
84
175
181
133
131
128
175
104
85
53
107
60
58
69
122
46
86
146
168
89
80
135
126
135
122
94
78
61
70
75
52
54
50
120
126
116
108
85
116
123
182
98
159
160
107
57
106
130
112
110
115
167
157
195
174
220
142
40
81
168
225
180
230
199
206
166
126
144
119
91
106
87
117
149
189
197
190
157
99
74
211
174
181
214
136
127
166
174
127
109
28
27
76
120
152
144
138
126
130
131
113
59
55
0
0
26
102
64
66
56
101
84
55
95
127
80
72
47
68
86
132
149
134
121
126
91
108
103
119
105
106
63
66
69
123
124
77
89
112
133
96
104
121
78
80
78
82
137
139
144
143
136
137
145
97
103
168
159
174
178
157
130
67
73
62
70
79
137
139
142
144
129
137
138
126
114
124
120
84
82
81
80
129
128
76
88
89
97
102
154
104
158
152
153
163
163
162
108
100
143
143
82
127
125
74
127
129
122
134
140
82
78
85
83
77
83
136
128
122
125
131
67
79
84
83
83
78
123
122
115
122
141
99
91
126
62
106
111
107
97
39
35
35
44
36
86
88
160
86
61
67
72
16
14
23
28
16
70
77
81
81
80
78
75
16
13
11
60
2
8
16
17
69
22
15
11
68
67
8
66
64
60
62
64
72
85
82
120
128
130
118
123
31
59
107
194
111
83
188
151
146
196
139
135
131
126
115
105
70
78
72
41
28
89
39
54
96
109
43
49
79
152
115
123
107
123
70
71
70
45
44
68
149
141
127
67
41
22
88
183
160
169
195
206
218
134
108
90
67
94
196
200
197
169
136
58
115
212
68
88
165
117
204
192
147
139
196
180
93
80
61
119
103
82
174
212
182
158
172
211
203
118
142
150
120
133
171
128
107
53
77
156
93
67
136
112
155
186
172
157
146
71
53
31
16
74
65
83
97
79
77
51
71
110
59
99
60
93
113
172
33
47
92
123
151
174
125
98
100
60
72
125
131
137
131
140
120
109
67
46
98
111
71
76
129
82
84
135
139
147
138
127
131
133
74
68
111
130
132
138
142
75
56
63
123
131
134
131
134
87
134
126
125
120
110
124
131
79
79
79
77
128
76
79
82
77
82
90
146
99
102
98
155
138
134
137
143
142
86
79
75
73
128
126
125
127
135
139
88
82
79
76
69
69
128
131
128
71
70
116
127
84
88
88
140
136
131
133
128
127
130
82
78
72
68
118
113
97
87
81
81
80
89
86
90
90
100
146
90
88
32
20
15
27
36
85
85
92
95
90
83
80
29
21
72
23
22
16
17
20
70
70
21
14
65
16
67
62
15
18
15
69
14
68
77
113
132
133
127
140
80
0
0
77
120
124
168
215
213
202
198
193
189
132
122
105
89
87
83
63
33
24
29
24
68
63
64
10
70
23
67
56
53
62
16
15
30
41
34
50
63
112
173
87
56
56
94
151
181
247
231
183
163
154
88
119
123
118
80
203
206
212
184
122
163
110
130
97
165
151
104
172
185
166
143
167
125
76
58
31
26
72
172
208
180
196
177
149
195
131
99
118
135
143
154
145
121
144
104
93
70
60
63
146
153
90
135
180
207
149
79
45
61
47
63
104
100
120
121
55
115
145
132
80
106
173
149
169
141
88
79
84
100
120
195
191
97
98
58
72
72
74
77
115
151
124
83
57
78
51
60
70
72
71
75
129
128
132
140
136
127
135
89
80
68
63
133
135
130
123
61
57
67
74
81
135
132
85
90
130
122
124
77
70
123
131
132
132
80
76
73
72
74
69
64
72
85
93
99
104
100
95
125
124
130
136
137
83
84
78
74
72
71
126
130
137
137
83
79
79
74
67
75
77
130
76
72
122
64
70
78
82
85
88
137
135
140
126
122
123
72
72
121
67
66
111
40
33
80
80
80
84
87
96
96
148
99
107
101
42
79
75
34
40
87
86
92
94
89
81
27
30
72
72
23
22
14
13
12
8
9
12
9
61
12
64
62
15
18
15
17
67
70
80
94
121
135
124
67
30
0
30
11
110
185
215
215
164
205
198
146
147
179
154
99
110
143
134
118
49
47
46
86
82
83
74
78
90
92
83
19
23
78
22
9
10
8
12
20
24
60
95
47
85
128
164
252
221
185
187
174
129
137
145
116
164
146
113
132
207
219
160
188
173
138
148
119
162
143
86
160
187
179
179
171
176
73
91
35
101
176
181
172
147
202
137
90
126
107
116
143
112
113
149
126
148
113
91
60
51
58
63
128
132
131
132
127
185
114
87
81
96
39
63
125
109
76
66
94
112
158
142
94
103
128
184
125
81
100
73
102
89
103
177
180
122
123
78
82
85
92
94
119
106
88
75
105
122
65
73
78
71
60
59
113
116
121
135
135
131
131
77
67
60
69
78
140
193
151
117
62
73
73
74
76
81
83
84
139
128
124
73
73
138
88
135
140
141
139
131
75
74
70
66
76
89
90
88
90
91
92
77
131
132
128
69
66
66
70
79
88
84
134
134
142
138
135
135
139
92
92
97
89
81
79
131
133
83
87
141
140
137
130
116
105
110
118
121
127
133
85
131
70
63
49
45
49
45
38
88
88
93
104
100
133
101
80
115
109
97
92
95
38
32
90
93
41
37
87
87
36
21
20
21
18
8
5
4
0
5
7
8
61
63
64
12
9
10
7
11
12
70
82
98
94
119
129
65
63
13
0
0
68
123
195
213
160
201
210
195
113
163
131
127
100
137
135
151
117
123
112
100
155
157
71
72
135
140
147
71
55
85
32
65
62
58
62
66
50
93
87
143
187
121
149
197
188
200
146
108
189
134
144
142
172
208
209
186
220
193
183
149
216
178
145
162
142
163
123
180
188
202
148
160
160
118
101
100
58
58
132
179
118
148
164
132
132
123
106
119
101
92
135
107
82
69
69
66
58
53
55
95
79
111
70
60
108
143
133
106
32
32
66
91
84
61
123
133
90
144
123
123
99
153
123
87
103
78
101
112
120
116
88
119
148
157
112
96
71
93
109
81
49
121
89
108
140
81
75
81
78
70
67
66
116
120
122
124
76
127
119
64
73
80
73
66
131
134
131
80
78
70
63
63
71
67
62
72
124
125
70
72
134
70
72
135
144
148
145
144
93
73
118
72
78
72
69
81
92
85
82
88
141
136
132
134
143
86
82
74
74
132
141
136
132
128
127
78
144
151
156
93
85
139
91
92
143
129
133
136
140
138
124
114
120
111
113
121
134
90
80
68
61
49
58
67
58
43
35
103
98
98
32
61
96
92
116
111
100
93
90
32
92
90
89
34
31
84
31
26
64
9
61
58
51
52
5
4
7
3
55
53
52
50
0
1
7
8
11
7
8
68
53
69
78
84
42
51
59
38
3
0
79
135
125
149
145
181
178
140
136
164
96
99
125
131
155
114
94
71
70
101
46
17
76
72
62
64
60
60
66
42
84
79
87
105
66
108
127
145
54
95
150
193
163
159
208
198
142
175
134
140
221
221
133
131
148
178
213
183
255
181
227
193
176
196
145
171
194
215
206
201
204
185
168
121
95
33
109
101
147
103
126
143
145
128
126
117
118
92
106
95
78
74
66
57
62
65
45
16
0
46
58
63
105
133
163
114
50
58
57
54
137
124
107
35
72
132
182
138
36
102
66
47
123
130
143
91
101
111
108
104
162
86
101
107
140
69
65
51
95
113
123
139
163
137
87
65
60
65
71
67
66
61
52
67
72
82
92
85
67
111
124
136
85
90
142
131
121
66
63
112
112
107
52
51
62
115
120
126
76
66
64
69
132
136
136
139
145
141
111
115
122
72
68
67
83
102
160
98
102
153
144
132
125
125
72
72
69
72
84
148
143
143
144
143
143
151
155
140
87
88
91
91
142
147
137
144
149
149
143
86
82
133
118
120
124
131
86
87
76
65
64
75
74
63
53
48
106
104
95
45
38
156
92
65
54
100
97
91
89
86
89
77
84
42
31
20
69
7
14
69
69
68
68
12
7
14
9
5
3
56
57
5
54
0
1
53
0
4
66
78
74
71
73
29
48
53
56
31
59
69
62
111
128
128
125
181
128
118
157
147
83
71
132
143
91
117
78
54
63
64
13
85
98
92
84
82
104
102
29
105
65
66
133
65
136
98
123
65
191
113
158
138
175
231
185
131
177
176
176
204
217
210
201
177
155
203
183
234
218
196
220
235
159
151
173
128
211
199
174
201
189
131
98
61
40
69
56
93
135
142
147
185
193
122
112
106
93
137
125
53
62
50
75
57
110
87
50
0
1
29
99
125
130
138
99
72
58
36
71
96
132
113
70
91
148
81
87
54
73
86
100
104
135
153
138
96
89
114
107
96
48
53
63
118
132
150
158
154
125
119
136
158
188
106
63
65
75
83
77
74
75
74
70
121
70
70
61
51
49
116
127
84
79
68
117
126
121
118
114
112
111
111
58
58
58
62
119
122
67
68
69
125
125
74
133
142
141
124
122
122
69
68
70
133
92
100
151
101
147
85
77
127
142
80
72
88
149
101
154
154
151
148
147
95
87
83
87
83
80
81
133
135
142
146
96
100
158
162
161
150
141
63
60
67
75
87
94
142
87
90
93
84
70
61
59
118
67
63
113
100
101
101
117
112
105
94
87
38
75
82
76
80
32
22
15
70
23
27
26
22
73
76
76
22
12
14
14
64
63
7
7
10
6
3
7
14
28
93
53
56
59
12
17
32
39
39
49
111
68
77
136
87
91
100
105
101
91
136
124
59
55
85
69
77
98
66
83
90
96
79
77
129
132
136
134
135
113
84
98
105
48
96
101
98
103
118
115
141
169
165
139
148
200
212
170
149
150
152
175
186
189
208
208
152
157
222
233
231
220
181
155
164
99
155
171
152
220
184
198
190
134
174
59
81
110
135
101
153
173
166
191
165
97
96
82
48
36
22
0
10
7
53
27
60
10
24
89
106
90
97
86
80
81
106
65
34
80
128
125
130
60
74
113
77
71
91
30
95
72
55
51
78
98
97
167
121
128
88
114
86
78
77
128
115
71
130
118
111
126
118
128
164
89
76
130
142
154
95
81
75
72
75
73
64
62
63
63
69
123
123
83
89
128
117
119
123
124
122
119
129
132
130
125
70
68
69
68
68
124
83
83
85
87
93
145
140
117
64
65
119
74
80
138
88
77
90
98
149
145
145
149
146
97
104
164
153
87
131
132
133
81
79
77
86
92
89
133
73
71
73
77
85
142
95
97
92
134
124
62
57
34
44
61
71
76
79
128
128
76
65
57
57
113
119
51
59
67
53
33
78
168
124
114
49
34
28
33
72
69
73
74
22
20
18
24
29
35
89
88
86
86
82
77
17
15
13
65
65
66
68
9
12
16
14
11
9
58
14
16
18
15
11
64
15
13
21
29
30
82
93
88
110
89
57
93
100
101
91
85
116
123
137
163
168
142
60
89
89
86
94
151
154
160
180
172
138
97
86
47
111
118
140
72
115
165
162
190
198
183
156
145
166
193
206
189
188
182
185
171
165
195
159
191
193
189
195
219
228
186
224
181
118
60
151
123
44
195
202
209
182
154
62
53
144
111
91
159
179
144
142
147
91
65
8
0
23
54
36
17
0
30
20
79
97
124
147
84
92
42
52
31
51
72
78
47
75
73
120
117
74
77
57
33
81
93
69
94
67
59
66
85
98
93
159
151
83
81
83
125
66
66
68
69
133
140
113
109
118
109
132
161
71
91
77
125
77
73
118
65
65
68
66
57
109
62
69
128
141
149
95
85
124
68
77
72
127
126
123
82
84
132
129
72
121
120
118
120
124
132
80
83
136
86
84
132
125
123
120
117
121
75
80
133
86
150
158
158
154
101
104
160
109
111
156
145
138
136
136
84
82
80
79
92
99
91
82
73
71
73
77
84
87
91
92
137
126
118
61
60
31
40
57
66
73
79
133
129
132
73
65
63
59
57
51
113
126
59
40
73
120
81
117
103
40
85
83
70
72
79
78
25
28
26
28
33
39
42
94
92
91
86
80
19
13
12
11
14
15
69
13
16
14
64
66
15
15
69
70
69
14
13
65
65
0
13
30
35
24
15
34
72
104
95
53
74
63
61
65
171
124
156
143
137
133
76
78
93
158
101
148
154
173
181
176
150
114
101
63
79
173
145
147
173
193
203
174
142
154
163
113
117
170
183
126
168
158
175
179
116
126
176
199
153
180
167
183
208
194
237
200
192
93
107
119
46
133
155
184
211
117
142
147
137
78
129
179
162
137
126
145
125
43
16
1
10
38
65
24
0
28
24
79
85
104
125
110
13
82
47
20
33
49
67
61
124
44
92
133
107
84
69
103
72
36
57
96
72
65
112
123
142
151
170
172
95
93
91
64
67
70
64
56
57
104
91
85
102
103
130
118
146
109
80
63
67
123
119
115
108
130
69
51
98
101
102
104
114
73
74
82
137
77
69
72
77
128
70
76
74
118
121
116
110
56
58
116
122
127
125
73
124
121
70
131
139
133
68
106
105
116
78
136
132
88
149
100
150
147
97
98
93
141
139
82
77
75
121
61
57
66
82
91
85
147
137
128
75
77
81
83
80
73
116
111
109
110
107
52
30
51
76
85
137
135
131
129
127
59
55
58
57
50
106
101
105
90
91
100
147
150
127
117
119
107
84
6
39
100
95
39
46
40
30
31
35
33
29
80
81
80
77
10
64
67
66
13
13
11
5
9
63
63
18
19
15
20
69
65
65
18
20
70
22
25
34
40
39
30
32
97
77
30
78
150
38
32
32
102
61
124
153
177
168
97
89
95
155
102
150
150
163
194
180
152
73
78
92
106
152
217
221
198
193
153
198
158
168
149
143
117
121
117
143
141
139
151
134
101
149
144
116
156
158
188
141
88
171
165
173
191
116
63
110
165
67
21
152
157
189
192
184
188
156
140
142
111
145
117
116
120
44
85
92
17
23
77
34
10
68
64
84
74
103
113
26
115
192
142
80
82
59
99
53
75
60
107
142
52
108
140
90
0
28
71
124
81
106
150
138
142
141
147
178
95
81
82
90
84
73
59
65
83
99
146
74
120
122
128
118
88
101
135
119
63
119
121
120
121
78
129
121
109
103
102
104
138
140
88
76
118
122
83
90
96
151
97
88
82
79
82
129
125
72
70
121
73
83
135
130
125
125
79
81
141
139
76
62
57
116
121
121
126
146
147
86
86
87
78
108
116
121
69
75
78
76
70
66
74
86
85
81
83
144
139
135
129
74
71
71
63
65
119
120
119
120
119
121
113
71
80
83
129
123
127
78
70
65
66
65
60
58
105
113
61
118
94
42
76
117
142
128
122
99
77
39
47
43
93
93
92
37
36
28
27
77
76
77
75
71
67
68
68
68
66
18
17
7
11
12
16
20
18
18
73
72
75
80
33
89
96
46
99
101
49
46
47
49
44
94
80
23
26
83
47
112
110
105
61
118
130
81
81
141
110
130
153
201
185
173
174
168
233
230
149
140
130
173
155
141
200
204
195
141
72
147
74
64
97
123
118
164
75
108
104
105
101
128
126
90
97
108
103
129
166
163
178
188
139
136
108
133
122
133
122
101
138
135
90
114
83
99
82
83
142
123
102
115
134
112
108
128
126
97
87
50
91
65
74
113
70
78
95
45
35
86
107
149
104
86
146
88
87
94
102
85
99
96
102
81
38
25
47
92
85
128
138
108
102
83
143
172
80
0
0
32
120
114
55
50
50
126
153
152
70
69
73
70
119
83
101
138
125
120
68
120
123
127
78
76
67
107
102
102
104
139
144
139
125
113
118
79
87
145
96
95
87
136
136
84
136
136
81
75
127
81
87
134
128
124
129
135
84
94
143
133
69
61
114
118
122
133
143
148
91
90
85
123
103
119
132
135
87
90
88
80
78
85
90
82
76
79
139
143
93
137
72
64
123
124
122
122
121
122
125
127
130
123
78
133
131
122
66
75
72
67
68
72
69
65
63
113
118
117
61
28
32
61
119
150
134
122
102
85
45
52
49
99
101
101
45
43
30
74
71
77
80
75
71
71
72
73
74
72
74
70
8
15
16
20
75
71
18
72
78
80
83
88
93
46
46
108
110
57
54
54
56
54
46
32
35
95
32
23
94
69
61
54
54
117
122
67
118
122
134
162
181
196
211
226
229
239
202
147
118
141
152
97
134
79
123
136
133
129
145
84
77
90
112
115
149
150
106
80
126
132
124
138
104
90
91
110
137
162
160
194
147
79
94
99
98
79
92
125
76
72
116
125
88
93
89
87
79
63
59
72
78
61
55
124
160
168
144
139
161
110
86
84
112
84
102
119
38
0
102
180
146
62
130
123
66
100
91
164
140
145
93
140
90
22
49
72
134
86
72
135
105
97
127
94
186
66
0
21
51
74
67
67
72
58
113
124
118
43
64
65
44
50
74
111
88
70
70
77
132
129
127
136
129
67
57
50
49
101
120
133
141
127
67
72
79
76
133
88
143
131
130
132
128
74
127
134
136
135
139
78
125
118
117
124
132
132
126
121
64
61
56
101
53
113
116
124
132
87
83
124
116
102
66
79
136
87
87
84
85
76
73
75
73
81
80
91
93
91
86
78
73
132
136
131
125
124
126
130
132
133
119
120
119
119
117
70
83
85
80
79
78
72
66
63
116
59
57
104
41
100
103
123
173
151
121
105
97
112
58
105
102
105
106
102
45
95
82
26
86
88
79
75
79
33
74
74
71
72
73
16
19
20
24
81
79
27
29
85
84
84
87
92
92
90
106
107
55
54
51
49
52
41
45
37
77
78
88
35
26
102
115
64
113
117
117
58
35
38
85
88
84
78
79
72
96
112
123
116
131
141
150
214
194
134
53
89
159
181
122
110
79
79
91
134
140
104
68
141
158
133
128
134
150
118
95
69
93
190
208
177
124
107
167
148
136
139
185
165
102
98
77
59
77
76
59
69
89
78
55
111
144
178
177
147
138
134
111
93
17
67
91
40
24
99
99
43
5
9
91
148
156
134
146
149
81
79
108
151
88
143
57
63
150
61
48
73
65
87
144
122
110
121
124
61
6
90
84
74
52
55
62
124
141
146
146
67
61
80
128
117
73
96
110
89
73
124
76
131
129
77
74
126
123
119
66
65
118
125
81
77
120
120
76
83
139
142
146
146
114
106
57
117
120
126
132
80
134
138
140
138
78
70
70
124
124
118
106
102
110
55
43
37
40
102
120
73
79
69
116
125
134
77
68
72
86
90
85
73
71
75
79
79
87
82
81
80
77
76
76
126
120
122
119
120
122
128
130
130
127
119
113
114
122
126
79
88
92
86
77
73
70
69
72
66
60
66
112
52
63
98
149
177
169
132
114
109
118
120
112
105
105
106
103
98
93
94
41
38
87
86
87
89
87
74
77
75
74
75
73
30
29
81
31
30
32
36
82
86
90
42
97
102
104
99
101
105
107
51
95
46
44
98
43
45
95
75
13
78
83
84
35
40
108
110
38
12
17
20
78
76
74
77
78
70
79
95
101
98
80
104
56
109
119
95
127
154
115
92
97
138
92
83
108
177
118
106
173
174
145
128
113
159
124
149
144
129
174
159
108
133
159
165
182
187
151
135
119
63
82
140
115
126
68
129
126
117
85
116
149
115
139
102
172
181
95
51
96
40
67
79
92
71
88
118
43
54
15
61
190
176
125
124
88
35
96
103
84
51
47
146
95
53
55
51
60
68
69
74
83
92
140
116
39
33
89
97
87
110
68
75
128
128
123
65
63
67
143
93
90
141
89
107
90
128
124
73
73
128
132
74
127
74
72
70
120
120
138
91
75
68
71
81
89
137
140
95
148
62
53
56
120
127
85
89
86
85
145
141
139
134
76
125
127
77
125
58
105
112
111
42
31
84
101
122
127
129
119
117
78
90
135
73
79
88
81
67
66
71
134
137
80
134
130
130
79
132
80
130
125
64
62
115
115
120
77
131
128
72
124
65
66
127
130
80
90
90
82
73
70
70
72
78
66
65
127
67
48
62
42
84
120
172
139
120
114
119
74
116
108
107
108
53
48
36
43
44
37
85
88
92
93
90
81
87
85
82
81
78
35
33
84
31
81
84
88
84
88
93
94
94
97
100
94
96
102
105
48
39
41
38
42
32
25
85
34
81
86
28
35
33
33
48
56
41
10
16
20
79
80
80
85
33
44
49
99
104
105
101
97
50
49
103
107
102
147
102
123
149
116
159
160
129
191
167
154
178
171
136
142
110
154
123
130
168
169
174
161
152
151
188
179
78
74
110
115
126
122
114
66
129
75
74
57
129
173
180
101
87
93
162
108
112
130
114
84
133
40
55
96
114
92
61
29
54
36
2
53
161
151
139
78
71
82
93
105
97
13
85
145
29
12
23
52
71
70
70
64
62
131
93
70
89
103
124
138
137
118
63
62
116
115
129
94
103
159
153
83
122
127
145
170
152
117
69
130
124
131
132
82
77
74
78
82
85
138
148
99
128
70
78
87
93
98
153
103
101
62
52
56
129
81
84
86
88
84
77
136
135
128
67
64
69
73
78
79
124
107
46
101
105
103
113
134
133
131
128
123
66
70
136
85
71
68
65
65
125
125
127
130
132
133
132
129
79
132
79
77
127
81
84
85
84
87
88
88
137
81
68
78
83
82
84
87
84
84
128
59
54
50
49
47
48
108
93
16
42
50
42
76
131
122
98
144
123
123
123
122
64
107
101
48
48
44
44
42
38
38
39
37
84
92
39
87
84
83
80
25
26
30
28
22
80
81
24
34
91
92
94
100
98
101
93
96
97
94
40
42
41
38
35
35
87
34
93
96
91
75
72
24
29
31
34
38
44
49
46
111
137
160
167
100
96
91
87
134
133
133
109
100
94
96
99
99
103
104
54
59
67
132
151
168
145
188
193
175
166
168
167
198
148
161
217
206
210
180
151
141
130
119
114
114
117
122
116
116
134
127
116
117
117
92
128
134
177
146
93
93
103
135
170
137
127
116
109
140
81
76
87
25
57
70
19
19
23
69
49
85
72
45
45
65
118
47
132
103
112
36
106
74
68
46
39
53
56
39
66
144
149
148
132
119
82
77
102
131
114
110
57
60
62
69
129
123
97
135
105
108
117
142
164
147
63
63
72
121
129
127
135
80
81
81
84
138
86
87
140
127
122
129
137
91
97
151
96
88
56
52
108
124
123
122
126
84
142
138
133
131
127
67
64
67
69
58
113
108
48
98
107
120
129
137
132
133
125
113
59
68
65
75
76
70
71
73
130
131
127
124
125
129
133
131
136
79
75
72
71
124
123
80
87
93
98
96
90
83
79
77
127
125
119
124
79
80
62
113
105
52
54
108
58
94
89
24
24
114
109
47
18
173
134
109
147
139
118
123
123
64
105
98
99
102
52
47
40
36
37
39
85
76
31
28
24
24
82
86
87
73
28
81
23
32
37
87
93
98
98
99
104
103
107
105
96
94
101
52
46
46
30
31
38
43
42
98
104
100
101
96
34
24
22
28
36
40
37
134
158
168
180
196
137
137
138
138
121
155
142
125
68
62
60
109
110
67
69
73
78
77
71
117
113
58
57
64
68
126
126
125
138
81
84
71
69
65
112
121
116
113
110
63
65
120
70
131
126
102
114
123
99
77
8
79
137
122
144
129
119
199
182
164
116
190
124
94
110
159
127
43
75
54
27
156
159
93
107
121
101
76
59
75
87
34
41
20
88
60
65
42
102
127
71
54
92
90
78
112
96
109
151
166
100
112
106
94
96
108
107
111
71
87
88
87
132
105
91
63
64
70
148
164
149
116
117
72
69
124
122
131
83
83
83
134
131
78
75
82
133
126
126
130
136
139
90
88
80
52
52
56
123
69
121
73
82
91
85
132
131
129
123
120
69
71
65
66
64
58
112
122
136
146
134
134
83
71
60
116
77
69
72
120
66
70
126
132
134
133
132
134
85
136
134
136
82
79
78
130
133
136
148
157
165
110
152
145
95
99
89
86
136
135
84
82
127
126
127
119
113
58
106
103
96
92
81
85
116
53
41
69
71
181
178
147
143
123
120
123
120
110
102
100
101
104
99
39
35
38
40
87
79
29
26
23
24
83
35
88
78
74
25
36
31
34
42
40
98
100
103
108
102
104
45
38
89
97
47
39
36
45
47
56
56
45
92
95
95
97
104
100
90
29
24
22
89
86
131
153
160
163
168
112
106
100
98
97
94
88
64
63
60
60
60
62
120
70
75
78
76
70
69
127
119
63
54
60
66
58
54
54
57
78
79
80
67
64
74
62
67
62
51
70
83
84
55
123
108
144
181
96
79
21
29
107
128
85
86
150
108
141
159
174
189
189
163
111
110
83
71
69
109
124
140
140
134
109
101
112
64
101
81
93
71
15
79
74
98
74
67
30
67
138
81
71
79
109
154
95
122
112
155
166
128
132
69
71
73
72
121
119
73
77
78
150
84
71
68
71
75
124
158
149
120
120
130
124
125
117
75
83
87
88
86
86
86
83
77
71
122
120
119
122
130
86
87
78
110
55
109
123
127
130
132
81
79
72
126
132
133
130
127
75
121
68
64
62
64
124
130
136
140
137
90
87
87
89
90
88
81
75
64
75
77
125
124
76
132
136
84
81
78
132
132
135
88
93
146
149
160
109
105
98
140
131
129
133
139
136
140
144
142
138
77
116
110
115
106
107
110
105
96
91
99
95
34
55
109
104
49
29
115
177
174
140
133
122
127
74
65
106
100
99
99
97
40
34
32
85
31
28
83
34
83
83
85
85
30
34
25
23
37
36
34
36
38
44
97
99
104
99
101
46
49
51
101
50
55
59
65
59
60
65
109
101
98
96
102
85
77
79
85
32
26
57
76
78
86
117
145
152
98
99
100
100
93
141
87
77
74
67
63
67
75
75
83
83
85
85
87
137
133
134
92
77
83
134
68
134
138
72
138
155
97
78
138
127
114
119
127
63
45
45
106
142
83
122
123
172
86
51
75
73
136
205
140
170
117
64
138
184
153
137
185
192
191
191
114
96
110
143
105
84
88
110
120
131
148
82
99
136
142
62
98
3
1
61
97
59
65
55
105
116
87
84
92
141
113
118
85
125
113
80
69
71
76
75
131
129
118
84
107
166
130
73
77
79
69
55
57
90
89
109
52
114
113
120
69
65
110
67
83
98
100
97
75
77
81
132
128
127
127
133
87
89
134
131
130
129
122
126
132
136
136
129
127
70
70
123
126
126
124
120
67
69
77
90
154
157
151
92
140
114
106
97
87
133
133
121
129
82
84
79
134
95
86
84
81
82
84
77
69
127
138
92
84
126
123
126
77
75
73
124
124
120
114
108
114
114
109
108
109
107
102
107
108
106
99
95
100
109
112
124
110
36
57
116
122
69
76
51
140
177
153
133
77
89
85
60
44
104
107
48
38
35
34
28
78
84
88
84
34
88
87
83
82
84
88
37
32
33
41
38
28
27
34
42
99
99
98
46
43
44
47
52
57
57
59
50
51
45
44
103
103
93
90
94
101
108
104
99
41
83
67
60
76
85
89
94
49
86
85
146
147
70
122
68
51
46
41
40
37
40
62
74
73
67
61
61
116
123
148
110
123
119
156
140
134
135
126
124
129
85
87
85
140
134
112
113
55
82
149
233
206
108
107
88
168
68
12
106
101
139
104
175
184
145
73
128
160
177
142
170
172
112
125
203
119
119
126
122
108
75
72
140
123
128
175
179
103
96
64
34
10
5
83
109
68
81
97
119
149
131
97
129
75
25
2
49
141
77
84
99
93
82
135
80
74
125
157
166
107
69
115
64
69
59
49
45
88
89
61
57
119
64
67
67
113
110
61
69
78
84
84
88
89
87
136
134
132
130
133
138
88
84
130
128
124
122
126
133
137
139
133
131
124
123
73
126
127
127
74
73
82
95
104
158
100
93
140
145
111
102
94
136
130
130
79
136
138
88
135
133
90
89
88
84
80
77
127
125
72
80
83
74
64
113
66
72
70
67
64
113
110
106
103
114
115
111
109
109
106
101
110
113
114
108
106
114
72
113
117
101
36
62
62
62
66
76
117
117
151
149
142
137
86
83
68
52
49
104
48
36
32
34
27
77
81
85
86
35
89
88
84
83
85
89
38
34
35
41
37
27
30
37
46
51
51
50
50
56
54
52
104
106
112
122
112
113
109
107
112
109
103
100
99
92
89
85
39
47
47
71
62
68
76
81
88
44
60
89
134
121
124
105
62
44
93
42
48
53
55
60
49
55
60
64
66
121
69
89
100
111
119
167
156
142
133
143
127
145
150
90
139
145
113
104
65
107
153
187
174
177
144
101
137
169
94
76
79
35
139
150
104
154
104
93
151
175
103
105
130
181
174
114
191
164
82
129
133
92
72
69
121
73
138
97
54
106
87
66
50
28
70
83
76
102
115
96
106
117
164
115
128
52
16
26
61
80
86
78
65
64
115
65
73
129
122
128
140
139
128
71
70
66
55
105
120
92
95
66
54
58
52
54
49
53
58
62
65
72
81
87
96
92
85
85
136
132
128
135
137
86
84
81
133
131
122
123
123
128
133
142
92
146
143
139
138
90
145
97
104
108
160
153
143
87
91
97
103
98
88
133
125
120
123
77
137
139
90
140
137
90
95
93
139
82
129
132
135
134
83
131
124
65
65
73
74
72
68
61
55
54
111
115
110
106
102
48
48
101
49
111
111
122
125
121
117
63
64
55
88
40
71
116
64
52
55
105
87
65
156
116
141
85
83
76
60
102
54
54
39
36
42
42
43
96
97
94
90
93
93
91
37
38
40
39
34
35
41
42
37
44
46
48
47
46
52
55
52
109
112
112
114
114
109
118
123
71
123
124
66
115
120
57
116
121
64
57
48
36
30
71
60
61
66
70
24
38
102
123
123
99
110
102
45
40
89
90
92
92
85
96
45
50
106
60
117
69
85
83
85
90
150
156
159
157
137
142
138
133
84
125
43
110
108
111
136
142
165
176
211
215
186
178
38
125
74
41
25
112
125
133
196
132
102
139
126
124
89
143
150
151
134
147
149
152
171
106
74
80
85
187
148
116
80
35
60
110
98
53
26
73
67
70
94
106
96
105
127
130
69
73
63
29
2
16
42
101
70
89
106
153
56
48
97
98
100
120
119
145
95
97
87
65
109
124
159
109
123
101
48
47
56
56
65
66
72
79
137
141
89
83
82
83
86
140
139
138
126
67
60
60
121
128
134
131
124
118
117
72
89
94
86
134
130
129
77
79
133
141
140
140
142
142
140
136
132
81
73
64
59
106
57
68
76
139
141
134
131
126
127
125
122
67
122
128
127
122
66
62
60
112
60
59
64
66
64
60
55
53
54
109
113
49
48
52
110
65
74
83
123
116
115
118
113
103
96
53
102
88
32
63
114
66
56
63
52
63
50
112
158
137
145
93
74
106
57
59
50
41
42
48
104
54
58
110
103
94
97
99
98
97
45
43
38
31
31
91
99
51
50
49
45
40
39
101
110
66
121
119
63
115
120
119
119
123
74
133
84
79
79
89
77
122
116
56
54
54
49
36
30
19
18
19
17
68
73
74
24
112
194
135
130
117
109
91
123
110
106
101
109
107
107
110
63
64
62
59
67
73
70
115
113
120
128
149
136
120
122
66
68
90
123
95
33
102
58
123
150
127
120
121
130
134
91
103
65
46
117
111
79
42
64
222
115
149
151
180
139
165
83
86
147
156
115
78
57
77
68
95
58
86
111
114
86
71
122
103
102
93
104
107
83
95
70
79
117
128
145
99
134
101
79
137
104
65
103
54
55
116
125
107
40
29
38
156
115
103
97
90
81
65
102
106
130
146
153
117
97
98
51
62
63
72
124
125
131
85
88
141
138
137
139
140
137
136
135
73
65
59
61
69
127
133
136
130
72
124
130
90
92
135
132
130
78
80
82
82
132
134
136
137
136
133
128
124
74
71
65
60
56
63
79
83
88
86
138
138
127
121
119
119
66
119
122
125
123
126
69
68
71
71
68
67
73
70
65
62
61
60
60
59
52
54
60
64
65
69
75
104
109
127
124
110
45
90
53
107
94
88
126
69
61
60
60
55
111
104
95
173
147
144
91
80
62
55
55
53
98
49
56
56
55
61
115
54
96
98
101
101
47
47
95
91
34
86
89
94
98
46
47
48
46
99
107
114
124
128
74
70
122
129
126
127
128
131
138
90
84
83
92
73
75
125
65
59
53
44
39
34
21
20
23
21
19
29
81
16
21
176
186
124
142
148
152
201
139
172
120
132
131
127
126
74
72
65
60
62
65
119
116
111
107
105
117
89
105
60
59
55
76
125
48
35
115
48
97
136
130
119
161
123
88
101
80
55
61
112
92
71
0
0
124
103
190
246
184
128
103
105
103
93
75
120
73
59
67
23
64
61
84
102
91
51
75
83
110
99
89
83
79
50
56
61
116
155
149
143
74
90
142
136
120
92
54
111
53
76
143
134
94
34
92
108
140
73
88
92
122
116
71
67
62
46
128
86
125
107
102
49
49
58
129
129
129
134
142
139
132
80
81
132
128
127
127
127
73
71
68
72
72
69
123
120
125
81
91
97
103
102
148
148
146
146
147
93
92
89
86
77
67
117
121
127
76
72
64
60
64
74
81
83
77
87
94
83
81
128
123
62
61
60
61
63
127
133
78
76
72
69
66
65
63
65
67
64
54
50
54
111
112
63
64
73
72
59
98
94
102
107
93
110
69
69
126
127
120
100
101
128
67
74
74
61
44
87
89
87
92
176
89
85
95
82
66
60
105
109
56
60
68
58
55
71
56
101
102
47
100
48
43
46
37
32
75
70
83
103
48
48
51
58
118
118
116
126
79
82
83
83
131
103
150
146
149
151
93
90
145
145
128
120
65
71
67
55
49
48
41
29
21
16
23
31
28
79
78
21
29
61
91
66
97
107
95
32
117
163
154
171
163
128
132
147
180
117
112
113
136
129
138
115
119
104
174
175
74
28
22
108
96
74
67
120
76
77
102
136
150
150
155
53
96
91
107
95
98
80
56
7
0
137
105
96
133
191
175
168
120
120
89
129
98
71
49
57
58
143
143
90
114
129
91
62
115
106
125
117
81
92
114
133
124
95
91
107
137
113
92
109
101
79
120
52
67
102
71
144
154
97
113
86
141
130
123
101
156
138
131
81
72
57
35
107
78
130
109
103
115
70
74
74
131
131
130
131
131
77
138
140
130
121
117
119
122
124
70
70
73
64
58
106
99
51
57
64
69
70
70
118
70
75
79
130
131
81
82
82
79
74
125
128
129
128
75
72
122
73
79
134
133
141
87
81
75
80
82
133
122
71
71
72
74
137
87
72
70
71
75
79
79
66
65
67
118
114
60
113
114
113
98
50
58
60
57
112
66
65
69
111
117
121
122
126
110
121
111
94
104
100
103
111
67
77
83
135
123
115
123
128
93
123
149
140
122
112
117
119
68
69
113
110
69
108
106
56
104
103
50
43
97
41
38
40
89
80
72
95
46
54
113
117
111
111
119
74
79
82
83
88
145
134
134
143
152
154
102
99
89
132
73
66
68
64
56
109
102
99
88
28
22
23
80
89
87
34
32
23
26
31
46
70
88
102
127
131
127
123
133
66
65
46
51
93
84
98
187
144
114
114
82
103
174
181
102
148
99
109
110
118
125
167
176
169
112
164
146
168
113
138
206
200
129
181
169
174
51
20
3
0
1
48
74
48
106
158
178
117
96
119
94
83
15
32
54
53
133
89
59
119
125
125
120
97
78
87
153
153
138
126
40
72
87
100
86
110
124
144
113
118
123
95
53
116
99
57
112
116
109
111
119
118
77
74
153
141
83
133
84
75
111
105
119
139
136
109
103
67
77
73
79
80
78
125
126
128
131
145
146
83
72
120
122
126
76
73
73
75
68
63
60
54
56
59
62
63
61
112
117
123
78
79
77
129
80
85
85
81
76
126
77
78
130
81
133
132
135
138
138
135
130
124
117
66
74
128
128
132
76
67
60
62
83
88
73
74
76
77
77
75
119
126
125
120
114
109
106
105
104
53
64
126
126
122
121
73
64
65
57
107
107
108
111
104
119
112
93
63
119
119
127
75
74
72
75
119
117
60
110
128
150
144
142
67
113
119
124
74
69
111
107
110
111
107
55
102
49
50
46
46
95
88
87
94
92
85
79
49
70
128
86
97
83
142
91
93
94
98
106
169
112
156
150
147
144
147
92
83
136
80
75
74
119
115
117
108
104
89
81
24
78
82
80
83
86
86
24
22
23
27
108
126
90
77
113
129
128
83
67
66
43
52
103
73
81
163
143
145
158
122
120
169
106
95
80
42
68
90
99
102
199
179
176
163
163
198
202
167
156
187
217
255
230
210
141
65
33
10
0
58
33
94
46
46
73
125
155
171
115
94
123
9
27
30
52
76
143
53
94
101
108
136
106
101
121
167
114
143
121
105
39
90
88
89
149
145
132
103
125
124
112
82
48
72
136
136
140
58
115
123
113
118
119
149
104
159
155
149
138
120
135
151
159
155
132
119
80
88
78
120
62
58
53
107
117
128
155
101
94
92
89
143
144
138
83
81
83
85
86
90
77
76
73
69
118
55
53
111
117
125
131
132
135
138
88
86
80
72
70
75
131
131
124
126
125
126
126
123
118
120
116
118
132
135
132
130
137
86
133
126
127
82
76
73
75
76
124
65
61
115
111
107
105
108
112
114
116
120
73
125
119
111
105
54
56
60
53
110
109
113
121
122
136
133
120
48
68
127
117
119
112
55
63
80
83
76
60
20
105
184
148
156
129
106
107
118
77
130
127
69
112
104
46
43
35
36
41
40
30
86
40
101
108
117
71
139
112
61
145
105
102
130
189
176
166
168
126
129
176
118
174
178
178
169
164
150
78
131
129
75
76
70
118
121
123
121
96
86
33
35
37
82
90
92
89
83
34
36
37
84
85
109
57
39
122
71
72
66
78
56
63
110
150
107
97
164
192
195
182
148
125
91
107
101
28
32
73
73
17
105
104
84
62
79
126
194
173
147
176
120
180
154
161
180
160
132
114
77
39
45
93
99
18
48
150
170
151
29
141
123
21
14
54
53
93
94
102
88
87
163
128
121
146
172
107
35
79
60
135
141
68
116
148
159
149
165
104
165
179
170
159
94
69
143
138
116
118
118
124
119
144
147
123
114
158
138
136
146
142
150
150
162
175
158
122
112
66
64
56
55
58
60
118
127
138
158
101
97
100
98
94
90
135
83
137
142
92
89
143
137
84
81
77
126
65
63
70
124
128
133
136
137
135
72
74
75
73
74
78
132
131
139
140
137
137
137
133
127
126
125
129
138
81
128
76
69
122
116
108
60
125
118
56
53
54
62
124
124
105
120
117
120
127
129
121
114
112
65
123
125
125
125
122
67
68
51
56
107
114
123
121
137
82
76
117
62
119
113
110
67
76
89
98
92
77
35
65
52
161
179
136
98
114
103
104
108
58
66
116
99
56
62
62
54
49
100
96
104
95
43
65
121
131
146
157
158
155
100
115
132
119
186
180
178
183
131
178
125
110
162
157
142
130
131
132
122
130
121
65
72
126
128
133
128
132
118
53
48
43
90
89
88
86
86
99
98
39
42
30
38
32
97
131
116
62
61
64
93
80
142
129
139
154
146
169
187
184
195
184
124
71
90
102
28
13
91
84
32
7
116
81
58
42
66
166
153
89
7
98
204
202
180
156
95
189
200
212
169
113
113
151
99
26
147
99
68
173
142
90
104
56
65
77
83
128
117
105
127
89
138
135
121
115
53
35
23
43
88
112
96
151
140
136
123
122
81
114
116
174
187
135
122
112
122
141
51
106
110
126
126
114
98
100
82
75
130
128
125
140
123
136
151
85
58
57
67
62
64
115
64
68
124
126
129
97
148
147
95
95
93
92
135
134
87
97
143
137
137
129
125
120
121
125
125
73
77
129
135
90
97
150
146
80
77
79
79
72
123
131
135
71
71
85
85
125
70
79
75
76
131
131
128
124
123
124
64
114
121
80
75
122
118
130
85
79
126
129
128
119
124
126
119
116
119
120
119
71
127
133
131
121
115
62
58
51
54
69
77
75
121
125
137
87
116
125
77
99
115
80
91
93
95
95
52
39
65
84
88
161
152
69
57
40
37
107
70
71
120
126
61
112
57
54
51
99
96
45
47
61
132
140
154
158
159
118
176
114
112
136
125
139
176
178
187
180
172
103
77
56
98
94
83
85
95
96
121
130
136
76
125
89
157
144
134
77
124
58
99
98
91
101
103
93
103
107
48
65
60
57
62
70
129
145
137
65
63
78
128
123
138
148
149
155
164
175
188
179
159
125
61
84
93
30
55
87
82
131
94
108
80
12
5
5
57
115
99
51
43
136
182
109
66
119
116
120
131
149
162
140
157
162
129
127
112
135
194
175
137
97
59
72
81
151
139
114
94
117
108
155
121
77
145
124
75
54
110
41
101
134
81
74
131
135
72
84
76
135
174
169
131
130
94
88
127
70
70
126
82
64
69
146
95
77
120
123
124
72
84
83
80
83
81
66
111
112
65
54
112
63
62
65
71
77
87
88
87
140
138
135
134
139
141
92
95
136
135
87
77
126
126
80
89
93
89
79
77
131
84
92
150
152
147
132
70
70
124
132
134
75
51
70
77
78
73
67
62
68
60
106
120
83
94
153
157
154
145
133
79
77
122
65
68
67
116
66
73
76
129
130
127
120
121
126
127
123
114
116
120
121
118
65
67
62
58
74
74
66
68
130
134
122
116
106
103
126
133
132
150
160
112
112
96
32
63
56
44
25
116
172
104
81
132
128
122
69
73
125
70
60
112
58
55
53
103
102
98
107
75
140
148
159
162
171
122
122
168
171
186
173
170
167
157
138
70
64
4
5
53
58
62
57
59
67
70
107
150
167
113
164
156
140
144
89
89
135
124
66
68
106
103
49
53
63
60
57
53
55
55
47
88
81
98
106
40
51
60
107
120
144
142
154
160
154
159
182
137
124
121
74
65
86
64
103
30
6
129
120
102
157
90
46
21
0
55
124
111
97
134
179
146
132
169
118
85
98
147
142
123
114
120
128
132
135
81
116
190
197
206
96
53
137
138
41
45
52
103
103
135
120
57
107
125
123
58
45
65
92
106
90
67
179
110
102
103
95
97
95
76
135
145
110
98
107
72
78
76
122
93
160
122
97
89
144
150
152
151
154
93
85
85
96
93
124
105
53
58
61
67
129
135
82
79
143
86
73
119
116
119
122
126
81
87
138
134
83
87
90
92
150
154
102
76
65
65
123
81
90
148
148
143
57
113
72
80
133
132
123
55
60
118
56
55
62
65
60
66
62
111
125
80
81
81
72
79
80
127
124
71
64
115
68
75
81
84
85
72
121
81
141
136
130
77
78
77
70
119
116
115
117
66
67
64
63
36
49
74
77
115
112
115
121
118
142
159
151
148
154
142
133
83
68
44
51
91
106
42
92
150
134
80
123
129
145
95
129
63
62
58
56
55
58
59
63
116
113
121
137
166
178
183
175
195
184
121
162
151
132
114
96
89
79
20
13
7
14
1
70
91
111
131
149
164
176
150
152
181
150
152
147
143
127
119
106
99
89
129
121
125
57
51
60
67
60
111
120
58
51
102
49
96
86
46
64
52
38
102
107
113
168
159
163
168
161
155
110
122
94
60
110
167
125
125
193
157
96
101
105
113
99
99
70
17
34
95
128
146
157
156
138
145
140
63
59
83
123
111
103
112
133
145
127
100
124
110
110
164
164
151
103
0
36
45
43
89
87
95
123
133
68
63
146
130
119
57
68
92
111
124
136
94
95
109
162
107
134
126
72
55
143
181
168
129
126
82
81
125
141
91
86
94
91
97
155
151
148
150
144
85
79
84
89
75
114
63
54
55
63
77
136
135
130
139
137
121
62
60
61
65
120
75
135
137
83
84
135
88
146
102
104
100
125
113
57
63
70
78
82
132
126
122
75
83
83
130
130
126
113
111
112
105
105
62
68
68
71
67
117
122
69
65
112
64
69
75
77
78
120
62
83
80
76
73
72
73
131
116
75
77
122
118
75
86
143
84
77
121
116
115
115
113
67
46
45
58
112
112
115
118
126
136
129
132
138
121
109
127
131
84
91
70
42
101
62
60
44
78
105
101
172
143
73
83
150
143
71
57
108
54
52
52
108
112
114
122
131
146
168
181
182
171
177
157
84
118
102
87
24
12
8
57
10
67
11
35
98
119
139
157
176
187
191
196
143
202
153
155
163
166
158
139
132
115
109
151
89
134
132
66
58
66
125
120
117
107
109
56
104
91
80
82
72
45
45
39
49
50
111
176
160
156
161
102
98
107
121
97
58
114
169
107
84
182
192
130
75
86
111
154
202
127
50
15
57
122
107
176
170
140
157
157
55
17
22
52
83
103
89
89
122
138
121
90
83
125
115
110
115
30
20
49
28
82
92
95
42
127
131
125
123
167
171
116
62
41
57
83
76
79
90
107
161
153
90
114
118
77
62
68
173
178
149
124
70
68
71
108
65
142
145
147
149
145
130
125
87
89
147
143
142
99
87
118
110
66
64
64
66
119
119
67
123
126
124
117
112
111
115
120
129
138
141
92
84
73
90
98
104
98
87
120
119
64
60
54
102
47
50
109
117
121
75
76
127
130
123
108
108
115
123
122
116
113
114
51
50
52
56
61
67
122
85
77
82
98
103
138
89
68
73
79
82
79
74
129
133
131
73
70
76
85
138
131
72
68
61
111
62
115
113
63
61
92
83
89
110
128
134
79
94
147
86
92
103
101
117
113
61
70
56
72
80
59
69
63
72
129
145
104
120
163
137
134
158
162
141
126
115
111
106
107
109
112
115
127
136
103
93
37
30
21
64
12
15
64
61
56
68
87
91
104
146
181
138
188
205
211
216
229
227
163
159
97
71
55
37
42
85
130
184
183
141
162
141
135
133
74
67
59
59
80
80
126
110
50
47
101
103
98
82
97
25
50
56
69
29
81
135
94
98
88
85
94
81
52
90
65
86
185
149
137
99
122
115
188
108
101
133
170
181
130
76
33
97
126
176
187
148
161
147
54
31
0
0
37
94
177
175
117
107
86
94
114
102
98
119
66
3
19
48
40
42
48
89
30
104
114
145
170
161
141
115
50
66
87
93
76
115
61
143
138
163
180
122
101
79
89
61
121
135
107
51
116
119
71
129
128
89
142
142
142
90
91
90
80
140
139
145
86
78
89
97
140
114
63
60
113
118
122
69
61
62
62
58
109
57
60
123
127
130
131
131
129
76
79
84
87
88
84
82
83
78
70
115
113
110
56
56
65
70
66
58
58
120
126
74
69
130
125
73
67
111
110
62
63
120
129
83
139
142
92
93
96
97
90
130
79
130
130
79
129
131
133
125
126
128
80
81
129
124
118
116
104
109
65
120
119
68
73
68
116
121
140
133
111
50
62
65
82
81
40
47
47
90
118
78
73
72
75
74
71
69
64
57
61
87
151
149
150
158
117
106
79
130
156
190
120
120
135
116
105
80
102
129
47
17
5
2
3
8
15
33
55
77
171
187
139
196
211
220
215
214
218
223
195
100
77
50
33
47
48
51
98
37
48
56
51
47
132
87
133
220
176
132
165
141
75
59
55
69
79
93
84
77
67
58
107
105
98
91
80
83
45
109
70
83
80
84
94
101
89
70
117
74
80
72
96
124
182
127
95
124
125
90
107
123
150
152
130
106
103
140
126
142
209
98
85
154
121
78
40
11
0
13
65
126
160
191
120
133
127
132
116
78
57
51
48
16
74
46
43
34
77
70
43
135
163
167
146
127
120
85
37
70
88
88
72
67
155
171
105
94
109
102
71
55
128
132
78
71
111
120
69
75
135
135
95
100
143
90
96
99
141
126
140
133
80
79
80
98
111
101
116
65
58
110
123
130
127
117
65
63
59
57
58
58
111
118
128
136
134
124
65
70
76
81
81
77
81
85
82
71
61
62
117
120
123
131
125
61
51
54
120
130
133
125
132
130
131
74
67
115
120
72
126
126
128
129
130
88
141
91
92
87
132
135
137
133
127
123
126
128
117
123
126
75
126
120
115
113
113
61
121
74
74
71
71
74
133
120
130
146
135
118
65
55
61
74
71
45
47
44
49
131
84
66
63
76
77
66
62
60
56
52
62
120
154
162
185
135
162
149
139
120
159
170
140
138
138
135
92
103
65
21
0
14
31
46
83
103
127
146
157
163
161
165
168
225
221
211
202
160
125
62
45
46
36
31
58
71
49
98
46
56
61
59
60
118
113
75
79
156
221
164
132
90
69
49
94
86
92
111
91
79
83
130
115
123
55
39
28
85
103
72
133
149
142
97
106
87
57
58
86
118
144
100
103
184
139
93
91
95
86
127
130
140
142
198
101
118
178
151
133
165
77
99
109
64
71
41
56
45
80
49
119
176
191
111
119
139
146
119
97
95
92
77
108
109
121
90
86
66
54
57
81
146
148
147
134
127
115
50
121
93
110
95
72
155
158
91
87
108
158
137
80
158
158
97
90
102
109
109
64
84
86
99
147
83
76
129
122
113
133
139
132
81
85
92
110
114
94
54
57
82
153
149
135
125
68
68
67
123
126
76
128
130
124
67
68
65
68
122
120
69
69
64
111
66
74
66
60
59
68
81
138
136
76
118
54
49
57
66
72
73
123
142
136
134
128
126
131
139
91
144
135
129
129
129
133
128
127
81
141
129
117
116
122
122
115
107
108
120
116
120
71
122
117
118
121
124
65
63
59
60
68
78
85
88
120
129
126
112
116
133
132
118
46
100
73
60
53
64
106
110
83
88
62
66
65
58
54
64
74
124
120
122
134
103
125
173
147
150
183
147
129
161
155
146
110
125
98
94
103
158
177
187
191
184
191
190
173
156
166
95
75
72
123
117
105
97
60
89
50
37
22
18
35
110
96
72
75
37
47
54
61
66
72
109
131
110
56
110
31
111
218
201
152
93
22
60
120
72
80
86
140
133
121
133
128
68
107
97
109
74
78
133
91
108
114
101
71
102
105
154
134
84
149
148
70
45
128
145
100
69
100
116
169
186
137
134
107
152
158
104
145
127
71
47
29
6
57
7
3
95
176
177
154
102
117
131
123
114
99
96
115
87
67
74
30
29
77
25
57
117
130
146
179
168
146
106
141
97
61
63
90
84
165
101
87
83
140
135
138
102
156
156
98
95
43
111
121
129
132
73
82
127
72
118
109
104
54
68
127
68
65
61
59
78
93
85
61
79
96
148
81
75
76
62
63
69
79
139
92
95
140
142
149
152
76
70
127
74
69
114
108
54
56
112
64
61
63
74
81
131
124
54
52
53
60
64
65
61
57
126
129
126
130
132
128
129
127
131
134
128
128
132
136
79
129
127
126
130
119
106
117
124
127
121
111
110
122
123
124
75
75
123
117
58
54
67
67
121
81
97
105
105
134
110
120
118
110
104
98
110
113
58
74
65
45
66
135
145
144
85
76
117
77
67
69
62
60
71
122
119
135
153
101
85
147
179
168
118
112
115
137
128
129
69
68
79
77
78
79
74
74
81
69
72
78
87
86
70
64
113
117
131
125
81
44
65
71
70
0
0
0
5
87
87
76
78
32
37
54
69
66
122
112
86
81
79
70
49
54
65
133
230
147
58
33
68
82
97
105
114
120
64
112
106
108
115
110
105
58
86
151
151
132
119
123
129
130
61
122
149
97
70
114
142
63
117
138
129
111
112
106
165
167
173
106
103
149
122
145
175
121
95
58
22
0
0
11
26
66
124
192
180
66
100
102
123
140
94
42
49
81
86
173
138
113
105
85
63
108
114
125
163
165
91
97
81
95
133
107
82
123
91
89
92
148
149
146
148
152
141
139
103
117
99
109
63
130
142
77
79
147
82
126
131
80
78
72
85
81
120
103
50
64
82
93
61
41
50
116
112
102
100
101
47
110
72
83
89
91
85
92
99
96
125
71
74
69
59
108
110
55
100
91
95
43
51
55
56
112
117
123
75
82
136
135
134
84
136
82
64
123
134
137
134
128
160
147
82
128
132
134
135
88
91
143
84
130
130
132
134
135
135
131
122
111
96
106
114
70
68
56
100
54
65
47
58
70
67
118
73
81
99
99
63
62
56
111
120
123
122
132
86
44
56
138
132
131
133
132
119
104
101
49
40
32
88
98
105
56
48
49
50
50
98
109
148
186
204
137
121
113
101
91
147
101
84
74
67
106
41
39
73
73
50
56
53
130
140
172
155
75
56
62
56
66
63
72
14
1
3
13
21
78
87
38
38
59
78
65
40
58
52
60
57
126
80
59
105
125
138
88
234
227
149
101
75
71
90
46
55
46
121
113
102
94
87
79
12
81
80
125
157
86
74
84
80
74
54
48
59
69
83
82
45
21
25
84
113
131
142
157
114
145
136
75
133
75
172
166
168
103
72
63
5
6
17
55
72
145
188
188
159
91
119
186
98
75
78
78
97
149
129
145
126
148
185
176
162
139
96
102
131
70
80
106
64
62
98
94
149
157
165
162
145
137
142
134
117
160
177
158
145
111
68
74
137
143
78
131
127
70
73
136
138
137
133
91
88
77
107
42
43
53
59
113
94
85
95
97
94
96
97
96
109
121
133
86
87
92
95
94
86
71
72
75
120
114
63
114
109
101
95
55
55
61
66
119
126
133
82
75
72
124
125
74
80
138
130
115
118
75
136
94
100
146
88
81
137
88
87
137
147
149
96
92
90
94
145
85
86
83
73
118
62
106
103
57
63
63
55
49
54
64
53
59
66
57
100
47
101
27
78
44
48
47
105
115
112
111
104
93
30
42
106
97
94
95
98
93
86
91
49
40
31
85
96
108
64
75
65
57
103
98
98
115
80
129
161
165
153
134
111
97
103
129
124
135
120
50
37
74
91
84
99
67
113
157
159
88
66
50
62
64
78
67
21
17
8
60
65
17
21
19
35
58
74
63
44
37
56
43
46
61
129
73
54
115
117
107
101
126
214
207
127
104
69
84
51
41
49
62
111
107
103
102
44
33
87
69
84
116
76
86
98
96
67
51
54
71
104
92
95
55
43
31
65
80
83
92
159
142
177
85
42
121
122
143
168
176
122
82
47
0
19
40
76
89
158
139
140
129
102
108
107
81
71
83
135
148
146
137
123
129
180
191
187
123
106
97
88
104
54
30
55
70
66
85
76
126
137
134
136
141
145
148
150
154
161
147
121
123
119
130
138
137
76
67
113
68
65
68
128
129
130
125
84
82
126
112
100
94
42
45
70
106
95
118
124
107
109
108
51
51
63
127
134
84
82
85
84
79
121
70
71
125
121
119
113
105
109
105
54
56
112
113
113
123
74
62
56
61
71
69
57
59
120
72
139
144
86
76
72
71
78
75
123
127
136
95
103
95
92
87
81
80
132
128
121
130
128
63
59
67
60
111
54
49
45
39
33
85
35
70
78
40
44
45
50
50
41
94
49
49
49
103
108
110
113
107
46
66
54
83
86
92
107
120
119
104
97
38
35
84
88
101
119
134
136
70
60
115
122
69
61
53
48
117
153
149
146
132
97
153
160
89
99
170
100
77
147
155
141
123
130
106
86
129
118
78
67
67
67
72
75
77
37
47
44
34
23
15
37
44
44
49
51
44
39
19
21
22
92
87
83
103
121
109
119
109
108
93
133
229
195
137
78
23
47
53
57
113
112
114
114
114
114
53
103
85
78
40
50
73
107
85
60
60
55
130
68
86
48
38
85
34
77
73
66
50
71
56
46
49
63
112
134
181
163
132
102
40
11
24
78
90
51
68
172
178
121
96
105
119
126
189
192
177
91
99
100
179
161
169
187
75
64
69
24
44
73
85
79
74
65
58
67
131
113
107
141
156
146
157
178
169
136
122
129
138
143
40
53
120
71
82
83
119
60
53
50
102
107
70
77
58
53
100
103
116
132
97
109
117
108
140
117
98
105
129
109
47
36
44
110
122
128
129
75
121
110
110
124
135
125
117
109
103
103
117
108
46
106
116
120
124
84
82
50
54
60
61
56
53
61
123
123
68
72
75
74
74
73
117
118
121
128
74
70
68
73
73
72
70
70
125
122
125
132
86
85
82
79
67
61
53
46
43
43
95
97
101
89
87
35
30
26
29
83
32
40
46
38
33
87
92
76
75
84
47
32
20
69
79
82
93
105
110
105
105
110
117
121
117
117
121
67
101
98
99
103
55
56
53
48
67
49
50
65
103
131
130
123
169
84
158
76
60
165
168
150
147
132
119
94
101
117
125
139
140
127
117
95
99
89
87
32
30
42
50
39
43
45
49
50
37
27
29
27
18
23
90
87
81
86
62
47
88
106
109
117
117
82
162
182
186
54
31
48
56
115
117
114
110
113
120
116
130
121
105
46
34
26
33
56
133
99
79
114
84
74
70
29
43
103
96
133
124
184
120
76
52
24
7
67
87
108
59
101
93
62
10
58
63
84
97
162
164
148
107
115
175
195
207
213
156
147
134
73
126
134
77
121
120
41
67
95
81
19
0
0
13
58
75
80
78
129
111
127
132
140
150
166
177
176
172
131
118
121
125
42
52
66
67
136
83
113
106
57
61
58
55
65
77
74
67
58
52
50
107
125
89
150
157
145
127
132
150
102
46
39
33
44
110
119
124
117
110
106
107
122
130
135
116
115
114
109
109
119
111
50
56
115
66
69
131
129
61
63
62
56
56
114
121
69
122
126
130
128
68
114
110
66
66
69
75
70
112
105
59
64
69
69
123
128
129
127
125
126
76
72
64
64
51
45
40
40
94
97
105
112
98
102
51
43
39
43
100
118
124
56
33
72
73
80
97
86
24
20
13
19
28
17
10
67
88
106
59
103
107
117
123
118
112
113
56
85
92
100
109
118
72
73
70
70
77
73
83
101
163
162
192
122
101
157
134
84
176
132
132
152
136
114
101
124
142
83
91
139
81
142
142
54
46
44
35
32
52
62
94
51
44
30
23
20
74
82
78
15
81
86
89
89
82
82
26
40
114
74
131
114
102
73
204
169
99
81
39
52
61
120
114
107
107
112
119
123
120
114
57
49
33
72
83
118
91
81
87
101
69
87
42
26
105
101
106
193
154
118
91
65
42
80
84
81
74
81
45
31
44
79
45
47
81
102
112
170
159
158
165
159
177
197
207
158
161
98
71
132
181
85
84
76
50
80
87
92
20
8
3
0
53
60
65
77
135
130
95
142
139
148
106
164
113
166
128
112
105
50
58
59
68
124
105
112
119
111
61
60
55
54
55
50
76
83
72
53
39
88
46
61
121
116
128
148
135
111
59
50
46
55
62
117
125
133
128
125
123
122
118
112
107
118
114
117
126
131
121
68
66
77
140
140
81
73
117
115
67
120
113
63
120
116
102
111
106
57
117
126
134
136
68
58
57
72
70
117
112
116
61
62
117
118
115
115
117
123
118
47
32
32
52
49
109
116
118
119
122
124
124
118
118
116
61
57
58
62
109
107
46
53
118
68
61
55
54
55
60
116
48
29
29
24
23
30
48
60
104
93
43
83
83
47
54
106
129
126
127
78
81
81
83
87
83
77
85
86
79
80
143
141
87
102
81
98
150
144
131
131
134
126
120
154
149
120
96
106
95
103
125
87
60
79
79
59
56
82
156
158
132
118
102
83
72
77
89
79
84
94
87
86
89
86
43
46
96
97
83
84
106
112
115
133
50
180
192
61
34
48
116
71
69
61
51
111
119
132
142
131
109
38
33
92
85
87
55
73
71
64
93
66
88
83
125
177
153
112
97
136
73
54
104
110
121
124
108
70
105
71
84
84
98
79
89
106
185
166
139
175
172
185
199
173
95
107
110
102
121
126
47
0
12
40
108
157
122
27
11
0
29
82
99
74
67
66
42
27
28
25
34
47
38
27
34
17
12
22
31
42
51
69
133
148
142
74
55
59
61
59
58
56
47
49
61
67
66
119
115
61
63
87
92
149
150
75
55
55
48
50
67
70
119
115
114
63
116
118
119
65
113
109
117
120
123
122
117
74
86
87
86
82
81
136
139
80
60
111
115
118
116
111
111
113
110
112
59
60
62
69
124
114
62
66
69
117
111
109
105
53
55
111
115
108
107
107
103
96
41
46
57
118
116
121
123
120
117
115
111
107
106
107
106
103
50
105
107
128
71
97
104
99
101
113
98
91
82
75
122
69
69
45
37
29
22
20
22
84
97
99
97
107
123
77
123
117
125
133
137
131
75
77
79
74
85
87
84
83
87
144
137
134
59
78
134
112
79
83
125
125
79
138
152
80
96
90
82
81
89
96
128
139
125
60
54
48
42
98
107
108
108
89
84
103
122
128
120
124
35
28
55
75
69
72
65
99
87
97
102
110
115
123
138
68
47
105
145
109
124
91
33
35
32
38
52
118
130
134
135
82
126
115
70
109
46
38
34
41
57
74
70
155
161
122
97
101
118
88
113
45
39
99
99
99
95
127
55
94
121
110
115
83
36
63
146
152
129
123
189
177
165
184
194
127
119
106
105
63
97
90
38
95
100
109
128
79
63
63
50
53
51
41
37
41
40
28
73
38
66
63
39
46
59
40
45
79
119
143
48
112
125
135
156
152
82
60
61
63
113
111
108
106
101
107
54
51
55
57
110
114
124
80
133
130
63
53
59
89
85
130
76
123
117
59
58
59
58
61
68
123
72
126
122
64
112
112
76
85
76
75
72
72
75
130
127
115
111
115
119
113
100
101
111
114
122
121
117
60
60
60
57
61
116
60
54
54
110
120
60
54
51
103
53
57
62
56
101
100
105
113
118
111
115
117
115
114
114
111
108
104
108
56
56
61
117
119
128
72
88
94
93
101
114
101
97
92
139
121
108
47
48
45
39
35
29
75
18
43
90
87
91
103
112
112
116
128
139
140
132
126
73
73
78
88
87
89
96
152
149
93
135
49
77
126
104
83
83
72
75
136
140
85
64
76
67
65
77
87
86
132
123
121
69
69
59
43
32
30
49
48
87
78
79
80
76
125
125
51
45
60
71
65
83
81
124
115
123
71
68
124
91
145
77
112
120
177
132
100
75
65
53
87
44
77
82
131
121
123
86
93
143
98
69
59
53
93
39
50
65
75
146
193
143
135
179
150
88
135
131
122
118
113
105
129
125
98
116
118
97
121
48
48
50
108
108
104
124
186
179
163
169
120
112
109
112
87
52
87
84
92
97
120
48
46
68
59
51
54
34
21
20
30
31
35
116
118
117
117
59
50
49
37
14
18
50
88
111
60
64
66
113
114
125
72
62
110
107
104
100
99
112
112
62
54
46
47
45
41
91
51
67
128
128
126
130
80
86
81
70
71
127
123
118
66
72
83
88
129
120
63
110
109
58
67
79
127
61
56
67
127
122
64
115
120
119
63
68
125
121
60
65
127
59
76
133
79
72
118
60
54
60
114
42
42
53
113
117
112
58
59
60
61
64
63
64
66
68
118
115
121
118
117
115
61
115
119
120
118
118
118
61
111
118
123
125
128
87
137
134
140
140
82
86
69
109
115
132
134
83
76
63
51
47
41
88
90
16
11
13
17
21
36
99
105
121
135
131
123
120
66
63
74
80
85
140
134
121
112
60
53
61
94
86
58
66
58
58
78
147
142
138
133
76
67
54
46
47
59
143
140
143
84
65
52
104
56
57
52
108
132
143
130
114
111
112
99
70
68
53
46
47
32
29
86
92
105
63
64
51
54
95
150
172
142
91
160
133
100
73
108
45
96
58
70
79
79
133
136
135
131
95
103
92
125
106
103
63
71
67
64
119
133
102
119
148
200
144
175
142
118
113
108
63
43
56
44
69
96
95
61
70
58
114
115
93
92
115
139
111
110
90
85
100
83
89
68
103
113
121
111
83
42
37
26
27
44
78
86
47
34
38
27
92
107
109
135
125
48
30
0
0
45
38
47
70
91
60
52
54
108
100
51
53
64
61
62
63
58
105
115
70
69
55
41
39
39
41
96
42
106
112
110
57
54
46
72
74
129
135
86
80
121
73
73
73
69
111
110
58
130
137
83
69
52
106
61
77
82
135
125
114
111
115
119
119
69
67
65
65
67
68
126
123
121
120
115
58
52
57
65
120
52
53
60
65
77
120
59
57
56
63
69
62
113
64
125
126
67
112
109
106
102
100
106
116
122
122
126
124
114
111
121
129
132
123
116
136
132
112
100
52
113
109
116
131
137
137
142
129
120
59
51
37
30
58
116
107
52
40
19
19
77
109
123
133
133
133
137
139
85
94
100
158
97
83
86
154
114
89
95
134
80
74
77
69
64
79
90
73
104
103
51
60
56
46
58
138
132
127
102
91
101
103
94
100
67
37
26
20
31
101
110
108
95
94
106
111
65
62
50
36
17
22
45
110
59
53
38
60
90
109
118
64
97
89
113
115
89
127
89
103
114
111
107
99
138
132
140
102
156
108
96
143
139
127
67
59
61
68
85
89
92
92
83
143
161
181
190
164
84
37
56
76
50
53
60
36
48
101
50
52
84
149
134
150
85
7
58
73
84
83
29
24
5
7
23
22
90
77
76
57
35
51
48
35
68
28
14
23
18
1
95
155
99
103
89
66
6
16
18
13
43
68
101
119
59
60
114
111
97
116
89
90
60
47
52
50
44
63
77
69
57
44
39
38
42
45
93
110
131
126
68
71
65
60
109
63
73
69
119
72
75
64
50
43
101
104
49
126
126
120
110
104
111
114
65
112
108
103
99
96
98
57
61
68
70
63
58
65
129
123
59
111
116
116
58
51
114
73
72
40
44
59
119
117
57
54
52
50
115
61
54
115
117
110
57
61
58
58
63
62
107
104
110
117
120
122
120
117
121
129
131
127
123
110
126
129
121
115
112
89
91
93
100
126
122
113
107
115
113
105
93
32
51
72
78
76
117
49
35
72
82
56
126
124
126
140
143
84
143
161
154
93
95
103
108
107
146
134
72
66
69
78
80
78
95
95
121
125
107
117
56
54
109
113
124
131
112
126
118
45
46
111
58
48
39
33
26
24
43
52
90
87
81
85
95
102
106
56
26
72
34
65
37
25
45
49
107
118
98
107
72
64
70
110
128
112
149
157
125
134
149
119
188
210
133
132
134
128
129
117
172
174
154
109
84
81
88
72
85
94
82
88
85
121
116
145
186
179
151
73
48
49
65
79
79
51
66
54
34
38
109
112
104
80
18
10
8
70
84
38
21
10
58
72
66
61
63
72
46
69
59
77
59
37
41
47
44
37
72
87
135
115
108
89
61
57
25
29
13
40
60
86
159
71
64
56
104
102
67
87
74
62
55
51
43
94
95
52
49
95
90
37
92
49
53
61
144
158
154
106
95
66
46
59
60
60
58
107
107
111
109
107
106
107
107
108
103
106
109
110
113
114
109
101
46
96
100
107
109
105
62
60
59
58
54
52
108
115
61
66
69
71
71
69
68
119
64
55
103
111
115
111
103
53
62
63
109
109
55
57
110
107
104
59
75
84
136
86
136
127
121
118
117
116
118
124
121
115
114
115
116
105
57
142
136
121
116
116
120
114
105
100
108
104
100
79
80
126
74
128
67
57
46
42
41
98
111
63
105
71
11
69
97
124
85
89
142
157
129
80
106
118
82
33
49
133
130
108
112
114
126
113
122
65
65
81
112
109
116
60
112
118
125
125
108
79
67
106
61
79
83
79
80
59
48
60
76
84
75
56
69
131
110
95
94
98
97
40
44
38
28
33
32
25
39
42
45
88
110
86
99
59
31
17
19
82
60
86
120
131
147
111
102
120
110
75
43
128
144
203
211
195
148
127
111
111
142
80
77
66
81
87
137
130
131
122
122
127
122
104
77
56
41
22
19
19
28
37
41
102
131
164
142
137
85
77
62
44
32
18
13
15
15
28
50
62
66
103
104
86
47
32
62
25
94
109
121
104
99
135
171
149
144
141
121
116
116
100
92
106
134
148
50
49
51
106
96
37
31
40
99
56
51
96
98
94
97
42
88
82
82
88
51
62
130
146
108
106
99
146
142
134
92
74
119
114
115
119
117
64
110
103
91
93
97
96
104
108
53
102
107
111
117
119
118
115
61
112
64
71
119
61
56
55
57
112
113
53
68
120
113
106
51
52
58
64
68
115
113
113
60
53
108
114
110
45
47
50
52
55
113
117
120
66
52
107
105
104
103
102
104
109
61
63
113
60
112
113
113
114
113
53
113
114
113
115
114
106
105
106
110
115
114
61
50
106
57
65
73
124
130
122
111
99
42
98
106
114
53
44
75
56
63
86
101
102
82
23
56
81
74
55
43
143
138
109
100
97
47
122
124
48
96
103
104
120
52
50
110
111
111
115
110
105
102
114
59
54
65
79
75
66
66
78
97
103
88
77
80
89
86
116
125
138
129
107
55
47
49
56
67
75
72
69
87
137
77
126
115
56
58
31
39
129
101
107
151
140
161
171
174
147
102
122
58
76
131
127
115
77
62
30
59
157
200
206
211
201
178
140
127
114
120
136
91
65
34
45
53
65
97
133
146
107
84
60
50
112
140
151
137
107
118
126
72
74
80
83
40
35
78
65
89
32
47
84
159
132
80
16
5
11
93
100
90
91
84
83
123
107
146
143
64
122
135
148
169
67
113
83
104
54
105
102
104
103
98
39
33
95
107
109
99
97
95
93
92
88
81
79
86
99
109
125
93
162
161
93
80
130
146
95
77
122
115
117
127
71
68
113
106
97
101
106
90
45
99
95
95
105
111
104
110
113
114
111
116
74
69
68
63
56
55
59
114
115
56
110
105
100
100
107
114
127
70
66
68
64
54
95
98
99
103
47
38
50
107
113
113
114
66
67
119
116
103
99
97
48
48
48
50
54
102
98
49
52
54
107
108
109
48
109
112
111
106
98
94
94
47
52
103
100
101
60
57
47
42
45
54
136
123
115
104
94
88
89
100
124
107
93
89
82
76
90
112
86
40
74
93
84
71
69
130
70
58
96
38
50
126
60
37
98
58
49
113
42
110
119
115
111
114
107
103
103
104
58
72
78
65
58
65
122
123
93
116
109
88
79
101
102
80
128
130
124
112
31
40
50
48
90
109
94
98
106
79
65
116
116
149
137
65
111
128
143
85
123
116
139
193
170
134
95
87
82
32
133
72
81
104
66
118
149
151
130
125
170
197
147
194
194
116
123
86
77
95
73
83
87
80
133
148
108
97
71
66
84
148
152
142
120
97
100
91
32
41
57
62
67
110
159
153
119
97
91
135
162
88
57
29
25
25
91
102
95
97
96
90
38
62
142
92
79
77
118
131
116
78
87
98
102
102
103
53
105
98
87
78
95
47
115
120
104
89
91
86
93
99
101
47
47
104
110
92
157
149
152
158
150
84
85
78
79
78
61
112
130
78
74
120
112
107
105
106
61
105
97
94
102
102
93
108
110
61
116
119
119
117
108
113
60
54
51
107
113
114
110
118
117
113
110
111
113
71
72
122
104
46
51
111
99
97
47
44
37
101
103
102
105
109
111
57
54
111
104
105
109
117
66
61
55
106
99
107
114
61
58
62
71
130
70
69
67
119
117
110
102
102
104
55
97
45
49
61
57
101
99
105
102
106
98
101
108
110
103
95
43
37
63
84
136
124
110
99
90
77
157
91
60
49
49
48
90
73
69
48
64
66
85
35
95
92
39
42
38
108
108
111
98
100
119
115
93
95
105
52
47
54
60
54
47
60
49
60
91
99
85
77
116
58
52
102
99
95
93
98
30
40
53
52
72
77
73
90
74
140
150
130
104
70
98
152
151
107
89
79
149
122
99
110
40
98
83
49
95
79
89
152
155
163
106
113
138
112
94
56
44
62
110
115
51
46
66
143
133
90
86
85
86
139
136
80
57
86
109
89
108
111
103
64
101
123
122
70
83
77
52
49
65
115
52
118
132
128
118
85
39
47
95
42
16
65
127
103
97
114
128
109
98
66
114
170
131
139
151
115
136
82
74
72
38
90
38
40
94
42
40
108
127
138
133
117
100
101
107
117
66
58
54
61
66
64
58
60
120
135
97
101
152
136
97
130
64
75
137
83
80
66
106
107
128
129
125
107
107
104
100
42
101
105
110
116
119
118
117
121
121
103
93
91
94
99
110
118
117
112
111
106
106
109
110
107
114
120
117
50
44
99
107
112
57
55
55
56
105
102
91
94
98
99
101
104
116
117
111
107
60
63
64
115
116
118
109
47
48
61
68
66
74
73
72
72
66
111
105
101
54
56
109
104
102
106
55
55
106
102
98
102
65
61
62
62
62
118
124
76
71
97
28
30
41
51
106
101
166
146
62
60
111
132
146
83
88
67
73
61
38
39
50
96
87
88
44
37
91
97
100
93
92
99
94
36
94
95
98
100
46
98
107
66
73
123
119
114
113
117
123
112
111
69
99
44
52
96
61
111
115
76
81
135
148
100
98
103
108
160
164
105
75
152
167
153
88
105
128
125
121
108
100
94
98
109
105
88
129
121
124
122
112
54
56
61
61
97
87
85
80
133
137
73
83
84
120
113
126
73
74
85
163
185
118
77
87
82
43
55
60
77
74
73
104
116
98
32
33
31
36
16
38
57
127
117
119
122
121
106
84
55
54
39
55
91
72
83
82
83
77
90
29
27
40
59
131
156
177
139
86
88
84
85
81
81
91
44
45
48
71
138
142
133
118
104
110
113
119
63
49
43
50
111
111
103
110
71
83
91
93
93
86
90
91
123
162
104
81
68
116
111
120
134
125
113
105
103
98
93
93
99
104
110
114
114
113
113
66
66
49
39
37
44
106
67
73
68
65
109
52
106
111
111
109
115
119
114
51
46
100
107
104
104
107
60
65
107
99
87
40
98
101
51
56
118
113
53
47
53
61
65
112
107
114
59
106
57
67
70
68
76
75
129
78
126
118
112
111
112
60
57
52
99
97
97
101
107
111
113
116
73
64
68
67
63
114
69
80
56
35
72
72
28
36
90
84
105
160
140
80
135
131
142
88
125
120
54
56
54
89
100
93
91
102
56
42
105
92
99
98
99
54
101
105
138
124
59
50
39
30
37
52
75
81
81
79
136
150
162
117
138
79
75
83
129
113
72
71
116
78
91
128
140
148
99
108
111
102
99
99
136
176
90
113
74
108
105
124
117
171
157
127
68
68
50
126
139
113
105
112
60
54
53
55
54
101
100
99
84
140
122
98
104
52
65
132
73
29
42
54
64
134
87
77
66
83
0
0
1
55
61
60
82
123
147
100
92
77
58
32
33
52
63
48
108
109
125
110
21
80
93
39
36
86
81
87
73
70
74
15
16
26
45
57
111
110
112
90
90
42
41
89
85
92
108
98
40
43
44
110
118
118
116
59
63
111
119
71
64
56
52
104
100
107
116
78
84
84
138
142
117
79
112
186
160
68
67
96
89
75
111
109
115
116
105
102
100
102
105
104
100
113
58
56
57
60
60
58
52
51
58
62
113
65
71
70
62
50
51
56
59
59
111
116
62
52
47
45
95
98
100
97
95
96
101
49
45
101
39
32
37
50
60
60
105
50
104
55
57
56
106
107
115
122
127
130
78
124
117
61
115
70
74
126
124
70
66
117
67
57
48
106
104
119
119
123
125
122
117
108
56
61
65
64
62
60
111
119
64
62
55
41
32
28
21
30
183
159
76
93
126
136
124
143
69
65
65
103
112
102
122
124
106
42
41
95
105
101
92
92
100
91
90
110
107
61
76
82
77
77
83
90
92
93
153
167
179
184
185
181
120
72
71
117
126
116
72
96
36
103
133
120
116
133
114
138
131
105
54
99
89
79
143
166
111
87
72
39
54
109
107
141
160
160
138
139
166
198
144
106
74
26
42
44
45
46
55
36
97
99
88
85
83
101
166
125
50
47
59
45
16
6
14
33
107
94
2
42
0
49
46
75
110
119
69
82
91
106
149
116
121
112
111
107
111
171
173
108
68
88
10
14
70
90
91
72
71
5
21
20
20
21
30
106
141
167
151
166
176
170
89
40
45
99
96
89
82
75
83
87
99
114
64
54
106
112
60
52
94
87
83
83
38
53
76
86
81
128
128
71
63
52
57
118
76
77
111
58
52
104
126
117
102
105
105
106
108
109
104
102
107
103
103
61
67
66
63
54
54
60
62
55
52
51
46
38
49
60
115
59
55
107
121
115
52
59
115
113
113
101
106
60
64
64
61
60
93
34
28
31
43
53
55
54
53
106
54
54
52
108
114
118
112
109
108
57
58
111
115
69
72
69
120
127
82
78
122
72
70
73
74
108
105
106
103
99
95
100
120
77
86
90
85
76
73
125
117
112
60
61
62
122
121
111
62
74
140
155
100
61
108
129
72
80
65
136
89
55
105
108
102
98
109
48
83
81
86
91
106
66
55
110
53
55
53
48
50
64
78
84
101
99
89
77
116
94
73
75
77
99
115
119
115
114
109
124
134
88
155
162
169
175
106
99
104
106
108
114
145
149
153
167
170
146
93
120
67
69
119
127
140
128
106
82
185
180
92
54
54
81
99
58
37
32
0
16
80
78
70
67
88
97
137
124
96
102
49
34
70
22
33
13
13
85
63
71
53
36
86
104
133
143
121
47
35
23
0
43
115
110
125
150
52
90
160
161
134
73
83
81
105
96
112
99
82
91
66
25
28
28
23
27
45
126
148
160
165
121
119
89
94
96
95
100
95
88
32
86
90
50
119
69
55
109
58
109
100
91
89
91
96
36
35
99
109
60
119
75
70
56
67
49
33
36
93
113
117
112
49
104
53
100
90
91
94
97
100
105
107
53
47
49
59
64
60
55
59
55
58
61
57
54
49
39
50
49
105
105
49
51
109
111
53
94
55
113
113
113
109
112
114
59
55
57
112
39
37
35
36
40
45
101
108
52
51
103
105
105
108
60
59
58
60
113
112
59
59
71
78
77
122
120
128
86
75
114
62
64
73
70
39
96
86
83
93
112
72
63
140
96
94
79
58
101
104
66
69
72
64
105
108
114
113
114
109
129
86
64
101
129
93
88
89
133
84
76
88
127
126
121
119
63
28
22
39
47
106
114
61
36
29
30
43
60
83
111
126
110
83
71
54
32
23
28
31
80
75
79
99
56
120
120
108
124
113
121
138
139
150
111
108
112
123
121
95
73
134
150
170
186
199
195
161
146
147
96
99
101
117
125
110
103
123
77
69
66
71
94
122
113
75
47
42
26
88
79
96
86
95
122
113
113
106
95
71
63
31
48
96
83
5
39
43
39
61
67
68
139
144
118
138
134
118
85
48
94
101
173
75
117
136
73
53
114
134
147
135
134
146
65
102
117
94
74
35
67
6
11
17
20
33
59
142
161
152
153
108
115
38
94
92
84
90
88
28
30
85
91
43
101
114
109
49
103
101
95
39
41
101
107
92
92
95
94
95
105
119
59
72
85
67
106
62
76
55
110
108
52
57
69
82
111
104
100
103
107
110
114
115
59
59
114
112
106
55
56
58
58
56
55
53
48
41
46
106
99
90
94
101
98
44
53
114
111
116
128
136
128
71
66
58
52
68
108
45
51
51
51
109
110
61
121
117
118
121
118
122
75
125
123
77
140
147
94
86
80
83
75
62
102
49
113
122
131
138
82
68
49
39
34
99
45
49
67
87
97
90
124
72
71
63
99
36
37
57
58
52
99
104
109
116
124
115
122
126
108
47
91
73
88
131
147
89
90
87
92
134
108
101
95
78
61
63
52
36
23
29
39
34
54
116
122
117
100
91
92
89
79
120
53
40
38
38
36
90
96
91
85
91
100
108
112
111
72
76
72
147
142
70
97
88
107
127
126
183
164
118
78
75
88
82
98
132
163
132
103
105
100
101
125
126
124
155
75
75
108
92
89
74
105
100
80
135
134
142
121
128
106
68
83
99
113
116
82
28
62
103
51
84
41
51
89
137
98
91
40
110
124
145
175
196
148
127
99
61
82
23
122
136
85
71
39
43
126
152
166
149
102
34
86
105
117
97
26
11
29
90
81
85
87
83
95
96
98
93
40
40
46
44
91
86
85
83
81
83
84
88
89
89
99
108
105
106
51
46
43
46
46
99
87
92
108
112
112
126
148
136
182
137
116
109
108
110
38
118
146
96
53
45
99
111
111
112
114
114
106
53
53
48
43
99
109
119
74
77
122
111
104
107
59
57
51
61
110
111
101
93
94
96
100
99
96
52
67
122
116
62
115
63
60
109
64
65
68
124
122
119
117
113
117
112
100
102
112
113
111
66
126
104
51
58
61
56
49
46
60
61
82
79
75
126
123
129
136
135
129
65
59
58
49
50
52
55
51
42
44
129
71
68
73
79
77
65
52
55
47
88
86
86
85
87
92
47
100
102
114
109
86
66
97
106
55
99
119
108
119
102
96
90
77
59
33
50
18
20
44
50
64
121
82
71
71
138
99
101
100
102
94
73
54
46
42
90
91
89
93
107
112
115
117
118
122
88
86
88
96
146
119
88
86
103
121
177
180
149
136
147
127
102
98
89
86
104
113
113
121
129
144
154
123
105
143
94
116
121
128
172
96
108
99
145
129
115
128
140
130
154
152
151
171
118
0
0
39
115
126
104
67
26
37
148
201
96
139
138
138
156
146
143
147
156
157
147
76
92
130
134
106
104
98
99
119
129
49
45
114
42
25
78
89
99
40
31
14
101
140
133
134
153
150
156
172
111
118
127
131
46
42
40
39
86
83
82
78
82
89
88
82
89
110
47
102
51
50
54
56
57
54
46
44
106
105
99
101
113
50
49
129
136
121
103
43
61
76
85
73
33
40
103
114
64
67
117
115
107
49
48
47
44
48
57
68
74
67
118
115
109
107
57
58
57
63
110
111
102
97
100
102
109
97
40
63
65
63
115
117
117
63
61
61
61
67
69
119
112
107
106
102
117
53
92
93
102
99
98
105
61
53
97
99
50
48
48
51
69
64
69
66
68
127
130
123
125
123
125
128
68
66
77
71
65
61
52
42
54
138
76
63
58
59
109
96
92
49
48
94
97
99
98
97
92
48
44
44
52
100
84
85
112
100
50
90
115
133
140
108
86
128
112
39
32
41
41
64
80
75
79
75
68
80
145
152
155
104
151
93
94
84
75
128
129
127
128
132
138
93
143
143
148
154
168
127
168
162
112
161
133
93
148
109
117
118
124
167
147
135
128
128
133
137
79
128
130
126
127
116
117
129
109
113
154
182
148
121
117
161
155
88
85
135
134
140
140
138
115
179
169
178
94
31
84
29
60
147
172
96
41
0
103
178
100
106
149
124
170
179
129
183
183
127
111
90
87
83
83
115
81
98
95
108
113
97
38
111
91
31
38
88
94
52
56
48
19
111
158
144
126
139
143
149
154
170
180
140
145
53
44
41
98
41
41
47
43
91
93
41
35
38
103
42
47
53
61
70
72
66
56
50
57
61
62
115
117
116
122
114
63
66
116
110
51
46
53
57
56
50
52
110
106
60
114
110
108
56
53
58
59
59
53
52
105
107
109
117
69
118
113
58
59
58
54
60
108
100
103
103
93
86
46
58
42
35
97
112
62
57
46
49
57
50
63
69
116
111
118
129
126
79
86
132
130
129
125
129
135
82
60
106
114
119
117
66
74
59
61
127
65
57
58
59
121
120
118
122
123
115
115
65
44
26
27
30
84
105
105
112
114
109
106
111
115
63
71
118
105
103
105
49
97
49
62
74
88
96
96
150
124
104
98
115
99
56
87
79
89
155
162
156
145
144
117
110
81
56
66
88
81
85
142
140
133
135
94
152
98
94
138
127
71
115
104
99
97
94
92
45
53
114
119
78
132
125
115
124
102
68
69
101
88
114
180
136
176
157
78
95
150
43
21
53
138
157
115
122
105
144
142
111
133
137
149
99
94
103
109
86
79
83
134
92
111
173
107
88
162
166
147
137
71
21
91
126
68
59
105
77
14
25
152
144
134
185
116
124
165
167
178
190
148
145
132
144
152
148
197
142
94
76
117
184
145
34
28
23
25
19
80
84
90
45
39
16
113
129
122
123
125
129
149
154
157
158
159
157
55
49
98
99
44
45
102
51
58
110
50
47
105
105
51
53
58
57
51
51
54
48
55
64
62
57
59
122
134
150
153
170
165
152
77
53
54
51
47
45
59
62
108
111
106
108
65
65
57
61
62
61
61
58
103
97
52
68
116
114
117
68
67
61
52
107
109
109
114
111
99
90
96
107
110
59
109
111
68
44
46
51
53
53
52
56
119
114
110
114
66
58
117
127
120
125
123
116
124
137
133
122
113
112
121
79
78
124
120
127
116
62
122
76
74
52
62
122
129
109
53
73
88
73
46
27
28
96
108
87
41
47
109
69
70
67
76
126
125
124
122
121
70
124
114
120
140
148
140
78
77
76
142
131
122
38
36
87
110
120
125
128
136
106
123
70
125
34
33
66
70
95
96
124
133
157
161
159
157
92
76
102
59
73
100
95
113
91
83
88
87
72
49
72
105
113
119
105
104
92
54
62
64
83
107
167
169
169
186
115
112
121
102
46
27
90
104
98
119
114
152
147
102
59
194
100
160
182
189
198
191
108
94
85
74
89
75
59
116
101
105
130
120
137
74
51
29
170
114
24
41
13
129
147
127
140
153
88
74
182
169
190
194
161
151
139
151
149
88
151
135
86
142
140
160
114
54
129
33
32
66
28
36
97
54
45
45
105
82
97
129
127
117
121
122
136
146
151
146
57
54
53
106
46
46
101
51
60
115
110
54
107
46
98
101
108
109
106
111
64
60
116
67
60
51
50
111
122
138
87
88
133
79
71
52
52
54
52
51
118
68
119
58
112
65
67
64
57
61
61
57
56
59
109
108
61
67
116
113
63
65
64
58
49
92
113
119
124
114
93
78
91
101
58
72
117
105
47
46
49
54
61
60
53
54
112
108
104
106
111
107
120
132
128
131
130
120
124
134
133
113
108
109
119
127
124
117
128
128
111
114
127
130
125
113
66
67
123
121
69
83
61
61
54
45
41
92
75
34
40
46
109
70
123
65
61
59
112
116
121
69
119
116
127
107
117
124
120
64
65
61
73
124
88
71
80
58
76
84
105
125
125
96
147
72
74
47
51
73
73
86
78
131
158
179
166
150
143
79
76
111
72
73
103
46
39
46
84
67
31
71
80
93
99
117
123
94
89
31
41
44
113
139
105
163
169
170
125
142
185
59
50
125
53
99
105
117
108
86
120
157
120
72
114
105
202
192
208
200
204
125
99
114
117
112
75
70
128
126
143
126
149
147
129
104
125
65
76
82
5
90
123
152
146
125
131
97
97
135
126
157
159
160
134
127
144
143
157
140
108
81
149
143
159
142
95
60
31
15
47
25
41
127
71
47
123
129
57
114
86
90
135
137
144
145
142
135
129
58
60
112
57
100
101
52
58
60
58
105
102
103
99
61
62
117
114
107
110
118
117
115
54
94
84
83
92
101
109
109
90
45
71
84
75
70
64
59
107
107
106
103
63
74
79
121
115
66
60
50
49
101
52
110
115
65
70
67
117
66
66
66
59
54
52
48
101
101
107
110
105
100
105
106
71
118
102
94
59
53
50
102
106
54
53
97
97
42
93
96
46
74
83
128
120
117
116
118
121
121
128
124
124
129
133
128
120
51
111
128
144
157
152
137
79
76
63
47
104
105
48
43
50
48
41
40
103
73
67
63
52
98
53
108
103
135
78
128
126
70
113
103
95
42
54
126
82
74
63
57
56
54
58
113
118
127
131
159
130
113
90
141
139
103
91
88
90
106
97
87
75
45
111
140
161
158
147
131
60
63
115
75
74
71
82
74
79
54
18
35
85
22
76
87
107
125
101
86
30
38
39
92
114
97
161
153
147
134
66
133
55
53
170
115
111
120
83
168
123
93
86
137
187
168
146
170
172
173
203
188
157
145
146
188
114
138
117
77
103
125
125
162
159
124
84
72
71
98
107
69
134
124
162
173
121
106
135
142
165
117
132
116
116
101
127
128
152
113
129
152
150
135
150
177
154
150
35
59
47
19
12
26
40
40
99
78
78
87
94
121
103
108
104
172
175
178
169
164
56
106
100
94
99
103
52
55
48
40
88
91
99
113
54
56
112
106
96
98
51
104
97
94
92
92
93
99
103
140
140
97
100
104
148
128
104
111
124
143
143
125
112
70
72
73
72
72
69
63
65
67
66
61
110
113
66
129
76
128
129
130
79
129
126
83
67
110
98
101
109
102
91
102
112
122
116
57
58
55
56
62
67
65
47
43
96
99
94
41
44
47
65
117
103
35
93
107
108
102
52
60
109
108
115
70
72
68
65
123
110
106
61
117
114
53
54
111
113
132
141
82
65
70
66
56
50
102
98
57
63
65
74
93
100
137
121
70
122
63
105
100
102
55
86
127
124
68
67
68
72
83
82
78
103
136
82
166
146
124
107
66
97
140
144
149
143
136
138
113
87
52
39
50
127
154
161
146
130
74
62
95
123
118
110
84
72
51
111
55
25
33
101
89
86
71
89
98
87
35
54
52
127
122
106
122
102
143
146
106
189
172
86
79
66
114
121
146
121
124
153
116
177
129
86
164
137
128
196
166
145
208
144
110
146
159
162
161
127
166
121
135
135
204
99
29
63
55
46
84
26
102
131
164
177
165
139
129
81
140
150
112
123
151
107
106
213
211
138
104
170
184
156
129
178
222
112
47
52
23
27
31
19
22
99
103
77
96
107
114
123
140
101
159
166
168
167
100
87
59
108
101
96
103
103
47
45
44
45
101
106
108
56
105
57
63
111
102
53
114
114
110
109
108
105
104
51
50
76
69
73
71
75
83
82
124
129
135
142
125
113
111
72
72
75
128
125
115
117
73
70
65
60
114
121
125
132
79
79
79
80
131
130
127
89
70
60
45
51
63
57
34
97
106
121
118
61
60
57
58
61
65
60
45
45
99
101
97
92
98
48
52
108
102
41
49
61
56
47
52
60
111
111
64
121
120
63
62
67
50
101
114
125
127
121
109
110
62
124
126
61
56
53
41
32
88
100
107
115
135
92
88
85
133
123
75
77
82
137
140
92
99
105
139
125
130
90
103
111
115
99
159
172
96
83
157
189
172
197
198
171
166
183
157
192
193
185
190
125
99
65
45
40
105
137
154
138
118
64
60
102
133
161
150
140
133
124
71
45
44
62
70
111
46
29
41
41
49
115
136
154
104
149
163
201
151
77
97
196
184
140
123
123
87
95
118
118
62
176
123
109
136
21
144
150
129
107
165
112
181
147
144
101
151
170
157
110
153
102
118
149
155
174
48
76
65
89
62
25
38
78
127
192
221
193
94
84
152
133
82
94
106
137
98
168
201
207
220
146
141
185
143
83
160
183
116
65
22
2
7
4
13
37
43
78
50
88
101
121
132
135
148
158
154
126
117
55
99
51
101
102
105
95
39
40
40
44
54
118
119
57
46
118
71
67
57
59
72
129
73
58
115
113
107
51
52
55
52
55
60
57
54
57
63
78
112
105
112
103
99
104
76
73
80
125
102
103
87
89
101
104
108
73
138
133
130
75
74
70
120
113
102
94
32
56
70
71
59
52
50
49
95
95
108
106
108
59
53
56
56
55
58
116
62
120
119
111
102
97
51
53
55
59
61
60
59
52
51
59
82
139
140
78
63
62
71
78
64
71
117
117
122
118
98
101
101
99
101
104
52
67
55
48
105
112
119
123
119
118
119
120
114
100
96
94
99
58
61
117
74
69
48
48
58
65
57
59
68
69
129
144
140
84
113
189
125
121
132
137
125
106
96
99
109
97
125
149
150
114
56
100
64
49
68
142
149
152
151
136
138
133
133
147
161
166
175
171
83
112
27
25
56
40
39
70
136
124
134
139
156
191
157
145
45
39
156
56
62
110
80
133
166
170
69
85
91
126
117
145
163
44
86
129
142
123
118
107
106
102
198
132
130
132
75
164
143
110
117
108
119
199
55
148
92
83
64
79
76
93
0
73
177
148
69
147
185
196
143
126
141
196
202
176
149
139
169
211
144
152
123
151
150
114
37
34
65
62
31
17
9
26
34
29
84
69
95
98
99
100
99
99
103
106
117
139
116
186
94
92
91
91
85
34
37
43
46
101
49
45
43
58
61
63
61
111
120
131
127
63
106
102
102
106
105
48
94
41
49
63
63
72
94
114
93
129
115
117
117
114
119
67
77
45
97
156
76
119
93
99
108
119
124
123
121
78
73
63
110
108
110
111
112
56
55
57
56
50
49
48
55
102
103
112
108
108
59
72
69
112
52
52
67
69
66
120
119
113
59
57
44
51
55
108
61
69
67
65
71
79
82
137
132
121
64
65
67
77
79
116
117
72
123
113
111
108
107
113
105
45
48
56
70
129
123
109
102
104
106
103
100
101
56
63
64
75
122
113
56
48
54
77
70
69
58
102
65
88
151
153
171
150
189
170
79
67
125
123
114
110
116
89
57
72
121
69
111
141
91
76
68
78
89
143
141
148
146
135
163
161
139
119
114
71
132
160
156
113
84
119
102
88
81
87
94
70
173
138
153
160
87
104
89
93
68
46
95
122
101
96
102
172
161
95
160
171
106
175
158
66
193
174
105
121
65
100
139
96
84
109
151
126
144
127
103
150
155
138
98
126
103
115
100
74
75
51
68
61
58
21
101
109
60
77
190
203
176
134
164
136
154
156
183
177
190
180
137
144
148
108
83
77
82
112
133
25
16
16
3
29
32
21
26
82
90
98
108
125
142
155
158
157
152
171
173
129
132
39
39
89
87
30
33
37
46
97
95
42
42
96
109
55
58
110
109
116
125
123
63
112
107
106
56
55
51
46
52
58
66
118
124
89
106
89
78
120
121
123
122
121
126
55
25
50
108
111
129
116
118
65
117
121
130
126
75
72
65
57
56
55
56
56
53
58
56
50
44
45
48
65
113
113
120
63
64
67
76
70
107
44
96
68
73
73
121
113
109
55
106
48
100
51
54
61
71
70
67
69
78
80
134
131
70
62
59
70
83
72
57
59
64
62
60
112
107
99
102
111
64
108
110
115
114
105
94
95
90
99
104
54
110
65
67
64
63
101
105
72
119
66
90
74
72
58
51
63
80
140
131
153
148
171
118
68
57
64
99
102
128
134
86
80
100
96
50
59
118
72
46
54
36
42
119
132
132
127
123
157
156
132
106
101
115
81
143
139
125
93
146
137
139
156
78
56
115
49
113
129
157
92
82
84
113
94
67
53
59
68
73
98
160
136
148
158
148
105
175
141
105
138
79
98
110
134
154
171
157
99
99
155
132
129
128
122
146
87
92
101
130
88
53
67
162
106
106
106
46
53
28
90
91
61
88
131
189
182
130
164
139
144
142
177
162
162
176
122
122
133
115
99
83
97
127
139
90
26
24
13
59
102
89
102
101
67
90
140
138
88
94
149
149
148
115
155
90
78
96
102
53
48
41
43
43
103
98
94
45
55
114
49
46
52
108
106
104
108
113
64
121
120
113
103
47
51
56
60
113
123
74
122
68
69
79
136
87
89
138
130
120
77
41
81
99
82
115
145
199
143
115
128
71
46
38
60
114
115
115
59
55
52
102
100
56
47
36
38
51
63
55
51
51
55
104
110
118
74
126
121
64
65
75
74
118
114
113
66
67
62
48
52
108
111
116
69
65
60
64
66
69
126
129
130
76
74
120
76
62
116
120
119
68
74
69
66
123
136
70
56
43
88
86
39
95
93
92
101
101
102
110
115
115
115
62
117
73
75
113
88
22
23
15
11
60
57
0
0
6
110
145
135
98
99
12
4
12
75
33
29
72
77
90
80
64
7
16
8
0
14
24
45
109
89
58
49
43
32
41
33
34
45
0
0
0
3
0
19
0
9
53
123
71
180
70
10
11
0
53
117
127
90
125
51
85
128
109
75
60
79
112
106
78
67
80
111
155
210
143
141
133
190
140
144
138
132
156
162
94
170
157
121
128
138
124
163
86
82
146
164
82
35
17
131
135
104
138
138
80
53
23
14
106
103
117
176
194
130
176
148
128
133
125
149
134
122
136
95
94
159
160
174
168
144
113
52
39
21
29
64
82
74
94
91
113
112
122
136
95
144
131
111
97
79
36
48
54
99
59
66
62
50
47
96
97
100
100
48
105
59
52
50
52
56
113
117
64
111
106
106
102
94
34
31
34
37
49
109
129
73
70
72
78
79
91
98
142
124
116
108
80
59
74
66
83
51
54
35
107
124
61
45
58
59
84
78
119
106
93
90
39
43
57
53
99
99
106
59
58
47
42
41
46
99
110
70
111
111
53
47
46
50
48
45
86
80
32
37
37
39
27
35
94
97
97
38
87
94
48
50
100
100
102
104
52
93
52
57
60
49
43
55
63
84
100
93
44
28
20
78
77
78
79
79
77
80
72
68
81
106
111
91
78
89
78
42
42
61
57
16
2
18
22
86
94
43
74
129
115
79
90
140
78
58
66
50
40
47
121
127
100
101
85
95
43
30
26
44
67
96
28
27
44
62
74
78
125
71
83
83
64
44
33
32
63
14
21
34
22
54
55
0
57
0
0
15
34
67
37
56
69
24
46
91
64
95
121
163
164
140
124
100
123
102
80
190
156
106
130
183
169
97
134
147
129
129
125
137
214
101
116
122
119
111
171
113
116
96
74
42
46
57
104
129
74
102
106
122
147
63
50
50
60
107
202
201
164
156
76
78
79
113
131
122
142
141
77
156
163
76
87
106
128
143
66
47
46
80
87
47
63
131
112
101
105
108
111
111
109
106
107
110
55
57
59
57
98
57
120
70
55
46
39
101
100
99
48
102
104
54
55
59
112
114
120
74
71
64
58
110
51
46
44
42
89
108
95
107
55
60
72
71
125
91
92
129
62
55
104
61
59
130
64
60
26
18
56
103
45
58
76
66
40
67
69
65
109
108
61
55
46
44
34
91
47
102
46
40
45
43
38
38
45
97
90
88
87
42
39
23
38
39
41
87
80
79
35
45
39
83
82
78
25
80
88
94
43
50
97
82
81
91
91
82
87
43
42
33
35
52
68
99
99
93
80
58
54
51
50
107
97
85
86
94
99
101
107
112
97
86
53
121
123
121
102
80
73
74
26
31
62
68
118
121
161
129
154
99
72
82
88
90
80
75
55
105
70
86
75
114
129
118
114
55
60
80
136
10
19
20
21
28
51
72
127
115
74
67
61
62
55
43
96
15
33
30
41
37
76
79
27
70
19
16
54
73
55
24
41
34
30
54
63
70
63
158
146
120
112
143
104
95
113
97
197
159
92
123
82
116
138
160
134
125
126
102
137
173
136
185
112
109
137
125
130
165
126
135
51
28
47
99
176
131
102
116
126
138
139
53
55
88
97
155
154
133
126
138
156
117
172
130
57
102
52
70
89
102
55
82
125
124
46
47
88
37
70
46
74
40
34
99
84
95
112
132
87
138
85
89
146
132
78
86
84
95
105
61
57
43
43
44
40
95
48
51
103
100
92
47
106
115
122
130
137
87
86
78
127
123
122
124
122
118
65
107
105
49
53
111
112
111
62
62
68
71
70
75
105
127
59
60
54
49
112
52
58
62
115
98
22
3
57
115
117
111
110
111
56
105
54
48
44
41
37
84
78
44
51
56
48
46
100
100
97
96
52
61
65
73
118
117
112
103
98
46
49
93
85
96
56
69
79
137
131
71
86
126
119
118
118
117
115
75
74
82
90
95
95
92
71
80
88
88
82
81
78
86
143
137
125
125
126
121
115
60
67
76
81
86
134
118
132
133
125
70
73
81
90
144
101
167
179
160
133
128
140
93
91
98
91
78
127
109
111
65
71
77
135
123
111
119
79
85
80
118
48
92
74
57
2
12
30
99
113
93
97
89
83
72
66
69
68
64
47
70
80
72
71
106
104
111
111
56
58
47
34
22
22
95
61
66
52
42
74
40
39
74
147
108
111
77
109
165
133
163
127
128
119
115
116
108
96
93
101
109
128
125
87
110
120
93
94
156
103
106
73
98
33
42
64
59
80
68
81
96
102
33
43
18
54
95
44
88
184
200
206
205
140
171
134
87
76
109
42
48
45
102
61
32
72
31
97
104
109
101
103
92
99
73
29
103
80
93
105
155
149
150
155
161
144
101
117
117
100
91
31
32
106
50
39
38
44
51
56
108
55
53
116
113
115
126
137
139
131
122
119
117
116
116
116
117
65
58
57
103
108
117
129
137
133
74
122
115
40
45
67
41
46
140
127
124
95
125
63
45
39
92
91
40
88
99
101
101
97
94
97
103
105
50
95
36
31
80
81
83
92
90
37
38
91
94
96
99
104
104
53
105
100
47
40
44
46
51
110
122
130
139
92
86
125
63
72
146
163
67
65
75
79
73
122
125
74
81
95
144
81
68
58
72
83
89
133
70
77
82
64
126
128
129
131
124
57
104
112
71
74
64
103
100
135
137
129
67
126
141
99
106
139
110
119
154
159
166
94
81
124
122
82
130
123
118
43
46
118
86
129
132
157
149
73
59
118
72
65
75
125
118
111
45
16
41
32
39
0
63
18
28
47
66
77
59
66
96
106
99
82
69
124
147
149
77
93
78
40
63
43
56
141
102
97
76
68
82
85
79
68
126
147
88
64
63
77
99
105
85
76
84
99
127
116
102
124
129
101
79
87
68
92
107
106
139
164
181
174
113
123
96
119
116
72
99
104
126
162
102
97
90
102
109
137
126
135
163
152
121
114
66
64
71
133
133
76
27
8
30
76
65
36
111
148
87
162
176
187
169
126
128
128
92
71
79
91
96
89
133
132
132
129
99
44
49
99
96
95
39
35
92
93
39
38
45
54
60
60
111
111
121
116
117
127
136
133
121
112
107
109
112
112
60
115
119
99
63
115
113
120
130
145
115
66
69
122
67
83
110
29
34
62
98
119
108
134
52
44
103
105
96
101
114
92
92
42
95
46
105
112
115
58
52
48
43
40
91
90
99
95
41
48
50
55
110
109
116
115
114
117
106
56
44
49
54
111
117
128
138
140
85
130
124
76
84
91
143
111
72
88
92
82
73
69
81
85
85
130
74
75
78
84
133
129
126
130
127
70
66
125
127
128
128
69
57
53
114
63
57
52
99
107
128
131
69
115
124
136
89
94
74
113
116
177
172
157
154
138
130
129
127
125
120
108
42
106
121
128
132
150
148
125
114
60
122
120
62
85
137
133
123
106
80
59
50
0
37
42
46
54
73
40
45
39
51
83
133
118
47
37
73
72
69
65
60
48
38
53
45
52
129
142
135
131
138
73
75
73
113
127
101
81
121
90
109
83
87
106
107
136
125
94
129
110
129
81
52
86
86
118
122
75
116
159
166
218
157
108
58
78
68
84
53
99
61
81
117
104
85
104
133
77
32
115
117
115
111
121
144
90
71
149
142
113
41
27
29
42
74
120
65
92
166
154
177
188
172
169
142
150
95
98
56
81
82
72
56
51
111
116
115
103
102
107
101
92
83
75
76
94
87
23
82
94
57
65
63
108
98
107
112
122
129
126
116
111
113
66
123
123
115
54
56
64
54
53
68
163
175
148
122
133
86
84
129
119
117
124
54
51
45
55
68
54
130
58
48
113
119
111
123
139
33
34
37
49
57
112
111
56
65
118
116
57
98
83
73
84
90
101
107
104
113
124
115
120
63
68
83
54
44
62
68
71
70
120
125
80
120
124
126
125
73
77
76
125
132
86
86
84
86
88
140
126
75
70
66
70
80
89
129
132
129
116
118
138
102
103
96
83
72
67
58
59
83
91
34
36
60
69
113
123
123
57
40
96
117
140
105
111
79
110
109
157
155
142
150
96
149
124
126
123
100
95
88
108
135
139
139
152
140
127
119
115
109
100
104
94
47
53
64
138
151
141
67
103
91
36
85
93
43
28
15
7
10
55
2
61
64
0
25
37
24
13
3
0
29
96
88
85
98
98
138
151
111
68
74
104
108
56
60
114
124
151
131
87
143
159
131
127
158
192
196
198
166
193
111
114
151
135
131
158
161
115
171
112
173
74
49
89
118
77
51
42
46
131
110
37
35
16
40
55
86
145
186
213
173
160
103
65
122
140
66
53
35
83
86
52
120
139
141
123
153
170
169
181
174
128
115
106
109
39
57
65
68
121
79
90
83
119
91
116
148
162
34
38
44
48
45
39
35
87
98
109
60
60
57
43
46
102
109
112
107
102
107
116
111
112
113
116
68
66
62
74
60
65
144
143
137
147
139
135
135
144
140
88
157
98
29
33
113
76
26
17
58
96
135
129
91
123
133
59
58
56
59
62
117
113
110
116
112
111
112
114
60
52
56
110
109
109
114
119
119
107
104
52
60
124
87
90
93
86
80
79
81
132
82
80
78
128
75
71
117
111
107
121
80
78
71
75
79
126
118
123
107
59
62
55
48
77
137
134
123
148
148
139
59
51
53
61
55
49
48
116
114
113
61
63
65
68
117
99
41
59
81
140
138
135
72
76
92
101
97
145
146
95
88
128
114
132
140
78
116
59
108
64
126
124
114
80
71
64
70
90
111
136
74
74
80
141
95
143
139
137
57
55
58
107
112
64
59
39
42
51
116
121
114
108
33
43
46
31
59
40
88
95
107
103
58
81
130
164
150
123
120
119
95
49
128
90
60
83
74
44
47
51
61
87
110
151
200
203
192
137
132
179
177
159
130
123
130
119
126
181
101
209
131
71
80
85
42
83
28
28
102
120
172
111
33
85
114
93
108
110
41
31
99
56
51
109
90
47
28
29
96
116
35
14
96
92
79
121
80
88
116
144
118
147
114
108
90
77
73
87
77
24
23
54
65
110
143
191
178
38
45
52
53
46
44
45
97
103
110
62
64
62
46
100
104
109
110
106
103
109
65
54
112
120
129
132
124
61
41
51
55
96
162
141
129
74
75
79
138
138
84
90
56
51
42
56
79
33
85
86
83
121
67
43
125
125
62
67
70
73
71
69
65
117
121
111
113
70
78
73
64
65
115
113
119
123
120
113
112
110
57
116
124
136
88
94
88
83
84
86
87
88
83
83
84
136
126
114
113
68
80
87
79
67
71
82
85
139
131
111
63
59
51
48
120
66
81
91
94
134
106
95
87
89
43
42
40
101
108
103
101
53
62
67
65
62
62
117
137
154
144
130
140
83
86
94
98
90
136
84
84
80
72
68
81
87
130
110
95
94
111
114
78
23
69
88
115
136
143
139
121
115
112
63
73
73
112
105
56
49
63
122
116
125
143
93
65
71
121
122
165
88
53
84
87
87
42
129
98
50
78
125
119
132
99
91
88
71
115
123
129
121
71
139
115
107
139
88
52
41
45
53
56
37
66
123
149
185
186
124
124
112
147
122
106
105
105
136
176
80
142
84
39
56
51
17
63
23
36
87
97
139
152
116
86
104
104
111
70
119
112
47
34
84
37
29
48
34
38
108
112
73
70
94
84
26
89
112
139
158
190
100
109
123
105
154
153
139
107
104
54
108
138
111
124
132
114
102
124
123
66
56
46
105
60
60
106
102
53
58
60
56
59
61
113
109
103
103
108
59
69
75
78
77
126
64
55
49
52
51
95
172
148
117
59
57
50
106
133
128
69
98
84
75
104
134
36
89
119
161
59
25
90
47
20
49
54
61
63
61
64
71
128
131
127
70
68
70
66
62
70
72
71
113
110
105
99
106
107
56
113
117
130
137
85
80
78
82
87
89
92
87
83
84
90
144
144
153
165
135
72
65
64
72
76
70
119
109
111
70
66
61
67
134
107
119
121
86
71
140
65
56
109
118
72
126
110
117
114
111
111
61
61
59
73
114
154
108
102
115
123
83
133
92
153
157
105
103
105
111
91
73
64
77
80
70
101
95
85
77
76
61
78
76
127
124
116
115
120
125
110
101
40
30
17
15
39
68
90
152
149
145
160
126
123
103
155
177
161
168
122
102
104
63
128
80
89
106
130
107
89
108
84
116
42
93
81
167
163
149
151
121
100
134
133
145
147
66
54
85
109
151
134
120
77
86
109
112
75
56
75
139
133
121
131
125
106
62
48
99
116
99
78
18
21
73
74
97
134
62
129
160
148
145
143
62
77
118
186
173
81
73
132
74
46
38
2
0
68
90
58
78
109
110
76
87
122
152
159
166
123
85
112
133
162
163
150
141
89
89
134
135
106
126
114
151
92
52
42
82
25
36
93
95
57
53
54
61
117
64
64
59
64
115
109
106
107
110
108
109
113
64
67
65
54
42
35
19
135
141
176
167
150
119
65
60
66
119
118
127
86
90
57
89
112
78
63
121
111
48
85
144
124
103
125
69
66
66
71
76
78
128
128
136
131
127
71
68
66
121
122
66
111
116
125
128
128
130
78
128
124
76
136
88
82
78
80
81
79
76
133
92
98
147
146
96
93
138
129
139
140
129
126
132
136
130
134
124
122
67
72
82
177
117
97
141
141
79
79
76
69
64
112
108
110
106
107
100
90
83
28
84
94
118
107
106
116
121
117
69
79
132
80
81
85
138
132
127
79
134
89
69
52
36
72
68
81
101
119
81
72
106
126
69
59
101
100
108
100
99
51
51
47
53
70
87
94
134
152
111
171
188
132
156
157
114
89
130
132
78
73
70
71
89
56
85
157
122
118
106
123
117
80
42
90
57
73
168
172
131
123
142
112
113
117
150
146
62
58
42
84
85
106
112
102
102
92
111
108
46
73
113
153
130
116
171
84
85
61
85
148
95
23
119
113
131
78
142
51
65
107
86
130
174
153
102
175
178
105
92
91
64
21
5
14
4
0
44
26
38
66
110
64
112
144
99
126
169
161
124
66
80
127
161
147
141
153
146
97
103
141
103
133
100
98
106
99
36
25
26
47
102
100
104
52
57
67
123
66
63
65
69
67
59
105
105
105
101
115
116
69
128
74
58
40
25
91
206
128
103
82
85
115
115
66
69
51
106
123
101
99
98
42
50
82
74
128
130
99
141
188
95
48
118
112
53
55
60
63
59
54
122
129
125
121
66
60
54
66
70
72
74
76
76
72
71
75
77
77
127
136
94
136
131
128
78
81
80
130
139
101
103
142
84
90
92
138
120
122
124
121
125
135
139
130
139
126
120
71
81
95
141
156
80
133
160
150
72
68
61
54
94
83
87
101
98
43
42
95
99
106
110
111
102
112
121
108
49
57
62
117
118
125
134
139
85
78
86
85
82
33
70
18
73
104
112
121
127
124
66
70
117
62
52
95
51
72
139
88
81
61
41
42
59
67
64
144
166
124
126
129
109
122
130
91
72
73
74
116
113
127
80
82
42
74
150
140
65
57
64
93
62
48
60
37
134
172
173
143
115
112
106
118
127
161
151
111
113
104
81
90
114
52
84
61
119
134
127
48
95
95
130
118
93
114
70
107
158
74
91
120
112
144
128
120
102
130
67
75
78
70
161
166
121
135
152
149
143
127
52
42
48
8
73
0
0
10
44
50
68
108
31
71
106
63
135
138
132
122
86
100
192
170
162
151
105
138
89
107
154
174
125
88
98
167
31
30
33
41
112
115
114
58
114
110
51
108
123
72
67
63
112
110
57
107
106
104
114
67
68
111
104
107
64
113
125
69
84
83
47
91
98
75
62
64
134
129
53
90
88
91
112
81
113
107
158
93
108
69
56
33
54
47
94
90
44
55
107
97
41
106
104
101
48
46
53
113
69
68
68
115
57
60
118
122
119
121
67
111
123
67
119
131
140
93
98
96
95
144
134
123
70
74
76
71
64
113
114
115
62
62
114
114
103
115
165
166
96
86
90
68
118
101
99
146
98
106
96
80
68
64
111
110
108
57
57
55
54
106
107
112
112
113
107
98
44
59
130
143
136
119
114
122
137
94
96
80
99
72
48
64
70
70
118
110
107
113
66
77
84
91
133
125
79
88
144
124
88
74
74
91
93
77
58
103
94
110
166
117
167
148
126
143
174
97
86
88
73
103
112
71
65
46
57
131
143
108
68
59
54
102
102
61
128
140
146
160
141
126
137
125
80
98
149
163
154
109
105
130
113
57
60
77
74
49
139
160
161
102
118
46
120
65
95
90
135
111
120
174
119
131
120
109
144
199
135
73
118
210
189
121
167
134
134
147
160
159
141
53
29
77
32
105
73
27
12
60
62
44
60
69
54
111
106
109
146
155
118
80
151
180
150
151
128
118
91
106
113
144
145
126
176
163
132
20
19
26
43
123
116
106
42
105
111
113
69
128
47
51
53
53
101
94
89
39
41
113
117
115
111
112
70
80
120
66
61
56
62
132
102
79
133
133
73
107
107
55
136
107
91
117
151
113
94
106
67
44
48
0
32
47
37
37
95
45
38
38
100
59
48
98
99
100
99
97
100
40
42
48
68
126
129
129
116
116
116
115
112
130
88
139
134
135
135
80
77
126
117
112
107
54
57
59
60
59
115
121
127
79
131
127
124
118
114
157
134
70
79
77
81
134
136
148
126
62
135
88
89
96
94
82
71
59
80
74
66
55
98
96
100
131
134
128
113
49
49
111
118
116
115
118
70
65
45
73
66
86
119
149
81
72
73
117
112
111
117
65
63
65
125
122
72
77
81
135
147
94
71
69
75
51
29
43
118
93
112
117
111
97
124
102
114
97
69
38
56
107
106
106
99
58
66
65
119
105
132
71
70
41
38
51
102
99
60
112
116
129
132
79
70
109
113
102
173
165
131
80
76
86
80
106
114
96
86
78
124
151
124
114
72
68
47
82
52
67
66
154
120
129
148
167
114
141
195
78
90
134
142
104
116
170
105
148
111
112
118
114
60
121
132
84
31
105
55
41
99
75
17
85
29
30
106
136
133
99
64
81
114
120
146
78
66
120
114
99
156
134
122
137
165
164
159
141
21
20
79
95
117
109
98
98
101
111
122
123
61
50
58
60
58
103
94
90
43
47
114
63
115
117
71
78
133
135
87
73
63
61
84
103
96
130
114
61
70
109
97
103
83
40
135
155
77
66
55
52
5
0
57
40
80
46
44
56
117
55
49
51
105
108
48
50
103
100
98
97
36
40
48
69
126
126
122
117
116
113
114
117
125
134
76
116
115
118
62
62
63
54
55
56
57
57
57
57
57
114
67
73
129
128
123
119
121
67
126
53
63
78
63
58
49
124
101
68
65
119
72
76
136
135
72
70
80
90
84
73
59
51
102
108
135
138
78
112
99
46
107
116
77
128
74
54
77
66
19
105
134
154
125
69
130
83
76
125
71
71
66
66
75
83
89
137
126
125
138
146
65
54
59
62
45
36
42
95
52
110
60
60
55
41
78
76
12
20
60
82
80
73
56
42
101
113
41
101
111
90
82
83
105
54
58
88
105
107
124
128
126
130
128
86
149
109
117
110
143
131
125
108
130
128
104
106
89
91
78
69
88
141
126
123
56
52
86
98
80
96
107
97
156
149
163
114
143
192
72
113
146
174
181
173
117
122
119
124
134
145
137
66
52
97
84
20
61
39
24
91
79
12
74
22
82
114
141
124
134
81
142
171
166
140
94
124
164
106
108
152
112
118
152
110
135
95
72
37
39
41
94
91
89
87
92
93
95
97
93
36
46
52
53
52
101
98
45
49
52
115
120
121
71
77
131
130
124
84
85
77
114
76
125
68
85
142
83
106
110
132
102
98
47
104
104
76
33
54
49
12
55
96
134
152
80
58
108
118
58
63
129
132
133
67
66
122
121
65
62
55
57
57
57
113
114
110
115
119
114
114
65
115
133
136
113
110
117
60
64
66
114
65
67
62
53
47
48
102
106
53
56
61
62
112
109
63
77
71
66
67
63
55
66
73
89
85
53
55
96
97
87
84
89
52
80
94
92
89
83
74
119
115
64
118
74
76
118
110
65
131
142
93
58
93
25
31
65
103
162
158
145
117
62
104
41
57
53
104
52
50
54
66
70
63
99
82
76
80
77
81
7
14
32
41
112
116
91
135
165
185
135
169
88
66
79
106
159
106
102
75
49
49
81
142
134
57
56
87
80
82
44
81
49
110
71
98
90
45
92
95
85
14
87
77
88
114
82
108
126
107
126
111
125
90
77
60
62
103
121
156
175
149
86
76
57
152
105
98
87
20
104
194
67
121
151
133
128
54
118
123
90
93
116
124
135
123
157
173
178
93
112
103
98
57
58
30
54
103
44
41
104
56
26
40
103
109
71
76
68
92
173
178
187
168
153
162
157
182
159
120
96
98
96
80
112
103
63
60
52
40
31
81
76
86
83
88
98
104
100
93
97
42
43
49
101
41
37
36
110
117
122
73
127
128
129
127
126
74
125
72
67
116
120
118
114
110
90
115
159
147
140
134
78
48
117
17
68
122
137
115
116
97
61
53
136
164
163
94
84
80
131
129
73
134
139
139
83
80
73
60
41
41
25
52
46
100
115
117
126
86
117
148
106
70
106
109
62
80
75
113
113
60
58
56
58
61
116
116
118
71
76
128
122
117
124
114
61
64
58
60
66
66
142
82
47
53
55
98
88
77
78
95
61
69
70
73
61
52
55
59
64
72
110
82
99
150
139
81
76
70
18
99
75
104
106
90
79
129
119
110
87
74
20
30
43
52
63
68
54
41
55
102
91
92
99
88
77
96
116
141
153
97
146
145
140
140
157
166
167
168
153
80
75
65
85
123
66
76
72
55
40
150
125
119
62
62
92
90
85
44
85
89
64
33
68
91
49
91
51
7
20
101
77
93
98
136
80
74
124
119
133
118
147
95
69
96
111
109
110
101
9
64
52
121
149
68
82
103
77
126
105
21
50
136
117
129
142
150
76
171
131
97
109
123
103
154
129
163
151
127
145
155
135
76
72
127
130
71
86
17
98
96
85
85
31
60
66
106
143
194
120
165
165
162
168
118
124
102
85
100
97
76
56
114
116
47
103
51
42
79
77
75
86
91
49
107
106
95
91
90
88
39
45
46
41
38
37
109
116
121
124
127
128
129
124
72
122
69
66
116
113
62
114
110
110
99
111
139
144
107
70
41
79
108
59
73
88
127
145
72
7
23
121
136
151
160
160
102
89
129
124
83
141
140
135
80
80
72
77
62
58
74
55
45
55
56
109
81
97
112
88
107
125
112
118
68
77
67
61
58
55
58
64
71
124
123
114
113
65
120
123
119
115
114
102
47
53
51
104
57
126
125
60
47
51
55
63
98
89
89
54
122
78
84
75
71
69
75
127
68
61
112
80
96
89
69
51
34
21
27
81
94
90
73
58
56
48
52
58
107
103
52
58
62
75
79
125
117
71
75
137
110
90
89
85
88
121
134
142
136
71
122
77
83
139
147
160
165
159
83
58
52
89
69
126
149
95
65
90
98
140
65
57
111
72
100
96
126
84
35
29
39
75
101
82
50
49
49
50
70
86
86
93
136
134
135
66
68
57
111
113
131
92
84
99
134
109
38
74
5
0
57
120
113
96
109
34
82
210
138
81
70
89
100
148
140
156
115
162
122
79
113
145
110
130
174
141
165
165
170
168
111
133
144
137
127
117
84
25
101
98
45
52
42
65
79
112
141
195
181
114
169
173
173
120
123
102
90
106
103
61
87
93
52
100
117
127
64
29
29
87
96
107
118
114
96
82
79
73
76
82
91
46
48
50
49
61
67
124
125
127
127
128
121
64
57
56
55
55
54
53
112
112
113
118
111
106
78
84
78
73
104
85
100
26
44
88
81
63
63
58
134
125
121
124
126
78
97
168
151
74
126
136
140
83
79
77
69
54
181
124
71
143
115
53
55
78
94
116
66
147
119
112
74
128
123
65
66
61
108
111
119
127
126
123
114
112
61
62
116
115
113
112
104
102
50
49
101
104
101
132
89
73
69
72
68
57
106
104
108
109
58
69
62
58
107
55
56
52
46
29
37
36
29
26
36
53
63
46
67
75
85
86
81
80
88
101
104
78
126
72
68
52
56
48
89
85
30
68
75
24
80
76
59
59
101
137
116
94
82
80
32
29
71
82
46
65
64
51
46
55
54
74
140
146
95
69
36
83
50
60
116
118
124
120
66
131
61
49
26
44
49
44
75
68
59
65
61
63
60
121
78
125
89
151
137
144
133
58
78
87
96
89
139
119
40
118
48
119
124
120
113
64
27
44
111
142
200
100
26
25
91
99
107
82
140
90
106
154
161
189
190
133
101
96
93
182
160
164
190
127
114
115
139
125
115
33
61
118
75
65
72
83
60
81
127
147
143
141
125
166
180
183
126
121
95
83
104
105
108
53
93
148
94
102
105
97
36
41
98
104
108
106
95
84
77
76
79
85
92
98
53
58
59
55
61
67
71
124
126
126
126
116
61
54
57
59
59
60
64
73
127
123
70
67
122
111
43
100
89
90
118
108
137
122
89
64
69
64
67
124
122
123
129
79
74
72
124
94
154
150
135
120
61
63
55
59
41
153
133
85
65
40
50
112
64
70
102
125
160
144
75
121
119
117
123
68
71
121
113
102
98
100
104
108
109
108
107
106
103
102
105
108
112
109
105
105
106
134
113
43
50
70
67
73
69
121
117
110
102
99
104
109
116
120
113
48
36
28
49
67
85
95
89
73
61
53
103
95
92
55
75
85
90
90
94
142
110
93
29
20
3
1
10
24
79
30
43
105
100
98
102
60
137
164
154
128
70
83
93
156
106
93
129
66
58
50
50
48
40
55
58
75
70
45
28
25
62
63
134
127
127
110
94
74
75
17
88
38
67
54
88
52
43
81
78
43
66
85
57
128
142
132
132
126
71
113
109
65
110
155
113
129
79
73
116
138
75
79
54
100
45
10
3
21
110
97
96
106
131
138
160
139
93
139
115
152
169
158
188
200
176
165
115
96
114
118
126
155
145
145
95
89
82
14
45
70
105
64
125
135
130
52
77
118
144
139
132
134
92
122
136
139
130
96
81
106
157
103
79
78
92
99
100
46
43
99
101
100
102
108
107
44
33
29
30
39
44
48
50
54
57
55
49
53
60
66
122
125
74
76
64
113
110
112
65
65
66
123
127
127
127
71
72
80
112
49
58
97
34
55
118
149
135
134
100
53
83
121
129
129
124
123
73
131
132
130
137
150
153
145
131
122
66
113
61
102
140
144
130
60
54
53
62
122
130
107
75
155
147
127
111
108
112
119
65
69
120
112
101
98
101
106
112
110
108
106
105
105
105
108
107
108
116
123
124
123
120
102
42
58
64
49
48
62
113
108
98
89
83
78
80
90
98
93
36
42
53
73
81
91
96
91
81
77
128
100
111
54
62
74
79
83
77
118
104
71
58
0
0
18
37
58
66
110
105
60
62
106
101
103
117
144
158
145
117
65
83
145
153
106
95
121
116
114
117
75
68
44
17
41
77
58
37
42
65
109
109
70
60
131
111
103
100
68
47
81
42
121
108
33
104
129
130
97
56
101
54
100
123
134
91
96
83
134
126
62
54
93
140
96
106
123
92
153
55
56
49
142
173
40
45
42
42
73
67
125
110
100
141
178
114
92
117
78
126
165
160
185
193
156
173
161
86
122
128
173
145
174
181
79
61
72
62
91
123
118
112
71
122
107
78
100
105
128
142
134
133
84
118
130
129
176
96
87
109
108
45
72
82
101
69
83
40
42
41
35
86
104
103
99
39
32
34
53
42
101
58
61
58
49
41
35
45
53
62
120
73
74
74
65
63
71
123
119
66
70
125
125
80
77
67
69
111
118
115
62
116
62
59
63
118
121
125
131
80
79
128
127
132
136
135
78
75
127
128
123
128
116
79
137
136
104
145
120
112
116
131
141
77
126
140
144
139
148
150
130
141
141
105
40
54
60
93
48
58
113
111
57
105
103
108
125
123
60
109
103
101
112
113
116
141
150
138
128
80
119
99
38
45
24
19
28
84
102
107
107
113
112
120
136
152
149
132
124
120
62
56
56
57
110
108
103
99
95
43
65
9
13
33
51
45
87
66
75
56
117
74
68
68
76
82
82
81
118
124
120
64
67
73
136
102
155
77
48
90
111
70
112
113
131
149
143
135
81
84
71
49
63
104
137
71
63
110
92
21
81
88
60
127
114
121
121
90
52
131
109
70
80
132
115
122
75
59
64
76
98
111
129
97
110
98
77
119
124
109
80
58
47
88
131
115
146
72
93
99
96
95
115
85
102
66
80
135
107
64
162
126
155
116
142
108
87
38
67
145
177
153
69
68
106
111
179
135
170
169
142
147
137
114
88
53
57
119
57
69
165
102
159
160
174
139
66
106
148
141
172
84
109
100
134
132
152
154
165
168
140
136
133
109
96
112
120
63
41
34
88
91
36
32
78
73
24
39
52
102
99
47
47
45
42
38
93
49
58
116
69
122
121
65
62
117
118
117
67
70
121
126
68
61
68
113
114
125
75
79
134
81
74
76
77
79
133
136
84
82
79
79
131
131
130
129
77
77
130
130
118
121
118
167
139
89
102
158
151
109
126
85
70
86
136
131
127
129
144
152
151
153
130
77
85
127
62
62
110
103
56
71
76
65
110
111
53
53
117
122
120
118
120
116
88
88
91
93
96
49
59
64
60
123
72
64
112
52
45
52
65
118
132
142
149
140
126
69
64
47
42
48
56
59
111
106
103
51
51
60
75
86
97
96
82
130
135
122
110
116
55
44
60
75
91
104
102
59
101
106
53
61
82
105
116
142
70
60
111
117
73
132
145
159
158
145
88
101
100
83
130
132
154
125
64
76
133
70
74
124
147
150
70
135
123
118
137
131
56
100
108
120
116
119
125
134
96
94
119
117
121
73
82
87
78
114
107
81
90
89
70
128
92
112
132
117
119
70
84
128
93
125
34
95
97
123
135
134
65
103
142
167
106
107
119
133
106
126
156
136
172
97
86
127
127
119
173
181
194
149
167
137
104
83
64
63
53
80
120
110
141
154
172
187
134
83
123
145
189
176
141
139
130
115
131
106
146
141
141
88
83
102
73
50
121
130
69
37
28
79
30
29
24
20
18
73
38
49
97
93
95
47
100
99
43
95
104
60
118
122
122
122
67
67
67
67
70
124
125
63
79
76
69
58
104
63
73
76
133
136
135
75
75
86
86
139
138
84
80
76
76
127
125
125
74
76
127
75
78
113
129
175
208
135
98
122
108
106
91
78
71
66
81
129
129
132
129
145
163
142
97
135
91
150
135
74
58
117
65
62
60
58
56
113
113
60
63
123
124
116
106
86
98
90
103
119
124
71
78
85
84
125
117
116
58
63
54
53
67
73
115
120
130
144
142
74
62
54
52
58
115
120
68
67
115
114
65
73
72
79
140
144
88
129
119
139
134
126
63
98
99
66
77
88
97
94
52
45
55
62
76
96
110
104
56
55
68
80
141
145
148
151
152
154
137
132
150
94
79
85
143
106
66
118
124
116
111
126
143
155
91
85
134
100
105
127
115
95
116
92
91
122
67
116
124
87
77
103
84
120
140
82
77
130
126
72
83
72
90
104
168
97
92
106
100
123
112
96
122
93
62
59
105
130
134
145
158
46
53
88
78
110
158
104
156
95
147
171
158
191
138
152
114
111
114
128
189
188
179
103
80
114
89
70
131
142
151
94
70
149
138
167
190
151
101
176
179
173
170
142
140
135
168
177
165
165
152
139
150
73
76
49
113
78
83
69
33
74
76
74
22
19
20
24
82
46
52
49
98
97
97
94
90
86
52
58
65
121
123
122
68
68
72
73
75
79
81
81
76
63
59
62
65
65
62
66
124
126
124
125
124
71
68
71
76
79
132
129
74
67
69
121
122
71
124
126
73
68
107
121
84
75
67
73
85
83
74
80
92
90
80
75
69
72
82
83
133
143
89
91
116
60
69
125
148
158
152
132
59
49
46
50
112
112
110
105
101
112
124
124
147
145
104
106
117
124
127
62
57
54
59
127
143
156
92
89
93
91
65
43
48
117
118
59
61
74
87
87
89
136
130
73
71
124
125
74
81
74
72
133
135
124
116
117
129
139
71
52
114
146
120
121
116
57
106
99
107
63
78
83
86
86
67
51
76
93
102
96
141
144
148
149
120
115
124
81
83
85
143
148
67
67
132
125
116
67
54
60
115
125
41
91
127
112
121
119
114
111
57
72
50
64
97
123
105
64
105
121
68
35
60
93
135
106
101
55
66
73
77
93
39
89
135
104
191
162
144
115
113
45
45
114
206
168
159
127
107
73
141
119
130
144
128
135
75
103
118
165
78
68
145
107
171
187
183
176
185
193
117
98
56
44
50
101
82
105
44
69
98
130
168
169
125
130
134
124
184
177
137
138
140
159
154
161
183
167
137
78
53
36
34
116
70
62
43
72
72
79
28
27
24
24
26
85
97
100
47
95
89
84
82
86
87
102
107
111
61
62
111
109
111
65
69
72
78
79
73
64
70
118
133
64
119
101
97
101
102
100
102
120
123
59
63
68
71
119
112
52
42
99
105
106
105
52
107
108
114
107
48
58
62
56
57
89
80
71
55
39
56
93
110
96
81
75
127
118
116
83
95
122
110
64
67
115
132
149
157
151
82
58
39
86
87
104
120
68
69
112
93
113
119
125
133
133
129
131
81
92
85
64
152
160
95
87
81
83
72
52
56
77
92
96
143
84
84
81
72
75
70
116
68
74
130
128
72
92
63
101
111
116
113
116
119
125
134
94
107
82
133
143
148
143
128
109
84
93
47
63
63
64
65
36
12
82
97
110
108
97
86
76
123
34
57
93
94
105
174
166
145
75
154
130
62
60
51
57
48
102
95
102
120
103
87
79
88
92
93
68
88
73
77
99
95
119
65
65
54
89
104
92
133
122
46
24
4
64
52
61
103
50
94
118
97
75
147
132
122
102
49
110
107
114
104
145
130
123
84
129
115
130
91
30
85
177
110
82
78
48
94
91
104
115
165
163
178
134
169
134
82
35
15
27
94
42
46
52
126
65
121
150
135
132
139
137
126
187
180
177
173
152
159
162
106
160
163
181
92
77
99
45
109
103
42
35
77
74
74
69
70
75
28
86
37
97
44
42
42
42
37
82
86
40
44
53
108
48
96
98
46
68
71
68
67
45
75
71
53
82
72
41
121
124
69
115
127
97
96
100
108
97
52
37
45
62
58
57
105
97
105
97
90
44
49
105
116
127
118
72
73
70
65
64
67
76
74
73
66
61
71
105
114
105
80
120
116
46
134
152
111
115
120
119
117
114
115
124
149
106
74
45
48
56
101
88
93
48
54
116
127
129
126
123
121
116
110
78
70
69
87
105
104
105
104
108
97
84
84
85
112
136
121
102
92
83
77
75
71
72
74
73
121
119
124
82
138
52
107
127
133
121
112
118
134
65
85
100
113
127
118
118
111
97
84
84
88
87
59
67
56
42
33
99
64
88
98
90
91
97
93
136
106
76
97
95
143
143
136
143
134
158
81
61
55
47
96
108
59
60
125
117
100
90
39
98
117
131
91
74
126
134
74
155
146
42
46
136
92
83
63
100
100
97
47
51
78
14
87
171
95
66
53
89
32
99
91
131
71
26
86
121
78
127
163
165
182
116
49
51
40
38
36
102
132
148
124
96
65
75
83
102
99
172
180
188
143
139
163
187
40
54
74
73
34
51
42
61
118
137
98
167
200
185
145
138
143
123
189
193
174
187
180
153
178
190
142
84
90
56
57
42
43
42
42
85
80
78
77
76
78
83
88
37
83
27
28
31
34
85
82
34
38
44
48
52
55
55
57
59
74
80
76
71
58
126
160
115
69
95
100
59
123
83
80
133
70
60
140
118
54
46
49
134
88
42
83
103
101
97
91
42
51
48
46
56
49
109
111
58
54
59
64
62
53
45
57
50
45
53
49
63
88
106
153
115
59
117
156
122
103
37
44
86
94
90
100
104
106
82
93
65
62
47
39
48
110
65
123
122
126
119
111
107
103
100
46
45
56
74
99
104
109
115
104
84
76
85
94
108
98
97
96
145
137
128
126
67
57
98
96
101
106
116
70
126
130
136
139
124
107
102
111
108
47
107
117
124
81
128
111
88
78
86
116
120
117
119
74
90
98
84
100
98
93
36
48
74
139
136
80
65
78
86
145
153
151
135
89
132
120
64
77
76
56
111
109
115
123
86
74
78
107
47
99
25
46
74
73
156
132
124
169
89
72
71
48
41
60
96
151
67
61
140
146
134
100
186
158
36
124
139
137
118
122
108
83
78
68
147
197
110
99
177
137
135
83
76
34
40
53
55
77
89
77
59
135
82
53
71
119
126
124
149
160
148
162
161
144
87
60
58
64
83
44
46
126
132
102
89
184
201
197
137
104
128
141
105
109
118
163
161
177
168
83
65
66
40
3
0
40
44
49
50
37
82
79
77
32
40
42
40
36
94
81
85
36
36
89
90
39
89
90
34
89
100
49
51
113
115
107
96
53
46
96
113
153
132
129
120
41
60
117
56
99
117
45
39
121
89
59
40
95
94
82
93
108
100
97
99
102
43
35
39
45
66
63
113
113
114
58
53
96
93
99
57
56
114
69
68
60
52
60
140
101
79
83
84
42
53
107
112
104
95
93
76
34
75
91
80
81
78
57
108
64
68
116
110
105
106
98
97
105
114
119
63
58
56
108
68
80
88
91
136
75
69
69
75
138
140
85
80
132
134
75
59
48
103
111
64
116
111
110
64
81
92
148
143
122
109
112
121
110
113
123
116
70
83
132
124
114
112
121
139
135
122
124
78
91
93
81
135
146
80
118
63
61
49
104
121
137
132
78
94
160
155
142
139
124
124
120
60
64
76
132
128
112
93
42
99
96
103
91
102
102
101
91
127
131
149
148
122
105
140
58
62
114
104
43
114
139
125
86
105
123
47
132
87
93
135
132
145
136
141
123
120
30
66
89
75
98
102
103
60
11
103
145
120
37
51
65
67
60
43
38
95
99
109
62
89
139
153
153
164
127
72
137
124
138
56
75
82
39
61
102
111
79
108
168
201
199
195
188
109
132
133
134
101
99
103
100
79
56
40
27
42
87
81
35
44
49
53
53
40
36
37
32
32
34
36
38
38
38
87
41
45
46
49
103
100
95
107
45
39
49
100
52
123
99
117
133
150
145
121
104
83
116
131
117
92
32
80
87
96
68
31
136
96
74
6
82
89
91
101
100
95
90
33
35
33
36
52
62
52
46
51
49
103
106
105
101
98
106
117
113
125
129
114
53
61
62
46
30
68
95
105
98
51
48
85
90
95
99
117
120
124
81
68
58
76
59
64
123
56
96
100
105
97
99
102
104
102
93
83
13
26
43
112
125
119
110
53
105
120
127
70
69
115
120
62
57
58
73
89
90
119
66
69
73
72
69
70
73
68
111
126
140
137
131
136
115
107
116
61
59
121
76
127
118
57
55
65
79
129
116
74
79
76
78
78
147
144
126
115
129
153
148
74
61
107
106
64
139
145
136
136
130
133
135
123
58
64
86
91
141
134
120
48
44
93
89
97
93
106
72
54
123
136
139
114
130
127
122
48
57
115
131
166
151
74
62
136
144
164
138
122
88
106
96
94
50
129
139
123
146
54
15
120
148
153
138
122
93
67
118
124
107
46
54
51
71
65
57
112
88
91
142
150
158
161
177
182
165
127
130
120
141
139
151
97
78
97
103
143
128
83
107
182
196
204
193
178
105
139
188
134
95
96
165
97
47
72
8
0
60
54
70
51
45
49
52
52
41
92
94
43
36
85
88
95
97
87
33
40
97
46
102
107
105
98
116
105
98
107
105
109
78
90
107
135
131
122
100
89
95
114
103
84
92
98
61
64
85
37
144
128
100
34
29
108
105
102
123
116
102
102
92
86
81
85
56
60
90
41
52
48
97
99
99
46
89
93
98
104
139
157
143
83
69
58
55
47
54
127
106
115
71
102
22
85
97
109
98
89
93
109
69
65
55
45
67
130
109
96
58
74
45
95
90
93
92
32
22
34
42
106
66
64
47
35
90
84
90
99
49
114
126
126
78
80
138
94
96
140
114
62
66
72
75
71
65
62
53
38
111
134
137
132
82
66
57
62
56
108
117
117
104
98
94
103
68
78
123
104
65
68
121
130
87
94
134
126
126
145
114
158
133
115
51
40
47
69
75
75
136
126
140
131
124
70
74
86
78
72
73
74
44
42
103
116
107
70
92
85
93
122
116
116
92
117
116
115
109
37
49
156
182
139
112
119
118
121
161
114
128
160
59
45
88
122
155
115
131
113
48
36
131
125
71
75
98
95
66
72
93
77
39
16
26
49
46
32
95
85
79
109
105
165
102
112
177
107
75
202
183
130
153
155
173
109
152
144
89
75
130
154
188
203
147
136
115
93
140
148
179
171
115
105
124
86
26
36
31
81
68
63
63
41
42
42
42
88
84
83
25
76
79
35
46
106
108
40
35
80
24
77
86
94
99
51
100
100
98
99
104
111
34
84
89
99
107
123
119
98
84
86
87
170
174
130
125
99
34
98
128
150
69
53
119
60
118
86
73
110
111
91
85
90
88
38
39
87
35
43
53
109
106
47
40
43
49
46
100
100
87
75
46
44
36
34
46
131
147
126
67
74
137
125
102
126
107
112
116
121
128
78
68
56
47
44
63
139
144
126
53
116
99
105
108
109
61
63
62
47
93
51
67
61
58
128
126
116
103
41
91
104
110
111
65
75
79
77
123
65
65
77
82
70
108
104
54
56
56
71
86
139
130
68
45
42
50
56
111
67
118
111
98
91
47
61
111
51
51
69
87
140
139
97
90
114
111
140
152
147
126
101
72
113
100
71
51
35
34
50
54
124
137
156
153
137
79
45
47
53
56
49
51
113
79
86
131
137
110
117
120
102
114
128
128
133
122
93
70
80
134
144
148
101
16
98
46
75
135
138
118
79
75
118
156
163
140
143
110
48
69
78
127
148
131
106
74
66
38
33
38
26
19
12
71
89
44
92
97
109
119
128
167
151
69
71
89
100
135
184
166
173
160
148
170
155
138
98
157
157
163
134
97
55
118
119
175
207
191
132
143
129
137
116
142
100
73
105
107
81
66
72
50
56
63
68
53
91
31
33
85
38
44
52
55
107
100
98
95
42
42
49
58
68
56
57
107
101
99
103
58
74
98
129
156
134
98
97
64
79
83
163
130
148
119
123
121
110
90
77
85
87
49
101
108
103
53
85
113
115
101
88
84
84
35
91
95
58
51
48
35
23
32
50
103
45
38
100
100
103
63
50
56
55
54
56
106
112
135
125
71
85
156
155
105
124
120
121
72
66
58
65
80
79
79
59
48
39
113
161
156
120
85
83
89
102
61
62
60
65
67
54
62
80
114
109
56
61
64
62
101
85
34
38
37
33
28
28
38
45
59
115
103
92
93
96
96
33
40
57
76
88
95
63
109
61
65
59
64
124
67
65
118
70
71
60
58
69
137
99
96
92
100
84
77
135
140
141
146
142
75
69
91
63
49
54
48
33
30
0
23
18
71
76
96
73
94
119
77
44
46
78
71
42
116
124
86
75
109
102
90
45
92
113
107
94
75
89
163
165
179
134
105
72
3
42
46
98
107
96
79
101
141
156
147
130
148
103
47
103
100
91
98
83
113
97
137
75
19
14
29
33
51
133
130
125
126
124
108
95
45
98
105
35
47
158
181
168
88
146
189
181
171
172
163
146
124
109
124
169
139
100
99
149
178
147
105
105
192
163
76
137
178
130
112
93
123
104
90
85
72
59
116
67
62
40
89
38
42
93
43
47
52
55
110
104
108
59
55
51
52
60
71
59
57
53
99
93
93
45
79
75
79
94
82
103
91
96
87
91
127
108
125
133
143
127
104
96
57
114
101
96
90
103
108
42
50
69
78
114
93
84
89
94
94
97
48
42
41
44
53
59
112
103
108
114
66
101
93
49
48
51
47
43
46
109
121
151
94
134
77
148
165
116
111
113
123
132
72
56
57
70
74
51
36
44
41
96
121
138
128
91
78
39
113
69
53
65
72
64
55
64
72
63
111
58
60
57
51
96
49
51
104
104
98
42
97
55
55
62
120
116
115
119
118
115
96
43
51
63
68
69
115
110
104
47
46
99
105
115
111
111
116
68
62
60
111
113
71
80
79
80
84
71
143
141
133
138
86
70
43
64
49
45
52
38
17
13
19
15
15
58
79
124
143
88
116
128
43
106
134
73
66
98
105
98
90
108
92
96
25
87
129
109
46
91
79
98
115
145
110
137
81
0
40
48
113
145
191
80
107
134
146
151
138
145
91
55
75
83
92
98
87
110
105
98
71
45
45
56
54
47
93
81
69
72
81
79
80
38
38
58
45
53
162
180
158
109
111
184
168
161
158
154
128
98
96
134
151
117
96
119
150
101
104
117
179
175
136
83
104
118
111
166
165
140
77
24
29
64
113
110
47
33
16
75
33
36
38
44
49
54
57
61
49
100
99
96
42
44
46
50
45
51
68
133
84
131
126
85
67
54
51
55
81
24
9
70
77
53
120
103
74
102
135
150
141
128
106
113
108
104
97
93
92
43
81
89
137
119
108
112
109
99
50
54
52
69
76
66
100
84
117
117
112
59
110
58
64
65
74
76
124
67
104
108
128
74
78
84
138
140
118
156
144
128
114
52
50
60
72
65
65
59
45
34
33
37
44
114
137
118
103
42
33
43
49
59
66
70
70
69
63
107
104
110
113
111
117
44
44
47
53
106
54
59
116
110
55
108
110
116
119
115
109
74
69
60
57
57
55
120
89
137
50
51
50
104
103
97
91
39
39
47
51
64
109
56
53
96
92
37
38
91
68
80
46
52
84
96
57
31
16
19
28
107
142
81
125
92
75
108
90
64
105
120
116
118
123
44
43
82
69
67
98
85
37
81
42
34
110
118
111
63
65
76
82
126
94
112
146
130
64
41
84
116
112
151
146
188
182
147
133
99
23
30
59
79
85
107
109
99
92
89
117
92
73
60
59
84
88
111
102
85
76
80
82
80
84
37
35
23
45
151
130
199
166
107
91
131
141
135
147
50
21
24
114
119
65
81
156
161
99
149
142
135
85
96
127
125
106
105
148
79
77
7
7
22
79
61
53
42
33
31
31
33
41
34
33
38
37
40
42
82
86
90
92
45
53
59
61
64
52
45
43
97
100
101
106
68
56
130
128
71
144
120
108
75
48
112
105
105
106
102
119
156
170
122
112
113
100
93
92
91
52
70
98
104
105
115
130
115
92
45
36
33
30
33
47
114
119
112
133
108
75
43
53
73
51
70
69
57
61
60
112
129
83
86
86
89
100
108
157
156
160
154
75
45
40
55
34
42
52
36
20
23
24
28
72
107
86
141
120
110
116
67
137
89
37
52
69
77
62
100
94
94
91
97
27
31
86
34
36
95
56
71
115
95
85
95
100
105
121
125
70
54
64
71
61
78
81
127
137
133
45
36
52
107
110
56
50
44
46
99
53
34
93
54
97
95
98
71
47
93
121
75
29
33
55
61
28
47
50
82
98
17
10
118
146
118
91
118
123
121
72
79
143
85
89
8
51
80
86
72
124
49
99
115
77
117
116
123
129
118
89
92
141
131
122
128
148
168
140
88
77
82
71
64
78
110
88
22
78
60
40
55
65
37
48
74
82
94
108
59
65
88
96
79
78
82
132
124
108
102
95
68
55
70
0
17
58
119
133
144
130
132
95
93
57
100
108
106
51
32
18
20
59
75
127
143
127
102
97
79
127
140
134
130
176
143
83
71
31
41
7
0
4
19
54
51
44
39
37
36
35
39
85
86
42
45
100
95
95
97
96
93
42
49
56
59
52
43
44
52
59
110
54
48
108
123
173
148
36
58
99
91
67
50
55
54
110
109
106
113
130
146
145
140
118
109
103
45
87
87
93
109
99
84
102
91
144
62
46
32
30
32
42
60
70
123
115
55
119
114
75
79
68
66
70
62
54
56
65
83
79
82
133
81
86
96
101
137
136
145
157
101
78
52
40
50
54
41
76
26
37
30
34
34
95
122
141
137
132
117
128
135
69
53
121
120
115
51
96
97
103
108
113
89
41
46
98
98
53
64
67
58
92
97
119
129
79
85
115
128
68
69
72
73
84
88
122
117
135
71
63
65
70
62
49
40
45
124
129
124
60
50
95
93
104
105
114
122
60
55
51
55
49
9
37
19
1
54
77
100
85
67
84
116
97
109
126
129
129
146
114
98
11
62
14
11
119
63
70
136
101
161
87
76
61
59
134
131
60
108
104
110
100
84
155
108
126
140
64
85
64
50
48
59
93
21
59
111
66
52
45
17
18
36
63
79
83
75
69
73
140
81
50
96
107
119
130
139
137
121
42
73
65
0
32
79
97
157
161
154
118
89
125
150
131
124
117
49
28
28
55
98
106
108
120
109
57
73
156
144
153
187
183
178
147
138
77
42
51
18
16
30
21
38
46
53
55
53
44
31
40
91
98
49
97
99
94
96
96
93
87
35
41
48
51
56
65
67
63
60
61
64
51
127
120
128
147
132
123
107
99
53
71
75
71
77
74
69
60
54
55
84
147
145
122
49
40
97
107
107
76
19
58
66
53
84
83
73
65
52
47
46
47
49
47
58
68
63
117
101
77
63
50
62
65
61
68
67
51
62
119
71
73
75
77
81
99
133
114
113
135
105
102
88
42
75
29
93
42
36
83
28
40
95
103
118
132
144
135
117
108
62
116
118
120
118
66
116
113
106
97
94
100
102
101
99
99
107
66
134
74
67
118
124
128
83
90
112
120
174
132
107
56
35
33
58
75
70
127
129
124
43
45
49
54
112
108
46
92
68
64
91
85
84
101
95
69
78
95
103
44
60
88
42
15
25
31
90
115
116
105
32
72
89
68
41
88
62
70
60
104
47
78
72
101
99
63
49
154
152
66
131
61
46
50
106
132
79
16
22
11
36
96
97
72
83
77
73
69
67
63
109
105
126
71
122
79
91
109
50
42
27
17
40
76
145
158
145
129
118
53
91
86
89
134
124
134
137
116
68
135
129
75
58
64
141
152
108
131
142
123
64
114
111
117
76
117
108
109
109
79
80
86
148
112
118
96
161
129
146
196
198
186
157
141
88
93
112
41
34
113
138
146
92
78
55
45
93
32
39
48
59
110
102
109
119
106
109
110
54
51
49
47
45
52
49
55
65
66
57
46
122
107
107
104
104
108
137
205
126
110
111
81
65
56
129
123
78
93
137
112
126
131
140
94
75
45
31
86
90
86
79
75
82
105
75
138
119
118
112
50
43
46
53
41
37
27
45
63
103
62
66
48
56
78
71
44
54
115
125
82
87
82
77
84
83
140
133
116
104
54
62
120
153
135
101
86
40
94
91
91
81
92
94
86
96
124
150
152
130
100
109
109
101
95
102
57
55
102
101
103
94
44
49
53
110
66
75
117
57
64
132
141
85
70
52
46
114
107
154
141
109
87
70
87
145
50
43
48
106
119
68
112
43
28
33
92
70
18
20
91
119
130
135
118
120
70
51
92
94
40
51
58
57
124
109
99
126
128
120
126
126
89
80
105
48
0
0
11
22
64
98
48
63
33
47
92
85
111
109
45
41
43
100
77
141
67
58
54
110
51
40
47
61
55
75
64
82
70
47
43
53
118
56
59
110
103
107
60
126
110
58
61
52
111
103
106
94
87
97
109
109
103
94
83
108
96
93
120
104
99
86
19
38
79
91
77
73
48
41
74
159
165
106
109
104
96
78
63
119
141
133
85
53
103
89
123
136
146
132
196
184
174
155
147
113
118
125
151
128
82
56
74
88
90
81
112
37
96
49
58
58
56
116
111
107
111
111
56
52
51
50
47
50
48
51
57
59
56
51
59
99
116
114
98
100
148
115
100
155
165
157
149
137
115
64
72
81
80
133
145
113
78
93
83
58
47
96
86
83
85
87
88
100
126
143
135
130
125
61
48
43
44
42
31
91
37
68
89
103
94
58
139
92
61
99
112
130
128
130
133
132
129
132
133
129
65
103
94
98
113
124
114
166
132
110
100
95
94
90
86
91
47
46
51
118
129
148
138
111
61
112
57
114
115
60
56
55
108
95
94
99
53
109
111
110
57
64
115
129
86
76
64
53
40
44
102
92
141
66
87
123
125
134
145
133
61
104
54
62
71
75
66
106
101
102
85
31
37
100
115
80
112
101
85
78
104
58
91
100
113
87
29
87
77
98
154
168
170
162
90
62
62
60
22
36
26
32
52
78
91
67
41
46
44
52
111
107
71
40
50
43
32
115
77
60
38
34
107
113
37
42
58
46
74
63
65
46
29
32
39
47
45
44
67
113
97
92
93
102
98
35
29
26
82
85
90
93
42
88
80
84
101
94
48
62
62
94
82
88
96
24
36
63
72
57
42
30
92
78
101
96
78
76
81
138
94
100
127
177
107
105
77
107
125
110
123
154
186
190
121
122
168
168
187
127
76
125
131
128
53
44
40
47
95
91
67
55
62
71
76
122
111
98
115
105
102
111
65
60
55
54
47
45
49
52
55
62
122
60
121
73
57
52
50
45
80
113
162
75
45
47
64
133
142
161
179
176
96
101
74
90
70
66
80
80
122
117
111
101
93
93
95
95
92
65
79
123
124
72
64
60
61
68
56
54
60
48
75
184
117
94
132
136
135
118
115
119
106
98
59
120
116
121
106
105
115
117
115
122
127
75
137
162
172
151
118
95
95
38
48
55
57
59
66
99
87
116
149
114
118
125
73
111
104
69
92
146
81
124
118
122
130
125
110
103
133
126
63
57
62
67
59
45
34
10
64
65
13
70
58
49
58
75
46
42
30
21
32
109
88
81
50
64
57
34
87
20
15
27
75
48
86
23
79
26
14
21
24
1
45
7
80
79
89
92
67
118
110
100
41
23
52
52
133
91
55
29
15
55
35
84
52
49
70
82
96
145
61
75
94
152
153
169
116
84
55
97
140
143
89
123
157
177
87
64
49
44
52
107
104
32
39
33
58
72
101
75
91
71
59
75
95
117
101
55
110
75
116
86
87
89
97
30
32
92
33
89
89
84
86
49
102
51
54
104
108
133
116
66
134
147
161
170
111
121
178
132
84
51
31
74
87
132
90
101
149
121
128
185
118
143
134
138
83
158
144
127
64
35
99
59
56
60
68
119
51
53
55
54
53
64
163
132
82
140
147
91
82
79
82
88
86
86
87
91
101
164
148
96
112
101
80
87
166
151
103
91
88
150
146
103
103
138
160
173
142
106
99
123
127
139
118
60
73
126
147
139
126
114
105
97
92
87
84
59
77
107
49
63
60
44
92
39
81
75
39
47
40
43
94
92
94
93
84
80
31
93
60
70
118
155
126
110
53
109
112
63
125
130
67
50
100
128
161
157
133
109
51
44
55
64
62
104
98
101
39
105
150
70
110
114
136
138
121
112
113
63
112
111
108
113
132
145
130
94
82
30
41
94
30
29
40
37
40
83
81
31
76
76
74
80
92
120
69
59
50
77
104
76
42
84
32
68
77
65
20
46
55
38
101
114
92
87
46
54
66
91
109
77
94
79
87
86
80
88
114
113
94
72
40
44
117
127
57
46
35
21
59
70
109
77
120
109
58
67
70
75
84
147
161
168
156
146
60
95
124
134
155
178
153
160
157
127
51
86
105
65
46
55
47
42
28
111
139
126
61
51
63
61
38
65
101
35
39
30
38
39
32
40
38
59
55
60
110
94
99
105
75
69
70
65
71
89
102
108
98
131
97
122
134
178
182
168
177
132
121
81
65
84
85
86
143
159
127
136
99
98
92
90
143
142
147
153
144
174
203
189
36
91
46
48
59
114
103
44
50
57
111
54
106
122
99
105
116
129
134
80
80
83
88
94
98
103
162
172
181
108
95
123
113
111
117
112
95
87
77
85
159
159
165
118
159
171
173
151
160
107
105
126
96
74
81
91
107
96
143
136
128
117
104
96
94
51
112
124
134
57
36
48
101
95
46
72
54
15
24
33
34
31
28
82
87
83
100
113
113
99
95
100
113
116
100
41
98
98
104
114
120
59
40
27
90
120
141
96
93
70
53
57
58
59
60
59
63
103
50
98
138
123
117
121
116
111
115
117
58
58
92
89
111
127
114
90
89
36
97
110
112
110
117
76
75
56
76
75
29
69
75
69
71
79
56
61
53
44
47
84
71
38
123
110
106
104
50
60
69
64
110
106
98
92
55
61
51
73
92
72
44
58
115
89
86
99
94
109
114
105
82
61
100
112
113
36
39
27
83
159
114
139
139
93
131
66
87
82
76
95
94
138
150
154
142
50
75
93
149
175
163
137
175
167
155
111
159
105
80
128
57
60
87
90
67
156
40
53
104
74
76
51
115
89
77
86
28
37
38
85
38
107
54
40
48
97
23
35
112
42
101
104
91
75
69
71
83
15
71
87
112
131
175
162
167
187
124
78
130
109
99
86
144
162
125
135
97
74
93
153
147
84
123
136
169
137
137
141
127
112
115
119
117
52
108
103
93
39
43
48
51
104
104
100
99
98
100
100
45
38
85
101
107
58
58
109
103
96
40
45
69
42
90
129
84
60
47
36
89
96
104
61
36
51
98
97
110
91
107
132
116
78
59
96
90
55
77
87
158
172
166
149
84
79
99
110
107
90
89
96
92
125
132
99
92
65
33
40
72
74
76
132
132
116
108
100
84
88
52
60
120
163
150
139
135
133
129
124
124
120
62
58
64
112
103
49
57
93
168
70
54
69
68
50
36
35
44
35
40
130
139
131
107
88
91
97
88
108
114
135
91
121
97
92
95
99
61
114
103
101
111
112
51
91
24
37
71
105
72
26
89
84
29
38
39
35
29
23
21
34
85
20
70
121
101
56
8
36
17
47
66
102
93
25
13
59
53
9
27
14
4
11
77
66
52
58
116
63
93
91
76
7
98
69
49
60
85
147
88
93
96
130
138
152
168
74
63
90
67
58
70
132
136
148
153
77
79
171
146
138
188
166
174
105
128
148
119
109
119
16
41
141
98
134
52
41
55
64
58
51
52
78
82
83
45
47
107
45
27
80
77
119
71
73
89
97
87
111
39
36
86
89
89
91
50
80
66
60
43
43
56
113
113
115
141
100
109
155
116
101
148
148
149
94
91
157
167
176
148
131
97
150
140
158
170
153
128
144
48
44
46
48
100
104
100
111
58
58
54
50
49
120
112
116
116
107
97
41
96
99
97
95
94
96
95
85
71
71
37
25
57
88
111
60
31
82
87
90
103
108
53
52
94
96
100
93
88
76
90
69
83
83
75
94
117
66
56
97
93
92
47
72
97
98
78
82
102
79
133
87
103
97
101
112
119
99
95
77
84
93
146
140
144
154
121
129
91
90
131
86
87
146
142
146
148
142
133
124
112
81
77
58
48
54
54
47
31
104
132
108
57
41
61
48
44
85
87
88
88
116
99
86
66
120
140
152
129
94
30
26
84
82
76
25
90
27
70
72
73
67
62
62
71
17
24
65
109
65
26
24
75
23
28
33
38
40
38
38
34
43
53
49
138
181
129
69
79
59
59
113
122
147
139
117
124
83
83
144
126
138
100
130
111
51
31
116
136
108
111
120
123
69
82
0
40
135
106
72
160
148
149
84
80
84
68
115
79
60
69
66
45
71
107
64
82
98
117
117
146
138
96
138
146
146
69
58
126
95
86
31
80
74
81
27
46
60
43
34
40
39
26
84
85
40
40
53
46
41
129
153
138
56
110
107
23
77
42
33
17
65
80
88
89
45
50
57
60
82
92
84
82
136
129
123
91
87
101
123
144
151
145
153
167
90
65
114
190
154
119
88
93
132
145
153
157
162
156
38
44
53
57
96
100
112
118
110
106
54
57
61
68
117
114
110
105
51
50
48
97
91
84
85
88
83
78
84
104
103
99
46
95
92
90
85
103
100
90
85
80
93
53
102
110
110
88
102
133
131
156
122
124
115
96
79
55
51
106
47
38
54
68
59
125
102
109
137
126
116
143
120
119
125
164
173
114
107
109
95
96
96
143
165
149
136
145
148
144
141
90
86
127
140
147
136
125
69
65
60
52
40
45
59
56
39
30
29
37
84
104
98
70
44
54
34
82
85
75
29
80
62
94
103
104
157
68
51
53
29
30
107
122
117
54
58
40
22
62
70
88
93
80
72
71
98
67
52
34
95
53
44
43
103
56
59
54
75
61
70
54
55
61
129
180
115
67
55
65
80
63
142
136
111
93
96
95
87
90
97
126
54
112
75
37
49
174
155
65
107
115
108
32
28
38
144
53
82
135
190
145
134
66
71
82
122
154
124
59
54
49
54
89
105
85
107
94
66
66
78
93
166
175
134
142
78
86
84
44
106
28
40
22
18
67
18
12
76
30
27
30
44
93
79
96
109
58
59
114
105
105
43
36
102
41
16
76
41
36
21
23
83
95
58
73
66
66
92
102
115
89
117
128
132
156
133
120
119
145
158
142
138
168
153
47
128
137
107
104
98
82
75
78
85
160
154
150
153
51
49
48
45
87
90
94
93
95
100
58
60
106
98
50
100
100
104
111
115
61
56
52
100
101
102
93
31
31
93
93
90
88
83
79
76
89
58
104
126
21
27
67
117
113
117
130
144
116
77
72
80
31
32
38
39
34
38
85
62
73
47
56
130
116
94
74
80
79
68
61
63
52
61
67
62
74
45
65
88
86
95
99
144
136
119
101
88
87
100
103
45
65
79
136
140
139
91
96
94
87
82
90
86
74
58
57
68
39
39
37
65
101
99
68
56
51
109
115
101
51
51
118
88
99
87
77
79
71
59
54
62
131
139
135
138
154
90
139
91
100
151
131
99
90
96
119
139
132
122
125
64
51
59
122
57
62
79
66
69
59
120
63
23
90
148
132
113
55
49
40
82
73
136
86
141
142
129
54
95
106
114
78
75
36
25
118
142
94
78
59
62
73
77
124
84
55
79
154
151
124
98
126
75
140
138
140
133
108
118
57
59
82
81
70
96
123
52
42
97
127
158
164
150
115
108
122
122
102
34
29
27
45
85
100
38
21
24
42
60
64
54
39
94
103
41
81
23
77
83
90
101
114
130
106
12
19
45
39
23
27
74
19
107
86
80
48
67
75
145
121
91
84
105
112
108
115
193
167
149
104
99
108
144
91
61
93
77
85
137
46
46
53
44
151
176
193
189
174
41
42
44
44
96
95
92
101
98
96
45
48
100
109
57
54
51
104
106
105
100
41
34
85
88
96
95
90
38
31
34
91
93
91
90
88
84
123
113
75
62
11
140
151
123
106
103
93
87
95
84
82
72
71
31
38
34
36
81
27
48
61
85
4
62
78
67
72
59
62
72
64
69
69
71
83
85
29
27
79
24
26
33
91
65
123
148
162
167
152
131
116
43
26
31
87
89
46
61
78
88
91
79
81
89
82
64
55
51
43
52
44
52
72
76
54
106
102
95
36
46
111
127
39
38
65
76
133
56
38
45
49
105
116
123
87
74
77
88
95
96
150
149
140
132
138
147
99
97
141
133
82
82
82
124
135
87
76
69
59
119
151
71
73
66
59
110
124
103
70
75
57
130
141
156
153
132
115
114
120
114
76
81
36
12
85
76
100
104
48
48
50
55
64
43
62
69
47
22
90
99
91
158
94
83
140
124
136
132
59
58
68
69
76
93
75
99
105
115
106
125
149
139
139
133
126
113
119
70
54
43
23
25
79
85
27
36
94
39
36
36
39
53
112
106
45
93
47
56
117
127
148
130
155
136
39
42
43
83
84
42
84
22
54
79
66
106
127
140
146
100
92
102
100
96
111
133
92
132
135
147
181
144
121
88
71
87
78
79
46
41
39
29
54
75
104
107
105
104
46
50
52
51
50
97
93
89
90
92
95
95
93
100
44
43
94
93
93
93
91
87
89
84
29
35
89
87
87
36
37
39
89
87
83
82
37
71
55
73
66
45
67
94
95
45
98
102
54
88
87
97
98
89
30
23
19
18
67
101
110
73
67
84
73
72
85
94
84
82
30
71
80
84
87
88
90
97
50
110
108
104
105
106
106
108
110
82
92
136
131
140
84
82
129
117
101
39
90
46
54
44
93
100
62
67
120
126
110
99
125
58
50
108
105
105
107
100
39
45
109
126
100
85
78
24
32
115
127
54
114
110
111
123
129
81
122
112
64
77
85
87
75
110
122
87
145
147
100
100
87
146
132
129
87
86
139
88
77
63
122
77
50
123
116
93
142
139
93
66
89
65
74
90
116
115
88
122
123
132
54
67
52
17
32
109
94
105
95
10
13
21
87
109
136
83
66
31
45
61
90
94
104
78
67
137
63
64
110
112
121
65
61
142
156
108
44
56
115
104
118
135
123
138
140
132
112
116
123
105
49
27
25
80
82
79
99
88
87
84
33
44
112
106
53
102
99
49
109
122
137
142
125
158
88
46
93
88
96
83
82
76
25
49
74
81
110
131
127
123
68
72
89
80
89
109
122
132
133
165
163
154
69
72
148
158
122
112
105
14
30
38
31
66
73
101
102
85
67
42
48
48
42
41
96
96
107
105
104
104
103
104
119
65
68
121
118
114
114
118
121
121
54
40
42
101
51
54
49
47
94
91
86
84
84
25
28
47
49
54
86
98
104
90
41
52
45
81
86
72
78
77
77
84
84
24
148
113
46
49
45
99
104
97
113
107
93
89
39
43
49
104
98
92
94
100
103
103
99
99
101
64
135
133
136
62
51
43
45
100
100
106
134
133
138
149
108
163
161
158
145
143
142
89
77
119
120
119
142
162
65
112
130
124
132
85
74
59
49
42
48
52
95
93
102
51
39
113
149
97
79
121
141
145
135
74
63
60
114
109
58
60
58
122
90
90
137
147
98
81
115
134
147
139
102
106
90
66
90
142
47
115
115
138
132
122
151
110
137
149
137
76
81
100
104
130
110
110
110
116
70
31
51
81
102
120
134
137
57
45
34
47
131
120
34
61
88
79
90
65
106
101
101
155
138
55
72
38
38
40
112
135
121
105
105
107
103
39
92
115
131
125
126
131
66
82
134
115
113
44
48
101
23
82
69
70
36
100
99
39
48
119
49
34
95
93
84
91
119
145
154
137
148
62
106
121
34
85
87
78
86
49
32
24
53
89
175
123
63
80
100
99
97
88
105
113
109
134
189
125
137
102
138
152
151
161
126
34
37
81
79
93
95
72
117
116
102
85
43
45
52
60
109
103
102
106
104
101
103
107
59
56
111
55
53
108
113
117
123
74
70
61
50
40
38
42
48
55
109
97
93
95
95
94
109
107
44
30
34
40
38
117
98
78
70
73
32
34
77
103
55
67
35
97
162
102
53
47
36
39
54
56
95
28
83
33
42
50
50
45
35
90
94
100
99
96
93
102
102
105
112
116
56
50
44
45
97
45
49
54
101
92
95
105
64
69
62
108
106
121
133
91
149
105
115
175
180
172
179
138
194
192
139
123
118
111
105
82
65
57
107
105
99
92
90
44
103
134
135
129
147
146
113
43
51
61
69
73
125
117
61
66
70
75
77
74
127
84
92
123
134
140
130
141
92
77
81
162
121
134
123
127
129
141
91
86
52
53
69
138
159
105
94
72
62
74
142
143
120
48
67
89
72
58
126
155
149
62
53
44
54
82
63
74
64
45
63
37
3
44
86
109
122
104
79
55
33
20
37
128
127
96
97
115
92
100
105
91
109
130
61
59
111
111
113
110
110
119
33
97
108
38
35
87
30
30
86
23
45
116
126
57
40
95
88
35
91
89
109
138
100
32
48
62
60
47
32
88
86
37
86
116
127
140
62
85
99
50
72
103
113
97
100
98
107
115
170
159
137
114
135
135
164
170
118
107
119
111
89
83
89
99
105
93
157
151
146
47
46
49
52
100
103
106
102
101
100
101
106
57
54
61
53
48
102
109
114
117
66
67
57
46
38
38
47
55
59
54
37
89
96
103
105
60
49
87
79
28
30
30
90
87
82
80
86
55
57
60
92
58
25
36
146
69
82
55
49
30
44
58
46
30
23
37
41
45
47
44
40
34
41
48
98
94
95
99
106
104
103
55
58
54
51
45
49
103
102
102
54
106
101
106
112
60
50
35
81
79
93
49
54
56
61
69
128
133
65
86
104
102
145
91
107
87
90
106
79
74
130
77
124
112
99
42
47
114
94
96
104
146
167
99
84
71
134
138
83
80
68
61
63
76
60
64
120
122
133
96
90
147
131
113
120
110
47
120
81
101
132
133
135
144
132
119
53
39
57
128
138
167
170
101
69
58
136
154
150
68
50
58
66
48
98
124
141
135
59
62
57
63
136
66
80
73
49
4
15
60
83
143
160
105
98
85
63
38
20
39
79
70
37
41
101
94
47
101
99
110
68
61
52
39
83
83
84
91
53
54
120
129
53
41
86
28
27
26
17
89
112
135
125
105
86
72
31
40
80
92
101
90
54
73
74
74
58
24
19
15
34
47
92
114
56
25
70
50
51
63
84
145
146
148
138
106
176
166
167
196
164
67
62
151
165
138
120
131
122
99
92
101
110
114
75
84
141
148
44
50
59
63
96
91
90
52
45
36
34
37
41
46
38
34
36
49
116
123
121
116
52
44
45
53
111
60
58
51
46
46
55
112
112
59
52
46
44
98
24
21
80
85
92
94
88
84
97
49
20
95
72
95
123
96
51
39
22
37
107
89
22
29
35
50
43
45
49
47
41
36
40
37
32
28
29
33
88
94
40
39
41
45
104
106
102
108
107
98
89
89
101
105
98
39
33
34
96
107
113
104
55
54
50
46
45
45
43
41
93
62
81
125
51
39
47
70
84
71
75
127
83
136
136
139
89
83
51
54
103
107
131
133
71
81
91
142
134
127
77
77
70
67
62
97
119
134
130
120
66
78
72
54
121
112
98
105
122
117
44
115
98
79
92
81
31
46
82
98
134
127
128
119
112
106
104
105
95
78
85
75
70
31
97
103
103
95
39
26
93
102
119
144
123
33
0
6
50
50
75
103
109
57
36
37
75
70
46
51
60
60
55
70
75
44
114
110
103
113
115
58
65
71
113
105
101
98
53
67
140
133
112
105
102
31
68
71
22
85
90
99
121
132
142
118
36
24
27
84
89
105
99
64
71
46
39
51
52
20
36
53
35
11
66
90
21
72
110
47
76
45
97
142
169
152
143
149
126
128
119
113
81
78
100
76
102
117
86
62
13
74
75
90
119
142
162
168
164
68
62
57
104
101
106
111
52
43
36
34
36
43
51
65
61
62
69
126
124
117
111
107
105
55
59
61
62
62
65
60
59
58
52
49
48
45
47
50
105
57
109
110
100
93
94
102
101
85
91
88
120
51
31
108
101
111
47
47
48
90
79
87
93
31
30
25
31
35
36
39
44
36
31
24
19
20
21
75
78
80
33
36
39
98
103
96
105
110
104
95
88
86
83
41
52
54
54
57
108
105
97
41
36
32
30
31
84
51
53
103
113
73
67
51
111
71
57
49
70
65
131
138
144
151
156
107
107
93
84
120
110
117
95
76
36
110
133
143
136
74
62
51
46
112
116
63
110
50
47
50
73
87
94
105
56
112
105
108
110
47
42
77
111
118
122
77
88
117
89
47
165
120
128
136
133
135
140
74
49
113
69
140
81
107
93
90
127
137
75
113
95
101
126
65
46
45
49
50
59
61
93
42
56
46
46
55
72
83
59
65
81
80
92
100
137
147
137
114
104
102
101
50
57
121
118
108
92
30
86
80
96
90
85
80
18
22
23
30
112
111
105
89
97
111
66
67
54
40
39
92
76
36
35
35
49
50
33
24
41
51
29
19
67
59
96
95
97
102
115
99
89
112
111
135
134
141
144
146
107
125
171
73
111
81
46
101
107
93
81
84
91
93
100
115
157
162
137
131
103
51
107
113
118
115
63
64
56
49
46
47
50
53
45
43
48
111
70
75
127
126
120
117
60
53
51
53
57
58
53
54
57
55
56
60
53
53
50
100
55
53
48
48
43
97
100
90
112
97
82
20
94
124
108
103
110
62
113
99
40
100
98
90
43
30
16
14
15
20
35
51
33
31
80
21
19
71
71
77
80
85
90
93
45
99
93
103
112
107
43
85
70
89
100
52
47
41
44
106
111
43
39
38
41
48
56
114
108
61
54
91
85
98
64
101
61
49
57
90
69
137
139
143
142
133
126
74
82
99
78
119
79
61
94
97
78
101
122
134
144
87
67
51
106
68
59
48
49
61
126
120
104
112
109
55
114
112
99
59
55
50
37
119
60
77
69
68
106
95
60
182
101
73
86
129
131
153
154
127
114
83
71
45
44
117
130
133
141
116
98
86
108
145
83
121
119
103
109
84
128
104
61
65
41
38
32
84
70
56
66
77
77
102
116
153
158
145
117
97
95
96
41
58
126
123
111
38
24
78
86
96
83
82
81
19
23
26
32
66
65
112
81
85
85
33
44
58
64
64
106
69
98
33
9
27
48
48
51
40
48
37
81
75
59
87
102
120
96
100
91
30
99
105
111
113
133
122
131
152
105
166
80
62
72
26
50
70
73
111
93
92
98
106
114
137
129
143
154
45
51
51
102
52
51
56
53
52
56
59
58
59
55
49
48
48
102
54
56
108
107
104
105
108
55
51
51
53
49
48
54
55
51
47
47
37
35
81
83
100
44
42
39
50
107
111
120
116
43
40
57
58
102
102
106
108
54
57
47
87
89
96
97
99
98
93
89
26
29
82
92
87
89
92
86
76
71
72
80
81
83
87
39
48
103
109
109
93
76
75
78
97
108
110
114
113
110
112
113
108
32
32
43
104
111
112
114
124
116
100
98
112
129
132
110
109
67
73
44
55
127
126
119
118
69
74
70
67
45
50
70
83
84
148
162
139
100
91
93
105
126
126
125
83
108
61
57
51
51
107
115
102
102
137
143
92
143
124
53
39
44
57
67
77
75
48
39
65
99
57
112
122
117
159
148
143
149
154
155
110
67
70
66
67
69
127
132
108
140
117
100
142
125
114
113
110
107
102
86
71
71
36
49
53
126
108
132
119
120
77
71
82
146
137
136
154
148
134
128
122
117
72
72
78
73
57
57
71
44
74
64
24
20
23
14
22
78
30
53
43
50
42
27
34
23
18
15
37
75
132
85
95
44
107
110
103
104
85
69
122
120
118
108
103
111
108
105
96
90
49
56
74
59
115
64
55
54
71
61
54
118
59
68
77
63
62
60
41
84
81
97
100
37
56
141
155
161
155
56
57
51
45
42
40
44
37
39
46
47
39
40
53
48
48
48
102
54
56
56
108
103
100
102
52
53
55
59
54
102
45
40
35
33
88
35
23
79
97
46
44
48
54
52
106
115
114
101
52
57
53
96
95
97
92
39
47
44
31
76
87
98
96
92
97
117
100
41
50
93
88
81
86
91
75
68
75
87
94
95
95
43
44
46
98
85
81
24
26
86
93
103
112
116
115
114
117
113
102
42
40
44
47
97
97
101
110
119
109
121
133
136
124
104
117
107
61
74
64
66
126
66
113
118
129
82
74
124
58
104
112
118
116
129
150
139
128
143
136
58
43
79
78
96
86
29
39
61
87
103
132
75
128
140
103
158
141
121
116
69
80
81
73
72
32
20
21
44
73
27
50
54
50
108
117
122
139
156
159
112
63
57
57
63
46
104
78
49
78
112
122
151
84
104
105
103
94
76
72
70
73
13
43
70
83
72
126
120
122
121
55
66
132
125
133
137
109
91
105
115
118
80
92
91
81
59
58
73
48
95
76
72
23
27
16
28
27
28
48
38
49
51
38
23
40
36
41
65
137
131
50
69
25
88
89
90
103
97
75
68
139
157
129
108
131
123
102
73
72
35
41
58
68
133
77
56
77
91
62
27
35
60
58
86
66
65
67
50
91
83
98
103
40
108
140
152
156
152
