111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
110
110
110
110
110
110
110
110
110
110
110
110
110
110
111
112
113
114
114
114
114
113
112
110
110
111
111
112
113
115
116
116
116
115
115
114
114
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
112
110
109
107
107
107
107
107
107
108
108
109
111
112
114
115
115
115
115
115
115
115
114
113
112
111
110
108
107
107
109
110
111
110
109
108
108
108
108
109
110
112
113
114
114
114
113
112
112
112
112
112
112
112
112
112
113
113
113
113
113
113
113
112
112
112
114
115
116
116
116
116
119
123
126
123
119
115
114
113
112
114
117
120
120
119
118
117
116
115
114
114
114
114
113
112
111
110
111
112
113
114
114
114
114
114
115
116
116
116
116
116
114
112
110
109
112
115
118
117
116
115
115
117
118
120
120
120
120
120
121
121
121
121
121
121
122
123
124
125
125
125
123
120
117
114
114
114
114
113
111
110
110
110
110
110
112
113
115
116
116
116
116
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
116
117
117
118
118
119
120
122
123
125
126
128
130
132
133
134
138
139
140
141
142
142
143
144
145
148
148
149
150
151
151
151
151
151
150
150
150
150
150
150
150
150
151
153
155
157
158
160
162
164
165
167
169
170
172
173
174
176
177
178
180
181
182
182
182
182
182
182
183
183
183
183
183
184
185
186
188
189
190
192
193
194
196
197
198
199
201
202
203
204
205
207
207
208
210
211
212
213
214
214
214
215
215
215
216
217
217
217
217
217
217
217
218
219
220
221
221
221
221
221
222
224
225
227
228
227
227
226
224
224
224
224
224
224
224
224
224
221
219
215
210
205
201
198
196
194
193
192
191
190
189
187
187
186
186
186
187
187
187
188
188
190
191
192
193
194
195
196
197
199
200
201
202
204
204
204
205
205
205
206
206
206
206
207
207
207
208
209
209
210
211
211
212
213
213
214
215
215
216
217
217
218
219
220
221
222
223
224
226
227
229
230
232
233
235
235
235
235
235
235
235
235
236
236
236
237
237
238
238
238
239
240
244
245
246
249
250
251
252
253
254
255
256
256
257
258
260
262
263
264
265
267
268
268
269
269
269
269
269
269
269
269
269
270
271
272
273
274
275
275
276
276
277
278
279
280
281
282
283
284
285
285
286
287
288
289
290
291
292
293
293
294
294
295
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
314
315
316
317
318
319
320
320
321
322
322
323
323
324
325
325
326
327
327
330
332
334
336
338
340
342
343
346
348
350
351
353
355
358
359
361
362
364
366
367
369
371
373
375
376
375
374
373
372
371
370
370
369
369
368
368
368
369
370
371
371
372
373
373
373
373
372
372
371
371
370
370
370
371
371
372
373
373
377
381
384
386
389
391
393
397
400
404
404
404
404
404
403
403
403
403
404
407
410
413
415
417
419
421
423
424
424
424
424
425
425
425
425
425
426
427
427
428
429
429
430
431
432
432
433
433
434
435
436
436
437
438
438
439
439
441
442
443
445
447
449
451
453
454
456
457
458
459
460
458
457
456
453
451
449
447
445
445
444
444
443
443
442
442
444
446
448
451
453
455
457
459
461
463
464
466
467
467
467
468
468
469
469
470
471
472
473
474
475
476
477
478
479
479
480
481
481
482
483
484
485
486
487
488
489
489
490
493
494
496
498
501
502
504
505
505
505
504
504
504
503
503
503
504
504
505
505
506
506
505
503
502
499
497
495
493
491
489
489
489
488
482
475
474
474
472
470
469
469
468
466
463
466
471
475
478
480
476
470
462
451
443
439
436
434
433
433
434
435
435
436
436
436
436
436
437
438
439
440
438
436
434
432
432
433
434
435
436
437
439
440
438
436
435
435
435
433
430
427
424
422
422
425
427
428
426
425
425
425
425
427
429
426
422
423
424
419
411
419
431
421
408
394
386
378
375
372
368
363
362
362
360
356
351
345
345
346
339
330
326
322
318
315
317
320
318
314
310
304
299
295
292
288
284
284
283
283
282
280
277
276
277
278
277
276
275
272
269
268
269
270
270
269
268
265
263
262
262
262
260
260
259
260
262
265
268
269
269
269
269
269
269
271
272
273
274
273
272
271
269
269
272
275
277
280
282
282
282
282
282
282
281
280
280
279
278
278
278
278
278
278
278
278
278
278
279
280
281
281
282
282
284
285
287
289
290
291
292
294
295
296
297
298
299
300
302
303
304
306
307
309
310
312
313
315
317
318
320
322
324
325
327
328
329
330
330
330
330
330
330
331
331
332
332
333
333
333
333
332
332
331
330
329
328
328
327
327
326
326
326
326
327
327
327
328
329
331
332
332
333
335
336
337
338
339
340
341
342
343
343
345
347
349
350
351
352
355
357
358
358
358
358
359
359
359
359
360
360
361
361
362
363
363
363
364
364
368
369
370
372
373
375
376
377
380
382
383
384
386
387
388
389
391
391
391
391
391
391
391
390
390
389
387
387
389
391
393
398
402
406
400
391
380
364
351
344
339
340
341
336
332
332
332
330
329
326
324
321
318
315
313
311
309
307
304
301
299
295
292
289
289
290
290
289
287
285
286
287
285
282
280
278
277
276
276
277
278
278
279
280
281
282
282
283
284
284
285
285
286
286
287
287
288
290
292
293
295
297
299
301
303
305
307
309
311
313
315
316
316
316
316
316
316
316
317
317
317
318
318
318
318
318
317
317
316
315
315
314
314
315
316
317
319
320
321
322
323
323
323
324
324
324
325
327
328
330
332
327
323
318
316
315
313
312
310
308
306
303
301
299
297
295
294
292
291
291
291
289
287
285
284
282
281
281
282
283
284
285
286
287
287
288
288
289
290
291
291
292
293
293
293
293
293
293
293
292
291
291
290
288
285
284
287
289
290
289
289
288
287
287
286
286
285
285
285
287
289
290
292
293
295
295
296
297
298
299
299
300
301
302
305
307
308
309
310
311
313
313
314
314
315
315
316
317
317
318
319
320
321
321
320
319
318
317
316
315
315
315
315
311
307
303
303
307
312
306
298
293
294
294
292
289
287
287
287
287
284
278
273
270
268
266
266
265
265
264
263
263
263
264
265
266
266
267
267
266
264
264
268
271
271
266
261
257
252
247
244
242
241
241
241
239
238
236
236
235
234
234
234
228
223
221
223
226
228
231
232
233
235
236
235
234
232
231
231
231
231
232
232
232
235
237
240
242
245
247
247
247
247
247
247
248
248
248
248
248
248
250
253
255
258
260
262
263
263
264
264
265
265
265
265
265
265
265
265
265
265
266
266
267
268
268
269
270
272
273
274
275
276
277
278
279
280
282
283
284
286
288
291
293
296
298
298
298
297
297
296
296
296
297
298
299
300
301
302
304
306
308
310
313
315
317
318
320
321
322
323
324
326
328
329
328
328
327
326
325
324
322
320
320
321
322
323
324
325
326
327
328
329
331
332
333
335
335
336
336
338
338
339
340
341
343
345
348
350
351
354
355
354
353
352
351
349
349
347
347
350
356
360
366
372
377
378
377
375
374
373
372
371
370
369
368
367
367
366
365
365
365
365
365
365
365
365
365
366
368
370
372
374
375
376
377
377
378
378
379
379
379
379
379
379
378
378
377
377
377
377
377
378
378
378
379
379
380
382
384
386
387
388
389
390
388
387
386
384
382
380
379
380
381
382
383
384
385
388
391
394
397
400
403
405
405
406
406
407
408
408
409
411
412
413
414
415
416
417
417
418
418
419
419
419
418
418
417
415
414
413
413
414
414
411
408
405
405
405
405
404
404
403
403
403
403
403
403
402
401
400
400
400
400
400
400
400
400
400
399
398
396
394
395
397
399
400
400
400
400
399
398
403
412
421
410
398
388
388
388
388
389
390
389
385
382
381
381
381
381
381
381
381
381
381
379
378
377
377
377
378
378
377
376
376
376
376
377
382
387
392
395
394
393
392
391
392
394
395
396
397
399
400
402
403
404
405
406
407
408
409
410
413
415
417
419
421
423
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
426
428
430
432
433
435
436
438
439
439
439
439
438
438
438
437
437
437
437
437
438
438
439
439
440
440
441
442
443
445
447
448
449
451
452
453
454
455
456
456
457
458
458
459
461
462
464
465
466
468
468
468
468
468
468
468
468
468
467
466
465
464
463
462
461
460
460
460
460
460
461
462
462
461
459
459
459
460
462
459
445
431
431
430
428
426
423
421
419
416
413
412
411
409
407
405
406
408
411
410
409
407
402
397
393
388
384
379
369
358
357
357
357
357
358
362
366
371
373
371
370
369
368
368
368
368
368
368
369
370
371
372
373
375
376
378
379
381
382
384
385
386
386
386
387
387
387
388
388
388
390
391
392
393
395
396
398
400
402
404
405
407
408
410
413
414
415
416
418
419
420
421
422
424
425
425
425
425
425
425
425
425
425
425
426
426
426
426
427
427
427
428
429
431
432
433
434
436
436
437
437
438
438
439
439
440
440
440
441
442
443
445
446
447
448
449
450
452
454
457
459
461
465
467
468
469
468
467
465
464
463
461
460
459
458
459
461
462
464
465
467
468
469
469
469
470
470
470
471
471
471
471
470
470
469
469
469
471
472
472
472
472
472
471
469
468
466
465
463
462
460
463
468
473
479
482
486
489
489
488
488
486
484
481
479
473
467
460
453
446
440
436
433
431
427
423
420
420
421
422
420
417
410
400
393
390
389
393
397
406
413
417
420
420
421
422
423
425
425
425
424
424
423
423
423
423
426
428
431
433
438
440
442
442
441
440
439
438
437
436
436
435
435
435
434
433
432
430
429
427
425
423
421
420
421
422
422
423
424
425
425
424
424
423
422
422
423
424
426
427
429
431
433
435
437
440
441
441
440
439
439
439
439
439
439
439
440
440
440
440
440
440
439
439
439
438
438
438
437
437
437
437
437
436
435
434
433
432
432
433
433
434
434
434
433
433
433
433
433
434
434
435
437
439
440
438
436
432
425
418
420
422
418
412
407
405
403
402
400
398
395
392
390
388
393
398
396
390
382
376
371
367
361
355
352
348
348
347
346
343
334
326
316
311
308
307
306
304
303
301
300
298
296
293
288
284
284
285
286
286
285
281
276
276
276
275
274
269
261
255
255
256
258
261
263
260
257
252
246
242
241
241
234
228
226
226
227
227
227
225
223
221
218
216
216
217
218
220
217
213
209
208
207
205
205
204
203
202
202
201
201
201
201
201
199
196
194
194
194
195
195
195
195
194
193
192
190
187
183
179
178
177
176
175
175
176
179
182
182
181
180
177
174
170
169
168
168
171
174
175
176
177
174
171
167
164
162
161
160
159
160
162
163
163
161
158
158
160
162
160
158
155
154
153
153
154
155
155
153
151
149
146
143
145
148
149
148
147
147
145
144
143
142
140
139
137
137
136
135
134
133
132
130
129
128
127
126
125
125
125
125
124
124
124
123
123
122
121
121
120
120
119
119
119
119
118
118
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
117
116
116
116
116
115
115
115
115
115
115
115
114
114
113
113
113
112
112
112
112
112
111
111
110
110
110
110
110
110
110
110
110
110
110
111
111
111
110
110
109
109
109
109
109
110
110
110
109
109
109
109
109
108
108
108
108
108
108
108
108
108
108
108
108
108
109
109
110
110
111
111
111
111
111
111
111
111
111
110
110
110
110
110
110
111
111
112
112
112
112
112
112
112
113
113
113
113
113
113
113
114
114
114
114
113
113
113
113
112
112
112
112
112
112
112
112
112
112
113
113
113
113
113
113
113
113
114
114
114
114
113
112
112
111
110
110
109
109
109
109
109
109
109
109
110
110
110
110
110
110
110
110
110
110
110
110
111
111
112
112
112
111
111
111
110
110
110
110
110
110
110
111
113
114
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
115
115
114
113
113
113
113
113
114
114
114
114
114
114
114
114
114
114
113
113
112
112
112
112
112
111
111
111
111
111
111
111
111
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
111
111
111
111
111
112
112
112
111
110
110
111
113
114
115
115
115
114
114
113
113
113
113
113
113
113
112
111
111
110
109
109
108
107
107
106
106
106
106
106
106
108
110
111
112
112
112
112
112
112
112
113
113
114
114
114
114
114
114
114
114
114
114
114
113
112
112
111
110
110
112
113
114
114
114
114
113
112
111
110
110
110
110
110
110
110
110
110
110
110
110
110
111
112
113
113
113
113
112
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111