Cloned library HDF5-1.14.1 with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

101475 lines
336 KiB

components
3
height
149
width
227
48
48
49
50
53
53
54
54
56
56
58
58
58
58
58
58
58
57
57
56
56
57
57
58
56
56
56
56
56
56
56
56
54
54
54
53
53
52
52
52
52
52
52
52
52
52
52
50
47
47
47
48
49
50
51
51
54
54
55
56
56
57
58
58
65
66
68
70
73
74
75
75
77
77
79
78
79
79
80
82
82
89
98
110
125
139
153
163
175
184
190
197
199
202
203
208
231
237
235
235
238
239
241
244
248
247
244
240
233
226
215
203
187
181
181
180
180
179
178
175
173
170
166
162
159
155
152
150
148
146
146
145
145
144
146
146
148
148
148
148
148
149
150
150
150
149
151
159
169
179
188
191
185
181
172
158
135
111
84
67
61
57
57
55
55
54
53
53
55
55
55
54
54
53
53
52
47
46
47
47
48
48
50
50
53
52
52
51
55
61
69
80
106
124
141
149
159
170
170
159
148
135
128
126
115
96
84
80
83
79
77
84
102
124
141
153
163
162
158
143
123
102
88
81
85
85
85
48
48
49
49
52
53
54
54
56
56
58
58
58
58
58
58
57
57
56
56
56
56
57
57
56
56
56
56
56
56
56
56
54
54
53
53
53
52
52
52
53
53
53
53
53
53
53
51
48
48
48
49
50
51
52
52
54
54
55
55
56
57
58
58
64
65
67
69
72
73
74
74
76
76
77
77
77
78
79
81
80
85
94
106
120
132
146
156
167
175
181
188
192
196
197
205
225
231
232
234
237
239
243
246
248
247
244
240
233
224
213
202
185
181
180
180
180
178
176
175
173
169
166
161
159
155
152
150
148
146
145
145
145
144
146
146
148
147
148
148
148
149
150
150
148
149
152
160
171
181
189
191
187
183
172
156
133
108
83
66
62
58
57
56
56
55
54
54
55
55
55
54
54
53
53
52
47
46
47
47
48
48
50
50
51
53
52
51
53
60
67
78
100
118
134
143
154
164
165
157
145
134
127
123
111
91
81
79
79
79
80
82
91
110
131
148
153
154
153
143
126
106
93
86
88
86
88
47
47
48
49
52
52
53
53
55
55
55
55
57
57
57
57
57
56
55
55
55
55
56
57
56
56
56
56
56
56
56
56
54
53
53
53
52
52
52
52
53
53
53
53
53
53
53
51
50
49
50
51
51
52
52
53
54
54
54
55
56
57
57
58
63
64
66
68
71
72
72
72
73
73
75
75
75
76
77
78
77
81
89
100
113
124
135
146
152
160
167
175
181
186
191
197
217
225
227
231
234
240
244
248
250
249
245
240
232
220
209
198
183
179
179
178
178
176
175
173
170
167
165
161
157
154
152
149
148
145
145
145
144
144
144
144
145
145
146
146
147
147
148
149
149
150
154
163
175
185
191
193
192
184
174
153
129
104
81
66
63
61
60
58
57
56
55
55
54
54
54
53
53
52
52
50
46
44
46
46
47
47
48
50
53
52
53
52
52
57
62
73
91
108
124
134
144
152
155
148
140
131
125
117
102
84
77
76
77
79
81
77
78
91
113
133
135
138
141
134
120
102
90
86
90
90
91
46
47
47
48
51
52
52
52
54
54
54
54
56
56
56
56
55
55
54
54
54
54
55
55
56
56
56
56
56
56
56
56
53
53
53
52
52
52
51
51
54
54
54
54
54
54
54
52
51
51
51
52
52
53
53
53
53
53
54
55
56
56
57
57
62
63
64
66
69
69
70
70
71
71
72
73
73
74
76
74
75
78
85
94
105
115
126
134
140
148
157
163
172
179
184
193
210
218
222
226
231
236
243
247
250
249
245
238
229
218
205
194
181
176
176
176
175
174
174
172
169
166
163
160
156
152
150
148
145
145
145
144
144
144
143
143
144
144
143
143
146
145
148
146
149
150
156
166
178
188
193
194
194
186
172
151
124
98
76
65
64
62
61
60
58
57
56
56
54
54
54
51
53
50
50
49
45
45
47
47
48
48
49
49
53
54
53
53
52
54
58
68
84
99
113
123
130
137
141
139
131
125
120
111
96
81
76
76
76
80
81
76
71
77
94
106
117
120
122
119
107
96
87
84
93
93
93
45
45
46
47
48
49
51
52
51
51
52
52
52
52
54
54
52
52
51
51
51
51
52
52
53
53
53
53
53
53
53
53
51
51
50
50
50
49
49
49
52
52
52
52
52
52
52
52
52
52
52
52
52
53
53
53
53
53
54
54
55
56
57
57
60
61
63
64
66
67
67
67
68
68
70
71
72
73
74
73
74
77
82
89
98
106
117
125
130
139
147
154
163
172
178
187
204
212
216
221
226
233
240
244
249
248
244
237
225
211
197
185
178
174
174
174
173
172
172
170
168
164
160
158
154
151
149
147
145
144
143
143
143
142
142
142
142
142
142
142
143
143
145
144
148
151
157
168
182
191
197
196
190
183
166
144
116
90
69
60
64
64
63
62
61
60
57
56
54
52
52
50
51
49
49
48
45
44
45
45
47
47
48
49
51
53
53
52
50
52
55
61
78
89
101
110
115
121
128
131
127
122
117
107
95
84
79
76
78
78
77
74
71
71
75
77
93
96
98
96
90
87
85
88
94
96
96
44
44
46
46
47
48
51
51
50
50
51
51
51
51
53
53
51
51
50
49
49
50
51
51
51
51
51
51
51
51
51
51
50
50
50
50
49
49
49
48
51
51
51
51
51
51
51
51
52
52
52
52
52
52
52
52
52
53
53
54
55
56
56
56
59
60
61
62
64
65
65
65
67
67
69
70
71
72
74
72
74
73
78
86
92
100
110
118
123
130
140
148
156
163
170
180
196
204
209
214
222
228
236
241
247
244
240
233
220
205
190
177
174
171
170
170
170
169
169
168
165
162
160
155
151
149
147
145
143
143
143
143
142
142
142
141
142
139
141
139
139
140
141
142
148
151
160
172
185
194
197
194
186
177
163
141
111
83
65
57
64
65
63
62
60
57
56
55
52
52
51
50
50
48
48
46
45
45
46
46
48
48
49
49
50
51
51
52
50
49
52
56
71
79
88
96
101
109
121
130
128
124
119
110
100
91
82
76
79
76
73
72
72
69
64
59
66
68
74
74
73
75
79
86
94
96
96
43
43
44
45
47
47
48
48
49
49
49
49
50
50
50
50
50
50
49
49
49
49
50
50
49
49
49
49
49
49
49
49
50
50
50
49
49
49
48
48
51
51
51
51
51
51
51
51
52
52
52
51
51
51
51
51
52
52
53
54
55
55
56
56
58
59
60
61
63
63
63
63
66
66
69
69
71
72
74
72
72
71
75
81
88
95
102
110
118
124
133
140
147
155
162
172
187
194
201
208
217
226
234
240
242
241
236
228
214
198
181
170
170
169
169
168
168
168
167
165
163
160
158
154
150
147
145
143
143
141
141
140
140
140
139
139
139
138
138
137
138
139
139
140
146
152
161
174
188
194
196
192
185
178
165
143
115
87
67
60
62
64
62
61
58
57
56
54
52
52
51
49
49
46
46
46
45
45
45
45
46
46
48
48
48
49
50
50
48
47
50
52
63
68
75
84
90
100
117
131
137
133
126
116
109
99
86
76
75
73
71
69
70
68
63
59
58
62
68
71
71
74
78
85
94
97
97
43
43
44
44
46
47
48
48
49
49
49
49
50
50
50
50
50
49
49
48
48
49
49
50
48
48
48
48
48
48
48
48
50
50
50
49
49
48
48
48
50
50
50
50
50
50
50
50
51
51
51
51
51
51
51
51
52
52
53
54
54
55
56
56
57
58
59
60
62
62
62
62
66
66
69
69
71
73
74
73
70
70
74
79
84
92
98
106
113
119
125
133
140
149
155
164
178
186
193
202
212
222
231
238
237
235
231
223
209
191
175
164
166
166
165
165
165
164
164
164
162
159
156
152
149
145
143
143
141
141
141
140
140
139
139
138
138
136
136
136
136
135
136
139
145
150
162
173
186
193
193
187
185
178
165
145
117
91
71
67
60
63
62
59
57
55
54
52
52
51
50
49
47
46
46
46
45
45
45
45
46
46
48
48
47
48
50
50
49
48
48
51
56
59
67
75
83
94
116
135
144
140
132
122
114
105
87
73
69
71
68
67
67
64
64
62
71
75
81
85
83
82
84
89
94
97
97
44
44
44
44
45
45
46
46
47
47
49
48
48
48
47
47
47
47
47
47
47
47
47
48
47
47
47
47
47
47
47
47
47
47
47
48
48
49
49
50
49
49
49
49
49
49
49
49
48
49
50
51
51
51
51
51
51
51
51
51
52
53
54
55
56
57
58
59
61
62
62
62
63
63
66
67
68
70
71
70
71
72
74
80
84
88
94
98
109
116
124
131
141
147
152
158
167
173
181
190
202
212
222
229
232
234
230
218
200
183
170
162
162
161
162
162
161
161
162
160
156
154
152
149
147
144
142
140
139
139
138
137
137
137
136
135
137
134
134
135
136
136
137
139
145
151
163
177
186
187
187
184
180
175
163
145
126
106
86
73
76
74
66
60
57
55
54
51
52
51
49
49
48
47
44
44
45
45
45
45
47
47
47
47
48
48
49
49
49
49
49
52
52
59
65
67
74
93
121
139
147
148
144
131
116
106
95
90
76
72
65
62
63
65
76
85
98
110
118
114
108
103
95
87
91
96
99
44
44
44
44
45
45
46
46
47
46
48
48
47
47
47
47
46
46
46
46
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
48
48
48
49
49
49
49
49
49
49
49
49
49
48
48
49
50
51
51
50
50
50
50
50
50
51
52
53
54
56
57
58
59
61
62
62
61
63
63
65
66
67
69
71
72
72
72
76
79
81
86
90
95
104
112
119
129
137
144
150
155
162
167
172
180
190
201
212
219
223
224
222
212
196
178
165
158
159
158
159
158
158
158
158
158
154
153
150
148
144
143
140
140
139
138
137
137
137
135
135
133
134
133
133
131
132
134
135
136
147
151
163
175
184
184
183
179
177
170
159
144
127
109
90
78
76
75
69
64
61
56
52
49
50
50
48
47
47
46
46
46
47
45
47
47
47
47
47
47
48
48
49
49
49
49
49
50
53
57
60
63
72
94
120
138
147
148
144
132
121
113
107
104
92
88
83
82
84
90
102
114
116
126
131
126
118
114
102
90
89
94
97
44
44
44
44
44
44
45
45
46
46
46
45
47
46
46
46
44
44
44
44
43
43
43
43
45
45
45
45
45
45
45
45
44
44
45
45
45
46
46
46
46
46
46
47
47
47
47
47
48
48
49
50
50
50
50
49
49
49
49
49
50
51
52
53
56
57
58
59
61
61
61
61
63
63
65
65
67
68
70
71
72
74
75
78
80
83
86
91
99
107
116
125
135
141
148
150
157
160
162
168
177
186
197
205
213
215
212
204
190
174
161
156
157
156
156
155
155
155
155
155
152
150
148
147
143
140
139
138
137
137
137
135
135
133
132
131
132
130
130
130
131
133
135
136
148
151
160
172
178
179
178
174
173
166
157
145
130
115
99
88
78
77
72
68
64
57
52
47
48
48
47
47
46
46
47
47
47
46
47
47
47
47
47
47
48
48
48
48
48
48
48
49
54
55
56
59
72
95
122
139
144
146
143
132
125
123
124
125
125
119
113
110
110
111
121
131
139
145
144
136
131
124
106
92
86
91
93
45
45
45
45
45
45
46
46
46
46
45
45
46
46
46
46
44
43
43
43
43
42
42
42
44
44
44
44
44
44
44
44
44
44
44
44
44
45
45
45
45
46
46
46
46
47
47
47
47
48
49
49
49
49
48
48
48
48
48
48
49
50
51
52
57
58
59
60
61
61
61
61
62
62
64
64
65
67
68
69
70
72
73
74
76
78
81
84
94
101
111
120
130
138
144
148
153
155
155
159
165
174
184
191
199
203
202
195
182
170
158
153
153
153
152
151
151
153
153
151
149
148
147
144
142
138
138
137
136
136
135
135
132
132
131
128
129
128
128
129
131
131
135
136
148
150
158
167
174
174
173
170
167
161
154
143
134
122
109
98
83
81
75
69
64
59
53
49
48
47
46
46
46
46
47
48
47
47
47
47
47
46
47
46
48
47
48
47
47
47
47
50
55
54
51
57
72
98
123
139
141
143
140
131
129
133
141
146
147
144
140
135
130
125
129
136
148
152
148
139
133
127
107
88
83
89
90
43
43
43
43
45
45
46
46
45
45
46
45
45
44
44
44
44
44
44
43
43
42
42
42
44
44
44
44
44
44
44
44
44
44
44
44
44
43
43
43
44
45
45
46
46
47
47
47
47
48
48
48
48
48
47
46
47
47
47
47
48
49
51
52
57
58
59
60
61
61
60
60
61
61
63
63
64
65
66
67
68
67
68
69
71
72
75
78
88
95
105
114
125
134
140
144
151
151
151
151
156
163
171
179
186
189
190
185
176
166
155
151
151
151
150
149
148
149
150
150
149
147
146
142
139
137
137
136
135
134
134
134
131
131
130
128
128
128
128
127
130
131
135
136
145
146
154
163
168
168
169
166
162
155
149
140
134
126
116
106
92
86
78
69
63
60
55
54
48
48
46
47
47
47
49
50
49
49
49
49
49
47
49
47
50
48
50
48
48
48
48
50
56
53
49
54
71
96
122
136
141
143
141
134
135
144
155
160
152
154
155
152
145
137
137
144
146
149
144
136
132
123
103
84
81
85
86
44
44
44
44
46
46
47
47
46
46
47
46
46
46
45
45
45
45
45
44
43
42
42
42
43
43
43
43
43
43
43
43
44
44
43
43
43
42
42
42
44
44
44
45
46
46
47
47
47
47
48
48
47
47
46
45
48
48
47
48
49
50
51
52
58
58
59
60
61
60
60
59
61
60
62
62
63
64
65
63
64
64
64
65
66
67
70
72
81
88
97
108
117
128
134
139
147
149
147
147
149
154
160
165
172
176
180
177
170
161
154
150
149
148
147
147
147
147
148
148
147
146
143
141
138
137
135
135
134
134
133
131
131
129
127
127
128
127
127
128
130
133
136
138
142
144
151
159
167
167
169
164
156
150
143
136
131
126
121
112
100
93
82
74
66
62
58
57
51
50
49
47
47
48
49
50
49
49
49
49
49
48
48
48
49
49
49
49
47
47
47
50
56
53
51
53
69
92
117
134
142
145
144
139
141
151
162
169
165
166
167
164
151
139
136
141
142
144
141
132
128
119
100
81
77
81
82
44
44
44
44
46
46
46
46
47
47
47
47
47
47
46
46
47
46
46
45
44
43
43
42
43
43
43
43
43
43
43
43
43
43
43
42
42
42
41
41
43
43
44
45
46
46
47
47
47
47
47
47
47
46
45
44
48
48
48
48
49
50
52
52
58
59
59
60
61
60
60
59
60
60
62
61
62
62
63
62
61
59
59
60
61
62
64
67
71
79
89
100
110
120
127
133
143
145
144
143
144
147
151
153
160
166
170
170
165
159
151
149
146
146
145
144
145
145
146
146
145
145
142
141
138
136
134
132
133
133
131
130
130
129
126
126
128
128
128
129
132
133
136
140
140
142
152
161
168
169
169
164
153
146
137
130
128
127
126
120
106
100
90
81
73
67
62
60
54
52
51
48
49
49
50
52
50
50
50
50
50
48
48
48
49
49
48
48
48
48
48
49
54
53
52
52
65
87
113
130
141
144
144
139
141
149
160
164
169
168
167
161
147
133
130
135
136
140
139
129
123
113
95
77
73
74
76
46
44
46
46
46
46
46
47
48
48
48
48
48
48
47
49
50
49
49
48
47
44
43
43
43
43
43
43
43
43
43
43
43
43
45
42
44
41
41
40
42
43
44
44
45
46
47
47
45
45
47
47
46
45
44
44
49
50
50
50
51
52
53
54
59
59
60
60
61
60
59
59
60
60
61
61
61
62
63
61
62
61
60
57
57
58
59
63
67
74
84
94
104
111
118
123
135
139
139
140
142
143
146
149
152
156
162
161
158
153
150
148
148
147
144
142
142
140
140
141
142
142
139
138
136
135
132
132
130
128
127
126
126
124
124
124
128
129
128
130
133
133
136
139
140
142
147
152
157
157
158
157
147
143
137
129
127
125
122
116
103
98
92
85
78
71
64
61
56
56
53
51
50
50
51
52
50
48
48
50
50
50
50
50
51
51
49
49
48
48
48
49
52
52
52
52
63
84
109
129
137
141
141
136
138
145
155
159
159
158
157
152
140
130
133
140
132
137
137
126
118
108
90
74
70
70
70
47
46
47
48
48
48
49
50
51
52
52
54
53
52
51
52
53
53
52
51
50
49
48
48
46
46
45
45
44
43
42
41
46
46
47
46
47
46
46
46
47
47
45
46
45
45
46
46
45
45
46
47
47
48
50
50
50
52
53
54
56
58
58
59
61
61
62
62
62
61
60
59
61
60
60
59
61
62
62
64
66
66
60
57
53
52
54
59
64
71
79
86
91
97
102
109
121
127
134
139
143
147
147
146
147
147
148
149
148
146
145
145
151
151
146
140
136
132
130
130
136
136
138
137
136
135
132
131
123
126
118
112
118
118
118
125
125
131
136
139
138
135
133
135
144
149
147
142
138
134
135
136
139
138
139
138
132
124
114
110
104
97
91
89
90
86
79
73
66
64
58
53
51
51
51
49
47
45
45
45
47
49
51
51
52
52
51
50
48
47
47
47
47
49
48
47
60
86
112
127
141
139
140
140
138
137
142
153
159
157
150
143
136
133
131
133
131
131
128
121
114
104
89
77
74
68
62
47
48
48
48
49
49
50
51
52
52
55
55
54
53
53
53
55
55
54
54
51
50
48
48
48
47
47
45
45
43
41
41
46
47
47
47
47
47
46
46
47
47
46
46
46
46
46
46
46
46
46
46
47
47
49
51
53
53
55
56
58
59
60
61
62
62
62
62
62
61
60
60
61
60
59
59
61
61
62
64
68
70
67
64
61
60
59
62
65
70
75
80
86
92
97
103
112
120
128
136
143
145
147
147
141
139
139
140
141
141
142
145
149
149
144
139
134
131
129
129
133
134
135
136
133
132
130
127
119
119
112
109
114
114
113
117
127
132
138
140
138
135
133
136
144
149
145
138
131
127
128
131
134
139
143
143
136
127
117
109
100
94
89
89
90
88
82
77
69
65
59
53
51
50
49
46
49
48
48
48
49
51
52
52
52
51
50
48
47
45
44
44
50
50
48
45
56
83
111
128
135
134
134
136
134
132
138
147
153
150
147
140
134
130
130
131
131
130
127
120
113
104
89
77
70
64
59
49
49
49
49
50
50
52
52
53
53
56
56
56
55
55
54
56
56
55
54
52
51
50
49
49
47
48
47
45
44
43
43
47
49
47
47
47
47
46
46
48
48
47
47
47
48
48
48
47
47
48
48
48
47
49
50
54
55
57
58
60
61
62
63
63
63
64
64
63
62
61
61
61
60
59
59
59
59
60
63
68
71
74
76
79
78
74
71
68
65
66
70
79
89
99
105
107
111
119
129
135
140
141
141
138
135
134
133
134
137
140
143
142
143
140
138
135
133
134
134
137
137
136
134
132
128
126
122
124
120
117
116
118
118
117
118
127
132
138
140
138
137
136
140
147
153
151
146
138
131
129
130
134
138
143
145
144
138
130
122
107
97
92
92
93
91
85
80
70
66
58
51
46
42
40
43
50
53
53
53
52
53
51
51
48
47
44
43
41
40
38
40
49
51
46
42
53
80
109
124
128
126
127
131
128
126
128
135
141
139
136
132
129
127
127
127
127
128
125
119
112
104
89
77
69
62
57
50
50
51
51
51
52
53
53
54
55
57
58
58
57
57
57
58
57
57
56
53
52
52
52
51
51
49
49
48
46
45
45
48
50
48
48
48
48
47
47
49
49
48
48
49
49
49
49
49
49
49
49
49
50
51
51
57
57
59
60
62
64
64
65
66
65
66
65
65
64
62
62
61
61
60
59
59
60
61
63
66
70
77
84
88
87
81
75
68
62
60
64
72
84
96
101
105
107
117
125
133
137
138
136
137
134
134
133
133
134
135
137
137
137
136
136
135
136
136
137
138
138
136
133
130
125
122
120
127
122
120
120
117
118
123
123
128
132
135
137
136
138
138
140
144
147
148
143
137
132
131
131
135
136
139
143
143
139
136
127
114
108
104
102
103
100
96
92
81
76
66
57
50
46
44
45
53
56
56
55
52
51
50
48
44
43
42
40
39
39
37
40
46
49
48
46
56
80
105
118
123
121
124
127
125
121
122
127
130
128
125
125
125
126
126
125
124
125
122
117
110
101
87
78
69
63
57
52
52
52
53
53
53
55
55
56
56
59
60
60
60
60
60
60
60
59
59
56
55
54
54
53
54
54
51
50
49
48
49
50
52
52
52
50
50
50
50
51
51
51
51
50
50
51
51
51
51
51
51
53
53
54
54
59
60
61
63
65
66
69
67
68
68
69
68
67
66
64
64
62
62
61
61
61
61
62
62
66
70
78
85
90
89
83
76
68
60
57
60
68
78
90
94
102
106
115
122
130
134
135
134
130
129
129
129
131
131
133
132
132
132
133
134
136
137
139
140
138
137
135
131
127
122
119
120
127
122
129
131
117
113
124
125
127
129
131
132
133
135
138
137
130
129
134
135
136
137
141
141
138
136
136
137
135
132
129
127
125
125
123
120
120
117
112
108
99
92
83
73
66
61
57
55
57
57
54
52
49
46
44
44
41
41
41
41
42
42
43
45
44
50
53
56
66
85
102
110
116
113
117
120
119
115
116
119
122
120
119
120
121
123
123
124
121
122
119
115
109
100
87
78
68
62
56
53
53
54
54
55
55
56
56
57
58
61
62
62
62
62
62
63
63
62
61
59
58
57
57
56
56
57
56
55
52
53
52
54
54
54
54
52
52
52
52
52
52
52
53
51
51
52
52
52
52
53
53
56
56
57
58
61
62
64
65
67
68
71
72
70
70
70
70
69
67
66
65
64
64
63
62
62
63
64
64
65
68
75
81
86
85
82
75
68
63
61
63
67
73
83
88
93
100
108
118
125
130
131
130
126
125
125
125
128
131
134
133
131
131
132
132
136
136
137
138
135
134
131
128
126
124
121
126
133
138
160
166
138
124
130
128
123
122
124
125
127
130
137
134
119
117
130
141
150
159
166
167
157
150
146
143
139
134
130
131
134
136
134
131
129
126
122
118
109
104
96
87
80
72
66
64
61
60
56
53
50
47
44
43
43
44
45
47
51
52
54
54
51
60
69
73
81
93
103
106
110
107
108
112
113
111
111
114
117
114
113
116
120
122
121
121
118
119
117
111
106
99
85
78
67
64
58
54
55
55
55
56
56
57
58
58
59
62
63
63
63
64
64
66
66
65
64
61
61
60
60
60
60
60
60
59
57
57
56
56
57
56
56
56
56
54
54
54
54
53
53
54
54
55
55
53
53
56
57
58
60
61
64
64
65
67
68
71
72
73
73
74
74
74
73
70
68
66
65
65
64
64
63
63
64
64
65
64
65
67
70
72
74
74
72
69
69
69
70
73
73
76
82
90
100
110
122
131
137
139
139
139
135
130
127
127
130
136
138
133
132
132
134
134
133
132
131
128
127
126
127
127
128
129
135
144
160
203
216
171
138
136
127
117
114
113
114
118
124
132
128
113
116
138
156
173
186
194
195
191
183
173
163
154
145
139
137
140
142
139
135
132
128
122
119
112
107
103
94
88
80
72
67
65
64
59
56
52
50
46
46
48
51
54
58
62
65
69
67
70
76
86
91
96
103
105
106
108
103
102
108
111
110
110
114
115
111
111
114
119
121
120
117
115
117
115
110
105
98
84
77
72
69
63
55
55
56
56
56
57
58
58
59
60
63
64
64
64
65
65
67
67
67
66
63
62
62
61
62
62
62
62
61
60
58
59
58
58
57
57
57
57
57
55
54
54
54
54
54
55
55
55
53
54
57
59
60
63
66
66
65
66
67
69
72
73
74
74
75
75
74
74
70
69
67
66
66
66
65
64
64
65
66
66
63
64
66
69
71
73
77
78
77
78
81
81
81
82
80
86
103
114
126
137
149
155
159
159
160
153
142
133
132
133
140
143
139
138
137
136
136
132
128
125
122
122
122
125
129
134
139
146
150
176
234
252
195
149
137
120
112
106
104
106
111
118
128
130
124
134
160
183
203
214
218
218
230
219
207
195
184
174
165
162
159
159
156
152
148
141
137
133
127
124
119
112
105
98
87
83
79
77
73
68
64
59
55
54
57
58
61
65
70
72
75
72
84
89
100
103
105
110
109
108
107
103
103
109
112
113
114
117
116
111
111
114
119
121
119
116
115
117
115
111
105
97
84
77
78
76
69
57
57
57
57
57
58
61
61
61
61
64
64
65
66
68
68
69
69
69
68
68
67
69
68
66
66
66
66
66
66
65
65
65
65
65
64
64
62
62
62
60
60
59
58
56
56
55
55
57
57
57
58
60
61
65
66
67
68
70
74
75
76
78
78
78
78
76
75
73
72
69
69
66
65
64
63
63
63
64
64
60
77
77
75
84
82
81
95
91
94
95
92
94
101
109
114
137
143
151
159
159
155
154
158
166
164
168
171
165
153
151
156
148
146
143
137
136
135
127
117
117
115
116
121
133
142
149
155
198
229
194
202
224
171
134
132
109
105
105
107
107
111
125
141
145
177
208
218
222
229
241
243
243
233
227
226
224
218
216
215
196
192
189
185
181
175
171
167
157
157
154
150
145
135
127
123
117
103
100
97
79
71
76
77
72
69
68
70
70
71
75
81
89
96
102
103
107
117
117
111
108
108
112
114
115
117
119
118
114
115
115
113
115
119
122
121
120
115
109
107
105
97
84
79
79
84
82
57
57
57
57
58
59
62
63
62
62
65
65
66
67
68
68
70
69
69
69
68
68
69
69
69
69
69
68
67
67
68
67
66
66
66
66
65
65
64
64
62
60
59
59
57
56
55
55
57
57
57
58
60
62
65
66
67
69
73
74
76
76
78
78
78
78
77
74
73
72
69
69
67
66
64
64
64
64
65
65
67
73
75
86
106
116
123
133
129
131
132
132
141
152
161
162
147
148
154
159
160
156
156
159
163
155
153
160
164
167
174
182
181
176
167
155
147
142
133
121
114
124
135
133
133
149
181
211
219
221
199
190
208
179
132
130
121
101
96
107
117
119
127
150
185
210
224
231
238
249
255
255
255
243
236
234
230
224
222
221
219
216
214
213
208
206
204
201
204
203
203
202
202
201
199
197
195
177
163
153
141
132
107
72
84
77
72
74
75
75
79
85
91
99
103
105
110
122
122
116
114
112
112
113
117
119
119
119
115
120
122
121
126
131
133
131
129
122
114
109
104
96
84
78
82
86
86
56
56
56
57
59
60
63
64
64
64
67
67
67
67
68
68
70
70
70
69
69
69
71
70
74
73
72
71
70
69
70
69
68
68
68
68
68
68
68
67
63
63
60
59
58
58
57
57
57
57
58
59
62
64
66
67
69
70
73
75
77
77
78
77
80
77
76
75
73
72
69
68
67
67
65
65
63
64
64
68
83
82
105
142
173
193
203
196
154
150
149
155
171
190
203
196
163
157
160
165
165
163
164
167
171
161
152
157
165
172
178
184
167
177
185
190
186
173
150
130
123
118
122
133
156
186
215
232
225
206
205
187
198
198
148
140
125
106
104
117
128
130
143
177
224
239
238
239
248
255
255
254
255
245
240
239
237
233
236
239
241
239
239
237
236
234
233
232
228
229
228
228
233
238
242
244
252
237
225
210
203
199
166
114
93
88
87
81
66
58
63
76
86
97
101
104
113
127
126
119
120
117
114
114
118
121
122
122
128
132
138
141
146
151
152
150
145
135
122
112
103
94
84
80
82
88
89
55
55
56
57
59
61
64
65
66
66
68
68
68
68
69
69
71
71
71
70
70
70
72
72
76
75
74
73
72
71
70
69
68
68
69
69
68
69
69
69
64
63
61
60
59
58
58
58
57
57
59
59
63
64
67
68
70
70
74
75
77
77
77
77
79
79
76
75
74
71
69
68
68
68
66
64
64
65
66
70
81
88
135
189
216
228
226
201
157
148
144
152
173
196
212
203
177
167
169
172
175
176
179
180
178
169
163
164
169
171
174
173
182
186
187
186
190
197
196
190
153
139
135
157
195
219
224
218
221
204
209
198
197
200
167
144
119
120
126
130
133
145
172
213
234
246
242
242
249
253
249
243
253
248
244
246
248
249
255
255
255
252
252
249
247
248
246
245
247
245
244
245
247
252
255
255
255
253
250
239
228
226
213
180
124
104
88
80
71
63
59
65
81
95
103
111
124
136
135
125
122
124
124
122
122
125
131
136
149
156
163
166
172
177
176
171
161
148
131
115
104
93
83
80
80
86
87
54
54
55
56
58
60
63
64
66
66
68
68
68
69
70
70
70
70
71
72
72
72
74
74
76
75
75
74
74
73
72
71
69
69
69
69
69
69
68
68
64
64
64
63
60
59
59
58
59
59
59
60
63
65
67
68
71
71
75
77
77
78
79
79
79
78
78
74
73
71
68
68
68
68
66
64
65
65
66
75
91
116
172
218
229
226
213
182
167
156
145
149
171
193
211
204
177
168
170
173
178
184
188
187
172
170
168
166
170
176
183
187
200
204
206
205
211
220
223
218
193
195
203
209
215
218
223
224
217
215
205
206
190
178
181
150
123
130
136
133
147
176
206
232
231
237
230
227
227
227
228
229
240
239
239
242
245
248
254
255
255
253
252
250
251
252
253
252
253
251
250
250
250
249
249
250
255
255
255
253
238
230
226
216
186
140
96
81
86
86
74
65
82
101
117
128
142
153
149
136
130
137
143
140
135
138
151
164
178
184
191
192
194
197
195
190
176
162
141
121
105
92
84
82
80
84
86
53
53
54
55
56
58
61
62
64
64
67
68
69
69
71
71
71
71
72
73
73
73
75
76
76
75
76
75
76
75
74
73
71
71
70
70
69
69
68
67
65
65
64
64
61
60
59
59
59
59
59
60
63
65
68
69
72
74
76
77
78
78
79
79
79
78
77
76
73
71
70
67
67
66
66
64
64
65
66
78
106
149
195
218
220
219
209
188
172
159
150
148
161
179
193
189
167
162
165
167
175
184
186
183
174
173
167
164
170
182
195
202
188
203
221
232
239
239
231
218
216
222
229
224
216
214
224
231
216
221
202
205
189
174
200
184
142
135
132
139
170
209
226
229
240
239
226
216
209
209
219
233
235
238
239
245
246
246
249
253
251
248
248
249
254
255
255
255
251
251
250
247
247
244
241
241
255
251
251
255
251
243
236
224
231
194
150
116
93
82
82
87
94
114
136
149
159
166
161
150
149
158
166
166
162
166
181
194
204
209
213
213
212
213
209
203
191
176
152
128
109
96
87
86
83
86
87
53
53
53
53
54
56
58
59
61
62
65
67
68
70
72
72
71
72
73
73
74
74
77
77
77
76
77
77
78
77
78
77
74
74
73
72
71
70
68
68
67
67
65
64
63
63
60
60
60
60
60
60
64
65
68
69
72
75
77
78
80
80
79
79
79
79
77
76
73
70
69
67
66
65
65
63
63
64
64
78
111
165
190
186
188
193
191
183
167
162
155
150
152
158
164
162
158
160
162
165
173
183
184
178
177
173
168
166
175
188
195
196
193
203
213
221
232
245
253
252
233
227
220
217
220
223
229
228
215
212
207
206
196
187
199
210
166
143
139
164
203
224
232
233
246
238
225
213
202
200
211
229
240
245
251
255
254
249
249
250
247
246
246
249
251
254
255
255
255
255
255
255
251
249
247
244
251
245
249
252
250
255
255
242
240
229
211
175
132
104
105
115
121
140
163
173
178
182
178
170
176
182
189
192
195
201
213
221
226
231
233
230
229
228
224
217
202
186
162
136
116
101
92
91
92
92
94
53
53
53
53
53
54
56
57
60
61
64
66
68
70
71
72
72
72
72
74
74
75
75
78
77
77
77
77
77
77
78
78
77
77
75
74
72
71
69
68
67
67
65
65
64
63
60
60
62
62
60
61
62
65
67
68
72
73
76
77
78
80
79
79
76
76
75
76
74
73
70
67
65
62
61
60
63
64
66
83
134
193
200
174
170
177
171
171
170
171
169
163
160
161
161
158
160
163
166
166
173
182
183
176
171
168
169
172
187
198
197
188
188
201
218
227
238
246
249
247
246
241
236
232
227
226
225
222
222
207
219
205
199
194
179
209
191
165
170
205
232
231
235
246
237
227
215
207
195
185
187
199
229
234
242
249
252
250
250
251
252
251
250
249
251
253
255
255
255
255
255
251
247
245
245
243
244
252
255
243
231
249
255
255
246
238
231
220
199
170
143
126
153
171
190
197
198
200
199
195
203
204
209
215
221
230
232
237
239
242
244
240
238
237
234
228
209
193
171
145
122
108
98
96
100
100
100
50
51
52
54
56
57
57
57
59
60
61
63
65
67
69
69
72
72
72
74
75
76
77
78
77
74
71
74
78
78
71
68
78
76
74
75
77
76
70
66
69
67
64
63
64
63
60
60
67
66
65
62
63
62
63
64
66
68
71
74
76
79
79
76
70
69
72
74
75
77
75
72
67
55
55
62
62
58
67
101
189
183
166
164
167
164
163
168
162
165
169
171
172
172
174
170
164
161
162
166
170
172
172
172
169
171
173
179
189
196
192
184
199
203
207
213
219
225
231
237
240
242
242
239
234
227
221
218
219
212
207
206
197
190
194
207
200
207
225
238
240
237
243
248
235
225
214
201
187
179
177
180
202
212
222
226
235
248
254
249
253
250
253
255
253
250
254
255
255
255
249
245
244
248
253
255
255
255
249
239
229
229
247
255
255
240
245
232
198
194
140
145
171
189
212
222
221
220
222
226
231
235
241
244
245
245
243
244
248
248
248
245
242
237
232
229
214
205
187
163
139
121
114
112
123
119
118
48
49
51
53
54
55
56
56
58
59
61
63
65
67
68
69
72
72
72
74
75
76
77
78
75
75
75
80
87
89
86
82
79
77
72
70
71
72
70
66
68
65
63
63
64
64
61
59
61
61
61
60
61
62
61
62
66
68
71
74
77
79
80
76
65
63
69
72
74
74
70
67
65
60
61
69
74
80
100
133
176
171
160
161
163
158
158
163
161
167
174
179
182
183
184
181
170
165
164
165
168
171
171
171
174
171
177
191
198
193
188
192
203
207
208
209
212
216
224
231
238
244
244
241
234
225
215
213
222
217
213
212
204
193
196
207
209
218
233
243
244
240
245
248
229
218
210
197
183
174
170
171
182
198
212
220
227
239
250
254
248
247
250
255
253
249
252
255
255
255
252
249
249
252
254
255
255
255
244
242
243
246
247
247
250
248
238
220
203
182
115
150
180
206
229
239
235
233
236
237
246
251
255
255
255
255
254
252
253
252
251
249
247
243
240
238
230
220
202
179
158
142
137
136
142
137
134
47
48
49
50
52
53
55
55
58
58
60
62
64
66
67
68
73
73
74
76
77
78
78
79
75
78
84
95
105
109
108
107
96
89
79
72
72
71
69
64
67
63
60
60
61
62
62
61
56
57
59
60
61
62
63
64
69
71
73
76
79
80
80
76
60
58
62
65
66
67
63
60
63
68
75
82
92
111
139
164
165
162
159
164
165
158
158
162
164
170
177
182
185
187
190
190
178
172
169
169
171
173
173
173
178
176
185
203
203
188
186
201
208
212
212
214
216
220
227
232
240
244
244
240
231
221
212
210
221
220
218
218
211
200
197
203
201
205
217
229
234
233
236
235
222
213
205
194
182
174
171
172
172
192
212
221
224
232
247
255
244
244
249
253
254
250
251
254
255
255
255
255
255
255
255
255
255
255
254
250
252
255
250
236
248
254
218
203
218
187
103
151
178
215
245
253
250
250
249
244
251
255
255
255
255
255
255
255
255
255
255
255
254
252
250
248
240
229
211
190
173
162
157
157
163
157
153
47
47
48
49
50
51
53
54
56
57
59
61
63
65
66
67
72
74
75
77
80
79
81
79
76
81
94
109
122
129
128
128
123
114
101
89
84
77
71
66
68
64
60
59
59
60
61
59
58
57
59
62
63
64
63
65
70
72
75
77
79
79
80
76
66
63
64
65
65
64
62
60
61
70
80
88
107
135
161
174
167
165
165
170
168
160
161
164
165
171
179
185
189
193
197
196
189
182
178
174
175
176
178
179
182
185
196
203
200
190
192
205
214
216
218
219
222
225
230
236
243
244
244
239
228
219
210
208
215
218
218
220
214
208
205
210
196
197
202
216
226
229
222
214
211
206
199
190
181
176
175
177
172
189
209
217
221
229
243
253
240
240
246
254
254
252
250
252
255
255
255
255
255
255
255
255
255
255
255
252
246
252
252
243
239
236
206
220
251
211
104
113
166
210
247
255
255
255
255
249
250
252
255
255
255
255
254
255
255
255
255
255
255
254
254
253
246
236
218
201
186
179
177
176
183
175
169
49
49
48
48
49
50
52
53
55
56
57
59
61
63
65
68
73
76
78
80
82
82
83
81
79
86
102
119
134
141
143
143
142
135
123
112
105
95
85
78
75
69
63
59
57
57
56
56
54
55
56
59
62
63
66
67
71
74
75
76
77
77
76
76
77
76
73
67
63
60
56
55
57
64
72
90
119
149
167
169
170
170
171
172
169
165
166
171
167
173
181
188
193
197
202
202
197
190
186
183
183
184
186
186
187
199
205
197
193
198
203
207
219
223
225
226
227
231
236
240
245
246
242
236
226
217
208
207
214
217
216
216
215
212
214
216
214
205
201
203
214
217
210
197
197
194
192
186
183
180
182
185
181
191
201
210
219
227
237
246
236
237
242
251
255
253
250
251
251
251
255
255
255
255
255
255
255
255
255
251
245
253
254
243
231
224
226
255
255
239
140
108
166
206
243
255
255
255
255
251
252
253
255
255
255
255
255
255
255
255
255
255
255
255
255
255
253
243
228
214
205
201
202
202
201
190
182
54
52
51
49
49
50
51
52
54
55
56
58
60
62
64
66
74
77
79
82
84
84
83
82
81
90
108
127
140
150
153
154
153
148
140
134
129
120
110
102
93
86
77
68
62
59
59
55
53
52
54
56
60
63
67
70
71
72
73
73
73
72
72
72
76
76
71
64
58
53
49
47
55
55
67
93
126
149
157
158
167
170
170
170
169
169
172
176
171
178
185
191
195
200
205
207
203
198
194
193
193
194
194
195
197
209
208
195
195
208
214
211
224
228
231
232
234
237
240
243
246
245
241
236
225
218
209
208
216
217
214
213
213
212
212
214
236
225
211
204
202
204
200
192
188
188
188
185
183
184
188
191
193
193
197
207
215
221
228
235
232
234
240
249
254
252
252
252
248
249
253
255
255
255
255
255
254
255
252
250
255
255
252
233
243
231
240
255
254
236
194
165
179
206
240
255
255
255
255
251
253
252
253
255
255
255
253
255
255
255
255
255
255
255
254
252
249
242
231
223
219
221
224
223
221
207
197
60
59
56
53
52
52
53
54
55
56
57
59
61
63
65
67
74
77
80
83
87
85
85
83
83
93
110
130
145
154
159
162
161
158
153
149
148
144
137
130
122
114
102
88
80
73
70
67
63
61
59
59
60
63
67
69
70
70
69
69
67
66
65
65
69
71
71
71
70
67
63
62
67
65
75
102
128
138
140
146
164
169
171
172
173
175
176
177
177
182
189
195
200
204
210
212
207
205
203
203
204
205
204
203
211
213
210
204
206
216
218
215
228
233
236
238
240
242
244
246
247
244
240
233
226
217
210
207
212
213
211
209
210
211
210
208
227
232
231
218
204
196
191
185
185
185
185
185
184
186
192
195
201
198
201
209
213
214
216
223
230
232
237
245
252
251
251
251
246
247
249
253
255
255
255
255
246
242
244
250
255
255
247
236
246
239
227
239
218
223
222
210
191
199
230
255
255
255
255
254
251
249
248
250
250
249
250
252
255
255
255
255
255
254
252
249
240
233
228
226
230
235
241
241
236
220
208
64
61
58
55
53
53
53
54
55
55
57
59
61
63
64
66
74
77
82
86
87
88
87
84
83
94
112
130
145
156
163
167
170
166
161
160
159
157
153
149
146
137
121
106
96
88
82
79
78
75
70
64
63
63
64
65
67
67
66
66
63
62
60
59
65
71
80
89
95
99
99
101
102
95
106
130
146
143
142
150
167
174
174
175
176
180
178
176
181
188
194
200
205
209
213
216
210
208
208
209
212
212
211
211
222
213
209
214
222
222
218
220
231
235
239
241
244
247
247
247
247
244
238
233
225
218
212
207
206
207
206
207
208
210
209
206
203
227
243
235
213
196
186
181
184
184
185
185
186
189
192
196
202
202
206
213
211
206
205
214
227
230
232
242
248
249
247
250
244
245
248
251
255
255
255
255
239
239
249
253
249
242
245
253
251
255
235
243
238
246
237
223
190
188
216
249
255
255
254
255
252
251
248
249
249
250
252
253
253
255
255
255
255
251
247
243
235
232
228
232
240
249
255
254
244
227
214
66
65
64
62
60
58
56
55
54
54
55
56
59
62
65
69
73
77
82
85
87
88
90
91
84
88
103
124
141
151
158
165
170
171
172
172
170
170
168
169
159
153
141
129
116
104
93
88
88
89
86
77
67
63
63
66
62
64
66
63
60
58
62
65
70
85
101
108
119
131
132
128
137
144
157
164
162
154
151
158
167
172
174
177
179
180
182
185
186
190
196
203
209
214
218
218
215
216
217
216
216
216
218
221
230
224
218
227
254
255
255
231
229
237
241
244
244
245
248
248
247
243
237
227
218
212
212
211
204
202
205
207
210
210
210
209
218
207
220
244
229
203
197
183
183
182
185
186
189
191
196
198
199
204
217
223
212
195
192
207
222
226
230
239
241
239
237
241
249
248
247
247
252
255
255
253
245
239
243
251
255
255
254
252
255
247
253
252
234
235
251
233
198
173
203
232
249
255
254
252
246
247
247
246
248
253
253
251
255
255
255
253
255
255
246
231
228
223
225
241
252
253
255
255
249
231
218
67
66
65
63
61
59
58
57
55
55
55
56
58
61
64
68
72
76
81
84
86
87
89
90
85
87
101
121
138
148
155
163
171
172
174
175
176
175
175
175
169
162
152
140
128
117
105
99
96
96
93
86
77
70
66
65
60
65
70
67
65
68
79
88
102
116
130
138
149
160
165
164
172
180
185
181
173
168
168
169
167
168
171
174
176
178
181
184
187
194
202
211
217
222
223
223
225
223
223
225
229
232
231
230
229
230
228
220
213
216
235
255
241
238
234
238
248
255
254
246
250
245
239
231
222
214
212
207
203
200
202
205
207
208
209
208
211
207
212
229
229
219
205
183
188
187
189
190
190
192
194
196
200
203
213
220
210
195
191
204
219
223
229
235
237
235
233
236
247
248
249
250
252
255
255
254
241
245
255
255
255
253
250
249
249
242
249
249
236
241
247
217
182
153
185
218
239
254
251
253
248
247
247
245
248
253
254
252
253
254
252
252
255
255
245
234
229
222
223
239
252
255
255
255
248
232
221
69
69
67
65
63
61
60
59
56
56
55
56
58
61
63
67
71
74
78
82
84
87
89
89
87
88
98
115
133
144
152
160
170
173
175
177
179
180
181
181
175
172
163
153
142
131
120
115
107
105
99
93
86
78
69
64
56
65
75
76
81
90
112
130
152
165
175
178
184
192
194
192
193
207
207
195
183
180
178
173
175
176
178
180
183
187
192
196
196
203
211
217
223
225
224
223
220
217
216
222
230
236
233
228
227
219
216
219
212
204
214
233
245
242
239
240
246
250
252
248
240
236
232
227
220
216
213
209
205
203
205
208
210
211
212
212
209
214
213
213
229
237
217
194
192
191
192
191
193
192
192
192
198
199
207
216
210
198
192
199
214
216
221
228
229
226
226
229
242
246
253
254
252
250
251
255
248
255
255
255
255
252
254
255
250
247
248
242
231
234
229
197
160
126
155
195
223
241
244
255
249
249
247
245
248
253
255
252
252
252
250
251
255
255
249
239
230
220
221
238
253
255
255
255
248
233
224
73
72
70
68
66
64
63
62
58
57
57
57
58
60
62
64
69
73
76
79
82
85
87
87
88
88
94
112
128
140
149
157
168
169
173
176
177
178
180
180
175
171
165
159
151
140
130
125
117
112
102
95
89
81
71
65
61
72
84
96
110
128
150
170
189
201
203
201
198
199
198
196
197
216
223
208
195
194
186
175
173
173
174
179
182
188
195
200
211
215
218
220
222
222
221
219
211
210
211
216
225
227
225
220
220
208
205
217
226
220
208
203
233
243
253
252
244
241
245
251
241
235
228
222
218
215
214
211
211
210
214
216
218
219
220
220
210
230
229
206
223
243
223
213
200
196
195
195
194
194
193
190
194
194
200
207
206
198
191
193
206
209
213
219
221
217
218
220
235
243
252
255
250
245
245
253
255
255
255
255
250
252
255
255
255
250
244
236
224
212
200
177
141
104
130
172
206
229
239
255
251
249
248
245
248
255
255
254
251
250
249
253
255
255
253
247
235
223
222
237
254
255
255
255
247
234
228
78
77
76
74
72
70
68
67
63
62
61
61
61
62
64
63
67
69
75
78
81
82
86
86
90
86
91
108
126
138
146
154
166
169
173
175
176
176
176
175
171
168
164
160
154
147
138
134
131
123
109
100
95
89
82
78
87
95
109
129
152
172
188
202
214
223
222
215
208
203
198
194
211
225
228
215
205
203
194
182
183
184
186
189
195
202
208
213
217
218
219
217
217
217
218
215
212
215
218
221
223
222
221
220
214
217
215
207
205
210
213
212
216
230
248
253
249
245
246
247
247
237
226
218
215
215
217
217
227
228
226
226
224
223
220
218
209
239
248
211
209
230
220
230
207
202
198
197
196
196
195
192
190
190
195
199
199
194
190
188
201
202
206
213
215
213
211
215
233
240
252
255
252
242
243
252
255
255
254
244
243
250
253
249
253
245
239
236
221
192
168
156
127
89
110
150
190
223
238
254
254
252
249
246
249
255
255
254
253
250
250
254
255
255
255
255
242
229
225
240
255
255
255
255
246
237
232
81
80
79
77
75
73
71
71
66
65
64
63
63
63
65
64
66
69
75
77
80
82
85
85
89
85
90
105
124
137
147
154
166
169
172
173
174
174
173
173
169
167
164
162
159
154
149
146
146
137
124
115
111
109
105
106
121
130
142
163
187
205
214
218
224
228
224
217
210
204
199
198
227
229
224
211
206
206
200
190
195
195
197
201
206
209
215
218
214
213
214
213
214
216
219
218
219
221
224
223
221
220
220
219
210
221
218
205
198
206
210
205
204
212
226
243
255
255
254
243
234
225
216
212
215
222
228
233
239
240
238
232
227
220
215
209
205
231
255
219
200
215
211
234
217
210
203
198
198
198
195
193
187
187
190
192
191
189
188
187
195
196
200
208
211
208
210
213
233
238
251
255
255
245
245
254
255
255
245
238
241
247
240
227
243
245
241
241
238
206
169
151
117
82
97
132
177
221
239
253
254
252
250
248
252
255
255
255
255
248
250
255
255
255
255
255
250
238
234
245
255
255
255
255
249
242
238
83
82
81
79
77
75
74
73
69
68
66
65
64
65
65
64
65
67
73
77
79
82
85
85
87
82
88
106
125
137
146
152
164
166
171
171
172
173
172
172
168
166
164
163
161
160
157
155
153
146
139
134
131
132
131
136
143
154
169
187
207
224
232
232
228
222
216
210
202
194
191
195
226
223
217
216
218
216
210
200
192
190
191
192
194
195
198
198
206
208
209
212
214
217
221
220
222
219
220
219
219
218
216
215
213
211
208
207
210
209
202
192
200
202
213
231
250
255
255
247
234
225
217
215
220
227
233
240
246
248
244
237
228
222
213
207
201
209
250
228
200
208
203
228
228
220
209
201
198
197
194
191
186
188
189
188
186
186
189
190
188
188
192
200
204
202
204
208
232
236
248
255
255
247
247
253
249
244
233
227
234
242
234
222
246
255
247
238
249
239
196
163
106
73
88
117
165
220
242
249
255
255
252
249
252
255
255
255
254
247
247
253
255
255
255
255
255
246
242
251
255
254
254
255
253
248
246
86
84
83
80
79
76
76
74
72
70
69
66
66
65
67
65
67
68
74
77
79
81
84
85
85
81
87
106
126
140
147
153
159
164
166
169
169
169
169
169
165
163
163
162
164
165
165
163
152
150
148
148
149
152
158
168
164
178
193
206
218
228
235
235
231
223
216
209
199
191
189
193
225
221
221
230
236
230
219
207
205
200
201
199
198
195
194
194
198
203
206
211
216
217
219
219
228
222
218
218
223
223
219
213
216
206
202
208
206
199
202
212
200
206
215
222
230
238
246
251
255
250
242
236
234
231
229
230
244
248
244
239
232
224
217
211
198
192
244
235
207
212
203
223
234
224
211
201
198
198
195
190
190
193
192
187
183
184
189
190
181
179
184
193
197
197
200
203
229
230
241
254
254
243
240
246
248
241
229
223
233
249
247
239
253
255
245
223
246
255
211
164
96
69
82
107
156
220
244
246
255
255
253
251
252
255
255
254
250
242
242
249
253
250
254
255
255
252
248
254
255
253
253
255
255
252
251
88
87
87
85
84
82
82
80
77
75
75
72
72
71
72
70
71
71
74
78
82
85
85
86
88
85
90
107
123
137
145
152
166
167
165
164
162
163
164
164
161
161
161
164
167
172
174
171
161
156
149
152
166
180
180
179
186
205
219
227
228
227
223
223
226
221
219
200
202
202
186
219
230
233
235
232
230
225
219
212
207
200
202
209
205
191
184
189
191
195
200
203
209
212
219
224
231
224
219
222
230
231
225
215
209
206
203
201
201
203
206
207
202
207
209
210
210
213
215
220
224
230
235
235
233
231
232
237
246
246
239
236
234
227
217
208
195
196
231
233
203
223
197
218
225
220
212
204
200
198
199
200
197
194
190
188
187
186
186
183
180
181
185
187
187
190
192
196
239
245
234
244
251
236
244
255
255
251
234
226
229
237
243
245
255
255
241
241
214
248
189
133
97
74
77
115
165
205
237
255
255
255
252
251
253
254
255
251
239
229
231
240
248
252
253
255
255
255
255
255
254
252
252
251
253
255
255
89
88
88
86
85
84
83
82
78
77
76
75
74
74
74
73
71
72
76
79
82
83
86
84
88
85
89
107
123
134
141
150
161
163
161
161
160
160
162
161
160
160
158
161
164
166
166
163
163
160
160
165
177
188
189
191
204
220
230
233
230
225
219
218
224
218
218
203
204
202
193
229
230
232
234
231
226
219
213
207
212
198
197
204
204
193
184
183
185
191
198
203
209
216
225
228
229
226
225
225
228
226
221
213
211
205
201
200
204
206
207
208
213
214
211
207
201
199
203
207
216
222
227
230
230
230
230
232
236
237
236
232
224
219
213
210
213
187
214
208
217
235
218
216
231
226
220
212
205
201
200
199
200
196
191
189
189
186
185
182
178
180
183
184
186
189
193
197
235
242
231
240
245
232
241
254
255
255
242
228
228
239
253
255
253
255
235
237
215
242
178
118
94
78
83
117
169
214
246
255
255
255
253
251
250
251
250
246
237
227
227
235
244
249
252
255
255
255
255
254
249
248
250
250
249
251
254
92
91
91
89
88
87
86
86
83
82
81
79
79
79
79
77
74
74
77
80
83
86
86
84
87
86
90
107
121
133
139
146
153
155
155
155
157
158
160
160
160
157
155
156
156
157
156
155
153
158
168
178
191
198
197
194
209
218
223
225
225
225
223
223
224
215
213
207
202
195
196
233
224
228
232
227
220
214
209
204
213
196
190
197
205
198
187
183
186
191
199
207
215
222
230
233
217
218
221
223
223
222
220
217
198
192
187
186
191
191
191
193
227
229
222
213
204
200
200
204
210
213
215
217
219
220
219
220
219
223
224
220
213
208
208
209
212
194
231
210
218
222
232
240
237
231
227
221
214
207
202
197
196
192
188
185
185
183
181
178
176
177
180
181
183
185
190
195
220
234
228
240
246
231
236
245
228
240
240
235
235
242
254
255
253
252
231
232
217
237
170
108
89
79
87
119
173
225
255
255
255
255
252
250
251
251
249
244
233
222
220
225
233
239
245
252
253
255
255
249
241
239
243
247
251
252
255
92
92
91
90
89
89
88
88
85
84
83
82
82
82
82
80
76
75
79
82
84
87
87
87
86
85
92
106
121
130
138
143
148
149
149
150
152
152
155
155
156
152
150
149
147
147
146
145
136
148
168
184
199
207
210
208
217
218
218
220
222
225
229
229
227
214
209
209
198
186
197
234
221
227
230
227
219
211
208
206
207
194
187
192
199
196
189
184
189
194
203
210
217
224
232
235
217
218
222
224
225
225
220
217
202
199
195
192
192
195
198
208
236
237
228
217
207
199
200
201
207
208
207
209
212
214
212
209
211
211
211
208
205
202
204
204
204
207
244
224
210
210
230
251
255
255
255
246
231
213
199
189
196
192
187
184
183
181
178
176
175
173
176
176
177
182
188
192
203
223
226
244
248
230
228
232
218
234
239
236
240
249
255
255
254
248
229
229
218
230
168
106
85
83
92
121
176
231
255
255
255
252
251
250
249
246
242
234
219
208
205
209
217
223
233
242
244
249
251
244
234
231
235
240
251
251
254
92
92
91
91
90
89
89
89
87
86
85
85
84
85
85
83
79
79
81
83
85
88
89
88
85
85
92
104
117
124
133
140
141
142
142
144
146
147
148
147
149
146
142
137
133
129
126
129
128
145
170
193
214
225
229
230
226
220
216
216
220
227
236
237
230
215
208
208
191
179
200
224
220
225
227
225
218
212
209
207
199
192
189
189
191
191
189
189
194
199
207
213
219
224
231
235
231
230
229
232
233
231
222
214
205
205
201
197
194
196
206
222
235
237
228
216
204
198
196
197
203
203
204
206
212
212
211
208
208
202
197
196
198
199
199
199
205
205
216
225
212
228
224
223
215
214
222
229
234
234
232
228
203
196
190
184
183
180
176
174
172
172
172
172
173
177
183
186
198
222
226
240
244
229
229
232
251
254
241
229
234
252
255
255
254
245
232
228
221
226
172
115
93
94
104
129
179
232
255
255
254
251
249
247
244
237
227
218
201
191
187
192
200
207
217
227
235
243
247
242
234
231
233
238
241
240
242
91
91
91
90
90
89
89
89
88
88
87
86
86
87
87
88
81
81
83
85
88
88
89
88
87
85
89
101
110
117
126
131
133
132
135
137
139
140
141
141
144
139
131
126
120
114
108
111
131
148
175
203
227
239
243
244
235
225
217
215
222
229
240
240
228
215
204
206
186
176
201
213
216
218
219
218
216
212
205
203
192
193
192
190
188
187
189
192
196
202
210
215
220
225
228
232
234
234
234
240
246
247
240
230
219
216
215
210
209
211
220
235
237
238
230
220
209
202
200
201
198
201
206
211
218
221
221
216
211
201
194
192
195
198
197
197
204
205
205
230
219
239
227
218
213
210
213
214
210
204
198
192
206
198
188
181
177
175
171
170
171
171
172
172
171
173
178
181
201
224
224
234
238
230
240
246
255
255
241
231
240
255
255
255
253
244
237
229
222
220
180
133
113
111
121
141
182
223
249
252
255
250
244
238
230
220
208
197
178
172
172
178
185
190
201
210
224
232
240
241
236
233
232
234
232
230
229
91
91
91
91
90
90
90
90
89
89
88
88
88
89
89
89
83
84
85
88
89
90
90
89
89
85
88
95
100
106
115
121
122
122
127
130
133
135
136
136
136
131
125
121
115
110
105
111
132
151
179
210
236
246
251
252
240
231
222
219
224
231
240
239
221
212
200
201
180
177
206
201
206
208
207
208
211
207
200
195
190
195
194
191
189
190
191
193
196
203
211
217
221
225
228
234
235
241
248
253
255
255
255
253
250
246
243
243
246
247
252
254
246
244
237
227
217
208
206
206
203
209
217
223
226
228
229
223
217
207
201
196
194
194
198
200
201
211
225
235
222
224
235
232
216
213
215
215
213
210
205
201
214
204
191
180
176
172
171
169
172
173
174
173
171
171
173
177
192
218
222
232
240
234
245
253
241
248
245
237
248
255
255
255
252
242
241
231
222
217
189
152
129
123
130
145
172
203
224
233
236
227
215
205
196
187
180
172
156
152
156
163
170
175
184
194
206
216
228
235
236
233
229
226
223
218
213
91
90
90
90
90
90
89
89
90
89
89
88
88
89
90
90
86
86
88
89
90
90
90
90
91
87
87
92
94
98
106
113
116
116
120
125
129
132
133
135
130
127
125
122
122
120
116
124
133
152
178
211
237
246
252
253
244
235
228
225
227
230
237
234
214
209
197
195
178
179
209
195
201
199
197
200
205
204
195
188
192
196
195
193
194
195
194
195
196
202
212
217
221
225
229
234
245
254
255
255
255
255
255
254
254
246
242
247
255
255
252
244
246
243
237
230
218
212
209
208
212
221
230
235
235
232
232
226
223
215
211
203
196
194
200
207
206
212
230
223
224
210
236
229
213
210
210
207
206
202
200
197
227
216
202
190
183
181
181
181
175
177
177
177
175
173
173
174
177
208
220
236
244
238
245
248
255
255
250
235
241
255
255
255
250
243
245
232
220
215
196
164
134
126
129
141
161
180
200
213
202
191
176
166
157
154
150
145
140
138
143
152
158
162
170
179
190
201
216
227
232
230
223
218
211
206
200
90
90
90
90
90
90
90
90
88
88
88
89
89
90
90
90
90
90
90
91
93
94
92
92
89
87
87
88
90
93
96
96
103
106
112
114
120
129
137
138
137
140
138
135
139
145
139
137
143
161
179
202
220
231
243
254
246
241
236
233
233
233
233
226
207
197
190
183
176
178
192
210
199
212
205
204
214
199
181
187
186
193
195
194
192
194
197
199
203
208
214
216
218
224
236
245
246
247
248
249
250
252
252
252
251
247
248
255
255
255
255
255
254
238
229
227
221
211
209
218
226
232
238
242
242
239
238
229
220
209
210
236
187
196
223
200
205
222
232
226
216
218
226
229
223
213
207
203
204
205
203
197
236
224
200
185
186
184
177
180
176
176
174
175
176
178
180
179
176
186
214
236
241
246
251
245
255
253
242
244
253
255
255
255
255
241
245
239
217
208
190
158
134
125
126
135
148
158
160
156
146
138
128
122
121
124
129
131
132
134
140
147
149
152
157
162
167
175
189
206
220
224
218
211
203
192
184
90
90
90
90
90
90
90
90
88
88
88
89
89
90
90
90
90
90
92
93
93
94
92
92
93
91
91
89
90
92
95
94
97
101
107
110
117
127
135
139
143
145
143
143
154
165
158
154
156
166
175
192
208
218
231
243
245
245
244
241
236
231
225
216
199
189
182
177
171
174
189
208
218
220
212
208
213
205
187
178
189
194
196
196
196
198
199
202
207
207
212
218
227
234
239
240
231
231
235
240
246
250
254
255
251
248
250
255
255
255
255
252
244
245
244
228
218
219
221
218
241
244
247
246
246
248
249
244
219
218
215
228
228
206
209
193
212
225
232
224
216
217
221
221
212
207
201
199
200
202
202
198
237
225
201
186
194
195
191
194
191
190
189
187
184
181
180
176
180
187
211
232
239
246
254
249
255
253
244
245
254
255
255
255
255
242
246
242
221
208
183
149
127
117
120
127
138
141
139
133
112
108
104
103
107
113
121
124
132
133
139
142
146
148
151
155
155
161
172
188
205
213
212
206
197
186
177
92
92
92
92
92
92
92
92
90
90
90
91
91
92
92
92
92
92
93
93
93
94
94
92
95
93
92
91
90
91
93
92
93
98
101
105
113
125
132
137
152
155
156
160
177
189
183
177
181
186
182
189
200
210
219
228
241
247
249
247
239
229
215
205
192
184
177
173
169
173
187
207
217
215
217
218
220
221
206
181
190
193
196
198
201
200
201
204
207
207
211
223
238
244
241
233
224
221
226
230
234
238
239
242
242
239
240
247
253
252
251
248
244
241
242
239
238
238
233
229
240
243
246
246
245
245
243
237
220
226
218
223
255
229
209
206
217
223
224
219
213
214
214
210
200
195
194
196
197
198
198
197
235
225
201
191
203
209
206
210
216
215
212
207
201
195
188
182
185
188
207
227
237
248
255
253
255
252
245
246
254
255
255
255
255
242
245
242
224
203
167
130
110
104
109
116
123
125
120
113
96
95
97
101
110
117
125
128
132
135
139
142
140
143
146
148
147
149
154
168
184
196
200
198
183
169
159
91
91
91
91
91
91
91
91
90
90
90
91
91
92
92
92
93
93
93
94
94
94
94
94
94
94
93
91
92
91
92
91
94
98
100
103
111
122
132
136
155
166
175
184
200
211
204
198
216
217
209
203
201
204
211
222
238
245
251
249
240
226
209
197
191
182
175
171
170
174
188
206
213
213
224
229
225
232
223
191
193
190
192
196
201
202
203
206
205
210
217
229
241
245
240
228
222
221
224
228
231
233
236
236
232
230
234
240
245
246
250
251
253
228
229
255
255
255
242
244
232
237
241
244
241
234
225
215
216
218
212
229
255
245
221
229
219
218
213
210
209
208
205
198
190
185
187
191
192
191
192
197
229
220
202
199
215
222
218
223
231
233
230
225
217
208
200
193
187
187
203
224
236
250
255
255
252
250
245
247
255
255
255
254
250
240
241
240
225
195
146
111
95
92
100
108
116
118
114
111
109
108
111
117
123
129
132
135
134
136
139
140
138
138
139
144
145
143
144
154
170
187
197
198
177
161
151
91
91
91
91
91
91
91
91
90
90
90
91
91
92
92
92
93
94
94
94
94
95
94
94
94
94
94
92
94
93
94
94
98
99
99
101
108
120
127
131
148
172
194
206
218
223
218
216
236
242
233
219
205
202
210
219
234
242
248
246
237
222
205
192
189
181
174
171
170
174
187
204
225
226
238
235
222
227
230
213
200
192
188
193
200
201
203
208
206
215
224
233
237
237
235
229
223
223
229
235
241
244
246
244
235
232
235
240
242
245
252
255
245
229
238
255
255
255
245
247
238
237
237
233
227
219
206
199
203
199
208
242
246
242
219
226
220
212
206
205
207
207
202
194
185
179
181
184
185
182
188
198
219
217
206
208
225
231
227
231
235
238
235
231
225
216
208
200
190
186
200
220
235
251
255
255
247
248
245
248
254
255
255
255
247
241
240
238
227
188
131
98
92
91
102
110
116
120
121
119
121
120
122
124
129
132
133
134
137
139
138
138
136
135
137
139
143
140
141
151
170
191
203
207
188
168
156
90
90
90
90
90
90
90
90
90
90
90
91
91
92
92
93
94
94
94
95
94
95
94
94
93
93
94
95
95
96
97
98
101
101
97
98
104
116
123
125
143
174
203
218
227
232
230
228
242
252
244
227
209
203
209
217
230
235
239
239
231
218
201
190
186
177
169
168
170
176
188
202
232
233
235
229
218
222
238
244
218
201
190
194
199
200
203
210
209
218
230
233
234
232
234
235
241
243
247
250
251
253
250
247
244
241
242
243
242
244
254
255
230
248
255
255
252
250
244
233
243
234
221
210
202
194
189
188
196
192
217
250
221
225
207
207
224
212
202
202
206
205
203
196
180
173
175
179
177
175
186
202
214
216
212
215
231
236
232
237
242
244
242
239
232
226
218
210
194
186
197
215
231
250
255
255
248
249
246
247
252
253
255
255
245
244
242
239
229
182
121
94
96
97
110
118
123
126
129
130
128
125
124
125
128
130
131
133
137
139
137
136
133
133
135
137
139
135
140
153
175
198
213
217
194
172
155
90
90
90
90
90
90
90
90
90
90
90
91
91
92
92
93
94
96
94
95
94
95
94
94
94
95
96
97
97
97
97
100
104
103
99
98
106
118
124
128
143
173
205
222
237
246
246
244
248
255
251
235
219
214
213
215
224
227
230
228
223
212
199
189
184
175
168
169
173
180
193
207
223
229
227
226
224
219
230
252
242
217
198
198
200
201
205
213
213
222
230
232
233
232
238
245
255
255
255
255
255
255
250
244
246
243
242
242
240
243
254
255
240
255
255
247
236
239
234
217
235
221
201
186
177
171
165
168
184
188
221
225
205
205
193
201
228
213
201
200
201
200
200
196
177
166
168
172
171
172
188
211
214
221
219
220
233
236
235
244
253
255
250
244
237
230
223
216
201
189
192
207
225
247
255
255
252
252
248
247
249
249
252
252
238
242
240
236
225
174
112
92
95
102
117
127
132
134
136
137
136
132
127
125
127
129
131
134
136
138
136
134
130
130
131
133
135
134
140
155
176
199
214
215
188
165
147
91
90
91
90
91
90
91
90
91
90
91
91
92
92
93
93
94
94
94
94
94
94
94
92
96
97
97
98
98
97
97
98
107
106
101
100
107
120
125
127
145
171
198
217
238
252
253
249
247
255
251
238
229
225
221
215
222
223
225
222
218
208
197
188
181
172
169
173
180
187
202
216
217
225
222
226
230
211
207
235
255
235
209
202
203
201
205
212
218
223
229
231
234
237
244
252
252
255
255
255
255
255
251
246
237
236
237
238
237
239
253
255
255
254
247
242
242
240
227
210
218
205
187
175
168
162
155
157
170
178
210
187
196
190
189
206
229
213
200
196
197
196
198
195
177
167
168
173
172
175
194
219
217
225
222
222
234
237
239
252
254
253
249
243
237
230
223
214
209
191
188
200
217
243
255
255
253
255
252
253
252
249
249
249
234
240
236
228
215
162
102
88
90
98
116
128
135
136
138
139
140
134
129
126
124
125
129
131
131
133
132
130
128
128
129
132
137
136
140
153
172
189
201
203
182
159
140
93
92
93
92
93
92
93
92
94
93
94
93
94
93
94
93
93
93
94
92
92
91
93
94
96
95
96
98
99
100
100
100
107
104
101
102
110
120
129
137
143
165
190
208
225
240
249
255
244
237
231
233
235
231
228
229
226
224
221
217
212
204
196
185
167
175
173
172
191
204
204
208
218
220
222
222
222
221
215
211
217
240
242
217
199
205
212
210
211
240
225
239
244
239
255
240
250
255
255
249
253
255
254
240
238
248
233
235
240
227
255
229
255
255
255
251
246
236
222
208
204
197
184
167
156
154
157
160
167
174
194
191
189
196
197
212
219
218
209
200
196
199
203
197
188
179
173
171
179
195
210
216
228
223
218
221
231
242
249
253
247
246
246
243
242
237
230
221
213
190
192
185
214
233
255
251
255
255
255
253
252
254
250
243
242
235
237
224
216
141
92
83
92
103
119
125
127
128
131
130
128
127
126
125
124
125
127
127
127
127
129
127
126
127
129
131
135
139
139
142
153
167
175
178
163
141
124
93
93
93
93
93
93
93
93
94
94
94
94
94
94
94
94
92
94
95
94
91
91
92
94
95
93
93
95
96
98
99
101
105
103
101
103
110
121
128
135
158
163
171
185
211
234
244
244
245
238
233
238
243
242
238
234
228
224
220
215
210
203
196
186
171
170
169
178
193
197
199
212
210
214
215
216
217
219
219
218
221
230
235
225
208
199
202
211
221
245
228
241
246
241
255
237
243
247
251
253
252
248
246
247
239
237
234
253
216
238
250
213
255
255
255
253
247
231
218
210
193
194
188
172
154
147
146
147
158
176
209
206
195
198
209
235
216
214
208
199
198
202
208
206
199
194
194
195
201
209
216
222
228
222
218
221
231
242
251
251
244
243
244
243
243
238
231
223
215
191
190
183
211
233
255
249
253
255
255
255
255
255
252
246
243
236
236
223
194
128
88
82
91
101
115
120
119
123
125
125
124
124
124
123
123
123
125
126
124
125
125
125
124
125
127
130
133
135
136
136
139
144
144
140
118
99
83
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
93
94
95
97
96
93
92
91
91
91
91
92
92
95
99
102
103
103
103
104
108
115
124
130
138
152
160
170
185
207
228
238
242
248
242
234
237
243
245
242
238
228
224
219
213
207
201
193
184
174
170
171
184
199
192
187
202
205
208
213
216
217
217
220
224
221
219
226
233
222
200
200
217
226
245
231
242
248
245
255
244
240
235
236
249
245
239
236
245
234
245
231
225
234
255
237
255
255
242
239
241
235
222
214
214
194
194
189
181
173
168
162
157
155
169
199
194
188
200
215
244
208
210
208
203
204
212
218
219
219
216
221
227
228
224
227
235
224
221
217
221
231
240
245
248
244
244
244
243
243
238
231
223
216
192
186
181
208
237
255
251
253
255
255
253
254
255
252
250
244
238
234
223
165
117
88
85
95
102
114
117
116
120
123
123
121
121
121
120
121
121
124
122
122
123
123
123
123
123
125
127
135
138
139
137
134
130
121
111
81
64
50
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
96
97
96
93
90
89
88
88
91
95
98
101
105
108
107
108
108
111
114
121
127
133
140
142
159
173
179
189
204
222
241
254
253
244
242
242
242
240
239
229
225
219
213
206
198
191
184
173
173
177
188
204
199
186
186
200
205
211
217
219
217
220
224
224
219
224
236
227
210
209
224
222
240
233
239
245
248
255
255
253
242
226
237
234
240
232
235
241
209
229
220
231
239
255
241
217
219
225
225
222
220
218
212
201
195
190
193
206
215
210
196
178
182
207
217
227
239
234
241
201
206
210
208
211
217
224
226
233
231
236
242
239
232
236
246
222
219
218
222
229
236
242
244
244
246
246
245
245
240
233
224
217
194
183
179
203
239
255
254
255
255
252
250
250
252
251
250
242
239
229
215
136
107
92
91
99
106
115
116
117
119
121
122
119
118
119
118
120
120
123
122
122
122
122
122
122
122
124
126
134
139
140
138
134
128
116
105
80
67
56
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
93
95
96
95
92
90
88
88
89
96
103
110
115
115
115
113
111
112
114
118
122
127
132
138
147
157
160
158
160
172
188
210
240
253
254
251
249
244
237
234
232
227
221
215
208
199
192
185
173
180
175
176
200
213
201
187
190
193
204
214
219
218
220
226
224
226
228
229
226
222
222
226
219
234
236
238
239
246
255
255
255
255
225
227
224
247
232
220
218
234
219
216
255
224
202
202
193
213
224
218
217
223
220
205
204
205
211
221
235
245
244
234
196
198
229
248
255
255
229
215
201
209
215
214
213
213
216
220
238
241
240
242
239
235
243
254
223
220
218
220
227
234
239
242
244
246
247
246
245
240
234
226
217
198
180
178
195
239
255
255
255
255
249
246
245
247
249
249
243
237
219
193
114
98
96
99
102
107
116
117
118
120
121
120
117
117
117
118
119
120
123
122
122
123
124
124
121
121
123
125
128
133
135
135
133
131
123
114
100
91
81
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
94
95
96
94
91
89
90
90
95
104
114
122
123
123
122
118
113
114
116
119
122
126
132
139
150
153
155
162
170
171
159
153
186
210
225
233
239
241
236
229
235
231
226
218
211
203
195
188
179
186
171
163
190
217
217
203
184
184
192
206
217
218
222
228
223
228
227
221
222
227
228
223
222
233
240
239
236
242
255
255
255
255
226
227
213
244
226
215
217
203
202
247
220
213
209
186
196
219
229
219
215
220
217
204
208
226
244
250
247
246
248
248
214
213
234
234
231
227
207
206
217
224
228
223
217
215
215
220
245
251
248
245
245
248
255
255
224
222
220
221
225
231
237
240
244
247
249
248
246
241
235
226
217
201
179
177
186
236
255
255
255
255
246
243
243
244
249
249
243
235
205
160
102
89
95
99
102
107
116
119
120
123
122
118
115
114
115
116
118
119
123
122
121
122
124
123
120
120
122
123
126
131
133
135
137
137
132
124
117
111
103
95
95
95
95
95
95
95
95
94
94
94
94
94
94
94
95
97
97
97
94
91
91
92
95
107
115
125
130
129
125
123
120
115
115
120
123
126
132
141
148
154
160
171
188
201
197
170
154
155
173
181
194
214
232
238
236
235
233
229
224
217
210
202
194
189
190
175
167
187
209
214
213
195
186
186
199
214
217
223
231
226
227
226
222
224
229
228
222
229
232
240
240
239
241
242
244
246
252
233
246
216
235
221
230
216
204
207
226
210
208
185
213
217
226
232
230
223
219
224
228
238
250
255
255
248
245
246
246
244
232
232
216
207
212
211
225
227
233
234
225
217
216
219
227
243
255
255
250
252
255
255
251
227
223
221
221
226
230
237
241
244
247
249
248
246
241
235
227
216
205
181
177
178
233
255
255
255
253
243
241
244
245
251
252
245
232
188
125
94
81
91
93
101
106
114
118
121
123
120
115
112
112
113
113
116
117
121
120
120
121
122
121
120
120
121
123
127
130
132
134
135
134
128
120
112
108
101
95
95
95
95
95
95
95
95
94
94
94
94
94
94
94
95
99
99
97
93
90
92
95
97
116
121
129
131
126
121
121
119
119
120
125
130
133
141
151
160
172
182
190
200
208
214
209
208
175
174
164
168
194
224
239
241
233
234
230
226
223
215
207
201
193
193
185
184
193
199
199
209
211
194
188
197
210
215
223
231
230
225
224
227
231
230
226
223
233
229
240
240
241
242
232
226
231
247
246
255
229
235
224
254
255
220
255
255
234
211
198
215
241
235
237
246
240
230
241
255
255
255
254
245
247
253
253
246
241
227
226
213
210
217
210
216
223
227
226
217
211
214
220
232
234
252
254
247
249
255
253
236
226
224
222
223
225
232
239
244
246
247
249
248
248
242
235
227
215
209
182
178
176
232
255
255
255
252
241
242
245
246
253
253
242
225
174
98
89
74
85
88
99
105
113
118
122
124
120
114
110
110
110
111
114
116
119
119
119
120
121
119
118
118
119
121
122
126
129
127
126
123
114
105
95
92
86
92
94
96
96
95
95
95
97
98
95
93
93
97
99
98
96
100
97
93
94
91
90
101
115
121
122
126
128
125
120
114
108
116
118
128
139
150
164
178
188
203
211
217
219
220
221
217
217
209
184
161
203
216
189
216
247
233
229
225
227
226
219
216
214
203
192
199
187
191
198
185
206
209
204
197
196
205
216
225
227
223
223
224
228
224
221
223
229
228
234
236
238
238
235
232
226
215
230
245
237
215
215
249
255
255
255
255
255
255
245
242
252
255
255
249
248
243
235
234
238
252
255
255
254
251
254
255
251
237
223
214
214
215
215
216
219
225
220
217
214
215
219
224
230
240
243
243
246
245
242
235
227
222
222
223
224
228
233
239
245
247
248
250
249
249
243
236
229
224
204
191
175
184
210
255
254
255
255
246
239
241
249
253
245
242
209
137
80
69
68
77
90
91
99
113
120
120
116
114
113
108
109
110
111
114
116
117
117
116
116
118
119
118
118
117
116
123
123
122
117
109
98
88
83
63
63
62
91
94
96
96
96
95
96
97
98
96
95
96
98
99
98
96
102
95
92
94
97
100
109
118
119
123
125
120
113
107
108
110
117
124
137
152
168
184
201
211
219
226
231
230
228
226
219
212
212
189
170
199
202
182
211
246
236
231
226
228
233
229
224
219
214
201
202
185
184
189
182
200
221
212
198
189
196
212
220
219
226
229
228
224
220
219
223
227
236
237
237
235
231
227
225
221
214
216
228
243
250
252
254
255
240
235
238
252
255
255
244
242
236
239
241
244
238
228
227
234
251
253
255
255
255
255
252
242
229
222
219
222
223
220
218
219
224
219
216
215
219
223
229
231
233
234
235
238
238
236
229
223
220
221
223
226
229
234
242
245
247
247
250
249
247
243
236
229
223
212
194
182
183
216
255
251
254
254
247
244
246
246
250
241
227
183
119
76
62
61
71
80
88
96
110
117
118
116
113
112
107
107
108
109
112
114
115
115
116
117
117
117
116
114
113
112
110
108
104
98
88
78
70
64
64
64
64
89
91
94
94
94
94
95
96
97
96
95
96
97
97
96
94
98
92
91
99
107
113
118
121
121
121
120
110
101
96
106
114
125
135
151
169
187
203
220
229
233
237
240
237
231
226
215
203
185
170
156
171
168
158
187
222
247
238
227
226
234
235
231
224
223
212
212
194
183
183
174
182
219
223
217
202
197
209
217
217
222
233
236
224
213
213
218
222
230
232
231
230
227
226
225
224
198
202
220
240
250
247
243
241
231
232
237
251
255
255
242
225
232
242
250
251
244
236
243
255
245
244
247
252
255
255
246
232
222
222
227
233
235
230
225
221
221
217
215
215
220
225
231
233
227
227
229
231
232
230
225
219
218
219
222
226
231
235
243
247
245
245
248
247
247
242
238
231
221
220
199
187
181
228
255
248
252
251
248
251
250
243
239
233
210
155
107
79
62
59
70
72
81
89
103
114
116
113
109
107
105
105
105
107
109
110
112
113
117
117
116
114
112
109
107
106
101
97
91
85
76
69
65
62
67
68
69
87
90
92
94
93
94
95
97
96
96
96
97
97
96
95
92
90
90
98
106
113
118
120
122
119
115
109
98
93
97
108
120
137
149
164
182
199
213
225
231
235
238
238
233
227
218
203
188
166
157
150
155
155
156
181
208
251
243
232
229
229
234
234
232
223
219
222
211
195
186
176
167
191
219
234
219
201
204
212
215
217
241
254
237
217
214
219
222
223
225
225
222
220
218
217
215
194
196
206
217
223
224
228
234
241
246
247
248
255
255
241
219
233
240
241
240
235
235
249
255
237
232
234
242
255
255
244
227
225
228
234
242
244
239
230
224
221
218
217
217
220
227
232
233
226
224
227
230
231
229
224
218
218
219
222
226
231
235
242
246
244
244
247
246
246
242
238
231
220
224
201
190
182
238
255
248
253
250
251
255
252
239
232
224
195
135
101
90
72
65
76
70
76
83
98
108
112
110
107
105
103
104
104
106
107
109
111
112
116
115
113
111
106
103
101
100
96
93
87
82
77
76
78
79
77
78
79
85
87
91
92
93
93
95
97
95
96
97
97
96
95
95
94
86
95
110
116
120
120
120
121
115
106
96
91
95
106
118
128
147
158
173
187
203
212
221
225
229
230
228
224
218
206
190
174
155
143
140
141
147
157
169
188
230
237
240
240
238
237
235
233
227
224
228
222
204
198
196
175
174
199
220
214
204
206
208
209
214
245
255
250
227
220
223
227
226
227
226
221
212
205
198
194
197
192
193
203
215
219
219
218
225
236
242
242
249
255
241
222
233
237
237
239
242
247
255
255
229
222
223
234
249
253
244
233
232
235
239
242
243
240
233
226
223
220
219
220
223
228
232
233
230
228
230
232
232
230
225
220
219
220
223
225
229
233
241
244
243
241
244
244
244
242
238
231
222
224
202
192
192
247
255
249
248
246
252
255
255
242
228
216
171
119
100
97
84
75
80
71
71
76
90
102
109
109
108
104
102
103
103
105
106
108
110
111
116
115
110
106
102
99
97
95
90
88
83
80
79
82
87
90
85
85
85
82
85
88
90
91
92
94
96
96
97
97
97
96
96
98
97
94
106
121
125
122
120
118
115
106
99
91
93
104
118
129
136
153
163
175
187
198
207
212
215
217
217
215
210
204
197
180
163
141
124
124
120
130
143
144
157
192
215
237
249
253
250
243
237
237
234
225
224
209
211
221
194
184
189
194
200
207
215
214
209
208
234
250
242
223
217
219
224
230
231
231
226
218
209
202
196
176
184
200
211
210
203
204
207
211
227
237
240
244
246
232
218
229
236
243
253
255
255
255
255
226
221
221
231
245
249
248
244
237
239
240
237
235
234
231
225
227
224
223
222
225
228
232
232
232
231
232
235
235
233
226
222
219
220
221
223
227
231
239
242
241
240
243
243
243
241
236
231
224
217
204
193
209
255
253
247
237
241
250
255
255
248
227
200
139
106
93
93
88
81
79
73
68
71
83
94
103
106
106
103
103
102
102
103
105
107
109
109
113
111
106
103
99
96
95
94
92
91
87
86
85
89
93
94
90
88
88
78
81
85
87
88
90
92
94
97
98
98
97
95
97
102
104
110
117
124
123
119
118
112
106
97
94
95
101
112
125
137
143
153
161
170
180
186
192
195
199
198
197
193
188
187
181
166
150
139
117
119
115
122
137
133
150
155
183
214
237
252
255
254
249
252
245
230
231
216
219
234
197
196
189
190
199
209
212
212
215
210
216
221
220
214
213
216
222
229
230
229
226
219
213
209
204
174
188
205
209
198
187
192
202
215
226
236
240
239
236
223
212
209
218
227
237
245
247
244
239
228
225
230
240
247
249
254
253
239
240
240
236
232
231
230
224
228
224
224
224
227
230
234
236
236
236
237
238
238
235
228
222
222
221
221
223
225
230
237
241
240
238
241
242
243
241
236
231
226
210
210
198
231
255
249
241
227
239
253
255
255
253
219
177
106
94
88
85
89
85
76
73
64
65
75
88
98
102
104
102
101
99
99
101
103
104
105
107
110
108
104
100
97
95
95
95
95
95
93
93
93
96
99
99
92
90
90
74
77
81
84
87
89
92
94
100
101
100
98
95
97
103
108
119
121
120
116
114
116
108
98
90
95
102
109
118
129
143
151
155
160
169
174
177
178
180
182
181
179
174
171
170
164
153
136
126
102
108
100
108
124
123
147
140
162
187
212
238
255
255
255
254
247
233
238
221
222
234
186
190
190
199
209
203
193
202
219
222
211
204
205
212
215
221
225
228
228
222
215
207
202
197
194
212
200
189
190
195
196
194
194
220
221
225
229
232
229
220
212
203
212
218
224
228
232
233
231
238
237
244
253
255
253
255
255
248
249
249
240
235
233
232
226
227
224
224
225
228
231
235
238
236
235
236
237
237
234
227
219
222
221
221
222
224
227
233
236
238
238
240
240
242
239
235
231
228
205
215
202
249
255
246
237
228
243
255
255
255
245
201
148
83
88
84
79
89
83
69
71
61
64
73
83
95
101
103
101
99
97
98
99
101
102
104
105
108
107
102
99
97
96
96
96
94
94
95
96
97
100
102
102
93
92
93
68
70
74
80
82
87
93
95
96
97
96
95
98
103
111
115
119
122
124
121
112
103
96
92
96
102
111
121
132
141
150
156
160
161
163
164
166
165
165
164
165
163
162
162
159
153
142
131
113
104
99
102
108
115
128
143
150
169
181
192
216
235
246
255
249
255
237
223
217
239
204
197
196
195
192
195
198
202
208
213
210
214
215
211
205
205
216
226
224
225
222
215
207
201
198
196
194
198
203
205
204
197
187
182
199
208
217
224
227
225
216
208
205
213
220
227
232
237
240
244
251
250
251
253
255
255
255
255
255
255
255
254
244
237
233
232
221
221
222
224
227
230
233
235
235
236
235
233
231
226
221
219
220
219
220
222
223
226
227
230
236
237
240
241
241
237
232
228
222
212
211
215
255
255
248
241
247
236
249
255
245
230
178
97
71
65
75
82
79
66
59
60
65
69
75
83
91
97
100
100
98
96
97
99
101
104
108
109
108
105
103
102
102
101
99
97
100
100
98
99
100
100
101
97
91
92
95
61
63
70
74
80
84
91
93
96
96
94
94
99
104
110
115
116
118
116
112
103
97
93
92
101
107
116
125
134
141
148
152
155
156
157
158
158
157
156
155
158
156
156
155
154
147
136
128
115
107
100
101
107
113
124
141
157
178
187
195
211
221
224
235
251
255
247
238
227
235
199
194
197
195
192
193
196
200
207
211
213
213
211
210
209
209
212
216
223
224
220
214
207
200
193
190
190
193
198
201
202
200
197
194
191
199
209
216
218
215
204
195
202
211
221
229
237
244
249
253
255
255
255
255
255
255
255
255
255
255
255
255
247
241
234
230
220
220
222
224
227
230
233
235
235
236
235
232
228
223
220
217
219
219
220
220
222
223
225
227
231
234
235
235
235
232
228
223
221
209
207
239
255
255
241
249
248
247
244
243
239
205
139
89
69
60
62
67
67
61
56
58
60
75
92
101
104
101
100
100
97
97
97
99
103
105
107
108
108
106
104
102
103
102
102
100
102
100
100
100
101
101
102
98
93
95
98
54
58
63
68
75
79
86
89
94
92
92
94
99
104
111
115
115
113
106
99
92
90
92
92
104
110
119
127
134
138
143
145
147
147
147
147
148
147
147
146
149
147
148
148
147
140
131
126
121
115
103
100
100
104
117
135
166
190
203
208
218
222
220
226
251
255
255
255
247
238
196
192
196
193
192
192
194
198
204
208
214
211
206
208
212
212
206
203
218
218
217
214
208
201
194
190
189
192
194
196
199
202
203
204
199
202
207
208
210
209
202
197
204
214
223
231
241
246
251
255
252
252
251
249
251
250
252
254
255
255
254
253
247
242
236
229
220
220
222
224
229
231
233
235
237
238
237
234
229
225
220
216
218
217
218
219
221
222
224
225
225
226
227
227
227
225
221
218
219
204
211
255
255
249
237
255
247
255
240
233
227
171
101
81
65
52
53
58
63
62
60
62
62
88
115
128
119
104
97
97
96
96
97
99
104
106
107
108
110
107
104
103
104
104
102
100
101
100
99
100
102
102
101
98
99
101
104
50
53
59
65
71
75
82
86
88
89
89
94
99
105
111
114
114
106
96
87
84
87
92
97
108
114
123
130
136
138
140
141
143
143
143
142
143
142
142
141
143
142
143
144
143
137
128
126
127
121
107
99
96
98
109
128
161
193
209
217
228
228
224
228
236
237
254
255
255
245
201
196
194
191
191
190
193
197
200
206
216
212
206
206
209
209
203
199
210
211
210
210
209
205
200
196
196
196
198
198
199
200
201
203
211
211
208
203
203
207
207
206
206
217
226
235
242
247
249
252
249
247
247
248
251
253
255
255
255
253
250
249
247
242
233
225
220
220
222
224
229
231
233
235
238
238
238
234
230
225
220
215
216
216
216
217
218
220
221
221
219
220
221
220
220
218
215
214
213
206
231
255
254
243
243
255
251
252
240
228
196
129
78
72
54
50
56
62
65
63
65
69
84
112
143
151
131
106
95
93
95
97
98
102
107
108
109
109
111
108
105
104
105
105
104
103
102
100
100
101
103
104
102
100
103
105
108
45
51
56
60
66
71
77
81
83
83
85
90
97
105
109
108
106
98
88
80
81
88
96
102
111
117
124
130
134
135
138
139
139
139
138
137
137
136
138
137
140
139
141
141
141
135
126
127
131
125
108
99
92
91
102
122
149
187
209
219
230
231
224
227
228
226
247
255
255
244
201
193
192
191
191
192
194
197
199
205
216
217
210
207
204
201
200
201
207
209
210
209
207
204
203
203
202
201
202
201
200
198
197
197
208
208
205
201
203
206
205
204
208
217
228
236
244
249
251
252
252
251
252
252
254
255
255
255
255
251
247
245
241
237
228
221
220
220
222
226
229
231
234
236
241
241
239
237
230
225
218
215
216
214
214
216
216
217
218
217
213
213
214
213
212
211
211
211
208
215
255
255
255
240
255
250
255
242
237
215
148
91
71
63
49
52
58
60
58
62
80
94
121
144
170
168
142
111
97
94
96
99
101
106
111
112
111
111
111
108
105
103
105
105
105
104
102
101
100
101
103
104
103
101
105
105
108
43
46
52
56
62
66
72
75
78
78
79
87
95
102
103
103
98
91
81
78
82
91
101
108
117
122
127
131
134
134
136
137
135
134
134
133
133
133
135
135
141
140
141
140
139
132
123
124
129
126
109
100
92
89
99
118
146
183
209
219
231
231
228
231
236
230
247
243
254
230
196
190
194
193
193
195
196
200
203
207
214
216
212
206
199
196
198
202
207
214
217
214
206
200
202
203
201
200
201
201
202
200
200
199
202
207
210
211
214
213
206
201
210
220
231
240
246
250
253
253
249
247
247
246
247
247
250
250
252
248
245
240
237
231
224
218
220
221
223
226
229
231
234
236
242
242
240
237
230
223
218
214
213
212
212
212
213
213
215
212
208
206
207
207
206
206
206
208
208
232
255
254
255
246
255
246
255
234
221
185
107
71
71
59
56
58
57
53
51
66
102
129
159
169
181
175
146
118
101
96
96
99
103
109
114
114
113
112
111
108
104
102
104
105
105
105
103
102
101
102
104
105
105
102
106
107
110
40
43
47
51
55
60
64
67
73
72
75
82
91
97
98
96
95
90
84
84
92
103
112
118
123
126
131
132
132
131
133
134
131
130
131
130
131
133
136
136
141
139
139
139
137
129
119
117
125
121
107
101
93
91
100
116
140
176
202
214
226
230
231
237
245
237
247
222
229
210
195
199
197
196
197
200
202
205
208
212
211
212
210
205
199
194
192
195
200
213
225
222
211
202
201
205
200
200
200
200
202
202
203
203
205
210
215
216
218
219
215
210
220
229
238
245
249
249
250
248
242
239
237
237
239
239
242
241
244
244
242
236
229
225
223
221
220
221
223
227
230
233
234
236
244
244
241
238
230
224
218
212
211
209
208
208
208
208
209
208
203
200
200
199
200
200
203
206
213
250
255
255
253
254
255
250
244
230
192
135
84
67
68
62
66
64
58
54
57
80
125
159
176
175
176
166
146
123
103
95
94
99
105
111
115
115
113
111
110
107
103
101
103
104
105
105
102
100
100
101
103
104
105
102
106
108
111
38
40
45
49
51
55
58
60
71
68
71
79
90
95
94
92
96
92
89
92
103
113
122
127
129
130
133
132
131
129
131
131
132
131
132
131
133
135
138
140
141
140
139
138
133
127
115
111
117
114
105
102
99
97
102
115
125
159
184
197
215
226
233
240
247
241
247
209
212
197
200
212
199
199
201
205
208
211
216
217
207
206
206
203
199
193
190
188
192
209
227
228
216
203
203
208
202
201
199
198
200
202
206
208
211
213
213
210
213
218
221
220
232
241
247
251
250
245
242
239
237
234
234
235
237
241
244
243
239
238
236
233
226
222
223
225
221
222
225
227
230
233
234
236
244
244
241
236
230
223
216
211
208
205
205
204
205
205
205
204
197
194
195
194
195
198
201
205
220
255
255
255
250
255
246
251
228
224
162
91
71
70
64
67
71
70
64
63
69
96
139
170
177
171
166
157
142
123
102
90
94
97
104
111
114
114
112
110
110
106
102
100
102
104
105
105
102
101
100
101
103
104
104
101
107
109
112
40
39
40
41
46
51
55
57
61
63
68
74
79
86
90
93
89
91
94
101
110
119
127
132
140
140
138
134
130
128
130
131
128
129
131
132
134
136
139
140
138
138
137
135
128
119
107
102
106
108
104
102
101
102
106
114
114
135
166
193
209
220
237
247
249
230
212
206
209
215
214
212
207
205
207
209
212
216
220
220
208
205
204
202
197
193
190
188
194
190
233
223
195
209
206
199
202
201
200
199
200
201
203
204
208
215
220
220
217
218
226
236
245
242
240
246
246
241
237
237
236
230
228
229
235
240
241
239
242
238
234
230
225
223
220
220
222
225
227
230
233
236
237
239
244
243
240
237
231
224
215
207
202
200
199
198
199
199
200
199
193
196
190
182
188
201
206
201
255
255
255
252
245
242
247
240
228
171
110
78
67
65
66
66
77
77
67
68
88
125
155
167
171
159
152
148
130
102
88
89
93
99
105
110
109
108
107
108
105
102
99
99
102
104
102
100
103
104
103
102
101
102
106
107
113
113
114
42
41
41
41
45
49
53
55
59
62
65
72
79
83
88
90
92
94
100
107
117
127
135
139
141
140
137
133
128
128
128
130
133
134
135
137
139
140
141
142
138
137
134
130
123
116
108
100
99
98
101
102
105
108
110
113
121
130
149
173
199
221
243
254
240
227
217
213
217
220
219
214
211
209
209
212
215
220
223
221
206
201
200
198
196
193
191
190
196
203
228
220
200
204
200
194
202
203
202
202
203
204
206
207
211
214
217
215
213
216
222
231
248
241
237
239
240
238
235
235
228
220
216
223
238
248
248
243
233
231
229
226
225
224
225
225
224
226
229
231
233
236
237
238
243
242
238
234
228
220
211
203
198
195
194
192
192
193
193
193
189
193
187
179
185
192
201
215
255
255
253
246
242
242
240
224
170
131
95
72
59
59
73
85
81
84
87
100
119
140
154
159
152
154
154
141
114
89
84
92
95
98
105
109
108
107
105
105
103
101
99
99
103
105
104
103
105
105
105
103
103
102
108
109
112
111
114
45
45
44
44
47
49
51
52
57
60
64
69
75
81
85
86
92
94
102
112
122
133
141
144
144
142
138
135
129
127
127
128
134
136
138
140
140
140
140
139
137
134
128
123
117
110
105
99
93
93
97
103
109
112
114
114
122
123
137
164
199
224
245
252
226
222
221
222
225
225
221
218
212
211
211
213
216
221
224
221
203
196
194
193
194
194
193
192
195
220
218
213
206
196
196
190
198
199
199
201
202
203
204
205
213
213
214
215
218
223
229
233
240
237
235
236
238
237
235
234
221
225
236
248
253
250
239
229
226
224
224
224
225
226
228
228
225
228
230
232
235
235
235
236
239
238
236
231
226
217
207
199
194
191
189
187
187
187
187
187
184
189
179
177
182
180
194
235
255
254
243
237
238
236
227
202
130
102
85
71
59
56
65
78
72
83
103
129
146
149
148
149
146
156
154
128
92
72
78
91
95
99
104
108
106
104
103
102
100
100
99
101
104
107
107
106
105
105
105
104
103
104
108
111
115
115
117
50
48
48
48
49
50
51
52
57
59
63
68
73
77
82
83
88
92
100
110
122
132
140
145
148
147
142
137
130
127
127
128
132
134
137
141
139
137
135
133
133
128
121
114
109
107
105
99
92
90
97
103
111
115
117
119
118
123
139
171
205
226
237
239
219
220
225
227
227
225
224
219
214
211
209
212
216
220
224
218
200
189
188
189
191
194
195
196
198
233
211
204
209
190
192
192
192
196
197
199
200
203
204
205
210
212
213
219
227
233
236
236
232
236
239
238
234
230
228
226
243
252
255
255
243
228
223
221
223
222
222
223
225
226
229
230
229
230
232
233
235
235
235
236
238
238
234
229
223
214
204
197
190
186
182
181
181
180
179
179
179
183
173
173
179
171
193
252
253
249
238
232
229
220
206
177
119
92
79
74
70
64
61
61
65
81
110
138
149
145
141
144
157
161
144
108
75
65
76
87
95
100
105
107
105
103
100
101
98
99
100
103
106
108
109
110
106
106
106
104
103
105
109
112
119
118
118
55
54
54
53
53
53
54
54
59
61
64
68
73
77
81
82
86
89
97
107
117
128
136
140
149
148
144
139
132
129
127
127
129
132
135
137
138
134
129
128
127
122
114
109
106
105
106
102
97
95
100
105
110
116
122
125
127
136
157
182
205
216
223
226
221
223
226
227
225
223
221
220
211
208
207
209
212
217
221
216
196
185
181
183
189
194
199
199
208
245
214
201
207
184
183
188
191
195
198
200
202
204
207
209
208
210
214
222
229
234
232
230
233
239
240
234
228
228
232
237
255
255
241
221
209
209
220
231
224
224
224
224
226
227
229
229
230
231
234
235
235
235
232
234
238
238
234
228
223
214
203
195
186
181
179
175
175
172
172
172
170
172
166
167
170
171
203
255
243
241
235
226
215
199
178
153
103
83
80
78
73
66
63
65
77
94
120
139
145
141
143
151
157
146
117
82
63
66
79
86
98
101
105
106
105
101
98
99
98
102
103
105
107
109
110
111
106
107
106
105
105
106
110
114
120
118
118
63
61
61
61
61
59
59
59
63
64
67
70
75
78
81
82
89
90
95
103
113
123
131
135
143
143
141
138
131
126
122
121
123
124
128
131
131
127
124
122
118
114
109
106
107
108
108
107
103
102
103
106
110
118
124
131
150
157
169
185
197
204
213
221
225
225
226
226
224
222
220
218
209
205
204
206
209
213
217
211
193
180
176
178
187
196
201
203
217
248
227
206
204
184
172
181
188
191
192
195
197
201
206
209
217
219
222
229
234
234
231
227
232
235
236
232
236
248
255
255
249
226
202
192
201
214
223
224
226
225
226
225
227
228
229
230
233
233
234
235
235
234
232
233
239
236
232
227
221
211
201
192
182
178
174
170
169
168
165
165
165
160
160
160
162
181
219
249
237
237
231
216
198
177
156
136
84
77
83
77
63
57
65
78
108
119
132
137
141
144
148
152
131
110
81
60
57
65
79
87
99
101
106
107
105
101
97
99
99
105
106
108
108
108
109
110
109
109
109
108
107
109
114
115
124
123
122
68
68
68
67
67
67
66
66
68
69
71
74
79
82
84
85
92
92
92
97
105
114
123
129
134
136
136
132
127
121
116
111
112
114
118
119
119
116
115
114
109
108
106
107
109
111
111
111
110
109
107
108
111
117
125
137
161
167
174
186
197
204
212
220
224
225
225
224
224
221
216
212
207
202
201
202
205
210
213
207
191
177
172
174
186
196
202
206
216
240
241
217
204
190
166
179
190
193
193
194
197
201
207
212
225
227
228
231
233
233
232
231
231
230
230
233
244
255
255
248
204
193
189
195
213
222
223
217
226
226
226
226
228
229
231
233
234
235
235
235
235
232
232
233
235
233
230
224
219
209
198
190
179
174
170
166
164
163
163
160
161
150
156
154
154
195
237
237
235
232
220
202
182
161
142
127
78
75
80
76
69
71
87
105
127
130
131
125
131
142
137
124
88
71
57
54
58
61
74
87
101
104
108
108
105
99
97
97
102
108
109
110
108
107
107
109
112
113
112
112
111
113
116
119
126
123
121
73
74
73
73
73
73
72
72
73
74
76
78
82
84
88
89
93
91
92
94
100
110
120
125
129
131
133
131
125
117
111
107
105
106
109
109
109
108
107
106
103
104
104
107
110
113
113
112
112
111
112
115
119
126
137
147
162
166
171
186
200
211
217
221
223
223
223
223
223
221
216
209
207
204
202
203
206
209
211
206
190
175
168
172
182
193
201
204
204
224
248
224
208
202
171
184
202
204
202
203
205
210
220
225
226
226
227
226
226
227
229
229
228
224
221
225
234
234
211
184
184
190
201
208
214
217
225
231
226
226
226
228
229
231
233
234
234
234
235
235
233
232
231
231
233
230
226
222
214
204
194
185
174
170
166
162
160
158
159
155
152
140
153
152
151
205
246
222
229
217
200
183
167
155
141
128
84
67
66
72
88
110
132
148
135
134
124
110
117
130
117
91
59
52
53
61
60
57
67
85
103
105
108
109
106
102
98
99
104
108
111
110
108
105
106
106
115
115
115
114
114
115
119
122
119
117
116
82
82
82
82
82
82
82
82
85
86
87
88
89
91
92
92
98
97
97
98
101
107
113
117
122
124
127
127
124
117
109
101
99
96
95
95
94
94
97
98
101
103
105
107
107
109
109
106
106
114
113
117
139
156
162
170
164
165
166
176
194
210
221
222
223
222
222
222
222
219
216
215
213
212
210
210
210
210
212
205
189
182
174
169
171
183
192
195
200
206
212
219
221
212
194
183
221
216
212
211
215
219
221
223
223
230
234
234
229
224
222
220
220
209
199
191
185
186
191
195
195
199
208
217
224
229
233
236
230
229
229
229
229
229
229
229
224
225
228
229
230
231
231
231
235
230
223
220
214
205
193
183
169
163
160
155
153
150
151
145
144
139
135
145
188
228
229
205
189
181
170
162
155
150
149
138
88
61
56
86
127
155
161
156
146
126
104
92
89
84
72
63
58
64
60
58
60
58
65
82
93
103
112
111
108
106
105
103
108
109
111
108
109
107
109
109
113
113
114
114
116
118
121
122
123
111
101
87
87
87
87
87
87
87
87
88
89
89
91
92
93
94
95
100
99
99
99
102
106
110
112
114
116
118
118
115
109
103
98
94
90
89
87
88
88
92
94
99
99
102
103
105
106
107
106
102
111
119
129
153
168
175
180
173
170
171
177
190
204
216
220
221
220
220
220
219
218
217
215
215
213
213
213
212
212
212
206
190
182
174
166
167
178
185
190
198
199
203
210
220
225
223
221
219
214
209
208
211
215
217
218
230
234
236
234
230
226
225
219
205
194
187
180
178
181
186
191
198
205
213
220
226
230
235
239
233
231
231
230
230
229
229
227
226
227
227
228
228
228
229
229
228
227
223
217
208
196
183
172
165
160
156
151
150
146
147
140
128
128
137
157
191
215
209
183
172
164
157
152
151
151
152
140
96
83
94
122
153
165
153
136
106
97
84
74
70
63
57
53
58
65
61
58
61
58
64
82
94
103
113
112
110
107
107
104
109
110
109
109
107
107
108
109
112
112
112
115
117
120
120
120
110
100
90
93
93
93
93
93
93
93
93
91
92
93
94
95
96
97
97
101
101
100
100
101
102
104
104
105
106
107
107
105
102
98
95
90
87
85
82
81
83
87
88
94
94
97
99
103
105
107
105
101
113
123
136
162
175
177
182
182
183
182
184
189
197
204
211
217
219
219
219
218
217
217
215
215
213
213
212
212
212
210
205
192
182
173
163
163
170
179
185
196
196
197
200
208
216
220
225
216
215
210
211
216
222
227
232
236
237
234
231
230
227
224
217
193
184
179
175
175
178
182
187
200
205
213
217
223
229
234
238
234
233
233
231
231
230
229
229
227
228
228
227
227
226
225
222
221
220
218
211
200
185
173
165
161
157
153
148
147
144
144
138
122
121
136
160
185
192
184
171
162
156
153
151
151
151
152
139
115
122
147
164
171
158
124
91
63
65
65
63
58
54
54
53
57
64
61
57
61
57
64
81
96
105
115
114
112
109
109
107
112
113
111
110
108
108
108
110
112
112
112
117
120
121
117
113
95
86
79
97
97
97
97
97
97
97
97
95
96
96
97
98
99
100
100
101
102
102
103
103
102
102
102
104
104
104
104
103
101
100
99
93
90
86
82
80
80
84
85
87
89
91
93
97
100
102
102
103
111
119
138
169
182
180
183
193
195
195
193
189
189
193
202
213
217
218
217
218
216
216
213
213
212
212
212
212
212
210
205
193
182
172
162
157
162
172
181
188
191
195
197
203
206
206
211
220
223
218
218
222
226
232
235
235
235
232
229
228
224
217
204
185
177
175
174
174
176
179
181
195
202
210
217
223
227
234
236
237
235
235
234
234
232
231
230
226
225
223
224
222
220
219
217
214
213
210
202
187
175
164
158
156
152
148
146
143
141
140
135
128
118
129
153
170
172
169
166
157
152
148
148
149
149
151
141
137
153
173
166
144
115
78
47
45
51
58
61
59
58
58
60
57
63
60
57
60
57
63
80
97
106
116
115
114
111
111
109
112
115
112
111
109
109
110
112
113
114
116
121
123
119
109
101
90
82
77
99
99
99
99
99
99
99
99
99
99
100
100
101
102
102
102
102
103
104
105
105
105
104
103
106
105
105
104
104
104
104
104
100
96
91
86
80
78
78
78
80
82
84
86
88
91
93
95
99
105
112
134
172
189
191
197
205
210
209
203
194
187
184
190
208
215
216
215
217
214
214
212
212
212
212
210
210
210
210
205
193
182
171
161
154
155
163
175
179
186
194
199
203
206
208
216
232
234
228
226
223
223
225
225
233
232
231
230
226
218
206
191
181
174
174
173
173
173
173
175
184
193
205
215
221
225
231
235
237
238
238
237
234
232
231
228
225
223
223
220
219
217
215
212
207
203
197
185
173
163
158
154
150
147
145
141
138
137
136
131
131
117
123
147
164
161
158
161
152
146
144
141
143
148
151
143
141
152
157
128
93
68
50
36
45
48
53
57
60
61
58
58
57
62
59
56
59
56
62
80
98
107
117
116
115
113
113
111
114
114
114
112
109
109
112
115
116
118
120
123
122
113
100
89
92
85
81
101
101
101
101
101
101
101
101
101
102
102
102
103
103
104
104
103
104
105
106
106
106
106
106
106
105
104
104
104
104
105
106
102
98
94
88
83
77
75
73
75
76
76
78
80
81
83
84
92
95
100
124
161
181
193
211
214
220
219
210
200
189
178
183
204
212
213
213
214
213
213
212
212
210
210
210
210
210
210
205
193
181
171
162
153
149
155
167
178
185
191
195
197
203
210
223
233
237
234
232
229
228
225
224
223
224
226
224
217
207
194
181
177
172
172
171
170
169
169
171
175
183
197
206
214
222
227
232
236
239
239
238
235
233
231
228
226
224
222
218
217
213
209
205
195
187
179
170
161
155
152
149
145
141
138
136
134
132
131
127
125
116
126
151
163
156
149
152
149
144
142
140
142
147
153
145
126
121
114
85
59
47
48
48
51
52
54
60
64
63
60
55
56
62
58
55
58
55
61
79
98
107
117
117
116
113
114
112
114
115
114
112
110
112
115
118
121
123
122
120
113
103
93
88
95
87
82
103
103
103
103
103
103
103
103
103
103
103
104
104
104
104
105
106
106
106
106
105
105
105
105
105
104
104
104
104
104
104
104
102
101
98
92
87
80
76
73
73
71
71
71
72
73
72
74
82
89
92
105
129
149
174
209
217
223
223
217
207
195
183
180
201
211
212
211
213
211
211
211
210
209
209
209
209
209
209
205
193
181
172
163
152
144
149
161
173
182
191
192
194
199
208
222
232
238
236
233
229
224
220
217
204
207
211
207
199
189
180
171
170
167
167
166
165
166
166
169
170
177
188
195
203
211
220
228
233
236
236
235
233
232
229
226
224
221
218
213
207
202
199
191
177
169
162
156
152
148
145
141
139
137
135
131
130
128
127
125
120
120
133
152
157
148
144
149
147
144
144
144
146
149
152
142
107
86
74
61
54
50
52
53
54
56
61
67
69
67
64
59
55
61
58
55
58
54
61
78
97
107
117
117
116
114
114
112
113
114
113
112
111
114
117
121
127
126
122
113
102
95
93
94
97
89
82
104
104
104
104
104
104
104
104
103
104
104
104
104
104
105
105
109
108
106
105
104
103
103
104
105
105
105
105
104
104
104
104
103
102
101
98
92
85
80
77
69
68
68
68
66
66
66
67
74
84
85
89
101
115
146
192
215
222
223
220
213
204
189
184
203
207
208
210
210
210
210
210
209
209
209
209
209
209
209
205
193
182
173
167
153
143
147
159
163
176
192
198
204
208
217
227
236
238
233
226
214
202
192
187
183
187
190
187
179
169
164
160
161
159
160
161
161
163
163
164
169
173
178
184
191
201
212
224
229
232
232
231
229
228
225
222
220
216
210
202
196
188
184
176
162
153
149
147
145
143
139
133
136
133
131
128
126
124
123
123
121
128
140
150
146
139
144
153
145
146
148
150
150
151
150
140
97
69
54
56
62
60
51
45
49
55
66
71
72
66
63
59
55
61
57
54
58
54
60
78
97
106
117
116
116
114
114
112
113
113
113
112
112
115
119
123
130
128
120
106
93
89
94
101
99
90
83
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
103
103
102
101
98
90
83
77
72
69
65
64
63
63
63
63
72
74
67
75
92
96
128
189
217
224
226
229
226
215
203
201
199
203
204
205
205
206
209
211
210
210
210
210
209
209
209
206
187
182
177
168
154
148
149
156
174
179
186
193
205
215
226
234
232
232
221
201
187
180
176
169
171
169
164
160
155
150
147
146
150
152
153
154
155
156
158
161
162
165
171
176
182
190
197
204
218
224
226
226
226
222
218
215
216
210
199
187
178
170
166
159
153
146
145
141
139
136
135
133
128
125
124
124
124
123
121
120
119
139
151
147
142
145
147
142
152
152
145
144
151
149
148
147
93
73
65
66
62
55
50
52
52
72
90
87
77
68
65
61
58
62
59
58
59
52
59
80
99
108
117
115
114
112
114
113
112
113
114
114
115
118
123
127
130
120
106
96
94
97
102
104
100
91
84
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
104
104
103
103
100
94
85
79
73
69
66
64
63
62
62
61
66
65
64
72
77
82
124
185
201
221
234
230
226
226
219
209
205
206
207
207
207
206
205
205
206
208
208
208
208
208
208
205
201
197
188
174
159
150
150
155
168
180
195
209
222
230
233
234
224
219
208
190
175
171
165
159
159
156
151
149
143
139
135
136
142
143
146
145
148
148
150
153
159
161
164
168
173
178
184
189
202
208
211
213
215
214
212
209
202
195
185
176
169
164
159
153
146
140
138
136
134
132
131
129
126
124
123
121
120
119
117
119
128
144
152
145
140
143
146
144
147
152
152
151
156
148
142
138
93
88
95
90
73
54
52
60
79
89
95
87
74
66
63
60
57
61
58
57
60
53
59
80
100
108
117
116
114
113
114
113
115
114
112
113
116
120
124
127
123
111
99
93
97
101
101
99
100
91
84
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
108
107
105
105
102
97
89
83
77
72
68
65
65
63
62
61
62
58
66
73
69
84
132
181
179
214
239
236
230
235
232
219
203
201
201
201
203
202
200
200
202
203
203
203
203
204
204
203
194
190
182
173
161
158
160
167
188
199
214
225
231
233
229
223
216
209
195
177
166
161
156
152
149
146
143
138
133
130
126
129
132
136
137
137
139
139
142
143
150
152
155
158
162
167
170
175
185
190
193
196
197
197
195
193
182
178
170
163
158
155
152
148
141
136
135
132
130
128
128
127
125
122
122
119
118
117
116
118
136
148
150
142
136
141
145
146
146
153
153
154
154
147
141
141
129
126
128
108
76
54
61
76
101
101
93
80
69
63
61
58
56
59
56
57
61
54
60
80
100
109
118
116
115
113
114
112
117
112
110
112
117
121
125
124
112
102
92
92
101
105
102
95
99
90
83
105
105
105
105
105
105
105
105
106
106
106
106
106
106
106
106
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
110
109
106
106
104
101
95
89
82
77
71
68
67
66
64
62
63
60
71
76
77
110
152
167
158
197
229
239
237
237
234
227
205
199
197
197
200
202
203
205
209
209
210
210
211
211
211
211
211
209
203
198
194
195
199
206
217
221
226
228
228
226
224
220
214
202
189
173
161
155
151
148
142
140
138
133
130
125
123
124
128
131
131
132
132
133
135
136
137
140
143
147
150
156
160
163
170
173
175
176
176
176
175
174
168
165
158
155
149
146
145
142
136
133
131
129
127
126
125
125
124
122
121
119
115
113
114
117
140
146
145
138
135
139
147
151
150
155
152
148
150
144
144
151
148
133
117
89
67
63
80
99
101
92
78
67
63
62
61
59
55
58
55
57
61
55
60
79
98
108
118
117
116
114
114
111
113
111
111
115
122
124
122
117
99
94
91
95
103
106
102
96
98
89
82
105
105
105
105
105
105
105
105
106
106
106
106
106
106
106
106
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
111
110
107
107
107
104
100
96
88
82
78
73
71
68
66
63
64
65
77
83
101
148
170
153
155
179
214
241
245
235
232
233
217
211
205
203
206
210
213
215
218
218
221
221
222
222
224
224
235
232
227
220
216
216
219
224
224
225
227
226
228
226
228
224
218
203
188
174
163
153
147
146
141
138
137
132
130
128
125
125
127
128
128
128
128
129
129
131
130
132
134
138
140
144
146
148
155
158
159
160
161
162
162
162
159
156
152
148
143
140
137
135
132
130
129
128
125
125
124
123
122
121
120
118
113
111
113
116
140
141
137
132
133
140
147
152
152
156
152
147
146
136
131
134
110
90
74
65
73
87
100
106
88
76
63
58
60
62
60
58
56
58
54
56
62
55
59
76
95
105
116
116
116
114
115
112
110
109
112
119
124
122
114
105
90
92
97
101
103
103
104
102
99
89
82
105
105
105
105
105
105
105
105
107
107
107
107
107
107
107
107
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
111
110
107
108
108
107
103
100
94
89
83
77
75
71
69
64
61
66
81
98
129
169
178
155
175
184
208
242
254
243
237
242
227
218
212
208
209
212
214
214
217
218
220
221
222
222
224
224
226
225
220
217
214
215
216
219
224
228
230
232
231
228
223
219
221
205
188
175
165
153
146
144
140
137
136
134
132
129
129
128
128
127
127
127
127
127
127
127
128
129
131
131
133
132
133
133
141
143
145
148
151
154
158
159
153
150
147
144
138
135
132
130
130
129
127
126
123
123
123
122
120
120
119
115
112
111
114
118
139
137
132
130
133
139
146
151
147
153
151
149
144
123
102
96
69
62
63
74
95
107
101
88
77
64
54
55
61
61
58
55
56
58
54
56
62
55
57
73
91
101
114
115
115
114
115
112
109
111
115
120
122
115
105
96
89
94
101
103
102
101
103
104
97
88
81
105
105
105
105
105
105
105
105
107
107
107
107
107
107
107
107
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
111
109
107
108
109
108
105
102
98
94
88
82
79
74
73
65
60
66
86
122
163
178
180
183
197
193
200
222
241
242
233
228
219
213
207
205
207
208
208
205
210
210
212
213
215
216
217
218
221
221
222
221
223
224
227
229
231
234
236
236
231
226
219
214
219
204
188
177
169
155
147
145
139
139
138
137
136
135
136
133
128
125
125
125
125
125
125
124
124
124
126
126
125
125
126
126
131
131
135
137
141
145
149
150
146
145
141
138
135
131
128
126
128
128
126
125
124
122
122
121
117
118
118
114
111
111
115
120
138
134
129
130
133
137
142
145
146
151
147
145
138
110
80
69
65
75
87
96
103
100
86
71
65
55
49
54
61
60
56
55
57
59
54
57
63
55
55
70
86
97
111
113
115
114
116
113
111
113
117
118
115
106
98
91
94
96
99
101
102
102
102
101
96
87
80
105
105
105
105
105
105
105
105
107
107
107
107
107
107
107
107
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
110
109
109
109
109
108
106
103
100
96
90
85
80
77
73
69
65
71
92
137
175
169
169
203
195
189
185
195
216
229
221
205
209
207
205
206
210
210
206
201
207
209
210
212
214
217
220
222
222
223
222
223
225
224
224
225
232
234
232
231
228
228
226
223
215
200
184
177
169
155
146
142
137
136
136
136
136
138
137
136
128
126
126
124
124
124
124
124
120
121
124
124
125
125
125
125
126
127
128
129
132
133
134
134
138
136
136
133
132
128
126
125
125
125
124
121
122
120
120
120
114
117
118
114
110
110
116
120
138
132
128
132
136
140
140
141
149
148
139
132
127
101
71
61
73
90
103
99
89
83
78
74
58
48
44
53
61
60
58
57
59
59
55
57
63
56
56
69
85
97
110
114
114
114
115
113
114
117
118
116
111
102
94
91
100
97
96
99
102
103
101
97
96
87
80
105
105
105
106
106
107
107
107
106
106
106
106
106
106
106
106
107
107
107
107
107
107
107
107
108
108
108
108
108
108
108
110
107
112
116
114
110
106
104
104
103
103
99
91
86
83
78
71
76
74
98
145
182
187
183
185
182
189
194
200
205
208
211
211
205
205
208
211
212
207
206
207
200
201
203
207
212
216
222
222
225
223
223
224
224
225
225
227
227
228
228
227
227
227
227
224
211
197
184
170
160
151
142
134
131
129
129
129
132
135
136
136
133
132
132
129
129
128
128
128
126
126
126
126
126
126
126
126
125
125
126
126
128
128
128
126
128
126
125
124
123
122
120
120
120
120
119
118
118
116
115
113
109
114
110
109
111
109
113
127
133
133
134
136
139
144
148
149
147
141
137
130
111
89
77
79
106
98
89
85
82
77
73
67
55
52
50
54
60
64
64
60
53
51
52
55
57
59
61
60
83
97
110
115
114
114
115
114
117
126
126
112
98
94
94
94
96
98
100
102
101
99
96
94
95
84
75
105
105
105
106
106
107
107
107
106
106
106
106
106
106
106
106
107
107
107
107
107
107
107
107
108
108
108
108
108
108
108
110
114
113
114
113
114
111
109
106
103
107
111
108
104
99
91
82
80
72
81
107
127
132
136
147
177
184
187
192
192
193
194
194
205
197
192
195
205
209
205
199
202
202
204
208
214
219
223
224
223
223
223
223
224
224
225
225
224
225
224
224
226
226
226
224
213
200
186
172
160
148
138
130
128
126
126
127
131
134
136
137
135
133
132
132
131
130
130
130
127
127
127
127
126
126
126
126
125
125
125
125
125
125
124
124
124
122
122
121
121
121
119
119
119
119
116
115
114
114
112
112
107
113
109
108
111
108
112
126
132
133
136
139
144
148
149
148
138
133
128
123
115
104
102
103
94
88
80
76
75
75
71
67
60
56
54
55
60
63
62
59
52
51
53
54
58
60
62
62
81
94
107
112
112
113
115
115
120
124
120
107
96
93
93
92
96
97
99
101
100
98
96
94
93
82
73
105
105
105
106
106
107
107
107
106
106
106
106
106
106
106
106
107
107
107
107
107
107
107
107
108
108
108
108
108
108
108
110
113
111
109
109
113
111
108
104
102
112
123
126
127
122
112
101
84
70
67
77
83
85
93
108
110
117
126
135
146
155
165
171
185
183
181
186
198
206
210
207
208
209
211
213
215
219
222
222
222
222
222
221
223
222
223
223
222
222
221
220
221
221
221
220
214
206
195
179
162
148
136
131
130
127
126
127
131
134
135
136
135
132
132
132
130
130
128
128
127
127
126
126
126
126
126
126
125
125
125
125
124
123
123
123
123
123
122
121
120
120
120
120
116
116
115
115
114
113
111
111
106
111
109
107
108
105
109
125
135
135
139
142
145
146
148
145
140
135
126
116
111
111
108
102
81
75
69
68
69
71
71
69
63
60
57
55
58
60
59
57
54
53
54
54
58
60
61
61
77
90
102
108
110
113
117
116
122
119
110
99
92
92
92
90
95
97
98
100
99
97
95
93
91
80
70
105
105
105
106
106
107
107
107
106
106
106
106
106
106
106
106
107
107
107
107
107
107
107
107
108
108
108
108
108
108
108
110
114
111
109
107
107
108
108
106
106
120
136
145
149
146
137
125
96
79
68
70
72
70
76
86
80
82
86
89
92
97
101
109
136
157
173
181
188
196
208
216
212
213
214
216
217
219
219
221
222
221
221
221
221
221
221
220
219
218
217
217
218
218
219
217
214
211
201
186
167
152
140
133
131
127
126
127
131
132
135
136
132
132
132
131
130
130
127
127
127
127
126
126
126
126
126
126
125
124
125
123
123
123
123
120
123
121
121
121
120
120
120
118
115
115
115
114
113
111
111
109
106
111
108
104
107
104
108
124
138
140
141
143
144
145
144
140
137
133
121
105
100
100
92
78
69
65
61
60
63
67
70
71
66
62
58
57
57
57
56
55
55
54
54
54
58
59
60
60
74
86
98
106
110
115
119
120
123
114
101
92
90
92
92
90
95
96
97
98
97
96
94
93
90
78
69
104
104
104
105
105
106
106
106
105
105
105
105
105
105
105
105
107
107
107
107
107
107
107
107
108
108
108
108
108
108
108
108
114
116
115
109
106
108
115
122
129
144
160
168
171
168
163
153
122
99
79
71
69
66
66
69
75
74
71
68
65
65
64
70
85
113
142
160
175
191
204
211
213
215
216
217
218
218
218
218
221
221
221
219
219
219
219
217
218
217
214
213
213
213
213
214
212
211
206
193
174
158
145
138
132
129
128
128
129
132
134
135
132
131
130
130
130
129
127
127
126
126
126
126
125
125
125
125
124
122
124
121
121
120
120
118
121
121
120
118
118
117
117
116
114
113
113
112
111
110
110
109
106
109
106
104
106
102
106
125
141
143
144
144
144
142
138
131
123
118
107
93
89
89
79
63
58
55
52
53
56
61
67
69
66
63
60
58
56
55
53
52
53
53
54
54
57
58
59
59
71
82
96
105
111
117
121
121
120
110
96
90
91
94
94
93
96
97
98
98
97
96
95
94
87
76
66
104
104
104
105
105
106
106
106
105
105
105
105
105
105
105
105
107
107
107
107
107
107
107
107
108
108
108
108
108
108
108
108
107
110
112
108
107
114
132
145
167
181
196
201
201
197
192
185
164
136
102
80
70
62
59
58
56
56
56
58
60
64
67
71
64
83
104
129
163
192
204
202
211
214
216
218
219
219
220
220
221
221
219
219
218
218
218
217
217
215
214
212
211
210
211
212
212
213
208
198
182
165
150
140
134
130
129
128
129
131
132
133
130
130
130
130
129
127
127
126
126
126
126
126
125
125
125
125
122
122
121
121
120
118
118
116
119
117
117
115
116
115
114
114
113
113
112
111
110
109
108
106
104
108
105
102
104
101
105
123
142
146
145
143
141
135
129
124
115
107
96
86
80
74
64
52
51
50
48
48
50
53
57
60
63
63
62
58
58
53
51
49
51
51
52
52
56
57
59
59
67
79
93
105
112
119
121
119
113
102
90
88
92
93
93
94
96
96
96
96
96
95
94
93
85
74
65
104
104
104
105
105
106
106
106
105
105
105
105
105
105
105
105
107
107
107
107
107
107
107
107
108
108
108
108
108
108
108
108
106
106
107
107
117
136
159
176
195
211
226
231
231
227
222
217
206
184
151
121
95
75
64
59
62
61
61
59
59
58
57
58
63
69
81
99
137
177
199
202
205
209
213
216
219
221
224
223
222
221
221
220
220
219
219
217
218
216
213
212
211
210
211
212
217
217
209
200
188
172
153
140
137
131
129
128
129
131
131
132
130
130
130
129
127
127
126
125
126
126
125
125
125
125
125
125
122
121
120
120
119
116
115
114
116
115
114
113
114
112
112
112
111
111
110
110
109
108
107
105
103
107
104
101
104
98
102
122
144
146
145
142
136
129
120
114
107
94
82
75
67
57
50
48
49
49
48
47
47
48
50
52
57
59
61
60
59
54
51
49
46
48
49
50
55
57
58
58
63
75
91
104
113
119
119
115
103
94
85
87
91
91
91
93
95
95
95
95
94
94
93
93
85
74
64
104
104
104
105
105
106
106
106
105
105
105
105
105
105
105
105
107
107
107
107
107
107
107
107
108
108
108
108
108
108
108
108
112
110
108
116
135
161
188
206
207
224
242
250
251
247
241
240
232
221
193
162
125
94
75
67
65
65
64
66
65
66
67
65
59
66
71
76
102
145
181
199
192
199
206
211
216
222
225
226
221
219
219
220
220
219
219
219
220
217
215
212
212
211
210
213
221
219
210
202
191
176
156
139
138
133
130
128
129
129
131
132
130
130
130
127
127
126
125
125
126
126
125
125
125
125
125
123
121
119
120
117
116
115
114
113
114
113
112
110
112
109
111
111
111
111
110
109
108
106
105
104
102
107
104
99
101
98
101
120
142
146
142
138
131
122
113
104
90
73
63
62
57
48
47
54
52
53
53
52
50
48
48
49
54
58
61
62
60
55
50
49
44
46
48
49
54
56
58
58
60
73
89
103
112
118
117
112
96
88
83
87
91
89
89
92
95
95
94
94
94
93
93
93
83
72
63
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
106
107
107
107
108
108
109
109
109
109
109
109
109
109
109
109
108
105
103
118
147
175
196
218
234
243
246
252
255
255
255
252
253
247
242
224
198
170
136
98
69
68
67
70
71
70
67
70
73
65
66
70
75
101
147
198
233
211
199
191
195
210
219
225
225
220
220
217
210
215
225
225
216
218
218
217
215
215
212
209
211
222
219
211
202
190
176
159
144
140
135
131
129
128
127
129
129
127
127
127
126
126
124
124
124
124
124
124
124
122
122
122
122
121
119
119
117
116
113
112
112
111
109
109
108
109
108
109
109
105
109
112
111
107
103
103
104
101
105
100
93
96
95
98
115
140
143
136
129
125
118
102
84
68
62
58
53
52
51
52
52
54
55
54
52
51
49
47
46
46
50
54
58
58
56
52
49
42
44
45
46
52
55
58
58
54
68
87
104
115
119
114
107
91
88
84
84
87
90
91
90
94
98
98
94
92
95
96
94
83
70
61
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
107
107
107
108
108
109
109
109
109
109
109
109
109
109
109
108
103
111
134
164
193
214
234
247
247
248
252
254
255
255
255
255
255
251
237
215
192
164
130
103
76
71
69
71
72
73
76
75
66
71
81
96
124
166
207
232
255
234
201
188
199
213
219
216
213
210
215
219
218
212
214
221
217
217
218
218
217
214
212
212
220
219
211
203
191
177
160
146
140
135
131
129
128
127
129
129
127
127
127
126
125
124
124
124
124
124
124
124
122
123
123
122
119
117
117
115
114
110
111
109
109
108
108
108
108
106
108
108
107
110
111
110
108
105
103
101
99
100
95
94
98
94
96
112
129
135
135
126
114
100
81
62
58
54
53
51
52
52
53
55
55
55
55
53
52
49
47
47
46
49
52
56
57
56
52
52
46
46
46
45
50
52
56
57
55
68
87
104
116
119
112
103
89
87
84
84
86
89
89
89
91
95
95
92
91
94
94
94
82
70
59
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
107
107
107
108
108
109
109
109
109
109
109
109
109
110
110
108
101
121
151
178
205
228
244
250
251
252
253
254
255
255
255
255
254
250
239
225
210
188
160
135
96
81
68
68
74
76
75
73
68
84
107
130
157
192
219
234
248
255
255
234
190
177
198
219
216
207
202
204
210
214
216
217
214
216
217
217
217
214
213
213
217
217
210
203
192
178
161
147
142
137
131
129
127
126
128
128
127
127
126
125
125
124
123
123
125
125
123
123
123
123
122
120
116
113
114
111
110
108
108
107
108
106
106
106
106
105
106
106
110
109
109
109
109
105
102
99
100
97
93
95
99
92
95
115
125
129
126
112
94
79
63
52
50
48
49
50
52
52
53
55
55
55
54
53
53
50
48
48
46
48
50
54
55
56
56
57
52
51
47
44
47
49
53
54
54
68
89
107
119
119
108
95
87
87
84
84
86
88
89
89
90
93
95
93
93
95
94
90
78
65
54
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
106
107
107
108
108
109
109
109
109
109
109
110
110
110
110
109
106
131
163
185
208
229
243
245
251
251
252
252
253
254
255
255
248
244
238
230
221
206
182
161
128
102
77
70
72
75
72
68
80
106
139
164
183
203
223
234
247
255
255
255
245
227
200
176
194
200
199
195
199
211
213
207
210
212
213
216
214
214
213
213
214
213
210
204
192
178
162
149
142
137
131
129
127
126
128
128
127
127
126
125
125
124
123
123
126
126
124
123
123
123
122
120
114
111
111
109
108
107
106
104
105
105
105
104
104
104
104
104
109
108
106
105
106
106
102
97
101
97
93
97
98
89
97
121
129
118
105
87
73
64
58
56
48
47
51
52
53
53
54
54
55
54
54
52
51
51
49
49
46
47
48
50
53
55
59
60
57
55
50
45
46
47
50
52
52
69
93
114
123
119
102
85
83
84
83
83
84
85
86
86
87
91
93
92
94
95
92
87
73
61
49
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
105
106
107
107
108
108
109
109
109
109
109
109
110
110
111
111
110
113
135
164
183
205
227
242
244
248
250
251
253
252
250
249
246
246
243
240
238
233
222
202
182
157
125
89
71
70
70
67
65
98
133
170
192
203
213
230
241
249
250
251
255
255
255
233
182
164
178
192
199
197
190
193
202
203
206
209
210
211
211
211
211
211
210
208
201
189
175
160
149
142
137
131
129
127
126
127
127
126
126
126
125
124
123
123
123
124
124
124
123
122
121
121
119
110
109
108
108
107
104
104
104
105
104
104
103
103
103
103
104
107
104
102
103
105
104
101
98
99
98
95
93
93
86
98
123
116
97
78
65
61
59
57
57
51
51
53
54
54
55
53
52
54
52
51
51
51
50
49
49
46
46
47
48
51
54
58
60
61
58
53
48
48
47
49
49
50
71
98
119
124
113
92
74
79
81
81
81
81
81
83
83
87
91
93
93
95
95
90
82
65
54
43
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
105
106
107
107
108
108
109
109
109
109
109
110
110
111
112
112
110
108
122
147
171
196
220
237
244
245
246
250
251
251
248
245
241
244
244
244
243
242
233
216
197
177
143
101
77
71
70
71
74
122
158
195
215
222
230
243
252
243
254
255
255
255
255
255
255
212
181
162
178
190
182
182
199
199
202
205
208
208
208
208
208
210
210
206
197
184
170
158
149
142
137
131
129
127
126
127
127
126
126
126
125
124
123
123
123
124
123
123
122
121
120
119
117
110
108
108
106
105
105
104
103
103
103
102
102
102
102
102
102
104
104
103
103
103
104
103
102
97
101
94
92
96
97
105
117
88
69
60
57
59
56
53
51
54
53
55
54
54
53
53
51
50
49
50
49
49
49
49
49
46
46
46
47
48
51
54
55
60
58
56
53
52
50
49
48
48
72
101
117
116
102
82
66
75
78
80
80
78
78
79
81
86
90
93
94
95
95
86
78
59
48
38
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
105
106
107
107
108
108
109
109
109
109
109
110
110
111
112
113
111
104
109
133
163
191
211
229
240
242
245
248
250
252
250
248
246
246
247
250
252
253
247
231
213
192
158
117
90
80
83
91
99
146
176
210
230
242
249
255
255
255
255
249
247
251
255
255
255
255
234
183
168
174
183
185
191
195
198
202
203
205
204
203
204
209
208
204
194
179
166
156
149
140
135
133
129
127
126
127
127
126
126
126
125
124
123
123
123
123
123
121
120
119
118
118
115
110
106
106
106
106
104
104
104
103
102
102
102
100
100
100
102
103
104
105
105
104
105
106
108
103
107
98
97
111
120
116
110
67
53
52
56
56
52
49
50
53
53
53
52
52
52
52
51
47
46
48
46
46
46
48
48
49
48
48
47
48
49
51
52
57
58
59
58
58
54
50
47
50
73
99
109
102
87
73
63
72
76
78
78
76
76
77
79
85
89
91
93
94
92
81
71
54
43
34
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
105
106
106
106
108
108
109
109
109
109
108
109
110
111
110
111
109
107
109
131
165
195
213
230
244
244
247
249
250
252
252
252
253
251
254
255
255
255
255
239
221
193
162
124
98
88
93
109
124
165
187
215
235
250
255
255
254
253
250
250
251
250
244
247
255
255
255
250
188
157
171
183
177
192
198
201
202
202
201
199
200
207
205
199
188
173
159
149
145
138
132
130
129
127
126
128
128
126
126
126
125
124
123
123
123
122
122
120
119
118
117
117
113
109
107
106
106
105
105
105
104
103
102
103
102
102
102
102
102
102
106
109
107
106
106
109
111
108
111
100
99
122
134
121
98
62
51
52
55
52
47
50
57
51
50
50
48
49
50
52
52
46
44
47
45
47
47
47
47
49
48
48
47
47
47
48
48
55
57
60
61
59
56
50
45
50
74
99
104
93
79
70
65
72
75
78
78
75
74
76
78
84
87
90
91
93
90
78
67
50
41
31
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
106
106
106
108
108
109
109
109
103
106
110
111
104
102
115
129
137
149
170
194
215
233
245
248
252
254
255
253
250
249
250
251
249
250
249
252
254
249
233
213
186
152
113
95
98
114
132
145
180
202
226
240
247
251
253
252
255
254
254
253
254
254
254
254
251
255
255
255
215
163
155
178
193
195
198
201
205
206
203
202
198
195
190
181
166
154
144
139
133
129
127
127
128
128
129
129
127
126
124
123
122
122
119
118
119
119
119
119
118
117
113
110
108
105
105
104
104
103
103
103
102
103
105
105
104
103
101
101
104
106
109
107
106
105
105
107
103
106
100
118
126
138
140
82
55
52
52
51
51
51
50
50
49
49
51
48
50
47
49
47
47
46
47
46
47
47
47
47
48
47
47
46
46
47
47
47
49
51
54
56
57
55
53
51
52
68
87
91
80
69
64
66
73
75
75
75
74
74
76
79
85
89
92
93
93
87
72
59
37
38
36
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
106
107
108
109
109
109
105
106
109
106
103
108
126
144
167
183
208
225
241
250
255
255
254
255
255
254
251
248
246
247
247
248
248
247
249
242
223
204
180
145
107
89
95
116
140
157
191
211
231
243
247
251
252
251
254
254
254
254
254
254
254
251
241
237
247
255
255
239
196
164
176
186
193
196
194
188
190
196
196
195
191
180
166
153
144
138
130
127
126
124
126
127
128
128
125
125
122
122
121
120
118
118
117
118
116
116
116
114
111
109
108
105
106
104
105
104
103
103
101
101
103
104
106
106
106
107
107
108
107
107
107
106
106
105
103
107
103
117
129
140
134
75
54
51
51
51
50
50
50
49
49
49
49
48
48
47
47
47
47
47
47
47
47
47
47
47
48
47
46
46
46
46
47
47
46
47
49
52
54
54
54
53
54
67
80
82
73
65
66
69
74
74
75
75
73
72
73
74
83
88
92
93
91
84
67
54
38
39
37
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
106
107
108
109
109
109
109
107
109
106
107
119
145
167
190
209
235
246
253
254
255
255
254
255
255
253
250
245
241
241
244
245
246
245
245
238
219
201
176
147
117
107
116
136
159
174
205
222
239
248
251
254
254
253
254
254
254
254
254
254
254
253
245
251
254
255
255
255
248
215
147
164
168
167
183
207
206
189
196
198
195
185
170
157
149
144
134
129
126
123
122
122
122
122
120
120
119
119
117
116
116
116
114
114
114
114
111
110
108
107
108
106
108
106
107
105
105
104
103
103
102
103
104
105
107
107
108
106
105
104
107
106
105
102
102
108
106
117
134
145
128
69
53
50
50
50
49
49
49
48
49
49
49
48
48
47
47
47
47
47
47
47
47
47
47
47
47
47
46
45
45
46
47
46
43
43
45
47
50
52
54
55
56
63
69
67
59
56
62
68
74
74
76
75
73
71
70
71
82
88
93
94
90
80
61
46
38
39
37
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
106
107
108
109
109
109
110
108
108
108
112
128
158
185
195
218
244
250
251
251
253
251
255
255
255
251
245
238
233
231
237
240
241
241
242
234
216
199
178
161
145
144
156
170
182
192
220
233
246
251
253
255
255
253
254
254
254
254
254
254
254
254
251
255
255
245
246
255
255
255
232
183
148
163
185
184
180
190
193
198
197
188
173
161
152
149
139
133
128
124
121
119
117
118
118
118
118
117
115
114
114
113
111
111
111
110
107
106
106
105
109
110
109
108
108
107
105
105
108
106
104
102
102
102
104
102
106
102
101
102
104
105
102
99
99
104
105
115
133
143
112
57
52
50
49
49
49
48
48
48
49
49
49
48
48
47
47
47
46
46
46
46
46
46
46
46
46
46
45
45
45
45
46
45
42
41
42
43
46
49
52
53
54
58
60
56
50
50
56
62
68
69
75
74
75
71
72
70
83
88
96
94
90
76
57
41
38
37
35
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
106
107
108
109
109
109
108
107
110
111
116
133
164
191
205
229
251
251
250
252
255
253
255
255
254
247
239
231
224
222
231
234
237
236
238
232
218
204
194
183
177
182
193
201
210
217
232
242
250
252
253
255
255
252
254
254
254
254
254
254
254
255
255
255
250
248
252
254
254
253
255
245
196
157
151
165
180
186
189
196
195
188
176
166
157
152
143
137
130
124
119
115
114
115
113
115
115
114
114
114
112
111
110
109
108
107
106
105
105
106
110
112
112
109
109
108
105
105
108
107
104
101
101
101
101
100
102
99
99
100
100
100
98
95
94
101
106
114
132
132
91
51
50
50
49
49
49
48
48
48
49
49
49
48
48
47
47
47
46
46
46
46
46
46
46
46
45
45
44
44
44
44
45
44
44
43
42
42
43
46
48
50
50
53
54
53
49
49
53
56
61
64
70
72
74
73
75
75
84
91
99
97
89
74
54
38
36
36
34
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
106
107
108
109
109
108
106
107
108
111
115
129
159
184
213
236
251
251
250
253
255
253
255
255
252
243
235
227
221
220
228
231
233
234
235
232
223
211
211
204
203
208
215
224
234
240
243
249
253
253
253
255
254
252
254
254
254
254
254
254
254
255
255
255
253
254
249
246
237
240
235
255
255
204
163
161
170
173
182
188
189
185
178
169
161
153
149
142
133
125
120
115
112
112
112
113
113
113
113
112
111
111
111
110
109
107
104
104
104
108
111
113
112
112
109
108
106
105
104
103
101
101
100
101
102
100
94
97
99
100
99
96
93
93
93
98
109
115
128
118
70
52
51
50
50
50
49
49
49
48
49
49
49
48
48
47
47
47
45
45
45
45
45
45
45
45
45
44
43
43
43
43
44
44
46
44
42
42
42
43
45
46
45
48
52
53
52
51
51
51
55
57
64
66
71
72
77
77
85
92
100
96
88
71
52
36
36
36
34
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
106
106
106
107
108
109
108
108
108
108
107
107
108
121
149
174
209
233
251
248
248
254
255
249
255
254
249
241
233
227
223
224
228
231
232
231
232
231
224
215
218
217
222
230
238
243
250
255
250
254
255
253
253
255
255
252
254
254
254
254
254
254
254
255
255
255
255
252
245
234
234
242
245
239
255
255
242
171
143
170
175
179
179
179
177
172
162
154
150
143
136
129
122
117
113
113
112
113
113
113
113
113
112
112
113
112
110
108
105
106
106
110
111
114
112
112
110
108
106
105
100
100
99
100
100
99
99
95
90
95
103
104
99
94
91
92
93
93
110
116
124
99
50
54
51
51
51
51
50
50
50
49
49
49
49
48
48
47
47
47
45
45
45
45
45
45
45
45
44
44
43
42
42
43
44
43
45
43
42
42
43
43
44
45
44
47
50
54
55
55
53
52
50
52
58
61
65
68
74
76
84
92
99
94
85
68
50
35
38
38
36
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
106
106
106
107
108
109
108
108
111
109
106
103
102
114
142
168
201
226
247
246
249
254
255
249
255
253
248
240
233
229
227
229
230
233
234
232
232
232
225
216
216
221
234
248
255
255
255
255
254
255
255
254
254
255
255
253
254
254
254
254
254
254
254
255
255
255
251
247
245
243
240
237
240
251
255
255
255
255
216
170
164
169
168
169
173
169
161
151
149
143
137
131
125
119
116
115
113
113
115
113
113
113
113
112
115
113
111
109
108
106
109
111
111
113
111
109
109
105
104
102
102
100
100
98
96
93
92
87
84
91
102
105
98
90
90
92
90
88
107
115
117
85
38
56
51
52
52
51
51
51
50
50
49
49
49
48
48
47
47
47
45
45
45
45
45
45
45
45
44
43
43
42
42
43
43
44
43
41
42
43
43
44
45
45
44
46
50
54
57
57
55
54
48
50
53
57
60
64
70
74
82
91
97
92
81
66
47
34
42
40
38
104
104
104
104
104
104
104
104
105
105
105
105
105
105
105
105
107
107
107
108
109
110
109
109
113
107
107
107
106
112
135
159
187
208
234
246
252
254
255
254
255
254
250
246
244
240
234
231
240
237
235
236
232
225
221
222
224
231
241
249
253
255
255
255
255
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
254
252
250
249
249
254
254
254
255
255
255
255
255
182
162
147
155
165
160
154
155
142
141
135
128
121
116
115
115
114
114
116
115
117
117
116
113
115
113
113
113
112
110
111
111
107
109
108
108
108
104
103
99
99
94
100
99
84
78
77
64
87
80
75
79
93
105
101
86
88
93
111
122
100
61
45
50
52
53
52
52
52
51
51
51
51
51
51
50
49
49
49
48
49
49
48
48
47
47
47
47
44
44
44
44
44
44
43
43
46
45
45
44
45
45
46
46
43
45
48
53
57
61
63
63
55
53
51
49
50
57
66
73
79
86
93
89
76
60
47
41
42
41
40
104
104
104
104
104
104
104
104
105
105
105
105
105
105
105
105
107
107
107
108
109
110
109
107
111
106
107
107
106
113
137
163
190
210
235
247
253
254
255
254
255
254
251
247
244
240
234
232
234
230
228
230
227
223
222
223
230
236
245
250
255
255
255
255
255
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
250
250
253
253
253
253
255
255
255
255
255
255
255
255
254
255
255
217
163
142
146
152
152
150
138
137
135
131
126
122
118
115
117
115
117
117
116
111
112
115
113
112
112
110
111
109
110
109
107
108
109
107
106
103
101
98
100
91
94
94
78
70
71
62
76
71
68
68
77
92
98
96
89
100
115
115
88
58
47
55
54
54
54
54
53
53
53
53
53
53
53
52
52
51
51
51
50
50
50
49
49
49
48
48
46
46
45
45
44
44
43
43
42
42
41
41
41
42
43
44
46
45
46
48
52
57
63
66
59
58
55
52
51
54
60
64
76
83
89
87
76
61
49
43
44
43
42
104
104
104
104
104
104
104
104
105
105
105
105
105
105
105
105
107
107
108
109
109
110
109
107
109
105
106
107
105
113
138
165
191
212
237
247
252
253
255
254
255
253
250
247
244
239
231
229
226
222
221
222
222
221
224
228
237
242
249
254
255
255
255
255
255
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
246
246
250
253
255
255
255
255
255
255
255
255
255
255
250
250
254
255
255
223
168
132
131
145
148
139
127
118
117
118
121
120
113
110
113
116
115
111
113
120
110
109
109
107
108
106
108
106
103
103
103
103
101
99
96
94
98
85
90
96
82
67
69
70
65
66
65
60
63
78
95
105
97
110
118
103
74
52
52
61
56
56
56
56
55
55
55
54
56
56
55
55
55
54
54
54
53
52
52
52
51
51
51
50
48
48
47
46
45
44
43
43
41
41
41
41
41
42
43
44
49
47
44
44
47
54
61
65
64
62
60
56
52
50
51
53
68
75
81
81
72
60
50
46
46
46
45
103
103
104
104
104
104
105
105
105
105
105
105
105
105
105
105
107
107
108
109
109
109
109
106
107
105
106
106
104
109
136
166
191
211
235
246
252
253
255
255
254
253
250
247
244
238
229
226
219
215
214
217
221
222
229
236
247
250
255
255
255
255
255
255
255
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
247
247
250
253
255
255
255
255
255
255
255
255
255
255
250
250
255
255
253
255
255
238
176
118
117
117
119
123
125
120
107
98
123
115
113
115
111
103
100
103
105
105
105
103
102
102
102
101
98
98
96
95
95
91
90
87
88
79
92
111
99
77
73
73
62
63
64
60
60
70
88
100
109
120
116
91
64
54
56
60
57
57
57
56
56
55
55
55
57
56
56
56
56
56
56
56
55
55
55
54
54
54
53
53
51
51
49
48
47
45
44
44
43
43
42
42
43
44
45
45
48
46
43
43
45
50
56
59
64
64
64
61
56
51
49
48
60
66
72
73
68
59
50
46
45
47
46
103
103
103
104
104
105
105
105
105
105
105
105
105
105
105
105
107
108
108
109
109
109
109
106
107
105
105
103
100
106
133
163
189
210
234
244
251
253
255
255
255
255
254
251
247
240
230
226
217
213
210
212
218
224
234
244
253
255
255
255
255
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
250
250
252
255
255
255
255
255
255
255
255
255
255
255
253
252
244
255
255
255
255
255
246
228
208
183
146
118
104
104
109
112
108
105
103
106
110
110
111
111
101
99
99
99
99
99
98
96
93
92
92
90
90
87
84
82
80
78
102
126
114
86
74
71
60
60
63
65
65
68
77
84
120
123
110
85
67
63
62
58
59
57
57
56
56
55
55
55
56
56
56
56
56
56
56
56
57
57
57
56
56
56
55
55
54
53
52
51
50
48
47
47
45
45
44
43
43
44
45
45
44
44
44
44
46
48
51
52
59
61
64
64
60
55
52
50
54
58
64
66
63
56
49
45
45
46
45
102
102
103
104
104
105
106
106
105
105
105
105
105
105
105
105
108
108
108
109
109
109
109
106
107
105
105
103
98
103
130
163
192
212
235
245
251
253
255
255
255
255
255
255
250
242
231
226
215
209
205
206
214
222
236
247
255
255
255
255
255
253
253
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
254
254
254
254
254
253
253
251
252
254
255
255
254
254
254
251
255
254
249
253
255
255
255
255
252
242
226
205
179
155
140
122
125
116
97
87
89
91
88
96
96
96
95
96
96
96
93
92
92
92
89
88
85
82
81
78
81
105
124
109
83
70
62
60
60
63
68
69
68
72
76
121
116
102
84
76
75
70
60
60
57
57
57
56
56
56
56
55
55
56
56
56
56
57
57
58
58
58
58
57
57
57
56
56
56
55
54
53
52
51
51
47
46
45
44
43
43
43
43
43
44
45
46
47
47
47
45
51
55
61
64
63
60
57
56
53
56
60
62
60
55
49
45
44
46
45
102
102
103
104
104
105
106
106
105
105
105
105
105
105
105
105
108
108
108
109
109
109
109
106
106
104
104
102
99
104
133
165
199
218
240
248
252
253
255
255
255
255
255
252
248
239
226
221
213
206
201
202
208
218
233
246
255
255
255
255
254
252
251
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
254
253
250
247
246
245
243
245
250
253
255
255
255
255
252
254
255
255
255
252
248
245
255
255
255
255
255
255
251
248
249
255
227
165
116
101
98
92
94
92
92
93
93
94
94
92
89
87
87
86
85
83
80
78
77
80
96
102
85
69
65
60
63
63
67
72
72
70
79
89
113
106
97
91
89
84
77
66
61
59
59
59
58
58
58
57
56
56
56
57
57
58
58
58
59
59
59
58
58
57
57
57
58
58
57
57
56
56
55
55
52
50
49
47
45
44
43
43
44
44
45
46
46
46
45
43
43
47
54
59
61
60
58
58
53
55
58
60
58
54
48
45
45
46
45
99
99
100
101
101
104
105
105
104
105
105
105
105
105
105
107
107
107
108
108
109
109
107
106
105
104
104
103
100
106
137
170
205
223
242
250
251
253
254
254
250
250
250
248
244
234
223
217
211
204
197
198
204
214
230
244
253
254
255
254
253
252
251
252
253
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
254
252
249
246
244
243
242
245
250
254
255
255
255
255
255
255
255
255
253
251
250
252
244
244
247
247
248
251
255
255
253
255
236
158
96
82
88
88
91
91
90
90
91
91
92
91
85
84
84
81
80
78
75
73
74
76
83
80
64
59
65
63
67
68
72
76
73
74
89
107
102
98
94
95
96
90
83
76
65
64
64
62
62
62
61
61
57
57
57
58
58
58
58
58
59
59
59
58
58
57
57
57
59
59
59
59
58
58
58
58
56
55
52
51
49
47
46
46
46
46
44
44
43
43
44
41
36
41
50
56
59
59
59
59
56
57
59
60
60
55
49
46
46
47
46
92
93
95
96
98
101
103
104
102
104
104
104
106
107
107
108
107
106
109
108
109
106
104
102
102
103
102
98
99
114
150
185
209
224
240
247
247
250
252
252
248
250
249
243
239
236
224
214
216
203
188
188
195
205
219
233
250
253
254
255
254
252
251
252
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
255
255
253
253
254
254
251
249
253
251
253
255
255
255
255
255
255
255
254
254
254
251
251
250
252
252
255
255
255
255
255
255
251
255
233
145
86
88
85
83
87
87
85
85
84
84
84
83
81
82
80
80
77
75
72
71
74
70
65
61
62
68
70
68
77
75
70
67
79
94
96
90
89
91
95
95
95
92
88
85
75
71
68
65
64
62
63
63
60
58
58
57
57
55
55
55
58
57
57
56
56
57
57
58
58
58
57
58
59
60
61
62
56
55
55
55
53
51
50
49
46
47
45
45
46
48
54
55
59
59
60
59
59
60
61
61
58
63
68
68
67
64
55
46
45
44
41
89
90
92
93
97
98
103
103
103
103
105
105
107
108
109
109
108
106
107
108
107
106
104
101
104
103
103
102
106
121
156
186
208
224
240
246
249
249
251
249
249
248
246
238
235
230
221
210
203
193
184
187
194
205
219
228
251
253
254
255
254
252
252
252
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
255
255
253
253
255
255
254
253
255
255
255
254
245
238
244
250
255
254
253
254
252
251
251
250
252
252
255
254
255
255
255
255
248
254
229
141
83
84
82
81
85
85
84
84
83
83
81
81
81
79
80
78
77
74
72
69
71
69
65
63
66
70
74
74
75
75
82
89
93
87
83
83
85
86
90
91
92
92
90
89
82
80
75
72
67
65
66
63
61
58
58
57
55
55
54
54
58
57
57
56
56
57
57
58
58
58
58
58
59
60
61
60
61
60
60
60
60
58
57
56
55
52
51
48
51
57
66
71
79
76
76
70
66
60
59
58
61
68
74
76
75
72
60
51
43
43
40
89
90
92
94
97
99
103
104
105
105
107
107
108
109
110
110
108
107
107
107
107
106
104
101
104
101
100
103
111
127
157
182
204
221
239
246
249
248
248
245
244
241
236
226
222
216
208
199
192
188
187
194
204
215
227
234
251
253
254
254
253
252
252
253
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
255
254
252
253
254
255
254
253
255
255
255
249
232
223
234
246
255
254
253
254
252
251
251
250
252
252
255
254
255
255
255
255
249
254
228
138
80
82
82
82
84
85
84
85
84
83
81
80
81
79
80
77
77
74
73
70
72
69
67
66
70
73
79
81
80
85
103
119
112
88
76
78
80
81
84
85
87
88
91
92
89
86
81
77
71
68
67
63
61
58
58
57
55
55
54
54
58
58
57
57
57
57
58
58
58
58
58
58
59
60
62
60
64
63
64
64
65
63
63
62
62
57
54
52
57
66
80
88
94
91
87
77
67
57
54
52
60
69
77
82
82
78
65
56
47
47
44
89
90
92
94
98
100
104
105
107
107
109
108
110
110
111
111
109
107
107
107
106
106
104
102
102
97
95
100
112
127
151
171
199
217
237
245
248
245
243
238
234
228
221
212
208
202
195
189
196
198
203
213
224
234
244
248
252
253
254
254
253
251
252
253
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
255
253
251
252
254
255
254
253
254
255
255
250
234
227
239
251
255
254
253
254
252
251
251
250
252
252
255
254
255
255
255
255
252
255
228
137
80
82
84
84
84
85
85
85
84
83
80
79
81
79
79
76
76
74
74
71
74
71
70
72
76
78
85
91
103
115
135
144
133
110
90
82
79
78
80
79
82
85
89
91
90
88
84
80
74
71
69
65
61
58
58
57
55
55
54
54
59
58
57
57
57
57
58
59
59
58
58
59
59
61
62
61
61
60
62
62
64
63
63
63
61
57
54
52
57
68
82
91
89
87
84
73
62
51
48
46
54
64
75
82
83
79
65
54
49
48
45
89
90
92
94
98
100
105
106
109
108
110
109
110
110
112
111
109
107
106
106
105
105
104
102
103
97
94
100
112
125
145
161
194
214
234
243
245
242
239
233
227
218
211
204
201
195
190
187
202
209
218
229
238
248
255
255
252
253
253
253
252
251
252
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
255
252
251
252
254
255
254
253
254
254
255
254
245
239
247
254
255
254
253
254
252
251
251
250
251
251
254
254
255
255
255
255
254
255
229
138
81
84
86
87
84
85
86
86
85
83
79
78
81
79
79
76
76
74
74
73
76
73
74
78
81
82
91
99
129
146
161
157
148
138
115
90
80
78
78
76
78
81
86
88
88
86
83
80
76
73
71
67
61
58
58
57
55
55
54
54
59
59
58
57
57
58
59
59
59
59
59
59
60
61
62
61
59
58
60
60
62
61
62
61
58
55
53
52
57
66
78
85
83
81
79
69
57
46
44
44
49
60
73
80
82
78
63
52
43
43
40
47
47
48
49
49
49
50
50
51
51
51
51
51
51
51
51
50
49
49
48
48
49
49
50
48
48
48
48
48
48
48
48
46
46
46
45
45
44
44
44
44
44
44
44
44
44
44
45
42
44
44
45
46
47
48
48
51
51
52
53
53
54
55
55
58
60
62
64
65
66
67
67
68
68
67
66
67
67
68
69
63
63
64
66
69
72
71
70
71
71
69
71
71
71
72
69
70
67
68
69
67
66
62
61
59
58
58
60
63
64
63
65
61
64
64
63
63
64
63
64
64
65
65
66
64
65
64
65
62
63
63
62
62
61
60
60
63
63
61
61
61
62
63
64
63
62
61
63
66
68
68
68
63
65
70
72
72
65
56
51
53
53
53
51
49
48
48
48
50
50
50
49
49
48
48
49
47
48
47
47
47
47
46
46
44
43
42
41
40
46
54
58
66
73
77
79
87
100
111
116
123
127
134
136
121
97
75
68
74
71
72
81
100
125
145
158
169
168
160
146
124
103
87
78
82
81
81
47
47
48
48
48
49
50
50
51
51
51
51
51
51
51
51
49
49
48
48
48
48
49
49
48
48
48
48
48
48
48
48
46
46
45
45
45
44
44
44
45
45
45
45
45
45
45
46
43
45
45
46
47
48
49
49
51
51
52
52
53
54
55
55
57
59
61
63
64
65
66
66
67
67
65
65
65
66
67
68
62
63
65
67
68
69
69
67
67
65
65
66
68
69
70
67
69
66
67
68
68
66
64
63
59
58
58
60
63
65
64
64
62
64
63
63
63
63
63
64
64
64
65
65
64
65
64
65
62
63
62
62
62
61
60
60
63
62
61
61
61
62
63
64
64
62
62
62
65
68
67
68
65
67
70
73
71
64
57
52
54
54
53
52
50
49
49
49
50
50
50
49
49
48
48
49
47
48
47
47
47
47
46
46
45
44
42
41
41
45
52
56
62
69
74
78
84
97
108
114
123
128
133
132
117
91
72
67
70
71
72
78
89
111
135
153
158
160
157
145
127
107
91
83
83
82
81
46
46
47
48
48
48
49
49
50
50
50
50
50
50
50
50
49
48
47
47
47
47
48
49
48
48
48
48
48
48
48
48
46
45
45
45
44
44
44
44
45
45
45
45
45
45
45
46
45
46
47
48
48
49
49
50
51
51
51
52
53
54
54
55
56
58
60
62
63
64
64
64
64
64
63
63
63
64
65
66
65
65
66
67
67
67
66
65
60
58
59
61
64
68
70
68
67
64
66
66
68
67
65
63
59
58
59
61
64
65
64
64
61
64
64
63
63
63
62
64
63
64
64
65
65
63
64
64
62
62
62
62
61
61
61
61
62
62
60
60
61
61
63
63
65
63
62
62
65
67
68
67
68
70
73
74
71
64
58
53
55
55
54
52
52
51
50
50
50
50
50
49
50
49
49
49
48
49
48
48
47
47
47
46
47
46
44
42
42
45
50
53
57
63
69
73
79
91
102
109
119
125
130
126
109
86
69
65
65
70
72
72
75
91
116
137
140
143
144
138
122
105
91
83
85
84
83
45
46
46
47
47
48
48
48
49
49
49
49
49
49
49
49
47
47
46
46
46
46
47
47
48
48
48
48
48
48
48
48
45
45
45
44
44
44
43
43
46
46
46
46
46
46
46
47
48
48
48
49
49
50
50
50
50
50
51
52
53
53
54
54
55
57
58
60
61
61
62
62
61
62
60
61
61
62
64
65
68
69
68
68
68
66
65
63
57
57
57
60
64
69
72
70
68
65
66
68
67
66
64
63
59
58
59
62
65
66
64
64
61
64
64
64
62
63
63
63
64
63
64
64
64
64
64
63
62
62
62
61
61
61
60
60
61
61
60
60
60
62
62
63
65
63
62
64
66
67
67
66
70
74
76
75
70
64
58
55
56
57
55
55
53
52
51
51
50
50
50
50
50
49
49
50
50
50
49
49
48
48
48
48
49
48
47
44
43
44
48
50
55
59
65
69
72
82
95
105
115
121
125
119
102
82
69
64
64
69
70
67
66
76
94
110
121
125
128
122
111
98
89
84
87
86
86
45
45
45
46
47
48
47
48
47
47
47
47
47
47
47
47
47
47
46
46
46
46
47
47
48
48
48
48
48
48
48
48
46
46
45
45
45
44
44
44
47
47
47
47
47
47
47
47
49
49
49
49
49
50
50
50
50
50
51
51
52
53
54
54
53
54
56
57
58
59
59
59
58
58
58
59
60
61
62
64
71
72
71
70
69
68
66
62
59
58
58
61
66
70
74
73
71
68
68
69
66
65
61
60
58
58
60
63
66
67
65
63
63
63
63
63
62
62
62
63
62
63
63
63
63
63
62
62
62
63
62
62
62
61
61
61
61
61
61
61
60
62
62
63
66
65
64
64
65
67
66
65
67
72
76
74
69
62
57
53
57
56
55
54
53
52
52
51
50
51
51
51
50
50
50
50
50
50
50
50
49
49
48
48
50
49
49
46
44
43
46
47
53
57
61
64
66
75
90
103
112
120
123
115
100
84
71
66
65
66
65
65
66
70
75
80
99
102
105
102
96
91
88
88
89
87
87
44
44
45
45
46
47
47
47
46
46
46
46
46
46
46
45
46
46
45
44
44
45
46
46
46
46
46
46
46
46
46
46
45
45
45
45
44
44
44
43
46
46
46
46
46
46
46
46
49
49
49
49
49
49
49
49
49
50
50
51
52
53
53
53
52
53
54
55
55
57
57
57
57
57
57
58
59
60
62
65
71
72
71
70
69
67
64
62
60
59
59
61
64
70
74
74
72
69
70
69
67
64
62
58
59
58
60
64
67
67
64
62
63
64
63
63
63
62
62
63
62
63
63
62
63
62
62
63
62
62
62
62
61
61
61
60
61
60
60
60
60
61
62
63
66
65
64
66
67
67
66
65
65
73
78
78
71
63
59
54
57
55
55
54
52
52
51
52
51
51
52
51
51
50
50
51
51
51
51
51
50
50
49
49
49
50
50
48
46
45
46
46
52
52
56
60
63
71
89
107
117
124
124
117
104
91
77
66
65
64
61
62
66
67
66
64
71
77
81
81
81
81
85
87
89
89
88
43
43
44
45
46
46
47
47
45
45
45
45
45
45
45
45
45
44
43
43
43
43
44
44
43
43
43
43
43
43
43
43
44
44
44
43
43
43
42
42
45
45
45
45
45
45
45
46
49
49
49
48
48
48
48
48
49
49
50
51
52
52
53
53
51
52
53
54
54
54
54
55
56
56
56
57
59
60
62
64
69
70
69
68
67
66
63
61
61
58
57
59
61
66
70
70
70
70
70
69
68
67
64
62
58
59
60
65
67
68
64
61
63
64
64
63
62
62
61
62
61
63
63
63
63
62
63
62
62
62
62
61
61
61
60
60
60
61
59
60
60
62
61
63
67
66
65
66
67
67
67
67
70
81
88
88
82
73
67
63
57
55
55
54
53
52
51
51
51
51
52
51
51
51
51
51
51
51
51
51
51
51
50
50
48
49
50
49
47
46
46
47
48
48
51
56
60
70
93
115
128
132
131
122
112
101
83
67
63
60
59
62
66
66
65
63
66
72
77
81
81
82
86
88
90
89
88
43
43
44
44
44
46
47
47
45
45
45
45
45
45
45
45
44
43
43
42
42
43
43
44
42
42
42
42
42
42
42
42
44
44
44
43
43
42
42
42
44
44
44
44
44
44
44
44
47
48
48
48
48
48
48
48
49
49
50
51
51
52
53
53
50
51
52
53
53
53
53
53
56
56
56
56
58
61
62
63
67
67
66
65
65
64
62
60
60
57
56
56
58
61
66
66
70
69
70
71
71
70
67
66
59
59
62
66
68
68
64
62
65
65
64
64
64
63
63
62
62
64
63
63
62
63
62
62
62
62
62
61
61
60
60
61
61
60
60
60
60
62
62
63
68
67
66
67
67
68
68
69
80
91
101
102
95
85
77
73
57
56
55
54
52
52
51
51
51
52
52
51
52
51
51
51
51
51
51
51
51
51
50
50
47
48
50
50
48
47
47
47
44
44
48
55
60
73
98
122
138
141
136
128
120
107
87
68
61
60
60
62
65
67
68
69
81
87
94
96
95
94
94
95
91
90
90
45
45
45
46
45
45
45
45
46
46
45
44
44
44
43
43
43
43
43
43
43
43
43
44
43
43
43
43
43
43
43
43
43
43
43
44
44
45
45
46
45
45
45
45
45
45
45
45
44
45
46
47
47
47
47
47
47
47
47
47
48
49
50
52
48
50
51
52
52
53
53
53
52
53
53
54
55
57
58
60
63
64
64
63
62
60
57
54
57
56
56
57
59
61
63
62
65
65
67
69
71
71
69
67
64
66
68
69
68
66
65
66
65
64
63
62
61
61
62
63
60
61
60
62
61
61
61
62
60
60
61
60
60
60
58
59
61
60
60
61
62
64
65
65
69
68
69
73
71
68
69
77
90
102
113
115
114
106
94
81
76
70
62
56
53
52
51
51
51
52
52
52
50
49
49
49
50
50
50
50
49
49
49
49
50
50
49
49
49
49
49
48
43
47
51
52
59
79
109
133
144
150
149
137
122
110
98
91
73
66
62
62
66
73
85
96
113
125
134
127
121
117
107
95
90
90
93
45
45
45
45
45
45
44
45
46
45
44
44
43
43
43
43
42
42
42
42
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
44
44
44
45
45
45
45
45
45
45
45
45
45
44
44
45
46
47
47
46
46
46
46
46
46
47
48
49
50
48
49
50
52
52
53
53
52
52
52
52
53
54
56
58
59
62
62
61
62
61
59
57
55
55
55
55
57
57
60
60
61
64
65
66
68
69
70
69
68
68
69
70
71
70
67
66
66
67
66
64
63
63
63
62
62
61
62
61
61
61
62
62
61
60
61
60
60
60
59
59
60
60
61
61
61
62
64
65
66
71
69
71
74
73
71
76
84
100
113
126
127
124
115
102
88
78
73
67
61
58
56
52
49
51
51
51
50
49
48
48
48
49
50
49
49
49
49
49
49
50
50
49
49
49
49
49
48
43
45
50
53
63
86
114
136
147
151
150
139
129
121
116
110
95
90
85
87
94
103
118
130
136
146
149
142
134
128
116
101
88
88
91
45
45
45
45
45
46
45
45
45
45
45
44
43
42
42
42
43
42
42
42
41
41
41
41
43
43
43
43
43
43
43
43
42
42
43
43
43
44
44
44
44
44
44
45
45
45
45
46
44
44
45
46
46
46
46
45
45
45
45
45
46
47
48
49
48
49
50
51
51
52
52
52
52
52
52
52
54
55
57
58
59
59
60
61
59
58
55
54
54
54
53
55
57
59
60
60
63
64
64
64
67
68
69
68
70
72
73
73
69
67
66
65
66
65
63
62
62
62
62
63
60
61
60
61
62
61
60
61
60
60
60
59
59
60
58
59
60
60
60
62
63
65
67
68
74
72
72
75
75
76
83
96
115
129
140
142
137
128
113
99
82
78
73
68
64
59
54
49
49
49
48
48
47
47
47
47
47
48
47
47
47
47
47
47
48
48
48
48
48
48
48
47
43
43
47
54
69
94
122
141
148
151
149
142
137
137
139
140
136
131
126
125
126
130
142
153
161
168
165
157
150
141
123
104
86
87
89
46
46
46
46
46
46
46
46
45
45
44
44
42
42
42
42
42
41
41
41
41
40
40
40
42
42
42
42
42
42
42
42
42
42
42
42
42
43
43
43
43
44
44
44
44
45
45
45
43
44
45
45
45
45
44
44
44
44
44
44
45
46
47
48
49
50
51
52
51
51
51
52
51
51
50
51
52
54
55
56
57
57
58
59
58
57
56
53
55
54
54
56
57
58
60
62
63
63
63
63
65
66
68
69
71
72
74
73
70
66
65
64
65
65
63
62
62
62
61
62
60
61
61
61
61
61
61
60
59
59
59
59
59
59
59
59
59
60
60
62
64
67
68
69
76
72
71
74
76
81
93
106
128
143
154
155
149
139
123
109
90
85
79
73
68
61
55
51
49
48
47
45
45
45
46
47
46
46
46
46
46
46
46
46
47
47
47
47
47
47
47
45
44
42
45
54
74
102
128
144
147
150
149
144
144
153
164
168
168
164
160
158
153
152
156
163
176
177
173
163
155
146
124
102
86
85
86
47
47
47
47
46
46
46
46
45
45
45
44
44
43
43
43
42
42
42
41
41
40
40
40
42
42
42
42
42
42
42
42
42
42
42
42
42
41
41
41
42
43
43
44
44
45
45
45
43
44
44
44
44
44
43
42
43
43
43
43
44
45
47
48
48
50
51
52
51
51
50
50
50
50
49
49
50
51
53
54
54
56
57
58
57
57
56
53
55
54
55
55
58
60
62
62
64
63
63
63
64
67
67
69
69
71
72
71
68
65
63
64
64
64
63
62
61
60
61
61
60
59
60
60
60
60
60
60
59
58
58
58
58
58
58
58
58
60
61
63
66
68
70
72
75
72
71
76
80
88
102
118
140
153
164
163
157
145
130
117
101
95
85
76
70
64
58
56
49
48
45
44
43
43
45
46
45
45
45
45
45
46
45
46
46
47
46
47
47
47
47
45
44
41
43
54
76
104
131
146
151
154
153
150
155
170
185
192
183
182
183
183
177
171
171
177
179
180
173
162
155
146
122
98
84
84
85
48
48
48
48
47
47
47
47
46
46
46
45
45
45
44
44
43
43
43
42
41
40
40
40
41
41
41
41
41
41
41
41
42
42
41
41
41
40
40
40
42
42
42
43
44
44
45
45
43
43
44
44
43
43
42
41
44
44
43
44
45
46
47
48
49
49
51
52
51
50
50
49
50
49
48
48
49
50
52
52
53
55
57
58
57
56
55
53
53
53
54
56
57
60
62
61
63
62
63
63
66
66
67
68
66
68
69
69
66
63
62
62
63
63
61
61
60
60
60
60
59
60
60
59
59
60
59
59
58
58
57
58
58
57
57
57
60
60
63
65
67
70
73
73
74
71
72
78
86
96
112
131
148
161
168
167
160
150
136
123
112
105
94
83
75
69
64
60
52
50
46
44
41
42
43
44
43
43
43
43
43
44
44
44
45
45
45
45
46
46
46
44
42
40
43
54
75
103
130
147
155
158
159
158
165
180
197
206
201
202
203
200
190
179
176
178
178
178
172
161
153
142
120
95
81
81
81
48
48
48
48
47
47
47
47
47
47
47
47
46
46
45
45
45
44
44
43
42
41
41
40
41
41
41
41
41
41
41
41
41
41
41
40
40
40
39
39
41
41
42
43
44
44
45
45
43
43
43
43
43
42
41
40
44
44
44
44
45
46
48
48
49
50
50
51
51
50
50
49
49
49
48
47
48
48
49
51
54
54
56
57
58
57
55
54
52
52
52
53
56
58
59
59
60
60
62
64
65
66
65
64
62
64
66
66
64
62
61
63
63
63
62
61
59
59
60
60
59
59
59
59
59
58
58
59
57
57
58
57
57
57
56
56
60
61
64
66
69
73
75
77
73
72
74
83
93
104
123
142
156
167
172
170
161
153
139
129
120
114
104
93
84
76
68
63
55
52
48
43
40
40
41
43
41
41
41
41
41
42
42
42
43
43
44
44
44
44
44
43
41
41
45
54
72
99
128
146
156
160
162
161
168
184
200
208
211
210
209
203
189
175
172
176
174
177
171
159
148
136
115
93
79
77
76
47
48
47
47
48
48
48
47
48
48
48
47
47
47
46
45
46
45
45
44
43
42
41
41
41
41
41
41
41
41
41
41
41
41
40
40
40
39
39
38
40
41
42
43
43
45
46
46
44
44
43
43
42
41
40
40
45
45
45
45
46
47
48
49
51
51
52
52
51
50
49
49
49
49
47
47
47
48
49
50
51
54
55
57
58
58
56
54
50
49
50
51
54
57
60
59
61
61
63
64
64
64
63
61
60
62
66
67
66
63
62
62
62
61
61
61
61
61
61
62
60
60
60
59
58
59
59
59
58
59
58
59
59
58
58
58
62
62
64
67
70
74
77
79
73
73
80
92
104
117
135
153
162
170
172
169
162
155
144
136
126
121
112
103
93
82
73
65
56
53
48
43
40
40
41
42
41
42
42
41
41
41
41
41
42
42
43
43
44
44
44
43
41
42
45
54
70
96
124
144
153
158
161
161
167
182
196
203
201
199
198
193
183
173
174
181
171
174
169
156
143
131
110
90
76
74
72
48
48
48
49
49
49
50
49
50
51
51
50
49
49
47
47
48
48
47
46
44
45
44
44
44
44
45
45
44
43
41
41
41
41
40
41
41
41
42
42
43
43
44
45
45
46
47
47
45
45
44
45
46
47
46
46
45
44
45
46
47
49
49
50
52
52
53
53
53
52
51
50
50
49
49
48
47
48
48
49
47
49
51
54
56
55
54
50
45
41
39
41
46
53
60
63
65
64
65
66
64
61
59
56
59
61
65
66
67
65
62
59
59
58
59
61
63
63
63
63
64
63
62
61
60
59
58
59
57
64
60
56
62
62
59
63
59
63
68
72
76
77
79
78
76
84
99
113
125
138
151
159
166
167
168
168
165
161
155
151
142
133
122
116
110
101
88
75
63
57
48
43
39
39
39
38
41
41
40
39
38
38
38
38
39
39
40
40
41
42
42
42
41
43
45
47
63
92
122
139
156
157
161
166
168
170
180
191
193
190
186
179
174
171
170
170
168
166
158
148
137
124
107
90
82
73
65
48
49
49
49
50
50
49
50
51
51
52
52
51
50
48
48
47
47
46
46
46
45
44
44
44
45
45
45
44
42
42
40
41
40
40
40
41
41
42
42
43
43
45
45
47
47
47
47
46
46
46
46
46
46
45
46
45
46
46
47
47
48
50
51
53
53
53
53
53
52
51
51
50
49
48
48
47
47
48
49
47
47
50
51
52
51
50
48
44
42
41
42
45
51
57
61
65
65
65
64
63
61
58
59
57
60
62
64
65
65
65
63
59
59
60
61
62
64
63
64
64
62
61
60
59
59
58
60
57
61
59
57
63
63
57
58
61
64
68
72
74
77
79
77
74
84
102
119
135
147
159
166
167
168
167
167
165
160
156
153
147
139
130
123
119
111
97
86
73
65
56
48
42
41
40
40
40
39
39
39
38
38
39
39
39
40
40
41
42
42
43
43
45
46
44
45
58
88
120
139
150
153
158
163
164
165
173
182
185
182
179
174
171
168
168
168
166
164
157
146
136
123
106
90
77
68
62
50
50
50
50
51
51
51
51
52
52
53
53
53
52
50
49
48
48
47
46
47
46
44
45
45
45
46
45
45
44
42
41
40
39
41
41
41
41
42
42
44
44
46
46
46
47
47
47
47
47
46
46
47
46
45
45
46
48
48
49
49
51
52
53
54
54
55
55
54
53
52
52
50
49
48
48
48
48
49
49
49
47
46
44
43
42
42
42
44
46
45
45
46
48
50
52
58
59
59
61
60
60
58
58
60
61
62
63
65
65
66
67
63
61
62
62
62
62
61
61
59
60
58
58
59
60
61
61
62
60
59
60
65
65
61
59
63
65
70
72
74
74
78
77
73
83
101
117
132
144
156
164
168
169
169
168
164
158
153
151
149
146
139
134
130
124
114
104
89
80
68
58
51
47
45
42
38
36
36
36
37
38
40
42
42
42
43
44
45
45
46
45
47
47
42
42
55
85
118
138
144
147
153
159
160
160
165
172
175
173
170
169
167
167
166
166
164
162
155
145
135
124
107
90
73
64
58
51
51
52
52
52
53
52
52
53
54
54
55
55
54
52
52
50
49
49
48
48
47
46
46
47
47
47
47
46
46
45
43
41
41
42
42
42
42
43
43
45
45
47
47
48
48
48
48
49
49
47
48
48
46
46
46
50
50
50
51
52
54
54
55
56
56
57
56
56
55
53
53
50
50
49
48
48
49
50
49
51
49
45
41
38
37
38
40
47
49
50
50
47
47
45
46
57
59
60
60
59
59
59
58
62
64
66
66
67
66
65
65
64
64
63
63
62
60
59
58
56
56
57
57
59
60
61
62
64
55
56
60
59
62
65
64
66
68
71
73
73
75
78
80
81
90
101
114
125
136
147
156
165
167
168
168
163
158
152
150
148
146
142
140
139
134
125
118
103
93
80
68
58
52
47
42
37
35
35
36
37
39
41
44
42
43
43
44
44
44
45
44
42
43
43
43
56
85
113
132
140
143
150
156
159
158
160
165
167
165
163
163
165
165
165
164
161
159
153
144
135
124
107
91
71
61
55
53
53
53
54
54
54
54
54
55
55
56
57
57
57
55
55
52
52
51
51
51
50
49
49
49
50
50
49
48
47
46
45
44
43
43
43
44
44
44
44
47
47
47
47
49
49
50
50
50
50
50
50
49
49
49
49
52
53
52
54
55
56
56
57
58
58
59
58
57
56
53
53
51
51
50
50
50
50
51
51
52
50
48
44
40
39
40
44
50
53
55
54
51
49
47
47
58
59
60
61
60
60
59
58
59
62
65
66
67
67
64
64
66
67
64
62
60
59
57
56
54
55
56
58
60
61
62
62
57
48
56
63
53
53
66
67
69
71
73
74
74
76
79
85
94
102
109
114
121
131
144
154
159
163
167
168
166
162
156
151
144
142
140
139
139
136
131
126
113
104
90
75
64
54
47
42
39
37
38
38
39
40
43
44
43
43
43
43
42
42
41
41
35
42
48
54
67
90
112
125
136
138
144
152
155
153
154
159
162
160
159
160
163
165
165
163
158
156
150
142
134
123
107
92
69
58
52
54
54
55
55
56
56
55
55
56
57
58
59
59
59
57
57
55
55
54
53
54
53
52
52
52
52
53
52
51
51
49
48
45
45
45
45
46
46
46
47
48
48
48
49
50
50
51
51
51
51
52
52
52
53
52
53
54
55
55
56
57
58
58
59
60
60
60
60
59
57
55
54
53
53
52
51
51
52
53
53
54
53
50
49
46
45
47
49
53
56
57
57
55
54
50
50
50
51
53
54
55
56
55
54
55
58
60
62
63
64
63
65
65
65
65
63
60
58
57
56
55
56
57
59
60
61
62
60
53
51
77
89
65
57
70
75
71
74
76
77
77
80
85
92
105
112
114
117
117
124
135
145
147
153
160
165
165
161
156
150
143
141
140
142
142
141
138
134
125
116
104
90
77
64
54
47
43
42
42
42
42
44
45
45
45
45
44
43
41
40
39
40
40
51
62
71
82
98
113
121
130
132
137
145
149
149
151
154
159
156
155
158
162
164
162
159
154
153
148
141
133
124
108
92
68
57
51
55
56
56
56
57
57
56
57
57
58
59
60
60
60
59
59
58
58
57
56
56
56
55
55
55
55
55
55
54
53
51
51
47
47
47
48
48
48
49
49
49
49
50
50
51
51
52
52
52
52
52
53
54
57
56
57
55
56
57
58
58
60
61
61
61
61
61
60
60
58
56
55
56
55
55
54
54
55
55
56
54
55
56
56
57
56
56
57
56
56
57
56
57
57
57
54
47
47
51
54
57
59
59
61
65
64
61
60
58
60
61
64
63
64
62
62
60
59
58
59
58
59
60
61
61
60
59
57
49
61
108
127
91
68
76
78
73
77
80
81
83
85
90
100
113
120
118
115
109
107
111
116
128
137
148
156
159
159
154
151
143
142
144
146
147
147
146
144
137
130
119
107
93
79
67
58
50
49
48
47
47
47
47
47
47
46
44
42
40
38
36
38
53
67
81
89
98
109
119
123
130
130
134
142
148
148
150
154
157
155
153
156
160
162
158
155
151
151
146
139
132
123
109
93
73
60
54
56
56
57
57
57
58
57
57
58
59
60
61
61
61
60
60
59
59
59
58
58
57
57
56
57
57
57
57
56
55
53
51
48
48
49
49
49
49
49
50
49
49
51
51
51
52
52
52
52
53
53
56
57
58
59
59
56
58
57
59
60
61
62
62
62
62
61
61
60
59
57
56
57
57
56
55
55
56
57
57
56
57
59
60
60
60
60
59
54
54
54
54
55
56
57
54
53
54
59
64
68
72
74
76
81
76
68
59
55
55
57
60
60
61
60
59
59
59
60
61
62
62
62
61
59
57
54
51
41
63
125
150
104
72
75
72
76
81
83
86
86
90
95
102
113
118
115
107
95
84
81
82
111
121
133
142
147
148
145
142
137
137
140
142
144
144
143
144
137
133
121
110
97
82
68
59
52
49
48
47
47
46
46
47
48
47
46
44
41
40
39
41
66
81
94
101
108
117
123
126
132
132
135
143
149
150
153
157
155
153
150
153
157
159
154
150
148
148
144
138
132
124
109
93
79
67
60
58
58
58
58
58
59
60
60
60
60
61
61
62
63
63
63
64
64
64
63
63
62
62
61
59
59
59
59
58
59
58
58
56
56
56
55
54
55
55
55
55
55
54
53
53
53
52
52
54
54
54
55
55
56
58
59
58
60
60
62
63
64
64
64
64
64
63
62
60
59
59
59
57
56
57
56
56
56
57
57
53
68
64
58
64
54
48
60
52
54
52
48
47
54
61
60
73
71
73
75
70
62
61
68
78
80
86
89
79
65
59
62
57
56
53
51
55
62
63
60
65
63
59
57
54
50
44
38
72
99
70
89
122
86
70
86
82
91
98
100
95
94
99
106
99
110
111
89
59
45
44
49
65
74
91
111
124
129
133
138
126
128
131
133
135
136
138
138
128
125
121
110
98
85
72
65
58
47
48
49
39
37
48
53
51
50
49
49
46
43
45
54
72
87
95
100
111
124
132
129
131
135
141
146
149
151
153
155
150
152
151
149
149
153
152
150
149
141
135
132
130
122
109
95
80
75
73
58
58
58
58
59
60
61
62
61
61
62
62
63
64
63
63
65
64
64
64
63
63
62
62
62
62
62
61
60
60
59
58
57
57
57
57
56
56
57
57
55
55
54
54
54
53
52
52
54
54
54
55
55
58
58
60
59
59
61
62
64
64
64
64
64
64
63
61
60
59
59
59
58
57
57
57
57
57
58
58
58
56
47
46
55
58
59
69
68
72
73
72
74
79
80
79
68
66
66
67
62
55
55
61
67
63
64
69
71
70
72
78
75
71
64
56
55
61
62
61
60
72
75
62
43
40
57
75
76
79
64
65
96
89
64
84
97
91
92
104
108
102
99
99
102
97
88
67
46
39
40
42
48
53
63
76
82
84
85
90
98
101
105
108
112
116
118
120
124
121
118
113
107
101
97
95
97
84
76
72
68
70
55
28
49
48
49
54
56
58
62
69
79
90
97
102
114
130
137
134
137
137
139
142
146
148
148
148
146
150
151
150
152
157
157
155
153
146
137
132
129
121
109
97
83
80
79
57
57
57
58
60
61
62
63
63
63
64
64
64
64
63
63
65
65
65
64
64
64
64
63
65
64
63
62
61
60
60
59
58
58
58
58
59
59
59
60
56
56
55
54
53
53
52
52
54
54
53
55
55
57
57
59
59
60
61
63
63
64
65
64
63
63
62
61
60
59
59
58
58
58
58
58
59
60
60
59
69
51
51
65
76
86
93
96
66
73
77
79
82
85
80
76
65
66
64
63
59
55
56
61
69
62
55
58
62
65
67
67
48
57
68
75
77
75
65
55
56
54
49
48
51
60
70
77
71
54
60
52
79
99
74
91
99
95
99
111
111
103
103
104
100
84
71
58
52
52
50
46
53
51
53
56
55
54
54
57
65
67
70
73
77
81
84
86
84
83
80
78
78
81
83
87
105
99
93
87
90
101
83
45
39
49
58
63
58
56
66
78
79
86
95
101
117
134
140
136
140
139
139
139
140
143
144
144
149
155
158
160
163
168
169
166
162
152
141
131
126
119
109
99
87
85
85
56
56
57
58
60
62
63
64
65
65
65
65
65
65
64
64
66
66
66
65
65
66
65
65
67
66
65
64
62
61
60
59
58
58
59
59
59
60
60
60
57
56
56
55
54
53
53
53
54
54
55
55
56
58
59
60
60
61
62
63
64
64
64
64
63
62
62
61
60
58
59
58
59
59
59
60
60
61
62
60
56
43
59
85
85
86
86
75
52
58
62
66
70
74
67
63
66
70
66
64
63
62
66
68
71
66
60
59
60
58
54
51
57
57
56
55
61
74
84
88
63
52
45
54
72
80
66
52
59
47
57
56
70
93
88
87
87
100
112
111
102
99
109
117
85
70
62
60
64
67
61
55
66
60
55
54
52
50
51
56
51
53
54
56
58
61
63
64
67
67
64
63
65
67
71
74
81
84
87
85
86
99
102
89
49
48
49
56
62
64
68
70
74
84
96
107
124
142
145
139
141
143
143
141
138
140
146
151
163
169
174
177
180
185
183
181
171
160
145
132
124
116
108
100
88
87
88
55
55
56
57
59
61
62
63
65
65
65
65
65
66
65
65
67
67
66
67
68
68
67
67
67
66
65
64
61
61
60
59
59
59
59
59
59
59
59
59
57
57
57
56
55
54
54
53
55
55
55
56
56
59
59
60
61
62
63
64
64
65
63
63
63
61
61
60
59
59
58
58
60
60
59
60
61
63
63
61
54
52
77
94
78
65
55
39
50
56
58
61
65
69
63
60
63
66
64
63
64
67
72
74
62
63
61
59
57
58
59
61
71
69
64
57
56
67
77
83
68
77
84
85
75
64
53
51
52
57
51
59
57
65
91
85
78
98
106
96
90
100
112
109
70
60
59
62
68
73
74
73
76
68
58
55
52
49
52
58
57
58
59
59
60
63
65
67
69
69
68
68
67
68
68
67
72
66
74
79
75
80
93
99
91
64
38
43
64
79
76
67
74
89
106
123
141
156
156
147
142
151
155
153
146
147
158
168
182
188
193
193
195
198
195
190
181
169
151
135
123
115
109
102
90
89
91
54
54
55
56
57
59
60
61
63
63
64
65
66
66
66
66
68
68
67
68
69
69
68
69
67
67
66
65
64
63
62
61
61
61
60
60
59
59
59
58
58
58
57
57
56
55
54
54
55
55
55
56
57
59
60
61
63
62
63
64
65
65
63
63
63
61
60
59
59
59
57
57
59
60
59
60
62
63
63
59
57
71
90
88
68
57
52
44
50
56
58
58
61
64
59
56
55
58
57
55
58
66
69
69
62
63
60
54
54
62
68
71
58
65
70
68
63
59
52
48
57
73
85
80
63
50
48
55
49
61
46
56
52
55
104
108
87
90
86
81
91
106
103
83
69
62
60
62
66
72
80
87
79
68
59
54
50
47
50
55
57
58
58
59
61
63
67
68
60
62
63
64
64
62
61
60
74
61
66
78
77
80
86
91
114
97
74
58
53
56
66
76
81
101
124
141
157
167
166
156
158
167
175
172
167
168
180
193
201
206
208
208
206
207
203
198
189
178
159
140
126
116
110
106
95
96
95
54
54
54
54
55
57
57
58
60
61
62
64
65
67
67
67
68
69
68
68
70
70
70
70
69
68
67
67
66
65
64
65
65
65
64
63
61
60
60
60
58
58
58
57
56
56
55
55
56
56
56
56
58
59
60
61
63
63
64
65
64
64
64
63
61
61
61
60
59
58
56
57
58
59
58
59
61
62
64
58
50
75
84
63
49
48
49
50
50
57
61
61
61
63
59
55
54
56
54
52
56
64
67
64
66
65
60
56
58
67
68
65
64
64
55
44
36
39
44
49
44
48
53
55
53
52
50
51
52
55
51
55
55
63
97
127
101
86
76
86
100
99
82
66
69
63
62
64
63
63
69
77
74
63
56
54
53
50
54
59
58
58
56
56
56
59
61
63
64
64
65
67
68
67
67
67
73
68
72
77
77
88
97
94
107
113
111
93
67
54
65
85
101
125
150
163
174
182
182
175
183
189
193
195
194
198
206
215
218
221
221
218
216
215
212
207
197
186
167
146
130
120
115
111
106
105
104
54
54
54
54
54
55
55
56
59
60
61
63
65
67
68
69
69
69
69
70
70
71
71
72
71
71
69
68
68
68
67
67
67
68
66
65
62
61
61
59
58
58
58
58
57
55
55
55
55
55
56
57
58
58
60
61
64
63
64
65
65
64
64
63
62
62
61
59
57
56
55
56
56
58
59
61
61
62
63
57
61
93
90
56
47
50
47
51
58
67
71
70
66
66
61
58
57
59
58
55
60
67
69
64
61
60
59
60
69
76
69
56
55
60
61
53
44
42
40
39
44
48
52
54
53
52
51
52
59
50
63
55
57
63
65
108
103
82
78
98
103
81
64
65
60
58
59
62
61
54
52
56
71
63
58
57
57
55
58
63
67
65
63
59
58
58
59
60
64
63
63
63
64
65
64
66
68
79
86
76
66
86
105
102
94
96
104
112
112
102
92
89
126
152
176
187
194
199
199
195
202
202
202
206
213
219
224
227
229
232
232
228
225
224
221
216
202
191
171
150
134
123
117
114
114
112
110
49
50
51
53
55
56
56
56
58
59
61
63
65
67
69
69
72
72
72
72
74
75
76
75
74
70
68
70
73
73
68
63
69
67
64
65
67
66
61
57
60
58
57
55
56
55
55
52
58
57
57
57
58
58
59
60
63
64
64
64
64
64
64
63
64
62
59
56
54
52
55
58
62
56
59
66
64
56
59
66
106
75
55
54
55
54
56
61
57
60
64
65
61
57
54
55
54
55
56
60
64
66
66
65
62
61
60
61
67
70
62
50
57
57
57
57
55
54
52
50
46
47
49
50
53
55
58
59
58
51
52
56
56
54
66
83
78
83
92
93
80
62
56
63
64
67
64
62
60
58
59
59
76
75
70
62
60
63
62
59
69
68
68
68
64
60
61
66
70
65
59
58
61
68
73
75
78
78
81
82
79
79
90
103
93
69
86
94
91
117
92
114
143
167
195
213
220
219
220
219
216
216
217
220
227
231
236
239
243
243
240
236
231
226
221
220
208
201
186
165
144
131
125
123
132
128
125
46
47
50
52
53
54
55
55
57
58
61
63
65
67
68
69
72
72
72
72
74
75
77
77
74
73
74
80
85
88
84
79
73
68
63
61
62
63
61
59
58
57
55
55
56
56
56
54
52
52
53
55
57
58
60
61
63
63
64
64
64
64
63
63
64
64
60
57
54
52
51
52
60
59
61
63
58
54
65
74
80
59
50
54
58
55
57
62
59
60
63
64
61
57
54
55
57
58
57
59
62
65
66
64
63
58
60
69
72
63
56
54
55
55
57
59
60
58
56
52
49
46
46
48
52
55
58
58
60
54
56
61
59
53
58
70
70
73
79
80
71
59
58
67
66
68
66
62
59
58
60
61
69
76
78
71
63
63
63
64
67
67
68
70
66
62
62
66
70
67
63
64
66
70
74
75
72
71
74
82
93
96
88
79
70
68
68
73
92
106
71
121
148
176
209
226
231
232
230
226
227
225
227
230
236
242
247
250
249
249
246
244
238
234
231
229
221
214
198
178
161
147
143
144
148
144
140
46
47
48
49
51
52
54
54
57
58
60
62
64
66
67
68
70
71
72
73
74
76
76
76
73
75
82
94
104
109
107
104
89
81
71
64
62
61
60
58
58
58
55
55
56
57
58
57
51
52
54
57
58
59
60
60
62
63
63
64
63
63
63
63
59
61
60
58
55
53
52
50
55
57
56
49
43
46
58
69
58
50
49
57
60
55
56
60
59
61
65
65
62
60
58
60
60
60
57
57
60
62
62
60
63
56
62
76
71
54
50
57
54
54
56
58
58
56
54
51
48
46
46
49
50
54
56
55
56
53
57
62
61
54
57
65
60
62
69
75
74
67
63
67
67
68
66
61
58
56
58
59
56
68
78
73
64
62
66
72
65
64
67
71
69
64
63
65
68
67
67
70
73
75
76
74
66
68
72
78
91
98
87
69
77
86
64
71
121
121
64
123
140
177
216
234
240
245
243
236
233
233
234
237
242
246
251
254
253
252
249
247
244
242
239
239
231
223
207
189
174
165
163
163
171
165
161
46
46
47
48
49
50
52
53
56
57
59
61
63
65
66
67
69
70
72
74
75
77
76
76
74
80
93
108
122
130
130
128
117
107
95
83
76
69
64
60
63
59
56
54
54
56
57
56
55
57
59
59
61
60
59
59
63
63
63
64
63
63
62
63
61
62
61
58
58
57
57
57
56
56
52
44
41
48
55
61
54
55
58
63
63
57
56
59
58
60
62
64
62
61
61
62
63
61
57
56
57
58
58
57
59
59
66
69
62
49
50
57
53
52
54
55
55
54
51
49
48
46
47
48
50
52
54
53
50
48
52
60
61
57
61
68
53
54
59
68
77
75
67
61
64
65
62
60
58
56
57
59
52
63
72
72
66
64
70
78
63
63
66
72
72
66
64
65
65
67
70
73
77
79
76
72
63
74
79
73
77
87
87
79
75
78
62
98
156
141
57
75
119
163
210
231
242
251
250
241
237
237
237
240
242
246
250
251
252
251
249
248
245
244
243
242
235
227
213
198
185
180
180
182
191
183
177
48
48
47
47
48
49
51
52
55
56
57
59
61
63
65
65
69
70
72
74
75
77
76
75
74
84
100
120
134
144
147
144
139
131
119
109
100
91
80
74
71
66
61
55
53
54
53
53
55
56
57
59
60
60
61
60
63
63
64
65
64
63
64
62
63
62
58
56
56
57
59
60
60
57
51
49
55
62
61
56
59
60
64
65
64
60
59
62
56
58
60
61
60
59
60
61
63
62
58
55
55
56
56
56
55
65
67
56
49
51
55
53
52
51
52
54
53
53
49
47
47
47
47
48
50
52
53
52
49
47
50
54
57
58
63
69
70
64
60
64
75
78
69
59
61
60
60
59
57
58
60
63
57
60
64
67
67
68
74
79
63
62
66
73
74
70
67
67
64
66
69
74
78
79
76
72
68
78
80
72
74
86
87
81
71
72
88
147
178
155
72
47
106
149
198
225
240
251
253
246
246
245
245
246
248
250
252
252
251
250
248
247
245
244
243
243
241
233
220
209
202
201
202
205
208
200
192
53
51
50
48
48
49
50
51
54
55
56
58
60
62
64
64
68
69
72
75
75
77
76
75
76
87
105
126
143
153
158
158
152
145
138
133
126
118
107
101
90
84
75
65
60
58
55
54
53
53
54
55
58
60
62
64
63
64
65
66
65
66
65
63
61
58
55
54
54
55
56
57
60
52
48
56
66
71
63
52
59
60
63
63
62
62
63
63
56
57
58
57
57
58
58
60
62
59
57
56
56
57
56
54
55
67
64
48
44
55
60
50
51
50
50
51
51
50
47
45
47
46
48
49
52
53
54
53
55
51
51
51
53
56
60
63
89
82
72
67
69
73
69
62
58
59
58
58
58
58
62
65
65
60
60
65
69
71
73
76
66
64
67
75
78
74
70
70
65
66
69
74
78
79
78
76
77
79
77
79
87
95
85
71
86
83
100
144
137
130
95
77
104
141
187
219
238
247
250
249
250
251
250
250
250
251
252
251
251
251
250
250
247
245
242
240
237
230
221
216
215
219
222
225
228
216
206
57
56
53
50
49
49
50
51
52
53
54
56
58
60
62
63
66
67
71
74
75
76
75
74
74
87
108
130
149
160
166
169
165
160
155
152
149
145
137
131
121
113
99
86
78
71
67
66
63
61
58
57
57
59
61
64
64
65
66
67
67
67
67
65
59
61
64
68
71
72
72
71
72
61
58
70
80
74
63
56
62
62
62
63
64
64
63
60
56
56
57
57
56
56
57
59
58
58
56
56
57
58
55
54
60
62
57
50
52
59
60
51
49
49
49
50
49
47
45
44
45
47
49
51
53
54
55
55
57
56
54
52
52
55
56
55
78
88
90
81
71
68
64
62
60
60
60
58
57
59
62
65
68
64
64
70
73
72
71
73
70
66
68
76
81
79
76
75
68
68
70
73
78
79
79
80
85
84
84
89
93
92
83
74
89
87
79
94
78
86
86
89
99
128
169
208
233
241
246
252
252
253
252
251
250
249
249
248
250
250
251
250
247
242
237
234
225
221
217
217
223
231
237
241
243
231
219
61
58
55
52
50
50
50
51
52
52
54
56
58
60
61
62
66
67
70
74
75
76
75
73
74
88
109
132
151
164
173
176
177
172
167
164
163
161
155
150
146
136
121
105
93
85
80
77
74
71
66
61
58
58
60
62
64
66
67
68
68
68
69
66
67
72
81
91
97
99
98
95
88
74
72
83
88
76
65
63
66
64
65
64
65
65
61
55
55
56
56
56
54
55
56
59
55
55
55
56
57
57
56
54
65
56
51
56
61
61
57
53
50
48
48
48
47
45
44
44
45
47
50
52
53
55
55
56
55
56
55
54
55
57
55
52
52
78
100
96
79
65
59
57
62
62
60
59
57
57
60
62
68
65
69
75
76
71
69
72
73
67
69
77
83
82
79
79
72
71
71
73
78
81
82
84
84
90
96
96
86
78
81
90
93
102
80
88
83
90
79
83
92
114
152
198
226
235
242
255
255
255
255
255
253
252
251
249
248
248
249
249
245
239
232
229
221
218
217
222
232
243
250
254
250
237
224
62
61
60
58
56
54
52
51
50
50
51
52
54
57
60
62
64
67
70
73
74
75
76
78
73
82
100
126
146
160
170
176
179
178
180
178
177
175
172
171
161
154
141
127
114
101
90
82
81
81
79
72
63
58
59
63
62
66
69
68
66
67
70
75
85
101
113
114
117
119
111
95
91
88
87
87
78
65
58
59
60
61
63
64
64
63
61
59
54
54
54
55
55
56
57
56
56
57
58
57
54
54
56
58
67
61
55
64
91
108
93
63
51
50
50
47
42
40
40
43
45
48
50
49
48
49
52
58
59
60
60
60
58
57
56
55
64
56
71
99
88
66
64
52
58
60
60
60
58
58
60
62
62
67
80
88
79
63
63
72
72
71
74
80
82
78
75
76
82
79
75
74
77
81
82
82
88
89
89
92
93
91
88
86
101
89
95
94
73
73
84
88
102
103
142
181
209
234
238
248
250
255
255
255
254
255
252
247
250
250
247
243
244
243
232
217
214
209
214
231
244
247
251
255
254
240
227
63
62
61
59
57
55
54
53
51
51
51
52
53
56
59
61
63
66
69
72
73
74
75
77
74
81
98
123
143
157
166
174
180
181
182
183
183
182
180
178
170
163
152
138
127
113
101
94
87
86
84
80
73
67
65
65
60
66
69
68
63
66
77
86
103
116
125
125
124
124
113
96
89
87
81
73
64
60
61
63
56
55
56
57
56
57
55
54
51
52
55
58
60
61
60
60
62
60
60
62
66
67
66
65
64
66
64
56
49
54
73
91
64
54
43
41
45
47
44
40
48
52
54
54
51
50
50
54
58
59
60
58
57
55
53
52
57
53
61
80
84
76
66
49
59
61
60
59
57
56
58
58
62
66
79
87
82
68
67
72
76
74
77
83
84
80
78
79
86
85
83
82
82
83
83
83
76
84
92
96
91
85
82
84
87
84
93
93
82
87
93
86
96
92
127
169
199
224
233
248
250
255
255
255
254
255
253
248
250
249
247
244
245
244
233
220
215
209
213
229
245
249
252
255
253
241
227
65
65
63
61
59
57
56
55
52
52
51
52
53
56
58
60
62
66
68
70
71
71
73
74
75
80
94
117
138
153
164
171
179
181
183
185
186
187
185
185
178
172
163
151
141
128
117
109
96
93
90
87
82
75
68
64
53
60
65
64
62
69
87
99
115
122
127
123
118
112
99
84
71
76
73
61
54
58
61
61
60
59
58
59
60
60
60
60
54
56
60
63
65
62
60
58
55
52
51
57
65
69
66
61
60
52
52
55
50
44
54
71
75
64
52
45
44
44
44
42
42
47
50
53
52
49
49
51
55
58
58
58
59
58
56
56
52
60
58
60
79
89
69
51
59
60
59
58
57
56
56
56
61
65
74
85
82
71
68
71
75
73
76
83
83
80
77
78
88
90
91
90
86
82
81
81
70
79
89
90
86
84
87
92
89
91
98
98
96
105
106
94
93
77
108
151
185
211
224
245
249
255
255
255
254
255
252
248
249
249
247
246
247
246
238
228
219
209
211
228
246
251
253
255
251
239
229
69
68
66
64
62
60
59
58
54
53
53
53
53
55
57
59
62
64
68
70
69
69
71
73
77
78
90
112
134
150
161
169
176
177
179
183
183
185
184
184
177
173
167
158
150
139
129
121
109
103
96
90
88
81
71
62
53
56
61
64
67
79
93
103
108
110
111
105
97
88
73
59
51
65
69
60
56
64
65
59
54
53
53
53
55
56
59
60
64
64
64
63
61
57
54
52
46
45
46
51
58
60
56
53
53
44
41
55
66
63
52
46
70
73
72
60
45
35
39
47
45
47
50
51
49
48
47
48
55
57
58
60
62
63
64
64
54
76
74
53
71
90
73
65
60
59
58
58
58
58
57
57
60
62
70
79
80
72
67
67
72
70
74
80
82
77
75
75
88
91
97
97
88
79
77
78
76
79
83
82
84
90
99
105
102
98
98
101
103
106
106
104
94
70
93
135
171
199
218
243
247
253
255
255
254
255
251
248
250
250
248
250
251
250
243
236
224
213
212
230
247
254
254
254
249
239
231
72
71
70
68
66
64
61
60
56
55
54
54
54
55
57
58
62
65
67
69
68
69
70
72
77
77
87
107
130
147
159
166
174
175
176
179
179
180
179
179
174
171
167
162
156
149
140
133
127
117
107
101
97
91
81
72
70
67
66
69
77
85
91
90
84
83
84
80
74
67
57
47
57
68
72
63
62
71
73
63
62
61
60
62
63
66
68
69
69
66
62
59
54
53
51
51
49
52
55
57
56
55
54
53
47
53
55
50
49
57
62
59
60
68
74
68
54
42
42
47
54
53
51
49
48
47
48
48
56
57
58
59
60
61
63
62
55
87
97
59
59
80
70
80
60
58
56
57
58
60
59
59
58
60
65
72
73
68
64
62
70
69
73
80
82
78
75
76
90
94
102
104
93
80
77
79
83
82
81
82
92
103
105
101
101
94
94
106
115
107
101
110
101
71
86
123
159
193
214
238
245
252
255
255
253
255
251
248
254
253
251
253
255
253
250
246
233
221
217
233
250
255
254
254
248
240
233
75
74
73
71
69
67
64
64
59
58
57
56
56
56
58
59
63
66
69
70
69
69
70
72
76
75
83
105
129
147
158
164
172
172
173
176
177
177
176
176
172
170
168
166
163
158
153
148
146
138
128
120
117
112
103
95
95
87
80
79
83
84
80
72
65
65
69
69
69
65
59
54
74
73
66
56
57
65
68
63
69
69
70
69
70
71
71
71
62
59
56
52
51
52
52
54
56
60
61
60
57
53
53
55
46
59
61
49
45
55
61
58
57
56
58
61
64
60
51
44
44
43
42
43
47
52
56
57
55
55
55
55
55
54
53
53
53
80
109
72
52
67
62
86
65
62
56
54
58
60
62
61
57
60
63
65
65
64
61
60
67
68
72
80
82
79
78
79
94
97
105
110
100
86
81
86
86
86
87
93
109
117
106
87
95
94
96
114
135
128
117
122
106
77
85
112
149
191
213
233
244
250
254
254
253
254
250
249
255
254
253
255
255
255
252
253
241
230
226
240
251
254
254
255
250
244
240
77
76
75
73
71
69
68
67
62
61
59
58
57
58
57
59
64
67
69
71
71
70
70
72
75
72
82
103
129
147
158
162
167
167
169
172
173
174
174
174
172
170
168
167
168
167
164
162
158
154
147
143
141
136
129
121
109
99
88
81
77
73
65
62
62
65
69
74
75
71
68
65
86
72
60
54
56
59
57
56
58
60
59
58
56
55
52
50
52
51
51
51
51
53
54
56
61
61
59
56
55
54
52
51
51
51
52
54
61
62
57
50
58
52
49
53
60
61
55
51
45
45
45
47
52
57
59
57
50
48
48
49
49
50
49
51
49
61
106
84
57
64
58
82
74
67
58
54
56
59
60
61
59
63
64
63
59
59
59
60
62
62
68
76
80
78
76
78
97
97
104
111
104
90
85
91
91
95
98
107
125
133
118
92
101
107
98
106
144
161
148
140
105
81
85
103
140
190
213
227
242
249
253
253
253
253
251
248
255
253
253
255
255
253
251
255
250
240
236
246
252
252
253
255
254
249
246
79
78
75
74
71
70
68
68
64
64
60
59
57
58
58
60
64
68
70
71
71
70
72
72
73
71
81
104
130
148
157
162
160
160
163
166
169
171
172
172
171
170
167
167
169
170
168
167
161
161
159
159
155
150
141
132
102
93
82
74
66
62
60
61
64
67
70
74
74
71
67
64
83
68
57
62
68
64
56
53
67
68
67
65
62
57
54
50
50
51
52
53
53
52
52
52
66
60
54
54
57
57
53
49
56
49
49
57
56
52
55
67
55
56
54
53
51
53
58
63
76
72
66
62
60
55
50
44
43
41
44
47
49
52
53
55
48
46
100
93
64
68
59
77
82
72
59
54
56
57
59
58
60
64
65
60
56
57
60
63
55
55
62
71
75
73
73
74
97
94
100
110
107
93
88
94
97
100
104
110
127
141
131
110
112
120
97
88
136
180
173
153
104
81
84
97
136
192
215
224
241
248
253
252
253
253
252
249
255
254
252
255
255
252
251
255
255
246
242
249
253
251
252
255
255
252
251
79
80
78
78
75
75
73
72
67
67
65
64
62
63
62
64
67
69
71
73
74
74
74
75
78
76
84
104
126
143
153
159
162
161
160
161
163
167
170
173
170
169
168
169
170
170
170
170
168
166
160
159
164
160
135
105
78
70
65
61
61
62
64
64
61
61
70
59
68
69
49
74
75
67
62
59
60
61
59
60
66
63
68
77
75
61
54
57
55
54
53
50
47
47
50
53
65
56
49
50
57
59
55
50
50
51
52
51
51
51
53
53
48
50
53
54
52
51
51
52
50
51
53
51
47
45
45
46
45
43
43
47
53
57
55
52
45
51
88
89
59
78
52
72
79
74
67
59
56
56
57
60
60
59
57
59
60
61
61
60
56
59
61
63
63
64
64
65
106
112
99
109
113
97
103
112
107
104
103
101
103
109
110
109
119
126
95
105
103
174
167
141
112
89
81
110
149
182
213
238
244
245
247
251
254
255
254
255
255
252
249
254
255
255
255
253
253
251
250
250
249
250
250
250
253
255
255
80
79
79
77
76
75
74
73
69
68
67
66
65
65
65
65
67
68
70
72
74
75
75
75
78
76
85
104
125
140
149
154
156
155
157
158
161
165
170
172
172
171
167
166
164
164
162
160
166
164
160
155
153
143
115
87
70
63
59
58
59
62
64
65
60
57
65
59
66
64
51
79
67
63
59
56
56
56
58
59
69
61
60
71
76
67
58
57
55
55
54
52
50
51
53
56
61
58
53
52
52
53
51
50
56
56
56
58
58
58
55
51
51
53
55
55
54
52
52
52
50
50
48
46
44
44
45
46
43
44
48
50
52
53
56
57
63
42
68
62
70
86
66
66
85
82
75
67
61
57
57
56
59
59
58
60
62
63
64
62
58
59
61
62
63
63
66
67
105
109
98
107
111
98
107
115
111
110
107
97
92
99
110
119
117
121
89
99
99
168
162
134
114
95
90
115
157
196
225
245
248
248
249
251
254
255
254
255
255
255
251
254
255
255
255
255
253
253
251
247
244
243
245
247
249
252
253
80
79
79
77
76
75
74
74
71
70
69
67
67
67
67
67
67
70
71
73
75
75
75
75
77
77
87
105
123
137
145
150
152
151
152
156
159
163
167
169
170
168
165
162
160
158
154
153
154
152
147
140
131
115
91
70
68
65
63
62
62
62
62
62
60
56
63
65
67
60
57
87
66
62
59
57
54
54
57
59
72
59
53
65
75
72
61
56
54
55
55
54
53
55
57
61
50
51
53
52
52
54
57
62
51
51
52
53
55
55
50
44
64
62
61
60
57
55
55
55
55
51
47
46
46
46
47
46
44
48
53
53
51
52
57
62
65
49
83
59
65
67
74
84
85
83
79
74
67
60
56
54
55
55
55
58
60
62
61
61
58
59
60
61
61
63
67
69
92
103
97
108
112
97
102
106
80
94
106
104
99
102
111
117
114
111
81
90
97
158
152
122
109
100
96
119
165
209
238
248
251
252
253
255
255
255
255
255
255
252
246
247
251
251
252
255
250
250
248
242
234
232
236
242
248
252
254
80
80
79
78
77
77
76
76
73
72
71
70
70
70
70
70
69
71
73
75
76
76
76
75
76
77
86
104
121
133
141
148
148
148
149
152
155
158
161
163
165
162
159
155
153
151
147
144
131
130
124
115
102
88
72
62
68
68
69
68
66
64
62
62
63
58
63
69
65
54
62
90
65
64
61
58
56
57
60
65
69
58
50
60
69
69
62
57
56
57
56
58
56
57
59
62
48
49
51
51
52
54
56
59
54
58
59
59
58
58
59
56
67
64
64
61
57
57
58
59
60
55
49
49
49
51
49
47
50
53
55
55
53
55
59
62
59
60
94
70
51
46
64
87
117
114
106
94
80
65
53
46
56
56
56
59
60
61
61
60
59
60
60
60
59
62
66
70
77
96
97
112
116
96
93
93
70
88
105
107
104
109
113
115
111
103
74
82
93
148
145
116
106
104
103
124
170
220
245
249
249
252
254
255
255
255
252
251
247
241
234
235
237
239
243
247
246
246
246
237
227
222
226
233
244
246
249
80
80
79
79
78
77
77
77
75
74
73
73
72
73
73
73
71
73
73
76
77
77
76
76
75
75
85
101
116
126
135
143
144
145
146
148
149
151
152
154
157
155
148
144
139
135
130
125
115
110
102
92
78
65
59
59
67
71
73
73
71
66
62
61
66
62
64
73
62
50
67
85
68
65
63
62
63
64
68
70
61
56
53
57
61
61
59
60
58
59
59
59
56
56
56
57
56
52
49
50
51
52
49
47
48
54
57
54
51
51
57
62
56
55
55
53
52
53
55
58
61
56
52
53
56
58
57
56
62
59
56
55
57
60
60
58
62
58
62
67
47
58
50
53
53
59
67
75
81
83
84
85
63
63
60
61
62
63
63
62
60
60
60
61
60
61
65
68
76
98
99
110
114
96
96
95
105
109
110
100
98
109
117
118
107
95
71
75
90
137
142
121
114
117
119
136
178
226
250
253
252
255
255
255
255
251
241
237
232
227
221
222
224
226
230
235
239
242
242
235
225
219
221
226
231
231
233
79
79
79
78
78
77
77
77
76
76
75
74
74
75
75
76
73
73
75
76
77
77
76
77
75
76
83
94
106
116
125
134
138
139
141
142
143
143
144
144
148
144
136
129
123
116
110
104
105
98
88
79
65
56
53
58
66
72
76
77
73
69
63
62
67
67
65
73
59
52
73
76
66
63
59
60
64
69
71
71
56
56
56
57
57
56
58
59
59
61
60
59
56
54
54
53
50
46
43
47
51
54
52
50
46
51
53
50
46
46
53
58
48
48
51
51
53
55
57
60
56
54
54
58
62
65
65
65
71
65
59
57
60
61
60
56
58
55
48
67
50
63
47
42
49
53
56
57
56
53
50
49
69
65
61
58
57
57
58
58
59
61
62
60
60
60
62
65
83
103
99
106
110
99
106
110
110
114
112
102
103
116
117
110
103
90
72
72
87
128
146
136
134
137
138
151
183
222
244
250
255
255
255
255
249
239
227
222
213
211
209
210
213
214
218
223
230
234
237
234
227
221
218
220
219
217
216
78
78
78
78
77
77
77
77
76
76
75
75
75
76
76
77
73
74
76
76
78
77
77
78
77
76
79
87
95
102
111
121
128
130
131
133
134
136
137
137
136
131
124
118
112
107
101
95
94
85
78
74
64
54
52
58
64
70
74
75
72
68
63
63
65
70
65
72
58
55
79
66
61
54
49
53
62
69
70
68
57
58
58
58
56
57
58
58
57
58
58
57
55
53
51
51
42
42
45
46
49
50
51
53
55
55
57
56
56
55
53
53
42
45
49
52
54
56
59
61
53
56
59
61
62
61
62
65
74
71
65
60
57
57
56
57
50
57
64
68
48
46
52
54
51
55
57
58
59
59
58
59
76
70
64
57
54
54
55
56
59
61
62
61
60
60
60
61
75
100
99
107
111
105
114
117
101
111
116
111
111
120
116
101
98
84
72
68
81
118
149
153
150
151
149
157
178
204
224
236
244
241
235
228
221
212
203
199
193
194
195
201
203
203
206
211
217
222
227
229
226
219
212
209
205
203
198
78
77
77
77
77
77
76
76
77
76
76
75
75
76
77
76
74
74
76
78
77
77
77
77
79
77
77
82
88
93
102
113
119
122
125
128
129
131
132
132
125
121
116
111
109
105
101
95
79
72
69
71
66
58
54
58
62
66
69
70
69
67
63
64
64
71
65
71
57
58
85
62
56
47
42
47
58
67
67
62
59
59
60
58
59
60
59
56
53
55
56
55
53
51
51
50
51
54
56
52
45
40
40
43
45
41
38
41
44
42
32
25
34
40
44
48
49
51
53
54
54
57
61
62
58
55
53
57
72
75
69
61
54
51
54
56
52
54
67
56
50
32
56
54
49
52
52
53
54
54
53
55
89
82
72
64
59
59
60
60
57
59
61
61
59
57
57
58
60
89
98
112
118
109
113
114
121
127
124
109
104
114
115
105
92
80
71
64
78
112
152
163
156
154
151
156
169
186
205
220
215
210
202
193
187
182
178
176
180
181
186
192
195
196
197
201
206
210
218
224
222
216
205
199
193
188
182
77
77
77
77
77
77
77
77
75
75
75
76
76
77
77
77
76
76
77
78
77
79
79
79
77
77
76
78
80
85
89
93
103
109
114
116
119
126
131
131
126
126
120
112
112
114
106
90
71
66
65
68
64
58
60
68
62
62
62
65
67
68
66
67
63
64
63
62
60
60
68
77
54
59
50
51
67
63
54
62
55
58
60
59
57
57
58
58
58
57
54
50
46
47
55
61
57
54
49
43
40
38
38
38
38
33
34
39
41
33
24
23
37
34
34
43
45
42
44
50
54
54
54
54
49
46
44
47
57
58
57
83
34
43
70
46
46
60
69
58
47
46
53
60
62
60
53
51
53
59
59
56
98
90
67
54
58
56
51
54
48
50
50
52
54
58
60
61
58
67
92
112
115
120
121
113
122
119
117
118
116
114
107
100
94
74
69
70
70
103
144
155
156
153
148
151
159
166
168
168
163
163
159
154
154
157
160
164
172
177
183
188
190
189
189
189
188
189
195
205
212
211
200
192
185
177
168
77
77
77
77
77
77
77
77
75
75
75
76
76
77
77
77
76
77
76
77
78
79
79
79
80
79
78
78
80
83
85
88
93
100
105
108
113
122
128
128
128
125
116
108
111
115
103
86
61
55
54
61
65
63
64
65
61
59
60
62
66
66
66
66
60
61
60
59
58
58
65
74
71
65
54
53
64
67
57
53
56
59
61
61
59
59
58
57
57
54
50
50
53
56
56
57
50
49
47
45
44
45
46
46
42
37
36
39
37
29
20
19
29
45
50
41
39
45
47
42
58
55
52
50
47
48
50
56
50
59
56
69
69
47
50
34
53
63
69
61
51
50
54
58
58
57
53
53
57
60
60
57
99
88
64
52
57
58
54
57
53
52
52
53
54
53
54
54
59
66
89
108
113
120
124
117
122
119
119
118
117
111
104
97
93
75
68
70
73
102
138
146
147
146
142
144
149
152
149
148
135
137
137
141
143
149
155
158
171
177
183
186
187
187
188
187
181
179
183
190
199
200
195
188
181
172
163
76
76
76
76
76
76
76
76
74
74
74
75
75
76
76
76
76
76
75
77
78
79
79
79
82
81
80
78
79
80
81
82
84
89
95
99
108
119
126
125
132
128
118
111
115
117
104
81
61
54
54
61
68
69
66
63
61
58
58
61
64
66
65
66
59
57
57
57
56
57
63
70
68
57
55
59
67
79
72
51
57
58
59
61
61
60
58
57
55
50
47
52
61
63
57
52
54
54
50
48
46
45
44
44
44
40
39
41
37
30
22
24
37
47
52
53
57
58
53
45
50
47
46
45
46
46
47
52
48
61
54
59
109
67
47
47
58
64
65
60
55
53
53
54
54
54
54
56
59
60
60
59
96
84
60
48
59
62
59
61
61
60
61
60
59
57
54
54
59
64
84
103
111
122
129
123
122
121
122
121
117
110
99
92
89
73
65
70
76
97
122
128
130
133
131
133
136
136
132
130
122
127
133
141
149
156
160
163
171
176
180
184
184
185
186
186
177
172
170
174
181
186
185
183
171
160
150
75
75
75
75
75
75
75
75
74
74
74
75
75
76
76
76
75
75
76
77
77
79
79
79
81
81
79
79
78
78
79
79
80
84
89
94
104
117
124
123
132
133
128
122
120
116
99
77
72
67
67
70
73
72
69
65
64
60
60
62
65
66
65
64
63
60
57
58
57
56
62
68
60
51
59
65
68
83
85
58
57
55
55
59
61
61
57
56
52
50
50
57
62
62
53
47
54
55
52
50
46
46
44
44
42
39
40
42
39
34
31
37
56
40
44
77
93
78
60
58
41
42
45
48
50
48
43
40
48
55
50
67
115
86
62
71
61
60
58
56
55
54
52
51
53
54
56
59
60
57
58
60
88
77
55
48
60
65
59
60
62
61
63
64
63
60
58
57
57
61
78
99
110
124
132
125
118
119
122
122
118
109
98
91
84
71
61
68
79
91
104
109
115
121
122
125
129
131
129
129
135
142
149
157
164
168
170
170
172
176
179
182
183
183
184
184
180
171
165
165
172
180
184
184
171
158
146
75
75
75
75
75
75
75
75
74
74
74
75
75
76
76
76
76
75
75
77
77
78
79
79
79
78
78
79
78
79
80
79
78
80
84
89
101
114
119
118
125
134
137
130
119
108
89
69
70
73
77
76
71
69
69
67
66
63
63
65
68
68
66
63
65
61
58
58
57
56
59
63
70
61
66
65
59
74
88
75
64
56
51
56
60
58
55
56
48
51
56
59
58
54
48
44
48
50
49
50
51
51
53
53
46
45
47
49
46
42
44
52
58
51
62
92
104
85
67
64
51
51
51
54
57
56
52
47
50
46
55
89
92
88
65
72
66
60
55
54
56
57
55
53
56
57
58
61
59
54
55
61
78
69
53
49
62
64
56
53
50
50
53
56
58
58
57
58
54
56
73
95
110
125
133
126
116
118
122
123
116
108
97
90
81
72
62
69
83
86
91
98
112
118
121
126
129
133
136
140
149
154
160
167
170
171
171
169
172
174
178
180
181
182
184
184
183
173
164
165
174
186
193
198
186
170
156
74
74
74
74
74
74
74
74
74
74
74
75
75
76
76
76
75
75
75
76
77
78
79
79
78
78
79
79
79
80
81
80
76
77
79
85
96
111
116
113
118
131
140
131
116
101
81
63
55
64
73
71
65
66
67
67
67
64
64
66
68
68
66
63
64
59
56
57
57
56
58
59
73
63
61
55
50
65
90
104
80
65
53
54
57
57
55
56
48
54
59
59
52
47
45
45
52
52
51
50
49
49
48
49
49
50
53
53
49
46
49
62
51
78
95
92
84
79
68
56
65
58
50
47
50
56
59
58
58
50
74
107
76
80
59
59
76
64
55
55
60
60
58
59
59
58
60
62
57
51
58
68
71
67
55
50
59
58
50
50
44
44
46
51
55
58
60
62
54
52
66
88
106
124
134
127
117
119
123
122
114
105
94
89
79
75
64
70
85
83
84
96
115
124
129
134
136
139
144
151
156
159
164
168
169
170
169
169
170
173
175
178
178
180
182
184
181
173
166
169
181
196
206
210
194
178
161
75
75
75
75
75
75
75
75
75
75
75
76
76
77
77
76
75
74
75
76
77
78
79
79
79
80
79
80
80
80
80
78
75
75
78
84
97
112
118
115
117
128
134
127
113
101
82
62
47
55
65
64
63
66
67
65
65
64
63
65
67
66
64
62
62
57
55
58
60
60
61
63
61
57
48
47
52
57
77
108
104
81
60
58
58
55
54
56
52
55
57
54
49
47
49
49
50
48
45
43
38
35
32
32
39
43
47
49
44
42
51
66
67
95
103
85
74
74
65
49
64
55
45
40
46
56
63
64
63
58
89
93
71
68
54
59
85
70
57
56
58
57
57
61
63
60
59
61
55
51
61
76
71
69
57
51
55
53
48
49
44
43
46
49
52
56
59
62
57
51
59
78
97
121
136
131
121
122
124
122
111
101
90
86
75
74
64
69
84
77
77
94
114
126
136
142
144
146
151
158
164
166
167
168
168
169
169
168
167
169
172
174
175
177
181
183
179
173
168
173
185
199
207
210
192
174
156
74
75
74
75
74
75
74
75
74
75
74
76
75
77
76
76
75
75
75
77
77
79
79
79
81
82
82
81
81
80
79
76
77
76
79
87
101
117
124
120
122
129
132
126
117
109
90
70
52
58
64
63
65
69
66
60
63
62
62
64
66
65
62
61
63
59
56
60
63
64
65
67
55
56
46
51
58
48
53
85
119
91
67
60
59
55
54
58
55
56
54
51
48
49
51
53
37
35
34
33
32
31
29
30
28
32
39
41
39
41
53
70
96
94
85
80
80
75
62
48
61
54
47
46
52
59
63
61
57
56
86
59
63
52
50
67
87
72
57
54
54
53
53
58
60
58
55
57
52
49
63
82
73
72
59
50
52
49
45
50
44
43
43
43
45
49
52
56
61
50
55
73
92
119
137
134
126
125
125
119
107
96
87
83
68
71
59
65
81
73
70
93
109
125
140
150
152
155
160
165
172
171
170
167
165
165
165
165
164
166
170
172
173
175
179
182
182
176
173
176
188
198
203
205
191
171
152
75
75
75
75
75
75
75
75
76
76
76
76
76
76
76
76
74
75
76
76
76
78
80
83
83
82
80
81
82
81
78
76
75
75
79
91
107
123
133
137
132
136
136
130
121
114
106
97
77
65
61
66
69
65
61
62
59
59
58
59
60
59
58
57
54
65
60
54
65
70
61
55
56
55
53
54
56
60
58
54
59
83
90
69
56
62
66
58
50
71
47
54
55
45
66
40
38
41
41
29
34
39
39
29
31
44
33
38
44
33
86
43
92
94
89
84
79
71
62
54
61
64
62
54
49
53
58
59
56
55
69
59
51
54
53
68
76
75
68
58
52
53
52
53
60
57
47
40
45
57
67
72
80
69
55
48
48
50
49
49
47
48
48
48
48
50
53
57
61
50
62
61
95
115
143
132
135
132
120
104
95
92
86
77
72
60
62
66
94
63
67
91
116
134
150
156
157
161
166
168
167
166
165
165
164
163
163
163
165
166
171
172
173
174
177
179
181
180
177
174
180
189
194
193
175
152
135
75
75
75
75
75
75
75
75
76
76
76
76
76
76
76
75
75
76
77
78
78
78
81
82
83
81
79
79
78
80
79
77
76
78
83
95
111
126
136
139
150
140
127
120
121
124
117
105
94
81
71
74
76
71
64
60
57
58
57
60
61
60
58
59
60
63
56
58
65
60
54
60
53
53
53
52
56
58
59
57
54
65
77
73
62
56
56
59
58
73
48
55
54
46
63
37
36
37
41
43
42
40
40
43
36
37
37
59
26
50
63
35
104
97
90
86
78
65
59
61
55
66
71
61
47
39
38
39
45
58
84
72
53
52
61
87
71
71
65
57
51
54
55
55
61
57
53
50
52
56
63
69
74
65
54
48
48
50
48
48
48
49
48
47
48
49
52
57
61
51
60
61
94
118
144
133
134
128
115
100
92
89
84
76
68
61
66
74
83
61
67
92
118
135
149
156
157
161
165
166
165
165
164
163
161
161
161
162
163
166
169
170
171
173
175
177
176
178
175
171
171
172
170
162
133
111
95
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
75
78
80
80
80
79
79
82
81
81
79
79
80
81
84
84
84
86
92
105
118
131
138
142
146
139
131
125
128
131
126
115
102
85
73
72
73
71
65
61
55
55
56
60
63
63
61
61
61
60
58
66
72
59
48
58
54
54
55
56
55
56
57
58
52
52
65
79
72
53
50
64
62
72
48
53
54
49
66
46
41
35
36
49
45
39
38
49
40
55
42
40
50
81
59
89
94
85
78
76
69
58
55
62
53
62
65
60
55
49
43
38
36
47
69
58
44
51
65
94
63
67
65
61
57
61
64
64
64
61
62
65
62
58
63
73
66
60
53
50
49
51
49
48
48
48
48
47
48
49
52
57
62
52
56
59
91
122
147
135
129
124
113
100
90
85
79
73
65
63
71
84
64
56
70
95
119
135
147
152
154
158
163
163
162
162
161
160
159
160
160
160
162
164
167
168
169
169
171
174
178
181
178
172
166
158
147
134
99
79
65
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
76
78
80
81
80
78
79
80
79
81
85
88
88
89
92
94
96
99
107
116
126
135
141
143
135
139
138
129
121
123
129
130
116
100
88
79
73
68
63
60
54
55
57
60
64
64
64
63
57
62
61
70
82
72
53
49
57
56
59
61
59
54
54
56
53
50
61
78
75
58
56
66
54
62
47
48
50
52
74
70
62
51
36
47
44
50
42
47
57
26
50
43
56
68
87
75
60
64
66
62
57
56
55
57
56
56
57
64
77
85
77
66
55
57
75
77
81
89
82
89
53
62
66
64
63
66
67
64
63
56
57
63
58
53
62
77
57
54
51
51
52
51
50
48
48
47
48
47
47
48
52
56
63
54
53
57
86
124
147
135
128
121
110
99
88
80
72
67
61
66
77
90
50
57
77
101
123
137
146
149
152
157
161
162
160
160
159
158
159
159
159
160
162
163
167
167
168
168
171
173
178
180
179
173
166
157
142
128
98
82
71
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
75
77
80
80
79
78
79
81
80
87
96
102
104
103
103
103
108
112
118
124
130
135
139
140
142
141
132
117
108
110
117
118
115
109
104
95
83
71
60
55
53
54
57
60
64
65
65
64
55
64
58
59
82
92
77
59
57
55
57
62
61
54
52
54
51
55
61
69
70
66
65
62
48
55
48
45
44
51
76
87
90
79
46
48
44
69
54
44
44
61
49
50
98
61
41
45
38
59
65
55
51
57
55
47
52
59
71
83
96
105
101
94
64
69
94
104
111
106
75
61
52
62
68
67
62
60
58
52
53
45
44
46
44
44
57
74
51
51
51
51
53
52
52
50
48
47
47
46
47
48
51
55
63
56
50
56
78
124
146
135
126
117
108
97
85
74
64
59
58
68
80
87
46
62
84
106
124
137
146
150
153
158
161
160
159
159
157
158
158
159
159
161
162
165
166
167
167
168
170
172
172
175
174
170
165
160
149
138
119
107
97
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
76
78
78
79
78
79
83
84
90
98
109
117
117
113
112
112
116
119
124
128
131
134
138
141
144
139
133
131
132
126
107
82
78
82
88
88
84
75
63
52
56
57
58
61
64
65
63
62
57
65
53
46
73
103
100
85
60
54
51
58
59
54
51
54
49
55
59
57
62
70
66
57
48
52
51
45
41
47
66
82
93
92
57
57
43
74
56
47
51
39
37
87
61
57
54
31
40
61
66
53
44
49
48
41
52
76
98
105
100
96
96
98
76
78
92
86
77
72
52
51
65
75
79
74
64
58
54
46
50
45
42
39
41
48
62
74
49
51
51
53
52
52
52
51
48
47
46
45
46
47
50
55
61
59
49
55
67
121
141
136
123
113
104
96
83
69
58
55
58
72
80
74
52
66
87
106
124
136
145
149
153
158
160
158
155
156
155
156
157
158
159
161
161
164
167
166
166
167
169
170
170
173
172
169
167
165
157
148
137
128
120
80
80
80
80
80
80
80
80
79
79
79
79
79
79
79
78
80
80
79
79
79
82
86
90
103
111
122
126
124
119
117
118
121
125
129
132
134
138
142
147
147
150
156
167
173
166
136
103
70
65
65
66
72
78
74
63
61
59
59
60
64
63
62
60
58
63
52
49
73
99
104
101
79
62
52
55
57
53
50
54
48
52
55
55
62
67
62
52
51
47
51
46
45
48
54
64
77
89
70
81
51
70
56
65
53
44
46
70
55
55
35
59
57
60
62
55
46
42
50
61
77
95
109
106
97
91
90
92
100
90
87
64
49
52
51
67
74
82
83
74
63
57
56
51
46
48
48
42
46
59
67
65
49
52
52
53
52
51
52
52
48
47
46
45
46
47
50
55
58
62
49
55
59
115
138
135
116
104
97
92
82
68
55
56
61
78
81
57
60
68
86
100
119
133
142
148
154
158
158
155
152
153
154
154
155
156
157
159
161
162
165
164
164
164
165
167
169
172
171
168
165
162
154
145
132
128
121
80
80
80
80
80
80
80
80
79
79
79
79
79
79
79
78
81
81
80
80
80
84
90
95
114
120
128
129
126
121
117
119
124
127
133
136
138
143
150
157
167
172
179
184
190
193
187
172
111
92
71
62
71
87
87
78
64
61
60
61
61
61
59
57
56
60
58
61
79
88
93
101
99
76
58
56
57
52
50
54
52
50
53
60
67
67
58
51
52
45
48
48
52
54
46
50
66
88
87
111
68
72
60
91
109
59
123
108
81
61
48
59
72
59
56
62
56
46
64
95
110
107
100
94
95
99
95
90
93
80
74
55
47
53
48
57
68
74
73
64
54
52
55
54
39
48
50
43
48
62
63
52
51
53
54
52
51
51
52
52
48
47
46
45
46
47
50
55
57
63
48
54
54
112
135
134
110
99
94
90
81
67
57
59
67
84
82
48
68
69
83
93
115
129
139
146
152
157
156
153
151
151
151
152
153
155
155
158
158
161
163
163
162
162
163
165
164
166
166
161
156
151
140
130
117
113
107
76
78
80
80
79
79
79
81
82
79
77
77
81
83
82
81
83
80
80
81
81
83
97
113
120
124
128
129
127
122
115
111
119
124
131
141
151
164
176
185
197
204
207
207
207
209
203
194
168
128
93
122
116
72
81
99
75
63
57
59
58
55
54
59
56
53
66
60
73
88
79
100
99
88
71
58
54
55
54
52
48
50
55
61
60
55
53
55
47
47
47
49
50
52
53
54
55
74
89
78
56
54
88
126
120
107
99
102
101
92
89
91
87
70
58
57
51
45
50
62
85
97
104
103
100
100
97
94
83
70
56
52
49
47
51
57
68
66
63
60
57
56
57
54
55
52
52
52
54
53
51
49
51
53
55
53
51
50
50
50
49
48
47
46
47
48
51
55
63
56
54
47
59
88
152
123
109
102
93
81
72
68
61
59
79
84
61
44
58
70
77
94
105
120
136
146
150
149
150
152
149
150
151
152
153
155
156
156
155
157
160
161
162
162
161
160
165
163
158
151
139
126
114
106
85
85
84
75
78
80
80
80
79
80
81
82
80
79
80
82
83
82
80
86
81
79
84
90
96
107
119
121
125
127
124
117
112
111
113
119
126
137
152
167
182
197
206
214
219
222
221
219
216
209
199
188
155
124
138
125
86
96
114
90
75
63
62
63
59
54
54
61
56
63
54
62
75
72
93
111
96
72
53
48
54
53
48
53
57
61
60
56
53
52
53
55
53
50
48
48
50
52
53
56
62
74
87
94
92
93
97
79
74
78
92
104
101
89
79
53
45
44
47
40
34
41
57
81
92
100
101
102
101
92
82
69
60
54
54
53
51
50
54
62
62
59
58
56
56
57
58
57
55
55
55
55
54
51
50
51
54
55
54
50
49
49
50
49
48
47
46
47
48
51
55
60
61
56
49
55
90
144
115
103
94
87
80
71
65
61
66
81
76
60
50
57
65
71
83
99
114
131
143
147
147
147
148
146
148
149
150
151
153
154
154
155
157
159
159
158
158
157
156
152
148
140
129
117
105
93
87
87
87
87
76
78
81
81
81
81
82
83
84
83
82
83
84
84
83
80
85
81
81
89
100
109
117
123
123
126
124
115
105
103
110
117
125
133
148
167
185
201
215
224
228
231
232
229
225
219
207
196
174
154
130
130
110
81
93
109
117
96
74
66
65
62
57
54
61
59
65
55
55
62
61
70
106
105
91
66
50
52
54
50
53
65
71
61
50
49
50
48
52
49
46
47
50
55
61
66
45
52
68
86
94
90
83
81
69
70
77
91
107
109
87
60
47
45
50
51
44
40
55
76
74
80
87
95
100
97
82
67
57
55
55
60
59
57
53
54
58
59
57
57
55
56
58
60
57
57
57
57
56
55
52
50
54
55
56
54
50
48
48
49
49
49
48
47
47
48
51
54
57
68
56
52
47
95
131
108
99
88
81
78
69
59
61
74
85
68
60
62
60
63
68
72
92
107
124
137
143
144
143
143
144
145
146
148
150
151
151
152
156
157
156
156
154
151
149
148
141
136
127
116
105
96
88
85
93
94
95
74
77
79
81
80
81
82
84
83
83
83
84
84
83
82
80
79
81
88
99
109
117
122
124
124
121
114
105
100
103
114
123
138
146
162
181
196
209
220
227
229
233
232
226
219
211
195
182
164
152
134
127
113
98
104
113
139
118
92
76
69
65
61
60
58
60
69
67
58
58
54
49
73
97
107
83
58
52
54
52
52
77
90
75
56
51
52
50
46
44
44
45
49
54
59
63
47
52
58
67
70
69
71
77
81
86
87
91
102
107
86
56
50
47
46
43
37
41
62
83
63
65
71
81
90
88
71
54
53
55
59
64
64
61
57
55
56
57
56
56
55
55
57
58
58
59
58
58
58
56
53
51
54
55
56
54
50
48
47
48
50
50
49
48
48
48
51
54
56
70
57
51
44
102
121
103
100
86
76
72
64
55
63
82
89
67
67
79
70
67
71
68
85
99
116
131
139
141
141
142
143
144
145
147
148
150
150
151
155
155
153
151
147
144
142
141
135
129
121
113
105
102
101
102
103
104
105
72
74
78
79
80
80
82
84
82
83
84
84
83
82
82
81
77
88
102
112
116
119
122
123
121
114
103
99
103
114
124
132
149
159
174
189
201
211
218
223
224
226
222
215
208
198
182
167
153
141
132
123
117
114
109
111
137
129
116
102
88
79
69
65
58
59
66
69
60
61
66
49
48
73
88
78
61
56
54
51
52
85
107
93
68
59
59
56
52
50
49
48
48
47
47
48
57
52
51
58
67
69
66
64
69
80
86
86
93
101
87
63
59
53
51
50
50
57
72
86
53
51
54
65
74
72
59
49
53
57
60
60
59
58
55
55
59
59
58
57
56
55
54
55
58
59
58
58
59
57
54
51
55
56
57
55
51
49
48
49
51
51
50
48
49
48
51
54
55
67
55
49
49
106
113
103
95
82
68
63
59
58
71
91
86
69
74
89
79
73
73
69
80
92
108
124
133
138
140
141
142
143
145
146
147
149
149
150
153
152
149
146
143
140
138
136
129
124
116
110
107
108
110
113
111
112
111
69
72
75
77
78
79
81
83
83
84
84
84
83
83
85
86
86
101
117
121
121
121
121
119
114
106
99
101
112
126
135
141
157
166
179
191
199
206
211
213
214
213
208
201
195
186
168
155
137
121
116
107
107
110
97
96
115
122
128
126
115
100
85
73
68
62
60
65
58
67
84
62
54
57
61
63
66
67
64
55
50
76
95
87
68
58
56
55
57
57
57
58
57
57
56
56
40
51
64
73
68
59
55
58
57
73
86
89
93
95
83
63
64
63
64
70
76
81
84
85
51
46
46
55
60
58
52
48
52
57
56
52
50
50
52
52
60
61
60
59
56
55
52
52
56
57
56
57
57
55
53
51
55
56
58
55
50
48
48
49
52
52
51
49
49
49
51
54
57
60
55
48
64
110
107
99
84
74
62
55
55
64
79
92
71
70
76
86
81
74
71
68
74
85
99
115
127
135
138
140
140
142
144
144
146
148
148
148
149
148
145
142
140
137
136
134
130
126
120
114
111
112
114
117
114
115
115
66
69
73
75
76
78
80
82
85
86
86
85
83
85
90
93
103
112
120
121
120
119
117
111
104
102
103
109
120
133
144
151
161
168
178
186
191
193
195
197
194
192
186
179
176
168
153
139
132
111
110
101
102
109
94
99
90
103
117
124
125
120
106
92
83
72
61
68
59
71
92
59
60
55
54
62
68
66
65
65
56
62
67
66
61
56
55
55
58
57
58
59
62
65
69
71
45
59
74
76
61
48
48
57
65
76
86
90
92
89
76
62
52
53
57
63
66
68
64
62
51
48
49
55
54
49
45
49
50
57
55
48
44
48
51
51
61
61
61
60
58
57
54
54
53
53
53
54
54
53
50
49
55
57
58
55
52
49
49
49
52
53
52
50
49
49
51
54
59
52
58
50
85
112
99
90
75
72
58
49
54
67
77
80
53
71
75
78
81
74
64
68
70
79
91
106
120
129
136
139
138
139
141
142
144
145
145
146
146
144
143
139
138
136
135
135
133
130
126
121
119
119
120
122
116
117
117
67
70
72
75
75
77
79
81
87
88
88
86
85
87
94
99
114
117
118
115
114
117
112
103
97
101
108
115
124
135
147
156
161
167
174
179
180
179
179
179
176
172
166
161
159
153
140
126
120
97
99
88
90
99
86
98
77
85
97
108
121
129
124
112
97
84
71
79
66
71
87
44
49
52
62
69
62
50
55
69
69
57
51
53
59
61
60
61
59
57
53
52
53
56
60
63
83
71
60
58
61
59
55
52
75
76
80
84
89
86
77
67
52
54
53
52
49
49
48
46
51
50
52
56
51
41
40
46
45
53
53
46
42
48
53
53
60
61
61
61
59
58
55
54
52
51
50
51
53
52
49
48
56
58
58
56
52
51
51
52
53
53
52
51
50
50
52
54
61
47
62
52
98
112
91
80
70
72
61
50
55
71
74
66
43
72
75
72
80
74
64
70
67
74
85
100
114
125
132
136
136
137
138
141
142
143
143
144
144
144
141
138
136
135
135
134
129
127
125
124
123
123
124
126
120
121
122
66
68
70
71
72
73
77
79
81
82
83
86
89
98
106
111
113
116
121
119
112
103
97
95
98
104
112
122
130
139
146
153
158
160
162
163
163
162
160
159
158
156
154
153
150
142
131
124
111
103
95
90
89
86
85
86
82
89
88
91
107
122
131
139
117
117
95
80
69
90
55
50
54
55
55
55
57
59
60
63
56
60
63
59
53
51
58
64
57
57
55
55
55
58
63
65
61
64
69
71
67
60
50
43
60
69
79
86
89
88
79
67
58
58
56
53
46
42
40
39
44
43
42
41
39
38
36
35
35
38
42
44
44
46
53
60
56
58
59
59
58
57
55
53
51
52
53
53
53
53
53
53
56
57
57
57
56
55
54
52
53
52
53
52
53
53
54
56
58
55
58
62
109
98
85
75
79
58
57
63
64
80
73
36
43
56
68
76
73
67
68
73
72
75
83
93
107
118
126
131
134
136
137
139
141
144
144
145
145
142
140
139
138
137
133
131
131
129
127
126
127
127
126
125
123
127
130
63
65
67
69
69
71
75
77
79
81
83
86
91
99
108
111
112
112
112
109
102
97
94
92
100
106
114
123
130
137
142
147
149
151
152
153
151
150
150
149
150
148
147
147
145
138
127
121
109
101
94
91
90
86
84
84
84
91
88
88
102
114
120
126
136
135
117
103
85
90
50
47
55
55
55
56
56
59
59
61
57
57
58
58
57
57
56
56
59
57
56
56
57
57
58
57
54
56
61
64
65
63
60
57
52
62
72
79
81
78
67
55
55
56
55
52
47
43
41
40
43
42
41
38
35
33
30
29
30
31
36
41
45
50
55
60
57
58
59
59
58
57
55
53
51
52
53
54
55
54
53
53
57
57
57
57
57
56
56
54
53
51
52
53
53
54
55
55
61
52
53
84
102
91
73
76
69
64
56
62
78
76
56
41
51
54
59
64
66
64
68
73
68
80
98
111
118
122
126
130
131
134
137
140
141
142
144
145
145
144
141
139
138
137
133
131
131
129
127
128
129
129
127
126
128
132
135
57
60
63
65
66
69
72
76
79
79
83
87
93
101
109
113
111
107
102
96
91
90
93
95
106
111
120
128
132
136
139
142
144
144
144
144
142
141
140
139
140
139
139
140
139
133
123
115
103
96
91
91
91
88
85
83
89
95
91
88
100
109
113
119
138
138
133
125
110
97
52
50
56
58
57
57
57
59
58
58
58
53
53
56
62
62
54
47
58
56
55
56
58
58
57
55
53
54
56
58
61
64
65
66
58
64
69
70
72
71
64
55
54
54
55
52
48
45
43
42
39
39
37
35
33
30
28
27
29
30
35
42
50
55
57
59
57
58
59
59
57
56
55
53
51
52
53
54
54
54
53
52
56
57
57
56
56
55
55
54
53
52
53
54
54
55
55
56
61
50
56
108
93
81
62
75
59
66
56
65
87
64
34
46
52
53
54
59
62
61
64
69
70
97
126
140
135
127
125
128
131
133
137
140
142
143
144
145
147
145
141
140
139
139
136
134
132
131
128
129
130
130
129
128
134
138
141
53
56
60
62
64
66
69
74
76
77
81
87
94
103
110
111
109
103
94
87
85
88
95
99
110
115
124
131
134
136
136
138
142
140
140
139
137
136
134
133
133
133
134
136
136
131
121
112
96
90
89
92
94
91
86
82
84
91
89
88
99
108
112
121
125
122
131
134
129
107
60
56
59
58
59
58
58
58
57
56
58
54
53
56
62
62
56
47
54
53
52
54
57
60
61
59
58
58
57
57
58
59
60
61
68
69
65
61
60
65
64
59
53
53
53
51
47
43
41
41
38
38
38
39
38
37
36
35
33
34
37
44
53
57
57
57
57
58
59
59
57
56
55
53
52
52
54
54
55
54
53
53
56
56
56
56
55
55
54
54
53
54
55
57
57
59
58
58
59
51
73
111
85
69
62
67
55
60
66
79
80
47
29
48
47
52
58
65
64
61
64
70
93
126
159
168
152
132
123
126
131
134
138
143
144
145
146
146
148
146
142
141
140
140
138
137
133
131
129
130
131
132
130
130
138
142
145
51
54
57
59
61
64
68
71
73
75
78
85
94
103
107
107
104
96
86
80
81
89
99
106
114
120
127
133
135
136
137
138
139
138
136
135
133
131
131
130
132
132
133
134
134
130
120
110
90
84
87
92
96
95
90
83
74
83
83
82
93
102
108
118
117
111
126
130
135
108
63
56
59
61
61
60
59
58
56
55
58
56
56
57
58
58
57
55
57
55
56
55
55
56
60
62
60
61
60
59
58
56
55
53
64
64
61
57
56
59
58
53
47
48
50
50
47
45
43
44
45
46
47
47
47
47
45
46
40
40
43
48
54
56
56
53
57
58
59
58
57
56
54
52
52
52
53
55
55
54
54
53
56
57
57
57
57
56
55
56
56
58
59
61
61
62
61
61
55
60
93
96
80
60
66
55
55
52
78
92
64
38
40
49
46
54
62
65
61
61
74
92
133
163
190
190
165
139
127
127
132
136
141
147
148
149
147
147
148
146
142
140
140
140
139
138
133
132
131
132
133
134
133
133
142
145
148
49
52
55
57
58
61
65
68
72
71
74
83
94
101
103
102
97
89
81
79
83
94
105
111
119
124
129
133
135
135
135
136
135
134
132
130
128
128
127
128
133
133
133
134
133
128
118
106
87
81
85
94
100
97
93
87
78
85
84
82
92
98
104
113
121
113
124
115
120
92
59
53
59
61
61
60
59
59
57
55
53
55
58
58
58
56
58
61
61
64
65
62
56
52
56
60
58
58
59
59
58
57
53
53
54
59
62
63
63
62
55
44
43
45
48
51
49
48
48
48
48
49
49
48
47
45
44
42
46
46
48
51
54
55
54
53
57
58
58
58
57
56
54
52
53
53
54
55
55
54
54
54
55
56
56
57
56
56
55
57
57
60
61
63
64
64
63
60
55
72
103
78
72
56
66
49
57
55
83
87
50
41
55
50
51
55
59
58
56
68
99
131
174
193
206
199
174
148
134
130
133
136
143
150
152
151
149
148
148
145
141
139
139
140
139
139
134
133
132
133
136
137
135
134
143
147
150
48
49
52
53
54
56
61
62
69
69
72
80
91
98
98
96
94
88
84
84
93
105
115
120
127
130
132
134
133
132
132
133
134
133
131
129
127
128
128
128
133
132
131
132
130
124
113
102
86
81
87
95
101
100
96
91
82
91
89
85
91
93
98
109
122
114
120
89
91
68
53
58
58
60
61
61
59
58
56
54
48
51
56
59
59
59
59
60
59
67
75
72
61
52
53
59
57
57
57
57
56
56
55
55
54
60
63
64
64
65
58
49
48
49
52
54
52
49
48
47
46
47
47
48
45
44
43
42
49
50
53
53
53
53
55
56
56
57
58
58
56
55
54
52
53
53
55
56
55
55
54
54
55
56
56
57
57
57
56
57
57
58
62
63
64
64
62
59
58
85
94
71
62
58
56
53
58
71
80
64
50
53
57
51
51
53
56
60
67
92
132
168
197
203
204
195
174
153
136
129
131
137
143
149
153
152
149
147
147
144
140
138
138
139
139
139
136
134
134
136
138
139
137
137
146
150
153
46
48
50
51
51
54
57
59
68
68
70
79
90
97
96
92
95
90
88
92
103
115
124
128
132
133
134
133
131
130
130
130
135
134
132
130
130
130
130
131
133
131
130
130
127
120
110
99
87
84
87
95
101
100
96
93
79
89
89
83
86
87
90
100
114
110
113
68
65
49
52
67
57
58
59
60
58
58
56
55
44
48
54
60
64
62
59
55
52
66
79
78
66
55
55
62
59
58
56
55
54
54
56
56
59
59
57
54
55
60
60
55
56
56
58
57
52
47
44
44
47
49
51
52
53
53
51
53
50
53
56
54
52
52
55
60
56
57
57
58
56
55
54
52
53
53
55
56
57
56
55
55
56
58
57
59
58
58
58
59
57
58
61
62
63
63
61
56
60
93
81
72
56
63
46
62
61
93
76
45
56
66
55
52
48
50
57
68
86
116
157
190
203
201
195
186
172
153
135
124
129
135
142
149
152
151
148
146
147
143
139
137
137
139
139
139
136
135
135
136
138
139
139
138
147
151
154
48
47
45
46
48
51
56
58
61
64
69
76
82
88
92
94
88
89
93
101
110
120
129
133
140
140
138
135
130
128
128
130
131
133
131
132
131
131
132
132
128
128
128
125
120
111
101
93
92
92
92
94
95
96
96
94
79
84
92
96
89
81
83
92
104
89
68
55
55
58
61
59
57
58
57
58
56
56
53
53
47
51
56
62
64
64
61
57
57
48
87
75
47
61
60
56
59
58
57
56
55
54
53
52
55
59
62
60
55
56
62
67
66
57
50
52
50
45
45
50
55
53
54
55
57
58
55
55
59
60
58
56
56
55
55
55
57
57
57
58
57
57
57
56
55
54
56
57
59
59
57
55
56
57
57
58
58
58
59
60
57
61
58
52
57
68
64
49
95
87
75
61
51
50
56
69
91
71
52
51
63
66
54
43
46
49
56
74
110
155
186
198
203
190
182
178
160
132
118
123
128
135
143
148
149
148
146
145
142
138
134
134
137
139
138
136
139
140
139
139
138
139
143
147
155
157
158
48
47
46
46
47
51
54
56
60
63
68
74
80
85
89
92
90
93
98
106
116
126
135
140
141
140
137
132
128
126
127
130
134
135
136
136
136
134
134
133
128
127
124
120
115
107
98
93
96
96
94
94
92
93
94
93
93
89
88
90
86
83
82
89
85
76
62
54
54
57
57
57
56
56
56
56
55
54
52
53
48
53
57
61
65
64
60
57
56
60
82
72
52
58
58
52
61
60
59
59
58
57
56
54
55
56
55
51
49
49
55
60
68
56
47
47
48
46
49
54
53
51
50
58
69
73
68
63
58
57
57
57
56
56
57
57
56
56
57
57
57
57
57
55
54
53
54
56
59
58
57
55
56
58
58
59
59
60
60
60
57
63
58
53
58
60
58
61
95
81
67
57
57
61
64
74
64
63
58
58
61
61
59
61
47
55
75
104
143
176
195
199
186
185
182
169
142
117
112
123
127
134
141
147
148
147
144
144
140
137
134
134
138
140
140
139
141
141
142
140
140
142
146
149
156
157
158
49
49
47
46
47
49
52
53
59
62
66
72
77
82
85
87
89
93
100
110
120
131
139
144
142
140
137
132
127
124
125
127
134
136
138
139
138
136
132
130
128
124
118
112
106
100
94
93
98
98
95
92
90
91
92
92
96
87
82
85
88
86
80
79
62
60
56
55
54
54
55
55
55
56
56
56
54
53
51
53
51
54
57
60
63
63
60
56
53
74
70
65
60
54
59
54
58
58
58
58
56
55
54
51
57
55
51
51
51
54
58
60
60
52
48
49
51
52
55
61
55
65
78
89
90
81
66
56
54
55
55
55
56
57
59
59
55
56
56
56
56
56
56
56
53
52
53
55
58
58
56
55
56
58
59
60
60
60
60
60
57
64
57
54
59
49
52
80
92
75
59
57
65
73
75
79
56
62
63
64
60
54
52
55
43
60
93
136
171
188
194
192
180
184
180
154
117
98
104
120
125
131
140
146
146
146
144
143
137
135
134
136
139
142
143
142
144
144
144
144
143
146
148
153
161
163
163
52
52
49
49
50
51
52
54
59
62
65
70
74
79
81
83
86
90
97
108
119
130
137
143
145
144
139
133
127
124
124
126
131
133
136
138
136
133
127
125
123
118
110
102
97
93
90
91
97
98
95
92
89
89
90
91
86
81
81
88
91
84
71
63
50
53
53
54
53
53
54
56
55
56
56
57
54
54
51
54
54
56
55
58
62
63
59
56
52
85
60
56
66
53
61
61
56
56
57
58
57
55
54
51
54
51
50
52
58
62
63
61
52
53
54
53
50
51
55
60
85
98
109
105
86
65
54
52
54
55
55
56
56
57
57
58
55
56
56
57
56
56
56
55
53
54
54
57
60
60
57
57
57
59
59
60
60
61
59
60
58
64
56
56
59
43
53
97
85
72
62
62
73
81
81
85
70
70
66
67
67
61
54
50
50
70
107
147
172
180
184
186
187
184
167
130
95
87
99
114
123
131
138
145
145
145
143
142
135
134
135
138
141
143
145
146
145
145
146
146
145
147
151
156
166
166
166
56
56
54
54
54
54
55
56
62
64
67
71
75
78
80
82
85
88
95
105
115
125
134
138
146
145
141
135
129
125
124
124
126
129
133
134
132
128
122
119
115
110
101
95
91
90
89
90
96
97
95
92
91
90
90
90
84
81
81
86
83
72
58
52
49
51
53
53
51
51
53
57
56
57
58
58
56
55
53
55
59
58
54
56
59
61
59
55
57
92
61
53
65
51
58
63
58
58
58
58
59
58
56
55
51
49
49
55
60
62
59
55
55
59
60
54
49
53
66
77
120
113
96
74
56
50
55
64
57
57
55
55
54
55
55
55
54
55
55
56
56
56
55
55
55
55
55
58
61
61
59
59
56
58
59
60
60
60
59
59
59
61
56
57
56
48
64
105
78
72
69
73
80
85
86
90
75
74
68
67
67
64
66
71
85
103
129
153
164
169
178
185
183
167
134
99
80
83
97
108
123
130
138
144
146
145
144
142
135
134
138
140
142
144
146
147
145
146
147
147
147
150
154
158
167
167
167
61
62
61
61
61
60
61
61
66
68
71
74
76
79
81
82
87
90
94
101
110
121
128
133
140
140
138
133
127
121
119
118
119
122
125
126
125
121
116
114
107
102
95
91
90
90
90
91
94
95
94
93
93
92
92
89
94
85
77
73
64
56
50
50
53
54
53
52
50
52
54
59
57
59
59
59
58
57
55
57
62
59
53
53
57
60
59
55
63
91
73
58
64
54
51
60
57
55
55
55
55
55
55
55
60
58
57
60
62
61
56
52
57
60
58
56
62
80
98
112
104
84
61
49
52
59
61
59
59
58
57
56
55
55
53
54
54
54
55
56
56
55
55
54
56
56
56
59
62
62
60
60
56
58
59
59
60
59
58
58
60
57
59
57
54
62
84
102
76
74
76
78
83
87
92
97
71
74
70
62
51
54
77
102
138
148
155
154
155
163
173
176
149
125
96
74
70
80
95
106
122
130
139
145
146
145
143
142
136
137
141
143
143
143
145
146
148
149
150
150
151
153
159
162
173
172
171
65
66
66
67
67
67
66
67
70
72
74
77
78
81
82
83
90
92
93
97
104
113
122
126
130
131
132
129
123
115
111
109
109
111
113
115
115
111
107
105
97
95
92
90
91
91
92
92
92
93
94
95
95
96
93
89
95
79
66
59
55
50
51
53
55
54
52
51
52
53
55
57
58
61
61
62
60
59
57
59
64
60
53
51
56
60
58
53
57
78
84
66
66
63
49
60
60
57
55
54
55
57
59
59
68
65
63
62
61
59
56
56
56
57
55
59
74
92
100
99
61
56
52
56
65
69
61
52
59
59
57
57
56
56
55
55
54
55
54
56
56
55
55
54
55
54
56
59
62
62
60
60
56
59
59
59
59
58
58
57
62
55
61
57
50
80
107
93
80
75
74
77
84
93
101
106
75
72
63
55
53
71
111
146
178
179
165
146
141
150
151
140
102
84
69
66
68
74
88
104
124
130
139
144
147
145
145
143
139
140
144
145
143
142
143
145
151
153
153
154
155
157
163
166
175
174
172
67
68
69
69
71
71
70
71
72
74
76
78
80
81
82
84
89
90
89
91
97
107
115
120
123
125
127
124
119
110
105
103
102
103
104
105
105
103
98
96
93
92
90
91
93
94
94
93
93
93
93
93
93
93
91
87
84
69
57
55
56
54
54
54
54
52
52
52
55
55
54
54
58
60
60
61
59
59
58
60
65
60
51
51
57
61
59
56
50
65
91
73
68
70
50
63
70
66
64
63
63
66
69
71
64
61
58
54
54
55
57
60
63
61
58
63
77
81
64
41
45
53
62
65
62
59
59
61
57
57
57
56
57
58
57
58
56
56
56
56
57
56
55
55
54
54
56
58
61
61
60
59
57
59
59
59
59
59
58
58
63
53
61
56
47
92
122
88
89
81
77
77
87
97
104
110
84
72
57
59
80
116
162
193
188
184
158
130
126
135
125
98
68
60
61
68
69
67
80
101
123
131
139
145
147
146
144
142
141
143
146
147
143
142
143
146
155
157
157
158
158
162
166
171
167
165
164
75
75
74
74
74
74
74
75
78
79
80
81
82
84
85
85
91
90
89
89
93
97
102
106
110
112
115
115
112
106
98
93
96
95
93
90
90
89
90
90
91
91
92
92
92
92
93
94
98
101
90
79
87
92
90
91
78
70
60
56
56
56
52
49
54
55
55
55
55
55
54
55
56
56
57
57
57
57
56
59
59
62
57
49
50
57
60
57
53
53
58
67
75
72
61
50
80
74
70
69
73
72
68
61
55
56
58
58
57
55
57
61
69
65
57
50
48
52
59
63
58
61
64
64
62
60
57
58
56
56
56
57
57
57
57
57
52
53
54
55
56
57
57
57
59
57
57
61
65
66
65
63
58
60
61
60
58
58
56
56
65
60
47
47
76
109
109
86
76
78
81
85
88
93
97
106
89
75
69
97
141
176
188
189
181
157
128
109
100
93
80
68
61
67
64
62
67
67
78
100
115
131
143
147
146
146
147
144
144
145
147
147
146
147
150
152
156
158
159
161
163
167
170
170
168
155
145
78
78
78
78
78
78
78
78
79
80
80
82
83
84
85
86
91
90
89
89
91
95
98
100
101
103
105
105
102
96
91
88
91
90
86
84
84
84
86
87
90
90
91
92
93
94
95
95
97
103
91
83
86
88
82
82
73
67
61
57
56
55
52
51
54
56
56
56
55
56
55
55
55
55
55
55
56
56
56
58
60
62
57
49
50
58
62
60
58
52
52
59
69
79
81
79
70
65
60
59
62
62
58
53
56
56
56
56
56
58
62
66
64
61
57
52
52
55
60
64
64
64
65
63
58
56
55
56
54
54
55
56
56
57
57
58
57
58
58
59
59
59
57
57
58
59
60
63
65
63
61
59
59
61
61
60
59
58
56
58
57
56
53
60
81
101
94
77
78
84
89
92
94
94
95
102
95
103
114
144
175
190
178
160
130
117
101
88
80
72
63
56
60
66
63
61
65
67
77
100
116
131
144
148
146
148
147
145
145
146
148
148
147
148
151
152
157
157
160
162
166
169
169
168
152
141
131
84
84
84
84
84
84
84
84
82
83
84
85
86
87
88
88
93
93
91
91
91
91
93
93
93
94
95
95
94
91
87
86
86
84
81
78
77
79
81
82
87
87
89
91
92
94
96
97
96
101
94
88
91
88
74
71
65
63
60
56
55
57
57
57
56
55
55
57
56
55
55
55
55
55
55
56
56
56
57
59
62
62
58
50
51
58
62
62
63
56
50
52
60
70
77
78
59
53
51
53
58
63
62
60
57
54
51
51
54
57
60
64
55
56
53
52
52
55
59
61
68
67
66
63
58
56
54
55
54
54
54
55
55
57
57
58
58
59
59
60
59
58
57
56
57
60
64
66
63
58
55
55
59
60
60
59
58
57
55
57
54
54
57
70
83
87
80
73
77
83
89
94
97
97
95
101
114
141
166
185
192
179
144
111
82
83
80
76
67
60
57
56
59
65
63
60
65
66
77
99
118
133
146
150
148
150
149
148
148
149
150
150
148
149
151
153
157
157
159
164
169
170
166
160
137
127
120
88
88
88
88
88
88
88
88
86
87
87
88
89
90
91
91
93
94
94
95
94
92
92
92
93
93
93
94
93
91
90
91
89
86
82
78
76
77
78
79
81
84
86
88
90
93
95
97
97
99
91
91
98
91
71
61
61
60
58
57
56
57
61
62
57
55
56
57
56
56
56
55
55
56
56
56
56
56
57
59
63
62
57
51
51
56
61
64
63
58
55
53
55
58
60
58
55
50
50
52
56
60
62
61
56
52
49
50
54
56
55
55
51
54
53
54
54
56
58
58
65
66
66
64
60
58
56
56
54
55
55
56
56
57
58
59
57
58
58
59
58
58
57
57
60
64
67
65
59
54
54
55
59
59
59
59
58
56
55
57
61
53
53
69
80
77
76
81
80
85
90
94
97
97
97
103
133
169
189
184
161
134
96
65
62
66
70
70
65
61
61
61
57
64
62
60
64
66
76
98
119
134
147
151
150
152
151
151
151
152
152
151
150
150
153
155
158
159
163
168
172
167
157
146
132
123
118
90
90
90
90
90
90
90
90
90
90
91
91
92
93
93
93
94
95
96
97
97
96
95
94
96
96
96
95
95
96
96
97
94
90
85
80
77
75
75
75
77
79
81
83
87
90
92
92
96
93
85
91
105
100
79
67
61
58
57
56
56
60
65
65
58
55
56
58
57
57
57
56
56
56
56
57
57
57
57
59
63
62
58
54
52
55
61
66
59
59
58
57
56
58
60
59
58
53
51
51
53
53
52
51
54
53
52
56
57
56
51
48
53
57
57
58
58
58
56
55
58
59
63
64
62
60
58
57
55
54
54
55
56
58
58
60
58
59
60
61
61
62
61
62
64
66
66
61
55
53
55
58
59
60
59
58
57
56
55
56
64
52
51
71
81
78
78
87
85
88
90
92
93
96
97
104
137
165
169
142
107
83
64
50
58
59
61
63
63
63
59
58
57
63
61
59
63
65
75
98
120
135
148
152
151
154
153
153
154
154
154
153
151
152
155
158
160
162
167
169
168
159
146
134
133
124
120
92
92
92
92
92
92
92
92
92
93
93
93
94
94
95
95
95
96
97
98
98
98
97
97
97
97
96
96
96
96
97
98
95
93
88
82
77
74
72
72
74
75
77
79
81
84
86
85
88
85
80
87
104
102
88
83
65
60
57
56
58
62
66
64
59
55
56
57
57
57
57
56
56
57
57
57
57
57
57
59
63
61
60
57
54
53
59
65
66
64
59
55
50
52
59
61
54
52
55
57
59
59
59
58
53
55
57
61
61
58
51
48
57
61
61
62
61
60
58
56
54
56
59
62
61
60
59
59
56
55
55
56
58
59
60
61
62
63
65
65
65
65
64
66
63
64
61
56
53
53
56
60
60
60
60
58
57
55
54
54
58
51
57
79
89
82
79
86
89
91
90
91
92
95
96
103
120
131
124
96
69
59
59
60
61
60
60
63
65
65
60
55
57
63
60
58
62
64
74
97
120
135
148
153
152
154
154
154
154
156
155
153
153
155
158
161
165
167
168
166
159
148
138
130
134
126
121
94
94
94
94
94
94
94
94
94
94
94
95
95
95
95
96
97
98
98
98
96
96
97
97
97
96
96
96
96
97
97
97
95
94
91
87
82
77
73
72
72
72
74
75
76
77
79
78
80
81
78
82
89
87
84
91
75
65
57
55
59
62
64
60
58
55
56
58
57
58
58
58
57
58
58
58
58
58
58
59
61
61
61
60
56
52
57
65
67
65
61
54
47
48
54
58
53
54
59
64
66
66
64
63
50
55
58
62
60
56
53
53
60
62
62
63
62
61
59
58
55
56
56
57
56
58
61
63
58
57
57
58
59
59
61
62
66
67
67
66
65
63
61
62
60
58
56
54
55
56
58
58
61
60
60
58
57
55
54
54
51
53
66
85
87
80
80
90
89
90
92
92
91
92
91
98
98
96
83
71
63
61
62
63
61
63
66
70
71
68
62
57
56
62
60
58
62
63
74
96
119
135
148
153
152
155
154
154
155
157
156
155
154
157
161
165
171
169
165
156
145
137
135
136
136
128
121
95
95
95
95
95
95
95
95
94
95
95
95
95
95
96
96
100
99
97
96
95
94
94
96
97
97
97
97
96
96
97
96
97
95
94
91
87
82
77
76
70
71
72
72
73
75
75
74
74
80
79
76
75
69
74
91
83
70
59
55
59
61
60
55
58
56
57
59
59
59
59
59
58
58
58
58
58
58
58
59
59
58
60
62
57
51
55
63
57
59
62
60
56
55
60
63
61
63
67
68
64
59
53
49
48
54
58
60
58
57
56
58
61
62
63
64
64
64
62
61
59
58
55
54
53
57
63
67
60
59
59
60
60
61
62
64
68
68
67
65
63
59
56
57
55
56
53
54
58
60
58
56
61
60
60
60
58
56
54
54
49
56
71
83
80
76
82
95
87
89
91
93
93
92
89
94
88
77
64
65
71
69
61
55
56
62
69
74
73
67
62
58
56
62
59
57
62
63
73
96
119
134
148
152
152
155
154
154
156
156
156
155
155
158
163
167
173
171
163
149
135
131
136
143
138
129
122
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
95
96
96
96
96
96
96
96
97
97
97
97
98
98
98
98
98
95
95
94
95
93
88
80
76
73
72
69
68
69
71
71
69
74
75
68
74
81
70
75
107
104
86
71
65
64
61
59
59
51
53
54
55
55
56
59
61
60
60
60
60
59
59
59
60
50
55
59
58
55
53
55
57
65
59
54
52
54
60
67
72
68
69
67
58
54
56
55
52
57
57
56
56
57
58
60
60
61
61
62
63
64
65
66
64
59
58
55
54
54
56
58
60
61
61
63
65
65
66
64
64
72
69
65
59
53
51
49
50
57
59
57
58
58
59
59
60
57
56
57
57
57
56
54
51
45
65
79
77
76
81
85
82
92
92
85
84
90
88
87
103
84
81
75
75
72
64
61
63
60
80
94
91
79
70
65
61
59
63
61
61
63
61
72
98
121
136
148
151
150
153
154
155
157
158
159
159
159
162
167
170
173
163
147
137
135
137
142
144
137
128
121
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
95
95
95
95
95
95
96
96
96
96
97
97
97
97
97
97
97
96
96
95
95
93
89
82
78
74
72
68
68
69
70
70
69
70
67
69
76
73
65
82
117
100
96
86
72
64
64
62
56
57
61
61
62
59
59
57
58
58
58
58
58
58
58
58
59
63
66
66
61
54
49
49
50
53
54
59
65
69
73
74
75
66
69
66
59
57
61
63
61
63
62
62
61
61
62
64
63
61
60
60
62
63
63
63
62
64
61
58
56
55
56
57
56
60
60
63
65
67
67
68
69
66
65
61
58
54
53
52
55
58
61
59
59
58
59
60
60
59
59
57
58
57
56
54
52
52
68
78
75
74
81
84
82
83
88
85
86
93
87
83
99
87
99
106
102
84
67
64
72
88
98
102
92
78
69
63
60
58
62
60
60
64
62
72
98
122
136
148
152
150
154
154
155
160
159
157
158
160
164
167
170
166
154
140
134
137
141
141
139
137
128
121
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
95
95
94
94
95
95
96
96
96
96
96
96
96
96
96
96
96
97
96
97
97
95
92
86
82
75
73
70
69
69
70
68
67
69
62
71
75
63
64
92
116
87
100
101
84
70
71
66
57
55
58
58
58
57
56
54
54
56
55
55
55
55
56
56
56
51
53
54
51
48
47
49
51
65
67
71
76
76
74
70
68
66
67
63
59
60
65
69
69
68
67
66
65
64
65
65
64
59
59
58
60
60
60
61
60
63
60
59
56
56
56
58
57
57
57
59
62
63
65
65
65
59
58
56
55
54
54
55
58
59
60
59
59
58
59
59
60
59
59
59
57
56
55
54
52
59
70
78
74
72
79
83
82
79
84
83
86
93
89
91
108
125
137
139
120
88
68
74
90
113
111
101
85
73
67
64
60
57
60
58
60
65
63
73
98
122
137
149
152
151
154
154
154
162
160
157
159
164
167
168
167
153
143
132
132
140
144
141
133
136
127
120
96
96
96
96
96
96
96
96
97
97
97
97
97
97
97
96
96
95
96
96
96
97
97
97
97
97
97
97
97
97
97
97
98
98
98
98
97
94
90
86
79
75
72
70
69
68
68
66
70
65
73
70
59
78
100
96
66
84
100
95
83
74
68
64
56
57
55
55
56
58
59
58
62
62
62
62
63
63
63
62
63
66
68
70
70
73
77
80
83
80
77
73
71
67
65
65
69
67
62
59
61
66
70
73
69
69
66
66
64
64
64
63
59
57
58
59
59
60
59
59
58
57
55
55
56
58
59
59
58
56
57
58
58
58
57
56
55
55
54
54
55
56
57
60
60
60
59
57
58
57
58
59
58
59
59
57
56
54
55
53
68
72
75
72
73
79
84
84
81
84
81
83
92
95
104
126
148
146
130
104
82
79
96
114
116
105
88
76
69
66
65
61
56
59
57
60
65
64
73
97
120
136
149
153
152
155
154
155
160
158
158
162
168
170
165
160
140
135
131
135
142
145
141
135
135
126
119
96
96
96
96
96
96
96
96
97
97
97
97
97
97
97
96
96
96
96
97
97
97
98
98
98
98
98
97
97
97
97
97
99
98
98
98
98
97
93
90
82
79
75
71
69
69
67
66
72
70
71
62
62
90
96
63
52
64
89
106
101
82
73
77
73
70
64
62
64
68
71
71
74
74
74
74
75
75
75
75
83
84
83
82
83
83
85
85
76
73
69
67
66
67
69
70
73
68
61
60
62
66
68
71
68
66
65
63
62
62
62
62
59
58
58
58
61
60
60
59
57
56
56
56
57
58
58
58
59
57
57
58
57
56
56
56
56
56
56
56
57
58
58
59
58
58
57
56
56
55
56
57
56
57
58
56
53
53
55
57
72
73
73
73
75
82
87
88
81
85
82
86
96
98
103
122
114
105
89
82
90
105
118
124
105
91
76
68
68
67
65
61
57
59
56
59
66
64
72
94
117
133
147
152
152
155
155
156
157
158
161
168
170
168
157
147
131
132
136
140
142
142
141
138
134
123
116
96
96
96
96
96
96
96
96
98
98
98
98
98
98
98
97
98
98
98
98
98
99
99
100
100
100
99
99
98
98
98
98
99
98
98
99
99
98
96
93
87
83
77
74
72
69
66
65
71
70
66
61
69
89
79
46
60
62
84
112
118
100
88
93
85
80
71
67
68
71
71
71
72
74
72
74
74
75
75
75
72
71
72
71
72
72
71
70
66
65
66
66
67
66
65
65
73
66
59
61
63
64
65
67
64
64
62
60
60
59
59
60
60
61
60
61
61
61
61
61
60
60
59
57
57
56
55
54
57
56
57
58
59
61
60
62
57
57
58
58
59
59
59
58
58
57
55
54
53
53
53
54
54
56
57
56
52
53
58
60
77
75
74
77
81
86
88
87
78
84
86
92
101
94
86
94
79
78
79
92
114
126
120
106
95
81
69
68
70
68
62
59
58
59
56
59
66
64
70
91
113
129
145
151
151
155
155
156
156
160
164
168
168
160
147
138
129
134
140
142
141
141
140
140
132
122
115
96
96
96
96
96
96
96
96
98
98
98
98
98
98
98
98
98
98
98
99
99
100
100
100
100
100
100
100
99
99
98
98
99
97
98
99
100
99
96
95
91
87
81
76
73
71
67
67
70
69
64
70
80
72
57
52
67
65
75
98
113
109
97
89
81
76
68
66
68
69
66
64
67
67
67
68
67
68
69
68
65
65
68
71
73
74
73
71
65
65
66
66
65
64
61
60
69
60
54
58
62
61
61
63
60
59
58
57
56
56
57
58
60
61
61
61
61
61
61
60
60
61
60
58
57
56
54
54
57
57
57
57
57
59
60
61
57
58
58
59
59
60
59
59
56
56
54
53
52
52
52
53
50
54
56
54
51
53
58
64
80
78
78
81
86
88
85
82
79
84
84
92
102
91
75
75
78
90
103
114
121
122
108
93
86
72
64
66
70
68
61
58
59
60
56
60
67
64
68
88
108
125
142
149
151
155
156
157
158
162
166
166
161
151
140
133
134
136
138
140
141
142
139
137
131
121
114
96
96
96
96
96
96
96
96
98
98
98
98
98
98
98
98
98
99
99
99
100
100
100
100
100
100
100
100
99
99
99
99
98
97
97
97
100
99
97
96
93
89
83
78
75
72
68
67
69
67
65
83
92
63
49
74
64
61
59
71
90
101
88
71
74
69
66
67
71
71
67
62
68
68
68
69
69
69
67
68
63
64
66
69
71
70
66
62
66
64
62
61
62
64
67
69
65
56
52
58
62
61
60
63
59
58
58
56
55
55
56
59
58
59
59
60
60
60
60
60
56
57
58
58
59
59
57
57
58
57
55
55
54
53
55
55
56
57
59
60
60
61
60
59
57
55
54
53
52
52
52
53
50
53
56
54
52
53
59
66
85
80
79
83
87
86
82
78
84
85
82
88
100
90
75
74
88
107
120
120
110
104
99
95
76
63
57
62
67
66
60
60
61
61
57
60
67
63
66
85
104
122
138
147
150
154
157
157
160
163
164
162
154
144
136
131
140
137
135
138
141
142
138
133
131
121
114
96
96
96
97
97
98
98
98
97
97
97
97
97
97
97
97
98
98
98
98
98
98
98
98
99
99
99
99
99
99
99
98
93
96
100
100
98
96
96
98
97
97
93
86
81
78
72
65
70
62
73
103
120
108
89
79
66
66
68
70
72
74
75
75
69
69
70
72
70
68
67
70
68
69
69
68
67
66
63
61
66
67
67
68
68
70
70
69
67
66
64
63
63
63
63
66
66
62
57
55
57
61
62
62
63
63
61
59
57
56
56
57
59
60
60
60
59
58
58
58
58
58
58
58
58
58
58
58
57
57
56
56
55
55
55
56
56
56
57
56
57
56
56
56
56
56
55
56
54
54
53
53
49
54
52
51
54
52
56
73
83
83
82
82
80
81
81
82
84
84
91
99
95
85
86
95
126
120
111
106
103
98
89
82
68
62
58
59
62
66
64
62
56
57
58
58
61
63
66
69
95
114
134
145
149
154
157
157
158
167
167
152
138
134
134
132
134
136
138
141
140
138
135
132
130
118
109
96
96
96
97
97
98
98
98
97
97
97
97
97
97
97
97
98
98
98
98
98
98
98
98
99
99
99
99
99
99
99
98
98
97
98
99
102
103
101
100
99
104
105
103
99
94
85
76
74
62
63
80
88
78
69
68
87
84
81
80
78
77
76
76
85
73
62
61
67
70
66
62
68
68
70
69
69
66
64
63
67
67
67
69
69
70
70
70
69
67
66
65
64
64
64
66
68
67
62
58
57
58
60
60
65
64
62
60
58
57
56
57
59
60
59
59
59
58
58
58
57
57
57
57
58
58
58
58
57
57
57
57
57
57
57
57
57
58
58
57
57
57
57
57
56
56
56
55
54
54
54
54
49
55
52
51
54
51
55
72
82
83
81
80
81
80
81
83
79
83
91
101
105
107
113
120
116
110
102
97
95
92
86
80
70
64
59
58
61
64
62
61
58
59
59
60
60
63
65
68
91
109
129
140
147
153
157
158
159
162
158
145
134
131
131
130
134
135
137
139
138
136
134
132
127
116
107
96
96
96
97
97
98
98
98
97
97
97
97
97
97
97
97
98
98
98
98
98
98
98
98
99
99
99
99
99
99
99
98
100
95
93
95
101
103
100
98
98
108
120
123
121
117
105
96
84
70
62
66
64
56
55
61
55
57
59
64
73
80
88
91
94
84
72
67
68
71
68
64
65
66
68
70
70
69
68
68
68
68
68
69
69
70
69
69
68
68
68
67
66
66
66
67
69
69
66
62
58
56
57
59
64
64
62
61
58
57
56
58
59
59
59
59
58
58
58
58
57
57
58
58
58
58
58
58
57
57
57
57
57
56
56
56
59
59
58
59
58
58
58
58
56
56
55
55
54
53
53
53
49
54
52
50
54
51
55
71
80
80
80
81
82
83
85
86
87
91
94
98
105
114
119
119
101
95
89
85
86
86
84
82
73
68
62
59
60
62
61
59
60
61
60
60
60
62
64
67
87
105
124
136
145
153
159
159
161
157
148
137
130
130
130
128
133
135
136
138
137
135
133
131
125
113
103
96
96
96
97
97
98
98
98
97
97
97
97
97
97
97
97
98
98
98
98
98
98
98
98
99
99
99
99
99
99
99
98
100
97
95
95
97
99
101
102
102
116
132
141
143
140
130
122
99
84
71
69
67
61
60
67
57
54
52
53
54
57
61
61
76
83
86
79
70
66
68
70
64
65
66
68
69
69
69
69
68
69
69
69
69
69
69
71
70
69
68
68
67
67
68
68
67
70
70
65
59
56
57
60
64
64
63
61
58
58
57
58
58
59
59
58
58
58
57
57
57
57
58
58
58
58
58
58
57
57
57
56
56
56
56
56
59
59
59
59
58
58
58
58
55
55
55
54
53
53
53
52
49
54
51
50
53
50
54
70
79
79
80
82
83
86
87
90
93
97
95
90
95
104
102
93
85
81
77
75
77
81
82
83
76
71
65
61
61
61
60
59
61
61
59
60
60
61
63
65
83
101
120
134
145
155
161
162
162
152
139
130
128
130
130
128
133
134
135
136
135
134
132
131
124
111
102
97
97
97
98
98
99
99
99
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
99
99
99
99
99
99
99
99
102
104
103
99
97
101
110
119
126
141
157
165
167
164
157
150
123
102
82
74
72
69
69
72
76
72
68
62
57
55
54
52
53
66
79
79
73
71
69
66
64
65
66
67
69
69
69
69
69
68
68
69
69
69
69
69
70
69
70
69
69
69
69
70
65
67
69
66
62
57
59
60
63
63
62
61
59
58
58
59
58
59
58
58
58
57
57
57
58
58
58
58
58
58
58
58
57
58
57
57
57
56
56
55
58
58
57
58
58
57
57
58
55
54
54
53
52
51
51
52
49
55
52
50
52
50
54
68
78
78
81
84
85
87
89
91
89
92
90
85
88
94
89
75
72
69
66
65
68
73
76
78
75
72
69
65
63
62
60
58
60
60
59
59
59
60
62
64
80
97
118
133
146
157
163
163
159
145
131
125
126
129
129
128
131
132
133
133
132
131
130
129
124
112
102
97
97
97
98
98
99
99
99
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
99
99
99
99
99
99
99
99
97
100
102
99
100
109
129
144
163
177
193
198
196
192
185
178
156
130
99
81
73
69
68
70
69
69
67
66
66
67
69
69
52
56
61
68
79
87
81
67
71
70
70
70
70
70
68
68
69
68
69
69
68
68
68
69
69
70
69
69
68
69
70
69
63
64
67
67
65
61
61
61
62
63
62
61
60
59
58
59
58
58
58
58
57
58
57
56
58
58
58
58
58
58
58
58
58
58
57
57
56
55
55
56
56
57
57
57
56
57
56
56
54
54
53
52
51
52
51
52
50
54
51
50
52
49
53
66
77
77
80
84
86
88
89
92
92
91
87
83
83
81
73
64
60
59
57
57
59
62
66
69
72
72
71
70
67
64
62
60
58
57
57
57
57
59
62
64
76
94
115
132
147
159
163
161
152
137
125
123
127
128
128
129
131
131
131
131
131
130
129
128
121
110
101
97
97
97
98
98
99
99
99
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
99
99
99
99
99
99
99
98
96
97
100
103
112
133
158
176
194
210
225
230
227
222
214
206
188
165
135
109
89
76
69
68
74
72
70
67
62
59
56
55
60
59
53
55
71
92
96
87
81
79
78
77
74
72
69
68
68
68
68
67
67
66
67
67
68
68
68
69
68
69
70
69
64
64
66
67
67
64
59
57
61
62
62
61
60
59
59
60
58
58
58
57
57
57
56
57
58
58
58
58
58
58
58
58
58
58
57
57
56
56
55
56
56
57
56
56
56
55
55
55
54
54
53
53
52
51
50
51
49
55
52
49
52
48
52
65
77
77
80
85
88
89
90
92
94
87
80
78
74
66
58
56
55
55
54
53
53
56
58
60
68
70
72
73
70
67
64
62
56
54
54
55
56
59
60
63
72
89
113
131
147
158
161
156
141
129
120
122
126
126
126
128
130
130
130
130
129
129
128
128
118
107
96
97
97
97
98
98
99
99
99
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
99
99
99
99
99
99
99
98
103
103
103
113
132
160
188
208
207
224
242
248
247
243
236
226
208
193
171
145
117
92
77
72
73
73
71
68
65
61
57
57
58
61
53
45
54
81
102
109
92
90
87
84
78
74
70
68
68
69
69
67
67
66
67
67
68
67
67
67
67
68
69
69
66
65
66
68
69
65
58
53
60
61
61
61
60
60
60
60
58
58
58
58
57
56
57
57
58
58
58
58
58
58
58
59
58
59
57
57
56
57
56
55
56
56
55
56
55
55
54
54
54
54
53
52
51
52
51
52
50
55
52
49
51
48
51
66
77
79
82
85
88
90
91
92
84
74
67
68
65
56
55
60
55
56
55
55
53
54
56
57
65
69
74
75
73
70
65
62
54
52
53
54
55
58
60
63
69
87
111
130
146
157
158
153
134
123
118
122
126
124
124
127
130
130
129
129
129
128
128
127
116
104
93
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
98
98
98
99
99
100
100
100
100
100
100
100
100
100
100
100
98
100
115
146
175
198
220
238
244
247
252
255
255
251
247
242
225
216
202
182
160
132
98
72
72
71
69
68
60
54
52
57
60
61
56
54
69
105
147
172
140
119
96
86
82
77
71
69
70
74
68
60
62
72
71
62
64
64
65
66
66
64
64
64
67
65
64
65
66
64
58
56
61
62
62
62
61
60
61
60
58
57
57
56
56
56
56
56
57
57
57
57
58
58
58
58
61
60
59
58
57
56
55
55
54
55
55
56
55
56
55
55
50
54
57
56
52
50
50
51
48
55
50
45
48
47
50
62
79
80
81
82
89
95
89
78
69
69
67
64
60
59
58
58
56
56
54
54
53
54
54
54
57
61
67
71
73
71
67
63
52
50
50
51
53
57
60
63
62
82
108
130
148
158
155
148
126
121
117
117
120
123
124
123
127
131
131
127
125
128
129
126
113
100
88
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
98
98
98
99
99
100
100
100
100
100
100
100
100
100
100
100
100
110
133
164
195
218
238
251
251
252
253
254
255
254
252
250
240
235
223
205
187
163
131
106
81
74
67
66
62
58
57
60
56
62
69
80
104
140
178
197
213
177
131
99
87
83
74
67
71
70
73
75
70
62
61
67
63
63
64
64
65
65
64
63
65
64
64
66
67
65
59
56
61
62
62
62
61
60
60
60
58
57
57
56
57
56
56
56
57
57
57
57
58
59
59
59
60
60
58
58
57
56
54
55
55
56
56
56
56
56
56
56
54
55
56
57
55
52
50
51
49
52
47
46
50
46
48
62
74
82
88
88
86
82
74
63
65
65
64
62
60
60
59
58
57
55
55
55
54
54
54
55
57
60
65
69
72
71
69
66
56
53
51
50
51
54
58
61
63
81
108
130
149
157
152
143
124
120
117
117
119
122
122
122
124
128
128
125
124
127
127
123
109
95
84
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
98
98
98
99
99
100
100
100
100
100
100
100
100
101
101
102
100
123
153
182
209
233
249
255
255
255
254
254
254
255
255
255
252
249
240
229
216
196
168
145
103
88
71
67
68
68
65
62
58
74
95
118
146
178
206
220
228
240
224
167
101
67
72
86
88
79
70
69
70
70
68
67
61
62
63
63
65
64
65
64
64
64
66
69
68
66
60
57
60
61
62
62
61
60
61
61
57
57
58
57
57
56
56
56
58
58
59
59
59
59
59
60
59
59
57
57
56
56
54
55
56
56
56
56
56
57
56
56
57
56
56
56
56
55
52
49
50
49
45
48
52
45
48
68
80
86
89
84
74
67
60
54
59
59
60
61
60
60
59
58
57
57
56
55
55
55
55
56
57
59
63
67
69
71
71
70
62
58
52
50
48
51
55
58
62
81
109
132
151
156
147
135
120
117
114
114
116
118
119
119
120
123
125
123
123
125
124
119
101
87
76
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
98
98
99
99
100
100
100
100
100
100
101
101
101
101
103
107
135
167
190
213
237
251
253
255
255
255
254
254
253
254
255
253
253
247
242
233
218
193
171
135
109
81
72
74
73
68
64
70
96
129
154
175
198
218
230
238
249
246
215
178
141
100
68
83
85
82
72
72
77
74
63
62
62
63
64
64
64
65
65
62
64
67
69
69
65
61
59
60
61
62
62
61
60
61
61
57
57
58
57
57
56
56
56
59
59
60
59
59
59
59
60
57
57
57
57
56
55
54
54
55
55
55
56
56
56
56
56
59
55
53
55
56
56
52
49
53
50
46
50
51
42
50
78
92
87
78
67
60
58
59
60
56
58
59
60
61
59
57
57
57
56
56
57
56
57
57
57
57
58
61
63
66
69
72
73
67
63
56
51
48
49
52
56
60
82
112
139
154
156
141
124
115
114
113
113
114
115
116
116
117
121
123
122
124
125
122
114
93
78
66
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
99
99
98
98
99
99
100
100
100
100
100
100
101
101
102
102
103
113
140
169
191
213
237
252
254
255
255
255
255
253
252
249
248
255
255
253
249
244
232
210
190
163
130
93
76
75
74
71
67
95
125
162
184
195
208
225
238
246
243
237
236
242
224
165
105
76
82
90
92
83
69
64
67
64
64
63
64
66
66
66
66
63
65
69
69
67
64
62
61
60
60
61
61
61
60
61
61
58
58
58
57
57
56
56
56
60
60
60
59
59
58
58
59
55
56
55
55
54
54
54
54
55
56
56
56
56
56
56
56
57
54
52
53
55
55
52
49
50
51
48
49
49
42
54
85
89
78
63
55
54
57
59
60
57
59
59
60
60
58
56
55
57
57
56
57
57
58
57
57
57
57
58
59
62
67
69
71
69
66
59
54
50
49
51
53
58
83
117
143
155
149
130
112
111
110
110
110
110
110
112
112
116
120
122
122
124
124
119
108
82
67
56
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
99
99
98
98
99
99
100
100
100
100
100
101
101
102
103
103
103
110
130
154
181
206
230
247
254
254
255
255
255
254
250
246
244
253
253
252
249
246
236
215
196
176
142
103
80
75
77
79
82
123
155
190
207
212
220
235
247
240
251
255
251
243
237
226
210
143
100
75
85
88
71
63
74
67
67
66
66
66
66
66
65
65
67
68
68
65
61
59
60
59
60
61
61
61
60
61
61
58
58
58
57
57
56
56
56
60
59
59
58
58
57
56
57
55
55
55
56
55
55
54
55
55
55
55
55
55
55
55
55
55
54
53
53
54
55
54
53
50
54
50
48
52
53
61
83
71
62
53
53
56
58
55
54
57
59
58
57
57
56
55
54
56
57
56
57
57
57
57
57
57
57
57
58
59
62
65
66
68
67
63
59
54
52
51
52
55
84
120
141
146
137
119
104
107
107
109
109
107
107
108
110
115
119
122
123
124
124
115
102
73
59
47
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
99
99
98
98
99
99
100
100
100
100
100
101
101
102
103
104
104
105
116
140
172
200
222
240
252
252
254
255
255
255
253
249
247
246
247
247
246
245
236
216
198
177
147
110
87
81
86
98
109
154
179
207
223
228
235
241
248
253
251
248
247
249
252
253
249
224
168
111
87
85
82
77
74
71
69
69
68
68
67
66
65
67
69
69
67
61
59
59
60
60
61
60
61
60
60
61
61
58
58
58
57
57
56
56
56
59
59
58
57
56
55
55
55
55
56
56
56
56
56
56
56
55
55
55
55
56
56
56
55
54
55
56
56
55
56
59
61
56
60
54
53
67
76
73
77
57
54
53
57
59
55
52
53
56
56
55
54
54
54
54
55
55
57
56
57
57
57
56
56
57
56
56
55
56
57
59
60
66
67
66
65
60
56
52
51
57
85
117
132
132
121
110
100
103
105
107
107
105
105
106
108
114
118
120
122
123
121
110
95
66
52
40
100
100
100
100
100
100
100
100
100
100
100
100
100
100
100
99
99
99
98
98
98
99
100
100
100
101
102
103
103
104
104
106
111
116
138
174
204
223
238
252
253
253
254
255
255
255
255
254
248
250
249
250
249
242
224
206
178
151
117
95
90
99
119
134
173
193
215
230
238
244
245
244
247
249
252
255
253
247
249
252
242
242
201
129
85
85
85
69
74
71
70
69
67
66
66
65
70
71
71
67
62
58
59
62
61
62
62
61
60
60
60
60
58
58
58
57
57
56
56
56
58
58
57
56
55
54
54
54
56
57
56
56
57
57
57
56
55
55
55
55
55
55
55
55
53
56
59
58
57
58
62
67
64
68
60
61
86
100
87
76
58
56
57
60
58
53
53
60
54
53
52
51
51
53
54
55
54
55
55
56
55
55
55
55
57
56
56
55
55
55
56
56
63
66
69
68
65
60
54
52
59
86
114
124
118
109
102
97
100
104
107
107
104
103
105
107
113
116
119
120
122
118
106
91
62
47
37
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
100
100
100
100
99
101
101
102
96
101
107
108
101
101
113
130
142
157
178
199
220
237
246
250
254
254
255
254
253
252
253
254
250
250
249
250
252
247
229
212
185
152
116
100
107
125
144
155
185
204
227
239
243
247
249
248
254
254
254
255
255
255
255
255
253
253
251
229
166
96
68
75
79
71
67
68
72
73
72
71
71
72
73
71
69
66
66
67
67
67
65
63
62
60
59
59
57
58
57
56
55
55
55
54
55
55
56
56
55
54
53
51
55
56
56
55
55
54
54
54
53
54
55
56
55
54
52
51
51
53
56
57
58
59
61
65
66
73
72
95
107
120
127
74
57
58
58
57
57
57
56
56
55
55
54
54
53
53
52
53
52
53
52
53
52
52
52
52
53
52
52
51
51
52
52
54
59
61
64
66
68
66
64
62
63
81
101
107
98
88
84
87
99
101
102
102
101
101
103
106
112
116
118
119
119
113
98
79
48
43
41
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
99
100
99
100
101
102
100
104
106
107
103
108
127
147
174
193
213
230
242
251
254
254
253
254
255
255
252
251
252
253
250
250
250
250
251
245
226
208
184
150
113
97
107
129
152
167
193
211
231
243
247
251
252
251
254
254
254
254
254
254
254
255
255
251
249
248
233
190
128
80
78
76
75
74
68
61
63
70
70
74
76
73
70
67
68
71
68
67
66
64
62
60
60
60
58
58
58
58
57
56
55
55
54
55
56
56
56
54
53
52
55
56
56
55
55
55
54
54
51
51
53
54
56
56
56
57
54
55
57
59
59
62
64
68
72
80
82
102
117
133
131
76
57
57
57
57
56
56
56
55
55
55
55
54
54
53
53
53
52
52
52
52
52
52
52
52
53
52
51
51
51
51
52
54
56
58
61
64
66
66
66
66
67
80
93
96
87
79
80
85
98
100
101
101
99
99
100
101
110
114
118
119
116
109
92
73
49
44
42
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
99
100
99
100
101
102
104
105
106
107
107
119
146
172
197
219
240
251
254
255
254
253
253
254
255
254
251
248
247
247
247
249
248
248
247
238
219
202
177
150
121
112
123
144
167
181
207
222
239
248
251
254
254
253
254
254
254
254
254
254
254
255
250
255
254
248
250
245
204
157
75
81
75
64
71
89
84
63
68
72
75
73
66
63
65
70
66
66
66
65
64
62
62
62
60
60
59
59
58
57
57
57
57
57
57
57
57
56
54
53
55
56
55
56
54
55
55
54
53
53
53
54
55
56
58
58
59
59
58
60
63
67
68
69
73
86
89
106
127
142
127
70
56
56
56
56
55
55
55
54
55
55
55
54
54
53
53
53
52
52
52
52
52
52
52
52
52
52
51
50
50
51
52
53
53
54
57
59
62
64
66
68
69
76
82
81
73
70
76
84
95
98
100
99
97
96
95
96
107
112
117
118
113
103
84
65
49
44
42
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
99
100
99
100
101
102
105
106
107
109
113
130
161
190
202
228
249
255
252
252
251
250
254
255
254
252
246
241
239
237
241
244
244
244
241
234
216
199
177
161
147
147
158
173
187
197
220
233
246
251
253
255
255
253
254
254
254
254
254
254
254
254
251
254
254
240
237
249
250
238
191
127
79
80
89
78
68
69
65
70
73
71
64
60
62
66
64
66
65
65
64
64
64
63
61
61
61
60
61
60
60
59
59
59
59
58
57
56
56
55
56
55
54
55
55
54
55
55
58
57
55
55
55
55
57
58
63
62
61
62
67
69
71
71
74
86
92
107
130
142
113
61
55
56
55
55
55
54
54
54
55
55
55
54
54
53
53
53
51
51
51
51
51
51
51
51
51
51
50
50
50
50
51
52
52
52
54
55
58
61
64
65
67
71
73
69
63
64
70
78
88
93
96
98
96
95
94
94
105
112
117
117
110
99
77
58
47
42
40
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
99
100
99
100
101
102
103
105
109
112
117
135
167
196
212
239
255
255
251
253
253
252
255
255
253
248
240
234
230
229
235
239
240
240
238
232
216
202
189
181
174
180
190
200
211
217
232
242
250
252
253
255
255
252
254
254
254
254
254
254
254
254
251
247
246
247
255
255
255
252
254
220
155
98
75
76
80
74
65
68
71
69
63
58
59
63
62
63
65
65
66
66
67
66
63
62
62
61
61
61
62
61
62
61
60
59
59
58
58
58
55
54
54
54
54
55
55
55
59
58
57
57
57
57
58
60
66
65
67
68
71
73
73
73
76
86
98
109
131
135
96
58
56
56
55
55
55
54
54
54
55
55
55
54
54
53
53
53
51
51
51
51
51
51
51
51
50
50
49
49
49
49
50
51
54
53
52
52
53
56
59
61
61
64
65
65
61
61
65
70
79
84
89
92
93
94
94
96
103
112
118
117
107
93
71
52
45
41
39
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
99
100
99
100
101
102
103
106
110
114
118
133
164
191
222
246
255
255
251
254
254
252
255
255
252
245
237
231
227
227
233
236
237
236
235
230
218
206
206
198
195
201
210
219
230
239
242
249
253
253
253
255
254
252
254
254
254
254
254
254
254
253
252
246
249
255
255
255
255
254
242
255
236
166
106
90
87
76
70
70
70
70
66
61
59
59
61
62
63
64
65
66
68
68
63
63
63
63
63
62
63
63
64
63
62
60
60
60
60
60
56
54
54
54
54
55
56
56
55
56
57
58
60
63
64
66
66
71
76
77
77
75
75
77
81
88
104
115
131
123
79
61
57
56
56
56
55
55
55
54
55
55
55
54
54
53
53
53
50
50
50
50
50
50
50
50
50
49
48
48
48
48
49
51
53
54
52
52
52
53
55
57
56
59
63
64
63
63
62
64
70
75
79
84
87
91
93
96
101
111
116
114
103
88
66
50
45
41
39
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
100
100
99
100
99
100
102
102
105
107
109
110
114
127
157
183
218
242
255
253
249
255
254
248
255
253
249
243
235
231
230
232
233
237
236
233
232
229
219
208
211
209
212
221
228
233
241
249
249
254
255
253
253
255
255
252
254
254
254
254
254
254
254
253
250
251
254
255
255
251
255
255
255
245
250
250
204
119
81
93
80
76
75
75
73
69
63
59
61
62
63
64
65
67
69
69
63
63
63
63
63
63
63
63
66
65
63
61
61
62
62
61
56
55
54
54
55
55
56
56
56
57
59
62
64
65
65
67
69
78
86
87
83
79
79
82
86
89
108
118
129
109
62
66
59
57
57
57
56
56
56
55
55
55
55
54
54
53
53
53
50
50
50
50
50
50
50
50
49
49
48
47
47
48
49
50
52
53
52
52
53
53
54
55
54
58
61
65
66
66
64
63
63
67
71
76
79
84
88
92
98
107
113
109
98
82
62
47
47
44
42
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
100
100
99
100
99
100
102
102
108
108
108
107
108
123
152
177
210
235
252
251
250
255
254
248
255
253
248
242
235
233
234
237
236
237
237
232
230
227
218
208
206
210
223
237
244
245
245
249
252
255
255
254
254
255
255
253
254
254
254
254
254
254
254
254
249
249
250
251
255
255
255
253
252
255
253
242
239
225
174
114
89
84
81
82
81
77
68
61
62
63
62
64
65
67
68
69
63
63
62
63
63
63
63
63
66
66
64
62
61
62
62
62
56
55
56
56
56
56
57
58
59
62
64
66
67
65
64
66
71
83
94
94
88
83
83
87
86
87
109
119
125
97
50
68
59
58
58
57
57
57
56
56
55
55
55
54
54
53
53
53
50
50
50
50
50
50
50
50
49
48
48
47
47
48
48
49
50
51
52
53
53
54
55
55
54
56
60
65
68
68
66
65
59
63
66
70
73
78
84
88
96
104
110
105
94
78
59
44
48
46
44
101
101
101
101
101
101
101
101
102
102
102
102
102
102
102
102
101
101
100
101
100
101
103
103
110
109
110
114
114
121
145
170
196
217
239
251
253
255
254
253
255
254
250
248
246
244
241
239
246
242
238
236
230
220
213
212
211
217
227
234
241
246
248
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
254
255
255
255
255
255
254
253
255
253
249
248
249
248
241
232
132
100
83
87
93
83
75
76
63
63
63
60
59
60
63
66
61
61
61
62
64
64
63
63
65
64
64
64
63
63
62
62
57
56
58
59
59
60
60
61
63
62
71
71
61
57
56
49
81
78
73
75
89
101
97
85
88
96
115
128
108
73
57
62
60
59
58
58
58
57
57
57
57
57
57
56
55
55
55
54
54
54
53
53
52
52
52
52
49
49
49
49
49
49
48
48
53
52
52
51
52
52
53
53
50
52
55
61
65
69
71
74
66
64
62
61
62
69
78
85
91
98
104
100
87
70
57
51
48
47
46
101
101
101
101
101
101
101
101
102
102
102
102
102
102
102
102
101
101
100
101
100
101
103
104
110
108
110
114
116
124
148
174
199
219
240
252
254
255
254
253
255
254
251
249
247
245
242
237
239
235
231
230
225
217
212
212
216
222
230
238
243
246
249
251
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
254
252
250
250
248
252
250
248
249
252
252
248
241
234
178
117
92
92
92
87
83
70
68
68
68
67
66
65
63
64
62
62
64
63
61
62
65
63
63
63
63
62
62
61
62
60
61
62
63
63
65
65
66
71
65
71
73
61
55
56
54
76
75
71
68
77
91
97
97
89
103
119
121
96
68
59
67
62
60
60
60
59
59
59
59
59
59
59
58
58
57
57
57
55
55
55
54
54
54
53
53
51
51
50
50
49
49
48
48
49
49
48
48
48
49
50
51
53
52
53
55
59
65
70
74
70
69
66
63
63
66
72
76
88
95
100
98
86
71
59
53
51
49
48
101
101
101
101
101
101
101
101
102
102
102
102
102
102
102
102
101
101
99
100
100
101
103
104
108
109
111
116
117
125
152
178
202
221
242
252
253
255
254
253
255
253
251
250
247
244
239
235
231
225
221
222
219
215
213
217
225
230
237
243
246
248
249
252
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
254
253
250
248
246
244
249
247
247
250
255
255
253
248
240
246
235
191
131
90
83
93
93
82
70
63
62
66
70
71
63
60
60
66
65
63
65
72
62
62
62
63
61
62
61
62
63
65
65
67
67
67
67
68
75
66
73
83
71
59
61
65
69
72
69
64
66
78
96
106
97
113
122
109
79
60
61
70
62
62
62
62
61
61
61
60
62
62
61
61
61
60
60
60
58
57
57
57
56
56
56
55
53
53
52
51
50
49
48
48
46
46
46
46
46
47
48
49
54
52
49
49
52
59
66
72
75
75
73
69
65
63
65
67
81
88
94
94
84
72
62
56
53
53
52
100
100
101
101
101
101
102
102
102
102
102
102
102
102
102
102
101
101
99
100
100
102
103
105
109
109
111
115
116
124
152
179
202
220
240
251
253
255
255
254
254
253
251
250
247
243
237
232
224
218
214
215
215
215
219
224
235
239
244
248
249
250
250
252
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
254
253
251
248
246
244
248
247
248
252
255
255
255
252
255
248
238
239
239
210
144
82
76
75
74
78
80
75
64
55
77
68
66
68
67
59
56
61
63
63
63
63
62
62
62
63
64
66
67
67
67
68
69
68
73
66
84
105
94
75
71
75
68
72
70
66
65
73
89
101
109
120
118
95
67
59
64
67
63
63
63
62
62
61
61
61
63
62
62
62
62
62
62
62
60
60
60
59
59
59
58
58
56
56
54
53
52
50
49
49
48
48
47
47
48
49
50
50
53
51
48
48
50
55
61
66
75
77
77
74
69
64
63
62
73
79
85
86
80
71
62
58
55
54
53
100
100
100
101
101
102
102
102
102
102
102
102
102
102
102
102
101
100
99
100
100
102
103
105
109
110
113
115
114
121
149
178
200
219
239
249
252
255
255
255
255
255
255
254
250
245
238
232
220
213
208
209
212
217
224
233
242
246
250
252
253
253
253
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
253
251
249
249
248
249
250
254
255
255
255
253
241
251
253
251
248
244
227
207
183
156
118
87
73
73
76
79
71
66
66
69
73
74
75
75
65
66
66
66
66
66
67
67
70
71
71
71
71
72
71
71
72
72
100
126
114
88
76
77
69
70
72
71
70
71
78
85
119
122
110
85
66
65
65
62
62
63
63
62
62
61
61
61
62
62
62
62
62
62
62
62
62
62
62
61
61
61
60
60
59
58
57
56
55
53
52
52
50
50
49
48
48
49
50
50
49
49
49
49
50
53
55
59
71
76
79
79
75
70
67
65
69
73
79
80
77
70
63
57
55
53
52
99
99
100
101
101
102
103
103
102
102
102
102
102
102
102
102
100
100
99
100
100
102
103
105
109
110
113
115
112
120
148
178
203
221
240
250
252
255
255
255
255
255
255
255
253
247
240
232
218
209
203
203
207
215
226
238
245
249
252
254
254
254
254
255
255
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
254
253
251
252
253
254
255
254
252
252
246
250
248
244
246
254
254
254
248
239
227
209
187
161
134
117
93
94
85
68
58
60
62
61
69
69
69
70
71
71
71
72
75
77
77
76
77
77
76
76
76
81
107
128
113
89
76
71
70
70
72
74
74
71
73
77
120
115
100
82
73
74
69
61
63
63
63
63
62
62
62
62
61
61
62
62
62
62
63
63
63
63
63
63
62
62
62
61
61
61
60
59
58
57
56
56
52
51
50
49
48
48
48
48
48
49
49
50
51
51
51
52
63
70
76
79
78
75
72
71
68
71
75
77
74
69
63
57
54
53
52
99
99
100
101
101
102
103
103
102
102
102
102
102
102
102
102
100
100
99
100
100
102
103
105
108
109
114
115
113
121
151
183
210
227
245
253
253
255
255
254
255
255
255
255
251
244
235
227
213
204
196
196
201
210
224
237
246
249
252
254
254
254
255
255
255
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
251
252
253
255
255
255
255
255
254
255
255
255
253
251
249
248
241
245
250
253
252
251
248
245
255
255
255
255
252
246
239
235
228
230
202
143
94
79
76
72
74
74
74
75
75
76
76
77
78
79
79
80
79
78
78
78
79
84
102
111
94
79
75
70
73
73
76
78
77
73
80
88
109
102
92
86
84
81
74
67
64
65
65
65
64
64
64
63
62
62
62
63
63
64
64
64
64
64
64
63
63
62
62
62
63
63
62
62
61
61
60
60
57
55
54
52
50
49
47
47
48
48
49
50
50
50
49
49
57
64
72
77
79
78
76
76
71
73
76
77
75
71
64
59
55
53
52
100
100
101
102
102
102
103
103
102
102
102
102
102
102
102
101
101
101
100
101
100
102
103
105
107
109
114
116
113
123
155
187
216
232
249
255
255
255
255
254
250
251
251
250
246
238
227
219
209
199
190
190
195
206
221
234
246
249
253
254
253
254
255
255
255
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
250
251
252
254
255
255
255
255
254
255
255
255
252
249
247
246
248
247
249
252
252
253
255
255
250
250
249
248
246
248
250
253
241
251
220
142
80
66
72
72
77
77
78
78
79
79
80
81
79
79
79
79
78
78
77
77
78
82
92
89
73
70
76
74
78
79
81
83
78
77
90
106
101
94
89
90
91
85
78
73
66
66
66
65
65
65
64
64
63
63
63
64
64
66
66
66
64
64
64
63
63
62
62
62
64
64
64
64
63
63
63
63
63
61
59
56
54
52
51
51
50
50
50
50
50
50
52
54
54
61
70
76
79
77
77
77
74
75
77
78
78
72
66
60
56
54
53
102
103
103
104
106
106
106
107
103
103
101
101
100
101
101
102
101
103
103
104
102
102
100
100
103
108
111
111
112
130
168
199
219
233
247
252
253
255
255
254
249
251
248
240
236
233
222
209
208
191
179
178
184
195
210
223
243
248
251
254
254
254
253
254
254
254
254
254
254
254
254
254
255
255
255
254
253
252
252
252
254
253
253
253
255
255
255
254
255
252
252
255
254
249
247
250
251
252
253
255
255
255
255
254
255
255
255
254
254
254
254
254
245
252
225
137
79
78
76
74
78
78
78
78
79
79
78
79
77
78
78
80
79
79
77
76
80
79
74
70
72
75
77
78
88
87
81
77
86
99
99
90
89
89
90
90
88
85
81
78
70
68
65
63
62
62
63
65
63
64
64
65
65
66
66
66
66
65
64
64
63
65
64
66
65
66
64
66
66
68
68
69
66
65
65
63
61
59
56
54
52
53
55
57
59
64
71
77
86
88
86
84
82
79
78
79
76
81
86
87
87
84
74
63
55
51
48
103
104
104
105
107
108
108
108
104
104
102
102
101
102
101
103
102
103
103
104
103
102
102
102
105
108
112
115
119
137
171
200
218
233
247
254
255
255
254
253
250
249
243
235
230
225
214
201
191
179
172
174
183
195
208
221
243
247
251
254
253
253
254
254
254
254
254
254
254
254
254
254
255
255
253
253
253
252
252
253
254
254
253
253
255
255
254
253
255
255
252
247
236
228
231
241
252
254
255
255
255
255
255
254
255
255
254
254
253
254
253
254
246
252
224
137
77
79
75
74
79
79
79
79
79
79
80
80
77
78
78
81
79
80
77
77
80
78
74
73
73
77
80
82
86
88
93
100
101
94
88
86
85
86
85
86
85
84
82
81
76
74
70
67
64
63
64
65
62
64
64
65
66
66
67
67
66
65
65
64
64
65
65
66
66
66
66
66
67
68
69
70
71
72
70
71
68
66
63
61
62
62
61
62
67
77
89
97
112
110
105
97
89
82
76
75
79
86
93
95
95
92
83
70
53
50
47
103
104
104
106
107
109
108
109
106
106
104
104
102
103
102
104
102
104
103
103
103
102
102
102
105
106
109
116
124
143
172
196
214
230
246
254
255
255
251
249
245
242
233
223
217
211
201
190
180
174
175
181
193
205
216
227
243
247
251
253
252
253
254
255
254
254
254
254
254
254
254
254
255
254
253
253
252
252
252
253
254
253
252
253
254
255
254
253
255
255
253
242
223
213
221
237
252
254
255
255
255
255
255
254
255
255
254
254
253
254
253
254
247
252
223
134
74
77
75
75
78
79
79
80
80
79
80
79
77
78
78
80
79
80
78
78
81
78
76
76
77
80
85
89
91
98
116
130
120
95
81
81
80
81
79
80
80
81
83
84
83
80
76
72
68
66
65
65
62
64
64
65
66
66
67
67
66
66
65
65
65
65
66
66
66
66
66
66
67
68
70
70
74
75
74
75
73
71
69
67
69
67
64
66
73
86
103
114
127
125
116
104
90
79
71
69
78
87
96
101
102
98
88
75
57
54
51
103
104
104
106
108
110
109
110
108
108
106
105
104
104
103
105
103
104
103
103
102
102
102
103
103
102
104
113
125
143
166
185
209
226
244
253
254
252
246
242
235
229
218
209
203
197
188
180
184
184
191
200
213
224
233
241
244
247
251
253
252
252
254
255
254
254
254
254
254
254
254
254
254
254
253
252
252
252
251
252
253
252
251
252
254
255
254
253
253
255
253
243
225
217
226
242
252
254
255
255
255
255
255
254
255
255
254
254
253
254
252
253
250
254
223
133
74
77
77
77
78
79
80
80
80
79
79
78
77
78
77
79
78
80
79
79
83
80
79
82
83
85
91
99
114
128
148
156
143
117
95
87
79
78
75
74
75
78
81
83
84
82
79
75
71
69
67
67
62
64
64
65
66
66
67
67
67
66
65
65
65
65
66
67
67
66
66
67
67
69
70
71
71
72
72
73
72
71
69
68
68
67
64
66
73
88
105
117
122
121
113
100
85
73
65
63
72
82
94
101
103
99
88
73
59
55
52
103
104
104
106
108
110
110
111
110
109
107
106
104
104
104
105
103
104
102
102
101
101
102
103
104
102
103
113
125
141
160
175
204
223
241
251
251
249
242
237
228
219
208
201
196
190
183
178
190
195
206
216
227
238
245
249
244
247
250
252
251
252
254
255
254
254
254
254
254
254
254
254
254
254
252
252
252
251
251
252
252
251
251
252
254
255
254
253
253
253
252
247
236
229
234
245
252
254
255
255
255
255
255
254
255
255
253
254
254
254
252
252
252
255
224
134
75
79
79
80
78
79
81
81
81
79
78
77
77
78
77
79
78
80
79
81
85
82
83
88
88
89
97
107
142
162
174
169
158
145
120
95
80
78
73
71
71
74
78
80
82
80
78
75
73
71
69
69
62
64
64
65
66
66
67
67
67
67
66
65
65
66
67
67
67
67
67
67
68
69
70
71
69
70
70
71
70
69
68
66
65
65
63
66
73
86
101
111
116
115
108
96
80
68
61
61
67
78
92
99
102
98
86
71
53
50
47
45
45
46
47
46
46
47
47
47
47
45
45
45
45
45
45
47
46
46
45
45
46
46
47
45
45
45
45
45
45
45
45
43
43
43
42
42
41
41
41
41
41
41
41
41
41
41
41
36
37
37
38
39
40
41
41
44
44
45
46
46
47
48
46
48
48
50
52
52
53
54
54
53
53
51
50
51
51
52
53
49
50
52
53
54
56
57
55
58
57
58
59
62
63
64
64
76
76
75
73
73
68
66
65
65
64
63
63
64
62
60
55
47
46
46
45
45
45
45
45
44
44
45
44
42
41
42
44
45
47
47
46
44
43
43
43
43
43
42
42
42
43
44
47
54
53
50
49
51
51
52
52
48
50
56
59
57
50
42
38
50
52
52
50
49
48
45
45
47
47
47
46
45
44
44
44
45
45
45
45
45
45
45
45
45
44
43
42
43
49
57
60
67
72
77
79
91
110
131
144
163
174
186
189
173
145
118
104
103
94
94
98
111
130
144
152
159
154
147
129
108
85
69
69
91
98
98
45
45
46
46
45
46
47
47
47
47
45
45
45
45
45
45
46
46
45
45
45
45
46
46
45
45
45
45
45
45
45
45
43
43
42
42
42
41
41
41
42
42
42
42
42
42
42
42
37
38
38
39
40
41
42
42
44
44
45
45
46
47
48
46
47
47
49
51
51
52
53
53
52
52
49
49
49
50
51
52
48
49
51
52
54
52
53
51
52
52
52
55
58
60
61
64
73
73
73
72
71
68
67
67
65
64
63
63
64
62
60
54
47
46
45
45
45
44
45
45
44
43
45
43
42
41
42
44
45
47
46
46
44
43
43
43
43
42
42
42
42
43
44
47
53
53
51
49
51
52
52
53
50
54
56
59
58
51
42
41
51
53
52
51
50
49
46
46
47
47
47
46
45
44
44
44
45
45
45
45
45
45
45
45
45
45
43
42
43
48
55
58
61
65
73
76
86
106
125
142
162
174
185
187
169
141
117
105
101
95
95
95
102
116
136
149
151
148
143
131
111
89
76
74
90
97
97
44
44
45
46
45
45
46
46
46
46
46
46
44
44
44
44
46
46
45
45
45
45
46
47
46
46
46
46
46
46
46
46
44
43
43
43
42
42
42
42
43
43
43
43
43
43
43
42
39
39
40
41
41
42
42
43
44
44
44
45
46
47
47
46
46
46
48
50
52
53
51
51
49
49
49
49
47
48
49
50
49
49
50
50
51
50
50
48
45
43
46
50
54
58
61
62
69
70
71
70
70
69
68
68
64
63
64
64
64
61
59
53
46
45
45
44
45
45
44
44
45
45
44
43
44
42
42
43
45
46
46
46
43
43
43
43
44
44
43
43
44
44
43
46
54
53
51
50
52
53
53
53
56
59
61
61
59
52
44
44
52
55
54
52
49
48
47
47
47
47
47
46
45
44
44
44
45
45
45
45
45
45
45
45
47
46
45
43
43
47
52
54
55
57
64
68
77
96
118
136
158
173
185
183
164
137
118
107
101
99
99
94
92
101
121
136
134
136
133
124
108
88
77
76
91
96
96
43
44
44
45
44
45
45
45
45
45
45
45
43
43
43
43
45
45
44
44
44
44
45
45
46
46
46
46
46
46
46
46
43
43
43
42
42
42
41
41
44
44
44
44
44
44
44
44
43
41
41
42
42
43
43
43
43
43
44
45
46
46
47
45
45
45
46
48
50
50
49
49
49
47
46
47
47
46
48
48
50
52
52
51
50
49
47
45
41
39
42
45
51
56
60
62
67
67
67
67
68
67
67
65
64
63
64
64
64
61
57
51
45
44
44
44
44
44
44
43
45
44
43
42
43
42
41
42
44
46
46
45
43
43
42
42
43
43
42
42
43
44
45
45
54
53
50
52
54
56
55
55
60
63
64
62
58
52
46
45
53
54
55
52
50
49
48
48
47
47
47
46
45
44
44
45
46
46
46
46
46
46
46
46
48
48
47
45
44
45
49
50
49
51
55
59
68
85
108
130
152
171
181
181
162
139
121
112
104
103
102
94
86
90
102
113
120
119
118
111
97
84
76
76
89
93
94
45
45
43
44
45
46
44
45
44
44
43
43
43
43
41
41
44
44
43
43
43
43
44
44
45
45
45
45
45
45
45
45
43
43
42
42
42
41
41
41
44
44
44
44
44
44
44
44
44
44
44
44
44
45
45
45
45
45
46
46
47
48
49
47
45
44
46
47
47
48
48
46
46
46
46
45
46
47
48
49
54
53
53
53
51
49
47
44
41
41
42
44
50
56
61
63
66
67
66
66
66
65
64
62
63
60
62
62
62
58
53
48
45
44
44
44
45
45
45
45
46
45
44
43
44
43
42
42
44
46
45
45
45
44
44
44
44
44
44
44
44
45
46
46
52
52
49
51
55
57
56
55
59
63
67
64
59
50
45
43
51
53
53
51
50
49
48
47
47
47
47
46
46
45
45
45
46
46
46
46
46
46
46
46
48
48
48
46
44
44
47
46
46
46
49
51
59
75
101
128
151
170
183
180
166
148
131
119
109
104
101
96
89
88
87
85
99
98
97
92
84
77
77
80
86
88
90
44
44
43
43
44
45
44
44
43
43
42
42
42
42
40
42
43
43
42
41
41
42
43
43
43
43
43
43
43
43
43
43
42
42
42
42
41
41
41
40
43
43
43
43
43
43
43
43
44
44
44
44
44
44
44
44
44
45
45
46
47
48
48
46
44
43
44
45
46
46
46
46
47
45
45
46
47
46
48
49
54
54
53
54
51
50
48
45
43
41
42
44
49
53
58
61
64
65
65
64
65
62
63
60
60
59
61
61
61
56
50
44
44
44
43
43
45
44
44
44
45
44
44
44
43
42
41
42
43
45
45
45
44
44
44
43
44
43
43
43
45
44
47
46
52
50
50
53
57
58
58
59
57
64
71
69
61
52
47
45
51
53
52
51
49
48
47
47
47
47
47
46
46
45
45
45
47
47
47
47
47
47
47
47
47
48
48
47
45
44
46
44
45
41
43
48
54
70
100
133
159
178
188
187
175
161
143
126
114
104
99
96
94
88
79
70
74
74
74
73
70
69
73
79
83
83
85
43
43
44
45
44
44
45
45
42
42
42
42
41
41
41
41
42
44
43
43
43
43
44
44
43
43
43
43
43
43
43
43
44
44
44
43
43
43
42
42
45
45
45
45
45
45
45
43
44
44
44
43
43
43
43
43
44
44
45
46
47
47
48
46
43
44
45
46
47
45
45
44
46
46
47
45
47
48
50
51
54
52
53
52
50
50
46
44
44
42
41
42
46
50
55
56
60
62
62
62
64
63
64
62
58
58
60
60
59
54
47
41
45
45
45
44
46
46
45
45
46
46
45
45
44
42
42
41
43
45
45
44
46
46
45
45
45
45
44
44
47
46
48
47
50
49
49
54
58
60
61
61
65
74
82
81
73
62
55
54
51
50
49
48
47
46
47
46
46
46
47
46
46
45
45
45
47
47
47
47
47
47
47
47
46
47
48
47
45
44
45
44
43
41
41
45
52
70
106
141
171
190
199
198
189
175
154
130
113
103
99
95
93
87
78
72
69
71
72
73
72
71
75
77
79
78
79
43
43
44
44
45
44
45
45
42
42
42
42
41
41
41
42
44
43
43
42
42
43
43
44
42
42
42
42
42
42
42
42
44
44
44
43
43
42
42
42
44
44
44
44
44
44
44
44
44
43
43
43
43
43
43
43
44
44
45
46
46
47
48
48
44
43
44
45
46
46
46
44
47
46
47
47
49
49
50
51
52
52
53
52
50
50
48
45
46
42
41
40
44
47
52
53
58
59
62
63
64
65
65
64
59
59
59
59
58
52
45
40
45
45
44
46
46
45
45
47
46
46
46
45
43
42
41
43
45
45
45
44
46
45
45
45
45
46
46
46
47
47
49
49
50
49
52
54
59
62
62
65
76
84
92
93
84
73
65
63
50
50
49
48
46
45
46
46
46
46
47
46
46
45
45
45
47
47
47
47
47
47
47
47
45
46
48
48
46
45
45
44
44
41
42
48
54
72
110
148
182
198
207
204
198
182
159
132
110
100
97
94
89
86
80
75
82
85
87
88
85
84
83
83
76
74
74
47
47
47
45
45
45
43
43
44
44
42
41
41
41
40
40
42
42
42
42
42
42
42
43
42
42
42
42
42
42
42
42
42
42
42
43
43
44
44
45
44
44
44
44
44
44
44
44
41
42
43
44
44
44
44
44
44
44
44
44
45
46
47
47
45
44
45
46
47
46
46
46
46
44
45
46
47
48
49
50
52
53
54
53
51
49
48
43
46
45
43
44
47
48
49
48
51
52
56
58
61
62
63
64
63
65
65
62
56
49
46
44
46
45
44
46
45
45
46
47
44
44
45
45
44
43
42
42
43
43
45
44
44
44
45
45
47
47
47
48
51
50
53
52
53
52
57
62
64
62
65
71
82
95
102
104
100
94
83
70
66
61
53
47
44
43
44
43
46
46
45
45
45
44
43
43
46
46
46
46
46
46
46
46
47
47
47
47
47
47
47
47
48
51
50
47
54
79
121
159
187
207
217
211
198
183
167
148
116
100
93
88
85
86
92
98
110
120
124
117
111
104
95
80
70
68
71
47
47
47
47
45
45
45
43
44
43
41
41
40
40
40
40
41
41
41
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
43
43
43
44
44
44
44
44
44
44
44
44
44
43
41
42
43
44
44
43
43
43
43
43
43
44
45
46
47
46
46
47
46
47
48
48
45
46
46
46
45
46
48
50
51
53
53
54
54
52
50
48
47
48
46
45
45
46
49
49
49
51
51
53
56
58
60
61
61
64
64
65
62
56
50
45
45
46
45
46
45
45
45
46
46
44
44
45
44
43
43
42
44
43
43
44
44
44
43
45
45
47
47
49
49
50
54
55
54
57
55
60
64
66
65
70
78
92
102
111
111
109
101
90
77
65
61
55
52
49
46
44
41
45
45
44
43
44
43
43
43
46
46
46
46
46
46
46
46
47
47
47
47
47
47
47
49
52
55
51
51
58
84
124
158
185
202
212
207
194
184
173
158
128
113
106
106
104
109
118
127
127
135
137
129
121
113
101
84
67
62
67
47
47
47
47
47
45
45
45
43
43
43
42
40
39
39
39
41
43
43
43
42
42
42
42
44
44
44
44
44
44
44
44
43
43
44
44
44
45
45
45
45
45
45
46
46
46
46
44
43
43
44
45
45
45
45
44
44
44
44
44
45
46
47
46
46
46
47
48
49
47
47
47
48
46
46
46
48
49
51
52
53
54
55
54
54
53
50
46
48
46
44
47
47
48
48
49
51
52
51
51
54
56
58
58
64
64
66
63
58
51
46
46
47
46
46
45
45
45
47
48
45
45
46
46
45
44
43
43
42
42
44
43
45
45
45
45
48
48
50
51
52
56
58
57
61
59
62
68
70
71
77
86
103
113
122
123
119
111
98
85
68
64
59
56
52
46
43
38
41
41
42
42
42
42
45
45
45
45
45
45
45
45
45
45
46
46
46
46
46
46
46
50
57
57
52
51
62
89
124
154
177
191
199
195
187
182
178
171
154
143
135
130
126
126
133
141
148
152
148
138
131
123
105
84
62
58
62
48
48
48
48
48
48
46
46
43
43
42
42
39
39
39
41
43
42
42
42
42
41
41
41
43
43
43
43
43
43
43
43
43
43
43
43
43
44
44
44
44
45
45
45
45
46
46
46
42
43
44
44
44
44
43
43
43
43
43
43
44
45
46
47
47
48
49
49
49
49
49
47
47
47
47
45
46
48
49
50
51
52
53
54
54
52
51
48
50
48
47
47
48
47
49
49
52
52
50
49
50
53
55
58
62
64
65
62
58
53
48
46
45
45
45
44
44
44
46
46
44
44
46
45
44
43
45
44
41
41
43
43
44
44
45
44
47
49
49
53
55
58
60
60
64
60
62
67
73
76
86
94
111
121
130
131
128
120
106
93
74
70
64
58
54
48
44
40
41
40
41
40
41
41
44
45
44
44
44
44
44
44
44
44
45
45
45
45
45
45
45
49
58
56
49
49
63
88
122
147
163
176
182
178
175
178
182
179
171
163
158
152
143
137
139
144
154
155
151
141
132
124
105
79
59
56
57
50
50
50
50
48
48
46
46
45
45
43
42
42
41
41
41
43
43
43
42
42
41
41
41
43
43
43
43
43
43
43
43
43
43
43
43
43
42
42
42
43
44
44
45
45
46
46
46
42
43
43
43
43
43
42
41
42
42
42
42
43
44
46
47
49
48
49
50
50
49
48
48
48
46
46
46
47
48
47
48
51
52
53
54
54
52
52
48
50
48
48
47
49
49
50
50
54
53
53
51
51
53
54
56
59
61
62
61
56
53
48
47
45
45
46
45
44
44
47
47
46
45
47
46
45
44
44
44
43
42
42
42
43
43
44
46
48
49
52
54
57
61
64
63
65
61
63
69
76
81
93
104
119
128
135
135
131
125
113
101
82
76
67
58
54
50
47
45
41
40
40
39
40
42
44
45
44
44
44
44
44
44
44
44
45
45
45
45
45
45
45
49
58
53
43
44
56
81
112
135
150
160
165
163
162
169
177
179
168
167
168
165
156
146
144
148
150
149
143
133
129
120
100
73
57
56
57
51
51
51
51
49
49
47
47
46
46
44
43
43
43
42
42
44
44
44
43
42
41
41
41
42
42
42
42
42
42
42
42
43
43
42
42
42
41
41
41
43
43
43
44
45
45
46
46
42
42
43
43
42
42
41
40
43
43
42
43
44
45
46
47
50
50
49
50
50
49
48
47
48
47
45
45
46
47
46
46
49
50
51
52
52
52
52
47
49
47
47
45
46
47
48
49
53
53
53
52
52
52
52
52
53
56
58
59
55
52
49
48
46
43
44
44
43
43
46
46
45
45
46
45
44
44
43
43
42
42
41
41
43
42
45
45
49
51
54
56
60
63
66
67
65
62
67
74
82
90
101
114
125
131
138
136
132
126
117
106
92
83
74
64
58
53
50
49
44
42
41
39
41
42
43
44
43
43
43
43
43
43
43
43
44
44
44
44
44
44
44
46
55
49
40
38
49
71
100
121
138
148
154
152
151
158
165
173
173
176
177
172
159
145
141
144
142
143
138
130
123
114
93
69
54
53
53
51
51
51
51
49
49
49
49
47
47
47
47
44
44
43
43
46
45
45
44
43
42
42
41
42
42
42
42
42
42
42
42
42
42
42
41
41
41
40
40
42
42
43
44
45
45
46
46
42
42
42
42
42
41
40
39
43
43
43
43
44
45
47
47
50
51
51
52
50
49
49
48
47
47
47
46
45
45
46
47
48
48
51
52
53
51
50
48
46
43
43
43
44
45
46
46
52
53
51
51
50
49
50
48
49
52
55
57
54
53
50
50
45
45
44
43
42
42
45
45
46
46
45
45
46
45
44
44
41
41
41
40
42
42
44
44
49
52
55
57
62
65
70
70
65
64
70
79
88
98
110
121
129
134
139
136
132
128
119
110
97
91
81
73
67
59
54
52
47
44
43
39
41
41
42
44
42
42
42
42
42
42
42
42
43
43
43
43
43
43
43
45
50
45
37
33
38
59
87
109
125
134
140
138
137
142
148
157
171
174
173
165
151
135
132
134
133
136
134
123
116
107
87
66
51
48
48
49
49
49
49
47
47
47
47
46
46
46
45
45
43
44
44
45
44
44
43
44
43
42
42
42
42
42
42
42
42
44
42
44
42
44
41
41
40
40
39
41
42
43
41
44
43
44
44
42
42
42
42
41
40
39
39
44
42
42
42
43
44
45
46
49
49
50
50
49
48
47
47
47
47
46
46
44
45
46
46
45
46
49
49
50
50
49
47
43
44
41
42
43
45
46
47
50
51
50
50
51
49
49
47
47
50
54
55
55
52
50
49
47
46
45
44
44
44
46
47
46
46
47
46
45
45
44
44
43
43
42
42
43
42
44
46
50
53
54
58
61
66
69
71
67
68
74
84
96
105
117
128
133
137
139
135
132
127
121
111
98
93
85
79
72
65
56
51
46
46
44
41
41
41
42
43
44
42
44
42
44
44
44
44
45
45
45
45
45
45
45
47
47
43
37
33
37
56
81
103
116
122
126
122
123
130
136
144
153
157
154
149
138
128
130
137
127
133
130
120
111
102
83
63
50
47
48
43
43
43
44
44
44
45
45
46
47
47
47
46
44
44
44
45
45
44
43
44
44
43
43
45
45
47
47
46
45
46
43
47
45
47
45
45
45
43
43
42
42
42
41
43
41
42
42
45
45
45
46
44
45
43
43
42
41
42
43
42
44
42
43
45
45
48
48
48
47
46
45
46
45
47
46
46
47
47
46
41
41
42
45
45
46
46
45
41
39
39
38
40
44
48
48
48
47
49
51
51
48
47
45
47
46
49
50
50
48
46
44
48
50
49
48
48
47
46
46
49
48
49
48
47
46
45
45
43
51
46
41
45
45
45
50
47
52
57
63
65
66
67
69
73
80
89
97
106
113
124
130
135
137
138
140
136
130
123
117
105
95
88
85
83
78
69
61
54
51
46
42
41
43
43
42
45
42
44
41
43
44
45
45
46
46
48
48
49
49
49
48
45
43
40
35
42
64
88
103
117
115
118
119
118
117
123
134
143
143
138
131
125
124
123
126
125
126
124
117
109
99
85
70
61
51
46
42
43
43
43
44
44
44
45
46
46
47
47
46
45
44
44
44
44
44
44
43
42
43
43
45
46
48
47
49
47
46
45
47
47
47
47
45
45
43
43
42
42
41
41
42
42
41
42
46
48
46
46
44
44
42
43
42
40
41
40
41
42
41
42
44
44
46
46
46
45
46
46
46
45
46
46
46
46
47
46
42
41
43
43
45
44
45
45
43
41
40
39
41
45
49
47
47
45
48
50
52
51
50
49
46
47
46
48
49
49
47
49
50
50
50
48
48
47
47
46
49
47
48
46
46
44
44
44
44
49
45
43
46
46
42
44
49
53
58
61
64
65
67
69
72
82
93
102
112
119
127
134
136
138
141
141
137
131
125
118
105
96
90
88
88
83
74
67
59
55
51
45
43
42
43
42
43
44
44
44
44
45
48
48
48
48
49
49
49
51
51
49
49
45
41
37
44
66
93
105
111
108
110
112
112
112
119
128
135
132
129
123
120
119
121
124
124
127
123
117
110
101
87
72
59
51
45
44
44
44
44
45
45
46
46
47
47
48
48
48
47
46
45
45
45
44
43
44
43
44
44
46
46
49
48
47
46
47
46
47
47
45
45
45
45
43
43
43
43
42
42
41
42
42
43
45
47
47
47
45
44
42
42
43
42
43
42
43
42
43
44
45
45
46
46
47
46
45
45
46
45
46
46
46
46
47
46
43
43
43
45
47
46
47
46
44
42
40
40
41
42
45
44
44
45
48
52
54
53
52
52
50
50
50
51
50
51
53
53
50
47
49
46
47
44
46
44
46
44
45
42
44
41
43
43
49
49
47
47
49
49
46
45
53
56
61
63
65
65
67
70
72
81
92
101
110
116
123
131
135
137
140
140
137
131
125
120
109
101
97
96
96
93
86
80
69
63
57
50
44
41
41
40
40
42
42
42
42
43
46
47
46
46
48
48
48
49
49
48
50
46
39
34
42
65
91
105
107
106
106
110
110
109
113
120
124
122
120
118
118
117
119
121
121
125
121
116
109
99
85
70
58
50
44
45
45
46
46
46
47
47
47
48
49
49
50
50
49
48
48
47
46
46
45
45
44
46
46
48
48
48
50
49
48
47
46
48
46
46
46
46
44
44
42
44
44
43
43
43
43
43
44
47
49
48
46
46
43
43
42
44
44
43
44
43
45
45
46
47
47
48
47
49
48
46
46
46
46
47
46
46
47
48
46
46
46
46
48
47
46
47
46
46
43
41
41
40
41
42
41
47
47
51
54
56
57
55
54
56
56
57
57
55
55
55
53
49
47
46
46
45
44
43
43
42
42
42
41
41
40
40
42
49
46
46
49
45
47
51
50
55
58
61
63
64
66
68
72
74
81
91
98
103
109
118
124
131
135
137
138
135
130
126
121
111
105
103
101
103
101
95
91
80
74
63
54
47
42
40
37
38
40
40
40
40
43
44
45
43
45
45
45
47
47
47
45
43
43
39
34
44
65
89
99
104
104
105
108
109
107
109
114
116
113
112
112
115
118
120
120
120
122
119
113
106
98
82
71
57
48
42
47
47
47
48
48
48
49
49
50
50
51
52
52
52
51
51
49
49
48
48
48
47
46
46
48
49
49
50
49
48
47
46
48
46
46
46
46
44
44
44
46
44
44
44
44
44
45
46
48
48
48
48
48
46
46
45
46
47
45
45
46
47
47
47
49
49
50
49
48
47
47
47
47
47
46
46
48
48
49
49
49
49
50
52
51
50
49
49
48
45
43
42
41
41
41
41
49
51
55
58
58
59
59
58
55
56
56
57
58
58
57
55
50
49
48
47
46
46
45
45
43
43
43
43
43
42
42
42
45
39
47
52
43
42
54
55
58
60
62
63
66
68
71
74
78
81
89
93
98
105
117
124
126
130
133
134
132
128
125
119
112
108
108
107
109
108
103
100
88
82
72
61
52
44
38
36
39
39
39
38
38
40
41
42
40
42
42
42
44
44
44
42
36
39
42
42
53
70
87
94
101
98
101
105
107
104
105
107
110
108
109
110
115
117
119
119
117
119
116
111
104
95
80
69
55
47
41
48
48
49
49
50
50
50
50
51
52
53
54
54
54
53
53
52
52
51
50
51
50
49
49
49
51
52
51
50
49
50
47
48
46
48
46
46
46
46
44
45
45
45
46
45
45
46
46
47
49
50
48
49
48
48
47
48
47
46
47
48
48
49
50
51
51
51
51
50
48
49
48
49
49
48
47
49
50
51
51
50
50
53
54
54
53
53
50
50
48
45
43
41
40
41
41
43
44
48
52
55
55
55
54
53
52
54
53
57
56
57
56
51
49
49
48
47
46
46
45
44
44
44
44
44
44
44
44
42
44
69
81
56
48
59
61
58
60
62
63
66
69
74
76
79
82
88
93
98
105
115
122
122
124
127
129
130
126
121
118
112
111
112
112
112
112
109
107
98
92
83
71
62
51
42
39
39
40
39
40
39
39
39
40
40
40
42
42
42
42
42
40
36
44
52
56
64
75
86
90
93
92
93
98
101
100
101
102
109
106
105
110
114
118
118
118
116
118
114
107
102
94
79
69
54
47
41
49
50
50
50
51
51
51
52
52
53
54
55
55
55
55
55
55
55
54
53
52
52
51
51
51
52
52
52
51
50
51
48
48
46
48
46
46
46
46
45
45
45
45
45
46
46
47
47
48
48
49
50
51
52
52
51
48
47
48
48
49
48
49
49
52
52
52
51
51
49
47
46
49
48
50
49
49
50
50
51
52
53
54
55
54
54
54
52
48
47
45
43
44
42
43
42
38
39
45
51
56
57
58
59
62
58
54
51
51
52
55
55
53
51
50
50
49
48
47
47
46
46
46
47
47
47
47
47
43
56
102
121
84
60
65
64
60
61
63
64
64
68
74
79
79
85
91
95
99
102
107
111
119
122
126
128
129
126
121
118
114
114
114
114
114
115
112
112
105
101
92
81
71
59
48
43
43
44
42
42
41
40
39
41
42
42
43
43
43
43
43
40
45
52
62
68
74
81
86
87
91
87
87
92
97
97
98
102
107
106
105
110
116
120
119
118
115
118
114
108
99
91
77
67
59
51
45
50
50
51
51
51
52
52
52
53
54
55
56
56
56
56
56
56
56
56
55
54
53
53
52
53
53
53
53
53
51
49
48
46
46
46
46
47
46
46
46
45
45
46
46
46
47
47
47
48
49
50
51
52
52
53
51
47
47
47
47
48
49
50
50
53
53
52
52
51
50
48
47
50
50
51
50
50
51
52
52
50
51
53
55
54
54
53
52
46
44
43
43
42
43
41
39
42
44
51
57
64
68
71
70
74
68
59
48
45
45
49
52
53
55
54
53
53
52
51
51
51
51
51
51
51
51
51
49
38
59
122
146
99
64
64
58
60
61
62
62
64
69
76
80
81
85
92
94
95
92
91
92
117
120
124
126
128
125
120
118
114
116
117
117
117
115
115
114
110
106
97
87
78
66
53
47
45
45
44
42
40
38
39
39
41
41
43
43
43
43
43
39
52
60
70
76
79
86
88
88
90
86
86
93
98
98
100
105
108
107
106
109
118
120
121
117
117
117
113
107
101
91
77
66
63
58
51
52
52
52
52
52
53
55
55
55
55
56
56
57
58
59
59
60
60
58
57
57
56
56
55
53
53
53
53
55
53
52
52
51
51
51
50
52
49
49
49
49
49
48
47
46
46
47
47
49
49
49
48
49
50
50
49
49
49
50
50
51
50
51
53
55
55
54
53
51
50
50
50
48
47
49
48
48
48
51
51
47
61
58
51
57
50
43
54
45
46
43
39
37
44
49
48
61
59
63
65
62
55
54
59
68
69
74
75
66
53
48
54
56
56
53
50
52
56
54
49
52
50
48
48
50
51
49
44
73
97
68
85
118
79
60
70
61
65
70
72
69
68
76
84
76
93
104
93
76
69
72
76
89
92
101
114
124
125
127
130
118
119
120
120
120
119
121
120
112
110
106
98
90
78
67
63
60
50
50
49
39
35
45
49
46
44
45
46
44
42
45
47
52
58
66
69
78
90
93
89
87
90
93
97
98
100
102
104
106
111
113
111
116
120
124
122
121
114
106
102
100
90
77
68
64
66
64
52
52
52
52
53
54
56
57
56
56
57
57
58
59
59
59
61
60
58
58
57
57
56
56
56
56
56
53
54
52
52
49
50
50
50
50
51
51
51
51
49
49
48
48
47
46
47
47
49
47
47
48
49
49
48
48
48
47
49
48
50
50
51
51
53
55
54
52
51
50
50
50
49
48
49
49
49
49
52
50
51
49
43
44
54
57
59
67
63
64
65
62
66
72
76
71
55
52
54
56
51
45
45
48
53
48
48
51
54
54
58
69
77
76
68
59
56
58
56
51
48
59
65
56
43
46
68
87
78
77
61
63
92
81
53
68
73
64
63
73
79
74
75
78
88
91
90
78
69
68
72
73
78
78
82
90
94
93
93
98
105
108
110
113
114
116
119
119
125
123
121
117
115
111
108
108
110
95
85
81
75
73
57
27
45
42
43
47
49
50
54
56
53
57
65
69
79
93
98
94
95
95
96
96
100
100
100
102
105
114
120
120
125
132
135
133
131
122
111
104
100
91
77
69
67
68
69
51
51
51
52
54
55
57
58
58
58
59
59
59
59
59
59
59
59
59
58
58
58
56
55
58
57
56
53
54
51
51
49
49
49
49
49
52
52
52
52
48
48
49
48
47
47
46
46
47
47
47
46
47
47
48
48
49
48
49
49
50
48
49
48
53
52
51
50
51
50
49
48
49
49
48
48
50
51
51
52
60
46
51
71
87
96
102
98
62
63
65
66
74
82
83
75
52
48
48
49
46
43
43
47
54
43
36
39
45
47
50
58
50
66
76
82
82
76
62
49
47
44
42
45
55
71
87
91
73
51
57
49
75
93
63
74
76
67
69
79
81
74
78
89
98
90
81
73
74
78
77
72
79
75
74
76
77
75
76
80
88
91
93
97
99
101
104
107
107
106
106
105
109
112
115
118
133
124
116
108
108
114
93
50
39
44
52
53
45
41
49
57
51
54
63
68
84
101
105
100
105
101
100
99
101
104
105
106
118
126
133
138
144
150
153
153
146
134
121
109
98
89
77
71
67
70
73
50
50
51
52
54
56
58
59
60
60
60
60
60
60
60
60
60
60
60
59
59
57
57
57
60
57
56
55
53
51
50
49
48
48
49
50
50
51
53
53
49
48
50
49
48
47
47
47
47
45
46
44
46
46
48
47
48
46
48
47
48
48
47
48
50
52
51
50
51
49
49
48
50
50
49
49
51
52
53
51
49
38
63
96
101
102
99
79
48
47
48
51
61
71
72
64
55
53
51
51
51
51
52
54
53
47
41
40
40
40
38
40
55
61
62
60
66
76
83
83
55
42
37
49
75
87
81
64
57
42
52
52
64
85
75
70
64
73
83
81
74
75
91
105
87
80
74
73
78
81
76
72
83
77
75
75
74
73
78
83
84
86
87
87
90
92
94
97
102
103
101
103
105
109
115
115
117
117
118
113
110
120
118
98
53
47
42
44
47
46
47
47
46
56
67
78
96
114
118
113
113
115
115
111
109
111
117
122
138
149
157
161
167
174
176
173
162
148
130
113
99
88
78
72
67
69
72
49
49
50
51
53
55
57
58
60
60
60
60
60
61
61
61
60
60
60
61
59
59
59
57
58
57
56
54
52
49
48
47
47
47
47
49
49
49
50
50
47
47
49
48
49
48
48
47
46
46
46
45
46
47
48
47
49
47
49
48
48
48
47
48
50
51
51
49
48
47
48
48
49
49
49
49
50
51
54
52
46
50
83
105
95
81
69
43
41
40
38
41
51
61
63
59
53
52
50
50
53
57
59
60
47
47
43
41
41
44
47
49
65
65
63
57
60
69
78
79
62
67
76
77
74
66
62
55
46
46
43
52
52
57
80
67
57
73
80
70
70
84
100
104
75
68
67
68
72
75
76
77
83
77
73
72
71
70
76
82
86
88
88
90
93
95
98
101
105
107
108
109
111
111
113
111
112
104
109
112
104
107
114
115
99
68
36
34
51
61
55
45
51
67
86
103
121
139
140
131
128
136
141
136
130
130
142
153
167
174
182
185
189
193
195
190
177
162
140
118
101
89
79
74
66
67
71
48
48
49
50
51
53
55
56
58
58
59
60
61
61
62
62
61
61
61
62
60
60
58
59
58
56
56
53
52
51
50
49
49
49
48
48
49
49
50
49
48
48
49
49
50
49
48
48
46
46
44
45
45
47
47
48
48
48
47
48
48
48
47
47
50
51
50
49
48
47
48
47
48
48
49
49
50
51
54
52
52
69
95
98
81
70
59
43
39
37
33
32
38
46
50
49
44
45
45
44
49
56
59
58
50
48
44
39
41
48
59
61
45
54
63
66
65
62
55
48
53
66
76
71
57
48
50
55
40
47
34
49
44
47
92
92
67
67
63
61
76
97
98
84
75
70
64
62
62
66
77
87
82
77
71
70
70
68
71
78
83
84
86
87
92
97
101
107
101
104
106
108
110
110
108
105
114
97
100
110
110
109
111
110
130
106
76
56
45
43
50
58
65
85
110
130
145
159
159
152
155
164
172
168
163
163
176
188
192
197
204
205
206
209
207
202
192
175
152
126
107
91
82
78
71
72
72
48
48
48
48
49
51
52
53
55
56
57
59
60
62
63
63
61
62
62
62
61
61
60
60
58
57
57
55
54
51
51
51
50
50
49
48
49
48
49
49
49
49
50
49
50
50
49
49
47
45
45
45
46
47
47
48
48
49
48
48
48
48
45
47
49
49
48
47
48
46
47
47
47
47
48
48
49
50
52
49
47
75
86
68
54
51
47
41
33
35
33
31
32
35
37
37
41
45
44
44
49
58
60
54
55
52
47
43
48
56
61
55
45
45
43
38
37
43
49
52
42
43
44
44
44
44
45
43
37
38
38
44
46
55
85
113
83
66
58
73
91
95
84
73
77
68
63
60
56
55
65
76
78
75
72
72
72
69
71
77
80
82
82
85
88
93
97
103
106
108
112
115
116
116
115
111
109
97
101
106
107
116
122
116
126
126
119
97
65
47
55
74
92
118
144
161
171
182
185
179
189
197
202
202
202
205
214
219
216
219
221
220
223
224
222
216
203
186
163
135
113
98
87
83
80
79
79
49
49
49
48
49
49
50
51
54
55
56
58
60
60
61
62
62
62
60
61
59
59
59
58
59
59
58
59
59
61
63
61
55
53
51
50
50
49
50
50
49
51
50
52
51
52
51
49
47
47
47
48
49
50
50
51
53
51
50
49
48
48
45
47
49
51
50
51
49
49
48
50
47
47
47
47
48
47
48
44
55
91
89
54
42
43
37
35
38
42
44
39
38
38
35
35
42
48
48
46
52
60
59
53
48
47
46
48
57
65
60
44
36
40
46
44
42
43
43
39
42
43
44
44
42
41
40
37
42
31
48
41
45
53
54
96
89
66
65
90
98
82
70
74
68
61
60
57
52
44
46
52
72
69
68
72
73
71
73
78
85
86
84
84
85
90
94
99
104
107
110
111
112
113
115
112
106
109
115
104
96
115
133
130
119
120
123
125
120
103
88
81
119
146
173
186
195
204
207
207
216
216
218
223
228
233
235
235
230
230
232
230
232
233
231
226
209
194
169
143
120
104
95
90
89
88
86
47
48
49
49
53
52
52
52
53
54
53
55
57
57
59
59
64
62
60
59
56
55
56
56
57
58
59
67
77
80
79
69
62
52
52
53
57
56
52
48
53
53
51
52
53
53
52
50
53
52
54
53
55
55
56
57
58
55
54
52
48
45
43
44
50
52
51
52
53
55
57
58
58
48
45
49
43
35
36
46
92
65
44
41
43
39
38
43
36
38
42
41
41
38
37
37
39
41
42
46
50
52
50
49
44
44
44
47
52
56
49
38
43
42
43
45
45
46
47
45
44
45
44
44
42
41
41
40
38
31
32
39
39
40
53
73
67
75
87
90
82
67
63
71
70
68
65
57
51
47
47
48
64
67
67
63
65
71
73
71
81
81
82
85
86
85
90
100
107
106
103
103
109
115
121
122
121
117
116
113
106
106
119
135
128
105
118
120
109
125
92
109
132
156
187
208
218
224
231
235
237
238
241
242
243
244
244
243
240
239
238
237
235
232
227
225
212
202
184
160
137
120
111
107
115
109
107
47
48
48
50
51
50
51
50
52
53
53
55
55
57
56
59
62
62
60
57
54
54
53
56
56
61
69
82
96
106
106
96
75
63
58
56
57
58
56
53
56
54
52
52
53
53
53
50
47
47
50
52
54
57
58
57
58
57
54
52
48
45
43
44
46
50
53
54
55
55
55
55
57
54
49
49
42
37
46
58
66
45
35
38
39
36
37
42
37
40
43
45
44
42
40
41
41
42
41
43
46
49
47
46
44
40
43
54
57
49
43
41
43
44
46
45
47
46
47
45
45
43
43
43
41
40
39
36
39
35
37
42
42
38
47
60
63
68
77
81
73
64
65
72
69
67
65
56
49
45
45
46
53
63
69
67
62
66
70
74
74
76
80
84
83
83
88
97
104
105
105
106
112
118
122
123
120
115
111
116
122
123
118
112
107
107
104
102
111
116
72
115
137
165
200
220
230
237
242
243
249
250
253
253
254
253
254
251
246
244
243
241
239
237
236
234
224
216
197
174
154
140
133
131
134
128
126
44
45
46
47
47
48
50
49
52
50
52
54
54
56
57
58
61
59
59
56
55
55
55
57
58
66
83
102
120
133
138
131
105
92
82
75
71
69
65
60
59
55
52
51
50
51
49
48
45
46
48
50
51
52
53
51
52
52
51
48
48
47
45
44
39
42
47
48
51
52
50
49
52
53
50
44
39
44
57
67
48
36
32
39
41
36
34
38
38
41
45
47
46
45
45
47
46
46
43
43
43
45
45
44
45
40
46
61
58
42
38
46
44
43
44
46
47
46
47
44
45
43
43
41
39
38
34
33
36
35
39
47
46
41
44
55
53
56
65
73
74
67
65
67
65
63
61
52
46
42
42
43
41
56
69
69
64
65
73
80
71
73
79
84
85
85
88
95
102
105
107
112
119
123
124
122
116
116
113
116
124
128
118
99
109
119
92
94
132
123
59
112
129
166
208
228
239
249
253
251
255
255
255
255
255
255
255
252
250
248
247
245
245
243
243
242
234
225
206
185
168
158
153
151
158
150
148
44
44
45
44
45
46
47
48
48
49
51
53
53
55
56
57
60
59
57
57
56
56
56
59
62
76
98
122
146
161
168
166
151
138
123
109
100
90
80
72
70
63
55
51
48
47
46
47
48
49
51
50
49
49
47
45
47
46
47
47
48
47
48
47
42
44
46
48
50
51
53
52
52
53
49
43
43
54
65
65
46
40
40
45
44
38
35
38
38
41
44
47
47
48
49
50
51
50
46
42
43
44
44
42
44
45
52
57
51
39
40
47
43
42
45
45
46
44
44
42
44
43
41
40
38
36
32
31
30
31
36
46
47
46
50
58
45
48
53
64
73
73
63
56
57
56
52
47
43
42
43
45
38
51
64
67
64
68
76
85
69
69
77
85
87
87
88
94
99
102
109
114
121
124
123
121
113
122
122
112
110
117
117
106
102
103
85
113
164
141
51
64
109
155
202
226
241
254
255
254
255
255
255
255
253
254
251
250
249
247
247
246
246
245
247
246
239
228
210
193
180
172
169
170
180
172
166
44
44
43
43
44
44
46
47
47
48
49
51
51
53
55
56
58
58
58
58
57
58
58
61
68
85
113
141
168
185
195
198
192
182
169
154
141
126
110
97
88
77
66
56
50
47
44
44
49
51
49
49
47
43
42
41
44
43
44
47
48
50
52
51
52
53
51
50
50
52
52
53
51
49
46
47
56
68
71
60
48
43
46
47
45
41
39
42
36
39
43
46
45
46
48
51
54
51
47
44
44
43
43
43
43
53
56
46
38
41
45
43
43
41
45
44
44
43
42
42
44
42
41
39
35
33
31
30
30
30
34
41
45
48
54
61
62
55
53
57
68
71
62
49
49
48
47
44
42
43
45
48
45
50
58
63
66
72
79
86
69
67
76
85
89
88
89
93
95
100
108
115
122
124
121
118
114
124
122
111
108
116
115
105
95
93
104
158
184
155
69
42
98
142
192
220
239
253
255
253
255
255
255
255
255
254
251
249
247
247
247
246
247
246
247
247
243
234
218
205
195
191
192
194
200
191
183
49
46
46
43
43
44
45
46
46
47
48
50
50
52
54
52
56
56
56
59
58
59
60
65
73
94
124
157
184
204
216
222
218
212
201
191
181
167
150
135
119
105
89
74
63
56
52
50
53
55
52
50
46
43
42
42
42
43
44
48
52
54
57
58
58
58
55
53
53
52
49
48
53
43
41
50
65
71
64
52
47
43
45
45
44
42
43
45
37
40
43
45
44
46
48
52
53
52
49
46
46
47
46
44
45
57
55
38
35
47
52
42
44
40
43
42
43
43
42
42
42
41
41
40
36
34
32
31
35
35
36
38
41
44
49
54
81
74
65
59
60
63
59
49
42
40
42
41
40
43
48
51
54
51
54
61
69
72
77
80
70
67
73
84
89
90
92
95
95
97
105
112
119
122
120
118
119
118
116
115
121
123
111
94
107
99
113
154
145
134
98
76
101
137
183
215
237
247
253
254
255
255
255
255
254
252
250
248
247
248
249
249
249
247
246
242
239
230
219
210
206
207
210
214
220
211
201
52
49
48
43
42
42
43
44
45
46
47
49
49
51
53
52
55
55
56
59
59
61
63
67
75
99
130
166
197
218
234
241
239
235
229
221
214
202
189
177
161
145
126
107
92
82
76
74
75
71
64
58
52
47
45
44
42
43
47
52
55
59
62
65
67
70
72
75
76
75
71
66
65
52
48
59
70
64
53
45
47
44
42
43
44
45
45
42
39
41
42
44
45
46
49
53
52
51
49
49
50
50
48
47
53
53
49
40
42
50
51
42
42
39
42
41
41
41
40
40
41
41
41
40
39
37
33
32
37
37
37
37
40
43
46
47
71
80
83
73
62
57
55
47
42
38
40
39
40
42
48
52
59
55
58
67
72
71
74
75
72
68
73
83
90
93
93
96
94
97
102
108
117
120
120
119
119
117
118
120
123
119
107
95
106
102
93
107
89
96
96
96
100
124
166
207
231
240
247
253
255
255
255
253
252
249
247
245
246
247
250
249
247
242
240
237
228
221
213
210
213
219
225
229
236
227
215
54
51
48
45
43
43
43
44
45
45
47
49
49
51
52
51
55
55
56
58
59
60
63
67
77
102
136
171
203
227
245
253
255
250
243
238
234
225
214
204
196
180
159
139
124
112
104
101
99
94
83
72
62
54
49
47
47
48
51
55
61
64
68
72
82
92
99
106
110
109
104
97
87
69
63
73
76
60
49
46
48
47
45
45
46
47
43
38
40
43
43
45
45
47
49
52
50
50
50
50
52
52
51
47
58
47
42
47
53
53
49
44
41
39
40
41
41
41
40
40
41
41
41
41
39
38
36
35
34
37
36
38
41
43
43
42
43
71
92
89
70
55
50
45
41
39
38
37
38
42
47
50
57
57
63
72
73
68
69
71
73
68
72
83
90
92
94
97
94
96
100
105
114
120
121
122
116
119
126
125
113
103
105
109
108
116
94
102
97
104
94
94
93
111
150
195
225
233
242
253
255
255
255
253
252
249
247
246
244
245
248
248
245
239
235
229
221
217
211
213
221
229
236
242
246
236
223
53
52
51
49
47
45
43
42
41
41
42
43
48
51
54
54
55
55
56
57
58
59
65
72
77
96
129
167
202
227
246
255
255
255
255
252
249
243
236
232
218
210
193
177
161
146
135
126
122
118
110
95
77
64
58
56
52
53
58
61
62
66
72
84
106
126
137
136
139
139
126
106
101
91
87
81
68
51
40
40
42
42
44
46
45
45
44
44
39
40
42
45
45
47
49
51
52
53
54
51
49
49
51
51
60
54
48
55
82
99
84
54
41
41
42
41
38
37
38
40
43
44
43
39
35
34
36
40
38
40
41
42
44
43
44
45
56
49
65
94
81
60
59
42
38
36
38
38
40
43
48
50
52
59
74
82
74
58
58
68
71
69
75
84
87
86
88
92
102
102
101
102
108
115
118
118
119
118
117
120
120
115
110
106
117
103
109
108
88
88
101
101
103
101
139
178
207
231
238
247
249
253
254
252
252
252
248
244
246
246
244
241
244
243
232
217
213
206
208
222
231
231
232
243
248
239
226
54
51
52
50
48
46
45
44
42
42
42
43
47
50
53
53
54
54
55
56
56
57
62
69
78
95
127
164
201
226
245
254
255
255
255
255
255
252
248
245
235
227
216
201
187
174
160
152
142
136
127
116
98
84
73
67
58
61
65
63
64
69
82
99
131
150
157
155
154
150
136
117
107
98
88
71
57
47
41
41
37
37
38
40
39
40
40
40
37
40
45
50
51
53
53
53
57
55
55
57
61
61
60
59
58
57
55
47
40
43
62
79
54
44
35
35
41
45
43
40
46
47
49
46
41
38
37
38
39
39
40
40
42
41
41
40
47
45
54
74
81
72
63
40
40
38
39
39
40
40
44
47
52
56
70
80
73
61
59
67
72
70
76
82
87
86
86
90
102
104
105
107
109
113
116
117
108
115
121
123
117
110
105
101
102
98
104
104
94
99
105
94
95
87
125
165
197
222
233
245
247
253
254
252
252
252
251
245
245
245
243
241
244
244
233
219
212
203
204
219
229
231
232
239
246
238
225
54
53
52
50
48
46
45
44
43
43
42
43
47
50
52
52
53
55
56
54
54
55
60
67
75
93
121
156
194
220
240
250
254
254
255
255
255
255
255
255
249
244
235
224
211
199
188
179
162
155
145
133
119
104
86
76
60
64
66
66
66
74
93
115
149
165
167
162
154
147
131
110
94
92
82
62
48
43
41
39
41
41
41
42
44
45
45
46
42
46
49
53
56
55
51
52
49
46
45
51
59
63
60
53
52
44
43
45
39
32
42
58
62
54
45
41
42
44
44
44
41
43
46
46
43
40
39
39
40
41
40
41
42
42
43
44
43
52
53
55
78
87
69
47
44
40
42
41
41
40
42
44
51
54
65
75
71
62
58
62
68
67
73
80
84
83
83
87
100
104
112
114
110
108
108
112
106
116
123
121
113
107
107
109
104
104
109
107
103
110
109
95
87
70
102
148
182
209
223
244
247
253
255
252
252
254
253
247
244
242
242
242
244
244
236
226
215
203
201
216
228
232
231
236
242
235
225
57
56
54
52
51
49
48
47
45
44
44
44
47
49
51
53
54
55
55
53
52
53
56
62
75
87
113
150
186
212
233
245
249
249
253
255
255
255
255
255
252
248
242
234
226
215
205
197
182
170
158
144
132
117
99
81
68
66
67
69
74
85
100
120
141
153
152
143
131
120
103
85
72
80
79
60
49
50
44
36
34
36
36
38
40
43
45
47
54
55
54
54
53
51
46
44
40
39
40
45
52
52
49
45
45
34
31
44
54
48
37
31
55
60
63
55
42
37
41
50
46
46
46
44
42
42
41
39
42
43
43
45
47
48
51
51
42
66
69
48
70
92
75
63
47
43
42
42
42
42
43
42
48
50
57
66
68
60
55
55
63
63
69
75
79
76
77
80
96
103
113
117
109
103
103
107
112
116
115
110
108
111
117
120
117
111
109
108
108
106
104
97
84
60
85
129
169
197
217
243
246
252
255
254
254
255
255
248
245
242
243
245
247
247
241
232
218
204
202
214
228
232
229
233
238
232
224
58
57
56
54
54
52
51
50
48
47
46
46
48
49
51
52
56
56
56
54
51
50
54
59
71
82
104
139
177
206
227
238
247
249
253
253
255
254
255
253
251
248
244
239
233
226
217
209
201
187
172
158
146
132
115
98
89
81
76
77
84
93
98
104
112
118
117
110
99
89
74
63
69
77
75
60
54
58
52
41
43
45
45
47
48
52
55
58
57
55
53
50
45
44
43
42
42
45
46
48
48
47
46
44
38
43
43
35
34
41
45
41
45
55
65
63
52
45
45
50
55
53
48
44
42
44
45
43
49
49
49
50
48
48
48
49
43
76
90
54
58
81
72
81
52
47
44
44
45
46
45
44
45
46
51
57
59
54
50
48
60
60
66
73
77
75
75
79
96
104
114
120
113
101
101
107
117
116
111
106
111
119
119
115
116
109
107
114
117
102
92
97
86
57
74
114
156
193
214
239
246
252
255
254
254
255
255
250
248
244
245
248
250
249
244
241
226
210
204
215
228
230
229
233
234
231
225
61
60
59
57
57
55
54
54
51
50
49
48
50
50
52
53
56
57
57
54
51
50
51
55
67
76
99
133
171
200
222
235
248
251
253
255
255
254
253
253
249
247
242
240
237
232
227
222
218
205
192
178
169
157
142
125
120
106
95
92
92
93
87
83
83
84
85
81
77
70
60
54
76
74
65
52
50
55
53
46
54
54
55
56
56
58
60
61
51
49
47
44
42
43
44
45
49
52
52
51
48
45
44
45
36
48
46
34
29
38
41
38
39
41
47
57
64
62
55
47
46
42
41
40
44
52
56
57
53
52
51
49
45
42
40
38
40
69
99
65
50
67
66
86
60
52
46
43
45
47
47
46
43
45
48
50
50
46
46
45
54
57
63
71
76
73
76
78
99
103
116
122
117
106
105
111
115
113
110
110
120
127
115
98
109
109
111
125
138
124
104
106
88
58
71
103
146
191
216
235
245
251
255
254
255
255
255
253
251
244
246
250
250
248
246
245
232
219
213
221
229
229
226
231
234
231
229
61
60
61
59
57
55
56
55
52
51
51
50
51
52
54
55
59
59
57
55
50
48
49
53
63
70
94
130
167
196
218
231
246
250
252
254
255
254
251
251
246
244
241
240
238
237
232
230
226
219
210
202
194
183
168
154
136
122
105
95
89
82
73
65
62
60
61
60
60
53
50
49
73
63
55
51
53
54
52
48
46
46
46
46
43
42
39
38
42
42
40
41
42
44
46
47
51
50
49
47
45
44
42
41
38
37
37
38
41
42
36
28
38
37
39
49
60
64
61
55
49
46
45
46
51
58
61
61
54
51
49
47
42
40
37
36
36
49
95
76
53
63
61
83
72
61
51
46
46
48
48
47
42
45
46
45
42
40
43
44
48
50
56
66
72
70
73
76
101
102
114
123
120
107
106
114
114
115
113
116
128
136
121
100
116
124
117
119
149
159
138
124
85
60
70
92
136
190
217
230
245
251
255
255
255
255
255
253
251
243
243
247
248
246
245
246
240
226
220
226
230
227
225
230
236
235
234
63
62
62
60
58
56
55
56
53
52
51
49
50
50
51
54
57
58
58
55
50
48
50
53
61
69
93
128
168
197
216
231
242
247
250
253
255
254
253
251
245
242
238
235
237
238
237
238
230
227
221
213
203
190
175
160
127
114
99
88
78
72
67
62
58
55
55
55
52
47
44
45
69
60
55
61
67
64
57
51
57
56
56
53
50
44
41
39
40
40
42
44
46
46
46
44
55
49
44
44
45
45
41
37
40
32
33
40
39
34
37
48
38
42
44
46
47
51
57
62
75
70
66
61
61
58
54
49
49
47
46
46
43
42
41
40
33
31
89
83
58
67
59
77
81
69
54
47
46
47
45
43
44
45
46
41
37
38
41
46
41
43
49
58
64
65
66
69
95
96
106
119
117
105
101
109
116
116
112
114
127
139
132
115
121
134
113
102
145
180
162
135
80
57
63
85
129
191
217
227
244
251
255
255
255
255
255
253
249
240
241
244
247
241
242
244
243
232
226
229
231
226
224
233
241
240
239
64
64
63
62
60
59
58
59
55
54
53
51
50
50
50
52
58
57
56
54
53
52
52
57
68
77
98
131
167
195
215
231
246
249
252
252
255
255
255
252
245
241
236
237
239
243
246
246
246
238
222
211
203
188
155
120
93
84
77
73
71
69
69
68
65
61
66
52
59
60
41
69
73
69
66
63
63
62
59
57
59
55
59
65
62
48
41
44
43
44
45
42
42
43
47
46
53
43
36
38
43
45
38
31
31
31
33
34
34
37
39
41
38
41
41
42
40
38
39
41
41
46
50
51
50
50
52
53
51
47
44
45
46
44
40
37
28
34
72
78
51
73
49
72
80
74
64
54
48
44
43
43
42
40
38
40
41
41
43
44
44
48
49
51
51
52
53
55
97
105
95
106
113
100
109
121
122
120
111
105
106
110
111
111
123
133
108
119
112
175
154
117
81
58
56
90
136
176
211
240
245
249
251
253
255
255
255
254
243
232
233
237
245
244
242
240
241
238
234
230
227
225
225
229
241
250
250
65
64
64
62
61
60
59
58
54
53
52
51
50
50
50
52
56
57
56
54
53
52
55
58
69
77
99
131
166
192
211
225
236
241
244
249
253
255
255
251
244
237
232
232
234
237
238
237
243
235
220
205
189
166
130
98
77
70
67
65
67
67
68
70
67
63
68
59
63
61
49
80
70
68
66
63
59
57
56
55
63
53
52
62
65
53
44
43
42
43
45
45
46
47
51
52
50
45
41
38
39
39
34
31
36
34
37
38
43
44
44
42
46
45
43
41
38
34
33
34
36
38
43
44
45
47
50
51
46
45
46
46
42
39
39
39
46
25
53
49
62
80
63
65
86
82
72
62
53
46
43
40
42
40
39
41
43
45
47
46
44
48
48
49
48
49
51
53
92
100
91
102
108
97
108
120
126
124
114
102
96
102
112
120
119
126
100
112
110
169
147
107
79
59
59
92
141
184
220
241
248
249
250
251
253
254
255
250
242
232
229
234
240
241
241
240
239
237
233
229
224
221
223
228
239
246
249
66
65
65
63
62
61
60
60
57
56
55
53
53
53
53
55
57
59
57
55
54
53
55
58
67
78
98
129
161
185
203
214
222
227
233
238
244
247
248
244
239
232
227
224
224
225
227
226
221
214
204
189
169
145
111
81
76
68
65
63
65
67
68
70
67
61
65
64
63
56
54
87
67
66
63
60
56
54
54
54
65
49
43
53
62
58
47
41
41
41
44
46
48
49
53
57
42
42
42
42
42
41
42
44
33
31
33
34
41
41
40
37
59
56
51
46
41
36
34
35
37
36
38
39
42
45
47
47
41
43
45
44
38
37
38
42
47
32
69
48
59
63
73
85
84
81
77
67
59
50
43
38
38
37
38
39
42
45
44
44
44
47
46
47
46
48
52
55
81
93
89
103
109
96
103
113
94
107
113
109
103
105
113
119
117
117
93
104
109
161
138
96
72
61
65
93
146
194
230
241
247
248
248
251
253
253
251
246
237
226
221
224
229
231
234
236
233
234
230
224
216
213
217
223
239
244
249
66
66
65
64
63
63
62
62
59
58
57
56
56
56
56
58
59
60
59
57
55
54
56
59
66
75
96
126
155
178
194
206
210
214
219
227
232
236
237
235
232
223
218
213
213
214
214
210
189
182
175
162
143
120
97
75
74
67
65
65
67
69
70
70
70
62
64
68
60
49
58
89
66
67
64
61
57
55
56
56
59
46
40
47
55
54
47
40
41
41
46
47
48
49
55
56
43
42
44
44
45
46
46
47
40
41
43
44
46
48
54
53
64
60
55
49
42
37
38
37
40
39
37
37
40
44
44
42
42
44
43
41
39
37
40
42
40
44
80
60
47
44
64
88
115
111
103
89
71
55
40
32
39
40
38
41
44
45
44
45
46
46
47
45
45
46
51
55
65
87
91
108
114
97
97
100
84
101
114
111
108
112
118
118
115
110
88
98
107
150
131
89
67
63
69
95
148
202
232
240
239
242
245
249
250
248
243
235
222
210
204
206
210
213
219
225
225
227
227
219
209
205
209
217
234
240
243
66
66
65
65
64
63
63
63
61
60
59
59
58
59
59
61
60
61
60
58
56
55
57
60
65
73
93
120
147
165
183
194
195
200
207
212
220
224
223
222
220
214
206
199
197
195
193
184
159
150
143
134
118
101
85
75
71
67
65
65
67
71
72
72
73
64
63
69
56
44
60
80
67
67
64
63
61
60
59
60
50
42
41
42
45
45
43
41
42
42
47
47
47
47
51
53
53
50
48
49
50
48
43
39
39
45
48
46
45
48
59
64
59
54
49
44
38
34
35
37
41
38
38
39
44
48
47
45
49
45
39
37
39
41
41
40
45
42
50
58
45
58
52
54
51
54
62
67
73
72
72
71
48
46
44
45
45
46
47
48
46
46
46
44
44
46
51
54
65
88
93
108
114
99
101
103
118
122
118
104
102
113
123
124
115
106
87
93
104
141
131
93
73
73
80
102
150
204
233
237
237
240
242
243
241
234
224
215
200
189
186
188
192
196
204
211
216
222
223
217
210
205
207
214
222
224
226
65
65
65
64
64
63
63
63
62
62
61
60
60
61
61
62
62
62
62
59
57
55
57
59
63
71
87
110
131
150
165
177
180
185
193
200
207
212
213
211
211
202
192
184
178
173
171
156
140
123
120
113
102
87
78
72
69
66
66
66
69
71
73
74
72
67
62
68
52
44
64
70
65
61
59
59
61
63
60
58
42
40
42
40
39
38
40
40
41
44
46
46
46
46
47
48
50
47
48
50
55
55
53
49
42
47
50
50
49
52
61
68
54
50
47
44
41
39
40
40
36
36
40
44
50
53
53
54
56
49
40
38
41
42
42
38
43
41
39
60
47
65
50
44
47
46
49
48
46
42
38
35
53
50
46
42
41
43
44
44
47
48
47
46
43
44
47
50
71
94
95
105
111
104
113
120
123
126
117
107
110
122
126
117
112
102
89
91
102
131
134
107
93
90
96
114
152
194
222
229
239
238
238
234
227
217
205
193
173
167
168
171
175
178
186
193
204
212
218
216
212
209
207
211
211
211
210
62
62
62
62
61
61
61
61
60
60
59
59
59
60
60
63
63
62
61
60
58
58
58
60
63
69
82
98
115
129
144
157
164
169
178
188
198
203
204
202
200
191
181
173
167
164
160
142
117
97
96
98
90
79
71
69
64
62
64
66
69
71
73
74
68
68
61
66
47
44
70
60
56
52
48
49
56
59
57
53
40
40
42
39
37
38
39
38
38
41
44
43
43
43
43
45
43
45
51
52
55
55
56
56
59
60
62
65
68
70
72
69
53
50
50
47
45
42
43
44
38
42
47
50
52
52
53
54
60
55
49
44
41
39
42
41
39
47
56
62
47
46
54
54
45
46
48
49
49
48
48
47
63
58
49
42
41
40
42
42
45
47
48
47
43
43
46
48
65
90
94
105
115
110
122
127
112
121
121
115
118
127
125
111
110
98
91
89
97
123
137
122
107
102
104
117
142
173
196
209
220
215
207
199
191
182
174
164
149
144
148
154
158
162
168
177
187
196
206
213
214
210
205
202
201
198
193
62
61
61
61
61
61
60
60
61
60
60
59
59
60
61
63
62
62
62
60
60
58
58
60
65
68
76
90
102
113
127
141
150
156
167
181
191
197
200
199
191
183
173
167
165
162
160
141
93
75
75
82
82
73
67
64
61
59
63
65
66
70
72
73
65
68
60
63
46
47
75
53
51
44
38
42
51
57
54
47
42
41
41
39
40
41
39
37
36
37
41
42
42
42
41
42
51
56
60
58
50
45
45
49
51
48
49
54
63
65
57
47
48
46
49
47
44
43
41
42
43
48
54
55
52
49
48
50
61
60
55
47
40
37
41
45
42
45
60
50
49
32
57
51
40
41
41
41
43
42
43
43
78
70
59
50
47
46
49
49
45
47
48
46
44
42
44
45
50
81
93
112
121
114
124
125
131
137
128
113
112
124
127
116
106
97
94
87
94
116
139
132
110
103
104
113
130
150
173
189
185
178
167
158
151
144
140
134
130
127
133
140
144
146
154
162
170
181
196
205
210
207
201
195
189
184
180
61
61
61
61
61
61
61
61
59
59
59
60
60
61
61
61
63
63
61
61
61
60
60
62
61
67
72
79
88
98
105
114
129
142
155
167
179
193
201
199
192
188
178
168
167
171
163
132
82
60
64
67
67
62
62
69
60
58
61
64
67
72
73
72
62
57
54
51
47
48
56
68
49
54
46
46
59
51
39
44
37
39
41
40
37
38
39
40
39
40
40
36
34
37
46
53
51
49
46
43
41
40
40
40
42
41
46
55
62
59
54
49
54
43
42
45
45
39
40
47
50
52
54
53
50
47
44
44
50
49
49
75
26
35
62
38
40
55
64
55
42
42
49
55
52
46
41
38
42
46
48
46
88
79
58
44
47
45
39
42
37
38
38
37
39
42
46
49
48
59
87
112
118
124
131
124
132
128
123
122
124
124
120
115
110
92
92
91
86
107
128
122
109
102
99
106
119
129
131
132
127
124
118
113
111
114
118
117
119
121
127
132
134
135
140
144
147
154
167
185
199
202
196
188
183
174
168
61
61
61
61
61
61
61
61
59
59
59
60
60
61
61
61
63
61
61
61
59
60
60
62
64
67
70
74
81
88
94
102
116
131
145
157
172
188
196
196
193
186
171
162
164
168
158
125
69
46
46
53
59
58
58
61
61
60
62
65
69
70
70
67
55
52
49
47
44
43
53
65
64
61
51
49
57
56
43
35
39
40
42
42
40
40
40
40
40
38
37
37
42
46
48
49
39
38
38
39
40
42
44
47
45
43
46
55
59
55
51
48
47
56
59
48
43
47
49
45
62
61
58
54
52
51
53
55
45
53
50
63
63
43
46
30
49
58
64
56
45
44
48
49
46
42
39
40
43
48
50
47
89
78
56
43
49
48
44
47
43
42
42
41
41
40
40
41
48
57
84
106
116
124
132
128
132
128
125
125
125
123
118
113
110
93
92
92
89
104
119
111
98
92
93
99
107
112
112
109
93
93
92
94
95
101
105
107
116
118
124
125
127
130
134
137
134
139
151
168
183
191
188
186
181
172
163
60
60
60
60
60
60
60
60
58
58
58
59
59
60
60
60
61
61
61
61
59
60
60
60
65
65
68
70
75
78
83
90
103
118
133
145
164
181
190
189
193
183
169
158
162
165
152
118
70
49
45
50
56
59
58
57
62
62
63
66
69
69
66
63
52
48
43
42
40
42
51
60
62
54
52
55
61
69
60
35
40
39
41
43
44
43
41
41
41
35
35
42
51
54
49
43
39
38
37
37
37
38
40
41
45
43
47
54
58
55
51
51
55
58
64
64
66
67
62
55
60
59
57
55
51
49
49
50
44
57
52
57
106
65
45
44
55
60
59
54
46
45
43
42
39
37
39
41
46
49
49
49
89
77
51
40
51
54
51
54
56
55
54
50
49
46
42
41
47
54
77
101
114
126
136
131
131
129
127
127
127
124
117
111
109
94
90
92
90
97
101
90
81
79
82
88
93
94
92
88
77
80
85
89
96
103
106
109
114
116
120
121
121
122
126
129
127
128
134
146
162
174
178
180
173
165
155
59
59
59
59
59
59
59
59
58
58
58
59
59
60
60
60
61
61
60
61
59
60
60
60
64
64
66
67
69
70
73
79
95
109
123
137
156
173
183
179
186
180
170
161
159
156
140
108
82
66
63
61
60
59
59
60
65
65
68
69
72
68
64
59
54
49
43
42
41
42
48
58
55
49
57
63
63
76
74
43
41
36
37
41
44
44
42
41
38
38
41
47
55
54
46
38
41
41
42
40
41
41
41
43
44
44
49
57
60
59
61
65
74
54
58
89
105
90
73
72
56
56
57
58
55
49
42
37
45
50
47
64
112
83
59
68
58
57
53
48
45
42
38
35
35
36
38
44
47
45
47
50
81
71
48
41
55
58
53
53
57
57
57
56
53
50
46
45
44
49
72
95
111
127
136
133
127
127
127
128
128
123
116
110
104
92
86
90
92
90
82
71
66
67
73
80
86
88
88
87
90
92
98
104
108
111
113
112
113
116
117
118
118
118
119
122
124
123
124
133
150
164
175
181
175
165
153
59
59
59
59
59
59
59
59
58
58
58
59
59
60
60
60
60
60
60
61
59
60
60
60
60
62
62
63
65
66
69
74
89
100
113
125
145
162
168
164
167
171
169
158
148
137
119
95
84
78
78
72
62
60
62
62
66
67
71
74
73
70
63
57
55
47
43
42
41
42
46
54
65
59
66
65
54
66
76
62
50
40
35
40
45
42
41
43
37
41
47
52
53
48
43
39
43
44
48
48
53
54
56
58
53
54
61
67
70
71
78
82
77
63
75
105
118
100
83
82
68
65
62
60
57
51
42
36
42
40
50
84
90
86
63
70
64
55
48
45
45
43
39
35
35
36
40
45
44
41
46
53
71
65
48
45
57
58
49
49
48
49
50
51
50
47
46
46
42
43
66
89
108
128
137
131
124
126
127
129
129
124
117
112
101
93
86
90
93
82
66
60
63
67
75
81
86
90
95
97
101
104
109
113
114
114
112
111
114
116
116
116
116
114
116
119
123
120
120
130
149
167
181
193
191
182
168
58
58
58
58
58
58
58
58
58
58
58
59
59
60
60
60
60
60
60
61
59
60
60
60
59
59
60
63
63
64
65
70
80
93
101
115
133
151
157
151
150
159
161
150
133
117
100
80
72
78
81
74
64
60
63
66
70
70
71
72
73
69
62
54
53
45
40
40
41
42
45
51
69
63
62
56
47
58
80
91
67
51
37
39
43
43
43
44
38
45
52
52
48
44
43
45
56
59
61
60
61
61
60
62
65
66
75
78
78
79
88
95
72
91
108
107
99
95
88
74
81
71
58
50
45
45
43
42
47
40
66
99
71
75
57
57
74
60
48
45
47
43
41
40
38
37
41
45
41
39
47
59
65
61
50
46
55
54
46
45
45
44
47
49
49
49
49
50
41
41
58
82
104
125
137
132
125
127
128
128
127
121
115
111
99
96
88
91
95
78
58
56
69
73
83
89
93
96
103
108
108
109
111
112
111
110
108
108
113
113
114
114
111
112
114
116
118
116
119
132
153
175
190
204
202
192
175
56
56
56
56
56
56
56
56
56
56
56
57
57
58
58
58
60
60
60
61
59
60
60
60
58
59
59
62
62
62
60
65
77
87
95
109
128
146
152
145
142
148
148
135
121
108
91
75
66
75
79
73
67
66
67
66
69
69
70
70
70
66
60
53
51
43
39
41
42
44
49
55
58
57
51
50
50
52
69
97
91
67
47
45
46
42
43
47
44
47
51
50
47
44
47
53
66
68
69
65
63
60
56
55
65
69
77
80
80
84
96
104
87
108
116
100
89
90
84
66
82
67
49
40
36
38
38
39
46
44
77
81
62
62
51
55
81
64
49
45
44
40
40
41
39
38
38
42
40
40
52
70
65
64
54
48
51
49
43
45
47
45
47
47
47
49
49
50
46
40
50
72
94
122
138
135
129
130
132
130
124
117
111
108
96
97
87
89
93
71
49
54
68
78
91
99
104
106
110
115
116
116
114
112
110
109
108
108
110
110
111
111
108
107
110
114
116
116
119
133
154
175
189
204
201
189
171
56
56
56
56
56
56
56
56
56
56
56
57
57
58
58
58
60
60
60
61
61
60
60
60
62
61
63
63
63
62
59
63
75
84
92
107
127
148
156
151
148
149
144
133
122
111
91
76
69
78
81
76
74
73
70
64
68
67
67
65
65
61
56
52
49
43
40
44
46
49
55
61
52
53
46
48
54
39
41
71
106
80
55
48
48
42
43
48
48
50
51
50
49
50
54
60
53
56
56
56
55
53
52
53
50
57
66
71
74
77
92
104
115
106
98
93
93
89
76
59
70
59
46
40
39
40
38
37
39
43
74
50
56
49
47
64
83
65
49
42
40
37
36
40
40
38
37
42
38
37
53
74
65
66
54
46
49
47
43
50
47
46
45
43
42
42
44
44
49
40
46
66
88
119
139
138
133
133
134
130
122
114
108
105
92
94
85
86
90
67
45
53
63
74
92
103
108
110
114
118
122
119
114
109
105
103
103
105
107
109
109
108
104
105
106
111
115
114
120
132
152
169
181
194
196
183
164
55
55
55
55
55
55
55
55
56
56
56
56
56
56
56
58
60
61
62
60
60
61
63
65
66
63
64
65
66
66
65
66
76
80
91
108
134
156
170
173
166
166
159
144
128
115
102
96
87
79
74
76
79
75
69
70
66
63
61
58
57
54
48
44
38
48
44
40
53
61
53
50
53
49
46
45
42
42
39
37
48
76
79
57
42
46
51
45
42
66
47
59
62
56
77
51
50
50
50
39
42
47
47
38
41
55
46
55
64
57
112
66
108
105
99
92
87
77
64
52
55
55
49
38
33
35
39
41
45
47
63
55
49
52
52
67
72
69
59
48
41
40
41
42
47
44
35
30
36
47
59
63
70
61
48
42
44
49
51
52
49
49
49
46
46
45
45
47
48
37
49
51
89
113
143
134
140
141
135
123
116
115
110
101
99
89
91
89
105
59
45
54
66
77
93
99
103
106
110
111
110
109
108
105
104
102
101
102
108
109
108
107
103
102
103
105
109
114
118
124
137
153
164
174
173
158
141
55
55
55
55
55
55
55
55
56
56
56
56
56
56
56
58
59
62
63
62
61
61
63
66
67
65
66
66
68
70
72
73
78
84
97
116
142
166
183
187
199
182
160
142
133
125
111
100
99
90
82
83
86
80
74
69
63
60
58
56
55
52
47
44
43
45
40
44
54
52
49
55
48
45
42
40
38
38
37
39
46
59
68
60
47
40
41
46
51
69
49
60
65
60
77
50
44
40
44
44
43
40
40
44
39
40
44
68
38
65
80
51
117
106
97
93
83
67
56
54
44
53
54
44
31
26
25
27
37
54
80
71
52
53
61
85
66
63
57
47
41
44
47
48
51
49
46
45
46
51
57
61
64
56
45
42
44
49
51
51
50
50
49
48
46
45
45
45
49
36
47
50
87
115
144
136
140
138
132
121
116
114
110
103
97
90
95
96
92
55
46
57
67
75
89
95
98
102
105
106
105
105
104
101
100
100
99
101
106
108
108
105
101
99
99
99
104
107
112
115
124
132
135
139
126
111
95
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
58
62
64
64
63
62
63
67
69
71
71
73
77
79
84
86
88
96
112
134
161
185
201
206
210
196
178
159
147
138
122
109
105
92
81
79
82
81
75
69
61
58
57
55
55
52
48
45
45
43
44
54
63
50
41
50
47
46
44
44
40
38
38
42
45
46
57
67
58
37
35
50
53
68
50
59
63
61
80
59
48
38
39
51
47
39
37
50
41
57
48
48
60
93
73
101
102
92
84
82
73
59
52
57
44
50
53
49
45
41
35
32
30
42
67
58
44
53
66
93
58
59
57
51
47
52
56
59
60
59
59
63
62
58
61
68
57
52
44
43
45
49
50
50
50
50
49
48
46
45
45
45
50
37
43
48
84
119
146
138
137
137
129
120
114
111
107
102
95
92
98
103
72
51
50
60
69
78
90
94
95
99
103
103
102
102
99
98
98
97
98
99
102
104
104
101
97
96
96
96
106
110
115
116
119
117
110
108
87
76
62
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
56
58
60
62
63
62
67
69
72
79
84
89
95
99
102
104
108
116
134
155
181
200
214
220
212
208
194
167
144
130
124
123
116
103
92
84
80
77
71
66
59
56
55
55
54
52
49
46
42
45
48
58
71
63
46
41
49
49
48
49
45
39
38
43
45
43
52
66
61
44
42
54
45
58
48
53
58
62
86
79
69
56
38
49
44
50
42
46
57
28
54
49
63
76
98
85
67
68
70
65
61
57
56
55
51
49
50
58
72
83
78
64
50
53
73
76
82
90
81
86
49
54
57
55
53
57
60
59
64
61
61
67
63
56
61
74
51
48
43
44
46
48
49
49
50
50
49
48
46
45
45
45
51
39
40
46
79
121
146
139
137
135
126
118
111
106
102
98
92
94
100
104
53
48
56
67
75
80
89
92
94
98
101
102
100
97
97
96
96
96
97
99
102
103
102
98
96
93
93
95
103
110
116
115
117
113
105
100
84
75
64
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
57
53
53
57
59
62
64
70
75
81
92
104
115
121
123
125
127
129
138
153
172
193
208
220
225
224
214
190
159
130
115
111
107
109
108
105
96
87
77
66
61
59
56
56
55
55
53
48
47
41
51
48
49
72
81
67
48
48
45
47
51
49
42
39
42
44
48
53
57
57
51
50
50
38
50
47
48
50
59
84
94
95
83
49
51
45
69
54
44
45
63
52
54
104
66
49
52
42
61
69
58
55
61
59
48
51
59
70
83
99
108
107
97
62
64
91
103
112
106
75
59
48
55
60
59
53
52
49
49
59
55
54
56
52
51
60
75
47
46
43
44
46
48
47
49
50
50
49
48
46
45
45
45
51
42
37
45
71
121
145
140
137
132
124
116
109
102
96
93
92
97
101
97
43
48
62
73
77
83
92
95
95
99
99
98
96
96
95
95
95
96
97
98
100
101
100
96
94
90
92
94
97
103
109
112
115
114
110
106
100
94
84
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
58
52
52
56
58
62
69
77
84
97
112
129
140
145
147
147
148
149
157
170
183
196
207
216
218
218
201
180
162
145
123
93
64
66
73
82
85
82
77
67
58
60
59
57
56
56
54
48
47
44
54
43
36
63
92
90
73
50
41
41
48
48
44
41
45
42
49
50
47
48
53
51
43
39
45
49
46
45
53
71
87
98
97
60
60
44
75
57
47
53
40
41
89
65
61
58
35
43
62
69
57
50
55
53
46
55
78
101
110
108
105
108
107
76
74
90
84
77
70
50
47
60
68
72
67
56
51
46
45
58
58
55
52
52
58
67
74
46
44
44
44
45
47
47
47
50
50
49
48
46
45
45
45
49
45
36
44
61
118
141
141
135
129
120
114
107
98
92
90
92
99
96
77
43
48
64
73
78
82
91
95
96
100
99
96
93
92
92
93
94
95
97
98
98
98
98
95
91
89
89
90
95
101
107
109
115
117
115
114
112
109
102
61
61
61
61
61
61
61
61
60
60
60
60
60
60
60
58
54
54
57
60
65
75
86
97
118
134
151
161
165
163
165
167
171
178
184
191
196
200
206
205
198
187
179
176
169
148
109
76
50
52
52
57
68
78
75
67
63
61
59
58
56
53
49
48
48
54
44
39
63
86
91
87
66
50
41
44
48
44
43
48
44
47
47
46
49
52
48
37
41
42
47
46
46
51
55
67
82
94
75
87
55
74
60
69
56
46
51
73
59
58
37
61
59
62
65
60
54
50
59
68
83
101
115
115
106
103
104
102
100
86
84
61
48
52
51
64
69
75
76
65
55
51
49
51
55
62
61
55
58
69
72
66
47
45
45
44
45
44
47
48
50
50
49
48
46
45
45
45
47
48
37
44
53
113
138
141
132
124
116
112
106
97
93
94
95
102
91
54
48
49
64
69
77
82
91
94
97
100
97
93
89
87
88
88
92
93
95
96
95
94
94
92
89
87
86
88
95
100
104
108
111
113
109
106
104
101
96
61
61
61
61
61
61
61
61
60
60
60
60
60
60
60
58
57
57
60
64
71
82
97
109
138
152
168
176
176
175
176
181
190
195
196
196
193
191
190
188
187
180
175
169
166
162
150
136
84
71
53
48
63
81
86
79
67
63
61
59
58
53
49
48
48
53
51
53
69
77
79
88
85
62
45
46
49
45
44
48
48
45
46
51
55
52
45
37
43
37
45
45
50
53
47
52
70
93
92
117
74
77
67
96
115
64
128
112
84
63
50
62
75
62
63
70
66
56
74
103
119
114
110
103
107
111
110
101
93
73
71
52
48
52
46
53
63
68
65
56
47
47
49
54
47
60
61
54
58
69
65
52
46
46
45
44
42
44
47
49
49
50
49
48
46
45
45
45
46
50
37
44
49
111
136
142
128
120
113
111
106
97
95
96
98
103
87
39
51
47
60
63
76
81
91
95
98
100
95
90
85
85
85
86
90
92
93
93
91
91
91
88
87
85
84
88
90
95
99
100
102
102
93
88
81
82
76
60
62
64
64
63
63
63
65
66
63
61
61
65
67
66
62
63
62
64
73
80
90
112
137
154
165
177
185
186
183
180
182
198
202
202
198
195
190
187
180
181
176
172
165
163
161
156
152
136
103
70
103
101
63
78
99
76
65
57
58
57
53
49
54
49
46
59
51
63
75
65
86
84
73
57
47
45
47
47
47
45
44
48
52
48
41
40
44
36
38
41
45
48
48
49
52
57
78
93
83
61
60
96
132
128
113
107
109
107
97
92
96
90
75
66
65
62
57
62
72
95
105
114
112
109
110
111
103
83
64
53
49
49
46
49
52
61
58
55
52
48
49
51
54
60
59
59
60
59
57
51
47
44
46
46
43
43
44
44
48
50
51
50
49
47
46
46
46
53
44
44
38
55
87
154
131
128
124
114
104
101
101
100
96
108
100
63
32
38
46
53
67
69
77
90
98
96
92
89
89
83
82
83
84
88
90
93
91
88
87
88
87
87
85
84
83
91
93
94
91
85
77
67
62
46
47
46
59
62
64
64
64
63
64
65
66
64
63
64
66
67
66
64
71
70
71
83
97
111
131
150
162
174
184
185
181
180
182
190
206
211
209
206
199
193
186
177
172
167
167
164
164
163
158
154
154
128
100
119
109
74
91
112
91
76
64
62
64
59
54
52
56
51
56
46
51
64
59
77
96
81
58
41
38
45
45
41
49
53
55
51
46
41
42
42
46
43
43
43
44
44
46
50
55
64
76
91
98
100
101
105
87
82
86
100
111
107
95
84
58
53
54
57
53
45
54
67
90
100
108
109
110
109
104
90
69
55
52
51
53
48
47
50
57
55
52
51
49
50
53
54
59
58
58
57
57
53
49
44
44
45
44
44
43
44
44
48
50
51
50
49
47
46
46
46
51
50
46
42
52
91
147
125
122
118
111
105
102
98
99
99
104
86
56
35
35
40
47
56
65
74
88
95
93
88
86
84
79
80
81
82
86
88
91
89
88
87
87
87
84
81
82
81
80
78
76
70
63
54
47
43
45
45
45
60
62
65
65
65
65
66
67
68
67
66
67
68
68
67
67
77
77
82
98
116
132
149
164
172
182
187
181
176
175
184
196
213
217
217
216
209
202
193
184
173
169
167
166
167
165
160
154
144
129
107
112
96
71
85
105
117
95
76
68
68
64
58
54
58
54
58
48
44
51
47
56
92
91
77
54
40
43
45
44
50
62
67
54
41
39
39
37
42
41
41
41
44
47
52
57
40
51
67
88
98
97
91
91
80
81
87
101
116
115
93
66
53
52
60
62
57
52
69
87
83
87
95
102
107
105
89
73
55
49
53
56
59
53
49
48
51
50
48
48
49
51
54
56
57
57
55
56
56
52
48
43
45
45
44
44
41
41
44
48
50
51
50
49
47
46
46
46
48
57
48
46
46
98
136
119
120
115
109
108
102
93
95
102
103
74
52
44
39
40
47
48
60
69
81
91
90
85
82
79
77
75
76
80
84
85
88
87
89
87
85
84
82
77
77
76
71
69
65
59
51
45
42
39
48
49
50
58
61
63
65
64
65
66
68
67
67
67
68
68
67
66
68
77
86
99
115
134
149
163
173
180
183
180
175
172
177
190
202
221
225
225
225
217
208
198
189
179
175
174
171
170
167
158
150
139
132
118
113
99
87
96
109
137
116
93
78
71
68
63
60
56
56
63
59
48
47
41
35
59
82
92
69
44
39
43
45
50
75
88
70
48
42
43
40
38
37
37
37
41
44
48
52
39
44
54
66
72
73
78
86
93
98
97
100
111
115
94
61
55
52
54
52
50
52
73
95
73
73
76
86
96
93
77
56
51
51
56
62
63
59
53
50
50
49
48
48
49
51
54
55
55
57
55
56
54
52
46
43
44
45
44
44
41
41
43
47
50
51
50
49
47
46
46
46
47
60
49
46
44
106
128
116
121
113
107
106
99
89
94
104
101
66
55
59
49
45
51
45
54
62
76
85
88
82
80
75
73
74
75
77
80
84
87
86
88
85
83
80
77
74
72
71
68
65
61
56
54
54
55
56
56
56
58
56
58
62
63
64
64
66
68
66
67
68
68
67
66
66
73
82
104
123
137
151
161
171
180
183
179
173
171
176
187
198
206
223
224
228
228
225
217
209
202
194
191
188
182
181
175
163
151
140
128
121
113
107
105
101
105
132
126
114
100
89
78
69
64
55
55
61
63
51
51
53
35
34
59
75
64
47
42
42
42
50
85
104
88
62
51
50
48
45
44
43
41
39
36
36
35
44
39
41
53
65
71
71
72
80
91
97
97
104
109
95
68
60
55
56
56
61
67
83
95
63
59
59
68
79
77
65
51
49
53
56
57
57
55
51
48
50
49
48
48
50
51
52
53
56
56
56
57
55
53
47
44
45
46
45
42
41
41
41
45
50
51
50
49
47
46
46
46
47
58
48
45
51
112
122
116
116
109
102
100
99
94
100
109
91
62
61
70
59
52
54
46
51
56
70
78
83
82
77
74
72
72
73
76
79
83
86
85
86
85
82
76
75
72
70
70
66
63
59
56
58
61
64
67
63
61
63
53
56
59
61
62
63
65
67
67
68
68
68
67
67
69
80
99
124
144
154
161
169
176
180
179
176
171
174
185
199
209
209
220
221
226
228
227
224
219
214
209
204
198
192
190
184
168
153
134
116
113
101
101
103
91
91
109
117
123
121
112
99
84
71
63
58
54
59
49
58
74
50
41
44
46
47
49
53
49
45
47
77
93
83
63
52
49
48
51
50
50
49
47
44
43
41
24
34
50
62
64
58
59
64
67
83
95
98
102
104
89
67
62
59
67
74
84
89
93
94
58
53
51
58
65
63
56
50
50
53
54
50
48
48
48
46
52
52
51
50
51
51
51
51
56
56
56
57
55
53
47
44
45
44
43
42
40
40
40
44
50
51
50
49
47
46
46
46
49
51
49
45
67
117
117
113
105
102
97
94
98
100
105
105
70
58
60
67
62
55
52
46
46
50
62
72
77
79
75
71
70
71
72
74
78
82
85
85
85
81
78
75
72
69
70
71
69
68
65
63
64
66
71
71
66
64
64
50
53
57
59
60
62
64
66
69
70
70
69
67
69
74
89
119
142
153
160
166
173
175
175
172
174
176
182
192
205
216
214
210
210
217
222
223
224
223
221
217
212
204
196
193
186
170
153
139
113
111
101
101
106
89
95
84
96
110
118
119
115
102
87
78
66
54
61
52
61
82
48
48
43
40
46
51
51
49
51
54
62
67
64
55
49
47
47
51
51
51
51
53
53
56
54
24
37
56
61
53
43
48
62
74
85
97
101
100
97
82
64
47
47
57
64
72
74
73
70
59
54
54
60
57
52
50
52
48
53
52
46
42
44
46
44
53
52
52
51
53
53
53
53
55
55
55
56
54
52
46
43
46
45
43
42
38
38
40
44
50
51
50
49
47
46
46
46
51
43
53
48
88
120
110
105
96
102
98
93
98
104
101
89
47
55
58
59
62
56
48
48
44
46
54
64
71
74
73
70
68
66
69
72
76
79
82
83
82
80
78
74
72
70
72
72
72
72
71
70
72
75
79
78
66
64
64
51
54
57
60
61
63
63
65
70
71
72
70
73
77
85
102
137
154
158
159
164
173
175
169
169
175
184
191
200
211
221
222
211
209
216
221
223
223
223
222
217
213
203
196
193
185
170
150
132
103
102
90
88
95
80
93
70
77
88
99
114
122
119
106
92
79
66
73
61
64
79
34
39
39
46
54
45
34
39
55
63
55
46
48
53
53
52
52
52
50
46
43
41
43
44
45
62
50
41
45
50
53
52
51
78
81
85
89
93
88
79
64
43
43
47
50
52
54
56
54
62
59
63
66
62
53
51
57
51
55
57
47
43
46
49
47
52
52
52
52
54
54
54
54
54
53
53
52
53
49
45
40
44
43
43
40
38
36
38
42
48
50
50
47
47
44
44
46
52
38
57
53
103
121
105
99
93
104
101
93
97
104
93
70
35
56
58
54
63
57
45
49
39
40
49
58
69
73
74
72
67
66
67
69
72
77
80
81
80
77
74
73
71
70
72
73
71
70
71
73
75
77
78
78
67
63
66
54
56
59
62
62
62
62
63
62
63
66
71
82
95
110
126
147
160
168
169
166
163
162
164
173
181
192
204
214
223
231
232
223
218
219
220
220
219
216
213
210
207
201
198
193
184
171
155
124
108
96
90
85
80
78
79
73
80
80
83
100
114
124
134
113
115
93
76
65
84
49
42
42
40
39
38
40
43
46
49
46
50
52
48
40
39
47
53
48
48
46
43
41
42
44
47
46
52
58
60
59
52
44
38
55
66
76
83
86
82
73
58
42
40
44
46
47
50
51
54
62
63
63
63
63
63
60
60
55
56
59
57
54
53
54
58
52
51
52
53
53
53
51
52
53
54
52
52
51
47
44
41
44
42
40
38
38
37
37
38
45
47
48
46
44
43
42
44
48
46
53
64
117
113
106
99
105
90
94
103
99
107
87
35
32
39
52
60
57
49
47
47
38
37
46
56
68
75
78
74
70
66
64
66
70
74
80
81
76
72
71
72
74
73
72
71
74
73
71
71
74
72
71
67
60
61
66
52
54
60
63
63
62
62
61
59
60
65
73
88
105
121
134
149
158
162
162
159
159
161
164
176
186
197
207
217
224
230
229
221
217
218
219
218
217
214
211
210
205
200
198
192
183
170
154
123
105
94
89
83
77
74
75
75
82
82
82
97
106
111
119
133
133
115
100
83
85
44
37
41
38
37
38
39
42
45
47
44
44
44
44
43
43
43
44
49
48
46
44
42
40
38
38
42
48
53
56
57
55
52
49
45
54
64
71
73
70
59
42
37
36
41
44
47
51
55
58
64
65
65
65
64
60
61
58
57
56
58
59
57
58
58
60
52
53
52
53
53
53
51
50
53
54
52
52
49
47
44
41
42
42
40
38
38
37
37
37
43
43
44
42
42
40
41
42
49
43
51
88
114
111
98
104
99
95
91
97
109
98
64
37
39
40
44
49
48
45
46
44
29
39
60
74
82
81
79
76
70
65
64
64
68
72
77
78
75
71
72
70
74
73
74
72
75
73
72
70
71
71
69
65
62
63
66
46
49
55
58
59
60
61
60
60
60
66
77
93
108
123
137
148
153
152
149
148
152
160
166
181
191
202
210
216
220
224
221
215
211
211
211
212
211
208
206
205
199
194
191
186
175
162
145
119
102
91
86
82
75
72
72
81
89
89
87
98
105
107
113
132
134
129
121
104
88
43
38
41
39
38
37
38
40
43
44
45
41
39
42
47
47
40
34
46
45
44
44
43
41
38
36
41
44
46
48
51
54
55
56
49
54
59
60
62
61
54
43
37
38
44
47
51
53
57
60
59
61
61
59
58
55
55
54
55
53
55
59
60
62
60
59
52
53
52
53
53
53
51
50
54
55
53
53
49
47
44
40
41
41
39
37
37
36
36
37
39
41
42
40
40
40
41
43
50
42
54
112
108
104
91
108
92
100
90
98
113
82
41
42
43
39
38
41
42
40
41
38
29
52
84
100
96
83
76
71
67
63
64
64
69
74
77
78
77
72
72
71
75
75
76
74
75
74
70
71
72
71
70
66
68
69
72
42
45
52
55
58
59
60
60
60
61
68
79
98
114
128
140
149
148
143
139
142
152
162
173
187
195
206
213
217
219
220
217
212
209
209
210
211
210
209
206
202
196
191
187
180
169
154
137
112
96
89
84
81
73
70
69
76
89
91
92
103
107
108
115
118
115
126
129
123
97
50
41
40
39
38
37
38
39
41
42
46
42
39
41
46
46
40
33
41
41
40
41
43
43
42
41
45
47
48
47
49
49
51
51
60
59
57
51
52
55
56
49
39
41
46
49
53
54
55
58
57
59
59
60
60
58
58
58
54
54
55
59
62
63
59
56
52
53
52
53
53
53
51
52
55
55
54
53
50
47
44
42
42
40
40
38
38
36
36
36
37
40
39
40
40
40
41
43
49
46
74
119
104
94
95
102
91
97
99
108
101
61
33
46
39
39
44
46
43
36
36
36
48
77
114
124
109
87
74
69
67
64
65
67
74
76
79
79
78
73
73
72
76
76
78
77
76
74
71
72
72
73
71
68
72
73
76
39
43
49
54
57
58
61
61
61
62
68
81
101
117
129
138
144
143
136
134
141
154
170
180
193
201
208
214
217
216
217
214
209
206
209
210
210
211
211
207
205
199
192
185
175
162
146
129
104
90
84
82
79
72
68
66
68
82
87
89
100
106
108
113
110
104
118
123
126
96
50
40
40
39
39
39
39
39
40
41
47
46
44
43
43
42
41
40
43
43
44
43
42
42
44
45
48
48
50
47
48
44
45
42
55
53
52
46
48
49
50
44
37
41
48
53
56
57
59
60
63
63
64
64
65
63
63
64
56
55
55
58
61
61
56
52
52
53
54
55
53
53
53
52
56
56
54
54
50
47
44
42
42
40
40
38
38
38
38
38
37
38
39
40
40
42
44
46
47
56
100
111
103
89
104
95
95
88
108
113
79
46
45
48
41
43
47
43
34
30
40
53
83
108
139
141
119
91
75
70
68
66
68
71
78
80
83
83
78
73
73
71
76
76
79
78
74
73
72
73
73
72
71
68
73
75
78
37
42
48
51
55
58
59
60
60
61
68
82
102
117
127
134
137
138
133
135
147
163
179
190
202
209
214
216
217
215
213
212
205
204
205
207
210
210
212
208
210
201
192
182
169
155
138
120
97
86
81
80
77
73
69
67
69
82
90
90
99
103
106
111
114
104
116
106
109
81
43
35
39
40
40
40
40
41
42
42
43
45
46
44
41
39
41
44
46
50
52
49
42
38
41
44
44
44
47
45
47
43
43
40
44
47
52
51
54
51
46
35
37
42
50
57
59
60
63
63
64
64
64
61
60
57
57
55
59
58
58
58
59
58
54
51
52
53
54
55
53
53
53
52
57
57
55
54
52
47
45
42
43
41
41
39
39
37
39
37
36
37
38
39
40
42
46
48
49
72
113
98
100
90
108
92
96
87
106
102
57
43
58
51
48
48
45
35
24
29
58
84
119
135
151
147
125
98
81
70
66
66
70
74
79
82
85
84
78
75
72
70
75
76
78
79
75
74
73
73
73
72
71
67
74
77
80
35
39
45
48
52
53
56
56
60
60
67
81
101
116
124
130
136
138
138
144
160
179
196
205
216
219
222
221
216
214
212
209
203
202
205
207
211
212
214
211
210
200
188
176
163
146
127
109
91
81
78
79
77
73
71
69
70
84
91
90
97
100
101
108
115
106
111
80
80
56
39
41
39
38
39
40
42
42
42
42
39
41
44
44
42
40
40
41
42
52
61
58
47
38
39
44
41
41
43
41
43
41
43
41
43
46
52
51
54
53
49
41
46
52
57
62
62
62
64
63
60
60
57
55
53
50
50
49
57
58
59
57
55
53
54
54
54
55
54
55
55
55
55
54
58
58
58
55
52
48
45
42
42
42
42
40
40
38
40
38
34
34
36
37
40
42
45
49
54
91
111
97
95
96
102
98
95
99
96
72
51
52
61
55
54
49
43
34
30
46
80
113
138
142
146
141
125
101
81
69
64
64
68
74
80
83
85
83
78
74
71
69
74
75
78
78
75
73
73
72
74
73
72
69
76
78
81
33
37
43
46
49
52
53
54
61
60
66
81
100
112
121
126
137
140
145
154
173
192
209
220
225
228
227
225
219
213
210
206
204
201
204
206
211
214
215
212
208
196
183
171
155
136
117
99
85
76
75
77
77
73
70
70
63
77
83
82
90
92
96
101
109
102
104
59
55
37
38
50
37
38
39
41
43
44
44
44
35
37
41
44
45
42
39
36
35
50
65
64
52
41
41
47
43
42
40
39
39
40
42
43
46
47
45
42
44
49
50
49
56
61
65
66
65
60
59
58
59
57
56
56
55
54
54
55
54
58
59
57
53
52
54
58
54
55
54
55
55
55
55
54
58
58
58
57
53
50
47
43
43
42
43
42
42
40
42
40
34
34
36
37
40
43
46
49
62
102
103
100
91
103
92
104
91
111
85
45
51
63
58
57
54
49
41
38
42
63
97
127
140
139
139
132
122
101
80
64
63
62
67
74
79
82
84
82
78
73
70
68
73
75
78
78
75
74
71
70
72
71
71
68
76
79
82
33
34
38
40
45
49
51
52
53
56
64
75
89
101
115
125
130
139
150
163
182
200
216
226
238
240
236
228
220
214
211
206
198
197
201
206
208
211
210
207
197
188
175
160
143
122
103
88
81
77
76
75
73
72
71
70
59
65
79
89
88
84
91
96
101
80
60
48
47
49
47
43
40
38
40
41
41
42
44
44
37
41
44
47
47
45
42
39
41
34
74
63
35
49
47
40
43
41
40
39
38
38
38
38
41
46
50
48
44
45
52
60
69
63
60
63
64
59
58
61
62
59
56
56
57
57
56
55
61
60
58
55
53
52
53
53
55
56
57
58
59
60
60
60
59
58
58
58
57
53
48
44
43
41
43
41
41
40
42
41
35
39
35
30
37
51
54
44
101
103
98
92
88
89
99
105
111
81
51
44
54
60
56
49
51
46
38
40
61
95
119
130
140
130
128
126
110
82
66
63
62
65
68
73
76
78
79
78
73
68
66
66
73
75
76
74
77
78
75
72
69
69
73
74
81
82
83
34
35
39
40
44
48
49
50
52
55
61
71
84
97
107
117
127
137
148
164
186
206
223
233
239
240
235
226
216
210
207
204
199
199
201
204
207
206
204
200
188
177
161
147
130
112
96
83
79
75
75
75
73
72
71
69
71
67
70
76
80
83
88
95
83
69
57
48
47
48
44
40
38
38
40
41
41
42
44
44
39
41
43
45
47
45
42
40
41
46
69
60
40
45
44
38
44
43
42
42
41
41
41
40
42
44
44
41
39
40
46
53
71
62
57
58
61
59
60
63
58
54
50
56
66
70
67
62
55
56
55
54
53
53
56
56
55
56
57
58
59
60
60
59
58
57
56
56
56
53
47
43
42
42
42
42
42
41
43
41
36
41
37
31
39
47
50
61
103
100
91
87
91
96
100
101
76
62
50
47
48
50
58
61
46
47
53
69
91
112
125
129
125
128
131
120
94
69
61
66
64
64
67
72
75
76
77
77
71
67
66
68
74
76
78
77
79
77
75
71
70
69
73
76
81
82
83
34
35
38
41
45
47
47
45
48
49
55
65
76
87
97
105
116
127
140
160
183
206
223
234
239
237
231
223
211
203
200
195
196
196
198
199
201
197
191
183
175
161
145
129
114
99
88
81
76
75
74
74
73
72
71
69
73
63
61
68
79
83
84
83
60
55
52
49
47
46
43
40
38
36
38
39
41
42
44
44
40
40
41
43
45
45
43
40
39
61
58
53
47
40
43
38
41
41
41
42
41
41
40
39
45
44
42
42
43
47
51
56
61
57
55
56
60
60
64
67
59
65
75
85
85
76
62
52
50
50
50
50
53
54
56
56
55
56
58
59
60
60
60
59
56
55
55
55
55
52
47
44
43
43
43
43
43
41
43
41
38
42
36
36
43
39
48
84
105
96
85
86
93
102
100
97
57
54
50
48
44
41
43
47
35
44
66
95
116
123
122
123
120
133
133
109
75
53
56
66
63
64
68
71
73
74
76
75
68
67
68
70
75
78
79
78
79
79
77
74
72
72
75
77
86
87
88
38
38
41
43
45
46
46
43
45
45
51
57
68
78
87
93
100
111
126
148
172
195
214
227
234
235
226
217
204
195
191
189
189
190
193
193
189
183
174
166
157
143
127
112
99
90
83
78
75
74
74
74
75
74
73
70
65
59
61
70
80
80
73
65
47
47
49
48
46
43
41
41
36
36
38
39
41
42
44
45
41
39
38
40
43
45
43
41
39
73
49
44
52
37
43
43
40
39
40
41
41
41
40
39
42
41
41
44
51
55
57
58
53
57
59
59
58
57
61
64
86
98
106
100
81
60
51
47
49
49
49
50
53
54
55
56
56
57
59
60
60
60
60
60
58
56
55
55
55
52
47
44
42
42
41
41
43
41
42
40
39
44
38
39
45
34
52
103
100
92
85
88
95
100
95
90
65
57
50
49
48
42
35
30
29
42
72
102
116
116
115
120
133
138
125
91
58
48
55
63
64
64
67
70
72
71
72
74
66
66
69
72
77
79
81
82
80
78
76
74
71
71
75
79
88
90
90
40
42
44
46
48
48
47
43
45
45
46
52
62
70
78
82
83
93
108
129
155
178
199
211
225
226
220
211
196
186
181
179
181
182
183
181
176
166
155
146
135
124
108
95
88
83
79
76
76
76
76
75
76
75
75
71
65
61
65
70
72
64
56
51
45
47
47
46
44
41
40
40
36
36
38
39
41
42
44
45
43
41
37
39
43
46
46
44
48
84
53
43
53
36
40
43
41
42
43
44
45
45
45
45
42
41
43
49
55
58
55
52
53
60
63
57
53
58
70
79
119
110
91
67
51
46
51
58
51
49
50
50
50
51
54
54
56
57
59
60
62
62
61
59
59
57
58
58
58
55
50
47
42
42
42
41
42
40
41
41
40
42
39
42
45
41
67
114
94
91
89
91
94
93
87
85
63
57
52
49
45
39
35
35
46
60
84
102
109
110
114
125
136
128
100
67
48
49
57
61
66
66
67
69
70
70
72
71
66
67
72
74
78
80
82
83
78
79
77
75
73
73
75
79
89
88
88
46
46
49
51
53
52
50
47
47
45
46
51
58
65
73
72
74
78
92
114
137
161
183
196
209
211
207
199
186
175
166
165
169
171
170
166
161
149
137
129
115
104
94
86
82
80
78
78
77
77
77
77
77
77
77
73
79
71
64
61
55
46
43
43
49
47
46
45
41
39
38
40
36
36
38
39
41
42
44
45
44
40
35
35
41
46
47
45
55
84
65
48
51
38
32
41
39
39
39
40
41
42
44
45
51
50
51
55
58
57
53
49
54
57
58
58
64
80
99
112
101
80
54
43
48
55
58
55
53
50
52
51
51
51
53
54
57
57
59
60
62
61
61
58
60
57
58
58
58
55
50
47
41
41
41
40
40
39
38
40
41
40
41
42
42
56
88
112
92
93
92
91
90
86
82
82
55
57
53
43
27
23
37
54
84
92
101
100
102
107
116
124
109
92
67
48
44
49
59
61
68
66
68
70
70
70
70
71
67
70
75
77
79
79
81
82
81
79
80
76
74
74
78
81
94
93
92
48
51
54
57
59
59
54
51
48
45
45
50
57
63
69
68
67
68
79
97
120
144
166
181
191
195
193
186
174
161
151
148
154
158
154
150
142
131
120
110
97
89
83
80
79
80
78
78
78
78
78
79
79
79
78
77
83
69
56
50
45
40
41
44
48
47
45
44
42
40
37
37
34
34
36
39
41
42
44
45
45
40
33
33
40
46
47
45
51
73
77
57
53
46
29
40
44
43
42
41
43
46
49
51
61
60
59
59
59
58
56
53
53
53
52
58
74
91
99
95
57
50
46
49
61
64
59
50
53
51
52
52
52
52
55
55
57
58
59
60
62
61
61
58
58
57
57
57
57
54
49
46
41
41
40
39
40
39
39
38
43
37
43
41
39
75
109
102
94
92
87
83
83
82
81
85
56
55
47
36
27
35
61
86
111
113
104
89
89
99
100
95
67
56
45
42
44
48
55
62
70
67
69
70
71
70
71
71
70
73
78
79
79
78
79
81
84
83
83
80
78
78
82
85
96
95
93
51
54
57
58
59
59
57
53
51
50
50
52
59
62
68
65
62
62
72
84
104
126
147
160
167
171
173
166
157
143
133
130
133
134
134
128
120
110
101
94
84
80
77
76
77
79
79
78
79
79
78
79
78
78
76
76
72
60
47
45
47
45
45
45
47
45
44
44
44
41
39
36
36
36
38
39
41
42
44
45
47
39
33
32
39
46
47
46
42
59
84
64
55
55
31
44
55
53
51
50
51
55
60
63
59
57
55
52
52
53
55
57
57
54
53
58
72
76
57
35
38
45
55
59
57
56
59
61
54
54
54
54
53
54
57
58
56
56
59
59
60
59
58
58
58
56
56
56
56
53
49
45
40
42
41
40
39
38
40
39
45
34
46
42
38
88
124
95
100
91
82
79
80
85
85
86
56
42
28
27
43
68
102
126
118
115
97
77
81
94
86
64
41
37
40
50
50
43
50
62
72
70
71
71
71
71
71
71
74
77
80
80
77
75
74
76
84
85
83
81
79
82
85
90
91
91
90
59
59
61
61
61
61
61
59
60
61
62
63
64
68
69
69
72
72
76
82
91
105
116
123
132
136
139
137
132
123
114
106
105
101
98
94
89
85
82
79
79
75
75
73
71
72
70
72
79
84
74
66
74
80
76
76
61
52
44
40
45
48
49
45
47
46
46
46
46
43
41
41
41
41
41
41
43
43
43
44
43
45
40
32
33
42
47
46
43
45
48
56
62
57
44
35
70
64
60
59
63
64
62
58
52
55
58
58
55
52
51
55
62
57
47
40
38
41
47
51
48
51
55
58
59
57
57
58
58
58
58
57
55
55
53
53
48
49
53
54
57
58
58
59
62
59
57
58
61
59
54
49
41
43
42
40
38
37
38
38
48
45
35
38
74
111
111
90
78
79
77
79
79
82
84
83
47
22
15
41
80
111
121
120
115
97
76
67
66
66
57
48
44
50
49
48
51
48
50
62
66
72
75
75
71
73
75
74
80
83
83
80
77
74
74
73
76
77
78
80
82
85
89
94
101
92
82
63
63
63
63
63
63
63
63
64
65
65
67
68
69
70
71
74
73
77
79
85
93
100
104
108
112
114
114
109
103
95
89
86
82
79
75
73
72
72
71
75
73
73
72
71
70
71
73
77
84
77
70
77
79
74
69
57
48
44
41
44
48
50
48
46
46
46
46
45
45
44
43
43
43
43
43
43
43
43
44
46
46
40
32
32
41
46
46
45
42
41
48
58
66
67
67
63
59
53
52
55
56
54
51
55
56
57
56
55
55
57
58
55
52
44
39
38
41
45
49
52
54
55
56
55
55
54
58
58
60
58
57
55
53
53
53
50
51
53
54
56
56
57
57
59
59
61
61
59
54
50
45
43
42
43
41
40
38
37
37
39
41
42
53
80
101
97
77
76
77
80
81
83
83
86
81
47
42
51
79
110
124
112
98
72
66
59
55
55
53
49
45
47
52
52
50
51
48
51
62
69
72
77
76
72
72
76
75
81
84
83
81
76
72
72
72
74
74
76
81
84
88
88
94
89
83
73
69
69
69
69
69
69
69
69
67
68
69
70
71
72
73
71
74
72
74
76
81
85
89
91
93
94
95
95
92
89
83
81
77
75
72
67
66
67
67
66
71
69
70
70
72
72
74
76
77
85
80
78
85
81
69
64
55
49
47
43
43
44
47
47
46
45
45
46
45
44
44
43
43
43
43
43
43
43
43
44
48
46
40
32
31
38
44
46
48
43
40
42
48
57
63
68
54
51
48
50
55
60
60
60
60
58
55
54
56
57
58
58
45
43
39
37
37
40
43
46
53
54
56
55
52
52
53
57
57
57
57
55
55
53
53
51
51
52
54
54
56
57
57
56
58
60
62
61
57
49
43
40
44
43
43
41
40
38
37
38
35
37
44
61
79
84
79
70
72
76
80
83
87
87
86
80
70
86
110
128
135
123
91
60
36
43
47
50
48
46
48
47
46
51
52
49
51
47
51
61
71
74
79
78
74
74
78
78
84
85
83
80
75
73
72
73
76
76
78
83
88
91
87
88
74
69
62
73
73
73
73
73
73
73
73
71
72
72
73
74
75
76
74
72
71
73
76
79
80
82
83
87
87
87
85
84
81
80
78
77
74
70
66
64
62
64
63
65
65
67
68
71
74
76
77
81
85
79
81
92
88
68
58
56
54
48
45
41
42
46
47
45
44
45
45
45
44
44
43
43
43
43
43
43
43
43
44
49
46
39
32
29
34
41
46
45
43
42
42
43
46
47
50
53
52
50
52
56
60
63
62
60
56
54
53
56
55
53
49
40
39
38
38
38
40
41
42
49
52
55
56
53
53
54
55
56
56
56
54
54
52
52
52
50
50
52
55
56
56
55
57
58
60
61
59
50
43
39
40
42
41
41
40
38
36
35
37
42
35
39
58
72
71
71
76
74
76
79
82
86
86
87
84
95
120
142
136
116
89
56
27
28
37
46
51
51
50
52
53
45
50
51
49
50
47
50
60
72
75
80
79
76
76
80
79
84
85
82
80
74
72
74
75
77
78
83
88
93
91
83
77
69
65
60
75
75
75
75
75
75
75
75
75
75
76
76
77
78
78
76
71
72
73
76
78
79
80
79
84
81
81
78
78
77
77
78
78
76
71
66
62
58
58
58
60
62
64
64
67
70
72
75
81
81
74
82
99
96
77
67
61
57
52
48
43
41
43
43
43
41
42
43
43
42
42
41
41
41
41
41
41
41
41
44
49
48
40
34
30
32
38
45
42
44
44
45
46
48
48
52
60
60
57
56
56
56
56
53
60
57
58
58
60
54
49
40
40
40
40
40
40
40
38
38
43
47
51
55
56
56
54
55
54
54
54
52
52
51
51
51
50
50
53
55
58
60
59
61
60
60
58
53
45
40
40
42
41
41
42
40
38
37
36
37
45
34
37
58
73
70
71
78
76
76
78
78
82
85
87
87
102
122
129
106
72
52
38
25
38
42
46
51
52
52
51
48
45
49
50
48
49
46
49
60
73
76
81
80
77
78
82
81
83
83
81
77
75
73
76
79
81
83
89
94
95
86
74
67
73
69
65
77
77
77
77
77
77
77
77
77
78
78
78
79
79
80
78
74
73
76
77
79
79
80
80
80
78
77
75
75
73
74
75
77
74
72
66
61
57
55
54
56
57
59
61
63
65
69
69
76
73
69
78
97
97
85
82
67
62
55
48
46
43
42
40
42
40
41
42
42
42
42
41
41
41
41
41
41
41
41
44
49
47
41
36
31
29
34
42
46
47
44
42
40
43
48
56
58
60
61
62
62
62
61
60
56
58
62
62
62
54
47
39
43
42
42
42
41
40
39
37
37
41
48
51
53
55
56
55
55
53
53
53
52
52
52
52
53
55
58
59
62
63
61
63
58
56
51
45
40
39
40
42
40
41
40
38
39
37
36
37
41
33
42
65
78
71
69
74
78
77
77
77
81
84
87
87
88
94
90
66
44
37
42
46
50
49
50
54
57
54
48
43
43
49
49
47
48
45
48
59
73
76
81
81
78
78
83
82
81
80
79
75
74
76
79
82
88
90
93
93
87
79
69
66
77
71
66
79
79
79
79
79
79
79
79
79
79
79
80
80
80
80
79
80
79
79
79
79
79
78
78
78
75
75
73
73
71
71
71
76
75
73
68
63
58
56
54
54
54
57
58
59
60
63
63
67
70
67
68
77
76
76
89
74
66
57
50
49
45
42
36
41
40
41
42
42
42
42
42
41
41
41
41
41
41
41
44
48
47
44
41
32
27
32
41
45
47
47
43
37
39
46
56
57
62
65
67
69
67
65
63
50
54
60
59
57
49
46
41
45
43
43
44
43
40
39
39
37
39
43
46
48
52
57
59
55
53
53
52
52
52
52
52
55
57
60
59
61
60
59
57
51
47
43
40
39
41
41
40
41
42
41
39
40
38
37
36
35
37
50
69
75
67
68
76
77
78
81
81
84
85
86
85
69
61
52
44
42
44
51
54
54
56
59
61
60
54
47
42
42
48
49
47
48
44
48
58
72
76
81
81
78
79
83
80
79
78
77
76
75
78
84
88
96
97
93
85
76
71
69
73
79
73
66
80
80
80
80
80
80
80
80
79
80
80
80
80
80
81
81
85
84
82
81
80
79
77
77
78
76
76
76
73
73
71
73
75
76
75
72
68
63
60
58
52
52
55
55
57
58
58
58
62
68
65
60
58
53
62
83
79
69
58
53
51
47
41
34
41
39
40
42
42
42
42
42
41
41
41
41
41
41
41
44
48
46
44
43
35
26
30
39
35
41
48
49
46
47
53
61
66
68
69
67
63
55
48
46
44
49
54
54
50
46
44
43
45
43
44
45
45
43
42
42
42
40
40
41
43
48
57
62
55
53
53
52
53
52
53
53
57
58
59
57
58
54
53
51
45
40
39
39
41
42
41
38
42
43
42
41
39
37
38
38
35
42
56
67
66
61
69
83
76
78
82
84
86
86
84
81
59
40
30
38
50
52
50
46
49
54
60
63
59
49
42
38
40
48
48
46
48
44
47
58
72
75
81
80
78
79
83
80
77
76
76
75
76
79
86
92
101
100
92
80
69
65
72
80
81
74
67
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
83
87
87
87
87
86
86
84
82
82
80
80
79
79
79
77
77
74
74
73
73
73
67
61
58
55
55
54
53
55
56
56
55
61
61
52
54
59
47
57
93
96
83
69
64
61
53
48
45
37
38
39
40
40
41
44
46
45
45
45
45
44
44
44
45
40
46
47
41
34
31
30
34
45
43
41
42
47
55
63
69
69
72
67
54
49
48
46
43
47
46
46
45
44
43
43
43
43
42
43
44
45
44
45
45
42
40
40
41
43
45
51
52
54
54
56
55
57
54
54
53
61
59
56
50
47
45
42
43
45
42
43
42
41
41
43
43
39
40
40
40
40
39
38
36
32
52
67
65
64
69
74
71
82
82
77
76
85
83
84
90
53
42
40
44
47
43
45
49
49
67
80
74
58
46
39
37
41
49
50
50
49
42
46
60
74
77
81
79
76
77
83
81
76
75
78
78
80
85
92
98
102
94
79
71
69
74
80
84
83
76
69
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
83
89
91
91
89
89
87
86
84
84
82
82
82
82
82
80
80
77
75
74
74
74
69
63
58
58
55
54
53
55
55
55
54
56
53
49
53
48
39
58
98
88
90
84
71
62
61
57
48
43
44
46
45
45
43
43
42
44
43
44
43
44
43
44
46
53
58
55
47
35
29
29
29
35
40
47
56
63
68
70
72
65
68
62
51
47
48
49
48
49
50
48
47
47
46
46
44
42
42
43
44
43
43
44
44
46
45
44
44
43
45
48
47
50
50
53
55
57
57
57
56
54
52
51
48
47
46
44
44
46
44
44
43
42
42
42
44
42
41
41
41
40
39
39
36
39
55
67
63
62
68
73
71
74
79
79
80
88
82
79
84
53
57
66
66
54
41
42
52
71
81
84
70
55
42
35
34
40
48
49
49
50
43
46
60
75
77
81
80
76
78
83
81
79
76
76
77
81
87
95
99
97
85
74
68
74
78
78
79
83
76
69
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
85
91
94
94
93
89
87
86
84
84
84
84
84
84
84
86
84
79
76
78
78
76
72
67
62
60
57
56
54
54
54
54
53
53
45
49
51
37
39
67
96
74
90
98
83
72
72
68
54
43
42
44
42
44
41
41
39
43
41
43
41
43
42
44
46
45
47
45
40
34
30
32
36
50
55
63
70
71
70
66
64
65
65
58
49
47
49
52
51
51
52
50
48
48
47
46
46
42
43
41
42
43
43
42
42
46
45
43
42
43
45
46
47
46
48
48
51
51
52
51
52
44
44
45
43
43
44
46
47
47
44
45
44
43
43
43
44
43
42
44
42
41
40
41
38
49
60
66
61
60
66
72
73
73
79
81
83
90
85
84
91
88
94
97
82
52
35
46
64
89
87
77
62
48
40
35
36
39
46
47
49
51
44
47
60
75
78
82
80
77
78
83
80
81
76
76
79
86
92
96
96
85
77
69
69
77
81
78
72
82
76
69
81
81
81
81
81
81
81
81
82
82
82
82
82
82
82
86
92
95
94
92
90
88
87
85
85
85
85
85
87
87
88
87
82
80
79
79
78
75
71
69
62
60
58
56
55
54
53
51
52
45
51
48
37
57
79
78
53
76
95
94
85
79
72
65
49
45
43
43
45
47
48
48
52
52
52
52
53
53
53
55
59
62
62
61
60
62
64
68
72
71
71
69
66
63
61
61
66
63
55
48
46
48
51
54
52
51
51
49
48
46
46
45
44
44
43
44
44
45
43
43
43
41
41
42
44
47
47
48
47
46
47
46
46
44
43
42
41
40
41
42
43
45
47
48
46
45
44
42
42
42
42
43
44
44
44
42
42
40
41
41
56
61
63
58
60
68
75
76
76
80
79
79
88
88
94
106
112
102
87
63
43
42
60
81
85
75
61
49
43
41
40
39
40
45
46
49
51
45
47
59
73
77
82
81
78
79
83
80
79
77
77
82
93
97
94
91
74
69
68
72
79
80
76
72
81
75
68
81
81
81
81
81
81
81
81
82
82
82
82
82
82
82
84
90
92
90
88
87
85
83
83
83
83
83
85
87
87
88
87
85
82
81
81
81
79
77
74
66
62
60
56
54
53
51
49
49
47
49
43
45
76
83
52
43
57
85
103
101
85
78
80
65
60
54
52
54
58
61
62
65
65
66
66
67
67
68
69
82
84
82
79
76
76
76
78
72
70
66
64
64
64
66
68
70
64
55
50
50
49
51
52
51
51
51
48
49
48
47
47
46
46
46
46
45
45
45
45
42
42
43
42
43
45
46
47
47
45
45
44
44
43
42
42
41
41
40
41
42
44
45
45
45
44
43
42
41
43
43
43
44
45
45
43
42
41
43
43
59
60
61
59
63
70
77
79
77
81
80
81
89
87
91
100
81
64
48
40
48
63
78
86
69
58
46
41
44
45
45
44
43
45
45
48
52
45
46
56
70
74
80
80
78
79
84
81
77
76
80
89
97
96
88
81
65
69
73
77
77
75
74
76
80
73
66
81
81
81
81
81
81
81
81
83
83
83
83
83
83
83
85
89
89
89
86
86
82
82
81
81
81
82
84
86
88
88
88
85
82
81
82
82
81
80
77
71
67
63
59
57
54
51
47
46
45
45
45
58
82
74
43
57
59
82
110
118
104
94
95
81
70
64
58
61
62
65
63
67
66
68
67
70
68
71
71
72
73
72
71
68
68
66
66
65
66
65
66
66
64
62
63
71
63
54
51
51
48
48
51
50
49
49
49
48
49
49
49
49
49
51
49
49
47
49
47
47
45
45
44
44
42
43
41
46
46
45
47
46
46
47
46
41
40
42
43
44
43
44
43
44
43
41
40
41
41
41
41
42
44
44
42
41
41
45
48
64
60
60
61
67
72
77
78
73
79
82
85
92
80
70
71
45
41
40
50
69
81
75
64
55
45
38
42
49
52
48
45
44
45
45
48
52
45
44
53
66
70
78
79
77
79
84
81
76
79
85
92
96
91
81
72
66
71
77
77
74
71
71
76
78
72
65
81
81
81
81
81
81
81
81
83
83
83
83
83
83
83
83
88
86
86
82
82
79
79
77
77
77
79
81
82
84
86
86
85
83
83
84
85
84
81
79
75
71
65
60
57
54
51
46
43
42
43
57
76
72
60
57
69
64
73
96
112
112
101
92
78
68
63
59
63
62
62
57
63
61
64
63
65
64
67
67
68
68
70
72
72
73
73
72
67
68
69
69
65
62
58
58
70
60
51
50
52
49
48
49
47
48
49
48
49
51
52
52
51
51
52
51
51
49
51
48
48
46
46
45
44
41
42
42
46
46
45
46
46
46
46
45
41
41
42
42
43
42
43
42
42
44
42
41
40
40
42
42
41
44
45
43
41
42
47
51
66
63
61
64
70
73
74
73
73
78
79
86
90
74
55
49
48
57
67
74
79
76
62
47
45
36
33
42
53
57
54
51
46
46
45
49
53
45
42
50
61
66
75
77
77
79
85
82
80
81
87
90
89
82
74
69
72
73
75
75
74
72
70
73
77
71
64
81
81
81
81
81
81
81
81
83
83
83
83
83
83
83
83
86
84
84
82
81
79
79
77
77
79
79
81
82
84
84
84
84
83
83
83
85
84
82
80
77
73
67
62
56
53
49
46
42
40
44
71
88
65
51
78
69
62
60
71
91
102
91
72
71
66
63
62
66
66
62
55
61
61
64
65
66
67
69
70
67
68
69
69
71
70
67
63
68
67
65
62
62
63
64
67
66
56
48
52
54
51
47
50
47
48
48
49
51
51
52
53
50
50
50
50
48
48
48
48
44
45
46
46
45
45
44
44
47
47
46
44
42
42
42
40
42
42
43
45
45
44
44
43
44
45
44
42
42
41
41
44
40
43
45
43
41
42
48
54
71
66
64
68
73
74
71
71
78
78
75
77
83
68
50
44
57
73
84
81
69
61
56
52
38
30
29
41
53
56
55
53
50
48
46
49
53
45
41
49
59
67
77
78
78
81
83
82
85
88
91
90
85
78
72
68
78
75
72
73
74
75
69
69
77
71
64
81
81
81
82
82
83
83
83
82
82
82
82
82
82
82
82
83
83
83
83
81
81
81
81
82
82
82
82
84
84
84
84
80
81
87
87
86
84
83
84
83
81
77
67
61
56
50
41
44
36
51
87
109
101
87
79
69
69
71
72
75
75
77
77
69
69
68
69
66
61
60
60
56
57
60
63
64
67
68
67
70
68
68
69
69
68
68
68
67
64
63
62
62
61
61
63
63
58
51
48
48
50
51
50
50
51
50
51
51
51
49
50
48
46
46
45
47
46
46
46
45
45
45
45
47
47
47
47
48
48
48
46
46
46
46
44
44
44
44
45
45
44
44
44
46
46
45
45
44
43
42
43
39
44
41
40
43
41
45
61
72
74
71
72
72
74
75
76
77
75
78
81
72
58
55
59
89
81
72
67
64
59
53
49
38
35
35
39
48
53
54
51
45
45
46
47
47
46
44
40
59
70
82
85
81
83
83
85
90
101
101
89
75
71
72
71
73
75
77
78
77
75
72
71
76
68
59
81
81
81
82
82
83
83
83
82
82
82
82
82
82
82
82
83
83
83
83
83
83
83
83
84
84
84
84
84
84
84
84
83
82
85
86
90
90
88
86
87
89
89
84
79
72
61
52
48
37
41
61
71
66
61
63
86
84
81
79
77
77
74
74
84
71
62
58
64
65
59
52
57
57
61
62
66
68
69
69
70
68
68
69
67
68
68
68
65
64
63
62
61
61
61
63
63
60
54
48
48
47
48
48
50
51
52
51
51
49
49
48
46
45
44
44
45
44
44
44
45
45
45
45
47
47
47
47
48
48
48
48
48
48
48
48
48
48
48
47
47
47
46
46
47
47
46
45
44
44
43
43
38
44
41
40
43
40
44
62
73
76
74
74
76
77
78
79
71
72
75
80
80
76
81
84
77
71
63
58
58
58
55
52
45
41
39
41
47
50
50
48
48
48
49
48
47
46
44
42
57
68
82
82
83
82
83
86
94
101
97
84
73
70
70
69
73
74
76
78
77
75
73
73
76
66
57
81
81
81
82
82
83
83
83
82
82
82
82
82
82
82
82
83
83
83
83
83
83
83
83
84
84
84
84
84
84
84
84
84
80
80
82
89
92
89
86
87
96
105
106
105
98
86
74
60
46
40
46
47
40
42
51
48
49
53
58
66
74
80
82
89
78
69
63
66
67
64
58
59
60
62
64
67
70
70
70
68
68
68
68
69
69
67
67
66
66
63
62
61
61
61
62
64
63
60
53
49
45
44
45
50
49
50
49
49
49
49
48
46
44
44
44
44
44
46
46
45
45
47
47
47
47
47
47
48
48
48
48
48
47
47
47
49
49
48
48
47
47
47
47
46
46
45
45
44
43
42
42
38
43
41
39
42
39
43
61
73
73
74
76
77
78
80
80
79
80
79
78
81
85
89
85
66
58
54
51
54
57
56
56
48
45
42
42
46
48
47
46
50
50
50
48
47
48
45
41
53
64
77
78
81
82
85
87
96
96
87
76
69
69
69
67
72
74
75
77
76
74
72
72
74
66
56
81
81
81
82
82
83
83
83
82
82
82
82
82
82
82
82
83
83
83
83
83
83
83
83
84
84
84
84
84
84
84
84
87
84
82
83
87
90
91
93
93
105
120
129
129
126
114
103
78
62
50
49
48
44
44
52
43
42
42
41
43
47
49
49
66
74
79
75
68
66
67
70
62
63
62
64
67
68
68
68
68
68
68
68
68
68
66
67
66
65
62
62
60
60
61
62
60
63
62
56
49
44
43
45
48
49
48
47
49
47
47
46
45
44
44
43
44
44
45
45
45
45
47
47
47
47
47
47
48
48
48
47
47
47
47
46
49
48
48
48
47
47
47
47
45
45
45
44
43
42
42
41
38
43
40
38
41
38
42
60
71
74
75
77
78
80
80
81
82
85
80
71
73
79
75
64
56
52
48
46
51
55
58
59
52
50
47
44
46
46
45
45
51
53
52
50
49
47
44
42
52
62
73
76
81
84
87
90
97
91
78
69
67
69
69
67
72
73
74
75
74
73
71
74
74
64
55
81
81
81
82
82
83
83
83
82
82
82
82
82
82
82
82
83
83
83
83
83
83
83
83
84
84
84
84
84
84
84
84
88
92
91
89
88
93
104
112
119
134
148
156
156
153
145
135
107
83
63
55
53
50
50
53
60
57
53
48
44
43
42
40
42
56
72
75
71
73
73
69
66
66
65
66
65
65
65
65
68
70
70
70
68
68
68
67
66
65
62
61
61
61
61
62
58
59
61
57
51
45
46
47
48
47
46
45
47
45
45
46
45
45
44
44
44
43
45
45
47
47
47
47
49
49
49
49
49
49
49
48
48
47
47
46
49
49
48
48
48
47
47
47
47
46
46
45
44
43
43
43
40
45
42
40
42
39
43
59
71
72
74
76
79
80
82
81
77
79
74
66
68
72
65
51
47
46
43
43
46
51
55
57
54
53
50
47
47
46
44
44
52
53
53
52
48
47
45
41
49
58
71
75
82
86
89
91
96
87
73
67
68
71
71
70
73
74
75
75
74
73
72
73
73
66
56
81
81
81
82
82
83
83
83
82
82
82
82
82
82
82
82
83
83
83
83
83
83
83
83
84
84
84
84
84
84
84
84
85
90
92
90
92
103
124
140
160
174
188
193
190
186
177
168
143
114
84
63
56
51
49
50
51
51
50
51
52
56
58
57
40
47
54
65
79
91
86
73
74
70
70
68
66
66
63
65
68
70
70
70
67
67
67
67
65
65
64
61
60
60
61
61
56
57
58
57
55
48
47
46
47
47
46
45
45
45
45
46
44
44
44
44
43
43
45
44
47
47
47
47
49
49
49
49
49
49
48
48
47
46
46
46
47
47
47
46
46
46
45
45
46
46
45
44
43
43
42
42
40
44
41
39
41
38
42
57
71
72
74
76
79
78
79
81
78
76
70
66
66
63
54
44
43
42
40
40
42
45
49
52
55
53
52
50
50
47
45
44
51
53
53
50
49
46
45
42
47
55
68
77
83
89
89
89
89
79
67
65
69
70
70
71
73
73
73
73
73
72
71
74
73
64
57
81
81
81
82
82
83
83
83
82
82
82
82
82
82
82
82
83
83
83
83
83
83
83
83
84
84
84
84
84
84
84
86
86
88
90
94
106
128
154
174
192
208
223
228
224
218
211
200
178
151
122
93
73
58
49
47
54
55
53
52
53
51
51
48
51
50
49
52
72
95
100
90
83
79
75
74
71
68
65
66
68
70
70
69
69
68
66
66
67
64
63
63
60
60
61
61
58
58
58
58
58
52
47
43
47
46
45
44
44
44
44
45
44
44
44
43
45
45
46
46
47
47
49
49
49
49
49
49
49
49
48
48
47
46
45
45
46
46
45
45
45
44
44
44
45
45
44
44
43
42
41
41
39
44
41
38
41
37
41
56
71
72
74
76
78
79
79
78
78
71
65
61
58
49
43
41
43
45
44
43
41
43
43
45
52
53
55
55
53
49
44
45
48
50
50
49
50
48
46
41
43
53
67
76
86
91
89
86
80
73
64
66
70
70
70
72
74
74
74
74
73
73
72
74
73
64
55
81
81
81
82
82
83
83
83
82
82
82
82
82
82
82
82
83
83
83
83
83
83
83
83
84
84
84
84
84
84
84
86
94
95
97
106
127
156
186
207
207
224
242
249
246
240
233
223
198
181
157
129
98
71
55
50
50
52
53
55
55
57
55
54
53
55
49
43
54
82
105
109
92
87
83
78
75
72
68
67
70
70
70
69
69
68
66
66
67
66
63
62
62
60
60
61
61
57
58
59
58
54
45
38
47
46
45
44
44
44
42
45
44
44
44
43
45
44
46
46
47
47
49
49
49
49
49
49
49
49
48
47
46
46
45
44
45
45
44
44
44
43
43
43
45
45
44
43
42
42
41
41
39
44
41
38
40
37
40
56
71
73
74
77
79
79
77
76
68
58
52
54
50
43
42
50
48
49
50
48
46
44
45
44
51
53
57
57
55
51
44
45
46
48
49
48
49
47
46
43
42
52
65
77
86
92
88
85
73
67
62
66
70
68
68
71
74
74
73
73
73
72
72
76
73
65
55
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
84
84
85
85
85
85
85
85
85
85
85
85
87
90
93
110
142
173
197
219
239
246
249
254
255
253
250
244
236
212
199
181
159
135
105
70
45
47
48
49
53
51
48
50
57
57
58
55
53
70
106
146
169
136
112
90
81
79
76
73
72
71
75
70
62
64
74
73
64
64
64
64
62
62
60
59
57
62
57
57
57
56
53
46
42
48
47
46
45
44
43
42
44
43
45
45
44
46
45
45
45
48
48
48
48
49
49
49
49
53
52
51
50
49
47
46
46
45
45
45
45
45
45
45
45
43
47
50
49
45
42
42
43
40
46
41
35
38
37
40
54
74
75
74
74
77
81
73
62
53
53
50
48
47
48
48
48
51
51
52
49
48
47
46
43
43
45
50
54
54
52
46
46
43
46
46
45
47
46
47
43
38
49
67
82
93
95
87
82
68
68
64
64
67
70
71
70
74
78
78
74
72
75
76
77
75
66
55
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
84
84
85
85
85
85
85
85
85
85
85
85
89
93
106
131
162
194
219
239
252
254
255
255
254
253
250
249
243
224
212
197
178
157
132
99
75
51
47
46
47
50
51
53
57
55
63
69
80
103
139
174
191
207
168
123
93
85
83
77
69
70
69
72
75
70
63
63
69
63
63
64
64
62
61
60
57
60
59
57
58
59
54
49
45
48
47
46
45
44
43
44
44
43
45
45
44
46
45
45
45
48
48
48
48
49
50
50
50
52
51
50
49
48
46
45
45
45
45
45
45
45
45
45
45
46
48
49
49
47
44
42
42
40
42
37
36
40
36
38
53
69
76
82
79
75
68
58
47
49
48
48
48
49
49
49
51
52
53
53
50
49
47
46
44
43
46
48
52
53
52
50
49
47
46
45
43
43
43
45
44
40
51
69
85
96
98
89
80
68
67
64
64
66
69
69
69
71
75
75
72
71
74
74
77
74
66
55
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
84
84
85
85
85
85
85
85
85
85
86
86
90
95
120
152
183
210
236
252
255
255
255
255
254
252
251
250
244
231
221
209
196
180
159
131
108
69
55
44
46
52
55
56
58
57
75
95
118
144
175
200
211
217
229
214
159
97
68
75
89
85
76
66
66
69
70
68
68
63
64
63
63
64
63
61
58
58
58
58
60
60
55
50
46
48
48
47
46
45
44
45
45
45
45
47
46
46
45
47
47
49
49
50
50
50
50
52
52
50
49
48
47
46
45
44
44
45
45
45
45
45
45
45
45
49
48
48
48
48
46
43
40
41
39
35
38
42
35
38
60
74
80
81
73
63
55
45
40
42
43
46
47
49
49
49
51
52
54
51
50
50
48
47
45
43
45
46
50
52
52
52
53
51
50
45
40
40
40
42
41
39
53
74
90
102
102
90
75
67
67
64
64
66
68
69
69
70
73
75
73
73
75
74
75
72
64
53
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
84
84
85
85
85
85
85
85
86
86
86
86
91
102
136
168
193
216
239
253
255
255
255
255
251
249
248
247
243
230
222
216
206
195
180
153
134
101
76
54
48
53
58
57
55
68
95
128
153
172
194
212
221
229
239
235
207
172
140
100
66
76
78
73
65
66
74
71
62
62
63
62
63
63
63
61
61
57
58
61
63
62
57
53
50
49
48
47
46
47
44
45
45
45
45
47
46
46
45
47
47
50
50
51
50
50
50
52
52
48
47
47
46
45
44
43
43
44
44
44
44
44
44
44
44
50
47
45
46
47
47
43
39
43
40
36
40
41
32
40
69
86
82
71
58
51
46
45
46
41
42
46
47
50
49
48
48
52
51
51
50
49
47
46
46
43
44
44
46
49
52
54
56
56
52
46
39
37
36
38
39
39
56
80
100
110
105
88
69
65
64
63
63
64
65
66
66
67
71
73
72
74
75
72
73
68
60
48
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
84
84
85
85
85
85
85
85
86
86
87
87
93
111
143
172
194
216
239
254
255
255
255
252
250
245
241
237
234
232
228
225
217
210
197
173
153
129
98
66
53
55
57
57
56
88
122
159
181
193
205
221
233
239
233
226
227
234
219
162
99
64
68
78
82
73
61
59
64
61
62
63
64
63
63
63
61
59
60
64
64
62
57
53
51
49
50
49
48
49
46
47
47
47
47
47
46
48
47
47
47
51
51
51
50
52
51
51
51
48
48
47
47
46
45
45
45
46
46
46
46
46
46
46
46
50
47
45
46
48
48
45
42
43
43
40
40
40
33
45
76
82
72
56
46
44
45
46
49
45
46
47
48
48
47
45
46
48
50
49
47
47
47
46
44
43
43
44
45
46
50
53
55
56
53
47
40
37
36
37
36
37
59
87
107
114
103
81
61
62
62
62
62
62
62
64
64
68
72
74
74
76
76
71
69
63
57
46
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
84
84
85
85
85
85
85
86
86
87
88
88
93
109
133
160
183
208
232
249
255
253
252
250
249
243
237
232
227
234
232
229
223
219
205
185
165
146
114
79
59
58
61
66
71
115
148
184
204
211
219
233
244
235
244
246
241
234
229
218
199
127
81
58
70
74
60
55
68
62
63
63
64
62
62
62
61
60
63
65
63
61
56
53
52
51
50
51
50
49
48
49
47
47
47
47
46
48
47
47
47
51
50
50
49
51
50
49
49
48
47
47
47
46
46
45
45
45
45
45
45
45
45
45
45
48
47
46
46
47
48
47
46
42
46
41
39
43
44
52
74
64
54
47
44
47
47
44
43
46
47
47
46
46
45
44
43
44
44
46
44
46
44
44
44
43
43
43
44
43
46
49
50
53
50
47
45
41
39
37
37
37
62
92
109
108
95
75
57
60
59
61
61
59
59
60
62
67
71
74
75
76
76
67
66
56
51
42
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
84
84
85
85
85
85
85
86
86
87
88
89
94
107
122
148
177
205
226
242
252
251
249
247
246
242
236
231
231
234
235
232
230
226
214
195
175
154
125
91
70
67
75
90
100
141
168
198
217
227
235
244
249
251
248
243
237
237
240
241
234
203
144
89
68
69
70
65
65
63
63
64
64
62
61
60
60
63
64
65
61
57
53
53
54
51
52
53
52
51
48
49
49
47
47
47
46
48
47
47
47
50
50
51
50
49
48
48
47
48
47
47
47
47
46
46
46
45
45
45
45
45
45
45
45
47
48
49
49
48
49
51
53
48
52
45
44
58
67
64
68
48
46
47
49
50
46
43
44
45
45
44
43
43
43
41
41
40
41
43
41
43
41
41
41
42
41
43
42
43
44
46
45
49
48
48
49
46
42
38
36
39
63
91
103
98
84
69
56
59
59
61
61
59
59
60
62
68
72
74
76
77
75
64
59
52
47
38
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
83
85
86
86
87
85
85
85
85
86
87
90
92
94
101
114
122
144
179
209
225
241
254
250
249
247
244
242
241
238
240
239
241
239
237
233
223
203
183
155
129
98
78
76
87
110
125
162
181
207
226
238
244
247
245
247
247
247
249
244
238
238
239
225
224
184
113
71
72
74
59
64
64
62
62
61
60
59
59
62
62
62
59
53
50
51
54
53
52
53
52
51
48
49
49
47
47
49
48
48
47
47
47
49
49
50
49
48
47
47
46
48
48
47
47
47
47
47
46
45
45
45
45
45
45
45
45
46
49
52
51
50
48
52
56
53
59
50
50
74
90
77
65
49
49
50
53
48
43
44
51
43
42
41
40
40
42
43
44
41
41
42
42
42
42
42
42
44
43
45
44
44
44
45
43
48
49
52
52
51
46
39
36
42
66
91
97
88
75
65
58
59
60
63
63
60
57
61
61
69
72
75
76
78
77
65
59
52
47
37
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
88
89
90
90
88
86
78
82
88
93
92
97
114
134
146
160
181
202
223
238
248
249
253
252
250
246
242
241
242
243
242
242
237
235
231
222
202
182
155
124
89
77
88
108
130
144
178
199
222
235
242
246
248
247
252
252
252
250
250
250
250
250
248
248
246
223
159
88
61
66
69
61
57
59
63
64
64
61
56
56
56
56
53
52
53
53
53
54
52
51
50
49
49
49
49
49
49
48
47
47
46
45
46
46
47
47
46
45
43
43
47
49
49
48
48
47
47
47
46
47
48
49
48
47
45
44
45
47
48
48
48
46
48
51
50
58
58
79
92
106
111
61
46
48
48
47
47
47
46
46
45
45
45
44
44
43
43
43
45
45
45
45
45
45
45
45
46
45
45
44
44
45
45
46
50
50
53
55
54
52
48
45
46
61
78
81
72
60
56
54
62
62
61
61
60
58
62
63
71
75
79
80
82
78
63
54
42
46
44
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
89
90
92
91
90
86
81
83
87
91
95
108
132
154
180
195
216
233
244
253
255
255
251
250
250
249
244
242
242
243
241
239
237
233
229
218
195
175
151
118
85
73
85
111
138
156
188
209
229
241
245
249
250
249
252
252
252
252
252
252
252
254
255
252
248
247
230
185
119
70
65
63
63
61
56
52
54
58
55
55
58
55
54
50
54
55
55
56
55
53
52
51
49
51
50
50
49
49
48
47
46
46
45
46
46
46
46
44
42
43
47
49
49
48
48
48
47
47
44
44
46
47
49
49
49
50
48
49
48
49
47
49
48
50
54
61
65
83
101
115
114
60
46
47
47
47
46
46
46
45
45
45
45
44
44
43
43
43
46
46
46
46
46
46
46
46
47
46
45
45
45
45
46
47
48
50
51
54
54
54
52
49
49
62
73
73
64
54
55
58
64
63
64
62
60
58
59
60
69
75
81
84
84
79
62
53
45
48
46
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
89
90
92
91
90
86
85
84
87
91
99
119
151
178
203
221
243
254
255
255
255
254
251
250
250
248
243
239
235
235
236
235
234
229
225
212
191
171
146
121
96
90
105
129
156
173
202
220
237
246
249
252
252
251
252
252
252
252
252
252
252
254
253
255
254
246
244
235
193
143
60
65
58
49
59
77
73
51
55
58
61
59
55
51
55
59
57
57
56
54
53
52
52
52
52
52
51
51
50
49
49
49
48
48
48
48
47
46
44
43
47
49
49
49
48
48
48
47
46
46
46
47
48
49
51
51
52
51
48
49
50
52
50
50
55
65
71
86
109
123
109
54
45
46
46
46
45
45
45
44
45
45
45
44
44
43
43
43
46
46
46
46
46
46
46
46
46
46
45
44
44
45
46
46
45
46
47
49
50
52
52
51
51
58
62
58
50
45
51
57
64
64
66
63
61
57
56
57
68
76
83
86
84
75
56
46
45
48
46
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
89
90
92
91
90
86
86
85
87
93
105
129
166
196
208
230
252
255
254
254
252
248
252
251
249
244
238
230
227
223
226
229
227
223
220
208
188
171
149
137
125
128
145
162
180
191
218
231
244
249
251
253
253
251
252
252
252
252
252
252
252
254
253
255
255
237
230
240
236
222
173
110
63
64
75
64
56
58
54
59
63
61
57
52
54
60
59
60
58
59
57
57
56
56
52
52
52
51
51
50
50
49
48
48
48
47
46
45
45
46
50
50
49
49
49
48
48
48
51
50
48
47
47
47
49
49
54
52
49
50
51
53
51
50
54
64
73
86
111
122
95
44
44
46
45
45
45
44
44
44
45
45
45
44
44
43
43
43
45
45
45
45
45
45
45
45
45
45
44
44
44
44
45
45
44
44
44
45
46
49
50
51
50
53
55
49
43
41
47
52
60
61
65
64
63
59
58
58
69
78
86
88
83
73
52
40
44
46
44
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
89
90
92
91
90
86
84
84
89
96
109
134
172
202
218
241
255
255
253
255
254
250
253
251
248
240
232
223
218
213
218
219
219
217
214
208
191
177
167
160
157
167
181
195
206
215
230
240
248
250
251
253
253
250
252
252
252
252
252
252
252
252
254
250
245
243
248
248
244
234
236
200
137
80
59
60
64
60
55
59
63
61
59
55
56
59
59
60
61
61
60
59
59
59
54
54
54
53
53
53
53
52
52
51
50
49
49
48
48
48
50
50
50
49
49
49
48
48
52
51
49
48
48
48
49
50
54
53
52
53
53
54
51
50
54
63
77
87
111
114
76
40
44
46
45
45
45
44
44
44
45
45
45
44
44
43
43
43
45
45
45
45
45
45
45
45
44
44
43
43
43
43
44
44
46
45
43
43
44
45
45
47
45
47
48
45
41
41
45
47
53
56
61
64
63
61
62
63
71
81
90
90
83
71
52
37
42
44
42
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
89
90
92
91
90
86
84
85
89
97
109
132
168
199
227
248
255
255
255
255
255
250
251
250
244
234
226
217
213
209
211
213
214
212
211
207
196
184
186
182
184
193
206
216
229
237
240
247
251
251
251
253
252
250
252
252
252
252
252
252
252
252
253
247
248
253
253
250
243
239
226
237
217
147
87
70
69
59
58
60
62
63
62
58
57
57
60
61
61
59
60
59
59
59
56
54
54
54
54
53
53
53
54
53
52
50
49
49
49
50
51
50
50
50
49
49
49
49
48
48
48
49
50
52
53
54
52
56
58
59
56
54
51
52
57
63
82
91
110
101
58
42
45
46
46
46
45
45
45
44
45
45
45
44
44
43
43
43
44
44
44
44
44
44
44
44
44
43
42
42
42
42
43
44
46
46
43
43
43
44
44
43
42
43
47
47
46
43
45
44
47
51
56
58
60
63
66
68
74
83
90
90
82
69
49
37
42
44
42
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
89
90
92
91
90
86
86
86
88
93
104
125
160
190
223
247
255
255
253
255
255
246
251
248
241
232
222
216
214
211
210
211
211
209
208
206
199
190
195
198
203
216
227
234
244
251
247
252
253
251
251
253
253
250
252
252
252
252
252
252
252
252
249
250
253
253
252
245
248
253
250
231
234
232
185
98
58
73
62
61
62
64
64
62
58
55
57
58
57
58
58
58
58
60
56
56
56
56
56
56
56
56
58
57
55
53
52
53
53
54
51
51
50
50
50
49
49
49
47
48
49
51
52
53
53
53
52
60
66
67
60
56
53
55
60
62
85
94
107
85
40
46
46
47
47
47
46
46
46
45
45
45
45
44
44
43
43
43
44
44
44
44
44
44
44
44
43
43
42
41
41
42
43
43
45
45
44
44
44
44
43
44
43
44
47
49
50
49
48
46
45
46
51
53
56
58
63
66
73
84
90
88
80
65
48
37
44
44
42
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
89
90
92
91
90
86
89
87
87
90
98
120
154
184
215
240
255
254
254
255
255
244
250
245
238
229
221
216
216
214
210
210
210
206
207
207
200
195
196
204
219
235
246
249
251
252
253
253
253
252
252
253
253
251
252
252
252
252
252
252
252
250
247
247
248
250
254
255
255
250
248
250
241
226
219
203
150
91
68
64
62
65
66
64
60
53
55
54
56
55
55
54
56
56
56
56
56
56
56
56
56
56
59
58
56
54
53
53
54
55
51
51
51
50
50
49
49
49
50
51
52
53
53
51
50
49
52
62
71
72
63
57
55
58
59
59
85
94
102
73
28
48
46
48
48
47
47
47
46
46
45
45
45
44
44
43
43
43
44
44
44
44
44
44
44
44
43
42
42
41
41
42
42
43
43
43
44
45
44
45
46
44
43
45
49
51
54
52
52
49
43
45
48
50
53
55
61
63
73
84
90
87
77
64
47
35
44
44
44
86
86
86
86
86
86
86
86
87
87
87
87
87
87
87
87
87
87
90
91
93
92
91
87
91
87
89
96
103
118
147
176
201
222
243
254
255
255
255
249
250
246
240
235
232
227
223
216
218
212
209
210
209
201
200
202
205
216
227
237
243
250
255
255
254
252
252
252
252
252
252
252
252
252
252
252
252
252
252
250
250
251
253
255
255
255
255
255
255
251
243
238
233
226
217
207
105
75
58
64
71
65
58
61
50
50
51
47
46
45
49
52
53
55
56
56
58
58
57
56
58
57
57
57
56
55
55
55
50
50
51
52
52
51
51
50
51
49
57
57
45
40
39
30
59
55
48
50
62
74
68
55
60
67
90
102
85
49
35
42
47
49
48
48
48
47
47
47
47
47
47
46
45
45
45
44
48
48
47
47
46
46
46
46
43
43
43
43
43
43
42
42
46
45
45
44
45
44
45
45
42
44
47
50
54
56
60
60
50
47
45
41
42
47
56
63
71
78
87
84
73
59
46
42
44
43
44
86
86
86
86
86
86
86
86
87
87
87
87
87
87
87
87
87
87
90
91
93
92
91
87
90
86
89
96
105
120
150
180
204
224
244
255
255
255
252
249
250
244
239
235
230
225
221
214
209
203
202
204
204
201
202
206
215
222
233
242
247
250
253
254
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
249
249
252
255
255
255
255
255
255
253
246
242
239
234
226
215
206
149
91
67
66
68
67
64
51
52
51
51
51
49
49
49
56
56
57
58
57
54
55
58
56
56
56
55
55
54
54
54
52
53
54
54
54
54
53
53
57
50
55
56
43
36
37
33
52
50
44
42
49
63
67
66
61
74
94
95
73
44
37
47
49
50
50
50
49
49
49
49
49
49
49
48
48
47
47
47
49
49
49
48
48
48
47
47
45
45
44
44
43
43
42
42
42
42
41
41
41
42
42
43
45
44
45
47
51
54
62
63
56
53
49
46
43
46
50
54
68
75
84
82
75
60
50
44
44
45
44
86
86
86
86
86
86
86
86
87
87
87
87
87
87
87
87
87
87
90
91
93
92
91
87
88
86
89
97
105
121
153
184
208
226
246
255
255
254
252
248
247
243
237
233
228
222
216
209
201
194
193
198
200
203
207
215
225
234
241
247
250
251
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
250
250
253
253
254
255
255
254
255
252
247
245
246
242
236
227
214
219
208
166
105
66
60
71
72
62
50
42
42
45
51
54
52
51
52
57
56
53
55
62
52
52
52
52
51
51
51
51
53
54
54
55
55
54
53
53
59
49
55
64
51
38
40
43
44
46
42
37
37
50
65
75
69
84
97
83
57
37
40
51
50
52
52
52
51
51
51
50
52
52
51
51
51
50
50
50
52
51
51
51
50
50
50
49
47
47
46
45
44
43
42
42
40
40
40
40
40
41
42
43
48
46
43
43
46
52
60
64
61
58
55
51
45
43
42
44
61
68
77
77
72
60
52
47
46
46
45
85
85
86
86
86
86
87
87
87
87
87
87
87
87
87
87
87
87
90
91
93
92
91
87
88
86
89
96
104
119
152
185
208
227
246
255
255
254
253
249
246
241
237
231
226
220
213
206
192
187
188
194
199
205
217
224
239
245
250
253
252
250
250
251
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
253
253
253
253
253
254
253
250
251
250
248
249
248
248
244
238
237
228
219
219
217
188
121
60
54
53
53
57
59
54
45
38
64
58
56
58
56
48
45
49
51
51
51
51
50
50
50
50
52
53
53
53
53
52
52
51
54
47
63
83
72
52
48
51
42
45
42
38
35
44
58
70
81
92
94
70
46
37
43
49
51
53
53
52
52
51
51
51
53
52
52
52
52
52
52
52
54
54
54
53
53
53
52
52
50
50
48
47
46
44
43
43
42
42
41
41
42
43
44
44
47
45
42
42
46
49
57
58
61
59
59
54
49
44
40
39
53
59
67
69
66
59
52
48
47
47
46
85
85
85
86
86
87
87
87
87
87
87
87
87
87
87
87
87
87
90
91
93
92
91
87
88
87
90
95
101
116
149
183
206
226
245
253
255
254
253
250
248
243
241
235
229
222
214
204
191
185
185
190
200
209
223
237
248
251
255
255
254
251
249
249
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
254
255
255
255
255
254
251
250
248
246
247
247
249
251
251
250
248
234
243
244
241
235
228
210
188
163
135
97
67
53
53
57
60
55
51
50
53
57
58
59
59
49
49
49
49
49
49
49
51
54
54
54
54
54
53
52
51
51
50
77
102
90
64
52
51
42
43
43
43
40
42
47
54
91
94
86
61
46
44
46
45
51
53
53
52
52
51
51
51
52
52
52
52
52
52
52
52
56
56
56
55
55
55
54
54
53
52
51
50
49
47
46
46
46
46
45
44
44
45
46
46
45
45
45
45
49
49
54
52
57
57
60
58
54
47
44
42
46
52
60
63
62
55
50
45
46
45
44
84
84
85
86
86
87
88
88
87
87
87
87
87
87
87
87
87
87
90
91
93
92
91
87
88
87
90
95
99
114
148
183
209
228
246
254
255
254
253
250
248
244
243
239
232
224
213
204
189
181
180
186
197
209
227
243
253
255
255
255
252
249
248
249
250
252
252
252
252
252
252
252
252
252
252
252
252
252
252
254
255
255
255
255
253
250
248
245
241
244
248
250
253
254
255
255
252
254
250
241
240
244
241
237
230
220
208
189
167
141
115
99
75
76
67
50
40
42
44
42
50
50
50
50
51
51
51
51
55
58
58
57
57
56
54
54
53
57
83
103
88
63
50
44
43
43
43
46
44
42
42
46
92
87
77
59
54
54
51
45
52
53
53
53
52
52
52
52
51
51
52
52
52
52
53
53
57
57
57
57
56
56
56
55
55
55
54
53
52
51
50
50
48
47
46
45
44
44
44
44
44
45
48
49
50
50
50
45
49
51
55
58
55
52
49
48
45
48
54
58
57
54
50
45
45
45
44
84
84
85
86
86
87
88
88
87
87
87
87
87
87
87
87
87
87
90
91
93
92
91
87
87
86
90
95
100
115
151
187
216
234
251
255
255
254
253
249
245
242
240
236
230
221
208
199
185
179
176
180
191
207
227
242
254
255
255
255
252
249
247
248
250
252
252
252
252
252
252
252
252
252
252
252
252
252
252
254
255
255
255
254
250
248
243
240
238
242
246
250
254
255
255
255
255
255
255
255
255
249
240
233
241
239
237
237
234
229
223
218
209
208
180
120
71
56
53
48
50
50
50
51
51
52
52
54
56
58
58
58
57
56
55
54
55
59
76
84
67
52
48
43
46
46
47
50
47
44
49
58
82
75
70
64
65
62
57
51
53
55
55
55
54
54
54
53
52
52
52
53
53
54
54
54
58
58
58
57
57
56
56
56
57
57
56
56
55
55
54
54
53
51
50
48
46
45
46
46
47
47
48
49
51
51
50
45
42
45
50
55
55
52
50
50
47
49
54
58
57
55
51
46
46
45
44
82
82
83
84
86
87
88
88
87
87
87
87
87
87
87
87
87
87
89
91
93
92
91
87
86
87
90
96
103
117
157
194
222
239
255
255
255
254
250
246
238
237
233
229
225
215
202
195
184
177
172
177
188
204
224
242
254
255
255
255
251
249
249
250
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
254
255
255
255
253
251
247
244
241
240
242
246
250
251
252
255
255
255
255
255
255
255
252
251
250
240
238
236
234
231
231
234
234
219
228
197
119
55
41
47
47
51
51
52
52
53
53
54
56
55
57
57
56
55
54
53
52
53
56
65
60
44
40
46
42
46
47
50
50
48
46
59
78
73
69
67
70
71
66
59
56
52
53
53
54
54
54
55
55
53
53
53
54
54
55
55
55
57
57
58
56
57
55
56
55
58
57
58
57
57
56
57
57
56
57
52
50
48
46
47
47
49
49
46
46
43
42
41
37
30
33
43
49
54
53
53
53
50
51
53
54
56
53
48
45
45
46
45
78
79
80
81
85
86
87
88
85
85
86
86
86
87
89
88
87
88
91
93
94
91
88
85
85
86
90
93
103
127
172
208
228
240
253
255
251
251
248
243
235
235
230
221
217
214
201
189
189
175
164
169
180
196
215
231
251
255
255
255
255
253
250
251
254
254
254
254
254
254
252
252
253
253
251
250
250
249
249
249
255
254
253
253
255
253
252
248
250
246
247
250
248
244
243
249
255
255
255
255
255
252
252
253
255
255
253
249
242
237
234
232
223
230
202
114
53
51
47
45
49
49
49
49
50
50
52
52
50
53
53
54
55
54
54
53
54
52
45
39
38
42
43
41
48
47
41
40
52
67
68
62
63
66
68
70
69
66
62
59
51
49
48
48
49
50
53
54
54
54
54
54
52
52
52
52
55
54
56
53
55
54
56
55
57
55
56
55
58
57
60
61
58
57
56
52
48
46
46
48
48
49
47
45
41
38
39
39
43
44
49
52
56
57
59
57
54
55
60
59
60
59
52
44
44
43
40
77
78
80
81
83
84
88
88
86
86
87
87
87
88
90
89
88
88
91
93
94
91
90
86
87
86
93
98
110
136
178
209
227
238
253
255
253
249
245
239
236
231
226
216
211
206
196
184
175
166
160
166
181
196
214
228
254
255
255
255
255
255
253
253
254
254
254
254
254
254
252
252
253
253
250
250
250
249
248
248
253
252
253
253
255
255
254
253
253
251
249
241
229
219
222
234
253
255
254
253
251
250
254
255
255
255
255
252
244
236
231
229
223
231
202
112
51
50
46
45
47
47
49
49
50
50
52
52
50
50
53
54
55
54
54
53
53
49
45
39
40
43
44
43
43
42
51
60
64
60
58
57
61
62
65
66
66
65
61
60
54
52
51
48
49
50
52
54
54
54
54
54
52
52
50
50
55
54
54
53
53
54
54
55
55
55
55
55
56
57
58
59
63
62
59
55
53
51
51
54
55
54
52
45
41
42
47
49
59
59
61
62
63
61
58
56
57
60
65
65
67
64
57
48
42
42
39
77
78
80
82
83
85
88
89
88
88
89
89
88
89
91
90
88
89
91
92
94
91
90
86
87
84
90
99
115
142
179
205
223
235
252
255
253
248
242
235
231
224
216
204
198
192
183
173
164
161
163
173
191
206
222
234
254
255
255
255
255
255
253
254
254
254
254
254
254
254
252
252
253
252
250
250
249
249
248
248
253
251
252
253
254
255
254
253
253
251
250
236
216
204
212
230
253
255
254
253
251
250
254
255
255
255
255
252
244
236
231
229
224
231
201
109
48
48
46
46
46
47
49
50
51
50
52
51
50
50
53
53
55
54
55
54
54
49
47
42
44
46
49
50
48
52
73
90
83
61
51
52
56
57
59
60
61
62
62
63
61
58
57
53
53
53
53
54
54
54
54
54
52
52
50
50
55
55
54
54
54
54
55
55
55
55
55
55
56
57
59
59
66
65
63
59
58
56
57
60
62
59
55
49
47
51
61
66
74
74
72
69
64
58
53
50
56
61
68
71
74
70
62
53
46
46
43
77
78
80
82
84
86
89
90
90
90
91
90
90
90
92
91
89
89
91
92
93
91
90
87
85
80
85
96
116
142
173
194
218
231
250
255
252
245
237
228
221
211
201
190
184
178
170
163
168
171
179
192
211
225
239
248
255
255
255
255
255
254
253
254
254
254
254
254
254
254
252
252
252
252
250
249
249
249
247
247
252
250
251
252
254
255
254
253
251
251
250
237
218
208
217
235
253
255
254
253
251
250
254
255
255
255
255
252
244
236
230
228
227
233
201
108
48
48
48
48
46
47
50
50
51
50
51
50
50
50
52
52
54
54
56
55
56
51
50
48
50
51
55
60
71
82
105
116
106
83
65
57
55
54
55
54
56
59
60
62
62
60
60
56
56
56
55
56
54
54
54
54
52
52
50
50
56
55
54
54
54
54
55
56
56
55
55
56
56
58
59
60
63
62
61
57
57
56
57
61
61
59
55
49
47
53
63
69
69
70
69
65
59
52
47
44
50
56
66
71
75
71
62
51
48
47
44
77
78
80
82
84
86
90
91
92
91
92
91
90
90
93
91
89
89
90
91
92
90
90
87
86
80
84
96
116
140
167
184
213
228
247
253
249
242
233
223
214
201
191
182
177
171
165
161
174
182
194
208
225
239
251
255
255
255
255
255
255
254
253
255
254
254
254
254
254
254
252
252
252
252
249
249
249
248
247
247
251
249
251
252
254
255
254
253
251
249
249
241
229
220
225
238
253
255
254
253
251
250
254
255
255
255
255
252
245
236
230
227
229
235
202
109
49
50
50
51
46
47
51
51
52
50
50
49
50
50
52
52
54
54
56
57
58
53
54
54
55
55
61
68
98
115
131
129
121
111
90
65
56
54
53
51
52
55
57
59
60
58
59
56
58
58
57
58
54
54
54
54
52
52
50
50
56
56
55
54
54
55
56
56
56
56
56
56
57
58
59
60
61
60
59
55
55
54
56
59
58
57
54
49
47
51
59
63
63
64
64
61
54
47
43
42
45
52
64
69
74
70
60
49
42
42
39