214
192
189
186
188
187
186
182
179
181
183
184
184
182
181
180
182
180
182
181
181
182
180
177
176
172
171
171
171
171
173
176
176
176
174
173
173
174
176
178
177
175
173
171
169
168
166
167
168
169
171
173
173
173
172
170
170
172
173
173
172
172
172
174
176
178
177
172
165
157
151
147
143
137
137
136
137
145
152
171
182
191
199
204
201
195
193
192
187
188
174
165
146
136
129
127
120
121
122
123
125
122
125
125
126
128
131
132
135
139
141
146
146
148
149
152
153
152
150
147
146
146
148
148
149
149
150
149
148
146
145
146
148
150
150
151
151
152
150
147
143
140
136
131
131
130
129
129
131
135
137
136
135
133
130
128
127
125
121
118
116
116
117
119
123
122
119
118
118
117
116
115
115
116
117
117
118
119
120
121
123
124
124
124
123
122
122
120
118
119
117
116
116
117
117
118
120
122
121
120
116
113
112
109
110
109
109
113
118
132
142
152
163
167
172
174
174
170
168
170
175
179
183
181
180
177
177
176
177
179
182
182
183
182
182
183
184
182
180
182
183
183
183
183
184
184
185
186
187
188
188
188
187
189
191
191
192
193
193
194
194
196
197
198
198
198
198
199
199
199
199
200
199
198
198
199
199
197
196
195
195
195
193
193
195
193
192
192
190
188
189
190
189
187
188
186
178
183
233
194
154
153
148
146
141
141
134
139
140
142
145
146
145
144
143
139
141
142
141
140
140
138
132
126
121
117
118
118
119
123
127
128
127
125
122
122
124
127
129
129
126
122
118
115
112
109
114
121
122
125
127
128
128
126
125
126
128
129
128
129
129
128
126
128
129
129
127
118
106
98
95
86
77
71
70
73
86
104
118
135
156
174
183
177
165
158
154
151
149
133
117
92
79
70
59
52
53
54
55
57
55
57
47
51
55
60
65
72
78
81
90
92
94
96
98
98
98
96
89
87
87
89
92
93
93
93
93
90
87
85
86
89
93
95
99
99
99
95
89
82
78
73
66
65
64
63
64
65
68
73
76
72
66
61
56
52
49
49
48
44
42
45
48
53
52
49
47
45
44
43
40
40
41
42
44
46
49
51
54
55
57
57
57
56
54
52
50
49
48
42
42
42
43
43
44
47
51
50
46
43
39
33
30
29
30
33
37
45
64
82
96
113
121
129
131
128
122
120
124
133
142
144
143
141
138
137
136
136
133
126
127
127
128
129
130
131
133
136
136
138
139
140
140
140
141
143
143
143
145
146
146
146
146
147
148
149
150
151
152
153
155
157
158
159
159
159
160
160
160
159
159
159
159
158
158
158
158
158
157
156
155
154
154
154
151
150
148
147
145
144
147
144
151
150
144
135
140
221
196
151
153
152
152
150
147
142
138
140
143
145
146
146
145
142
145
145
147
147
146
146
145
141
136
129
127
128
128
128
132
136
138
137
134
132
131
132
135
136
136
134
132
128
125
122
119
120
123
124
126
128
130
130
128
126
127
128
129
131
131
130
129
132
134
135
135
130
123
113
106
99
92
87
82
80
80
90
101
124
141
161
175
182
177
167
162
158
156
158
144
127
103
88
74
72
59
58
59
60
63
59
59
61
62
64
67
73
79
85
89
93
94
97
99
101
103
103
100
96
93
93
96
99
101
100
100
101
96
92
90
90
94
98
101
105
107
106
101
94
87
83
80
77
76
73
70
71
75
80
81
80
77
72
68
64
62
61
57
53
48
49
51
54
59
58
55
53
51
50
49
47
48
49
48
49
52
55
58
58
60
61
63
62
61
59
57
55
52
52
47
47
47
48
48
49
52
55
57
55
49
43
41
38
36
34
41
43
50
65
82
94
111
119
127
132
129
126
126
129
137
145
143
143
141
139
136
136
137
138
139
139
140
140
140
142
144
145
146
147
149
150
150
148
149
150
150
151
152
153
154
154
154
155
156
157
158
160
161
163
164
163
163
164
165
167
167
168
168
168
167
167
167
167
166
166
166
168
168
167
166
165
163
163
162
163
161
159
158
155
154
157
156
146
147
145
142
137
228
193
148
152
153
151
150
150
145
145
146
147
148
150
149
146
144
143
143
144
145
141
142
141
138
136
132
130
130
131
131
133
135
135
133
132
130
130
130
130
130
130
131
132
131
129
126
125
126
128
129
130
132
134
134
131
128
127
128
129
129
131
131
131
134
136
136
137
134
131
126
122
118
116
111
109
102
99
106
115
128
142
159
173
182
179
171
170
169
172
176
163
150
123
105
94
82
64
60
62
62
63
61
60
57
59
59
62
66
72
79
84
88
89
91
92
95
97
96
95
95
94
95
99
103
104
103
103
103
98
93
90
90
93
97
99
101
103
103
99
92
88
85
81
78
78
74
70
70
73
76
77
76
73
68
63
61
59
58
56
55
52
52
56
60
63
61
55
51
50
50
50
50
51
54
55
56
58
60
61
61
61
59
60
60
58
57
55
53
53
51
51
49
49
51
51
52
54
56
56
55
52
49
44
44
40
39
43
43
47
59
68
76
91
100
111
124
130
130
132
135
138
143
142
142
140
141
140
139
139
140
139
140
141
142
141
143
145
143
140
142
142
142
143
144
144
145
146
147
147
148
149
150
152
153
153
154
156
157
159
160
161
162
164
165
166
166
166
166
168
167
167
167
167
167
167
166
166
165
164
162
161
160
161
160
157
159
155
156
155
153
151
151
151
150
153
147
141
136
228
194
148
154
151
152
155
149
147
147
147
150
151
150
148
146
144
136
136
137
135
135
134
134
131
126
126
126
127
128
128
126
126
128
127
126
126
124
122
120
119
121
124
128
129
126
125
124
127
131
132
132
133
136
135
131
129
129
130
131
131
131
133
134
136
138
138
138
137
134
134
133
133
133
128
121
114
110
113
119
125
139
155
171
180
180
175
172
173
177
185
175
163
136
118
104
83
63
57
58
55
57
53
52
54
54
55
56
61
70
78
84
83
82
82
84
87
90
93
91
92
93
95
101
105
106
105
105
104
99
94
89
88
90
93
95
98
99
98
94
88
83
82
81
81
82
79
74
73
73
74
77
77
74
68
61
58
57
56
55
55
53
54
58
62
67
62
54
50
48
48
49
49
52
55
57
59
63
63
63
62
61
60
58
58
55
54
53
53
52
52
51
52
50
52
52
51
53
53
55
54
50
49
48
48
43
42
45
46
43
52
58
63
78
88
96
110
119
128
138
137
137
139
138
139
140
138
137
139
139
138
135
137
138
138
139
139
138
139
140
141
141
140
141
142
143
144
143
145
146
146
147
148
149
149
150
152
153
154
156
157
158
159
158
160
160
161
161
162
162
163
164
163
162
162
162
162
162
162
160
159
159
159
158
157
155
154
153
151
149
148
148
147
145
141
150
146
148
140
231
188
144
151
147
157
159
152
152
150
150
152
153
153
152
145
143
148
147
147
143
141
142
141
139
138
139
139
140
141
142
139
137
138
136
135
137
137
133
129
128
132
137
141
141
139
137
137
135
133
136
136
137
138
136
132
128
127
128
131
131
132
132
134
136
136
137
138
138
139
140
139
146
148
146
139
132
125
124
126
132
142
158
169
175
175
173
171
176
182
191
184
172
145
125
111
92
68
61
60
58
59
56
54
54
53
53
53
56
64
72
78
77
76
75
76
82
86
87
88
91
92
95
102
106
108
107
106
104
100
94
90
88
90
91
93
96
95
93
87
82
78
74
78
83
83
80
74
70
71
73
73
72
69
63
59
57
56
56
56
55
53
55
60
64
67
64
57
53
51
50
50
50
52
56
57
59
62
63
65
63
62
61
60
56
55
54
54
54
54
54
55
51
51
52
52
51
50
51
55
53
54
52
53
53
50
48
46
47
43
45
48
50
63
70
83
99
109
119
133
136
134
135
135
138
140
139
139
139
140
140
135
138
139
138
138
139
140
141
141
143
145
146
147
148
149
151
151
151
151
152
153
154
155
157
158
159
160
161
163
164
165
166
167
167
168
169
170
169
170
172
171
171
172
172
172
172
172
168
165
164
163
165
166
164
162
164
162
161
157
156
158
157
157
148
154
145
148
135
225
188
148
148
149
155
154
156
152
154
154
154
154
154
150
148
146
144
144
140
139
137
137
136
135
134
134
134
137
139
138
136
133
131
132
133
133
132
131
128
127
131
135
137
137
136
134
134
134
134
134
135
137
138
136
132
130
130
131
133
133
134
135
134
134
134
135
137
140
142
143
144
148
146
142
138
132
128
126
128
133
142
152
164
170
172
171
171
175
179
184
177
162
142
122
112
90
69
63
64
59
59
60
58
57
56
52
53
56
61
69
76
78
76
78
79
82
86
88
89
90
92
97
103
107
109
109
107
105
100
96
91
89
91
93
93
91
91
91
86
76
71
73
78
82
84
81
78
77
74
73
73
71
68
64
59
57
57
56
56
53
52
55
58
63
66
64
59
56
54
52
52
52
53
55
58
61
63
64
63
62
63
63
62
60
58
58
58
58
58
57
57
59
58
56
56
56
54
52
55
55
56
57
56
52
50
50
48
45
44
47
46
50
59
67
74
85
102
110
124
128
136
138
137
140
138
138
139
139
141
143
142
141
141
140
139
139
138
138
138
137
139
139
140
143
144
145
147
146
147
147
147
148
149
152
154
155
155
157
159
160
161
162
163
163
164
164
164
165
166
165
166
167
166
167
167
167
167
165
163
164
164
162
161
161
160
162
160
157
158
155
153
152
149
149
152
152
144
145
225
189
149
149
152
155
156
157
153
155
155
152
153
150
151
149
150
149
148
145
144
142
139
138
137
136
135
136
137
139
138
137
136
135
135
135
135
135
135
134
133
133
135
136
136
134
133
134
136
137
137
137
138
138
137
134
134
134
135
135
136
137
136
137
137
136
138
139
141
142
144
143
142
141
141
137
134
133
132
134
138
143
152
159
164
166
165
165
167
170
171
164
145
128
107
96
85
66
62
67
63
63
59
56
56
57
55
58
61
65
73
78
77
77
79
82
83
86
88
88
91
92
97
102
105
107
106
105
105
101
97
94
92
93
94
93
92
90
87
81
70
64
65
71
78
83
84
82
81
77
74
70
67
66
62
58
56
56
55
54
51
50
52
55
61
67
66
62
60
58
57
56
55
54
56
55
57
59
61
61
62
63
64
64
65
64
63
64
64
64
62
62
62
60
58
55
56
53
52
53
53
54
56
56
55
51
50
51
47
46
48
49
47
53
59
60
67
80
90
104
114
128
136
140
140
137
136
137
140
142
145
143
141
140
139
139
139
139
138
135
135
137
137
137
142
145
149
150
146
145
146
147
149
153
153
154
155
154
156
158
159
161
162
162
163
164
163
164
165
166
165
166
167
167
167
168
167
169
166
167
166
166
165
164
163
161
162
160
159
157
155
154
153
151
149
152
151
144
144
225
190
151
151
152
155
156
157
154
156
155
152
150
151
149
151
151
152
151
148
147
145
142
139
138
139
137
136
135
138
140
139
139
140
138
136
136
138
138
139
138
138
137
136
135
134
134
135
137
137
137
139
138
137
137
136
135
135
136
138
139
139
139
139
139
139
140
141
143
144
143
143
142
140
140
138
136
133
137
140
140
145
150
154
156
158
157
159
161
163
163
151
137
117
101
90
84
67
67
69
67
66
64
61
57
58
59
59
63
65
72
78
79
80
81
82
85
86
88
89
92
93
96
100
104
105
104
105
104
102
100
98
95
95
95
94
92
88
83
76
66
60
61
67
76
83
87
89
88
82
76
68
64
63
61
59
57
57
55
53
50
47
50
53
60
67
67
67
65
63
60
58
57
55
56
55
55
58
60
61
63
65
66
69
69
69
69
69
68
67
66
65
64
62
59
56
56
53
52
53
55
54
55
55
56
53
54
51
48
49
50
49
48
48
52
52
54
65
75
91
101
122
133
137
137
135
132
135
140
145
146
145
144
141
141
140
138
137
135
133
133
133
132
134
141
147
151
151
147
145
144
146
150
152
151
153
154
153
155
157
158
160
161
161
162
162
163
163
164
164
165
166
166
166
167
168
167
168
169
168
168
167
167
166
165
164
163
160
159
157
153
152
153
151
149
152
151
144
144
225
190
152
153
153
156
155
157
156
155
152
150
150
149
151
152
152
153
153
151
148
146
144
141
139
138
137
137
137
139
139
139
140
141
139
137
138
138
140
141
141
139
138
136
135
135
135
135
137
139
138
137
138
139
138
138
136
136
138
139
138
140
140
139
139
141
140
141
142
143
143
142
142
141
139
136
135
135
136
138
141
144
147
149
151
153
151
155
155
155
155
147
132
115
100
93
85
70
70
70
68
68
62
59
55
58
60
63
65
70
73
78
81
79
80
82
83
87
88
89
93
95
97
100
103
105
104
103
103
101
100
99
96
97
96
94
90
87
82
76
68
61
61
66
75
80
84
86
86
81
75
69
65
64
62
59
58
58
57
54
52
51
52
53
59
65
66
64
64
62
62
60
58
58
60
60
60
60
61
61
63
66
67
68
68
69
70
69
68
67
66
65
64
62
60
57
57
56
54
54
55
58
59
59
56
55
54
55
52
51
49
51
50
50
52
49
52
61
70
84
93
111
123
129
132
132
133
135
139
141
144
144
143
142
141
139
138
138
137
135
135
136
136
136
139
142
144
146
146
147
147
148
149
149
150
152
152
153
155
156
157
159
159
160
161
162
163
162
162
163
164
165
166
166
167
168
167
168
167
167
167
168
167
165
166
165
163
161
159
157
154
153
151
151
147
152
148
144
144
225
191
153
154
155
156
156
157
156
150
152
150
150
149
149
150
149
152
151
151
149
148
146
143
142
141
140
141
142
142
143
141
140
140
139
138
137
137
139
141
140
140
139
138
137
138
139
138
138
140
141
141
140
139
137
139
138
138
139
140
141
139
140
140
139
139
140
142
142
143
145
144
145
143
141
140
137
136
137
139
140
142
143
144
146
147
146
147
147
144
144
141
129
115
104
97
89
76
74
68
63
61
54
53
52
57
59
65
71
76
80
86
82
79
76
77
82
85
88
89
94
95
98
100
102
103
104
103
102
101
100
99
97
98
98
96
92
89
85
80
73
68
68
68
70
73
75
78
79
77
74
70
66
65
61
57
56
57
57
56
56
57
57
56
58
60
61
59
58
59
60
61
62
64
66
67
68
67
65
63
62
63
61
63
64
65
65
65
65
63
62
62
61
60
58
59
57
57
59
59
60
61
60
61
60
57
56
56
51
49
51
49
48
49
51
47
48
57
62
75
78
93
103
113
121
129
134
137
138
139
138
139
143
144
141
138
136
137
139
141
142
143
143
142
140
136
133
136
143
148
151
152
150
149
150
151
152
152
154
156
157
158
159
160
161
162
162
162
163
163
164
164
166
167
167
168
167
168
169
169
168
168
168
167
164
162
163
161
159
157
154
153
152
151
147
152
149
144
144
225
193
154
154
154
156
154
156
154
154
150
151
151
148
150
149
148
152
151
153
153
152
149
147
147
143
143
144
145
144
143
142
141
140
139
139
140
139
140
140
141
142
141
140
141
142
142
142
142
142
143
144
145
143
142
141
141
142
142
142
143
143
143
142
142
141
140
141
143
143
144
144
145
145
144
142
141
139
140
142
141
140
142
140
142
140
137
136
137
138
137
133
126
116
108
101
93
80
79
70
62
59
52
52
48
55
63
68
76
83
87
91
86
79
74
76
82
86
90
92
92
96
98
100
101
101
100
101
101
100
99
99
97
98
99
98
95
93
89
83
78
74
72
70
67
69
68
70
73
73
72
71
68
65
61
57
56
58
58
59
61
62
61
60
59
58
56
54
54
57
60
64
66
70
73
75
73
71
68
64
62
58
57
60
61
63
64
64
63
62
61
58
57
57
58
60
60
60
60
62
62
63
64
62
63
61
60
56
53
51
49
50
48
46
47
46
47
54
55
64
66
78
85
93
108
126
134
137
137
135
135
137
139
142
139
135
135
139
142
146
148
147
147
146
140
133
126
126
140
150
155
155
152
151
151
151
152
152
154
155
156
158
158
159
161
162
161
163
161
161
163
164
165
166
166
167
168
170
169
167
168
167
166
166
164
163
163
161
160
158
154
151
152
150
147
152
149
145
143
225
194
154
156
154
157
154
156
153
153
154
150
149
150
148
150
151
153
153
154
155
154
154
152
151
147
148
148
148
147
146
145
144
143
142
141
141
141
142
142
143
144
144
143
143
143
143
144
144
143
144
145
144
145
145
144
144
145
145
146
147
145
145
145
143
142
143
143
142
144
145
144
147
147
146
145
143
142
144
144
139
140
139
138
136
136
131
131
132
128
130
128
120
109
102
99
92
84
84
77
73
74
66
66
59
68
75
79
84
89
92
95
90
85
80
80
86
89
92
95
97
97
101
102
101
100
100
99
101
101
101
100
100
100
100
99
96
94
91
87
82
79
79
76
72
73
72
72
73
72
72
72
70
68
65
62
61
63
63
63
67
67
65
63
60
58
56
57
59
61
65
67
70
74
77
79
77
75
71
67
63
59
56
58
58
60
61
62
60
61
60
57
56
56
58
61
61
60
63
63
63
64
65
65
64
61
60
59
55
53
51
49
48
47
48
47
48
53
51
60
59
69
73
80
96
115
126
131
132
134
135
135
139
140
137
134
134
138
142
146
150
149
147
146
139
131
125
127
141
148
154
155
151
149
149
150
150
151
153
155
155
157
158
159
160
160
161
160
160
160
163
164
165
166
166
168
168
169
171
169
168
167
167
166
164
162
163
161
160
158
154
152
150
150
147
149
149
145
143
223
195
155
154
154
157
156
156
153
155
153
153
149
148
149
150
152
153
154
153
154
154
153
153
153
151
150
150
149
149
148
147
146
146
145
144
143
144
145
146
145
144
144
144
143
142
142
143
145
145
145
145
145
145
145
145
145
146
146
148
148
148
147
146
146
146
144
142
143
143
145
145
146
147
147
147
145
143
141
143
140
138
138
135
136
134
130
129
125
123
121
118
110
102
97
91
89
85
88
87
85
88
82
83
79
85
88
90
92
96
97
98
94
88
87
87
88
93
96
98
100
100
101
104
103
102
100
100
101
101
102
101
100
101
100
99
96
94
92
88
85
83
83
82
80
80
79
78
75
73
74
75
75
72
69
65
65
66
67
68
70
71
68
65
62
60
59
63
65
67
69
70
71
75
79
81
81
78
75
71
65
61
57
57
58
59
61
61
61
60
57
57
56
57
59
62
61
61
64
61
62
63
66
64
63
62
63
58
57
54
54
51
49
50
51
47
49
52
52
57
56
61
63
71
90
107
120
125
128
132
135
137
138
137
134
132
134
138
142
145
150
148
145
143
137
132
130
132
142
147
152
154
149
148
148
150
151
150
152
154
155
157
157
158
160
161
161
160
159
160
163
164
165
166
166
168
169
169
172
172
168
167
167
166
164
164
163
160
161
159
153
151
150
148
147
150
149
143
143
223
195
157
157
153
155
152
152
151
155
155
152
150
151
148
150
151
152
155
156
157
158
156
157
156
154
155
155
154
153
152
150
150
151
149
148
148
148
148
149
149
150
149
148
148
148
149
149
149
150
149
149
149
149
149
149
147
146
148
150
150
150
148
146
146
146
146
145
145
147
147
146
148
149
149
147
148
146
144
143
143
140
137
137
134
129
124
121
121
116
108
101
90
81
78
80
78
86
90
98
113
118
117
116
117
112
106
105
103
102
103
101
100
99
99
99
99
99
99
99
104
105
104
101
100
99
100
99
99
100
100
101
101
100
100
99
97
95
91
91
91
89
91
95
96
98
94
85
79
77
79
80
80
78
73
71
71
73
74
76
76
77
76
70
65
63
69
73
77
80
79
75
74
78
84
86
85
83
80
74
69
65
61
58
59
57
57
60
59
57
59
58
58
59
62
62
64
61
60
64
65
66
67
68
66
63
63
61
59
56
54
52
49
49
51
51
49
51
54
55
56
55
54
60
72
94
104
111
125
133
140
139
136
133
132
134
135
137
142
147
148
145
142
140
137
137
139
140
142
144
145
146
147
147
147
150
151
151
152
152
154
156
157
158
159
159
160
161
161
163
163
164
165
166
166
167
167
168
171
168
166
166
167
166
164
162
163
162
159
160
157
154
153
151
147
150
148
142
142
226
194
157
155
153
153
152
154
152
153
154
153
150
150
151
151
154
156
157
158
159
160
160
159
158
157
156
156
156
156
156
154
153
152
152
151
150
149
149
150
150
149
149
149
148
149
148
148
149
150
150
149
149
149
149
150
148
148
150
151
151
151
150
150
149
148
146
147
147
146
147
148
147
149
150
150
148
149
147
147
145
142
138
135
135
129
124
121
108
104
97
90
80
74
73
73
84
90
101
114
130
140
144
146
143
135
129
122
116
112
107
104
111
108
109
109
109
109
108
109
110
109
108
105
103
100
101
100
98
100
102
103
103
101
100
97
95
95
92
93
94
93
96
102
106
107
102
93
87
85
86
86
86
83
79
76
76
78
79
79
79
81
79
74
70
66
71
81
86
88
86
81
80
82
85
84
83
82
80
76
73
69
65
61
58
57
55
57
57
57
58
60
61
62
62
63
65
63
59
59
62
62
65
66
64
66
66
63
61
59
57
54
52
50
52
51
50
52
52
52
52
51
50
50
62
80
89
101
120
134
140
134
133
132
132
133
135
136
139
142
143
140
138
138
138
140
144
146
144
142
142
143
144
146
147
149
150
150
152
153
153
155
156
157
159
160
160
160
161
161
163
164
165
166
167
166
167
167
168
168
167
166
167
166
164
163
161
162
161
161
158
153
153
151
147
149
149
142
142
225
194
157
156
153
155
153
155
153
156
157
154
152
152
151
153
153
156
158
159
160
159
159
160
160
160
160
160
160
161
160
159
158
156
156
155
154
152
153
153
152
151
151
150
150
149
150
150
148
147
147
147
146
147
147
147
148
150
151
152
152
152
151
152
152
151
150
150
150
150
149
148
149
150
148
150
150
150
149
150
148
145
142
139
136
131
127
123
120
116
109
103
97
92
93
95
103
111
119
128
139
146
148
149
146
141
136
133
126
126
124
122
120
118
116
116
115
114
115
115
114
115
115
110
107
104
102
100
100
102
105
107
107
104
101
98
95
93
91
93
96
96
99
105
108
109
105
98
93
90
91
93
93
90
86
82
81
81
82
82
82
85
84
78
73
70
74
81
83
84
82
79
77
77
77
79
80
80
82
79
77
74
71
66
62
56
54
56
57
58
61
64
67
67
65
65
67
64
57
58
58
60
61
64
63
67
67
67
64
62
61
57
53
53
51
53
53
54
52
53
52
48
48
50
56
67
72
82
99
113
126
130
131
134
134
134
135
137
136
136
137
136
135
137
140
143
147
148
144
141
139
140
143
146
147
148
149
150
152
153
153
156
157
157
159
160
160
160
161
162
162
163
164
165
166
166
167
167
168
168
166
166
167
167
164
162
161
162
161
159
155
155
153
151
147
152
149
142
142
225
194
156
156
154
156
155
157
155
160
160
157
155
154
155
155
156
157
158
160
160
161
161
161
161
161
161
162
162
163
164
163
162
161
160
159
158
155
156
155
155
154
153
152
151
151
150
149
149
149
149
149
149
149
149
150
149
150
151
151
151
151
153
155
154
153
151
151
151
149
150
150
149
149
149
149
151
150
149
148
150
147
144
142
140
134
130
127
121
119
116
114
111
110
111
113
121
124
129
135
140
141
143
143
137
138
136
136
133
134
132
131
126
120
118
118
117
117
117
119
121
120
118
114
110
106
104
103
102
106
108
109
109
105
102
99
95
92
90
91
94
96
99
103
104
105
103
99
97
96
97
99
99
94
88
83
82
83
82
84
84
87
86
80
75
71
74
77
79
80
80
78
78
76
74
73
74
77
81
81
81
80
78
73
67
58
55
56
58
60
63
68
72
72
68
67
69
64
55
60
58
61
60
63
63
66
68
68
66
66
61
58
54
52
51
51
53
54
55
56
54
52
51
52
54
62
64
74
87
103
115
122
130
137
139
137
136
135
134
133
135
134
135
138
141
145
147
145
142
141
141
142
143
144
145
146
148
149
151
151
153
155
155
157
159
160
160
161
160
160
162
163
164
165
165
166
167
167
168
168
168
167
166
167
165
165
162
162
161
160
157
155
154
151
148
152
150
143
143
225
194
156
156
156
157
158
158
156
163
162
160
158
157
157
157
158
159
160
160
160
160
159
159
159
160
161
162
164
165
166
168
167
165
164
162
160
158
158
157
156
156
154
155
154
153
151
150
149
148
148
147
147
148
149
149
150
151
152
152
151
151
153
155
155
154
152
151
151
152
152
151
151
151
150
149
149
149
147
148
151
148
145
144
142
138
135
132
128
130
130
130
131
129
133
134
135
138
142
141
142
142
139
138
137
137
138
144
142
142
142
141
135
129
123
122
123
124
125
125
126
126
123
116
111
109
107
107
104
108
111
112
111
107
104
100
94
91
89
90
93
96
97
100
102
102
104
103
102
102
103
103
101
97
91
86
84
83
82
84
86
87
85
82
76
71
73
75
77
78
77
76
76
74
69
67
69
73
79
81
82
85
85
78
71
60
56
57
59
61
65
71
75
75
72
69
70
65
57
60
58
58
61
63
65
66
68
69
69
68
63
58
54
51
50
52
53
54
57
57
57
56
54
51
52
53
55
66
77
91
105
114
129
139
140
139
138
135
131
128
131
134
136
139
143
144
144
144
143
142
143
143
143
144
145
146
148
149
151
151
153
155
155
157
159
160
160
160
160
161
162
163
164
165
165
166
167
167
168
169
168
168
166
167
166
165
163
161
159
158
157
155
152
152
151
152
150
143
143
223
194
156
156
154
158
156
158
157
160
160
157
154
155
153
154
155
156
157
157
157
156
155
155
155
156
157
159
160
162
164
166
167
167
166
164
161
159
159
157
156
157
157
157
156
154
154
153
151
150
149
149
148
149
150
150
151
151
151
152
151
152
154
156
156
155
153
153
153
153
153
152
153
153
153
152
151
150
150
148
150
149
147
147
145
141
138
136
136
137
138
138
139
141
142
143
145
146
145
144
142
141
138
137
136
138
141
145
145
149
149
149
142
137
133
130
130
131
131
131
129
129
127
121
114
113
111
110
108
110
114
115
114
109
104
99
94
90
88
89
93
97
99
99
98
100
100
100
101
101
101
101
100
98
93
89
87
86
85
86
84
83
82
79
77
72
74
75
77
77
75
73
72
67
60
60
62
69
76
80
84
87
88
81
73
64
57
58
59
62
67
73
77
77
75
73
71
68
63
59
60
59
60
61
65
65
68
69
70
69
64
58
54
51
49
49
51
52
54
56
55
54
54
55
51
50
47
52
60
72
87
99
119
133
136
137
138
137
132
128
130
134
139
141
143
144
144
145
145
144
144
144
144
145
146
148
149
150
152
153
153
156
157
157
159
159
160
161
162
161
162
163
164
165
166
166
167
169
168
167
168
169
168
167
165
166
164
161
159
160
158
156
154
151
150
153
151
145
143
224
195
158
157
153
156
154
154
153
156
154
153
151
152
150
151
152
152
153
151
150
149
148
147
148
149
150
153
155
157
160
162
164
164
163
162
159
158
156
153
153
156
156
157
157
156
156
155
154
153
152
151
150
151
152
153
152
153
152
152
151
153
154
155
156
156
155
154
154
155
155
155
155
154
154
153
152
152
151
151
149
148
147
149
147
144
141
138
140
140
139
140
140
140
140
141
142
143
144
144
145
144
140
139
140
141
143
146
146
146
150
148
147
145
142
141
139
136
134
135
135
134
131
125
119
115
116
115
112
115
118
119
116
110
105
100
94
90
88
89
92
97
97
96
94
94
94
95
94
93
93
94
94
93
91
90
89
87
86
84
80
78
76
74
74
73
75
78
79
79
77
74
71
64
56
53
56
62
71
76
83
86
88
82
75
66
60
59
59
62
68
74
78
79
77
75
72
72
70
67
65
62
61
61
63
67
68
68
69
67
63
58
53
50
48
48
47
49
52
54
56
55
52
53
53
49
47
52
55
62
75
86
105
120
125
131
138
138
136
134
134
138
140
140
142
142
142
144
146
147
148
148
147
146
147
149
150
150
152
152
153
155
157
158
159
160
161
161
162
163
162
163
164
165
166
167
168
168
169
169
169
169
167
168
167
167
164
161
160
157
155
156
153
153
150
153
151
144
144
224
195
159
158
152
154
152
153
151
152
151
151
147
148
148
147
148
147
147
146
145
142
142
141
141
143
145
147
150
153
156
159
161
162
161
159
156
154
153
151
151
153
155
157
158
159
159
158
157
156
155
154
153
154
155
155
155
153
151
151
151
152
154
154
157
156
156
156
155
156
157
156
155
153
153
153
152
153
152
151
152
151
151
150
149
147
144
143
141
142
143
139
138
137
138
136
138
140
141
141
145
146
142
141
141
141
143
145
146
148
150
151
155
154
154
153
146
141
138
138
139
138
134
128
122
118
118
118
115
118
121
122
119
113
107
102
95
91
88
88
91
96
96
93
91
91
91
91
91
89
88
86
86
89
90
90
89
88
87
81
75
71
69
68
70
70
75
80
81
81
76
71
68
61
52
48
51
58
68
74
79
85
87
84
76
67
62
60
59
63
69
76
76
78
79
75
76
75
75
76
71
66
63
62
63
67
67
65
68
66
61
56
51
48
46
46
45
47
49
52
54
54
52
50
50
49
48
47
47
52
63
74
93
109
117
127
138
140
141
143
139
140
142
141
141
141
139
141
145
149
151
150
149
148
148
150
150
151
152
153
154
156
158
158
160
161
160
161
162
163
163
163
165
167
167
167
168
170
169
168
168
170
169
168
166
166
165
161
159
159
155
155
155
153
150
155
150
147
143
225
193
154
154
148
154
143
149
144
147
146
144
142
143
141
142
143
139
139
138
135
134
130
129
129
130
132
136
140
144
148
151
154
156
155
154
151
149
149
149
148
147
152
156
158
160
162
162
161
158
157
156
155
156
157
157
157
156
155
151
149
150
152
154
158
159
157
157
157
158
156
154
156
156
155
153
151
151
151
152
154
153
153
152
151
149
146
145
145
146
146
146
141
138
136
134
136
134
136
139
143
143
143
147
143
142
142
142
143
145
151
153
161
162
164
158
151
146
142
140
143
141
139
133
127
124
122
122
121
122
123
125
122
116
110
104
96
93
90
90
93
96
94
90
86
83
84
85
86
84
80
79
80
83
87
90
90
89
87
80
71
63
62
64
65
70
78
83
87
84
77
69
64
56
47
45
47
53
63
70
76
82
88
82
78
69
64
63
61
60
68
73
77
80
79
78
77
82
86
84
82
73
65
64
64
64
66
64
67
66
61
56
51
48
46
45
43
44
46
48
49
50
50
52
49
48
47
44
39
41
48
59
76
93
106
119
134
141
143
147
149
144
143
142
140
141
141
144
147
151
152
152
152
151
151
151
152
152
154
155
156
157
157
159
160
161
162
162
163
163
164
164
166
165
166
167
168
169
171
171
170
169
170
169
168
169
165
163
162
161
158
157
156
154
151
152
146
154
135
228
191
148
146
139
140
129
133
129
129
129
128
126
126
125
124
125
124
124
122
119
117
115
113
113
114
116
119
125
128
132
136
139
140
140
138
137
136
135
136
138
141
146
152
155
157
158
159
159
160
159
158
158
157
158
159
158
158
157
153
150
151
152
153
156
156
155
156
157
157
158
157
156
155
156
154
153
153
152
151
152
152
150
150
150
147
145
143
145
145
145
143
139
136
133
132
134
132
134
137
142
142
144
143
145
144
142
144
145
147
152
154
158
162
162
160
151
147
143
142
145
143
141
135
129
127
126
126
124
126
126
128
124
119
113
107
101
96
92
92
96
98
95
89
82
80
82
86
88
87
83
80
80
81
84
85
83
81
79
75
69
65
64
68
73
78
84
87
89
87
78
68
61
55
48
44
47
51
58
62
68
75
79
78
75
68
64
64
60
61
67
70
73
76
79
78
80
84
89
86
85
75
68
65
66
63
63
63
67
68
62
58
54
51
49
48
46
48
49
50
52
53
54
52
50
49
47
45
43
45
49
54
65
78
92
107
122
132
138
146
151
149
149
148
148
148
146
149
149
151
152
152
151
152
151
151
152
153
154
155
157
158
159
159
160
161
161
162
163
165
165
165
166
167
167
168
169
169
170
171
171
170
169
169
168
166
166
164
163
161
159
158
157
155
152
152
146
155
135
228
187
140
141
130
127
115
119
115
117
117
114
115
113
114
112
111
110
110
108
106
103
101
99
99
100
102
106
111
116
120
125
128
130
131
129
128
128
129
130
132
137
143
149
152
157
160
160
160
159
160
159
158
159
160
161
160
159
157
155
151
151
152
152
154
154
153
154
156
158
159
158
159
158
156
155
154
153
153
153
153
151
150
151
150
147
145
145
144
141
142
140
137
133
133
130
132
132
133
138
139
143
143
144
142
141
144
142
145
148
151
153
161
161
165
161
153
148
145
143
144
145
143
137
134
132
129
129
128
129
129
130
126
121
115
110
103
99
97
96
98
99
95
86
76
74
78
86
91
90
84
81
79
80
81
79
77
75
73
69
67
65
66
72
79
87
91
93
93
88
77
66
58
53
48
44
45
46
52
57
61
67
73
74
73
70
68
65
61
61
66
67
69
73
76
79
82
89
94
93
88
78
70
67
67
63
61
63
65
67
63
60
58
55
53
51
50
50
52
51
53
54
54
52
52
49
48
46
48
48
50
53
54
62
76
93
111
125
134
143
151
151
149
149
150
152
153
154
152
150
150
151
152
153
153
153
153
154
155
156
158
159
160
160
161
162
162
163
165
165
166
167
168
169
168
169
170
171
170
170
170
171
171
170
169
168
166
164
162
162
160
158
159
157
153
153
148
155
137
229
184
131
134
120
114
103
103
102
103
103
102
102
101
99
100
99
98
98
95
94
90
87
85
86
87
89
93
99
103
108
112
115
117
118
115
115
116
118
121
124
128
135
143
149
153
157
161
160
159
161
160
160
160
161
161
162
161
160
156
153
152
153
153
153
152
152
154
155
158
160
161
160
159
158
156
154
152
152
153
152
151
151
151
150
147
145
145
142
140
138
137
135
131
133
131
134
133
133
136
138
140
140
141
141
141
141
144
144
148
149
153
158
161
163
161
156
150
147
145
147
145
143
141
137
135
133
131
131
132
132
133
130
124
118
113
107
102
100
99
101
102
95
82
72
69
74
85
93
92
87
83
79
79
78
75
73
71
68
67
65
64
67
74
84
92
94
94
94
88
76
63
55
50
46
44
43
45
48
50
55
61
67
68
69
70
71
67
64
62
64
64
66
69
74
79
85
91
98
97
90
79
71
70
66
62
59
60
62
66
65
63
62
60
59
57
55
54
54
54
55
56
56
54
55
52
50
50
51
51
51
50
48
53
66
82
99
114
127
140
151
153
152
154
157
160
162
160
155
150
149
151
154
155
155
155
156
157
158
159
160
161
161
162
163
163
164
165
166
166
169
170
170
170
169
170
171
172
172
172
171
170
172
171
170
169
167
165
164
163
161
160
159
157
154
154
147
156
136
229
174
117
119
103
95
84
83
82
84
83
82
81
82
81
81
80
79
80
77
74
71
69
68
68
69
70
74
79
84
88
92
95
97
97
97
98
99
100
104
107
113
124
133
139
144
151
154
155
157
158
158
158
158
160
162
162
162
161
157
154
154
153
152
152
151
151
153
154
156
160
161
159
158
158
156
155
154
153
151
151
151
149
149
149
146
143
144
138
139
138
134
133
132
132
132
136
137
135
138
139
141
141
140
142
143
142
145
145
150
152
154
157
159
161
159
155
152
149
147
147
147
145
142
139
138
137
135
134
135
135
134
132
126
121
118
113
108
107
105
105
104
97
83
69
64
69
82
90
90
87
85
82
81
79
76
74
71
68
67
65
64
66
72
81
88
91
92
92
86
73
60
53
49
47
47
46
44
45
47
51
55
61
65
67
71
73
69
66
64
64
63
65
68
73
78
82
88
95
94
90
80
72
69
68
62
59
60
64
65
68
69
67
66
65
63
61
60
58
57
57
58
59
59
58
54
52
53
53
53
52
49
46
49
57
67
80
94
107
124
140
150
152
157
161
163
162
160
157
153
152
153
156
157
158
158
158
159
160
161
162
163
164
164
165
165
166
166
167
168
170
171
171
171
170
171
171
172
173
172
172
172
172
172
171
170
169
167
165
163
160
159
160
158
156
155
149
156
138
229
170
106
106
88
78
68
66
65
68
67
66
66
66
66
65
65
64
65
61
60
59
58
56
56
56
58
61
65
69
73
76
78
78
81
82
82
84
85
88
93
98
109
120
126
133
141
145
146
148
149
152
154
155
157
158
160
161
159
157
155
153
154
154
151
150
151
153
154
156
159
160
159
158
157
155
155
153
152
153
153
151
151
151
149
147
144
143
138
138
136
133
133
133
134
137
137
139
137
139
137
141
139
139
142
142
145
147
150
152
154
155
157
154
155
156
154
153
151
150
149
149
147
144
143
142
141
139
139
137
135
135
133
130
126
122
118
115
115
112
110
111
101
85
70
64
68
79
87
89
89
88
87
86
85
83
78
75
73
70
67
65
65
70
76
80
84
86
85
81
69
57
51
49
48
49
47
45
44
44
45
50
54
60
65
72
74
71
68
69
67
65
65
67
72
76
79
86
91
90
87
81
73
71
66
63
61
64
66
68
71
73
75
74
73
70
67
65
63
62
60
60
61
60
59
56
54
55
54
52
53
52
50
52
53
55
62
74
85
100
121
139
149
158
161
161
162
160
158
155
153
155
158
159
159
159
160
160
161
162
163
164
164
166
167
168
168
167
168
169
169
170
171
172
171
173
173
173
173
173
172
171
171
171
172
171
171
169
167
164
162
161
159
159
157
156
150
157
138
229
163
95
96
74
66
57
52
51
56
55
55
55
55
55
55
55
55
55
54
53
51
50
48
49
48
49
52
55
58
61
64
65
66
68
70
70
72
74
76
81
86
98
109
115
123
132
137
137
138
142
146
149
151
154
155
159
161
160
157
155
154
154
155
153
151
152
153
154
156
157
158
157
156
156
155
154
152
152
152
153
152
151
150
149
146
143
142
137
138
134
134
134
136
139
140
142
141
141
140
138
140
140
139
142
142
146
148
151
153
154
153
156
153
153
155
153
153
154
152
151
150
149
146
146
145
143
141
139
138
137
136
134
131
128
126
123
120
119
117
116
115
106
89
72
65
68
78
86
88
90
92
92
91
90
88
83
80
77
73
69
65
65
66
69
72
75
79
79
75
67
56
50
49
48
50
48
46
45
43
45
48
52
57
62
71
75
73
73
73
70
68
66
67
71
74
76
80
86
85
84
80
73
70
67
63
64
64
67
69
72
75
78
79
78
77
72
69
66
62
62
62
62
63
60
58
57
56
53
53
53
54
56
58
53
48
50
58
68
82
107
131
145
160
164
161
162
159
158
157
158
159
160
161
160
160
160
161
162
163
164
165
166
167
168
169
169
168
169
171
171
171
172
173
172
171
172
172
172
172
173
173
173
172
171
172
172
170
168
165
163
162
161
160
158
157
151
157
138
229
158
87
89
67
61
52
45
46
48
47
48
47
47
47
48
48
48
48
48
46
47
43
43
44
43
43
46
49
52
53
56
57
57
60
61
61
61
63
65
70
78
89
100
107
114
124
128
130
133
136
140
143
147
151
154
158
160
159
157
155
155
155
155
153
152
153
153
154
155
156
156
155
157
155
154
153
152
152
150
151
151
149
149
149
146
142
142
139
138
135
135
136
139
141
141
143
142
141
138
140
139
138
139
142
142
146
148
151
152
153
154
155
152
152
152
154
156
154
154
151
151
149
147
146
145
144
142
140
138
136
135
133
132
129
127
125
122
123
121
117
116
107
91
77
69
72
81
87
90
93
97
98
96
94
90
86
83
79
75
70
67
66
65
66
67
70
74
75
72
64
56
49
48
49
49
48
46
45
44
46
49
53
56
61
71
75
75
74
76
71
69
68
69
70
73
75
76
81
79
81
78
74
73
70
65
64
67
69
71
73
76
79
80
80
79
73
70
66
62
60
61
61
62
61
59
57
56
54
52
53
54
57
57
51
44
44
49
57
70
93
119
135
151
158
158
160
159
160
160
159
160
161
161
161
161
162
163
164
165
165
166
168
169
170
170
170
169
170
172
172
172
173
172
172
173
172
173
172
173
173
172
172
173
172
170
173
171
169
166
162
161
162
160
157
157
151
159
138
230
152
76
84
64
55
47
43
46
44
45
43
42
41
44
43
43
44
44
44
46
46
46
45
44
44
44
46
49
50
52
53
53
53
54
54
53
53
54
56
61
69
77
87
96
103
112
117
120
123
128
133
136
140
145
149
154
158
157
156
156
156
155
155
157
155
154
155
154
155
156
155
155
156
154
153
152
151
150
150
151
152
151
151
150
147
145
144
138
138
138
139
139
138
139
139
140
140
141
139
141
141
139
140
143
144
145
145
148
150
151
152
151
153
154
153
156
158
158
156
153
152
149
147
147
145
145
143
140
137
137
133
131
131
130
129
127
125
125
122
119
117
111
98
85
79
81
90
97
100
103
108
108
104
98
90
84
80
74
72
70
69
68
67
65
65
66
68
70
69
62
53
49
49
48
47
47
44
44
46
48
50
54
58
62
70
74
76
79
79
77
72
70
72
69
68
69
72
74
74
73
73
75
74
70
70
69
69
68
71
73
76
78
79
79
76
72
68
63
60
58
57
56
56
57
60
58
56
55
53
54
55
55
54
50
46
43
45
51
60
78
101
116
130
144
153
160
166
166
166
166
165
164
165
163
163
164
165
166
167
168
168
170
171
171
170
170
170
171
172
170
171
172
173
174
174
173
174
175
175
174
173
174
174
173
172
171
169
169
167
164
163
162
159
159
158
154
160
141
231
147
70
78
60
49
44
38
41
42
40
39
38
37
40
39
41
42
43
43
44
44
43
42
41
41
42
44
45
47
48
49
48
48
49
47
44
44
46
48
51
58
67
77
84
91
98
105
109
112
116
123
128
133
140
146
150
153
155
155
154
156
156
156
157
157
156
156
155
154
155
155
154
153
153
152
151
151
151
150
152
153
152
151
151
149
146
145
143
143
142
140
140
141
139
139
139
141
141
139
142
142
142
141
144
143
143
145
145
145
149
148
151
154
154
156
158
160
159
159
155
153
151
151
149
147
145
143
141
138
135
134
131
131
131
132
130
129
129
126
123
122
116
105
94
90
92
101
107
111
115
118
117
110
101
91
84
79
74
70
69
70
70
67
63
62
64
67
69
67
60
52
49
48
47
48
48
47
46
48
50
52
56
59
64
70
74
77
81
83
81
78
75
74
70
65
64
64
65
67
69
71
74
73
73
70
69
68
68
68
70
74
76
75
74
72
70
67
61
56
55
54
53
54
55
58
60
57
56
54
53
52
52
51
49
45
44
47
49
51
64
84
98
112
131
145
158
168
170
171
171
170
169
168
166
165
166
167
167
168
169
170
171
172
171
171
172
172
171
171
171
172
173
174
175
175
175
174
174
175
175
175
175
174
173
173
173
171
169
168
164
162
161
161
160
158
154
161
142
232
145
65
73
58
48
43
38
41
38
37
36
35
35
35
36
37
37
40
41
42
42
41
40
41
40
41
43
44
44
43
44
45
46
45
43
42
40
41
42
45
54
62
70
78
83
91
98
101
104
110
116
122
129
136
143
150
154
156
156
156
157
156
157
159
158
157
156
156
154
153
154
153
153
152
151
151
150
150
150
152
152
152
151
151
150
147
145
146
145
145
144
143
142
141
139
141
140
140
140
140
143
142
142
144
143
145
143
144
144
147
146
151
153
154
157
159
161
159
157
153
152
152
150
148
147
143
141
139
136
134
130
128
130
129
129
129
128
129
129
125
122
117
110
102
98
101
108
113
117
122
127
125
117
106
94
85
80
74
72
72
72
71
67
63
61
62
64
65
63
58
52
49
47
47
47
47
48
48
49
51
53
58
60
63
70
74
78
83
86
84
82
79
75
70
63
61
60
61
61
66
71
74
75
74
72
71
72
69
68
71
74
76
73
72
70
68
66
60
56
52
52
51
52
54
57
59
57
56
55
52
50
50
49
46
45
44
44
44
45
54
70
83
100
121
142
159
169
174
176
175
173
170
168
168
167
167
167
167
168
169
169
172
171
171
172
173
173
173
172
173
173
174
174
175
176
176
176
175
174
173
174
174
174
173
171
174
172
170
167
165
164
163
161
160
159
155
161
142
232
141
59
65
54
48
41
37
39
36
37
35
34
34
34
36
35
35
37
40
39
39
39
38
39
40
40
41
43
43
42
42
43
44
43
42
40
40
39
40
43
49
56
63
68
72
78
86
90
95
101
108
113
119
129
137
144
149
152
153
156
157
157
158
158
158
157
156
155
155
153
152
152
152
151
150
149
149
150
150
151
152
151
150
150
149
148
147
145
145
146
145
144
142
141
141
141
141
141
141
141
144
144
143
143
145
143
142
145
145
145
147
149
151
153
155
158
159
159
156
152
152
151
150
149
148
145
143
139
135
132
129
127
129
128
129
129
129
129
127
124
122
120
115
109
107
109
114
116
118
123
127
126
119
110
99
90
84
77
73
73
71
68
66
63
61
60
60
61
61
57
53
51
49
48
49
48
47
45
48
51
54
59
61
64
70
76
80
84
86
84
83
80
76
69
63
61
61
61
63
65
70
72
73
73
75
75
74
70
70
71
72
74
72
69
67
66
64
63
60
57
54
53
53
55
56
58
58
56
54
53
51
50
49
48
46
46
45
43
42
48
63
74
88
108
130
150
164
173
178
181
180
176
173
171
169
169
170
171
170
170
170
171
171
172
173
173
173
172
173
175
175
174
175
174
175
177
177
174
172
172
172
172
172
172
170
173
171
170
168
165
164
163
161
160
159
155
161
142
230
136
49
57
48
42
38
35
37
35
36
36
34
35
35
35
34
34
36
38
39
38
37
38
37
37
38
40
42
41
41
42
42
41
41
41
40
40
40
40
42
45
48
52
54
58
63
69
76
82
90
97
103
110
119
127
134
141
148
152
155
157
158
158
157
157
156
155
155
155
154
154
151
150
150
149
150
150
149
150
151
151
148
148
149
148
146
146
147
147
147
146
144
145
143
143
143
143
144
143
143
145
145
145
143
143
142
143
143
143
147
146
147
150
151
153
154
155
154
155
153
152
153
153
154
152
148
146
141
137
132
129
127
128
129
129
129
129
129
129
129
127
125
122
118
117
118
119
120
122
124
126
124
121
116
107
98
92
83
76
73
69
65
63
61
60
59
58
57
57
56
54
53
51
48
47
47
46
44
47
49
55
60
64
68
74
78
81
84
86
83
81
79
75
69
63
61
62
63
66
66
69
68
69
70
74
75
72
70
68
70
70
69
66
65
63
62
64
66
68
67
63
58
56
56
55
55
54
55
56
54
53
52
51
50
50
49
47
44
41
45
55
63
73
93
114
134
153
169
182
188
188
182
177
174
173
173
173
173
174
173
173
173
173
173
172
171
171
173
175
176
176
175
174
173
174
175
176
173
172
173
173
173
173
172
170
172
170
167
168
165
162
163
161
160
159
155
161
141
231
133
41
49
45
41
38
34
35
34
34
34
35
35
33
33
33
35
34
35
37
37
37
37
37
36
36
39
40
41
40
41
41
41
42
42
43
43
43
43
42
43
44
46
47
49
53
57
64
73
82
90
95
102
112
121
128
136
146
152
155
157
157
157
156
155
156
156
156
154
153
155
151
150
150
150
149
148
149
151
150
149
150
149
148
147
147
147
146
146
145
145
145
145
147
147
147
146
146
146
146
145
145
145
144
144
144
146
145
145
146
146
149
148
149
151
152
154
152
151
154
152
152
154
154
153
149
146
140
137
132
129
126
126
126
127
127
127
126
127
129
129
129
127
124
123
123
123
123
122
124
125
124
124
122
116
108
99
90
79
72
66
62
61
60
59
58
56
54
54
55
55
54
52
50
49
48
46
45
48
51
55
60
65
69
75
79
80
84
84
82
80
78
74
70
65
63
64
65
67
69
68
68
69
70
72
73
73
73
71
69
67
65
63
62
60
60
63
69
75
74
69
64
60
58
55
53
53
54
55
56
56
56
54
52
51
50
47
45
42
43
51
56
65
84
105
123
144
165
181
190
192
185
179
176
173
173
174
174
175
174
173
173
174
174
173
172
172
174
176
177
177
175
173
173
173
174
175
173
173
173
173
173
173
172
172
171
169
166
167
165
164
163
160
160
159
155
161
141
231
131
38
45
43
42
37
35
37
35
36
36
33
34
34
33
33
33
33
33
33
33
34
35
36
35
36
37
39
40
39
40
41
41
41
42
42
43
43
43
43
42
41
42
43
45
48
51
56
64
72
80
85
92
101
111
118
126
137
147
154
156
156
157
157
155
156
156
156
155
154
155
151
150
150
150
149
148
149
150
148
149
150
150
148
145
145
145
147
148
147
146
146
146
148
148
148
146
146
146
148
148
148
148
146
146
146
148
147
149
149
149
151
151
151
149
151
152
151
151
154
152
154
156
157
155
151
147
142
139
134
131
128
129
129
128
128
127
126
127
129
129
128
129
128
127
126
125
124
125
127
127
125
126
125
118
110
102
92
82
73
66
61
60
59
57
57
55
54
53
52
54
55
53
51
49
50
48
47
50
52
55
60
63
67
73
77
77
80
82
81
78
78
75
71
67
66
66
67
71
70
70
70
71
74
74
76
78
77
76
73
69
64
62
61
59
60
64
70
76
74
70
66
62
59
54
52
52
53
54
54
54
56
55
53
52
51
47
46
43
43
48
50
59
78
95
110
130
152
168
179
183
182
183
180
176
176
176
177
178
177
175
174
174
175
174
173
174
175
177
179
178
176
176
175
176
175
174
173
171
171
171
172
173
172
170
171
169
167
165
164
163
162
162
160
158
156
162
142
230
129
35
43
42
40
38
35
35
37
37
35
32
32
34
34
35
33
34
34
34
34
33
34
35
37
36
36
39
39
38
40
40
39
39
39
40
40
41
41
42
40
37
37
39
40
43
46
50
56
62
68
73
78
88
98
105
114
127
141
151
156
159
161
160
158
158
159
157
156
155
156
152
152
150
149
149
148
148
148
148
148
148
149
148
145
145
145
149
148
148
147
149
149
148
148
148
148
149
149
148
150
150
150
150
148
150
150
150
150
150
150
151
150
151
149
151
151
151
151
153
154
155
158
158
156
154
149
146
142
139
137
134
133
133
132
131
129
127
127
129
129
129
130
130
130
130
129
129
129
129
129
128
128
128
121
112
102
92
82
74
68
63
61
60
59
59
55
52
51
50
51
52
53
53
52
52
51
50
52
53
56
59
61
64
69
71
73
76
78
80
79
78
76
73
70
69
69
70
73
74
76
77
76
78
79
77
81
84
84
79
72
65
62
63
63
63
67
70
72
72
69
65
63
60
55
52
50
52
54
54
53
55
55
53
52
51
50
47
44
44
46
47
54
67
81
93
111
131
146
159
170
177
182
183
182
181
179
180
182
183
182
179
178
179
177
176
176
177
178
178
180
181
181
180
177
175
173
173
173
173
173
172
172
171
172
171
169
168
165
166
165
164
162
159
162
156
162
144
231
131
34
44
44
39
40
38
35
35
35
34
33
34
34
33
33
34
34
33
32
32
33
34
34
36
37
37
39
39
40
40
40
38
38
38
39
40
40
41
41
40
38
36
37
38
39
41
46
51
54
60
64
65
76
87
95
106
120
138
150
153
159
163
162
161
161
160
158
157
157
156
154
152
150
150
149
148
150
149
148
148
147
147
147
148
147
145
147
148
147
150
149
151
151
149
151
151
151
149
149
151
151
151
151
149
149
149
149
149
149
149
147
147
149
149
149
149
148
149
150
153
156
157
160
158
155
152
148
145
143
141
139
138
136
134
132
128
127
125
127
128
128
130
132
132
132
131
130
131
130
131
131
131
131
124
111
102
92
83
75
69
64
62
62
62
61
55
51
50
49
48
49
50
52
53
54
53
53
55
54
55
58
60
62
65
68
70
73
75
77
78
76
77
75
74
73
73
74
73
75
81
83
82
81
81
79
83
92
93
84
76
66
62
64
65
65
69
68
69
71
68
67
64
61
57
53
50
52
53
52
53
55
54
54
53
52
51
48
46
45
46
49
53
62
74
84
97
112
123
139
155
172
182
182
183
182
181
183
184
189
188
185
183
183
181
178
178
179
178
179
182
185
185
183
180
175
172
171
171
172
172
173
174
173
173
171
170
169
167
165
164
162
162
157
165
154
160
149
233
128
32
42
42
38
39
38
37
37
35
34
35
32
32
34
34
32
32
32
31
32
33
32
34
35
36
36
38
38
39
39
39
38
39
38
37
38
39
41
40
39
36
35
36
36
38
40
42
46
48
51
54
57
66
78
86
96
113
132
145
151
158
162
163
164
162
161
160
158
157
157
155
153
151
150
150
148
149
150
150
150
149
149
149
149
148
147
147
147
148
150
151
151
151
151
151
150
152
150
150
150
150
152
150
151
150
150
150
150
150
152
150
151
152
151
150
151
149
150
153
155
157
159
160
160
156
154
153
151
148
145
145
143
140
138
134
131
129
126
127
128
127
131
134
133
133
132
132
132
131
131
129
128
127
120
110
101
93
84
77
71
66
63
62
61
60
54
50
48
47
47
47
47
50
51
51
52
54
55
56
56
59
60
62
65
68
70
72
74
76
75
76
75
74
74
74
75
74
75
77
82
86
84
83
83
80
84
92
94
85
77
67
63
64
65
63
67
69
69
70
68
69
65
61
56
52
50
50
51
52
53
54
54
53
52
52
50
49
47
46
47
48
50
56
66
72
82
93
100
116
137
160
177
180
182
184
184
187
190
192
190
187
184
183
183
181
180
181
182
181
183
186
186
185
181
177
174
173
174
172
173
173
173
172
172
172
171
170
167
168
167
165
164
160
166
155
162
151
234
127
31
39
41
37
37
36
37
38
35
34
34
32
32
32
32
33
33
32
31
32
33
34
35
35
34
35
37
37
37
38
39
38
37
37
36
37
38
40
41
39
36
35
35
35
36
38
41
45
46
48
50
50
59
71
78
89
107
127
142
149
158
163
164
165
164
163
161
160
157
156
155
153
152
152
150
150
150
150
150
150
149
148
149
147
146
146
148
147
150
148
149
151
151
151
151
150
152
152
152
152
151
151
152
151
151
153
153
153
153
153
154
152
153
154
151
150
149
151
155
156
159
161
162
162
160
158
155
154
152
150
150
147
144
141
136
133
130
126
126
127
127
132
136
137
136
134
133
133
130
129
127
124
121
113
104
98
90
83
78
72
68
65
65
62
59
52
48
46
45
43
42
44
46
47
49
50
53
56
58
58
61
63
64
69
71
73
75
75
77
75
74
72
71
70
70
72
70
73
73
79
82
82
81
82
79
81
87
87
81
75
69
65
63
61
59
63
67
69
70
70
73
70
63
57
53
51
53
53
52
51
53
53
53
52
51
50
49
48
47
47
47
48
51
57
62
71
80
86
99
121
146
163
170
178
185
189
192
194
196
193
189
184
182
185
185
185
185
184
184
184
185
186
185
182
180
178
177
176
175
174
175
175
173
174
173
172
169
169
170
167
167
166
161
166
158
163
152
234
126
30
38
40
37
38
36
36
38
35
36
34
32
32
32
34
33
33
33
33
33
33
35
34
33
35
35
37
37
38
38
38
37
37
36
35
36
38
41
43
40
37
36
35
35
36
37
39
42
43
43
42
42
51
62
72
83
100
121
138
146
156
162
165
167
166
165
163
161
159
158
156
154
153
152
151
149
149
149
149
150
150
149
149
149
148
147
146
149
148
150
149
149
151
151
150
152
151
153
153
153
152
152
152
152
154
154
153
153
153
153
155
155
155
155
153
151
150
152
157
158
161
163
164
165
163
161
159
159
158
158
157
152
150
145
138
134
131
126
125
127
127
132
138
139
137
134
131
130
127
125
123
119
115
107
99
94
87
81
77
74
69
67
66
62
57
50
46
43
42
40
39
41
42
44
46
47
50
55
57
61
65
69
72
76
78
77
78
79
78
74
72
68
65
62
62
65
67
69
70
74
74
75
76
79
77
76
76
74
73
72
71
67
63
57
52
58
66
71
73
72
74
73
66
60
55
53
55
55
53
52
53
52
51
51
51
50
51
50
49
48
47
47
48
50
53
58
64
68
81
103
127
147
161
176
189
195
199
200
200
196
190
185
183
186
189
188
187
188
188
186
185
184
182
184
183
183
180
179
177
176
175
176
176
175
172
171
171
172
171
170
167
168
162
169
158
164
153
233
125
29
37
39
38
38
38
36
38
35
36
33
34
34
34
33
31
31
31
31
32
34
33
34
34
35
35
37
37
38
38
38
37
37
36
35
36
39
42
43
40
38
37
36
35
35
36
37
40
41
40
40
39
46
56
65
76
94
116
132
142
154
162
166
168
167
167
166
161
160
159
158
155
154
153
152
150
150
151
150
148
148
148
147
147
146
145
147
147
149
148
151
149
151
151
150
151
153
152
154
153
153
155
155
155
155
154
154
156
156
156
156
156
155
154
154
151
151
153
159
160
163
164
165
166
166
164
162
163
163
164
162
159
154
149
139
134
131
127
125
125
127
134
140
142
140
135
130
127
125
122
118
114
110
104
99
93
86
84
82
79
76
73
70
65
58
49
44
41
39
38
38
39
40
42
44
45
48
53
58
63
70
73
77
81
83
82
82
80
79
72
70
68
62
58
58
63
66
69
68
69
70
71
72
76
76
74
69
66
68
70
74
70
62
54
48
55
64
71
74
73
75
74
67
61
58
56
56
56
55
53
52
52
51
52
52
52
52
52
51
50
47
46
46
47
48
49
50
51
60
82
106
127
146
169
188
196
201
202
201
197
190
187
186
189
192
191
191
192
190
187
184
182
181
183
184
186
182
180
178
176
176
176
176
176
175
173
174
173
172
171
169
170
164
170
161
166
154
233
125
27
39
37
36
36
38
36
37
37
34
33
34
34
34
33
31
32
32
31
32
34
35
34
34
35
35
37
37
38
38
38
37
36
35
34
35
38
43
43
39
37
36
35
34
34
35
37
40
41
41
39
38
44
54
62
74
90
111
129
140
154
164
167
168
168
167
166
163
162
160
159
156
154
153
151
149
150
151
151
150
150
150
149
149
148
147
147
147
147
150
149
151
149
150
152
151
152
154
153
155
156
157
155
156
156
156
155
157
157
157
157
157
157
157
155
152
154
155
160
163
165
166
165
167
166
166
164
164
165
167
165
161
156
151
144
137
132
128
125
124
127
135
143
146
145
138
132
129
126
123
119
116
113
109
106
102
98
97
96
95
92
87
81
73
63
51
45
41
39
41
40
40
40
41
43
44
47
52
58
65
73
76
80
84
86
83
84
82
79
75
73
70
65
63
63
64
67
68
68
68
69
70
71
74
74
74
70
69
70
74
76
73
65
58
53
57
62
70
73
72
74
72
67
62
60
57
58
57
56
55
53
52
52
51
51
52
53
54
53
52
49
47
45
45
46
46
45
45
51
69
89
108
129
157
184
195
198
199
198
196
193
191
190
192
193
192
194
193
191
189
186
184
183
185
186
188
185
182
180
179
178
179
179
178
178
177
175
174
173
171
172
171
165
171
161
168
157
234
127
29
37
39
36
38
36
35
36
36
35
33
34
34
34
33
31
32
32
32
32
34
35
34
32
33
34
36
36
36
37
37
37
36
34
33
34
38
44
44
41
39
36
35
35
35
36
37
38
39
41
40
37
43
52
60
72
86
106
123
136
153
165
168
168
168
167
166
164
163
160
159
156
155
153
151
151
150
149
149
148
148
148
149
147
146
145
147
149
149
148
149
151
149
150
151
153
152
154
153
155
155
158
156
157
157
155
157
158
158
157
156
158
158
159
155
153
155
157
161
164
166
166
166
167
167
168
167
168
169
169
167
164
160
154
146
140
135
130
126
125
127
137
146
149
147
141
136
131
128
124
121
119
116
115
114
112
111
111
111
109
105
98
90
79
68
56
49
44
43
45
46
45
44
43
44
46
49
54
59
66
74
77
83
87
89
87
86
84
81
77
75
73
71
70
69
66
64
66
65
69
71
70
72
72
69
72
71
76
78
76
78
76
70
63
59
62
64
67
71
70
73
71
68
65
62
59
58
58
58
56
54
54
53
52
52
53
54
55
54
54
53
52
49
47
46
44
44
44
47
60
73
89
111
145
177
191
195
195
196
197
195
194
194
195
194
193
194
193
191
190
189
187
186
187
187
189
187
184
182
181
180
181
181
180
179
178
176
174
173
174
172
172
166
170
162
169
158
233
127
29
37
37
35
37
37
34
35
34
33
32
34
33
32
32
30
30
30
31
32
33
34
35
32
35
35
35
36
36
37
37
35
35
33
32
34
38
44
45
42
40
38
38
37
35
36
37
40
41
42
41
38
44
52
58
68
83
103
119
131
149
162
166
166
166
167
166
164
162
161
158
155
154
154
152
150
149
150
149
150
148
148
148
149
148
146
147
147
148
148
150
149
149
151
151
152
154
153
155
154
157
158
158
158
158
158
157
159
159
159
158
159
160
158
156
155
157
159
164
167
167
164
166
166
168
168
171
171
172
173
170
166
162
156
150
143
138
132
127
125
126
137
148
151
149
142
137
134
131
127
125
123
122
122
123
124
126
127
127
127
122
112
104
90
77
60
52
48
47
50
52
51
49
45
46
47
49
55
61
68
76
79
85
91
91
89
89
87
84
80
78
75
76
76
75
69
64
63
64
68
71
73
69
67
67
70
75
82
82
81
81
78
74
70
66
67
65
64
67
68
71
70
68
66
64
62
62
61
60
58
56
54
53
52
52
53
55
55
56
56
55
54
52
49
49
47
45
42
41
46
53
66
90
129
164
181
187
189
193
196
196
199
199
198
194
194
192
192
191
191
192
192
191
190
190
190
187
185
184
183
182
183
181
182
181
179
178
177
176
176
175
173
169
171
166
171
159
235
125
29
39
39
35
37
37
36
33
33
35
33
34
33
31
31
32
32
31
30
31
33
34
34
34
36
36
37
37
37
36
36
36
35
32
31
33
37
42
44
43
40
38
37
35
34
35
37
40
42
41
40
38
43
50
55
65
80
100
115
128
148
162
167
167
166
165
165
163
161
160
157
156
156
154
153
151
150
149
150
151
151
150
149
150
149
149
148
149
149
149
149
150
151
154
155
153
154
154
156
155
156
158
159
159
157
159
159
158
158
158
161
160
160
158
158
158
158
160
165
169
168
165
166
166
168
169
172
172
174
175
174
169
164
159
154
148
142
136
129
126
126
138
148
151
150
144
139
137
136
132
129
128
126
124
125
127
127
127
129
130
124
114
106
90
78
62
52
48
48
51
53
52
49
46
48
49
50
56
62
70
77
81
86
91
90
89
90
88
85
82
80
79
79
80
80
75
69
66
68
71
76
75
68
64
67
67
78
84
83
83
82
78
77
75
71
69
66
63
64
67
68
68
67
66
65
64
64
63
62
60
57
55
54
53
53
54
54
55
57
57
56
56
55
52
50
46
43
41
40
41
44
54
73
108
140
161
173
184
192
197
199
202
202
201
196
197
192
194
194
193
193
195
194
192
191
191
187
185
186
185
185
184
184
183
182
181
180
179
176
177
176
173
173
171
171
172
160
233
126
29
38
40
36
37
37
34
35
33
33
34
34
33
32
31
32
32
31
30
31
33
34
34
34
36
36
37
37
37
36
37
36
35
32
30
31
36
40
42
39
36
35
35
34
34
36
36
39
41
40
38
35
39
47
52
61
77
98
114
127
147
161
166
167
167
166
165
163
161
160
158
157
156
155
154
152
151
150
151
152
152
152
151
151
150
149
150
151
153
153
153
152
155
154
155
155
157
157
155
156
158
157
158
160
158
158
158
158
160
160
161
159
158
158
157
158
159
161
165
169
169
165
164
165
167
170
172
172
175
177
176
173
168
165
158
153
149
141
132
128
127
137
145
149
149
145
142
142
141
139
136
131
125
118
114
111
108
106
105
105
101
92
85
74
65
55
49
47
45
47
48
48
48
47
50
51
55
58
63
69
76
79
83
87
86
85
86
85
82
82
79
78
79
81
82
81
80
77
77
78
82
79
70
64
64
66
74
80
80
79
78
76
74
73
69
67
65
62
63
65
66
66
66
66
65
64
65
65
64
61
59
57
55
54
53
54
55
55
57
57
56
57
56
54
51
49
48
45
43
45
45
51
63
82
104
125
147
178
196
199
201
201
201
202
198
200
198
199
201
198
197
196
195
192
190
191
189
188
187
185
185
186
184
185
184
181
182
181
179
177
176
176
174
173
172
174
162
234
127
30
40
40
36
37
37
34
36
34
33
33
32
34
34
31
32
32
31
30
31
33
34
33
34
36
36
37
37
37
36
37
37
34
32
31
32
34
38
39
36
34
33
33
33
33
34
36
39
40
38
36
33
36
44
49
59
76
97
114
127
146
160
166
166
165
166
164
163
162
161
158
156
157
156
155
153
153
152
153
153
152
152
151
151
150
150
152
153
154
156
156
155
157
155
158
157
159
159
157
159
157
158
160
160
160
158
160
160
160
159
159
159
158
158
158
157
160
162
166
170
169
165
165
164
165
168
172
173
175
178
178
177
174
170
164
159
156
147
136
130
126
134
142
145
146
145
145
146
146
144
140
132
122
111
103
96
89
85
82
82
78
72
67
59
55
51
48
46
45
44
42
44
46
48
52
54
58
62
65
70
74
77
79
81
82
82
82
82
81
81
81
79
81
81
83
85
90
87
87
87
86
82
72
65
63
65
71
76
76
76
77
75
73
72
68
66
64
61
62
63
64
64
62
64
65
65
66
66
65
63
60
58
56
55
53
54
54
55
57
58
58
58
57
56
54
53
51
49
46
47
45
47
51
55
69
90
122
172
200
206
205
204
200
202
198
201
204
204
207
205
200
198
196
194
192
191
191
190
188
189
189
188
187
185
186
184
182
181
179
180
179
176
178
177
174
177
164
235
129
31
39
40
36
36
35
34
36
36
33
33
32
32
32
32
30
32
31
30
31
33
34
33
34
36
36
37
37
37
36
37
37
36
34
33
34
35
36
37
35
33
32
33
32
33
34
35
37
38
36
34
31
33
42
48
58
76
99
115
129
147
159
165
166
166
166
164
163
161
160
159
158
156
156
156
155
153
154
155
155
154
154
153
153
152
152
153
155
158
159
159
159
159
157
160
160
159
159
160
159
160
161
159
159
159
159
161
159
159
159
159
159
158
160
158
159
160
162
167
170
169
164
163
164
165
167
171
173
176
178
179
179
177
175
169
165
162
153
139
131
126
133
138
140
141
142
144
145
146
146
142
132
118
103
95
87
78
73
70
68
65
59
55
50
49
48
48
46
44
41
39
42
46
48
52
56
59
63
66
68
72
75
76
78
80
81
82
82
82
82
80
81
80
78
78
86
94
92
92
90
88
83
73
66
63
65
69
73
76
75
77
76
73
71
67
65
63
61
60
62
62
61
62
63
64
64
66
67
66
64
61
59
57
55
54
54
55
55
57
57
58
58
59
57
55
54
54
51
49
48
46
45
46
45
52
70
104
159
189
201
204
205
203
203
201
203
207
208
211
209
204
201
199
197
194
193
192
191
192
191
190
189
188
188
189
187
186
185
183
181
180
179
181
179
177
181
165
236
128
32
41
41
37
38
36
35
36
36
34
33
34
32
33
32
30
30
32
31
31
33
34
33
34
36
36
37
37
37
36
37
38
38
37
36
36
36
36
35
34
32
31
31
32
34
35
36
38
37
34
32
29
33
42
49
61
80
104
121
132
149
159
163
166
166
164
164
163
162
162
159
160
159
159
158
158
156
156
157
158
158
158
157
157
156
155
155
157
159
162
162
161
161
161
162
162
162
160
160
160
161
162
159
159
161
161
159
159
161
161
161
161
161
160
159
160
161
164
167
170
168
164
161
162
164
166
171
174
177
179
179
180
180
178
174
171
168
157
143
133
125
129
133
133
134
134
135
135
137
136
131
122
109
95
87
80
72
67
64
63
60
54
50
45
45
46
45
44
42
38
36
41
46
49
53
57
59
62
64
65
68
71
73
76
80
84
86
88
88
86
83
80
76
70
71
79
93
92
92
89
84
82
75
69
66
69
68
70
76
78
82
81
76
72
68
66
65
64
62
61
58
59
59
61
61
62
64
66
65
65
63
61
59
56
54
53
53
54
55
55
56
56
56
55
54
53
52
51
48
47
44
42
42
40
47
63
88
133
160
179
195
209
210
209
205
205
210
211
214
213
210
205
203
200
198
197
194
193
193
194
194
194
192
192
192
190
189
188
186
185
184
183
183
181
179
184
167
237
130
32
40
41
37
39
38
35
36
36
36
33
34
34
32
32
30
31
32
31
31
33
34
33
34
36
36
37
37
37
36
37
38
39
40
41
40
39
36
34
33
32
31
31
33
35
37
36
37
36
32
30
26
32
43
52
64
84
109
127
137
150
157
162
164
164
164
163
161
160
161
160
159
159
160
160
160
158
158
159
158
158
158
157
157
157
155
157
160
162
163
161
162
160
162
161
163
163
162
162
162
160
162
159
159
159
159
161
161
159
159
161
160
160
162
160
159
162
163
166
169
167
164
161
162
165
167
170
173
176
178
180
181
183
183
180
176
174
162
144
133
124
125
127
125
124
124
124
124
125
124
120
113
100
88
80
76
70
66
65
66
63
57
52
47
45
46
45
44
41
39
38
42
47
51
55
57
58
61
61
62
65
67
71
76
81
87
91
93
92
89
84
78
72
63
62
72
88
90
90
85
81
78
77
72
70
72
68
71
77
81
86
87
80
72
69
67
68
67
65
60
57
56
57
59
61
61
63
66
67
66
64
62
60
58
55
53
54
53
52
53
54
53
52
52
52
50
50
52
49
45
41
40
42
44
51
62
78
105
128
158
184
209
215
212
209
207
210
213
216
214
213
211
208
203
200
198
197
197
197
195
197
196
195
194
194
192
191
190
188
187
186
183
182
181
180
185
169
237
128
32
40
42
37
39
37
37
35
35
35
33
34
33
32
32
30
30
32
31
30
33
33
33
34
36
36
37
37
37
36
36
37
40
43
44
43
41
37
34
32
31
29
31
35
38
39
38
37
35
31
28
24
30
42
53
65
87
113
131
141
151
156
161
163
163
163
162
160
159
160
160
159
158
159
160
159
159
160
160
161
161
161
161
160
159
157
158
159
161
162
163
163
162
161
163
163
164
161
162
160
160
162
160
159
159
159
159
161
161
161
161
161
162
162
160
161
161
163
165
168
166
163
161
162
164
167
170
173
176
179
181
183
187
188
184
182
181
168
149
135
123
121
121
118
116
115
114
114
115
115
111
104
94
81
74
73
68
65
66
69
66
58
53
46
44
45
44
43
41
39
38
42
47
52
56
58
58
59
59
59
62
63
69
77
82
89
97
98
95
93
86
76
67
56
54
68
86
87
88
83
77
76
78
76
75
73
68
70
78
83
91
91
83
74
69
68
69
69
66
61
55
53
54
56
58
60
63
66
67
66
64
63
61
58
55
55
54
52
51
51
51
51
50
50
50
48
48
51
48
43
39
37
39
46
54
61
68
79
96
138
175
212
221
215
212
208
208
213
217
216
216
216
212
206
201
198
198
198
198
198
199
198
197
195
196
194
193
192
190
189
188
186
183
183
182
185
171
238
127
33
41
43
39
40
37
37
37
37
35
33
34
34
34
34
33
33
33
32
33
34
35
34
35
36
36
37
37
38
38
38
38
39
43
46
45
40
37
35
33
32
32
33
36
37
39
39
37
36
34
32
30
37
50
61
75
95
118
135
142
150
155
158
160
160
160
160
160
160
160
160
160
160
160
160
160
162
163
160
160
160
161
160
161
160
160
160
160
162
164
162
163
162
162
160
161
163
162
160
161
162
160
163
162
160
160
160
162
162
162
159
161
160
160
161
161
161
162
165
167
165
164
161
163
165
168
170
171
174
178
180
183
187
189
188
186
182
167
145
130
118
116
116
116
114
110
107
106
106
106
102
93
82
71
67
66
62
61
63
65
63
57
53
46
45
47
48
48
48
48
48
51
56
58
60
60
61
59
60
58
59
63
68
75
82
90
100
101
99
96
90
82
71
59
56
69
88
89
89
85
81
79
78
76
77
77
74
75
80
85
88
88
82
77
74
73
73
75
73
66
60
60
59
59
61
62
64
67
67
67
65
64
62
58
56
55
54
53
52
51
50
50
49
48
48
47
49
49
48
44
39
39
42
48
56
61
63
63
77
115
153
189
206
208
212
214
212
214
214
214
216
218
216
210
205
202
202
201
201
201
202
201
200
199
198
196
195
194
191
191
190
188
185
187
182
188
173
236
126
33
41
41
41
40
36
35
37
37
35
33
34
34
34
34
34
34
34
34
34
34
36
36
36
35
36
37
37
38
38
37
38
40
44
46
44
40
36
35
35
34
34
33
35
38
39
39
36
36
38
37
38
47
60
71
86
104
123
138
143
147
151
152
154
155
155
156
157
158
158
157
158
159
159
159
159
160
161
161
160
161
163
162
162
161
161
159
161
164
164
164
162
160
160
161
161
160
160
161
159
161
161
162
163
163
161
162
160
162
162
159
159
161
160
159
159
160
161
165
164
164
163
161
163
165
168
171
172
172
175
178
182
188
190
189
188
182
165
139
123
114
113
113
113
112
106
101
100
99
98
94
85
72
63
58
56
54
56
59
62
60
56
52
47
46
51
55
57
59
62
64
65
68
67
67
65
63
62
60
59
59
64
67
74
83
93
100
103
102
98
97
89
78
68
65
75
89
92
92
89
88
86
81
78
77
79
82
83
82
84
83
81
81
81
81
82
81
81
79
75
71
70
67
64
62
64
65
67
68
67
66
65
62
59
57
56
55
54
53
52
50
49
48
47
47
48
49
48
48
45
41
42
45
50
56
60
61
58
68
96
124
155
179
194
213
222
219
216
211
211
216
219
219
214
210
209
208
207
206
204
206
203
201
202
200
198
196
197
195
193
192
191
187
191
182
189
173
237
126
32
40
42
41
38
36
35
37
37
35
33
34
34
34
34
34
34
33
32
34
34
36
36
36
35
36
37
37
38
38
37
38
41
44
46
45
40
36
36
36
36
35
34
36
37
38
38
36
37
40
42
45
56
69
80
93
110
128
140
144
146
147
148
150
151
151
152
154
155
155
155
156
157
157
156
158
159
160
160
161
162
161
162
160
161
161
160
162
165
162
163
160
160
161
159
159
159
159
160
158
160
160
159
161
162
163
161
162
160
160
161
161
162
162
160
161
162
162
166
166
165
163
161
162
165
169
172
171
171
173
177
181
187
189
189
189
184
165
136
118
110
111
112
111
109
103
99
97
93
91
88
79
67
57
53
51
49
50
55
59
58
55
51
46
48
55
59
63
66
71
74
75
75
74
72
69
66
63
60
60
60
63
67
75
85
94
101
103
102
101
99
93
83
75
73
80
91
94
94
94
92
90
86
80
79
79
86
90
88
83
79
78
81
82
85
87
87
85
84
82
79
77
72
67
65
64
66
68
70
68
67
66
63
61
58
57
56
55
54
52
51
49
48
47
47
48
48
48
49
47
44
44
47
51
55
58
59
53
57
79
102
130
159
184
212
226
220
215
208
209
217
222
220
217
213
212
210
209
210
208
206
206
205
205
202
200
198
199
197
195
194
192
188
191
186
190
177
238
127
33
40
42
39
39
36
37
37
37
35
33
33
33
33
33
33
33
32
32
32
34
35
35
35
35
36
37
37
38
37
38
39
40
43
44
43
39
36
37
37
37
36
35
36
36
38
37
36
38
44
48
53
64
78
89
102
116
129
139
142
143
144
144
146
148
149
149
151
152
153
152
153
154
154
156
157
158
159
160
162
162
162
161
161
160
159
160
161
163
164
163
160
160
161
158
160
160
159
157
156
158
157
157
158
161
162
162
160
160
160
161
160
160
160
160
160
162
162
165
164
164
163
161
162
165
168
171
171
172
172
176
180
185
190
191
188
182
164
134
113
104
105
109
109
105
98
93
92
87
85
83
74
62
53
49
48
46
48
51
56
56
53
50
45
49
55
59
64
70
77
80
79
79
78
76
73
69
66
64
63
61
65
69
76
83
91
97
100
99
101
98
92
86
81
78
84
92
94
95
95
94
92
87
82
81
82
90
95
91
81
77
76
79
82
86
89
90
90
89
87
85
83
78
71
68
66
68
70
70
69
68
66
64
61
59
57
56
56
55
53
51
50
49
48
48
49
49
49
49
48
47
48
49
51
54
55
55
49
50
66
82
105
137
171
205
225
222
218
209
210
217
220
222
219
217
216
213
212
213
211
210
209
208
208
205
203
202
201
199
197
196
194
189
192
188
192
179
239
127
33
40
41
38
37
37
37
37
37
35
35
35
35
35
35
35
33
34
34
34
35
35
37
36
35
36
36
37
37
37
38
39
39
39
39
38
37
35
36
36
36
36
34
34
33
33
34
33
38
47
55
63
76
89
100
112
121
128
134
136
139
142
141
142
144
145
147
149
150
151
150
151
152
154
155
156
157
158
159
160
160
160
159
159
158
158
159
160
163
163
163
160
162
162
158
158
159
158
157
154
155
156
156
158
160
159
161
161
162
162
160
161
162
162
162
162
162
163
166
166
165
163
162
163
168
170
171
169
170
170
173
179
184
188
187
185
179
162
130
107
96
96
101
103
101
93
89
88
86
84
80
72
60
51
47
46
44
45
48
53
53
50
47
43
47
54
58
64
70
76
79
78
79
78
78
77
76
75
73
71
70
72
73
75
79
82
85
87
89
91
91
90
89
87
87
89
93
93
95
93
94
94
90
86
86
87
93
94
89
82
77
74
76
79
80
85
90
90
89
86
83
81
78
74
71
69
71
70
70
69
68
66
64
62
60
58
58
58
57
55
54
53
52
51
50
51
52
51
50
50
49
49
50
52
54
54
52
46
46
59
70
87
117
150
184
208
212
215
218
218
218
218
218
219
220
221
218
216
214
213
211
212
210
210
207
204
205
203
201
199
198
196
192
194
189
195
180
239
127
33
39
38
37
36
35
35
37
37
35
35
35
35
35
34
33
34
34
33
34
35
35
36
37
37
37
38
38
39
39
39
38
37
34
33
33
34
34
35
36
35
35
33
30
29
27
28
31
38
51
63
75
90
104
114
123
125
126
129
130
133
137
137
139
141
142
144
146
147
148
148
150
151
153
153
154
155
156
159
160
160
161
160
160
159
159
158
159
160
162
161
159
161
160
157
158
156
157
156
154
156
157
155
155
158
157
159
160
161
162
159
159
160
160
160
160
161
162
167
166
166
164
163
164
169
172
174
171
168
167
170
177
184
187
185
185
178
156
120
96
84
87
93
94
92
86
82
84
85
83
79
72
61
51
47
44
42
43
46
50
49
45
42
39
43
52
57
62
66
70
72
72
75
76
78
80
83
84
84
82
81
79
78
76
73
71
69
72
72
77
80
85
91
94
95
94
95
94
94
92
93
94
94
93
94
93
95
92
87
83
78
73
71
71
73
77
83
88
88
84
81
78
76
75
73
74
73
72
71
69
68
66
65
63
61
60
60
61
59
57
57
56
56
56
54
54
55
54
54
54
52
52
53
53
52
51
48
42
41
50
58
69
96
127
158
187
202
216
231
230
222
214
213
218
224
227
224
220
217
216
215
215
213
212
210
209
207
205
203
201
199
197
196
196
189
197
181
240
128
34
40
39
38
38
34
34
37
37
35
33
33
35
35
34
33
34
34
34
33
34
35
35
37
36
37
38
38
39
39
39
38
37
34
32
33
33
34
35
36
36
34
30
29
27
26
29
35
44
58
72
85
100
112
121
129
129
125
125
125
130
133
134
135
138
139
140
143
145
145
148
148
149
151
152
153
154
154
157
158
159
160
159
159
157
157
157
157
158
159
157
158
158
157
156
156
155
154
152
154
154
155
153
153
156
155
156
159
160
161
161
161
162
162
162
162
163
163
167
166
167
164
164
164
167
171
174
171
169
167
168
173
179
182
182
181
173
151
119
98
86
88
91
89
88
82
77
77
79
78
75
69
59
50
46
44
42
42
44
48
47
43
41
38
43
52
58
62
64
66
68
69
72
74
76
81
85
86
86
87
88
84
81
77
73
67
63
62
64
67
71
79
87
95
97
95
95
92
93
90
90
91
92
93
97
94
94
90
86
83
79
74
71
66
67
72
80
85
85
82
79
76
76
75
76
76
75
74
73
70
69
67
66
65
63
62
61
60
59
58
58
57
56
56
55
56
57
56
56
56
55
55
54
52
51
48
46
41
39
44
51
60
82
106
132
165
188
209
232
233
221
214
213
220
227
231
227
223
220
219
217
216
214
214
214
212
210
207
203
203
201
198
197
197
191
201
184
240
129
35
41
42
39
38
35
34
36
36
34
33
34
33
33
35
34
34
34
34
34
33
34
35
37
36
37
37
38
38
38
39
39
38
35
34
34
34
34
35
36
35
33
31
30
31
31
35
42
50
64
77
89
102
113
120
127
126
124
122
124
129
132
133
135
138
139
141
143
145
145
148
148
150
150
151
152
153
154
156
157
158
158
157
157
157
158
157
155
156
157
155
153
153
154
151
151
152
151
149
151
150
152
152
153
154
156
157
156
159
160
161
161
162
161
161
163
163
164
163
165
164
162
160
161
166
168
171
171
171
170
169
172
175
174
173
172
165
152
132
118
107
101
95
90
87
80
74
72
72
70
67
62
53
45
43
42
40
41
43
46
45
44
42
39
44
53
57
60
61
63
64
66
68
70
73
77
80
80
82
86
87
84
83
80
76
70
64
63
65
66
69
72
78
87
91
93
94
91
92
88
85
85
86
88
90
91
91
88
86
84
81
77
74
67
67
71
77
83
83
80
77
77
77
76
77
78
77
76
75
73
72
68
67
65
63
60
59
59
58
57
57
56
55
55
54
55
57
56
56
57
57
55
53
50
47
46
46
45
42
44
47
51
71
91
111
144
171
193
222
226
221
217
217
222
228
231
227
225
223
220
217
216
215
214
215
213
213
209
206
204
202
197
196
199
193
205
185
243
131
36
45
44
41
41
36
34
35
33
34
33
32
34
34
33
32
33
32
32
32
35
37
37
38
38
38
39
39
40
40
40
41
40
39
38
38
37
37
36
34
33
32
32
33
36
40
47
55
64
74
84
93
102
110
115
119
121
121
122
125
130
134
134
136
139
140
142
145
146
146
147
149
150
150
151
153
155
154
157
157
159
160
159
159
158
157
156
155
155
154
152
150
150
151
150
147
147
148
145
146
149
147
147
151
151
155
154
156
158
160
161
161
161
162
163
163
163
162
163
164
162
159
156
158
163
166
169
170
172
174
172
168
166
163
160
158
156
153
152
151
140
122
104
90
84
77
70
66
63
57
52
48
43
39
39
39
39
41
42
44
45
45
44
44
47
52
55
57
58
59
60
62
64
65
67
69
72
74
76
79
83
84
85
85
82
75
71
69
65
66
64
66
70
75
79
86
95
90
90
81
74
75
75
75
78
80
86
90
89
85
83
80
77
73
69
70
74
77
78
78
80
79
78
77
78
78
79
79
78
76
75
73
69
66
63
61
60
59
57
55
54
53
52
52
53
54
55
56
56
58
59
56
52
46
42
41
44
50
52
50
47
45
56
69
81
111
140
167
201
213
219
222
224
229
229
229
230
227
225
222
217
212
213
216
220
219
217
212
208
205
202
199
195
200
198
202
196
240
134
37
47
46
42
42
37
35
32
31
32
33
32
33
33
33
32
31
31
33
34
37
38
39
37
37
38
38
37
39
40
41
42
42
43
43
43
41
39
39
36
35
35
36
39
43
48
57
65
74
83
91
99
105
110
113
115
117
119
120
123
128
133
135
137
140
141
143
145
147
148
147
149
150
151
151
153
154
155
156
157
158
159
159
158
157
154
155
154
151
150
148
148
149
147
148
145
145
146
143
144
147
145
144
149
152
153
155
154
157
159
160
159
160
161
160
162
162
161
160
160
159
153
152
154
157
161
166
169
173
175
173
166
157
154
152
150
150
155
165
171
162
137
112
90
83
75
66
61
56
49
44
41
38
36
35
37
38
39
41
43
45
46
46
47
49
52
54
56
57
57
57
59
61
60
62
63
65
67
70
74
78
82
85
88
86
79
75
72
67
64
60
61
65
67
70
81
93
91
89
79
70
70
69
66
70
73
81
87
89
87
86
83
79
75
70
68
71
72
72
76
80
81
79
78
77
78
79
80
80
78
77
75
72
68
64
62
61
58
55
54
53
52
51
50
51
53
53
56
57
57
58
56
52
45
39
39
44
53
58
54
48
43
47
53
60
87
116
145
179
198
215
224
228
233
231
230
231
229
227
224
217
212
212
219
222
222
219
215
210
205
203
201
194
202
202
199
203
240
132
37
47
47
42
42
37
36
32
32
33
34
33
35
35
34
32
31
31
33
34
37
38
39
37
38
39
38
39
40
40
41
42
43
45
45
44
43
42
40
38
38
38
40
43
48
54
63
73
81
91
97
103
108
111
112
114
116
118
121
125
130
134
135
137
139
141
142
144
146
148
147
148
149
149
150
152
154
154
156
156
157
157
157
158
156
156
154
153
151
149
149
149
146
146
145
144
145
144
141
143
144
143
143
147
150
150
153
155
156
158
159
158
158
159
160
160
159
159
158
158
156
152
150
152
155
159
163
167
172
174
171
161
152
146
142
139
142
150
164
174
168
144
117
95
87
79
70
65
56
48
44
41
38
36
37
39
39
40
41
42
44
45
45
46
48
50
51
51
52
53
54
56
57
58
58
58
59
62
65
68
75
78
84
89
88
82
77
73
69
62
60
58
61
63
67
77
91
90
89
81
72
71
69
64
67
72
77
83
85
86
87
86
81
76
71
68
68
70
71
76
80
80
79
78
77
77
78
79
79
78
77
76
73
70
68
66
63
61
58
55
54
53
52
51
50
51
53
55
55
56
56
55
52
47
42
42
47
53
56
52
47
42
43
47
50
73
100
128
161
183
208
223
229
234
233
234
230
228
226
223
219
214
216
220
223
222
220
217
209
204
204
202
197
203
203
202
203
241
130
36
45
47
41
41
38
37
35
35
37
38
37
36
35
35
33
32
33
32
34
36
38
37
38
39
40
39
40
40
41
40
41
43
45
46
47
46
46
44
43
44
45
48
51
55
61
71
82
89
98
103
107
111
113
114
117
119
120
122
126
130
134
136
136
139
140
141
143
145
146
146
147
148
149
150
152
154
154
156
156
157
158
156
157
155
155
153
153
149
150
147
147
146
146
146
143
142
142
139
141
142
141
141
145
148
150
150
154
153
156
158
158
159
160
159
160
158
158
158
156
154
151
148
151
153
157
162
164
168
169
165
155
145
139
134
131
133
142
158
168
164
143
120
101
94
87
78
71
62
54
49
45
43
40
40
41
41
41
41
41
42
42
41
42
44
46
47
47
48
50
52
53
54
55
56
55
55
58
61
65
71
74
80
86
86
79
76
72
66
59
57
56
58
58
62
75
88
90
90
86
79
77
73
69
68
69
73
77
81
83
86
84
81
77
73
69
67
66
68
75
81
81
79
77
76
76
77
78
79
78
77
77
76
75
72
70
69
67
63
59
57
55
53
51
49
50
53
54
55
54
53
53
53
52
51
50
50
51
50
48
46
44
45
49
50
66
87
108
135
163
197
218
226
232
233
235
233
227
225
223
221
219
220
223
224
223
220
214
208
206
204
205
203
210
208
206
205
242
130
34
45
43
40
38
40
38
40
40
41
41
42
41
37
36
34
33
33
34
34
36
37
38
39
38
38
39
40
40
41
43
43
44
46
47
49
51
51
52
52
54
56
60
65
70
76
84
91
98
104
108
112
115
117
118
119
121
122
123
127
131
135
136
137
138
139
140
141
143
146
146
147
149
149
150
153
155
155
157
158
157
156
157
156
154
153
151
151
151
149
148
149
147
148
144
144
143
140
138
138
139
139
139
144
147
148
150
152
151
154
154
154
156
157
157
158
158
157
154
153
151
149
147
149
151
155
159
159
161
161
156
147
138
131
128
124
125
131
145
154
152
138
123
109
102
96
89
82
74
64
56
53
50
46
45
44
43
42
41
40
39
39
37
38
39
41
41
42
44
47
50
52
52
51
51
50
51
54
57
60
65
68
74
81
81
76
73
70
64
58
57
55
57
56
60
73
88
90
92
91
88
86
81
74
71
69
69
71
76
79
83
84
80
78
74
70
66
64
67
75
82
82
79
76
74
73
74
76
77
78
78
78
79
79
77
75
75
74
70
65
60
56
54
52
49
49
52
53
53
51
48
48
52
58
62
61
55
48
43
43
46
49
50
52
52
61
73
87
105
137
181
210
224
234
238
242
234
228
223
221
222
224
226
226
225
222
218
212
205
204
205
207
209
216
211
208
207
244
131
33
43
41
39
38
41
41
42
42
43
43
43
42
38
36
34
33
33
33
34
37
38
39
38
38
39
39
40
42
44
44
45
46
48
49
51
54
56
58
59
62
64
68
73
78
84
92
99
105
109
113
117
120
121
122
122
123
124
125
128
132
135
137
138
139
140
141
142
144
146
146
148
149
150
151
154
155
156
158
158
156
156
155
154
153
150
151
153
152
150
151
148
149
149
144
144
143
141
139
137
139
138
138
143
145
146
149
151
151
152
153
154
153
153
155
155
155
154
152
151
151
150
148
146
149
153
157
157
158
156
150
140
129
122
118
115
116
123
133
142
143
130
118
107
102
96
88
81
72
66
61
56
53
50
47
45
44
43
42
40
39
38
36
35
36
36
37
39
41
44
46
48
49
49
50
49
49
51
53
56
59
66
72
77
78
74
72
69
64
59
56
54
54
54
59
70
85
88
91
95
93
90
85
77
73
70
67
68
72
77
81
82
80
77
74
71
66
65
68
76
80
83
80
76
74
73
73
73
75
77
76
77
79
80
80
80
79
77
73
67
62
58
54
51
48
50
53
52
52
50
46
46
52
60
68
68
59
47
41
43
47
52
52
52
51
58
65
75
84
116
165
197
214
229
235
240
235
230
223
222
226
230
229
228
224
220
216
211
205
205
208
212
212
218
212
207
206
243
129
32
40
41
38
40
39
41
41
41
42
42
42
40
38
35
33
32
33
34
35
38
39
40
39
41
42
43
44
46
48
48
48
50
52
54
57
60
63
65
67
71
74
78
83
87
92
100
108
112
116
117
120
122
123
125
126
127
128
130
132
136
139
141
142
142
143
144
144
145
147
147
149
150
151
153
155
157
158
159
158
159
159
159
156
153
150
151
152
153
153
151
150
147
148
143
143
142
141
137
138
137
137
139
141
143
144
146
149
149
148
152
152
152
153
153
150
151
151
150
149
148
148
145
146
148
150
152
151
152
149
142
130
118
112
110
107
106
110
120
128
130
119
109
100
96
89
82
75
68
61
56
52
49
46
44
43
41
41
41
39
38
37
37
36
36
36
37
38
40
42
43
44
45
47
48
47
46
48
49
52
56
62
67
72
74
72
71
68
63
58
54
54
54
53
54
66
79
84
87
91
93
90
86
79
74
71
68
66
70
74
77
79
80
76
75
73
71
70
72
76
81
82
81
79
77
76
74
74
75
76
76
76
78
79
80
79
79
78
74
68
63
59
55
52
49
52
55
55
56
53
49
48
53
61
67
67
60
49
43
45
47
51
50
51
50
54
61
68
74
104
150
179
200
219
230
239
235
230
226
225
229
233
230
227
221
218
214
212
208
209
213
214
213
218
211
205
204
242
129
29
38
40
38
38
38
40
38
39
38
40
39
38
37
34
31
31
31
33
35
39
40
40
43
44
45
46
47
50
52
52
51
55
59
64
68
72
75
77
81
86
90
93
97
101
106
112
116
119
123
125
126
126
127
129
130
130
131
132
136
139
142
144
144
145
146
147
147
147
149
151
153
154
155
157
159
161
163
163
163
163
162
161
157
155
151
153
153
153
153
149
149
146
146
145
141
140
140
136
136
138
138
136
139
139
140
144
146
146
147
147
147
147
147
147
146
145
144
144
141
141
141
142
142
143
145
144
142
140
136
128
115
105
99
97
93
90
94
101
106
106
97
89
81
78
72
68
63
55
51
48
45
43
41
41
41
39
39
38
37
38
38
37
37
38
37
38
39
40
40
41
42
42
45
45
43
42
44
45
48
52
56
60
67
68
69
69
66
60
57
53
51
51
51
53
62
74
79
81
87
90
88
84
82
76
75
69
66
67
71
73
75
75
76
76
78
76
75
77
79
82
82
81
81
81
79
77
76
75
74
73
74
76
77
79
78
78
77
72
67
62
60
57
54
52
55
59
59
61
59
53
52
56
60
64
64
60
51
45
46
48
53
50
49
48
49
51
55
56
81
123
149
173
200
220
233
234
231
230
228
231
233
231
226
217
214
213
215
215
214
214
216
212
216
210
201
200
240
126
30
38
38
40
40
37
36
36
35
36
37
37
37
36
33
33
33
34
35
38
42
43
45
46
47
48
50
52
54
59
60
62
66
71
75
79
85
90
93
96
100
105
108
112
116
119
122
125
128
129
130
131
131
130
131
133
135
137
138
140
144
148
149
150
150
151
152
151
151
152
156
157
158
159
161
163
164
166
166
166
165
164
163
159
156
154
153
151
151
151
151
148
147
148
146
144
142
139
137
138
136
136
135
137
138
141
141
144
142
143
146
145
144
144
142
141
140
139
139
137
136
137
136
136
137
137
136
132
129
123
115
103
93
86
81
78
76
76
80
83
81
75
69
63
59
56
52
49
46
41
38
37
36
36
35
36
35
36
37
36
37
37
37
38
39
38
39
40
41
40
39
40
40
42
43
40
39
39
41
44
47
50
55
62
64
64
66
64
57
58
54
51
50
49
51
58
67
72
75
83
87
85
85
83
78
76
69
65
67
68
69
71
75
78
80
82
81
81
81
81
80
81
83
85
86
85
82
78
75
73
72
70
72
74
74
75
76
75
73
69
64
60
57
56
55
56
62
66
67
65
61
59
59
61
63
62
58
53
51
50
49
50
48
47
46
45
45
45
44
62
91
116
140
176
202
221
226
230
233
234
233
237
228
224
216
212
213
216
221
223
220
217
213
215
210
199
199
241
127
31
41
39
41
40
38
36
35
34
35
37
38
37
37
34
37
38
39
41
43
48
52
53
56
57
59
60
62
65
69
70
71
76
80
84
89
95
100
104
106
110
115
118
120
123
126
129
131
133
135
135
135
135
135
135
136
139
141
143
145
149
152
153
154
153
153
153
153
154
154
158
158
160
161
163
165
166
168
168
167
166
165
164
160
157
155
154
153
151
152
151
150
148
149
145
145
141
141
138
139
137
138
136
139
140
139
140
141
143
144
143
145
145
142
139
138
137
138
136
135
135
136
135
134
134
134
132
127
122
115
108
97
86
78
73
70
69
69
71
72
70
66
60
55
52
49
46
43
40
38
35
33
33
33
34
34
35
37
38
38
37
38
39
39
39
40
41
41
40
39
38
39
40
42
42
40
38
38
40
42
44
49
54
59
61
62
64
62
56
57
55
53
52
49
49
54
60
63
68
78
85
86
83
81
78
74
68
63
66
69
71
74
77
80
82
81
81
80
80
80
79
79
82
86
88
87
82
77
74
73
70
68
70
72
72
73
73
74
71
67
63
60
58
57
57
58
65
69
69
67
65
63
61
60
58
58
56
55
54
52
50
49
48
47
46
45
44
44
43
56
75
94
113
150
176
198
210
222
228
235
229
231
223
223
217
215
216
218
221
223
220
216
212
214
211
201
201
242
130
32
41
42
43
43
40
36
34
34
36
37
38
39
38
36
40
42
44
47
51
57
61
63
65
66
68
70
73
76
78
80
81
86
92
95
100
105
110
113
115
118
122
125
126
128
130
133
135
135
136
136
136
137
138
140
141
143
146
148
150
154
156
157
157
158
158
158
158
158
159
160
160
161
163
164
166
167
168
169
168
167
166
163
160
158
156
155
154
153
150
151
149
150
149
147
146
142
140
139
138
139
139
137
138
139
140
142
143
142
142
142
142
142
140
138
136
134
134
133
131
131
133
133
132
132
132
129
124
116
108
100
90
80
73
68
64
60
61
62
61
59
56
52
48
47
44
41
39
37
35
35
35
35
34
35
36
36
37
37
37
38
38
39
40
41
41
42
42
40
38
37
38
40
42
42
41
40
38
39
41
43
46
50
55
58
59
63
61
56
57
56
53
52
50
48
49
51
53
62
76
87
88
84
81
77
73
66
61
63
70
74
78
81
81
83
81
78
75
76
78
79
81
85
89
91
89
84
78
74
71
69
67
68
69
68
69
70
70
69
65
62
61
59
59
59
61
66
70
71
71
71
69
65
60
54
52
54
56
56
54
51
49
48
46
46
46
46
47
48
55
65
76
91
127
153
175
196
219
228
235
228
223
219
220
221
221
221
222
223
222
218
215
211
214
212
207
206
243
130
33
42
42
46
46
42
36
33
34
35
36
37
39
39
39
44
46
49
54
59
65
71
72
73
76
79
80
82
86
88
90
94
98
104
107
112
116
120
122
125
128
129
131
132
134
135
137
139
139
139
139
140
141
141
142
145
147
150
153
155
157
159
160
159
160
161
161
161
160
161
162
164
164
165
167
168
169
169
169
168
167
165
162
160
158
156
155
154
153
151
149
149
150
149
146
147
145
141
140
141
139
139
141
140
142
143
141
142
142
142
141
141
141
139
137
134
132
132
130
129
129
130
131
131
132
131
127
119
111
102
93
84
75
67
61
58
56
53
52
51
49
47
45
42
41
39
38
37
35
34
34
34
34
35
36
37
38
39
39
39
39
39
40
40
41
42
43
42
40
38
37
39
41
42
43
42
41
40
39
40
41
44
47
52
55
57
61
60
57
57
56
53
50
50
49
48
43
47
58
75
86
89
86
83
78
73
65
59
64
71
76
80
82
83
83
80
76
72
73
76
78
82
86
90
92
91
86
80
76
72
68
66
65
65
65
66
66
66
66
63
61
61
60
60
61
63
66
69
72
74
75
73
68
59
50
47
51
56
58
56
51
47
47
46
47
48
49
50
47
47
47
51
64
97
124
146
175
208
222
234
227
216
218
219
223
224
224
224
223
221
215
213
211
214
214
210
210
244
132
34
45
46
48
49
46
42
41
41
42
44
45
47
50
49
56
58
62
67
71
79
83
86
88
91
94
95
97
99
101
103
107
112
116
119
123
126
130
132
134
136
137
138
139
139
140
142
144
144
145
145
145
146
147
146
148
151
154
156
158
159
161
162
161
162
163
163
163
162
163
164
163
163
164
165
166
167
166
168
167
164
163
161
159
157
156
155
153
152
151
149
149
150
148
147
148
145
143
142
142
141
141
144
143
143
145
143
145
143
143
142
141
140
138
136
134
133
132
130
129
129
131
133
132
130
129
126
117
109
100
90
81
72
65
61
57
54
50
46
45
43
41
40
39
39
37
36
35
34
34
35
34
35
36
37
38
40
38
37
37
37
38
39
39
39
43
43
42
40
38
37
39
41
42
42
43
42
41
40
39
39
42
45
49
52
54
57
59
55
56
55
53
51
50
49
46
42
45
55
69
81
83
82
82
78
75
67
64
65
72
76
79
80
82
82
79
73
71
71
74
76
77
82
86
89
88
84
80
76
73
69
66
65
64
63
64
65
65
65
64
62
62
61
60
61
63
65
68
71
74
75
75
69
58
50
47
50
54
57
55
50
49
48
48
49
50
51
52
50
46
41
42
50
77
98
117
148
185
203
220
221
214
218
222
224
226
226
224
222
219
215
214
212
213
214
210
210
244
130
35
47
46
49
49
50
49
50
52
54
56
57
60
63
63
68
71
77
81
86
93
98
100
102
104
107
107
109
110
112
115
117
121
126
128
131
134
137
138
139
142
143
143
144
144
145
145
145
146
147
148
147
148
148
149
151
154
157
159
160
161
161
162
163
164
165
165
165
165
165
165
165
165
164
163
164
165
165
165
163
162
161
160
158
156
155
154
153
150
150
151
149
149
149
150
148
147
146
147
145
146
146
147
147
145
145
147
147
145
146
144
142
141
138
137
135
133
132
131
130
131
132
134
132
130
129
126
117
108
98
89
80
72
66
61
57
53
49
44
41
40
39
40
40
40
39
37
36
35
33
34
34
35
36
36
37
38
38
38
37
36
36
37
37
37
41
42
41
39
38
37
40
42
44
44
44
43
42
41
39
39
42
44
47
50
52
55
57
56
55
54
51
50
50
49
47
47
50
55
65
72
75
76
80
79
79
73
70
70
72
73
74
75
77
78
77
75
73
72
72
71
72
75
81
84
83
82
78
75
73
70
67
66
64
63
64
65
66
66
64
63
63
61
60
61
61
61
62
66
70
73
73
67
58
52
49
50
51
51
52
49
47
48
51
52
52
53
52
50
46
40
40
45
65
77
92
124
163
184
202
212
219
224
225
226
224
225
223
220
217
217
219
214
215
213
206
206
243
132
36
50
48
50
52
57
59
60
61
64
66
67
70
73
73
80
83
89
94
98
105
110
113
116
118
118
118
119
121
124
126
129
132
134
135
137
140
142
143
144
145
145
146
147
147
146
147
148
149
150
150
150
151
151
153
156
158
161
162
163
164
163
163
164
165
166
166
166
166
166
165
165
164
163
162
161
161
162
161
160
158
157
156
156
154
152
153
152
150
150
152
152
152
150
150
151
151
150
150
148
148
148
150
150
148
149
150
148
147
146
145
143
142
140
137
136
136
135
134
131
132
135
135
134
131
128
124
116
107
97
88
80
72
65
60
56
52
47
41
38
37
36
38
40
40
39
39
39
37
35
36
37
37
38
38
37
38
38
38
37
36
37
37
37
36
39
41
40
38
36
37
40
42
43
44
45
45
43
42
41
39
42
43
45
48
49
52
55
54
54
51
51
52
50
48
49
51
55
57
61
65
67
73
79
82
82
80
78
76
71
68
67
67
71
73
75
77
76
75
70
67
68
71
76
78
80
79
78
77
73
71
68
67
66
65
65
66
67
68
67
67
66
63
61
59
57
57
57
59
63
67
69
67
61
56
53
51
48
48
49
48
48
50
52
55
56
54
51
47
43
41
42
43
54
60
70
103
138
161
182
204
229
232
229
227
226
224
220
217
218
219
222
218
217
210
199
199
240
136
41
55
53
54
57
64
68
75
77
80
82
83
86
89
90
97
101
106
112
116
124
128
131
130
133
134
134
133
135
138
139
139
142
143
144
146
148
150
150
150
150
149
148
148
148
149
151
153
154
155
155
156
156
157
158
159
161
164
165
166
165
164
164
165
166
167
167
167
167
167
165
164
163
162
161
160
158
158
157
157
158
157
156
153
152
152
156
152
150
151
152
152
152
151
151
151
151
151
152
150
152
152
153
151
150
151
151
151
150
149
146
144
142
140
139
136
135
135
136
133
133
135
136
133
131
129
122
114
104
96
88
79
71
65
59
55
52
46
40
37
36
36
37
39
41
40
39
40
39
37
37
37
38
38
38
38
38
38
38
37
37
36
35
35
36
39
40
39
37
36
37
39
42
44
44
45
46
44
42
41
39
41
42
45
45
46
49
52
50
53
50
52
52
50
47
50
55
56
54
55
57
60
68
78
80
84
83
84
79
71
64
63
64
66
68
72
78
80
78
68
62
60
64
69
72
74
75
75
75
73
71
69
68
67
66
66
67
67
68
68
69
68
64
62
59
56
55
53
53
57
63
68
68
64
59
56
51
46
45
45
46
49
52
55
58
57
54
51
45
43
40
41
38
41
39
46
76
109
133
158
192
233
235
232
230
226
223
218
217
218
222
224
220
218
207
194
196
238
147
63
71
74
73
78
78
87
92
92
96
98
99
102
103
105
112
115
120
126
130
135
138
140
140
140
141
141
141
140
143
144
145
146
148
149
149
151
152
152
153
152
152
152
151
151
152
154
155
157
158
158
159
159
158
159
161
163
165
166
166
165
164
166
167
168
168
167
166
166
165
166
164
163
162
161
160
159
158
159
158
157
155
155
155
155
154
153
153
151
151
155
155
155
155
152
154
154
154
154
152
152
152
154
154
152
151
151
150
149
148
149
145
145
142
140
139
138
135
134
134
134
133
133
132
130
128
122
115
106
98
89
81
74
67
60
57
53
47
42
38
36
35
37
37
37
37
36
34
33
34
36
36
35
36
37
37
37
36
35
35
34
35
36
35
36
38
39
39
38
37
37
40
43
45
44
45
46
45
43
42
41
40
40
41
43
44
46
48
48
51
50
49
50
48
50
49
53
54
54
55
55
57
64
71
75
78
80
80
75
69
65
64
66
69
70
71
75
79
78
72
67
65
68
70
70
72
74
74
73
73
71
69
67
65
64
64
65
66
68
67
67
67
64
60
58
56
52
50
50
55
61
63
64
63
61
58
54
49
46
47
48
49
51
53
54
52
49
47
42
42
45
46
43
41
37
38
63
87
113
133
174
222
228
226
223
222
222
220
218
221
220
224
218
217
205
194
191
236
159
82
90
91
91
95
93
104
107
109
111
112
113
115
115
118
123
127
134
137
140
144
147
149
147
146
146
146
145
143
144
146
148
149
151
151
151
152
152
152
152
151
152
153
152
152
154
155
158
159
160
160
161
162
161
161
163
165
167
168
167
166
165
168
170
170
170
169
169
169
168
166
164
163
162
161
160
159
159
158
158
157
157
157
155
156
154
155
154
152
152
154
155
157
157
154
154
156
156
154
154
154
154
156
156
156
154
155
152
151
152
148
146
144
142
139
138
136
134
132
131
132
133
133
130
128
126
121
113
105
97
89
81
73
67
59
56
51
46
40
36
33
33
34
33
32
32
32
31
30
32
34
33
34
35
34
35
36
35
34
34
34
35
36
36
35
38
39
39
38
37
37
39
42
43
44
45
46
45
43
42
41
40
38
38
41
42
43
45
46
47
47
47
47
46
48
47
49
50
52
52
55
57
61
66
70
71
74
74
71
68
66
66
68
67
67
70
73
77
76
75
73
71
70
70
70
70
72
74
73
72
70
68
67
65
63
63
64
65
67
66
67
67
64
61
58
53
49
47
48
50
56
60
61
60
62
60
53
47
44
45
48
49
50
51
51
49
46
44
42
45
48
50
49
43
37
37
53
70
92
109
155
208
219
221
221
222
222
220
219
222
218
219
214
212
202
191
190
237
177
110
116
117
116
121
119
126
128
129
130
131
131
133
134
134
137
143
147
150
153
156
157
157
157
155
154
153
150
148
149
151
151
152
153
154
154
154
155
155
154
153
154
155
154
154
156
158
160
161
163
164
164
165
164
165
166
166
168
169
168
167
166
169
169
170
171
170
170
169
168
167
164
162
162
161
159
158
159
158
156
156
156
157
158
156
157
156
155
153
154
155
156
158
158
156
158
158
158
157
157
157
157
158
158
158
158
157
156
153
152
149
147
146
143
139
137
135
132
131
130
130
131
131
129
126
123
119
111
104
97
90
82
74
67
62
58
53
47
41
37
33
32
31
30
29
29
28
28
28
30
31
32
32
33
33
33
34
35
35
35
34
35
36
36
35
37
38
38
37
36
36
38
40
42
43
44
44
45
43
42
41
40
37
37
39
40
41
43
44
45
47
46
46
45
45
46
47
49
50
51
53
54
57
60
63
63
67
66
66
67
65
66
68
66
69
71
71
74
77
78
80
78
75
70
67
68
71
72
72
71
69
67
66
63
61
62
63
64
66
66
67
66
64
61
58
53
48
45
44
47
52
56
57
59
61
61
56
48
45
46
48
49
50
50
49
46
44
42
42
45
51
53
52
45
37
35
42
52
64
82
130
182
201
207
214
219
223
223
223
225
220
218
208
209
198
191
192
236
184
129
136
136
133
138
135
140
146
146
146
146
145
146
147
147
149
153
155
157
160
162
164
162
160
159
156
156
153
152
153
154
154
155
156
157
158
157
156
156
156
155
156
156
156
157
158
160
163
165
166
166
167
167
167
167
167
166
168
169
168
168
168
167
168
169
170
169
169
167
166
166
164
162
161
160
159
158
159
158
158
159
159
158
158
159
158
157
155
155
155
156
158
157
159
157
159
159
159
158
158
158
158
159
159
159
159
158
155
155
153
150
148
147
144
140
136
134
131
132
132
130
129
129
127
124
122
119
113
106
98
91
84
76
70
64
58
53
48
41
37
35
32
31
30
30
31
30
30
30
31
32
32
32
32
33
34
33
34
35
35
34
35
36
36
36
36
37
37
36
35
36
37
39
40
41
43
45
44
43
42
41
41
39
38
38
39
40
42
43
44
45
47
47
46
45
45
47
45
46
48
48
49
51
54
57
57
60
61
63
64
64
64
66
67
68
71
73
75
78
81
83
81
77
71
67
68
70
70
69
69
68
66
64
61
59
60
61
62
64
64
65
65
62
60
58
55
50
47
45
46
51
52
53
56
59
59
55
50
47
47
49
49
48
48
46
45
44
43
44
47
52
54
54
47
39
36
42
48
54
69
110
155
176
189
205
217
223
223
225
221
216
211
204
208
201
195
196
238
197
148
156
155
152
155
153
157
158
159
158
157
156
155
155
155
157
158
160
162
164
166
166
164
163
161
158
157
155
155
155
155
157
156
157
159
160
160
160
160
159
158
159
160
160
161
162
163
165
166
167
168
168
168
168
167
166
166
168
169
168
167
168
167
168
169
169
168
167
165
164
164
162
160
159
158
158
158
158
160
161
161
161
161
160
159
157
159
158
158
158
157
158
160
160
157
158
159
157
156
156
156
156
158
157
157
157
156
155
154
153
152
151
150
144
140
136
134
131
130
130
129
128
127
125
122
120
117
112
107
100
93
85
77
70
62
56
51
46
40
36
35
34
33
34
35
36
34
32
32
34
35
35
34
33
34
33
33
34
35
35
34
35
35
34
34
35
35
35
35
35
36
37
37
39
40
42
44
44
43
42
41
41
39
36
38
38
39
41
42
45
46
46
46
44
46
44
45
46
45
42
40
40
43
49
52
55
58
60
59
59
58
60
63
64
66
69
73
77
80
82
82
84
79
73
69
70
71
70
69
68
66
64
61
57
56
57
58
59
61
61
62
63
60
58
57
56
53
50
49
48
49
50
51
52
54
55
54
53
51
50
49
47
46
45
44
44
45
45
46
48
51
52
52
50
44
42
41
43
47
57
82
113
138
161
191
212
220
220
223
217
211
206
196
207
211
206
206
242
202
162
167
163
162
164
162
166
168
168
168
165
165
162
162
161
162
163
164
165
167
169
167
166
165
162
160
157
156
154
154
156
157
158
158
159
161
162
162
162
161
160
161
161
160
161
162
164
165
168
169
169
169
169
168
167
166
167
168
169
169
168
168
168
168
169
168
167
166
165
163
163
161
160
160
160
160
160
161
162
162
162
162
160
161
159
157
161
160
159
158
158
159
161
161
160
160
160
159
158
158
158
158
156
157
158
158
157
156
155
153
150
149
148
145
138
135
134
131
131
130
128
127
126
123
121
119
116
112
107
103
96
87
79
71
61
54
49
44
39
36
35
35
37
38
39
39
37
36
35
36
37
36
35
35
34
34
35
35
35
35
34
35
35
34
34
35
36
36
35
36
36
36
36
37
38
40
41
41
41
42
41
41
39
36
37
38
39
40
42
43
45
45
45
43
43
43
46
45
42
39
36
36
39
44
46
52
55
58
58
55
53
56
59
61
63
69
75
80
82
83
83
81
78
75
72
72
73
71
69
67
64
62
58
55
54
53
54
56
59
59
60
60
59
57
56
56
55
54
52
51
51
50
51
51
51
51
53
55
55
53
48
45
43
41
42
43
47
48
50
52
51
50
51
50
47
48
46
46
47
51
63
80
108
141
182
210
217
220
223
214
208
204
188
205
215
216
217
246
211
174
178
174
173
173
174
175
177
177
176
174
172
170
166
166
166
167
167
169
170
171
169
167
166
163
162
160
159
157
158
159
160
160
161
162
162
163
164
163
162
162
161
161
161
161
162
165
167
168
169
169
169
168
167
167
167
166
168
169
167
167
167
167
167
166
165
164
163
162
160
160
158
156
157
158
159
158
159
161
162
162
162
162
161
160
158
161
160
160
160
161
161
161
159
159
160
158
158
157
155
155
157
156
154
154
154
154
155
153
154
150
149
148
145
141
138
135
133
132
131
130
127
126
123
121
120
116
114
110
105
99
91
82
73
63
54
49
44
39
36
36
38
40
41
42
42
39
37
36
36
36
36
35
34
33
34
35
35
35
35
34
35
35
35
34
34
34
35
36
36
37
37
36
37
37
39
40
40
41
42
42
42
40
37
39
39
40
41
42
43
43
43
43
42
44
43
46
45
43
38
36
35
37
40
43
48
52
54
53
51
50
51
55
59
62
68
73
78
81
80
80
77
76
75
73
73
71
69
68
65
61
58
57
55
54
55
55
57
59
58
58
58
58
57
56
56
56
56
54
52
50
48
49
51
50
50
52
54
55
52
47
44
44
43
44
46
49
51
53
53
50
47
47
49
48
49
48
44
42
46
49
57
87
119
169
203
210
214
220
211
204
197
191
206
213
216
216
246
212
178
178
176
176
173
173
178
180
180
179
177
175
173
169
169
167
167
168
169
170
170
169
167
165
163
164
164
162
160
160
162
162
162
164
165
164
164
165
165
164
163
163
163
162
162
163
164
166
167
167
167
167
167
166
165
165
166
166
166
166
164
164
164
164
163
161
159
160
159
157
156
155
154
155
156
156
157
157
160
161
161
161
161
161
160
159
161
160
159
159
160
161
161
159
160
158
159
156
156
155
155
155
153
153
153
153
153
153
152
153
153
151
150
146
142
140
139
137
134
133
131
130
127
125
123
122
118
115
112
108
101
92
84
75
66
56
50
45
40
37
37
38
40
41
40
40
38
36
35
36
35
34
34
33
34
34
35
35
34
34
34
35
35
34
33
34
34
35
36
37
38
37
36
36
36
38
39
40
40
41
41
43
41
39
40
42
42
42
45
45
45
45
44
42
44
45
46
44
44
40
38
37
38
40
43
45
48
50
50
51
51
50
52
56
59
63
68
70
72
71
72
74
75
73
72
70
69
68
66
64
59
57
56
56
55
54
55
57
59
58
58
59
58
58
58
58
57
57
55
53
51
50
49
49
48
48
49
51
51
49
47
47
46
45
46
48
51
53
53
52
49
44
44
45
44
45
47
41
37
45
47
48
76
108
141
179
189
201
214
213
211
206
199
209
210
210
212
242
211
178
182
180
175
173
178
185
190
187
184
181
178
176
172
168
171
170
168
168
170
171
171
169
167
166
165
164
164
165
166
167
169
169
169
167
168
167
168
169
169
167
166
166
165
163
164
166
167
169
170
169
168
168
167
167
167
168
170
169
168
167
165
162
160
161
160
157
156
155
154
153
152
151
152
153
155
156
158
159
160
160
160
159
157
156
156
158
158
159
162
162
161
161
160
160
159
156
156
155
151
151
152
154
154
155
155
155
154
153
151
150
148
146
145
144
141
139
140
137
137
135
132
129
127
126
124
122
118
116
113
106
98
87
79
69
60
53
48
43
40
41
41
41
41
41
39
37
37
36
36
35
34
34
33
32
32
33
34
35
36
35
34
37
37
36
37
36
36
37
38
39
37
34
34
35
36
38
39
40
41
43
43
42
42
40
41
41
42
42
43
45
45
44
42
42
45
47
47
46
45
45
44
43
43
41
43
41
41
46
47
49
51
54
53
54
58
58
59
62
65
67
69
70
71
72
71
68
66
64
60
58
56
57
57
57
57
58
60
60
59
58
56
56
56
57
58
59
59
59
55
53
50
50
50
48
47
47
47
47
46
45
46
47
51
54
56
56
56
57
54
47
42
42
43
44
46
44
44
41
39
44
50
67
90
124
153
169
182
211
213
214
212
209
209
206
198
196
242
212
180
185
181
178
176
179
186
191
191
188
183
181
178
174
170
169
169
170
171
170
171
170
169
168
170
168
167
167
168
170
172
173
172
172
171
170
170
170
170
169
167
166
165
164
163
164
165
166
167
168
169
168
166
166
166
166
167
167
168
166
164
163
161
159
158
157
155
153
151
149
149
149
149
149
150
152
154
154
157
158
159
159
158
157
156
155
158
158
158
161
161
160
160
159
158
156
156
154
155
151
150
153
151
151
151
153
152
151
150
151
151
148
148
147
144
142
139
139
139
139
136
133
131
129
127
125
123
120
118
114
107
97
88
80
70
61
54
48
44
42
40
40
40
39
40
39
37
37
36
34
33
33
32
32
32
32
33
34
35
35
35
36
37
37
36
36
36
36
37
38
39
38
36
36
35
36
38
39
40
41
41
42
43
42
42
41
43
42
44
43
42
45
44
42
42
43
44
45
47
47
47
47
45
44
41
42
38
40
43
47
48
50
52
53
54
54
55
55
57
59
61
65
66
69
71
69
67
64
62
59
57
55
56
57
56
57
58
59
60
59
57
56
57
56
57
58
59
59
58
56
52
51
50
49
48
47
46
46
45
44
45
48
51
55
57
58
57
57
55
52
49
45
43
42
43
44
41
42
39
41
43
48
62
82
100
130
150
170
206
210
214
217
213
210
204
193
192
239
215
183
188
184
184
178
183
187
192
193
192
186
184
181
177
173
171
170
169
171
174
173
172
173
171
170
169
170
170
170
171
172
173
174
173
173
172
172
173
173
173
171
168
167
166
165
165
166
167
166
166
166
165
166
167
167
167
167
167
165
164
162
161
159
159
158
157
155
153
151
150
150
149
149
149
150
150
152
154
154
154
155
156
155
153
154
152
156
156
157
158
158
157
157
157
155
156
154
154
155
152
150
152
150
150
150
152
152
150
151
149
150
147
147
146
142
140
140
141
138
138
137
135
132
130
126
124
122
120
117
114
107
97
89
80
71
62
56
51
46
43
41
41
41
41
39
37
36
35
35
34
35
34
33
33
34
35
35
35
36
39
38
38
38
37
36
36
37
37
37
38
39
38
36
35
35
36
37
39
41
42
42
43
43
42
42
42
43
43
44
41
43
42
42
43
43
42
44
45
44
46
47
47
45
43
40
39
37
37
42
45
46
48
50
51
51
50
49
49
52
55
57
59
63
67
68
67
64
61
59
57
55
54
55
56
57
58
58
58
59
58
57
56
56
56
57
58
57
58
58
55
53
52
51
50
50
49
48
46
46
46
47
49
53
55
57
57
56
56
53
51
48
45
44
45
43
43
42
43
42
42
43
43
52
68
87
112
136
160
199
206
211
215
215
210
203
188
187
238
218
187
193
189
189
186
186
189
193
194
191
189
188
185
181
177
174
173
172
172
174
175
174
173
173
173
173
171
169
169
170
171
172
172
173
173
173
174
175
175
173
170
168
166
164
163
163
163
164
165
165
166
165
165
166
166
166
166
164
162
161
159
157
157
157
157
156
155
154
152
151
148
147
146
145
145
146
148
149
149
151
152
154
153
152
151
149
150
152
151
153
153
153
152
152
153
155
155
154
156
154
151
152
150
151
150
150
151
149
150
150
148
145
143
141
139
139
139
140
138
139
137
135
131
128
126
123
120
117
114
110
103
95
88
80
72
66
59
51
46
43
39
39
40
38
39
38
36
37
36
34
35
35
35
34
35
36
37
36
37
38
39
38
38
38
37
37
36
37
38
38
38
37
37
36
36
36
37
38
38
39
39
40
40
40
41
41
40
41
42
40
42
41
43
41
41
41
42
41
43
42
44
44
43
40
38
38
37
37
40
43
44
46
47
46
46
46
46
46
49
51
53
54
57
61
63
63
61
58
56
55
54
53
54
55
56
57
58
58
59
58
57
57
58
57
56
56
57
57
56
56
54
51
53
55
54
53
52
51
51
51
51
51
52
53
54
54
54
53
51
50
48
47
46
45
46
46
47
48
46
47
43
39
42
53
63
83
109
137
185
196
201
211
210
207
202
192
190
238
220
192
197
195
194
191
192
189
190
190
192
192
192
190
187
181
177
175
173
172
175
176
176
177
176
174
173
171
170
170
170
169
169
170
170
171
172
174
176
177
175
171
167
166
165
161
161
162
162
163
163
164
165
167
168
170
170
167
163
160
160
159
158
158
158
157
156
156
156
154
152
148
146
144
144
143
143
143
146
147
149
150
151
151
150
148
146
148
146
146
147
147
148
149
151
151
154
155
155
156
154
151
152
151
151
151
151
149
150
148
148
142
141
140
139
138
135
135
135
137
136
135
133
130
127
124
121
115
113
109
104
99
93
88
82
74
67
60
54
47
42
39
38
40
38
39
38
37
36
35
34
34
34
34
35
35
36
37
37
38
39
40
40
40
39
37
36
36
36
37
37
36
37
36
36
37
36
37
37
38
38
39
39
39
39
39
39
41
41
41
38
38
42
42
42
42
41
39
40
40
40
40
40
39
38
38
40
38
38
40
40
41
42
44
44
44
44
46
46
47
48
49
50
52
56
58
58
57
55
54
54
52
51
52
53
54
55
56
57
58
58
58
58
58
57
56
57
57
56
54
55
55
53
54
56
56
55
54
54
53
53
52
51
51
51
50
50
50
50
50
49
47
47
48
49
50
49
52
53
52
49
44
35
37
40
47
65
91
123
172
185
193
204
204
205
202
193
192
239
222
193
200
196
198
196
195
191
189
188
189
190
190
189
186
183
180
178
175
172
174
175
175
176
176
175
173
172
170
169
170
170
169
170
169
170
172
175
177
177
174
169
165
163
162
159
159
159
160
161
162
163
165
166
167
168
168
165
160
157
157
157
157
157
155
155
154
153
151
149
147
144
141
139
138
137
137
139
142
145
147
149
150
150
147
145
143
144
144
146
146
144
145
146
147
148
152
152
151
154
151
151
150
150
150
150
148
149
149
149
148
144
142
140
138
136
134
133
135
134
135
133
130
128
124
119
116
113
109
105
102
97
93
89
83
74
68
61
55
48
43
40
39
41
39
39
39
38
39
37
36
36
37
37
36
37
38
39
38
39
40
41
40
40
39
37
36
35
36
36
36
37
37
35
36
36
37
38
37
39
39
39
40
40
40
40
40
40
40
40
39
38
38
39
42
42
39
38
41
39
38
38
38
38
38
38
40
40
40
39
39
41
42
42
44
44
45
44
44
44
44
45
48
49
51
53
53
53
52
51
51
50
50
51
50
51
53
54
56
57
58
57
57
58
57
56
55
55
54
53
53
54
55
55
56
55
55
55
55
54
53
53
53
52
50
49
49
49
49
48
48
49
50
51
51
51
50
54
55
56
54
43
34
33
38
42
54
80
105
148
165
172
190
205
205
202
193
191
239
223
194
201
197
200
198
194
191
188
189
191
192
192
189
186
184
181
178
175
173
172
173
174
172
171
172
172
170
172
171
169
169
170
169
168
168
169
172
175
175
171
168
164
162
162
159
159
160
160
161
160
161
162
164
165
166
166
163
158
155
156
159
160
159
157
154
152
150
147
144
141
138
136
135
134
135
134
137
140
145
147
149
152
151
149
147
145
143
143
144
144
144
142
143
144
145
147
149
148
150
149
146
147
147
147
147
147
148
148
148
149
145
143
140
139
137
134
132
132
130
130
129
125
123
120
117
113
108
105
102
99
95
90
86
81
74
68
62
56
49
45
42
42
43
42
41
40
41
42
41
40
39
39
39
39
39
39
40
41
41
41
40
39
40
40
38
36
36
37
37
37
36
37
37
36
37
38
38
38
35
35
35
36
36
37
37
37
37
37
37
39
39
39
38
39
38
40
37
40
40
38
39
39
39
39
39
38
38
40
40
40
39
40
40
42
43
42
44
45
44
44
44
46
48
50
51
52
51
50
49
49
48
48
48
49
50
51
53
54
56
57
57
57
56
57
56
55
54
53
52
53
54
55
55
55
54
53
55
56
54
53
53
52
51
51
50
49
50
49
51
52
51
51
50
51
52
52
54
54
57
55
46
37
38
43
45
57
75
85
118
137
158
195
207
206
203
192
191
239
223
194
201
197
200
199
194
190
188
189
189
191
191
188
185
184
180
178
175
173
174
172
170
169
170
169
170
171
170
170
168
169
169
168
166
165
167
169
173
174
169
166
162
162
161
159
158
159
159
160
161
160
160
161
163
164
164
162
156
153
155
159
161
161
159
156
152
149
145
140
136
133
131
129
130
131
130
133
138
142
145
148
151
150
148
146
145
146
143
142
142
142
139
140
141
142
146
145
145
147
145
144
143
143
140
142
143
144
145
145
147
145
143
141
139
136
133
131
130
129
128
126
121
119
117
113
110
105
103
102
99
94
89
85
79
73
67
63
57
50
45
43
44
44
42
42
42
44
43
42
40
40
39
38
39
38
39
40
41
43
43
41
39
40
40
39
38
37
36
36
36
36
37
38
38
38
38
38
38
36
35
35
36
36
38
38
38
38
38
38
37
39
37
38
40
39
37
34
40
38
38
39
39
39
39
39
37
39
38
38
38
40
41
40
40
41
41
44
45
46
47
47
44
47
49
51
51
50
48
47
47
46
47
48
48
49
52
53
53
55
56
55
56
57
56
56
55
54
52
51
52
53
54
56
55
53
53
55
56
55
54
51
50
50
50
51
50
49
49
51
53
53
51
50
51
51
51
54
55
58
57
48
38
41
48
52
62
71
64
83
102
137
182
208
207
205
195
193
239
224
198
199
198
200
196
196
190
190
187
186
187
187
187
185
184
179
178
175
172
171
168
170
170
166
168
169
172
172
172
172
172
172
171
168
164
165
169
172
172
168
165
161
160
159
160
160
160
160
159
159
160
160
162
163
163
163
159
152
148
152
157
158
159
157
153
150
146
140
134
132
129
127
125
125
126
128
132
134
142
144
145
147
148
146
143
141
138
138
138
138
137
137
138
138
143
143
145
144
144
143
142
144
142
143
141
143
144
145
146
146
146
145
144
139
136
132
128
125
122
122
121
118
114
111
110
108
104
102
100
96
92
88
84
78
72
67
62
56
53
52
49
46
46
45
45
45
45
45
42
41
40
39
38
38
39
38
37
38
38
39
39
40
40
40
39
37
37
38
38
38
38
38
37
38
38
38
35
35
35
37
38
37
36
36
36
37
38
38
37
39
39
39
39
38
38
40
40
40
38
39
39
37
39
39
39
39
39
39
38
39
40
41
42
42
42
43
43
44
43
43
43
45
46
47
48
48
47
46
46
45
46
45
46
47
48
49
50
52
53
54
55
55
54
54
53
52
53
51
51
51
52
53
52
51
52
51
52
52
52
52
52
51
51
50
49
50
51
51
50
49
52
54
54
54
52
52
55
54
55
56
50
44
46
50
56
61
59
64
57
90
114
169
198
196
197
195
199
233
224
198
199
200
200
196
196
190
188
188
187
187
187
187
186
184
179
178
175
172
170
167
166
167
166
167
168
171
172
171
171
171
170
170
167
163
164
167
169
170
169
165
161
160
159
159
159
159
159
159
159
159
160
160
160
160
161
158
151
148
151
155
156
157
154
150
147
144
139
134
131
128
126
125
124
125
127
130
132
139
140
143
145
145
143
139
137
137
137
138
138
137
138
137
138
140
142
143
145
144
144
143
143
142
142
140
141
141
142
142
142
142
141
140
137
135
131
128
126
124
121
119
117
114
112
110
109
105
103
101
97
93
90
85
81
75
69
64
59
56
55
51
47
47
46
45
45
44
45
43
41
41
40
39
38
39
38
37
38
39
38
39
40
40
40
40
38
37
37
37
37
38
38
37
38
39
38
38
35
37
38
38
37
36
37
36
37
38
38
37
39
37
37
37
39
39
40
38
40
40
38
39
39
39
39
39
39
39
39
38
39
40
41
40
40
42
42
43
42
42
42
43
44
45
46
47
47
46
45
44
45
44
45
46
46
47
48
49
51
52
53
54
54
53
52
52
51
52
51
50
51
52
52
51
50
51
50
52
52
51
52
52
51
51
50
49
50
51
51
50
49
52
53
54
54
53
52
55
55
56
56
51
46
47
52
47
52
50
56
50
81
102
150
178
186
188
192
197
234
224
198
201
199
201
196
196
191
187
186
184
186
184
185
185
183
180
179
175
172
170
165
163
163
164
165
166
168
172
173
173
172
171
169
164
162
162
165
169
170
167
164
162
160
159
160
161
161
161
161
160
159
158
158
159
160
159
155
148
145
148
152
154
153
151
147
143
140
137
132
130
127
126
125
125
124
126
129
132
136
137
139
142
139
137
135
132
132
133
135
134
134
135
136
137
141
143
145
144
147
147
146
146
145
145
143
142
140
142
142
142
139
138
136
134
132
130
127
125
122
121
120
117
113
111
109
109
106
104
102
98
95
92
88
84
79
74
70
64
61
60
55
50
48
46
46
46
46
45
43
42
42
41
40
40
40
38
36
37
37
38
39
38
39
40
40
39
38
39
39
38
37
38
37
38
39
39
38
38
38
37
37
37
36
37
36
37
38
38
38
37
37
38
38
37
37
40
38
40
40
38
38
39
39
39
39
39
39
39
38
39
40
41
41
41
40
42
41
42
43
43
43
43
44
45
44
44
44
43
42
43
44
44
44
45
46
47
48
49
50
51
52
52
51
51
50
51
50
49
49
49
50
51
49
48
48
48
50
51
51
51
50
51
50
50
49
49
49
49
49
50
53
54
53
53
53
52
55
58
58
57
54
52
50
50
46
47
49
54
52
73
90
128
149
165
182
193
199
237
225
199
200
199
201
196
196
191
187
185
183
183
182
182
182
183
181
179
176
173
170
164
161
162
161
163
165
168
170
174
173
172
171
169
164
161
161
164
167
167
167
164
161
160
161
160
160
161
162
161
160
159
158
159
158
158
158
154
147
144
145
148
149
148
146
144
140
138
135
132
130
128
126
125
124
125
124
127
130
132
133
137
136
135
133
130
129
129
130
131
132
133
134
135
136
140
142
142
145
147
147
146
146
146
142
143
141
140
138
140
140
137
135
132
131
132
129
126
124
121
120
119
116
114
111
109
109
108
106
105
102
99
95
91
87
82
77
73
69
65
64
59
53
50
47
47
47
46
45
44
44
43
42
41
40
40
38
36
37
38
37
38
39
38
39
40
40
40
40
39
38
37
38
37
39
39
39
38
37
37
38
39
37
36
37
36
38
38
38
38
38
38
38
38
38
37
40
38
40
40
40
40
38
38
39
39
39
39
39
38
39
40
39
41
39
41
41
42
41
41
41
41
41
41
43
44
43
42
41
41
42
41
41
42
43
44
45
46
48
48
50
51
51
50
49
50
50
49
48
47
48
48
49
49
47
48
47
49
50
50
49
50
51
50
49
48
49
50
50
49
50
53
53
54
55
53
53
55
57
58
57
57
55
52
49
34
36
34
40
42
60
66
90
107
142
171
194
200
241
225
199
200
199
201
196
196
190
186
184
182
181
180
180
182
181
180
181
177
173
170
164
161
161
160
162
165
168
172
173
175
173
173
170
163
159
160
164
167
168
167
164
161
160
161
161
161
161
161
161
161
160
159
158
158
159
159
154
148
145
144
145
146
144
142
140
138
137
135
133
131
128
126
124
123
121
121
123
126
126
128
130
132
132
129
128
127
129
130
132
133
133
134
136
137
137
139
140
142
145
145
140
140
142
139
138
136
135
135
134
135
135
133
131
130
129
128
126
124
121
120
118
116
114
111
110
110
109
107
106
104
101
98
94
90
84
79
75
72
68
66
61
55
52
48
46
46
46
45
44
44
43
42
41
41
40
38
36
36
37
38
37
38
39
38
39
40
40
40
39
38
37
38
37
39
39
39
38
37
37
38
39
37
36
37
37
36
37
38
38
38
38
38
38
37
37
40
38
40
40
40
40
40
40
38
39
39
39
39
39
38
38
40
39
40
41
40
41
42
42
42
41
41
42
42
42
41
41
40
39
39
40
41
40
40
42
44
45
46
47
48
49
48
48
49
49
49
48
47
46
47
48
48
47
46
47
46
48
49
49
48
49
50
50
49
48
49
50
50
49
50
53
54
55
55
54
53
55
57
59
57
56
56
52
46
39
37
39
44
48
57
63
75
90
124
149
169
175
232
225
199
200
199
201
196
196
190
186
184
181
179
178
180
181
182
180
179
177
174
170
164
161
161
162
164
166
171
174
174
172
172
173
168
165
161
162
166
169
170
169
166
164
163
164
165
166
165
164
165
164
162
161
160
161
161
159
154
148
144
143
142
142
139
137
137
135
134
134
133
131
129
127
125
123
122
121
121
123
123
125
128
129
130
128
128
128
130
132
134
135
136
134
134
135
139
140
141
142
145
140
139
139
135
136
135
134
132
134
134
134
134
132
132
130
128
126
124
123
120
119
118
116
113
112
111
112
111
109
108
105
103
100
96
92
86
81
77
73
70
68
62
55
50
46
45
45
45
45
44
44
43
42
42
41
41
39
37
37
38
38
38
37
38
39
38
39
40
40
39
38
37
38
38
37
37
37
38
38
38
37
38
35
36
37
37
36
38
38
38
38
38
38
37
39
39
40
40
40
40
40
40
40
40
38
39
39
39
39
39
39
38
38
40
40
40
41
41
41
41
41
41
41
40
41
42
41
40
39
39
39
40
39
40
41
42
43
44
45
46
47
47
48
48
47
46
46
46
46
45
45
46
47
45
45
46
45
47
48
48
47
48
49
49
49
49
49
50
50
49
50
53
54
54
56
54
54
55
56
57
55
54
53
48
44
39
37
39
42
49
53
58
64
70
106
129
151
154
228
225
199
200
199
200
196
194
190
185
183
180
178
177
177
180
182
182
181
180
177
171
166
163
164
164
165
170
174
176
177
175
174
173
170
166
163
164
168
172
172
171
169
167
167
168
169
168
169
169
168
166
165
163
163
163
162
161
157
149
145
143
140
139
136
135
136
135
134
135
135
133
130
128
125
123
120
117
118
119
121
123
125
127
128
128
129
130
134
136
138
139
138
136
135
134
138
138
138
138
137
136
134
133
129
130
129
129
130
130
131
132
130
131
130
129
127
125
123
123
120
117
116
114
113
113
113
113
112
110
109
106
104
102
99
94
88
83
79
74
71
69
63
56
50
45
44
45
46
43
41
43
43
42
41
42
41
39
38
37
38
38
38
38
37
38
39
38
38
39
39
38
37
38
38
38
38
37
37
34
37
38
38
36
35
35
36
37
36
36
38
36
36
36
38
37
39
40
40
40
40
40
40
40
40
38
39
39
39
39
39
39
39
38
38
38
38
40
40
40
40
40
40
39
40
41
41
40
39
39
38
38
38
39
39
40
41
43
44
43
44
45
46
45
45
45
46
46
46
45
44
45
44
44
44
43
44
44
46
47
47
46
47
48
48
48
47
48
49
50
49
50
53
54
54
55
54
54
56
56
56
54
51
49
46
43
39
37
39
45
50
47
50
51
56
84
99
121
120
219
225
200
201
200
200
195
195
189
185
183
179
177
176
178
180
182
183
184
182
180
174
168
165
165
166
168
170
175
178
178
176
174
173
169
166
164
166
169
172
173
172
170
169
168
170
171
171
172
171
170
168
166
165
164
162
162
161
154
147
143
140
136
134
132
133
134
135
134
135
136
135
131
128
126
123
119
117
116
117
119
121
124
126
128
129
130
128
132
136
138
140
138
136
134
134
132
133
131
132
131
130
126
126
123
123
122
122
123
125
126
127
128
128
129
128
126
124
123
122
117
117
115
114
113
111
111
112
113
111
111
108
105
102
99
94
89
84
80
76
72
71
65
57
50
44
43
43
43
43
41
42
43
42
42
42
42
40
38
38
37
37
38
38
37
38
39
39
39
38
39
38
37
38
38
38
36
37
34
34
34
37
38
35
35
35
37
37
37
37
36
36
36
36
37
37
37
40
38
40
40
40
40
40
40
38
39
39
39
39
39
39
39
39
39
39
38
38
38
38
39
39
39
38
39
39
39
39
39
38
38
38
38
39
40
40
41
42
42
43
44
44
45
45
45
45
45
45
45
44
43
44
44
44
43
42
43
44
45
46
46
45
46
46
46
47
46
48
49
49
50
50
53
54
56
56
55
54
57
55
55
53
49
46
43
43
38
36
39
43
48
39
43
37
40
64
76
93
98
208
222
193
197
197
199
198
193
190
186
184
180
177
176
178
181
183
184
185
185
185
180
174
172
171
171
172
176
180
182
182
179
176
173
171
170
170
171
174
178
179
178
176
174
174
175
176
177
177
176
176
173
171
169
168
166
165
162
157
151
145
141
139
137
135
134
134
134
134
134
132
129
128
125
122
119
116
114
113
115
115
119
125
128
131
133
137
138
141
139
140
140
136
132
129
127
118
116
116
115
113
109
109
107
105
108
108
109
111
115
118
123
124
130
132
130
128
126
125
124
121
119
117
114
112
111
111
110
106
104
103
102
100
97
93
89
86
82
77
73
70
68
62
55
48
42
41
40
40
41
40
39
39
39
40
40
40
40
42
40
38
38
37
38
37
36
37
38
39
39
39
39
38
37
38
38
38
37
37
38
38
38
38
38
35
35
35
36
36
36
36
39
39
39
39
39
40
40
40
40
40
40
40
40
40
40
38
39
39
39
39
39
39
39
39
39
39
39
39
38
37
37
37
38
39
40
40
41
41
41
40
40
40
40
39
40
40
41
42
43
42
43
44
44
44
44
44
44
44
42
42
43
41
41
42
43
41
41
41
43
45
45
46
46
45
45
46
47
47
47
48
49
50
53
54
55
57
57
54
54
51
51
48
46
46
46
45
45
43
42
40
40
42
41
45
52
59
71
51
211
222
192
198
198
199
196
193
190
186
184
180
177
176
178
180
183
185
184
185
185
180
175
173
172
173
175
178
182
185
184
180
177
175
173
171
171
172
176
179
181
180
178
176
176
177
179
180
179
178
177
174
172
170
169
168
166
163
158
152
147
144
140
138
137
137
136
136
136
135
133
129
127
124
122
117
114
113
112
114
115
119
126
130
133
136
140
141
142
139
140
139
134
128
121
119
116
112
109
107
104
101
99
96
98
100
102
104
107
112
118
123
127
132
134
132
129
126
124
124
121
119
115
114
112
111
110
109
105
103
101
100
98
96
92
88
84
80
77
71
68
67
61
54
47
41
40
40
39
40
39
39
40
40
41
40
40
41
42
40
39
39
38
38
37
36
36
38
39
39
39
39
38
37
38
38
38
37
36
37
38
38
38
37
38
38
38
38
38
39
39
39
39
39
39
39
40
40
40
40
40
40
40
40
40
40
40
38
39
39
39
39
39
39
39
39
39
39
39
38
37
38
37
38
39
38
40
41
41
41
40
39
39
39
39
40
41
41
42
41
42
43
43
43
43
43
43
43
43
42
41
42
40
40
42
41
40
40
41
43
43
45
45
45
46
46
45
47
48
48
48
48
49
53
54
55
56
56
54
53
50
49
48
45
45
47
46
46
43
40
36
35
38
42
45
49
46
52
37
201
221
193
197
197
198
195
194
190
188
185
181
178
176
177
181
183
187
188
189
187
184
180
178
177
179
180
182
186
188
187
184
181
178
176
174
174
175
179
183
183
182
180
178
179
180
181
182
181
180
178
176
175
173
170
168
166
164
160
154
149
146
143
139
138
138
137
135
134
134
132
129
126
123
120
115
113
112
111
113
117
121
127
131
136
139
141
142
145
143
141
140
130
123
117
113
109
103
99
96
92
88
86
84
84
88
89
92
98
105
111
117
124
130
135
134
130
127
125
125
121
118
116
114
112
111
109
107
101
100
98
97
94
93
90
86
81
79
76
71
68
67
60
53
46
40
39
38
38
39
39
38
39
40
40
41
42
42
42
41
40
39
38
38
36
36
37
38
39
39
38
37
37
38
38
38
38
37
36
37
38
38
37
39
38
37
38
38
38
37
37
37
37
37
37
37
38
38
38
40
40
40
40
40
40
40
40
38
39
39
39
39
39
39
39
39
39
38
37
37
38
38
37
38
39
40
40
41
40
41
41
41
41
41
41
41
41
40
40
40
41
42
42
42
42
42
42
42
41
40
39
40
40
38
40
41
39
40
40
42
43
44
45
44
44
45
46
46
46
46
47
48
49
52
53
54
54
56
54
52
47
46
45
44
45
47
47
47
47
38
35
33
39
42
45
44
36
36
21
194
221
191
197
193
197
194
192
192
189
187
183
180
178
180
183
185
189
190
192
191
188
185
183
184
184
185
187
189
191
190
187
184
181
179
178
178
179
182
185
185
184
182
181
181
182
184
185
184
183
182
180
175
172
170
169
168
165
161
155
150
148
144
141
140
138
135
134
133
131
129
124
121
118
115
113
111
109
110
112
115
119
123
127
130
132
133
133
134
131
127
122
115
108
101
96
92
87
82
79
77
75
74
72
72
77
78
82
89
96
104
110
115
123
128
129
128
128
127
126
121
121
119
116
113
111
107
104
99
97
95
92
90
89
87
83
81
79
77
72
69
67
60
53
46
41
39
39
38
39
39
39
38
39
41
42
41
41
41
41
41
40
38
38
36
35
35
37
37
37
37
38
38
38
38
38
38
37
36
36
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
39
39
38
40
40
40
40
40
40
40
40
38
39
39
39
39
39
39
39
39
38
37
38
38
38
37
38
39
39
40
41
41
41
40
41
42
41
40
41
41
41
41
41
41
40
40
40
40
40
40
40
40
41
40
39
40
38
38
38
38
39
40
39
40
42
42
44
45
45
45
44
45
46
47
47
47
49
52
54
53
54
55
53
51
49
46
45
46
46
45
48
47
46
43
37
36
40
44
40
41
35
33
18
197
220
192
196
193
197
194
193
191
190
188
185
182
180
182
184
186
190
192
194
193
191
189
188
187
188
189
190
192
194
192
189
187
184
182
180
180
180
184
188
188
186
184
183
183
185
186
187
187
184
181
178
175
173
171
170
168
165
160
154
150
147
144
140
139
137
135
133
130
127
124
122
120
118
115
113
112
112
112
113
114
117
120
123
125
127
128
128
126
121
116
112
105
96
91
87
80
75
71
69
67
66
65
63
63
68
70
76
82
89
97
103
107
115
120
122
124
124
126
125
125
124
122
119
115
110
106
102
97
95
92
90
87
85
84
82
81
78
76
73
71
69
63
55
47
41
40
40
38
39
39
37
38
39
40
41
42
43
43
42
41
40
39
38
36
35
35
37
38
38
38
38
38
38
38
38
38
37
36
37
36
36
36
36
37
36
36
37
38
38
38
38
38
38
38
37
39
39
38
40
40
40
40
40
40
40
40
40
38
38
38
38
38
38
38
38
38
37
38
38
38
37
38
39
40
41
41
42
42
42
42
42
41
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
39
39
40
38
37
38
39
39
38
39
39
41
43
43
44
44
44
43
44
45
45
47
48
48
51
52
53
54
54
52
50
49
46
46
46
46
46
46
46
46
44
46
46
44
44
38
42
38
38
24
198
220
192
196
193
193
195
195
192
191
190
187
184
183
185
187
188
191
194
196
195
193
192
191
192
192
193
193
195
194
194
192
190
186
184
183
181
182
184
186
186
185
184
182
181
183
185
185
185
185
182
179
176
173
170
169
167
165
161
155
151
148
144
140
140
138
132
130
128
126
122
121
119
117
115
114
113
112
113
114
115
117
118
120
121
123
122
122
118
110
104
96
88
82
78
74
74
68
63
63
61
60
59
56
56
61
65
69
75
81
90
97
104
110
115
117
121
124
126
126
126
127
124
120
116
111
106
102
95
93
90
86
84
83
83
82
79
78
77
74
71
68
63
56
49
43
40
39
38
38
38
38
37
39
40
41
42
42
42
42
42
40
39
38
37
36
35
37
38
38
38
38
38
38
38
38
38
37
36
37
37
37
37
35
35
36
36
38
38
38
38
38
38
38
38
37
39
39
39
38
38
38
38
38
40
39
39
40
40
40
40
40
40
40
40
40
38
39
37
38
38
37
38
39
40
41
42
42
42
42
42
42
41
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
39
39
40
38
37
37
37
37
37
39
40
41
41
42
43
43
43
42
44
44
45
46
47
47
50
51
52
53
53
51
51
50
50
49
45
43
44
42
43
45
47
50
49
46
43
37
39
40
43
23
197
221
191
196
193
193
195
194
193
195
192
190
188
187
187
190
192
194
197
199
197
196
196
195
195
196
196
196
197
197
196
194
193
191
189
187
185
184
185
188
188
187
184
183
184
185
186
187
187
186
183
180
175
172
170
169
168
166
161
155
151
148
145
141
138
134
130
128
126
124
119
118
116
113
111
110
109
108
107
107
109
111
111
111
112
112
111
109
107
100
92
86
79
74
70
68
59
56
54
53
52
51
50
49
50
54
59
63
67
72
79
86
95
101
104
105
113
121
125
125
125
127
124
120
116
112
106
100
93
91
87
84
83
84
85
84
82
80
80
76
73
70
66
59
52
45
43
41
39
40
38
37
37
38
39
41
42
43
44
43
42
41
39
39
37
36
37
37
38
38
38
38
38
38
37
37
38
37
36
37
37
37
37
37
37
36
36
36
36
37
38
38
38
38
38
38
39
39
39
39
39
39
38
38
40
39
41
39
40
40
40
40
40
40
40
40
40
38
37
38
37
38
39
39
39
40
41
42
42
41
41
42
41
40
41
41
41
41
41
41
41
40
39
39
39
39
40
41
40
39
38
39
39
37
38
38
38
38
37
39
39
41
42
42
41
41
41
43
44
44
45
46
46
49
50
51
52
52
51
50
51
50
48
45
44
47
45
44
46
49
53
51
47
43
38
39
42
44
24
200
221
191
196
193
193
196
196
194
197
196
193
192
191
191
194
195
196
199
202
200
200
200
200
198
197
198
198
198
199
197
196
195
195
193
191
190
188
189
191
190
188
187
185
185
186
187
188
187
186
185
180
176
173
170
169
169
167
162
156
152
149
145
141
136
133
129
126
125
120
117
116
113
111
108
107
106
104
103
102
101
100
101
99
97
96
94
92
89
80
73
69
64
60
56
51
51
50
49
50
48
48
49
49
47
52
54
57
60
65
71
77
81
87
91
93
103
114
118
119
124
125
124
118
116
113
107
100
91
89
87
85
84
85
85
85
84
82
82
78
74
73
69
61
55
48
46
44
42
41
40
38
37
38
39
40
42
43
44
43
42
41
40
39
37
36
36
37
38
38
38
38
38
37
39
38
38
37
36
36
36
36
36
37
38
38
38
38
38
38
38
36
36
36
36
36
38
38
37
39
39
39
38
38
40
39
41
39
39
39
39
39
39
39
40
40
39
38
37
37
38
39
38
37
39
40
41
40
40
40
41
41
40
41
41
41
41
41
41
41
40
39
40
40
40
39
39
39
39
39
38
39
39
37
38
37
37
37
37
39
39
41
41
41
41
40
41
42
43
44
44
45
46
48
49
50
50
50
50
50
50
50
47
44
44
45
46
47
48
51
53
51
46
42
42
41
41
45
26
201
222
193
197
197
198
197
194
196
198
196
195
195
196
197
198
198
201
199
202
203
202
202
201
200
199
198
199
199
199
199
199
199
198
196
192
189
190
190
192
191
190
188
185
185
186
186
186
185
184
182
179
176
173
170
169
168
167
163
157
151
148
143
139
134
129
124
122
121
118
114
113
111
109
107
105
102
99
98
95
95
93
91
89
88
86
83
81
77
72
64
59
56
50
47
47
45
45
46
45
47
46
46
46
47
47
48
52
53
58
61
64
70
75
79
86
98
109
115
120
121
123
122
119
117
112
105
99
91
89
87
85
84
86
88
88
86
85
84
82
79
75
69
64
57
52
50
48
43
41
39
37
36
37
38
39
40
41
42
43
41
40
39
39
38
37
35
37
38
38
38
38
38
38
37
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
36
36
37
37
37
36
36
36
37
39
39
39
38
38
40
39
41
42
42
41
41
41
41
39
40
40
40
38
38
37
37
38
39
39
40
39
40
41
41
41
42
41
40
41
41
41
41
40
39
39
40
40
40
39
40
41
41
41
40
40
40
38
37
38
39
39
38
40
41
41
40
42
43
43
43
43
43
42
44
45
45
47
49
50
50
51
50
52
54
55
54
47
38
39
47
50
49
53
53
53
53
50
44
44
43
45
47
27
200
221
192
196
196
198
196
196
195
199
199
198
198
198
198
199
200
202
202
203
203
202
202
203
202
200
199
198
199
198
198
200
200
200
198
194
191
189
191
193
193
191
188
186
186
187
188
187
186
185
183
180
177
173
170
170
167
164
161
154
149
145
142
137
131
126
123
122
122
117
112
111
110
107
105
102
98
95
93
89
86
84
81
78
76
73
70
67
64
59
52
48
45
42
40
40
40
40
41
42
45
46
46
46
44
46
46
47
49
53
56
59
60
65
68
76
89
100
107
112
116
120
120
119
117
112
105
98
90
88
86
84
84
86
89
89
88
87
86
83
81
77
72
67
61
55
52
48
45
44
41
37
36
36
37
39
40
41
42
41
40
40
39
38
37
37
36
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
36
36
37
37
37
37
37
36
38
37
39
39
38
38
40
39
41
40
42
40
40
40
40
39
39
39
40
39
38
38
37
38
39
38
39
40
40
40
39
40
41
41
41
41
41
41
41
40
39
40
40
40
40
39
40
41
41
41
40
39
40
39
37
37
37
38
38
40
41
41
40
41
42
43
42
41
42
43
42
44
45
46
48
49
50
49
50
51
52
54
52
46
42
44
47
50
50
52
53
52
52
50
46
44
44
44
45
27
200
222
194
197
197
199
197
199
196
201
200
202
203
203
203
202
203
204
204
205
206
205
206
206
204
202
201
199
198
197
198
202
204
204
201
197
194
193
194
195
195
192
189
187
187
188
188
189
186
184
182
178
174
170
169
168
166
165
161
155
150
147
142
138
132
127
124
123
121
116
111
107
104
101
97
93
88
82
78
75
69
67
65
63
60
60
55
53
51
49
46
43
42
38
36
36
36
36
37
39
42
41
43
41
42
40
40
40
42
45
48
50
49
54
55
64
78
88
95
101
107
112
114
114
113
108
101
97
89
87
85
84
84
87
90
92
90
88
88
85
81
77
74
70
65
60
55
50
47
46
43
38
35
36
37
38
39
40
41
40
39
40
39
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
36
36
36
36
36
36
36
36
36
38
37
39
38
38
40
39
39
41
40
40
41
42
42
41
41
41
39
39
38
39
39
39
39
39
39
39
39
38
39
40
40
40
39
40
41
41
41
40
39
40
40
40
39
40
41
40
40
41
41
41
40
38
37
37
38
37
38
40
41
41
40
41
41
41
42
42
41
41
42
43
44
46
47
48
49
48
49
49
50
51
51
50
49
50
49
51
54
54
51
49
49
49
50
47
45
44
47
27
200
224
194
203
199
201
198
200
201
203
203
205
206
206
206
206
205
206
204
206
207
207
207
207
205
203
201
199
198
197
199
204
206
207
205
201
197
195
196
196
195
194
192
189
187
188
188
186
186
185
183
180
175
171
169
168
166
165
162
156
151
148
143
139
136
131
127
124
121
115
109
105
100
94
88
83
76
69
63
60
55
52
50
49
48
47
45
44
46
45
45
43
40
36
36
36
36
35
36
39
39
39
39
38
36
36
35
34
34
36
38
40
42
45
46
53
66
76
82
89
97
102
106
107
106
104
98
94
88
86
85
84
85
89
93
92
90
91
89
85
81
76
73
69
66
63
58
53
50
48
42
36
35
35
36
37
38
40
41
40
39
40
39
38
37
37
38
38
37
37
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
36
36
38
37
39
38
40
39
39
41
41
40
41
42
41
40
41
41
41
39
39
38
39
39
39
38
37
36
37
38
38
39
38
38
39
40
39
40
41
40
39
40
40
40
39
40
41
41
41
42
42
41
41
39
37
37
37
38
38
40
41
41
40
40
41
41
40
40
41
42
41
43
44
45
46
46
47
48
49
48
48
46
48
53
58
59
55
53
52
53
49
47
48
50
53
53
49
45
45
27
200
224
194
202
199
201
199
201
202
202
204
205
207
208
208
206
206
205
205
205
206
206
206
205
204
203
201
199
197
196
198
203
208
208
206
202
197
197
197
197
196
195
191
189
189
188
186
186
185
185
183
180
175
172
169
168
166
165
162
157
153
149
145
141
138
134
129
126
121
115
109
103
98
89
81
75
67
59
53
50
46
43
41
40
39
38
37
37
38
39
42
40
38
34
33
32
35
36
37
38
39
39
37
36
34
33
32
31
32
33
35
37
40
40
43
47
58
66
73
80
90
95
100
102
104
101
96
92
86
85
83
83
84
88
91
93
91
90
89
84
78
75
72
68
66
65
61
54
49
47
41
37
35
36
36
37
38
39
40
40
40
40
39
38
38
37
38
39
39
39
38
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
36
36
38
37
39
38
40
39
39
41
41
40
41
42
41
40
41
41
40
39
40
40
38
38
37
37
36
37
36
37
38
38
39
39
38
39
40
39
39
39
40
40
40
40
39
40
41
42
42
42
42
42
41
39
37
38
37
38
38
40
41
41
40
40
41
40
39
39
40
41
41
43
44
45
45
45
46
47
48
44
44
43
45
55
66
65
59
53
52
50
48
45
47
51
56
57
51
45
46
26
201
223
194
202
199
202
200
200
203
203
205
206
208
209
208
208
208
208
207
207
207
207
206
205
203
203
201
199
196
196
199
202
205
207
205
202
198
197
196
196
196
194
192
190
189
187
187
186
185
184
183
180
175
172
169
168
167
164
160
157
154
150
146
143
138
134
131
127
122
116
107
100
94
85
76
69
62
53
48
48
43
40
38
37
36
35
34
33
34
36
38
39
37
33
32
31
32
33
34
35
36
36
35
36
33
33
32
32
32
33
36
38
37
40
39
44
52
58
64
72
85
91
97
99
102
100
96
92
85
84
84
84
84
88
91
92
92
90
88
84
79
77
74
69
66
63
60
55
49
45
41
37
36
36
37
37
37
38
39
39
40
39
39
38
37
38
39
39
39
39
39
38
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
36
38
37
39
38
38
40
39
39
41
41
40
41
42
41
40
41
41
40
39
39
38
39
38
37
37
36
36
36
37
37
38
38
38
39
40
40
40
40
40
40
40
40
40
39
40
41
41
42
42
41
40
41
39
37
38
38
37
38
40
41
40
39
39
39
39
40
40
39
40
40
41
44
45
45
46
46
45
46
47
45
42
45
55
65
65
59
52
49
49
47
48
46
50
54
55
52
48
45
26
201
224
198
203
201
203
201
203
203
206
205
208
209
210
211
211
212
211
209
210
210
208
207
206
203
203
201
199
197
198
200
202
204
205
204
200
198
197
196
196
196
195
192
189
188
188
187
186
184
183
183
180
176
172
169
168
166
163
160
157
154
151
147
144
140
136
133
130
125
117
105
95
86
76
66
61
54
47
43
45
42
42
41
40
38
36
32
31
33
35
38
37
36
37
37
37
37
36
36
38
38
38
37
36
34
35
33
33
33
35
37
37
37
39
39
40
45
47
54
62
76
82
90
96
100
98
93
89
85
83
82
82
83
87
89
90
89
87
85
82
80
77
73
70
64
59
56
51
45
42
40
38
38
37
38
39
38
38
37
37
38
37
37
37
38
38
38
38
39
39
39
38
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
39
39
38
38
40
39
39
41
41
40
41
42
42
40
41
41
41
39
39
38
39
38
37
37
38
37
38
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
40
40
40
39
40
39
38
37
36
36
37
39
40
40
40
40
40
40
40
40
40
39
40
41
41
44
45
44
43
44
44
47
48
47
47
52
58
58
54
51
49
47
47
48
49
51
50
50
50
46
47
26
201
225
200
204
204
204
202
205
206
207
208
207
209
211
212
213
213
214
211
211
210
209
208
206
204
204
201
200
198
200
201
202
203
204
203
200
199
198
196
196
196
195
193
190
188
189
188
187
185
183
181
180
177
172
169
168
165
162
159
155
153
150
146
143
142
140
138
133
127
116
102
91
80
68
58
53
48
41
39
41
42
42
43
42
41
39
34
30
32
33
36
34
36
39
40
40
41
41
40
40
39
38
37
34
36
36
36
36
36
35
38
39
34
35
35
35
36
37
41
50
70
76
86
93
97
96
91
86
84
82
83
83
83
85
88
88
87
84
82
81
79
77
73
69
62
56
52
48
42
40
39
38
37
38
38
38
38
37
37
36
35
35
36
37
39
40
40
39
39
39
39
38
37
37
37
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
37
38
37
37
37
37
38
37
39
39
39
38
38
40
39
39
41
41
40
41
42
40
41
41
41
39
40
39
38
39
38
38
39
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
40
39
38
39
37
36
36
36
36
36
37
38
38
38
38
39
40
39
39
39
40
40
40
40
41
43
43
43
43
44
48
50
50
48
50
51
51
50
51
49
47
49
50
49
48
50
47
46
45
48
27
200
227
202
206
203
205
205
206
207
206
208
209
210
211
212
214
213
211
211
211
212
210
208
206
205
203
202
201
201
202
202
201
202
202
203
202
200
198
197
196
195
193
191
190
190
189
189
188
185
183
183
180
176
173
171
169
165
161
159
156
154
152
149
145
145
143
140
136
129
119
106
92
83
68
56
51
44
38
37
39
41
41
40
40
40
36
33
29
30
31
33
33
36
39
39
42
41
41
40
40
37
36
35
36
34
35
36
36
36
36
36
38
37
36
34
33
33
32
38
48
65
74
83
90
94
95
92
88
83
82
82
82
83
85
87
88
86
84
82
81
80
80
75
67
60
54
50
46
41
40
39
37
37
39
40
40
39
37
36
35
35
36
36
37
39
40
39
38
37
37
38
39
39
39
39
38
37
38
38
38
38
37
36
36
36
36
36
37
38
38
37
39
38
37
39
39
39
39
36
38
37
39
39
39
38
38
40
39
41
41
41
40
40
40
39
39
39
39
38
38
38
37
38
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
39
39
40
39
38
39
39
39
39
39
39
39
39
39
38
39
40
39
40
41
40
42
43
41
40
40
42
42
43
44
43
47
47
48
50
50
49
49
49
48
48
49
47
48
49
49
49
46
47
46
45
28
202
227
201
206
203
205
204
204
207
206
208
209
210
211
212
213
213
211
211
210
212
210
208
206
205
203
202
201
201
201
201
201
202
203
202
200
200
198
197
196
195
194
192
190
189
190
189
188
186
184
184
180
177
174
171
168
165
162
160
157
156
155
152
148
148
146
143
140
133
123
109
97
86
71
59
53
46
38
35
36
37
38
39
41
41
38
35
33
34
34
33
35
36
37
40
40
38
39
37
38
37
37
37
37
37
38
39
39
39
38
38
38
34
33
32
33
31
32
36
46
63
71
80
88
92
93
89
86
83
83
82
81
83
85
86
87
85
83
81
80
79
77
73
66
59
53
48
44
39
37
37
35
35
36
38
39
39
38
37
36
37
37
37
38
39
40
38
37
37
37
37
38
39
39
38
37
38
38
38
38
38
37
36
37
37
37
36
37
38
38
37
39
37
37
39
39
39
39
38
37
37
39
39
38
38
40
39
39
41
41
41
41
41
40
39
40
40
39
38
39
38
37
38
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
38
39
40
40
39
40
40
42
43
41
40
40
42
42
43
44
43
46
47
49
48
48
48
48
50
49
49
48
48
47
47
47
47
49
47
44
46
27
200
227
201
206
203
206
204
204
207
208
207
208
210
211
212
213
213
211
211
213
211
210
208
207
205
204
203
203
203
203
203
203
203
203
202
200
199
198
197
196
196
195
194
192
190
190
189
189
187
185
185
181
178
175
172
169
166
163
161
159
157
156
154
152
151
149
148
145
139
130
116
103
90
75
62
55
46
36
33
34
34
35
37
38
39
37
36
34
35
34
35
37
37
37
38
38
37
37
36
36
34
34
35
35
38
38
40
40
39
38
36
37
32
31
30
31
30
30
35
45
61
69
78
85
91
93
90
87
84
84
82
83
84
85
87
86
84
82
80
79
77
76
71
65
58
52
47
42
37
35
35
33
34
35
38
39
40
40
39
38
39
40
40
40
40
39
37
35
34
34
35
37
38
39
38
37
38
38
38
38
38
37
36
37
37
37
36
37
38
38
37
39
39
39
39
39
39
39
37
37
37
39
39
38
38
40
39
39
41
41
41
41
41
40
39
40
40
39
38
39
38
37
38
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
38
39
40
40
39
40
41
40
42
41
40
40
42
43
42
43
43
45
46
47
49
49
49
49
49
48
46
46
46
48
48
48
48
48
48
45
46
27
199
228
200
207
204
207
205
205
206
207
209
210
211
210
212
213
214
214
214
212
211
210
209
207
206
204
203
203
203
203
203
203
203
202
200
200
199
198
197
196
195
195
194
193
191
190
191
190
189
187
186
183
179
176
173
170
168
165
162
160
159
158
156
154
153
152
151
149
143
134
121
108
97
83
68
59
49
39
35
36
33
34
36
37
37
36
36
37
39
38
38
35
35
34
35
36
33
33
32
32
33
34
37
37
36
36
39
39
37
37
36
34
30
29
28
28
29
32
37
45
59
68
76
83
88
90
87
86
85
84
85
85
86
86
87
86
83
81
80
78
75
73
70
63
57
51
46
40
36
34
32
32
33
34
37
39
40
41
41
41
41
42
41
40
40
38
36
35
34
33
34
37
39
39
38
37
38
38
38
38
38
37
36
36
36
36
36
37
37
37
37
38
39
39
38
38
39
39
37
37
37
39
39
38
38
40
39
39
41
41
41
41
41
41
39
40
40
39
38
39
38
37
38
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
39
38
38
39
39
40
41
41
40
40
41
41
40
42
43
42
42
44
45
47
46
46
46
47
46
46
46
47
47
47
47
45
45
46
47
46
44
27
201
229
202
207
205
208
205
207
208
209
210
209
211
212
211
213
214
213
213
212
213
211
209
207
206
203
202
201
200
200
200
200
201
202
201
200
199
198
197
196
197
196
195
194
193
192
191
191
190
189
188
185
181
178
176
173
170
167
164
162
161
160
158
156
155
154
154
152
146
138
125
114
103
88
74
65
54
43
38
37
35
36
38
40
40
39
39
40
42
41
41
38
36
36
34
33
32
31
31
32
34
35
34
35
38
38
38
38
37
34
33
33
31
30
30
30
33
36
43
51
64
72
79
85
90
91
90
88
86
85
85
86
87
87
86
85
83
80
78
74
72
69
65
61
56
49
45
41
35
33
31
31
32
34
35
37
38
39
40
40
41
41
41
41
40
38
36
35
34
33
35
37
39
39
38
37
37
37
37
37
37
36
36
37
38
38
38
39
39
39
39
39
39
38
40
38
38
39
37
37
37
39
39
39
38
38
40
39
39
41
41
41
40
39
40
40
40
40
38
39
38
37
38
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
38
39
40
39
40
41
41
41
41
41
41
40
42
43
43
43
45
44
46
46
45
44
45
47
47
47
47
46
44
44
44
47
47
45
46
27
201
228
203
208
205
208
206
208
206
210
209
211
212
211
213
214
214
215
213
212
212
211
209
206
205
203
202
201
200
200
200
200
201
202
201
200
199
198
197
196
196
195
195
194
195
194
193
193
192
190
189
186
183
180
178
175
172
169
167
164
163
162
160
158
157
156
156
155
150
141
132
121
113
99
85
77
65
55
48
45
40
38
39
40
40
39
41
43
44
43
43
40
39
37
36
35
35
32
32
32
32
33
35
34
34
34
34
34
33
32
32
32
36
35
35
39
43
48
55
61
72
78
84
89
92
93
92
90
89
88
87
87
86
86
85
84
80
77
74
70
67
65
62
59
56
50
46
42
37
35
33
31
31
32
33
35
36
35
36
37
38
39
40
40
40
39
38
36
35
35
36
38
40
39
38
38
39
39
39
39
39
38
38
38
38
38
37
38
39
39
39
39
39
38
40
40
38
38
37
38
37
39
39
39
39
38
40
39
39
41
41
41
41
39
40
40
39
38
39
38
37
37
38
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
38
39
39
40
41
41
41
41
41
41
41
40
40
40
41
42
42
42
42
42
42
43
45
46
46
45
43
43
45
45
46
46
46
44
28
199
229
204
210
207
209
209
208
207
211
211
212
211
213
213
214
214
214
213
212
213
211
208
206
205
204
203
202
201
202
201
200
201
201
200
200
199
198
197
197
197
195
195
194
195
196
196
196
193
191
190
187
184
183
180
177
174
171
169
166
165
164
162
160
159
158
158
156
153
147
138
130
118
106
94
86
75
65
57
52
46
45
44
43
43
43
42
42
45
45
44
41
40
38
36
35
34
35
35
32
32
34
33
34
32
32
32
33
33
35
36
37
36
39
41
45
52
58
63
69
80
85
90
92
96
97
96
94
94
93
91
90
88
87
85
82
78
75
72
68
66
63
60
57
55
49
47
43
38
35
31
31
31
31
32
33
33
33
34
35
36
37
37
38
39
40
39
38
37
37
38
39
38
39
38
38
39
39
39
39
39
38
37
37
38
38
37
38
39
39
39
38
38
38
40
40
40
40
37
36
38
37
37
37
37
39
38
40
39
39
39
39
39
40
40
40
40
38
38
37
38
37
38
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
39
40
41
41
41
41
41
41
41
41
40
41
42
42
42
40
41
41
42
45
45
45
42
42
42
44
43
45
43
43
45
25
198
228
205
209
208
211
208
211
208
212
212
212
213
212
212
214
214
216
213
214
211
210
208
206
205
204
203
202
203
203
202
201
202
202
200
199
197
198
197
196
197
196
195
195
196
196
197
197
195
193
192
189
186
183
181
178
176
174
171
168
167
165
163
161
161
160
160
159
156
151
144
137
131
122
111
104
94
84
74
68
60
55
52
51
49
46
45
44
45
44
43
41
38
36
35
33
35
35
35
35
32
34
34
32
34
33
35
37
39
43
47
50
57
61
64
69
76
81
85
90
92
98
101
102
105
107
104
102
98
97
95
93
91
89
86
82
77
74
71
67
63
62
59
56
53
50
47
44
39
36
33
33
34
34
34
33
33
33
32
34
35
34
36
37
39
40
40
39
39
40
40
39
38
39
38
38
39
39
39
39
39
38
38
38
37
38
37
38
39
39
38
41
39
38
40
40
40
40
39
36
38
38
38
37
37
39
38
40
40
40
40
40
40
40
40
40
38
39
38
37
38
37
37
39
38
39
40
39
39
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
39
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
39
40
41
41
41
41
41
41
41
41
41
40
40
41
40
39
40
40
41
42
42
42
41
41
41
43
43
42
44
42
44
25
198
226
205
207
210
212
209
212
209
213
211
211
213
213
214
213
211
216
213
212
210
209
208
206
205
204
204
204
204
204
203
202
203
203
201
200
198
197
197
196
195
195
196
196
196
195
196
197
196
196
194
191
187
184
182
180
176
174
172
169
168
166
165
163
162
161
162
161
159
156
151
146
139
134
124
115
108
100
90
84
73
65
60
58
53
48
44
43
41
41
41
38
34
33
34
32
34
33
33
33
34
34
34
32
33
36
35
38
44
51
57
64
71
83
89
91
95
96
96
102
105
109
112
110
112
112
110
106
104
102
100
97
93
90
86
82
78
73
70
67
64
61
59
55
52
49
46
44
40
38
36
35
36
36
35
35
35
35
34
33
34
33
34
35
37
38
39
39
40
41
40
39
38
39
39
39
39
39
39
39
39
37
40
38
37
38
37
38
39
39
38
40
38
38
40
40
40
40
39
38
37
38
38
37
37
39
39
38
38
38
38
38
38
38
38
38
39
37
37
38
38
38
38
38
39
39
40
40
41
41
40
39
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
40
39
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
39
39
39
39
39
39
39
39
39
39
41
40
40
39
38
39
41
40
41
42
41
42
40
40
41
41
41
43
41
42
25
200
228
205
210
209
212
209
213
210
213
211
213
212
212
214
213
213
215
214
213
210
209
208
206
205
205
204
203
204
204
204
203
203
203
201
199
198
197
196
195
195
196
196
196
195
196
197
196
197
196
195
192
188
185
182
179
177
175
173
171
170
169
167
166
165
165
164
163
163
161
158
155
150
145
138
131
124
116
105
99
87
77
70
64
59
54
48
45
41
40
36
33
32
31
31
29
32
33
33
33
33
32
32
31
33
36
38
41
49
58
67
76
92
105
114
115
117
115
115
118
118
121
121
120
119
119
117
113
111
108
104
101
97
93
87
83
78
73
70
67
63
61
58
53
50
47
45
44
41
40
39
38
38
37
36
35
34
34
34
33
32
32
33
34
36
38
38
40
41
41
41
40
39
38
39
39
39
39
39
39
39
37
39
38
37
38
37
38
39
39
39
38
38
38
40
40
38
38
39
37
37
38
38
38
37
37
37
39
39
39
39
39
39
39
39
39
37
38
38
38
38
38
37
38
39
39
40
40
41
41
40
39
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
40
39
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
38
38
37
37
38
39
39
40
40
42
42
40
42
42
42
41
43
41
43
25
200
229
205
211
210
213
210
213
211
213
213
212
214
214
215
214
213
215
212
212
210
211
208
206
207
207
205
203
204
204
204
204
203
202
201
198
197
197
196
195
194
194
194
195
196
196
197
197
197
196
195
193
190
187
183
180
179
177
174
172
171
170
169
168
168
167
164
163
163
162
161
161
161
158
153
148
142
134
126
119
106
95
86
77
70
64
58
53
49
45
39
35
33
35
34
34
35
36
38
39
39
40
41
43
41
47
49
55
64
76
86
96
115
128
138
140
138
134
132
134
132
134
134
131
131
129
126
123
117
114
110
107
101
96
91
86
80
75
72
68
65
62
58
55
50
46
45
44
43
42
41
39
39
38
37
36
35
34
33
33
33
33
33
34
35
37
38
39
40
41
41
40
39
38
39
39
39
39
39
39
39
37
39
38
37
37
37
38
38
38
38
38
39
38
40
38
38
39
39
37
37
38
38
38
38
38
37
37
39
39
39
39
39
39
37
37
38
38
38
38
38
38
37
38
39
39
40
39
39
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
40
39
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
39
39
38
39
41
41
41
40
40
42
42
41
41
43
41
42
25
200
228
206
212
211
214
211
214
211
214
212
214
213
215
215
214
212
212
211
210
211
209
207
206
205
206
205
204
203
204
204
203
202
201
200
198
197
196
196
194
193
194
195
194
195
196
197
197
197
197
196
193
191
188
184
181
179
178
175
172
171
170
169
169
168
166
162
161
161
159
157
157
154
152
149
147
144
138
132
126
120
113
105
101
96
92
87
85
78
71
63
56
54
55
52
52
53
54
57
61
66
70
74
78
84
89
93
97
103
111
118
124
132
141
149
150
149
145
144
145
144
145
142
140
138
137
134
132
129
125
121
116
111
106
100
95
89
84
80
76
72
69
64
58
50
45
44
45
44
43
42
39
37
38
38
38
37
36
35
35
36
35
35
35
35
36
36
37
38
39
38
38
39
39
39
39
39
39
39
39
39
37
39
39
38
39
38
39
40
40
40
38
38
38
38
38
38
39
39
37
37
38
38
38
38
38
38
37
37
39
39
39
38
37
38
38
38
38
38
38
38
38
37
38
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
39
40
40
39
38
39
38
38
38
38
38
38
38
38
38
38
38
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
38
40
40
39
39
39
40
40
42
41
43
41
44
42
44
25
200
230
207
212
211
215
212
214
212
213
212
214
215
215
215
214
212
211
210
211
209
208
207
206
206
208
206
204
203
203
202
203
202
201
200
198
197
196
195
194
193
193
193
194
194
195
196
197
197
197
196
193
191
188
185
182
179
177
175
173
172
171
170
169
168
165
161
159
157
154
151
151
151
150
150
148
148
146
142
139
132
126
122
119
116
113
111
109
101
91
78
70
66
63
61
60
60
62
67
73
82
90
100
107
113
119
124
127
132
136
141
143
149
153
156
156
156
155
154
155
155
153
151
149
147
144
142
140
136
132
128
124
119
114
107
101
95
90
86
82
78
74
68
60
50
44
44
44
43
43
41
39
38
37
38
39
39
39
39
38
38
37
36
36
35
36
35
34
35
36
37
37
38
39
38
38
39
39
39
39
39
37
39
40
40
40
40
41
41
41
41
40
40
38
40
40
38
38
38
39
37
37
38
38
38
38
38
37
37
39
39
39
39
37
38
38
38
38
38
38
38
37
38
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
39
40
40
40
40
40
40
40
40
40
40
40
39
38
38
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
39
40
39
40
42
41
43
43
42
44
42
44
25
200
229
210
213
212
215
212
215
212
215
214
215
215
215
215
214
211
210
209
209
208
207
207
205
206
208
206
204
203
202
202
202
202
201
200
198
197
196
195
195
194
193
193
194
195
196
196
197
197
197
196
193
190
187
186
183
180
178
176
175
174
172
171
170
168
165
161
158
156
153
151
149
150
149
149
149
149
150
148
146
143
141
139
136
134
134
132
129
123
113
100
91
86
79
76
74
78
79
86
94
103
114
127
136
144
151
155
158
162
164
165
165
166
165
166
166
166
166
166
165
164
162
159
157
155
153
151
149
147
142
138
133
127
121
115
110
103
98
93
88
85
81
74
65
53
45
45
45
44
43
41
39
39
38
37
38
39
40
41
40
39
38
39
38
36
35
34
33
34
35
36
37
38
38
37
38
39
39
39
39
39
37
39
40
40
40
39
40
41
41
41
41
41
39
41
41
39
39
40
38
39
39
37
38
38
38
38
38
37
37
39
39
37
38
38
38
38
38
38
38
38
37
38
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
39
39
38
38
38
38
38
38
38
38
39
40
40
39
40
41
41
41
40
39
39
40
42
41
43
43
42
44
42
44
25
200
230
209
213
212
215
212
215
212
215
213
215
215
215
215
213
210
209
208
208
207
208
207
206
206
206
205
204
203
203
202
199
200
201
200
198
197
197
196
194
193
194
194
193
194
195
196
196
196
196
195
193
190
187
186
183
180
179
178
175
175
173
172
171
170
166
161
159
157
154
152
152
152
152
152
153
154
154
153
152
150
148
149
149
148
147
148
148
137
127
117
109
104
100
99
97
101
101
108
116
125
136
147
157
170
176
177
178
181
182
179
178
176
175
175
175
174
173
173
172
171
168
166
164
163
161
159
158
157
153
150
145
139
134
128
123
117
112
107
102
99
94
87
76
61
52
51
49
46
45
43
39
37
36
35
35
37
40
42
41
41
41
41
40
38
36
35
33
34
35
36
37
38
38
37
38
39
39
39
39
39
37
39
40
40
40
39
40
41
41
41
40
40
40
42
42
40
41
39
38
38
38
37
38
38
38
38
38
38
37
37
37
38
38
38
38
38
38
38
38
37
37
38
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
38
39
40
39
41
40
42
42
42
40
41
41
40
41
43
43
43
42
44
42
44
25
200
232
209
213
212
215
212
215
213
215
215
215
215
215
212
211
210
209
208
208
208
207
207
206
206
206
205
204
202
203
202
200
201
201
200
198
197
197
196
194
193
193
193
194
193
194
195
196
195
194
194
191
189
187
185
183
180
178
176
175
174
172
171
170
169
165
161
160
159
157
155
156
156
156
157
157
158
157
155
154
150
149
149
148
146
144
144
144
140
135
126
123
120
118
116
117
118
119
124
131
139
147
157
164
172
176
176
177
181
180
181
179
181
181
181
181
178
176
175
173
172
171
169
170
169
167
166
165
164
161
158
154
149
144
139
134
128
123
118
113
109
105
97
86
73
65
61
58
52
49
45
39
35
34
33
33
35
37
39
41
42
42
43
42
40
38
37
36
36
36
37
38
38
39
38
38
39
39
39
39
39
38
38
39
40
40
39
40
41
41
40
42
41
40
42
42
42
42
41
39
40
40
39
37
37
37
38
38
38
38
38
38
38
38
38
38
38
38
37
37
38
39
38
39
40
40
40
40
39
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
39
39
39
39
39
39
40
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
38
39
38
39
39
40
40
39
39
40
39
41
41
42
42
42
41
42
44
42
44
25
200
232
208
213
212
215
214
215
213
215
215
214
213
213
210
209
209
210
210
210
208
208
207
206
207
206
205
204
204
203
201
202
202
201
199
198
197
196
195
193
194
194
194
194
194
195
194
194
194
194
193
192
189
186
184
182
179
177
175
174
174
172
170
169
166
165
163
162
161
161
160
160
162
162
162
160
160
158
156
154
150
148
149
146
147
146
145
146
145
146
143
139
138
137
137
139
139
141
145
148
156
164
168
170
179
179
180
181
183
182
183
185
186
187
187
186
183
179
177
175
174
173
173
174
174
174
173
173
173
171
168
165
161
156
152
147
142
138
133
127
122
117
109
99
88
79
73
68
61
55
48
41
35
32
30
29
32
33
35
39
42
44
44
43
42
40
39
39
39
38
38
39
40
39
38
37
37
37
38
38
38
37
38
39
40
40
39
40
41
41
41
40
40
41
40
42
42
42
42
41
41
41
38
39
39
39
37
38
38
38
38
38
38
38
38
38
38
37
38
39
39
40
40
40
40
40
40
39
40
41
40
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
40
39
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
38
39
40
41
41
41
39
38
38
38
38
39
39
39
40
41
40
42
44
42
42
24
200
230
208
213
212
215
212
215
213
215
215
215
213
214
210
209
210
210
210
208
207
206
208
206
205
205
205
204
203
202
201
202
201
200
199
198
196
196
195
194
193
193
193
192
193
194
195
195
195
194
194
193
190
187
184
181
179
177
176
174
173
173
170
168
167
166
164
163
162
162
161
160
161
161
161
160
159
157
156
154
150
150
149
148
146
146
146
148
146
147
146
144
145
144
145
147
147
149
153
156
165
170
174
177
180
180
182
183
185
184
184
187
187
189
190
188
185
182
179
177
175
174
173
175
176
176
175
176
176
173
172
170
166
163
159
155
150
146
141
135
131
126
118
108
98
90
85
78
71
64
54
46
39
34
31
29
31
32
34
39
42
44
44
43
43
41
40
41
41
40
39
40
39
39
38
38
39
39
38
39
40
39
39
40
40
40
39
40
41
41
41
41
41
41
40
42
42
41
41
40
41
41
38
39
39
39
39
37
38
38
38
38
38
38
38
38
37
38
39
38
39
40
40
41
39
40
40
40
39
40
40
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
40
39
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
38
39
39
40
41
40
39
38
39
39
39
38
39
40
39
39
40
42
44
43
43
25
200
231
208
213
211
215
212
215
212
213
213
213
213
212
210
209
210
208
208
208
206
207
206
205
206
205
204
203
202
201
202
201
200
200
199
198
197
196
195
194
194
194
193
194
193
193
193
193
193
193
192
191
190
187
183
181
180
178
176
175
174
172
170
167
167
167
165
164
163
163
162
162
160
159
160
158
157
156
154
152
149
147
147
149
148
148
147
149
146
147
146
144
148
148
150
152
153
154
159
162
170
174
177
178
182
184
184
185
187
187
188
189
191
192
193
191
188
184
181
179
176
175
176
177
178
178
179
180
178
175
174
173
171
168
166
163
159
156
151
145
140
135
129
122
114
106
100
93
85
77
67
57
48
42
35
31
32
33
34
39
42
43
44
44
43
42
43
42
42
43
41
40
39
39
39
39
39
38
39
40
41
40
39
40
40
40
39
40
41
41
41
41
41
40
42
42
41
43
43
40
41
41
38
39
39
39
39
37
38
38
38
38
38
38
37
37
37
39
38
39
40
39
40
40
39
40
40
40
39
40
40
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
40
39
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
38
39
39
41
40
38
38
39
39
38
38
38
39
40
40
40
39
43
43
42
41
25
200
231
207
212
211
214
212
214
212
214
214
214
214
212
209
210
208
209
208
207
206
205
205
205
204
204
203
202
201
201
200
200
200
199
199
198
197
196
196
195
195
195
194
195
195
195
195
195
194
194
193
191
190
187
184
181
179
179
177
175
173
172
170
167
166
166
164
163
163
162
161
162
161
160
158
155
153
153
151
150
148
146
147
147
149
148
149
149
145
147
144
144
146
149
152
153
155
159
163
167
172
176
179
181
181
184
185
185
188
189
188
190
193
194
194
194
189
185
182
180
178
177
176
178
179
179
180
180
178
176
175
174
172
171
170
167
163
161
158
154
149
144
138
132
127
119
114
107
99
90
79
67
57
49
40
34
34
35
35
39
41
43
44
44
44
44
43
45
46
45
43
40
38
37
38
39
39
38
40
41
41
40
39
40
40
40
39
40
41
41
41
40
40
42
42
41
43
41
42
40
41
41
40
38
39
39
39
37
38
38
38
38
38
37
38
39
39
38
39
40
39
40
41
41
40
39
40
40
40
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
40
39
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
38
39
40
40
39
38
39
39
38
40
40
40
40
40
40
40
39
40
40
39
40
24
200
229
207
212
211
214
211
214
212
214
214
212
212
213
209
208
209
209
209
207
205
206
206
205
204
203
204
202
201
200
201
201
200
199
199
200
199
198
197
195
195
196
195
194
195
195
195
195
195
194
193
190
189
188
184
181
180
178
177
175
173
171
169
168
166
165
164
163
162
161
162
161
159
158
156
154
153
151
150
147
147
147
147
148
149
147
149
148
146
148
146
145
147
151
153
156
159
160
165
169
174
178
181
183
182
185
186
188
190
189
189
191
194
194
194
192
190
187
184
182
180
179
178
178
179
180
180
180
179
177
176
174
172
173
172
171
168
166
164
160
155
150
145
141
137
129
125
118
109
100
88
74
63
56
46
39
37
37
38
40
41
42
43
43
42
42
44
46
47
46
45
41
38
37
37
38
39
38
39
40
41
40
39
40
40
40
39
40
41
41
40
42
42
41
41
41
42
40
40
40
41
41
39
38
39
39
39
37
38
38
38
38
38
37
37
39
38
39
40
39
40
41
41
41
40
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
40
39
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
38
40
39
38
38
39
39
39
38
39
40
40
40
40
40
40
40
39
41
40
39
23
199
230
207
210
210
213
211
214
211
212
212
213
213
211
209
208
207
207
207
206
204
205
205
205
204
202
201
202
201
200
200
199
199
198
199
201
200
199
199
197
196
196
196
195
194
194
194
194
195
194
191
190
189
188
184
181
179
178
176
175
174
172
171
170
168
166
165
163
163
161
160
159
157
155
155
153
151
151
151
149
149
149
149
150
150
148
148
148
146
148
145
145
147
149
151
153
158
161
164
166
172
175
179
181
183
185
187
189
191
191
191
191
190
189
191
191
189
189
187
186
184
182
180
180
179
178
179
179
178
176
174
173
172
173
174
173
171
170
169
166
160
156
152
147
143
138
134
128
118
110
99
86
75
67
56
47
46
44
42
43
43
42
41
41
40
40
42
45
46
45
43
40
38
37
37
38
39
39
38
39
40
39
39
40
40
40
39
40
41
41
40
42
41
43
41
43
40
40
42
40
41
41
39
40
38
39
39
39
37
37
36
36
38
38
39
39
38
39
40
40
41
41
41
41
40
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
40
39
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
37
38
39
39
39
39
37
39
40
40
40
40
40
40
40
38
40
38
40
20
199
230
206
211
210
213
211
213
211
213
213
212
211
211
208
208
207
207
206
205
203
203
203
203
203
200
200
199
201
200
199
200
200
199
200
201
202
202
201
199
197
198
197
196
196
196
196
196
195
194
191
191
190
188
184
181
179
177
176
175
175
173
172
172
170
168
166
164
162
160
159
158
157
156
155
154
154
154
154
154
153
152
153
153
153
151
150
149
146
149
147
146
147
147
150
152
155
157
160
162
168
170
175
178
182
185
189
189
191
192
191
191
188
186
185
188
190
192
190
189
187
186
184
182
180
178
177
177
175
173
172
171
169
171
174
173
172
171
171
169
164
159
156
152
148
145
142
137
131
123
113
101
92
83
70
60
55
51
48
47
45
42
41
39
37
37
39
42
42
42
42
40
39
38
37
38
39
39
39
38
38
37
38
40
40
40
40
41
41
41
41
42
42
42
41
43
40
40
42
42
40
41
39
40
38
39
39
39
37
38
36
37
38
38
39
39
38
39
40
40
41
41
41
41
41
40
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
40
39
40
40
40
40
40
40
39
38
39
38
38
39
39
39
39
39
39
39
37
37
38
39
38
39
37
37
38
38
38
38
38
38
38
38
38
40
37
38
21
199
228
205
211
210
213
210
213
211
212
212
212
211
211
209
208
208
207
205
205
203
203
203
203
202
201
201
200
200
200
199
199
200
200
200
202
204
203
201
199
198
198
197
196
195
196
195
194
195
194
192
191
190
187
184
181
180
178
175
174
174
174
173
173
172
171
169
166
163
161
158
157
156
157
156
155
154
155
156
157
156
156
155
155
154
152
152
150
147
149
148
147
149
150
150
151
153
156
158
160
165
168
172
174
179
181
183
186
190
190
189
188
185
183
182
186
190
193
194
192
187
184
184
182
180
178
178
176
172
171
170
169
168
170
173
174
174
174
174
170
165
162
158
155
152
150
147
144
139
132
122
112
103
94
83
70
63
59
53
49
45
42
39
38
36
36
38
40
40
41
41
40
39
39
38
37
37
37
38
39
39
38
37
38
39
39
38
40
40
40
39
41
41
41
41
41
41
41
41
41
41
41
39
40
38
39
39
39
37
37
36
36
38
38
39
39
38
39
40
40
41
41
41
41
41
40
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
40
39
39
39
39
40
40
40
39
38
38
39
39
38
38
38
38
38
39
39
38
38
38
38
39
38
39
40
38
38
39
39
39
39
39
39
37
39
37
38
21
199
230
203
211
209
212
212
213
213
214
214
212
211
211
210
211
209
208
207
206
205
204
204
203
203
205
203
202
201
200
200
201
202
201
202
203
205
204
203
200
198
197
196
195
195
194
194
193
193
194
193
191
189
186
183
181
181
179
175
172
173
174
174
173
172
170
167
165
164
160
157
155
157
157
156
156
155
157
159
158
159
158
156
155
155
154
154
153
149
148
147
147
148
150
153
153
152
157
158
159
161
164
168
164
168
171
173
178
182
186
186
187
183
182
181
186
189
193
194
191
183
181
181
180
177
175
176
174
171
171
171
171
172
174
178
180
180
179
178
175
170
167
162
160
158
154
152
148
142
136
127
119
112
104
95
82
72
68
60
51
45
39
35
36
37
37
37
39
39
40
42
40
39
38
39
39
39
39
39
39
38
36
36
37
37
37
37
37
38
38
38
38
38
38
38
38
39
39
39
39
39
39
40
38
39
39
39
37
37
37
38
38
37
37
39
39
38
39
40
40
41
41
40
39
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
39
40
41
41
41
41
41
41
41
40
39
40
40
40
40
39
40
40
39
40
40
40
39
38
38
40
41
40
39
41
41
42
42
40
39
38
39
39
39
39
39
37
37
36
40
21
199
230
204
211
208
212
211
211
213
213
213
213
211
211
211
211
211
210
211
209
208
207
206
204
204
206
204
202
202
201
201
202
203
203
204
204
205
205
204
201
198
197
196
195
194
193
193
192
193
193
192
190
189
187
184
182
181
179
176
174
173
173
174
172
170
168
165
163
161
159
158
157
158
158
158
160
160
160
160
159
158
157
156
155
153
155
156
155
154
153
152
151
151
152
154
153
150
154
153
153
154
157
157
153
155
158
159
162
168
174
179
183
182
182
185
188
190
192
190
188
182
179
176
176
173
171
171
171
170
172
175
177
180
184
188
189
190
191
189
185
179
174
170
168
165
162
159
153
147
141
134
127
122
117
110
97
85
75
63
51
43
36
31
34
37
39
40
39
38
38
40
40
39
38
38
38
38
39
39
38
38
37
36
36
38
38
38
37
38
39
38
40
38
40
40
40
40
40
38
40
40
40
38
39
39
39
37
37
38
39
37
37
38
39
38
38
38
38
40
40
41
41
40
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
41
40
39
39
40
40
39
40
41
41
41
41
41
41
40
40
40
39
39
39
40
40
39
40
41
39
39
39
39
37
37
37
37
37
37
37
40
21
199
230
203
210
208
213
211
211
213
211
211
211
211
213
213
214
214
213
213
211
210
209
208
206
206
207
205
203
203
202
203
204
203
204
205
205
207
206
204
202
199
197
196
194
193
193
192
192
193
193
192
190
189
188
186
183
181
180
177
175
175
174
173
171
169
167
164
162
160
159
159
159
159
160
160
163
162
161
160
159
157
156
156
154
154
156
158
157
157
156
156
156
155
156
155
154
149
152
150
150
150
149
147
141
138
142
142
143
151
160
170
176
182
184
188
190
191
190
188
186
179
175
173
172
169
167
168
169
170
174
179
183
189
195
199
200
200
200
199
195
189
183
179
176
172
168
163
156
149
145
141
135
130
129
126
114
99
84
69
54
43
34
29
33
38
42
43
39
37
37
39
40
40
40
39
39
39
39
38
38
37
36
37
37
36
38
37
39
39
38
40
40
40
40
40
40
40
38
39
38
38
38
39
39
37
37
38
37
37
39
39
37
37
39
39
40
40
40
40
39
39
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
40
39
39
40
40
40
40
40
40
40
40
40
39
39
39
39
40
39
38
38
39
40
37
37
37
37
37
37
37
37
39
39
38
40
20
199
230
205
210
209
213
211
211
211
211
212
213
213
214
214
215
215
213
214
214
211
210
209
207
207
207
205
206
204
204
204
204
205
205
205
207
208
207
205
202
201
198
196
194
193
193
192
192
193
192
191
191
190
188
187
185
182
179
177
175
175
173
172
171
170
167
164
162
160
159
159
157
160
160
161
162
161
161
160
159
160
159
156
156
155
158
156
158
158
158
158
158
156
158
156
155
149
151
149
150
148
148
143
138
131
135
138
138
145
156
167
175
184
186
189
191
190
189
187
184
178
174
172
170
166
166
168
170
172
176
182
187
194
199
204
206
205
204
202
199
192
187
183
179
174
170
164
156
149
147
142
136
133
133
131
122
108
92
76
60
48
37
31
35
41
43
44
39
37
37
39
40
41
40
38
39
39
38
37
36
37
37
37
36
37
36
37
39
39
40
40
38
38
40
40
40
40
39
37
39
39
39
37
37
38
38
37
37
39
39
39
39
39
38
38
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
39
39
39
39
39
39
40
41
41
41
41
40
41
42
42
42
42
42
42
41
41
41
41
40
40
39
38
39
38
38
39
39
39
39
39
39
39
39
40
40
38
39
22
199
231
204
211
209
213
211
213
213
211
211
213
213
214
215
214
214
215
213
214
213
211
209
207
207
208
206
205
204
204
204
204
205
205
204
204
205
204
203
201
199
198
197
195
195
194
193
193
192
192
191
191
190
188
186
185
182
180
178
176
174
173
173
171
170
169
166
164
162
159
157
158
158
156
155
158
159
158
160
162
162
161
159
160
158
156
157
155
155
155
157
159
158
158
157
155
149
149
148
148
148
147
145
140
137
140
142
143
148
158
168
176
183
186
190
191
190
189
189
186
178
176
173
173
169
170
172
173
176
179
184
190
196
201
204
207
205
205
204
198
193
188
184
179
174
170
164
156
149
144
139
133
128
127
127
120
108
95
82
68
56
44
37
39
44
45
44
40
38
37
39
41
42
41
40
40
38
37
35
35
35
35
36
34
35
35
36
37
37
38
38
40
39
40
40
40
40
39
37
37
37
37
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
40
41
42
42
42
42
42
42
42
41
40
41
40
41
40
38
38
38
38
38
38
39
38
38
38
38
38
38
38
38
38
41
22
199
232
206
212
210
213
213
212
214
211
211
213
213
214
215
215
216
214
213
212
211
210
209
207
207
207
205
204
203
202
202
202
203
204
203
203
203
202
201
199
198
198
197
196
195
194
195
194
193
192
191
190
190
188
186
185
182
180
178
176
174
174
173
172
173
171
169
168
166
162
158
156
153
151
150
153
154
156
159
162
163
164
164
163
162
159
156
155
153
154
156
157
157
157
157
155
149
150
147
148
149
149
150
146
144
148
149
149
155
163
171
177
185
187
190
191
190
189
187
186
181
178
177
177
173
174
176
177
180
183
187
192
197
201
204
206
204
203
203
198
191
186
182
179
173
167
162
154
147
140
133
125
121
121
123
118
110
102
92
79
67
55
46
45
46
44
42
40
39
38
40
41
43
42
40
40
38
37
36
35
36
36
35
34
35
35
36
37
37
38
39
39
37
39
38
40
40
39
37
37
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
41
41
40
41
40
41
42
42
42
42
42
42
42
41
40
40
42
41
41
40
40
40
40
40
39
38
40
40
40
40
40
40
40
40
38
41
22
199
233
205
213
210
214
212
212
214
211
211
213
212
214
215
215
214
213
214
212
210
209
209
207
208
207
205
204
201
201
202
201
202
202
201
202
201
200
199
198
198
200
198
196
195
196
196
196
193
191
191
190
189
188
185
184
182
180
178
176
174
173
173
174
173
172
172
171
169
164
158
155
151
147
147
149
151
153
158
161
166
167
167
167
165
161
157
153
153
154
157
158
158
159
158
156
149
148
148
149
152
153
155
154
151
153
154
157
162
168
175
180
187
188
190
191
190
188
189
187
182
180
180
180
177
177
180
181
183
186
190
194
197
200
205
206
205
204
202
197
191
185
181
176
170
165
159
151
143
134
124
115
110
110
114
113
109
107
102
89
76
64
53
49
47
44
41
40
40
39
41
42
42
41
40
40
38
37
36
35
35
36
34
35
36
35
36
37
37
39
39
39
37
37
37
38
38
39
37
37
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
40
41
42
42
42
42
42
42
41
40
41
40
41
40
39
40
40
40
40
39
38
39
40
40
40
40
40
40
40
38
39
22
199
232
208
213
212
214
213
214
214
212
212
212
214
214
215
215
214
213
212
211
210
209
208
209
207
206
205
203
201
201
202
201
201
202
200
200
200
200
199
198
198
198
197
197
195
196
195
194
193
192
191
189
189
187
185
184
183
180
178
176
174
173
173
173
174
174
174
172
170
164
159
156
153
150
148
150
151
153
156
160
166
168
169
169
166
163
159
156
157
157
159
160
161
159
158
158
150
149
148
153
153
154
157
160
159
162
162
162
167
173
179
184
189
189
190
192
191
190
188
187
183
181
182
181
180
181
182
183
185
187
191
195
199
202
206
208
206
204
202
197
190
184
179
174
167
161
154
146
138
129
117
105
99
100
103
105
106
106
105
94
82
69
58
51
47
41
39
40
39
40
41
42
41
41
40
40
38
37
36
37
36
36
35
35
36
35
36
38
38
37
39
37
37
38
37
39
39
39
39
37
37
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
40
41
42
42
42
42
42
42
41
40
40
41
40
39
40
40
40
40
40
38
40
40
40
40
40
40
40
40
40
38
40
22
199
230
211
211
215
213
216
215
213
214
214
215
213
214
215
215
216
213
211
212
212
209
208
207
206
205
204
202
203
202
202
203
202
203
202
201
201
202
200
200
200
199
199
197
195
195
193
191
192
191
190
188
188
187
185
184
182
180
180
177
175
175
175
174
175
175
175
173
171
167
163
161
157
154
152
152
152
154
157
158
163
165
167
169
168
165
162
163
163
160
161
164
164
162
161
161
155
150
149
157
156
158
164
167
170
171
172
170
173
178
184
187
192
194
194
193
192
191
189
187
184
183
182
182
184
184
185
186
188
190
193
197
200
203
207
208
204
202
200
195
190
186
179
173
166
157
151
141
131
122
109
94
88
89
92
96
101
104
108
102
88
77
64
54
47
38
37
40
40
40
41
42
41
40
40
40
39
37
36
35
34
34
34
35
36
35
36
36
38
36
37
38
38
38
38
37
37
37
37
37
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
41
40
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
40
22
200
230
211
211
215
213
216
214
213
213
215
215
215
213
215
215
214
211
210
210
209
207
206
206
204
204
203
201
200
201
200
200
201
201
199
199
199
199
198
198
198
199
198
197
195
194
192
190
189
189
187
186
186
184
183
182
181
181
180
178
177
176
175
175
174
175
176
175
174
170
167
163
161
158
155
153
153
154
156
157
161
163
165
166
168
168
168
168
166
164
162
164
166
167
166
165
159
154
155
160
161
163
170
173
178
179
180
178
177
183
187
189
196
197
196
196
192
191
188
186
186
186
185
184
186
186
187
188
191
192
195
197
199
201
205
205
201
200
198
193
188
183
176
169
162
152
144
134
124
113
97
81
73
73
77
83
93
102
112
107
95
84
71
59
48
36
34
37
38
39
40
40
41
40
39
38
38
37
36
35
36
36
34
35
35
37
36
38
38
36
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
41
40
39
40
40
40
40
40
40
40
40
40
40
40
40
40
39
41
39
39
22
199
230
209
210
215
213
216
214
215
215
215
215
215
215
213
214
215
212
212
212
210
208
208
207
205
204
203
201
200
199
199
199
200
200
198
198
198
199
199
199
199
198
197
197
195
193
191
189
189
188
187
185
184
183
182
183
181
179
180
178
177
176
176
176
176
176
177
175
173
170
167
165
164
161
158
157
156
155
157
158
160
161
163
165
167
168
169
170
167
165
164
164
166
169
169
167
162
156
157
161
162
167
173
177
184
183
184
182
182
186
189
191
194
196
198
194
193
191
188
186
184
184
183
184
186
187
189
189
192
193
195
196
198
200
202
203
199
197
195
191
186
181
174
167
158
148
140
129
118
106
88
70
60
61
66
75
87
99
111
108
98
89
76
61
49
37
34
37
38
39
40
41
41
40
39
39
38
36
35
36
36
36
36
36
35
36
36
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
41
41
40
39
40
40
40
40
40
40
40
40
40
40
40
40
39
41
39
39
22
199
231
208
209
215
213
216
214
214
214
214
215
215
215
215
213
213
214
211
210
210
208
207
206
205
203
203
200
199
200
200
199
199
199
198
197
198
199
199
199
198
199
198
197
195
193
190
188
187
186
185
183
182
183
183
183
181
181
180
179
178
178
179
180
180
178
177
174
172
169
166
164
162
160
159
160
159
158
159
159
161
161
162
162
163
163
165
167
165
164
164
164
166
170
170
168
163
157
158
162
163
166
174
178
184
184
184
181
183
186
188
190
193
195
196
195
193
191
187
185
183
183
182
183
185
186
188
188
191
192
194
195
197
198
200
199
196
194
192
188
183
178
171
164
154
142
134
125
113
101
81
60
51
53
57
68
81
94
107
106
96
90
77
63
51
39
37
38
38
39
41
41
41
40
39
38
37
36
35
36
36
36
36
36
35
36
36
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
41
40
41
40
39
40
39
39
39
39
39
39
39
39
39
39
41
41
39
39
22
199
230
207
208
214
212
215
213
215
217
215
214
215
215
213
214
214
212
210
209
209
207
206
205
204
203
202
200
199
198
199
199
199
198
197
197
198
199
199
198
199
199
198
196
194
192
189
187
185
184
182
182
182
182
182
182
181
181
181
179
178
180
182
183
182
181
179
175
171
167
165
163
163
161
161
162
163
163
163
163
162
163
162
160
160
159
160
160
160
160
162
164
166
171
171
171
163
157
159
162
164
167
173
176
186
185
184
181
181
185
187
189
192
195
198
198
193
190
186
184
182
182
181
182
185
186
187
187
189
191
193
194
195
196
198
197
192
191
189
185
180
175
168
159
149
137
129
120
108
95
73
52
43
42
45
56
72
86
102
104
96
91
80
66
53
40
37
39
39
40
41
41
41
40
39
38
37
36
35
36
36
36
36
35
37
37
36
37
37
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
42
41
40
41
40
39
41
41
41
41
41
41
41
41
41
41
41
41
39
41
22
200
228
206
207
213
211
214
214
215
218
216
214
214
213
214
214
212
210
209
208
207
205
204
204
203
202
202
199
198
198
197
197
198
197
197
197
198
199
199
198
198
198
197
196
192
190
187
184
183
182
181
179
179
179
180
181
180
179
180
178
177
179
180
182
181
180
178
175
173
170
167
166
165
164
163
164
165
165
165
165
165
164
162
161
160
159
158
158
159
159
160
164
165
170
170
169
161
155
155
160
162
163
171
174
185
184
183
180
181
184
184
187
190
194
197
197
192
189
186
185
182
183
181
181
184
185
186
186
188
189
191
192
193
194
195
194
191
189
186
181
176
172
164
155
144
133
124
113
101
86
66
45
36
34
35
45
62
78
98
102
97
94
84
70
58
45
40
41
42
42
42
41
40
40
39
39
38
37
36
35
36
36
36
35
36
37
36
37
39
38
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
42
42
41
40
41
41
41
41
41
41
41
41
41
41
41
41
40
42
41
41
21
200
229
207
205
214
211
214
212
215
218
218
215
214
213
213
212
213
210
208
207
206
205
204
204
203
202
201
199
198
197
197
197
197
197
197
198
198
199
198
197
198
197
196
193
189
187
183
180
180
180
179
177
177
177
178
178
178
178
179
177
177
176
177
178
180
179
178
177
176
173
170
169
169
167
166
166
167
167
167
167
166
167
166
165
163
161
160
160
162
161
159
160
163
167
166
163
158
151
150
155
156
159
168
172
183
182
181
178
178
182
184
185
188
192
195
193
191
188
188
186
182
181
180
181
183
183
184
185
186
187
189
190
191
191
192
191
190
187
183
178
173
169
161
152
140
130
122
111
97
83
64
45
37
33
33
42
58
72
92
98
95
95
87
76
65
50
45
44
44
43
43
41
40
40
39
39
38
37
36
35
36
36
34
35
36
36
38
37
39
37
37
37
38
38
38
38
38
38
37
37
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
42
42
41
40
41
41
41
41
41
41
41
41
41
41
41
40
42
42
41
40
23
200
228
203
209
211
210
212
214
216
218
218
218
214
215
213
212
211
209
210
209
207
206
205
204
203
202
200
199
198
198
198
197
196
196
196
196
197
199
199
198
197
196
194
190
187
184
183
181
179
177
176
176
177
177
176
178
178
176
175
175
175
174
173
174
174
176
179
177
178
176
173
171
172
171
168
168
168
166
166
167
169
170
170
168
167
166
164
161
163
162
161
160
161
165
163
159
154
145
145
148
150
155
164
171
178
179
177
176
176
180
180
182
185
189
192
191
189
188
186
185
181
180
179
180
181
180
182
183
184
185
187
187
188
188
189
189
187
183
181
176
171
166
159
151
140
128
119
108
94
80
64
45
35
33
32
40
56
70
86
93
93
95
90
80
69
56
50
48
45
43
42
41
40
39
39
38
38
37
36
35
36
36
35
37
36
38
37
39
39
39
39
38
37
38
36
36
38
37
39
37
37
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
41
40
40
41
41
41
41
41
41
41
41
41
41
41
41
41
40
40
39
40
23
198
228
200
209
208
210
209
213
217
218
218
217
214
213
214
212
210
209
208
207
208
206
205
204
203
201
200
199
198
198
197
196
196
195
196
197
197
198
198
197
196
195
192
189
186
183
181
179
177
174
173
174
175
175
174
176
177
175
174
174
173
172
171
171
173
176
179
177
177
177
176
174
171
171
169
167
168
169
168
169
172
171
171
169
169
168
167
164
163
162
160
159
160
161
160
156
149
141
140
144
147
152
162
168
175
175
175
174
174
176
178
178
184
187
190
190
189
188
187
186
182
180
179
179
180
179
181
182
181
183
185
184
185
186
185
186
184
179
178
173
168
163
156
149
138
126
116
104
91
78
63
45
35
33
31
38
53
66
80
89
92
95
92
82
73
62
54
50
47
42
41
41
40
39
39
38
38
37
37
36
35
36
35
36
36
37
37
38
39
39
39
38
38
38
36
37
36
38
37
37
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
41
40
40
40
40
40
40
40
40
41
41
41
41
41
41
41
40
41
39
42
23
200
227
200
209
209
208
208
213
217
218
218
218
214
213
214
211
210
208
207
206
207
205
204
203
202
201
200
199
198
197
197
196
196
197
195
195
196
197
197
196
194
192
189
187
184
181
177
176
174
171
170
171
172
172
170
171
170
169
168
166
165
164
164
161
161
161
158
156
156
155
154
157
158
162
165
164
167
170
170
169
171
169
168
167
167
169
171
171
170
167
163
161
160
162
159
154
145
139
138
142
145
152
163
170
175
175
176
176
176
179
179
180
185
188
190
191
190
189
188
187
183
181
180
182
181
181
182
183
182
182
183
183
183
183
183
183
181
176
175
170
165
160
153
144
133
120
110
99
87
77
62
45
37
35
32
37
50
62
74
85
91
95
93
83
75
65
56
50
46
42
41
41
40
39
39
38
38
37
37
36
35
35
35
36
36
37
37
38
39
39
39
36
36
36
37
35
36
38
38
38
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
40
40
40
40
40
40
40
40
42
40
40
42
23
200
227
201
208
207
209
208
212
216
217
218
216
213
214
212
211
209
206
206
205
204
203
203
202
201
202
200
198
197
197
196
196
195
195
195
195
195
195
194
194
192
190
187
183
182
179
175
172
170
168
167
167
168
168
167
166
163
160
159
156
154
154
155
153
151
144
134
129
127
124
124
132
140
149
157
162
167
171
171
167
168
166
165
164
165
170
174
175
178
175
169
165
162
163
159
154
147
139
138
144
146
153
165
172
178
179
180
179
181
182
184
185
187
189
190
191
192
191
189
188
184
183
183
184
182
181
183
185
184
185
186
186
185
184
184
183
179
175
172
167
162
159
151
140
129
116
106
94
82
73
61
47
40
37
34
38
49
59
70
82
87
93
92
85
78
67
59
51
46
42
40
39
39
38
39
38
38
37
36
37
37
37
37
36
36
37
37
38
39
39
39
36
36
37
37
35
37
36
38
38
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
40
41
24
200
226
199
207
206
208
209
212
215
217
216
217
213
212
213
210
208
206
205
204
203
203
202
201
200
200
199
198
197
197
196
195
195
196
195
194
194
194
193
192
190
188
185
181
178
176
173
171
168
166
166
165
166
165
164
161
159
156
154
149
147
148
148
146
143
132
117
108
105
100
102
111
124
138
150
158
165
171
171
167
164
161
160
159
162
168
178
180
181
179
173
168
165
161
157
152
147
138
138
144
148
155
167
174
180
182
183
183
184
185
187
188
190
189
190
191
192
192
191
189
187
185
186
184
184
183
185
187
186
187
188
188
187
185
183
182
178
173
170
165
160
156
148
137
125
112
102
90
78
71
60
49
42
39
35
39
49
57
67
78
85
91
91
84
78
67
58
50
45
41
39
39
39
38
39
38
38
37
36
37
37
37
36
38
38
37
39
39
39
39
39
36
36
37
35
35
37
36
38
38
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
40
43
24
200
226
198
208
208
206
207
213
216
217
217
215
212
211
211
209
208
205
204
203
202
202
201
201
201
202
200
199
198
197
197
197
196
195
195
194
193
193
191
190
189
188
183
179
177
174
171
168
167
165
163
162
162
161
158
154
150
147
142
136
132
132
130
127
123
111
96
88
85
80
82
93
107
121
135
144
153
160
161
157
156
153
153
155
158
167
175
180
180
179
176
172
167
164
160
155
149
142
142
148
153
160
170
175
182
183
184
184
185
187
189
189
194
195
194
194
194
195
193
191
190
188
186
186
185
187
188
188
188
189
188
187
187
185
182
180
175
170
167
162
157
153
145
135
122
109
99
86
74
67
58
47
42
40
36
39
49
56
65
76
83
90
90
83
78
66
57
48
42
38
37
38
38
38
39
38
38
37
36
37
37
37
36
37
37
39
39
39
39
39
39
36
36
37
35
35
37
36
38
38
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
41
43
24
200
226
198
207
206
208
207
212
215
215
215
215
212
211
210
209
207
206
205
204
204
204
203
202
201
201
200
199
198
197
197
196
196
196
195
194
192
192
190
188
187
187
182
177
174
172
170
167
164
162
160
157
156
154
150
145
138
132
127
120
114
109
103
97
92
85
76
70
68
65
68
76
84
95
106
113
121
130
135
135
141
141
146
150
155
161
170
174
178
179
180
178
174
171
168
163
158
151
152
159
164
168
177
182
188
189
190
191
191
193
195
196
199
200
200
200
199
198
196
195
192
190
189
189
190
191
192
193
191
190
189
188
187
183
181
177
172
168
165
159
154
150
141
130
118
104
94
80
67
61
55
46
41
38
35
38
48
54
61
72
80
86
87
81
77
65
56
47
42
37
37
38
39
39
38
37
38
37
36
37
37
37
36
37
37
38
39
39
39
39
39
36
36
37
35
35
37
36
38
38
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
41
43
24
200
226
197
207
206
209
206
212
215
216
216
216
211
211
210
208
206
207
205
204
203
202
203
202
202
203
201
200
198
198
198
198
198
197
195
194
193
192
190
187
185
185
180
176
175
172
168
165
162
160
158
153
151
148
143
137
130
121
114
107
100
89
78
70
67
65
61
57
58
57
58
62
66
74
82
87
94
103
111
114
126
131
138
145
150
157
164
167
173
177
182
183
180
177
174
168
165
159
159
168
171
176
184
188
192
193
194
194
195
197
199
200
202
203
204
201
200
200
198
197
195
193
192
193
194
195
195
195
194
193
190
189
187
183
178
175
171
166
163
157
152
148
139
128
116
101
89
75
62
56
51
44
40
38
34
37
46
52
59
70
77
84
83
77
74
64
54
45
39
36
37
38
39
39
38
37
38
37
36
37
37
36
36
37
39
39
39
39
39
39
39
36
36
37
35
35
37
36
38
38
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
41
43
24
200
225
198
208
206
208
205
211
214
215
216
214
212
213
209
207
206
205
204
203
202
202
202
202
201
202
201
200
198
198
198
198
198
197
195
194
190
189
189
187
186
183
179
175
174
171
166
162
159
158
154
149
145
141
133
124
116
107
98
88
79
67
55
47
43
43
46
48
49
47
48
49
51
53
58
62
68
76
85
94
109
116
129
137
143
148
154
158
166
177
182
189
185
183
180
177
174
170
171
176
181
187
191
195
197
197
196
196
196
199
203
205
206
206
207
204
203
201
200
199
197
195
194
196
196
196
196
198
198
195
193
191
186
182
178
174
169
164
161
156
151
147
138
126
111
97
85
69
57
52
47
42
37
35
33
36
44
49
57
67
74
80
82
77
71
61
52
44
38
36
36
38
39
40
38
37
38
37
36
37
36
37
37
39
39
39
39
39
39
39
39
36
36
37
35
35
35
36
38
38
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
40
41
25
200
225
198
208
206
206
204
210
213
215
216
214
212
212
208
206
205
205
204
204
203
204
204
204
202
200
200
199
198
197
197
196
196
197
195
194
191
190
189
187
186
183
179
175
173
170
167
162
158
156
152
145
140
135
124
114
105
94
84
72
61
54
46
41
39
39
41
43
44
44
43
44
46
46
48
52
55
62
71
78
91
99
115
126
133
143
149
156
165
179
183
192
189
188
184
185
181
180
181
186
192
196
198
199
199
198
195
194
195
199
203
207
206
207
208
206
204
202
202
200
199
197
198
200
201
200
201
201
200
197
195
191
186
181
177
173
167
162
159
153
149
146
137
124
111
98
85
67
55
49
44
40
35
34
34
36
43
49
56
65
72
79
81
77
68
59
52
45
41
37
36
38
38
38
38
38
37
36
37
37
36
37
39
39
39
39
39
39
39
39
39
36
36
37
35
35
35
36
38
38
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
40
42
24
200
225
198
208
206
207
204
210
212
215
216
215
212
211
209
205
205
206
205
204
204
203
204
203
202
201
201
200
199
198
198
197
197
197
196
193
191
191
189
187
186
183
179
176
173
170
167
162
157
154
149
142
136
130
117
105
94
81
70
56
46
45
43
43
44
43
42
43
43
42
41
41
44
46
46
48
50
53
59
65
72
82
100
111
120
134
145
156
165
180
185
194
192
192
190
192
192
191
191
197
202
204
203
202
199
197
194
192
192
197
202
206
208
208
209
207
204
202
200
201
202
199
201
203
204
205
205
205
203
199
195
191
185
180
175
170
163
159
156
149
145
143
135
124
112
97
84
67
54
49
44
38
33
33
33
37
44
49
55
64
71
78
80
76
68
58
52
47
43
40
39
39
39
39
38
38
37
36
37
37
36
37
37
38
39
39
39
39
39
39
39
36
36
37
37
35
35
37
36
38
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
41
43
40
42
24
200
226
200
208
207
207
204
210
212
214
216
213
211
212
210
207
206
205
205
206
204
203
203
202
203
203
203
202
200
199
199
198
197
197
195
193
191
191
189
188
186
184
180
177
174
170
166
162
156
151
147
140
133
125
111
96
85
73
60
45
36
37
41
45
46
45
44
41
40
40
39
39
41
41
42
43
43
44
48
52
59
69
86
97
109
125
140
151
164
179
185
195
194
194
196
196
199
199
199
205
209
210
207
204
200
199
194
191
191
196
201
205
208
209
209
207
204
201
202
202
201
202
203
205
206
207
207
208
206
201
197
192
186
180
173
168
161
157
154
148
143
141
133
123
111
95
83
66
52
46
41
37
33
32
32
36
43
48
55
63
70
77
79
73
66
59
53
48
45
42
41
40
39
38
37
38
38
37
36
36
37
38
37
38
39
39
39
39
39
39
39
36
36
37
37
35
35
37
36
38
38
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
40
39
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
41
41
41
43
40
42
24
200
226
198
207
205
206
203
209
211
213
215
212
210
210
210
209
208
206
207
205
204
203
202
202
202
203
203
202
201
200
200
198
197
198
196
194
192
191
189
188
187
184
181
178
174
170
166
161
156
152
147
138
130
122
107
91
77
65
54
41
32
34
40
44
46
45
42
38
39
39
40
40
39
39
39
40
40
41
44
48
54
63
78
87
98
116
134
147
160
178
185
196
194
197
198
200
203
203
203
208
211
212
209
204
201
199
195
193
193
197
201
204
207
207
207
206
203
200
201
201
202
203
205
207
208
209
208
209
208
203
198
194
187
181
175
169
162
156
152
146
141
139
131
120
106
91
79
64
52
46
39
35
32
30
30
33
41
47
55
63
70
76
78
74
67
60
54
48
44
42
41
39
37
38
38
37
38
38
38
38
38
37
38
39
39
39
39
39
39
39
39
38
36
36
36
36
37
36
36
36
36
38
38
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
40
39
40
41
40
39
40
40
40
40
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
39
40
40
40
40
40
40
40
40
40
40
40
39
40
40
40
41
41
41
40
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
41
43
43
41
43
42
41
25
200
225
197
206
204
204
202
208
210
209
210
212
209
211
211
211
209
207
206
205
204
203
202
201
201
203
203
203
202
202
201
199
197
197
196
194
192
190
189
188
187
186
182
179
175
170
165
160
154
151
146
137
128
119
103
84
69
56
48
40
33
35
40
41
42
40
37
35
36
40
41
41
39
37
38
38
39
41
45
47
53
61
72
77
87
107
126
139
154
175
184
197
197
202
202
204
206
206
205
207
210
211
207
206
202
200
198
196
198
198
202
205
204
202
203
201
199
197
199
200
203
205
208
210
211
211
210
211
209
205
201
197
192
184
176
170
161
154
149
144
141
138
130
116
101
86
76
63
53
48
40
35
30
28
27
30
38
46
53
63
70
75
78
75
68
61
55
48
43
41
40
39
38
38
39
38
37
38
37
37
37
38
39
39
39
39
39
39
39
39
39
37
38
38
38
38
36
38
36
36
36
36
36
38
38
38
37
37
39
39
39
39
38
39
40
40
40
40
39
40
41
41
40
39
40
40
39
38
38
39
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
39
38
38
39
40
40
40
40
40
40
40
40
40
39
40
41
41
40
41
41
41
40
41
42
42
42
42
42
42
42
42
42
42
41
40
41
40
42
42
42
42
42
42
41
43
43
43
43
43
41
43
25
200
224
196
205
203
205
202
207
208
207
210
209
210
211
211
211
210
207
207
205
204
202
201
200
200
202
202
202
202
202
201
199
197
197
194
191
190
189
188
188
187
185
183
181
176
171
165
159
153
151
146
136
127
117
99
78
62
49
43
40
37
38
39
40
39
38
35
33
37
41
43
43
40
39
38
37
39
41
45
48
53
56
64
66
74
94
113
127
146
168
180
197
199
204
208
209
209
209
207
207
209
208
208
204
203
202
200
201
201
202
204
206
203
200
197
197
196
195
197
199
205
207
210
212
213
214
212
211
210
207
204
201
195
187
178
171
161
153
149
144
140
136
126
111
93
77
69
60
53
48
40
33
28
27
27
30
38
46
54
62
69
74
77
74
70
63
57
49
44
40
38
37
37
38
38
37
37
37
38
39
39
39
39
39
39
39
39
39
39
39
39
37
37
38
38
38
38
38
36
37
37
36
36
38
38
38
37
37
39
39
39
39
38
39
40
40
40
39
40
41
41
41
40
39
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
39
40
41
41
40
41
41
41
40
41
42
42
42
42
42
42
42
42
42
41
41
40
39
40
40
41
42
42
42
41
43
43
43
42
42
44
41
43
25
200
224
197
205
204
206
203
208
210
208
209
208
210
211
211
210
210
209
207
206
204
202
201
199
199
199
200
200
201
202
201
198
197
197
194
192
189
188
188
188
187
186
184
182
177
170
164
157
153
152
147
136
126
115
97
76
60
46
41
41
39
39
39
37
36
35
34
33
37
43
46
45
41
40
38
37
38
41
44
48
52
54
59
57
66
84
104
116
137
161
176
196
199
207
210
211
211
211
210
208
207
207
206
204
205
204
203
202
202
205
206
207
203
197
195
195
194
194
195
198
207
209
212
214
215
215
214
212
211
209
206
203
196
188
178
170
161
152
146
141
138
135
124
107
87
71
64
58
53
47
39
33
29
28
28
30
39
46
54
63
68
72
76
75
71
64
58
50
44
39
37
37
37
37
37
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
37
37
38
38
38
38
36
35
37
37
36
36
38
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
40
41
41
39
40
39
38
39
39
38
37
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
38
39
39
38
39
40
40
40
40
40
40
40
40
39
40
41
42
41
40
40
40
41
40
41
42
42
42
42
42
42
42
42
41
39
39
40
39
40
41
42
41
41
42
42
42
42
44
42
44
41
42
25
200
227
202
207
205
206
204
208
211
211
211
209
208
208
207
208
208
207
206
205
204
202
201
199
200
201
202
202
200
201
200
198
197
196
193
190
188
188
187
186
186
185
183
180
176
170
163
157
154
152
146
137
127
117
98
77
62
48
41
41
40
40
40
40
39
36
37
37
41
48
52
48
44
40
37
38
39
40
43
45
50
52
52
55
57
76
92
107
125
152
169
192
196
208
208
213
211
211
212
211
208
208
208
209
211
209
209
207
204
207
208
209
204
199
197
197
196
197
198
202
207
209
212
215
216
216
215
213
212
210
208
204
199
191
182
174
162
154
146
139
135
131
118
99
78
63
56
50
45
43
38
33
29
30
33
38
44
51
59
66
70
74
76
73
70
65
58
50
44
42
40
39
39
39
38
38
39
39
38
37
38
39
39
39
39
39
39
39
39
39
39
39
37
37
38
38
38
36
38
37
36
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
40
40
40
39
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
38
38
38
39
40
40
40
40
39
40
41
41
41
40
41
41
40
40
41
42
42
42
42
42
42
42
41
41
40
39
39
40
42
42
41
43
43
44
44
44
44
44
42
44
42
44
26
199
229
205
211
209
209
208
210
212
213
212
209
208
206
205
205
206
207
205
204
203
202
200
199
201
201
201
200
199
200
199
197
195
193
191
188
187
187
186
186
185
183
182
179
173
167
161
158
156
153
148
139
128
120
101
79
65
50
43
41
40
41
40
41
43
43
44
45
49
54
58
54
50
44
40
40
40
39
41
43
46
46
45
47
48
64
77
90
109
139
160
183
191
206
207
213
214
212
214
213
210
209
211
210
213
210
211
208
207
207
209
208
205
202
200
202
199
198
200
203
207
209
212
215
216
217
216
215
214
211
208
205
199
192
184
176
164
154
146
137
131
126
113
92
68
52
47
40
35
34
32
31
31
35
42
49
54
59
65
69
72
76
76
73
70
66
58
50
45
43
41
39
39
39
38
37
37
37
37
38
37
37
37
38
39
39
39
39
39
39
39
39
38
38
38
38
38
36
38
36
36
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
40
39
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
39
39
40
41
40
40
41
41
40
40
40
40
40
40
40
40
40
41
40
39
39
40
41
42
41
42
42
43
44
44
44
44
44
44
42
45
26
199
231
208
215
214
215
213
211
214
212
211
209
207
205
204
205
203
205
205
203
202
201
200
201
200
199
200
199
198
197
196
194
191
190
188
186
187
186
185
185
184
182
181
178
172
167
161
157
157
154
149
140
130
122
104
83
67
52
45
43
41
41
41
43
46
47
49
51
54
59
63
59
53
47
42
41
39
37
39
41
44
44
40
40
37
52
62
74
94
126
148
174
183
204
208
212
215
215
216
215
213
211
212
212
217
213
212
211
209
208
210
210
207
204
205
204
202
202
203
204
207
209
212
215
217
218
217
216
215
212
209
205
200
193
185
177
165
155
146
135
125
119
105
84
62
46
39
33
29
30
29
30
34
40
49
59
63
66
69
74
76
77
76
74
71
67
59
51
45
43
41
39
37
38
38
37
38
38
38
38
38
38
38
37
37
37
37
37
37
37
37
39
36
36
38
38
38
36
36
36
37
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
40
39
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
39
38
39
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
39
40
40
41
41
43
43
42
43
44
44
44
44
44
44
42
45
26
199
232
210
216
215
217
213
215
216
215
212
209
207
204
203
201
201
201
203
202
201
201
203
200
199
198
198
197
195
194
193
191
188
187
185
184
184
184
183
182
180
179
178
175
170
166
163
158
157
156
152
143
134
125
107
86
70
56
48
43
39
39
41
43
45
46
49
52
57
62
65
60
55
48
42
41
39
37
39
41
44
43
39
36
34
46
54
64
78
112
134
160
173
197
202
207
213
215
216
215
213
215
216
218
220
216
216
215
211
209
209
208
210
207
208
207
205
204
205
205
208
209
211
214
217
218
217
217
216
214
211
206
201
196
188
178
165
155
144
131
119
111
97
79
60
46
38
30
29
32
36
42
47
53
62
69
74
76
78
80
80
80
78
74
74
69
59
52
46
43
41
39
38
37
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
36
36
36
36
36
37
37
37
37
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
40
39
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
39
38
39
40
40
40
39
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
41
41
42
43
42
43
44
44
44
44
43
45
42
45
26
199
232
209
215
213
215
211
213
216
215
212
209
206
203
201
200
199
199
200
201
200
203
201
200
198
198
197
195
193
192
190
188
185
184
183
184
185
184
183
181
180
178
176
173
169
165
162
159
159
157
152
145
135
126
108
88
72
57
49
43
37
37
39
41
43
46
51
55
59
64
67
63
55
48
42
41
39
37
40
42
44
41
37
35
31
40
46
56
66
98
118
147
161
189
198
204
209
215
216
213
213
216
218
221
223
219
217
217
213
211
210
210
211
209
211
211
207
204
204
204
207
208
210
213
216
218
219
219
217
215
212
207
201
196
190
180
165
153
142
128
113
102
89
74
58
44
39
34
32
35
42
49
55
61
70
77
80
83
83
84
83
82
80
76
76
71
61
52
46
42
40
39
38
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
36
36
37
37
37
35
37
37
37
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
40
39
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
38
38
38
39
40
40
40
40
40
39
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
40
41
42
41
42
42
44
44
44
44
44
44
43
45
43
45
26
199
232
208
214
211
212
213
215
218
218
214
211
207
204
202
200
199
198
201
204
202
201
201
200
198
196
195
193
191
189
188
184
182
182
182
183
184
184
181
179
178
177
174
170
167
164
161
160
159
157
154
146
136
128
110
90
74
59
51
43
36
36
37
39
41
46
52
56
60
67
70
65
57
50
43
41
39
38
39
42
44
41
36
34
27
37
39
47
61
90
106
135
152
184
196
204
208
215
217
214
214
215
217
223
227
221
220
219
215
212
211
209
212
212
213
211
208
205
204
205
205
205
208
212
215
218
217
218
218
216
211
207
202
197
191
180
164
152
140
124
106
95
82
67
55
45
40
36
36
41
48
57
65
74
83
90
93
92
91
89
86
84
82
78
77
72
61
51
45
41
40
38
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
36
37
37
37
37
35
37
37
37
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
40
39
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
40
42
42
42
41
42
42
43
44
44
43
43
43
45
45
43
45
26
199
231
207
213
209
212
211
214
218
219
215
211
207
204
202
200
198
198
203
204
202
202
202
200
197
195
194
191
188
186
185
183
181
180
181
182
183
183
180
178
176
174
173
169
165
162
160
160
159
157
154
147
138
130
112
93
78
63
53
44
38
36
36
36
38
43
50
53
58
63
67
63
55
47
41
40
38
36
39
41
45
43
38
36
30
38
37
45
54
77
89
118
137
171
185
197
205
214
217
215
217
216
217
222
226
221
219
219
215
214
211
209
209
211
213
211
207
205
206
204
204
206
208
211
215
217
218
219
218
216
212
207
203
199
192
182
165
153
140
122
103
90
76
65
55
46
43
42
44
49
57
64
69
77
86
92
93
92
90
90
89
88
85
81
79
72
62
52
44
40
39
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
35
37
37
37
35
37
37
37
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
40
39
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
40
41
42
42
41
42
42
43
44
43
45
43
43
45
45
43
45
26
199
229
204
213
209
212
210
212
217
220
215
211
207
204
202
200
198
200
203
204
202
203
202
200
198
195
193
189
185
184
184
182
180
179
180
181
182
182
178
176
173
172
171
167
163
160
159
158
159
157
154
147
139
132
116
96
81
66
55
45
38
38
37
36
39
43
49
52
55
60
64
60
53
45
39
38
36
35
38
41
43
41
38
36
31
39
39
44
51
70
79
110
129
162
177
191
200
212
216
216
218
217
217
222
227
220
218
217
214
212
210
208
208
210
213
210
206
204
204
204
207
206
207
211
215
217
218
219
219
216
212
207
202
199
192
182
167
154
142
123
102
88
75
63
54
47
46
45
46
51
58
68
74
79
85
89
91
91
91
90
90
88
85
82
80
73
62
51
43
39
38
38
36
37
37
37
37
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
35
37
37
37
35
37
37
37
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
40
39
39
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
39
39
39
39
39
39
38
39
40
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
40
40
41
42
42
41
41
42
42
43
43
45
45
45
43
45
45
43
45
26
199
227
207
207
211
206
208
213
218
220
216
212
207
204
203
201
198
198
200
201
204
202
201
199
196
195
191
188
186
185
183
181
180
178
179
179
180
180
177
175
173
171
167
164
161
160
159
157
157
159
155
147
141
133
118
99
83
69
57
47
40
37
35
37
39
43
47
50
53
58
59
56
50
43
37
35
34
35
38
42
45
43
40
38
36
37
41
42
50
64
72
94
117
152
170
186
193
212
214
213
218
219
220
222
224
220
218
216
214
212
210
209
209
208
211
209
207
205
204
204
204
205
207
213
217
219
221
221
222
218
212
208
203
198
192
184
168
156
143
123
102
86
72
61
51
46
45
47
50
56
64
73
78
82
86
89
89
89
89
89
89
92
91
86
82
75
63
50
41
38
38
39
38
38
39
39
39
38
37
38
38
38
38
38
38
38
38
38
38
38
38
36
35
35
35
35
35
35
37
37
37
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
41
40
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
39
39
39
39
39
39
38
38
39
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
40
41
43
43
42
41
42
44
44
44
43
45
45
45
45
45
44
46
44
46
27
202
226
205
206
214
208
209
214
218
220
217
212
207
204
203
201
199
200
202
204
205
203
201
199
196
195
190
187
185
184
182
181
180
179
178
178
179
178
177
174
172
168
164
163
161
160
160
159
158
159
156
149
142
134
120
102
87
73
62
51
42
39
37
39
39
42
46
48
51
56
55
52
46
42
37
35
35
35
38
41
43
43
40
38
37
37
40
43
46
54
61
80
106
140
162
177
190
210
212
211
217
217
220
221
222
221
218
216
214
214
213
211
210
208
209
208
207
205
205
206
205
204
207
213
218
220
221
221
220
215
211
207
202
197
192
184
168
157
145
125
104
88
74
65
58
54
54
57
61
65
72
80
84
86
88
90
92
91
91
91
91
94
92
86
82
73
61
49
40
37
38
40
39
38
39
39
39
38
37
38
38
38
37
37
38
38
38
38
38
38
38
37
35
35
36
36
36
35
37
37
37
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
41
40
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
40
40
39
38
39
39
39
39
39
38
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
40
41
43
43
42
41
42
44
44
44
43
44
45
45
45
45
44
46
44
46
27
202
226
205
208
214
210
211
216
219
220
217
212
208
205
204
202
200
200
204
206
205
204
202
199
196
194
189
186
184
183
181
180
180
179
178
178
177
176
174
172
171
166
162
161
160
159
160
160
159
159
157
151
144
136
123
107
93
80
69
56
47
44
41
41
40
42
45
46
48
52
51
47
44
39
37
37
37
37
37
39
43
41
39
37
35
37
39
42
44
50
52
71
95
131
152
168
183
204
210
210
217
217
220
219
221
220
217
215
214
213
213
213
211
208
206
209
207
206
208
206
206
205
208
214
217
219
220
219
218
213
209
205
200
196
192
184
170
159
149
130
109
93
81
75
72
70
72
76
79
82
87
92
94
95
95
95
95
94
96
96
94
96
93
86
81
71
59
48
39
35
37
39
40
40
40
39
38
39
38
37
37
37
39
38
37
38
38
38
38
38
38
37
35
35
36
36
36
35
37
37
37
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
41
40
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
39
39
39
39
38
38
39
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
40
41
41
41
41
41
42
42
43
43
45
45
45
45
45
45
44
46
44
44
27
202
229
206
210
216
214
217
219
221
219
217
213
208
206
205
203
202
204
207
208
206
204
202
199
196
193
188
185
183
182
181
182
182
181
180
177
176
175
173
171
169
166
161
160
159
159
160
160
160
160
158
153
147
139
127
112
100
88
76
63
52
49
46
45
44
44
45
46
46
48
46
43
41
39
37
36
37
37
36
37
39
39
37
34
34
36
38
40
43
46
47
63
87
123
147
164
179
203
209
211
218
220
220
220
218
217
217
214
214
214
216
217
213
208
206
206
208
209
208
207
208
208
209
214
217
219
219
218
216
211
206
202
197
194
191
184
172
163
154
134
114
100
90
87
88
89
93
97
100
101
103
106
106
105
102
102
101
100
102
102
99
99
93
86
79
67
57
46
38
35
37
39
40
40
39
39
39
38
39
37
38
39
39
37
37
37
38
38
38
38
38
37
35
35
36
36
36
35
37
37
37
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
41
40
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
39
38
38
38
39
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
40
41
42
42
42
41
42
42
43
44
43
44
45
45
45
45
44
46
45
44
27
202
230
207
211
218
218
221
223
223
219
217
214
209
207
206
205
204
206
208
209
206
204
202
199
196
192
189
185
183
182
181
182
183
183
181
177
175
173
171
169
168
164
160
159
159
160
161
161
161
162
160
155
148
142
130
118
108
96
84
71
60
55
50
48
46
46
45
44
43
45
44
42
40
39
38
37
36
36
36
36
36
35
36
35
32
34
36
38
40
41
40
55
80
116
138
156
177
199
208
210
219
219
219
218
217
215
214
215
214
217
218
219
214
209
206
207
208
209
210
208
208
207
209
214
216
217
216
216
213
209
203
199
195
191
188
183
173
164
156
138
121
108
101
102
104
106
110
114
118
118
117
116
116
113
109
107
107
106
109
106
102
102
93
84
77
64
53
43
37
35
37
38
39
40
39
39
40
39
38
39
39
38
38
39
39
37
37
38
38
38
38
36
35
35
36
36
36
36
35
37
37
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
41
40
39
40
40
40
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
40
39
38
38
39
40
40
40
40
40
40
40
40
40
40
39
39
40
41
41
41
41
41
41
41
41
41
41
40
41
42
42
42
41
43
42
44
44
43
44
45
45
45
45
44
46
43
45
26
200
228
208
212
219
217
222
224
222
219
219
214
210
208
207
208
207
208
209
208
206
204
202
198
195
191
188
186
184
183
182
183
184
184
181
177
174
172
169
166
166
164
161
159
159
160
161
162
162
163
161
157
152
145
136
126
117
106
94
81
70
64
55
51
48
44
42
41
41
41
39
38
39
39
38
37
37
37
37
37
35
36
35
33
35
34
36
37
37
38
36
51
76
110
132
150
173
197
205
207
215
217
217
214
213
214
213
213
215
217
220
221
217
212
209
206
208
210
211
209
208
207
208
210
213
213
211
209
205
200
196
191
188
186
185
181
173
166
157
144
130
119
113
115
118
120
123
126
128
127
123
121
119
117
113
112
112
111
113
109
103
99
90
79
70
55
47
42
37
37
38
38
39
39
39
39
39
40
39
38
38
39
40
39
38
39
37
37
38
38
38
38
37
35
35
36
36
35
37
37
37
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
40
40
41
40
39
39
39
40
40
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
40
40
39
40
39
38
39
40
40
40
40
39
39
39
39
39
39
40
41
41
41
41
40
40
40
40
40
40
40
40
40
40
41
42
42
42
41
43
42
44
43
45
45
45
45
45
44
46
43
45
26
201
229
211
213
220
218
223
224
222
219
218
215
211
209
208
208
207
209
208
208
206
203
201
197
194
191
188
186
185
184
183
184
185
184
180
176
171
170
167
164
164
163
159
159
160
161
164
165
165
164
163
159
154
149
143
134
127
118
107
95
83
74
62
53
48
44
40
37
36
36
35
35
36
37
38
39
40
40
38
37
33
34
34
33
34
34
36
37
37
39
36
50
72
106
129
146
166
191
200
203
211
214
214
211
211
211
212
213
214
216
220
222
219
214
210
209
207
210
211
209
208
206
205
207
208
204
202
200
196
191
187
183
181
180
180
177
170
165
159
150
140
130
125
127
130
132
132
133
133
131
126
122
120
118
116
115
115
116
118
110
100
95
83
72
62
49
42
41
39
39
40
40
39
40
41
41
41
40
40
40
40
40
40
38
38
39
39
37
37
38
38
38
36
37
35
35
36
35
37
37
37
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
40
41
42
40
41
40
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
40
39
39
40
40
40
39
40
41
41
41
41
41
41
41
41
41
40
41
42
42
42
42
42
42
42
41
40
40
40
41
42
42
41
42
42
43
43
45
45
45
43
44
46
43
43
26
201
229
212
215
223
222
224
225
222
219
218
215
212
209
209
209
208
209
210
208
206
203
200
197
194
191
189
187
186
185
184
185
186
185
180
176
171
169
166
162
163
162
159
159
160
162
165
166
166
165
164
161
157
154
147
140
134
125
116
105
91
80
67
55
49
44
39
34
32
31
30
31
34
36
38
40
42
41
39
37
36
35
33
33
34
34
36
38
38
37
35
47
69
101
123
142
161
186
195
198
207
211
211
209
212
213
214
215
217
219
222
224
220
214
212
210
207
209
211
211
208
206
204
204
203
200
197
193
189
185
181
178
176
175
176
174
168
165
162
155
146
137
133
135
136
137
136
135
133
130
126
121
118
117
115
115
116
116
119
109
98
90
78
67
57
43
38
41
40
41
42
41
40
40
41
41
41
41
40
39
40
40
40
40
38
38
38
39
37
37
38
38
36
36
37
35
35
35
37
37
37
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
40
41
42
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
39
40
40
40
40
39
40
41
41
41
40
40
41
41
41
41
40
40
41
42
42
42
42
42
42
42
41
40
41
40
42
42
42
41
42
42
44
44
43
45
43
43
45
45
43
43
25
201
229
213
217
221
220
220
221
224
220
218
215
213
212
212
210
209
209
210
208
205
202
201
197
193
191
189
187
188
188
186
185
183
184
180
175
170
166
165
166
164
160
159
158
159
162
165
166
166
165
163
159
156
154
149
145
139
133
124
110
99
87
70
57
51
45
40
36
32
30
30
32
32
35
40
41
40
40
40
37
35
35
36
36
36
39
40
41
37
39
37
53
68
100
122
138
156
182
190
194
205
207
208
207
208
209
210
210
214
217
220
222
220
213
209
210
210
208
207
208
206
207
205
202
200
196
192
188
184
180
177
173
171
171
172
171
169
166
164
160
150
145
141
141
143
143
141
139
138
134
128
124
120
119
119
119
118
120
121
112
100
88
73
61
51
41
39
42
44
44
44
42
41
40
40
40
41
41
40
39
39
39
39
39
40
40
39
38
39
38
38
36
36
37
37
37
35
37
37
37
37
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
40
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
39
40
40
40
40
39
40
41
41
40
41
41
40
41
41
40
41
42
42
42
42
42
42
42
42
42
42
41
40
41
40
41
42
41
42
43
42
43
44
43
43
45
42
43
43
45
26
201
229
213
216
220
220
220
221
222
220
218
215
213
211
212
210
209
209
209
207
204
201
200
196
193
192
190
189
187
187
186
185
185
184
179
174
170
167
165
166
164
161
160
159
160
163
166
167
167
165
163
160
157
155
151
147
145
140
130
117
108
94
76
62
54
48
43
37
34
32
31
32
32
35
39
40
40
42
40
38
37
37
37
35
36
39
41
42
39
38
37
51
71
99
120
136
151
174
182
187
196
200
201
200
203
205
206
207
210
214
217
219
215
211
208
208
208
209
209
208
205
205
204
201
198
196
192
187
184
181
176
174
172
172
172
171
169
167
166
161
155
151
149
149
150
150
147
144
142
138
132
128
125
123
123
121
118
117
116
107
94
82
67
57
47
39
39
43
43
44
44
43
41
40
41
41
40
40
40
41
41
41
41
40
39
40
39
38
39
38
38
36
36
37
37
37
35
37
37
37
37
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
39
39
39
39
39
40
41
40
40
41
42
41
40
40
40
41
42
41
41
42
42
42
42
41
41
41
42
41
40
41
40
41
42
41
42
43
42
43
44
44
44
44
42
45
43
45
26
201
230
214
216
220
217
217
218
221
221
218
215
213
211
210
209
209
207
206
204
202
199
198
195
193
192
191
190
190
189
187
186
184
182
178
173
169
166
165
165
166
164
161
161
162
164
168
169
167
164
161
160
157
155
154
152
150
147
137
123
114
101
81
67
58
50
43
39
36
33
32
31
32
34
39
40
42
42
41
38
37
36
37
37
38
39
40
40
41
40
36
52
71
101
116
132
145
166
174
178
187
190
194
194
196
198
200
201
206
210
213
216
213
210
208
209
209
207
208
207
205
204
203
200
197
193
189
186
181
179
177
174
172
172
172
171
169
168
168
166
162
158
157
158
159
158
154
149
146
143
138
133
129
128
127
122
118
116
112
101
87
75
62
51
45
37
37
42
45
45
44
43
42
42
42
42
42
42
42
42
41
40
41
40
39
40
38
38
39
37
38
36
36
37
37
37
37
37
35
37
37
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
41
42
42
41
41
41
41
42
43
43
42
41
40
41
40
41
42
41
42
43
42
44
44
44
44
44
43
45
43
45
26
201
232
215
217
220
217
215
218
220
219
218
215
213
211
210
209
208
205
204
202
200
198
197
195
194
195
192
191
190
189
189
187
184
182
178
173
168
166
165
166
167
166
163
162
163
165
169
171
168
163
161
159
156
154
153
155
153
149
141
129
119
105
85
71
60
53
47
42
39
34
29
28
31
35
38
39
40
42
41
39
37
37
38
39
41
41
41
40
43
42
39
52
72
101
118
130
143
160
166
171
180
184
189
191
192
197
199
200
203
207
210
212
213
210
209
208
207
206
205
205
205
205
202
198
195
192
189
186
181
180
177
175
174
173
173
171
170
170
170
168
165
163
163
163
164
161
158
152
145
143
140
135
131
129
128
123
118
113
107
96
82
70
57
47
42
35
35
42
44
45
45
43
42
41
42
42
42
42
42
42
42
42
41
39
39
40
40
39
38
39
37
38
36
36
37
37
37
36
38
36
36
37
37
36
36
38
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
40
40
40
41
42
42
42
42
42
42
41
41
41
42
43
43
43
43
43
43
42
42
42
42
41
41
39
40
42
42
41
42
43
43
42
43
44
44
44
43
45
42
43
26
201
233
217
220
221
217
215
218
220
220
219
215
212
210
209
208
207
204
202
200
198
196
195
194
194
196
193
192
190
190
189
186
183
181
177
172
168
165
166
166
167
167
163
162
165
167
168
170
167
163
159
156
155
152
152
155
155
152
146
135
124
110
91
77
67
59
53
48
44
37
33
32
33
35
37
38
39
39
40
38
36
37
39
40
41
40
40
39
40
40
39
54
73
101
116
127
139
154
161
164
170
175
183
185
191
194
196
196
201
202
206
208
209
210
209
208
207
206
206
206
207
207
205
201
198
195
192
189
185
184
183
182
180
179
177
176
175
174
173
171
170
169
166
165
163
158
155
151
146
142
139
134
130
128
125
120
113
106
100
89
76
65
53
47
42
36
36
42
44
44
45
43
42
41
42
42
42
41
41
41
42
41
40
41
39
39
40
39
38
39
39
38
38
36
36
36
36
36
38
36
36
36
36
36
36
37
37
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
41
42
43
43
43
43
43
43
43
42
42
43
44
44
42
41
39
39
40
40
41
41
42
43
43
42
44
44
44
44
43
45
42
44
26
201
234
218
222
222
217
215
218
220
220
217
215
212
210
209
207
206
202
200
198
197
195
195
193
193
193
193
193
191
190
189
185
182
180
176
172
168
166
167
168
168
167
165
164
164
166
169
169
166
162
159
155
152
150
150
154
155
154
148
138
129
116
99
86
76
69
62
58
52
44
37
36
37
39
39
39
40
40
40
39
38
39
42
43
44
43
42
41
39
42
37
52
71
100
115
125
135
148
152
157
162
167
176
180
189
192
194
195
198
201
201
204
206
208
210
211
211
211
211
211
213
214
212
209
206
203
200
197
193
193
193
191
189
187
186
182
179
179
180
178
177
176
172
168
159
153
150
146
142
140
137
133
130
126
122
114
105
98
90
79
69
58
48
45
43
37
40
44
44
45
45
44
42
41
41
41
41
42
43
42
42
41
40
41
41
40
40
38
38
39
39
37
37
38
36
38
38
38
38
38
38
38
38
38
38
39
39
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
40
40
41
42
42
42
42
42
42
42
42
41
42
43
43
43
43
43
43
43
42
43
44
44
44
44
42
41
40
39
40
40
41
41
42
43
43
43
42
44
44
44
44
44
42
44
25
201
234
219
223
223
218
216
218
220
220
217
215
212
210
208
206
205
201
199
197
197
195
194
193
193
194
195
194
191
190
189
185
182
180
176
172
168
166
167
169
169
168
166
165
165
168
169
170
165
160
157
153
150
149
150
155
157
154
148
139
131
121
107
96
87
79
72
68
61
51
43
42
41
40
40
40
40
39
39
38
36
38
40
42
42
42
39
38
38
41
41
53
71
98
114
124
133
143
147
152
155
159
171
175
185
188
191
191
195
196
199
199
201
206
209
210
211
212
213
213
215
216
215
212
209
207
204
202
200
200
200
200
197
196
193
190
187
184
181
181
182
181
175
167
156
147
145
143
138
137
133
129
127
123
116
106
98
88
78
68
58
51
43
42
43
40
43
45
45
45
46
44
43
43
43
43
42
43
44
43
42
41
40
41
41
40
39
40
39
38
39
39
39
39
39
37
37
37
37
38
38
38
38
37
37
39
39
37
39
39
39
39
38
39
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
41
42
42
42
42
42
42
42
42
42
42
42
41
42
43
43
43
43
43
43
43
42
43
44
44
43
45
42
41
40
39
40
40
41
41
43
43
43
43
42
44
44
44
44
44
43
42
25
199
234
219
223
225
218
217
218
220
220
218
214
212
209
208
206
204
199
198
197
196
195
194
193
194
195
195
194
191
191
190
186
182
180
176
172
168
166
168
169
170
170
167
165
165
168
169
169
165
159
155
152
149
147
149
154
158
158
153
142
133
124
111
102
92
84
77
72
64
53
45
43
42
41
39
38
37
38
36
36
37
39
41
44
44
43
41
38
39
42
42
57
71
99
113
122
131
141
145
150
152
158
169
175
183
185
188
188
191
194
195
197
202
206
211
210
210
212
213
213
215
216
217
215
211
208
205
203
203
202
203
203
201
198
195
192
189
185
183
182
182
180
173
167
156
145
143
139
135
134
130
128
125
120
114
104
94
85
74
64
55
47
42
42
42
40
43
45
46
46
46
45
44
42
43
43
43
43
43
43
41
40
40
40
40
39
39
39
38
38
38
38
38
38
38
37
37
39
37
37
37
38
38
37
37
39
38
37
38
38
38
38
38
38
40
40
39
39
40
40
40
40
40
40
40
40
41
41
41
41
41
41
40
40
40
40
40
41
41
41
41
41
41
41
41
41
41
41
41
41
40
41
42
41
41
42
42
42
42
42
42
42
42
42
43
43
43
43
42
42
42
42
42
43
44
43
45
45
42
41
39
39
40
40
41
41
41
42
43
43
42
44
44
44
44
44
41
42
25
200
233
214
220
217
217
213
216
216
216
215
213
212
210
208
206
205
203
201
200
198
196
197
196
194
196
195
193
191
189
188
187
185
181
178
174
171
169
170
171
171
169
167
168
169
171
174
174
168
163
161
156
151
149
151
155
158
159
157
153
147
138
127
117
108
99
90
83
75
66
55
48
50
46
43
42
38
36
36
36
37
39
41
42
43
43
42
42
41
47
50
66
84
108
121
133
140
154
158
155
158
159
167
168
173
179
183
187
192
196
198
199
204
203
204
206
209
210
209
211
212
212
211
209
208
206
204
203
200
200
200
200
198
196
196
194
191
186
183
177
170
165
162
154
143
139
137
136
134
130
123
118
114
107
98
88
79
73
67
61
57
53
51
49
48
48
48
50
51
50
48
46
45
45
47
49
50
50
47
47
47
44
44
44
44
45
46
45
45
44
45
44
44
43
42
41
41
41
41
41
37
37
37
37
37
37
38
42
43
44
42
42
41
40
40
40
40
41
42
44
44
44
43
43
43
41
39
39
39
40
41
40
41
42
42
42
41
40
40
41
40
39
39
38
39
39
39
40
41
40
41
42
41
42
42
42
41
40
40
39
39
38
39
39
39
40
40
42
44
44
43
43
44
44
44
43
41
41
41
42
41
42
42
41
43
43
43
43
43
43
43
42
42
42
43
45
42
44
24
200
231
211
217
215
214
212
214
216
215
214
213
212
210
209
207
206
205
203
202
201
199
198
198
196
196
195
194
191
190
189
187
185
184
181
177
173
173
173
173
172
171
169
168
169
170
172
173
168
162
160
157
153
150
151
155
158
159
159
155
151
145
135
126
119
110
100
92
85
73
62
55
52
47
44
43
40
37
36
36
38
40
41
43
44
43
42
41
44
51
56
73
87
111
126
136
147
158
161
161
159
160
166
165
168
175
178
184
190
194
198
201
203
201
203
204
207
208
208
209
209
210
208
207
205
204
202
201
201
200
201
200
198
197
197
194
189
183
178
171
163
156
151
145
137
132
130
130
127
122
116
107
99
93
85
75
70
66
60
57
56
54
52
51
50
49
49
50
51
50
48
46
45
47
48
48
49
49
48
47
48
46
44
44
45
45
46
45
45
45
46
42
42
43
41
42
40
40
42
40
40
40
39
39
39
40
40
42
40
41
40
42
39
38
38
38
40
41
42
43
44
43
42
42
41
40
38
39
40
40
41
40
41
42
41
41
41
40
41
40
39
40
40
40
40
40
39
40
41
40
41
42
42
41
41
42
41
40
40
39
40
39
39
40
40
39
40
41
42
43
43
43
44
44
44
43
42
41
42
42
42
41
41
42
43
43
43
43
43
43
43
43
43
42
44
44
43
43
24
200
230
208
215
213
216
212
217
215
216
214
213
212
211
210
208
207
207
206
205
204
202
201
199
198
196
196
194
192
190
189
188
187
186
183
179
176
174
173
174
174
173
170
168
169
171
172
171
168
163
161
158
154
150
152
156
158
160
160
159
159
153
143
135
128
120
109
101
94
83
70
64
58
51
47
45
43
41
38
38
43
46
47
49
50
49
49
49
52
60
68
83
97
119
131
141
151
164
165
165
162
161
163
163
165
170
177
180
187
192
196
199
200
201
202
200
204
205
205
204
205
205
204
203
202
201
199
196
192
193
193
193
191
190
190
188
184
178
171
163
153
145
139
133
129
125
124
124
120
116
110
102
96
89
81
74
69
67
65
59
57
55
54
53
51
50
49
51
51
50
49
48
47
48
51
50
51
50
49
48
50
47
48
48
48
49
49
48
49
48
48
43
44
42
43
41
41
42
42
42
41
39
38
39
38
40
39
39
41
42
40
40
38
37
37
39
39
40
41
43
44
44
42
41
41
40
38
39
40
41
40
40
41
41
42
43
42
41
41
39
39
39
38
38
39
40
40
39
40
41
40
41
42
42
42
42
42
41
41
40
40
39
38
39
38
39
39
40
41
42
42
43
44
44
44
43
42
41
42
42
41
42
43
43
43
43
43
43
43
43
43
43
43
43
42
44
41
43
24
198
231
208
214
213
218
214
219
218
215
216
214
213
212
210
210
208
205
203
203
202
200
199
199
197
197
196
194
192
190
190
188
186
185
183
179
177
175
174
173
174
172
168
167
168
169
170
170
167
163
162
158
155
151
151
156
159
160
161
159
158
153
146
139
132
124
114
108
98
88
78
72
66
60
55
50
47
44
45
46
48
51
53
55
57
58
58
59
63
72
79
95
104
122
134
144
153
164
166
164
166
165
165
165
165
171
176
180
186
189
193
196
198
199
199
198
202
201
200
200
202
203
202
200
199
197
195
194
194
192
192
191
189
188
187
183
177
170
164
156
147
140
133
128
125
120
120
120
118
114
107
101
95
89
80
73
69
67
66
62
58
56
55
54
51
49
49
50
51
51
50
50
50
50
50
50
51
50
49
49
51
51
53
53
55
56
56
54
52
50
48
45
44
43
43
43
43
41
41
42
40
39
39
37
39
40
41
39
41
41
41
41
37
36
38
37
38
39
41
42
43
42
42
42
41
40
38
39
40
41
41
41
42
42
43
44
44
44
43
41
41
40
41
40
39
39
39
39
39
39
40
40
41
42
42
41
40
40
39
39
38
38
38
37
38
39
39
40
41
41
42
42
43
44
43
43
42
41
42
42
41
42
42
42
42
43
42
42
42
42
42
42
42
42
42
44
43
43
24
200
231
208
214
215
219
216
222
218
217
216
215
214
212
210
209
207
205
203
203
202
200
200
199
197
196
195
194
191
190
189
187
185
185
183
180
177
176
175
174
173
171
167
166
166
167
169
169
168
165
161
160
156
154
155
156
158
161
161
159
157
153
147
141
136
130
123
115
108
99
87
80
73
66
60
57
54
51
50
51
53
56
59
62
66
68
69
70
75
86
92
105
111
131
139
148
156
167
164
164
167
165
169
170
169
173
177
180
184
188
191
194
196
198
199
200
200
200
198
199
200
201
199
197
196
194
191
188
188
186
184
182
179
178
176
173
168
163
158
150
142
136
129
123
117
113
113
113
111
108
103
97
91
86
79
73
70
68
66
63
60
57
54
50
47
46
45
47
49
50
50
50
51
49
47
45
46
45
45
47
52
56
60
62
64
66
63
60
56
51
46
43
42
41
41
42
42
41
41
42
40
40
37
37
38
39
39
39
40
39
40
39
37
35
35
36
36
38
39
40
41
40
39
40
39
38
37
39
40
40
41
42
43
43
44
45
44
45
46
44
44
43
42
41
41
40
41
41
40
39
39
41
42
41
41
42
41
41
40
39
40
40
39
38
38
40
41
41
42
43
43
43
42
42
42
43
42
41
41
41
42
44
44
44
42
42
44
44
44
44
44
44
44
44
42
44
42
44
25
200
228
208
214
213
217
215
219
219
220
219
216
214
213
211
209
207
206
204
205
203
201
201
200
199
197
196
195
192
191
190
188
186
186
185
183
181
179
178
176
174
171
168
166
165
167
169
169
167
165
163
159
157
155
155
159
161
161
161
159
158
156
151
147
143
137
130
124
116
107
96
89
83
77
69
65
61
58
58
59
64
68
72
77
80
83
85
88
88
99
105
117
125
139
144
153
157
167
165
163
166
165
169
170
167
172
176
178
181
184
187
190
193
195
197
197
198
194
194
195
196
196
195
193
192
190
187
184
180
177
175
172
168
166
164
161
158
152
148
141
132
126
120
114
108
104
103
104
103
101
97
92
89
86
81
76
74
74
72
67
62
57
52
48
45
43
43
46
48
49
52
53
53
51
49
44
44
45
45
49
56
62
67
71
74
75
72
67
62
54
48
47
45
43
42
45
45
44
44
41
40
39
38
38
39
40
40
42
43
41
38
38
37
35
36
36
36
36
37
38
38
38
37
37
37
38
37
38
38
39
40
43
43
44
44
45
46
46
46
46
46
45
44
43
42
41
42
41
40
40
39
40
41
42
42
41
42
41
40
41
41
41
41
41
41
40
41
41
42
43
43
43
43
43
43
42
41
41
42
43
42
43
43
43
44
44
43
43
44
44
44
44
44
44
43
45
43
45
25
200
230
208
215
215
216
214
219
219
220
218
216
215
213
211
209
208
207
205
204
203
202
201
201
200
198
198
196
194
192
191
189
188
188
188
186
184
182
181
179
177
174
169
167
166
167
169
169
167
165
164
162
158
157
157
160
163
165
162
159
159
158
155
153
149
143
136
130
124
115
106
99
94
88
82
77
72
70
70
69
71
75
79
83
88
90
93
95
103
112
118
128
134
144
148
154
156
164
162
162
165
164
167
168
165
170
173
173
177
180
180
184
186
189
191
192
190
190
188
187
189
189
189
188
187
186
183
180
179
175
172
167
163
161
159
155
148
143
139
133
125
120
113
108
103
99
99
100
99
98
94
90
86
84
82
78
77
77
76
70
66
62
56
51
46
44
45
48
50
52
56
58
59
57
55
52
52
52
53
56
62
68
73
77
81
82
79
76
72
67
63
59
55
52
51
51
51
49
47
43
43
42
43
42
42
43
43
43
44
43
43
43
40
37
38
38
38
38
40
39
39
38
37
38
39
40
39
40
41
40
41
43
43
44
44
45
46
46
46
46
46
46
45
44
44
43
42
42
41
40
41
40
41
42
42
41
42
42
42
42
42
42
42
42
42
41
40
42
43
43
43
43
43
43
43
42
41
41
42
42
43
45
45
45
43
43
45
43
43
43
43
43
43
43
43
45
43
45
25
200
229
210
214
213
216
214
218
216
220
219
218
216
214
212
210
209
207
205
204
203
202
201
202
200
199
199
197
195
193
192
190
189
188
188
187
185
184
181
180
179
176
171
169
167
167
169
169
167
165
165
163
159
158
158
161
164
165
164
159
157
158
155
154
152
148
141
137
132
124
115
110
104
98
91
88
82
79
79
79
82
87
91
95
98
101
104
106
113
121
126
135
137
145
145
151
152
161
161
160
164
162
166
165
167
168
170
171
173
175
177
179
181
184
187
187
184
182
183
185
186
186
186
185
185
183
180
177
174
170
165
161
158
156
153
150
145
140
137
132
125
118
113
108
102
99
100
101
100
99
96
93
91
89
86
82
81
81
81
74
69
64
60
55
50
48
47
51
53
55
58
62
63
63
60
61
62
63
63
64
68
72
77
79
83
85
84
83
83
80
76
71
69
65
60
58
57
52
50
48
48
47
47
47
48
48
48
48
49
48
45
44
44
43
43
41
41
41
41
41
40
39
38
39
40
41
42
43
43
42
42
43
42
43
44
45
45
46
45
45
46
45
45
45
44
44
42
41
42
41
40
40
41
42
41
42
41
41
42
43
43
43
43
42
41
42
41
42
43
43
43
43
43
43
42
41
41
41
42
43
43
44
45
45
45
43
45
45
45
45
45
45
45
45
43
46
45
45
25
200
232
207
214
212
215
215
214
217
216
216
215
213
215
213
211
209
207
206
205
206
205
203
202
199
201
199
198
198
196
194
191
189
189
187
189
189
188
186
183
180
177
171
167
167
170
171
170
170
170
167
163
160
158
159
161
164
166
164
162
159
158
160
159
156
151
147
143
140
135
128
122
117
112
105
100
94
91
90
93
94
98
103
107
110
113
117
120
126
137
144
147
149
149
152
151
158
155
157
160
159
163
165
165
165
163
164
166
167
169
171
172
173
175
178
179
176
176
176
177
178
179
180
180
180
178
175
171
164
162
158
155
151
148
144
140
134
132
127
123
117
113
109
104
98
96
96
98
99
97
94
92
91
90
89
89
88
88
88
83
76
69
62
59
53
48
52
56
59
61
63
66
68
69
70
72
73
76
78
78
78
80
82
84
87
90
92
95
96
95
92
91
84
78
72
66
63
59
47
49
48
48
48
48
49
50
50
51
50
49
49
47
44
44
45
45
46
46
45
43
43
39
38
38
39
42
42
43
43
41
41
43
42
42
43
44
44
45
45
45
46
47
47
47
46
45
43
43
42
41
40
41
40
41
42
41
42
43
43
44
43
42
42
43
42
41
42
41
40
40
40
40
40
40
41
41
42
43
43
44
44
43
43
43
43
43
43
43
43
43
43
43
43
43
45
45
43
43
25
200
233
210
215
212
215
213
215
217
218
218
216
213
212
214
212
210
207
208
206
205
204
204
203
201
202
200
199
197
196
195
192
190
190
189
190
191
190
188
185
182
179
173
170
170
171
173
172
171
169
168
166
162
160
160
162
165
167
166
162
158
159
160
158
160
158
154
152
149
143
138
134
130
125
119
115
109
104
104
105
107
109
114
117
120
123
126
129
134
140
151
153
154
153
150
153
152
154
156
154
158
160
161
162
161
161
161
161
161
162
164
164
163
167
169
169
167
167
166
166
170
171
172
173
172
171
167
164
161
157
154
152
148
144
141
137
132
128
125
119
115
111
107
103
99
97
97
99
99
97
95
94
93
92
91
90
90
90
89
84
77
71
65
61
55
53
55
60
64
66
68
71
73
75
79
81
83
88
89
89
88
88
91
93
95
98
100
102
105
105
103
101
96
90
84
78
74
68
59
56
57
55
55
56
59
60
60
60
58
59
57
56
53
54
55
55
55
54
53
50
49
47
44
45
46
48
49
49
48
46
45
44
43
42
42
42
43
44
44
44
45
45
46
46
46
45
43
43
42
41
40
41
40
41
42
41
42
43
43
44
44
44
44
43
42
42
41
42
41
40
41
41
41
40
41
41
42
42
43
44
44
44
44
44
44
44
43
43
43
43
43
43
43
43
43
45
43
45
26
199
233
212
217
213
213
214
212
216
219
219
216
214
213
212
213
210
206
205
207
207
207
205
204
203
203
201
200
198
197
196
194
192
191
192
193
193
192
191
188
185
182
177
173
173
174
175
174
173
171
170
168
164
162
162
165
168
168
166
163
159
158
160
160
159
156
154
153
151
149
146
142
138
134
130
125
120
115
113
114
114
117
122
125
128
130
133
135
140
147
155
157
156
153
149
148
150
147
149
150
152
155
154
156
156
154
155
153
152
152
153
154
156
159
161
161
159
155
157
158
163
164
165
166
166
164
161
158
154
151
148
147
142
139
136
133
128
124
121
116
112
109
106
103
102
101
100
101
101
99
98
97
97
96
95
95
94
93
93
88
82
75
70
67
63
61
64
66
68
70
71
72
75
80
86
88
90
95
97
96
95
94
94
96
97
98
102
108
111
113
110
110
106
101
93
85
80
74
67
63
64
63
63
64
66
67
67
67
66
66
65
64
61
61
62
62
62
62
60
58
57
53
50
50
52
53
52
52
50
48
47
46
44
43
42
42
41
42
42
42
43
44
44
45
45
44
44
43
43
42
41
40
41
40
40
41
41
42
42
43
44
44
43
43
44
43
42
42
41
40
41
40
39
40
40
41
42
42
43
44
44
44
44
44
44
43
45
45
45
45
45
45
45
45
43
45
43
45
26
201
234
213
218
214
214
210
211
215
218
217
216
216
213
212
210
208
206
207
208
207
206
206
205
203
203
202
201
199
198
196
195
193
193
193
195
196
196
194
192
188
185
180
176
176
177
178
177
176
174
173
169
166
165
165
167
170
170
167
163
159
160
162
160
160
158
157
158
157
156
154
153
150
147
143
139
133
128
127
128
128
129
132
135
138
139
141
141
145
150
157
158
156
151
144
144
143
145
144
145
147
149
148
148
148
148
147
146
145
145
146
146
145
147
150
148
143
144
145
147
150
151
153
154
154
154
151
149
147
145
142
141
139
136
133
129
125
121
118
114
110
109
106
106
106
106
105
105
104
103
103
102
100
99
98
97
96
95
93
90
86
80
76
73
71
71
71
72
73
74
75
78
80
84
90
97
101
107
109
109
106
105
104
105
104
106
110
115
120
121
121
120
119
114
104
97
92
86
78
79
78
78
78
79
80
82
83
82
82
82
81
79
78
77
77
78
78
76
75
71
70
66
64
63
64
63
62
61
59
56
53
48
45
44
43
40
39
40
40
39
41
42
43
44
44
43
43
43
42
42
42
41
41
41
41
40
41
41
42
43
44
43
44
45
44
44
43
42
42
41
41
41
41
40
41
41
43
44
44
44
44
44
44
44
44
43
45
45
45
45
45
45
45
45
45
46
45
45
26
201
236
212
218
213
213
210
212
215
217
218
216
214
212
212
210
208
206
206
205
208
208
207
207
206
204
203
202
200
199
197
196
196
195
195
196
197
196
195
194
190
187
184
181
179
180
180
179
178
177
175
172
168
166
166
169
171
171
168
164
159
160
161
161
162
161
161
161
161
161
160
159
158
156
153
150
144
141
139
139
139
140
142
143
144
145
146
147
150
154
157
159
157
149
145
145
141
141
141
141
144
142
143
143
144
144
142
140
140
140
142
141
138
139
139
136
136
136
137
139
146
146
149
149
149
149
147
144
140
138
136
135
133
132
129
126
121
118
115
112
110
108
108
109
110
110
109
107
106
106
106
105
103
102
101
99
97
95
93
89
86
82
79
78
77
77
76
78
79
80
80
83
85
89
95
102
106
113
116
117
115
112
112
112
111
111
116
120
123
125
126
126
124
120
114
107
103
98
92
85
86
84
85
86
87
90
91
91
91
91
90
89
88
87
86
87
86
83
81
77
75
72
69
69
69
67
65
63
61
56
54
53
49
46
43
41
39
39
39
39
41
42
43
43
43
43
43
43
43
42
42
41
40
39
40
41
41
41
42
42
44
44
44
45
45
44
44
43
42
41
39
38
40
41
41
42
43
43
43
44
44
44
44
44
44
44
43
43
43
43
43
43
43
43
43
45
43
43
26
201
233
213
216
211
210
208
209
213
214
214
217
214
213
212
210
207
206
206
207
209
208
207
207
206
205
204
203
201
199
198
197
196
196
196
197
197
196
196
195
193
190
187
183
182
183
183
182
181
179
175
171
169
168
167
168
171
171
168
164
159
160
162
160
159
158
159
159
159
161
162
161
159
158
158
156
150
146
144
144
147
147
148
148
148
148
148
148
147
152
151
151
150
146
143
141
140
139
139
138
141
139
139
139
138
138
139
137
137
137
137
137
133
134
133
130
130
130
131
133
134
135
136
135
135
135
132
131
130
129
127
128
127
125
123
121
117
114
113
110
108
108
108
109
111
111
110
107
106
107
107
106
105
104
102
99
96
92
89
87
84
83
83
82
82
83
81
80
80
79
82
86
88
90
95
99
102
110
114
116
117
117
117
118
116
114
114
116
116
118
117
121
120
119
117
113
111
106
99
102
102
101
101
102
103
107
107
107
108
108
107
106
105
104
102
103
102
100
98
94
92
89
86
84
83
81
78
75
72
68
64
59
55
52
50
47
45
45
44
44
44
44
44
45
45
44
44
46
45
45
44
43
42
41
39
38
38
38
39
39
40
40
42
42
42
42
41
41
40
38
38
38
39
41
42
43
44
45
44
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
45
43
43
26
201
231
210
215
209
211
208
210
212
215
214
214
213
215
213
211
208
206
208
208
208
210
208
208
207
206
205
204
202
200
199
198
199
198
198
197
197
198
197
196
195
193
190
187
187
187
186
185
182
178
176
173
170
169
169
171
172
171
168
164
159
159
160
159
158
159
160
161
160
163
165
164
163
163
162
160
155
152
152
152
152
152
152
152
151
150
150
149
144
147
147
148
146
141
139
139
140
140
138
137
138
140
136
136
135
134
134
136
135
135
134
133
127
124
122
123
124
126
127
128
132
133
131
129
128
127
125
124
120
120
121
123
122
121
119
117
114
113
110
108
107
108
108
110
112
112
110
108
107
108
108
108
107
106
103
100
95
89
86
85
84
84
85
85
86
87
83
80
78
78
81
88
91
92
93
96
100
108
114
118
121
124
127
125
122
120
118
116
113
110
111
116
116
119
122
124
126
122
112
111
112
110
111
110
113
115
117
117
119
120
119
116
116
115
113
113
111
109
106
102
100
97
94
92
90
86
83
81
77
73
68
65
61
57
55
53
50
49
48
48
48
47
47
47
48
47
46
47
47
46
45
44
43
42
40
38
39
39
38
39
39
40
41
41
41
41
42
41
40
40
39
38
39
39
42
43
44
45
44
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
41
42
44
44
26
201
231
207
212
208
210
208
208
212
215
216
214
213
215
213
211
209
208
208
207
209
210
210
208
208
207
206
205
203
201
200
199
200
199
197
199
198
197
198
197
196
194
191
189
189
188
189
189
185
180
177
174
171
170
169
171
171
170
168
164
159
159
159
159
157
158
159
160
160
163
166
165
164
165
164
162
158
156
155
156
156
154
152
152
152
151
150
149
144
147
146
145
143
141
138
139
144
140
138
139
137
139
138
134
132
132
134
133
135
135
132
130
129
124
121
122
125
128
127
126
128
127
126
124
122
120
118
116
117
116
116
117
118
118
116
115
114
112
111
109
107
108
108
110
113
112
111
108
108
109
108
108
108
106
103
99
94
88
84
84
84
86
88
89
91
92
88
82
80
79
85
93
96
97
97
95
97
105
112
118
123
128
132
130
126
124
119
114
107
106
105
113
113
119
124
129
132
129
121
120
120
121
119
119
122
124
126
125
128
130
128
126
125
123
121
121
120
118
115
111
109
106
103
102
97
92
89
87
83
79
75
70
66
62
59
57
54
54
53
52
52
51
51
51
50
49
48
48
47
48
47
45
43
42
40
39
38
38
38
38
39
39
41
42
42
42
42
41
40
40
39
38
38
39
42
44
45
45
44
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
41
42
44
44
25
201
228
208
207
211
207
210
212
214
215
214
215
215
213
213
212
212
212
210
209
208
208
207
206
205
208
206
203
201
201
200
201
201
202
200
198
197
197
198
199
200
198
194
193
192
192
191
190
187
183
178
175
172
170
169
170
172
172
168
162
159
160
161
162
161
158
157
159
160
161
163
165
167
167
166
165
164
161
160
159
159
157
156
155
154
152
149
148
146
145
144
140
139
138
138
140
139
138
138
137
136
135
134
134
127
132
131
131
132
132
131
131
124
120
118
118
121
124
126
125
124
123
120
117
113
112
112
109
106
109
111
114
115
115
113
113
110
109
108
108
108
107
109
112
112
111
110
109
108
108
110
111
110
108
104
99
93
88
84
84
86
89
92
94
96
96
91
84
79
79
88
99
104
101
98
98
101
109
115
118
124
129
132
131
127
123
119
111
104
103
109
111
116
121
128
136
141
138
131
132
133
130
129
129
131
132
134
136
138
141
139
137
135
134
132
131
129
127
121
120
120
117
113
110
106
101
96
94
90
87
83
78
75
71
68
67
65
62
59
57
56
56
56
56
54
53
53
51
49
49
47
46
44
41
42
41
39
40
39
38
37
41
41
40
41
42
42
42
41
40
40
40
40
39
40
41
42
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
45
42
44
26
199
228
207
206
211
208
211
213
213
215
215
215
215
215
213
212
213
212
211
210
209
209
208
207
207
208
206
204
203
201
202
204
203
202
201
199
198
198
199
200
200
199
195
193
193
192
193
191
187
183
179
176
173
171
171
170
171
171
167
162
159
160
162
161
160
158
157
158
160
161
162
163
163
164
165
164
163
161
160
160
159
157
156
156
154
152
149
148
145
144
142
138
139
137
138
139
140
142
142
139
139
138
133
133
129
132
133
132
133
135
133
133
127
123
119
121
124
128
130
128
127
124
121
116
110
108
106
104
103
105
108
111
113
113
113
112
111
110
109
110
109
110
111
112
113
112
111
110
109
109
111
112
112
110
106
101
96
90
86
87
90
93
96
98
99
99
94
85
80
80
91
105
111
110
107
107
108
113
117
120
124
128
130
126
122
118
115
111
105
107
112
123
128
134
141
148
152
148
140
136
135
133
132
133
134
134
137
140
142
144
142
140
138
137
135
134
131
128
124
123
122
120
117
116
113
107
103
101
98
94
91
90
87
83
80
79
77
74
71
68
67
66
64
63
61
59
57
55
53
52
50
49
48
45
43
43
41
39
39
38
41
43
41
40
41
42
42
42
41
40
40
40
39
40
40
41
42
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
45
42
44
26
199
225
204
205
209
210
213
212
215
215
214
214
214
213
215
213
214
215
214
213
212
210
210
209
208
207
205
205
204
205
205
205
206
204
203
201
199
199
200
200
201
200
197
195
195
195
194
193
189
184
181
178
175
172
170
171
172
171
167
162
159
159
161
162
162
160
158
157
158
159
160
161
162
161
162
163
162
161
161
161
159
157
156
156
154
151
148
147
144
142
137
136
137
137
138
139
143
144
144
142
138
136
135
132
129
133
134
135
136
137
135
136
130
124
121
122
126
131
133
131
128
125
120
114
107
103
101
99
98
100
104
108
110
110
110
111
111
110
110
111
112
112
113
114
113
112
110
109
109
110
111
113
113
112
108
103
97
93
89
90
94
97
100
101
103
102
97
86
80
83
95
111
118
118
116
115
114
118
120
121
123
126
126
123
117
113
112
109
108
110
117
125
132
138
146
153
157
152
142
143
142
139
135
135
137
138
140
143
146
148
147
146
143
140
138
137
134
131
128
126
125
123
122
119
116
113
109
104
103
100
98
96
92
88
85
84
82
79
78
77
74
71
70
67
64
61
60
59
56
55
53
51
50
47
45
44
42
40
40
39
40
43
42
41
42
41
41
42
41
41
39
39
39
40
41
41
42
42
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
45
40
41
26
199
224
203
204
209
209
215
215
213
213
215
216
216
214
214
213
213
214
213
212
211
210
208
207
205
206
206
206
206
206
206
207
206
205
202
201
199
198
198
200
200
198
195
194
194
194
194
192
188
185
181
178
175
172
171
172
172
171
168
163
158
158
161
162
163
161
159
159
158
157
158
159
159
160
160
160
160
161
159
161
159
157
156
156
154
151
147
146
143
139
136
135
136
139
140
139
144
144
144
140
138
136
135
133
128
132
134
135
135
138
138
137
129
125
121
123
129
133
135
133
128
125
119
113
105
100
99
96
93
97
102
106
109
110
109
110
110
109
110
111
113
114
114
114
112
111
110
109
110
110
112
114
114
112
109
105
101
97
93
95
98
101
104
105
104
102
97
86
81
84
98
113
122
123
121
120
118
121
122
122
121
121
120
117
112
108
108
110
111
116
125
133
139
149
155
162
165
159
150
146
144
142
138
139
140
139
142
145
148
151
150
149
146
143
142
139
135
132
132
130
128
127
126
123
120
117
114
111
107
106
104
103
100
98
96
94
92
89
87
86
83
79
77
74
71
67
66
63
60
59
57
54
52
49
47
45
42
41
40
39
40
43
42
41
41
42
42
41
40
40
40
39
40
40
41
41
42
43
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
43
40
41
27
199
224
203
203
211
210
214
216
215
214
214
215
215
217
217
218
218
216
215
214
212
211
209
207
207
208
206
204
204
204
206
207
208
208
206
203
201
200
201
202
201
199
197
196
195
195
194
193
190
186
182
179
176
174
173
174
174
173
170
162
158
160
162
163
164
162
159
158
157
156
156
157
159
160
161
161
160
159
160
160
158
156
155
155
153
149
146
144
140
137
136
137
136
139
140
138
141
142
142
142
140
136
133
131
128
132
134
134
137
139
138
140
132
127
124
125
129
134
136
134
128
125
119
112
103
100
98
95
93
96
101
107
110
112
112
113
112
111
112
113
116
118
118
117
115
113
113
114
114
115
116
117
116
113
111
109
106
103
101
103
105
107
108
107
105
103
97
88
85
89
102
117
125
126
125
124
122
123
124
121
117
113
110
107
105
102
105
113
120
126
137
148
154
160
165
167
169
163
157
150
149
143
140
140
140
140
143
147
151
150
149
149
147
144
141
139
135
131
130
129
128
129
129
127
125
122
120
118
117
114
114
112
110
107
106
104
102
100
97
93
90
86
83
80
76
73
72
69
65
63
61
58
56
53
51
49
47
44
42
41
42
43
44
44
44
45
45
45
44
43
40
39
40
40
41
41
42
43
42
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
41
43
40
42
24
200
224
206
207
211
212
215
213
213
216
216
217
216
218
219
220
219
217
216
215
213
212
210
207
206
206
205
205
204
204
206
209
209
210
208
206
204
204
204
204
204
200
197
195
194
195
194
193
190
187
184
181
180
177
176
177
177
176
172
165
160
161
163
163
165
163
159
156
157
156
156
157
159
160
160
160
159
158
159
159
157
156
154
153
151
147
144
142
137
137
138
136
138
138
137
137
142
143
144
142
139
137
136
132
129
133
135
136
139
141
141
142
134
130
127
128
130
133
134
131
127
124
118
110
102
98
96
94
93
98
103
109
112
114
114
115
115
114
114
116
119
121
121
120
118
117
117
119
120
121
121
120
117
115
114
113
111
110
112
113
112
113
113
110
107
103
98
92
89
93
104
119
127
128
128
127
124
124
122
118
112
106
99
97
96
95
103
119
129
138
152
161
166
171
171
167
166
166
161
157
154
149
143
143
143
143
144
146
150
153
149
147
147
144
140
137
133
129
130
129
129
130
129
129
128
126
125
123
123
123
122
118
117
115
114
113
110
108
105
101
98
94
91
88
85
81
78
75
72
71
68
65
62
58
56
52
49
46
45
43
42
44
45
44
45
46
46
45
45
44
41
40
41
41
40
41
41
41
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
39
42
24
200
226
206
210
213
211
215
213
213
213
215
218
219
220
221
220
220
219
218
217
215
213
211
209
207
208
208
206
206
206
207
211
212
212
210
208
206
205
205
206
206
202
198
196
195
194
195
194
192
189
185
183
181
179
178
179
179
176
172
165
161
162
164
165
164
162
158
157
156
156
155
155
158
159
158
159
158
157
157
159
157
155
153
151
149
145
142
141
137
137
139
138
138
135
136
137
141
142
143
142
141
139
135
134
130
133
135
136
138
141
142
143
136
133
130
129
131
132
130
128
124
121
115
108
100
96
95
94
94
100
105
111
114
116
116
117
116
116
116
117
120
123
123
122
120
119
121
124
125
124
123
122
120
117
116
115
116
118
120
120
120
119
116
112
107
103
97
94
92
95
106
117
124
125
126
125
121
121
118
112
105
97
90
90
92
93
104
124
137
149
162
173
179
179
176
170
168
168
165
162
159
151
145
143
142
142
142
144
150
153
151
148
147
144
140
136
132
128
128
129
128
130
132
131
131
129
128
127
128
128
128
128
127
126
125
124
121
119
116
112
108
103
100
98
94
91
87
82
80
78
75
71
68
63
59
55
51
48
46
45
44
45
46
46
45
46
46
46
45
45
42
42
41
40
39
40
41
42
42
42
42
42
42
42
42
42
40
40
40
40
40
40
40
40
40
42
39
40
24
200
228
208
209
214
211
213
213
214
213
215
215
220
221
222
223
222
220
219
218
216
215
212
210
208
209
207
205
206
208
210
213
214
214
213
211
209
208
208
207
207
204
200
196
195
195
196
195
193
190
187
185
183
181
181
181
180
178
173
167
161
161
164
164
163
161
159
156
154
154
154
155
157
157
158
158
157
157
157
159
156
154
152
150
148
144
141
139
135
137
140
139
138
134
135
136
140
139
142
142
141
139
136
131
129
133
134
133
136
139
142
143
138
135
133
131
129
129
128
124
121
118
112
105
97
95
95
94
96
102
107
113
116
116
117
117
117
116
115
116
120
124
125
123
121
122
124
126
128
126
124
123
120
118
116
116
118
121
124
125
124
122
119
113
107
101
97
96
95
97
105
115
119
120
120
120
117
115
112
106
100
94
88
88
91
92
104
126
140
152
166
176
179
180
174
169
167
168
168
166
162
154
148
145
143
142
143
144
151
154
153
149
149
145
141
136
132
129
129
129
131
132
134
135
134
133
133
133
132
132
132
131
130
129
128
126
124
122
118
113
110
106
102
99
96
92
88
85
83
81
78
74
70
65
62
58
53
50
48
46
45
46
46
45
46
46
47
46
46
45
43
42
41
40
39
39
40
41
42
42
42
42
42
42
42
42
41
41
41
41
41
41
41
41
41
42
39
40
24
200
230
214
214
212
209
208
209
214
213
214
217
218
220
223
224
223
221
220
219
218
216
213
211
209
207
206
207
208
209
210
212
215
216
215
215
214
212
211
209
209
206
201
197
197
196
195
194
193
191
190
187
186
182
180
181
182
180
175
169
164
162
163
164
163
161
158
157
157
157
157
158
158
157
158
159
159
157
157
158
156
154
151
149
146
142
139
135
135
138
141
141
138
135
134
135
138
137
140
139
141
139
134
133
132
132
131
131
132
137
140
143
140
137
136
132
127
123
119
116
114
113
108
101
95
93
94
97
98
104
110
115
118
118
117
117
116
114
115
116
118
121
123
123
123
125
127
131
134
130
125
121
118
116
113
114
120
126
130
129
126
124
118
112
105
96
95
94
95
98
103
108
112
112
107
106
101
98
100
96
90
87
86
89
93
97
111
130
141
155
164
173
177
176
170
162
158
164
174
172
167
158
151
148
146
145
147
146
152
155
156
155
152
148
145
138
134
131
131
131
133
135
139
138
137
135
135
134
135
134
133
134
132
131
130
128
126
124
121
116
113
109
106
103
99
96
94
93
91
88
85
80
73
68
65
61
56
53
50
47
44
45
46
46
47
48
48
47
46
44
42
41
40
39
40
39
40
40
42
41
40
40
40
40
40
40
39
39
39
39
39
39
39
39
39
41
39
41
23
197
232
216
216
213
210
208
211
212
216
215
218
220
221
222
224
224
222
221
220
219
217
214
212
210
208
208
208
208
210
211
213
215
218
218
218
217
215
213
212
211
207
203
199
197
197
196
196
194
192
191
190
187
185
183
185
185
182
178
170
165
163
164
164
162
160
158
157
157
158
157
157
158
158
159
160
159
160
159
158
155
153
151
148
145
142
139
133
135
138
140
141
137
133
133
133
134
135
135
137
139
136
135
131
129
130
129
130
131
135
138
141
141
137
134
130
122
116
112
109
108
107
104
98
94
92
94
97
100
105
111
116
119
119
119
119
116
115
115
116
119
122
124
123
124
127
129
133
136
133
128
123
118
116
114
116
122
129
135
133
128
125
119
111
104
95
93
96
98
99
100
103
103
101
97
95
89
85
84
84
81
83
84
89
95
99
114
133
144
159
167
174
176
174
165
158
156
164
175
178
172
164
155
153
150
147
149
148
154
157
157
155
153
149
146
138
136
134
134
135
136
138
141
142
140
138
137
138
138
138
138
136
135
134
132
131
129
127
124
119
116
112
109
106
103
99
97
97
95
93
89
83
77
71
68
64
59
55
53
50
47
48
48
48
48
48
48
48
47
46
43
41
39
39
39
39
39
40
40
40
41
41
41
41
41
41
39
39
39
39
39
39
39
39
39
39
38
39
23
197
234
219
217
216
210
211
209
214
217
216
219
221
222
223
222
223
225
223
221
220
218
216
214
213
211
211
211
211
213
214
215
216
219
220
220
219
217
215
214
211
205
202
198
196
196
195
194
194
194
193
191
190
189
188
188
188
185
181
174
168
167
167
165
164
162
161
160
160
159
158
158
160
160
159
160
162
161
159
158
154
152
149
147
143
140
137
135
137
139
141
142
138
134
133
132
134
134
134
137
137
135
133
131
126
127
128
127
129
132
135
138
138
137
136
128
120
114
110
106
103
102
99
94
91
92
93
98
102
106
112
116
120
121
121
120
117
117
117
118
120
123
125
125
126
128
131
134
135
131
127
122
118
117
116
119
125
132
137
135
131
126
118
110
104
96
95
99
102
103
102
101
99
96
92
91
86
81
82
82
84
88
91
93
99
105
119
137
148
161
169
172
176
173
166
156
156
165
177
178
172
164
155
153
149
149
149
151
155
158
158
156
154
151
148
141
139
137
137
137
139
141
144
143
142
141
141
140
139
139
139
139
137
136
134
133
131
129
127
125
121
115
112
110
107
104
102
101
99
98
95
88
81
75
71
67
63
60
58
55
53
52
51
51
51
51
52
51
49
48
45
43
41
41
41
41
39
40
40
40
41
41
41
41
41
41
41
41
40
40
40
40
40
40
39
41
38
39
23
200
232
216
214
215
211
210
211
215
219
219
221
222
223
222
222
224
224
225
224
221
220
219
217
216
217
216
216
217
216
216
217
218
217
217
219
219
217
214
211
210
208
203
199
198
197
196
195
196
195
194
194
195
194
194
192
192
190
185
177
172
171
169
168
168
166
165
164
163
161
159
158
158
158
159
160
161
161
159
157
152
150
147
144
141
139
140
139
140
142
144
144
139
137
134
133
136
135
134
134
134
132
129
126
123
122
120
122
122
126
129
131
131
133
133
128
119
113
108
103
99
97
94
91
88
90
92
98
103
108
112
117
119
121
121
121
120
120
120
121
123
126
128
128
129
130
129
128
127
124
121
118
117
119
122
126
130
133
137
134
129
124
116
109
104
98
98
102
104
105
103
100
98
96
94
89
86
82
82
84
87
90
95
100
106
110
124
144
155
167
172
175
178
175
170
162
160
167
175
174
169
160
153
150
148
147
147
151
155
158
157
156
156
154
151
147
145
143
144
144
144
146
148
146
145
144
142
143
143
143
143
142
140
139
137
136
134
132
130
128
125
122
117
113
110
107
105
102
101
100
97
91
84
78
75
72
69
67
65
63
61
60
59
58
57
56
55
54
52
51
50
48
47
46
45
43
41
42
43
41
40
40
40
41
40
40
41
41
43
43
43
43
43
43
41
43
40
42
24
201
228
214
212
212
211
214
215
217
219
218
219
220
224
224
224
224
223
222
222
222
223
222
222
222
222
222
223
221
220
220
219
218
218
219
221
222
220
216
213
211
209
205
202
200
199
197
196
197
198
199
199
199
198
198
196
195
193
188
182
177
175
173
171
171
170
169
168
166
163
160
159
159
158
158
160
162
161
158
156
151
148
145
139
139
141
143
146
145
146
146
143
141
139
137
137
134
132
132
129
128
125
122
119
115
114
113
112
114
116
120
122
124
127
129
125
116
109
103
97
95
91
88
86
85
88
93
100
106
110
113
117
122
122
122
123
124
124
125
127
129
131
133
133
133
131
128
124
120
117
114
113
116
122
128
132
136
138
138
133
126
122
113
108
106
101
101
105
106
107
104
99
96
94
93
91
89
83
82
86
89
96
103
109
112
115
129
150
165
175
178
180
181
177
173
170
169
169
173
172
168
159
153
150
148
147
149
149
154
158
158
159
160
158
155
151
150
148
147
147
148
149
151
152
151
148
144
144
145
146
146
146
144
142
142
140
138
136
134
132
128
125
123
120
117
112
108
105
104
103
100
95
88
83
80
79
76
75
74
73
70
70
69
67
65
62
60
58
57
56
54
52
50
49
48
46
44
43
43
43
43
42
41
40
42
42
43
43
44
43
45
45
45
45
43
45
43
43
25
201
229
213
213
215
212
216
215
219
218
218
221
222
222
222
222
222
224
223
222
222
221
222
224
225
225
226
226
225
225
223
222
219
219
220
222
222
221
217
213
210
207
204
202
200
199
197
197
198
200
201
202
203
204
203
200
199
197
191
185
180
178
177
174
173
173
172
171
169
165
160
158
157
157
158
159
161
161
158
155
151
148
144
140
139
142
145
148
147
148
146
144
142
138
138
138
135
133
131
128
126
124
118
116
109
109
107
106
106
107
110
112
115
120
122
119
113
106
99
94
89
85
83
83
84
87
94
102
108
111
115
118
120
121
121
122
124
126
127
129
130
131
132
133
133
131
126
119
114
114
113
113
116
122
130
136
140
140
139
134
126
120
114
110
108
102
103
108
110
109
105
100
95
93
92
91
90
85
82
87
94
103
113
115
117
118
131
153
169
179
182
183
182
179
176
176
174
173
173
169
167
158
152
149
148
148
149
151
156
160
161
161
160
158
156
155
154
153
153
152
152
153
154
153
151
149
147
147
147
147
147
146
145
143
142
141
139
137
136
134
131
128
126
122
118
115
112
109
106
105
103
98
92
88
85
83
82
81
80
79
78
77
74
73
70
67
64
62
60
59
57
55
53
52
51
48
46
46
44
44
43
43
40
40
42
42
43
42
43
45
46
46
46
46
44
46
42
42
26
201
231
215
215
217
216
217
216
220
218
220
221
222
223
224
224
224
223
223
224
223
222
223
224
225
226
227
226
225
226
225
223
220
220
221
222
224
222
218
214
210
207
204
202
200
199
198
198
200
201
202
204
206
207
205
202
200
198
192
186
181
179
178
177
177
176
175
174
172
168
164
162
159
158
158
160
162
162
159
155
153
148
144
141
140
142
145
147
147
147
145
145
143
140
138
136
134
132
129
125
122
118
113
109
102
101
96
96
95
97
100
101
103
107
110
110
106
103
98
94
90
86
83
85
87
88
94
102
108
111
113
115
118
118
119
121
122
123
125
127
128
130
130
131
130
127
124
116
111
113
113
111
114
122
130
135
137
137
137
133
127
122
115
112
110
107
107
109
110
109
104
99
95
93
92
89
90
84
82
89
97
105
117
119
121
119
131
150
167
178
181
183
183
181
182
181
178
173
173
168
166
158
153
151
150
151
152
154
159
163
164
163
161
159
157
154
155
154
154
154
154
155
154
154
152
149
148
148
148
146
147
146
144
142
141
140
139
137
136
135
132
129
126
123
119
116
113
111
109
107
104
100
95
92
89
88
87
86
85
84
83
82
79
77
73
69
67
65
63
63
61
58
56
55
52
50
47
47
45
45
44
44
43
42
40
40
41
42
43
45
46
46
46
45
45
45
42
42
26
201
233
218
217
219
216
217
219
220
218
218
220
222
223
222
223
223
225
224
224
224
223
224
225
225
227
226
226
226
227
226
224
221
220
221
222
223
222
218
213
209
206
203
201
200
198
199
198
200
202
204
206
208
209
207
204
201
198
193
187
182
181
180
179
179
179
178
178
176
171
166
164
161
160
160
162
163
164
161
157
154
150
146
143
140
141
144
143
145
145
144
144
142
137
135
135
132
129
125
119
116
111
103
97
92
88
84
82
82
83
86
86
87
93
97
97
98
98
96
92
90
86
85
86
88
90
95
102
108
110
112
114
116
116
117
119
119
120
124
125
126
127
128
127
125
123
121
114
109
110
111
112
115
121
128
133
135
135
134
131
125
121
117
114
113
110
109
108
107
105
102
97
94
93
91
89
89
88
88
95
102
111
120
120
121
120
129
147
162
173
177
181
183
184
185
186
181
176
174
169
167
160
156
155
155
158
157
159
164
167
165
163
162
159
156
153
153
153
153
155
156
157
156
155
151
147
146
145
146
148
146
145
143
141
140
139
137
135
135
133
131
129
126
123
119
116
113
111
109
107
105
102
98
94
93
92
91
90
89
88
85
84
81
78
75
72
69
67
66
65
62
60
58
57
54
51
49
47
46
44
45
44
44
41
41
40
41
43
42
43
43
43
43
42
43
44
41
41
25
201
234
221
219
220
218
221
219
221
219
217
219
221
222
222
225
226
224
224
223
226
226
226
225
226
228
228
227
226
226
226
224
222
223
223
222
222
221
216
212
209
206
202
199
199
198
198
200
202
205
208
209
210
211
210
206
203
200
194
187
184
182
183
185
183
180
180
180
177
173
168
165
166
164
163
164
165
166
164
162
156
152
148
144
142
140
140
141
141
142
142
143
141
136
134
134
128
124
120
115
110
105
92
86
81
74
69
68
66
65
67
66
71
73
76
81
86
88
88
88
85
84
85
86
88
92
96
101
108
110
112
113
115
114
115
115
115
118
119
120
122
124
124
121
119
118
116
111
107
109
111
113
115
119
125
129
131
130
130
129
125
124
122
118
115
114
111
108
105
103
101
97
96
93
90
89
89
89
92
97
106
118
127
125
123
116
127
146
157
168
176
181
187
190
191
191
190
182
176
170
168
162
159
159
160
163
163
168
170
174
168
164
163
159
158
155
156
155
155
156
157
158
158
158
153
150
146
144
146
147
146
144
143
142
140
137
136
135
133
132
131
128
125
124
121
118
115
113
111
110
108
106
104
101
100
100
98
96
94
92
91
89
85
82
80
78
75
72
69
67
66
65
62
60
57
54
51
48
48
46
45
45
45
44
44
43
43
41
41
42
42
42
43
41
44
43
40
42
23
200
235
220
220
221
219
223
220
222
220
218
222
224
225
224
225
227
226
226
226
228
227
226
228
228
229
230
229
229
228
227
226
224
223
223
224
224
223
218
213
211
208
205
203
203
203
203
204
206
207
209
211
212
214
213
209
206
204
198
191
187
187
187
187
187
186
186
185
183
178
174
172
168
166
165
166
167
168
166
163
159
155
150
146
142
141
140
139
139
141
143
143
140
136
135
134
127
125
120
115
109
100
90
85
74
69
62
60
56
55
56
54
56
60
62
65
72
76
76
77
77
78
79
82
85
89
93
98
106
108
110
113
115
114
114
116
116
118
120
121
122
123
122
119
117
114
112
109
106
108
110
113
115
119
124
127
128
127
126
127
126
126
124
120
118
116
113
107
103
102
101
99
98
96
92
94
94
98
101
106
114
123
131
128
126
117
125
144
155
166
175
181
187
190
193
193
190
183
175
171
169
164
164
163
166
169
169
174
175
179
173
168
166
161
160
156
158
157
159
161
162
163
162
161
155
152
148
146
148
149
148
146
145
144
142
140
138
136
135
134
133
130
127
126
123
120
119
118
117
115
114
111
109
107
105
102
101
99
96
95
93
91
87
86
84
80
77
75
73
71
70
68
66
63
61
59
53
51
50
48
48
46
45
43
43
44
43
42
42
41
43
43
41
42
41
42
39
41
22
199
234
221
221
222
220
224
221
221
220
219
223
225
226
227
229
228
230
228
229
229
230
228
229
230
229
230
231
229
230
229
228
226
225
226
227
226
224
219
214
212
209
206
204
203
203
204
205
207
211
214
215
217
218
216
212
210
206
200
194
189
188
189
190
188
187
187
187
185
180
175
172
170
168
167
168
169
169
168
165
163
160
153
148
144
140
138
138
137
139
143
144
141
138
133
133
128
125
118
114
108
97
88
80
74
67
61
56
50
47
47
45
49
52
54
57
63
66
68
70
70
71
75
80
84
88
93
97
104
106
109
111
114
115
115
116
118
120
122
124
124
124
122
118
114
110
107
106
106
108
112
114
117
119
122
124
124
123
123
124
126
127
126
125
122
119
115
107
102
101
100
100
101
99
96
96
97
102
106
112
120
127
134
132
127
117
124
142
153
166
174
183
190
193
194
194
191
184
175
173
170
166
165
168
171
174
177
178
179
182
175
169
167
161
160
158
159
161
162
165
166
167
167
165
159
154
152
149
151
151
151
150
149
147
144
141
139
138
137
137
135
133
131
129
126
123
122
121
120
119
117
115
112
109
108
107
105
102
99
98
97
93
91
90
88
85
82
80
77
75
74
72
70
67
64
60
56
53
52
51
49
47
45
45
44
43
44
42
40
42
41
41
42
40
41
39
38
40
21
196
234
222
223
223
220
223
223
223
221
220
224
226
227
228
230
229
231
231
229
230
231
231
231
230
231
231
230
230
231
231
229
227
226
227
228
227
223
220
216
213
210
207
205
204
204
205
205
209
213
216
217
218
219
218
215
210
206
201
195
191
190
190
191
191
190
189
188
185
181
177
173
172
169
169
169
170
170
169
167
165
161
156
150
145
139
136
133
134
137
142
143
141
138
133
132
128
125
120
113
108
97
87
79
72
64
57
51
43
42
41
38
43
43
46
46
50
53
55
58
62
63
68
75
80
85
91
95
102
104
107
111
114
115
116
118
120
121
124
125
127
127
123
117
110
106
105
105
106
109
113
115
118
120
122
123
123
123
122
124
125
127
127
125
123
120
115
107
101
99
101
103
104
103
101
100
103
109
114
120
127
133
136
132
128
117
123
139
151
164
173
184
190
194
195
194
191
184
175
173
169
168
167
171
175
178
181
182
182
184
178
171
168
160
160
159
161
163
166
169
170
171
169
168
162
158
155
153
154
156
155
154
153
151
149
146
144
142
140
139
137
134
133
132
131
129
127
125
124
124
123
120
116
113
112
109
107
105
102
100
98
95
93
92
89
88
87
83
81
79
76
75
72
70
67
63
58
55
54
53
51
48
46
45
43
43
44
43
42
40
42
42
40
41
39
38
38
40
19
197
233
219
221
221
219
222
221
224
221
221
225
226
228
229
231
230
231
232
230
231
232
232
232
231
232
233
231
230
229
229
228
228
227
226
227
227
225
221
218
216
214
210
208
208
208
208
209
211
215
218
219
219
220
219
215
212
208
203
197
194
193
192
193
195
194
193
193
190
185
179
175
173
170
168
169
170
169
169
167
166
162
157
149
145
139
134
131
132
135
140
141
139
135
131
130
126
121
119
115
108
98
88
81
72
62
56
48
42
40
39
35
37
38
38
39
40
41
43
48
54
56
61
69
76
81
86
92
100
102
105
109
114
115
116
118
119
121
122
123
123
123
120
114
107
103
102
105
107
110
113
116
119
120
120
120
120
120
120
122
125
127
127
126
124
121
115
107
101
99
102
105
106
107
106
108
111
120
125
129
135
138
141
134
128
117
124
141
151
164
176
186
191
195
194
192
189
182
175
172
171
170
169
173
177
181
184
186
185
187
180
174
169
163
164
161
163
165
169
172
174
173
172
171
166
161
159
157
158
160
159
157
156
154
150
148
145
143
143
142
140
139
137
136
135
133
131
131
131
130
127
124
120
117
114
111
109
108
106
103
100
97
95
95
94
90
88
86
85
83
80
78
76
74
71
68
63
59
57
55
53
50
48
46
45
43
43
44
43
41
40
40
41
39
40
38
37
39
20
197
231
217
219
216
218
220
222
224
221
223
226
227
229
230
230
229
231
230
231
230
231
233
233
233
233
232
231
232
230
229
228
226
226
227
228
229
227
223
220
217
214
211
209
209
209
209
210
213
217
219
220
220
220
219
216
213
210
205
200
197
196
196
196
196
194
193
192
190
185
179
176
172
168
166
166
166
166
167
166
165
160
155
151
147
140
132
128
129
132
135
137
135
129
128
127
124
120
115
113
106
100
89
83
75
66
59
52
46
42
40
36
36
37
37
39
38
39
41
44
50
53
60
67
74
79
83
89
97
101
103
107
111
113
114
116
117
116
117
118
118
118
115
109
103
100
102
106
109
112
115
118
120
121
120
119
119
120
119
121
124
125
125
123
122
119
113
106
101
100
104
108
110
113
114
117
121
130
135
139
141
143
141
136
130
119
126
143
153
166
177
187
193
194
191
188
185
179
175
175
174
172
172
174
179
184
186
187
186
187
180
174
170
164
164
164
166
169
173
176
178
176
174
173
169
166
163
162
163
163
162
160
159
157
154
151
147
145
144
143
142
140
140
139
137
135
134
132
131
131
129
125
121
117
116
115
112
109
106
105
104
102
100
97
95
94
93
90
88
88
86
83
81
79
76
72
67
63
60
58
55
52
51
48
47
46
45
43
44
44
43
40
41
39
39
40
37
39
19
198
229
215
216
216
214
219
221
223
223
224
227
226
228
231
232
229
231
230
229
231
231
233
234
234
234
233
232
230
230
230
228
226
227
228
229
228
227
226
223
219
214
211
208
208
208
209
209
213
217
218
218
218
219
218
215
212
209
205
202
199
198
197
196
195
194
193
192
189
183
177
173
172
168
165
165
166
165
166
166
165
162
157
153
147
139
131
126
125
128
132
133
131
126
123
124
121
118
115
112
108
101
91
86
80
68
61
55
48
44
42
38
37
37
38
38
37
36
38
41
47
51
58
65
71
77
82
87
94
97
100
105
109
111
113
114
112
112
112
112
111
110
108
104
100
98
102
109
113
116
119
121
122
121
119
118
118
118
118
120
122
124
123
120
119
117
111
106
102
101
105
109
113
118
120
125
131
141
145
147
148
145
142
137
133
122
129
146
154
167
178
187
194
194
189
183
180
179
175
175
174
173
174
176
180
184
186
187
184
186
179
173
169
164
165
165
167
171
175
179
179
177
175
175
171
169
166
166
167
168
166
163
162
159
155
151
149
147
145
144
143
141
141
140
138
136
135
134
133
133
132
129
123
118
118
117
113
110
108
106
105
103
101
98
97
95
94
93
91
91
89
87
85
84
79
74
70
67
62
59
56
54
52
51
49
48
44
45
43
43
44
42
40
40
41
39
38
40
21
199
228
212
211
214
212
218
220
223
222
225
226
228
228
231
231
229
231
229
230
231
231
233
233
234
235
234
233
231
230
229
229
227
227
228
229
230
229
226
223
221
217
214
212
212
212
212
213
214
218
219
219
218
219
218
215
212
210
206
203
201
200
198
197
198
197
196
194
190
185
178
175
171
166
163
163
163
162
162
164
165
161
155
152
146
138
128
124
123
125
127
127
127
121
120
119
117
114
112
109
105
100
91
85
84
71
64
58
51
49
45
41
39
38
37
36
36
34
36
39
44
47
55
61
67
73
78
83
91
95
99
103
108
109
110
112
111
111
109
107
106
104
103
100
98
98
103
111
115
118
121
123
123
122
120
117
117
118
118
118
119
120
118
115
114
112
108
104
102
102
106
111
116
122
128
133
141
150
156
156
155
151
145
140
134
126
132
148
157
168
180
188
193
192
187
181
180
177
176
178
176
175
177
179
179
184
186
186
186
185
180
174
170
166
169
167
169
173
177
180
181
178
176
175
172
170
169
167
169
171
168
166
163
160
156
152
150
148
145
144
143
143
142
141
139
137
137
136
136
136
134
130
125
122
119
117
114
113
109
106
106
104
102
100
99
97
96
95
93
92
91
89
87
85
82
79
75
72
66
62
59
57
55
53
50
50
46
45
45
44
45
42
42
41
42
40
39
41
22
199
228
208
206
210
210
216
219
223
224
226
225
226
228
230
228
231
229
230
229
230
232
231
232
234
233
232
232
231
230
229
228
227
227
228
228
228
227
225
221
220
219
218
215
213
214
214
213
215
218
219
219
219
219
217
214
211
208
206
205
204
202
200
200
199
197
195
193
189
184
178
174
168
162
160
159
158
157
158
159
161
158
154
148
144
135
124
120
116
117
119
118
117
113
110
111
107
107
105
101
100
96
89
85
81
72
65
59
53
49
46
45
41
39
37
37
35
34
35
38
42
46
54
57
63
69
74
78
86
91
96
100
105
107
109
110
107
106
104
102
100
97
97
96
96
100
105
112
119
122
124
125
125
123
119
116
116
117
118
116
114
114
112
109
107
104
103
102
101
103
107
112
117
124
135
140
150
156
167
165
162
155
149
146
138
133
138
150
162
169
181
189
191
191
186
181
178
178
181
179
180
178
177
177
179
183
185
185
183
182
179
174
170
168
170
170
172
177
179
181
180
178
175
174
172
171
171
171
172
171
169
169
163
159
157
153
149
145
143
143
142
141
140
140
139
137
136
135
134
134
133
130
126
123
120
118
115
114
112
111
110
107
106
104
100
99
98
97
97
96
95
93
90
88
87
82
76
73
68
66
64
61
59
57
55
54
51
50
48
49
46
47
47
45
42
43
40
40
23
200
224
205
203
205
209
214
218
221
225
227
227
228
228
229
229
230
228
228
230
231
232
231
232
233
234
234
232
231
230
228
227
228
227
226
227
228
227
225
223
222
221
219
217
215
214
215
214
216
218
218
217
217
216
215
212
209
207
206
206
205
204
202
201
198
197
194
191
188
182
176
172
167
161
157
156
154
153
153
154
157
156
151
147
141
132
122
116
111
110
111
110
107
104
102
101
100
99
97
95
94
91
87
82
76
70
65
60
55
50
47
45
41
40
38
39
35
33
34
36
42
46
52
56
60
65
70
74
83
88
93
98
103
106
108
108
105
103
100
98
95
93
93
94
96
102
107
116
123
125
127
127
125
123
119
116
116
116
116
113
109
108
105
102
101
96
97
100
101
103
107
112
117
125
137
145
156
163
173
171
167
160
153
149
144
139
144
155
164
171
180
186
190
190
184
182
181
181
184
182
182
181
180
179
180
183
184
184
182
182
178
173
170
169
171
172
174
176
179
181
180
177
173
175
172
171
170
171
173
172
169
168
163
159
156
152
147
145
143
142
141
140
139
139
138
135
134
134
132
131
131
130
128
125
122
120
117
116
114
113
111
108
107
106
104
101
100
99
99
98
97
95
92
90
88
85
79
76
72
70
68
65
63
61
59
56
56
54
53
51
51
50
49
47
43
45
40
40
23
200
224
201
201
204
207
212
216
220
224
226
226
226
227
225
227
229
228
229
230
229
230
232
233
233
234
232
232
231
229
228
226
227
226
226
226
224
226
225
224
223
222
220
218
216
215
216
215
215
217
217
215
214
213
212
209
207
205
204
205
206
205
203
202
200
198
195
192
188
183
176
170
165
158
153
152
150
147
148
150
152
151
147
143
138
129
118
113
105
104
104
101
95
94
92
91
89
86
86
84
85
84
80
77
73
67
63
61
55
51
49
46
42
40
39
37
35
32
32
35
41
43
48
51
55
61
64
69
77
83
89
95
101
104
106
105
102
100
96
93
90
87
88
92
96
102
110
119
126
128
128
128
126
124
119
115
114
114
114
109
105
102
97
93
92
90
92
98
102
105
109
112
117
128
140
150
163
169
180
177
173
165
159
155
153
149
152
161
166
171
179
184
187
189
185
185
185
185
188
189
188
185
183
182
182
184
184
183
182
178
176
173
171
170
173
174
175
177
180
182
180
174
171
172
171
171
172
173
174
173
170
169
164
160
155
151
146
143
142
141
140
139
138
138
137
134
133
133
131
130
130
129
128
128
127
124
121
119
117
116
114
111
110
108
106
104
103
101
100
100
100
98
95
93
90
87
83
81
77
75
73
71
68
66
63
63
60
57
56
55
53
52
52
50
46
47
42
42
25
200
221
199
197
201
202
208
212
217
222
224
223
223
226
224
224
228
229
229
230
231
232
233
233
233
232
231
233
231
229
228
227
226
226
225
224
223
224
224
224
224
222
220
218
217
216
215
214
215
217
216
215
212
210
208
206
206
204
203
205
206
206
203
201
198
196
192
189
185
180
172
165
161
154
148
145
141
139
139
141
144
142
139
135
131
121
109
104
98
96
94
90
87
83
82
79
77
75
74
74
75
74
70
70
68
62
59
58
52
49
46
45
42
42
39
37
34
32
32
34
39
41
46
48
52
57
60
64
71
78
85
92
98
101
103
103
100
97
93
90
87
85
86
90
97
105
112
120
127
128
128
127
126
123
118
114
112
110
109
105
99
95
90
85
83
83
87
97
102
107
111
113
118
129
142
152
164
173
185
182
179
172
166
163
162
159
161
165
167
171
178
182
186
189
188
190
192
190
191
194
193
189
187
185
185
182
183
180
178
175
174
172
171
173
174
177
176
177
179
180
178
174
170
172
172
173
173
174
175
174
171
168
164
159
154
150
145
142
141
140
139
139
138
138
137
134
133
131
130
129
129
130
132
132
131
128
125
123
121
120
118
116
113
112
110
107
106
104
103
104
103
101
98
96
93
90
87
84
82
80
79
77
75
73
71
69
67
65
63
62
60
58
55
54
50
50
47
46
27
199
217
196
192
196
199
204
208
212
221
222
223
223
224
225
226
228
228
229
231
233
234
234
235
233
233
232
232
232
230
229
228
228
227
226
223
223
224
224
225
223
221
220
219
217
217
215
214
215
217
216
213
210
207
205
203
203
203
203
206
207
205
201
198
194
191
186
182
179
173
166
159
155
148
141
137
133
128
129
131
133
132
130
127
123
113
103
96
90
88
83
80
77
74
71
69
69
66
65
65
64
63
62
61
62
56
55
52
48
45
44
43
40
41
39
37
34
32
32
33
38
40
44
46
48
54
57
61
67
76
83
90
96
98
100
101
98
95
91
89
86
84
86
91
99
106
113
121
128
128
127
126
125
121
116
112
109
107
106
101
92
87
82
79
77
79
86
95
102
109
112
114
117
128
141
150
163
173
185
185
182
178
173
172
172
170
169
168
167
170
176
181
185
188
191
197
198
197
195
199
197
193
192
188
187
182
182
178
175
173
173
172
174
175
176
179
179
177
176
176
175
172
169
170
171
174
175
176
176
175
172
169
165
160
155
150
145
142
141
140
139
140
141
140
137
135
134
133
131
130
131
132
135
136
135
132
129
127
125
124
122
119
117
115
113
111
109
108
107
107
107
104
102
99
96
93
90
88
87
85
85
83
81
79
77
76
73
71
70
68
66
64
62
59
55
51
48
48
28
200
217
192
191
195
198
200
204
209
215
218
219
220
222
224
226
229
230
230
232
235
234
235
236
235
235
234
232
230
231
231
230
229
227
225
223
220
221
222
223
223
221
220
219
219
218
217
216
216
216
215
212
208
205
202
200
199
200
200
202
204
202
197
192
191
187
183
178
175
170
162
155
150
143
135
130
124
120
120
123
125
125
122
120
116
106
95
89
83
79
78
75
72
69
64
62
60
58
57
58
55
55
54
54
54
51
48
47
44
42
43
41
38
40
38
36
35
33
33
35
38
40
44
45
47
50
54
58
66
73
81
86
92
95
97
97
95
92
88
87
85
83
86
92
100
108
113
119
126
126
124
124
123
120
115
110
107
105
101
95
86
80
77
75
75
76
85
97
105
111
114
115
116
127
139
147
160
172
186
185
185
182
180
180
180
179
176
173
168
169
175
180
184
189
194
202
204
202
199
202
200
196
195
191
189
183
180
177
174
172
172
174
176
177
178
180
180
178
175
173
172
170
168
170
171
176
178
178
179
177
174
170
165
160
155
151
146
144
142
141
141
142
143
142
140
137
136
135
133
132
134
136
138
140
138
135
132
131
130
127
125
122
120
119
117
114
112
111
110
109
109
108
107
103
100
97
93
92
90
91
91
89
87
84
83
82
78
76
74
73
70
68
65
61
60
56
50
51
30
201
214
190
187
192
193
196
199
205
209
212
214
216
219
222
224
228
229
231
232
234
236
234
233
233
232
232
230
228
228
228
228
227
226
224
221
218
219
220
220
221
220
219
218
218
217
216
214
214
215
214
211
206
203
200
198
195
194
196
200
201
199
193
187
185
182
176
171
168
163
156
149
145
137
129
124
118
112
112
116
118
117
115
113
110
100
90
84
76
74
72
69
67
63
58
56
54
52
51
50
52
50
50
50
52
47
46
46
42
40
40
38
37
39
39
37
35
35
35
37
40
40
43
44
46
49
52
55
62
70
78
84
89
92
93
94
92
90
87
86
84
83
87
93
100
107
111
117
123
124
123
122
121
118
114
109
106
102
98
93
84
78
75
73
73
76
87
100
107
114
117
117
119
126
138
146
159
171
185
186
187
186
184
184
187
186
182
176
169
168
174
180
184
190
195
204
207
205
202
204
202
200
198
195
189
184
180
176
173
171
172
175
177
177
179
180
180
177
174
170
169
169
168
169
172
176
179
181
179
178
175
171
166
161
156
152
147
145
144
145
144
145
145
145
143
140
139
138
135
134
134
137
140
142
141
138
135
134
132
130
128
124
124
123
120
117
115
113
112
111
111
110
108
105
103
98
96
94
92
93
93
94
92
88
86
86
82
80
77
77
73
72
68
66
63
60
53
54
33
203
211
183
184
184
184
188
191
194
200
204
206
209
212
216
219
224
227
229
232
233
235
234
232
231
229
227
226
226
225
226
225
225
223
222
217
213
212
214
217
218
217
217
216
215
214
213
213
212
211
211
208
203
200
196
193
191
190
192
195
196
193
187
182
177
171
166
162
158
153
147
140
137
129
121
116
109
102
102
105
106
107
106
104
101
92
82
75
68
66
66
62
61
57
55
51
51
48
47
47
49
47
47
47
49
45
44
44
40
39
39
37
38
39
38
37
38
40
40
42
44
46
49
47
48
51
53
55
61
67
73
79
85
87
88
88
87
85
83
83
82
82
87
93
100
106
109
113
118
118
118
119
118
116
112
108
104
100
96
89
81
77
75
75
77
82
93
106
114
119
121
122
124
128
136
144
157
169
183
186
187
187
188
189
191
193
188
179
173
169
174
180
185
191
197
205
207
205
203
205
203
202
199
196
191
185
181
178
174
171
174
177
179
182
180
179
178
176
172
168
168
169
170
171
175
180
182
183
182
180
177
173
167
162
158
153
149
147
147
146
148
150
151
150
148
146
145
143
140
139
139
140
143
145
143
140
138
137
135
133
131
127
126
124
122
119
117
115
114
114
113
112
110
108
106
102
99
97
95
96
98
96
95
93
92
89
86
83
84
82
80
78
75
71
67
63
58
57
38
204
212
178
183
177
177
179
181
184
190
191
195
199
202
207
213
219
224
226
229
232
230
231
230
227
225
221
219
219
219
219
220
221
219
217
210
205
203
207
211
213
212
211
212
211
209
208
209
210
209
209
205
201
197
192
189
186
184
185
188
189
185
177
171
165
160
155
150
146
143
137
131
127
121
113
107
99
92
91
93
95
95
95
95
93
84
72
67
60
61
61
59
55
55
52
50
46
44
44
45
47
45
45
45
45
43
42
40
38
39
39
36
36
39
38
39
41
43
44
47
49
53
54
50
51
55
55
57
61
65
70
76
80
81
82
82
81
80
79
80
80
81
87
93
99
103
106
109
110
110
112
115
114
113
112
107
102
97
92
85
81
77
75
77
83
91
101
113
121
126
128
128
128
131
135
141
151
165
180
187
189
189
192
195
195
199
194
182
176
171
176
179
187
192
198
204
206
203
204
205
202
203
203
200
193
186
183
180
176
171
175
179
181
185
182
179
177
174
170
166
165
168
172
174
178
183
185
185
185
183
178
174
169
163
159
155
150
150
151
151
153
156
157
156
154
153
152
149
145
144
143
143
146
148
146
144
141
140
139
138
135
132
129
126
123
122
120
118
116
115
116
115
113
111
109
105
102
100
100
100
100
98
97
96
96
93
90
89
88
87
84
83
79
75
71
67
64
59
42
203
210
175
178
172
173
173
175
173
182
182
186
191
195
202
210
217
222
224
227
230
227
228
226
223
222
218
215
214
214
215
216
217
215
212
204
199
200
203
205
208
208
207
207
206
205
204
204
207
210
207
202
198
194
188
184
181
179
180
183
184
180
171
164
158
152
147
143
139
136
130
124
121
114
106
98
90
83
81
83
85
86
86
87
85
76
65
61
55
57
56
54
52
51
48
48
46
43
42
44
46
46
44
44
45
41
40
38
36
36
36
35
37
38
39
40
42
44
47
50
52
55
56
54
54
56
56
57
59
64
68
73
76
76
77
77
77
76
77
79
81
84
88
94
98
102
103
105
106
106
108
112
113
113
111
106
99
95
88
83
80
76
77
82
89
98
109
119
127
132
132
131
131
133
137
141
150
164
178
186
188
190
194
196
198
204
198
187
178
173
176
183
188
193
199
203
204
202
200
204
204
203
205
202
195
188
184
181
177
172
177
181
183
185
181
178
176
173
169
166
166
170
174
177
179
184
186
186
185
184
179
175
170
164
161
157
153
152
153
154
157
159
160
160
158
157
156
153
149
148
147
146
148
149
148
145
143
142
140
139
137
135
132
129
126
124
122
119
118
119
117
117
115
113
111
106
104
102
102
102
102
99
98
98
98
97
94
91
92
90
88
86
83
79
75
71
68
64
45
204
206
171
171
167
166
164
166
162
168
169
174
183
188
195
203
211
219
221
225
226
224
223
220
217
215
211
208
208
207
209
211
213
210
205
197
192
193
196
198
201
201
200
200
201
201
201
199
200
203
201
197
191
188
182
177
174
173
173
176
177
172
163
156
150
144
138
134
131
128
123
117
113
106
98
90
82
75
73
75
77
78
78
78
77
70
59
55
51
50
51
48
47
46
47
45
45
44
42
44
44
44
44
44
44
41
39
37
35
35
35
35
35
38
39
40
42
45
49
50
52
55
56
54
54
56
56
56
58
63
67
71
74
73
72
74
76
75
76
80
85
88
92
96
98
100
99
98
99
101
105
108
110
110
110
105
99
93
85
82
80
77
80
89
97
108
118
128
134
138
138
137
137
138
139
140
149
163
177
185
186
189
194
196
200
206
203
190
182
177
182
186
190
194
194
198
198
196
197
202
203
205
206
204
196
189
184
181
178
173
179
183
185
185
181
179
176
172
168
165
166
172
176
180
182
185
187
187
187
185
180
175
171
165
162
158
153
153
154
156
159
162
163
163
162
161
159
157
153
152
151
149
150
150
149
146
144
143
142
141
140
137
133
129
127
125
123
120
119
119
118
118
116
115
113
109
106
104
102
104
103
100
99
99
99
98
97
96
94
93
91
89
87
83
80
75
71
66
49
205
202
167
168
161
161
157
155
150
150
153
160
169
176
183
193
201
209
211
216
217
215
214
211
207
203
199
196
196
197
199
202
204
202
197
188
182
180
184
188
191
190
190
190
192
193
192
192
194
196
195
190
185
180
175
170
167
164
164
166
166
162
153
145
140
134
127
122
120
118
114
109
105
98
89
83
75
68
66
68
69
70
71
73
72
64
55
49
45
45
46
44
45
43
44
46
43
43
46
47
48
48
48
45
47
43
40
38
36
37
37
37
35
38
37
39
41
43
44
45
50
53
53
52
52
53
54
55
59
63
67
70
73
72
71
74
79
78
80
85
92
97
98
100
99
98
96
93
93
97
102
105
106
108
108
104
98
92
84
81
81
80
86
96
106
117
128
137
142
144
145
145
145
142
140
140
148
162
176
184
185
188
192
195
200
207
203
192
186
182
186
189
192
194
190
189
188
190
194
200
200
205
207
205
197
190
185
182
179
174
180
183
186
189
183
181
177
173
169
166
167
173
180
183
184
186
188
187
187
185
180
175
171
166
162
158
155
154
155
157
160
163
165
166
165
164
162
160
156
155
153
150
150
149
149
148
146
144
143
142
141
139
135
131
127
125
123
121
120
119
119
118
118
117
115
112
108
106
104
104
103
100
98
98
99
99
97
98
97
95
92
92
90
87
84
79
75
70
53
205
198
164
163
157
154
150
145
139
138
140
148
159
167
174
184
195
202
203
209
210
209
207
202
197
195
190
188
187
189
192
194
195
193
190
182
174
171
174
179
182
182
182
183
184
184
186
187
188
190
190
186
180
175
169
163
161
158
156
159
159
153
144
138
132
125
119
114
111
110
108
104
98
90
82
76
68
61
59
61
61
63
64
66
64
57
48
43
40
40
41
42
40
40
43
44
45
44
48
47
50
50
50
48
48
44
43
40
37
38
37
35
37
38
39
37
40
39
39
41
48
50
52
51
51
50
52
54
57
61
64
68
71
71
72
75
79
80
83
90
99
104
105
104
100
96
93
88
88
92
97
101
103
106
108
105
98
91
83
81
82
84
91
102
113
125
138
145
150
152
151
151
150
146
142
142
149
161
174
182
185
187
190
194
199
207
204
195
191
187
190
193
195
193
188
183
179
185
192
196
198
202
205
205
198
190
186
183
179
174
180
185
187
190
185
182
178
173
169
166
167
175
183
186
186
186
186
185
185
183
179
175
169
165
162
158
155
155
156
158
162
166
168
169
168
166
164
162
159
157
154
151
151
150
147
145
144
143
141
140
139
138
135
132
129
125
124
122
121
121
120
119
119
118
117
115
112
110
105
102
101
99
99
98
98
99
100
100
100
98
96
95
93
90
87
83
79
74
57
207
198
162
161
154
151
145
138
129
127
129
136
146
154
161
172
182
191
193
197
199
196
192
187
182
180
176
174
175
176
179
181
183
183
179
172
165
162
162
166
169
169
170
171
171
171
172
174
177
180
182
179
174
170
162
155
151
148
146
147
148
142
130
123
118
112
107
103
101
99
97
93
89
81
74
69
62
55
53
55
56
57
58
60
58
53
45
43
37
37
38
38
37
36
38
40
42
44
48
49
50
50
50
47
48
44
43
41
39
38
39
36
35
39
39
40
39
39
39
41
48
50
51
51
51
51
52
54
57
60
63
65
69
71
73
76
79
83
87
94
103
108
108
105
99
93
90
87
86
88
91
97
100
103
106
104
99
94
86
85
87
88
94
103
113
126
141
150
156
159
158
156
156
153
150
150
155
163
172
177
179
180
182
188
193
201
202
199
198
194
196
198
197
192
185
178
174
180
189
192
192
195
199
198
193
188
188
184
183
180
184
187
189
192
186
183
178
174
170
168
170
178
187
190
188
188
187
186
186
185
181
177
172
166
161
157
155
156
158
162
166
170
172
172
171
168
165
163
159
157
154
150
150
149
146
144
144
143
141
139
137
135
133
131
128
127
125
123
122
122
120
120
119
118
117
116
115
115
108
105
103
103
102
100
101
101
101
102
102
102
99
98
96
93
91
87
81
80
62
209
199
163
163
154
152
144
133
123
119
122
125
132
138
146
157
169
180
181
184
184
180
174
170
164
162
159
157
160
163
166
169
171
171
167
160
153
151
152
153
154
155
156
156
157
155
155
157
163
170
171
170
169
167
159
148
141
137
135
136
137
129
117
108
102
98
94
92
90
86
84
80
76
70
66
62
56
50
49
50
51
52
54
54
53
48
43
42
40
39
40
38
38
35
36
39
41
43
46
47
48
48
47
46
45
44
45
42
40
40
39
37
36
39
38
40
42
41
43
45
49
51
52
53
52
52
53
55
58
61
63
67
70
71
73
77
81
86
89
95
103
107
106
102
95
90
90
89
87
89
91
94
97
100
103
102
100
98
92
89
89
90
93
100
110
123
136
148
157
161
160
159
159
161
159
161
165
167
171
172
170
168
170
176
182
194
198
201
204
201
204
200
198
191
183
175
173
177
185
189
188
191
193
193
189
187
186
187
188
184
187
190
191
193
186
185
180
176
173
171
173
184
192
194
191
190
188
188
187
186
183
178
172
166
162
158
156
157
160
166
170
174
175
174
172
168
165
162
158
156
153
149
149
148
146
143
142
142
140
138
136
134
132
129
127
126
125
123
122
122
119
119
118
117
116
115
113
114
110
107
104
104
105
104
103
105
104
104
104
103
101
97
96
91
92
89
83
82
65
210
201
166
164
155
150
143
132
122
113
113
113
119
124
130
143
154
165
168
172
170
165
157
147
144
142
139
141
147
152
155
157
158
159
156
149
144
141
139
138
138
139
141
143
142
139
138
140
147
156
161
162
163
164
155
142
130
123
123
126
126
117
103
93
87
83
81
79
77
74
69
66
62
58
54
52
48
45
45
45
46
47
47
47
47
44
42
42
41
42
42
41
36
34
35
38
40
44
48
47
50
50
46
45
44
46
45
46
45
44
41
40
38
39
39
41
43
46
48
49
52
53
54
53
54
55
56
57
60
62
64
66
69
72
74
78
83
86
91
97
103
106
105
100
92
87
87
89
91
91
93
92
92
95
98
99
100
100
99
96
94
92
92
97
104
115
131
147
158
165
163
161
162
166
171
174
175
172
169
166
161
157
156
163
171
184
194
203
210
210
210
203
198
190
182
174
171
173
182
185
183
183
183
184
184
187
188
189
190
190
191
192
192
191
187
184
180
177
176
176
179
188
195
196
193
190
187
187
190
189
186
181
173
166
163
158
155
157
162
168
173
176
177
176
172
168
163
159
156
154
150
147
145
144
144
143
142
141
139
137
134
133
131
129
127
126
125
124
122
121
118
116
115
114
114
115
115
114
113
111
110
110
108
106
105
107
106
104
105
104
102
100
97
91
90
88
85
83
70
208
202
164
163
154
150
141
131
119
109
105
105
107
111
118
131
141
148
155
159
156
150
142
129
127
125
123
127
134
139
142
144
145
146
144
138
133
130
126
123
122
124
127
128
127
126
122
123
133
142
149
152
154
156
147
132
120
112
110
113
113
104
91
80
74
71
70
69
66
63
59
56
54
50
47
45
43
41
42
42
43
44
44
43
42
41
40
41
39
41
43
41
38
34
35
39
42
48
49
49
52
51
47
46
45
47
48
49
47
45
43
42
41
41
41
43
46
52
53
53
54
55
55
55
55
57
58
58
60
62
64
66
69
73
76
79
84
87
92
97
101
104
103
98
91
87
87
91
94
94
94
93
93
95
97
100
102
103
104
102
99
93
91
95
100
109
126
146
160
168
167
166
168
173
180
184
182
176
169
162
157
151
149
157
165
179
192
202
213
216
212
207
199
192
182
175
170
175
181
182
180
178
177
178
181
186
189
190
191
192
193
193
192
191
189
185
182
179
178
179
182
188
195
196
195
192
187
188
192
190
187
183
174
167
164
159
156
159
163
170
176
177
178
176
171
167
161
156
154
152
150
146
143
140
142
142
142
141
140
137
134
133
131
130
128
127
126
125
124
123
120
118
118
116
116
116
117
118
116
115
115
115
112
108
108
108
108
107
105
106
104
102
97
94
92
90
90
87
75
210
201
163
162
153
147
140
130
119
108
104
102
102
105
110
121
129
135
139
144
140
136
128
117
116
113
110
114
122
127
129
132
133
133
131
126
122
119
115
111
111
113
115
116
115
113
109
110
119
128
134
138
140
143
134
120
109
101
100
103
105
97
84
75
69
67
65
64
61
58
54
52
50
47
44
43
42
41
41
41
42
43
44
43
42
40
41
39
39
41
43
42
40
37
38
42
46
52
54
51
54
51
48
47
46
47
50
51
50
48
46
45
44
43
44
45
48
53
55
55
55
55
55
54
55
56
57
58
59
61
63
66
70
74
78
81
86
89
94
98
101
103
101
96
90
87
89
93
97
97
97
97
97
99
101
103
105
106
107
103
99
94
92
95
98
107
123
144
158
167
170
173
176
179
184
187
185
177
170
163
158
153
150
159
167
180
191
201
211
214
210
205
200
194
187
179
175
177
181
180
179
177
176
177
180
185
188
189
190
191
193
194
194
192
190
188
185
182
180
179
182
188
193
195
195
194
191
191
193
191
187
184
175
168
165
161
158
161
165
172
176
175
176
175
168
163
157
153
151
150
147
144
141
140
141
141
141
140
139
137
135
134
132
131
130
129
129
128
128
127
125
123
121
120
120
120
121
121
121
119
119
118
115
110
108
108
109
108
108
107
106
104
101
99
95
95
94
91
79
212
200
162
159
151
144
138
128
117
109
103
100
97
97
103
111
117
123
126
128
124
120
115
105
104
100
98
102
110
115
118
120
121
121
119
114
111
107
103
99
99
101
103
104
102
101
98
98
106
114
121
125
126
129
121
107
97
89
88
91
93
86
76
68
63
62
61
59
58
56
52
49
47
44
42
41
39
39
40
40
41
42
43
43
42
41
39
40
38
41
42
44
42
40
42
45
50
57
57
54
54
53
50
48
48
51
53
53
55
52
50
49
47
45
44
46
50
55
57
56
54
54
55
54
53
54
56
57
57
59
62
64
69
74
79
83
88
91
95
97
100
101
99
94
89
87
89
95
99
101
102
102
103
106
108
110
111
112
112
108
102
96
92
93
95
105
121
140
155
166
172
178
183
186
188
189
187
180
172
167
161
157
154
162
169
181
190
199
208
211
208
205
201
194
190
184
180
180
181
182
179
177
176
177
180
185
187
188
187
188
191
194
194
194
191
191
188
185
183
181
183
187
192
194
195
195
194
194
194
191
187
183
175
169
167
163
161
164
168
173
176
173
174
171
165
159
153
151
150
148
147
143
140
139
139
139
139
139
139
137
136
135
134
133
132
133
133
133
132
131
130
129
128
128
128
128
128
129
126
124
123
122
118
112
111
110
109
109
107
109
108
107
105
103
99
98
99
96
85
213
198
161
160
150
143
136
126
114
107
102
96
93
92
97
100
104
107
108
110
106
102
97
89
90
85
84
89
97
100
102
105
107
106
105
101
97
94
90
86
85
86
89
90
88
87
83
83
91
98
103
107
109
113
106
93
83
76
75
79
82
75
66
60
57
56
56
54
53
51
48
46
45
42
41
41
39
38
39
39
40
41
42
42
41
39
40
38
38
41
42
43
44
43
45
49
55
62
62
60
59
58
53
51
50
53
56
58
59
56
54
53
50
47
45
48
52
55
57
56
55
55
54
53
52
53
54
54
55
57
60
65
69
74
80
84
89
92
97
98
99
101
100
95
89
88
90
96
101
105
106
108
110
112
114
116
116
116
116
110
103
97
93
94
96
105
121
140
155
166
174
182
187
190
191
189
187
180
174
169
165
162
161
167
172
182
192
198
204
207
205
206
203
199
193
192
189
187
184
184
181
178
177
178
182
185
187
186
187
188
189
193
194
194
194
194
191
189
186
183
184
188
191
193
194
197
197
196
195
190
187
182
174
168
167
165
164
167
170
175
175
172
171
168
162
157
151
148
147
147
146
144
141
140
139
139
140
141
140
138
137
136
135
135
136
135
136
137
136
135
135
134
133
133
133
134
135
135
133
129
127
124
119
114
112
110
112
109
108
109
110
109
108
106
105
103
104
103
90
216
196
160
159
149
142
135
126
113
104
101
93
90
89
92
91
91
94
95
95
94
89
84
77
78
75
74
77
84
87
89
92
93
94
93
89
85
83
79
75
74
76
77
78
76
74
70
69
77
85
90
94
96
100
93
81
73
66
65
70
73
67
59
54
52
51
51
50
49
48
46
44
43
41
40
40
39
38
39
40
39
40
41
41
39
40
39
38
39
41
44
44
45
46
49
53
59
67
67
64
61
61
56
55
52
55
58
61
62
61
58
57
53
49
46
49
53
56
58
57
56
56
54
53
52
51
52
52
54
56
61
66
70
76
82
86
90
93
96
97
99
101
98
94
90
89
91
97
102
105
106
108
110
112
114
116
116
115
115
108
102
97
94
96
99
108
124
144
159
170
176
182
186
188
189
187
184
179
174
171
169
166
166
172
177
185
192
198
203
208
207
207
205
203
199
199
197
193
188
186
185
181
179
179
183
185
186
186
184
186
188
191
193
194
196
194
193
192
189
186
186
188
190
192
193
196
197
195
194
190
185
180
173
169
168
167
166
169
172
175
175
170
169
166
160
155
149
146
147
147
147
145
143
141
141
141
142
143
142
141
140
139
138
138
139
138
139
140
140
139
138
137
136
136
136
137
137
138
136
132
129
126
122
115
114
113
110
109
109
110
112
111
110
109
109
109
107
105
95
216
195
159
158
148
141
133
125
113
106
102
94
89
86
87
84
81
83
83
84
82
80
76
70
73
70
69
72
77
78
81
83
85
86
85
80
77
75
71
68
67
68
69
69
67
66
62
61
69
75
80
83
86
89
83
72
64
58
58
62
65
61
55
51
48
48
48
47
47
46
44
43
42
40
39
38
39
39
38
38
38
39
39
39
40
39
38
37
38
40
42
45
47
50
53
60
62
70
71
66
65
61
57
54
53
57
61
64
65
63
61
60
56
52
48
50
54
57
59
59
59
57
55
53
52
52
53
53
54
58
62
67
71
78
84
88
90
94
97
97
98
99
97
94
92
92
94
97
101
104
105
105
106
108
109
110
111
112
111
107
103
98
97
101
106
117
134
154
168
176
179
181
183
182
182
182
181
177
175
173
173
174
175
181
185
191
196
199
204
208
208
207
207
206
206
207
205
199
191
191
187
184
182
182
183
186
185
183
182
182
186
188
191
194
197
197
197
195
192
189
187
188
189
190
191
195
196
194
193
187
182
178
172
169
168
168
168
170
173
176
176
170
167
163
157
154
149
146
148
150
151
149
146
144
145
146
145
145
146
145
143
142
143
142
141
142
143
144
143
142
140
139
138
136
135
135
135
137
135
133
131
128
124
117
116
115
113
113
113
112
114
114
112
111
110
111
107
107
95
214
195
160
157
145
140
133
124
114
106
101
92
87
83
79
77
72
71
69
70
69
67
65
60
64
61
59
61
66
67
69
72
74
75
74
69
66
64
61
57
56
57
58
57
56
54
49
48
56
62
67
69
72
76
70
59
52
48
48
54
57
53
48
44
42
42
43
43
42
42
41
41
40
38
37
38
38
37
38
39
39
38
39
40
39
38
36
36
37
39
41
45
50
52
57
64
69
76
78
71
69
66
59
56
55
59
63
67
69
68
66
65
60
55
51
53
56
59
60
60
60
59
57
54
52
52
53
53
54
59
64
68
73
79
85
90
93
96
98
98
97
98
96
94
94
94
96
98
100
101
101
101
101
101
101
103
105
107
107
106
103
100
100
108
114
126
144
163
176
182
181
178
176
174
175
177
177
174
175
177
180
181
184
189
192
196
201
201
206
208
207
209
213
214
215
216
215
208
197
194
192
187
185
185
185
187
187
180
180
180
184
186
190
193
197
199
198
198
195
191
188
187
187
188
189
193
193
192
190
185
180
177
172
169
169
169
170
172
174
178
178
170
166
161
156
153
149
148
151
156
156
153
150
149
149
150
150
150
150
149
147
146
147
146
146
145
146
146
145
144
141
140
139
137
136
136
136
135
134
132
132
130
126
119
116
114
114
113
114
114
115
116
114
111
114
113
109
109
98
217
195
158
155
147
139
132
123
111
107
101
93
87
81
76
71
64
63
62
60
58
58
59
57
57
57
54
54
56
58
60
62
66
65
62
61
60
58
54
51
49
49
51
50
48
45
42
42
47
52
56
60
62
65
60
51
45
41
42
48
52
48
43
42
40
39
40
40
40
39
39
39
39
38
37
37
37
38
37
37
37
37
38
39
37
37
38
38
38
39
41
44
49
54
59
66
70
80
80
76
73
69
63
60
57
60
65
69
71
69
67
66
61
56
53
54
56
60
62
60
58
57
57
55
53
53
54
55
56
61
66
70
75
81
87
92
93
94
97
97
97
97
96
95
95
96
99
101
102
102
99
98
99
98
99
100
102
104
107
106
104
103
106
113
119
132
150
169
180
186
183
178
173
171
171
173
174
175
178
181
185
188
192
195
196
198
200
201
204
204
207
211
214
216
218
222
220
211
202
200
195
192
191
188
188
189
186
185
180
178
181
185
188
192
196
199
202
201
197
193
191
189
188
187
189
191
192
191
188
184
181
178
174
171
171
172
173
172
173
177
175
168
164
160
154
152
148
148
154
157
158
157
155
153
152
153
154
154
153
152
151
150
149
148
149
149
149
148
147
145
144
142
138
136
135
135
135
135
133
133
133
130
126
122
121
120
117
116
117
118
118
117
117
113
117
116
113
112
100
217
196
158
157
147
140
133
124
111
106
100
92
87
80
75
68
60
59
58
55
55
56
58
57
55
55
53
52
52
51
53
55
57
58
57
57
56
55
51
49
47
47
48
47
45
41
39
39
43
49
52
54
57
59
56
48
42
39
39
45
48
46
42
41
40
40
41
42
41
41
41
41
40
39
39
38
37
38
38
38
38
38
37
37
37
38
38
37
38
39
40
42
48
53
59
65
72
83
82
78
77
71
68
63
60
64
68
72
73
72
69
67
62
57
54
55
57
61
63
61
58
57
57
55
56
56
56
57
61
65
69
73
78
84
90
93
93
94
96
98
98
97
98
97
98
99
100
102
102
101
99
96
95
96
97
100
103
106
109
111
110
109
112
119
125
136
152
170
180
185
183
179
173
171
171
173
175
178
182
186
190
194
198
200
200
198
199
201
199
200
205
208
212
213
216
221
222
214
206
204
199
196
194
192
193
192
187
187
180
176
179
184
185
190
195
200
204
203
199
196
194
191
189
189
190
192
194
193
190
187
185
181
177
175
175
176
175
174
173
174
170
164
160
158
153
150
148
148
153
155
157
158
157
157
156
156
157
157
156
156
155
154
152
151
152
152
151
150
148
146
144
141
137
135
134
133
132
134
132
131
132
130
128
125
125
125
123
123
124
125
125
124
121
119
118
117
115
113
100
217
197
159
158
148
141
134
124
111
105
98
91
85
79
73
67
58
55
53
52
52
53
56
58
55
55
52
51
49
48
48
50
51
52
52
52
52
50
48
45
43
44
45
44
43
40
36
36
40
44
47
49
51
53
51
45
39
38
39
44
48
45
42
40
39
40
41
42
41
40
41
41
40
40
39
39
38
37
38
38
38
38
38
38
38
38
37
37
38
39
40
42
47
53
60
66
74
87
85
82
80
74
70
66
63
67
71
74
74
73
71
68
63
58
55
56
58
62
64
62
59
58
57
56
56
56
58
60
65
69
73
77
81
86
90
93
93
94
96
98
98
99
98
99
101
102
101
103
103
100
97
94
93
93
96
100
105
109
113
115
114
115
118
124
129
138
151
167
178
183
181
179
174
172
171
174
177
180
185
191
195
199
203
202
201
199
199
199
196
197
201
204
208
211
214
220
220
215
209
208
205
202
198
196
197
195
190
187
180
176
178
182
182
188
194
202
205
204
201
198
196
192
190
188
191
195
196
195
193
190
187
185
180
178
178
178
177
175
173
172
167
161
157
155
150
148
147
149
153
155
157
159
159
159
159
159
160
160
159
159
158
157
156
155
155
154
153
151
149
147
143
138
135
133
132
131
129
130
129
130
131
131
129
128
127
127
128
126
127
129
129
127
124
120
118
118
114
112
100
217
198
160
159
148
141
135
125
110
104
98
90
84
79
73
63
57
53
50
50
48
51
54
55
55
55
52
50
48
46
46
47
48
48
49
49
48
47
45
43
42
42
42
42
41
38
34
34
37
41
44
46
47
49
46
41
37
35
37
42
46
44
42
40
40
40
40
40
40
40
40
39
39
40
39
39
38
37
38
38
36
37
37
37
37
37
38
38
39
40
41
43
48
54
61
67
75
88
86
82
82
76
73
69
66
68
72
73
75
72
69
67
64
59
56
56
59
63
65
63
59
57
57
56
58
59
61
63
69
73
77
81
84
87
90
92
93
93
95
97
98
100
101
101
103
104
103
103
104
101
98
95
94
95
97
101
106
111
116
118
119
120
124
129
133
139
152
165
175
181
182
182
178
176
173
176
179
183
190
194
198
202
205
203
201
198
197
196
194
195
199
203
207
210
213
218
220
213
210
211
208
206
203
199
199
196
194
189
180
177
177
181
183
188
196
203
207
206
203
201
198
194
191
189
191
193
195
196
193
190
189
186
184
181
181
180
178
174
172
169
164
159
155
152
150
149
150
151
155
157
159
160
160
160
160
161
163
162
161
161
160
159
158
157
157
156
155
153
151
148
143
138
134
132
130
128
127
127
128
130
131
132
131
130
132
133
133
132
131
133
133
130
127
124
119
119
116
114
99
217
199
161
160
149
142
136
125
110
103
97
89
83
78
72
61
52
51
49
47
47
50
53
54
54
54
51
48
46
43
43
44
46
47
47
47
46
45
43
43
42
42
42
41
40
37
35
35
37
40
43
44
46
47
45
40
37
34
36
41
43
43
42
41
41
42
42
42
42
42
41
41
40
40
39
39
38
37
38
38
38
37
38
39
39
38
39
39
41
43
42
44
49
54
61
68
76
88
88
87
86
80
78
73
70
73
75
76
75
73
70
68
65
61
58
58
61
65
66
64
59
57
56
58
59
60
64
68
74
78
82
86
89
91
92
92
91
92
94
96
99
101
102
104
106
107
106
106
105
102
99
96
95
96
98
102
107
112
117
122
123
124
127
133
137
144
155
167
176
182
185
186
184
182
179
181
183
185
192
195
197
201
204
201
199
195
193
194
192
194
198
204
207
209
212
216
215
213
210
212
210
208
205
201
200
200
195
191
184
178
178
182
184
189
195
203
208
208
205
203
200
196
192
190
189
190
191
191
189
189
188
185
183
182
181
180
176
173
170
167
162
158
156
155
154
155
155
156
160
162
163
162
159
158
158
160
161
161
161
161
160
159
159
158
158
157
156
154
151
149
144
139
135
133
131
129
127
127
129
131
132
132
133
133
134
135
136
136
136
135
135
132
129
126
120
120
115
115
101
217
200
164
160
151
143
137
126
109
101
95
88
82
77
71
60
50
49
46
45
46
49
54
56
53
53
51
46
44
41
40
42
44
44
45
45
44
43
42
41
41
41
41
40
39
37
35
35
37
39
41
43
44
45
43
39
36
35
35
39
42
42
41
41
42
43
43
43
43
42
42
42
40
40
39
38
38
38
37
36
37
37
38
39
39
39
40
41
42
43
44
45
50
54
60
67
76
90
89
89
88
83
81
78
74
74
77
78
78
76
72
69
66
62
60
62
63
66
67
65
59
57
56
58
60
63
68
73
79
83
87
90
93
94
93
92
91
92
93
97
100
102
104
107
110
110
109
108
106
103
100
97
96
97
99
104
109
115
121
124
127
129
132
137
141
147
158
169
177
185
189
193
192
190
185
185
187
188
192
194
196
198
200
197
195
192
191
191
192
195
198
205
207
210
210
211
212
211
211
211
208
208
206
203
204
203
199
194
187
181
180
184
184
190
196
204
209
209
207
205
202
196
193
191
188
185
185
183
184
185
185
183
183
182
181
179
175
172
170
166
161
161
160
158
160
163
165
167
168
169
169
165
160
156
157
158
160
160
159
160
160
159
159
159
158
158
157
155
152
150
146
142
137
135
132
130
128
128
131
132
134
135
134
134
133
134
136
136
138
137
136
133
130
127
123
121
116
116
102
218
201
164
163
153
145
138
127
109
99
92
87
81
76
69
59
50
47
44
43
44
47
52
54
53
55
51
46
43
40
38
40
42
41
42
42
42
41
40
40
41
40
40
40
39
37
35
35
37
39
42
42
43
43
41
38
36
35
35
38
40
41
42
42
42
43
42
41
42
42
42
41
40
39
39
38
37
36
36
36
37
38
39
40
42
41
42
43
44
45
47
48
51
55
61
67
74
88
88
88
90
85
82
79
76
76
77
79
77
75
72
70
68
65
63
65
66
68
68
66
60
57
58
59
61
66
72
77
84
87
91
93
95
94
92
91
91
92
93
97
101
104
106
109
112
112
111
110
108
105
102
99
97
99
102
107
112
118
124
127
130
131
135
140
145
151
160
171
179
186
193
199
201
196
190
190
191
190
192
193
194
195
197
195
192
189
189
192
194
198
203
206
209
208
208
208
207
207
210
210
207
206
206
204
206
206
204
198
191
185
184
188
188
192
197
206
210
212
208
207
204
199
195
191
187
182
180
179
181
183
183
183
183
182
181
177
173
170
167
163
160
161
163
163
166
170
172
175
175
175
174
168
161
156
156
158
159
160
161
161
161
160
160
161
160
159
158
156
154
152
148
144
140
137
134
133
131
130
133
134
137
136
135
133
135
134
138
138
139
139
140
135
131
128
122
121
117
116
104
218
202
166
165
155
147
141
128
110
99
94
87
82
74
69
60
51
46
45
43
44
46
52
51
50
52
49
46
41
38
36
38
41
40
41
42
41
40
41
40
40
41
41
40
40
38
36
36
38
39
42
43
43
42
40
37
36
35
35
37
39
40
41
42
41
41
41
40
40
40
41
40
40
39
39
38
37
36
37
36
37
38
40
41
42
43
44
45
46
48
50
51
54
57
62
68
76
89
91
91
92
88
87
84
79
80
79
81
79
79
74
72
70
67
65
67
68
69
68
66
59
57
58
60
63
68
74
81
89
92
95
98
98
96
93
92
91
92
94
97
102
106
108
110
111
112
113
112
110
108
105
102
101
103
106
110
115
120
125
131
134
135
139
145
149
155
163
172
181
189
195
201
204
200
194
193
193
192
192
192
192
193
194
192
191
189
189
194
197
201
206
208
209
210
208
207
204
204
208
209
207
206
204
204
207
208
205
203
193
189
188
191
191
195
200
206
211
213
210
208
206
200
196
192
187
181
179
177
179
181
183
185
184
183
180
176
171
167
165
161
158
162
165
166
170
174
177
178
178
178
175
169
160
156
155
157
159
160
161
162
163
162
162
161
160
159
158
156
152
150
147
145
141
137
136
134
133
132
134
135
136
137
135
134
135
136
136
136
137
137
137
133
130
128
124
121
119
119
104
218
203
169
166
155
150
139
127
109
101
95
88
83
78
72
61
53
48
45
43
43
45
47
48
46
46
46
42
38
36
37
38
40
39
40
41
40
40
41
42
41
40
40
40
40
39
37
38
39
40
41
41
41
41
39
38
36
35
36
37
38
40
41
42
42
42
41
41
41
40
40
39
39
38
38
37
35
36
37
37
36
38
40
41
43
44
46
47
49
52
56
56
59
59
63
69
78
90
93
91
94
92
87
86
81
81
83
84
81
81
77
75
72
70
70
70
70
70
69
67
60
58
58
61
65
70
78
85
92
94
97
99
100
97
94
92
92
91
92
97
103
107
109
108
109
110
109
111
112
110
107
108
109
109
112
116
121
125
130
135
138
140
145
149
152
158
166
175
183
188
194
203
206
203
199
195
194
193
192
194
194
194
194
194
194
193
195
199
203
207
210
213
212
210
207
202
200
200
204
204
205
203
202
204
205
209
209
205
200
195
193
195
193
197
201
208
213
213
211
209
207
201
197
193
188
182
178
178
180
183
184
182
184
184
179
175
172
168
164
158
158
162
164
168
173
176
180
181
179
178
175
169
161
158
158
160
163
164
163
165
165
163
162
162
161
160
157
155
153
152
147
143
139
137
136
135
134
134
135
136
138
137
135
133
132
133
133
133
133
132
133
131
129
127
123
119
117
118
103
218
202
171
165
156
151
139
128
110
102
97
89
83
78
71
62
54
47
45
42
42
44
45
45
44
43
42
41
38
36
37
38
38
39
40
39
38
39
40
41
42
41
40
40
39
39
40
39
41
42
42
42
42
41
39
38
37
36
36
37
38
39
40
41
41
41
40
39
40
40
39
39
38
38
37
36
35
36
37
37
36
38
40
42
44
46
47
49
52
55
59
61
60
61
65
71
77
91
94
91
95
94
89
88
83
84
84
86
83
81
79
77
75
73
72
71
70
70
70
68
63
59
59
63
67
72
81
88
96
98
100
101
102
98
93
92
92
91
94
98
104
108
109
108
107
107
108
112
115
114
113
114
114
115
117
122
126
130
135
139
142
144
147
151
154
160
167
178
185
191
197
204
208
205
201
196
195
193
192
192
192
192
192
193
195
196
199
204
209
214
215
215
214
211
205
200
195
196
201
201
201
202
200
201
206
210
211
207
204
200
198
198
197
198
204
212
215
215
212
211
208
202
197
194
189
183
179
179
183
186
186
183
185
185
180
176
171
167
163
157
157
161
163
168
174
177
180
181
178
177
174
168
161
159
160
162
165
166
165
167
167
165
165
164
163
162
159
156
154
151
146
142
139
137
137
137
137
136
136
136
136
136
134
132
131
129
130
128
128
129
130
129
127
126
122
120
118
116
103
219
204
171
167
156
152
139
129
112
102
98
89
84
79
73
63
54
49
46
41
40
41
43
43
42
42
40
39
38
36
38
38
38
38
39
39
38
39
40
41
41
42
41
40
41
41
41
40
41
43
42
41
42
41
40
39
38
37
38
38
37
38
39
40
39
40
39
38
39
39
38
37
38
37
37
36
35
36
37
37
36
39
41
42
45
47
48
50
54
59
63
64
66
64
67
72
78
92
94
91
95
94
91
90
84
84
88
89
87
85
83
81
79
76
75
74
72
73
71
69
64
61
62
65
70
75
81
89
98
101
102
103
103
99
94
93
93
92
95
99
104
108
110
108
105
107
108
112
116
116
116
118
119
121
124
129
132
135
138
142
144
146
149
153
157
163
171
180
187
193
198
204
208
206
202
197
195
193
193
193
193
193
193
195
197
199
204
210
215
219
218
217
217
210
202
194
191
193
198
199
199
199
198
200
206
211
213
210
208
205
203
204
201
204
207
213
217
216
212
211
208
204
199
194
190
184
181
181
183
186
187
186
187
185
180
176
170
165
161
157
157
163
165
170
176
179
181
182
178
175
171
167
163
161
162
165
167
167
168
168
168
166
166
165
162
160
157
155
153
149
145
141
139
137
137
137
137
137
137
138
138
136
133
130
129
128
126
125
125
126
126
127
124
124
121
118
116
118
104
219
203
170
165
156
151
138
129
114
105
100
92
86
80
74
64
55
50
47
42
41
41
41
41
40
40
40
38
39
37
38
39
40
40
39
39
39
40
41
42
43
42
41
40
41
42
41
41
42
44
43
42
41
40
40
39
39
38
39
38
37
37
38
38
39
39
38
37
37
37
38
37
37
37
36
37
37
37
37
36
37
39
41
43
46
48
50
52
56
62
69
70
71
69
71
75
82
91
94
91
93
92
87
88
84
87
90
91
92
89
87
86
83
80
78
77
75
73
72
70
65
63
65
68
72
77
83
91
98
99
101
102
103
100
96
95
94
95
97
101
105
108
110
111
112
115
115
119
122
122
122
122
123
124
126
130
132
134
138
142
144
146
149
154
158
164
172
179
186
192
197
202
207
205
202
201
200
199
197
197
198
198
198
200
202
204
208
214
219
219
218
217
214
207
198
190
188
192
200
199
199
198
198
200
206
212
215
212
211
211
208
207
205
206
209
215
217
215
212
210
208
204
201
197
191
185
180
180
181
182
183
183
183
181
179
175
168
164
162
158
158
166
170
175
181
184
187
186
180
176
172
169
168
169
170
172
173
173
173
174
172
168
168
164
161
160
157
153
148
143
140
139
137
136
136
136
135
135
138
138
139
137
134
130
126
126
126
124
124
124
125
126
123
123
119
119
116
116
105
220
201
169
164
155
150
136
129
115
107
102
94
87
81
74
65
56
51
49
44
42
41
41
39
40
40
39
39
39
40
41
41
41
41
41
41
40
41
42
43
44
43
42
40
41
42
43
44
44
45
44
43
41
40
41
41
41
40
39
39
38
37
38
39
38
38
37
37
37
38
38
37
37
38
38
37
36
36
36
37
37
40
42
43
46
48
51
54
58
64
71
73
75
75
75
79
84
91
93
91
89
89
85
84
85
88
91
93
95
93
93
91
88
83
81
79
77
74
72
70
67
65
67
71
74
79
85
89
95
97
100
101
102
101
98
99
98
97
98
102
105
108
111
117
122
125
126
128
130
129
128
128
127
126
127
129
131
132
135
138
141
144
148
152
157
164
172
179
185
190
194
199
202
203
203
204
204
205
204
204
204
205
205
207
208
209
212
216
220
219
215
214
210
203
195
187
186
190
203
202
200
199
198
200
207
213
216
215
215
213
213
210
207
208
211
216
217
215
211
210
208
205
202
200
193
184
178
176
177
178
178
177
177
177
176
172
168
166
163
160
162
170
175
181
188
190
192
190
182
178
174
172
174
175
177
178
179
179
178
177
174
171
168
163
159
156
154
149
144
139
136
134
134
133
133
134
135
135
139
141
141
139
135
131
127
127
125
126
124
125
125
126
123
123
119
118
117
119
105
220
203
169
165
155
148
137
129
116
110
104
95
88
81
74
67
57
50
48
45
42
41
40
39
39
41
41
41
41
42
43
42
42
42
42
42
42
42
42
43
44
43
41
40
40
41
43
44
44
44
43
42
41
41
41
40
41
41
40
39
38
38
39
38
39
39
38
37
37
37
37
37
38
39
39
38
37
38
38
38
36
39
42
43
46
48
51
55
58
65
74
78
78
77
79
82
86
91
92
88
88
85
83
82
82
88
92
95
98
98
95
98
91
86
83
81
78
74
72
71
68
69
70
73
76
81
84
88
94
96
98
100
101
101
100
101
101
100
101
103
105
107
111
117
124
129
130
131
133
132
131
130
129
129
128
129
130
132
135
138
141
144
148
153
159
164
171
178
183
188
192
195
198
200
202
203
205
206
208
208
208
209
209
210
210
212
214
219
220
219
216
212
208
200
194
187
185
191
203
203
202
200
198
200
207
213
216
215
218
217
214
212
209
210
212
215
217
214
211
210
208
206
204
201
193
184
178
175
175
175
175
175
174
174
173
170
166
165
165
162
165
173
179
185
190
192
194
190
182
177
173
173
177
180
181
183
184
183
180
179
177
171
169
164
157
154
152
146
142
138
133
132
132
131
132
134
136
136
140
141
142
142
138
134
132
131
127
126
126
126
126
126
124
124
120
119
119
121
107
221
202
168
164
154
148
136
128
117
111
104
94
86
80
72
64
58
52
48
46
42
41
40
39
38
40
40
41
42
44
44
42
41
40
41
41
40
41
42
43
43
42
40
39
39
40
42
43
43
43
42
41
40
39
39
40
41
41
39
38
37
37
38
38
39
39
38
37
37
38
39
38
39
40
40
40
39
39
38
38
36
39
41
43
45
47
50
54
58
67
77
79
81
81
81
84
87
91
91
88
84
82
82
81
79
87
92
96
102
100
98
101
95
89
85
83
78
74
72
71
70
70
72
75
78
81
84
87
93
95
96
98
100
102
103
104
103
102
103
105
105
107
110
116
123
128
130
131
132
131
132
131
130
130
129
131
134
136
140
143
145
148
152
157
160
165
171
178
182
184
186
189
191
195
199
201
204
207
209
210
210
210
211
210
213
213
216
218
219
218
216
211
208
205
199
196
194
198
207
209
207
202
199
201
207
213
216
217
220
219
217
213
210
210
212
214
216
213
210
209
208
207
206
200
194
185
180
177
176
174
173
173
172
172
171
168
166
166
166
163
166
175
181
186
190
191
193
188
178
173
169
171
178
182
182
184
185
184
182
180
176
170
168
163
157
153
149
143
139
137
131
130
130
131
132
135
137
139
142
143
145
145
142
138
136
136
133
131
132
130
130
130
126
124
122
121
121
121
109
222
201
167
161
152
146
132
126
116
111
104
95
87
77
72
62
56
53
49
47
43
42
41
41
39
38
39
41
43
45
44
43
42
39
40
39
39
40
41
42
42
41
39
37
38
39
40
42
41
42
41
40
39
39
38
39
40
40
39
38
38
38
38
38
40
40
39
37
38
38
39
39
41
41
40
39
40
39
39
38
36
39
41
42
44
47
50
54
61
71
79
83
83
82
83
86
91
92
91
85
81
79
79
73
76
86
93
99
105
103
101
104
98
91
86
83
78
74
72
73
73
74
75
77
79
81
84
87
90
92
94
95
100
102
104
105
104
104
107
108
105
105
108
113
118
123
125
126
127
126
127
127
128
129
131
134
137
140
145
150
152
154
158
161
164
167
173
176
179
181
181
182
184
187
192
197
201
207
211
211
210
209
210
211
211
214
213
215
217
216
214
215
213
209
209
207
204
205
214
214
210
207
202
202
206
212
214
217
219
218
215
212
209
208
211
212
212
211
209
208
207
205
205
203
197
189
183
180
178
173
171
172
170
169
169
168
166
167
168
167
169
177
182
187
190
190
191
184
175
170
167
168
176
181
181
182
183
182
180
179
175
169
167
162
154
150
146
140
136
135
132
132
131
131
134
137
140
142
144
146
148
149
146
142
139
139
138
136
137
136
136
134
131
129
124
123
123
125
110
223
200
164
162
150
140
131
123
112
109
101
92
83
76
70
61
53
50
48
47
42
42
41
38
39
39
39
40
42
43
43
41
40
38
38
39
40
39
40
40
41
40
38
36
35
37
39
40
41
40
39
38
37
36
37
39
40
40
38
36
35
37
39
40
40
41
40
39
40
41
42
42
42
43
43
42
40
40
40
40
39
39
41
43
44
47
50
51
58
68
80
82
85
85
86
88
89
93
88
84
79
75
75
73
75
84
93
102
106
107
106
105
100
93
88
85
78
72
71
71
75
76
77
79
81
83
83
84
87
89
92
94
97
101
105
108
108
108
108
108
107
105
105
109
114
116
118
119
121
123
124
126
128
130
133
139
145
148
153
157
160
163
165
166
168
170
171
174
174
174
173
172
172
179
186
192
199
204
208
211
211
210
212
209
210
211
212
213
215
214
216
215
215
216
217
217
217
218
222
220
218
209
203
204
209
213
217
215
219
220
217
214
212
210
211
211
211
209
208
207
206
207
207
205
199
193
189
183
178
173
171
169
168
168
167
166
168
168
168
168
170
178
185
188
189
189
189
184
172
164
161
165
174
180
183
184
184
183
180
177
173
168
163
158
152
149
144
139
135
134
131
131
134
134
136
139
142
144
147
150
153
153
152
148
147
148
144
143
142
140
139
138
134
132
130
128
127
123
113
220
200
166
163
151
141
135
125
117
108
103
92
85
78
72
63
55
53
50
49
43
43
42
37
39
40
39
39
41
42
42
41
39
40
39
38
38
39
40
40
40
39
37
36
36
38
39
40
39
40
39
38
37
36
38
39
40
40
38
36
35
36
39
40
40
40
40
41
40
40
41
40
41
42
42
41
40
39
40
40
38
38
40
43
44
48
52
54
60
70
81
83
85
89
90
90
92
96
90
87
80
74
76
74
78
84
93
100
104
107
108
109
102
95
90
86
81
75
73
74
78
78
79
79
80
82
84
86
87
90
93
95
98
100
103
107
108
110
110
110
107
104
104
108
112
114
115
115
117
120
121
123
126
128
132
139
146
150
155
160
164
167
169
169
171
172
172
172
172
171
171
171
172
178
185
194
199
204
209
211
212
210
211
211
212
211
213
213
211
213
215
218
219
220
220
221
222
222
222
221
218
210
205
205
210
214
216
215
218
218
214
211
209
208
209
209
207
208
207
206
206
206
206
203
198
193
190
184
179
174
172
170
170
170
169
169
170
170
169
169
171
177
183
186
187
187
187
182
171
163
161
166
175
181
182
183
183
182
179
176
172
167
161
154
150
147
142
137
133
132
129
129
131
134
136
139
144
147
149
150
153
153
151
149
148
148
146
146
145
143
142
141
138
135
132
130
130
125
116
220
200
168
164
155
148
141
132
121
112
105
96
90
83
79
69
61
58
54
50
46
45
43
38
39
38
36
36
37
39
40
40
39
39
39
39
38
39
40
39
38
38
37
36
37
38
39
40
39
38
39
38
37
37
38
39
40
40
39
38
37
38
39
39
41
42
41
41
42
41
40
39
39
40
40
40
40
40
39
38
36
37
40
43
46
50
58
61
66
76
83
84
86
91
91
92
96
101
96
90
84
78
81
82
85
88
94
98
102
105
109
112
104
96
92
88
82
77
76
77
80
81
80
77
77
80
84
88
90
93
95
97
99
99
100
103
109
112
114
113
108
104
104
109
113
115
114
111
111
113
115
118
123
127
132
139
145
149
156
162
165
170
173
174
174
174
174
172
171
171
173
173
175
181
188
196
201
206
209
211
213
213
213
214
213
211
212
210
210
212
214
219
219
221
220
223
224
223
219
219
218
213
207
207
212
214
216
216
216
214
210
207
205
203
204
205
205
206
205
207
208
208
207
204
198
192
188
184
179
175
173
174
175
175
175
175
174
173
171
171
171
174
179
181
184
185
184
178
170
164
162
167
176
181
181
181
180
179
176
173
168
163
158
153
148
144
139
134
131
130
127
127
131
134
137
141
145
148
148
148
151
150
149
147
147
147
146
145
146
145
145
144
141
137
136
136
135
130
119
223
203
170
169
159
155
149
139
128
120
113
103
98
92
86
77
70
65
60
55
48
46
44
36
37
36
35
34
34
36
38
38
39
42
41
40
39
38
39
38
38
38
37
38
37
38
39
38
38
38
39
39
39
39
38
39
40
40
40
39
38
39
40
39
41
42
43
44
43
41
39
38
37
37
37
38
40
39
38
36
36
37
41
43
46
54
63
68
76
79
86
87
88
93
93
96
100
107
102
98
92
86
91
93
96
96
95
95
98
103
108
113
106
100
95
92
85
81
80
81
83
82
79
74
72
75
82
89
96
97
98
99
101
99
97
100
109
116
120
118
110
105
105
110
115
116
113
108
106
107
111
114
119
124
130
137
143
149
156
162
168
174
177
178
177
176
175
173
172
173
175
177
181
187
194
198
203
207
209
212
212
213
215
216
214
213
210
209
208
210
213
218
221
222
222
223
224
222
217
216
217
213
210
212
214
215
216
214
213
211
206
203
201
198
198
201
201
203
206
208
209
209
208
206
199
192
188
183
179
176
176
177
178
179
179
179
178
176
175
172
171
173
175
177
179
181
181
176
169
165
164
168
176
180
180
177
175
173
170
166
162
156
152
148
144
141
136
133
131
130
128
130
133
135
138
141
144
145
145
146
147
146
144
144
144
146
144
145
147
147
147
146
144
142
142
140
139
134
123
225
205
172
171
163
158
154
144
134
125
119
111
106
100
93
84
76
68
65
59
51
48
46
38
38
36
34
32
32
34
36
37
38
41
41
39
39
38
37
37
38
39
38
38
39
39
39
39
38
38
38
39
39
38
39
40
40
40
40
40
40
40
40
39
41
42
43
44
43
41
39
38
37
36
35
37
38
39
37
34
35
37
41
44
47
57
67
72
78
83
84
86
90
93
96
99
103
110
106
102
97
92
98
100
105
102
97
96
97
103
109
114
108
103
98
95
88
85
83
83
85
84
80
74
68
72
81
91
100
100
101
102
101
98
95
97
110
118
123
121
113
107
107
112
117
117
114
107
103
104
108
111
116
122
129
136
142
148
154
161
169
176
181
181
180
178
177
174
173
174
179
183
187
192
198
202
206
207
209
211
213
214
218
217
215
214
212
209
208
210
212
217
219
221
221
221
222
220
216
215
217
215
212
214
215
215
215
214
211
208
203
200
198
196
195
198
199
203
206
209
210
210
210
207
200
192
186
183
180
177
176
178
180
182
182
182
181
180
177
171
170
171
173
174
176
178
179
176
169
165
164
168
175
179
178
175
172
169
166
162
158
153
149
145
143
140
137
134
132
131
130
132
135
136
139
143
145
146
146
144
143
142
142
143
144
144
144
145
146
147
147
148
147
145
145
142
142
137
128
226
204
171
173
165
161
156
149
137
129
124
117
112
107
102
91
82
75
69
64
55
52
49
41
40
38
36
33
31
32
34
37
37
39
40
40
39
38
37
37
37
39
38
38
38
38
38
38
38
38
39
40
40
40
40
40
40
40
39
40
41
40
40
39
40
42
44
45
43
41
39
38
36
35
35
37
38
39
38
36
34
37
41
44
47
58
69
74
80
84
83
85
90
94
98
101
104
110
108
105
99
96
100
103
109
106
102
100
101
105
112
116
111
105
101
97
93
90
88
87
87
86
82
76
71
74
82
92
101
102
102
103
102
99
96
100
112
120
126
124
116
109
109
114
119
120
115
106
100
103
109
113
118
124
129
136
142
148
154
163
171
178
183
184
182
181
180
176
174
177
183
190
193
198
202
206
208
208
209
211
212
214
218
217
216
215
214
212
210
211
212
218
219
219
219
217
216
217
217
215
217
215
212
213
214
213
213
212
209
205
201
199
199
197
197
199
202
204
208
210
210
209
208
207
198
190
184
181
179
178
179
180
181
183
183
182
181
180
177
172
170
171
172
173
174
176
176
174
169
167
165
167
173
175
175
172
168
165
161
158
155
152
149
147
145
143
141
139
138
137
136
138
140
142
143
147
147
148
147
146
145
144
144
145
146
146
146
147
148
149
150
149
148
146
145
141
142
140
129
226
205
174
175
167
164
159
153
146
140
136
130
125
121
116
105
96
87
79
72
62
58
52
46
44
40
38
35
34
35
35
34
35
37
37
39
38
38
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
40
41
40
39
39
40
41
43
44
43
41
39
38
37
36
36
38
39
40
39
38
35
37
43
45
49
59
70
75
80
81
82
85
90
95
99
102
104
110
108
106
102
101
108
110
118
115
110
109
109
114
118
121
114
108
103
99
97
96
95
93
91
90
85
78
74
77
84
93
100
102
103
104
104
102
100
104
114
122
128
127
121
116
115
119
122
122
116
106
101
105
111
117
122
126
131
137
143
148
154
164
173
181
187
187
186
185
184
182
182
186
192
198
202
205
209
211
210
211
210
210
211
213
215
216
217
217
216
215
212
213
214
217
217
215
211
208
207
211
217
217
217
213
210
211
211
209
210
207
208
204
201
200
202
202
203
205
206
208
211
212
212
210
208
204
197
188
182
179
180
180
180
181
183
183
182
181
180
178
176
174
172
173
174
174
174
173
174
172
168
166
165
166
169
168
167
164
161
158
155
152
152
151
151
149
150
152
151
151
152
151
150
152
153
152
152
153
154
154
152
151
150
149
151
150
152
152
152
153
153
152
150
150
148
146
144
141
140
137
128
224
208
174
177
169
167
163
158
150
149
145
142
139
135
131
121
112
99
91
82
70
63
56
49
47
43
41
38
35
34
34
33
32
33
35
37
38
40
39
40
40
39
39
39
39
39
39
40
40
40
40
40
40
40
40
40
40
39
38
40
41
39
38
39
39
41
43
45
43
41
39
39
37
37
38
39
39
39
39
40
38
40
45
47
50
60
71
75
81
82
82
84
90
96
100
104
104
111
107
106
105
107
116
119
125
122
120
119
117
119
121
123
117
111
105
102
101
102
101
98
94
93
88
81
78
81
87
93
100
102
104
105
107
105
104
108
118
125
130
131
127
121
120
123
126
124
117
106
102
106
112
120
125
128
132
138
144
149
155
166
175
183
190
190
189
188
187
188
189
193
201
208
211
213
216
214
214
212
210
209
210
211
214
217
216
219
219
218
216
214
215
216
212
209
207
201
197
207
217
218
218
213
209
208
207
206
205
204
204
203
201
201
204
205
207
211
211
213
215
215
215
212
209
202
193
184
179
178
179
181
183
183
184
183
181
180
179
177
175
175
173
174
174
173
172
172
172
171
167
166
165
164
165
164
160
156
152
150
147
144
144
146
148
150
152
157
159
162
165
166
167
167
165
162
161
159
158
157
156
155
154
154
155
156
156
156
156
157
156
155
153
151
148
146
143
138
139
137
127
223
205
178
179
173
174
169
168
165
159
156
153
147
141
134
122
110
96
87
74
64
61
54
48
47
46
44
43
43
42
40
36
35
35
35
38
40
40
41
40
39
41
41
41
40
41
40
39
40
40
39
39
40
40
40
40
40
40
40
39
40
39
39
40
40
41
42
42
42
41
39
38
38
37
38
39
40
41
41
40
39
41
44
47
51
60
68
74
78
79
81
83
89
96
102
102
106
106
108
109
110
111
117
121
126
125
127
127
127
129
130
129
122
113
108
107
105
106
103
99
96
93
89
85
83
85
90
95
102
102
104
105
107
108
109
113
122
125
130
131
128
125
124
127
128
125
118
109
105
109
115
122
128
132
136
141
146
152
156
165
175
185
192
194
192
191
192
193
196
198
204
211
215
218
219
218
216
211
209
209
210
212
213
214
217
218
218
218
219
218
216
217
215
211
204
200
198
206
216
218
217
214
210
206
205
204
202
204
202
202
204
205
206
207
210
212
213
214
214
214
212
208
206
199
192
184
180
179
181
184
186
185
186
186
184
180
178
176
175
175
176
176
175
174
173
171
171
169
166
166
165
163
162
161
160
159
160
158
157
157
159
161
162
164
166
168
169
168
169
168
167
165
162
161
160
159
159
158
157
156
155
154
154
155
154
154
156
156
155
153
150
148
146
143
140
136
136
133
119
227
207
181
180
176
177
173
173
170
171
168
164
154
145
135
122
107
90
80
67
58
54
50
44
44
47
47
47
45
44
43
39
38
38
36
40
41
41
42
41
40
42
42
42
41
40
40
39
40
40
39
39
40
40
40
40
39
39
40
40
39
38
38
39
40
41
42
43
42
41
40
39
38
37
38
39
40
40
40
41
39
41
44
47
51
60
69
74
80
79
81
84
90
99
103
104
103
104
107
108
110
113
119
123
127
130
130
131
131
132
132
131
126
116
112
110
108
107
104
100
96
93
88
85
83
85
91
95
100
101
103
105
107
110
112
115
121
125
130
131
127
125
125
127
129
126
119
110
106
110
118
125
131
135
138
143
148
151
156
167
178
187
194
196
195
195
196
198
200
202
208
213
216
217
218
218
216
212
208
208
209
211
212
215
218
221
221
221
221
221
220
219
217
212
207
201
200
207
216
216
215
212
207
204
203
202
201
203
201
203
204
207
207
209
211
213
214
214
212
211
209
205
202
197
190
183
180
180
184
187
189
189
187
186
185
181
177
176
177
177
176
176
177
176
173
170
169
167
165
164
163
161
160
160
160
162
164
165
165
167
169
172
172
174
175
174
173
171
169
167
165
163
160
158
157
157
156
155
155
156
156
157
157
157
156
155
154
153
152
150
147
145
143
140
138
136
132
133
116
226
210
184
182
178
180
176
181
180
177
173
166
158
147
136
120
103
86
76
63
53
51
48
48
48
53
53
52
51
48
46
43
40
38
36
39
42
41
42
42
41
42
42
42
42
41
40
40
39
40
39
39
40
40
40
39
38
38
39
39
38
39
38
39
39
40
41
42
42
41
40
39
39
39
39
40
41
42
41
41
39
42
44
47
51
59
68
73
78
78
80
83
91
98
103
104
101
102
104
110
114
117
121
124
128
133
136
139
141
141
138
137
129
121
116
113
111
109
107
102
96
92
89
87
86
88
91
96
100
101
103
106
109
113
115
117
123
126
130
130
127
125
126
128
130
128
122
113
109
113
121
129
135
138
141
145
150
154
158
168
179
188
196
198
197
198
199
201
205
208
211
217
219
218
219
219
216
211
208
207
208
209
211
215
217
221
222
222
222
222
221
220
219
214
209
203
200
207
215
213
212
209
205
203
202
202
201
200
200
201
203
206
207
208
209
213
213
211
210
208
206
201
197
194
188
183
180
181
187
190
192
192
190
189
186
182
180
178
178
178
178
179
178
177
174
171
169
167
166
166
164
161
159
159
161
164
167
169
172
176
180
182
184
185
185
183
180
175
172
169
165
161
159
157
157
156
155
156
155
154
155
157
157
156
154
153
151
150
149
147
144
142
140
137
135
132
130
131
115
225
213
186
186
178
183
180
185
184
189
181
170
161
149
136
117
102
86
76
61
56
55
53
53
55
60
64
62
60
57
52
46
42
39
36
39
42
42
43
43
41
41
41
41
41
42
41
41
40
39
40
40
40
40
40
39
38
39
38
38
39
39
38
39
39
40
41
41
42
41
40
40
39
38
39
40
41
42
42
41
40
42
45
48
51
59
68
72
78
77
79
81
90
98
101
103
100
100
103
108
115
119
122
123
125
132
139
144
146
146
144
144
134
126
121
118
114
111
107
102
94
92
89
90
90
91
95
98
100
101
103
106
110
114
117
121
125
126
129
130
128
126
127
130
132
131
125
115
112
117
126
134
139
142
144
148
152
156
160
168
178
187
195
197
198
200
203
206
208
211
214
218
220
221
221
219
217
213
208
208
209
209
211
212
215
217
220
220
220
220
219
221
220
216
211
206
204
208
215
214
213
210
207
205
204
204
203
204
204
205
208
211
210
212
213
211
210
209
208
206
203
200
197
192
188
184
181
184
190
195
196
195
194
192
188
184
180
179
180
182
181
180
181
180
176
172
170
169
167
165
164
162
162
163
166
171
175
179
182
186
190
191
193
191
190
187
183
177
171
168
162
159
157
155
154
155
155
154
153
153
155
155
154
153
151
150
148
146
144
142
139
138
136
133
130
131
128
129
113
224
214
188
189
182
185
183
186
185
183
177
166
158
144
133
114
98
88
81
70
68
70
74
75
79
81
84
83
77
70
64
54
44
38
36
39
43
42
43
43
43
43
43
43
42
41
41
40
41
40
39
40
40
40
40
39
38
39
39
39
38
38
39
40
39
40
41
42
41
41
40
39
40
40
39
40
41
42
42
41
40
43
45
47
51
58
66
70
75
76
79
83
91
99
102
102
101
99
101
107
115
119
120
120
118
128
135
142
148
147
145
146
140
132
127
123
117
112
107
101
93
90
87
90
92
93
95
97
101
102
104
107
111
116
121
123
125
125
126
127
126
126
127
130
133
132
128
120
118
122
129
136
141
144
147
151
155
158
162
169
177
186
194
197
199
201
205
207
210
212
215
218
220
220
221
220
217
212
209
209
209
210
212
211
212
214
217
216
218
217
218
221
221
219
213
210
208
212
218
218
216
215
211
209
209
209
208
209
209
210
212
215
215
213
212
212
211
209
207
205
202
199
197
193
190
186
184
186
192
198
199
198
196
194
190
186
183
181
181
183
183
183
182
180
177
173
169
166
164
162
160
161
166
169
172
176
180
183
185
187
189
189
189
187
186
182
178
172
167
164
160
157
154
152
152
152
152
151
153
152
151
151
150
148
146
144
142
139
138
136
133
132
131
129
128
127
126
127
112
224
215
190
191
185
189
185
185
182
183
175
165
152
140
129
112
99
92
87
82
81
86
92
96
100
104
105
98
88
81
72
58
45
39
35
38
41
43
43
43
42
43
43
43
43
42
41
42
41
41
40
39
40
40
40
39
38
39
39
38
37
38
39
39
39
40
41
42
41
41
40
39
40
40
39
40
41
42
41
41
40
43
45
47
51
56
64
68
73
76
79
84
91
98
101
101
100
98
100
107
115
118
116
116
112
125
135
141
150
150
150
152
145
136
132
126
119
112
106
100
91
88
87
90
93
95
96
98
101
103
107
109
113
118
123
125
124
123
124
125
125
126
128
130
134
133
129
123
122
126
132
137
143
147
150
155
159
162
164
170
177
184
191
196
199
203
207
209
211
212
214
216
217
217
218
219
218
215
210
209
209
209
211
211
211
212
213
214
213
216
218
219
222
221
218
216
213
216
221
221
221
218
216
215
216
216
214
215
216
216
216
219
217
215
212
215
212
208
206
204
201
198
197
192
194
191
188
189
195
199
200
200
198
196
192
188
185
183
182
182
182
182
183
181
178
173
170
167
164
161
162
166
175
182
182
182
185
185
185
186
185
184
185
184
180
178
176
170
165
164
159
157
155
154
154
154
153
153
150
149
147
146
144
141
139
138
135
132
129
129
126
125
125
124
123
126
126
126
111
224
217
191
193
187
192
188
188
181
178
170
158
143
132
120
105
92
90
89
91
98
107
117
122
127
129
128
119
104
95
84
67
50
39
36
39
43
43
43
44
43
42
42
42
43
43
42
41
41
40
40
39
39
39
40
39
38
39
39
38
37
38
39
40
40
40
41
42
41
40
39
40
40
40
39
40
41
42
41
39
40
42
44
45
49
55
61
63
71
74
79
84
90
95
99
99
96
95
99
107
116
118
113
109
108
120
131
138
149
152
153
159
150
143
138
133
123
114
107
101
92
87
87
91
95
97
98
100
102
104
107
110
115
121
126
128
126
123
123
125
126
127
129
132
135
135
134
129
128
132
136
141
146
151
155
160
164
164
165
171
176
182
188
194
200
204
208
209
210
211
212
215
216
217
219
221
219
216
211
211
210
208
208
208
207
206
207
209
208
210
213
217
221
222
221
220
220
222
224
224
224
223
222
222
222
222
221
225
226
226
224
224
223
220
217
213
209
205
203
201
198
198
197
193
194
194
191
194
198
201
201
201
200
198
196
191
187
185
185
184
183
183
184
183
180
176
173
170
165
161
162
170
182
189
191
191
192
191
190
190
188
186
184
180
177
174
171
166
161
160
157
155
153
153
153
152
152
152
146
144
142
139
137
134
132
131
129
126
123
122
121
120
121
121
121
124
123
124
110
223
219
194
194
189
193
190
188
182
176
171
164
152
147
141
133
122
123
122
122
125
129
133
135
137
132
130
117
99
89
79
61
46
40
36
40
44
43
43
44
43
42
43
43
42
43
42
41
42
41
41
40
40
40
40
39
38
39
39
38
37
38
39
40
41
40
41
42
41
40
39
40
40
40
39
40
40
40
41
40
39
41
43
44
47
53
59
62
68
72
78
82
88
93
96
97
94
94
98
107
117
118
111
105
98
113
123
132
143
149
153
159
156
148
143
136
126
117
109
101
93
89
88
93
98
99
101
102
101
104
109
113
117
124
130
131
126
124
124
126
127
129
132
135
136
137
136
135
134
138
141
144
149
154
157
162
165
165
166
171
175
180
186
193
199
204
208
207
209
211
211
214
216
218
221
222
221
216
212
210
209
207
207
205
202
203
203
202
202
205
208
214
219
221
221
221
220
223
225
225
225
225
224
224
225
225
224
222
224
224
221
222
220
215
212
208
205
201
199
198
196
197
197
194
194
193
193
195
200
203
202
203
201
199
197
193
188
186
186
184
184
184
185
184
181
177
174
169
162
157
159
168
180
188
189
189
188
186
185
184
183
180
178
175
171
168
166
159
155
153
151
150
148
147
148
146
146
146
143
142
140
139
136
134
130
128
125
121
120
120
119
119
120
122
119
121
122
122
108
223
211
190
193
189
189
193
191
178
175
170
165
160
157
150
146
143
142
143
144
145
144
145
141
135
132
123
110
93
81
72
56
45
41
38
38
40
43
43
44
45
43
43
43
42
42
41
41
41
41
40
39
39
40
39
38
39
38
37
38
37
38
39
40
41
41
41
41
40
39
40
40
40
40
41
41
41
40
38
38
40
40
42
43
46
48
55
58
63
70
75
79
86
92
93
90
92
95
99
108
119
120
108
100
91
107
119
129
140
147
153
160
156
149
146
140
130
121
113
107
94
89
89
96
99
101
102
103
106
108
111
115
120
125
131
133
130
127
125
126
129
131
133
135
137
137
137
136
139
142
143
148
150
155
163
167
168
169
169
171
174
174
179
185
192
201
204
202
203
204
208
212
216
218
220
220
218
215
212
210
207
204
202
203
200
198
198
198
196
199
205
212
216
220
221
220
221
221
224
226
226
225
225
224
224
222
223
223
221
222
219
216
213
210
208
205
201
199
197
195
194
195
195
196
196
197
198
199
201
200
201
202
201
199
196
194
192
189
187
185
183
185
187
185
184
181
177
171
163
160
161
169
180
187
188
187
188
189
188
186
183
180
176
172
168
165
161
157
154
152
147
144
143
143
144
145
144
143
143
142
139
138
137
136
134
134
129
126
124
124
122
122
122
123
116
126
123
127
112
227
219
199
200
198
199
196
193
182
175
177
175
176
177
179
178
178
176
175
174
171
166
161
152
140
126
115
98
82
71
63
53
46
44
41
41
44
45
44
44
45
46
46
46
46
45
45
44
43
41
40
39
40
40
39
38
39
38
38
37
37
38
39
40
41
40
39
39
39
40
40
40
39
38
39
39
39
39
39
38
36
38
40
42
44
48
53
56
63
69
75
78
82
86
88
88
93
96
96
102
114
115
105
97
82
97
108
119
132
145
153
162
162
156
152
145
134
124
118
111
100
94
94
100
102
104
104
103
104
106
111
116
122
130
137
137
130
127
125
127
131
133
135
137
139
140
141
144
147
148
150
151
153
159
169
174
175
175
173
171
171
173
178
188
196
205
208
201
197
199
204
213
216
218
221
221
219
215
211
207
204
203
201
197
194
192
191
190
189
191
198
203
207
213
217
220
224
224
230
225
224
223
222
222
221
220
219
222
220
219
217
212
212
207
202
197
193
191
189
187
187
189
189
190
193
197
199
202
200
199
200
203
203
201
198
196
194
192
189
185
182
184
186
186
183
180
177
170
160
154
152
160
172
179
182
184
184
184
183
182
179
173
170
166
162
158
153
148
144
141
140
138
136
135
136
136
136
135
137
133
132
131
133
132
130
129
129
124
122
122
121
120
120
119
124
119
119
132
112
221
217
191
194
190
196
193
190
179
174
174
175
177
181
184
186
189
196
196
193
186
178
169
155
140
131
115
94
79
68
61
51
45
43
40
42
43
44
42
43
43
43
43
43
42
42
42
41
42
42
41
40
39
40
39
38
39
38
37
38
37
38
39
40
41
41
40
39
40
40
40
40
39
39
40
40
40
39
38
38
36
36
39
41
43
46
50
52
57
66
74
75
79
83
86
88
89
96
100
105
117
117
102
90
79
91
101
112
129
141
151
160
158
152
150
144
135
127
121
114
101
96
96
100
103
103
102
102
104
107
111
114
119
126
132
136
134
130
128
130
134
137
139
139
138
140
143
148
150
150
149
151
154
161
170
176
176
174
172
171
171
170
175
184
193
200
201
197
197
198
204
211
215
216
217
218
216
211
207
203
201
199
198
195
194
190
189
187
186
189
196
208
213
217
220
223
223
224
227
226
225
223
223
224
223
222
220
217
215
213
211
210
206
202
197
196
191
187
186
185
186
188
189
189
194
199
201
201
200
198
197
196
196
194
193
192
192
190
187
185
181
182
185
185
183
180
177
171
159
152
150
156
169
177
178
179
180
181
180
178
176
169
164
160
156
152
147
142
138
137
129
127
127
128
129
131
133
133
134
133
133
134
135
135
134
133
130
128
127
127
126
125
126
126
126
126
129
126
111
225
216
193
193
193
198
195
193
189
184
183
183
183
184
185
186
188
186
186
183
177
170
164
150
132
119
104
86
73
64
56
49
46
47
45
43
44
46
44
44
45
45
45
44
44
43
42
43
42
41
41
40
39
40
39
38
39
39
38
37
37
38
39
40
40
39
40
40
40
40
40
40
40
40
40
40
39
38
37
37
36
37
38
40
42
44
46
48
52
61
69
72
74
76
79
83
86
93
98
103
114
114
98
84
72
86
96
106
121
134
143
153
161
156
154
148
138
129
122
114
104
99
98
101
101
101
101
99
97
101
106
111
116
123
131
134
130
126
124
126
130
133
134
135
136
140
145
150
154
155
155
155
158
164
172
176
176
175
173
171
169
167
171
182
191
201
202
201
199
200
205
212
216
215
214
210
207
203
199
197
196
195
193
194
194
192
190
187
187
191
198
204
211
215
219
224
224
226
226
226
222
219
216
214
211
209
206
206
204
203
203
203
202
198
193
191
187
184
182
180
182
185
186
190
194
200
201
200
198
196
196
197
197
198
198
198
196
192
190
187
183
183
185
185
182
180
179
174
161
152
150
154
160
165
170
173
176
178
176
175
174
171
167
161
155
149
142
136
132
129
128
128
130
131
134
136
138
139
139
139
139
139
141
142
144
144
143
140
139
138
133
131
129
126
124
134
134
125
117
222
222
198
200
197
202
202
202
197
198
196
195
194
194
194
197
195
184
184
181
171
163
156
139
123
116
99
80
69
62
54
49
49
49
46
43
42
43
42
42
43
45
44
43
44
43
42
43
42
41
40
39
39
39
38
38
38
37
37
37
37
38
38
39
39
38
38
38
38
39
40
39
40
40
40
39
38
37
36
34
34
36
37
39
41
42
44
45
53
61
68
71
70
71
74
77
85
93
96
100
108
110
98
85
68
82
89
99
113
127
142
155
156
152
151
148
141
135
128
120
113
107
103
103
103
102
102
100
97
101
106
108
113
120
128
132
130
127
126
128
134
137
138
139
140
141
145
152
155
156
155
158
162
168
177
181
181
178
175
175
174
170
172
180
189
198
200
195
193
195
200
207
211
210
206
204
201
196
192
189
190
191
191
191
192
192
189
188
186
192
198
204
210
216
220
226
226
226
225
224
221
216
212
209
207
202
199
197
195
194
193
193
196
193
189
187
183
180
178
176
177
180
182
185
192
200
204
202
199
194
194
196
197
197
197
198
197
195
192
188
184
184
186
186
185
181
179
171
159
151
147
149
155
158
163
167
169
170
172
173
171
167
164
158
152
146
139
134
131
130
126
125
127
129
130
132
134
136
141
141
142
142
145
150
152
153
153
151
150
148
144
142
140
137
135
125
128
132
127
219
213
195
195
190
196
194
197
193
194
193
190
188
186
186
185
185
189
187
182
175
164
155
139
124
110
94
77
66
58
52
51
52
54
51
47
44
44
42
44
44
45
45
44
43
43
42
42
43
42
41
41
41
41
41
40
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
39
41
41
40
39
38
37
36
36
34
35
37
39
41
44
46
47
48
55
62
66
69
70
74
80
81
90
96
101
108
106
92
82
72
82
88
94
108
125
140
154
151
150
150
147
140
135
129
122
113
108
104
102
100
99
98
96
95
100
104
109
114
121
129
131
126
125
125
128
133
137
139
140
140
142
144
148
152
155
157
158
161
168
177
183
182
178
175
172
171
169
171
179
187
197
199
192
191
195
201
207
212
211
208
206
202
194
188
185
187
190
193
193
194
193
193
192
192
194
201
208
212
218
221
225
227
224
223
222
218
214
209
205
200
196
193
191
190
190
189
189
190
188
183
181
178
176
174
172
172
174
177
184
192
201
206
206
201
197
194
195
196
197
197
197
197
195
192
186
183
183
184
182
181
181
180
173
160
151
146
146
150
155
158
161
165
172
174
173
171
166
161
155
148
141
133
127
125
123
118
119
123
126
130
134
139
141
141
141
140
143
146
150
155
157
154
153
151
149
145
143
140
137
137
127
139
131
117
221
211
192
196
188
196
195
196
193
193
192
191
187
187
186
185
184
188
184
178
170
160
148
136
120
97
85
68
55
45
38
34
32
28
26
24
23
23
22
21
21
21
21
21
21
20
20
20
18
17
16
16
16
16
16
16
15
15
15
15
15
15
15
16
15
15
15
14
15
16
16
16
16
16
16
15
14
14
13
13
12
12
13
14
15
18
19
19
30
36
40
44
48
50
53
56
68
76
81
87
93
88
77
69
47
59
66
75
94
112
126
139
148
144
142
137
129
125
119
110
94
90
89
87
86
85
84
81
77
81
87
93
99
106
113
115
113
112
113
114
117
120
122
122
123
126
130
137
143
146
148
153
156
161
169
171
170
168
166
161
160
160
164
172
180
190
192
187
185
187
191
198
201
201
199
191
186
181
176
174
176
178
181
181
182
183
182
182
182
184
185
201
208
209
213
219
219
223
222
216
213
209
203
196
190
186
182
180
179
179
180
178
181
179
176
169
167
166
165
163
164
166
168
175
179
187
191
191
187
185
184
186
185
187
188
188
187
187
184
176
174
175
175
173
172
172
168
158
148
140
135
130
130
132
139
147
151
154
155
155
154
149
145
140
133
127
119
112
107
104
100
101
103
107
112
116
120
122
126
127
127
129
132
135
137
137
146
144
142
137
131
128
124
120
119
115
121
109
111
212
255
248
250
245
253
253
255
252
254
254
253
252
254
254
255
254
248
247
246
247
248
252
250
247
250
247
247
246
248
249
249
250
251
251
252
252
253
253
252
252
254
254
253
253
253
252
252
252
253
252
252
252
252
252
252
253
253
252
252
252
253
253
253
253
252
252
253
253
253
253
253
253
253
252
252
252
252
252
253
253
253
252
252
252
252
253
253
252
252
254
253
253
252
251
253
252
253
253
252
255
255
252
252
254
255
253
252
255
254
252
253
253
252
254
254
253
255
255
252
255
253
253
253
253
253
253
252
254
254
254
252
252
252
253
255
254
254
254
253
253
254
255
255
255
255
255
255
255
254
253
252
251
252
254
255
254
254
254
255
255
254
253
253
252
255
255
254
254
253
255
255
255
255
255
255
255
254
254
254
254
254
253
254
255
255
255
255
255
254
255
255
255
255
253
255
255
252
251
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
254
252
253
255
255
252
253
255
255
255
255
255
255
255
255
254
254
255
255
255
255
255
254
255
255
255
255
255
255
255
254
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
251
255
223
204
205
201
201
196
199
197
193
195
197
197
199
199
198
197
199
198
199
199
198
199
198
195
193
189
188
188
188
188
191
194
196
195
193
192
192
193
195
195
195
193
191
189
188
186
185
184
185
186
188
190
190
190
189
188
187
188
188
188
187
187
186
187
190
190
189
184
176
168
161
153
148
144
142
140
140
147
154
171
182
191
199
204
201
195
193
191
187
184
170
160
142
132
125
122
116
118
119
120
121
118
121
121
122
124
127
128
131
134
137
142
143
145
146
148
147
146
145
142
140
140
142
144
145
145
145
144
143
140
138
139
143
145
146
147
148
148
147
143
139
136
134
131
130
129
128
129
131
134
136
135
134
132
129
127
126
124
120
117
115
116
117
119
123
122
119
118
118
117
116
115
115
116
115
116
118
119
120
121
123
124
124
124
123
122
121
119
118
118
118
116
116
118
117
118
120
123
121
121
120
116
116
114
114
114
114
118
123
136
150
159
171
175
184
186
185
183
181
183
188
193
196
197
195
194
195
196
196
197
196
196
198
198
198
199
199
200
202
203
204
204
204
206
206
207
208
207
207
208
208
209
209
209
209
209
210
211
211
212
212
214
215
216
216
216
216
217
218
217
216
216
215
215
215
215
215
215
215
214
214
213
212
212
211
211
210
210
212
210
208
209
208
207
204
204
204
205
239
208
173
175
170
166
161
163
159
164
164
165
169
170
171
169
169
173
174
175
174
173
173
172
168
161
156
153
153
153
154
159
163
166
164
163
160
160
162
163
166
165
162
159
155
152
148
145
145
146
148
151
153
154
153
151
150
151
153
153
153
152
150
149
146
146
148
148
144
135
123
116
106
96
85
80
77
77
90
106
120
137
158
174
184
178
166
160
151
148
144
125
109
84
70
61
51
44
44
45
46
49
46
48
43
46
51
55
60
67
73
76
81
83
85
87
89
90
90
86
81
79
79
81
84
84
84
85
85
82
79
78
78
81
85
86
88
90
91
87
81
74
70
66
62
61
59
58
59
63
68
73
75
71
65
60
55
51
48
48
47
43
42
45
48
53
52
49
47
45
44
43
40
40
41
42
44
46
49
51
53
56
59
59
59
59
56
54
52
51
50
47
47
47
48
48
48
52
55
54
50
47
44
42
41
40
40
41
48
56
75
92
107
124
132
145
147
147
141
139
145
154
163
164
165
163
163
164
165
166
166
169
169
170
170
171
171
172
173
174
175
177
178
179
179
180
181
183
183
184
185
184
184
185
185
186
187
188
189
190
191
192
194
195
196
198
198
198
198
199
199
198
198
198
198
197
197
197
194
193
192
191
190
189
188
188
187
186
187
186
184
184
184
182
183
178
175
177
175
230
210
172
178
177
171
169
171
171
167
168
172
174
174
174
172
171
171
171
173
173
172
174
173
169
165
158
156
157
157
157
161
166
169
167
164
162
161
162
164
165
165
163
161
157
154
151
148
149
152
153
155
157
159
159
157
156
155
155
157
157
156
155
154
153
153
155
154
149
139
128
121
111
104
97
92
89
88
94
105
126
143
162
177
184
177
168
164
154
153
153
137
120
93
81
68
62
50
48
50
51
54
49
50
54
55
57
60
65
72
77
81
87
87
88
90
91
93
93
90
85
84
84
87
90
92
91
90
90
86
82
80
80
84
88
92
94
95
95
92
85
78
74
73
72
71
68
66
67
71
75
79
79
76
71
67
63
61
60
56
52
47
47
52
55
59
58
55
53
51
50
49
47
48
49
48
49
52
55
58
60
62
63
65
64
63
61
59
57
54
53
51
51
51
52
52
53
56
60
60
57
54
53
49
48
47
46
51
53
60
77
93
109
125
133
142
147
148
144
144
148
156
164
163
163
165
165
164
166
167
169
172
172
173
174
174
176
178
178
179
181
183
183
184
184
184
184
182
183
184
184
184
186
185
186
188
189
191
192
193
195
197
195
195
196
197
198
198
199
199
200
200
199
200
200
199
198
199
198
197
196
195
194
193
192
191
192
190
191
190
188
187
185
185
182
180
180
184
174
237
208
166
177
175
174
173
175
175
172
174
174
177
179
177
175
173
173
174
175
176
174
174
174
171
170
167
164
165
166
166
168
170
169
168
167
165
164
164
164
164
164
165
166
165
162
160
159
159
159
160
161
163
165
165
163
157
155
157
157
157
157
156
155
155
154
155
155
152
147
140
137
132
127
122
119
113
109
112
121
132
146
164
179
184
181
173
171
169
169
170
158
143
116
100
87
75
57
53
55
55
56
54
53
50
52
52
55
59
65
72
77
81
82
82
83
85
87
86
85
84
82
84
87
92
92
92
92
92
87
82
79
79
82
85
87
90
92
93
90
83
78
76
75
73
73
69
66
66
69
74
76
75
72
67
62
60
58
57
55
54
51
51
55
60
64
61
55
51
50
50
50
50
51
54
55
56
58
60
62
63
63
61
62
62
60
59
57
55
55
53
55
54
53
55
55
56
58
60
60
59
56
53
53
52
51
50
51
54
57
69
80
90
105
115
125
137
144
146
151
153
157
163
163
163
164
164
165
166
168
168
167
168
169
169
170
172
173
175
176
177
179
181
181
181
181
181
182
183
183
184
185
184
184
186
187
188
189
191
193
194
195
195
196
197
198
199
198
199
200
199
199
199
199
199
199
198
198
197
198
195
195
195
192
191
189
191
189
189
188
186
186
187
183
188
186
181
184
168
236
209
167
179
176
178
180
177
178
176
176
179
180
182
179
177
176
177
176
176
176
176
177
177
174
171
170
170
171
172
172
172
171
171
169
168
167
166
164
162
161
163
166
170
170
168
167
166
164
161
163
163
164
167
166
162
160
160
160
160
160
160
159
159
159
159
159
157
155
153
149
148
148
144
139
133
125
120
122
128
132
145
161
176
185
182
176
174
174
176
182
172
158
132
113
100
78
58
52
53
51
52
48
48
47
47
48
49
54
63
71
77
75
75
74
75
79
82
82
81
83
83
85
91
95
96
95
95
94
89
84
79
78
80
83
85
87
89
88
84
79
75
73
74
76
77
74
70
68
70
74
76
76
73
67
60
57
56
55
54
54
52
53
57
61
65
62
54
50
48
48
49
49
52
55
57
59
62
65
65
64
63
62
61
60
57
56
55
55
54
54
56
56
54
56
56
55
57
58
55
54
54
53
53
52
51
50
49
50
51
60
67
76
90
100
106
121
133
143
153
155
155
158
157
160
162
162
162
164
166
167
169
171
172
173
173
175
176
178
180
181
182
183
184
185
186
187
188
187
186
187
188
190
191
189
188
190
192
193
194
196
197
197
197
198
199
200
200
201
201
203
204
202
202
202
202
202
202
201
199
199
197
197
196
195
193
194
192
192
192
192
189
188
186
180
182
178
190
173
239
204
165
176
176
181
187
183
187
182
182
183
184
184
181
179
176
176
175
175
175
173
174
174
171
170
171
172
173
174
174
171
169
169
168
167
167
166
163
158
157
161
166
171
171
168
167
166
166
167
169
169
170
171
170
165
161
161
161
160
160
160
161
160
159
159
158
158
158
158
158
158
158
158
156
150
141
135
134
136
141
152
164
175
180
181
175
173
180
183
190
181
169
140
120
105
86
63
56
55
53
53
51
49
47
46
46
46
49
57
65
71
72
71
71
71
74
78
80
81
80
81
85
92
96
98
97
96
94
90
84
80
78
80
81
83
85
85
83
78
74
71
70
73
78
78
75
70
68
70
72
72
71
68
62
58
56
55
55
52
53
52
54
59
63
66
63
57
53
51
50
50
50
52
56
57
59
62
65
67
65
64
63
60
58
58
56
56
56
56
57
55
55
55
57
57
55
54
56
56
54
54
57
57
57
56
54
50
51
48
53
56
60
73
82
95
110
123
135
148
154
153
155
157
159
161
163
163
164
165
166
165
168
170
172
172
173
174
174
172
174
176
176
178
180
180
182
183
182
181
181
182
184
186
186
186
187
188
189
190
192
193
194
194
195
196
197
198
197
198
199
198
199
199
199
199
199
199
198
196
195
194
194
194
192
191
192
190
189
188
187
186
185
184
188
187
178
187
168
238
208
172
176
178
183
182
184
181
183
182
182
185
185
184
181
179
178
178
178
177
178
176
176
176
173
174
174
177
178
177
175
173
171
171
171
170
169
166
163
163
166
170
172
172
171
170
170
170
170
169
171
173
172
169
165
161
160
161
162
162
162
161
161
161
162
162
161
161
162
160
159
163
161
157
152
146
140
137
138
143
150
162
170
176
176
175
175
175
178
183
176
159
139
119
109
87
66
60
61
56
57
55
53
48
47
47
48
51
57
64
71
73
71
70
70
71
76
78
79
82
84
89
93
97
99
99
97
95
90
86
81
79
81
83
83
81
81
81
76
68
63
65
71
77
79
77
75
75
74
72
72
70
67
63
58
56
56
55
55
52
51
54
58
64
68
65
60
57
55
53
52
52
53
55
58
61
63
63
64
65
65
65
61
59
58
58
58
58
58
57
58
60
59
56
56
57
55
52
56
56
57
58
56
57
54
53
52
49
49
51
55
58
66
75
84
95
114
124
139
144
150
153
155
158
158
158
159
162
164
166
167
168
170
171
171
172
173
173
172
171
174
176
177
180
181
183
183
181
182
183
184
184
186
187
187
188
189
189
190
191
192
194
195
196
196
196
195
196
197
196
197
198
199
200
201
201
201
201
200
198
197
195
196
194
192
194
192
189
191
189
188
188
184
185
181
180
184
176
233
209
173
179
181
183
184
183
182
183
183
184
183
183
183
182
183
183
183
183
181
179
178
177
176
175
174
175
176
178
177
176
175
174
174
173
172
171
170
169
169
170
172
173
173
171
170
171
172
171
171
172
173
173
170
167
164
164
164
166
166
165
166
165
164
164
164
163
163
162
161
160
160
159
157
153
149
144
143
145
148
153
160
168
171
172
168
169
169
171
173
163
145
124
106
96
85
65
62
64
60
59
56
53
51
52
50
53
56
60
68
73
72
72
74
74
75
76
78
78
83
84
88
91
95
97
96
95
95
91
87
84
82
83
84
84
82
80
77
72
63
56
57
64
74
78
80
80
79
77
73
69
66
65
61
57
55
55
54
53
50
49
51
55
62
68
67
63
61
59
57
56
55
54
56
55
57
59
61
63
64
65
67
65
65
64
63
64
63
63
64
63
63
61
59
56
57
54
52
53
54
55
57
57
55
56
55
55
51
50
53
53
56
61
67
71
78
92
103
118
128
143
152
158
158
156
155
158
161
166
168
169
169
170
170
172
171
170
170
169
169
170
171
173
178
183
185
185
181
180
181
183
185
187
186
187
188
187
188
189
190
192
193
194
195
194
194
195
196
197
196
197
198
199
200
201
200
201
202
200
198
199
198
198
195
193
194
192
191
190
189
188
188
186
185
181
180
183
176
234
210
175
181
181
184
184
186
185
187
186
182
184
183
185
186
186
186
186
186
184
183
181
178
177
177
176
175
177
179
178
178
178
179
177
175
174
175
175
176
176
175
174
173
172
171
171
172
174
174
173
174
173
172
172
171
169
168
169
169
168
169
169
168
167
166
166
165
164
163
162
160
159
158
155
153
150
148
148
150
152
155
160
162
166
166
164
166
165
165
162
153
136
116
100
88
83
66
66
68
66
65
61
58
53
53
56
57
60
63
66
73
73
75
76
77
77
78
77
79
84
85
88
92
94
95
94
95
94
92
90
88
85
86
87
85
82
78
73
65
57
52
52
60
71
78
83
86
86
81
75
67
63
62
60
58
56
56
54
52
49
46
49
53
61
68
68
68
66
64
61
58
57
55
56
55
55
58
60
63
65
67
69
69
69
69
69
69
70
69
68
67
66
64
61
59
58
56
52
53
54
55
56
56
57
54
54
56
52
53
54
55
53
57
61
62
64
75
86
103
116
136
149
156
155
153
151
155
161
165
170
170
169
168
170
171
171
169
167
165
166
167
166
170
176
182
186
186
182
179
180
182
184
185
184
186
187
186
187
188
189
191
191
192
193
193
194
194
195
195
196
197
199
200
200
201
200
201
202
201
201
200
200
200
197
196
195
192
191
189
187
186
187
186
185
181
180
183
174
234
211
177
183
184
185
182
186
186
184
186
183
184
185
185
186
186
187
187
185
185
183
181
178
179
180
179
179
179
180
181
181
180
178
178
176
177
177
177
178
178
176
175
173
172
172
172
172
174
176
176
175
174
173
173
173
171
171
172
172
172
171
170
169
169
168
167
167
166
164
164
162
161
160
157
155
151
149
150
152
152
155
158
159
161
162
161
161
159
159
157
148
133
116
101
94
86
73
72
71
67
67
61
59
54
57
59
58
62
66
70
76
78
77
77
77
78
79
79
81
85
87
89
92
95
94
94
93
93
91
90
89
87
88
87
85
80
77
72
66
57
52
53
60
70
75
80
83
84
80
74
68
64
63
61
58
57
57
56
53
51
50
50
53
60
66
67
65
65
63
62
60
58
58
60
60
60
60
61
63
65
68
69
68
68
69
70
71
70
69
68
67
66
64
62
59
59
58
54
54
55
58
59
59
57
57
55
56
52
51
54
55
56
56
58
57
60
71
80
96
103
124
137
143
147
149
151
154
159
163
165
167
169
170
171
169
168
167
167
166
167
168
168
171
175
177
179
181
181
181
183
183
182
182
183
185
185
186
186
187
188
190
190
191
192
193
193
195
196
196
197
198
199
199
200
201
200
201
201
201
201
201
200
199
198
197
195
193
191
189
188
187
185
184
185
181
181
183
174
234
211
178
184
185
185
182
186
186
185
185
183
184
183
183
185
187
185
185
186
187
185
183
180
179
180
179
179
180
181
181
180
179
178
178
177
176
177
178
177
177
177
176
175
174
175
176
175
175
177
178
178
177
176
175
174
172
172
173
173
173
173
171
170
169
168
168
167
168
167
165
164
164
162
160
158
155
153
151
153
154
156
158
156
157
157
153
155
153
151
148
143
131
117
106
100
92
79
76
71
62
61
54
52
52
57
59
64
70
75
79
82
81
75
73
75
77
80
83
84
86
87
90
92
94
95
93
92
92
91
91
90
88
89
89
87
81
78
75
70
64
58
57
60
65
68
71
75
77
76
73
69
65
64
60
56
55
56
56
55
55
56
56
56
59
61
62
60
59
60
60
61
62
64
66
67
68
67
65
64
65
65
64
63
64
65
67
68
67
65
64
64
63
62
60
61
59
60
59
58
60
61
60
61
60
57
56
55
52
50
51
54
52
52
55
53
57
66
72
85
90
104
117
127
135
145
152
156
157
158
159
162
166
169
168
167
166
167
169
172
174
175
175
174
172
170
168
171
178
184
185
185
183
182
183
184
185
185
186
187
188
189
190
191
192
193
194
195
195
195
197
197
199
200
200
201
200
202
200
200
198
198
200
199
198
197
195
193
191
188
188
187
186
185
185
181
181
183
174
234
214
179
183
185
184
183
185
185
183
183
184
184
182
184
184
186
185
185
187
186
186
185
185
183
182
183
183
184
183
182
181
180
179
178
176
176
176
177
177
178
179
178
177
178
179
179
179
180
181
182
182
181
180
179
178
176
175
176
177
177
176
174
172
171
170
169
169
168
169
168
167
166
165
163
161
158
157
156
157
156
155
156
155
154
151
148
146
147
144
143
138
129
119
109
106
98
86
81
72
64
61
54
54
50
58
63
68
76
82
88
90
86
78
73
73
79
83
85
88
87
87
90
92
93
93
92
92
91
90
89
90
88
89
90
88
84
82
79
75
69
65
63
63
62
64
64
67
71
72
71
70
67
64
60
56
55
57
57
58
60
61
60
60
60
59
57
55
55
58
60
64
66
70
73
75
73
71
68
66
64
60
59
60
61
63
65
66
65
64
63
60
59
59
60
62
62
62
60
62
62
63
64
63
60
58
57
57
53
51
51
51
50
50
51
52
52
60
65
74
76
89
97
108
122
139
149
154
155
154
155
159
164
167
167
165
164
166
170
176
179
179
179
178
173
166
159
162
174
183
188
188
185
184
184
184
185
185
185
186
187
189
189
190
192
194
195
195
196
196
196
197
198
199
199
200
200
200
200
198
199
197
198
198
197
196
195
193
192
190
188
185
186
183
185
181
181
183
176
234
215
179
185
184
186
183
185
183
183
184
184
182
183
182
183
185
187
187
188
189
188
187
185
185
184
185
185
185
184
183
182
181
180
179
178
178
179
179
180
181
181
181
180
179
179
180
181
182
183
183
184
184
183
182
181
179
178
179
180
180
179
176
175
173
172
172
170
169
169
170
170
168
167
166
164
162
159
159
159
157
156
154
152
151
147
142
141
140
138
136
132
124
113
106
102
96
88
88
81
77
75
68
68
64
70
77
81
83
89
92
94
90
83
79
79
83
86
89
92
91
92
93
94
93
92
92
91
91
92
92
91
91
91
91
89
85
83
79
76
73
70
70
68
67
68
68
69
71
71
71
71
69
67
64
61
60
62
62
62
66
66
64
63
61
59
57
58
60
62
65
67
70
74
77
79
77
75
71
69
65
61
58
58
60
62
63
64
62
63
62
59
58
58
60
63
63
63
63
63
63
64
65
62
62
59
58
56
56
53
51
51
50
49
50
52
54
59
60
69
69
79
83
93
111
130
142
147
150
152
154
156
161
164
163
161
164
167
170
176
179
179
179
178
171
164
159
161
173
181
187
188
184
182
183
183
183
184
185
185
186
188
189
190
191
193
194
194
195
195
196
197
198
199
200
199
199
201
199
200
199
197
199
198
197
196
195
193
192
190
188
186
184
183
185
183
181
183
175
235
216
180
185
185
186
185
186
183
185
183
182
183
181
184
185
186
187
188
187
189
188
187
186
187
188
186
186
185
185
184
183
182
182
181
180
179
180
181
183
183
182
183
182
181
180
181
182
183
184
183
183
184
184
183
182
181
180
180
181
181
179
178
176
176
175
173
172
171
171
170
171
171
169
167
167
165
161
159
158
158
157
153
150
150
146
142
140
135
131
128
124
115
107
100
98
95
92
92
92
89
92
87
88
84
88
92
93
95
96
96
97
94
89
85
86
88
89
93
95
95
95
96
95
94
93
92
91
91
92
93
92
92
92
92
89
84
83
80
78
76
74
74
75
75
75
75
75
73
73
73
74
74
71
68
64
64
65
66
67
69
70
67
65
63
61
60
64
66
68
69
70
71
75
78
81
81
78
75
72
67
63
60
57
60
61
63
63
63
62
62
59
58
59
61
64
64
64
64
61
63
64
64
62
61
60
59
57
56
54
53
51
52
52
53
50
53
58
58
65
66
71
73
82
101
122
135
142
146
150
153
156
160
161
159
160
162
167
171
176
179
178
176
175
170
166
163
165
175
181
185
186
183
180
180
183
184
184
184
185
186
188
188
189
191
193
194
195
194
195
195
197
198
199
200
199
199
200
200
199
199
198
197
197
197
197
195
192
193
191
188
186
185
182
185
183
181
184
175
235
213
180
186
183
183
181
182
185
183
184
182
180
180
182
183
185
186
188
189
190
191
190
190
190
188
189
188
187
187
186
184
183
183
182
182
183
183
183
184
184
184
183
183
182
183
183
183
183
184
183
182
182
182
182
182
183
184
184
184
184
183
182
179
177
176
175
174
174
174
174
175
174
174
172
170
168
166
164
163
160
157
154
152
149
144
139
136
131
126
119
112
101
91
86
87
89
96
101
109
123
127
126
124
126
121
115
111
109
106
107
103
102
100
98
99
100
98
98
98
101
102
101
98
95
94
92
91
92
92
92
92
91
91
91
89
85
84
80
80
80
79
82
88
91
93
90
82
77
76
78
79
79
77
72
70
70
72
73
75
75
76
75
70
66
64
70
74
78
81
80
76
75
79
85
87
85
83
80
75
71
67
63
61
61
59
59
62
61
59
60
60
60
61
64
65
64
61
60
59
61
62
63
64
64
64
64
62
59
56
54
52
51
51
53
53
53
54
58
61
61
61
64
70
83
106
116
126
141
152
158
158
155
155
156
157
160
164
168
174
176
174
172
170
168
169
171
171
174
178
180
180
179
178
178
181
181
182
183
185
187
189
189
189
190
192
193
193
194
195
195
197
198
199
199
201
201
202
199
198
198
197
197
199
197
195
196
194
192
188
186
186
184
185
185
182
181
183
174
234
212
180
185
182
182
181
182
182
182
184
182
180
180
180
180
184
186
187
188
189
190
189
188
189
191
190
190
190
190
188
186
185
185
185
184
184
185
184
185
185
184
185
184
183
183
182
182
183
183
184
183
182
182
183
183
184
186
185
184
185
184
183
182
180
179
177
176
176
175
175
174
174
174
175
173
172
170
168
167
164
160
156
154
150
145
139
135
123
118
111
105
95
88
84
86
93
100
111
125
140
150
152
153
154
145
139
131
122
116
112
108
113
110
110
109
110
107
107
108
106
106
105
102
97
94
93
92
91
93
94
95
94
92
91
88
84
84
81
82
83
82
87
95
102
102
98
90
85
84
85
85
85
82
78
75
75
77
78
78
78
80
78
75
71
67
72
82
87
89
87
82
81
83
86
85
83
82
80
78
75
71
67
63
60
59
57
59
59
59
60
62
63
64
64
66
65
63
60
57
59
58
61
61
64
65
66
63
61
59
57
54
52
53
54
54
56
56
57
59
58
57
56
60
72
90
102
116
136
150
159
153
153
153
153
157
161
163
166
169
171
169
167
168
170
172
175
177
176
176
175
176
176
177
178
180
181
181
183
185
186
189
188
188
190
192
193
193
194
193
195
197
199
199
200
199
200
201
200
199
198
197
197
199
197
196
195
194
193
190
188
185
184
184
185
183
181
183
174
234
212
180
183
182
184
181
184
183
183
185
182
180
180
180
180
183
185
187
188
189
189
188
187
188
190
190
189
189
189
189
189
189
189
188
187
186
186
187
187
187
186
185
186
185
183
184
184
184
185
185
184
184
184
185
185
184
184
185
186
184
183
183
184
185
184
182
180
179
179
178
178
177
177
176
176
175
173
172
170
168
164
161
158
154
149
142
137
138
134
129
124
116
111
109
111
115
122
131
141
152
157
158
159
158
152
147
142
135
133
130
125
121
120
119
118
116
115
114
114
114
114
112
106
101
99
97
95
92
95
98
100
98
95
92
88
84
82
80
82
85
86
90
98
104
105
101
95
91
89
90
92
92
89
85
81
80
80
81
81
81
84
83
78
74
71
75
82
84
85
83
80
78
78
78
80
81
82
82
81
79
76
73
68
64
58
56
58
59
60
63
66
69
69
67
68
67
64
57
56
56
56
57
59
63
66
67
64
65
62
61
57
53
52
54
55
54
56
58
57
57
54
54
59
66
77
84
96
113
129
141
148
150
153
155
158
160
162
162
163
164
163
164
166
169
175
178
178
175
173
172
173
175
177
178
179
180
181
183
185
186
189
188
188
190
192
193
194
194
193
194
195
196
198
199
199
200
201
200
199
197
197
197
199
197
196
195
194
193
191
187
187
184
184
185
181
180
183
174
234
212
179
184
184
183
184
183
185
186
186
183
181
182
180
182
183
184
185
187
187
188
187
187
187
189
189
190
191
192
192
191
190
190
189
189
187
188
188
188
187
186
187
187
186
185
184
183
183
182
182
182
183
182
183
183
183
184
185
185
184
183
185
186
187
186
184
182
181
180
180
179
179
179
178
177
176
175
174
172
171
168
165
162
159
153
148
145
140
138
136
135
132
130
129
131
134
140
143
149
154
156
154
154
152
150
149
146
144
144
142
138
129
126
121
120
119
117
119
120
120
119
117
111
106
102
100
97
95
98
101
101
100
96
93
89
83
81
79
80
83
86
90
96
100
101
99
96
95
95
96
98
98
93
87
82
81
82
81
83
83
86
85
80
76
72
75
78
80
81
81
79
79
77
75
74
75
78
82
83
83
82
80
75
69
60
57
58
60
62
65
70
74
74
70
70
69
64
55
58
56
56
56
58
63
65
67
67
65
64
61
58
54
54
52
54
55
56
59
61
59
58
57
58
62
71
74
86
102
118
132
141
149
156
158
158
160
160
157
157
159
161
163
166
170
174
176
175
174
172
171
172
174
175
176
177
179
180
181
184
186
188
187
188
190
192
193
193
192
192
194
195
196
198
198
199
200
201
200
199
199
198
197
198
196
197
195
194
193
192
189
186
186
185
185
181
181
184
176
234
214
180
184
182
185
182
186
186
186
186
184
182
181
181
181
182
183
184
185
185
185
184
184
184
185
186
187
188
189
190
192
193
192
192
191
190
190
189
189
188
187
188
187
186
186
185
184
183
182
182
181
181
182
183
184
183
183
183
183
183
183
185
187
188
187
185
184
182
182
180
178
179
180
180
179
177
176
175
174
174
172
169
167
163
159
154
151
147
149
149
149
149
148
151
152
153
157
157
155
158
156
155
156
153
151
154
155
154
153
152
148
142
136
129
126
126
125
124
124
124
124
122
115
109
106
104
102
100
101
104
104
102
98
93
89
83
80
78
79
82
86
88
94
98
98
100
99
100
101
102
102
100
96
90
85
83
82
81
83
85
86
84
82
78
72
74
76
78
79
78
77
77
75
70
68
70
74
80
83
84
87
87
80
73
62
58
59
61
63
67
73
77
77
74
71
70
65
58
57
56
56
56
59
60
65
67
68
68
67
63
58
55
52
51
53
54
56
59
61
62
61
59
57
58
63
65
76
90
104
118
129
144
157
160
159
159
158
155
153
154
160
164
167
171
173
174
173
172
171
172
173
174
176
176
177
179
180
181
184
186
188
187
188
190
192
193
192
192
193
194
195
196
197
198
199
200
201
200
200
199
199
197
197
198
197
195
194
193
193
191
189
187
183
185
181
181
184
175
235
211
181
184
181
183
180
183
183
183
183
180
177
178
177
177
178
179
180
179
179
177
177
177
177
178
179
181
182
185
188
189
190
191
189
188
188
187
186
186
186
185
187
186
187
187
186
185
184
183
182
182
181
182
183
183
183
183
183
184
183
184
186
188
189
188
186
184
183
183
181
180
181
181
182
181
179
177
177
176
176
174
172
170
168
164
159
157
155
155
158
160
159
161
161
160
165
166
165
162
162
160
156
155
154
154
158
160
159
160
162
159
151
146
138
136
134
132
130
131
131
130
125
120
113
110
108
107
105
106
107
107
104
100
94
89
84
80
78
79
83
87
90
93
95
96
97
97
99
100
100
100
99
97
92
88
86
85
84
85
83
82
81
79
78
73
75
76
78
78
76
74
73
68
61
61
63
70
76
82
86
89
90
83
75
66
59
60
61
64
69
75
79
79
77
75
70
68
63
60
58
57
56
57
61
64
66
68
69
68
63
59
55
52
50
51
52
53
56
58
60
59
59
60
57
57
56
62
72
84
100
115
134
149
154
156
158
157
155
151
153
157
163
167
171
172
173
174
173
171
172
173
174
177
178
179
180
181
183
185
186
189
188
188
190
191
192
193
194
193
194
195
196
197
198
199
200
202
200
200
200
200
199
198
196
196
196
194
192
194
192
190
188
183
185
183
182
185
175
235
213
179
183
182
181
178
179
179
179
177
175
171
171
170
170
172
173
174
171
170
169
168
167
168
169
170
173
175
177
180
182
184
186
185
185
184
184
183
182
182
183
184
186
187
187
186
186
186
185
184
183
182
183
184
185
185
185
184
184
183
185
186
187
188
188
186
185
185
184
183
183
183
182
181
182
181
179
178
178
177
176
175
174
172
168
164
162
160
163
164
165
164
162
162
161
161
164
162
162
164
163
161
160
158
159
161
162
159
161
161
160
157
155
151
147
143
138
136
134
135
134
132
124
118
114
113
112
107
110
111
111
107
101
94
91
84
80
78
79
82
87
88
89
90
90
91
92
93
94
93
92
93
92
90
89
88
86
85
83
79
77
75
74
75
74
76
79
80
80
78
75
72
65
57
54
57
63
72
78
85
88
90
84
77
68
62
61
61
64
70
76
80
81
79
77
72
72
70
66
63
60
56
56
60
63
66
67
68
67
62
57
54
51
49
48
48
50
53
56
58
58
58
58
58
56
56
61
65
74
88
100
120
136
144
150
158
159
156
157
157
160
165
167
169
170
170
171
173
174
174
175
177
179
179
180
181
181
182
185
186
189
189
189
190
192
193
193
194
195
194
195
196
197
198
199
200
201
201
200
202
200
198
199
198
198
195
194
192
194
192
190
188
184
185
182
182
185
176
235
213
179
182
180
178
175
175
175
175
174
171
168
168
167
166
167
166
166
165
164
162
161
159
159
160
163
165
169
172
174
177
179
183
182
181
181
179
179
179
179
180
182
185
187
188
189
189
187
186
185
184
183
183
184
185
184
184
182
182
183
184
186
186
188
188
187
186
185
186
186
184
183
181
181
181
181
180
179
178
179
178
178
177
175
172
168
166
166
167
167
168
164
163
162
160
159
162
163
163
166
166
162
161
162
160
160
162
162
161
165
166
164
163
163
159
150
145
141
139
138
138
136
129
121
116
115
114
111
113
115
115
111
104
96
91
86
81
78
79
81
86
87
86
87
87
87
88
89
89
88
85
85
88
89
89
88
87
86
80
74
70
67
68
71
71
76
81
82
82
77
72
69
62
53
49
52
59
69
75
82
87
89
86
78
69
64
62
61
65
71
78
78
80
81
77
75
75
75
74
71
65
58
57
58
62
64
63
66
64
60
55
52
49
47
45
47
48
50
54
56
56
55
55
55
55
55
56
56
62
76
88
107
123
134
146
158
161
161
164
162
163
166
165
167
168
167
169
173
176
178
179
178
180
180
180
182
183
184
186
187
189
189
189
191
192
192
193
194
195
195
195
197
199
199
199
200
201
201
200
202
201
200
199
197
198
196
193
192
194
192
190
189
184
185
182
182
184
178
235
212
173
178
172
173
163
169
166
166
165
163
161
160
158
159
158
155
155
154
151
150
148
146
146
147
149
152
156
160
164
167
170
173
173
173
173
174
173
174
174
176
180
183
186
187
189
192
190
188
187
186
186
185
184
184
186
186
185
183
181
183
187
189
190
188
187
187
187
187
188
186
185
184
183
181
179
179
180
180
181
180
180
179
178
176
173
172
172
173
173
172
168
164
160
157
161
159
161
164
168
168
168
167
165
164
163
163
161
164
167
169
171
173
174
168
160
152
147
143
145
144
141
134
126
123
121
119
117
117
119
118
115
107
100
93
87
83
79
78
83
86
85
83
82
79
80
83
83
82
79
78
80
83
87
89
89
88
86
79
70
62
61
64
66
71
79
84
88
85
78
70
65
57
48
46
48
54
64
71
78
84
90
84
80
71
66
65
63
62
70
75
79
82
81
80
78
83
86
80
76
67
60
59
59
61
59
60
62
62
60
55
52
49
47
44
44
45
48
50
51
52
55
58
55
56
56
53
50
53
61
73
90
107
122
137
151
159
163
167
169
165
166
165
164
166
166
170
174
178
181
181
181
180
181
182
184
185
187
188
189
190
191
192
192
193
194
194
195
196
195
194
196
197
198
199
201
203
202
202
200
200
201
200
199
198
198
196
195
194
190
188
187
186
184
185
185
178
182
234
205
167
171
162
160
148
152
150
149
148
147
145
143
142
141
140
139
139
137
134
132
129
127
127
128
130
135
138
142
146
150
154
157
157
157
156
157
159
161
164
169
172
177
179
183
186
186
188
189
188
186
185
185
186
186
187
188
187
184
181
182
185
187
188
187
186
187
186
187
188
187
187
186
184
183
181
181
180
179
180
180
180
180
179
176
174
173
171
174
174
172
168
162
162
158
162
160
162
166
168
168
168
168
165
164
163
164
162
165
168
170
172
173
175
171
161
153
149
146
148
146
143
137
130
125
124
123
120
121
122
121
117
110
103
96
90
86
82
82
86
89
86
82
79
76
78
83
85
85
82
80
80
81
84
84
82
80
78
74
68
64
63
68
74
79
85
88
90
88
79
69
62
56
49
45
48
52
59
64
70
77
81
80
77
70
66
66
62
63
69
72
75
78
81
80
81
85
89
85
80
70
63
60
61
59
60
59
63
64
61
57
54
52
50
47
46
49
50
52
54
55
56
58
56
57
57
54
54
56
60
69
79
92
106
122
139
150
157
166
171
169
171
170
171
172
173
176
177
178
180
181
180
181
181
182
184
186
187
188
190
191
191
191
192
193
193
194
195
196
195
195
196
197
199
200
202
203
204
202
202
201
200
200
199
197
199
197
196
194
192
191
189
186
186
184
185
180
182
234
201
160
165
152
147
134
138
137
136
136
133
131
129
129
128
126
126
126
123
120
117
114
111
111
112
114
118
123
128
132
137
140
144
145
144
144
146
149
152
157
161
167
173
177
181
186
188
188
189
189
188
187
187
188
189
189
189
188
185
183
183
184
186
187
186
185
186
186
188
189
188
188
188
186
185
182
180
180
181
181
179
178
180
179
176
174
174
173
172
173
171
169
163
161
159
159
159
162
165
168
167
167
168
167
165
164
163
165
165
169
171
174
175
177
173
163
156
152
150
149
149
146
139
135
131
128
127
124
125
124
123
119
112
105
100
95
90
86
86
89
90
87
80
73
70
74
83
88
87
84
81
79
80
80
78
76
74
72
68
66
64
65
72
80
88
92
94
94
89
78
67
59
54
49
45
46
47
53
58
63
69
75
76
75
72
70
67
63
63
68
69
71
75
78
82
83
90
95
91
87
74
66
62
62
60
57
59
61
63
63
59
57
56
54
50
49
52
53
54
55
56
57
58
57
56
55
56
57
59
61
65
68
77
91
109
128
142
152
162
171
171
171
172
174
175
178
180
179
178
178
180
181
182
183
184
186
187
188
189
191
192
193
192
193
194
194
195
195
195
195
196
197
198
199
200
201
202
203
204
202
201
201
201
200
199
199
197
195
195
192
193
191
189
187
185
186
179
183
236
197
149
155
140
133
119
122
121
120
120
119
117
116
114
112
112
110
110
108
105
101
98
96
96
96
98
102
108
112
116
120
123
127
128
129
131
134
137
141
146
152
158
166
171
176
183
186
186
186
187
187
187
187
188
189
190
189
188
186
183
183
184
184
186
186
184
186
186
188
189
188
189
190
188
186
184
183
182
181
180
180
178
178
178
176
174
174
173
173
173
171
167
166
163
162
162
162
166
166
169
169
169
167
166
166
167
165
166
169
171
172
175
177
178
174
167
160
156
154
152
151
148
142
137
134
132
131
127
128
127
126
122
115
109
104
99
94
90
89
92
93
88
77
68
65
71
82
90
90
87
83
79
79
77
74
72
70
67
66
64
63
65
74
85
92
94
95
95
89
77
64
56
51
47
45
44
46
48
52
57
63
69
70
71
72
73
69
66
64
66
66
68
71
76
81
86
92
98
95
88
77
69
65
61
57
55
56
58
62
61
63
61
59
58
56
54
54
55
55
57
58
59
59
59
57
57
58
60
61
62
61
60
66
80
97
115
131
144
159
170
173
172
175
180
183
186
186
182
178
177
179
182
184
185
186
188
190
191
192
192
193
193
194
195
196
195
195
196
196
197
197
198
199
199
201
203
202
204
205
204
204
204
202
201
200
200
198
197
196
194
192
193
191
187
187
186
181
183
235
189
134
141
124
114
101
100
102
99
98
97
96
94
93
92
91
90
90
86
82
79
76
75
74
74
76
80
85
90
94
98
101
104
107
108
110
114
118
122
128
136
145
152
158
165
173
177
179
180
181
183
185
185
187
188
189
190
189
187
184
183
183
183
185
185
185
185
186
187
189
189
190
190
188
187
185
184
183
182
182
181
180
180
179
176
174
174
173
171
172
169
169
167
166
165
165
166
169
168
169
169
170
169
167
169
168
168
169
170
173
174
175
175
177
174
168
161
159
158
154
153
149
144
142
139
137
134
131
131
130
127
124
117
112
108
104
99
96
95
96
96
89
77
65
60
66
79
87
89
88
85
82
81
78
75
73
70
67
66
64
63
65
72
82
89
92
93
93
87
74
61
54
50
48
48
47
45
46
49
53
57
63
67
69
73
75
71
68
66
66
65
67
70
75
81
83
90
96
92
88
78
70
68
64
57
55
56
60
61
64
64
65
64
63
62
60
59
59
58
59
60
61
61
60
59
58
60
61
62
61
59
58
62
70
81
94
110
125
141
159
169
171
178
183
185
187
187
182
180
179
180
184
186
188
189
190
192
193
193
194
195
196
196
196
197
197
196
197
198
198
199
199
200
200
201
201
203
205
203
205
205
205
204
202
201
201
199
198
196
193
192
194
192
188
188
187
180
184
235
180
120
125
107
95
81
80
82
82
80
79
78
77
76
76
76
73
74
70
66
64
60
58
59
59
60
64
70
73
76
79
82
86
88
91
94
98
101
106
112
119
129
139
145
152
161
165
169
171
172
175
177
180
183
185
187
189
187
185
184
183
183
183
184
185
185
186
186
188
189
190
190
190
189
187
186
184
183
183
183
181
181
181
179
177
174
172
171
172
170
171
169
171
172
170
170
172
171
171
172
172
171
168
170
171
173
173
174
176
176
177
174
173
173
172
168
166
163
161
158
156
153
149
146
143
141
139
135
133
131
128
126
121
116
113
110
105
105
102
101
101
93
79
66
59
65
76
84
87
89
88
87
86
85
81
77
74
72
69
66
64
64
70
77
81
85
87
86
82
70
58
52
50
49
50
48
46
45
46
47
52
56
62
67
74
76
73
70
71
69
67
67
69
74
79
80
87
91
88
85
79
71
69
64
59
56
59
62
64
67
69
71
69
68
69
66
65
65
63
62
62
63
62
61
60
60
61
61
61
62
62
60
63
66
70
78
89
101
117
139
158
168
179
184
183
186
187
183
182
181
182
185
188
189
190
192
193
194
194
195
196
196
197
198
199
198
197
198
199
199
200
201
201
202
202
203
204
204
205
203
204
204
205
204
202
202
200
199
197
195
194
192
192
190
189
188
181
184
235
172
111
114
94
82
71
67
69
69
68
67
65
65
64
64
64
62
62
60
58
56
53
51
51
51
52
55
58
61
64
67
69
72
76
79
83
87
90
94
99
105
116
127
133
142
152
157
158
161
164
167
172
175
179
182
186
188
187
185
183
183
184
185
184
183
184
185
186
188
189
190
190
189
188
187
186
184
183
182
182
182
180
180
180
177
174
172
171
171
171
172
171
172
175
176
176
176
176
175
172
173
170
169
171
171
174
176
176
177
178
178
175
173
172
171
169
168
166
164
161
159
155
151
148
146
143
140
136
134
132
129
127
122
118
116
113
110
109
107
105
106
97
82
69
61
64
75
82
86
90
92
92
91
90
87
82
79
76
72
68
64
64
66
70
73
76
80
80
76
68
57
51
50
49
51
49
47
46
45
47
50
54
59
64
73
77
75
75
75
72
70
68
69
73
77
77
81
86
82
82
78
71
68
65
61
59
59
63
65
68
71
74
75
74
73
72
68
65
63
63
63
64
64
62
61
62
61
59
60
62
64
66
68
66
63
65
73
84
100
124
149
165
180
185
183
185
185
185
183
185
186
187
189
190
191
193
193
194
195
196
197
197
198
199
200
199
198
199
200
200
201
202
202
203
203
204
204
205
205
205
204
206
205
205
203
203
201
199
198
196
195
194
193
191
190
189
181
184
235
168
100
107
87
74
64
60
62
60
59
57
56
56
55
56
56
54
54
53
51
48
46
45
44
44
46
48
51
54
56
59
60
61
65
68
72
76
79
82
87
96
106
117
124
132
142
148
150
152
156
161
166
171
175
179
184
186
186
185
183
184
185
185
184
183
184
185
186
187
189
190
189
189
188
187
186
184
183
184
184
183
182
181
181
178
174
173
172
172
172
171
174
176
177
178
176
179
178
176
173
172
171
170
172
172
175
176
177
177
178
178
174
172
171
171
170
170
169
166
163
161
156
153
150
148
145
142
137
135
133
130
126
122
119
118
116
113
112
109
108
108
99
85
73
65
68
78
84
88
93
97
98
96
94
90
86
82
78
73
69
66
65
65
66
68
71
75
76
73
65
57
50
49
50
50
49
47
45
46
48
51
55
58
63
73
77
77
76
78
73
71
70
71
72
75
76
76
82
79
79
76
72
71
68
63
63
61
64
66
69
72
75
76
76
75
72
69
65
64
62
62
62
63
63
63
62
61
59
59
61
64
67
68
63
56
57
64
73
86
110
137
155
170
178
180
183
184
185
185
186
187
188
189
191
192
194
194
195
196
197
198
198
199
200
200
200
199
200
200
201
202
203
204
205
205
204
205
207
206
204
204
205
206
205
204
204
202
200
199
196
194
195
193
190
189
189
182
184
235
163
89
99
82
70
59
54
54
53
53
52
51
50
50
50
50
49
49
49
48
47
46
43
42
42
42
44
46
49
51
52
54
54
57
60
62
64
68
71
76
84
92
102
111
119
128
135
139
141
146
152
157
161
168
172
178
181
182
183
183
184
184
185
185
184
184
184
186
187
187
187
188
188
188
187
186
185
185
185
183
184
182
184
183
181
179
178
175
175
174
175
177
176
178
178
178
177
178
177
174
175
173
174
172
175
173
174
176
175
175
175
173
174
173
172
174
173
172
170
165
163
160
156
153
150
147
145
139
136
134
130
127
125
124
124
122
120
119
115
112
109
101
91
81
75
78
87
94
97
102
108
108
104
98
90
84
80
75
71
69
68
67
66
66
66
67
69
71
70
63
54
50
50
48
48
48
46
46
48
50
52
56
60
64
72
76
78
81
81
79
78
76
74
71
70
69
70
73
73
72
72
73
72
68
64
63
65
64
67
70
73
75
76
76
73
71
67
61
59
57
56
56
57
59
62
62
61
60
59
60
61
63
63
60
56
55
59
64
74
93
117
134
148
162
172
180
186
187
188
188
189
191
191
192
194
195
196
197
197
199
201
199
198
199
200
201
200
201
202
202
203
204
205
206
206
205
206
207
207
206
205
205
207
206
205
203
200
200
197
197
196
196
194
192
191
189
184
185
235
157
82
91
75
63
56
48
49
51
49
48
47
45
47
46
48
48
48
47
46
46
44
42
41
41
42
43
44
46
47
48
49
49
51
51
52
54
58
61
65
71
81
91
99
107
116
122
126
130
135
141
147
154
162
168
173
177
179
180
182
184
185
187
186
186
186
186
185
186
187
187
186
185
186
186
185
185
185
184
186
185
185
185
185
183
181
179
180
180
179
178
179
179
177
177
178
178
178
176
177
175
176
176
174
174
175
175
174
174
174
174
175
175
176
174
176
177
175
173
167
165
162
159
156
151
148
145
140
137
135
131
128
128
127
125
124
124
123
120
118
115
108
99
91
86
89
98
104
108
113
118
116
109
100
90
83
78
73
69
69
70
68
66
62
62
65
68
70
68
61
53
50
49
49
49
49
48
48
50
52
54
58
61
66
72
76
79
83
85
83
83
80
76
72
67
64
64
64
66
68
70
73
71
71
66
65
67
67
66
69
72
75
75
73
71
69
66
60
55
54
53
55
56
57
60
62
63
61
59
59
58
59
59
57
55
55
57
60
63
77
98
113
129
148
163
177
188
191
192
193
195
195
195
195
195
196
197
198
199
200
202
200
200
201
202
202
202
201
201
203
204
205
206
207
207
207
206
206
206
207
207
207
207
205
206
204
202
199
199
196
195
196
195
193
190
189
185
186
236
153
75
83
69
60
53
46
48
48
46
44
43
42
42
43
44
46
45
45
45
44
43
42
41
40
41
42
43
43
42
44
46
47
46
46
46
48
51
54
58
64
73
83
90
97
105
111
116
121
126
133
140
148
157
164
170
176
178
179
181
184
185
185
187
186
185
185
186
186
186
186
185
184
185
185
185
184
184
184
187
186
186
186
186
185
184
183
183
183
183
182
181
180
179
177
177
177
177
177
178
176
176
176
178
177
175
174
173
174
174
174
174
176
178
179
179
180
178
176
169
167
164
161
157
153
149
146
141
138
134
131
129
127
128
127
125
126
125
122
119
116
111
104
98
95
98
105
110
114
118
124
122
114
103
91
82
77
71
69
70
71
70
66
62
60
62
65
66
64
59
53
50
48
48
49
49
49
49
51
53
55
59
62
66
72
76
80
85
88
86
86
84
77
72
65
61
60
61
60
65
70
73
73
72
71
70
70
67
66
69
72
74
73
72
69
67
65
59
55
54
53
52
54
56
59
61
61
61
60
58
56
55
55
55
53
54
55
55
55
64
82
97
113
136
158
175
186
191
194
195
195
193
193
195
196
195
196
198
198
200
200
201
202
202
203
203
202
203
203
205
205
206
206
207
208
208
208
208
207
206
206
206
206
207
206
205
203
202
200
198
197
196
195
193
192
190
185
186
236
149
64
74
63
55
51
44
46
44
43
42
41
41
41
43
44
43
45
45
44
43
42
41
41
42
40
41
42
42
41
42
43
44
45
44
43
45
47
50
53
58
65
73
79
83
91
97
103
109
116
123
131
138
147
156
163
169
173
176
179
182
183
184
184
184
185
185
184
184
184
185
184
183
184
184
183
183
184
184
185
186
186
186
186
186
185
184
184
184
184
183
182
181
178
178
179
179
179
179
179
177
177
177
179
178
177
175
176
175
175
175
174
177
179
180
180
181
178
177
171
169
167
164
162
157
153
149
144
140
136
133
129
130
129
128
128
128
127
124
121
118
113
110
105
103
105
109
112
115
120
124
123
116
107
96
87
81
74
70
70
69
68
66
62
60
59
61
63
62
58
54
52
50
49
48
48
48
47
50
53
56
60
63
66
72
78
82
86
88
86
85
82
78
71
66
61
61
61
63
65
70
72
73
71
73
73
72
68
68
69
70
72
69
67
67
65
63
62
61
59
55
54
55
56
57
59
59
58
58
57
55
54
54
54
53
53
52
51
50
58
73
85
99
120
142
163
177
188
195
198
200
198
195
197
198
197
198
200
201
201
201
202
203
203
203
203
203
204
205
207
207
206
207
206
207
208
209
208
208
208
208
208
208
207
206
206
204
203
201
198
197
196
195
193
192
190
185
186
235
140
53
61
54
48
44
40
41
44
44
44
43
43
43
43
42
42
44
44
44
43
41
40
40
40
40
41
40
40
40
41
41
40
42
42
42
43
45
47
49
52
55
59
62
66
73
79
86
94
102
112
119
126
136
145
152
160
167
172
177
180
182
183
184
184
183
183
184
185
184
183
183
182
183
184
184
184
183
184
185
185
185
185
184
185
183
183
184
184
184
183
182
181
180
180
180
180
180
180
180
178
179
179
177
177
176
176
176
176
178
177
175
176
177
179
180
181
179
176
173
172
170
168
167
164
160
155
148
144
139
134
131
130
130
129
129
129
129
127
125
123
121
118
115
113
114
115
116
118
120
121
121
118
112
103
96
88
80
73
70
66
63
63
61
59
58
58
59
58
57
55
54
52
49
46
47
47
46
49
52
56
61
66
70
76
80
83
86
88
85
83
81
77
71
65
63
63
65
65
66
69
68
69
70
74
74
70
68
66
68
68
67
64
63
61
61
63
66
68
67
63
59
56
56
55
56
57
57
57
57
56
55
54
55
54
53
51
50
49
51
62
70
82
102
123
143
162
180
195
204
206
203
199
199
200
200
200
201
202
203
204
203
202
202
202
201
203
205
207
209
209
207
205
205
206
208
209
207
207
208
208
208
208
207
205
206
204
202
201
198
195
196
193
193
192
190
185
185
235
135
43
50
47
43
41
39
41
41
41
41
43
43
41
41
41
43
43
43
43
42
42
42
41
39
39
40
39
40
39
40
40
40
41
43
45
46
46
47
47
48
49
50
53
55
60
66
73
83
92
101
109
117
128
137
146
155
163
170
176
180
181
181
182
182
183
184
183
183
183
185
183
182
183
184
183
182
183
185
184
183
183
183
185
184
184
184
182
183
181
181
182
179
179
179
179
181
181
179
179
180
180
180
178
178
179
179
178
179
180
180
177
179
178
177
178
179
178
177
174
173
173
172
170
168
164
157
150
146
142
136
133
132
132
130
128
128
127
126
126
125
125
124
121
119
119
119
119
118
119
121
120
120
118
112
104
95
86
76
69
63
59
59
60
58
57
56
55
56
56
56
55
53
50
48
46
46
46
49
52
56
60
67
71
77
81
82
86
86
84
82
80
76
72
67
65
65
66
67
69
68
68
69
70
72
73
71
71
69
67
65
63
61
60
58
58
62
69
75
74
69
64
60
58
55
53
52
54
55
56
57
56
56
55
54
53
52
49
47
48
55
60
72
92
112
130
151
174
192
204
209
205
201
200
198
199
200
201
203
204
204
204
203
203
203
203
204
206
208
211
211
209
208
207
207
208
209
208
206
207
208
207
208
208
207
206
204
202
201
198
197
196
193
193
192
190
185
185
235
132
38
45
43
41
40
38
40
40
40
40
42
42
42
41
41
41
41
41
41
41
40
40
40
40
38
39
39
38
38
39
40
40
40
41
43
44
44
45
46
45
44
45
48
50
53
57
64
73
82
91
97
104
115
126
134
143
155
167
174
178
179
180
182
182
183
183
184
184
182
184
184
183
184
184
183
182
183
184
182
183
184
184
184
182
182
182
182
181
182
180
180
181
181
181
181
182
182
180
180
181
181
181
181
181
181
181
181
180
180
180
181
180
179
178
180
179
180
178
176
175
174
174
174
169
165
160
153
149
145
140
136
135
135
133
130
128
127
127
128
127
125
126
125
123
122
121
120
121
120
121
121
122
121
115
106
98
88
78
70
63
58
57
58
58
57
54
53
52
51
53
54
52
50
48
48
48
48
51
53
56
61
65
69
75
79
79
82
84
83
80
80
77
73
69
68
68
70
71
70
70
70
71
74
74
76
75
76
75
72
67
63
61
60
57
61
64
70
76
74
70
66
62
59
54
52
52
53
54
54
55
57
56
54
53
52
51
49
47
47
52
55
64
82
98
115
136
159
178
192
200
201
203
203
201
201
202
204
206
207
207
205
204
205
206
205
206
207
209
212
212
211
210
209
210
209
208
209
208
207
207
208
210
209
208
206
204
202
201
197
196
195
195
192
191
191
186
186
235
129
33
41
42
39
40
37
38
41
41
41
40
40
42
42
43
41
41
41
41
41
42
41
41
41
39
39
39
38
37
39
39
39
38
38
39
40
41
41
42
42
41
41
42
45
48
51
56
64
69
77
83
89
99
110
119
130
145
159
170
175
179
181
181
183
185
185
185
185
184
184
185
185
184
184
183
182
182
183
184
183
183
184
182
182
182
182
184
183
182
182
181
181
181
181
181
180
180
182
182
182
181
181
183
183
183
183
183
183
183
183
184
182
181
182
180
181
180
180
180
179
179
180
178
175
171
165
158
154
150
146
144
142
140
139
134
132
130
129
129
129
127
128
127
126
125
123
123
123
122
123
123
123
123
116
107
98
88
79
71
64
59
58
58
58
58
55
51
50
49
50
51
52
52
51
50
51
51
53
54
57
60
62
65
70
72
75
78
80
82
81
80
78
75
72
72
70
71
73
74
76
77
76
78
79
77
80
84
84
79
72
65
62
62
60
63
67
70
72
72
69
67
63
60
55
52
50
52
54
54
54
56
55
54
53
52
50
49
47
46
48
50
57
70
83
95
114
136
153
169
183
193
200
203
204
205
206
208
210
212
212
209
207
208
208
207
208
209
210
212
213
213
214
214
211
209
207
208
209
209
209
208
209
209
209
206
204
203
201
200
198
197
195
194
193
192
187
186
235
127
31
41
41
38
39
39
39
39
39
39
41
42
41
41
41
43
43
42
43
43
42
42
42
40
40
40
40
40
39
38
37
37
37
37
38
38
39
40
41
41
40
40
41
43
45
49
52
57
61
66
71
74
84
96
107
120
136
155
168
172
178
182
181
182
183
184
184
185
186
186
186
184
182
183
183
182
183
185
185
185
184
184
184
184
183
181
183
182
180
180
181
179
179
181
181
181
180
183
183
183
183
182
184
184
184
184
184
184
183
184
185
185
183
184
181
179
178
179
178
180
181
182
180
178
173
168
164
160
155
153
150
147
144
142
138
134
133
130
129
128
127
129
128
128
127
124
123
124
123
124
124
123
124
116
106
98
88
78
71
65
60
59
58
59
58
53
50
49
48
47
48
49
51
52
53
54
55
56
55
56
59
60
62
64
67
72
75
77
79
80
78
79
77
76
75
72
74
73
75
81
83
82
81
81
79
83
92
93
84
76
66
62
64
65
65
69
68
69
71
68
67
64
61
57
53
50
52
53
52
53
55
54
53
53
52
51
47
46
45
46
48
53
62
74
83
97
114
126
145
165
186
199
202
206
206
208
211
212
216
216
213
211
211
210
208
209
211
211
211
213
217
219
218
214
209
205
207
207
208
208
209
210
208
209
206
205
204
202
201
197
195
194
195
191
193
188
184
235
125
29
40
40
37
37
39
37
40
40
41
41
42
42
43
43
41
41
40
42
41
40
40
40
39
38
38
39
38
37
37
37
38
38
37
36
37
38
40
40
40
39
39
39
41
43
45
47
51
55
58
62
66
75
87
97
110
128
148
164
170
177
181
183
183
184
185
186
186
186
186
185
183
182
183
183
182
183
183
183
183
182
182
182
183
182
180
182
181
180
181
179
179
180
179
181
180
182
183
184
182
182
184
185
185
185
185
185
185
184
185
186
186
186
184
182
180
179
179
181
182
184
182
181
180
175
171
168
165
161
159
156
152
148
145
141
137
135
129
129
129
128
130
131
130
129
127
125
125
124
124
122
121
120
113
105
98
88
79
72
65
62
60
59
58
56
52
49
47
46
46
46
46
49
50
50
53
55
56
57
57
59
60
62
65
68
72
74
76
78
77
78
77
76
76
76
75
74
75
77
82
86
84
83
83
80
84
92
94
85
77
67
63
64
65
63
67
69
69
70
68
69
65
61
56
52
50
50
51
52
53
54
54
53
52
52
50
49
47
46
47
48
50
56
66
72
83
95
104
123
148
174
193
199
203
207
210
214
217
220
218
213
212
211
211
212
210
212
212
213
215
218
220
219
215
211
208
209
210
208
209
209
209
209
210
207
206
205
203
202
200
198
196
197
192
194
190
187
236
124
28
37
39
36
36
37
37
38
40
41
41
42
42
41
40
42
41
40
42
41
40
40
39
39
38
38
37
37
36
36
37
37
36
36
35
36
37
39
40
41
40
39
38
39
41
43
46
50
52
55
57
59
68
80
89
102
121
144
160
168
177
182
185
186
185
186
186
185
186
186
185
183
182
181
181
182
184
184
184
184
183
183
183
182
180
181
181
179
181
180
178
180
180
179
181
180
182
181
184
184
183
183
186
186
186
186
186
186
185
186
187
187
187
185
183
179
180
181
183
184
185
184
183
182
178
175
171
170
166
162
160
156
153
149
144
140
135
130
128
127
128
132
133
133
132
129
126
125
124
123
120
117
115
108
101
93
85
79
73
67
64
62
62
59
56
50
47
45
44
42
41
43
45
46
48
51
54
57
59
58
61
63
64
69
71
75
77
77
79
77
76
74
73
72
72
72
70
73
73
79
82
82
81
82
79
81
87
87
81
75
69
65
63
61
59
63
67
69
70
70
73
70
63
57
53
51
53
53
52
51
53
53
53
52
51
50
49
48
47
47
47
48
51
57
62
71
80
89
106
132
158
178
189
199
206
212
218
220
221
217
214
211
210
212
215
214
214
215
215
216
217
218
217
215
213
211
211
212
211
209
210
211
211
210
208
207
205
204
203
200
200
199
198
193
196
192
189
236
124
28
36
38
35
38
37
37
38
40
39
41
41
41
40
39
42
42
42
41
40
40
39
39
38
39
38
37
37
36
37
36
36
36
35
34
35
37
40
42
42
41
40
38
38
39
41
44
47
48
49
49
50
60
71
82
95
114
138
155
163
174
179
185
187
187
187
187
186
185
184
185
183
182
182
180
181
181
181
182
183
183
182
181
182
181
180
178
178
178
178
179
178
180
179
180
182
181
183
182
184
185
184
185
185
187
187
187
187
186
187
188
186
187
187
184
180
179
181
185
186
186
185
186
184
181
179
176
175
173
171
167
163
159
154
146
140
136
130
128
128
127
131
136
136
134
129
125
124
123
120
115
112
110
104
95
89
82
76
72
68
66
64
63
59
54
48
45
42
41
39
38
40
41
43
45
48
52
55
57
61
65
69
72
76
77
79
81
81
80
76
74
70
67
64
64
65
67
69
70
74
74
75
76
79
77
76
76
74
73
72
71
67
63
57
52
58
66
71
73
72
74
73
66
60
55
53
55
55
53
52
53
52
51
51
51
50
51
50
49
48
47
47
48
50
53
58
63
70
87
113
140
162
178
195
209
217
222
224
224
220
216
211
209
214
216
215
217
219
218
218
216
215
214
216
215
215
215
214
212
211
210
210
210
210
208
206
206
205
204
203
200
201
200
195
197
194
191
237
123
27
34
37
35
38
37
39
40
40
40
39
39
39
39
40
40
40
40
40
40
39
39
38
38
39
38
37
37
36
36
37
37
36
35
34
35
38
41
43
43
42
40
39
38
38
39
41
45
46
46
47
46
54
65
75
88
106
130
149
160
171
179
185
187
187
187
187
186
185
184
184
182
180
181
181
179
180
180
182
182
181
182
181
181
180
179
178
177
178
178
177
179
180
180
181
181
183
182
184
183
185
186
187
187
188
188
188
188
188
188
189
186
186
186
183
180
180
182
186
188
188
186
186
184
183
182
180
179
179
177
175
169
164
159
148
142
137
132
128
127
129
134
139
140
137
131
126
123
121
116
112
110
106
100
94
88
82
79
77
74
72
70
67
62
54
47
43
40
38
37
37
38
39
41
43
45
48
53
58
63
70
73
77
81
83
84
84
82
81
74
72
70
64
60
60
63
66
69
68
69
70
71
72
76
76
74
69
66
68
70
74
70
62
54
48
55
64
71
74
73
75
74
67
61
58
56
56
56
55
53
52
52
51
52
52
52
52
52
51
50
47
46
46
47
48
49
50
53
65
90
118
142
162
186
206
217
222
223
222
218
214
212
212
215
217
218
219
219
221
219
215
212
213
214
216
218
217
215
213
212
211
212
212
211
209
208
207
206
205
204
203
202
202
196
198
196
192
236
124
26
33
36
34
37
38
39
39
38
38
40
40
40
39
40
41
41
41
41
40
39
38
39
40
39
38
38
38
38
37
37
36
35
34
33
34
37
42
44
44
42
39
38
37
37
38
40
44
46
47
47
44
51
62
72
84
102
125
144
156
170
180
185
187
186
188
186
185
184
183
184
181
180
181
180
178
179
179
181
181
181
181
180
180
179
178
177
176
177
177
176
177
179
178
179
182
182
184
183
185
184
185
187
186
186
186
186
188
188
187
187
188
188
186
184
181
183
184
188
190
190
188
186
185
185
184
182
182
181
180
177
171
166
161
153
145
139
134
130
127
128
136
142
144
141
133
128
125
122
118
114
111
108
104
100
97
95
92
91
90
88
84
78
70
60
50
44
40
38
40
39
39
39
40
42
43
47
52
58
65
73
76
80
84
86
85
86
84
81
77
75
72
67
65
65
64
67
68
68
68
69
70
71
74
74
74
70
69
70
74
76
73
65
58
53
57
62
70
73
72
74
72
67
62
60
57
58
57
56
55
53
52
52
51
51
52
53
54
53
52
49
47
45
45
45
44
46
47
56
78
101
123
145
173
200
213
219
220
220
218
216
214
215
217
219
220
219
220
221
219
217
215
214
216
217
218
218
216
214
213
213
213
213
212
210
209
208
207
206
205
204
201
203
197
198
199
194
238
122
25
33
35
35
35
36
38
37
37
39
40
40
39
39
39
41
41
41
40
39
39
38
39
38
37
37
36
36
36
36
35
36
35
33
32
33
37
42
45
45
43
40
38
37
36
37
39
42
44
45
46
44
49
60
69
82
98
120
138
151
168
179
185
187
187
187
187
184
183
182
183
181
180
180
179
179
179
178
179
180
179
178
178
179
178
177
176
175
175
175
176
178
177
178
179
180
183
184
183
183
184
187
187
187
186
186
188
188
188
188
188
188
188
186
183
182
184
185
190
191
191
189
187
186
185
186
186
185
184
183
181
176
170
164
155
148
142
136
131
128
129
137
145
147
144
137
132
127
124
120
116
114
111
110
109
109
108
107
106
104
101
95
87
76
65
54
48
43
42
44
45
44
43
42
43
46
49
54
59
66
74
77
83
87
89
89
88
86
83
79
77
75
73
72
71
66
64
66
65
69
71
70
72
72
69
72
71
76
78
76
78
76
70
63
59
62
64
67
71
70
73
71
68
65
62
59
58
58
58
56
54
54
53
52
52
53
54
55
54
54
53
52
49
47
45
43
45
46
52
68
86
105
127
161
193
209
213
215
217
218
217
216
218
219
219
220
221
220
219
217
217
218
217
218
218
220
219
216
214
212
212
212
212
213
211
210
209
208
207
206
203
202
204
198
201
200
195
237
123
25
33
33
33
36
36
36
37
37
38
39
39
39
41
41
41
41
40
39
38
38
38
37
39
37
37
36
37
37
36
35
34
34
32
31
32
37
42
45
45
43
41
39
37
35
36
39
44
46
47
47
46
52
61
67
78
94
115
132
146
163
176
184
186
186
185
187
185
182
180
181
180
178
177
178
176
177
177
178
179
178
177
178
178
177
176
174
175
175
175
177
176
177
178
179
180
181
184
183
185
186
187
187
186
186
188
188
187
186
188
187
186
188
186
184
183
184
186
192
194
193
190
188
187
186
186
188
188
188
187
185
179
173
167
159
152
145
138
132
129
130
139
147
149
146
139
133
130
126
122
120
120
118
118
119
121
123
123
123
123
118
109
101
87
74
59
51
47
46
49
51
50
48
44
45
47
49
55
61
68
76
79
85
91
91
91
90
88
85
81
80
77
78
78
76
69
62
63
64
68
71
73
69
67
67
70
75
82
82
81
81
78
74
70
66
67
65
64
67
68
71
70
68
66
64
62
62
61
60
58
56
54
53
52
52
53
55
55
56
56
55
54
52
50
48
46
46
44
45
54
65
80
105
145
180
199
205
208
213
215
217
220
221
222
219
220
218
219
218
218
218
220
221
220
220
220
219
217
215
213
214
215
215
215
212
211
210
209
208
207
206
203
205
201
203
199
199
238
121
25
35
34
34
36
38
38
39
39
40
41
41
41
42
42
40
40
40
39
39
38
39
38
37
38
37
36
36
36
37
36
35
34
31
31
34
39
43
45
44
41
39
38
35
33
34
38
43
46
46
46
46
51
59
65
75
91
111
128
141
161
176
184
185
184
184
184
184
182
181
180
179
177
176
177
175
176
177
178
178
178
177
176
177
176
176
176
177
177
175
175
177
177
180
181
180
181
182
183
186
185
187
185
187
186
188
188
187
188
189
189
188
188
186
185
184
184
186
192
196
195
190
187
186
187
188
189
189
190
190
187
182
176
171
163
156
150
143
134
130
129
141
148
151
148
140
136
133
131
128
126
125
123
121
122
124
124
124
126
127
121
111
103
87
74
60
51
47
47
50
52
51
48
45
47
49
50
56
62
70
77
81
86
91
90
89
90
88
85
82
82
81
81
82
80
75
66
67
68
71
76
75
68
64
67
67
78
84
83
83
82
78
77
75
71
69
66
63
64
67
68
68
67
66
65
64
64
63
62
60
57
55
54
53
53
54
54
55
57
57
56
56
55
52
50
47
44
43
43
48
53
64
88
125
157
177
190
202
210
215
219
223
224
223
220
220
217
219
219
218
219
221
222
220
219
218
218
216
217
216
217
217
217
216
213
212
211
210
207
208
207
204
204
204
204
197
203
239
122
25
34
36
36
35
38
36
39
38
38
40
41
41
42
42
42
42
41
39
39
38
39
39
37
38
37
36
36
36
37
36
35
34
30
30
33
37
41
43
40
37
36
36
35
33
34
37
42
44
44
44
42
47
56
62
72
88
109
126
140
160
174
181
185
185
185
184
183
182
181
179
178
177
175
176
176
175
177
177
176
176
175
175
175
174
174
174
175
176
177
175
175
177
178
179
182
183
182
184
185
186
187
185
187
188
187
187
187
189
189
189
187
186
186
185
184
186
187
193
196
194
189
186
185
186
187
189
189
191
193
191
187
181
176
169
163
158
150
139
133
131
140
146
149
147
142
139
138
137
136
133
128
122
115
111
108
105
103
102
102
98
89
83
70
60
53
48
46
44
46
47
47
47
46
49
51
55
58
63
69
76
79
83
87
86
85
86
85
82
81
81
80
81
83
82
81
77
78
77
78
82
79
70
64
64
66
74
80
80
79
78
76
74
73
69
67
65
62
63
65
66
66
66
66
65
64
65
65
64
61
59
57
55
54
53
54
55
55
57
57
56
57
56
54
51
49
49
47
48
51
54
62
75
97
120
140
163
195
212
216
220
222
220
221
219
221
221
223
225
223
222
221
222
220
219
218
219
218
218
217
216
217
216
217
215
212
213
212
210
208
207
207
206
204
206
197
204
239
123
26
36
36
35
35
38
36
37
39
38
38
40
41
40
41
42
42
41
41
40
38
39
38
37
38
37
36
36
36
37
37
36
33
31
30
31
36
39
40
37
35
34
34
34
34
35
38
42
43
42
42
39
44
52
59
69
86
108
125
140
159
173
180
182
183
182
183
182
181
180
179
178
176
176
176
175
175
176
177
177
177
177
175
176
175
174
174
175
176
178
177
176
177
177
181
180
181
182
182
183
186
185
187
186
186
188
189
189
189
189
187
187
186
186
185
184
187
188
194
197
194
190
186
185
186
186
189
191
192
194
193
190
187
182
175
171
166
157
145
137
133
138
142
145
145
143
142
143
143
141
137
129
119
109
100
93
86
82
79
79
75
69
63
54
50
49
47
45
44
43
41
43
45
47
51
54
58
62
65
70
74
77
79
81
82
82
82
82
81
81
83
81
83
83
83
85
87
87
87
87
86
82
72
65
63
65
71
76
76
76
77
75
73
72
68
66
64
61
62
63
64
64
62
64
65
65
66
66
65
63
60
58
56
55
53
54
54
55
57
58
58
58
57
56
54
53
52
51
51
53
53
57
61
66
81
102
135
186
215
221
220
220
218
220
218
221
223
225
230
228
223
221
222
220
219
218
219
217
219
218
217
219
218
216
217
215
214
213
210
211
210
208
206
205
208
199
205
239
125
27
35
35
35
35
36
36
38
37
39
39
40
39
39
39
41
42
41
40
40
39
38
38
37
38
37
36
36
36
37
37
36
34
33
32
33
34
36
37
36
34
33
33
33
34
35
37
41
41
40
39
36
41
50
58
68
86
109
126
140
159
172
179
181
180
181
181
180
180
180
178
177
176
176
175
173
174
175
175
176
176
176
177
176
175
175
173
174
176
177
177
179
178
178
181
180
181
184
182
182
185
186
187
187
186
186
188
189
187
187
188
187
186
186
185
186
186
188
194
197
194
189
185
183
185
187
189
192
194
195
194
193
190
188
183
178
173
163
149
139
134
137
139
140
140
140
141
142
143
143
139
129
116
103
93
84
75
70
68
66
63
57
52
47
47
47
47
45
43
40
38
41
45
47
51
56
59
63
66
68
72
75
76
78
80
81
82
82
82
82
82
83
82
80
78
86
92
92
92
90
88
83
73
66
63
65
69
73
76
75
77
76
73
71
67
65
63
61
60
62
62
61
62
63
64
64
66
67
66
64
61
59
57
55
54
54
55
55
57
57
58
58
59
57
55
54
54
52
51
53
53
53
54
52
62
82
114
170
202
214
217
219
218
219
217
219
224
226
232
231
226
222
221
220
219
220
218
218
218
218
218
219
219
217
218
216
214
214
211
212
211
208
209
207
211
201
205
240
124
28
37
37
37
36
38
38
38
37
37
39
38
40
39
40
41
40
42
42
40
38
39
38
37
38
37
36
36
36
37
36
35
36
35
35
35
35
35
35
35
33
32
33
35
36
37
38
41
40
38
37
34
38
48
56
69
89
113
132
143
160
170
176
179
178
178
179
178
178
178
177
176
175
174
175
175
174
175
175
177
178
178
177
176
175
175
173
175
177
180
180
180
181
179
180
180
181
182
182
184
183
184
185
185
187
187
186
186
188
188
188
188
188
187
186
187
188
188
192
195
193
186
183
183
184
186
190
192
194
196
196
195
195
194
190
185
181
168
151
142
135
134
134
134
133
132
132
132
134
133
128
119
107
93
84
77
68
65
63
62
59
54
49
44
45
45
44
43
41
37
35
40
45
48
52
57
59
62
64
65
68
71
73
76
80
84
86
88
88
86
85
82
78
72
71
79
91
92
92
89
84
82
75
69
66
69
68
70
76
78
82
81
76
72
68
66
65
64
62
61
58
59
59
61
61
62
64
66
65
65
63
61
59
56
54
53
53
54
55
55
56
56
56
55
54
53
52
52
50
50
49
49
50
48
55
70
96
142
171
190
207
222
223
222
219
220
226
228
233
233
229
227
225
222
221
220
220
221
221
221
220
220
219
220
220
218
217
216
214
212
211
211
211
209
211
203
208
241
126
28
36
36
36
38
39
37
38
37
38
39
38
38
40
40
41
41
42
40
39
38
39
38
37
38
37
36
36
36
37
36
36
37
38
40
39
38
35
34
34
33
32
34
36
39
40
39
40
39
36
34
32
37
48
58
72
92
117
136
148
160
168
173
175
175
176
177
176
175
176
177
175
174
173
173
173
174
175
176
176
176
176
176
176
174
174
174
176
178
179
181
179
180
182
182
181
182
184
184
183
183
185
186
185
185
185
187
185
187
187
188
187
187
189
187
186
186
187
191
194
192
185
183
184
185
187
190
193
194
197
197
198
199
199
196
191
187
173
154
142
133
131
127
125
124
123
121
121
122
121
117
110
97
85
77
73
67
64
64
65
62
56
51
46
44
45
44
43
40
38
37
41
46
50
54
57
58
61
61
62
65
67
71
76
81
87
91
93
92
89
86
80
74
65
62
73
86
90
90
85
81
78
77
72
70
72
68
71
77
81
86
87
80
72
69
67
68
67
65
60
57
56
57
59
61
61
63
66
67
66
64
62
60
58
55
53
54
53
52
53
54
53
52
52
52
50
50
51
49
48
46
46
47
50
59
70
86
113
136
169
196
222
228
225
222
222
225
230
233
233
232
231
228
224
222
219
222
223
223
222
224
223
222
220
222
220
219
218
216
215
214
211
213
210
212
205
210
240
124
28
36
38
36
38
39
39
37
37
38
39
38
39
40
40
39
40
41
41
39
39
38
37
38
38
37
36
36
36
37
36
35
38
40
42
42
40
36
34
33
32
31
34
38
41
42
41
40
38
34
32
29
35
46
59
73
95
121
141
151
161
167
171
174
175
175
175
174
173
175
176
175
173
173
174
174
174
175
176
178
178
178
178
177
176
175
174
177
180
179
182
181
182
182
183
183
184
184
184
185
183
185
185
186
186
186
186
187
185
185
188
188
189
189
187
185
185
187
190
193
190
184
183
184
186
187
190
193
194
196
198
199
202
203
200
197
193
178
158
144
132
128
122
119
116
114
112
111
111
110
108
101
90
78
71
70
65
63
65
68
65
57
52
45
43
44
43
42
40
38
37
41
46
51
54
58
58
59
59
59
62
63
69
77
82
89
97
98
95
93
88
79
69
58
54
68
84
88
88
83
77
76
78
76
75
73
68
70
78
83
91
91
83
74
69
68
69
69
66
61
55
53
54
56
58
60
63
66
67
66
64
63
61
58
55
55
54
52
51
51
51
51
50
50
50
48
48
51
48
45
42
42
45
52
61
69
76
88
106
146
186
224
234
229
225
223
224
229
233
234
235
235
232
227
222
219
223
224
223
224
226
225
224
222
224
222
221
220
217
217
216
213
215
212
214
207
212
241
125
29
37
38
35
36
38
38
39
37
38
39
39
38
38
38
38
38
40
39
38
37
37
38
37
36
36
37
36
35
35
35
36
37
41
44
43
40
38
35
33
33
34
36
39
40
42
42
40
39
37
35
34
41
54
65
80
101
125
143
151
159
164
167
169
170
171
170
171
172
171
173
172
171
172
173
172
173
174
175
175
176
177
177
176
175
173
175
178
178
180
181
181
179
181
181
180
182
182
181
183
183
182
182
184
185
184
184
186
186
186
187
187
188
187
186
185
185
186
190
192
190
186
183
184
186
188
191
192
193
195
197
199
201
204
204
202
196
180
157
140
128
123
118
117
114
109
105
104
103
103
99
91
80
69
65
64
60
60
62
64
62
56
52
45
44
46
47
47
47
47
47
50
55
58
60
60
61
59
60
58
59
63
68
75
82
90
100
101
99
96
91
83
72
61
56
69
86
89
89
85
81
79
78
76
77
77
74
75
80
85
88
88
82
77
74
73
73
75
73
66
60
60
59
59
61
62
64
67
67
67
65
64
62
58
56
55
54
53
52
51
50
50
49
48
48
47
49
49
48
46
43
44
47
53
61
66
69
71
86
123
162
200
218
219
225
227
226
228
230
231
233
234
233
229
224
222
224
224
224
225
226
227
226
226
226
224
223
221
221
218
217
216
217
216
215
210
213
242
125
29
39
36
35
37
35
36
38
37
38
39
39
39
39
39
39
39
39
38
37
38
38
37
36
37
37
37
36
35
36
35
36
38
42
44
43
40
38
36
34
35
36
36
38
41
42
42
39
39
41
41
41
51
64
75
91
109
128
144
151
156
160
162
164
165
165
166
167
167
168
168
168
169
170
170
171
172
174
173
173
174
176
175
175
174
173
174
176
177
179
178
179
177
179
177
178
180
180
179
179
180
180
180
182
182
184
183
183
185
185
186
186
187
186
185
186
186
186
190
190
189
185
183
184
186
189
192
193
193
193
195
199
203
205
205
204
199
181
152
134
124
120
117
115
111
105
100
99
98
97
93
84
71
62
57
55
53
55
58
61
59
55
51
46
45
50
54
56
58
61
63
64
67
67
67
65
63
62
60
59
59
64
67
74
83
93
100
103
102
98
97
89
78
68
65
75
90
92
92
89
88
86
81
78
77
79
82
83
82
84
83
81
81
81
81
82
81
81
79
75
71
70
67
64
62
64
65
67
68
67
66
65
62
59
57
56
55
54
53
52
50
49
48
47
47
48
49
48
49
47
45
45
48
54
60
63
65
63
75
104
132
163
189
204
223
234
230
228
226
227
232
235
235
231
227
225
226
227
226
227
229
228
226
227
228
226
224
226
224
222
221
220
219
219
217
210
215
241
125
27
38
36
35
35
35
37
38
37
38
39
39
39
39
39
39
38
37
38
37
38
38
37
36
37
37
36
35
36
36
35
36
39
42
44
43
40
38
36
36
37
36
37
39
40
41
41
39
40
44
46
49
60
73
84
98
115
133
146
150
154
156
157
159
161
162
162
163
164
164
164
165
166
167
168
169
170
171
173
174
174
173
174
172
172
173
172
174
177
178
178
176
177
177
177
176
178
178
177
179
180
180
180
179
182
183
184
184
183
184
185
185
186
186
184
184
184
186
189
189
188
185
182
183
186
190
193
192
191
191
193
198
203
205
206
205
200
180
149
129
120
119
116
114
109
102
97
96
93
91
87
78
66
56
52
50
48
49
54
58
57
54
50
45
47
54
58
62
65
70
73
74
74
74
72
69
66
63
60
60
60
63
67
75
85
94
101
103
102
101
99
93
83
75
73
80
91
94
94
94
92
90
86
80
79
79
86
90
88
83
79
78
81
82
85
87
87
85
84
82
79
77
72
67
65
64
66
68
70
68
67
66
63
61
58
57
56
55
54
52
51
49
48
47
47
48
48
49
50
49
47
47
51
55
58
61
62
58
64
87
109
137
168
193
221
236
233
228
223
225
231
237
237
233
230
228
228
228
229
230
229
229
230
230
229
226
226
227
226
224
223
220
219
220
219
212
218
242
127
29
36
37
34
34
36
37
38
37
37
38
38
38
38
38
37
37
39
38
38
37
37
36
36
37
36
35
36
36
36
36
37
38
41
42
41
39
38
37
36
38
38
39
40
40
40
40
39
42
48
52
57
68
82
93
106
121
135
145
148
150
152
153
155
157
158
158
160
161
162
161
162
164
164
166
167
169
170
172
173
173
173
173
172
172
172
172
172
174
176
174
174
174
174
174
176
176
176
176
175
176
176
176
177
180
180
182
183
182
182
184
183
183
183
183
184
185
185
188
188
187
184
182
183
186
189
192
191
190
191
193
197
202
206
208
205
199
179
147
124
113
113
113
111
106
98
92
90
88
85
82
73
61
52
48
47
45
46
50
55
55
52
49
44
48
55
60
64
69
76
79
79
78
78
76
73
69
66
64
63
61
65
69
76
83
91
97
100
99
101
98
92
86
81
78
84
92
94
95
95
94
92
87
82
81
82
90
95
91
81
77
76
79
82
86
89
90
90
89
87
85
83
78
71
68
66
68
70
70
69
68
66
64
61
59
57
56
56
55
53
51
50
49
48
48
49
50
49
49
49
48
49
51
54
56
58
58
53
56
73
90
113
146
180
215
235
233
229
223
223
230
235
236
235
233
233
231
230
231
232
232
232
232
232
231
229
229
228
227
226
225
223
220
220
220
214
220
243
127
29
36
36
33
33
36
37
38
38
38
40
40
40
40
40
38
39
40
40
39
39
38
37
37
36
36
35
35
35
34
35
37
37
37
37
37
37
37
36
36
37
38
38
38
37
37
38
38
42
51
59
67
80
93
105
116
125
132
139
142
145
147
148
150
152
153
154
156
158
159
159
159
160
162
163
165
167
168
170
172
172
172
171
171
170
170
169
170
172
175
172
174
174
174
172
174
174
174
172
174
175
174
174
175
178
180
179
180
182
183
182
183
184
184
184
184
183
185
187
186
186
184
183
184
187
191
192
190
188
189
192
196
201
205
204
202
196
177
142
118
106
104
104
105
101
93
88
88
86
83
79
71
59
50
46
45
43
45
48
52
52
49
46
42
46
53
58
64
70
76
79
78
79
78
78
77
76
75
73
71
70
72
73
75
79
82
85
87
89
91
91
90
89
87
87
89
93
93
95
93
94
94
90
86
86
87
93
94
89
82
77
74
76
79
80
85
90
90
89
86
83
81
78
74
71
69
71
70
70
69
68
66
64
62
60
58
58
58
57
55
54
53
52
51
50
51
52
51
50
50
50
50
51
53
55
55
54
50
51
64
75
92
122
157
192
217
222
225
229
229
229
230
232
234
236
238
235
234
232
232
232
233
232
232
233
231
231
230
227
226
227
224
223
223
221
217
221
242
125
29
35
33
32
32
35
36
36
36
38
40
40
40
40
40
40
40
40
40
39
38
39
38
37
38
37
37
36
35
36
36
36
35
32
31
31
33
36
36
37
36
37
37
34
33
31
31
34
41
54
66
78
93
106
116
126
128
131
134
135
138
142
142
143
146
147
148
152
153
153
154
155
157
159
160
163
164
165
167
168
168
168
167
167
166
166
167
168
170
172
172
172
172
172
171
170
171
170
171
172
173
174
172
175
176
176
178
180
181
182
181
181
183
182
182
183
184
184
187
188
186
184
183
184
187
191
194
190
187
186
188
195
201
203
202
203
195
171
134
109
96
95
97
97
93
86
82
84
85
83
79
72
61
51
47
44
42
43
46
50
49
45
42
39
43
52
57
62
66
70
72
72
75
76
78
80
83
84
84
82
81
79
78
76
73
71
69
72
72
77
80
85
91
94
95
94
95
94
94
92
93
94
94
93
94
93
95
92
87
83
78
73
71
71
73
77
83
88
88
84
81
78
76
75
73
74
73
72
71
69
68
66
65
63
61
60
60
61
59
57
57
56
56
56
54
54
55
54
54
53
52
52
53
53
53
51
49
44
45
54
61
72
100
132
164
193
209
223
239
240
230
224
225
231
238
244
241
237
235
234
234
236
235
233
235
233
233
231
230
227
228
225
223
225
222
217
222
244
126
30
36
33
32
34
32
35
37
37
38
39
39
39
38
38
40
40
40
40
39
38
39
38
37
38
37
36
36
35
36
36
35
34
31
30
31
33
35
36
37
37
36
34
33
31
31
32
37
45
59
73
87
102
114
122
130
130
129
130
130
135
138
139
140
143
144
145
148
150
150
151
153
154
156
158
160
161
162
165
165
166
166
167
166
164
164
165
167
169
168
168
169
169
169
168
168
168
168
168
169
170
171
171
171
174
174
175
178
180
181
180
182
181
181
183
182
182
184
186
186
185
183
182
183
186
190
193
191
187
186
188
192
197
200
200
199
191
168
134
112
98
96
96
92
88
82
77
77
79
78
75
69
59
50
46
44
42
42
44
48
47
43
41
38
43
52
58
62
64
66
68
69
72
74
76
81
85
86
86
87
88
84
81
77
73
67
63
62
64
67
71
79
87
95
97
95
95
92
93
90
90
91
92
93
97
94
94
90
86
83
79
74
71
66
67
72
80
85
85
82
79
76
76
75
76
76
75
74
73
70
69
67
66
65
63
62
61
60
59
58
58
57
56
56
55
56
57
56
56
56
54
54
53
52
51
48
45
42
41
47
53
62
85
110
137
171
195
216
239
240
229
223
224
232
240
246
243
239
237
237
236
236
235
234
236
235
235
233
229
230
229
226
225
224
224
219
225
244
127
31
37
35
33
35
33
35
36
36
37
38
37
37
37
39
40
40
40
40
38
39
39
38
37
37
37
36
36
35
35
36
36
35
33
32
32
34
35
35
36
36
36
35
34
35
35
39
44
52
66
79
91
104
115
122
129
128
126
127
129
135
137
138
141
143
144
146
148
150
151
151
152
154
156
157
158
159
160
163
165
166
166
165
163
164
164
163
165
167
167
166
164
164
165
163
163
164
163
163
165
166
167
168
170
172
174
175
175
178
179
181
181
182
182
181
183
183
184
183
183
183
181
181
181
184
188
191
191
191
190
190
191
192
192
191
190
184
169
147
132
118
109
100
93
87
80
74
72
72
70
67
62
53
45
43
42
40
41
43
46
45
44
42
39
44
53
57
60
61
63
64
66
68
70
73
77
80
80
82
86
87
84
83
80
76
70
64
63
65
66
69
72
78
87
91
93
94
91
92
88
85
85
86
88
90
91
91
88
86
84
81
77
74
67
67
71
77
83
83
80
77
77
77
76
77
78
77
76
75
73
72
68
67
65
63
60
59
59
58
57
57
56
55
55
54
55
57
56
56
57
57
54
52
49
46
45
45
45
44
48
49
53
73
93
115
149
176
199
228
233
226
225
227
233
241
245
242
241
239
238
235
235
234
235
236
235
235
235
230
231
229
225
224
226
226
222
227
244
129
32
39
39
35
36
34
33
35
33
34
35
37
38
38
39
38
38
37
37
37
38
38
37
39
39
38
38
38
37
37
37
38
37
37
38
38
38
38
37
36
35
34
34
36
39
43
49
57
66
76
86
95
104
112
117
122
124
124
126
127
132
136
137
139
143
144
145
147
149
149
150
152
153
154
155
157
159
158
161
161
162
162
162
163
161
163
163
164
163
161
161
162
160
162
159
159
159
159
159
160
161
162
162
165
169
172
173
175
175
178
181
179
181
181
182
182
184
184
182
183
181
178
175
179
183
186
189
190
192
193
191
187
184
181
178
176
174
171
169
166
153
131
110
94
86
78
69
66
63
57
52
48
43
39
39
39
39
41
42
44
45
45
44
44
47
52
55
57
58
59
60
62
64
65
67
69
72
74
76
79
83
84
85
85
82
75
71
69
65
66
64
66
70
75
79
86
95
90
90
81
74
75
75
75
78
80
86
90
89
85
83
80
77
73
69
70
74
77
78
78
80
79
78
77
78
78
79
79
78
76
75
73
69
66
63
61
60
59
57
55
54
53
52
52
53
54
55
56
56
58
59
56
51
45
41
40
43
49
52
50
46
45
56
71
84
116
147
173
208
221
227
230
233
240
241
242
243
242
240
239
234
230
231
236
241
240
239
236
232
231
229
227
225
226
228
229
228
246
128
32
42
41
37
37
36
33
32
32
33
34
37
37
37
37
39
37
36
37
38
38
39
39
39
39
38
37
36
35
37
38
39
39
40
42
43
41
39
39
38
37
37
38
41
45
50
58
67
76
85
93
101
107
112
115
117
120
122
123
125
129
134
137
139
143
144
144
146
148
148
149
151
152
152
153
155
156
157
159
159
160
160
160
160
159
160
160
160
159
158
158
158
158
159
158
156
156
156
156
158
158
160
159
164
167
169
171
174
175
177
179
179
179
180
180
181
180
180
179
179
178
172
171
173
177
181
186
188
191
193
191
184
176
173
170
167
168
172
181
186
177
147
116
95
85
76
66
61
56
49
44
41
38
36
35
37
38
39
41
43
45
46
46
47
49
52
54
56
57
57
57
59
61
60
62
63
65
67
70
74
78
82
85
88
86
79
75
72
67
64
60
61
65
67
70
81
93
91
89
79
70
70
69
66
70
73
81
87
89
87
86
83
79
75
70
68
71
72
72
76
80
81
79
78
77
78
79
80
80
78
77
75
72
68
64
62
61
58
55
54
53
52
51
50
51
53
53
56
57
57
58
56
51
44
38
38
43
52
57
52
47
42
46
55
63
91
121
151
188
207
224
233
238
243
242
242
243
241
241
239
235
229
230
237
242
242
241
238
233
231
230
228
226
227
228
233
228
248
127
32
42
42
37
37
36
34
31
32
34
35
38
39
39
39
38
37
36
37
38
38
39
40
38
38
37
38
37
36
37
38
39
40
42
44
44
43
42
41
40
40
40
42
45
50
56
65
75
83
93
99
105
110
112
114
116
119
122
123
126
131
134
138
140
142
143
143
146
148
150
149
150
151
151
152
154
156
156
158
158
159
160
160
160
160
160
160
159
157
157
158
158
156
156
156
154
154
155
153
153
157
156
157
162
165
167
169
172
173
175
177
176
176
177
177
178
178
178
177
177
175
171
169
171
175
179
183
187
191
193
190
180
169
163
161
159
161
168
180
189
182
153
122
99
89
80
71
65
56
48
44
41
38
36
37
38
39
40
41
42
44
45
45
46
48
50
51
51
52
53
54
56
57
58
58
58
59
62
65
68
75
78
84
89
88
82
77
73
69
62
60
58
61
63
67
77
91
90
89
81
72
71
69
64
67
72
77
83
85
86
87
86
81
76
71
68
68
70
71
76
80
80
79
78
77
77
78
79
79
78
77
76
73
70
68
66
63
61
58
55
54
53
52
51
50
51
53
55
55
56
56
55
51
46
40
41
46
52
55
51
46
41
42
48
52
77
104
132
168
191
217
232
239
244
243
244
243
241
240
240
236
232
234
238
240
241
240
237
232
231
229
228
227
229
230
235
230
251
125
31
41
41
36
36
34
36
34
34
38
39
40
41
39
39
38
37
37
36
37
37
39
38
38
38
39
37
36
37
38
37
38
41
44
46
47
46
46
45
46
46
47
50
53
57
63
73
84
91
100
105
109
113
116
116
117
119
121
123
127
131
135
138
139
141
142
143
145
147
148
149
149
150
151
152
154
156
156
158
159
159
159
159
159
159
159
158
156
156
157
155
155
155
156
153
152
152
153
151
151
154
153
154
159
162
162
166
169
171
173
175
175
176
177
177
178
178
178
177
175
173
170
167
170
173
177
181
183
187
187
183
173
161
157
154
150
152
160
174
182
176
153
126
105
96
88
79
72
63
55
49
47
44
41
40
42
42
42
41
41
42
42
41
42
44
46
47
47
48
50
52
53
54
55
56
55
55
58
61
65
71
74
80
86
86
79
76
72
66
59
57
56
58
58
62
75
88
90
90
86
79
77
73
69
68
69
73
77
81
83
86
84
81
77
73
69
67
66
68
75
81
81
79
77
76
76
77
78
79
78
77
77
76
75
72
70
69
67
63
59
57
55
53
51
49
50
53
54
55
54
53
53
53
51
50
50
49
50
49
47
45
43
46
50
51
69
90
112
141
169
205
226
235
242
243
245
243
240
239
238
238
236
238
240
242
241
239
235
231
229
231
230
232
233
234
238
232
250
126
28
37
36
34
33
34
37
39
39
40
42
43
43
41
40
39
38
37
38
37
36
38
38
37
37
37
37
37
38
37
38
41
42
44
47
49
51
51
53
55
56
58
62
67
72
78
86
93
100
106
110
115
119
120
120
120
122
123
124
128
132
135
138
139
140
141
142
143
145
147
147
148
149
150
151
154
156
156
158
159
158
157
157
158
157
157
155
155
155
157
157
155
157
156
152
152
150
150
149
151
152
151
152
157
159
161
164
166
169
170
171
170
172
172
172
174
174
173
172
171
169
167
166
167
170
174
177
178
179
180
174
164
155
148
145
142
141
148
160
168
164
148
130
113
106
98
90
83
75
65
57
54
51
47
46
45
44
43
42
41
40
40
39
38
40
41
41
42
43
46
50
51
51
51
51
50
51
54
57
60
65
68
74
81
81
76
73
70
64
58
57
55
57
56
60
73
88
90
92
91
88
86
81
74
71
69
69
71
76
79
83
84
80
78
74
70
66
64
67
75
82
82
79
76
74
73
74
76
77
78
78
78
79
79
77
75
75
74
70
65
60
56
54
52
49
49
52
53
53
51
48
48
52
58
62
61
55
47
42
42
45
48
50
53
53
63
76
90
110
143
187
216
232
242
247
250
245
240
237
235
239
241
243
243
243
240
237
232
227
227
231
233
238
238
236
240
235
251
125
25
36
34
32
34
36
37
41
41
42
44
44
43
43
40
39
38
37
37
37
38
39
39
37
38
38
37
37
38
38
40
43
44
46
49
51
54
56
59
60
64
67
71
75
80
86
93
101
106
111
114
118
121
124
123
123
124
125
126
129
133
136
139
140
141
142
143
142
144
147
147
148
150
150
152
155
156
157
159
159
157
158
156
155
154
154
154
155
156
155
155
156
156
156
151
150
152
150
147
149
149
149
150
155
155
158
162
164
165
166
166
168
169
170
170
170
170
170
170
169
167
165
164
165
168
170
173
173
174
174
169
158
146
139
135
132
133
137
148
155
154
140
125
113
106
98
89
82
73
67
62
57
54
51
48
46
45
44
43
41
40
39
37
36
37
37
38
40
42
45
47
49
50
50
50
49
49
51
53
56
59
66
72
77
78
74
72
69
64
59
56
54
54
54
59
70
85
88
91
95
93
90
85
77
73
70
67
68
72
77
81
82
80
77
74
71
66
65
68
76
80
83
80
76
74
73
73
73
75
77
76
77
79
80
80
80
79
77
73
67
62
58
54
51
48
50
53
52
52
50
46
46
52
60
68
68
59
47
41
43
46
51
51
52
52
59
67
77
87
120
170
203
220
236
243
247
245
240
235
236
240
247
246
243
241
238
233
229
226
228
232
235
240
241
238
239
234
250
122
25
33
34
31
33
35
36
40
40
41
42
43
41
40
39
38
37
38
38
39
39
40
40
38
40
40
40
41
42
43
44
46
48
50
54
57
61
64
66
68
72
75
79
84
88
93
101
109
113
117
118
121
123
124
126
127
128
129
131
133
137
140
143
144
144
145
145
144
146
148
148
150
151
152
154
156
158
159
160
160
159
157
158
157
156
153
154
156
156
156
154
155
155
155
150
149
150
149
146
146
149
149
147
152
154
154
158
161
160
162
165
165
166
166
166
166
166
166
166
164
164
163
162
162
164
166
168
167
167
165
159
148
136
129
125
122
121
125
134
141
140
128
117
107
100
91
83
76
69
62
57
53
50
47
45
44
42
42
42
40
39
38
38
37
37
37
38
39
41
43
44
45
46
47
48
47
46
48
49
52
56
62
67
72
74
72
71
68
63
58
54
54
54
53
54
66
79
84
87
91
93
90
86
79
74
71
68
66
70
74
77
79
80
76
75
73
71
70
72
76
81
82
81
79
77
76
74
74
75
76
76
76
78
79
80
79
79
78
74
68
63
59
55
52
49
52
55
55
56
53
49
48
53
61
67
67
60
49
43
45
47
51
49
49
49
54
60
68
76
107
154
184
205
226
238
247
244
241
238
238
244
249
246
242
237
234
230
230
230
231
235
237
241
240
234
237
232
249
122
22
31
33
31
31
34
35
37
38
37
39
41
39
38
38
36
36
36
37
38
40
41
41
43
43
43
42
43
45
46
48
50
53
58
64
68
73
76
78
82
87
91
94
98
102
107
112
117
120
124
126
127
127
128
129
129
130
132
135
138
141
145
146
146
147
148
148
146
147
150
150
152
153
154
156
158
160
161
164
162
161
160
159
158
157
155
153
156
156
156
155
152
151
151
151
150
147
146
146
146
147
147
144
147
151
151
154
158
158
159
161
161
161
161
161
159
158
158
157
156
156
156
156
157
158
160
159
158
156
152
144
134
124
116
111
108
105
108
115
119
117
106
97
88
82
74
69
64
56
52
49
46
44
42
42
42
40
40
39
38
39
39
38
38
39
38
39
40
41
41
42
43
43
44
45
43
42
44
45
48
52
56
60
67
68
69
69
66
60
57
54
51
51
51
53
62
74
79
81
87
90
88
84
82
76
75
69
66
67
71
73
75
75
76
76
78
76
75
77
79
82
82
81
81
81
79
77
76
75
74
73
74
76
77
79
78
78
77
72
67
62
60
57
54
52
55
59
59
61
59
53
52
56
60
64
64
60
51
45
46
48
53
50
48
47
48
50
54
59
84
126
154
178
206
228
241
243
241
240
241
246
248
245
240
233
230
231
234
234
236
239
240
240
238
232
234
228
247
120
23
30
33
32
34
32
33
34
35
35
36
39
38
37
37
37
37
38
39
41
42
44
45
46
47
47
49
51
52
53
55
59
63
69
75
80
85
90
94
97
101
106
109
113
117
120
125
128
129
131
132
133
133
133
132
133
135
137
139
141
145
149
150
151
151
153
152
152
152
153
155
154
156
157
159
162
163
165
165
164
163
162
161
160
157
155
153
154
154
154
153
153
151
152
149
149
146
146
143
143
145
144
144
147
147
150
150
152
153
154
154
155
155
155
154
153
151
151
151
149
151
151
151
151
152
152
150
147
142
137
129
120
109
101
96
93
90
90
93
95
92
85
78
71
65
60
55
51
47
43
41
40
39
37
38
38
38
38
36
37
38
38
38
39
40
39
40
41
42
41
40
41
41
42
43
40
39
39
41
44
47
50
55
62
64
64
66
64
58
56
53
50
49
48
48
57
66
72
75
83
87
85
85
83
78
76
69
65
67
68
69
71
75
78
80
82
81
81
81
81
80
81
83
85
86
85
82
78
75
73
72
70
72
74
74
75
76
75
73
69
64
60
57
56
55
56
62
66
67
65
61
59
59
61
63
62
58
53
51
50
49
50
48
47
47
45
45
45
46
65
94
121
145
180
208
229
235
239
244
246
246
250
243
240
229
228
229
235
238
242
241
239
236
235
230
230
224
249
121
25
31
34
35
36
33
35
33
34
36
37
39
38
38
39
41
42
43
45
47
50
51
53
56
57
58
59
60
62
64
65
67
72
77
83
88
94
100
104
107
111
116
119
121
124
127
131
133
135
137
137
137
137
136
135
136
139
141
142
145
149
152
153
153
154
154
154
154
155
155
156
156
158
159
161
164
165
167
166
165
163
164
163
161
158
156
154
156
155
155
154
153
151
152
148
147
147
146
143
144
142
142
145
145
146
147
148
149
152
153
151
152
152
152
150
150
148
148
147
146
146
149
150
150
150
150
148
142
137
129
122
112
102
94
89
86
83
82
82
83
81
76
69
62
57
53
49
46
44
40
38
37
36
36
37
37
38
38
37
38
38
39
40
40
40
41
42
42
41
40
39
40
41
42
42
40
38
38
40
42
44
49
54
59
61
62
64
62
57
55
53
51
50
47
47
52
57
64
68
78
85
86
83
81
78
74
68
63
66
69
71
74
77
80
82
81
81
80
80
80
79
79
82
86
88
87
82
77
74
73
70
68
70
72
72
73
73
74
71
67
63
60
58
57
57
58
65
69
69
67
65
63
61
60
58
58
56
55
54
52
50
49
48
47
46
47
46
45
46
59
77
98
118
155
182
205
219
231
239
246
242
244
238
238
232
231
233
236
242
243
241
238
236
232
231
231
225
250
124
26
32
36
36
38
35
34
32
35
36
37
40
39
41
40
44
46
48
51
55
58
61
63
65
66
67
68
70
71
73
76
77
82
89
94
100
106
110
114
118
120
124
127
129
131
132
135
137
137
138
138
138
138
138
140
141
143
146
148
150
153
156
157
159
159
159
159
159
159
160
159
158
159
161
163
165
166
168
167
166
166
165
164
161
159
157
155
156
155
153
154
152
152
153
150
149
146
146
145
143
144
144
144
146
147
148
149
148
151
150
151
151
150
149
148
146
147
146
143
143
142
144
147
146
146
146
142
136
130
123
115
104
94
87
82
78
75
74
74
73
71
66
62
55
52
48
44
42
40
37
37
36
35
36
37
38
39
38
38
38
39
39
40
41
42
42
43
43
41
39
38
39
41
42
42
41
40
38
39
41
43
46
50
55
58
59
63
61
57
55
54
51
50
48
46
47
49
54
62
76
87
88
84
81
77
73
66
61
63
70
74
78
81
81
83
81
78
75
76
78
79
81
85
89
91
89
84
78
74
71
69
67
68
69
68
69
70
70
69
65
62
61
59
59
59
61
66
70
71
71
71
69
65
60
54
52
54
56
56
54
50
49
48
46
47
47
47
48
51
59
68
81
96
131
160
182
204
228
238
246
241
236
234
234
236
236
238
239
243
241
240
237
234
232
233
238
230
250
124
27
33
36
40
41
37
35
32
34
35
36
39
41
42
44
48
50
55
59
64
67
71
72
73
75
76
78
80
82
84
86
90
94
101
106
111
116
120
123
127
130
131
133
134
136
137
139
141
141
141
141
141
141
142
144
146
148
151
153
156
158
160
161
160
161
162
162
162
161
163
161
162
163
163
165
166
168
168
168
167
166
165
163
161
160
158
157
156
155
155
154
154
154
153
149
150
148
145
144
145
143
143
146
145
146
147
149
150
150
149
148
148
148
147
146
144
143
142
140
139
140
142
143
144
145
144
139
132
123
115
106
97
88
81
77
72
68
66
64
62
59
56
53
49
45
43
41
40
38
35
34
35
35
36
37
38
39
39
39
40
39
40
41
41
42
43
44
43
41
39
38
40
42
43
43
42
41
40
39
40
41
44
47
52
55
57
61
60
57
55
54
51
48
48
47
46
41
47
58
75
86
89
86
83
78
73
65
59
64
71
76
80
82
83
83
80
76
72
73
76
78
82
86
90
92
91
86
80
76
72
68
66
65
65
65
66
66
66
66
63
61
61
60
60
61
63
66
69
72
74
75
73
68
59
50
47
51
56
58
56
52
50
49
48
48
49
50
51
50
51
51
56
69
102
131
152
184
218
231
245
238
229
232
234
241
241
243
242
243
240
237
235
234
233
235
241
234
252
126
28
35
40
42
45
42
40
40
41
43
45
47
49
53
55
61
63
67
72
76
80
84
87
89
90
92
94
94
95
97
100
103
108
114
120
123
126
130
133
136
138
139
140
141
141
142
144
146
146
147
147
146
147
148
147
149
152
155
157
159
160
162
163
162
163
164
164
164
163
164
164
164
165
166
166
166
167
167
167
166
165
164
162
161
159
158
157
155
153
153
154
154
154
152
152
151
148
146
145
145
144
144
148
146
148
149
148
150
148
148
147
147
146
145
144
142
141
140
138
137
138
141
143
142
142
141
138
129
121
111
102
93
85
78
74
70
66
61
57
55
53
50
48
46
43
40
39
38
37
35
34
34
35
37
38
39
40
40
39
39
39
40
41
41
41
44
44
43
41
39
38
40
42
42
42
43
42
41
40
39
39
42
45
49
52
54
57
59
56
54
53
51
49
48
47
44
40
45
55
69
81
83
82
82
78
75
67
64
65
72
76
79
80
82
82
79
73
71
71
74
76
77
82
86
89
88
84
80
76
73
69
66
65
64
63
64
65
65
65
64
62
62
61
60
61
63
65
68
71
74
75
75
69
58
49
47
50
54
57
55
51
50
50
50
51
52
53
53
53
50
45
47
55
82
105
125
155
194
212
231
232
226
231
234
241
243
243
242
242
237
238
237
236
233
235
241
235
252
124
29
37
41
42
46
46
49
49
53
55
57
59
62
65
68
73
76
81
86
91
96
98
101
102
104
106
105
104
106
109
111
115
118
123
128
131
134
136
139
141
143
144
144
145
145
146
147
148
148
148
148
148
149
149
150
152
155
158
160
161
162
162
163
164
165
166
166
166
166
166
166
166
166
165
164
166
166
166
164
164
163
162
161
160
158
157
156
155
152
152
152
154
154
154
152
153
150
150
149
147
148
146
149
148
148
150
150
149
148
149
149
147
146
144
143
142
141
140
138
137
137
140
142
142
140
139
136
127
119
110
101
91
83
76
72
68
64
59
54
51
50
49
47
45
44
42
40
39
39
36
36
36
37
38
39
40
41
41
41
40
39
39
40
41
40
43
43
42
40
39
38
41
43
44
44
44
43
42
41
39
39
41
43
46
49
50
53
56
55
53
52
49
48
48
47
45
45
50
55
65
72
75
76
80
79
79
73
70
70
72
73
74
75
77
78
77
75
73
72
72
71
72
75
81
84
83
82
78
75
73
70
67
66
64
63
64
65
66
66
64
63
63
61
60
61
61
61
62
66
70
73
73
69
60
53
51
51
53
54
53
52
51
52
53
54
54
55
54
53
50
44
44
50
69
85
100
132
172
193
212
223
232
237
238
241
242
242
241
239
236
237
237
238
234
235
236
230
252
126
30
40
42
44
48
52
58
59
62
65
67
69
72
75
79
86
89
95
100
104
108
111
114
116
118
118
117
116
117
120
121
126
129
132
135
137
140
142
144
145
146
146
147
148
148
147
148
150
150
151
151
151
152
152
154
157
159
162
163
164
165
164
164
165
166
167
167
167
167
167
167
167
166
164
163
162
162
163
161
160
159
159
159
158
157
155
156
154
152
152
154
153
153
155
153
154
153
153
152
151
151
149
151
151
151
151
151
151
149
148
147
148
146
144
143
142
141
140
138
137
137
140
142
141
138
138
134
126
116
107
99
91
83
76
70
66
62
57
51
48
47
46
45
45
44
42
42
42
41
39
39
40
40
41
40
40
41
41
41
40
39
40
40
40
39
41
42
41
39
37
38
41
43
43
44
45
45
43
42
41
39
40
41
43
46
47
50
53
52
52
49
49
50
48
46
47
49
55
57
61
65
67
73
79
82
82
80
78
76
71
68
67
67
71
73
75
77
76
75
70
67
68
71
76
78
80
79
78
77
73
71
68
67
66
65
65
66
67
68
67
67
66
63
61
59
57
57
57
59
63
67
69
68
63
58
55
53
50
50
50
52
53
55
57
58
58
56
53
50
47
44
48
49
59
67
78
111
146
170
192
215
239
244
242
242
239
239
236
235
236
240
241
241
237
231
230
223
249
130
35
45
48
49
53
61
67
74
78
81
83
86
89
92
95
103
107
112
118
122
126
129
131
130
133
133
132
130
132
134
135
136
139
142
144
146
149
151
151
151
151
150
149
149
149
150
152
154
155
156
156
157
157
157
158
160
162
165
166
167
166
165
165
166
167
168
168
168
168
168
167
166
165
163
161
160
159
159
158
158
158
159
158
157
155
156
154
153
152
153
155
155
155
153
155
155
153
154
152
151
151
151
153
151
151
152
152
152
151
150
148
146
146
144
142
143
142
140
138
137
138
140
141
140
138
136
133
124
114
105
97
89
83
76
69
65
62
56
51
47
47
46
44
44
45
43
42
44
43
41
41
41
43
43
43
43
43
41
41
40
40
39
38
38
39
40
41
40
38
37
38
40
43
44
44
45
46
44
42
41
39
39
40
42
43
44
47
50
48
51
48
50
50
48
45
48
53
56
54
55
57
60
68
78
80
84
83
84
79
71
64
63
64
66
68
72
78
80
78
68
62
60
64
69
72
74
75
75
75
73
71
69
68
67
66
66
67
67
68
68
69
68
64
62
59
56
55
53
53
57
63
68
69
66
61
58
53
48
47
47
50
54
57
60
61
59
56
53
48
47
44
47
43
46
47
54
84
117
143
168
203
243
249
246
242
240
236
234
233
236
239
244
244
237
228
224
220
246
142
58
65
69
68
75
77
88
93
93
97
100
102
105
108
112
118
122
126
131
135
139
142
144
142
141
141
139
138
138
139
142
143
144
146
149
151
152
153
153
154
153
153
153
152
152
153
155
156
158
159
159
160
160
159
160
162
164
166
167
167
166
165
165
166
168
169
168
167
167
166
167
166
165
164
163
162
161
161
161
160
159
157
157
156
157
155
156
155
153
153
153
155
154
154
154
156
156
154
155
153
153
153
155
153
154
152
153
151
150
149
150
147
146
144
142
141
139
138
137
136
137
138
139
138
136
133
128
121
112
103
95
87
80
74
69
65
62
56
50
46
43
42
42
41
41
40
40
41
40
40
40
40
41
41
42
42
42
40
39
39
40
39
38
38
39
39
40
40
39
38
38
41
44
46
46
46
46
45
43
42
41
40
38
40
41
42
44
46
46
49
48
47
48
46
48
50
52
54
54
55
55
57
64
71
75
78
80
80
75
69
65
64
66
69
70
71
75
79
78
72
67
65
68
70
70
72
74
74
73
73
71
69
67
65
64
64
65
66
68
67
67
67
64
60
58
56
52
50
50
54
60
64
66
64
62
60
56
50
47
48
52
54
56
58
58
56
53
51
46
46
49
51
49
46
45
46
71
96
123
142
184
233
238
239
237
236
239
237
235
238
241
242
241
237
227
221
215
244
154
77
85
86
85
92
93
104
110
110
114
116
116
118
121
124
129
133
137
141
144
148
151
152
149
148
146
145
143
141
142
144
146
147
149
150
152
153
153
153
153
152
153
154
153
153
155
156
159
160
161
161
162
163
162
162
164
166
168
169
168
167
166
167
168
170
171
170
169
170
169
168
166
165
164
163
162
161
161
160
160
159
159
159
157
158
156
157
156
154
155
153
154
156
155
157
156
158
157
155
156
156
156
156
156
156
154
153
151
150
151
149
147
146
144
141
140
137
136
135
134
135
136
136
135
133
131
126
118
110
102
94
87
79
74
69
65
61
55
48
44
40
39
39
37
36
36
38
38
37
37
38
37
38
39
39
40
41
40
39
40
40
39
38
39
38
39
40
40
39
38
38
40
43
44
45
46
46
45
43
42
41
39
38
37
39
40
41
43
44
45
45
45
45
44
45
47
50
50
52
52
55
57
61
66
70
71
74
74
71
68
66
66
68
67
67
70
73
77
76
75
73
71
70
70
70
70
72
74
73
72
70
68
67
65
63
63
64
65
67
66
67
67
64
61
58
53
49
47
48
51
57
61
64
65
66
64
58
52
50
51
53
54
55
56
56
54
51
49
47
49
52
55
55
48
44
45
61
80
102
119
166
219
230
232
236
235
239
237
237
240
238
237
237
232
223
219
214
244
172
105
111
112
111
118
119
126
128
131
132
133
135
136
139
141
145
146
151
154
157
159
161
161
160
157
154
151
148
146
147
149
149
150
151
152
154
155
155
155
155
154
155
156
155
155
157
159
161
162
164
165
165
166
165
166
167
167
169
170
169
168
167
168
170
172
173
172
172
171
170
169
166
164
164
163
161
160
161
160
158
158
158
159
160
158
159
158
157
156
153
154
155
157
157
156
158
158
158
157
157
157
157
157
157
157
157
154
154
152
151
150
148
146
145
141
139
136
133
135
133
134
134
134
132
131
128
124
116
109
102
95
86
80
74
69
64
59
53
46
42
38
37
36
34
33
33
34
35
36
36
35
36
36
38
39
38
39
40
40
40
40
39
38
39
39
39
39
39
38
37
37
39
41
43
45
45
45
45
43
42
41
39
36
36
37
38
39
41
42
43
45
44
44
43
43
47
47
49
50
51
53
54
57
60
63
63
67
66
66
67
65
66
68
66
69
71
71
74
77
78
80
78
75
70
67
68
71
72
72
71
69
67
66
63
61
62
63
64
66
66
67
66
64
61
58
53
48
45
45
49
54
57
61
64
66
66
61
53
50
51
53
54
55
55
54
51
49
48
46
49
54
58
58
50
45
43
50
59
74
92
141
194
212
218
229
233
236
240
241
242
241
238
231
229
219
219
215
245
179
124
131
131
129
137
135
140
147
147
148
148
149
150
151
151
153
156
159
161
165
167
167
165
163
161
157
155
152
151
152
153
153
154
155
156
157
157
159
158
157
157
158
159
159
159
161
162
163
166
167
167
168
168
167
168
169
169
170
171
170
170
170
169
170
171
172
171
171
169
168
168
166
164
163
162
161
160
160
160
160
161
161
160
160
161
160
159
158
156
154
155
157
156
158
156
158
158
158
157
157
157
157
155
156
156
156
155
152
150
149
152
149
147
144
140
138
135
132
132
132
131
133
132
129
127
125
122
114
109
104
96
88
80
74
67
61
57
52
45
40
37
36
36
35
34
35
36
37
38
37
36
36
36
36
38
39
38
39
40
40
40
39
39
39
39
38
37
38
37
36
37
38
40
41
42
42
43
43
42
41
39
40
38
37
36
37
38
40
41
42
43
45
45
44
43
46
47
45
46
48
48
49
51
54
57
57
60
61
63
64
64
64
66
67
68
71
73
75
78
81
83
81
77
71
67
68
70
70
69
69
68
66
64
61
59
60
61
62
64
64
65
65
62
60
58
55
50
47
46
49
52
55
57
61
64
64
61
55
53
52
54
54
53
53
51
50
49
48
48
51
56
59
60
53
47
44
50
56
64
79
119
166
187
200
220
232
237
240
242
239
234
231
228
225
223
224
219
246
192
143
152
151
148
153
155
158
159
160
161
160
159
160
160
160
162
163
165
167
169
170
169
167
166
163
160
155
152
151
152
154
155
155
156
158
159
160
160
160
159
158
159
160
160
161
162
163
165
168
169
169
170
170
170
169
168
168
170
171
170
169
170
169
170
171
171
170
170
168
167
167
165
163
162
162
161
162
161
162
163
163
163
163
162
161
160
159
157
156
157
156
158
156
156
156
158
158
157
155
155
156
156
154
154
154
154
153
151
150
149
149
148
147
144
140
136
134
131
131
131
130
130
129
127
124
122
119
114
109
102
96
89
81
74
66
60
55
50
44
39
38
38
38
38
39
40
40
39
40
39
38
39
38
37
37
37
38
39
40
40
40
39
38
37
37
37
36
36
36
36
37
38
38
40
42
42
42
43
42
41
40
40
38
35
36
36
37
39
40
43
44
44
44
42
44
44
45
46
45
42
40
40
43
49
52
55
58
60
59
59
58
60
63
64
66
69
73
77
80
82
82
84
79
73
69
70
71
70
69
68
66
64
61
57
56
57
58
59
61
61
62
63
60
58
57
56
53
51
51
51
54
54
55
57
58
58
58
57
55
55
54
52
51
50
49
49
50
50
51
53
55
57
58
56
52
52
49
51
56
67
92
122
149
171
205
228
233
237
240
235
229
223
220
224
230
235
229
248
197
158
163
159
158
162
164
167
169
168
170
168
168
168
167
166
167
168
169
170
172
171
171
169
167
163
158
156
154
152
152
153
155
156
157
158
160
160
161
161
160
159
159
159
159
160
161
164
168
170
171
171
171
171
170
169
168
169
170
171
171
170
170
170
170
171
170
170
169
168
166
166
164
163
163
163
163
163
164
164
164
164
164
162
163
161
159
160
159
158
157
158
156
158
158
156
156
157
156
154
155
155
155
153
153
155
155
154
151
150
149
148
147
146
143
139
135
134
131
131
130
129
128
127
124
122
120
117
112
109
105
98
91
82
74
65
58
53
48
43
39
38
39
42
43
43
43
43
43
42
41
41
40
39
39
38
38
39
39
40
40
40
39
38
37
38
36
36
37
36
37
37
37
37
38
39
39
40
40
40
41
40
40
38
35
35
36
37
38
40
41
43
43
43
41
41
43
46
45
42
39
36
36
39
44
46
52
55
58
58
55
53
56
59
61
63
69
75
80
82
83
83
81
78
75
72
72
73
71
69
67
64
62
58
55
54
53
54
56
59
59
60
60
59
57
56
56
55
55
54
54
55
54
55
55
55
55
57
59
59
57
53
50
48
46
47
48
52
53
55
56
55
55
57
56
56
57
55
54
55
61
73
89
119
152
195
224
232
235
240
232
226
221
212
224
234
246
240
252
207
170
174
170
169
171
175
176
180
179
178
177
176
173
171
171
171
172
172
173
174
175
173
171
168
165
162
159
157
155
156
157
158
158
159
161
161
162
163
162
161
161
160
160
160
160
161
165
169
170
171
171
171
170
169
169
169
168
170
171
169
169
169
169
169
168
167
167
166
165
163
163
161
159
160
161
162
161
162
164
164
164
164
164
163
162
161
160
159
159
159
157
158
158
156
156
157
155
155
154
152
152
154
152
152
152
152
153
153
152
152
148
147
146
143
137
135
135
133
132
131
129
128
127
124
122
120
116
114
111
107
101
92
82
75
67
58
53
49
43
38
38
42
46
46
46
45
45
44
43
42
40
40
39
38
37
38
38
39
40
40
40
39
38
38
37
35
34
36
37
37
38
38
37
38
39
38
39
39
40
41
41
41
39
36
37
37
38
39
40
41
41
41
41
40
41
43
46
45
43
38
36
35
37
40
43
48
52
54
53
51
50
51
55
59
62
68
73
78
81
80
80
77
76
75
73
73
71
69
68
65
61
58
57
55
54
55
55
57
59
58
58
58
58
57
56
56
56
57
57
56
56
55
54
55
54
54
56
58
58
56
52
49
49
48
49
51
54
56
58
59
55
52
53
54
57
58
53
52
50
54
59
67
97
130
182
216
225
227
237
227
222
215
215
225
232
244
241
253
208
174
174
173
173
173
174
180
183
182
181
180
179
177
174
174
174
174
174
172
174
175
173
171
168
166
163
161
160
158
159
160
161
161
162
163
163
163
164
164
163
162
163
162
161
161
162
165
169
169
170
170
170
169
168
168
167
168
168
168
168
166
166
166
166
165
164
164
164
163
162
159
158
157
158
160
159
160
160
162
163
163
163
163
163
162
161
160
159
158
159
157
157
158
156
157
155
156
153
153
152
152
151
152
151
151
151
151
152
151
151
149
149
148
144
139
137
136
135
134
133
130
129
128
126
124
123
118
114
113
109
103
94
84
77
70
60
54
49
44
40
40
42
45
45
44
44
44
43
43
41
39
39
38
38
38
38
39
39
38
38
38
39
38
38
37
35
34
35
37
38
39
38
36
37
38
37
38
39
39
40
40
42
40
38
38
39
39
40
43
43
42
42
41
40
41
45
46
44
44
40
38
37
38
40
43
45
48
50
50
51
51
50
52
56
59
63
68
70
72
71
72
74
75
73
72
70
69
68
66
64
59
57
56
56
55
54
55
57
59
58
58
59
58
58
57
56
57
58
58
57
57
56
54
54
55
55
55
56
56
54
52
52
51
50
52
54
56
58
59
57
54
50
50
51
53
55
53
49
46
52
57
58
85
119
154
192
204
214
231
230
229
223
221
228
229
238
236
250
207
174
177
173
172
169
178
183
188
189
187
185
182
180
177
173
175
173
172
173
174
173
173
172
170
169
165
162
160
162
163
164
164
165
165
166
167
167
167
167
166
165
164
164
163
161
162
163
165
166
168
167
167
166
166
165
166
167
168
168
167
165
164
163
162
163
162
160
158
156
156
155
154
155
154
156
157
158
159
161
162
162
162
161
159
158
158
157
157
159
159
159
158
158
157
157
156
153
153
151
149
148
151
150
150
152
152
152
149
148
147
146
146
144
143
141
138
136
136
138
137
135
132
130
128
127
125
122
119
116
113
107
99
90
81
71
64
57
52
46
43
43
43
44
43
44
43
42
41
41
39
38
37
36
36
35
35
36
37
38
39
38
37
38
37
36
35
36
37
38
39
40
38
37
35
36
37
37
38
39
40
42
43
42
42
41
42
42
43
42
43
45
45
44
43
42
45
44
47
46
45
45
44
43
43
41
43
41
41
46
47
49
51
54
53
54
58
58
59
62
65
67
69
70
71
72
71
68
66
64
60
58
56
57
57
57
57
58
60
60
59
58
56
56
56
56
56
58
59
60
59
56
55
56
56
54
53
53
53
53
52
50
49
53
54
56
57
59
58
59
56
50
46
47
48
49
51
48
48
45
47
53
59
76
100
134
165
181
197
228
231
233
232
233
226
226
226
221
248
208
176
178
176
175
173
179
186
192
191
188
185
183
182
178
174
173
173
173
174
174
175
173
172
171
169
166
164
162
162
164
165
167
168
168
167
168
169
170
170
167
166
164
164
163
161
162
163
164
165
166
167
167
167
166
166
167
167
167
167
166
163
162
161
160
161
159
157
155
153
152
151
152
152
151
152
154
156
156
159
160
161
161
160
159
158
158
157
157
158
158
158
157
157
156
155
153
153
151
152
149
148
151
151
151
149
151
150
149
148
149
149
146
146
145
142
139
140
140
138
138
137
134
132
130
128
126
124
121
118
117
110
102
92
83
72
66
58
52
48
44
42
42
43
42
43
42
41
42
42
39
36
36
36
36
36
36
36
37
38
39
39
37
37
37
36
35
36
37
38
39
40
39
37
37
36
37
37
38
39
40
40
42
43
42
42
41
43
42
44
44
43
45
44
42
42
43
45
45
47
47
47
47
45
44
41
42
38
40
43
47
48
50
52
53
54
54
55
55
57
59
61
65
66
69
71
69
67
64
62
59
57
55
56
57
56
57
58
59
60
59
57
56
57
57
56
56
58
59
59
59
56
55
55
55
54
53
52
52
51
51
50
52
54
57
60
60
59
59
56
54
51
47
46
46
47
47
45
46
44
45
50
56
71
91
111
141
163
185
222
229
234
236
237
228
223
221
216
244
211
179
183
179
178
176
182
187
190
191
189
187
185
184
180
176
174
173
172
174
174
173
172
172
171
170
168
165
163
164
165
166
167
168
169
169
170
170
171
169
167
165
162
161
161
160
160
161
161
162
164
164
163
164
164
164
164
164
165
164
162
160
159
159
159
158
157
154
152
150
148
148
148
149
149
149
150
152
153
155
157
158
158
157
156
156
155
154
154
155
155
155
154
154
154
152
153
151
151
151
150
148
149
149
149
149
151
151
150
148
147
148
145
145
143
143
141
140
141
141
141
139
136
133
131
128
126
123
121
119
116
109
101
93
83
73
67
60
54
50
46
43
42
42
41
40
40
39
38
38
36
34
34
33
33
34
34
35
37
37
38
38
37
38
37
36
35
35
36
38
39
40
39
37
36
36
37
38
38
39
40
40
42
43
42
41
41
43
42
44
42
44
44
44
42
42
42
44
45
44
46
47
47
45
43
40
39
37
37
42
45
46
48
50
51
51
50
49
49
52
55
57
59
63
67
68
67
64
61
59
57
55
54
55
56
57
58
58
58
59
58
57
56
56
56
56
56
58
58
59
58
57
56
55
54
54
53
52
50
50
50
51
51
53
56
57
58
57
57
55
52
50
47
45
45
47
48
46
47
46
47
48
50
60
77
96
123
149
175
216
225
231
235
238
228
223
216
213
243
214
185
188
184
183
181
185
186
189
190
191
189
188
185
181
177
175
174
174
172
173
174
174
172
173
171
168
165
163
164
164
165
166
166
166
167
169
170
171
171
169
167
164
162
161
159
159
160
160
161
161
162
163
163
164
164
165
164
163
160
159
157
156
155
156
155
154
153
152
150
149
147
146
145
144
144
145
147
148
149
151
152
154
153
152
152
150
148
148
148
149
150
150
149
149
150
152
152
151
153
153
151
151
149
150
149
149
150
148
149
149
145
143
141
143
140
138
139
140
140
141
139
136
134
131
129
125
122
119
116
112
106
99
92
84
76
70
64
58
51
47
43
41
41
39
38
37
36
37
37
34
33
33
34
33
34
35
35
37
38
39
40
39
38
37
36
36
35
36
38
39
39
38
38
37
37
37
38
40
39
40
40
41
42
42
42
42
41
43
43
41
42
42
44
42
43
41
41
41
43
42
44
44
43
40
38
38
37
37
40
43
44
46
47
46
46
46
46
46
49
51
53
54
57
61
63
63
61
58
56
55
54
53
54
55
56
57
58
58
59
58
57
57
58
57
56
56
57
58
58
58
57
56
56
57
57
56
54
53
52
53
52
52
53
54
55
55
54
53
51
50
48
46
46
46
47
47
49
49
51
50
48
45
50
60
72
94
120
151
199
212
220
230
234
226
221
221
215
244
217
189
192
190
189
186
188
189
186
186
188
188
188
185
182
178
176
174
172
170
171
172
172
173
171
170
167
165
163
162
163
164
163
164
165
165
166
168
170
170
169
165
161
159
158
155
155
155
156
157
159
160
161
163
164
165
165
163
159
156
155
154
152
152
152
152
151
150
150
148
146
145
144
142
142
141
141
142
144
145
147
148
149
148
147
147
144
143
145
143
144
144
145
146
148
148
151
152
152
153
153
150
151
150
150
150
150
148
149
147
147
144
142
141
140
139
137
138
137
139
141
138
136
133
130
127
125
121
117
113
109
104
97
92
86
78
72
67
60
52
47
43
40
38
37
37
37
36
35
34
33
34
34
33
34
35
35
36
37
37
38
39
39
39
38
36
35
35
35
36
37
37
38
37
37
38
37
38
38
39
39
40
40
40
40
40
40
42
42
41
43
43
43
42
42
43
42
40
40
40
40
40
40
39
38
38
40
38
38
40
40
41
42
44
44
44
44
46
46
47
48
49
50
52
56
58
58
57
55
54
54
52
51
52
53
54
55
56
57
58
58
58
58
58
57
56
57
57
56
55
55
55
56
57
58
58
57
56
56
55
55
53
52
52
52
51
50
50
51
48
48
48
47
49
48
48
48
52
54
54
52
46
40
42
47
56
74
102
136
187
203
209
223
229
223
221
222
218
245
219
191
195
193
193
190
191
187
184
184
185
187
186
185
182
179
176
174
171
168
169
170
170
171
171
168
167
165
163
161
162
163
163
162
162
163
165
168
170
170
168
164
159
157
156
153
153
153
154
155
156
157
158
161
164
165
165
162
157
152
152
152
152
152
150
149
150
149
147
145
143
141
139
137
137
136
135
137
140
143
145
147
150
149
146
144
142
139
139
140
140
141
142
143
144
145
149
149
148
151
151
150
149
149
149
149
147
148
148
148
147
145
143
141
141
139
137
135
137
138
139
137
133
131
130
126
121
118
114
110
107
102
97
92
87
78
73
67
61
54
47
44
41
40
38
37
36
35
35
35
34
33
34
34
33
34
35
36
35
36
37
37
36
38
38
36
35
34
35
35
35
37
38
37
37
37
38
39
38
39
40
39
40
41
40
40
40
40
40
40
42
43
42
44
42
43
40
39
41
39
38
38
38
38
38
38
40
40
40
39
39
41
42
42
44
44
45
44
44
44
44
45
48
49
51
53
53
53
52
51
51
50
50
51
50
51
53
54
56
57
58
57
57
58
57
56
55
55
54
55
54
55
55
56
57
56
55
55
55
55
54
54
54
53
51
50
49
49
50
47
46
47
47
48
50
50
49
53
54
54
55
46
37
38
43
48
63
88
116
160
179
191
209
230
223
221
222
216
245
220
193
197
193
194
194
190
187
184
184
186
187
187
184
181
179
176
173
170
168
167
167
166
165
165
166
165
163
160
161
162
161
161
162
161
161
162
165
168
168
164
161
157
155
155
152
152
152
152
152
153
155
156
157
159
160
160
157
152
149
150
153
154
154
152
150
148
146
143
140
137
135
133
132
132
131
130
133
135
141
143
145
147
147
145
143
141
139
138
139
139
138
139
140
141
142
144
146
145
146
148
145
146
145
145
145
145
146
146
146
148
148
144
144
142
140
137
135
135
134
134
133
131
128
126
123
120
116
113
110
106
101
96
93
87
78
73
68
62
55
50
47
44
40
38
38
38
37
36
35
34
34
33
34
34
33
34
35
35
36
38
38
38
37
38
37
35
35
36
36
36
35
36
37
37
38
39
39
38
39
40
39
40
40
42
42
42
42
42
42
43
43
43
42
44
43
40
38
39
40
38
39
39
39
39
39
38
38
40
40
40
39
40
40
42
43
42
44
45
44
44
44
46
48
50
51
52
51
50
49
49
48
48
48
49
50
51
53
54
56
57
57
57
56
57
56
55
54
53
53
54
55
56
56
56
55
54
56
57
55
54
54
53
52
51
50
49
50
50
47
46
48
49
48
50
49
49
52
53
55
56
47
40
40
45
51
64
84
96
131
152
176
212
231
225
224
221
216
245
220
193
197
193
193
192
190
186
184
184
185
186
186
183
180
179
175
173
170
168
166
165
163
162
162
162
162
160
159
159
161
162
161
160
159
159
160
163
165
165
162
159
155
155
154
152
151
151
151
152
152
153
154
156
157
158
158
156
150
147
149
153
155
156
154
152
148
145
141
136
132
129
127
125
126
127
126
129
134
138
141
144
147
146
144
142
141
138
138
136
136
136
136
137
138
139
143
142
142
143
145
143
142
142
144
145
146
147
148
146
148
148
147
144
142
139
136
135
135
132
131
130
127
125
123
118
116
112
110
109
105
99
95
91
84
77
73
68
63
55
50
49
45
41
39
39
38
39
38
37
35
35
34
33
34
33
34
34
36
37
38
37
38
38
38
37
36
35
35
35
35
35
36
36
38
39
39
38
38
39
40
40
40
40
42
42
42
42
42
41
43
43
41
42
44
43
42
39
40
38
38
39
39
39
39
39
37
39
38
38
38
40
41
40
40
41
41
44
45
46
47
47
44
47
49
51
51
50
48
47
47
46
47
48
48
49
52
53
53
55
56
55
56
57
56
56
55
54
53
52
53
54
55
56
55
53
54
56
57
56
55
52
51
51
50
51
50
50
50
47
47
47
48
49
48
48
48
52
53
57
56
49
41
45
51
59
69
80
75
96
117
155
200
234
226
225
224
219
245
218
193
195
194
196
192
192
185
187
184
183
182
182
182
180
179
175
174
170
167
164
161
159
160
159
161
161
161
161
161
161
160
159
159
158
156
158
162
165
165
161
158
154
153
152
153
153
151
151
152
152
153
153
153
154
155
157
153
146
142
146
151
152
153
152
149
146
142
136
130
128
125
123
121
121
122
124
128
131
135
139
141
143
144
142
138
135
136
137
137
136
134
134
135
135
140
140
142
141
144
142
141
143
141
141
142
143
146
147
148
148
147
146
145
142
139
136
132
130
130
129
128
123
121
120
118
117
112
110
108
107
102
97
93
87
82
77
71
65
61
57
53
48
45
43
41
40
39
38
38
36
35
34
33
33
34
35
36
36
36
37
38
38
38
38
37
36
36
37
37
37
37
37
36
37
38
38
40
40
40
39
38
40
41
40
40
41
42
42
41
43
43
43
43
42
43
40
41
40
38
39
39
37
39
39
39
39
39
39
38
39
40
41
42
42
42
43
43
44
43
43
43
45
46
47
48
48
47
46
46
45
46
45
46
47
48
49
50
52
53
54
55
55
54
54
53
52
52
52
52
52
53
55
55
55
56
56
54
53
53
53
52
51
50
50
49
48
48
48
48
47
47
48
49
48
49
49
53
53
54
55
51
45
47
53
63
68
68
72
68
103
130
184
216
214
220
219
219
245
218
193
195
196
196
192
192
185
186
185
184
181
182
182
181
179
175
173
170
167
163
160
158
157
159
160
160
160
161
160
160
160
159
159
157
156
157
160
162
163
162
158
154
153
152
152
152
152
153
152
152
152
152
153
154
155
155
152
145
142
145
149
150
152
149
145
144
140
135
130
127
124
122
121
120
121
123
126
128
135
136
139
141
141
138
137
135
135
135
135
135
134
135
134
135
137
139
140
141
143
143
142
142
141
141
141
142
142
145
144
144
143
142
141
140
138
135
132
130
128
129
126
123
120
118
116
115
113
111
108
108
103
99
94
90
84
78
73
68
64
60
55
49
45
44
41
40
39
40
38
36
36
35
34
33
34
35
36
36
37
36
37
38
38
38
38
37
36
36
36
36
37
37
36
37
37
38
38
40
39
38
38
40
41
41
40
41
42
42
41
43
41
41
41
43
43
40
39
39
40
38
39
39
39
39
39
39
39
39
38
39
40
41
40
40
42
42
43
42
42
42
43
44
45
46
47
47
46
45
44
45
44
45
46
46
47
48
49
51
52
53
54
54
53
52
52
51
52
52
52
52
53
54
54
54
55
55
54
53
52
53
52
51
51
50
49
49
49
49
48
47
47
48
49
48
50
50
53
54
56
55
52
47
48
52
54
59
58
65
61
95
116
165
197
204
213
216
218
245
218
193
197
195
197
192
192
186
184
184
181
180
179
180
180
178
175
174
170
167
162
158
156
156
157
158
159
160
161
162
162
161
160
159
156
154
155
158
162
163
160
157
155
153
152
153
154
154
154
154
153
152
153
152
153
154
153
149
142
139
142
146
147
148
146
142
139
137
133
129
126
123
122
121
121
120
122
125
128
131
132
135
138
137
135
133
130
130
132
132
131
131
132
133
134
138
140
142
144
146
146
145
145
144
144
144
142
144
142
144
144
140
139
138
137
135
134
131
129
126
125
124
121
119
117
115
115
114
112
110
109
106
102
97
93
88
83
79
74
69
65
59
52
47
45
43
41
41
40
38
37
37
36
35
35
35
34
34
35
35
36
37
36
37
38
38
38
38
38
38
37
36
37
36
37
38
37
38
38
38
39
38
40
41
41
40
41
42
42
42
41
41
42
42
41
41
41
39
39
40
38
38
39
39
39
39
39
39
39
38
39
40
41
41
41
40
42
41
42
43
43
43
43
44
45
44
44
44
43
42
43
44
44
44
45
46
47
48
49
50
51
52
52
51
51
50
51
50
49
50
50
52
53
52
52
52
52
52
51
51
51
51
50
50
50
49
48
47
47
47
48
49
49
48
48
50
50
53
55
57
56
55
53
51
50
51
54
56
63
63
88
104
142
163
184
203
214
217
246
219
194
197
195
197
192
192
186
183
181
179
178
177
177
177
178
176
174
171
168
162
157
154
155
154
156
157
160
162
163
162
161
160
159
156
153
154
157
160
160
160
157
154
153
153
153
153
154
155
154
153
153
152
152
152
152
152
148
141
138
139
142
143
143
141
139
135
133
130
127
125
123
120
119
118
119
119
121
125
127
128
131
133
133
131
128
127
126
127
128
129
130
131
132
133
136
138
141
143
145
145
143
145
144
144
144
144
143
142
140
141
138
137
135
134
134
132
130
128
125
124
123
120
118
117
115
116
116
114
113
112
109
105
100
96
91
86
82
78
73
69
63
55
48
46
44
42
41
40
39
39
38
37
36
35
34
35
34
35
36
35
36
37
36
37
38
38
39
39
38
37
36
37
36
37
38
37
38
39
39
38
37
40
41
41
40
42
42
42
42
42
42
42
42
42
42
41
39
39
40
40
40
38
38
39
39
39
39
39
38
39
40
39
41
39
41
41
42
41
41
41
41
41
41
43
44
43
42
41
41
42
41
41
42
43
44
45
46
48
48
50
51
51
50
49
50
50
49
48
48
49
50
51
52
52
52
52
52
52
52
52
51
51
50
49
48
48
47
48
47
48
49
48
49
50
50
51
53
55
57
56
56
56
54
50
39
41
41
50
51
70
81
104
121
160
190
215
219
250
219
194
197
195
197
192
192
185
182
180
178
176
175
175
177
176
175
176
172
167
162
157
154
154
153
155
157
160
164
164
163
162
161
160
156
154
154
158
160
162
162
159
155
154
155
155
155
155
155
155
155
153
154
155
155
154
153
148
141
139
138
139
140
139
137
135
133
132
130
128
126
126
124
122
121
120
119
121
124
125
126
128
130
130
129
128
126
126
127
129
130
129
130
131
132
135
137
138
140
143
142
141
142
139
141
139
139
138
138
137
136
139
136
134
133
132
131
129
126
125
124
122
120
118
117
116
117
117
115
114
114
111
109
104
99
93
88
84
81
76
71
65
57
50
46
44
43
41
40
39
39
38
37
36
36
35
34
34
34
35
36
35
36
37
36
37
38
39
39
38
37
36
37
36
37
38
38
38
39
39
38
37
40
41
41
41
40
41
42
42
42
42
42
42
41
41
41
39
39
40
40
40
40
40
38
39
39
39
39
39
38
38
40
39
40
41
40
41
42
42
42
41
41
42
42
42
41
41
40
39
39
40
41
40
40
42
44
45
46
47
48
49
48
48
49
49
49
48
47
47
48
49
49
50
51
51
51
51
51
51
51
50
49
50
49
49
48
47
48
47
48
48
49
50
49
51
51
53
55
57
56
55
55
53
47
42
42
44
52
58
68
74
89
104
142
170
189
191
241
219
194
197
195
197
192
192
185
182
180
177
174
173
175
176
177
175
174
172
169
163
157
154
154
156
157
158
163
166
166
165
163
162
161
157
155
156
160
162
164
164
161
158
157
158
159
160
159
158
158
159
158
157
157
156
156
154
149
143
139
138
137
136
136
136
135
133
133
132
131
129
127
125
123
121
120
119
119
122
120
123
126
128
129
127
127
127
129
130
132
134
134
133
132
133
137
138
139
140
142
142
140
140
137
137
135
137
135
137
137
137
137
135
135
133
131
129
126
125
124
123
122
120
119
118
117
118
119
117
116
115
113
110
106
100
95
90
86
82
78
73
66
58
50
45
43
41
40
39
39
38
38
37
37
36
35
36
35
35
36
36
36
35
36
37
36
38
39
39
38
37
36
37
37
36
36
36
38
39
39
39
39
39
41
41
41
40
42
42
42
42
42
42
41
43
43
40
41
39
39
40
40
40
40
38
39
39
39
39
39
39
38
38
40
40
40
41
41
41
41
41
41
41
40
41
42
41
40
39
39
39
40
39
40
41
42
43
44
45
46
47
47
48
48
47
46
46
46
47
47
46
48
49
48
49
50
50
50
50
50
50
49
48
49
49
49
48
47
48
47
48
48
49
49
50
51
52
54
54
55
54
53
52
49
45
42
40
44
51
59
63
69
74
83
122
147
170
168
235
219
194
197
195
196
192
190
185
181
179
176
173
172
172
175
177
174
174
173
170
165
161
157
158
159
159
161
166
168
169
167
165
162
162
159
157
158
162
165
166
166
163
161
161
162
163
162
163
163
163
162
161
159
158
158
157
156
151
144
140
138
135
134
133
133
134
133
132
133
133
132
128
125
122
120
117
114
115
116
118
120
124
126
127
127
128
129
131
134
136
137
136
134
133
132
136
136
136
136
138
137
135
134
130
131
131
132
133
133
134
135
133
134
133
132
130
127
125
125
124
125
123
120
119
118
118
119
120
118
117
116
114
112
109
103
96
92
88
84
79
74
67
59
50
44
42
42
40
39
40
39
38
37
36
37
36
36
36
35
36
36
36
36
35
36
36
37
37
38
38
37
36
37
37
37
36
37
37
38
39
39
38
39
39
39
40
41
40
40
42
40
40
40
42
41
43
40
41
39
39
40
40
40
40
38
39
39
39
39
39
39
39
38
38
38
38
40
40
40
40
40
40
39
40
41
41
40
39
39
38
38
38
39
39
40
41
43
44
43
44
45
46
45
45
45
46
46
46
46
46
45
46
46
47
47
48
49
49
49
49
49
48
48
48
48
48
47
47
48
47
48
48
49
49
50
51
52
51
53
54
52
50
48
45
44
42
40
44
50
58
57
61
61
70
100
118
135
135
226
219
194
197
196
196
191
191
184
181
179
175
172
171
173
175
176
175
176
175
173
168
162
159
159
160
162
164
167
170
170
168
165
162
161
158
158
160
163
166
168
168
165
162
162
164
165
165
166
167
166
164
162
160
158
159
158
157
153
146
142
139
135
132
131
131
132
133
132
134
133
132
128
125
122
119
116
114
113
114
116
120
123
125
127
128
129
130
131
134
136
138
135
133
131
133
130
130
129
129
131
130
127
127
124
125
124
124
126
128
129
130
131
131
132
131
129
126
125
124
126
124
122
120
120
120
120
120
120
119
119
118
115
112
109
104
99
94
89
85
80
76
69
59
49
43
41
41
39
39
40
39
37
37
36
36
36
36
36
36
35
35
36
36
35
36
37
37
38
37
38
37
36
37
37
36
38
37
39
39
39
39
38
40
40
39
41
41
41
41
40
41
41
41
42
42
42
41
39
39
40
40
40
40
40
38
39
39
39
39
39
39
39
39
39
39
38
38
38
38
39
39
39
38
39
39
39
39
39
38
38
38
38
39
40
40
41
42
42
43
44
44
45
45
45
45
45
45
45
45
45
44
45
45
46
47
47
48
48
48
48
48
47
46
46
47
46
47
46
47
48
48
48
49
51
50
52
53
52
53
53
51
48
44
42
43
42
41
44
48
56
50
53
49
55
81
92
110
109
216
219
192
196
193
195
191
187
186
181
179
175
172
171
173
176
178
179
180
180
179
174
168
166
165
165
166
170
174
177
176
173
170
168
165
165
164
165
168
172
173
172
170
168
168
169
170
171
171
170
169
168
167
165
164
162
162
160
155
149
143
139
137
135
133
132
132
133
132
132
131
128
127
124
121
118
115
113
112
115
113
117
123
126
129
131
134
136
137
137
138
137
133
129
125
123
119
117
116
115
113
109
109
106
105
108
107
108
113
117
120
124
126
132
134
132
130
127
125
126
125
123
121
120
118
117
117
117
118
116
113
112
110
107
103
99
96
92
87
82
78
73
66
58
50
44
41
39
38
39
38
37
38
37
38
39
39
39
40
38
36
36
35
36
36
35
36
37
38
38
38
38
37
36
37
37
36
37
37
38
39
39
39
38
40
40
39
41
41
41
41
39
39
39
39
39
38
38
38
40
40
40
40
40
40
40
38
39
39
39
39
39
39
39
39
39
39
39
39
38
37
37
37
38
39
40
40
41
41
41
40
40
40
40
39
40
40
41
42
43
42
43
44
44
44
44
44
44
44
43
43
43
44
45
45
44
44
45
45
46
47
46
45
46
45
45
46
46
45
45
46
47
48
48
49
50
51
52
49
48
48
49
48
46
46
47
46
46
47
45
45
47
49
51
53
62
73
85
64
216
219
190
196
193
195
190
187
185
181
179
175
172
172
173
175
178
180
179
179
179
174
169
167
166
167
169
172
176
179
178
174
171
169
167
165
165
166
170
173
175
174
171
170
170
171
173
174
173
172
171
171
168
166
165
163
162
161
156
150
145
142
138
136
135
135
134
133
132
134
132
128
126
123
121
116
113
112
110
112
113
117
124
128
131
134
138
139
140
138
136
136
131
125
122
119
116
112
109
107
104
101
99
96
98
100
102
104
109
114
120
125
128
133
136
134
131
128
125
125
125
123
121
120
118
117
116
116
116
114
111
110
108
106
102
98
94
90
87
81
76
72
65
57
49
43
40
39
37
38
37
37
38
38
39
38
38
39
40
38
37
37
36
35
36
36
35
37
38
38
38
38
37
36
37
37
36
37
37
38
39
39
39
38
38
38
38
38
38
39
40
40
40
40
40
40
39
39
39
40
40
40
40
40
40
40
40
38
39
39
39
39
39
39
39
39
39
39
39
38
37
38
37
38
39
38
40
41
41
41
40
39
39
39
39
40
41
41
42
41
42
43
43
43
43
43
43
43
43
42
42
43
43
44
45
45
45
44
45
46
45
46
45
45
46
46
45
46
46
46
46
46
47
48
49
50
51
51
50
48
48
47
46
44
45
46
47
47
47
44
41
43
46
50
56
60
61
66
48
207
218
191
195
192
194
192
187
185
182
179
175
172
170
171
175
177
182
182
183
181
178
174
172
171
173
174
176
180
182
181
178
175
172
170
168
168
169
173
176
178
178
176
174
175
176
177
178
177
176
175
172
170
168
167
166
165
162
158
152
147
144
141
137
137
136
134
134
133
133
131
128
124
121
118
114
111
109
109
110
115
119
125
129
134
137
139
140
143
140
138
137
131
123
117
113
109
103
99
96
92
88
86
84
84
88
89
95
100
107
113
120
128
134
136
136
132
129
127
127
125
124
122
120
118
117
115
114
113
111
108
107
104
103
100
96
91
89
86
81
77
72
65
56
48
42
39
37
36
37
37
36
37
38
38
39
40
40
40
39
38
37
36
36
35
35
36
37
38
38
37
36
36
37
37
37
36
37
37
38
39
39
38
40
39
38
39
39
39
38
38
38
38
38
38
38
37
37
37
40
40
40
40
40
40
40
40
38
39
39
39
39
39
39
39
39
39
38
37
37
38
38
37
38
39
40
40
41
40
41
41
41
41
41
41
41
41
40
40
40
41
42
42
42
42
42
42
42
41
40
40
41
42
42
43
44
45
45
46
45
45
45
44
44
44
45
46
45
44
44
45
46
47
47
48
49
49
50
50
48
45
44
43
44
46
46
48
48
47
43
39
38
44
51
55
54
47
47
32
200
218
189
195
192
193
190
188
186
183
181
177
174
172
174
177
179
183
184
186
185
182
179
177
178
178
179
181
183
185
184
181
178
175
173
172
172
174
179
182
181
180
178
177
177
178
180
181
180
179
178
175
173
171
168
167
166
163
159
153
148
145
142
139
137
136
134
133
132
130
127
125
122
119
116
114
112
110
111
113
116
120
124
127
130
132
134
134
132
127
124
122
114
106
101
97
91
86
82
79
77
76
74
72
73
76
81
84
91
98
106
112
119
127
133
133
132
129
128
128
127
127
125
122
119
117
115
113
110
107
105
102
100
99
97
93
91
89
86
82
78
74
66
57
48
42
39
38
37
37
37
37
36
37
39
40
39
39
39
39
39
38
36
35
35
34
34
36
36
36
36
37
37
37
37
37
36
37
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
37
37
37
40
40
40
40
40
40
40
40
38
39
39
39
39
39
39
39
39
38
37
38
38
38
37
38
39
39
40
41
41
41
40
41
42
41
40
41
41
41
41
41
41
40
40
40
40
40
40
40
41
41
41
41
40
41
42
43
43
44
45
44
45
45
44
45
45
45
45
45
44
44
45
45
45
47
48
50
49
51
51
49
47
45
43
43
43
43
45
48
48
47
44
41
41
45
49
48
48
45
44
26
200
218
188
194
193
193
190
189
187
184
182
179
176
174
176
178
180
184
186
188
187
185
183
182
181
182
183
184
186
186
185
183
181
178
176
174
175
177
180
183
183
182
179
178
179
180
182
183
182
181
179
176
174
171
169
168
167
164
159
153
149
146
143
139
138
136
133
132
130
128
125
123
121
119
116
114
113
113
114
115
114
116
120
123
125
127
127
128
126
122
117
110
103
97
92
88
81
76
72
70
68
67
66
64
64
69
71
77
84
91
101
106
111
120
124
126
128
128
129
130
131
130
128
125
121
119
114
111
109
104
102
100
97
95
94
92
91
90
89
85
80
76
69
59
49
43
40
39
37
37
37
35
36
37
38
39
40
41
41
40
39
38
37
36
35
34
34
36
37
37
37
37
37
37
37
37
36
37
38
38
37
37
37
37
38
37
37
38
39
39
39
39
39
39
39
39
37
37
37
40
40
40
40
40
40
40
40
40
38
39
39
39
39
39
39
39
39
37
38
38
38
38
38
39
40
41
41
42
42
42
42
42
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
39
39
39
40
40
41
41
43
44
43
43
44
44
45
45
44
43
44
44
44
44
43
43
45
46
46
47
48
49
50
50
48
46
44
44
45
44
44
43
45
46
45
45
47
47
48
48
44
46
47
47
30
201
218
191
193
191
191
191
191
188
185
184
181
178
177
179
181
182
185
188
190
189
187
186
185
186
186
187
187
188
187
187
185
183
179
178
177
176
178
181
184
185
184
183
181
181
183
184
185
184
183
180
177
174
172
171
169
167
164
160
154
150
147
143
139
139
137
133
131
129
127
123
122
120
118
116
115
114
112
112
113
117
119
120
122
123
126
125
124
118
110
103
97
90
83
79
75
75
69
64
64
62
61
60
57
57
62
66
70
76
85
93
100
107
113
117
119
125
131
132
132
132
133
130
126
124
119
114
110
105
103
100
96
94
93
93
92
92
90
90
86
81
77
70
60
51
44
40
38
37
36
36
36
35
37
38
39
40
40
40
40
40
38
37
36
36
35
34
36
37
37
37
37
37
37
37
37
36
37
38
38
38
38
38
36
36
37
37
39
39
39
39
39
39
39
39
39
37
37
37
38
38
38
38
38
40
40
39
38
39
39
39
39
39
39
39
38
37
37
36
36
36
36
36
38
39
40
41
40
40
40
40
40
40
39
39
39
39
39
39
39
39
39
40
40
40
40
40
40
39
39
40
41
42
41
42
42
43
43
44
45
44
43
44
43
42
43
42
43
43
44
45
45
45
46
47
48
49
49
47
47
46
46
45
43
41
42
42
43
45
47
51
50
47
43
40
46
46
49
29
201
219
190
196
191
192
189
191
189
189
186
184
182
181
181
184
186
188
191
193
191
190
190
189
189
190
190
190
190
190
189
188
187
184
182
181
180
181
184
186
186
185
182
181
182
183
184
184
185
184
181
179
176
172
170
169
168
165
160
154
150
147
144
140
138
135
131
129
127
124
121
120
118
115
113
112
111
110
110
110
111
113
113
113
114
113
112
110
107
100
93
87
81
75
71
69
60
57
55
54
53
52
51
50
51
55
59
64
70
75
82
89
98
104
107
112
119
127
129
131
131
133
130
128
124
120
114
109
103
101
97
94
93
94
95
95
94
93
91
87
83
79
72
63
54
47
43
40
38
37
36
35
35
36
37
39
40
41
42
41
40
39
37
37
36
36
36
36
37
37
37
37
37
37
36
36
36
37
38
38
38
38
38
38
38
38
38
38
37
39
39
39
39
39
39
39
38
38
38
39
39
39
38
38
40
39
41
38
39
39
39
39
39
39
39
39
39
37
36
37
36
37
38
38
38
39
40
41
41
40
40
41
40
39
40
40
40
40
40
40
40
39
38
38
38
38
39
40
39
39
39
40
42
41
42
42
43
44
43
44
45
44
44
43
42
41
41
42
43
43
43
44
44
45
46
47
48
48
47
46
47
46
44
41
40
41
42
44
46
49
53
51
47
42
42
43
45
48
28
201
219
191
196
191
191
190
192
190
191
190
187
186
185
185
188
189
190
193
196
194
194
194
194
192
191
192
191
190
191
190
189
188
188
186
185
184
184
187
189
188
186
185
183
183
184
185
186
185
184
182
179
176
173
170
168
168
166
161
155
151
148
144
140
136
134
130
127
125
123
119
118
115
113
110
109
108
106
105
104
104
103
103
101
98
97
95
94
89
82
74
71
64
60
57
54
51
50
50
51
49
50
50
50
48
53
56
57
63
68
74
80
84
90
94
98
108
118
123
126
130
130
130
127
124
121
115
108
101
99
97
95
94
95
95
96
96
95
93
89
85
81
75
66
57
50
46
43
41
39
38
36
35
36
37
38
40
41
42
41
40
39
38
37
36
35
35
36
37
37
37
37
37
36
38
37
36
37
38
38
38
38
38
37
36
36
36
36
36
36
36
37
37
37
37
37
36
36
36
39
39
39
39
39
40
40
41
38
38
38
38
38
38
38
39
39
38
37
36
36
37
38
37
36
38
39
40
39
39
39
40
40
39
40
40
40
40
40
40
40
39
38
39
39
39
38
38
38
38
39
39
41
42
41
42
42
43
44
44
44
45
44
43
43
43
41
41
41
42
44
43
43
44
44
45
46
47
47
47
46
46
46
43
40
40
41
44
45
48
52
53
51
47
42
44
43
45
49
31
203
221
189
195
192
193
191
193
195
191
190
189
189
190
191
192
192
195
193
196
197
196
196
195
194
193
192
193
194
193
191
192
192
191
189
187
184
185
189
190
189
188
186
184
185
186
187
187
186
184
183
180
176
172
169
168
167
165
162
155
150
147
142
137
136
133
128
126
123
119
116
115
113
111
109
107
105
100
99
96
96
94
92
90
89
87
84
82
76
70
63
58
56
50
47
46
45
45
45
45
46
46
46
48
49
49
52
54
57
61
64
67
73
78
82
88
100
111
118
123
129
131
130
127
125
120
113
107
101
99
97
95
94
96
98
98
96
95
95
92
88
82
76
68
59
53
49
46
41
39
37
36
35
36
37
38
39
40
41
42
40
39
38
38
37
36
34
36
37
37
37
37
37
37
36
36
37
36
36
36
36
36
36
36
37
37
37
37
37
37
36
38
38
38
38
38
38
38
38
36
38
37
37
37
37
38
38
40
41
41
40
40
40
40
38
39
39
39
37
37
36
36
37
38
38
39
38
39
40
40
40
41
40
39
40
40
40
40
39
38
38
39
39
39
38
39
40
40
40
40
41
40
41
42
42
43
42
42
42
42
42
42
42
41
41
42
42
42
42
40
40
41
43
44
43
44
44
44
46
48
49
50
43
34
35
43
45
47
51
50
50
51
48
45
44
44
45
48
27
200
219
189
195
192
192
191
192
195
192
193
192
192
192
192
193
194
196
196
197
197
196
196
197
196
194
193
194
194
193
192
193
193
193
193
189
187
188
189
191
191
188
187
186
186
187
188
187
186
185
183
180
177
172
169
168
168
167
163
156
151
147
143
138
134
129
126
126
124
119
114
113
112
109
107
104
100
96
94
90
87
85
82
79
77
74
71
68
63
58
52
48
45
42
41
40
41
41
41
42
44
46
45
45
47
48
47
49
52
56
59
62
65
70
73
81
94
105
112
117
124
128
128
126
125
120
114
109
100
98
96
94
94
96
99
99
98
98
98
95
90
84
78
71
63
57
52
47
43
42
39
36
35
35
36
38
39
40
41
40
39
39
38
37
36
36
35
36
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
36
38
38
38
38
38
38
38
38
37
36
38
38
37
37
39
38
40
39
41
39
39
39
39
38
38
38
39
38
37
37
36
37
38
37
38
39
39
39
38
39
40
40
40
40
40
40
40
39
38
39
39
39
39
38
39
40
40
39
40
40
40
41
41
41
41
42
43
43
42
43
43
42
42
42
41
40
41
42
42
41
41
42
42
43
44
43
44
45
46
48
48
42
38
40
43
46
48
51
51
50
50
48
44
47
47
47
48
27
200
220
190
196
193
193
192
195
196
194
194
196
197
197
197
196
197
198
198
199
200
199
200
200
198
196
194
194
193
192
193
195
197
198
197
192
190
191
192
193
193
191
189
187
187
188
188
188
187
186
184
180
176
173
171
170
168
167
163
157
152
148
143
139
135
131
127
126
123
118
113
109
106
103
99
95
89
83
79
76
70
68
66
64
61
60
55
53
51
49
46
43
41
38
38
38
38
38
39
41
44
43
45
43
45
43
44
43
43
46
49
51
54
59
60
69
83
93
100
106
114
118
121
121
122
118
111
107
99
97
95
94
94
97
100
101
100
101
100
97
91
87
80
73
66
61
55
49
45
44
41
36
34
35
36
37
38
39
40
39
38
39
38
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
36
38
38
38
38
38
38
38
38
35
37
36
38
37
37
39
38
38
40
39
39
40
41
41
40
40
40
38
38
37
38
38
38
38
38
38
38
38
37
38
39
39
39
38
39
40
40
40
39
38
39
39
39
38
39
40
39
39
40
41
42
41
41
41
41
42
42
43
43
42
43
42
42
41
40
41
41
40
40
41
40
40
42
44
43
42
42
43
43
44
45
44
44
45
46
45
47
50
50
49
47
47
47
47
48
48
47
47
27
200
221
191
197
196
196
193
194
197
196
196
199
200
201
201
199
200
199
198
200
201
201
201
201
199
196
194
194
193
192
193
196
200
202
200
195
193
193
194
196
195
194
192
189
187
188
189
189
188
187
185
182
177
173
171
170
168
167
164
158
152
149
144
140
138
134
130
127
123
117
111
107
102
96
90
84
77
70
64
61
56
53
51
50
49
47
45
44
45
46
45
43
41
38
38
37
36
36
38
41
42
42
41
40
42
40
39
38
39
41
43
45
48
50
51
58
71
81
87
94
104
109
113
115
116
114
108
104
98
96
95
94
95
99
102
103
103
103
101
96
90
85
79
74
69
65
59
51
47
45
41
36
34
34
35
36
37
39
40
39
38
39
38
37
36
36
37
37
36
36
36
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
36
36
36
36
36
36
36
36
35
35
37
36
38
37
39
38
38
40
40
39
40
41
40
39
40
40
40
38
38
37
38
38
38
37
36
35
36
37
37
38
37
37
38
39
38
39
40
39
38
39
39
39
38
39
40
40
40
40
42
42
41
42
42
41
42
43
44
43
42
43
42
41
40
41
40
39
40
41
41
40
40
41
42
43
41
42
43
42
42
40
42
46
54
55
51
49
48
49
47
45
46
48
52
53
49
45
45
27
200
221
191
197
195
196
195
196
198
199
200
201
203
204
204
203
202
200
200
201
202
202
201
200
199
196
196
194
192
191
193
198
201
203
201
198
195
194
195
196
196
195
191
189
188
188
188
188
187
187
185
182
177
174
171
170
168
167
164
159
154
150
146
142
140
137
131
128
123
117
111
105
99
91
82
76
68
60
54
51
48
45
43
42
41
40
39
39
39
41
43
41
39
35
34
33
35
36
37
38
39
39
39
38
38
37
36
35
36
38
40
43
46
46
49
53
64
72
79
86
97
103
108
112
114
111
106
102
99
97
95
96
96
100
104
105
103
102
101
96
90
84
79
73
69
66
61
53
49
46
40
36
34
35
35
36
37
38
39
39
39
39
38
37
37
36
37
38
38
38
37
36
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
35
35
37
36
38
37
39
38
38
40
40
39
40
41
40
39
40
40
39
38
39
39
37
37
36
36
35
36
35
36
37
37
38
38
37
38
39
38
38
38
39
39
39
39
38
39
40
41
41
41
42
43
42
41
42
42
41
43
44
43
42
43
42
41
41
40
39
40
39
40
41
40
40
41
41
41
43
42
42
39
38
37
39
49
60
61
55
49
48
46
43
44
46
51
55
57
51
45
46
26
201
220
191
197
195
195
193
195
199
199
201
202
204
205
204
205
204
203
202
202
202
202
201
200
198
198
196
194
194
192
194
198
200
202
200
198
196
196
196
195
194
193
190
189
189
190
189
188
187
186
185
182
177
174
171
170
169
166
162
158
155
151
147
144
140
138
133
129
124
118
109
102
95
85
77
70
63
54
49
49
45
42
40
39
38
37
37
35
36
37
39
40
37
37
36
35
36
37
38
39
41
41
39
40
37
37
36
36
36
37
39
42
44
46
45
50
58
64
70
78
91
97
104
110
112
110
106
102
98
96
96
96
96
100
103
104
104
102
100
96
90
85
80
74
70
66
60
53
48
44
40
36
35
35
36
36
36
37
38
38
39
38
38
37
36
37
38
38
38
38
38
37
36
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
35
37
36
38
37
37
39
38
38
40
40
39
40
41
40
39
40
40
39
38
38
37
38
37
36
36
35
35
35
36
36
37
37
37
38
39
39
39
39
39
39
39
39
39
38
39
40
40
41
41
41
42
42
42
42
42
42
41
42
43
43
42
42
40
39
39
40
40
40
39
38
40
41
40
41
42
42
42
43
38
37
36
39
49
59
59
53
48
46
45
43
43
45
50
53
53
50
45
46
26
201
221
192
199
195
197
194
198
200
202
202
204
205
206
207
207
208
206
204
205
205
203
202
201
198
198
196
194
194
195
195
197
199
200
199
197
195
195
196
195
195
194
191
189
190
190
189
188
186
185
185
182
178
174
171
170
168
165
162
158
154
152
148
144
142
139
135
132
127
119
107
97
87
77
67
62
55
48
44
45
44
44
43
42
40
38
33
32
34
36
38
41
41
41
41
41
41
40
40
42
42
42
41
40
38
39
37
37
37
39
41
41
42
45
44
47
51
54
61
69
83
91
99
106
110
108
104
100
97
95
94
94
95
99
101
102
101
99
98
94
91
87
82
75
68
62
56
50
44
41
39
37
37
36
37
38
37
37
36
36
37
36
36
36
37
37
37
37
38
38
38
37
36
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
36
38
38
37
37
39
38
38
40
40
39
40
41
41
39
40
40
40
38
38
37
38
37
36
36
37
36
37
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
39
39
40
41
40
41
42
41
40
40
41
42
42
42
42
40
39
40
40
40
40
40
39
40
41
41
41
40
39
40
41
39
38
39
41
46
52
52
48
47
45
43
43
44
44
46
48
49
48
44
44
26
201
222
193
200
198
198
195
199
201
201
203
202
203
206
207
208
208
209
207
206
205
204
203
201
199
199
196
195
196
196
196
197
198
198
198
197
196
196
195
195
195
194
191
190
190
191
190
189
187
185
183
182
179
174
171
170
167
164
162
159
156
153
150
146
145
143
140
135
129
118
104
93
81
69
59
54
49
42
41
42
43
44
45
44
43
39
36
32
33
35
37
38
39
41
44
44
44
45
44
44
43
41
41
38
40
40
40
40
39
39
42
43
44
45
45
45
45
46
51
59
77
85
95
102
107
106
101
98
95
93
94
95
95
97
100
100
99
97
95
93
91
87
82
74
66
59
53
48
41
39
38
37
36
37
37
37
37
36
36
35
34
34
35
36
38
39
39
38
38
38
38
37
36
36
36
36
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
36
36
36
36
36
36
38
38
38
37
37
39
38
38
40
40
39
40
41
39
40
40
40
38
39
38
37
38
37
37
38
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
39
39
40
39
40
41
41
41
41
41
40
40
40
40
41
40
39
40
40
40
40
40
39
39
40
40
38
39
40
40
39
40
40
42
44
45
45
44
44
45
44
45
46
45
44
45
45
45
44
47
27
200
221
195
200
197
199
198
198
202
203
202
204
205
206
207
209
209
210
210
208
206
205
203
201
200
198
197
196
195
196
195
195
195
196
198
198
198
197
196
195
194
193
193
192
192
191
190
191
188
185
185
182
178
175
173
171
167
164
162
159
157
155
152
148
148
146
143
138
131
121
108
95
84
69
57
52
47
40
39
41
43
43
42
42
42
40
37
33
34
35
37
38
40
41
42
42
44
44
42
42
43
41
40
41
39
40
42
42
42
42
41
43
45
44
44
42
42
41
47
57
74
83
92
99
105
105
102
98
92
92
92
92
94
97
99
100
98
96
93
91
89
86
80
73
65
58
53
46
40
39
38
36
36
38
39
39
38
36
35
34
34
35
35
36
38
39
38
37
36
36
37
38
38
38
38
37
36
37
37
37
37
36
35
35
35
35
35
36
37
37
37
37
37
36
38
38
38
38
38
36
36
38
38
38
37
37
39
38
40
40
40
39
39
39
38
38
38
38
37
37
37
36
37
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
38
38
38
38
39
40
39
39
39
39
39
39
40
41
41
41
40
39
40
40
40
40
39
38
39
40
40
39
39
37
37
37
41
42
43
44
44
43
43
43
42
42
42
43
45
45
45
44
46
46
44
46
28
202
221
196
200
197
199
197
200
202
201
203
204
205
206
207
208
209
210
209
208
206
205
203
201
200
198
197
196
196
195
195
195
195
196
198
197
197
197
196
195
194
193
193
192
191
192
191
190
188
186
186
182
179
176
173
170
168
165
163
160
159
158
155
151
151
149
145
142
135
125
111
99
87
72
60
54
47
40
37
38
39
40
41
43
43
42
39
37
38
37
38
41
42
43
43
43
43
43
43
43
41
41
41
41
42
43
44
44
44
43
43
43
42
41
40
42
40
41
45
55
72
80
89
97
102
103
100
96
93
93
92
93
94
96
98
99
97
95
92
90
87
83
79
72
64
57
51
44
38
36
36
34
34
35
37
38
38
37
36
35
36
36
36
37
38
39
37
36
36
36
36
37
38
38
37
36
37
37
37
37
37
36
35
36
36
36
35
36
37
37
37
37
37
36
38
38
38
38
36
36
36
38
38
37
37
39
38
38
40
40
40
40
40
39
38
39
39
38
37
38
37
36
37
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
40
39
40
41
41
41
40
39
40
40
40
40
39
38
39
40
40
39
39
38
37
37
40
41
43
42
42
42
42
44
43
42
44
44
43
43
43
43
44
46
43
44
27
200
221
196
200
197
200
197
200
203
203
202
203
205
206
207
208
209
210
209
207
206
205
203
202
200
199
198
198
197
197
197
197
197
196
197
198
198
197
196
195
195
194
193
192
193
192
191
191
189
187
187
183
180
177
174
171
168
166
164
162
160
159
157
155
154
152
150
147
141
132
118
105
91
76
63
56
47
38
35
36
36
37
39
40
40
40
40
38
39
39
40
41
41
41
43
43
42
42
42
41
43
43
44
44
42
42
45
44
43
42
41
41
40
39
38
38
40
39
44
54
70
78
87
94
100
101
99
97
94
94
93
94
95
96
98
98
96
94
91
89
87
83
77
71
63
56
49
42
36
34
34
32
33
34
37
38
39
39
38
37
38
39
39
39
39
38
36
34
33
33
34
36
37
38
37
36
37
37
37
37
37
36
35
36
36
36
35
36
37
37
37
37
37
36
38
38
38
38
36
36
36
38
38
37
37
39
38
38
40
40
40
40
40
39
38
39
39
38
37
38
37
36
37
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
40
39
40
40
40
40
40
39
39
40
40
39
38
39
38
37
39
40
41
42
43
43
43
43
41
42
42
42
44
44
43
43
43
44
41
45
26
199
222
196
201
198
201
198
201
203
202
204
205
206
205
207
208
209
208
208
207
206
205
204
202
201
199
198
197
197
196
196
196
196
197
197
198
198
197
196
195
194
194
193
193
193
192
193
192
191
189
188
185
181
178
175
172
170
168
165
163
162
161
159
157
156
155
154
151
145
136
123
110
98
84
69
60
51
41
37
38
35
36
38
39
39
40
40
41
42
43
42
43
44
43
40
40
39
39
41
40
41
42
45
45
45
45
47
47
46
45
44
43
38
37
36
36
37
41
46
54
68
77
86
92
98
100
97
96
96
95
96
96
97
97
98
97
94
93
90
88
84
81
76
70
62
55
48
40
34
33
31
31
32
33
36
38
39
40
40
40
40
41
40
39
39
37
35
34
33
32
33
36
38
38
37
36
37
37
37
37
37
36
35
36
36
36
35
36
37
37
37
37
37
36
38
38
38
38
36
36
36
38
38
37
37
39
38
38
40
40
40
40
40
40
38
39
39
38
37
38
37
36
37
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
40
39
40
40
39
38
39
40
40
40
40
40
39
38
39
38
40
42
43
43
43
43
43
43
43
43
43
43
42
42
45
45
42
42
41
43
26
199
223
197
202
199
202
200
202
202
204
205
204
206
207
206
208
209
208
208
207
208
206
204
202
201
200
199
198
197
198
198
198
198
199
199
199
198
197
196
195
194
196
194
193
193
194
194
193
192
191
190
187
183
180
178
175
172
170
167
164
163
162
160
159
158
157
157
154
148
140
127
116
105
90
75
66
55
45
40
39
37
38
40
42
42
42
43
44
46
46
46
46
44
44
43
42
39
40
39
41
42
43
44
46
46
46
46
46
45
42
41
41
40
39
38
38
42
45
52
60
75
82
89
95
101
103
101
99
97
96
96
97
98
98
98
96
92
90
88
84
81
78
74
69
61
53
48
42
36
34
32
31
31
32
34
37
38
39
40
40
40
40
40
40
39
37
35
34
33
32
34
36
38
38
37
36
37
37
37
37
37
36
35
36
36
36
35
36
37
37
37
37
37
36
38
38
38
38
36
36
36
38
38
38
37
37
39
38
38
40
40
40
39
38
39
39
39
39
37
38
37
36
37
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
40
39
39
40
41
41
40
39
40
40
40
39
38
38
39
40
40
40
40
39
38
38
40
40
41
43
43
42
41
41
43
43
43
43
42
44
43
43
43
43
41
45
26
199
225
198
203
200
203
201
203
205
204
204
206
207
206
208
209
209
210
208
207
207
206
204
203
202
200
199
198
197
197
197
197
198
198
199
199
198
197
195
194
194
195
194
193
193
194
195
195
194
192
191
188
185
182
180
177
174
171
169
166
165
163
161
159
159
159
159
157
152
143
134
123
115
101
86
78
67
57
50
47
42
40
41
42
42
43
45
47
48
48
48
48
47
45
44
43
39
38
40
39
39
40
41
42
42
42
42
42
41
40
40
40
46
46
46
49
53
59
65
71
82
88
94
99
102
103
103
101
100
99
98
98
97
97
95
94
90
87
84
80
77
74
71
66
61
54
49
42
38
36
34
32
32
33
34
36
37
36
37
37
37
38
39
39
39
38
37
35
34
34
35
37
39
38
37
36
37
37
37
37
37
36
35
36
36
36
35
36
37
37
37
37
37
36
38
38
38
38
36
37
36
38
38
38
38
37
39
38
38
40
40
40
40
38
39
39
38
37
38
37
36
36
37
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
39
39
39
39
40
40
40
40
39
38
39
38
38
38
38
38
38
39
38
39
40
41
40
40
41
40
42
42
42
42
41
43
42
44
44
41
43
41
44
26
200
225
197
205
202
204
204
203
206
206
206
207
206
208
208
209
209
210
208
207
207
206
205
203
202
201
200
199
198
199
198
197
198
201
200
199
198
196
195
195
195
195
194
193
194
195
195
196
195
193
192
189
186
185
182
179
176
173
171
168
167
165
162
161
161
161
161
160
156
149
140
132
120
108
97
87
78
67
59
54
48
47
46
45
45
46
46
46
49
49
49
49
48
46
44
43
39
39
39
39
39
41
40
40
40
40
40
41
41
43
44
45
46
49
51
56
62
68
73
79
90
95
100
102
106
107
105
104
106
104
102
101
99
97
95
92
88
85
82
78
75
72
69
65
59
53
49
44
39
38
36
33
32
32
33
34
34
34
35
35
35
36
36
37
38
39
38
37
36
36
37
38
37
38
37
36
37
37
37
37
37
36
35
36
36
36
35
36
37
37
37
37
37
36
38
38
36
36
37
35
37
36
36
36
36
38
37
39
38
38
38
38
38
39
39
39
39
37
37
36
37
36
37
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
38
39
40
40
40
38
39
39
40
41
41
40
42
42
41
43
43
41
43
43
44
25
198
225
200
205
203
206
203
206
207
205
207
207
208
207
207
209
208
208
208
208
207
206
205
204
203
201
200
199
200
200
199
198
199
200
199
198
197
196
195
194
193
194
194
194
195
195
196
196
195
194
193
190
187
186
183
180
178
176
173
170
169
167
165
163
163
163
163
162
158
153
146
139
133
124
113
105
96
85
76
70
62
57
54
53
51
50
49
48
46
48
48
46
47
45
42
41
40
40
41
39
39
41
40
39
41
42
43
43
47
51
55
58
64
70
74
78
85
90
94
99
102
108
111
112
115
117
114
112
109
108
106
104
102
99
95
92
87
84
80
77
73
71
68
64
58
54
50
45
40
38
37
35
34
35
35
35
34
33
33
33
34
34
35
36
38
39
39
38
38
39
39
38
37
38
37
36
37
37
37
37
37
36
36
36
36
36
35
36
37
37
37
35
36
36
38
38
36
36
36
35
37
37
37
36
36
38
37
39
39
39
39
39
39
39
39
39
37
38
37
36
37
36
36
38
37
38
39
38
38
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
38
38
38
38
38
38
38
38
38
38
39
38
37
38
38
39
39
39
39
40
40
42
41
41
41
43
41
44
25
198
225
202
206
204
207
204
207
207
205
207
206
208
208
209
208
208
208
208
206
208
206
205
206
204
201
201
201
201
201
200
199
200
200
198
197
196
195
195
194
193
193
193
194
195
194
195
196
195
195
193
190
188
187
184
182
178
176
174
171
170
169
168
166
165
164
165
164
162
158
153
148
141
136
126
116
109
101
91
85
75
67
62
60
55
50
48
47
45
45
46
46
45
44
44
43
42
41
42
42
42
42
42
40
40
42
42
45
51
58
64
71
78
90
96
97
102
103
103
109
116
119
122
120
122
122
120
116
114
112
111
108
104
101
97
93
88
83
79
76
73
70
67
61
56
53
49
45
41
39
38
37
36
37
36
36
34
33
33
34
35
35
34
34
36
37
38
38
39
40
39
38
37
38
38
37
36
37
37
37
37
36
34
35
36
36
35
36
37
37
37
35
36
36
38
38
38
38
38
37
36
37
37
36
36
38
38
37
37
37
37
37
37
37
37
37
38
36
36
37
37
37
37
37
38
38
39
39
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
38
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
38
38
39
40
40
40
40
40
40
40
39
37
37
36
36
37
38
38
40
40
41
41
41
40
41
43
41
43
41
42
25
200
223
202
207
204
207
204
208
205
205
207
208
207
207
208
208
210
210
208
208
207
206
205
205
204
202
201
200
201
201
201
200
200
200
198
197
196
195
194
193
193
194
194
194
195
195
196
195
196
195
194
191
188
186
184
181
179
177
175
173
172
171
170
169
168
168
167
166
165
163
160
157
152
147
140
132
125
117
106
100
89
79
72
66
61
55
52
49
45
44
41
40
42
41
41
39
41
42
42
42
42
42
41
40
41
45
45
49
55
66
74
84
99
112
121
122
124
122
122
125
128
131
131
130
129
129
127
123
121
117
115
112
108
104
99
93
87
82
79
76
72
70
66
58
54
51
47
44
42
41
40
39
39
38
37
36
35
34
33
33
33
33
33
33
35
37
37
39
40
40
40
39
38
37
38
37
36
37
37
37
37
36
34
35
36
36
35
36
37
37
37
37
37
36
38
38
38
38
38
36
36
37
37
37
36
36
36
38
38
38
38
38
38
38
38
38
36
37
37
37
37
37
36
37
38
38
39
39
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
38
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
39
38
39
40
40
40
40
40
40
40
40
39
39
38
37
38
40
40
38
38
39
41
40
42
42
41
41
43
41
43
25
200
225
202
205
205
208
205
208
206
205
208
207
209
209
210
210
210
209
207
208
208
208
206
206
205
203
202
200
201
201
201
201
200
199
198
196
195
195
194
193
192
192
192
193
194
195
196
196
196
195
194
192
189
187
185
182
179
177
175
174
173
172
171
170
171
170
167
166
166
165
163
163
163
160
155
150
143
135
127
120
107
97
88
79
72
66
60
56
53
49
43
42
44
45
44
44
44
45
47
48
48
49
50
52
50
56
59
64
73
85
95
105
123
136
146
147
145
142
140
142
141
143
144
142
141
139
136
133
127
124
120
117
113
107
102
96
89
84
81
77
74
71
66
60
54
49
46
45
44
43
41
40
41
39
38
37
36
35
34
34
35
34
32
33
34
36
37
38
39
40
40
39
38
37
38
37
36
37
37
37
37
36
34
35
36
36
35
36
37
37
37
37
37
36
38
38
38
38
38
36
36
37
37
37
37
37
36
36
38
38
38
38
38
38
36
36
37
37
37
37
37
37
36
37
38
38
39
38
38
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
38
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
39
38
39
40
40
40
40
40
40
40
40
40
39
39
39
39
38
40
38
38
38
40
40
42
42
41
41
43
41
42
25
200
226
203
207
206
209
206
209
206
207
208
209
209
210
210
210
209
208
209
207
207
206
206
205
204
203
202
201
200
200
200
201
201
199
198
196
195
194
194
192
191
192
193
192
193
195
196
196
196
194
194
192
190
187
184
182
179
176
175
174
173
172
171
170
171
169
165
164
164
163
159
159
156
154
151
149
146
139
132
127
121
114
107
103
98
94
89
85
81
77
68
64
64
65
62
62
62
63
66
70
75
79
83
87
93
98
102
106
112
120
127
133
141
150
158
159
158
154
153
154
153
154
151
149
148
147
144
142
139
135
131
126
121
117
111
105
98
93
89
85
81
78
72
63
54
48
45
46
45
44
42
41
42
41
39
38
38
37
36
37
37
36
35
34
34
35
35
36
37
38
37
37
38
38
38
37
36
37
37
37
37
36
34
35
36
36
36
37
37
37
37
37
37
36
38
38
38
38
38
36
36
37
37
37
37
37
37
36
36
38
38
38
37
36
37
37
37
37
37
37
37
37
36
37
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
38
38
39
40
40
40
40
40
40
40
40
40
40
39
38
38
40
40
40
40
40
41
40
42
41
43
41
44
42
44
25
200
227
203
206
206
208
205
209
208
206
206
207
209
208
208
208
210
208
207
207
206
207
206
205
204
205
203
201
200
201
202
202
201
199
198
196
195
194
193
192
191
190
191
192
193
193
194
195
195
193
193
192
190
187
184
181
178
176
174
173
174
173
172
171
171
168
164
162
160
157
154
153
153
152
152
150
150
147
143
140
133
127
123
121
118
115
113
111
105
97
86
80
76
73
71
70
69
71
76
82
91
99
109
116
122
128
133
136
141
145
150
152
158
162
165
165
165
164
163
164
164
162
160
158
156
153
151
150
146
142
138
134
129
123
117
111
104
99
95
91
87
83
76
66
54
47
45
45
44
45
43
42
42
42
41
40
40
40
40
39
39
38
36
35
34
35
34
33
34
35
36
36
37
38
37
36
37
37
37
37
37
36
35
34
34
34
34
35
35
35
35
37
37
36
38
38
38
38
38
38
36
36
37
37
37
37
37
36
36
38
38
38
38
36
37
37
37
37
37
37
37
36
37
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
39
38
38
38
38
38
38
38
38
38
38
38
39
40
40
40
39
38
38
38
38
38
38
38
39
40
40
40
40
40
39
39
39
39
39
40
42
41
43
43
42
44
42
44
25
200
227
204
208
206
208
205
208
208
208
208
209
209
209
209
209
208
207
206
206
206
206
206
204
205
205
203
201
201
202
202
202
201
199
198
196
195
194
193
191
190
189
190
191
192
192
193
194
194
194
193
190
188
186
185
182
179
177
175
174
174
174
173
172
172
169
164
161
159
155
153
151
152
151
151
151
151
151
149
147
144
142
140
137
136
136
134
131
126
118
108
101
96
90
87
86
87
88
95
103
112
123
136
145
153
160
164
167
171
173
174
174
175
174
175
175
175
175
175
174
173
171
168
166
164
162
160
158
156
152
148
143
137
131
125
119
112
107
102
97
94
90
82
70
57
49
48
47
45
46
45
43
43
42
41
41
41
41
42
41
40
40
38
37
35
34
33
32
33
34
35
36
37
37
36
37
37
37
37
37
37
36
35
34
35
35
34
35
36
36
36
35
35
37
38
38
38
38
38
38
38
38
36
37
37
37
37
37
36
36
38
38
36
37
37
37
37
37
37
37
37
36
37
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
38
38
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
40
41
41
43
43
42
44
42
44
25
200
227
204
208
206
208
205
208
208
207
207
209
209
209
209
207
208
209
207
206
205
205
205
206
204
203
202
201
201
202
201
200
200
199
198
196
195
194
192
190
189
190
189
190
191
192
193
193
193
193
192
189
188
187
185
182
179
178
177
174
173
174
174
173
172
168
163
161
158
155
153
153
154
154
154
155
156
156
154
153
151
149
150
150
149
149
150
149
143
133
125
119
115
111
110
109
110
111
117
126
134
144
157
168
179
185
186
187
190
191
188
187
185
184
184
184
183
182
182
181
180
177
175
173
172
170
168
167
166
163
160
155
149
144
138
133
125
121
116
111
108
103
95
82
67
58
56
53
50
50
48
43
41
40
39
39
39
41
43
42
42
42
40
39
37
35
34
32
33
34
35
36
37
37
36
37
37
37
37
37
37
36
35
34
35
35
34
35
36
36
36
36
36
35
36
36
38
38
38
38
38
38
36
37
37
37
37
37
37
36
36
36
37
37
37
37
37
37
37
37
36
36
37
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
40
41
42
42
40
42
42
42
41
43
42
42
42
44
42
44
25
200
225
203
207
206
208
205
209
207
207
209
209
209
209
207
206
208
208
208
206
206
205
205
204
204
202
202
201
202
201
200
201
200
199
198
196
194
193
192
190
189
189
189
190
191
191
192
193
192
191
191
188
186
185
183
182
179
177
175
174
173
173
173
172
171
167
163
162
160
158
156
157
158
158
160
159
160
159
157
155
152
151
150
149
146
146
146
146
145
141
135
131
131
129
127
128
129
131
136
143
150
159
168
175
181
185
185
186
190
189
189
188
190
190
190
190
187
185
184
182
181
180
178
179
178
176
175
174
173
170
168
164
159
154
149
144
137
132
127
122
118
113
104
92
79
69
65
62
56
53
48
42
39
38
37
37
38
39
41
42
43
43
42
41
40
38
36
35
35
35
36
37
37
38
37
36
37
37
37
37
37
36
34
34
35
35
34
35
36
36
36
34
35
35
37
37
36
36
38
38
38
38
38
36
36
36
37
37
37
37
37
37
37
37
37
37
37
37
36
36
37
38
37
38
39
39
39
39
38
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
39
39
40
40
41
41
41
41
41
41
42
43
42
44
44
44
43
45
43
43
25
200
226
202
205
207
208
206
210
209
209
209
208
207
207
207
206
206
206
206
207
207
205
204
203
203
201
202
201
200
200
199
199
200
199
197
195
193
192
191
189
190
190
190
190
190
191
192
191
191
191
190
187
185
184
182
181
178
176
174
173
172
173
172
171
168
167
165
164
162
162
161
161
163
163
163
162
162
160
158
156
153
152
150
147
148
148
147
150
149
149
149
148
147
148
148
150
153
155
159
162
167
175
179
182
187
189
190
189
192
191
193
194
195
195
196
195
191
188
185
183
184
182
182
183
183
183
182
182
182
180
177
174
171
166
162
157
152
148
143
136
130
125
118
106
92
83
77
72
65
60
51
44
39
36
34
33
36
37
40
42
43
45
45
44
43
42
38
37
38
37
37
38
39
38
37
36
37
37
37
37
37
36
36
35
34
35
34
35
36
36
36
36
36
36
35
37
37
37
36
38
38
38
38
38
38
38
36
37
37
37
37
37
37
37
37
37
37
36
37
38
38
39
39
39
39
39
39
38
39
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
37
37
37
37
38
39
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
39
40
41
42
42
41
43
43
43
43
43
44
44
44
45
45
45
45
46
45
45
26
199
224
202
206
207
208
205
210
209
209
209
209
207
208
207
206
207
207
206
205
205
204
205
203
202
203
202
201
200
199
200
200
199
198
197
196
194
193
191
190
189
190
189
188
189
191
192
192
192
191
189
187
186
184
183
180
178
177
175
174
173
172
171
170
169
167
165
164
163
162
161
160
161
162
162
161
160
158
157
156
152
151
150
149
147
148
148
149
150
151
152
153
155
155
156
158
161
163
167
171
176
181
185
188
191
191
193
192
195
194
194
197
195
196
197
196
193
190
187
185
184
183
182
184
185
185
184
185
185
182
181
179
176
173
169
165
160
156
151
145
139
134
126
115
103
95
89
82
75
68
58
50
43
38
35
33
35
36
39
41
43
45
45
44
44
42
40
39
40
39
38
39
38
38
37
36
37
37
37
37
37
36
34
34
35
35
34
35
36
36
36
36
36
36
35
37
37
36
36
38
38
38
38
38
38
38
38
36
37
37
37
37
37
37
37
37
36
37
38
37
38
39
39
40
38
39
39
39
38
39
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
38
38
38
38
37
38
39
39
39
39
39
39
39
38
38
39
40
40
40
40
40
40
40
40
39
40
40
41
42
41
42
43
43
43
43
42
43
44
43
43
45
45
46
45
44
28
199
225
202
206
205
208
205
210
207
207
207
207
207
206
208
206
207
205
205
205
204
204
203
202
203
202
201
201
200
199
200
199
198
198
197
196
195
193
191
190
189
189
188
189
188
189
189
189
190
190
189
186
185
184
181
180
178
178
177
175
174
172
170
168
167
167
164
163
162
162
161
161
160
159
160
159
157
156
154
154
151
150
149
149
149
148
149
151
149
150
152
154
158
160
161
163
167
168
173
177
181
185
188
189
194
196
196
195
198
197
199
200
198
201
201
199
196
192
189
187
185
184
185
186
187
187
188
189
187
184
183
182
180
178
176
173
169
166
161
155
148
143
137
129
119
110
104
97
89
81
71
61
52
46
39
35
36
37
39
41
43
44
45
45
44
44
42
41
41
42
40
39
38
38
38
37
36
37
37
36
35
34
34
35
35
35
34
35
36
36
36
36
36
35
37
37
36
38
38
38
38
37
37
38
38
38
38
36
37
37
37
37
37
37
36
36
36
38
37
38
39
38
39
39
38
39
39
39
38
39
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
38
38
38
38
37
38
39
39
39
38
37
38
39
39
39
38
38
39
40
40
40
40
40
40
39
40
40
41
41
42
43
43
43
42
42
42
43
44
44
44
43
43
45
43
45
26
201
225
201
204
206
207
205
209
207
209
209
207
208
206
206
207
205
206
205
204
204
203
202
202
202
203
201
200
199
199
198
198
198
197
197
196
195
194
192
191
190
188
187
187
188
189
188
188
189
189
187
186
184
183
182
179
178
177
176
175
173
172
170
167
166
166
164
162
162
161
160
161
159
158
156
155
155
153
151
149
149
148
147
147
147
148
149
151
149
152
153
154
158
162
162
164
169
173
177
181
182
187
190
191
195
197
198
199
201
202
202
203
203
204
204
201
197
193
190
188
187
186
185
187
188
188
189
189
187
185
184
183
182
182
180
177
173
171
168
163
157
152
146
139
132
124
119
112
103
94
83
71
61
53
44
38
38
39
39
41
42
44
45
45
45
45
43
44
45
44
42
39
37
36
37
37
36
37
36
35
36
35
34
35
35
35
34
35
36
36
36
36
36
37
37
36
38
38
38
38
37
37
39
37
38
38
38
36
37
37
37
37
37
36
37
38
38
37
38
39
38
39
40
40
39
38
39
39
39
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
38
38
38
38
38
37
37
37
37
37
38
37
37
38
39
39
38
39
40
40
40
40
40
40
40
40
40
41
43
43
43
43
42
44
44
44
44
44
44
44
44
42
45
43
45
24
202
223
201
205
206
207
204
209
207
209
209
207
206
207
206
205
206
206
206
205
205
203
203
202
201
201
201
200
199
198
199
199
198
197
196
197
196
195
193
191
190
189
188
188
189
189
189
188
189
189
188
185
184
182
181
179
178
176
175
174
173
171
169
168
166
164
164
162
160
160
161
160
158
157
155
154
154
151
149
148
149
149
148
148
148
148
149
149
151
154
155
155
159
163
164
167
173
174
179
183
185
189
192
194
196
198
199
201
203
203
203
204
205
205
204
203
198
195
192
190
189
188
187
187
188
189
189
189
188
186
185
183
182
183
182
181
178
176
175
169
162
158
153
148
141
134
130
123
113
103
91
78
68
60
50
42
42
41
41
43
41
43
44
44
43
43
44
45
46
45
44
40
37
36
36
36
37
37
36
35
36
35
34
35
35
35
34
35
36
36
36
34
34
37
37
36
38
38
37
37
37
37
39
37
38
38
38
36
37
37
37
37
37
36
36
38
37
38
39
38
39
40
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
38
38
38
38
38
38
38
38
38
38
38
37
37
38
39
39
39
38
38
38
38
38
38
38
38
40
40
41
41
42
43
43
42
43
44
44
44
44
44
44
44
44
45
44
44
25
201
224
201
203
204
206
204
209
206
207
207
208
208
205
207
205
204
204
204
203
204
203
201
202
202
201
200
200
199
198
198
197
197
196
197
197
196
195
194
192
191
190
189
189
189
189
189
188
189
189
186
185
184
182
181
179
177
176
174
173
172
172
171
170
169
167
166
163
163
161
160
159
158
157
156
154
153
153
151
151
151
151
152
150
150
150
150
149
152
153
154
155
159
162
166
167
172
175
178
181
183
186
190
192
195
198
200
202
204
203
203
203
204
202
201
200
199
197
195
194
193
191
189
189
188
187
188
188
187
185
183
182
181
182
184
183
181
180
179
175
168
164
160
154
148
143
139
133
124
114
102
89
78
70
59
50
49
47
45
45
44
43
42
42
41
41
41
44
45
44
42
39
37
36
37
37
37
37
37
36
35
34
34
35
35
35
34
35
36
36
36
34
34
35
36
38
38
37
39
37
37
37
39
39
37
38
38
38
36
36
35
35
37
37
38
38
37
38
39
39
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
38
38
38
38
38
38
38
38
38
37
37
38
39
39
39
38
38
38
39
39
39
39
39
39
38
40
40
41
42
41
42
43
42
44
44
44
44
44
44
44
44
42
44
42
44
25
199
224
200
204
205
206
204
208
206
208
208
207
206
207
205
206
204
205
203
202
202
202
200
200
201
202
201
200
198
198
197
198
197
195
196
197
197
196
194
192
189
189
189
188
187
188
189
189
189
189
187
184
183
183
181
179
177
175
174
173
172
173
172
172
172
170
168
166
164
162
160
159
158
157
155
155
156
156
156
156
156
155
155
154
154
154
153
151
152
154
155
157
159
161
164
166
169
171
175
176
178
181
186
189
193
196
199
201
203
202
200
201
202
199
198
197
200
200
200
198
196
194
192
191
189
187
186
186
184
182
181
180
178
181
184
183
182
181
182
178
171
167
164
160
154
150
147
142
136
128
117
104
95
86
73
63
58
54
51
49
46
43
42
40
38
38
39
41
41
41
41
39
38
37
36
37
37
37
37
37
37
36
34
34
35
35
34
35
36
36
36
34
34
34
36
38
38
37
39
39
37
37
39
39
37
38
38
38
36
37
35
36
37
37
38
38
37
38
39
39
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
38
38
38
38
38
38
38
38
37
38
39
39
39
38
38
39
40
39
38
39
39
39
39
39
38
40
40
41
42
42
41
42
43
42
42
42
42
42
42
42
42
41
44
41
43
25
200
222
199
204
205
206
203
207
206
207
207
207
206
206
205
204
204
203
202
203
202
201
200
200
201
202
201
200
198
198
197
198
198
197
196
197
198
196
194
192
191
190
189
188
188
189
188
187
188
188
186
184
184
182
181
179
178
176
174
173
172
173
173
173
174
173
171
168
165
164
159
157
158
159
158
158
157
157
158
159
158
157
157
156
155
154
155
153
154
155
156
158
160
163
163
165
167
171
171
173
175
179
183
186
190
193
197
197
199
200
198
199
198
196
195
196
200
202
203
201
197
195
193
192
189
187
186
185
181
180
179
178
177
180
183
184
184
184
184
180
174
170
167
164
159
155
153
149
145
138
127
117
107
98
86
73
66
61
55
51
47
44
42
39
37
37
38
40
40
40
40
39
38
38
37
37
37
37
37
37
37
36
36
35
34
34
34
35
35
35
35
35
36
35
37
36
37
37
39
39
37
37
39
39
37
38
38
38
36
36
35
35
37
37
38
38
37
38
39
39
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
37
37
38
38
38
38
38
38
37
38
39
39
38
39
40
40
40
39
38
39
39
39
38
38
38
40
40
41
42
41
43
43
43
42
42
43
43
43
43
43
43
40
43
42
41
24
200
224
197
204
203
204
205
206
207
209
209
207
206
206
205
205
204
203
203
202
202
201
201
200
200
200
200
199
200
199
197
197
198
199
197
196
196
196
195
191
190
189
188
189
188
188
187
186
186
186
186
185
184
183
182
179
179
177
174
173
173
174
174
172
173
172
169
167
165
162
160
158
160
160
159
158
157
159
161
160
159
158
158
157
155
156
157
155
156
158
158
158
160
162
165
164
167
169
170
171
173
175
178
179
182
185
187
188
193
197
196
197
196
195
194
195
199
203
204
201
197
194
193
190
187
186
186
184
180
180
180
180
182
185
189
191
189
189
188
185
181
177
174
170
167
163
160
156
150
144
135
125
117
109
99
85
75
69
61
53
48
42
38
37
37
38
38
40
41
42
41
39
38
37
38
36
35
35
36
37
36
34
34
36
36
36
36
35
37
37
37
37
37
37
36
37
39
39
39
39
39
39
39
37
38
38
38
36
36
36
37
37
36
36
38
38
37
38
39
39
40
40
39
38
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
38
38
38
38
38
37
38
39
39
39
38
38
38
39
39
38
38
38
38
39
40
39
41
42
41
40
41
41
43
43
44
43
43
43
43
43
43
43
42
41
40
40
21
199
224
199
205
202
205
204
204
207
208
208
208
206
207
207
207
207
206
206
205
205
203
202
201
200
200
200
199
199
198
198
197
198
198
196
197
197
196
195
193
191
191
189
187
186
186
185
185
187
187
186
185
184
183
181
180
179
177
175
174
173
174
173
172
171
170
167
166
164
162
161
161
160
160
160
162
162
162
162
161
158
157
158
156
156
158
159
158
160
163
163
162
163
164
166
164
164
165
165
165
166
169
169
167
169
172
173
174
179
185
189
193
196
196
197
198
200
202
200
198
195
192
189
186
183
181
183
182
181
181
184
186
190
195
200
203
201
200
199
195
189
184
179
177
175
171
167
162
155
149
142
135
128
123
115
101
88
77
64
54
46
39
35
35
38
40
41
40
39
39
40
39
38
37
38
36
35
36
37
36
36
35
34
34
36
36
36
35
36
37
36
38
36
37
39
39
39
39
37
39
39
39
37
38
38
38
36
36
37
38
36
36
37
38
37
37
37
37
39
39
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
38
38
38
38
38
37
38
38
38
39
39
38
39
40
40
40
40
40
40
40
41
41
40
40
40
41
41
40
41
42
41
41
42
42
42
42
42
42
42
42
41
41
22
199
224
199
204
202
205
205
204
207
207
206
206
206
206
206
208
207
206
207
205
205
204
203
202
202
202
200
199
199
198
199
199
199
198
198
197
197
197
194
192
190
188
187
186
185
185
184
184
186
187
186
186
185
183
182
181
179
177
176
175
175
174
173
173
171
169
166
166
163
162
162
162
162
163
163
166
165
163
162
160
160
159
157
157
157
159
160
161
163
166
167
167
168
169
166
166
163
163
162
162
162
161
159
155
152
156
156
157
164
171
181
187
195
196
198
200
201
200
198
196
193
189
185
181
179
178
179
180
181
183
188
192
199
206
212
215
214
212
210
206
198
192
187
185
181
177
173
164
158
154
148
142
139
136
131
119
103
87
72
57
46
37
32
34
39
43
44
40
38
38
38
39
39
39
38
37
37
37
36
36
35
34
35
35
34
36
35
37
37
36
38
37
37
38
40
38
38
37
38
37
37
37
38
38
36
36
37
36
36
38
38
36
36
38
38
39
39
39
39
38
38
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
37
37
37
37
37
37
39
40
39
38
38
39
39
39
39
39
39
39
39
40
40
40
40
40
41
40
39
39
40
41
41
41
41
41
41
41
41
41
40
40
39
41
22
199
224
197
204
201
205
203
206
205
205
205
207
207
208
208
209
209
207
206
207
207
205
204
202
201
200
201
200
199
198
199
198
197
197
198
197
196
195
194
191
189
187
186
185
185
186
186
186
186
186
185
185
184
184
182
182
180
177
176
175
174
175
174
173
172
170
167
165
164
162
161
161
164
164
165
166
165
164
163
163
162
160
159
159
159
160
161
163
164
168
169
169
170
171
169
167
165
162
161
162
160
160
155
152
145
149
152
152
159
167
178
186
194
197
200
201
200
199
197
195
192
188
184
180
178
177
179
181
183
187
192
198
205
211
218
221
219
218
216
210
203
197
192
188
184
179
173
165
158
154
149
144
141
140
138
127
112
96
79
63
51
40
34
36
42
44
45
40
38
39
38
39
40
39
38
38
37
36
34
34
34
34
34
34
34
34
35
36
36
37
37
38
38
40
40
40
40
37
36
38
38
38
36
36
37
37
36
36
38
38
38
38
38
37
37
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
40
40
40
40
39
40
41
41
41
41
41
41
41
42
42
42
41
41
40
39
40
39
39
39
40
39
39
39
39
39
39
41
41
39
41
20
199
224
197
205
202
205
203
204
206
205
205
207
207
208
209
208
208
209
207
206
205
207
204
202
201
200
199
201
199
198
198
197
198
198
196
195
195
194
192
190
189
187
186
185
184
185
186
186
185
186
185
184
185
184
182
181
179
178
177
176
176
175
174
174
173
172
170
168
167
164
161
162
162
160
159
161
162
161
163
164
165
165
165
164
163
161
162
160
162
165
169
170
171
171
170
168
165
161
160
160
160
159
157
154
152
154
156
157
162
172
181
188
194
197
201
200
200
199
200
197
191
189
186
183
180
181
183
184
187
190
195
201
206
213
218
221
221
220
218
212
204
198
193
190
185
180
174
165
158
153
148
141
136
135
134
127
114
100
86
71
59
47
40
41
45
46
45
41
39
38
38
40
41
40
39
39
37
36
35
34
35
36
36
35
36
36
36
38
38
39
39
40
40
39
39
40
40
39
38
36
36
36
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
39
40
41
41
41
41
41
41
40
41
42
42
42
41
41
40
40
40
40
40
39
38
40
40
40
40
40
40
40
40
38
40
21
199
225
199
205
203
205
205
204
206
205
205
207
207
208
209
209
210
208
207
206
207
205
204
202
201
201
200
199
199
198
197
198
198
197
195
194
193
192
190
189
188
186
185
184
184
185
184
185
186
185
184
184
183
183
182
181
179
178
177
176
175
176
176
175
176
175
174
173
171
166
163
161
158
156
155
157
158
160
163
166
169
170
170
169
167
164
161
159
160
164
167
168
170
171
170
168
165
162
159
160
161
161
161
160
160
163
162
163
169
177
185
191
196
198
201
202
200
201
201
199
194
191
189
188
184
185
187
188
191
194
198
203
208
213
218
221
219
218
217
212
205
198
194
190
184
178
173
164
157
150
141
134
130
129
130
125
116
107
97
83
70
58
49
47
47
45
43
41
40
39
39
40
42
41
39
39
37
36
34
35
36
36
35
34
35
35
36
37
37
38
38
41
39
41
39
40
40
39
38
36
36
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
40
40
39
40
39
40
41
41
41
41
41
41
40
41
42
42
41
40
40
39
38
38
38
38
37
37
38
38
38
38
38
38
38
38
37
40
21
199
226
198
205
203
206
204
204
205
205
205
207
206
208
209
209
208
207
207
206
205
204
204
202
202
201
200
199
199
198
197
196
197
196
194
194
191
190
189
188
187
185
184
183
183
184
186
185
184
184
184
184
183
183
181
180
179
178
178
176
175
175
176
177
178
177
177
176
173
169
165
161
157
154
153
156
157
160
164
167
172
172
173
172
170
166
162
158
160
164
168
169
172
172
171
169
165
160
160
161
164
165
167
168
167
170
170
171
176
182
189
194
197
199
201
202
201
201
202
200
195
193
192
191
188
188
191
192
194
197
201
205
209
214
219
220
219
218
216
211
205
199
195
189
182
176
170
162
154
145
134
124
119
119
122
120
116
113
107
93
79
67
56
51
48
45
42
41
41
41
41
41
41
40
39
39
37
36
36
35
35
36
34
35
36
35
36
37
37
39
38
41
40
39
40
38
38
39
38
36
36
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
40
40
39
38
39
39
39
39
38
37
38
39
39
39
39
39
39
39
37
38
21
198
225
202
206
204
204
204
206
207
207
207
207
208
208
209
208
208
208
207
206
206
204
203
204
202
200
199
199
198
197
196
196
195
195
194
191
189
188
187
186
186
184
183
183
183
184
186
185
184
185
184
183
183
182
181
180
180
178
177
176
176
176
176
178
179
178
178
177
174
170
167
162
159
156
154
156
157
159
162
166
171
173
174
174
171
168
164
161
163
166
170
171
172
172
172
170
165
162
161
165
165
166
169
173
173
176
175
176
181
186
192
196
198
199
200
201
203
204
201
200
196
194
195
193
191
192
193
194
196
198
202
206
210
215
219
221
220
218
216
211
204
200
194
187
179
172
165
157
149
140
127
114
108
109
112
113
113
112
110
99
85
72
61
53
48
42
40
41
40
41
41
41
40
40
39
39
37
36
35
37
36
36
35
35
36
35
36
38
38
37
38
39
40
40
40
38
39
37
38
38
36
36
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
39
40
41
41
41
41
41
40
41
42
42
40
38
38
39
39
39
39
39
37
39
39
39
39
39
39
39
39
39
37
39
21
198
223
205
204
205
203
205
207
207
206
206
206
208
208
209
209
210
210
207
208
207
204
203
202
201
199
198
198
197
198
198
196
196
196
194
190
188
187
186
185
186
185
185
184
184
185
185
185
185
184
183
182
182
182
181
180
179
178
179
178
178
179
178
177
178
178
177
178
176
173
170
166
163
160
158
158
158
160
163
164
168
170
172
174
173
170
167
167
169
169
172
175
176
174
173
173
170
165
165
169
168
170
176
179
182
183
182
185
187
188
195
198
201
203
204
204
205
205
202
200
197
196
195
194
195
195
196
197
199
201
204
208
211
214
218
220
218
216
214
209
204
199
193
185
177
168
162
152
142
132
118
103
97
98
100
103
108
110
113
106
92
80
67
57
49
38
38
41
41
41
41
41
40
39
39
39
38
36
34
35
34
34
34
35
36
35
36
36
37
37
38
40
40
40
40
40
37
36
36
36
36
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
39
21
199
223
205
204
205
203
205
207
206
206
208
208
206
208
209
209
208
207
206
206
205
203
202
201
199
198
197
197
196
197
196
194
195
194
191
188
186
185
184
184
184
185
184
183
184
184
183
183
182
182
181
180
179
180
179
178
179
179
179
178
179
179
178
178
177
178
179
179
177
176
173
169
167
164
161
159
159
160
162
163
166
168
170
171
173
173
173
173
172
173
173
175
178
179
178
177
174
170
168
172
173
175
182
185
191
190
191
192
192
194
198
200
204
206
206
206
205
204
201
199
199
199
198
197
197
197
198
199
202
203
206
208
210
212
216
217
215
214
212
207
202
197
190
182
173
163
156
146
135
123
106
90
82
82
85
90
100
108
117
112
100
88
74
62
50
37
35
38
39
40
40
39
40
39
38
37
37
36
35
35
36
36
34
35
35
37
36
38
38
37
38
40
40
40
40
40
37
36
36
37
37
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
38
40
38
38
21
198
223
204
203
205
203
204
208
208
208
208
207
206
206
207
207
209
207
206
205
204
202
201
201
199
198
197
197
196
195
195
193
194
193
190
187
185
184
185
185
185
184
183
184
184
183
182
182
182
181
180
179
178
178
178
177
177
177
178
179
179
179
179
179
179
179
180
179
177
176
174
171
170
167
164
163
162
161
163
164
165
166
168
170
172
173
174
175
173
174
175
175
178
181
181
179
175
169
169
173
174
179
185
189
194
194
195
196
196
197
200
202
204
206
208
206
207
204
201
199
197
197
196
197
197
198
200
200
203
204
206
207
209
211
213
214
213
211
209
205
200
195
189
179
168
159
152
141
130
117
97
79
69
70
74
82
94
105
116
113
103
93
78
64
51
38
35
38
39
40
40
39
40
39
38
38
37
35
34
35
36
36
36
36
35
36
36
37
37
39
38
40
40
40
40
38
38
36
36
37
37
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
38
40
38
38
21
198
224
203
202
205
203
206
208
208
207
207
208
208
208
208
208
209
207
205
204
204
202
201
200
199
197
197
196
195
196
195
193
192
192
190
187
185
184
185
185
185
185
184
184
184
183
181
181
180
179
178
177
176
177
178
178
178
179
178
180
181
181
182
183
183
181
180
178
176
174
172
170
168
166
165
166
165
164
164
165
166
166
167
167
168
168
170
172
171
172
175
174
178
182
182
180
175
169
170
174
174
177
185
188
195
194
194
196
196
197
199
201
203
207
209
208
206
204
200
198
196
196
195
195
195
197
199
199
202
203
205
206
208
209
211
211
210
208
206
202
197
192
185
177
165
155
148
138
126
112
91
69
60
62
65
75
88
99
112
111
101
93
80
66
53
40
38
39
39
40
41
40
40
39
38
37
36
35
34
35
36
36
36
36
35
36
36
37
37
38
39
38
40
40
40
39
38
36
36
37
37
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
40
39
40
39
38
39
38
38
38
38
38
38
38
38
38
38
40
40
38
38
21
198
222
202
201
204
202
205
207
208
208
209
207
208
208
206
206
208
206
205
203
203
201
200
199
198
197
196
196
195
194
194
192
192
191
190
187
185
184
185
185
185
184
183
182
183
182
181
180
178
177
176
176
176
176
177
176
178
179
179
180
181
183
185
186
185
183
181
178
175
173
171
169
169
167
167
169
168
168
168
168
167
168
167
165
165
164
165
165
166
169
172
174
178
183
183
183
175
169
169
173
175
177
186
190
196
196
194
194
194
196
197
199
204
208
211
211
206
203
199
197
195
195
194
195
196
197
198
198
200
202
204
205
206
207
209
209
207
205
204
199
194
190
182
172
162
151
143
133
120
105
84
62
51
51
53
63
79
92
107
109
102
95
83
69
55
41
38
40
40
41
41
40
40
39
38
37
36
35
34
35
36
36
36
35
37
37
36
37
37
38
39
39
38
38
38
39
36
36
37
37
37
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
40
39
40
39
38
40
40
40
40
40
40
40
40
40
40
40
40
38
40
21
199
221
200
200
204
201
203
207
208
207
207
208
207
206
207
207
205
205
204
202
201
199
198
198
197
196
196
195
194
194
193
191
191
190
189
187
185
185
185
184
183
183
182
182
181
180
178
177
176
174
173
173
173
174
175
176
177
178
178
179
180
182
183
185
183
182
180
179
177
175
173
172
171
170
169
171
170
169
170
170
170
169
167
166
165
164
163
163
165
168
170
173
177
182
181
179
173
168
166
171
173
176
185
189
195
195
194
194
194
193
194
197
203
207
210
210
205
202
199
198
195
196
194
193
195
196
197
197
199
200
202
203
204
205
206
206
203
201
198
193
189
184
177
168
158
147
138
127
114
98
77
56
46
43
43
53
70
85
102
107
102
98
87
73
60
46
41
42
43
43
41
40
39
39
38
38
37
36
35
35
36
36
36
35
36
37
36
37
39
39
39
39
39
39
39
39
36
36
37
37
37
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
40
39
40
40
40
40
40
40
40
40
40
40
40
40
39
41
40
40
20
199
221
201
199
204
201
204
205
208
208
207
206
208
206
206
205
206
206
203
202
201
199
198
198
197
196
195
195
194
193
192
191
191
190
189
187
186
185
184
184
183
182
181
179
178
177
175
174
173
172
172
171
171
172
173
173
174
175
177
178
179
180
180
181
182
181
180
180
180
178
176
175
174
172
170
171
172
172
172
172
172
172
171
170
168
166
165
165
167
170
169
170
175
179
177
174
169
162
161
166
167
174
182
187
193
193
191
192
191
191
194
195
201
205
208
206
204
201
201
199
195
194
193
194
193
194
195
196
197
198
200
201
201
202
202
202
200
197
194
189
184
180
172
164
155
144
136
125
112
96
74
56
47
44
42
50
66
79
97
103
100
98
90
79
67
51
46
45
45
44
42
40
39
39
38
38
37
36
34
35
36
36
34
35
36
36
38
37
38
39
39
39
39
39
39
39
36
36
36
36
37
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
40
39
40
40
40
40
40
40
40
40
40
40
40
39
41
41
40
39
22
199
223
197
199
202
203
203
207
208
208
208
208
208
208
206
205
204
203
202
201
200
199
198
197
196
195
194
194
193
193
193
192
191
190
188
186
184
184
183
183
182
181
180
178
175
174
173
172
171
169
169
170
170
171
171
173
174
174
174
175
176
177
176
177
176
178
181
180
180
181
180
176
177
176
173
173
173
171
171
172
173
175
175
173
172
171
169
167
168
169
168
170
173
176
174
170
164
158
157
162
163
168
178
184
190
191
189
189
189
191
193
194
198
202
205
204
202
201
199
198
194
193
192
192
192
191
193
194
196
197
200
199
200
201
201
201
198
194
192
187
182
177
170
162
153
143
133
122
109
94
76
56
45
43
41
49
65
76
92
99
98
99
94
83
71
57
51
49
46
44
41
40
39
38
38
37
37
36
35
36
36
36
35
37
36
38
37
39
39
39
39
39
39
39
37
37
37
36
38
36
36
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
40
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
38
39
22
197
223
194
198
199
203
203
206
208
208
208
208
207
206
207
205
203
202
201
200
200
199
198
197
196
195
194
194
193
193
192
191
191
190
188
186
184
182
182
181
181
180
178
177
174
172
171
169
168
166
166
168
168
169
169
171
173
174
173
174
174
174
173
174
175
178
180
180
180
183
182
179
176
176
174
172
173
174
173
175
174
176
176
174
174
173
170
170
169
167
168
169
171
172
171
167
160
153
153
158
159
164
173
181
188
188
188
187
187
189
191
191
197
200
203
203
202
201
200
199
195
193
192
192
191
190
192
194
194
196
199
198
199
200
200
199
195
190
189
184
179
174
167
159
150
139
131
118
105
92
75
56
47
44
41
48
62
74
89
95
97
100
96
85
75
62
55
51
48
44
41
40
39
38
38
37
37
36
37
36
35
36
35
36
36
37
37
38
39
39
39
39
39
39
37
38
35
37
36
36
37
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
40
39
39
39
39
39
39
39
39
40
40
40
40
40
40
40
39
40
38
41
22
199
222
193
199
200
201
204
206
208
208
208
208
208
206
207
204
203
203
203
202
200
199
198
197
196
196
195
194
193
192
192
191
190
189
188
185
183
182
181
180
179
176
175
175
172
169
167
166
165
163
163
164
165
166
166
165
166
168
167
166
166
166
166
165
164
163
160
158
159
160
159
161
163
167
170
169
172
175
175
174
173
174
173
172
173
173
174
177
176
171
171
171
171
173
170
165
156
150
148
153
155
163
174
179
188
188
189
189
189
192
192
193
198
201
203
204
203
202
201
200
196
194
193
192
192
192
193
195
196
197
197
197
197
197
198
196
192
187
186
181
176
171
164
155
144
132
125
113
101
89
73
56
48
45
42
47
59
70
82
92
96
100
96
87
77
65
57
51
47
43
40
40
39
38
38
37
37
36
36
36
35
35
35
36
36
37
37
38
39
39
39
37
37
37
38
36
35
37
37
37
37
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
39
39
39
39
39
39
39
39
41
39
39
41
22
199
222
192
198
198
202
204
204
207
206
208
206
206
207
205
204
202
201
201
200
199
198
199
197
197
197
195
193
192
192
191
191
190
188
187
185
182
181
180
179
177
175
173
172
170
168
165
162
161
160
160
160
161
162
162
161
159
159
158
155
155
156
156
156
153
145
136
132
130
129
130
137
145
154
162
167
172
176
177
172
170
170
169
167
169
174
178
181
185
179
177
175
173
174
170
165
158
150
149
155
157
164
175
182
192
192
193
192
194
195
197
198
200
202
203
204
205
204
202
201
197
196
194
193
193
192
194
196
197
197
197
197
197
196
196
194
190
186
183
178
173
169
162
151
140
129
120
108
96
86
72
58
51
47
44
48
58
67
78
88
92
98
96
88
80
68
60
52
47
43
39
38
38
37
38
37
37
36
36
37
37
37
37
36
36
37
37
38
39
39
39
37
37
38
38
37
35
35
37
37
37
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
39
40
23
200
221
191
198
197
201
203
205
206
208
208
208
206
205
206
203
201
202
200
199
198
198
197
196
195
195
194
193
193
192
191
191
190
188
187
183
181
180
179
177
175
172
171
169
166
165
162
159
158
158
158
158
159
159
159
156
155
154
152
149
148
150
150
150
146
134
119
110
108
104
107
116
129
143
155
163
171
175
175
172
166
165
164
163
166
172
181
186
186
183
181
176
176
172
168
163
158
150
150
155
159
166
177
184
193
195
196
196
197
198
200
201
203
202
204
205
206
205
204
202
199
197
195
195
196
194
195
197
197
198
199
199
198
196
195
193
189
184
181
176
171
168
160
149
136
123
115
104
92
82
71
60
53
49
45
49
58
65
76
84
89
96
94
88
80
68
59
51
46
42
38
38
38
37
38
37
37
36
36
37
37
37
36
38
38
37
39
39
39
39
39
37
37
38
36
37
35
35
37
37
37
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
39
42
23
200
220
191
197
196
200
200
204
205
208
208
206
205
204
204
202
201
200
199
198
197
197
196
196
195
195
194
193
191
191
190
189
189
188
185
182
180
179
177
176
175
172
170
167
165
163
160
157
157
157
155
155
155
155
153
148
146
145
140
136
133
133
132
130
126
113
97
90
88
84
87
98
112
126
140
150
157
164
165
162
158
157
157
159
162
171
179
186
185
184
183
180
178
175
171
167
159
152
152
159
162
170
179
185
195
196
197
197
198
201
203
202
205
205
205
205
207
206
205
203
200
198
196
196
196
196
196
198
200
200
199
198
198
197
194
192
187
182
179
174
169
165
157
146
133
120
111
99
86
78
69
59
54
51
46
50
58
64
73
82
88
95
94
87
80
67
58
49
43
39
37
37
37
37
38
37
37
36
36
37
37
37
36
37
37
39
39
39
39
39
39
37
37
38
36
37
35
35
37
37
37
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
42
23
200
220
192
195
195
200
201
203
203
207
206
207
205
204
203
202
200
199
198
197
196
198
196
196
195
195
194
193
192
191
190
189
189
188
186
183
180
178
176
175
174
171
168
165
162
160
159
156
154
154
153
150
149
148
144
139
134
130
125
120
115
110
105
100
95
86
76
72
71
70
73
81
89
100
111
119
125
134
139
139
142
145
150
154
159
165
174
179
183
183
187
187
185
182
179
174
168
161
162
169
174
178
187
192
199
201
202
202
203
205
207
208
209
210
210
208
207
207
206
204
202
200
199
200
199
200
201
202
202
201
200
199
198
196
193
189
184
180
177
171
166
162
153
141
129
116
106
92
79
73
66
57
53
49
45
48
57
61
69
78
84
92
90
85
79
66
57
48
43
39
37
37
38
38
37
36
37
36
36
37
37
37
36
37
37
38
39
39
39
39
39
37
37
38
36
37
35
35
37
37
37
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
42
23
200
220
190
196
195
200
199
203
203
207
207
207
204
205
203
201
199
200
198
197
196
196
197
196
195
194
193
192
192
191
190
189
189
188
186
183
181
178
176
174
172
169
166
165
163
160
157
154
152
152
150
146
144
142
136
130
124
118
112
106
99
90
80
72
68
65
61
60
61
61
63
67
72
79
87
92
98
108
116
119
127
134
142
149
154
161
168
172
178
182
188
192
191
188
185
180
173
169
170
176
181
186
193
198
202
203
204
204
205
207
209
209
210
211
213
210
209
209
207
206
205
203
202
202
203
204
204
205
206
204
201
200
198
195
190
187
183
178
175
169
164
160
151
140
126
113
101
87
74
69
62
55
52
49
44
47
55
60
67
76
82
89
87
81
76
65
55
46
40
37
36
37
38
38
37
36
36
35
36
37
37
36
36
37
39
39
39
39
39
39
39
37
37
38
36
37
35
35
37
37
37
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
42
23
200
220
192
197
195
199
198
202
205
204
207
205
203
203
202
200
199
197
198
198
197
197
197
196
195
194
194
193
192
191
191
191
190
188
186
182
179
177
175
173
172
169
166
163
162
159
155
152
151
150
147
142
140
136
128
120
112
105
96
87
78
69
57
49
44
44
47
50
52
52
53
55
54
56
61
65
70
78
87
95
112
120
133
141
147
153
160
163
171
181
189
198
195
192
188
187
181
179
180
185
190
194
200
203
206
205
205
205
205
208
211
214
215
216
214
212
211
210
208
207
206
205
205
206
207
208
208
209
208
206
203
200
196
193
189
185
180
175
172
166
161
158
149
136
122
109
98
82
70
64
58
52
48
45
43
46
52
57
65
73
79
85
84
79
72
62
53
45
39
37
36
38
40
39
38
38
38
37
36
37
36
37
37
39
39
39
39
39
39
39
39
37
37
38
36
37
35
35
37
37
37
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
39
40
24
200
220
191
197
195
198
197
201
204
204
207
205
203
204
201
199
198
196
196
196
195
196
196
195
194
195
194
193
192
192
191
190
189
188
186
182
179
177
175
173
172
170
167
163
162
159
156
152
150
148
144
138
135
130
120
111
103
92
82
71
61
56
48
43
40
40
42
45
46
48
48
49
48
48
50
53
58
63
72
79
95
103
119
130
137
147
154
161
170
184
189
201
198
197
193
194
190
189
190
195
201
204
206
207
207
206
203
202
202
207
211
215
217
217
215
214
212
211
208
207
207
206
207
209
210
209
209
210
210
207
205
201
196
191
187
183
177
172
169
163
159
156
147
135
123
110
99
82
68
61
55
50
45
44
44
45
51
57
64
71
77
83
83
77
69
60
53
46
42
38
37
38
38
39
38
38
37
36
37
37
36
37
39
39
39
39
39
39
39
39
39
37
37
38
36
36
37
35
37
37
37
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
39
41
23
200
220
191
197
195
198
197
201
203
206
207
206
203
202
201
198
198
196
196
195
195
194
194
194
193
193
193
192
191
190
190
189
188
187
185
183
179
177
175
173
172
170
167
164
162
159
156
153
149
146
142
135
130
124
113
102
91
79
68
55
46
46
45
45
45
44
43
45
45
46
47
46
46
47
48
50
51
54
60
65
75
86
104
115
124
139
150
161
170
185
192
203
201
201
199
201
201
200
200
206
211
212
211
210
207
205
202
200
200
205
210
214
216
217
217
215
212
211
209
208
210
209
210
212
213
214
214
215
213
209
205
201
195
190
185
180
173
169
166
159
155
153
145
135
124
110
98
81
67
61
55
48
43
43
43
45
52
57
63
70
76
82
82
76
69
59
53
48
44
41
40
40
39
39
38
38
37
36
37
37
36
37
37
38
39
39
39
39
39
39
39
37
37
38
38
36
37
35
35
37
37
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
42
39
41
23
200
221
193
197
195
198
197
201
203
205
207
204
202
203
201
199
198
196
196
197
195
194
194
193
194
194
194
193
191
190
190
189
187
186
184
182
180
177
175
174
172
171
168
165
162
159
154
152
148
143
140
133
127
120
107
94
82
71
58
45
36
38
42
46
47
46
44
43
42
44
44
44
44
45
45
46
46
47
51
55
63
73
90
101
113
130
145
156
169
184
191
204
203
203
205
205
208
208
208
214
219
218
215
212
208
207
202
199
199
204
209
213
216
217
217
215
212
210
211
211
211
211
212
214
215
216
216
217
216
211
207
202
196
190
183
178
171
167
164
158
153
151
143
134
123
109
97
80
65
58
52
47
43
42
42
44
50
56
63
69
75
81
81
74
67
60
54
49
46
43
42
40
39
38
37
38
38
37
36
36
37
38
37
38
39
39
39
39
39
39
39
37
37
38
38
36
36
35
35
37
37
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
39
38
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
40
40
42
39
41
23
200
221
191
196
194
197
196
200
202
204
206
203
201
201
201
200
199
197
198
196
195
194
193
193
193
194
194
193
192
192
191
189
187
185
183
181
179
177
175
174
173
171
169
166
163
159
155
152
148
144
139
131
124
116
103
88
75
63
52
40
32
35
41
45
47
46
43
40
41
44
46
44
43
44
43
44
44
45
48
52
58
67
82
91
102
121
139
152
165
183
191
205
203
206
207
209
212
212
212
217
220
220
217
212
210
208
203
201
201
205
209
212
215
215
215
214
211
210
210
210
211
212
214
216
217
218
217
218
218
213
208
204
197
191
185
179
172
166
162
156
151
149
142
131
118
104
95
79
66
58
50
45
42
40
40
42
49
55
63
70
75
81
80
75
68
61
55
49
45
43
42
39
37
38
38
37
38
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
37
37
37
37
38
35
35
35
35
37
37
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
39
38
39
40
39
38
39
39
39
39
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
38
39
39
39
39
39
39
39
39
39
39
39
38
39
39
39
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
40
42
42
40
42
41
40
24
200
220
191
195
193
196
195
199
201
201
204
202
200
202
202
202
200
198
197
196
195
194
193
192
192
193
193
192
191
191
190
188
185
183
182
180
178
176
175
174
173
172
170
167
164
159
154
151
147
142
138
130
122
113
99
81
67
54
45
39
33
36
41
42
43
41
38
37
38
44
47
45
43
41
42
42
43
45
49
51
57
65
76
81
91
112
131
144
159
180
190
206
206
211
211
213
215
215
214
216
219
219
215
214
208
207
205
203
203
206
209
211
213
210
211
209
207
206
208
209
212
214
217
219
220
220
219
220
219
215
211
207
202
194
186
180
171
164
159
154
151
149
141
128
113
99
91
78
67
60
51
45
40
38
37
39
46
54
62
70
76
80
80
76
69
62
56
49
44
42
41
39
38
38
39
38
37
38
37
37
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
37
37
35
35
35
35
35
37
37
37
36
36
38
38
38
38
37
38
39
39
39
39
38
39
40
40
39
38
39
39
38
37
37
38
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
38
37
37
38
39
39
39
39
39
39
39
39
39
38
39
40
40
39
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
40
39
40
39
41
41
41
41
41
41
40
42
42
42
42
42
40
42
24
200
219
188
194
192
194
195
196
200
200
203
201
200
202
202
202
202
198
199
196
195
193
192
191
190
190
190
190
190
190
190
188
185
183
180
177
176
175
174
174
173
172
171
169
165
160
154
149
145
143
138
129
120
111
94
76
60
46
40
39
36
38
40
41
40
39
36
35
39
45
47
47
44
43
42
41
43
45
49
52
57
60
68
70
78
99
118
132
151
173
187
206
208
213
217
218
218
218
216
216
218
216
216
212
209
208
206
207
207
207
210
212
210
206
205
205
204
204
205
208
215
216
219
221
222
223
221
221
220
217
214
211
205
197
188
181
171
163
159
153
150
147
137
122
105
90
84
75
66
60
51
43
38
37
37
39
46
54
62
69
75
79
79
75
71
64
58
50
45
41
39
38
37
38
38
37
37
37
38
39
39
39
39
39
39
39
39
39
39
39
39
38
38
39
39
39
39
36
35
36
36
35
35
37
37
37
36
36
38
38
38
38
37
38
39
39
39
38
39
40
40
40
39
38
39
39
38
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
38
39
39
39
39
39
39
39
39
39
38
39
40
40
39
40
40
40
39
40
41
41
41
41
41
41
41
41
41
40
40
39
38
39
39
40
41
41
41
40
42
42
42
41
41
43
40
42
24
200
219
189
192
193
195
196
197
201
202
203
201
201
202
202
201
200
197
197
195
194
192
191
189
189
188
190
189
190
191
190
187
185
182
180
177
175
174
174
174
173
173
172
170
166
160
152
148
145
144
139
129
120
109
92
73
58
44
38
40
39
39
40
38
37
37
35
34
39
46
50
49
45
44
42
41
42
45
48
52
56
58
63
61
70
89
109
121
142
166
183
205
209
216
219
220
220
220
219
217
216
215
214
212
211
210
209
208
208
211
212
213
209
204
203
203
202
203
205
208
214
217
220
222
222
222
221
220
221
219
216
213
207
198
189
180
171
162
156
151
148
146
135
118
99
85
80
73
66
59
50
42
39
38
38
40
47
54
62
69
74
77
78
76
72
65
59
51
45
40
38
38
37
37
37
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
38
40
39
38
39
39
39
36
35
34
36
36
35
35
37
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
39
40
40
38
39
38
37
38
38
37
36
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
37
38
38
37
38
39
39
39
39
39
39
39
39
38
39
40
41
40
39
39
39
40
39
40
41
41
41
41
41
41
41
41
40
38
38
39
38
39
40
41
40
40
41
41
41
41
43
41
43
40
41
24
200
221
191
196
194
199
199
199
202
203
203
201
199
199
198
199
198
197
195
194
193
191
190
188
189
189
189
189
189
189
188
186
184
181
179
177
176
175
173
172
173
172
171
168
165
160
154
150
146
144
139
130
120
111
93
72
58
45
38
40
39
40
41
41
40
38
37
38
43
51
56
52
48
44
41
42
43
44
47
49
54
56
56
59
60
80
95
109
130
157
174
200
204
216
217
222
220
220
221
220
217
216
217
217
214
212
213
213
210
212
213
214
210
205
205
205
204
206
208
212
215
218
221
222
223
222
222
222
222
220
218
214
208
199
190
183
171
163
156
150
146
142
129
111
92
77
71
65
59
55
49
43
39
40
43
48
53
60
68
72
76
80
80
76
71
66
59
51
46
42
40
39
39
39
38
38
39
39
38
37
38
39
39
39
39
39
39
39
39
39
39
38
38
39
39
39
39
38
37
36
35
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
39
39
39
38
38
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
37
37
37
38
39
39
39
39
38
39
40
40
40
39
40
40
39
39
40
41
41
41
41
41
41
41
40
40
39
38
38
39
41
41
40
42
42
43
43
43
43
43
41
43
41
43
25
200
223
194
200
198
203
204
202
202
204
202
200
199
197
196
196
197
197
194
193
192
191
189
188
187
188
188
187
186
187
186
184
182
179
177
175
175
174
172
171
172
171
170
167
163
159
155
151
148
146
141
131
122
114
95
75
60
47
40
40
40
41
41
43
45
43
44
47
51
58
62
58
54
48
44
44
44
43
45
47
50
50
49
51
51
67
80
93
114
144
164
190
197
212
216
222
223
221
223
222
219
218
218
218
219
215
216
214
213
212
214
215
212
209
208
210
207
207
210
214
216
218
221
222
223
224
223
224
224
221
218
215
208
200
192
184
172
163
156
148
142
137
124
105
84
68
62
55
49
46
43
41
41
45
52
58
63
68
75
77
78
82
81
77
72
67
59
51
46
43
41
39
39
39
38
37
37
37
37
38
37
37
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
37
38
35
35
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
40
40
39
38
38
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
38
39
39
39
39
39
38
38
38
39
40
39
39
40
40
39
39
39
39
39
39
39
39
39
40
39
38
38
39
40
41
40
41
41
42
43
43
43
43
43
43
41
44
25
200
225
198
204
202
208
206
205
205
203
203
201
198
196
196
196
194
193
194
192
191
190
189
187
186
187
187
186
185
184
183
181
178
176
175
173
174
173
171
171
171
170
169
167
163
158
154
150
149
147
142
133
124
116
98
78
63
49
43
42
40
41
42
45
47
47
49
53
56
63
67
63
57
51
46
45
43
41
43
45
48
48
44
44
42
55
65
77
99
131
153
181
190
211
217
221
224
224
225
224
222
220
222
221
223
219
218
217
215
214
216
215
217
213
212
212
211
211
212
214
216
218
220
222
224
225
224
225
225
222
219
215
209
201
193
184
173
164
156
146
136
130
116
96
75
60
55
48
42
42
41
41
44
51
61
69
72
75
79
81
82
83
81
78
73
68
60
52
47
43
41
39
37
38
38
37
38
38
38
38
38
38
38
37
37
37
37
37
37
37
37
39
37
37
39
39
39
38
37
35
35
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
40
40
39
38
38
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
38
39
38
37
38
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
38
39
39
40
40
42
42
41
42
43
43
43
43
43
43
41
44
25
200
225
199
205
203
207
207
206
204
203
201
198
196
194
192
191
191
190
192
191
190
189
188
186
185
186
185
184
182
181
180
178
175
173
172
171
171
171
170
168
168
168
166
163
160
156
152
149
149
148
145
136
127
119
101
81
66
53
45
42
38
39
42
45
46
46
49
54
58
66
69
64
59
52
46
45
43
41
43
45
48
47
43
40
38
50
57
68
83
117
139
167
180
203
211
216
222
224
225
224
222
224
225
227
229
226
224
223
219
217
217
218
219
216
217
217
214
213
214
214
215
216
218
221
224
225
226
226
226
224
221
216
211
203
196
186
174
164
154
142
130
122
108
90
72
58
52
46
43
44
47
53
58
64
73
79
83
85
87
87
86
86
82
78
76
70
60
53
47
43
41
39
38
37
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
36
37
38
37
37
37
38
35
35
36
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
40
40
39
38
38
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
38
39
38
37
38
39
39
39
38
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
40
41
42
41
42
43
43
43
43
42
44
41
44
25
200
225
198
203
202
205
205
203
205
203
200
198
195
192
190
189
188
188
190
191
189
188
187
186
184
185
184
182
180
179
177
175
172
171
170
171
172
171
170
167
167
166
165
161
158
155
152
149
150
150
145
138
128
120
102
83
68
54
46
41
36
37
40
43
43
46
51
56
60
67
71
67
59
52
46
45
43
41
44
46
48
45
41
39
35
44
50
60
71
103
123
155
168
196
207
213
218
224
225
222
222
225
227
230
232
228
226
226
222
221
219
219
220
218
220
220
216
213
213
212
214
215
217
220
223
226
227
227
227
225
222
217
211
204
197
188
173
162
152
139
124
113
100
84
69
56
51
46
44
47
53
60
66
72
81
87
90
90
90
91
89
88
84
81
78
72
63
53
47
43
40
39
38
37
38
38
38
38
38
38
38
38
38
36
36
36
36
36
36
36
36
36
38
38
38
38
38
36
35
35
36
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
40
40
39
38
38
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
37
37
37
38
39
39
39
39
39
38
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
40
41
41
43
43
43
43
43
43
42
44
42
44
25
200
225
196
202
200
203
202
202
204
205
201
197
193
190
188
187
186
188
190
189
188
187
187
186
184
183
182
180
178
176
175
171
169
169
169
170
171
171
168
165
164
163
162
159
156
153
150
149
149
150
147
139
130
122
104
85
70
56
48
41
35
36
38
41
42
46
52
56
61
70
74
69
61
54
47
45
43
42
43
46
48
45
40
38
31
41
43
51
66
95
111
143
161
191
205
213
217
224
226
223
223
224
226
232
236
230
229
228
224
221
220
218
221
221
222
220
217
214
214
214
212
212
215
219
223
226
228
228
228
226
221
217
212
205
199
189
173
161
150
135
117
106
93
78
66
57
54
49
49
53
61
71
78
85
94
100
102
99
97
95
92
90
86
82
80
74
63
53
47
42
40
38
37
38
38
38
38
38
38
38
38
38
38
37
36
37
37
37
37
37
37
36
38
38
38
38
38
37
35
35
36
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
40
40
39
38
38
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
38
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
39
41
41
41
40
41
41
42
43
43
42
42
42
44
44
42
44
25
200
224
195
201
198
202
201
201
204
205
201
197
193
190
188
186
184
187
189
190
188
188
188
186
183
182
181
178
175
173
172
170
168
167
168
169
170
170
167
165
161
160
159
156
153
151
150
148
150
150
147
140
132
124
106
89
75
60
50
43
36
37
37
37
39
43
49
54
59
66
71
67
59
51
45
44
42
40
43
45
49
47
42
40
34
42
41
49
59
82
93
126
145
179
194
206
214
223
226
224
226
225
226
231
236
230
228
228
224
223
220
218
221
221
222
220
216
214
212
211
212
213
215
218
224
227
228
229
228
226
222
217
212
207
201
190
174
162
150
133
114
101
88
75
65
58
56
56
57
62
70
77
82
89
97
102
102
100
96
96
95
94
90
85
81
74
64
54
46
41
39
38
38
38
38
38
38
38
38
38
38
38
38
37
36
37
37
37
37
37
37
36
38
36
38
38
38
37
35
35
36
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
40
40
39
38
38
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
38
39
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
40
41
41
42
43
42
44
42
42
44
44
42
44
25
200
222
196
200
198
200
201
200
202
206
201
197
193
190
188
186
184
186
189
189
188
189
188
186
183
182
180
177
173
171
171
169
167
166
167
168
169
169
165
162
160
159
156
154
152
149
148
147
149
150
147
140
132
126
110
92
78
63
52
43
37
38
37
38
40
43
49
53
56
63
68
64
57
49
43
42
40
39
42
45
47
45
42
40
35
43
43
48
56
75
84
118
137
170
186
200
209
221
225
224
227
226
226
231
233
229
227
226
223
221
219
217
220
221
222
219
215
213
211
210
211
213
214
218
223
227
229
229
229
226
222
217
212
208
201
191
176
163
152
135
114
99
86
73
63
58
58
58
59
64
71
81
87
91
96
99
100
98
97
96
96
94
90
86
82
75
64
53
45
40
38
38
36
37
37
37
37
37
38
38
38
38
38
37
36
37
37
37
37
37
37
36
38
36
38
38
38
37
35
35
36
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
40
40
39
38
38
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
38
38
38
38
38
38
37
38
39
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
39
39
40
41
41
40
40
41
41
42
42
44
44
44
42
44
44
42
44
25
199
221
195
195
199
197
198
201
204
205
202
198
193
190
189
187
184
188
190
191
189
188
187
185
182
180
178
173
171
170
169
167
165
165
166
166
167
167
164
162
160
159
155
152
152
151
149
149
150
152
149
140
134
127
111
94
81
66
54
45
39
37
36
38
39
43
47
51
54
60
63
60
54
47
41
39
38
39
42
46
49
47
44
42
40
42
45
50
56
68
77
102
126
160
179
193
203
222
224
223
228
229
230
232
230
230
228
225
224
221
219
218
218
218
220
218
214
212
211
212
211
212
215
221
226
228
229
230
230
225
220
216
211
206
201
193
177
165
152
131
112
97
83
71
61
56
57
61
63
69
77
86
90
93
97
98
98
98
96
95
95
97
94
88
85
76
64
52
43
38
38
39
38
38
39
39
39
38
37
38
38
38
37
36
37
37
37
37
37
37
37
35
36
37
36
36
36
37
35
35
36
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
38
38
38
38
38
38
37
37
38
39
39
39
38
39
40
40
40
40
40
40
40
40
40
40
39
40
42
42
41
40
41
43
43
43
42
44
44
44
44
44
43
45
43
45
26
202
220
194
194
199
196
200
202
204
205
204
198
193
190
189
187
185
189
191
190
190
189
187
185
182
180
175
172
170
169
167
166
166
166
165
165
166
165
164
161
159
156
154
152
151
151
149
150
150
152
150
142
136
129
114
97
85
70
59
50
41
39
39
39
39
42
46
50
53
57
58
56
50
46
41
39
39
39
42
45
47
47
44
42
40
43
46
49
52
60
67
88
114
148
170
185
200
220
222
221
227
227
230
231
228
227
225
223
221
220
219
218
220
217
218
217
214
212
212
213
212
211
214
221
226
228
229
229
228
223
219
215
210
205
201
193
177
166
154
133
114
99
85
76
69
64
66
70
74
78
85
93
96
97
99
100
100
100
98
97
97
99
95
87
84
74
62
51
42
37
38
40
39
38
39
39
39
38
37
38
38
38
37
36
37
37
37
37
37
37
37
35
37
37
37
37
37
37
35
35
36
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
38
39
39
38
37
38
38
38
38
38
37
37
38
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
39
40
42
42
41
40
41
43
43
43
42
43
44
44
44
44
43
45
43
45
26
202
220
194
192
200
198
202
204
205
205
203
198
194
191
190
188
186
190
190
192
191
190
188
185
182
179
174
171
169
168
166
165
166
166
166
165
164
163
161
159
157
154
151
150
150
151
151
151
152
152
151
145
138
131
117
103
91
77
65
55
47
44
42
42
41
42
45
47
50
53
54
52
48
43
41
41
41
41
41
43
47
45
43
41
39
41
45
48
50
56
58
80
104
139
160
176
193
214
220
220
227
227
230
230
229
228
226
222
221
220
220
220
221
217
215
215
214
213
215
213
213
212
215
222
225
227
228
227
226
221
217
213
208
204
201
193
179
168
158
139
119
104
92
86
83
81
84
89
92
95
100
105
106
106
106
105
104
103
103
102
100
101
96
88
83
72
61
50
41
36
37
39
40
40
40
39
38
39
38
37
37
37
38
37
36
37
37
37
37
37
37
35
37
37
37
37
37
37
35
35
36
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
38
38
38
38
37
37
38
39
39
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
39
40
40
40
40
40
41
41
42
42
44
44
44
44
44
44
43
45
43
43
26
202
222
195
195
201
203
206
207
207
204
203
199
194
192
191
189
188
191
193
194
192
190
188
184
181
178
173
170
168
167
166
167
166
166
165
164
163
162
160
158
156
154
151
149
149
151
150
151
153
153
152
146
141
134
120
108
98
86
73
62
52
49
47
46
45
44
45
47
48
49
50
47
45
43
41
40
41
41
40
41
43
43
41
39
38
40
44
46
49
52
52
72
96
132
156
173
189
211
216
219
226
228
227
228
226
225
225
222
223
223
224
224
220
215
213
213
215
216
215
214
214
215
217
222
225
227
227
226
224
219
214
210
205
202
200
193
181
172
163
143
124
111
101
98
99
100
105
110
113
114
116
119
118
116
114
111
110
110
109
107
105
104
99
89
81
69
59
48
40
36
37
39
40
40
39
39
39
38
39
37
38
39
38
36
36
36
37
37
37
37
37
35
37
37
37
37
37
37
36
35
36
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
40
40
40
39
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
37
38
37
37
37
38
39
39
39
39
39
39
39
39
39
38
39
40
40
40
40
40
40
40
40
40
39
40
41
41
41
40
41
41
42
43
42
43
44
44
44
44
43
45
44
43
26
202
221
196
196
203
206
209
209
206
204
203
200
195
193
192
191
190
192
194
195
192
190
187
184
181
177
174
170
168
167
166
167
168
168
166
163
162
160
158
156
155
153
150
148
149
151
151
152
153
155
154
148
142
136
124
114
106
94
81
70
60
55
51
49
46
46
45
45
45
46
47
46
44
43
42
41
40
40
40
40
40
40
38
35
36
38
42
44
46
47
46
64
89
125
147
165
185
208
217
219
228
227
227
226
224
223
222
223
222
225
226
227
221
216
213
213
215
217
218
217
217
216
217
222
224
225
224
224
221
217
211
207
203
199
197
192
182
173
165
147
131
119
112
113
115
117
122
127
131
131
130
129
128
124
120
117
116
116
116
113
109
107
98
87
78
65
55
45
39
36
37
38
39
40
39
39
40
39
38
39
39
39
37
38
38
36
36
37
37
37
37
35
36
37
37
37
37
37
34
36
36
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
40
40
40
39
38
39
39
39
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
38
39
38
37
37
38
39
39
39
39
39
39
39
39
39
39
38
38
39
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
40
42
41
43
43
42
43
44
44
44
44
43
45
42
44
25
201
219
198
197
204
205
210
208
206
204
205
200
196
194
193
194
193
194
195
194
192
188
187
183
180
176
173
171
169
168
167
168
169
169
165
163
161
159
157
156
155
152
150
148
149
151
152
154
155
156
155
151
146
140
130
121
115
104
91
79
70
65
57
52
48
44
42
42
43
43
43
43
43
43
42
41
41
41
41
41
39
37
36
34
35
38
40
43
43
44
42
60
85
119
141
159
182
206
214
216
224
226
226
222
223
223
221
221
223
225
228
229
223
217
214
215
216
218
219
217
216
215
216
218
221
221
219
217
213
208
204
199
196
195
194
190
182
175
166
153
140
130
124
126
129
131
135
139
141
140
136
134
131
128
124
122
122
121
120
117
110
104
95
85
75
60
51
45
39
37
38
38
39
39
39
39
39
40
39
38
38
40
39
38
37
38
36
36
37
37
37
36
38
36
36
37
37
37
36
35
36
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
40
39
39
40
39
38
38
38
39
39
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
39
39
38
39
38
37
38
39
39
39
39
38
38
38
38
38
38
39
40
40
40
40
39
39
39
39
39
39
39
39
39
39
40
41
41
41
40
42
41
43
42
44
44
44
44
44
43
45
42
44
25
201
221
197
198
205
207
211
208
206
204
205
201
197
195
194
194
193
195
194
194
190
187
186
182
179
176
173
171
170
169
168
169
170
169
165
161
158
157
156
154
153
151
150
148
150
153
155
157
158
158
157
153
148
144
136
130
125
116
105
94
83
74
63
55
48
44
39
38
39
38
38
39
40
41
42
43
44
44
42
41
38
36
34
34
35
38
40
44
43
45
42
59
81
115
138
155
175
200
209
212
220
223
223
220
221
220
222
223
222
225
228
230
224
219
215
214
216
218
219
217
216
214
213
215
216
212
210
208
204
199
195
191
189
189
189
186
179
174
168
159
149
141
136
138
141
143
144
146
146
144
139
135
132
129
127
125
125
125
125
117
109
102
89
77
67
54
47
44
41
40
40
40
39
40
41
41
41
40
40
40
40
40
39
37
37
38
38
36
36
37
37
36
38
38
36
36
37
37
35
35
36
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
39
40
41
39
40
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
38
38
39
39
39
38
39
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
41
40
39
39
39
40
41
41
40
41
41
42
42
44
44
44
42
43
45
42
42
25
201
220
198
200
208
206
213
210
206
204
205
201
198
195
196
196
195
195
196
194
190
187
185
182
179
176
174
172
171
170
169
170
170
168
165
161
159
157
155
154
152
150
149
148
150
153
155
157
159
159
158
155
152
149
141
135
131
123
114
104
91
81
68
56
50
44
39
36
34
33
34
36
38
40
42
44
46
45
43
41
37
36
36
35
36
38
40
42
43
43
40
57
78
109
133
153
170
195
204
207
216
220
220
219
217
218
219
220
223
225
227
229
225
219
216
215
215
217
219
219
216
214
212
212
211
208
205
201
197
193
189
186
184
184
185
183
177
174
171
165
156
148
144
146
147
147
148
148
146
143
139
134
130
128
126
125
126
127
127
117
107
98
84
72
62
48
44
44
42
41
42
41
40
40
41
41
41
41
40
39
40
40
39
39
37
37
37
38
36
36
37
36
38
38
38
36
36
37
35
35
36
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
39
40
41
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
39
40
40
39
38
39
39
39
39
38
39
40
40
40
39
39
40
40
40
40
39
39
40
41
41
41
41
41
41
41
40
39
40
39
41
41
41
40
41
41
43
43
42
44
42
42
44
44
42
42
23
201
222
201
199
204
206
207
206
208
205
203
200
198
196
195
194
193
192
193
192
189
186
184
179
175
174
174
172
173
173
171
171
170
169
165
160
156
154
153
154
153
151
149
149
150
153
157
159
160
160
157
154
151
148
144
141
136
131
121
108
99
87
71
58
52
47
40
35
33
32
32
34
35
39
44
45
44
44
44
41
38
37
38
37
38
40
41
42
43
44
44
60
79
110
132
148
166
190
201
203
214
216
217
216
216
218
219
220
222
225
228
230
224
221
217
218
218
216
215
216
214
215
213
210
208
204
200
196
192
188
185
181
179
179
180
180
178
175
172
166
160
155
153
151
153
154
153
152
151
147
141
136
132
131
130
129
128
128
128
118
105
94
79
66
56
43
41
42
43
44
44
42
41
40
40
40
41
41
40
39
39
39
40
39
39
39
38
37
38
37
36
38
38
38
38
38
37
35
35
36
36
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
40
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
40
39
40
39
38
39
39
39
39
38
39
40
40
39
40
40
39
40
40
39
40
41
41
41
41
41
41
41
41
41
41
40
39
40
39
40
41
40
41
42
41
42
43
42
42
44
41
42
42
44
25
201
221
201
199
203
205
207
205
205
206
203
200
198
196
195
194
193
193
193
191
188
185
183
179
176
175
173
172
173
172
171
170
170
169
164
159
157
155
153
154
153
152
150
150
151
154
158
160
161
159
157
155
152
150
147
145
142
138
130
118
108
95
77
63
55
48
42
38
36
34
34
34
36
40
43
44
44
46
44
42
39
38
38
39
40
41
42
43
44
44
44
58
77
109
130
146
161
185
192
196
205
209
210
209
212
214
215
216
219
222
225
227
223
219
216
216
216
217
217
216
213
213
212
209
206
204
200
195
192
189
184
182
180
180
180
179
178
176
175
170
164
160
160
160
161
162
160
157
155
151
145
140
137
135
135
131
128
127
124
114
100
88
74
62
52
42
41
44
43
44
44
43
41
40
41
41
40
40
40
41
41
41
41
39
38
39
38
37
38
37
36
38
38
38
38
38
37
35
36
36
36
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
40
39
40
40
39
38
38
38
38
38
39
40
39
39
40
41
40
39
39
39
40
41
40
40
41
41
41
41
40
40
40
41
40
39
40
39
40
41
40
41
42
41
42
43
43
43
43
41
44
42
44
25
201
222
202
199
203
202
205
203
205
206
203
200
198
196
194
193
193
191
190
188
186
183
181
178
176
175
174
173
172
173
172
171
169
167
163
159
156
154
153
154
153
152
151
150
151
155
159
161
160
157
156
153
151
150
148
147
148
145
136
123
114
101
83
68
57
51
45
41
38
35
33
34
36
38
43
44
46
46
45
42
41
41
42
41
42
44
46
46
47
47
44
60
78
107
127
142
155
176
184
188
196
199
203
203
205
207
209
210
215
219
221
224
221
218
216
217
217
215
216
215
213
212
211
208
205
201
197
194
189
187
185
182
180
180
180
179
178
178
177
175
172
169
169
170
170
170
167
163
160
156
151
146
142
140
139
133
129
126
122
109
94
82
67
56
47
39
39
43
44
45
44
43
42
42
42
42
42
42
42
42
41
41
40
39
38
39
37
37
38
36
36
38
38
38
38
38
35
36
34
36
36
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
40
41
41
40
40
40
40
41
42
42
41
40
39
40
39
40
41
40
41
42
41
43
43
43
43
43
42
44
42
44
25
201
225
203
200
203
202
202
202
203
205
203
200
198
196
194
193
192
189
188
186
184
182
180
178
176
175
175
174
173
172
172
170
169
167
163
159
155
154
153
154
154
152
151
152
153
156
160
162
160
156
155
153
151
149
148
148
149
147
140
129
119
105
86
72
62
55
49
44
41
35
32
33
35
39
42
43
44
46
45
43
41
41
42
43
44
46
46
45
48
47
44
59
79
107
125
136
153
170
176
181
189
192
198
200
201
206
208
209
212
216
219
221
221
218
217
216
215
214
213
213
213
213
210
206
203
200
197
194
189
188
185
183
182
181
181
180
180
178
178
177
174
174
175
176
175
173
171
167
162
157
153
148
144
142
139
134
128
122
117
104
89
76
62
53
45
37
37
43
45
45
45
43
42
41
42
42
42
42
42
42
42
41
40
38
38
39
39
38
37
38
36
36
38
38
38
38
35
35
36
36
36
36
36
35
35
37
36
36
38
38
38
38
37
38
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
39
39
40
41
41
41
41
41
41
40
40
40
41
42
42
42
42
42
42
41
41
41
41
40
40
38
39
41
41
40
41
42
42
41
42
43
43
43
42
44
41
42
25
201
225
205
202
204
202
202
202
204
205
204
200
197
195
193
192
191
188
186
184
182
180
178
177
176
176
177
175
173
173
172
170
168
166
162
158
154
153
154
155
155
153
151
152
154
156
160
161
159
156
153
150
148
146
148
149
151
151
144
134
124
111
92
78
68
61
55
51
46
39
35
34
36
39
41
42
43
44
44
42
41
41
43
46
47
46
46
45
46
46
44
59
79
109
123
133
149
164
171
174
181
186
192
196
201
203
205
206
210
212
215
217
218
219
219
218
216
215
216
216
215
215
214
209
207
203
200
197
193
192
191
190
188
187
186
184
183
182
181
180
179
178
178
176
174
170
168
164
158
155
152
147
143
141
137
130
123
117
110
97
84
71
58
50
44
38
39
43
45
44
45
43
42
41
42
42
42
41
41
41
42
41
41
40
38
38
38
37
37
37
38
36
36
38
38
38
35
35
36
36
36
36
36
35
35
37
36
36
37
37
37
37
37
37
39
39
38
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
40
41
42
42
42
42
42
42
42
41
41
42
43
43
41
40
38
38
39
39
40
40
41
42
42
41
43
43
43
43
42
44
41
43
25
201
227
206
204
206
202
204
202
204
205
202
200
197
195
193
191
190
186
184
182
181
179
178
176
177
177
176
176
174
173
173
169
166
165
161
158
155
154
155
156
156
155
152
152
154
156
160
160
158
155
151
148
146
145
145
149
151
151
146
136
126
115
99
86
77
70
63
59
54
46
40
38
39
40
40
41
41
41
42
41
39
41
43
44
46
45
44
42
42
44
42
58
77
106
121
130
143
157
161
167
169
174
184
189
196
199
201
200
204
207
207
209
211
213
216
217
217
216
216
217
219
220
218
215
212
209
206
204
200
199
198
197
195
194
193
190
189
187
185
185
186
186
184
178
170
164
163
159
155
153
149
145
142
139
133
124
115
106
96
85
73
62
53
48
45
40
41
45
46
46
45
44
42
41
41
41
41
42
43
42
42
41
40
41
41
40
40
39
39
39
39
36
36
36
38
36
37
35
35
36
36
36
36
35
35
37
36
38
39
39
39
39
39
39
40
38
38
38
39
39
39
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
39
40
41
41
41
41
41
41
41
41
40
41
42
42
42
42
42
42
42
41
42
43
43
43
43
41
40
39
38
39
39
40
40
41
42
42
42
41
43
43
43
43
43
41
43
24
201
226
208
205
207
203
205
202
204
205
202
200
197
195
192
190
189
185
183
181
181
179
177
176
176
177
178
177
177
175
172
169
166
166
161
157
155
154
155
157
157
156
153
153
155
156
159
161
157
153
150
147
144
142
144
150
152
151
145
136
129
119
105
93
87
81
73
69
62
52
44
43
42
41
40
41
41
40
40
39
38
40
42
44
45
44
43
42
41
44
44
60
77
104
120
130
139
149
152
158
161
164
175
179
190
192
196
196
200
201
204
204
208
212
215
216
217
218
219
219
221
222
221
218
215
213
210
208
206
206
206
206
203
201
199
196
193
189
187
187
187
187
184
176
166
158
158
155
150
149
145
141
138
133
126
114
104
95
85
74
63
56
48
45
45
42
43
45
46
46
46
44
43
43
43
43
42
43
44
43
42
41
40
41
41
40
39
40
39
38
39
39
39
39
39
38
38
35
35
36
36
36
36
35
35
37
36
38
39
39
39
39
38
39
40
40
40
40
41
41
41
41
40
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
40
41
42
42
42
42
42
42
42
41
42
43
43
42
44
41
40
39
38
39
39
40
40
42
42
42
42
41
43
43
43
43
43
42
41
24
200
226
209
205
209
203
205
202
204
205
202
199
197
194
192
190
188
183
182
181
180
179
177
176
176
178
180
179
176
176
175
171
168
165
161
157
154
154
156
157
158
158
155
154
155
157
160
161
158
152
149
146
143
141
144
150
153
153
147
138
131
122
110
101
92
84
77
72
65
54
46
44
44
42
41
40
39
39
38
37
38
40
42
44
45
44
41
39
42
45
45
60
77
106
120
129
138
148
152
156
159
163
174
181
188
190
193
194
197
200
200
202
206
210
214
216
216
216
217
217
222
222
223
221
218
214
211
210
209
208
210
209
207
204
201
198
196
191
187
187
188
187
184
176
164
156
154
152
148
147
143
139
135
131
122
110
101
91
79
69
60
52
45
44
45
41
45
46
47
47
46
45
44
42
43
43
43
43
43
44
42
41
41
41
41
39
39
39
38
38
38
38
38
38
39
38
38
37
35
35
35
35
35
35
35
37
36
38
39
38
38
38
38
39
40
40
40
40
41
40
40
40
40
39
39
40
40
40
40
40
40
40
39
39
39
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
41
41
41
42
42
42
42
42
42
42
41
41
42
43
42
44
44
41
40
38
38
40
40
41
41
40
42
42
42
42
43
43
43
43
43
40
42
24
200
225
201
205
202
205
201
204
203
201
202
199
199
196
194
192
191
187
185
184
182
180
181
180
179
181
180
178
176
174
173
172
170
166
163
160
158
156
157
157
157
156
154
155
156
158
159
159
155
152
150
147
144
142
144
149
152
153
151
147
142
132
120
110
104
97
87
80
75
66
55
50
48
44
40
38
38
36
36
36
38
40
42
43
45
44
44
44
41
49
52
68
85
109
122
132
139
153
157
157
159
162
170
171
173
182
185
188
194
198
200
204
206
209
209
210
214
213
214
217
215
216
215
213
212
210
208
207
204
204
204
204
201
200
200
197
192
188
184
179
172
168
164
158
151
145
144
142
140
136
129
125
121
115
106
94
84
77
70
64
60
56
52
50
49
49
50
50
50
49
47
45
43
44
46
48
49
48
46
46
43
39
39
39
39
40
42
41
41
39
41
40
40
39
37
36
36
36
37
37
37
37
37
37
37
37
38
37
38
40
41
41
40
38
38
38
38
40
41
42
42
41
40
41
41
39
38
38
38
39
40
39
40
41
41
41
40
39
39
40
39
38
38
37
38
38
38
39
40
39
40
41
41
41
41
41
40
39
39
38
38
37
38
38
38
39
39
40
41
42
41
42
43
43
43
42
40
40
40
41
40
39
38
38
39
39
40
40
40
40
40
40
40
40
41
43
40
42
23
200
223
198
199
199
203
200
203
199
201
200
199
198
196
195
193
192
189
187
186
185
183
182
182
181
182
180
179
176
175
174
172
170
169
166
162
160
160
160
160
159
158
156
155
156
157
158
158
156
154
151
148
145
143
145
149
152
153
153
150
146
140
129
120
115
107
97
90
83
74
63
57
51
45
42
40
36
36
36
36
37
40
39
41
44
43
42
41
47
51
56
74
88
113
127
138
145
158
161
161
162
162
167
169
169
176
182
187
192
196
200
203
205
207
208
209
212
213
211
213
213
214
212
211
209
208
206
205
205
204
205
204
202
201
201
197
191
185
180
173
165
158
153
148
143
139
138
137
134
129
123
114
106
99
89
80
73
69
63
60
59
56
53
52
51
50
50
50
50
49
47
45
44
46
47
47
48
48
47
47
44
42
40
40
41
41
42
41
41
41
42
38
38
39
37
38
36
36
38
36
35
35
34
34
34
35
35
38
40
41
39
41
38
37
40
37
39
40
41
42
41
41
40
40
39
38
38
38
39
39
40
39
40
41
40
40
40
39
40
39
38
38
39
39
39
38
39
40
40
39
40
41
41
41
41
41
40
39
39
38
39
38
38
39
39
38
39
40
40
41
41
42
43
43
43
42
41
40
41
41
41
39
38
39
40
39
40
41
41
41
41
41
41
40
42
42
41
40
23
200
218
195
197
197
200
200
201
199
201
200
199
198
197
196
194
193
190
190
188
187
185
184
183
182
182
181
179
177
175
174
173
172
171
168
165
163
161
160
161
161
160
157
155
156
157
158
157
155
152
151
149
146
144
145
149
152
154
154
153
152
147
138
131
123
115
106
98
91
81
69
63
56
50
45
43
41
37
38
39
43
47
48
50
51
50
50
49
52
61
66
81
94
117
129
139
149
162
163
163
163
161
166
165
166
171
178
184
190
194
198
201
201
202
203
206
209
210
210
209
208
209
208
207
206
205
203
200
197
197
197
197
195
194
194
191
186
180
173
165
155
147
141
136
134
130
130
130
127
122
115
107
101
94
85
77
72
69
65
62
58
56
55
54
52
51
51
51
50
49
48
47
46
47
50
49
50
49
48
48
46
43
44
44
44
45
45
44
45
44
44
39
40
38
39
37
37
38
37
39
38
37
36
36
36
37
36
39
40
41
39
39
40
39
38
37
38
39
40
42
43
41
40
39
39
38
38
38
39
40
39
39
40
40
41
42
41
40
40
39
39
39
38
38
39
40
40
40
40
40
39
40
41
41
40
40
41
40
39
39
38
38
37
37
37
38
38
39
40
40
41
42
43
43
43
42
41
40
41
41
41
40
39
39
39
39
40
41
41
41
41
41
41
41
40
42
39
41
23
198
219
195
196
197
203
202
204
201
200
202
200
199
198
196
196
194
191
189
190
188
186
186
185
183
181
181
179
177
175
175
173
171
170
167
165
164
162
161
160
161
159
155
154
155
155
156
156
155
153
150
148
146
144
145
149
152
155
156
154
152
147
140
133
126
118
109
102
96
86
75
69
63
57
51
48
45
42
43
44
45
47
50
52
54
55
55
56
61
70
77
92
101
120
131
141
150
160
161
163
164
162
166
165
167
173
177
180
187
192
196
199
199
200
201
204
207
206
205
205
207
208
207
205
204
202
200
198
195
194
194
192
191
190
189
185
179
173
166
158
149
142
135
131
128
123
123
123
120
117
110
104
98
92
83
74
70
68
67
62
59
57
56
55
52
48
47
49
50
50
49
49
49
49
49
49
50
49
48
49
48
47
49
49
51
52
52
50
48
46
44
41
40
39
39
39
39
39
39
39
37
36
36
34
36
37
38
38
40
40
40
40
38
38
39
36
37
38
40
41
42
42
41
39
38
39
39
39
39
40
40
40
41
41
42
43
43
43
42
41
41
40
41
40
39
39
39
39
39
40
40
39
40
40
42
42
42
41
41
40
39
40
39
39
38
38
38
39
40
40
41
41
42
43
42
42
41
40
41
41
40
40
41
41
41
41
40
40
40
40
40
40
40
40
40
42
41
40
23
200
219
195
196
198
204
205
206
202
203
202
201
200
198
196
195
193
191
189
189
188
186
186
185
183
182
181
180
178
177
176
174
172
170
168
166
165
163
162
161
160
158
154
153
152
153
155
155
153
152
151
148
146
145
145
149
152
154
154
152
150
147
141
135
130
124
117
110
103
94
83
77
71
63
57
54
51
49
48
49
52
55
57
59
63
65
67
69
71
81
89
102
109
125
132
142
150
160
162
161
162
163
167
168
169
173
177
183
185
189
192
195
199
201
202
203
205
205
203
204
205
206
204
202
201
199
196
193
190
188
186
184
181
180
178
174
167
163
159
151
143
136
130
123
118
114
114
114
112
108
104
98
92
87
80
74
71
69
67
64
60
58
55
51
46
44
44
46
48
49
49
49
50
48
46
44
45
44
44
46
49
52
56
58
60
62
59
56
52
46
42
40
38
37
37
38
40
38
38
39
37
37
34
34
35
36
36
40
41
38
38
38
36
37
36
35
35
37
38
39
40
39
38
37
37
36
38
39
40
39
40
41
42
42
43
44
43
44
45
44
44
43
42
41
41
40
41
41
40
39
39
40
41
40
42
43
42
42
41
40
41
41
40
39
39
39
39
40
41
42
42
42
41
41
41
42
41
40
40
40
41
42
42
42
40
40
42
42
42
42
42
42
42
42
40
42
40
42
24
200
220
195
199
198
205
205
207
205
205
205
202
200
199
197
195
193
192
190
191
189
187
187
186
185
183
182
181
178
177
176
175
173
171
170
168
168
165
164
162
160
157
154
152
151
153
155
155
153
151
150
148
146
145
146
150
154
155
154
152
151
149
144
141
136
130
124
117
111
102
90
82
78
72
65
62
58
55
55
56
59
64
68
72
75
78
80
83
85
96
102
114
119
134
139
148
151
160
158
160
163
164
167
168
167
172
176
178
183
186
189
191
197
198
200
200
201
200
199
200
201
201
200
198
197
195
192
188
182
179
177
174
170
168
166
163
159
154
149
142
133
127
121
115
109
105
105
106
105
103
98
93
91
88
83
78
76
76
74
69
64
58
54
49
45
43
43
45
47
48
51
52
52
50
48
43
43
44
44
48
53
59
64
69
71
72
70
64
59
51
46
42
40
37
37
40
40
39
39
38
37
36
35
35
36
37
37
38
39
38
38
37
36
34
35
35
35
35
36
37
37
37
36
36
36
36
38
38
38
39
40
42
42
43
43
44
45
45
45
46
46
45
44
43
42
41
42
41
40
40
39
41
41
41
42
43
43
42
41
42
42
42
42
42
42
42
41
40
41
42
42
42
42
42
42
41
40
40
41
42
41
41
41
41
42
42
41
41
42
42
42
42
42
42
41
43
41
43
24
200
221
197
199
199
205
203
207
204
205
205
202
201
199
197
195
194
193
191
190
189
188
187
187
186
184
184
182
180
178
177
175
174
172
172
171
170
168
167
165
163
160
155
153
152
153
155
155
153
151
150
150
147
146
147
151
154
155
155
152
152
151
148
146
142
137
130
124
119
110
101
94
89
83
77
73
69
67
67
66
70
74
78
82
86
88
91
94
100
109
115
126
129
139
143
149
151
160
156
160
162
161
165
166
166
171
174
173
177
180
183
186
189
192
194
195
193
192
191
193
194
194
194
193
192
191
188
184
181
177
173
169
165
163
161
157
149
144
140
134
126
121
114
109
104
101
102
102
101
100
96
92
88
86
84
80
79
79
78
72
68
64
57
51
46
44
45
48
49
51
55
57
58
56
54
51
51
51
52
55
60
65
70
74
78
79
76
73
69
64
60
54
50
47
46
46
45
45
43
40
41
39
40
40
39
41
40
40
42
40
39
39
37
36
38
37
37
37
39
38
38
37
36
37
38
39
39
40
41
40
41
42
42
43
43
44
45
44
45
47
46
45
45
44
44
43
42
41
41
40
41
41
42
42
42
43
43
43
43
43
43
43
43
43
43
42
41
42
42
42
42
42
42
42
42
41
40
40
41
41
42
43
43
43
41
41
43
41
41
41
41
41
41
41
41
43
41
43
24
200
223
198
201
202
205
203
209
204
205
205
203
201
200
198
196
195
193
191
190
189
188
187
188
186
185
185
183
181
179
178
176
175
173
172
172
171
170
167
166
165
162
157
155
153
153
155
155
153
151
152
151
148
147
148
152
155
156
154
151
150
151
148
146
144
142
137
131
127
120
111
105
99
93
86
83
79
77
76
76
79
83
89
93
96
99
102
105
110
119
123
131
132
140
140
146
147
156
156
157
161
162
164
163
164
169
171
172
173
175
177
179
182
188
190
190
187
185
186
188
191
191
190
189
190
188
185
181
176
172
168
164
161
159
156
152
146
141
138
133
126
119
114
109
103
101
102
103
102
101
98
95
93
91
88
84
83
83
83
76
71
66
61
54
49
48
47
50
52
54
57
61
62
62
59
60
61
62
62
63
65
69
74
76
80
82
81
80
80
77
73
66
63
59
56
53
53
48
45
43
44
42
42
42
44
43
43
43
45
43
42
41
40
39
39
41
41
41
41
40
39
38
37
38
39
40
42
43
43
42
41
41
41
42
43
44
44
45
45
46
47
47
46
45
45
44
44
43
41
41
40
41
42
43
43
43
42
42
43
44
44
44
44
43
42
43
42
41
42
42
42
42
42
42
41
40
40
40
41
42
43
43
43
43
43
41
42
43
43
43
43
43
43
43
41
44
43
43
24
200
225
201
206
201
204
204
203
207
204
204
203
201
200
199
197
195
193
192
191
189
191
189
188
189
187
185
184
184
182
180
177
175
175
174
175
175
174
172
169
166
163
157
153
153
156
158
157
156
154
152
151
149
148
150
154
156
156
156
153
151
151
153
154
150
145
140
137
134
128
122
117
112
107
100
95
91
88
87
90
91
95
100
104
107
110
114
117
123
130
139
142
144
144
147
150
150
150
152
154
156
160
162
164
162
165
165
167
166
169
171
172
176
179
182
182
179
179
179
181
184
185
186
186
186
184
181
177
170
169
164
158
154
148
145
141
135
133
128
124
118
114
109
104
100
98
98
100
101
99
96
94
93
92
91
91
90
90
90
85
78
71
63
60
54
48
52
55
58
60
62
65
67
68
69
71
72
73
74
74
75
77
79
81
84
87
89
92
93
92
90
86
82
75
69
63
61
56
47
46
44
46
46
46
47
47
47
48
47
46
46
44
41
41
42
42
43
43
42
42
42
38
36
37
41
42
42
43
43
42
43
43
42
41
42
43
43
44
45
45
45
46
46
46
45
44
43
42
42
41
41
42
41
42
43
42
43
44
44
45
44
43
43
44
43
42
43
42
41
42
42
42
42
42
41
40
41
42
42
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
42
44
42
42
24
200
226
200
207
201
204
202
204
207
205
206
204
201
200
199
199
196
193
194
192
191
190
190
189
189
188
186
185
183
182
181
178
176
176
175
176
177
176
174
171
168
165
159
156
156
157
159
159
157
155
154
153
151
150
151
155
157
157
157
153
150
152
153
152
155
152
148
146
143
137
133
129
125
120
114
110
106
101
101
102
104
106
111
114
117
120
123
126
131
138
146
148
149
148
149
152
147
148
151
151
155
156
160
161
162
162
162
162
162
163
164
166
168
171
173
172
170
169
171
172
176
177
178
179
178
177
173
170
167
164
159
154
150
145
141
138
133
129
126
120
116
113
109
105
101
99
99
101
101
99
97
96
95
94
93
92
92
92
91
86
79
73
66
62
56
53
55
59
63
65
67
70
72
74
78
80
82
86
86
86
85
85
88
90
92
95
97
99
102
102
100
96
94
87
81
75
71
65
56
53
55
53
53
54
57
57
57
57
55
56
54
53
50
51
52
52
52
51
50
49
48
46
43
44
47
48
49
49
48
46
45
44
43
43
42
41
42
43
44
44
43
44
45
45
44
44
43
43
42
41
41
42
41
42
43
42
43
44
44
45
45
45
45
44
43
43
42
43
42
41
42
42
42
42
41
40
41
41
42
43
43
43
43
43
43
43
42
42
42
42
42
42
42
42
42
44
42
44
25
199
225
203
210
202
202
200
201
205
207
207
204
202
202
200
197
195
194
193
192
193
193
191
191
192
189
187
186
184
183
182
180
178
177
178
179
179
178
177
174
171
168
163
159
159
160
160
160
160
157
156
155
153
152
153
156
157
158
157
154
151
151
153
154
154
151
148
146
145
143
141
139
134
129
125
120
116
112
110
111
111
114
119
122
125
127
130
132
137
144
150
152
151
148
147
147
144
145
148
148
152
154
154
156
157
155
156
154
153
154
155
156
160
163
165
165
161
162
163
164
169
170
171
172
172
170
167
164
160
158
153
149
145
141
138
135
130
126
123
119
114
111
108
105
104
103
102
103
103
101
100
99
99
98
97
97
96
95
95
90
84
77
71
67
64
61
64
65
67
69
70
71
74
79
85
87
89
93
94
93
92
91
91
93
94
95
99
105
108
110
108
105
100
96
90
82
77
71
64
60
62
61
61
62
64
65
63
64
62
63
61
60
58
57
59
59
59
59
58
57
56
52
49
49
51
52
52
52
50
48
47
46
44
43
42
42
41
41
42
42
42
43
43
44
44
44
44
43
43
43
42
41
42
41
41
42
42
43
43
44
45
45
44
44
45
44
43
43
42
41
42
41
40
41
42
40
41
41
42
43
43
43
43
43
43
42
44
44
44
44
44
44
44
44
42
44
42
44
25
201
227
204
211
203
203
199
200
204
207
207
206
203
201
200
198
196
194
194
192
194
192
192
191
191
189
188
187
185
184
182
181
179
179
179
181
182
182
180
178
174
171
166
162
162
163
164
163
161
160
159
157
155
155
156
158
160
160
158
154
152
153
154
154
155
153
153
152
151
150
150
149
145
142
138
134
131
125
123
124
125
126
129
132
135
136
138
138
142
148
151
153
151
145
142
142
141
143
142
144
146
148
151
151
150
149
148
148
147
147
150
149
149
151
154
152
150
150
151
153
156
157
159
160
160
160
157
155
153
151
148
145
142
137
135
131
127
123
120
116
112
111
108
108
108
108
107
107
106
105
105
104
102
101
100
99
98
97
95
92
88
82
77
74
72
71
70
72
73
74
75
78
80
84
90
96
100
104
106
106
103
102
101
102
101
103
107
112
117
118
119
115
114
109
101
94
89
82
76
77
76
76
76
77
78
80
82
80
80
80
79
77
76
75
75
75
75
73
72
70
69
65
63
62
63
62
63
61
59
56
53
48
45
44
43
40
39
40
41
40
39
41
42
43
43
43
44
44
43
43
43
42
42
42
42
41
42
42
43
44
45
44
45
46
45
45
44
43
43
42
41
41
42
41
42
43
42
42
42
42
42
42
42
42
42
42
43
43
43
43
43
43
43
43
43
45
43
43
25
201
228
205
210
202
201
198
200
204
206
207
205
203
201
200
198
196
197
194
193
192
193
194
193
192
190
189
188
186
185
183
182
182
181
181
182
183
182
181
180
176
173
170
167
165
166
166
165
164
163
160
159
158
156
158
160
161
161
159
154
151
153
154
155
157
156
156
156
155
155
156
156
154
151
149
145
142
139
137
137
136
136
137
140
141
142
143
144
148
152
155
156
153
147
142
143
139
139
139
141
144
144
145
145
146
146
143
143
143
143
145
144
142
143
143
143
143
142
143
145
152
152
154
155
155
155
153
150
146
144
142
139
137
134
131
128
123
120
117
114
112
110
110
111
112
112
111
109
108
108
108
107
105
104
103
101
99
97
95
91
88
84
80
79
78
78
76
78
79
80
80
83
85
89
95
102
107
111
113
114
112
109
109
109
108
108
113
117
120
122
123
121
119
115
108
104
100
96
90
83
84
82
83
84
85
88
89
89
89
89
88
87
86
85
84
84
82
80
78
77
75
72
69
67
68
66
65
64
61
56
54
53
49
46
43
41
39
39
39
40
41
41
42
42
42
43
44
45
44
43
43
42
41
40
41
41
41
42
42
43
44
44
45
45
46
45
44
44
43
42
42
43
41
42
42
43
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
46
45
45
25
201
228
205
209
203
201
199
202
205
207
207
205
203
202
201
199
196
195
195
194
193
193
192
192
191
191
190
189
187
185
184
183
182
182
182
183
183
182
182
181
179
176
173
169
168
169
169
168
167
164
162
160
158
157
157
160
161
161
159
154
151
153
154
155
155
153
154
154
154
155
157
157
155
155
154
151
147
144
142
142
142
141
143
142
142
142
142
142
146
150
149
151
149
145
142
142
138
137
137
138
140
142
141
141
140
140
140
140
140
140
140
140
137
137
136
138
137
137
138
138
141
142
143
142
142
142
139
138
137
136
134
132
131
128
126
123
120
118
116
113
110
110
110
111
113
113
112
109
108
109
109
108
107
106
104
101
98
94
91
89
86
85
84
83
83
83
81
80
80
79
82
86
88
90
95
99
102
107
111
113
114
114
114
115
113
111
111
113
113
115
114
117
115
113
111
109
109
105
97
100
100
99
99
100
101
105
105
105
106
106
105
104
103
102
100
101
100
97
95
94
92
89
85
83
82
80
76
74
72
68
64
59
55
52
50
47
45
44
45
44
44
44
44
45
45
43
45
46
45
44
44
43
42
41
42
43
43
42
43
44
44
44
46
47
47
46
46
45
44
43
42
42
44
43
43
44
45
46
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
43
44
45
45
25
201
228
204
208
202
201
199
202
206
207
206
207
206
203
202
200
197
199
196
195
196
194
193
193
192
191
190
189
187
185
184
183
184
184
184
183
183
184
183
182
181
179
176
173
173
173
172
171
170
168
165
162
159
158
158
160
161
161
159
154
152
152
153
153
153
154
155
156
155
158
160
160
159
159
158
156
152
150
150
150
147
147
147
147
146
145
145
144
144
145
145
147
145
140
138
139
140
139
136
137
138
140
138
138
137
139
137
139
138
138
137
136
133
133
130
130
131
133
134
134
139
140
138
136
135
134
132
131
127
127
127
126
126
124
122
120
117
116
113
111
110
110
110
112
114
114
112
110
109
110
110
110
109
108
105
102
97
91
88
87
86
86
86
86
87
87
83
80
78
78
81
88
91
92
93
96
100
105
111
115
118
121
124
122
119
117
115
113
110
107
108
111
112
116
118
120
122
117
111
110
110
108
109
108
111
113
115
115
117
118
117
114
114
113
111
111
109
107
104
102
100
97
94
92
90
84
82
80
76
72
70
67
62
58
55
53
50
49
49
49
48
47
47
47
48
47
46
47
47
46
45
44
43
42
42
43
43
43
42
43
43
44
45
45
45
45
46
45
44
44
43
42
43
44
43
44
45
46
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
46
43
45
25
201
227
204
208
202
203
201
201
206
207
208
207
205
203
202
200
199
199
197
196
196
194
194
193
192
192
191
190
188
186
185
184
185
185
184
185
184
183
184
183
182
180
177
175
175
174
175
174
172
169
166
163
160
159
158
160
160
160
159
155
152
152
152
153
153
153
154
155
155
157
161
161
160
161
160
158
156
153
153
153
151
149
147
147
147
146
145
144
144
144
142
144
142
140
137
140
138
139
138
136
137
139
138
137
135
137
136
136
138
137
135
135
135
132
129
130
132
135
135
136
135
135
133
131
129
127
125
123
124
123
122
121
121
121
119
118
117
115
114
112
110
110
110
112
115
114
113
110
110
111
110
110
110
108
105
101
96
90
86
86
86
88
90
90
92
93
88
82
80
79
85
93
96
97
97
95
98
103
109
115
120
125
129
127
123
121
116
111
104
103
102
105
109
115
120
125
128
125
116
118
118
119
117
117
120
122
124
123
126
128
126
124
123
121
119
119
118
116
113
111
109
106
103
99
98
91
88
86
82
78
74
71
67
63
59
57
54
54
54
54
52
51
51
51
50
49
48
47
47
48
47
45
43
42
42
42
42
42
42
42
43
43
45
46
46
46
46
45
44
44
43
42
42
43
43
44
45
46
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
46
43
45
26
201
224
205
204
206
201
202
205
207
208
207
205
205
204
205
204
202
200
199
198
197
198
196
195
195
196
194
192
191
189
187
186
187
186
185
183
182
183
184
185
186
184
180
179
178
178
177
176
173
171
168
164
161
159
158
159
161
162
159
153
150
150
152
152
154
153
152
154
157
158
159
161
163
163
162
161
160
156
155
154
154
152
151
150
149
147
144
143
140
139
139
139
138
138
138
140
138
138
138
137
136
135
134
133
132
136
135
135
138
137
136
136
133
128
126
126
129
132
134
133
133
132
129
124
120
119
119
116
113
116
118
118
119
118
116
116
113
112
111
111
111
110
111
114
114
113
112
110
109
110
112
113
112
110
106
101
95
90
86
86
88
91
94
95
97
96
91
83
78
79
88
99
104
101
98
98
101
106
111
115
121
126
129
128
124
120
116
108
101
100
106
107
112
117
124
132
137
134
127
129
129
127
126
126
128
129
131
133
135
136
136
135
133
132
130
129
127
125
122
120
118
114
111
107
102
99
96
93
89
86
82
77
74
70
67
66
64
61
58
57
56
56
56
56
54
53
51
50
49
49
47
46
44
42
42
44
44
44
43
42
42
43
44
44
45
46
46
46
45
44
44
44
44
43
44
45
46
47
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
43
45
42
43
27
200
223
204
203
206
202
205
206
206
208
208
208
205
205
204
203
204
201
200
199
198
198
197
196
195
195
195
195
193
191
189
189
188
187
186
184
184
184
185
186
186
185
181
179
179
178
179
177
175
172
168
165
162
160
159
161
162
162
158
153
150
150
153
154
154
153
152
153
155
156
158
159
159
160
161
160
159
157
155
154
154
152
151
151
149
147
144
143
140
138
139
138
137
137
138
139
140
142
142
139
138
138
135
135
133
136
137
136
139
140
138
138
135
131
127
129
132
136
138
137
136
133
129
123
117
115
113
111
110
112
114
115
117
116
116
115
114
113
112
113
112
112
113
114
115
114
113
112
111
111
113
114
114
112
108
103
98
92
88
89
92
95
98
99
101
99
94
85
80
80
91
105
111
110
107
107
108
111
114
117
121
125
127
123
119
115
112
108
102
104
109
119
124
130
137
144
148
144
136
133
132
130
129
130
131
131
134
137
139
141
139
138
136
135
133
132
129
126
125
123
120
118
115
113
110
105
103
101
96
92
90
89
86
82
79
78
76
73
70
68
67
66
64
63
62
59
56
54
53
52
50
49
48
45
44
44
43
43
43
42
42
43
44
44
45
46
46
46
45
44
44
44
43
44
44
45
46
47
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
43
43
45
42
43
27
200
221
201
202
206
203
207
206
208
208
207
207
208
206
205
206
205
203
202
201
200
199
198
197
196
195
194
194
193
193
193
192
191
190
188
186
185
185
185
186
187
185
183
181
180
181
180
179
176
173
170
167
164
162
161
162
163
162
158
153
150
151
154
155
155
153
152
152
153
154
155
156
157
157
158
159
158
157
157
157
154
152
151
151
149
146
143
142
139
138
135
135
136
137
138
139
143
144
144
141
142
138
137
134
133
137
138
139
141
142
140
141
138
132
129
130
134
139
141
139
137
134
129
122
115
110
107
106
106
108
111
113
114
113
113
114
114
113
113
114
115
115
116
116
115
114
112
111
111
112
113
115
115
114
110
105
99
95
91
92
96
99
102
103
104
102
97
86
80
83
95
111
118
118
116
115
115
115
117
118
120
122
123
120
114
110
109
106
105
107
114
121
127
134
142
149
153
148
138
140
139
136
132
132
134
135
137
140
143
145
144
143
140
138
136
135
132
129
129
127
123
121
119
116
113
110
107
105
103
100
98
94
91
88
87
85
82
79
78
78
75
73
71
68
65
62
60
59
56
55
53
51
50
49
46
45
44
45
44
43
42
44
44
45
46
45
45
46
45
45
43
43
43
44
45
45
46
47
45
44
45
45
45
45
45
45
45
45
45
45
45
45
43
43
43
45
43
45
27
200
221
202
201
206
207
209
209
207
207
207
209
208
207
207
206
206
207
205
204
204
202
200
199
197
195
195
194
194
195
195
195
194
193
191
189
187
186
187
188
188
186
183
182
183
183
184
182
178
174
170
167
165
163
162
163
163
162
159
154
150
151
154
155
156
154
153
153
153
152
153
154
155
156
156
156
157
157
156
157
155
152
151
151
149
146
142
141
139
137
136
134
136
139
140
139
144
143
143
144
142
138
136
134
132
136
138
139
141
143
143
142
138
133
129
131
137
141
143
141
137
134
128
121
113
109
107
104
101
105
109
111
114
113
112
113
113
112
113
114
116
117
117
116
114
113
112
111
112
112
114
115
115
113
110
107
103
99
95
97
100
103
106
106
105
102
97
86
81
84
98
113
122
123
121
120
119
119
118
119
119
119
119
114
109
105
105
107
108
113
122
132
136
145
151
158
161
155
148
143
142
139
135
136
137
136
139
142
145
148
147
146
144
142
140
136
133
130
129
127
127
124
122
120
117
113
111
109
108
106
104
103
101
98
97
95
93
91
88
87
84
80
78
75
72
69
66
62
60
59
57
54
52
50
48
46
45
45
44
44
43
44
45
46
45
46
46
46
45
45
44
43
44
44
45
45
46
47
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
46
43
45
27
200
221
201
202
208
206
210
210
208
208
208
210
210
209
209
211
211
208
207
206
204
203
201
199
198
196
195
197
196
195
195
195
196
197
195
192
190
189
189
190
190
188
185
183
183
182
182
181
178
174
171
169
167
165
164
165
165
164
161
155
151
153
155
156
157
154
153
152
151
151
151
152
154
155
156
156
155
153
153
153
154
152
151
151
148
144
141
139
138
135
135
135
136
138
139
142
145
146
146
145
141
141
137
135
132
136
138
137
142
144
143
145
140
135
132
134
137
142
143
141
137
134
128
118
110
107
105
103
101
104
108
112
115
114
115
115
114
113
114
115
118
120
120
119
117
115
115
116
116
117
118
118
116
114
112
110
108
105
103
105
107
109
110
109
106
103
97
88
85
89
102
117
125
126
125
124
122
121
121
119
115
111
108
104
102
99
102
110
116
123
134
146
152
159
161
163
165
159
153
147
145
139
136
136
136
138
140
142
145
148
146
146
144
141
138
136
132
129
128
127
126
124
125
125
123
120
117
115
115
115
114
112
110
107
106
104
102
100
98
94
91
87
84
81
77
74
72
68
66
64
61
58
56
54
52
50
47
46
45
43
43
44
45
45
46
47
46
46
45
44
43
43
44
44
45
45
46
47
45
44
44
44
44
44
44
44
44
45
44
44
44
45
45
45
44
46
43
45
27
200
223
203
205
209
207
211
209
211
209
209
211
210
212
213
213
212
210
209
208
206
205
203
200
199
198
197
197
196
197
198
197
198
199
197
195
193
193
193
193
193
191
187
185
185
185
184
183
179
175
173
171
170
167
166
167
168
167
163
157
153
154
156
156
157
156
153
152
152
151
151
152
154
155
155
155
153
152
153
152
152
152
150
149
147
143
139
136
135
135
135
136
138
138
141
140
145
146
145
146
144
141
140
137
132
136
138
139
144
146
146
147
143
139
136
137
139
142
143
140
136
133
127
116
109
105
103
101
101
106
111
114
117
116
117
117
115
115
115
117
120
122
122
121
120
119
120
121
121
122
122
121
118
116
115
114
113
112
114
115
114
115
116
111
108
103
98
92
89
93
104
119
127
128
128
127
125
122
118
116
110
104
97
94
93
93
100
116
127
135
149
159
164
169
167
163
163
160
154
150
147
142
137
138
138
137
138
141
145
148
146
144
144
141
137
134
130
127
128
127
126
126
126
125
125
124
123
121
120
119
119
117
116
114
113
112
109
107
105
102
99
95
92
89
86
82
78
75
74
72
69
66
63
60
56
53
51
48
47
45
44
44
46
47
47
48
47
46
46
45
44
45
45
45
44
45
45
45
46
46
46
46
46
46
46
46
44
44
46
46
44
44
44
44
44
47
44
44
27
200
225
207
207
211
210
211
209
209
209
211
212
213
214
215
215
214
212
211
210
208
206
204
202
200
200
200
198
198
199
199
200
201
201
199
197
195
194
194
195
195
191
187
185
185
184
185
184
181
177
176
174
171
169
168
170
170
169
165
158
154
155
157
158
159
157
153
152
151
150
150
151
152
152
152
152
152
151
151
152
153
151
149
147
145
141
138
137
134
135
136
138
137
139
138
139
142
143
147
146
145
143
138
137
133
136
138
139
143
146
146
147
145
142
139
138
140
141
139
137
133
130
124
115
107
103
102
101
101
107
112
115
118
119
119
119
117
117
117
118
121
124
124
123
122
121
122
125
126
125
124
123
121
118
117
116
117
120
122
122
122
121
118
114
108
104
97
94
92
95
106
117
124
125
126
125
122
119
116
110
103
95
88
88
90
91
102
122
135
147
160
171
177
177
171
166
164
162
159
156
153
145
140
138
137
137
137
139
145
148
146
145
144
141
137
133
129
126
127
127
126
127
129
127
127
127
126
125
126
126
126
126
124
122
122
120
118
115
114
112
108
103
100
97
94
91
86
82
81
79
76
72
69
65
60
56
53
50
48
47
46
45
47
48
47
48
47
47
46
46
46
46
45
44
43
44
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
47
44
46
28
200
227
208
209
212
208
210
208
210
209
211
212
214
215
216
217
216
213
212
211
209
208
205
203
201
199
199
198
199
200
201
202
203
202
202
200
198
197
197
196
196
193
189
185
184
184
186
185
181
179
178
175
173
172
171
173
173
171
166
160
155
155
157
158
158
156
154
151
151
150
150
151
151
151
152
151
151
151
151
153
152
150
148
146
144
140
136
135
133
135
137
139
138
136
137
138
142
143
145
146
145
141
138
137
131
136
137
137
141
144
146
148
148
144
141
141
139
138
136
132
129
126
121
112
104
102
102
101
102
108
113
117
120
120
120
120
117
117
116
117
121
125
125
123
123
124
125
127
129
127
125
124
121
119
117
117
119
123
127
127
126
124
121
115
108
102
97
96
95
97
105
115
119
120
120
120
118
113
110
104
98
92
86
86
89
90
102
124
138
150
164
174
177
178
173
165
163
163
163
159
155
148
143
140
138
137
138
139
146
149
148
146
145
141
138
133
129
126
126
127
127
129
130
130
130
131
131
131
129
130
131
129
129
127
125
124
121
119
117
113
110
106
102
99
95
92
88
85
84
82
79
75
71
66
62
59
55
52
50
48
47
46
47
47
48
48
49
47
46
46
46
46
45
44
43
43
44
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
47
44
46
28
200
230
216
215
214
209
208
206
210
209
210
213
215
216
217
218
217
215
214
212
211
209
206
204
202
200
199
200
200
200
202
205
207
204
204
204
203
201
200
198
198
195
190
186
185
185
184
185
183
181
180
177
175
174
173
175
175
173
168
162
158
157
158
159
158
156
153
152
151
152
152
152
153
152
153
154
153
151
151
152
149
150
147
145
142
138
134
131
133
136
140
140
136
137
136
137
140
139
142
142
144
142
137
135
135
135
136
139
140
144
147
150
146
143
141
138
135
131
127
124
120
119
114
107
101
99
99
101
103
108
114
119
122
122
122
121
118
117
115
117
119
122
124
123
125
127
128
132
135
131
126
122
119
117
114
115
121
127
132
131
128
126
120
112
105
96
95
94
95
98
103
108
112
112
107
106
101
99
98
94
88
85
84
87
91
95
109
128
139
153
162
171
175
173
166
158
155
161
171
167
162
153
146
143
141
140
142
141
147
150
151
150
147
143
140
135
131
128
128
128
130
132
136
136
135
133
133
132
133
132
133
132
130
129
128
126
123
121
119
117
113
109
106
103
101
99
95
93
91
89
86
81
74
69
66
62
57
54
52
48
47
47
48
48
49
50
50
49
48
46
45
45
44
43
44
43
44
44
46
45
44
44
44
44
44
43
44
44
44
44
44
44
44
44
44
46
44
46
27
202
233
217
217
214
210
208
207
209
212
211
214
216
217
218
217
217
216
215
214
212
210
207
205
203
201
201
201
201
201
202
205
206
205
205
206
205
203
202
201
200
196
192
188
186
186
185
184
183
181
180
179
178
177
176
178
178
175
171
164
160
158
159
159
157
155
153
152
152
153
152
152
153
153
154
155
154
154
153
152
151
149
147
144
141
138
134
131
133
136
139
140
139
135
135
135
136
137
138
140
142
139
138
134
131
133
133
137
138
141
144
147
147
143
140
136
130
124
120
116
114
113
110
104
100
98
100
101
103
109
115
120
123
123
123
121
118
117
116
117
120
122
123
123
126
129
130
134
137
134
129
124
119
117
115
117
123
131
137
135
130
127
120
111
104
95
93
96
98
99
100
103
103
101
97
95
89
85
82
82
79
81
82
87
93
97
112
131
142
157
165
172
174
170
161
154
153
161
173
173
167
159
150
148
145
142
144
143
149
152
152
150
148
144
141
136
133
131
131
132
133
135
138
139
137
136
135
136
136
136
135
134
133
132
130
129
126
124
121
118
115
112
109
106
104
101
99
96
95
94
90
84
78
72
69
65
59
55
53
49
47
48
50
50
50
50
50
50
49
48
47
45
43
43
43
43
43
44
44
44
45
45
45
45
45
45
44
44
44
44
44
45
45
45
42
45
43
44
27
202
235
220
217
217
211
211
209
212
214
213
216
216
218
219
218
219
219
217
215
214
212
210
208
206
204
204
204
205
205
204
206
206
207
208
208
208
206
204
202
201
198
194
190
188
188
187
187
185
183
183
182
182
181
181
181
181
178
173
168
163
162
161
160
159
157
156
155
155
154
153
153
155
155
154
154
156
155
153
152
150
148
145
143
140
138
136
133
135
138
140
141
140
137
135
134
136
138
137
140
140
138
136
134
129
131
132
134
136
138
141
144
145
144
141
137
128
122
118
114
109
108
105
100
97
98
99
101
106
110
116
120
125
124
123
122
119
118
117
118
121
123
125
126
128
130
132
135
136
132
128
123
119
118
117
120
126
133
139
137
133
128
120
111
103
96
95
99
102
103
102
101
99
96
92
91
86
82
80
80
82
86
89
91
97
103
117
135
146
159
167
170
171
169
162
152
153
161
173
173
167
159
150
148
144
144
144
146
150
153
153
152
149
146
143
139
136
134
134
134
136
138
140
140
139
138
137
138
138
137
138
137
135
134
132
131
130
127
125
121
119
116
113
110
107
104
102
101
99
98
95
89
82
76
72
68
64
61
59
55
53
52
53
53
53
53
54
53
51
50
49
47
46
44
44
44
43
43
44
45
45
45
45
45
45
44
46
46
46
46
44
44
44
45
42
43
43
45
27
200
234
218
217
217
212
211
211
214
216
215
218
219
220
219
221
219
219
217
217
215
214
213
211
210
209
209
210
210
210
209
208
209
209
209
210
210
209
205
202
202
200
195
191
190
189
188
187
187
186
186
186
186
186
186
185
185
183
179
172
167
166
165
163
163
161
160
159
157
155
153
152
152
152
153
154
155
155
153
151
148
145
142
140
139
137
138
137
139
141
143
143
139
137
138
136
139
136
137
137
137
135
133
130
125
127
127
128
130
132
135
137
139
141
141
136
128
121
116
111
105
103
100
97
94
96
98
100
106
111
115
120
122
123
123
123
122
121
120
121
123
126
128
129
131
130
130
129
128
125
122
119
118
120
123
127
131
135
139
136
131
126
118
110
104
98
98
102
104
105
103
100
98
96
94
89
86
82
80
82
85
88
93
98
104
108
122
142
153
165
170
171
174
171
166
159
157
161
171
168
163
154
148
145
143
142
142
145
149
153
152
151
150
148
145
142
140
138
139
138
139
141
143
142
141
140
139
140
139
140
140
139
138
136
135
134
131
129
127
125
123
119
116
113
110
108
105
102
101
100
97
92
85
79
76
73
70
68
66
64
61
60
60
60
58
57
57
55
54
53
52
50
49
48
47
45
43
43
43
44
45
45
45
45
44
44
45
45
46
47
45
45
45
45
44
46
43
44
28
202
231
217
217
218
214
214
216
217
219
219
218
221
221
222
222
221
219
218
219
217
217
217
216
216
216
216
214
213
214
214
212
210
210
211
213
214
212
208
205
202
199
196
194
192
191
189
190
190
190
191
191
192
193
192
191
189
187
182
176
171
169
168
167
166
165
164
162
160
157
154
152
152
152
153
154
156
156
152
150
146
143
140
137
137
139
142
143
144
145
145
144
142
140
140
139
136
134
133
131
130
129
126
123
119
121
119
121
122
124
125
127
132
135
137
132
123
116
110
104
100
97
93
92
91
93
99
103
109
113
116
120
122
123
124
125
125
125
125
127
129
130
131
133
134
132
129
125
121
118
115
114
117
123
129
133
137
139
140
135
128
124
116
109
106
101
101
105
106
107
104
99
96
94
93
91
89
83
80
83
87
94
101
107
110
113
127
148
163
173
176
176
177
173
169
166
162
163
168
164
161
152
146
143
141
140
141
143
148
152
152
152
152
150
148
146
145
143
142
142
143
144
146
145
144
142
141
142
142
143
143
143
141
139
138
137
135
132
130
128
126
123
121
117
114
111
108
106
104
103
100
95
88
82
81
80
77
76
75
74
71
71
70
67
66
63
60
58
57
56
56
54
52
51
50
48
46
46
44
43
43
44
45
44
46
46
47
47
48
48
48
48
48
48
46
48
46
46
28
201
233
216
217
220
217
218
218
219
220
219
221
222
222
223
223
222
219
219
218
218
217
217
218
219
219
220
220
217
216
215
214
211
211
212
214
216
214
210
206
203
200
197
195
193
192
190
190
192
193
194
196
198
198
197
195
193
191
185
179
175
174
173
170
170
169
168
167
165
161
156
154
154
155
154
156
158
158
154
151
146
144
140
137
137
140
142
145
146
146
144
145
143
141
139
140
137
135
133
129
129
127
121
119
116
115
114
113
113
114
115
117
126
130
133
127
120
114
106
101
94
90
88
88
89
92
99
105
111
113
115
119
121
122
122
123
125
126
127
129
130
131
131
133
134
132
127
120
115
115
114
114
117
123
131
137
141
141
142
136
128
122
116
111
108
102
103
108
110
109
105
100
95
93
92
91
90
85
80
85
92
101
111
113
115
116
129
151
167
177
180
179
178
175
171
169
167
168
168
163
161
152
146
143
142
142
143
145
150
154
155
155
155
152
150
150
149
148
148
147
147
148
149
149
146
144
141
143
143
144
144
143
142
140
139
138
136
134
133
131
128
125
122
119
116
113
110
108
106
105
103
98
92
88
86
85
83
82
81
80
79
78
76
74
71
68
65
63
60
58
59
57
55
54
52
49
47
47
44
43
43
43
44
44
46
46
47
46
47
49
49
49
49
49
47
49
45
46
27
202
235
221
222
223
219
219
218
219
218
221
222
223
223
222
223
224
220
220
219
219
218
219
220
221
220
221
221
219
217
217
215
212
212
213
214
215
214
211
207
203
200
197
195
193
192
191
191
192
194
195
197
198
200
200
197
194
191
186
180
176
176
174
173
173
172
171
170
168
164
159
158
157
156
156
158
160
160
157
154
148
146
142
139
138
139
142
145
145
144
146
145
143
142
140
138
136
134
131
128
125
121
116
112
107
106
104
103
102
104
105
106
114
118
120
119
113
109
105
100
95
91
88
90
92
93
98
103
110
112
114
116
119
120
120
121
123
124
125
127
128
129
129
131
131
128
125
117
112
114
114
112
115
123
131
136
138
139
139
135
129
124
117
112
110
107
107
109
110
109
104
99
95
93
92
89
90
84
80
87
95
103
115
117
119
117
129
148
165
176
179
179
179
178
176
175
172
168
168
162
160
152
147
145
144
145
146
148
153
157
158
157
155
153
151
149
150
149
149
149
149
150
149
148
147
144
143
142
142
143
143
143
141
139
138
137
136
134
133
132
129
126
123
120
117
114
111
108
107
106
104
100
95
92
90
89
87
86
86
85
84
82
80
78
74
71
68
66
64
64
62
58
56
55
52
50
47
46
45
44
45
44
46
46
45
44
45
46
47
49
49
49
49
47
48
48
45
46
27
202
239
224
223
225
221
223
220
222
218
219
222
223
223
224
222
222
223
223
221
220
219
220
221
220
219
221
220
219
219
218
216
213
212
212
214
215
213
210
206
202
200
197
194
193
192
191
192
194
196
197
199
200
203
202
199
197
193
187
181
177
176
176
175
175
174
174
174
172
167
162
161
159
158
158
159
161
161
159
155
150
148
143
140
139
139
140
142
144
143
146
143
143
141
139
137
134
131
125
123
119
114
106
101
97
95
91
90
89
90
91
91
96
101
105
105
104
104
102
98
94
91
90
91
93
95
99
104
109
111
113
115
117
118
117
118
120
121
123
124
125
126
127
127
126
124
122
115
110
111
112
113
116
122
129
134
136
136
136
133
127
123
119
114
113
109
109
108
107
105
102
97
94
93
91
89
90
87
86
93
100
109
118
118
119
118
127
145
160
171
175
177
179
182
179
180
177
170
168
163
161
154
150
149
149
152
153
153
158
161
159
157
156
153
150
148
148
148
148
150
151
152
151
148
146
142
141
140
141
141
142
142
140
138
137
136
134
132
132
130
128
126
123
120
117
113
112
109
107
106
104
101
97
94
93
91
89
87
87
87
85
83
81
79
76
72
70
68
67
66
63
61
58
57
54
51
49
48
46
45
45
46
44
44
44
44
45
47
46
47
48
47
47
46
46
47
44
44
27
202
240
226
228
228
227
227
223
222
220
219
222
222
222
224
225
224
223
223
223
222
222
221
221
221
220
221
220
219
219
217
215
214
214
215
216
217
215
210
206
203
200
196
193
193
192
193
194
196
199
202
204
205
206
205
201
198
195
189
183
179
178
179
181
180
179
178
178
176
171
166
164
164
162
162
161
162
163
161
158
155
150
145
142
141
140
140
139
142
144
144
145
143
140
137
137
132
127
124
118
113
107
97
91
87
80
76
73
71
70
73
73
80
82
85
88
92
94
92
91
88
89
89
92
94
97
101
105
110
113
114
115
116
115
116
116
115
117
118
119
121
123
123
123
120
119
117
112
108
110
112
114
116
120
126
130
132
131
132
131
127
126
124
120
117
115
111
108
105
103
101
97
96
93
90
89
89
88
90
95
104
116
125
123
121
114
125
144
155
166
174
177
184
187
185
185
185
175
169
164
162
156
153
154
154
156
159
162
164
168
162
158
157
153
152
150
151
150
150
151
152
153
153
153
148
145
141
139
141
142
141
141
140
139
137
134
133
132
130
129
128
125
122
120
117
114
111
111
109
108
106
104
101
99
98
97
94
93
93
92
91
89
86
83
80
76
73
71
70
68
67
66
63
61
58
55
52
50
48
48
48
47
46
44
44
46
47
45
45
46
46
48
48
47
45
46
44
44
27
200
241
228
230
230
227
228
224
223
222
220
223
226
224
224
227
226
225
225
224
225
224
223
224
223
223
224
222
221
221
220
216
215
217
217
218
218
217
213
208
205
202
199
197
197
197
197
198
200
201
203
205
207
209
208
204
201
199
193
186
182
181
181
182
184
184
184
183
181
176
172
170
166
164
163
163
164
165
163
160
156
152
147
145
141
140
138
137
140
142
145
145
143
139
137
137
130
127
122
117
110
103
95
89
80
75
68
66
61
61
63
63
65
69
71
74
78
82
80
81
82
82
83
86
89
94
99
103
108
110
112
114
115
115
115
117
116
117
119
120
121
122
122
120
118
115
113
110
107
109
111
114
116
120
125
128
129
129
128
129
128
128
126
122
120
117
113
107
103
102
101
99
98
96
92
94
95
96
99
104
112
121
129
126
124
115
123
142
153
164
173
178
184
188
187
187
185
176
168
166
163
158
155
155
160
163
163
168
169
173
167
162
160
155
154
151
153
153
154
156
157
158
158
156
150
147
143
141
143
144
143
143
142
141
139
137
135
133
132
131
130
127
124
123
120
118
116
115
114
113
112
109
107
104
102
100
98
98
96
95
93
91
88
86
84
81
77
75
73
72
71
69
67
64
62
59
55
53
50
48
49
48
47
46
45
44
45
46
46
45
47
47
47
47
44
44
44
46
26
201
242
229
232
232
228
230
226
225
225
223
225
227
226
227
229
229
229
227
228
226
226
225
225
224
225
224
224
223
222
222
221
219
218
219
220
220
219
215
210
207
204
201
199
198
198
199
200
202
206
209
210
212
213
212
208
206
202
196
190
185
184
185
185
186
186
185
185
183
178
174
170
168
166
165
166
167
167
166
163
160
157
152
146
142
139
137
136
138
141
145
146
144
141
137
137
130
127
120
116
110
102
93
86
80
73
67
62
57
57
56
54
58
61
63
66
69
72
73
75
73
75
79
84
88
92
97
101
106
108
111
113
114
115
116
117
119
119
121
123
123
123
122
119
115
111
108
107
107
109
113
115
118
120
123
125
125
125
125
126
128
129
128
127
124
120
115
107
102
101
100
100
101
99
96
96
98
100
104
110
118
125
132
130
125
115
122
140
151
164
172
180
186
190
187
189
187
177
168
167
164
161
157
160
164
168
171
172
173
176
169
163
161
155
154
152
154
155
157
160
161
162
161
160
154
150
147
144
146
147
147
146
145
143
141
139
137
135
135
134
132
130
128
126
123
120
119
118
117
116
114
112
110
107
106
105
102
100
99
98
97
93
92
91
88
84
81
79
76
76
75
73
71
68
65
62
59
55
52
51
50
49
47
47
45
44
44
44
44
46
45
45
45
46
43
43
43
45
26
201
243
231
232
232
229
231
228
228
225
225
228
229
229
229
230
228
230
230
228
228
227
228
227
226
225
227
227
225
223
224
223
220
220
221
222
221
220
216
212
210
207
204
202
201
201
202
203
205
210
213
214
216
217
215
211
208
205
198
192
189
188
188
189
190
189
188
187
184
180
176
172
171
168
168
168
169
169
168
165
163
160
154
148
144
140
136
134
136
139
144
145
144
140
138
137
133
128
122
115
110
103
92
85
78
70
63
58
53
50
49
47
51
51
53
54
58
58
60
63
66
67
73
79
84
89
95
99
104
106
109
112
114
115
116
118
120
120
123
124
126
126
123
118
111
107
106
106
107
110
114
116
119
121
123
124
123
124
125
126
127
129
129
127
125
120
115
107
101
99
101
103
104
103
101
100
103
107
112
118
125
131
134
130
126
115
121
137
149
162
171
181
187
191
189
189
187
177
168
167
163
160
159
163
167
172
175
176
176
178
172
165
162
154
154
153
155
157
160
163
164
163
162
162
157
153
150
147
149
150
150
149
148
146
144
141
139
137
136
136
134
132
130
129
127
125
123
122
120
121
120
117
113
110
109
107
105
104
102
100
98
95
93
91
89
85
83
81
80
79
77
76
73
71
68
64
60
57
55
54
52
50
48
47
46
46
44
44
44
44
46
46
44
45
43
43
43
45
24
201
242
229
232
232
231
231
230
228
227
227
230
229
230
231
231
230
231
231
229
229
228
229
229
228
228
229
227
225
224
225
224
221
221
223
223
223
221
218
214
212
211
207
205
204
205
206
206
210
213
216
217
217
218
217
214
210
207
202
196
193
192
191
192
194
193
192
191
189
184
178
174
172
169
168
169
170
169
168
166
165
161
154
150
145
139
135
132
133
136
140
144
142
138
136
135
131
127
122
117
111
102
93
88
78
68
61
58
50
48
47
42
45
46
46
47
48
49
51
53
59
61
66
74
80
85
91
95
101
105
108
111
113
115
116
118
119
120
121
122
122
122
120
115
108
104
103
106
108
111
114
117
120
121
121
121
121
122
122
124
127
129
129
128
126
122
115
107
101
99
102
105
106
107
106
107
112
118
123
127
133
136
139
132
126
115
122
139
149
162
174
183
188
192
188
187
185
174
168
166
164
162
161
165
169
175
178
180
179
181
174
168
163
157
158
155
157
159
163
166
168
166
165
164
159
154
152
150
151
153
153
152
151
149
145
143
140
138
138
137
135
134
132
131
130
127
125
125
125
124
124
121
117
114
111
108
106
105
103
102
101
98
95
92
90
87
85
83
81
82
80
78
76
74
71
68
63
60
58
56
54
51
50
48
47
45
45
46
44
44
44
44
45
43
43
44
42
43
26
201
241
228
229
229
228
230
228
230
230
231
230
230
231
232
230
229
231
231
231
229
229
229
230
230
230
229
228
226
225
224
223
221
221
222
223
224
223
220
217
215
212
209
207
206
206
207
208
211
216
217
217
218
219
218
215
212
209
204
199
196
195
196
196
195
194
193
192
190
185
178
174
173
170
167
167
168
168
167
167
166
162
155
151
147
141
134
131
130
133
138
139
137
135
131
132
128
124
119
116
111
104
95
88
81
73
65
60
54
50
48
44
44
45
45
47
46
47
49
52
56
59
65
72
78
83
87
92
98
101
104
108
111
113
114
116
116
115
116
117
117
116
115
110
104
101
103
107
110
113
116
119
121
122
121
120
120
121
121
123
126
127
127
125
124
120
113
106
101
100
104
108
110
113
114
116
122
128
133
137
139
141
139
134
128
117
124
141
151
164
176
184
190
191
186
183
180
172
168
169
165
164
165
167
171
176
180
181
180
181
174
168
164
158
158
158
160
163
167
170
172
170
169
167
162
159
156
155
156
156
155
155
154
152
149
146
142
140
139
138
137
135
135
134
131
129
128
126
125
125
124
122
117
114
113
110
107
106
105
103
102
99
97
96
93
90
88
87
86
85
84
82
80
78
75
70
66
64
61
59
56
53
52
50
49
48
47
45
46
46
46
44
45
43
43
44
43
45
26
201
240
227
229
229
227
230
230
231
230
232
233
231
232
232
232
229
231
230
229
230
229
228
230
230
231
230
229
227
226
225
223
221
222
223
224
225
224
223
220
217
214
211
209
208
208
209
210
213
217
218
219
218
220
219
216
213
210
206
203
200
199
198
197
197
195
194
193
190
184
178
174
173
169
165
165
166
166
166
166
165
161
156
153
147
140
132
126
126
129
134
135
133
131
127
128
125
122
119
116
112
105
96
90
86
77
69
63
56
52
50
46
45
45
46
46
45
45
46
49
56
58
63
70
76
81
86
90
95
98
102
106
109
111
113
114
111
111
112
111
110
109
108
105
101
99
103
110
114
117
120
122
123
122
120
119
119
120
120
122
124
126
125
122
121
118
111
106
102
101
105
109
113
118
120
126
132
139
143
145
146
143
140
135
131
120
127
144
153
166
177
184
191
192
184
178
175
172
168
170
166
165
165
167
172
176
180
181
178
180
173
167
163
158
160
160
161
165
169
173
173
171
169
169
165
162
159
159
160
161
159
158
157
154
150
146
144
142
140
139
138
136
136
135
133
130
129
128
127
127
126
123
118
115
113
110
108
106
103
102
101
99
98
96
93
91
90
89
89
89
86
85
82
80
77
74
69
65
63
60
57
55
53
52
50
48
46
47
45
45
45
46
44
45
44
43
45
46
25
199
238
226
227
227
225
228
229
232
231
233
233
233
232
232
230
230
231
229
230
229
229
229
229
230
231
231
229
229
227
225
224
222
222
223
226
227
225
224
222
220
218
214
213
211
211
212
213
215
218
219
219
218
219
219
215
213
211
208
205
203
201
200
199
198
198
196
194
191
186
179
176
172
167
164
164
164
163
164
164
165
162
157
152
147
139
129
125
123
125
129
129
128
125
124
123
121
118
116
114
110
105
96
90
88
81
72
67
60
56
53
50
47
46
45
44
44
41
43
46
52
55
59
66
72
77
83
86
92
96
100
104
107
109
111
112
109
108
107
106
105
103
102
101
99
99
104
112
116
119
122
124
124
123
121
118
118
120
120
120
121
122
120
117
116
113
108
104
102
102
106
111
116
122
128
134
142
149
154
154
153
149
143
138
132
124
130
147
156
167
179
186
191
189
183
176
174
170
169
169
168
167
166
168
172
176
178
180
179
179
173
167
163
159
162
160
163
167
170
174
175
172
170
169
166
164
162
161
163
163
162
160
158
155
151
147
145
143
141
139
138
138
137
136
134
131
131
131
131
129
128
124
119
116
113
111
108
106
104
103
102
99
98
97
95
93
92
91
90
91
88
87
85
82
79
76
72
68
65
63
60
58
56
55
53
52
49
47
47
46
46
46
45
44
42
45
43
45
26
201
236
221
224
225
223
224
228
233
232
232
232
231
230
230
229
229
229
230
229
230
231
231
231
230
229
228
228
227
226
224
223
222
222
223
224
226
226
225
223
221
220
219
216
215
215
215
214
216
218
219
219
219
219
217
214
212
211
208
207
206
205
202
202
201
200
197
194
190
185
179
175
170
165
162
161
160
159
159
161
162
160
155
149
145
136
125
121
118
119
121
120
119
117
114
115
111
111
110
108
105
101
94
89
87
80
74
69
63
58
54
52
50
47
45
45
43
40
40
44
50
53
59
62
68
73
79
82
87
92
97
101
104
107
109
109
105
104
102
101
99
96
95
96
97
101
106
113
120
123
125
126
126
124
120
117
117
119
120
118
116
116
114
111
110
104
103
102
101
103
107
112
117
124
135
140
150
154
165
163
160
153
147
144
136
131
137
149
161
168
180
188
190
188
183
177
171
171
174
171
172
171
170
169
172
175
177
176
175
174
171
166
162
160
162
161
164
168
171
175
174
172
169
168
166
165
163
164
166
166
163
162
158
154
152
148
144
141
140
138
137
136
135
135
134
132
131
130
129
129
127
124
120
117
114
112
109
108
106
105
103
100
99
98
96
95
94
93
92
93
93
92
89
85
83
81
77
74
69
67
65
62
60
59
57
56
53
52
50
51
48
48
49
47
43
46
45
44
27
202
235
218
220
223
221
224
227
232
234
234
234
233
232
231
230
231
229
229
230
231
229
231
231
231
229
229
228
227
226
224
223
222
223
222
223
225
227
226
224
223
222
220
218
216
215
215
215
216
218
219
218
217
217
216
213
210
209
208
208
207
206
204
203
200
199
197
194
190
184
178
173
168
163
158
157
155
154
154
155
158
157
152
148
142
133
123
117
113
112
113
112
110
108
106
105
104
104
103
101
99
96
92
86
85
78
76
70
65
60
55
53
51
49
47
46
43
41
42
44
51
53
56
61
65
69
74
78
83
89
94
99
103
106
108
107
103
101
98
97
94
92
92
93
98
103
108
117
124
126
128
128
126
124
120
117
116
117
118
115
111
110
107
104
103
97
97
100
101
103
107
112
117
125
137
145
156
161
171
169
165
158
151
147
142
136
143
154
163
170
179
185
189
187
181
177
174
174
177
173
173
173
170
170
171
174
175
175
174
171
168
164
161
161
162
164
166
168
171
175
174
171
167
168
166
165
163
164
166
166
164
162
158
155
151
147
142
140
138
137
136
135
134
134
133
130
129
129
127
126
125
123
121
119
116
114
111
110
108
107
105
102
102
100
98
97
96
95
95
94
94
92
90
88
85
81
78
75
73
71
69
66
64
62
61
58
58
56
55
53
53
52
51
49
45
47
44
44
26
202
234
216
217
221
219
222
225
230
233
235
232
231
231
228
229
230
229
229
229
229
231
230
232
231
230
229
228
227
225
224
222
222
221
222
223
224
225
226
225
224
223
220
219
218
217
217
216
217
217
218
216
215
214
212
210
208
207
206
207
208
207
206
204
202
200
197
194
191
185
178
171
166
159
154
153
151
148
149
151
153
152
148
144
139
130
118
112
107
106
106
103
100
98
96
95
94
93
92
90
91
89
87
82
81
76
74
71
65
61
56
54
52
50
50
47
43
40
40
43
49
51
53
56
59
65
68
73
78
84
90
95
101
104
106
105
100
98
95
92
89
86
87
91
97
103
111
120
127
129
129
129
127
125
120
116
115
115
116
111
107
104
99
95
94
90
91
98
102
105
109
112
117
128
141
151
164
168
178
175
171
164
157
153
151
147
151
160
165
170
178
183
187
186
182
180
178
178
181
177
176
174
172
171
171
173
172
171
170
167
165
162
160
159
162
166
167
169
172
174
173
169
165
164
165
165
165
166
167
166
164
161
157
153
150
146
141
138
137
136
135
134
133
133
132
129
128
128
126
125
125
124
124
122
119
117
114
112
110
109
107
104
103
102
100
99
98
97
97
96
96
94
92
90
88
85
80
78
77
75
73
71
69
67
64
64
62
59
58
58
55
55
52
51
48
49
45
45
27
202
232
212
213
218
215
217
222
228
232
233
231
230
230
228
227
228
229
231
231
232
231
232
231
232
231
230
228
227
225
224
223
222
222
221
222
223
224
225
226
226
225
223
221
220
219
219
218
218
219
218
215
213
212
210
208
207
205
204
205
207
206
203
202
200
197
193
190
186
181
174
167
162
155
148
146
142
140
140
142
145
143
140
136
132
122
110
105
100
97
97
94
91
87
86
83
84
81
80
80
80
81
80
78
76
73
69
68
62
59
57
56
52
52
49
47
44
40
40
42
47
49
51
53
56
60
64
67
72
79
86
92
98
101
103
102
99
96
92
89
86
84
85
90
98
106
113
121
128
129
129
128
127
124
119
115
113
112
111
107
101
97
92
87
86
83
87
97
102
107
111
113
118
130
143
153
166
171
183
180
177
171
165
162
159
158
160
164
166
170
177
181
186
186
186
186
185
183
185
182
182
178
176
174
174
171
172
169
167
164
163
161
160
162
163
167
168
169
171
172
170
167
163
163
164
166
166
167
168
167
164
161
157
152
149
145
140
137
136
135
134
134
133
133
132
129
128
126
125
124
124
124
126
126
123
121
118
116
114
113
111
109
106
105
103
101
100
99
98
99
98
97
94
92
90
87
83
81
81
80
79
77
75
73
71
70
68
66
63
63
61
58
57
53
53
52
49
48
29
201
230
210
211
215
213
216
218
225
230
231
232
229
230
230
229
231
232
232
233
234
235
235
235
233
231
230
229
228
226
225
224
224
223
223
223
223
224
226
227
227
226
225
224
223
222
221
219
220
220
219
217
214
212
210
207
205
205
205
207
208
207
203
200
197
193
189
186
182
177
169
161
156
148
143
138
133
130
130
132
134
134
131
129
125
115
104
97
92
91
88
84
81
78
75
74
75
72
71
71
73
73
71
70
70
65
65
62
58
55
53
52
50
51
50
47
44
40
40
41
46
48
49
51
53
58
61
64
68
77
84
91
96
98
101
101
97
94
90
88
85
83
84
91
100
107
114
122
129
129
128
127
126
122
117
113
110
109
108
103
94
89
84
81
79
79
86
95
102
109
112
113
118
129
142
151
164
172
183
183
181
177
172
171
171
169
168
167
166
169
175
180
185
185
188
192
191
190
189
188
186
182
181
177
176
171
171
167
164
162
162
161
163
164
165
168
167
169
169
168
167
164
161
162
163
166
168
169
169
168
165
162
158
153
148
144
140
137
136
135
134
135
136
135
132
130
129
128
126
125
125
126
127
129
128
125
122
120
118
117
115
112
110
108
106
104
103
102
101
100
101
99
97
95
92
89
86
84
84
85
84
83
81
79
77
76
74
72
71
69
67
65
63
60
55
53
50
50
30
203
230
210
209
213
212
213
217
221
225
228
229
229
229
229
230
232
233
233
235
236
236
236
234
233
233
232
230
228
228
227
226
226
224
223
221
221
222
224
227
228
227
226
225
224
223
222
221
221
221
220
217
214
210
208
205
203
204
204
207
208
206
201
197
194
190
184
180
177
172
164
157
152
145
137
132
127
122
122
125
127
126
123
121
117
107
96
90
84
84
82
79
76
73
69
69
66
64
63
64
64
64
63
63
62
59
58
57
54
52
50
49
48
48
47
46
43
41
42
43
46
48
49
50
52
54
58
61
66
74
82
87
92
95
97
97
94
91
87
86
84
82
85
92
101
109
114
120
127
127
125
125
124
121
116
111
108
107
103
97
88
82
79
77
77
77
85
97
105
111
115
116
117
128
140
148
161
170
184
183
184
181
179
179
179
178
175
172
167
168
174
179
183
186
191
197
197
195
193
191
189
185
184
180
178
172
169
166
163
161
161
163
165
166
167
169
169
167
166
165
164
162
160
162
163
167
170
171
172
170
167
163
158
153
148
144
140
138
137
136
136
137
138
137
135
132
131
130
128
127
127
129
131
132
131
128
125
124
123
120
118
115
113
112
110
107
105
104
104
103
103
102
100
97
95
92
89
88
87
89
88
88
86
84
83
82
79
77
75
74
71
69
66
63
60
58
52
53
32
201
226
206
206
209
208
208
212
218
220
222
224
225
226
227
229
231
233
234
235
237
237
235
233
232
230
230
228
226
225
224
223
224
224
222
220
218
219
222
225
226
226
225
224
224
224
222
220
220
220
219
216
211
208
205
203
200
199
201
205
206
204
198
192
189
185
179
174
171
166
158
151
147
139
131
126
120
114
113
117
119
118
116
114
111
101
91
84
80
78
76
73
71
68
64
62
60
58
57
59
61
59
59
59
57
55
55
56
52
49
48
46
46
46
46
45
43
42
42
44
48
48
48
49
51
53
56
58
63
71
79
85
89
92
93
94
91
89
86
85
83
82
86
93
101
108
112
118
124
124
124
123
122
119
115
110
107
104
100
95
86
80
77
75
75
77
86
100
107
114
118
118
120
127
139
147
161
169
183
184
185
185
183
183
186
185
181
175
168
167
173
179
183
187
192
199
200
198
196
193
191
189
187
184
178
173
169
165
162
160
161
164
166
166
168
169
168
166
163
162
161
161
160
161
164
168
171
173
172
171
167
163
159
154
149
145
140
138
139
140
139
140
141
140
138
135
134
133
130
129
128
130
133
134
133
131
128
127
125
123
121
118
116
115
113
110
108
106
105
104
105
104
102
99
97
94
92
90
90
91
92
91
89
88
87
86
83
81
79
78
75
73
69
67
64
61
55
56
35
203
225
198
204
204
201
200
204
208
212
214
216
219
221
222
225
228
231
232
235
236
235
234
233
230
227
225
224
224
223
221
221
222
221
220
218
214
214
217
221
223
222
222
221
221
220
219
219
218
216
216
213
208
205
201
198
196
195
197
200
201
198
192
187
182
177
172
167
162
157
151
144
139
131
123
117
110
104
103
106
107
108
107
105
102
93
83
76
71
71
71
68
66
64
61
57
58
55
54
56
58
56
56
58
55
55
53
53
49
47
47
45
45
47
46
45
45
45
46
48
51
53
52
51
52
54
56
57
62
69
75
81
85
87
88
89
86
84
83
83
82
81
86
93
101
107
110
114
119
120
120
120
119
117
113
109
105
102
98
91
83
79
77
77
78
82
93
106
114
119
122
122
123
129
136
144
156
168
181
184
186
186
187
188
190
192
187
178
172
168
173
179
183
188
193
200
200
198
197
194
191
191
188
185
180
174
170
166
162
159
163
166
168
171
169
169
168
166
162
160
160
161
162
163
167
172
174
175
174
173
169
165
160
155
151
146
142
140
140
141
142
144
144
145
143
141
140
137
134
133
132
132
135
136
135
133
130
129
128
126
124
121
118
117
115
112
110
108
107
106
107
106
104
102
100
97
95
93
92
94
96
94
92
91
90
89
86
83
84
82
80
79
76
72
68
63
61
57
39
204
224
194
202
200
195
193
196
198
199
201
204
209
213
216
220
224
227
229
232
232
230
229
228
225
223
219
217
217
216
215
216
218
217
215
211
208
208
211
215
217
216
215
216
216
215
214
215
214
214
214
210
206
202
197
194
191
189
190
193
194
190
182
176
170
165
160
156
151
147
141
135
129
121
114
108
100
93
92
94
96
96
96
96
94
85
73
67
64
67
66
64
61
60
57
54
56
53
53
54
55
56
56
55
55
52
51
49
46
47
46
44
46
47
46
47
49
51
52
54
55
58
57
54
55
57
57
58
63
67
72
78
80
82
83
83
80
79
79
80
80
80
86
93
100
104
107
110
112
113
115
117
115
114
113
108
102
99
94
87
83
79
77
80
84
91
101
113
121
126
127
128
128
131
135
141
151
166
179
185
187
188
191
194
194
198
193
181
175
170
175
179
184
189
193
199
199
197
196
194
191
192
192
189
182
175
173
167
163
159
164
168
170
174
172
172
169
166
162
158
157
160
164
166
170
175
177
177
177
175
171
167
162
156
152
148
143
143
144
144
146
149
150
150
149
148
146
142
138
137
136
136
137
136
137
136
133
132
131
130
127
124
121
119
116
115
113
111
109
108
109
108
107
105
103
100
98
96
95
97
98
96
95
93
93
92
89
88
87
86
82
83
80
76
72
68
65
60
44
203
222
192
198
194
190
187
189
189
191
193
197
201
206
210
217
222
225
227
230
231
228
226
224
221
220
216
213
212
211
211
212
214
214
211
206
202
204
207
209
212
213
212
212
212
211
210
212
213
213
212
207
203
199
193
189
186
184
185
188
189
185
176
169
163
157
151
147
143
140
134
128
123
116
107
101
92
85
83
85
87
88
89
88
85
78
67
63
59
61
60
58
55
56
52
51
53
51
51
54
55
55
55
55
53
51
49
47
45
46
45
44
44
46
47
48
50
52
54
55
59
61
59
58
58
58
58
59
61
66
70
75
77
77
78
78
76
75
76
78
80
83
87
93
100
103
104
106
107
107
110
114
114
114
112
107
100
96
90
85
82
78
79
83
90
98
109
119
127
132
132
131
131
133
137
141
150
165
177
184
187
189
193
195
197
203
197
186
177
172
175
182
186
190
195
198
197
195
194
193
193
192
194
191
184
177
173
169
165
161
166
170
172
174
171
170
168
165
161
158
158
162
166
169
171
176
178
178
177
176
172
168
163
157
154
150
145
145
146
147
150
152
153
154
153
152
150
145
142
141
140
139
139
138
138
137
135
134
132
131
130
127
125
122
119
117
115
112
111
112
110
110
109
107
105
103
100
98
97
98
99
97
96
95
95
94
92
92
91
89
87
85
83
80
76
72
69
65
47
204
219
190
194
190
184
181
179
179
179
182
188
193
198
204
210
217
223
224
228
227
224
221
219
215
213
209
206
206
205
205
207
209
209
206
200
195
197
200
202
205
206
206
206
207
207
207
207
208
208
206
202
198
193
187
182
179
178
178
181
182
177
168
161
154
148
142
138
135
132
127
121
117
110
102
95
86
78
76
78
80
82
82
82
81
73
62
58
55
54
55
52
51
51
51
49
51
49
50
52
53
53
53
53
53
50
48
46
44
44
46
44
43
46
47
48
51
52
53
55
57
60
60
59
58
58
58
58
60
65
69
73
75
74
73
74
74
74
75
79
84
87
91
95
98
100
100
99
100
102
107
110
111
111
111
106
100
95
87
84
82
79
82
89
97
108
118
128
134
138
138
137
137
138
139
141
150
165
176
183
185
188
193
195
199
205
202
189
181
176
181
185
190
190
192
193
192
189
191
190
192
194
195
193
185
178
173
170
167
162
168
173
175
178
173
171
168
164
160
157
158
164
168
172
174
177
179
179
178
177
172
168
164
158
155
151
148
147
148
150
153
155
156
158
157
156
153
150
146
145
144
142
140
139
139
138
135
134
133
132
131
128
125
123
120
118
116
113
112
112
112
111
110
109
107
106
102
100
98
100
99
98
97
96
96
95
94
94
94
92
90
88
86
83
80
76
72
67
50
205
215
185
190
183
179
174
170
166
163
165
173
179
185
192
200
207
214
215
219
219
216
213
210
206
201
197
194
194
194
195
198
200
201
198
190
184
185
188
192
195
196
195
196
197
199
199
200
200
201
201
196
190
185
180
175
171
168
167
169
170
164
155
149
144
138
131
126
124
122
118
113
109
102
94
86
78
71
69
71
72
73
74
76
75
67
58
52
49
49
50
48
49
49
48
50
49
49
52
52
55
55
54
54
56
53
49
47
45
46
44
45
45
47
47
48
49
49
50
51
54
57
57
56
56
55
55
57
61
65
69
72
74
73
72
74
76
77
79
84
91
96
97
99
98
97
96
94
94
98
103
106
107
109
109
105
99
94
86
83
83
82
86
96
106
117
128
137
142
144
145
145
145
142
140
141
149
163
175
183
184
187
191
194
199
206
202
191
185
181
185
188
192
191
188
184
183
183
188
189
189
194
196
194
186
179
174
171
169
164
170
175
178
181
175
173
169
165
161
158
159
165
172
175
176
178
180
180
179
177
173
168
164
159
155
152
149
148
149
151
154
157
160
161
160
159
156
153
150
148
146
143
140
138
137
137
134
133
132
131
129
127
126
124
120
118
116
114
113
112
113
113
112
111
109
107
105
103
100
100
99
97
96
97
95
96
94
94
94
95
93
92
90
86
83
79
74
72
54
205
212
182
186
179
174
167
162
155
152
153
161
169
176
183
194
202
207
208
211
213
210
206
201
196
193
188
186
185
186
187
190
191
192
189
182
176
175
178
183
187
186
186
187
189
191
192
193
193
194
195
190
184
179
173
167
163
160
158
161
161
155
146
140
134
127
121
117
114
112
110
105
101
94
85
79
71
64
62
64
64
66
67
69
68
60
51
46
44
44
45
46
44
46
47
47
50
51
53
53
56
56
56
56
56
53
51
49
45
46
46
43
46
47
47
45
45
45
45
47
52
54
56
55
55
54
55
57
59
63
66
70
72
72
73
75
77
79
82
89
98
103
104
103
99
95
92
89
89
93
98
102
104
107
110
106
99
93
85
82
83
85
91
102
113
125
137
145
150
152
151
151
150
146
142
142
150
163
173
180
184
186
190
193
198
206
203
194
190
186
189
192
194
191
185
178
175
178
185
185
187
192
197
194
188
180
176
173
171
167
172
177
180
183
178
174
170
164
160
158
160
167
175
179
179
180
179
178
178
176
172
169
164
159
156
152
149
149
150
152
156
160
162
163
163
161
159
156
153
151
148
144
141
138
137
135
134
133
131
130
129
127
127
125
122
118
117
115
114
113
114
114
114
113
111
109
107
106
102
99
97
95
96
96
96
96
96
97
97
97
96
95
93
90
87
83
79
74
59
207
211
180
184
176
171
161
155
145
143
143
148
155
163
170
182
191
195
198
201
202
197
193
185
181
178
174
172
173
174
175
177
179
180
177
171
165
163
166
169
171
172
172
175
176
176
177
179
181
183
184
181
177
173
166
158
153
150
148
150
150
143
132
125
119
113
108
104
102
100
98
94
90
84
77
71
64
57
55
57
57
58
59
60
60
55
47
45
41
41
42
42
41
41
42
44
47
49
53
54
55
56
56
53
54
50
49
47
45
44
44
42
45
46
44
46
45
45
45
47
52
54
55
55
55
55
56
59
59
62
65
67
70
72
74
76
78
82
86
93
102
107
107
104
98
92
89
86
86
89
92
97
100
103
105
104
99
95
87
85
86
88
94
103
113
126
138
149
156
159
158
156
156
153
149
151
156
165
170
175
177
177
180
186
192
201
201
198
197
193
195
197
196
191
182
174
169
174
182
184
184
188
191
190
185
180
180
176
176
172
176
180
182
185
179
176
171
167
163
161
163
171
180
183
181
181
180
179
179
178
175
171
166
160
155
151
149
150
152
156
160
164
166
167
167
163
160
157
153
151
148
143
140
137
137
137
136
136
133
131
130
127
127
125
122
120
119
116
115
115
115
115
114
113
111
110
109
108
104
102
99
99
97
97
98
100
99
98
99
99
98
98
96
93
89
86
82
79
63
209
212
181
185
177
172
161
150
139
136
135
136
142
147
155
166
178
183
186
189
187
181
175
168
163
160
157
155
158
161
161
165
167
166
164
159
154
152
153
154
155
156
157
159
160
159
159
161
165
171
172
171
170
168
161
150
142
138
136
137
138
130
118
109
103
99
95
93
91
87
85
81
77
71
67
63
57
51
50
51
51
52
53
55
54
49
44
42
41
41
41
41
39
38
39
42
45
47
51
51
52
55
54
53
50
50
48
47
45
46
44
42
44
45
45
46
48
47
49
50
53
55
56
57
57
57
58
60
60
63
66
68
70
72
74
77
80
85
88
94
102
106
105
101
94
89
89
87
87
90
92
94
96
99
103
102
100
98
91
89
89
90
93
101
108
120
133
147
157
161
160
159
159
161
159
162
166
168
170
170
168
166
168
174
180
191
197
199
203
200
203
200
197
191
180
172
168
172
177
181
182
184
185
185
183
179
179
178
178
176
180
183
184
186
179
178
173
169
166
164
166
177
185
187
184
183
181
181
180
179
176
172
166
160
156
152
150
151
154
160
164
168
168
169
168
164
160
156
152
150
147
142
139
136
136
135
134
134
132
130
128
126
126
124
121
120
119
117
115
115
114
114
113
112
111
109
107
108
106
104
101
100
101
100
99
102
101
100
101
100
97
98
96
92
89
86
84
80
65
210
214
184
186
179
170
160
150
138
131
127
126
130
132
139
152
164
172
174
178
174
168
158
147
142
141
138
139
144
147
149
152
154
153
152
148
143
141
139
138
138
140
142
144
144
143
140
142
149
156
161
162
163
164
155
141
131
124
124
127
127
118
104
94
88
84
82
80
78
75
70
67
62
58
54
52
48
45
45
45
46
46
47
47
47
44
42
42
42
43
43
43
38
36
37
40
43
47
49
50
51
53
50
49
47
47
49
48
47
46
44
43
42
43
43
45
48
51
53
53
55
56
57
57
56
57
58
59
61
62
64
67
69
73
75
78
82
86
91
97
103
106
105
99
91
86
86
88
90
90
91
91
91
94
98
99
100
100
98
95
93
90
91
96
102
112
128
146
159
165
164
161
163
166
171
175
174
171
167
164
159
155
154
161
169
182
192
201
209
209
207
202
196
188
178
171
166
170
177
178
176
177
177
178
178
181
182
180
183
181
185
186
186
185
181
178
175
171
170
170
173
182
189
190
187
185
181
181
183
183
180
176
168
161
157
152
149
151
155
163
168
171
173
172
168
164
158
153
150
148
144
141
138
137
137
136
136
135
133
130
127
126
125
123
121
120
118
117
115
113
112
111
110
109
109
110
108
108
107
106
105
105
103
102
101
102
103
103
102
102
100
98
95
92
87
85
85
81
67
208
216
182
185
177
168
159
149
138
125
120
119
119
121
128
140
150
158
162
166
161
154
143
130
126
124
122
124
128
134
137
139
140
142
140
136
131
127
125
122
122
125
128
129
128
126
123
124
133
140
147
151
152
155
146
131
120
113
112
115
115
105
92
81
75
72
71
70
67
64
60
57
53
49
45
44
42
40
41
41
42
43
43
42
41
40
39
39
40
42
44
43
40
36
37
41
44
49
51
51
54
53
49
48
47
49
49
51
49
47
45
44
43
45
44
46
49
54
56
56
56
57
57
57
56
57
58
58
60
62
64
66
69
73
76
79
84
87
92
97
102
106
105
98
90
86
86
90
92
91
91
91
92
94
96
99
101
102
104
101
95
90
88
92
97
106
123
144
158
166
166
165
167
172
179
182
180
174
167
160
155
149
147
155
163
177
190
200
211
214
210
205
197
190
181
173
169
172
178
175
174
172
172
173
176
181
184
184
185
186
188
188
188
186
184
180
177
174
174
174
177
183
190
191
189
186
181
182
186
185
182
179
170
163
158
153
150
153
157
164
169
171
173
171
166
162
155
150
148
146
143
140
138
137
137
136
136
135
134
131
128
127
125
124
122
121
119
118
117
116
114
114
113
111
111
110
111
112
110
108
108
109
106
104
104
104
104
104
102
104
102
99
94
92
89
87
86
84
72
209
215
181
184
177
167
158
148
137
124
120
116
114
115
120
130
138
144
146
151
144
138
129
118
115
112
109
111
117
122
124
127
128
129
128
124
120
118
114
110
110
112
115
116
115
113
109
110
119
127
133
137
139
142
133
119
108
101
100
103
104
96
84
75
69
67
65
64
61
58
54
52
49
46
43
42
41
40
40
40
41
42
43
42
41
39
40
38
40
42
44
44
42
39
40
44
48
54
56
53
56
53
50
49
48
49
52
53
52
50
48
47
46
45
45
47
50
55
57
56
57
57
57
57
57
57
57
58
59
61
63
65
70
74
77
81
86
89
94
98
101
103
102
96
89
86
88
92
95
94
94
95
96
98
100
102
105
106
107
102
96
91
89
92
95
104
120
140
155
163
168
171
173
177
182
185
183
175
168
161
156
151
148
157
165
178
189
199
209
212
208
203
198
192
185
177
173
174
178
176
176
173
172
173
176
181
184
185
186
187
188
189
189
187
185
183
180
177
175
174
177
183
188
190
189
188
185
185
187
186
182
180
171
164
159
155
152
155
159
166
170
169
170
168
162
157
151
147
145
143
141
138
136
135
136
135
135
134
133
131
129
128
126
125
124
124
122
121
121
120
120
118
116
115
115
114
115
115
115
113
113
112
109
106
104
104
105
103
104
104
103
102
99
96
92
92
91
88
76
211
213
182
183
174
166
156
146
134
125
119
114
110
110
113
119
126
131
132
135
129
123
116
105
103
99
96
100
105
110
113
115
116
117
116
112
109
106
102
98
98
100
102
103
101
100
97
97
105
113
120
124
125
128
120
106
96
88
86
90
92
85
75
67
62
61
60
58
57
55
50
48
46
43
41
40
38
38
39
39
40
41
42
42
41
40
38
38
39
42
43
46
44
42
44
47
52
59
59
56
56
55
52
50
50
53
55
55
57
54
52
51
49
47
46
48
52
57
59
58
56
56
57
56
55
56
57
58
58
60
64
66
70
75
80
84
88
91
95
97
100
101
100
94
87
86
88
94
97
98
99
100
101
104
106
108
109
110
111
105
99
93
89
90
92
102
118
137
152
163
170
176
181
184
186
187
185
178
170
165
159
155
152
160
167
179
188
197
206
209
206
203
199
192
188
182
178
177
178
179
176
174
173
174
178
182
184
185
184
186
187
189
189
189
186
186
183
180
178
176
178
182
187
189
190
189
188
188
189
186
182
179
171
165
160
157
155
158
162
166
168
168
168
165
159
153
147
144
142
141
139
137
134
134
134
133
133
133
133
131
130
129
128
127
126
127
126
126
125
124
124
124
123
123
123
122
122
123
120
118
117
116
111
109
107
106
104
105
103
105
103
104
102
100
96
95
95
94
81
212
214
182
183
173
165
154
144
134
122
118
110
107
105
106
109
113
115
114
117
111
105
98
90
88
84
83
86
92
95
97
100
102
102
102
99
95
92
89
85
84
85
88
89
87
86
82
82
90
97
102
106
108
112
105
92
82
75
74
78
81
74
65
59
56
55
55
53
52
50
47
45
44
41
40
40
38
37
38
38
39
40
41
41
40
38
39
37
39
42
43
46
46
45
47
51
57
64
64
62
61
60
55
53
52
55
58
60
61
58
56
55
52
49
47
50
54
57
59
58
58
58
56
55
54
55
56
57
57
59
62
67
71
76
82
86
90
93
97
98
99
100
99
93
88
87
89
95
99
101
103
105
107
109
111
113
113
113
113
107
100
94
90
91
93
102
118
137
152
163
171
180
185
188
189
187
185
178
172
167
163
160
159
165
170
180
190
196
202
205
203
204
201
197
191
190
187
183
181
181
178
175
174
175
179
182
184
185
185
184
186
188
189
188
188
189
186
184
181
178
179
183
186
188
189
191
191
190
189
185
182
178
170
164
161
159
158
161
163
167
168
165
164
161
155
150
144
140
140
140
139
136
134
134
133
133
134
135
134
132
131
130
129
129
130
130
130
130
129
128
129
129
128
128
128
128
129
129
127
123
121
118
113
111
108
106
106
104
104
105
106
104
103
104
101
102
102
101
87
216
212
181
182
172
164
154
144
132
122
117
110
104
102
101
101
100
102
101
102
98
92
85
78
76
74
73
75
79
82
84
87
89
90
90
87
83
81
78
74
73
75
76
77
75
73
69
68
76
84
89
93
95
99
92
80
72
65
64
69
72
66
58
53
51
50
50
49
48
47
45
43
42
40
39
39
38
37
38
39
38
39
40
40
38
39
38
37
38
41
44
44
46
47
50
54
61
69
69
66
63
63
58
57
54
57
60
63
64
63
60
59
55
51
48
51
55
58
60
59
57
56
56
55
54
53
54
54
56
58
63
68
72
78
84
88
92
95
97
97
98
99
97
93
89
88
90
96
100
102
103
105
107
109
111
113
113
112
112
105
99
94
91
93
96
105
121
141
156
166
174
180
184
186
187
185
182
177
172
169
167
164
164
170
175
183
190
196
201
206
205
205
203
201
197
197
195
190
185
183
182
178
176
176
180
182
182
185
183
184
185
187
188
189
189
189
188
187
184
181
181
183
185
187
188
190
191
189
188
185
181
176
170
164
162
161
160
163
165
168
168
163
162
159
153
148
142
139
140
140
140
138
136
135
135
135
136
137
136
135
134
133
132
132
133
132
132
133
133
132
132
132
131
131
131
131
131
132
130
126
123
120
115
112
110
109
107
105
105
106
107
108
106
107
107
107
105
104
91
215
211
179
181
174
163
153
144
133
124
118
110
103
99
97
94
91
91
90
90
87
83
77
71
71
69
68
69
71
73
76
78
80
82
81
78
75
73
70
67
66
67
68
68
66
65
61
60
68
74
79
82
85
88
82
71
63
57
57
61
64
60
54
50
47
47
47
46
46
45
43
42
41
39
38
37
38
38
37
37
37
38
38
38
39
38
37
36
37
40
42
45
47
50
53
59
64
72
73
68
67
63
59
56
55
59
63
66
67
65
63
62
58
54
50
52
56
59
61
60
58
57
56
55
54
54
55
55
56
60
64
69
73
80
86
90
92
96
98
97
98
98
96
93
91
91
93
96
99
101
102
102
103
105
106
107
108
109
108
104
100
95
94
98
103
114
131
151
165
173
177
179
181
180
180
180
179
175
173
171
171
172
173
179
183
189
194
197
202
206
206
205
205
204
204
205
203
196
188
188
184
181
179
179
180
183
182
184
181
181
183
185
186
189
190
192
192
190
187
184
182
183
184
185
186
189
190
188
187
182
177
174
168
164
162
162
162
164
166
169
169
163
160
156
150
147
142
139
141
143
144
141
139
138
139
140
139
139
140
139
137
136
137
136
135
136
137
137
136
135
135
134
133
131
130
130
129
131
129
127
125
122
117
114
112
111
109
109
108
109
110
112
110
108
108
109
105
106
92
213
211
180
180
172
162
153
144
133
124
118
108
100
96
92
86
82
79
76
77
73
69
66
61
63
60
58
58
60
61
64
67
69
71
70
67
64
62
60
56
55
56
57
56
55
53
48
47
55
61
66
68
71
75
69
58
51
47
47
53
56
52
47
43
41
41
42
42
41
41
40
40
39
37
36
37
37
36
37
38
38
37
38
39
38
37
35
35
36
39
41
45
49
52
57
63
71
78
80
73
71
68
61
58
57
61
65
69
71
70
68
67
61
56
52
54
57
60
60
60
59
58
57
56
54
55
55
55
56
61
66
70
75
82
87
92
95
98
100
98
97
97
95
93
93
93
95
98
98
98
98
98
98
98
98
100
102
104
104
103
100
97
97
105
111
123
140
161
175
181
181
177
175
173
174
175
175
172
173
175
178
179
182
187
190
194
199
199
204
206
205
207
211
212
213
214
213
204
194
191
189
184
182
182
182
184
184
182
180
179
181
183
185
188
190
194
193
193
190
186
183
182
182
183
184
187
187
186
185
180
175
173
168
164
163
163
164
166
167
171
171
163
159
154
149
146
142
141
143
145
147
146
143
143
143
144
144
144
144
143
141
140
141
140
140
140
140
139
138
137
136
135
134
132
131
130
130
129
128
126
126
124
120
115
113
110
110
110
111
112
114
114
111
110
112
111
107
108
94
216
211
179
181
174
163
151
143
133
125
119
108
101
95
88
81
75
71
69
66
63
60
60
58
56
54
52
52
53
55
57
59
61
61
60
60
57
55
53
50
49
48
50
49
47
44
41
41
46
51
55
59
61
64
59
50
44
40
41
47
51
47
42
41
39
38
39
39
39
38
38
38
38
37
36
36
36
37
36
36
36
36
37
38
36
36
37
37
37
39
41
45
50
55
60
66
72
82
82
78
75
71
65
62
59
62
67
71
73
71
69
68
62
57
54
55
58
61
63
61
59
59
57
55
54
55
56
57
58
63
68
72
77
82
88
93
95
97
98
97
96
96
96
95
94
95
98
99
100
99
96
95
96
95
96
97
99
101
104
103
101
100
103
110
116
129
147
167
179
184
181
177
173
171
171
171
172
173
176
179
183
186
190
193
194
196
198
199
202
202
205
209
212
214
216
220
218
209
200
197
192
189
188
185
185
185
183
184
179
176
177
181
183
187
191
194
197
196
192
188
186
184
183
182
184
186
186
185
182
178
177
173
169
166
165
166
167
166
167
171
168
161
157
153
147
145
141
141
146
149
151
149
147
146
146
147
148
148
147
146
145
144
143
142
143
143
142
141
140
138
138
136
132
130
129
128
128
127
126
127
127
124
120
117
114
115
113
113
114
115
115
115
115
112
112
113
110
109
97
217
212
180
183
173
164
153
143
134
124
118
107
101
94
88
78
71
68
65
62
59
58
57
58
55
52
50
50
50
49
51
53
54
56
56
55
54
53
49
46
45
46
47
46
44
40
38
38
42
48
51
53
56
58
55
47
41
38
38
44
47
45
41
40
39
39
40
41
40
40
40
40
39
38
38
37
36
37
37
37
37
37
36
36
36
37
37
36
37
39
40
44
50
55
61
67
74
85
84
80
79
73
70
65
62
66
70
74
75
74
71
69
64
59
56
57
59
63
65
63
60
59
57
55
55
56
58
59
63
67
71
75
80
84
89
94
95
96
98
98
98
98
98
97
97
98
99
100
99
98
96
93
92
93
94
97
100
103
106
108
107
106
109
116
122
133
149
167
177
182
180
176
173
171
171
171
173
176
180
184
188
192
196
198
198
196
197
199
197
198
203
206
210
211
214
219
220
212
204
201
196
193
191
189
190
189
184
183
177
173
176
179
180
185
190
195
199
198
194
191
189
186
184
184
185
187
188
187
184
181
179
175
171
169
169
170
169
168
167
168
164
158
153
151
146
143
141
141
146
149
150
150
149
148
149
150
151
151
150
150
149
148
146
145
146
145
144
143
141
139
138
135
130
128
127
125
124
124
125
126
126
124
122
119
119
119
119
118
119
121
121
120
119
117
113
113
111
108
96
217
213
181
184
174
165
154
143
134
122
116
106
101
92
85
76
68
64
61
59
56
57
58
58
56
54
51
49
47
46
46
48
49
51
50
50
50
49
46
43
42
43
44
43
42
39
35
35
39
43
46
48
50
52
50
44
38
37
38
43
47
44
41
39
38
39
40
41
40
39
40
40
39
39
38
38
37
36
37
37
37
37
37
37
37
37
36
36
37
39
40
44
49
55
62
68
76
89
87
84
82
76
72
68
65
69
73
76
76
75
73
70
65
60
57
58
60
64
66
64
61
60
57
56
56
57
60
62
67
71
75
79
82
86
90
93
95
96
97
98
98
99
98
99
100
101
101
101
100
97
94
91
90
90
93
97
102
106
110
112
111
112
115
121
126
135
148
164
175
180
178
177
174
172
171
173
175
178
183
189
193
197
201
200
199
197
197
197
194
195
199
202
206
209
212
218
218
213
208
205
202
199
195
193
194
192
187
184
177
173
175
177
177
183
189
197
200
199
196
193
191
187
185
183
186
189
190
189
187
184
181
179
174
172
172
172
171
169
167
166
161
155
150
148
143
141
140
142
146
148
151
152
151
151
152
153
154
154
153
153
152
151
150
149
149
147
146
144
142
140
137
134
129
127
125
124
123
122
123
124
125
125
123
122
121
121
122
124
123
124
125
123
121
119
114
114
110
108
96
217
214
182
185
174
164
154
144
132
121
116
108
101
93
86
75
66
62
59
57
54
56
57
57
55
54
51
48
46
44
44
45
46
46
47
47
46
46
44
42
41
41
41
41
40
37
33
33
36
40
43
45
46
48
45
40
36
34
36
41
45
43
41
39
39
39
39
39
39
39
39
38
38
39
38
38
37
36
37
37
35
36
36
36
36
36
37
37
38
40
41
45
50
56
63
69
77
90
88
84
84
78
75
71
68
70
74
75
77
74
71
69
66
61
58
58
61
65
67
65
61
59
57
56
58
59
63
65
71
75
79
83
86
87
90
92
95
95
97
97
98
100
101
101
102
103
102
101
101
98
95
92
91
92
94
98
103
108
113
115
116
117
121
126
130
136
149
162
172
178
179
179
178
176
173
175
176
181
188
192
196
200
203
201
199
196
195
194
192
193
197
201
205
208
211
216
218
211
208
208
205
203
200
196
196
193
191
186
177
174
174
174
178
183
191
198
202
201
198
196
193
189
186
184
186
188
189
190
187
184
183
180
178
175
175
174
172
168
166
163
159
153
147
145
143
142
143
144
148
150
152
152
152
152
153
155
157
156
155
155
154
153
152
151
151
149
148
146
144
140
137
134
129
127
125
123
121
121
122
124
125
126
125
124
126
127
127
128
129
130
129
127
123
120
115
115
112
109
96
217
215
183
186
175
165
155
144
133
120
115
107
100
92
84
74
64
61
58
55
53
55
58
57
55
53
50
47
45
42
40
42
44
45
45
45
44
44
42
42
41
41
41
40
39
36
34
34
36
39
42
43
45
46
44
39
36
33
35
40
42
42
41
40
40
41
41
41
41
41
40
40
39
39
38
38
37
36
37
37
37
36
37
38
38
37
38
38
40
43
42
46
51
56
63
70
78
90
90
89
88
82
80
75
72
75
77
78
77
75
72
70
67
63
60
60
63
67
68
66
61
59
56
58
59
60
66
70
76
80
84
88
90
91
92
93
93
94
96
96
99
101
102
103
105
106
105
104
102
99
96
93
92
93
95
99
104
109
114
119
120
121
124
130
134
141
152
164
173
179
182
184
184
182
179
179
181
183
190
193
195
199
202
199
197
193
191
192
190
192
196
202
205
207
210
214
213
211
208
209
207
205
202
198
197
197
192
188
181
175
175
175
178
184
190
198
203
203
200
198
195
191
187
185
184
185
185
185
183
183
182
179
177
176
175
174
170
167
164
161
156
152
149
148
147
148
148
150
153
155
157
155
152
151
152
154
155
155
155
155
154
153
153
152
151
150
149
147
144
141
138
135
130
128
126
124
123
122
123
125
126
126
127
127
128
129
130
130
130
132
132
129
125
122
116
116
113
110
97
216
216
186
187
177
166
156
145
131
119
114
106
97
90
83
73
63
59
56
54
54
55
58
59
56
52
50
45
43
40
38
40
42
42
43
44
43
42
41
40
40
40
40
39
38
36
34
34
36
38
40
42
43
44
42
38
35
34
34
38
41
41
40
40
41
42
42
42
42
41
41
41
39
39
38
37
37
37
36
35
36
36
37
38
38
38
39
40
41
43
44
47
52
56
62
69
78
92
91
91
90
85
83
80
76
76
79
80
80
78
74
71
68
64
62
64
65
68
69
67
61
59
56
58
60
64
70
75
81
85
89
92
94
93
92
93
94
94
95
97
100
102
104
106
109
109
108
106
103
100
97
94
93
94
96
101
106
112
118
121
124
126
129
134
138
144
155
166
174
182
186
190
192
190
185
183
185
186
190
192
194
196
198
195
193
190
189
189
190
193
196
203
205
208
208
209
210
209
209
208
205
205
203
200
201
200
196
191
184
178
177
177
178
184
190
199
204
204
202
200
197
191
188
186
183
180
179
177
178
179
179
177
177
176
175
173
169
166
164
160
156
154
153
151
153
155
158
161
162
163
163
159
154
151
151
152
154
154
153
154
154
153
152
153
152
151
150
148
145
143
140
136
131
129
127
125
123
123
125
126
128
129
128
128
127
128
130
130
131
131
133
130
127
123
119
117
114
111
100
217
217
186
189
179
168
157
146
131
118
111
105
96
92
83
70
62
56
54
52
52
54
57
57
55
53
50
45
42
39
38
39
39
40
41
42
41
40
39
39
39
39
39
39
38
36
34
34
36
38
41
41
42
42
40
37
35
34
34
37
39
40
41
41
41
42
41
40
41
41
41
40
39
38
38
37
36
35
35
35
36
37
38
39
41
40
41
42
43
45
47
50
53
57
63
69
76
90
90
90
92
87
84
81
78
78
79
81
79
77
74
72
70
67
65
67
68
70
70
68
62
59
57
59
61
66
74
79
86
89
93
95
96
94
92
92
94
94
95
97
101
104
106
108
111
111
110
108
105
102
99
96
94
96
99
104
109
115
121
124
127
128
132
137
142
148
157
168
176
183
190
196
200
196
191
189
189
188
190
191
192
193
195
193
190
187
187
190
192
196
201
204
207
206
206
206
205
205
208
207
204
203
203
201
203
203
201
195
188
182
181
182
182
186
191
201
205
207
203
202
199
194
190
186
182
177
173
173
175
177
177
177
177
176
175
171
167
164
161
157
154
154
156
156
159
163
166
169
169
169
168
162
155
150
150
152
153
154
155
155
155
154
153
154
153
152
151
149
147
145
140
136
133
130
128
127
126
125
127
128
131
130
129
127
129
128
132
132
133
133
134
131
128
124
120
118
114
113
102
217
218
189
191
181
170
159
147
132
118
113
104
98
90
83
72
63
58
55
53
52
53
56
56
52
52
48
45
40
37
37
38
39
39
41
41
40
39
39
40
40
40
40
39
39
37
35
35
37
38
41
42
42
41
39
36
35
34
34
36
38
39
40
41
40
40
40
39
39
39
40
39
39
38
38
37
36
35
36
35
36
37
39
40
41
42
43
44
45
48
50
53
56
59
64
70
78
91
93
93
94
90
89
86
81
82
81
83
81
81
76
74
72
69
67
69
70
71
70
68
61
59
57
60
63
68
76
83
91
94
97
100
100
95
93
93
93
94
95
97
102
106
108
109
110
111
112
110
107
105
102
99
98
100
103
107
112
117
122
128
131
132
136
142
146
152
160
169
178
186
192
199
204
200
195
191
191
190
190
190
190
191
192
190
189
187
187
192
195
199
204
206
207
208
206
205
202
202
206
206
204
203
201
201
204
205
202
200
190
186
185
184
184
189
194
202
206
208
205
203
201
195
191
187
182
176
172
171
173
175
177
179
178
177
174
170
165
161
159
155
152
155
158
158
163
167
170
172
172
172
169
163
154
150
149
151
153
154
155
156
157
156
155
154
153
152
151
149
145
143
140
136
132
130
129
127
126
126
128
129
130
131
129
128
129
130
130
130
131
131
131
129
126
124
121
118
116
116
102
217
219
191
192
182
172
160
148
132
122
115
105
100
91
84
73
64
59
55
52
51
52
54
53
50
48
46
42
39
37
35
37
40
40
39
39
39
39
40
41
41
39
39
39
39
38
36
37
38
39
40
40
40
40
38
37
35
34
35
36
37
39
40
41
41
41
40
40
40
39
39
38
38
37
37
36
34
35
36
36
35
37
39
40
42
43
45
47
49
52
55
58
61
61
65
71
77
91
93
90
94
93
88
86
83
83
85
86
83
83
79
77
74
72
72
72
72
72
71
69
62
60
59
63
66
73
80
87
94
96
99
101
102
97
94
93
94
93
94
97
103
107
109
108
109
108
108
109
109
107
104
104
106
106
109
113
118
122
127
132
135
137
142
146
149
155
163
172
180
185
191
199
204
202
197
193
192
191
190
192
192
192
192
192
192
191
193
197
201
205
208
211
210
208
205
200
198
198
202
201
202
200
199
201
202
206
206
202
197
192
190
191
189
193
197
202
207
209
206
204
202
196
192
188
183
177
173
172
174
177
179
179
179
179
175
171
166
162
158
152
152
156
158
162
166
169
172
173
173
171
168
163
156
152
152
154
157
158
157
159
159
157
156
155
154
152
150
147
146
144
139
136
133
130
129
128
127
127
130
132
132
132
129
127
126
127
127
127
127
126
126
126
124
122
120
116
114
114
102
217
219
194
192
183
173
161
150
133
124
116
108
101
94
85
74
64
57
55
51
50
51
51
50
49
46
45
42
39
37
35
37
39
39
40
39
38
38
39
40
41
40
39
39
38
38
39
38
40
41
41
41
41
40
38
37
36
35
35
36
37
38
39
40
40
40
39
38
39
39
38
38
37
37
36
35
34
35
36
36
35
37
39
41
43
45
47
49
52
55
59
63
62
63
66
72
79
91
94
90
94
94
89
90
85
86
86
88
85
83
81
79
77
75
74
73
72
72
72
70
65
61
61
65
69
74
83
90
98
100
102
103
104
98
93
93
94
94
95
98
104
108
109
109
107
106
107
110
112
111
109
109
111
112
114
119
123
127
132
136
139
141
144
148
151
157
164
175
182
188
194
201
206
203
199
194
193
191
190
190
190
190
190
191
193
194
197
202
207
212
213
213
212
209
203
198
193
194
199
199
198
199
197
198
203
207
208
204
201
197
195
195
194
196
201
205
209
209
207
206
203
197
192
189
184
178
174
174
176
179
181
182
183
181
176
170
165
161
157
151
151
155
157
162
167
170
173
173
171
170
167
161
155
153
154
156
159
160
159
161
161
159
157
156
155
154
151
148
146
143
139
135
132
130
130
130
130
128
131
131
131
131
128
126
125
123
124
122
122
123
124
123
120
120
119
117
114
115
102
218
220
193
193
183
175
161
151
135
124
117
108
102
95
86
75
65
59
56
51
49
48
49
48
47
45
43
41
39
37
36
37
38
39
39
39
37
38
39
40
40
41
40
39
40
40
40
39
40
42
41
40
41
40
39
38
37
36
37
37
36
37
38
39
38
39
38
37
38
38
37
36
37
36
36
35
34
35
36
36
35
38
40
41
44
46
48
50
54
59
63
66
68
66
69
74
81
92
94
91
95
94
90
93
86
86
90
91
89
87
85
83
81
78
77
76
74
75
73
71
66
63
64
67
72
77
83
91
100
103
104
105
105
99
94
94
95
95
96
99
104
108
110
109
105
106
107
110
113
113
112
114
116
118
121
126
129
132
135
139
141
143
146
150
154
160
168
177
184
190
195
202
206
204
200
195
193
191
191
191
191
191
191
193
195
197
202
208
213
217
216
215
215
208
200
192
189
191
197
195
196
196
195
197
203
208
210
207
205
202
200
201
198
201
204
207
211
210
207
206
203
199
194
189
185
179
176
176
177
180
181
182
183
181
176
169
164
159
155
151
151
157
159
164
169
172
174
175
171
168
164
160
156
155
157
159
161
161
162
162
162
160
159
157
154
152
149
147
145
141
138
134
132
130
130
130
130
129
132
133
133
131
128
124
123
122
120
119
119
120
120
121
118
117
118
115
113
115
102
220
219
192
192
183
173
160
151
137
126
119
111
104
95
87
77
67
59
57
52
50
49
48
47
45
45
43
41
40
38
37
38
39
38
38
38
38
39
40
41
42
41
40
39
40
41
40
40
41
43
42
41
40
39
39
38
38
37
38
37
36
36
37
37
38
38
37
36
36
36
37
36
36
36
35
36
36
36
36
35
36
38
40
42
45
47
50
52
56
62
68
72
73
71
73
77
84
93
94
91
93
92
89
90
86
89
92
93
94
91
89
88
85
82
80
79
77
75
74
72
67
65
67
70
74
79
85
93
100
101
103
104
104
100
96
96
96
97
98
101
105
108
110
112
113
114
114
117
119
119
118
119
120
121
123
127
129
131
135
139
141
143
146
151
155
161
169
176
183
189
194
200
205
203
200
199
198
197
195
195
196
196
196
198
200
202
206
212
217
217
216
215
212
205
196
188
186
190
198
195
195
195
195
197
203
209
212
209
208
208
205
204
202
203
206
209
211
209
207
205
203
199
196
192
186
180
175
175
175
176
177
178
178
176
174
169
162
158
156
152
152
160
164
169
174
177
180
179
173
169
165
162
160
161
162
164
166
166
165
166
165
162
160
156
153
152
149
145
141
137
133
132
130
129
129
129
128
128
133
134
134
132
129
125
120
120
121
118
118
118
119
120
117
116
116
116
113
113
101
218
218
191
191
182
172
158
151
138
129
121
113
105
97
90
79
69
63
59
54
51
50
48
46
45
45
44
42
41
40
39
40
40
40
40
40
39
40
41
42
43
42
41
39
40
41
42
43
43
44
43
42
40
39
40
40
40
39
38
38
37
36
37
38
37
37
36
36
36
37
37
36
36
37
37
36
35
35
35
36
36
39
41
42
45
47
51
54
58
64
71
75
77
77
77
81
86
93
93
91
89
88
87
86
87
90
93
95
97
95
95
93
90
85
83
81
79
76
74
72
69
67
69
73
76
81
87
91
97
99
102
103
103
100
98
99
100
99
100
101
105
108
112
117
123
124
126
127
127
126
125
124
124
123
124
126
128
129
132
135
138
141
145
149
154
161
169
175
182
187
192
198
200
201
201
202
202
203
202
202
202
203
203
205
206
207
210
214
218
217
213
212
208
201
193
185
184
188
201
197
196
195
195
197
204
210
213
212
212
210
210
207
204
205
208
210
211
209
206
205
203
200
197
195
188
179
173
171
170
172
172
171
172
171
169
166
162
160
157
154
156
164
169
175
180
182
185
183
175
171
167
165
166
167
169
170
171
171
170
169
166
163
160
155
151
148
145
143
137
132
129
127
127
126
126
127
128
128
134
136
136
134
130
126
123
122
120
119
119
119
119
120
117
116
116
116
112
114
101
217
219
191
191
183
171
157
150
140
130
123
114
106
96
90
80
71
62
60
55
52
50
47
46
45
46
45
44
43
42
42
41
41
41
41
41
41
41
41
42
43
42
40
39
39
40
42
43
43
43
42
41
40
40
40
39
40
40
39
38
37
37
38
37
38
38
37
36
36
36
36
36
37
38
38
37
36
37
37
37
35
38
41
42
45
47
51
55
58
65
74
80
80
79
81
84
88
93
93
88
88
86
85
84
84
90
94
97
100
100
97
100
93
88
85
83
80
76
74
73
70
71
72
75
78
83
86
90
96
98
100
102
102
101
100
101
103
102
103
103
105
108
112
118
124
127
130
130
130
129
127
127
126
126
125
126
127
129
132
135
138
141
145
150
156
161
168
176
181
186
190
193
196
198
200
201
203
204
206
206
206
207
207
208
208
210
212
217
218
217
214
210
206
198
192
185
183
189
201
199
198
196
194
197
204
210
213
212
215
214
211
209
206
207
209
209
211
208
206
205
203
201
199
196
188
179
173
169
168
169
169
169
168
168
167
164
160
159
159
156
159
167
173
178
182
184
187
184
174
170
166
165
169
172
173
175
176
175
172
171
169
164
159
154
149
146
144
140
135
131
127
125
125
124
125
127
129
129
134
135
136
135
131
127
124
123
122
121
121
121
121
120
118
117
117
117
113
115
102
218
218
190
190
182
170
157
149
140
130
123
113
104
97
88
79
71
63
60
56
52
50
48
46
45
46
46
45
44
45
43
41
40
39
40
40
39
40
41
42
42
41
39
38
38
39
41
42
42
42
41
40
39
38
38
39
40
40
38
37
36
36
37
37
38
38
37
36
36
37
38
37
38
39
39
39
38
38
37
37
35
38
40
42
44
46
50
54
58
67
77
81
83
83
83
86
89
93
93
87
84
85
84
83
81
89
94
98
104
102
100
103
97
91
87
85
80
76
74
73
72
72
74
77
80
83
86
89
95
97
98
100
102
102
103
104
105
104
104
105
106
108
111
117
123
128
131
130
129
129
128
127
127
127
126
128
131
133
137
140
142
145
149
154
157
162
168
176
180
182
184
187
189
193
197
199
202
205
207
208
208
208
209
208
211
211
214
216
217
216
214
209
206
203
197
194
192
196
205
205
203
198
195
197
204
210
213
214
217
216
214
210
207
207
209
208
210
207
205
204
203
202
201
195
189
180
175
171
169
167
167
167
166
166
165
162
160
160
160
157
160
169
175
180
182
183
186
182
172
166
162
163
170
174
174
176
177
176
174
172
168
162
158
152
148
145
141
137
134
131
125
123
123
124
125
128
130
132
135
136
138
138
135
131
129
129
128
127
127
125
125
125
122
119
119
119
117
115
103
218
217
189
187
179
168
153
147
139
130
123
114
104
95
87
78
70
65
61
57
53
51
50
47
46
45
45
45
46
45
43
41
40
38
39
39
38
39
40
41
41
40
38
36
37
38
39
41
40
41
40
39
38
38
37
38
39
39
38
37
37
37
37
37
39
39
38
36
37
37
38
38
40
40
39
38
39
38
38
37
35
38
40
41
43
46
50
54
61
71
79
85
84
84
85
88
93
94
93
88
82
82
80
79
77
88
95
101
107
105
103
106
100
93
88
85
80
76
74
75
75
76
77
79
81
83
86
89
92
94
96
97
101
102
104
106
106
106
108
108
107
106
109
114
119
123
125
124
123
123
123
124
125
126
128
131
134
137
143
148
149
151
155
158
161
164
170
174
177
179
179
180
182
185
190
195
199
205
209
209
208
207
208
209
209
212
211
213
215
214
212
213
211
207
207
205
202
203
212
210
206
203
198
198
203
209
211
214
216
215
212
209
206
206
208
205
206
205
204
203
202
200
200
198
192
184
178
174
170
166
164
164
164
163
163
162
160
161
162
161
163
171
176
180
181
182
183
179
169
164
160
160
168
173
173
174
175
174
172
171
167
162
157
151
145
142
138
134
130
129
126
124
124
124
127
130
133
135
137
139
141
142
139
135
132
132
132
131
131
130
131
129
125
124
123
121
118
118
103
218
217
188
189
178
165
154
145
137
131
124
113
104
95
88
79
71
64
62
59
55
52
51
46
48
48
48
47
47
45
44
42
38
37
37
37
37
39
39
40
40
39
37
35
34
36
38
39
40
39
38
37
36
35
36
38
39
39
37
35
34
36
38
39
39
40
39
38
39
40
41
41
41
42
42
41
39
39
39
39
38
38
40
42
43
46
49
51
58
69
81
87
88
87
88
90
91
95
90
86
81
77
77
76
76
86
95
104
108
109
108
107
102
95
90
87
80
74
73
73
75
76
78
80
82
84
83
85
89
91
94
96
99
103
107
110
110
110
109
108
108
106
106
110
112
115
118
118
119
120
120
122
125
127
130
136
142
145
150
154
157
160
162
163
166
167
168
172
172
172
171
170
170
177
184
190
197
202
206
209
208
207
209
207
208
209
210
211
213
212
214
213
213
214
215
215
215
216
220
216
214
205
199
200
206
210
214
212
216
217
214
210
206
204
206
206
204
205
203
202
201
202
202
200
194
187
182
177
171
166
164
162
162
162
161
160
162
162
162
162
164
172
179
182
184
184
183
178
166
157
154
158
167
174
175
176
176
175
172
169
165
160
154
149
144
141
136
132
128
127
125
125
127
127
128
132
134
136
140
143
146
146
145
141
140
140
139
139
138
137
136
135
131
128
125
122
122
118
110
220
217
187
190
179
167
157
148
139
132
125
114
105
97
90
81
72
66
64
62
55
53
51
46
48
49
47
45
45
44
43
42
40
38
38
37
37
38
39
40
40
38
36
35
35
37
38
39
38
39
38
37
36
35
37
38
39
39
37
35
34
35
38
39
39
39
39
40
39
39
40
39
40
41
41
40
39
38
39
39
37
37
39
42
43
47
51
53
61
71
83
87
90
91
92
92
94
98
92
89
82
76
78
76
80
86
95
102
106
109
110
111
104
97
92
88
83
77
75
76
78
78
78
79
80
82
84
86
89
92
95
97
100
102
105
109
110
112
111
110
108
105
105
108
111
114
115
115
116
117
118
120
123
125
129
136
143
147
152
157
161
164
166
166
168
171
170
170
170
169
169
169
170
176
183
192
197
202
207
210
209
207
208
209
210
210
211
211
209
211
214
216
217
218
218
219
220
220
220
217
214
206
201
201
207
211
213
213
215
215
211
208
204
203
204
204
202
203
202
201
201
201
201
198
193
187
182
177
172
167
165
163
164
164
163
163
164
164
163
163
165
171
177
180
181
181
181
176
165
157
155
159
168
174
175
175
175
174
171
168
164
159
153
147
142
139
134
129
125
124
123
123
125
126
128
131
135
138
141
143
146
146
144
142
141
141
141
141
141
139
138
137
134
131
126
126
125
119
113
220
218
190
192
182
174
164
155
145
133
128
118
109
102
96
86
77
71
68
64
58
55
52
47
48
47
45
43
43
42
42
41
40
41
40
38
37
38
39
39
39
37
36
35
36
37
38
39
38
37
38
37
36
36
37
38
39
39
38
37
36
37
38
38
40
41
40
40
41
40
39
38
38
39
39
39
39
39
38
37
35
36
39
42
45
49
57
60
67
77
85
88
90
92
93
94
98
103
98
92
86
80
83
84
87
90
96
100
104
107
111
114
106
98
94
90
84
79
78
78
80
81
80
77
77
79
84
89
92
95
97
99
101
101
102
105
111
114
115
113
109
105
105
109
112
115
114
111
110
111
112
115
120
124
129
136
142
146
153
159
162
167
170
172
172
172
172
170
169
169
171
171
173
179
186
194
199
204
207
208
209
210
210
211
210
208
208
209
207
209
211
215
218
219
218
221
222
221
218
214
214
209
203
203
209
211
213
211
213
212
207
204
199
197
198
200
200
201
200
202
203
203
202
199
193
187
181
177
172
168
166
167
169
169
169
169
168
167
165
165
165
168
173
175
178
179
178
172
164
158
156
160
169
174
174
173
172
171
168
165
160
155
150
145
140
136
131
126
123
122
120
122
124
126
129
133
137
140
140
141
144
143
142
140
140
139
141
141
141
140
140
139
136
132
132
128
128
125
116
221
220
192
195
186
179
171
159
151
141
134
126
116
110
103
93
85
79
74
69
61
58
54
46
46
45
44
41
40
41
42
41
42
42
41
39
38
37
37
38
38
37
36
37
36
37
38
37
37
37
38
38
38
38
37
38
39
39
39
38
37
38
39
38
40
41
42
43
42
40
38
37
36
36
36
37
39
38
37
35
35
36
40
42
45
53
62
67
75
80
88
90
91
95
95
97
102
109
104
100
94
88
93
95
98
98
97
97
100
105
110
115
108
102
97
94
87
83
82
83
84
84
82
76
73
77
84
91
98
99
100
101
103
101
99
102
111
118
121
118
112
106
106
110
114
116
113
108
105
105
108
111
116
121
127
134
140
146
153
159
165
172
175
176
175
174
173
171
170
171
173
175
179
185
192
196
201
205
206
209
209
210
212
213
211
210
207
206
205
207
210
215
217
220
220
221
222
220
215
212
213
209
206
208
211
212
213
210
211
207
203
200
195
192
192
194
195
198
201
203
204
204
203
201
194
187
181
176
172
169
169
170
172
173
173
173
172
170
169
166
165
167
169
171
173
175
175
170
163
159
157
160
167
172
172
169
167
165
162
158
154
148
144
140
136
133
128
125
123
122
120
122
125
127
130
133
136
137
139
139
139
138
137
137
137
138
138
138
139
139
139
140
138
136
135
133
132
129
121
222
222
192
197
190
183
176
167
157
145
140
133
124
118
111
101
92
84
78
73
64
61
56
49
48
45
43
40
38
40
41
42
43
44
42
40
38
37
36
36
37
38
37
37
38
38
38
38
37
37
37
38
38
37
38
39
39
39
39
39
39
39
39
38
40
41
42
43
42
40
38
37
36
35
34
36
37
38
36
33
34
36
40
43
46
56
66
71
78
84
86
88
92
95
97
99
106
112
108
104
99
94
100
102
107
104
99
98
99
105
111
116
110
105
100
97
91
87
85
86
87
86
82
76
70
74
83
93
102
102
103
104
103
100
97
99
112
120
124
121
114
108
108
112
116
118
114
107
102
102
106
110
114
120
127
134
140
146
153
160
167
174
179
179
178
176
175
172
171
172
177
181
185
190
196
200
204
204
206
208
210
211
215
214
212
211
209
206
205
207
209
214
216
217
219
219
220
218
214
211
213
211
208
210
212
212
212
209
207
204
200
197
191
190
189
192
193
197
200
204
205
205
205
202
195
187
179
176
173
170
169
171
174
176
176
176
175
174
171
165
164
165
167
168
170
172
173
170
163
159
157
160
167
171
170
167
164
161
158
154
150
145
141
137
135
132
129
126
124
123
122
124
126
128
131
135
137
138
139
138
137
136
135
136
137
137
137
138
139
140
140
141
140
138
138
134
135
131
123
223
223
194
200
193
186
179
172
163
152
146
139
133
126
120
109
100
91
85
78
69
64
59
51
50
47
45
42
40
39
41
42
41
41
41
40
38
37
36
36
36
38
37
37
37
37
37
37
37
37
38
39
39
39
39
39
39
39
38
39
40
39
39
38
39
41
43
44
42
40
38
37
35
34
34
36
37
38
37
35
33
36
40
43
46
57
68
73
80
84
85
87
92
96
98
101
106
112
110
107
101
98
102
105
111
108
104
102
103
107
114
118
112
106
101
97
94
90
88
87
90
88
84
78
73
76
84
94
103
104
104
105
104
101
98
102
114
122
127
124
117
110
110
115
119
120
115
106
99
101
107
111
116
122
127
134
140
146
152
161
169
176
181
182
180
179
178
174
172
175
181
188
191
196
200
203
205
205
206
208
209
211
215
214
213
212
211
209
207
208
209
215
216
216
216
215
214
215
215
211
213
211
208
208
211
210
210
207
207
202
198
196
193
191
191
193
196
198
202
204
205
204
203
202
194
184
177
174
172
171
172
173
175
177
177
176
175
174
171
166
164
165
166
167
168
170
170
168
163
161
158
159
165
167
167
164
160
157
153
150
147
144
141
139
137
135
133
131
130
129
128
130
132
134
135
138
141
142
142
140
139
138
138
139
139
139
139
140
141
142
143
141
141
139
138
136
136
133
123
223
224
196
204
195
190
186
179
171
163
159
152
147
142
134
124
114
103
95
86
76
71
65
55
54
50
47
44
42
41
41
40
41
40
39
40
39
37
38
37
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
38
39
40
39
38
38
39
40
42
43
42
40
38
37
36
35
35
37
38
39
38
37
34
36
42
44
48
58
69
74
80
81
84
87
92
98
99
102
106
112
110
108
104
103
110
112
120
117
112
111
111
116
120
123
113
108
103
99
97
96
95
93
94
92
87
80
76
79
86
95
102
104
105
106
106
104
102
106
116
124
129
127
122
117
116
120
122
122
116
106
100
103
109
115
120
124
129
135
141
146
152
162
171
179
185
185
184
183
182
180
180
184
190
196
200
203
207
208
207
208
207
207
208
210
212
213
214
214
213
212
209
210
211
214
214
212
208
206
205
209
215
212
213
209
206
206
208
206
207
204
205
201
198
197
195
196
197
199
200
202
205
206
207
205
203
199
192
182
175
172
173
173
173
174
177
177
176
175
174
172
170
168
166
167
168
168
168
167
168
166
162
160
158
158
161
160
159
156
153
150
147
144
144
143
143
141
142
144
143
143
144
143
142
144
145
144
144
147
148
148
146
145
144
143
145
144
146
146
146
147
147
146
145
144
142
140
138
135
134
130
122
222
226
200
205
199
194
189
184
178
175
170
165
162
157
149
140
130
115
106
96
84
76
69
58
57
53
50
47
44
42
40
40
39
38
38
38
38
39
38
38
38
38
38
38
38
38
38
39
39
39
39
39
39
39
39
39
39
38
37
39
40
38
37
38
38
40
42
44
42
40
38
38
36
36
37
38
38
38
38
39
37
39
44
46
49
59
70
74
80
82
82
86
92
96
100
103
106
113
109
108
107
109
118
121
127
124
122
121
119
121
123
125
116
111
105
102
101
102
101
99
96
95
90
83
80
83
89
95
102
104
106
107
109
107
106
110
120
127
132
131
128
122
121
123
125
124
117
107
101
104
110
118
123
126
130
136
142
147
153
164
173
181
188
188
187
186
185
186
187
191
199
206
210
212
214
211
211
209
207
206
207
208
211
214
213
216
216
215
213
211
212
213
209
206
204
197
196
205
216
214
214
209
205
204
204
203
202
201
201
200
198
198
197
199
201
205
205
207
209
209
210
207
204
197
188
179
172
171
172
174
175
176
178
177
175
174
173
171
169
169
167
168
168
167
166
166
166
165
161
160
158
156
157
156
152
148
144
142
139
136
137
138
141
143
144
149
151
154
157
158
157
158
157
154
152
153
152
151
150
149
148
148
149
150
150
150
150
151
150
149
147
145
142
140
137
132
133
130
121
220
226
204
207
202
201
193
189
187
185
182
176
170
163
155
141
129
113
104
92
81
73
67
61
59
56
54
52
52
50
47
43
42
39
37
39
40
39
40
40
39
39
40
40
39
40
39
38
39
39
38
38
39
39
39
39
39
39
39
38
39
38
38
39
39
40
41
41
41
40
38
37
37
36
37
38
39
40
40
39
38
40
43
46
50
60
69
74
78
79
81
85
91
98
104
104
108
108
110
111
112
113
119
123
128
127
129
129
129
131
132
131
122
113
108
107
105
106
103
99
98
95
91
87
85
87
92
97
104
104
106
107
109
110
111
115
124
127
132
132
129
126
126
128
128
125
118
110
104
107
113
120
126
130
134
139
144
150
154
163
173
183
190
192
190
189
190
191
194
197
202
208
212
214
216
215
213
208
206
206
207
209
210
211
214
215
215
215
216
215
213
214
212
208
201
197
195
201
212
214
213
210
206
202
203
201
199
201
199
199
201
199
200
201
204
206
207
208
208
208
206
203
200
194
187
178
172
172
174
177
179
178
178
178
177
174
172
170
169
169
170
170
169
168
167
165
165
163
160
160
159
156
154
153
150
149
150
148
147
146
147
150
151
153
155
156
157
159
161
160
159
158
154
153
152
151
151
150
151
151
150
150
149
151
150
150
150
150
149
147
144
142
140
137
134
129
129
130
117
224
228
208
209
204
204
195
195
195
197
194
186
177
166
157
140
126
108
98
84
75
68
63
57
57
57
57
56
54
53
49
47
43
40
38
40
41
40
41
41
40
41
41
41
40
39
39
38
39
39
38
38
39
39
39
39
38
38
39
39
38
37
37
38
39
40
41
42
41
40
39
38
37
36
37
38
39
39
39
40
38
40
43
46
50
60
69
74
80
79
81
86
92
101
105
106
105
106
109
110
112
115
121
125
129
132
132
133
133
134
134
133
125
116
112
110
108
107
104
100
98
95
90
87
85
87
93
97
102
103
105
107
109
112
114
117
123
127
132
132
128
126
126
127
128
126
119
110
105
108
116
123
129
133
136
141
146
149
154
165
176
185
192
194
193
193
194
196
198
200
205
210
213
214
215
215
213
209
205
205
206
208
209
212
215
218
218
218
218
218
217
216
214
209
204
198
197
203
212
212
211
208
203
200
199
199
198
200
198
200
201
201
201
203
205
207
208
208
206
205
203
199
196
191
185
178
172
173
177
180
182
182
180
179
178
174
171
170
171
171
170
170
171
170
167
164
162
160
159
158
157
154
152
150
149
151
153
153
154
156
158
161
161
163
164
163
161
162
161
159
157
155
152
150
149
149
148
147
149
150
149
150
151
151
150
149
148
147
146
144
141
139
137
134
132
129
126
129
114
222
232
211
210
206
207
201
203
205
203
199
191
180
169
158
139
122
103
94
78
70
65
62
61
60
62
63
61
59
58
55
50
46
42
39
41
42
40
41
42
41
40
41
41
41
40
39
39
38
39
38
38
39
39
39
38
37
37
38
38
37
38
37
38
38
39
40
41
41
40
39
38
38
38
38
39
40
41
40
40
38
41
43
46
50
59
68
73
78
78
80
85
93
100
105
106
103
104
106
112
116
119
123
126
130
135
138
141
143
143
140
139
130
122
117
114
111
110
107
103
98
94
91
89
88
90
93
98
102
103
105
108
111
115
117
119
125
128
131
131
128
126
127
128
130
128
122
113
108
111
119
127
133
136
139
143
148
152
156
166
177
186
194
196
195
196
197
199
203
206
209
214
216
215
216
216
213
208
205
204
205
206
208
212
214
218
219
219
219
219
218
217
216
211
206
200
197
203
211
209
208
205
201
199
198
198
198
197
197
198
200
200
201
202
203
207
207
205
204
202
200
195
191
188
183
178
175
174
180
183
185
185
183
182
179
175
173
173
173
173
173
173
172
171
168
165
162
160
160
160
159
154
152
150
150
153
156
158
161
165
169
171
173
174
174
172
169
167
164
161
157
153
151
149
149
148
147
148
148
148
149
151
151
150
148
147
145
144
143
141
138
136
134
131
129
125
123
127
114
221
231
213
214
209
210
206
209
209
215
207
196
184
172
158
138
121
104
94
79
72
68
66
66
68
73
73
72
70
66
61
54
48
44
41
41
43
42
42
42
40
40
40
40
40
41
40
40
39
38
39
39
39
39
39
38
37
38
37
37
38
38
37
38
38
39
40
40
41
40
39
39
38
37
38
39
40
41
41
40
39
41
44
47
50
59
68
72
78
77
79
83
92
100
103
105
102
102
105
110
117
121
124
125
127
134
141
146
148
148
146
146
137
129
123
120
115
113
109
105
96
94
91
92
92
93
97
100
102
103
105
108
112
116
119
123
127
128
130
130
129
127
128
131
132
131
125
115
111
115
124
132
137
140
142
146
150
154
158
166
176
185
193
195
196
198
201
204
206
209
211
215
217
218
218
216
214
210
205
205
206
206
208
209
212
214
217
217
217
217
216
218
217
213
208
203
201
204
211
210
209
206
203
201
200
200
199
202
201
202
205
204
204
206
207
205
204
203
202
200
197
194
191
187
183
179
176
177
183
188
189
188
187
185
181
177
173
172
173
174
173
172
173
171
168
164
162
161
160
160
157
154
153
152
155
160
164
168
171
175
179
180
182
180
179
176
172
168
163
160
154
151
149
147
146
147
147
145
147
148
149
149
148
147
145
144
142
140
138
136
133
132
130
127
124
124
121
125
111
220
232
215
217
213
214
209
211
212
210
203
192
180
167
155
136
120
105
99
87
84
87
88
89
92
94
97
95
87
81
73
63
53
44
40
41
44
42
42
42
42
42
42
42
41
40
40
39
40
39
38
39
39
39
39
38
37
38
38
38
37
37
38
39
38
39
40
41
40
40
39
38
39
39
38
39
40
41
41
40
39
42
44
46
50
58
66
70
75
76
79
85
93
101
104
104
103
101
103
109
117
121
122
122
120
130
137
144
150
149
147
148
142
134
129
125
119
114
109
103
95
92
89
92
94
95
97
99
103
104
106
109
113
118
123
125
127
127
128
128
127
127
128
131
133
132
128
120
117
120
127
134
139
142
145
149
153
156
160
167
175
184
192
195
197
199
203
205
208
210
212
215
217
217
218
217
214
209
206
206
206
207
209
208
209
211
214
213
215
214
215
218
218
216
210
207
205
208
214
214
212
211
207
205
205
205
204
207
206
208
209
209
209
207
206
206
205
203
201
199
196
193
191
187
185
181
179
182
187
190
192
191
189
187
183
179
176
174
174
174
174
175
174
172
168
165
161
158
156
155
153
153
156
158
161
165
169
172
174
176
178
178
178
176
175
171
167
163
160
156
152
149
146
144
144
144
144
143
146
146
145
145
144
142
140
138
136
133
132
130
127
126
125
123
122
120
119
123
110
221
233
217
219
216
218
212
213
209
210
202
191
177
163
151
134
121
110
104
100
97
103
106
110
112
117
118
111
100
92
83
66
54
46
42
43
44
43
42
42
41
42
42
42
42
41
40
41
40
40
39
38
39
39
39
38
37
38
38
37
36
37
38
38
38
39
40
41
40
40
39
38
39
39
38
39
40
41
40
40
39
42
44
46
50
56
64
68
73
76
79
86
93
100
103
103
102
100
102
109
117
120
118
118
114
127
137
143
152
152
152
154
147
138
134
128
121
114
108
102
93
90
89
92
95
97
98
100
103
105
109
111
115
120
125
127
126
125
125
126
126
127
129
131
134
133
129
124
120
124
130
135
141
145
148
153
157
160
162
168
175
182
189
194
197
201
205
207
209
210
211
213
214
214
215
216
215
212
207
206
206
206
208
208
208
209
210
211
210
213
215
216
219
218
215
213
210
212
217
217
217
214
212
211
212
212
210
211
212
212
212
212
211
209
206
209
206
202
200
198
195
192
191
189
188
186
183
184
190
194
195
194
192
188
185
181
178
176
176
177
176
176
177
176
172
168
163
159
156
153
154
159
166
171
171
171
174
174
174
175
174
173
174
173
169
167
165
161
158
156
151
149
147
146
146
146
145
145
144
143
141
140
138
135
133
132
129
126
123
123
120
119
119
118
117
118
120
122
109
221
235
218
221
218
221
215
215
210
205
197
184
169
155
143
127
114
108
108
108
115
124
131
136
140
143
142
132
117
105
95
78
60
47
43
43
45
44
43
42
42
41
41
41
42
42
41
40
40
39
39
38
38
38
39
38
37
38
38
37
36
37
38
39
39
39
40
41
40
39
38
39
39
39
38
39
40
41
40
38
39
41
43
44
47
54
61
63
71
74
79
86
92
97
101
101
98
97
101
109
118
120
115
111
110
122
133
140
151
154
155
161
152
145
140
135
125
116
109
103
94
89
89
93
97
99
100
102
104
106
109
112
117
123
128
130
128
126
124
126
127
128
130
133
135
135
133
130
128
130
134
139
144
149
153
158
162
162
163
169
174
180
186
192
198
202
206
207
208
209
209
212
213
214
216
218
216
213
208
208
207
205
205
205
204
203
204
206
205
207
210
214
218
219
218
217
217
217
220
220
220
219
218
218
218
218
217
221
222
222
220
218
217
214
211
207
203
199
197
195
192
191
191
190
191
189
186
189
193
196
196
195
194
192
188
184
180
178
178
178
177
177
178
177
174
170
166
162
157
153
154
161
171
178
180
180
181
180
179
179
177
175
173
169
166
163
160
157
154
152
149
147
145
145
145
144
144
143
140
138
136
133
132
128
126
126
123
120
117
116
115
114
115
115
117
118
117
119
108
220
236
220
221
220
222
217
215
212
203
198
190
178
170
164
155
144
142
141
140
142
144
146
149
151
145
144
130
112
101
89
72
57
48
43
44
46
44
44
43
42
41
42
42
41
42
41
40
41
40
40
39
39
39
39
38
37
38
38
37
36
37
38
39
40
39
40
41
40
39
38
39
39
39
38
39
39
39
40
39
38
40
42
43
45
53
59
62
68
72
78
84
90
95
98
99
96
96
100
109
119
120
113
107
100
115
125
134
145
151
155
161
158
150
145
138
128
119
111
104
95
91
90
95
100
101
103
104
104
106
111
115
119
126
132
133
129
127
126
127
128
130
133
135
136
137
136
135
134
135
139
142
147
152
155
160
163
163
164
169
173
177
184
190
197
202
206
205
207
209
208
210
213
215
218
219
218
213
209
207
206
204
204
202
199
200
200
199
199
202
205
211
216
218
218
218
218
217
219
221
221
221
220
220
221
221
220
218
220
220
217
215
213
209
206
202
199
195
193
192
190
191
192
192
192
190
188
190
195
198
197
197
195
193
190
186
181
179
179
178
178
178
179
178
175
171
166
159
154
150
151
159
169
176
178
178
177
176
175
174
172
169
167
164
160
158
155
151
147
146
144
142
140
140
140
139
139
138
135
135
133
132
129
127
124
121
119
115
114
114
113
113
114
116
114
115
116
120
107
220
236
220
225
224
221
220
218
208
202
198
193
187
180
174
169
166
166
163
164
164
162
163
159
153
149
140
123
106
95
84
69
57
49
44
43
42
43
42
43
43
42
42
42
41
41
40
40
40
40
39
38
38
39
38
37
38
37
36
37
36
37
38
39
40
40
40
40
39
38
39
39
39
39
40
40
40
39
37
37
39
39
41
42
45
48
55
58
63
72
77
81
88
94
95
96
94
97
101
110
121
122
110
102
93
109
121
131
142
149
155
162
156
150
147
141
131
122
114
108
96
91
91
98
101
103
104
105
106
109
112
116
121
126
132
134
130
128
126
127
130
133
133
134
137
137
137
138
139
140
141
146
148
153
161
165
166
167
166
171
176
176
181
187
194
203
205
203
202
204
208
213
215
215
217
217
215
212
209
207
204
201
199
200
197
195
195
195
193
196
202
206
213
217
218
217
218
219
220
222
222
221
221
220
220
218
219
219
217
218
217
214
210
207
202
199
195
193
191
190
189
190
190
191
191
192
193
194
193
193
193
192
192
192
189
186
184
181
179
179
177
179
181
178
175
172
169
163
155
150
150
156
167
175
175
174
173
173
172
171
171
168
164
160
156
153
149
145
142
139
136
135
134
132
133
135
134
133
133
131
129
128
127
126
124
123
122
119
117
117
115
115
114
116
112
119
115
120
106
222
237
219
228
223
224
219
216
205
199
198
197
195
197
196
194
194
195
194
192
189
183
177
166
154
140
130
113
95
84
76
64
57
52
47
45
46
45
43
43
44
45
45
45
45
44
44
43
42
40
39
38
39
39
38
37
38
37
37
36
36
37
38
39
40
39
38
38
38
39
39
39
38
37
38
38
38
38
38
37
35
37
39
41
43
47
53
56
63
71
78
80
84
88
90
90
95
98
98
104
116
117
107
99
84
99
110
121
134
147
155
164
163
157
153
146
135
125
118
112
102
96
96
102
104
106
106
104
105
107
112
117
123
131
138
138
131
128
126
128
132
134
136
137
139
140
141
143
145
146
148
149
151
157
167
172
173
173
170
168
169
170
176
185
194
203
205
200
197
199
205
210
213
215
218
218
216
212
208
204
201
200
198
194
191
189
188
187
186
188
196
198
204
211
214
217
221
222
226
221
220
219
218
218
217
216
215
218
216
215
213
208
205
201
196
191
187
185
183
182
181
183
184
188
190
194
196
197
195
195
195
197
197
195
193
192
190
186
184
181
178
180
182
180
177
174
171
164
153
145
143
150
161
169
171
172
172
172
171
172
170
164
160
155
150
147
142
136
133
129
128
129
128
127
127
127
127
126
126
125
124
124
125
124
122
121
120
118
116
116
115
114
114
113
120
111
113
126
107
217
239
222
227
227
227
221
218
212
203
204
205
205
206
210
211
212
214
214
211
203
194
184
168
154
146
130
109
91
80
71
62
56
52
48
46
45
45
42
41
42
42
42
42
41
41
41
40
41
41
40
39
38
39
38
37
38
37
36
37
36
37
38
39
40
40
39
38
39
39
39
39
38
38
39
39
39
38
37
37
35
35
38
40
42
45
50
52
57
66
73
77
81
85
88
90
91
98
102
107
119
119
104
92
81
93
103
114
131
143
153
162
160
155
152
146
137
129
123
116
103
98
98
102
105
105
104
104
106
109
113
116
122
128
135
138
135
131
129
131
135
138
139
138
138
141
142
145
148
148
147
149
152
159
168
173
173
171
169
167
168
167
172
181
189
197
198
196
194
195
201
208
212
213
215
215
213
208
204
200
198
196
195
192
191
187
186
184
183
186
193
203
208
213
215
220
221
219
221
222
221
219
219
220
219
218
216
213
211
209
207
202
199
196
191
188
185
181
181
179
180
182
183
186
191
196
198
197
195
193
192
191
193
193
192
191
189
185
183
180
177
177
180
180
178
175
172
165
154
145
142
149
159
167
168
167
169
169
168
167
165
160
157
155
150
145
141
136
132
131
122
119
121
122
123
125
126
126
127
127
126
127
128
129
128
126
125
123
122
122
122
121
121
122
118
119
118
121
106
221
240
222
227
227
230
225
223
219
213
213
212
212
211
212
214
212
208
208
207
197
188
183
167
149
136
119
100
88
78
69
63
58
55
51
48
47
47
46
45
45
43
44
43
43
42
41
42
41
40
40
39
38
39
38
37
38
38
37
36
36
37
38
39
39
38
39
39
39
39
39
39
39
39
39
39
38
37
36
36
35
36
37
39
41
43
46
48
52
61
69
74
76
78
81
85
88
95
100
105
116
116
100
86
74
88
98
108
123
136
145
155
163
158
156
150
140
131
124
116
106
101
100
103
104
104
103
102
99
103
108
113
118
125
133
136
131
127
125
127
131
134
135
135
136
139
142
148
152
153
153
153
156
162
170
174
174
173
171
169
167
165
170
180
190
199
200
198
197
198
202
208
212
211
210
207
204
200
196
194
193
192
190
191
191
189
187
184
184
188
195
198
206
211
216
221
222
220
222
222
218
215
212
210
207
205
202
202
200
199
199
196
196
192
187
182
178
176
174
172
174
178
179
184
188
195
196
195
192
189
189
190
191
191
191
192
191
188
184
179
176
176
178
178
175
171
170
165
152
143
139
141
148
154
158
160
161
161
161
162
162
160
155
150
144
139
132
126
122
119
118
119
120
121
124
126
128
129
129
129
129
129
131
132
134
133
136
134
133
131
127
125
122
119
117
122
122
118
112
220
239
218
224
224
226
221
222
220
218
216
215
213
214
214
214
213
209
208
203
193
184
174
158
141
134
116
98
86
76
70
65
62
57
53
48
45
44
43
43
43
44
43
42
43
42
41
42
41
40
39
38
38
38
37
37
37
36
36
36
36
37
37
38
38
37
37
37
37
38
39
38
39
39
39
38
37
36
35
33
33
35
36
38
40
41
44
45
53
61
68
70
72
73
76
79
87
95
98
102
110
112
100
87
70
84
91
101
115
129
144
157
158
154
153
150
143
137
130
122
114
108
104
104
104
103
103
101
99
103
108
110
115
122
130
133
131
128
127
129
135
138
139
139
141
143
145
149
153
154
153
156
160
166
175
179
179
176
173
173
172
168
170
178
187
196
198
192
190
193
198
205
207
206
202
201
198
193
189
186
187
188
188
188
189
189
186
185
183
189
195
198
204
213
217
223
223
222
220
220
217
212
208
205
203
198
195
193
191
190
189
189
189
187
183
181
177
174
172
170
171
174
176
178
185
193
197
194
190
186
186
189
190
191
192
192
190
189
185
179
176
176
178
176
173
170
167
160
148
140
135
135
142
146
148
151
154
155
156
157
158
155
151
145
138
132
125
120
117
116
112
111
113
116
117
119
121
122
127
127
128
130
133
136
138
139
141
138
138
136
132
130
128
124
129
118
121
127
121
216
241
224
228
225
229
225
226
225
223
222
219
217
215
214
213
213
207
206
201
192
182
172
155
138
128
111
91
80
72
66
65
64
60
55
50
47
45
43
42
43
43
43
43
42
42
41
41
42
41
40
40
40
40
40
39
38
37
38
38
38
37
38
38
39
39
39
39
39
38
38
38
40
40
39
38
37
36
34
34
34
34
36
38
40
44
46
47
48
55
62
66
69
72
76
82
83
92
98
103
111
109
95
85
75
85
90
97
110
127
142
156
154
152
152
149
143
138
132
124
114
109
105
103
101
100
99
97
97
102
106
111
117
124
131
133
127
126
126
129
134
138
139
139
140
142
145
149
154
154
155
156
158
166
175
181
179
176
172
170
169
167
169
177
185
195
197
192
190
193
199
206
209
208
205
203
199
191
185
182
184
187
190
190
191
190
190
189
189
191
197
205
210
214
220
226
224
221
222
217
214
210
205
201
196
192
189
190
189
186
185
185
186
184
180
178
175
173
171
169
170
172
173
175
184
194
199
199
194
187
185
189
190
191
193
192
191
189
185
179
175
176
177
176
173
170
169
163
150
141
136
136
140
145
147
148
153
158
161
161
160
156
150
145
138
130
123
118
116
114
109
110
113
116
120
125
129
132
132
131
131
134
137
141
146
147
147
146
144
142
138
136
133
130
133
122
134
128
116
219
233
223
228
223
226
223
225
224
221
220
219
216
213
212
211
209
201
198
191
181
169
158
143
128
107
96
78
64
53
45
41
39
33
31
27
23
21
22
22
22
21
21
22
21
20
21
20
18
17
16
16
16
16
16
16
15
15
15
15
15
15
15
16
15
15
15
15
16
16
16
16
16
16
16
15
14
14
13
13
12
12
14
15
15
18
19
19
30
36
40
44
48
51
54
58
68
76
81
87
93
88
76
68
47
59
65
75
94
112
126
139
148
144
142
137
129
125
119
110
94
90
89
87
86
84
84
81
77
81
87
93
99
106
113
115
114
112
113
114
117
121
122
122
125
129
132
138
142
146
148
153
157
161
169
172
170
168
166
159
157
157
161
168
177
186
189
187
186
187
192
195
198
198
195
190
185
180
175
173
175
177
180
180
181
182
181
181
181
183
185
197
203
209
212
218
219
219
219
214
210
206
200
193
187
183
180
177
176
177
177
175
177
175
172
166
164
163
162
160
161
163
164
171
175
183
187
187
183
177
177
181
183
184
185
184
184
183
179
171
169
170
170
169
166
165
161
151
141
134
128
123
124
125
132
139
143
146
148
148
146
144
140
134
128
121
113
106
101
98
96
98
100
104
108
113
116
119
123
123
124
126
129
131
133
134
142
140
138
134
128
124
121
116
115
112
119
108
111
213
255
249
255
252
255
253
255
255
254
254
254
253
254
254
254
254
255
255
255
255
255
255
255
251
255
254
251
251
252
253
252
254
255
253
253
252
252
253
252
252
254
254
253
253
253
252
252
252
253
252
252
252
252
252
252
253
253
252
252
252
253
253
253
253
252
252
253
253
253
253
253
253
253
252
252
252
252
252
253
253
253
252
252
252
252
253
253
249
252
254
253
253
253
252
254
252
253
253
252
255
255
252
252
254
255
253
252
255
254
252
253
253
252
254
254
253
255
255
252
255
253
253
253
253
253
253
252
254
254
254
252
252
252
253
255
254
254
254
253
253
255
255
255
255
255
255
255
255
253
252
251
250
251
253
254
253
253
253
255
255
253
252
252
251
254
253
253
252
252
254
255
255
255
252
255
255
253
253
253
253
253
252
253
254
254
254
254
254
253
255
252
254
253
253
255
254
252
251
252
253
253
253
254
253
252
253
253
252
253
252
253
254
254
251
255
253
254
253
251
252
254
254
252
253
254
255
255
254
254
252
251
253
253
254
255
254
253
252
253
250
252
253
251
250
250
252
251
249
251
252
252
253
255
252
250
251
250
250
252
254
253
252
250
250
251
252
251
252
251
252
252
252
251
252
252
252
252
251
250
251
252
253
254
254
254
251
252
252
253
252
253
254
251
251
249
253
254
249
255
224
203
205
201
202
198
200
197
196
197
199
203
203
203
202
201
203
202
203
203
202
205
204
200
196
193
192
192
192
192
194
197
199
198
196
195
195
197
199
198
196
194
192
190
189
187
186
186
187
188
189
189
191
192
191
188
186
187
188
188
187
187
186
188
189
190
189
184
176
168
162
153
148
144
142
141
140
146
153
170
180
189
197
202
199
193
192
187
183
181
167
157
139
129
122
119
113
115
116
117
118
115
118
118
119
121
124
126
128
131
133
139
140
142
143
145
148
146
145
139
137
137
139
141
142
142
142
141
140
138
139
139
140
142
143
144
145
145
144
140
136
133
131
129
128
127
126
127
129
132
133
133
132
130
127
125
124
122
118
115
113
114
115
118
123
122
119
118
118
117
116
115
115
116
116
116
118
119
120
121
123
124
124
124
123
122
122
120
118
118
120
119
118
120
120
120
122
124
126
125
123
119
119
117
117
117
117
121
126
139
152
161
173
177
183
185
185
183
181
183
189
194
197
196
195
196
196
196
196
199
204
204
205
205
206
209
209
209
209
210
211
212
215
215
216
215
216
218
218
219
217
217
215
216
217
218
219
219
220
221
221
223
226
227
227
227
227
227
228
230
232
232
231
230
230
231
231
224
223
222
222
221
220
220
220
218
217
217
216
214
213
214
214
208
206
205
203
202
241
209
172
176
173
170
168
165
160
168
169
172
175
176
176
174
174
175
176
177
179
178
178
176
172
166
161
157
158
157
159
163
167
167
166
164
161
161
162
164
166
166
163
160
156
152
149
146
147
150
152
155
157
158
157
155
155
156
157
158
156
154
153
152
148
148
148
148
144
134
122
115
107
98
87
79
76
78
90
105
117
134
155
173
179
173
160
155
146
143
140
122
106
81
67
59
48
41
41
43
44
46
44
45
39
42
47
51
56
63
69
72
79
80
82
85
86
87
88
85
78
76
76
78
81
82
82
82
82
78
76
75
76
78
82
84
87
88
88
84
78
71
67
63
59
58
56
55
56
59
63
68
70
67
61
56
51
47
44
43
42
38
40
44
46
50
49
49
48
45
44
43
41
40
41
42
44
46
49
51
53
55
58
58
58
57
55
53
51
50
49
48
48
48
49
49
49
53
56
57
53
50
47
44
42
41
41
44
50
57
77
94
109
127
134
148
150
148
143
141
146
155
164
171
170
169
168
169
169
169
170
173
173
175
177
178
180
180
185
192
193
195
196
196
196
197
195
194
196
197
198
197
196
195
197
201
202
203
204
205
206
207
210
213
214
215
215
215
216
216
214
212
212
212
212
211
211
211
210
210
209
208
207
206
205
205
197
195
193
192
190
190
190
188
185
182
178
176
173
232
213
172
180
181
179
177
177
175
171
172
176
177
178
178
180
177
179
179
181
180
179
181
181
178
173
167
165
165
165
166
170
173
173
170
168
166
164
164
166
167
167
166
163
160
156
153
150
153
159
160
161
163
166
166
163
162
162
161
161
162
161
159
158
157
157
159
156
150
142
131
124
114
104
98
94
88
88
93
104
123
140
160
174
179
172
163
159
147
146
147
131
114
88
74
61
57
45
43
45
46
48
44
44
48
49
51
54
59
65
71
75
80
81
83
85
89
91
91
88
80
79
78
82
85
86
86
85
86
84
80
78
78
82
85
86
89
91
91
86
79
73
69
69
69
68
65
63
64
68
73
75
75
72
67
63
59
57
56
52
48
43
43
46
52
58
56
53
51
49
47
46
45
46
47
47
49
52
55
58
59
61
62
64
63
62
60
58
56
53
52
52
52
52
53
53
54
57
60
66
63
58
55
52
50
49
48
53
55
62
79
95
110
126
134
145
150
152
148
148
152
161
171
171
170
171
173
172
174
176
177
180
182
183
184
185
186
188
188
188
190
192
192
194
195
195
198
200
200
201
202
201
201
201
198
196
197
199
200
201
203
205
204
205
206
207
208
208
209
209
208
207
207
207
207
206
206
206
208
206
205
204
203
202
199
197
202
200
200
199
197
196
194
193
188
187
187
187
175
239
213
170
181
182
180
179
180
179
175
178
178
181
183
181
179
177
178
179
179
180
180
182
181
178
176
173
170
171
172
172
173
175
173
172
170
167
166
164
165
165
166
167
168
166
164
162
161
162
164
165
166
168
170
170
167
163
162
163
164
162
161
161
160
160
161
160
159
156
150
143
140
134
129
125
120
114
108
113
119
131
145
160
174
181
176
168
166
161
162
166
152
136
110
93
82
69
51
47
49
49
50
48
47
44
46
46
49
53
59
66
71
75
76
76
78
83
85
84
83
80
78
80
83
88
88
88
88
90
85
80
76
77
80
83
85
86
88
88
85
78
73
71
70
71
70
66
63
63
66
70
72
71
68
63
58
56
54
53
51
50
47
47
51
55
61
59
53
49
48
48
48
48
49
52
54
56
58
60
62
62
62
60
61
61
59
58
56
54
54
52
56
55
54
56
56
57
59
61
63
62
58
57
54
54
51
50
54
56
59
71
82
91
106
116
129
140
147
151
155
158
164
169
168
170
170
172
173
176
176
177
175
176
178
180
180
182
185
186
188
189
191
194
194
195
197
197
198
199
199
200
200
199
200
199
198
199
201
202
204
206
206
209
211
212
213
214
213
214
215
219
220
220
220
220
220
219
220
214
209
207
207
204
203
202
200
200
198
198
198
196
192
192
190
194
193
188
186
170
241
213
174
182
182
182
185
181
181
180
180
183
184
187
184
182
180
179
178
182
180
180
180
180
178
177
176
175
177
178
177
177
176
174
173
171
169
167
163
161
160
161
165
169
169
167
166
165
166
167
168
168
169
172
171
167
165
165
165
164
163
164
163
163
163
164
164
162
159
157
153
151
151
148
142
133
126
120
121
125
129
142
160
172
181
179
172
169
169
172
177
167
154
128
109
96
74
55
49
50
47
49
45
44
41
41
42
43
48
57
65
71
69
69
72
73
76
79
80
79
81
81
84
89
94
94
94
93
92
87
83
79
78
79
81
83
85
87
86
82
77
72
71
72
73
74
71
67
65
67
70
72
72
69
63
56
53
52
51
50
50
48
49
53
59
64
60
52
48
46
46
47
47
50
53
57
59
62
64
64
63
62
61
59
59
56
55
54
54
53
53
57
57
55
57
57
56
58
58
60
58
57
56
57
56
53
52
54
53
53
62
69
75
90
100
109
123
137
146
156
159
159
161
161
163
167
166
168
171
173
174
176
177
180
182
182
183
185
190
198
198
200
201
203
205
207
205
200
201
201
201
201
201
202
205
208
209
211
212
213
215
216
217
217
218
219
220
220
221
221
217
215
214
214
214
214
214
214
220
220
218
216
217
214
213
211
203
201
198
197
196
196
195
193
182
187
183
192
175
241
213
171
179
180
186
191
184
187
187
187
188
189
189
190
186
183
185
183
184
185
183
184
184
181
181
182
183
183
185
185
182
179
179
178
176
175
173
168
164
164
169
172
176
176
174
172
172
171
171
173
174
175
176
174
170
166
165
165
164
164
163
163
163
165
164
163
164
162
162
160
160
162
163
159
152
143
134
132
135
140
151
162
173
176
176
169
167
172
176
185
176
164
136
116
101
83
59
52
51
49
50
47
45
41
40
40
39
43
51
59
65
69
67
67
67
71
75
78
79
78
80
83
90
94
96
95
94
92
89
83
79
77
79
80
81
83
83
81
76
71
68
66
69
75
75
73
67
65
66
68
68
67
64
58
54
52
51
51
49
49
48
50
57
61
65
61
55
52
49
48
48
48
50
54
57
59
62
65
66
64
63
62
60
58
57
55
55
55
55
55
57
56
56
58
58
56
55
56
57
56
56
58
58
58
56
53
53
54
51
55
58
61
74
83
95
112
123
135
152
156
157
158
157
160
164
167
167
169
170
174
174
176
179
181
181
183
184
184
182
185
188
189
191
194
194
198
200
199
199
200
201
201
201
200
199
200
201
202
203
205
206
207
207
208
209
210
210
210
211
214
215
215
216
215
215
215
216
213
211
208
206
204
205
201
200
203
202
201
200
199
197
196
196
187
192
183
187
170
239
206
174
180
185
187
186
188
187
189
189
189
190
190
188
186
187
188
187
186
185
184
183
182
182
180
180
181
183
185
184
182
180
177
176
176
176
175
173
169
168
172
176
178
178
177
176
176
176
176
175
177
179
178
176
172
169
168
169
169
169
169
169
169
169
167
167
167
167
168
168
165
168
165
160
156
148
142
140
140
144
153
161
171
175
175
175
175
174
177
179
171
154
134
114
103
82
61
55
56
51
51
51
49
45
45
43
44
45
51
58
65
66
65
64
67
70
74
76
77
79
81
86
92
96
97
97
96
94
88
84
79
77
79
81
81
79
79
79
74
65
60
62
68
74
76
73
69
70
70
68
68
66
63
59
54
52
52
51
51
48
47
50
53
58
62
60
55
52
49
50
50
50
51
53
56
58
60
61
61
61
61
62
58
57
56
58
58
58
58
57
60
62
61
58
59
59
57
54
58
58
59
60
59
58
55
54
56
52
52
54
56
60
68
77
86
96
114
124
139
143
154
159
159
162
164
164
166
168
170
171
172
175
176
179
181
183
183
185
184
184
189
191
193
197
200
201
202
200
201
201
199
200
202
203
205
206
206
207
209
210
211
210
210
211
211
213
214
214
216
217
216
216
217
218
218
218
215
217
216
213
212
211
208
207
206
205
203
201
200
197
197
194
190
191
189
189
186
178
236
207
174
185
187
186
188
191
188
190
189
188
188
188
191
189
190
192
192
190
189
187
185
184
183
182
181
182
183
185
184
183
182
181
182
180
178
177
176
175
176
176
178
179
179
177
176
177
178
177
177
178
179
179
177
174
172
172
173
172
171
171
172
172
171
169
168
169
168
167
168
167
165
163
160
156
150
146
145
147
149
154
163
167
172
170
167
169
166
168
167
158
140
119
101
91
80
60
57
59
55
54
51
48
47
48
46
49
52
53
61
67
66
66
68
71
72
74
76
76
80
81
86
91
94
95
94
93
93
89
85
82
80
81
81
80
80
78
75
69
59
53
54
61
71
75
75
74
74
72
69
65
62
61
57
53
51
51
50
49
46
45
47
51
57
63
62
58
56
54
54
54
53
52
54
53
55
57
59
60
61
62
64
63
63
61
63
64
64
64
62
65
65
63
61
59
59
57
54
55
56
57
59
59
57
57
55
58
54
53
56
56
58
63
69
71
78
92
103
120
129
146
155
162
162
160
161
163
168
172
174
174
176
176
178
182
182
181
181
181
182
185
186
189
195
201
204
204
200
199
199
199
201
204
203
204
205
204
206
207
208
210
209
209
212
213
212
213
214
214
216
216
216
216
217
218
217
219
218
217
214
214
213
210
208
207
204
203
202
198
198
197
193
192
191
190
188
189
177
236
211
179
187
190
190
187
192
193
192
190
191
191
191
190
191
192
195
195
194
192
190
188
185
184
184
183
182
183
185
186
185
185
186
184
182
182
182
181
182
182
181
180
179
178
177
177
178
180
180
179
180
179
178
178
177
175
175
176
177
177
175
174
174
174
173
173
171
171
169
168
167
164
161
160
156
153
151
151
152
152
156
161
164
165
166
162
163
164
163
161
148
131
111
95
85
78
61
61
63
61
60
56
53
51
51
50
51
54
58
63
69
70
71
72
73
74
75
76
77
81
82
85
90
93
93
92
93
92
90
88
86
83
80
81
81
80
76
71
63
54
49
49
57
68
74
78
81
81
77
71
63
59
58
56
54
52
52
50
48
45
42
45
48
56
63
63
63
61
58
58
56
55
53
54
53
53
56
58
60
62
64
66
67
67
67
69
69
69
68
67
66
65
63
59
57
56
54
51
56
56
57
58
58
59
56
56
59
55
56
57
58
56
59
63
63
65
76
86
103
117
139
152
160
159
156
156
161
166
173
176
175
175
176
178
179
181
180
179
178
178
179
182
186
194
201
205
205
201
199
197
198
201
202
201
203
204
203
205
206
207
209
210
210
211
211
214
215
215
216
216
217
219
217
217
218
217
218
219
218
218
215
215
212
210
209
208
202
202
200
196
195
196
191
191
190
188
189
178
238
211
181
189
192
190
189
191
194
193
193
190
190
190
194
195
195
196
196
194
193
191
189
186
185
185
184
184
185
186
187
187
187
187
185
183
184
184
185
186
184
182
181
179
178
178
178
178
180
181
181
181
179
179
179
178
179
178
178
178
178
179
178
177
175
174
174
172
171
171
169
168
167
166
161
159
154
152
153
155
154
157
160
160
163
160
161
162
159
158
154
143
128
111
97
90
82
67
66
66
63
62
58
55
50
53
55
55
60
61
65
70
72
72
72
73
74
76
76
78
82
84
86
90
93
93
92
91
91
89
88
86
82
83
82
81
78
75
70
64
56
50
50
57
66
71
76
78
79
76
70
64
60
59
57
54
53
53
52
49
47
46
47
49
55
61
62
60
60
58
59
58
56
56
58
58
58
58
59
60
62
65
66
66
66
66
70
70
69
68
67
66
65
63
61
58
58
57
54
56
57
60
61
61
59
59
57
57
54
53
54
56
56
55
58
59
61
69
79
96
106
125
140
147
150
152
155
159
165
167
169
172
175
177
177
178
178
178
179
180
180
182
183
186
191
195
199
200
200
201
200
199
199
199
200
202
202
203
204
205
206
208
208
209
211
214
213
214
214
215
216
217
219
217
217
218
217
218
218
217
218
216
215
214
211
210
208
206
202
200
196
196
194
194
190
189
191
189
178
238
212
182
193
193
193
189
194
196
191
192
190
191
193
192
194
195
194
194
194
194
193
191
188
187
187
186
187
188
188
188
187
187
187
185
184
183
184
185
185
183
183
182
181
180
181
182
181
182
185
186
186
185
184
183
183
181
181
182
183
182
181
179
178
177
177
175
175
173
173
172
171
170
168
166
163
160
157
155
157
158
157
158
159
159
158
156
157
153
148
147
141
128
115
103
97
90
76
73
68
61
60
52
51
50
55
57
60
66
71
75
79
77
70
68
69
73
76
79
80
83
84
87
90
92
92
91
90
90
89
88
85
83
84
84
83
79
76
73
68
61
55
55
58
62
64
67
70
72
71
69
65
61
60
56
52
51
52
52
51
51
52
52
52
54
56
57
55
54
55
57
59
60
62
64
65
66
65
63
62
61
62
60
61
62
63
66
67
66
64
63
63
62
61
59
60
58
58
58
61
62
63
63
63
62
59
59
58
54
52
54
55
54
54
55
53
56
64
72
86
90
106
118
128
138
148
155
160
161
162
163
168
172
174
176
175
175
177
179
183
187
188
189
190
190
186
185
190
197
203
203
202
200
199
200
201
202
202
204
205
206
207
210
212
212
213
213
214
215
216
217
216
218
219
218
217
217
218
217
218
217
217
215
214
210
208
208
206
201
200
198
196
195
194
190
192
191
189
178
238
217
184
192
195
192
189
193
195
191
190
190
191
192
193
192
194
194
194
196
195
195
193
193
191
189
189
190
191
190
189
188
187
186
185
184
185
184
182
183
184
185
184
183
184
185
185
185
186
188
189
190
189
188
187
186
185
184
185
186
186
185
183
181
179
178
178
176
176
174
173
173
173
172
169
167
165
162
161
162
159
158
159
156
156
153
148
147
147
144
141
137
126
116
106
102
93
82
77
68
62
59
52
51
48
55
62
66
74
80
83
86
81
74
69
70
75
78
81
83
83
85
87
90
90
90
89
90
89
88
87
85
83
84
85
83
80
78
74
69
64
60
58
58
58
60
59
60
65
67
66
66
63
60
56
52
51
53
53
54
56
57
56
56
55
54
52
50
50
53
58
62
64
68
71
73
71
69
66
63
61
57
56
58
59
61
64
65
64
63
62
59
58
58
59
61
61
61
60
62
61
62
64
62
61
59
58
56
53
51
50
50
49
49
50
52
53
60
64
73
78
91
99
109
123
141
152
156
157
158
159
163
168
172
172
171
173
178
182
187
190
192
193
194
190
183
177
181
193
202
206
205
202
201
201
201
202
202
203
204
205
207
209
210
212
213
214
214
214
216
216
216
217
218
219
218
217
218
220
217
216
216
214
213
212
211
208
206
205
201
198
194
195
192
193
192
191
189
178
238
218
184
193
195
194
191
192
194
191
192
190
189
189
192
193
194
196
196
197
198
197
197
195
194
192
193
193
193
192
191
190
189
188
187
185
183
184
185
186
186
187
187
186
186
186
186
187
188
190
190
191
191
191
190
189
189
189
189
189
189
187
186
185
183
180
180
179
177
177
177
175
174
174
173
171
168
166
164
164
161
159
157
155
151
149
145
143
142
136
136
131
123
112
105
102
95
87
88
80
76
74
67
67
63
69
76
77
81
87
90
92
86
79
75
76
80
81
84
87
88
88
90
92
91
89
89
88
88
86
86
86
86
86
86
85
81
79
75
72
68
65
65
64
63
64
63
61
65
66
66
66
65
63
60
57
56
58
58
58
62
62
60
58
56
54
52
53
55
57
62
65
68
72
75
77
75
73
69
66
62
58
55
56
57
59
62
63
61
62
61
58
57
57
59
62
62
61
63
63
63
64
65
64
63
60
60
57
55
53
51
50
49
48
50
53
52
56
57
68
68
80
85
93
112
130
142
150
152
154
157
162
166
168
168
169
171
175
182
187
192
193
193
192
187
181
177
180
193
200
205
205
201
199
199
200
200
201
203
204
204
206
207
208
209
211
213
213
214
214
215
216
217
218
218
220
220
218
219
220
217
216
214
213
212
211
208
206
205
201
198
196
193
193
193
192
191
189
178
238
219
185
196
195
193
192
194
194
193
191
190
189
188
189
191
195
196
197
196
198
197
196
195
195
195
194
194
193
193
192
191
191
190
187
186
185
186
187
187
187
187
187
187
186
185
185
187
189
191
190
190
190
190
190
190
189
190
191
191
190
189
187
186
186
184
181
180
178
177
177
178
178
176
174
174
171
168
166
166
163
161
157
153
153
148
143
142
137
133
128
123
113
105
100
96
93
90
91
91
88
91
86
87
83
87
91
91
92
94
95
95
92
85
81
82
84
84
88
90
92
91
93
94
92
90
89
88
88
86
88
87
86
87
86
83
81
79
76
74
71
69
69
71
72
72
69
68
67
68
68
69
70
67
64
60
60
61
62
63
65
66
63
60
58
56
55
59
61
63
66
67
69
72
77
79
79
76
73
69
64
60
58
55
57
58
61
62
61
60
61
59
57
58
60
63
63
63
64
61
63
64
65
63
62
61
59
58
56
54
54
52
51
51
52
49
52
56
56
64
64
72
73
82
101
123
134
142
149
152
156
162
164
165
165
167
171
175
181
187
191
191
190
190
186
183
181
184
193
199
203
203
199
197
198
200
201
200
201
203
204
206
206
207
209
210
213
214
213
214
216
217
217
218
218
219
219
221
221
220
217
216
216
213
211
212
208
205
206
202
198
196
193
191
193
192
190
192
178
238
220
186
194
191
189
187
190
194
191
192
190
188
188
188
190
191
192
195
198
199
200
199
199
199
197
198
198
197
196
195
193
192
190
189
188
189
189
189
190
190
190
190
189
189
189
189
191
192
193
192
192
193
193
193
193
192
191
192
193
193
192
190
188
187
186
184
182
181
181
181
179
180
181
180
178
176
173
171
170
168
164
161
157
154
147
140
136
133
129
121
113
103
93
88
90
89
95
101
109
121
130
128
127
125
120
113
109
108
105
106
102
101
97
97
97
94
95
94
93
96
97
96
92
91
90
89
88
89
89
90
90
89
86
86
83
82
80
76
76
76
74
77
82
84
87
83
76
72
71
73
75
75
73
68
66
66
68
69
71
71
72
71
65
61
59
65
69
73
76
74
71
70
74
80
84
83
81
78
73
68
64
61
58
58
56
56
58
57
56
57
59
59
60
63
64
64
61
60
63
61
63
64
65
65
64
61
62
59
56
52
50
48
48
49
52
53
54
57
58
59
59
63
68
82
106
116
127
141
154
161
164
161
160
162
163
167
171
178
185
187
185
183
184
185
187
189
191
192
194
196
196
197
196
196
199
199
200
202
204
206
208
207
209
210
211
212
212
213
214
216
216
217
218
218
219
220
218
219
219
216
215
216
214
212
210
211
207
205
203
197
197
196
194
193
192
191
187
177
238
219
186
193
190
188
187
191
193
190
192
191
189
189
189
189
192
194
195
195
197
200
200
198
199
200
198
199
199
198
197
195
194
192
192
191
190
191
190
191
191
190
191
190
189
190
192
191
192
193
193
193
193
192
193
194
193
193
194
193
194
193
192
192
190
189
187
185
184
183
181
181
181
181
182
181
179
177
175
174
171
167
163
159
155
148
142
139
124
118
113
105
97
88
84
86
94
101
112
125
141
151
154
156
152
144
138
130
119
115
111
107
112
108
108
107
104
104
103
104
101
101
100
97
94
91
90
88
85
87
91
92
90
87
85
81
81
80
77
78
79
78
81
88
94
96
91
84
80
79
79
81
81
78
74
71
71
73
74
74
74
76
74
70
66
62
67
77
82
84
82
77
76
78
81
80
80
80
78
75
72
68
64
60
57
56
54
56
56
56
57
61
62
63
63
64
65
63
59
58
60
59
62
61
61
62
64
64
61
57
55
52
50
49
51
50
52
55
56
56
56
55
54
59
71
91
102
117
136
153
161
157
158
159
160
163
168
170
174
180
182
179
179
183
185
188
193
195
193
192
192
193
194
195
196
198
199
199
202
204
205
208
208
208
210
211
212
212
213
214
216
217
217
218
219
218
219
220
220
219
216
215
216
214
212
211
210
206
206
204
199
196
196
195
193
191
191
187
177
238
216
186
193
190
190
184
190
192
190
190
188
186
186
186
186
189
193
194
196
196
196
197
199
199
200
200
200
200
200
200
198
197
196
195
194
193
192
193
192
193
192
191
191
192
193
193
193
193
193
193
192
192
193
194
194
193
194
195
196
195
195
195
195
194
193
192
188
187
187
185
184
185
185
184
183
182
181
179
178
175
171
167
164
158
153
145
140
140
136
130
122
116
110
110
113
115
122
130
141
152
158
160
160
155
151
146
141
135
133
127
124
120
119
118
115
114
109
110
109
108
109
107
101
98
95
93
90
86
89
92
94
92
87
85
82
78
76
74
76
79
79
83
90
95
97
95
88
85
84
85
87
88
85
81
77
76
76
77
77
77
80
79
73
69
66
70
77
79
80
78
75
73
73
73
75
75
78
80
78
76
73
70
65
61
55
53
55
56
57
60
65
68
68
66
66
67
64
57
57
57
57
57
58
60
64
65
66
62
60
59
55
51
51
50
52
52
52
53
56
55
53
53
59
65
76
84
96
114
129
145
152
154
159
161
163
166
169
169
173
175
174
176
181
185
189
195
197
193
190
189
190
192
195
196
197
198
199
202
204
205
208
208
208
210
211
212
212
214
215
215
216
217
217
218
218
219
220
220
219
218
216
216
214
212
211
210
209
206
204
200
198
195
195
192
193
192
190
177
238
217
185
191
189
187
188
191
193
193
193
191
189
189
188
189
190
191
192
194
194
196
196
196
196
197
197
198
198
199
200
199
199
198
197
196
195
195
195
195
194
194
194
193
193
194
193
192
192
191
191
192
191
192
193
194
193
194
195
195
194
194
196
198
197
195
193
192
190
189
189
188
187
187
186
185
184
182
181
180
178
175
172
168
165
160
152
149
145
143
138
135
134
132
131
133
136
140
145
151
154
158
156
157
152
150
150
147
143
142
141
138
128
124
120
116
116
115
114
114
116
114
112
106
101
98
96
93
87
90
94
96
95
88
83
81
78
75
73
75
77
80
83
88
91
93
92
89
89
90
91
93
93
89
83
79
78
78
78
79
79
82
81
75
71
67
70
73
75
76
76
74
74
72
70
69
70
72
77
80
80
79
77
72
66
57
54
55
57
59
62
69
73
73
69
68
69
64
55
59
57
58
55
57
61
63
65
64
63
62
59
56
52
48
47
50
51
53
55
57
55
55
55
55
59
69
73
87
103
118
133
145
153
161
164
165
166
166
166
167
170
173
175
178
185
191
193
193
190
189
189
190
192
193
194
195
197
198
201
203
205
207
207
208
210
211
212
213
213
213
215
216
217
217
217
218
219
220
220
219
219
217
216
216
212
212
210
209
205
205
202
199
197
195
192
192
193
191
178
238
214
184
191
190
189
188
190
193
193
193
191
189
188
188
188
189
188
191
192
192
192
191
191
191
192
193
194
195
196
198
199
200
199
199
197
195
194
193
194
194
194
195
194
193
194
194
193
192
192
191
190
190
191
193
194
195
197
197
197
196
196
198
201
198
196
194
193
192
192
191
190
188
188
188
187
186
184
183
181
182
180
175
173
170
164
160
157
153
153
153
153
153
152
152
153
159
158
160
160
161
160
155
155
153
151
154
155
154
154
153
151
142
136
127
125
123
122
123
122
120
121
118
110
104
101
99
97
91
93
96
96
95
90
84
81
77
73
71
72
76
80
82
86
89
89
91
92
92
95
97
97
95
91
85
80
77
77
76
79
81
82
80
77
72
67
69
71
73
74
73
72
72
70
65
63
65
69
75
78
81
84
84
77
70
59
55
56
58
60
64
72
76
76
73
70
70
65
57
59
58
57
57
60
59
62
64
66
66
65
62
56
50
47
46
48
49
52
56
58
58
57
55
54
56
60
64
76
90
105
120
132
148
162
164
165
165
164
161
160
164
170
175
180
185
187
189
189
188
187
189
191
192
193
194
195
197
198
201
203
205
207
207
208
210
211
213
214
213
214
215
216
217
219
217
218
219
219
219
220
219
219
216
216
213
213
210
209
208
205
203
201
197
194
195
192
193
191
181
239
213
184
190
187
186
184
188
190
188
189
186
183
184
182
183
184
185
186
186
184
184
185
185
185
186
187
189
190
193
195
197
198
198
197
196
195
194
193
192
192
192
193
194
195
194
193
192
191
191
192
191
190
191
192
192
195
195
194
194
194
195
197
199
198
197
195
194
193
194
193
193
193
192
191
189
187
186
186
185
183
181
179
176
174
170
166
164
161
161
164
165
166
165
164
165
172
170
169
166
163
161
158
157
154
154
158
160
160
160
161
160
150
145
139
135
133
130
128
128
125
125
122
116
108
105
103
101
95
98
101
101
97
92
86
80
75
71
69
70
74
78
80
83
86
87
88
89
92
93
95
95
94
92
87
83
81
80
79
80
79
78
77
74
73
68
70
71
73
73
71
69
68
63
56
56
58
65
71
77
81
86
87
80
72
63
56
57
58
61
66
74
78
78
76
74
71
68
63
62
61
58
58
58
62
65
67
65
67
66
60
54
50
47
45
46
47
48
51
55
56
55
55
56
56
55
54
61
71
84
101
118
138
154
158
161
164
164
161
159
162
169
176
180
183
186
187
189
189
188
189
191
192
195
196
197
198
199
202
204
205
208
208
208
210
212
213
214
215
214
215
216
217
218
220
218
219
220
221
219
219
220
217
216
215
215
211
209
208
206
204
202
198
194
195
194
194
192
180
241
214
185
188
185
185
182
183
186
184
183
181
178
178
177
178
178
177
179
179
177
176
175
174
175
176
177
180
182
184
187
189
191
192
191
190
189
188
187
186
187
190
191
192
192
193
194
193
193
192
192
192
191
192
193
193
195
196
195
195
194
196
197
198
199
199
197
196
196
196
195
195
194
193
193
190
189
188
187
187
184
182
182
181
179
177
170
167
168
169
170
169
168
167
167
167
167
169
169
166
168
167
162
160
160
161
161
162
160
162
163
162
157
154
150
147
142
137
135
132
133
132
126
120
113
109
108
106
99
101
105
106
102
94
87
81
75
71
69
70
73
78
79
79
80
81
82
84
85
85
86
88
88
87
85
84
83
81
80
79
75
73
71
69
70
69
71
74
75
75
73
70
67
60
52
49
52
58
67
73
80
83
86
81
74
65
59
58
58
61
67
75
79
80
78
76
72
72
69
70
66
64
60
61
60
63
67
64
66
64
58
53
49
46
44
43
43
45
48
51
53
54
53
54
54
54
53
60
64
74
88
103
123
139
148
155
163
164
164
166
166
171
175
179
182
184
184
185
188
191
192
194
195
196
196
198
199
199
202
204
205
207
208
210
211
213
213
214
215
216
216
216
217
218
219
220
222
220
221
222
221
220
218
217
216
216
213
209
207
208
204
202
200
195
194
193
194
192
181
241
215
181
188
184
183
180
181
182
181
180
178
175
175
174
173
174
172
172
171
171
169
168
166
166
167
170
172
176
179
181
184
186
187
186
185
184
183
182
181
183
187
189
191
194
194
194
195
195
194
193
193
194
193
194
194
195
195
193
193
194
195
197
198
199
199
198
197
196
196
197
196
194
192
192
192
189
188
189
188
187
186
185
184
182
180
176
174
172
173
173
173
169
166
165
164
167
168
167
169
170
169
167
163
162
162
163
161
161
163
165
167
165
163
161
159
149
144
140
138
136
136
130
124
117
111
110
109
104
107
109
108
105
97
90
83
76
72
69
69
72
77
78
77
78
78
79
81
82
81
82
80
80
82
84
84
83
82
81
76
70
66
63
63
65
65
70
75
77
76
72
67
64
57
48
43
47
55
64
70
77
82
84
83
75
66
61
59
58
62
68
76
78
80
80
76
75
75
76
80
74
67
62
61
63
65
65
62
64
64
55
51
47
44
42
41
42
43
45
49
51
50
51
51
52
53
53
55
56
62
75
90
110
127
138
150
163
166
169
172
171
174
176
178
180
181
181
182
188
193
195
196
197
197
197
199
199
200
203
205
206
208
210
210
212
213
214
215
216
218
218
216
218
219
219
220
221
223
222
222
221
221
220
217
215
216
214
210
207
208
203
202
201
196
195
193
194
193
182
240
215
177
182
179
183
171
176
173
174
172
170
168
166
165
166
165
162
162
161
158
157
155
153
153
154
156
159
163
169
172
175
178
180
180
179
178
177
177
178
178
179
184
188
190
193
196
197
197
196
195
195
196
196
195
195
197
197
196
194
192
195
199
201
201
199
198
198
198
198
199
197
197
195
194
192
191
191
191
188
192
189
189
188
187
186
183
179
179
180
180
180
176
169
166
163
166
164
166
168
172
169
170
170
168
167
164
164
162
163
167
169
174
175
175
170
159
150
145
142
141
139
136
129
122
118
116
114
110
111
112
110
107
100
94
86
77
74
70
70
74
77
77
76
73
71
74
77
78
77
75
72
71
75
80
84
84
83
81
74
66
59
56
58
60
64
72
78
82
79
73
65
60
52
43
41
43
49
59
66
73
79
84
81
77
68
63
62
60
59
67
72
75
79
80
78
80
85
88
84
80
71
64
64
64
61
61
61
61
61
58
50
47
44
41
40
39
40
43
45
46
47
49
54
50
48
51
48
46
49
59
74
90
109
125
142
158
166
171
177
178
175
178
178
179
182
182
185
190
195
197
196
198
199
199
200
202
204
206
207
208
209
211
212
213
214
216
217
219
219
219
218
220
220
219
220
220
221
221
222
221
221
219
218
217
216
215
213
210
209
206
201
201
198
201
193
192
198
188
236
208
171
175
168
168
155
159
156
156
155
154
152
150
149
148
147
146
146
144
141
139
136
134
134
135
137
141
146
150
155
158
161
164
163
163
162
162
164
165
168
173
178
182
185
187
191
193
195
197
196
196
197
196
197
197
198
199
198
195
192
193
196
199
200
198
197
198
197
198
199
198
197
197
195
193
192
192
191
190
191
191
188
187
187
184
182
181
181
182
180
178
174
170
165
163
165
164
166
168
172
172
169
169
169
168
167
164
164
166
168
170
173
175
174
171
160
151
147
145
143
143
137
132
125
120
119
117
113
113
113
113
109
103
97
89
80
77
73
73
77
80
77
73
70
68
72
77
80
80
77
73
72
73
78
80
77
75
73
69
65
60
59
63
67
73
80
82
84
82
73
64
57
51
44
40
43
47
54
59
65
72
76
77
74
67
63
63
59
60
66
69
72
75
80
79
83
87
91
87
84
74
67
64
65
60
61
60
62
63
59
53
50
47
45
43
42
44
45
47
49
50
51
54
52
49
49
49
50
53
60
69
80
93
110
128
145
157
164
174
179
179
183
184
185
186
187
190
191
193
196
196
197
199
199
200
203
205
206
207
209
210
212
212
213
214
216
217
218
219
219
219
220
221
221
221
222
221
222
222
222
221
220
218
216
215
216
214
211
209
207
202
202
199
201
193
192
199
187
236
204
164
168
159
153
141
145
141
143
143
140
138
136
135
134
133
131
131
129
126
124
121
120
120
121
123
127
131
136
140
144
147
150
150
151
151
152
154
157
161
166
172
179
182
186
190
193
196
197
197
196
197
198
199
200
200
200
199
196
194
194
195
197
198
197
196
197
197
199
200
198
199
199
197
195
193
191
191
192
192
190
190
188
187
184
181
182
180
180
181
179
174
169
169
166
168
166
167
169
172
171
172
172
168
167
167
166
166
168
168
171
175
176
177
173
162
155
150
148
145
145
140
134
129
126
123
120
116
115
116
115
111
105
99
92
84
80
77
77
80
81
77
71
64
61
67
77
83
83
79
74
71
72
74
73
71
69
67
63
61
59
60
68
75
84
88
88
88
83
73
62
54
49
44
40
41
42
48
53
58
64
70
73
72
69
67
64
60
60
65
66
68
72
77
80
85
92
96
94
89
78
73
67
66
60
58
60
62
61
60
56
53
51
49
46
45
47
48
49
50
51
52
53
51
49
49
51
52
56
61
65
68
78
94
112
133
149
159
170
180
181
183
185
188
189
192
195
193
193
195
196
198
200
201
204
205
206
207
208
209
211
213
213
214
215
217
218
219
219
219
220
221
222
222
221
222
224
223
223
222
221
222
220
218
217
216
214
213
210
208
206
204
202
202
194
193
198
188
237
200
153
160
147
140
128
129
127
128
127
126
124
123
121
120
119
116
116
114
110
107
104
101
102
104
106
110
114
119
122
127
130
133
134
134
136
137
141
145
150
156
164
172
177
182
188
191
193
196
196
196
195
197
199
200
201
200
199
197
194
194
195
195
196
196
196
197
198
200
201
202
202
202
200
197
195
194
193
192
191
191
189
190
189
185
183
182
183
179
179
177
176
172
171
170
170
169
170
173
172
174
174
173
170
171
171
168
170
169
172
174
175
177
179
174
165
158
153
151
148
147
144
137
131
129
127
122
118
119
119
118
114
107
99
94
88
83
80
80
83
84
78
66
58
56
62
76
84
84
80
75
71
70
71
69
67
65
62
61
59
58
61
69
80
89
93
90
89
83
71
59
51
46
42
40
39
41
43
47
52
58
64
67
68
69
70
66
63
61
63
63
65
67
75
80
88
94
100
98
92
83
74
72
65
61
55
57
59
62
60
61
58
55
54
52
50
49
50
50
52
53
54
53
53
51
50
53
56
58
58
61
61
67
82
100
119
136
151
166
178
183
183
187
193
197
199
199
195
192
192
195
199
202
204
206
208
209
210
211
213
214
214
215
216
216
218
219
220
220
221
221
222
223
224
223
225
223
224
224
223
222
223
222
220
219
217
215
214
212
209
208
205
202
203
195
193
200
188
237
191
138
146
129
121
109
107
107
106
105
104
103
102
101
97
97
96
96
92
89
87
84
83
83
83
84
88
94
98
100
103
106
110
111
113
116
119
122
126
132
141
149
158
166
172
179
182
186
190
191
192
193
194
197
200
200
201
200
198
195
194
194
194
197
197
197
198
199
201
203
203
204
203
202
199
196
195
194
193
193
192
191
191
189
186
184
184
182
180
181
179
178
177
175
175
174
176
175
177
175
177
176
173
172
172
172
172
172
175
176
178
175
174
177
173
168
161
158
154
150
149
145
139
135
133
129
126
122
122
121
119
115
108
103
99
94
89
86
85
86
87
79
66
55
51
58
72
80
81
80
77
74
72
72
70
68
65
62
61
59
58
61
67
77
86
90
88
87
81
69
56
49
45
43
43
42
40
41
44
48
52
57
64
66
70
72
68
65
63
63
62
64
67
74
79
85
92
97
95
94
83
75
73
66
61
57
57
61
63
62
64
65
61
60
58
56
55
54
53
54
55
56
56
55
53
51
53
57
59
59
58
57
62
72
84
98
114
129
149
166
177
181
190
196
198
200
200
195
193
195
197
201
204
207
209
210
211
212
214
215
216
217
217
217
218
220
221
221
222
222
223
223
224
224
225
226
226
226
225
224
223
224
223
222
221
219
216
215
213
208
207
207
205
204
196
194
199
190
237
184
123
130
113
104
91
87
89
89
88
87
86
85
83
82
82
79
80
78
75
72
69
68
68
68
69
73
76
79
81
83
87
91
94
96
99
103
106
110
116
124
134
145
151
159
168
172
175
180
183
186
187
190
193
194
197
200
198
196
195
194
194
194
196
196
197
198
199
201
203
204
204
203
202
200
198
196
194
193
194
192
192
192
190
187
184
182
181
182
181
179
179
179
182
182
181
180
181
178
178
179
176
175
174
174
177
177
178
180
178
180
176
173
173
171
168
164
161
157
155
152
149
142
139
137
133
131
126
124
122
120
116
112
107
103
99
95
95
92
90
91
84
69
55
49
57
70
77
80
81
80
79
78
78
77
72
69
67
64
61
59
59
64
71
76
79
80
80
76
65
53
47
45
44
45
43
41
40
41
42
47
51
59
64
71
73
70
67
68
66
64
64
66
73
77
82
89
93
93
90
84
76
74
68
63
60
60
63
65
66
68
70
67
65
64
62
60
60
58
57
57
58
57
56
54
54
55
57
58
60
61
60
63
66
71
81
93
107
124
146
166
178
190
195
196
198
198
197
195
196
199
203
206
208
210
211
213
214
215
216
217
217
218
219
219
221
221
222
223
223
224
225
226
225
226
226
228
226
226
225
225
223
224
223
222
222
218
216
214
209
209
208
207
205
197
195
201
189
237
176
113
118
100
90
79
74
76
77
76
75
74
70
71
71
71
68
68
66
64
62
60
58
58
60
59
62
64
65
69
72
74
76
79
82
86
90
95
98
104
112
122
133
140
148
159
164
166
169
173
178
182
185
188
191
196
199
198
196
194
194
195
196
196
196
197
198
199
201
202
203
203
202
201
200
199
197
195
194
195
193
191
191
191
188
184
182
181
181
180
181
184
185
187
188
186
186
185
183
182
179
179
178
176
176
178
180
181
181
182
182
176
174
171
170
168
165
164
162
157
156
150
144
141
139
135
132
126
125
122
119
117
113
110
106
102
100
99
97
96
96
86
71
58
51
56
68
76
79
82
84
84
83
83
82
78
74
71
68
64
60
59
60
63
67
70
74
74
70
62
52
46
45
44
46
44
42
41
40
42
45
49
56
61
70
74
72
72
72
69
67
65
66
72
75
79
83
88
88
87
83
76
73
71
64
64
64
63
66
69
70
73
74
70
70
68
64
61
58
58
58
59
59
57
55
56
55
55
56
60
62
65
67
66
64
68
76
89
107
131
156
172
190
197
196
197
196
196
197
199
202
205
207
209
211
212
214
215
216
217
218
218
219
220
220
222
222
223
224
224
225
226
227
227
226
227
228
226
225
225
226
225
223
224
223
223
221
217
215
212
210
209
208
206
198
196
200
189
237
170
104
111
93
83
71
67
69
67
67
66
65
63
63
63
63
60
60
59
57
56
52
52
52
53
52
55
58
59
61
63
64
65
69
72
75
78
83
86
92
102
113
123
131
139
149
155
157
161
165
171
177
181
185
188
194
197
197
195
194
195
196
195
196
197
196
197
198
200
201
201
203
202
201
200
199
197
197
196
196
194
193
193
192
189
186
185
184
182
181
183
186
186
189
192
187
188
187
185
184
180
179
178
177
179
178
181
181
182
182
182
176
174
172
171
169
168
167
164
158
157
152
146
143
139
136
133
129
127
124
119
116
113
111
108
104
102
103
100
97
96
88
74
62
55
59
70
77
81
86
89
90
88
87
84
80
76
72
69
65
61
60
59
59
61
63
68
70
67
60
52
45
44
46
45
44
42
40
41
43
46
49
56
60
70
74
74
73
75
70
68
67
68
71
73
78
79
84
84
84
81
77
76
73
66
65
65
65
68
70
72
74
75
74
71
68
65
61
58
57
57
57
58
57
55
57
56
55
55
58
61
66
67
64
58
61
68
78
94
117
144
162
180
189
191
195
195
197
199
200
203
206
207
210
212
213
215
216
218
218
219
219
220
220
221
223
223
224
224
225
226
226
227
228
228
227
228
228
226
226
225
226
225
224
222
223
221
218
216
213
209
209
207
206
198
196
201
190
237
170
95
104
89
77
65
60
61
59
59
58
57
57
57
57
57
55
55
55
55
52
51
49
48
51
50
50
53
55
56
57
58
59
62
64
64
66
71
74
79
88
97
107
117
127
135
142
146
149
154
161
167
173
178
182
189
194
194
194
194
196
196
196
197
196
195
195
197
199
200
201
201
201
200
199
198
197
196
197
196
195
193
193
193
191
189
186
187
187
186
187
186
188
188
187
189
186
187
186
185
184
183
183
180
181
179
181
179
179
181
180
177
179
177
174
173
174
173
170
163
160
157
152
149
145
142
140
135
131
129
123
117
115
114
111
110
107
107
104
101
99
93
82
73
67
70
80
87
91
97
101
100
96
90
82
76
72
66
64
64
63
62
61
60
60
62
65
67
65
58
49
45
44
45
44
43
41
41
43
45
47
51
54
59
68
73
75
78
78
76
71
72
70
70
69
71
75
78
78
77
77
78
77
73
70
70
67
69
71
71
74
74
74
75
70
67
63
57
54
52
51
50
52
54
57
57
57
56
55
56
60
63
63
61
57
57
62
68
80
99
125
142
157
173
183
190
197
199
202
203
204
207
208
210
213
215
217
218
221
221
221
221
220
221
221
224
225
225
226
225
226
227
228
229
229
228
229
230
230
229
227
227
226
225
224
221
218
218
216
214
211
207
205
207
199
197
202
191
238
163
88
97
82
71
62
54
56
55
54
53
52
51
52
52
54
54
54
54
54
51
49
48
48
50
49
48
50
52
52
53
53
54
56
56
56
57
61
64
68
73
84
96
104
115
123
129
134
138
142
149
156
164
173
179
185
189
190
191
193
195
196
198
198
197
197
197
196
197
198
199
199
199
199
198
197
197
197
197
198
197
196
196
195
193
191
190
188
188
187
187
187
187
186
186
186
186
187
185
186
184
185
185
182
181
180
181
178
178
179
179
180
181
181
178
179
177
174
173
166
164
161
157
152
148
143
141
136
132
129
124
119
117
115
114
113
112
111
108
105
104
98
89
82
77
80
90
97
102
108
111
108
102
93
83
75
71
66
62
63
65
64
61
57
57
59
62
64
63
56
48
45
44
43
43
44
43
43
45
47
49
53
56
60
69
73
76
80
82
80
77
76
73
71
66
66
66
68
72
74
76
78
76
76
72
71
69
69
69
69
73
72
73
71
67
65
62
56
51
49
48
49
51
52
55
58
59
57
55
56
57
59
59
58
56
57
59
64
69
83
105
120
137
157
172
186
197
201
205
207
209
210
211
212
214
216
218
219
222
222
222
222
221
222
223
225
226
225
225
226
227
228
229
230
230
230
229
229
229
230
228
228
227
225
225
222
220
219
217
214
210
209
206
209
199
197
204
193
239
159
81
90
76
66
60
53
53
52
51
49
48
48
48
50
51
51
51
51
49
49
48
47
47
48
47
48
49
49
47
49
50
52
51
51
50
51
53
56
60
68
77
89
96
103
112
118
123
128
134
141
148
157
166
175
181
187
189
191
192
194
194
196
198
197
197
197
197
197
197
196
196
197
197
196
196
195
195
195
198
198
198
198
197
194
193
192
192
192
192
191
190
189
188
186
186
186
187
187
185
185
186
186
183
184
182
180
181
179
179
179
181
182
183
182
183
182
179
175
168
167
165
159
155
151
146
141
136
133
128
124
121
119
117
116
115
113
113
110
106
104
100
94
89
86
89
97
103
107
111
117
115
107
96
84
75
70
64
62
62
64
64
61
57
55
56
59
60
58
53
48
45
43
43
44
44
44
44
46
48
50
54
57
60
69
73
77
82
85
83
82
79
74
71
64
63
62
63
64
69
74
77
77
76
75
75
73
70
69
70
73
72
70
69
66
64
61
55
51
48
46
46
48
51
54
58
59
58
56
54
55
56
55
55
55
56
57
58
61
70
88
103
120
144
166
183
195
202
207
209
210
210
209
213
216
216
217
219
221
222
221
222
222
224
226
227
227
226
227
228
228
229
229
230
231
231
231
231
230
230
229
228
228
226
225
223
222
221
218
215
213
211
206
208
200
198
203
192
239
155
70
81
70
64
56
50
52
49
48
47
46
46
46
48
48
46
48
49
49
48
47
46
46
46
45
47
48
48
46
47
48
50
50
49
48
49
50
52
56
63
69
77
83
89
97
105
110
115
123
131
138
146
156
165
173
179
183
186
189
192
192
194
195
196
196
196
196
196
195
195
195
194
194
193
193
193
194
194
197
198
198
198
198
195
194
193
193
193
193
192
191
190
187
188
188
186
186
186
186
187
187
187
186
186
185
182
183
181
181
183
181
183
184
184
185
184
182
179
172
170
168
165
161
157
153
147
141
137
131
126
121
121
119
119
117
116
116
112
109
107
103
100
96
94
96
100
104
107
112
117
116
109
100
89
80
74
67
63
63
62
60
59
57
55
54
55
56
55
52
48
47
45
44
44
44
43
42
45
48
51
55
58
61
69
75
79
83
85
83
82
79
75
70
64
63
63
63
65
67
72
74
75
75
76
76
74
70
68
70
71
73
68
66
65
64
61
59
57
53
50
49
50
52
55
56
56
55
55
55
55
55
54
55
56
55
55
54
55
61
77
90
105
128
151
170
185
196
205
211
214
212
211
214
218
218
220
221
224
223
222
224
224
226
227
227
227
228
229
230
230
229
229
229
230
231
232
231
229
229
230
228
228
227
225
224
223
222
220
214
214
211
207
208
200
198
203
193
237
146
59
68
61
56
50
46
48
46
46
46
45
45
45
45
45
45
45
47
48
47
46
45
46
45
45
46
47
46
46
46
46
47
47
47
47
48
49
50
52
55
58
64
68
72
79
86
93
100
109
118
127
134
144
153
161
168
175
181
187
190
191
192
193
194
193
194
195
195
194
194
194
193
193
193
194
194
193
194
196
197
197
197
196
194
192
193
192
191
192
191
189
188
187
187
187
187
188
188
188
188
188
188
186
187
185
184
184
185
186
185
182
185
186
183
184
185
183
181
177
177
174
172
169
166
161
156
147
142
136
131
126
124
123
122
121
119
117
115
114
113
111
109
106
104
105
106
107
108
112
115
113
110
105
96
87
81
72
66
63
59
56
55
55
54
53
52
53
52
51
49
48
47
44
42
42
42
41
44
47
51
56
61
65
73
77
80
83
85
82
80
78
76
70
64
64
66
67
67
68
71
70
71
72
76
77
71
69
67
69
69
68
65
64
60
60
61
64
66
63
59
55
54
54
53
53
54
55
56
56
58
57
56
56
57
56
54
53
51
54
66
75
86
106
129
149
169
189
204
215
220
217
214
216
220
221
222
223
226
226
224
226
227
227
226
225
226
230
232
233
232
231
229
229
230
232
233
232
231
229
230
229
228
227
226
225
223
221
220
216
212
211
209
208
200
198
204
191
238
139
48
59
55
51
48
42
44
46
46
46
46
46
44
44
44
45
44
45
46
45
46
46
45
44
43
45
46
46
45
46
46
46
47
48
49
49
49
49
51
53
53
55
58
61
66
73
80
89
98
108
116
124
135
145
153
161
172
180
185
188
188
188
190
191
192
193
194
193
193
194
194
194
194
194
193
192
193
193
195
195
194
194
194
193
193
193
190
190
191
189
190
188
189
189
189
189
189
189
189
189
189
189
187
187
188
188
188
188
189
189
186
186
186
186
187
184
184
183
180
179
178
176
175
170
165
159
151
146
140
133
128
127
126
125
123
121
118
118
118
117
116
114
112
110
110
110
110
109
110
111
111
110
109
103
95
86
76
68
62
56
52
51
51
51
52
50
49
50
50
50
49
48
45
44
43
41
41
44
47
51
55
62
66
74
78
79
83
83
81
78
78
75
71
66
64
67
67
69
71
70
70
71
72
74
75
72
72
70
68
66
64
62
61
59
59
61
67
73
72
67
62
58
56
53
51
52
54
55
57
59
58
57
56
56
56
53
51
50
51
60
64
74
95
117
136
158
182
201
215
221
218
214
217
220
220
222
224
226
226
225
227
228
228
227
226
228
231
233
236
236
234
233
233
232
233
234
232
232
231
230
230
228
226
227
225
223
221
220
217
214
211
208
208
200
198
203
191
238
137
44
52
51
50
46
43
45
45
45
44
43
43
45
45
44
43
43
43
43
44
44
44
44
44
43
44
44
44
44
45
46
46
46
47
47
48
48
49
49
50
49
50
53
56
60
65
70
78
88
97
103
112
123
133
142
151
163
173
181
186
187
188
191
192
192
193
192
193
193
194
193
192
192
192
192
191
192
192
193
193
193
193
193
191
191
192
191
190
190
189
189
189
189
189
187
187
187
190
190
189
189
189
189
189
189
189
189
191
191
191
191
191
188
186
187
186
185
184
183
182
181
181
180
175
170
164
156
151
146
139
134
133
132
130
126
124
120
119
121
120
119
119
116
114
113
112
111
111
112
113
112
113
112
106
97
89
79
70
63
56
51
50
50
49
50
48
47
47
46
48
49
47
46
45
45
44
43
46
48
51
56
60
64
72
76
76
79
81
80
80
79
76
72
68
67
67
68
73
73
72
72
73
76
76
78
76
78
76
73
68
63
61
60
58
61
64
69
73
72
68
64
60
56
52
50
52
53
54
55
57
59
58
56
55
54
51
51
50
50
55
58
68
86
103
119
141
166
186
201
211
214
216
220
223
224
225
227
230
229
227
228
228
229
229
230
231
232
234
237
237
236
235
234
235
234
233
233
232
232
230
231
229
228
227
225
223
221
220
217
214
210
210
208
200
199
205
192
237
135
40
48
48
46
44
42
44
44
44
44
42
42
44
44
45
42
43
44
44
45
45
45
45
46
44
44
45
44
43
45
45
43
43
43
44
45
45
46
46
46
45
45
47
50
53
57
62
69
76
83
89
95
106
116
126
138
152
166
177
181
186
189
190
191
191
192
193
192
193
194
194
194
193
193
192
191
191
192
192
193
194
194
193
192
190
192
190
188
188
186
185
185
186
186
187
187
187
191
190
192
192
191
191
193
193
193
193
193
193
193
193
192
191
189
189
190
187
188
188
186
186
187
185
181
175
170
162
157
153
148
143
141
140
137
132
130
126
125
124
121
121
122
119
117
116
115
114
115
114
113
113
114
114
107
98
89
78
69
63
57
52
51
50
51
50
46
45
45
44
45
46
47
47
46
46
47
46
48
49
52
55
58
60
67
70
72
75
77
79
80
79
77
74
71
70
70
71
74
75
77
78
79
79
80
80
81
84
84
79
72
65
62
63
61
63
67
70
71
71
67
65
62
59
54
51
50
52
54
55
55
57
56
55
54
53
52
50
48
48
50
52
59
72
85
98
119
142
160
179
195
207
214
221
226
226
227
230
233
234
233
232
231
232
231
231
232
233
234
237
239
238
239
239
236
234
232
232
232
232
231
230
230
228
229
225
224
222
219
219
215
212
211
209
201
200
205
193
238
134
38
48
48
43
44
42
43
41
41
41
42
43
43
43
42
41
42
44
44
44
44
43
44
45
45
45
45
45
45
45
44
42
42
42
43
44
44
45
46
45
44
44
45
47
48
51
56
63
67
72
77
79
89
101
113
127
143
162
174
178
184
187
188
188
189
191
191
192
193
193
194
192
191
192
192
191
192
194
194
194
194
193
192
193
192
191
188
189
185
186
183
183
185
185
189
189
188
192
191
194
194
194
193
193
193
193
195
194
194
194
194
194
194
193
192
190
190
190
189
190
191
189
188
186
181
176
169
166
161
155
153
149
146
143
136
133
131
127
125
124
123
124
121
120
118
115
114
116
115
115
115
115
116
108
97
89
80
70
62
56
53
52
51
52
51
46
44
44
43
42
43
44
47
47
49
49
49
51
50
51
55
58
60
63
66
69
72
74
76
79
78
78
76
75
74
72
74
73
75
81
83
82
80
80
79
83
92
93
84
76
66
62
64
65
65
69
68
69
72
68
67
64
61
57
53
50
52
53
52
53
55
54
53
53
52
50
47
46
45
46
48
53
61
73
85
102
118
132
152
176
200
214
220
226
226
228
232
234
238
238
235
233
233
234
232
232
234
233
235
239
242
244
243
239
234
230
231
229
230
230
231
232
231
230
226
225
223
221
220
214
212
212
209
202
201
208
195
241
132
36
46
46
42
43
43
41
40
40
40
40
40
40
42
41
40
41
43
42
42
42
42
43
43
42
42
42
42
42
42
42
43
43
42
41
42
43
45
44
44
43
43
44
45
47
49
53
57
61
64
68
71
80
92
103
116
135
155
170
176
183
187
190
191
190
192
193
192
192
193
193
191
190
191
191
191
192
192
193
194
193
193
193
192
191
191
189
188
185
186
183
184
186
185
189
188
191
191
193
193
193
195
195
195
195
195
196
198
197
199
197
198
198
196
194
192
190
190
192
193
193
192
191
188
183
179
174
170
166
163
159
155
152
148
141
137
133
128
126
125
124
124
124
122
120
118
116
117
116
116
114
113
112
105
96
89
81
72
64
59
56
53
52
51
49
47
44
42
41
41
40
42
45
46
46
48
50
51
52
53
57
58
60
63
66
69
71
73
75
76
77
76
75
75
75
75
74
75
77
82
86
84
83
83
80
84
92
94
85
77
67
63
64
65
63
67
69
69
70
68
69
65
61
56
52
50
50
51
52
53
54
54
53
52
52
50
49
47
46
47
48
50
56
66
74
87
100
110
130
158
187
208
216
222
226
231
236
240
242
241
237
234
233
234
234
234
236
236
238
240
243
245
244
240
236
233
231
232
230
231
232
231
231
229
227
226
224
222
221
217
215
214
211
203
202
210
198
242
130
34
42
44
40
40
40
41
41
41
41
41
41
41
41
41
41
41
42
42
43
43
43
43
42
41
41
41
41
41
41
42
42
41
41
40
41
42
44
45
45
43
43
43
44
45
47
51
56
58
61
63
64
73
84
95
108
127
150
167
175
183
188
191
192
192
191
192
193
192
192
192
190
189
189
189
190
192
192
192
193
192
192
192
191
190
190
188
188
186
184
184
186
185
186
188
189
192
191
192
195
194
194
199
199
198
200
199
201
202
202
200
199
199
199
196
193
191
193
195
195
196
196
195
192
189
185
178
176
172
169
165
161
156
153
146
140
136
130
128
125
125
127
127
126
123
120
118
117
116
114
112
109
107
100
92
86
79
71
66
61
57
55
55
53
50
45
42
40
39
37
37
39
41
42
44
46
49
52
54
56
59
61
62
67
69
72
74
74
75
76
75
73
72
71
71
72
70
73
73
79
82
82
81
82
79
81
87
87
81
75
69
65
63
61
59
63
67
69
70
70
73
70
63
57
53
51
53
53
52
51
53
53
53
52
51
50
49
48
47
47
47
48
51
57
63
74
85
94
114
143
173
194
206
217
227
234
239
243
244
240
237
234
232
235
235
236
237
237
239
241
242
242
241
240
237
235
233
234
233
232
232
229
229
229
228
227
224
223
222
217
217
216
213
205
204
212
200
241
128
32
40
42
38
40
40
38
40
40
40
40
40
38
38
38
40
40
41
41
42
42
42
42
42
42
42
42
42
42
42
42
41
41
40
39
40
42
45
47
46
44
43
43
43
44
45
49
53
54
55
55
56
65
76
87
102
120
142
160
169
180
186
190
192
192
193
192
191
192
192
191
189
189
189
188
187
189
189
190
191
191
190
190
190
189
188
187
187
185
185
185
184
186
187
189
192
191
192
193
195
196
196
201
200
203
203
203
202
204
204
203
202
203
201
198
195
194
196
198
199
200
198
198
196
193
189
184
183
180
178
174
167
164
159
150
145
138
132
130
127
126
129
130
130
126
120
117
115
114
111
107
104
101
95
88
83
76
70
66
62
59
56
55
54
49
43
40
37
36
35
34
36
37
39
41
43
47
50
55
59
63
67
70
74
76
76
77
78
77
75
73
69
66
63
63
65
67
69
70
74
74
75
76
79
77
76
76
74
73
72
71
67
63
57
52
58
66
71
73
72
74
73
66
60
55
53
55
55
53
52
53
52
51
51
51
50
51
50
49
48
47
47
48
50
54
61
68
75
95
124
153
177
196
214
229
237
244
246
245
242
237
233
232
235
238
238
238
239
241
241
239
238
238
238
238
238
237
236
234
233
231
230
231
230
228
227
225
224
223
220
217
218
216
207
206
214
203
242
126
30
38
38
37
39
39
37
39
39
38
37
37
37
37
37
37
37
39
38
38
38
39
40
41
41
41
41
41
41
40
41
42
41
40
39
40
43
46
48
47
45
44
44
43
43
44
47
51
52
52
53
52
59
70
80
94
112
135
153
164
178
186
190
193
193
193
193
191
190
190
190
188
187
186
187
186
187
187
188
188
187
188
186
186
186
184
185
186
184
183
184
185
188
188
191
191
193
193
195
194
196
199
203
202
205
205
205
205
206
206
207
205
204
202
200
197
198
199
202
203
203
201
199
199
196
195
191
188
187
185
183
177
171
164
155
148
141
134
132
129
128
131
134
134
129
122
117
114
112
107
103
102
98
93
88
82
76
73
71
68
66
63
62
57
49
42
38
35
33
33
33
34
35
37
39
40
44
51
56
61
68
71
75
79
81
81
81
79
78
73
71
69
63
59
59
63
66
69
68
69
70
71
72
76
76
74
69
66
68
70
74
70
62
54
48
55
64
71
74
73
75
74
67
61
58
56
56
56
55
53
52
52
51
52
52
52
52
52
51
50
47
46
46
46
49
51
53
58
73
100
130
156
178
203
225
238
244
245
245
241
236
234
233
236
239
239
241
242
244
242
238
236
235
237
239
240
239
237
235
232
231
232
232
231
229
228
226
225
224
221
220
218
220
209
209
217
204
242
126
28
36
36
35
37
36
37
38
38
38
38
38
38
38
38
37
37
36
36
37
38
39
39
40
40
40
40
40
40
39
40
41
40
39
38
39
42
47
48
47
44
43
43
42
42
43
46
50
52
53
53
50
57
68
77
90
108
130
149
161
176
187
190
191
192
193
193
191
190
189
189
186
184
184
185
183
185
185
186
186
185
185
184
184
184
182
184
185
182
183
184
187
187
190
190
191
192
195
194
197
199
199
205
205
205
204
204
206
208
208
208
208
207
205
203
199
201
202
206
207
206
204
201
200
200
198
194
193
191
190
186
181
175
169
161
153
145
138
133
130
130
134
137
139
135
126
119
116
113
109
106
104
102
98
95
92
88
86
85
84
82
78
73
65
55
45
40
36
34
36
35
35
35
36
38
42
45
50
56
63
71
74
78
82
84
82
83
81
77
76
74
71
66
64
64
64
67
68
68
68
69
70
71
74
74
74
70
69
70
74
76
73
65
58
53
57
62
70
73
72
74
72
67
62
60
57
58
57
56
55
53
52
52
51
51
52
53
54
53
52
49
47
45
45
46
47
49
52
63
86
112
137
160
190
219
234
240
241
241
240
237
236
237
239
240
240
242
242
243
240
238
236
235
237
238
239
241
238
236
233
232
233
233
232
231
230
227
226
225
222
221
219
222
211
209
220
206
243
123
26
34
36
36
36
34
34
36
36
37
37
37
37
37
36
34
34
35
36
36
37
36
37
39
39
39
39
38
38
38
39
41
40
38
37
38
42
47
50
48
46
44
43
42
41
42
45
49
50
51
52
50
56
66
75
88
105
126
143
156
172
185
190
191
191
193
192
191
190
189
188
186
185
185
183
182
183
183
186
185
185
185
185
184
183
181
185
185
183
182
186
186
189
189
190
191
192
195
194
198
198
201
205
205
205
204
206
206
208
207
207
207
208
208
204
201
203
205
208
208
208
206
203
201
200
199
197
197
196
194
191
184
179
173
165
157
151
142
135
132
132
136
140
143
138
129
122
118
115
112
110
108
105
104
103
102
101
101
100
98
96
90
82
71
60
49
44
40
38
40
41
40
39
39
41
44
47
52
57
64
73
75
81
85
87
86
85
83
80
78
76
74
72
71
70
66
64
66
65
69
71
70
72
72
69
72
71
76
78
76
78
76
70
63
59
62
64
67
71
70
73
71
68
65
62
59
58
58
58
56
54
54
53
52
52
53
54
55
54
54
53
52
49
47
46
45
48
50
59
78
97
119
143
177
211
228
235
237
238
239
238
237
239
241
241
241
242
241
240
240
240
239
238
239
239
240
242
237
234
234
233
234
234
233
232
231
228
226
226
222
221
220
223
212
210
221
207
243
124
26
35
35
33
32
34
33
33
33
34
34
34
34
34
34
33
33
33
34
34
34
34
36
38
38
38
37
38
39
38
39
39
39
37
36
38
42
47
50
49
45
45
45
42
40
41
45
50
51
52
53
51
57
66
71
81
99
120
137
150
168
182
188
190
189
190
191
190
188
187
186
184
183
183
182
180
181
181
182
183
182
182
183
183
182
180
181
183
181
182
186
185
189
189
190
191
192
195
194
198
200
200
204
203
203
205
204
204
207
208
209
209
209
207
205
205
205
208
210
214
211
208
205
203
202
203
202
202
201
200
196
191
185
178
168
162
156
146
138
134
133
140
146
146
141
132
125
121
118
116
114
113
112
111
112
114
116
117
118
118
113
104
96
82
68
55
46
41
42
45
47
46
44
42
43
45
47
53
59
66
75
77
83
89
89
88
88
86
82
81
79
76
77
77
75
70
62
63
64
68
71
73
69
67
67
70
75
82
82
81
81
78
74
70
66
67
65
64
67
68
71
70
68
66
64
62
62
61
60
58
56
54
53
52
52
53
55
55
56
56
55
54
52
49
49
48
48
48
51
62
76
94
121
161
197
217
225
229
233
236
238
240
241
243
240
241
239
239
239
240
240
241
242
241
241
241
240
238
236
235
234
235
235
234
233
232
230
229
227
226
225
222
223
214
215
222
211
244
122
26
33
33
32
31
33
32
32
32
34
33
33
33
33
34
35
35
35
35
35
34
35
37
36
36
36
36
37
39
38
39
41
39
36
36
38
43
48
50
49
46
44
43
40
39
40
43
48
50
50
51
51
56
64
68
77
93
114
132
146
167
183
189
189
188
188
188
188
187
186
184
183
182
180
181
180
179
180
180
180
181
181
180
180
179
179
179
180
181
182
184
185
188
191
192
191
192
193
194
196
200
200
203
202
202
203
204
204
205
207
210
208
209
207
206
205
206
209
213
217
214
210
206
205
205
206
207
205
206
205
200
196
190
184
174
167
160
153
143
135
134
144
150
149
143
135
128
125
124
122
119
118
116
114
115
117
117
118
121
122
116
106
98
82
69
55
46
42
43
46
48
47
44
42
45
47
48
54
60
68
75
79
84
89
88
87
88
86
83
82
81
80
80
81
80
75
67
66
68
71
76
75
68
64
67
67
78
84
83
83
82
78
77
75
71
69
66
63
64
67
68
68
67
66
65
64
64
63
62
60
57
55
54
53
53
54
54
55
57
57
56
56
55
52
49
48
46
46
49
55
64
78
103
141
173
195
208
220
230
235
238
242
243
244
240
241
237
239
240
240
241
242
244
242
241
241
238
236
237
236
235
236
236
235
232
231
230
230
227
228
227
225
224
216
218
221
213
243
124
26
33
35
31
31
33
31
33
32
32
34
34
34
34
33
33
33
33
33
34
35
35
36
37
37
37
36
37
39
38
39
40
39
36
34
37
41
45
48
45
42
41
41
40
39
40
43
47
49
48
49
48
53
61
65
74
90
112
130
145
166
180
186
188
188
188
188
187
186
185
183
182
181
181
180
179
178
179
180
179
180
179
180
181
180
180
179
180
183
184
187
186
190
190
191
193
194
193
194
196
200
202
202
204
204
205
206
205
207
206
210
208
207
207
206
205
207
210
213
217
215
211
207
205
206
207
206
205
207
207
205
200
195
190
182
175
169
161
148
140
135
142
147
147
143
136
131
131
131
129
126
121
115
108
104
101
97
97
97
97
93
84
77
66
57
49
44
42
40
42
43
42
42
44
47
49
53
56
61
67
74
77
81
84
83
83
83
83
80
82
80
79
80
82
82
81
79
78
77
78
82
79
70
64
64
66
74
80
80
79
78
76
74
73
69
67
65
62
63
65
66
66
66
66
65
64
65
65
64
61
59
57
55
54
53
54
55
55
57
57
56
57
56
54
51
50
51
50
53
59
65
74
90
113
135
157
181
212
231
236
238
241
240
243
241
242
242
242
245
244
244
243
242
242
241
241
239
238
238
237
236
236
237
236
235
232
233
232
230
228
227
227
226
216
220
223
215
243
122
24
35
34
31
31
33
31
33
33
32
32
32
34
34
34
34
34
33
32
33
34
34
35
37
37
37
36
37
39
38
39
41
38
36
35
36
39
43
45
42
40
39
39
39
39
40
43
47
48
47
45
44
48
56
62
71
88
110
129
143
164
178
184
184
185
187
186
185
184
184
182
181
180
180
179
178
177
178
178
178
179
180
180
178
178
178
180
181
184
185
188
187
191
190
194
192
193
194
195
196
200
203
204
203
203
206
207
207
208
208
209
208
207
207
206
205
208
211
216
218
216
211
207
206
206
206
207
208
209
210
208
205
202
197
191
185
179
170
155
144
139
143
144
144
142
138
135
135
136
135
131
123
113
103
94
87
80
77
74
74
70
64
58
51
47
45
43
41
40
39
37
39
42
45
49
52
56
60
63
68
72
76
78
80
81
81
81
80
80
81
82
80
82
82
83
85
89
87
87
87
86
82
72
65
63
65
71
76
76
76
77
75
73
72
68
66
64
61
62
63
64
64
62
64
65
65
66
66
65
63
60
58
56
55
53
54
54
55
57
58
58
58
57
56
54
54
54
53
55
61
64
68
75
83
97
119
152
204
233
239
239
239
238
240
238
241
243
244
249
249
245
244
243
241
239
240
240
239
238
239
239
239
238
236
237
235
233
233
230
231
230
227
228
220
222
225
219
244
124
26
35
32
31
31
31
31
33
33
33
33
32
32
32
32
33
34
33
32
32
32
33
35
37
37
37
36
37
39
38
39
41
39
38
37
38
39
41
42
41
39
38
38
38
39
40
42
46
46
45
43
40
44
53
60
70
88
110
128
143
162
174
181
183
183
182
183
183
182
183
181
180
179
179
178
177
176
177
179
179
179
179
177
177
179
179
180
181
185
188
188
190
192
191
195
193
194
196
197
196
200
202
203
204
204
205
207
207
209
209
209
208
207
207
206
207
208
211
215
218
216
211
208
207
207
209
210
210
211
211
210
208
206
204
199
193
188
177
160
149
142
142
142
141
138
135
135
136
137
137
134
124
111
98
88
79
70
65
63
61
57
53
49
44
43
43
43
41
39
36
35
39
43
45
49
54
57
61
64
66
70
75
76
78
80
81
82
82
82
82
81
82
81
79
78
86
93
92
92
90
88
83
73
66
63
65
69
73
76
75
77
76
73
71
67
65
63
61
60
62
62
61
62
63
64
64
66
67
66
64
61
59
57
55
54
54
55
55
57
57
58
58
59
57
55
55
56
55
57
62
63
64
67
69
78
96
130
187
218
230
235
237
237
239
237
239
244
245
251
251
246
242
242
242
242
241
239
239
239
239
239
239
238
238
239
237
236
235
233
231
230
229
230
223
224
227
219
246
122
25
33
34
32
33
33
33
33
33
33
33
33
33
33
33
32
32
34
33
32
34
34
35
37
37
37
36
37
39
38
39
41
41
40
40
40
40
40
41
40
38
37
38
40
41
42
43
46
45
42
41
37
41
51
59
72
91
115
134
145
162
172
177
179
179
179
180
180
180
179
178
177
176
175
176
175
174
175
176
176
176
176
177
178
176
176
180
183
184
187
190
189
192
191
195
195
196
196
195
198
200
201
200
202
203
204
204
205
208
209
209
209
209
208
207
208
209
212
214
217
215
208
206
207
208
210
212
213
213
212
211
211
211
210
206
201
197
183
164
152
144
141
136
135
131
127
127
127
129
128
123
114
102
88
79
72
63
60
58
58
54
49
45
40
41
41
40
39
37
35
34
38
43
46
50
55
57
60
62
63
66
71
73
76
80
84
86
88
88
86
84
81
77
71
71
79
92
92
92
89
84
82
75
69
66
69
68
70
76
78
82
81
76
72
68
66
65
64
62
61
58
59
59
61
61
62
64
66
65
65
63
61
59
56
54
53
53
54
55
55
56
56
56
55
54
53
54
55
55
58
60
60
63
62
69
85
112
158
186
207
224
238
241
240
239
241
243
244
251
250
247
245
245
243
241
243
242
242
242
242
242
242
241
241
241
239
238
237
235
234
233
231
233
225
228
229
222
248
123
25
33
33
32
34
34
32
33
33
33
33
33
33
33
32
32
32
34
34
34
35
35
35
37
37
37
36
37
39
38
39
41
42
43
45
44
43
41
39
39
38
37
39
41
44
45
44
45
44
41
38
34
40
51
61
74
94
119
138
148
162
169
174
176
176
176
177
177
176
176
177
175
174
173
173
173
173
174
176
177
177
176
176
176
175
176
179
181
186
186
188
190
190
190
194
193
194
194
197
196
199
200
199
199
200
201
204
206
205
207
209
208
208
210
208
207
209
211
213
216
214
209
206
207
209
211
213
214
214
214
213
214
215
215
212
208
204
189
168
154
143
138
131
127
122
119
116
116
117
116
112
105
92
80
72
68
62
59
59
61
58
52
47
42
40
41
40
39
37
36
35
39
44
48
52
55
56
59
59
60
63
67
71
76
81
87
91
93
92
89
85
79
73
64
62
72
87
90
90
85
81
78
77
72
70
72
68
71
77
81
86
87
80
72
69
67
68
67
65
60
57
56
57
59
61
61
63
66
67
66
64
62
60
58
55
53
54
53
52
53
54
53
52
52
52
51
52
54
54
55
56
57
60
62
71
84
100
128
152
184
211
237
245
242
240
239
241
245
250
249
248
249
247
245
243
242
242
243
243
242
244
243
242
240
243
241
240
239
237
236
235
232
236
226
230
231
224
248
121
25
33
35
32
34
34
34
32
33
33
33
33
33
32
33
34
34
35
36
34
34
35
36
37
36
36
36
37
39
38
39
40
43
45
47
47
44
42
40
38
37
36
39
43
46
47
46
45
43
39
36
32
38
50
61
75
97
123
142
152
162
168
172
174
174
175
175
175
175
176
176
174
173
173
174
174
175
176
176
177
177
178
178
177
176
175
179
181
184
186
189
188
191
190
194
194
195
195
196
197
198
199
199
198
200
201
203
205
206
206
209
209
210
210
209
207
208
211
211
214
212
207
206
207
209
211
214
214
214
215
216
216
220
220
216
213
210
194
171
155
142
135
126
121
115
111
108
106
108
107
102
96
85
73
66
65
60
59
61
64
61
53
48
41
40
40
39
38
38
36
35
39
44
49
52
56
56
57
57
57
60
63
69
77
82
89
97
98
95
93
87
78
68
57
54
68
85
87
88
83
77
76
78
76
75
73
68
70
78
83
91
91
83
74
69
68
69
69
66
61
55
53
54
56
58
60
63
66
67
66
64
63
61
58
55
55
54
52
51
51
51
51
50
50
51
50
50
54
53
51
52
54
57
64
73
82
89
101
120
162
200
237
248
245
241
238
239
243
249
250
251
252
251
245
243
240
243
244
244
243
245
244
243
241
245
243
242
241
239
238
237
234
236
228
232
233
226
249
123
26
33
34
31
33
32
33
34
32
33
33
33
33
32
33
35
35
34
35
36
35
36
37
37
38
38
37
38
39
38
39
41
42
46
49
48
46
43
41
39
38
39
41
44
45
47
47
45
44
42
40
38
44
57
69
83
104
127
144
153
160
164
168
171
171
170
170
170
171
172
172
171
170
172
171
170
171
172
173
173
174
176
175
175
175
173
177
179
182
186
188
188
189
188
190
189
192
192
191
194
195
196
197
198
197
198
199
202
204
205
206
206
207
206
206
207
207
208
210
212
210
207
205
206
208
210
213
213
214
215
216
217
221
222
220
218
213
196
170
151
137
130
123
119
113
106
100
99
100
100
96
87
76
65
60
59
55
56
58
60
58
52
48
41
40
42
43
43
44
45
45
48
53
57
59
59
60
58
59
57
57
63
68
75
82
90
100
101
99
96
91
82
70
59
56
69
86
89
89
85
81
79
78
76
77
77
74
75
80
85
88
88
82
77
74
73
73
75
73
66
60
60
59
59
61
62
64
67
67
67
65
64
62
58
56
55
54
53
52
51
50
50
49
48
49
49
50
53
53
52
52
53
57
65
72
78
83
84
99
136
176
214
230
232
237
241
242
243
246
247
249
251
252
247
245
243
242
244
245
244
245
246
245
244
247
245
244
243
239
239
238
235
238
231
232
237
228
248
121
26
33
32
31
31
31
31
33
33
33
33
33
33
32
33
35
34
34
35
37
37
37
37
38
39
39
39
38
39
40
40
41
43
47
49
48
45
43
41
40
40
41
41
43
46
47
47
44
44
46
46
45
54
67
78
94
112
131
145
151
156
159
162
164
165
165
165
166
167
165
166
167
168
168
166
167
168
169
170
170
171
172
173
171
173
173
174
176
179
182
184
186
185
187
185
185
188
187
188
189
190
191
194
196
195
198
197
200
200
202
202
202
203
203
202
204
206
206
210
209
209
206
204
205
207
210
213
214
212
213
215
217
222
223
220
220
214
195
165
145
133
127
120
118
112
102
96
95
94
94
91
81
68
59
54
52
50
53
55
58
56
53
49
43
42
46
50
53
56
59
61
62
64
66
67
65
63
62
60
60
59
64
67
74
83
93
100
103
102
98
97
89
78
68
65
75
90
92
92
89
88
86
81
78
77
79
82
83
82
84
83
81
81
81
81
82
81
81
79
75
71
70
67
64
62
64
65
67
68
67
66
65
62
59
57
56
55
54
53
52
50
49
48
47
47
49
51
51
53
53
52
54
59
66
72
75
78
77
89
117
147
177
199
213
231
244
243
242
242
242
247
251
251
248
246
245
243
244
245
245
246
248
247
246
249
247
246
245
242
239
238
237
240
235
233
238
232
248
121
25
33
32
31
32
31
31
33
33
33
33
33
33
32
33
35
34
36
36
37
36
36
37
39
38
38
39
40
40
41
40
41
44
47
49
48
45
43
41
42
42
42
42
44
45
46
46
44
44
48
49
52
63
76
87
101
118
135
147
150
153
155
157
158
160
161
160
161
162
162
162
163
165
164
164
164
165
166
167
169
169
171
171
170
169
169
172
175
177
179
182
183
183
184
184
185
185
184
187
187
188
190
190
193
194
197
198
199
200
200
201
202
202
203
203
203
204
205
209
209
208
206
203
204
207
211
214
212
210
211
212
216
221
224
222
221
216
194
162
140
130
127
120
117
109
99
93
92
89
88
85
76
64
54
50
48
46
47
52
56
55
52
48
43
45
50
54
60
63
68
71
72
72
74
72
69
66
63
60
60
60
63
67
75
85
94
101
103
102
101
99
93
83
75
73
80
91
94
94
94
92
90
86
80
79
79
86
90
88
83
79
78
81
82
85
87
87
85
84
82
79
77
72
67
65
64
66
68
70
68
67
66
63
61
58
57
56
55
54
52
51
49
48
47
47
49
50
52
55
54
53
55
60
66
69
73
74
71
77
99
123
151
178
202
231
245
243
240
237
239
245
252
252
250
247
245
245
245
248
248
247
248
250
250
249
246
247
246
244
242
241
238
241
235
235
240
234
249
124
26
33
34
31
31
31
34
32
33
32
32
32
32
32
33
36
35
37
36
36
37
37
38
38
39
40
40
41
41
40
41
42
43
46
47
46
44
42
41
41
42
41
42
43
44
44
44
44
45
51
54
59
71
84
95
108
122
135
144
147
149
150
151
153
155
156
155
156
157
158
157
158
159
160
161
162
162
163
165
167
168
168
168
167
166
167
170
172
174
177
178
177
178
180
180
181
182
182
181
183
184
184
188
189
191
194
196
195
198
198
199
198
200
201
200
201
202
202
207
207
206
204
202
203
206
210
212
210
209
209
211
215
220
223
224
221
215
195
161
137
124
121
118
115
106
95
88
86
83
82
80
71
59
50
46
45
43
44
48
53
53
50
47
42
46
52
57
62
67
74
77
78
77
78
76
73
69
66
64
63
61
65
69
76
83
91
97
100
99
101
98
92
86
81
78
84
92
94
95
95
94
92
87
82
81
82
90
95
91
81
77
76
79
82
86
89
90
90
89
87
85
83
78
71
68
66
68
70
70
69
68
66
64
61
59
57
56
56
55
53
51
50
49
48
48
50
52
52
53
53
53
55
60
64
67
68
69
65
68
85
102
123
155
187
223
242
241
238
232
235
242
249
250
249
249
248
247
248
246
248
248
249
249
249
250
248
247
247
244
244
243
240
242
236
237
242
236
250
124
27
35
32
30
33
33
35
32
32
32
34
34
34
33
34
38
38
38
39
39
40
40
40
40
40
41
40
40
41
42
41
41
41
42
42
42
41
40
41
41
41
42
41
41
40
40
40
39
43
53
61
68
81
94
105
115
123
132
139
140
143
145
144
146
148
149
151
153
153
152
153
154
154
156
157
159
159
160
162
164
165
165
164
164
162
163
166
169
170
173
174
173
176
176
174
175
176
178
176
177
180
179
183
183
187
189
192
193
195
195
197
197
198
198
199
199
198
200
205
205
204
202
200
201
204
207
209
208
207
205
208
213
218
221
220
218
212
191
156
131
117
112
110
108
102
92
84
84
84
81
77
69
57
48
44
43
41
43
46
50
50
47
44
40
44
52
56
62
68
74
78
78
79
78
78
77
76
75
73
71
70
72
73
75
79
82
85
87
89
91
91
90
89
87
87
89
93
93
95
93
94
94
90
86
86
87
93
94
89
82
77
74
76
79
80
85
90
90
89
86
83
81
78
74
71
69
71
70
70
69
68
66
64
62
60
58
58
58
57
55
54
53
52
51
50
51
53
53
54
56
55
55
59
62
63
64
65
60
62
75
86
102
132
166
199
224
229
232
237
240
240
242
245
247
248
249
250
249
246
247
249
252
251
250
251
248
250
249
247
246
245
244
244
238
238
245
237
250
125
28
34
32
31
31
33
36
33
33
33
34
34
34
34
35
39
38
39
40
40
40
41
41
42
42
42
42
41
42
43
43
42
40
37
36
36
38
40
39
40
39
40
39
36
33
33
33
35
43
54
66
78
93
105
115
125
128
129
130
131
135
138
138
140
141
142
144
146
147
147
148
150
150
152
153
155
156
157
159
160
160
160
159
159
158
159
161
162
167
166
169
169
170
171
169
172
172
171
173
172
173
174
179
180
180
184
184
188
190
192
194
194
195
195
196
196
197
198
203
203
202
200
200
200
204
207
209
206
202
200
204
210
216
219
217
217
210
186
146
119
106
103
103
101
94
85
80
81
83
81
77
70
59
49
45
42
40
41
44
48
47
43
40
37
41
50
55
60
64
68
72
72
75
76
78
80
83
84
84
82
81
79
78
76
73
71
69
72
72
77
80
85
91
94
95
94
95
94
94
92
93
94
94
93
94
93
95
92
87
83
78
73
71
71
73
77
83
88
88
84
81
78
76
75
73
74
73
72
71
69
68
66
65
63
61
60
60
61
59
57
57
56
56
56
54
54
56
56
57
58
57
57
58
59
59
59
58
53
54
63
72
84
110
140
172
201
215
229
247
248
240
236
238
244
250
252
253
250
249
248
250
252
253
251
252
251
250
251
249
246
246
246
246
240
239
245
238
251
128
30
35
33
32
32
32
35
36
36
36
37
37
37
37
37
40
40
40
39
40
41
42
42
41
42
43
43
43
43
42
42
42
40
37
35
36
38
39
39
38
39
38
35
34
32
32
33
37
45
58
72
86
100
111
121
128
128
126
126
126
130
133
134
135
137
138
138
141
143
144
145
146
148
149
150
151
152
152
155
156
157
158
156
158
156
158
157
159
161
161
162
162
162
163
163
166
166
165
168
169
170
170
173
173
177
177
181
184
186
188
190
191
191
191
193
192
193
195
200
200
199
197
196
197
200
204
205
202
199
198
200
205
210
213
213
212
204
181
147
122
107
104
101
96
90
81
75
75
77
76
73
67
57
48
44
42
40
40
42
46
45
41
39
36
41
50
56
60
64
66
68
69
72
74
76
81
85
86
86
87
88
84
81
77
73
67
63
62
64
67
71
79
87
95
97
95
95
92
93
90
90
91
92
93
97
94
94
90
86
83
79
74
71
66
67
72
80
85
85
82
79
76
76
75
76
76
75
74
73
70
69
67
66
65
63
62
61
60
59
58
58
57
56
56
55
56
57
57
58
59
59
59
58
57
55
54
53
50
49
55
65
74
95
119
146
177
201
221
245
248
239
235
236
243
250
255
253
252
251
251
250
253
253
254
253
253
252
250
250
248
250
247
247
241
241
249
241
251
128
32
35
35
33
33
35
34
36
36
36
37
36
36
36
38
40
40
39
40
41
42
41
42
43
42
42
42
42
42
43
44
43
42
39
37
38
39
40
39
38
39
37
36
35
36
37
39
43
51
65
78
89
101
112
119
126
126
124
123
124
129
131
132
134
136
137
139
141
143
144
144
145
147
148
148
148
149
150
151
152
154
154
155
155
155
154
155
158
159
159
159
157
159
158
160
160
159
162
162
163
166
167
168
170
173
176
178
181
183
184
188
188
190
190
189
191
192
193
196
197
197
195
193
194
198
200
202
202
202
201
201
202
204
204
203
202
196
181
158
141
128
117
105
97
89
79
72
70
70
69
66
60
52
45
42
41
39
40
43
46
45
43
41
38
43
51
54
57
61
63
64
66
68
70
73
77
80
80
82
86
87
84
83
80
76
70
64
63
65
66
69
72
78
87
91
93
94
91
92
88
85
85
86
88
90
91
91
88
86
84
81
77
74
67
67
71
77
83
83
80
77
77
77
76
77
78
77
76
75
73
72
68
67
65
63
60
59
59
58
57
57
56
55
55
54
55
57
57
58
59
59
59
57
54
53
51
52
53
52
54
59
65
86
104
124
155
182
203
233
240
238
237
239
246
251
252
251
251
251
252
249
251
250
252
254
252
254
252
251
250
250
247
247
242
243
252
243
252
130
34
41
41
39
38
36
35
36
34
36
37
38
37
38
39
38
39
40
40
41
42
43
43
43
44
44
45
45
45
45
45
45
44
43
42
40
39
39
37
36
35
34
34
36
38
43
48
55
64
74
84
92
100
107
113
117
118
118
119
121
126
130
131
133
136
137
138
141
142
143
142
144
146
145
145
146
147
148
149
150
152
153
151
151
151
151
154
152
152
151
152
152
152
154
154
152
152
153
153
154
159
158
161
166
169
172
174
175
179
181
184
186
186
187
188
189
190
191
191
192
190
186
184
186
191
195
199
200
202
203
201
199
194
192
189
187
185
181
178
174
162
139
115
98
89
79
70
65
62
58
53
49
44
40
40
41
41
42
43
45
46
46
46
46
48
52
56
58
59
60
61
63
65
66
67
69
72
74
76
79
81
83
85
85
82
75
71
69
65
66
64
66
70
75
79
86
95
90
90
81
74
75
75
75
78
80
86
90
89
85
83
80
77
73
69
70
74
77
78
78
80
79
78
77
78
78
79
79
78
76
75
73
69
66
63
61
60
59
57
55
54
53
52
52
53
54
55
57
59
60
60
59
55
50
46
45
49
55
59
57
55
54
66
81
94
124
154
180
215
229
237
241
245
250
250
252
254
254
253
253
250
246
247
251
253
252
254
251
248
248
249
245
247
243
245
255
246
254
133
36
46
45
42
41
39
36
34
34
35
36
37
38
38
38
38
37
40
40
41
43
44
45
43
43
44
46
44
45
46
46
46
46
47
46
44
41
38
37
37
36
36
37
40
44
49
56
64
72
82
90
97
102
107
110
112
113
115
116
119
123
128
131
133
136
138
138
139
141
142
141
142
143
141
142
144
145
146
148
148
149
149
149
150
148
148
150
149
149
147
148
149
147
147
149
147
148
148
147
151
152
152
158
162
165
168
171
173
176
178
181
180
180
184
185
185
187
186
185
186
184
179
178
180
185
189
196
197
201
203
199
192
184
181
180
178
179
181
189
194
185
154
121
99
90
79
68
62
55
50
46
43
40
38
37
39
40
42
43
45
47
48
48
49
51
54
56
58
59
59
59
61
63
63
62
63
65
67
70
74
78
82
85
88
86
79
75
72
67
64
60
61
65
67
70
81
93
91
89
79
70
70
69
66
70
73
81
87
89
87
86
83
79
75
70
68
71
72
72
76
80
81
79
78
77
78
79
80
80
78
77
75
72
68
64
62
61
58
55
54
53
52
51
50
51
53
53
57
59
59
60
58
55
49
43
43
49
58
63
58
54
50
54
63
72
100
130
160
195
214
232
241
246
253
252
252
255
254
254
253
249
244
245
251
250
252
254
252
250
247
249
246
248
244
247
255
250
254
131
36
46
46
41
41
38
37
35
36
37
40
41
42
40
40
38
37
40
40
41
43
44
45
43
44
45
46
46
46
46
46
46
47
47
47
46
43
41
39
38
38
37
40
43
48
54
62
72
81
90
95
100
105
108
109
111
114
115
116
120
125
129
130
132
134
135
135
136
138
140
139
140
141
140
141
142
144
144
146
146
147
148
148
148
147
147
146
144
144
144
144
144
143
143
145
143
146
146
143
147
149
148
153
157
161
163
167
169
171
173
178
178
178
181
181
182
184
184
184
183
181
178
176
178
182
186
190
194
199
201
197
187
176
171
169
167
169
176
189
197
189
158
126
104
93
83
73
66
58
50
46
43
40
38
39
40
41
42
43
44
46
47
47
48
50
52
53
53
54
55
56
58
59
61
60
60
59
62
65
68
75
78
84
89
88
82
77
73
69
62
60
58
61
63
67
77
91
90
89
81
72
71
69
64
67
72
77
83
85
86
87
86
81
76
71
68
68
70
71
76
80
80
79
78
77
77
78
79
79
78
77
76
73
70
68
66
63
61
58
55
54
53
52
51
50
51
53
56
57
58
58
56
55
51
46
46
51
58
61
57
53
49
51
56
60
84
113
140
175
199
224
240
248
253
252
253
253
251
252
251
249
245
247
251
251
253
255
253
250
247
250
247
249
245
248
255
250
255
129
35
45
45
40
39
38
38
40
39
42
43
44
43
42
42
40
40
41
39
41
42
44
43
43
44
47
45
45
46
47
46
44
46
48
47
46
46
44
43
42
43
44
47
50
55
60
71
80
87
95
100
104
108
109
110
113
115
116
117
121
125
130
129
129
131
132
133
134
135
136
137
137
138
139
140
141
143
143
145
146
145
145
145
146
145
145
143
143
141
141
141
141
142
140
142
139
142
142
139
143
143
143
146
151
153
155
160
163
166
168
173
174
175
177
177
178
179
180
181
179
177
174
175
176
179
183
188
190
193
195
190
180
170
164
161
157
159
167
181
189
183
157
129
110
100
92
82
74
65
57
51
49
46
43
42
44
44
44
43
43
44
44
43
44
46
48
49
49
50
52
54
55
56
57
58
57
55
58
61
65
71
74
80
86
86
79
76
72
66
59
57
56
58
58
62
75
88
90
90
86
79
77
73
69
68
69
73
77
81
83
86
84
81
77
73
69
67
66
68
75
81
81
79
77
76
76
77
78
79
78
77
77
76
75
72
70
69
67
63
59
57
55
53
51
49
50
53
54
54
55
55
55
55
55
54
54
55
55
54
51
50
49
51
56
58
76
98
120
147
176
212
233
243
249
252
255
252
249
248
246
248
247
248
251
253
255
254
252
249
246
248
248
252
247
249
255
250
254
130
34
44
42
40
39
39
41
44
44
45
46
47
45
44
43
43
42
40
41
40
41
43
44
44
44
46
45
46
47
47
47
45
47
48
49
49
48
49
49
50
51
54
57
61
66
72
81
88
95
101
105
109
113
114
113
115
116
117
119
120
124
128
128
128
128
129
130
131
133
134
135
135
137
137
138
140
142
142
144
145
145
145
145
144
143
142
140
139
139
139
141
139
139
140
138
137
137
138
136
137
140
139
141
146
149
150
155
158
160
160
166
166
168
170
171
174
174
174
176
174
172
170
170
172
176
179
182
182
184
184
179
171
162
155
152
149
149
156
167
174
169
152
133
117
110
102
93
86
77
67
59
56
53
49
48
47
46
45
44
43
42
42
41
40
42
43
43
44
45
48
52
53
53
53
53
52
53
54
57
60
65
68
74
81
81
76
73
70
64
58
57
55
57
56
60
73
88
90
92
91
88
86
81
74
71
69
69
71
76
79
83
84
80
78
74
70
66
64
67
75
82
82
79
76
74
73
74
76
77
78
78
78
79
79
77
75
75
74
70
65
60
56
54
52
49
49
52
53
53
51
50
51
54
60
64
63
58
51
48
48
50
54
56
58
58
69
82
96
115
148
194
222
239
250
254
255
252
247
245
244
248
250
252
251
255
254
252
249
244
245
248
249
254
250
250
255
251
255
131
33
43
42
39
39
42
43
46
46
47
48
48
47
46
43
42
41
40
40
41
42
43
43
42
44
45
47
47
47
46
47
48
48
48
49
50
51
52
54
55
59
62
66
70
75
81
88
96
101
105
108
112
115
116
117
117
117
118
120
121
125
129
128
127
128
129
130
130
131
133
133
135
136
137
138
141
141
141
143
144
142
142
141
140
138
137
136
137
138
138
140
139
139
139
137
136
135
133
132
132
137
137
136
140
145
147
150
154
154
156
161
160
161
164
166
167
168
168
170
168
167
166
166
167
169
172
176
176
177
177
173
163
152
145
140
140
140
144
153
159
157
142
128
116
111
102
93
86
78
70
64
59
55
52
50
48
46
46
44
43
42
41
39
38
39
40
41
43
45
48
50
52
53
52
52
51
51
52
53
56
59
66
72
77
78
74
72
69
64
59
56
54
54
54
59
70
85
88
91
95
93
90
85
77
73
70
67
68
72
77
81
82
80
77
74
71
66
65
68
76
80
83
80
76
74
73
73
73
75
77
76
77
79
80
80
80
79
77
73
67
62
58
54
51
47
49
53
52
52
49
46
47
53
61
70
70
61
49
44
46
51
56
56
57
56
64
72
82
94
126
176
209
227
243
249
253
249
246
242
243
250
254
254
250
255
252
249
245
243
244
248
249
255
253
250
255
250
254
129
32
40
41
38
40
41
42
45
45
46
47
47
46
44
42
41
40
41
41
42
43
44
44
43
45
47
47
47
49
50
51
50
51
52
53
55
57
59
61
62
67
70
74
79
83
87
95
103
107
111
112
115
116
117
118
119
120
120
120
123
127
130
131
130
131
132
132
132
132
134
134
136
137
138
139
141
142
143
144
143
142
142
141
141
139
136
135
136
137
138
138
136
136
137
133
133
131
132
130
130
132
132
135
138
141
141
146
150
151
152
156
157
158
158
160
160
161
161
163
162
162
163
162
162
164
167
169
168
168
167
162
152
141
134
130
128
127
131
139
143
142
131
120
110
105
96
87
80
73
66
60
56
53
51
48
47
45
45
45
44
43
42
41
40
40
41
42
43
45
47
48
49
50
50
50
49
48
50
51
54
56
62
67
72
74
72
71
68
63
58
54
54
54
53
54
66
79
84
87
91
93
90
86
79
74
71
68
66
70
74
77
79
80
76
75
73
71
70
72
76
81
82
81
79
77
76
74
74
75
76
76
76
78
79
80
79
79
78
74
68
63
59
55
52
48
50
55
56
56
53
49
48
53
60
67
67
61
51
45
47
49
54
53
54
54
59
65
73
83
115
159
189
210
230
242
250
248
247
243
245
252
255
253
248
252
249
247
245
245
246
249
250
255
252
248
255
248
253
129
30
38
40
38
38
40
41
42
43
43
44
45
43
42
41
39
39
39
41
42
44
46
45
46
48
49
50
51
52
53
54
54
56
61
63
65
68
71
73
76
81
85
88
92
96
101
107
111
115
118
120
121
120
120
121
121
121
122
123
127
131
132
133
133
134
135
136
135
134
136
137
138
139
140
140
143
145
147
148
147
146
145
144
142
140
138
135
137
137
137
135
136
135
135
132
129
129
130
128
128
131
131
130
134
137
137
143
146
147
148
151
151
152
151
153
153
152
152
153
153
154
155
154
155
156
158
159
158
156
154
147
137
128
121
117
114
111
113
119
122
119
109
100
91
86
79
74
68
61
56
53
50
48
46
46
46
44
44
43
42
42
43
42
42
43
42
43
44
45
46
46
48
48
49
47
45
44
46
47
50
54
56
60
67
68
69
69
66
60
57
54
51
51
51
53
62
74
79
81
87
90
88
84
82
76
75
69
66
67
71
73
75
75
76
76
78
76
75
77
79
82
82
81
81
81
79
77
76
75
74
73
74
76
77
79
78
78
77
72
67
62
60
57
54
51
52
56
58
61
59
53
52
56
60
64
64
61
53
47
48
50
54
52
53
52
53
55
59
64
90
131
158
181
210
231
243
247
248
246
249
253
255
252
247
247
246
245
249
250
251
252
251
255
251
245
254
244
251
125
27
36
37
37
39
37
38
37
38
38
39
40
41
40
39
39
39
41
41
42
44
47
48
48
50
52
53
55
56
58
59
60
64
68
73
75
79
83
87
91
95
100
104
107
111
114
118
119
119
122
123
123
123
123
122
122
124
126
127
129
133
136
137
137
138
139
139
139
139
139
142
141
141
142
144
145
146
147
149
149
148
145
144
142
140
138
135
135
135
136
135
132
131
131
129
128
128
125
127
126
126
126
127
130
132
134
136
140
140
141
143
144
144
146
144
144
143
143
145
143
144
145
147
147
147
150
151
147
142
137
131
121
111
104
98
94
92
92
95
97
94
88
81
74
69
64
60
56
52
48
45
44
43
43
42
43
43
44
44
43
43
43
42
41
42
43
44
45
46
43
42
43
44
45
45
42
41
41
43
46
49
53
55
62
64
64
66
64
56
57
52
50
50
49
49
58
65
72
75
83
87
85
85
83
78
76
69
65
67
68
69
71
75
78
80
82
81
81
81
81
80
81
83
85
86
85
82
78
75
73
72
70
72
74
74
75
76
75
73
69
64
60
57
56
55
58
64
67
67
65
61
59
59
61
63
62
59
55
51
50
51
52
50
50
50
50
49
49
51
70
99
125
150
186
213
235
240
245
250
252
254
255
249
246
246
242
243
246
250
254
254
252
255
248
246
250
242
252
125
29
36
37
38
40
37
37
36
36
38
37
38
41
40
39
40
40
41
44
47
50
51
54
58
59
63
64
65
67
68
68
68
72
76
80
84
88
92
96
100
103
107
111
114
117
120
121
122
124
125
126
126
124
123
123
124
126
128
130
133
137
140
141
142
142
141
140
140
141
142
141
141
143
144
146
147
147
148
150
150
147
146
145
143
140
138
137
137
136
135
134
131
130
131
130
129
126
126
124
124
126
125
129
130
130
133
133
135
137
138
139
139
142
142
142
140
139
139
139
138
140
142
143
145
145
145
145
140
135
129
122
113
102
94
89
86
84
83
84
85
83
78
72
66
61
57
54
51
49
45
43
42
41
41
42
42
43
45
46
44
43
43
44
44
42
45
46
46
45
42
41
42
43
44
44
42
40
40
42
44
46
51
54
59
61
62
64
62
57
56
54
52
51
48
48
53
59
64
68
78
85
86
83
81
78
74
68
63
66
69
71
74
77
80
82
81
81
80
80
80
79
79
82
86
88
87
82
77
74
73
70
68
70
72
72
73
73
74
71
67
63
60
58
57
58
61
66
69
69
67
65
63
61
60
58
58
56
55
54
52
52
51
50
49
48
48
49
49
50
63
82
102
124
161
188
211
224
238
245
251
250
251
245
244
245
245
243
245
251
255
255
251
254
247
246
250
243
253
128
30
37
40
40
42
39
37
34
36
37
37
39
40
41
41
43
45
47
50
54
57
61
63
67
68
70
72
74
76
77
77
77
81
85
90
94
97
101
104
108
110
114
117
119
120
121
124
126
126
126
126
126
126
126
128
129
131
134
136
138
142
144
144
144
145
145
145
145
144
143
143
143
144
146
146
147
148
149
152
149
148
147
146
143
141
139
135
136
135
132
133
132
131
129
128
127
125
124
125
123
124
124
128
128
131
132
132
135
137
137
138
138
137
136
137
135
137
136
134
133
135
137
140
139
139
139
138
133
128
121
113
105
94
87
82
78
76
74
74
74
72
68
64
58
56
53
49
47
45
42
41
41
40
41
42
43
43
45
45
44
44
45
44
45
45
46
47
47
45
43
41
41
43
44
44
43
42
40
41
43
45
48
52
57
58
59
63
61
57
56
55
52
51
49
47
48
50
54
62
76
87
88
84
81
77
73
66
61
63
70
74
78
81
81
83
81
78
75
76
78
79
81
85
89
91
89
84
78
74
71
69
67
68
69
68
69
70
70
69
65
62
61
59
59
61
63
67
70
71
71
71
69
65
60
54
52
54
56
56
54
51
50
50
49
49
49
50
51
54
62
73
85
101
137
166
188
211
235
244
252
249
244
241
242
247
248
249
249
254
255
254
250
253
246
247
254
245
254
128
31
38
40
44
45
41
38
31
33
34
35
37
38
40
41
45
47
52
56
60
64
69
71
75
77
79
82
82
84
86
86
86
91
96
101
104
107
111
112
113
117
119
121
122
123
124
126
127
128
128
128
128
128
128
129
131
134
137
140
142
144
146
147
147
147
148
147
147
146
146
146
146
145
146
147
148
150
150
151
149
148
147
145
143
140
138
136
135
134
131
132
130
131
130
128
129
127
124
123
123
125
124
126
129
130
130
133
133
134
134
134
134
134
135
133
134
132
131
131
130
130
133
135
136
138
137
133
126
120
112
104
95
86
79
74
70
68
66
64
63
60
57
56
52
49
47
46
46
45
42
40
40
40
41
42
43
44
46
45
44
44
45
46
45
46
47
48
47
45
43
42
42
44
45
45
44
43
42
41
42
43
46
49
54
55
57
61
60
57
56
55
52
49
49
48
47
42
47
58
75
86
89
86
83
78
73
65
59
64
71
76
80
82
83
83
80
76
72
73
76
78
82
86
90
92
91
86
80
76
72
68
66
65
65
65
66
66
66
66
63
61
61
60
60
61
63
66
69
72
74
73
71
67
59
50
47
51
57
59
57
51
48
48
48
50
51
52
52
53
54
55
59
73
107
137
159
190
224
238
250
247
237
239
240
249
250
251
252
254
254
251
249
252
245
250
255
249
254
130
32
40
44
45
47
43
42
35
37
39
41
43
45
47
48
55
57
62
67
71
76
80
83
85
89
91
93
94
95
97
97
99
103
106
111
114
116
119
121
123
125
126
127
128
128
129
131
133
133
133
133
133
133
134
133
135
138
141
143
145
146
148
149
148
148
149
148
148
148
149
147
146
146
147
148
148
149
149
149
148
147
146
144
141
138
137
136
134
133
130
130
130
131
129
130
128
128
125
124
124
124
124
128
128
128
132
131
135
133
133
133
133
132
131
131
130
129
129
128
127
129
132
135
134
134
133
131
123
114
106
98
90
83
76
72
68
64
60
57
56
54
52
51
49
47
46
46
45
44
43
42
41
41
42
43
44
45
46
45
44
44
45
46
46
47
48
49
47
45
43
42
43
45
45
44
45
44
43
42
41
41
44
47
51
53
54
57
59
56
55
54
52
50
49
48
45
41
45
55
69
81
83
82
82
78
75
67
64
65
72
76
79
80
82
82
79
73
71
71
74
76
77
82
86
89
88
84
80
76
73
69
66
65
64
63
64
65
65
65
64
62
62
61
60
61
63
65
68
71
74
73
73
67
57
48
45
48
52
54
54
51
50
49
49
51
52
52
54
54
52
48
50
57
85
109
129
161
200
218
237
237
234
239
243
248
249
250
251
253
251
252
251
250
243
248
255
249
253
128
32
40
44
43
45
45
48
45
48
50
52
54
57
60
62
66
71
76
81
85
90
94
96
97
99
102
103
103
104
105
107
109
111
114
118
120
122
124
126
127
128
130
130
131
131
132
133
134
135
135
135
134
134
134
136
139
141
145
146
147
148
149
148
148
149
150
150
148
147
147
148
148
148
147
146
148
148
148
146
146
145
144
141
139
137
136
135
134
132
130
130
130
130
130
130
131
130
129
128
126
126
129
129
129
129
133
132
136
134
135
133
133
132
130
132
130
128
129
128
128
130
132
134
134
132
131
129
121
113
104
97
88
80
74
70
66
62
58
55
52
51
51
50
48
49
48
47
47
47
44
43
43
44
44
44
45
46
45
46
45
44
44
45
45
45
48
48
47
44
43
42
45
48
46
45
46
45
44
43
41
41
43
45
49
53
52
54
57
55
54
53
50
49
49
48
46
46
50
55
65
72
75
76
80
79
79
73
70
70
72
73
74
75
77
78
77
75
73
72
72
71
72
75
81
84
83
82
78
75
73
70
67
66
64
63
64
65
66
66
64
63
63
61
60
61
61
61
63
65
68
70
71
66
56
51
49
48
50
51
51
49
48
49
52
53
53
54
54
54
51
46
48
53
72
88
103
136
175
197
217
229
238
244
245
248
249
252
252
251
250
252
252
252
245
245
253
246
252
128
32
42
43
41
46
49
53
54
56
59
62
63
66
69
73
77
80
86
91
95
100
104
106
108
110
112
112
112
110
114
115
116
119
122
124
126
128
129
130
131
132
132
133
134
134
133
134
136
136
135
135
135
136
136
139
142
144
147
148
148
148
148
148
149
150
149
148
148
149
149
146
145
145
146
145
144
144
145
143
142
142
140
137
136
136
134
135
133
131
131
131
131
132
131
133
133
132
132
130
132
132
132
133
133
133
135
135
137
135
134
134
133
132
130
132
130
129
131
129
127
130
133
135
134
131
130
126
119
111
102
95
87
79
73
69
65
62
58
52
50
49
48
48
49
49
49
49
50
50
48
48
47
47
47
45
45
46
46
46
45
44
44
44
46
47
46
47
46
44
42
42
45
47
46
46
47
47
45
44
43
41
43
44
46
49
50
52
55
52
53
50
50
51
49
47
48
50
55
57
61
65
67
73
79
82
82
80
78
76
71
68
67
67
71
73
75
77
76
75
70
67
68
71
76
78
80
79
78
77
73
71
68
67
66
65
65
66
67
68
67
67
66
63
61
59
57
57
55
56
61
65
67
66
60
55
52
50
47
47
47
48
49
51
54
55
57
55
52
51
48
45
47
51
62
70
81
114
149
173
193
218
244
250
248
248
248
249
250
247
248
250
252
255
248
243
246
239
252
130
37
46
46
46
49
56
63
69
72
75
77
79
82
85
88
92
97
102
108
112
117
121
123
121
124
126
125
123
125
125
126
127
129
130
133
133
135
137
137
137
137
136
135
135
135
136
137
138
139
140
140
141
141
140
141
144
146
149
150
151
150
149
149
151
152
150
150
150
150
150
146
145
143
144
144
143
142
141
141
140
141
138
136
136
134
134
135
133
131
132
134
132
132
131
134
134
132
132
134
134
133
133
135
133
135
136
135
138
137
136
136
133
132
130
132
131
132
130
130
130
131
133
135
133
131
129
125
118
109
100
94
86
78
73
68
64
62
57
52
49
48
48
47
48
50
50
50
53
52
50
50
49
49
48
47
47
47
46
46
45
44
45
46
46
46
46
45
45
43
42
42
44
47
47
46
47
48
46
44
43
41
44
43
45
46
47
50
53
52
52
49
50
51
49
46
49
54
56
54
55
57
60
68
78
80
84
83
84
79
71
64
63
64
66
68
72
78
80
78
68
62
60
64
69
72
74
75
75
75
73
71
69
68
67
66
66
67
67
68
68
69
68
64
62
59
56
55
52
50
55
61
65
67
63
58
55
50
45
44
44
47
50
53
56
57
55
54
52
48
48
46
47
45
49
50
57
87
119
145
170
205
247
251
248
251
249
247
247
246
248
249
252
255
248
241
240
234
250
140
55
62
65
64
67
70
80
85
87
90
89
92
95
98
100
106
109
112
116
120
126
129
130
128
129
130
129
127
127
128
130
131
133
133
136
138
138
136
138
140
139
139
139
138
138
139
140
140
142
143
143
144
144
143
143
146
148
150
151
151
150
150
148
148
150
151
150
149
150
149
147
145
144
143
141
140
139
139
140
138
139
136
136
135
136
134
134
134
132
132
133
135
135
133
133
135
134
135
137
135
136
136
134
136
135
134
137
135
134
135
135
133
134
131
132
131
132
129
129
129
130
131
132
131
129
127
122
115
106
98
92
84
78
72
68
64
61
56
52
50
49
48
47
48
49
49
49
49
48
48
49
49
47
47
48
46
45
46
44
43
43
43
43
43
44
44
45
45
43
42
42
45
48
48
48
48
48
47
45
44
42
45
44
45
44
45
47
49
49
51
51
51
49
47
49
49
53
54
54
55
55
57
64
71
75
78
80
80
75
69
65
64
66
69
70
71
75
79
78
72
67
65
68
70
70
72
74
74
73
73
71
69
67
65
64
64
65
66
68
67
67
67
64
60
58
56
52
50
50
53
59
64
64
61
59
57
53
47
44
46
49
50
52
54
55
53
50
48
45
45
48
51
50
48
47
49
73
98
125
146
189
237
245
244
245
245
246
246
246
251
252
255
255
247
240
242
231
248
150
73
81
82
80
85
86
96
98
100
102
105
105
107
108
111
116
119
123
127
130
133
136
137
135
134
133
132
130
128
130
132
134
134
136
136
136
137
138
138
137
136
137
138
137
137
139
140
141
142
144
144
145
146
145
146
146
147
150
150
150
149
148
148
148
150
151
150
149
150
149
147
145
144
143
142
141
140
140
139
139
138
138
138
136
137
135
136
135
133
134
133
134
136
136
136
135
136
139
137
138
138
138
136
138
138
136
139
136
135
138
135
133
133
131
130
129
129
127
126
125
128
129
130
129
127
125
120
112
105
98
90
83
77
72
68
64
60
55
51
48
47
45
45
45
46
45
46
46
45
46
47
46
47
47
45
45
44
45
46
46
46
46
46
46
46
45
44
45
43
42
42
44
47
47
47
48
48
47
45
44
42
43
43
42
42
43
44
46
47
49
48
49
46
45
46
47
49
50
52
52
55
57
61
66
70
71
74
74
71
68
66
66
68
67
67
70
73
77
76
75
73
71
70
70
70
70
72
74
73
72
70
68
67
65
63
63
64
65
67
66
67
67
64
61
58
53
49
47
48
51
57
61
61
61
62
60
54
48
45
47
49
50
51
52
52
50
47
45
45
48
51
55
55
51
47
47
64
82
104
121
170
223
236
238
243
245
247
248
247
252
249
252
252
243
236
239
232
248
168
101
107
106
105
109
109
117
118
118
120
121
122
123
126
126
128
132
137
139
141
142
144
145
144
141
138
136
133
131
132
134
135
136
137
137
136
137
137
137
137
136
137
137
137
138
139
142
143
144
146
146
147
148
147
148
149
149
151
152
151
150
150
149
149
151
152
151
151
150
149
148
145
143
143
142
140
139
140
139
137
137
137
138
139
137
138
137
136
135
133
134
135
137
137
136
138
137
140
139
139
139
139
139
139
139
138
140
139
138
138
136
134
134
132
130
128
128
125
125
125
127
127
128
127
125
122
118
110
104
98
92
85
78
72
69
64
58
54
50
46
44
43
42
41
42
42
42
43
44
44
44
45
45
45
44
44
45
46
46
46
46
46
46
46
46
44
43
44
43
41
41
43
45
45
46
46
46
47
45
43
42
43
41
41
40
41
42
44
45
46
48
48
45
44
44
47
47
49
50
51
53
54
57
60
63
63
67
66
66
67
65
66
68
66
69
71
71
74
77
78
80
78
75
70
67
68
71
72
72
71
69
67
66
63
61
62
63
64
66
66
67
66
64
61
58
53
48
45
44
47
53
57
58
60
62
62
57
49
46
47
49
50
51
51
50
47
45
43
44
48
53
58
58
51
47
45
53
62
76
94
145
198
215
224
236
241
245
247
250
255
251
249
246
237
232
237
230
245
176
117
126
122
120
124
123
129
132
133
134
134
135
135
134
135
137
141
144
146
147
147
148
148
145
143
140
138
135
134
135
136
136
137
137
137
137
138
139
138
137
137
138
139
138
139
140
143
146
148
149
149
150
150
150
149
147
147
148
149
149
148
148
147
149
150
151
150
150
148
147
147
145
143
142
141
140
139
139
139
139
140
140
139
139
140
139
138
137
136
134
135
137
136
138
136
138
137
140
139
139
139
139
139
139
138
141
139
137
139
137
138
135
135
132
130
127
127
124
124
125
126
126
125
124
122
119
116
110
106
99
93
87
79
74
68
63
58
54
49
46
45
43
42
42
43
44
44
45
46
45
45
45
45
46
45
44
44
45
46
46
46
46
46
46
46
43
42
43
42
42
41
42
44
45
46
47
49
48
47
46
45
45
43
42
39
40
41
43
44
45
46
48
46
45
44
45
47
45
46
48
48
49
51
54
57
57
60
61
63
64
64
64
66
67
68
71
73
75
78
81
83
81
77
71
67
68
70
70
69
69
68
66
64
61
59
60
61
62
64
64
65
65
62
60
58
55
50
47
46
47
51
54
55
57
60
60
56
51
48
48
50
50
49
49
47
46
45
44
46
50
55
57
59
53
47
46
52
58
66
81
124
170
191
205
227
239
246
247
252
249
246
241
243
235
235
238
233
248
185
137
144
142
137
140
140
144
143
144
144
144
143
140
139
140
142
143
146
146
148
149
148
146
145
142
139
135
133
132
133
133
133
135
136
138
139
140
140
140
139
139
139
140
140
141
142
143
145
147
148
148
148
148
148
148
148
147
149
150
149
148
150
148
149
150
150
149
149
147
146
146
144
142
141
141
140
141
140
141
142
142
142
142
141
140
139
138
138
136
136
136
137
137
137
136
138
137
139
137
137
137
137
137
137
140
139
138
140
138
137
136
136
136
132
130
126
126
123
123
124
124
123
123
122
119
117
114
109
106
100
95
88
80
73
67
61
56
52
48
45
45
44
44
46
48
49
48
47
47
48
48
48
47
46
47
47
45
45
46
46
46
46
45
44
45
42
41
41
41
41
42
43
42
44
45
46
48
48
47
46
45
45
43
41
40
39
40
42
43
46
47
47
45
43
45
44
45
46
45
42
40
40
43
49
52
55
58
60
59
59
58
60
63
64
66
69
73
77
80
82
82
84
79
73
69
70
71
70
69
68
66
64
61
57
56
57
58
59
61
61
62
63
60
58
57
56
53
51
50
50
53
54
54
55
57
57
57
56
55
53
51
48
47
46
45
45
46
46
47
51
54
55
58
56
51
50
50
53
58
69
94
127
153
175
211
234
242
245
250
245
241
235
234
234
238
248
243
249
192
148
154
149
146
146
149
151
152
152
152
151
147
145
144
143
145
146
148
148
149
150
148
147
145
142
137
135
133
131
131
133
134
135
135
137
139
139
140
141
139
138
138
138
138
139
140
143
147
149
150
150
150
150
149
147
146
147
148
148
149
148
148
149
149
150
149
149
148
147
145
145
143
142
142
142
142
142
143
143
143
143
143
141
142
140
138
141
140
139
138
138
140
140
140
137
137
137
139
138
138
138
138
136
136
140
140
138
140
138
137
135
134
134
131
129
125
126
123
123
122
123
122
121
119
117
115
115
110
106
102
98
89
81
75
66
59
54
50
47
45
45
45
48
50
52
52
51
51
50
50
50
49
48
48
47
47
47
46
45
46
46
46
45
44
45
44
42
41
41
42
42
42
43
42
43
44
45
45
45
46
45
45
43
41
38
39
40
41
43
44
46
46
44
42
42
43
46
45
42
39
36
36
39
44
46
52
55
58
58
55
53
56
59
61
63
69
75
80
82
83
83
81
78
75
72
72
73
71
69
67
64
62
58
55
54
53
54
56
59
59
60
60
59
57
56
56
55
54
53
53
54
53
54
54
54
54
56
58
58
56
50
46
44
42
43
44
48
49
51
52
53
54
55
56
55
56
56
56
57
63
74
94
124
155
203
232
240
242
250
242
238
233
227
231
241
255
250
254
197
161
164
159
157
157
156
160
158
158
157
156
152
150
148
148
148
149
149
147
149
150
148
146
144
141
138
136
134
132
133
134
134
135
138
140
140
141
142
142
140
140
139
139
139
139
140
144
148
149
150
150
150
149
148
148
148
147
149
150
148
148
148
148
148
147
146
146
145
144
142
142
140
138
139
140
141
140
141
143
143
143
143
143
142
141
139
142
141
141
141
141
141
141
140
137
138
136
138
137
135
135
137
135
138
137
137
140
140
139
139
135
134
134
131
129
126
127
125
124
123
124
122
121
119
117
116
115
112
108
105
100
92
84
77
68
59
53
50
47
44
46
48
51
53
55
54
53
52
51
50
49
49
48
47
46
47
48
46
45
45
45
45
45
44
44
43
43
42
42
42
43
43
43
43
42
43
44
44
45
46
46
46
44
42
41
40
41
42
43
44
44
44
42
41
42
43
46
45
43
38
36
35
37
40
43
48
52
54
53
51
50
51
55
59
62
68
73
78
81
80
80
77
76
75
73
73
71
69
68
65
61
58
57
55
54
55
55
57
59
58
58
58
58
57
56
56
56
57
56
55
54
53
53
54
53
53
55
57
58
55
49
45
45
44
45
47
50
52
54
54
51
50
51
54
56
57
56
54
52
57
61
70
100
134
190
224
231
237
244
237
233
227
230
232
239
254
247
251
199
165
164
161
158
154
157
158
162
161
160
158
156
154
151
150
147
148
148
148
149
149
146
143
140
138
137
136
135
134
135
136
137
138
141
142
143
143
144
144
142
141
142
141
140
140
141
143
146
147
147
147
148
147
146
146
147
147
147
147
147
145
145
145
145
144
142
141
142
141
139
138
137
136
137
139
138
139
139
141
142
142
142
142
142
141
140
142
141
141
140
140
140
140
139
137
136
136
136
135
134
134
134
137
136
136
136
139
138
137
139
137
136
136
132
130
129
130
129
126
125
125
124
122
121
119
118
117
113
111
108
102
94
87
79
71
61
55
51
47
46
48
49
51
53
54
53
52
51
51
50
48
48
47
47
47
48
48
48
48
48
48
48
47
47
47
44
42
44
43
43
44
43
42
41
41
42
43
44
44
45
45
47
45
44
42
43
42
43
46
46
46
46
42
41
42
45
46
44
44
40
38
37
38
40
43
45
48
50
50
51
51
50
52
56
59
63
68
70
72
71
72
74
75
73
72
70
69
68
66
64
59
57
56
56
55
54
55
57
59
58
58
59
58
58
58
57
57
58
57
56
55
54
53
52
52
52
53
54
54
52
49
47
47
46
47
49
52
54
54
53
49
47
48
51
52
53
55
51
47
54
59
60
89
122
161
200
211
223
238
240
239
235
237
234
234
245
243
247
199
162
160
157
155
153
158
162
168
167
165
162
160
158
154
150
147
146
145
145
146
146
146
145
143
142
139
137
135
137
138
140
142
143
144
143
144
146
146
147
145
144
143
143
142
140
141
143
144
146
147
147
146
146
145
144
145
146
147
147
146
144
144
141
139
140
140
138
136
135
135
134
133
134
133
135
136
137
138
140
141
140
139
138
138
137
137
138
137
138
142
142
140
143
142
140
139
136
138
137
134
133
139
136
136
137
137
136
138
137
135
134
133
132
131
133
129
127
127
127
128
128
125
124
123
122
120
118
115
115
113
107
101
91
82
72
65
59
54
50
49
48
47
50
51
50
50
49
48
46
45
45
44
44
43
43
43
44
44
45
45
44
44
45
45
44
42
41
42
43
44
45
43
42
40
41
42
43
44
45
46
48
45
43
44
42
44
43
45
44
45
47
47
46
45
42
45
46
47
46
45
45
44
43
43
41
43
41
41
46
47
49
51
54
53
54
58
58
59
62
65
67
69
70
71
72
71
68
66
64
60
58
56
57
57
57
57
58
60
60
59
58
56
56
56
56
57
58
59
59
58
55
54
54
54
52
51
51
51
51
50
49
49
51
53
55
57
57
57
58
55
50
46
45
48
49
50
50
51
49
50
55
64
81
105
140
171
190
204
235
241
243
241
241
236
237
233
227
254
200
165
162
156
159
156
158
162
167
167
164
161
159
157
153
149
146
147
146
147
147
148
146
145
145
143
141
139
137
138
140
141
143
142
143
146
145
146
146
147
146
145
143
143
142
141
141
141
141
142
144
144
143
142
142
142
142
143
145
146
145
142
141
138
136
138
137
135
133
132
131
130
131
131
130
131
133
135
135
139
138
139
139
138
137
135
137
137
137
138
138
141
140
142
141
137
136
136
134
137
134
133
136
132
132
135
136
136
134
133
133
136
133
133
133
130
131
130
129
128
129
129
126
127
125
123
121
119
116
116
114
110
103
93
85
74
66
60
55
51
50
47
47
48
48
50
49
47
47
45
44
43
43
42
43
42
42
43
44
45
45
46
45
45
45
44
42
41
42
43
44
45
44
42
42
41
42
43
44
45
46
47
45
45
44
44
43
45
44
46
45
45
47
46
44
45
43
44
45
47
47
47
47
44
43
41
42
38
40
43
47
48
50
52
53
54
53
55
55
57
58
61
65
66
69
71
69
67
64
62
59
57
55
56
57
56
57
58
59
60
59
57
56
56
56
56
57
58
59
59
58
55
54
53
53
52
51
50
50
49
49
49
51
53
56
58
59
58
57
58
54
49
46
45
47
48
50
48
49
47
49
53
62
76
95
117
147
169
191
230
236
243
245
245
238
235
228
221
250
201
165
164
160
160
158
161
163
165
166
165
161
159
157
153
149
145
144
143
145
146
145
144
144
143
142
140
138
137
138
139
140
143
144
144
144
145
145
146
147
145
143
140
139
139
138
138
139
140
140
141
141
140
141
142
142
142
142
142
141
140
139
138
135
134
135
134
133
131
129
128
127
127
128
128
128
129
131
133
133
135
134
135
134
133
134
134
134
134
135
136
138
137
138
139
135
136
134
134
134
136
133
135
131
132
131
133
132
131
134
133
135
133
132
131
131
128
130
131
130
129
128
129
127
125
123
121
118
117
116
113
108
100
94
85
74
68
62
58
53
50
48
47
47
47
48
47
46
44
43
43
43
42
42
42
42
43
43
44
45
47
46
46
46
45
44
42
41
42
43
44
45
44
42
41
41
42
43
44
46
47
47
45
44
43
43
43
44
44
45
47
45
45
46
44
44
45
43
47
47
48
49
49
47
45
43
39
37
37
42
45
46
48
50
53
53
51
50
50
53
56
58
59
62
66
68
67
63
61
59
57
55
54
55
56
57
58
59
60
61
60
59
59
59
59
58
57
58
58
58
57
56
55
54
53
53
52
51
50
49
49
51
53
56
58
60
60
59
59
57
55
50
45
47
47
50
51
49
50
49
51
52
56
65
82
103
129
154
182
223
232
238
245
243
238
232
224
216
250
203
167
167
166
165
162
161
161
162
163
163
160
160
157
153
149
144
143
142
141
143
144
143
143
145
143
141
139
137
137
137
139
139
140
140
141
143
145
146
146
144
141
139
137
136
134
134
135
135
136
137
137
137
138
139
139
139
139
138
137
136
135
134
133
133
132
131
130
129
127
126
126
125
124
123
123
124
126
127
128
128
128
129
129
127
127
129
127
128
129
130
133
133
132
133
133
135
135
134
136
135
132
133
129
129
129
129
132
130
130
130
130
128
127
129
126
127
127
127
127
130
129
128
125
124
122
120
117
114
112
110
106
99
93
85
77
71
64
58
54
50
47
47
45
45
47
45
44
44
41
40
39
39
39
39
40
41
41
42
43
44
44
44
43
43
41
41
41
42
43
44
44
43
43
41
41
41
42
43
43
44
44
46
46
46
46
46
46
47
47
45
47
44
46
44
45
43
44
43
45
44
46
46
45
42
40
38
37
37
39
43
43
46
46
48
48
48
48
49
51
53
55
55
58
63
65
65
63
60
58
57
56
55
56
57
58
59
60
60
61
60
59
59
60
59
57
56
57
58
57
56
56
55
55
56
56
55
53
52
51
51
53
54
55
56
57
57
56
55
53
52
50
49
48
48
51
51
53
53
53
55
52
51
56
66
79
100
126
157
207
219
227
237
239
234
231
224
220
247
202
172
172
167
169
167
166
160
157
158
158
158
158
156
153
149
146
144
142
140
142
143
143
144
142
141
141
139
137
137
140
139
137
138
139
139
140
142
144
144
142
139
135
133
132
130
130
131
132
133
134
135
136
138
139
141
140
138
134
132
132
132
130
130
131
130
129
129
128
127
125
122
121
120
120
119
119
119
122
123
124
124
125
125
124
122
122
122
123
124
125
126
128
129
130
131
134
135
135
136
132
130
131
130
130
130
130
128
128
127
130
126
126
125
124
126
123
123
123
126
127
128
125
124
121
120
118
115
110
108
105
101
96
91
86
77
73
66
61
55
50
46
45
45
43
44
46
43
41
40
39
39
39
39
40
40
41
42
43
43
44
45
45
45
44
42
41
41
42
42
43
43
43
42
42
42
41
42
42
43
43
44
44
44
44
44
44
46
46
46
46
45
47
44
44
45
44
42
42
42
42
42
42
41
40
40
42
41
41
42
43
44
45
46
46
46
46
48
48
49
50
51
52
54
58
60
61
59
57
56
56
54
53
54
55
56
57
58
59
60
60
60
60
60
59
59
59
59
58
58
58
58
58
57
56
57
56
55
54
54
53
54
54
54
54
53
52
52
52
53
51
49
49
50
52
53
54
57
58
58
57
51
46
48
53
62
81
108
142
192
210
217
229
234
229
229
225
222
248
205
171
173
167
171
169
166
158
155
155
156
158
157
156
153
150
147
145
142
139
140
141
141
142
142
143
141
139
138
139
139
139
136
136
136
137
139
142
144
144
142
138
133
131
130
127
127
127
127
128
130
130
132
134
136
138
140
137
131
129
130
130
130
130
128
128
125
123
123
121
119
117
115
113
112
112
111
113
116
118
120
123
121
120
121
119
116
119
119
120
121
122
126
126
127
128
132
129
129
132
131
130
129
127
129
129
127
128
127
127
127
128
125
123
125
122
120
122
123
124
125
123
122
121
120
116
115
111
109
105
103
99
96
92
87
77
72
68
61
54
51
47
45
45
44
43
43
42
43
41
40
41
41
41
41
41
43
43
43
43
44
45
44
44
44
42
40
39
40
40
40
41
42
40
41
41
42
43
42
43
44
43
45
45
45
45
45
44
44
44
45
46
45
47
44
45
42
41
43
41
40
40
40
40
40
40
42
42
42
41
41
43
44
44
46
46
47
46
46
46
46
47
50
51
53
55
55
55
54
53
53
52
52
53
52
53
55
56
58
59
60
59
59
60
59
58
57
57
56
57
56
57
57
58
59
58
58
58
58
57
56
57
56
55
53
52
51
51
51
51
51
53
51
53
55
56
55
58
59
60
60
51
44
44
48
54
68
95
122
166
184
194
216
231
230
229
226
218
248
203
172
171
168
170
169
163
158
155
155
157
158
158
155
152
150
147
144
141
139
138
138
138
138
140
140
139
137
139
139
141
140
139
138
135
135
136
139
141
140
138
135
131
129
129
126
126
128
129
130
130
131
132
134
135
136
136
133
130
127
128
131
132
132
131
126
123
121
118
115
112
110
108
107
106
105
105
107
110
116
119
118
120
120
117
118
115
118
119
118
120
119
120
124
124
126
126
126
126
127
128
124
124
126
125
125
125
127
126
129
130
126
127
124
123
124
120
118
118
120
120
119
119
116
116
113
110
108
105
102
100
98
94
90
85
77
71
67
62
56
53
50
48
46
46
45
45
44
44
42
40
40
39
39
39
39
40
41
41
42
43
43
42
42
42
42
40
40
41
41
41
40
41
42
41
42
43
43
43
42
42
42
43
43
44
45
45
45
45
44
46
46
46
45
47
43
43
40
41
42
40
41
41
41
41
41
40
40
42
42
42
41
42
42
44
45
44
46
47
46
46
46
48
50
52
53
54
53
52
51
51
50
50
50
51
52
53
55
56
58
59
59
59
58
59
58
57
56
55
55
56
57
58
58
58
57
56
58
59
57
56
56
55
54
53
52
51
52
51
52
52
53
54
54
54
55
56
57
58
60
61
52
46
48
52
57
70
88
102
137
157
180
216
233
228
229
224
218
248
204
171
172
165
170
169
163
157
155
156
156
157
157
154
151
150
146
144
141
139
138
137
135
134
137
136
137
138
138
140
140
140
138
137
135
132
134
137
139
138
137
133
129
129
128
126
125
127
129
129
130
130
130
131
133
134
136
134
128
125
128
131
133
134
132
128
123
120
116
109
105
104
102
100
101
102
101
104
109
113
114
117
119
119
117
114
115
119
118
116
116
117
117
121
122
119
123
123
123
124
123
122
121
122
122
123
124
126
127
129
130
126
125
125
123
120
119
117
118
117
116
116
113
114
113
109
107
105
102
102
99
97
93
89
83
76
71
67
63
57
54
52
49
47
46
46
45
46
45
43
41
41
40
39
40
39
40
40
42
44
44
43
42
43
43
42
41
40
40
40
40
40
41
41
42
43
43
43
43
43
43
42
43
43
45
45
45
45
45
44
46
46
44
45
47
43
42
40
42
40
40
41
41
41
41
41
39
41
40
40
40
42
43
42
42
43
43
46
47
48
49
49
46
49
51
53
53
52
50
49
49
48
49
50
50
51
54
55
55
57
58
57
58
59
58
58
57
56
55
54
55
56
57
59
58
56
56
58
59
58
57
54
53
53
52
53
52
51
51
53
54
54
53
53
55
56
57
57
58
62
62
54
48
52
58
64
75
85
78
102
122
159
204
232
230
231
227
221
248
202
173
170
167
169
167
165
156
156
153
152
152
152
152
150
149
146
145
141
138
138
135
135
135
131
133
136
139
139
138
138
138
137
137
136
133
132
136
139
138
133
130
128
127
126
127
127
126
125
126
126
127
128
131
132
132
133
129
121
118
122
126
128
131
130
124
120
117
111
104
100
99
98
96
96
97
99
103
105
112
115
116
119
119
117
116
114
113
115
115
117
115
115
116
115
123
124
125
125
126
122
121
123
124
124
125
126
124
126
127
127
129
128
127
123
120
119
117
115
114
113
112
109
107
107
105
104
101
99
100
97
94
92
88
82
76
72
68
62
59
58
53
50
50
47
46
46
45
45
44
42
41
40
39
39
40
41
40
41
41
42
43
43
43
43
42
41
41
42
42
42
42
42
41
42
43
43
43
43
43
43
42
43
44
43
43
44
45
45
44
46
46
46
46
45
46
45
45
41
40
41
41
39
41
41
41
41
41
41
40
41
42
43
44
44
44
45
45
46
45
45
45
47
48
49
50
50
49
48
48
47
48
47
48
49
50
51
52
54
55
56
57
57
56
56
55
54
54
54
54
55
54
54
55
56
57
57
56
55
55
55
54
53
52
52
53
54
54
54
53
52
53
54
55
54
54
56
58
58
59
61
56
49
51
57
71
77
75
80
74
109
134
189
220
218
223
221
220
244
202
173
170
168
168
168
164
156
154
154
153
151
152
152
151
149
146
144
141
138
137
134
132
132
130
132
135
138
139
138
138
138
137
137
134
132
131
134
136
137
133
131
129
127
126
126
126
126
127
126
126
126
128
130
130
130
131
128
121
118
121
124
126
129
127
121
118
115
110
105
102
99
97
96
95
96
98
101
103
110
111
114
116
116
116
114
112
111
113
116
115
117
118
118
119
120
122
123
124
125
126
122
122
123
123
123
125
124
123
123
123
126
124
124
121
119
118
118
115
113
112
110
109
106
106
104
103
102
100
100
99
96
94
89
85
80
76
70
66
63
60
57
53
50
49
47
46
45
46
44
42
42
41
40
39
40
41
41
41
42
41
42
43
43
43
43
42
41
41
41
41
42
42
41
42
43
43
43
43
43
43
42
43
44
44
43
44
45
45
44
46
44
44
44
46
46
45
44
41
42
40
41
41
41
41
41
41
41
41
40
41
42
43
42
42
44
44
45
44
44
44
45
46
47
48
49
49
48
47
46
47
46
47
48
48
49
50
51
53
54
55
56
56
55
54
54
53
54
54
54
54
54
53
54
55
56
56
56
55
54
55
54
53
53
52
53
54
54
54
51
52
53
54
55
54
55
55
58
59
60
61
57
52
53
57
59
65
64
71
65
98
119
167
201
208
215
219
219
245
202
173
171
168
170
167
164
157
153
152
150
150
149
149
149
148
146
145
141
138
137
132
130
130
129
132
133
137
139
139
139
139
138
137
133
130
129
132
136
136
132
130
129
127
126
127
128
128
128
128
127
127
129
128
129
131
132
127
121
117
120
124
126
126
124
120
115
111
107
103
101
98
96
95
95
95
97
100
102
109
111
110
112
111
111
112
110
109
110
112
114
114
115
116
117
123
125
127
125
128
128
127
127
125
126
126
124
125
125
122
122
122
121
117
119
116
117
114
114
111
110
109
107
105
105
103
104
103
102
102
100
97
95
92
89
85
80
77
73
68
66
62
56
52
49
48
47
47
46
44
43
43
42
41
41
41
40
39
40
40
41
42
41
42
43
43
43
43
43
43
42
41
42
41
42
43
43
43
43
43
43
42
43
44
44
43
44
45
45
45
44
44
45
45
44
44
45
44
41
42
40
40
41
41
41
41
41
41
41
40
41
42
43
43
43
42
44
43
44
45
45
45
45
46
47
46
46
46
45
44
45
46
46
46
47
48
49
50
51
52
53
54
54
53
53
52
53
52
51
52
53
52
51
53
54
54
54
54
54
54
54
53
52
52
52
50
52
53
53
51
51
54
55
54
54
55
55
58
60
62
61
60
58
56
55
57
60
62
68
67
91
107
144
169
189
206
214
220
247
203
174
171
168
170
167
164
157
154
152
150
149
149
149
149
149
147
145
142
139
137
131
128
129
126
130
134
138
141
143
142
139
138
137
133
129
128
131
134
134
131
130
128
127
127
127
127
128
129
128
128
129
128
128
128
129
130
126
119
116
117
120
121
121
119
117
114
111
109
105
103
101
99
98
96
97
97
100
103
105
106
109
111
110
110
107
106
107
108
111
114
115
116
117
118
121
123
125
128
130
130
129
126
130
128
128
124
124
123
123
123
120
115
114
113
116
115
113
113
110
109
108
106
104
105
103
104
105
103
103
103
101
98
95
91
88
83
80
77
72
70
66
59
53
50
49
48
47
46
45
45
44
43
42
41
40
40
39
40
41
40
41
42
41
42
43
43
44
44
43
42
41
42
41
42
43
43
43
43
43
43
42
43
44
44
43
45
45
45
45
45
45
45
45
45
45
45
44
41
41
42
42
40
40
41
41
41
41
41
40
41
42
41
43
41
43
43
44
43
43
43
43
43
43
45
46
45
44
43
43
44
43
43
44
45
46
47
48
50
50
52
53
53
52
51
52
52
51
50
50
51
50
50
50
50
50
50
50
50
50
50
52
53
52
51
50
50
52
53
51
51
52
52
55
56
55
56
58
60
62
61
61
61
59
54
45
47
47
55
56
74
84
107
124
161
195
216
218
251
203
174
171
168
170
167
164
156
153
151
149
147
146
146
148
147
146
147
143
139
137
131
128
128
127
129
134
138
143
144
143
142
139
137
133
129
128
132
134
135
133
131
129
128
129
129
129
129
129
130
131
130
129
129
129
131
131
126
119
117
116
117
118
117
115
113
111
110
108
106
103
105
104
101
100
99
98
100
103
103
105
107
107
108
107
108
106
109
110
114
115
117
118
120
121
122
125
125
128
127
127
125
125
124
124
123
123
122
119
118
118
120
117
115
114
113
115
112
112
110
109
107
106
104
105
104
105
106
104
104
105
102
100
97
94
90
85
81
78
76
73
68
61
55
51
49
48
47
46
45
45
44
43
42
42
41
40
39
39
40
41
40
41
42
41
42
43
44
44
43
42
41
42
41
42
43
43
43
43
43
43
42
44
44
44
44
43
44
45
45
45
45
45
45
44
44
45
44
41
41
42
42
42
42
40
41
41
41
41
41
40
40
42
41
42
43
42
43
44
44
44
43
43
44
44
44
43
43
42
41
41
42
43
42
42
44
46
47
48
49
50
51
50
50
51
51
51
50
49
49
50
50
48
49
50
50
50
50
50
50
50
49
49
51
51
50
51
50
50
50
51
52
53
53
55
57
56
58
60
62
61
60
60
58
52
47
46
48
55
59
70
76
89
108
144
170
190
191
242
203
174
171
168
170
167
165
156
153
151
148
145
144
146
147
148
146
145
143
140
137
131
128
128
130
131
136
142
145
145
144
142
140
138
134
130
130
134
136
137
135
133
132
131
132
133
134
134
135
135
134
133
132
131
133
134
132
127
121
117
116
115
115
113
112
112
110
111
111
110
108
106
104
102
100
99
98
98
100
101
102
105
108
107
107
107
109
111
115
120
121
122
121
121
120
125
126
126
127
130
128
126
126
123
123
119
120
118
120
120
120
117
116
115
114
114
112
113
111
109
108
107
106
106
106
105
106
107
107
106
106
104
102
99
96
89
86
83
79
76
74
67
60
55
50
48
47
46
45
45
45
44
43
43
42
42
41
40
40
41
41
41
40
41
42
41
43
44
44
43
42
41
42
42
41
41
41
42
43
43
43
43
42
44
44
44
43
45
45
45
45
45
45
44
46
46
44
45
41
41
42
42
42
42
40
41
41
41
41
41
41
40
40
42
42
42
43
43
43
43
43
43
43
42
43
44
43
42
41
41
41
42
41
42
43
44
45
46
47
48
49
49
50
50
49
48
48
48
49
49
49
48
48
47
48
49
49
49
49
49
49
49
49
48
50
51
51
51
51
50
51
52
53
53
54
56
58
56
59
60
59
58
57
53
49
47
45
48
54
61
65
71
76
84
122
149
172
169
237
203
174
171
168
168
168
163
156
152
150
147
144
143
143
146
148
146
146
145
142
140
135
131
132
132
133
139
145
147
148
146
143
140
139
136
133
132
136
139
139
137
135
135
135
136
137
136
138
139
138
137
136
134
135
136
135
134
130
122
118
116
113
112
110
110
112
112
112
112
112
110
108
106
103
101
98
96
96
97
99
101
104
105
107
107
110
111
117
118
122
125
124
121
120
120
124
124
124
124
124
123
121
120
116
117
117
114
116
116
117
118
117
117
117
115
113
113
111
112
109
108
107
106
106
107
107
107
107
106
106
105
105
104
100
96
92
87
83
79
76
72
67
61
55
49
47
47
46
45
44
45
44
43
42
43
42
42
41
40
41
41
41
41
40
41
41
42
42
43
43
42
41
42
42
42
42
42
41
41
42
43
43
43
42
42
43
44
43
43
45
43
43
43
45
44
46
44
45
41
41
42
42
42
42
40
41
41
41
41
41
41
41
40
40
40
40
42
42
42
42
42
42
41
42
43
43
42
41
41
40
40
40
41
41
42
43
45
46
45
46
47
48
47
47
47
48
48
48
48
48
48
46
45
46
46
47
48
48
48
48
48
48
48
48
47
49
49
50
51
51
51
52
53
53
54
54
57
56
56
59
57
55
53
50
48
47
45
48
54
61
59
64
64
71
100
120
139
135
228
203
174
171
168
169
166
164
154
152
150
146
143
142
144
146
148
148
149
147
145
142
136
133
133
134
136
141
146
149
149
147
144
139
138
135
133
134
137
140
141
138
137
137
136
138
139
139
141
142
141
139
137
137
137
137
136
135
129
122
118
116
111
109
107
107
110
112
111
112
114
113
109
106
103
100
97
95
94
95
97
99
102
104
106
107
110
111
115
121
123
125
126
124
122
120
118
118
117
117
119
118
113
113
110
110
110
110
109
111
112
112
113
114
115
114
112
112
113
111
109
108
106
106
106
107
107
107
107
106
108
107
107
104
101
96
91
87
85
80
76
74
67
61
55
49
46
46
45
44
45
44
44
43
42
42
43
42
41
41
40
40
41
41
40
41
42
42
43
42
43
42
41
42
42
42
42
42
42
41
41
42
43
43
43
42
44
44
44
44
43
43
44
43
45
45
45
45
44
41
41
42
42
42
42
40
41
41
41
41
41
41
41
41
41
41
40
40
40
40
41
41
41
40
41
41
41
41
41
40
40
40
40
41
42
42
43
44
44
45
46
46
47
47
47
47
47
47
47
47
47
47
45
44
45
46
46
47
47
47
47
47
47
46
46
46
48
50
50
51
49
51
52
53
55
54
55
55
56
56
56
56
53
50
47
47
45
43
47
51
57
50
54
49
56
81
91
109
110
218
202
170
170
166
168
168
161
156
152
150
146
143
142
144
147
149
150
151
151
153
148
142
140
139
139
143
146
152
154
154
150
146
146
143
140
140
140
142
146
147
146
144
142
142
143
144
145
144
145
145
144
142
140
138
136
136
136
133
126
120
116
114
111
111
112
111
111
112
112
113
110
107
106
103
100
97
95
94
96
98
103
108
111
117
119
122
123
125
125
125
128
124
119
116
115
109
107
106
105
103
100
100
94
93
96
96
97
99
104
106
111
113
118
120
119
116
113
111
112
112
109
107
106
104
106
105
104
104
102
102
103
102
99
95
91
88
84
80
77
74
72
65
57
49
44
44
45
43
44
43
42
42
42
43
44
44
44
45
43
41
41
40
41
41
40
41
42
43
43
43
43
42
41
42
42
42
42
41
42
43
43
43
43
43
43
42
44
44
44
44
44
44
44
43
43
43
43
44
41
41
42
42
42
42
42
40
41
41
41
41
41
41
41
41
41
41
41
41
40
39
39
39
40
41
42
42
43
43
43
42
42
42
42
41
42
42
43
44
45
44
45
46
46
46
46
46
46
46
45
45
46
46
47
45
43
43
44
44
45
46
46
44
43
43
45
46
46
46
46
49
50
51
52
53
54
55
56
53
52
51
51
50
47
47
51
50
50
50
48
49
51
53
53
59
67
77
86
64
215
203
169
171
166
168
167
161
156
152
150
146
143
142
143
145
149
150
150
154
153
148
143
141
141
144
145
149
155
157
156
153
150
147
144
141
141
142
144
147
149
148
145
144
144
145
147
148
148
148
147
146
143
141
140
140
140
138
133
127
122
118
117
115
114
114
113
113
114
114
113
110
108
106
103
98
95
93
95
97
98
102
108
115
118
121
124
126
127
125
128
127
124
118
114
108
109
104
98
97
94
90
88
87
85
88
90
92
96
100
105
110
114
119
122
120
117
114
111
111
111
109
107
106
104
105
104
103
102
100
101
102
100
98
94
90
86
82
79
74
72
69
65
56
48
43
43
44
42
43
42
42
43
43
44
43
43
44
45
43
42
42
41
40
41
41
40
42
43
43
43
43
42
41
42
42
42
42
41
42
43
43
43
42
42
43
43
42
42
44
44
44
44
44
44
44
44
44
44
41
41
42
42
42
42
42
42
40
41
41
41
41
41
41
41
41
41
41
41
40
39
40
39
40
41
40
42
43
43
43
42
41
41
41
41
42
43
43
44
43
44
45
45
45
45
45
45
45
45
44
44
45
44
45
45
44
44
44
44
45
45
46
44
43
44
45
46
46
47
46
49
49
50
52
53
54
55
55
51
52
51
50
49
46
47
48
50
51
50
47
44
46
49
53
57
62
62
67
50
207
201
170
169
165
169
167
161
156
157
153
149
146
144
146
149
151
153
156
157
155
152
148
146
146
149
150
155
158
160
159
156
153
150
148
146
144
144
147
150
152
151
149
147
148
149
150
151
151
151
150
147
145
143
143
143
142
139
135
129
125
123
120
116
115
115
115
114
112
114
113
109
106
103
100
96
95
95
94
95
102
106
112
116
120
124
127
128
131
129
130
130
122
115
108
105
100
95
91
88
84
79
77
75
74
78
77
81
87
95
100
107
113
119
122
122
118
115
113
113
111
110
107
106
106
105
103
102
99
97
98
98
96
95
92
88
82
80
78
73
70
68
61
53
47
42
42
43
41
42
42
41
42
43
43
44
45
45
45
44
43
42
41
41
40
40
41
42
43
43
42
41
41
42
42
42
42
42
41
42
43
43
42
44
43
42
43
43
43
42
42
42
42
42
42
42
42
42
42
41
41
42
42
42
42
42
42
40
41
41
41
41
41
41
41
41
41
40
39
39
40
40
39
40
41
42
42
43
42
43
43
43
43
43
43
43
43
42
42
42
43
44
44
44
44
44
44
44
43
42
42
43
44
44
42
40
40
41
41
41
42
42
42
42
42
43
45
46
45
45
48
50
51
51
52
54
54
55
51
49
47
48
46
46
47
48
52
52
51
46
42
41
48
54
57
56
49
49
32
200
204
168
170
164
168
165
161
157
158
155
151
148
146
148
151
153
157
158
160
159
156
153
154
154
154
155
159
161
163
162
159
156
153
151
150
147
150
153
154
154
153
151
150
150
151
153
154
154
154
153
150
147
147
146
144
142
140
137
132
127
124
121
118
118
116
114
112
114
112
109
109
107
103
100
98
96
94
97
99
102
106
110
115
119
120
121
122
119
118
118
115
109
102
96
89
86
82
75
72
70
68
66
64
63
66
69
74
80
84
93
99
105
113
119
119
118
117
116
116
116
116
113
110
107
105
102
100
97
96
94
94
91
91
88
84
82
80
77
74
70
68
63
54
47
43
43
43
42
42
42
42
41
42
44
45
44
44
44
44
44
43
41
40
40
39
39
41
41
41
41
42
42
42
42
42
42
42
42
41
42
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
41
41
42
42
42
42
42
42
40
41
41
41
41
41
41
41
41
40
39
40
40
40
39
40
41
41
42
43
43
43
42
43
44
43
42
43
43
43
43
43
43
42
42
42
42
42
42
42
42
42
43
43
42
42
44
41
39
40
41
40
41
42
41
42
43
43
43
42
44
45
46
46
46
48
49
50
50
51
52
50
48
46
44
46
47
46
47
49
50
49
48
44
44
48
52
50
50
46
44
29
201
204
169
168
164
168
165
162
158
159
156
153
150
148
150
152
154
158
160
162
161
159
160
158
157
158
159
162
165
168
165
160
159
156
154
152
152
151
154
156
156
155
153
151
152
154
155
156
156
156
154
151
150
148
146
145
145
144
138
132
128
125
123
120
118
116
113
113
112
112
110
107
105
103
102
100
99
99
99
100
102
105
108
111
113
117
118
118
118
111
108
106
98
91
86
82
77
70
66
64
62
62
58
56
56
61
64
66
73
80
90
95
96
105
110
111
113
114
115
115
119
118
116
113
109
106
101
97
95
94
91
91
88
86
85
82
80
80
79
75
72
69
62
55
48
43
43
44
42
42
42
40
41
42
43
44
45
46
46
45
44
43
42
41
40
39
39
41
42
42
42
42
42
42
42
42
42
42
42
42
41
41
41
41
42
41
41
42
43
43
43
43
43
43
43
43
43
43
43
42
42
42
42
42
42
42
42
41
40
40
40
40
40
40
40
40
40
39
39
39
39
39
39
41
42
42
42
43
43
43
43
43
43
42
42
42
42
42
42
42
42
42
42
42
42
42
43
45
43
41
42
43
41
40
40
40
39
39
40
40
41
42
42
42
42
42
42
41
44
45
46
47
47
48
49
50
51
51
49
47
45
45
45
47
47
46
48
48
47
47
48
51
51
52
43
50
49
49
29
203
203
171
168
166
166
165
166
161
159
158
155
152
151
153
155
156
159
162
164
163
163
162
161
162
162
165
165
169
168
168
166
162
160
156
155
153
153
156
159
158
156
155
153
152
154
156
156
157
158
156
154
151
148
146
145
145
143
139
133
129
127
123
119
119
117
114
113
113
111
107
105
106
105
102
101
100
100
101
102
104
106
109
111
112
114
113
112
110
102
98
91
85
78
74
70
69
64
60
58
55
54
54
52
49
53
58
62
68
76
81
88
96
102
107
108
114
119
120
120
120
120
118
114
111
106
101
98
95
92
91
87
85
84
84
82
80
80
79
76
73
69
64
58
50
45
44
44
42
41
41
41
40
42
43
44
45
45
45
45
45
43
42
41
41
40
39
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
40
40
41
41
43
43
43
43
43
43
43
43
43
43
43
43
40
40
40
40
40
42
41
41
44
44
44
44
44
44
44
44
44
43
43
42
42
42
42
42
43
44
45
46
46
46
46
46
46
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
43
42
41
40
41
39
38
39
39
40
41
40
41
39
40
41
41
40
41
41
42
45
46
46
47
48
49
50
50
48
48
47
47
46
43
44
46
42
42
47
49
53
52
49
45
42
45
46
49
29
203
205
170
172
166
166
168
165
162
163
160
158
156
155
155
158
160
162
165
167
168
166
166
165
164
166
168
168
171
171
170
168
165
165
162
159
157
156
159
161
161
160
158
157
157
158
159
160
160
160
158
155
151
148
146
145
145
144
140
135
130
127
124
119
119
117
114
111
111
108
107
106
104
101
100
99
98
97
97
96
100
102
102
102
103
105
105
103
99
92
87
82
75
70
66
64
56
52
50
49
48
47
44
43
45
50
54
55
61
66
73
80
89
95
98
101
109
118
120
121
121
123
120
115
111
107
101
96
92
90
89
85
84
85
86
85
84
82
82
79
75
72
68
61
53
47
46
45
43
42
41
40
40
41
42
44
45
46
47
46
45
44
42
42
41
41
41
41
42
42
42
42
42
42
41
41
42
42
42
42
42
42
42
42
42
42
42
41
41
43
43
43
43
43
43
43
43
43
43
40
40
41
40
40
42
41
43
44
44
44
44
44
44
44
44
44
44
42
41
42
41
42
43
43
43
44
45
46
46
45
45
46
45
44
45
45
45
45
45
45
45
44
43
43
43
43
44
45
44
42
41
41
40
41
39
38
39
40
39
40
41
41
39
37
39
40
39
40
41
41
44
45
45
46
47
48
49
49
48
48
48
47
45
42
41
46
44
44
46
49
55
53
49
45
41
45
46
49
29
200
204
170
172
166
166
169
166
163
165
164
161
160
159
159
162
163
164
167
170
171
169
169
169
169
170
170
170
172
172
171
170
170
169
166
163
163
161
161
164
163
161
160
158
158
159
160
160
161
162
159
156
152
149
146
146
148
147
141
135
131
128
124
122
119
116
112
111
109
105
104
104
102
100
97
95
95
93
91
93
94
91
91
89
90
89
87
85
80
76
68
65
62
59
52
50
50
46
45
45
44
44
44
45
41
47
50
52
55
60
65
71
77
83
87
91
101
111
116
118
120
121
120
113
110
107
102
96
90
88
88
86
85
86
86
86
86
85
84
81
78
77
71
63
56
50
50
48
46
44
43
41
40
41
42
43
45
46
47
46
45
44
43
42
41
40
40
41
42
42
42
42
42
41
43
42
41
42
42
42
42
42
42
42
42
42
42
42
42
41
41
41
41
41
41
41
41
41
41
40
40
40
40
40
41
41
42
43
43
43
43
43
43
43
44
44
43
42
41
41
42
43
42
41
43
44
45
44
44
44
45
45
44
45
45
45
45
45
45
45
44
43
44
44
44
43
43
43
43
42
41
41
40
41
39
38
39
39
39
40
41
41
38
37
37
38
39
39
40
41
43
45
46
46
46
48
48
48
45
47
47
47
44
41
41
42
45
46
48
51
55
53
49
45
42
41
46
50
32
201
208
173
171
167
171
170
167
167
168
164
164
165
165
165
165
166
171
170
172
173
174
174
174
172
171
170
171
174
173
173
173
173
172
170
167
163
163
166
167
166
165
163
161
161
162
163
163
162
160
159
155
152
150
149
147
146
144
141
135
130
128
125
120
117
115
111
108
109
106
102
102
100
98
96
96
94
92
92
88
88
86
84
84
83
82
79
78
73
66
61
56
57
48
45
44
44
43
44
44
45
45
45
42
44
45
44
48
50
54
58
60
66
71
75
81
93
104
111
116
117
120
119
116
114
109
102
97
94
91
89
86
85
87
89
89
87
85
84
83
79
75
69
65
58
53
53
51
46
44
42
41
40
41
42
43
44
45
46
47
45
44
43
43
42
41
39
41
42
42
42
42
42
42
41
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
41
43
43
43
43
43
44
44
45
46
46
45
45
45
45
43
44
44
44
42
42
41
41
42
43
43
44
43
44
45
45
45
46
45
44
45
45
45
45
44
43
43
44
44
44
43
44
45
45
45
45
45
44
41
40
41
42
42
42
41
39
39
39
40
40
40
40
40
40
39
39
39
40
42
43
43
44
44
44
48
50
51
51
44
35
36
44
46
48
52
52
51
52
49
44
47
47
48
50
29
203
206
173
171
167
171
169
167
166
169
169
169
169
168
169
170
170
172
172
173
173
174
174
175
174
172
172
174
174
173
173
174
174
174
173
169
167
165
166
168
168
166
164
162
162
163
164
163
162
161
159
156
152
150
148
148
147
145
141
135
130
128
125
120
116
113
109
108
109
105
100
100
98
96
96
93
89
88
86
82
79
76
75
73
71
69
67
64
58
56
50
48
45
42
39
37
42
42
39
40
42
44
44
44
41
43
43
44
45
49
52
55
58
63
66
74
87
98
105
110
113
117
118
116
114
109
102
98
91
89
87
85
85
88
89
89
89
88
87
85
82
77
72
68
62
57
55
52
48
47
44
41
40
40
41
43
44
45
46
45
44
44
43
42
41
41
40
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
41
43
43
42
42
44
43
45
44
46
44
44
44
44
43
43
43
44
43
42
42
41
42
43
42
43
44
44
44
43
44
45
45
45
45
45
45
45
44
43
44
44
44
44
43
44
45
45
44
44
45
44
41
40
40
41
41
40
39
40
40
40
40
40
40
39
38
39
40
40
39
40
41
42
43
44
43
44
47
49
50
49
43
39
41
44
47
49
52
52
51
51
49
45
45
45
45
46
27
200
208
171
172
168
172
170
169
167
171
170
172
173
173
173
172
173
174
174
175
178
177
178
178
176
175
176
174
173
172
173
176
178
179
176
172
170
169
169
170
170
168
165
163
163
164
164
164
163
162
160
156
153
151
149
148
146
144
141
136
131
129
125
121
117
114
110
108
108
104
100
96
94
92
88
83
81
75
71
67
64
62
60
57
56
55
53
51
49
47
47
43
41
38
37
37
37
37
38
41
43
40
42
40
42
41
38
38
39
41
45
46
47
51
53
61
75
86
93
99
106
111
113
113
113
110
103
98
90
88
86
85
83
86
89
91
91
90
89
87
82
79
75
71
65
61
58
54
50
49
46
41
39
40
41
42
43
44
45
44
43
44
43
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
40
42
41
43
42
42
44
43
43
45
44
44
45
46
46
45
45
45
43
43
42
43
43
43
43
43
43
43
43
42
43
44
44
44
43
44
45
45
45
44
43
44
44
44
43
44
45
44
44
45
46
46
44
41
40
40
39
38
39
40
40
40
37
38
39
38
39
39
38
38
39
39
39
41
42
43
43
42
43
45
46
46
47
46
46
48
46
48
51
51
50
49
48
48
48
49
46
45
47
27
200
207
172
175
170
174
171
173
172
173
173
175
176
176
176
176
174
175
176
178
179
179
179
178
177
177
175
174
173
172
174
179
181
182
179
175
173
172
172
171
171
170
168
165
163
164
165
165
164
163
160
159
155
151
149
148
146
145
143
137
133
131
126
122
121
117
113
112
109
103
98
93
90
85
78
75
69
61
58
55
50
47
46
45
44
45
43
42
43
44
44
45
43
40
36
36
39
39
37
39
40
40
41
40
37
37
36
35
35
38
38
40
42
45
46
53
65
75
81
87
95
101
105
107
107
105
99
95
89
87
86
83
84
88
91
92
93
92
89
87
82
77
73
72
68
65
62
57
52
50
46
41
39
39
40
41
42
44
45
44
43
44
43
42
41
41
42
42
41
41
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
40
40
42
41
43
42
44
43
43
45
45
44
45
46
45
44
45
45
45
43
43
42
43
43
43
42
41
40
41
42
42
43
42
42
43
44
43
44
45
44
43
44
44
44
43
44
45
45
45
46
46
46
45
42
41
38
37
39
40
40
40
38
36
38
39
39
38
37
38
39
38
38
39
40
41
42
41
42
43
42
41
40
41
46
53
54
50
50
50
49
47
45
48
50
52
53
49
45
45
27
200
207
172
175
170
174
175
174
172
174
175
176
178
179
179
177
178
179
179
179
180
179
180
181
179
177
176
174
172
171
175
179
183
184
182
177
174
173
174
175
174
170
167
165
164
164
164
164
163
163
162
160
155
152
149
148
147
146
143
137
135
132
128
125
124
120
117
114
109
104
98
92
88
81
74
68
60
53
48
45
42
40
38
39
38
38
38
38
38
41
45
42
40
37
36
35
37
38
39
40
42
42
38
37
37
36
35
34
36
34
36
38
42
42
45
49
60
68
75
82
90
96
100
104
104
102
97
93
89
87
85
83
84
88
91
93
93
91
89
86
81
77
73
70
68
66
64
58
54
51
45
41
39
40
40
41
42
43
44
44
44
44
43
42
42
41
42
43
43
43
42
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
40
40
42
41
43
42
44
43
43
45
45
44
45
46
45
44
45
45
44
43
44
44
42
42
41
41
40
41
40
41
42
42
43
43
42
43
44
43
43
43
44
44
44
44
43
44
45
46
46
46
47
47
45
42
40
41
41
40
39
39
40
40
39
38
38
38
37
37
37
38
38
38
39
40
40
40
41
42
42
39
38
37
39
49
60
60
54
48
47
44
42
42
44
48
53
57
51
45
46
26
201
206
172
175
170
174
175
173
173
174
175
177
179
180
179
179
180
182
180
180
180
180
182
180
178
178
176
174
173
174
175
178
181
183
181
178
175
175
175
174
174
173
170
168
168
168
167
166
165
164
163
160
155
152
149
149
148
145
141
139
137
133
130
128
124
121
119
115
110
105
96
88
86
78
69
62
56
48
44
44
40
37
37
37
37
36
35
34
35
39
41
44
42
41
40
35
39
40
42
41
41
41
41
41
38
39
37
38
35
36
39
41
39
41
41
46
53
61
67
75
87
93
98
101
104
101
97
93
88
86
86
85
84
88
91
92
94
91
88
86
81
78
74
72
69
66
64
59
53
49
45
41
40
40
41
41
41
42
43
43
44
43
43
42
41
42
43
43
43
43
43
42
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
40
42
41
43
42
42
43
43
43
44
44
44
44
46
45
44
44
44
44
43
43
42
42
42
41
41
40
40
40
40
41
42
42
42
43
44
43
43
43
43
43
43
43
43
43
44
44
45
46
46
46
46
45
42
40
40
40
41
42
40
39
39
38
39
40
40
40
40
40
40
40
39
39
39
40
41
41
40
42
39
37
36
39
49
59
59
53
47
44
44
42
42
43
47
50
54
51
47
46
26
201
204
172
173
171
175
176
175
175
176
177
179
179
180
182
183
183
185
182
182
183
184
182
181
178
178
176
174
176
175
176
178
180
181
180
179
176
174
175
174
174
173
170
168
168
168
167
166
164
163
163
160
156
152
150
149
147
144
141
139
137
135
132
128
126
124
122
118
114
106
94
84
78
69
59
56
49
41
39
40
41
41
40
41
39
37
35
34
36
38
43
44
44
44
44
44
43
43
43
45
45
45
41
40
42
39
39
38
38
40
42
40
41
43
43
45
49
52
57
65
78
86
94
99
102
99
95
91
87
85
84
84
85
89
90
90
91
88
86
84
82
79
75
72
67
62
60
55
49
46
44
42
42
41
42
43
42
42
41
41
42
41
41
41
42
42
42
42
43
43
43
42
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
41
43
42
44
44
44
44
45
45
45
46
46
46
46
47
47
46
46
46
46
45
45
44
44
43
42
43
43
43
43
44
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
44
45
45
44
41
40
41
42
40
40
41
41
41
41
40
39
40
40
40
40
40
40
39
38
39
40
39
38
39
39
39
40
39
41
46
52
52
48
46
44
42
42
43
43
45
47
50
48
46
46
26
201
205
175
175
173
176
176
178
179
180
181
181
182
184
185
186
186
187
185
184
185
184
183
181
179
179
176
176
177
178
177
177
179
180
179
178
177
175
174
174
174
173
170
169
168
169
168
167
165
163
161
160
157
153
150
149
146
143
141
139
137
135
133
129
129
128
126
121
116
106
92
81
72
61
50
47
43
37
36
37
40
41
42
43
42
41
38
35
35
37
41
41
45
47
47
47
49
48
47
47
46
44
44
42
43
43
43
41
41
41
43
44
41
41
41
41
43
43
47
56
74
81
90
97
99
98
92
88
87
86
85
84
85
87
90
90
89
86
83
83
81
79
75
72
65
59
56
52
46
44
43
42
41
42
42
42
42
41
41
40
39
39
40
41
43
44
44
43
43
43
43
42
41
41
41
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
41
41
41
41
41
42
44
44
44
43
43
45
44
44
46
46
45
46
47
45
46
46
46
44
45
44
43
44
43
43
44
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
45
45
44
44
43
44
42
40
39
40
42
42
42
40
39
40
40
40
40
40
40
40
40
39
39
38
37
38
39
38
38
38
39
40
42
42
42
44
45
45
44
45
44
42
44
45
44
43
44
46
43
42
45
25
198
208
177
178
176
177
179
180
180
177
181
182
183
184
185
187
187
189
189
188
187
185
183
181
180
179
178
177
177
180
180
180
179
177
179
179
178
177
175
174
173
173
172
171
170
169
168
168
166
163
163
160
156
153
151
148
146
143
140
139
138
137
135
131
130
128
128
124
118
110
97
83
76
63
51
46
39
35
34
36
39
40
39
41
40
41
38
34
37
38
40
41
43
46
48
48
49
49
48
48
47
46
44
45
42
43
45
45
45
45
45
46
47
43
43
42
41
40
46
55
71
79
88
94
97
97
94
90
84
84
84
85
86
87
89
90
88
86
84
82
80
80
76
71
66
60
57
50
45
44
43
41
41
43
44
44
43
41
40
39
39
40
40
41
43
44
43
42
41
41
42
43
43
43
43
42
41
42
42
42
42
41
40
40
40
40
40
41
42
42
42
42
42
41
43
43
44
44
43
42
42
44
44
44
43
43
45
44
46
46
46
45
45
45
44
44
44
44
43
43
43
42
43
44
43
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
44
45
44
43
44
42
42
42
43
43
41
42
40
40
38
37
39
40
40
38
37
37
36
35
37
38
37
37
37
37
37
37
41
42
42
44
44
43
43
43
42
42
42
42
43
44
44
44
43
44
42
44
26
200
207
177
178
173
177
179
180
180
180
181
181
182
183
185
188
189
189
188
187
186
185
183
181
180
179
178
177
178
180
179
179
179
179
178
179
178
177
176
174
173
173
172
171
170
169
169
168
166
164
164
160
157
154
151
148
146
144
142
140
140
139
138
134
134
131
131
128
122
114
101
87
80
66
54
48
42
35
33
34
36
37
38
41
42
43
40
37
40
40
41
44
44
47
48
48
48
48
46
47
45
45
46
46
44
46
47
47
47
46
46
46
44
43
40
41
39
40
44
54
69
77
86
92
96
95
91
88
86
85
84
85
86
88
88
89
87
85
83
81
80
78
75
70
64
58
54
49
43
41
41
39
39
40
42
43
43
42
41
40
41
41
41
42
43
44
42
41
41
41
41
42
43
43
42
41
42
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
41
43
42
44
44
42
42
42
44
44
43
43
45
44
44
46
46
46
46
46
45
44
45
45
44
43
44
43
42
43
44
43
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
43
44
42
41
42
41
41
42
42
40
40
38
37
40
40
39
40
38
38
36
35
37
38
38
38
38
38
38
37
40
41
43
42
42
42
42
44
43
43
43
43
42
42
42
42
44
44
41
42
25
198
207
177
175
173
178
179
177
177
181
180
183
184
186
187
188
189
188
188
187
186
185
183
182
180
180
179
178
179
181
181
181
181
181
180
178
178
177
176
175
175
174
173
172
172
171
169
169
167
165
165
161
158
155
152
149
147
145
143
143
141
140
139
138
137
135
135
133
128
118
106
94
83
70
57
50
42
33
32
33
33
34
36
39
39
41
41
39
42
42
43
45
44
45
47
47
45
45
46
46
46
45
47
47
45
45
48
47
46
45
44
44
42
41
40
38
38
38
43
52
66
75
85
91
96
96
91
89
88
87
85
86
87
88
90
88
86
84
82
80
79
77
73
68
64
58
53
46
41
39
39
37
38
39
42
43
44
44
43
42
43
44
44
44
44
43
41
39
38
38
39
41
42
43
42
41
42
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
41
43
42
44
44
42
42
42
44
44
43
43
45
44
44
46
46
46
46
46
45
44
45
45
44
43
44
43
42
43
44
43
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
44
42
41
42
42
42
42
40
39
40
38
37
40
40
39
40
38
37
38
38
38
38
38
38
38
38
38
37
39
40
41
42
43
43
43
43
41
41
41
41
43
43
43
43
43
43
40
43
24
197
207
175
178
174
179
180
178
178
182
183
185
186
185
187
188
189
190
190
188
187
186
185
183
182
180
179
178
179
181
181
181
180
180
180
181
181
179
176
175
175
175
174
172
172
171
171
170
168
167
166
163
159
156
153
150
149
147
144
142
142
142
139
139
139
138
137
136
131
123
111
99
89
77
64
55
46
38
35
35
32
33
35
38
38
41
41
42
45
46
45
45
45
46
44
44
43
43
43
43
44
45
48
48
48
48
50
50
49
48
47
45
39
39
38
38
39
39
45
53
67
76
84
89
94
95
93
91
90
89
88
88
89
89
90
89
85
83
81
79
78
76
72
69
62
57
52
45
39
38
36
36
37
38
41
43
44
45
45
45
45
46
45
44
44
42
40
39
38
37
38
41
43
43
42
41
42
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
41
43
42
44
44
42
42
42
44
44
43
43
45
44
44
46
46
46
46
46
46
44
45
45
44
43
44
43
42
43
44
43
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
43
44
43
41
42
42
42
40
39
39
40
40
41
42
40
39
40
40
38
37
37
38
38
38
38
38
38
37
39
40
42
41
41
41
42
42
42
42
42
42
41
41
43
43
41
41
40
41
24
197
209
177
180
176
181
180
180
180
184
185
184
186
187
186
189
190
189
189
188
189
187
185
183
182
181
180
179
179
181
181
180
181
182
182
181
180
179
178
177
177
178
175
173
172
173
173
172
171
169
168
165
162
160
156
153
149
148
146
143
143
143
141
140
140
140
140
140
134
126
114
105
96
81
68
60
50
41
37
36
34
35
37
40
40
43
45
45
49
49
49
48
46
47
46
44
43
42
43
43
44
45
46
47
49
49
49
49
48
45
44
44
42
42
41
40
43
48
54
62
75
81
89
94
97
100
97
95
91
90
90
89
90
90
90
88
84
82
80
76
75
74
70
67
61
55
51
46
40
38
36
35
36
37
40
42
43
44
44
44
45
45
45
45
44
42
40
39
38
37
39
41
43
43
42
41
42
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
41
43
42
44
44
42
42
42
44
44
44
43
43
45
44
44
46
46
46
45
44
45
45
45
45
43
44
43
42
43
44
43
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
44
45
45
44
44
42
41
41
41
42
42
42
40
39
39
41
42
42
42
40
39
39
40
38
37
37
37
37
37
37
37
39
39
40
41
42
40
40
40
42
42
42
42
42
42
41
41
42
42
40
43
24
197
211
179
181
178
183
183
183
182
185
184
185
187
188
189
190
190
191
189
188
188
187
185
184
183
181
180
179
179
181
180
180
181
182
182
181
180
180
181
179
178
176
176
175
173
174
173
174
173
171
170
167
164
161
159
156
152
149
147
145
144
144
143
141
140
141
142
141
138
130
120
112
103
89
77
70
62
52
47
44
39
37
38
41
41
44
46
47
51
51
51
50
49
48
47
46
46
44
46
46
46
47
48
49
45
45
45
45
44
43
43
43
48
47
48
51
55
59
65
72
83
89
94
97
101
102
100
97
94
93
92
92
90
89
87
86
82
79
76
72
70
70
68
65
61
56
52
47
42
39
37
36
36
37
38
40
41
40
41
41
42
43
44
44
44
43
42
40
39
39
40
42
44
43
42
41
42
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
41
43
42
44
44
42
43
42
44
44
44
44
43
45
44
44
46
46
46
46
44
45
45
44
43
44
43
42
42
43
44
43
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
46
46
44
45
44
43
44
44
44
42
41
41
41
41
42
42
42
42
42
42
42
42
42
42
40
39
40
40
40
40
40
39
40
42
42
42
42
42
42
43
41
40
41
41
41
40
42
42
40
42
40
41
24
198
214
181
185
180
184
185
183
185
186
185
188
188
189
189
190
191
190
189
188
188
187
186
184
183
182
181
180
180
182
181
180
181
182
181
181
181
181
180
180
178
176
176
175
175
174
175
175
174
172
171
168
165
164
161
158
154
151
149
147
146
146
145
143
143
141
143
142
140
136
127
119
107
96
85
78
71
62
54
50
46
44
43
44
44
47
47
47
52
52
52
51
50
49
47
46
45
45
45
45
45
47
46
46
43
43
43
44
44
46
47
48
49
51
53
57
64
70
75
81
91
96
101
103
105
106
105
102
99
98
96
95
92
88
87
84
80
77
74
70
68
68
66
63
60
55
53
48
43
41
39
37
36
36
37
38
38
38
39
39
40
41
41
42
43
44
43
42
41
41
42
43
42
43
42
41
42
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
41
43
42
44
44
43
41
43
42
42
42
42
44
43
45
44
44
44
44
44
45
45
45
45
43
43
42
43
42
43
44
43
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
45
47
46
44
44
43
44
44
44
44
44
44
44
44
44
44
42
41
41
41
41
41
41
41
42
42
42
42
42
42
42
42
41
40
41
41
39
40
40
42
40
39
40
40
40
39
41
41
41
40
40
42
23
196
213
184
184
182
186
184
186
184
187
188
188
189
188
188
190
192
190
189
190
189
188
187
184
183
183
182
181
181
183
182
181
182
183
182
182
182
181
181
180
180
177
177
176
176
176
176
176
175
174
172
169
166
165
162
159
156
154
151
149
148
148
147
145
145
144
145
145
143
140
133
126
121
110
101
96
90
80
71
67
58
54
51
51
50
50
50
49
50
50
51
50
49
48
45
44
47
47
47
45
45
46
46
46
44
45
47
47
51
55
57
61
70
73
77
81
88
93
97
102
104
109
112
114
116
115
113
111
103
103
101
98
95
91
88
84
79
76
73
70
67
67
65
62
59
55
52
48
44
42
40
39
38
39
39
39
38
37
37
38
39
39
40
41
43
44
44
43
43
44
44
43
42
43
42
41
42
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
41
43
42
44
44
43
41
43
43
43
42
42
44
43
45
45
45
45
45
45
45
45
45
43
44
43
42
43
42
42
44
43
44
45
44
44
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
45
46
45
44
45
44
43
43
43
44
44
43
44
45
45
45
43
42
43
43
43
43
43
43
42
41
42
42
42
42
42
42
40
39
40
39
38
39
39
41
40
38
38
38
38
40
40
38
39
41
39
42
23
196
212
185
184
182
187
185
187
184
188
187
187
189
189
190
189
189
190
189
191
191
189
188
185
184
185
185
184
184
184
183
182
183
184
183
183
183
183
182
179
178
179
179
178
177
175
175
176
175
175
173
170
167
164
162
160
156
154
152
150
149
148
148
147
146
145
147
147
147
144
140
135
130
125
115
107
102
94
86
80
70
62
57
55
51
49
49
49
46
46
49
49
47
45
46
44
47
46
46
46
46
48
48
49
46
49
48
52
57
64
70
78
84
96
102
104
108
109
110
115
117
121
124
122
124
123
121
117
113
111
108
104
99
95
91
87
80
77
74
72
70
68
66
61
56
54
50
47
45
43
43
41
40
41
40
40
39
39
38
38
39
39
38
39
41
42
43
43
44
45
44
43
42
43
43
42
41
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
41
43
43
42
42
42
43
43
43
43
42
42
44
44
43
43
43
43
43
43
43
43
43
44
42
42
43
43
43
43
43
44
44
45
45
46
46
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
44
44
45
45
45
45
45
44
43
44
44
43
43
43
43
44
44
44
44
44
44
44
44
42
41
42
42
42
42
42
42
40
38
38
37
37
38
39
39
41
39
38
39
39
38
40
38
39
41
39
40
23
198
212
185
186
182
187
185
188
185
188
187
189
188
188
189
189
191
190
191
192
190
189
188
186
184
185
184
183
184
184
184
183
183
184
183
183
183
182
181
179
178
179
179
178
176
177
176
175
176
175
174
171
167
164
162
159
157
155
153
151
151
150
150
149
149
149
149
149
150
149
146
144
141
137
128
124
117
110
100
95
84
74
67
60
57
54
51
50
46
45
44
44
44
43
43
41
46
47
47
47
47
46
46
47
47
49
51
54
62
71
80
88
105
118
127
128
130
128
128
131
131
133
133
132
131
131
127
124
119
117
113
109
103
97
93
88
82
77
74
72
69
68
65
59
55
51
49
49
46
45
45
44
43
42
41
40
39
38
38
37
37
37
37
38
40
42
42
44
45
45
45
44
43
42
43
42
41
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
41
43
43
43
43
43
43
43
43
43
43
42
42
42
44
44
44
44
44
44
44
44
44
42
43
43
43
43
43
42
43
44
44
45
45
46
46
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
42
41
42
42
42
42
42
42
40
38
38
37
37
38
39
39
39
40
38
38
38
40
40
40
39
41
39
40
23
197
212
185
185
183
188
186
189
186
187
189
188
190
189
191
190
190
191
192
191
190
191
189
187
186
187
185
183
184
184
184
184
184
183
183
182
183
182
181
179
177
177
177
177
176
177
177
176
176
175
174
172
168
165
163
160
157
155
153
152
152
151
150
149
150
150
148
149
149
150
149
148
149
147
143
140
135
129
121
113
102
92
83
73
68
62
58
58
54
50
46
45
45
47
46
46
49
50
52
53
53
54
55
60
55
60
63
69
79
90
101
110
129
142
152
154
152
147
146
148
146
148
145
143
143
141
138
135
126
123
119
115
108
103
96
91
85
80
77
74
71
69
66
60
55
50
49
49
48
47
46
44
43
43
42
41
40
39
38
38
38
38
37
38
39
41
42
43
44
45
45
44
43
42
43
42
41
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
41
43
43
43
43
43
43
43
43
43
43
43
43
42
42
44
43
43
43
43
43
42
42
43
43
43
43
43
43
42
43
44
44
45
44
44
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
43
43
43
43
43
43
43
43
44
44
44
44
44
44
44
42
41
41
41
41
41
41
41
41
41
40
40
40
40
39
41
39
39
39
40
40
39
39
39
40
42
40
41
24
199
211
184
186
184
189
187
190
186
190
190
191
190
192
192
192
191
190
192
190
190
190
188
187
185
186
185
184
183
184
184
183
184
184
184
183
182
181
181
179
178
177
178
178
177
177
178
178
177
176
175
172
169
166
163
160
157
155
153
152
151
150
150
150
150
147
146
144
146
147
145
145
143
141
140
138
136
130
126
122
116
108
102
98
92
90
88
86
83
77
72
67
66
67
64
64
67
68
71
75
80
84
88
94
100
105
109
113
119
127
134
140
148
157
165
166
165
161
160
161
158
158
156
154
151
150
147
144
140
136
131
126
120
114
108
102
95
90
87
83
79
77
71
64
55
49
48
50
49
48
47
45
45
44
43
43
42
41
40
40
41
40
40
39
39
40
40
41
42
43
42
42
43
43
43
42
41
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
41
43
43
43
43
43
42
42
42
42
42
42
42
42
44
43
45
45
45
44
43
43
42
43
43
43
43
43
43
42
43
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
43
44
44
44
44
44
44
43
42
43
43
43
43
43
43
42
42
42
41
40
40
42
42
41
40
41
41
41
41
40
42
41
44
43
44
25
200
212
184
184
184
189
187
190
187
191
190
192
193
193
193
193
193
192
190
191
192
191
188
187
187
188
186
184
183
184
184
183
184
184
183
183
182
181
180
179
179
178
176
177
177
176
177
178
177
174
174
172
169
166
163
160
157
155
153
152
151
151
150
149
150
147
143
142
143
140
138
138
140
139
138
139
139
138
135
133
127
121
117
116
113
112
112
109
106
96
88
82
78
75
73
71
74
76
81
87
96
104
114
123
130
136
141
144
149
153
157
158
166
170
173
173
172
172
171
172
171
168
165
163
161
158
156
152
148
144
140
135
128
122
117
109
101
97
94
90
86
82
75
66
56
49
48
49
48
48
46
45
45
45
44
43
44
44
44
43
43
42
41
40
39
40
39
38
39
40
41
41
42
43
42
41
42
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
41
43
43
43
43
42
45
43
43
44
44
44
43
43
45
45
46
46
46
46
45
44
42
42
42
42
42
42
42
43
44
43
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
43
43
43
43
43
43
43
44
44
44
44
44
44
44
44
42
41
42
42
42
42
41
41
41
42
42
42
42
41
43
43
43
44
42
44
25
200
212
185
185
184
189
188
190
188
192
192
193
193
193
193
193
191
190
189
191
192
190
189
186
187
188
186
184
183
184
184
184
184
185
184
183
182
182
181
179
178
177
177
176
177
177
176
177
176
175
174
172
168
165
164
161
158
156
154
153
153
152
151
150
149
147
143
141
140
138
135
135
137
137
138
138
140
142
141
139
137
136
134
131
131
132
133
129
127
118
110
103
98
92
89
87
92
93
100
108
117
128
141
152
162
169
173
176
180
182
183
183
185
183
184
184
184
184
184
183
179
179
175
172
170
167
165
163
158
154
150
144
138
132
125
118
112
106
101
96
93
89
81
72
61
52
51
51
49
49
48
46
46
45
44
44
45
45
46
45
44
43
43
42
40
39
38
37
38
39
40
41
42
42
41
42
42
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
41
43
43
43
43
42
46
46
46
45
45
45
45
45
45
44
44
46
46
44
45
44
43
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
43
44
44
44
44
44
44
42
41
42
41
42
43
43
43
43
43
43
43
43
42
42
42
42
44
42
44
25
200
212
185
185
184
189
190
191
188
192
191
193
193
193
193
191
190
190
190
192
190
191
190
187
186
186
185
184
183
183
183
182
183
185
185
183
183
182
180
178
177
178
178
177
176
176
175
176
175
173
173
171
168
166
164
161
158
157
156
153
153
152
152
151
150
146
141
139
139
137
137
137
140
141
140
142
144
144
146
145
145
143
144
144
144
146
149
148
143
133
127
122
117
113
112
110
115
115
121
130
139
149
162
173
188
194
195
196
199
200
197
196
194
193
193
193
192
191
191
190
186
184
182
181
179
175
173
172
171
165
162
157
151
145
139
134
126
121
116
111
107
102
94
82
69
61
59
56
53
53
51
46
44
43
42
42
43
45
47
46
46
46
45
44
42
40
39
37
38
39
40
41
42
42
41
42
42
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
41
43
43
43
43
42
46
46
46
44
45
45
45
45
45
45
44
44
44
45
45
45
45
45
45
45
45
45
45
44
43
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
44
44
44
44
45
45
45
44
43
44
44
44
44
44
44
42
41
41
42
42
43
44
44
44
44
44
44
43
45
44
44
42
44
42
44
25
200
213
185
185
184
190
189
192
188
192
193
193
193
193
191
190
190
190
191
192
191
191
190
187
187
186
186
185
184
184
183
183
184
185
184
183
182
182
181
179
177
177
177
177
176
175
175
176
175
173
171
169
167
164
162
161
158
156
154
153
152
152
151
150
149
145
142
140
141
140
140
141
143
143
145
146
147
148
148
146
144
144
143
143
141
143
144
144
145
140
136
132
131
131
129
130
133
134
139
146
154
162
172
181
189
193
195
195
199
198
198
197
199
199
199
199
196
194
193
191
189
188
186
187
186
183
182
180
178
175
170
167
160
155
150
145
139
135
129
123
118
113
104
94
82
72
68
65
59
56
52
46
42
41
40
40
41
43
45
46
47
47
47
46
44
42
41
40
40
40
41
42
42
43
42
41
42
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
41
43
43
42
42
42
46
45
45
46
44
44
44
45
45
45
45
45
45
45
45
45
45
45
45
44
44
45
46
45
43
45
45
45
45
44
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
45
46
46
46
45
44
44
45
44
43
44
44
44
44
44
44
42
42
43
43
44
45
45
43
45
44
43
43
45
44
44
45
42
44
42
44
25
200
214
186
187
184
190
191
190
188
193
193
192
191
191
192
192
192
192
192
192
192
190
189
189
189
188
187
186
186
185
185
185
185
184
183
183
181
180
179
179
180
179
179
178
177
177
176
175
174
174
173
170
166
164
161
160
157
155
153
152
152
151
150
149
146
145
144
143
143
144
144
145
147
147
149
148
149
149
147
145
142
142
142
141
141
142
142
145
148
148
149
146
148
150
150
152
156
158
162
165
171
179
183
185
195
196
197
199
201
200
202
203
205
205
205
203
201
197
195
193
193
192
191
192
192
192
191
191
189
186
182
179
173
167
163
158
153
149
144
138
133
128
120
108
95
86
80
75
68
62
54
47
42
39
37
36
39
40
43
45
47
49
49
48
47
45
43
42
43
42
42
43
44
43
42
41
42
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
42
41
42
44
44
43
47
47
47
45
46
46
46
44
45
45
45
45
45
45
45
45
45
45
44
45
46
43
44
44
45
45
45
45
44
45
46
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
43
43
44
44
44
44
44
44
44
44
44
44
46
47
47
47
46
46
45
44
44
43
43
43
43
43
43
43
46
45
46
46
46
46
46
45
43
43
45
45
44
46
46
46
43
45
43
44
25
200
213
186
186
184
190
189
191
188
193
193
193
191
192
190
191
192
192
192
190
190
189
190
188
187
188
187
186
185
184
185
184
185
185
184
183
182
181
181
181
181
180
178
177
177
177
177
176
174
174
172
169
167
164
161
159
157
155
153
152
151
150
148
147
146
144
143
143
142
142
142
143
145
145
147
147
146
147
146
145
141
141
142
142
141
143
143
146
149
150
152
152
156
157
158
160
164
166
170
173
181
185
190
193
197
197
198
202
204
203
203
206
207
208
209
207
204
201
198
196
193
192
191
193
194
194
194
193
192
189
187
183
177
174
170
166
161
157
152
146
141
136
128
117
106
98
92
85
78
71
61
53
46
41
38
36
38
39
42
45
47
49
49
48
48
46
45
44
45
44
43
44
43
43
42
41
42
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
42
41
42
44
43
43
47
47
47
45
46
46
46
46
44
45
45
45
45
45
45
45
45
44
45
46
44
43
45
45
46
44
45
45
45
44
45
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
43
44
44
45
45
45
45
45
45
45
45
45
47
48
47
46
47
47
46
46
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
44
43
43
44
44
44
44
46
44
46
45
43
26
199
213
186
187
183
190
189
191
187
191
190
192
191
190
191
189
191
189
189
190
190
189
188
187
188
187
186
186
185
184
185
184
184
186
184
183
183
183
182
181
180
180
179
177
177
176
175
176
175
173
170
167
165
163
160
159
156
154
152
151
150
148
146
144
143
143
142
141
142
142
141
142
144
144
144
145
145
144
144
143
140
138
140
140
142
143
144
145
148
149
151
153
159
159
163
164
170
171
176
179
187
191
194
196
200
202
201
205
207
207
208
209
210
211
212
210
207
203
200
198
194
193
194
195
196
196
197
197
194
191
190
187
183
180
178
174
170
167
162
156
150
145
139
132
122
113
107
100
92
84
74
64
55
49
42
38
39
40
42
45
47
48
49
49
48
48
47
46
46
47
45
44
43
43
43
42
41
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
42
41
43
42
43
45
44
47
47
47
45
46
46
46
46
45
45
45
45
45
45
45
45
44
45
46
44
43
45
44
45
45
44
45
45
45
44
45
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
43
44
45
46
47
48
48
48
48
48
48
48
48
49
48
48
47
46
47
47
45
44
44
44
44
44
44
44
45
46
47
46
45
46
46
46
44
44
44
45
46
46
46
45
45
47
46
45
26
199
213
185
185
183
189
190
189
187
190
189
191
192
190
189
190
188
189
188
187
189
188
187
187
187
188
186
185
184
184
183
183
184
185
185
184
183
183
183
182
181
180
179
177
177
176
174
175
173
170
168
167
165
162
161
158
155
153
151
150
148
147
145
142
141
142
140
140
141
140
140
141
143
143
141
141
141
141
141
140
139
137
139
139
142
142
144
145
148
150
150
153
158
162
163
166
173
176
180
184
189
193
196
197
201
203
204
207
209
210
210
211
213
214
214
212
208
204
201
199
196
195
194
196
197
197
198
198
194
192
191
188
186
183
182
178
174
172
169
164
159
154
148
142
135
127
122
115
106
97
86
74
64
56
47
41
41
42
42
45
46
48
49
49
49
49
48
49
50
49
47
44
42
41
42
42
41
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
41
43
43
42
45
45
44
46
46
46
46
44
45
45
45
43
44
44
44
44
44
43
44
46
46
44
43
45
44
45
46
46
45
44
45
45
45
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
46
47
48
49
49
49
49
49
49
49
49
49
49
49
47
46
47
47
46
45
46
46
46
46
46
46
46
45
46
46
45
46
46
45
47
47
47
47
47
47
47
47
45
45
44
46
27
201
212
185
186
183
189
188
190
187
190
190
188
190
191
189
188
189
188
188
188
186
188
188
187
186
186
186
185
184
183
184
184
184
184
184
185
184
184
184
182
181
180
178
177
176
175
174
174
172
170
169
167
164
163
160
157
153
152
150
148
147
146
144
143
140
140
139
140
139
140
141
139
141
142
140
140
140
138
137
137
138
138
139
140
142
142
144
144
149
152
151
154
157
163
164
168
175
178
181
186
190
194
198
200
202
204
204
209
211
210
210
212
215
215
214
212
209
206
203
201
198
197
196
196
197
198
198
198
197
194
192
189
186
184
184
183
180
177
176
171
165
161
155
150
144
138
133
125
117
107
95
82
71
63
53
46
46
45
45
47
45
47
48
48
47
47
48
50
51
50
49
45
42
41
41
41
42
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
41
43
43
42
45
45
44
44
44
44
44
43
43
43
43
42
42
42
43
42
42
42
42
46
44
43
45
44
45
46
46
46
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
46
47
48
49
49
49
49
49
49
49
49
49
49
48
48
47
46
47
47
47
47
47
47
47
47
47
47
46
45
46
47
46
45
46
45
46
47
47
47
47
47
47
47
47
45
44
44
27
200
212
185
184
182
188
189
190
186
189
188
189
188
188
190
188
187
185
185
186
185
186
187
187
187
186
185
185
184
183
183
182
183
184
184
185
185
185
185
183
181
179
180
177
175
174
173
173
172
169
167
165
164
162
159
156
154
153
152
149
148
148
147
146
143
142
142
141
142
141
140
141
140
139
139
139
139
139
139
139
140
140
140
142
143
144
144
144
148
150
151
153
157
162
166
169
171
174
179
183
187
189
195
198
201
204
206
210
212
212
212
212
213
211
211
211
209
208
206
205
202
200
198
198
197
196
197
197
196
194
190
189
185
185
186
185
183
182
182
177
171
167
163
158
152
147
143
137
128
119
107
94
83
75
65
55
54
52
50
49
48
47
46
46
45
45
46
49
50
49
47
44
42
41
42
42
42
42
42
42
42
41
40
41
41
41
40
41
42
42
42
42
41
43
42
44
45
44
46
44
44
45
45
45
43
44
44
44
42
42
41
41
43
43
44
45
43
44
45
45
46
45
44
46
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
45
48
49
48
49
49
49
49
49
49
49
48
48
47
46
47
47
46
45
46
46
46
46
46
46
46
46
46
45
46
47
47
46
45
45
47
47
47
47
47
47
47
47
45
47
46
45
26
202
212
184
184
182
188
189
189
186
189
189
188
187
187
189
189
187
185
184
183
185
185
186
186
186
186
185
184
183
183
182
183
183
182
183
185
185
185
184
183
182
179
178
176
174
173
172
172
171
170
168
165
164
161
158
156
154
152
151
150
150
149
148
147
148
146
145
144
143
141
141
141
140
138
139
139
141
143
143
143
142
143
143
146
146
147
145
146
148
150
152
153
157
161
164
166
169
171
174
177
181
186
190
192
199
202
205
209
211
211
209
210
209
207
206
208
210
209
209
208
205
203
201
200
198
196
195
195
193
191
188
186
183
185
185
185
184
183
183
181
174
170
167
163
158
154
151
146
140
132
121
109
100
91
78
68
63
59
56
53
50
47
46
44
42
42
44
46
46
46
46
44
43
42
41
42
42
42
42
42
42
41
40
41
41
41
40
42
42
42
42
42
42
41
42
44
45
44
46
46
44
44
45
45
43
43
43
44
42
43
41
42
43
43
44
43
43
44
45
45
46
44
45
46
46
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
45
46
48
49
49
48
49
49
49
49
49
49
47
46
46
47
46
45
45
44
47
48
48
48
48
48
48
48
47
46
46
47
47
47
47
45
45
45
45
45
45
45
45
45
45
47
44
43
26
202
211
183
185
182
187
188
188
185
189
188
188
187
188
188
187
186
184
183
183
183
184
185
184
185
185
184
183
182
182
181
181
182
182
182
184
185
184
183
181
179
178
177
175
173
172
171
169
169
169
168
165
163
161
158
156
154
152
150
150
150
150
149
149
151
150
148
146
144
142
141
140
141
141
142
142
142
144
145
146
145
146
146
147
146
147
148
147
149
152
152
154
157
162
163
165
167
171
171
175
176
182
186
189
196
198
200
204
207
208
208
208
206
204
203
204
209
212
213
211
206
204
203
201
198
196
195
193
189
188
186
184
182
185
186
187
186
186
186
182
177
173
170
167
162
159
157
153
148
141
131
121
112
103
90
78
71
66
60
55
51
48
45
43
41
41
42
45
45
45
45
44
43
43
42
41
41
41
41
42
42
41
41
41
41
41
41
41
41
41
40
42
42
41
43
42
45
45
46
46
44
44
45
45
43
43
45
44
42
42
41
41
43
43
44
44
43
44
45
44
44
44
45
46
46
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
46
47
47
48
49
49
49
48
47
48
49
49
47
46
47
47
46
45
45
45
47
48
48
47
46
47
48
48
48
46
46
47
47
47
46
47
45
45
46
46
46
46
46
46
46
46
45
43
25
202
211
180
184
181
186
187
187
184
190
190
188
187
187
186
186
185
184
183
183
183
182
182
181
183
184
183
182
181
181
180
180
181
183
181
182
183
182
181
178
176
175
173
171
170
168
168
167
166
166
166
164
162
160
157
156
155
152
148
148
149
149
150
151
152
150
147
145
144
142
140
141
143
143
144
144
144
146
148
147
147
146
147
145
147
149
150
148
149
151
152
153
156
160
164
163
167
169
170
170
172
177
180
179
185
188
190
195
198
203
205
206
204
203
202
205
208
214
214
211
206
202
202
199
196
195
195
191
187
187
187
187
186
189
193
194
191
191
190
187
182
179
176
172
169
165
163
159
153
147
138
129
121
113
103
89
80
74
66
58
53
47
43
42
41
42
42
45
46
47
46
44
43
42
43
43
43
43
42
42
41
39
39
40
41
41
41
38
39
39
39
42
40
42
41
42
43
43
43
45
45
45
45
43
43
43
45
42
42
42
43
43
42
42
44
44
43
44
45
45
46
46
45
44
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
46
47
46
46
47
48
48
47
46
47
48
48
47
46
47
47
47
47
47
48
47
46
47
45
44
46
47
47
47
47
46
45
46
47
48
48
47
46
45
46
46
46
46
46
44
44
43
45
23
201
210
179
183
180
186
187
185
184
188
188
188
188
188
188
186
186
185
185
184
185
184
183
182
182
184
182
181
181
180
181
181
181
180
181
180
181
181
179
176
174
172
171
169
167
166
165
164
164
165
163
162
161
159
156
155
154
152
149
149
149
150
151
151
150
148
145
144
143
143
142
143
145
144
146
148
149
148
150
149
147
145
146
146
147
151
152
151
154
154
155
156
158
161
162
162
165
166
165
165
166
169
170
168
171
174
176
177
185
191
197
201
204
204
205
207
209
210
209
208
203
200
197
195
192
189
189
188
187
188
191
193
194
199
204
205
203
203
202
198
192
187
183
180
177
173
170
165
158
152
145
138
132
127
119
106
93
82
69
59
51
44
40
40
41
44
45
45
44
44
45
44
43
42
42
42
43
42
42
41
41
40
40
39
41
41
40
38
39
40
39
40
39
42
43
44
44
44
42
44
43
45
43
44
44
44
42
42
43
44
42
42
43
44
43
43
43
43
45
45
46
46
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
45
46
47
47
47
47
47
47
47
47
47
47
47
47
46
45
45
46
47
47
46
45
45
46
46
45
45
45
45
45
45
46
46
45
46
47
45
45
46
46
44
44
44
44
44
44
43
45
25
201
210
180
181
179
185
186
184
185
186
186
185
186
187
187
188
188
186
187
186
185
186
184
183
182
182
181
180
180
179
179
179
179
180
180
179
179
178
176
174
171
168
167
165
163
162
161
160
163
164
162
160
159
158
157
155
154
152
150
150
150
152
152
151
149
147
144
142
141
142
144
145
148
149
150
152
151
150
151
150
149
148
146
148
148
152
154
155
155
157
159
160
160
163
162
163
162
162
162
162
162
161
159
157
153
156
158
160
168
177
187
193
203
204
207
209
210
209
207
205
201
197
194
190
186
184
185
186
187
191
195
199
204
210
216
218
217
216
215
210
203
197
193
189
185
181
176
168
162
157
153
146
141
139
134
123
108
92
77
62
51
42
37
39
44
47
48
45
43
43
43
44
44
44
43
44
42
42
41
41
40
39
38
40
40
40
38
40
40
39
41
41
41
40
41
43
43
43
43
42
42
44
42
44
42
42
43
42
42
44
44
42
42
44
44
45
45
45
45
44
44
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
45
46
47
46
45
46
46
46
46
46
46
45
45
45
44
44
45
45
45
45
46
46
46
46
46
46
46
45
45
46
45
44
44
45
46
46
46
46
46
46
46
46
46
46
46
45
45
26
201
209
180
182
178
184
185
183
182
182
182
183
183
185
186
185
186
188
187
188
186
185
184
183
183
183
182
182
180
180
180
180
179
177
178
177
175
174
173
170
167
164
162
161
159
158
158
158
160
161
161
160
158
157
155
154
154
152
150
150
151
152
153
152
151
148
145
143
143
143
144
146
149
149
150
151
152
153
152
152
150
150
149
150
151
153
154
156
156
160
161
160
163
164
164
161
161
160
160
162
160
160
155
152
147
150
152
154
162
173
183
192
200
203
208
210
209
208
206
204
200
196
192
188
183
183
185
187
189
193
198
204
209
215
221
224
222
221
219
215
207
202
197
193
188
184
178
170
164
160
156
149
145
144
142
132
117
101
85
69
57
45
39
41
47
50
49
45
43
44
43
44
45
44
43
42
42
41
39
40
39
37
37
38
39
37
38
39
40
40
39
41
41
42
42
41
41
42
40
43
43
43
41
43
43
43
42
43
44
44
44
44
44
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
45
46
45
44
44
44
44
44
44
44
45
46
46
46
46
45
46
47
46
45
46
46
46
46
46
45
47
46
46
45
44
45
44
44
44
44
44
44
44
44
44
44
46
46
44
44
26
201
208
178
180
178
183
185
184
181
181
181
182
182
184
184
184
184
186
185
187
186
187
184
182
181
180
179
179
178
177
178
178
177
175
174
173
171
170
169
165
163
162
161
159
158
157
157
157
158
160
159
158
158
157
155
154
154
153
151
151
153
154
153
153
153
151
148
147
147
146
145
146
147
146
145
149
151
150
153
155
156
156
155
154
156
154
155
153
155
157
160
161
164
164
163
160
162
159
158
159
161
159
157
154
152
155
157
158
165
175
184
194
200
203
207
209
210
208
207
206
199
197
194
189
186
187
189
190
193
196
201
207
210
216
221
224
224
223
221
215
208
202
198
193
189
185
179
170
163
158
153
146
141
141
140
133
120
106
92
78
66
54
45
46
50
51
50
46
44
43
43
45
46
45
44
44
42
41
40
39
38
37
38
36
37
37
38
40
39
38
38
39
39
41
40
42
42
40
39
42
41
41
41
41
43
43
43
41
42
42
42
42
42
42
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
43
44
45
45
45
44
44
44
45
45
45
45
45
45
44
45
46
46
46
45
46
47
47
46
45
46
46
46
46
46
45
46
47
46
45
44
45
45
45
45
45
45
45
45
45
45
45
44
44
44
46
26
200
209
180
180
177
182
184
182
183
181
181
183
183
184
185
185
186
187
185
184
185
184
183
182
181
179
178
177
177
176
175
175
175
173
172
170
168
166
163
162
161
160
159
158
157
157
157
157
158
159
159
158
158
156
155
154
153
153
151
151
153
154
155
156
156
154
153
153
151
148
147
146
144
142
142
146
147
148
154
157
159
160
160
160
160
157
154
152
153
156
160
161
163
164
163
160
162
160
157
158
162
161
161
160
159
161
164
164
170
179
188
194
203
204
207
208
209
210
208
207
202
198
196
194
190
191
193
194
197
200
204
209
212
216
221
224
222
221
220
215
208
202
198
195
189
183
178
170
162
155
148
140
135
134
136
131
122
113
103
90
77
65
56
52
52
50
48
46
45
44
44
45
47
46
44
44
42
41
39
37
37
38
37
36
37
37
38
39
37
38
38
40
38
40
39
41
41
41
39
42
42
42
42
41
41
43
43
41
43
43
43
43
42
43
44
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
44
43
44
45
45
45
45
44
44
45
45
45
45
45
44
46
46
45
46
45
46
47
47
46
45
46
46
46
46
46
45
47
46
46
45
44
45
45
45
43
43
44
45
45
45
45
45
45
45
43
46
26
202
211
180
181
177
183
184
181
182
181
181
183
182
184
185
185
184
185
186
184
183
182
183
183
181
179
178
177
176
175
175
175
174
172
171
168
166
164
162
161
159
159
158
157
157
158
159
159
158
158
158
158
157
156
156
155
154
153
152
151
153
154
157
158
158
157
157
156
155
151
148
147
143
139
140
144
145
149
154
157
162
164
164
165
163
159
155
151
154
157
162
163
164
164
163
161
162
158
158
159
161
165
167
168
166
169
169
170
177
183
193
197
203
205
207
207
207
210
210
208
202
199
198
197
194
194
197
197
200
203
207
210
213
217
222
223
222
221
219
214
208
202
198
194
188
182
176
168
160
151
141
130
124
124
127
126
122
119
113
99
86
74
63
57
52
50
47
46
46
46
46
46
46
45
44
44
42
41
38
37
37
38
36
37
38
37
39
37
37
38
38
38
39
38
38
38
38
39
39
40
42
42
42
42
41
41
43
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
44
45
45
44
45
45
45
45
44
45
46
46
46
46
45
46
47
46
45
46
46
46
46
46
46
45
46
45
44
45
45
45
45
44
43
44
45
45
45
45
45
45
45
43
45
26
203
208
182
178
179
181
184
182
180
182
182
183
184
184
185
183
185
183
185
183
184
182
181
181
180
177
176
176
177
175
173
173
172
171
169
167
164
162
161
160
158
158
157
157
157
158
159
159
159
158
157
156
157
157
156
155
155
154
153
152
153
154
157
158
159
158
158
157
156
153
150
148
145
143
142
144
146
148
153
156
163
166
167
167
164
161
157
153
159
161
164
165
168
166
166
166
162
159
159
163
163
165
169
173
173
174
177
177
182
188
195
200
205
207
209
209
210
212
210
208
204
201
202
200
197
198
198
199
202
205
209
211
214
218
223
225
223
221
219
214
207
203
197
191
184
178
171
163
155
146
133
119
113
114
118
119
119
118
116
106
93
80
68
60
54
47
45
46
45
46
46
46
45
45
44
44
42
41
39
39
38
38
37
37
38
37
39
37
38
38
40
37
38
39
39
39
38
39
39
40
42
42
42
42
42
41
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
44
45
45
44
45
45
45
45
44
45
46
46
46
46
45
46
47
47
46
45
46
46
46
46
46
46
45
44
45
45
45
45
45
43
45
45
45
45
45
45
45
45
45
43
45
26
203
204
180
175
177
178
183
184
180
180
180
184
183
184
185
182
184
185
182
183
183
182
182
180
179
174
174
174
174
173
173
172
170
170
168
166
164
161
160
160
160
159
159
158
157
158
157
156
157
156
155
156
155
156
156
155
154
155
155
155
156
157
157
158
160
159
159
158
157
157
154
152
149
147
146
146
148
150
153
154
160
163
165
167
166
164
162
161
165
164
166
170
172
170
172
171
167
162
162
167
166
169
176
179
182
182
185
186
189
193
199
202
208
210
213
213
213
213
212
209
205
204
203
202
200
201
202
203
204
206
209
211
215
218
222
223
221
219
217
212
207
202
196
189
181
174
168
158
148
138
123
108
102
103
106
109
114
116
119
114
102
88
74
64
54
43
43
46
46
46
47
46
45
44
44
44
43
41
40
38
36
36
36
37
38
37
38
38
40
40
41
39
38
39
39
38
39
42
42
42
42
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
44
44
45
45
45
45
44
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
46
46
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
45
45
27
204
205
181
176
178
178
183
184
180
180
182
183
184
184
184
182
182
182
181
181
180
178
179
179
176
172
173
172
171
171
171
170
168
168
166
164
161
159
158
158
158
159
158
157
158
157
156
155
154
155
155
154
154
155
154
153
155
156
156
157
157
157
158
158
158
159
159
160
160
160
159
155
153
149
148
148
147
150
152
153
158
161
163
164
167
167
167
167
168
168
168
172
173
176
176
175
171
166
166
171
171
176
182
185
192
191
193
193
195
198
203
205
213
214
215
215
213
212
210
208
207
207
206
204
202
203
204
205
206
207
210
212
213
215
218
219
218
217
215
210
205
200
193
186
177
168
162
152
141
128
111
95
87
87
90
96
106
114
123
119
107
95
81
67
55
42
40
43
44
45
46
45
45
44
43
42
42
41
40
38
38
38
36
37
37
39
38
40
40
39
41
38
38
39
39
38
39
42
42
42
42
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
46
46
45
44
45
45
45
45
45
45
45
45
45
45
45
45
45
44
46
44
44
27
203
205
179
175
178
178
183
183
179
182
181
181
184
184
181
182
183
181
180
181
180
178
178
178
176
172
173
172
171
170
170
168
167
167
165
163
160
158
159
159
159
158
157
158
157
156
155
154
154
155
154
153
154
153
154
155
154
154
156
158
158
159
160
160
161
162
162
162
162
160
159
158
156
152
152
151
150
151
153
154
158
159
161
163
166
167
168
169
171
170
171
171
175
179
179
178
174
168
168
173
174
179
185
190
197
196
197
198
199
202
206
208
213
215
217
215
214
212
209
207
205
205
204
204
203
204
206
206
207
208
210
210
211
213
215
216
215
213
211
207
202
197
190
182
172
164
158
147
136
122
102
84
74
75
79
88
100
111
122
118
109
100
85
70
56
43
40
43
44
45
46
45
45
44
43
43
42
40
40
38
37
38
38
38
37
38
38
39
39
41
41
38
38
39
38
40
39
42
41
41
42
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
46
46
46
45
44
45
45
45
45
45
45
45
45
45
45
45
45
44
46
44
44
27
203
205
178
174
178
179
182
182
179
180
181
182
183
182
182
182
181
182
179
178
179
177
178
176
175
171
172
171
170
171
170
167
166
166
165
162
160
158
159
159
158
158
158
157
157
155
154
153
153
153
153
153
152
154
155
156
156
157
157
158
160
162
164
165
165
164
163
161
161
159
158
158
156
153
153
153
154
154
156
156
159
159
160
161
162
162
164
165
169
170
170
172
176
181
181
180
175
169
170
174
175
179
187
191
197
198
197
199
201
203
205
209
212
215
218
216
214
212
208
206
204
204
203
203
201
203
205
205
206
207
208
208
210
211
213
213
211
209
207
202
198
193
186
179
169
159
153
144
131
116
95
74
65
67
71
81
94
105
118
117
107
99
86
71
58
45
43
44
44
45
47
45
45
44
43
42
41
40
40
38
37
38
38
38
37
38
38
39
39
40
41
40
38
38
38
41
39
42
43
41
41
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
46
45
45
46
45
44
45
44
44
44
44
44
44
44
44
44
44
46
46
44
44
27
203
204
177
173
177
176
180
179
178
181
183
181
181
181
180
180
178
180
177
178
177
175
175
174
173
171
170
171
170
169
168
166
166
165
164
162
160
158
159
158
159
161
159
159
158
157
155
153
153
152
151
151
152
154
155
156
157
158
158
159
161
164
167
169
169
167
165
162
160
158
158
158
157
154
156
157
159
160
160
161
160
160
160
159
159
158
159
160
164
166
170
173
177
183
183
183
175
169
172
175
177
179
187
190
200
200
198
200
201
201
205
208
212
216
219
219
214
211
207
205
203
203
202
202
202
203
204
203
204
206
208
208
208
209
211
211
208
206
204
200
195
191
183
174
165
154
147
138
125
109
88
66
57
56
59
69
85
98
113
114
106
100
88
74
60
46
43
45
45
46
47
45
45
44
43
42
41
40
40
38
37
38
38
37
39
39
38
39
39
40
41
41
39
39
39
41
40
41
43
41
41
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
45
47
46
45
46
45
44
46
46
46
46
46
46
46
46
46
46
46
46
44
46
27
204
203
176
172
176
174
179
178
178
181
182
182
181
180
181
179
177
176
175
175
174
173
172
172
171
170
170
168
170
169
166
165
165
164
163
162
161
159
159
158
159
161
159
158
157
155
153
151
151
151
150
149
150
152
154
155
156
157
158
160
161
163
166
167
169
167
166
164
162
161
160
161
160
158
160
161
162
164
164
164
164
163
161
160
159
158
158
159
164
166
169
172
177
182
182
180
174
168
168
173
175
177
187
192
200
199
200
200
200
202
204
206
212
215
218
218
213
210
206
204
203
204
202
201
201
202
203
202
202
204
206
207
207
208
209
208
205
203
200
195
190
186
178
170
160
150
141
130
117
102
80
58
49
47
47
57
74
89
108
111
106
102
92
78
65
51
46
47
48
48
47
45
44
44
43
43
42
41
40
38
37
38
38
37
38
39
38
39
41
41
41
41
41
41
41
40
42
43
43
41
41
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
46
46
46
46
46
46
46
45
47
46
46
27
204
204
177
170
175
174
179
177
179
181
180
182
182
181
180
177
178
176
174
173
172
173
172
172
171
170
169
169
169
167
165
165
164
165
163
162
161
159
158
157
158
159
158
156
154
151
149
148
148
149
148
148
149
150
153
153
153
155
157
159
160
162
163
165
167
167
166
165
166
166
165
164
166
164
163
164
164
166
166
167
166
165
164
164
161
161
161
161
167
169
168
170
175
179
179
176
171
164
163
168
169
175
185
189
197
196
197
197
197
201
203
204
210
214
216
214
212
209
206
205
203
202
201
201
199
200
201
202
203
204
205
205
206
206
206
205
202
199
196
191
186
182
174
165
156
147
139
128
115
99
77
57
49
45
44
53
69
82
101
107
104
103
95
84
72
56
51
50
50
49
48
45
44
44
43
43
42
41
40
38
37
38
36
37
38
38
40
39
40
41
41
41
41
41
41
40
41
43
43
41
41
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
46
46
46
46
46
46
45
47
47
45
45
28
204
203
173
172
172
175
178
179
178
181
180
180
180
179
179
177
176
175
174
173
173
174
172
171
170
169
168
167
165
165
165
164
162
162
161
160
160
160
159
159
159
158
156
153
152
150
148
146
146
147
146
148
150
151
152
154
156
156
155
156
159
160
160
163
163
165
168
168
169
170
169
168
170
169
167
166
167
166
165
167
168
170
170
168
167
167
166
164
168
167
169
171
174
177
176
172
166
159
160
163
164
174
182
189
198
196
198
196
196
200
200
202
207
210
213
212
210
209
207
206
202
201
200
200
198
197
199
200
202
203
203
203
203
203
204
203
200
196
194
189
184
179
172
165
156
145
136
125
112
97
79
58
47
45
44
52
67
80
96
102
102
104
99
87
76
63
55
53
51
48
47
45
44
43
43
42
42
41
39
38
37
38
37
39
38
40
39
41
41
41
41
41
41
41
39
42
42
41
43
41
41
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
46
45
45
45
46
46
46
46
46
46
46
46
46
46
46
46
46
45
45
47
47
28
202
204
170
171
170
175
178
177
179
181
181
180
179
178
178
177
175
174
173
172
173
173
173
172
170
169
168
166
164
164
163
162
162
161
160
159
159
160
159
158
158
157
155
153
150
148
146
144
145
146
145
147
149
150
150
152
156
156
155
156
158
157
158
160
161
165
167
168
169
173
171
172
169
168
167
166
167
168
167
168
170
172
172
170
170
170
170
168
169
169
170
171
173
174
173
169
161
155
156
160
164
170
180
188
196
197
196
195
195
197
199
199
205
208
211
211
210
209
208
207
203
201
200
200
197
196
198
200
201
202
201
201
200
200
200
200
197
192
191
186
181
176
169
162
154
143
134
121
108
95
79
60
48
46
43
50
64
77
91
99
101
104
101
89
78
66
59
55
52
47
46
45
44
43
43
42
42
41
39
38
37
38
37
38
38
39
39
40
41
41
41
41
41
41
39
42
40
42
41
41
42
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
46
45
45
45
45
45
45
45
45
45
46
46
46
46
46
46
46
45
45
45
47
28
204
202
169
172
170
174
176
178
179
181
181
181
179
178
179
176
175
173
174
172
171
170
170
169
168
168
167
165
164
164
163
161
162
161
160
158
157
158
158
157
156
154
152
151
148
145
142
141
142
143
142
145
146
147
147
146
148
150
150
150
150
150
152
150
150
150
147
147
149
150
151
154
156
161
164
163
165
170
170
169
169
170
169
168
170
173
173
174
175
174
174
173
174
176
173
167
161
153
152
157
162
169
179
189
196
196
197
197
197
200
200
201
206
209
211
212
211
210
209
208
204
202
201
201
198
198
199
201
202
200
200
200
198
198
199
198
194
189
188
183
178
173
166
158
148
136
128
116
104
93
77
59
50
47
44
49
62
73
85
95
100
104
101
91
81
69
61
55
51
47
45
45
44
43
43
42
42
41
39
37
37
37
37
38
38
39
39
40
41
41
41
39
39
39
39
40
40
42
42
42
42
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
45
47
47
47
47
47
47
47
47
45
45
45
45
45
45
45
45
47
45
45
47
28
204
203
169
170
169
174
175
177
178
180
181
179
178
179
177
176
174
172
172
171
170
169
169
168
167
167
166
164
163
162
162
161
160
160
159
158
156
155
156
157
155
152
150
148
146
143
140
137
138
140
140
141
142
144
143
142
142
144
142
140
140
142
143
141
139
132
125
120
120
121
122
129
139
148
156
161
166
172
172
168
168
168
167
167
168
173
177
180
185
182
180
179
178
178
174
168
162
154
154
160
163
170
183
191
200
200
201
200
202
203
205
206
208
210
211
212
213
212
210
209
205
204
202
202
199
198
200
201
200
201
202
201
199
198
196
196
192
188
185
180
175
172
164
153
142
130
122
110
97
88
75
61
53
49
46
50
61
70
81
92
96
102
101
92
84
72
64
56
51
47
44
43
43
42
43
42
42
41
39
39
39
39
39
38
38
39
39
40
41
41
41
39
39
40
39
41
41
40
42
42
42
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
46
45
45
45
45
45
45
45
45
47
47
47
47
47
47
47
47
45
47
45
46
29
202
202
168
169
168
173
174
176
177
179
180
178
177
178
176
175
173
171
172
170
169
168
168
167
166
167
165
163
162
162
161
160
160
159
158
157
155
154
153
153
152
149
148
145
142
141
139
137
138
140
139
139
140
141
140
138
139
139
137
134
134
136
136
136
133
122
107
100
99
97
101
110
123
137
149
158
166
173
173
169
164
164
163
162
165
174
181
186
189
187
184
182
180
176
172
167
162
154
156
161
166
173
186
193
201
203
204
203
205
206
208
209
211
210
211
213
214
213
212
210
207
205
204
203
201
201
202
202
201
202
202
200
200
198
195
194
190
185
182
177
172
169
161
150
138
126
117
105
93
85
73
62
55
52
47
51
61
68
79
88
93
100
99
92
84
72
63
55
50
46
43
43
43
42
43
42
42
41
39
38
39
39
38
40
40
39
41
41
41
41
41
39
39
40
38
41
41
40
42
42
42
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
45
45
45
45
45
45
45
45
45
47
45
48
28
201
201
166
168
169
172
172
175
176
179
179
177
176
175
175
173
172
170
169
168
167
167
166
166
165
164
163
162
162
161
161
160
160
159
157
156
154
153
151
150
150
150
146
143
141
140
138
135
136
139
136
136
137
136
135
131
130
129
125
122
119
120
119
116
114
102
88
81
80
77
81
92
106
120
135
145
154
162
164
163
157
155
158
159
163
172
180
186
188
188
188
185
183
180
176
171
167
161
160
167
172
179
189
194
203
204
205
206
206
208
210
211
214
213
214
214
215
216
213
211
209
207
205
205
202
202
204
204
203
204
203
200
200
196
194
192
187
182
179
174
169
165
156
147
135
121
111
99
87
79
70
60
54
51
47
50
60
66
76
86
92
99
98
91
84
71
62
53
47
43
41
42
42
42
43
42
42
41
39
38
39
39
38
39
39
41
41
41
41
41
41
39
39
40
38
41
41
40
42
42
42
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
45
47
48
28
201
200
165
167
166
171
173
173
173
178
177
178
176
175
174
173
171
170
169
168
167
166
165
165
164
163
162
161
161
161
161
160
160
159
157
155
153
152
150
149
149
149
145
141
139
139
137
135
134
135
133
132
131
130
128
123
120
117
112
106
102
97
92
88
83
77
68
64
64
63
67
74
83
94
106
114
124
135
140
140
143
146
151
155
160
166
176
181
187
187
193
194
191
188
185
180
177
170
171
178
183
187
196
200
210
210
211
212
212
214
216
217
218
219
219
217
216
216
215
213
211
209
208
208
206
207
208
208
206
205
202
201
199
195
193
189
184
180
177
171
166
162
153
142
129
116
106
92
79
73
66
57
53
50
46
49
58
63
71
82
89
96
95
88
82
70
61
52
47
42
41
42
43
43
42
41
42
41
39
38
39
39
38
39
39
40
41
41
41
41
41
39
39
40
38
41
41
40
42
42
42
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
45
46
48
28
201
199
164
168
165
171
172
174
173
178
178
178
175
176
174
172
170
171
170
169
167
164
164
164
163
163
162
161
160
160
162
161
160
159
157
155
153
152
150
148
147
146
143
141
140
138
136
134
133
134
131
128
126
125
121
114
111
106
98
93
87
77
68
62
59
57
53
53
54
55
57
62
66
73
82
88
97
108
117
120
129
136
143
150
155
162
171
175
182
186
194
199
197
194
191
185
184
178
179
185
190
195
201
207
212
213
214
214
215
217
219
219
219
220
221
219
218
218
216
215
214
212
212
211
209
211
211
211
209
207
203
202
200
195
190
187
183
178
175
169
164
160
151
140
127
113
101
87
74
68
63
56
52
49
45
48
56
61
69
79
86
93
92
85
80
69
59
50
44
41
41
42
44
43
42
42
42
41
39
38
39
38
38
39
41
41
41
41
41
41
41
39
39
40
38
41
41
40
42
42
42
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
45
47
48
28
201
199
165
166
165
170
171
173
174
174
177
175
173
173
173
171
170
167
166
166
165
164
165
164
163
162
162
161
160
160
160
159
160
159
157
154
152
151
148
148
148
144
142
140
140
138
136
133
131
129
127
123
120
118
112
103
98
92
84
75
67
58
46
38
36
36
39
43
45
45
47
49
52
54
59
63
69
80
89
97
113
121
134
142
147
156
163
166
175
185
195
205
203
200
197
195
192
188
189
194
199
206
210
213
216
216
216
215
216
218
222
224
225
225
226
224
222
219
218
216
216
214
214
215
215
213
214
214
211
207
205
202
198
194
189
186
179
175
172
167
163
159
151
138
122
109
98
82
70
64
58
53
48
46
44
47
54
60
68
76
82
88
89
83
76
66
57
49
43
41
39
41
43
42
41
40
41
40
39
38
38
39
39
41
41
41
41
41
41
41
41
39
39
40
38
41
39
40
42
42
42
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
43
44
45
45
45
45
45
45
45
44
45
46
46
46
46
45
46
47
47
46
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
45
47
30
201
199
165
168
165
169
168
172
173
175
176
174
172
173
172
170
169
165
165
165
164
164
163
163
163
162
162
161
160
159
159
158
158
159
157
154
152
151
149
147
146
145
143
140
140
138
136
133
130
126
124
119
115
112
104
94
87
78
69
59
51
45
37
32
31
32
35
38
41
42
42
42
46
48
49
53
56
64
74
81
96
104
120
131
138
150
158
164
174
188
195
208
207
206
202
203
199
198
199
204
209
215
217
218
218
217
214
213
213
218
222
226
227
227
227
225
223
220
218
218
218
216
216
218
217
216
217
216
211
209
207
203
198
192
188
184
178
173
170
164
160
157
148
136
123
110
99
82
68
61
56
51
46
45
45
47
53
60
67
74
80
86
87
81
73
64
57
50
46
42
40
40
40
40
40
39
38
38
38
39
38
39
41
41
41
41
41
41
41
41
41
39
39
40
38
41
41
40
42
42
42
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
44
45
46
46
46
46
45
46
47
47
46
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
44
45
28
201
198
165
169
165
169
168
172
171
175
176
175
172
171
171
169
169
165
165
164
164
163
164
163
162
163
162
161
160
160
159
158
156
156
156
155
152
150
149
147
146
144
143
141
139
138
136
133
128
125
122
116
111
107
96
86
77
66
55
44
36
36
36
36
37
38
38
38
39
40
41
41
44
46
47
49
51
56
62
67
77
87
105
115
127
142
153
163
174
189
198
210
210
210
208
210
210
209
209
215
220
223
222
221
218
216
213
211
211
216
221
225
227
228
228
226
223
220
218
219
221
218
219
221
220
221
221
221
214
211
207
203
196
191
186
181
174
170
167
161
156
153
144
135
124
110
98
81
67
61
55
49
45
44
44
47
54
59
66
73
79
85
86
81
73
63
57
52
48
45
42
42
41
41
40
40
39
38
39
39
38
39
39
40
41
41
41
41
41
41
41
39
39
40
39
41
41
41
40
42
42
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
44
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
45
47
44
46
28
201
200
167
169
165
169
170
172
172
174
176
173
171
172
170
168
168
165
166
166
164
164
164
162
163
161
161
160
159
158
158
157
156
156
154
154
152
150
149
148
146
145
143
141
139
137
134
132
128
125
121
114
108
102
90
77
69
58
46
34
26
29
34
38
40
40
38
37
37
40
40
40
43
44
44
46
47
48
53
56
63
74
91
103
116
133
148
159
173
187
197
211
212
212
214
214
217
217
217
223
227
230
226
223
219
218
213
210
210
215
220
224
227
228
228
227
223
219
220
220
219
220
221
223
222
222
221
221
218
213
209
204
198
191
184
179
171
166
163
156
152
150
142
132
121
107
95
77
64
57
50
46
43
43
43
46
53
58
65
72
78
84
84
78
71
64
58
53
50
47
45
42
41
40
39
40
40
39
38
38
39
40
39
40
41
41
41
41
41
41
41
39
39
40
39
40
40
40
40
42
42
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
44
43
43
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
45
44
45
46
46
46
46
46
45
46
47
46
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
45
45
45
47
44
46
28
201
200
165
168
164
168
169
171
170
173
175
172
170
170
170
169
168
164
164
164
163
162
161
161
160
161
161
160
159
158
158
156
155
155
154
153
152
150
148
148
147
145
144
142
140
137
133
131
128
125
120
113
106
99
87
72
61
50
41
31
23
28
35
38
40
40
38
35
36
40
41
41
42
42
44
45
45
46
49
53
59
67
85
94
105
124
142
155
169
186
197
212
212
215
216
218
221
221
221
226
229
231
228
223
220
219
214
212
212
216
220
223
226
226
226
225
222
218
219
219
220
221
223
223
224
224
222
222
220
215
210
206
199
192
186
180
172
164
161
155
150
148
139
128
116
102
91
76
63
56
49
44
41
40
41
44
51
57
65
72
78
84
84
79
72
65
59
53
49
47
45
41
39
40
40
39
40
40
40
40
40
39
40
41
41
41
41
41
41
41
41
41
39
39
39
42
42
40
40
40
40
42
42
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
44
43
44
45
44
43
44
44
44
44
43
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
42
43
44
44
43
44
45
45
45
45
45
45
45
44
45
45
45
46
46
46
45
46
47
46
45
46
46
46
46
46
46
45
45
45
46
46
46
45
45
45
46
46
46
46
45
47
47
45
47
46
45
30
201
200
167
166
164
166
167
170
169
173
174
171
169
171
171
171
169
165
164
163
162
161
160
159
158
160
160
160
160
160
158
156
154
154
153
151
149
149
149
148
147
146
145
143
141
138
133
130
127
124
120
112
105
97
83
66
53
41
35
30
26
30
35
36
37
36
33
33
35
40
44
44
44
43
43
43
44
46
49
53
60
67
79
84
94
115
134
148
164
183
196
213
215
220
220
222
224
224
223
225
228
230
226
225
220
220
216
214
216
216
221
223
224
221
222
220
218
215
217
218
221
223
226
226
227
226
224
224
220
217
213
209
203
195
187
181
173
166
160
153
149
146
137
125
111
97
88
75
64
58
50
44
39
37
37
40
48
56
64
71
77
81
83
78
72
65
59
52
48
46
43
41
40
40
41
40
39
40
39
39
39
40
41
41
41
41
41
41
41
41
41
41
41
41
40
43
41
42
40
40
40
40
40
42
42
42
41
41
43
43
43
43
42
43
44
44
44
44
43
44
45
45
44
43
44
44
43
42
42
43
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
43
42
42
43
43
44
45
45
45
45
45
45
45
44
45
46
46
45
46
46
46
45
46
46
45
46
46
46
46
46
45
46
47
46
46
46
45
47
47
46
45
46
46
45
47
47
47
47
47
45
47
29
201
200
165
165
164
168
167
170
169
171
174
172
169
171
171
171
170
165
166
163
162
160
159
158
158
159
159
159
158
158
158
156
154
154
151
148
148
148
147
148
147
146
145
144
141
137
132
128
125
124
120
111
103
95
79
60
47
36
30
30
30
32
34
35
35
34
33
32
35
43
46
46
45
44
43
42
44
46
50
55
60
63
71
73
81
102
122
136
155
177
193
212
217
222
226
227
227
227
225
225
226
228
227
223
221
220
218
219
219
220
222
224
221
218
216
216
215
213
214
217
223
225
227
228
229
227
226
225
222
219
216
213
206
198
189
182
172
164
159
152
149
145
133
119
103
88
81
72
64
58
49
42
37
36
36
38
47
56
64
70
74
79
80
77
72
66
59
53
49
45
41
39
39
40
40
39
39
39
40
41
41
41
41
41
41
41
41
41
41
41
41
40
40
41
40
43
43
42
40
41
41
40
40
42
42
42
41
41
43
43
43
43
42
43
44
44
44
43
44
45
45
45
44
43
44
44
43
42
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
42
43
44
44
45
45
45
45
45
45
45
44
45
46
46
45
46
46
46
45
46
46
45
46
46
46
46
46
45
46
46
46
45
44
45
45
47
46
45
46
45
47
47
47
46
46
48
45
47
29
201
199
166
166
165
169
168
171
172
173
174
172
169
171
171
170
169
165
164
163
161
159
158
156
156
156
158
157
158
159
158
155
153
152
151
149
147
148
147
147
147
146
146
144
142
136
131
126
125
125
120
111
103
94
78
57
44
34
30
32
33
34
34
32
32
31
32
32
36
45
49
48
46
45
43
42
43
46
51
55
59
61
66
64
72
93
113
125
146
169
189
212
218
225
228
229
229
229
228
226
225
226
225
223
223
222
221
220
220
223
224
225
221
215
214
214
213
212
215
217
225
227
228
230
230
228
227
225
223
221
218
215
208
199
189
182
173
164
157
151
148
144
131
115
97
82
77
70
64
57
48
42
38
37
37
39
48
57
65
70
74
78
80
78
74
67
61
55
49
44
41
40
39
39
39
39
40
41
41
41
41
41
41
41
41
41
41
41
41
41
40
42
41
40
40
43
43
42
41
39
41
41
40
40
42
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
44
45
45
43
44
43
42
43
43
42
41
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
42
42
43
43
42
43
44
45
45
45
45
45
45
45
44
45
46
47
46
45
45
45
46
45
45
45
45
45
45
45
45
45
46
46
44
44
45
44
45
47
46
45
45
46
46
46
46
48
46
48
45
46
29
201
201
167
167
163
170
170
171
170
174
174
173
170
168
167
168
167
164
163
162
161
160
159
157
157
156
157
157
157
157
156
154
153
152
149
145
144
145
145
145
147
146
145
143
141
135
130
126
126
126
122
112
105
97
79
60
47
34
29
32
33
35
35
36
35
32
34
35
40
50
55
50
49
45
42
45
46
47
50
52
57
59
59
62
65
84
100
114
135
163
180
207
212
224
226
231
229
229
230
229
226
228
228
228
226
224
225
225
222
224
225
226
221
217
216
216
215
215
217
218
225
226
228
230
228
229
228
225
224
222
220
216
210
200
193
185
172
163
155
147
143
138
125
108
90
74
68
62
56
53
47
42
38
39
42
47
52
60
68
72
76
80
80
77
73
68
61
54
49
45
42
41
41
41
40
40
41
41
40
39
40
41
41
41
41
41
41
41
41
41
41
40
40
41
40
42
42
41
39
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
44
44
44
43
43
42
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
42
43
44
43
43
43
44
45
45
45
45
44
45
46
46
46
45
46
46
45
45
46
47
47
47
47
47
47
47
48
47
46
45
44
45
47
47
45
47
47
48
48
48
48
48
46
48
46
48
31
201
201
169
172
168
174
175
173
171
175
173
171
170
166
165
165
165
163
162
161
160
162
159
159
158
155
156
155
154
155
154
152
151
150
145
143
142
143
143
143
145
145
144
141
138
133
128
126
127
127
122
114
107
100
82
63
48
34
29
31
34
35
36
38
41
41
42
44
48
57
61
59
55
49
45
47
47
46
48
50
53
53
52
54
55
72
85
97
120
150
170
197
205
220
225
231
232
230
232
231
228
228
230
230
231
227
228
226
225
224
226
227
222
219
220
221
218
216
219
220
225
225
228
230
228
230
229
226
226
223
220
217
210
202
194
186
173
162
154
144
138
133
120
101
81
65
59
53
46
44
42
40
41
44
52
58
62
67
74
76
78
82
82
78
74
69
61
53
48
45
43
41
41
41
40
39
39
39
39
40
39
39
39
40
41
41
41
41
41
41
41
41
41
41
41
40
40
39
39
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
45
45
44
43
43
42
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
42
43
44
44
44
43
44
45
45
45
45
45
44
44
44
45
46
45
45
46
46
45
45
45
45
45
45
45
45
47
48
46
45
44
45
46
47
45
46
46
47
48
48
48
48
48
48
46
49
30
201
206
172
176
173
178
178
175
173
175
173
171
169
167
164
165
163
161
161
160
162
160
159
158
157
154
155
154
153
152
151
148
147
147
143
141
142
142
142
142
144
144
143
140
136
132
128
126
127
128
123
116
108
101
85
66
51
38
32
33
34
36
37
39
44
45
47
51
55
63
67
63
58
52
47
47
46
44
46
48
51
51
47
47
45
60
70
82
102
136
159
187
198
219
225
229
232
232
234
233
231
229
230
230
235
231
230
229
227
227
228
228
225
222
224
223
220
219
220
221
224
225
227
229
230
230
228
228
227
224
221
217
210
203
195
187
174
163
154
142
132
126
112
92
71
56
50
43
39
38
37
38
41
48
57
65
69
72
76
80
82
83
82
79
75
70
62
54
49
45
43
41
39
40
40
39
40
40
40
40
40
40
40
39
39
39
39
39
39
39
39
40
39
39
40
40
40
39
38
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
45
45
44
43
43
42
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
42
43
44
44
44
44
43
44
45
44
43
44
45
45
44
45
46
46
46
46
46
46
46
46
46
46
46
46
45
47
47
45
44
45
45
47
47
47
47
46
47
48
48
48
48
48
48
46
49
30
201
206
176
176
175
181
179
176
177
175
173
170
168
165
164
161
160
161
162
162
160
159
159
157
156
153
153
152
150
149
148
146
143
142
140
139
139
139
139
139
140
141
140
137
133
131
129
126
128
130
126
118
110
104
88
70
55
41
35
33
32
34
37
40
43
46
49
53
58
67
71
67
60
53
47
47
46
44
46
48
51
50
46
43
41
53
61
71
87
120
142
174
185
212
218
223
229
230
233
232
232
233
234
236
238
234
234
233
229
227
227
226
228
225
227
226
223
221
220
221
223
224
226
227
230
230
228
229
228
226
222
217
212
205
198
188
175
163
152
138
126
118
104
86
68
54
47
41
38
40
43
49
54
60
69
76
80
82
84
86
86
86
83
80
78
72
63
55
49
45
43
41
40
39
39
40
40
40
40
40
40
40
40
39
39
39
39
39
39
39
39
42
42
42
42
42
42
42
41
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
45
45
44
43
43
42
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
42
43
44
44
44
44
43
44
45
44
43
44
45
45
45
44
44
45
46
46
46
46
46
46
46
46
46
46
46
45
45
46
46
46
46
45
45
46
47
46
47
48
48
48
48
47
49
46
49
30
201
206
176
177
174
178
176
176
177
178
174
170
167
164
162
162
160
158
159
160
159
159
158
157
155
152
152
150
148
147
145
143
140
139
138
139
140
139
139
138
137
138
137
134
132
130
128
127
129
131
126
119
111
105
88
70
57
43
37
35
32
32
35
37
42
46
51
57
62
69
74
70
61
53
47
47
46
44
47
49
51
48
44
42
38
47
53
63
75
108
127
158
174
203
212
220
225
231
232
229
229
231
233
239
241
238
236
235
231
230
229
228
229
227
229
228
225
222
220
220
222
223
224
226
229
229
230
230
229
227
222
218
212
206
200
190
174
161
150
135
120
109
96
81
65
53
47
42
40
44
49
56
62
68
77
83
87
87
88
89
89
86
83
79
77
72
62
54
49
45
42
41
40
40
40
40
40
40
40
40
40
40
39
42
42
42
42
42
42
42
42
42
42
42
42
42
42
40
40
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
45
45
44
43
43
42
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
42
43
44
44
44
44
44
43
43
43
43
44
45
45
45
45
45
44
44
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
45
46
46
48
48
48
48
48
48
47
49
47
49
30
201
207
174
176
172
176
175
177
176
179
175
171
166
163
161
159
158
160
162
162
159
158
158
157
155
151
150
148
146
144
143
139
137
137
136
137
138
139
137
136
135
134
133
132
129
127
127
127
128
130
128
120
113
107
90
73
59
46
40
35
31
31
33
35
40
46
52
58
63
71
76
73
63
55
48
47
46
45
46
49
51
48
43
41
35
42
45
51
69
97
115
146
163
197
210
219
224
229
231
231
231
231
233
239
242
237
235
235
231
228
227
225
230
230
231
229
226
221
220
219
221
220
221
225
227
229
230
230
230
226
222
218
213
208
200
189
174
160
148
131
113
102
89
73
60
51
47
43
42
47
55
64
71
80
89
95
97
95
94
92
90
88
85
82
79
73
62
53
47
43
40
39
37
37
37
39
40
40
40
40
40
40
39
41
42
42
42
42
42
42
42
42
42
42
42
42
42
40
40
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
45
45
44
43
43
42
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
42
43
44
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
44
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
45
46
46
47
48
48
47
47
47
49
49
47
49
30
201
206
173
175
169
175
177
175
177
179
175
171
167
163
161
159
157
159
162
163
161
158
159
157
153
150
149
146
143
141
140
138
136
135
135
135
136
137
135
134
133
131
131
129
126
125
126
126
128
130
128
121
115
108
92
75
62
50
42
37
32
32
34
35
38
43
50
54
60
68
72
70
60
52
46
46
45
43
46
48
52
50
45
44
35
43
42
49
62
85
98
129
148
181
199
211
219
228
231
229
230
233
233
238
242
237
235
235
231
230
227
225
228
230
231
229
225
221
220
217
219
218
221
224
226
229
230
231
229
227
223
218
213
208
199
190
175
161
148
129
110
97
84
71
59
52
49
48
50
55
62
70
75
82
91
96
97
95
92
93
93
92
88
84
80
73
63
53
45
40
39
38
38
38
37
39
40
40
40
40
40
40
39
41
42
42
42
42
42
42
42
42
42
40
42
42
42
40
40
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
45
45
44
43
43
42
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
42
43
44
44
44
44
44
44
44
44
43
44
45
45
45
45
45
45
44
45
46
46
46
46
46
46
46
46
46
46
46
46
44
45
46
46
45
46
46
47
48
47
49
47
47
49
49
47
49
30
201
203
172
174
170
174
176
174
175
180
175
171
167
163
161
159
157
159
162
163
161
159
159
157
154
150
148
145
141
139
139
137
135
134
133
134
135
135
133
131
130
128
128
126
125
124
125
126
128
129
127
122
116
110
95
77
65
53
44
38
33
33
34
35
37
41
48
53
55
64
69
64
57
50
44
44
43
42
45
48
50
48
45
43
36
44
44
49
59
78
87
120
140
173
191
206
214
226
230
230
232
231
233
238
242
236
234
234
230
228
226
224
225
228
231
228
224
220
219
216
220
219
220
224
226
229
230
229
230
227
223
218
213
206
200
191
177
162
150
130
110
95
82
69
58
52
52
51
52
57
64
74
80
85
90
93
95
94
93
93
94
93
89
85
81
74
63
52
44
39
38
38
36
37
37
39
39
39
40
40
40
40
39
41
42
42
42
42
41
41
41
42
42
40
42
42
42
40
40
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
45
45
44
43
43
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
43
43
43
44
44
44
44
44
44
43
44
45
45
45
45
45
45
44
45
46
46
46
46
46
46
46
46
46
46
45
45
45
46
46
45
45
46
46
47
47
49
49
49
47
49
49
47
49
30
201
203
176
171
173
171
173
177
178
182
176
172
167
164
164
161
157
160
162
163
162
161
158
156
152
149
146
143
140
139
135
134
133
133
131
132
133
133
132
130
128
125
124
122
122
122
122
122
125
129
128
121
117
111
96
81
68
56
46
38
33
32
32
35
39
43
47
50
56
62
64
62
56
50
44
42
41
42
45
49
52
50
47
45
43
45
49
52
57
69
80
104
127
161
182
198
206
223
227
226
230
230
233
234
237
234
232
231
228
229
226
226
228
224
227
226
222
220
219
218
217
218
220
224
229
230
231
232
232
227
222
218
213
207
200
192
176
163
149
129
108
93
79
67
56
50
50
54
56
62
70
79
83
87
91
93
93
92
93
92
91
93
92
87
84
76
66
52
42
38
38
39
38
38
38
40
41
40
39
40
40
39
41
42
42
42
42
41
43
43
43
40
40
40
40
40
40
40
41
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
45
45
45
44
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
44
44
43
44
44
44
44
44
44
43
43
44
45
45
45
44
45
46
46
46
46
46
46
46
46
46
46
45
46
48
47
46
45
46
48
48
48
47
49
49
49
49
49
48
50
48
50
31
204
202
174
169
173
172
174
178
177
182
177
172
167
164
163
161
158
161
163
164
163
162
158
156
153
148
144
141
139
138
136
133
133
134
131
131
132
131
130
128
126
123
122
120
121
123
122
123
126
130
128
122
117
111
99
85
73
60
50
41
35
34
33
36
37
41
47
49
54
59
59
56
53
49
44
42
42
42
45
48
50
49
46
43
41
43
47
50
52
60
66
91
117
150
172
186
202
222
224
223
229
229
232
232
235
234
231
229
227
226
228
227
226
224
225
224
222
220
218
218
218
217
220
223
228
230
231
231
230
225
221
217
212
206
200
192
176
164
151
131
110
95
81
71
62
59
60
63
67
71
78
85
89
91
93
95
95
95
94
94
93
95
91
86
83
76
65
51
41
37
38
40
39
38
39
40
41
40
39
40
40
39
41
42
42
42
42
41
42
43
43
40
40
41
41
41
41
41
41
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
45
45
45
44
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
43
43
44
44
43
44
44
44
44
44
43
43
44
45
45
45
45
45
44
45
46
46
46
46
46
46
46
46
46
45
46
48
47
46
45
46
48
48
48
47
48
49
49
49
49
48
50
48
50
31
203
202
174
169
174
174
179
180
178
182
177
172
168
165
164
162
159
162
164
165
165
163
159
156
153
149
143
140
138
137
135
134
133
134
131
131
130
129
127
125
124
121
120
119
120
121
122
123
126
130
129
124
119
113
102
88
77
67
57
47
41
39
37
38
38
40
44
47
49
54
55
52
50
47
44
44
44
44
44
46
48
46
44
42
40
42
45
48
50
56
58
78
102
141
163
179
194
215
221
221
228
228
231
230
233
232
229
229
228
226
226
226
228
224
222
224
220
219
221
219
219
219
221
225
228
229
230
229
228
223
219
215
210
205
199
192
178
167
155
136
115
100
88
81
76
75
77
82
85
88
93
97
98
100
100
99
99
98
98
98
96
97
93
86
82
72
61
49
40
36
37
39
40
40
40
40
41
41
40
39
39
39
42
42
41
42
42
41
42
43
43
40
40
41
41
41
41
41
41
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
45
45
45
44
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
43
44
44
44
44
43
43
44
45
45
45
45
45
45
45
44
45
46
46
46
46
46
46
46
46
46
45
46
47
45
45
45
46
46
47
47
49
49
49
49
49
49
48
50
48
48
31
203
204
175
172
177
179
184
182
180
182
177
173
168
166
165
163
161
164
166
167
165
163
159
155
152
149
144
138
137
136
135
136
136
135
132
130
128
127
125
124
122
119
117
118
120
122
122
124
127
130
129
126
122
116
106
93
85
74
63
53
46
44
41
41
42
42
45
46
47
51
51
48
46
44
42
41
41
41
41
43
44
44
42
40
39
41
44
46
50
53
53
71
95
131
155
172
188
211
219
221
228
230
230
230
230
228
228
225
225
225
226
230
229
223
221
220
221
222
222
221
221
221
220
225
228
230
229
228
226
221
216
212
207
203
199
192
180
171
159
140
121
107
97
94
93
94
98
103
106
107
110
111
109
107
105
105
105
104
105
104
101
100
94
85
79
68
58
47
39
36
37
39
40
40
38
41
41
40
41
39
40
40
42
42
41
41
42
41
42
43
43
40
40
41
41
41
41
41
41
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
45
45
45
44
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
43
43
44
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
46
46
46
46
45
46
47
46
45
45
46
46
47
48
47
48
49
49
49
49
48
50
49
48
31
203
207
179
172
180
182
187
186
181
182
177
174
169
167
166
165
163
165
167
168
165
163
158
155
152
148
145
140
137
136
135
136
137
137
132
129
127
125
123
121
120
118
116
116
117
121
124
125
128
131
131
128
123
119
110
99
92
82
71
60
51
48
46
44
43
44
43
44
45
46
47
47
45
44
43
42
41
41
41
41
41
41
39
37
37
39
42
44
44
45
44
61
86
122
146
162
185
207
216
218
226
229
229
228
227
225
224
224
226
228
229
230
227
222
219
220
221
219
220
219
219
218
220
225
227
228
227
225
223
219
213
209
205
200
196
191
181
172
162
144
128
115
108
107
107
109
114
119
121
122
121
121
119
116
112
110
110
111
112
109
105
103
94
84
76
62
54
44
38
36
37
38
39
40
38
41
42
41
40
41
41
40
42
43
43
41
41
41
42
43
43
40
40
40
41
41
41
41
39
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
45
45
45
44
43
44
44
44
43
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
43
44
43
43
43
44
45
45
45
45
45
45
45
45
45
45
44
44
45
46
46
46
46
46
46
46
46
46
46
45
46
47
46
45
45
47
46
48
48
47
48
49
49
49
49
48
50
47
49
30
202
205
179
176
181
184
188
188
183
181
178
174
170
168
167
167
165
167
168
167
165
162
158
154
151
147
144
142
140
137
136
137
138
137
132
129
126
124
122
120
119
118
117
117
118
121
123
125
130
133
132
130
127
122
114
106
102
92
81
70
61
58
51
47
45
42
40
39
41
41
43
44
44
44
43
42
42
42
42
42
40
39
38
36
37
39
41
44
41
42
40
58
83
114
136
153
179
203
211
214
223
226
226
225
222
222
224
224
224
227
230
231
229
223
220
217
219
221
222
220
219
218
219
221
224
224
222
220
215
210
206
201
198
196
193
189
181
173
163
150
137
126
120
120
120
123
126
130
132
131
127
125
123
120
116
114
114
115
116
112
106
100
91
81
71
56
48
43
38
37
38
38
39
39
39
41
41
42
41
40
40
41
44
43
42
43
41
41
42
43
43
42
42
40
40
41
41
41
41
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
45
44
44
45
44
43
43
43
44
44
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
44
44
43
44
44
43
44
45
45
45
45
44
44
44
44
44
44
45
46
46
46
46
46
46
46
46
46
46
46
46
46
45
47
46
45
46
45
47
46
48
47
49
49
49
49
49
48
50
47
49
30
202
206
180
176
182
185
189
187
183
181
178
175
171
169
168
168
166
168
167
167
164
161
157
153
150
147
144
142
141
140
137
138
139
137
132
128
123
121
119
118
118
117
114
114
118
123
126
128
131
132
134
132
129
126
121
114
112
104
94
83
74
68
57
49
46
42
37
35
37
37
37
40
41
42
43
44
45
45
43
42
39
38
37
37
37
39
41
44
42
43
40
54
77
110
133
150
170
195
206
209
216
222
221
220
219
219
220
221
225
227
230
232
230
225
219
218
219
221
222
220
219
217
216
218
219
215
213
210
206
201
197
193
191
190
188
185
178
172
165
156
146
137
132
132
133
135
136
137
137
135
130
126
124
121
119
117
117
118
120
113
104
97
85
73
63
50
43
42
40
39
40
40
39
40
40
42
43
42
42
42
42
41
43
43
42
43
43
41
42
43
43
41
41
42
40
40
41
41
41
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
44
45
46
44
45
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
44
45
45
45
44
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
44
45
46
46
45
46
46
47
47
49
49
49
47
48
50
47
47
30
202
205
181
179
184
186
190
189
183
181
178
175
172
169
169
169
167
168
169
167
164
161
155
153
150
147
145
143
143
141
138
139
140
137
132
128
123
118
117
115
114
115
114
114
118
123
127
129
132
134
135
133
131
129
124
120
117
111
102
93
82
74
62
51
45
42
37
33
33
32
33
36
39
41
43
45
47
46
44
42
39
36
34
34
35
37
39
41
42
42
36
52
74
105
126
145
165
190
200
204
213
220
219
218
218
219
220
221
222
224
230
232
232
222
220
219
218
220
222
221
220
217
215
215
214
211
208
204
199
195
191
188
186
185
183
182
176
172
168
161
152
144
140
141
138
139
139
139
137
134
130
124
121
120
118
117
118
118
119
111
102
93
80
68
58
44
39
42
41
41
42
41
40
40
40
42
43
43
42
42
42
41
43
44
42
42
42
43
43
43
43
42
41
42
42
40
40
41
41
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
44
45
46
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
45
46
46
46
45
45
46
46
46
46
45
45
45
46
46
46
46
46
46
46
46
46
46
45
45
46
46
45
46
46
48
48
47
49
47
47
49
49
47
47
29
202
210
185
181
184
187
189
185
185
182
181
177
176
174
173
169
168
168
169
167
163
160
158
154
150
148
145
143
141
141
140
136
138
140
134
126
121
118
115
116
116
115
114
114
118
122
127
130
131
132
132
131
131
129
127
126
123
119
111
101
91
81
66
53
47
41
37
34
30
31
31
32
36
40
45
46
45
45
45
42
37
36
37
37
35
37
38
39
39
41
37
53
69
102
124
140
159
183
191
200
210
215
215
214
214
214
218
219
225
227
230
232
228
224
220
221
221
219
218
219
216
216
215
212
210
206
202
199
194
190
187
183
181
181
182
181
177
174
172
165
156
150
146
145
148
148
144
142
141
138
132
127
122
121
121
121
120
121
121
113
102
90
75
62
52
40
40
41
41
43
44
42
41
40
40
40
40
40
39
41
41
41
41
43
44
44
43
42
43
41
41
41
42
42
42
42
40
40
41
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
45
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
43
42
43
45
45
44
44
45
45
45
45
44
45
46
46
45
46
46
45
46
46
45
46
47
46
45
46
46
46
46
46
46
46
45
44
44
44
45
46
45
46
47
46
47
48
47
47
49
46
47
47
49
30
202
211
184
181
182
186
188
184
182
183
180
177
175
173
172
169
168
168
168
166
162
159
157
153
150
149
147
144
143
141
140
139
137
138
133
126
121
116
115
115
116
116
114
116
119
123
128
131
132
131
132
132
131
130
129
128
129
126
119
109
100
88
72
58
49
45
40
35
35
33
32
33
36
41
44
45
45
47
45
43
38
37
37
38
40
38
39
40
40
41
37
50
70
100
122
138
153
177
183
192
200
204
207
206
209
211
213
215
219
224
227
229
225
221
218
218
218
219
219
218
215
215
214
211
208
206
202
197
194
191
186
184
182
182
182
180
176
175
174
169
163
156
154
155
155
154
151
147
144
141
136
131
126
125
126
123
120
118
117
106
95
84
70
58
48
38
38
41
41
44
44
43
41
40
41
40
40
40
42
43
43
43
42
43
44
44
43
42
43
42
41
42
42
42
42
42
40
40
41
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
43
43
45
45
45
44
44
44
44
44
44
45
46
45
45
46
47
46
45
45
45
46
47
47
46
45
46
46
46
45
45
45
46
45
44
45
44
45
46
45
46
47
46
47
48
48
48
48
46
49
47
49
30
202
209
186
181
183
184
186
182
181
183
180
177
175
173
171
168
168
166
165
163
160
157
155
152
150
149
148
147
144
145
143
140
138
136
129
124
120
116
116
116
116
117
115
117
119
123
129
132
133
132
130
131
131
131
131
132
135
133
125
114
105
94
77
63
55
49
42
40
38
34
34
35
37
39
44
45
47
47
46
43
40
39
41
40
42
41
42
42
43
40
37
52
70
99
117
134
146
167
176
179
191
195
197
198
203
204
206
208
214
219
223
226
223
220
218
219
219
217
218
217
215
214
213
210
207
203
199
196
191
189
187
184
182
182
182
180
176
176
176
174
169
165
164
163
163
161
158
154
150
147
142
136
132
130
130
126
121
118
114
101
87
76
64
52
44
36
36
41
43
42
43
43
42
42
42
43
44
44
44
44
43
42
45
44
43
44
42
42
43
41
41
42
42
42
42
42
40
41
39
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
45
46
47
47
47
47
47
47
47
47
46
48
46
45
45
45
45
46
47
47
46
44
44
44
44
45
45
45
46
47
46
48
48
48
48
48
47
49
47
49
30
202
212
186
182
182
181
184
181
180
182
180
177
175
173
171
168
167
164
163
161
158
156
154
152
150
150
149
148
147
144
144
142
140
135
130
123
117
115
113
113
116
118
116
117
119
124
130
133
132
130
129
130
130
129
131
132
134
135
128
118
110
99
80
66
58
53
46
43
40
34
33
34
37
40
43
45
46
47
46
45
40
40
41
43
44
42
41
42
42
41
37
51
71
100
117
128
144
161
169
173
182
185
194
195
196
201
202
206
208
215
218
220
223
221
220
219
217
216
215
215
215
215
212
208
205
202
199
196
191
190
187
185
184
183
183
182
181
181
181
178
173
172
169
169
168
164
162
156
151
147
144
139
134
132
130
126
120
114
109
97
82
70
56
48
42
34
34
38
42
42
44
43
42
42
39
43
44
44
44
44
43
46
45
44
43
44
44
43
42
43
41
41
42
42
42
42
40
40
41
41
41
41
41
40
40
42
41
41
43
43
43
43
42
43
44
44
43
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
44
44
44
44
44
44
44
44
44
44
44
44
44
45
46
46
46
46
45
46
47
47
47
46
45
45
45
45
45
46
46
47
47
47
47
47
46
46
46
47
46
46
45
45
47
47
47
47
47
47
46
47
48
48
48
47
49
46
47
30
202
213
189
181
184
181
184
181
180
182
181
177
174
172
170
167
166
163
161
159
156
154
152
151
150
151
150
149
147
148
146
143
138
134
129
122
117
114
113
114
116
119
116
116
120
125
128
130
132
130
128
128
128
128
128
132
137
138
131
121
113
102
85
72
64
56
52
48
43
38
34
33
35
38
40
41
42
43
43
41
40
40
43
41
42
42
42
41
40
38
37
49
69
98
115
126
138
154
162
165
171
178
185
189
193
198
200
200
208
209
212
214
217
218
217
216
215
214
214
215
218
217
216
212
209
206
203
199
196
194
193
192
190
189
188
186
185
184
183
181
178
176
173
169
166
161
158
154
149
145
142
137
133
131
128
122
115
109
102
90
77
64
52
44
41
35
36
39
42
42
44
43
42
40
39
41
41
43
44
44
44
42
42
45
44
44
44
43
43
43
43
42
41
42
42
42
40
40
41
41
41
41
41
41
41
42
42
42
43
43
43
43
43
43
44
44
43
44
45
45
45
45
45
45
45
45
45
45
45
45
44
44
44
44
44
44
44
44
45
46
46
46
46
46
46
46
46
46
46
46
46
46
45
44
45
46
46
46
45
45
45
45
45
46
45
46
47
47
47
47
47
47
47
46
46
47
48
48
47
46
44
44
45
45
46
47
47
47
47
46
48
48
48
48
47
49
46
48
30
202
214
190
184
182
181
181
182
181
182
179
177
174
172
170
166
165
161
159
157
155
153
152
150
151
151
151
150
148
148
147
143
139
133
127
123
119
116
117
118
118
118
117
117
120
125
129
130
130
128
125
123
123
124
125
129
133
135
131
122
114
104
89
78
71
64
58
55
49
42
37
35
36
37
37
38
38
38
39
38
36
38
40
42
43
40
39
38
35
37
36
48
67
96
111
120
132
146
150
155
162
166
177
180
189
192
193
197
199
203
206
208
212
214
216
217
217
217
216
217
219
220
218
215
212
209
206
203
200
199
199
198
196
194
192
189
187
186
185
185
184
182
179
171
162
155
153
149
145
143
139
135
132
128
124
116
107
98
89
78
68
57
47
42
39
36
39
41
40
43
43
44
40
39
39
41
42
42
42
43
44
43
43
42
42
41
41
40
40
40
40
42
42
42
42
42
42
41
41
38
38
39
39
38
38
40
39
39
41
41
41
41
40
41
42
44
44
44
45
45
45
45
45
45
45
45
45
45
45
44
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
45
45
46
46
46
46
45
44
45
46
46
46
46
46
46
46
46
45
46
47
47
47
47
47
47
47
46
47
48
48
48
48
47
46
45
44
45
45
46
47
47
47
47
47
46
48
48
48
48
48
46
48
29
203
214
190
185
183
183
183
179
178
182
179
177
174
172
169
165
164
160
158
156
155
153
151
150
150
148
149
149
147
147
147
144
139
134
130
124
119
116
117
119
119
119
118
118
121
124
127
129
127
125
123
121
119
119
123
130
132
133
128
120
115
106
92
83
79
73
65
62
56
45
38
37
37
35
35
35
35
34
34
33
33
35
37
39
39
39
35
34
34
37
35
49
67
95
110
120
126
137
143
148
150
158
168
173
183
187
190
190
196
197
199
200
208
212
215
216
217
218
219
219
221
222
221
218
215
213
210
208
206
206
206
206
203
201
199
196
193
189
187
187
187
184
179
170
157
149
147
144
139
139
135
131
129
124
117
107
97
88
78
67
57
50
42
40
40
36
41
41
41
43
44
42
41
41
41
40
40
43
44
43
41
40
40
42
43
42
42
42
41
41
41
40
40
40
40
39
39
38
38
36
36
36
36
36
36
37
37
37
38
38
38
38
38
38
39
41
41
41
42
42
42
42
43
45
45
45
45
45
45
44
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
45
47
47
45
46
45
46
46
46
46
46
46
46
46
46
46
46
46
45
46
47
47
47
47
47
47
47
46
47
48
48
47
49
47
46
45
44
45
45
46
47
47
47
47
47
46
48
48
48
48
48
47
46
29
201
214
190
185
185
182
183
179
179
182
180
176
174
171
169
165
163
159
157
156
154
153
151
150
150
149
151
150
147
147
146
142
139
136
129
123
119
118
117
118
120
119
117
118
121
125
128
129
128
124
120
118
119
119
122
127
133
135
131
122
115
109
98
89
81
74
67
63
57
48
41
39
39
38
36
35
34
34
33
33
33
35
37
40
39
38
36
33
35
39
37
52
65
93
111
119
125
136
139
146
149
156
168
174
181
183
187
188
190
196
196
198
205
209
214
214
214
215
215
216
222
222
223
221
217
214
211
210
209
208
209
209
207
204
201
198
196
192
188
187
186
184
177
167
156
147
145
141
135
135
133
130
126
121
114
104
94
85
74
62
54
46
40
39
40
36
39
41
42
44
44
43
42
41
41
41
41
41
41
43
42
41
41
43
41
39
39
39
38
38
38
41
41
41
41
40
40
40
39
37
37
37
37
37
37
38
38
38
39
39
39
39
39
39
40
42
42
42
43
43
43
42
43
45
45
45
45
45
45
44
45
46
46
45
45
45
45
46
46
46
46
46
46
46
45
45
46
48
47
45
45
46
46
45
46
46
46
46
46
46
46
46
46
46
46
47
47
47
47
47
47
46
46
47
48
47
49
49
47
46
44
44
45
45
46
47
45
47
47
47
47
48
48
48
48
48
45
47
29
201
210
184
184
179
183
179
180
176
179
175
173
172
170
168
166
164
161
159
158
156
154
155
154
152
152
151
149
147
144
142
141
139
135
132
126
124
123
123
123
123
123
120
122
124
127
131
130
128
126
124
120
115
115
120
125
127
128
128
126
122
115
104
95
92
85
76
68
64
56
45
39
36
31
30
29
29
28
28
28
32
34
36
37
39
36
32
32
34
38
38
55
70
94
107
120
127
141
148
146
148
153
161
161
168
175
178
184
189
193
197
200
203
204
205
206
210
213
213
215
217
218
216
214
213
211
210
208
205
206
205
205
203
201
201
199
193
187
183
178
171
167
163
154
143
138
136
135
133
128
121
117
113
106
98
87
77
70
63
57
53
49
46
45
44
44
45
46
46
45
43
41
39
40
42
45
47
46
44
44
42
38
38
38
38
39
41
39
40
38
40
36
38
37
36
38
35
35
35
33
32
32
32
32
32
32
33
37
37
39
39
38
37
36
36
36
36
37
39
43
43
42
42
44
43
43
44
43
44
45
45
44
45
46
47
47
46
45
45
46
45
44
45
45
46
47
46
47
48
48
48
48
46
45
46
46
45
44
44
44
44
44
44
44
44
45
45
45
46
47
46
47
48
48
48
47
45
45
46
47
46
46
46
45
46
47
46
45
45
45
45
45
45
45
46
48
45
47
28
201
208
181
179
176
181
178
178
174
178
174
173
172
170
169
167
165
163
161
160
159
157
156
156
154
152
151
150
147
144
143
141
139
138
134
129
126
126
126
126
125
124
122
122
124
126
129
129
127
124
122
119
116
115
118
124
128
130
129
127
126
121
112
104
98
92
82
75
70
60
49
43
39
34
29
30
28
28
29
28
29
31
34
37
36
35
32
31
35
42
44
60
74
99
113
123
133
147
149
151
151
151
160
160
161
170
175
180
187
191
195
201
202
203
204
205
208
209
211
212
212
212
211
210
208
207
205
203
204
203
204
202
200
200
200
196
189
184
179
172
164
157
150
143
137
131
130
129
126
121
115
106
98
91
83
73
66
62
56
53
52
50
47
46
46
45
45
46
46
45
43
41
40
42
43
45
47
46
45
45
43
41
39
39
41
40
42
41
40
41
41
35
37
38
36
36
35
36
34
34
32
33
31
31
31
33
32
37
38
39
38
39
36
33
35
36
37
38
39
40
43
42
42
44
42
41
40
43
44
45
45
44
45
46
47
46
46
45
45
45
45
47
47
47
46
46
47
48
48
47
48
48
46
45
46
46
45
44
45
45
45
44
44
45
45
45
44
45
45
46
46
47
48
48
48
47
46
45
46
47
47
46
45
46
47
47
46
45
46
46
46
46
46
45
47
47
46
45
28
202
205
178
177
174
180
178
178
174
178
174
173
172
171
170
168
166
164
164
163
161
159
158
157
156
152
152
150
146
144
143
142
141
140
137
133
128
127
126
126
127
125
123
124
124
126
129
128
127
125
122
118
116
116
117
122
126
128
128
128
130
127
118
110
103
95
85
78
71
62
51
44
42
37
33
31
28
28
28
28
35
39
40
41
43
42
40
39
43
49
54
68
79
102
116
126
136
148
151
151
150
151
154
154
158
163
169
177
183
189
193
196
196
197
198
202
205
206
206
206
208
209
207
206
206
204
202
200
196
196
197
196
194
194
193
190
185
179
171
161
151
144
138
132
128
123
121
119
116
113
108
100
94
88
78
70
65
63
60
55
52
50
49
48
46
46
46
47
46
45
44
43
42
43
46
45
45
45
43
43
43
40
41
41
41
42
42
41
41
40
41
36
36
38
38
37
37
34
35
34
32
31
30
30
30
31
31
35
35
37
35
35
34
33
34
36
36
37
38
40
41
43
41
40
41
42
41
43
44
45
44
44
45
46
47
48
47
46
47
48
48
47
46
46
48
50
49
47
48
48
48
47
46
45
45
45
46
45
44
45
45
44
43
44
44
43
43
44
45
45
46
47
48
48
48
47
46
45
46
47
47
47
47
47
47
47
46
45
46
46
46
46
46
46
45
47
44
46
28
200
205
178
176
174
183
180
181
176
177
175
174
173
172
170
169
167
164
162
162
161
159
158
158
156
152
152
147
146
144
144
142
140
139
136
134
132
130
129
129
129
127
124
122
124
126
127
127
125
122
121
118
115
112
115
120
123
126
127
127
127
123
117
111
104
96
87
82
75
66
55
51
48
42
38
35
32
30
31
32
35
39
40
45
47
46
46
44
49
57
64
77
86
105
116
126
134
148
150
150
152
150
154
153
156
162
169
172
179
185
189
192
195
196
197
198
201
200
199
202
202
203
203
201
200
198
196
194
192
190
190
189
187
186
185
182
175
169
163
155
147
138
130
124
120
117
115
114
112
107
101
94
89
82
74
66
62
60
58
54
51
49
50
49
46
43
42
44
45
45
44
43
44
44
43
45
46
45
44
45
45
44
46
46
48
49
49
47
45
43
41
38
37
35
35
35
36
33
34
34
33
32
31
29
31
32
33
34
35
34
35
36
33
32
34
32
32
34
38
39
40
39
39
41
39
40
41
41
44
45
45
45
45
46
48
49
49
49
49
50
49
48
50
50
49
49
48
47
47
48
48
46
45
45
46
46
45
45
44
44
43
43
43
42
42
43
43
44
45
45
46
46
47
48
47
47
46
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
47
46
45
28
202
205
178
176
175
183
183
183
177
180
176
175
174
172
170
169
166
164
162
162
161
159
159
158
156
153
152
150
146
145
144
142
140
139
137
135
132
131
130
129
128
126
122
122
124
124
126
126
125
123
119
116
114
113
114
119
123
125
125
124
124
121
115
110
108
102
95
89
84
75
66
60
54
46
42
39
36
35
35
36
39
42
47
51
54
56
55
57
59
70
74
84
92
109
117
126
136
146
147
146
151
150
154
156
156
161
167
171
177
181
184
187
192
194
195
196
199
199
197
198
201
202
201
199
198
195
192
189
187
185
183
181
178
177
175
172
166
160
153
146
138
131
125
118
112
107
106
105
102
101
96
90
84
80
73
66
63
61
59
56
53
50
46
42
41
40
39
42
43
44
44
44
45
43
41
40
41
40
40
43
46
49
53
55
57
59
56
53
49
44
40
35
35
34
34
36
35
31
31
31
30
29
27
27
28
29
29
32
32
34
34
33
31
32
31
31
32
33
33
35
38
38
37
39
39
37
38
41
41
42
45
46
47
47
49
50
49
50
52
52
52
51
51
52
51
51
50
48
48
47
48
47
46
45
46
47
46
46
45
45
45
45
44
44
44
44
44
45
46
47
47
47
46
46
46
47
46
45
45
45
46
47
47
47
45
45
47
47
47
47
47
47
47
47
45
47
45
47
29
201
205
178
177
175
183
183
183
178
182
178
176
174
173
171
169
166
165
163
164
162
160
160
159
158
154
153
152
149
149
147
142
141
140
139
137
136
137
135
133
132
128
125
123
122
124
126
126
124
122
120
116
114
112
114
119
121
124
125
123
122
121
118
115
112
107
102
98
91
82
74
67
59
52
48
45
40
40
40
40
47
52
57
61
64
67
70
73
70
81
85
97
100
114
120
128
135
145
142
146
148
148
155
155
156
160
164
165
172
175
178
184
187
189
194
193
194
192
192
193
195
194
194
192
191
189
186
182
177
174
172
168
165
163
161
157
153
148
144
137
128
120
115
109
102
97
95
94
94
91
89
84
80
76
72
67
64
65
63
58
53
49
46
41
37
35
34
39
42
43
46
47
47
45
43
38
38
38
39
43
48
53
59
63
65
67
64
59
54
46
40
38
36
33
33
36
34
34
30
32
30
29
28
28
30
31
30
29
33
31
30
33
31
29
30
30
30
31
32
33
33
33
32
34
35
38
37
39
41
41
42
47
47
48
49
50
51
50
52
54
54
53
52
51
51
52
51
49
48
48
47
47
46
46
47
47
47
46
46
44
43
43
43
43
43
45
46
45
46
47
47
47
47
47
47
46
45
45
46
47
46
46
46
46
47
47
46
46
47
47
47
47
47
47
46
48
46
48
29
201
206
179
178
176
183
181
183
178
182
178
176
175
173
171
169
167
166
164
163
162
161
160
160
159
158
158
155
151
149
148
147
145
141
142
143
141
139
138
136
134
131
126
124
123
124
126
126
124
122
120
117
115
114
116
120
123
124
125
123
123
122
120
118
113
110
104
99
96
90
81
75
70
64
58
54
52
50
49
51
54
61
65
70
74
76
79
82
85
92
98
107
110
118
124
130
132
140
141
142
144
147
149
150
152
157
160
162
164
170
172
175
180
183
184
186
187
185
184
186
189
188
188
187
186
185
182
179
176
172
169
164
161
158
156
152
144
139
134
128
120
115
109
102
95
91
90
91
90
89
85
81
77
75
73
69
68
68
67
61
57
53
46
42
39
36
37
42
44
46
50
52
53
51
49
46
46
46
47
50
55
60
65
69
73
74
71
68
64
59
55
50
46
43
42
40
40
35
34
31
31
30
30
30
30
31
31
32
32
31
33
32
32
31
33
32
32
32
34
35
34
33
33
35
36
37
40
39
41
42
44
47
47
48
49
50
51
50
51
51
52
54
53
52
51
51
50
49
49
48
49
48
46
47
47
47
47
47
45
44
45
45
45
45
45
43
45
46
47
47
47
47
47
47
47
46
45
45
46
46
47
48
48
48
46
46
48
46
46
46
46
46
46
46
46
48
46
48
29
201
207
180
179
177
183
181
183
178
182
178
177
175
174
172
170
168
166
164
163
162
161
160
161
159
158
158
156
154
152
148
147
145
141
142
143
142
140
139
140
138
133
128
126
124
124
126
126
124
122
121
118
116
114
115
120
124
125
125
123
121
122
120
119
116
111
106
104
102
95
88
82
78
73
67
64
60
59
59
58
64
68
74
80
83
86
89
91
93
102
104
112
112
120
120
126
128
137
136
141
144
143
149
148
152
155
157
158
161
163
167
169
173
178
181
181
178
176
179
182
184
184
184
183
183
181
178
175
170
165
161
157
154
152
148
145
140
135
132
127
120
114
107
100
96
92
91
92
91
90
87
84
82
80
77
73
72
72
72
65
60
55
50
46
42
40
39
44
47
49
52
56
57
57
54
55
56
57
57
58
61
65
69
71
75
77
76
75
75
72
68
62
59
55
53
47
43
39
34
34
35
34
34
34
35
34
34
31
36
34
33
35
34
35
35
36
36
36
36
37
35
34
34
36
37
38
40
43
43
45
44
47
47
47
49
50
50
51
50
51
52
51
52
53
53
52
51
50
49
49
49
48
46
47
47
47
47
47
46
45
46
46
46
45
44
44
45
46
47
47
47
47
47
47
46
45
45
45
46
47
48
48
48
48
48
46
47
48
48
48
48
48
48
48
46
49
48
48
29
201
209
183
185
179
184
184
181
182
180
181
180
177
174
173
171
169
167
166
165
164
163
162
161
160
160
158
157
157
155
153
150
149
148
144
145
146
145
143
140
136
134
128
124
124
125
125
125
125
125
124
122
120
118
119
122
125
126
124
123
122
122
124
125
124
120
115
113
110
104
100
95
91
87
81
76
74
71
70
73
74
77
84
89
92
95
97
100
106
115
120
122
124
124
127
129
131
130
132
135
137
143
145
145
148
148
152
153
155
157
159
160
163
164
168
171
168
170
170
171
174
175
176
176
176
174
171
167
160
158
154
149
145
140
137
133
130
127
122
115
110
106
102
97
91
87
87
89
90
88
85
83
82
81
80
80
79
79
79
74
67
60
55
52
46
40
44
49
53
55
57
60
62
63
64
66
67
68
70
68
68
70
71
76
79
82
85
86
87
88
85
82
77
70
64
59
54
47
39
37
36
34
34
34
34
38
38
39
38
37
37
34
32
31
32
35
36
37
37
37
38
34
32
33
36
41
40
41
43
41
42
45
45
47
47
47
48
49
50
51
51
52
52
54
53
52
52
53
51
49
47
46
47
47
45
44
45
45
46
47
46
45
47
48
47
47
47
46
45
46
46
45
45
45
45
45
46
47
47
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
47
49
47
47
29
201
210
184
186
178
184
182
181
181
181
181
180
177
176
173
172
170
167
168
166
165
164
163
162
161
161
159
158
156
155
154
151
149
149
149
149
150
149
147
144
140
135
130
127
127
129
129
127
126
126
125
124
121
120
120
123
126
127
126
123
122
123
124
123
128
127
122
120
118
113
110
106
105
101
94
91
87
84
84
85
87
89
96
99
102
106
106
109
114
119
127
128
129
128
128
131
128
129
131
133
136
137
142
143
144
146
146
148
149
150
152
152
154
156
159
162
159
158
161
162
165
166
167
168
167
166
163
160
156
153
149
146
142
138
134
130
125
121
118
113
107
102
98
94
90
88
88
90
90
88
86
85
84
83
82
81
81
81
80
75
68
62
57
54
48
45
46
53
58
60
62
65
67
69
73
75
77
81
80
79
78
78
81
82
84
87
89
92
95
95
93
92
88
82
76
69
64
56
47
44
45
41
41
42
45
47
48
48
46
47
45
44
41
42
43
45
45
47
45
44
44
42
39
40
42
46
47
47
49
46
46
46
45
44
45
47
47
48
49
50
50
50
51
52
53
52
52
51
50
49
47
47
46
46
46
44
45
46
46
47
47
47
46
47
48
47
46
47
46
45
45
46
46
46
46
45
46
46
47
48
48
48
48
48
48
48
47
47
47
47
47
47
47
47
47
49
47
49
30
201
213
186
188
182
185
184
181
183
185
185
180
178
177
177
174
172
168
167
166
167
167
165
163
163
162
160
159
157
156
155
153
151
150
151
152
152
151
150
147
145
140
134
130
130
131
132
130
129
129
127
126
123
122
122
125
127
128
126
124
122
122
125
126
125
122
121
121
121
119
116
113
113
110
105
100
97
93
93
94
94
97
101
107
110
110
113
114
118
125
130
132
129
126
123
123
122
122
126
127
132
134
134
135
138
137
139
140
139
140
141
143
145
148
151
151
151
150
151
152
157
158
159
160
160
158
155
152
148
144
140
137
134
130
127
124
119
115
112
108
102
98
95
93
93
92
91
92
92
90
89
88
88
87
86
86
85
84
84
79
73
66
62
60
56
53
55
59
62
64
65
67
69
74
80
82
85
88
88
86
85
84
84
86
87
88
92
98
101
103
100
101
97
92
85
75
71
62
55
52
49
49
49
50
52
53
55
55
54
54
53
52
50
49
50
52
52
54
53
52
52
48
45
45
47
48
50
50
48
48
47
48
46
45
44
44
44
46
47
46
47
49
49
50
50
49
51
52
50
48
47
46
45
46
44
44
44
45
45
46
47
47
46
46
48
48
47
47
46
45
46
45
44
45
45
45
46
46
47
48
48
48
48
48
48
47
49
49
49
49
49
49
49
49
47
48
47
49
30
202
214
187
192
183
185
181
180
181
185
184
184
182
179
176
174
172
170
171
169
167
166
166
166
165
163
162
161
159
158
156
155
153
152
152
154
155
155
153
151
147
144
139
134
133
134
135
134
133
131
130
127
125
124
125
127
129
129
127
124
123
124
126
126
126
124
123
125
125
126
125
123
122
120
116
114
110
106
105
105
105
109
112
115
118
118
120
119
123
127
132
131
129
124
119
119
118
120
119
123
124
128
128
128
129
130
130
131
132
132
132
132
135
137
139
138
136
136
140
141
143
145
147
148
148
147
144
141
139
137
133
131
128
124
121
118
114
110
107
103
99
98
95
96
98
97
96
96
95
94
94
93
91
90
89
88
87
86
84
81
77
71
68
67
64
63
62
64
65
66
67
69
71
76
82
89
94
97
99
99
96
95
94
95
94
96
100
105
110
111
111
109
108
104
94
87
79
74
63
65
64
64
63
64
66
68
69
68
68
68
67
64
64
63
63
69
68
66
67
65
64
62
59
57
58
58
58
59
57
55
53
48
45
44
43
43
41
42
43
45
45
46
47
48
49
48
49
49
48
47
46
46
46
46
45
43
44
44
45
46
47
46
47
48
47
46
47
47
47
46
45
46
46
45
46
46
47
48
47
47
47
47
47
47
47
47
48
49
49
49
49
49
49
48
50
51
50
48
30
202
218
189
191
184
183
183
183
181
186
187
186
181
179
178
176
174
171
170
169
170
169
167
166
166
164
163
162
160
159
157
156
155
154
154
155
156
155
154
153
149
146
143
139
136
137
137
136
135
134
132
130
128
126
127
129
130
130
128
125
123
124
126
127
128
128
127
127
129
129
129
130
129
128
126
123
121
117
116
116
116
116
118
123
124
123
124
125
127
131
132
130
128
122
118
118
114
114
117
117
119
123
124
123
123
124
124
124
127
126
126
126
125
126
129
127
127
127
129
131
138
138
141
141
141
141
139
136
132
130
128
125
123
120
117
114
108
106
104
100
98
96
96
97
99
99
98
97
97
97
97
96
94
93
92
90
88
86
84
80
77
73
71
71
70
70
68
70
71
72
72
75
77
81
87
94
98
104
106
107
105
100
99
102
101
101
106
110
113
115
116
114
113
109
103
96
91
84
78
71
71
69
70
71
71
75
77
77
77
77
76
75
74
73
72
74
73
74
71
69
69
66
63
63
62
61
60
60
59
55
52
52
50
46
43
41
39
38
40
42
42
44
47
48
47
47
48
49
48
48
47
45
42
42
43
44
43
44
44
45
46
47
47
48
48
47
46
48
47
46
45
46
45
46
46
47
48
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
48
49
50
49
50
30
202
216
189
190
184
185
182
182
184
185
185
185
183
183
181
177
174
174
173
170
171
170
170
170
168
165
164
163
161
159
158
157
156
155
155
156
156
155
155
154
152
149
146
142
141
140
140
139
138
136
133
130
128
127
127
128
130
130
128
125
123
124
126
126
125
123
125
125
125
128
130
129
129
129
129
127
124
121
121
122
122
123
124
123
123
123
123
122
124
127
127
125
121
117
113
116
114
112
112
112
117
117
118
118
118
119
119
122
121
121
121
121
121
121
119
120
122
121
124
125
125
125
126
126
126
126
123
122
121
120
118
117
116
114
111
108
103
100
98
96
94
96
96
97
100
100
99
97
97
98
98
97
96
95
93
90
87
83
80
78
75
74
75
75
75
75
73
72
72
71
74
78
80
82
87
91
94
100
104
106
106
105
105
107
106
104
104
106
106
108
107
107
108
108
105
100
100
92
84
87
87
86
84
85
89
92
92
93
94
94
93
92
91
90
88
89
88
88
86
86
84
80
78
78
77
74
72
71
68
65
61
58
53
49
47
45
44
43
44
46
45
46
46
46
48
49
48
47
47
46
46
45
44
43
43
44
44
43
44
44
45
45
47
48
48
47
47
46
46
46
45
45
46
46
47
48
49
50
49
48
49
49
49
49
49
49
49
49
49
49
49
49
49
48
52
53
49
50
30
202
216
188
190
183
185
182
182
183
188
188
188
184
183
182
180
177
175
174
173
171
171
170
170
169
169
168
166
164
162
161
161
160
157
156
156
156
157
156
155
154
152
149
146
146
145
143
142
140
137
135
132
129
128
128
130
131
130
128
125
123
123
125
125
124
124
125
126
126
128
133
133
132
133
133
130
129
127
127
127
127
127
128
128
127
126
125
124
120
122
120
118
117
112
110
111
111
110
112
111
112
116
114
114
116
115
116
117
120
119
118
117
112
112
112
112
113
118
118
118
122
121
120
118
117
116
114
113
109
109
109
109
109
106
105
103
101
99
97
94
94
96
96
98
100
101
99
98
99
99
99
99
98
97
94
91
86
80
77
76
75
75
77
79
79
79
75
72
70
70
73
80
83
84
85
88
92
98
104
106
109
112
115
115
112
110
108
106
102
100
101
102
103
106
108
111
110
107
97
97
97
93
94
93
95
100
102
103
105
106
105
102
102
101
98
97
98
95
92
92
90
87
86
84
82
80
77
76
72
68
64
61
58
56
53
50
48
47
47
49
48
48
50
50
50
49
48
49
49
48
47
46
45
44
43
44
44
44
43
44
44
45
46
47
46
46
47
46
44
46
46
45
46
46
47
48
49
50
49
48
49
49
49
49
49
49
49
49
49
49
49
49
49
48
52
53
52
50
30
202
215
189
189
182
185
183
183
184
188
189
187
186
184
183
181
179
177
176
175
174
172
171
170
169
169
168
167
165
163
162
161
161
160
158
159
158
158
158
157
156
154
151
149
148
148
146
146
143
140
136
133
130
129
128
130
131
130
128
125
123
123
124
125
123
123
124
125
126
128
133
134
134
133
135
133
131
131
130
130
130
129
128
129
128
127
125
124
121
121
118
116
114
112
109
112
112
111
109
112
111
115
114
113
111
114
116
116
119
119
116
113
114
111
108
111
114
119
118
118
117
116
115
113
111
109
107
105
106
105
104
104
104
104
102
100
98
97
97
95
94
96
96
98
101
100
100
97
98
100
99
99
99
97
94
90
85
79
75
75
75
77
81
82
84
85
80
74
72
71
77
85
88
89
89
87
90
96
102
107
111
116
120
120
114
111
107
102
95
94
93
98
100
106
111
117
117
113
105
106
106
104
103
103
105
110
111
112
114
116
115
112
112
109
107
106
105
103
101
99
100
96
93
92
90
87
83
81
79
74
70
66
62
59
58
55
53
52
52
52
51
50
51
52
52
51
50
48
47
47
46
46
46
44
43
43
43
43
43
43
44
44
44
46
47
47
47
46
45
44
45
46
45
46
47
48
49
50
49
48
49
49
49
49
49
49
49
49
49
49
49
49
48
48
52
53
52
49
30
202
212
190
184
187
185
187
186
188
190
190
188
189
188
188
187
186
180
179
179
177
175
175
174
172
171
170
168
166
165
163
163
162
164
162
160
159
157
158
159
160
158
154
153
153
151
150
149
146
143
140
136
134
130
128
129
132
134
130
124
121
121
123
123
125
125
122
124
126
128
130
133
136
136
135
136
134
134
133
132
132
130
131
130
129
127
124
123
119
118
115
111
110
110
110
112
110
110
113
111
110
111
110
109
109
113
112
112
115
115
114
114
109
108
105
105
108
111
113
112
114
113
110
106
102
101
101
98
95
98
100
101
102
101
99
98
94
92
92
93
94
94
98
101
102
102
101
101
100
98
101
102
101
99
95
90
84
79
75
75
77
80
82
86
89
88
83
77
71
71
80
91
96
93
90
90
93
98
102
106
112
117
120
118
115
111
107
99
92
91
97
98
103
108
115
123
126
122
115
114
114
111
108
109
111
111
114
118
120
123
123
122
120
119
117
116
114
113
110
108
105
102
100
100
95
91
88
88
84
81
77
72
69
65
62
62
60
56
55
56
54
54
54
54
52
50
51
51
49
49
47
47
47
44
44
45
45
45
44
43
43
45
47
46
46
47
47
47
46
45
44
44
44
44
47
48
49
50
49
48
49
49
49
49
49
49
48
48
49
49
49
48
50
49
51
53
50
52
32
205
213
189
183
186
186
190
190
187
190
190
190
188
189
187
186
185
182
181
179
178
178
175
174
173
174
172
169
168
167
165
165
165
164
163
160
158
158
159
160
160
159
155
153
153
151
152
150
147
144
140
137
133
130
129
130
132
133
129
124
121
121
124
125
125
123
122
123
125
127
129
130
131
132
134
133
134
132
132
133
132
130
128
131
129
127
124
123
118
116
114
109
109
109
110
111
112
114
113
114
112
114
111
110
110
113
114
113
115
118
116
116
112
108
106
108
111
115
117
116
118
114
110
104
99
97
95
93
92
94
96
97
99
98
98
97
95
94
93
93
94
97
99
101
102
101
102
101
100
100
102
103
103
101
97
92
87
81
77
78
81
84
87
90
93
91
86
77
72
72
83
97
104
103
97
99
100
102
105
108
112
116
118
114
110
106
103
99
93
95
100
110
115
121
128
133
137
131
124
118
118
113
112
113
114
114
117
122
124
126
124
124
122
123
120
119
116
113
112
110
108
106
104
106
102
98
95
93
91
88
85
84
81
77
75
74
72
69
67
67
66
64
62
60
59
57
55
53
53
52
50
49
49
48
47
46
45
44
44
43
44
45
45
45
46
47
47
47
46
45
45
45
44
45
47
48
49
50
49
48
49
49
49
49
49
48
50
48
48
49
48
50
49
52
51
53
50
52
32
204
210
186
185
189
190
194
191
189
192
189
189
189
188
188
186
186
185
184
182
181
180
178
178
176
173
172
173
172
171
169
170
169
166
165
162
160
159
159
160
161
159
157
155
154
154
153
152
149
145
142
139
135
131
130
131
133
133
129
124
121
122
125
126
126
124
123
121
122
124
126
127
128
128
130
131
130
131
132
132
132
130
129
128
127
126
123
122
117
113
111
107
108
109
110
111
115
116
116
116
115
115
113
110
110
114
115
116
118
119
119
119
115
109
106
109
113
118
120
119
119
115
110
100
94
92
89
86
84
87
89
92
95
94
94
95
96
94
94
95
96
98
100
102
102
101
100
100
100
101
102
104
104
103
99
94
88
84
80
81
85
88
91
93
96
94
89
78
72
75
87
102
108
108
106
106
105
106
108
109
111
114
114
111
105
101
100
97
96
98
105
113
118
125
133
138
142
136
127
124
122
119
115
115
117
118
120
125
128
130
129
127
125
126
124
123
119
116
114
113
111
109
107
107
104
102
99
96
95
92
90
90
86
83
81
78
76
74
73
73
70
67
65
63
59
57
57
57
54
54
54
52
50
48
47
47
46
46
45
44
44
46
46
46
47
46
46
47
46
46
44
44
44
45
48
49
49
50
49
48
48
48
48
48
48
48
49
50
48
48
50
49
52
52
52
53
50
52
32
204
213
188
186
189
191
197
194
191
191
191
193
190
190
189
188
188
187
186
185
185
183
179
178
176
176
175
172
172
172
173
173
172
170
168
165
163
162
162
162
162
160
157
156
156
155
155
153
150
146
142
139
136
132
131
132
133
133
130
125
121
122
125
126
127
126
122
120
120
122
123
125
126
127
127
127
128
129
128
129
129
130
129
129
127
124
120
119
114
112
107
106
108
111
112
111
116
115
115
117
114
114
112
110
109
113
115
115
117
121
121
120
116
109
108
110
115
120
122
120
115
112
107
99
92
87
86
82
78
82
86
89
91
92
91
92
92
91
91
94
97
98
101
102
100
99
100
101
101
101
103
106
107
105
101
97
92
88
84
86
89
92
95
97
97
94
89
78
73
76
90
104
112
113
111
110
109
109
109
110
109
107
106
104
100
96
96
98
99
104
113
119
127
136
143
147
148
144
132
126
124
122
118
119
120
117
119
125
128
131
130
131
129
127
125
121
121
118
117
114
113
111
111
110
107
104
102
100
100
98
96
95
92
90
89
88
86
83
82
82
79
75
73
71
67
64
62
60
57
56
54
52
50
49
49
48
47
46
45
44
44
46
47
47
47
48
47
46
46
46
45
44
45
45
48
49
49
50
50
50
50
50
50
50
50
50
50
50
50
50
50
49
52
52
49
53
50
52
32
205
216
190
187
194
195
199
198
194
196
196
194
195
193
192
193
192
190
189
188
186
185
183
180
179
177
176
177
175
174
174
174
175
175
173
169
166
165
166
167
166
163
159
158
157
157
156
154
151
147
144
141
139
136
136
135
135
135
132
126
122
124
126
127
128
126
121
119
119
121
121
123
125
126
127
127
125
127
128
127
129
127
125
125
125
121
119
117
113
111
108
107
108
110
111
112
115
119
120
119
118
117
113
113
109
112
114
117
120
123
122
124
119
114
111
113
117
121
125
123
118
115
109
101
92
89
88
84
77
82
86
91
94
94
95
95
94
93
94
96
100
102
105
105
103
102
103
105
105
105
107
108
109
107
105
101
96
94
92
94
96
98
99
100
98
95
89
80
77
81
92
106
115
116
115
114
112
112
112
109
104
99
96
95
93
90
93
101
108
114
125
134
140
146
150
152
153
148
138
130
129
123
119
120
117
119
121
122
128
131
130
127
127
124
121
122
117
114
113
115
113
112
113
112
111
108
108
106
105
104
103
103
102
99
98
96
94
92
90
88
85
81
78
75
71
68
67
64
61
59
58
56
55
52
52
51
48
47
46
45
45
47
45
44
45
45
47
48
47
46
45
44
45
45
48
49
49
50
50
50
50
50
50
50
50
50
50
50
50
50
50
49
52
52
49
53
50
52
32
202
219
195
192
197
196
200
197
195
198
198
199
197
196
196
195
195
193
192
191
188
187
185
182
180
179
179
178
176
177
178
177
178
179
176
172
171
171
171
171
170
166
163
161
160
159
157
157
154
150
147
144
143
140
138
139
139
138
134
128
124
125
127
127
128
127
124
120
121
121
122
123
125
125
125
125
126
127
127
126
128
126
125
124
122
118
116
114
110
110
111
110
109
113
114
113
118
118
122
121
120
119
117
113
112
115
117
117
122
126
127
128
122
118
118
118
121
123
125
122
117
114
108
99
91
86
85
82
81
86
91
95
98
99
99
99
98
97
97
99
103
107
108
107
107
106
107
111
113
114
114
114
113
110
107
107
103
101
103
104
103
104
104
102
100
95
90
84
80
84
95
109
117
118
118
117
115
112
110
104
98
92
85
84
84
83
91
107
117
127
141
147
152
157
156
152
151
145
141
134
131
127
120
118
119
118
120
122
126
129
127
125
128
124
120
118
114
112
112
112
112
114
114
115
113
111
111
109
109
111
110
107
106
105
104
103
102
99
98
96
92
88
85
82
79
75
72
69
68
67
64
61
58
54
54
53
50
47
46
44
43
44
45
46
46
46
48
48
48
47
46
45
46
45
47
48
48
48
48
48
48
48
48
48
48
48
49
50
48
48
50
49
52
52
49
50
51
49
33
202
221
197
195
199
197
202
198
197
198
200
200
201
201
201
199
198
196
196
194
191
188
186
184
182
180
181
179
179
180
180
180
181
183
180
178
176
174
175
175
174
169
165
162
160
159
160
159
156
153
151
148
145
143
141
142
142
140
136
129
125
126
128
129
129
127
123
122
121
121
121
122
126
127
127
127
126
125
125
126
126
124
123
122
120
116
112
111
112
113
111
111
112
111
115
116
119
120
121
123
122
119
118
116
115
117
119
120
123
126
129
130
128
124
121
121
123
124
123
121
116
113
107
99
91
87
86
85
83
89
94
98
101
102
102
102
99
99
99
99
104
109
110
110
109
109
113
117
120
119
118
117
115
112
109
108
108
109
111
111
111
110
107
105
101
96
89
86
83
85
96
107
114
115
116
115
111
110
104
98
91
83
76
75
77
79
90
110
122
135
148
159
165
165
160
155
152
148
145
139
137
130
120
119
118
118
118
119
125
129
127
126
125
122
118
116
112
111
112
112
111
111
114
116
115
114
114
113
114
113
114
114
113
113
113
111
109
106
105
104
100
95
92
89
86
83
80
77
75
73
70
67
63
59
58
56
52
50
47
46
45
45
45
44
46
47
48
49
48
48
47
47
46
44
46
47
48
49
49
49
49
49
49
49
49
48
50
48
48
49
48
50
49
52
49
51
48
50
31
202
222
202
197
200
199
201
198
198
201
202
200
202
203
203
204
201
198
197
195
193
190
187
185
183
182
180
179
181
181
182
185
186
184
184
182
179
177
177
177
175
170
167
165
163
161
161
160
157
154
152
151
149
146
144
145
144
141
137
131
126
126
128
129
129
128
124
121
120
120
121
124
126
126
127
126
125
125
125
127
125
123
121
120
118
115
112
110
110
112
113
113
112
112
113
114
117
118
123
123
121
121
118
114
113
117
117
118
124
127
129
131
131
127
125
123
121
121
120
117
113
110
104
96
89
87
86
85
85
91
96
100
103
103
103
103
100
99
98
100
105
110
112
111
110
111
116
121
123
121
119
118
115
113
110
109
110
112
115
116
115
113
109
105
100
94
89
87
85
87
95
105
109
110
109
110
108
103
98
92
86
80
74
74
77
78
90
112
126
138
152
162
165
166
161
154
150
148
148
144
140
131
124
121
119
118
119
120
126
129
130
127
126
122
119
116
112
109
112
113
112
113
116
119
117
117
117
118
118
118
117
116
115
115
116
114
112
110
108
106
102
97
93
90
87
84
81
79
78
77
73
69
65
61
60
57
52
49
47
45
44
44
44
44
46
48
47
48
49
47
47
47
46
45
46
47
47
48
49
49
49
49
49
49
49
49
49
49
49
49
49
48
50
49
49
51
48
50
31
202
225
210
210
206
201
198
197
201
200
201
203
204
203
205
206
206
202
200
197
195
192
188
186
185
182
181
182
183
182
183
185
188
188
187
186
185
183
182
180
180
177
171
166
165
163
161
160
159
157
155
152
150
148
147
148
148
144
139
133
128
127
128
127
127
126
123
121
122
123
123
123
123
123
124
124
126
126
125
126
124
123
120
118
115
112
112
109
110
113
119
120
116
112
112
113
118
119
119
122
123
121
116
114
116
117
119
121
121
126
130
133
133
129
127
124
120
116
112
109
106
105
100
93
87
85
86
87
87
93
99
104
108
107
104
105
104
101
100
101
105
108
110
111
113
116
118
125
129
125
120
116
113
111
108
110
114
117
121
120
117
115
111
104
97
88
87
85
85
88
93
98
102
102
97
96
91
89
87
82
76
73
72
75
79
83
97
116
127
141
150
159
163
161
155
146
140
143
154
147
143
134
127
124
122
121
123
122
128
131
132
131
128
124
121
116
112
111
111
111
112
115
119
121
120
118
118
118
120
120
120
119
117
116
116
114
114
112
110
107
103
99
95
93
90
87
84
82
81
81
79
75
69
64
62
59
54
51
49
45
43
46
46
45
48
49
49
48
47
44
46
46
45
44
44
44
45
47
48
47
47
47
47
47
47
49
47
47
47
47
48
49
48
48
48
50
48
50
30
202
228
212
211
207
203
200
199
201
204
202
205
206
205
205
205
205
204
202
200
197
194
190
189
187
184
183
183
183
184
185
187
188
190
189
189
188
186
184
183
182
178
173
168
165
164
164
163
161
159
157
155
153
151
150
152
151
147
142
135
130
128
129
129
127
125
123
123
123
123
122
123
124
124
125
126
127
128
127
126
124
122
120
117
114
113
112
109
111
115
118
118
117
113
114
110
115
116
117
119
121
118
119
115
115
115
116
119
119
126
129
132
133
129
127
121
115
110
106
102
100
99
96
91
86
84
86
87
89
94
101
106
108
108
106
106
104
103
102
103
106
109
112
112
114
119
122
128
131
128
123
118
113
111
109
111
116
121
126
124
119
116
110
103
96
87
86
87
88
89
90
93
93
91
87
85
79
75
71
70
67
69
70
75
81
85
100
119
130
145
153
160
162
159
149
142
138
144
156
154
148
140
131
129
126
123
125
124
130
133
133
132
129
125
122
117
114
112
114
114
116
118
121
123
123
121
120
121
121
122
122
121
120
119
118
117
115
114
112
109
106
102
99
96
93
90
88
87
85
85
83
79
72
67
64
59
55
53
51
48
45
46
47
47
47
49
50
49
48
47
46
43
44
45
44
44
44
45
45
47
48
48
48
48
48
47
47
47
47
47
48
49
49
49
47
49
47
49
30
202
230
215
211
211
205
203
202
205
207
205
208
209
207
209
207
207
206
205
202
200
196
194
192
190
188
188
188
187
187
188
189
190
192
192
192
191
190
186
184
182
179
175
171
168
168
165
164
164
162
161
160
159
157
156
155
154
151
146
139
134
132
131
131
129
127
126
127
126
125
125
124
125
125
127
129
130
129
127
126
125
121
119
116
115
112
112
112
114
117
120
122
120
117
114
113
116
119
118
121
121
120
117
115
116
116
117
118
120
124
127
130
133
132
129
124
115
109
104
101
98
96
93
90
86
86
87
89
92
97
102
107
110
110
109
109
106
105
104
105
109
112
114
116
118
121
125
129
130
126
122
117
113
112
111
114
119
123
128
126
122
117
109
102
96
88
86
90
92
93
92
91
89
86
82
81
76
72
68
68
70
74
77
79
85
91
105
123
134
147
155
158
161
158
150
140
138
144
153
154
148
140
131
127
126
125
125
126
130
133
133
131
129
126
123
119
117
115
115
115
118
120
123
123
122
124
123
123
122
122
122
122
122
121
119
119
117
115
113
112
108
105
102
99
96
93
91
90
89
88
86
82
76
70
67
63
59
56
55
52
50
50
50
50
50
50
50
51
50
49
48
46
44
43
45
45
44
44
45
45
47
48
48
48
48
47
49
49
49
49
48
48
48
48
47
48
47
49
30
202
231
213
212
212
206
206
206
209
209
210
212
212
212
211
209
209
208
207
205
202
201
199
197
197
194
194
194
194
194
194
193
193
194
193
194
194
192
189
186
184
181
177
173
171
169
168
168
167
165
164
164
165
164
163
162
160
157
151
144
139
137
136
134
134
132
131
130
128
129
127
127
127
126
127
128
129
131
129
127
123
121
118
116
113
115
118
117
119
121
123
126
123
119
119
115
122
121
121
121
120
119
118
115
112
113
114
115
116
120
123
125
129
130
131
126
118
111
106
100
95
93
90
87
84
86
88
91
96
101
105
109
112
112
111
111
109
108
109
110
112
115
118
118
121
123
123
123
122
119
115
113
112
114
117
121
124
125
128
125
120
115
107
99
94
88
88
91
94
95
93
90
88
86
84
79
76
72
69
70
73
76
81
86
92
96
110
130
141
153
158
159
162
159
154
147
142
145
151
147
144
135
128
125
123
122
122
126
130
133
132
131
130
128
126
122
121
119
120
119
119
122
124
127
125
123
123
125
125
125
125
124
123
121
121
120
119
117
115
113
110
107
104
101
98
95
93
90
90
90
88
84
78
73
71
68
65
63
61
59
58
59
56
55
55
54
53
53
51
49
49
48
48
47
46
43
44
46
46
46
45
45
47
48
47
47
48
48
49
49
51
51
51
51
49
51
48
50
31
203
230
214
214
214
209
209
211
212
214
214
215
213
215
213
212
213
211
208
209
206
205
205
204
204
203
203
202
200
198
197
196
195
195
196
198
199
197
192
187
185
183
179
176
174
173
171
171
169
169
170
171
171
171
170
168
165
161
156
150
145
143
141
138
137
137
136
136
135
131
129
128
127
126
127
130
132
131
129
127
124
121
118
114
115
118
120
124
123
127
128
129
127
125
124
123
123
120
119
118
117
117
113
110
108
108
108
108
112
112
116
118
124
127
129
124
115
108
102
96
90
87
83
82
82
84
89
94
100
104
108
112
115
115
114
115
115
115
115
117
118
122
125
125
125
125
123
119
115
112
108
107
111
117
123
127
130
129
129
124
117
113
104
98
96
91
91
95
96
97
94
89
86
84
83
81
79
74
69
71
75
82
89
95
98
101
115
136
151
161
164
164
165
161
157
150
146
146
149
145
141
132
126
123
121
120
121
123
128
132
133
133
133
130
128
126
125
123
122
124
124
125
127
129
127
125
125
124
125
126
128
128
126
124
123
122
120
119
117
115
112
109
108
106
102
99
96
93
92
92
90
86
81
77
75
73
72
71
70
69
66
66
65
62
60
57
57
56
55
54
53
51
50
49
49
47
45
44
45
46
46
46
45
46
49
49
50
50
51
50
53
53
53
53
51
53
51
51
31
203
232
216
216
215
213
215
212
215
216
214
216
217
217
215
216
214
212
211
209
207
206
207
208
209
207
208
205
204
204
203
201
198
198
199
201
200
199
195
190
187
182
179
177
175
174
172
173
173
174
176
175
175
176
175
173
170
167
162
154
148
147
145
143
143
142
141
140
138
133
131
130
129
130
129
131
133
133
132
129
125
122
118
115
116
119
123
127
129
128
131
131
130
128
126
126
125
123
119
117
118
116
112
109
107
106
103
105
105
107
109
110
118
122
125
120
113
107
99
94
88
84
82
81
84
87
92
98
104
107
110
113
116
115
114
116
118
117
117
120
123
125
127
128
127
125
121
114
109
109
107
106
111
117
125
131
134
131
130
125
117
111
105
101
97
92
92
98
100
99
95
90
85
83
82
81
80
75
68
73
80
89
99
101
103
104
117
139
155
165
168
167
166
163
160
156
152
148
149
141
139
130
124
121
120
120
121
123
128
132
132
132
132
130
128
129
129
128
128
126
127
129
129
129
127
125
124
125
126
127
127
128
126
124
123
122
120
118
117
116
113
111
110
106
104
101
98
95
94
94
92
89
84
79
79
79
77
76
76
75
74
73
71
69
66
63
60
58
57
57
56
54
52
51
51
48
46
46
46
45
45
45
45
45
47
49
50
49
50
51
54
54
54
54
52
54
50
51
31
203
236
222
219
221
219
216
215
218
216
217
217
218
218
218
218
216
214
213
210
209
207
208
209
210
207
209
209
207
205
205
201
199
199
200
201
203
201
197
192
187
182
179
176
175
175
174
174
175
175
176
178
180
182
180
175
172
168
162
156
151
151
149
146
145
145
144
143
141
139
135
133
132
131
131
133
135
137
134
130
128
125
121
118
117
120
123
126
130
130
132
132
131
129
127
124
125
123
120
117
115
112
107
103
101
100
97
96
95
97
99
100
105
111
113
111
106
103
99
93
89
85
82
84
86
87
93
98
105
107
109
111
114
114
113
115
117
117
117
119
121
124
124
126
125
123
119
111
106
108
106
105
110
117
125
130
131
129
128
124
118
113
106
102
99
94
94
98
100
99
94
89
85
83
82
79
80
75
69
75
83
91
103
105
107
105
117
136
153
164
167
167
167
166
164
161
156
149
149
140
138
130
125
123
122
123
124
126
131
135
136
135
133
131
129
127
127
128
129
129
129
129
130
131
128
125
123
124
125
127
127
126
124
122
121
120
119
117
116
115
112
110
109
107
104
102
99
95
94
94
93
90
86
84
83
83
82
81
80
79
78
77
74
71
69
66
63
61
59
59
58
56
54
53
50
48
47
46
45
47
47
47
47
47
45
46
48
49
50
51
54
54
54
52
53
53
50
51
31
203
239
224
224
223
221
220
218
218
217
217
217
219
218
217
219
217
218
215
212
211
208
208
210
211
208
210
209
208
208
207
203
201
201
201
201
201
201
197
193
188
182
179
177
176
176
175
176
177
178
179
180
181
183
182
179
176
170
164
158
153
152
151
151
149
148
148
148
147
143
137
135
135
134
134
135
139
139
137
133
130
127
123
120
118
120
123
124
128
128
131
132
130
130
126
124
124
120
118
113
111
106
98
93
92
89
84
84
83
83
87
87
92
96
101
101
100
100
99
95
89
86
85
86
88
89
93
99
104
107
108
110
112
112
112
113
114
115
116
117
119
121
122
122
120
118
116
110
104
106
105
106
110
116
123
128
129
127
125
122
116
112
108
104
101
98
98
99
97
95
92
87
84
83
81
78
80
76
74
81
88
97
106
106
106
105
114
134
147
158
163
165
167
169
167
165
160
152
149
141
139
131
127
128
128
129
130
131
135
138
136
135
134
131
128
126
126
126
129
130
131
132
131
130
126
124
122
121
122
125
125
125
123
121
120
119
117
115
115
114
111
109
108
106
104
100
98
96
95
94
94
91
88
86
83
84
83
82
82
82
80
78
76
73
70
67
65
63
62
60
58
57
56
54
51
48
46
44
44
45
46
47
47
45
45
45
48
50
49
50
52
51
51
51
52
52
49
49
31
203
241
227
230
230
229
228
225
222
223
219
221
221
220
218
220
219
218
218
216
215
213
213
213
212
211
211
210
209
209
208
206
204
203
204
204
203
201
196
192
188
184
181
179
178
177
178
179
180
183
186
186
186
186
184
181
177
172
167
161
157
155
154
155
155
154
155
155
153
149
144
141
143
142
141
143
144
144
142
140
134
129
126
123
122
122
121
122
128
129
131
133
132
131
129
129
125
121
117
111
108
100
92
86
80
74
70
70
68
68
70
69
77
80
82
85
91
92
91
91
86
86
86
87
90
93
97
100
107
109
109
110
110
110
111
111
111
113
115
116
117
119
119
117
114
113
111
106
101
101
104
107
110
114
120
124
125
121
121
120
116
115
113
109
106
105
101
99
96
93
91
87
86
83
79
77
77
75
78
83
91
103
112
108
107
100
109
131
142
153
161
165
171
172
168
169
166
157
150
142
140
132
129
129
130
132
133
138
140
144
138
136
135
131
130
128
128
129
131
131
132
133
133
133
128
125
122
120
122
123
123
124
123
122
120
118
116
114
114
113
112
110
107
106
104
101
98
96
95
95
93
94
92
89
89
88
85
84
83
84
82
80
78
75
73
71
68
66
64
62
62
61
58
56
53
50
47
44
45
44
46
45
46
47
47
46
49
47
48
50
49
50
51
51
51
51
50
50
30
202
244
230
231
231
230
231
226
225
223
222
222
222
222
220
222
223
220
220
219
217
217
214
215
215
215
214
212
211
211
210
208
206
205
205
206
207
204
198
194
191
189
185
183
183
183
183
184
185
186
188
188
189
190
188
185
182
178
171
165
161
160
159
160
162
161
161
161
159
155
151
149
145
143
142
144
145
146
144
141
137
133
129
125
122
123
120
122
127
129
132
134
132
130
129
130
123
121
115
110
106
98
90
83
78
70
66
63
58
59
61
60
62
66
68
71
77
79
79
81
80
82
83
85
86
90
95
100
104
107
109
111
111
111
110
111
111
113
115
116
117
118
118
115
112
109
107
104
101
102
104
107
110
114
119
122
122
119
117
118
117
117
115
111
109
107
103
97
93
92
91
89
87
85
80
82
83
84
87
92
99
108
116
113
111
102
110
129
140
151
160
165
169
173
171
170
166
158
149
143
141
134
132
132
136
139
139
144
145
149
143
141
138
133
132
129
131
131
133
136
137
138
137
136
130
127
125
122
124
125
124
124
123
122
120
118
115
114
114
114
113
111
109
106
104
102
100
98
99
99
98
97
94
93
92
91
89
88
86
86
84
82
80
78
76
72
71
69
67
66
65
64
62
59
57
54
50
48
48
47
45
47
45
46
47
47
46
46
48
47
50
50
50
50
50
50
48
49
29
203
245
234
235
235
232
233
229
229
225
224
227
225
224
225
225
224
223
222
223
221
219
218
216
216
216
216
217
215
214
212
211
209
208
209
209
208
207
203
198
194
190
187
184
184
184
185
185
188
192
193
194
195
195
194
190
186
182
176
170
165
164
163
164
164
163
164
164
163
158
153
150
147
144
146
148
148
148
147
144
142
138
134
129
125
125
122
121
126
128
133
136
136
133
131
130
126
122
117
112
106
97
89
82
79
71
65
61
56
54
56
53
58
61
63
65
69
73
74
76
76
77
79
82
88
92
97
101
103
106
108
110
112
112
111
113
115
115
117
119
119
119
117
114
109
105
102
101
101
103
106
108
112
114
117
119
118
115
114
115
117
118
117
116
113
109
105
97
92
91
91
90
89
87
84
84
86
88
92
97
105
112
119
117
112
102
109
127
138
151
159
165
172
174
172
170
167
159
149
144
142
136
134
137
140
144
147
148
149
152
145
141
139
133
132
130
132
133
135
139
141
142
142
140
134
129
127
126
127
128
128
127
126
124
122
120
118
116
116
116
114
112
110
109
107
106
103
101
101
101
101
99
97
95
94
92
91
90
88
88
87
83
82
82
79
76
73
71
70
69
68
66
65
62
60
57
54
50
49
48
47
46
46
45
45
45
47
47
45
46
47
47
49
49
47
47
47
48
29
201
245
236
238
238
234
235
231
230
228
229
228
227
228
226
228
226
227
225
224
223
222
220
221
220
220
220
218
217
217
216
214
212
212
212
211
211
210
206
201
198
195
192
190
190
190
190
191
193
197
199
201
200
200
199
195
190
185
180
174
170
168
167
168
169
168
167
167
165
161
157
153
151
149
148
149
149
151
151
148
146
142
138
133
129
126
123
121
126
129
133
137
137
134
132
131
127
123
119
114
108
99
89
82
77
69
63
58
53
50
49
47
53
55
55
57
60
62
64
66
69
70
74
81
86
91
96
100
103
105
109
111
113
114
115
117
118
117
119
120
122
122
119
113
106
101
100
100
101
104
108
110
113
115
117
118
117
114
113
115
116
118
118
116
114
110
105
97
91
89
90
91
92
91
89
88
91
95
99
105
112
118
121
119
113
102
108
125
136
148
159
166
173
174
173
170
167
159
149
144
141
137
136
140
144
148
151
152
152
154
148
143
140
132
132
131
133
135
138
141
144
145
144
143
137
134
129
127
130
130
130
130
129
127
125
122
120
118
117
117
115
112
111
111
109
107
106
104
105
104
103
101
100
97
96
94
92
92
90
89
88
84
82
81
79
76
75
73
71
70
69
68
66
65
62
59
55
52
50
49
47
46
44
46
45
43
45
46
46
45
46
47
46
46
47
47
46
48
27
202
247
234
238
238
234
236
233
233
230
230
233
232
229
230
230
229
229
227
226
225
225
225
224
223
221
222
221
219
219
218
216
214
214
215
215
215
213
209
204
202
199
196
194
193
194
195
196
198
200
203
204
204
204
202
198
193
190
185
179
176
173
172
173
174
173
172
171
171
166
161
158
155
152
150
151
152
151
153
152
151
145
143
138
132
128
123
120
125
129
133
137
135
134
131
131
128
124
118
116
111
103
92
85
78
68
62
58
53
50
49
45
48
49
49
50
51
52
54
58
61
64
70
77
83
88
92
97
102
104
107
111
114
115
117
118
117
118
119
118
118
118
115
110
103
99
98
100
102
105
108
111
114
115
115
116
114
112
111
113
116
118
118
117
115
112
105
97
91
89
91
93
94
95
94
96
99
105
110
114
120
124
124
120
113
102
109
125
136
147
158
166
171
175
171
168
165
157
151
144
144
139
138
142
146
151
154
156
155
157
150
146
141
135
136
132
135
137
141
144
146
147
145
144
141
135
133
131
132
135
134
133
132
130
126
124
121
119
119
118
116
115
113
112
111
109
108
108
109
109
107
105
102
98
98
96
94
93
91
89
88
86
83
82
80
77
75
74
73
72
72
70
68
68
66
61
58
55
52
51
48
46
46
45
43
42
44
44
46
46
45
45
45
44
46
46
45
47
26
202
244
235
235
235
234
235
235
232
232
234
235
233
231
231
230
230
229
229
229
226
225
226
226
225
225
224
223
221
220
219
217
216
217
217
218
217
215
211
209
206
202
199
197
196
196
197
198
200
204
205
206
206
206
204
200
197
194
190
185
182
179
179
178
177
176
175
175
173
167
163
159
158
154
151
152
153
154
154
153
152
149
143
139
135
131
124
121
122
127
131
134
133
131
128
129
128
124
120
115
112
105
95
89
81
73
68
62
56
52
50
46
47
48
48
50
49
50
52
55
60
63
68
75
81
86
91
95
101
104
106
110
113
114
115
116
114
113
114
114
113
112
110
105
99
96
98
102
104
107
110
113
115
116
115
114
113
111
110
112
115
116
116
114
113
110
103
96
91
90
93
96
98
101
102
105
108
115
120
124
126
127
124
120
115
103
110
126
135
149
158
167
173
173
166
164
161
154
151
146
145
141
142
144
148
153
156
157
156
157
150
146
142
136
136
133
137
141
145
148
150
148
146
145
142
140
137
136
137
137
136
136
135
133
130
127
123
121
120
119
118
116
116
115
113
111
110
110
109
109
107
105
102
99
99
97
94
93
91
90
89
87
84
82
81
79
77
77
76
75
73
72
72
70
68
65
61
59
54
53
50
47
47
44
45
43
46
44
44
44
46
46
46
44
44
44
46
47
26
202
243
234
235
235
233
233
235
233
234
234
236
234
234
234
232
229
231
228
227
227
226
225
227
227
226
225
224
222
222
221
218
217
218
219
220
219
217
216
213
210
205
202
200
199
199
200
201
203
207
208
207
206
207
205
202
199
196
192
189
185
183
182
181
179
178
176
176
174
168
163
159
159
155
152
152
153
153
154
154
153
149
145
143
138
132
125
118
120
123
128
131
130
128
127
127
126
123
120
117
113
107
97
94
85
76
71
65
58
54
52
48
48
48
49
49
48
47
49
52
59
61
66
73
79
84
89
93
99
102
104
108
111
113
115
116
112
111
109
108
106
105
103
100
96
94
98
105
108
110
114
116
117
116
114
113
112
110
109
111
113
115
114
111
110
108
101
96
91
89
93
97
101
106
109
112
118
126
130
132
132
128
125
122
118
105
112
128
135
148
159
167
172
172
165
159
156
154
150
148
146
142
142
144
149
153
156
157
154
156
149
145
141
136
137
135
137
144
147
151
151
149
147
147
143
142
140
140
141
142
140
139
137
133
130
127
124
122
121
120
119
117
117
116
115
114
113
112
112
111
110
108
104
99
99
96
93
92
91
90
89
87
85
83
82
80
79
78
77
77
74
75
73
73
70
68
64
63
56
54
51
49
48
47
44
43
45
46
44
44
44
44
44
45
45
44
44
46
26
202
243
231
233
233
232
232
235
235
238
237
236
237
234
233
233
231
230
230
228
228
227
226
228
228
227
226
225
223
222
221
220
218
218
219
221
221
219
217
215
213
210
208
206
204
203
204
205
206
207
209
208
207
208
206
202
199
197
194
191
189
187
185
184
184
182
181
179
176
170
166
162
159
154
152
152
152
151
151
152
154
150
146
142
139
131
122
116
117
120
124
126
125
125
123
123
122
119
117
114
112
109
100
93
89
80
74
68
62
58
55
52
50
49
48
47
47
45
45
49
55
58
63
69
75
80
86
89
96
100
103
106
109
111
113
114
110
109
106
104
102
99
98
96
94
94
99
107
111
113
116
118
118
117
115
113
111
110
109
109
110
111
109
106
105
102
98
95
91
91
94
99
104
110
115
120
128
135
141
141
138
134
128
124
120
109
114
129
137
147
159
167
172
170
164
157
154
152
152
147
146
144
144
145
149
153
155
157
156
156
150
146
142
138
140
137
140
144
149
152
153
150
148
147
144
143
143
141
143
144
142
141
138
134
132
128
125
123
121
120
119
119
118
117
116
114
114
114
114
112
111
109
106
101
98
96
93
91
90
90
89
87
86
85
83
81
81
80
79
79
77
75
74
74
72
69
66
63
57
54
53
52
50
48
48
47
45
45
45
45
44
44
43
43
44
46
45
45
26
202
241
229
234
235
231
231
235
239
240
241
238
237
235
234
234
235
231
232
230
229
229
229
229
229
228
226
225
224
223
221
220
218
218
219
220
221
221
220
218
216
214
213
210
208
206
207
206
207
209
209
209
209
209
208
203
199
198
196
194
193
192
189
189
188
185
184
182
178
174
167
163
158
152
151
150
149
148
149
150
154
152
147
141
138
129
119
115
114
114
116
116
118
118
116
116
112
112
111
107
108
104
97
93
89
83
75
70
64
59
56
56
52
50
48
48
46
44
45
48
53
56
63
67
72
76
82
85
91
96
100
102
106
109
111
111
108
106
102
99
97
92
91
91
92
96
101
108
115
117
118
120
120
118
113
109
109
109
109
107
105
105
103
100
99
94
93
92
91
92
95
100
105
112
123
128
138
141
152
149
145
138
132
128
121
116
119
131
141
148
160
170
172
169
164
158
152
152
155
148
149
148
146
146
149
152
154
156
155
153
150
145
141
139
141
141
143
147
150
153
152
150
147
146
144
144
145
145
146
146
144
144
139
136
133
129
125
122
121
119
118
117
116
116
115
113
112
111
110
109
110
108
104
100
98
96
93
92
91
91
89
86
87
86
84
83
82
82
82
81
81
80
76
75
74
70
68
65
61
59
57
55
54
53
52
51
50
47
47
48
45
45
46
44
44
44
43
43
26
200
238
227
230
233
229
230
234
239
241
242
241
239
236
234
234
234
231
231
231
230
230
229
228
229
229
228
226
224
223
221
220
220
220
219
220
222
223
221
219
218
216
214
212
210
209
208
208
209
210
210
208
207
207
205
202
199
196
195
195
195
194
192
191
188
187
184
181
178
173
167
163
158
153
149
148
146
146
146
148
151
149
145
140
137
127
116
111
107
108
110
109
109
108
107
106
105
104
103
101
101
99
95
89
87
80
77
71
66
61
57
56
53
51
51
49
46
44
45
47
54
56
61
65
69
72
77
81
87
92
96
101
105
109
110
109
105
102
98
94
91
88
87
88
93
98
103
112
119
121
122
122
120
118
113
109
109
107
107
104
100
99
96
93
92
87
87
90
90
91
95
100
105
113
125
133
144
148
158
154
149
143
136
132
127
122
125
136
143
150
159
167
171
168
162
158
155
155
158
151
150
149
148
147
148
152
153
154
152
152
148
144
140
139
141
143
145
147
150
153
152
149
145
145
144
144
144
145
147
146
145
144
139
136
132
128
123
121
119
118
117
116
115
115
114
111
110
110
108
107
108
107
106
103
100
98
95
94
92
91
91
89
88
87
86
85
84
83
82
82
82
80
78
76
76
72
69
66
64
62
61
58
57
56
54
54
53
50
51
49
50
49
48
45
44
46
43
43
25
201
240
225
230
232
228
230
233
239
241
242
240
237
235
233
232
233
232
233
232
231
231
230
230
230
228
228
227
225
223
221
219
219
219
219
220
221
221
222
221
220
218
215
213
212
211
211
210
210
211
210
209
207
206
204
201
198
197
196
197
198
197
196
194
191
189
187
184
180
175
168
163
158
152
148
145
143
141
142
144
148
147
141
138
135
126
114
108
103
103
103
101
99
96
97
96
95
93
92
90
91
91
89
86
83
77
75
72
66
62
58
57
54
52
51
49
46
43
43
46
52
54
57
60
62
68
71
76
81
86
92
97
103
106
107
106
101
99
94
89
85
82
83
86
92
98
106
115
122
123
123
123
121
119
113
108
107
105
104
100
96
93
88
84
83
80
82
87
90
93
97
100
105
115
128
138
150
155
165
160
156
148
141
138
136
131
133
142
146
150
158
165
169
167
163
161
159
159
162
156
155
153
151
150
150
150
152
152
151
147
145
142
140
139
142
145
146
148
151
153
151
147
143
143
143
144
146
147
148
147
144
144
139
134
130
126
121
119
117
117
116
115
114
114
113
110
109
109
107
106
106
106
106
104
102
100
97
96
94
93
92
89
89
88
87
86
85
85
85
84
84
82
80
78
77
75
71
69
67
64
65
63
63
61
58
57
57
55
53
52
51
50
49
47
47
48
44
45
26
201
239
223
227
230
225
226
231
237
241
241
239
236
236
233
232
233
234
233
235
234
233
233
234
233
230
229
228
226
224
222
221
221
221
220
220
221
222
223
223
223
220
219
217
215
214
212
211
211
211
210
208
206
204
202
199
199
197
196
198
199
199
196
194
191
189
186
183
179
174
166
160
155
149
144
140
136
134
134
137
140
139
137
135
131
122
110
103
98
95
95
93
90
86
86
83
82
80
80
80
80
80
81
79
78
73
70
69
63
60
57
58
54
54
51
49
46
43
43
45
50
52
54
56
59
63
67
70
74
81
88
94
100
102
103
102
98
95
90
87
82
80
81
85
93
101
108
116
123
124
122
122
121
118
112
106
105
102
100
96
90
86
81
76
75
73
77
85
90
95
99
102
106
116
129
139
151
158
169
165
162
153
147
145
144
140
142
146
149
150
157
163
168
167
166
167
166
164
166
162
162
158
157
154
154
151
152
149
147
144
143
141
140
142
143
147
147
148
150
151
149
144
141
143
143
144
147
148
149
148
145
142
138
133
129
125
120
117
116
116
116
115
114
114
113
111
109
107
106
105
105
106
107
107
106
103
100
99
97
97
96
93
91
90
88
87
86
85
86
86
86
85
82
81
79
77
73
72
71
70
69
69
67
67
65
64
62
60
58
58
55
53
54
50
51
50
47
45
28
200
238
222
223
228
224
224
227
235
239
240
238
238
236
236
234
236
236
236
238
238
238
238
237
235
232
231
230
228
225
224
224
224
223
222
221
221
222
223
225
225
222
221
219
217
217
215
213
214
214
213
210
207
205
201
198
197
197
197
199
201
199
195
192
190
187
183
180
176
171
163
156
151
144
138
134
129
126
126
130
133
133
132
129
125
115
103
98
92
90
86
83
80
77
74
72
72
70
70
71
71
71
70
69
72
67
66
63
59
56
56
56
52
53
51
49
46
43
43
44
49
51
52
54
56
61
64
66
70
79
86
93
97
98
101
100
95
92
88
84
81
79
81
87
95
102
109
117
124
123
121
121
120
116
110
105
102
99
97
92
83
78
73
70
68
69
76
84
90
97
100
102
105
115
128
137
150
159
169
168
165
159
154
152
153
151
150
149
148
151
157
162
167
166
169
173
172
171
170
168
166
162
161
157
156
151
151
147
144
142
142
141
143
144
145
148
148
148
148
147
146
143
140
141
142
146
149
150
150
149
146
143
139
134
129
124
120
117
116
115
114
115
116
115
112
110
110
109
107
106
107
108
110
110
109
106
104
102
100
100
98
94
94
92
90
89
88
87
86
86
88
86
85
83
81
78
75
73
74
74
74
73
72
71
68
70
68
66
66
64
62
60
58
55
54
50
47
46
29
201
238
221
225
227
223
221
226
234
235
237
238
235
237
235
237
238
239
238
240
241
240
239
237
236
233
233
231
229
226
225
225
225
226
224
222
221
222
223
226
226
223
222
221
220
219
217
216
215
215
214
211
207
204
201
198
197
197
198
201
202
200
195
190
188
184
179
176
173
168
160
153
148
142
134
130
125
119
119
122
128
128
126
124
120
110
100
95
87
85
82
79
75
72
69
67
64
62
61
64
63
63
62
62
65
61
59
58
55
53
52
52
50
50
50
48
46
44
45
46
49
50
52
53
55
57
60
62
68
76
83
88
92
95
97
96
91
88
84
82
80
78
81
88
96
104
109
115
122
121
119
119
118
115
109
103
100
97
92
86
77
71
68
66
66
67
75
86
93
99
102
102
103
114
126
134
147
156
169
169
166
163
161
161
161
160
157
154
149
150
156
161
165
167
172
178
178
176
174
171
169
165
164
160
158
152
149
146
143
141
141
143
145
146
147
149
149
147
145
144
143
141
139
141
142
147
151
152
153
151
148
144
139
134
129
125
120
118
117
116
116
117
118
117
115
112
112
111
109
108
108
109
112
113
112
109
107
106
105
102
100
96
95
95
93
91
89
87
88
88
88
88
87
85
83
81
78
77
75
76
78
78
76
75
75
74
73
71
69
68
66
64
61
57
57
54
49
50
31
201
235
219
221
224
221
218
222
229
229
232
233
233
234
233
235
238
240
239
240
242
241
239
239
237
232
230
229
227
227
225
223
224
225
223
221
220
220
223
225
225
224
224
221
219
219
218
216
214
213
213
210
205
202
199
196
194
193
195
199
200
198
192
186
184
180
174
171
168
163
156
149
145
137
129
125
119
113
113
117
120
120
120
118
115
105
95
88
81
79
77
74
70
67
62
60
58
56
55
56
60
58
58
58
61
57
56
57
53
51
50
49
49
49
49
48
46
45
45
47
50
50
51
53
54
55
57
59
65
73
80
84
89
93
94
93
87
84
82
81
79
78
82
88
96
103
107
113
119
119
118
117
116
113
108
102
99
94
89
84
75
69
66
64
64
67
77
88
95
102
104
104
106
113
125
133
147
154
168
169
168
167
165
165
168
167
163
157
151
149
155
161
165
168
173
180
181
179
177
172
171
169
167
164
158
153
149
145
142
140
141
144
146
146
148
148
148
146
143
141
140
140
139
139
143
147
152
154
153
152
148
144
140
135
130
126
121
119
119
120
119
120
120
120
118
115
115
114
111
110
110
111
114
115
114
112
109
108
107
106
103
100
98
97
95
93
92
90
89
88
90
90
88
87
85
82
81
79
78
79
79
81
80
77
79
78
76
75
73
72
68
66
65
60
58
56
52
53
33
203
233
212
219
219
213
212
216
220
221
224
226
228
228
229
231
234
238
238
240
241
240
239
237
234
230
227
225
225
224
222
221
223
224
222
219
216
216
219
222
223
222
221
221
219
217
216
216
215
212
210
208
203
200
196
193
190
189
191
194
195
192
186
181
176
172
168
163
160
154
149
144
140
131
123
117
110
105
106
109
112
112
111
109
107
98
88
81
74
73
72
68
65
60
59
55
56
53
52
53
56
55
55
57
57
54
53
52
52
49
49
47
49
50
50
48
48
48
50
51
52
54
54
53
53
54
56
58
62
68
74
79
84
85
87
86
82
80
78
79
78
77
82
88
96
102
105
109
114
114
113
114
113
111
106
101
98
92
87
80
72
68
66
66
68
72
83
94
102
107
109
109
110
116
123
131
144
154
167
170
169
168
169
170
172
174
169
161
153
149
154
160
165
169
174
181
181
179
178
173
171
171
168
165
160
154
150
147
143
140
143
146
148
151
149
151
149
146
142
140
139
140
142
143
146
152
155
156
155
154
151
147
142
136
132
127
123
121
121
121
122
124
126
125
123
121
121
119
115
114
113
113
116
117
116
113
110
109
109
107
105
101
101
99
97
94
93
92
91
90
91
91
90
88
87
85
83
81
80
81
84
82
82
82
82
80
80
79
78
76
74
73
70
66
63
58
57
53
34
203
233
207
218
214
207
204
206
211
209
211
214
218
218
223
226
230
234
233
237
237
235
234
233
228
226
223
220
218
217
216
214
217
219
216
210
207
209
212
216
218
217
217
216
214
213
212
213
213
212
210
206
202
198
193
189
185
183
184
187
188
184
176
170
165
160
156
152
149
146
141
136
131
123
116
110
103
97
96
98
100
100
101
102
100
90
78
73
68
66
67
62
60
55
56
52
51
50
50
51
52
54
53
53
53
51
50
48
49
49
48
46
48
49
48
49
51
53
54
56
55
58
58
55
56
56
55
57
59
64
69
75
76
76
78
78
76
75
74
75
75
76
82
89
95
99
102
105
107
106
107
109
109
109
106
100
95
89
83
76
72
68
66
69
73
81
91
102
109
114
116
116
116
119
123
129
139
154
166
171
170
170
173
176
176
180
176
163
155
150
155
158
165
170
174
180
180
177
177
174
171
172
172
169
162
155
152
151
145
140
145
149
151
155
153
153
150
147
143
139
138
141
145
147
151
156
158
158
158
156
152
149
144
138
133
129
124
124
125
125
127
130
131
130
129
128
127
124
121
119
117
117
118
119
117
114
112
112
112
111
108
105
103
101
98
97
95
94
93
92
93
92
93
91
89
88
86
84
83
84
86
84
82
83
84
81
84
83
82
81
78
78
75
71
67
63
60
55
38
201
231
204
214
208
202
198
200
202
202
203
207
210
213
217
224
227
232
233
235
235
232
231
229
226
224
219
216
214
212
212
212
213
214
211
205
203
205
208
210
213
214
212
212
211
210
208
209
211
213
210
204
199
195
189
185
181
179
180
183
184
180
171
163
159
154
149
146
143
140
136
130
126
119
111
103
96
89
88
90
92
93
94
96
94
84
72
68
63
62
61
57
55
51
51
51
48
47
47
49
52
51
51
51
53
50
48
46
45
47
48
46
47
48
49
50
52
54
56
58
58
61
61
59
58
56
57
58
58
62
66
70
72
72
73
73
71
71
71
73
75
78
82
88
95
98
99
101
101
101
102
106
109
108
105
99
93
86
79
74
71
67
68
73
80
88
99
108
115
120
120
119
119
121
126
128
137
152
163
169
170
171
175
177
179
185
178
166
157
152
155
163
167
171
176
179
179
177
175
172
173
172
174
171
164
157
153
151
148
143
148
152
154
157
153
151
149
146
142
139
139
143
147
150
152
157
159
159
158
157
153
150
144
138
135
131
126
125
126
128
131
133
134
134
133
132
131
128
124
122
121
120
120
120
119
116
114
114
113
112
111
108
105
103
101
99
97
94
94
95
94
94
94
93
91
89
88
86
85
86
87
85
83
86
86
85
86
84
86
84
82
80
78
74
71
67
63
60
41
202
228
202
208
204
196
191
190
192
191
191
196
202
207
211
218
224
229
231
232
232
228
226
224
220
218
213
209
208
206
206
207
209
210
206
200
196
198
201
203
206
207
206
206
207
207
206
206
206
207
205
200
195
190
183
178
175
174
174
177
178
173
164
157
152
147
142
138
135
134
130
124
120
113
105
98
89
82
81
83
86
87
89
89
87
81
67
63
58
55
56
51
51
47
50
48
46
45
45
47
51
50
50
50
53
49
47
45
43
46
47
45
44
47
48
49
51
53
55
57
58
61
61
58
56
57
57
56
56
59
63
67
70
69
68
69
69
69
70
74
79
82
86
90
93
95
95
94
94
96
100
103
105
105
104
98
92
85
76
73
71
68
71
79
87
98
108
116
122
126
126
125
125
126
127
127
136
150
161
167
167
169
173
177
181
187
182
169
161
156
161
167
171
171
173
174
173
172
171
171
173
175
176
174
166
159
154
152
149
144
150
154
157
158
154
152
149
145
141
138
139
145
149
153
155
158
160
160
159
158
153
149
145
139
136
131
127
124
127
131
133
135
136
137
136
135
133
131
128
126
124
122
121
119
119
117
115
114
113
113
112
109
106
103
102
100
98
95
93
94
95
95
94
94
93
91
89
88
87
88
87
86
85
85
87
85
86
87
88
86
85
83
81
76
75
70
65
62
44
203
224
198
204
197
190
184
181
179
175
176
182
189
194
199
208
216
220
222
225
224
221
219
215
211
206
202
197
197
196
196
199
201
202
199
192
186
186
189
194
198
198
196
197
199
199
198
199
200
201
200
195
188
183
178
174
169
165
165
167
167
163
154
146
143
138
132
127
126
125
122
117
112
105
97
91
83
76
74
76
79
80
81
83
82
74
63
57
53
50
51
47
48
44
47
49
45
45
48
48
50
53
53
51
54
50
48
46
44
44
46
46
43
46
45
47
48
49
49
51
55
58
57
55
55
54
55
55
55
60
64
67
69
67
66
68
71
72
74
79
86
91
92
94
94
93
92
89
88
92
96
99
101
103
102
97
91
84
75
72
72
71
76
86
96
107
118
125
130
132
133
133
133
130
129
126
134
147
160
165
166
167
172
176
181
187
182
171
165
161
165
170
174
172
168
165
164
165
170
171
171
176
178
176
168
161
156
153
150
146
151
156
159
162
156
154
150
146
142
139
140
146
153
156
157
159
161
161
160
158
154
149
144
139
135
130
127
126
127
129
132
135
137
139
138
137
136
133
129
128
125
121
120
118
118
117
114
113
112
112
111
110
108
105
101
99
98
96
95
94
94
95
95
95
94
93
90
89
88
88
87
85
84
84
86
86
87
88
88
86
85
85
83
81
78
74
70
65
49
204
221
195
200
193
185
177
172
168
163
166
170
179
185
191
200
209
212
214
218
218
215
211
206
201
198
193
189
188
189
188
190
193
195
192
184
178
176
181
186
189
189
190
191
191
192
192
193
193
195
196
191
183
178
172
166
163
159
157
160
160
154
145
139
135
129
123
118
117
116
115
111
105
97
89
84
76
69
67
69
71
73
74
76
75
66
55
51
47
45
47
45
44
41
46
47
46
46
48
49
53
54
54
53
54
51
48
48
44
45
44
43
45
46
46
45
45
45
45
47
53
53
54
54
54
53
54
54
55
58
61
64
67
66
67
69
73
75
78
85
94
98
99
98
95
91
88
85
83
87
90
95
98
101
102
98
91
83
74
73
74
76
82
93
104
116
128
134
138
140
139
139
138
134
131
127
134
146
158
164
166
168
171
175
180
188
184
175
171
166
168
174
176
173
167
159
155
160
167
167
170
174
177
177
170
162
158
155
152
148
153
158
161
164
159
155
151
145
141
139
141
148
156
160
160
161
160
159
159
157
153
148
141
137
134
130
126
126
127
131
134
138
140
141
141
139
138
135
130
129
126
122
120
117
116
115
114
113
111
110
110
108
107
105
102
99
98
96
94
95
96
95
94
96
95
94
93
91
89
87
86
83
84
84
86
87
88
89
89
89
88
87
85
83
80
76
71
69
53
206
220
192
198
190
182
171
165
159
152
154
159
165
172
179
188
198
202
204
208
207
202
198
191
186
183
179
176
176
177
177
178
181
184
180
174
167
167
168
172
175
176
176
178
179
179
179
180
182
184
186
183
178
173
165
156
153
150
148
149
150
144
132
125
120
115
110
107
106
104
102
99
95
87
80
75
69
62
60
62
65
66
67
69
66
60
51
47
44
42
43
41
41
37
41
44
43
48
51
52
54
53
54
51
52
48
47
46
45
44
44
42
44
44
44
46
45
45
45
47
51
53
54
54
55
54
52
55
56
58
61
64
65
67
69
72
74
78
82
89
98
103
103
100
94
88
85
82
81
83
85
90
95
98
99
95
91
85
76
77
79
80
86
95
105
118
132
139
144
147
146
144
144
141
138
136
141
149
155
160
161
162
164
170
175
183
183
180
179
174
176
179
178
173
165
156
150
156
164
165
165
168
172
171
166
161
161
157
156
153
157
161
163
166
160
157
152
148
144
142
144
152
161
164
162
162
161
160
160
159
155
149
144
137
132
128
125
125
128
133
137
141
143
144
143
139
137
135
131
128
125
120
117
115
114
114
114
114
112
110
108
106
105
102
100
99
98
97
96
95
96
95
95
94
95
94
93
92
89
88
86
87
87
87
86
88
89
89
89
90
88
90
88
85
82
78
73
74
56
208
221
193
199
191
182
171
160
152
145
146
149
152
156
163
173
184
193
192
195
194
186
180
174
168
165
162
159
161
164
165
166
169
170
167
161
157
156
157
158
159
161
162
163
163
162
162
165
169
173
174
173
172
170
161
150
143
140
138
140
140
133
120
111
105
101
97
95
94
92
88
86
81
75
71
67
62
56
55
56
59
60
62
61
59
54
48
44
46
44
44
40
39
35
38
41
43
46
50
50
51
55
54
52
50
47
48
46
47
46
46
43
42
45
45
46
48
47
49
50
52
54
55
56
55
53
54
56
57
60
63
66
67
67
69
73
77
82
85
91
99
103
102
98
90
85
85
84
82
84
85
87
91
94
96
94
92
88
81
80
81
82
85
93
101
113
127
137
145
149
148
147
147
149
147
149
152
153
155
155
153
151
153
159
165
177
180
183
185
182
185
182
179
172
162
155
148
153
159
161
162
165
166
166
164
160
160
160
160
158
162
164
165
167
161
159
154
150
147
145
147
158
166
168
165
164
162
162
161
160
157
150
144
137
132
128
126
127
130
135
140
144
145
145
143
139
136
134
130
127
123
119
117
114
114
112
112
113
111
109
107
105
104
102
99
98
97
95
95
96
94
93
94
93
92
92
91
91
91
89
88
88
88
89
88
89
92
92
92
91
88
88
88
84
82
79
76
76
58
209
223
196
201
193
183
172
161
153
141
139
139
140
142
149
160
171
180
181
184
180
172
163
152
147
146
143
144
147
151
153
155
156
157
156
152
147
146
144
143
143
145
147
148
147
145
143
145
153
160
163
165
166
168
159
145
133
126
126
129
129
120
106
96
90
87
85
83
82
79
74
71
67
62
59
56
52
49
50
50
52
53
53
52
52
49
45
46
46
45
45
42
38
34
36
39
42
46
48
49
50
53
50
48
46
46
47
47
48
45
44
42
41
44
43
45
47
51
52
53
54
55
56
56
56
56
56
58
59
60
62
64
67
69
71
75
80
84
89
95
100
102
101
95
87
82
82
84
85
85
85
86
87
89
92
93
94
92
91
88
85
82
83
88
94
105
120
136
147
154
152
149
151
154
159
162
161
159
154
150
146
142
141
147
155
168
178
186
192
192
191
186
180
172
164
156
151
153
160
161
159
159
158
159
159
162
163
165
166
166
167
168
168
166
163
159
156
152
151
149
153
163
170
170
168
163
160
160
163
162
158
151
144
137
133
128
124
126
131
139
144
146
148
146
142
138
133
129
126
123
119
116
114
113
112
113
112
112
111
108
106
104
103
101
99
98
97
97
96
94
94
92
91
90
90
93
93
92
92
92
92
93
91
90
90
91
93
92
90
91
88
89
86
82
80
78
75
74
61
204
224
194
199
191
182
171
161
152
138
133
132
131
131
138
149
159
164
170
172
164
157
146
134
132
130
127
129
132
138
141
143
143
143
144
140
136
134
131
127
126
129
132
133
132
130
127
128
137
146
153
156
158
160
151
136
123
115
113
116
116
107
93
83
79
77
75
74
71
68
64
61
58
54
50
49
47
45
46
46
47
48
48
47
46
45
44
44
44
44
46
42
39
35
36
40
43
48
50
50
53
51
48
47
46
48
48
50
48
46
44
43
42
43
43
45
48
53
55
55
55
56
56
55
56
57
58
57
58
60
62
64
67
71
74
77
82
85
90
95
99
102
99
93
86
82
82
85
87
86
86
87
88
89
91
94
96
98
98
94
88
83
81
85
90
98
113
135
149
157
155
153
155
160
167
170
168
162
155
148
143
137
135
142
150
164
177
185
196
199
195
190
182
175
166
158
154
155
161
159
158
156
152
154
157
162
165
168
169
170
169
169
169
167
165
161
158
155
154
154
157
163
170
171
169
164
159
160
164
163
159
153
145
138
134
129
124
126
132
140
146
147
148
145
139
135
129
124
122
119
117
115
114
112
112
112
111
112
112
109
106
105
103
102
100
98
99
100
98
97
95
95
94
92
92
94
95
95
95
95
95
97
94
93
93
93
92
93
92
92
90
87
85
83
83
81
77
75
65
204
223
193
198
191
181
170
160
151
137
133
129
126
125
130
139
147
153
154
156
148
142
133
122
120
118
114
116
121
126
128
131
131
130
130
127
125
123
119
115
115
117
119
120
119
118
115
116
124
132
138
142
144
147
138
124
113
105
104
108
108
99
88
78
73
71
70
68
66
63
60
56
54
51
48
47
46
45
45
45
46
47
48
47
46
44
45
43
45
44
46
43
41
38
39
43
47
53
55
52
55
52
49
48
47
48
51
52
51
49
47
46
45
44
44
46
49
54
56
55
56
56
56
56
56
56
57
57
57
59
61
63
68
72
75
79
84
87
92
96
99
101
98
91
85
82
83
87
90
89
89
90
91
93
95
98
98
99
99
94
89
84
82
85
88
96
111
131
146
155
157
159
161
165
170
173
171
163
156
149
144
139
136
144
152
165
176
187
194
197
193
188
183
177
171
162
158
157
161
161
158
156
154
154
157
162
165
168
169
170
169
170
170
168
166
164
161
158
156
154
157
163
168
170
169
166
163
163
165
164
160
155
146
139
135
130
126
128
134
142
146
144
145
142
136
131
125
121
119
117
115
113
111
110
111
111
110
111
111
109
107
106
104
103
102
101
102
103
102
101
101
99
97
96
96
98
99
99
100
98
98
99
97
94
94
92
94
93
93
93
92
90
87
87
86
84
82
79
68
206
222
192
197
188
179
168
158
149
138
132
127
122
119
123
128
135
140
140
140
132
128
120
110
108
105
101
104
109
114
117
119
119
117
118
116
113
111
107
103
103
105
107
108
106
105
102
102
110
118
125
129
130
133
125
111
101
93
92
95
97
90
80
72
67
66
65
63
62
60
55
53
51
48
46
45
43
43
44
44
45
46
47
47
46
45
43
44
43
44
46
45
43
41
43
46
51
58
58
55
55
54
51
49
49
52
54
54
56
53
51
50
48
46
45
47
51
56
58
57
55
55
56
55
54
55
56
57
57
59
62
65
69
74
79
83
88
89
92
95
98
100
97
91
83
82
84
89
92
93
94
95
96
99
101
102
103
103
103
98
92
86
82
83
85
93
109
128
143
154
159
164
169
172
174
175
173
166
158
153
147
143
141
147
154
166
175
184
192
194
191
188
184
178
175
168
163
161
161
162
159
157
156
156
158
163
165
168
167
169
167
170
170
170
167
167
164
161
159
156
158
162
167
169
169
167
166
166
167
165
159
154
146
140
137
133
129
132
137
143
145
142
142
139
133
127
121
118
116
115
113
112
110
109
109
109
109
111
111
109
108
107
106
105
104
104
106
107
106
105
105
105
104
104
104
105
107
107
104
102
101
102
98
95
95
94
92
92
92
94
93
92
91
90
89
86
86
83
72
208
221
193
198
187
178
166
156
148
135
131
123
118
114
117
117
122
124
122
124
117
110
103
95
95
90
88
91
96
99
101
104
104
101
104
102
99
97
94
90
89
90
93
94
92
91
87
87
95
102
107
111
113
117
110
97
87
80
79
83
86
79
70
64
61
60
60
58
57
55
52
50
49
46
45
45
43
42
43
43
44
45
46
46
45
43
44
42
43
44
46
45
44
44
46
50
56
63
63
61
60
59
54
52
51
54
57
59
60
57
55
54
51
48
46
49
53
56
58
57
56
56
55
54
53
54
55
56
56
58
62
66
70
75
81
85
90
93
95
96
97
98
97
91
84
83
85
90
94
96
98
100
102
104
106
106
106
106
106
100
93
87
83
84
87
94
109
128
143
154
160
168
173
176
177
175
173
166
160
155
151
148
147
152
158
167
176
183
189
191
191
189
187
184
178
177
171
169
164
163
161
158
157
159
161
162
165
167
167
168
166
169
170
170
170
170
167
165
162
158
159
163
166
168
169
169
169
168
167
164
159
152
145
139
137
134
132
135
137
142
143
139
138
135
129
123
117
115
114
114
113
112
111
110
109
109
110
112
112
110
109
108
107
107
108
107
110
111
110
109
110
110
109
109
108
111
113
113
111
107
105
103
99
96
95
95
94
92
92
94
95
93
92
91
93
91
90
88
77
211
220
192
196
186
177
165
156
147
134
130
123
114
111
111
110
109
111
110
110
104
97
90
83
82
80
78
80
83
86
88
91
92
90
91
90
88
86
83
79
78
80
81
82
80
78
74
73
81
89
94
98
100
104
97
85
77
70
69
74
77
71
63
58
56
55
55
54
53
52
50
48
47
45
44
44
43
42
43
44
43
44
45
45
43
44
43
42
44
43
46
44
47
47
49
54
60
68
68
65
62
62
57
56
53
56
59
62
63
62
59
58
54
50
47
50
54
57
59
58
57
56
55
54
53
52
53
53
55
57
62
67
71
77
83
87
91
94
97
96
96
97
96
91
85
84
86
91
95
97
98
100
102
104
105
106
106
105
105
98
92
87
84
86
89
96
112
132
147
158
163
168
172
174
175
173
170
165
160
157
155
152
152
158
163
171
177
183
188
193
192
191
190
188
184
184
180
175
169
168
164
161
159
159
163
163
166
167
165
165
166
168
169
170
171
170
169
168
165
161
161
163
165
167
168
168
169
167
166
163
158
151
144
139
138
136
134
137
139
142
142
137
136
132
126
119
114
113
114
114
114
113
112
111
111
111
112
114
114
113
112
111
110
110
111
110
112
114
114
113
113
113
112
112
112
114
115
116
114
110
107
105
101
96
97
97
95
93
93
95
97
97
96
94
96
95
93
91
82
210
219
190
195
186
176
163
155
147
136
131
123
113
108
107
103
100
100
100
98
93
88
82
76
78
75
73
74
75
77
80
83
84
83
84
82
80
78
75
72
71
72
73
73
71
70
66
65
73
79
84
87
90
93
87
76
68
62
62
66
69
65
59
55
52
52
52
51
51
50
48
47
46
44
43
42
43
43
42
42
42
43
43
43
44
43
42
41
42
42
44
45
47
50
53
59
63
71
72
67
66
62
58
55
54
58
62
65
66
64
62
61
57
53
49
51
55
58
60
59
58
57
56
54
53
53
54
54
55
59
63
68
72
79
85
89
91
95
98
97
97
96
94
90
87
87
88
91
94
96
97
97
98
98
99
100
101
102
101
97
93
88
87
91
96
105
122
142
156
164
166
167
169
168
168
168
167
163
161
159
159
160
161
167
171
177
182
184
189
193
193
193
192
191
191
192
189
180
173
173
168
164
162
162
163
166
165
166
163
163
164
166
167
170
172
173
173
171
168
164
162
163
164
165
166
167
168
166
165
160
155
148
143
140
138
137
136
138
140
143
143
137
133
128
122
119
115
114
115
117
118
117
115
114
115
116
115
117
118
117
115
114
115
114
113
114
117
118
117
116
116
115
114
112
111
113
113
115
113
111
109
108
103
100
100
99
97
97
97
97
98
100
98
96
96
97
92
93
83
209
219
191
194
185
175
164
155
147
135
131
121
111
104
101
95
91
89
86
84
79
74
71
66
69
66
63
63
64
65
68
71
72
72
75
72
70
68
65
62
61
61
62
61
60
58
53
52
60
66
71
73
76
80
74
63
56
52
52
58
61
57
52
48
46
46
47
47
46
46
45
45
44
42
41
42
42
41
42
43
43
42
43
44
43
42
40
40
41
41
43
45
49
52
57
63
70
77
79
72
70
67
60
57
56
60
64
68
70
69
67
66
60
55
51
53
57
60
61
60
60
58
57
55
53
53
54
54
55
60
65
69
74
81
86
91
94
97
99
98
96
95
93
90
89
89
90
93
94
93
94
94
92
91
91
93
95
97
97
95
93
90
90
98
104
114
131
152
165
171
169
165
163
161
162
163
163
160
161
163
166
167
170
175
178
182
187
186
191
193
192
194
198
199
200
202
200
189
179
176
174
169
165
165
165
167
167
164
162
161
162
164
166
169
172
175
174
174
171
166
163
162
162
164
163
165
165
164
163
158
153
148
143
140
139
139
138
140
141
145
145
138
132
125
121
117
115
115
118
121
122
121
120
119
119
120
119
121
122
121
119
118
119
118
118
117
120
120
119
118
117
116
115
113
112
113
114
113
112
109
111
110
105
103
101
98
98
98
98
99
100
102
99
98
100
99
94
95
85
211
219
190
195
187
175
162
156
145
138
132
121
111
104
98
90
82
81
79
75
71
67
65
63
62
60
57
57
59
59
60
62
64
63
65
65
63
61
58
55
53
53
55
54
52
49
46
46
51
56
60
64
66
69
64
55
49
45
46
52
56
52
47
46
44
43
44
44
44
43
43
43
43
42
41
41
41
42
41
41
41
41
42
43
41
41
42
42
43
41
43
44
50
54
59
65
71
81
81
77
74
70
64
61
58
61
66
70
72
70
68
68
62
57
53
55
57
61
62
61
58
58
57
55
54
54
55
56
57
62
67
71
76
82
88
92
94
96
98
97
95
94
94
93
91
92
93
94
94
92
90
89
89
88
89
90
92
94
96
96
96
94
96
103
109
121
139
158
169
175
172
165
161
159
159
159
160
161
164
167
171
174
178
182
183
183
187
186
189
189
192
196
199
201
202
204
204
194
185
182
177
175
172
168
168
168
166
166
161
159
158
162
164
168
172
175
178
177
173
168
166
164
163
162
164
164
164
163
160
156
154
150
144
142
141
142
142
140
141
145
142
135
131
127
121
117
115
116
120
123
124
125
124
122
122
123
124
124
124
123
123
122
121
120
121
120
122
122
121
119
119
117
113
112
111
110
111
111
111
111
111
110
106
104
102
103
101
100
101
102
103
103
103
100
102
102
97
97
87
212
220
192
196
186
176
164
157
147
138
132
120
111
102
95
87
78
77
75
72
68
65
65
63
61
59
57
55
55
54
54
56
57
59
59
60
59
58
54
51
50
51
52
51
49
45
43
43
47
53
56
58
61
63
60
52
46
43
43
49
52
50
46
45
44
44
45
46
45
45
45
45
44
43
43
42
41
42
42
42
42
42
41
41
41
42
42
41
43
41
42
43
49
54
60
66
73
84
83
79
78
72
69
64
61
65
69
73
74
73
70
68
63
58
55
56
58
62
64
62
59
58
57
55
55
56
57
58
62
66
70
74
79
84
89
93
94
95
97
97
95
96
96
95
95
95
95
95
93
90
88
86
85
86
87
90
93
96
99
102
102
101
103
109
115
126
143
159
168
173
171
165
161
159
159
159
161
164
168
172
176
180
184
185
185
183
184
186
184
185
190
193
197
198
199
204
205
197
189
186
181
178
177
172
173
172
167
167
160
156
156
160
161
166
171
176
180
179
175
171
169
166
164
164
165
166
165
165
162
159
157
153
147
145
145
146
146
143
141
142
138
132
127
125
120
117
115
115
120
123
124
126
126
125
125
126
127
127
126
127
127
126
124
123
123
124
125
124
123
121
119
115
111
110
109
108
107
107
109
110
110
109
108
104
106
107
107
107
108
109
109
108
107
105
103
102
99
97
87
212
221
192
197
189
177
164
157
148
136
130
119
110
104
94
85
77
73
71
69
65
63
65
63
61
60
57
54
52
50
48
51
52
53
54
56
55
54
51
48
47
48
49
48
47
44
40
40
44
48
51
53
55
57
55
49
43
42
43
48
52
49
46
44
43
44
45
46
45
44
45
45
44
44
43
43
42
41
42
42
42
42
42
42
42
42
41
41
42
41
42
43
48
54
61
67
75
88
86
83
81
75
71
67
64
68
72
75
75
74
72
69
64
59
56
57
59
63
65
63
60
59
57
56
56
57
59
61
66
70
74
78
82
86
90
93
94
95
96
97
96
97
96
97
98
97
96
96
94
90
87
84
83
83
86
90
95
99
103
106
106
105
108
114
119
128
142
156
165
171
170
165
162
160
159
161
163
166
171
177
181
185
189
187
186
184
184
184
181
182
186
189
193
196
199
203
203
198
193
190
187
184
181
176
177
175
170
167
160
156
156
157
158
164
170
178
181
180
177
173
171
167
165
163
166
169
168
167
165
162
159
156
150
148
148
148
147
144
141
140
135
129
124
122
117
115
114
116
120
122
124
127
128
128
129
129
130
130
129
130
130
129
128
127
126
127
127
125
124
123
118
113
109
108
107
106
105
104
107
108
109
109
109
107
108
108
109
109
110
111
113
111
109
105
104
102
98
96
87
212
223
195
198
189
178
167
158
146
135
130
119
110
104
94
84
75
71
68
67
63
61
63
62
60
60
57
53
51
49
47
48
49
49
50
52
51
51
49
47
46
46
46
46
45
42
38
38
41
45
48
50
51
53
50
45
41
39
41
46
50
48
46
44
44
44
44
44
44
44
44
43
43
44
43
43
42
41
42
42
40
41
41
41
41
41
42
42
43
42
43
44
49
55
62
68
76
89
87
83
83
77
74
70
67
69
73
74
76
73
70
68
65
60
57
57
60
64
66
64
60
58
57
56
58
59
62
64
70
74
78
82
85
87
90
92
94
94
96
96
96
98
99
98
98
98
98
97
95
91
88
85
84
85
87
91
96
101
106
109
110
110
114
119
123
129
141
154
163
169
170
168
166
164
161
163
164
169
176
180
184
188
191
188
186
183
182
181
179
180
184
188
192
195
198
202
202
196
193
193
190
188
185
179
179
176
174
169
160
157
157
157
158
164
172
179
183
182
179
176
173
169
166
164
166
168
167
168
165
162
161
158
154
151
151
150
148
144
140
137
133
127
121
119
117
116
117
118
122
124
126
128
129
129
130
131
133
132
131
132
132
131
130
129
128
129
129
127
124
121
118
114
109
108
106
104
102
102
105
108
109
110
109
111
112
113
113
113
113
115
115
113
111
108
103
103
100
97
87
212
225
197
200
190
179
169
158
147
134
129
118
112
102
96
82
73
70
67
65
61
61
64
62
60
59
55
52
50
46
43
45
47
48
48
50
49
49
47
47
46
46
46
45
44
41
39
39
41
44
47
48
50
51
49
44
41
38
40
45
47
47
46
45
45
46
46
46
46
46
45
45
44
44
43
43
42
41
42
42
42
41
42
43
43
42
43
43
46
45
44
45
50
55
62
69
77
89
89
88
87
81
79
74
71
74
76
77
76
74
71
69
66
62
59
59
62
66
67
65
60
58
56
58
59
60
65
69
75
79
83
87
89
91
92
93
92
93
95
95
97
99
100
100
101
102
101
99
97
94
89
86
85
86
88
92
97
102
107
111
113
114
117
123
126
132
143
155
164
170
173
173
172
170
167
167
169
171
178
181
183
187
190
187
185
181
180
178
178
180
184
189
192
194
197
201
200
195
193
194
192
190
187
181
180
180
175
171
164
158
158
160
161
165
171
179
184
184
181
178
175
171
167
165
164
164
163
163
161
161
160
156
153
152
151
150
147
143
138
135
130
126
123
122
121
122
122
124
127
129
130
131
129
128
128
130
131
131
130
132
132
131
130
130
130
131
130
128
125
122
119
115
110
109
107
105
104
103
107
109
110
110
110
110
111
115
115
114
117
117
117
114
111
107
105
104
98
98
86
212
226
199
202
192
180
170
159
145
133
128
117
111
101
94
84
72
68
65
63
60
61
64
64
61
58
55
50
48
44
41
43
45
45
46
49
48
47
46
45
45
45
45
44
43
41
39
39
41
43
45
47
48
49
47
43
40
39
39
43
46
46
45
45
46
47
47
47
47
46
46
46
44
44
43
42
42
42
41
40
41
41
42
43
43
43
44
45
46
45
46
46
51
55
61
68
77
91
90
90
89
84
82
79
75
75
78
79
79
77
73
70
67
63
61
63
64
67
68
66
60
58
56
58
60
64
69
74
80
84
88
91
93
94
93
93
92
93
94
96
98
100
102
104
105
105
103
101
98
95
92
87
86
87
89
94
99
105
111
114
117
119
122
126
129
135
146
157
165
173
177
179
180
178
173
171
173
174
178
180
182
184
186
183
181
178
177
177
178
181
185
190
192
195
195
196
197
194
195
193
190
190
188
183
184
183
179
175
166
161
160
161
163
167
173
179
185
185
183
180
177
171
168
166
163
160
157
155
156
157
157
155
153
152
151
149
145
141
138
134
130
128
127
125
127
129
132
135
136
137
137
134
130
127
127
128
130
130
129
131
132
131
132
133
133
132
131
129
126
124
120
116
113
110
108
106
104
104
109
110
112
113
112
112
111
113
115
115
117
118
118
115
111
110
104
103
98
100
87
213
227
200
204
194
182
171
160
145
132
126
116
109
101
94
83
73
65
63
61
59
60
63
62
61
59
56
50
47
43
39
41
43
43
44
47
46
45
44
44
44
44
44
44
43
41
39
39
41
43
46
46
47
47
45
42
40
39
39
42
44
45
46
46
46
47
46
45
46
46
46
45
44
43
43
42
41
40
40
40
41
42
43
44
46
45
46
47
49
47
49
49
52
56
62
68
75
89
89
89
91
86
83
80
77
77
78
80
78
76
73
71
69
66
64
66
67
69
69
67
61
58
58
59
61
66
73
78
85
88
92
94
95
94
92
92
93
93
94
96
99
102
104
106
107
107
105
103
100
97
94
90
87
89
92
97
102
108
114
117
120
122
124
128
133
139
148
159
167
174
181
185
188
184
179
177
177
176
178
179
180
181
183
181
178
175
175
178
180
184
189
192
193
193
193
193
192
192
195
191
189
188
188
184
186
186
184
181
172
165
164
166
166
170
175
182
186
188
184
182
179
174
170
166
162
157
151
151
153
155
156
155
153
152
151
147
143
139
135
131
128
128
130
130
133
137
140
143
143
143
142
137
131
126
126
128
129
130
130
132
133
131
133
135
134
133
132
130
128
126
121
118
113
112
110
108
107
106
111
112
115
114
113
111
113
112
118
118
119
119
119
118
115
112
104
103
99
99
90
213
228
202
207
196
184
173
161
146
132
124
116
111
102
94
84
75
66
64
62
59
59
62
60
57
57
54
50
45
41
38
40
42
42
44
46
45
44
44
44
44
45
45
44
44
42
40
40
42
43
46
47
47
46
44
41
40
39
39
41
43
44
45
46
45
45
45
44
44
44
45
44
44
43
43
42
41
40
41
40
41
42
44
45
46
47
49
50
51
50
52
52
55
58
63
69
77
90
92
92
93
89
88
85
80
81
80
82
80
80
75
73
71
68
66
68
69
70
69
67
60
58
57
60
63
68
75
82
90
93
96
99
99
95
93
92
92
93
94
96
99
104
106
106
106
107
107
105
102
100
97
93
91
93
96
100
105
110
115
121
124
126
128
133
137
143
151
160
169
177
183
188
192
188
183
179
179
178
178
178
178
179
180
178
177
175
175
180
183
187
192
194
196
195
193
192
189
189
193
191
188
188
187
184
187
188
185
185
175
170
168
168
168
173
178
182
187
188
186
183
181
175
170
167
162
156
150
149
151
153
155
156
154
153
150
146
141
137
133
129
126
129
132
132
137
141
144
146
146
146
143
138
130
126
125
127
129
130
131
133
135
134
135
135
134
133
132
130
126
124
121
117
113
112
111
109
109
108
112
113
115
115
113
112
113
114
116
116
117
117
119
117
114
113
106
103
101
101
89
213
227
203
207
198
187
174
163
146
134
128
120
112
105
95
85
76
68
65
61
61
60
59
58
56
55
52
47
43
41
40
41
42
42
42
42
43
44
45
46
45
44
44
44
44
43
41
42
43
44
45
45
45
45
43
42
40
39
40
41
42
44
45
46
46
46
45
45
45
44
44
43
43
42
42
41
39
40
41
41
40
42
44
45
47
48
48
50
52
53
57
57
60
60
66
72
78
90
93
91
94
92
87
87
82
82
84
85
82
82
78
76
73
71
71
71
71
71
70
68
61
59
59
62
66
71
79
86
93
95
98
100
101
97
94
93
93
92
93
96
100
105
107
105
104
104
103
104
104
101
98
98
99
99
103
107
111
115
120
123
126
129
133
136
140
146
154
164
173
177
182
190
193
190
185
181
180
179
178
180
180
180
180
180
180
179
181
185
189
193
196
199
198
196
192
189
185
185
189
186
187
185
184
185
185
189
189
188
182
177
173
173
172
175
179
185
190
191
187
185
182
176
173
168
163
157
151
150
152
155
157
156
155
154
150
146
142
137
131
126
126
130
132
136
140
143
146
148
147
145
142
138
132
128
128
130
133
134
133
136
137
135
134
134
133
132
131
128
127
125
120
117
114
111
109
109
109
109
112
114
114
114
113
111
110
110
111
112
113
112
113
113
110
108
105
102
98
99
89
213
226
206
207
201
189
175
164
147
137
130
122
113
107
96
86
76
67
65
60
59
58
57
56
55
53
50
47
44
41
41
42
42
41
42
41
41
43
44
45
46
45
44
44
43
43
44
43
45
46
46
46
46
45
43
42
41
40
40
41
42
43
44
45
45
45
44
43
44
44
43
43
42
42
41
40
39
40
41
41
40
42
44
46
48
51
49
51
54
55
59
62
61
62
65
75
79
91
94
91
95
94
89
89
84
85
85
87
84
82
80
78
76
74
73
72
71
71
71
69
64
60
60
64
68
73
82
89
97
99
101
102
103
98
93
93
93
93
95
98
102
106
107
106
102
102
102
105
105
103
102
102
104
105
108
114
117
120
125
128
130
132
135
139
142
148
155
168
176
179
185
190
194
191
187
182
181
179
178
178
178
178
178
179
181
182
185
190
195
200
201
201
200
197
191
186
180
181
186
183
183
184
182
183
187
190
191
189
186
182
178
179
177
176
182
190
193
193
188
187
184
178
173
169
164
158
151
152
154
158
159
158
157
155
151
147
141
137
131
125
125
129
131
136
141
144
146
147
145
144
141
136
131
129
130
132
135
136
135
138
139
137
136
135
134
134
132
129
127
124
120
116
113
111
110
112
112
111
112
112
112
111
112
110
109
107
107
106
107
110
110
109
106
106
104
102
97
99
89
214
227
207
208
201
191
174
165
152
137
131
122
113
108
98
87
77
68
66
59
58
56
56
54
53
52
50
46
43
41
41
42
42
40
41
41
42
43
44
45
45
46
45
44
45
45
45
44
45
47
46
45
46
45
44
43
42
41
42
42
41
42
43
44
43
44
43
42
43
43
42
41
42
41
41
40
39
40
41
41
40
43
45
46
49
52
50
52
56
59
63
66
67
65
68
74
79
92
94
91
95
94
91
91
85
85
89
90
88
86
84
82
80
77
76
75
73
74
72
70
65
62
63
66
71
76
82
90
99
102
103
104
104
99
94
94
94
94
95
98
102
106
109
105
100
101
102
104
106
106
106
106
108
111
114
119
122
125
127
130
132
134
137
141
145
151
159
169
175
181
187
191
194
192
188
183
181
179
179
179
179
179
179
181
183
185
190
196
201
205
204
203
203
196
188
180
176
178
184
182
181
181
180
182
188
192
193
193
190
187
183
184
181
182
185
191
195
194
188
187
184
180
175
169
165
159
155
154
155
158
159
160
160
157
151
145
140
135
130
124
125
131
133
138
143
146
148
149
145
142
138
136
133
131
133
135
137
137
138
140
140
138
138
136
133
132
130
128
126
122
119
115
113
111
110
111
112
112
113
114
114
112
110
108
107
106
105
103
103
104
104
107
105
104
103
100
96
100
89
213
229
205
207
201
189
173
165
154
139
133
125
117
109
100
90
79
69
67
62
59
57
56
53
51
51
50
46
45
43
42
43
43
42
42
43
44
44
45
46
47
46
45
44
45
46
45
45
46
48
47
46
45
44
44
43
43
42
43
42
41
41
42
42
43
43
42
41
41
41
42
41
41
41
40
41
41
41
41
40
41
43
45
47
50
53
52
54
58
62
69
68
70
68
72
76
83
92
94
92
93
92
88
89
85
88
91
92
93
91
88
88
84
81
79
79
77
74
74
71
66
65
66
69
74
78
85
92
99
100
102
103
103
100
96
95
95
95
96
99
103
106
109
109
108
109
110
111
112
112
110
110
111
114
116
120
122
124
127
130
132
134
137
142
146
152
160
167
174
180
184
188
193
191
188
187
186
185
183
183
184
184
184
186
188
190
194
200
205
205
204
203
200
193
184
176
173
177
185
183
182
180
180
182
188
194
196
194
193
193
188
188
185
183
187
193
195
193
188
186
184
180
177
172
166
160
155
153
153
154
155
156
156
153
149
145
138
135
131
125
126
133
138
143
148
151
154
153
147
143
139
137
137
138
139
140
142
143
142
144
143
140
139
135
132
130
128
125
122
118
114
113
111
110
109
110
110
110
114
115
115
113
110
107
104
105
102
102
103
102
103
105
102
101
102
98
96
97
88
212
227
204
208
199
188
172
165
155
142
135
127
119
109
103
92
82
71
69
64
60
58
56
54
51
51
50
49
46
45
45
44
45
45
45
45
44
45
46
47
48
47
46
44
45
46
47
48
48
49
48
47
45
44
45
45
45
44
43
43
42
41
42
43
42
42
41
41
41
42
42
41
41
42
42
41
40
40
40
41
41
44
46
47
50
52
53
56
60
64
71
72
74
74
74
78
84
91
92
88
87
86
84
83
85
88
91
93
95
92
91
91
87
83
81
79
76
73
72
70
66
65
67
71
74
79
84
89
94
96
99
101
101
100
97
98
98
97
97
99
103
105
108
112
117
119
120
120
120
118
116
115
114
116
117
119
121
121
123
126
129
132
136
140
145
152
160
167
171
176
180
185
188
189
189
190
190
191
190
190
190
191
191
193
194
195
198
202
206
205
201
200
196
189
181
173
170
175
188
186
185
182
180
182
189
195
198
197
197
195
192
190
187
185
189
194
195
193
187
186
184
181
178
174
168
159
153
151
150
149
150
149
150
149
147
142
138
136
133
130
132
139
145
151
156
158
160
156
149
145
141
141
143
144
146
147
148
148
147
148
145
142
139
134
130
127
125
121
117
114
110
108
108
107
107
109
110
110
114
115
117
115
111
107
104
103
101
101
101
101
103
104
101
100
101
98
96
97
88
211
229
204
208
199
190
173
166
156
145
137
128
120
110
102
93
84
73
70
65
61
59
55
54
51
51
52
51
48
47
47
46
46
46
46
46
46
46
46
47
48
47
45
44
44
45
47
48
48
48
47
46
45
45
45
44
45
45
44
43
42
42
43
42
43
43
42
41
41
41
41
41
42
43
43
42
41
42
42
42
40
43
46
47
50
52
53
57
60
66
74
77
77
76
78
81
85
90
90
86
86
85
82
81
81
87
91
94
97
97
94
97
90
85
82
80
77
73
71
70
67
68
69
72
75
80
83
87
93
95
97
99
100
99
98
99
100
99
100
101
103
103
107
112
118
123
123
122
122
120
118
118
117
116
117
119
119
120
123
126
129
132
136
141
147
152
159
166
170
174
178
181
184
186
188
189
191
192
194
194
194
195
195
196
196
198
200
205
206
205
202
198
194
186
180
174
170
176
188
187
186
185
181
182
189
195
198
197
200
199
194
192
189
188
190
193
195
192
187
186
184
182
180
176
168
159
153
150
149
149
148
147
146
146
145
141
136
135
135
132
135
144
149
155
159
161
163
158
148
144
140
141
146
149
150
152
153
152
149
150
148
143
138
134
128
125
123
118
113
110
107
106
106
105
106
109
111
111
115
116
117
117
113
109
106
105
103
102
102
102
103
102
103
102
100
100
97
98
90
212
228
203
207
200
188
174
166
156
144
138
129
118
111
101
92
84
75
71
65
61
59
56
54
52
52
51
51
50
50
49
47
45
46
46
46
45
45
46
47
47
46
44
43
43
44
46
47
47
47
46
45
44
43
43
44
45
45
43
42
41
41
42
42
43
43
42
41
41
42
43
42
43
44
44
44
43
43
42
42
40
43
45
47
49
51
52
56
61
67
78
78
80
78
80
84
86
90
90
85
82
81
81
80
78
86
91
95
101
99
97
100
94
88
84
82
77
73
71
70
69
69
71
74
77
80
83
86
92
94
95
97
99
100
101
102
102
101
102
102
101
103
106
111
117
122
123
122
121
119
119
118
118
118
118
121
122
124
128
131
133
136
140
145
148
153
160
164
168
170
172
175
177
181
185
187
190
193
195
196
196
196
197
196
199
199
202
204
205
204
202
197
194
191
185
182
179
183
192
193
191
186
183
184
189
195
198
199
202
201
196
193
190
187
190
192
194
191
186
185
184
183
182
176
169
160
155
152
150
148
147
145
144
144
143
141
138
136
136
133
136
145
151
156
159
160
161
156
146
140
136
139
147
151
151
153
154
153
150
150
147
141
136
130
127
124
120
115
111
108
105
104
104
105
106
109
112
114
116
117
119
119
117
113
111
111
108
106
108
106
106
106
103
101
103
102
98
99
91
213
226
203
205
199
186
170
164
155
145
138
129
118
109
100
91
83
77
73
66
63
60
57
55
54
53
51
52
52
50
49
47
45
44
45
45
44
44
45
46
46
45
43
41
42
43
44
46
45
46
45
44
43
43
42
43
44
44
43
42
42
42
42
42
44
44
43
41
42
42
43
43
45
45
44
43
44
43
43
42
40
43
45
46
48
51
52
56
63
71
79
82
79
79
80
83
90
91
90
85
79
79
78
75
75
85
92
98
104
102
100
103
97
90
85
82
77
73
71
72
72
73
74
76
78
80
83
86
89
91
93
94
98
100
102
104
103
103
105
105
101
101
104
108
113
116
117
117
116
114
114
115
116
117
119
123
125
128
132
137
140
142
146
149
152
155
161
163
165
167
167
168
170
173
178
183
187
193
197
197
195
195
196
196
197
200
199
201
203
202
200
201
199
195
195
193
189
190
199
198
194
191
186
186
188
194
196
199
201
201
195
192
189
186
189
190
191
189
185
184
183
181
181
179
173
165
158
155
152
147
145
145
142
141
141
140
138
139
139
137
139
147
152
156
159
159
159
152
143
138
133
136
145
150
150
151
152
151
149
149
146
141
135
128
123
121
117
112
108
107
106
106
106
105
108
112
115
117
118
120
122
123
121
117
114
114
112
111
111
111
112
110
106
104
106
104
99
102
91
213
229
202
206
196
184
170
161
155
144
138
127
117
109
102
91
83
75
73
68
63
61
59
55
57
55
54
54
53
52
49
47
45
43
43
43
44
44
44
44
44
44
42
40
39
41
43
44
45
44
43
42
41
40
41
43
44
44
42
40
39
41
43
44
44
45
44
43
44
45
46
46
46
47
47
46
44
44
44
44
43
43
45
47
48
51
54
56
60
71
81
85
86
85
86
86
88
92
87
83
78
74
74
71
74
83
92
101
105
106
105
104
99
92
87
84
77
71
70
71
74
74
76
78
81
82
81
83
86
88
91
93
96
100
104
107
109
106
107
105
103
101
101
104
108
109
108
108
110
111
111
113
116
118
121
127
132
136
141
146
149
151
153
154
154
156
157
159
160
160
159
158
158
165
172
178
185
190
194
197
198
197
199
195
196
197
198
199
201
200
202
201
201
202
203
203
202
203
207
204
202
193
187
189
191
195
199
197
201
200
197
191
187
185
187
188
186
186
184
183
182
183
183
181
175
168
162
157
152
147
145
142
140
140
139
138
140
139
137
138
140
148
155
158
159
160
158
152
140
131
128
133
142
148
151
153
153
152
149
146
143
138
133
128
123
120
115
110
106
107
105
103
105
107
109
113
117
119
121
124
128
128
127
123
122
122
120
120
119
118
117
116
112
109
108
105
101
98
94
210
229
201
209
198
184
173
164
158
145
139
128
119
111
104
92
85
77
75
70
63
62
61
55
56
55
55
53
52
51
48
47
45
44
44
43
43
43
44
45
44
43
41
40
40
42
43
44
43
44
43
42
41
40
42
43
44
44
42
40
39
40
43
44
44
44
44
45
44
44
45
44
45
46
46
45
44
43
44
44
42
42
44
47
48
52
56
59
63
73
82
86
89
88
89
89
91
95
89
86
79
73
75
73
77
83
92
99
103
106
107
108
101
94
89
85
80
74
72
73
76
76
76
77
78
80
82
84
86
89
92
94
97
99
102
106
109
108
108
107
103
100
99
102
107
108
106
105
106
108
109
111
114
116
120
127
134
138
143
148
151
155
157
158
157
158
158
158
158
157
157
157
158
164
171
180
185
190
195
197
199
198
199
198
197
197
198
199
197
199
201
203
205
206
206
207
207
207
207
205
202
194
189
189
191
196
198
197
200
199
194
190
185
183
185
185
183
183
183
182
182
182
182
179
174
168
163
158
153
148
146
144
142
142
141
141
142
141
139
139
141
147
153
156
157
157
156
150
139
131
129
133
142
147
150
152
152
151
148
145
141
136
130
125
121
118
113
108
104
103
101
101
103
105
108
112
118
121
123
124
126
128
126
124
123
123
122
122
122
120
119
118
115
112
111
106
105
100
98
211
230
204
212
201
191
179
172
163
150
141
132
124
116
110
100
89
82
79
73
66
64
61
56
56
54
52
51
49
50
49
46
45
45
45
44
43
44
44
44
43
42
41
40
41
42
43
44
43
42
43
42
41
41
42
43
44
44
43
42
41
42
43
43
45
46
45
45
46
45
44
43
43
44
44
44
44
44
43
42
40
41
44
47
50
54
62
65
69
79
84
87
90
89
90
91
95
100
95
89
83
77
80
81
84
87
93
97
101
104
108
111
103
95
91
87
81
76
75
76
78
79
78
75
75
77
82
87
89
92
94
96
98
98
99
103
110
111
113
110
104
100
100
103
106
107
106
101
100
101
103
106
111
115
120
127
133
137
144
150
153
158
161
161
160
160
160
158
157
157
159
159
161
167
174
182
187
192
195
199
201
201
202
201
200
200
200
199
199
201
202
206
205
207
206
209
210
209
204
202
202
197
191
191
194
195
198
200
197
196
192
187
182
180
182
180
180
181
181
183
184
184
183
180
174
168
162
158
153
149
147
147
147
147
147
147
146
144
141
141
141
144
149
151
154
155
153
146
137
132
130
134
142
147
149
150
149
148
145
142
137
132
127
122
118
115
110
105
102
101
98
99
103
105
109
114
118
120
122
122
125
124
123
122
122
122
122
122
122
121
121
120
117
113
114
111
109
106
101
213
232
205
215
208
198
188
179
169
158
150
139
131
123
117
108
100
89
85
78
70
67
63
55
55
52
51
49
48
46
48
48
47
47
46
45
44
43
42
43
43
42
41
42
41
42
43
42
42
42
43
43
43
43
42
43
44
44
44
43
42
43
44
43
45
46
47
48
47
45
43
42
41
41
41
42
44
43
42
40
40
41
45
47
50
58
67
72
77
82
87
89
90
92
92
94
99
106
101
97
91
85
90
92
95
95
94
94
97
102
107
112
105
99
94
91
84
80
79
80
81
82
79
73
71
74
81
88
95
96
97
98
100
98
96
100
110
115
119
115
106
101
101
105
108
107
103
97
93
93
98
102
107
112
118
126
131
137
144
151
155
160
164
164
163
162
161
159
158
159
161
163
167
173
180
184
189
193
197
200
200
201
203
204
202
201
198
197
196
198
201
207
208
208
208
209
210
208
203
200
201
197
194
196
196
197
198
199
198
194
188
184
180
178
176
177
179
181
182
184
185
185
184
182
175
168
162
157
153
150
150
150
150
151
151
151
150
148
144
142
141
143
145
147
149
151
151
147
140
134
132
137
145
150
149
146
144
142
139
135
131
125
121
117
113
110
107
104
102
101
99
102
104
106
108
113
117
118
118
120
121
120
118
118
119
119
119
119
120
120
120
121
119
117
117
114
113
109
106
214
234
209
218
212
203
194
185
175
162
157
146
140
133
125
116
107
96
89
82
73
68
65
57
57
53
49
48
46
45
47
48
49
49
47
45
44
43
41
41
42
43
42
42
43
43
43
43
42
42
42
43
43
42
43
44
44
44
44
44
44
44
44
43
45
46
47
48
47
45
43
42
41
40
39
41
42
43
41
38
39
41
45
48
51
61
71
76
80
86
85
87
92
92
96
97
102
109
105
101
96
91
97
99
104
101
96
95
96
102
108
113
107
102
97
94
88
84
82
83
84
83
79
73
67
71
80
90
99
99
100
101
100
97
94
97
111
117
121
118
109
103
103
106
109
109
104
96
90
90
95
98
103
109
116
123
129
135
141
148
154
162
167
167
166
164
163
160
159
160
165
169
173
178
184
187
191
195
197
199
201
202
205
205
203
202
200
197
196
198
200
205
208
209
206
207
208
206
202
199
201
199
196
198
197
197
197
198
196
192
185
182
178
176
175
176
177
181
184
185
186
186
186
183
176
168
160
157
154
151
151
151
152
154
154
154
153
151
146
141
140
141
143
144
146
148
149
146
139
135
134
137
144
148
147
144
141
138
135
131
127
122
118
114
112
109
106
104
103
102
101
103
105
107
110
113
115
119
118
117
116
115
116
117
118
118
118
119
120
121
121
122
121
119
119
116
114
112
106
215
236
211
220
215
206
197
190
182
168
164
155
147
141
134
123
114
103
96
89
78
73
68
62
60
56
52
48
47
47
47
48
47
46
46
45
44
43
41
41
41
43
42
42
42
42
42
42
42
42
43
44
44
44
44
44
44
44
43
44
45
44
44
43
44
46
48
49
47
45
43
42
40
39
39
41
42
43
42
40
38
41
45
48
51
62
73
78
82
86
84
86
91
93
96
99
103
109
107
104
98
95
99
102
108
105
101
99
100
104
111
115
110
104
99
95
91
88
86
85
86
85
81
75
70
73
81
91
100
101
101
102
101
98
95
99
112
119
125
121
112
105
104
108
111
111
104
94
87
89
95
99
104
110
115
122
128
134
140
149
157
164
169
170
168
167
166
162
160
163
169
176
179
184
188
194
195
196
197
199
200
202
208
205
204
203
202
200
198
199
200
206
207
207
206
203
202
203
203
199
201
199
197
197
196
195
195
193
192
188
183
181
179
177
177
178
180
181
186
187
186
185
184
183
175
165
158
155
153
152
153
153
153
155
155
154
153
152
147
142
140
141
142
143
144
146
146
144
139
137
135
136
142
144
144
141
137
134
130
127
124
121
118
116
114
112
110
108
108
108
107
109
111
113
114
118
119
121
120
119
117
116
117
118
120
120
120
121
122
124
124
123
122
120
119
113
114
114
106
215
238
212
221
216
209
202
196
192
178
175
169
160
156
150
138
128
116
108
96
85
80
74
66
64
59
56
52
49
49
47
46
46
44
45
45
44
43
42
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
43
43
44
45
44
43
43
44
45
47
48
47
45
43
42
41
40
40
42
43
44
43
42
39
41
47
49
53
63
74
79
82
83
83
86
91
94
97
100
103
109
107
105
101
100
107
109
117
114
109
108
108
113
117
120
112
106
101
97
95
94
93
91
91
89
84
77
73
76
83
92
99
101
102
103
103
101
99
103
115
120
127
124
117
112
111
113
114
113
105
94
88
91
97
103
108
112
117
123
129
134
140
149
158
167
173
173
172
171
170
168
168
172
178
184
188
191
195
198
199
199
198
198
199
203
205
205
205
205
204
203
200
201
202
205
205
203
200
197
193
197
203
200
201
197
194
195
192
191
192
189
190
186
183
182
181
182
183
185
186
188
189
190
188
186
184
180
173
163
156
153
154
154
155
154
155
155
154
153
152
149
145
144
142
143
144
144
144
143
144
142
138
136
134
135
138
137
136
133
130
127
124
121
121
120
120
118
119
121
120
120
121
122
121
123
124
123
123
125
126
126
122
120
121
122
123
122
123
123
123
124
126
125
122
121
119
117
117
112
111
111
105
214
240
216
226
219
213
206
201
197
190
185
181
175
171
165
154
144
128
119
106
92
85
78
69
67
62
59
55
51
49
46
46
44
42
42
43
44
44
43
43
44
43
43
43
43
43
43
44
44
44
44
44
44
44
44
44
44
43
42
44
45
43
42
43
43
45
47
49
47
45
43
43
41
41
42
43
43
43
43
44
42
44
49
51
54
64
75
80
83
84
82
85
92
94
98
102
103
110
107
106
104
106
115
119
124
121
119
118
116
118
120
122
114
109
103
100
99
100
99
96
94
93
88
80
77
80
86
93
99
101
103
105
106
104
103
108
119
124
129
129
122
117
116
116
117
115
105
94
89
92
98
106
111
114
118
124
130
135
141
151
160
168
175
176
175
174
173
174
175
179
187
194
197
199
201
202
202
200
198
197
200
201
204
205
204
206
207
206
204
202
203
203
200
197
195
189
183
193
204
202
202
197
193
193
189
188
187
186
186
185
183
183
184
185
187
191
191
193
193
193
190
187
185
178
169
160
153
152
152
155
157
156
155
155
152
152
151
148
145
145
143
144
144
143
142
142
142
141
137
136
134
133
134
133
129
125
121
119
116
113
114
116
116
118
122
126
128
131
134
134
137
137
136
133
132
132
131
130
126
125
124
125
127
128
128
128
128
129
128
127
125
123
120
118
115
110
111
110
105
212
239
219
229
224
220
209
211
208
201
200
192
185
177
168
155
142
126
117
101
90
85
76
70
68
65
63
61
59
57
52
49
48
45
44
44
45
44
45
45
44
45
45
45
44
45
44
43
44
44
43
43
44
44
44
44
44
44
44
43
44
43
43
44
44
45
46
46
46
45
43
42
42
41
42
43
44
45
45
44
43
45
48
51
56
62
71
76
80
81
81
81
87
95
101
101
102
105
104
105
106
108
113
117
125
124
126
126
126
128
129
128
120
111
106
105
103
104
101
97
93
90
85
82
79
82
86
91
98
99
101
102
104
105
105
110
120
122
126
127
124
121
120
122
121
116
108
98
92
95
101
108
114
118
122
127
132
138
142
151
161
171
178
180
178
177
178
179
182
184
191
198
202
205
206
206
204
199
197
197
198
200
201
204
207
209
209
209
208
207
206
207
203
199
192
188
187
193
201
202
201
198
194
190
187
186
184
186
184
184
186
186
186
187
190
192
193
191
192
192
190
186
183
177
167
160
155
154
156
159
160
160
158
158
157
154
149
148
148
147
146
147
147
146
145
143
143
142
139
138
137
134
131
130
128
126
127
127
124
124
126
128
129
131
133
134
135
136
138
137
136
135
132
131
129
129
128
126
129
130
128
128
128
129
128
128
128
128
127
125
122
120
118
115
108
111
108
99
94
217
241
222
230
225
223
213
217
215
214
211
202
193
180
171
154
140
120
110
93
85
79
71
66
66
66
66
64
61
59
55
52
50
48
45
45
46
45
46
46
45
46
46
46
45
44
44
43
44
44
43
43
44
44
44
44
43
43
44
44
43
42
42
43
44
45
46
47
46
45
44
43
42
41
42
43
44
44
44
45
43
45
48
51
55
62
71
76
82
82
81
83
89
98
102
103
100
101
104
105
107
110
116
120
126
129
130
131
130
131
131
130
124
114
110
108
107
105
102
98
93
90
85
82
80
82
88
92
97
98
100
102
104
107
109
112
119
122
127
127
123
121
120
120
120
117
109
99
93
96
104
111
117
121
124
129
134
137
142
153
164
173
180
182
181
181
182
184
186
188
195
201
204
205
206
206
204
200
196
196
197
199
200
205
208
211
211
211
211
211
210
209
205
200
195
189
188
194
204
199
199
196
191
188
188
184
183
185
183
185
186
187
187
189
191
193
194
191
190
189
187
183
180
175
165
159
155
155
159
162
163
163
161
160
159
154
149
148
149
149
148
148
149
148
145
142
140
138
137
136
135
131
129
128
127
129
131
131
132
134
136
139
139
141
142
141
140
140
138
136
134
132
129
126
126
125
125
124
125
125
125
126
126
126
126
124
126
125
124
122
119
117
115
112
105
111
104
101
89
217
244
225
232
227
226
217
224
225
220
216
208
196
183
172
153
136
115
106
90
80
75
71
70
69
71
72
70
66
65
62
56
52
48
46
46
47
46
46
46
45
46
46
46
46
45
44
44
43
44
43
43
44
44
44
43
42
42
43
43
42
43
42
43
43
44
45
46
46
45
44
43
43
43
43
44
45
46
45
45
43
46
48
51
56
61
69
75
81
78
80
82
91
95
102
103
98
99
101
107
111
114
118
121
125
130
134
136
138
138
135
134
126
117
113
110
107
105
103
97
93
89
86
84
83
85
88
93
97
98
100
103
106
110
112
115
121
123
126
126
123
121
121
121
122
120
110
100
96
99
107
115
121
124
127
131
136
140
144
154
165
174
182
184
183
184
185
187
191
194
199
205
207
206
207
207
204
199
196
195
196
197
199
205
207
211
212
212
212
212
211
210
208
203
197
191
188
194
202
198
196
193
189
187
186
187
183
182
182
183
185
186
187
188
189
193
192
189
188
186
184
179
176
172
164
159
156
156
162
165
166
166
164
163
160
156
152
150
150
150
151
151
150
149
146
143
140
139
138
138
137
132
128
127
128
131
134
136
139
143
147
149
151
152
152
150
147
144
141
138
134
130
128
126
126
125
124
125
125
124
125
127
127
126
124
123
123
122
121
119
116
114
112
109
102
107
105
99
92
216
245
227
235
230
229
223
229
229
231
224
213
200
187
172
152
134
116
106
91
82
80
77
74
76
81
82
81
78
73
68
61
53
50
47
46
48
47
47
47
45
45
45
45
45
46
45
45
44
43
44
44
44
44
44
43
42
43
42
42
43
43
42
43
43
44
45
45
46
45
44
44
43
42
43
44
45
46
46
45
44
46
49
52
56
61
70
74
80
78
77
81
86
95
98
102
97
97
100
105
112
116
119
120
122
129
135
141
143
143
141
141
132
124
118
115
110
108
104
100
91
89
86
87
87
88
92
95
97
98
100
103
107
111
114
119
124
123
125
125
124
122
123
124
124
122
114
103
99
103
112
120
125
128
130
134
138
142
146
154
164
173
181
183
184
186
189
192
194
197
201
206
208
209
209
207
205
201
196
196
197
197
199
202
205
207
210
210
210
210
209
211
210
206
198
194
192
195
202
199
199
194
191
189
188
188
186
186
186
187
190
191
190
192
193
191
190
187
186
184
181
178
175
170
164
160
157
160
165
169
170
169
168
166
162
158
155
154
153
153
152
151
152
151
147
143
141
140
138
138
135
132
131
130
133
138
142
146
149
153
157
158
160
158
157
154
150
146
140
137
131
128
126
124
123
124
124
123
123
124
125
125
124
123
121
120
120
118
116
114
111
110
108
105
100
105
103
97
89
215
246
229
239
233
231
226
231
231
230
219
209
196
183
169
150
134
117
111
99
96
97
99
98
101
103
105
103
96
87
80
70
60
50
46
46
49
47
47
47
47
47
47
47
46
45
45
44
45
44
43
44
44
44
44
43
42
43
43
43
42
42
43
44
43
44
45
46
45
45
44
43
44
44
43
44
45
46
46
45
44
47
49
51
56
61
68
72
75
76
77
82
88
96
99
98
98
96
98
104
112
116
117
117
115
125
132
139
145
144
142
143
137
129
124
120
114
109
104
98
90
87
84
87
89
90
92
94
98
99
101
104
108
113
118
121
123
122
123
123
122
122
123
124
124
122
117
108
105
108
115
122
127
130
133
137
141
144
148
155
163
172
180
183
185
187
191
193
196
198
202
206
208
208
209
208
205
200
197
197
197
198
199
201
202
204
207
206
208
207
208
211
211
209
203
198
196
199
205
202
202
198
195
193
193
193
192
191
191
192
193
195
194
193
192
192
191
187
185
183
180
177
175
170
165
162
160
163
168
172
173
172
170
168
164
160
157
155
154
153
154
154
153
151
148
144
140
137
135
133
131
131
133
136
139
143
147
150
152
154
156
156
156
154
153
149
145
141
137
133
129
126
123
121
121
121
121
120
122
122
121
121
120
118
116
114
112
108
108
106
102
101
100
100
96
102
101
95
88
215
247
232
241
236
236
229
232
228
229
221
207
194
179
164
148
135
123
116
112
110
113
117
121
124
126
127
119
109
100
88
74
61
52
47
47
49
48
47
47
46
47
47
47
47
46
45
46
45
45
44
43
44
44
44
43
42
43
43
42
41
42
43
43
43
44
45
46
45
45
44
43
44
44
43
44
45
46
45
45
44
47
49
51
55
59
66
70
73
77
77
81
88
95
98
98
97
95
97
104
112
115
113
113
109
122
132
138
147
147
147
149
142
133
129
123
116
109
103
97
88
85
84
87
90
92
93
95
98
100
104
106
110
115
120
123
122
120
120
121
121
122
123
124
125
123
118
112
108
111
118
123
129
133
136
141
145
148
150
156
163
170
177
182
185
189
193
195
197
198
201
204
205
205
206
207
206
203
198
197
197
197
198
201
201
202
203
204
203
206
208
209
212
211
208
206
201
203
208
205
206
204
202
199
200
200
198
200
201
201
200
199
198
197
194
195
192
186
184
182
179
176
175
172
169
167
164
165
171
175
174
172
170
170
166
162
159
157
156
154
154
154
155
154
150
146
141
138
135
132
133
136
143
149
149
149
152
152
152
153
152
151
152
151
147
145
143
138
134
133
128
126
124
123
123
123
122
122
120
119
117
116
114
111
109
108
105
102
99
99
96
95
95
95
90
100
98
91
85
216
249
232
243
238
239
232
234
228
224
216
201
186
170
158
141
128
122
121
120
126
134
142
147
151
152
151
140
125
113
101
84
66
53
48
47
50
49
47
48
47
46
46
46
47
47
46
45
45
44
44
43
43
43
44
43
42
43
43
42
41
42
43
44
44
44
45
46
45
44
43
44
44
44
43
44
45
46
45
43
44
46
48
49
53
57
63
66
71
74
77
81
87
92
96
96
93
92
96
104
113
115
110
106
105
117
128
135
146
149
150
156
147
140
135
130
120
111
104
98
89
84
84
88
92
94
95
97
99
101
104
107
112
118
123
126
124
120
119
121
122
123
125
126
126
124
121
117
114
117
122
127
132
137
141
146
150
150
151
157
162
168
174
180
186
190
194
195
196
197
199
203
204
205
207
209
207
204
199
199
198
196
196
198
197
196
197
199
198
200
203
207
211
212
211
210
209
210
211
209
209
208
207
206
206
206
205
209
210
210
208
206
205
202
199
193
189
183
181
179
176
175
175
173
171
170
167
170
174
177
175
173
172
171
170
165
161
159
158
156
155
155
156
155
152
148
144
141
136
132
133
140
149
156
158
158
159
158
157
157
155
153
151
147
144
141
138
134
130
129
126
124
122
122
122
121
121
120
116
114
112
110
108
105
103
102
99
96
93
92
91
90
91
92
86
96
96
90
82
212
250
235
243
240
240
234
235
230
222
217
207
195
186
181
169
158
156
155
152
155
158
157
160
162
154
153
139
120
108
95
78
62
54
48
48
51
49
48
48
47
46
47
47
46
47
46
45
46
45
45
44
44
44
44
43
42
43
43
42
41
42
43
44
45
44
45
46
45
44
43
44
44
44
43
44
44
44
45
44
43
45
47
48
51
55
61
64
68
72
76
79
85
90
93
94
91
91
95
104
114
115
108
102
95
110
120
129
140
146
150
156
153
145
140
133
123
114
106
99
90
86
85
90
95
96
98
99
99
101
106
110
114
121
127
129
125
121
121
122
123
125
128
129
127
126
124
123
120
123
126
129
135
140
144
148
151
151
152
157
161
165
172
179
185
190
194
193
195
197
199
202
204
206
209
210
209
204
200
198
197
195
195
194
192
192
192
192
192
195
197
207
209
211
211
211
211
212
215
209
209
210
209
209
209
209
208
206
208
208
206
204
202
197
194
188
185
179
177
177
175
175
176
175
172
171
169
171
176
179
176
174
173
171
171
167
162
160
159
156
156
156
157
156
153
149
145
139
133
128
130
137
147
154
156
155
155
154
152
151
150
147
145
142
139
136
133
128
124
123
121
119
117
117
117
116
116
115
112
109
107
106
103
100
97
95
95
91
90
90
89
89
91
92
84
93
92
87
80
212
247
232
245
242
238
236
237
225
218
214
209
202
195
186
182
178
173
171
170
171
169
168
164
160
159
148
133
115
103
92
78
65
54
50
48
47
48
47
48
48
47
47
47
46
46
45
45
45
45
44
43
43
44
43
42
43
42
41
42
41
42
43
44
45
45
45
45
44
43
44
44
44
44
45
45
45
44
42
42
44
44
46
47
50
50
57
60
63
71
76
78
86
89
90
90
89
92
96
105
116
117
105
97
88
104
116
126
137
144
150
157
151
145
142
136
126
117
109
103
91
86
86
93
96
98
99
100
101
104
107
111
116
121
127
129
125
123
121
122
125
127
128
128
125
125
124
122
123
124
126
131
135
139
147
152
152
155
154
157
161
162
166
173
179
189
191
190
190
191
196
200
202
205
208
207
206
203
200
198
195
191
190
195
193
190
190
190
189
190
198
200
205
210
211
208
209
206
208
210
211
209
210
209
209
207
208
206
205
206
201
198
195
192
188
185
181
176
174
170
169
170
169
171
171
172
173
174
174
174
175
176
176
174
171
168
166
163
160
158
155
157
159
157
155
152
149
142
136
132
131
137
147
153
156
156
155
155
154
153
153
149
143
138
132
128
125
121
117
116
112
109
108
108
109
109
108
107
107
106
103
102
101
100
98
98
95
92
90
90
88
88
88
89
87
101
96
91
83
221
254
241
252
251
249
244
241
230
222
222
220
217
219
216
216
214
210
209
208
203
197
190
179
165
149
139
120
103
92
82
71
62
57
54
51
51
51
49
48
49
50
50
50
50
49
49
48
47
45
44
43
44
44
43
42
43
42
42
41
41
42
43
44
45
44
43
43
43
44
44
44
43
42
43
43
43
43
43
42
40
42
44
46
48
52
55
58
63
70
77
77
81
83
85
85
90
93
93
99
111
112
102
94
79
94
105
116
129
142
150
159
158
152
148
141
130
120
113
107
97
91
91
97
99
101
101
99
100
102
107
112
118
126
133
133
126
123
121
123
126
128
129
129
130
129
129
130
131
132
135
137
139
145
155
159
161
160
160
157
157
158
164
173
182
191
193
190
187
189
195
201
204
206
210
211
209
205
201
197
194
193
191
188
184
182
182
181
180
182
189
194
199
206
209
213
214
213
217
213
212
211
207
207
209
207
206
207
205
204
201
196
193
189
184
180
175
170
168
165
165
167
168
171
173
175
177
178
176
176
175
174
174
173
171
168
164
161
158
155
153
154
156
155
153
150
145
138
129
122
121
126
137
143
146
148
148
147
146
146
144
138
140
137
132
128
122
116
113
108
109
109
108
108
107
107
107
106
107
106
104
104
105
105
102
101
101
98
95
95
94
93
93
93
89
89
85
90
76
207
255
240
251
249
248
242
239
233
221
222
222
222
225
227
226
228
230
230
227
218
209
199
182
166
152
136
115
97
86
77
65
60
59
53
52
52
50
48
47
47
47
47
47
46
46
46
45
46
46
45
44
43
44
43
42
43
42
41
42
41
42
43
44
45
45
44
43
44
44
44
44
43
43
44
44
44
43
42
42
40
40
43
46
47
50
52
54
58
66
74
74
79
79
83
85
86
93
97
102
114
114
99
87
76
88
98
109
126
138
148
157
155
150
147
141
132
124
118
111
98
93
93
97
100
100
99
99
101
104
108
111
117
123
130
132
129
125
124
126
129
132
133
131
130
131
132
134
137
136
136
137
140
147
156
163
165
163
160
159
160
159
163
173
181
189
189
187
185
186
192
201
205
207
208
210
209
204
199
196
194
191
191
185
184
181
180
177
176
179
186
200
205
210
213
215
216
213
216
213
212
210
211
211
210
209
207
202
200
198
196
193
189
184
179
177
173
170
169
165
167
168
167
169
174
179
182
180
176
174
173
171
172
172
171
169
166
163
160
158
154
155
158
158
155
152
148
141
131
123
121
126
136
143
144
145
146
147
146
145
143
137
132
127
123
119
114
108
104
102
94
92
93
94
95
97
97
97
98
98
97
98
99
100
99
98
95
93
92
92
92
91
91
91
90
96
94
85
75
211
251
234
246
245
246
239
237
236
226
225
224
225
222
224
224
223
218
218
213
205
197
189
175
157
143
127
108
95
85
75
69
65
62
57
54
53
51
50
50
50
48
49
48
48
47
46
47
46
45
45
44
43
44
43
42
43
43
42
41
41
42
43
44
44
43
44
44
44
44
44
44
44
44
44
44
43
42
41
41
40
41
43
45
46
48
48
50
52
61
69
71
73
73
76
80
83
90
95
100
111
111
95
81
69
83
93
103
118
131
140
150
158
153
151
145
135
126
119
111
101
96
95
98
99
99
98
97
94
98
103
108
113
120
128
131
125
121
120
122
126
128
128
126
126
128
130
135
139
140
140
141
143
149
158
162
161
161
159
157
155
153
157
168
177
187
188
186
185
186
193
200
203
202
201
200
197
193
189
187
186
185
184
181
181
179
177
175
175
178
185
195
202
208
211
216
214
215
213
211
207
204
201
199
197
194
190
192
189
189
186
184
184
180
175
172
168
162
161
159
161
161
163
168
172
175
177
176
173
171
171
175
176
177
177
176
172
169
166
162
158
159
161
161
158
155
154
149
136
127
124
127
133
136
141
145
146
147
146
146
146
143
135
128
120
113
107
100
96
94
91
90
92
94
96
98
100
101
101
101
101
102
104
105
106
106
107
104
103
103
98
96
94
90
91
104
102
90
88
215
254
241
248
248
250
245
246
245
240
238
237
232
233
230
231
230
220
217
214
204
192
184
167
151
144
126
107
94
85
77
72
69
62
59
54
51
49
48
48
48
49
48
47
48
47
46
47
46
45
44
43
43
43
42
42
42
41
41
41
41
42
42
43
43
42
42
42
42
43
44
43
44
44
44
43
42
41
40
38
38
40
41
43
45
46
46
48
53
61
68
69
69
68
71
74
82
90
93
97
105
107
95
82
65
79
86
96
110
124
139
152
153
149
148
145
138
132
125
117
109
103
99
99
99
98
98
96
94
98
103
105
110
117
125
128
125
123
122
124
129
132
132
129
127
128
130
134
137
139
140
142
145
152
162
166
165
163
160
160
159
155
156
165
174
183
185
179
177
180
186
192
195
194
191
192
189
184
180
177
178
179
179
181
183
182
180
179
177
182
188
192
198
208
209
216
213
213
209
207
204
200
196
193
190
186
183
181
178
178
177
177
174
172
168
167
163
160
158
153
154
158
159
159
167
175
179
176
172
166
166
170
171
172
172
173
171
167
163
159
155
155
157
156
153
150
147
140
128
121
117
117
122
124
128
131
133
134
135
137
136
132
133
130
123
118
109
103
100
99
95
95
97
97
96
101
104
106
111
110
111
110
112
119
120
121
123
120
119
116
111
110
109
106
96
92
96
96
99
211
255
247
255
254
255
251
251
250
245
245
243
240
238
237
233
233
225
224
217
209
199
188
172
154
138
119
101
89
80
74
72
70
66
62
57
52
49
47
47
48
49
49
48
48
47
47
47
47
47
45
45
45
45
45
44
43
43
43
43
43
43
43
44
44
44
44
44
44
44
44
44
46
45
44
43
42
41
40
40
36
39
41
44
46
46
48
46
48
55
62
64
67
67
71
77
78
87
93
98
105
103
89
79
69
79
85
91
105
121
137
151
148
146
147
143
137
132
126
119
109
103
100
98
95
94
93
92
92
96
101
106
111
118
126
127
122
120
120
124
129
133
134
131
127
129
130
135
140
140
142
143
145
152
162
167
166
163
160
158
156
153
155
163
172
181
183
179
177
180
186
193
199
199
195
194
189
182
176
173
174
178
180
182
184
182
183
182
181
184
190
197
205
209
215
217
217
212
209
206
203
199
194
190
184
180
177
177
176
175
172
173
174
172
167
162
159
157
155
153
154
156
158
162
170
177
183
182
177
172
167
163
164
163
164
164
163
161
158
152
148
149
150
148
146
144
143
136
123
114
110
108
111
115
118
121
126
131
133
134
132
127
122
116
109
102
95
88
85
84
78
79
83
86
90
94
99
102
101
101
100
104
107
111
116
117
116
116
114
112
108
106
103
100
93
91
103
90
83
208
242
233
245
238
240
236
238
238
237
233
232
229
225
224
223
219
215
211
203
194
182
168
155
139
115
102
85
70
58
51
46
42
37
35
32
28
27
26
23
23
23
23
23
23
22
22
22
20
18
18
17
18
18
18
18
17
16
17
17
17
16
17
18
17
16
16
16
17
18
18
18
17
17
18
17
16
16
15
14
14
14
15
16
17
20
19
19
30
36
40
42
46
46
49
53
67
74
80
85
92
86
75
67
45
57
64
73
92
110
124
137
146
142
141
135
127
123
118
108
92
89
87
85
84
83
82
80
75
80
85
91
97
104
111
112
109
111
111
113
114
115
117
116
115
117
121
127
132
137
141
144
146
151
159
161
161
160
158
152
150
150
154
162
170
180
182
179
178
179
184
188
193
193
190
185
180
175
170
168
170
172
175
175
176
178
176
176
176
178
180
194
200
204
207
214
214
215
212
207
203
199
193
186
180
176
173
170
170
170
170
166
168
166
163
157
155
154
153
151
152
154
156
162
166
171
176
176
172
168
165
164
165
166
164
165
164
163
159
151
149
150
150
148
147
146
142
132
122
115
109
104
104
105
113
120
123
126
128
128
127
124
115
107
101
95
85
77
73
69
67
68
70
74
79
83
87
89
93
93
94
96
99
101
104
104
112
111
108
104
98
94
91
86
88
93
98
78
85
204
255
251
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
253
255
254
252
255
255
255
254
254
255
254
255
255
255
255
255
255
254
254
254
255
255
255
255
255
254
254
254
255
254
254
254
254
254
254
255
255
254
254
254
255
255
255
255
254
254
255
255
255
255
255
255
255
254
254
254
254
254
255
255
255
254
254
254
252
253
251
250
252
254
251
251
248
247
249
250
251
251
250
253
254
250
250
252
255
251
250
253
252
250
251
251
250
252
252
251
253
253
250
254
251
251
251
251
251
251
250
252
252
252
250
250
250
251
253
252
252
252
251
252
252
251
252
251
251
250
250
250
249
249
247
245
247
249
249
249
250
250
251
252
249
248
248
248
251
249
249
249
248
249
251
255
254
252
253
253
251
252
252
252
252
250
249
250
250
250
250
250
249
252
253
255
255
254
255
253
248
247
250
250
251
250
250
251
250
250
251
249
251
249
249
250
250
248
251
249
249
249
247
247
250
250
247
248
250
250
249
248
247
247
250
251
251
252
253
252
249
250
252
249
251
252
250
249
249
250
250
248
250
251
251
251
252
249
248
249
249
249
250
251
249
253
253
253
252
251
251
251
251
252
252
252
251
252
252
252
252
251
250
251
252
253
254
254
254
251
252
252
253
252
253
254
251
249
252
251
242
237
255
