256
255
254
253
253
256
256
257
257
259
256
256
256
256
256
256
256
256
256
256
257
257
257
257
257
258
258
258
259
259
259
259
262
263
263
263
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
265
267
268
268
268
268
268
268
268
268
269
269
269
270
270
270
270
270
271
271
272
272
272
272
272
270
269
268
268
267
264
263
263
263
266
266
266
272
272
272
271
271
271
274
275
275
275
275
276
276
275
275
275
275
275
275
274
274
274
273
273
273
272
272
269
269
268
268
268
268
269
270
270
270
271
271
272
273
272
272
271
271
271
271
271
271
272
272
272
269
269
269
269
270
273
274
276
278
280
282
284
286
289
293
296
301
306
310
312
314
320
322
322
322
322
322
323
323
326
327
329
330
330
330
330
330
330
330
330
328
326
326
323
322
321
319
318
316
316
317
317
316
316
314
311
311
310
309
307
307
307
306
306
306
306
305
305
303
303
305
305
304
299
298
297
297
297
297
297
297
297
299
299
301
303
304
302
302
303
304
305
306
306
306
306
306
306
307
307
306
305
305
305
305
305
305
308
309
309
309
310
311
311
312
315
317
320
320
320
320
320
320
320
324
324
324
325
325
326
328
329
331
331
331
330
327
326
326
327
328
328
328
327
327
328
330
330
330
328
328
325
325
325
325
325
325
325
325
325
325
325
325
325
325
324
324
324
324
325
326
326
326
327
327
330
332
332
333
332
332
332
332
332
332
332
333
334
335
336
336
336
336
337
338
339
340
340
339
339
339
339
339
339
339
339
339
339
339
340
340
340
340
340
340
340
340
340
342
343
346
351
353
356
358
359
355
354
353
353
353
353
349
350
355
360
360
360
360
361
361
361
362
363
362
361
361
360
360
361
361
361
361
362
362
362
363
363
364
365
366
367
368
370
370
370
371
371
371
371
374
378
381
382
382
384
388
393
401
402
403
403
405
406
413
415
421
423
424
428
428
427
427
427
425
425
425
426
426
426
426
427
427
428
428
429
430
430
430
428
427
427
429
431
435
435
433
432
431
430
431
432
433
435
435
435
435
441
441
440
440
440
443
444
444
445
447
448
449
450
450
448
449
450
451
453
453
454
454
457
459
462
463
464
465
465
466
469
475
478
479
481
483
485
484
482
482
483
484
486
487
488
490
499
502
510
510
509
509
509
510
511
512
514
517
519
528
531
532
535
537
538
541
542
558
560
565
566
569
576
582
586
587
587
588
589
593
595
600
603
605
609
611
609
612
613
632
637
641
647
652
655
657
662
664
667
670
674
675
676
676
676
677
673
663
662
662
662
663
663
663
661
660
659
658
656
654
653
652
650
649
649
648
648
647
647
644
643
642
642
639
639
637
635
635
637
638
639
640
640
638
634
625
624
620
617
614
610
609
609
608
606
604
604
601
599
597
596
594
593
593
592
591
591
591
591
591
589
588
588
586
585
580
578
574
574
574
573
568
567
566
565
564
563
562
560
558
551
551
551
552
552
552
551
547
545
543
539
538
536
533
533
532
532
529
526
527
530
531
526
520
514
510
508
508
508
508
508
508
506
505
505
506
512
511
509
509
509
511
512
513
514
516
516
516
516
516
516
514
513
511
511
511
508
506
500
494
489
485
482
477
472
458
454
448
444
442
438
434
430
424
421
419
418
415
411
409
404
401
398
395
385
381
376
373
370
367
367
367
366
365
365
364
364
364
364
365
365
365
365
366
367
369
370
374
376
377
377
377
378
378
379
379
379
377
374
373
372
369
368
365
361
353
353
352
352
350
350
348
346
346
346
345
345
345
345
346
346
346
346
346
348
348
347
342
342
342
343
344
344
344
344
344
344
344
343
343
343
342
343
343
343
345
347
348
348
347
347
346
346
346
345
345
345
349
355
357
357
363
365
368
368
369
369
370
370
371
379
385
386
388
393
406
411
418
419
421
422
424
430
432
434
436
437
442
446
445
445
444
442
440
433
432
429
429
428
428
428
428
428
428
428
427
427
426
424
423
421
420
419
417
411
400
398
394
388
382
363
354
351
348
346
344
342
340
335
334
333
328
325
323
314
311
310
308
308
307
307
305
304
304
303
300
298
298
297
296
294
291
289
286
284
282
278
274
271
269
267
266
260
257
255
254
253
251
248
247
246
239
236
224
221
218
214
209
204
204
204
203
200
198
196
196
194
193
193
192
200
200
200
198
194
195
196
197
197
197
196
194
193
195
199
198
197
196
191
190
190
190
190
191
190
186
185
186
188
189
190
193
194
196
197
197
198
199
200
200
201
201
201
198
199
201
205
205
205
205
205
206
208
208
209
209
210
215
216
217
218
219
219
219
217
216
215
215
215
213
213
213
215
221
220
219
217
215
213
212
212
211
200
199
198
204
207
209
207
204
202
198
199
202
202
201
201
202
203
203
203
197
196
201
204
200
199
199
202
202
202
202
202
204
205
206
207
207
207
206
220
267
275
284
273
232
225
242
281
282
273
260
244
244
256
255
221
210
209
208
208
207
207
205
204
203
203
203
203
203
203
203
196
196
197
197
197
197
197
197
195
195
195
196
199
204
190
187
188
190
191
192
193
195
194
193
192
200
199
194
193
192
191
186
186
186
186
186
188
189
189
191
192
193
192
191
188
188
194
200
197
191
189
186
186
190
189
187
188
189
189
189
193
190
188
187
187
187
188
190
193
194
192
194
195
196
197
203
204
204
203
203
203
207
214
221
230
220
222
248
277
241
205
201
209
202
202
203
207
208
208
208
208
206
205
202
202
203
204
206
206
209
214
217
219
222
224
220
215
212
207
204
201
198
197
195
193
195
196
197
196
195
194
190
190
190
190
191
192
191
190
192
193
193
193
192
192
192
192
192
192
192
189
189
190
190
190
190
190
190
189
187
186
186
185
185
185
185
185
189
190
191
191
188
189
189
189
189
190
191
196
197
198
198
198
191
190
190
189
189
185
185
185
187
186
185
189
189
189
189
189
189
189
190
192
198
199
202
201
200
200
200
199
198
197
196
195
193
192
192
192
194
194
194
194
194
194
194
194
194
193
192
191
191
189
188
188
188
187
187
187
188
189
189
189
189
189
189
189
189
189
188
188
188
188
188
189
189
189
189
189
189
189
190
190
189
189
189
189
189
188
188
188
188
188
188
188
188
188
188
188
188
188
190
188
188
186
186
186
190
194
193
190
190
190
190
188
193
194
195
191
189
189
189
188
188
188
188
193
193
192
191
190
190
190
193
193
194
194
194
193
192
191
190
189
188
186
186
186
187
188
188
187
187
187
187
186
186
186
186
186
186
186
186
186
186
184
184
185
185
185
184
184
184
185
186
186
186
186
185
185
185
185
185
185
185
183
183
184
184
184
185
185
187
198
205
215
238
268
291
313
329
336
257
256
260
270
270
271
271
273
276
277
279
279
281
282
283
284
285
286
292
293
294
295
299
309
310
311
311
307
304
302
301
300
298
289
287
285
284
282
283
285
285
286
286
287
288
289
290
290
290
291
297
300
309
313
326
332
337
339
339
337
334
331
329
327
329
330
333
336
342
342
343
344
347
347
347
348
348
349
349
351
351
351
351
351
351
351
351
351
350
350
349
347
348
349
350
350
351
352
352
353
362
375
377
377
377
378
378
378
378
378
378
378
379
380
381
382
382
383
383
384
390
398
402
404
409
410
414
420
422
428
428
430
432
432
433
433
434
434
434
434
434
433
433
433
433
438
441
443
444
452
453
457
463
469
472
471
463
461
463
465
467
469
471
478
484
485
483
482
481
477
476
476
476
476
476
479
480
485
488
491
493
497
504
508
511
513
520
522
524
531
533
534
537
541
546
549
551
553
558
568
575
576
578
588
590
590
610
612
622
623
627
630
631
633
635
636
639
640
640
640
640
642
643
649
650
664
670
674
679
679
679
679
681
682
683
683
684
683
683
682
679
678
676
676
675
670
669
668
656
656
656
655
655
651
649
649
649
647
644
642
640
636
635
635
637
637
632
629
627
625
620
619
617
615
615
615
620
622
625
627
634
636
637
640
639
638
637
638
639
642
643
643
645
646
647
648
654
653
651
650
650
649
647
642
638
637
636
636
638
640
644
643
642
640
638
634
633
631
628
622
620
618
618
617
617
615
614
613
609
608
604
603
601
601
598
598
597
597
597
601
617
617
615
613
608
605
606
607
608
607
606
605
603
601
600
600
601
602
603
602
599
598
597
596
590
589
588
587
587
586
585
584
584
584
584
584
586
587
589
590
592
593
596
600
601
602
603
603
603
602
599
598
594
595
598
612
616
620
625
633
641
645
641
638
636
635
634
637
640
645
647
647
646
646
646
645
645
645
644
643
643
643
636
634
627
626
624
622
621
621
621
620
622
624
624
621
621
619
618
615
613
609
611
611
617
621
623
626
628
629
630
630
630
630
630
630
636
638
640
640
640
640
640
640
641
644
647
646
645
645
645
644
638
637
630
621
617
614
614
614
614
619
621
624
623
623
623
623
623
623
620
618
613
605
603
602
599
597
592
591
588
587
585
585
574
574
575
576
576
575
573
572
570
568
560
558
549
545
544
543
545
549
549
547
546
544
542
541
539
535
532
530
530
530
530
530
529
529
529
529
529
527
523
519
508
508
509
509
510
515
511
510
508
500
488
484
479
474
473
475
477
479
473
472
470
468
463
459
457
455
448
433
432
432
432
432
433
433
427
426
426
425
420
421
422
422
422
421
421
420
420
416
415
412
410
410
410
410
410
410
410
401
399
396
394
386
383
382
379
377
376
375
375
374
373
370
368
367
366
365
364
363
363
363
360
355
353
353
352
347
344
340
340
340
333
329
325
321
319
317
310
310
310
310
310
310
310
310
310
309
306
304
300
299
296
293
292
289
289
289
289
284
277
276
275
275
267
263
258
257
254
253
252
249
248
245
244
241
237
236
235
232
230
229
226
224
223
222
222
222
222
222
222
222
223
223
222
222
221
221
219
219
216
216
216
216
216
216
215
212
209
208
208
208
208
207
207
207
207
207
207
207
207
207
207
207
202
202
201
201
200
200
200
199
198
198
198
198
198
198
197
197
197
197
197
196
195
194
192
191
190
189
188
188
188
188
187
187
187
186
186
186
186
182
181
180
179
179
178
176
176
175
175
175
175
175
174
174
173
172
169
167
160
159
159
159
159
159
158
158
158
157
157
157
157
157
156
156
156
155
155
155
154
153
151
151
150
148
148
147
147
147
147
147
146
146
146
146
145
145
145
145
144
144
144
143
143
143
143
143
143
144
144
144
144
144
144
144
144
143
142
140
138
137
137
137
137
136
136
135
135
135
135
136
136
136
136
136
136
137
138
138
138
138
138
139
140
141
141
140
137
137
137
137
137
137
136
140
147
151
154
158
157
156
154
149
148
148
148
148
148
148
148
148
148
151
151
151
151
151
151
152
152
151
151
151
151
151
151
153
153
153
153
153
153
153
153
153
153
153
152
154
155
157
155
154
154
154
154
151
151
151
151
151
151
151
150
150
150
150
150
149
150
151
151
151
151
151
151
150