215
458
591
147
495
362
538
397
304
448
485
303
500
424
208
469
410
225
373
288
471
425
611
256
363
438
483
443
416
511
281
280
421
277
509
259
471
352
267
523
282
362
375
444
458
162
0
234
370
310
298
418
417
439
213
221
423
544
474
401
500
205
426
412
562
290
510
243
564
562
275
117
506
488
292
662
323
429
359
628
384
412
393
538
367
701
508
513
417
409
512
344
244
0
456
358
349
344
455
578
542
455
433
363
487
398
311
467
160
351
493
361
149
511
494
511
289
469
401
173
456
256
367
410
427
240
344
561
569
671
429
381
248
404
263
328
479
341
265
267
420
282
389
343
555
419
590
586
437
355
395
475
320
570
549
362
480
401
387
275
322
297
65
540
489
407
420
576
249
360
458
443
167
362
311
518
276
232
370
465
44
386
611
462
506
392
401
280
525
704
168
563
359
463
546
302
389
629
602
471
623
508
558
355
460
323
486
507
317
0
307
292
291
469
438
575
444
458
285
197
376
260
304
490
469
141
532
428
259
371
648
470
255
322
433
315
378
351
416
335
575
675
12
320
530
367
232
287
239
557
444
352
549
437
208
593
459
242
615
420
501
435
356
408
467
338
475
409
528
323
395
378
312
485
559
449
423
296
417
328
452
207
380
385
619
379
167
548
494
400
465
415
580
227
75
371
477
537
378
462
347
0
407
392
600
295
477
555
422
101
384
171
206
361
422
442
484
366
470
351
629
460
392
309
624
302
432
447
530
378
269
0
463
273
107
360
500
351
94
452
429
350
572
404
439
567
427
255
432
385
389
551
570
420
587
566
560
538
285
480
389
265
25
513
466
408
215
472
600
399
584
381
408
490
376
559
586
631
336
484
510
593
374
529
401
354
586
238
410
543
464
29
142
367
609
376
436
278
361
548
346
310
398
443
418
516
678
544
438
250
504
563
435
455
454
42
457
429
240
608
0
480
505
233
140
420
613
679
493
95
601
471
368
310
551
363
386
484
233
294
262
480
637
542
443
298
383
387
413
369
424
450
328
385
455
72
601
193
387
129
0
263
402
493
401
559
178
246
415
428
362
302
523
398
240
304
441
323
489
558
535
0
485
311
380
486
473
338
188
428
552
451
242
394
496
556
575
365
376
628
403
492
291
405
280
353
530
451
430
452
306
286
541
281
631
336
555
388
392
339
496
479
411
634
592
0
188
545
309
509
228
379
381
584
490
580
244
250
441
395
179
310
386
382
178
316
182
428
302
469
303
407
522
401
251
490
430
139
219
588
571
418
330
166
66
530
440
394
389
334
520
406
414
446
504
538
393
262
152
320
468
572
239
539
242
253
490
537
185
431
354
274
635
464
271
401
370
214
349
554
132
0
519
392
303
210
599
289
284
546
0
409
457
449
641
349
435
463
460
507
151
414
179
406
212
522
334
145
325
481
487
320
242
250
400
267
373
349
493
397
398
408
403
142
418
242
641
403
494
172
461
135
478
334
376
334
646
520
428
571
511
145
427
497
266
577
542
628
424
289
501
237
603
314
479
666
335
333
449
228
391
408
205
562
299
257
367
525
434
294
454
621
409
94
594
479
44
418
619
257
544
334
363
254
457
150
341
164
456
379
340
269
540
494
467
331
270
627
510
548
293
327
332
539
513
440
338
441
180
38
348
381
178
282
459
480
647
455
279
509
320
239
280
552
342
425
568
457
0
328
450
298
502
385
235
162
366
186
82
481
463
446
679
524
33
454
89
292
387
386
536
359
266
0
589
421
331
163
121
584
268
310
521
319
257
0
542
463
299
353
474
357
480
242
373
309
348
390
341
419
561
312
358
548
454
291
65
500
203
224
148
354
559
384
209
381
522
345
184
357
240
417
570
483
200
322
589
419
596
442
297
454
532
211
239
492
355
345
535
348
552
185
541
595
359
199
411
417
359
553
249
552
377
358
343
500
545
384
582
397
426
309
384
384
316
148
367
377
511
593
468
396
393
356
471
121
332
261
342
256
377
402
472
198
203
457
664
314
355
429
461
379
397
340
381
383
490
397
38
475
0
576
542
619
392
460
564
164
95
625
273
78
222
502
312
238
359
416
415
670
528
469
364
566
371
431
557
409
429
381
260
0
0
105
269
276
253
466
433
0
568
495
184
331
223
593
341
360
460
465
511
328
513
461
316
458
141
203
512
403
458
247
158
462
164
306
169
377
368
272
563
263
523
366
67
408
342
291
388
245
358
209
384
343
156
414
512
370
409
336
404
556
581
334
333
235
542
581
103
533
449
11
63
405
625
0
328
342
570
358
355
581
489
614
425
190
0
615
294
211
427
274
329
484
636
149
260
455
338
480
478
366
654
296
330
287
354
578
456
390
231
512
503
334
543
293
582
424
358
598
459
199
428
345
232
576
41
71
544
330
408
357
512
421
433
439
406
423
406
537
459
442
315
578
386
405
346
340
652
254
344
455
465
649
473
293
103
562
435
481
352
597
289
591
328
300
158
513
592
418
643
486
325
190
580
547
602
400
341
224
425
209
295
504
174
421
466
245
593
450
422
364
319
259
275
337
288
274
469
674
434
282
555
275
541
218
363
238
526
383
510
97
477
491
327
83
597
611
574
371
601
620
224
453
397
530
199
570
382
537
569
402
383
581
376
358
339
273
386
322
523
512
674
521
387
494
423
547
412
0
462
380
556
403
368
371
278
190
542
255
664
550
403
472
442
452
338
239
328
518
335
481
367
404
418
281
474
389
634
456
449
496
317
482
403
445
331
383
335
383
68
484
411
435
406
506
502
529
422
507
378
448
203
556
597
265
427
483
492
212
521
573
0
453
234
117
330
520
344
568
349
498
559
388
338
562
422
342
307
343
428
288
338
505
363
182
386
526
406
322
313
387
264
534
186
542
470
619
239
45
367
438
341
469
601
314
400
445
626
135
430
448
523
245
416
546
288
578
473
381
520
192
251
53
498
133
424
648
182
380
277
303
540
440
542
466
504
541
444
454
621
306
326
405
538
250
252
576
561
463
440
529
312
516
292
436
419
326
511
333
316
265
458
547
16
482
348
93
570
286
449
212
537
418
648
497
478
271
497
341
0
458
502
481
486
539
214
511
496
334
231
383
288
403
364
464
0
307
422
356
591
336
230
265
369
250
275
310
369
424
373
402
201
516
426
534
327
508
522
498
386
177
431
557
307
197
447
601
382
190
446
311
290
167
340
397
384
253
492
472
366
52
480
520
320
551
622
619
305
428
403
382
464
0
565
384
337
396
339
330
543
200
456
303
419
378
407
464
456
530
562
219
166
401
344
241
255
531
523
524
479
321
216
455
606
445
461
211
363
577
346
550
256
453
205
464
430
445
207
517
534
509
468
491
517
460
428
566
587
184
142
672
61
465
351
343
353
373
437
98
534
327
511
557
312
298
295
394
364
422
431
591
682
606
369
528
297
526
417
519
467
410
492
550
342
411
536
440
535
473
618
571
395
464
370
243
355
512
308
550
408
341
131
569
488
316
179
656
454
193
450
339
312
396
392
609
236
349
462
480
0
172
358
442
1
347
433
314
453
242
223
492
474
501
334
435
286
456
76
497
407
589
455
473
225
478
350
402
422
265
357
159
96
166
284
284
528
485
281
545
679
0
220
510
442
291
115
486
337
480
455
333
414
556
283
284
144
571
328
545
285
575
431
544
644
588
105
433
448
296
437
339
304
376
147
443
203
387
512
473
322
261
389
479
232
415
389
325
280
546
301
377
381
309
212
202
424
492
484
446
494
391
512
201
398
371
314
321
274
192
326
340
334
487
356
330
489
88
92
137
473
403
581
218
341
463
421
277
563
378
582
506
227
559
508
194
518
464
505
516
0
387
389
282
339
498
359
394
544
576
496
368
372
259
43
146
226
320
431
257
394
512
468
34
562
402
167
490
557
216
294
236
307
402
168
382
259
300
452
349
319
509
510
464
530
149
358
298
343
654
448
214
470
467
70
517
207
338
363
442
404
409
333
124
469
463
253
521
352
316
299
490
83
542
476
493
234
384
104
160
534
588
612
512
502
394
499
443
155
386
563
300
337
482
579
408
584
522
483
197
6
263
371
389
594
441
273
242
382
345
497
254
425
492
380
420
409
456
409
378
580
427
257
485
136
345
238
305
326
380
468
370
424
543
346
430
492
320
0
391
385
621
387
478
400
286
485
196
610
368
497
445
294
340
470
494
312
267
181
500
550
346
356
457
481
469
364
409
691
462
213
595
520
448
428
204
38
469
301
463
390
465
472
197
532
81
361
419
309
345
323
355
608
214
554
313
459
558
382
434
498
17
457
274
383
501
109
385
113
405
380
139
526
249
175
513
206
224
528
544
368
532
263
474
553
0
477
389
419
272
359
210
349
502
323
362
94
517
295
453
592
447
277
379
108
406
448
82
327
368
404
329
507
368
491
346
641
488
402
424
70
0
226
453
534
144
279
367
339
406
406
652
493
158
376
364
283
494
331
613
280
483
253
344
359
325
508
386
344
599
429
629
502
590
283
328
457
320
316
387
405
406
218
353
375
535
369
476
472
354
359
271
266
662
301
550
224
620
167
215
394
42
158
472
469
335
380
569
304
372
384
23
506
479
584
400
416
358
325
568
317
349
337
448
432
405
318
260
646
562
579
342
545
426
459
405
539
272
290
487
333
119
413
257
537
378
389
360
299
529
484
407
427
386
366
281
470
469
426
608
665
350
426
433
388
516
357
500
528
605
626
482
70
425
376
375
631
568
432
511
594
389
443
306
421
0
493
364
377
478
524
346
500
552
385
377
521
233
450
653
535
318
469
483
358
400
297
401
401
539
359
328
411
452
521
404
495
565
390
297
484
289
346
390
117
415
402
402
490
374
517
278
290
690
332
475
296
259
226
323
527
412
539
402
505
397
374
282
226
449
169
413
538
395
705
566
308
251
406
473
519
387
653
583
272
413
325
529
362
488
594
395
225
438
347
595
266
328
302
392
377
526
344
497
422
192
576
44
256
373
560
285
239
253
392
361
208
315
346
378
433
386
469
422
533
370
75
572
472
410
397
414
535
592
453
140
565
234
542
336
322
463
79
481
682
601
319
393
356
355
396
405
356
0
537
333
335
560
146
416
18
527
65
205
276
271
146
578
494
487
687
45
374
242
304
376
421
175
342
408
622
397
411
424
121
433
573
270
502
455
482
485
405
461
579
483
279
175
315
455
176
319
375
475
471
353
402
340
451
384
519
186
423
437
294
546
465
532
282
562
467
371
203
386
390
150
450
104
428
585
182
595
459
434
371
260
205
585
458
510
480
272
568
487
292
574
159
538
581
372
550
554
271
417
424
600
678
441
366
443
323
342
287
492
131
529
619
201
549
109
248
431
423
272
267
235
503
286
390
416
340
395
401
258
253
519
500
83
642
288
505
127
401
643
554
462
444
352
380
547
452
548
591
455
410
284
489
29
560
242
545
255
384
290
45
449
432
303
12
236
239
428
480
549
303
426
426
348
537
441
234
444
497
290
614
327
418
240
340
416
362
298
186
361
0
174
378
251
545
372
311
295
315
528
465
482
362
539
317
325
503
388
321
408
306
302
600
254
65
300
581
632
357
645
458
448
543
502
454
286
334
334
415
460
560
379
76
612
316
393
364
528
387
12
339
542
196
224
502
378
428
504
328
592
357
309
281
256
308
556
551
383
441
278
432
324
350
436
72
621
251
628
401
205
367
387
511
641
310
432
415
443
214
109
602
371
287
219
359
474
541
422
643
297
409
439
455
418
359
481
492
256
152
462
377
512
515
460
310
676
601
557
435
356
317
418
396
440
168
550
162
372
120
437
469
364
0
433
405
559
467
295
679
483
517
104
484
118
374
598
471
486
373
330
347
312
350
488
200
398
528
512
522
545
458
218
385
554
300
67
360
280
0
253
421
360
375
238
289
341
259
191
594
472
173
647
448
427
191
320
629
312
348
503
456
407
458
198
495
352
345
414
350
402
530
294
77
344
279
427
285
386
477
459
330
563
268
444
376
213
482
379
482
359
494
411
0
261
521
415
355
467
345
290
341
222
493
457
451
290
367
411
481
396
411
534
535
406
376
261
500
430
423
335
286
440
672
9
513
640
283
475
504
455
457
473
535
281
520
308
237
315
407
447
297
519
485
389
308
505
117
186
535
581
385
328
399
503
100
328
362
165
380
425
480
252
302
455
475
366
445
310
568
0
486
351
177
325
167
450
600
476
170
510
435
301
307
428
505
400
527
632
697
340
204
231
476
366
460
459
352
372
199
123
361
220
236
649
410
470
427
398
289
309
307
186
518
371
521
396
234
144
595
586
410
467
565
394
0
374
80
664
392
365
25
406
348
335
390
0
339
614
51
448
442
441
398
251
630
423
276
358
421
409
504
479
413
365
416
268
463
398
521
489
198
321
452
203
537
395
227
412
488
295
504
243
138
433
368
652
441
544
462
345
480
393
376
280
50
513
449
465
634
566
375
364
523
429
346
1
484
362
309
311
137
234
274
366
147
509
381
498
412
348
232
544
229
377
443
427
528
282
319
66
282
460
489
513
464
328
182
432
483
576
576
364
555
419
441
276
306
536
603
400
402
358
302
301
434
457
362
274
379
334
399
407
492
601
357
295
505
583
493
471
574
457
473
497
373
348
385
381
337
419
357
386
34
618
223
374
571
283
409
223
363
473
372
485
653
406
189
225
330
300
504
85
434
293
391
387
456
329
238
379
420
255
522
461
256
0
593
294
593
267
462
356
585
445
523
125
400
367
542
574
0
605
192
239
439
550
489
286
398
320
449
447
0
280
295
137
132
356
589
249
428
487
424
478
363
450
293
329
373
0
420
542
356
423
254
176
514
176
396
250
488
604
461
309
225
439
184
466
523
376
312
637
475
564
383
598
399
320
377
472
426
688
497
493
448
348
377
108
519
85
395
57
507
475
491
536
547
416
603
374
414
393
491
0
471
494
315
121
463
506
498
255
378
452
244
359
533
220
201
0
119
414
336
616
261
181
331
315
446
442
431
311
259
489
650
491
0
312
441
380
508
564
496
618
601
353
595
381
323
371
548
336
462
472
188
402
306
465
617
514
331
497
459
411
390
188
440
395
339
600
295
462
166
495
333
513
468
390
445
586
530
373
292
393
449
560
381
437
229
287
0
212
227
281
372
244
409
500
445
423
428
455
112
482
449
401
423
162
285
430
601
543
69
421
509
414
65
579
339
0
172
447
394
490
432
398
364
254
305
333
374
629
347
164
0
539
142
518
501
468
341
456
557
466
399
321
295
328
313
578
456
410
240
285
321
500
123
203
84
495
588
383
517
371
350
308
502
426
546
443
503
336
426
327
501
517
269
380
323
521
216
479
463
497
349
525
310
342
245
259
407
343
303
323
367
654
484
601
468
410
424
132
386
325
294
514
148
482
567
353
144
645
497
283
379
244
352
294
275
639
300
278
292
298
294
462
470
342
207
574
390
519
386
188
249
506
447
235
575
334
531
337
397
399
330
428
237
305
419
464
269
249
474
210
218
509
553
366
281
528
418
478
591
465
629
151
419
326
560
490
342
528
442
363
683
427
536
581
512
470
506
582
379
457
443
361
535
652
344
78
421
456
323
550
483
415
362
486
426
235
424
471
277
568
359
546
130
244
305
576
233
440
446
424
0
454
374
261
510
45
192
390
402
304
224
514
167
422
471
443
368
618
401
565
196
500
451
277
266
310
362
593
413
355
58
546
355
152
319
399
381
236
581
211
391
371
314
285
249
481
433
584
302
158
334
0
439
298
523
417
654
354
576
472
532
93
443
271
281
275
351
425
408
140
532
348
264
318
349
660
487
457
196
82
223
377
536
515
464
0
365
380
327
482
624
424
450
256
379
463
246
341
504
527
286
391
435
177
514
0
422
537
401
395
432
541
419
307
530
401
270
331
249
216
302
449
410
256
419
538
116
189
320
667
485
373
705
519
459
128
493
596
215
535
495
343
470
544
214
310
450
390
612
258
402
485
254
276
306
236
209
223
383
504
373
635
248
301
519
570
188
469
245
394
451
376
318
304
212
65
565
488
634
479
327
385
516
483
112
9
380
551
369
422
575
282
490
345
557
310
400
332
316
293
640
0
467
476
150
567
459
315
405
96
280
528
296
525
531
430
57
391
124
141
281
430
304
348
265
314
478
402
390
380
168
256
368
342
572
643
296
526
466
496
492
450
409
462
491
546
506
292
494
508
411
376
310
348
577
290
405
493
345
18
540
187
41
422
596
271
603
465
399
326
268
271
515
310
218
315
387
535
410
456
305
364
507
453
286
639
42
456
578
327
417
532
360
447
0
463
473
534
566
286
156
511
269
630
600
399
546
415
331
542
321
411
582
511
654
511
259
407
230
478
536
225
517
334
704
295
496
160
625
258
328
332
427
408
365
381
447
194
238
420
557
471
370
376
307
49
484
337
545
559
445
373
471
551
370
225
341
395
456
277
299
324
270
562
470
0
333
275
398
625
494
238
619
399
167
20
455
279
324
332
531
385
512
341
361
236
454
276
347
621
134
482
466
364
291
475
599
586
580
166
0
316
634
483
555
327
250
458
287
388
362
538
336
418
566
214
355
429
353
492
412
308
406
472
209
461
183
279
433
196
443
379
509
420
0
199
341
332
395
538
455
455
480
310
502
501
522
136
242
503
251
40
152
334
259
441
214
377
433
168
344
362
244
223
605
480
473
349
413
447
595
547
480
309
345
353
385
374
483
478
396
360
387
600
560
110
471
409
239
481
253
395
319
472
439
0
631
318
539
517
331
323
416
260
340
416
478
345
428
260
473
261
656
516
225
564
446
74
322
426
424
492
537
153
388
458
249
581
442
337
218
306
567
378
233
566
573
102
455
464
644
419
483
589
505
491
260
330
369
466
0
272
484
436
422
523
518
585
392
403
190
671
362
385
576
452
451
0
404
589
355
480
425
282
285
451
337
524
349
632
349
414
312
521
426
604
371
507
640
234
259
508
256
361
603
328
615
537
182
368
463
397
515
364
333
437
497
175
331
205
295
460
637
231
391
241
417
416
518
395
458
470
374
603
480
461
267
247
471
224
367
254
352
379
247
317
364
285
290
455
383
335
456
0
0
350
356
174
564
226
549
446
389
507
469
341
374
317
538
563
160
550
495
302
388
540
248
285
311
211
188
524
516
573
589
528
575
204
479
319
328
600
306
206
600
387
424
396
133
364
304
540
464
233
144
345
178
470
625
400
296
507
629
582
346
469
372
547
373
375
295
340
323
343
277
465
239
394
145
400
482
672
495
449
445
388
611
545
454
55
235
432
470
470
311
449
532
531
379
479
217
531
523
189
417
501
647
443
285
361
264
382
545
228
590
495
492
327
366
539
399
404
493
441
345
233
524
195
612
480
478
613
405
452
402
560
500
253
626
430
177
0
473
415
551
176
381
455
135
378
447
295
270
652
564
549
385
543
543
439
558
361
274
265
448
169
221
396
352
350
352
386
361
338
472
407
242
375
462
271
301
331
282
211
130
390
643
640
451
338
397
396
429
473
443
169
251
640
366
347
435
40
321
489
202
459
310
296
250
380
436
495
407
417
164
311
516
394
14
325
521
616
309
0
549
378
369
419
437
239
555
559
521
44
475
602
302
658
505
269
512
285
524
368
88
237
467
573
540
410
309
253
467
334
436
375
324
654
328
45
180
512
486
556
326
457
145
366
339
460
507
460
514
274
348
426
313
510
118
455
0
541
392
381
188
345
404
359
283
391
321
137
140
337
524
519
401
211
424
422
509
428
463
516
327
407
415
335
584
311
472
316
510
188
325
479
307
320
327
393
232
598
524
420
287
406
338
433
378
88
521
98
136
390
209
563
383
368
471
86
518
336
549
399
564
472
241
170
607
230
338
119
48
157
457
285
520
546
287
516
535
355
355
260
422
419
284
291
444
577
390
525
431
525
211
543
273
537
354
464
382
564
364
429
356
581
381
162
222
190
442
98
304
422
320
410
395
554
367
383
14
319
280
291
198
503
379
707
197
498
0
373
347
382
165
434
304
565
410
447
69
281
373
398
385
398
306
306
244
235
618
514
563
406
274
403
530
434
391
454
341
492
478
322
611
414
355
377
245
531
449
475
508
0
399
580
535
404
212
435
186
333
324
239
514
330
172
463
371
456
322
440
633
382
21
400
88
181
403
26
329
312
510
125
469
401
446
351
237
400
465
504
184
533
412
328
641
634
288
411
140
468
610
367
541
403
170
0
397
471
347
561
593
341
412
355
557
264
319
488
170
507
310
99
605
545
256
407
489
509
217
548
548
520
408
390
550
345
516
283
513
410
460
0
424
539
502
351
105
277
629
319
364
393
520
127
400
483
258
282
189
281
606
523
275
333
675
491
105
523
334
529
513
519
340
377
457
558
431
383
512
484
317
402
199
257
304
454
385
609
132
321
99
435
344
495
360
453
196
353
412
107
306
364
316
412
427
402
285
443
532
301
553
609
422
553
421
541
303
58
259
570
482
374
94
543
294
323
441
483
576
664
350
344
427
504
626
420
534
244
408
505
402
472
71
273
394
375
424
313
421
562
361
479
540
294
412
278
419
179
277
445
389
289
381
652
454
312
460
544
522
216
374
352
221
365
297
336
448
442
496
381
309
236
529
513
468
207
613
364
535
430
388
353
551
362
306
372
415
142
459
347
243
505
362
0
313
263
618
97
331
438
0
481
240
0
277
166
570
579
521
408
398
181
406
539
359
301
505
653
555
277
390
257
200
412
119
165
355
286
440
574
37
367
315
484
433
657
378
455
450
494
332
342
554
526
594
449
361
127
361
538
305
514
459
407
375
531
217
306
318
487
442
364
572
440
327
315
346
408
346
662
602
332
122
612
508
429
244
209
531
136
71
365
505
386
534
355
286
594
515
593
451
208
487
510
368
692
316
415
353
454
550
581
450
308
342
226
614
380
469
546
375
412
230
301
297
219
352
396
358
264
72
423
511
650
196
226
394
312
271
349
397
555
233
552
431
391
607
590
482
538
87
484
206
235
503
470
549
278
450
324
232
333
373
256
623
411
330
283
536
216
592
562
174
360
219
435
507
491
323
455
203
584
484
334
444
321
289
257
29
221
462
442
227
484
240
542
386
434
432
297
286
346
397
294
273
385
506
568
426
247
233
323
502
412
566
523
316
261
368
248
474
361
468
375
298
190
270
632
373
485
339
413
270
306
251
0
550
440
200
409
422
0
217
368
337
468
207
509
514
241
638
275
511
507
170
78
544
15
338
353
603
313
302
566
302
457
469
238
464
567
474
373
519
561
407
583
479
347
423
205
91
583
334
525
381
124
306
548
437
337
394
270
258
295
490
417
457
512
336
234
327
585
99
406
362
392
365
406
349
514
244
0
430
535
446
203
375
378
300
502
393
365
554
475
276
364
612
414
263
442
462
260
47
326
503
517
319
614
423
415
380
453
294
469
414
426
411
448
606
455
200
359
486
369
518
73
326
104
346
415
528
590
0
78
488
452
409
133
288
412
564
322
500
223
154
457
342
392
273
362
513
435
431
528
159
410
254
370
378
335
434
542
304
362
410
542
317
403
467
560
376
307
564
504
161
191
527
348
413
382
404
333
344
536
164
67
455
236
619
202
347
422
292
576
265
567
413
400
697
481
22
427
401
133
361
311
459
640
475
413
454
504
409
453
357
503
232
550
361
355
580
378
219
23
342
336
458
467
281
251
497
477
402
391
268
101
356
688
516
583
591
207
207
302
582
560
387
574
464
478
600
61
204
235
351
318
404
388
511
474
75
235
463
557
421
400
110
409
205
378
359
632
685
221
437
559
454
392
554
394
583
536
306
610
498
409
530
202
316
536
461
166
152
554
180
492
457
413
409
268
277
118
547
356
112
491
309
494
388
638
604
609
112
400
354
438
219
556
347
350
524
159
328
485
588
330
408
45
74
260
429
528
574
488
356
431
476
494
581
132
357
495
0
674
400
541
235
96
0
308
523
298
529
376
537
449
670
112
570
347
362
461
533
602
509
380
260
150
342
250
337
371
281
249
386
231
329
391
308
401
438
349
359
286
203
313
502
343
574
232
433
88
566
437
0
432
280
345
558
0
273
211
175
173
190
422
570
551
530
508
295
546
351
337
346
289
427
426
559
285
186
499
453
467
390
601
453
428
415
579
356
492
640
281
267
324
665
455
313
523
591
324
402
460
506
202
349
290
206
617
107
358
439
462
310
144
234
438
566
217
478
634
354
376
340
402
329
394
203
546
492
496
429
435
527
489
410
328
372
306
388
546
430
459
231
585
224
417
307
432
341
198
571
256
408
553
182
566
207
341
451
24
246
510
457
536
124
348
382
482
248
552
227
563
510
376
379
466
360
439
394
551
479
414
356
537
402
482
632
487
476
510
0
517
248
252
367
178
373
375
356
573
500
442
0
586
537
462
456
352
356
231
414
450
296
470
124
525
451
378
418
0
399
162
246
333
439
458
394
170
494
307
253
346
515
568
187
348
700
338
607
531
366
426
291
354
532
640
252
425
72
386
518
471
291
362
443
516
386
73
453
435
394
296
465
160
474
54
474
361
498
415
370
54
375
551
391
630
424
318
233
357
415
621
396
466
642
420
159
333
529
274
319
265
333
434
407
476
385
279
333
383
295
274
351
470
355
649
419
282
196
319
519
563
587
387
68
515
312
334
468
358
331
20
555
592
344
227
564
295
550
608
558
377
398
409
377
154
223
440
513
392
231
393
453
559
297
506
468
281
433
272
45
384
346
581
423
484
386
302
103
433
406
503
424
399
391
471
357
541
185
503
554
413
411
487
411
284
207
230
479
218
640
401
611
297
313
258
54
501
376
424
307
389
262
472
357
383
292
372
524
457
360
364
211
241
387
480
565
551
405
474
336
306
390
487
564
478
373
545
373
227
273
186
560
59
248
285
550
407
336
293
516
496
457
628
530
67
443
447
494
555
359
488
255
491
531
413
576
591
240
311
416
407
0
85
325
549
193
70
502
353
121
478
523
503
298
413
411
326
241
365
451
481
599
350
461
145
474
410
441
474
58
581
498
462
299
660
103
445
345
323
306
324
488
214
542
216
539
634
453
372
395
506
534
428
188
466
339
357
515
328
619
475
490
379
427
531
404
356
207
377
331
422
493
571
307
451
519
295
325
616
453
577
402
453
129
318
672
29
264
559
223
394
148
483
409
482
380
513
441
405
616
418
389
100
421
184
566
440
358
459
625
509
572
424
453
344
357
603
0
516
347
141
449
395
373
444
569
452
414
528
375
487
566
353
553
566
455
370
486
533
612
451
440
483
659
438
460
439
412
412
0
304
378
549
325
569
432
450
289
510
302
169
239
245
579
82
496
532
383
600
129
502
631
259
118
551
450
225
500
325
297
494
330
581
430
464
531
340
398
325
333
230
570
0
388
347
333
485
557
190
53
385
354
6
362
58
439
299
442
339
584
428
518
488
306
405
0
447
408
288
530
57
216
566
170
349
482
368
180
540
420
286
250
354
651
405
573
579
482
450
512
203
198
485
78
295
459
265
234
487
277
498
384
587
498
194
114
233
417
352
207
376
590
469
487
199
363
373
344
252
489
516
368
229
423
376
595
137
413
391
23
472
391
416
357
451
458
416
463
191
205
379
566
405
354
338
465
499
370
578
652
389
233
285
371
197
181
304
634
574
471
262
471
202
404
411
278
483
595
517
227
208
508
444
492
282
482
493
438
406
513
262
429
171
251
416
575
288
698
154
504
469
389
474
153
381
634
0
368
508
136
407
165
235
347
531
674
489
564
0
414
163
0
525
479
72
535
253
481
323
242
452
335
546
181
269
500
437
393
609
692
405
491
602
559
314
17
499
583
367
342
155
297
181
354
354
455
465
558
318
394
354
160
383
619
593
565
444
262
197
489
375
368
509
422
296
315
407
634
475
333
405
596
284
405
422
118
371
416
313
492
453
666
489
136
467
502
329
191
288
51
353
540
319
474
538
449
426
428
514
451
481
340
477
223
524
629
353
0
390
494
348
402
356
519
271
538
234
432
517
464
453
197
211
268
307
591
495
503
488
270
340
355
604
496
0
462
360
414
498
505
373
374
204
501
389
375
484
332
279
500
204
235
202
353
245
420
381
356
136
16
349
325
171
538
76
404
176
364
303
423
665
344
653
340
383
201
401
125
600
441
482
0
457
392
414
404
430
603
281
377
553
369
520
326
381
0
623
367
474
495
2
538
368
478
391
376
373
402
511
475
240
410
573
644
83
149
623
387
519
410
587
524
595
519
411
449
193
404
272
0
495
364
434
79
585
426
461
440
498
241
322
414
588
344
305
679
309
458
446
151
415
99
571
70
474
222
670
500
649
530
612
412
660
236
452
321
0
566
417
410
360
684
276
462
218
580
578
484
275
533
203
422
596
483
413
559
330
355
573
547
389
341
463
589
616
521
497
399
442
423
219
516
241
451
449
431
401
595
126
521
469
497
527
197
138
445
555
345
258
444
537
526
510
306
278
511
549
305
383
141
295
510
530
553
286
277
575
441
480
543
637
207
561
342
116
549
492
313
240
456
75
299
219
478
558
304
316
299
481
306
479
301
423
488
477
571
226
304
535
179
278
548
301
234
533
476
0
333
354
388
379
260
394
259
520
328
381
582
301
489
437
401
243
391
285
400
317
480
391
460
279
525
441
427
535
228
388
418
409
443
493
203
281
375
363
220
469
467
494
360
113
379
291
274
210
601
316
332
198
448
358
560
448
486
224
655
288
463
366
433
339
465
218
404
461
406
350
358
268
346
323
484
455
253
537
369
219
568
160
171
445
426
377
343
417
271
543
535
478
391
379
310
390
228
390
325
403
465
365
407
399
244
347
601
505
569
396
636
356
235
453
486
500
375
356
253
436
388
291
387
167
443
577
493
550
534
131
222
639
270
293
403
278
515
359
468
500
272
416
448
609
251
597
594
427
532
598
517
518
450
162
452
564
0
442
524
205
307
467
556
396
433
349
421
444
211
419
550
446
404
310
424
476
377
435
276
344
288
289
621
112
245
424
518
339
141
435
603
329
467
453
458
407
554
434
429
419
236
484
451
387
428
499
0
236
519
524
638
359
371
290
455
356
238
305
573
124
485
408
424
526
485
322
338
231
412
112
552
631
453
108
496
341
405
344
257
362
547
519
170
169
390
362
428
514
0
301
440
0
508
220
533
349
396
463
376
333
118
422
396
573
387
537
513
319
21
91
470
500
428
387
496
502
357
199
516
593
0
320
567
687
290
573
155
380
438
507
439
397
466
480
425
303
509
273
511
227
378
415
122
326
380
531
426
514
420
364
412
456
517
501
0
0
450
418
373
396
527
300
423
301
399
292
244
443
445
493
420
205
636
383
155
305
387
432
178
371
512
308
108
525
431
415
412
275
259
309
187
0
290
295
270
385
402
324
511
77
577
456
204
131
414
458
0
124
461
466
479
461
502
324
485
286
473
304
394
309
523
564
459
391
534
500
616
606
393
328
245
513
487
492
155
524
336
323
573
482
267
333
615
522
410
170
521
438
398
281
591
295
475
586
300
370
265
645
674
0
629
429
588
283
616
390
335
223
449
301
388
569
353
104
245
99
175
484
80
502
202
286
371
386
269
494
498
317
383
569
70
216
339
310
613
402
466
0
599
319
91
464
460
408
374
266
545
496
605
110
258
541
316
515
398
432
457
243
525
533
383
425
449
36
470
478
632
346
218
286
368
492
646
372
319
369
0
470
306
442
550
333
342
455
172
533
539
333
188
0
144
435
648
274
433
536
147
262
447
396
255
557
303
388
435
408
480
456
278
0
469
359
395
360
459
413
325
308
561
500
384
335
623
215
463
270
537
191
643
258
263
473
358
543
654
255
34
541
397
282
210
434
262
392
206
492
577
370
514
479
484
704
324
602
345
555
23
431
358
461
468
386
85
151
253
443
422
26
219
268
419
426
653
337
201
505
554
343
480
444
610
269
402
310
484
484
443
559
423
376
413
507
471
460
193
556
497
527
45
206
431
454
514
413
66
633
479
307
658
628
289
194
424
585
342
393
456
404
439
284
494
482
487
495
451
176
531
196
605
466
650
236
259
0
338
414
0
550
459
276
621
289
574
490
0
256
523
548
352
698
441
391
403
419
0
427
177
569
479
383
340
550
361
364
412
398
354
434
420
611
705
553
133
119
471
0
551
163
144
546
235
669
345
470
427
631
575
358
359
331
458
558
518
476
605
264
272
152
300
347
481
411
405
447
342
294
184
380
362
289
473
483
485
424
308
168
248
406
470
567
338
365
364
487
243
495
587
436
429
235
299
335
340
308
382
580
322
257
413
566
279
384
215
469
475
370
414
384
483
254
512
606
228
420
303
411
472
368
486
410
564
406
444
340
259
454
602
460
546
339
541
416
395
600
379
565
477
299
285
337
201
432
432
509
266
414
399
517
322
185
387
455
597
697
275
498
434
306
388
229
340
506
376
270
156
428
452
281
346
309
111
404
350
560
30
240
456
405
355
375
474
566
298
320
533
468
472
239
176
537
78
294
0
398
250
447
561
428
317
556
273
347
170
342
335
568
447
445
483
504
414
543
0
507
362
490
432
499
412
396
225
229
378
376
122
418
170
414
622
319
370
343
520
644
102
571
188
544
190
391
325
363
340
398
314
458
410
452
342
384
504
229
419
398
174
337
570
394
326
127
512
354
398
484
124
498
503
152
547
311
261
255
185
360
480
408
171
261
275
522
421
475
376
237
406
289
384
369
255
330
377
417
103
425
358
287
344
326
330
255
401
273
459
344
185
311
428
415
541
485
417
247
454
411
396
399
538
605
418
501
338
0
427
484
613
391
251
427
419
295
611
352
417
380
531
384
519
258
446
234
216
603
412
193
662
395
473
447
256
504
384
304
392
267
483
422
593
476
325
255
360
450
493
281
419
202
375
0
295
452
23
113
461
370
589
461
613
214
297
421
321
532
489
611
328
519
319
216
572
465
323
109
246
340
666
192
381
429
254
490
457
389
310
456
126
453
342
464
342
487
200
240
456
329
434
353
633
497
176
241
426
392
640
448
489
460
575
550
352
147
451
255
180
468
292
457
608
244
636
586
379
256
436
414
477
505
157
311
349
233
556
212
331
345
474
447
437
446
381
529
337
355
267
420
316
394
483
448
459
501
0
545
189
311
315
471
485
513
460
375
445
469
432
275
488
397
339
443
289
51
411
562
378
683
500
560
0
471
500
349
71
338
424
405
419
437
402
412
189
348
455
462
175
253
505
414
236
579
509
420
366
507
545
360
494
504
621
403
472
335
344
264
312
393
305
129
667
543
439
478
400
426
150
423
359
409
370
563
89
267
484
211
340
406
423
225
370
447
531
408
522
510
459
310
453
512
339
581
396
0
285
213
369
169
543
533
481
537
484
443
568
486
356
494
563
551
276
504
320
509
512
439
276
360
431
293
0
179
295
432
241
185
416
581
161
568
554
227
70
474
98
224
428
221
288
502
472
354
379
456
421
649
424
583
310
333
331
422
368
234
79
293
616
515
498
433
423
394
287
316
567
293
324
404
562
517
234
422
52
671
436
236
579
532
0
535
439
243
472
340
19
240
305
403
536
554
30
384
625
357
300
448
468
360
305
321
465
441
515
507
218
463
440
267
308
530
532
309
370
438
52
285
642
398
271
240
544
279
0
98
602
219
367
531
424
290
541
505
438
427
285
284
263
274
220
375
188
572
390
292
380
581
354
434
563
518
549
536
253
336
504
390
372
369
505
475
445
170
440
664
270
446
201
365
524
519
375
641
370
439
442
369
601
480
550
179
291
471
452
438
295
509
299
178
465
608
441
352
524
187
536
533
475
117
554
190
451
442
365
628
565
519
558
110
274
342
481
593
317
247
267
313
456
439
168
556
359
516
325
331
316
0
401
112
216
332
357
499
248
431
234
582
319
451
516
481
500
581
442
607
454
393
450
414
320
370
250
487
371
466
439
483
515
138
0
519
608
399
541
475
496
384
101
511
118
334
525
286
443
505
508
252
0
429
396
382
643
256
479
393
357
349
393
189
483
431
299
313
648
432
495
378
562
411
409
502
496
561
482
257
415
214
552
447
0
237
484
433
566
387
36
407
262
335
569
381
448
648
535
443
210
462
442
308
300
466
504
298
323
356
0
398
311
273
491
276
343
540
497
463
449
153
464
453
430
389
531
268
188
180
346
557
542
311
420
338
307
509
616
589
196
172
292
582
378
540
454
44
612
433
603
524
426
363
481
262
525
511
146
448
536
216
323
0
548
466
495
447
294
475
309
426
552
357
305
304
473
437
513
438
545
594
423
683
250
665
314
500
321
273
485
531
547
379
383
542
535
469
261
597
458
287
700
203
487
567
334
554
415
438
437
189
511
682
468
392
520
658
407
450
252
593
407
0
578
458
469
462
399
602
209
317
372
169
541
457
45
492
151
635
503
137
503
233
258
504
223
428
100
317
119
482
324
187
325
444
380
439
463
292
420
316
315
595
600
345
347
400
506
329
325
558
419
383
288
537
515
334
292
399
542
433
571
588
440
404
0
316
347
58
371
434
435
486
172
89
316
312
320
210
265
354
437
480
604
427
450
504
187
460
365
634
349
242
326
535
0
128
524
685
385
153
279
465
525
552
388
323
379
474
568
448
4
638
490
396
148
452
427
170
397
319
441
144
168
207
26
382
84
234
566
562
451
446
305
220
398
313
441
455
330
529
385
184
249
343
471
452
668
497
284
437
445
511
134
510
355
303
351
509
130
96
217
465
471
307
185
340
342
277
518
309
180
369
479
71
436
379
361
304
384
443
278
129
630
537
200
477
317
520
355
489
350
216
380
370
290
663
461
375
391
667
644
485
360
195
378
378
0
382
601
509
156
133
530
494
454
304
319
471
383
502
246
362
338
264
301
356
329
319
429
335
170
131
541
401
299
272
93
503
588
179
576
307
319
311
414
548
343
439
266
411
661
249
399
437
316
419
391
257
541
538
523
384
434
480
293
438
494
266
0
300
391
500
434
395
495
253
0
104
526
304
267
404
298
255
416
215
184
372
433
229
273
644
461
152
445
431
212
348
234
270
416
375
234
367
278
173
349
452
273
334
512
681
472
595
456
480
244
252
560
402
529
499
450
362
334
256
442
547
533
373
361
527
529
462
391
422
276
233
450
305
372
309
104
240
115
478
485
423
128
382
170
413
621
114
526
378
276
377
437
311
265
658
392
362
336
283
243
299
187
491
360
597
443
423
489
421
211
294
253
337
329
444
0
118
353
455
668
341
403
615
264
367
513
319
412
577
485
386
334
265
572
556
237
265
349
147
609
391
365
507
339
428
483
575
287
393
593
435
371
503
449
433
300
425
544
549
205
373
62
218
557
261
225
196
486
365
645
469
303
478
342
249
219
520
356
188
588
230
543
347
491
650
183
372
383
227
322
447
195
335
459
466
291
570
525
597
448
515
511
350
227
556
424
223
510
335
314
344
430
233
584
371
554
300
373
433
139
463
357
273
428
517
166
356
460
288
424
313
441
473
428
431
349
0
230
478
316
373
415
81
546
246
450
464
652
441
427
222
562
478
546
463
209
452
75
204
368
510
327
573
603
393
254
519
153
324
293
442
427
245
305
523
412
641
502
380
333
525
391
228
395
347
262
562
252
373
463
312
612
270
397
468
487
316
403
580
211
462
181
356
579
505
568
524
347
494
502
655
401
403
354
531
362
445
365
387
184
337
293
428
237
530
432
499
529
432
487
329
602
635
232
361
255
522
419
323
364
316
382
441
565
214
427
574
502
361
334
610
439
385
83
201
393
371
246
515
203
415
364
411
184
587
425
351
526
54
247
305
427
82
416
517
321
347
393
559
452
228
391
224
0
312
287
373
310
240
205
356
484
258
513
357
361
0
687
422
534
42
479
421
539
125
418
478
352
354
46
497
385
500
306
417
172
191
217
414
170
315
372
258
325
400
0
324
543
493
400
356
186
107
578
376
450
162
128
408
175
445
561
417
507
561
135
556
148
401
102
360
297
423
295
430
540
231
345
207
394
460
372
595
329
672
345
250
478
247
451
264
293
559
642
332
271
534
473
404
421
528
90
29
341
522
424
219
453
284
529
448
361
426
568
432
599
570
272
514
503
525
73
489
103
289
528
574
469
122
429
368
384
430
341
339
527
543
82
644
517
277
485
342
490
507
403
301
292
416
585
522
493
407
359
248
573
415
482
428
373
354
497
422
445
223
441
389
379
558
261
324
379
406
123
405
330
427
362
258
460
313
300
384
467
296
327
238
455
533
321
149
27
439
494
607
523
439
286
328
348
268
281
520
401
458
448
532
464
146
528
330
427
500
509
527
311
479
214
498
359
244
576
497
214
118
590
461
267
429
209
575
151
346
398
348
354
433
348
457
438
269
399
461
387
294
375
295
378
220
292
417
278
514
499
413
676
0
327
331
385
288
334
195
272
0
395
310
497
266
452
501
558
400
619
356
406
224
362
577
531
313
386
425
216
533
369
670
234
504
0
453
415
253
460
544
514
327
530
572
222
0
27
347
522
94
377
673
444
434
472
356
105
538
58
261
645
297
409
403
424
291
597
326
637
192
505
473
450
308
171
220
350
178
557
371
386
271
334
292
469
183
248
207
236
361
378
215
224
455
544
529
265
325
483
381
547
557
388
485
290
192
622
152
402
350
307
463
131
664
708
0
176
361
154
456
225
343
674
440
681
444
503
376
256
411
470
299
428
349
355
529
577
143
465
584
394
23
164
194
459
575
398
82
148
537
151
543
533
179
418
445
340
352
385
386
553
0
541
534
444
246
285
505
286
326
149
339
462
298
523
498
128
368
531
371
635
241
558
344
478
503
393
304
411
125
428
565
447
437
396
465
334
254
417
611
417
407
424
530
578
581
485
536
183
389
96
448
519
532
336
368
560
267
367
571
392
394
193
384
650
387
476
172
575
561
355
54
313
365
478
405
525
225
266
499
386
446
692
212
346
170
556
391
470
224
227
286
455
512
439
399
421
580
294
426
431
469
595
202
491
365
301
167
436
316
323
313
515
0
424
328
295
474
308
464
433
420
330
631
165
505
443
388
401
0
360
596
526
0
420
520
123
463
574
556
555
272
425
628
363
355
511
165
586
652
320
398
519
345
377
442
628
276
497
476
414
424
541
537
138
368
256
413
276
523
422
236
456
331
614
65
240
385
641
324
406
599
314
386
228
232
370
148
532
474
451
410
385
537
365
255
298
429
291
647
356
412
400
470
334
360
606
538
509
561
460
463
386
401
352
79
320
311
311
363
424
262
503
385
273
440
297
362
517
258
451
500
460
445
645
124
375
490
348
653
505
643
130
254
345
310
317
410
431
654
195
532
463
516
266
375
620
490
419
592
464
129
426
278
282
284
483
328
374
533
435
276
302
284
377
478
355
313
250
426
413
348
426
124
597
260
540
267
559
447
202
347
405
582
135
381
353
419
316
460
569
319
429
381
479
582
343
399
378
585
240
337
310
455
438
137
139
497
167
506
420
276
312
392
245
377
328
403
421
479
584
269
470
262
459
443
325
481
269
0
487
309
422
440
381
444
119
409
490
605
414
357
519
578
285
346
436
595
339
301
270
469
366
452
154
310
500
554
434
343
425
388
225
484
547
297
437
503
520
102
247
70
469
415
502
594
502
494
94
302
184
348
463
145
143
479
137
256
336
473
206
333
387
430
300
418
253
443
541
335
317
492
373
303
521
396
377
295
594
404
577
461
456
371
273
74
350
362
261
336
439
409
555
679
387
152
587
374
248
639
351
281
384
493
321
243
520
505
386
346
164
410
547
692
275
553
212
440
296
364
524
294
471
192
387
418
495
552
485
361
586
586
408
658
155
126
453
400
484
380
517
0
199
479
426
472
528
323
484
440
413
683
403
382
275
377
311
324
449
171
456
101
453
79
480
369
398
478
309
331
481
524
232
437
364
448
511
37
407
561
172
506
554
444
521
574
438
453
496
521
646
166
616
195
398
412
410
352
238
270
479
589
362
111
387
0
498
431
15
353
336
434
663
254
471
443
417
385
456
472
494
271
192
545
380
288
372
376
517
259
527
286
202
322
231
288
365
334
314
292
375
493
369
0
371
395
489
204
459
311
568
571
503
509
383
529
381
544
430
246
418
383
615
605
99
524
600
481
337
376
384
270
0
346
363
483
479
454
415
408
502
498
391
367
588
564
155
234
455
296
485
239
413
433
382
405
399
399
536
371
213
419
564
233
540
257
275
204
594
389
501
477
393
373
332
328
377
381
509
533
548
386
339
190
204
408
105
422
555
458
249
448
239
330
369
208
188
406
287
285
564
338
361
41
390
425
483
452
110
533
347
406
329
408
562
289
535
477
204
565
138
597
487
288
396
560
402
344
524
575
202
526
385
455
269
388
567
505
564
355
437
179
419
406
238
42
415
468
145
551
388
475
492
432
310
418
121
554
564
388
457
458
261
417
161
456
461
460
509
401
509
642
290
197
574
288
639
385
401
410
388
175
337
380
570
301
560
668
542
269
488
436
428
472
381
320
405
274
343
639
429
355
387
300
357
571
544
513
339
532
454
441
378
329
445
244
528
453
20
136
270
242
545
165
418
358
463
667
513
385
419
423
428
411
307
334
578
372
421
417
399
286
365
423
474
490
435
528
491
180
288
636
425
296
284
549
647
260
433
490
464
443
424
217
422
674
383
559
492
612
480
375
176
0
203
522
63
479
585
477
529
499
354
155
448
310
337
476
275
627
541
420
431
450
584
544
438
285
422
311
410
544
373
486
219
531
507
446
548
486
256
396
276
162
390
498
443
528
139
303
483
353
310
447
441
182
0
482
533
469
638
226
297
400
0
562
474
583
452
450
415
488
375
251
653
499
469
504
552
125
466
302
112
435
559
353
401
556
401
415
437
599
598
287
456
560
400
397
303
361
449
360
579
310
542
346
404
179
384
420
398
370
365
255
307
55
415
596
463
292
291
237
555
426
426
396
386
448
305
518
513
139
444
508
505
534
584
600
605
571
380
266
370
458
430
633
477
280
495
534
397
310
272
256
304
405
237
535
324
442
285
168
407
339
634
376
73
398
277
0
491
484
229
409
98
447
347
581
0
233
402
281
387
507
316
445
419
543
622
496
32
82
254
518
476
627
155
313
312
471
362
495
487
470
424
505
529
279
485
225
288
436
308
310
251
388
173
649
404
418
465
599
327
380
166
463
568
354
371
352
485
390
356
566
633
537
302
484
320
131
371
359
415
434
242
523
508
158
464
412
295
380
355
487
198
450
21
187
397
296
541
72
602
410
474
644
272
369
338
254
178
503
594
329
403
198
576
387
213
463
190
424
596
301
581
509
338
347
445
196
447
570
547
654
518
556
529
515
529
373
526
319
446
226
301
430
507
105
469
388
367
354
336
511
404
0
298
497
406
443
540
444
281
695
400
290
369
405
380
287
247
416
397
407
592
292
482
388
456
520
311
369
392
358
500
342
492
348
491
510
603
319
234
502
521
365
223
543
442
443
332
145
487
482
390
525
607
531
479
524
365
42
299
519
578
172
658
430
641
392
426
516
471
437
475
581
513
403
617
281
450
341
292
619
490
347
428
239
486
539
498
239
470
392
525
522
433
408
525
427
318
479
267
422
385
534
397
438
191
311
420
99
396
581
392
683
502
267
499
383
483
592
422
198
498
533
0
244
428
424
444
509
376
522
521
262
638
232
403
402
386
405
325
436
238
436
315
458
592
332
424
307
366
562
158
516
549
493
484
228
460
547
559
412
239
196
517
321
373
402
413
262
435
178
282
472
345
15
296
477
460
219
420
258
0
304
309
278
401
218
341
359
467
296
50
159
347
429
355
633
498
320
300
120
366
396
0
255
383
107
505
567
655
582
438
394
417
453
506
507
360
379
419
382
466
404
511
348
453
253
451
553
331
491
447
370
506
452
190
243
366
145
357
582
443
438
355
648
448
465
192
330
483
490
99
528
521
435
639
404
85
285
291
543
508
494
428
632
320
323
596
307
453
225
84
500
499
504
137
374
272
254
298
356
545
348
662
495
239
684
516
483
336
454
463
565
388
494
492
471
0
631
456
375
218
333
448
491
331
327
311
473
339
280
348
438
152
248
396
489
315
439
530
546
543
390
427
148
337
448
236
171
341
387
396
312
508
653
423
623
337
627
634
541
316
478
542
339
243
597
261
454
339
488
448
336
161
523
475
505
312
448
412
522
390
426
145
403
428
155
504
376
326
386
470
147
586
440
329
179
430
185
499
605
398
558
516
77
408
297
392
494
0
372
459
413
441
376
230
235
423
442
255
345
336
201
365
532
465
522
387
383
568
479
481
361
482
269
543
428
278
514
293
313
418
317
315
341
574
476
522
271
542
568
432
412
485
589
379
519
402
259
656
409
285
476
25
367
503
493
440
664
551
300
408
625
459
335
635
290
378
391
391
300
376
345
479
0
469
451
339
519
405
342
270
120
352
0
352
495
414
502
470
445
479
183
262
546
671
485
285
372
422
335
138
352
550
560
399
112
276
499
481
314
305
319
476
530
493
95
204
318
495
286
335
428
514
547
132
118
0
301
530
136
385
652
195
628
632
389
489
335
411
168
497
284
471
287
546
619
365
558
271
143
227
396
305
640
453
45
328
386
514
386
573
574
195
376
207
421
354
380
384
313
403
292
647
325
454
118
376
289
442
383
295
220
504
538
376
0
301
476
396
354
422
320
418
556
634
419
439
114
356
360
594
445
248
341
197
468
451
479
172
405
461
236
331
463
444
615
375
616
403
427
484
261
473
377
254
678
470
428
278
423
229
671
399
317
452
599
469
145
479
502
628
303
259
320
443
537
117
551
427
474
391
501
337
517
578
373
339
276
341
546
433
0
556
554
260
596
457
293
339
376
392
444
612
469
383
513
453
447
423
473
551
434
494
460
313
594
375
410
379
393
310
484
290
466
532
531
339
264
325
486
465
184
395
469
457
298
484
194
566
294
657
253
89
100
362
309
430
486
295
370
355
442
352
468
403
456
262
394
436
263
432
381
517
327
403
359
379
311
566
115
373
346
247
471
398
148
387
322
159
331
312
483
563
370
342
317
481
474
219
66
503
125
276
465
25
299
257
345
382
371
386
357
595
541
376
289
606
373
329
440
482
388
269
295
474
191
499
363
489
440
407
98
466
456
665
428
40
499
410
130
541
549
414
226
406
486
488
475
299
215
428
144
259
402
486
217
254
327
270
424
296
519
424
224
442
416
414
237
0
403
520
525
567
417
375
320
263
352
591
175
405
491
432
353
383
443
285
538
423
581
443
369
112
413
413
404
383
326
523
361
245
555
307
412
453
427
477
569
538
413
413
642
574
314
370
410
518
210
697
545
338
507
501
373
294
306
507
327
368
410
378
606
479
291
434
467
552
163
315
228
328
370
521
340
208
0
427
391
378
424
339
353
460
486
526
392
324
503
700
322
434
433
342
481
263
604
253
387
268
560
337
359
521
297
60
94
458
487
419
69
189
484
482
368
333
466
294
169
384
473
509
441
402
582
424
512
601
465
308
378
573
379
260
568
474
261
417
239
207
259
367
306
377
486
41
423
508
413
184
416
365
526
307
435
0
392
129
394
536
560
455
437
666
515
324
580
285
518
191
435
273
160
452
525
377
505
565
409
303
349
484
351
405
490
444
451
313
210
429
310
267
506
199
431
412
467
304
243
437
376
220
320
527
290
487
333
557
143
392
407
676
472
304
538
554
390
342
334
444
242
249
560
486
35
346
569
325
410
0
306
355
645
344
618
342
468
345
486
502
463
474
557
290
603
362
407
214
503
286
299
521
478
345
593
507
282
573
444
418
366
402
179
274
470
440
366
474
514
636
254
476
547
560
589
434
502
206
503
496
220
496
342
295
427
423
576
453
449
140
182
266
0
323
381
344
401
645
558
593
473
500
0
473
598
435
292
0
240
340
458
524
524
283
488
425
530
511
58
389
202
343
493
475
616
270
461
453
95
509
260
616
0
538
436
427
519
419
343
462
136
680
339
225
411
349
300
433
369
378
347
253
693
211
407
299
552
365
429
238
436
554
323
0
0
451
416
612
387
440
401
583
504
488
367
468
585
188
441
287
644
447
463
605
434
587
159
17
95
380
371
684
379
551
501
505
479
261
457
390
310
445
569
16
0
421
300
582
443
451
419
367
257
507
142
330
366
255
128
374
492
521
284
608
495
408
286
185
519
305
332
533
616
396
353
157
337
448
559
324
550
177
329
373
279
401
437
311
221
124
426
368
492
461
337
450
454
460
139
339
411
519
132
369
322
214
422
633
523
632
601
195
438
205
519
375
334
296
343
239
551
326
343
183
644
417
241
287
491
462
338
342
276
473
466
170
480
414
436
410
529
280
505
477
524
414
308
419
413
194
523
627
475
343
363
342
334
399
266
392
80
190
360
688
506
443
462
563
257
345
150
85
522
328
199
382
474
402
405
375
285
478
430
517
416
477
356
194
492
594
433
284
269
286
428
188
356
416
564
249
594
234
196
567
273
330
433
375
403
2
0
414
546
353
396
345
456
339
462
495
130
641
369
103
239
429
507
0
0
428
133
417
349
609
410
507
130
398
352
371
519
565
388
623
651
437
266
412
536
562
407
627
407
383
362
513
340
245
256
0
317
656
320
467
572
374
545
59
349
299
571
498
476
471
472
472
100
142
194
456
458
314
489
381
363
422
204
514
469
486
471
304
418
562
518
324
198
333
333
283
483
538
353
519
610
108
483
190
356
363
84
396
398
699
168
574
328
169
238
322
139
358
50
267
276
640
419
231
117
504
323
377
266
556
355
537
241
463
391
382
92
399
122
318
422
429
303
405
420
307
303
0
414
445
247
400
297
213
442
675
157
433
261
427
660
485
459
452
243
112
318
500
150
417
555
457
229
514
381
471
521
352
78
480
132
498
367
251
206
473
386
469
549
372
508
411
511
406
519
601
466
380
441
351
462
130
553
490
310
151
164
84
464
293
462
448
206
615
552
210
438
161
434
418
529
405
416
294
161
215
267
383
508
95
433
459
418
541
301
584
0
373
636
614
469
445
0
491
290
412
554
404
345
409
369
143
315
370
0
159
594
410
106
415
298
496
511
327
151
350
301
170
412
203
356
596
452
397
444
415
430
148
372
592
423
331
81
519
233
1
218
398
482
548
518
492
361
423
543
217
168
88
422
487
205
360
547
331
528
291
262
202
517
380
464
244
525
321
352
238
72
499
251
528
536
137
480
421
88
368
310
87
443
405
613
472
442
301
593
388
440
205
83
425
449
203
63
511
454
90
347
314
263
484
442
442
360
131
392
667
397
149
41
460
373
399
445
452
444
388
278
398
402
276
443
458
345
406
564
588
259
472
611
348
486
435
383
516
398
508
57
470
345
354
391
326
204
406
222
466
380
254
197
329
500
349
462
267
214
654
296
534
642
470
376
359
510
661
489
536
609
574
202
125
296
206
288
414
345
384
406
193
334
24
121
552
120
390
440
363
450
220
227
330
268
152
203
326
534
439
261
75
462
387
221
572
399
511
489
255
496
395
304
560
519
373
427
311
511
60
372
557
397
408
336
368
359
629
544
481
528
283
391
0
345
203
435
76
607
307
195
430
264
321
169
228
433
366
109
196
443
365
403
321
392
458
443
369
562
442
538
347
471
263
655
532
220
361
360
528
338
339
541
352
401
362
217
269
490
584
439
543
337
516
536
538
253
295
170
313
550
556
502
372
553
578
252
444
373
471
196
206
304
445
117
523
405
438
410
490
320
363
399
250
547
285
307
600
519
576
480
414
262
510
328
306
60
413
406
569
458
416
635
477
446
370
439
573
356
444
333
475
330
573
440
462
491
602
354
437
507
554
681
398
429
61
436
375
431
330
536
416
433
363
432
621
483
453
546
520
119
521
425
398
370
351
199
407
420
415
372
58
425
404
440
327
573
325
449
403
0
368
567
414
212
232
356
450
171
466
0
341
446
527
487
482
379
282
230
332
328
455
368
193
382
250
491
467
542
465
476
441
477
527
340
284
381
396
194
435
230
474
380
170
628
319
619
527
368
527
386
355
548
479
356
339
379
486
616
416
244
375
582
577
435
365
361
460
477
364
227
126
412
362
0
407
234
179
433
456
285
499
368
505
179
462
451
336
562
419
461
363
372
100
372
450
424
237
338
313
558
568
378
462
145
644
283
583
262
217
287
535
465
515
570
523
464
444
437
460
427
31
544
462
492
535
257
232
305
449
316
503
417
487
474
316
349
384
234
407
442
552
605
166
270
212
411
185
457
207
394
276
428
427
576
406
451
400
243
41
612
33
530
430
580
653
330
222
276
310
531
570
88
464
302
561
299
380
489
365
664
331
656
350
379
316
340
172
400
498
0
329
391
393
330
534
53
543
363
435
344
216
227
455
283
249
0
536
360
430
520
256
172
308
304
617
260
476
130
396
398
513
484
0
384
348
414
446
524
244
501
252
311
306
333
458
530
158
419
502
421
276
362
391
445
622
468
407
271
528
369
517
400
541
397
237
349
558
404
366
160
307
388
509
447
348
144
270
391
298
392
518
567
279
470
317
234
429
226
369
475
325
296
520
636
560
309
303
377
27
83
509
440
340
435
0
86
337
434
540
115
305
553
434
505
557
424
367
358
143
446
296
336
620
568
448
288
356
481
461
202
344
309
622
406
137
395
433
630
529
301
295
565
661
361
234
255
575
320
404
507
404
311
259
319
400
412
316
557
637
437
0
413
403
410
439
478
408
172
404
592
515
412
115
387
378
628
564
416
360
464
440
563
580
317
561
265
574
501
476
448
421
176
529
176
527
439
549
533
202
285
541
465
643
561
327
281
609
87
377
434
359
291
509
261
568
473
547
190
304
149
192
324
109
527
419
194
215
262
499
517
100
321
79
600
474
404
0
624
386
607
261
604
431
335
372
355
529
409
505
596
430
594
435
352
394
469
209
341
555
388
295
507
407
407
258
225
210
291
149
336
523
668
526
353
553
580
432
577
393
627
0
293
371
324
396
443
0
461
293
605
589
498
406
306
318
428
308
438
450
383
537
571
245
564
429
0
229
240
557
507
306
319
0
182
82
459
141
349
605
497
381
225
514
647
593
466
443
628
273
308
280
419
672
581
330
339
230
507
356
215
62
354
514
325
224
458
347
205
523
465
393
453
367
0
210
298
286
525
524
234
148
384
497
554
306
466
286
314
562
585
110
259
263
405
575
382
375
366
395
552
673
266
405
356
475
458
0
315
410
553
405
420
415
436
449
650
386
495
290
277
455
527
577
447
379
86
460
533
476
420
275
221
277
302
369
599
432
529
372
466
137
461
476
369
589
372
212
69
419
341
385
210
270
413
454
499
488
370
645
394
476
494
65
335
396
429
510
473
380
501
475
399
486
650
485
448
163
522
392
178
436
242
478
365
213
418
215
418
297
480
433
549
185
432
616
341
174
260
273
250
457
602
567
349
249
464
293
287
355
375
428
170
375
269
235
249
255
371
362
380
457
206
94
350
566
430
507
688
638
607
557
146
337
282
319
461
168
475
328
467
509
353
413
346
307
156
352
494
469
369
125
438
169
500
620
345
352
648
12
428
453
588
291
144
490
505
541
479
285
326
68
420
418
373
320
475
655
454
208
578
475
369
559
189
405
188
562
507
409
477
437
509
398
558
522
30
317
419
427
283
467
493
594
479
292
437
509
0
375
516
528
321
452
266
382
397
338
422
528
464
483
484
552
695
67
224
303
371
347
466
295
628
448
109
256
517
329
532
487
349
301
434
450
252
0
279
608
436
565
295
359
462
357
415
660
359
404
420
417
486
464
0
277
438
606
59
631
359
321
601
335
221
337
325
580
431
495
442
462
393
360
290
291
308
424
332
437
458
280
57
370
404
386
507
386
382
580
364
282
487
501
276
108
152
480
442
402
168
411
351
438
292
497
450
75
416
173
462
0
180
180
415
521
397
216
506
449
450
270
440
590
180
473
338
357
384
583
456
462
426
435
295
203
443
382
399
586
351
626
547
417
503
524
363
427
392
449
334
345
343
482
209
446
305
356
430
444
407
492
391
0
298
224
144
470
457
459
306
289
414
421
357
527
42
566
280
0
308
310
520
355
358
442
496
282
508
315
314
190
476
339
503
584
444
557
406
403
223
204
561
436
366
441
502
524
430
411
493
156
0
333
491
507
407
371
499
482
419
123
409
409
275
234
349
409
293
307
315
370
198
494
348
292
547
356
445
477
525
0
381
149
552
646
336
418
308
340
360
207
286
187
516
443
483
588
522
514
567
411
380
441
322
499
607
326
341
412
359
410
397
559
444
549
219
345
451
484
376
395
369
570
466
221
202
366
326
491
461
448
433
480
504
584
522
407
477
445
529
179
577
114
498
420
217
497
554
502
128
483
466
423
206
398
307
459
525
406
390
467
363
572
255
520
415
205
578
343
218
314
447
614
298
431
595
571
414
364
534
499
446
546
390
349
499
442
571
463
364
501
363
381
542
239
415
479
202
498
498
261
475
626
323
403
460
208
396
543
625
306
492
328
348
451
505
287
259
429
404
546
551
364
278
611
229
383
343
431
286
578
194
459
582
344
336
467
260
152
239
368
488
229
303
357
586
259
477
581
427
391
326
200
412
389
318
394
438
0
155
491
427
96
323
329
204
400
427
561
336
428
451
390
338
594
496
543
111
369
433
504
503
331
450
602
514
371
435
522
533
258
317
537
412
610
549
401
411
597
400
403
478
260
451
504
410
404
384
392
440
501
628
463
250
402
302
382
500
189
104
152
602
62
284
355
367
368
585
490
336
577
331
335
452
192
463
0
402
408
455
622
674
459
448
353
483
474
345
420
303
311
536
438
549
212
612
443
199
9
549
280
320
475
404
210
370
252
549
479
382
563
210
537
639
328
361
358
456
100
500
435
457
519
495
308
370
417
437
568
551
388
340
365
447
581
486
458
541
513
305
597
636
353
448
360
563
372
407
446
222
522
342
434
136
193
356
0
134
511
387
378
317
612
121
289
303
605
511
197
293
627
217
275
462
506
142
348
423
470
547
363
334
371
364
466
383
362
322
288
421
354
454
345
112
289
447
570
499
122
450
524
229
377
486
412
234
226
290
615
664
360
546
464
350
421
616
63
422
476
435
338
511
388
101
613
466
421
526
484
141
303
326
227
398
311
498
323
559
311
362
458
346
429
629
411
282
385
504
590
543
379
619
432
554
420
406
152
559
500
0
345
353
495
372
0
213
498
465
344
493
162
353
250
282
211
455
566
447
369
366
185
355
500
384
605
360
26
267
675
362
547
363
297
26
434
446
579
664
330
409
619
297
380
270
387
528
315
477
566
318
392
359
465
331
308
499
444
87
344
283
421
151
135
531
518
350
355
408
102
519
403
471
534
257
228
519
263
439
570
368
436
534
357
265
269
494
196
471
0
348
311
435
355
246
202
220
565
521
354
314
400
573
623
515
385
241
639
585
304
85
291
313
400
575
598
246
266
299
487
254
376
451
377
582
471
393
23
285
174
437
664
442
483
460
510
324
320
619
420
462
399
439
524
503
656
348
242
502
347
561
494
456
499
500
493
429
252
190
410
196
335
253
131
341
541
432
548
336
348
456
394
441
532
294
354
557
405
308
429
343
452
340
402
518
437
438
360
691
533
438
93
306
501
497
408
295
159
510
410
548
662
361
293
682
595
269
241
656
199
575
511
311
137
418
575
562
593
336
130
280
502
529
263
588
25
440
550
246
591
476
526
646
501
216
237
358
509
390
526
98
509
572
519
328
655
366
406
326
376
337
389
287
426
303
346
313
455
345
512
552
428
251
614
532
392
289
341
491
382
505
324
373
500
47
510
302
277
304
538
479
454
297
223
528
449
559
688
487
330
393
255
270
195
354
197
488
348
601
457
381
390
658
356
235
618
466
177
431
480
442
502
428
473
372
573
442
439
0
299
246
142
513
441
455
366
78
0
470
486
381
359
457
382
494
364
265
131
441
579
0
330
178
428
550
300
405
312
672
561
433
375
498
543
340
499
477
415
282
0
421
456
281
515
372
127
319
149
331
356
209
440
256
469
40
446
425
337
257
295
560
0
93
342
400
588
470
611
356
359
377
284
516
274
115
420
615
458
359
196
310
451
94
515
439
317
299
402
534
433
276
149
431
586
417
302
353
263
287
459
412
391
298
251
496
449
508
419
595
317
487
449
497
538
540
341
0
213
285
168
279
256
388
243
207
545
227
286
423
496
485
614
51
257
479
645
430
433
248
459
350
464
356
636
492
438
0
427
401
276
255
393
410
454
480
410
498
413
594
449
501
557
307
398
532
273
392
511
396
337
256
406
528
401
132
526
0
407
316
497
477
171
110
308
321
470
485
0
410
192
286
265
499
77
372
250
530
431
379
537
445
393
517
342
475
442
153
490
378
353
280
102
128
396
577
423
625
0
566
0
279
540
432
129
469
388
407
629
313
272
479
259
111
161
577
413
465
495
347
312
430
466
221
459
250
234
421
451
379
359
402
482
648
524
393
424
500
438
156
265
538
408
514
411
648
325
688
198
480
0
517
476
592
686
544
509
387
344
539
373
0
283
511
314
444
517
296
439
359
367
433
563
559
277
467
340
408
0
450
269
626
387
245
629
233
9
505
332
65
162
407
361
485
187
431
329
520
366
500
178
256
286
489
404
150
350
311
480
280
440
594
358
225
178
287
188
429
260
555
310
544
541
453
229
444
486
179
534
310
472
611
513
513
372
16
407
435
476
334
320
421
491
250
692
235
0
467
513
375
292
233
258
577
466
447
338
235
166
537
413
248
480
381
659
579
424
377
430
374
519
65
120
233
198
170
251
480
200
623
354
451
523
472
65
473
604
591
592
428
343
231
323
114
644
486
456
518
482
275
429
591
500
462
377
478
328
176
261
279
353
340
506
194
327
91
208
400
354
426
114
413
434
531
407
571
380
383
438
193
104
331
389
349
624
501
391
640
394
174
413
251
414
424
320
539
0
679
207
411
385
525
279
461
118
339
478
361
438
553
232
297
462
235
587
332
427
209
478
107
567
466
375
587
378
193
555
387
0
533
371
406
199
456
327
118
366
592
505
315
216
498
112
303
658
518
446
429
437
415
318
405
181
639
467
368
21
470
432
363
343
595
409
565
405
568
513
261
203
405
595
383
315
385
319
479
449
322
372
517
328
479
398
401
541
365
554
446
662
381
281
248
213
0
503
527
46
546
588
511
404
344
256
138
331
416
515
404
345
171
241
333
397
360
387
293
372
407
264
416
382
503
680
270
341
261
482
209
459
288
425
491
407
458
292
411
350
14
625
373
381
345
547
624
0
328
199
442
441
192
334
431
452
362
294
459
73
216
368
612
233
587
524
348
211
423
398
153
404
475
357
488
480
382
414
592
360
376
602
459
559
502
610
596
305
419
459
419
232
474
611
399
205
0
294
595
526
528
423
616
592
283
336
435
444
167
667
397
322
460
370
319
438
417
339
454
358
352
486
553
356
405
529
30
504
397
552
368
430
403
392
356
229
381
593
248
493
648
455
318
644
422
499
344
388
447
392
387
196
319
600
384
247
365
524
466
110
262
314
197
248
85
251
524
216
205
0
283
403
466
429
152
266
471
497
177
413
248
246
476
246
552
447
491
385
206
72
360
431
473
154
274
476
345
260
53
530
483
592
540
536
306
616
414
414
423
442
489
418
589
428
652
344
513
372
254
527
565
82
345
610
600
322
509
61
410
116
416
502
169
522
191
529
353
525
336
375
0
164
220
460
318
352
677
303
397
392
498
400
462
233
253
532
336
359
342
355
338
475
444
253
411
369
497
40
181
392
370
356
403
569
327
394
641
409
270
433
363
598
511
269
298
244
552
534
565
435
325
448
348
292
533
322
218
666
317
379
488
332
356
247
674
263
334
429
460
293
390
196
520
425
497
513
264
391
637
502
178
0
326
221
517
265
451
591
672
515
319
579
364
375
118
488
393
414
416
502
373
602
191
675
66
272
626
392
365
444
386
326
491
493
644
388
141
306
218
237
532
602
209
325
205
323
251
602
288
208
498
474
558
509
679
248
441
612
428
557
485
487
485
374
359
351
419
478
428
621
432
339
438
346
549
0
636
529
485
607
415
244
479
54
467
564
510
436
350
385
577
317
469
452
466
571
275
191
93
224
454
350
361
200
267
237
352
286
525
290
199
411
508
490
361
359
358
381
451
504
612
425
595
276
423
453
295
110
258
436
470
477
648
320
0
417
291
273
490
357
331
135
465
367
257
408
554
578
642
623
397
300
365
626
533
336
356
355
63
489
486
396
204
526
470
386
462
389
440
570
316
207
334
542
243
313
161
379
488
217
434
360
279
440
498
442
432
652
0
340
514
502
214
348
528
459
476
586
340
382
241
433
556
356
357
465
487
629
312
209
298
556
338
528
172
463
0
401
249
422
645
511
437
70
611
365
471
562
369
256
356
339
305
582
596
404
171
454
478
413
530
465
360
429
349
381
455
379
475
477
145
465
478
417
408
581
435
388
556
552
444
376
236
512
368
450
437
345
533
277
343
212
187
71
562
283
433
526
412
418
406
469
351
294
578
225
243
351
486
259
582
450
483
140
341
295
417
153
410
400
277
197
481
277
514
452
539
584
247
188
359
495
300
371
269
606
351
459
577
318
209
436
285
614
355
389
375
342
445
541
337
272
355
300
552
560
466
62
540
459
568
315
399
336
507
472
393
383
287
486
511
358
386
293
300
225
395
470
110
418
444
406
593
187
341
355
416
392
422
510
0
267
568
409
439
444
512
593
410
465
463
154
483
281
542
574
362
394
507
439
527
413
484
386
439
0
614
396
491
473
325
152
458
85
407
347
334
307
241
476
126
631
573
295
424
74
552
425
170
441
412
640
324
204
243
377
153
100
561
333
184
343
198
240
448
226
66
337
327
606
408
86
525
145
386
497
0
0
379
507
408
184
126
276
308
583
310
255
512
423
331
433
652
275
635
457
334
300
136
356
636
552
477
573
309
284
390
470
255
494
364
378
385
190
469
599
450
0
480
470
323
474
485
513
325
311
426
234
110
513
49
398
622
562
293
225
435
332
0
418
507
528
344
441
235
483
421
433
298
457
366
233
442
366
352
182
339
493
502
448
521
125
462
432
433
336
489
353
341
333
362
380
549
402
243
418
397
357
536
400
343
384
595
440
274
467
215
313
330
515
506
515
375
466
419
352
276
436
408
481
164
423
320
267
282
447
543
278
368
204
195
522
309
400
339
356
419
386
393
616
301
144
496
371
390
7
516
449
504
554
514
529
556
290
305
224
630
577
646
437
250
181
599
171
402
238
414
662
471
347
567
545
303
571
201
577
524
393
602
369
222
472
415
240
452
361
341
522
353
199
0
0
471
493
237
454
559
559
480
247
544
662
505
367
377
226
195
157
313
552
403
494
340
375
243
515
393
0
353
470
371
431
610
187
206
361
450
422
482
474
400
477
531
155
553
280
581
419
296
459
498
487
659
535
557
671
269
612
629
394
544
383
517
410
500
618
400
427
625
276
291
204
369
446
190
396
177
491
320
503
340
115
430
389
387
429
418
600
494
184
270
133
487
364
257
621
330
633
380
550
132
539
484
415
293
134
354
528
463
547
419
426
483
460
482
243
460
315
387
312
247
649
343
289
419
476
0
321
497
308
476
327
326
522
363
355
171
483
242
319
564
332
336
264
619
547
398
487
358
612
377
581
465
428
507
320
288
144
189
394
509
284
576
340
403
203
207
560
390
281
432
384
607
0
445
367
525
473
281
529
533
249
448
460
609
424
576
440
458
370
475
448
561
656
628
296
422
383
371
612
573
385
305
403
404
474
388
482
431
475
113
383
452
235
328
450
445
227
518
266
531
626
520
514
331
339
373
543
416
410
689
459
365
284
484
390
303
469
448
513
463
494
545
215
435
568
32
366
476
358
403
270
290
530
372
315
405
254
450
61
210
344
253
172
437
437
408
360
479
241
447
589
465
429
198
400
365
578
375
150
391
502
258
243
547
157
399
408
642
369
378
392
82
383
461
0
541
376
354
341
442
310
326
415
191
349
594
561
318
320
612
560
345
339
612
330
585
620
543
397
574
419
551
470
211
396
416
286
391
395
429
470
343
487
182
362
512
376
222
615
217
280
530
0
304
550
450
392
341
517
440
530
402
539
533
465
306
422
207
425
496
231
401
360
328
394
345
436
252
380
410
393
437
253
424
588
304
440
265
255
534
654
413
481
603
402
352
430
0
521
484
393
427
268
396
422
375
522
390
50
517
388
326
297
202
315
506
493
431
410
637
414
362
508
360
502
403
442
389
208
372
207
245
223
282
355
203
291
101
363
229
481
333
495
253
498
481
616
335
212
495
589
325
0
571
403
472
150
400
419
474
571
487
391
217
223
501
368
483
473
334
0
460
162
583
634
480
339
342
554
170
202
483
280
549
519
320
25
227
348
562
378
379
455
502
175
341
530
158
494
195
341
344
525
545
0
502
379
536
506
396
166
547
291
434
524
181
464
414
600
81
471
442
434
93
509
387
493
272
404
356
341
499
439
506
389
475
408
569
364
526
256
474
566
480
32
320
312
427
411
230
233
168
392
543
437
228
236
572
513
527
223
670
473
345
376
576
282
520
479
516
237
529
129
532
489
552
268
262
85
289
453
293
362
452
436
635
459
170
276
423
251
405
193
313
256
438
509
359
291
502
431
535
139
442
418
675
663
571
262
323
471
120
362
514
344
509
469
294
462
416
41
418
420
417
520
373
437
446
623
374
542
564
359
562
382
207
481
337
399
609
564
467
431
175
374
305
464
489
460
431
307
340
478
241
141
580
262
148
226
379
299
272
535
344
390
175
186
486
296
392
416
0
622
337
698
301
512
580
542
327
530
395
377
87
527
471
337
371
293
705
401
594
524
636
412
498
608
330
411
441
243
171
520
310
183
607
481
489
287
579
406
345
576
483
426
384
379
288
261
541
192
492
504
542
292
280
167
546
316
502
481
297
133
430
0
494
185
551
199
479
466
391
152
534
575
395
533
488
457
323
243
426
449
497
455
348
421
589
517
329
232
424
581
612
382
478
418
517
516
317
495
666
333
262
462
381
407
538
367
199
258
241
344
338
505
90
215
189
0
355
399
502
466
507
257
410
339
348
560
206
393
435
246
379
607
386
162
483
509
263
317
517
405
294
240
190
489
300
448
292
351
412
340
527
200
338
483
295
326
29
440
203
471
212
331
292
86
461
32
352
338
390
548
422
295
102
428
199
453
319
479
396
307
635
417
525
332
272
420
324
484
519
251
606
283
180
270
421
437
529
246
508
620
408
424
464
447
501
199
518
596
548
476
306
256
369
648
90
549
345
558
491
319
234
292
526
570
304
467
479
509
90
275
352
275
420
396
587
318
303
350
397
279
638
447
443
334
496
416
202
355
363
15
547
532
311
613
346
319
457
0
253
439
374
479
608
425
105
468
556
389
368
365
500
456
293
574
381
614
73
19
423
250
453
229
533
639
432
532
360
314
186
508
497
564
451
494
431
512
138
499
695
503
446
363
388
390
500
477
404
484
454
343
372
300
595
475
461
361
352
350
188
307
237
408
448
11
264
229
481
484
618
634
81
526
408
549
339
352
528
324
269
370
316
375
405
607
0
299
156
499
118
365
445
347
643
475
285
331
485
269
502
510
344
377
361
196
667
311
415
439
545
463
384
251
413
0
457
565
350
275
69
433
320
475
381
523
508
462
199
533
330
248
488
604
475
118
276
395
280
416
597
480
607
495
553
129
203
425
198
301
300
568
601
362
489
525
515
595
526
393
421
297
231
132
346
361
209
440
43
331
327
631
320
216
647
479
0
16
188
0
616
444
490
435
292
294
342
228
104
257
521
435
310
296
479
0
449
250
492
596
320
452
480
338
411
178
393
472
663
395
604
615
416
450
210
478
372
368
365
476
349
556
495
517
457
99
209
446
302
537
223
545
133
574
604
349
315
555
285
290
284
353
366
396
419
580
568
513
337
455
418
585
487
582
299
275
428
293
146
288
286
462
37
341
399
564
126
461
483
394
574
424
122
500
326
430
493
260
153
528
616
433
218
252
282
357
652
353
300
0
307
633
316
630
485
209
438
391
422
310
408
302
522
319
583
299
545
295
459
293
288
347
435
490
145
288
370
503
164
426
368
555
291
367
301
305
121
365
345
180
425
314
196
575
46
539
528
315
505
491
253
430
378
493
276
359
364
275
194
303
440
418
328
280
214
118
272
516
289
485
104
498
444
358
540
580
505
351
405
81
397
167
502
590
392
236
486
328
446
315
159
307
274
439
284
435
386
442
444
520
282
528
555
481
420
573
501
579
378
467
560
580
423
469
269
327
219
589
274
391
489
518
459
246
700
447
664
282
331
141
355
489
361
439
531
105
413
258
636
0
178
102
458
341
436
431
389
343
364
518
29
264
255
433
293
479
565
491
492
282
49
381
404
153
494
415
243
299
469
318
260
328
356
0
466
531
597
679
489
440
328
362
463
398
420
389
595
521
359
323
214
416
653
317
376
452
489
478
652
509
536
253
431
382
562
432
511
341
352
433
461
606
588
325
475
395
370
288
569
438
249
585
496
411
215
608
592
527
154
396
267
515
257
0
392
483
592
256
556
84
129
392
40
219
253
425
604
345
419
339
473
501
211
16
318
547
437
348
432
553
357
184
530
498
426
629
235
663
468
448
560
197
298
385
368
79
496
423
625
308
389
630
516
376
598
540
388
343
484
533
562
117
466
344
438
302
526
197
592
129
444
532
493
233
412
449
538
208
246
200
414
272
552
299
465
313
461
624
509
241
582
145
385
347
202
197
354
397
273
313
372
140
292
578
31
426
424
531
526
422
332
598
407
393
333
451
240
422
278
585
426
358
409
610
462
315
415
383
250
532
234
521
616
169
366
657
359
390
383
321
366
143
511
413
448
351
394
494
525
242
552
490
337
341
501
271
283
495
290
463
522
111
489
342
455
347
238
440
481
453
603
314
399
459
232
386
417
445
392
566
562
350
520
349
300
357
355
489
534
197
242
512
375
251
458
281
82
510
679
318
395
209
304
171
369
476
374
108
415
459
175
349
301
257
322
23
569
382
558
555
194
336
496
410
506
156
521
233
565
45
438
499
571
350
243
120
117
306
454
306
536
473
479
360
175
424
476
346
226
396
472
327
154
533
344
374
376
417
305
406
315
364
413
388
203
680
486
255
533
66
662
516
511
504
537
301
346
374
565
626
399
545
416
699
401
483
419
507
554
280
168
452
410
300
416
553
365
495
90
542
263
426
206
640
387
415
381
453
145
475
306
311
423
466
523
302
337
392
442
559
516
409
425
527
383
392
539
430
203
424
466
373
374
595
338
252
429
297
433
428
0
303
399
133
242
575
304
444
261
0
350
443
301
390
360
383
658
345
490
546
466
119
259
385
302
488
407
226
333
550
397
376
204
500
428
336
224
469
596
639
499
392
584
543
350
364
288
401
530
492
559
332
255
521
184
473
258
34
492
507
161
433
153
300
294
326
386
406
293
375
513
323
468
496
394
323
593
526
560
318
516
459
384
458
385
585
400
331
519
600
568
480
360
229
587
453
455
528
544
157
481
241
387
606
652
430
74
177
0
0
541
412
385
233
504
466
401
613
201
522
255
350
123
397
442
451
459
406
294
634
164
179
597
429
484
292
390
404
299
632
471
640
350
375
504
392
387
474
310
352
451
391
412
352
597
421
201
633
485
367
208
623
629
548
107
508
407
562
445
483
278
543
427
233
243
315
497
403
430
419
341
176
195
434
514
356
341
527
371
227
263
613
489
368
338
411
339
680
367
265
468
366
635
564
353
582
387
576
492
484
536
99
366
450
137
338
368
318
473
368
234
505
372
433
413
372
414
297
184
210
302
217
410
524
591
613
437
362
118
510
293
426
309
464
620
463
483
550
479
188
395
345
143
356
279
317
525
0
493
423
457
644
300
499
375
83
528
149
462
257
378
394
267
327
82
526
468
488
581
346
259
388
230
341
579
482
366
384
527
348
577
418
601
346
580
497
446
408
518
471
187
326
339
534
300
554
455
274
497
58
140
300
535
487
368
362
379
198
281
394
354
543
537
581
376
372
488
479
0
366
429
300
466
543
417
80
357
310
66
640
595
272
382
476
365
477
171
456
488
102
236
414
421
350
474
492
403
475
293
577
385
484
457
515
92
425
277
333
332
494
226
477
396
74
339
356
186
499
590
426
222
539
649
703
392
458
501
687
341
405
296
126
214
416
401
125
442
441
305
420
552
521
539
645
288
578
319
304
196
348
496
314
572
496
506
379
398
349
461
379
461
298
559
296
240
218
477
392
246
435
86
679
61
634
299
348
627
308
446
557
451
233
269
501
547
545
139
424
416
415
311
443
367
165
477
371
155
390
435
461
274
423
601
335
535
405
362
368
219
355
664
333
324
301
349
513
12
502
415
439
343
143
445
331
42
293
415
465
411
603
79
280
492
443
563
518
429
306
497
166
298
221
424
400
394
170
292
494
516
569
424
295
427
671
320
477
472
331
494
285
525
465
166
531
420
405
305
247
285
356
299
484
579
235
293
521
470
340
320
453
566
582
458
680
477
484
407
501
576
372
421
172
599
412
571
85
486
358
347
470
322
258
140
394
167
421
622
147
136
317
281
519
548
413
266
211
396
249
418
566
314
371
513
375
243
492
370
499
353
446
378
587
216
386
441
456
561
310
493
285
585
396
413
545
447
103
260
468
100
403
307
474
408
499
348
217
367
549
253
437
129
581
436
567
438
588
117
389
175
386
107
63
471
344
580
494
150
278
430
595
472
458
199
313
454
30
660
57
521
319
308
460
472
431
34
469
479
325
435
387
291
258
123
258
239
82
409
587
546
468
360
374
18
445
211
360
401
533
365
414
198
129
328
561
457
281
343
614
0
520
530
248
475
226
530
419
376
517
298
244
364
410
108
516
230
402
500
254
409
539
315
320
493
367
152
559
430
0
462
198
354
173
141
219
416
497
437
445
220
411
489
486
383
614
347
543
218
422
304
0
450
0
514
516
346
518
501
354
316
557
0
0
504
491
354
532
160
621
332
303
383
101
571
652
407
462
581
481
350
606
585
627
634
508
216
222
389
116
361
459
590
618
295
439
487
380
438
387
374
592
564
83
362
342
305
418
327
391
447
278
383
136
513
526
357
389
344
97
461
427
261
238
457
492
448
395
517
471
510
345
366
569
118
392
683
611
487
591
431
120
526
431
241
442
287
216
131
407
634
465
575
366
373
319
471
369
467
333
561
403
448
267
508
491
360
569
0
362
454
575
267
407
331
323
217
315
252
152
158
420
284
270
227
207
413
381
395
404
375
504
441
628
451
433
127
136
380
417
349
446
412
169
356
257
476
505
536
162
274
565
302
358
351
461
438
94
346
489
361
464
259
105
0
296
618
517
66
312
390
586
377
480
663
212
272
136
389
407
364
116
588
370
419
497
421
525
514
0
463
0
373
566
170
549
356
607
628
122
181
460
480
418
502
658
372
288
164
673
411
386
565
496
593
455
12
692
305
417
64
453
119
547
227
478
460
469
575
628
525
248
466
287
233
126
370
69
310
442
418
367
155
173
0
497
418
561
192
434
550
483
258
368
454
573
419
440
275
59
176
226
313
333
398
465
200
503
297
463
351
586
423
390
462
0
285
458
628
322
639
322
175
316
419
330
464
226
477
664
348
518
453
457
408
466
475
292
461
441
574
344
323
398
425
573
420
305
110
394
525
418
689
456
483
280
420
380
257
443
596
360
90
470
349
515
354
465
451
295
453
13
301
499
608
171
445
361
55
396
286
571
430
445
503
335
571
557
358
81
603
531
474
451
176
559
574
309
360
445
398
235
451
339
241
354
453
126
0
478
500
315
253
388
435
587
195
399
515
320
611
375
456
401
238
213
560
316
483
507
299
484
334
163
423
0
342
358
520
379
280
568
193
238
74
198
472
469
583
497
283
452
214
192
239
632
480
155
414
514
387
528
546
488
503
392
335
370
433
359
260
190
140
0
465
402
536
284
576
473
457
579
469
496
441
262
523
231
396
314
387
505
673
508
209
395
373
175
364
249
387
261
417
269
515
445
355
315
449
369
468
279
441
75
374
391
550
444
496
0
580
393
280
561
340
314
565
251
283
350
357
600
374
389
425
283
439
425
511
386
409
330
489
448
368
578
307
316
409
292
537
191
419
578
355
567
293
474
305
284
253
353
362
483
542
526
233
541
514
442
423
140
235
478
384
394
487
356
44
426
0
403
191
339
403
477
662
430
568
412
476
464
168
580
492
437
421
466
490
338
449
570
536
259
629
471
597
487
487
350
510
0
313
456
400
460
353
21
441
641
553
321
432
474
535
499
464
432
30
470
621
511
571
611
652
304
452
396
435
323
294
355
537
7
305
394
491
173
335
679
545
453
447
450
236
349
498
359
577
0
214
654
423
369
210
485
300
132
481
303
627
327
596
285
659
630
326
692
342
245
511
411
410
556
340
452
407
283
188
512
386
608
535
242
647
524
508
527
567
404
438
334
532
22
317
299
349
518
326
420
530
434
0
225
143
395
242
175
450
432
280
222
205
0
331
497
451
589
369
399
233
316
700
536
462
343
201
328
462
527
209
416
403
580
452
543
525
469
233
491
536
503
431
557
416
323
585
387
241
426
580
511
593
462
0
321
269
535
506
403
465
387
519
286
476
349
88
429
134
593
376
604
529
431
535
504
42
0
330
241
83
5
383
138
562
320
365
598
265
500
574
550
362
554
0
530
392
438
517
517
526
381
381
546
82
451
166
281
484
358
141
186
287
332
368
524
285
407
470
575
678
538
561
624
389
384
519
470
173
349
449
357
204
458
343
324
515
442
278
662
292
380
273
427
577
232
282
310
292
381
0
390
565
133
544
431
342
0
591
642
407
52
361
1
320
481
255
254
199
311
551
382
575
308
451
460
47
377
352
492
465
459
166
625
308
0
366
307
697
412
344
258
465
319
592
255
218
501
376
284
370
376
575
427
302
344
489
82
328
358
433
116
486
300
525
536
573
474
442
434
365
560
392
423
139
488
325
400
473
183
204
383
401
360
557
292
305
464
607
296
489
473
328
568
258
385
330
524
200
465
230
430
325
293
546
534
281
538
596
440
544
426
662
0
466
411
494
346
333
387
477
345
429
360
467
452
397
342
481
462
570
483
497
385
432
538
420
511
295
282
476
229
219
520
502
461
519
443
257
392
538
286
406
501
461
145
495
499
637
256
176
477
589
237
391
418
453
128
557
433
490
402
520
195
239
318
232
351
294
569
519
468
218
493
302
408
357
621
229
343
422
415
543
407
419
515
343
401
419
401
497
63
369
534
578
209
205
371
502
282
544
421
457
481
531
303
453
509
289
265
0
238
555
409
328
429
610
523
251
386
386
595
317
230
82
256
591
331
408
369
611
396
346
145
534
324
460
421
379
585
471
445
470
0
295
323
390
327
299
4
428
492
132
487
405
385
557
514
536
211
326
351
449
340
353
291
0
381
351
150
498
327
461
466
327
356
281
519
569
534
136
220
337
115
527
395
561
118
509
462
397
261
364
601
390
644
395
628
0
209
520
330
514
369
0
242
513
482
470
282
505
399
352
291
429
535
354
350
447
574
239
461
615
420
310
491
566
532
535
330
447
593
378
158
326
496
570
507
649
323
300
412
384
244
508
590
276
527
563
346
444
443
600
398
490
540
337
493
378
371
158
459
432
481
269
519
200
395
489
0
393
486
506
386
221
527
356
260
176
379
365
551
375
187
327
427
0
274
483
520
374
574
461
497
499
347
421
0
568
110
407
537
184
435
524
311
467
373
379
352
436
466
435
498
248
42
343
533
271
420
416
518
492
397
554
371
483
295
389
470
411
524
355
277
379
266
593
249
491
467
262
555
459
128
599
358
554
296
240
322
143
450
646
612
557
453
295
412
161
463
489
362
374
404
329
353
571
414
621
407
342
341
397
0
325
439
182
616
556
243
352
352
198
478
234
348
351
552
429
478
237
457
159
437
423
584
462
329
405
359
613
450
425
360
595
585
550
540
434
190
545
367
250
369
571
407
414
384
308
134
229
142
342
356
427
434
450
470
590
255
664
596
501
448
372
464
404
471
522
395
293
380
380
241
483
501
478
380
191
367
446
285
361
406
443
273
560
462
625
355
316
368
651
511
420
580
334
419
427
313
324
392
429
397
151
322
553
492
225
520
416
403
411
356
465
461
328
235
373
254
520
673
450
329
381
227
340
566
570
295
340
452
281
415
486
470
388
523
544
279
29
617
358
353
439
395
182
373
376
532
25
104
291
526
368
604
0
399
286
317
510
600
200
692
278
439
538
473
533
494
510
520
310
306
338
563
451
373
342
527
548
346
498
293
515
645
515
195
325
0
391
501
235
405
351
295
0
401
337
273
597
449
459
462
0
379
481
479
487
282
387
467
399
451
463
420
427
233
453
382
581
296
419
18
631
614
486
286
127
287
0
278
301
431
523
452
544
567
523
489
399
517
443
344
506
462
504
475
400
203
280
314
229
513
423
383
299
252
274
181
374
495
442
313
267
521
475
413
345
345
551
403
385
251
324
517
325
333
351
387
445
477
391
599
599
212
242
283
579
610
331
190
327
511
303
547
372
195
599
472
344
336
534
391
322
217
511
311
672
465
488
521
611
577
151
551
202
331
233
313
224
573
381
240
483
275
329
366
610
219
287
376
567
530
625
443
318
192
490
551
441
547
480
376
308
301
537
486
241
208
454
612
167
371
418
317
169
215
157
432
392
420
522
184
433
369
303
396
530
175
242
540
386
498
450
484
346
370
319
409
633
674
475
467
167
327
509
398
538
450
233
523
219
177
424
189
221
506
276
344
511
665
571
114
285
589
479
567
334
260
447
483
295
363
466
339
341
348
356
565
658
365
302
272
276
448
429
326
545
411
577
476
143
463
128
464
540
353
307
428
314
422
597
299
471
535
423
207
500
222
421
625
507
606
399
537
245
511
254
337
408
455
134
457
433
355
367
295
527
209
243
355
435
183
320
155
434
410
292
673
532
286
197
403
394
488
428
297
440
377
413
490
537
236
596
318
192
587
501
357
229
89
130
180
565
255
285
354
142
273
403
443
128
30
291
275
369
352
318
335
434
392
574
0
487
65
414
381
405
520
509
584
491
466
456
527
400
390
442
540
586
516
449
239
335
520
307
432
395
316
584
515
361
546
397
387
388
369
384
485
294
63
439
441
648
230
478
415
441
391
514
444
411
144
493
536
523
486
354
155
512
328
330
431
236
483
29
491
370
332
139
503
488
259
573
360
448
570
450
577
419
472
312
503
253
444
267
335
385
440
306
607
575
435
444
384
263
296
599
409
546
453
330
303
429
461
464
411
635
311
0
299
478
433
419
138
350
413
366
600
249
358
394
540
144
244
280
176
366
237
508
409
393
364
354
620
536
485
491
495
480
607
302
464
492
464
413
314
390
143
345
252
239
451
75
660
551
310
430
254
312
245
364
350
435
414
361
419
147
317
567
530
459
622
381
364
294
542
659
420
525
314
544
205
164
214
237
327
498
284
514
521
570
347
557
209
597
308
473
444
86
245
372
461
541
469
402
341
380
227
201
575
550
418
561
303
458
226
462
541
462
452
319
479
511
532
540
538
464
139
486
464
422
580
397
572
388
156
282
356
261
478
640
556
111
71
279
438
424
406
528
369
547
288
272
301
375
506
553
542
590
247
541
506
559
490
404
414
449
211
318
364
503
436
16
636
266
505
456
125
508
315
308
403
467
386
430
534
209
370
257
607
474
599
0
328
429
151
268
436
497
394
521
495
250
401
474
391
487
473
234
509
585
264
413
467
281
109
671
466
398
339
356
102
508
420
140
431
311
490
578
598
379
425
490
432
119
380
570
315
592
294
297
352
388
621
293
492
536
299
481
452
253
453
372
429
313
688
443
392
267
279
441
469
593
8
543
320
447
417
196
0
290
406
471
285
368
518
285
417
413
504
479
248
317
310
356
471
522
295
470
294
656
555
530
358
491
673
423
289
0
562
375
454
152
265
302
508
277
360
234
413
419
210
446
84
279
400
516
557
497
161
423
291
0
619
525
413
468
236
500
172
484
406
430
313
570
382
316
525
522
437
179
629
530
352
338
365
510
660
267
407
674
527
487
538
527
683
587
304
500
530
403
263
222
619
207
322
267
0
462
461
457
375
5
214
183
572
249
475
393
436
509
525
569
516
309
566
614
255
530
325
390
389
183
565
357
413
479
25
412
550
393
151
474
303
401
37
496
448
668
164
157
420
455
361
180
257
448
419
347
426
361
373
435
265
320
460
589
357
231
375
526
381
343
312
0
505
279
213
303
508
631
397
555
519
89
628
0
146
471
492
100
339
401
424
376
263
294
455
606
388
275
557
319
160
463
261
533
491
363
524
149
364
215
528
468
438
405
591
612
601
505
477
386
261
429
368
450
447
290
592
248
303
540
506
251
496
380
552
575
559
356
223
591
265
199
371
364
0
387
442
560
418
404
354
510
533
163
621
492
358
402
422
238
510
537
454
451
327
469
313
306
360
195
375
385
421
376
423
507
295
543
336
300
290
312
359
455
298
587
286
300
0
323
403
484
11
398
588
518
423
301
399
341
125
359
636
175
446
508
204
316
522
555
529
382
482
467
492
86
251
51
164
318
295
303
429
309
303
367
540
256
518
505
269
165
404
203
393
392
473
352
325
315
512
533
261
473
260
439
145
450
428
299
361
227
394
509
505
577
405
515
462
348
523
477
445
229
524
628
438
438
485
442
255
355
474
411
430
436
417
481
275
479
61
542
276
352
279
372
344
223
477
625
612
515
273
335
183
642
322
367
621
399
384
326
506
546
528
515
157
555
187
457
428
388
416
362
368
469
464
403
479
364
422
685
547
242
343
236
439
9
489
547
607
281
329
397
359
221
438
394
334
329
476
184
358
393
448
356
439
386
286
419
151
205
688
358
289
516
255
379
299
510
356
451
282
491
240
546
486
443
477
289
235
224
307
467
480
544
498
424
207
479
628
307
388
432
256
502
427
416
374
448
228
453
398
352
482
545
436
551
264
373
264
243
443
455
459
470
197
446
310
460
370
270
241
490
392
447
487
396
196
490
485
302
417
529
316
330
660
578
51
362
543
238
364
348
576
284
483
372
514
491
315
235
339
238
225
373
387
572
419
599
236
287
353
316
229
473
484
556
547
234
405
291
362
255
470
477
382
529
80
463
592
482
382
388
347
292
697
231
490
464
450
619
129
340
552
341
628
164
549
413
516
566
472
595
535
427
565
137
466
420
460
14
252
631
546
506
250
461
526
525
500
446
567
304
499
404
431
284
387
541
296
90
271
359
459
386
690
547
556
693
269
555
372
477
574
689
363
204
283
474
553
429
473
339
224
442
0
588
430
476
319
362
246
511
230
356
490
335
374
504
237
366
647
270
340
298
364
379
211
390
435
361
594
270
135
622
393
303
238
363
0
470
194
549
487
303
103
516
502
0
236
325
344
619
384
609
308
667
336
493
0
447
545
311
273
172
335
375
471
456
342
587
374
138
231
340
368
491
525
207
393
480
449
319
0
519
324
382
245
462
639
340
323
497
617
372
246
490
282
453
308
348
435
266
182
142
644
473
337
225
486
485
186
350
557
559
397
322
252
565
475
514
361
329
307
428
652
309
390
246
270
110
548
320
356
308
524
455
530
200
573
386
199
379
608
554
423
462
525
511
380
514
450
380
415
497
270
522
447
577
504
588
537
614
292
241
362
282
576
141
541
520
420
457
327
420
464
203
468
514
388
531
0
380
499
230
412
523
355
464
208
393
60
359
274
27
599
590
280
346
424
150
421
270
110
439
541
460
119
351
503
445
279
306
356
412
448
350
462
68
373
395
242
314
514
374
249
0
532
316
420
319
503
534
451
396
475
504
568
308
474
546
279
495
583
348
523
363
349
563
493
363
446
416
353
373
303
391
372
353
156
407
508
542
491
255
321
453
276
424
444
576
379
547
446
398
686
450
437
500
345
368
314
107
492
527
240
318
517
441
259
422
444
446
677
278
641
477
374
575
496
369
0
348
369
430
444
364
520
585
571
337
418
562
461
326
265
0
472
491
0
547
434
273
332
105
591
420
496
379
436
320
377
521
380
460
400
548
270
414
469
124
627
568
515
513
452
242
385
367
199
371
353
302
365
572
257
473
0
109
524
468
292
313
491
354
324
408
391
505
408
295
585
216
416
534
592
489
504
0
571
159
431
472
365
598
478
348
527
281
440
496
131
261
673
597
375
457
141
248
353
524
375
465
60
584
178
347
46
394
597
350
180
389
340
447
598
413
159
416
249
525
410
410
393
95
115
378
589
522
310
195
468
314
617
611
473
350
587
184
299
509
289
423
414
478
446
386
523
107
320
324
468
302
173
437
631
633
415
545
487
171
252
606
273
579
425
163
488
544
419
434
177
504
334
424
389
58
406
0
524
433
192
279
448
628
235
575
443
437
0
523
529
292
138
443
407
219
365
314
488
235
515
335
209
0
530
332
77
293
272
476
535
515
456
172
375
337
330
44
180
333
428
395
609
293
438
4
436
477
480
262
202
205
387
380
497
350
366
410
419
406
531
334
260
303
360
0
541
365
650
188
395
627
426
371
648
581
362
537
475
675
487
311
243
554
611
373
0
209
324
506
482
305
522
651
65
439
388
212
439
185
295
363
417
330
453
609
403
535
324
396
374
407
416
656
366
583
93
385
24
285
326
341
439
425
522
524
385
195
446
442
35
446
281
565
528
193
348
359
491
357
82
334
571
505
470
555
395
510
489
366
0
261
419
357
481
434
411
516
591
572
243
486
266
510
309
249
634
368
358
369
388
151
261
538
174
420
519
569
323
655
291
553
357
424
483
449
384
403
289
418
581
495
516
570
605
368
261
241
540
198
240
179
445
296
569
457
341
339
0
502
442
435
499
380
383
352
467
276
569
613
480
545
416
281
304
228
472
469
400
375
208
444
451
282
340
171
209
258
649
294
545
494
441
383
296
296
203
385
370
530
340
576
197
634
377
310
266
245
440
179
528
493
375
248
574
491
491
245
90
379
525
557
523
117
442
394
611
591
398
450
451
566
608
238
370
403
310
448
470
223
127
306
203
546
395
464
297
226
416
289
467
241
657
162
196
0
511
254
234
492
479
106
435
512
237
50
323
353
244
362
317
0
660
328
471
294
451
477
597
278
253
409
309
434
31
391
520
396
356
465
482
433
334
252
432
389
273
529
254
178
327
334
414
498
390
318
392
386
521
505
373
483
526
428
480
433
556
434
211
0
394
416
648
451
497
580
578
461
255
526
385
469
374
232
490
520
396
577
259
619
507
469
414
298
547
131
504
331
219
297
517
481
137
457
323
491
224
488
464
263
444
233
358
623
387
471
620
214
261
125
495
466
370
349
334
488
242
444
210
291
536
412
493
514
225
281
376
238
552
237
358
330
548
317
593
392
349
396
312
224
328
345
444
404
473
446
486
509
615
377
406
488
43
421
368
328
457
303
233
79
285
472
254
676
443
297
445
312
343
407
399
511
409
331
152
622
535
287
417
476
569
642
301
454
416
173
40
405
459
568
367
438
574
427
674
382
399
369
562
411
447
285
389
413
336
543
477
473
528
248
415
524
149
109
357
311
266
102
260
507
540
360
256
480
513
255
219
396
395
473
511
360
518
661
499
368
504
460
533
425
0
534
435
362
458
505
316
542
520
0
488
557
410
418
513
481
513
371
435
498
295
596
565
452
462
403
614
4
317
457
339
328
421
270
65
439
0
596
620
358
404
413
492
383
310
207
675
458
488
477
123
339
551
669
562
357
250
441
504
325
549
665
135
217
430
568
365
518
543
422
440
499
398
341
638
234
382
406
315
357
516
382
405
369
571
443
282
572
437
321
167
353
383
564
466
506
616
468
429
201
428
460
493
380
133
518
259
138
673
546
284
481
505
374
285
403
330
504
517
359
488
472
390
291
533
489
272
364
351
517
641
332
129
365
469
447
464
295
332
409
173
444
598
561
434
184
0
373
574
585
521
199
114
218
435
643
134
572
488
448
290
653
484
397
478
417
176
409
533
428
434
515
455
593
160
585
360
382
522
377
213
265
99
200
135
228
388
390
460
372
388
76
245
395
527
496
346
201
363
224
413
407
450
526
504
350
529
674
536
416
321
111
585
690
386
0
612
448
396
426
527
627
439
352
621
522
305
550
185
427
361
422
502
402
545
396
408
438
356
446
214
472
175
398
109
257
182
310
606
344
369
603
479
603
229
601
404
524
572
662
547
443
389
190
342
362
524
588
621
107
513
611
378
516
430
525
487
544
484
387
348
308
403
455
429
524
574
448
400
540
450
487
172
586
117
441
518
308
516
141
626
522
422
412
449
333
506
395
448
300
495
520
423
280
448
302
220
384
307
358
270
356
75
203
203
408
498
242
428
278
348
567
334
515
450
402
89
464
409
607
269
595
520
0
311
535
356
608
539
449
448
270
491
285
281
630
351
352
485
542
258
415
99
333
435
432
291
492
697
371
148
404
279
416
409
416
350
642
508
400
448
117
0
195
301
274
542
587
406
516
261
361
424
546
124
114
325
405
450
416
334
441
305
351
274
339
433
344
478
446
388
650
445
369
392
508
621
425
212
463
396
371
347
395
553
319
453
544
568
478
476
233
336
502
241
205
438
472
591
470
332
446
436
221
278
441
495
39
537
363
418
462
338
261
475
355
535
364
347
395
465
406
506
445
231
507
475
340
584
255
260
379
442
410
280
79
337
365
532
307
465
392
440
247
314
295
348
324
516
417
680
442
455
555
291
362
0
451
448
462
502
265
242
197
363
544
391
545
476
388
153
513
475
446
296
195
407
407
516
375
245
218
429
412
216
291
659
523
72
388
544
124
353
444
640
560
192
179
489
420
546
341
397
445
526
271
400
208
401
479
574
163
501
469
530
474
613
288
257
461
500
386
224
401
301
475
513
134
290
293
435
232
506
414
351
454
457
363
351
354
438
359
116
341
266
462
397
406
399
401
478
423
446
373
418
369
390
315
562
400
524
407
607
324
504
597
385
344
566
184
254
301
432
300
236
210
422
615
556
378
674
607
603
246
484
487
378
364
80
535
422
261
375
519
533
527
443
346
665
386
410
287
288
468
242
293
321
210
562
96
526
328
355
358
635
575
165
605
454
394
447
306
236
572
514
594
331
331
489
174
376
343
448
275
482
322
371
371
142
597
485
241
579
490
52
395
614
687
612
492
192
95
377
408
542
43
284
229
192
501
505
244
496
467
427
534
479
0
491
357
341
416
364
424
554
617
228
320
443
375
575
600
339
411
430
261
416
299
377
67
422
220
656
508
573
365
209
375
231
216
360
455
348
389
536
574
580
383
410
373
208
299
439
617
548
421
504
275
503
424
271
299
325
483
414
311
498
383
366
349
469
275
609
523
491
469
619
240
473
575
494
588
391
452
527
642
360
361
340
452
345
327
593
206
416
531
166
440
509
458
477
646
562
407
453
508
399
584
611
410
617
444
266
466
244
341
490
451
344
331
219
632
485
313
323
485
179
417
279
105
481
0
383
463
395
425
578
456
459
281
393
304
112
443
414
442
317
499
367
489
360
311
538
416
402
273
272
332
252
477
196
373
254
539
429
557
365
440
444
68
462
118
602
164
339
416
437
490
422
332
408
507
231
368
310
470
452
313
97
553
464
557
472
486
342
484
373
284
310
346
469
519
524
297
197
82
456
545
501
148
645
328
333
256
495
385
319
61
596
139
433
348
411
81
156
489
408
346
464
62
395
212
304
534
331
426
317
276
401
476
438
290
515
77
559
459
299
301
358
569
425
527
418
411
145
222
362
231
338
586
513
442
250
504
281
487
451
472
432
298
384
505
554
0
337
176
485
594
412
316
531
440
591
308
593
118
468
345
412
241
368
444
283
255
579
474
257
549
418
208
261
562
352
420
464
254
540
316
440
195
205
263
197
323
467
508
610
577
339
381
366
348
0
365
395
118
518
531
391
257
564
367
511
369
170
432
97
295
261
536
347
445
320
508
329
527
611
370
372
464
58
403
312
322
499
438
305
274
443
310
234
402
297
581
476
416
420
237
362
465
381
506
372
439
571
387
249
440
481
430
365
392
284
505
382
1
307
446
522
459
404
373
333
163
364
466
364
405
435
381
334
453
646
484
233
311
474
531
52
432
415
279
0
459
404
558
428
421
320
381
478
469
604
415
0
256
422
395
528
293
127
492
544
510
537
558
258
377
318
158
426
384
444
337
328
291
260
248
548
257
344
624
258
515
311
253
79
295
316
623
351
356
577
413
413
331
311
371
273
463
53
459
322
436
302
431
344
526
430
255
167
158
458
442
284
336
532
474
658
334
469
478
157
627
367
311
598
558
191
419
460
623
145
262
361
511
678
284
482
540
469
161
359
276
168
421
293
417
298
298
580
463
396
389
324
351
412
357
337
353
253
428
391
405
296
517
325
501
72
266
211
522
378
36
248
343
424
281
313
439
303
672
437
337
579
454
392
284
356
606
310
471
248
140
40
510
641
404
238
402
350
539
448
523
505
496
393
498
362
534
103
448
541
448
0
334
561
499
515
547
0
494
414
547
236
587
317
386
261
523
457
274
382
47
622
318
639
403
510
544
521
484
489
356
445
432
5
582
456
378
523
526
349
494
521
562
650
549
449
520
147
0
321
494
378
405
475
244
360
294
339
481
462
536
519
492
411
385
413
423
414
489
371
443
204
222
429
151
495
567
333
410
369
411
192
470
435
62
336
409
445
353
519
386
533
356
542
172
382
361
397
573
365
306
530
0
378
452
528
524
558
320
315
525
375
291
447
64
367
341
270
367
490
344
426
555
589
307
193
382
401
399
374
228
321
491
371
536
514
328
489
261
448
350
289
356
0
383
415
394
20
561
353
402
643
275
491
402
384
319
393
377
495
531
257
512
537
340
399
276
290
595
278
473
545
278
531
484
663
0
601
506
490
467
487
584
176
70
396
414
268
285
287
515
638
394
397
498
604
432
274
419
406
493
350
460
558
259
520
553
661
453
582
463
275
244
316
245
368
406
435
497
303
102
558
109
392
461
477
237
613
425
224
547
478
45
589
402
487
328
462
325
332
347
256
382
374
279
499
535
365
483
344
430
373
423
646
411
184
482
344
436
543
470
498
403
373
495
285
530
478
408
479
396
417
559
390
334
593
531
144
0
581
610
352
295
437
269
447
535
340
674
379
455
217
608
162
485
649
221
367
413
158
363
210
503
385
632
284
442
459
418
420
189
534
335
515
498
417
448
407
422
499
192
73
336
408
449
162
546
477
447
386
458
533
594
121
283
206
431
492
367
291
294
0
337
460
339
479
558
665
267
467
369
456
72
0
386
324
565
159
357
332
484
301
488
605
510
348
327
327
434
301
331
625
583
533
630
350
404
241
241
470
413
344
275
24
535
433
300
505
198
408
558
514
632
552
518
540
184
482
452
429
389
480
434
417
453
160
12
315
545
78
400
435
532
511
388
561
199
464
543
415
281
280
507
182
372
286
327
503
456
541
447
159
512
325
455
536
185
326
440
306
474
0
459
235
364
460
475
568
316
378
205
697
325
60
536
483
615
424
393
183
513
126
512
527
300
416
459
401
328
452
481
421
94
335
498
328
437
388
269
361
415
509
208
450
285
436
415
249
394
420
505
265
388
477
516
155
329
436
211
93
367
459
646
78
199
501
355
466
354
258
0
280
472
203
529
343
471
495
223
501
446
327
439
258
226
373
222
448
328
277
451
326
189
440
218
245
499
276
478
269
14
462
555
371
413
360
425
442
386
367
290
467
300
234
356
384
464
529
466
396
537
253
319
288
494
390
491
529
252
506
523
504
417
504
338
255
399
555
188
371
444
359
519
36
389
593
377
357
433
358
537
553
425
194
373
44
298
416
426
185
440
324
340
332
519
648
251
260
375
416
297
393
346
569
500
344
545
477
506
431
467
123
575
262
325
233
512
560
242
401
209
235
460
564
496
380
516
450
473
365
450
440
332
479
362
416
571
475
382
408
331
359
263
403
414
290
480
579
273
628
424
612
460
546
146
421
569
507
372
436
640
435
464
310
371
81
210
359
468
526
378
468
391
483
337
155
393
235
564
431
124
412
449
441
250
520
188
87
544
578
320
388
354
539
475
303
500
397
543
635
151
539
363
611
401
373
603
374
623
295
359
510
459
299
280
418
429
213
343
420
272
565
407
556
461
259
289
412
229
341
559
555
372
491
630
381
339
469
241
324
124
365
187
369
445
383
14
401
409
258
474
306
622
446
374
187
295
265
561
348
486
378
248
458
703
477
273
451
608
448
366
378
394
438
506
382
367
269
414
320
360
460
408
443
443
287
144
274
286
508
29
0
471
332
239
68
321
441
466
493
269
240
414
0
342
401
345
388
557
449
308
65
289
533
212
429
416
244
357
392
503
431
501
601
228
40
99
441
413
494
235
527
580
524
412
497
251
112
500
509
639
318
331
348
445
233
411
513
197
0
195
698
270
342
286
524
546
86
682
245
444
194
399
92
289
442
480
616
453
279
434
470
547
450
0
124
533
71
304
373
311
232
250
425
255
482
132
73
626
107
53
560
422
401
308
547
448
315
37
401
530
411
345
281
465
473
349
532
569
420
44
420
533
342
298
537
571
435
462
437
242
232
249
300
374
467
436
336
343
336
331
598
308
311
487
232
555
355
286
540
596
507
466
340
252
376
528
382
362
523
614
187
559
475
335
407
380
528
619
350
452
333
454
569
179
233
104
460
457
355
564
401
518
421
485
471
440
105
144
254
415
441
475
514
615
222
302
381
560
374
333
17
451
336
426
642
471
625
350
306
577
353
418
417
362
467
552
180
491
330
364
437
577
145
441
649
287
326
291
611
485
151
356
318
493
388
393
582
247
422
244
522
397
159
281
482
434
649
432
285
597
135
611
171
528
570
340
470
372
11
362
367
487
452
462
241
365
275
493
68
427
609
438
230
318
203
479
533
431
481
453
389
394
529
81
417
455
442
513
85
259
479
344
427
662
444
503
405
218
468
377
438
307
313
234
482
46
424
591
365
420
281
360
600
430
460
664
352
141
323
320
433
478
311
345
554
473
379
339
475
426
526
504
324
375
101
643
307
204
490
131
82
562
0
439
454
336
526
578
437
369
401
294
298
402
407
372
333
644
204
536
482
658
384
473
256
27
234
469
373
462
514
446
272
210
254
450
300
584
491
382
282
630
377
491
104
557
239
36
495
290
520
365
386
0
322
372
191
402
258
444
358
317
448
419
320
436
336
555
260
316
527
573
473
368
420
479
373
333
338
132
489
414
631
400
326
492
25
679
383
335
476
495
0
240
0
240
417
443
441
388
410
497
459
441
429
474
462
436
350
426
388
376
475
0
497
542
431
633
567
368
483
94
335
471
298
484
422
395
367
454
196
399
585
520
529
479
581
443
410
28
518
509
487
438
369
457
377
380
279
454
401
281
509
412
507
323
386
626
437
338
194
458
454
389
591
448
105
662
340
82
470
369
575
449
130
0
124
547
561
431
353
292
392
423
498
463
207
499
510
562
458
462
333
450
587
389
449
77
610
539
438
449
0
342
507
447
285
0
535
301
430
555
272
541
483
428
444
670
424
413
187
473
357
331
449
377
611
548
351
581
337
397
530
275
311
463
406
510
371
242
556
257
570
275
520
473
283
228
574
584
350
376
374
392
339
509
589
302
195
340
508
478
380
94
558
260
474
294
330
505
374
603
534
345
208
636
317
259
317
218
356
486
376
197
568
465
422
456
273
310
288
445
190
580
393
405
310
351
443
260
182
352
320
635
497
540
189
293
234
224
447
425
251
337
175
458
490
190
380
371
397
411
84
465
373
457
468
265
306
202
231
315
486
530
380
501
399
280
415
521
215
515
555
248
659
222
332
0
444
583
282
293
371
332
351
377
0
572
161
349
385
317
351
314
612
348
476
323
451
230
370
685
526
391
289
233
50
268
567
328
268
561
311
458
303
491
572
318
450
342
214
51
269
528
428
438
527
367
206
294
428
421
338
634
389
518
398
419
568
588
512
472
318
402
350
482
471
0
370
631
516
213
466
627
328
481
316
319
495
584
409
438
262
343
182
528
296
443
436
401
258
562
528
545
486
424
352
589
474
396
705
468
308
374
332
398
539
632
413
277
327
471
576
561
461
441
292
377
217
459
506
548
470
643
134
419
610
383
41
663
454
370
474
375
309
395
476
421
300
296
478
544
462
352
569
448
369
307
528
271
375
479
320
523
572
417
11
314
609
546
566
489
525
522
324
433
556
438
402
369
394
607
563
361
225
330
480
240
344
238
64
407
610
449
466
0
364
516
413
273
560
499
448
265
267
464
416
405
208
0
91
497
531
476
0
441
395
551
609
374
563
437
367
489
495
199
196
503
319
408
228
590
518
558
273
255
427
430
428
133
337
60
394
503
178
249
54
465
333
309
202
430
430
432
265
0
474
4
563
634
403
329
361
488
245
572
524
504
343
663
450
588
569
250
285
370
590
352
603
134
574
382
29
666
421
475
185
584
111
552
448
439
379
464
549
408
523
364
540
112
542
641
602
486
248
367
475
174
479
421
170
332
478
501
321
352
460
347
523
543
547
624
512
475
584
349
512
230
544
361
108
538
467
315
346
364
483
357
126
435
542
677
421
191
450
539
288
337
404
390
510
497
403
516
522
111
420
603
37
420
364
355
414
137
565
539
384
468
438
457
414
451
324
344
266
288
367
666
344
481
270
178
348
440
382
486
575
433
484
617
611
440
411
382
401
478
658
175
363
526
310
545
381
636
342
536
621
484
448
353
351
578
431
489
669
448
524
403
530
322
436
330
449
362
533
447
497
299
431
294
428
171
576
389
608
488
391
123
575
252
502
479
279
129
175
618
239
436
227
352
236
483
379
382
344
481
252
512
513
190
517
336
366
401
348
195
402
467
352
635
240
373
489
250
356
527
405
406
526
376
539
218
429
444
464
477
396
415
339
0
276
406
374
573
0
502
498
486
295
312
545
289
428
502
75
427
248
217
402
337
452
244
372
469
384
345
203
434
543
408
420
315
402
390
354
533
299
495
222
316
473
252
556
290
289
540
190
409
560
487
530
447
198
377
0
350
46
356
355
353
484
325
604
407
0
503
424
355
442
534
449
489
383
344
396
416
440
0
492
644
204
214
195
412
293
600
517
539
614
496
551
364
400
421
392
577
549
373
387
262
369
400
414
534
314
278
570
449
70
371
256
395
520
384
381
532
226
311
652
298
469
431
495
336
535
469
494
452
460
418
71
541
569
256
515
328
470
406
340
484
533
419
363
467
596
540
552
533
440
564
392
354
427
302
367
609
214
417
449
403
286
479
467
505
349
546
452
405
35
233
398
497
479
674
559
291
440
634
360
164
335
441
262
222
497
294
378
368
375
373
292
268
118
605
194
430
474
487
285
469
410
330
452
536
547
382
375
313
396
186
347
340
469
526
615
355
311
410
189
130
527
293
438
0
5
153
528
595
429
584
461
350
134
499
412
0
572
556
404
295
389
370
535
469
137
303
411
289
489
540
160
21
457
467
525
347
499
416
313
507
416
322
455
367
588
350
607
655
493
230
450
320
390
528
360
607
411
213
264
343
566
409
286
452
359
342
461
509
511
274
497
610
490
461
337
131
559
51
451
587
310
489
452
357
327
359
166
329
293
439
443
500
409
512
147
259
596
411
518
203
505
442
357
160
0
254
394
94
444
384
45
372
355
616
487
664
675
90
498
663
418
608
376
540
368
551
587
321
506
440
340
429
386
204
493
381
310
439
429
299
541
495
592
475
377
193
391
432
334
592
458
303
525
376
476
509
590
460
629
525
357
261
0
281
149
499
319
268
436
211
628
396
281
44
284
550
437
368
189
472
468
145
352
225
379
393
484
0
570
309
595
496
421
51
186
312
394
281
304
424
363
178
376
512
478
426
151
346
414
422
572
264
564
96
289
211
552
264
316
409
222
216
462
327
447
273
573
195
275
402
159
146
393
556
240
342
465
331
394
262
450
324
294
289
422
605
0
332
308
440
373
261
368
351
355
293
483
432
273
122
503
390
556
156
402
485
251
401
558
414
483
259
208
384
603
576
390
325
589
555
90
428
429
483
413
294
467
616
210
420
272
622
440
296
199
163
398
470
338
563
590
183
285
379
309
367
477
431
0
478
478
331
570
386
416
373
186
151
447
288
229
441
459
265
470
508
483
165
514
452
394
412
57
439
418
231
409
553
408
484
397
455
439
371
294
231
355
257
432
362
467
573
258
503
397
524
426
533
415
455
403
329
388
475
268
452
411
511
353
472
509
388
464
364
662
353
617
298
448
274
437
386
576
602
463
549
475
404
379
294
229
348
297
316
478
416
339
505
570
331
305
534
218
302
179
479
523
459
276
506
473
452
331
497
281
388
303
665
349
446
322
656
524
277
323
447
341
317
322
361
441
609
654
0
503
499
412
311
546
389
401
424
515
407
363
326
328
198
518
286
464
120
294
354
426
386
83
391
636
331
479
241
516
388
616
390
224
250
492
541
566
102
462
438
99
335
684
336
394
481
540
627
302
361
222
274
260
471
480
422
505
327
125
147
194
376
518
328
237
337
374
257
557
478
648
494
450
377
605
558
238
463
488
553
627
528
594
447
461
300
77
455
330
552
516
321
384
450
611
497
338
339
473
453
494
446
308
311
278
284
563
694
266
567
525
144
94
441
387
0
514
367
557
553
362
464
590
502
510
674
325
553
503
0
497
451
450
131
679
286
291
353
238
410
184
195
340
518
287
535
492
503
351
194
547
560
468
502
462
425
358
425
491
298
531
373
624
215
332
526
462
224
411
553
530
433
331
161
468
536
335
438
403
462
303
282
324
455
298
307
427
496
391
305
146
207
0
134
379
142
486
496
406
426
201
516
129
297
414
515
645
305
634
381
446
555
212
494
464
359
531
387
406
451
477
339
571
598
147
589
467
295
432
276
355
379
463
440
648
382
581
515
299
582
103
629
464
288
530
504
551
453
384
565
533
407
388
426
528
472
450
581
378
473
286
340
154
460
431
420
501
681
223
406
489
237
249
312
395
511
324
274
319
406
283
575
396
351
477
330
182
351
400
509
330
411
484
450
464
0
326
575
242
451
530
524
440
410
510
562
308
366
614
244
400
392
345
570
518
351
648
443
232
464
311
262
250
346
346
518
463
576
445
291
87
485
442
491
0
371
411
282
407
0
484
505
436
208
649
487
292
494
570
365
624
479
411
406
541
485
282
283
379
230
536
568
452
470
571
247
332
331
236
518
423
356
306
435
486
384
258
337
615
556
638
64
257
256
386
513
85
308
547
222
301
369
555
450
456
518
208
500
484
302
575
306
470
567
279
368
218
539
389
382
480
417
618
412
477
397
383
316
436
386
565
550
267
532
436
336
516
499
290
472
300
376
562
517
547
308
299
360
550
184
614
608
386
354
255
604
469
290
581
663
480
474
514
486
442
0
351
568
236
239
248
305
412
365
227
516
498
479
504
313
336
445
309
306
621
346
99
616
308
124
343
410
428
163
163
209
375
550
123
541
509
424
389
459
102
347
251
186
572
412
448
310
314
318
327
287
552
255
444
621
249
487
533
367
316
530
471
417
508
523
430
614
213
688
0
213
476
642
406
397
311
409
520
125
300
549
325
391
654
183
357
228
387
373
347
408
508
495
488
340
388
398
210
234
362
316
414
195
430
444
245
309
169
45
489
476
574
408
455
60
401
256
175
503
413
522
373
544
683
417
401
425
461
336
489
545
551
314
320
295
517
224
489
433
376
508
248
430
502
581
514
564
115
340
123
301
450
235
345
366
521
213
413
226
487
330
335
466
214
238
377
502
647
374
355
250
365
442
680
90
390
334
505
75
371
435
338
464
488
337
193
344
431
600
233
547
664
497
509
268
401
351
327
605
553
224
267
451
444
194
539
310
438
435
325
287
603
225
409
422
635
576
610
161
303
352
387
293
299
453
225
643
654
426
467
470
229
291
359
367
545
292
414
358
190
367
479
358
586
0
604
404
365
664
380
458
398
384
306
348
535
390
369
370
425
289
452
492
493
305
144
298
333
561
374
317
296
431
452
170
485
312
411
528
261
592
209
542
441
300
406
524
284
465
418
364
282
473
279
572
472
87
296
520
426
397
157
179
500
604
139
512
333
139
282
0
479
587
340
495
499
440
476
212
204
340
634
593
584
464
341
431
329
356
315
264
123
658
508
482
584
102
83
533
465
345
366
390
399
565
524
221
425
347
336
241
514
636
286
418
210
339
478
230
505
368
561
559
237
386
636
588
115
425
564
388
370
603
489
474
320
351
532
412
422
426
676
195
473
384
387
304
370
607
456
450
436
546
117
415
550
113
362
382
350
503
273
496
536
528
413
335
352
348
232
514
642
366
373
417
118
442
474
275
504
258
465
285
644
221
601
428
534
419
519
189
501
391
122
275
95
86
309
363
259
145
201
147
427
401
508
506
458
469
458
152
369
506
476
307
335
373
377
173
394
490
454
378
514
212
577
301
565
145
286
395
423
322
648
361
209
337
222
387
480
262
320
344
465
374
404
356
257
476
437
316
430
424
548
346
578
464
346
320
232
287
91
418
393
145
315
215
456
624
438
206
0
108
376
607
272
478
304
405
207
101
407
127
548
590
399
308
383
520
411
674
457
394
270
434
411
318
348
367
416
406
57
491
293
188
646
277
481
384
396
584
337
563
164
414
368
264
383
490
354
627
569
219
374
129
495
539
178
213
86
540
414
616
287
478
455
401
458
525
483
470
436
339
627
414
294
529
350
596
470
251
403
477
306
542
499
515
402
412
665
495
292
197
400
447
147
362
324
306
129
275
467
480
213
420
506
375
457
442
218
389
348
174
81
208
361
414
378
144
442
476
526
518
148
436
370
324
527
571
490
449
377
483
308
282
653
456
272
190
486
361
268
207
619
326
229
483
367
531
459
545
506
374
366
334
323
244
411
315
0
419
154
33
350
268
465
307
177
361
619
530
217
417
248
382
475
363
367
558
491
468
529
158
375
461
412
314
413
436
448
553
346
0
487
612
319
422
461
460
527
598
563
440
367
451
0
284
289
464
240
588
361
0
561
472
89
512
205
543
0
615
475
592
577
483
577
247
0
471
512
355
237
643
399
415
209
509
639
468
464
59
554
611
529
569
524
126
11
425
173
566
439
324
306
516
512
462
368
436
349
342
448
362
395
221
464
571
187
279
445
665
507
437
451
418
377
486
573
231
558
59
662
319
432
337
362
252
215
344
373
456
539
533
428
466
476
392
427
656
358
347
567
617
401
494
483
545
536
202
403
265
345
448
482
446
212
501
578
545
480
360
467
457
274
455
536
312
203
87
284
362
256
519
336
470
317
408
378
153
425
95
527
489
266
468
610
367
467
350
403
365
424
355
445
446
344
504
453
582
587
306
446
462
520
531
362
481
471
548
58
568
377
364
345
261
580
357
429
401
254
344
498
387
275
629
477
296
252
281
418
588
380
391
355
606
443
502
467
324
489
382
257
259
409
319
408
330
132
383
399
196
301
258
582
451
274
402
616
398
480
407
525
235
459
372
323
435
511
539
554
599
536
418
632
62
448
459
474
448
448
413
645
350
482
99
354
306
218
476
614
199
432
208
139
207
0
96
380
333
403
409
422
397
484
450
459
401
87
145
466
529
404
448
318
101
440
145
505
185
402
516
429
585
458
587
405
349
432
516
562
517
416
602
589
467
468
348
376
47
524
449
414
394
499
497
170
354
622
315
107
406
493
575
596
547
502
473
443
420
82
339
258
613
399
472
359
554
278
319
407
365
378
582
484
221
297
348
416
573
346
608
406
201
413
494
150
485
432
315
213
603
246
372
293
394
171
226
119
172
294
369
394
370
172
285
0
485
316
534
141
179
201
419
416
311
533
342
256
480
565
397
470
651
528
528
553
411
424
327
361
412
346
587
533
366
316
489
136
567
477
290
347
104
0
511
436
337
601
260
493
348
185
332
626
285
414
367
447
492
201
143
328
544
427
576
228
260
556
266
304
367
487
500
175
538
314
205
445
490
118
568
260
442
280
267
366
285
543
85
496
0
380
530
448
229
234
454
322
45
339
369
483
552
0
450
0
191
512
272
638
308
197
570
486
293
638
591
357
77
209
369
363
295
249
186
469
536
671
304
444
577
256
479
434
280
312
659
416
0
134
304
522
452
306
392
389
478
303
414
54
507
426
175
431
594
469
445
388
367
439
431
218
632
544
276
360
556
427
586
545
681
215
202
443
491
375
464
469
414
539
100
340
317
309
213
401
426
574
162
343
389
409
467
541
329
434
498
555
360
459
477
272
151
600
502
535
455
442
552
422
409
360
418
468
212
318
427
648
45
403
503
373
423
476
566
395
380
451
501
350
321
495
38
537
568
347
403
563
462
533
271
469
397
482
149
410
578
252
256
428
270
417
434
175
441
298
360
421
332
612
550
389
564
493
403
544
612
363
551
203
346
209
598
286
294
427
574
456
593
310
77
314
331
179
481
430
637
665
358
412
145
326
325
143
388
585
588
388
243
258
406
661
462
553
523
389
298
480
545
377
500
613
320
151
392
330
184
164
458
377
349
466
440
291
162
571
447
276
370
259
472
244
533
411
511
682
397
425
557
221
298
659
445
371
200
440
515
490
495
13
60
644
291
554
498
318
498
355
288
484
366
362
519
258
227
515
478
428
297
615
47
277
391
559
491
323
528
432
273
533
434
395
505
390
497
493
403
397
433
498
310
123
532
393
271
481
209
399
389
537
136
466
393
262
584
77
157
194
585
455
186
158
285
218
579
575
444
281
330
432
546
72
473
462
440
172
450
432
346
486
593
435
247
487
575
296
434
125
330
84
384
0
294
361
539
351
531
187
346
466
334
387
448
353
608
337
336
395
451
433
413
392
418
303
559
297
370
313
291
330
403
361
216
490
353
513
599
538
379
367
595
530
385
332
440
418
475
350
512
361
117
382
296
496
173
397
565
463
428
510
389
500
420
398
253
148
344
479
374
379
460
183
419
499
376
280
333
515
481
284
652
624
357
126
356
540
203
338
531
380
173
464
391
319
423
451
366
200
542
130
273
390
137
148
177
272
552
0
307
496
208
346
276
325
302
174
315
308
431
595
262
285
385
207
530
289
178
486
470
542
129
364
310
559
440
145
436
330
373
0
372
396
488
509
46
362
346
661
496
285
458
227
446
419
348
392
485
456
587
0
416
154
233
248
349
448
564
135
415
565
642
377
475
113
435
148
332
675
334
481
406
334
379
467
633
478
380
496
603
81
545
446
518
356
427
505
339
277
376
448
325
403
140
424
493
498
567
500
413
401
622
596
387
556
525
685
406
0
209
529
501
363
482
377
534
414
372
386
18
90
504
525
452
388
352
531
389
569
546
233
494
386
407
534
515
338
303
380
279
339
271
182
192
422
372
446
0
472
577
310
484
411
454
365
521
174
377
622
688
277
289
327
621
0
387
511
508
412
337
654
206
515
334
141
325
124
329
549
507
558
488
251
514
527
356
359
403
365
458
621
171
527
421
392
486
0
169
460
483
167
370
105
526
341
330
280
129
263
441
342
461
342
421
378
500
0
413
327
563
176
349
394
453
355
269
494
409
115
635
473
120
377
550
396
396
458
489
313
560
184
597
316
514
420
327
471
234
402
415
100
270
532
315
398
242
589
598
390
483
214
556
253
605
0
219
425
419
379
293
692
373
534
656
300
411
339
475
480
290
371
0
494
371
405
491
434
377
368
586
505
582
495
551
427
151
408
249
384
360
451
437
541
140
551
388
557
372
355
442
369
478
338
516
314
421
458
214
315
70
461
323
408
469
368
218
323
602
153
391
432
669
278
429
420
420
287
275
642
528
329
288
652
226
340
16
649
597
510
135
234
487
352
364
258
446
311
176
401
395
269
418
380
139
366
524
545
524
255
346
430
520
503
471
455
153
222
128
444
547
322
280
434
519
453
510
323
405
421
537
153
506
488
492
332
289
455
449
469
505
483
457
545
190
521
263
561
447
613
176
483
257
500
280
120
477
0
417
396
548
386
381
512
557
415
353
272
652
267
524
388
4
445
545
211
90
606
395
379
261
442
430
416
587
318
417
526
239
277
355
0
463
481
256
423
535
120
379
0
320
396
342
454
525
357
349
355
590
348
539
492
314
105
413
332
113
444
532
390
10
443
493
620
286
445
536
520
371
528
373
532
684
529
404
200
580
169
438
167
412
446
543
42
429
426
27
403
521
330
431
109
523
110
427
573
354
551
407
660
636
368
295
413
559
551
224
515
198
202
458
423
433
182
427
304
438
169
564
356
421
454
326
209
164
298
316
481
0
424
506
321
593
115
604
414
194
568
566
531
479
530
412
188
344
293
120
365
429
449
432
67
283
329
367
482
386
394
525
414
62
269
553
455
514
286
266
396
556
20
343
438
418
390
523
305
333
323
304
326
511
135
521
571
373
440
441
400
377
239
386
466
183
284
518
251
471
488
306
481
0
344
606
466
358
459
361
465
509
453
257
409
646
395
325
573
378
328
355
367
96
436
391
364
356
443
360
517
616
564
311
217
474
438
389
489
394
631
436
417
116
617
568
514
437
196
363
489
601
400
306
550
545
427
534
352
485
597
0
383
367
512
484
504
450
481
430
286
435
627
463
302
424
380
382
179
315
379
518
460
339
331
214
0
364
331
459
143
350
325
505
397
318
524
332
211
368
525
385
109
376
364
439
182
562
175
579
256
341
515
368
383
563
544
186
0
460
343
349
544
480
306
512
678
394
400
365
130
326
281
591
305
467
585
479
454
13
475
396
427
0
341
402
497
533
268
203
349
359
115
520
238
339
445
486
252
492
424
545
289
418
396
302
504
0
218
318
569
485
178
300
553
394
358
505
544
355
496
397
556
491
546
634
145
398
318
529
240
537
337
487
341
373
311
351
294
480
240
375
424
497
403
320
85
381
573
471
524
520
195
369
257
538
410
364
340
106
505
313
520
390
357
659
188
327
286
512
328
456
507
341
610
475
388
181
451
453
654
432
448
223
538
493
96
490
451
310
592
224
408
53
551
618
497
432
521
363
340
461
246
407
306
102
486
573
212
466
509
532
181
383
400
374
368
500
582
419
426
133
424
359
46
200
475
433
395
395
342
270
417
457
570
381
332
425
396
397
163
444
476
433
318
185
487
440
275
288
300
392
374
263
306
393
498
454
432
159
487
224
322
364
410
509
586
544
258
357
550
637
391
424
456
633
420
290
409
486
406
619
410
410
58
343
598
301
556
435
422
326
517
303
483
313
370
561
175
575
541
342
470
435
548
490
639
396
551
108
283
527
477
402
483
312
542
205
191
393
209
530
211
421
14
236
496
192
415
289
415
322
654
265
278
170
450
228
315
312
392
446
468
207
511
369
341
363
267
42
487
264
613
269
345
279
360
322
593
501
465
467
264
514
488
513
562
454
541
559
505
298
438
93
567
428
473
466
316
347
311
206
434
324
355
269
428
202
371
312
225
496
395
366
471
433
609
342
102
548
427
530
443
312
415
327
277
370
227
351
415
449
658
505
538
234
327
362
573
535
460
477
643
264
0
228
165
279
257
261
488
413
217
112
27
527
297
279
448
462
116
321
246
574
339
180
430
539
227
184
484
511
285
478
0
319
421
360
495
468
483
272
665
435
281
461
526
558
126
453
343
602
235
357
507
50
488
194
495
449
433
362
417
1
650
327
392
439
472
354
418
394
478
516
332
483
1
93
256
346
206
535
361
399
427
128
414
583
300
424
566
470
390
0
374
272
145
286
626
247
496
243
402
256
238
439
417
549
506
218
249
278
412
482
573
389
522
483
211
382
261
417
510
562
358
374
428
248
555
469
401
294
469
484
537
522
373
437
643
294
587
544
550
328
333
528
367
295
643
635
441
544
275
373
323
171
262
423
579
383
596
387
581
471
516
424
151
307
197
357
333
181
528
329
252
520
406
494
461
384
324
304
0
557
86
205
417
388
226
224
187
0
401
568
253
345
577
455
631
669
532
612
526
197
554
407
486
270
578
439
531
172
627
549
438
431
426
463
555
524
460
319
440
287
65
509
520
370
502
355
544
346
532
276
622
365
337
608
286
479
290
465
353
551
501
448
461
605
484
219
306
470
481
347
490
416
0
449
464
79
502
606
576
530
583
414
397
438
514
376
528
434
367
538
648
527
438
337
489
271
397
497
494
396
149
121
526
0
509
453
584
214
362
289
516
330
458
495
300
462
339
360
386
400
615
415
0
549
529
565
79
384
509
326
562
251
299
356
401
472
462
531
507
416
461
74
229
240
579
243
419
496
437
449
362
302
602
309
344
488
584
377
348
377
602
439
318
357
396
637
553
90
424
520
409
245
541
628
370
430
547
231
398
453
429
492
358
359
328
303
380
559
470
373
622
427
504
505
300
264
332
358
239
412
325
536
154
640
259
175
52
282
454
166
169
476
498
288
363
384
413
416
587
701
423
420
355
405
284
327
373
292
74
297
550
421
404
453
494
574
475
476
389
460
417
569
429
336
487
212
443
609
525
520
597
705
11
640
480
505
484
341
380
266
435
350
271
417
426
610
538
303
396
437
490
467
332
604
579
582
329
459
520
593
526
365
486
475
418
492
328
577
255
227
431
447
426
548
376
235
316
0
401
50
121
464
396
518
518
429
458
457
474
455
192
317
289
531
319
236
0
545
459
291
662
339
347
365
353
433
412
542
221
405
327
417
314
319
165
249
469
359
262
391
611
345
307
487
120
136
374
494
208
105
467
378
428
387
559
358
183
667
394
304
434
318
271
175
477
291
358
209
598
0
0
561
368
385
313
433
347
621
481
652
516
395
551
431
501
590
363
446
474
82
581
328
599
86
545
423
178
504
470
316
445
497
467
536
496
322
77
291
455
194
500
630
250
556
130
493
458
684
515
413
156
47
429
70
341
291
290
598
446
377
404
357
505
581
225
339
565
476
388
549
103
550
39
306
379
395
390
383
478
540
231
458
518
447
311
305
196
285
470
673
504
209
379
308
361
559
546
453
458
394
292
282
336
555
485
433
114
345
585
0
576
258
312
536
440
256
324
448
324
286
464
453
296
480
0
606
478
313
214
235
198
538
359
518
357
231
254
296
400
473
470
278
402
175
356
379
351
342
429
230
358
125
390
356
116
387
221
594
425
391
440
668
203
353
585
561
544
506
352
613
331
303
495
306
352
0
464
157
466
629
285
530
292
215
481
326
533
0
499
341
427
451
239
0
529
429
246
605
431
392
213
404
170
613
374
508
335
296
532
367
555
456
545
446
421
238
361
29
323
340
392
521
239
670
581
319
352
562
387
590
397
449
140
287
382
602
632
381
587
330
178
203
470
281
219
291
462
502
513
0
506
455
368
674
213
335
213
270
440
239
387
609
360
105
551
288
616
442
401
524
270
326
410
557
266
573
556
196
304
358
354
454
577
410
664
546
212
550
507
469
380
252
355
491
105
428
438
185
518
373
348
521
94
335
449
392
458
557
472
159
491
226
481
386
656
384
555
410
233
490
392
294
539
401
470
460
201
390
393
329
395
431
535
347
579
342
416
184
306
548
577
681
454
424
513
423
398
420
205
538
589
180
209
293
378
566
523
384
435
497
60
342
324
619
432
152
323
421
258
614
9
289
330
479
264
488
528
539
102
433
233
0
264
471
375
215
250
58
425
415
402
482
408
373
377
497
449
472
436
464
365
344
294
272
370
57
261
265
466
510
280
643
534
682
170
218
163
328
242
311
471
369
590
0
435
353
330
421
407
251
547
616
528
481
548
530
390
336
512
325
600
133
453
618
430
157
458
408
389
263
312
545
498
289
371
406
429
645
446
14
291
331
487
483
526
40
664
379
133
454
590
311
394
411
436
520
171
172
388
570
228
423
403
287
415
428
412
360
231
353
473
267
284
453
492
277
526
266
511
433
395
343
228
494
594
335
257
425
497
669
368
441
515
474
101
269
335
401
194
554
364
379
199
620
426
306
255
415
608
261
352
342
297
282
618
454
513
607
460
524
422
466
217
497
215
464
592
404
467
569
423
222
248
330
630
501
459
267
452
396
391
371
320
487
597
493
524
113
341
433
497
406
688
395
613
409
495
368
118
287
420
632
293
571
324
397
591
311
413
578
699
528
480
230
610
481
372
413
107
304
534
518
519
338
492
335
577
512
373
71
542
571
384
607
67
577
319
282
250
457
370
189
378
458
369
394
279
608
218
437
535
303
477
405
332
651
470
341
82
266
237
574
311
544
553
615
533
294
389
532
427
347
181
316
338
517
380
475
261
267
392
342
420
403
352
444
241
581
490
509
179
490
608
208
481
545
664
324
502
211
565
224
568
482
703
363
343
480
205
545
291
256
337
398
230
54
620
246
453
550
399
388
648
334
311
330
452
24
235
432
403
487
216
389
395
547
456
521
554
427
457
333
438
294
546
554
424
469
389
573
428
692
318
301
524
401
308
466
130
448
408
435
601
456
313
490
494
591
80
619
459
474
497
436
508
474
438
372
332
401
402
264
388
449
485
442
441
396
349
0
426
279
644
473
343
584
263
404
249
448
300
594
516
487
539
341
87
331
259
645
154
376
282
660
637
365
265
214
345
408
431
419
409
448
407
310
419
300
545
370
452
192
591
508
483
214
362
285
386
564
423
509
572
301
328
563
264
434
469
389
261
490
87
359
528
525
574
400
125
320
498
321
352
275
349
384
465
463
488
391
461
626
270
271
317
248
207
601
361
278
462
463
392
458
448
361
338
604
535
442
380
343
252
273
0
419
596
607
339
417
596
330
170
288
439
397
392
529
226
545
300
619
446
526
475
218
538
306
288
395
200
431
369
461
432
244
426
554
439
59
299
247
466
256
547
418
410
495
22
409
306
535
323
494
396
378
475
280
398
221
451
396
441
396
482
428
324
333
365
462
499
401
250
469
0
376
659
433
402
460
460
178
369
281
554
286
388
605
336
516
442
489
370
447
446
592
118
345
153
253
558
365
452
268
347
608
356
587
357
606
485
410
401
522
433
377
387
508
467
499
340
198
445
393
571
292
376
507
351
498
366
247
549
590
469
404
425
518
460
564
544
451
440
643
309
641
401
462
317
0
375
463
117
375
362
368
585
446
381
245
388
440
595
478
291
458
439
404
453
548
257
453
374
465
170
647
193
574
583
540
355
561
308
389
249
427
369
529
441
281
452
506
365
488
385
475
253
450
319
37
172
85
315
562
360
408
655
464
391
287
446
386
629
470
372
102
561
482
432
199
236
378
567
337
222
358
324
538
417
286
331
564
386
396
449
295
267
285
325
342
505
311
467
369
518
182
264
323
517
555
368
148
605
210
264
386
522
308
410
500
584
639
350
530
375
287
224
346
62
255
291
435
143
289
482
524
72
216
383
363
197
380
525
250
604
449
287
306
503
432
465
200
505
338
424
424
119
605
342
575
569
534
457
448
310
523
86
311
329
474
130
399
463
584
482
547
227
488
586
286
524
452
242
110
384
329
522
397
322
373
464
226
576
402
345
431
193
0
520
334
343
475
388
433
252
304
171
471
263
409
592
0
63
435
336
447
446
0
201
397
504
449
322
331
379
286
272
564
428
0
382
309
150
539
134
561
457
461
495
461
510
326
355
529
350
435
555
392
45
510
74
264
266
564
291
352
620
219
517
437
321
613
487
595
307
616
320
446
251
118
446
187
585
218
18
276
0
544
273
360
482
398
412
249
514
299
325
335
317
463
395
612
646
321
489
178
368
496
0
404
397
462
457
467
292
442
510
397
251
339
266
490
294
531
496
583
453
302
493
171
319
683
543
207
0
601
389
28
505
560
534
521
222
230
287
554
518
492
645
506
390
352
465
296
402
195
435
364
432
518
518
555
156
0
406
526
458
372
178
597
508
516
353
554
447
421
443
486
364
359
282
623
460
394
371
557
574
437
366
255
351
0
381
492
328
369
469
488
388
321
479
370
155
292
332
469
461
113
561
560
438
172
531
400
480
453
530
459
237
209
545
413
522
381
405
513
302
450
265
464
373
461
248
396
511
412
419
315
517
452
688
170
394
405
349
445
383
497
275
351
234
317
359
437
253
568
333
353
529
396
261
435
271
563
508
568
475
250
404
595
205
407
361
10
557
281
413
364
422
437
397
374
345
259
538
218
373
418
79
258
111
5
283
367
414
564
455
482
401
447
557
557
379
348
227
436
544
125
427
514
360
233
339
341
519
579
376
393
303
509
84
279
328
324
193
329
259
343
429
281
343
307
415
356
487
333
238
360
245
377
537
341
478
582
458
0
404
373
238
401
517
479
352
575
591
547
0
278
415
392
513
391
426
376
631
503
455
276
454
427
279
690
562
376
410
327
449
147
226
513
255
574
405
530
425
402
166
275
375
634
558
295
237
153
367
392
302
464
379
507
484
319
435
58
294
511
581
211
493
268
581
335
415
181
401
343
227
436
518
582
426
315
222
202
178
232
278
462
225
561
299
555
66
569
384
377
511
330
303
312
444
58
205
430
489
560
378
567
459
326
276
502
411
397
510
325
457
360
558
228
422
218
400
402
277
436
255
108
459
584
436
327
277
504
572
445
492
576
87
383
429
431
497
138
105
456
353
329
452
295
530
461
503
345
528
0
383
352
527
116
405
101
229
539
340
433
489
395
138
393
520
350
210
602
249
481
501
504
347
429
333
413
434
384
317
478
589
458
546
280
599
149
588
376
186
481
227
90
533
284
270
531
498
425
294
294
336
471
476
388
380
573
394
270
160
494
313
524
320
345
440
526
485
515
483
89
306
562
549
384
122
252
193
530
423
540
442
480
294
320
400
243
519
367
385
291
502
391
319
344
65
444
495
475
353
491
400
443
164
273
452
365
0
562
555
333
559
590
403
476
410
403
419
349
298
283
365
435
551
573
306
343
674
439
659
375
587
475
374
592
400
490
192
499
0
583
455
448
328
197
390
263
404
481
139
112
483
418
391
491
472
204
379
493
506
0
455
490
370
558
552
306
337
433
421
276
254
475
456
208
589
445
604
379
511
379
465
333
557
334
152
355
272
412
348
348
381
212
352
348
303
482
477
358
471
201
0
607
273
413
370
251
446
655
470
558
339
577
321
590
405
210
592
287
469
406
460
211
547
376
507
518
243
433
437
302
456
643
338
531
371
322
316
465
435
297
552
280
456
226
444
466
484
492
535
310
455
407
43
403
241
483
495
278
127
185
676
385
365
450
168
523
187
498
436
308
164
489
476
370
564
514
254
563
0
530
194
292
524
481
493
297
102
318
364
297
402
519
499
517
255
500
636
514
479
393
554
318
419
0
256
454
418
572
509
440
496
297
229
497
338
62
368
501
234
382
372
75
185
340
472
323
0
136
262
463
396
324
188
523
499
460
307
366
286
344
433
126
467
460
251
310
394
560
202
495
519
317
459
195
340
609
439
411
659
382
343
390
556
235
613
374
288
357
376
527
348
427
410
520
262
585
363
533
270
177
381
510
485
502
537
297
530
330
267
487
216
228
511
372
284
311
0
581
590
515
257
451
558
312
125
393
373
300
581
410
457
634
429
242
303
363
317
282
202
615
519
400
349
221
465
571
561
470
579
370
358
452
404
184
500
11
251
544
449
406
302
462
621
369
549
199
581
213
36
419
323
300
412
598
556
419
360
276
283
264
572
270
468
488
428
573
181
321
499
456
292
310
274
372
410
575
314
124
400
125
368
444
484
438
542
471
576
259
359
277
185
152
352
370
620
517
312
376
561
287
346
41
562
389
587
472
355
295
607
208
412
249
459
369
429
521
607
416
489
445
396
319
227
225
300
422
122
178
467
21
0
211
434
537
466
556
688
179
609
273
384
571
511
452
482
439
427
400
288
203
313
640
426
545
333
375
451
509
314
438
287
667
626
287
528
526
532
300
363
526
598
393
398
386
606
479
314
86
233
275
573
415
568
416
216
302
395
552
551
325
541
0
248
376
527
348
378
409
398
287
334
496
602
342
430
317
252
292
327
371
252
457
295
486
201
257
366
403
223
363
380
426
492
513
423
376
0
277
384
462
233
457
272
406
291
424
513
0
513
180
451
364
479
305
453
462
629
638
576
238
523
395
442
574
320
524
601
523
98
478
579
199
354
250
279
524
419
193
643
448
434
409
543
438
359
503
293
298
444
284
505
355
365
478
385
316
388
576
464
427
634
495
215
273
613
552
503
402
526
185
367
497
379
137
400
498
539
442
384
468
416
481
182
182
422
477
597
271
554
419
566
372
358
407
503
501
182
604
380
310
460
468
513
307
346
153
457
355
343
197
196
386
168
448
336
546
219
394
134
683
408
395
459
695
463
336
301
343
411
460
530
281
411
419
537
335
386
252
360
413
444
489
472
319
285
278
310
233
364
322
477
223
304
599
433
541
0
435
306
399
337
177
647
371
366
439
352
451
430
152
703
331
237
495
202
498
492
437
522
294
534
262
254
335
413
139
668
597
544
274
298
261
345
480
454
350
653
606
331
600
157
380
452
528
512
388
619
278
0
518
362
458
333
388
420
214
310
352
362
465
398
499
482
305
412
378
543
544
324
274
457
546
400
540
550
426
525
279
236
420
392
565
65
496
490
579
445
504
537
388
290
631
457
513
191
497
324
161
608
484
306
614
344
445
498
463
484
407
341
159
340
271
257
364
602
312
366
326
401
369
361
337
71
187
473
446
594
165
209
561
229
329
306
417
316
693
433
359
360
132
478
490
288
389
612
298
400
376
483
182
557
22
508
316
502
596
125
339
533
420
384
313
329
571
224
160
442
136
429
377
548
616
260
496
634
306
357
252
366
472
308
420
319
381
526
399
459
417
237
0
280
330
345
340
497
129
460
634
537
227
478
394
433
141
348
488
489
408
244
417
443
368
640
0
193
418
353
544
79
293
0
480
519
543
305
335
449
549
480
558
545
409
177
206
287
317
0
472
672
58
403
464
388
0
282
279
288
333
439
491
327
425
415
123
238
458
0
296
304
376
405
469
436
286
46
578
490
47
322
528
272
441
349
573
345
351
398
434
331
538
311
170
385
442
488
445
333
498
305
281
322
452
633
410
387
386
238
348
473
180
258
357
190
481
399
562
614
516
346
514
312
528
121
420
139
358
431
492
188
365
379
546
454
344
461
317
126
539
375
367
318
0
468
551
424
597
492
397
342
365
313
394
411
214
649
369
547
538
560
474
400
280
424
432
169
395
388
416
430
247
657
27
314
364
526
561
454
453
10
341
203
266
249
358
352
265
395
270
336
261
289
253
573
324
130
559
582
313
328
393
583
641
446
285
372
367
546
97
292
45
485
100
454
463
377
507
639
144
374
221
242
180
515
85
538
538
275
397
439
359
368
393
522
426
343
310
283
440
487
563
287
415
462
348
487
0
285
513
388
471
298
293
447
255
409
291
24
622
174
151
145
192
633
565
397
89
392
196
170
175
601
385
372
410
84
364
381
474
287
497
488
235
529
388
454
496
519
519
384
572
575
436
330
398
341
498
384
362
458
407
481
426
212
340
489
250
561
356
659
455
313
102
169
505
325
236
372
0
484
440
555
572
417
259
446
254
311
501
518
362
635
557
443
446
327
143
472
407
458
493
504
508
439
283
379
359
458
521
370
409
420
428
188
486
381
356
417
481
312
333
440
487
303
254
351
150
228
320
415
0
438
437
581
373
492
289
159
203
183
368
490
608
546
331
395
480
546
456
105
456
448
299
71
236
339
423
341
557
361
152
595
320
411
412
427
472
85
449
608
154
646
465
323
198
434
585
460
461
452
438
338
304
295
402
454
625
216
634
320
337
294
217
387
331
69
457
197
444
116
215
423
127
474
342
375
595
353
459
330
545
271
371
402
287
581
419
5
398
489
282
373
72
562
383
142
156
366
379
197
242
200
360
396
244
347
179
145
253
528
465
336
534
565
208
480
228
619
523
364
462
369
80
515
613
168
387
550
514
284
539
666
410
473
222
197
419
380
191
418
514
90
196
295
502
455
201
288
314
434
413
335
397
356
415
462
416
308
416
139
102
551
501
393
577
529
522
309
460
485
437
661
381
295
469
0
705
649
366
367
498
517
371
506
367
577
450
356
551
405
436
462
427
465
567
345
539
139
145
486
416
456
507
314
344
510
483
505
615
48
544
396
359
553
342
520
587
427
358
401
310
492
254
373
439
441
409
255
455
407
349
182
641
206
210
442
337
636
173
366
529
245
546
339
366
238
327
227
342
477
75
243
432
422
593
159
145
642
537
306
29
587
399
413
513
242
480
528
205
514
615
459
566
47
535
381
492
370
401
615
473
351
335
482
448
384
360
0
481
327
336
466
356
365
413
410
438
611
414
426
365
181
73
347
467
523
404
310
358
384
49
491
425
345
480
365
533
391
417
474
366
541
522
486
267
484
501
480
401
330
458
396
246
575
609
499
383
201
428
469
456
506
526
190
424
407
427
506
543
449
576
406
264
452
535
431
476
478
527
524
535
443
315
483
458
446
281
372
322
541
295
385
507
364
475
428
273
341
558
363
395
394
340
591
555
131
386
344
561
447
0
505
125
334
140
122
507
95
230
258
409
224
333
485
166
311
639
177
445
288
376
0
0
444
491
270
590
388
565
247
456
134
309
45
436
586
689
390
427
409
392
410
355
376
457
533
356
449
250
309
501
619
473
479
186
179
344
460
236
131
156
514
196
546
306
381
470
238
0
456
240
506
460
168
468
487
261
228
523
244
397
262
679
433
390
348
436
217
349
510
671
258
545
403
311
547
202
296
509
418
581
0
541
316
343
459
480
403
261
420
386
396
380
572
391
262
335
353
216
473
512
644
481
0
506
112
0
412
413
362
100
334
432
373
404
432
575
375
57
528
230
259
237
425
494
158
345
500
230
505
394
295
624
558
501
530
63
269
421
261
290
455
481
290
309
299
524
505
363
146
433
510
467
471
476
549
391
348
489
565
439
530
514
223
373
467
236
466
148
455
382
437
394
130
459
291
434
619
446
509
533
395
501
607
228
392
317
166
413
475
388
443
391
358
531
70
362
486
362
399
167
178
352
174
456
511
455
460
370
374
357
415
464
474
247
218
378
601
577
482
526
251
380
623
298
614
17
367
466
138
146
581
576
587
333
1
0
339
364
509
530
55
272
260
544
506
317
367
433
432
350
518
367
420
520
400
1
509
230
640
569
555
250
501
332
565
347
441
384
533
472
565
449
284
489
463
438
505
373
523
464
272
654
217
336
626
357
222
509
580
305
504
333
54
319
177
311
327
470
394
578
373
629
122
643
319
205
550
432
207
398
361
492
490
168
252
337
599
423
322
364
519
257
447
396
338
533
431
407
311
526
274
240
397
320
287
372
403
505
447
348
477
439
649
181
249
298
460
496
444
200
0
418
488
452
459
241
553
561
362
256
110
492
427
404
489
533
317
416
409
603
230
395
320
410
418
321
454
615
211
424
324
322
282
395
159
390
359
375
419
450
385
166
467
657
316
560
0
380
481
294
400
526
518
282
522
310
566
564
264
426
576
265
415
373
475
307
214
441
374
375
637
433
367
254
366
383
521
159
544
328
656
309
239
501
517
477
436
300
423
567
415
242
344
635
501
180
450
387
127
292
357
586
135
91
390
270
451
312
464
430
429
114
426
366
480
91
374
340
414
602
71
316
568
447
228
99
608
126
443
316
299
492
424
553
335
0
450
300
413
467
464
149
525
474
552
561
574
339
549
491
408
565
607
466
615
372
384
288
562
131
627
380
335
183
402
408
359
547
287
572
254
327
310
253
401
404
461
319
355
330
430
155
656
166
385
289
626
295
0
389
337
513
481
481
475
500
551
675
398
680
252
391
567
467
605
536
397
381
231
328
434
526
333
335
583
398
471
447
298
365
140
470
496
379
544
545
231
137
78
371
0
286
319
316
537
375
362
382
218
390
412
40
179
491
476
509
439
182
413
492
442
401
85
400
435
326
0
661
661
98
351
442
519
316
401
468
383
556
539
428
232
441
417
403
127
487
535
523
453
338
481
432
547
574
384
238
374
295
342
336
354
160
565
364
500
442
681
281
443
557
442
364
451
524
345
366
373
440
251
337
278
482
227
295
368
616
403
362
499
409
677
523
457
0
115
489
474
490
480
454
191
516
585
373
658
405
286
352
465
652
522
219
559
421
401
463
252
112
603
329
117
322
392
129
170
430
478
313
506
88
367
332
480
443
658
672
489
461
0
132
479
511
466
381
341
493
445
517
410
273
219
169
435
538
461
549
596
424
497
309
377
476
554
449
150
545
106
337
539
424
345
408
295
388
290
364
197
300
0
614
441
543
114
270
571
237
81
596
397
427
417
105
247
501
471
373
276
561
205
568
400
357
438
202
446
439
310
254
488
67
451
355
80
476
298
443
178
567
387
449
555
512
153
380
458
324
344
544
477
376
227
420
434
572
429
405
95
331
455
0
506
104
437
287
209
430
435
606
378
560
292
491
588
418
190
560
534
214
524
599
302
356
502
332
579
354
317
301
404
452
342
499
228
586
437
472
466
309
165
353
464
42
447
473
440
454
523
201
504
521
574
473
0
383
588
348
342
354
521
567
340
433
384
223
508
238
263
297
488
531
567
642
313
340
66
482
593
283
265
304
692
342
171
365
426
452
322
350
214
351
521
274
515
427
479
449
377
260
263
406
311
634
395
487
611
396
602
355
270
365
385
407
472
491
418
620
381
292
531
508
404
370
387
0
530
498
493
406
262
579
443
444
326
555
458
583
622
258
418
421
229
423
321
599
505
450
600
423
342
165
467
548
352
311
265
634
265
364
16
480
489
425
521
442
540
346
569
341
392
483
371
549
385
232
393
474
192
437
402
505
422
606
281
447
91
100
378
0
552
442
98
419
372
416
400
364
684
453
663
235
347
532
417
290
481
352
261
385
278
565
442
602
392
38
281
426
324
524
328
299
530
312
300
0
589
490
305
368
483
422
132
101
559
598
170
17
560
396
0
419
318
476
256
408
580
501
422
167
171
439
242
349
343
405
407
213
184
455
522
474
414
561
485
463
302
599
288
221
231
202
685
478
521
484
30
318
138
365
329
568
222
308
338
471
506
329
415
400
647
604
563
405
419
339
422
0
88
312
292
575
277
238
357
537
161
502
525
199
269
0
281
243
423
695
410
345
286
433
422
512
382
611
325
443
264
156
345
466
395
327
342
105
312
339
349
217
645
206
280
573
488
255
159
303
643
364
440
677
418
664
201
428
302
601
492
522
128
607
349
408
284
254
441
486
642
426
264
446
471
509
556
420
471
446
416
485
471
352
406
344
295
435
616
458
508
585
369
278
390
330
479
486
584
634
164
318
280
482
464
485
494
219
368
207
353
452
215
445
444
323
515
357
625
485
129
373
164
330
272
226
425
464
8
363
473
149
340
380
143
567
466
358
407
501
279
627
94
595
266
472
473
626
454
197
202
190
658
255
567
642
475
582
279
337
398
564
561
533
531
429
421
488
441
524
456
457
240
493
411
527
554
145
235
320
530
518
412
369
284
638
541
440
464
336
588
462
286
461
461
477
98
0
385
452
176
498
414
219
257
457
167
474
326
553
432
419
288
201
444
282
530
293
327
297
53
415
445
466
504
574
321
304
425
523
453
471
599
195
390
456
434
479
522
314
578
306
451
169
531
197
423
295
408
213
552
339
413
382
453
269
504
540
377
588
0
348
455
590
165
401
278
565
326
234
317
459
131
232
276
17
365
453
490
297
320
615
351
442
401
522
504
288
399
292
333
434
393
395
520
526
378
191
301
549
455
614
249
47
416
254
430
551
481
227
550
473
283
338
403
375
254
510
546
286
441
0
173
595
345
69
524
304
446
566
437
479
262
498
287
365
356
240
300
294
313
0
650
342
585
561
541
461
361
148
287
457
365
265
352
505
455
334
568
353
467
603
501
486
342
503
400
565
262
487
169
254
343
426
145
658
291
385
517
274
284
341
23
493
211
385
280
472
145
356
486
350
266
375
445
580
346
422
677
280
372
346
487
428
389
533
114
528
327
437
205
228
475
327
275
411
128
100
363
345
356
448
123
669
606
395
351
434
198
387
381
607
74
424
510
498
558
392
549
109
369
545
658
590
544
443
548
478
374
585
398
349
285
212
463
470
517
458
154
527
339
411
406
273
576
522
530
455
398
0
632
361
386
214
515
236
213
483
378
416
422
529
261
353
252
406
499
430
536
574
340
477
427
604
215
333
347
465
226
325
236
107
52
475
418
480
171
0
517
575
542
441
495
531
275
313
264
636
393
578
514
393
593
539
458
367
502
429
368
275
546
483
282
376
432
439
596
418
304
394
337
435
300
229
398
260
338
536
527
596
269
444
371
472
445
369
434
192
230
486
640
18
420
319
162
201
306
513
234
0
553
200
378
271
498
460
422
335
452
630
510
559
514
320
227
249
289
403
303
446
299
389
582
454
370
289
204
307
322
693
603
540
307
326
369
401
315
466
378
235
651
547
244
632
572
432
374
385
320
518
487
601
149
153
510
373
395
394
323
375
498
522
394
247
504
595
290
504
484
384
177
355
429
345
381
536
324
251
345
390
344
353
175
481
224
223
398
440
525
372
391
343
215
495
249
258
405
331
304
553
542
498
570
331
472
526
640
422
431
490
427
305
397
336
453
466
468
390
414
388
553
105
340
416
499
599
296
0
497
521
504
607
182
517
482
256
309
365
348
406
658
382
473
135
553
335
417
170
313
447
95
526
456
597
439
356
332
444
501
51
551
329
512
414
494
120
327
361
504
351
260
475
129
500
224
345
214
684
128
468
476
559
306
521
445
418
388
143
404
635
235
229
437
334
383
502
412
344
216
460
277
216
447
442
367
407
188
526
305
505
498
404
380
512
339
627
357
440
453
475
440
378
447
249
121
415
533
408
373
264
466
545
312
292
311
328
360
423
533
416
439
391
520
487
441
578
574
190
501
438
438
326
455
437
590
650
227
425
315
158
359
184
236
491
400
141
400
430
199
469
265
453
336
574
414
525
379
544
429
405
443
536
230
173
431
373
496
311
350
210
552
272
418
241
267
460
455
502
272
364
490
438
557
265
227
596
205
345
503
536
440
262
18
322
437
280
515
459
357
416
360
432
119
489
246
443
146
72
552
491
489
649
390
433
285
29
639
315
555
463
522
335
565
395
397
392
600
342
506
495
531
474
380
355
474
364
548
400
507
320
338
503
285
316
382
298
525
410
400
355
222
478
338
522
391
405
440
503
572
280
358
442
205
474
406
590
403
414
310
389
386
260
424
394
451
359
279
466
259
50
251
596
277
608
627
415
113
447
654
63
379
523
320
549
128
424
381
342
403
343
396
420
405
532
361
572
601
284
156
328
458
99
440
518
309
221
579
164
456
443
98
314
194
406
329
421
530
399
542
436
364
475
444
407
482
345
397
340
671
556
339
414
443
356
415
412
436
519
294
250
439
458
331
484
382
318
375
429
416
179
404
415
203
416
0
525
333
421
528
461
312
636
375
663
191
175
338
513
296
364
377
298
155
345
431
170
430
547
313
368
568
238
451
421
469
367
484
464
264
620
443
507
398
296
412
464
468
305
449
195
363
452
609
408
240
501
304
417
475
375
401
0
443
294
415
392
252
482
477
124
233
356
488
198
328
338
338
348
561
352
327
373
364
374
421
668
272
523
455
266
533
434
671
543
512
239
0
572
528
359
538
394
357
356
366
465
169
215
346
412
126
526
121
431
481
408
430
303
645
389
463
422
341
454
542
515
498
547
627
388
361
299
349
551
318
226
200
202
102
404
456
460
327
518
396
272
561
425
504
512
235
488
368
169
507
170
415
163
479
500
583
554
401
458
199
464
169
358
295
429
527
643
363
580
187
346
477
298
198
307
182
306
462
305
24
209
421
374
311
450
364
511
230
577
320
455
529
482
586
428
616
474
461
585
352
223
540
312
279
473
618
439
304
424
296
354
474
199
372
418
569
0
231
316
465
562
350
397
546
94
645
336
496
492
516
424
533
566
616
653
366
395
571
536
514
465
441
599
376
242
490
600
484
93
574
327
489
448
384
478
606
522
532
638
218
252
133
270
233
571
164
452
513
393
126
474
317
676
432
443
424
246
387
225
477
532
295
288
269
314
563
317
346
245
185
315
495
487
123
587
360
169
441
562
346
566
534
476
239
438
412
114
458
399
371
300
340
300
408
319
463
444
319
555
459
578
418
121
501
481
37
410
337
248
478
621
613
495
297
498
542
88
515
489
425
406
535
286
491
435
597
113
351
75
386
360
416
603
294
366
78
138
464
546
380
384
435
518
478
508
516
657
498
303
0
404
311
467
393
431
647
322
381
331
251
252
247
482
321
224
498
585
487
349
487
0
631
565
395
420
159
31
501
357
449
358
229
552
414
494
15
441
355
405
401
259
591
378
255
296
450
528
485
413
398
501
500
554
298
175
625
326
403
269
284
300
524
448
278
229
273
369
366
391
446
488
457
148
288
414
341
527
224
530
257
327
414
153
270
446
505
312
362
400
378
226
281
459
582
544
351
379
275
542
427
409
454
313
282
407
580
270
187
358
557
229
92
557
400
383
516
442
448
293
339
363
269
581
577
225
491
266
388
335
299
50
0
91
477
568
516
359
470
258
335
450
234
462
440
444
514
117
533
453
457
378
656
365
607
373
119
500
326
545
483
0
404
538
631
328
513
407
428
430
47
495
346
319
423
445
285
367
555
316
506
361
187
82
506
584
619
364
441
401
580
490
137
40
560
65
612
225
509
565
394
402
433
356
190
438
519
470
380
235
357
492
496
519
566
58
522
643
443
0
443
476
314
445
373
512
311
263
193
494
336
369
597
170
439
380
608
344
437
136
446
365
524
375
469
658
443
107
538
271
443
498
261
291
580
292
46
309
396
338
280
303
390
546
361
634
446
649
85
312
511
324
389
256
370
244
264
59
229
1
525
538
370
310
365
583
365
366
437
202
140
111
596
448
263
396
407
457
558
235
243
419
469
217
467
433
346
239
90
175
606
241
285
446
402
577
550
574
180
222
611
620
410
216
260
536
566
265
238
354
174
233
310
280
316
531
592
616
416
340
78
444
49
223
135
152
549
219
200
543
388
571
529
282
368
398
434
251
610
475
515
287
99
482
525
359
491
203
185
292
287
354
199
132
372
388
348
214
193
523
348
594
530
506
233
205
389
467
334
450
411
0
551
325
320
564
543
344
406
217
182
555
431
124
16
475
404
61
572
419
424
440
377
274
573
534
487
468
446
289
297
396
0
230
403
384
594
369
456
572
597
562
388
502
515
117
423
258
282
501
288
210
421
179
375
386
518
382
437
438
432
194
529
0
249
199
329
292
422
286
354
416
458
486
547
258
269
479
251
86
340
531
647
428
563
506
460
426
587
377
0
333
448
288
524
328
117
98
411
200
392
447
166
138
248
92
188
414
540
477
386
678
439
389
333
217
511
380
448
281
294
129
513
421
197
537
331
105
560
248
249
388
431
183
551
306
483
547
594
176
519
390
394
275
457
429
266
336
266
452
416
240
302
395
284
439
341
196
576
519
50
604
358
395
345
418
366
402
491
474
404
244
448
388
554
469
484
467
481
509
457
416
528
481
189
427
563
417
439
393
514
577
143
250
344
362
490
434
533
334
395
377
396
381
475
371
501
339
292
566
148
448
532
449
588
384
534
588
525
248
428
234
367
510
452
323
563
464
525
295
423
278
657
505
413
276
361
211
148
330
344
509
580
237
570
447
492
527
442
510
496
140
484
400
203
324
455
202
558
381
341
494
160
511
562
594
486
548
537
138
684
358
321
99
413
398
561
570
376
425
503
401
172
429
99
325
282
342
359
343
368
401
542
442
171
224
562
560
474
440
529
372
487
339
248
435
356
332
523
407
150
192
304
505
308
573
423
445
262
305
535
212
98
423
565
413
450
498
453
96
359
326
504
591
407
461
476
197
433
355
549
309
112
425
381
300
415
656
551
656
626
564
369
614
570
573
399
459
679
160
483
182
394
482
346
511
135
267
312
95
349
315
618
334
336
471
302
404
456
285
430
325
292
339
281
241
451
114
242
238
285
230
368
354
503
371
253
328
652
302
188
356
382
428
402
284
387
296
283
416
392
378
264
466
581
338
492
377
531
422
448
503
409
434
570
572
588
172
343
429
579
573
452
429
184
452
529
407
70
371
418
414
658
245
0
79
143
218
519
0
413
582
396
587
579
465
417
301
415
165
259
73
246
325
504
243
127
526
372
372
197
589
520
387
214
430
320
275
238
206
530
0
0
616
451
603
464
258
545
80
598
571
380
264
18
319
492
275
503
429
371
33
687
506
0
472
355
353
316
371
474
535
457
340
545
648
268
451
599
433
151
366
374
214
302
219
181
249
211
561
591
449
603
475
256
231
470
261
351
545
317
396
559
270
434
302
638
515
76
400
230
437
414
542
520
503
642
292
473
249
439
569
379
541
400
573
449
468
426
450
534
591
425
474
377
362
568
633
441
392
447
313
487
159
44
0
302
164
485
249
461
465
351
420
590
452
0
226
205
130
375
552
428
421
276
372
468
5
405
524
213
340
320
45
611
242
534
245
498
121
360
435
411
367
493
345
320
481
397
0
443
0
292
589
403
356
409
233
475
275
270
448
448
217
462
587
512
415
483
594
271
387
283
54
120
206
262
437
377
402
455
445
257
331
390
436
233
229
627
323
286
311
384
457
314
570
348
103
489
336
501
436
360
455
663
393
288
139
539
454
465
356
284
512
496
359
38
469
489
159
512
390
375
419
505
490
536
138
489
555
448
398
362
686
233
567
539
281
436
515
344
378
472
600
183
346
225
338
273
275
515
333
303
67
391
127
482
491
472
244
383
528
406
410
447
442
382
551
283
259
250
207
416
365
463
561
396
626
371
205
652
225
529
270
400
118
343
471
293
376
420
467
300
376
394
249
447
308
541
240
329
218
53
511
65
396
579
469
556
466
549
688
505
399
295
366
436
606
340
472
298
368
444
340
492
313
290
295
348
381
600
0
193
669
295
516
465
528
459
290
546
250
499
333
497
511
546
315
218
172
421
494
229
7
548
499
378
520
112
346
480
404
237
374
522
190
314
320
310
335
264
446
483
243
285
580
488
406
566
244
344
493
270
324
374
344
454
457
238
563
537
464
289
208
367
245
422
564
424
419
501
515
395
165
0
569
559
512
402
610
263
509
209
629
383
321
640
396
225
576
643
386
312
198
474
543
516
374
424
527
67
163
419
419
666
438
93
521
652
329
440
506
494
530
556
460
481
210
237
463
645
154
414
469
367
252
446
630
376
433
289
361
487
238
150
531
595
467
386
257
15
263
350
449
530
136
398
560
612
463
511
220
528
390
473
482
583
546
389
193
533
546
333
412
418
368
464
523
325
374
379
492
395
401
305
312
373
353
618
118
50
406
277
382
341
330
303
659
589
163
380
381
278
469
422
646
640
431
431
389
511
403
386
244
395
458
284
458
488
452
1
632
350
497
355
444
325
432
390
258
67
458
566
580
204
89
438
383
475
383
557
0
402
353
533
327
381
273
508
349
514
283
548
104
150
85
385
489
388
259
352
246
480
453
296
534
388
254
653
255
599
504
359
279
410
350
139
391
299
263
452
536
252
254
342
409
472
505
477
410
582
0
491
478
318
578
537
632
558
162
532
550
563
615
181
456
448
123
358
155
215
423
487
521
300
12
492
428
281
432
366
259
508
259
362
456
469
579
506
307
506
594
0
620
391
461
604
422
398
286
432
452
441
466
359
583
573
368
389
436
336
337
425
511
218
362
385
118
474
287
374
403
252
497
520
194
396
49
510
325
448
668
268
415
413
409
178
380
377
467
262
363
390
368
614
551
437
298
354
450
195
385
214
371
433
203
446
359
407
338
485
384
434
352
344
319
362
439
214
97
209
503
334
257
205
318
345
545
416
265
484
407
521
363
679
380
347
237
99
319
419
207
424
386
446
312
168
0
561
551
430
601
317
550
225
640
438
442
469
502
455
623
360
215
445
395
476
416
458
465
560
165
360
589
622
556
189
503
514
397
529
616
466
372
591
503
347
370
280
398
206
0
247
509
439
484
471
447
118
407
638
320
255
389
289
489
428
357
187
493
335
472
439
480
468
443
440
509
221
377
329
636
522
68
456
340
383
555
396
563
398
503
677
153
550
199
456
18
0
154
467
328
543
410
526
661
439
369
503
425
441
456
481
389
525
287
284
321
370
348
367
320
90
459
679
596
482
332
380
137
411
370
312
364
267
469
600
445
557
415
507
275
228
484
462
526
331
212
362
321
585
341
519
257
301
439
403
174
379
464
434
413
389
518
582
478
319
593
313
439
524
271
251
520
373
293
409
143
483
350
455
428
479
434
215
389
194
297
371
299
441
337
452
513
574
508
144
249
365
241
405
264
560
486
545
343
453
366
263
523
655
314
603
489
460
492
445
518
69
368
379
0
407
584
310
479
491
458
450
557
272
232
472
563
308
298
275
404
257
149
381
417
487
432
504
243
449
415
400
209
496
379
369
302
140
387
416
617
555
295
330
440
2
589
506
370
387
293
376
532
44
582
224
558
384
506
390
546
328
355
551
383
234
574
305
569
402
555
358
25
298
242
424
508
84
523
418
600
94
485
431
1
547
361
485
80
366
378
596
558
421
453
204
404
365
479
170
326
455
475
471
501
192
417
236
278
458
388
671
219
365
359
355
292
494
457
0
139
383
231
390
276
497
533
340
435
230
385
617
57
575
556
537
320
0
328
457
679
594
428
311
315
617
643
216
396
573
294
283
363
310
280
260
141
229
319
628
432
199
560
124
424
575
295
261
500
494
345
251
14
495
511
408
250
144
62
627
423
438
369
303
296
393
529
311
374
355
367
431
0
65
262
258
647
428
181
385
482
502
328
124
446
409
96
362
616
356
218
372
395
348
227
537
533
342
490
339
107
390
315
246
341
123
439
538
418
352
551
268
473
38
463
617
571
438
212
419
273
139
177
355
368
568
589
327
323
477
185
662
404
349
294
0
392
187
478
233
468
572
356
420
353
537
227
380
439
211
395
385
235
287
398
416
498
477
95
484
597
72
436
399
297
286
460
447
346
523
376
468
315
382
496
585
141
172
93
480
253
495
373
350
329
266
311
587
454
422
339
415
395
356
373
367
274
451
66
448
546
607
280
587
401
394
123
384
484
518
331
441
378
209
516
381
342
425
580
199
327
331
466
388
463
529
588
535
458
296
356
563
446
562
214
472
423
570
0
343
410
213
534
373
363
340
469
320
372
502
401
405
341
397
440
316
220
329
486
193
282
509
260
473
512
349
0
454
335
424
582
404
490
195
333
360
301
441
397
493
390
208
481
504
485
628
168
424
626
324
498
497
589
262
380
396
334
443
237
253
381
651
529
459
254
574
440
365
320
450
311
345
367
318
413
315
359
519
401
378
470
526
173
175
258
513
505
356
526
394
500
457
256
549
461
235
404
239
249
213
535
518
336
206
447
391
584
313
244
180
0
517
450
316
346
490
542
281
275
306
292
362
382
544
0
387
348
207
292
117
300
330
370
276
463
233
534
231
350
370
15
73
519
365
390
543
406
397
565
364
273
447
355
410
0
469
339
464
372
383
510
683
164
170
388
440
385
400
259
378
426
295
269
246
0
343
463
401
559
477
225
345
617
295
515
575
420
186
664
354
610
451
494
615
423
347
543
500
483
572
507
278
523
347
494
533
571
563
458
183
546
145
631
503
512
445
437
404
253
458
508
188
452
384
199
223
0
588
550
246
610
233
398
545
425
523
567
578
371
207
277
313
370
415
336
353
367
326
472
398
420
471
526
546
375
321
448
436
343
517
581
628
79
497
477
587
255
0
610
297
264
436
504
281
248
158
45
458
423
386
510
215
383
430
343
302
476
503
467
320
620
326
148
636
329
389
541
398
511
449
478
353
400
435
79
619
508
530
583
458
315
614
203
472
359
423
0
414
355
512
273
258
351
357
441
607
38
47
146
330
259
244
446
597
0
445
536
421
369
467
424
0
456
159
459
280
150
418
492
332
581
411
224
444
31
615
229
397
405
354
296
60
350
351
281
173
405
471
323
511
477
471
324
468
562
390
365
650
663
516
400
171
593
160
273
601
433
458
357
355
487
508
399
273
536
571
516
228
423
382
559
480
448
557
450
220
543
184
419
451
479
385
498
598
232
444
245
507
504
503
492
464
598
393
458
462
473
492
349
272
587
109
415
314
459
616
382
449
296
253
373
425
480
446
477
337
437
143
321
294
479
445
546
293
656
356
492
635
498
328
350
59
508
381
344
124
212
305
227
258
322
681
461
505
562
291
411
357
0
566
364
322
414
549
392
0
364
489
323
320
416
51
172
519
436
418
432
662
134
277
398
321
298
469
599
229
472
525
405
438
249
326
403
548
634
513
307
372
503
578
552
282
280
139
279
577
538
325
481
297
454
202
401
478
434
324
489
333
570
81
404
313
448
242
437
413
484
295
329
226
377
522
308
243
579
433
107
504
0
410
365
500
160
335
524
636
506
214
606
381
283
423
526
397
466
384
483
533
562
547
621
336
544
494
455
569
366
310
334
414
0
404
280
254
230
405
336
272
367
410
170
415
299
297
569
436
543
291
427
440
178
516
447
489
345
495
456
360
315
275
492
236
485
532
384
540
406
300
222
409
407
512
128
275
568
480
420
399
552
396
159
0
386
334
654
357
490
511
494
385
510
464
337
133
450
321
0
485
478
257
190
366
176
442
376
241
477
391
351
326
478
513
413
433
323
548
485
451
419
383
363
551
352
306
569
637
549
254
483
576
439
244
568
202
252
422
348
438
490
355
585
492
134
417
492
227
251
392
437
410
473
548
453
338
333
577
327
543
260
592
69
591
242
561
518
256
530
154
394
0
231
465
456
723
373
328
492
387
396
151
400
0
122
504
519
315
410
287
525
354
541
29
0
62
382
304
19
249
261
366
348
456
245
460
398
361
241
0
511
558
566
218
309
654
312
319
447
515
601
459
498
524
435
529
239
312
303
556
205
209
453
271
244
375
407
567
489
522
377
562
423
448
585
352
507
93
562
343
473
544
347
357
561
473
430
434
151
442
519
477
567
510
396
381
216
468
498
324
525
274
459
396
113
319
461
114
649
224
410
654
652
282
273
346
615
348
448
302
206
453
240
424
567
578
518
349
506
443
384
356
334
507
337
345
445
551
448
242
219
458
385
295
158
330
376
621
632
286
356
585
325
392
258
366
467
484
384
559
539
230
462
634
383
279
377
270
425
251
410
422
343
322
257
575
492
42
302
104
503
525
705
515
533
398
555
594
344
86
574
501
332
470
406
323
501
472
305
204
440
362
524
353
526
313
471
178
538
337
429
499
214
467
3
229
343
456
344
533
401
463
426
0
454
590
603
278
477
81
326
439
305
319
340
347
548
704
139
295
346
0
647
296
292
418
478
299
442
334
328
512
0
231
362
317
257
429
453
508
324
402
432
393
556
517
406
554
356
535
532
503
451
363
303
490
602
554
540
477
584
384
465
429
566
495
470
10
443
465
309
365
224
304
555
436
386
338
91
464
542
476
473
258
274
0
473
653
423
401
368
371
464
288
59
553
477
249
246
526
664
185
175
480
163
23
529
316
265
560
384
327
408
381
151
344
536
493
396
431
260
661
378
273
556
99
344
291
539
471
524
382
468
509
295
666
331
645
421
299
407
546
523
327
575
586
410
377
0
550
483
203
333
0
79
451
329
451
523
694
470
449
487
191
482
373
415
585
455
388
499
383
378
215
418
310
302
409
325
304
287
524
418
458
430
452
524
542
322
245
342
423
150
343
540
542
247
456
461
356
231
531
427
443
402
77
503
371
290
537
366
374
388
448
428
224
429
624
294
379
614
178
418
442
538
317
499
282
249
428
487
380
207
475
427
448
290
524
289
289
475
361
233
288
694
301
391
324
328
366
356
522
534
275
407
548
379
262
565
510
478
602
549
474
217
457
450
420
600
620
510
576
515
457
348
407
331
384
183
485
455
460
298
321
404
548
543
419
396
657
443
258
466
345
365
196
241
318
422
471
459
650
540
408
266
343
478
546
194
513
487
580
697
452
81
309
319
458
584
594
668
256
366
538
107
464
656
172
422
490
467
375
468
430
429
475
575
97
0
549
406
279
392
311
484
278
533
431
385
410
129
432
602
376
282
530
511
470
375
608
251
470
352
202
484
504
379
266
479
646
256
386
359
176
443
402
514
509
342
446
570
647
530
460
482
395
463
257
117
447
561
357
511
524
445
358
456
266
296
442
695
420
332
443
659
443
155
209
417
323
299
462
543
222
404
610
521
484
303
408
570
440
445
399
413
425
447
127
366
541
422
257
400
391
495
227
243
442
461
496
182
302
264
468
405
402
396
513
341
631
440
495
399
563
355
413
380
385
514
348
658
589
349
492
438
599
585
402
439
557
236
463
389
595
420
457
432
367
418
560
266
294
252
575
489
273
233
567
268
256
292
457
290
409
361
526
458
311
104
436
507
338
315
262
485
441
368
565
498
526
337
276
451
410
630
545
422
256
236
453
607
237
380
519
177
463
521
0
442
607
542
563
636
459
498
529
213
421
451
518
451
384
461
416
446
576
0
536
544
466
437
236
330
442
403
449
149
258
375
684
327
418
125
574
238
475
326
539
252
447
485
315
395
562
336
331
342
311
342
467
275
182
547
411
83
465
287
310
388
369
452
610
550
380
257
349
366
453
659
388
481
494
114
456
518
203
235
526
436
261
483
349
242
466
393
190
422
284
275
514
341
543
550
506
470
410
224
565
426
486
130
250
613
314
273
414
362
283
545
380
58
437
391
613
210
551
353
117
558
370
307
214
558
490
385
244
362
346
557
436
336
37
430
481
257
359
477
370
350
443
161
388
594
534
435
343
317
393
525
340
447
311
624
679
431
339
411
330
355
272
442
536
320
395
78
375
365
151
388
329
108
387
76
431
302
532
116
496
355
395
356
425
495
315
458
348
450
522
365
358
393
374
434
362
447
0
444
418
466
457
328
357
355
448
454
518
453
0
471
498
651
517
561
398
514
301
325
272
256
427
498
282
499
258
304
494
370
496
588
292
268
622
511
417
495
286
523
636
522
161
593
336
449
207
429
154
420
519
514
421
164
465
431
421
307
47
366
373
418
620
483
286
312
403
356
351
409
0
323
461
347
332
436
477
18
416
492
339
233
417
449
429
209
490
620
577
359
384
108
0
288
494
385
335
454
632
406
288
615
669
214
435
409
502
481
592
509
413
362
432
298
291
315
537
463
363
481
278
311
506
429
290
360
115
422
466
240
461
500
332
599
362
338
587
588
279
423
570
133
503
661
0
348
100
408
368
625
119
515
488
471
555
433
199
50
337
521
566
332
70
592
371
170
405
475
639
636
121
607
394
189
544
542
132
325
448
561
218
398
376
371
482
393
451
431
331
271
336
627
513
581
193
296
355
392
556
453
362
328
448
264
462
498
582
428
491
332
340
458
560
347
0
382
501
451
140
439
643
599
246
518
511
329
608
471
240
435
575
0
542
427
365
357
446
171
319
206
592
281
519
622
407
570
447
399
360
388
268
465
257
356
387
319
499
277
175
248
510
328
467
519
221
346
303
465
287
568
203
240
210
0
466
504
431
371
256
323
639
437
471
488
310
485
432
421
385
352
426
352
433
503
444
0
0
451
487
369
577
92
443
681
265
442
109
319
332
338
555
624
138
461
378
298
328
502
299
169
588
544
651
241
315
413
356
260
354
401
387
298
331
367
498
451
443
278
364
638
680
478
133
341
409
502
244
274
479
295
485
261
229
335
420
417
365
641
333
417
359
439
501
356
381
354
433
273
332
340
471
457
254
15
527
374
377
290
129
475
498
339
555
592
356
419
393
443
452
190
370
461
213
350
607
442
404
15
412
353
154
693
396
199
513
334
311
412
380
356
462
387
3
428
616
605
244
340
319
295
434
138
560
350
306
485
340
605
203
342
386
424
644
477
374
514
456
527
584
339
237
383
270
513
441
389
309
310
439
367
549
335
460
434
383
470
467
367
256
430
458
310
55
591
526
502
151
469
538
371
424
394
384
666
287
197
508
461
199
363
177
411
687
307
520
441
429
416
621
565
435
544
406
164
553
176
474
38
455
510
26
387
490
398
258
248
444
355
267
558
219
570
545
258
450
533
470
458
471
417
383
367
368
451
63
464
452
340
436
467
600
298
431
251
464
471
393
136
235
377
407
387
360
285
557
456
643
503
572
379
365
279
319
549
289
219
405
430
488
314
541
331
595
171
558
380
591
492
362
298
444
538
139
402
363
385
145
406
358
67
535
644
331
404
62
478
330
226
340
329
350
442
408
259
356
535
405
451
504
328
457
425
442
65
500
187
336
436
461
362
341
323
394
338
495
276
316
371
523
558
313
355
352
433
605
513
297
338
536
579
394
502
370
422
0
383
514
104
570
552
243
159
588
384
193
285
394
251
582
639
655
403
383
305
14
314
502
511
583
299
518
467
331
584
515
443
637
225
681
441
232
548
260
315
0
300
412
567
465
345
524
533
431
172
311
471
299
376
355
629
449
351
46
328
325
177
170
361
350
400
522
503
132
457
585
589
440
539
406
525
393
142
539
351
479
412
428
327
399
524
537
458
499
398
498
341
280
187
486
292
499
410
423
328
234
473
429
269
593
279
514
301
282
303
313
323
298
472
379
465
621
587
320
552
612
343
468
349
411
380
320
475
520
399
156
71
451
562
410
488
0
459
155
509
478
404
480
303
462
363
0
368
297
272
417
379
476
525
426
318
402
288
384
51
360
642
539
327
370
430
329
453
533
587
385
244
398
452
592
237
38
492
421
236
476
407
616
491
219
543
352
461
325
325
578
167
403
513
321
325
360
604
82
515
254
590
352
84
522
177
306
304
340
505
330
431
615
501
595
406
444
576
0
449
340
476
493
488
656
465
178
400
94
414
466
273
269
490
390
353
354
290
289
473
630
555
480
568
444
297
534
603
230
578
286
202
452
331
266
0
558
338
193
481
416
513
544
474
561
292
197
336
312
513
0
494
0
499
372
486
383
0
514
432
399
525
479
329
528
392
396
417
473
350
282
354
396
274
285
353
359
355
515
435
430
617
427
464
295
325
479
404
414
564
69
230
365
175
567
607
366
291
92
180
152
592
248
296
670
431
421
505
145
271
453
495
177
421
137
590
571
355
555
311
392
466
518
250
515
461
314
594
0
504
452
640
464
375
537
422
212
566
578
376
138
409
427
528
349
206
246
626
326
516
228
509
500
349
698
205
484
259
325
318
449
588
496
146
387
423
365
423
306
236
536
491
334
0
430
565
238
0
574
534
292
385
488
445
156
248
506
244
444
255
451
209
387
410
149
567
519
304
312
605
314
483
476
150
333
451
466
505
553
497
591
376
523
435
480
630
192
433
427
358
402
205
490
563
229
473
466
520
571
640
459
623
301
414
153
368
433
140
505
187
309
300
210
473
351
440
209
510
561
420
388
557
27
466
403
427
333
316
332
458
322
384
561
354
268
436
565
623
450
538
411
451
172
648
585
458
513
91
67
126
337
405
497
217
263
503
374
634
451
540
334
182
331
352
563
293
527
506
360
391
369
373
0
379
93
590
199
140
381
348
513
313
582
276
369
508
284
224
457
419
85
482
448
428
510
378
378
569
222
253
303
171
349
399
100
390
365
452
423
319
344
403
302
523
452
473
332
354
419
397
379
252
489
474
407
439
469
288
468
347
252
236
407
369
459
185
370
572
289
386
455
328
497
497
387
222
141
274
396
344
499
443
562
165
297
493
340
416
376
396
115
542
355
437
397
397
362
395
530
459
406
431
84
271
340
461
551
311
478
599
593
466
433
665
332
407
444
276
336
365
322
270
426
166
370
341
574
195
624
267
46
409
259
281
181
401
410
420
146
445
435
465
422
336
425
321
408
343
436
444
367
496
353
507
192
559
593
517
180
568
341
633
218
551
104
111
485
255
454
474
441
498
587
429
381
456
367
282
346
0
416
292
523
567
418
103
440
322
465
313
395
248
207
629
493
267
538
513
512
387
406
233
477
297
340
386
423
329
162
603
421
562
201
211
422
287
445
553
449
210
552
457
352
196
460
469
311
338
164
463
649
605
259
434
343
314
389
207
428
298
249
551
235
516
375
594
279
81
512
164
564
256
658
338
519
662
351
504
347
328
396
213
481
213
464
440
332
83
384
464
391
279
329
160
485
566
436
254
374
431
442
436
381
519
445
444
295
353
511
362
304
574
357
616
9
445
440
365
590
475
423
415
346
526
0
524
359
530
418
565
343
409
368
467
161
511
426
673
264
459
461
126
372
405
212
610
373
479
524
0
485
493
141
499
66
291
407
298
577
306
611
288
361
367
354
423
384
310
464
634
564
250
149
507
167
197
612
390
450
555
308
484
526
588
511
393
169
243
128
368
236
23
251
601
197
209
520
345
378
521
660
99
327
512
250
254
337
338
505
36
115
294
290
344
210
480
371
509
406
239
470
318
443
536
576
464
481
324
2
0
368
544
320
379
378
318
641
357
283
525
450
483
408
137
348
544
330
496
379
433
349
622
341
246
652
518
415
411
564
426
257
524
279
317
305
400
384
351
412
177
456
494
276
345
203
564
345
295
362
233
620
258
399
362
573
423
388
91
130
556
474
151
424
400
295
262
333
608
372
464
607
367
278
286
556
315
121
404
371
430
392
406
494
548
521
545
353
180
258
502
326
345
225
414
325
397
222
333
129
379
426
624
600
70
542
459
416
126
379
365
153
151
430
280
539
462
413
598
239
305
419
618
421
470
338
205
357
244
391
160
471
111
462
328
386
629
549
294
417
0
401
351
466
445
216
375
240
599
285
176
519
438
271
448
360
173
344
623
327
322
148
349
455
399
361
346
213
419
0
340
272
52
340
491
313
579
398
493
302
680
503
448
614
555
426
457
168
416
309
323
254
327
476
74
568
476
469
405
286
527
459
334
260
348
529
414
224
354
499
614
148
572
125
296
634
436
141
121
421
327
250
230
365
568
456
307
428
486
319
410
364
158
498
494
456
352
282
348
476
362
0
644
277
548
308
572
492
495
567
408
434
261
464
638
439
292
144
514
325
385
315
342
454
165
339
92
224
402
260
543
329
427
557
346
444
522
498
573
240
379
316
411
330
249
395
511
415
416
377
392
438
512
309
341
333
442
175
298
663
362
565
513
545
396
583
59
275
425
296
698
521
518
271
319
151
346
472
457
396
612
554
495
395
113
391
334
475
327
311
86
120
429
348
269
416
477
469
237
225
366
197
219
581
439
489
428
428
342
559
351
370
377
631
344
303
382
423
243
199
460
456
500
186
424
420
457
376
571
431
508
196
215
244
387
164
522
633
191
502
389
244
430
515
374
409
369
294
537
429
445
509
309
385
342
266
473
305
510
456
458
308
417
517
474
485
378
494
596
600
520
409
258
552
471
353
507
499
319
141
428
414
426
371
413
439
524
375
529
371
438
55
331
367
508
340
285
523
431
279
587
453
331
166
334
321
558
357
177
416
409
496
441
420
290
626
149
374
477
464
303
417
61
497
476
456
453
315
342
487
179
518
286
361
414
340
442
266
310
591
419
151
569
466
531
414
165
372
156
378
205
470
436
521
538
286
290
518
384
304
339
149
270
234
482
415
611
402
356
595
490
472
479
503
638
257
334
490
237
414
315
234
201
458
539
215
401
0
647
489
265
307
493
348
407
398
185
233
559
503
362
405
322
425
254
575
288
124
545
168
367
491
379
509
272
282
475
456
399
380
472
443
456
419
452
441
284
234
487
546
441
535
626
556
337
597
371
280
444
349
436
0
403
288
470
169
614
324
203
416
617
334
554
560
182
339
256
616
467
424
529
602
413
433
307
387
559
606
517
405
401
383
232
99
306
261
353
442
456
308
486
516
600
295
239
489
521
497
599
559
412
336
483
347
195
0
536
218
275
521
431
422
493
398
488
506
477
474
632
543
362
141
390
198
521
524
589
369
388
428
367
317
326
257
261
448
640
360
328
430
546
183
553
581
412
359
272
184
358
328
452
475
384
492
136
409
564
468
616
264
341
445
284
503
217
124
382
123
589
451
304
486
216
499
513
309
0
473
339
337
641
646
466
355
292
514
340
255
462
290
551
343
398
566
668
562
178
425
285
352
349
368
464
279
213
336
523
371
350
216
389
168
665
338
242
0
529
453
241
393
402
584
380
483
362
426
151
411
92
395
301
472
440
367
410
0
510
305
262
470
360
286
428
251
395
344
402
445
333
136
491
414
337
380
505
486
298
658
247
503
400
489
402
521
511
493
452
361
298
342
352
426
333
347
384
611
427
585
522
311
214
429
271
277
275
351
617
541
0
376
517
448
163
454
529
475
511
544
536
203
383
639
275
601
233
605
242
501
160
347
317
640
309
376
396
396
435
227
479
393
328
376
176
196
395
323
524
445
357
359
324
547
455
406
466
462
627
450
411
313
65
369
450
285
528
502
469
331
467
429
249
467
538
469
614
627
378
334
296
457
568
502
396
488
212
319
0
409
310
511
276
69
349
170
0
587
417
322
591
371
338
444
310
570
375
305
336
434
477
480
461
282
0
113
178
433
412
412
533
525
116
516
371
301
570
276
470
508
124
487
266
532
374
325
50
49
405
379
312
332
287
614
415
304
429
415
443
549
473
576
0
490
537
544
103
211
327
661
285
237
506
230
377
293
497
361
359
629
474
63
564
661
85
361
471
48
203
0
374
553
285
159
496
469
503
403
423
420
474
506
339
629
450
472
503
487
434
340
439
557
294
394
276
506
364
469
522
174
484
461
487
447
444
381
514
280
391
389
352
481
118
376
341
169
498
296
366
629
327
272
476
517
291
165
50
497
492
584
456
334
420
423
123
373
310
272
541
331
320
530
54
117
552
306
276
520
482
404
272
356
382
339
416
248
341
486
495
398
354
313
299
351
367
351
521
443
388
447
426
514
646
379
0
188
171
460
464
363
351
468
435
332
429
441
585
360
359
570
386
439
385
245
0
561
434
173
259
149
472
105
272
310
444
599
341
407
428
275
0
408
384
279
454
530
473
327
428
484
467
476
425
383
498
611
0
46
513
459
441
627
466
469
536
321
185
183
470
385
427
542
461
298
454
409
495
259
146
655
453
483
344
0
419
381
350
402
263
345
343
0
193
352
403
528
466
505
331
395
445
520
338
361
323
256
337
537
461
482
226
368
279
356
603
219
315
490
578
448
18
428
522
220
268
278
301
413
522
345
272
358
322
395
181
451
354
397
536
347
381
532
412
256
642
641
377
540
397
250
431
217
439
466
363
502
439
397
409
385
334
416
297
434
133
304
547
401
427
436
659
546
362
451
345
538
431
422
557
445
264
446
328
421
529
337
383
302
549
628
413
437
190
528
298
173
253
462
63
513
243
438
509
203
452
0
436
340
428
568
392
379
465
350
260
556
492
458
498
234
596
250
422
321
580
562
170
414
0
185
295
336
217
473
261
383
505
374
299
90
236
234
377
164
284
254
584
597
378
329
175
624
76
526
673
195
441
185
429
368
196
436
278
523
487
435
286
512
459
438
342
520
444
393
557
448
340
501
358
248
337
75
344
385
432
535
215
545
190
440
412
501
587
267
438
0
560
388
506
429
295
432
544
429
8
622
546
315
420
442
187
300
516
262
229
492
497
322
476
245
456
363
467
508
404
197
524
537
314
474
445
440
552
407
472
597
427
327
416
427
535
274
392
357
162
357
500
449
460
579
362
444
240
371
422
527
444
593
484
433
484
476
319
446
643
413
212
481
549
458
285
98
463
118
203
404
486
451
357
412
331
398
0
509
458
293
100
404
268
352
342
429
394
167
342
440
380
314
338
257
658
427
133
461
335
274
351
496
453
576
462
450
269
337
363
426
493
356
470
412
0
597
525
590
591
465
249
436
339
512
558
419
456
282
390
180
501
348
327
104
424
464
240
348
361
571
382
502
252
167
44
224
312
253
77
608
383
517
193
350
477
258
604
243
574
133
610
423
214
529
285
252
557
585
527
304
433
306
497
303
375
68
529
601
502
524
283
383
19
432
465
510
315
312
535
253
127
384
427
644
399
301
650
343
311
439
265
496
310
79
481
390
425
168
258
506
630
388
0
347
287
534
0
330
603
565
265
493
183
369
506
539
487
443
503
289
509
568
203
408
409
361
323
152
310
446
413
450
261
446
508
322
424
210
290
371
297
525
433
479
196
382
289
526
395
436
449
539
606
563
261
271
444
520
431
341
486
449
242
418
339
128
153
464
282
170
550
405
646
248
557
170
443
336
306
361
283
554
275
420
287
126
260
460
339
476
603
633
385
271
335
605
596
578
398
398
539
298
0
330
428
120
409
458
403
364
179
276
502
447
36
289
404
344
327
46
402
452
470
474
450
343
346
274
467
258
476
401
169
564
329
476
491
326
527
416
365
331
308
523
463
384
239
526
344
472
407
480
555
447
530
509
245
453
242
250
394
110
312
639
275
482
416
406
358
289
604
353
376
285
361
616
231
313
391
371
590
617
386
572
173
444
419
248
376
491
521
222
336
328
341
317
554
295
562
204
422
502
298
392
423
341
377
339
112
334
520
333
470
388
398
525
424
251
593
477
598
414
292
533
460
621
559
511
567
500
284
442
470
380
589
439
398
349
528
628
251
397
459
369
430
422
515
139
343
270
315
606
210
279
293
555
393
441
391
399
276
504
503
456
315
437
419
182
0
541
141
474
0
470
408
411
446
288
520
505
590
296
474
286
529
473
0
463
516
378
556
298
500
530
568
427
0
611
366
473
603
459
463
456
445
383
582
392
392
0
510
550
108
326
384
455
397
370
373
575
500
431
399
592
526
485
402
468
242
522
204
500
510
575
525
421
618
417
674
555
319
211
445
436
247
75
645
552
350
511
462
214
364
433
495
353
324
390
571
463
364
103
101
283
497
175
306
239
272
569
595
508
534
328
297
546
453
344
555
394
512
341
495
138
523
518
287
446
428
159
247
101
347
460
402
469
298
369
307
572
427
457
306
383
394
401
423
523
416
100
638
541
404
554
429
333
373
346
358
522
269
517
388
560
600
451
0
500
490
512
399
359
93
446
430
253
513
520
650
410
358
592
393
601
543
568
430
454
185
82
503
547
275
243
461
297
352
228
485
0
510
238
405
577
221
286
378
463
494
451
0
239
400
449
368
209
338
0
407
623
455
253
407
184
266
430
20
182
412
548
501
381
587
446
390
486
222
497
517
391
249
339
344
439
350
346
23
333
212
319
411
392
592
455
432
555
379
365
419
401
605
348
506
660
514
377
349
309
197
338
182
394
395
130
138
384
504
497
92
688
448
394
613
396
669
407
237
621
419
371
453
51
466
485
499
598
448
409
71
512
500
245
395
233
576
0
321
422
518
574
287
442
350
243
335
454
394
495
453
392
233
298
337
417
438
276
278
395
369
422
245
363
465
508
517
380
549
125
549
463
448
403
516
484
420
349
294
231
379
498
216
544
444
485
578
423
551
380
269
412
543
395
518
362
404
442
0
493
337
470
256
241
14
518
263
407
377
567
578
499
240
428
435
187
535
275
482
407
276
374
92
0
413
231
437
569
499
486
427
557
351
535
130
282
489
454
508
247
668
548
563
331
393
300
634
314
455
0
563
565
441
654
339
494
110
163
401
256
348
432
458
474
507
414
421
489
525
459
511
304
507
224
308
434
306
420
275
593
494
524
0
562
490
584
464
519
197
538
456
266
351
379
345
446
437
400
322
388
334
321
313
512
673
337
433
511
150
558
383
540
490
226
382
98
115
508
278
423
424
354
472
343
436
222
636
287
561
574
415
401
57
296
566
278
591
72
473
579
494
559
0
0
283
383
571
615
543
444
501
301
374
330
549
242
581
297
419
420
409
522
628
235
239
493
561
412
563
60
260
465
393
310
125
548
500
514
478
172
339
345
404
477
361
266
173
427
421
341
474
437
396
104
288
464
393
526
464
578
428
32
171
203
265
507
297
474
542
406
454
562
260
560
379
429
365
371
404
391
422
630
379
278
469
0
522
253
642
320
419
288
0
457
492
190
436
269
529
381
613
502
526
545
583
629
349
621
568
371
390
347
117
262
382
235
380
279
422
276
514
336
418
215
394
353
164
150
502
381
67
472
654
466
553
300
385
587
0
503
421
428
213
314
392
569
391
0
323
349
500
553
537
469
472
448
207
308
198
426
280
171
498
485
318
309
676
164
344
369
145
565
587
406
407
589
580
274
278
534
397
522
510
409
300
254
479
103
366
431
394
456
536
606
352
285
338
486
699
467
438
307
400
324
649
500
476
607
591
245
325
260
513
351
425
293
342
45
396
448
485
326
378
294
290
356
284
522
312
491
646
478
382
241
394
130
420
473
451
475
406
531
635
0
215
306
358
150
541
350
537
175
289
555
296
142
266
136
460
413
612
411
353
340
531
202
525
250
417
396
177
626
391
367
546
367
457
535
184
238
561
232
250
367
513
497
506
533
202
391
280
483
0
477
410
377
304
511
461
293
605
494
272
540
523
596
445
280
0
445
533
562
304
319
165
359
455
270
328
624
327
492
367
334
583
495
429
336
514
535
325
398
425
304
568
428
579
494
238
332
456
315
394
258
541
443
467
503
333
378
529
340
0
317
396
595
531
237
350
497
576
532
611
481
421
466
607
566
323
323
432
57
264
159
532
501
336
423
566
300
372
355
318
218
543
150
320
250
294
352
186
267
470
552
443
440
109
311
266
217
519
203
498
235
448
400
248
454
268
172
219
306
63
364
134
343
551
487
437
587
433
105
580
370
649
634
261
505
429
167
625
396
380
360
292
565
343
449
462
537
336
443
44
302
611
356
385
524
342
458
449
479
459
425
366
421
285
253
363
453
454
289
337
370
414
437
549
235
257
490
280
512
371
568
505
487
630
419
425
364
0
454
124
317
352
573
537
277
448
295
409
556
360
456
479
348
533
493
126
104
427
238
383
122
334
250
419
276
409
469
459
500
414
225
434
441
492
602
348
253
403
333
164
505
350
412
532
112
571
607
593
145
246
486
428
180
451
470
324
304
485
434
419
508
547
263
298
155
413
376
535
466
331
351
254
332
279
515
379
427
472
333
529
392
539
432
245
356
436
518
575
443
246
468
400
193
447
538
540
469
405
261
596
370
262
377
338
422
373
202
523
182
534
229
252
285
465
292
581
354
541
534
555
479
499
215
263
493
386
341
355
472
524
399
467
289
384
583
291
216
349
365
623
406
333
526
459
355
395
347
339
186
482
421
287
181
294
418
286
358
511
206
450
29
174
437
249
464
361
365
475
389
433
361
474
489
595
337
172
401
369
495
484
527
445
527
614
299
435
348
416
574
416
501
507
523
110
301
0
539
516
494
208
382
316
157
377
434
311
212
143
355
351
491
521
494
529
366
185
372
512
451
671
601
396
225
324
491
416
391
222
386
280
546
300
549
549
420
486
557
398
530
414
374
545
440
189
472
614
388
529
276
388
447
243
610
327
484
632
484
393
313
461
171
411
386
483
422
348
62
225
401
438
572
554
455
0
91
645
372
501
391
479
477
572
419
210
588
482
279
307
676
241
169
398
551
438
219
690
533
322
461
399
460
311
519
422
444
452
342
532
246
339
496
486
534
557
471
225
391
397
413
502
508
413
317
0
497
279
352
674
471
485
527
275
476
520
354
114
605
270
249
23
181
465
588
336
599
281
401
238
366
399
426
401
410
512
320
365
350
425
541
329
324
446
334
572
181
219
384
423
423
397
499
451
440
431
90
418
294
621
109
445
133
471
608
419
504
426
521
441
508
440
365
447
464
542
310
257
359
99
281
140
256
490
131
367
319
470
469
556
237
373
386
472
291
449
516
359
284
615
5
343
275
498
450
566
368
228
350
535
603
424
347
613
297
380
210
393
119
419
328
313
415
264
459
73
193
591
474
64
386
351
562
344
300
316
170
328
358
418
490
123
381
335
110
386
464
277
496
346
184
404
458
209
485
479
383
395
509
535
173
498
522
182
362
486
624
45
477
481
306
466
487
280
243
250
448
393
478
373
286
513
375
233
683
379
471
388
563
304
189
599
117
307
207
206
567
468
390
575
322
486
403
506
319
170
566
0
429
212
631
588
380
343
84
0
547
377
306
380
404
178
433
180
262
528
277
599
449
171
145
526
163
456
592
440
397
293
485
508
284
601
350
324
324
212
373
121
273
345
399
262
0
103
223
230
0
598
118
416
583
516
402
546
453
538
0
589
312
573
305
394
374
494
376
382
435
162
616
390
409
214
583
241
507
334
506
313
288
448
518
509
276
365
473
451
597
462
512
570
347
371
465
109
355
389
521
258
413
453
594
472
8
393
472
487
349
313
595
480
422
207
571
519
525
405
364
0
306
261
409
593
392
350
647
195
538
534
593
304
441
171
436
347
171
618
388
207
553
556
444
424
219
464
405
412
204
419
87
596
395
281
513
338
482
563
400
687
635
460
315
241
191
446
482
198
320
113
365
451
219
81
360
441
598
250
136
309
341
552
299
119
322
476
544
402
440
571
424
407
146
384
479
237
380
0
49
416
307
592
565
367
638
373
416
114
376
407
542
477
285
655
436
359
411
571
285
472
118
282
206
300
190
402
493
530
389
386
324
488
450
324
305
608
137
493
570
288
431
223
450
297
482
90
418
406
24
236
260
244
368
323
274
323
446
417
602
399
423
527
354
511
471
420
294
188
377
386
285
568
515
384
619
418
320
543
537
354
534
248
370
276
413
422
385
275
612
441
437
520
302
233
624
421
510
439
484
201
387
450
253
363
469
348
271
253
520
389
391
481
679
559
184
314
388
292
558
327
665
201
601
542
311
357
416
524
523
135
479
408
395
278
342
600
466
504
303
257
163
385
291
490
333
580
371
505
497
233
393
386
401
86
329
466
0
334
332
615
110
432
467
258
442
277
496
490
571
390
35
477
564
238
120
416
609
411
311
408
336
550
345
545
648
272
231
531
515
311
227
141
544
510
381
433
539
458
489
398
597
334
444
469
385
398
366
331
455
545
254
358
136
407
332
314
436
616
331
317
586
0
323
390
392
304
575
297
274
524
383
381
389
315
637
304
531
243
408
420
319
303
467
325
347
351
189
565
194
640
610
428
555
593
420
368
415
421
459
412
473
149
347
552
463
216
530
394
128
402
393
497
222
446
531
375
160
459
479
204
251
241
319
0
564
591
571
209
379
482
120
277
509
541
363
445
551
467
448
402
505
471
656
0
160
420
565
533
379
328
218
464
350
415
548
462
558
316
331
510
302
443
412
208
233
325
177
347
291
370
229
365
634
492
121
420
113
484
621
433
365
490
97
617
233
542
517
468
91
347
540
498
296
0
525
392
481
240
515
414
490
436
399
197
536
267
219
172
433
464
263
416
416
459
613
299
370
353
446
451
345
178
84
539
374
654
454
544
455
318
512
146
400
398
456
447
383
433
379
408
346
399
485
593
489
547
362
459
0
481
408
395
512
338
201
367
286
526
513
270
516
387
457
419
287
253
0
493
446
89
390
577
298
340
255
491
540
320
440
440
434
634
438
505
368
565
354
115
337
312
401
492
364
652
479
226
517
328
394
319
254
307
345
425
0
400
389
378
411
265
273
274
704
416
415
514
93
250
576
161
485
456
332
372
394
522
238
604
448
421
465
301
510
409
508
329
431
429
459
223
466
359
367
362
489
566
282
464
379
262
241
527
442
214
530
479
367
491
319
582
0
500
453
278
456
317
263
608
700
75
282
500
349
0
449
375
541
484
345
387
456
209
298
450
391
534
285
370
295
44
555
340
230
617
260
330
414
630
92
382
482
443
314
447
396
404
494
413
373
445
519
435
375
462
539
342
444
179
438
396
504
645
247
237
524
334
453
281
509
50
636
467
354
505
569
528
642
564
319
350
181
581
259
226
414
12
358
609
182
397
377
300
513
443
561
432
407
564
142
280
652
152
600
406
417
673
464
155
400
311
364
223
510
343
334
265
381
249
289
546
487
241
252
397
250
295
348
94
396
403
341
57
336
305
291
467
252
569
321
255
509
398
587
340
470
381
564
560
322
497
383
454
238
578
406
447
277
438
267
93
542
316
485
533
235
634
528
40
633
554
328
154
230
496
417
373
445
556
177
442
429
414
598
411
272
0
273
441
433
166
336
0
553
360
454
379
429
577
340
0
421
411
345
226
440
445
590
501
507
410
428
490
138
383
191
398
418
342
284
462
442
445
254
332
308
401
430
657
333
112
671
294
616
332
325
523
624
266
425
418
394
427
369
378
326
465
451
315
204
299
345
572
482
527
219
297
323
208
274
611
73
440
131
464
254
545
419
275
511
474
234
509
265
477
288
406
200
448
675
635
217
439
116
158
563
593
514
399
517
317
373
117
587
291
478
138
421
560
275
462
93
411
208
475
402
465
578
432
439
621
321
457
281
527
633
447
251
116
207
516
413
402
388
131
392
394
529
354
364
475
147
569
493
493
561
414
162
359
429
325
421
346
441
587
236
0
281
383
165
377
156
152
150
483
226
426
378
275
613
608
603
403
154
698
374
539
415
267
280
557
179
424
596
542
417
412
513
495
650
233
562
571
673
301
421
142
423
366
227
370
458
336
561
378
155
388
487
524
477
535
340
298
584
562
270
346
462
415
232
621
363
377
301
0
563
217
525
418
467
300
510
502
494
314
426
279
427
427
423
347
405
172
199
357
437
238
648
355
315
514
278
615
309
569
579
503
424
330
459
214
322
390
488
396
327
293
319
526
552
476
427
504
170
336
371
227
490
506
529
0
553
621
334
599
517
285
532
317
534
447
225
539
361
238
325
229
132
177
530
551
430
493
407
629
488
343
421
381
369
578
358
647
309
304
426
500
353
587
493
399
480
490
554
495
3
331
401
530
466
160
315
614
273
533
506
673
67
550
496
290
354
427
354
361
426
611
371
221
273
155
478
427
387
303
329
536
380
411
490
510
433
539
595
295
175
409
454
587
389
453
408
126
475
605
457
453
485
172
443
520
521
270
417
323
356
484
399
282
86
320
588
115
375
92
438
431
432
402
435
196
431
459
507
377
314
506
437
404
0
136
128
532
170
637
256
340
328
516
182
234
135
356
400
0
515
109
353
319
365
622
658
538
569
268
285
495
347
438
490
293
459
464
419
404
448
504
331
140
424
501
396
438
368
273
520
381
340
638
382
251
380
257
320
322
384
432
514
569
364
324
382
471
333
189
319
188
481
470
339
460
364
265
325
601
598
306
384
431
388
313
473
514
450
344
370
267
601
367
398
580
545
466
377
456
411
301
130
153
333
409
345
323
287
581
552
297
369
385
436
246
494
539
526
86
341
412
547
523
682
539
403
620
485
492
0
310
482
412
610
553
557
399
502
420
461
193
285
481
187
5
211
314
224
92
385
611
500
637
429
335
585
438
541
466
314
231
424
432
585
302
299
292
437
389
350
559
608
528
344
617
333
356
369
604
424
239
436
290
276
272
384
177
238
353
374
444
347
415
254
429
306
482
237
668
327
397
402
160
407
258
283
448
327
506
424
467
450
652
265
164
285
479
491
214
379
401
491
51
486
428
657
466
491
383
525
638
86
559
404
279
331
487
369
558
416
596
203
326
353
424
663
369
640
542
562
44
496
433
337
440
406
406
293
421
271
541
257
352
388
500
646
596
605
600
253
224
512
292
431
471
282
0
504
532
240
494
440
376
352
571
598
99
376
341
213
338
206
420
362
423
310
361
213
352
380
407
571
519
394
364
277
562
295
596
652
334
106
338
233
0
366
385
451
489
434
349
518
254
279
336
407
393
323
33
409
0
468
457
508
305
382
376
348
351
0
646
424
493
564
359
416
456
243
197
634
384
125
499
244
553
390
561
0
239
327
638
379
392
533
305
377
189
551
333
413
509
501
425
341
205
362
25
223
308
379
606
258
308
367
519
590
427
477
400
252
536
355
430
108
162
400
650
337
473
509
457
508
331
289
0
151
293
505
359
343
605
200
479
377
584
428
506
255
323
386
196
366
499
354
586
428
561
359
0
336
499
102
494
298
350
374
320
447
521
571
465
210
486
613
500
440
375
449
459
393
224
323
548
203
47
576
265
380
373
585
169
540
452
329
258
258
394
594
244
445
79
448
382
529
173
75
456
401
337
165
411
481
348
207
511
430
451
506
498
457
361
356
519
262
0
222
566
297
367
461
433
578
170
374
581
449
439
239
444
457
503
307
292
291
159
437
271
320
467
219
566
242
375
432
419
288
608
318
479
303
407
187
321
421
366
271
407
537
548
466
446
526
401
517
103
429
400
425
279
44
399
402
480
558
448
533
509
205
397
363
410
506
363
616
505
254
520
430
406
86
527
103
462
334
427
542
487
441
470
402
454
413
345
483
466
449
35
425
361
266
686
525
355
515
496
265
496
385
578
505
397
546
603
501
362
285
333
394
306
111
220
540
402
464
448
310
0
337
213
305
432
448
576
360
124
175
498
445
611
406
340
235
453
321
285
701
440
284
420
494
374
441
373
88
350
186
415
403
362
493
155
250
295
602
258
213
477
346
389
290
605
278
436
465
349
566
448
374
293
433
654
438
222
349
258
262
341
392
454
258
494
307
569
434
429
329
547
441
471
386
530
384
328
446
570
650
339
165
329
514
88
411
423
591
287
530
262
221
421
210
337
428
554
618
496
609
387
260
300
480
252
500
304
291
336
417
407
196
289
235
439
446
229
253
354
369
312
528
452
279
470
535
482
398
459
475
383
534
120
451
424
463
10
444
538
288
657
309
360
351
403
466
333
456
394
454
418
0
268
533
386
304
310
608
299
320
509
348
421
618
393
368
639
387
533
476
482
51
482
305
321
0
604
483
0
347
206
362
554
514
135
567
660
438
205
536
382
231
559
343
396
266
411
486
71
473
271
446
459
426
340
502
385
553
535
120
448
402
529
485
486
103
426
469
482
202
436
595
349
587
308
449
442
0
514
287
297
460
475
616
363
237
379
357
148
470
496
693
543
416
374
320
437
498
399
175
579
304
462
434
487
678
432
470
345
641
305
360
499
63
44
547
359
597
514
308
244
403
428
386
207
413
349
524
295
409
463
608
439
634
211
460
141
352
501
263
524
384
615
414
177
471
401
425
101
394
461
356
299
440
494
247
251
361
225
381
389
404
528
388
372
472
499
404
688
338
317
610
487
572
312
299
278
258
356
679
250
472
557
158
526
437
464
343
221
609
676
406
246
716
407
312
496
240
417
421
563
313
424
492
329
226
407
600
581
354
294
354
276
69
544
458
355
397
496
493
353
172
255
675
497
545
347
91
302
157
504
33
701
502
362
641
331
253
266
496
263
465
541
229
403
231
456
362
534
508
200
268
405
485
323
508
492
182
566
247
322
351
250
352
497
554
406
260
568
454
328
144
511
461
336
463
558
451
214
697
526
416
358
464
133
441
387
431
427
157
339
294
484
630
529
170
255
406
496
535
258
265
229
398
112
458
285
501
293
405
401
409
520
488
320
253
350
547
318
568
61
348
439
399
432
577
257
438
494
512
420
416
310
239
179
180
270
334
453
195
382
327
527
380
493
475
348
448
547
155
212
343
348
504
379
488
512
323
275
253
139
534
218
382
453
430
537
564
539
289
315
547
463
524
232
377
461
372
393
569
529
360
63
488
341
153
155
286
578
590
0
591
452
368
306
600
270
445
602
413
391
414
607
555
315
285
513
477
480
335
427
444
292
336
527
336
454
314
482
444
224
319
185
334
523
0
569
384
249
338
412
247
441
401
516
437
332
128
273
536
657
396
422
370
478
502
386
491
589
495
325
203
473
295
635
598
474
567
327
407
126
372
356
245
383
451
461
286
153
589
328
143
286
616
255
539
333
447
448
401
289
421
478
500
445
430
472
195
440
467
272
338
274
229
320
408
371
127
386
314
497
289
381
580
613
274
128
348
151
321
412
437
431
357
504
497
436
289
316
321
425
253
266
298
295
253
338
307
355
470
276
592
277
257
434
460
328
599
477
611
444
360
351
272
641
505
642
590
384
518
326
0
407
137
396
200
383
379
368
105
455
360
112
366
498
515
459
394
216
342
435
607
517
349
399
475
428
186
244
700
544
202
103
441
360
372
546
140
350
189
324
162
342
501
206
571
559
530
259
477
497
463
351
280
343
573
441
362
51
413
211
283
569
331
439
394
423
64
293
309
271
397
153
375
245
0
232
16
675
392
399
590
305
577
379
512
430
413
671
416
461
0
336
269
264
328
88
488
587
200
397
328
409
154
174
665
386
483
445
248
111
391
520
452
483
101
487
442
498
429
290
374
480
464
348
462
429
0
556
509
532
236
256
421
498
426
295
499
356
570
490
426
518
530
545
373
486
271
613
436
349
430
546
585
501
51
60
330
418
518
491
528
476
171
475
345
353
345
337
300
419
446
208
344
249
372
576
645
366
326
439
519
355
611
391
421
520
599
344
6
226
568
539
334
477
493
431
406
356
254
557
391
510
394
534
0
193
163
227
246
249
285
196
470
529
594
237
311
226
170
329
307
268
313
438
312
26
628
369
556
589
543
388
584
480
36
531
285
554
443
524
491
498
373
481
348
447
481
224
525
344
348
148
425
364
499
394
337
380
335
582
560
86
341
371
322
0
131
426
396
367
422
541
409
580
384
348
415
314
289
210
443
358
595
261
487
593
282
403
470
329
520
366
466
434
429
527
387
655
484
338
270
225
315
464
197
470
422
337
481
331
352
296
502
437
307
405
503
387
386
536
234
368
338
657
297
264
439
352
541
494
357
479
365
611
478
228
405
540
523
468
405
300
259
357
560
136
436
435
431
360
306
33
354
470
194
230
569
431
503
354
336
401
408
321
243
613
321
655
556
524
373
114
307
300
449
424
344
419
425
505
420
209
643
206
355
543
384
355
630
0
277
359
389
358
441
386
159
639
409
232
317
313
350
535
443
437
443
368
624
225
514
375
368
383
348
463
520
404
645
522
456
359
468
301
463
367
291
205
297
367
484
460
338
401
376
356
432
289
346
177
539
534
529
431
407
333
61
467
0
656
236
55
327
180
510
602
273
485
212
597
406
55
87
293
518
507
531
59
334
350
310
504
456
499
0
237
442
329
716
344
417
375
477
528
527
566
121
538
555
206
166
474
548
0
436
386
393
240
281
334
241
553
425
376
471
572
0
440
80
342
516
557
330
0
471
513
379
516
473
586
356
226
603
319
504
484
358
415
362
450
467
418
398
256
396
253
338
421
251
514
196
455
491
117
328
399
211
376
357
281
193
391
346
234
520
329
66
444
502
623
334
440
480
376
361
427
554
342
564
325
178
424
264
493
398
150
275
299
118
485
422
534
485
392
431
497
562
468
413
149
542
487
354
416
386
181
189
373
305
423
285
439
430
579
233
545
430
299
370
209
366
85
462
547
498
441
553
338
309
420
516
691
373
392
372
124
379
577
397
303
552
349
385
359
540
297
236
186
426
0
412
555
531
495
245
496
504
468
440
417
594
204
399
411
247
513
249
607
427
339
364
170
418
438
0
359
610
561
435
264
656
257
357
401
230
449
428
411
488
0
149
345
521
429
423
439
323
438
350
532
240
61
0
261
326
504
528
390
544
604
388
182
527
346
397
230
496
378
547
147
603
621
207
403
669
424
362
271
440
253
321
266
345
379
340
475
578
565
338
388
280
570
394
185
152
199
463
506
389
303
34
333
476
214
498
663
467
426
333
323
410
503
579
398
579
365
326
524
389
178
541
474
600
435
376
421
472
376
372
417
395
532
240
414
442
492
472
395
101
442
384
478
103
212
488
301
259
493
266
334
182
0
214
611
559
356
338
357
571
315
367
279
461
367
469
563
365
459
536
298
397
447
473
383
240
508
396
504
360
520
149
403
248
407
308
407
545
396
61
379
270
515
491
422
66
416
191
491
268
278
337
493
411
313
289
616
171
324
461
334
183
495
233
418
307
519
464
204
405
398
314
311
424
306
218
372
205
218
599
602
514
182
467
371
596
237
408
293
549
397
304
261
444
487
341
515
593
428
466
527
334
297
457
436
215
420
397
530
443
624
234
36
409
371
638
394
389
384
242
449
348
405
437
395
295
369
313
557
515
262
584
441
415
175
126
595
448
299
533
238
500
232
524
511
582
679
310
440
282
553
513
586
33
170
428
571
456
354
552
267
320
463
272
438
345
361
384
432
667
152
251
254
602
224
313
435
128
567
460
422
613
423
465
203
315
234
390
610
407
442
478
397
339
601
411
277
439
598
484
430
233
381
447
304
464
368
558
97
411
331
409
597
447
449
243
500
502
583
116
409
543
516
86
572
448
401
387
570
292
348
392
428
280
289
402
579
433
495
202
116
690
539
523
532
206
518
478
406
312
546
397
442
424
563
69
465
402
197
400
485
544
448
422
674
488
74
286
554
471
436
494
208
107
504
408
483
263
483
348
344
474
152
454
341
378
493
320
511
0
419
272
402
402
468
67
378
537
280
320
548
463
357
419
368
446
444
371
272
336
217
605
434
68
210
426
367
453
496
274
59
616
373
475
256
216
586
169
550
448
631
489
57
311
594
432
241
237
407
532
514
512
448
216
471
221
272
479
540
476
399
197
470
616
614
308
470
362
605
151
172
361
274
509
596
498
490
283
0
81
378
435
156
441
452
334
257
510
603
624
44
229
260
317
615
289
341
179
413
537
576
396
500
370
396
323
569
435
345
365
335
444
475
391
365
283
443
458
431
353
407
466
608
393
332
387
0
444
444
551
458
324
576
308
237
312
434
405
408
400
571
343
413
178
439
312
249
646
616
559
500
396
306
422
383
451
593
552
450
489
305
388
382
645
402
393
518
227
485
538
50
467
523
389
386
376
147
372
490
447
160
578
444
562
431
487
267
504
365
386
495
491
281
501
257
365
470
388
175
547
424
380
705
258
442
598
439
514
164
531
328
287
375
162
331
216
266
402
262
551
323
484
487
369
480
301
565
367
138
577
558
542
334
467
424
419
312
398
202
355
293
436
323
404
430
402
229
172
434
268
359
651
438
337
622
371
537
161
350
249
97
509
461
471
511
342
535
325
380
642
227
269
356
629
534
390
517
458
400
431
301
372
466
562
187
282
605
413
534
390
459
446
440
239
328
410
353
525
510
544
516
383
538
494
204
443
287
403
247
470
413
391
253
644
296
355
167
422
51
426
453
413
207
604
350
633
519
535
527
438
434
252
434
309
388
576
390
444
79
331
479
450
556
224
442
287
299
209
486
531
0
587
172
490
310
445
456
379
290
453
357
357
364
399
212
521
547
295
453
403
458
527
499
562
423
277
326
598
543
507
338
226
336
340
200
470
511
578
516
440
451
441
256
565
216
495
557
79
208
475
324
452
62
422
567
516
174
538
316
301
408
535
305
430
177
112
630
371
413
343
256
247
418
629
473
232
444
208
351
379
609
278
467
254
312
506
672
501
346
522
339
612
329
543
352
465
496
0
435
490
401
381
387
454
297
591
487
442
531
204
362
475
271
314
570
272
454
475
496
546
191
316
342
485
546
425
244
384
569
402
317
167
410
631
368
337
243
389
451
432
482
501
401
374
243
328
391
382
441
196
550
359
451
568
434
217
512
404
419
435
333
511
460
521
489
347
285
0
486
433
633
309
284
241
591
416
549
414
15
524
589
334
463
159
694
429
233
362
222
392
359
343
173
420
293
323
457
525
86
198
387
540
391
464
410
439
547
256
310
382
471
458
337
313
473
411
591
539
509
333
231
367
348
385
521
378
192
398
479
238
212
435
411
401
602
202
458
399
683
494
374
288
310
548
290
118
459
409
557
454
372
320
526
588
488
303
274
575
527
570
356
561
327
363
640
551
447
456
481
216
297
550
441
394
329
393
528
376
305
370
160
513
403
316
576
465
531
425
507
380
223
386
33
250
477
133
501
423
413
270
255
310
151
572
185
332
328
406
462
144
303
72
304
441
375
305
345
495
288
427
304
326
231
514
206
204
84
202
428
282
386
458
428
639
171
428
459
282
363
234
490
374
399
295
482
495
168
376
183
313
592
493
343
353
463
628
2
582
388
601
238
343
396
197
617
572
396
119
512
466
461
428
569
359
0
429
55
335
456
482
580
449
274
359
625
535
589
465
390
366
266
484
272
517
432
388
250
222
501
371
263
454
0
384
415
437
290
312
248
265
642
305
457
456
625
486
256
554
453
317
359
245
578
464
495
362
474
283
398
239
458
546
390
0
538
334
379
420
257
491
398
119
388
344
324
401
404
369
665
344
321
382
306
451
145
350
591
439
425
540
414
422
304
606
477
367
580
509
346
136
517
336
568
366
621
294
398
413
613
502
616
532
405
378
407
87
273
549
577
587
390
202
498
614
309
436
493
353
643
618
400
344
356
489
450
95
513
214
455
437
461
281
477
320
401
324
299
595
219
435
444
399
511
466
432
450
659
366
415
334
310
480
517
234
421
530
431
403
398
361
347
422
435
198
356
576
250
443
276
567
482
621
477
692
521
527
438
304
478
341
427
532
294
534
417
316
77
373
382
303
249
319
269
392
66
257
474
562
251
462
565
289
454
606
185
280
679
422
405
504
521
553
616
296
474
519
641
305
266
312
397
470
497
253
379
106
520
508
574
549
312
412
434
335
402
222
427
216
318
641
573
222
628
508
549
346
342
505
500
315
229
329
437
210
572
412
513
384
0
647
463
614
401
380
455
483
557
433
500
445
441
467
596
141
456
434
385
442
328
360
398
537
388
289
406
214
433
544
404
263
373
494
585
506
272
449
106
516
430
221
373
448
238
406
475
314
460
440
306
416
337
419
409
406
416
414
367
501
333
323
337
406
345
392
437
463
317
464
215
250
491
537
525
503
356
362
351
0
325
327
504
462
0
227
284
499
545
554
421
445
386
489
212
621
346
622
586
448
238
348
578
259
489
470
573
213
394
404
502
267
569
232
408
279
597
518
243
384
307
428
368
281
348
572
344
500
257
223
342
506
644
401
207
270
502
395
196
279
426
451
444
439
210
481
257
318
444
374
528
339
213
322
134
298
472
557
0
452
363
203
235
275
521
397
373
429
192
150
435
509
461
542
530
277
509
362
542
300
384
292
553
454
60
233
374
201
265
593
415
437
506
294
392
574
430
404
428
247
399
318
642
246
414
361
405
381
531
81
497
331
151
384
438
528
340
285
571
397
477
285
152
565
214
363
557
237
536
130
444
631
119
461
218
507
140
416
279
306
261
444
500
198
304
421
288
393
618
516
384
333
574
497
501
83
662
587
240
296
545
337
557
616
199
563
461
301
270
470
443
0
115
225
560
179
257
370
483
612
582
539
402
409
363
420
501
252
448
602
423
346
478
215
493
291
526
574
392
611
238
440
0
365
331
405
248
261
390
425
420
203
500
358
438
324
602
589
334
319
273
412
439
464
466
510
524
469
492
441
485
235
259
547
303
295
579
544
337
521
348
235
481
431
261
369
31
452
100
308
482
317
502
531
147
249
437
184
343
327
89
336
287
496
231
251
592
661
280
391
494
427
450
290
471
209
250
494
522
337
444
385
174
410
348
300
581
279
270
478
583
434
500
0
253
505
528
578
542
425
402
289
237
306
29
567
316
487
466
370
568
129
482
347
374
117
471
413
321
374
363
560
480
298
350
587
308
420
445
511
286
434
412
534
529
126
306
0
344
48
390
214
175
386
548
340
329
451
340
31
248
257
400
414
378
529
453
514
564
487
478
133
260
394
493
529
347
504
506
428
12
9
470
622
535
587
208
268
454
429
461
385
422
447
337
557
185
531
377
414
351
0
337
232
574
340
322
413
397
294
432
404
519
636
159
549
482
461
668
498
384
304
156
533
348
443
308
498
296
171
360
477
299
441
297
197
424
339
164
415
479
397
598
464
357
418
299
341
252
514
414
477
634
651
545
431
159
523
54
344
290
568
165
128
417
263
432
300
332
320
161
421
372
245
327
283
175
167
296
509
0
622
377
416
538
264
426
326
451
481
554
441
521
459
379
164
376
357
387
204
562
140
276
429
556
609
347
0
272
238
309
126
274
316
430
499
136
245
202
322
36
422
448
386
587
233
513
382
383
406
281
412
501
447
511
263
392
495
631
341
363
296
477
338
240
487
184
447
507
514
386
0
233
325
592
300
401
625
392
270
314
333
400
420
318
185
596
429
483
539
489
625
555
500
176
426
570
609
189
450
598
479
262
381
324
364
365
442
333
663
287
460
402
379
311
487
394
472
286
510
374
410
587
369
347
452
203
545
580
337
454
429
281
452
286
369
578
400
482
326
467
562
511
483
335
361
493
310
401
384
440
449
364
329
593
430
342
529
257
513
478
316
212
360
189
272
184
356
445
376
524
364
361
320
453
418
396
328
294
438
422
238
412
456
458
307
317
411
365
284
370
520
258
450
533
417
383
605
531
305
363
88
344
448
481
331
232
347
496
481
375
379
405
212
453
347
403
437
391
551
38
286
284
514
509
295
344
326
420
515
354
319
154
382
298
148
516
345
451
463
412
355
478
370
68
548
205
286
431
658
348
510
236
402
451
358
340
356
564
503
290
393
554
248
379
387
469
281
348
418
359
547
245
431
574
437
509
182
352
121
194
333
473
470
462
268
498
295
491
320
33
271
409
340
387
265
505
216
363
514
350
429
303
320
590
319
0
507
274
538
498
278
267
440
516
50
301
253
379
364
271
409
545
306
319
400
341
102
604
510
199
489
193
440
328
611
315
606
290
401
166
395
229
425
357
492
282
481
479
500
440
616
442
133
287
436
325
205
106
354
400
465
426
222
335
96
576
613
333
309
273
356
524
329
347
355
251
412
248
350
338
506
365
408
418
505
357
673
464
326
254
631
470
677
451
503
555
448
332
318
539
376
451
539
262
371
334
547
423
375
509
524
414
281
220
349
238
463
545
203
295
271
326
199
190
603
390
579
498
290
420
339
22
260
253
623
524
197
470
585
401
355
495
358
476
392
485
507
449
367
505
378
486
282
521
49
173
309
428
476
13
285
433
395
657
582
252
239
427
7
529
350
525
653
463
509
478
279
464
334
448
350
611
472
285
322
375
550
175
518
304
202
289
440
309
209
463
633
415
280
541
384
519
451
592
423
158
578
601
119
270
364
414
566
570
116
431
442
610
333
510
340
563
568
640
563
209
272
367
642
420
375
457
656
379
608
234
505
292
563
534
282
538
560
447
238
332
373
12
440
394
596
322
409
455
343
434
136
509
428
353
594
447
0
543
16
308
346
310
597
461
414
165
566
267
453
404
402
377
109
371
0
484
335
244
458
518
505
506
468
303
125
461
333
416
463
138
675
418
664
437
439
242
295
429
384
356
393
320
593
497
437
466
463
172
440
563
585
439
232
327
419
469
444
297
500
594
198
367
514
565
502
586
199
481
369
360
547
384
467
259
324
189
507
378
431
421
145
257
620
383
599
388
453
335
467
272
595
118
101
399
551
260
560
472
681
389
464
127
437
423
334
438
520
430
560
331
380
490
484
253
636
0
454
390
454
367
398
587
499
452
384
290
582
571
658
495
135
539
417
623
315
581
389
346
536
337
254
164
73
387
228
314
303
603
410
335
348
516
594
414
0
665
577
422
489
113
575
410
667
75
322
526
545
305
391
407
427
308
496
471
409
359
369
329
437
388
430
463
390
526
198
446
205
453
408
371
342
392
285
596
321
503
439
372
448
279
545
571
402
251
319
318
320
218
464
203
473
629
527
334
253
339
586
421
474
198
449
0
378
482
202
333
450
290
388
500
271
78
385
380
342
474
570
312
139
235
550
141
529
316
343
212
497
511
488
403
440
562
396
574
524
472
286
491
578
390
421
458
348
540
274
454
219
361
440
310
457
319
438
623
54
203
226
336
499
332
401
521
674
350
432
182
399
403
195
536
364
230
339
543
587
270
202
303
209
419
530
705
500
444
421
452
531
521
488
427
187
427
480
293
467
442
168
336
437
627
352
415
489
485
180
248
270
420
506
314
329
272
242
437
504
148
318
538
397
508
273
337
570
388
0
616
432
424
378
224
487
224
95
291
23
214
612
401
432
356
380
454
444
497
372
372
125
623
578
319
432
418
513
505
398
380
288
184
354
505
337
370
504
497
251
256
472
379
112
85
219
436
305
568
409
282
0
464
197
237
602
177
617
561
391
296
438
239
286
356
321
461
464
287
417
307
328
236
537
449
344
396
284
602
170
398
497
228
14
141
244
234
409
682
358
537
273
472
326
403
589
561
0
617
346
23
236
491
354
422
482
53
406
288
169
323
322
692
513
599
605
346
214
423
432
350
236
575
659
464
337
515
195
367
112
489
386
353
449
390
625
432
398
270
299
413
325
239
240
442
343
486
627
481
498
392
466
65
316
302
217
306
303
359
193
589
455
0
394
447
478
456
196
297
192
431
239
334
393
149
566
368
188
0
417
383
432
1
418
400
452
318
486
450
539
488
635
429
510
517
559
341
476
474
427
595
400
445
351
662
202
253
440
574
538
591
228
66
431
396
343
479
560
430
459
504
636
359
471
541
488
413
238
355
397
497
523
299
541
140
319
524
382
375
194
470
534
568
411
182
370
0
312
250
589
250
241
571
177
348
222
510
178
439
242
424
300
395
379
335
317
624
12
454
376
424
618
432
637
555
400
447
526
385
564
255
411
472
390
453
350
315
449
451
395
311
457
477
486
264
511
445
429
601
555
575
459
383
314
315
245
482
293
347
401
214
530
243
450
136
436
227
288
569
414
415
475
519
344
108
304
314
405
537
295
461
492
522
359
135
523
290
458
334
605
360
407
84
454
430
536
398
542
504
531
441
578
516
478
505
362
390
447
454
357
387
337
228
248
109
286
301
199
469
140
357
575
589
633
552
701
335
260
543
414
621
383
476
503
450
604
537
629
608
159
565
512
344
76
318
334
441
461
484
652
462
376
271
324
501
119
209
411
501
557
286
162
453
320
447
448
545
622
392
286
644
455
412
345
454
655
568
414
238
336
301
282
507
217
477
250
448
353
313
386
465
270
93
504
439
159
443
449
596
523
389
654
536
575
668
550
554
504
363
396
125
512
505
509
443
489
135
366
385
545
388
435
227
47
436
464
434
426
262
270
245
388
438
462
495
424
328
586
268
378
557
362
430
334
151
244
515
230
314
487
549
360
594
424
362
294
538
640
560
410
489
491
251
197
548
253
391
389
137
517
389
233
0
628
294
569
380
658
514
654
405
66
1
272
666
135
639
476
493
361
446
606
323
480
102
624
348
553
384
445
262
343
496
409
90
671
369
177
165
545
368
375
368
497
339
484
367
99
389
98
249
427
336
452
433
235
451
479
287
308
453
96
505
357
518
443
399
256
488
164
141
62
365
338
112
526
233
202
251
518
356
438
381
432
378
447
221
460
354
546
549
494
512
187
396
265
558
452
480
418
118
629
643
264
397
488
264
506
375
308
414
455
255
377
203
372
90
464
75
269
175
320
100
472
252
72
344
345
373
350
407
395
410
257
449
509
595
354
168
433
498
396
313
590
137
442
408
431
338
454
547
390
194
64
421
187
309
583
358
160
412
521
609
357
444
281
390
488
352
349
433
441
517
578
347
298
488
199
451
545
272
665
235
566
336
617
381
638
108
567
359
539
353
535
402
54
533
69
341
460
494
458
260
325
386
338
528
449
400
500
257
18
502
276
336
270
476
266
331
430
464
666
374
236
353
282
606
393
87
358
613
414
370
425
353
201
303
439
524
373
505
394
122
183
557
417
351
492
365
413
362
456
347
489
440
342
343
577
526
477
389
511
212
368
442
403
522
525
467
637
159
321
521
423
167
436
612
360
234
615
340
409
490
510
140
340
208
403
522
464
297
291
450
440
296
362
515
242
535
234
126
482
300
440
435
600
388
133
395
126
258
328
462
399
209
607
446
415
255
437
413
384
86
561
150
310
386
516
382
259
287
345
251
337
203
182
380
509
364
434
229
387
367
600
565
383
342
571
297
303
381
257
525
72
162
257
479
366
225
339
512
505
438
429
316
473
455
624
356
343
286
326
328
340
599
437
270
468
491
191
590
439
407
519
553
541
293
490
307
493
392
440
595
425
326
423
332
517
504
310
174
536
272
605
356
248
497
641
150
528
638
429
438
246
515
619
283
491
456
602
524
397
406
492
360
377
207
567
399
321
405
313
351
572
330
340
577
289
348
580
436
5
288
0
438
384
469
380
484
565
183
654
584
146
536
253
504
416
362
517
493
453
411
516
450
315
606
422
532
379
317
622
329
252
537
508
618
311
541
314
520
485
0
109
483
0
273
590
441
513
353
277
345
413
346
36
57
197
634
277
238
97
443
479
464
375
550
564
292
280
294
335
501
318
182
430
369
360
345
342
278
679
489
270
458
414
311
199
525
485
506
234
554
259
481
119
423
461
529
470
138
85
229
86
312
524
282
284
241
122
31
350
591
416
430
316
504
422
266
457
103
583
462
295
300
340
382
463
345
433
401
252
418
394
564
528
636
257
301
181
661
150
446
176
345
503
527
351
520
420
418
544
182
109
331
262
647
346
212
414
481
206
493
330
384
288
405
359
403
338
259
333
503
452
376
538
511
304
418
299
380
288
170
460
379
300
328
482
238
459
430
499
433
461
338
459
261
189
360
459
557
433
264
293
636
158
228
424
376
339
270
190
583
380
10
462
646
491
400
549
445
265
401
633
461
462
618
428
226
447
530
236
271
309
481
481
521
234
240
527
165
351
230
551
360
662
460
521
428
295
454
583
466
0
416
489
353
313
623
566
518
321
0
326
570
557
328
519
221
317
391
444
409
457
321
546
352
597
376
453
316
334
276
585
676
291
378
342
545
497
410
386
282
374
367
366
539
354
527
455
605
509
528
508
562
465
175
414
511
339
246
351
159
0
299
426
234
150
361
214
256
545
437
281
621
456
323
305
315
69
605
278
654
330
475
467
538
336
556
516
360
386
475
524
525
364
479
387
518
236
341
528
323
645
185
527
373
221
499
107
386
331
404
494
468
42
303
209
568
119
445
436
504
468
500
468
526
525
642
209
378
437
444
443
137
462
406
115
183
445
430
510
471
582
467
421
515
478
374
459
546
439
470
445
376
307
240
406
251
422
315
384
491
501
0
375
189
413
692
249
450
446
170
587
232
378
425
493
292
505
489
543
257
356
355
185
362
525
452
553
342
125
360
367
322
427
408
255
490
439
606
312
159
311
103
288
621
485
291
55
572
431
249
614
361
500
604
383
399
495
281
362
255
616
634
444
139
527
396
441
438
575
571
406
517
205
407
444
399
365
557
360
364
328
435
556
201
445
631
427
311
392
197
611
124
482
503
416
301
414
302
326
337
518
213
255
585
571
397
371
640
483
348
392
495
419
545
426
368
275
539
220
84
13
447
500
477
358
353
689
518
363
356
337
326
364
392
521
612
362
428
294
555
497
472
336
406
553
451
297
310
434
540
491
77
394
489
496
308
358
131
263
366
409
277
628
487
508
396
199
416
555
184
389
309
307
456
656
241
595
463
403
525
441
212
503
386
386
302
301
572
297
300
363
171
459
209
398
459
381
295
219
250
370
656
303
575
430
508
589
323
158
416
149
351
437
176
263
330
333
498
235
265
418
193
368
380
579
465
538
483
589
427
494
472
514
449
179
103
293
463
463
201
410
380
525
82
415
504
134
463
661
554
463
590
506
532
632
551
414
395
208
225
371
466
539
396
263
229
214
489
580
250
103
292
520
417
264
558
315
442
338
347
396
310
219
398
370
221
109
335
463
406
556
217
608
389
304
639
478
477
529
367
283
377
447
413
539
340
212
411
196
304
294
383
673
506
353
363
513
376
641
544
458
552
425
501
272
227
389
328
514
396
630
381
416
565
375
456
482
426
302
121
461
170
316
336
254
433
498
0
210
190
250
580
239
526
508
340
168
243
550
415
373
419
589
306
460
330
281
363
463
470
405
404
395
435
504
519
487
418
298
239
126
0
555
173
366
409
391
361
247
273
407
342
312
382
478
103
485
629
537
535
610
456
538
483
403
535
362
548
500
607
136
446
516
304
172
0
317
461
303
503
155
633
366
341
531
482
457
590
321
281
592
386
314
522
499
497
493
371
0
505
495
433
125
333
232
406
461
352
223
509
463
113
422
334
461
493
322
15
568
256
277
375
338
472
501
407
405
551
546
418
230
545
200
454
453
536
535
539
495
199
513
249
389
487
652
407
482
622
341
377
516
234
256
337
636
224
418
441
375
309
530
214
345
504
542
60
411
287
602
497
80
325
4
332
493
435
208
363
266
437
485
406
496
134
446
293
522
385
317
460
345
338
414
133
229
599
150
472
370
431
602
504
334
370
624
329
441
0
609
472
431
505
0
325
507
309
486
402
308
556
446
177
283
257
203
524
124
274
301
187
518
707
532
410
423
372
565
330
394
265
0
357
367
69
239
581
483
286
528
316
505
466
559
607
222
226
311
304
472
401
136
370
675
567
507
419
350
345
472
324
505
609
250
362
291
445
349
379
278
481
260
368
537
596
94
573
253
243
571
419
1
267
197
440
269
498
371
530
462
278
632
346
552
184
486
149
478
88
446
209
425
371
473
456
367
390
231
376
429
14
280
185
155
170
398
522
644
266
386
348
520
606
250
413
377
649
184
575
380
557
287
548
590
384
316
430
398
285
36
420
322
306
340
302
275
365
393
397
358
408
194
356
463
315
645
283
342
283
536
502
475
536
321
401
227
427
527
295
500
531
0
496
597
341
458
103
191
310
549
699
194
224
418
508
316
490
364
225
437
102
386
339
606
379
245
177
498
444
279
325
312
447
364
492
446
255
385
419
14
398
512
484
375
341
434
433
269
337
421
566
177
327
417
170
530
195
340
456
373
411
513
413
398
320
483
624
452
183
481
604
571
547
337
601
448
297
349
410
406
296
361
189
507
552
19
378
445
294
558
416
344
143
201
443
402
530
329
548
287
230
418
152
234
432
340
352
403
300
488
351
394
263
332
566
134
541
421
294
573
445
446
149
401
554
249
362
280
533
568
422
257
467
360
145
272
312
460
563
295
396
411
534
245
362
313
544
525
385
392
508
416
186
355
386
345
421
438
331
449
492
415
355
262
136
307
621
387
40
265
591
391
282
426
256
174
355
59
557
273
284
476
517
411
350
288
249
550
348
563
303
602
335
486
314
491
451
502
42
421
225
428
557
170
471
618
321
461
256
475
304
454
358
597
351
480
395
264
458
261
328
34
408
470
472
509
522
160
362
189
376
461
499
416
416
350
410
365
510
559
343
261
181
515
178
487
363
543
185
517
394
325
505
460
515
357
472
386
388
549
566
438
409
303
422
213
537
435
643
248
533
289
257
463
351
208
403
196
422
211
209
451
289
431
538
203
148
300
0
373
388
401
448
239
382
466
474
507
698
391
478
368
428
485
363
82
517
434
372
450
453
491
533
550
94
316
427
262
426
372
472
490
446
488
480
241
412
260
522
506
370
0
238
618
356
515
437
383
411
586
600
391
270
0
429
502
631
350
527
92
312
510
345
411
519
601
260
667
524
620
300
571
254
380
340
339
267
243
454
582
255
608
11
367
0
105
251
322
370
221
359
482
91
400
264
574
329
511
491
348
377
252
443
406
241
284
212
419
586
561
455
85
188
452
12
545
225
325
415
502
462
431
0
83
278
441
463
390
316
472
444
281
264
0
228
483
455
170
424
348
565
506
305
379
34
289
403
519
278
249
502
512
550
462
253
457
505
394
475
396
449
283
505
452
367
410
153
232
583
267
54
350
270
531
504
584
459
257
415
221
333
391
326
295
313
427
214
447
468
397
561
387
333
236
534
373
238
486
182
479
238
404
456
301
225
400
472
340
441
126
175
249
479
621
416
533
428
574
522
250
256
440
548
412
387
450
265
498
311
459
466
447
407
535
487
349
567
160
237
112
451
421
418
389
519
352
604
394
372
481
455
431
356
330
48
125
294
450
638
618
209
581
396
371
452
381
402
580
579
492
557
382
518
530
579
274
502
514
191
338
215
274
338
189
387
424
173
256
495
613
430
337
522
410
239
446
251
358
604
358
318
319
618
367
539
519
211
419
238
311
504
258
313
335
564
455
336
21
547
260
516
484
431
178
184
469
520
198
318
581
503
297
448
494
232
664
429
525
620
240
486
546
151
376
305
420
460
418
510
388
426
467
494
486
339
299
356
581
281
312
379
644
254
446
445
169
300
439
344
367
562
320
462
209
360
253
368
473
117
408
353
611
0
430
533
464
351
295
549
451
429
462
682
343
475
404
579
456
412
457
473
500
447
339
428
405
386
271
342
365
596
436
155
295
536
65
369
452
389
286
323
321
222
409
132
547
611
423
421
513
330
382
584
345
340
554
309
513
545
427
403
290
367
406
427
399
275
245
385
427
361
343
319
533
465
381
684
139
628
484
400
374
519
523
397
651
537
493
634
293
387
626
502
178
416
153
16
404
365
338
356
186
470
339
211
370
316
471
128
499
684
397
442
568
410
370
561
543
526
497
381
452
415
211
510
246
437
379
224
356
358
423
446
338
373
0
366
452
436
377
409
274
402
322
287
233
403
415
541
391
424
520
473
554
135
297
375
425
439
467
372
551
552
267
351
385
393
275
37
398
465
607
601
359
449
119
546
562
276
443
0
563
0
467
368
578
29
486
461
505
124
396
537
236
208
573
354
359
384
261
241
583
554
394
471
429
291
324
619
370
360
254
134
637
418
147
427
497
244
362
431
169
473
345
346
269
279
121
545
379
540
405
359
490
432
505
498
487
608
83
457
276
483
381
474
301
508
61
586
466
0
33
580
172
451
300
538
121
341
547
379
363
338
362
352
184
340
489
410
456
0
534
320
399
185
339
481
339
320
382
175
243
434
340
186
362
640
350
418
479
481
211
321
478
90
162
307
500
424
397
403
612
303
436
49
377
357
437
204
347
590
427
234
480
372
531
428
514
139
652
243
600
324
162
284
479
677
310
454
261
444
0
214
407
276
229
544
468
394
618
491
460
406
212
280
439
262
529
197
456
483
472
537
409
474
440
476
158
330
303
397
313
501
637
458
402
214
459
569
345
185
317
441
466
617
540
565
490
384
572
339
515
6
289
388
259
446
522
390
305
462
423
368
476
400
324
581
466
337
493
367
407
435
585
390
365
401
448
207
451
380
420
473
515
349
222
469
357
388
455
291
338
338
369
445
231
435
391
520
268
312
285
393
676
335
413
376
445
275
388
339
251
418
122
418
299
641
641
359
249
377
175
341
23
439
429
295
276
366
542
524
455
532
449
331
486
470
247
409
431
628
518
250
144
0
266
548
292
369
513
519
384
336
427
269
371
607
542
0
550
501
548
368
447
540
119
614
480
496
460
414
280
524
453
417
445
417
253
524
391
152
377
462
548
552
471
479
365
677
625
253
312
487
288
424
547
177
279
468
386
400
519
408
261
506
496
314
47
80
490
661
546
654
265
413
557
401
524
498
319
471
388
362
302
602
445
184
426
474
393
680
571
294
190
172
439
407
96
510
426
464
444
313
461
296
380
91
492
553
426
284
435
461
639
478
548
134
288
82
370
395
307
343
349
469
309
227
560
294
273
422
378
492
540
26
375
120
451
412
375
362
487
586
416
426
613
602
333
291
588
420
225
344
442
701
325
312
416
382
554
311
515
428
406
0
332
569
419
331
290
411
480
482
174
554
415
342
337
65
618
616
526
539
430
461
594
256
586
358
455
401
475
529
483
202
367
150
410
331
184
377
358
349
389
357
531
427
458
89
338
483
398
465
479
282
204
262
202
253
653
290
562
20
243
199
342
407
292
433
341
318
357
181
642
274
599
503
578
466
340
528
476
185
423
535
90
199
504
460
409
270
338
408
608
397
473
264
498
571
214
588
255
545
479
356
285
495
489
83
388
378
430
263
481
485
475
563
448
483
379
420
377
517
659
213
446
330
324
472
225
115
423
326
578
0
248
513
258
425
237
451
532
420
364
410
638
407
305
444
495
343
588
333
481
365
397
111
69
11
453
397
490
380
455
348
181
545
349
492
625
327
327
507
481
377
344
364
507
234
589
364
184
424
623
107
374
584
478
436
362
380
216
149
581
406
497
502
133
472
464
0
321
429
532
305
503
108
632
139
285
399
135
585
605
286
234
298
540
596
570
498
291
382
586
443
440
387
365
469
378
496
340
235
363
412
430
356
46
492
540
444
547
468
365
128
497
404
427
418
345
487
472
501
392
217
319
487
356
605
447
294
549
245
411
380
408
409
544
428
361
123
435
499
558
540
350
132
406
634
548
198
304
362
355
0
420
464
494
302
493
244
450
639
449
417
422
344
424
656
567
428
720
455
425
414
515
144
430
596
364
457
278
285
292
433
449
454
552
270
352
267
311
306
449
587
579
354
325
381
459
36
544
266
410
128
165
284
512
268
306
409
470
493
494
300
386
428
617
620
316
205
317
636
282
544
432
286
92
471
458
482
366
258
268
569
304
638
298
360
519
357
305
346
218
422
475
224
196
452
256
435
357
499
507
398
219
479
427
371
336
357
376
333
415
287
491
409
435
306
287
0
441
662
445
357
245
436
443
512
540
284
365
93
164
171
344
251
345
221
204
349
452
272
463
493
556
488
301
411
544
523
568
317
270
177
443
403
360
264
306
310
501
471
423
367
480
306
468
422
506
296
441
441
461
322
462
534
455
556
487
609
365
447
663
0
599
82
480
617
0
505
557
287
491
403
602
537
488
330
466
310
453
316
339
375
234
556
577
585
598
329
310
448
419
383
271
276
452
247
646
303
463
0
474
325
664
122
621
570
131
488
100
442
257
371
415
466
331
333
409
418
425
557
456
656
0
326
402
568
344
105
577
342
433
418
602
306
197
298
631
353
448
536
486
494
337
447
474
332
399
371
342
376
579
193
388
498
40
15
0
394
557
427
555
338
292
337
265
423
343
332
315
218
450
518
463
533
634
373
674
471
175
301
533
457
198
362
359
535
368
379
0
429
514
576
287
0
436
376
477
259
191
396
343
476
126
649
458
484
438
415
238
221
413
90
417
380
409
313
228
506
376
441
169
137
650
425
531
368
466
365
396
467
448
528
265
371
246
364
416
406
116
566
331
436
525
129
361
420
335
393
208
471
520
575
463
63
418
439
510
482
455
88
445
250
636
356
86
367
406
75
0
337
416
478
413
533
538
475
287
576
78
466
379
188
330
400
376
504
502
492
343
528
159
411
480
529
557
194
524
517
504
311
311
457
321
524
314
468
117
365
393
530
512
384
512
436
405
536
321
328
423
0
522
247
585
243
353
426
494
427
191
517
449
238
516
356
276
410
372
511
577
0
405
487
453
287
361
526
393
396
451
293
324
212
0
331
577
389
559
494
321
273
0
399
103
325
420
424
521
275
514
399
434
449
320
199
338
409
438
329
398
562
280
582
251
218
358
548
283
87
534
355
317
315
163
440
398
520
545
385
483
423
409
398
460
534
335
400
462
342
166
371
270
414
104
56
423
510
139
436
484
579
268
483
543
511
419
465
418
555
300
542
634
338
579
565
426
600
604
309
370
304
372
423
440
610
491
426
353
293
476
353
160
244
454
356
542
361
239
626
548
85
393
564
380
182
403
539
507
398
431
607
207
402
420
412
323
418
577
353
373
148
448
286
422
578
140
356
264
436
240
253
639
471
539
212
271
525
483
490
404
434
470
279
187
539
360
626
334
384
462
501
529
499
481
343
101
311
261
446
219
544
206
334
385
300
399
464
279
613
564
474
613
476
422
644
90
416
574
491
314
295
539
498
467
584
410
419
609
340
470
586
356
596
142
266
297
437
435
427
136
47
262
101
440
300
634
463
399
89
246
260
501
263
98
562
328
340
264
59
256
523
447
513
387
557
492
316
514
321
367
458
499
393
533
503
389
326
558
492
0
210
554
476
496
332
332
415
500
383
318
448
520
628
469
402
350
496
595
305
397
281
526
614
510
234
449
80
601
465
0
452
271
260
446
306
333
432
277
456
544
330
479
475
211
404
279
479
351
266
520
601
441
489
325
413
401
130
519
397
261
469
555
526
256
380
401
524
295
262
382
447
420
581
164
396
483
432
465
337
589
493
322
670
339
0
348
354
245
459
433
219
575
439
0
361
263
525
187
383
551
484
365
264
643
285
92
456
217
257
222
506
413
390
459
465
438
494
289
143
317
492
361
261
531
453
343
418
515
240
449
471
567
464
324
203
344
353
634
575
435
526
425
388
334
207
41
636
214
248
511
335
275
476
564
473
513
526
252
386
266
306
326
170
533
543
384
586
511
164
125
422
443
307
358
389
92
332
424
529
104
468
342
323
368
172
353
45
325
372
604
464
319
460
514
291
395
393
362
366
506
245
489
124
264
319
444
542
540
347
519
244
358
254
395
205
396
275
425
458
259
314
630
431
339
495
391
314
431
534
387
620
463
422
264
599
358
460
252
355
276
374
357
412
287
321
456
280
271
548
614
482
475
426
256
571
391
423
25
534
533
187
517
539
395
186
536
470
578
228
345
447
254
311
530
445
560
540
109
583
424
520
557
375
377
453
557
482
396
419
544
314
298
481
578
590
614
274
361
28
423
506
369
596
360
492
541
0
376
341
453
137
414
429
512
491
426
258
588
452
523
160
188
588
317
508
0
490
381
467
295
312
116
323
279
376
636
468
590
565
438
367
349
548
387
370
300
409
420
178
543
541
652
475
653
531
442
264
305
18
414
0
241
345
612
272
0
374
440
395
433
606
310
627
265
331
621
129
403
509
501
327
364
448
533
567
367
502
385
235
453
481
444
417
451
417
333
563
334
643
392
211
574
612
544
179
202
196
412
0
600
475
353
425
442
407
535
100
464
297
132
240
323
416
299
463
392
458
496
446
105
547
401
504
449
594
183
380
324
254
291
485
261
466
234
344
411
397
0
284
236
510
556
314
470
432
532
203
217
311
244
529
319
321
484
594
169
381
526
375
193
360
291
374
433
565
294
321
495
437
281
422
430
220
578
465
280
308
565
337
430
443
357
448
305
497
634
389
360
288
174
0
541
507
377
156
432
523
435
230
557
407
489
433
456
451
175
499
352
458
176
389
463
341
535
233
0
433
174
240
559
324
505
424
233
376
270
610
533
618
122
369
447
433
342
455
571
452
426
398
467
355
567
439
260
182
377
630
542
493
468
133
424
499
610
417
354
50
513
393
483
540
240
465
307
11
319
624
278
187
522
297
412
458
151
436
387
370
489
511
642
138
538
555
414
425
320
425
221
414
30
581
196
467
404
380
564
655
450
500
622
403
202
203
295
443
399
145
276
319
551
280
559
291
493
225
553
423
569
638
643
294
138
460
481
326
679
652
341
288
327
549
421
311
373
495
442
357
560
507
275
600
218
285
471
336
513
410
304
403
508
270
426
534
380
280
422
421
299
421
387
564
410
404
503
644
358
307
352
366
205
426
143
526
608
443
288
511
495
403
403
439
66
386
259
396
154
262
460
524
326
507
312
29
402
320
650
396
627
370
367
318
471
495
62
396
422
566
543
429
325
366
282
345
548
535
229
316
158
344
466
495
362
494
496
438
493
191
560
311
276
475
277
192
387
419
253
557
583
519
50
405
420
447
131
609
171
527
244
335
301
278
290
500
528
340
35
483
537
537
519
572
58
276
400
609
588
492
304
300
289
264
285
342
505
348
418
537
579
405
446
256
336
459
347
485
372
351
442
505
390
300
542
395
334
241
629
388
392
304
146
396
270
244
287
332
557
525
0
271
0
336
528
454
380
566
278
488
470
318
435
276
382
424
457
356
470
312
566
328
369
446
516
508
220
217
499
621
376
664
489
496
517
322
500
97
443
638
271
475
311
480
367
531
419
431
460
346
301
591
433
334
322
484
584
545
541
242
229
516
229
293
293
173
402
264
433
509
391
553
234
539
428
487
44
637
503
617
338
206
419
351
512
442
258
356
476
474
349
504
101
360
364
466
580
246
361
405
562
386
272
484
406
400
390
171
455
75
567
291
370
453
251
276
452
234
92
617
471
462
455
296
309
325
478
270
491
403
510
279
103
452
383
389
436
707
424
488
82
367
615
397
85
534
327
125
446
327
371
617
417
420
282
474
397
519
95
284
572
320
626
369
447
175
420
211
556
429
634
502
670
493
306
355
324
420
349
278
460
473
447
116
525
222
532
414
391
498
387
585
415
257
419
376
615
463
399
610
468
555
375
295
353
370
369
349
656
188
382
403
436
432
521
277
360
418
473
296
551
382
617
450
392
599
364
574
360
305
315
412
496
334
518
477
92
480
414
450
405
580
551
419
375
454
415
307
650
491
15
481
444
407
457
397
340
371
294
301
508
455
203
473
162
496
491
314
438
482
271
418
207
565
523
342
524
292
401
380
368
378
596
243
564
480
447
423
498
256
485
557
507
204
502
306
436
334
380
265
285
402
181
365
335
290
663
327
450
523
528
356
345
368
309
495
505
104
413
464
521
683
525
21
423
430
358
430
523
513
238
320
274
366
399
246
379
311
454
140
377
418
334
269
285
460
413
607
0
177
465
365
449
0
364
341
315
0
596
316
464
321
372
272
336
391
460
610
0
523
491
346
558
200
465
390
254
40
438
255
359
439
453
350
272
266
351
305
656
616
375
172
363
192
298
488
419
336
530
349
471
307
360
306
382
299
364
532
381
212
202
300
366
532
174
418
417
569
98
9
378
489
330
235
350
474
421
376
374
523
444
568
420
46
462
267
463
423
366
347
0
489
491
330
411
457
407
451
435
351
576
415
362
256
223
512
349
289
509
519
455
70
501
572
281
307
196
155
493
485
518
203
476
382
404
536
250
36
603
508
366
331
433
372
567
571
365
669
366
425
234
182
501
301
523
411
309
349
500
407
555
399
486
287
304
543
447
362
253
46
304
367
334
359
350
427
393
217
223
315
456
380
592
480
537
461
211
298
470
467
525
339
636
423
0
311
365
231
326
283
551
487
408
380
438
357
327
334
471
258
470
217
430
0
508
495
19
168
534
635
157
554
322
618
579
422
479
469
522
516
273
459
637
315
329
622
253
392
130
328
423
532
0
569
349
526
234
234
497
310
300
508
255
438
439
487
500
297
237
389
205
401
459
614
477
438
290
377
227
447
394
641
315
421
553
435
368
375
104
470
446
326
347
449
342
157
316
589
339
279
616
294
291
453
278
494
268
378
438
385
359
411
417
433
415
307
301
644
31
471
452
487
553
10
100
491
255
352
485
439
527
232
461
462
581
365
352
474
414
294
609
329
530
378
329
502
336
392
63
445
349
445
453
437
566
395
433
250
170
306
117
364
360
587
478
674
509
397
468
677
403
369
309
541
671
385
633
338
312
643
404
450
203
451
552
287
354
428
268
317
398
411
415
392
585
203
513
447
311
521
0
347
388
0
443
365
443
460
237
295
428
305
448
330
285
294
414
380
387
457
493
404
371
346
84
385
270
284
449
511
375
546
697
537
451
549
485
364
223
39
493
601
599
0
330
414
51
487
334
501
515
255
423
0
335
427
378
280
462
667
377
581
297
367
361
311
489
64
521
392
572
380
143
230
575
470
518
591
371
311
293
529
439
333
421
188
363
41
386
646
575
342
285
548
361
389
256
466
249
518
472
278
200
209
320
315
479
475
346
456
302
369
481
218
363
127
519
316
552
330
408
336
420
394
411
508
250
298
570
213
562
360
243
139
258
475
509
292
1
343
494
393
620
464
360
470
423
320
137
529
350
307
418
573
462
543
503
452
504
478
72
416
212
303
446
522
269
247
263
305
452
497
632
348
525
430
381
424
610
572
523
224
526
314
480
600
391
499
279
421
544
342
145
413
412
485
529
0
250
422
521
12
343
526
275
329
478
279
444
483
312
366
532
507
389
476
380
604
19
597
286
436
399
349
366
477
467
586
395
122
322
440
60
468
555
293
563
334
350
553
486
202
380
448
203
374
201
256
415
470
332
244
191
449
279
323
102
534
560
319
283
192
600
258
397
404
570
330
0
571
310
603
341
297
327
413
407
432
459
426
482
320
300
613
485
331
527
75
448
406
253
271
557
193
391
283
341
0
631
0
100
416
283
469
450
182
470
320
500
469
549
558
557
215
354
441
515
631
496
415
388
190
492
488
264
499
13
433
450
630
446
570
287
453
0
243
89
301
476
518
271
374
298
198
549
177
387
537
0
398
413
496
0
299
527
511
535
490
152
482
365
477
348
489
271
649
466
356
577
287
483
416
533
427
316
451
175
260
552
476
333
392
487
368
351
393
333
274
417
404
245
432
442
451
327
192
559
416
450
256
608
371
546
412
373
116
234
414
471
365
360
452
307
362
383
360
331
454
252
480
130
319
234
259
172
455
267
399
278
414
414
478
270
300
292
535
550
452
349
318
145
182
432
443
449
447
281
343
588
258
207
365
414
321
655
399
348
320
554
331
295
413
510
647
511
416
356
392
286
519
219
343
482
392
511
328
301
569
361
420
81
429
76
455
221
340
290
593
399
327
432
479
391
502
456
398
150
217
0
512
269
325
372
170
504
388
502
439
384
565
432
537
246
544
535
477
354
515
271
315
535
259
468
243
392
498
530
228
618
550
182
365
290
409
567
542
306
512
436
472
301
167
581
509
504
205
515
414
210
329
576
273
485
460
547
514
379
463
59
511
559
448
438
266
295
587
326
306
216
507
450
490
182
72
555
257
405
304
440
397
233
509
352
574
187
310
477
365
201
253
490
463
587
447
311
200
260
379
483
164
336
449
478
509
496
489
509
544
387
403
429
348
205
44
495
412
290
599
445
302
436
0
565
575
438
424
551
560
354
489
534
152
299
269
442
234
492
303
258
471
423
388
212
552
460
430
606
509
427
40
266
544
446
187
555
371
385
402
417
542
281
584
417
480
455
277
488
246
433
380
577
434
391
556
544
356
355
463
65
562
391
279
328
476
319
353
403
425
579
199
513
342
276
369
328
334
438
554
476
460
496
458
477
308
395
360
556
579
380
269
456
413
80
517
118
244
281
448
444
408
632
506
222
484
613
487
538
413
449
435
279
416
124
362
332
436
401
362
487
395
303
296
310
265
492
252
416
629
426
401
441
506
337
433
125
300
487
479
386
523
499
285
377
329
578
234
543
362
490
506
559
346
430
160
606
145
96
433
139
215
532
467
605
314
501
399
182
444
484
382
592
363
435
257
298
154
540
642
496
430
534
473
369
494
446
630
346
407
422
281
597
340
518
2
449
144
542
327
537
542
349
15
445
363
273
400
564
435
337
274
205
519
572
315
476
311
502
343
432
634
502
159
501
416
565
589
0
392
509
534
318
446
281
441
543
328
116
507
288
394
375
255
324
438
546
360
252
72
352
424
407
250
256
319
346
454
362
532
0
571
389
558
535
560
461
659
437
498
416
478
291
447
356
278
534
298
0
594
493
111
565
509
368
196
511
412
355
324
64
322
325
253
459
561
339
27
174
346
204
441
504
346
361
579
448
317
532
420
307
368
167
359
316
510
79
466
477
530
433
289
319
236
457
534
558
502
394
508
612
382
396
395
525
437
318
403
172
327
242
362
293
324
332
465
437
346
440
419
320
336
311
303
458
249
409
323
342
185
455
468
424
455
455
610
312
551
434
465
140
266
472
271
461
505
610
250
345
435
388
342
508
237
322
440
533
312
442
161
529
346
549
437
103
313
470
391
461
406
499
370
526
569
319
207
479
350
445
343
442
629
459
224
431
509
633
369
241
492
0
522
155
324
257
291
363
311
583
366
661
455
208
318
544
238
607
194
394
0
383
547
420
175
563
335
109
301
511
133
599
327
315
342
391
476
625
314
345
360
298
367
335
611
392
369
485
630
392
452
379
405
351
450
387
371
172
600
265
491
262
409
517
303
366
228
389
339
324
326
251
295
424
444
458
372
520
362
376
463
642
601
451
589
572
578
355
551
356
637
410
421
413
447
217
389
470
430
315
482
322
493
511
361
407
271
287
387
139
569
188
187
312
325
316
354
364
624
364
232
281
537
262
522
510
540
511
367
645
422
487
416
501
398
194
476
294
0
569
167
238
341
442
265
453
502
401
452
332
631
325
426
0
356
580
369
451
511
225
303
398
424
450
203
528
645
260
422
225
471
550
93
500
558
322
43
556
413
491
389
52
540
486
633
383
384
514
287
124
398
446
489
329
145
440
474
585
657
299
398
630
530
634
360
548
146
296
92
268
632
363
523
477
315
470
339
699
423
475
428
565
379
466
434
249
152
452
191
234
385
360
451
405
369
517
400
258
574
144
415
476
469
352
286
346
573
492
552
219
493
521
503
483
607
468
233
11
12
209
237
622
429
150
392
475
537
124
300
364
227
459
374
384
455
395
368
480
332
285
242
505
529
483
509
362
400
529
527
411
512
393
586
255
645
488
223
132
528
471
372
423
302
400
357
509
580
316
561
329
346
416
287
336
398
539
491
378
187
354
371
245
539
405
620
594
531
626
310
357
386
470
436
289
497
259
420
198
186
445
503
217
273
544
516
492
608
430
257
391
379
515
574
548
417
118
613
493
306
527
488
415
486
196
0
535
384
441
573
372
295
553
491
336
216
424
480
442
267
509
495
417
250
432
589
545
495
451
598
381
211
291
502
370
254
551
196
344
450
480
333
331
273
321
355
375
366
285
602
419
365
538
428
456
604
11
440
582
321
448
310
401
253
452
512
616
212
506
356
282
461
268
357
331
446
543
384
453
144
359
0
455
392
193
613
364
533
305
321
378
437
677
510
381
316
267
577
565
521
244
306
513
516
501
238
440
518
264
419
338
452
73
300
582
418
412
487
280
538
463
339
389
389
378
450
462
416
472
164
465
281
442
70
495
378
242
588
63
449
303
317
498
319
460
362
617
88
439
265
206
552
141
245
522
287
568
438
301
276
376
407
98
272
312
422
608
321
345
440
223
267
410
404
490
234
390
424
248
467
0
545
396
340
519
485
341
538
562
619
324
145
72
342
207
277
547
284
669
439
238
485
462
252
458
473
365
500
442
494
648
334
409
382
240
430
345
155
627
86
371
437
311
518
152
456
437
272
480
549
328
260
495
303
270
489
536
367
249
384
222
201
466
640
133
506
236
329
0
438
327
303
332
451
376
159
152
246
411
448
428
120
620
233
436
425
281
0
432
472
654
389
451
526
538
300
574
234
441
479
581
502
211
469
351
560
546
257
288
190
125
318
423
20
391
306
168
255
531
278
369
439
246
282
437
318
194
347
345
430
459
591
212
441
237
191
249
320
381
336
238
483
369
518
631
401
435
239
563
121
515
660
269
92
570
552
353
588
368
612
126
264
353
315
446
408
341
367
546
184
437
248
263
253
311
434
467
109
363
212
346
536
461
184
427
225
441
629
434
480
175
138
354
366
442
542
366
609
386
431
422
411
290
38
328
193
439
447
392
351
116
198
413
569
555
520
493
520
378
655
463
529
388
334
365
354
632
310
568
332
395
483
211
300
623
304
323
411
419
301
76
528
426
364
467
325
465
461
100
234
428
500
335
293
294
246
212
524
411
211
15
386
460
246
354
427
451
131
150
486
427
413
501
363
403
348
485
331
159
513
173
336
325
310
314
281
246
425
307
401
559
370
470
471
572
370
619
104
415
471
643
675
0
515
1
475
300
141
132
223
460
423
429
447
416
415
578
523
343
502
294
445
530
557
159
105
395
312
403
155
259
294
433
540
339
403
418
443
484
259
670
534
512
456
317
639
305
292
292
498
268
383
170
0
262
386
280
577
523
462
153
426
539
0
637
409
335
488
479
412
287
475
333
424
265
411
358
423
501
42
363
612
506
697
205
394
487
472
123
357
273
447
103
42
425
547
571
400
200
304
247
411
381
276
594
211
505
226
207
424
423
493
304
461
475
372
427
485
256
322
0
669
360
388
261
480
236
254
423
263
207
363
335
400
534
180
297
330
592
526
520
506
102
170
42
486
528
378
427
356
366
478
458
258
330
655
575
252
601
291
556
353
375
257
453
348
322
214
287
383
615
227
392
554
421
477
472
454
663
231
442
405
432
471
496
315
487
385
482
195
526
327
149
435
331
0
649
411
529
506
264
315
164
423
621
309
430
175
311
601
684
625
429
171
196
502
393
410
468
119
564
514
228
455
206
454
276
247
453
301
336
274
378
327
583
320
252
386
242
284
481
304
421
412
557
544
329
108
463
158
396
523
369
306
318
229
613
324
486
418
276
516
283
611
474
236
420
691
285
292
399
74
357
321
386
607
429
251
173
298
476
78
149
341
450
107
466
0
332
589
238
478
629
448
531
182
236
144
596
373
312
472
559
415
231
491
544
29
0
536
590
483
383
429
635
320
314
469
649
279
270
396
232
682
492
208
549
314
486
603
233
340
571
619
395
466
360
474
288
319
334
514
0
493
0
118
348
349
302
527
404
456
392
463
518
0
534
473
285
378
593
185
185
497
285
413
415
385
155
447
627
364
422
333
446
401
490
449
383
403
270
233
458
520
291
555
110
550
582
374
259
358
124
333
346
561
562
0
392
92
518
317
342
359
817
357
451
595
338
354
463
345
175
504
176
533
238
454
140
327
466
381
565
382
455
225
488
91
138
527
572
435
343
536
515
420
420
485
315
391
338
262
447
367
213
416
284
316
326
407
259
190
479
158
668
434
297
448
200
475
392
308
341
209
641
457
612
293
342
379
317
510
439
374
275
236
545
193
556
233
227
375
261
472
585
355
483
327
458
446
380
527
492
384
421
311
379
404
419
289
571
470
510
384
161
368
481
523
495
195
235
313
400
435
469
68
522
415
432
537
466
537
481
458
291
255
448
15
346
527
410
12
490
401
439
366
213
423
342
74
291
519
546
547
678
0
429
419
171
525
471
369
92
500
366
316
330
514
395
413
324
322
430
555
261
441
306
497
350
442
453
535
348
595
275
292
99
510
344
459
658
619
230
509
420
295
151
675
145
617
445
303
313
230
641
484
355
367
391
422
595
503
556
424
406
318
495
322
214
256
429
466
345
521
342
642
238
629
311
394
533
158
514
277
513
207
168
437
183
443
309
396
123
439
365
298
261
324
274
405
242
340
405
456
336
190
164
553
303
524
498
541
380
447
416
377
561
573
369
171
666
470
461
406
194
200
540
468
376
0
205
390
223
603
331
579
26
434
366
335
449
391
311
339
429
481
494
0
478
240
297
471
347
245
50
352
427
318
421
474
622
470
165
303
455
384
511
365
542
523
508
203
490
411
287
575
566
254
263
576
304
404
494
306
408
347
315
548
315
342
558
606
391
480
411
161
295
295
342
331
617
452
197
404
465
480
0
150
605
533
307
606
648
529
217
394
339
450
108
487
405
513
606
333
455
306
506
463
431
162
161
343
286
450
469
462
613
316
381
228
598
379
481
365
62
95
324
409
472
171
251
411
523
481
92
210
50
339
445
436
214
465
155
115
464
502
218
446
362
414
564
386
649
348
533
416
140
413
451
612
0
429
352
553
362
348
512
423
551
372
229
297
229
364
348
272
112
218
699
452
317
191
286
234
496
442
482
345
329
436
246
377
383
499
469
626
451
432
335
441
379
207
147
517
268
358
379
447
419
457
303
272
396
301
384
229
309
168
317
500
448
414
341
150
514
502
441
249
338
371
250
515
368
510
523
586
399
417
370
359
420
606
467
527
253
423
627
564
153
356
267
258
534
558
562
463
572
454
570
419
365
654
327
379
306
359
409
514
313
441
559
215
472
208
425
6
366
372
365
546
364
234
267
369
392
454
116
493
328
264
541
576
448
475
0
52
345
612
562
524
87
403
516
305
533
529
324
331
467
258
365
180
596
459
629
380
463
238
463
476
312
319
396
0
419
429
149
375
385
624
401
487
323
490
384
158
434
353
279
346
435
439
438
319
404
488
479
418
419
236
345
517
294
606
386
582
146
243
518
602
415
347
525
198
453
617
272
376
365
147
456
305
0
450
346
479
532
464
411
575
441
387
551
0
237
562
422
433
371
411
263
385
151
275
357
337
219
160
311
479
425
195
352
543
416
169
507
448
453
549
480
498
482
422
381
463
419
391
309
541
335
331
253
308
437
136
432
545
243
454
298
391
436
527
573
195
541
628
240
446
312
419
425
530
330
287
236
238
160
261
395
249
442
422
252
331
475
349
495
357
409
305
253
525
483
435
639
223
526
453
489
499
215
460
530
321
472
354
323
535
157
547
479
301
390
540
443
345
367
331
333
396
579
157
496
426
579
407
318
381
446
264
425
492
451
327
640
465
291
180
222
420
333
365
471
443
394
560
452
427
414
384
456
546
230
539
447
351
21
264
283
461
156
328
480
445
484
531
367
457
433
612
489
487
570
451
527
378
431
358
552
515
467
368
423
466
476
454
394
287
468
471
236
544
673
574
313
523
525
390
415
414
530
521
0
224
659
395
428
299
313
493
235
340
642
632
116
616
490
363
471
321
342
194
311
215
127
493
315
421
118
332
113
428
459
249
582
366
393
484
448
270
540
413
352
502
521
497
226
287
537
0
587
381
589
309
362
217
100
308
324
379
428
614
461
395
367
246
344
549
474
339
553
30
418
487
99
493
392
482
429
449
167
403
418
456
467
307
194
582
595
593
310
341
524
459
549
280
0
295
355
535
212
469
544
549
357
63
147
403
497
426
309
456
605
579
36
175
390
503
540
224
209
383
344
499
500
549
434
0
417
507
279
438
578
297
461
566
230
307
279
310
666
629
497
437
64
158
353
669
297
611
203
336
320
396
634
517
504
123
397
555
524
133
564
468
503
551
442
129
518
282
0
525
531
518
556
414
221
346
620
453
356
424
388
438
106
313
546
525
479
440
613
202
508
325
469
334
318
468
442
473
343
338
238
209
363
304
550
417
409
426
602
342
73
588
207
468
389
88
544
668
376
579
487
638
271
337
431
370
456
0
489
533
308
405
301
322
425
519
362
452
529
381
48
563
326
356
582
478
257
190
332
357
516
541
501
582
426
332
529
490
340
454
430
182
282
320
223
348
246
480
0
515
272
372
417
45
294
186
439
328
428
561
342
391
337
280
465
552
510
351
352
392
415
622
536
448
342
427
219
471
478
418
257
407
282
380
452
369
389
255
324
380
592
335
446
607
467
259
0
486
439
287
568
195
426
282
221
356
628
605
462
343
279
439
480
545
415
515
278
330
323
339
343
365
463
330
539
519
483
599
234
326
519
163
470
320
320
504
430
494
507
343
286
305
347
462
252
456
32
224
371
375
373
569
677
288
357
525
368
559
242
333
478
617
372
427
422
144
404
191
576
393
523
407
607
376
421
400
368
395
306
572
274
518
39
430
385
493
146
524
340
92
536
425
250
560
562
303
396
330
461
334
0
349
596
455
328
412
295
394
623
574
356
547
498
393
427
346
122
580
63
292
494
449
427
586
530
479
568
413
413
353
195
498
501
293
245
428
272
321
385
390
324
615
456
214
633
269
632
84
342
369
302
0
610
541
336
376
629
275
479
499
323
360
628
259
548
308
225
489
548
343
124
376
386
542
523
191
271
433
462
237
342
64
367
0
512
496
479
306
640
444
145
207
521
333
246
320
494
418
178
220
368
490
431
545
134
434
503
253
450
468
389
564
609
519
440
407
425
451
604
516
540
197
513
515
315
504
451
287
404
531
395
606
302
404
369
288
355
267
543
438
448
665
399
251
390
384
271
382
362
300
178
509
395
388
422
348
534
159
438
456
454
458
554
354
267
526
365
451
320
262
197
402
668
372
287
149
425
381
422
479
389
442
407
380
266
619
340
287
431
412
478
307
407
566
305
420
0
241
214
544
462
98
305
410
318
344
401
434
345
284
432
516
301
403
428
435
85
343
396
534
420
405
429
290
190
183
323
219
565
65
604
218
541
276
149
401
435
295
622
296
438
437
410
376
312
621
157
471
596
577
485
526
312
389
339
203
449
343
240
400
552
131
532
297
518
511
244
398
382
252
492
557
339
320
408
59
325
444
380
540
457
614
341
543
255
347
474
261
321
0
649
472
614
350
641
177
503
408
513
292
300
328
434
241
552
292
430
206
383
427
533
421
436
211
400
652
360
509
164
598
242
445
423
448
144
0
418
581
319
346
129
0
556
549
373
350
279
673
466
417
458
365
105
281
477
268
431
652
440
345
278
352
442
504
338
375
98
129
376
479
538
433
82
315
416
426
594
379
582
390
79
523
438
336
583
348
274
511
446
353
459
341
492
353
380
360
378
594
353
461
459
306
347
404
0
455
345
287
485
403
531
201
358
431
598
160
424
400
309
181
226
379
23
541
246
103
399
311
453
288
424
151
562
430
470
107
455
316
337
333
6
287
0
448
247
183
239
309
544
175
167
270
607
530
410
352
491
509
443
428
243
418
377
357
204
380
530
419
419
276
534
404
426
365
519
410
9
310
628
148
372
481
470
471
480
221
218
131
405
401
392
443
306
472
396
495
333
390
403
256
290
370
398
400
548
661
79
112
383
252
358
299
660
520
424
700
370
0
324
600
35
419
357
544
529
453
615
544
365
546
376
194
685
479
669
403
374
383
620
438
583
485
641
275
263
401
415
533
0
4
514
444
256
337
331
466
341
449
544
400
546
526
344
210
429
257
445
598
323
374
533
425
306
678
521
244
187
400
492
462
386
365
491
541
431
660
462
166
391
312
542
584
571
432
320
449
310
423
429
440
137
110
221
558
205
614
488
164
643
154
635
307
306
55
144
614
224
500
115
463
361
277
505
401
78
102
502
349
340
459
348
330
84
388
480
266
468
419
428
241
356
403
531
185
414
309
0
482
429
307
164
609
300
170
653
457
255
459
453
364
384
273
506
337
281
524
404
354
203
517
492
287
416
320
216
294
477
228
452
446
294
308
318
492
527
357
412
403
419
400
533
467
437
261
332
27
184
395
306
485
388
417
375
439
436
484
594
497
540
198
501
424
110
486
655
376
502
453
264
307
570
341
348
398
584
128
341
459
350
614
256
279
462
468
601
349
318
213
533
390
462
466
351
352
394
392
361
419
381
443
516
488
224
439
347
254
57
337
482
411
317
259
267
279
491
418
484
391
250
480
12
455
595
635
395
485
430
310
387
444
419
177
349
535
245
510
333
311
273
227
563
338
322
259
368
383
508
532
27
453
316
455
324
433
443
504
508
155
314
0
629
55
238
414
429
523
515
326
507
388
213
125
551
391
558
436
403
241
263
600
287
551
362
464
541
46
403
539
415
642
182
364
608
588
132
342
395
618
560
233
172
450
205
513
418
368
304
18
373
239
0
514
425
608
198
506
488
620
150
450
509
575
429
491
197
533
371
592
327
496
262
290
316
494
342
631
553
385
453
465
415
451
110
326
298
520
466
310
25
577
185
451
441
386
470
342
616
462
391
473
562
334
441
512
472
513
610
622
0
443
349
400
422
439
285
616
580
396
395
421
479
219
318
283
499
490
663
448
390
256
367
583
230
365
362
386
283
355
634
487
234
486
526
255
500
645
617
472
583
477
417
386
589
370
386
416
633
442
328
327
321
274
644
614
469
366
377
246
606
448
480
479
524
565
529
283
270
501
206
585
8
460
530
470
404
409
478
580
275
471
207
610
195
571
342
441
544
577
404
442
513
281
348
423
401
292
385
673
556
535
350
530
596
595
599
503
380
244
448
427
333
424
340
405
319
492
375
347
152
577
321
339
467
291
202
287
368
367
307
299
241
301
317
527
340
474
602
574
312
360
189
178
390
456
82
447
229
275
408
507
465
663
555
409
236
275
233
471
443
300
500
377
380
518
455
577
168
444
326
372
411
461
252
327
387
301
552
279
373
456
413
469
503
468
169
420
581
248
324
237
325
446
315
372
195
594
361
293
348
114
571
455
312
550
188
33
485
110
428
452
384
435
649
521
353
324
511
666
293
487
474
565
343
475
425
342
351
430
323
327
147
465
640
443
324
169
289
311
341
561
403
348
410
668
469
334
496
334
93
277
326
361
387
328
373
298
459
546
409
466
231
504
512
279
353
307
419
474
302
381
478
411
280
128
287
438
385
15
392
179
533
596
240
430
464
554
591
399
549
458
200
219
162
588
214
232
448
245
338
477
336
411
308
446
419
402
475
541
431
129
538
348
455
502
569
445
311
450
517
440
541
121
355
532
391
604
526
571
101
301
374
44
472
486
271
522
287
600
144
87
530
569
520
418
322
505
489
430
491
614
407
210
347
338
513
408
646
365
318
559
460
550
454
595
284
171
474
508
551
180
177
422
535
386
385
257
393
427
237
568
301
606
297
102
239
392
407
513
610
401
357
221
191
507
427
617
566
343
253
615
512
146
464
395
239
692
422
465
600
405
310
276
409
434
395
535
382
184
485
520
489
410
376
396
369
485
596
440
477
486
115
178
230
0
249
478
467
446
598
510
438
336
485
430
459
134
473
410
349
493
0
250
499
283
597
177
546
423
566
456
0
343
504
395
381
570
404
574
417
159
467
388
440
159
534
336
118
500
129
447
285
0
445
321
529
549
464
412
185
435
384
395
248
510
208
417
331
578
368
431
0
449
333
353
426
254
408
486
465
541
539
193
423
337
466
562
206
473
448
245
550
227
351
474
404
472
483
370
362
481
377
564
331
378
628
587
573
246
329
426
428
270
207
471
345
515
433
300
444
400
132
414
518
288
478
307
387
341
240
159
404
401
260
132
229
391
549
416
448
348
559
421
276
199
275
602
341
463
641
412
537
637
398
64
591
427
216
65
584
545
545
457
345
415
334
444
475
0
40
527
397
454
434
417
383
268
530
407
636
614
384
443
558
70
405
513
545
269
393
335
310
326
371
303
325
494
457
342
395
451
473
404
291
379
643
384
572
496
435
644
292
692
261
271
317
330
277
457
541
277
232
471
314
533
505
332
326
436
407
411
456
412
350
313
432
599
352
359
118
482
263
209
301
501
141
145
258
431
533
355
404
599
464
367
488
384
389
411
466
566
575
448
242
404
0
361
257
583
539
464
327
311
499
339
551
274
396
415
594
537
445
495
471
319
312
423
320
212
422
267
73
420
290
331
261
361
371
574
400
584
201
109
374
294
397
233
461
529
233
619
460
350
435
191
246
6
599
316
284
195
417
167
492
504
281
300
403
395
310
421
392
376
463
227
376
213
537
304
0
375
304
398
298
359
281
401
287
280
201
246
252
466
80
383
103
135
155
345
550
389
466
382
331
496
305
384
288
397
442
613
362
644
479
345
491
559
464
632
480
207
381
293
487
461
562
546
401
539
477
252
393
410
107
531
280
62
422
536
172
483
339
487
628
209
312
291
374
581
224
358
153
139
417
479
460
276
315
411
520
350
399
555
624
666
429
426
426
550
606
273
350
269
278
475
539
416
533
319
431
434
194
503
199
43
518
533
438
477
582
474
443
419
218
387
486
279
463
441
295
510
97
473
470
301
319
699
86
443
419
461
621
267
285
168
514
400
573
535
375
349
497
58
260
174
366
422
417
496
0
417
0
228
577
287
280
483
278
493
481
270
313
500
436
179
251
223
438
440
372
424
388
378
63
342
412
405
337
528
453
334
448
402
549
326
399
398
465
354
340
543
444
541
340
631
283
383
0
216
580
289
319
457
504
459
411
350
119
477
78
273
0
661
350
107
607
212
503
565
383
233
530
0
0
478
256
610
101
239
514
299
591
437
228
571
37
617
414
443
386
492
143
622
364
264
339
542
513
336
517
395
450
448
468
72
261
371
226
534
651
599
482
324
414
345
606
428
477
463
0
541
389
591
310
106
345
97
549
423
340
400
404
37
351
417
239
331
367
84
398
527
169
558
480
367
488
510
368
442
320
423
590
396
496
497
448
161
407
456
334
545
228
526
435
368
477
64
307
613
380
273
464
489
395
378
519
365
390
313
444
374
500
272
290
351
210
417
592
419
507
604
325
190
367
414
315
545
178
566
355
248
143
527
319
496
415
580
423
492
360
555
558
369
631
477
434
378
137
521
388
565
482
145
635
270
518
287
226
437
424
458
115
287
432
337
298
567
345
557
179
653
473
335
299
364
236
353
599
329
328
249
501
67
525
225
268
275
455
380
535
415
314
0
568
529
440
264
579
160
491
443
556
478
510
179
357
550
516
352
493
500
290
485
549
470
398
269
477
478
116
471
499
514
284
398
314
401
470
506
547
375
477
390
384
423
545
542
454
433
469
545
357
235
422
405
480
340
355
300
483
133
542
458
312
230
540
504
343
381
315
236
321
0
234
481
392
443
484
408
463
628
455
423
603
411
492
431
281
520
218
228
469
394
404
123
358
481
247
481
321
248
437
377
399
499
237
584
75
55
172
253
540
256
115
421
401
461
285
467
524
485
482
433
372
578
600
203
127
410
355
385
243
199
306
378
506
424
451
226
410
338
330
433
144
242
669
297
614
559
426
412
416
515
373
185
442
450
214
430
49
340
302
543
427
339
345
484
275
272
458
226
381
546
489
206
388
442
487
615
322
366
586
369
424
416
403
184
596
688
430
218
169
164
496
671
483
197
333
439
112
322
554
376
407
290
341
0
340
456
40
435
354
620
384
308
30
207
553
320
291
329
499
414
242
381
455
419
144
346
387
331
422
464
577
467
528
322
220
189
417
0
487
420
350
550
203
578
440
496
436
613
365
471
277
530
526
535
502
501
531
180
196
474
448
613
522
339
471
218
382
263
483
0
321
96
643
124
432
404
423
312
65
642
436
413
158
442
504
497
242
269
617
474
634
199
238
296
298
438
479
514
480
415
608
455
456
310
286
591
458
491
495
498
417
403
393
374
592
0
405
387
467
358
510
305
428
498
412
398
370
270
301
567
485
191
275
585
268
387
139
380
226
542
575
219
276
563
361
277
500
349
458
327
653
343
440
393
472
365
470
110
156
175
423
407
291
257
461
244
419
356
452
316
189
538
171
400
465
602
387
303
462
490
362
167
453
535
419
448
405
302
248
373
408
549
415
291
570
303
346
224
199
333
306
0
298
513
395
464
449
399
552
465
407
427
171
426
339
361
332
179
280
234
186
349
384
429
456
315
297
297
364
545
464
375
563
495
433
438
572
461
302
448
468
678
556
438
474
335
497
560
255
385
646
662
603
205
427
486
403
428
281
196
446
544
288
527
521
395
418
219
368
427
536
54
684
420
300
433
271
548
418
330
427
295
293
402
688
105
310
422
491
443
625
535
463
508
565
403
253
496
527
0
390
172
234
561
491
504
469
355
560
347
539
563
497
535
419
201
374
406
360
432
455
354
407
296
378
447
294
462
566
262
376
310
576
298
174
520
579
459
483
394
402
574
536
544
422
613
191
504
478
516
440
495
335
415
566
446
508
443
668
561
468
595
330
213
311
324
407
158
384
494
340
278
243
489
449
395
471
485
610
531
502
401
407
411
533
544
339
400
536
448
398
184
399
562
370
337
0
337
489
399
492
107
0
293
361
384
547
431
383
82
244
466
523
328
580
456
478
131
246
261
461
417
524
506
634
465
279
467
137
431
398
374
386
478
500
310
481
500
634
302
428
534
573
575
557
429
0
158
557
481
366
454
433
450
445
213
403
395
619
498
339
263
478
319
278
678
470
522
559
203
215
485
288
359
199
470
506
456
576
569
549
493
352
216
340
634
490
104
0
452
481
326
140
529
456
363
456
266
452
475
591
372
591
311
448
406
449
234
420
300
214
570
193
507
291
408
182
208
514
331
228
290
227
197
341
244
629
348
313
299
121
484
525
576
366
336
428
238
273
397
352
474
14
572
544
409
266
462
460
319
495
529
537
341
362
428
241
184
421
502
384
0
339
406
512
363
438
299
375
367
582
427
312
445
334
458
587
259
344
173
606
434
455
394
337
487
299
397
307
180
454
625
411
386
464
401
313
364
266
554
313
474
593
247
324
527
470
367
625
549
560
486
514
327
367
338
300
233
0
352
483
133
406
418
340
346
397
650
398
461
372
414
513
525
463
356
325
441
210
355
513
198
307
495
386
269
399
414
529
502
288
481
288
171
333
297
465
370
438
304
479
180
575
202
325
503
462
331
344
428
303
623
354
462
558
0
553
397
578
322
500
384
424
304
145
483
233
378
426
433
497
657
392
332
382
340
360
434
371
484
362
373
384
365
406
279
275
266
474
559
544
404
355
379
394
493
308
328
402
161
271
439
0
255
416
361
290
358
477
145
244
547
577
0
239
486
510
377
479
483
376
331
494
414
294
573
548
448
423
360
318
99
433
278
435
386
323
254
381
386
471
158
435
246
369
444
485
268
390
320
494
493
423
657
462
490
367
380
499
492
553
675
457
255
369
593
567
236
275
593
571
593
449
359
571
351
333
433
379
330
46
534
253
554
285
390
527
526
172
0
446
654
289
373
513
446
316
542
638
202
383
456
312
454
529
392
259
209
599
513
373
437
218
360
555
444
158
394
207
285
205
276
411
502
213
501
370
480
464
422
462
250
377
458
530
467
430
290
265
394
554
509
578
521
268
444
544
314
432
475
51
432
474
435
14
471
430
104
497
328
427
451
389
312
519
467
241
444
408
226
259
369
0
264
587
421
330
463
330
436
553
356
0
404
253
356
517
174
433
310
68
0
83
441
322
660
224
387
316
485
545
489
389
431
88
525
530
45
452
503
491
95
390
261
201
411
455
473
387
0
530
405
226
322
537
376
375
541
47
284
325
450
266
457
192
500
93
200
320
336
453
285
441
272
177
448
323
196
311
188
308
542
242
221
371
88
251
367
476
421
167
401
705
483
552
592
251
463
501
367
576
384
314
357
462
460
565
502
384
309
647
386
413
557
464
428
646
472
316
265
39
0
519
530
690
458
306
369
433
359
499
420
389
0
319
557
505
459
492
557
396
227
456
556
336
398
240
415
238
297
339
274
145
450
478
318
110
196
330
444
443
250
402
477
303
534
492
108
366
422
335
545
349
380
508
436
519
228
476
165
371
591
383
391
442
499
366
309
437
428
0
141
461
412
546
350
102
549
296
422
278
0
457
464
487
0
459
486
204
561
407
371
376
576
163
227
402
442
282
421
408
278
314
648
441
178
356
349
128
100
452
366
474
239
569
293
466
0
373
466
558
322
668
288
336
286
293
540
590
504
339
268
309
0
377
432
394
236
464
168
401
491
437
601
0
418
467
486
524
167
459
466
458
422
493
474
464
158
456
343
506
400
371
531
325
600
443
469
468
381
308
330
345
394
423
516
424
572
377
470
259
550
234
623
363
343
424
610
212
336
125
526
491
332
564
497
289
460
523
437
501
419
418
443
349
455
509
183
368
516
335
602
367
434
264
307
597
444
277
491
402
310
285
305
378
121
359
425
523
406
549
499
223
297
461
430
459
499
511
606
491
509
390
0
531
528
430
253
535
621
515
370
369
336
301
206
411
415
281
425
608
683
282
264
520
612
553
527
411
300
625
405
469
333
330
498
358
411
256
319
575
438
566
372
411
317
546
610
229
515
536
368
413
554
410
571
589
409
250
219
504
696
186
453
631
499
309
544
479
503
541
164
454
411
259
272
361
315
459
353
209
5
469
416
0
184
420
136
348
369
370
396
277
474
166
298
435
231
230
278
590
465
488
104
298
516
395
339
482
524
238
101
256
448
348
107
638
179
508
0
457
380
514
534
314
164
472
511
544
360
438
318
511
333
452
155
26
443
538
442
525
474
567
551
211
245
276
298
527
396
270
507
485
433
134
549
663
421
348
157
421
558
395
371
465
671
173
369
483
396
462
236
335
318
308
298
465
471
529
456
304
478
418
501
526
426
109
0
427
276
338
386
449
133
411
276
476
419
440
505
429
332
410
537
355
479
556
429
418
305
383
35
533
671
603
464
521
479
320
261
628
441
520
425
404
526
404
190
371
186
379
175
267
354
355
280
0
662
454
114
412
577
535
407
42
228
521
482
504
448
389
391
408
587
282
349
306
535
238
550
507
404
492
521
474
485
371
282
490
419
435
263
459
405
244
145
393
534
382
0
430
395
547
272
542
223
457
258
348
496
388
542
399
443
566
445
348
254
319
579
448
538
243
301
276
453
416
143
300
540
224
450
397
0
244
321
91
608
319
162
537
398
389
228
435
661
469
381
368
437
321
186
409
624
452
453
297
280
475
445
428
279
385
384
490
132
428
302
657
414
272
138
363
376
420
691
262
698
471
487
169
366
461
588
347
292
448
305
350
376
277
290
493
613
393
485
77
572
230
384
0
513
402
616
371
533
406
495
385
125
330
255
504
425
519
327
405
651
410
661
475
553
568
645
125
499
367
329
201
266
470
264
72
139
441
281
256
255
289
485
555
304
513
520
406
401
344
493
235
530
614
456
314
576
231
595
419
196
434
375
366
501
217
233
253
196
475
233
182
413
637
567
431
516
317
330
474
0
421
333
551
615
336
588
472
498
340
392
582
530
351
344
479
393
262
239
571
455
467
2
320
510
458
450
370
129
411
492
523
316
264
487
289
467
239
281
351
145
439
33
598
288
429
137
229
532
519
308
0
502
334
329
529
552
249
399
299
240
329
405
79
188
295
537
427
505
470
0
244
505
457
466
478
580
491
337
466
138
178
414
0
494
643
470
348
481
44
216
528
493
11
270
629
538
319
607
309
445
196
404
544
657
518
551
395
610
455
411
609
528
533
84
464
98
380
334
353
455
426
546
522
546
625
492
407
589
260
355
205
368
315
218
539
307
473
445
550
302
311
243
359
584
387
527
505
405
540
571
359
515
513
308
542
467
542
514
226
494
611
370
504
251
216
473
468
490
516
570
334
109
519
275
285
451
482
501
476
195
550
484
0
451
178
650
562
460
265
396
385
506
461
510
364
0
620
277
425
385
344
460
489
375
622
486
172
0
262
345
313
486
208
551
548
362
245
412
0
464
490
431
339
575
642
361
367
207
316
552
447
55
485
465
126
496
0
182
525
328
278
376
433
179
519
455
254
225
364
417
545
418
327
281
380
61
392
635
267
215
474
519
502
497
568
456
196
202
564
154
173
342
421
531
446
342
517
215
119
480
468
477
563
393
308
373
447
376
544
567
332
357
385
336
376
577
369
447
466
258
266
285
353
341
468
277
528
577
17
518
108
369
417
334
553
498
400
396
554
476
293
507
323
0
314
250
311
314
389
382
369
482
573
503
515
402
256
417
500
608
302
375
547
421
413
676
0
454
297
477
456
355
404
320
364
432
279
425
365
461
431
346
583
547
357
487
502
575
608
524
352
436
476
657
437
256
360
384
567
416
139
475
361
256
412
378
508
246
426
394
409
300
658
388
386
213
318
282
547
127
373
556
372
395
473
510
353
502
270
257
169
345
545
536
220
443
380
545
611
472
247
476
197
418
280
546
324
375
172
578
279
290
374
448
440
592
385
390
360
123
424
504
260
418
625
417
194
467
501
481
427
586
366
275
344
258
299
568
266
293
433
415
255
395
404
494
452
536
430
559
356
187
310
485
299
230
296
170
370
538
285
341
477
377
492
650
326
504
249
461
367
542
596
525
358
467
659
348
54
528
252
398
402
566
515
567
547
317
247
273
447
375
472
384
442
389
523
364
0
66
528
479
518
355
572
262
319
560
204
458
421
481
514
323
382
413
50
520
308
426
438
0
282
531
505
303
0
276
474
210
418
487
396
455
352
338
106
444
420
534
267
451
349
619
364
577
137
403
145
317
555
456
263
313
224
126
467
214
402
409
444
628
318
139
367
472
208
216
542
129
348
441
547
387
549
475
368
528
97
658
194
278
472
536
534
302
433
356
126
391
491
485
444
401
317
558
490
307
427
493
345
272
436
391
330
486
238
562
469
598
452
612
653
288
416
172
328
551
422
460
95
326
542
503
361
573
365
514
425
142
270
376
322
638
400
276
586
479
508
204
383
388
342
0
333
370
459
281
149
404
440
336
508
202
311
436
488
311
133
257
573
411
345
625
172
423
436
284
341
581
585
532
197
226
379
557
401
421
3
238
410
405
486
423
404
0
400
410
533
450
444
292
406
279
551
638
663
185
280
322
391
355
315
414
356
431
438
405
309
263
281
443
461
422
642
316
340
643
437
616
306
228
580
472
226
275
537
257
206
531
542
422
663
509
357
390
513
81
404
318
603
532
154
306
554
488
330
305
491
433
470
452
465
562
300
200
377
182
534
379
463
205
362
272
417
400
549
323
435
309
463
499
432
628
417
550
264
635
383
582
553
338
174
351
421
374
202
557
412
524
324
345
342
575
258
288
419
238
418
505
506
344
521
467
498
351
571
526
467
359
329
392
440
521
304
278
626
602
285
435
410
414
474
220
497
437
310
194
276
599
245
163
269
447
348
374
432
0
304
334
569
614
499
523
529
254
473
355
364
387
0
161
278
114
264
371
377
342
357
544
238
394
416
526
497
542
286
255
159
409
454
554
484
603
270
441
520
291
166
375
374
569
403
563
556
535
551
189
660
515
457
345
460
680
391
36
624
438
398
492
476
276
677
342
0
440
194
442
334
649
438
63
387
387
475
559
571
581
68
335
557
638
314
4
459
391
393
324
477
471
478
353
281
389
226
388
122
239
400
483
367
344
492
568
176
387
181
395
354
250
321
398
301
474
123
636
424
181
378
67
419
287
369
265
490
527
264
101
478
291
432
394
381
565
242
391
464
568
523
319
348
472
138
482
511
507
487
598
515
422
47
182
258
383
0
482
107
407
342
496
331
248
57
611
467
467
448
389
354
462
218
465
514
655
560
484
193
433
399
353
575
339
101
432
384
577
409
190
523
392
689
488
544
369
420
400
379
401
571
432
273
542
280
0
438
404
227
600
550
328
612
338
301
293
515
437
342
539
419
124
250
574
461
289
420
327
136
358
313
299
594
498
444
422
528
528
411
330
278
268
519
308
591
442
268
346
458
407
302
250
324
500
313
59
202
442
532
370
337
423
438
323
476
115
294
247
161
0
176
484
435
386
362
424
435
237
483
334
158
306
497
290
516
328
395
536
368
368
290
278
531
468
38
360
268
434
433
272
568
319
567
427
288
148
553
443
328
549
531
359
256
346
357
365
543
460
443
0
375
252
515
321
286
554
460
377
498
440
280
495
449
547
463
584
45
386
511
217
453
455
493
455
423
661
571
145
345
588
458
452
423
143
98
469
281
348
590
81
239
380
497
209
334
151
383
341
460
472
182
390
398
488
479
458
283
440
366
514
300
340
301
332
503
331
492
348
337
409
512
520
492
63
508
194
472
402
284
504
546
15
120
521
292
528
357
425
544
447
518
453
221
525
208
432
406
311
343
488
408
336
285
329
517
546
575
496
499
191
468
443
261
410
384
458
425
457
248
551
256
388
253
397
334
465
467
134
409
234
335
507
160
358
543
333
384
316
540
458
492
350
555
322
442
615
380
566
226
530
592
423
526
258
487
390
253
498
384
476
500
266
196
553
231
626
421
405
397
89
284
214
464
549
44
507
393
249
334
429
222
339
278
156
280
87
662
415
436
465
546
163
510
432
254
305
412
365
11
556
132
507
303
214
0
514
349
394
624
320
477
523
396
397
445
432
355
92
414
423
398
322
209
396
600
327
238
288
627
111
297
448
356
414
353
390
332
304
303
333
489
515
560
513
545
45
591
686
433
494
464
306
424
547
365
360
488
419
482
343
218
201
417
529
160
496
409
603
414
549
429
502
526
368
642
497
429
257
523
445
284
568
5
568
262
504
99
363
365
367
247
477
474
532
94
651
367
427
492
439
286
388
202
447
258
421
283
232
215
471
366
410
574
519
422
398
338
385
214
389
327
563
529
407
0
604
270
388
348
0
249
417
227
351
298
226
593
275
306
586
413
158
369
196
408
326
474
515
641
340
389
187
200
459
323
392
400
544
325
589
500
118
462
417
214
348
368
275
257
405
370
454
37
365
198
508
582
312
508
462
477
521
443
640
349
394
459
330
434
397
484
415
482
347
347
248
406
424
443
437
88
410
380
398
359
324
556
317
424
611
409
349
360
450
376
391
321
2
443
399
445
290
627
512
345
535
340
240
468
435
161
398
557
539
432
481
377
373
365
248
479
412
470
166
489
503
488
449
584
475
524
135
430
544
415
414
193
398
410
499
539
458
573
617
91
356
299
523
0
233
441
547
300
356
218
482
338
591
494
451
435
423
440
610
451
500
252
431
219
450
301
199
159
294
565
419
235
240
369
93
268
258
389
346
524
388
306
331
539
333
308
352
480
560
346
331
552
384
140
362
210
417
419
382
284
572
637
589
301
320
357
554
320
422
657
279
319
405
178
394
433
496
288
417
364
330
160
390
549
326
509
521
411
617
166
47
547
173
565
403
573
425
385
337
229
497
256
442
480
506
591
451
347
534
0
264
423
368
379
528
212
459
394
363
152
332
445
334
344
202
469
386
500
284
523
641
414
218
566
300
451
362
424
393
346
521
279
236
336
346
542
530
223
499
441
436
584
346
468
49
341
621
521
391
195
548
393
396
373
386
300
473
483
281
177
439
461
479
565
319
332
317
368
349
146
445
419
422
291
519
444
502
211
515
125
417
472
240
300
272
361
237
580
328
349
311
469
397
483
384
438
656
601
473
485
472
407
384
81
655
574
390
394
504
369
360
250
379
118
189
286
485
437
528
388
651
486
336
337
191
467
504
356
208
642
492
261
262
348
369
533
545
408
506
436
691
449
248
170
320
417
628
498
562
418
350
408
417
484
440
412
628
319
82
499
439
539
509
440
416
191
497
473
388
582
472
306
391
473
276
507
145
419
296
211
632
229
346
233
345
457
533
429
23
428
533
260
501
0
305
313
532
385
267
182
351
377
294
396
464
311
214
227
390
468
522
613
516
321
557
463
508
303
425
511
311
678
418
275
225
459
378
602
576
331
389
321
586
373
471
86
392
414
543
0
234
188
115
0
447
597
325
440
359
224
336
394
249
643
307
624
386
57
418
551
627
394
31
412
396
255
79
220
608
393
607
105
536
253
495
408
422
490
382
230
492
303
562
500
454
318
414
502
240
396
488
437
311
470
382
354
255
358
411
592
590
296
341
334
164
484
375
499
514
497
0
370
413
547
565
410
563
347
482
337
616
491
546
317
294
428
322
353
452
320
289
401
334
386
149
560
276
410
311
135
440
498
570
121
271
179
341
517
446
340
428
165
228
141
537
174
300
598
423
579
468
511
418
361
440
27
341
388
537
451
462
357
147
368
352
522
399
228
253
178
317
554
512
395
238
347
364
557
83
467
350
362
510
222
331
522
183
396
407
653
334
170
442
357
538
471
495
355
509
182
461
150
516
143
483
5
485
403
248
562
0
229
323
495
387
382
417
512
377
257
513
498
395
141
489
449
368
449
369
402
423
437
511
482
455
514
641
561
385
470
334
473
445
603
473
351
168
55
285
437
263
190
431
267
503
285
347
79
544
481
688
456
510
208
253
405
442
371
441
472
464
409
366
464
0
81
276
379
444
168
394
705
438
261
212
490
361
357
405
490
308
311
332
274
482
374
493
454
0
267
303
592
403
254
310
435
334
538
430
176
563
196
269
368
487
483
337
651
504
405
492
234
531
387
281
31
0
250
244
373
279
422
486
371
309
339
453
313
634
329
562
477
221
608
501
550
489
310
399
639
311
459
324
582
497
490
371
342
384
343
450
561
412
164
500
351
378
482
431
332
399
456
512
502
0
586
224
411
333
102
451
336
369
339
362
404
255
472
461
532
136
459
452
497
435
575
429
650
342
584
451
385
320
525
341
479
510
603
537
348
210
305
398
461
502
357
0
383
157
180
520
84
221
458
384
597
555
434
619
523
458
335
414
412
435
120
391
157
471
296
443
410
596
206
240
340
664
185
541
566
235
202
518
261
310
389
398
315
455
524
357
312
30
554
192
159
231
651
328
356
346
591
654
553
315
397
260
548
234
86
621
498
466
486
93
312
442
245
663
255
344
458
209
274
412
354
225
354
441
15
273
605
333
326
119
448
373
258
389
508
365
243
580
249
566
561
229
444
448
538
365
405
252
314
325
559
498
441
231
284
647
469
186
0
477
305
373
605
360
520
534
423
480
439
497
309
184
389
588
355
431
190
342
585
322
234
320
523
393
437
0
347
456
433
509
454
507
468
272
536
582
457
323
183
434
465
373
519
343
313
677
308
636
430
201
387
136
515
590
548
38
500
372
500
484
450
415
564
401
440
555
257
367
365
391
500
438
673
439
215
424
219
544
263
486
222
258
475
502
328
377
549
409
446
312
324
267
394
505
601
567
196
479
210
24
356
436
505
321
465
421
353
256
516
250
339
312
436
345
408
526
365
686
650
475
488
291
429
484
386
513
328
387
267
344
463
245
246
253
116
443
162
117
409
328
353
435
361
413
437
434
338
524
291
501
289
207
718
418
467
661
196
403
455
565
429
557
218
250
492
488
194
495
325
370
280
535
369
531
628
403
315
457
287
539
386
432
369
344
275
368
461
266
322
536
509
521
549
438
255
317
478
705
462
495
276
340
572
115
486
415
411
170
478
203
524
478
448
580
161
531
477
432
641
495
245
266
632
348
292
400
345
275
571
300
390
523
418
321
407
263
162
469
613
382
410
400
391
524
248
240
324
312
491
414
209
505
606
439
475
315
424
453
339
440
307
209
280
434
524
485
418
501
384
516
626
562
494
436
400
430
403
388
345
294
358
335
257
564
271
237
452
575
391
63
454
512
491
439
505
517
251
473
228
394
372
133
364
378
229
331
492
463
434
603
473
0
396
403
603
625
277
348
451
125
511
340
441
459
367
437
78
328
445
436
469
444
408
586
389
390
502
241
427
286
562
167
575
470
448
400
397
157
664
245
356
376
241
398
197
614
381
388
259
515
216
462
253
331
244
505
350
465
422
310
517
81
277
543
477
509
209
486
265
425
612
314
374
358
244
408
508
370
75
515
468
489
371
174
415
402
527
358
395
459
471
370
198
461
532
416
563
352
395
365
451
593
261
375
293
589
476
423
572
216
365
184
301
271
288
505
343
494
331
203
461
629
397
432
446
565
316
500
537
364
634
391
454
651
590
159
311
534
280
376
461
421
364
554
209
296
528
532
556
313
479
370
496
389
510
457
295
486
610
465
305
113
611
485
221
514
352
372
172
301
448
430
582
518
94
434
365
372
368
385
178
574
565
331
394
582
58
36
638
178
305
362
602
481
431
449
342
184
112
488
290
424
517
443
434
386
479
409
482
416
448
364
466
292
496
355
455
407
319
330
522
360
442
480
474
418
473
83
281
253
419
275
397
202
299
300
464
442
314
272
170
451
285
384
360
448
207
411
412
232
251
449
386
254
382
210
362
375
471
0
550
462
261
431
597
512
216
468
333
282
173
578
374
552
524
188
551
320
68
238
551
348
191
408
355
540
0
459
546
512
327
545
210
211
601
320
610
353
514
454
414
388
489
487
449
458
650
429
450
496
379
461
354
434
282
439
212
384
509
420
537
527
416
293
505
554
329
583
512
481
381
285
143
637
498
487
296
472
453
526
330
157
370
420
618
532
385
241
444
135
469
366
288
161
448
425
506
227
638
302
373
666
292
551
357
489
379
434
422
483
516
429
236
319
204
452
197
312
496
486
349
382
380
410
301
339
81
340
340
335
324
571
293
0
333
276
544
334
341
466
634
660
179
448
369
130
549
205
520
350
342
508
260
255
599
527
165
501
477
600
373
499
500
467
628
402
350
558
421
375
227
332
249
523
466
480
496
294
312
445
445
320
514
392
231
448
621
417
551
175
346
501
388
67
381
549
440
315
111
627
226
317
342
361
225
494
360
317
494
419
300
266
265
380
475
532
360
479
273
464
469
458
419
444
248
446
482
500
392
421
499
62
331
245
249
276
606
424
356
265
362
360
494
454
447
318
310
511
154
398
679
511
528
428
371
336
398
168
464
464
250
488
351
545
436
329
412
170
221
429
497
365
190
178
98
198
37
227
429
519
314
487
210
423
495
471
359
185
545
376
410
334
420
574
358
466
637
369
394
395
476
492
225
284
420
407
0
261
476
330
431
78
374
319
56
230
323
589
106
524
517
327
568
422
400
359
345
279
179
552
437
460
382
377
539
541
487
386
192
433
355
501
409
470
59
655
453
244
373
121
317
143
305
290
365
346
170
422
398
648
430
160
562
555
227
387
393
499
434
514
118
523
359
172
352
491
247
453
346
256
335
461
488
367
0
314
516
505
511
44
432
466
427
301
527
298
576
609
451
222
103
2
593
318
283
461
377
186
344
172
474
362
313
533
244
387
276
0
198
507
421
571
372
378
480
681
268
500
360
199
317
462
431
395
482
534
376
407
495
626
387
522
586
323
263
408
182
382
342
630
567
413
353
305
633
245
345
417
598
391
310
414
334
520
605
429
233
188
457
356
559
275
303
276
351
271
486
589
377
399
349
531
103
458
395
504
480
0
349
524
433
523
590
194
329
414
495
399
203
209
325
418
539
543
121
404
402
306
298
432
420
128
519
575
328
505
558
320
163
254
484
528
68
372
565
546
422
275
236
323
662
464
321
296
313
342
528
238
412
516
308
599
440
633
468
148
441
444
370
490
467
177
44
472
587
390
469
336
556
483
433
550
300
315
335
306
280
617
399
299
651
453
512
494
635
220
595
537
299
355
497
467
296
441
518
363
633
550
67
365
382
410
365
336
469
398
349
200
610
263
11
476
621
385
185
457
321
318
482
212
189
151
259
372
385
512
531
396
437
549
201
403
135
324
248
295
373
525
372
537
398
447
422
662
145
363
537
181
248
540
0
211
367
322
422
426
160
336
421
479
172
286
322
356
365
381
213
343
518
389
199
371
338
301
493
469
136
383
0
430
497
298
447
301
530
481
389
256
458
311
0
384
418
379
291
557
470
331
500
447
488
619
492
546
478
294
356
445
455
603
257
333
354
569
349
210
607
335
563
582
376
163
492
549
86
140
99
309
190
419
379
608
158
1
284
388
379
447
518
483
432
183
370
291
511
455
461
271
330
392
326
555
392
451
528
415
139
388
552
271
600
319
391
339
56
257
626
439
487
283
365
544
298
258
406
279
530
295
571
262
449
348
509
110
598
251
133
150
248
487
235
549
446
474
481
371
330
256
265
479
203
217
469
357
196
0
570
133
518
437
472
112
299
610
266
387
322
181
401
457
307
388
307
168
432
215
581
340
530
543
295
105
246
331
287
191
394
452
313
356
505
300
557
588
401
429
274
535
225
331
47
194
530
75
500
332
636
292
476
499
484
556
105
449
463
559
417
461
446
648
524
518
455
458
429
492
512
340
543
519
525
550
388
308
346
288
496
351
450
318
572
481
391
295
251
228
446
490
385
539
292
655
490
437
606
382
493
580
284
349
264
284
619
273
425
589
366
356
523
467
534
200
297
423
533
462
352
357
280
521
454
258
357
410
238
442
408
257
551
338
476
458
484
460
541
514
369
437
396
289
461
409
356
621
543
418
110
406
386
197
467
509
339
511
575
355
350
448
0
339
371
45
402
91
360
429
295
462
624
471
666
603
410
554
367
83
579
234
422
401
503
124
419
182
486
294
534
503
204
152
627
230
432
339
475
444
312
474
487
581
378
294
541
380
361
361
386
193
136
466
379
278
453
436
429
422
285
281
413
328
498
558
199
508
156
473
417
459
624
349
431
584
412
334
421
603
311
414
642
199
497
414
381
74
236
513
419
349
360
495
524
549
329
482
199
369
362
326
420
198
242
470
325
196
508
244
440
400
412
282
609
241
545
518
203
580
328
442
260
388
480
165
394
597
311
280
346
495
503
331
545
529
333
348
532
446
470
351
504
510
505
412
460
364
372
359
375
506
629
488
341
595
463
418
540
362
236
0
676
0
487
50
531
108
550
577
223
351
545
310
382
0
401
534
468
391
492
413
356
282
222
471
54
457
336
352
424
339
562
440
415
499
177
281
540
210
620
464
527
436
229
0
376
408
439
529
545
461
529
418
465
604
624
276
285
406
566
346
364
438
459
455
146
395
333
202
372
456
207
393
483
524
350
545
365
342
368
577
413
554
568
464
576
488
345
357
124
310
194
566
350
133
407
424
392
460
463
360
340
587
469
496
392
440
182
498
580
464
578
596
159
288
322
200
359
388
450
0
302
383
515
323
179
45
159
342
2
359
513
193
412
493
547
130
537
258
494
275
555
0
545
269
417
339
399
452
231
231
479
522
338
329
378
395
301
384
506
196
583
385
629
78
398
509
429
555
369
301
415
454
123
679
270
286
336
641
391
435
434
530
341
470
259
615
646
101
388
297
131
589
445
258
250
447
321
452
259
303
218
635
291
495
298
212
513
276
534
228
322
431
445
622
473
410
538
412
429
383
518
495
555
433
579
115
417
684
523
369
293
184
352
341
199
430
281
415
437
523
500
44
485
230
272
336
690
445
332
183
363
398
405
387
305
397
351
301
628
142
458
293
578
199
315
210
230
324
451
344
348
362
0
206
423
237
584
611
461
396
322
301
359
532
104
441
222
605
418
563
347
596
513
183
185
589
554
391
481
388
581
175
267
405
526
335
475
454
423
289
172
308
314
154
392
639
620
481
432
474
173
230
358
537
456
286
468
556
388
213
290
359
448
258
335
641
435
330
416
548
329
449
354
423
271
147
577
322
516
310
235
425
416
389
496
493
497
319
253
473
306
319
226
0
347
310
355
407
241
172
539
379
0
641
420
639
114
413
475
215
310
562
161
0
494
396
476
466
466
284
479
380
331
454
467
0
319
441
478
479
391
415
390
426
471
404
482
495
363
209
274
320
477
252
466
256
438
180
321
656
214
575
178
483
390
342
209
337
336
307
167
341
353
546
545
511
427
353
548
556
361
483
350
179
462
146
480
298
424
195
286
441
289
337
46
393
422
309
426
482
477
451
524
203
450
154
368
395
501
538
367
339
464
381
314
674
387
417
177
497
539
448
502
402
457
113
575
644
280
319
365
511
340
334
321
367
596
506
406
384
281
308
471
605
346
562
312
340
445
415
293
428
337
198
592
443
0
321
292
555
279
334
417
528
517
482
607
434
420
259
423
574
300
487
520
148
549
330
540
240
411
386
257
531
380
563
425
473
380
105
362
270
341
133
257
0
551
503
499
365
524
407
633
346
526
227
514
350
337
478
409
323
383
489
311
393
435
520
191
0
356
503
486
391
308
490
404
471
396
416
276
603
442
593
255
185
448
395
487
443
423
149
196
515
628
264
409
469
260
205
513
479
276
377
476
271
324
335
211
527
154
592
359
465
538
329
402
398
152
421
323
328
355
494
10
281
367
439
29
346
331
530
577
280
498
362
165
389
376
312
457
340
496
330
465
339
298
493
498
550
393
0
472
550
408
171
403
402
432
440
326
527
325
501
545
410
520
305
568
385
385
211
611
367
272
398
90
422
440
598
271
353
393
331
204
405
245
388
85
507
497
328
365
391
457
255
344
565
158
479
188
471
483
456
196
277
446
289
332
628
434
650
405
416
0
305
478
579
463
385
394
584
482
485
350
355
175
445
459
267
267
458
453
388
463
476
316
199
312
549
499
257
554
0
216
437
401
471
346
438
256
444
441
477
381
255
665
611
181
434
367
630
393
432
279
405
236
210
452
514
86
10
365
543
396
385
529
553
588
411
428
203
379
219
257
590
220
327
522
394
493
459
330
309
453
493
516
408
431
48
318
476
223
544
0
254
378
455
337
217
556
127
346
469
515
0
416
299
234
317
461
475
370
267
555
451
510
409
593
488
372
339
385
635
322
66
453
304
556
335
150
324
637
390
233
390
411
302
492
109
511
297
359
398
436
400
521
520
351
425
396
531
575
394
367
382
389
449
487
370
120
332
345
437
234
174
305
344
501
365
118
507
509
371
503
232
334
528
274
459
515
586
518
578
295
507
261
407
285
376
99
452
442
112
312
536
498
147
411
318
168
541
548
424
516
292
0
595
552
336
223
446
433
391
548
588
314
374
362
586
414
308
449
364
413
492
565
446
217
300
590
461
616
325
303
452
457
364
365
410
133
289
241
437
433
235
164
286
293
421
571
289
393
442
312
418
475
366
528
466
570
618
369
4
395
622
350
415
434
316
462
255
389
488
606
186
449
368
321
373
296
327
282
478
0
541
267
652
636
292
331
652
212
442
374
644
339
311
522
563
415
133
568
350
103
408
255
359
370
363
289
489
139
189
368
332
479
363
60
459
543
157
399
488
360
264
525
104
589
660
346
461
374
175
371
380
426
536
458
318
297
368
269
264
460
400
310
452
557
396
430
450
545
0
179
576
300
492
89
438
459
200
432
492
464
517
589
484
523
477
292
281
390
357
427
631
410
441
684
596
618
242
374
363
291
413
49
420
527
324
424
368
576
275
477
396
634
649
441
614
316
368
465
286
241
584
547
532
236
460
627
528
500
409
553
430
164
396
384
392
658
439
3
332
244
256
322
459
410
232
421
492
480
264
337
505
464
380
542
451
403
630
272
274
300
448
356
257
518
307
427
377
278
418
368
652
474
524
611
372
278
281
344
472
331
285
389
381
425
231
356
274
496
302
0
468
307
327
589
482
480
123
287
457
429
461
561
0
329
531
206
0
421
255
707
403
191
437
374
450
482
14
441
374
512
261
342
367
420
299
463
240
465
32
604
396
407
0
305
400
357
352
294
556
570
479
568
340
495
384
520
486
528
384
492
342
341
372
383
531
445
386
350
481
451
235
697
494
476
595
545
662
583
381
263
582
405
237
373
586
574
158
480
416
462
462
436
252
390
413
98
392
601
350
394
466
355
477
433
313
267
262
403
390
461
539
480
349
417
482
670
369
432
412
592
375
487
429
427
493
400
475
530
399
180
601
418
387
538
406
59
196
145
506
311
548
365
475
348
489
355
156
508
516
261
367
611
524
645
163
362
274
393
599
266
509
417
407
339
445
442
506
329
314
584
215
386
428
381
326
542
373
254
500
458
328
432
325
332
437
493
403
418
472
152
429
72
479
589
469
467
203
444
424
557
492
494
544
461
599
437
0
447
74
585
489
348
277
389
282
452
290
504
341
620
0
566
355
432
310
471
487
634
433
122
693
379
278
411
313
399
564
161
417
429
397
300
391
622
618
121
403
583
224
233
398
184
621
312
241
116
244
446
401
361
463
314
249
428
312
478
236
446
493
476
301
257
365
391
240
402
368
244
341
169
405
316
595
522
595
365
156
655
190
442
505
445
456
252
392
325
439
463
315
263
222
116
0
254
325
337
483
571
562
544
384
450
471
532
37
424
199
314
322
468
301
584
431
491
257
681
317
236
349
480
474
657
266
244
448
369
320
528
231
316
420
401
128
257
637
451
516
466
529
83
428
347
449
371
427
98
146
649
545
464
523
409
569
612
416
399
171
334
537
549
158
79
416
394
294
448
515
267
426
406
467
268
476
570
240
527
429
553
108
386
416
405
341
200
266
323
196
365
436
189
394
362
330
393
377
546
514
453
542
410
460
444
296
540
65
595
247
501
385
405
355
465
366
460
469
426
456
0
356
350
331
424
554
380
426
212
509
312
619
474
378
345
466
320
490
166
565
397
478
358
371
484
622
408
554
358
336
222
360
353
312
511
135
365
575
608
437
456
339
296
420
435
164
664
145
453
567
363
24
249
334
305
336
605
421
328
337
599
482
528
265
403
286
424
377
348
297
568
594
266
391
398
308
456
640
384
421
445
52
437
419
218
439
208
515
17
277
447
321
603
246
182
413
462
193
422
246
600
526
541
238
294
230
344
610
296
270
556
69
408
698
254
426
308
429
317
343
337
461
458
317
676
470
0
449
455
405
334
448
46
531
341
459
250
589
344
477
562
434
386
460
469
492
595
534
506
398
412
336
365
455
423
110
434
369
470
434
474
457
439
402
482
404
158
438
402
335
437
469
287
208
245
364
551
628
116
293
0
654
509
565
298
568
358
338
557
313
533
522
530
389
148
430
482
574
250
634
425
364
468
269
88
559
484
575
505
673
484
546
351
271
80
473
209
445
232
700
489
638
583
226
235
301
439
600
360
234
488
310
439
153
469
424
286
342
371
518
370
395
487
422
549
476
125
492
103
330
85
419
343
604
472
543
587
300
190
52
407
500
114
493
454
390
542
468
334
350
257
282
472
490
420
496
392
542
242
483
374
287
282
469
604
45
452
535
399
551
333
470
458
339
488
151
265
305
563
403
390
422
255
525
439
543
409
411
484
245
275
448
303
634
121
304
216
176
382
425
506
523
399
52
384
544
174
73
507
383
466
448
614
358
148
445
600
69
478
384
313
593
579
526
472
462
461
393
523
291
488
425
55
350
323
344
271
516
608
500
372
523
580
481
371
662
340
528
417
319
282
383
506
513
441
569
373
470
498
301
415
441
524
442
423
359
413
597
0
350
293
561
418
438
365
203
456
128
705
126
243
510
446
534
506
399
397
244
489
170
511
95
281
551
369
331
188
501
421
462
162
182
554
581
353
282
187
415
181
484
412
305
531
367
374
448
438
258
148
477
288
255
270
166
193
669
394
447
16
446
191
108
200
264
320
491
366
658
295
574
391
75
361
505
535
526
515
303
414
415
435
367
487
443
413
679
181
271
442
469
0
437
518
335
379
445
0
445
513
489
201
428
330
204
414
418
273
492
297
169
403
281
625
479
257
250
475
117
438
243
347
406
275
392
371
416
151
391
484
411
612
370
125
453
428
253
446
293
575
403
631
266
487
315
390
256
594
313
339
127
408
432
443
488
443
657
281
368
316
368
461
372
137
305
290
476
275
478
247
158
575
162
362
214
338
361
368
463
386
349
149
517
380
492
574
481
485
437
492
186
473
258
442
491
197
400
278
163
431
419
328
439
522
410
621
377
256
434
376
497
440
297
231
581
418
345
555
488
538
438
342
421
419
531
436
355
690
482
467
149
448
479
319
459
446
457
506
345
544
256
440
434
373
426
365
342
344
502
304
340
545
153
493
319
411
459
244
325
318
460
111
340
314
531
681
438
270
22
537
426
421
595
235
605
358
108
0
547
525
472
516
576
554
579
384
317
523
370
428
455
451
474
500
415
328
567
208
405
397
514
501
484
25
216
0
420
301
312
428
404
132
551
475
613
530
551
664
300
390
267
213
288
366
507
359
23
325
342
356
0
333
466
251
238
454
203
419
575
461
462
419
389
489
398
300
468
470
272
533
170
424
490
492
502
151
29
366
387
517
413
503
508
417
522
248
330
356
192
375
367
526
383
438
69
556
282
332
226
332
251
342
493
243
156
492
439
334
208
504
142
505
324
229
394
367
315
387
372
350
279
307
458
504
474
98
246
444
355
353
493
472
226
286
429
410
424
558
312
217
366
400
415
479
230
611
399
352
490
365
359
217
230
145
117
605
423
520
445
310
623
374
390
323
69
171
606
355
231
424
393
469
456
500
337
359
383
0
475
324
394
445
592
467
340
515
195
302
427
242
291
320
445
334
531
252
386
430
570
460
507
338
363
461
476
429
223
261
448
637
598
499
353
619
379
411
72
441
366
479
371
424
368
371
495
213
600
338
554
437
522
394
386
417
478
453
409
545
396
575
559
436
514
199
433
536
385
338
383
529
484
466
556
351
76
504
370
471
580
603
503
442
144
520
432
303
264
604
509
337
579
435
457
311
480
635
330
578
352
291
441
196
478
37
381
358
449
131
325
269
414
493
416
121
571
81
321
270
346
0
316
409
456
419
572
377
610
397
436
522
448
150
349
318
210
622
187
292
416
391
426
547
520
376
185
261
563
114
541
342
650
539
92
530
361
439
440
376
200
372
364
492
325
508
208
262
604
352
397
585
468
400
326
485
368
375
90
393
462
462
402
306
216
437
145
636
339
348
510
583
574
0
562
394
593
0
526
353
528
565
296
404
353
523
575
224
464
366
441
373
301
315
339
450
491
380
383
367
581
362
185
637
431
361
397
295
552
486
188
445
373
193
528
98
390
397
383
259
464
621
370
643
458
440
444
497
495
267
444
464
221
484
261
420
387
442
464
463
413
438
419
400
452
198
577
224
501
435
419
467
589
153
472
540
535
514
349
465
344
381
125
455
548
578
556
532
469
334
387
594
137
256
455
196
435
65
485
372
463
533
491
351
428
172
552
39
446
314
437
342
421
396
490
421
229
439
687
133
349
281
545
269
366
421
529
643
441
484
413
287
514
505
323
590
513
463
343
512
452
483
436
0
489
433
323
375
238
407
460
44
376
340
452
581
320
307
354
561
374
567
651
462
589
449
266
316
413
503
291
513
0
312
623
474
601
429
489
355
384
506
589
567
496
509
537
169
568
0
303
477
436
511
347
536
350
411
513
488
358
436
314
650
160
322
502
301
492
356
105
469
471
308
370
327
166
298
599
428
375
58
469
262
213
407
289
517
249
565
302
501
406
426
403
228
469
644
357
300
371
401
583
332
314
619
511
464
458
342
661
234
304
680
620
379
547
348
308
542
397
473
245
317
340
350
0
523
528
548
536
310
358
467
411
405
0
248
314
524
540
383
560
566
333
426
347
224
434
515
415
468
520
305
19
506
537
149
129
363
441
493
340
328
349
199
558
372
219
421
199
450
515
388
586
480
425
425
378
457
657
581
251
441
660
99
435
161
528
408
399
587
618
218
386
214
386
225
268
475
371
301
515
273
477
269
495
434
558
0
601
288
429
233
425
287
216
552
525
575
359
557
443
353
558
527
153
638
219
520
258
213
465
607
561
325
344
333
432
354
413
0
420
442
319
331
568
482
574
398
421
504
396
544
160
362
434
543
224
299
366
324
461
367
511
196
371
443
442
476
410
269
359
429
301
519
563
516
433
449
487
231
367
402
389
454
364
425
492
445
434
324
105
213
224
291
136
331
312
565
456
511
451
216
455
210
684
187
289
515
592
305
432
394
539
388
618
326
346
73
363
350
377
289
440
360
155
509
260
450
464
358
430
360
539
384
472
70
563
480
427
614
284
203
275
371
230
438
537
136
504
293
255
430
205
460
124
186
333
248
384
207
477
376
199
303
430
234
381
269
485
405
477
432
464
611
376
413
480
259
279
320
144
531
465
559
339
546
595
252
422
486
385
316
446
304
358
446
286
286
419
385
218
482
296
464
368
379
430
380
318
495
541
346
372
443
353
487
420
40
368
384
443
426
529
459
463
327
561
398
603
78
432
589
365
504
405
461
501
351
340
311
352
327
240
437
463
380
417
499
261
473
397
605
439
219
482
431
405
623
451
606
220
540
102
442
405
324
468
269
184
466
258
448
447
342
539
468
389
557
0
252
336
460
517
283
496
164
105
484
415
291
310
500
419
457
524
502
635
474
377
269
404
343
339
565
418
633
509
561
485
437
232
393
426
389
414
263
406
589
676
522
642
551
325
0
441
326
370
489
328
76
322
287
436
485
453
453
509
492
490
531
621
413
489
271
609
388
455
360
523
487
315
529
456
686
339
434
308
406
0
384
359
653
61
99
419
276
525
538
462
478
503
411
510
133
300
562
447
306
597
479
482
392
216
438
522
118
298
375
170
324
511
583
470
467
395
518
537
507
202
484
471
514
591
491
472
366
54
422
465
528
619
387
352
368
361
101
375
303
579
546
378
624
499
431
362
547
495
527
553
498
295
405
401
662
503
405
149
238
212
406
453
489
352
343
469
318
271
511
466
61
247
351
399
431
332
377
472
516
142
385
344
219
477
544
351
585
384
431
525
369
462
522
611
443
642
435
557
534
209
456
262
463
537
230
423
364
623
553
632
497
416
0
417
484
307
447
455
419
530
273
433
552
154
320
381
337
412
303
253
517
410
373
550
175
490
154
349
170
134
403
549
439
576
143
257
334
369
605
484
565
554
385
598
83
44
471
411
135
586
346
400
353
360
641
463
579
453
283
235
348
392
445
359
372
590
302
466
364
291
569
659
393
502
0
395
533
372
193
435
516
355
266
310
518
1
332
593
437
364
173
473
389
587
359
250
549
111
366
506
432
492
606
306
524
384
360
135
323
404
639
476
471
330
401
307
447
212
386
352
590
152
557
145
314
149
297
164
372
517
232
429
477
561
189
407
393
421
342
408
372
354
458
332
346
379
531
395
435
412
387
415
371
487
313
642
90
221
539
123
453
343
442
290
535
426
549
436
351
528
206
548
350
196
330
570
443
452
516
257
325
418
263
516
612
379
356
245
481
474
400
479
354
388
385
468
441
510
346
528
214
398
514
349
328
461
443
432
621
303
270
390
298
542
368
438
314
458
319
485
278
427
524
0
383
426
541
591
435
621
601
352
387
356
236
299
397
523
23
437
1
485
91
487
438
252
590
311
380
338
245
357
440
480
362
461
359
488
397
0
616
343
171
336
334
361
322
526
337
411
378
400
371
225
442
484
371
0
518
484
448
155
654
489
528
346
340
596
523
341
271
319
588
264
537
278
380
229
379
323
385
377
621
469
487
247
460
13
490
448
349
538
489
462
277
399
394
577
331
372
341
149
234
489
443
414
373
439
418
440
384
101
426
267
551
359
0
287
58
578
489
358
311
445
465
523
391
421
286
233
348
450
316
127
112
402
524
350
361
688
649
371
314
311
370
302
188
488
377
446
429
409
404
521
379
487
0
467
393
427
370
524
312
341
435
391
345
482
455
423
408
573
538
449
402
543
514
452
323
479
578
562
428
105
548
299
516
478
535
341
542
628
171
454
530
578
434
383
592
488
171
681
424
480
499
360
341
286
492
339
509
226
422
492
691
567
415
444
341
486
412
457
215
445
571
429
493
495
215
393
507
308
560
285
581
495
375
381
606
367
353
333
384
304
551
484
456
141
371
501
233
293
466
131
474
204
210
600
620
377
460
557
298
560
555
328
346
385
457
343
345
321
409
549
502
294
470
0
499
399
519
502
125
184
448
422
238
257
337
431
324
354
391
342
474
559
280
594
441
425
484
601
528
324
275
328
504
573
502
454
631
385
292
546
486
324
412
362
315
345
622
187
530
608
522
512
453
390
386
352
448
618
289
451
246
445
573
144
423
458
403
288
408
356
0
362
144
367
287
497
380
208
231
277
480
411
524
541
499
511
121
495
279
465
356
385
328
395
327
415
623
484
527
403
292
519
373
566
482
280
547
310
284
535
308
547
334
437
312
476
383
474
438
417
421
315
311
410
473
303
528
344
278
216
128
168
489
670
648
626
396
341
337
331
558
514
475
496
284
404
551
460
464
481
615
491
344
334
488
487
175
357
490
353
529
417
645
465
295
488
442
502
0
557
319
74
564
320
274
525
587
185
369
308
247
340
440
538
298
279
433
553
512
446
278
603
222
240
364
540
362
540
538
534
516
427
522
434
300
503
333
438
462
401
447
168
537
520
312
363
396
357
293
472
529
159
410
539
447
328
328
457
423
382
286
623
427
459
576
326
181
149
296
426
336
495
486
448
297
550
471
443
284
270
98
300
446
244
477
44
474
319
551
366
538
485
511
440
537
538
655
342
616
632
500
128
578
530
547
417
199
395
541
376
116
469
427
347
406
502
584
157
325
175
338
306
281
528
390
481
452
88
286
496
317
405
254
648
423
386
482
425
518
315
435
511
261
509
608
373
632
648
291
574
533
515
501
331
571
451
336
405
425
436
202
590
453
433
419
404
411
304
445
449
1
613
186
415
318
332
475
293
481
404
405
404
495
308
675
296
400
276
645
580
264
394
506
405
539
516
424
349
259
432
499
390
503
313
337
551
410
425
577
360
268
448
112
631
358
339
410
369
462
0
75
484
387
151
587
359
356
239
590
449
409
400
637
455
56
504
414
293
316
236
475
468
226
477
319
475
217
429
343
442
282
396
348
286
459
474
443
421
505
374
229
329
410
339
420
541
484
410
132
393
577
459
351
293
480
401
282
268
427
234
242
327
297
467
398
455
281
364
598
473
7
317
313
435
496
576
533
407
461
0
451
451
553
463
446
367
366
502
260
612
373
258
533
615
471
471
425
557
497
449
469
452
431
451
424
589
534
357
511
559
182
240
480
601
624
475
597
258
566
147
272
433
91
483
36
383
453
616
596
503
598
356
642
515
399
416
494
514
491
425
539
466
237
424
334
422
333
415
424
437
558
586
210
235
333
581
260
450
306
285
37
585
500
192
388
467
518
398
447
3
283
51
238
411
506
352
216
260
443
476
653
405
365
571
479
465
191
570
327
297
451
413
155
339
434
170
137
316
392
171
285
159
214
542
303
404
355
555
581
151
478
294
503
254
603
86
370
397
62
367
345
513
260
0
527
432
518
86
357
178
463
639
507
116
407
584
548
61
429
576
551
619
332
0
479
244
482
324
389
365
534
458
300
480
614
185
250
118
430
298
593
405
653
459
560
399
428
265
535
272
457
377
545
478
355
221
373
397
599
453
356
21
543
489
329
269
361
527
448
88
560
460
594
373
316
431
443
414
262
689
546
228
402
451
449
421
202
334
627
335
68
460
418
355
344
0
484
382
426
402
546
371
488
470
486
281
362
643
391
68
394
590
475
526
431
296
166
513
475
233
537
353
585
382
340
399
337
206
577
545
568
575
338
370
463
464
381
573
453
389
406
451
366
560
457
537
534
318
632
601
604
314
365
144
434
558
363
307
323
545
449
170
410
149
307
523
379
349
679
272
288
210
440
441
379
557
417
353
403
452
415
150
414
408
72
298
566
491
447
290
188
502
133
437
583
341
522
665
376
5
226
12
424
350
563
103
198
345
529
463
171
241
102
0
469
564
294
502
336
554
549
348
636
127
389
465
554
430
414
455
305
499
464
227
480
463
339
486
571
191
703
294
265
226
214
604
454
224
470
290
260
577
542
479
488
390
464
376
64
199
435
264
431
410
469
386
627
515
457
500
349
398
416
377
133
218
442
216
609
593
236
437
268
562
307
445
574
114
349
401
343
202
436
582
690
389
337
524
420
205
222
602
418
356
359
474
490
203
543
527
427
380
608
387
434
410
520
396
198
214
240
525
504
340
498
625
555
302
355
448
348
303
445
485
465
600
641
101
349
180
259
222
457
569
83
390
461
361
628
559
340
16
317
130
430
469
265
226
200
459
194
535
125
356
448
486
648
299
187
318
447
336
301
582
447
395
470
240
364
551
478
453
619
371
480
493
162
240
523
428
375
585
340
480
426
452
517
582
431
295
486
537
472
485
394
106
372
348
449
378
126
231
566
651
459
589
392
469
481
657
481
350
315
18
475
208
422
526
454
512
418
401
541
657
352
339
293
482
282
0
165
393
270
179
545
257
497
332
229
639
267
432
336
483
376
429
394
396
359
431
191
84
445
103
452
417
458
154
339
309
471
466
338
607
364
511
125
406
282
445
383
458
82
516
524
526
467
417
621
0
316
455
538
242
350
459
401
393
477
385
514
486
216
115
311
504
414
488
573
454
311
363
444
537
490
519
469
376
454
481
271
528
314
103
265
0
196
296
266
290
461
556
97
390
570
492
376
558
395
528
477
282
318
533
439
502
482
498
354
459
344
264
497
304
678
380
429
287
0
165
445
318
207
530
362
560
465
296
352
385
438
468
499
368
533
254
459
444
412
486
357
546
490
214
357
510
386
440
418
464
326
363
325
276
324
383
316
403
149
499
359
552
220
438
217
415
351
80
387
452
432
431
433
462
536
279
440
547
0
610
345
246
460
460
303
338
545
193
432
287
472
373
460
423
531
414
376
292
0
376
4
358
304
414
538
417
371
429
593
324
479
0
273
223
405
547
575
224
362
471
578
481
578
458
162
471
487
324
555
484
179
343
341
195
522
543
475
479
466
400
336
411
260
405
536
429
374
497
479
396
218
329
400
433
303
22
172
130
282
135
625
336
423
565
204
396
454
459
326
402
385
369
454
306
377
503
365
388
515
395
495
0
117
250
162
483
452
521
281
242
399
414
449
475
569
421
290
280
434
485
187
364
614
333
454
202
387
322
363
421
382
410
647
158
308
273
462
414
465
621
396
261
317
331
497
418
599
405
378
487
316
218
596
591
427
528
0
267
255
379
434
312
323
416
549
525
331
175
567
390
333
454
470
502
453
253
418
445
298
520
341
344
427
370
542
326
435
348
447
381
379
501
538
162
312
160
175
475
574
545
498
271
382
415
385
337
508
357
528
606
399
443
310
191
454
334
244
463
168
110
521
242
477
302
500
397
331
441
397
123
368
598
338
291
641
417
145
450
371
362
557
307
151
389
345
548
435
360
126
349
262
99
629
477
407
614
342
398
566
340
280
685
332
401
598
266
349
632
408
327
346
273
484
190
377
650
564
308
529
389
370
397
527
304
290
323
250
528
273
320
444
429
399
303
361
496
467
513
372
549
443
196
314
615
613
402
373
483
371
434
362
410
560
354
344
549
186
451
142
362
227
524
528
414
368
479
377
483
452
352
377
303
477
308
417
552
314
247
427
326
579
380
376
689
480
405
448
484
55
569
397
375
279
531
317
389
502
186
574
601
458
188
477
408
430
148
236
367
373
543
604
562
535
179
458
323
548
515
359
58
217
253
482
379
426
505
588
461
252
525
282
541
364
0
702
232
0
384
496
340
397
337
394
447
200
258
324
660
508
395
362
429
157
179
281
588
406
375
347
128
364
493
388
385
533
425
593
408
239
350
438
540
499
290
382
205
346
585
416
333
458
432
561
552
654
278
268
412
215
645
399
291
318
258
416
533
459
476
355
233
380
468
378
476
59
346
310
433
83
459
360
427
315
327
435
0
492
187
516
330
303
393
537
234
295
217
234
633
528
344
524
452
559
347
529
489
621
394
181
352
345
265
133
611
666
433
312
304
508
231
407
427
287
420
398
574
426
426
531
528
312
269
398
628
234
432
377
256
167
608
595
351
305
214
582
343
340
275
303
606
423
252
482
420
509
672
433
558
387
497
394
460
320
374
322
367
351
543
568
254
142
384
225
288
556
542
431
261
395
85
204
284
336
382
295
499
425
382
504
515
562
474
583
404
455
479
269
509
548
358
486
300
549
417
410
126
355
293
176
332
442
415
514
422
136
198
386
247
436
340
658
192
440
481
413
326
300
295
530
510
561
408
356
363
492
277
0
498
284
343
241
359
571
332
481
555
328
466
272
386
238
352
452
388
445
272
269
504
390
575
409
218
303
443
0
244
276
516
389
389
460
342
414
56
178
382
280
296
611
302
427
359
480
391
594
432
433
569
233
598
648
323
373
270
370
440
225
246
524
597
79
326
317
170
439
213
494
616
528
272
376
508
82
568
455
0
359
693
294
454
595
271
570
204
408
434
412
107
371
512
658
580
373
316
304
500
424
376
230
443
396
507
462
141
314
473
443
48
417
291
327
305
324
459
178
516
508
478
511
327
516
427
414
549
523
287
383
489
386
459
0
410
568
354
487
370
405
252
419
493
483
53
545
315
486
427
380
476
249
62
561
190
420
393
501
165
66
630
281
467
519
415
521
350
398
524
542
407
258
324
683
481
414
356
155
462
244
482
382
402
224
310
595
372
288
434
626
402
510
234
298
313
348
447
451
531
460
285
530
399
430
500
494
517
480
436
351
446
553
459
424
439
487
688
183
458
490
242
340
423
340
426
439
146
454
454
630
345
507
486
530
379
273
423
202
385
530
424
438
306
456
206
384
463
445
344
479
342
230
337
438
500
429
502
171
628
340
505
0
428
296
415
523
349
338
392
410
604
518
236
529
476
0
226
484
501
549
175
339
252
462
572
84
314
455
367
204
440
186
528
219
407
627
88
410
287
675
447
443
554
533
409
172
430
230
497
318
254
277
297
551
259
375
278
426
481
500
279
429
421
310
442
516
291
511
306
430
392
265
552
600
431
314
145
0
563
414
675
545
372
440
413
405
237
419
250
211
317
270
574
546
370
466
290
445
257
306
448
434
430
354
505
314
567
585
278
332
505
420
373
511
282
381
152
153
530
525
438
655
135
387
466
616
173
665
482
406
529
519
603
608
0
338
316
504
379
252
413
396
488
360
456
469
482
552
212
680
480
241
475
166
518
364
295
625
464
528
0
333
186
422
513
397
404
343
288
469
301
217
367
482
171
285
88
476
80
372
413
285
422
565
343
464
596
349
498
219
391
448
257
369
339
343
598
453
266
463
409
534
465
61
256
327
554
89
320
288
341
563
327
334
383
296
520
376
386
341
164
625
170
383
360
490
287
470
543
640
490
317
354
391
297
571
527
492
448
272
365
229
295
429
430
687
217
391
421
338
229
278
351
460
250
124
663
238
577
75
318
276
451
412
160
395
491
436
301
330
385
526
297
339
441
436
518
661
495
244
538
596
565
363
343
392
623
394
443
331
525
351
428
186
390
317
162
258
559
181
269
522
507
483
376
501
535
323
391
485
196
629
367
194
578
384
440
569
624
82
589
488
434
326
317
434
392
525
316
501
464
349
334
368
482
278
217
187
365
445
432
691
402
612
245
286
387
455
235
510
541
515
203
462
146
429
249
566
573
387
384
341
390
392
392
299
104
484
298
427
493
575
332
504
386
370
44
31
629
359
612
420
504
560
155
293
448
424
492
199
466
578
514
505
327
372
275
196
439
464
346
150
148
508
439
514
437
243
299
325
368
432
530
516
470
137
595
611
139
404
263
367
422
480
431
304
146
137
550
414
65
505
45
620
457
337
623
520
287
213
52
289
596
325
198
327
261
561
491
378
342
490
210
624
617
377
457
443
292
366
481
379
337
315
492
245
271
0
395
364
546
605
250
228
0
491
466
373
427
403
433
368
427
451
446
480
473
340
535
401
465
396
662
592
304
478
358
365
629
307
494
304
285
479
383
357
294
102
348
463
336
387
340
382
308
468
452
230
410
466
486
437
383
118
551
311
426
427
132
421
485
184
318
534
148
429
414
549
435
640
304
354
323
451
541
280
182
501
649
636
30
303
338
644
180
431
443
488
413
538
323
243
421
357
533
453
116
142
532
318
330
310
599
532
649
542
306
573
240
375
399
236
335
448
0
522
383
205
387
539
354
547
432
398
543
339
466
415
365
437
99
198
443
318
110
253
566
256
366
333
429
181
585
228
119
75
476
210
315
600
237
488
592
180
602
583
560
164
610
302
292
291
0
590
281
385
311
419
384
518
0
507
0
469
363
486
307
268
347
390
433
240
277
349
299
316
100
327
282
374
386
385
611
304
505
413
480
459
375
463
176
419
589
562
527
173
605
374
357
351
535
539
518
272
365
0
355
413
365
238
435
520
371
437
377
472
512
35
291
250
626
593
280
258
52
3
397
487
507
110
219
448
455
684
388
488
168
299
140
440
217
633
513
314
322
446
255
620
513
354
451
524
422
463
351
390
509
414
267
590
433
602
187
282
545
301
532
540
482
201
565
527
306
419
307
322
387
302
289
611
239
529
455
397
482
423
533
580
389
534
401
328
310
514
332
479
487
356
437
525
368
456
323
474
317
0
574
311
533
322
599
515
307
166
472
634
464
424
194
565
373
352
376
475
470
428
139
373
364
581
450
413
488
480
533
432
412
470
274
519
462
243
496
363
526
202
444
575
498
368
258
145
417
425
308
311
506
374
607
528
451
180
477
389
442
463
476
222
348
576
216
482
455
321
548
457
633
323
424
634
330
442
407
321
116
667
298
358
482
519
566
237
184
205
509
306
585
595
450
442
493
450
362
378
432
549
619
552
324
674
408
450
413
590
440
496
481
544
479
456
608
543
367
438
371
552
435
419
390
584
284
518
5
458
223
565
540
494
374
228
0
445
310
538
181
343
313
386
466
290
417
407
342
436
372
280
532
388
576
509
359
362
465
413
484
272
242
535
0
540
435
419
535
505
387
179
591
0
462
430
617
375
448
479
450
493
567
0
155
245
519
506
179
67
289
402
596
440
107
242
403
431
267
468
536
510
213
176
235
483
591
474
159
174
635
591
376
236
545
418
88
289
431
449
520
0
197
522
517
454
384
304
224
406
277
583
420
356
487
14
0
252
213
208
468
536
409
202
355
323
445
536
490
438
318
562
480
65
245
400
367
160
397
365
282
394
399
517
239
583
371
235
320
394
544
468
185
571
440
468
364
512
407
383
452
330
262
306
427
279
408
350
531
423
498
215
608
385
482
575
689
535
405
382
324
314
463
204
381
496
105
397
429
105
427
565
239
491
576
403
321
396
424
261
241
579
0
458
250
354
466
595
547
284
489
549
581
197
473
581
350
539
139
352
576
109
433
545
373
511
80
502
395
449
348
505
508
419
293
245
371
596
490
563
521
471
307
515
442
475
392
481
545
388
183
331
330
398
247
457
308
396
649
333
453
462
354
315
287
367
461
319
317
339
254
516
366
385
436
321
0
406
356
462
329
353
550
0
636
313
354
445
420
312
391
534
554
538
510
523
114
369
589
454
197
311
564
468
692
479
554
134
528
386
453
412
429
487
251
175
141
562
409
306
589
691
479
4
331
285
386
533
218
407
557
364
431
659
183
443
276
413
492
518
648
264
336
472
317
472
171
92
520
434
314
511
467
394
419
391
118
384
503
478
264
374
506
351
371
283
178
544
421
45
472
327
383
382
405
449
273
187
436
117
337
568
389
502
213
349
186
545
441
527
480
534
333
481
365
517
345
398
458
203
504
571
448
615
275
395
395
440
275
363
412
75
484
248
524
560
328
323
311
586
425
394
433
474
411
422
460
543
302
428
185
532
284
468
531
378
482
560
417
493
482
446
318
375
530
321
578
489
332
422
415
571
224
119
490
384
431
342
417
503
377
588
437
376
442
361
493
226
404
400
306
259
494
319
408
331
353
169
301
641
532
604
199
438
0
508
172
458
359
422
435
496
299
417
404
450
517
338
0
489
520
238
435
414
537
226
491
494
489
216
365
253
479
480
603
542
579
88
323
251
381
124
118
329
370
496
370
534
287
534
182
269
539
428
458
409
423
316
463
438
542
141
497
501
280
556
210
262
279
103
394
511
400
450
232
290
154
206
308
137
376
340
407
385
445
207
456
613
511
454
252
365
574
345
465
525
262
491
537
339
298
446
402
273
188
490
382
539
428
536
244
469
452
479
454
212
308
372
504
546
479
414
573
374
380
379
304
467
484
437
323
325
378
439
242
243
364
414
334
479
392
436
444
423
608
109
495
502
271
48
449
359
365
618
428
307
268
269
399
481
500
426
258
97
463
261
319
380
266
395
475
586
305
312
416
325
398
523
461
440
314
212
504
439
604
542
479
560
249
477
234
65
72
343
504
179
216
514
264
253
246
488
327
505
402
624
579
382
293
531
360
444
418
99
603
385
309
297
423
292
407
391
478
508
37
368
339
524
325
299
513
502
393
381
612
521
306
388
305
529
436
515
152
387
151
523
326
545
398
222
592
467
441
589
490
368
278
548
388
32
432
485
472
458
195
305
361
408
381
141
392
123
445
273
224
447
335
429
528
445
540
376
412
554
255
301
426
347
435
390
347
426
284
0
491
545
418
315
310
331
476
284
0
443
564
289
438
0
385
329
278
437
309
418
343
561
143
172
580
333
414
597
430
378
517
253
102
0
331
566
630
472
384
383
273
509
311
558
408
533
463
525
331
75
446
273
420
410
326
351
186
494
308
448
353
439
75
562
313
179
499
290
245
205
416
549
223
430
480
466
278
594
491
500
243
469
492
280
317
520
349
375
240
446
554
107
499
308
470
618
615
239
318
545
216
293
570
406
379
650
506
555
295
536
228
380
488
454
202
365
328
515
421
230
492
417
517
427
392
258
532
428
393
359
643
320
400
310
390
370
304
423
392
0
590
130
396
631
374
472
336
311
145
254
258
385
425
435
327
551
284
473
364
344
479
362
352
463
172
414
497
501
603
336
467
234
225
0
539
438
474
333
447
513
259
492
479
228
496
228
638
296
460
518
656
569
293
0
339
245
684
299
251
82
660
490
218
209
439
485
504
368
360
556
535
451
483
514
480
554
609
413
339
357
288
238
523
450
466
403
367
559
202
437
534
293
525
624
310
425
273
331
479
477
526
205
303
505
290
545
333
514
99
335
211
264
423
575
354
125
349
468
342
440
459
399
481
599
349
238
212
355
414
448
431
606
334
403
462
599
180
215
569
449
625
376
221
372
414
496
405
460
259
400
294
599
422
423
599
354
352
409
383
593
193
0
191
460
366
343
419
425
545
518
323
308
291
244
387
383
494
147
370
428
462
527
634
521
657
331
318
288
401
482
577
587
374
366
505
261
583
558
474
461
438
546
391
492
387
313
312
418
195
201
170
677
268
118
547
352
623
0
423
571
559
498
433
390
350
338
571
479
564
633
282
389
471
559
356
265
476
345
500
303
386
404
499
447
98
296
0
334
171
229
296
284
587
0
434
669
519
358
512
390
519
509
613
0
220
265
369
353
545
216
299
426
325
456
319
403
417
524
448
385
172
345
554
543
20
504
538
468
255
436
513
490
319
643
340
70
92
454
314
433
394
386
550
481
170
401
209
266
387
592
437
570
498
329
458
538
316
311
434
366
316
103
512
488
357
391
438
491
342
462
598
255
511
440
254
354
371
397
449
514
418
334
61
551
544
256
371
513
536
640
333
62
321
459
609
365
375
263
426
360
550
378
557
456
433
317
181
568
120
444
98
570
364
187
333
158
371
176
201
179
411
447
451
613
124
246
649
397
308
447
348
429
566
453
327
455
505
454
322
528
339
294
447
379
47
375
444
415
330
283
343
579
373
480
434
399
439
378
485
574
577
376
422
367
83
209
256
553
297
132
506
292
403
131
352
354
428
309
476
143
432
86
248
307
11
633
236
477
89
409
519
246
367
527
384
421
333
497
434
530
466
482
227
405
514
435
605
307
339
375
306
445
427
222
265
472
477
483
393
489
486
385
395
330
537
526
415
331
592
150
511
374
430
376
275
377
401
514
104
437
127
416
495
314
24
406
141
534
489
390
621
198
451
503
491
623
534
570
73
590
414
447
361
327
590
612
214
168
339
614
375
213
494
601
441
444
554
424
401
390
503
396
467
430
633
528
437
434
505
312
396
444
442
514
287
281
443
436
255
403
305
308
349
251
495
659
272
559
614
408
635
627
369
221
146
514
112
293
460
529
395
0
349
344
445
602
446
427
562
479
365
0
421
517
406
33
153
398
401
404
399
468
333
507
364
358
416
618
231
412
362
586
379
229
303
336
479
239
527
0
470
115
411
356
180
78
473
421
485
420
434
298
375
559
365
446
339
261
370
378
369
419
521
496
412
430
453
248
288
285
366
425
243
536
490
369
321
535
432
255
493
496
199
258
443
400
537
362
531
477
0
427
512
422
383
362
139
215
223
186
661
453
448
452
409
403
303
509
398
237
338
122
425
449
343
319
548
0
427
191
400
412
398
421
384
349
403
569
504
506
391
258
350
80
425
554
518
544
118
500
450
20
305
209
332
196
496
453
438
499
425
602
348
537
629
639
314
413
292
507
500
351
185
415
618
369
456
228
479
361
334
572
115
475
284
260
331
271
502
446
385
413
472
337
256
430
443
566
431
605
422
514
700
257
427
273
431
487
439
420
441
158
324
499
461
367
395
335
522
174
410
518
217
504
266
334
647
184
380
448
374
407
535
656
466
465
231
542
454
376
447
429
508
444
680
365
512
244
306
412
267
425
412
499
441
222
591
491
518
565
251
345
304
239
501
164
485
292
371
358
0
525
386
149
454
420
364
385
614
397
504
250
481
383
684
492
451
540
367
529
299
599
338
525
261
611
445
408
182
373
375
347
537
441
491
197
409
466
440
473
467
528
375
343
445
266
310
295
220
660
236
163
383
304
320
156
679
419
368
255
480
387
488
0
209
474
518
73
388
234
329
221
378
482
480
172
430
516
343
348
154
179
466
471
331
369
369
568
438
208
354
587
522
450
316
482
248
226
287
465
488
558
401
149
455
430
188
304
451
356
105
505
329
382
149
225
463
380
223
400
451
248
322
451
662
202
492
83
530
70
572
471
365
459
387
273
549
611
513
501
357
353
636
88
545
383
486
534
542
293
399
231
315
446
501
418
406
399
566
640
520
403
441
459
179
282
452
0
194
202
431
50
536
451
443
436
452
342
393
253
594
425
321
418
341
384
331
469
316
288
507
468
639
548
316
387
300
279
281
436
282
462
101
214
332
483
457
495
299
392
423
563
616
535
498
292
664
495
567
422
474
387
213
594
401
393
279
563
108
341
338
402
250
408
305
434
376
477
488
241
484
483
479
549
496
335
358
593
452
550
649
440
472
286
321
371
431
397
261
328
332
201
399
377
482
372
571
372
627
354
396
523
660
302
403
369
463
207
401
419
478
395
459
599
545
361
312
0
426
191
126
611
220
0
408
421
91
353
395
421
568
0
0
296
522
401
681
387
512
327
188
435
520
435
179
457
545
514
522
572
417
419
474
570
451
562
276
490
542
274
601
482
440
382
315
603
491
426
616
195
499
131
566
616
0
291
466
248
540
513
505
525
615
369
468
452
316
496
497
470
371
453
463
452
402
273
288
455
242
255
555
582
257
596
475
0
257
297
225
496
436
474
432
329
534
117
217
305
356
523
432
339
256
593
519
409
501
285
536
230
590
511
606
523
603
396
626
456
447
499
410
521
394
447
448
169
588
95
600
510
371
433
256
441
322
364
585
324
567
239
431
678
373
445
305
442
347
513
82
680
448
544
515
434
516
445
46
466
433
430
296
492
231
373
495
621
562
345
102
515
620
83
582
547
389
111
234
450
560
339
386
342
437
547
419
482
465
374
542
557
541
526
445
371
407
520
276
532
97
527
504
279
500
624
298
403
606
204
419
309
367
446
600
295
555
469
272
432
311
258
440
424
278
453
561
221
297
431
419
412
329
199
342
375
408
665
467
406
346
525
288
348
446
252
312
435
506
510
379
369
281
542
393
411
118
518
192
205
538
429
294
376
125
241
265
361
457
487
555
493
579
570
404
374
381
0
260
500
400
119
531
661
261
213
368
357
423
365
488
541
474
372
274
108
171
398
160
504
378
445
486
277
480
419
455
348
415
307
456
483
194
239
513
466
331
419
348
362
325
418
310
120
614
410
529
204
305
648
141
338
478
267
480
281
427
661
458
397
621
510
499
679
427
371
152
554
322
265
430
248
476
586
463
500
289
218
384
524
111
696
509
175
248
262
243
298
353
474
603
518
448
519
274
260
427
343
450
340
301
530
505
625
487
173
337
600
367
634
288
409
370
668
230
494
349
391
527
380
333
210
535
0
343
537
423
424
362
183
371
490
138
566
538
222
592
232
0
390
491
354
138
155
492
530
416
365
108
556
488
511
411
467
514
252
365
425
502
361
479
506
643
435
480
375
433
549
360
558
421
415
475
455
377
524
305
333
591
339
400
473
207
217
395
334
386
477
310
322
341
442
410
439
474
463
388
203
210
36
426
374
192
430
453
403
294
406
437
45
440
290
593
463
357
420
252
643
372
459
487
324
602
615
217
467
150
0
358
359
250
455
364
536
419
412
275
549
587
360
354
574
446
340
601
539
484
359
409
284
131
225
391
279
358
453
496
331
428
227
329
22
488
322
510
504
595
533
285
409
180
360
0
416
517
616
475
434
473
523
526
324
319
535
506
354
424
353
554
423
396
271
422
184
225
122
384
294
128
488
598
254
473
236
618
238
565
112
206
307
202
508
537
383
428
186
407
312
649
24
331
326
77
127
414
294
410
527
422
414
270
484
422
268
141
466
298
419
610
495
622
358
490
496
300
483
312
358
580
682
274
383
302
367
431
436
402
516
348
0
338
177
629
116
459
279
172
333
476
0
401
355
479
552
566
538
367
141
236
266
165
275
404
421
250
389
64
352
443
345
442
596
321
363
474
494
672
364
435
499
658
234
586
152
111
389
210
467
433
315
588
602
525
452
438
407
539
82
285
322
494
427
300
129
398
480
579
600
658
444
489
534
429
459
598
376
0
610
384
369
399
453
346
382
485
563
255
466
604
290
439
61
385
402
323
347
253
313
375
397
532
493
423
654
277
62
213
400
675
322
353
0
416
451
358
557
445
219
275
434
383
574
301
241
398
320
328
237
526
149
276
210
337
402
346
605
364
494
412
446
318
541
394
471
447
244
454
248
303
271
139
331
319
535
515
443
655
500
474
133
525
356
524
459
197
627
237
525
0
297
350
550
399
193
617
465
588
394
403
352
629
383
360
267
355
398
506
264
455
441
463
475
549
377
637
203
323
131
187
589
536
0
323
485
432
244
274
373
634
559
471
404
522
182
420
487
493
370
446
449
487
300
461
425
124
406
328
422
144
463
247
327
152
438
375
428
320
606
177
323
425
366
38
459
465
334
316
378
358
553
335
135
176
331
528
465
395
283
530
235
415
416
434
550
389
370
524
224
319
334
382
295
297
154
172
490
346
31
354
283
389
283
256
365
423
244
227
130
409
377
637
531
676
521
350
448
452
473
306
0
329
508
469
569
246
291
412
640
469
486
487
406
342
338
475
477
314
275
261
386
462
393
334
222
189
285
358
470
637
453
263
406
441
603
641
372
23
538
384
483
505
408
321
540
327
272
229
435
445
279
594
0
621
537
486
427
415
484
448
519
436
624
478
534
404
352
346
429
329
523
333
318
377
539
186
389
431
565
190
581
559
380
245
183
441
345
473
96
689
479
430
0
362
379
197
516
560
475
346
236
469
475
343
389
592
305
125
123
408
409
0
321
519
470
0
358
329
386
337
507
398
321
349
152
372
318
430
395
598
303
489
442
444
497
504
552
351
348
644
171
590
50
162
619
113
471
518
350
549
505
363
482
449
372
344
331
275
581
457
588
470
227
391
195
477
324
510
687
311
418
520
355
594
339
491
362
674
436
510
489
502
532
391
219
373
326
563
469
385
494
167
383
384
330
494
133
396
265
459
562
447
535
210
295
212
418
472
389
487
434
455
469
561
331
468
423
199
0
524
548
623
251
593
294
549
584
467
331
451
355
546
453
531
578
406
464
405
316
458
238
198
227
596
350
189
375
478
674
350
0
539
412
541
398
608
0
294
385
258
320
429
48
350
419
157
418
445
413
479
255
454
480
364
454
528
290
346
602
313
647
282
627
399
292
536
276
343
466
417
331
456
265
318
437
189
257
402
515
241
394
611
618
443
454
559
407
0
473
308
384
370
504
525
562
467
362
303
487
311
35
275
668
571
415
482
206
460
678
184
406
434
516
317
287
382
313
349
365
487
354
466
200
0
0
405
416
486
459
460
429
359
482
332
245
151
19
217
558
444
467
421
94
375
500
558
308
537
525
397
691
341
400
344
312
472
487
315
550
356
639
558
0
370
346
384
75
262
354
158
310
406
363
206
180
328
379
579
472
393
391
294
339
489
410
367
308
325
442
458
320
419
466
232
343
328
492
104
20
325
514
562
422
0
266
502
431
509
489
340
396
391
320
575
476
380
92
230
484
142
562
614
195
455
390
159
428
367
335
298
568
96
338
345
448
90
459
645
314
278
149
485
541
544
495
403
582
324
178
452
352
339
453
216
557
471
195
437
329
463
269
405
340
144
472
145
461
258
497
602
508
327
297
390
387
348
398
380
489
526
539
348
403
409
534
269
300
492
517
400
269
344
323
151
397
8
651
509
435
243
328
514
319
418
654
322
315
375
424
329
371
557
153
167
385
345
449
561
430
418
490
411
416
582
449
374
627
683
364
212
322
356
380
410
175
570
311
175
380
10
531
317
359
582
577
324
440
557
154
408
250
448
423
571
373
610
212
450
578
496
204
360
482
180
400
443
355
560
295
579
491
536
96
273
354
222
508
230
214
434
497
318
386
471
348
248
188
460
517
341
638
194
267
559
610
589
535
0
280
609
192
472
311
461
299
495
460
550
415
202
395
376
434
480
197
426
123
358
160
306
312
373
415
427
363
554
397
568
80
422
658
471
494
25
297
338
535
552
291
389
333
389
582
230
451
427
492
453
486
248
350
401
352
400
440
283
625
250
394
244
20
470
565
417
180
570
498
420
45
0
575
561
343
518
216
560
454
250
369
402
540
409
294
439
156
657
511
186
406
352
212
319
163
264
456
220
294
341
383
478
356
573
402
428
446
376
450
591
213
419
137
113
542
498
117
356
346
257
526
253
335
317
302
424
519
305
447
494
272
92
397
489
294
76
496
322
296
146
559
395
421
617
354
448
367
424
328
495
176
290
178
534
425
554
390
251
349
498
255
133
513
214
572
446
198
304
470
469
582
512
562
415
448
438
131
379
540
565
298
258
451
117
513
381
528
479
485
509
186
323
90
464
408
51
59
422
487
295
480
236
403
451
87
313
329
0
435
248
328
659
409
475
496
114
399
266
474
413
387
386
127
364
558
380
41
143
458
382
219
653
601
403
563
561
395
496
563
560
277
175
530
365
361
315
410
430
487
245
370
288
214
221
419
447
152
452
119
195
300
289
340
455
480
568
448
405
608
246
583
480
344
356
605
364
337
516
513
271
544
311
604
500
364
231
421
520
392
176
403
211
117
338
494
149
436
97
609
0
387
403
411
214
346
345
81
126
385
600
568
449
225
598
376
303
411
303
422
438
656
365
410
535
476
0
362
392
256
403
353
360
311
306
189
456
491
466
307
483
542
196
230
492
482
624
469
464
435
275
457
318
610
353
676
91
278
387
543
312
415
232
397
232
452
345
589
395
356
497
40
345
442
344
555
566
392
331
429
510
414
339
129
647
342
383
427
481
555
286
393
528
415
295
265
261
471
191
544
636
387
346
371
461
450
402
138
79
113
430
327
356
571
234
365
419
338
631
413
533
503
342
647
296
493
466
411
5
520
311
238
385
453
225
345
486
299
510
408
349
379
533
429
157
456
363
469
384
590
441
369
567
482
318
380
244
320
586
482
387
603
390
28
531
545
496
72
500
432
430
262
360
499
470
439
409
473
440
419
193
485
595
250
215
478
225
227
168
337
367
479
504
493
671
247
608
540
408
177
476
385
380
28
306
491
305
444
497
554
451
0
453
286
369
474
424
234
313
532
477
140
0
254
397
507
382
474
497
278
249
448
384
500
338
367
475
172
427
539
402
592
452
288
373
148
423
458
176
571
432
290
464
258
346
313
479
521
440
340
340
249
585
512
244
208
669
553
375
442
370
324
531
73
330
379
462
214
305
227
364
439
0
527
548
109
391
521
410
499
542
614
505
538
438
568
210
430
499
506
176
596
324
513
444
604
639
544
121
444
505
577
227
462
506
419
242
503
378
235
558
86
543
356
267
549
526
286
255
344
245
599
404
585
0
391
187
340
129
450
405
438
511
358
455
435
238
184
393
437
306
362
357
496
560
357
498
404
523
566
217
375
298
306
534
186
426
433
161
375
402
646
380
384
472
420
482
569
150
403
176
382
373
351
521
457
288
512
414
332
484
179
559
345
342
657
373
62
155
482
511
516
452
554
484
480
514
532
617
470
310
468
525
500
465
283
454
186
409
490
175
385
508
339
317
551
504
500
383
380
504
545
446
543
246
350
684
495
370
387
487
455
448
473
573
372
375
479
361
164
471
249
329
398
468
101
469
421
405
234
463
539
456
15
387
254
160
330
483
219
300
470
521
251
195
460
595
138
456
458
505
480
382
371
299
441
505
360
253
616
343
171
285
546
274
420
38
484
0
365
475
537
352
598
363
518
325
0
499
243
400
253
549
245
622
198
403
523
291
675
308
356
338
299
488
332
425
407
540
198
519
0
629
423
493
317
170
520
50
420
343
282
256
555
555
451
272
648
71
445
486
320
253
500
467
573
528
528
465
419
456
463
504
477
428
306
274
333
476
513
499
535
390
408
321
420
497
195
607
408
456
540
273
463
178
360
310
368
435
555
61
253
410
0
0
468
375
473
462
452
357
125
36
314
341
510
607
416
366
381
418
431
477
473
300
194
581
224
275
135
132
407
244
300
408
402
497
604
333
465
188
270
191
310
414
261
224
149
255
303
204
366
524
562
593
410
429
477
351
399
228
457
410
0
330
516
461
380
517
461
385
0
476
352
257
450
347
361
496
614
501
401
427
279
331
385
367
337
479
126
473
399
566
256
565
508
339
618
494
485
132
406
112
491
466
583
392
402
487
231
370
588
360
151
25
179
390
439
572
478
336
79
466
279
434
523
316
379
388
248
552
264
0
427
664
459
549
246
615
103
580
542
86
210
442
403
339
170
343
320
19
278
311
437
358
382
507
470
475
439
479
468
436
547
461
365
340
405
303
535
353
503
425
565
244
272
227
488
418
500
425
540
392
292
124
335
446
667
313
336
238
530
643
597
416
413
497
443
351
422
28
0
423
337
232
134
204
66
518
587
281
344
480
468
128
449
143
407
495
520
475
331
398
614
503
618
305
322
0
449
279
392
533
454
505
421
507
298
595
486
274
390
371
494
219
294
514
322
679
397
463
589
348
0
67
372
605
354
571
413
394
615
294
474
358
180
406
250
376
257
139
357
416
347
436
308
477
130
426
448
228
631
249
326
445
235
316
495
267
482
380
470
300
234
487
454
240
545
485
558
414
426
457
448
474
577
372
327
363
19
275
302
407
516
282
209
371
406
468
361
449
432
253
331
304
465
423
630
362
269
430
510
385
253
504
279
168
347
652
379
266
308
494
266
434
509
468
220
357
466
500
432
482
374
411
209
159
228
576
469
319
166
450
211
513
253
336
217
336
552
508
357
495
345
416
483
0
269
571
454
551
330
531
522
231
450
561
217
436
229
399
138
285
404
435
379
153
308
540
417
269
317
483
312
553
229
365
476
601
357
534
207
419
415
594
347
472
631
367
535
441
434
395
358
415
348
275
490
383
448
156
0
298
491
461
428
234
504
578
382
485
356
458
267
260
625
535
469
416
470
117
667
542
511
425
476
340
531
282
376
401
370
504
391
450
528
451
454
535
283
656
558
357
299
423
437
625
453
139
386
489
515
278
232
367
444
301
467
245
390
558
147
238
504
360
90
279
564
429
571
392
353
404
0
373
529
478
365
455
255
506
609
379
489
572
312
292
591
223
312
627
311
415
283
151
199
492
599
246
296
531
491
357
375
470
532
428
166
429
371
501
493
427
475
513
361
459
479
242
398
283
168
317
389
403
524
198
88
123
135
397
394
341
278
207
598
576
474
607
408
421
462
355
567
311
252
449
456
425
372
180
526
486
463
287
382
256
319
506
445
313
499
529
0
265
291
288
492
468
386
436
384
551
285
509
424
474
127
145
287
673
491
109
475
371
458
483
651
541
278
438
540
488
87
466
548
386
417
516
371
321
317
378
507
312
497
517
347
310
305
535
421
371
230
497
627
480
332
398
541
467
489
393
246
431
313
508
285
429
465
243
558
241
485
554
371
465
130
576
149
304
595
312
268
399
0
0
0
608
0
215
606
448
525
367
397
476
461
564
401
446
530
501
652
450
286
350
508
513
453
79
505
453
230
369
504
345
303
439
529
381
651
66
319
366
357
356
0
490
369
449
344
65
458
464
249
521
407
427
459
249
288
449
340
175
446
348
519
601
475
402
515
490
252
281
340
413
50
215
540
389
235
168
130
550
470
336
111
402
347
233
549
258
430
540
599
546
455
447
0
474
387
253
429
475
456
329
238
623
500
509
633
109
133
426
440
337
492
462
142
224
337
390
170
256
408
523
502
529
0
596
244
236
468
255
392
433
39
486
310
464
41
397
403
359
460
386
232
216
321
546
454
377
361
386
400
415
423
416
387
457
240
543
0
197
122
263
554
402
282
175
549
169
488
405
563
504
457
603
411
0
376
328
318
357
24
296
410
617
258
544
352
323
126
622
499
369
105
359
485
538
473
383
340
403
550
331
396
450
341
82
452
549
0
218
511
124
531
623
22
538
533
428
646
542
488
344
502
293
443
514
654
407
644
515
126
170
495
347
431
84
561
311
412
0
393
479
139
315
267
484
455
437
610
0
94
667
360
455
189
346
524
537
468
228
552
670
512
363
423
455
332
320
310
561
466
145
159
428
524
280
190
386
443
311
523
523
496
472
542
594
390
704
387
207
537
372
425
431
189
405
278
424
558
450
324
426
60
406
331
671
327
554
315
212
301
637
349
389
324
296
457
608
364
385
256
384
443
380
461
651
197
527
264
444
300
472
399
337
423
388
339
449
507
531
506
475
473
480
565
384
564
224
290
405
340
377
502
606
501
396
135
210
337
478
433
316
413
445
563
264
362
223
218
292
458
595
502
510
327
490
392
441
468
528
545
290
640
0
293
119
210
517
347
511
465
528
384
387
432
636
199
491
433
295
206
105
590
692
374
296
282
474
376
50
412
286
231
409
547
479
393
492
352
300
181
0
495
465
199
144
333
139
371
457
462
216
375
132
401
498
181
488
422
444
441
404
353
554
354
428
666
250
384
483
554
484
389
100
109
136
386
646
530
511
170
631
386
577
436
579
305
621
131
109
316
657
529
511
464
462
268
290
226
517
496
607
577
255
395
205
466
546
484
499
535
463
648
569
218
527
262
388
275
555
377
319
587
609
290
392
636
327
533
319
340
0
342
639
486
396
0
534
219
280
248
286
467
332
598
335
328
395
476
395
238
425
452
466
557
589
475
462
509
0
463
360
319
487
95
308
204
579
116
503
228
440
448
347
285
406
411
395
0
500
646
615
341
589
618
529
446
214
42
507
434
432
242
354
635
562
524
358
498
483
462
93
610
604
452
403
502
468
408
370
365
247
608
116
435
457
109
341
484
510
488
195
636
283
388
578
238
265
557
343
468
388
459
507
244
500
369
314
588
385
444
275
99
546
446
509
478
329
11
331
173
493
218
482
104
552
172
433
493
430
191
350
339
291
352
272
426
290
460
261
463
529
306
476
409
244
413
602
0
419
306
515
493
605
418
595
415
317
203
278
542
416
459
267
471
350
325
537
439
424
158
476
405
442
664
407
277
528
459
325
103
294
395
425
447
393
381
488
462
524
284
610
460
449
2
397
444
351
285
373
566
325
662
398
502
541
337
118
433
308
400
407
500
402
328
530
254
97
614
587
596
260
292
296
521
165
358
0
321
385
634
240
350
578
451
203
131
487
358
439
517
453
321
192
437
123
262
309
558
483
139
352
133
508
187
501
353
573
642
309
505
343
584
575
598
289
309
373
350
367
0
446
462
516
315
445
557
315
371
271
445
508
413
568
671
0
250
415
213
573
378
214
467
0
399
571
421
561
185
424
157
489
341
437
459
312
480
197
309
82
408
630
156
534
534
626
480
329
440
385
435
199
384
401
436
394
326
386
625
505
482
518
211
0
343
541
448
637
486
500
338
409
380
447
288
243
371
430
384
422
444
528
387
453
526
337
312
237
452
606
350
467
336
581
473
109
438
294
364
321
513
494
448
398
415
465
344
186
295
310
529
455
360
316
419
472
319
313
292
399
610
240
630
247
411
398
442
472
269
396
560
422
364
248
528
627
439
372
462
266
344
280
535
585
392
0
513
644
324
529
494
266
442
413
374
596
431
624
64
362
512
690
248
253
198
512
328
166
509
404
214
262
566
627
458
420
417
104
480
449
352
345
422
549
592
327
525
391
290
624
236
398
628
496
454
366
256
235
194
459
651
589
207
346
336
384
505
180
394
485
68
303
152
464
301
519
609
312
400
386
318
428
441
184
452
526
539
260
299
355
274
282
555
514
576
686
595
200
449
465
254
377
328
552
404
353
226
143
492
620
572
344
310
270
312
482
337
250
403
557
297
468
442
642
190
184
548
266
249
194
137
344
514
502
395
463
214
70
642
304
388
458
358
429
256
222
473
321
381
431
266
569
551
374
407
426
487
371
336
535
287
608
423
593
66
419
386
370
364
404
227
532
304
518
556
0
403
494
476
164
528
427
314
522
487
350
347
519
415
0
437
410
290
191
624
463
377
411
373
606
531
384
427
16
383
616
586
507
561
449
451
491
560
333
391
306
464
374
519
466
24
410
470
564
435
329
409
161
474
469
401
675
449
673
195
486
302
591
434
479
493
151
660
605
82
444
486
492
319
398
348
368
433
581
521
417
580
409
470
374
252
455
340
517
406
487
300
245
475
232
428
0
356
336
580
513
250
421
537
233
519
634
280
368
288
476
488
128
353
543
225
362
623
416
540
251
491
352
316
593
435
202
340
347
192
328
223
140
338
440
465
642
359
397
250
414
470
384
251
342
392
65
314
468
0
437
195
329
404
453
456
525
339
349
383
559
162
283
129
602
529
527
328
390
295
405
292
545
587
479
427
190
288
421
0
369
493
523
391
375
382
473
350
384
498
461
328
453
414
599
348
339
522
388
515
356
328
631
405
231
451
284
497
183
360
353
255
401
360
44
229
536
297
405
300
467
281
597
368
452
467
145
352
373
630
319
537
610
496
511
410
366
346
258
168
302
256
540
407
453
385
574
350
465
303
443
268
512
0
367
362
408
533
495
445
449
488
569
494
270
108
111
440
439
174
252
533
329
508
194
541
402
578
251
613
555
364
105
488
474
90
489
340
317
635
274
293
420
312
463
587
548
383
355
456
343
414
439
586
359
436
442
102
369
342
303
439
649
494
416
403
531
445
671
555
304
83
425
340
506
565
256
328
499
168
433
296
560
312
252
624
447
430
238
163
166
153
402
373
228
252
510
387
488
330
117
161
469
451
476
161
378
499
603
490
531
509
589
270
458
293
471
544
84
474
172
434
497
408
407
407
170
439
493
609
415
307
531
544
212
632
287
277
410
347
54
357
133
247
401
612
499
520
499
367
499
600
456
279
398
310
429
582
524
408
313
201
494
391
223
160
319
265
363
431
591
322
413
410
501
357
315
660
642
309
108
467
292
604
259
218
500
641
348
167
280
200
534
216
272
334
320
461
506
506
335
345
393
224
339
401
411
432
488
327
600
386
555
11
303
527
586
430
525
103
568
520
265
482
410
423
67
498
535
399
440
398
270
250
340
485
540
308
537
293
391
0
59
296
387
510
289
524
597
422
360
0
464
455
323
50
654
429
455
192
421
166
565
401
536
687
474
404
389
328
488
139
442
602
446
343
350
263
408
367
353
293
580
654
383
464
558
446
391
363
253
415
171
422
668
544
505
303
503
430
309
404
408
392
288
577
398
269
454
438
211
256
461
202
629
377
575
437
542
494
457
550
376
416
387
466
159
446
588
390
335
545
500
278
247
293
312
587
90
366
321
488
495
451
513
412
468
552
521
496
336
359
381
336
109
163
334
376
482
498
303
361
287
311
0
573
423
690
413
69
558
327
425
498
382
0
252
411
549
436
328
316
457
300
404
278
379
420
539
267
433
578
401
581
283
320
555
0
227
455
527
82
515
121
194
311
100
544
85
418
162
638
510
374
575
349
197
290
235
418
394
481
639
433
306
516
141
563
305
344
33
160
0
424
446
585
385
475
631
452
446
193
281
100
443
461
544
72
480
472
380
359
318
416
495
365
390
426
479
353
377
574
419
47
351
599
82
532
314
338
370
474
447
88
442
263
533
371
438
448
411
331
403
409
587
367
403
143
411
159
331
229
476
403
464
657
504
394
336
442
453
481
387
306
427
588
118
126
409
556
495
416
386
285
378
467
562
443
158
455
462
654
410
346
396
460
402
401
481
265
399
441
260
594
497
462
350
517
549
433
442
475
0
253
261
515
280
303
529
694
183
294
258
268
380
572
430
200
404
431
429
437
472
411
420
553
505
485
307
312
271
434
321
315
391
504
409
435
163
378
465
475
423
246
594
161
473
229
153
589
561
314
303
235
381
457
513
578
433
117
269
472
459
153
4
160
654
409
186
459
569
356
419
321
384
444
341
222
366
516
633
583
609
298
441
506
528
460
312
494
464
0
352
621
401
599
353
447
363
333
355
437
559
606
148
371
208
295
288
423
528
243
634
418
603
331
577
484
344
581
244
413
0
356
483
495
317
356
190
517
127
458
331
356
438
376
323
376
360
482
379
436
585
482
423
476
512
426
336
398
421
473
417
454
289
259
479
363
468
385
203
294
565
352
413
372
580
494
453
483
479
414
457
559
366
301
411
340
72
280
435
354
251
493
596
224
381
313
639
354
689
348
282
464
59
382
136
607
420
391
337
410
421
672
181
111
556
0
658
583
220
112
223
274
471
301
530
436
364
477
291
585
316
234
587
526
341
434
607
127
518
338
459
523
69
554
401
334
490
294
327
0
526
504
323
371
448
386
482
473
353
234
144
285
126
544
437
475
485
488
305
317
68
332
527
75
339
217
508
50
528
387
361
341
420
320
559
203
277
360
436
478
449
339
589
511
560
332
121
518
390
344
529
453
430
443
291
382
449
142
347
465
576
358
482
231
258
437
158
537
236
557
249
634
510
419
388
414
537
654
185
584
309
492
392
503
0
275
503
571
387
404
390
382
452
527
529
488
181
385
636
476
555
676
309
565
424
124
403
472
356
419
427
653
424
339
387
489
319
451
554
440
302
145
487
330
258
572
473
386
93
464
473
393
440
617
256
149
404
223
402
230
0
556
481
330
347
0
657
292
482
700
413
61
426
344
268
357
53
237
301
490
239
0
260
559
223
340
596
335
457
347
338
261
433
365
544
489
402
321
572
403
406
213
687
584
261
670
0
288
400
277
568
501
318
555
387
611
522
195
273
363
371
541
483
495
466
387
432
384
246
510
303
453
123
388
483
321
427
502
275
411
432
574
268
419
550
551
454
326
571
365
341
414
380
149
162
515
275
525
370
288
308
622
82
679
235
322
705
489
504
500
473
321
492
425
323
419
561
377
364
118
416
331
397
366
294
591
442
466
429
416
529
0
437
503
227
494
269
284
334
530
587
222
523
15
538
239
351
441
335
266
158
286
437
368
491
595
515
595
532
327
571
165
355
450
403
487
528
84
416
380
347
478
392
218
579
266
420
493
515
446
546
253
361
414
513
548
536
404
336
482
374
380
593
515
4
444
353
310
0
440
499
282
265
502
526
525
202
196
511
0
215
358
429
334
370
0
634
200
461
289
492
584
498
185
464
490
591
426
335
431
320
306
516
314
351
62
471
325
317
522
428
524
197
243
434
613
552
644
182
439
440
556
448
351
541
339
266
451
459
612
436
448
340
479
438
478
596
384
368
329
255
392
362
349
580
494
260
304
521
521
392
471
339
357
495
174
338
0
109
426
122
364
229
355
402
533
332
319
463
495
324
29
307
240
442
479
436
339
350
389
264
282
396
379
362
542
400
312
394
580
549
492
310
379
409
455
330
375
175
423
437
494
592
375
435
339
458
349
508
414
255
464
296
288
673
333
487
386
384
597
117
508
314
172
46
529
356
124
553
331
358
356
541
103
416
665
218
450
161
626
598
82
0
513
649
505
343
339
504
0
365
568
232
468
608
421
382
658
563
412
437
294
287
205
497
0
444
307
402
187
334
606
576
420
419
611
467
403
624
325
407
534
198
317
596
541
245
487
374
364
221
504
246
596
579
405
470
504
643
403
55
0
412
226
431
343
522
141
440
403
32
347
153
472
361
355
130
393
397
384
442
422
468
516
10
0
139
428
517
603
578
472
215
478
432
456
261
278
551
323
366
613
309
255
384
364
210
135
267
506
314
511
182
483
578
472
437
355
520
204
393
195
362
277
391
575
518
390
394
478
500
268
453
445
551
331
549
429
377
230
113
453
406
314
8
574
552
376
672
400
572
290
461
551
376
159
0
290
454
327
612
291
459
444
330
484
353
345
353
296
522
100
482
542
352
332
521
282
420
404
337
282
435
411
303
344
444
521
281
177
172
382
236
0
555
303
576
391
336
406
457
384
486
631
536
509
495
295
578
382
365
417
320
501
485
469
377
546
344
187
440
249
406
462
475
590
522
472
397
337
432
336
392
442
400
584
563
558
149
470
205
537
395
188
360
276
401
237
472
238
407
354
457
387
463
485
342
311
137
407
494
312
142
445
459
468
420
388
516
406
306
254
567
646
630
590
508
378
331
158
403
412
513
526
445
133
396
289
390
518
410
307
593
545
303
538
438
346
521
558
637
544
515
533
609
325
504
208
388
585
552
465
322
484
332
354
371
169
568
254
405
279
228
436
525
340
426
258
468
350
529
330
318
254
452
287
274
369
290
461
358
380
378
35
424
338
705
382
495
483
322
216
369
246
600
123
387
291
0
155
71
523
597
143
526
278
348
301
367
475
426
513
77
462
58
382
485
583
286
463
107
418
418
570
411
0
308
575
330
468
125
499
632
415
479
435
306
474
176
601
361
370
471
652
372
292
580
413
554
195
563
434
382
556
355
191
492
370
228
335
173
441
402
368
210
538
344
226
521
361
301
583
375
542
440
421
554
474
546
520
425
418
499
128
285
81
339
414
354
139
379
233
374
0
509
324
381
316
436
409
313
368
387
376
372
372
439
317
300
422
545
153
396
614
489
473
450
603
384
133
632
417
369
532
446
359
382
330
551
184
50
264
367
193
524
216
497
365
502
306
378
565
556
284
314
265
296
510
201
396
422
0
336
45
328
293
303
364
518
361
455
414
470
418
371
419
215
579
254
607
314
373
306
390
454
331
389
257
312
432
436
225
420
144
512
614
492
633
205
386
358
235
117
340
545
223
275
523
573
113
459
582
489
444
320
491
340
375
442
527
523
440
171
658
299
538
362
636
265
342
310
348
293
363
582
478
584
364
339
579
349
271
492
241
324
63
425
426
363
597
109
491
410
282
254
371
398
342
89
661
493
448
673
353
375
264
445
507
408
245
361
576
315
426
444
541
547
512
637
352
580
445
601
143
365
421
285
247
168
301
386
0
418
375
194
532
333
339
568
590
448
67
432
491
151
443
254
526
72
178
594
328
515
429
149
305
270
334
279
293
478
458
36
386
445
491
501
180
346
516
522
553
449
219
635
524
411
430
192
326
279
242
464
369
587
464
579
406
403
349
492
240
384
422
466
436
587
423
319
515
606
418
208
119
397
530
483
439
382
485
350
431
0
298
397
498
263
353
115
384
456
288
538
324
469
592
494
329
526
175
276
658
523
442
193
397
546
368
560
259
333
335
144
458
365
153
428
418
139
477
514
430
527
291
477
420
247
583
163
465
353
407
487
340
515
175
549
487
625
518
319
119
503
335
441
520
309
340
453
375
280
493
439
382
407
270
233
324
260
291
655
239
482
192
365
454
368
405
313
473
419
297
214
429
363
222
576
213
575
576
493
661
350
327
469
354
408
524
499
74
0
615
486
242
554
466
339
0
445
596
249
0
455
233
359
658
342
497
437
449
546
407
558
434
444
147
238
269
595
647
342
615
562
400
199
333
438
540
506
96
375
418
467
273
311
189
520
577
445
208
440
314
351
411
277
396
251
222
318
323
319
485
373
308
213
236
0
565
486
614
194
540
514
349
608
246
477
275
284
291
363
432
554
422
404
422
409
382
526
467
331
372
311
361
520
424
449
478
423
275
324
453
358
489
250
611
416
623
313
239
249
231
311
453
625
0
402
543
562
394
405
289
190
394
543
396
436
386
456
149
536
600
306
433
586
483
325
418
429
219
591
285
97
411
335
493
366
413
453
281
396
591
533
559
493
0
509
651
360
360
126
454
385
524
149
359
390
551
476
386
247
603
336
0
490
382
523
415
399
466
542
392
493
286
429
342
490
507
197
494
229
452
98
321
321
353
242
684
385
448
296
224
376
670
631
432
482
368
504
338
579
316
526
327
450
474
599
229
486
198
391
560
457
261
290
163
365
524
181
236
367
348
366
65
419
369
522
496
483
363
441
527
117
334
143
267
151
506
283
209
476
292
0
467
496
472
445
426
452
62
248
477
470
484
348
306
34
97
532
362
432
355
346
407
179
435
271
474
562
431
357
497
0
573
414
324
106
107
595
555
481
209
354
118
408
408
148
472
105
155
430
601
146
481
0
462
671
374
315
605
278
401
531
361
445
312
503
139
394
643
523
329
461
377
112
441
328
439
548
409
268
246
198
599
613
521
530
294
581
597
466
374
467
576
362
289
194
582
412
113
358
264
373
325
601
606
438
236
528
363
344
634
410
418
410
355
595
0
297
596
382
289
571
292
453
411
330
176
362
60
339
435
643
312
652
306
489
339
607
330
467
38
411
184
444
592
498
306
224
392
490
506
346
329
492
429
379
471
495
571
370
509
238
211
262
357
350
625
220
271
512
87
450
403
369
339
499
530
544
558
615
275
316
449
342
440
585
517
417
526
380
635
634
191
484
422
361
423
461
337
324
652
364
365
422
61
88
291
479
533
507
277
429
498
377
239
369
327
82
145
316
428
365
459
375
583
428
0
473
616
395
398
190
546
172
542
449
311
371
301
522
383
488
292
380
521
352
489
413
438
526
418
671
437
0
135
262
555
356
369
450
5
610
410
414
391
447
324
536
389
639
359
237
622
311
496
228
343
0
389
574
258
461
131
466
659
370
415
409
250
223
413
490
507
447
0
279
535
685
150
396
526
446
614
553
549
518
616
154
152
343
595
497
348
430
477
340
337
466
490
480
229
251
550
599
524
446
417
332
533
484
186
661
436
562
372
374
410
578
414
491
280
435
384
308
316
465
451
350
510
558
423
583
382
409
500
329
586
288
351
548
371
304
384
571
97
619
499
467
391
434
452
579
224
461
191
261
343
183
513
558
152
413
477
185
437
276
522
139
294
286
495
599
685
351
633
354
314
489
468
364
502
568
237
405
428
330
402
509
280
471
263
673
34
621
371
311
415
111
404
442
342
325
364
576
342
349
196
552
482
423
403
426
541
372
382
441
397
262
307
403
232
365
575
331
533
431
271
411
534
484
389
149
415
447
155
100
153
20
230
369
449
370
319
359
487
471
209
384
585
233
252
625
292
323
541
430
300
498
550
498
481
383
309
321
278
299
357
433
535
7
466
463
472
335
516
398
358
580
386
485
224
483
461
424
438
267
439
363
569
473
476
321
407
515
0
262
286
243
281
541
522
374
340
269
284
388
456
357
139
370
527
295
540
323
592
418
215
433
422
359
399
432
440
411
424
591
330
615
381
464
0
331
425
471
502
355
295
369
272
196
320
497
322
462
227
456
345
35
423
400
514
607
408
366
313
484
282
364
201
158
545
212
410
328
427
320
424
146
358
340
592
385
226
619
177
235
356
425
308
384
127
501
290
239
588
66
367
458
497
616
486
495
456
263
530
362
427
503
2
633
444
350
254
615
496
473
42
203
517
560
114
507
370
298
203
522
201
440
145
166
317
396
491
281
642
60
269
348
113
87
281
477
497
549
373
544
554
460
458
146
436
270
384
516
575
519
554
203
315
81
301
278
481
373
423
298
424
555
290
417
581
491
29
526
188
385
69
405
524
601
384
490
445
79
317
316
435
444
331
105
418
411
470
341
389
330
480
112
316
357
587
381
545
434
422
431
538
570
466
296
198
386
455
327
372
403
291
220
391
358
290
472
325
496
40
371
164
475
445
346
316
431
475
339
385
570
421
80
279
305
387
360
383
345
431
403
379
544
285
420
355
365
211
509
252
410
166
178
289
579
424
456
410
352
371
398
314
415
365
534
382
374
306
171
75
364
0
607
366
513
184
517
468
387
469
544
443
554
293
515
297
423
345
331
508
411
573
249
586
289
528
364
348
461
654
564
314
0
352
4
346
602
443
428
464
465
479
530
224
357
608
449
526
452
361
413
341
402
476
0
538
583
282
435
478
413
505
308
363
481
497
360
344
564
331
203
453
341
428
255
347
379
213
234
628
519
222
479
570
318
420
486
357
516
457
206
300
503
86
564
451
446
262
213
511
316
415
490
522
475
477
332
325
285
480
255
283
535
480
152
254
461
564
496
268
16
361
428
441
629
442
439
438
403
604
388
249
568
413
132
393
388
522
490
183
364
252
340
505
28
523
552
483
142
524
110
348
371
418
606
576
364
381
512
536
576
461
326
544
90
567
388
295
319
371
356
336
411
380
334
213
204
68
360
618
406
274
409
190
227
440
382
101
394
467
410
299
318
197
485
293
105
459
536
575
485
607
306
84
554
389
504
547
475
98
444
402
213
218
445
417
364
222
682
273
492
440
396
155
250
402
374
526
528
402
398
243
472
619
273
348
527
594
346
393
234
392
453
20
450
448
221
395
427
515
598
248
441
590
404
200
115
457
0
402
442
565
576
336
44
553
403
536
365
638
355
433
240
539
518
487
357
419
579
585
420
450
300
535
397
433
380
479
268
443
394
0
502
206
337
402
374
386
486
495
551
222
446
314
539
372
435
504
250
226
350
366
404
526
183
513
538
269
580
351
617
425
387
391
271
440
173
359
462
234
145
607
602
239
372
455
355
368
429
545
494
398
492
369
97
504
147
428
436
0
369
597
599
325
403
526
597
341
228
546
59
420
509
510
215
82
441
436
139
636
375
400
546
345
381
374
444
651
294
331
281
457
411
533
259
518
337
354
194
657
479
592
408
395
521
0
339
442
463
438
262
355
356
391
580
479
248
461
554
519
339
428
577
396
355
355
112
385
399
170
568
171
289
433
0
337
482
426
402
235
658
483
488
135
257
390
354
531
419
558
517
517
454
114
336
392
448
422
516
274
389
360
270
249
330
435
334
434
339
390
312
473
227
375
302
560
413
332
409
378
263
324
245
272
316
301
324
436
260
166
420
563
521
545
488
363
450
402
387
378
299
457
501
425
329
395
639
106
402
502
379
644
315
485
240
424
397
593
316
667
406
546
341
645
0
166
319
447
472
637
488
175
573
446
408
383
421
231
333
387
385
384
528
263
532
264
100
433
420
443
476
484
520
455
377
361
366
395
592
461
283
397
199
495
465
523
628
456
356
453
237
497
401
457
574
532
239
282
232
285
304
442
555
519
468
527
416
581
365
209
317
242
538
564
545
364
665
524
175
395
308
327
376
305
365
482
433
411
346
438
441
355
314
362
397
253
0
440
400
412
526
226
316
483
361
421
480
382
538
341
547
417
386
314
190
298
320
294
549
478
419
533
342
385
202
281
319
564
463
511
338
614
426
354
251
514
229
402
265
315
460
408
293
64
457
535
579
377
376
469
641
312
459
618
609
475
257
443
372
317
367
429
577
230
550
183
509
187
484
236
481
409
365
279
37
473
489
362
438
385
415
474
368
471
361
396
478
427
568
411
334
238
204
535
618
437
539
277
222
207
229
306
437
227
378
340
424
405
401
448
410
453
370
451
557
510
266
318
438
230
415
325
403
643
343
448
62
456
292
308
51
71
271
390
465
482
512
353
581
515
523
469
0
515
86
179
356
423
511
538
44
322
544
529
469
228
378
570
234
275
262
296
428
282
544
510
442
392
516
508
371
391
285
47
504
494
314
513
307
246
364
374
431
317
513
638
279
521
319
130
289
373
192
384
507
627
502
336
290
434
531
339
368
115
365
362
0
488
251
684
668
535
372
466
318
316
286
252
496
550
611
255
316
169
248
211
542
245
334
433
453
358
325
340
455
616
396
335
342
565
240
491
164
480
354
451
362
362
397
257
377
419
426
446
500
209
529
455
287
384
431
325
345
434
290
272
406
350
439
480
610
619
299
255
0
390
358
112
270
298
503
477
519
309
418
384
0
398
363
373
323
441
430
429
544
341
229
319
530
346
449
116
500
368
319
447
315
320
415
548
300
396
504
574
519
628
572
294
305
254
231
191
422
418
540
457
128
415
339
450
638
438
643
312
308
464
112
394
198
511
340
500
477
284
398
492
625
427
429
410
0
523
477
379
554
474
218
562
268
211
219
298
376
403
467
417
388
288
257
270
522
209
265
639
242
208
342
376
433
543
567
461
294
37
453
360
370
577
376
290
366
450
311
446
415
447
320
247
450
288
344
414
135
413
540
653
293
448
433
466
582
421
339
476
513
447
525
589
390
188
174
409
256
401
227
316
698
419
585
417
482
521
220
144
357
628
320
462
401
170
512
433
307
581
381
586
511
599
518
430
625
75
465
451
473
340
465
305
469
371
341
492
560
387
464
534
347
257
295
1
476
230
272
508
46
468
444
349
395
231
584
339
322
411
444
428
455
513
153
348
0
577
310
606
571
472
250
312
241
312
314
178
528
403
452
295
82
496
478
582
513
57
444
231
457
247
381
401
0
371
441
494
505
444
645
111
525
310
595
398
222
262
456
451
260
423
133
314
590
520
464
54
684
464
539
245
561
451
258
459
366
0
486
596
351
99
491
409
290
340
351
420
567
579
275
464
543
436
42
450
367
475
685
349
387
294
520
411
466
463
352
409
537
425
310
404
531
401
538
435
418
470
511
452
318
168
671
551
339
443
273
409
594
466
481
286
361
180
410
421
406
561
627
440
525
247
531
407
189
242
562
475
0
68
326
509
466
370
536
516
178
0
409
274
318
324
497
53
256
474
390
447
482
230
531
329
453
89
445
233
430
395
636
247
438
505
142
219
463
592
363
98
543
499
503
448
496
355
483
463
564
492
312
107
573
317
461
363
139
443
589
514
538
454
124
104
394
188
328
448
400
699
459
299
358
299
205
433
609
287
198
128
0
572
347
415
340
307
459
591
427
494
617
434
418
403
589
544
382
660
468
244
377
336
496
349
649
567
94
442
563
240
490
119
488
219
467
449
608
423
403
456
164
177
409
90
296
356
515
647
586
408
257
339
310
546
365
646
459
337
344
433
436
414
400
330
294
409
311
345
559
395
171
404
559
155
466
170
388
564
319
105
393
623
449
412
467
353
318
371
503
359
442
370
536
356
511
362
360
435
360
456
336
333
444
345
434
362
127
434
555
0
535
628
425
336
525
238
560
258
37
407
444
493
433
283
457
590
388
234
280
443
417
461
468
502
417
423
471
173
483
398
16
463
450
431
427
419
515
425
441
352
342
428
280
280
499
283
521
528
554
30
55
253
129
290
471
506
482
384
374
309
439
157
377
309
433
488
531
438
367
525
230
496
507
458
345
263
443
528
431
440
482
327
489
382
213
353
589
343
320
546
542
219
185
469
254
441
381
610
390
163
586
391
574
115
297
357
482
174
411
297
421
374
258
573
448
620
376
439
488
563
339
565
553
393
356
184
445
293
524
392
541
293
670
448
438
415
418
362
468
62
395
541
638
404
362
412
359
486
547
499
88
578
375
580
366
467
291
575
353
475
424
576
554
324
374
197
279
536
238
440
475
516
537
402
382
326
481
504
80
518
485
0
426
625
439
197
356
564
443
461
607
555
446
304
414
324
424
384
469
257
305
553
353
431
482
528
210
365
561
162
410
462
433
547
126
379
210
535
249
519
189
347
133
540
0
317
468
297
410
257
192
419
373
278
503
338
391
554
300
153
428
390
0
350
417
255
464
319
502
368
380
363
580
464
661
510
0
457
564
289
191
459
218
368
261
97
243
267
233
429
398
96
541
147
232
353
276
382
272
469
431
89
463
148
375
457
375
448
487
489
446
0
610
322
394
311
295
379
272
414
378
279
505
0
572
432
645
322
501
506
505
225
433
270
502
293
453
477
469
497
453
566
471
290
152
261
422
427
149
446
367
18
360
357
561
480
472
348
327
563
548
57
249
529
175
585
489
528
304
236
316
396
382
173
325
67
527
382
531
522
464
226
613
401
619
351
490
416
390
538
420
644
486
307
430
508
254
529
448
205
455
345
355
569
405
671
575
418
101
416
474
562
203
471
638
341
346
419
510
271
475
479
328
654
553
528
193
471
518
435
551
514
376
375
391
632
522
520
533
674
474
489
296
186
507
640
356
408
471
151
380
618
146
337
473
516
598
445
475
366
502
284
522
352
0
406
262
500
594
409
482
634
275
546
540
434
172
542
620
542
226
266
402
457
448
298
483
593
428
431
462
248
451
549
391
583
239
528
246
491
379
495
502
427
356
322
262
104
385
348
327
247
464
382
603
454
370
193
569
282
439
524
389
352
172
118
555
442
289
354
455
329
577
600
343
230
576
398
524
660
467
426
531
499
607
378
417
347
537
620
71
449
340
440
537
407
547
401
190
526
314
518
511
372
373
58
392
189
510
360
522
272
200
298
161
418
459
182
423
577
505
497
375
202
368
443
384
624
466
525
311
472
454
561
294
424
591
225
340
506
383
0
89
572
618
430
456
374
265
347
559
387
451
201
474
262
478
411
525
347
446
193
495
332
224
375
336
89
330
447
339
650
530
578
514
323
397
175
407
356
377
407
395
487
378
463
287
529
59
480
214
547
452
266
558
216
321
285
535
209
258
0
643
4
459
330
429
174
405
369
242
244
531
357
298
505
312
418
329
216
549
587
237
283
143
542
532
492
110
157
549
578
469
268
425
547
311
511
345
467
474
476
236
338
411
437
453
301
467
512
126
341
487
591
349
563
370
575
359
343
0
303
160
366
415
532
260
45
390
78
388
607
476
320
373
0
453
381
285
515
402
460
253
455
335
203
354
634
577
467
0
377
380
455
380
475
515
577
243
441
381
485
424
510
446
403
478
228
320
338
219
159
529
516
461
497
458
345
492
426
547
491
144
426
458
439
58
299
190
631
551
396
481
419
340
574
357
476
569
267
321
530
481
233
544
288
105
414
419
48
200
376
537
253
325
501
650
298
547
316
567
270
488
222
523
503
492
616
560
558
619
497
605
417
453
565
423
375
466
484
530
231
470
457
357
493
505
345
184
493
542
515
494
207
86
340
383
410
571
576
378
197
668
328
260
277
516
381
454
563
374
0
323
299
227
613
251
348
558
262
493
397
99
117
368
505
416
386
572
485
405
261
392
222
333
440
330
365
175
464
279
448
150
478
502
292
263
408
560
440
210
347
517
367
423
388
105
647
256
353
432
547
403
136
212
145
309
397
505
232
550
463
294
473
433
474
457
525
400
345
519
558
553
357
372
375
436
624
487
491
534
588
578
218
342
443
344
641
553
396
455
501
240
291
446
347
550
557
341
520
330
490
633
431
637
419
98
296
383
367
362
395
396
338
422
396
262
162
417
482
188
255
570
320
453
577
588
316
500
59
154
325
200
292
347
399
496
428
436
479
548
476
325
276
412
229
211
546
0
391
251
421
621
406
422
622
367
522
401
505
525
5
225
625
302
207
444
418
488
345
348
442
356
518
443
445
468
594
227
644
508
448
478
465
352
324
435
421
422
545
451
496
606
421
354
478
492
239
347
170
287
425
321
402
293
498
170
532
516
565
342
388
357
504
538
318
386
397
363
481
346
482
414
488
326
644
503
0
400
113
331
438
522
384
424
400
363
549
573
214
362
462
455
388
372
525
284
272
298
414
468
383
485
291
347
377
402
488
257
356
398
280
326
613
0
518
442
547
322
561
261
253
474
435
390
614
478
287
447
475
5
466
370
341
487
332
659
446
295
382
414
422
378
301
683
445
423
443
406
303
594
261
446
423
605
518
495
417
425
338
460
453
315
457
515
429
450
465
376
173
270
457
326
260
394
456
216
691
493
275
133
348
539
452
517
501
635
526
422
434
0
387
293
536
99
258
556
427
455
100
430
342
561
261
138
603
389
150
515
242
347
419
116
331
415
408
405
366
457
416
293
386
466
594
322
419
663
427
359
316
335
470
468
54
203
327
416
438
178
238
325
412
421
311
397
607
356
444
450
414
562
560
615
520
502
415
323
408
573
494
353
209
494
210
100
274
500
508
428
434
446
228
380
405
497
467
473
300
98
559
401
540
496
515
622
455
430
208
484
265
413
442
512
465
630
415
109
334
480
540
428
399
424
545
109
276
257
467
362
475
305
179
578
443
558
607
443
567
405
487
526
369
503
637
609
555
495
489
495
504
226
13
538
246
594
332
258
0
519
318
466
601
225
383
491
486
208
392
448
336
496
396
398
414
229
641
549
364
476
239
242
393
0
527
503
618
425
231
221
154
392
484
352
567
442
485
504
596
513
339
249
452
457
498
561
324
272
429
341
58
360
313
455
188
411
416
595
247
418
152
434
199
465
468
621
212
286
507
384
353
124
679
630
274
299
643
329
347
434
547
416
264
190
436
451
308
411
215
340
525
440
541
105
421
125
449
477
465
404
601
388
114
418
584
619
478
526
519
314
428
377
453
282
111
544
592
527
281
65
369
427
262
436
513
267
33
401
317
445
272
491
137
481
442
641
0
582
441
547
526
454
665
440
260
499
525
300
536
660
200
203
358
373
285
443
364
388
244
350
491
208
214
381
460
445
219
191
528
551
273
456
281
492
279
295
494
218
400
280
331
426
479
237
523
528
393
113
397
300
380
228
284
343
460
368
393
483
522
241
372
227
318
325
309
591
498
464
208
494
517
604
619
285
415
531
408
626
581
387
182
566
437
353
382
260
462
433
667
655
357
398
363
348
537
168
333
373
388
471
255
446
351
468
587
452
62
656
381
307
438
338
315
69
0
286
356
496
360
313
434
511
539
382
8
530
604
255
415
378
448
407
521
219
385
292
572
629
281
198
376
344
326
633
144
407
102
533
603
330
0
147
321
332
129
314
333
118
171
319
446
416
607
601
281
471
422
67
553
474
0
236
381
368
328
536
327
614
562
650
392
547
419
227
363
354
310
339
557
518
464
625
267
218
525
294
461
220
229
548
0
551
291
287
397
291
438
0
390
0
349
367
491
322
371
286
177
465
402
101
473
438
136
230
339
450
280
349
410
387
540
466
553
558
493
501
424
311
621
551
399
548
645
452
186
300
493
463
634
282
414
314
499
508
212
648
346
346
553
0
615
432
515
139
462
473
332
433
407
425
284
283
538
260
342
438
148
220
141
462
495
575
571
512
593
529
294
448
122
666
482
351
285
367
448
454
511
462
594
462
628
471
460
470
370
328
258
623
306
217
368
498
365
24
349
370
416
541
15
175
448
430
411
98
486
480
421
552
491
448
599
487
664
425
636
430
369
369
569
659
612
358
539
353
258
289
230
0
563
503
556
486
412
506
573
140
439
426
488
336
419
357
500
363
468
201
407
320
465
549
396
376
235
594
387
373
208
604
453
517
454
473
538
5
500
433
407
669
540
570
0
575
0
464
322
347
149
366
327
394
555
513
343
263
387
0
624
373
497
545
376
523
380
454
303
384
343
538
162
458
431
523
661
423
396
589
314
117
605
508
339
219
352
0
204
190
202
443
679
404
250
470
248
371
389
504
473
492
627
420
420
496
438
317
582
395
212
461
511
441
536
223
413
505
412
484
388
419
318
350
456
387
123
586
63
492
396
525
420
475
537
241
520
330
547
0
279
431
442
514
605
428
290
387
533
573
289
477
156
316
638
526
527
297
572
503
448
553
413
644
436
177
517
459
620
255
545
169
430
431
277
0
317
420
522
0
296
491
600
452
220
674
494
90
472
357
311
247
357
221
379
398
327
554
454
318
0
386
339
427
674
331
298
562
251
580
508
373
404
316
52
434
537
397
642
456
451
292
430
135
458
315
391
247
297
508
332
403
599
438
331
354
285
364
409
277
134
416
486
41
538
547
477
466
440
314
330
613
529
433
487
455
450
375
504
50
443
435
457
163
593
558
336
666
390
365
665
424
576
269
530
396
441
199
471
616
468
112
459
419
631
266
221
159
660
431
335
324
231
299
299
465
364
381
330
261
452
361
333
409
287
176
326
107
360
395
346
313
321
412
512
524
146
315
295
403
529
210
118
596
303
314
212
334
446
236
514
429
634
597
497
486
412
432
470
516
442
459
271
452
467
488
495
309
332
345
324
290
509
357
516
478
518
324
534
367
407
428
459
421
511
595
559
326
378
336
567
404
401
560
333
693
427
415
577
482
332
429
121
629
62
524
272
441
378
268
413
349
292
260
367
253
362
462
282
410
512
407
298
564
147
361
397
395
630
521
305
543
274
531
561
333
438
230
327
295
495
425
557
455
420
376
265
269
255
496
513
289
528
483
388
244
59
363
405
623
469
157
335
605
117
683
567
490
270
355
433
659
387
515
478
186
377
178
511
271
590
82
344
395
303
253
378
106
379
359
354
365
250
355
670
473
405
450
323
413
353
156
299
225
438
333
429
311
33
314
470
586
476
339
237
500
345
324
419
214
506
467
458
570
0
369
361
353
276
351
355
524
499
360
515
449
418
170
410
310
658
448
391
309
145
309
163
88
206
467
602
489
554
346
364
348
464
351
318
591
539
199
128
591
86
528
415
236
138
525
266
388
494
503
309
349
412
605
654
384
405
316
423
544
350
424
364
591
193
506
510
155
473
316
611
349
244
521
281
275
330
171
486
106
483
150
396
243
479
422
33
145
496
394
632
416
381
338
334
399
585
295
462
387
412
410
0
157
260
317
342
462
327
438
490
289
473
450
391
401
303
90
497
489
291
0
236
518
516
266
233
318
451
420
412
575
269
514
295
404
412
557
188
182
193
370
373
396
418
336
390
554
513
103
311
250
453
432
91
542
527
651
357
531
246
338
432
511
538
475
448
362
619
170
575
257
355
372
405
288
189
541
234
492
506
133
646
391
454
381
413
449
366
370
476
421
385
491
117
421
219
239
669
389
437
357
499
308
369
362
321
338
446
498
469
427
304
124
484
392
189
575
346
249
631
247
348
0
0
267
187
216
284
365
356
545
493
398
564
308
314
539
362
552
388
250
418
642
319
471
697
455
593
356
87
255
677
459
502
309
388
570
77
458
59
322
462
537
149
461
463
188
511
335
309
359
413
380
212
348
501
407
399
344
567
262
331
501
408
464
421
418
440
435
406
516
275
620
519
307
365
432
399
483
427
535
420
356
596
406
0
350
409
621
195
73
419
530
165
301
355
0
673
296
521
305
500
201
151
673
519
398
545
81
222
497
555
317
435
622
422
589
446
168
444
414
360
368
23
542
386
382
524
599
408
336
233
593
379
413
508
617
448
190
40
418
335
626
395
310
505
535
533
543
363
438
301
576
318
619
310
427
399
620
248
263
405
393
593
448
398
209
180
435
269
164
415
634
433
153
238
286
459
591
324
472
252
341
400
247
531
325
433
461
218
562
242
351
355
417
396
372
412
464
368
234
386
574
255
246
275
346
449
161
426
390
395
218
375
398
268
487
450
415
313
490
177
388
392
345
0
256
473
310
539
269
523
457
452
446
460
562
317
313
620
181
353
616
382
484
372
417
569
276
532
370
486
123
373
0
252
367
435
422
564
468
656
237
383
311
206
503
395
0
541
326
291
494
638
549
628
460
389
402
396
320
397
576
418
646
464
661
199
99
441
377
164
335
220
563
361
485
204
0
432
439
431
510
643
397
453
512
360
261
435
396
510
391
300
394
205
350
588
230
178
515
45
531
502
492
173
426
537
343
473
390
317
0
503
326
398
523
282
0
496
471
376
391
442
535
489
540
478
512
281
236
329
254
506
435
593
202
544
249
437
538
321
446
472
429
372
376
411
461
295
484
340
671
397
441
464
460
619
532
473
595
427
554
271
499
380
580
475
300
214
294
337
319
305
377
289
315
522
418
353
134
353
615
506
385
623
544
222
449
312
530
411
496
552
59
512
401
131
546
473
182
190
144
572
416
542
267
261
336
343
460
199
253
496
410
180
208
301
483
301
441
316
374
460
432
248
230
274
349
464
145
392
449
440
280
314
462
314
520
270
100
213
505
673
534
173
579
491
470
354
6
504
291
547
266
473
343
457
303
320
513
234
344
404
280
299
361
532
362
0
160
223
446
391
659
525
391
303
416
408
283
301
594
422
499
421
508
357
505
321
263
333
255
501
627
407
290
675
579
339
428
551
229
38
425
269
279
294
414
608
74
374
541
332
485
205
509
570
332
425
426
439
306
498
614
506
452
540
526
427
476
257
164
435
474
459
520
344
479
354
550
468
530
403
518
319
610
528
388
530
143
297
423
273
341
388
298
391
542
139
0
557
405
374
440
543
324
345
210
497
426
409
456
591
250
325
486
412
513
332
609
203
445
452
502
490
684
528
509
415
321
558
403
414
604
303
302
362
474
314
455
399
458
388
430
233
64
350
253
474
310
502
0
420
426
144
328
553
250
340
0
555
300
539
450
159
456
489
559
154
486
344
448
341
442
422
366
295
443
450
313
412
265
397
372
656
266
73
669
413
165
618
488
264
410
502
275
225
446
449
529
368
112
608
395
641
512
328
170
249
377
451
359
216
563
402
450
415
505
310
440
461
567
372
457
268
272
343
565
575
254
572
469
330
247
436
466
461
474
538
378
365
123
523
303
65
286
434
418
411
424
442
485
507
444
535
430
310
275
441
660
267
470
338
357
365
257
508
354
323
209
617
405
375
598
433
289
367
484
175
337
455
438
573
296
515
575
348
422
427
347
583
479
320
400
239
350
357
199
387
316
244
530
384
651
653
404
503
533
241
463
618
435
442
504
278
337
558
411
307
407
185
478
264
555
278
432
446
511
470
335
517
514
81
471
374
118
567
383
244
508
456
470
321
492
489
489
604
11
521
278
230
471
178
355
202
498
356
200
582
666
117
73
282
268
355
327
504
294
233
81
573
551
357
557
233
229
468
463
413
132
311
325
528
184
285
469
603
0
488
643
325
558
537
148
591
438
563
340
257
500
298
256
504
317
487
0
370
133
465
574
366
466
652
406
431
449
488
425
419
545
349
107
482
496
620
429
316
224
204
371
469
501
386
635
120
546
613
557
375
493
66
435
276
423
532
305
271
448
488
489
373
159
431
385
248
429
364
303
207
318
391
398
453
569
517
357
451
307
365
518
324
529
542
164
405
431
384
420
280
355
442
545
388
404
267
240
550
617
307
422
450
24
433
331
444
683
435
363
206
539
320
374
460
272
576
0
318
640
437
152
257
414
401
462
335
285
638
453
451
359
228
164
354
524
466
152
427
538
567
361
236
429
384
480
387
579
373
144
474
348
488
635
487
335
109
504
615
187
403
542
442
516
225
559
435
182
474
407
44
330
229
232
589
95
351
416
483
492
221
564
419
370
350
267
449
451
155
196
417
551
553
533
465
424
539
275
470
208
390
397
0
321
524
627
511
588
354
601
446
485
308
425
539
623
499
483
391
312
377
0
301
588
523
312
389
166
407
631
356
373
305
440
611
367
332
424
371
307
373
351
583
188
221
331
282
571
572
209
184
277
477
413
277
316
485
524
328
460
479
377
304
531
519
395
441
270
274
439
514
455
308
486
255
525
392
356
595
552
526
467
300
367
208
410
280
382
543
557
0
465
272
456
372
509
451
0
348
437
433
249
554
406
629
595
223
588
28
535
338
364
295
402
305
402
91
408
288
501
465
196
320
549
510
506
691
515
355
592
528
63
312
479
266
365
601
438
417
214
311
215
469
529
212
257
420
393
633
136
281
508
306
425
254
400
127
454
99
411
406
630
505
475
400
323
570
473
331
436
469
215
500
640
340
532
466
103
24
410
433
561
197
358
417
497
461
676
338
299
415
291
341
149
0
283
360
446
466
170
497
390
214
119
508
431
453
461
510
465
570
242
470
440
391
67
566
599
580
565
230
209
362
382
296
521
240
477
181
298
456
197
518
496
281
104
387
229
485
287
340
568
423
503
524
395
629
147
419
322
524
433
584
257
294
464
526
494
269
336
330
382
210
203
289
516
585
303
443
377
387
419
455
348
363
120
276
323
356
8
401
556
506
340
232
507
326
491
305
190
400
455
367
526
413
430
442
650
631
192
463
534
438
432
469
352
630
255
602
296
359
601
429
296
305
596
466
391
427
216
663
429
362
195
504
480
280
612
440
286
375
356
380
559
199
435
580
339
248
363
469
0
537
588
497
243
377
404
450
310
460
120
340
482
433
429
471
193
317
540
362
191
651
447
209
121
470
302
579
387
0
429
359
625
258
334
688
348
504
110
420
503
489
471
465
432
468
500
455
547
372
361
74
335
233
506
570
380
433
92
430
653
385
160
364
196
199
546
95
138
679
459
371
683
282
255
248
276
344
20
471
509
409
364
465
200
402
450
372
433
347
102
229
351
256
346
261
443
97
275
251
479
493
241
494
464
506
490
424
544
403
481
403
415
237
103
513
131
245
391
394
547
359
632
287
401
430
486
479
374
375
528
126
561
331
424
438
479
394
391
232
391
451
512
347
615
313
551
165
361
268
435
533
188
252
390
248
308
309
366
543
468
688
423
440
516
454
535
350
455
345
124
589
504
372
177
322
152
317
0
423
0
437
539
256
392
626
370
65
356
358
495
552
614
405
411
538
593
418
384
455
282
376
229
367
464
497
271
247
395
493
281
465
276
398
442
246
515
352
467
473
395
521
409
656
196
294
309
348
39
0
137
446
192
533
589
309
385
141
365
429
451
520
300
372
607
409
526
437
393
624
177
536
348
259
183
327
312
589
509
287
403
325
131
340
185
331
300
503
137
250
191
385
362
487
261
98
409
544
474
403
251
325
469
361
298
367
327
486
306
561
560
376
440
234
581
469
510
350
647
496
525
330
606
574
454
318
311
374
476
618
490
499
385
474
366
530
347
297
338
603
547
366
511
478
522
412
187
383
296
368
343
191
396
49
396
454
596
159
620
605
339
76
466
369
333
685
330
337
389
505
523
571
514
345
444
541
611
448
343
526
433
524
374
451
311
457
351
313
533
492
311
201
447
113
236
377
388
372
456
129
284
368
535
474
312
399
396
422
453
413
295
312
300
541
286
404
491
147
0
565
314
583
414
524
448
406
321
506
659
435
457
608
397
123
320
389
522
452
359
639
156
526
362
343
401
550
432
279
394
287
373
265
574
520
491
218
641
468
319
382
247
479
437
411
495
0
558
436
0
273
330
91
443
207
304
141
511
329
675
336
367
390
339
216
430
0
485
281
524
437
307
372
83
383
454
121
544
350
523
396
116
430
598
547
214
416
516
340
472
50
391
574
112
0
334
418
451
355
496
597
515
463
148
367
519
459
356
305
422
277
495
334
401
354
309
71
270
370
450
253
276
494
316
485
185
500
278
464
373
399
234
317
355
333
300
342
441
413
610
618
401
415
434
431
197
272
368
0
376
87
421
368
530
344
442
467
398
565
545
432
248
380
430
475
406
173
564
508
268
678
533
568
629
173
262
333
642
617
148
446
111
488
512
258
561
457
514
341
224
319
535
347
432
342
419
477
356
496
458
550
554
266
460
504
662
371
535
651
249
651
226
378
395
0
370
484
576
384
349
121
452
564
0
488
414
637
607
500
492
375
455
270
523
573
367
439
458
323
447
452
360
406
289
417
401
417
620
443
247
481
434
451
230
522
338
210
409
566
644
375
63
509
133
419
131
402
629
146
509
315
331
383
101
172
316
301
560
438
625
455
400
526
324
502
339
387
299
443
505
618
406
376
399
590
524
465
273
248
183
177
292
253
382
391
136
339
343
141
255
487
309
339
79
344
458
439
501
252
526
473
426
400
599
368
214
655
346
302
446
427
496
168
571
515
470
624
558
148
539
536
487
496
566
322
360
505
351
322
351
192
374
372
284
430
643
589
533
533
334
381
359
455
475
557
485
373
473
371
0
360
358
257
208
374
296
12
636
303
514
469
611
663
479
319
343
376
304
366
351
499
271
517
343
5
416
432
370
323
561
468
340
357
629
391
489
142
407
237
366
554
491
382
254
438
121
477
438
222
240
595
337
553
206
177
365
405
460
350
242
437
483
268
322
578
139
288
112
515
333
339
327
150
324
457
219
365
500
422
358
384
487
225
260
372
447
549
330
361
366
221
446
504
208
379
470
585
207
521
449
0
671
500
494
478
361
537
343
325
421
78
339
356
408
475
666
461
394
409
480
166
295
522
306
488
180
627
435
559
380
275
346
517
467
474
126
484
454
473
0
147
393
15
567
631
170
331
416
494
430
322
73
386
530
551
424
343
88
477
228
334
109
479
476
539
437
218
406
385
495
417
368
601
617
442
360
504
147
632
0
214
42
217
336
462
404
460
278
711
385
470
185
679
333
425
348
342
577
495
485
187
403
47
488
314
598
352
445
365
358
339
283
401
530
611
531
314
708
525
383
321
568
311
359
284
447
248
61
360
307
497
462
321
279
338
559
291
418
406
103
340
484
479
513
547
504
540
340
276
362
368
280
350
323
423
185
266
273
157
509
520
471
180
641
366
391
215
311
406
278
550
293
321
387
390
66
186
0
347
259
207
334
442
499
325
440
388
375
585
464
297
59
12
380
230
540
530
369
379
665
164
634
92
357
500
466
185
592
203
356
485
493
559
512
0
468
651
253
466
466
523
422
700
460
352
443
411
366
157
145
462
485
450
551
233
461
474
284
291
128
550
195
395
207
295
505
385
258
334
555
203
478
550
657
260
634
244
421
483
475
417
486
359
0
367
467
298
256
581
481
472
407
576
245
408
377
580
454
445
250
523
543
379
176
487
392
265
516
347
276
391
371
473
283
617
583
621
412
229
450
114
166
447
523
562
331
608
439
385
518
464
281
298
308
272
66
384
412
219
453
383
692
359
524
378
321
306
549
415
521
364
522
591
424
478
330
328
377
233
424
298
235
388
319
383
326
462
381
413
317
295
126
563
447
343
432
0
302
275
414
421
180
389
427
360
189
390
387
425
598
219
108
431
566
188
202
244
215
449
517
176
386
421
484
360
383
430
331
235
485
314
474
588
377
369
399
470
403
75
346
320
528
439
502
500
178
480
522
401
194
268
375
629
241
182
417
465
367
416
482
611
343
515
279
222
482
202
289
491
289
196
534
428
0
485
75
477
280
526
551
126
552
634
403
497
436
334
431
0
416
442
191
272
582
141
491
381
262
374
84
525
424
171
421
425
263
569
549
673
586
311
404
631
584
266
453
95
487
467
609
361
303
496
403
231
108
361
399
310
429
549
472
506
330
322
222
481
427
361
429
541
348
339
350
362
195
396
293
345
481
122
537
431
628
268
476
265
361
495
511
359
474
402
231
355
410
479
420
276
395
450
125
418
578
435
434
573
376
384
504
483
571
478
197
656
524
105
478
444
262
392
400
387
321
514
469
116
522
196
198
437
461
482
384
558
325
240
443
435
389
218
341
385
429
383
392
483
514
417
390
10
381
456
318
179
450
419
409
483
440
586
570
446
499
499
419
415
634
522
525
155
500
361
398
562
355
293
589
393
126
81
514
534
424
323
164
562
644
429
146
429
353
216
422
295
322
509
170
287
505
477
447
330
323
632
548
162
292
628
540
494
474
310
274
452
456
306
349
369
488
253
224
485
405
337
460
319
363
298
327
58
284
334
345
500
460
398
395
336
482
475
336
483
650
564
593
284
565
239
225
490
469
444
456
497
436
395
452
506
169
460
246
193
387
221
337
590
216
314
487
480
364
145
299
628
345
664
630
200
368
440
515
379
240
568
433
272
287
539
253
161
522
424
424
460
207
93
536
367
491
307
243
465
559
497
526
129
476
537
400
468
443
445
524
349
471
276
275
266
481
559
503
313
523
61
651
449
341
427
520
43
499
343
185
421
370
303
125
213
471
362
377
326
218
370
459
492
367
524
0
502
444
490
420
641
355
589
419
255
375
239
573
339
423
417
376
405
564
366
294
185
264
451
300
464
258
0
551
249
75
342
571
545
349
357
280
321
471
532
544
398
364
423
468
397
432
563
295
334
454
552
412
134
397
411
383
334
562
335
369
454
156
395
525
376
122
603
266
469
490
383
282
537
117
286
250
437
562
237
504
548
414
492
411
482
556
551
341
333
453
261
502
402
439
382
76
583
617
235
344
313
402
264
487
414
491
286
350
333
386
620
285
410
330
463
403
386
317
416
247
400
387
580
283
353
458
408
657
519
197
339
468
291
462
461
467
463
255
457
429
271
99
304
522
328
444
0
377
626
474
499
641
149
180
0
290
579
475
398
501
470
258
432
515
72
324
381
165
0
460
369
513
408
532
292
333
441
333
534
461
554
360
355
573
502
450
403
490
98
0
38
342
417
254
370
478
334
594
556
206
358
409
273
473
130
285
399
607
454
531
359
628
283
507
305
155
325
383
251
175
510
157
612
467
559
15
431
341
240
276
495
424
281
138
411
446
373
78
523
192
471
616
0
363
477
508
402
313
448
170
291
485
603
351
391
343
268
131
384
68
409
456
0
261
483
534
547
350
277
432
327
45
109
387
385
211
298
401
331
225
598
520
520
396
348
432
465
447
408
416
464
315
321
492
334
26
487
499
441
264
559
261
348
331
204
335
271
622
499
475
180
440
565
430
414
366
437
415
441
389
528
335
409
353
470
346
300
626
251
296
495
390
434
294
180
390
632
548
88
444
319
475
387
356
461
325
472
397
296
352
280
249
314
400
275
493
256
483
398
403
474
461
533
306
233
501
435
317
534
523
329
438
630
394
448
426
365
211
334
253
446
222
362
431
417
23
330
343
509
455
495
190
318
505
518
212
379
280
424
260
314
428
564
402
324
474
393
614
201
455
624
344
256
346
575
250
675
485
522
376
463
260
492
451
321
477
434
375
557
387
59
348
311
333
281
463
413
326
283
400
57
274
55
188
460
343
295
215
448
425
487
523
391
520
331
188
401
528
253
341
460
282
347
513
447
293
200
584
251
463
240
562
87
394
185
540
446
673
281
175
285
591
443
560
186
105
410
366
474
270
460
292
557
493
229
0
170
594
194
213
0
607
573
438
595
547
380
512
334
386
405
437
390
480
378
326
163
458
414
574
236
331
321
336
321
477
467
371
315
407
452
293
348
296
302
334
102
526
457
500
670
472
229
372
325
125
297
425
307
295
414
421
267
376
165
309
209
652
528
479
338
241
239
345
450
253
342
135
115
514
133
121
375
84
258
194
308
516
505
324
202
292
285
69
398
470
0
383
488
0
453
463
487
428
470
461
384
443
241
339
391
368
293
475
236
576
526
479
371
535
342
467
555
485
369
391
453
422
397
363
209
575
701
567
460
531
231
611
349
278
269
519
403
521
487
258
344
308
498
353
428
58
487
458
0
370
502
330
218
388
456
532
0
0
380
528
407
402
288
311
254
425
319
502
513
145
363
620
520
254
44
371
438
539
345
419
437
212
323
431
137
467
321
305
426
404
547
495
429
506
343
361
388
435
544
548
390
462
397
253
466
282
341
484
587
411
361
409
503
562
361
236
462
391
0
253
476
179
536
259
479
509
408
376
304
394
513
236
508
564
610
405
381
88
461
421
500
394
198
423
585
609
542
540
432
535
285
190
522
508
448
193
411
415
508
0
452
561
578
133
486
355
0
497
655
388
402
227
60
204
476
362
446
300
487
316
457
307
347
472
589
448
335
425
380
369
446
82
0
526
415
454
374
539
504
487
439
259
575
456
242
514
120
473
566
546
306
469
589
305
514
276
360
399
364
419
432
544
490
546
327
0
391
207
594
366
514
609
678
547
360
525
557
179
280
328
472
304
264
547
111
502
308
315
498
429
330
347
459
474
46
441
507
521
496
307
364
575
436
479
508
0
302
381
185
407
340
502
332
269
380
516
499
447
268
648
232
596
533
396
574
451
195
393
450
613
15
229
313
64
440
385
385
478
432
549
376
579
277
449
400
367
168
476
396
0
404
359
390
469
427
539
354
178
199
438
396
516
347
667
247
572
512
418
190
403
456
404
399
503
347
461
360
467
661
292
259
498
308
428
690
423
422
635
215
456
308
523
113
465
471
231
437
436
330
218
525
621
470
518
524
536
343
434
580
225
367
407
468
330
373
363
466
238
444
588
555
661
79
387
462
453
401
497
353
325
411
357
203
334
454
36
444
497
60
356
193
317
337
430
287
522
371
403
276
114
303
267
437
640
320
273
348
514
437
462
387
450
206
360
365
277
210
453
508
449
364
452
38
489
315
310
403
442
349
298
521
145
252
540
462
428
162
536
427
329
286
299
346
484
556
554
563
551
586
374
555
372
166
199
427
424
79
115
135
467
425
546
366
574
303
382
405
514
490
425
492
257
510
321
522
384
407
249
351
156
440
307
408
324
311
343
412
287
475
262
609
393
385
427
514
200
372
369
390
434
457
53
307
485
45
315
376
574
45
368
506
505
239
293
526
320
286
485
237
438
365
350
472
456
0
562
144
488
369
528
428
178
382
203
372
381
409
408
554
404
78
291
282
628
329
130
322
520
394
508
475
666
461
294
393
487
425
303
426
585
397
362
596
494
374
383
321
333
305
236
450
290
316
571
393
413
565
351
0
280
271
386
352
395
315
381
502
329
385
247
304
592
179
402
476
523
0
362
372
564
426
307
598
534
194
272
282
364
416
462
507
498
300
432
606
208
574
493
141
426
576
361
374
261
285
362
595
435
545
293
325
623
457
489
418
376
464
318
370
269
481
442
394
637
567
293
378
316
667
285
180
556
496
461
436
439
270
317
512
306
329
331
278
622
564
402
208
279
535
601
308
311
366
628
545
469
531
462
374
246
355
366
482
313
157
563
464
373
601
375
464
490
555
364
0
420
342
483
115
0
330
431
109
484
378
667
519
467
339
371
288
0
533
551
455
432
544
499
453
405
478
121
603
592
562
605
243
215
611
449
300
502
63
304
568
314
250
274
472
270
337
130
420
302
413
314
482
405
322
258
291
558
532
270
427
528
265
512
418
324
654
422
470
619
430
348
311
107
523
618
443
308
394
269
482
241
607
506
480
174
513
533
395
300
568
437
488
512
439
382
517
305
362
302
485
208
0
456
368
469
528
228
584
372
483
454
269
411
521
395
257
303
418
509
561
409
512
413
253
426
605
492
479
383
482
258
423
486
417
419
149
541
612
220
620
338
472
468
325
297
164
626
429
482
473
369
450
435
425
232
358
282
391
240
419
325
619
491
404
481
279
623
518
428
357
509
168
341
331
451
386
369
442
417
386
290
428
406
446
250
95
418
345
249
86
385
275
482
271
514
536
499
382
580
464
481
529
529
97
449
368
288
340
364
310
525
241
542
512
82
613
315
399
372
299
398
676
317
481
394
369
460
463
559
342
464
445
334
491
402
363
267
163
509
375
363
440
587
394
431
235
329
115
282
544
659
341
638
395
636
451
555
368
302
650
559
204
331
428
380
483
388
708
385
516
490
319
527
209
515
650
355
507
0
437
24
323
368
662
188
186
204
371
223
347
361
370
389
457
348
460
334
638
337
362
551
428
440
256
583
344
464
166
203
605
554
484
384
412
453
521
381
266
187
514
532
350
322
514
177
444
480
492
369
451
462
448
485
385
512
139
468
350
641
461
609
134
708
541
666
446
651
326
661
554
470
276
461
86
518
321
365
433
504
398
608
531
413
362
643
384
439
546
396
198
266
504
505
403
305
536
575
320
516
452
283
516
535
350
542
148
476
577
441
393
0
359
234
85
203
390
0
498
441
283
324
315
453
402
461
488
79
390
115
467
379
541
536
326
203
502
395
516
522
180
525
412
396
279
391
575
405
520
309
681
617
340
303
450
404
409
308
507
305
629
335
383
515
607
128
589
554
371
510
492
432
488
575
371
649
0
201
458
349
368
259
515
112
619
398
617
494
322
294
412
504
428
392
179
451
322
457
457
539
392
550
582
222
410
596
477
0
490
265
420
373
360
290
264
505
339
310
503
330
141
375
341
356
406
381
421
417
399
365
361
288
289
182
459
487
420
302
419
352
391
415
307
649
569
643
420
473
69
90
306
396
509
306
525
613
515
170
74
217
342
430
472
443
551
211
316
407
403
418
316
432
338
525
522
388
396
395
484
455
241
318
358
343
619
321
288
407
571
393
480
199
465
294
618
456
563
314
480
452
209
445
416
468
591
147
500
348
395
456
420
547
445
255
273
489
95
541
486
1
491
595
381
418
417
196
275
415
325
502
179
552
279
99
369
229
276
364
461
628
423
421
620
445
618
567
26
476
350
562
447
416
217
515
369
603
465
264
175
551
370
359
548
394
444
490
533
636
305
466
379
422
332
434
414
161
490
322
445
376
481
276
253
350
417
253
627
440
274
234
434
214
446
445
519
209
293
583
590
471
333
357
475
321
173
412
470
193
233
434
369
492
533
460
401
353
573
323
241
413
507
344
339
523
455
458
266
415
521
322
206
64
117
495
64
506
388
439
359
564
371
538
269
298
177
292
139
547
439
353
443
390
573
464
317
547
378
485
550
261
562
405
170
370
383
102
177
473
302
497
169
217
508
417
521
432
380
282
444
593
287
145
383
492
536
470
83
526
499
0
412
503
458
268
80
519
396
537
456
288
135
367
398
257
453
332
349
277
359
379
70
314
280
536
345
564
255
285
269
366
308
87
190
271
513
426
573
375
458
515
168
212
578
310
249
476
476
423
473
398
286
402
274
551
501
114
416
376
528
455
261
400
633
312
345
415
403
482
589
538
689
483
217
393
473
489
381
464
350
382
647
500
490
413
456
366
12
442
432
384
463
237
401
536
0
505
143
350
390
517
446
337
265
371
398
207
428
360
400
213
78
66
225
463
0
570
344
599
354
382
411
509
524
346
596
47
87
387
184
415
300
398
210
297
476
512
487
362
195
403
633
335
411
353
398
448
144
345
259
551
512
414
302
403
428
680
578
384
480
486
0
348
506
375
126
474
444
519
553
626
535
473
405
678
242
386
669
447
605
317
295
567
98
387
254
508
284
215
378
372
512
411
458
0
447
300
644
290
255
368
306
498
392
395
324
504
571
331
439
441
420
360
435
357
350
508
366
301
521
79
283
190
359
519
498
503
375
401
598
374
216
297
327
314
309
217
537
608
404
172
335
497
401
444
458
446
290
487
389
553
270
646
280
187
310
372
456
551
385
0
532
378
519
433
294
486
613
0
376
216
557
327
177
298
458
557
130
71
439
243
553
562
524
319
531
490
388
265
554
409
193
133
427
179
510
404
510
425
557
412
531
255
289
546
162
261
541
407
419
452
532
363
428
424
415
390
25
33
434
298
407
567
510
381
301
226
488
415
426
531
371
431
463
530
423
299
114
362
515
230
385
250
404
332
543
631
258
348
308
609
232
598
459
375
482
448
440
264
281
320
495
246
468
284
293
342
693
550
357
383
449
433
405
255
383
366
391
0
333
386
316
488
427
426
632
438
473
482
417
321
583
350
403
449
473
372
331
594
389
373
523
565
132
496
232
212
120
423
341
300
496
309
330
323
136
409
579
197
473
449
378
387
308
65
505
360
488
480
470
235
422
106
231
413
392
285
437
454
176
435
503
546
84
594
428
544
217
300
358
294
424
345
510
363
470
452
314
401
441
378
273
344
193
371
563
167
302
487
511
360
382
395
279
458
515
377
503
434
278
259
345
232
214
522
183
518
0
170
440
352
379
408
246
331
376
474
469
425
426
517
411
389
422
541
424
69
533
29
640
297
399
360
503
280
347
342
439
56
360
266
408
423
456
328
471
375
253
510
287
92
532
458
517
534
388
334
310
417
483
347
440
62
68
490
464
294
632
411
455
282
327
97
392
424
0
0
444
514
379
614
513
634
444
234
0
470
285
311
305
299
416
440
367
295
456
497
274
552
295
15
446
303
369
583
330
409
492
552
481
437
417
527
469
463
618
204
688
446
587
279
326
290
472
523
433
407
555
535
539
373
388
232
230
403
487
463
460
602
595
571
491
560
199
548
295
387
119
363
352
490
367
568
503
119
490
0
104
448
440
506
610
270
379
351
512
352
562
350
394
556
635
354
583
633
133
61
416
376
530
436
422
173
356
556
462
366
520
372
154
345
470
279
526
279
539
444
396
489
431
341
531
238
496
331
498
460
470
629
304
468
496
454
412
524
412
182
556
405
344
445
422
505
362
469
386
235
506
453
195
608
328
380
241
556
195
221
131
228
312
464
690
536
479
364
30
448
521
0
467
449
311
451
451
359
523
455
335
508
433
416
489
485
411
462
188
470
336
384
387
316
673
326
654
198
353
443
457
249
264
387
257
457
216
411
299
603
465
429
457
668
11
497
267
297
442
297
175
346
641
234
412
512
430
255
368
513
450
559
285
184
450
364
382
310
215
212
592
393
544
440
504
79
461
409
341
387
509
606
351
439
484
512
608
665
344
370
427
356
520
583
442
281
383
239
364
512
270
120
530
262
434
526
316
359
369
417
354
485
391
445
343
346
558
393
462
400
395
40
352
350
268
105
460
442
568
417
417
502
398
496
513
524
355
483
468
471
308
133
476
615
0
254
359
476
466
457
1
522
645
380
333
613
289
508
386
275
422
522
354
485
431
308
606
550
387
461
332
344
288
413
399
286
498
162
419
587
144
455
441
446
407
472
126
295
444
134
362
395
534
149
356
2
485
216
278
447
476
370
392
645
239
424
539
212
591
396
335
471
533
424
218
623
436
316
547
486
375
423
600
23
297
651
317
402
499
117
369
404
317
0
557
120
434
257
369
392
462
380
417
556
402
447
367
0
464
495
348
649
540
453
636
380
411
0
549
433
357
360
237
521
0
261
304
441
323
202
495
334
250
325
467
148
578
427
4
617
108
304
440
402
358
187
570
301
471
544
569
513
439
149
416
584
432
0
0
383
613
169
215
449
199
251
362
462
143
428
461
331
515
397
595
432
247
291
395
230
464
586
564
234
596
474
463
313
298
628
522
510
279
366
382
467
158
394
502
503
373
668
261
608
396
495
446
315
553
385
460
447
419
260
480
230
425
233
543
531
492
431
340
390
262
385
330
401
206
349
331
122
285
453
445
420
220
416
285
201
622
169
467
358
372
478
439
0
591
241
433
360
373
264
379
326
581
416
300
482
394
522
300
363
436
522
80
274
460
444
533
543
439
285
549
639
644
447
231
264
312
380
235
430
357
570
554
585
442
621
661
509
282
430
683
313
585
221
61
396
370
492
389
451
348
300
495
527
437
0
323
451
502
189
556
449
257
546
271
159
551
380
601
561
203
532
568
338
601
631
409
515
306
372
477
543
257
327
206
314
370
555
315
274
333
513
398
554
341
652
534
353
505
402
475
445
563
464
451
188
475
170
493
465
504
394
645
555
275
597
184
646
470
425
471
522
396
344
366
599
562
369
44
339
386
398
590
456
492
174
502
667
236
438
81
293
458
554
401
539
533
423
401
332
247
516
580
453
191
337
310
284
597
330
359
513
449
458
325
376
471
340
402
568
438
463
420
229
355
302
642
454
378
298
344
230
394
493
620
375
419
447
379
289
309
552
363
454
317
517
348
557
443
410
372
421
410
163
614
549
408
165
557
536
399
608
207
389
314
454
282
536
529
601
236
353
298
619
54
462
377
284
428
433
350
590
255
437
472
602
239
190
76
409
290
154
515
444
292
261
454
446
497
409
312
618
451
367
598
55
369
404
526
342
416
274
372
380
115
102
269
54
155
189
221
446
456
178
187
6
530
499
367
362
303
535
366
305
339
224
211
384
520
380
416
672
361
520
490
191
688
496
194
294
487
331
375
477
391
346
472
399
494
335
274
524
474
353
449
421
423
373
173
191
0
266
363
391
540
115
566
378
596
360
364
469
324
246
475
363
631
473
388
480
255
400
539
171
577
392
134
547
405
433
519
320
514
348
563
269
420
431
690
371
351
428
395
510
185
533
680
386
473
139
450
408
183
410
493
372
258
444
203
523
599
590
433
129
498
356
480
535
398
191
373
435
370
216
365
275
573
628
361
396
464
406
594
521
373
277
563
354
274
306
456
479
439
412
334
350
357
601
449
392
11
369
611
372
318
306
420
548
259
334
237
523
573
290
287
364
393
371
442
327
430
312
243
623
364
422
282
219
257
360
368
233
366
535
390
0
330
408
596
491
678
299
408
575
459
149
569
504
627
502
527
315
222
469
273
0
548
587
514
495
1
360
213
494
528
620
382
261
477
428
553
469
446
242
318
473
413
374
530
475
391
595
626
616
416
297
252
306
478
393
225
422
301
373
515
489
387
475
453
137
565
426
357
327
398
514
458
376
416
379
614
620
556
547
401
433
370
524
524
88
428
245
554
327
448
278
256
263
440
547
581
472
375
432
458
546
318
527
577
446
404
680
626
281
461
379
353
443
453
337
461
323
540
170
599
392
311
389
306
543
74
326
350
557
315
471
418
492
375
339
667
220
406
472
373
614
444
210
597
180
182
492
679
594
50
421
338
542
265
116
370
381
277
307
368
196
572
479
562
382
94
397
92
580
534
466
184
431
181
382
134
159
260
423
585
518
386
308
466
230
360
240
573
557
256
468
520
301
159
19
291
407
368
292
0
143
420
567
148
347
630
311
537
401
561
314
167
319
329
654
636
200
469
333
282
452
426
559
210
100
536
324
218
470
315
238
429
275
665
442
416
178
248
82
544
98
545
387
448
306
325
289
202
379
695
43
596
453
451
486
109
281
179
287
423
498
674
435
400
521
633
383
477
483
351
274
571
402
480
214
381
527
546
491
466
278
378
583
418
325
203
367
321
316
366
419
312
455
144
325
402
264
332
523
288
469
216
210
247
322
575
616
455
340
554
412
520
288
411
197
439
301
538
536
477
404
404
548
275
98
383
21
79
582
481
535
203
326
223
573
350
240
599
572
335
422
515
446
357
303
158
553
365
336
313
567
375
173
326
213
0
453
532
226
527
465
280
500
487
476
332
359
455
299
234
488
549
282
186
333
553
580
507
412
625
426
552
464
234
536
146
465
181
357
282
15
458
331
300
262
584
86
410
447
536
567
299
453
513
662
260
432
399
443
343
353
348
396
201
436
492
270
285
413
537
371
494
344
588
386
401
302
314
528
505
262
347
278
478
503
318
372
352
96
107
349
418
497
445
438
310
423
412
391
214
477
425
379
168
527
512
451
336
303
339
362
189
575
456
490
266
669
396
641
330
403
503
105
455
276
426
445
281
448
508
601
467
272
560
182
360
380
568
270
674
423
215
520
0
356
516
549
539
358
523
584
525
341
399
326
283
360
361
0
450
236
346
78
466
456
357
319
14
271
358
372
498
444
420
430
349
102
397
285
0
320
345
432
387
419
311
431
520
534
364
462
437
574
378
204
526
485
420
140
608
349
561
350
440
199
222
353
260
331
563
364
433
549
237
422
533
501
475
57
0
384
418
544
227
317
596
457
471
450
495
476
427
412
234
377
363
445
547
318
651
384
425
388
543
623
398
371
225
489
397
273
98
417
476
324
524
315
516
466
490
374
353
507
454
465
249
380
248
274
256
367
490
549
335
400
185
601
347
439
323
228
446
384
519
580
575
498
402
99
335
219
485
571
186
328
376
459
541
513
261
520
218
425
585
644
274
438
467
564
454
553
610
440
312
394
89
328
266
377
422
328
393
455
256
556
320
310
469
475
334
410
311
587
233
282
371
608
689
354
141
465
416
199
406
236
621
439
567
0
276
423
250
306
251
318
532
412
411
536
345
348
508
433
379
610
697
439
269
474
405
356
121
529
131
418
183
241
336
389
517
436
456
508
488
195
143
179
498
429
390
483
385
526
453
551
422
420
606
270
543
548
338
254
507
230
619
411
441
300
461
384
491
183
547
291
446
438
373
271
351
347
471
33
305
264
512
489
574
524
345
379
349
38
555
571
415
538
377
239
466
245
610
443
282
654
505
0
502
362
439
86
457
267
534
500
406
423
252
364
638
284
393
403
388
295
562
438
594
548
441
481
236
338
507
356
233
230
497
182
502
70
396
118
572
553
538
645
400
270
505
175
363
477
302
557
480
481
503
578
590
101
511
484
446
590
404
441
384
510
447
553
281
443
387
341
120
540
516
496
274
517
277
428
0
469
296
510
325
370
451
499
0
528
475
320
0
528
437
424
594
0
544
387
436
621
349
515
431
380
293
568
468
225
112
655
577
0
334
241
384
265
489
117
418
69
459
225
358
427
358
479
598
251
325
360
145
415
453
309
480
326
421
507
376
472
331
314
591
298
543
476
410
199
507
465
312
270
414
483
219
236
683
0
467
549
244
359
101
633
469
523
417
484
479
256
388
333
439
583
331
0
466
292
391
510
471
236
563
677
391
185
514
218
547
227
215
467
232
0
590
318
273
362
500
477
417
148
399
497
601
546
258
472
101
427
311
652
265
190
259
359
252
373
436
440
195
0
381
336
456
234
645
442
516
366
142
454
229
79
317
432
434
269
386
408
576
592
476
13
340
109
399
164
548
387
297
58
371
365
330
338
477
500
258
353
260
569
182
479
550
236
230
382
244
317
432
561
436
350
144
382
476
397
63
268
603
619
343
527
365
323
0
567
288
521
539
331
298
422
615
386
297
323
599
399
543
567
461
244
557
78
303
40
557
372
416
158
432
446
506
563
458
465
527
256
647
627
563
684
597
0
416
320
536
374
480
589
356
342
487
173
436
558
436
264
301
359
504
300
339
456
148
428
448
425
477
417
656
523
286
420
498
136
493
638
594
487
269
398
340
353
246
248
262
549
315
283
415
339
271
344
455
570
364
457
235
537
0
213
481
150
68
474
176
628
455
643
518
308
198
0
325
206
462
466
307
379
404
378
542
465
394
443
348
114
412
457
164
452
370
587
383
596
526
561
537
257
334
490
213
239
368
479
485
338
548
323
356
297
505
583
462
424
469
505
282
583
582
265
612
637
333
345
480
492
350
401
476
294
523
471
563
442
434
241
159
402
126
355
344
445
458
316
56
576
378
402
380
140
219
587
413
424
371
17
497
472
629
504
253
338
380
542
570
395
360
551
453
0
479
172
340
606
475
432
508
279
524
513
631
312
361
90
413
537
224
497
533
354
194
372
339
384
377
205
620
371
312
35
103
415
398
404
451
421
418
329
448
363
484
465
320
579
549
364
316
282
161
197
555
597
55
444
363
194
322
378
466
562
171
479
306
492
379
501
567
208
267
504
331
570
506
417
0
575
416
364
374
482
0
516
382
123
173
614
396
441
425
255
380
638
136
379
235
354
433
502
415
237
338
450
152
314
282
666
380
437
531
482
609
452
591
237
0
331
245
414
70
609
420
270
275
468
300
475
183
304
642
461
531
570
431
499
524
413
425
387
568
545
531
183
449
280
449
390
398
481
542
516
366
563
479
448
518
342
213
382
362
183
344
497
628
405
553
550
550
556
223
301
378
444
215
285
446
417
384
377
225
378
448
660
341
511
364
341
455
319
434
293
328
547
281
312
532
288
340
194
604
399
136
278
469
557
550
545
404
307
484
283
299
455
399
383
518
383
295
440
608
39
509
510
388
227
281
628
544
367
448
515
405
305
577
69
594
332
438
501
271
506
369
139
516
418
360
482
430
595
597
334
487
412
255
579
320
476
262
117
534
363
473
524
185
296
269
160
495
170
260
427
457
381
294
441
488
663
351
401
95
398
216
584
292
296
300
474
192
445
405
545
293
382
464
381
541
253
220
375
77
547
508
449
508
317
247
685
401
667
532
584
380
297
558
448
514
482
544
349
544
274
404
249
575
612
449
586
391
153
407
0
394
449
459
277
81
285
487
398
348
537
351
436
324
432
452
390
535
413
0
489
409
415
470
460
588
479
404
603
535
234
426
185
135
502
477
136
478
435
348
449
605
336
509
468
432
544
294
380
538
507
481
216
266
618
315
404
273
456
470
402
369
525
322
456
240
307
123
489
262
0
460
338
539
537
596
421
375
596
249
295
424
313
334
212
423
382
334
549
490
221
645
353
376
219
392
363
453
321
380
286
53
505
364
388
293
385
624
300
421
430
479
333
276
485
235
324
420
311
435
342
159
621
417
279
450
331
531
338
617
320
67
481
207
272
277
440
569
398
151
351
449
373
363
199
418
652
381
532
352
387
290
375
84
198
423
422
576
477
375
426
263
284
346
550
563
229
494
336
361
523
462
448
524
496
283
595
554
518
259
108
379
498
490
554
276
579
412
561
160
237
306
246
470
320
7
527
483
328
399
543
528
522
588
397
361
548
431
605
425
278
375
425
633
105
359
343
470
435
509
388
402
536
376
449
327
342
556
0
453
162
330
360
346
436
307
544
549
351
339
350
257
112
367
386
169
466
395
312
414
223
278
428
367
197
403
417
419
602
168
346
163
452
368
247
319
276
296
335
316
561
256
223
0
317
454
263
425
370
282
590
468
455
0
315
63
444
522
360
630
410
357
462
367
464
178
339
329
541
352
470
476
306
267
388
494
256
396
515
440
610
453
551
393
450
406
433
645
208
388
343
490
383
372
521
377
366
95
221
178
370
581
179
352
634
558
443
389
347
431
337
257
253
572
448
374
381
515
490
688
459
271
459
555
208
356
365
560
295
447
205
427
429
366
396
431
598
190
436
492
451
384
594
525
441
547
423
472
91
296
394
478
273
155
285
503
319
463
565
441
589
275
558
225
506
398
583
322
361
239
498
540
643
402
511
306
431
465
213
6
389
338
18
616
327
406
276
339
402
417
428
162
521
295
455
373
103
395
515
265
321
269
222
568
313
398
286
493
215
344
374
214
346
625
255
437
310
356
519
398
459
221
536
232
469
411
431
564
588
400
509
470
538
549
323
11
393
346
549
435
251
207
459
95
189
447
420
286
585
78
384
510
523
212
525
539
212
282
384
318
327
303
194
314
271
355
316
257
357
427
565
565
391
378
369
386
54
579
354
109
417
525
424
0
375
373
340
442
421
501
386
349
409
488
307
558
276
390
493
226
326
520
414
118
501
302
431
138
335
275
450
0
245
572
444
227
387
204
557
386
390
648
207
486
402
399
213
360
439
313
85
350
520
493
535
460
514
385
469
429
433
524
396
409
405
528
131
398
436
472
369
453
368
498
177
528
323
280
494
350
277
439
367
321
509
359
477
353
496
291
315
378
506
295
256
394
446
301
471
399
225
276
430
493
237
409
413
325
490
251
349
286
167
0
547
449
567
415
398
361
376
380
657
580
398
301
601
327
496
455
232
433
391
461
364
290
361
75
556
564
184
368
399
15
62
411
410
478
511
440
288
365
274
545
545
438
347
373
495
508
428
330
409
309
307
380
444
519
431
336
366
345
396
417
194
328
428
145
431
579
217
592
599
365
120
453
466
255
566
348
499
432
472
475
576
178
432
350
418
89
180
117
664
509
452
597
541
398
444
662
602
135
641
550
352
469
460
292
616
342
159
321
630
344
349
268
214
444
268
58
440
612
0
471
682
620
558
337
127
211
449
355
302
270
427
323
500
349
393
453
467
427
232
239
567
291
431
173
230
330
0
255
377
290
254
197
163
533
256
428
492
574
293
453
502
521
628
513
461
398
317
513
445
325
565
455
348
140
324
617
522
471
593
440
465
455
506
385
226
366
380
314
577
538
269
444
576
28
52
462
235
461
409
376
418
410
188
222
355
517
328
552
497
409
428
381
374
365
297
308
173
546
184
297
488
193
0
486
214
359
379
252
585
534
215
288
400
205
461
247
509
445
582
234
417
325
562
403
342
426
681
200
580
428
253
0
546
240
477
557
524
515
456
591
314
474
487
356
323
442
593
359
298
454
561
470
622
515
384
265
449
561
543
392
443
366
431
10
141
492
491
205
593
71
434
209
264
416
557
353
427
500
303
382
451
467
417
308
323
361
313
304
257
476
474
564
526
512
278
410
137
214
515
444
438
390
326
228
440
223
450
457
415
376
54
569
434
412
199
331
556
402
148
351
506
322
373
183
522
268
534
438
427
90
459
556
0
471
304
423
114
275
421
559
410
524
381
271
250
337
396
405
361
141
388
552
342
469
502
376
538
536
509
400
638
337
448
555
440
337
513
556
370
392
405
448
11
572
400
324
374
312
139
515
87
335
249
255
426
478
474
567
396
168
456
299
65
679
341
350
401
573
332
517
494
281
576
277
401
408
565
454
415
403
473
361
190
390
457
498
431
304
242
534
443
195
505
316
626
202
101
384
517
634
179
291
550
124
520
472
546
159
425
356
332
403
470
229
359
405
449
448
599
546
186
550
353
384
159
516
433
428
576
365
168
286
385
263
496
261
124
394
286
465
492
551
323
406
409
291
514
272
0
232
344
578
663
436
363
419
442
490
393
434
434
422
277
546
191
329
434
0
502
343
0
451
453
533
364
538
411
217
287
475
312
331
387
365
393
503
314
405
629
391
547
190
397
353
566
551
410
228
333
355
316
374
400
305
247
296
538
418
469
473
547
385
361
341
292
327
459
318
578
285
544
498
497
296
275
202
556
368
400
43
553
249
501
238
475
118
496
437
480
365
510
247
354
511
347
383
501
390
487
357
262
409
488
600
257
675
354
496
320
690
405
261
387
569
417
219
296
283
352
465
116
534
390
290
426
403
297
415
215
132
559
563
0
471
460
452
477
0
213
439
212
466
394
279
481
162
367
468
331
244
475
378
364
380
434
594
133
491
283
394
423
406
513
353
503
465
380
402
424
333
393
496
618
305
306
540
423
495
567
372
557
534
583
0
383
424
562
570
107
381
428
406
605
629
396
475
364
166
0
279
536
383
574
594
110
373
487
213
400
182
340
485
443
530
283
413
489
398
320
311
92
614
200
502
344
397
405
218
473
226
489
0
347
524
440
429
312
487
511
590
371
327
461
396
329
438
362
245
285
37
129
356
178
295
320
543
433
52
0
199
530
539
496
598
547
464
372
347
328
359
514
413
529
431
370
299
288
399
421
283
569
410
144
462
401
416
436
345
170
358
430
497
205
360
84
540
526
560
594
287
484
545
345
476
425
467
418
544
442
491
497
402
515
494
447
463
530
489
237
370
195
406
347
481
443
521
461
179
465
344
323
285
84
524
211
591
268
515
517
376
427
446
427
504
258
199
366
366
101
184
469
180
561
354
133
397
562
683
254
505
433
236
516
575
677
481
452
406
558
288
248
392
395
0
420
435
6
88
326
0
447
441
668
450
536
632
542
332
0
373
401
361
285
481
580
427
451
557
482
496
514
284
536
398
437
170
255
451
569
471
340
162
642
517
111
203
242
568
0
440
577
358
298
350
599
483
494
454
560
495
535
515
74
398
146
347
330
355
409
469
448
522
479
300
575
485
199
529
415
332
542
595
495
354
158
508
408
350
593
122
275
335
262
383
373
496
44
455
676
405
545
284
535
603
354
451
352
309
438
457
436
255
261
56
417
251
448
553
295
296
473
241
534
532
460
455
657
355
536
377
515
487
496
500
453
206
240
375
429
607
455
447
554
418
341
91
579
529
309
511
360
516
413
175
301
93
281
407
264
503
45
345
360
347
577
392
402
493
524
410
512
447
510
550
336
547
549
298
354
521
584
305
442
381
264
232
421
188
279
464
519
377
446
393
164
310
639
427
303
294
238
582
301
584
439
476
392
479
466
386
395
213
571
386
586
473
403
519
440
359
137
584
197
535
577
563
257
353
246
345
357
537
357
268
204
419
198
561
358
241
471
371
566
407
158
349
442
426
375
605
558
489
606
460
294
402
349
246
504
468
360
310
363
606
614
599
530
344
402
423
477
78
317
200
640
75
555
345
578
350
277
226
429
372
464
179
502
409
336
593
638
260
0
458
474
402
183
8
472
368
432
489
505
316
469
582
486
601
490
237
207
95
544
556
252
140
30
188
497
466
105
391
556
451
548
274
322
441
228
521
463
276
508
321
229
185
181
191
299
592
341
472
234
589
271
581
662
216
521
437
196
424
443
566
0
407
513
305
468
596
426
445
396
0
477
338
514
370
170
413
400
359
311
572
458
473
571
401
305
299
476
235
181
524
434
387
472
431
468
485
254
237
544
382
472
459
458
576
414
496
496
488
55
442
361
518
423
406
0
231
302
27
214
573
456
361
605
265
206
580
451
221
448
79
202
516
428
534
429
451
414
440
513
371
190
330
85
405
515
361
636
428
571
336
342
540
390
346
573
411
349
0
372
424
390
513
560
451
467
534
411
464
423
546
419
577
507
556
343
460
529
368
297
351
402
295
512
166
245
361
424
557
0
480
432
425
114
502
595
344
307
338
426
227
286
297
315
278
258
514
395
282
359
380
369
254
445
251
610
506
379
119
374
457
469
394
252
478
380
375
453
447
297
516
428
160
191
329
115
256
505
396
491
369
148
348
621
402
458
415
293
463
365
247
419
443
431
358
407
293
489
315
364
620
316
333
546
431
444
531
264
59
339
245
204
577
385
176
615
564
541
338
303
532
410
615
405
276
155
468
373
492
346
313
183
499
326
0
471
446
240
92
324
454
350
304
600
170
352
367
398
528
630
477
329
0
419
304
325
130
321
527
439
553
371
473
443
383
277
534
315
566
443
392
275
545
390
211
631
63
286
370
91
546
352
319
450
542
547
261
137
570
453
311
643
492
402
332
304
149
328
0
472
294
603
468
454
181
502
343
476
435
482
262
247
484
197
309
535
313
300
481
257
216
431
236
0
431
125
361
570
310
260
127
172
465
675
212
422
212
290
366
435
392
222
378
444
383
399
326
329
316
437
424
517
653
553
439
545
500
225
424
380
303
490
610
340
272
328
657
362
331
556
556
468
327
398
253
156
542
449
14
242
514
377
116
520
348
250
568
189
464
0
395
201
602
261
447
387
512
369
601
350
502
466
86
421
370
536
361
449
344
394
538
446
498
461
470
386
429
97
568
502
382
449
591
527
642
639
280
427
325
380
454
437
595
581
282
281
483
436
454
420
263
649
397
421
468
485
313
591
161
597
631
313
501
657
645
197
171
454
315
291
568
581
0
535
562
335
603
529
452
428
611
315
457
522
452
361
421
105
534
334
547
660
209
311
446
316
379
240
583
488
366
385
600
515
399
409
507
426
341
377
509
238
246
382
0
544
494
548
406
502
404
266
514
338
510
455
373
511
502
350
0
467
349
528
538
544
433
467
560
573
598
182
614
416
442
188
544
343
383
532
535
420
342
366
419
447
503
614
356
457
297
433
279
616
270
340
371
180
469
447
470
189
311
509
16
475
422
491
258
458
259
310
552
217
0
345
328
524
542
404
546
399
459
480
145
493
469
136
349
296
546
441
345
457
433
476
464
335
521
512
478
441
283
397
537
354
408
427
406
255
507
436
411
225
342
358
306
260
406
271
650
427
494
446
331
512
463
556
314
427
359
306
435
439
275
266
478
362
438
111
321
435
382
436
446
526
595
618
449
441
418
438
434
196
609
445
591
331
439
513
519
533
436
336
197
523
405
504
617
395
471
504
561
488
472
602
442
668
440
561
311
536
352
390
488
148
467
431
377
0
547
340
402
475
205
560
306
603
149
594
228
369
260
514
368
366
436
350
353
508
398
387
346
362
420
391
244
509
353
507
609
580
600
527
428
335
445
264
369
230
375
368
410
317
496
334
212
307
357
239
431
532
448
478
105
337
471
357
494
473
230
319
259
537
26
298
367
399
345
354
368
522
143
440
443
265
524
556
402
397
0
471
421
394
663
253
348
517
569
210
479
546
419
343
73
281
64
550
127
344
482
132
196
397
394
272
439
628
398
386