1
8
1
1
15
8
8
27
1
1
1
20
15
34
34
34
8
27
27
27
34
34
46
46
46
20
34
58
58
58
58
1
1
27
46
65
65
65
65
1
1
13
27
34
53
77
77
1
8
13
25
34
34
39
34
89
89
8
15
25
37
34
34
34
51
53
101
101
1
1
1
20
27
27
27
27
27
27
37
37
34
34
34
49
49
46
63
113
113
1
1
8
8
27
27
39
34
39
34
34
44
44
56
56
58
53
75
125
125
1
1
1
8
8
15
15
27
34
34
34
34
51
51
53
68
68
70
87
137
137
1
1
1
1
1
8
13
13
20
20
27
27
27
27
27
27
27
34
34
34
34
34
34
63
53
53
65
80
80
82
99
149
149
1
1
1
1
8
8
20
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
53
75
75
77
92
92
92
92
94
94
111
161
161
161
161
1
1
8
13
13
15
15
27
27
27
34
34
34
34
34
34
34
39
34
34
34
39
34
46
46
41
46
41
46
46
46
46
53
53
53
82
82
89
99
99
99
99
101
101
123
173
173
173
173
1
1
1
20
20
27
27
27
27
39
34
41
41
46
46
46
41
51
51
53
58
58
53
53
53
53
58
58
58
58
65
65
101
111
111
113
113
135
180
180
180
180
1
1
1
13
27
27
27
37
34
34
34
34
34
34
34
49
46
51
46
41
53
53
58
53
58
53
53
48
53
53
48
53
53
53
53
58
58
65
60
65
65
60
65
70
70
65
65
72
72
113
123
123
125
125
147
192
192
1
1
1
8
8
20
27
34
34
34
34
34
34
34
49
46
41
61
53
53
58
53
53
53
53
53
53
53
53
53
53
53
53
65
65
65
65
65
65
65
77
72
77
77
72
82
77
77
82
77
77
125
130
135
135
137
137
159
204
204
1
1
8
15
15
27
27
27
34
34
34
39
34
34
34
61
58
53
53
53
53
53
53
53
53
53
53
73
65
70
65
65
65
65
65
77
77
77
72
72
72
72
72
89
84
89
89
84
89
84
84
89
89
89
137
147
142
142
147
144
144
171
216
216
1
1
1
1
1
1
1
8
20
27
27
27
27
34
34
34
34
34
46
46
51
41
41
41
53
53
53
53
53
53
53
53
53
53
58
73
73
65
65
65
85
85
77
77
72
77
77
72
72
72
72
89
84
84
84
96
101
101
96
96
101
101
101
101
137
137
149
154
149
149
154
156
183
228
228
1
1
1
8
8
8
8
20
20
27
34
34
34
34
34
34
34
34
41
53
53
53
53
53
53
53
53
53
53
53
63
65
65
65
65
65
65
65
80
80
72
72
77
72
72
72
72
72
72
92
92
89
89
84
84
84
84
84
96
96
96
111
103
108
108
103
108
123
113
113
113
113
144
144
161
166
166
168
195
240
240
1
1
1
1
8
8
15
15
20
15
27
27
27
27
34
34
34
34
34
34
34
51
41
41
41
41
46
58
53
53
53
58
53
53
53
53
53
53
65
65
65
60
60
75
77
77
77
72
72
72
72
72
72
77
89
89
84
84
104
104
96
96
96
96
96
96
108
108
123
120
120
120
130
125
125
125
125
156
173
178
178
175
202
228
228
247
247
1
1
1
8
8
13
20
20
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
39
41
41
58
53
53
53
53
58
65
65
65
60
60
77
72
72
72
72
72
72
72
72
87
89
84
89
89
89
89
89
89
84
84
84
84
84
79
79
79
79
89
96
96
96
91
116
116
108
108
108
103
120
135
132
132
142
137
137
137
137
168
185
190
190
214
240
240
259
1
1
1
1
1
8
13
15
15
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
46
41
41
41
41
41
41
46
46
46
48
53
53
53
65
75
65
77
72
72
72
72
72
72
72
72
89
89
84
84
84
79
79
99
79
79
94
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
101
108
103
123
128
120
120
147
144
144
154
149
149
149
149
183
180
180
197
202
202
226
226
247
247
271
8
8
13
20
25
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
39
41
41
41
41
53
53
53
53
58
58
65
65
65
77
72
72
72
72
72
72
87
77
89
89
89
84
84
84
84
84
84
84
84
84
79
79
96
96
96
96
96
96
91
91
91
91
111
106
116
108
108
108
108
108
108
108
103
113
115
135
140
137
137
159
156
156
166
161
161
156
156
168
195
192
192
209
214
214
238
238
259
283
1
1
1
20
15
25
25
27
37
37
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
41
41
41
41
46
41
41
53
53
65
60
60
65
70
77
72
72
72
72
89
89
84
84
84
84
79
79
79
79
79
79
99
89
101
96
96
96
96
96
96
96
91
108
108
103
103
103
103
103
123
118
123
128
120
120
120
115
120
120
120
120
125
127
142
147
149
149
171
168
168
168
168
178
173
173
168
175
202
199
199
216
226
226
245
245
271
290
8
8
27
32
27
27
34
34
34
34
34
34
34
34
34
34
44
34
44
34
34
46
41
41
41
41
41
41
41
53
53
53
70
60
60
72
72
77
82
89
84
84
84
79
79
79
96
96
96
91
91
91
91
91
111
101
108
103
103
103
103
103
103
103
120
120
120
120
115
110
110
110
110
110
110
135
130
135
140
135
132
127
127
127
127
127
127
127
137
139
159
161
161
156
156
183
175
175
175
175
190
180
180
180
214
238
238
257
257
283
302
1
1
15
20
27
27
34
34
34
34
34
34
34
34
34
34
34
34
46
51
56
56
41
53
53
53
53
65
60
60
60
60
65
77
77
77
72
72
89
84
89
89
96
96
108
103
103
103
103
103
103
103
103
103
98
98
118
98
98
108
120
120
120
115
115
115
110
110
127
127
127
127
122
122
147
137
147
142
147
144
139
139
139
149
151
171
173
173
168
195
187
187
197
202
192
192
226
226
226
245
245
269
269
271
295
295
314
314
1
8
27
34
34
34
34
34
34
34
34
34
41
41
46
53
68
68
53
53
53
65
65
60
60
60
60
77
77
72
72
72
72
72
72
79
79
101
96
111
101
103
103
103
103
103
103
108
103
103
103
98
120
120
115
115
115
115
110
110
135
130
110
110
120
127
127
127
127
139
139
139
154
149
159
129
129
159
156
151
151
161
183
180
180
180
180
207
199
199
209
214
204
199
238
238
238
257
281
281
283
307
307
326
326
8
20
27
27
34
34
34
34
34
34
34
41
41
53
68
53
58
60
60
75
80
60
60
60
60
77
77
72
72
72
72
89
84
84
113
103
98
98
98
118
103
103
113
113
115
115
115
115
115
110
115
110
127
127
127
127
122
122
122
122
122
122
147
137
132
132
139
134
134
151
151
151
151
161
141
141
171
166
168
158
158
173
190
192
192
192
219
211
211
216
226
216
211
250
245
245
269
293
293
290
314
314
333
333
1
1
1
1
15
27
34
34
34
34
34
34
34
34
41
41
41
46
53
53
53
53
53
60
60
75
60
70
65
65
65
65
72
72
72
87
92
72
89
79
79
84
89
84
101
96
91
103
98
98
98
125
115
115
115
115
110
110
125
125
127
122
122
122
122
127
127
122
122
122
122
127
139
139
134
134
154
149
129
129
129
129
144
144
151
146
161
158
158
158
168
148
148
183
180
170
170
180
207
202
204
204
199
204
226
218
218
238
223
223
262
257
281
305
305
302
345
345
1
1
8
8
8
27
27
27
27
27
27
34
34
34
34
34
34
34
34
41
41
41
53
53
53
53
60
60
60
60
60
80
72
72
87
82
84
94
99
84
101
96
91
101
96
113
98
98
98
103
103
103
103
115
110
137
122
122
122
132
132
134
139
134
134
129
151
146
146
151
151
151
161
161
141
141
151
151
173
170
170
160
160
195
195
192
182
182
182
182
219
214
214
211
211
226
216
216
211
216
238
230
245
235
235
274
269
269
288
317
317
314
357
357
1
1
8
15
15
20
39
34
34
34
34
34
34
39
34
34
46
41
41
41
53
53
53
60
60
60
72
92
87
79
79
84
99
89
91
91
91
91
111
91
113
98
98
98
98
103
103
103
108
103
125
110
110
149
134
134
134
129
146
146
146
158
158
158
153
153
158
153
158
153
168
173
148
148
163
163
180
182
182
167
167
167
167
207
207
204
189
189
189
189
204
226
226
226
218
218
238
223
228
223
223
223
250
242
247
242
286
281
281
300
329
329
326
369
369
1
1
8
20
27
27
27
27
27
27
27
34
34
34
34
34
51
41
41
51
41
41
41
41
41
53
53
53
58
53
53
53
65
60
60
60
60
60
60
60
60
60
60
72
99
94
91
91
111
98
98
98
98
103
103
103
103
123
125
115
110
110
110
120
137
122
134
134
134
134
134
129
161
141
141
146
146
141
146
141
158
158
148
148
170
170
170
185
175
175
189
189
189
189
179
179
179
179
214
214
211
201
201
201
201
216
238
233
233
230
245
235
240
235
235
262
249
259
254
298
288
293
317
317
312
336
336
338
381
381
1
1
1
1
20
27
27
27
27
27
34
34
34
34
34
39
34
39
34
34
39
34
34
41
46
41
53
53
53
53
63
53
53
53
53
53
53
53
53
58
53
65
60
60
65
60
60
60
60
65
65
65
65
72
72
72
79
91
91
91
91
111
91
103
103
103
123
103
110
110
110
110
135
137
127
122
122
117
132
147
149
134
134
134
129
146
146
146
141
141
146
146
146
171
173
158
158
153
158
158
173
170
165
192
187
187
201
201
191
191
186
186
213
213
213
213
228
223
250
250
245
245
242
247
247
247
242
247
269
261
266
266
310
300
305
329
329
324
348
350
393
393
1
1
1
1
1
8
27
27
27
34
34
34
34
34
34
34
34
41
51
51
41
51
41
41
53
53
53
53
53
53
53
53
58
58
65
65
65
75
65
65
65
60
60
65
60
60
60
77
72
72
77
72
72
72
84
84
79
91
91
91
91
103
103
103
103
103
123
125
110
110
130
117
142
144
139
134
134
129
134
129
144
159
161
161
146
146
141
146
146
146
146
141
141
146
141
146
141
141
146
153
158
183
180
170
165
165
165
185
182
182
182
182
177
199
199
213
213
198
198
198
198
220
220
240
262
262
257
257
254
254
259
259
254
259
281
273
273
293
278
278
322
312
312
312
336
336
331
360
362
405
405
1
1
1
1
1
8
15
34
34
34
34
34
34
34
34
34
34
46
46
41
41
53
53
58
53
53
53
53
53
53
58
53
58
63
65
65
65
65
65
65
77
72
77
77
87
77
72
72
72
72
72
89
84
84
79
79
79
84
79
79
89
96
96
91
91
103
103
103
103
103
110
110
110
110
110
110
110
135
137
117
122
139
129
134
129
129
129
129
129
154
151
146
141
141
146
146
156
166
173
173
158
158
158
153
148
148
165
165
190
192
182
182
172
177
192
204
189
189
189
211
211
186
186
213
213
213
213
213
213
213
198
198
220
220
210
210
242
232
232
247
269
274
269
269
261
261
266
271
266
266
293
280
280
305
290
285
334
324
324
348
343
372
374
417
417
1
1
8
20
27
27
27
34
34
34
41
41
41
41
46
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
58
53
53
65
70
65
65
60
60
60
60
60
60
60
60
60
75
77
72
72
72
77
77
72
72
72
89
89
84
89
84
84
84
99
84
79
84
79
96
96
96
96
96
91
101
108
108
103
103
103
110
110
110
110
110
117
122
147
147
144
134
134
134
129
129
129
129
129
129
146
146
146
146
141
141
166
166
158
153
168
180
185
165
165
165
165
160
160
182
182
172
202
204
184
189
189
211
201
213
213
223
223
220
220
220
220
220
220
220
210
210
232
232
217
217
249
244
244
281
286
281
281
278
283
278
305
292
292
322
312
302
297
341
331
336
360
360
355
379
386
405
405
424
424
1
8
15
27
27
27
27
39
34
34
34
34
34
34
34
34
34
41
41
41
41
41
41
53
53
53
53
58
53
53
53
53
58
53
65
65
65
65
65
65
65
60
70
70
60
65
65
65
65
72
77
77
72
82
72
72
82
89
89
84
89
89
89
84
84
84
89
89
79
79
89
96
96
96
96
96
96
96
111
91
91
111
91
91
108
103
103
103
103
123
103
103
108
120
120
110
110
110
110
110
122
129
129
129
129
129
159
159
146
146
141
158
153
153
148
148
178
178
165
165
165
180
192
197
177
172
172
172
172
167
167
184
189
189
214
216
213
213
213
220
220
235
235
232
232
232
232
232
217
217
244
244
224
224
261
293
293
293
293
290
290
290
290
312
304
304
334
309
309
309
343
348
372
372
367
391
398
417
417
436
1
1
8
15
27
27
27
27
27
27
34
34
34
34
34
34
51
46
41
46
53
53
53
53
53
53
53
63
65
65
65
65
60
60
65
65
65
65
77
72
77
72
72
72
72
72
82
82
72
72
72
72
72
89
89
89
84
84
94
84
84
84
89
96
96
96
96
96
96
96
96
96
96
101
101
91
91
91
101
108
108
108
108
123
103
103
103
123
103
98
98
98
98
120
110
110
135
110
110
110
110
120
132
132
117
122
122
122
129
129
129
146
146
146
141
166
166
153
148
165
165
160
185
185
172
177
172
172
172
192
204
204
189
184
184
174
174
174
174
226
223
213
220
220
220
220
232
247
247
244
244
244
244
244
244
224
224
236
236
273
305
305
305
305
305
302
302
302
324
316
316
341
321
321
321
355
355
379
384
374
403
410
424
424
448
1
8
20
27
27
27
27
34
34
34
34
34
51
41
41
63
53
53
53
53
53
53
58
53
53
53
65
65
65
65
65
65
60
65
60
60
75
77
72
72
77
72
72
72
72
77
72
72
89
84
84
84
84
84
84
84
84
89
89
79
79
96
96
96
96
111
101
96
91
91
91
91
101
108
108
108
108
103
103
103
103
108
108
103
103
103
98
98
113
113
120
120
120
130
110
110
110
110
110
130
110
110
110
117
117
117
122
142
132
132
144
144
129
129
129
129
129
129
129
129
129
161
161
141
158
153
148
148
148
153
185
170
160
172
197
197
204
184
189
189
184
184
184
204
216
191
191
191
196
238
235
220
232
232
232
247
247
244
244
244
259
259
251
251
251
236
236
248
248
285
317
317
317
317
317
317
314
314
309
309
336
336
328
328
333
333
328
328
367
391
396
386
415
422
436
460
1
1
1
20
27
34
34
34
39
34
34
34
46
41
53
53
53
53
53
53
53
53
53
58
65
75
65
65
65
65
65
65
60
60
60
72
72
77
77
72
72
77
77
72
72
82
72
72
72
72
89
84
89
84
84
84
94
84
84
84
84
79
84
96
96
96
96
96
96
96
91
108
123
103
103
103
103
103
103
103
103
108
120
120
120
120
120
110
110
110
110
110
110
120
120
115
125
125
132
142
117
122
129
154
129
129
129
129
129
129
144
144
156
156
141
141
141
153
173
173
148
148
148
148
160
160
160
160
160
197
177
172
177
177
177
177
184
209
209
216
191
191
191
191
191
191
191
191
216
186
186
228
228
203
203
198
198
250
247
247
244
244
244
244
259
259
251
251
271
266
266
263
263
263
243
243
243
243
290
255
255
255
255
297
329
329
324
324
324
324
326
326
348
348
335
335
345
345
340
340
384
379
379
403
403
403
398
398
410
422
429
448
448
467
1
27
34
39
34
34
34
34
46
51
41
41
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
65
65
65
65
65
60
65
65
77
87
72
72
77
72
72
77
72
84
84
84
89
89
84
84
84
84
79
79
84
96
96
96
96
96
96
101
96
96
96
96
96
96
96
91
91
96
108
108
103
103
103
103
103
103
108
103
103
103
98
98
120
130
120
115
125
110
110
110
110
115
120
127
127
127
132
132
132
132
122
144
154
129
129
129
129
129
141
141
166
151
151
168
168
148
153
153
148
185
185
160
177
172
167
167
167
204
184
184
189
179
179
191
196
191
196
191
221
221
223
203
228
193
193
240
240
215
215
205
205
262
259
259
244
244
244
224
224
251
251
251
266
266
263
283
278
275
275
275
275
275
302
267
267
267
267
309
336
336
336
336
328
328
333
333
355
355
347
352
352
352
352
396
391
391
415
415
410
410
422
434
460
460
479
27
27
27
34
34
34
34
51
53
58
63
53
53
53
53
53
53
53
65
65
65
65
65
60
60
60
65
65
65
65
60
77
77
72
72
77
72
72
99
84
89
89
89
84
89
89
89
89
89
79
79
96
96
96
96
96
96
96
96
96
91
91
108
108
103
103
103
103
103
103
108
108
98
98
103
120
120
115
115
115
115
120
110
110
110
110
110
142
127
127
127
137
132
122
122
139
139
139
144
144
156
166
141
141
141
153
153
178
148
148
163
163
175
175
160
160
160
160
197
197
167
167
189
179
174
174
174
174
191
191
191
203
203
233
233
235
210
240
247
247
222
222
247
274
274
224
224
224
224
224
224
224
224
224
224
266
266
251
251
251
251
266
236
236
263
263
263
278
293
275
275
290
290
282
282
282
309
279
279
279
279
321
348
348
335
335
367
367
359
364
364
364
364
403
398
398
422
427
417
417
429
446
467
472
491
1
27
27
34
34
34
34
34
34
34
34
34
34
34
53
63
53
53
58
53
53
75
70
65
60
60
77
72
77
72
72
72
72
72
72
72
84
84
89
89
89
89
84
84
84
96
106
96
96
96
96
96
96
96
96
96
101
91
103
103
103
108
103
103
108
108
108
108
103
103
103
103
115
120
110
110
127
127
127
122
122
117
117
122
139
154
134
149
129
129
129
129
129
144
151
151
151
151
156
156
168
168
168
173
168
168
153
153
153
148
148
153
148
148
148
160
190
160
175
175
187
167
172
209
209
179
179
179
174
174
174
174
203
203
203
193
193
210
210
210
215
210
210
210
245
245
247
222
252
259
224
224
224
224
286
286
236
236
236
236
278
278
263
278
248
248
275
275
275
275
305
290
282
282
302
294
294
294
321
291
291
291
291
328
360
360
347
379
379
366
376
376
376
376
434
439
429
429
458
479
484
503
27
27
27
27
34
34
34
34
34
34
39
46
46
53
53
65
75
65
65
65
60
60
60
65
65
87
87
82
77
72
72
72
72
72
72
72
84
84
89
89
84
84
84
84
96
96
96
96
96
96
96
91
91
103
103
103
108
108
108
113
98
98
120
120
120
115
120
120
120
110
110
110
122
122
122
122
139
154
134
134
134
134
134
129
129
151
166
151
151
161
156
158
158
158
158
153
148
148
168
168
148
175
175
180
185
180
180
165
160
160
160
160
167
167
202
172
187
187
199
179
179
179
179
179
221
221
191
186
186
203
203
203
198
198
210
210
215
210
210
205
205
227
222
222
222
257
257
259
244
234
264
224
224
224
224
224
224
224
224
251
266
236
236
293
298
243
243
243
243
290
290
275
285
260
260
282
282
312
302
294
309
321
306
306
306
306
336
333
303
303
303
303
355
367
367
359
359
391
391
378
388
388
388
388
446
446
441
441
465
472
491
491
491
510
1
1
27
34
34
34
34
34
46
51
53
53
53
53
58
65
65
60
65
72
72
72
72
82
72
72
72
72
72
72
72
72
72
72
99
84
99
89
89
84
84
84
84
84
84
79
96
96
96
96
96
91
103
103
108
108
108
108
103
103
103
103
115
115
120
120
120
110
125
127
127
127
127
122
127
127
122
122
117
117
134
134
134
129
129
129
129
129
129
151
166
146
146
146
158
158
158
158
178
178
168
173
148
148
148
168
170
170
170
170
160
180
180
160
187
187
197
197
192
192
167
167
172
167
167
179
179
214
199
199
179
206
191
186
186
186
233
233
198
193
193
215
210
205
205
222
222
222
229
234
229
229
269
269
224
224
224
224
271
251
241
286
271
236
236
236
236
236
236
263
243
243
275
275
310
302
302
282
282
282
297
272
272
294
294
324
309
306
306
316
328
313
313
313
348
345
315
315
315
315
367
374
374
366
371
403
403
390
400
400
400
400
458
453
453
477
484
503
503
522
1
1
1
34
34
34
34
34
34
34
34
34
46
46
53
53
53
53
53
58
75
65
60
60
60
65
65
65
65
65
65
65
65
65
82
72
72
72
72
72
84
84
84
89
84
84
84
106
96
101
111
96
96
96
96
96
91
91
91
91
91
91
103
103
103
108
103
103
103
98
98
98
98
98
115
115
115
120
120
120
120
115
110
127
122
122
122
127
127
122
137
139
139
134
134
134
134
134
129
129
151
151
136
136
173
158
158
153
148
148
170
170
190
190
180
185
160
160
160
180
182
182
182
182
192
192
172
199
209
209
204
204
179
174
174
174
174
186
186
186
186
186
226
211
211
186
218
198
198
198
245
245
227
222
234
229
229
229
241
241
241
281
281
283
298
278
278
248
248
243
248
248
243
282
282
322
314
314
294
309
284
284
306
306
306
336
316
313
313
328
325
325
325
355
357
327
327
327
327
374
374
374
386
378
378
415
415
397
412
412
412
412
470
470
465
465
489
489
491
510
515
534
1
1
1
1
8
27
27
34
34
34
34
34
41
46
46
41
41
41
41
53
53
53
53
58
65
65
60
60
60
60
65
65
82
72
77
72
72
72
72
72
72
72
72
77
72
72
72
84
89
84
96
96
96
91
96
91
91
96
96
91
96
91
96
96
91
91
91
91
96
108
113
123
108
108
103
103
103
103
103
103
120
115
120
127
122
127
127
127
127
117
117
117
117
117
122
122
122
134
134
134
134
139
139
129
149
129
129
129
129
129
134
151
151
146
146
151
151
158
158
148
148
148
148
148
185
165
165
165
160
160
182
182
197
197
192
197
167
167
192
179
179
204
204
179
179
179
211
211
216
216
211
211
186
186
233
233
198
198
238
223
223
223
223
198
193
193
230
230
210
252
252
222
222
229
229
234
234
229
229
246
281
281
253
253
248
293
293
295
275
305
305
255
255
255
255
329
326
326
321
296
296
313
348
328
325
340
337
337
337
337
369
374
374
339
339
339
339
371
386
386
393
390
390
427
427
427
427
409
424
424
424
424
482
482
477
477
501
501
522
527
546
1
1
1
8
13
15
27
27
27
27
34
34
34
34
34
46
46
46
51
53
53
53
53
53
53
53
58
53
53
60
60
70
70
65
72
72
72
72
72
72
72
72
89
89
84
84
84
101
111
96
96
96
91
91
96
91
103
103
103
103
103
108
108
103
103
103
103
103
103
103
115
120
130
120
115
115
120
115
120
120
110
115
115
127
127
147
117
117
122
122
122
122
134
134
139
139
129
129
129
129
151
146
151
151
151
151
161
136
136
153
158
153
158
148
148
148
180
160
160
160
160
160
160
160
182
197
182
182
177
177
177
199
189
189
204
204
204
209
179
204
204
204
216
216
186
186
186
186
186
186
186
218
218
228
228
223
198
198
198
198
198
198
245
245
210
210
250
235
235
235
235
205
205
205
205
237
237
217
217
264
241
253
253
293
293
260
260
260
260
260
300
300
305
307
282
317
312
306
306
306
336
333
308
308
338
338
325
360
340
337
337
337
352
344
344
344
344
374
374
381
386
351
351
351
351
378
398
393
405
397
402
424
424
439
439
439
439
421
436
436
436
436
489
489
489
489
508
508
534
534
553
1
1
1
8
13
20
25
27
34
34
34
41
41
58
58
58
58
58
65
60
60
60
65
60
60
60
60
72
72
72
72
72
82
82
77
72
79
84
91
101
101
96
91
91
96
91
103
123
113
113
108
103
103
115
120
115
115
115
122
142
127
127
127
127
127
127
122
127
122
117
117
117
117
122
122
122
134
139
159
129
129
129
129
129
129
134
134
134
134
134
146
151
151
171
158
153
158
158
158
148
148
148
173
148
148
148
148
165
170
160
160
160
155
187
182
182
172
167
167
167
209
189
189
189
189
206
201
201
211
211
216
221
216
216
216
186
198
198
223
223
198
193
193
240
240
235
210
205
210
205
205
252
252
217
217
217
262
242
242
242
242
247
247
249
249
229
229
276
241
241
248
248
260
260
300
300
255
255
272
272
272
312
317
312
324
319
336
336
316
313
313
313
313
348
345
320
320
350
350
337
372
352
344
344
344
344
374
364
356
356
356
356
386
393
393
363
363
363
363
410
405
417
409
409
436
436
446
446
446
446
428
448
448
448
448
443
443
501
501
520
520
546
565
1
8
15
25
37
27
27
34
34
34
34
34
46
53
53
53
53
60
65
65
65
65
65
65
65
65
65
65
60
72
72
72
72
72
72
77
72
72
72
79
84
89
89
91
103
103
103
108
108
98
98
103
103
103
103
103
103
103
103
115
115
130
120
120
115
115
115
125
122
122
127
127
127
127
127
117
122
122
122
134
134
139
139
139
154
129
129
129
129
129
134
151
151
151
151
171
171
141
136
136
146
146
158
158
183
148
148
148
148
158
170
165
170
170
170
160
160
160
160
160
160
185
160
182
167
172
189
189
179
174
174
174
174
201
221
201
201
186
186
186
186
186
186
186
218
223
223
233
223
223
228
198
228
235
205
205
252
252
242
217
217
217
217
217
262
217
217
264
274
274
254
254
259
259
261
261
241
241
241
241
241
241
288
248
260
260
260
260
260
260
255
260
260
255
272
312
284
284
279
324
324
314
314
331
336
316
331
348
328
337
337
357
332
332
357
357
384
374
364
356
356
386
376
368
368
368
368
393
405
405
375
375
375
375
422
417
429
421
443
443
458
458
440
460
460
460
460
455
513
513
513
513
532
532
558
558
577
577
1
1
1
20
27
27
27
49
34
34
34
34
34
34
41
41
41
41
53
53
53
60
60
60
65
65
65
65
60
72
72
72
72
72
72
77
77
72
72
72
72
84
79
79
89
84
89
84
91
91
91
103
103
103
103
103
115
115
120
120
120
120
120
115
115
142
127
127
127
122
122
127
137
127
127
117
122
122
122
122
122
122
122
134
139
139
129
129
134
134
134
146
166
151
136
136
136
146
158
158
183
183
148
148
148
148
148
148
158
158
158
158
158
158
170
195
160
160
160
155
160
155
160
182
182
182
182
182
167
167
172
172
197
182
167
177
177
189
179
189
201
216
221
186
186
186
191
191
213
233
198
198
198
198
193
193
230
235
235
240
205
235
240
210
240
217
217
247
264
264
254
229
274
229
229
276
276
286
241
266
266
281
281
286
266
266
273
273
293
248
248
253
253
273
295
260
260
260
272
272
267
267
267
267
284
324
291
291
291
331
331
336
326
326
338
340
337
337
344
344
369
374
344
344
364
364
396
386
371
371
368
368
393
383
383
427
417
417
387
387
387
387
434
429
446
441
433
433
455
470
470
452
452
467
467
467
467
467
525
525
525
525
544
544
570
570
589
589
34
34
34
34
34
34
34
46
61
53
53
53
53
60
72
72
72
72
72
84
79
79
84
89
89
84
84
91
91
101
91
96
91
91
96
91
103
103
98
103
115
115
125
120
115
115
115
115
115
122
127
127
127
132
132
117
127
127
122
122
122
122
139
154
154
144
139
134
129
129
129
129
134
134
134
134
134
134
146
151
151
146
146
146
136
136
146
146
146
146
158
158
158
173
158
148
148
148
153
158
158
170
170
195
195
160
160
160
160
182
182
207
172
172
182
167
177
177
177
177
189
189
189
179
179
209
189
189
189
189
189
189
189
186
186
186
186
186
186
186
186
186
186
186
186
186
213
223
233
198
198
198
198
198
198
198
198
245
205
205
205
205
242
242
247
247
247
222
247
229
259
276
276
266
241
241
241
281
241
241
261
288
288
293
298
248
248
278
278
293
293
298
273
273
273
305
260
260
260
260
265
265
285
285
285
295
307
272
279
279
291
331
336
303
343
333
333
345
345
337
337
352
344
344
374
356
356
381
386
356
356
376
376
368
368
408
393
393
375
375
395
395
439
429
429
424
399
399
399
399
446
441
458
453
448
448
440
440
482
482
467
459
459
479
479
479
532
532
532
532
556
556
577
577
596
596
1
25
27
27
34
34
34
41
41
41
41
73
58
53
60
60
60
72
72
72
72
79
79
84
91
91
101
101
91
91
96
91
91
113
108
103
108
98
103
103
103
115
115
115
137
127
127
127
127
127
127
127
127
117
117
122
122
122
134
134
139
139
144
144
139
139
129
129
129
129
134
134
134
166
166
146
146
146
151
146
146
146
146
136
136
136
146
146
146
146
146
146
148
148
158
158
158
158
148
148
153
158
158
153
158
158
170
185
160
160
160
155
155
160
165
165
165
182
182
182
182
207
207
167
167
167
177
177
177
219
189
189
179
179
179
179
189
189
189
189
189
189
201
201
201
221
186
186
186
186
201
198
198
198
198
198
193
193
240
205
210
205
205
205
257
217
242
254
254
254
254
259
234
254
254
254
236
266
261
273
248
248
288
253
253
288
288
273
295
300
305
310
260
285
285
300
300
305
285
317
272
277
277
267
267
297
297
297
307
319
284
291
303
343
350
340
340
337
337
344
344
374
374
364
356
356
368
368
393
398
393
368
368
388
388
375
375
420
387
387
427
407
407
429
424
446
441
441
436
411
411
411
411
458
453
465
465
460
460
489
489
479
471
471
491
491
486
544
544
568
568
608
608
1
1
1
32
27
27
27
34
39
34
34
34
34
34
46
41
80
65
60
72
72
72
72
72
72
79
79
84
91
91
91
91
91
91
96
96
96
96
91
91
96
113
113
103
103
103
98
98
103
103
103
125
120
115
115
115
115
115
115
115
115
115
115
117
117
117
117
122
122
122
122
127
144
139
139
129
129
129
129
129
134
134
134
134
146
151
146
146
156
156
151
151
151
136
136
146
146
146
146
146
173
178
158
158
158
148
148
148
158
153
158
153
158
158
158
158
160
160
170
170
160
160
165
165
165
165
197
182
182
182
172
172
167
177
177
177
177
219
179
189
179
179
174
174
174
174
219
189
189
189
231
186
186
186
201
191
186
186
186
186
201
201
211
198
213
213
213
213
213
228
198
213
210
210
205
205
205
247
217
217
222
229
234
254
269
254
266
266
241
266
266
246
266
266
248
248
288
273
278
278
273
273
285
265
265
300
300
285
307
312
317
322
292
292
307
307
312
312
272
272
267
272
272
267
297
329
279
289
289
309
309
304
314
331
291
341
313
313
350
362
344
344
374
374
364
364
364
356
356
386
386
376
368
368
408
375
375
405
400
380
380
400
400
387
387
432
427
439
419
419
441
436
453
453
443
423
423
423
423
470
465
477
477
467
467
496
496
486
483
483
503
503
493
556
556
580
580
620
620
1
1
1
1
1
44
34
34
34
34
34
34
34
34
61
51
41
41
41
41
41
53
53
53
53
60
60
60
65
65
92
72
72
72
72
72
72
84
79
79
84
84
91
91
91
91
91
91
91
91
103
103
103
103
98
98
98
98
98
103
103
103
103
125
125
120
115
115
115
120
120
115
115
115
115
115
115
115
127
137
127
127
127
122
127
117
117
117
117
117
122
122
122
127
127
122
127
134
129
129
129
129
129
134
134
134
146
151
151
151
136
141
146
146
146
146
146
146
146
148
158
158
158
168
168
158
158
148
148
153
158
158
158
158
158
185
190
165
170
165
180
155
155
160
195
165
165
165
167
177
177
177
177
167
177
177
177
209
189
189
189
189
189
189
199
179
179
179
184
184
189
189
231
201
186
186
231
201
201
198
198
213
213
203
198
198
198
203
203
193
193
243
213
213
223
205
220
220
220
220
235
235
205
225
230
230
222
217
217
217
254
234
264
264
241
236
281
266
273
248
248
248
248
278
273
258
273
278
278
300
260
260
260
260
260
260
285
285
282
297
307
307
277
277
307
307
292
319
319
319
329
334
279
304
304
279
279
279
279
304
341
291
301
301
316
316
316
321
321
338
313
348
325
325
362
344
344
384
374
364
356
356
376
376
398
398
403
388
375
375
420
400
387
387
417
412
392
392
412
412
444
439
446
431
431
448
443
465
465
435
435
435
435
482
477
489
489
474
474
496
496
496
508
493
493
515
495
495
510
510
505
534
568
568
592
592
632
632
1
1
1
1
1
1
1
1
1
1
34
34
34
34
34
34
34
34
34
34
34
34
34
41
58
73
53
65
65
60
65
60
60
60
72
72
72
72
72
72
72
72
72
72
104
104
79
79
79
79
84
84
91
91
91
96
91
91
91
91
91
91
91
103
103
103
98
98
98
103
103
103
103
103
103
103
103
103
110
110
115
115
115
115
115
137
137
127
127
127
127
127
122
122
127
122
127
122
127
117
117
117
117
117
117
122
122
122
122
122
127
139
149
139
139
139
129
129
129
129
134
139
139
134
134
146
136
141
136
136
146
146
146
146
146
146
158
158
158
158
158
158
158
148
148
148
148
148
148
148
148
148
158
158
158
158
158
160
165
165
165
170
165
165
170
165
180
180
180
180
170
170
160
160
160
160
165
165
165
170
197
197
177
182
187
167
207
177
189
179
219
189
216
186
186
201
201
201
201
206
191
201
201
213
223
223
238
243
213
213
205
205
205
220
220
220
220
215
210
210
205
210
210
205
210
210
205
255
225
225
235
217
217
217
232
232
232
232
237
242
242
246
276
276
253
248
288
273
285
260
260
260
285
285
270
290
285
312
272
272
272
292
297
292
304
289
289
314
314
304
331
331
341
306
316
316
316
316
316
316
346
316
353
348
313
313
328
328
323
350
360
345
345
340
337
337
352
379
374
356
356
396
386
376
368
368
403
388
388
375
375
415
405
405
405
400
387
387
427
412
429
419
404
404
424
424
451
446
443
443
455
455
477
472
447
447
447
447
494
489
501
496
496
496
496
501
486
486
508
508
493
515
505
527
507
507
517
517
517
517
517
517
546
575
575
604
604
644
644
1
1
1
1
1
1
1
8
27
27
27
27
27
27
34
34
34
34
34
34
46
46
46
41
41
41
53
53
53
53
65
80
65
65
65
65
65
60
60
60
60
60
60
60
60
60
60
77
77
77
72
72
72
72
72
84
84
79
79
79
79
79
84
116
116
91
91
91
91
91
103
103
103
98
103
103
98
98
98
98
98
103
103
103
103
103
103
103
110
110
110
110
115
120
115
110
115
115
115
115
115
115
115
122
127
117
117
117
117
117
117
122
122
122
122
127
127
149
149
139
134
139
129
129
129
129
129
129
129
134
134
161
151
151
146
141
141
146
146
158
158
158
158
158
148
148
148
148
148
148
148
148
148
158
158
158
165
165
165
165
170
165
170
170
170
170
160
160
160
160
160
160
155
160
155
165
165
165
165
170
182
177
182
192
192
192
192
182
182
172
167
177
182
209
189
189
199
204
179
179
179
179
204
214
189
186
186
231
201
228
213
213
213
218
238
203
213
213
235
235
255
245
225
245
225
217
217
217
232
232
217
217
217
262
237
237
242
244
244
244
244
274
254
254
236
246
281
281
248
248
258
283
283
260
260
295
295
285
290
290
272
297
292
297
282
322
297
297
319
279
279
304
309
279
279
304
316
316
316
301
301
326
326
311
338
353
313
343
328
328
328
328
358
323
350
325
325
365
340
340
335
335
337
362
372
352
379
364
364
391
386
381
368
368
368
403
398
388
375
375
415
405
405
395
400
402
387
387
422
417
412
434
419
421
441
416
416
436
436
458
455
455
489
479
479
479
459
459
459
459
506
496
496
496
501
513
508
508
513
513
513
498
498
493
493
520
515
527
517
517
534
519
519
529
529
529
529
553
582
582
582
582
604
604
616
616
656
656
1
1
1
1
15
34
34
34
34
34
34
34
34
39
39
34
34
34
53
53
53
58
58
53
53
53
53
53
53
65
65
65
65
65
60
60
60
60
65
60
60
60
92
77
72
72
72
72
72
84
84
89
79
79
79
79
79
79
79
91
91
96
91
123
123
98
98
98
98
103
103
110
110
110
110
110
110
110
115
115
122
127
122
117
117
117
117
117
127
127
127
129
129
129
129
129
129
129
129
129
129
129
134
134
134
134
134
161
161
151
146
151
146
136
141
141
136
136
146
146
146
158
173
158
158
148
148
148
148
148
148
148
148
148
148
158
165
165
165
165
165
165
170
165
170
165
180
160
160
160
160
160
160
165
165
170
182
182
182
182
182
182
172
172
172
167
167
167
182
189
189
189
199
199
199
199
199
179
179
179
179
184
204
204
219
194
221
221
196
201
211
216
191
191
191
216
221
201
213
213
223
238
213
240
240
205
205
220
230
250
225
225
217
217
217
217
257
257
262
222
222
217
242
242
262
257
237
257
237
229
244
244
244
269
269
254
251
251
286
271
261
261
248
248
278
293
293
298
293
260
260
270
290
290
297
317
292
302
302
279
279
279
309
309
309
294
284
284
279
284
284
279
309
334
309
304
291
316
336
336
321
316
316
316
316
341
311
328
328
328
313
313
338
338
323
350
325
355
340
340
350
335
335
365
365
335
335
335
340
337
362
337
337
357
377
347
352
352
344
374
379
364
391
371
368
368
398
398
393
375
375
375
410
410
395
387
422
412
409
434
424
424
424
424
428
458
463
458
448
428
428
448
448
470
467
467
479
494
474
489
489
496
501
466
466
466
466
508
513
518
493
493
525
520
515
525
525
525
510
510
505
527
532
517
517
519
519
539
529
529
526
526
541
536
536
541
565
594
594
616
616
623
623
668
668
8
27
34
34
34
34
34
34
34
34
34
34
46
46
46
46
41
41
41
53
53
60
60
65
65
65
60
65
65
60
60
60
72
72
72
72
72
72
104
84
79
79
79
79
79
79
79
79
79
79
91
91
101
91
91
91
91
103
103
103
98
98
103
103
135
135
110
110
110
122
122
122
117
117
122
127
139
129
129
129
129
129
129
129
129
129
129
129
139
134
134
161
161
141
141
141
173
173
158
153
158
158
148
148
148
148
153
148
148
148
158
165
165
165
165
165
170
185
185
160
160
160
160
160
155
155
160
160
155
155
165
177
182
182
187
182
182
172
167
167
167
182
189
189
189
189
179
179
179
179
184
184
184
174
174
194
196
201
211
211
206
211
216
216
231
221
206
198
233
233
213
213
208
218
223
223
203
203
203
223
233
213
220
220
230
235
245
245
245
225
252
252
217
232
237
257
217
237
237
229
244
244
244
244
269
269
274
249
249
229
229
269
269
264
236
251
251
251
236
281
281
261
253
248
263
263
273
293
293
283
273
273
260
260
285
300
300
310
305
272
282
317
292
279
279
304
329
314
304
314
314
309
309
291
291
316
316
321
316
316
306
291
291
291
291
321
341
341
316
321
316
328
348
348
333
328
328
328
333
353
323
323
335
335
335
325
325
335
350
350
335
337
362
362
347
347
347
347
377
372
347
347
347
344
374
349
349
369
384
359
364
359
359
356
381
386
371
368
368
398
375
375
410
405
405
405
400
387
387
422
417
417
399
429
429
424
436
436
436
453
458
440
470
475
460
470
465
465
440
440
460
460
474
479
479
496
506
486
501
501
508
513
478
478
515
525
530
505
537
527
532
537
532
532
517
517
512
539
544
529
526
526
551
541
541
538
548
548
548
548
553
577
601
601
623
623
635
680
680
20
27
34
34
34
34
34
34
34
34
34
34
41
46
46
41
41
41
41
53
53
53
53
65
65
60
60
60
72
72
77
77
72
72
79
79
79
79
79
79
79
79
116
91
91
91
91
91
91
91
91
103
113
103
103
98
98
98
103
103
103
115
115
110
110
110
147
147
122
122
122
122
122
134
129
129
129
129
129
129
129
129
129
129
129
129
134
151
141
141
136
136
171
173
173
148
148
148
148
148
148
148
148
180
180
165
165
165
165
165
170
170
160
160
160
160
160
160
160
160
160
160
160
155
155
165
197
197
172
172
172
167
204
204
189
189
189
189
189
184
174
174
194
201
201
186
191
191
206
223
223
213
213
208
218
218
223
223
223
223
238
233
240
240
205
220
220
235
230
230
215
215
215
230
230
215
215
245
245
225
217
217
237
242
217
222
222
217
257
257
237
259
259
244
244
244
244
244
249
264
269
236
236
236
251
251
251
251
276
276
236
281
281
271
271
253
248
263
263
263
273
293
293
273
275
275
285
290
305
300
290
280
280
272
307
307
317
317
312
279
294
309
329
314
291
316
336
291
291
291
291
291
291
291
291
316
326
316
311
316
316
303
328
328
318
303
303
328
353
348
328
340
355
355
340
340
335
340
340
345
360
335
335
335
347
347
337
337
377
347
362
362
347
374
359
359
344
344
384
384
359
359
359
359
359
386
386
361
361
376
391
371
371
368
368
393
398
375
375
405
405
387
422
417
399
399
429
429
429
429
441
441
406
446
441
441
436
453
453
448
443
443
470
450
452
487
482
472
477
477
452
452
472
472
496
491
491
466
466
466
466
508
493
513
498
508
508
515
525
490
490
537
537
517
517
517
512
549
539
549
544
539
539
529
524
551
551
536
538
563
548
548
553
550
560
560
560
582
582
582
582
582
589
613
613
635
647
692
692
27
27
34
34
41
46
41
41
41
41
53
58
53
53
60
60
65
60
65
65
65
60
60
60
72
72
84
84
84
89
89
79
79
79
79
91
91
91
91
91
128
103
103
98
103
103
103
103
103
115
125
110
110
115
110
110
115
122
127
122
122
127
159
159
129
129
129
129
129
129
129
129
129
129
129
134
141
151
163
158
148
148
153
148
148
148
148
148
148
183
180
180
165
195
160
160
155
160
160
160
160
155
160
160
195
192
177
177
182
182
172
172
172
172
172
167
189
189
204
214
179
204
184
184
184
174
174
216
216
196
201
186
186
206
213
203
203
235
235
220
220
230
235
235
205
230
230
245
245
217
217
217
242
222
222
257
237
244
244
244
249
249
254
254
264
249
229
229
229
269
269
271
271
251
251
251
251
251
251
261
266
281
248
248
248
263
263
263
283
283
288
288
283
293
275
275
275
305
305
300
295
295
290
280
280
297
302
312
312
297
297
292
292
279
329
324
319
306
291
291
321
336
311
303
328
353
343
303
303
303
303
348
338
323
333
328
323
310
330
310
310
360
360
335
352
362
352
352
347
347
352
372
372
347
359
359
344
349
349
389
359
369
369
374
374
359
359
359
386
386
371
371
391
391
396
371
371
371
368
398
398
373
373
403
383
378
375
375
405
405
405
405
375
400
400
387
417
417
422
399
424
441
406
431
441
441
426
453
453
458
453
453
448
470
455
450
460
450
450
482
482
464
499
489
484
484
484
464
464
484
484
496
508
493
493
493
503
503
478
478
515
515
505
520
520
515
515
527
527
537
517
517
517
502
502
549
544
529
519
529
529
524
561
551
561
551
551
551
551
551
551
536
536
563
563
548
575
550
560
562
582
582
582
572
572
572
594
604
594
594
594
601
625
625
647
659
692
692
704
704
34
34
34
34
34
34
34
34
41
41
41
41
41
41
63
53
70
65
65
60
72
72
72
72
72
72
72
72
79
79
91
91
91
91
101
101
91
91
91
103
103
103
103
103
103
103
103
103
140
115
110
110
110
110
127
137
127
122
122
127
127
127
129
129
134
139
129
129
129
129
129
129
129
129
171
171
136
136
178
158
148
148
148
148
148
148
148
160
160
160
160
160
160
160
160
160
190
195
180
197
192
182
182
207
172
172
167
172
172
172
172
207
189
184
189
189
214
179
179
204
184
184
184
184
184
174
174
211
226
191
186
211
211
223
223
205
220
220
240
240
242
242
242
242
242
217
249
249
249
249
234
234
229
269
269
269
236
236
251
251
251
261
266
281
261
283
283
248
263
263
263
263
273
283
283
278
293
260
275
275
275
290
290
305
312
312
307
317
317
312
292
309
309
324
319
319
314
304
291
291
291
291
291
291
291
336
336
331
343
318
303
303
328
343
340
360
355
310
310
310
310
310
360
335
335
350
350
335
340
362
362
342
367
372
367
347
347
364
374
364
364
344
384
359
359
359
371
371
381
361
361
376
376
391
396
396
386
386
371
376
376
371
398
398
383
383
403
403
408
383
378
375
410
410
410
375
385
385
415
395
390
387
417
417
417
407
412
412
402
399
429
434
431
431
431
426
453
453
438
455
455
465
460
460
460
482
482
472
494
476
496
496
491
491
496
476
476
506
496
496
493
493
520
515
505
505
515
515
490
490
527
527
517
527
527
539
539
539
539
549
544
519
544
544
514
514
561
551
551
551
551
551
541
531
541
541
536
573
563
573
563
563
563
548
575
575
560
560
587
562
574
594
604
584
584
584
606
616
606
606
601
613
637
637
659
666
704
704
711
711
1
27
27
34
34
34
34
34
34
41
41
41
41
53
53
53
53
75
65
65
65
65
60
60
60
72
82
72
77
77
72
72
84
89
84
84
79
79
84
91
91
91
91
91
91
91
98
98
103
103
113
113
103
103
103
103
103
110
110
110
115
115
115
152
122
122
129
129
129
139
129
149
129
129
129
129
129
129
129
134
141
141
141
146
146
183
183
148
148
148
148
190
165
160
160
155
160
160
160
155
172
172
172
172
167
172
207
197
192
209
184
189
189
214
179
204
184
184
184
199
199
184
184
184
214
199
199
191
196
211
226
191
216
186
221
223
233
203
210
210
235
235
205
222
222
217
217
222
222
252
252
254
254
254
249
249
229
241
241
281
248
263
273
278
295
295
260
275
275
275
275
285
285
305
290
282
282
282
282
267
307
317
279
279
329
329
319
304
321
336
331
331
316
303
303
343
343
360
330
315
315
355
340
352
362
347
357
367
362
347
357
357
374
374
344
344
354
379
384
384
359
359
376
386
376
376
391
396
391
396
371
371
383
383
393
373
373
383
388
388
378
408
408
398
398
378
405
405
395
395
375
375
415
415
415
395
390
422
422
417
417
422
407
402
397
397
427
402
402
399
399
424
424
419
419
414
441
438
455
465
465
450
450
472
472
467
467
472
494
484
484
506
488
503
503
488
488
508
518
508
508
505
515
517
512
507
527
527
502
502
539
539
539
549
539
524
539
539
524
551
551
551
561
531
526
526
573
563
563
543
548
548
548
585
575
585
575
570
570
560
580
560
587
582
582
572
572
582
582
599
574
581
606
616
596
596
591
623
613
613
613
618
618
613
613
625
649
649
666
673
711
711
723
1
1
1
34
34
34
34
34
34
34
34
34
41
41
41
41
41
41
41
41
41
41
41
53
65
65
65
60
60
60
60
60
87
72
72
72
72
72
72
77
72
72
72
72
72
89
94
89
89
79
79
101
96
91
91
91
91
91
96
103
103
103
103
103
103
115
110
110
110
110
110
125
125
122
122
164
129
129
129
129
129
129
129
129
129
129
141
141
146
161
136
136
141
153
153
153
148
148
148
148
170
180
160
180
160
195
195
177
177
177
177
197
172
172
172
172
167
172
172
197
184
184
184
184
184
214
204
191
191
191
216
196
196
196
221
216
186
186
211
211
221
221
211
211
203
233
203
223
233
240
215
205
230
205
250
217
257
257
217
227
227
234
234
229
259
259
251
251
236
266
261
261
236
266
266
248
248
275
275
285
260
285
282
282
307
307
297
282
292
292
292
292
292
292
267
294
294
294
294
279
329
314
291
291
291
291
341
341
316
343
333
343
343
350
350
350
350
310
310
355
355
362
347
342
322
322
367
364
344
344
369
359
384
374
386
366
396
391
396
371
383
383
388
363
388
388
383
378
403
408
403
408
383
378
390
390
375
375
375
400
395
395
385
385
390
415
415
410
410
390
407
407
417
417
427
427
427
402
402
402
399
429
429
434
414
409
409
439
414
436
436
406
426
426
426
426
448
448
450
450
477
477
467
494
479
479
484
491
491
496
491
506
506
500
500
515
495
515
515
495
495
515
520
520
512
507
527
539
524
524
524
519
524
539
539
514
514
551
561
556
556
536
556
536
563
573
543
533
533
533
533
585
570
570
550
560
580
597
587
597
582
582
582
572
592
582
582
599
594
584
584
594
594
611
581
593
623
613
613
608
608
603
625
625
625
630
630
625
625
637
661
661
673
673
685
723
735
1
1
1
1
1
1
27
27
27
27
27
27
34
34
34
34
41
41
41
41
41
41
53
53
53
53
53
53
65
65
60
60
60
60
60
72
72
72
72
72
72
72
72
72
72
72
72
99
89
79
84
84
84
84
84
101
106
91
91
91
98
98
113
103
103
103
103
103
103
110
110
122
122
137
137
137
137
129
129
129
149
129
129
129
134
134
141
136
136
176
153
148
148
168
148
148
148
153
148
148
170
180
180
165
160
155
155
155
160
160
182
192
172
192
172
207
207
179
184
204
199
199
184
184
184
184
221
186
186
221
221
211
203
228
208
213
233
223
238
218
218
223
223
215
240
240
215
230
230
205
205
240
252
217
217
217
257
244
244
249
269
269
234
234
274
236
241
236
246
241
241
241
266
266
248
278
273
273
248
248
273
273
273
273
278
278
275
275
275
260
260
297
282
282
292
292
272
319
319
304
304
304
304
279
279
279
279
306
306
306
306
291
291
291
316
341
303
303
303
353
353
355
365
350
350
345
362
362
322
322
367
374
354
344
359
334
334
376
376
391
396
386
376
363
363
378
408
403
403
390
390
400
375
400
400
375
375
375
390
415
415
395
402
407
407
402
402
402
397
397
402
427
427
422
422
402
402
419
419
429
429
429
429
394
439
439
414
441
406
446
426
426
421
421
451
426
448
448
438
438
438
450
467
467
494
489
489
479
491
491
491
496
493
508
503
483
518
495
495
495
512
512
507
532
532
532
524
519
539
536
531
536
551
551
556
536
526
526
553
553
548
548
568
573
568
568
548
548
585
550
585
560
560
545
545
545
545
597
582
582
562
572
592
582
582
599
609
594
594
609
594
584
599
594
594
611
601
596
596
601
601
618
593
613
600
620
620
615
637
637
637
637
637
637
637
649
673
673
673
685
692
697
735
747
1
1
1
1
1
1
1
1
1
8
27
27
34
34
34
34
34
34
34
34
34
34
34
34
41
41
41
41
41
41
41
41
41
41
53
53
53
53
53
53
53
60
60
60
60
60
60
60
72
72
72
72
72
72
72
72
72
111
91
91
96
96
113
103
118
103
103
103
103
103
103
103
103
103
125
110
110
115
110
110
110
110
110
110
115
117
122
134
129
129
149
149
149
149
129
129
129
129
129
129
129
141
141
161
161
161
141
136
136
171
171
148
188
175
175
160
160
155
155
155
155
182
192
192
172
172
172
167
167
167
167
179
179
199
184
199
184
214
214
196
196
196
216
211
211
186
213
228
223
240
215
220
240
230
250
205
225
225
230
230
222
252
252
242
217
217
257
247
247
249
264
234
234
234
234
274
251
251
236
261
241
241
276
276
246
241
281
281
253
248
248
248
253
285
285
285
260
285
285
260
285
285
282
282
282
272
272
304
304
279
279
279
279
284
279
319
319
331
331
316
311
311
311
291
291
328
353
310
350
350
350
350
315
315
335
365
365
362
372
332
362
357
322
322
369
369
344
334
334
371
371
381
366
346
346
376
388
363
363
383
383
378
403
398
390
390
375
375
375
375
390
415
415
415
402
412
387
412
412
402
402
427
414
429
429
394
394
414
414
414
409
409
434
434
414
431
431
441
441
406
426
451
451
426
448
458
428
428
463
433
433
460
460
450
450
450
450
472
467
479
479
491
501
501
496
491
493
488
483
508
505
520
515
495
507
532
524
524
524
519
544
544
544
531
561
548
538
548
548
563
563
568
548
548
538
538
575
565
565
560
560
560
580
580
560
597
562
597
572
557
557
557
557
609
594
584
599
594
594
621
611
621
606
596
601
618
618
613
608
613
613
603
630
600
600
625
625
612
632
632
622
649
649
649
649
649
661
685
685
692
697
704
709
747
754
1
1
1
1
1
8
15
27
34
34
34
34
41
41
41
41
53
53
53
53
53
53
65
65
60
60
60
60
60
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
84
84
91
103
123
103
103
103
108
108
103
125
115
110
130
135
110
110
115
117
137
122
117
122
122
129
129
129
134
129
129
129
129
129
129
129
141
141
156
156
156
156
141
136
141
136
136
153
153
148
148
148
148
148
148
168
173
148
173
153
148
148
183
183
180
155
155
195
179
179
204
199
199
184
179
179
206
206
206
206
186
221
221
208
223
203
218
218
210
210
220
205
205
240
230
222
222
252
242
217
217
257
217
247
247
247
242
242
264
254
234
234
236
241
236
241
236
241
281
281
248
273
253
253
273
273
273
273
248
248
283
283
248
248
253
253
253
275
275
260
260
260
265
300
297
297
297
292
292
272
292
292
272
292
292
292
292
294
294
279
279
284
284
279
279
316
311
291
291
291
326
326
343
343
323
303
313
350
350
335
365
372
332
332
362
362
362
352
352
347
322
322
322
322
377
377
384
384
369
369
379
334
334
359
346
346
378
378
403
393
363
363
363
378
378
398
353
353
400
375
375
375
390
410
397
397
387
402
402
427
414
424
394
399
424
424
426
441
406
426
426
426
426
421
421
446
446
421
421
443
443
448
448
418
438
463
463
438
460
470
440
445
445
472
472
452
484
489
476
491
491
503
513
513
508
503
503
500
495
520
517
532
537
507
524
519
544
536
531
536
526
536
551
556
556
538
573
560
550
575
560
575
575
560
560
560
550
550
572
572
572
572
572
609
604
579
569
569
569
569
621
596
591
606
601
633
618
628
608
618
630
600
620
625
625
625
642
612
637
637
637
624
644
644
634
661
661
661
673
673
673
668
697
697
704
709
711
721
754
761
1
1
1
1
1
20
27
27
27
34
34
39
34
34
34
34
34
34
34
41
41
53
53
53
60
60
60
60
60
60
60
60
60
60
60
60
60
60
72
72
72
72
72
72
72
72
79
79
79
79
84
84
84
84
91
91
91
91
91
103
103
103
110
110
110
110
125
110
110
110
110
115
110
135
115
117
137
147
142
122
117
127
152
149
129
129
129
129
149
129
129
129
134
134
141
141
136
136
136
148
148
168
168
148
153
173
160
180
180
160
180
155
155
155
155
190
190
192
177
202
202
179
179
179
179
204
204
191
216
186
206
206
186
191
191
203
203
223
233
233
235
215
225
225
225
205
225
250
230
222
217
217
217
217
247
234
264
259
254
229
264
264
259
259
259
249
249
236
266
236
241
241
241
236
246
246
241
266
253
248
248
248
248
273
273
273
273
248
248
248
248
248
253
253
253
253
253
253
285
260
285
285
285
260
295
260
260
260
265
292
292
267
267
272
272
272
277
292
282
282
307
307
304
304
304
304
304
304
304
284
284
279
304
304
306
306
291
291
291
316
323
303
303
313
355
355
355
355
335
310
335
332
332
347
322
322
377
384
384
374
374
369
359
359
334
334
389
389
359
359
396
381
391
341
341
371
403
363
363
363
363
363
398
353
353
415
405
375
375
375
390
410
407
387
402
402
422
409
409
399
414
414
426
436
411
436
436
438
448
418
428
428
458
458
455
455
460
430
450
475
450
472
472
482
452
457
457
484
484
464
464
491
491
501
488
513
503
510
525
525
515
515
515
512
507
532
544
549
514
526
536
551
543
543
548
538
548
548
563
563
550
580
560
560
560
560
560
572
587
587
572
572
562
562
584
584
584
584
621
591
581
581
581
581
633
608
603
618
603
603
603
640
600
600
640
620
642
632
637
637
637
622
622
622
624
644
649
649
649
636
656
656
641
673
673
673
668
673
685
685
680
709
709
711
721
733
761
761
773
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
46
51
41
41
41
41
53
53
53
53
53
65
65
60
65
72
72
72
72
72
72
72
72
79
79
79
79
79
79
84
91
91
91
91
91
91
91
91
91
91
96
103
103
98
98
103
103
103
103
115
110
110
110
115
117
132
122
117
122
127
147
147
122
122
127
149
129
129
129
129
154
154
129
129
129
129
129
129
164
141
141
141
161
141
161
161
136
161
153
153
148
148
148
148
158
158
148
180
180
165
160
185
172
177
192
187
187
187
187
167
167
167
167
167
167
167
167
197
197
199
189
184
191
216
186
186
186
216
228
208
198
198
198
223
223
235
225
205
225
250
245
245
222
247
217
217
217
217
262
234
229
254
249
249
246
251
276
251
266
266
236
236
266
241
236
241
241
236
241
241
241
236
266
266
266
266
278
248
248
248
283
248
248
248
253
253
253
260
260
260
285
260
260
260
260
265
265
265
297
267
267
272
317
297
297
292
272
272
272
302
302
272
272
292
292
292
292
292
304
279
284
284
284
279
314
284
304
316
316
316
316
291
291
311
311
303
333
313
313
313
335
310
310
335
367
367
367
367
347
332
332
347
322
322
344
344
359
389
359
396
381
381
341
341
401
401
371
403
363
393
363
363
363
363
398
383
415
375
375
375
410
422
417
387
387
402
417
419
399
434
411
426
426
421
421
438
448
423
448
448
428
428
445
460
430
440
470
470
467
467
442
452
462
484
494
489
464
469
469
491
496
496
476
476
503
508
500
525
522
537
537
519
514
544
556
556
526
538
548
555
550
560
560
560
575
572
572
572
572
584
599
599
579
574
574
596
596
591
633
603
593
593
593
593
618
640
640
600
600
620
620
615
630
652
612
652
627
644
644
654
634
634
634
636
656
661
661
648
668
668
653
685
685
680
685
697
692
687
716
716
733
740
761
773
785
1
1
1
1
1
1
1
1
27
27
27
34
34
34
34
39
34
34
34
34
34
34
34
34
46
46
41
46
41
46
58
63
53
53
53
65
65
60
60
60
60
60
60
60
60
60
60
65
72
72
72
72
72
84
84
84
84
84
91
91
91
91
91
91
91
91
91
91
91
91
103
98
98
98
98
103
103
98
98
108
120
115
115
125
135
115
115
125
110
110
115
115
115
122
122
117
122
127
134
134
139
154
159
134
134
134
141
166
161
141
136
136
161
171
171
171
148
153
153
148
148
148
148
168
158
158
158
153
173
173
173
160
165
165
165
160
175
175
177
177
192
192
177
172
177
167
192
189
199
179
179
179
179
174
174
206
211
211
186
186
186
196
221
221
221
203
223
228
208
198
198
223
240
220
230
240
205
205
235
235
247
217
217
217
217
217
222
262
247
257
257
259
239
229
229
234
234
269
261
251
251
241
241
241
236
241
236
241
241
241
263
288
248
278
248
248
248
283
248
248
253
253
253
253
273
273
253
273
273
290
260
260
260
260
260
265
282
267
267
272
272
272
292
272
272
272
272
277
272
272
309
279
279
284
284
324
324
304
304
284
284
284
304
304
291
291
291
291
326
296
316
326
328
328
323
323
323
333
313
313
323
310
345
347
332
332
332
332
362
374
374
374
374
359
364
359
344
359
334
334
401
401
403
363
363
363
413
413
383
405
375
375
405
390
390
422
387
387
387
417
402
427
434
429
394
399
399
424
414
426
411
446
423
433
438
428
428
433
433
445
460
460
460
470
440
457
442
452
482
482
479
479
454
464
474
491
496
496
506
501
476
506
481
481
503
508
508
488
483
510
515
507
532
549
549
534
531
526
556
568
567
562
562
572
572
587
584
584
579
579
596
611
611
591
581
581
603
640
600
630
620
605
605
640
605
605
652
612
632
627
622
642
664
619
649
664
639
649
656
656
661
641
641
641
673
648
663
668
660
680
680
665
692
692
687
697
709
704
718
728
740
752
761
761
785
797
1
1
1
1
1
1
1
1
27
27
27
34
34
34
46
51
41
41
41
41
58
58
53
53
53
60
60
70
75
60
60
60
65
65
65
65
60
60
60
60
65
65
72
72
72
72
72
72
72
72
72
72
72
72
89
84
84
84
84
84
84
84
91
91
91
91
91
91
91
91
91
91
96
103
103
103
103
103
103
103
98
98
98
98
98
98
98
98
98
98
98
98
103
103
103
103
103
103
103
103
103
120
115
115
110
110
110
110
125
115
110
105
105
115
127
127
117
127
127
127
147
137
122
122
137
122
117
129
134
134
134
134
134
129
129
129
129
146
146
146
156
156
136
136
161
166
146
148
148
178
168
158
158
158
148
148
148
148
173
183
183
148
148
178
178
178
160
165
165
165
165
165
160
160
160
160
180
180
180
177
177
177
167
167
187
187
167
177
177
189
189
199
199
189
179
179
184
199
174
174
196
206
206
206
186
206
186
191
191
221
208
208
233
233
198
198
233
210
235
240
220
230
205
205
210
210
230
247
217
242
217
247
247
217
217
222
222
217
242
242
259
239
239
229
229
229
229
229
269
259
269
269
254
266
261
251
251
251
251
251
251
251
241
236
241
241
236
241
236
241
241
276
273
253
248
248
248
248
248
253
253
253
300
260
285
285
260
260
260
260
265
265
285
285
270
270
272
297
297
272
272
272
272
282
292
292
282
282
294
279
279
279
284
284
284
284
284
284
289
306
321
291
291
291
291
291
291
301
311
311
326
323
323
303
333
313
308
340
340
345
345
352
332
332
332
352
322
327
322
327
359
359
344
369
386
386
371
376
381
346
346
403
363
363
413
375
405
425
420
390
417
387
387
434
394
399
399
399
424
414
439
441
426
406
411
411
426
421
446
438
423
458
445
450
440
445
445
457
472
472
472
482
452
464
454
464
494
494
491
491
476
506
486
508
508
518
508
488
503
518
493
493
515
515
495
495
515
515
515
522
519
561
561
546
563
563
568
580
585
562
557
577
582
574
569
579
599
611
606
596
591
591
591
591
591
623
623
608
603
593
593
600
635
600
600
630
625
615
640
612
632
642
652
617
612
617
612
664
619
639
634
631
661
676
651
661
671
673
663
668
653
653
685
660
680
667
687
687
677
699
704
709
716
716
718
730
740
764
761
761
761
773
797
809
1
1
1
1
1
8
27
27
34
34
34
34
34
34
41
41
41
41
58
58
63
53
53
53
53
53
53
53
53
65
65
65
65
60
60
60
65
60
60
60
60
60
65
65
82
87
72
72
72
72
72
72
72
72
67
72
72
72
72
72
79
79
79
79
84
84
84
84
84
91
96
91
91
96
91
91
91
91
91
91
91
91
91
96
103
103
103
103
103
103
103
98
103
103
103
103
103
98
103
103
103
103
115
115
115
115
115
115
115
110
110
110
110
115
110
110
110
110
115
115
127
127
127
127
127
127
122
122
122
122
132
137
117
122
139
139
139
154
149
134
129
129
144
129
134
146
146
141
146
146
146
156
156
136
146
146
136
136
136
136
148
148
148
178
153
153
168
158
158
158
158
158
168
168
173
173
173
148
158
148
148
148
190
170
180
165
165
165
165
165
165
165
165
175
175
180
190
190
190
172
177
177
177
172
172
187
187
167
167
187
187
167
177
177
177
202
202
197
197
197
189
184
189
189
214
194
194
184
199
179
206
206
196
196
191
191
206
186
186
196
191
191
191
191
191
208
208
208
208
203
203
220
220
220
220
220
220
205
245
245
205
210
210
245
222
222
247
247
242
217
217
217
217
222
222
217
217
239
239
239
254
229
229
229
229
229
229
234
234
234
239
239
249
249
249
266
251
251
251
251
236
241
241
236
241
241
236
241
241
276
266
251
251
281
281
293
293
278
273
263
253
248
248
248
248
248
253
253
253
253
273
285
260
260
260
265
265
270
312
312
312
272
272
272
272
272
282
292
282
282
282
309
309
284
284
284
304
304
306
291
291
291
291
291
291
291
301
296
296
323
333
303
313
335
340
340
315
352
352
332
332
332
332
352
352
364
344
359
334
334
384
334
334
371
371
371
381
356
371
381
381
383
388
383
383
398
398
363
403
353
353
390
415
375
420
390
387
402
399
429
399
411
411
411
426
421
446
446
446
446
453
438
418
423
423
438
433
458
470
457
452
457
452
452
464
464
464
484
484
484
489
464
476
476
506
506
503
503
483
518
498
515
515
530
495
515
505
505
527
507
527
534
538
573
573
553
550
545
575
580
562
557
587
582
592
592
582
569
569
589
594
611
606
591
601
591
581
581
611
618
603
603
603
603
635
600
600
635
635
635
620
612
612
637
642
627
622
652
624
639
649
629
624
629
624
631
646
671
676
661
643
673
673
668
688
658
683
673
668
685
680
665
665
697
667
692
699
694
679
699
689
716
716
716
721
723
728
728
730
740
742
752
761
771
773
773
780
809
821
1
1
1
1
1
1
1
1
1
8
15
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
46
46
46
41
41
53
65
65
60
60
60
75
65
65
60
60
60
60
77
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
67
72
72
72
72
72
72
99
94
79
79
84
84
84
84
96
91
86
86
86
86
91
111
96
96
96
96
103
103
103
98
98
103
103
98
103
115
115
120
115
115
115
115
115
110
115
110
110
105
105
110
110
115
115
115
127
127
127
127
127
127
122
122
117
117
117
117
137
137
117
117
147
147
139
139
139
139
129
149
129
129
129
129
129
129
129
129
129
129
129
129
129
129
151
151
146
166
156
146
146
151
151
161
136
136
141
141
158
158
148
153
153
158
158
158
158
158
148
148
148
148
148
168
168
158
158
168
160
190
170
170
165
165
165
165
165
165
165
165
165
165
175
175
155
155
155
155
182
182
197
177
177
177
177
177
177
187
187
167
187
187
197
197
197
177
167
167
167
167
197
189
189
184
184
179
189
189
189
189
189
189
189
184
184
184
199
199
179
209
209
196
196
196
196
196
186
226
186
201
201
186
191
191
191
191
221
208
218
218
208
208
203
203
198
203
203
203
198
203
203
203
220
220
220
220
220
205
210
210
210
210
215
215
230
217
217
217
252
252
217
222
217
262
222
257
234
259
254
239
249
249
249
249
249
249
239
239
239
239
229
229
229
229
229
234
239
249
251
251
236
266
236
241
241
236
241
241
241
276
278
263
248
248
253
253
273
273
293
293
273
305
305
290
285
270
275
260
260
260
260
265
270
270
270
270
270
292
267
272
272
272
272
277
292
292
282
282
324
324
324
304
284
284
284
284
304
294
294
321
321
291
291
291
301
303
308
313
345
310
340
355
347
352
332
332
327
352
364
364
359
359
344
359
376
356
346
346
396
383
383
383
368
383
403
388
388
388
388
395
395
395
395
410
410
390
415
365
365
390
390
387
402
427
402
429
399
424
414
411
441
411
423
423
423
433
433
458
458
458
465
430
450
445
465
482
464
464
464
464
464
464
464
476
476
496
496
496
476
488
488
513
513
515
515
520
495
495
510
527
542
507
517
517
539
534
526
546
538
563
533
558
558
585
585
545
560
562
587
557
582
577
587
587
592
569
594
604
594
581
596
601
618
603
613
603
593
593
623
635
630
615
610
610
612
647
647
627
627
612
612
624
619
644
649
649
649
639
634
631
631
661
641
636
641
636
643
673
673
683
688
655
685
675
670
695
670
695
685
680
697
692
677
677
704
694
704
704
706
691
711
701
723
723
728
728
733
740
740
740
742
752
764
773
783
785
780
792
821
828
1
1
1
1
1
20
27
27
39
34
34
39
34
34
34
34
34
34
46
46
41
41
53
58
58
53
53
53
53
75
60
60
60
60
77
82
72
72
72
72
72
72
72
72
72
72
72
72
72
89
94
84
84
84
79
79
79
84
84
84
84
96
96
91
91
91
101
111
91
86
86
86
86
96
96
96
96
103
103
103
103
98
98
98
98
98
98
103
103
123
98
128
103
103
103
103
115
115
115
110
115
110
110
110
110
110
110
110
127
127
122
122
127
127
127
127
127
127
127
122
122
117
137
122
122
134
139
134
134
124
124
124
124
129
149
129
129
149
129
129
159
159
151
151
151
146
146
141
156
136
136
136
136
156
156
141
141
141
136
136
158
158
158
148
178
153
148
158
158
148
153
153
153
168
168
180
170
165
165
165
165
165
165
165
160
160
160
175
175
175
175
180
182
182
182
182
197
177
167
177
177
177
177
177
182
182
182
182
167
197
197
199
189
189
189
189
209
184
189
189
189
189
189
189
189
194
194
189
179
199
179
179
179
179
179
204
201
201
196
196
196
196
206
196
196
196
196
196
186
186
186
196
196
211
211
191
216
216
208
233
198
198
203
203
203
198
203
230
230
220
220
215
215
205
210
210
210
210
210
210
210
215
215
215
217
217
217
217
222
222
222
222
222
222
222
249
249
239
239
239
239
239
229
259
259
229
269
269
269
271
266
261
261
261
251
251
251
236
241
236
241
241
286
286
276
241
263
263
248
278
248
253
253
253
273
273
290
270
270
275
260
260
260
260
270
305
305
312
312
302
292
287
267
272
272
272
272
282
282
282
292
304
279
304
284
284
304
304
294
331
331
336
291
291
301
301
301
296
296
301
316
306
306
296
296
333
333
310
355
315
315
315
357
332
367
352
352
359
364
364
364
334
334
334
334
334
369
376
376
371
371
356
383
368
403
353
353
353
353
353
353
388
388
395
395
395
380
395
415
400
400
390
407
407
407
407
417
417
402
422
372
372
402
402
429
429
399
424
414
439
414
441
411
421
423
453
423
445
445
465
465
465
477
442
452
457
457
472
464
464
464
494
476
476
496
476
476
471
471
471
471
488
483
508
508
508
488
500
515
495
495
525
527
527
527
507
522
539
554
514
539
519
529
529
551
526
541
563
533
558
553
545
570
570
557
597
597
557
577
577
572
574
569
594
589
594
599
604
581
606
616
601
630
620
615
635
647
622
622
619
659
659
649
649
649
649
649
624
624
631
631
631
631
651
646
661
651
646
643
643
673
658
653
648
653
648
655
685
675
670
695
700
667
692
682
667
687
687
682
707
697
692
704
704
704
704
689
689
706
716
716
716
723
718
718
723
698
713
740
740
745
752
752
764
761
761
776
771
785
795
792
792
792
804
828
840
1
1
1
1
1
1
1
1
1
1
34
34
34
39
34
34
34
34
34
34
34
51
51
41
41
41
41
41
53
53
53
53
53
60
60
60
60
65
65
60
60
60
82
72
72
72
89
84
84
79
79
79
84
84
91
96
91
96
91
96
101
101
96
96
91
91
91
108
103
103
103
103
113
123
103
118
98
103
98
103
103
103
120
110
110
110
115
110
110
110
110
110
110
110
110
130
140
127
127
127
122
127
122
122
117
122
117
117
122
117
117
122
139
139
139
134
134
129
129
129
129
129
129
129
129
129
129
149
134
134
129
151
151
151
146
146
146
146
136
136
136
136
156
141
141
156
141
136
136
141
166
166
158
158
158
158
158
158
148
148
148
148
148
148
168
168
153
148
148
148
148
148
148
148
153
153
148
148
170
190
170
165
165
160
160
155
155
160
160
180
180
187
182
182
167
177
177
172
167
167
187
182
182
167
167
167
192
189
189
189
189
209
184
189
189
189
189
189
179
179
179
179
179
179
206
201
201
201
221
196
196
206
196
196
196
196
196
201
201
201
186
186
201
186
196
196
211
186
186
186
186
221
213
213
208
208
208
218
208
208
198
198
198
223
223
203
198
223
223
215
240
240
205
210
210
210
210
210
210
215
242
242
217
227
227
217
217
217
217
222
222
222
222
222
222
222
222
239
239
229
229
234
234
234
234
261
271
251
251
241
236
251
251
281
283
273
268
268
268
263
263
263
248
253
253
293
293
293
270
275
275
260
290
260
260
260
265
302
287
272
307
272
317
317
312
314
304
284
284
284
311
291
291
301
301
301
336
296
301
301
316
316
306
296
343
343
343
348
313
313
313
308
308
313
318
318
323
355
345
345
315
362
362
377
367
327
327
327
369
359
374
371
371
386
386
371
371
346
388
388
383
383
368
395
380
365
365
365
365
400
407
402
402
392
402
422
407
407
402
419
414
414
414
429
424
424
414
414
409
441
411
426
446
421
453
423
465
452
457
472
472
472
472
472
472
472
472
489
464
464
454
464
484
476
496
491
506
488
483
508
483
488
483
483
500
495
520
520
520
515
500
512
527
507
507
537
539
539
514
539
534
519
534
551
566
531
541
541
541
558
545
545
570
560
560
560
560
560
557
557
582
577
597
592
569
574
569
569
609
609
584
584
594
594
584
606
586
606
596
601
601
601
611
616
628
613
600
647
627
622
627
622
647
659
649
631
651
646
671
671
661
661
661
636
636
643
643
643
658
668
663
655
655
655
695
680
670
665
660
665
660
667
692
682
667
667
667
707
712
679
704
704
694
694
679
699
719
709
704
716
716
716
701
701
718
718
728
728
728
698
728
730
735
735
710
725
752
752
757
764
764
761
761
776
773
788
783
792
792
792
807
804
804
804
816
852
1
1
1
1
1
1
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
51
41
53
63
53
53
53
53
65
60
80
80
60
60
60
60
60
72
72
72
72
72
72
79
79
79
79
79
84
96
91
101
91
91
91
91
91
91
91
91
91
91
91
91
91
91
108
108
113
103
113
103
103
98
98
120
120
115
110
115
130
125
135
110
110
110
110
110
110
110
127
122
137
117
137
137
117
117
117
137
137
117
117
147
139
139
124
124
124
124
129
129
129
129
129
129
129
129
129
129
129
129
129
134
129
129
151
151
151
151
146
146
141
141
141
141
141
141
156
141
136
136
141
158
158
158
158
158
153
148
143
143
143
143
143
143
143
143
148
148
163
163
153
148
148
148
148
163
163
148
153
153
153
148
148
148
153
173
173
170
170
170
155
155
155
155
155
155
155
155
175
175
160
160
165
160
160
160
160
160
155
155
185
182
202
172
187
167
167
192
192
199
189
189
184
179
189
189
184
179
179
179
179
179
179
179
204
199
201
201
201
221
196
196
196
196
196
196
196
201
186
201
186
196
196
196
191
191
191
191
218
228
228
213
213
213
233
208
198
198
223
203
203
198
215
215
230
220
220
230
230
230
230
210
235
235
210
210
210
247
247
217
217
217
222
222
222
254
254
249
249
239
239
259
229
229
234
234
234
234
234
241
241
241
241
241
246
251
278
268
263
263
278
278
293
295
285
270
275
275
275
260
260
270
312
297
287
287
272
302
272
277
314
329
309
309
314
314
284
284
329
329
319
326
311
336
331
296
296
301
301
323
328
328
303
348
308
313
318
323
323
355
360
355
325
325
325
315
315
325
355
355
330
330
315
360
360
367
357
357
327
374
374
359
374
384
334
334
334
339
334
359
359
381
383
383
393
393
358
353
358
353
358
388
388
400
400
390
390
380
402
392
372
372
372
372
407
419
414
414
414
424
424
414
409
431
426
426
426
436
421
421
453
423
433
453
433
458
460
460
477
472
477
472
472
472
464
464
464
484
484
484
484
501
476
496
471
491
496
483
508
503
513
513
518
500
495
515
495
515
500
490
490
512
507
532
532
532
502
502
527
512
524
534
534
519
519
549
551
551
546
531
546
558
578
533
543
553
553
565
545
560
560
557
582
557
582
572
572
572
569
584
584
584
584
584
604
581
606
586
621
621
596
596
618
598
613
613
623
628
600
630
640
620
612
627
622
659
659
631
671
673
658
683
683
673
668
668
648
648
655
655
655
670
655
670
670
667
667
667
667
667
667
692
682
677
672
677
672
679
694
694
679
719
724
691
716
706
691
711
731
721
716
728
728
728
728
713
713
735
740
740
740
740
710
740
742
747
747
722
737
764
764
769
761
776
776
771
773
783
783
780
800
795
792
804
804
819
816
816
816
816
828
828
859
1
1
1
1
27
27
27
27
27
34
34
39
34
34
34
34
34
34
34
46
41
53
53
63
53
53
53
53
53
53
60
60
75
60
60
60
77
87
92
72
72
72
72
72
79
84
84
79
79
79
84
84
84
84
91
86
86
86
86
86
86
86
86
101
91
91
91
91
113
103
103
98
98
98
98
98
98
98
98
103
103
98
98
103
103
103
120
120
115
125
115
110
110
110
115
110
110
110
125
110
110
110
135
127
127
127
127
137
137
132
147
117
137
122
122
117
149
129
129
149
149
129
149
129
154
154
136
136
136
136
136
136
136
136
141
141
141
161
141
141
141
141
146
146
158
158
158
153
148
148
148
148
153
153
153
148
148
163
153
148
153
180
170
170
160
160
165
160
160
165
160
155
155
155
155
160
165
165
182
182
182
167
167
167
167
167
167
167
167
182
182
182
177
172
172
167
167
167
167
172
172
167
167
167
167
177
177
197
199
214
189
184
179
179
179
179
184
204
204
199
199
211
201
196
196
216
196
196
196
186
191
191
196
191
186
186
191
226
226
211
213
213
213
233
208
198
198
198
198
203
203
203
203
223
230
240
240
245
215
220
235
210
210
220
242
242
242
232
232
252
217
247
247
222
259
259
249
249
259
229
234
234
261
261
261
261
261
261
251
251
241
241
241
241
241
246
246
251
293
253
290
270
275
275
270
305
297
307
292
287
287
287
312
272
312
292
324
309
314
284
284
284
326
331
336
336
316
316
296
296
301
321
331
331
341
341
333
323
348
343
303
308
313
323
335
335
335
355
315
325
330
367
372
367
337
337
337
337
367
367
327
372
372
374
369
369
334
334
334
386
386
371
396
351
371
371
393
353
353
395
390
370
365
370
365
370
400
402
412
412
402
402
392
414
431
431
426
421
421
436
421
443
433
453
448
443
453
453
433
460
445
440
440
472
472
472
472
464
464
489
484
489
484
476
476
496
471
471
471
471
491
491
491
513
483
508
483
503
495
515
515
510
525
530
512
507
502
527
512
502
502
524
519
544
544
544
514
514
539
524
536
546
531
531
561
563
563
533
558
553
543
553
565
565
590
545
555
560
560
565
565
577
582
572
569
594
594
584
579
579
596
596
596
601
633
633
598
603
603
603
608
630
630
610
620
620
635
640
652
624
649
649
631
646
671
666
673
643
643
683
685
670
670
695
695
695
680
685
660
660
667
667
682
667
667
667
704
679
679
679
704
689
684
689
684
689
691
686
731
736
728
703
718
723
703
698
698
743
733
728
740
740
740
740
740
725
725
747
752
752
722
752
759
759
734
749
761
776
776
781
773
788
783
783
780
795
795
792
792
812
802
802
816
816
816
831
828
828
828
828
828
828
840
840
859
871
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
51
41
41
53
53
58
53
53
53
75
60
65
65
65
60
60
60
60
60
60
60
60
72
72
87
92
72
72
72
89
104
99
84
79
91
91
91
86
86
86
86
86
86
86
86
91
91
91
91
103
103
103
98
98
98
98
103
113
103
103
103
98
103
103
103
98
135
125
115
115
110
110
110
105
105
105
105
110
110
110
110
110
127
127
127
127
127
127
127
122
122
132
147
137
124
124
124
124
124
124
124
124
124
124
124
124
149
144
144
129
154
139
129
129
129
134
129
129
129
151
136
136
136
136
136
136
136
136
136
136
136
136
156
141
156
156
156
161
161
161
141
146
146
158
148
148
148
148
148
148
148
153
163
153
170
170
165
160
160
165
160
165
165
180
180
187
182
182
182
182
172
167
182
167
167
187
207
167
172
167
167
167
167
172
177
172
177
172
207
179
179
179
179
179
179
179
179
189
189
179
179
209
209
179
179
189
189
179
179
179
179
189
189
189
204
206
211
226
196
196
216
216
211
211
218
213
208
223
223
208
198
198
198
203
203
233
233
223
218
230
245
215
220
220
230
230
230
230
210
210
210
210
220
220
237
247
247
257
247
254
249
249
244
244
259
259
259
259
234
239
239
266
266
241
246
246
273
273
273
273
263
263
253
253
293
290
270
302
292
287
287
312
292
322
317
317
309
314
304
324
284
324
304
321
326
296
336
333
328
328
343
303
303
333
328
353
353
338
338
338
338
340
335
355
350
315
325
337
379
379
374
349
349
349
384
384
384
349
374
374
379
379
381
381
381
371
346
346
346
398
398
393
353
353
363
383
383
388
388
405
390
410
390
407
402
382
372
382
372
407
414
424
424
409
409
429
424
424
429
421
421
421
443
433
433
443
433
433
438
448
443
455
465
460
455
465
460
460
440
440
452
452
472
472
457
452
484
484
484
496
491
501
471
471
471
471
491
488
488
508
483
498
503
503
520
515
495
510
507
527
517
537
542
524
519
524
514
514
536
531
556
556
556
526
536
543
558
553
543
543
573
565
575
575
570
555
560
565
577
602
557
572
567
577
572
589
584
604
579
606
596
591
591
603
603
603
603
613
645
645
610
615
615
620
622
622
622
622
647
647
664
646
661
643
658
683
678
655
655
655
695
695
670
697
707
707
692
692
692
672
672
679
704
694
679
679
716
716
686
686
711
711
696
696
696
696
703
698
698
743
748
740
715
740
740
735
710
710
755
745
740
710
710
710
752
752
752
737
737
759
759
764
729
771
771
771
746
756
788
788
783
788
785
800
795
792
804
804
804
819
814
814
828
828
828
828
828
828
838
840
840
840
852
852
859
859
871
883
1
1
1
1
1
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
46
51
46
41
41
41
58
63
53
53
53
53
60
70
80
65
65
65
65
60
60
60
60
60
60
60
60
60
60
72
87
72
72
72
72
72
72
99
99
104
79
111
106
91
91
91
91
91
91
91
91
101
103
98
98
113
98
103
103
103
103
113
128
103
103
98
98
125
115
115
115
115
110
110
110
115
110
105
105
105
105
105
105
105
105
105
105
105
105
110
110
110
110
120
110
110
110
110
115
115
110
110
147
127
122
122
127
117
117
117
117
117
122
132
132
132
122
137
149
139
139
124
124
129
129
124
124
129
129
129
139
129
134
129
154
134
149
151
151
136
136
136
136
156
151
161
161
141
141
141
141
146
141
148
148
148
148
148
148
148
148
148
148
148
148
163
168
168
153
163
163
158
163
163
168
168
148
148
153
173
160
160
160
160
165
165
190
165
165
182
182
182
177
177
182
187
172
172
177
177
172
177
172
192
192
177
204
184
189
189
189
189
189
219
179
179
179
189
189
189
214
214
189
191
191
191
191
191
191
191
191
201
221
221
191
191
186
186
211
211
218
218
238
228
223
223
218
218
230
215
220
220
230
230
230
230
220
220
237
247
257
242
242
242
222
222
222
247
249
264
259
239
239
266
256
256
271
271
271
246
251
251
278
278
253
253
285
285
280
280
280
275
275
290
305
302
292
317
304
309
284
314
324
334
309
329
329
319
321
321
321
311
331
331
316
338
303
333
348
328
338
338
340
340
340
350
320
345
340
365
365
350
350
352
362
357
337
352
349
334
334
391
386
381
381
396
361
381
381
381
381
381
381
393
393
393
358
388
388
410
410
405
405
365
365
375
390
390
400
400
417
402
402
419
409
409
424
424
424
424
424
429
429
389
389
436
436
421
421
441
436
436
433
433
438
453
455
445
450
450
460
455
460
467
472
467
467
472
472
472
472
452
452
464
464
484
479
464
491
496
471
471
471
471
496
491
513
483
483
503
500
500
495
495
520
490
515
515
532
502
527
517
519
549
554
536
531
541
541
536
526
526
543
543
568
568
568
543
553
555
560
555
555
560
560
560
585
587
587
582
567
572
589
614
584
584
584
584
594
594
579
579
589
584
601
596
591
608
603
603
603
615
620
657
657
622
627
622
627
627
647
659
676
666
668
655
670
695
690
667
667
719
719
704
684
684
689
691
716
686
728
728
728
698
698
723
723
708
703
708
703
710
710
740
740
710
755
760
710
710
710
752
727
752
747
722
722
767
752
752
722
722
759
764
729
729
729
729
729
749
744
771
771
771
771
741
783
783
783
783
783
758
783
768
800
800
807
802
802
804
819
816
816
816
816
831
826
821
828
828
840
840
840
850
852
847
864
864
871
871
883
895
1
1
27
27
27
27
27
34
34
39
34
34
39
34
34
34
34
34
34
34
46
41
41
41
41
41
41
53
53
53
63
53
53
53
53
53
53
53
70
75
75
60
60
60
60
60
60
60
72
72
82
82
87
72
72
72
72
72
72
72
72
72
72
72
72
72
72
87
67
67
67
67
72
72
99
79
79
79
79
79
79
79
84
84
106
111
91
91
91
91
91
91
111
91
91
91
91
91
123
103
113
98
103
113
103
103
103
98
98
98
98
98
113
115
115
110
110
115
115
110
110
110
110
125
110
110
110
125
110
110
140
115
110
110
110
132
127
127
127
122
122
127
127
132
132
127
127
117
132
122
127
127
127
154
139
134
129
129
129
129
129
144
144
129
144
129
134
134
149
161
151
141
141
141
141
141
146
146
141
146
161
161
146
141
141
156
148
148
148
148
148
163
163
163
173
173
153
158
158
158
148
153
148
148
153
153
173
158
158
155
155
155
155
155
155
155
155
155
155
155
155
160
165
175
175
165
160
160
165
182
177
177
172
172
172
172
177
202
187
187
177
172
172
177
189
189
189
189
189
189
189
199
199
189
189
189
189
216
196
226
196
196
203
203
203
203
203
203
203
203
213
228
228
208
218
230
245
240
220
220
220
230
230
230
242
242
232
247
249
259
264
254
254
249
259
239
271
271
261
278
268
268
283
283
283
253
278
263
263
298
293
290
290
280
290
290
297
297
287
287
302
302
312
292
309
329
321
316
296
326
321
321
331
296
341
321
336
316
341
323
338
333
350
345
355
340
350
352
352
352
362
357
362
332
352
352
377
377
357
357
364
369
349
386
386
381
361
381
381
381
346
346
403
393
393
393
353
353
405
405
370
410
390
422
422
417
417
402
402
372
372
412
412
429
424
424
424
429
414
431
421
436
436
436
401
401
448
448
433
448
448
448
453
453
448
448
450
450
465
467
462
467
467
472
472
472
452
472
479
479
484
479
479
484
471
483
483
483
483
508
495
495
525
495
490
515
507
507
507
507
532
502
517
527
527
544
539
531
546
541
561
566
548
543
553
553
538
538
543
555
565
565
580
580
580
560
560
560
560
560
555
565
567
572
567
572
567
597
572
599
599
584
584
574
601
626
596
606
606
601
606
601
591
601
596
613
608
603
603
615
615
615
627
622
669
669
639
639
671
688
678
695
695
692
692
702
679
731
731
716
711
711
696
696
703
728
698
740
740
710
710
730
730
720
720
722
722
752
717
767
772
764
734
759
759
729
729
779
764
729
771
771
771
741
741
741
741
741
761
783
783
783
783
788
783
748
783
783
790
790
765
780
807
807
812
802
802
819
814
814
816
831
828
828
828
843
838
838
833
840
847
847
862
864
859
859
859
871
871
871
871
883
883
890
907
1
1
1
27
27
27
27
27
27
27
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
51
51
41
41
41
41
41
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
60
60
75
60
60
65
72
72
72
82
82
82
72
72
72
72
72
72
72
72
72
72
72
67
72
87
84
89
89
99
79
79
79
79
79
99
79
79
84
84
84
91
111
86
86
86
86
86
86
86
86
91
91
91
91
91
91
123
103
103
98
98
98
98
98
98
98
98
98
98
98
98
98
98
103
98
98
123
113
103
103
98
98
98
98
135
125
135
115
110
110
110
110
110
110
110
125
110
110
125
110
110
110
110
110
110
110
135
135
115
115
110
105
105
110
120
127
122
122
122
122
122
132
132
132
132
147
127
122
117
117
117
117
127
139
134
134
129
129
129
124
124
124
124
124
124
124
124
129
144
144
129
144
134
134
134
134
134
129
134
166
146
146
141
151
151
151
146
146
141
141
141
146
146
141
141
156
146
168
158
158
148
148
153
153
153
153
153
158
158
148
153
153
153
153
163
158
158
160
155
155
155
155
160
185
185
165
180
165
165
160
165
165
177
167
172
167
172
177
172
177
177
204
184
184
184
184
184
184
179
209
189
189
189
189
189
189
189
189
189
196
196
206
206
223
233
233
198
208
208
233
218
230
215
215
215
215
215
215
215
215
225
235
235
220
220
220
220
230
230
230
252
252
247
242
254
249
244
259
239
269
274
269
271
261
261
271
266
251
261
283
283
298
293
273
290
280
280
290
295
295
290
275
275
310
305
302
302
307
302
302
297
309
309
299
299
309
284
289
314
309
309
304
311
316
316
336
316
333
338
308
338
333
333
308
333
328
353
338
338
340
345
315
362
362
357
362
367
352
357
352
364
359
359
369
384
344
364
359
389
389
374
376
391
386
381
381
391
361
381
381
381
381
393
393
415
410
410
410
400
400
400
365
365
417
417
382
422
372
372
372
372
402
424
424
434
434
389
389
389
389
419
419
441
436
421
443
448
448
443
413
413
460
460
455
455
460
460
462
452
479
479
484
479
491
491
496
471
496
483
498
495
520
507
512
507
507
537
532
517
527
519
519
519
514
539
539
539
556
543
573
578
560
565
565
555
567
577
592
592
592
572
572
579
584
584
584
579
574
609
584
611
611
596
586
613
638
603
618
618
613
598
613
608
620
615
615
615
615
627
627
622
634
681
681
651
651
683
700
680
690
692
714
738
738
698
698
728
723
723
708
708
715
752
722
717
742
742
732
732
734
734
759
729
779
784
776
746
771
771
741
741
771
771
791
776
741
783
748
748
748
753
748
773
795
790
795
760
765
807
802
777
792
819
824
814
814
831
826
821
821
821
821
843
838
833
840
840
855
850
850
845
847
859
859
859
869
871
871
871
871
871
871
883
883
883
890
890
890
890
890
890
902
919
1
1
1
1
1
1
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
51
51
41
41
41
41
41
41
41
41
41
46
53
58
58
53
53
53
53
53
53
53
53
53
53
60
60
60
60
60
60
60
60
60
65
65
72
72
72
72
72
72
87
72
72
77
72
84
79
79
79
79
79
79
79
79
94
94
94
79
79
99
84
91
91
101
101
111
91
91
91
91
91
91
111
96
106
91
91
91
103
123
98
98
103
103
103
103
103
113
103
103
103
98
98
98
125
135
110
110
105
105
105
105
105
105
105
105
105
105
105
105
110
115
110
130
115
115
115
110
110
110
125
115
115
115
110
115
110
110
147
137
147
122
122
122
122
122
122
122
122
132
132
142
142
122
122
127
127
127
127
127
122
149
134
129
134
134
129
144
144
129
139
139
134
154
129
129
129
129
134
134
134
134
134
134
134
154
154
134
146
146
146
141
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
151
151
141
141
151
146
146
146
146
146
146
146
146
146
141
146
141
146
141
141
141
146
178
153
158
148
148
148
163
158
158
158
158
158
153
153
153
153
158
163
160
165
165
165
165
165
160
165
160
165
160
165
165
165
165
175
167
172
197
197
187
187
172
172
172
172
177
177
177
204
179
179
184
179
189
179
184
189
189
189
189
189
216
221
221
211
196
196
196
196
206
206
206
206
206
206
191
191
216
216
196
196
208
208
208
233
218
235
210
220
220
250
242
227
227
227
227
227
227
227
227
237
232
242
242
274
254
269
269
254
271
261
256
266
281
286
281
283
288
278
298
283
273
263
273
295
295
305
285
285
302
307
292
292
297
307
307
302
297
297
287
287
317
312
309
309
319
309
309
309
304
321
321
311
311
316
296
326
321
321
296
296
316
328
323
338
328
340
340
345
345
345
315
340
340
365
350
352
357
357
367
362
327
374
364
384
359
376
371
371
386
381
381
386
386
396
381
381
371
371
351
371
386
401
401
381
388
398
398
398
403
393
405
405
405
395
427
422
422
412
372
372
429
429
429
414
419
446
446
401
401
401
401
431
453
443
455
455
455
455
455
455
460
420
420
472
472
467
467
467
491
491
471
503
503
483
508
495
512
502
502
527
519
519
549
539
539
539
531
541
551
568
543
555
585
590
577
572
584
579
604
604
604
574
591
596
591
586
616
596
618
618
608
613
593
620
650
625
625
625
615
610
625
620
632
627
627
627
639
634
641
693
693
663
658
680
680
695
712
692
702
704
711
696
696
726
703
703
750
740
730
730
720
720
729
754
754
744
744
744
746
746
741
771
791
791
756
788
783
783
753
753
753
753
783
783
798
788
748
748
790
760
760
765
765
785
760
802
802
807
772
777
814
789
804
831
836
821
821
821
843
833
838
838
855
850
845
852
867
862
862
859
869
871
871
871
871
881
883
878
878
895
890
902
902
902
902
902
902
909
926
926
1
1
1
1
1
1
1
1
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
41
41
41
41
41
53
53
53
58
58
53
53
53
53
53
53
53
53
53
60
60
70
65
65
75
60
60
60
65
72
72
72
72
72
67
72
72
72
72
77
72
77
72
79
94
79
79
104
104
84
84
84
91
91
91
91
91
106
101
91
101
106
96
96
123
113
113
98
98
98
98
98
98
98
98
113
113
123
103
103
98
113
113
103
103
103
103
103
103
103
113
103
103
103
98
98
113
113
125
125
110
115
130
105
105
105
105
110
110
110
110
115
115
115
115
115
115
125
115
115
115
110
110
110
110
105
105
110
110
132
137
147
122
122
122
122
122
122
117
122
137
127
127
127
127
127
127
132
127
127
127
127
127
127
122
127
117
154
149
154
154
159
129
129
129
129
129
129
129
129
129
129
139
139
129
139
139
139
134
149
149
134
134
134
129
129
129
129
134
134
129
134
134
134
161
146
146
146
151
151
146
146
146
146
146
141
141
141
141
146
146
141
146
146
141
141
146
141
141
166
166
156
178
153
153
148
148
148
148
148
148
148
148
148
148
148
148
148
158
158
163
158
158
158
158
158
158
158
148
153
153
153
153
153
153
158
190
160
160
165
165
165
165
175
177
172
177
177
177
177
177
177
177
177
177
177
177
177
172
172
172
177
177
187
179
179
204
204
179
189
189
189
189
189
216
191
206
206
196
196
206
226
226
228
233
233
223
218
218
218
208
208
208
208
208
208
208
208
208
235
220
220
247
232
262
254
239
239
239
239
239
239
239
239
249
244
254
254
266
281
281
266
283
273
268
283
273
273
273
288
293
288
273
273
295
300
290
290
285
275
285
307
297
307
312
297
292
314
319
304
304
319
319
319
314
309
309
319
316
316
326
341
321
321
316
316
316
316
316
316
316
321
316
328
333
333
323
323
308
333
333
333
343
338
308
328
338
338
335
315
340
352
357
357
352
352
362
362
327
352
347
377
357
364
369
364
379
334
381
386
376
396
381
371
381
381
388
398
398
398
398
393
393
383
383
363
398
413
413
400
405
405
410
400
405
417
417
402
424
434
429
429
409
409
389
389
419
419
419
441
441
436
436
421
421
453
453
408
408
408
408
443
465
455
460
465
467
467
467
467
472
484
484
479
503
503
503
515
515
495
520
527
502
502
519
539
531
561
563
575
575
555
597
597
584
584
604
604
574
596
591
616
616
616
586
598
598
618
618
613
608
603
598
628
608
630
620
615
625
625
625
662
637
622
637
632
644
639
639
651
641
705
705
680
675
670
692
692
707
724
704
714
711
738
738
723
738
715
715
762
742
747
747
732
732
766
766
756
756
753
753
803
783
748
748
768
800
765
765
765
795
810
800
765
760
802
772
772
802
802
777
777
797
772
814
814
819
784
789
826
821
816
796
838
838
848
833
833
845
850
850
850
867
857
879
869
874
869
881
883
893
895
890
890
902
902
902
914
914
909
909
914
909
909
921
938
938
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
27
27
27
34
34
34
34
34
34
34
34
34
34
34
41
41
41
41
46
53
53
53
53
58
53
53
53
53
53
53
53
53
53
53
53
53
60
60
60
60
70
60
60
60
65
60
60
60
60
60
65
72
72
72
82
72
72
72
72
72
72
72
72
82
77
72
72
87
72
67
72
72
77
72
79
79
79
79
79
79
79
84
84
84
84
84
84
84
91
91
91
91
101
91
91
91
91
91
91
91
91
116
116
96
96
103
98
98
98
98
113
108
98
103
103
103
108
103
103
103
113
98
98
113
113
135
115
120
120
125
125
130
110
125
125
110
110
110
110
110
110
110
115
115
115
110
110
110
110
110
110
110
110
115
115
125
125
115
137
137
122
122
137
117
137
127
127
127
127
127
127
127
127
127
127
127
127
132
127
127
127
127
127
127
127
122
122
122
117
117
122
122
122
149
159
134
129
129
129
129
139
129
129
129
149
139
139
139
139
139
139
139
139
154
134
134
129
129
134
129
134
134
134
134
129
166
156
166
166
171
141
166
146
141
146
146
146
141
146
146
141
146
161
156
156
168
153
158
158
148
148
148
148
148
158
158
158
158
158
158
158
158
158
153
153
153
153
153
153
153
153
163
173
173
168
190
160
160
155
155
155
155
155
155
155
155
155
155
155
155
160
165
160
165
165
165
165
165
197
177
202
167
172
172
177
177
177
177
177
177
177
177
177
172
172
172
177
177
187
189
189
189
189
204
204
189
189
189
189
189
189
189
189
189
199
191
216
226
206
226
226
223
228
218
228
208
208
208
208
208
238
238
240
240
240
235
225
225
225
220
220
220
220
235
220
220
220
247
232
232
259
264
254
244
269
254
271
261
251
251
251
251
251
251
251
251
261
261
256
261
261
283
283
288
288
273
290
280
295
285
285
285
285
307
307
302
297
297
297
287
292
319
319
309
304
326
326
316
316
326
316
331
321
331
321
321
316
316
296
296
333
348
348
328
328
338
338
328
328
328
348
328
328
338
338
340
340
335
345
345
340
340
335
335
345
340
340
355
315
315
315
335
350
350
347
362
327
347
362
359
364
364
364
364
374
374
334
334
334
359
359
389
376
381
381
376
376
376
386
351
351
381
381
398
383
400
405
405
405
405
405
375
405
420
420
412
372
372
417
402
424
429
409
389
389
424
436
446
421
421
401
401
431
431
431
421
453
453
448
448
433
460
455
465
465
450
477
472
472
479
479
479
479
474
474
479
474
474
496
496
503
515
515
527
527
522
527
527
532
527
539
543
573
565
565
565
575
587
587
597
604
609
596
596
586
616
608
598
598
628
628
628
598
610
610
620
630
615
615
620
615
610
640
620
642
637
637
627
627
674
644
634
649
644
651
651
651
651
646
646
641
641
658
658
680
717
717
682
704
704
719
736
726
723
750
730
730
730
750
752
747
727
727
774
754
759
759
744
744
778
778
768
768
815
765
780
760
777
777
807
807
807
822
812
772
772
802
777
772
784
784
814
789
784
809
826
831
796
796
796
796
838
828
808
833
850
850
860
845
857
862
862
857
879
869
869
891
881
881
886
893
890
890
890
905
914
909
909
909
926
926
921
921
926
926
926
926
921
933
950
950
1
1
1
1
1
1
1
1
13
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
46
41
41
41
41
41
41
41
41
53
53
53
48
48
53
53
53
53
53
70
60
60
60
60
60
60
65
60
65
72
72
72
72
72
82
72
77
77
72
72
72
72
72
72
72
72
72
72
77
77
72
84
84
94
79
79
79
79
79
79
89
89
79
79
99
79
79
79
84
84
84
84
84
84
91
91
91
86
86
86
86
86
86
86
86
91
91
91
91
91
91
91
91
91
96
103
98
98
98
98
98
98
98
98
98
98
98
98
98
98
123
123
103
110
110
110
110
110
110
110
110
120
120
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
115
115
125
115
147
137
127
127
132
132
137
132
132
122
122
122
127
127
127
127
127
127
122
122
122
127
122
122
122
122
122
122
132
132
127
144
144
134
149
129
129
129
129
149
139
139
139
139
139
139
139
139
139
139
139
134
134
134
129
129
134
129
129
134
134
134
134
156
171
146
146
141
141
161
146
146
146
146
146
146
146
141
141
161
141
146
146
146
146
161
178
173
173
178
178
148
148
158
158
158
158
173
158
158
158
153
153
153
153
158
163
173
168
168
170
170
155
155
155
155
160
160
160
160
165
165
165
165
165
180
175
180
180
180
180
197
172
172
172
177
177
172
192
177
177
177
177
172
172
172
172
172
209
214
179
179
189
189
189
204
189
189
199
206
206
201
201
201
201
216
196
196
191
201
201
201
201
201
201
211
228
238
238
238
208
208
235
240
225
235
235
240
220
220
245
245
247
247
247
242
232
232
232
232
232
232
232
242
259
264
244
244
266
271
261
271
271
266
266
256
266
283
273
263
263
263
263
263
263
263
263
273
273
273
285
285
290
295
285
297
297
292
302
302
297
297
297
319
309
314
309
319
309
309
304
331
331
316
316
316
316
311
338
333
328
328
333
343
343
328
328
328
348
338
335
335
335
340
335
357
357
347
347
347
347
352
352
362
362
327
327
347
357
362
362
359
369
334
359
359
374
376
376
381
381
386
371
381
401
388
378
378
378
383
383
383
383
383
388
388
363
363
378
393
410
405
395
412
417
417
372
372
372
372
382
412
432
402
424
409
389
389
424
441
441
421
401
401
421
448
458
413
413
443
438
438
433
455
460
455
465
465
460
440
467
472
477
477
472
479
489
474
479
479
474
491
491
491
486
486
491
486
486
498
498
508
508
527
522
522
527
527
534
539
534
519
539
539
539
565
565
565
585
550
550
550
575
577
577
604
621
608
608
598
598
593
628
620
620
640
640
640
615
610
622
622
632
642
627
627
627
627
627
627
622
652
632
654
644
644
686
651
646
646
646
641
661
656
663
663
663
663
658
658
680
670
670
692
729
729
689
711
711
711
731
748
738
735
730
762
747
747
762
764
759
739
739
786
771
766
771
771
751
751
751
751
748
748
790
790
760
775
775
775
775
827
777
792
819
834
824
784
784
784
796
796
821
796
821
801
796
838
843
808
808
808
808
833
850
850
840
820
862
862
872
857
869
874
869
869
891
881
881
903
893
888
898
905
912
909
909
909
926
921
921
938
933
933
933
933
938
938
938
938
933
945
957
957
957
1
1
1
1
1
1
13
25
27
27
27
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
34
34
34
34
41
41
41
41
41
46
41
41
41
41
41
58
58
53
53
53
53
53
53
53
60
65
60
60
60
60
60
60
60
60
60
60
60
60
65
60
60
60
65
82
72
67
67
67
67
67
67
67
67
72
67
67
67
67
67
77
94
79
79
84
84
79
84
84
79
84
84
79
79
79
79
79
79
79
89
84
79
79
91
106
91
96
106
91
91
91
91
111
91
96
103
103
103
103
103
103
108
103
103
103
103
103
103
103
98
98
98
98
98
98
103
103
103
108
105
105
105
105
105
105
105
105
105
105
105
105
110
110
110
110
110
110
115
115
115
110
110
110
130
110
110
110
110
110
115
110
110
130
130
122
122
122
122
127
137
127
122
122
122
127
122
122
122
122
122
137
127
127
154
149
139
139
139
129
129
129
139
139
129
134
134
134
139
139
139
134
134
134
129
134
129
134
129
129
129
134
134
134
139
139
139
146
161
146
141
141
141
161
141
146
146
146
161
146
146
146
146
146
146
146
146
146
146
141
141
146
146
146
178
153
173
153
158
173
173
158
183
158
153
173
153
158
158
168
173
158
190
185
185
185
190
175
165
165
180
180
180
180
182
182
172
172
172
192
202
172
172
202
202
172
172
172
177
177
177
192
187
187
209
184
184
199
199
204
219
199
221
191
206
206
191
221
201
201
201
216
201
201
211
221
218
218
213
213
213
213
208
228
203
203
213
213
213
213
213
213
223
240
245
245
245
247
247
247
252
247
232
232
242
254
244
244
244
244
244
244
244
254
266
276
271
271
276
256
256
278
278
278
278
295
275
275
275
275
275
275
275
275
290
285
292
292
292
302
297
297
314
304
319
319
324
304
304
324
321
321
316
331
321
326
321
316
316
316
296
311
343
343
328
328
323
350
340
340
355
355
340
340
340
320
315
350
347
347
347
347
347
347
347
357
369
369
359
359
359
359
334
334
369
369
369
381
386
386
351
371
381
366
378
403
383
383
383
383
378
378
393
413
400
405
395
395
395
400
400
370
370
390
400
420
420
422
407
417
417
372
377
372
377
412
424
429
429
424
444
436
441
436
401
401
431
453
448
433
413
413
433
455
460
460
460
470
420
420
450
440
467
477
477
472
467
472
472
474
474
479
484
474
489
489
479
474
491
501
491
486
503
498
498
503
498
510
510
520
520
522
534
539
519
539
539
546
546
531
551
565
550
575
575
577
577
597
562
562
562
584
584
633
620
620
615
610
610
640
632
652
652
652
627
622
634
634
644
654
639
639
639
639
634
664
644
666
646
646
698
663
658
658
658
658
673
668
670
670
670
675
665
665
692
677
677
699
741
741
711
743
760
730
750
742
742
742
774
759
759
774
766
751
751
798
783
778
748
778
778
760
802
802
787
787
787
787
839
789
804
831
846
836
821
796
808
808
808
833
808
833
813
850
855
820
815
815
820
862
852
832
884
869
869
869
869
881
886
881
881
903
893
888
915
905
900
910
912
924
921
921
933
933
933
950
945
950
950
945
945
957
957
957
969
969
969
1
1
1
1
25
27
27
37
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
51
46
41
41
41
41
41
41
41
41
41
41
46
41
46
41
41
41
41
41
53
53
53
53
53
48
48
48
48
53
53
53
53
60
65
65
65
65
65
60
60
60
60
60
60
60
60
60
60
75
60
87
72
72
72
72
67
67
67
67
67
67
67
67
82
72
72
72
72
72
72
72
72
77
72
77
72
72
94
79
79
79
79
79
79
79
79
79
79
79
84
79
79
84
91
106
91
91
91
91
91
91
91
91
96
91
96
91
111
86
86
86
86
86
86
96
91
91
91
96
91
118
103
103
98
103
103
103
113
113
103
103
123
98
98
98
98
98
103
103
103
103
103
108
110
110
105
110
110
105
110
110
105
110
110
105
110
110
110
115
115
110
110
115
115
115
110
110
110
110
110
115
110
110
115
130
110
110
115
115
127
117
147
127
127
127
127
127
127
122
127
137
122
137
137
137
122
122
122
127
129
129
129
129
129
129
139
139
139
139
134
134
134
134
134
129
129
134
134
129
134
129
134
134
144
161
161
161
146
146
161
166
146
146
146
146
146
141
141
141
141
141
146
146
146
146
146
151
153
178
173
158
153
153
153
153
173
158
153
153
178
178
178
153
153
158
158
163
163
158
178
178
185
160
160
160
160
160
160
160
160
180
180
165
185
175
195
160
180
175
180
180
197
197
177
177
177
177
197
197
172
172
187
187
187
202
194
194
199
199
214
214
214
189
199
204
199
199
216
226
221
211
211
228
228
233
213
213
213
223
213
213
223
233
230
230
225
225
225
225
240
240
225
225
225
225
225
225
235
235
252
252
259
259
259
259
244
244
254
276
261
256
256
256
256
266
266
256
256
256
266
278
283
283
290
290
300
285
295
290
307
287
287
287
287
287
287
287
287
292
297
297
309
324
314
314
304
316
331
331
316
296
316
316
331
343
333
328
328
328
343
328
345
340
355
355
340
315
335
335
362
347
347
352
352
352
352
367
367
332
327
347
357
359
369
334
359
369
369
381
381
366
371
371
371
386
351
366
366
376
381
393
393
393
388
363
378
388
378
410
395
395
390
390
400
425
412
412
402
407
407
412
412
412
432
402
402
434
419
429
429
424
384
384
384
384
384
384
419
419
436
431
431
441
441
441
436
431
431
456
421
448
448
448
413
413
443
460
420
420
420
420
420
420
440
467
462
462
467
472
472
474
474
489
489
484
484
474
474
486
486
491
491
513
498
498
515
510
515
522
532
532
539
539
551
551
551
558
543
563
565
577
562
587
587
584
584
584
609
569
569
569
596
596
596
613
620
620
620
620
620
620
615
645
632
632
627
622
622
652
644
664
664
664
639
634
646
646
666
646
646
651
656
651
646
646
651
646
641
676
656
678
658
658
710
670
665
665
670
670
685
680
682
682
682
677
677
682
682
699
753
753
750
750
772
747
742
762
754
754
786
771
766
781
781
778
763
763
778
778
778
810
795
790
760
790
760
790
814
799
799
799
799
851
796
816
796
796
843
858
843
808
815
845
815
825
862
862
832
827
827
832
874
864
839
896
881
881
898
893
888
888
915
905
900
927
917
912
912
917
921
936
957
957
957
957
962
957
969
969
969
981
976
981
1
1
1
1
27
27
37
27
27
27
27
27
34
34
34
49
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
46
41
41
58
63
53
58
58
53
53
53
53
53
53
53
53
53
53
53
48
48
48
48
53
53
53
53
53
60
70
70
60
70
60
60
65
65
77
72
72
72
72
72
72
72
72
72
72
72
82
87
67
67
67
67
82
72
72
72
72
77
72
72
72
99
89
79
79
79
79
89
84
84
84
79
79
84
84
106
91
91
91
91
91
91
91
91
91
91
91
91
91
96
91
91
96
91
86
86
91
91
91
96
91
96
91
96
118
103
108
108
118
98
98
103
103
103
103
103
103
103
108
103
125
135
135
110
110
110
110
110
110
115
115
115
130
110
110
110
110
115
130
110
110
115
115
115
122
122
127
127
122
127
127
127
127
127
127
137
137
127
122
122
122
122
127
127
127
122
127
154
129
129
139
139
139
129
129
129
159
139
139
139
144
149
149
149
134
134
154
134
134
146
146
146
151
151
141
166
141
141
161
141
141
146
146
151
146
173
158
178
158
158
153
153
153
153
153
153
168
158
163
190
185
170
165
185
190
190
190
170
190
190
197
167
167
167
167
167
167
167
167
167
167
167
167
192
197
177
177
177
197
202
187
187
177
187
187
192
209
209
209
199
199
214
206
206
221
221
221
201
216
211
211
206
208
208
208
223
238
238
233
223
223
240
225
225
225
235
225
225
235
240
252
252
247
237
237
237
237
237
237
237
252
252
247
252
247
247
247
264
266
271
256
256
276
266
271
283
268
268
268
268
273
273
273
280
295
290
300
295
300
290
297
297
312
297
307
302
319
299
299
299
299
299
299
299
299
309
309
319
319
316
321
316
326
326
331
331
316
333
328
328
328
338
338
328
308
343
345
355
340
340
340
335
315
335
367
352
347
347
367
347
347
347
342
374
359
364
364
364
364
364
364
359
379
379
369
344
334
334
334
359
354
354
364
369
369
369
366
351
366
366
376
381
381
393
393
383
383
383
383
383
383
388
388
363
378
378
388
393
415
410
405
405
375
400
390
412
402
402
412
412
412
402
407
407
437
402
424
424
419
419
424
384
384
444
414
431
431
446
431
436
436
436
436
431
431
431
421
448
443
443
453
453
443
443
468
433
460
420
420
420
420
420
420
472
432
432
432
432
432
432
484
484
486
501
501
491
496
486
486
498
503
498
525
527
527
544
544
551
551
563
563
570
575
550
555
550
589
584
569
596
596
621
581
581
581
608
608
608
608
608
613
620
620
625
625
625
632
632
632
627
657
644
644
634
634
634
664
656
676
676
676
641
641
658
658
678
663
663
663
658
658
658
658
688
668
690
665
665
722
677
682
677
677
692
697
694
694
694
689
689
694
694
765
765
730
742
784
759
774
798
778
778
793
793
790
790
790
790
775
775
822
807
802
802
797
826
821
796
811
811
811
811
863
843
808
828
808
808
855
870
815
815
862
827
852
837
874
874
839
839
839
869
839
886
871
851
903
903
888
888
905
900
927
917
912
912
912
912
912
912
939
909
929
924
924
929
921
943
957
957
969
969
969
974
976
976
981
993
988
993
1
1
1
1
1
1
1
1
1
13
27
27
37
27
27
27
27
27
27
27
27
27
27
27
39
44
49
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
34
34
34
34
41
46
56
41
41
41
41
41
41
46
41
46
41
41
41
46
41
41
41
41
41
53
53
53
53
63
53
53
48
48
48
48
48
48
63
53
53
53
53
53
53
53
53
70
75
65
65
70
60
60
60
60
60
60
60
65
65
60
60
60
60
60
65
60
60
65
72
72
72
82
72
82
82
67
67
67
67
67
67
67
67
72
72
72
72
72
72
72
72
72
72
77
72
72
72
79
79
89
89
79
79
79
79
79
79
89
89
89
99
89
89
89
89
84
84
79
89
79
79
84
91
91
91
106
91
91
91
101
91
91
91
91
96
91
91
96
91
91
91
116
91
91
91
91
91
91
96
96
113
108
103
103
103
103
103
103
103
103
108
108
103
103
103
103
103
103
108
108
103
108
125
110
110
110
110
110
120
120
115
115
125
125
110
110
115
115
115
115
115
120
115
132
147
147
127
127
127
137
122
122
122
122
127
127
127
137
127
127
139
129
139
134
139
139
139
134
139
139
166
146
146
146
146
151
141
166
146
146
146
146
146
146
156
161
156
156
166
146
146
151
146
146
146
158
158
163
158
153
178
178
153
173
153
153
153
158
158
180
170
185
170
170
160
175
170
175
197
192
172
172
167
172
172
167
172
172
167
172
172
167
177
177
177
197
197
197
197
197
182
192
187
197
197
209
199
199
184
209
209
209
199
199
204
204
221
216
216
211
226
206
206
221
228
218
218
203
228
213
228
223
223
230
230
245
245
245
245
240
235
230
257
247
237
247
247
237
237
247
247
259
249
249
249
249
264
259
259
259
259
259
276
276
276
271
278
288
273
283
280
280
280
280
280
290
295
295
295
295
285
307
312
312
302
309
309
319
319
304
314
309
331
316
311
311
311
311
311
311
311
311
321
321
296
331
331
331
333
328
343
323
333
333
340
340
340
367
352
352
352
347
347
347
347
327
347
379
364
359
359
359
359
379
334
339
354
354
364
354
386
366
371
371
371
376
371
376
371
371
391
391
351
366
366
376
381
381
381
366
388
363
378
383
383
405
405
390
390
395
395
375
390
400
400
427
382
407
407
397
424
424
419
419
449
424
414
436
431
431
436
456
421
443
458
443
453
453
443
443
433
460
455
455
460
465
460
465
460
465
455
480
440
472
467
472
472
432
432
479
484
484
439
439
439
439
439
439
491
491
491
496
496
513
513
508
515
537
539
519
519
539
556
556
563
575
582
587
562
562
562
608
608
608
633
593
593
593
613
620
620
620
620
625
625
625
632
637
639
639
639
634
669
656
656
646
646
641
676
668
688
688
688
663
663
670
670
690
675
675
670
670
670
670
665
665
670
665
670
700
680
702
682
682
734
689
689
689
689
709
704
706
706
706
701
706
706
730
772
772
742
796
771
786
778
810
790
790
805
805
802
797
787
787
802
802
834
819
814
809
823
823
823
823
808
870
815
840
815
815
820
815
820
867
882
827
827
852
874
839
839
869
839
839
839
839
839
844
886
886
851
846
871
881
898
888
883
863
915
915
917
912
912
912
917
934
934
929
924
924
924
951
936
936
936
955
957
957
969
969
981
976
986
988
988
993
1000
1000
1000
1
1
1
1
1
1
1
25
27
27
27
27
27
27
27
27
27
27
27
34
39
44
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
34
34
34
34
34
34
34
34
34
34
56
41
41
41
41
41
41
41
41
41
41
41
41
51
41
41
41
41
53
68
53
53
53
53
53
53
63
53
53
53
53
53
53
53
53
53
48
48
53
53
53
53
53
53
53
53
53
65
60
75
70
60
60
60
60
75
65
65
60
60
60
65
65
65
65
77
72
82
67
67
67
67
72
72
72
77
77
67
67
67
67
67
67
67
67
67
67
67
67
72
72
72
72
67
67
67
67
72
77
72
72
72
82
87
72
72
72
72
79
79
89
89
79
79
79
79
79
79
79
79
89
89
89
79
89
89
89
89
84
84
84
79
79
79
79
79
84
84
89
89
94
84
91
91
111
91
96
96
96
96
96
101
101
106
96
91
91
91
101
101
91
101
101
101
91
91
96
91
91
96
96
116
96
91
101
91
91
96
111
91
113
108
103
103
103
103
108
108
103
103
123
103
103
103
103
103
103
103
103
103
103
108
108
120
120
110
110
110
110
120
115
115
115
115
115
115
115
115
120
115
120
115
115
110
115
115
115
115
115
115
120
120
115
115
132
122
127
127
127
127
127
137
137
127
127
127
127
127
127
127
127
144
154
154
134
134
134
134
139
139
139
154
154
134
134
134
144
149
146
146
146
151
141
146
146
146
146
146
151
158
158
158
173
158
178
173
163
163
163
173
153
163
158
158
185
180
170
170
175
165
185
190
180
170
170
192
177
192
182
182
197
177
177
182
204
179
179
179
179
179
179
179
179
189
189
184
209
209
204
209
204
194
204
199
204
221
216
221
216
206
211
216
233
208
208
208
208
203
223
223
228
223
233
240
230
230
230
225
235
235
235
245
245
242
242
252
257
257
242
247
242
269
259
259
259
259
271
261
266
261
261
261
261
276
266
266
276
271
271
266
266
288
288
288
283
290
295
295
295
285
290
292
292
292
292
307
307
309
319
304
309
304
314
326
331
316
321
311
311
316
343
318
318
318
318
318
318
318
318
333
333
308
343
343
323
328
335
315
335
340
352
347
347
379
334
391
376
366
371
376
371
376
391
346
346
346
366
376
361
398
383
383
383
383
388
383
388
383
383
403
403
388
363
378
383
383
393
388
388
378
395
375
395
395
417
417
422
402
402
407
407
382
382
382
439
384
384
384
384
419
409
431
461
426
431
448
443
443
468
433
470
455
465
465
465
450
450
450
440
472
467
477
477
472
472
472
472
492
484
479
484
484
484
479
439
439
491
491
496
503
503
508
508
525
525
520
522
534
549
519
519
551
531
551
568
568
563
563
587
562
562
562
594
599
574
574
569
569
569
620
645
605
605
605
630
632
632
637
637
639
644
651
651
651
651
681
668
668
663
663
658
658
658
688
680
695
695
695
670
665
682
682
702
687
682
682
682
682
682
682
682
677
712
692
714
694
694
746
701
701
701
721
716
718
718
718
713
713
713
784
803
783
798
790
822
802
797
817
817
814
809
799
799
814
814
841
841
831
826
821
835
835
835
835
815
820
815
820
882
852
827
832
827
832
827
889
874
874
839
839
839
839
839
886
851
846
881
851
851
851
856
898
898
888
863
883
888
893
888
893
910
895
870
912
912
929
924
924
929
946
946
936
936
936
931
931
958
948
948
943
962
969
976
976
976
981
976
981
993
988
998
995
1000
1000
1000
1000
1000
1012
1012
1
1
1
13
13
37
27
27
27
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
34
34
41
51
41
41
41
51
41
41
41
41
41
51
61
53
68
53
53
53
53
53
53
48
53
53
48
53
53
48
48
53
53
53
53
53
53
53
53
53
53
65
60
60
60
80
60
65
65
60
60
60
60
75
65
65
65
60
65
65
65
65
65
65
75
60
65
77
82
82
82
82
77
72
72
67
67
67
67
67
67
67
67
82
72
72
72
72
72
72
72
72
72
72
72
67
72
72
72
72
72
72
72
72
72
89
89
79
79
89
89
84
84
84
89
79
79
84
89
99
84
84
91
91
96
91
96
101
101
86
86
86
86
86
86
86
86
96
101
101
96
91
96
101
101
91
91
96
96
96
96
86
86
86
86
86
86
91
96
96
101
101
101
91
96
91
96
123
108
113
108
108
113
98
98
108
108
103
108
108
103
108
108
123
108
103
103
108
123
103
115
110
120
110
115
115
115
115
115
120
115
115
115
130
110
115
115
115
120
115
115
115
125
122
137
137
122
132
127
127
127
127
127
127
127
127
127
127
137
122
142
142
127
127
137
137
127
127
127
127
127
127
127
127
127
144
139
129
139
134
139
139
144
134
139
139
139
139
156
161
161
146
141
141
141
141
141
141
151
146
166
166
146
161
163
173
163
163
163
183
158
163
185
170
170
170
190
180
175
180
197
177
177
187
192
197
187
182
177
177
177
182
204
179
179
179
179
179
179
179
179
194
194
204
204
209
189
189
194
216
191
191
191
191
196
196
196
196
216
221
216
216
206
216
206
211
216
233
233
228
223
223
228
228
223
223
245
215
215
215
215
235
230
235
245
245
240
247
247
242
242
242
252
237
252
247
242
247
257
264
264
254
249
266
266
271
271
276
273
273
273
273
288
273
278
278
288
283
283
300
295
290
307
292
302
304
304
304
304
309
319
321
321
311
311
311
311
311
316
316
326
338
318
318
318
318
318
318
318
318
353
323
333
323
328
355
335
330
330
330
330
345
335
340
347
327
347
352
342
364
334
334
369
391
371
371
351
351
346
403
383
383
388
388
403
388
383
410
395
390
390
395
395
400
400
395
395
395
415
375
395
400
390
422
407
407
382
382
382
407
429
429
414
419
394
394
394
446
396
396
396
396
431
421
473
433
460
455
455
425
420
420
425
420
420
480
450
440
482
467
462
479
484
484
484
484
484
484
479
504
491
491
491
491
496
496
503
515
510
520
520
537
537
522
532
534
519
519
519
519
534
546
561
531
563
538
563
575
575
575
575
550
562
599
574
569
569
606
611
586
581
581
581
581
657
617
617
617
637
644
644
644
644
651
641
663
663
663
663
693
680
680
695
675
670
670
665
665
670
670
670
700
687
687
707
707
682
682
677
677
677
694
694
714
689
689
694
694
694
694
694
689
724
704
721
701
701
758
713
713
713
733
728
730
730
730
730
725
725
796
803
778
795
810
797
834
814
809
829
829
821
811
811
821
821
821
821
853
853
843
833
832
847
847
847
847
827
832
827
864
839
839
844
839
839
844
844
901
886
886
851
851
898
863
888
893
888
893
863
858
858
910
905
905
895
875
900
905
900
905
900
922
907
882
917
924
941
936
936
931
958
953
948
943
943
970
960
955
955
974
976
981
976
981
988
993
988
993
988
1005
1000
995
1000
1000
1000
1000
1000
1005
1012
1012
1024
1024
1
1
1
13
25
25
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
49
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
34
34
34
46
41
41
41
41
41
46
46
41
41
46
41
41
41
53
53
53
53
48
53
48
53
48
53
48
48
48
63
53
53
53
53
53
53
53
53
63
73
53
53
53
53
53
53
53
53
53
53
53
80
80
65
80
80
80
65
60
60
60
60
60
60
70
65
65
65
65
65
65
65
60
65
67
67
67
67
87
72
72
77
77
67
67
67
67
67
67
67
67
82
72
72
72
72
72
72
72
72
72
72
82
72
72
72
72
94
94
89
89
79
79
84
84
89
89
84
84
84
84
84
84
84
84
84
84
84
84
84
91
91
91
91
96
96
96
86
86
86
86
91
91
96
101
101
91
96
96
96
96
96
96
101
86
86
91
96
106
96
101
91
91
96
91
96
96
96
96
108
108
108
108
108
113
108
108
98
108
108
103
108
108
118
113
113
103
103
108
108
108
108
108
108
108
130
120
115
115
115
115
115
115
115
115
115
115
115
115
115
120
115
115
115
130
125
115
135
115
115
130
115
137
127
127
127
127
127
127
127
137
127
137
127
127
127
137
132
149
134
144
139
139
139
139
139
139
139
139
159
149
134
149
149
134
139
144
149
139
139
139
139
156
146
146
146
141
146
146
141
166
141
146
151
151
151
151
146
146
168
163
173
173
163
158
168
168
185
185
170
175
180
195
175
177
177
182
192
192
197
187
187
192
177
209
179
179
179
179
179
179
179
179
199
204
199
204
204
194
189
194
216
191
191
191
191
196
196
196
206
206
221
216
216
206
206
216
206
201
201
206
228
198
198
198
198
208
208
223
233
228
223
228
228
223
228
228
223
223
245
215
215
215
245
240
235
240
240
245
230
230
257
247
227
227
242
252
242
257
252
254
254
254
254
254
254
259
264
271
276
266
273
278
278
283
278
280
285
285
285
285
300
295
290
295
312
297
304
309
316
316
316
316
331
311
333
323
323
323
323
328
338
330
330
330
330
360
345
335
340
330
340
345
367
342
342
342
342
357
352
359
334
364
369
354
376
381
366
403
383
363
363
383
415
410
410
395
422
407
402
407
407
407
407
407
407
382
397
434
419
394
441
441
426
446
401
401
401
431
431
433
485
450
450
440
472
467
467
432
432
432
432
432
432
432
432
492
462
494
479
479
469
491
491
491
491
496
491
516
503
503
503
503
522
527
522
532
532
549
549
534
544
531
531
546
558
538
573
575
575
550
587
587
562
569
611
586
581
581
618
623
588
588
593
593
593
593
593
637
669
629
629
629
644
656
646
658
675
695
695
665
665
700
692
687
687
707
687
682
682
682
682
682
677
677
712
699
699
719
689
694
694
689
689
706
706
721
726
701
701
706
706
706
706
731
716
733
713
713
713
770
725
725
725
745
740
772
772
742
742
742
737
732
808
778
790
807
822
846
826
821
821
821
821
841
841
833
823
823
833
833
865
865
855
845
832
859
859
859
859
844
844
876
851
851
856
856
913
863
858
910
875
905
900
905
900
870
870
875
870
870
922
917
917
907
912
887
912
917
929
919
929
889
931
958
953
943
960
965
955
955
982
972
962
962
986
993
988
993
988
993
1000
1000
1005
1000
1005
1017
1012
1012
1012
1017
1024
1019
1036
1031
1
1
1
1
1
25
37
27
27
27
27
27
27
27
27
37
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
34
34
34
34
41
41
41
41
56
41
41
41
41
46
46
41
41
41
41
46
46
63
53
48
53
48
48
48
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
58
53
53
53
53
53
53
53
53
53
53
53
70
65
65
60
60
70
65
65
65
65
60
60
60
70
80
65
65
65
87
92
92
92
92
87
72
72
72
72
72
72
67
67
67
67
67
67
67
67
77
72
72
77
67
87
72
72
72
72
72
72
72
72
72
72
72
99
99
79
94
79
89
89
89
89
84
84
84
84
84
84
99
84
79
84
89
79
89
84
84
84
84
84
84
101
101
91
96
86
86
86
86
96
96
91
91
96
96
96
96
96
96
96
96
96
96
96
91
96
96
91
91
96
96
96
96
108
98
103
103
113
113
108
108
108
113
123
108
108
113
113
108
108
120
120
115
115
115
115
110
115
115
115
115
115
115
115
115
115
115
125
125
125
115
115
115
115
115
120
115
125
135
132
137
137
127
127
127
127
122
122
122
122
127
127
147
127
137
139
139
139
139
139
139
139
144
149
149
144
139
149
146
156
156
151
151
151
151
151
151
151
151
171
156
151
156
146
146
146
146
151
168
153
153
153
153
173
178
163
163
163
163
173
168
168
180
185
170
180
180
180
180
170
175
180
192
192
187
192
202
182
179
179
179
179
179
179
179
179
194
204
204
204
199
199
204
204
221
191
191
191
191
211
196
196
196
216
216
216
206
201
206
228
198
198
198
198
208
208
223
233
228
233
233
223
228
213
213
240
240
215
215
215
215
215
235
245
235
235
240
235
240
245
240
230
230
257
227
227
257
247
242
252
252
252
252
257
242
269
234
234
254
254
264
266
266
266
271
273
273
283
278
283
280
290
295
290
297
297
292
292
292
292
312
292
297
307
324
309
304
309
314
314
331
316
326
326
316
331
316
316
321
328
328
328
328
328
335
335
340
335
330
330
345
345
352
342
342
342
342
347
347
352
342
342
347
379
354
354
354
354
369
374
351
346
346
381
366
361
366
388
393
378
410
395
370
370
395
422
417
417
407
434
419
414
414
414
409
446
401
431
453
453
438
433
445
497
462
462
484
479
479
479
439
439
439
439
439
439
504
469
506
491
491
491
503
503
503
523
515
510
515
522
534
534
534
561
561
546
538
538
553
570
585
587
587
599
599
581
581
623
588
598
630
630
600
600
605
605
605
644
681
641
641
641
656
663
653
653
707
682
682
677
677
677
704
689
699
694
694
694
694
689
689
689
724
711
711
731
706
718
718
733
738
713
713
713
713
718
713
713
713
743
728
745
725
725
782
737
737
732
757
752
784
754
754
754
744
820
790
797
802
797
802
819
834
821
858
833
833
833
853
853
845
835
835
840
840
877
877
867
871
871
871
871
856
888
858
925
875
905
870
870
922
887
917
882
882
882
882
917
882
934
929
924
919
924
894
889
941
931
901
953
943
943
970
965
965
955
955
955
977
972
967
967
962
989
984
974
974
998
1005
1000
1000
1005
1005
1005
1005
1012
1017
1029
1024
1019
1019
1036
1031
1031
1031
1048
1043
1
25
27
37
27
27
27
27
27
27
27
27
27
27
44
34
34
34
39
34
34
49
34
34
44
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
44
34
34
34
34
46
46
41
41
46
41
41
41
41
41
41
41
41
41
41
41
41
41
41
53
53
63
63
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
48
48
53
53
53
53
53
53
53
53
53
53
53
53
80
75
60
60
70
60
60
60
65
65
85
65
65
60
60
60
70
65
65
65
65
65
82
72
72
72
72
72
72
77
72
77
77
77
67
67
67
67
67
77
72
72
87
77
72
77
104
99
99
104
99
99
94
79
79
79
79
79
79
79
79
79
79
84
84
84
84
84
84
84
84
84
79
79
79
99
79
79
79
79
84
84
84
79
84
79
79
84
84
84
84
84
106
106
91
106
101
101
96
106
96
96
101
91
96
96
91
91
96
96
108
108
108
108
108
108
108
108
113
113
103
113
103
108
120
115
115
115
115
125
125
115
115
120
115
115
125
130
115
125
120
120
115
132
127
127
127
127
127
122
122
122
122
127
142
132
132
132
127
137
127
132
147
144
139
139
139
139
139
154
159
144
144
161
161
151
146
151
151
151
151
151
156
156
156
156
146
156
163
153
153
153
153
173
168
163
163
163
163
163
163
163
163
178
163
168
168
163
163
180
165
165
185
185
175
175
180
180
180
175
185
175
180
180
192
192
192
192
192
192
192
182
192
204
204
204
204
204
204
204
209
191
191
191
191
206
216
216
211
216
233
198
198
198
198
223
208
228
223
223
223
223
223
228
213
240
220
215
240
235
245
245
240
245
225
225
230
240
240
252
242
242
247
247
227
247
257
247
247
252
247
247
247
242
242
269
254
239
234
269
259
254
254
269
254
281
266
261
261
276
283
278
278
278
278
283
295
290
280
292
292
292
292
297
297
302
297
297
307
292
297
297
297
304
304
304
304
324
304
309
319
304
309
316
336
321
311
316
311
311
316
316
316
321
326
333
333
333
338
328
335
335
340
340
340
340
345
345
347
352
347
347
342
342
342
347
357
364
354
354
354
354
359
334
364
354
354
359
391
366
366
366
366
381
351
381
363
358
358
393
378
383
400
400
385
417
417
417
417
407
387
382
382
407
434
429
414
414
414
446
431
426
446
426
431
421
443
465
465
450
450
440
457
479
444
439
444
439
504
469
469
491
496
516
518
503
503
503
510
510
535
527
522
522
522
534
534
546
573
573
558
553
565
582
597
599
599
611
611
581
588
593
593
630
605
642
642
612
612
612
612
612
612
637
637
644
644
656
693
653
653
653
663
653
653
670
700
682
719
694
689
689
689
711
711
701
706
706
706
706
701
701
736
731
743
718
718
713
718
713
730
730
745
750
725
725
725
725
730
725
725
755
740
757
732
737
794
744
749
749
769
764
796
766
766
766
756
832
797
802
797
802
809
814
809
814
809
821
826
846
870
845
845
840
865
865
847
847
832
852
852
889
889
879
844
883
883
883
883
900
870
870
937
882
882
882
882
934
929
894
894
889
894
889
946
936
931
906
901
953
943
913
955
955
982
977
977
962
989
984
979
979
974
1001
991
986
986
993
1010
1012
1017
1017
1041
1031
1036
1031
1031
1048
1043
1043
1043
1055
1050
1
1
1
1
1
27
27
27
27
27
27
32
27
27
27
37
27
27
27
27
37
27
27
27
27
27
34
34
34
44
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
34
34
34
56
46
51
41
41
56
51
41
41
41
41
41
51
46
41
51
51
53
53
58
53
53
53
53
63
48
48
53
53
58
58
48
53
48
48
53
48
53
53
53
73
53
53
53
53
53
53
53
53
53
53
53
53
53
63
53
53
53
53
53
53
53
53
65
60
75
60
75
65
65
65
65
65
65
60
65
87
82
72
72
77
72
77
77
92
77
77
77
77
67
67
77
72
87
77
77
72
77
77
72
89
89
79
79
79
79
79
79
79
79
84
84
84
84
84
84
84
84
79
79
79
79
79
89
84
84
84
84
84
111
106
106
111
91
96
91
91
101
101
106
96
96
91
111
106
86
86
86
86
86
86
96
96
91
91
91
91
91
118
118
118
113
113
113
108
113
108
108
103
103
123
103
103
108
120
120
115
120
120
115
125
125
115
125
115
120
132
132
127
132
137
137
132
127
127
132
137
132
127
127
139
149
149
154
139
156
161
146
151
146
151
151
151
151
161
161
146
171
156
156
161
153
153
153
153
158
163
163
163
163
163
163
163
168
165
165
180
175
175
175
175
175
175
175
175
185
175
175
175
175
192
172
172
197
192
192
192
192
204
204
204
209
209
204
204
209
204
194
199
216
216
211
211
211
216
216
231
198
198
198
198
223
223
223
223
223
223
223
223
245
235
215
235
235
235
235
245
225
230
252
227
247
247
252
252
242
247
257
247
247
247
242
252
264
249
249
249
234
269
259
254
254
259
254
281
246
281
266
261
276
276
293
273
283
278
273
278
290
290
295
285
285
285
285
295
280
307
292
292
304
304
304
304
309
319
304
309
316
316
316
336
316
316
316
321
331
311
311
316
316
316
316
316
316
316
348
338
338
323
328
323
328
328
338
335
335
360
340
340
340
340
345
335
345
345
347
347
347
347
347
347
354
359
334
334
354
354
359
369
376
366
366
366
366
371
351
381
366
366
361
366
403
378
378
378
378
393
363
383
375
400
400
385
395
417
412
412
434
429
429
419
414
394
394
394
394
414
446
436
446
446
426
426
458
438
438
438
443
433
450
477
477
457
437
437
462
444
444
469
456
456
503
508
508
528
530
515
522
522
522
547
539
534
534
534
534
534
546
553
553
553
585
585
570
565
572
594
609
569
611
611
581
623
623
593
593
593
600
605
605
605
605
612
612
612
637
637
654
654
624
624
624
624
624
624
644
656
656
668
705
682
682
694
731
706
706
701
701
701
723
723
713
713
713
713
713
713
713
708
708
718
748
743
755
725
730
737
742
737
757
762
737
737
737
732
737
737
737
767
752
769
744
749
806
756
761
761
781
776
808
778
778
773
844
814
809
814
809
821
821
826
821
833
838
858
882
852
877
877
859
859
864
864
901
901
891
895
895
895
895
905
912
882
882
917
882
949
924
894
889
889
946
941
936
901
901
901
901
958
948
943
918
943
913
960
955
925
967
962
994
974
1001
991
991
981
1013
1003
998
998
1005
1005
1022
1019
1031
1031
1043
1043
1043
1043
1055
1055
1050
1050
1050
1050
1050
1067
1062
1
1
1
1
1
1
1
1
27
27
27
27
27
27
27
27
27
27
27
27
39
34
34
34
39
34
34
34
34
34
34
34
34
34
44
34
44
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
34
34
34
34
46
41
56
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
46
41
41
41
53
58
63
53
68
63
58
53
53
53
53
48
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
58
58
53
53
53
53
53
53
53
53
53
53
65
65
70
70
70
60
60
60
65
65
65
80
65
65
65
60
60
60
60
70
60
75
65
60
60
65
80
77
72
72
82
72
72
72
87
77
77
77
77
72
77
72
72
92
67
77
82
87
72
77
72
72
72
99
99
89
94
94
84
84
84
99
84
84
84
84
84
79
84
84
79
79
79
79
84
84
84
84
84
84
84
84
96
96
91
91
96
101
96
96
96
91
86
86
91
91
91
91
91
91
96
96
123
123
108
108
108
123
123
113
108
123
113
103
103
103
108
103
115
130
115
125
125
120
120
120
130
130
115
130
115
115
110
115
120
125
127
132
132
132
132
132
132
137
127
127
132
132
139
149
149
144
139
139
139
149
139
139
146
156
146
151
161
161
168
163
153
153
153
153
158
158
173
163
158
178
163
168
168
173
190
185
165
165
175
175
175
175
175
185
185
185
175
172
172
192
187
187
187
187
182
204
204
179
179
179
179
209
204
199
199
199
216
211
211
196
221
221
211
211
206
211
223
223
223
223
238
215
235
235
235
235
235
257
247
247
247
247
242
242
247
247
247
247
247
264
264
249
239
254
269
259
249
254
276
281
266
271
266
266
261
271
276
276
293
273
258
293
278
273
288
273
278
305
285
290
285
290
302
302
302
307
304
304
304
304
304
304
309
314
314
316
316
316
316
321
331
311
316
328
328
323
348
338
343
323
328
328
328
328
360
340
340
335
340
330
340
335
345
345
347
352
352
352
352
352
352
347
347
347
347
347
347
347
354
359
359
359
359
334
339
371
381
366
366
361
366
381
378
378
378
378
378
378
363
378
383
383
383
415
400
400
385
385
385
385
375
400
395
417
382
412
397
407
429
419
419
414
419
436
436
431
426
406
401
401
401
426
458
438
438
438
470
450
450
445
455
445
457
462
489
489
469
449
444
444
449
444
444
469
456
456
463
463
515
520
515
540
542
522
522
534
534
534
559
551
546
553
553
553
565
565
565
597
597
582
572
584
606
621
623
623
635
635
630
605
605
605
605
612
612
612
624
624
624
649
666
661
636
636
636
636
636
631
656
668
663
653
653
670
675
717
694
694
694
706
706
706
743
713
713
708
708
725
725
725
725
725
730
760
755
767
732
742
749
749
769
774
749
749
749
749
749
779
764
781
756
756
818
773
773
793
788
820
790
785
785
814
856
826
833
845
870
894
864
889
889
871
871
876
876
913
913
903
907
907
907
907
924
894
889
929
961
906
901
901
906
958
953
948
913
943
908
913
970
960
955
925
955
920
972
967
962
937
979
1006
991
986
1013
998
993
1025
1015
1010
1010
1034
1031
1031
1043
1043
1043
1043
1055
1050
1055
1050
1062
1062
1062
1062
1062
1062
1079
1074
1
1
1
1
25
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
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
34
34
34
51
51
46
46
41
41
46
51
41
41
41
46
46
46
51
41
41
41
41
41
46
46
41
41
41
41
41
41
41
58
58
53
53
68
53
53
48
48
48
48
48
53
53
53
53
53
53
53
53
53
53
53
53
53
48
48
53
53
53
58
53
53
53
53
63
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
75
60
75
65
60
60
60
60
65
60
60
65
60
60
60
60
60
60
60
60
60
65
65
65
65
80
65
60
60
65
65
60
80
65
65
65
72
77
92
77
77
77
77
87
77
77
77
72
72
87
82
77
72
72
92
72
67
82
77
72
87
72
89
94
94
89
79
79
99
84
84
84
84
84
84
84
99
79
84
89
99
84
84
84
84
84
84
84
91
91
91
106
96
106
111
96
91
91
96
91
111
96
96
96
96
96
96
96
96
108
108
108
108
108
108
113
113
113
103
103
113
120
120
120
115
135
135
120
130
115
115
115
115
110
110
135
135
115
142
127
127
127
127
127
127
142
137
137
132
132
142
142
127
127
132
137
132
139
139
144
144
144
144
149
139
139
139
149
139
144
144
144
161
146
161
161
151
151
161
156
163
158
163
163
173
180
190
175
165
165
175
185
175
170
185
175
175
180
197
172
172
197
197
187
179
179
179
179
179
204
209
216
191
191
191
191
196
211
216
211
211
211
228
208
228
228
223
223
238
228
228
218
215
235
235
230
240
240
227
227
227
242
247
247
247
269
259
259
259
259
259
259
259
249
276
251
246
246
276
276
266
288
293
283
278
278
278
278
305
270
305
285
300
280
317
302
297
297
314
314
314
319
304
309
316
316
326
326
333
328
328
323
343
323
328
340
340
360
340
340
355
340
340
330
335
335
352
352
372
352
352
342
347
347
347
347
357
354
364
364
359
359
359
359
359
359
359
359
346
346
346
381
378
378
383
393
410
385
390
385
390
385
390
385
390
375
400
390
395
395
422
427
417
417
417
397
397
397
397
382
382
382
412
402
419
409
419
441
426
406
401
443
433
418
438
470
450
445
450
482
462
462
462
462
457
469
469
501
501
481
451
451
451
451
451
451
461
461
463
463
515
475
475
527
532
522
552
554
534
534
534
541
541
571
563
553
565
565
565
572
572
609
609
569
584
589
596
618
633
593
593
635
630
630
647
647
642
612
617
624
624
624
636
631
631
656
673
648
648
643
663
648
673
675
665
665
729
694
689
689
706
706
713
713
755
725
737
737
737
737
732
742
772
767
779
744
754
781
786
761
761
756
761
761
761
756
791
776
793
773
768
830
785
785
805
800
832
797
797
868
857
882
906
871
901
901
883
883
888
888
925
925
915
917
919
919
919
919
889
936
973
918
913
943
908
918
970
965
955
920
925
982
972
967
937
932
984
979
974
949
991
1018
1003
998
993
1025
1005
1032
1022
1022
1022
1046
1055
1050
1067
1062
1062
1062
1067
1074
1074
1074
1069
1069
1086
1086
1
1
27
27
27
32
27
27
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
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
46
41
41
41
51
41
41
41
41
41
41
41
41
41
41
41
41
58
58
53
53
53
53
58
53
53
53
58
63
58
53
53
58
53
53
58
53
53
53
53
58
58
48
48
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
65
65
60
60
75
60
60
60
65
65
65
65
65
65
60
65
65
65
65
65
60
60
60
60
70
60
60
60
65
65
65
65
65
65
65
87
72
82
82
67
67
67
67
67
67
67
67
67
67
67
67
77
77
77
77
72
72
92
77
72
72
67
77
72
72
77
92
87
77
77
72
77
79
84
104
89
84
89
79
79
84
84
84
84
84
79
99
89
84
84
99
84
79
89
84
84
84
99
94
84
84
84
84
84
84
84
84
91
106
96
111
106
91
96
96
106
96
96
96
96
96
96
108
113
123
113
108
103
113
123
108
108
120
120
120
135
120
120
115
115
115
110
110
125
127
127
142
142
132
137
137
127
127
127
147
147
139
149
154
139
139
149
149
134
134
134
134
144
144
149
149
139
139
134
139
144
144
144
144
151
156
156
161
151
161
156
156
156
156
178
158
158
173
173
163
163
163
163
173
168
185
175
175
180
192
197
187
172
172
182
192
182
182
187
187
187
204
209
179
179
179
179
204
204
194
191
216
228
203
203
203
203
223
223
238
218
218
240
220
235
230
240
230
227
247
242
242
247
247
247
239
239
239
254
254
259
254
254
259
254
254
249
281
271
246
271
271
276
271
266
266
283
283
288
258
258
258
288
273
278
300
285
305
285
290
290
290
317
277
317
302
302
302
302
307
292
329
309
314
321
321
331
323
323
328
333
333
335
335
340
340
365
340
355
330
352
352
372
352
367
352
352
347
342
364
384
359
364
354
359
359
369
371
371
346
381
381
371
366
378
378
393
390
400
400
390
417
397
402
397
402
397
402
397
402
382
382
382
397
407
402
434
439
429
429
409
409
409
409
394
394
394
399
419
421
448
433
418
455
425
450
482
462
462
494
474
474
469
469
469
481
451
451
513
513
493
463
463
468
468
487
487
539
544
534
564
566
541
546
553
553
583
575
577
572
584
589
621
621
596
601
608
630
645
647
659
659
654
629
661
636
636
631
656
643
648
685
660
660
655
660
741
706
701
701
701
718
713
725
725
725
767
737
749
749
744
749
749
754
784
779
791
756
756
761
793
798
773
768
768
773
773
803
788
805
785
785
780
837
797
797
812
817
844
809
804
875
864
894
871
918
883
913
913
895
895
937
937
927
889
931
931
931
931
948
985
930
955
920
930
920
982
977
932
962
937
994
984
979
944
944
996
991
981
961
1015
1030
1010
1005
1032
1017
1044
1034
1029
1043
1053
1050
1050
1062
1079
1074
1069
1079
1086
1086
1081
1081
1086
1086
1098
1
1
1
1
1
13
13
27
27
27
27
37
27
37
27
27
27
27
27
27
27
27
27
27
27
27
27
34
39
34
34
34
34
39
34
34
39
34
34
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
34
41
41
41
46
46
51
46
46
41
51
41
51
46
41
41
46
41
46
41
48
48
48
48
53
48
58
53
53
53
58
73
53
53
58
63
53
53
53
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
60
65
60
60
65
65
70
65
65
65
65
65
65
65
60
65
65
75
65
60
65
60
60
65
60
60
65
65
65
65
65
77
77
67
72
72
82
67
67
72
72
67
67
72
72
77
77
77
77
87
67
87
72
77
67
77
77
72
77
77
77
77
77
77
84
89
99
94
84
84
84
84
84
84
84
84
84
84
99
79
99
79
89
79
79
84
79
79
104
99
94
84
94
84
84
84
84
84
84
84
89
91
96
111
96
96
91
106
96
96
91
96
91
106
106
111
96
96
96
113
123
113
103
108
113
113
113
108
108
130
120
115
115
125
110
130
120
120
132
127
127
127
132
132
132
147
127
127
127
127
137
149
149
134
134
144
149
149
134
139
139
154
154
144
151
166
161
161
146
146
146
146
156
156
151
151
151
156
156
158
153
153
168
168
168
163
173
163
168
168
168
163
170
185
175
170
185
175
180
197
182
187
204
204
199
179
179
179
199
194
199
194
194
204
199
221
191
191
191
211
203
228
223
218
240
210
210
210
210
235
230
230
252
227
227
242
247
242
242
239
254
254
254
259
259
251
246
246
246
266
266
266
271
293
283
283
283
258
283
278
288
283
273
278
278
295
300
285
270
265
290
295
280
290
312
317
302
297
297
297
324
329
314
336
321
321
333
333
343
340
345
345
347
352
352
352
352
352
372
367
342
384
359
359
359
379
364
364
359
371
396
366
371
371
366
381
378
393
383
390
390
400
397
412
412
402
409
414
409
414
409
414
409
414
394
419
446
451
441
436
421
421
421
421
401
401
401
411
406
406
448
433
460
425
445
467
437
462
494
474
506
486
486
493
463
463
463
463
463
463
525
525
505
475
475
480
480
494
494
551
556
541
576
578
565
595
587
572
572
572
589
589
589
596
601
633
633
608
613
630
642
652
654
671
671
666
641
673
648
643
643
655
660
667
697
667
701
753
713
708
708
725
730
725
737
732
732
732
779
749
761
756
761
756
761
761
766
756
791
796
798
768
768
773
805
810
780
780
780
780
785
785
815
800
817
797
787
809
809
829
824
856
821
875
887
864
906
883
925
895
925
925
907
907
949
939
949
901
938
938
938
938
960
955
920
997
962
932
937
967
962
942
932
994
989
944
949
1006
996
991
956
956
1008
1003
993
973
1027
1037
1017
1029
1029
1056
1041
1053
1065
1062
1074
1091
1091
1081
1081
1098
1093
1093
1098
1098
1105
1
1
1
1
1
1
13
25
25
25
25
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
39
34
34
44
44
34
34
39
34
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
41
41
46
51
41
41
51
61
41
46
46
46
41
41
46
41
41
41
41
41
46
51
46
41
53
58
58
58
58
58
58
53
53
53
53
58
58
58
53
53
63
53
53
53
58
58
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
60
60
65
60
60
65
80
65
60
65
75
65
65
65
60
60
65
60
60
75
65
65
65
72
72
67
72
72
77
77
72
77
77
67
72
72
82
82
67
67
67
67
72
72
77
77
77
77
77
77
79
89
79
94
84
94
79
79
79
99
94
89
84
84
79
89
79
79
79
89
89
84
84
84
84
84
84
84
84
84
84
89
96
91
106
106
91
91
91
96
96
91
91
91
91
91
91
91
91
91
111
91
91
106
96
96
91
111
106
101
96
96
101
103
108
108
118
113
113
103
113
108
108
113
113
118
123
108
108
135
120
115
115
115
125
120
120
127
127
137
132
127
127
132
142
132
137
137
132
139
149
134
134
134
134
134
134
134
134
134
134
134
134
134
134
144
144
154
139
139
139
139
139
139
144
166
146
146
161
161
151
151
161
161
161
161
151
156
158
153
153
178
168
163
168
163
165
165
170
185
175
185
185
175
180
180
175
175
197
182
197
187
187
209
199
194
204
199
216
211
211
206
211
203
203
203
223
228
228
240
210
215
210
210
210
210
210
210
210
210
210
235
230
252
222
222
222
222
242
242
247
242
264
264
254
254
259
254
246
271
266
283
283
258
278
278
283
273
305
295
295
265
295
295
290
302
312
277
292
302
324
314
348
333
333
340
355
330
372
347
357
354
364
364
359
364
359
364
379
396
371
371
346
346
391
376
371
371
408
378
383
393
390
405
395
397
397
412
414
414
419
419
409
421
426
421
426
421
426
421
426
401
431
458
463
453
433
433
433
433
413
413
413
423
438
460
445
472
452
479
449
506
486
518
498
498
463
463
463
463
505
475
475
532
532
517
522
487
487
506
506
563
568
588
590
572
577
572
607
594
601
601
601
608
613
645
645
620
620
612
654
664
683
678
643
673
673
648
685
660
655
655
680
675
655
667
672
672
667
694
679
709
679
713
708
708
760
732
742
732
732
749
744
744
791
761
773
768
778
803
808
773
768
810
780
780
837
817
822
792
792
797
797
812
827
829
809
799
821
821
841
836
868
828
887
899
918
895
937
937
937
907
902
919
919
951
961
956
950
950
955
920
972
937
962
932
1009
974
974
954
944
979
974
1006
1001
956
956
1018
1008
1003
968
968
1020
1015
1005
980
980
980
1049
1034
1029
1063
1053
1065
1062
1072
1069
1098
1103
1093
1093
1110
1110
1105
1117
1
1
1
1
1
1
13
13
20
27
27
27
27
27
27
32
27
32
27
32
27
27
27
37
27
27
27
27
27
39
34
34
34
39
39
34
34
34
34
34
34
34
39
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
39
39
49
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
41
41
41
51
51
51
51
51
41
41
41
51
46
46
46
41
41
41
46
46
46
41
41
41
51
46
48
53
53
58
48
48
48
48
58
58
68
53
48
48
63
58
53
53
58
53
53
53
53
53
53
53
53
53
53
53
53
58
60
65
60
65
60
65
65
65
65
65
70
70
65
65
65
75
60
60
65
65
65
65
65
65
65
65
65
70
65
65
72
72
72
67
82
82
72
72
72
87
77
72
82
72
72
72
72
67
77
82
77
77
77
84
79
94
94
79
84
89
89
89
89
89
84
79
79
79
84
84
84
84
84
84
101
91
106
96
96
101
91
91
106
101
96
91
106
91
91
96
101
101
96
101
101
108
113
118
118
103
118
113
108
103
108
108
113
113
108
108
120
115
120
120
120
110
125
115
120
130
120
120
132
137
147
122
127
137
132
132
132
139
149
154
134
134
144
139
139
139
139
139
149
144
149
149
144
146
146
146
146
146
146
146
161
156
151
151
151
151
161
161
161
161
161
161
161
161
156
178
153
153
163
163
163
173
173
173
168
190
175
175
175
175
175
177
177
182
197
187
187
187
187
187
182
209
194
204
199
199
221
216
211
211
228
223
223
210
210
210
210
215
210
210
210
210
210
210
210
210
210
210
235
230
230
235
240
227
252
222
222
222
222
222
222
222
222
222
222
222
242
247
242
264
254
254
229
229
229
229
259
254
259
276
246
266
276
288
283
278
295
295
317
302
307
302
292
307
302
324
304
304
314
336
338
338
360
340
330
352
367
369
371
371
371
376
371
376
386
371
366
408
383
383
358
358
398
383
420
390
395
405
397
387
382
382
412
407
419
426
426
448
433
438
433
438
433
438
433
438
413
470
475
445
445
445
445
460
425
425
425
425
430
445
472
452
479
486
456
518
498
463
463
463
463
468
468
530
510
515
505
475
475
517
522
482
482
544
529
534
499
494
499
494
513
513
575
595
575
602
584
584
619
594
613
608
608
620
652
652
612
632
666
643
648
695
690
680
675
655
685
685
667
667
667
692
692
692
667
679
679
721
691
725
737
744
749
761
756
756
756
756
756
756
756
803
773
773
768
785
780
790
815
820
780
822
797
792
829
834
799
804
809
809
839
824
841
816
806
828
833
833
853
848
880
840
899
844
864
911
871
870
930
902
949
949
919
914
931
931
963
973
968
962
962
962
984
974
944
1021
986
981
991
956
956
961
956
1018
1013
968
1030
1020
1015
980
980
980
1032
1027
1017
992
992
992
1041
1075
1050
1065
1072
1084
1081
1115
1105
1105
1105
1105
1122
1117
1117
1117
1129
1
1
1
1
8
8
25
25
20
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
39
34
39
34
39
34
39
34
34
34
34
34
34
34
34
34
34
34
34
44
34
34
34
34
34
39
34
34
34
49
34
34
34
34
34
34
34
34
39
34
34
41
41
51
46
51
46
51
46
46
41
41
41
41
61
41
41
41
41
41
41
46
51
46
41
46
46
56
41
41
46
46
46
53
53
48
48
48
48
53
48
53
53
58
58
58
58
58
58
58
58
53
53
53
53
58
53
53
63
53
53
53
53
53
53
53
53
58
48
60
65
60
65
65
65
65
65
75
65
70
70
65
60
60
65
70
65
65
65
65
65
60
65
65
67
72
72
72
82
82
72
72
72
72
72
77
77
77
77
72
72
82
72
72
72
72
77
77
77
77
72
77
82
82
77
84
84
94
94
79
89
84
84
79
84
89
84
84
84
84
96
106
91
91
96
91
96
91
96
86
96
101
101
91
96
106
101
96
91
96
96
113
103
113
118
118
113
113
98
108
103
118
103
108
108
108
113
108
120
130
125
130
125
125
120
120
125
125
120
115
132
127
137
132
132
137
137
132
137
137
137
132
132
149
139
159
139
139
144
144
146
146
146
161
161
156
156
156
156
156
151
151
161
161
156
156
173
153
153
158
168
163
163
163
173
173
173
163
165
165
190
175
175
185
185
180
185
185
175
197
202
187
187
187
182
184
184
209
199
194
199
199
194
194
216
211
221
211
206
223
238
228
228
228
240
235
210
210
230
235
252
227
222
222
222
222
222
222
222
242
239
264
229
229
229
229
229
229
229
229
234
234
229
259
259
254
271
261
261
246
266
261
276
276
283
283
283
258
288
295
295
290
302
302
302
329
304
304
319
314
314
336
316
316
326
348
372
342
364
379
371
381
383
383
388
383
388
378
420
395
395
410
395
432
402
402
417
419
394
394
394
394
419
414
448
448
438
438
445
450
445
450
445
450
445
450
425
425
482
487
457
457
457
457
437
437
467
457
452
484
474
491
456
456
498
468
515
510
475
475
525
542
517
517
482
482
534
529
494
494
556
546
536
506
506
506
506
513
513
525
525
587
607
614
584
584
626
620
620
620
632
664
624
644
661
643
653
655
655
707
702
692
687
667
679
679
704
704
679
704
691
728
725
737
737
744
744
749
744
754
749
756
756
756
756
768
768
768
768
768
768
815
785
780
792
802
832
827
792
834
809
804
799
799
841
841
811
816
816
821
821
826
806
851
836
848
818
840
840
840
865
860
892
852
852
864
911
871
923
883
870
882
882
942
889
961
961
931
926
943
943
943
975
985
980
974
974
996
981
956
961
956
1033
998
993
1003
993
993
973
1030
1025
980
1042
1032
1027
992
992
992
1044
1039
1029
1004
1004
999
1029
1041
1053
1053
1087
1077
1084
1096
1093
1105
1105
1105
1117
1117
1117
1122
1117
1117
1134
1129
1129
1141
1
1
1
1
13
8
15
27
27
27
27
27
27
27
27
27
27
27
27
32
32
27
27
27
32
27
37
27
27
27
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
34
34
34
34
34
34
34
34
34
34
34
39
34
34
34
46
41
46
41
41
41
46
46
41
46
46
46
51
46
41
41
51
51
46
51
41
56
51
46
41
53
53
48
48
48
48
58
53
58
53
53
68
68
53
48
58
58
53
53
53
63
53
53
53
53
53
63
58
48
58
53
53
53
53
48
53
53
60
60
60
60
65
65
65
65
65
65
70
65
70
65
65
60
65
60
65
65
65
75
60
60
65
65
65
65
65
72
72
77
72
72
72
72
72
72
72
72
72
72
77
77
77
72
72
72
77
77
77
82
87
77
77
77
77
79
79
84
84
79
79
84
94
84
89
89
79
84
84
84
84
89
84
79
94
94
89
96
96
101
106
101
101
91
108
118
118
108
108
108
108
113
103
108
125
115
125
125
120
120
120
120
120
120
120
120
125
125
130
120
115
130
115
115
120
120
115
115
132
137
142
142
137
132
137
132
132
132
132
127
139
144
144
144
154
139
144
144
139
149
149
144
171
161
156
156
156
156
151
161
158
168
168
168
163
173
163
163
180
175
175
185
180
180
197
197
177
177
187
187
192
192
192
192
187
204
214
184
184
184
184
199
199
204
194
194
216
196
196
221
211
206
206
206
206
233
238
218
215
215
235
240
252
247
232
222
222
222
239
229
229
229
229
259
234
234
229
254
261
261
251
251
276
246
241
261
281
273
258
273
288
278
295
295
270
295
300
302
302
304
314
341
316
331
326
348
328
333
360
372
372
384
371
371
391
378
383
395
395
400
395
400
390
432
407
407
422
412
407
402
444
426
401
401
401
448
460
460
460
460
460
445
445
425
425
430
450
445
457
462
457
462
457
462
457
462
437
457
494
499
469
469
469
469
479
479
444
444
474
479
464
496
456
486
481
498
475
522
482
482
554
529
546
541
506
506
506
506
568
558
553
548
513
513
525
525
575
537
537
584
626
596
638
625
620
620
632
632
624
639
676
636
673
668
673
655
655
667
667
687
719
714
704
699
716
711
691
740
737
744
744
749
744
756
756
756
761
768
768
768
768
780
780
775
775
780
827
792
797
792
814
799
844
839
846
821
811
853
823
828
833
833
818
863
848
860
830
852
852
852
877
872
904
864
864
923
883
935
890
882
882
907
889
889
954
901
973
973
943
938
955
955
987
997
992
974
986
986
966
956
1008
998
968
993
973
1045
1010
1005
1015
1005
1005
980
1042
1037
992
1054
1044
1039
1034
1004
999
999
1029
1029
1056
1051
1011
1016
1016
1053
1053
1053
1065
1065
1099
1089
1096
1098
1108
1105
1117
1127
1122
1117
1129
1129
1134
1129
1129
1146
1136
1141
1153
1
1
1
13
13
25
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
49
34
34
34
34
34
34
39
34
39
34
39
34
34
34
34
34
44
44
34
34
34
34
34
34
34
34
34
34
41
41
51
41
41
56
41
41
41
41
41
41
46
46
41
41
41
41
46
46
41
41
46
41
41
51
46
46
46
46
41
46
48
53
53
53
53
53
68
68
53
53
63
53
53
53
53
53
53
58
58
58
48
58
53
63
63
63
58
58
53
60
65
65
65
75
70
65
60
65
65
65
65
65
60
60
75
65
60
65
65
65
65
70
72
67
72
77
72
72
82
77
77
77
67
72
72
82
77
72
72
77
82
67
67
67
67
77
77
77
77
72
84
84
84
84
84
84
84
89
79
79
84
89
84
84
84
84
84
84
89
99
84
79
89
91
91
91
91
91
96
101
101
91
101
96
96
91
96
106
101
101
108
108
113
118
108
103
108
118
113
120
125
125
120
120
115
115
115
115
115
115
120
125
115
115
115
115
115
115
120
115
127
137
132
132
132
132
132
127
132
127
127
127
144
144
144
154
134
134
144
144
139
144
139
151
156
156
156
161
156
156
151
156
151
163
183
168
173
163
163
190
180
180
175
170
175
180
180
185
175
197
197
187
192
182
187
182
197
192
182
209
194
184
184
184
184
184
184
184
184
194
204
204
194
226
196
196
196
196
211
206
206
206
223
203
203
233
218
218
218
245
230
222
222
222
222
222
247
264
259
234
229
229
229
229
229
239
261
261
251
271
246
241
273
288
253
253
258
258
288
280
290
290
270
295
285
300
302
307
277
307
302
314
314
353
328
343
338
360
335
372
372
396
371
383
403
390
390
402
407
412
407
412
397
397
444
419
419
434
424
419
414
456
401
448
418
460
472
472
472
457
437
452
462
457
469
469
469
469
469
469
469
469
479
479
444
444
474
474
464
506
476
476
476
476
491
491
486
481
506
476
491
508
468
493
510
487
534
566
541
553
553
580
570
560
525
525
537
537
544
544
596
638
620
650
632
632
637
632
639
636
651
688
668
680
667
667
679
699
731
726
706
723
752
749
756
761
761
768
768
768
780
775
787
787
787
792
839
809
826
856
851
858
823
833
865
835
845
845
830
875
860
840
872
837
864
864
889
884
916
876
871
935
890
947
902
919
901
901
901
966
908
985
985
955
950
962
962
999
1009
1004
998
998
978
1020
980
1057
1022
1022
1017
1027
1017
1017
992
1054
1049
999
999
1029
1066
1056
1051
1011
1011
1011
1068
1063
1023
1028
1028
1023
1065
1065
1065
1077
1072
1111
1101
1108
1120
1129
1134
1129
1139
1141
1136
1136
1141
1158
1148
1153
1165
1
1
1
1
1
1
1
1
13
20
20
20
27
32
27
27
27
27
27
27
37
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
41
41
41
46
56
46
41
41
51
51
41
41
41
41
46
41
41
41
46
51
46
51
46
46
41
46
41
63
48
48
48
48
48
48
53
53
53
53
48
48
53
53
53
48
53
53
53
58
58
58
53
53
58
58
58
65
60
60
65
65
65
65
65
65
60
75
75
75
60
60
65
65
65
65
60
75
70
75
65
65
65
67
82
67
72
77
77
67
82
72
72
67
67
67
67
72
77
77
77
84
89
79
79
84
84
89
84
84
89
79
79
79
79
84
84
96
96
96
101
91
91
96
96
91
91
106
96
101
103
103
103
113
103
113
103
103
113
103
103
113
113
108
120
120
120
115
115
125
115
115
115
127
137
132
132
127
127
127
137
132
137
127
127
127
127
127
132
149
134
134
144
139
139
139
139
151
166
161
146
146
156
151
168
158
168
168
163
158
168
168
163
170
195
180
185
175
175
197
197
182
197
192
187
187
187
187
187
197
187
182
209
194
184
189
189
204
194
199
209
204
194
194
216
196
196
196
196
216
211
206
206
238
203
203
203
203
218
210
210
245
230
230
222
222
222
222
257
259
229
234
229
229
229
229
239
276
271
246
241
241
241
241
273
253
253
258
258
258
278
280
300
265
270
297
297
297
297
277
277
307
302
319
289
319
326
365
355
335
335
345
372
372
347
384
408
383
390
390
415
397
397
417
419
424
419
424
409
399
456
431
431
426
426
406
446
436
468
448
460
445
445
430
472
479
479
479
464
444
469
469
464
481
481
481
481
491
491
456
481
481
486
486
518
488
488
488
488
498
498
488
498
493
515
475
505
522
494
546
578
558
553
565
592
572
582
544
544
556
556
650
652
632
632
662
644
644
639
644
654
651
700
685
680
679
743
738
723
713
713
713
735
759
780
787
799
799
799
851
821
838
863
868
870
835
845
877
847
857
857
887
872
837
884
849
876
876
901
896
928
925
947
959
914
931
913
908
978
925
920
997
997
962
962
974
974
1011
1021
1016
973
1005
1005
990
985
1032
992
1069
1034
1029
1029
999
1034
1066
1061
1011
1011
1011
1078
1068
1063
1023
1023
1075
1075
1035
1035
1040
1035
1077
1077
1072
1084
1089
1081
1123
1113
1120
1132
1136
1136
1151
1153
1148
1148
1153
1170
1160
1165
1172
1
13
8
13
13
13
13
20
20
27
27
27
27
27
27
27
37
27
27
27
27
27
37
27
27
27
27
34
34
34
39
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
44
34
34
34
34
34
34
34
34
39
34
34
41
46
41
41
41
41
41
46
41
46
41
46
46
46
46
41
53
53
53
58
58
58
58
58
53
53
53
53
53
53
58
53
53
48
58
58
58
58
60
65
75
65
60
65
65
65
65
65
65
65
65
77
72
82
82
82
67
82
87
77
77
77
67
67
67
72
67
67
72
72
67
87
77
82
77
84
79
89
94
79
79
79
84
84
84
89
79
84
84
94
79
89
84
84
96
101
91
91
86
96
96
91
91
91
91
91
91
96
108
103
98
98
108
103
103
103
103
103
118
103
103
103
108
113
103
113
115
120
125
110
110
115
115
125
115
115
115
110
110
115
125
120
120
127
127
122
127
127
144
144
134
134
139
149
144
139
139
134
134
144
144
139
161
146
151
151
163
158
178
168
163
180
170
170
175
180
175
175
182
197
207
192
187
187
197
187
187
209
204
199
199
199
209
194
216
196
196
196
196
216
211
221
216
206
206
203
203
203
203
228
218
218
218
250
230
222
222
222
222
222
222
222
257
242
259
229
229
229
229
239
269
241
246
241
241
241
288
283
248
248
248
248
258
258
258
288
280
265
270
297
297
272
277
277
312
309
309
289
331
296
326
338
335
377
367
347
384
354
396
420
390
390
397
427
409
424
429
409
431
436
431
436
416
406
406
406
431
468
443
443
418
458
443
480
460
467
457
457
442
457
444
469
491
456
481
493
493
493
493
498
498
498
500
500
500
500
510
515
475
527
487
517
534
506
506
506
558
513
513
590
570
565
577
577
604
584
589
549
568
568
662
664
644
644
639
644
674
656
656
651
678
712
687
713
755
750
735
725
725
720
720
759
771
799
806
863
833
845
875
880
882
847
857
889
869
869
884
899
896
861
888
913
908
940
937
959
971
956
938
938
990
937
932
962
1009
1009
974
974
1023
1033
1028
973
1017
1017
997
1044
1004
1039
1034
1081
1046
1041
1078
1073
1023
1023
1023
1090
1075
1075
1035
1035
1040
1035
1087
1087
1047
1047
1047
1047
1089
1089
1081
1096
1101
1135
1125
1132
1144
1134
1136
1136
1148
1148
1158
1160
1160
1160
1165
1160
1160
1182
1172
1172
1184
1
1
1
1
1
1
13
13
13
20
15
25
25
20
20
25
20
27
27
27
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
44
34
34
34
34
34
34
34
34
34
34
34
34
44
46
46
46
51
41
41
46
46
46
46
46
51
48
48
48
63
53
53
53
53
58
53
48
48
48
53
53
53
58
60
65
65
65
65
65
65
65
70
65
60
65
65
60
65
65
65
65
72
72
72
82
72
67
72
82
72
77
67
67
67
67
77
77
72
72
79
84
79
94
79
94
99
84
84
84
79
79
89
79
89
89
89
96
91
106
91
91
91
91
91
96
96
91
101
96
108
103
98
103
98
98
98
98
108
113
120
130
125
110
115
115
115
115
115
115
115
115
110
125
127
132
137
122
127
127
127
127
122
122
122
132
127
139
144
144
134
139
134
156
151
156
156
161
161
146
146
146
173
158
163
163
175
190
180
192
182
187
187
184
219
204
199
209
194
216
196
196
216
211
206
206
216
206
208
208
203
203
203
223
223
228
218
215
215
240
230
262
222
242
229
229
234
234
229
229
229
269
254
241
241
241
241
281
248
248
248
248
258
263
300
295
265
270
300
272
277
307
309
284
289
324
316
316
296
343
347
389
379
354
396
408
427
409
439
424
416
436
431
436
443
443
443
443
418
413
413
413
480
450
450
460
425
470
455
492
467
479
464
464
444
444
469
464
486
503
498
468
498
493
493
505
505
505
505
505
475
475
525
512
512
512
512
522
527
487
539
506
506
513
513
518
570
525
525
597
577
572
582
577
589
549
589
616
596
601
561
580
580
674
656
656
651
686
668
690
687
724
720
720
767
762
732
732
732
771
783
821
821
818
870
845
857
887
892
894
901
881
881
896
911
908
873
895
925
920
952
971
983
968
938
1002
962
962
949
974
1021
1021
986
1035
1045
1040
985
1002
997
1029
1029
1056
1016
1011
1051
1093
1058
1090
1080
1035
1035
1035
1087
1047
1047
1047
1047
1047
1099
1099
1059
1084
1059
1059
1059
1101
1101
1108
1108
1147
1132
1144
1134
1156
1136
1146
1148
1148
1148
1148
1160
1160
1160
1170
1160
1172
1172
1172
1172
1172
1172
1194
1184
1184
1196
1
1
1
1
1
1
1
13
13
8
13
8
13
20
20
20
27
27
27
27
27
27
27
32
27
32
27
27
27
27
27
27
27
27
27
32
27
32
27
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
41
46
46
46
51
41
46
41
51
46
51
48
48
53
53
53
58
48
48
48
53
58
60
60
60
65
65
65
65
65
70
60
60
60
60
65
65
72
72
67
77
72
77
77
67
67
67
67
67
67
72
72
77
77
72
72
77
84
79
84
79
79
84
84
84
84
89
79
79
89
89
89
84
84
96
91
106
91
106
96
111
91
96
101
86
86
86
101
108
103
113
103
98
103
103
108
108
103
98
108
120
130
110
115
115
115
115
115
115
110
110
125
132
137
127
122
122
127
127
122
132
139
144
144
149
134
134
134
129
144
151
156
156
156
151
163
168
173
158
158
185
170
187
202
192
187
204
194
199
194
196
196
196
211
206
216
203
203
223
218
220
215
215
215
235
240
222
222
222
247
274
234
234
229
239
239
254
271
246
241
281
266
283
248
248
248
248
293
265
275
312
307
297
277
282
324
284
319
336
316
296
296
336
333
355
354
401
391
371
386
408
398
420
416
411
451
431
441
413
448
443
448
455
455
450
425
425
425
492
462
462
437
482
504
479
504
491
481
498
498
468
468
523
510
510
480
532
532
517
517
517
517
517
517
487
487
524
524
524
524
534
539
494
536
546
565
525
525
530
582
572
532
532
609
589
584
601
561
601
623
608
613
573
620
652
652
592
592
686
668
698
702
699
736
718
760
732
732
732
732
732
732
779
774
744
744
791
798
798
783
795
841
826
848
833
882
857
904
899
901
913
893
893
908
923
920
885
907
932
959
983
938
995
980
1014
974
974
981
1033
1033
998
1047
1057
1052
1009
1041
1041
1011
1046
1068
1028
1023
1023
1063
1105
1070
1035
1092
1047
1047
1047
1047
1047
1099
1059
1084
1059
1059
1111
1106
1096
1071
1096
1071
1071
1108
1108
1120
1120
1132
1159
1156
1146
1168
1148
1163
1158
1160
1160
1160
1160
1160
1172
1182
1172
1172
1172
1172
1172
1184
1184
1184
1196
1206
1196
1208
1
1
1
1
1
1
1
1
1
1
1
1
13
8
8
13
13
8
20
20
15
20
20
27
27
27
27
27
27
27
39
34
34
34
39
39
34
34
34
39
34
34
34
39
39
44
46
41
41
46
46
46
41
41
46
41
46
46
46
53
53
53
53
48
63
53
58
48
48
53
53
48
53
63
60
65
65
60
65
65
70
65
60
60
65
65
70
72
72
72
72
72
72
77
72
67
67
67
67
72
72
84
79
84
79
84
79
89
84
89
89
84
84
79
79
79
79
89
84
84
96
91
91
91
91
96
96
101
86
86
96
101
101
96
96
113
103
103
113
108
123
103
103
103
98
98
98
103
120
110
130
115
115
115
115
120
115
115
120
132
137
132
127
127
127
117
117
132
144
149
134
139
134
144
151
156
163
163
168
180
180
170
165
197
187
182
199
214
204
199
206
211
196
211
203
203
215
215
235
222
222
222
227
227
247
252
259
234
229
261
261
286
246
241
251
251
266
253
253
258
258
258
258
293
278
295
295
300
297
287
324
319
309
294
296
331
348
308
343
367
371
403
383
408
420
390
410
427
424
426
436
423
463
448
443
425
425
425
425
467
467
462
437
504
474
474
449
489
511
491
506
498
510
510
510
480
480
535
522
492
544
524
524
524
524
529
494
494
494
494
536
536
536
536
546
546
546
548
558
565
532
532
542
594
584
584
549
601
613
573
635
620
620
620
585
632
664
604
604
698
710
714
699
743
730
725
732
744
744
744
786
786
756
756
756
751
810
810
795
802
838
860
840
852
869
916
911
913
920
900
900
920
935
932
897
919
971
990
1007
992
986
981
993
1045
1045
1010
1059
1064
1064
1014
1046
1021
1053
1053
1023
1058
1080
1035
1035
1035
1070
1117
1082
1047
1047
1047
1047
1059
1059
1059
1111
1096
1071
1096
1071
1066
1123
1118
1108
1108
1108
1083
1113
1113
1078
1120
1132
1132
1171
1168
1180
1175
1170
1172
1172
1172
1194
1184
1184
1184
1196
1196
1191
1208
1218
1203
1220
1
1
1
1
1
1
1
1
1
1
1
1
1
1
13
13
13
13
8
13
13
8
13
13
8
20
15
20
20
20
27
27
27
32
27
27
27
27
32
34
34
34
34
34
39
51
46
41
51
46
46
51
41
41
53
53
53
53
48
48
48
53
53
48
53
53
65
65
65
80
60
75
60
65
65
65
65
75
72
72
72
77
72
77
72
72
72
77
67
72
67
67
67
67
72
77
77
84
89
79
79
84
84
96
91
96
91
96
91
86
86
86
86
91
96
113
103
103
103
103
103
113
103
98
108
110
120
135
115
110
110
110
132
127
127
127
137
122
127
127
127
127
127
134
144
149
139
139
134
144
151
156
166
156
156
146
146
156
158
163
163
175
175
182
187
192
187
192
182
204
209
194
194
211
226
216
206
211
218
223
208
203
218
223
228
222
222
242
259
234
229
239
254
259
261
261
271
246
273
273
298
253
253
273
295
265
270
270
270
270
300
285
307
297
277
277
312
294
319
336
331
321
306
331
308
343
360
335
335
320
345
355
374
376
383
415
395
390
427
402
397
422
439
426
431
443
443
438
448
450
450
445
445
425
425
430
470
437
437
469
469
479
469
469
479
474
444
511
476
476
486
476
476
486
456
501
523
510
522
547
504
556
536
536
536
536
541
546
506
506
543
543
543
543
558
558
558
560
565
549
554
601
561
608
620
585
647
632
627
632
597
639
676
616
616
705
722
726
728
755
732
732
737
737
756
751
751
798
793
768
763
763
822
822
802
814
799
806
840
840
872
852
864
881
928
923
925
900
900
932
912
932
947
939
909
931
938
938
938
938
1002
1004
1014
998
993
1005
1017
1071
1076
1071
1021
1058
1065
1065
1075
1070
1092
1047
1047
1047
1129
1094
1084
1059
1059
1071
1071
1066
1123
1108
1108
1083
1108
1078
1135
1130
1120
1090
1120
1120
1090
1132
1144
1144
1183
1180
1192
1182
1172
1172
1182
1196
1191
1191
1208
1208
1203
1220
1230
1215
1232
1
1
1
1
1
1
1
1
1
1
1
1
13
8
13
8
13
8
13
8
8
13
8
13
8
8
20
20
20
20
20
20
15
20
20
27
27
32
32
34
34
34
34
34
34
44
34
34
34
34
44
41
46
41
41
41
41
41
41
46
41
41
51
63
48
53
48
53
48
53
53
63
53
53
48
53
48
53
58
70
60
65
65
60
65
70
60
65
60
60
72
87
67
67
77
72
72
89
84
89
94
89
84
79
79
79
89
91
96
86
91
96
96
103
108
113
103
98
98
103
108
110
125
115
132
147
127
122
137
122
122
144
139
134
134
139
134
139
149
156
156
156
151
146
156
173
163
168
158
158
170
175
175
175
170
187
182
204
199
199
194
199
204
199
204
194
216
196
196
201
238
228
223
203
208
203
223
228
218
218
218
235
220
230
235
225
259
239
271
246
251
276
276
258
258
258
285
285
310
265
285
297
272
277
282
277
297
319
309
289
289
294
324
306
326
348
343
328
313
313
343
338
335
340
320
350
372
347
332
371
371
383
395
427
402
402
397
397
402
414
434
451
426
438
418
443
445
445
462
462
457
437
479
444
444
486
486
481
488
488
498
488
488
498
468
513
535
522
559
516
568
553
558
518
518
555
555
555
555
565
570
565
572
577
561
573
620
597
659
639
639
639
604
651
656
656
688
734
711
738
740
725
767
744
763
763
810
775
775
775
834
834
799
826
806
818
852
884
864
876
893
935
937
912
924
959
951
921
943
950
950
1009
1016
1026
993
1005
1010
1005
1029
1009
1088
1077
1077
1082
1104
1084
1059
1106
1141
1096
1096
1071
1066
1083
1078
1078
1135
1120
1120
1090
1142
1142
1102
1132
1102
1144
1156
1156
1195
1170
1192
1204
1184
1203
1203
1215
1232
1242
1227
1239
1
13
8
13
8
8
8
13
8
8
8
13
13
20
20
20
20
20
20
27
27
27
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
44
34
34
34
34
41
46
41
56
41
41
41
48
48
53
68
48
48
48
48
53
53
53
53
53
75
60
65
60
65
65
65
72
72
77
72
67
72
67
67
77
77
67
67
72
77
67
72
72
72
72
72
94
84
84
79
79
79
84
84
84
79
91
96
91
96
91
96
101
96
86
86
86
118
108
103
103
103
113
103
115
115
130
115
120
115
110
110
110
142
144
144
159
134
134
134
129
156
151
166
146
146
151
146
168
163
158
175
180
170
165
170
185
197
197
182
187
182
182
202
187
187
194
206
206
196
196
211
211
211
211
216
206
228
203
203
238
250
235
215
215
215
215
215
215
240
230
230
247
222
222
222
222
227
227
227
242
242
229
229
229
229
261
261
271
241
241
241
241
241
241
253
253
253
258
253
263
258
288
295
265
265
270
322
297
297
292
292
272
272
277
277
297
284
289
289
309
331
321
306
301
296
296
336
318
355
340
335
325
325
355
355
347
347
332
384
354
383
390
397
402
439
414
409
414
421
446
463
425
425
425
425
430
472
457
457
479
474
474
464
444
491
456
498
498
493
463
463
463
463
500
500
500
500
505
505
475
525
547
534
571
528
580
565
570
565
530
530
567
567
567
567
577
577
584
589
573
580
632
639
649
604
671
651
651
651
616
663
663
663
700
746
750
752
737
779
749
751
775
822
787
782
814
846
846
838
818
825
864
896
876
888
905
947
949
924
936
963
933
955
962
962
1028
1038
1005
1017
1017
1017
1041
1021
1100
1089
1089
1094
1116
1096
1066
1108
1108
1108
1095
1090
1090
1142
1132
1154
1154
1114
1139
1109
1156
1168
1207
1182
1204
1216
1191
1215
1239
1254
1234
1251
1
1
1
1
8
20
20
20
20
20
27
27
27
27
27
27
27
34
34
34
34
34
34
34
34
34
34
34
34
44
34
34
46
41
46
41
53
53
63
48
60
60
65
75
65
65
87
77
72
84
84
84
84
79
89
84
96
101
91
96
96
86
103
108
118
103
103
98
98
98
125
115
115
115
142
127
127
137
132
122
127
122
122
149
134
134
156
171
146
146
146
168
163
173
158
153
163
175
187
177
182
192
187
209
194
194
209
199
194
216
218
203
203
223
218
228
213
215
215
262
222
227
227
222
252
242
242
259
229
229
229
229
239
239
239
254
254
241
241
241
241
241
241
273
253
253
253
253
253
253
253
253
265
265
265
265
265
275
300
277
277
334
309
304
284
284
309
296
296
296
301
321
343
328
318
308
348
325
367
352
347
337
337
354
396
366
395
409
451
421
421
433
418
418
458
475
437
437
442
464
464
491
486
486
456
456
456
503
503
505
475
475
512
512
512
512
517
517
487
537
559
546
583
540
592
577
577
542
542
579
579
579
579
589
589
596
580
644
604
651
656
616
683
663
663
663
628
675
712
758
762
764
791
761
763
834
799
794
858
858
850
825
876
908
888
900
912
959
959
961
936
948
975
945
967
974
974
1040
1050
1032
1029
1053
1075
1112
1101
1101
1123
1078
1120
1090
1142
1107
1144
1166
1166
1151
1121
1121
1180
1219
1216
1203
1223
1239
1246
1261
1263
1
8
8
8
8
27
27
32
32
27
27
32
27
32
34
34
34
34
34
34
46
41
46
46
51
53
53
53
53
53
53
65
65
77
77
99
84
91
96
91
96
86
86
101
91
103
98
103
108
110
115
125
110
110
122
122
127
122
149
134
134
139
134
134
134
134
129
146
163
183
153
153
180
175
165
165
165
175
199
189
194
216
206
201
206
216
225
235
240
222
222
222
222
274
239
264
254
249
271
246
246
246
246
266
266
248
248
248
248
253
253
253
253
288
280
265
265
265
265
272
272
272
272
272
272
307
307
289
346
316
311
296
321
308
333
355
325
325
320
360
337
379
359
354
344
344
408
373
402
416
463
440
470
487
444
444
498
498
498
468
515
512
482
482
524
524
524
524
529
529
549
571
595
552
604
589
554
554
591
591
591
591
601
608
580
656
616
628
695
675
675
640
682
724
774
776
803
773
787
846
870
870
862
888
920
912
924
971
973
948
990
955
987
957
979
986
986
1052
1062
1032
1044
1075
1065
1087
1124
1113
1113
1135
1090
1142
1102
1154
1114
1156
1173
1178
1133
1192
1231
1223
1235
1239
1251
1273
1270
1
1
1
13
44
44
44
44
53
65
65
65
65
65
65
77
77
89
111
108
113
120
122
134
139
146
146
195
192
187
177
177
187
211
201
206
218
247
252
286
251
276
266
283
258
258
278
278
265
265
284
284
319
358
308
333
320
345
367
337
372
349
391
356
420
475
482
499
510
510
480
536
536
536
536
541
541
561
583
607
564
616
601
566
566
603
603
603
603
620
668
628
640
707
687
652
736
786
788
815
799
858
882
882
874
900
932
924
985
960
1002
967
999
991
998
998
1064
1074
1056
1099
1136
1125
1125
1114
1166
1185
1190
1145
1204
1243
1247
1263
1285
