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