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