1
1
1
1
8
8
8
1
8
15
20
15
1
1
8
20
27
27
27
1
1
1
1
8
20
34
34
34
34
34
34
34
34
1
1
1
13
15
27
27
27
27
27
34
34
34
34
34
34
46
46
41
46
46
46
46
1
1
1
1
1
1
1
1
13
20
27
27
27
39
34
41
41
41
46
46
46
46
41
46
58
58
53
53
58
58
58
58
1
8
8
8
13
13
13
34
34
34
34
34
39
34
51
41
53
58
58
53
53
53
53
48
53
53
53
48
53
53
53
53
65
65
65
65
65
65
65
65
65
1
1
1
8
13
15
15
20
20
25
27
27
34
34
34
46
46
46
51
58
58
53
53
53
53
53
53
53
53
53
53
65
65
65
60
65
65
65
60
65
65
65
77
77
77
77
77
77
77
1
1
1
8
15
20
25
27
27
27
27
27
37
27
27
39
34
34
46
58
53
53
53
53
53
53
53
53
53
53
53
63
70
65
65
65
65
65
65
65
77
77
77
77
77
77
89
89
89
84
84
89
89
1
1
1
1
8
20
27
27
27
37
39
34
34
34
34
44
39
34
34
34
39
34
51
48
53
58
53
53
53
53
53
53
53
53
53
53
53
53
65
65
65
75
77
77
72
72
77
77
77
89
89
89
89
89
89
84
84
84
101
101
96
96
96
101
101
1
1
8
20
27
27
34
34
34
44
34
51
51
56
56
51
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
70
65
65
65
65
65
77
72
72
87
89
89
89
89
89
84
89
84
84
89
96
96
96
96
96
96
96
96
96
108
108
108
108
113
113
1
8
15
27
27
27
27
34
34
34
34
34
34
34
34
56
41
53
53
53
63
53
53
58
58
63
63
58
65
65
65
65
65
65
77
77
72
72
82
77
72
72
72
72
89
89
89
84
99
89
89
89
89
89
84
84
101
96
96
96
96
101
96
96
96
96
96
108
108
108
120
120
120
120
125
125
1
8
20
27
34
34
34
34
34
34
46
46
41
53
58
53
53
68
65
75
65
65
75
75
77
72
72
72
72
72
72
72
89
89
84
84
84
94
84
84
96
96
96
96
96
96
96
111
96
96
96
96
108
108
108
108
113
108
108
120
120
132
132
132
137
137
1
1
1
1
1
15
27
34
34
34
34
34
46
46
41
53
53
53
53
53
53
53
53
53
53
65
65
65
65
65
80
72
82
72
72
77
72
72
72
87
87
89
84
84
84
84
89
84
84
84
96
96
96
96
96
101
96
96
96
108
108
123
108
108
120
120
120
125
120
120
144
144
144
149
149
1
1
8
27
34
34
34
34
34
34
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
75
65
65
65
65
65
65
72
72
72
72
72
77
77
72
92
89
84
84
84
94
84
89
84
89
84
84
99
99
96
96
96
96
96
96
96
96
96
96
96
108
108
108
113
108
103
103
120
120
135
120
120
137
127
156
156
156
156
156
156
156
1
1
1
1
1
1
8
20
27
34
34
34
34
46
41
53
53
53
53
53
53
53
65
65
65
65
65
65
65
82
72
72
77
72
72
77
77
77
72
72
84
84
84
89
84
89
84
89
104
96
96
96
96
96
101
91
91
91
96
96
96
96
96
96
111
111
103
103
108
108
108
103
103
120
120
120
115
135
125
120
120
115
127
127
147
127
127
127
149
149
149
139
168
168
168
168
163
163
1
1
1
1
1
8
8
15
27
27
27
34
34
34
34
34
34
34
34
34
34
41
53
53
53
53
53
53
53
53
53
65
65
65
65
65
72
72
72
72
72
72
77
72
84
89
89
89
84
84
84
84
89
89
89
96
96
91
96
91
91
96
96
96
91
91
96
91
96
96
96
111
96
96
96
96
116
108
108
113
103
103
108
108
108
123
123
125
120
120
120
115
127
127
127
127
147
132
127
127
127
149
149
139
139
154
139
139
161
161
161
156
156
156
151
175
175
180
180
175
1
1
1
8
8
13
13
20
20
20
27
27
27
34
39
34
34
34
39
34
34
34
34
34
34
34
34
46
51
53
53
53
53
53
53
60
60
60
60
75
65
65
72
72
72
77
77
72
72
77
84
84
94
89
89
84
89
96
91
96
96
96
96
96
96
96
96
96
96
103
103
108
103
108
123
108
108
113
128
120
115
115
120
125
120
120
120
120
125
135
135
132
127
127
139
139
154
139
139
156
156
151
151
166
151
151
168
168
173
168
173
173
163
163
168
187
192
192
187
1
1
1
1
1
8
13
13
15
20
20
20
27
27
27
27
34
39
34
34
34
34
34
34
51
51
53
53
53
58
58
58
63
53
53
53
53
53
53
53
60
60
60
60
72
72
87
72
72
72
72
84
89
89
89
89
89
84
84
84
84
96
91
91
91
106
96
96
91
96
103
103
108
108
108
115
115
120
115
115
120
135
120
125
135
127
127
127
127
122
122
127
137
137
137
147
147
139
139
151
151
161
166
151
151
168
158
158
178
178
168
168
168
175
175
180
180
180
185
185
175
175
187
204
199
199
194
1
8
15
25
20
20
27
37
27
27
27
27
27
27
34
34
34
34
34
34
34
34
51
41
46
53
53
58
58
53
53
58
60
65
65
70
75
65
65
65
72
72
87
89
99
89
89
84
84
84
91
91
91
91
96
96
96
96
96
96
96
96
96
96
96
91
96
91
108
103
103
103
103
118
115
120
120
125
127
127
127
127
127
127
122
127
122
147
132
142
139
139
139
139
149
149
144
154
154
151
151
151
173
158
158
158
158
178
180
170
170
190
190
180
180
175
187
192
192
197
197
187
194
211
206
211
206
1
1
1
8
8
8
20
27
27
37
37
34
34
34
49
49
34
34
34
34
34
34
34
34
34
41
46
41
63
53
53
53
63
53
53
53
53
72
72
77
77
87
82
77
77
72
79
99
96
96
96
111
111
96
96
96
96
91
103
103
103
103
108
108
108
108
108
103
120
115
115
115
115
115
130
130
120
120
127
127
127
137
142
139
139
139
159
154
151
151
156
156
146
156
151
161
161
161
158
158
158
158
158
180
170
170
170
190
182
182
192
197
197
192
192
199
199
209
209
204
199
206
223
223
218
1
1
8
13
20
20
20
27
27
27
27
44
44
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
56
56
41
46
41
41
53
53
53
53
53
53
60
60
75
70
72
72
72
92
72
84
79
89
89
94
89
84
84
84
91
91
106
91
108
118
118
113
108
108
120
115
115
115
120
125
115
127
127
127
127
127
127
137
137
137
127
127
139
149
149
151
146
171
161
158
158
168
168
158
173
173
173
170
182
182
182
192
182
202
199
204
199
209
209
189
204
204
204
204
211
211
216
221
221
221
221
211
223
218
235
230
230
1
1
8
13
13
8
15
27
27
34
34
34
34
34
39
34
34
34
34
34
46
41
41
46
46
41
41
41
41
41
41
41
41
68
68
53
58
53
53
53
53
53
82
87
72
87
82
72
87
79
79
84
84
84
84
104
79
91
91
101
101
106
96
96
96
96
111
96
96
103
103
118
120
125
115
115
127
127
137
122
127
139
134
149
149
149
151
151
161
161
151
146
146
158
158
183
170
180
180
185
185
185
182
182
182
199
189
189
214
204
189
189
206
211
211
201
221
221
211
211
211
211
218
223
228
233
233
233
233
223
235
230
230
242
242
242
1
20
20
25
25
27
27
27
27
27
34
34
34
34
34
34
34
34
46
41
41
51
41
58
48
53
53
48
53
63
53
53
53
53
80
80
60
65
65
60
65
65
65
65
65
60
60
89
94
84
99
94
94
84
84
84
79
99
91
96
96
91
96
96
96
111
111
96
96
118
123
103
103
113
113
110
110
120
120
130
130
120
132
127
144
134
134
151
161
151
151
161
161
146
146
158
168
168
158
158
158
195
182
182
187
187
197
197
197
189
204
204
189
189
189
189
201
201
216
201
226
201
223
218
213
233
233
223
223
235
240
240
240
240
235
240
242
242
242
254
254
254
1
1
1
25
25
27
32
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
39
34
46
46
53
53
53
53
53
63
53
65
65
70
65
60
60
60
60
87
92
72
77
77
72
77
72
72
84
84
84
84
79
79
79
106
96
106
106
106
96
96
91
91
91
91
91
106
91
108
103
108
123
118
118
103
103
103
110
110
125
120
130
125
125
115
115
110
142
142
127
127
127
127
156
151
173
158
158
168
168
158
158
158
207
199
199
209
209
209
189
189
216
216
201
201
201
201
213
213
228
213
238
213
235
235
235
245
245
247
252
252
247
252
254
254
254
266
266
266
1
32
27
37
27
27
27
34
34
34
34
49
34
34
34
34
34
34
46
46
46
41
41
46
41
41
41
46
51
58
58
58
58
53
53
75
60
92
72
72
72
72
104
99
84
89
89
84
84
84
84
84
84
84
79
79
79
79
79
84
96
96
91
91
96
96
91
91
91
91
91
118
118
113
113
108
103
103
103
113
103
103
103
103
115
115
130
115
110
110
115
115
115
110
110
137
127
137
142
142
132
132
127
127
127
127
127
149
149
151
146
168
158
158
185
175
175
177
219
211
211
221
221
221
221
228
228
213
213
213
213
235
245
235
235
247
247
247
257
257
247
259
259
264
264
264
254
266
266
266
266
278
278
278
1
1
1
1
1
27
27
27
27
27
27
27
34
49
34
34
34
34
34
34
46
46
61
41
41
58
53
53
53
58
58
53
53
58
53
53
63
53
53
53
53
53
80
65
65
65
65
60
60
60
65
72
87
72
72
72
99
104
84
79
79
79
79
84
111
106
91
96
96
96
96
96
96
91
91
91
91
91
96
103
103
103
103
103
113
103
130
130
130
120
115
115
115
130
110
110
125
115
110
110
122
137
137
127
127
127
127
127
127
127
122
127
127
149
149
139
139
139
139
139
161
161
151
151
161
146
158
158
158
183
158
180
175
197
187
177
177
177
177
202
189
199
226
221
223
223
233
233
233
233
235
235
247
252
247
247
247
259
259
259
264
264
259
254
271
271
276
276
271
266
266
278
278
278
273
290
285
290
1
1
1
1
1
1
1
1
1
27
27
27
27
34
34
34
34
34
34
34
34
34
34
46
61
41
46
41
58
53
53
53
53
73
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
65
65
65
60
60
60
70
75
60
65
65
65
87
77
77
77
72
72
72
72
84
84
99
106
111
96
96
91
96
96
91
91
91
96
91
96
91
91
96
123
103
108
118
103
103
103
103
108
120
115
115
115
115
115
115
110
110
110
115
137
137
142
127
127
122
122
137
122
137
127
127
122
137
127
159
139
139
139
139
156
156
151
161
161
146
151
151
151
146
146
146
146
173
173
158
158
158
158
158
158
158
178
178
195
192
187
192
177
192
209
194
189
189
214
204
221
221
201
211
211
233
233
223
223
235
235
245
245
245
240
247
247
247
252
254
264
254
259
259
266
266
266
266
271
271
266
266
283
283
283
283
283
273
273
290
285
290
285
302
297
297
1
1
1
1
1
1
1
27
27
27
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
41
41
41
41
41
41
58
53
53
73
53
53
53
53
68
53
53
53
53
53
53
53
53
63
53
53
53
53
53
53
65
65
70
85
60
65
65
65
65
77
77
72
82
82
72
72
72
72
72
72
72
72
72
72
77
77
99
89
89
84
84
89
106
91
96
96
96
96
91
91
91
91
91
96
91
91
96
91
91
96
123
118
108
103
103
103
108
108
103
108
135
115
115
115
115
115
125
115
115
115
110
110
110
115
115
115
127
122
127
122
122
122
122
127
127
127
122
122
122
127
154
134
144
139
134
149
161
171
146
146
146
146
146
168
168
158
158
158
158
163
163
163
158
158
185
185
170
170
175
175
175
175
180
190
190
202
192
192
177
204
204
204
199
221
206
201
201
221
216
233
233
233
213
223
223
245
240
235
235
247
247
257
257
257
252
259
254
254
254
264
266
271
271
266
276
266
266
278
278
278
278
283
283
273
273
295
290
290
290
290
285
302
297
297
314
309
309
1
1
1
1
1
13
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
41
46
51
41
41
73
63
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
70
80
85
60
60
60
80
65
65
75
65
65
77
77
82
92
72
72
72
87
87
72
72
72
77
77
72
72
72
77
77
72
89
84
84
84
89
89
84
84
84
84
84
84
84
84
84
84
84
89
89
84
84
111
91
91
96
91
91
96
96
111
96
96
96
96
101
91
91
96
91
91
91
96
96
113
113
103
103
103
103
103
103
108
108
103
103
103
135
125
115
115
115
115
115
115
115
115
115
110
110
110
120
120
115
147
122
127
127
127
132
127
127
127
127
127
127
122
127
137
134
134
139
134
134
166
146
146
146
146
146
146
146
156
161
178
158
158
168
168
170
175
180
180
180
180
175
175
175
170
170
180
197
197
182
182
187
187
197
197
192
177
177
177
197
197
209
209
204
204
189
216
216
211
211
233
218
213
213
228
228
235
235
245
240
240
225
235
230
257
257
252
242
242
259
259
269
269
269
254
271
266
266
276
271
278
283
273
278
278
283
290
285
285
290
285
285
290
290
295
290
280
285
295
307
302
302
302
314
309
309
304
326
316
316
1
1
1
1
1
1
1
1
1
27
27
27
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
46
41
41
41
41
41
46
46
41
41
41
41
41
48
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
80
60
75
65
65
65
65
65
65
65
65
82
92
72
72
72
87
72
72
72
72
72
77
77
82
72
72
72
77
77
89
89
104
84
84
84
84
84
84
84
99
99
84
84
84
84
84
84
99
84
84
84
84
84
84
89
84
84
84
84
84
84
96
91
96
91
91
96
96
91
96
96
91
96
96
96
96
101
101
91
91
96
91
96
96
96
96
96
123
103
103
103
103
103
118
108
113
113
108
115
115
125
125
115
115
115
115
115
115
115
110
110
135
120
115
120
115
115
147
137
127
127
127
127
127
127
127
127
127
122
122
127
127
139
144
139
139
139
134
159
139
149
149
146
146
146
146
146
146
146
161
146
156
178
158
158
173
173
158
163
163
173
168
175
175
185
185
180
180
180
182
192
192
192
192
177
177
187
187
187
182
182
192
209
209
199
199
194
209
209
204
189
189
204
204
216
211
211
221
216
216
201
228
218
233
223
228
218
223
245
230
225
225
235
247
247
257
237
247
242
242
269
249
269
271
271
281
281
281
271
278
278
278
273
283
290
285
285
290
285
285
290
290
280
285
295
295
297
297
297
302
297
302
302
297
292
307
307
302
319
314
309
304
304
314
326
316
316
316
316
316
333
328
328
1
1
1
1
1
1
1
1
1
27
27
27
27
27
27
27
27
27
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
41
41
41
51
41
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
58
53
53
53
53
53
53
60
60
60
60
60
60
65
65
65
65
65
65
65
65
65
60
60
65
65
65
72
82
72
72
72
72
72
77
77
77
72
72
77
72
72
89
89
104
84
84
84
84
94
94
84
84
84
84
84
84
84
84
84
84
84
84
84
89
89
84
84
84
84
84
84
84
84
96
96
91
96
96
91
96
96
106
106
96
116
96
96
106
96
111
101
91
91
96
111
96
96
96
108
103
103
103
103
103
108
108
108
108
108
108
103
108
115
115
115
115
115
125
115
135
135
120
115
127
127
137
137
122
127
127
127
147
127
127
149
139
139
149
139
139
134
134
159
139
149
144
146
146
146
146
146
146
146
146
151
146
146
146
171
146
151
161
156
156
158
158
158
158
158
173
168
190
170
170
175
175
175
185
185
170
180
180
197
197
192
187
197
197
192
192
192
204
204
204
204
199
199
199
194
194
199
221
221
206
206
216
216
206
211
201
201
216
216
228
218
223
223
228
238
223
223
213
218
240
225
235
230
230
252
247
245
237
237
247
247
254
254
269
254
249
264
249
276
271
271
261
276
278
278
293
293
293
290
285
290
285
290
290
290
290
285
285
280
280
297
302
297
297
292
297
307
307
309
309
309
314
304
314
314
304
309
304
304
319
319
309
326
326
321
316
316
316
316
316
316
316
316
321
333
328
328
345
340
340
1
1
1
1
1
1
1
1
1
1
1
1
1
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
51
46
46
41
53
53
53
53
58
53
53
53
63
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
48
63
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
60
60
60
60
60
65
65
65
65
65
65
65
65
65
65
65
65
65
60
60
65
65
72
72
72
72
72
72
72
72
77
77
77
77
77
77
72
72
72
77
77
77
89
84
84
89
84
84
84
84
84
84
84
84
84
84
79
79
84
84
84
84
84
84
84
96
96
96
96
96
96
116
96
96
106
96
96
96
96
96
96
96
108
103
103
113
113
113
108
123
108
113
108
123
108
108
123
108
113
115
115
115
115
115
115
115
115
115
115
120
135
120
115
130
115
120
115
115
120
122
147
122
122
122
127
147
147
127
149
149
139
139
149
154
139
139
144
144
161
146
146
146
146
151
161
146
146
171
161
156
156
158
158
178
173
173
178
163
168
163
168
170
170
170
170
170
175
175
180
180
202
182
182
187
187
187
187
192
192
182
187
192
209
209
204
209
194
204
204
204
199
199
199
211
211
211
211
211
211
211
206
206
233
233
218
218
223
218
223
213
213
228
235
225
230
230
235
235
235
245
225
252
237
247
247
242
259
264
249
254
249
276
261
276
261
288
273
273
283
283
288
290
290
305
305
305
285
290
295
290
290
285
285
285
297
297
302
302
302
292
292
297
297
309
314
304
304
309
304
304
304
319
309
314
321
326
316
321
326
326
316
321
316
331
331
316
316
316
316
316
316
321
321
338
338
333
328
328
328
328
328
328
333
345
340
335
357
347
347
1
1
1
1
1
1
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
41
41
46
46
41
41
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
48
53
48
63
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
60
70
70
60
65
65
65
85
65
65
65
65
70
60
60
60
60
75
60
60
60
65
65
65
65
77
72
72
72
72
72
72
77
77
77
77
77
77
77
77
77
72
72
77
77
84
84
84
84
89
84
84
84
84
84
84
84
84
84
84
84
84
79
99
99
84
84
84
84
84
94
84
84
84
84
84
96
96
96
96
96
96
96
96
113
113
103
103
108
123
108
113
108
113
108
108
115
115
115
130
120
125
120
120
130
115
115
115
125
125
135
120
130
120
125
125
122
122
122
122
122
127
132
147
132
127
142
137
127
132
154
154
154
139
154
154
139
161
166
166
161
151
151
161
156
156
168
168
168
173
173
178
168
168
168
170
170
190
185
185
175
185
190
175
175
175
180
182
182
182
182
182
187
187
187
214
194
194
194
199
194
194
199
199
216
216
211
206
211
216
206
211
211
233
223
223
223
223
223
223
223
240
240
225
230
235
225
225
240
242
237
257
259
259
259
249
264
249
276
261
261
261
261
276
283
283
283
288
283
283
273
285
285
285
300
285
285
295
297
302
302
317
317
317
297
302
302
307
297
292
297
297
309
314
309
309
304
304
304
309
309
316
326
321
321
316
331
316
316
316
316
321
321
321
326
333
338
328
333
338
338
328
328
343
343
328
328
333
350
345
350
345
340
340
340
340
335
335
357
352
347
347
369
359
359
1
1
1
1
1
1
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
41
41
41
41
41
46
41
41
46
53
53
53
53
53
53
73
53
53
53
53
53
53
53
53
58
53
53
48
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
60
60
60
60
65
65
65
65
60
70
70
60
60
65
65
65
65
65
65
65
65
65
65
77
72
72
72
77
77
72
72
77
92
77
77
77
82
67
67
67
67
67
67
82
92
72
77
77
87
77
77
84
84
84
84
84
84
84
94
84
84
84
84
84
84
84
84
89
89
79
79
79
84
84
84
84
96
96
96
96
96
96
106
106
96
96
96
101
113
103
103
108
108
108
108
115
115
115
130
125
130
120
125
120
120
115
115
115
120
120
125
122
122
142
132
132
132
132
132
132
147
132
137
132
137
132
139
144
154
139
139
154
149
144
166
151
166
173
173
173
173
173
163
163
168
168
168
175
180
180
185
180
190
175
180
175
182
182
197
192
192
197
197
187
187
187
194
194
194
199
199
199
199
221
206
206
211
206
206
206
211
218
218
223
218
218
230
230
235
235
235
242
252
252
237
247
245
242
247
252
254
244
244
244
254
249
271
261
266
276
276
276
288
273
283
273
288
285
285
285
285
295
295
300
295
285
297
312
297
302
304
309
329
329
329
309
309
309
309
309
309
314
309
319
304
304
304
304
309
309
309
309
314
321
321
321
321
316
316
321
316
316
321
328
338
333
328
343
328
328
333
333
333
345
345
345
350
340
340
355
355
335
335
345
350
345
352
357
362
362
357
352
352
347
352
347
347
352
347
347
347
369
359
359
359
376
366
366
1
1
1
1
1
13
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
41
41
41
41
41
46
61
46
46
41
46
46
41
41
41
41
41
41
53
53
53
53
53
73
53
53
53
53
53
58
48
48
53
53
53
53
53
53
53
53
53
65
60
60
60
60
60
65
65
65
80
65
65
65
65
65
80
75
65
65
65
65
65
70
65
65
72
72
72
72
77
77
87
77
77
77
67
67
77
77
72
77
77
77
77
77
77
72
77
77
84
84
84
84
84
89
84
84
84
84
84
84
89
89
79
79
79
79
79
79
89
89
79
79
104
84
84
99
84
84
96
96
96
96
96
106
96
101
96
96
96
103
108
108
108
108
108
130
130
115
115
130
120
120
115
115
120
142
132
132
127
132
132
137
154
144
144
144
144
139
154
139
144
149
144
144
139
151
161
151
161
161
146
173
173
163
178
185
185
175
175
175
175
175
175
187
187
187
197
192
197
187
187
187
187
194
194
204
199
209
199
211
206
211
206
206
228
228
218
213
213
223
223
218
223
218
218
218
225
230
235
230
235
250
245
230
230
230
247
247
237
237
247
242
242
242
247
247
247
254
244
264
264
254
254
254
266
261
266
256
256
256
276
271
261
276
276
273
278
283
288
288
283
283
288
285
290
285
300
295
297
297
297
307
302
312
302
297
304
309
309
309
309
309
309
304
324
314
309
314
314
316
341
341
341
321
321
321
321
321
316
321
321
321
326
331
333
333
333
333
328
333
328
345
350
340
355
335
335
345
345
350
352
357
352
352
357
357
357
362
352
352
367
367
347
347
347
347
357
364
369
374
374
369
359
359
359
359
359
359
359
359
359
376
376
376
371
371
366
366
366
366
388
378
378
1
1
1
25
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
41
46
41
41
41
41
61
46
41
41
41
41
41
41
46
51
53
48
48
58
53
68
53
53
53
53
58
58
53
53
48
48
53
48
60
60
65
65
80
65
65
65
60
60
60
65
65
65
60
65
72
72
77
77
87
77
77
72
77
67
67
72
87
82
77
82
72
77
77
77
77
82
82
77
89
84
84
84
84
99
94
84
84
84
84
84
84
84
84
84
84
84
84
96
96
96
96
96
101
96
91
91
101
101
91
91
91
91
111
96
106
96
96
96
108
103
113
108
113
118
118
108
113
130
130
130
120
115
115
142
142
132
132
132
132
154
144
144
139
144
144
144
166
146
146
161
161
151
151
151
163
163
173
168
158
163
180
175
185
197
197
197
187
187
187
204
194
194
199
199
204
199
199
194
216
211
211
206
211
221
206
206
206
233
223
228
223
218
218
218
218
218
218
240
230
225
225
235
230
230
230
230
230
230
230
247
247
237
237
247
242
242
242
247
257
242
262
242
242
259
259
249
249
259
254
249
259
259
259
266
261
261
271
271
271
271
271
266
278
278
268
268
278
283
273
288
285
285
290
285
295
290
300
300
295
297
302
309
304
309
324
309
319
314
321
321
321
316
321
336
326
321
321
326
326
353
353
353
333
328
328
333
333
345
345
345
345
345
335
340
345
352
357
352
352
352
357
362
352
367
347
347
347
347
357
364
369
369
364
369
364
369
374
364
379
359
359
359
359
374
359
359
359
359
369
359
376
381
376
376
376
376
376
381
381
371
366
371
371
366
366
381
388
383
378
378
378
378
378
400
390
390
1
1
1
1
13
20
20
27
37
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
49
34
34
34
46
41
41
41
51
41
41
41
51
41
41
51
46
46
46
41
53
53
68
53
53
53
58
58
58
48
53
48
53
53
58
58
58
53
63
53
53
48
53
60
60
60
65
75
65
65
60
65
65
65
65
60
60
65
80
77
87
77
77
67
67
67
67
67
67
77
84
84
84
99
84
79
89
89
89
89
84
84
84
84
84
84
94
94
89
101
91
96
96
96
101
96
96
108
108
108
108
113
113
103
103
103
103
103
103
108
113
120
115
130
130
130
125
125
115
125
142
142
132
132
149
149
144
144
144
144
166
146
151
146
146
146
161
151
151
178
158
163
163
180
175
180
180
170
170
192
187
182
197
197
197
197
197
197
209
209
199
199
194
209
199
194
194
216
211
216
206
206
206
223
228
213
223
223
228
218
218
235
240
245
230
230
230
230
230
230
230
235
230
247
237
237
242
247
242
257
242
242
242
259
249
254
254
254
254
269
271
271
261
271
271
271
271
271
271
266
261
271
271
271
276
278
278
283
283
283
285
285
285
290
285
290
297
297
302
297
297
302
312
297
312
302
302
302
302
309
314
309
314
314
321
316
321
321
321
326
326
326
333
328
328
328
333
328
333
348
333
333
333
365
365
365
340
340
345
345
340
345
345
340
357
357
357
347
352
347
347
352
357
369
364
369
364
369
374
359
374
359
359
359
369
359
359
359
376
381
376
381
376
376
381
376
371
371
371
391
386
366
366
366
366
366
381
381
381
388
393
388
388
388
393
393
383
378
381
378
383
378
393
383
395
390
390
390
390
385
402
407
402
1
25
20
20
27
27
27
27
37
34
44
34
34
34
34
34
34
49
34
39
34
34
34
34
34
34
34
34
34
34
34
46
41
41
41
56
56
46
46
46
46
41
46
41
41
46
46
56
46
41
58
58
53
58
53
58
53
53
53
58
53
53
58
60
60
60
65
65
60
60
65
65
65
60
65
65
65
65
65
65
65
70
72
72
72
77
77
67
72
82
87
77
67
67
67
67
67
67
87
84
89
84
84
84
89
111
101
91
101
101
96
101
101
96
96
106
101
101
103
108
108
113
108
115
120
115
120
120
115
125
125
115
115
115
115
115
115
115
125
132
142
137
137
137
137
137
154
149
144
139
139
144
161
161
146
146
146
156
178
158
163
158
173
163
175
175
190
170
185
185
175
192
187
177
197
197
199
199
194
199
194
209
209
221
221
211
211
221
206
206
206
223
223
213
223
223
228
218
218
240
240
225
230
230
230
230
240
235
230
252
247
257
242
242
242
259
254
254
271
271
266
271
266
261
281
283
283
283
283
283
273
283
278
278
290
295
290
290
295
297
302
297
297
302
302
309
314
309
309
314
324
324
309
314
321
321
316
326
326
326
328
333
328
333
333
333
333
333
340
340
345
340
345
360
340
345
345
340
340
340
377
377
377
352
352
357
347
357
352
357
352
369
369
359
359
374
359
359
364
359
359
369
381
376
376
381
376
366
366
381
366
366
366
381
393
388
393
388
383
383
398
378
378
398
378
378
378
393
400
405
400
395
395
405
405
395
390
385
395
390
395
407
402
397
407
407
397
407
397
407
397
397
414
419
414
1
1
1
1
1
1
1
1
1
1
1
13
25
20
25
20
27
27
32
27
27
27
27
37
27
27
27
34
34
34
34
34
34
44
34
34
34
34
34
34
34
34
51
56
51
41
51
46
46
46
46
51
48
48
63
63
53
53
58
58
48
53
53
53
53
53
53
58
60
60
65
65
65
65
65
65
75
65
65
65
65
72
67
72
72
72
72
72
67
72
72
67
77
72
72
77
77
84
84
84
84
79
89
94
89
89
89
84
84
84
84
84
84
89
96
101
118
103
113
108
108
108
113
113
108
120
115
115
115
120
120
120
132
132
127
137
127
127
127
127
127
127
137
137
144
149
144
144
144
149
144
156
166
161
146
146
161
161
161
156
178
173
158
158
163
170
175
180
165
185
185
185
190
175
202
182
177
197
197
194
194
189
209
211
211
206
216
216
233
223
233
218
223
223
233
218
218
240
230
230
235
230
230
230
247
252
247
252
237
242
242
247
264
259
259
254
254
274
264
271
266
261
283
283
278
273
295
295
290
295
290
290
285
295
290
302
302
302
302
314
309
314
314
321
326
316
336
326
333
328
328
333
340
345
340
345
340
345
345
345
340
340
340
352
352
357
372
352
352
357
352
352
389
369
364
364
384
384
369
374
359
369
364
359
369
381
381
371
386
366
366
366
381
388
378
378
378
378
378
378
378
378
405
405
400
390
390
410
405
385
385
385
412
407
412
417
407
402
397
412
407
397
407
397
419
417
409
419
409
419
409
419
409
409
426
426
426
1
1
1
1
1
1
13
25
25
27
27
27
32
32
27
27
27
34
39
34
34
34
39
34
34
34
34
34
44
34
34
34
34
34
34
34
34
39
34
34
34
46
41
46
41
41
41
41
46
51
51
46
63
48
48
58
48
48
58
58
53
63
63
53
53
53
58
58
70
70
60
70
70
70
65
65
65
70
65
65
65
72
77
72
72
72
82
77
72
77
77
94
79
79
79
84
84
89
79
79
79
79
79
89
84
84
84
84
96
96
96
86
101
106
101
96
101
118
113
113
108
125
120
120
110
120
115
120
120
125
120
120
127
127
137
132
132
144
144
139
139
149
149
134
134
134
134
139
156
156
146
156
161
161
161
151
151
156
178
178
158
173
163
185
185
185
170
165
185
185
175
177
177
187
197
214
189
189
209
209
201
216
218
223
218
228
228
245
245
230
235
230
240
230
230
252
257
242
242
242
264
259
259
254
249
269
259
264
271
271
261
276
283
273
273
295
290
290
285
307
307
302
297
307
302
302
302
314
314
314
326
326
326
333
328
348
338
333
333
345
340
340
345
340
352
357
357
352
352
364
384
364
364
359
364
381
376
376
401
396
366
381
366
393
393
383
398
378
381
378
395
390
390
390
385
385
390
412
412
417
402
422
397
397
407
402
397
424
429
419
409
409
424
419
409
419
431
429
426
421
426
421
421
431
438
438
438
1
1
1
1
1
1
1
13
13
13
20
32
27
27
32
27
27
27
34
34
34
34
34
34
34
34
39
39
34
34
34
34
34
34
34
34
34
34
39
46
41
41
46
41
41
41
46
46
41
46
41
41
41
51
51
51
46
41
48
53
53
53
48
53
48
58
48
48
48
63
53
58
58
75
65
65
65
65
75
75
65
65
65
65
70
77
72
67
77
77
77
77
77
77
77
84
79
94
84
84
79
79
79
79
79
94
101
101
91
96
96
101
91
91
91
108
108
113
113
118
118
108
108
125
115
115
115
115
125
125
122
127
127
127
127
132
132
132
127
132
159
139
144
156
156
146
161
161
161
161
151
146
151
146
151
151
168
158
168
173
163
163
185
185
185
185
165
185
185
190
175
197
197
177
177
177
197
197
189
199
189
209
194
226
201
201
221
221
218
208
208
230
230
240
240
230
257
257
252
242
242
247
242
242
249
264
254
271
261
261
261
281
271
276
283
273
285
285
307
302
292
292
302
319
319
314
309
319
314
314
326
326
326
333
333
333
333
360
345
345
345
352
357
352
359
359
369
364
376
396
376
388
388
413
408
378
405
410
385
407
412
402
402
397
397
407
424
429
409
409
429
414
436
431
441
421
426
421
436
426
441
438
438
438
433
433
443
450
450
450
1
1
1
1
20
25
20
27
27
27
27
27
27
27
27
27
27
27
27
27
39
34
39
34
34
34
34
34
34
39
34
34
34
34
39
34
34
34
34
34
46
41
41
46
41
51
41
46
46
41
46
41
46
48
53
48
48
53
53
58
53
53
53
58
58
58
58
60
65
75
65
65
60
60
65
75
65
65
65
87
67
67
77
72
87
82
72
77
77
77
77
89
84
79
79
89
79
79
79
79
79
79
94
84
96
91
101
96
91
91
106
108
103
108
108
113
113
103
98
98
120
120
115
115
125
125
120
115
115
115
115
120
127
127
127
134
139
139
139
144
144
144
144
171
166
151
151
173
173
173
163
158
163
158
163
163
180
185
185
170
170
185
185
175
197
197
182
182
209
209
189
189
189
189
209
194
194
201
211
221
238
208
208
233
233
228
220
220
240
240
252
242
252
252
247
269
269
254
254
259
264
264
254
254
266
273
273
273
273
278
292
292
302
307
302
319
314
304
304
314
314
331
326
326
321
331
326
321
333
338
338
345
345
350
345
372
352
352
369
359
364
381
376
388
388
400
425
420
390
395
412
417
397
424
409
409
409
417
409
409
436
441
441
426
426
443
453
433
443
438
433
448
438
450
450
453
445
450
462
457
457
457
457
1
8
13
8
27
27
27
27
27
27
27
32
27
27
27
32
34
34
34
34
34
34
39
34
34
34
34
34
46
51
46
46
41
46
46
46
46
46
41
46
46
53
53
53
48
53
63
53
58
63
53
53
53
58
58
53
65
60
65
60
60
60
65
60
60
65
65
65
65
72
77
77
77
67
72
77
77
72
99
79
79
89
79
79
89
84
91
91
91
96
91
91
91
91
96
108
98
113
108
98
98
118
115
120
120
110
115
132
132
127
137
132
127
127
134
134
146
151
151
156
163
178
185
185
185
185
175
170
175
170
170
185
175
192
197
197
197
197
182
182
204
194
194
201
201
216
216
223
208
208
228
228
250
230
230
220
220
245
245
240
240
227
232
247
254
264
264
259
264
281
281
271
266
266
285
285
290
292
302
302
302
304
304
314
326
326
326
311
316
321
338
328
343
338
350
350
352
362
384
364
364
369
381
376
398
393
388
400
395
400
437
432
407
409
409
414
436
429
431
426
431
421
453
448
453
443
438
433
433
443
433
433
433
455
465
445
450
455
455
455
462
462
465
457
462
457
457
474
469
469
469
469
1
1
1
8
13
15
20
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
44
41
41
41
41
51
46
46
48
53
58
53
53
53
58
65
60
60
65
65
60
60
60
65
65
65
77
72
67
72
72
72
77
77
72
72
72
84
89
89
89
79
79
79
79
89
89
84
111
101
98
98
103
103
98
103
98
108
120
115
125
120
127
132
122
144
144
134
144
139
139
173
158
178
168
170
170
197
182
197
197
187
182
187
182
204
204
209
209
194
206
208
228
235
220
240
262
242
232
227
227
252
247
239
259
239
266
276
276
266
293
293
278
278
283
278
292
302
304
314
326
311
311
321
338
323
323
350
340
355
350
362
357
384
384
374
364
396
376
381
376
388
410
405
400
405
407
449
444
429
414
409
431
421
441
438
433
443
433
433
438
438
443
433
433
465
465
450
445
445
455
445
445
455
455
467
457
462
457
457
457
457
474
474
477
469
474
469
469
486
481
481
481
481
1
1
1
13
13
8
15
20
27
27
27
39
34
39
34
34
46
46
46
41
51
46
46
46
48
53
53
53
65
70
60
60
65
65
65
65
65
65
77
72
77
72
72
72
72
72
89
79
79
84
79
84
79
79
84
89
84
96
101
101
91
91
101
101
101
96
123
103
115
115
115
110
127
127
132
132
139
144
129
156
156
156
151
173
170
180
204
194
209
194
194
204
194
194
216
216
216
235
247
232
227
274
249
244
239
259
251
266
251
273
288
283
278
305
300
290
295
314
316
311
321
323
335
335
362
352
362
362
369
396
386
381
388
388
393
388
400
400
422
417
412
417
461
456
441
426
421
443
438
450
455
450
445
455
445
455
477
457
457
467
457
457
469
474
469
469
469
469
486
486
481
489
486
476
476
498
488
488
488
488
1
1
1
1
1
1
1
1
13
13
13
20
20
20
27
27
27
27
27
34
34
34
39
51
51
46
46
48
58
53
58
53
53
63
53
53
65
65
70
65
60
70
72
72
72
72
72
77
77
72
89
89
79
79
79
84
84
101
91
91
86
91
96
108
108
98
113
103
135
115
110
115
120
127
132
122
122
127
139
139
144
134
134
134
134
144
146
146
146
156
151
151
141
163
163
168
163
177
199
206
216
216
206
201
206
201
221
228
228
254
239
286
261
251
263
285
295
295
290
312
312
302
307
326
323
335
364
374
369
381
408
398
393
400
400
400
412
412
412
434
424
424
468
453
468
433
455
450
450
462
467
457
457
462
489
469
469
481
476
476
476
476
498
498
493
501
498
488
488
510
500
500
500
500
1
1
1
1
1
1
13
8
13
8
13
13
8
8
20
20
20
32
32
34
34
34
34
34
34
34
39
34
46
46
41
46
41
41
51
48
63
58
53
53
48
48
53
53
53
70
65
70
60
75
60
72
72
82
77
77
84
84
79
79
89
84
84
101
106
101
96
96
113
113
108
103
108
103
98
113
120
115
115
110
130
125
115
147
127
122
127
139
144
129
166
151
146
156
146
146
151
156
158
163
163
153
175
180
175
187
189
218
228
218
218
240
240
273
283
275
297
307
302
324
314
319
314
357
376
386
393
420
400
405
412
424
424
446
436
438
465
480
475
450
469
469
501
493
488
510
510
505
510
500
508
500
517
512
512
512
512
1
8
13
13
13
8
8
20
20
20
20
27
27
34
34
34
34
44
56
41
46
41
41
41
48
53
58
53
53
53
53
48
48
53
53
70
65
65
60
60
65
60
65
70
82
72
72
77
77
72
67
72
72
72
87
72
72
77
79
79
94
79
79
79
79
89
89
101
96
91
91
96
91
91
96
113
113
125
130
120
115
115
115
110
115
110
110
110
132
122
137
122
159
139
134
139
129
146
156
151
151
141
163
158
168
173
158
158
185
185
165
175
175
165
187
187
182
201
223
230
240
230
230
252
252
261
285
295
290
309
319
336
326
326
326
369
376
398
432
412
412
417
436
458
443
450
492
477
462
476
476
513
500
517
522
520
517
529
524
519
524
519
1
1
1
20
25
20
15
27
27
27
27
44
34
34
34
34
34
46
41
41
41
63
58
53
53
53
60
65
60
65
60
65
65
72
72
72
72
72
84
89
89
89
84
84
79
99
79
91
91
91
91
101
98
103
108
103
103
103
120
110
110
137
137
132
127
127
122
122
122
122
122
144
129
171
146
146
141
158
168
163
153
175
170
180
170
170
185
197
177
177
182
177
199
199
194
213
228
235
242
252
242
242
264
264
261
273
297
302
321
348
338
338
338
388
410
444
424
424
470
455
504
489
488
488
508
520
517
532
529
524
541
536
536
8
8
8
32
27
32
34
34
34
34
34
34
51
46
46
41
53
53
53
53
53
60
65
65
77
72
77
84
79
79
84
91
96
96
91
111
98
98
103
98
98
110
115
110
110
110
115
132
127
149
139
139
134
129
129
129
156
141
183
158
153
170
180
170
165
177
187
177
177
192
182
182
197
204
189
189
211
211
201
228
225
252
254
264
254
254
276
261
276
285
309
333
360
350
350
422
456
436
482
516
496
500
517
520
532
529
539
548
548
548
1
1
1
44
44
53
65
65
65
65
65
77
89
108
123
110
115
122
122
127
144
161
151
168
153
195
170
165
182
192
177
199
189
204
194
194
201
201
223
223
240
237
266
276
266
266
288
288
297
321
345
372
362
434
468
494
528
532
544
541
560
560
