60000
462
828
205
550
561
664
952
506
637
634
192
644
322
678
255
615
489
492
495
191
769
685
201
230
779
507
602
501
242
666
192
886
176
184
293
463
240
267
557
630
410
584
394
707
172
584
514
632
504
259
255
912
346
292
615
388
294
277
177
429
295
339
649
425
546
303
453
688
282
230
572
567
171
189
781
192
371
319
178
763
330
477
845
343
549
609
515
211
181
376
241
537
354
574
211
237
657
656
865
265
260
588
762
286
277
272
434
382
198
500
446
369
368
202
236
736
790
516
587
369
615
473
209
341
564
557
528
355
353
302
368
285
651
381
243
627
469
546
234
901
634
285
652
344
629
907
294
273
468
779
660
388
736
212
261
449
317
490
428
167
280
711
203
613
249
376
785
308
272
810
261
173
296
188
517
271
735
392
327
184
176
621
562
533
462
247
561
763
765
657
305
619
231
487
901
378
724
808
656
298
230
315
296
384
902
375
493
241
281
576
279
497
375
256
725
598
559
298
548
547
706
325
735
771
675
539
480
363
768
326
245
523
169
921
715
267
185
187
323
539
253
745
374
575
402
568
324
800
358
205
185
517
602
460
635
297
403
884
644
392
520
410
346
296
426
253
206
598
607
295
241
194
534
748
180
420
399
717
795
596
422
390
757
826
384
358
702
295
488
408
381
348
180
623
484
512
875
246
184
171
372
483
257
272
525
408
325
258
436
665
696
613
344
439
352
843
193
962
648
397
528
340
441
379
356
632
316
900
512
337
313
907
262
428
165
527
416
380
167
222
256
541
312
432
740
962
321
455
335
249
422
616
821
449
628
292
512
968
718
411
396
183
777
839
610
495
713
217
269
814
240
714
510
729
558
189
863
927
221
889
326
674
490
445
289
204
197
471
640
692
779
714
796
700
544
529
915
177
785
317
193
451
193
428
388
493
435
262
247
268
363
485
701
227
839
168
173
473
667
421
173
289
391
467
588
221
612
772
203
322
552
359
935
270
567
675
699
301
915
259
428
613
401
764
711
621
425
196
756
286
493
490
627
354
497
647
459
187
562
199
616
268
217
638
768
710
574
678
263
205
678
329
598
318
206
169
556
396
807
803
428
348
394
352
974
790
168
555
830
413
225
618
506
373
324
318
245
499
618
217
415
584
409
472
680
251
358
374
322
440
401
278
767
258
392
445
442
483
198
661
187
606
740
576
722
331
548
327
403
217
223
713
212
455
602
593
474
235
379
468
471
569
566
318
447
295
551
330
693
630
316
532
453
805
267
535
815
213
282
170
255
702
358
362
575
508
560
183
522
301
406
647
205
490
377
346
463
576
264
343
509
365
455
366
469
550
349
404
163
225
416
307
598
536
561
424
419
347
465
351
227
392
920
306
382
655
524
617
176
336
524
328
413
582
876
205
309
420
771
472
348
189
580
370
372
690
374
480
499
597
328
343
770
646
446
177
482
548
532
578
748
554
697
269
496
185
312
183
251
268
400
242
705
661
254
355
273
189
166
851
693
397
673
646
380
584
770
573
747
527
634
649
685
800
420
220
875
475
201
409
308
382
249
222
612
446
242
288
164
247
656
550
246
811
731
627
340
261
335
605
436
584
522
314
220
294
523
603
618
162
536
179
421
475
403
394
531
392
345
409
275
661
394
792
621
747
171
639
207
394
759
592
571
239
690
218
383
441
392
614
360
379
175
470
368
830
227
342
538
687
519
613
182
283
544
379
591
360
199
272
668
790
180
345
232
251
310
542
541
328
341
383
206
482
641
515
223
464
185
182
243
308
611
512
503
425
310
506
537
493
683
804
223
466
414
489
533
802
183
778
500
195
726
523
637
193
678
570
259
586
382
225
697
395
944
499
217
752
383
310
319
779
890
238
374
266
394
267
190
576
330
184
521
933
256
690
598
806
802
696
620
501
525
685
203
269
556
797
621
355
879
985
308
328
352
186
293
428
667
620
396
166
172
192
579
492
319
350
456
708
782
582
468
587
661
421
352
315
414
459
274
761
273
444
606
489
595
315
783
637
426
250
454
197
351
453
423
772
422
425
748
291
233
543
303
283
336
320
523
882
750
516
287
472
186
494
233
337
303
277
403
379
381
395
918
272
699
282
486
456
534
692
877
182
695
211
208
976
750
233
298
275
567
839
470
349
615
683
502
352
191
561
459
257
618
699
450
843
640
343
682
626
636
526
320
241
251
437
492
527
637
353
185
326
387
380
191
972
327
768
486
652
473
420
808
349
713
576
655
370
297
423
161
799
676
578
229
163
428
479
261
840
476
162
788
625
680
515
580
380
533
629
593
600
535
263
191
190
873
605
255
261
773
487
661
288
618
631
721
702
226
625
765
468
583
515
644
593
196
463
300
277
464
515
526
643
789
609
509
223
577
320
335
413
468
457
191
431
724
773
558
478
807
351
591
228
197
551
303
589
244
324
237
565
183
612
822
275
181
207
241
307
686
224
745
579
267
328
671
412
847
179
195
407
446
690
259
824
392
834
188
782
351
605
519
608
259
746
167
338
356
362
748
478
271
189
197
526
239
262
291
221
653
668
343
244
264
329
228
180
160
349
589
183
700
640
743
830
572
671
565
823
274
605
447
265
780
589
603
790
786
207
483
704
495
317
538
274
639
462
164
829
448
655
920
285
288
553
196
857
383
891
574
818
424
831
173
687
577
924
349
409
979
437
429
533
295
871
828
343
361
638
181
553
652
264
950
606
455
673
306
468
535
171
367
177
233
741
793
630
299
315
228
342
286
527
910
231
817
214
727
229
207
427
516
160
452
275
642
298
482
244
626
202
601
266
513
605
379
550
404
259
166
183
526
649
460
345
268
809
470
747
305
448
468
843
365
259
283
279
276
248
846
430
486
310
452
460
741
674
262
362
216
903
297
292
431
479
816
177
327
860
622
499
265
401
629
485
817
504
217
369
247
196
260
277
424
432
173
483
494
290
351
429
552
817
380
876
877
203
205
903
428
356
565
248
632
595
673
168
199
446
567
163
221
897
286
655
197
247
805
351
632
732
515
734
200
584
416
543
683
412
205
203
278
621
540
289
655
688
336
506
517
557
551
808
400
210
536
565
177
282
305
992
888
304
262
539
484
540
800
398
233
345
462
508
397
270
677
631
321
654
412
529
183
783
540
299
729
447
468
255
650
779
692
909
557
535
258
173
768
253
311
535
513
392
516
419
533
416
841
630
533
328
508
820
196
322
626
195
492
350
252
679
294
809
851
488
683
705
715
375
420
481
258
311
286
701
230
290
173
790
270
740
709
515
176
665
417
617
552
168
507
759
517
684
660
256
755
700
617
435
202
490
482
580
568
504
303
787
880
583
537
631
672
812
470
958
436
415
654
505
420
701
340
237
276
249
702
442
201
442
750
784
427
568
492
322
759
477
594
881
280
406
489
564
668
432
392
532
278
588
237
243
344
291
284
579
600
322
635
585
863
907
519
224
407
204
682
303
878
291
311
378
486
340
640
232
389
659
555
267
558
305
219
641
209
344
765
671
484
464
751
211
729
417
738
262
930
529
277
781
258
781
273
393
426
675
481
692
848
220
544
589
406
562
177
716
219
273
772
299
885
720
759
386
171
249
191
379
231
576
432
514
392
481
404
327
442
796
231
959
762
900
722
689
312
795
813
512
564
356
667
579
695
782
785
415
196
692
798
200
373
266
872
255
420
242
610
469
802
568
515
208
600
665
518
220
197
243
504
288
176
830
280
507
272
189
369
882
372
199
786
440
345
195
660
514
472
374
503
202
421
701
793
320
570
308
618
457
372
337
318
332
244
217
707
604
378
571
760
325
167
477
239
504
491
634
604
205
332
187
197
497
423
328
504
788
179
198
944
528
232
934
410
363
613
507
276
402
391
545
283
754
348
406
428
314
251
716
517
284
659
306
562
609
174
293
365
226
435
169
237
433
870
169
469
242
845
711
284
793
296
725
193
517
348
603
505
189
192
585
234
185
187
727
990
440
818
324
243
506
553
361
729
188
416
385
604
352
477
265
409
710
678
850
193
255
349
648
790
512
677
680
442
261
471
189
453
336
556
400
582
317
614
510
268
478
992
607
267
748
694
443
332
352
618
536
803
162
182
703
211
883
368
674
395
278
615
394
429
555
459
193
415
541
567
539
383
281
744
639
614
279
889
499
686
454
661
539
253
776
226
226
452
691
553
373
686
879
647
476
533
474
284
854
943
689
626
381
501
488
454
449
892
346
659
695
274
432
526
592
294
395
339
469
765
415
190
336
236
177
643
666
743
638
462
409
541
673
555
423
165
793
757
219
349
324
724
368
373
563
464
367
746
191
445
643
764
511
489
369
216
258
231
796
345
249
681
592
272
228
719
524
338
702
333
382
369
198
835
666
636
667
427
582
751
185
783
203
271
914
786
218
345
243
867
340
350
232
344
269
271
284
319
560
254
553
843
740
324
541
379
170
515
497
524
765
720
257
231
874
731
509
394
173
726
431
195
456
295
467
302
597
247
203
358
333
759
185
462
555
873
372
601
526
244
234
661
287
351
532
387
161
643
389
238
726
856
479
590
493
503
344
264
514
379
447
565
330
773
321
402
952
662
365
332
720
183
293
842
359
314
379
434
542
285
616
721
549
509
363
238
696
588
717
260
644
277
507
613
445
384
353
448
400
352
406
197
504
568
295
544
246
803
346
481
852
532
738
487
593
186
451
530
653
335
192
256
487
756
363
557
976
244
518
237
325
415
673
163
773
957
230
811
720
770
619
403
315
584
364
255
341
477
700
304
324
213
457
281
805
452
774
275
828
244
581
244
331
434
330
532
431
764
454
679
589
389
638
343
289
617
267
605
290
496
567
444
911
278
190
707
473
506
648
353
486
254
472
308
160
383
545
571
255
292
634
305
823
240
559
422
383
413
576
609
617
744
871
235
306
844
591
489
277
553
701
648
546
399
472
545
370
369
368
183
221
316
587
437
886
578
541
577
609
571
384
212
368
250
184
289
354
201
203
363
271
568
717
509
206
200
180
826
316
488
400
929
310
733
400
347
697
416
444
449
180
201
400
692
215
376
450
761
799
631
559
510
270
193
380
591
884
416
401
261
266
417
549
167
603
543
625
612
740
586
215
339
511
453
253
548
566
484
821
605
182
677
651
500
688
252
282
414
332
567
684
196
253
476
469
450
230
805
576
788
462
438
510
786
799
487
557
854
248
668
643
717
206
551
810
190
646
336
299
162
162
231
520
183
341
443
796
353
347
180
556
805
343
380
357
450
435
280
184
419
416
521
555
742
380
677
179
208
279
281
788
356
315
559
472
737
706
589
536
483
332
604
635
769
303
165
487
382
266
255
686
305
663
589
493
369
859
208
169
382
179
652
403
438
315
668
795
377
756
277
316
184
524
335
591
463
410
788
960
265
658
271
449
792
938
814
206
390
574
535
169
798
186
417
755
671
333
329
380
505
204
443
747
399
605
491
591
394
552
673
610
675
284
363
185
383
534
642
261
753
232
174
436
244
558
659
268
473
247
174
488
683
283
455
497
437
374
517
363
838
163
444
256
344
535
885
398
607
261
814
341
302
544
798
349
307
941
724
509
793
470
406
897
175
248
637
323
196
479
400
165
614
278
557
288
646
198
827
245
174
704
194
737
373
534
269
698
653
306
450
686
977
371
678
284
165
532
285
407
262
577
646
813
298
758
544
306
347
437
500
197
675
677
571
838
713
452
270
499
451
343
801
173
741
792
650
235
879
715
210
265
241
333
325
647
403
489
696
163
746
402
195
414
424
847
422
595
523
940
367
175
394
565
802
499
671
968
641
527
608
356
600
812
415
784
418
595
724
882
324
530
390
352
313
319
815
165
381
631
649
579
478
251
171
275
631
217
440
202
171
184
679
240
613
228
849
564
173
877
974
222
423
380
287
358
515
223
436
415
644
488
206
327
472
446
405
637
523
241
456
768
722
709
619
665
727
334
478
794
783
403
509
282
294
786
183
393
781
420
165
176
179
665
318
721
375
318
568
537
876
885
203
444
506
193
831
266
258
611
539
380
683
667
286
253
511
169
410
204
797
613
401
590
462
403
856
624
818
314
277
451
709
687
164
206
561
342
904
657
169
313
180
696
546
449
233
279
409
446
460
230
760
525
369
551
473
258
760
392
272
413
230
671
568
484
481
554
582
865
763
181
585
918
201
631
225
765
576
696
274
434
557
398
881
519
562
547
352
803
770
508
551
903
607
172
710
711
346
481
812
172
515
267
635
264
306
472
298
555
217
384
446
426
770
469
190
457
594
301
592
289
732
416
317
486
411
681
591
262
246
511
473
487
167
264
269
274
306
671
210
331
477
456
532
355
182
272
168
867
203
758
531
546
529
474
276
235
411
341
242
384
235
196
462
519
421
196
297
560
456
411
557
330
560
545
873
303
239
261
427
287
735
665
215
694
169
944
805
318
496
882
176
247
281
175
594
459
398
560
766
204
871
224
306
502
349
245
313
269
850
768
679
296
466
212
460
307
790
398
276
321
482
505
538
544
251
390
266
756
505
353
290
245
787
677
482
915
562
460
592
873
349
668
322
551
239
320
393
404
633
609
205
699
401
244
614
363
214
263
554
540
445
735
794
518
194
183
566
436
551
508
772
267
411
504
603
247
279
548
238
286
770
230
241
316
467
339
459
685
259
366
494
241
248
630
529
464
333
386
290
178
571
388
679
339
505
406
188
809
615
810
501
693
575
712
645
586
370
686
352
811
558
613
381
709
485
857
160
609
498
554
681
829
184
366
435
575
167
488
619
230
666
176
245
564
231
542
298
164
416
186
611
508
503
238
768
653
185
414
660
481
662
431
556
416
306
206
912
404
223
255
818
311
202
384
197
443
249
898
255
700
732
756
445
383
312
592
182
887
423
316
718
286
540
161
594
269
410
235
182
451
354
766
275
284
258
244
871
645
373
754
346
827
408
308
463
656
330
412
296
807
492
465
759
552
352
187
899
383
470
546
270
384
351
575
708
422
965
395
544
509
737
574
202
253
525
510
322
434
260
212
241
907
221
394
291
522
540
506
480
221
477
519
472
770
463
284
175
397
262
317
163
351
443
608
259
331
770
215
528
256
344
244
641
542
188
614
764
934
793
429
469
466
563
262
224
480
813
255
964
202
383
866
408
264
758
739
801
459
794
567
161
714
302
371
479
731
428
781
930
737
264
357
381
205
503
201
330
184
754
445
189
596
820
334
531
839
900
759
256
269
440
491
479
485
162
312
811
305
839
314
196
509
841
428
515
288
698
303
217
639
722
415
493
585
372
385
411
334
440
606
286
351
348
350
285
560
216
684
726
660
305
292
161
236
623
278
769
601
721
236
437
449
868
369
605
249
806
200
333
527
581
928
844
537
459
509
796
623
395
562
980
210
506
376
297
163
312
237
237
632
286
417
626
354
301
170
693
752
419
331
783
230
539
451
393
283
269
707
956
183
518
393
961
177
281
361
428
399
395
894
201
454
545
214
580
326
578
241
585
821
758
315
753
676
609
830
318
823
402
815
430
322
187
299
327
532
481
543
347
429
276
265
255
226
499
265
293
621
284
499
223
344
541
205
358
280
685
711
370
293
485
267
240
743
284
552
679
779
323
634
603
552
217
668
417
587
567
419
567
317
391
779
495
294
394
199
236
828
718
523
317
766
384
683
256
925
827
161
177
326
394
302
591
569
372
836
523
492
746
615
668
268
256
553
372
758
390
462
248
661
566
488
905
438
609
773
705
266
300
184
388
342
217
293
473
819
552
355
675
488
506
732
250
600
424
625
632
745
623
564
370
538
726
562
798
917
414
599
190
421
173
612
599
430
886
607
358
173
254
513
333
450
411
382
250
270
811
186
219
315
693
239
514
725
585
579
167
527
476
523
489
942
322
540
922
254
935
419
361
788
187
480
680
474
355
721
616
352
570
564
758
350
460
542
733
302
370
522
611
491
761
412
569
412
182
299
552
271
535
205
192
511
459
404
497
388
732
171
565
230
644
458
163
302
678
373
441
682
421
423
341
755
162
576
189
507
553
230
360
562
736
206
391
569
350
629
332
510
458
222
439
404
551
423
475
476
519
840
310
662
793
225
914
466
574
534
524
781
282
667
672
346
682
628
176
306
334
297
790
263
443
400
574
554
240
165
658
786
613
167
855
164
642
279
591
247
469
488
867
796
769
322
290
309
551
662
624
592
453
264
320
447
596
627
527
317
298
556
485
443
531
483
271
648
450
460
258
249
732
317
335
787
554
638
610
501
219
813
708
219
367
680
374
798
680
545
467
941
590
658
811
243
311
248
598
460
789
168
254
193
337
508
376
487
825
166
495
741
168
386
670
607
795
243
519
783
340
289
261
226
454
570
649
676
416
326
499
520
341
466
582
781
569
653
257
638
694
242
173
681
497
578
382
509
412
176
533
319
424
420
430
406
348
438
481
399
393
170
366
263
463
803
590
290
341
461
340
615
341
411
201
655
262
226
724
719
622
826
256
332
652
459
478
746
170
277
390
529
173
670
185
293
558
527
368
293
650
171
207
185
349
296
267
194
816
745
324
208
199
201
535
829
509
722
482
416
545
769
168
310
265
729
308
184
179
586
191
433
363
704
499
704
678
420
790
315
499
620
539
817
579
462
608
273
322
658
210
304
847
822
437
527
282
295
187
208
433
938
663
562
349
320
357
513
177
209
413
310
318
403
337
186
501
693
832
637
661
474
556
183
802
369
214
688
803
189
231
459
732
206
308
526
428
500
537
624
196
473
716
208
650
441
631
215
449
630
542
290
742
197
546
267
424
696
281
437
440
185
300
580
530
316
342
503
456
433
631
551
627
492
651
371
893
605
782
623
922
501
591
186
394
372
730
507
899
588
531
212
345
869
861
202
610
391
661
288
456
410
680
846
389
689
382
683
582
284
407
341
613
686
198
412
237
192
298
542
227
325
322
204
781
785
397
502
165
284
510
573
233
237
814
281
174
222
679
235
669
740
603
549
324
699
464
193
163
633
439
553
243
511
267
470
585
637
653
485
508
288
689
610
857
537
409
314
654
369
323
244
205
410
309
436
372
173
308
819
182
205
701
523
495
793
697
475
844
352
430
768
258
770
837
245
656
716
501
559
442
192
538
548
393
559
465
266
523
580
758
368
501
275
505
429
846
556
742
219
826
717
358
371
365
689
440
786
474
310
819
460
362
170
220
183
615
191
672
761
400
423
837
643
751
403
574
456
368
578
333
473
529
603
256
600
214
312
336
216
334
404
804
695
629
732
557
819
656
528
510
272
330
453
597
200
758
633
688
340
836
649
351
722
515
257
503
490
206
913
511
757
388
281
669
947
847
517
399
379
645
413
755
578
951
577
481
580
648
608
481
369
296
309
623
466
638
566
169
696
388
405
449
269
670
216
647
247
630
253
176
421
643
263
678
404
292
489
323
847
305
708
334
334
605
845
162
737
437
232
792
527
290
475
519
886
279
298
530
296
580
242
659
877
461
490
390
304
160
758
509
225
709
564
893
571
609
243
548
169
215
286
247
783
545
448
488
429
479
727
718
569
472
391
436
823
815
284
895
434
199
185
886
330
172
645
238
300
284
557
578
440
270
447
371
811
477
371
232
485
423
545
392
399
648
452
522
809
561
189
393
673
274
594
741
415
616
165
362
495
633
594
420
292
505
350
368
484
640
208
598
196
670
783
540
765
234
773
481
647
927
447
393
258
502
830
239
287
583
618
413
418
488
612
435
490
935
506
606
683
280
166
343
296
426
435
539
394
363
332
655
685
489
870
218
413
264
614
298
675
750
516
182
225
524
451
581
458
562
496
181
643
354
589
197
763
188
921
321
687
260
657
316
488
874
771
573
374
761
427
195
380
701
187
436
483
249
546
206
185
537
240
394
556
184
546
225
769
309
835
387
867
174
606
436
608
391
946
384
833
343
595
350
785
619
223
318
172
373
805
165
589
372
781
588
604
287
359
320
829
180
940
217
362
785
400
333
559
702
437
940
651
272
257
255
776
437
227
165
257
602
333
249
422
512
685
878
507
483
212
638
685
346
578
289
784
341
842
344
381
304
398
468
527
724
259
527
479
198
521
746
905
374
181
686
564
779
495
548
219
584
281
663
335
310
487
436
714
719
495
241
341
729
443
188
759
306
174
271
403
636
521
604
392
558
682
749
666
940
186
624
304
447
540
256
508
171
538
388
406
196
205
260
735
699
262
895
222
593
312
252
173
872
585
556
371
928
166
164
264
461
823
790
813
197
342
214
688
179
376
689
274
817
671
555
857
193
191
372
291
472
582
203
198
276
233
668
577
522
347
305
206
757
635
248
819
654
304
247
868
770
801
757
434
251
751
380
347
614
768
447
190
725
242
504
387
723
413
560
794
762
241
466
890
674
170
741
778
291
190
578
229
663
602
724
196
693
679
606
823
908
584
223
221
338
797
264
349
315
537
276
583
165
216
237
452
164
579
367
826
554
618
345
278
692
246
791
361
481
850
498
165
211
204
546
216
538
408
560
395
638
785
558
750
165
649
628
570
521
869
623
282
623
513
667
371
529
386
779
729
351
326
684
480
264
245
359
206
598
325
553
732
778
339
308
216
946
524
617
658
818
202
304
453
731
810
671
357
615
387
689
489
508
492
337
202
264
480
545
444
212
172
937
480
199
759
606
419
504
225
769
371
216
506
280
501
579
498
737
583
508
224
442
347
250
373
294
498
323
867
417
772
849
453
621
485
273
559
241
566
580
618
204
557
189
430
340
229
736
463
356
391
976
531
196
207
465
359
419
218
258
397
521
507
745
298
592
240
904
279
916
243
521
454
399
555
723
732
217
239
470
576
690
198
279
446
490
917
385
395
284
487
346
180
675
582
535
899
416
456
584
345
220
369
738
320
388
406
189
201
228
390
688
227
318
557
313
575
570
855
717
662
452
577
589
381
406
967
760
433
277
617
283
168
656
787
316
358
353
366
413
227
274
337
605
258
895
321
168
430
805
273
367
387
466
627
703
347
491
591
307
340
430
783
424
597
375
408
289
195
472
839
173
590
625
642
539
472
178
528
603
244
543
420
638
811
432
532
421
301
222
347
479
672
718
286
400
572
943
564
272
556
497
796
463
605
407
533
392
573
746
506
737
387
324
354
426
568
352
424
501
346
266
712
468
195
430
746
238
671
308
301
688
392
296
873
735
481
627
416
242
164
692
613
562
709
469
562
588
434
664
385
661
547
268
235
238
659
201
326
179
197
725
565
570
460
582
367
179
508
642
756
660
239
338
175
337
215
394
337
621
592
247
699
350
533
226
766
639
579
507
642
516
545
679
278
436
209
501
210
619
272
695
778
555
831
430
187
659
487
394
285
466
632
479
624
449
364
240
493
406
361
649
219
543
444
514
437
258
334
161
939
342
594
193
173
768
223
537
408
192
758
352
243
226
687
164
695
372
408
598
775
313
345
378
375
283
333
201
576
871
394
335
357
562
620
620
336
734
299
518
377
649
367
318
548
341
299
248
331
647
397
162
362
369
284
291
432
177
248
708
486
642
453
773
271
610
228
172
174
190
424
349
337
800
356
549
165
850
789
409
321
281
563
337
343
434
448
504
696
224
268
731
785
815
264
308
464
327
506
662
775
237
492
640
634
392
717
669
693
359
524
409
417
314
316
629
818
504
285
474
234
319
616
425
935
329
933
769
387
305
416
222
670
601
281
300
720
617
626
393
546
230
242
207
922
251
360
397
415
576
213
181
267
839
593
735
585
373
820
331
628
397
369
591
594
825
249
257
613
480
463
730
291
182
275
315
234
617
369
485
857
574
529
652
368
373
492
414
542
675
369
192
482
414
258
604
631
528
603
696
513
566
186
872
162
173
276
217
391
942
635
512
538
637
718
780
438
474
173
168
684
349
516
774
549
162
932
875
588
377
256
777
492
190
598
780
351
456
473
373
694
404
523
752
177
353
267
810
710
351
749
254
177
754
163
661
719
784
538
442
620
560
805
731
342
170
242
608
282
165
179
166
417
551
366
731
307
760
348
261
841
509
411
255
304
454
880
707
269
613
509
572
272
571
266
479
367
220
183
739
348
754
232
344
177
160
795
841
295
479
325
199
221
537
271
430
937
552
645
176
243
309
496
450
503
570
535
754
839
685
817
245
528
824
285
317
525
225
329
334
725
849
484
360
888
420
759
539
522
469
473
756
228
772
683
395
215
264
178
675
777
348
551
657
813
329
502
437
372
324
269
257
507
654
788
538
730
366
563
498
746
461
388
277
256
481
326
457
611
282
204
315
427
312
580
558
953
263
744
636
323
505
774
428
177
768
404
939
488
819
447
423
505
264
225
784
484
788
634
542
664
283
741
246
366
278
305
259
525
396
224
755
596
281
377
469
330
335
538
533
267
501
282
594
258
372
422
181
326
314
173
275
338
687
738
716
208
234
623
433
227
448
880
239
301
618
616
190
713
362
332
496
767
602
411
638
306
843
262
271
821
508
623
311
801
457
444
657
659
202
163
448
556
862
494
351
194
175
511
351
401
311
168
345
180
297
281
509
608
284
295
709
195
790
354
546
375
504
529
588
718
324
279
210
426
912
259
792
655
221
216
428
173
823
345
665
648
590
235
726
406
665
404
399
656
207
608
403
215
525
777
440
223
170
330
970
422
270
399
616
186
738
928
183
763
385
666
271
392
663
800
293
344
499
435
239
172
657
314
237
466
453
236
402
387
228
450
454
248
317
278
376
717
172
638
622
395
242
303
351
472
532
481
662
828
492
337
266
493
751
767
394
431
512
811
703
204
382
716
765
827
832
488
901
230
186
811
684
708
528
292
715
409
465
695
717
768
314
525
739
160
607
225
379
454
924
623
449
169
219
176
575
160
334
403
794
426
190
399
537
223
261
745
165
344
484
398
453
370
598
615
669
405
543
284
227
507
329
604
600
223
187
688
263
526
518
256
250
262
644
237
194
305
646
482
216
371
518
754
762
554
335
164
202
261
366
581
772
305
413
164
821
672
530
196
510
349
654
603
291
257
182
272
331
275
942
798
421
791
749
616
572
716
490
631
602
855
317
375
502
539
616
297
332
544
303
726
880
502
540
277
659
586
379
882
319
160
571
183
672
691
549
699
170
587
695
393
737
423
390
434
813
827
621
449
562
443
255
331
336
389
749
923
207
173
469
213
968
608
680
376
547
175
713
426
373
241
863
703
507
678
432
390
168
568
561
700
250
492
409
437
434
418
281
447
726
211
590
213
887
557
310
767
424
509
301
231
610
735
218
243
641
164
525
577
191
769
596
295
206
527
783
343
613
237
459
647
247
427
472
482
195
354
448
212
369
783
430
696
849
215
538
265
737
178
169
568
493
286
333
295
514
429
910
317
601
579
329
822
335
210
197
322
438
700
667
232
712
208
855
655
600
803
601
274
431
850
615
181
207
451
193
444
300
444
263
432
346
610
503
294
596
394
394
216
484
648
393
319
577
330
761
729
260
251
205
970
413
289
548
528
528
297
509
389
482
236
168
402
196
827
498
466
760
591
456
186
317
556
296
588
475
281
276
622
536
583
552
651
616
252
513
543
451
273
559
408
656
447
500
951
546
188
325
669
567
179
609
561
394
401
340
853
484
365
253
190
876
166
654
613
860
346
827
807
331
920
185
700
169
246
502
396
453
390
221
185
791
242
555
214
668
300
645
225
549
537
588
242
365
245
244
747
305
659
817
173
342
381
788
722
632
634
770
397
394
502
505
392
819
439
357
611
494
518
862
558
527
628
418
478
305
176
388
278
493
479
518
503
319
861
195
326
459
384
917
359
657
558
575
313
461
645
375
436
443
173
781
413
288
488
800
367
253
539
616
537
164
849
326
199
574
352
441
257
813
254
342
273
274
689
192
321
701
454
981
722
728
462
505
278
522
407
229
379
705
798
211
719
192
346
642
488
178
341
476
363
242
369
366
588
308
438
918
196
233
400
738
229
397
869
448
641
548
211
415
286
650
461
303
551
903
590
709
403
393
621
521
273
772
170
371
229
306
356
252
766
275
283
198
232
533
267
434
206
238
511
364
455
698
291
526
171
384
207
568
588
440
244
340
357
284
428
298
522
444
993
266
421
308
577
180
668
362
392
494
174
390
681
391
488
166
316
185
480
224
788
284
179
433
348
441
303
525
427
731
577
639
431
237
639
757
307
288
204
826
594
513
325
173
850
472
633
309
632
393
827
280
337
605
716
415
555
485
465
644
688
172
547
634
383
411
493
401
758
697
378
773
428
331
752
280
580
549
924
175
802
224
764
553
160
841
736
794
795
829
227
215
580
636
218
886
485
307
524
327
660
448
387
572
600
674
462
186
209
691
720
415
599
322
564
521
247
585
601
581
951
294
695
437
444
621
194
647
465
170
304
608
348
242
571
206
632
288
735
534
268
528
321
613
639
804
669
718
750
590
740
688
414
831
510
454
674
314
410
459
247
218
639
514
613
557
678
402
615
571
336
343
193
792
346
237
571
178
671
625
202
209
585
360
342
314
534
624
620
822
562
183
321
561
431
466
461
829
656
553
665
236
201
207
401
522
160
745
732
407
320
463
571
443
165
481
923
191
284
370
604
377
623
415
582
721
218
453
655
160
343
845
385
173
760
731
178
624
219
850
190
546
464
699
431
417
714
618
227
632
818
483
420
192
280
238
161
362
241
686
440
432
850
683
228
231
582
439
484
339
805
168
515
327
507
367
792
537
341
447
507
635
269
939
578
517
516
640
800
412
411
570
273
403
736
775
256
606
961
702
281
168
238
498
215
855
609
349
264
902
584
612
677
560
766
244
609
465
293
749
356
219
161
415
281
305
573
377
285
273
229
799
458
297
495
518
170
524
160
932
580
438
657
751
405
292
481
241
269
168
495
372
767
688
698
182
405
569
863
505
919
826
240
276
736
600
321
174
459
412
589
884
209
237
246
646
438
380
350
179
711
504
871
665
541
173
409
764
527
353
657
330
630
484
161
546
350
763
371
193
456
570
420
435
397
230
643
338
171
494
200
226
565
200
600
418
382
725
478
934
306
549
309
278
548
315
223
451
214
318
342
473
537
427
221
216
161
573
643
733
479
430
410
435
581
182
650
268
851
174
218
426
215
393
261
611
498
433
272
427
533
625
481
778
442
177
429
474
268
456
465
196
670
162
319
628
601
719
265
329
454
252
228
458
472
498
769
323
561
581
580
436
800
454
560
343
194
466
851
205
519
253
274
250
172
345
449
634
958
806
519
264
176
526
504
573
657
765
231
232
193
417
361
555
737
171
732
160
324
799
498
270
764
337
765
202
599
495
292
662
593
632
195
703
900
792
470
523
972
521
245
473
380
589
253
523
172
273
332
350
464
212
270
458
592
431
236
761
624
354
662
692
301
499
361
787
721
885
763
789
414
256
274
862
580
422
551
449
451
283
188
186
715
180
217
244
229
235
533
192
235
454
509
573
643
702
516
281
644
268
244
301
250
586
307
790
697
457
350
264
352
854
586
395
453
505
494
620
355
737
166
604
290
650
268
404
779
160
711
329
459
652
942
358
190
582
822
404
432
500
380
376
266
643
223
255
547
320
552
684
365
304
334
172
314
219
527
334
634
861
343
424
323
657
370
560
460
539
270
203
369
207
542
748
905
888
210
627
599
410
522
587
365
451
250
412
936
723
299
714
371
420
647
371
410
757
465
548
595
231
571
482
620
321
635
340
484
343
885
529
545
299
705
410
492
306
160
191
406
361
321
478
173
280
166
535
184
425
235
609
306
560
190
562
445
445
607
632
640
852
300
303
394
334
418
844
271
233
561
910
383
572
748
249
593
237
784
332
830
220
297
492
362
311
436
732
416
710
824
410
486
223
728
642
205
301
910
230
576
273
292
657
273
504
828
394
329
165
197
371
294
327
301
191
177
310
277
575
804
344
198
809
241
626
266
349
228
613
298
230
437
311
374
735
692
389
682
394
861
428
501
209
540
289
255
624
620
193
236
546
230
350
543
341
203
371
504
530
883
367
629
527
428
740
286
480
267
364
556
832
365
346
169
258
301
214
276
197
614
787
388
317
683
502
459
407
697
506
232
241
232
212
609
323
639
853
470
644
307
451
518
494
353
448
718
249
245
593
625
214
504
185
425
538
198
599
177
466
791
814
540
625
317
808
502
674
429
654
304
357
800
296
569
184
581
343
494
880
729
623
473
331
170
552
774
344
218
329
484
314
887
233
537
221
353
407
479
833
300
255
774
295
621
684
664
920
361
336
336
808
351
826
477
568
514
357
322
305
737
778
273
803
952
345
426
512
280
462
429
597
693
491
617
795
486
897
692
259
275
477
387
347
314
416
507
495
255
274
352
815
610
536
339
824
567
291
215
416
870
480
296
260
525
388
183
649
682
623
557
293
286
210
776
353
572
369
726
728
390
477
504
748
467
188
948
190
852
572
883
558
480
794
658
585
207
298
723
293
268
548
603
926
173
485
699
540
192
727
554
178
762
457
748
488
507
689
276
830
336
756
200
245
249
557
203
700
490
335
710
183
488
690
463
564
624
793
345
751
579
530
208
425
542
528
895
352
511
250
603
198
549
177
678
354
537
425
445
453
320
309
230
306
318
513
441
486
870
183
549
855
793
255
171
221
596
616
335
310
358
285
876
306
491
965
390
160
618
661
375
354
608
769
566
585
179
558
903
255
592
876
538
416
306
300
330
222
753
167
746
238
336
320
486
513
578
645
175
244
299
201
620
787
984
416
462
765
660
740
259
354
281
467
163
650
766
517
241
669
222
181
466
566
419
357
665
636
897
187
516
331
405
469
628
222
574
303
662
323
292
278
329
341
383
598
756
524
258
162
898
399
345
873
628
274
161
777
770
579
312
407
578
348
315
455
335
497
167
209
704
170
552
392
185
460
475
658
586
302
383
459
596
379
536
864
275
514
194
604
468
570
831
440
591
198
329
291
251
558
624
518
477
801
203
649
628
602
452
326
655
531
469
726
296
592
648
829
424
622
758
361
236
923
162
758
354
628
184
970
971
683
357
333
484
386
603
641
333
534
323
183
510
571
357
624
331
243
339
789
560
324
434
160
424
232
869
844
787
253
627
389
705
379
523
802
941
894
803
271
408
323
438
722
195
180
626
733
824
872
506
657
564
416
275
213
359
617
655
212
478
167
549
759
269
911
402
349
665
426
218
409
753
225
262
483
664
208
466
160
726
576
207
208
466
480
829
744
630
317
666
688
794
451
474
257
587
774
701
545
303
662
514
193
314
447
605
296
684
175
673
347
381
769
173
481
186
576
423
551
470
296
762
615
229
168
362
211
397
263
345
389
430
853
500
167
355
399
485
268
335
322
175
220
479
570
835
676
359
418
447
454
696
387
303
649
429
410
705
342
397
544
926
634
766
310
602
757
610
565
446
183
291
525
579
501
423
728
697
191
275
366
587
181
283
421
554
862
717
317
439
215
296
483
649
532
393
473
383
829
677
234
344
175
600
308
683
929
682
237
177
572
823
182
754
657
203
186
431
340
835
259
409
922
527
774
385
202
317
508
180
335
755
812
383
923
841
271
503
286
590
683
591
729
260
539
596
537
198
222
378
578
596
531
429
177
273
707
715
481
626
322
430
601
234
242
231
543
232
214
651
184
399
526
237
379
711
606
313
321
696
196
721
266
456
332
169
546
537
935
588
551
553
393
738
528
636
783
657
742
440
586
669
219
188
300
409
204
605
192
702
342
340
723
465
271
513
848
397
398
249
748
242
254
224
619
248
366
571
720
383
743
289
240
313
193
362
581
822
328
395
924
364
473
446
670
394
442
396
333
390
270
807
167
213
629
426
735
823
187
186
172
389
201
917
326
533
855
214
303
474
438
560
795
859
487
182
849
696
355
631
360
584
332
875
945
342
587
520
607
356
242
303
444
451
472
280
938
661
496
624
360
286
617
225
368
493
372
213
453
189
363
220
173
462
401
488
627
515
545
261
626
469
333
478
169
174
279
266
803
739
555
340
638
760
850
447
226
632
584
506
907
648
757
878
522
808
525
679
228
764
288
249
407
306
548
599
469
424
665
277
823
868
339
565
228
579
356
202
553
556
179
281
471
493
755
468
241
170
479
373
582
445
431
421
322
345
295
755
700
392
374
520
559
416
600
190
264
307
901
604
417
487
836
717
785
475
911
420
399
709
205
442
296
585
590
612
403
612
687
272
218
707
638
607
484
196
804
485
260
403
365
648
326
223
289
396
436
296
289
461
247
345
306
477
275
289
882
171
659
284
374
700
641
539
322
350
544
599
248
247
617
560
420
762
647
462
251
308
479
801
317
587
338
301
805
620
558
543
314
601
575
956
634
575
332
836
309
714
351
193
228
329
195
361
247
550
524
524
637
431
424
169
226
966
660
517
206
254
391
406
297
211
722
781
404
592
790
761
869
609
387
267
651
517
632
822
843
458
232
468
204
555
654
190
558
705
247
303
355
717
186
936
640
327
380
245
386
793
380
233
294
344
226
797
361
565
240
601
173
386
444
184
273
909
562
743
624
630
328
191
245
711
302
216
260
733
206
573
747
654
205
251
276
494
635
360
165
491
651
575
441
215
821
301
566
343
678
200
254
399
556
412
559
370
780
359
538
740
822
613
323
282
188
715
810
192
268
398
261
605
558
589
833
819
962
680
640
844
757
709
708
794
437
210
410
868
671
446
239
652
863
929
162
312
275
685
215
244
673
415
323
571
817
431
447
733
382
369
304
678
196
566
258
602
467
849
726
162
383
535
498
787
342
404
867
211
174
275
227
744
604
447
244
384
529
591
632
620
665
348
737
868
611
730
201
203
573
534
454
174
175
577
310
579
309
496
207
863
376
276
339
599
512
398
655
398
498
572
315
316
657
375
546
405
438
248
469
328
171
508
733
611
278
296
602
550
393
219
353
423
221
211
266
434
541
723
446
920
166
238
635
701
235
236
372
186
322
430
316
369
357
398
373
177
211
172
504
275
364
303
169
492
476
472
865
415
777
404
232
538
176
676
302
448
612
671
764
229
696
321
590
874
691
430
521
603
324
261
317
498
534
733
281
284
292
219
393
187
375
829
431
869
436
749
389
596
537
179
279
256
221
433
373
207
196
290
211
348
244
625
379
649
325
695
751
363
167
668
310
288
671
373
636
490
625
400
884
761
186
909
286
402
716
660
210
290
231
449
454
250
303
547
466
707
525
590
695
198
487
196
222
429
316
742
318
374
874
820
602
509
788
391
837
413
342
852
386
837
227
176
590
692
640
299
474
269
301
468
542
602
164
225
923
220
526
549
180
567
890
389
624
702
317
253
203
728
306
420
391
278
476
556
606
858
329
649
467
529
373
423
646
551
234
399
274
739
195
200
358
555
254
396
188
298
293
211
586
328
460
356
344
674
292
589
221
226
207
975
732
559
835
328
440
636
241
336
341
416
475
916
372
811
520
216
503
394
431
476
354
349
570
480
508
401
842
443
487
798
709
581
696
671
233
350
387
824
744
532
436
199
415
284
742
433
488
589
695
374
689
197
875
245
662
428
276
236
276
494
306
559
721
347
266
906
212
498
550
542
254
335
600
258
544
524
481
192
201
407
350
581
535
654
483
829
346
469
758
277
652
336
455
489
408
359
243
380
186
421
341
349
232
298
375
627
235
759
578
611
605
453
409
740
627
469
654
342
552
458
289
320
351
275
166
619
506
295
565
610
514
335
466
719
541
189
526
335
581
308
534
583
489
716
204
222
330
450
852
610
423
370
838
160
257
554
609
311
688
270
567
844
269
551
497
500
335
797
611
457
548
322
277
538
530
326
413
429
486
323
205
563
267
193
852
538
576
661
608
602
372
209
179
229
164
195
183
936
192
256
223
226
218
224
703
338
370
822
642
441
353
491
420
564
703
656
303
639
162
882
408
319
915
364
205
175
907
406
498
170
416
888
523
485
534
556
537
510
202
909
437
854
264
636
373
554
303
763
548
402
706
304
806
893
321
204
847
407
874
833
895
220
246
440
664
288
594
316
908
718
459
678
694
233
380
322
452
656
173
362
503
608
847
775
340
420
595
666
180
539
190
442
815
276
225
811
245
876
311
214
266
470
482
353
773
274
754
578
744
223
191
771
440
249
398
189
253
283
537
290
356
729
296
510
298
754
313
473
372
686
647
791
820
376
800
195
216
875
561
558
349
856
280
288
661
362
528
458
670
640
552
302
489
180
495
187
381
860
681
562
664
500
528
202
398
737
246
762
609
845
615
202
201
731
168
362
302
592
525
635
362
454
348
429
603
600
445
562
789
493
560
192
491
882
462
292
261
713
369
255
708
471
743
885
164
933
160
770
383
264
837
560
181
439
735
482
258
302
209
678
396
255
481
294
249
358
350
242
678
687
527
632
482
500
355
904
694
492
558
527
776
163
286
489
889
665
196
757
296
507
707
377
344
184
328
541
459
614
356
694
626
612
664
274
816
265
328
754
355
599
449
498
265
210
794
454
555
388
484
620
483
675
912
640
438
220
757
209
606
499
375
622
335
240
369
399
346
829
511
614
739
345
270
318
398
739
325
240
327
484
886
472
384
630
249
456
410
450
262
408
209
513
358
798
616
884
291
507
400
242
395
591
807
272
188
576
261
634
405
425
640
572
646
373
525
509
435
309
228
283
281
166
552
452
574
320
424
451
676
394
549
847
515
463
511
344
330
506
242
602
632
684
311
635
773
199
410
604
624
206
526
383
486
279
286
161
168
482
552
202
421
411
325
512
652
410
830
370
438
348
284
488
490
252
449
242
858
436
288
292
397
280
529
941
738
776
232
192
317
380
438
479
298
165
768
346
361
198
382
213
169
204
800
852
349
713
382
291
902
251
260
574
258
713
598
582
774
428
705
243
862
341
877
703
495
850
330
691
309
847
360
783
363
321
165
274
521
275
470
395
331
830
285
358
276
362
512
251
244
554
757
309
396
494
224
913
341
795
406
213
426
384
213
911
739
747
171
288
431
470
500
737
506
553
489
365
745
357
746
433
234
735
393
737
247
163
666
625
814
579
562
370
553
629
182
330
647
399
253
521
442
483
379
457
382
762
256
305
903
468
840
427
193
506
368
621
571
305
443
323
505
735
344
433
796
382
453
526
609
827
778
225
662
369
698
314
797
576
423
367
536
411
504
318
776
515
413
390
617
659
365
893
838
217
358
822
319
459
455
207
797
165
562
270
694
398
187
664
396
501
860
599
853
744
614
194
200
294
226
226
901
538
287
494
727
695
686
412
677
637
388
247
571
326
520
198
650
502
897
345
427
198
884
478
432
849
550
332
836
330
658
287
839
610
537
171
550
437
234
644
682
180
779
804
557
535
843
333
228
450
645
274
657
322
731
797
501
477
300
509
890
433
669
220
616
880
165
227
526
583
486
287
330
337
878
748
886
653
187
519
553
577
367
857
268
195
246
406
712
663
274
202
398
392
310
635
551
718
199
372
351
686
742
509
246
417
707
176
487
484
300
774
220
383
210
832
684
661
480
579
345
296
691
160
206
507
828
334
529
177
237
456
321
693
189
316
701
697
286
275
374
452
317
630
446
226
398
327
213
737
246
621
274
870
507
778
504
748
642
181
757
469
795
190
365
226
387
497
563
290
736
329
808
363
531
448
429
670
465
851
930
773
307
699
890
616
511
892
191
649
283
334
237
231
173
207
672
213
446
611
962
350
382
363
483
446
628
420
366
692
325
447
249
756
183
359
347
312
455
460
433
633
845
590
773
347
317
267
455
582
397
397
840
438
381
538
829
690
788
201
773
343
793
674
561
223
204
163
223
809
797
732
718
267
401
170
736
291
415
963
794
223
468
291
335
631
544
174
427
650
638
380
315
430
191
792
568
271
248
588
833
347
578
262
748
494
456
364
478
475
633
291
623
240
345
234
509
285
710
527
298
286
214
541
646
373
572
654
411
694
336
650
565
547
428
610
510
161
568
755
860
526
519
276
377
632
225
926
441
377
222
592
972
453
514
299
769
284
430
517
737
196
519
483
503
837
581
763
465
252
505
418
427
519
272
648
759
166
578
230
404
503
547
653
921
392
889
635
358
206
522
423
452
426
327
606
200
733
714
696
174
275
255
275
729
232
731
874
309
399
665
681
933
308
205
448
414
401
348
253
616
318
536
873
582
518
501
595
592
231
478
380
718
485
180
374
906
459
793
249
297
645
326
448
574
754
470
219
845
660
607
366
501
538
755
606
481
304
627
351
598
515
673
271
232
511
430
219
520
260
642
166
467
200
459
321
411
556
490
320
734
696
531
165
646
547
564
261
871
653
423
757
700
752
251
313
455
597
163
584
746
195
231
296
805
715
175
676
760
816
521
672
713
633
655
663
653
920
524
598
253
628
393
182
800
587
293
173
495
850
585
941
890
371
809
649
603
163
195
630
459
663
791
608
346
611
289
434
913
672
487
864
343
439
526
752
932
647
511
370
223
182
431
246
575
572
562
579
275
624
389
387
447
634
776
277
287
524
334
657
575
232
602
539
857
269
367
763
278
557
395
250
319
634
699
177
740
491
756
249
242
563
883
381
455
245
833
269
447
700
625
367
192
266
309
767
623
361
401
170
567
346
332
216
229
790
425
253
541
281
777
316
161
278
750
612
174
397
266
824
200
859
679
893
879
606
418
234
203
433
618
339
523
365
494
681
643
783
215
735
974
689
510
894
305
829
170
368
482
399
575
321
290
437
421
322
548
371
395
312
766
267
530
497
836
249
175
421
621
366
266
373
185
603
775
399
200
379
192
729
311
334
755
264
623
274
477
169
316
307
162
436
534
632
884
577
769
173
753
787
165
184
444
738
229
630
475
480
332
695
214
248
596
404
514
526
664
389
586
196
503
489
218
646
908
313
611
604
613
570
691
330
757
305
161
974
615
633
648
567
317
198
483
286
724
825
361
445
206
420
567
246
668
629
664
415
668
495
596
553
539
619
487
296
736
208
390
571
325
517
436
304
699
643
341
791
412
394
162
644
269
186
481
212
338
547
257
622
540
226
273
664
382
634
404
412
981
441
664
238
694
252
418
481
194
702
663
410
622
178
790
904
217
189
647
601
624
392
720
257
694
517
750
566
561
433
399
283
675
563
293
211
461
537
529
607
342
332
845
368
628
230
633
276
666
540
633
411
384
539
163
612
265
257
200
371
213
670
225
167
486
887
698
686
672
719
451
246
177
385
563
862
200
554
374
231
804
161
464
756
736
321
315
595
406
838
821
397
169
644
509
600
385
354
295
210
558
650
408
425
201
836
589
737
505
667
383
424
599
319
248
281
293
781
843
548
650
160
266
534
613
471
200
297
186
534
688
427
566
744
172
414
617
604
504
661
170
408
261
416
363
290
563
366
487
341
556
293
750
354
402
171
324
341
336
178
350
298
320
546
800
456
242
502
178
479
281
165
456
605
329
451
165
282
443
832
446
700
486
829
339
353
436
335
864
318
449
528
768
429
897
425
688
643
495
312
384
459
352
224
973
298
504
392
610
573
260
768
863
191
580
551
255
347
822
532
260
448
225
791
278
394
625
324
308
321
179
636
717
254
630
323
817
248
792
467
452
470
380
161
238
325
374
738
342
558
260
524
218
593
398
276
859
551
497
191
876
389
560
502
630
349
299
384
475
316
771
503
431
614
240
773
290
276
373
328
360
270
275
620
280
614
184
312
715
326
518
470
441
433
520
603
268
270
395
480
903
686
619
782
422
511
476
210
523
672
365
808
736
926
472
691
443
172
260
416
873
418
513
673
487
291
314
215
405
249
650
167
363
372
598
755
579
368
396
654
235
489
599
649
474
282
461
316
263
506
780
184
546
513
644
248
297
317
248
498
264
404
369
657
165
165
527
327
361
169
707
485
831
301
442
745
276
237
532
430
274
485
193
452
397
272
393
409
394
425
287
375
727
782
339
734
493
197
740
266
557
346
504
653
162
519
780
585
390
537
621
710
224
332
429
425
323
714
170
467
334
436
682
709
571
473
769
681
436
217
210
578
366
245
318
840
857
430
515
232
213
483
256
535
344
354
625
364
380
857
419
239
439
234
864
731
663
555
202
525
959
328
779
286
395
628
568
279
473
580
590
862
382
375
362
394
559
307
317
209
165
431
242
384
696
632
802
441
756
351
585
386
320
608
949
795
849
478
227
235
783
499
557
618
165
282
304
521
473
708
775
233
315
363
198
583
293
170
299
582
187
303
781
587
504
870
690
446
501
894
484
411
191
784
179
367
262
425
329
488
717
434
742
932
850
279
239
267
225
913
623
363
735
586
378
223
290
350
178
826
209
344
408
567
375
459
487
672
776
427
172
438
255
192
709
490
253
221
467
507
543
788
382
611
657
677
422
477
343
895
813
443
355
228
175
414
591
200
814
437
344
297
567
596
368
524
650
398
389
477
334
394
600
383
928
506
537
537
311
311
618
404
507
412
169
732
676
493
960
488
795
269
582
357
680
354
534
302
829
285
416
963
875
376
239
600
503
525
166
204
593
383
359
236
475
890
613
214
572
404
553
787
499
317
481
329
430
506
837
395
434
250
596
175
598
513
602
461
732
291
237
202
817
659
676
313
612
749
402
660
344
263
305
230
251
173
167
504
521
443
504
728
358
485
538
923
310
276
699
191
396
685
400
235
507
664
254
490
289
329
680
209
496
561
195
482
882
353
277
565
359
680
452
190
181
317
908
505
691
564
321
380
593
379
197
163
501
495
192
217
221
206
252
163
802
832
201
802
488
622
590
482
461
185
399
262
214
538
941
733
294
179
523
735
231
607
207
250
281
161
228
568
918
629
584
174
426
699
289
223
503
231
322
268
475
198
323
533
311
282
385
880
414
298
406
433
944
400
358
340
179
696
312
211
884
166
759
297
274
297
524
385
224
519
163
213
327
459
441
430
745
394
528
317
205
490
232
881
394
453
334
674
545
590
308
197
569
871
272
431
516
746
279
383
185
511
409
857
284
339
905
197
556
554
789
233
769
778
435
725
532
392
591
454
866
420
291
226
174
282
474
400
413
496
628
713
681
784
315
473
379
599
599
394
483
596
389
805
460
653
198
188
251
255
162
291
184
927
636
262
815
904
498
863
176
356
645
415
283
406
557
384
571
374
424
418
598
734
816
513
391
160
415
352
271
391
216
503
419
834
333
447
366
704
588
443
652
192
538
621
166
769
579
574
649
396
617
238
734
365
250
167
328
388
297
472
577
309
538
312
372
382
229
227
328
554
613
413
238
412
428
584
340
464
297
385
819
610
258
328
187
398
582
452
486
465
283
415
358
401
697
687
633
421
345
214
621
439
421
397
793
573
541
656
307
581
389
217
388
321
783
534
358
465
248
817
521
257
628
468
782
255
368
198
911
426
676
487
167
259
539
379
234
863
661
412
614
686
337
277
357
467
677
590
413
528
308
247
680
375
442
261
613
789
723
288
306
631
554
344
357
748
217
429
765
292
178
843
318
196
273
452
480
882
563
479
393
725
695
182
665
293
668
350
619
410
439
803
426
609
414
437
480
206
657
260
187
539
481
542
244
724
215
181
429
167
195
232
691
598
405
276
486
535
482
836
510
316
651
687
170
773
455
740
555
523
249
622
924
424
432
278
374
258
858
521
312
509
629
208
237
494
420
463
398
573
274
180
241
457
573
865
307
547
876
696
785
314
481
450
341
633
292
514
620
396
446
631
547
618
935
386
631
404
616
743
511
164
458
192
268
301
650
325
318
320
335
228
580
864
728
287
375
185
825
347
620
717
496
425
210
599
265
452
399
654
637
173
411
452
225
828
337
941
409
242
615
651
233
329
556
385
921
164
201
603
831
309
696
659
374
196
280
382
569
262
686
400
653
527
277
397
404
328
241
648
397
330
168
673
435
771
512
445
436
312
426
360
487
245
451
559
190
438
226
225
586
625
485
489
244
869
525
741
334
189
847
390
502
314
813
543
195
565
205
214
752
587
723
554
848
802
178
283
743
563
166
633
276
281
295
178
375
373
476
535
914
287
568
415
622
398
186
266
630
491
442
199
658
499
306
224
465
568
924
630
348
587
671
676
341
402
757
646
302
253
617
531
293
514
422
534
576
414
256
246
930
515
676
226
763
704
431
406
307
286
223
494
301
307
364
519
199
522
177
233
273
223
210
356
273
252
161
585
243
183
524
870
596
462
721
704
523
266
524
449
257
473
548
518
852
489
411
607
365
771
280
308
697
637
726
733
249
511
472
615
341
707
580
204
751
549
286
228
263
911
492
193
568
714
239
388
603
556
825
659
646
274
204
670
229
613
372
353
393
400
585
380
668
747
708
546
187
257
485
278
210
455
161
228
382
258
338
177
244
168
781
874
594
231
499
320
214
357
424
501
425
324
228
404
428
964
738
731
389
654
455
387
166
279
577
385
513
632
432
849
781
243
843
187
312
376
632
280
463
318
563
830
654
810
250
181
441
566
373
319
332
253
621
411
189
614
221
587
261
530
274
187
361
309
314
330
544
318
305
427
452
210
336
269
696
625
482
707
322
777
332
338
357
569
291
450
706
455
451
198
493
316
369
394
561
324
235
301
950
649
574
518
524
397
340
219
569
677
337
345
334
275
439
458
783
764
538
600
341
866
372
527
338
272
639
176
447
434
231
478
266
791
441
205
561
264
228
222
301
404
461
679
245
428
372
359
412
339
563
806
236
653
688
389
600
253
324
193
511
300
321
256
859
771
256
417
768
353
435
534
274
393
588
317
479
305
777
516
515
242
163
183
566
167
178
312
441
640
836
206
535
447
771
235
445
786
483
396
874
859
330
548
359
654
230
950
573
494
470
516
927
494
421
362
744
677
329
701
440
200
180
614
411
674
229
248
320
811
370
290
663
553
295
186
549
382
733
569
160
762
277
886
253
575
550
295
428
736
450
283
402
401
235
531
208
520
834
483
646
182
765
399
164
417
734
327
679
565
221
806
260
245
511
507
445
537
611
387
503
967
754
490
885
395
266
517
435
246
483
859
647
428
577
725
474
486
816
753
587
526
342
272
547
190
409
351
205
453
572
351
582
661
702
508
180
638
604
564
642
463
597
854
313
778
665
341
243
258
770
289
490
537
648
532
206
640
368
400
560
555
822
613
825
377
206
479
483
521
930
609
265
180
356
843
824
994
681
249
669
594
468
573
205
375
489
227
490
858
655
187
689
369
511
624
161
573
338
626
671
470
368
320
593
847
425
569
244
336
313
719
783
164
677
572
576
440
209
892
427
323
607
174
622
698
614
494
686
800
198
179
584
224
566
382
327
716
472
369
283
583
374
613
528
269
459
712
242
258
611
218
417
567
726
470
272
283
495
536
756
654
314
215
311
712
464
226
433
438
229
171
276
381
293
725
442
371
755
332
277
765
298
173
509
497
756
294
310
223
369
782
403
218
821
478
354
564
432
373
644
780
468
373
650
386
420
457
382
340
522
811
312
327
240
808
496
475
663
656
604
691
619
394
636
275
174
458
417
424
877
175
463
555
529
203
580
651
304
196
283
163
270
652
454
434
754
459
687
498
332
307
551
356
502
398
629
340
796
319
426
185
576
597
384
271
296
581
176
289
821
254
255
472
242
486
430
575
396
293
240
423
541
931
559
315
452
547
616
548
393
625
713
392
303
564
172
283
162
333
246
620
829
525
314
549
237
706
577
411
176
473
553
478
433
353
514
476
631
478
499
173
515
445
419
176
480
504
265
672
221
185
426
631
391
408
708
399
518
382
915
735
529
401
277
615
379
446
434
804
243
746
559
356
470
661
643
333
261
444
283
748
599
674
555
189
572
943
179
255
438
724
901
708
194
935
200
727
481
305
413
318
259
472
728
389
508
425
267
780
250
818
412
200
712
652
210
235
378
678
170
392
257
719
254
517
290
555
328
247
807
249
665
219
542
873
377
169
553
358
665
442
783
542
816
283
217
754
562
565
705
572
523
187
343
519
364
272
274
775
838
516
232
274
367
369
633
401
573
329
634
163
310
280
279
206
682
807
254
324
850
721
417
366
476
467
486
341
666
476
252
379
539
397
675
459
666
248
615
299
459
405
513
230
250
546
249
445
238
904
471
777
316
717
164
240
199
182
519
339
499
230
194
680
682
636
514
404
415
566
749
721
240
233
564
924
376
781
473
364
550
479
606
319
174
326
859
265
203
169
401
481
364
673
874
586
340
554
665
678
170
435
639
276
661
651
811
932
549
228
354
261
383
482
904
784
629
377
427
254
242
539
642
323
346
269
304
180
707
230
187
859
173
717
268
802
436
303
165
562
914
184
706
391
700
178
779
881
434
691
872
242
601
503
516
492
654
904
786
172
472
363
394
501
661
449
190
815
778
255
485
391
703
594
727
200
433
613
246
196
622
336
844
346
338
236
401
421
849
646
504
479
306
508
458
493
213
311
624
334
197
167
533
881
552
453
677
276
374
209
192
378
789
414
676
428
656
580
814
554
311
260
651
520
664
330
431
889
436
456
510
415
269
543
187
291
314
843
471
204
460
670
451
345
406
461
302
705
385
492
683
810
804
461
205
583
577
761
765
200
240
260
442
581
317
546
475
409
805
320
291
497
259
168
295
419
562
797
689
834
552
454
891
658
461
735
274
618
520
278
611
644
268
174
556
688
855
183
568
399
438
451
238
503
982
382
223
418
246
518
418
422
391
362
654
599
532
835
458
302
504
562
491
341
757
539
582
446
369
285
201
325
612
430
678
398
662
633
509
694
475
601
518
765
405
812
595
713
592
418
463
575
449
515
663
772
662
371
234
451
300
270
448
677
441
178
653
583
521
187
394
265
502
317
306
624
179
223
350
465
589
527
241
371
165
689
365
396
335
167
330
655
448
234
253
165
882
498
933
461
329
595
518
803
827
519
621
336
351
195
547
430
403
464
341
421
742
401
330
220
234
497
594
163
276
355
353
203
847
370
360
630
265
327
435
605
213
402
794
551
606
258
655
483
459
494
406
249
242
812
187
400
644
272
216
787
719
697
230
679
297
253
393
747
589
348
401
392
265
574
534
643
434
193
473
449
186
307
418
710
168
541
322
479
598
270
272
248
865
453
277
252
935
660
383
163
704
799
600
400
333
464
405
460
574
230
596
230
757
553
729
507
677
226
594
365
560
337
368
599
865
317
362
813
357
453
252
698
881
544
725
224
285
237
441
364
248
184
308
406
302
745
336
531
351
193
851
483
208
337
519
844
354
342
613
471
632
365
492
192
420
487
832
497
546
743
782
659
509
389
355
387
315
842
475
205
739
634
943
520
617
596
373
614
578
353
204
355
249
593
333
820
473
468
737
210
587
478
212
436
659
783
467
350
573
260
588
595
847
351
164
282
747
417
834
794
302
593
200
398
233
575
581
187
557
203
330
408
542
441
824
395
668
223
401
368
327
180
552
184
476
503
214
269
203
304
494
861
304
316
560
393
673
762
774
231
233
519
301
363
423
502
301
248
654
409
347
783
642
209
787
576
178
770
495
256
711
645
200
299
637
687
753
485
274
652
538
579
326
305
344
978
305
618
187
398
248
481
373
382
168
379
509
526
214
661
254
673
226
660
761
336
456
626
852
593
316
616
403
308
556
735
509
284
245
402
247
376
558
341
822
409
616
248
257
575
444
585
223
664
228
914
394
279
623
629
711
232
282
556
493
333
203
212
322
749
424
411
421
762
649
722
364
735
647
929
318
682
258
270
608
175
523
346
628
333
193
306
313
162
404
789
187
245
896
591
207
386
257
486
453
481
488
396
270
221
322
194
375
623
327
183
372
629
221
438
692
196
161
206
195
319
481
266
266
444
189
276
237
851
606
347
457
560
931
524
828
683
293
888
665
485
597
562
543
453
692
535
183
400
338
492
393
599
348
559
505
407
471
279
489
198
486
743
308
449
261
635
556
235
245
338
364
868
950
472
402
614
179
287
204
349
297
685
171
470
496
180
203
874
408
768
164
682
691
802
587
705
529
230
170
320
789
613
343
260
489
649
351
628
575
278
706
513
231
586
571
250
554
395
224
516
463
327
491
370
287
405
453
610
255
531
495
600
203
250
190
359
176
247
632
172
425
406
409
530
334
442
340
668
488
173
593
737
536
621
273
194
857
978
292
465
515
622
258
674
462
590
635
199
398
419
349
647
643
271
238
407
522
963
368
498
354
344
234
169
782
197
336
467
195
366
812
391
407
504
270
767
790
559
309
386
780
508
178
318
613
469
739
212
523
396
585
424
301
734
277
412
381
742
682
201
808
440
216
582
791
682
587
535
393
541
263
256
788
599
694
438
268
525
246
473
597
213
533
532
251
848
953
633
629
464
701
217
729
670
694
819
610
381
558
561
650
347
391
366
560
309
344
301
401
910
703
257
212
274
713
429
731
545
754
542
372
255
189
196
693
497
687
797
629
340
299
566
633
467
170
455
220
174
338
437
388
540
271
468
534
553
579
401
477
551
608
666
525
666
217
577
325
210
518
411
929
789
689
481
860
395
507
213
190
365
325
407
179
897
452
373
463
806
723
269
182
556
327
256
630
288
175
449
699
304
513
238
559
499
701
214
612
348
332
305
315
574
181
447
732
605
268
441
383
348
578
540
198
332
804
243
866
382
269
310
423
606
863
744
258
445
351
225
508
391
440
793
194
186
606
288
372
279
571
608
561
916
634
434
577
446
506
557
616
240
343
459
586
341
591
362
284
761
167
672
533
583
263
260
498
589
512
646
631
640
261
253
747
373
884
923
456
292
517
560
518
528
697
635
390
534
691
329
747
463
342
590
633
536
347
449
626
234
458
615
526
809
537
638
743
391
282
424
587
863
618
235
443
839
436
317
540
928
237
809
206
219
817
572
463
345
271
229
226
535
547
625
525
564
239
336
336
568
267
547
495
918
576
196
182
548
572
505
270
482
449
548
784
702
640
715
546
403
178
224
394
740
189
480
464
538
626
666
817
195
296
569
471
512
178
685
183
857
357
529
700
378
545
443
327
295
561
366
657
543
167
216
214
773
720
344
200
173
174
811
838
604
447
628
365
698
481
823
794
541
507
761
442
725
512
557
436
475
957
533
326
528
505
458
944
646
372
590
300
293
208
299
396
277
598
232
326
589
638
410
172
623
295
341
762
639
199
383
178
266
746
425
392
750
575
923
768
491
444
235
163
163
264
715
281
494
668
541
734
691
421
376
573
808
841
783
497
684
546
385
540
604
557
372
471
368
809
200
272
581
394
299
286
381
755
633
191
463
575
611
258
547
212
238
172
500
743
518
294
176
897
223
337
641
469
556
638
507
606
196
545
487
308
678
640
311
527
345
314
407
397
491
277
568
378
226
492
699
465
586
502
249
292
213
875
471
342
558
330
162
213
525
406
280
653
789
204
552
572
703
317
333
403
422
463
537
850
409
339
529
510
582
453
296
615
322
435
236
699
333
620
295
534
412
577
254
460
457
481
359
688
406
627
300
771
209
394
480
662
280
310
381
383
578
246
730
843
844
816
577
439
179
298
564
351
367
749
622
742
620
178
266
337
724
367
626
573
268
407
190
835
200
286
437
407
706
827
495
347
334
818
545
410
435
244
695
668
303
340
251
659
453
466
181
237
392
776
284
501
544
605
472
284
408
287
353
470
289
172
497
520
822
359
455
272
639
665
334
397
273
603
298
577
187
232
622
507
326
957
835
380
618
306
447
320
819
244
518
390
232
921
835
373
204
856
304
264
343
757
306
590
606
649
289
692
661
251
455
482
371
195
418
543
518
524
380
176
534
398
460
427
472
196
355
825
325
203
613
744
506
463
169
210
394
508
322
924
447
407
695
550
890
467
306
898
395
167
518
461
306
627
600
274
387
298
247
411
441
293
204
298
726
659
472
547
588
459
898
827
361
681
836
265
374
834
814
750
382
239
391
455
716
397
584
520
451
286
365
347
539
520
401
604
197
689
579
767
930
198
699
249
569
201
361
456
226
421
253
605
321
381
244
430
515
706
398
568
667
555
679
513
339
493
428
276
351
361
784
800
310
516
305
234
276
242
188
271
192
445
174
376
286
415
307
195
399
780
871
701
428
302
182
163
319
778
464
650
409
183
270
642
204
683
692
287
557
725
492
519
230
588
520
817
246
547
506
266
210
263
402
594
331
320
573
541
267
357
208
714
636
350
165
680
255
590
323
357
195
653
232
428
377
442
589
410
754
992
198
229
667
525
882
355
372
212
608
579
194
465
826
246
730
924
658
217
206
179
367
247
458
689
215
788
341
366
928
192
551
522
209
637
607
199
410
643
606
342
525
577
233
615
362
625
392
457
204
713
517
972
263
304
198
287
289
408
332
459
422
231
297
737
361
262
615
763
756
160
290
176
558
562
634
203
164
448
574
256
802
782
424
657
345
397
838
383
834
482
341
621
514
473
227
486
287
636
835
279
526
166
740
218
273
216
474
434
282
641
807
240
296
439
181
499
238
263
314
417
426
333
508
320
508
429
869
540
286
382
561
503
482
758
163
759
585
449
714
240
393
348
667
474
428
755
545
642
413
659
186
261
177
513
851
288
827
243
349
767
198
337
357
692
756
415
585
625
563
848
187
807
203
245
628
834
418
476
302
343
260
334
268
919
567
256
509
430
895
419
164
510
395
943
607
318
496
535
673
432
417
718
677
755
239
339
881
186
530
406
175
211
321
653
389
162
311
346
703
320
750
236
304
869
930
518
361
761
811
437
699
662
281
460
218
287
636
529
378
328
267
273
629
544
719
377
272
556
832
471
305
541
216
692
194
205
312
217
441
293
394
889
170
237
504
611
260
623
460
749
293
550
671
948
339
427
198
196
180
522
168
190
842
163
586
967
484
863
422
641
437
215
355
260
827
454
213
254
811
244
675
254
483
343
389
508
914
519
277
248
434
286
368
540
202
568
584
177
655
645
160
357
423
290
738
672
589
653
564
643
600
844
338
315
383
450
716
637
430
764
343
820
589
408
414
379
300
458
627
838
220
787
653
805
186
410
172
809
235
172
831
589
596
230
576
262
527
655
426
768
342
691
225
442
294
220
545
459
952
353
565
471
457
764
521
761
194
279
215
179
605
293
327
294
344
607
773
394
245
386
546
763
403
196
553
541
508
361
605
398
259
577
804
193
312
641
600
494
563
196
590
452
180
160
696
331
799
262
672
774
876
233
371
196
674
411
649
572
347
517
200
453
346
176
658
458
729
822
369
631
464
505
226
438
463
597
438
350
228
533
278
509
396
829
845
434
162
687
526
197
539
239
341
597
662
425
346
478
787
730
300
259
641
322
513
887
860
532
930
502
286
353
370
208
469
567
532
643
551
262
191
470
249
340
536
621
828
772
382
621
237
672
582
384
590
573
178
414
488
657
869
696
639
746
733
706
337
221
371
829
370
324
455
428
537
393
289
255
638
206
287
214
649
672
537
277
599
700
730
688
721
319
392
555
388
428
728
205
953
345
295
740
631
259
656
510
328
262
614
251
753
437
444
284
759
205
174
219
203
340
300
607
722
385
376
923
411
832
200
572
528
285
441
271
345
835
243
470
538
508
535
177
735
399
449
670
196
514
500
520
281
395
248
468
373
884
276
577
652
367
917
700
589
472
654
426
602
286
632
339
302
691
362
187
706
310
802
472
503
632
407
173
581
661
623
365
343
804
464
276
582
656
523
321
524
400
938
217
166
258
198
797
764
305
764
189
891
456
750
567
369
594
756
559
575
249
921
776
344
200
414
827
692
749
544
185
258
244
801
209
427
216
244
375
700
603
368
206
425
354
458
258
615
569
704
642
248
419
339
519
556
281
473
176
436
835
511
504
794
366
579
386
689
469
653
234
217
307
762
351
241
830
253
409
454
768
391
860
659
165
841
321
784
587
189
312
173
234
217
818
764
587
768
457
550
714
693
574
513
361
566
921
535
230
536
833
693
699
492
356
352
368
198
746
714
807
612
301
499
704
447
566
929
480
452
312
570
296
718
572
240
317
574
412
493
912
681
305
386
412
715
439
274
308
483
470
338
235
337
404
855
298
331
476
177
781
368
247
252
496
583
671
590
205
699
466
608
203
287
429
353
382
245
656
270
436
406
428
237
543
217
642
743
198
312
459
231
202
812
447
902
921
370
314
626
334
705
710
448
354
342
528
772
782
763
364
453
457
511
547
163
212
511
288
561
467
556
573
701
761
479
429
182
455
862
245
197
282
595
702
479
301
216
230
642
456
306
473
674
678
931
507
459
209
384
513
313
239
836
558
691
219
445
237
619
440
775
566
608
205
259
242
778
293
544
439
502
584
277
456
307
857
264
813
504
515
807
541
283
412
369
179
401
596
799
294
777
327
540
281
636
530
504
460
261
296
446
447
346
421
232
180
575
397
520
531
458
248
698
326
264
800
825
610
391
196
649
222
783
487
164
662
169
598
470
864
310
395
316
591
410
199
368
232
464
373
277
376
239
269
600
251
230
433
658
463
675
379
445
210
971
759
881
629
231
276
557
228
381
276
297
651
601
744
412
301
411
543
181
440
221
572
272
293
577
267
238
192
269
696
613
188
518
445
297
275
162
884
423
600
476
698
220
283
475
551
702
648
535
451
297
699
361
371
419
176
570
479
411
298
398
419
712
689
185
349
581
242
401
324
801
479
232
369
472
810
342
449
447
633
835
946
198
282
394
446
665
573
506
763
415
256
315
540
230
419
662
484
583
657
695
399
621
612
301
461
328
586
198
602
272
432
674
805
461
468
732
527
446
777
653
773
421
603
807
253
223
563
838
504
368
218
470
718
446
332
490
535
729
784
923
538
694
615
287
633
490
566
482
677
742
756
773
629
583
259
493
691
181
431
235
543
304
872
172
383
544
370
625
409
396
476
671
294
762
513
712
554
552
730
474
592
284
657
406
177
569
465
451
895
691
650
318
248
609
543
587
897
449
452
301
353
376
407
411
288
720
224
233
766
183
279
187
248
545
520
174
649
193
333
535
491
481
483
762
175
391
271
631
492
201
424
751
612
512
636
703
444
621
316
222
531
650
643
165
716
430
239
348
810
360
455
564
479
818
416
175
411
452
335
317
366
506
296
271
265
175
305
195
811
631
315
546
526
202
275
364
848
312
211
488
717
818
569
243
514
645
597
434
732
829
730
881
953
626
279
712
424
316
724
241
348
189
266
519
612
496
242
260
619
455
314
361
327
463
160
410
706
843
193
237
624
343
324
554
955
565
450
663
293
309
340
206
633
568
797
584
442
199
280
528
219
502
707
464
603
160
178
633
456
681
481
204
481
569
537
524
587
475
778
867
221
399
245
953
560
341
387
493
555
229
566
648
429
423
588
163
284
505
682
193
917
249
667
642
281
547
313
663
358
386
194
621
185
534
468
449
570
625
499
336
216
577
750
446
243
162
617
750
473
253
581
270
580
870
353
552
313
442
483
788
428
422
562
759
407
267
262
449
205
172
896
476
471
375
192
277
424
315
329
470
667
403
588
424
198
618
327
622
231
501
527
639
373
800
246
598
567
307
198
504
324
403
457
532
421
591
897
434
608
768
841
185
540
261
496
439
466
345
512
317
546
234
285
309
258
199
339
824
578
497
553
866
432
170
237
326
317
267
194
698
452
333
462
843
844
170
720
322
795
224
466
516
335
354
827
340
438
689
408
755
457
566
161
537
231
726
556
406
399
648
231
713
235
333
478
332
372
568
701
473
331
279
805
541
640
366
741
204
170
484
438
331
324
269
477
211
561
680
606
508
532
320
482
288
581
289
656
621
463
426
471
524
264
794
201
784
524
460
279
241
382
177
947
335
544
562
408
191
649
408
881
637
414
369
583
378
478
247
190
494
724
682
523
511
291
341
335
418
282
687
350
555
287
433
380
335
721
857
389
719
346
224
466
196
371
245
433
722
711
628
506
399
170
200
846
773
486
636
465
441
433
488
172
435
425
582
557
189
472
332
368
802
400
427
533
251
590
484
201
331
460
727
375
557
909
654
479
173
205
295
225
371
508
290
670
501
716
751
169
234
370
679
431
261
597
307
178
276
231
229
893
436
567
870
525
313
166
652
814
644
683
289
523
631
333
833
836
171
898
805
256
460
220
447
354
657
591
197
380
416
225
588
584
793
316
271
257
719
486
400
461
698
423
475
635
465
396
739
372
705
358
816
683
512
191
548
259
284
991
420
433
806
429
351
298
299
762
188
210
495
297
596
769
382
258
779
221
189
392
564
383
447
274
848
796
168
613
251
537
236
513
189
528
761
311
356
692
644
826
632
298
719
295
340
542
696
300
320
762
257
753
939
417
689
509
209
417
175
162
674
468
369
574
683
409
473
234
629
530
362
478
535
191
386
292
790
596
171
169
311
523
531
723
632
332
244
646
909
726
542
280
181
637
653
654
430
588
294
569
497
405
424
339
233
347
328
480
777
323
563
790
633
362
461
331
318
396
306
593
822
559
240
330
267
384
213
370
288
922
746
644
537
274
190
538
176
789
252
856
800
357
504
633
420
711
700
838
346
763
430
222
475
194
402
559
457
555
734
598
747
831
453
585
213
728
353
202
372
558
565
379
341
610
511
164
842
170
266
694
773
789
696
461
864
347
270
677
304
670
297
851
367
361
207
265
474
364
237
203
359
348
726
345
755
337
478
381
367
743
430
324
417
455
653
637
218
417
260
347
510
650
327
550
383
352
574
658
564
390
599
822
334
178
638
190
789
563
522
304
600
799
319
288
611
793
226
851
953
508
753
430
287
684
948
294
705
598
612
598
676
402
384
497
361
413
418
297
551
878
308
433
189
415
260
529
288
733
404
510
561
199
763
648
468
512
328
342
645
461
437
523
179
421
418
564
417
223
370
312
359
519
314
524
805
184
621
844
168
485
233
583
255
926
186
768
571
690
342
570
575
590
410
456
269
479
567
506
234
677
507
895
309
816
479
516
416
187
637
639
398
429
494
734
284
477
398
291
543
526
396
470
223
539
507
322
550
257
532
333
303
754
659
732
437
401
398
368
359
590
213
407
333
780
722
766
507
788
413
442
341
274
714
579
345
482
501
581
872
166
616
512
681
282
466
172
791
201
633
813
618
160
735
633
676
348
229
495
473
366
341
439
620
321
301
385
603
764
298
801
502
520
615
298
555
278
238
542
561
224
418
278
166
920
608
684
363
421
421
246
302
617
814
664
328
198
569
344
582
357
356
386
238
264
613
473
399
222
451
472
542
667
798
406
365
545
318
673
193
186
658
201
741
221
785
536
684
611
681
312
222
740
255
335
355
550
298
423
417
318
277
875
853
453
517
559
322
544
317
364
484
191
865
508
200
323
342
270
582
732
758
464
804
362
877
793
309
468
302
342
714
393
218
848
170
414
218
328
175
169
524
161
300
751
748
227
721
695
515
810
367
597
206
264
681
486
693
188
216
515
350
711
653
769
627
398
402
678
175
516
282
298
410
387
356
274
524
642
260
347
664
224
256
868
719
305
524
384
444
265
256
290
663
305
432
672
272
161
260
517
625
813
389
190
649
656
496
662
284
850
258
572
224
859
407
520
799
837
370
795
718
657
198
205
594
756
613
336
597
337
700
920
393
790
269
573
203
166
574
367
335
407
471
535
682
203
651
892
166
582
672
166
599
568
351
187
280
617
560
367
516
458
471
693
420
401
781
555
458
269
378
660
755
422
267
277
337
780
411
924
634
173
724
605
186
171
171
178
394
588
420
393
328
663
354
409
658
516
247
374
574
514
255
761
808
820
827
260
281
676
786
485
365
714
392
254
310
432
223
225
283
262
315
599
318
179
348
226
554
413
576
684
879
449
590
228
630
508
396
894
755
335
382
949
487
431
223
378
498
212
423
345
797
480
518
300
550
350
386
609
603
355
467
208
317
177
849
377
184
230
666
327
470
807
645
373
186
315
747
293
709
208
894
528
256
607
763
514
532
290
730
290
930
340
684
291
329
683
404
394
822
865
530
430
782
416
245
674
684
665
272
755
202
607
902
498
263
518
484
381
732
606
303
216
278
807
626
907
182
420
411
633
526
812
306
398
395
804
561
363
502
242
451
328
782
533
618
683
203
199
246
606
261
633
581
276
482
577
292
326
215
433
466
728
722
466
406
541
452
531
886
196
867
256
649
171
412
518
169
580
729
836
704
289
421
319
252
180
576
181
857
361
236
532
355
340
184
704
186
331
207
311
334
350
903
619
187
652
495
481
754
462
556
466
168
671
440
876
202
402
720
509
478
480
824
544
566
238
402
202
303
344
294
262
318
426
772
466
458
695
434
612
333
574
541
251
459
178
346
692
645
608
241
646
731
674
890
246
559
401
286
829
308
492
290
872
764
224
497
186
665
635
231
239
517
484
317
439
632
301
240
914
179
842
270
211
550
385
428
564
307
698
320
160
818
600
253
215
760
575
735
386
446
573
545
730
408
588
523
480
834
499
556
660
609
204
178
428
371
870
649
617
534
559
537
418
469
760
511
642
401
812
217
227
845
831
669
872
417
510
863
466
183
255
548
820
343
373
166
234
281
768
317
510
720
793
823
542
388
648
279
887
412
163
877
575
393
848
345
162
211
811
624
356
818
801
462
544
472
430
354
315
435
755
280
391
598
272
551
866
419
403
898
267
559
408
597
784
258
272
720
546
181
399
302
300
856
679
828
425
499
678
417
358
335
472
219
774
204
554
475
421
460
772
300
850
235
577
211
817
421
505
376
418
698
535
672
397
206
533
896
864
550
317
491
527
520
337
231
845
668
690
503
165
291
850
533
747
205
699
576
437
330
539
896
843
436
609
461
338
918
634
494
230
761
261
627
819
717
495
394
469
238
255
212
421
479
601
212
445
179
727
617
216
815
487
676
252
194
177
387
529
188
620
188
504
346
253
265
231
228
596
248
292
492
611
707
712
594
427
455
701
287
309
210
264
220
835
171
161
216
212
489
332
491
208
365
370
838
283
433
391
326
199
228
698
516
642
522
545
452
165
858
493
459
332
355
315
342
307
746
895
328
436
425
178
802
524
713
267
759
677
190
628
669
530
778
345
387
628
796
192
501
831
351
314
371
468
295
738
433
676
651
310
356
610
212
610
924
163
244
975
399
446
755
312
587
695
328
211
670
816
166
753
267
760
499
426
186
266
199
458
787
448
615
567
281
804
706
316
650
491
689
672
487
336
560
176
354
204
232
310
290
519
849
666
302
596
690
752
406
520
513
182
312
610
699
337
167
463
316
255
479
872
162
592
304
814
320
335
278
275
167
276
509
582
292
860
225
771
227
259
245
767
334
401
660
375
174
657
330
277
892
162
479
721
668
525
836
390
378
326
671
194
526
224
597
677
514
673
280
593
295
356
162
286
261
478
202
613
402
352
228
760
241
480
193
382
621
211
217
458
421
344
291
789
845
398
395
711
570
342
224
570
442
480
177
860
333
222
620
203
608
180
691
732
584
231
554
824
597
446
365
238
338
323
552
447
291
435
400
502
474
666
328
614
336
760
240
695
405
919
458
548
248
184
202
161
474
469
466
567
478
381
321
255
457
242
251
654
377
338
354
480
679
235
604
406
267
718
850
512
371
558
261
909
659
291
836
541
168
652
197
712
168
313
272
494
442
732
589
725
597
300
552
497
513
165
185
186
519
711
822
704
266
694
490
436
480
489
233
643
265
443
896
429
759
482
229
678
239
619
195
714
554
250
201
359
375
412
623
278
245
902
198
697
373
206
381
430
388
761
444
572
265
481
814
600
253
498
790
547
789
424
258
908
897
490
370
264
475
768
368
373
567
743
349
438
758
735
398
266
198
387
628
325
172
582
332
573
733
578
219
678
453
767
476
365
624
878
511
457
339
540
624
564
194
354
245
761
837
417
795
735
800
581
593
215
381
748
444
927
719
202
847
342
825
564
374
663
562
177
396
586
189
692
507
817
641
529
218
881
310
212
878
377
614
879
417
171
253
586
615
931
690
360
286
214
636
790
613
594
764
672
551
221
542
416
488
608
618
465
555
249
521
393
806
287
571
864
288
530
180
631
759
498
476
303
358
640
275
342
335
560
590
446
580
383
625
538
162
389
603
369
627
827
600
289
321
178
284
298
486
183
635
593
182
673
905
647
333
188
793
520
214
305
425
228
631
301
336
635
840
661
264
489
254
482
269
398
401
208
359
585
575
348
503
185
451
255
378
552
613
887
194
414
264
719
641
787
245
382
719
559
613
715
627
340
453
312
401
791
553
635
428
194
400
163
291
576
643
583
409
870
464
385
602
451
237
557
775
842
399
525
335
890
452
600
929
291
408
477
374
163
288
262
207
745
491
297
671
695
661
469
553
799
374
161
277
972
676
562
564
478
173
439
341
547
466
197
688
357
196
732
191
424
439
637
765
439
363
283
511
363
547
272
427
323
512
406
433
444
560
181
205
478
505
447
584
407
222
374
217
308
359
247
318
708
584
668
664
259
174
381
931
320
326
612
738
617
474
203
522
649
198
642
252
669
357
190
190
330
642
848
433
304
856
274
348
172
210
270
161
452
489
470
925
418
701
559
698
619
325
689
575
454
344
223
203
312
169
761
285
364
359
445
274
678
765
210
241
314
386
406
255
169
389
383
288
597
358
469
623
409
243
558
220
676
661
262
253
421
569
500
852
610
312
538
568
382
579
288
373
565
639
698
761
622
644
327
257
201
210
536
534
310
396
644
499
310
872
538
760
388
760
381
418
516
377
484
662
267
527
219
796
782
440
522
246
160
397
497
455
383
626
613
495
328
535
872
596
464
321
501
781
771
252
720
371
368
237
646
328
270
701
564
198
471
289
376
477
885
486
646
442
457
594
922
197
167
430
577
611
623
489
551
578
894
784
386
405
215
440
497
842
276
229
303
209
502
275
562
567
615
591
251
469
409
439
853
291
245
784
279
601
591
348
289
913
647
164
688
470
585
352
240
552
259
698
256
202
554
592
524
534
190
555
342
596
312
224
215
586
197
484
216
170
207
731
352
265
623
299
514
419
743
558
699
502
471
265
362
543
449
409
432
493
795
480
583
166
540
374
464
816
255
247
169
304
272
758
536
749
813
767
224
420
716
250
278
300
298
294
252
509
569
378
297
567
496
429
501
543
278
637
477
263
256
218
198
609
420
327
855
419
575
324
548
373
558
343
623
389
189
462
716
248
430
796
171
607
231
797
847
229
469
216
275
277
389
666
550
326
484
238
176
403
740
440
193
253
618
392
371
809
602
266
656
200
316
630
249
810
301
345
292
506
312
611
566
558
214
321
517
608
225
559
568
211
670
835
554
386
276
448
460
435
777
568
370
344
814
243
585
323
391
444
602
218
976
730
560
441
391
519
239
484
295
240
407
210
351
266
601
741
329
428
751
479
640
921
160
181
360
628
606
664
540
184
738
409
198
379
408
178
293
800
563
905
198
683
814
452
170
670
558
421
486
638
666
748
218
241
798
451
431
439
162
272
269
349
284
696
894
431
416
379
272
427
447
583
467
556
792
513
290
471
673
642
545
614
430
597
650
481
832
243
250
356
544
509
611
386
330
505
591
457
438
540
537
820
749
569
765
169
540
342
173
483
274
480
485
160
362
757
752
961
671
258
162
864
274
494
738
597
587
251
385
225
863
356
418
216
788
716
591
840
308
363
372
447
460
435
510
283
733
418
459
236
499
694
561
323
479
392
445
405
783
468
335
624
321
875
594
446
762
895
694
779
575
235
366
413
785
486
307
693
381
518
793
378
214
257
798
538
449
570
242
163
512
570
931
577
423
535
417
255
466
238
775
436
202
608
958
536
540
638
344
233
414
180
926
254
644
358
602
570
583
697
520
651
231
267
391
653
265
175
434
375
392
758
445
669
843
308
422
286
172
561
198
601
717
239
323
239
182
703
618
172
453
411
738
236
261
385
551
572
654
498
192
907
268
397
266
168
494
160
803
618
397
455
170
450
176
935
354
331
318
504
655
423
748
179
266
584
335
819
593
622
161
321
396
347
615
808
276
235
292
176
808
213
172
976
771
684
238
541
731
587
383
429
607
221
234
520
501
544
637
222
350
486
614
191
371
208
236
238
173
281
771
457
456
328
706
317
226
206
287
549
795
341
671
342
538
502
327
429
724
557
335
482
620
787
503
669
358
803
437
611
200
212
544
521
888
688
933
765
739
466
321
317
223
257
359
875
319
442
229
864
633
202
548
518
982
165
704
517
343
918
468
530
312
244
653
226
423
180
370
569
659
213
504
569
476
281
379
909
609
809
327
311
304
569
380
399
341
246
556
829
640
448
654
707
584
916
809
425
541
161
523
245
395
768
388
222
591
594
496
389
700
565
647
596
515
555
272
494
161
854
392
419
587
639
175
635
318
503
861
293
509
218
233
569
292
325
432
237
528
823
394
168
177
243
471
173
393
779
176
816
978
594
519
841
450
486
474
321
225
679
360
368
307
290
437
225
207
435
692
622
412
371
439
434
314
819
340
172
474
189
341
696
623
482
175
175
224
476
420
436
235
582
321
209
529
325
160
762
733
820
521
336
553
348
260
480
163
422
259
524
276
529
737
302
351
404
810
479
689
875
320
761
326
555
368
218
956
507
406
717
853
578
511
185
529
214
387
370
616
195
329
425
632
599
457
825
701
417
303
672
542
273
212
662
432
251
397
758
766
861
825
199
285
590
267
802
198
613
212
508
298
331
781
709
312
161
320
518
170
707
529
769
369
403
267
406
429
708
362
269
239
383
317
387
219
887
636
512
872
518
203
832
645
238
494
255
671
254
765
181
237
180
288
605
780
182
428
812
670
705
304
753
268
552
360
606
688
244
621
289
297
643
493
215
413
295
500
260
197
580
563
257
700
410
716
508
448
441
269
461
246
451
680
289
295
899
227
409
466
303
161
786
173
459
754
335
223
251
679
264
282
210
648
711
347
674
280
330
301
641
633
618
484
667
485
616
673
182
981
360
534
225
882
200
411
233
211
290
462
577
259
312
529
594
722
639
609
349
372
355
186
436
339
222
315
178
568
823
232
449
831
545
201
349
255
301
480
211
769
236
542
366
800
237
301
523
398
228
210
821
349
830
209
518
696
480
671
292
361
331
252
308
777
217
908
667
183
165
503
206
697
266
182
508
396
498
466
323
460
254
624
278
208
337
429
427
712
677
208
204
543
484
396
183
799
333
259
680
768
588
464
382
700
797
798
640
160
206
385
886
621
646
361
707
347
846
543
369
383
493
232
177
359
210
843
171
700
469
450
461
547
565
572
274
450
495
660
749
211
358
395
770
420
717
319
338
209
217
712
871
183
619
185
675
890
672
629
621
657
550
346
870
594
219
388
411
284
189
324
719
539
359
223
426
348
234
794
259
229
555
488
307
517
407
377
807
588
369
747
217
637
598
328
518
628
471
669
591
339
418
594
785
931
844
250
258
384
498
811
300
663
430
516
741
268
172
259
331
940
257
360
329
437
440
677
786
722
250
329
237
367
554
237
800
841
315
460
376
308
421
308
406
484
196
746
872
229
688
630
248
683
515
719
608
392
417
774
205
694
439
864
623
308
183
349
377
546
353
626
240
413
461
301
412
445
381
545
487
266
340
374
787
223
266
307
222
389
224
208
611
577
362
514
588
222
799
855
560
694
926
493
301
390
656
340
203
206
295
327
335
695
512
239
611
286
889
594
274
468
387
585
272
391
429
454
544
389
798
492
165
387
176
583
415
521
707
592
720
231
305
729
452
258
506
193
834
426
362
528
443
209
552
671
631
560
358
220
911
379
565
618
939
384
365
235
613
376
234
346
253
380
339
393
531
188
792
553
721
368
444
517
570
737
435
216
614
651
778
238
229
809
164
604
251
337
336
490
700
760
534
799
760
534
290
942
742
204
619
882
245
164
523
210
588
591
380
529
740
773
308
291
696
856
586
169
466
201
509
362
358
858
570
326
756
439
289
493
423
569
349
351
278
474
282
822
202
577
458
216
702
884
476
525
219
836
542
402
620
411
450
421
831
791
261
180
535
576
318
198
563
171
432
728
609
426
171
286
750
724
620
699
474
519
437
534
522
337
175
256
332
317
317
212
244
395
237
205
346
416
407
437
344
324
184
841
886
836
285
385
653
394
461
500
541
243
568
625
254
263
231
302
527
766
672
769
339
256
332
281
712
165
704
705
549
805
221
348
510
226
565
582
838
751
166
592
276
390
351
544
546
526
831
231
320
421
295
975
303
316
419
400
334
713
170
835
198
423
456
193
434
213
915
524
320
750
359
329
186
178
248
317
569
784
472
701
349
409
198
674
409
543
503
654
710
348
250
410
404
804
491
489
606
323
212
633
825
225
413
308
512
340
295
293
256
740
738
355
455
333
674
567
687
416
500
410
602
213
512
528
704
611
392
539
482
329
725
939
247
333
757
653
776
459
581
412
454
563
218
620
450
173
257
705
788
515
404
725
216
734
679
339
289
198
205
367
255
198
602
607
227
709
237
463
324
527
827
443
891
750
862
339
290
407
249
482
295
432
419
509
378
802
414
803
166
626
546
685
432
459
461
293
666
606
168
489
235
542
700
591
721
180
344
220
271
411
307
375
381
735
208
267
727
595
333
986
737
780
622
481
526
267
622
559
695
617
812
265
845
768
581
213
751
601
556
228
290
223
508
728
557
433
673
563
328
742
704
355
415
740
677
504
559
324
691
380
299
528
482
338
572
193
944
563
191
727
796
735
672
602
393
243
815
284
659
485
768
905
288
355
608
507
808
351
685
472
493
168
738
408
396
183
913
443
621
296
180
585
449
315
576
312
409
402
450
709
178
217
862
447
196
649
459
447
264
185
852
372
315
685
442
568
389
659
476
501
582
340
595
188
727
537
543
315
565
683
639
405
701
326
261
340
561
577
649
205
583
241
388
934
344
433
270
697
655
358
447
665
303
209
512
295
445
423
298
565
527
391
233
939
378
385
825
841
898
374
192
432
816
260
297
371
887
496
231
394
210
549
513
679
590
450
236
504
615
679
471
692
196
668
264
567
203
373
378
857
395
269
736
298
825
714
399
427
736
521
458
834
674
431
651
522
178
293
311
462
672
224
559
353
522
354
388
201
289
671
627
318
291
505
880
248
456
302
473
524
174
422
321
387
218
565
397
739
452
763
920
287
445
337
720
625
236
423
863
202
204
778
338
203
688
807
471
842
461
838
313
345
441
334
596
536
688
491
283
944
529
515
256
913
602
386
513
353
506
692
235
237
673
238
456
216
163
164
201
534
263
710
600
431
789
292
390
182
200
448
195
242
848
260
226
858
313
535
588
751
852
272
183
923
631
906
425
439
316
250
163
703
505
448
716
418
767
191
704
761
546
726
903
317
415
489
443
161
441
578
346
338
452
222
527
442
789
177
588
306
579
951
418
396
420
176
851
473
636
556
517
325
348
660
483
296
347
521
833
191
359
200
728
323
610
480
656
777
601
567
424
652
589
784
395
688
278
334
243
445
445
422
719
363
644
251
347
588
254
446
584
421
288
823
900
374
715
321
712
325
340
570
876
501
434
604
362
212
843
858
836
236
434
389
540
305
276
599
727
881
423
408
295
631
660
816
185
463
612
749
523
306
783
514
423
199
196
285
824
190
395
547
184
822
862
231
601
227
583
859
667
247
680
272
299
266
471
871
242
654
454
654
173
506
258
451
628
225
880
762
372
488
229
658
257
472
509
162
753
210
705
450
257
216
880
552
749
631
471
274
385
702
591
527
688
304
761
641
331
316
505
437
730
537
269
371
671
271
898
200
646
762
281
659
218
738
282
197
709
506
291
950
370
365
309
525
378
254
480
347
375
172
763
538
221
850
380
173
928
231
179
428
239
544
629
510
273
457
400
224
239
274
523
260
328
622
173
902
359
663
802
304
332
453
851
591
201
459
817
322
470
582
460
353
337
446
798
524
776
661
686
616
640
884
326
659
414
301
314
254
399
407
657
680
564
431
588
341
195
471
202
217
425
616
279
314
500
846
317
845
331
341
622
297
374
613
804
289
268
332
433
453
739
869
348
305
784
658
214
501
962
325
539
407
244
358
313
301
789
378
556
594
395
265
281
782
221
486
431
747
556
840
483
489
394
340
192
634
615
482
871
505
636
578
407
419
597
499
557
189
534
668
313
493
288
593
365
325
739
696
461
822
210
289
374
497
395
792
679
290
227
366
498
511
270
860
868
617
669
745
579
184
162
393
458
334
749
831
525
209
788
609
695
166
239
298
383
640
442
878
263
625
263
853
511
201
449
402
404
179
192
353
491
269
434
379
889
576
164
766
847
160
566
355
195
323
431
818
664
308
293
180
600
423
747
271
303
573
358
574
723
630
469
270
328
641
228
869
550
444
178
295
517
483
358
231
646
256
385
534
333
431
243
174
606
429
652
844
235
203
187
725
304
480
299
355
319
573
268
340
690
856
616
162
565
653
659
206
555
434
412
868
486
386
641
199
284
562
814
483
189
495
607
756
399
694
203
657
288
662
619
382
494
356
587
593
423
675
549
357
944
823
624
596
239
202
224
380
727
741
336
453
572
518
509
753
358
299
721
252
619
615
678
514
490
265
672
737
388
181
486
455
187
225
533
299
514
341
767
288
455
728
352
312
674
358
333
672
821
562
195
813
406
279
481
411
202
727
656
487
285
654
605
646
449
611
168
741
596
568
428
699
362
561
624
778
661
223
309
187
585
420
624
295
743
561
407
324
295
848
655
266
421
663
824
315
221
900
926
695
282
761
621
943
706
361
354
258
776
546
788
396
395
850
309
541
490
397
610
575
506
530
518
552
535
668
369
612
491
180
414
346
523
499
418
259
623
368
299
164
553
405
469
599
223
921
289
802
674
816
608
287
717
378
650
979
347
164
465
424
726
396
863
518
729
287
216
821
616
172
693
238
607
373
301
204
392
189
740
778
289
448
374
248
413
290
915
568
367
448
320
371
268
366
593
287
508
593
852
497
469
593
842
281
203
605
504
444
687
503
333
526
186
555
748
588
552
623
335
288
359
689
330
698
198
406
659
544
394
734
749
228
205
781
349
397
509
631
553
371
745
643
551
294
850
545
455
249
619
549
536
684
389
331
627
737
761
475
810
294
350
249
502
395
525
583
269
613
722
708
709
679
394
309
910
539
714
550
312
304
162
160
314
517
319
269
277
356
697
581
394
771
559
202
711
527
618
224
549
843
468
595
843
605
499
670
725
448
345
264
512
401
181
667
253
527
644
175
485
288
476
795
514
299
856
750
351
470
469
504
325
371
505
209
921
369
207
556
262
214
323
760
269
357
228
557
390
568
183
786
562
398
835
619
627
727
641
312
465
230
169
363
829
404
279
359
272
264
532
729
653
756
745
598
458
467
432
896
439
459
791
677
344
692
617
428
414
255
202
240
176
287
270
320
721
723
301
261
474
852
831
499
172
426
700
543
447
666
839
571
490
311
422
842
693
821
282
223
241
379
521
315
240
542
554
389
269
379
352
553
452
233
253
177
362
639
161
716
273
186
469
609
678
369
628
452
247
467
409
440
418
444
560
575
550
214
408
656
725
773
378
963
445
737
315
423
164
429
466
222
385
291
337
362
612
182
351
276
199
168
296
243
553
235
172
417
553
278
571
291
756
169
566
600
330
581
242
187
325
543
799
296
430
605
297
397
253
204
666
481
660
374
661
442
704
199
455
576
460
458
390
492
558
349
160
744
468
571
529
630
476
508
379
737
422
178
572
330
161
240
265
297
191
221
308
828
290
295
377
412
190
163
383
418
438
465
196
608
321
559
329
624
579
360
643
213
213
468
449
373
292
546
767
842
418
589
496
162
201
707
972
532
752
730
182
202
201
205
429
669
605
403
275
751
271
390
359
374
180
511
244
403
335
390
374
456
211
536
566
817
674
188
509
520
257
500
341
183
209
546
293
203
254
353
331
451
174
404
175
539
756
636
641
301
417
572
358
614
643
579
773
695
256
341
625
290
410
325
172
327
294
727
904
505
312
174
195
387
235
517
580
359
271
714
608
227
728
457
501
565
307
369
674
407
277
638
341
431
255
417
411
797
463
727
798
421
412
939
480
418
318
253
163
273
424
900
392
161
905
202
363
528
222
808
244
342
841
364
475
345
512
345
485
414
687
421
237
273
187
706
740
317
737
758
181
603
306
708
711
423
366
547
808
255
632
423
169
665
452
316
956
398
360
608
226
257
212
716
176
411
476
269
179
194
609
184
417
376
648
181
767
239
538
790
428
241
450
847
656
542
392
402
392
740
679
416
433
604
160
455
390
518
312
505
245
219
330
429
746
385
436
373
160
770
595
551
251
494
578
829
193
169
296
631
187
883
416
160
165
252
513
274
502
465
944
521
550
323
212
458
351
422
781
578
169
456
703
642
588
336
240
298
639
365
380
242
624
850
640
229
434
473
820
449
665
687
186
714
495
526
215
233
413
723
505
517
310
421
406
656
350
669
673
413
528
707
345
433
829
900
766
400
181
617
772
414
389
269
912
714
657
266
162
371
530
575
671
506
337
283
730
818
259
887
314
695
294
440
379
663
474
271
161
402
347
433
736
287
415
464
282
536
670
547
320
330
877
774
319
190
516
542
193
493
699
247
403
546
242
648
472
241
519
324
607
470
647
216
559
859
611
217
439
241
699
636
342
631
182
810
806
684
494
584
726
761
506
798
242
282
679
240
826
614
195
747
723
732
402
230
263
626
360
467
249
352
184
308
689
831
387
590
675
469
292
456
395
407
459
433
918
609
418
312
600
523
524
172
456
452
855
722
658
496
698
353
649
304
227
521
277
224
368
190
506
412
302
164
755
454
621
553
437
323
265
582
827
389
559
677
771
743
466
476
160
176
704
576
267
625
588
241
376
605
717
681
464
837
280
598
183
394
670
347
592
396
405
282
411
378
657
258
369
265
424
637
448
604
523
190
662
335
756
417
302
644
277
409
203
252
262
429
339
213
509
414
535
459
281
606
387
646
589
298
446
480
822
229
600
271
590
206
556
619
455
600
186
449
472
184
891
314
562
349
627
297
334
817
393
824
629
385
364
825
276
735
635
225
389
591
172
531
665
719
931
753
463
392
637
250
183
411
548
666
538
713
303
734
202
313
564
663
276
371
550
441
213
417
800
644
296
402
711
297
449
166
561
186
668
194
170
597
165
593
600
229
176
296
221
312
335
602
727
706
652
211
455
179
740
969
213
309
443
562
915
199
288
418
365
527
383
511
883
339
305
552
657
238
568
517
289
170
324
363
374
352
422
259
308
163
718
373
296
651
764
391
320
672
376
698
269
234
160
260
299
665
193
162
547
176
201
249
501
426
572
526
415
257
655
217
360
334
325
323
544
620
422
808
436
588
240
228
295
348
683
161
815
352
724
292
329
168
904
488
434
636
269
342
399
532
586
399
641
284
507
239
480
439
310
722
216
553
313
501
296
769
392
479
896
499
326
543
243
541
165
708
381
440
187
530
721
317
565
657
194
285
602
395
516
467
319
264
179
466
781
369
208
799
364
371
480
670
245
398
584
234
744
385
570
260
600
198
532
491
255
262
314
208
216
201
914
479
451
732
168
258
187
535
448
296
257
242
466
243
586
371
451
525
527
614
704
599
340
874
431
801
521
492
203
888
298
383
582
242
448
373
910
333
199
195
532
462
772
650
215
440
192
168
683
289
331
230
712
522
187
417
474
531
396
627
311
207
166
573
280
476
681
300
616
533
338
277
551
399
320
650
393
191
366
238
583
377
417
826
739
526
489
565
362
566
239
481
163
780
576
552
547
440
664
181
204
217
465
215
230
520
275
342
374
689
330
374
343
446
487
351
366
518
572
298
474
539
212
268
546
332
490
608
576
448
310
480
254
609
341
232
369
448
713
677
314
220
190
161
227
248
687
525
454
235
547
201
773
582
404
467
313
638
213
360
326
680
283
422
284
638
425
689
648
189
793
423
405
401
344
540
297
220
167
673
452
397
206
648
655
234
737
778
175
495
366
838
397
307
275
222
256
437
641
723
708
387
638
320
662
275
213
481
870
708
277
460
391
207
544
457
587
548
211
357
395
687
183
388
261
342
848
817
342
450
224
542
455
445
298
832
799
425
589
696
560
624
254
806
265
423
386
526
327
360
578
200
408
241
348
418
184
406
440
716
273
412
267
338
739
181
571
497
657
627
380
815
339
721
386
687
162
394
423
722
416
512
217
470
468
731
517
230
486
331
875
574
621
723
490
267
438
345
286
364
623
361
525
239
729
601
472
354
423
693
530
478
508
283
178
616
359
699
307
273
437
274
964
696
708
743
230
689
608
161
448
386
636
590
448
502
655
600
647
695
427
706
417
183
518
237
684
675
571
160
401
876
442
473
188
404
577
752
465
795
416
705
281
733
347
220
595
593
802
741
297
374
532
207
570
409
479
262
649
454
499
381
468
370
224
766
413
571
703
202
381
360
322
300
801
182
522
324
407
245
283
556
353
195
180
539
421
826
320
370
748
582
824
435
188
652
451
691
464
507
442
236
651
606
235
745
531
571
930
907
637
635
832
645
459
515
216
350
556
387
465
384
814
437
354
259
201
805
191
806
305
389
438
227
278
401
229
664
296
523
427
638
515
290
224
274
923
331
474
469
660
180
682
719
953
269
555
393
444
650
740
407
846
898
402
223
378
162
734
302
733
229
559
324
308
647
507
204
698
427
435
458
325
541
496
509
590
448
433
320
277
561
862
637
844
739
267
218
324
431
278
842
597
560
767
435
179
564
416
213
917
867
654
908
371
841
321
422
232
174
183
160
265
439
274
306
395
516
402
786
303
723
483
634
923
255
604
292
550
651
216
315
281
569
412
592
294
336
580
542
229
192
344
185
928
584
370
422
312
517
414
445
248
516
344
185
665
396
380
324
230
420
271
855
269
406
515
224
811
580
659
272
228
667
474
733
427
320
285
252
656
721
463
186
209
479
825
835
407
310
427
617
465
908
772
265
204
214
586
744
225
492
359
697
402
388
395
351
444
744
405
507
388
724
351
343
603
467
781
335
225
408
187
261
297
188
251
652
477
206
800
564
653
451
620
893
977
619
663
365
585
779
433
431
823
501
629
643
911
851
692
644
602
244
654
271
550
485
472
164
884
312
953
506
251
258
523
248
207
308
452
161
331
430
703
773
511
413
648
170
654
344
534
736
702
843
808
389
334
248
728
574
801
168
263
364
259
566
311
216
476
423
850
237
771
748
685
227
426
318
575
553
209
674
675
256
347
339
769
877
414
734
262
237
378
648
399
310
351
419
876
499
626
491
164
483
517
569
533
295
697
235
406
631
280
239
551
405
319
245
531
177
177
617
943
244
385
381
436
809
160
534
501
635
661
842
781
357
265
465
216
246
284
210
470
480
707
261
548
661
369
362
512
803
204
260
218
255
781
600
200
897
244
569
330
727
222
829
458
217
327
243
249
490
471
927
164
524
806
494
767
596
231
482
246
405
286
471
587
780
290
319
346
313
420
336
697
859
227
386
464
588
790
328
751
459
212
564
300
317
262
556
428
570
530
533
716
828
405
745
720
275
592
234
479
551
447
506
541
216
877
408
522
178
321
353
771
909
222
383
263
633
294
780
382
504
203
229
840
303
272
406
555
464
812
397
482
331
465
397
394
266
396
297
344
188
201
553
852
251
346
279
347
579
281
329
638
391
366
585
657
198
423
753
796
189
904
745
174
354
420
324
472
207
358
548
706
831
406
624
432
300
623
218
587
543
437
715
889
201
160
360
497
458
381
342
364
722
341
309
553
318
663
385
416
317
526
308
384
742
424
414
342
616
279
228
211
276
676
383
312
362
724
265
519
898
554
788
621
180
601
653
695
581
911
722
197
841
687
386
847
834
481
482
658
369
527
883
484
848
364
381
383
177
561
282
268
191
221
199
235
537
712
231
462
535
380
200
189
169
584
708
220
503
246
374
442
449
883
808
260
294
246
350
455
397
287
458
339
537
318
266
427
455
398
185
462
271
199
672
549
676
470
927
577
215
632
484
283
212
525
215
333
336
601
640
443
496
595
528
249
309
512
577
182
638
760
504
166
666
801
236
800
380
215
487
659
797
874
337
306
285
323
873
431
420
189
627
873
377
583
224
368
160
646
305
282
411
697
877
215
891
455
838
637
234
753
465
774
207
691
757
588
756
227
194
815
752
463
614
622
165
619
167
411
637
700
819
904
588
555
485
809
240
246
275
706
201
174
324
548
303
525
224
243
354
302
492
254
341
638
318
745
170
969
280
430
170
827
383
695
595
312
554
783
234
291
194
743
526
790
584
760
556
399
386
215
219
547
633
460
891
651
476
606
659
242
849
336
168
888
464
572
194
419
257
729
386
200
509
646
606
163
366
635
632
516
690
275
213
380
387
775
506
786
539
384
689
602
525
319
536
320
562
747
367
694
479
486
515
344
785
593
204
677
447
363
345
353
416
251
377
728
545
775
408
178
230
549
179
437
164
299
693
541
671
589
370
422
362
247
246
284
535
634
283
802
194
623
364
759
405
306
655
452
275
410
520
933
867
284
191
249
338
395
378
715
494
310
280
861
728
494
835
427
587
898
867
728
673
240
800
213
312
204
799
420
445
479
450
445
501
174
313
815
651
196
241
652
806
341
649
323
431
652
925
586
420
487
501
558
408
894
230
758
801
414
761
217
823
594
400
469
523
448
635
223
450
815
708
588
371
618
571
166
401
587
476
265
274
220
691
515
402
489
474
302
668
359
735
783
764
188
762
590
256
731
256
232
401
852
429
522
558
569
273
404
479
758
794
778
334
263
666
879
546
561
797
560
205
837
836
856
471
425
900
185
534
729
448
677
373
409
419
546
536
512
265
523
704
303
846
408
830
394
174
182
397
511
541
312
790
538
361
852
222
286
261
706
470
445
714
737
464
678
274
750
564
250
415
483
213
399
656
947
218
384
226
174
174
424
188
502
445
449
900
332
433
365
541
286
576
254
654
488
196
297
324
783
558
704
901
409
636
181
491
509
384
432
363
566
258
332
339
339
628
938
292
194
186
229
367
718
650
687
217
745
189
711
646
361
483
635
238
263
533
229
487
472
422
167
362
706
479
284
405
468
334
481
228
277
770
542
190
605
525
456
659
405
352
437
778
262
428
644
626
721
858
353
721
264
798
319
451
836
199
229
197
369
165
565
286
610
252
749
457
675
903
619
835
171
175
354
439
897
479
205
549
268
469
194
745
231
349
453
517
957
908
916
263
329
599
731
673
759
495
473
362
514
353
557
917
425
439
177
759
316
556
178
237
222
477
492
207
351
799
244
233
457
409
209
162
779
393
475
309
403
769
689
791
607
227
527
319
238
370
614
446
331
698
294
264
747
449
343
443
222
886
884
555
243
527
274
285
396
449
248
221
227
411
404
617
686
860
694
214
619
431
169
304
166
572
181
334
225
676
351
432
528
400
902
804
228
196
379
384
232
462
232
706
328
619
571
533
580
547
749
408
826
500
294
210
555
216
326
756
267
991
402
173
587
190
435
455
173
449
446
618
428
165
311
408
471
364
215
439
590
181
247
583
254
650
287
261
173
918
806
380
168
635
733
342
352
627
339
292
381
557
820
176
648
437
789
478
270
237
540
366
255
530
855
648
963
298
791
642
377
434
246
383
299
610
212
385
886
271
510
177
423
176
243
544
424
318
413
764
629
713
457
906
475
779
421
719
290
544
341
808
778
294
555
552
677
381
201
344
461
713
915
320
379
613
214
655
822
348
269
342
510
689
179
683
440
265
507
782
276
373
160
237
605
370
333
671
295
830
323
696
334
462
318
183
801
437
348
212
898
726
669
560
441
639
539
249
387
379
420
282
297
345
406
835
364
230
170
850
555
667
254
271
558
165
239
378
244
335
803
387
787
523
328
976
730
461
179
240
580
677
223
708
568
655
309
499
261
561
186
339
213
626
210
334
378
472
183
442
591
453
734
519
897
570
207
210
231
170
226
180
630
380
328
665
604
295
721
413
290
230
509
687
577
634
299
389
205
650
741
824
405
604
462
581
296
371
291
277
473
414
352
707
349
746
777
194
621
164
622
379
237
375
249
571
275
804
891
434
523
666
229
917
258
405
452
355
610
374
248
400
667
318
359
748
589
569
199
197
533
355
387
289
600
754
657
279
739
372
326
615
216
303
285
411
528
452
652
559
577
643
385
419
543
828
506
737
446
428
388
751
836
574
231
285
314
549
378
583
403
295
848
274
540
484
191
210
976
520
243
556
273
554
756
815
293
608
595
223
516
211
215
919
350
211
383
400
233
169
730
699
356
235
232
583
605
513
305
559
355
223
770
464
688
292
177
565
231
436
275
266
645
577
292
751
190
318
784
430
379
618
713
343
163
682
257
270
219
726
662
427
203
390
413
680
287
362
778
581
752
634
760
216
643
188
277
470
856
661
472
329
831
662
787
555
329
853
209
163
502
439
560
438
581
169
176
798
756
763
373
310
580
941
730
343
446
236
352
401
356
631
470
176
324
605
528
170
260
816
787
864
382
254
845
222
319
340
314
649
162
501
487
370
581
698
437
816
295
355
279
502
758
603
431
664
452
442
408
448
666
854
799
399
173
204
212
161
277
543
480
240
187
538
534
748
561
306
655
384
448
297
369
285
234
208
783
494
552
749
594
186
371
281
406
228
329
469
737
501
764
165
341
233
352
171
782
297
359
273
316
522
493
876
442
518
374
588
584
507
249
386
629
500
337
623
414
750
272
371
550
688
539
207
710
634
461
488
576
400
788
321
659
309
493
780
787
384
673
418
454
285
388
682
619
797
670
704
567
703
165
568
327
448
235
643
838
658
712
880
356
620
706
298
338
866
580
508
941
729
324
742
554
918
314
430
184
333
794
304
262
195
198
765
634
307
496
843
423
502
284
228
889
541
527
416
651
188
231
519
625
801
491
525
730
505
463
849
685
722
291
304
648
250
177
757
545
306
705
630
626
243
486
773
213
587
463
639
366
333
413
306
428
466
273
766
363
494
898
430
269
469
803
219
272
628
273
851
764
224
212
254
299
444
161
356
735
289
422
223
317
265
409
324
672
514
493
267
450
576
421
296
440
318
747
535
740
855
734
305
682
321
417
239
815
649
548
702
828
459
395
586
226
759
415
285
313
223
285
520
390
656
326
569
204
472
853
251
302
519
499
770
417
186
317
161
388
332
409
521
174
173
579
586
274
444
369
320
494
419
762
290
738
617
713
281
310
793
181
920
348
358
695
169
659
389
518
285
481
897
203
229
326
771
442
675
674
664
319
692
628
230
470
488
592
454
460
187
178
426
521
515
883
365
307
536
514
506
161
440
538
348
445
481
794
500
417
320
509
190
170
529
183
746
718
483
249
165
592
586
448
493
351
725
248
571
457
421
585
668
464
419
632
293
635
310
554
658
292
507
572
495
297
550
314
831
456
584
191
586
721
434
234
315
493
367
233
547
475
333
177
239
271
683
519
573
214
271
722
282
260
346
377
202
179
388
610
417
528
184
454
298
700
531
251
379
289
336
253
317
215
588
296
756
512
181
343
346
508
390
443
324
508
292
638
287
609
795
352
232
815
280
897
722
247
200
804
206
433
395
709
719
203
191
849
238
357
283
231
423
380
692
419
599
200
454
340
306
571
385
383
560
341
604
566
677
587
482
506
644
255
534
510
236
503
243
262
703
336
209
627
489
385
513
378
345
274
414
649
328
281
549
502
374
367
455
287
588
285
900
508
764
865
433
217
566
180
578
922
827
683
700
594
564
316
423
336
612
448
354
167
231
392
394
332
368
703
538
559
696
227
294
450
258
643
563
327
754
644
887
337
511
640
507
848
760
284
430
497
196
695
493
731
682
728
558
396
453
376
538
621
877
623
448
728
579
421
485
585
274
286
888
163
443
394
901
479
332
773
841
796
277
684
212
213
473
861
304
211
579
531
438
921
482
559
780
341
271
163
250
490
261
568
392
441
445
936
747
550
623
291
762
393
710
435
711
375
696
296
879
196
179
246
229
182
324
737
370
712
224
410
819
538
781
219
437
658
646
651
754
639
586
580
224
333
548
690
595
354
628
436
217
516
284
526
226
655
175
300
268
174
401
206
717
626
705
381
447
191
819
230
621
890
568
161
308
198
618
487
526
446
888
345
319
652
242
557
293
497
794
195
724
626
454
479
197
489
294
517
162
636
179
286
379
285
247
377
430
445
531
475
297
347
325
592
550
862
397
391
372
239
771
479
432
592
610
516
419
779
182
392
803
160
405
465
648
295
817
352
785
622
323
350
205
586
488
295
740
316
351
360
660
678
317
487
285
405
413
671
523
789
263
586
773
560
663
342
216
323
345
842
389
629
428
344
296
690
749
837
220
803
392
660
861
542
401
622
524
552
688
368
340
689
855
635
829
660
216
176
424
811
278
536
698
488
238
887
378
346
293
501
346
787
185
496
311
213
520
465
460
243
182
265
576
255
450
290
677
774
313
540
942
522
644
707
309
255
344
362
174
183
683
640
267
902
354
490
684
557
734
371
465
190
217
778
773
352
451
570
336
269
393
521
445
180
290
827
539
405
774
321
574
462
341
829
227
779
405
366
211
296
266
830
186
359
682
196
555
397
543
221
525
370
314
240
747
208
623
801
338
588
287
423
626
518
420
856
555
712
210
180
652
325
866
550
603
838
253
250
540
678
856
547
868
767
468
477
696
529
730
286
273
271
229
260
667
378
615
276
387
824
195
172
865
330
669
266
264
566
648
739
236
805
485
522
194
950
696
262
303
723
553
364
733
249
419
640
326
513
435
883
548
655
793
263
423
503
199
368
336
205
491
319
382
612
352
224
505
595
379
655
895
405
759
242
232
358
649
606
210
908
246
747
462
785
233
563
201
670
731
418
496
357
544
267
318
213
619
536
184
693
506
336
629
191
614
459
385
613
695
323
328
271
733
652
675
367
361
567
625
238
763
429
851
373
770
194
694
680
461
816
452
436
914
384
743
217
296
419
212
480
507
377
340
785
199
642
859
698
746
323
340
306
661
647
493
777
561
228
497
577
635
283
528
275
434
483
325
379
824
911
477
800
236
776
898
589
418
228
742
295
318
478
292
297
681
329
418
209
610
504
215
276
871
644
407
373
475
297
734
437
798
232
685
732
183
586
402
186
696
585
311
204
193
724
315
241
822
497
336
431
348
325
761
302
788
630
626
260
540
226
375
323
609
600
805
203
262
580
610
786
829
472
461
833
394
544
394
279
430
379
576
320
573
392
616
765
197
680
335
177
895
414
326
562
674
354
186
733
241
716
642
280
183
761
610
371
173
777
848
871
547
648
679
858
299
510
490
257
459
890
937
324
472
358
784
301
767
554
554
601
927
345
319
684
414
462
254
547
654
695
209
279
331
563
350
467
861
823
391
644
265
707
796
395
775
225
815
723
428
247
713
652
617
178
481
509
686
646
483
181
926
731
439
471
771
346
177
322
529
163
365
476
797
497
524
672
187
297
695
712
431
317
284
218
284
219
190
323
308
339
247
314
499
550
846
523
299
724
513
624
791
787
473
792
612
245
337
732
485
639
388
569
711
639
293
469
511
408
352
252
670
777
884
183
598
624
487
244
461
365
347
683
630
178
482
307
584
172
432
614
241
557
833
694
811
241
621
905
441
648
172
193
713
894
700
401
716
504
185
243
331
313
318
627
278
594
755
503
167
201
925
356
314
354
522
331
175
553
648
217
484
328
472
625
343
654
292
449
962
569
662
237
370
932
644
244
459
650
506
660
508
339
670
776
482
275
607
165
658
419
640
891
299
416
171
319
863
576
837
200
707
172
794
573
268
578
368
537
583
390
848
511
579
828
453
186
304
612
242
332
190
440
208
686
178
395
501
316
437
371
184
179
409
245
631
703
202
526
265
274
431
297
189
723
168
188
160
203
405
633
231
759
163
376
364
940
477
570
331
507
609
879
344
519
490
185
532
265
697
414
306
197
657
556
584
438
258
845
208
677
188
298
588
625
283
435
506
282
385
257
798
223
630
506
275
898
392
303
311
611
541
546
264
675
446
541
171
631
651
820
640
910
532
342
720
356
170
401
227
812
175
324
686
341
573
604
245
237
323
598
447
421
830
371
409
233
445
659
572
527
637
537
296
338
313
236
657
303
763
213
385
646
388
457
391
272
588
519
518
179
577
194
641
933
642
334
481
468
654
202
636
486
543
658
289
601
672
321
871
250
264
491
753
626
165
792
765
288
437
546
483
613
504
667
393
390
219
246
225
256
293
742
180
199
169
461
328
903
496
633
441
166
422
203
710
380
608
907
539
253
409
368
460
291
258
360
645
239
849
509
789
359
767
461
193
591
758
637
687
781
577
875
713
412
270
746
225
321
324
287
703
344
220
314
393
232
269
326
569
268
180
563
593
640
332
233
271
280
784
186
586
756
856
576
423
214
614
564
388
460
735
236
754
804
422
455
704
784
336
312
525
396
219
635
236
374
689
391
650
448
800
541
683
804
486
176
480
867
735
745
546
238
274
731
161
677
439
205
339
378
532
804
185
216
681
386
459
618
298
334
482
441
362
268
209
717
524
361
711
322
580
456
384
260
716
575
219
168
335
286
854
208
839
377
377
455
632
296
449
802
262
809
250
170
206
398
618
336
198
967
226
178
552
437
772
253
621
733
524
386
241
188
629
285
457
414
314
351
633
219
479
703
677
235
660
491
652
605
783
738
222
686
190
174
309
413
457
738
312
961
402
402
805
697
278
810
361
853
875
646
308
202
246
177
386
682
188
226
186
513
387
391
237
617
163
642
693
618
176
381
278
617
450
160
281
583
654
354
420
279
567
502
824
848
219
505
372
880
861
318
529
451
731
400
917
636
533
333
520
349
546
766
547
577
604
613
422
230
779
235
717
656
321
441
451
304
237
325
454
561
291
564
928
574
468
598
657
526
502
203
325
437
362
265
673
580
513
616
578
226
311
426
171
545
249
375
597
614
730
515
297
703
476
784
491
274
700
247
228
602
256
208
344
385
413
569
379
321
786
391
168
740
254
546
690
855
550
305
213
241
160
476
379
275
594
564
659
644
160
683
248
884
321
212
302
254
207
329
607
374
172
437
248
264
842
557
322
199
632
238
478
632
392
552
317
264
623
178
538
236
545
769
303
449
491
852
646
815
492
266
468
582
285
684
206
313
665
752
317
265
631
436
416
382
219
458
749
871
476
373
179
168
464
171
742
616
461
443
539
516
378
886
612
575
184
780
732
343
275
571
218
714
243
327
802
333
532
165
216
351
380
467
366
570
534
287
536
287
711
247
487
201
718
403
367
442
704
215
586
868
531
710
385
643
300
645
715
652
226
501
533
247
571
396
250
422
462
229
372
416
641
560
162
918
438
271
529
755
475
218
341
749
309
563
766
449
510
948
489
776
175
233
354
685
567
225
503
232
445
192
488
332
329
498
677
424
572
670
352
501
245
427
751
177
774
184
162
176
549
307
381
410
818
790
490
521
322
559
418
718
607
266
434
242
426
257
573
757
565
583
699
446
237
370
708
364
290
398
367
591
568
807
738
802
665
289
785
432
450
723
659
749
758
198
493
475
198
441
251
416
351
727
289
774
347
373
232
249
192
305
598
466
553
363
177
202
915
751
523
638
216
730
395
281
563
290
761
272
381
586
449
620
328
824
317
244
755
471
535
704
975
293
771
175
715
593
716
469
315
429
364
780
560
240
519
584
776
557
297
477
277
406
554
174
624
910
338
383
188
834
501
601
590
231
300
833
189
874
454
260
444
875
371
178
247
411
388
165
436
295
715
797
372
558
324
220
716
639
775
753
440
674
791
233
281
520
620
226
598
438
302
765
478
621
276
626
542
532
832
649
459
306
242
188
206
436
275
256
663
529
169
369
193
296
577
297
174
639
240
583
512
482
361
702
355
656
456
317
781
363
608
226
899
585
574
275
238
364
408
351
557
720
655
487
584
422
550
488
266
179
823
297
691
580
338
189
303
169
661
173
446
340
499
915
456
679
689
553
507
727
304
197
166
718
363
667
549
736
898
643
751
285
630
586
914
773
650
667
392
189
360
197
774
564
574
372
786
217
740
492
480
337
357
648
420
263
617
318
566
532
256
339
667
860
655
904
596
439
430
798
211
548
284
422
769
327
385
496
459
481
547
326
194
486
387
491
731
171
290
438
415
250
233
269
460
853
604
391
489
675
238
275
639
301
293
683
781
308
451
737
554
444
218
475
810
876
365
340
409
433
410
949
408
654
563
370
463
443
823
290
446
273
607
243
219
508
565
490
880
750
577
626
373
413
175
635
553
426
546
191
566
797
198
362
225
434
676
517
193
427
536
505
424
296
343
243
230
218
220
587
359
447
391
168
579
257
288
332
357
608
353
196
821
249
301
279
368
524
489
789
251
275
918
530
406
355
526
440
943
535
381
527
344
199
375
620
339
394
218
320
528
524
638
522
477
519
422
533
768
833
367
210
543
229
508
412
569
614
184
610
712
221
653
221
258
299
320
320
579
580
565
215
203
612
180
658
262
707
626
455
163
598
637
536
560
842
230
450
472
374
447
476
353
532
472
202
607
482
352
581
343
537
679
395
666
347
765
781
188
230
234
838
398
775
647
786
161
301
322
282
779
447
271
591
536
393
476
378
697
484
213
171
547
291
792
302
179
510
301
938
591
287
652
219
277
380
339
332
335
691
502
186
734
551
206
412
344
607
610
342
771
427
491
410
197
514
212
220
213
815
319
696
268
248
918
184
539
405
311
772
300
544
598
395
574
265
512
329
309
516
661
615
267
915
825
248
489
629
320
405
759
822
197
397
543
226
210
924
829
226
482
385
447
274
588
459
296
160
378
436
429
588
598
312
504
171
339
829
610
273
463
404
272
244
245
279
639
166
616
423
448
453
569
668
759
359
322
220
295
589
791
495
472
443
411
488
391
275
318
561
746
714
333
766
420
747
228
421
493
286
951
314
757
357
643
356
765
785
327
572
333
236
893
410
330
415
343
568
527
253
314
293
784
167
348
475
785
906
160
722
828
768
576
302
407
461
570
536
210
500
630
709
616
554
790
754
480
553
649
706
699
661
583
646
585
751
215
351
503
291
479
540
451
705
543
500
737
867
875
866
927
717
441
674
725
587
463
735
362
291
651
237
846
609
434
654
961
423
405
280
651
355
678
401
589
350
833
184
723
235
719
189
417
570
781
634
761
748
179
493
565
412
228
356
200
342
711
182
235
535
623
185
618
692
777
475
602
480
870
337
197
522
186
678
231
384
669
766
609
547
230
910
642
674
170
428
842
619
331
402
778
521
434
502
745
831
203
725
577
470
284
632
674
813
529
161
165
383
526
604
566
581
659
751
708
597
613
759
837
620
498
281
781
682
820
476
551
495
182
905
230
419
409
639
467
451
183
596
599
512
255
485
325
504
315
160
274
493
327
700
614
409
309
907
828
695
332
215
402
325
245
559
803
464
229
633
233
353
706
552
412
641
644
568
358
279
194
371
175
438
419
640
525
233
616
653
675
385
586
713
498
528
245
259
694
903
588
292
322
322
323
713
743
265
308
554
242
320
614
218
325
395
738
760
173
418
473
171
422
691
535
693
356
796
334
251
428
817
197
581
352
269
302
587
440
294
314
631
769
316
459
313
375
278
691
350
776
336
323
424
487
178
203
485
518
412
470
241
576
311
302
168
797
407
199
559
237
451
728
549
612
517
443
720
475
880
550
419
806
689
190
277
808
531
388
951
266
227
289
196
928
628
284
776
361
191
426
329
634
673
248
671
732
342
584
452
265
569
813
812
734
819
297
447
456
696
250
681
868
598
375
256
607
540
858
292
453
294
896
518
288
202
208
390
630
318
771
261
675
406
767
498
593
573
537
588
540
669
180
330
591
394
446
454
589
650
384
950
976
767
442
223
423
293
498
332
685
453
489
627
587
495
408
359
604
450
317
275
319
272
647
185
240
264
206
889
805
208
511
302
722
399
574
261
219
312
677
979
444
405
386
710
396
336
231
561
167
623
334
214
513
446
392
342
541
517
295
412
347
815
585
717
528
564
418
540
483
685
426
162
183
467
356
500
539
320
462
707
477
449
796
189
686
210
392
256
515
582
640
748
393
688
808
414
489
162
217
542
755
707
377
619
315
249
676
561
837
654
632
835
482
608
516
510
566
506
547
716
703
328
244
689
452
394
684
627
489
161
486
474
164
341
450
421
679
271
168
373
268
357
912
633
430
686
188
376
670
373
705
733
496
190
674
539
577
579
638
557
553
591
187
280
227
505
564
601
351
358
545
842
326
186
491
446
491
265
259
550
356
421
348
189
382
217
276
219
560
161
716
494
405
520
450
587
871
371
442
887
420
521
433
671
713
857
764
596
211
219
215
618
748
335
828
634
224
551
540
875
244
437
702
294
280
233
464
226
818
490
665
607
542
390
419
414
310
664
765
839
197
305
284
205
391
278
278
717
277
175
595
888
631
408
281
169
207
631
638
726
761
656
707
247
807
374
527
521
608
721
610
679
346
385
324
358
935
469
262
434
611
654
367
697
452
711
522
241
568
322
781
824
380
694
350
673
261
432
177
613
516
299
778
241
914
290
600
706
598
465
281
646
541
914
166
469
657
269
482
715
529
370
440
355
936
273
189
415
232
603
668
220
408
173
225
527
219
184
507
251
632
790
554
497
800
215
561
590
331
349
291
620
318
291
579
338
441
248
204
970
831
335
269
436
564
166
654
579
660
563
210
288
266
164
771
161
716
869
168
604
163
783
200
459
634
210
859
325
273
567
386
254
209
253
643
192
841
707
306
727
164
201
583
635
531
352
522
198
196
468
273
760
323
923
314
362
309
265
721
219
659
293
202
468
561
927
354
461
587
852
320
816
691
381
794
617
181
240
465
316
185
454
522
580
218
522
830
729
553
384
712
470
555
339
450
399
528
667
394
335
731
264
328
463
247
598
374
225
181
768
627
508
483
692
811
637
278
325
891
871
342
804
522
689
198
192
173
570
381
464
876
433
288
351
864
352
839
809
169
504
173
617
907
682
180
290
663
190
248
655
703
707
604
605
273
715
899
336
577
184
468
306
655
369
708
528
339
433
420
911
756
298
359
240
821
470
182
570
350
185
351
309
472
490
213
256
508
429
645
666
364
697
195
725
516
585
626
542
219
258
536
624
442
683
658
363
355
678
561
336
408
303
277
681
563
394
305
524
370
375
422
454
426
222
551
469
718
561
632
744
533
316
347
349
312
489
426
309
191
572
718
339
438
549
466
184
196
170
329
277
371
684
188
523
790
805
332
384
544
234
202
684
259
355
172
758
576
905
167
313
434
581
272
622
305
533
470
683
181
852
322
214
406
990
744
175
616
370
949
193
633
471
518
333
739
207
733
540
463
290
226
628
214
660
701
199
413
328
216
298
594
207
572
216
653
798
628
326
801
596
222
603
488
522
177
547
294
292
322
353
706
266
704
512
283
644
381
785
693
307
425
534
339
172
826
384
378
456
233
792
295
503
565
215
405
261
718
238
513
266
623
340
731
631
418
715
751
463
586
182
208
285
195
545
313
564
364
276
190
709
293
399
449
252
638
180
517
225
642
445
305
280
249
275
440
367
701
223
297
578
536
164
931
936
458
715
685
827
941
686
308
862
712
669
220
843
498
544
707
769
317
304
568
540
511
402
272
286
836
707
244
351
650
168
261
590
250
278
636
554
802
367
523
401
169
245
395
206
269
479
598
181
540
815
179
333
175
404
548
493
567
206
507
272
714
548
816
428
194
573
762
965
439
477
211
679
485
553
359
361
710
193
707
342
697
231
401
284
594
284
721
564
412
532
318
399
589
426
246
185
485
738
743
676
702
529
506
630
599
430
466
556
180
423
692
165
475
209
471
261
917
383
888
662
422
738
353
548
243
598
237
664
401
306
483
842
449
550
913
528
590
330
658
439
683
833
296
287
573
340
211
866
281
328
334
836
324
236
756
841
740
752
647
513
600
520
366
341
164
524
347
238
794
600
947
182
610
756
217
599
244
288
587
805
205
499
442
376
893
239
200
712
307
593
499
447
279
624
170
364
387
376
632
475
204
818
606
286
319
751
363
302
931
666
401
370
563
565
405
273
645
190
637
372
743
202
506
254
690
461
647
724
415
506
253
290
215
433
164
585
507
464
542
395
421
797
457
463
455
517
664
670
493
824
190
492
794
208
402
349
175
507
610
170
336
371
256
321
362
227
677
214
287
500
704
653
494
485
247
248
527
356
578
252
373
659
169
616
596
584
694
384
201
367
555
869
524
502
176
771
381
342
701
874
466
457
730
179
160
185
496
201
332
330
449
828
324
488
954
203
631
181
561
307
710
437
214
771
780
363
310
341
368
740
280
650
364
617
202
180
562
688
722
450
495
595
780
550
828
210
532
207
548
362
742
263
582
559
631
406
411
173
809
870
475
874
893
549
338
351
470
625
507
271
697
167
466
850
882
593
464
638
642
449
360
303
552
176
887
669
176
533
310
195
573
731
228
546
282
531
359
491
179
394
858
178
189
275
182
389
767
210
799
538
363
401
544
204
915
612
224
176
367
211
643
582
462
458
244
652
466
942
217
214
785
523
649
716
189
659
871
309
300
589
239
200
279
809
558
495
372
382
382
570
438
804
868
369
412
359
334
802
349
305
405
493
832
704
197
238
436
472
350
277
606
189
440
185
270
637
563
165
419
313
639
569
309
667
222
245
203
486
477
305
615
212
746
515
660
667
626
672
160
561
545
566
270
369
567
672
547
242
313
377
774
762
314
316
414
480
637
359
764
183
597
294
482
421
453
751
409
824
175
218
543
603
787
704
457
454
261
566
270
741
595
522
394
505
543
416
209
189
572
215
797
753
201
556
576
527
610
516
629
278
164
404
507
216
168
271
886
695
459
179
422
170
571
379
468
629
767
235
317
176
401
196
694
487
325
466
672
711
306
385
586
394
305
426
406
436
365
924
569
598
574
237
446
284
707
531
380
512
172
743
372
840
436
526
615
726
627
632
600
733
337
904
712
312
453
407
720
472
338
511
249
541
189
405
542
601
289
420
596
795
422
392
895
220
380
684
221
236
161
505
558
377
464
291
364
399
527
216
846
253
856
711
838
535
164
460
222
250
643
626
272
461
623
237
746
446
326
298
245
231
763
657
799
503
184
294
165
597
325
680
273
282
242
432
206
378
334
662
172
345
451
282
738
836
620
910
403
720
429
369
374
356
852
714
307
559
832
605
250
716
201
504
283
270
565
325
566
218
404
166
496
189
620
248
198
490
317
292
273
406
489
517
382
712
945
264
211
363
225
673
906
558
230
217
474
851
230
233
169
623
744
352
567
784
649
491
348
565
585
987
785
218
431
386
173
564
559
236
892
217
483
716
580
471
819
232
265
293
352
487
527
318
351
276
896
546
204
586
819
623
647
366
288
567
670
296
669
198
322
925
944
256
521
443
479
160
551
384
336
221
341
318
738
308
808
522
378
349
327
580
204
511
796
211
560
503
509
430
615
373
350
172
435
308
710
317
393
820
279
160
178
160
886
193
524
313
615
371
333
166
352
474
780
579
672
571
238
217
744
693
333
646
218
572
356
422
260
659
795
176
656
585
257
321
787
328
592
487
209
712
298
391
538
360
284
208
321
607
276
608
671
351
253
363
575
684
574
364
616
521
486
319
672
221
196
729
768
560
630
292
901
596
226
767
961
451
411
543
377
607
304
269
247
567
185
342
589
387
277
263
321
621
410
523
649
360
460
229
394
575
269
477
534
487
680
378
670
527
686
267
311
260
494
794
282
187
774
362
742
553
207
200
786
564
737
627
514
571
392
692
754
551
196
467
514
338
515
595
670
207
430
202
461
527
426
513
664
325
796
457
307
796
212
350
241
372
907
206
257
647
668
309
674
639
748
422
236
204
213
701
509
811
266
248
281
919
696
545
427
748
964
924
271
182
546
685
841
630
229
343
430
599
389
206
667
859
397
167
781
497
802
549
673
364
277
781
432
382
630
174
748
844
666
219
625
249
447
268
564
375
242
626
303
406
509
818
790
542
356
341
210
616
466
557
165
554
241
849
464
367
300
197
301
721
451
451
256
674
237
334
453
191
509
595
398
697
517
210
250
577
676
681
802
318
234
373
445
247
369
569
471
633
522
762
299
609
452
435
758
806
856
751
766
570
281
457
509
358
446
302
671
613
723
530
269
588
626
930
724
889
907
242
521
420
294
577
291
626
517
270
712
575
422
596
539
176
423
426
437
173
192
240
490
636
274
282
216
462
231
526
884
954
404
364
511
544
362
417
382
278
480
637
503
536
369
241
296
281
227
810
376
469
508
625
517
180
761
655
213
164
662
490
846
628
396
735
443
319
340
220
638
465
288
754
373
606
442
690
294
595
590
185
322
647
757
177
379
317
270
267
591
606
409
493
464
571
290
241
525
361
544
199
284
315
286
797
413
372
186
271
688
252
444
781
349
520
845
255
510
579
437
737
666
312
484
224
269
283
482
484
545
709
380
280
302
482
206
386
879
582
265
746
694
456
629
295
299
235
432
504
450
466
186
594
255
857
612
863
641
539
261
526
689
915
514
461
878
442
707
660
430
245
307
240
295
168
745
451
440
819
875
658
533
562
460
175
832
414
860
806
214
706
457
408
233
645
189
308
182
244
661
423
522
539
211
324
318
365
633
634
782
478
573
641
435
269
645
441
204
741
473
359
489
328
438
377
665
548
881
212
366
243
786
342
577
256
577
193
340
268
420
629
364
888
272
825
561
407
342
267
524
302
296
368
496
833
629
847
525
694
170
278
502
184
641
449
553
457
483
464
293
174
210
230
372
203
588
747
377
244
385
542
204
851
622
428
232
400
787
612
278
327
786
461
480
541
657
264
469
550
612
420
475
202
646
238
661
362
796
222
251
295
591
721
227
396
385
792
543
399
170
809
382
613
274
413
351
232
344
799
534
347
176
375
594
440
624
321
391
459
180
491
554
425
837
538
287
394
409
874
265
477
263
464
424
466
769
723
320
545
746
546
429
530
495
803
574
228
213
660
394
499
190
633
316
283
493
730
163
764
830
538
398
773
466
706
241
190
387
667
392
632
369
555
688
325
939
326
285
380
702
575
515
522
237
161
706
821
858
311
282
392
589
664
315
289
970
599
239
361
345
222
849
879
304
327
220
303
293
255
355
315
243
672
628
457
769
593
771
610
214
305
301
739
272
740
309
794
345
313
692
212
598
521
547
220
858
620
324
317
323
270
188
291
453
322
284
188
576
241
321
817
902
575
346
302
174
652
334
430
476
542
878
511
544
446
851
405
194
192
201
211
161
432
227
251
532
433
487
730
726
682
421
200
341
529
226
636
375
405
667
528
525
480
170
298
162
392
423
641
574
610
231
553
322
543
305
441
417
473
924
293
759
502
276
686
542
183
743
258
845
878
586
393
503
402
186
664
843
250
614
447
185
486
351
671
304
547
852
572
246
335
769
907
481
543
766
495
433
309
331
236
291
466
588
651
207
855
345
245
492
333
717
223
560
672
626
343
244
249
313
386
176
532
294
362
221
422
402
222
685
533
452
519
567
719
672
926
480
163
302
194
168
591
674
446
682
317
565
281
400
225
420
437
613
191
184
482
635
702
332
502
700
504
660
578
445
458
357
201
755
436
560
640
345
648
434
521
481
644
574
176
260
409
268
486
690
626
748
673
214
601
368
642
457
335
655
622
325
164
188
164
600
421
462
519
471
266
473
204
238
770
250
453
710
539
895
727
676
883
455
333
195
300
511
257
199
160
326
567
539
257
527
337
315
605
690
294
703
246
890
532
907
491
283
391
237
287
568
787
508
287
343
458
233
474
553
481
799
497
599
301
437
327
343
212
250
304
534
227
194
333
607
604
565
570
519
915
300
615
314
385
231
480
235
795
850
160
895
194
517
545
209
612
591
416
387
401
691
412
488
492
693
257
566
801
535
782
629
163
907
647
498
284
357
276
411
291
433
352
193
246
289
374
210
173
707
430
278
189
235
383
802
332
517
626
784
393
394
179
519
844
798
742
427
737
370
361
182
538
374
283
851
195
197
602
457
268
757
187
240
365
534
346
321
667
660
668
470
304
425
535
198
489
795
471
552
293
706
294
696
507
813
396
314
618
442
577
201
371
260
727
600
716
568
442
357
448
425
172
552
414
361
917
681
288
774
335
165
253
381
629
280
708
679
665
223
257
329
194
274
272
385
415
627
243
449
420
193
348
435
468
799
472
369
272
300
918
794
244
171
783
331
438
762
389
249
193
213
707
552
793
453
565
237
306
331
324
582
622
317
720
656
220
174
302
712
969
616
265
413
472
216
513
426
380
235
483
635
263
455
605
229
422
269
690
237
392
229
229
173
298
340
806
231
609
186
319
654
313
458
893
682
412
266
241
639
178
288
289
223
602
213
510
504
331
622
758
765
283
934
829
435
355
370
226
459
474
750
492
166
765
399
474
560
656
462
633
633
862
793
339
651
161
370
708
197
162
583
314
725
283
299
485
197
744
176
499
835
185
562
705
605
591
728
313
614
487
174
696
490
601
533
701
365
475
319
267
238
408
241
345
618
235
546
189
331
382
358
897
214
784
364
744
213
692
265
370
515
370
733
578
426
207
556
630
572
638
211
587
830
458
864
537
679
225
334
322
511
199
298
217
251
890
704
269
749
416
670
281
171
211
346
178
421
548
227
582
417
195
195
401
596
505
761
401
633
191
212
686
330
549
438
244
578
203
234
440
520
513
286
401
466
224
338
802
431
525
617
886
544
699
388
266
393
693
356
316
495
567
657
465
784
511
516
243
255
332
228
309
827
450
447
710
841
399
680
449
469
522
615
351
267
687
402
219
626
815
625
490
815
647
498
165
544
351
376
396
368
178
474
425
550
442
765
508
589
802
257
278
914
735
184
232
270
298
221
569
543
467
240
979
269
201
836
699
361
457
204
325
564
225
323
326
165
563
165
767
359
706
168
268
625
389
486
645
732
365
562
496
225
933
307
820
590
276
986
203
475
613
234
768
448
767
317
245
211
852
605
357
624
160
585
549
163
542
536
274
617
487
553
171
591
838
733
561
500
386
662
676
578
195
561
705
473
492
447
323
706
266
434
587
631
251
345
623
208
598
820
844
260
333
704
226
461
704
276
283
741
490
480
933
402
432
305
261
861
595
564
448
308
320
595
375
698
174
586
348
286
579
164
438
420
880
789
349
549
535
473
465
436
553
551
573
407
477
646
405
179
186
541
609
326
561
399
477
188
668
506
829
640
384
527
307
587
462
414
461
444
324
694
542
354
361
171
371
361
634
385
431
611
403
897
218
333
393
386
432
501
711
337
630
602
270
739
347
259
375
376
596
175
569
241
328
166
660
551
356
173
900
520
763
466
519
337
610
544
349
628
173
164
485
787
716
830
492
252
337
260
203
577
270
217
637
678
202
648
410
505
551
482
614
189
437
625
370
363
744
640
406
287
284
518
188
609
596
334
752
527
607
524
293
359
418
550
582
289
258
415
583
255
507
256
384
267
353
612
506
583
491
712
403
718
442
660
215
439
318
271
551
210
255
865
730
688
382
463
161
864
741
214
531
449
526
718
536
951
420
251
466
257
614
215
443
222
495
248
549
858
380
195
509
671
580
438
595
473
452
291
745
428
340
862
665
790
546
400
759
287
398
787
637
582
907
537
385
720
234
235
343
222
786
367
209
313
812
274
910
533
346
213
545
482
526
822
446
340
748
329
649
896
337
207
623
560
170
341
679
212
280
417
310
541
239
179
403
606
830
223
427
551
703
178
467
267
781
161
256
175
596
185
213
807
665
599
160
312
447
272
459
198
883
397
269
160
177
623
212
170
455
513
680
384
817
372
624
463
568
524
240
436
396
800
405
167
331
160
386
318
647
237
476
264
472
776
543
686
857
245
237
187
170
509
556
749
168
628
183
863
204
847
335
359
176
209
401
447
577
350
302
971
567
386
418
390
334
580
496
251
714
689
683
254
211
669
620
456
173
780
287
452
235
872
506
805
539
375
284
256
630
180
286
561
558
665
562
322
400
973
266
992
170
238
403
680
240
227
256
632
856
474
521
227
429
392
477
364
405
345
307
370
380
494
328
406
275
225
236
195
288
598
705
780
611
516
327
586
349
761
259
390
510
336
391
193
485
241
418
243
314
165
436
441
168
497
513
628
420
212
690
365
252
417
619
653
520
496
586
304
240
260
685
381
387
483
714
737
548
548
481
193
649
380
388
770
345
935
383
527
505
417
434
341
464
300
537
171
168
847
364
768
215
404
237
557
883
327
572
558
522
630
264
494
815
197
560
226
824
524
580
370
270
213
445
381
182
691
232
286
311
384
877
511
488
263
468
919
830
341
505
608
179
322
164
895
643
328
713
283
221
518
384
261
642
431
737
557
334
507
325
358
425
486
674
342
507
725
458
270
468
319
662
564
179
227
577
453
287
201
391
457
685
338
216
347
444
494
350
294
236
291
841
393
525
182
245
681
542
808
394
573
223
175
431
871
420
621
688
635
501
795
355
341
753
369
307
188
708
480
258
743
253
800
511
465
415
666
705
362
426
920
197
809
597
652
330
344
334
621
637
831
523
462
681
162
337
394
166
350
455
505
470
394
379
389
251
444
352
770
701
453
328
618
219
609
445
466
272
382
617
378
374
255
300
348
349
764
690
595
809
301
392
451
332
633
414
809
557
431
446
914
285
543
906
251
294
226
515
265
374
160
344
326
723
523
241
578
213
212
188
250
410
656
676
430
597
374
562
622
431
553
457
605
391
190
601
863
669
760
281
703
283
218
534
348
278
493
167
750
610
704
378
424
270
202
592
386
696
368
272
212
734
591
924
264
257
227
659
750
460
257
471
370
463
725
306
365
777
624
429
696
310
165
480
627
564
594
619
763
342
418
324
414
290
603
543
420
262
166
293
243
611
484
363
427
369
890
836
677
425
407
385
734
680
869
253
521
664
190
588
477
617
176
863
604
400
502
411
644
238
699
176
289
426
723
251
757
882
837
212
853
500
377
492
395
267
566
929
388
270
657
515
429
340
417
592
344
521
567
160
947
858
253
559
429
431
418
738
915
194
216
229
338
302
308
587
267
751
538
359
756
496
237
292
393
387
586
434
533
800
962
540
771
674
453
535
337
530
331
488
300
408
174
361
277
844
608
500
223
624
516
185
505
447
744
357
423
507
788
572
835
567
551
480
367
908
339
171
698
214
730
333
456
236
237
712
256
795
469
394
929
603
401
307
485
175
168
436
291
459
310
554
594
318
631
350
791
504
711
507
207
485
297
313
580
455
476
550
357
227
230
839
228
737
348
267
223
702
617
477
397
611
593
584
241
902
242
660
561
226
916
420
563
209
897
209
700
889
314
450
209
270
307
521
642
611
603
310
189
351
462
239
343
533
270
237
287
327
571
832
801
300
582
592
761
468
833
733
476
838
371
212
682
177
297
346
830
255
227
240
396
715
613
925
610
186
166
214
261
206
919
412
249
460
375
339
861
468
395
703
574
868
600
343
596
445
195
428
311
874
212
602
230
181
678
395
320
207
169
191
403
332
580
407
470
354
633
369
202
424
169
204
536
436
774
436
356
880
305
292
738
266
593
461
413
182
394
519
296
370
370
443
724
856
959
286
450
578
342
403
299
807
490
618
575
318
579
684
300
330
485
757
514
295
507
258
424
427
776
654
202
230
445
397
925
338
169
263
590
357
253
715
214
736
407
517
760
417
833
454
202
382
627
423
572
289
752
421
167
432
287
624
274
178
413
698
349
670
424
454
201
656
270
494
371
630
465
279
221
283
607
229
566
609
375
517
464
205
645
645
707
170
422
227
766
654
406
805
316
246
166
340
613
869
458
425
670
263
651
274
521
871
656
237
208
796
321
496
654
669
348
405
286
615
167
899
860
354
405
557
408
233
481
772
227
289
758
768
656
441
582
747
715
267
258
224
513
718
434
249
206
465
469
438
514
544
418
328
361
331
605
297
790
656
212
584
252
268
258
418
226
399
237
488
653
263
808
505
466
245
432
544
436
376
815
502
297
451
229
599
186
504
450
535
648
516
756
757
333
262
437
214
970
531
355
211
374
591
290
591
492
608
920
822
411
240
261
427
224
542
668
289
508
502
171
650
348
234
372
612
726
299
905
304
216
394
618
234
287
258
228
437
478
228
178
382
494
229
258
278
188
251
612
439
408
351
498
485
775
514
411
577
550
305
791
298
616
952
239
569
397
291
547
204
689
568
569
501
389
490
470
282
747
753
783
238
496
360
936
192
260
350
591
595
201
868
264
229
218
686
469
673
600
842
402
481
494
361
952
202
500
652
278
920
984
238
461
250
619
256
630
267
796
305
433
516
210
196
329
237
873
253
285
591
484
817
434
488
388
746
596
172
462
349
670
468
203
299
325
496
683
425
893
687
219
275
196
324
584
666
584
829
484
572
825
633
472
594
602
418
781
224
449
902
814
852
277
572
459
688
770
233
453
491
456
512
476
362
375
693
244
521
226
626
245
493
741
569
702
262
244
664
222
770
447
659
592
706
336
325
345
269
582
163
602
549
349
181
673
355
781
597
212
607
601
305
680
333
183
617
361
462
722
548
446
742
160
347
160
362
879
422
429
282
176
161
317
241
774
242
614
181
957
194
263
913
344
381
516
344
488
448
687
271
241
247
436
319
378
198
193
682
350
386
550
217
698
792
724
588
749
183
199
401
740
612
438
423
848
815
534
223
307
249
244
379
450
312
715
213
172
403
610
564
253
352
466
440
607
214
662
343
413
173
298
327
539
717
161
328
630
473
308
741
205
880
393
566
224
211
332
678
278
704
274
296
811
719
469
488
168
442
270
527
565
406
871
661
626
465
614
686
620
284
812
243
424
497
663
637
531
522
384
378
490
287
407
711
558
825
204
692
419
491
346
174
379
229
471
800
758
508
352
164
268
908
554
413
352
233
711
596
614
558
500
748
423
349
341
296
537
388
219
317
239
202
499
654
465
842
269
170
198
770
492
297
924
669
353
234
446
347
298
644
422
541
420
705
403
855
687
461
497
561
662
332
423
598
736
346
776
656
631
351
219
460
423
565
533
175
897
722
241
325
220
335
270
321
410
587
369
795
677
295
386
429
403
262
208
654
404
624
163
210
229
222
450
342
694
348
353
678
478
805
450
172
476
520
241
618
272
296
226
356
535
382
662
579
500
825
700
261
496
855
234
718
215
487
613
353
616
203
906
513
596
975
309
932
914
185
477
245
750
815
451
674
188
165
893
296
760
444
868
607
234
344
677
192
415
410
892
186
699
477
479
247
606
614
631
330
176
319
364
364
285
735
725
570
582
753
180
313
474
439
217
736
206
420
256
353
542
190
523
773
443
465
437
291
476
847
623
354
820
829
461
541
297
422
644
172
572
348
682
801
746
550
297
203
694
214
472
744
714
577
405
858
244
661
307
525
495
519
199
805
210
289
247
257
403
351
495
216
219
308
575
230
244
558
490
908
314
732
224
474
630
273
294
633
654
500
526
304
523
693
457
602
482
295
512
537
912
366
594
394
577
176
777
172
515
182
690
613
513
494
185
188
231
684
562
585
330
547
594
588
282
844
823
592
850
445
595
375
166
375
282
580
350
500
370
597
554
311
201
495
863
266
160
562
320
900
682
492
925
376
399
161
642
770
401
235
495
609
623
418
518
372
828
355
166
405
452
368
649
185
854
302
291
694
379
513
169
789
459
700
874
371
337
416
674
617
829
230
683
281
415
166
492
227
508
323
397
165
292
307
253
866
282
641
569
908
368
858
539
307
680
208
307
919
458
327
697
256
511
500
372
876
649
266
490
852
366
278
704
790
210
433
505
236
591
460
533
553
599
688
546
312
576
550
519
769
413
228
369
722
210
917
527
193
529
210
244
805
336
697
713
617
671
596
451
653
385
631
343
469
167
328
529
772
221
417
504
241
278
209
654
405
713
173
551
379
271
241
527
317
196
512
485
983
693
467
213
353
199
667
474
681
180
509
831
428
406
302
216
732
170
541
265
454
417
348
538
533
500
274
213
536
869
346
410
315
355
455
237
454
216
489
461
262
204
578
178
986
337
348
371
607
223
616
360
202
511
213
366
753
472
519
622
353
814
175
436
404
274
277
175
926
633
424
170
888
288
463
219
475
638
610
496
165
925
649
514
267
565
280
189
875
774
716
667
547
285
409
897
275
371
476
175
880
264
639
613
356
680
339
205
395
631
201
771
235
571
593
211
690
686
391
599
225
213
386
952
301
364
282
199
365
376
719
325
189
163
337
347
226
788
513
293
193
291
226
569
918
263
205
274
372
744
508
493
367
354
876
176
578
190
251
698
693
708
550
667
505
268
482
232
284
450
593
764
861
788
373
734
666
221
373
532
482
323
461
680
230
305
575
465
171
501
306
624
772
445
503
424
455
216
170
656
519
399
227
175
621
778
187
184
306
396
526
492
539
253
166
394
224
181
641
179
454
389
261
481
617
615
453
520
632
358
554
872
420
751
766
587
393
565
266
204
453
501
595
613
301
269
328
495
563
576
356
270
555
181
774
675
565
478
313
313
522
497
756
258
358
828
282
194
267
304
182
927
557
412
777
613
335
212
428
604
538
790
336
366
820
542
438
523
401
748
616
378
416
618
340
556
688
312
649
503
422
572
572
506
469
503
491
538
312
372
737
617
808
182
691
645
386
164
767
383
271
789
514
237
804
816
873
178
718
839
950
205
825
283
520
657
193
806
259
784
690
211
781
560
559
526
508
340
528
546
481
463
207
924
608
599
302
241
675
227
686
761
232
387
390
885
439
222
362
559
559
482
701
179
285
393
621
508
192
293
473
671
401
422
726
168
280
536
220
428
195
300
732
427
725
595
785
333
290
388
437
407
650
201
524
712
530
181
284
182
402
305
247
519
472
792
485
361
412
255
299
343
700
342
680
717
667
375
593
260
162
256
394
471
351
278
217
470
618
376
171
206
334
467
181
429
444
235
477
500
326
538
571
241
395
426
387
271
608
636
494
323
299
800
702
463
233
187
787
333
810
195
448
575
447
334
597
541
796
410
742
618
435
578
698
344
533
311
256
242
197
176
462
424
171
180
422
409
424
421
355
226
783
663
833
405
569
381
569
704
285
401
487
421
346
833
745
290
238
646
263
482
194
592
181
551
555
248
485
474
460
280
509
701
289
535
887
296
453
364
439
201
279
297
671
365
446
219
342
596
245
181
255
372
581
526
311
494
435
796
555
719
570
632
336
712
410
886
777
291
355
286
506
331
224
520
395
204
209
585
436
447
806
451
577
676
325
523
467
781
765
698
309
393
171
186
402
819
310
290
835
310
672
649
299
515
233
737
549
315
168
324
676
337
392
277
184
356
272
507
223
297
234
932
201
611
660
312
440
586
228
304
457
317
514
895
292
386
232
201
297
565
913
361
575
848
199
441
659
267
277
853
346
298
269
165
513
259
196
506
743
284
441
516
590
597
474
605
782
190
282
774
371
322
721
262
328
410
719
162
637
512
693
551
393
506
634
366
706
476
630
905
407
535
543
320
504
234
311
578
390
762
268
504
551
658
525
361
728
245
369
618
463
234
477
457
705
402
177
338
338
739
512
931
671
541
435
297
679
372
449
195
172
773
385
423
543
477
758
692
468
615
179
405
646
275
865
330
588
347
233
243
433
893
541
552
592
271
832
512
471
579
364
205
599
492
342
476
680
560
687
443
534
369
823
420
381
801
263
557
523
503
386
165
651
352
472
509
497
372
225
189
763
797
893
214
171
534
360
497
350
242
177
431
183
530
692
228
360
463
738
420
385
286
226
215
426
217
298
333
734
734
371
289
462
253
400
271
484
459
637
690
210
195
647
177
834
862
747
388
326
173
366
981
662
524
707
449
827
683
717
708
516
481
667
597
693
669
533
365
893
845
572
225
308
269
737
424
568
418
471
766
802
462
667
307
897
364
287
409
813
666
382
297
282
716
757
836
224
255
861
969
250
360
728
703
632
602
500
496
533
351
533
631
577
249
416
445
688
486
492
691
542
436
340
336
176
768
322
876
392
247
555
196
726
669
429
213
492
167
188
235
505
553
436
176
164
538
185
221
298
564
468
815
544
560
183
248
249
729
533
452
256
572
316
242
356
642
219
685
797
987
177
358
699
419
741
186
732
165
430
337
860
624
196
627
528
205
503
310
354
758
410
797
391
366
371
711
504
367
317
573
301
693
251
594
530
198
911
285
163
616
349
535
287
541
699
499
673
209
699
831
305
756
376
340
563
568
499
462
659
258
198
517
590
278
770
717
413
566
362
840
190
658
528
232
197
432
534
456
774
185
445
389
678
358
519
183
424
168
865
716
434
644
870
306
610
810
489
241
736
292
942
683
721
288
898
227
435
374
326
399
833
186
400
637
418
226
198
734
871
469
350
270
297
259
476
584
584
466
599
786
477
336
672
224
771
805
858
381
249
230
471
424
306
758
198
598
435
606
859
741
220
400
164
536
882
697
348
215
774
456
650
584
456
209
347
542
630
511
451
184
790
709
165
430
726
506
691
404
268
454
172
403
542
543
773
335
394
951
402
835
407
269
731
466
299
268
370
304
312
603
366
629
202
499
639
767
695
677
339
253
698
493
639
175
215
330
232
530
234
303
291
840
833
197
519
879
229
555
742
276
738
672
766
443
170
864
801
252
274
882
392
577
874
845
649
279
522
455
425
226
306
181
737
186
328
407
610
268
500
485
717
558
466
244
243
226
274
316
775
220
495
435
698
230
575
588
682
504
352
523
265
274
644
571
448
343
238
608
360
724
599
175
226
744
787
268
765
397
492
345
352
686
379
568
364
873
238
236
656
272
412
408
673
165
428
190
580
676
546
623
609
501
316
653
220
240
386
304
408
316
200
702
424
755
633
686
200
592
326
179
203
452
173
419
785
371
731
160
372
536
599
573
205
258
287
537
329
509
226
566
420
367
299
174
186
358
330
202
801
233
604
627
237
767
632
707
380
329
964
832
508
407
305
947
262
325
503
297
251
586
896
746
481
373
642
651
237
171
412
485
221
229
497
518
600
710
709
755
197
829
391
828
161
581
572
278
241
486
459
593
450
260
267
329
253
341
622
862
684
718
496
646
395
414
292
510
323
254
240
401
435
436
485
409
278
621
165
650
403
789
670
303
574
348
269
374
646
366
312
302
339
445
655
613
490
799
342
688
721
516
302
225
698
930
226
160
230
278
807
422
494
427
662
792
598
279
290
678
433
496
168
175
188
214
812
236
687
576
259
290
736
635
452
566
421
206
704
292
478
835
360
304
177
247
177
621
365
697
699
884
536
379
378
735
699
434
235
350
502
590
743
292
436
603
210
508
680
406
201
775
424
267
314
713
402
635
551
555
573
333
864
912
259
305
333
500
435
825
173
884
365
224
632
419
411
459
887
270
239
294
512
631
233
804
430
359
247
538
424
803
422
412
651
456
788
590
285
460
201
486
737
443
333
729
836
597
298
836
619
192
903
299
398
781
300
401
204
439
674
385
283
245
366
418
725
844
358
696
669
641
335
314
424
792
268
329
631
565
609
526
185
340
505
216
390
162
271
174
604
379
363
203
603
247
680
237
766
220
278
336
421
406
819
387
482
480
682
177
759
550
842
311
542
335
352
289
196
175
249
550
374
322
383
187
288
429
228
549
482
323
723
538
214
602
634
391
335
536
210
571
680
451
183
279
434
509
346
186
684
534
232
381
437
344
614
909
453
673
488
698
310
663
735
477
609
551
203
166
559
187
269
405
494
178
231
266
427
537
389
460
467
312
423
643
569
373
553
511
237
512
377
246
285
654
601
316
954
180
359
161
916
242
746
483
274
620
852
188
455
250
325
303
266
271
188
438
436
384
213
723
875
600
563
163
390
235
922
310
308
272
377
296
304
462
534
695
866
209
366
313
248
797
524
766
554
211
743
374
665
598
782
912
304
847
371
254
605
659
927
354
173
459
760
194
602
492
613
605
387
539
929
458
453
393
194
469
806
931
615
802
422
564
555
633
763
562
183
743
454
612
261
363
384
350
352
667
307
275
317
280
555
478
382
296
581
302
590
488
477
315
337
161
334
400
634
330
595
371
744
556
625
341
211
196
241
777
307
800
485
459
497
525
204
545
330
437
801
195
582
562
814
424
498
261
355
164
650
577
376
175
380
514
624
243
176
324
820
407
530
357
271
308
242
482
507
269
283
710
531
456
565
563
235
599
723
783
348
194
336
517
193
297
727
648
719
609
782
470
604
506
440
216
546
168
301
189
860
338
349
466
393
627
272
637
480
766
697
343
364
732
589
282
450
347
362
368
651
465
161
337
255
254
811
520
573
219
576
568
679
185
827
319
381
787
501
439
607
395
242
361
316
680
274
335
292
773
279
242
400
541
464
207
182
447
508
723
195
895
760
364
163
474
264
227
765
402
443
199
800
191
436
631
630
399
354
535
413
945
798
256
585
177
966
303
233
261
425
204
514
790
633
385
306
573
640
224
402
435
327
349
406
940
185
454
288
740
566
642
586
248
314
430
767
373
372
223
293
261
520
469
623
409
480
340
677
725
563
855
778
380
553
233
416
472
695
261
482
361
215
545
538
509
272
765
581
633
719
267
515
353
520
622
490
318
368
589
456
478
384
543
321
547
694
462
166
684
512
790
200
221
753
333
337
702
168
562
422
598
953
373
175
351
727
637
419
820
260
422
701
894
522
549
360
278
512
287
455
179
791
517
701
472
180
449
677
476
903
215
278
670
406
423
505
182
445
238
276
873
247
691
345
693
395
390
825
802
845
542
659
237
333
618
534
572
258
356
812
695
228
413
675
436
236
701
752
365
654
204
486
244
437
220
215
754
481
625
526
182
518
532
528
690
293
417
477
547
287
209
444
266
455
420
233
278
349
903
190
633
259
208
438
542
576
186
300
265
570
640
592
292
339
505
841
456
598
400
294
210
325
174
228
777
493
643
529
608
539
378
778
374
282
479
165
316
639
391
210
716
574
178
565
489
856
685
298
380
718
565
306
875
342
211
162
898
798
550
356
656
465
384
665
354
630
428
537
344
272
278
484
180
516
561
170
416
271
272
778
373
351
695
296
274
925
538
867
507
161
917
809
242
606
484
234
331
661
286
570
275
514
295
309
263
537
608
160
496
394
404
249
200
203
499
861
471
277
405
363
437
324
758
791
215
360
167
215
472
766
308
810
358
447
421
217
361
376
498
586
411
563
202
292
719
536
314
455
320
581
282
252
609
526
501
658
625
606
767
656
400
697
367
822
160
236
709
586
300
583
368
173
348
481
505
223
686
597
440
459
691
161
252
178
204
763
381
388
267
339
186
264
443
349
713
390
532
654
504
632
270
554
663
255
775
377
306
514
273
378
218
424
760
491
289
411
243
617
379
312
520
727
649
470
213
948
626
180
172
595
298
344
739
241
234
216
675
352
481
195
210
921
663
719
632
213
309
317
368
531
246
674
412
464
806
643
418
381
572
417
327
399
931
464
392
444
860
517
229
488
565
745
527
448
608
537
951
289
338
432
561
871
458
486
617
273
356
499
420
336
527
723
165
620
253
326
217
653
365
704
252
571
301
454
643
220
491
462
588
556
395
279
185
396
937
342
412
341
622
469
467
418
164
250
234
253
314
234
837
302
529
209
583
479
529
191
462
600
549
703
758
439
479
313
200
497
431
800
400
619
549
524
178
488
620
695
191
204
492
744
283
222
483
616
905
657
283
807
533
469
450
681
688
619
171
755
971
375
402
515
413
829
206
267
333
279
433
296
534
917
419
330
514
217
500
626
364
169
582
248
259
564
440
208
403
652
342
505
652
323
735
513
657
308
587
193
450
185
257
332
659
834
411
811
696
594
629
659
302
264
465
818
467
756
507
429
412
206
491
218
391
408
215
177
748
225
226
240
525
179
371
219
208
459
525
808
202
894
182
187
457
590
519
769
381
347
463
659
179
516
234
931
268
309
557
168
624
813
574
485
411
255
555
324
657
772
280
518
175
743
706
440
351
229
640
636
760
886
380
881
203
173
436
335
677
505
524
381
656
193
273
269
246
768
235
649
755
410
571
259
401
436
200
271
644
386
627
703
778
798
178
340
344
432
329
245
337
994
410
589
845
165
460
280
274
886
383
790
414
483
613
436
651
530
642
427
551
322
663
581
474
591
877
492
232
213
679
596
217
165
539
214
528
457
815
447
240
652
536
174
765
353
437
165
655
485
371
443
227
506
328
432
628
696
345
547
604
482
793
808
324
239
874
346
222
584
234
514
546
162
264
222
189
168
354
253
641
221
788
360
347
289
170
183
336
364
319
724
358
292
500
208
315
597
219
371
580
611
226
561
298
616
352
354
623
797
655
814
578
694
350
399
561
634
244
255
431
752
342
299
438
368
262
442
400
444
308
650
473
641
294
579
329
602
199
828
212
179
771
445
438
813
476
823
532
883
318
418
602
304
331
470
433
292
697
291
599
331
317
863
240
493
513
178
717
232
519
819
678
398
197
489
345
350
232
296
624
274
666
482
285
423
301
168
615
365
416
526
505
551
343
283
842
527
661
274
547
177
806
379
246
696
238
348
189
178
290
661
492
200
387
312
394
396
474
416
442
392
249
569
928
513
318
459
198
315
566
290
692
398
858
494
625
582
662
235
232
920
731
583
268
368
343
355
353
186
531
662
294
292
227
197
694
713
680
536
938
356
420
236
210
414
338
490
291
595
698
732
671
357
338
543
166
857
263
605
290
220
576
904
429
210
817
675
322
682
318
835
514
363
851
588
239
303
266
257
393
483
310
341
465
235
466
298
308
344
454
511
633
445
389
749
807
536
190
194
274
661
451
638
258
162
233
430
535
419
189
223
172
822
312
761
824
214
673
447
302
722
704
561
290
529
175
187
163
720
372
374
467
681
803
729
835
232
712
297
444
422
471
581
221
200
283
251
319
462
339
740
244
676
353
343
208
210
285
358
350
445
527
945
424
219
373
477
774
732
887
686
414
320
731
456
728
608
263
340
698
178
397
507
472
565
628
200
218
342
775
358
438
228
367
682
754
637
216
176
374
309
378
774
844
465
386
262
565
507
629
367
787
841
209
824
530
788
349
221
588
501
532
319
624
221
770
851
735
493
880
172
677
265
209
650
331
233
243
417
593
297
320
238
352
389
211
677
625
571
258
511
214
470
923
324
303
382
333
326
617
215
298
908
410
865
554
316
334
259
755
490
530
274
540
249
264
352
216
469
587
583
201
876
543
647
754
531
216
433
521
236
343
558
332
565
508
544
482
505
299
667
291
214
302
545
582
302
669
575
260
168
607
575
848
722
249
289
861
312
244
737
213
209
297
763
384
687
829
479
664
778
265
323
598
812
309
681
440
396
489
305
651
493
946
491
512
384
373
472
470
824
549
512
577
439
275
543
455
654
457
427
612
429
233
780
569
374
200
285
568
667
236
505
584
180
649
526
588
417
328
575
294
463
319
409
264
161
785
189
739
555
363
497
178
890
558
275
528
206
298
280
670
518
540
215
286
171
419
349
435
466
266
782
256
469
540
339
288
288
385
263
535
736
278
363
358
901
183
243
330
385
580
166
489
313
573
278
689
750
247
768
579
816
169
478
177
334
390
413
623
485
240
180
527
629
756
615
734
818
397
445
666
672
718
204
536
454
338
468
192
631
381
705
855
615
260
570
880
347
950
852
728
426
620
450
594
293
755
429
747
332
301
346
689
371
525
289
444
705
666
346
278
334
176
936
379
262
390
829
726
333
259
481
696
809
516
809
279
298
509
247
546
287
304
557
408
207
575
411
595
251
667
362
334
709
412
326
424
257
226
564
503
538
611
623
242
722
531
689
760
378
424
520
231
523
256
219
420
214
534
518
791
528
325
262
645
213
778
444
544
331
306
633
799
512
671
191
440
519
234
443
277
176
620
296
375
344
852
905
505
673
379
337
216
356
783
457
466
488
272
267
432
493
183
287
853
751
615
207
764
446
185
250
207
809
526
480
229
351
230
258
190
573
240
293
600
544
734
562
281
480
895
164
273
522
276
277
779
500
694
679
680
470
741
282
388
403
596
875
167
227
217
166
878
482
847
479
843
523
312
864
163
165
690
364
502
862
357
329
176
514
792
735
262
241
212
261
240
276
369
383
579
597
763
668
368
599
808
678
650
390
389
955
304
478
648
224
213
192
194
375
164
626
200
303
784
848
164
456
268
431
533
619
289
459
569
803
238
600
853
206
233
681
567
688
626
330
535
468
506
339
584
581
402
672
585
490
509
705
273
752
264
521
651
231
405
957
284
831
616
363
349
653
716
752
314
515
201
878
794
646
501
467
390
342
366
258
220
272
262
840
443
448
319
594
358
580
304
258
293
499
928
661
272
348
535
322
204
691
248
701
378
442
503
844
524
343
350
507
722
513
272
314
186
161
318
592
294
642
171
449
507
525
438
276
407
519
780
393
323
830
844
840
264
188
541
353
426
531
617
636
177
787
210
494
424
399
455
514
687
446
242
390
650
166
619
726
694
395
425
209
391
185
326
808
423
622
312
606
728
287
172
279
352
310
758
690
837
609
331
278
234
620
699
406
254
279
473
767
591
566
834
414
277
297
526
300
668
230
679
583
692
302
261
469
755
636
366
792
359
347
360
504
394
594
440
803
647
895
396
415
504
745
234
842
521
568
207
707
430
792
630
650
443
299
942
258
782
523
570
743
212
481
478
451
744
679
192
822
725
492
442
392
434
462
712
767
527
170
389
458
528
625
291
263
620
459
469
435
333
513
523
434
330
259
328
494
433
423
415
784
215
303
358
532
237
286
202
738
247
221
196
433
238
201
391
369
317
214
196
435
193
357
650
385
306
831
316
209
713
721
499
371
596
450
362
824
660
169
215
369
243
497
562
373
242
609
701
514
590
183
893
634
688
433
217
499
458
287
426
486
496
302
837
646
723
353
723
557
227
640
169
608
405
829
307
370
731
476
810
756
381
226
487
401
252
174
393
316
437
645
172
827
304
774
666
186
680
238
767
801
419
458
191
576
253
359
362
174
282
229
579
834
478
709
607
327
565
297
618
485
940
281
419
514
659
846
331
466
632
566
264
548
709
321
731
306
496
388
440
419
233
508
522
389
212
328
633
306
706
434
307
535
952
448
573
376
582
729
295
233
515
802
899
664
355
509
633
412
227
756
248
839
637
575
267
947
275
476
676
185
331
476
468
222
253
186
480
335
557
308
612
262
357
641
691
638
933
466
705
489
471
529
332
565
468
203
242
684
894
351
369
267
353
460
262
507
398
714
171
162
344
574
617
317
396
734
167
271
212
587
557
476
371
267
227
418
665
315
214
268
337
392
343
541
456
321
872
443
299
580
270
308
411
517
446
413
275
211
321
430
562
425
268
438
817
537
690
461
203
359
363
439
599
301
262
500
207
242
523
466
240
277
329
180
357
637
232
171
443
712
372
163
499
476
258
317
756
320
344
633
188
724
209
934
209
492
335
549
221
244
393
168
750
239
377
290
194
418
297
666
274
330
771
387
473
485
504
480
271
498
483
590
801
326
327
242
171
292
250
791
512
268
496
616
398
268
394
348
389
284
634
654
390
683
475
513
556
674
380
699
469
164
374
564
523
247
451
706
544
359
817
599
537
306
165
515
294
747
384
243
372
319
531
625
437
718
261
534
316
263
393
845
217
298
596
687
640
234
287
753
217
881
971
319
515
317
595
543
349
344
469
194
546
593
907
741
344
219
789
321
544
546
528
184
676
859
238
215
400
578
242
472
594
619
203
236
200
754
728
273
802
884
664
674
476
192
775
779
709
702
503
333
596
319
204
556
372
658
477
481
507
325
521
463
550
247
427
227
174
481
547
429
839
446
595
746
766
654
401
543
249
301
277
579
436
223
267
161
374
239
474
243
489
507
311
250
705
332
772
852
738
304
169
418
204
458
195
376
513
611
479
201
195
174
954
638
509
324
435
739
435
443
866
888
409
577
874
314
236
490
171
176
193
652
396
421
423
443
319
773
409
527
481
293
737
347
359
431
646
248
440
461
318
681
615
171
801
752
686
634
694
527
551
883
422
328
395
338
259
891
547
245
714
497
858
588
591
632
782
391
804
537
198
889
736
615
758
212
463
233
211
368
630
689
515
781
624
384
770
287
176
499
178
732
366
236
167
296
322
232
388
409
224
610
560
229
235
352
207
308
436
551
336
597
779
182
525
393
467
162
926
704
333
471
404
715
217
503
483
417
271
327
564
541
670
275
319
636
246
533
486
430
189
177
722
297
620
238
374
560
442
339
537
784
341
169
603
719
511
187
263
483
436
367
262
242
932
240
291
215
305
279
635
239
821
215
364
298
637
299
712
487
503
554
232
847
715
579
329
582
687
203
287
309
283
262
342
386
615
534
765
496
764
721
551
897
432
218
600
372
541
439
525
303
335
717
227
247
541
517
336
350
332
696
273
235
588
213
592
541
488
449
488
453
707
206
244
405
217
709
763
613
205
538
256
934
228
451
200
594
350
291
659
813
434
211
264
496
218
608
404
484
282
914
500
383
410
641
795
429
530
267
784
175
353
199
532
307
210
538
308
504
948
223
251
308
770
505
548
351
430
190
259
334
708
423
239
569
239
714
277
221
429
301
655
201
469
263
303
593
259
615
432
218
250
618
200
279
754
818
242
637
332
818
298
306
503
641
426
262
426
644
633
275
193
423
297
391
842
595
511
432
351
309
213
718
612
513
592
314
459
672
408
663
708
564
564
555
479
732
542
341
506
559
363
189
504
421
548
314
588
768
251
238
611
604
166
624
822
305
663
578
321
190
169
169
906
450
574
419
227
337
879
235
534
556
601
345
738
265
395
190
697
597
623
409
193
335
476
691
206
841
455
696
470
584
680
812
547
337
453
458
218
588
206
627
368
180
879
219
810
561
837
222
464
264
463
259
766
734
436
342
166
775
298
243
490
542
843
614
288
208
641
249
609
387
819
586
633
261
887
565
772
202
483
252
523
498
191
315
200
926
819
172
896
316
851
835
671
485
811
363
394
249
738
181
222
837
473
329
498
850
346
327
710
630
597
390
162
254
796
186
335
752
693
173
345
447
620
390
705
747
663
528
458
162
918
389
229
233
162
587
284
682
187
189
442
182
164
607
788
637
374
466
436
792
654
544
372
287
261
304
276
175
490
552
222
541
434
165
311
381
769
283
640
428
388
658
607
527
790
278
688
172
857
939
207
761
670
601
317
442
544
268
655
258
285
428
614
577
306
378
487
305
569
620
410
409
167
709
331
473
256
712
496
298
363
670
250
460
474
865
514
459
613
712
477
223
762
439
544
691
479
538
536
715
181
581
439
296
529
636
694
611
618
213
589
648
223
196
534
336
679
281
200
728
241
826
633
531
384
822
396
197
189
533
347
748
598
280
276
447
357
305
430
835
793
474
554
420
304
233
194
450
324
730
196
690
685
401
598
934
174
707
539
708
360
333
271
593
673
249
197
653
543
689
203
674
341
630
232
591
652
708
744
587
265
381
379
258
682
683
302
349
897
226
220
548
207
487
642
600
519
872
420
258
333
563
471
559
648
774
359
274
848
532
577
590
232
235
615
894
716
537
325
501
562
560
389
561
165
198
449
425
644
176
484
707
442
305
388
283
369
172
764
174
166
257
290
536
389
824
319
184
703
741
396
281
209
424
372
170
528
627
765
315
825
291
757
455
662
175
174
491
167
747
199
498
862
784
445
747
630
735
344
599
627
460
934
401
396
182
635
557
500
752
217
293
628
510
710
272
437
341
494
212
272
425
451
388
202
808
728
166
750
664
583
546
257
609
162
321
610
314
583
324
569
656
401
425
365
407
595
627
724
502
521
497
865
447
405
492
803
185
689
486
633
346
601
854
308
412
549
193
802
579
946
376
833
800
631
761
629
244
733
445
273
360
652
547
517
312
812
464
628
221
304
605
555
242
427
710
270
890
714
178
567
262
731
363
263
388
665
644
257
213
307
259
762
561
293
471
322
222
847
463
216
518
505
292
500
676
523
346
375
366
290
367
567
688
434
247
514
192
470
603
512
573
308
569
199
169
204
662
613
625
556
600
325
190
513
229
416
670
549
270
328
532
369
309
343
828
296
371
759
434
783
414
346
429
525
453
910
832
330
301
289
580
706
163
480
665
839
740
647
829
580
428
373
370
252
406
213
375
407
883
789
239
500
506
218
560
464
891
664
430
647
865
515
714
266
419
265
688
256
227
219
276
333
705
323
326
344
245
765
352
249
708
438
296
528
550
281
219
481
335
316
785
500
448
280
290
603
531
521
281
649
236
801
646
571
265
161
267
366
430
584
726
334
333
283
239
372
435
630
197
423
242
704
397
709
341
361
393
889
621
585
365
571
283
857
434
592
334
313
737
501
606
273
196
527
193
289
323
331
669
543
656
396
347
230
790
253
785
267
337
306
697
286
386
214
390
585
615
296
594
313
517
815
324
444
175
454
195
291
831
810
176
223
337
603
369
541
461
356
351
186
366
184
671
194
919
582
480
398
414
567
826
738
360
192
584
712
188
252
563
179
255
756
549
609
389
327
703
506
567
276
352
633
240
627
837
499
260
321
755
694
303
412
212
708
540
617
586
377
319
795
273
333
913
248
219
431
439
638
259
661
277
168
579
568
666
624
254
338
535
481
468
327
194
673
464
406
433
280
459
342
525
756
341
194
206
206
524
294
298
479
461
505
724
473
199
438
248
470
692
218
547
555
841
256
246
588
586
194
353
554
363
457
303
204
375
338
624
728
513
234
304
470
206
431
932
191
586
678
269
568
768
240
207
592
252
260
425
297
785
423
332
288
193
409
428
588
732
177
283
298
225
732
522
459
603
468
493
256
246
776
686
833
164
386
554
694
266
314
522
217
670
685
548
393
336
326
503
518
434
813
426
409
749
383
417
682
556
495
433
252
367
530
287
856
759
282
396
568
513
691
896
271
511
612
375
183
233
658
273
299
190
286
613
526
970
782
529
229
186
361
815
716
680
268
955
715
718
481
899
411
209
912
693
212
764
517
577
282
332
323
624
453
825
597
507
731
739
255
594
418
870
279
611
835
367
195
493
244
706
449
308
680
445
210
360
349
321
229
433
684
218
732
393
300
300
694
327
700
280
514
174
367
213
344
360
415
277
509
163
679
304
512
516
467
418
294
410
745
377
804
660
242
482
846
257
273
509
446
839
738
590
595
410
176
654
616
477
644
668
175
339
423
390
861
824
274
474
471
782
446
601
301
270
642
443
733
279
175
467
547
741
320
799
307
277
541
195
501
272
667
161
171
636
636
541
337
207
465
185
329
444
735
569
494
187
409
263
750
532
753
796
225
379
470
220
679
741
337
415
498
260
244
431
535
724
657
359
341
300
178
364
563
613
772
549
334
222
459
320
598
941
567
483
183
187
341
445
313
662
201
518
452
721
193
304
339
678
165
637
728
516
944
231
458
503
393
675
824
722
860
440
679
566
934
304
417
780
690
568
177
210
512
287
491
315
397
795
715
516
364
922
212
470
816
655
409
292
325
419
354
372
526
417
777
496
612
564
512
560
578
675
518
739
637
884
551
567
635
580
236
409
762
229
565
544
201
484
590
403
259
772
524
674
481
445
462
814
786
323
807
281
680
361
477
320
421
771
336
413
438
795
563
864
345
313
410
212
825
863
372
506
580
725
444
288
453
436
711
161
614
200
353
542
292
704
406
530
459
462
328
851
692
340
339
265
593
436
449
327
430
770
527
295
552
426
216
493
183
505
162
560
518
775
560
422
385
293
350
213
283
729
228
315
648
566
169
754
620
833
193
445
176
636
616
240
247
276
355
757
536
220
275
344
762
262
398
629
542
800
172
299
521
183
320
329
569
815
553
393
688
767
571
249
267
399
784
390
353
342
551
293
319
266
714
607
264
224
331
788
249
398
272
207
267
387
454
211
381
241
686
242
584
211
716
881
206
265
230
417
188
605
751
772
574
637
732
469
676
394
313
296
688
526
947
201
403
268
513
238
622
630
755
230
341
324
806
594
284
637
280
674
686
215
853
681
376
195
283
837
516
205
458
170
642
225
684
449
373
347
271
491
362
818
809
538
336
620
835
802
224
486
231
441
768
284
831
473
594
694
220
171
750
344
351
365
199
478
908
585
217
175
307
495
166
789
174
213
280
608
406
350
337
361
884
198
610
649
535
321
493
314
629
590
485
924
525
348
187
486
438
589
217
781
238
822
520
246
662
665
216
180
780
200
204
616
420
739
409
638
554
189
692
713
828
381
500
400
215
556
383
518
309
447
632
817
378
167
215
711
414
667
323
487
251
728
235
724
162
224
499
202
347
287
691
250
377
653
232
444
306
227
254
421
381
337
682
419
435
450
891
258
514
530
262
463
207
337
570
615
590
457
188
256
354
204
206
564
245
446
189
272
620
277
297
614
504
873
807
327
243
281
411
587
193
760
203
951
205
181
211
462
930
351
690
432
490
360
853
626
705
391
516
800
539
607
176
894
614
747
921
762
508
437
469
173
320
238
331
219
778
203
558
502
176
342
443
578
661
770
658
682
175
500
351
242
647
770
889
545
745
536
436
482
325
568
382
846
794
435
485
179
683
861
624
169
352
278
517
197
571
713
706
966
224
466
762
328
231
722
813
543
453
670
180
864
820
233
190
178
585
872
560
654
474
264
565
221
759
666
672
405
806
640
546
193
691
486
361
573
819
455
740
231
755
270
607
470
268
313
325
386
216
863
345
317
269
296
753
733
172
785
505
413
730
652
503
609
283
798
437
736
598
796
836
285
635
719
885
553
405
865
469
634
381
560
259
365
231
206
862
366
235
492
168
754
541
582
346
924
485
367
734
226
592
602
631
205
845
464
220
790
604
675
782
813
333
258
638
243
399
358
168
403
489
453
334
203
647
291
867
499
269
794
602
199
449
257
588
275
591
829
557
785
200
946
689
241
496
417
406
692
267
683
691
499
565
680
776
234
564
163
258
447
683
326
315
227
165
477
239
306
814
243
502
920
515
552
244
191
188
959
633
402
250
216
501
294
665
539
262
334
255
166
470
478
501
504
874
666
456
326
382
770
288
549
238
447
366
656
176
588
242
658
273
339
802
208
459
573
502
578
736
387
297
519
793
366
599
190
402
547
229
339
395
701
691
453
275
495
765
253
615
228
437
463
481
477
190
277
854
514
706
583
797
338
709
380
697
488
399
715
576
790
513
204
772
506
174
345
404
302
498
269
624
367
610
331
360
301
781
770
941
536
469
181
246
722
350
740
293
545
358
406
656
218
613
383
197
182
522
351
620
533
769
841
670
405
720
684
433
372
754
438
752
599
587
573
162
686
232
338
176
367
301
693
761
266
333
354
385
501
612
481
559
586
410
216
797
258
661
355
346
510
214
806
747
362
600
930
186
231
349
426
572
413
286
427
717
200
494
330
393
713
564
352
353
541
175
248
618
514
428
634
233
675
399
634
792
320
353
535
581
449
384
571
759
648
238
191
860
752
192
696
394
312
547
549
188
488
647
199
325
768
415
325
415
380
501
839
277
210
203
653
694
795
368
330
388
644
190
555
611
234
472
543
391
365
236
766
184
175
801
758
580
598
542
174
514
862
655
662
484
463
673
409
649
847
303
538
382
259
630
485
794
271
180
358
177
591
466
602
483
323
307
164
486
411
751
677
395
424
279
692
386
671
178
230
362
360
179
400
333
164
885
685
816
818
186
778
252
480
303
788
353
840
657
507
663
883
936
413
450
278
168
703
282
527
193
529
491
210
788
162
573
635
165
548
366
235
448
463
187
567
693
224
238
163
627
910
465
326
303
677
406
210
604
210
862
446
625
596
484
312
178
554
733
559
539
519
322
505
244
565
165
258
778
779
575
449
504
408
818
603
257
478
840
485
432
542
176
610
236
657
321
273
620
405
923
351
765
433
728
604
793
457
338
752
208
433
673
205
727
246
619
852
603
552
803
191
767
163
782
251
289
865
532
927
575
507
518
360
380
346
474
382
798
411
787
305
430
387
248
553
307
850
528
268
210
425
314
643
439
570
414
325
218
428
427
339
161
734
336
668
177
328
414
525
793
238
879
742
969
402
584
190
223
320
446
596
707
299
530
781
407
547
630
224
301
375
377
860
789
404
409
454
458
184
755
239
327
613
558
509
562
226
342
504
302
292
480
262
339
452
164
270
170
295
536
635
338
491
691
465
725
500
330
627
258
561
311
354
532
763
234
750
243
560
714
630
566
404
800
280
581
492
216
373
364
195
186
230
263
620
565
625
683
447
374
881
503
317
653
632
277
471
499
558
247
901
472
405
836
222
330
872
416
664
301
397
328
526
928
808
500
625
260
431
580
499
791
441
214
973
675
503
463
651
456
351
174
237
678
558
910
301
408
778
333
241
720
175
573
278
290
330
619
240
515
583
202
601
183
716
817
336
259
314
171
411
639
161
524
608
234
450
602
687
929
585
587
368
954
539
362
211
249
415
477
324
560
397
541
429
431
584
253
690
595
355
365
780
347
240
240
236
504
281
858
472
597
511
179
478
523
188
683
314
909
352
306
872
598
640
545
179
217
386
199
557
493
359
496
457
322
784
336
452
499
491
712
299
850
779
257
277
616
415
681
359
291
501
525
725
788
650
783
879
287
436
346
207
787
290
580
719
721
610
432
166
283
287
654
446
495
277
296
170
530
553
743
191
722
363
749
388
333
683
179
223
692
741
833
496
454
274
475
909
165
672
442
930
256
547
606
358
919
427
376
426
608
756
557
275
702
584
742
191
237
178
327
266
348
741
279
248
653
438
575
319
313
523
703
186
490
871
213
400
371
588
802
210
872
650
217
442
536
419
577
185
259
412
437
254
571
725
514
638
662
450
196
166
373
486
168
307
454
529
686
167
597
712
298
445
857
488
406
716
190
454
430
500
629
273
590
646
659
632
581
259
435
695
386
459
278
416
194
475
503
221
552
559
293
468
422
756
353
578
176
200
262
445
186
432
596
387
507
436
219
461
289
384
283
259
199
543
719
452
435
308
502
549
219
240
233
333
319
850
325
757
665
442
451
352
540
530
244
487
776
346
741
410
690
213
715
193
167
373
343
513
659
436
173
242
566
244
725
449
857
447
249
384
182
536
182
637
259
698
242
785
838
338
467
339
590
266
355
245
626
525
361
265
900
662
234
717
470
445
623
652
625
240
543
369
379
636
260
905
295
455
502
327
486
177
869
381
423
486
720
380
682
334
441
271
810
429
889
673
747
561
592
748
287
578
730
590
614
259
427
741
805
498
645
527
574
575
401
534
949
195
287
593
229
486
423
791
888
213
474
240
652
955
605
241
358
473
872
547
712
224
201
487
511
675
308
426
411
295
455
251
292
624
243
491
787
719
165
452
567
181
687
174
341
669
551
639
770
440
969
536
479
534
193
594
268
229
530
237
355
417
268
389
215
829
503
322
260
465
787
822
503
555
805
566
745
484
221
857
523
261
426
549
851
273
613
243
268
642
314
161
316
291
629
496
313
738
167
352
631
707
309
628
260
393
398
170
399
165
183
591
838
230
206
664
611
369
339
635
351
695
533
661
456
496
645
890
332
498
661
435
334
540
657
475
517
192
430
452
652
251
313
413
292
620
363
814
562
739
314
381
211
745
206
480
729
303
193
234
792
517
654
443
828
240
473
371
161
585
561
195
250
209
440
425
847
188
423
297
446
343
406
290
460
185
224
740
466
660
686
300
333
387
676
497
250
404
709
333
384
286
534
693
394
612
892
181
290
224
208
387
648
214
338
344
238
483
564
668
237
376
315
244
195
323
678
263
349
302
643
648
810
735
314
264
450
750
609
163
162
513
699
448
763
171
278
376
351
423
175
391
569
314
299
301
265
662
422
251
239
675
339
207
975
268
282
496
360
566
365
305
296
549
185
556
213
686
784
551
449
646
490
284
604
523
213
208
321
461
361
788
576
320
625
171
230
403
803
275
559
330
483
696
188
801
485
786
271
578
420
518
163
297
336
615
838
468
186
251
592
235
270
922
555
549
378
364
263
934
358
903
412
194
621
169
655
630
563
629
290
401
274
617
193
600
228
250
839
262
645
299
609
772
180
418
436
599
502
170
609
252
486
474
766
367
308
860
580
344
511
874
352
555
462
864
361
775
547
438
209
614
552
359
651
456
247
875
659
566
340
595
672
861
678
168
492
380
388
218
440
255
207
747
419
393
672
596
732
218
480
200
560
233
297
598
248
253
160
424
882
835
212
715
641
166
165
199
312
185
572
374
691
652
687
616
192
571
268
161
704
699
715
772
408
743
481
525
602
674
733
575
175
687
382
371
289
203
499
279
399
188
544
394
561
294
554
546
441
508
316
721
422
500
930
351
735
677
325
192
765
711
813
467
214
383
527
293
799
284
456
638
313
545
415
613
493
615
291
216
208
225
299
206
275
696
543
192
622
366
586
317
306
638
582
275
521
830
240
463
678
475
525
623
487
514
490
173
868
717
725
666
203
413
936
537
202
223
185
836
624
293
528
533
765
469
766
634
412
721
220
856
703
508
223
256
314
188
868
190
930
252
564
202
678
711
249
761
224
726
302
633
580
635
251
241
165
576
390
166
380
448
406
185
564
793
661
185
560
427
434
790
487
647
655
161
535
338
231
298
681
171
303
323
214
225
177
594
162
686
509
378
610
456
663
380
508
732
170
303
352
314
953
687
496
298
734
314
373
534
306
330
753
532
462
466
622
615
478
279
304
339
414
776
433
307
328
718
486
331
224
711
654
334
614
295
723
636
274
351
691
345
380
686
428
785
313
770
380
225
721
897
228
245
519
490
469
207
728
415
181
310
312
784
299
577
587
413
602
800
777
412
858
453
526
322
759
369
357
558
701
516
453
423
554
426
673
215
671
717
455
318
857
905
192
529
611
359
384
806
496
436
263
583
344
483
215
567
384
480
654
297
600
252
373
772
201
440
490
329
734
544
483
274
680
728
527
574
460
313
194
593
916
235
711
302
516
672
572
711
631
548
399
514
460
740
459
651
789
407
718
525
211
868
807
296
666
467
556
937
238
292
479
507
860
523
796
236
544
207
485
496
864
176
681
312
595
242
456
271
286
486
508
724
328
512
534
226
493
508
904
368
733
801
604
315
528
835
268
218
444
782
349
334
407
684
614
447
645
415
358
777
200
592
239
626
299
357
183
505
676
865
192
772
257
301
194
309
631
528
782
696
656
646
715
367
303
554
565
826
665
290
200
206
582
434
518
434
518
545
187
208
452
515
689
657
584
200
669
483
443
612
686
376
564
530
367
484
322
234
478
503
225
480
254
547
284
514
440
829
261
521
634
784
464
236
250
368
373
603
548
293
325
453
750
370
510
250
372
828
484
423
188
215
251
551
409
657
430
163
553
576
403
390
542
170
844
559
558
522
422
501
257
416
712
267
422
651
378
409
203
316
255
640
487
204
238
235
285
516
226
917
260
753
409
303
796
177
197
281
641
668
186
385
244
246
204
556
199
359
804
354
254
470
330
673
641
257
556
407
500
392
288
411
485
408
286
478
505
597
527
301
660
249
472
672
517
430
373
291
249
813
168
421
776
908
162
251
183
342
332
252
513
859
490
872
696
250
689
351
225
778
289
525
578
328
555
731
816
360
837
623
329
268
567
385
675
563
223
160
814
812
220
173
506
614
681
174
260
365
450
612
596
901
871
628
467
305
659
607
471
224
484
765
556
204
298
299
329
224
545
808
603
180
216
900
216
329
614
418
229
313
797
484
198
375
760
553
225
595
916
559
754
164
614
473
176
607
190
386
902
873
377
454
307
828
265
432
290
601
349
642
344
511
774
861
731
229
418
426
334
765
620
216
441
696
445
188
304
318
618
469
219
463
516
638
199
617
728
239
228
529
356
283
236
485
212
601
465
572
160
609
516
886
229
333
193
451
578
950
163
398
700
499
533
602
709
379
724
390
215
281
632
391
341
736
384
526
458
495
211
288
518
440
467
924
427
168
353
315
292
782
230
174
823
245
781
241
170
885
304
638
775
982
406
254
336
448
182
294
550
630
531
503
496
382
834
652
733
779
199
190
392
428
723
177
416
825
661
562
300
379
310
446
321
499
231
458
754
165
654
279
385
610
564
377
217
184
430
258
478
432
374
236
492
441
192
678
732
477
708
226
811
194
329
588
839
560
695
305
416
309
312
169
284
196
342
352
488
463
362
582
664
258
974
205
448
349
343
648
167
662
375
847
247
476
492
808
608
823
494
629
287
171
267
360
306
779
687
695
282
285
263
835
501
318
163
500
723
211
505
457
366
689
375
592
243
880
184
340
701
515
507
875
722
472
697
230
381
405
676
199
215
527
556
291
169
518
828
432
301
619
514
588
367
398
257
336
608
430
225
360
530
425
805
736
456
168
746
553
197
360
357
308
233
477
241
631
749
656
505
485
294
409
342
452
279
635
893
254
355
541
867
667
422
307
355
260
507
183
289
261
420
464
835
849
451
304
479
544
301
164
214
461
837
734
729
649
218
374
383
803
788
367
881
387
304
534
503
188
818
458
267
568
242
404
482
537
301
737
833
869
328
273
534
727
235
319
217
242
546
676
842
395
200
292
461
540
656
893
254
270
539
757
396
257
731
252
447
232
460
396
929
787
652
462
250
615
449
228
646
209
567
371
199
753
334
710
161
505
569
176
708
428
202
422
425
389
433
647
264
523
484
317
801
169
215
496
581
764
630
891
831
346
392
759
437
227
306
464
501
597
553
180
551
225
547
789
855
308
545
259
316
234
833
212
482
252
507
902
181
482
486
446
247
738
343
514
346
262
248
257
789
413
296
493
607
670
912
550
402
271
211
214
492
666
240
575
167
181
247
283
238
407
422
404
300
445
219
658
740
262
790
705
468
343
310
450
522
179
263
639
177
295
213
543
855
262
263
635
569
796
292
758
798
567
500
404
815
198
860
669
555
560
451
310
258
691
219
238
268
309
393
336
561
211
411
736
440
244
756
708
343
249
196
254
224
204
375
391
256
464
707
827
864
535
209
740
350
788
697
674
669
713
160
174
434
304
707
408
222
481
386
408
501
291
557
247
396
709
498
391
325
213
164
508
217
488
453
278
240
319
233
470
817
543
471
341
396
647
329
261
255
423
403
430
487
477
396
437
553
453
171
177
755
934
596
254
377
242
594
194
196
692
481
269
345
268
579
367
537
766
689
455
569
410
646
456
559
655
246
310
850
681
223
190
307
351
298
244
232
597
561
896
547
369
545
563
324
789
668
211
190
906
637
811
161
912
375
525
225
366
335
610
351
425
274
415
227
433
184
302
672
554
373
400
508
852
358
379
758
184
222
614
699
920
395
321
280
607
571
510
542
414
511
452
648
678
300
393
505
249
298
346
662
427
681
309
393
566
530
336
949
664
380
405
309
444
758
392
201
592
500
310
733
453
680
866
323
863
525
598
269
469
524
405
281
192
590
491
337
566
362
486
657
428
580
751
288
360
508
503
350
328
196
755
747
268
793
519
590
221
307
490
463
416
352
168
210
197
696
221
564
843
386
173
597
462
182
307
588
604
457
403
231
724
566
327
176
561
365
600
250
494
345
520
658
657
805
339
541
237
514
454
367
176
202
764
221
823
436
401
373
722
349
776
201
436
808
589
483
797
197
595
402
371
261
383
608
230
551
671
373
185
559
413
926
501
298
470
589
478
401
804
693
217
608
742
632
475
346
699
455
274
853
338
402
379
556
255
229
365
186
239
431
775
430
176
303
375
723
404
924
324
198
260
621
533
204
540
555
470
699
578
803
497
790
281
307
537
472
753
682
615
266
389
164
259
400
214
336
501
538
457
347
821
411
621
236
653
202
364
627
573
637
667
803
469
486
537
515
562
187
619
380
438
173
916
516
200
763
273
790
347
288
603
216
734
742
694
458
182
618
170
976
329
188
615
219
464
513
483
770
532
220
336
241
317
413
162
739
310
462
230
449
443
311
919
309
603
751
259
525
597
215
644
391
588
557
404
782
252
415
369
179
496
486
826
289
253
348
665
522
207
890
613
557
619
707
174
663
553
274
578
342
520
160
353
353
304
250
337
361
739
186
454
531
300
267
336
317
773
161
910
411
597
627
306
217
186
271
522
546
190
540
684
662
261
214
779
345
414
296
475
638
294
304
557
174
262
430
294
580
827
323
409
255
634
166
414
218
554
505
554
444
473
265
209
163
512
522
623
759
457
626
496
440
330
316
333
486
942
808
399
612
535
819
705
441
223
170
284
635
175
875
650
250
812
666
379
324
201
520
378
347
831
506
564
191
484
600
673
351
902
339
693
740
252
542
834
674
676
422
306
351
289
645
524
283
362
548
226
359
462
382
731
772
726
592
440
278
564
604
940
603
355
573
468
624
675
265
634
787
892
161
456
891
232
267
219
521
166
620
279
409
489
819
433
465
735
437
741
658
296
435
675
273
315
239
702
363
320
264
425
625
539
207
735
610
603
296
421
418
176
925
489
415
340
262
817
607
564
724
274
489
174
195
319
697
584
364
275
527
404
571
709
491
555
354
920
375
268
514
724
204
474
421
380
212
656
387
770
623
887
531
705
670
693
954
183
225
667
523
583
671
327
606
370
637
620
363
253
389
621
928
840
645
266
338
859
246
351
495
793
211
585
344
663
299
692
748
315
693
857
236
425
493
421
381
941
236
647
533
176
284
886
596
459
749
590
412
568
759
514
314
235
575
411
650
865
521
856
690
609
676
712
561
652
215
214
722
477
336
631
320
231
551
188
562
207
610
395
556
499
272
337
798
503
448
570
256
758
795
255
163
451
396
535
645
562
275
733
614
432
633
636
446
473
528
800
307
500
568
395
359
512
177
201
286
862
369
774
210
400
227
669
190
307
288
273
216
438
238
658
589
513
282
542
374
302
192
463
743
409
492
523
428
431
221
451
883
487
555
380
346
350
499
340
933
572
600
359
521
217
726
247
760
646
170
166
636
198
457
245
701
544
260
650
574
541
448
389
495
294
422
222
230
421
182
161
703
261
304
444
297
169
484
376
327
676
338
258
701
790
514
839
528
584
268
334
656
162
227
453
511
563
675
512
660
535
553
202
282
741
295
776
232
587
346
309
469
317
500
170
794
372
387
161
625
696
172
493
183
846
858
228
870
641
820
726
408
526
627
451
939
288
223
826
527
341
422
403
780
637
236
513
836
754
318
330
829
213
218
401
857
514
760
481
739
346
657
343
723
354
820
496
481
161
643
376
220
294
615
546
315
368
421
796
243
302
175
392
233
661
311
395
312
821
203
273
781
289
731
605
632
494
433
362
320
255
198
421
310
968
470
666
895
468
208
369
702
162
622
370
518
676
531
755
897
569
358
820
610
383
773
669
511
251
265
708
559
417
688
361
580
274
520
366
269
372
805
833
269
574
445
379
564
573
724
474
340
362
384
324
303
852
943
165
269
555
606
425
824
401
425
208
559
471
540
638
327
586
919
188
854
610
301
702
259
649
161
424
855
583
494
663
742
641
591
660
197
300
634
226
171
384
575
261
594
310
790
719
296
629
728
367
234
662
521
408
898
264
280
856
351
382
441
538
522
384
882
691
267
445
365
552
214
409
797
958
245
497
409
696
429
565
333
474
863
181
746
412
176
354
508
440
160
323
264
683
663
373
535
466
545
827
434
863
309
565
764
471
406
585
562
289
289
457
580
186
309
232
510
173
242
318
409
450
284
329
434
847
204
175
252
627
299
483
234
539
787
700
463
326
579
667
273
566
798
418
352
187
208
220
363
832
206
375
270
409
497
273
230
775
336
624
451
186
299
824
579
162
874
429
643
195
263
792
230
457
544
570
211
540
803
535
160
739
164
452
584
270
599
559
573
570
177
332
241
252
844
320
191
881
287
484
536
195
374
297
656
735
455
656
518
320
708
549
547
630
615
508
363
958
729
769
714
850
302
186
832
264
397
584
214
476
747
217
953
329
312
367
680
593
250
214
208
420
699
829
513
300
525
401
368
314
636
514
595
673
502
394
788
389
903
808
565
775
905
360
221
606
601
668
845
399
312
289
563
452
277
683
386
637
474
781
542
728
305
265
281
869
891
783
376
567
444
222
577
693
649
665
227
182
228
699
326
807
521
630
298
583
227
867
492
518
385
450
867
619
176
593
304
167
187
849
847
690
162
265
185
756
260
496
710
217
580
529
491
571
180
443
499
854
273
161
284
462
252
643
281
313
307
653
497
554
470
249
572
494
359
340
411
722
589
324
410
657
567
247
592
169
577
609
657
658
648
587
349
487
278
625
377
630
645
932
446
737
168
730
707
512
579
493
628
857
709
507
330
712
397
397
669
551
806
583
786
847
308
475
674
255
561
610
884
363
396
292
184
214
410
743
390
494
589
381
834
211
664
592
360
772
781
467
545
908
304
219
204
390
238
743
356
173
493
747
293
653
470
582
273
477
297
206
226
882
912
757
190
641
624
292
257
523
444
553
254
720
680
329
175
378
546
601
555
872
600
713
182
177
224
674
497
330
387
508
362
360
724
414
281
580
521
742
181
312
640
191
203
593
511
465
430
428
442
739
233
605
911
749
573
682
717
870
186
412
244
490
754
165
402
241
393
337
321
251
688
168
458
546
844
479
862
855
234
283
212
347
350
312
287
837
824
354
471
424
614
747
430
470
449
372
341
835
461
241
180
429
477
615
412
593
197
239
383
217
340
712
536
790
592
576
344
642
573
695
282
188
185
807
595
480
328
566
789
793
574
709
418
209
445
700
296
236
358
465
310
389
386
757
710
444
298
589
418
177
452
559
487
374
635
263
682
766
182
308
806
516
191
548
178
738
191
287
677
791
352
534
693
426
507
461
802
688
748
566
792
620
554
787
308
718
871
488
214
743
169
755
569
451
370
244
550
372
484
612
544
324
490
296
196
916
297
319
781
520
671
332
616
321
183
404
256
395
886
622
371
162
577
174
456
177
447
680
219
603
203
647
513
418
449
247
206
369
781
958
469
205
368
281
793
293
230
493
505
334
524
369
418
791
608
189
345
219
338
736
409
511
437
228
499
362
437
435
689
167
410
357
618
354
561
490
894
518
471
719
296
238
459
554
392
786
264
535
164
180
403
206
310
251
498
325
176
567
915
815
402
482
863
361
389
377
581
432
437
511
667
711
429
487
303
206
418
462
348
374
268
365
509
525
531
722
520
160
476
320
247
469
217
614
212
320
350
335
428
240
251
356
791
362
339
659
265
271
733
589
468
651
179
244
841
213
459
170
488
745
404
580
192
528
504
383
383
657
391
804
350
845
694
770
392
201
237
349
874
232
743
252
502
689
320
329
690
579
310
740
313
576
196
510
169
534
716
268
290
941
467
752
727
407
470
463
576
608
407
167
640
396
422
678
954
281
373
491
498
219
603
304
201
723
665
333
813
375
655
747
770
434
430
178
492
215
259
389
613
589
256
302
268
463
469
220
785
334
844
606
325
212
510
406
789
765
296
476
292
786
524
253
210
729
455
173
180
675
478
470
760
292
392
341
398
304
750
356
346
690
647
909
774
350
228
354
435
523
222
330
483
235
165
466
288
389
522
435
323
813
216
404
446
466
403
516
356
525
719
187
529
545
583
171
250
182
446
767
189
438
347
265
175
624
673
760
954
474
194
368
542
194
589
359
728
446
383
326
401
636
310
244
622
754
377
230
326
737
232
302
337
620
265
890
348
700
374
319
557
531
273
244
472
435
626
620
192
505
254
259
412
516
195
718
161
387
686
322
162
520
788
561
243
421
315
198
671
308
326
528
532
202
177
694
621
178
472
351
707
622
295
753
615
587
876
209
411
570
241
437
440
532
718
620
519
623
431
725
769
508
197
258
583
604
228
213
214
256
552
701
300
631
662
327
724
367
189
194
439
552
168
770
437
416
610
168
500
235
182
360
637
587
602
241
686
460
463
225
472
615
766
853
185
241
507
693
585
701
251
609
554
566
313
251
539
259
415
544
385
401
253
819
220
270
725
341
291
720
449
309
383
636
235
255
295
495
270
430
448
573
534
499
169
917
198
180
212
436
232
298
540
491
360
533
346
325
429
236
356
615
296
407
210
255
746
188
492
644
279
226
840
347
643
396
618
654
592
228
384
317
208
711
934
468
546
591
314
368
658
327
802
780
368
388
247
674
739
518
342
546
810
287
323
459
600
260
200
803
522
426
466
510
549
713
606
184
479
546
396
183
192
521
780
700
637
260
868
694
652
372
609
755
281
471
448
402
754
333
568
862
217
776
399
949
879
521
671
579
476
343
309
435
576
246
596
613
609
348
455
402
670
575
601
820
326
462
188
169
725
183
764
772
273
494
425
691
760
602
755
523
477
330
673
624
454
628
210
528
809
517
197
213
181
747
415
449
700
644
897
561
555
803
265
223
355
504
246
167
604
657
624
477
180
801
388
512
737
646
186
636
197
187
445
453
564
905
423
844
236
935
659
383
177
340
532
734
635
398
310
705
288
211
234
227
493
778
860
619
315
676
743
342
674
483
777
387
491
677
426
313
389
692
388
891
670
248
657
267
579
793
486
386
496
568
322
780
946
503
292
538
367
283
683
465
287
578
387
531
511
701
531
432
518
221
537
710
869
164
599
406
588
245
631
498
418
688
752
348
798
425
194
614
788
485
908
230
641
317
679
911
881
218
361
218
829
177
274
176
679
395
265
294
255
711
518
442
223
422
880
267
568
263
525
365
213
202
366
222
459
185
278
419
194
720
573
673
345
422
483
667
770
923
410
495
551
239
616
822
500
472
324
658
829
522
806
671
374
722
581
254
299
273
472
163
877
249
179
223
808
805
631
504
444
264
339
536
624
310
616
217
494
786
308
168
500
490
401
243
452
656
200
572
216
406
773
253
189
370
578
220
737
439
557
664
739
166
205
959
874
646
788
544
270
725
315
767
196
519
238
464
783
553
672
319
311
564
550
397
351
259
281
810
862
760
459
747
506
344
198
740
514
694
296
459
776
358
293
287
296
545
758
169
387
319
656
546
248
531
684
370
237
264
625
209
754
767
421
564
233
698
527
573
297
460
325
184
906
459
357
763
194
572
572
245
295
317
197
355
627
224
892
673
725
493
337
163
478
331
817
728
476
700
634
182
822
483
646
754
604
527
716
477
277
465
300
259
401
842
627
470
778
871
339
602
503
661
505
536
528
209
302
584
657
413
383
636
390
920
237
308
442
399
237
424
674
195
561
693
877
624
638
684
450
251
419
522
464
631
514
325
474
224
207
385
488
744
188
264
461
611
248
575
664
534
608
439
344
534
305
882
606
281
280
385
780
525
380
206
320
911
588
747
521
357
303
948
502
552
432
304
731
832
618
227
539
181
347
266
243
519
617
489
375
934
689
284
282
546
222
205
393
294
574
341
678
535
785
309
634
676
371
253
424
762
386
543
424
387
451
311
331
366
577
361
306
607
348
665
788
750
500
831
373
549
345
200
429
676
243
361
300
354
468
942
716
302
212
303
749
288
667
364
265
693
255
818
832
897
697
783
198
472
371
603
256
556
562
167
585
670
413
534
390
507
369
948
882
917
530
475
741
713
496
745
223
172
639
371
350
558
565
712
385
440
801
185
503
881
209
482
783
167
507
290
366
421
328
662
570
263
562
282
710
314
160
801
307
169
636
374
397
516
366
200
623
360
289
628
803
721
605
214
892
475
259
637
361
187
294
497
362
304
340
710
190
246
586
353
243
277
620
524
843
593
523
240
208
664
781
240
380
767
422
466
174
413
397
668
638
634
392
233
387
370
306
320
349
495
551
776
238
363
271
604
543
364
192
474
304
249
538
202
292
496
455
719
168
205
448
162
198
289
516
453
563
623
462
806
335
175
470
811
647
627
810
897
631
509
844
627
441
370
165
369
415
889
199
435
884
695
592
396
507
177
301
873
462
537
534
904
323
637
375
615
860
483
605
629
833
426
435
653
693
776
308
766
751
917
460
367
278
784
219
580
269
649
480
321
516
763
397
517
957
179
577
330
822
250
463
421
887
215
336
767
408
689
291
335
163
292
411
270
732
192
512
553
366
461
265
394
586
182
888
627
575
488
463
574
462
256
569
542
459
221
376
487
507
550
659
447
298
224
573
830
267
309
222
930
172
333
496
456
421
173
488
274
665
346
328
237
444
253
260
852
906
339
249
628
645
359
794
647
268
193
436
703
612
446
514
538
297
436
193
661
173
541
463
566
301
247
853
325
398
791
212
206
379
381
509
767
324
497
702
456
217
352
317
884
673
455
174
396
494
426
336
386
566
339
253
375
285
542
270
608
630
583
391
353
789
375
607
473
171
185
298
920
615
689
832
476
512
617
461
438
363
601
712
285
248
348
407
177
564
306
466
265
574
744
575
446
777
168
574
599
553
187
225
940
411
408
288
400
186
709
794
359
193
827
604
497
287
548
284
222
169
230
307
228
630
223
649
270
864
540
230
222
424
568
819
770
588
869
196
704
723
470
480
553
708
624
563
210
255
266
472
319
242
581
574
318
728
429
442
298
662
234
189
287
415
509
371
187
442
363
169
299
328
484
338
201
451
763
281
575
196
461
366
271
263
288
206
273
506
448
610
617
269
249
288
644
914
256
342
726
458
545
764
575
477
502
458
251
328
486
166
693
724
630
289
439
826
519
212
612
415
304
273
482
576
762
605
640
371
480
480
315
287
574
317
229
604
735
553
439
414
236
301
591
641
518
183
203
575
852
645
249
183
496
184
313
508
415
726
593
496
250
563
626
161
345
754
345
486
340
566
487
407
522
978
885
172
651
460
465
342
223
423
251
679
453
292
487
640
781
219
360
206
171
508
390
583
734
854
645
576
302
702
621
303
254
397
583
810
241
601
240
214
240
735
182
264
587
464
716
798
647
207
281
928
420
163
263
912
434
824
378
366
264
886
527
744
576
225
580
402
387
217
189
512
301
382
537
626
626
195
299
273
253
648
685
684
203
513
728
591
813
233
772
265
533
336
389
561
265
810
804
565
435
809
442
614
657
253
658
608
520
592
458
603
606
208
938
237
884
334
973
780
596
741
708
651
277
359
713
358
222
394
336
499
235
625
306
218
605
334
280
711
782
703
718
491
251
409
791
445
655
507
626
498
351
599
353
180
727
365
305
678
905
484
581
386
460
363
500
531
898
161
575
286
571
409
194
730
459
580
368
730
607
556
385
648
713
167
216
375
544
279
437
593
295
439
519
544
563
322
683
238
363
269
873
542
162
675
280
219
589
218
862
327
858
284
618
631
187
644
756
347
413
711
535
327
312
187
722
869
403
184
460
493
793
577
595
455
276
405
218
665
349
910
896
307
205
298
261
863
292
567
207
506
294
546
456
807
216
395
204
250
291
531
387
540
458
234
263
177
273
567
507
310
214
245
232
201
629
832
547
441
815
409
527
244
759
313
208
674
325
678
172
639
426
193
450
567
762
256
780
489
188
598
504
343
570
529
303
476
477
634
784
911
606
359
366
420
681
567
344
307
748
544
283
406
327
200
369
458
802
576
307
389
550
768
379
333
196
425
339
871
421
407
675
203
469
674
231
446
875
357
566
904
390
646
265
776
809
248
577
384
291
531
631
429
397
861
192
503
712
191
163
666
301
847
237
330
651
662
385
554
938
712
509
633
246
208
323
463
797
314
489
368
391
429
272
568
637
460
229
314
654
316
402
423
511
175
537
821
510
326
599
169
546
741
244
203
789
638
612
668
531
521
545
407
319
309
523
282
385
815
271
768
228
261
632
602
284
530
564
302
614
436
391
208
201
693
755
426
347
267
892
269
360
246
205
386
621
337
207
407
164
288
374
245
359
316
219
745
353
841
277
787
404
535
287
586
451
704
415
228
500
654
597
688
650
463
251
647
379
212
279
625
454
342
479
828
715
241
198
364
512
355
666
646
390
601
363
636
738
800
178
420
191
446
511
438
426
695
295
587
541
468
764
353
433
488
214
169
271
334
203
801
556
421
200
793
687
193
766
258
501
542
350
397
535
425
196
500
640
340
797
585
422
545
649
574
407
476
502
430
687
574
745
171
423
481
608
187
235
809
379
382
252
217
395
286
505
542
388
656
458
744
307
504
192
429
511
632
863
668
948
643
244
666
373
877
174
288
348
644
494
683
632
333
359
382
516
725
259
746
386
435
313
312
189
866
460
604
670
624
162
829
837
291
263
167
400
884
213
374
352
764
561
291
188
517
503
441
300
539
681
629
826
416
596
332
268
855
864
679
330
171
666
432
543
351
303
687
557
290
668
664
639
211
478
556
348
221
181
437
729
757
475
420
179
408
769
825
719
351
575
239
568
687
971
252
794
174
882
412
282
593
629
777
651
694
426
223
417
730
264
467
615
724
486
430
458
423
244
168
219
222
561
627
321
213
181
252
429
663
476
470
544
292
268
488
807
610
766
371
496
554
274
541
576
237
590
216
899
380
648
665
921
660
285
241
379
162
247
207
575
192
570
653
759
859
290
492
192
629
740
494
882
339
412
552
456
205
695
858
500
515
535
524
547
531
347
199
543
316
659
765
563
220
414
421
286
241
618
585
465
241
576
638
609
389
332
332
906
598
935
569
404
737
631
573
599
745
245
692
185
355
294
174
439
262
516
428
268
205
182
638
438
517
182
489
189
420
184
303
740
709
623
895
203
654
518
313
192
211
521
327
483
292
558
498
667
417
398
524
418
851
529
806
268
710
467
657
450
618
444
774
613
606
431
513
700
330
507
403
402
558
534
612
245
811
566
653
557
469
500
689
466
823
733
456
266
685
329
319
442
612
198
321
271
654
443
781
569
370
223
335
223
463
246
174
261
827
423
195
932
236
494
650
313
177
313
633
386
712
857
183
187
445
714
488
571
162
807
183
597
192
715
339
183
859
192
239
515
253
785
207
716
428
251
592
282
477
204
338
823
258
210
369
359
512
544
600
666
292
494
517
231
309
708
238
649
723
603
300
753
538
197
717
901
660
178
628
550
690
523
170
716
372
742
787
293
507
355
479
221
386
693
740
437
173
759
605
596
459
358
642
244
372
285
340
322
715
360
515
258
706
691
206
225
945
176
449
523
496
310
283
432
222
668
628
327
305
433
823
763
507
268
711
560
530
633
971
630
885
597
818
887
626
581
163
372
429
345
879
225
568
672
459
608
491
285
660
182
620
478
739
425
534
175
363
423
168
550
367
414
771
169
261
241
804
438
343
777
197
667
199
442
318
243
438
302
615
671
303
672
645
502
217
355
328
682
366
476
243
170
797
585
189
652
362
444
226
493
170
845
218
400
369
469
356
405
421
673
507
489
836
306
599
580
506
198
206
258
351
160
465
490
317
404
477
592
551
282
499
641
247
704
198
719
485
842
776
446
315
462
235
884
710
662
572
475
824
544
562
599
357
493
633
629
403
230
618
395
316
167
756
654
835
780
247
190
665
319
419
299
236
419
425
552
645
720
442
207
401
204
792
585
169
288
332
790
835
691
476
734
337
700
188
261
259
844
437
335
278
534
206
575
187
776
523
636
406
199
456
886
422
405
801
514
515
162
254
412
427
287
226
894
874
722
206
617
251
500
199
397
292
277
478
248
879
243
618
201
555
270
703
751
534
342
357
495
181
687
312
261
172
258
424
494
214
269
365
497
646
658
440
575
942
543
628
381
650
295
697
374
279
548
436
511
536
166
658
780
375
162
170
369
198
392
183
299
655
520
509
322
398
193
300
306
620
720
519
570
487
490
655
279
479
599
795
846
598
578
534
296
733
582
620
183
242
377
912
259
408
478
294
273
621
248
611
580
543
549
563
444
377
206
185
410
327
303
302
280
341
784
733
600
320
498
364
588
253
824
364
628
522
372
388
361
334
483
246
459
597
609
546
201
628
336
246
933
249
809
713
163
857
591
700
472
324
817
259
245
469
275
199
765
494
321
780
272
851
337
418
296
615
515
578
183
343
212
512
312
664
842
585
764
417
935
926
889
299
694
619
702
726
693
166
327
673
827
823
455
179
559
183
672
367
179
371
520
642
562
260
339
612
315
706
322
242
389
398
389
683
786
670
705
407
184
674
392
212
613
449
547
501
673
329
448
518
256
339
295
195
574
387
769
581
333
249
916
547
838
162
191
753
882
492
439
278
289
292
588
579
733
183
409
616
200
593
227
332
270
401
596
215
281
385
295
749
500
534
251
257
615
363
418
892
599
201
467
266
400
228
424
964
241
511
161
565
517
747
625
399
278
363
292
973
449
729
341
204
627
193
656
811
174
278
267
550
354
417
585
813
505
184
714
554
346
650
228
599
485
807
421
815
442
727
657
316
430
524
625
356
455
680
466
757
277
420
209
263
407
891
218
216
264
176
667
231
170
199
669
298
315
264
226
437
210
709
447
216
893
601
718
519
794
758
571
311
283
667
621
189
474
737
209
557
235
647
209
309
245
333
588
536
443
568
423
319
467
862
824
297
293
614
740
698
576
767
514
332
245
583
504
299
974
424
759
433
202
261
396
310
168
903
663
325
238
605
318
707
235
655
584
472
411
455
594
187
876
288
376
392
257
739
523
702
713
471
193
644
619
480
749
825
872
608
261
708
549
684
291
742
509
586
284
853
191
543
610
366
519
615
386
371
643
172
495
664
424
607
406
255
365
331
346
860
475
519
355
546
382
337
526
191
510
661
232
558
513
160
496
529
232
172
342
465
809
301
608
265
853
311
746
387
560
200
447
279
398
361
817
336
604
209
570
257
162
709
515
539
603
558
691
490
276
701
340
235
523
527
454
319
762
854
709
764
259
437
653
335
626
294
420
287
533
644
554
198
703
440
902
165
179
393
516
304
862
380
453
540
216
708
512
283
443
433
826
268
167
245
396
714
831
365
495
780
268
486
561
175
161
200
577
894
522
767
526
316
231
500
391
788
355
412
741
282
936
751
390
715
282
431
547
264
232
585
234
580
505
294
458
823
435
532
421
504
689
748
193
289
279
270
511
490
249
353
914
244
853
250
761
367
618
168
501
664
492
536
494
380
625
498
202
516
727
357
369
295
804
601
532
524
291
165
332
658
222
538
281
387
501
331
259
216
595
592
439
892
526
221
720
632
192
787
725
355
793
449
175
510
240
378
682
931
244
311
578
290
496
187
427
726
391
674
858
922
852
617
440
692
468
469
835
262
444
356
426
488
831
427
394
654
737
514
427
382
758
227
678
329
724
728
764
385
205
356
442
378
372
580
461
363
205
360
389
736
275
202
273
277
283
248
570
328
815
162
294
246
828
370
565
428
617
293
168
276
364
219
822
415
301
884
665
710
779
261
721
691
524
592
564
271
371
790
442
292
338
517
451
832
371
775
604
687
520
372
347
635
617
559
774
313
275
340
377
880
465
790
484
887
548
309
325
811
606
559
630
291
652
545
392
274
468
409
502
826
597
678
379
631
320
304
439
361
452
902
176
768
172
196
402
263
206
758
564
247
577
596
166
297
869
381
224
626
642
377
264
369
193
315
211
781
470
362
534
468
788
327
318
747
481
473
383
398
208
165
821
417
713
308
653
429
289
170
881
723
294
240
294
618
498
323
792
345
296
427
471
431
189
806
766
789
285
725
444
458
812
279
538
471
365
202
670
511
400
692
648
736
201
687
329
361
249
378
172
522
298
340
443
762
294
578
633
764
677
374
442
462
846
425
321
756
317
458
665
373
425
254
822
401
572
512
169
357
788
838
284
312
285
183
300
540
190
182
284
618
448
214
747
864
335
769
387
554
311
786
309
435
726
270
930
655
820
289
497
515
491
539
440
249
885
432
613
457
384
628
836
337
340
474
189
302
482
742
239
203
428
190
730
205
588
744
181
454
175
724
561
321
540
323
368
619
454
204
287
199
453
226
517
842
883
668
374
463
728
505
657
185
580
333
674
514
317
468
178
600
751
576
601
370
300
492
678
244
408
244
661
755
743
194
555
415
331
618
194
404
757
489
441
269
293
201
219
335
856
502
883
444
369
652
203
285
241
716
473
434
362
763
295
368
328
731
377
333
263
340
405
877
475
461
243
589
458
270
166
335
223
546
222
613
262
775
189
308
517
560
468
749
190
532
649
570
718
436
223
747
292
346
242
515
489
800
593
646
522
766
322
295
385
355
485
564
901
503
274
506
675
490
503
396
359
195
237
653
334
218
760
418
515
579
410
458
531
488
190
698
192
323
486
303
616
160
759
293
504
472
161
549
188
252
536
540
328
695
305
470
857
575
418
770
349
635
770
243
218
326
167
271
469
361
493
558
234
771
513
219
686
290
548
227
604
832
468
192
407
760
468
711
653
558
802
527
299
785
737
282
282
501
440
234
469
791
750
509
418
586
336
737
444
778
562
774
911
645
282
692
597
167
402
476
292
748
439
213
492
286
788
503
522
185
444
278
264
272
204
439
579
524
754
328
341
389
513
364
259
359
614
560
437
283
488
185
177
260
739
390
218
820
770
763
660
341
367
719
335
528
487
358
484
497
310
349
211
470
749
224
231
212
328
865
174
684
828
329
605
653
680
449
354
315
592
341
562
480
239
577
493
237
393
658
179
203
639
699
797
356
672
777
569
312
391
408
452
813
465
423
345
627
473
634
463
187
415
466
371
291
789
664
350
850
507
227
459
410
163
589
485
850
299
652
231
377
541
548
450
174
881
196
371
579
606
419
585
454
803
492
483
488
801
201
511
712
404
558
236
317
385
901
286
448
169
217
463
502
213
458
322
670
412
854
735
293
454
418
638
652
335
317
252
278
306
529
371
420
490
313
172
537
453
477
546
397
537
163
241
168
534
351
546
272
718
474
628
755
883
684
488
580
296
183
705
488
181
334
641
323
166
505
163
641
340
762
589
818
503
238
601
169
265
609
330
480
457
504
311
398
519
583
866
580
831
630
933
713
803
169
540
863
945
776
603
279
388
316
660
496
623
417
258
313
813
480
337
583
652
673
219
831
244
277
689
489
621
544
576
572
399
677
770
355
800
167
564
191
514
814
270
373
474
593
201
222
272
368
728
680
815
332
747
678
175
437
401
425
712
716
624
498
163
389
771
490
270
585
426
431
428
751
409
826
216
602
292
536
299
831
288
836
450
565
347
738
455
291
490
305
758
321
741
229
505
211
383
258
390
759
488
213
274
409
338
555
517
519
407
332
685
205
503
358
907
859
421
447
288
738
485
824
363
452
387
660
575
550
294
329
669
437
742
514
446
445
471
211
254
580
795
501
213
671
568
290
244
906
475
294
318
172
770
607
869
405
269
229
471
944
687
170
541
667
214
714
203
605
207
400
598
404
299
811
567
673
352
512
572
257
212
630
259
376
707
226
527
232
625
556
503
440
764
648
361
606
599
407
442
479
329
535
864
441
355
848
905
260
844
295
219
465
200
363
222
684
292
162
192
363
486
639
689
597
688
772
456
892
388
636
357
332
635
260
640
165
574
281
563
638
523
350
714
506
538
547
696
194
247
167
614
332
663
490
681
189
257
646
387
251
558
256
739
727
414
602
377
567
415
185
688
767
662
305
365
298
561
420
673
452
196
534
315
467
590
688
338
242
183
385
443
214
594
681
353
644
765
877
331
626
360
630
422
868
250
288
585
437
367
224
376
633
316
313
606
367
210
356
236
288
499
352
777
245
362
574
333
375
764
537
302
332
208
182
180
191
972
228
587
673
392
207
551
678
215
896
415
501
642
737
658
355
732
587
242
615
471
472
890
523
444
203
387
641
238
428
628
198
320
465
409
754
484
348
260
398
183
372
688
202
923
446
360
411
764
879
437
570
336
302
764
697
627
303
539
611
323
160
593
277
360
596
351
302
587
379
388
163
501
228
182
571
533
238
592
375
252
737
809
234
448
407
377
326
693
195
481
266
718
506
406
593
316
196
538
603
813
762
661
239
190
273
684
866
442
231
537
473
673
632
539
554
347
504
328
334
439
270
671
560
282
501
198
165
373
684
404
891
800
892
241
218
203
324
666
449
909
767
369
392
736
218
231
445
380
657
426
602
671
531
623
602
268
320
365
455
831
967
670
351
897
835
462
512
193
506
294
632
828
506
244
327
380
764
455
374
572
452
560
638
930
837
378
481
269
385
311
525
727
574
588
338
610
833
458
733
260
527
428
364
671
574
214
433
276
673
535
183
777
374
599
503
627
910
568
761
602
400
946
289
962
493
694
764
184
401
424
604
191
663
168
698
262
337
600
612
539
692
360
731
795
871
278
226
170
858
379
798
256
643
476
336
729
696
862
713
714
298
906
766
694
217
592
186
441
421
870
322
289
669
342
205
559
264
303
578
628
180
586
278
358
471
306
549
788
588
512
289
312
524
922
330
513
288
352
471
277
603
554
632
463
620
781
502
543
688
683
252
631
189
336
363
192
658
214
525
775
716
567
348
420
701
622
402
415
237
430
321
608
819
445
781
425
714
293
495
280
512
831
631
269
540
271
164
441
460
649
232
361
236
242
593
573
320
416
377
225
316
173
555
479
618
257
842
785
698
202
280
175
658
567
745
404
830
313
518
481
222
259
585
488
387
391
165
264
205
336
579
596
916
574
681
612
347
649
204
514
871
312
383
599
609
253
638
479
296
350
165
576
645
788
873
549
592
663
635
380
781
428
481
265
320
474
169
163
163
567
583
392
164
363
385
254
798
708
179
344
407
383
372
169
291
537
416
721
730
476
232
450
179
269
319
757
706
437
448
488
279
568
599
554
378
667
187
522
888
323
234
331
219
304
525
716
778
604
197
285
357
193
276
842
902
645
372
347
173
431
694
627
324
590
449
209
275
260
770
263
162
245
593
728
391
415
584
319
744
192
846
407
426
261
259
497
321
227
270
673
690
487
691
764
470
744
554
404
301
621
357
215
822
380
723
376
710
365
342
618
622
593
191
167
712
626
555
206
877
321
239
529
378
170
544
196
535
196
440
495
784
576
196
279
661
916
264
895
511
416
377
700
212
265
574
877
944
207
728
789
340
769
184
584
180
545
654
332
551
586
406
302
333
266
807
768
474
430
658
334
231
605
854
372
419
216
652
381
323
901
376
179
483
757
383
450
305
552
237
444
584
185
460
304
634
191
830
523
181
472
886
327
885
789
511
849
507
183
415
386
802
208
339
198
454
666
490
558
317
361
610
330
527
472
322
966
456
305
539
751
449
752
775
863
362
161
506
545
810
762
753
467
865
849
363
454
396
859
510
660
632
780
564
162
598
241
773
299
279
489
259
584
549
530
564
837
307
225
385
471
281
251
667
539
666
285
493
210
774
582
327
362
849
940
393
539
197
268
556
215
799
535
213
359
457
274
723
707
294
229
264
582
735
307
886
348
273
620
531
261
587
702
254
523
671
898
302
692
487
603
438
179
276
371
241
913
738
440
183
618
760
217
456
792
459
178
396
183
852
263
775
344
776
351
286
692
315
495
738
272
562
616
497
786
185
305
347
367
891
406
610
213
252
288
399
245
850
447
203
356
518
857
653
819
168
640
602
457
536
208
618
569
165
637
410
618
228
520
561
227
550
655
665
273
586
677
190
676
764
844
378
372
330
242
642
273
241
277
401
246
609
549
527
600
385
654
410
177
164
448
182
662
890
483
330
560
215
519
204
593
604
401
195
191
437
718
664
941
260
937
680
578
555
443
716
427
464
491
754
910
567
460
467
864
458
738
478
412
911
322
349
549
479
636
166
760
381
271
307
525
323
712
620
298
188
206
279
696
545
810
637
831
255
538
179
957
225
608
412
446
352
727
903
299
160
228
216
239
366
167
621
664
310
365
356
535
402
724
707
223
335
331
258
866
557
456
435
279
368
547
613
408
177
298
333
236
240
367
558
739
299
766
235
229
303
165
472
373
837
249
585
592
229
176
600
564
491
580
193
469
686
441
281
290
695
220
396
392
696
373
375
246
647
505
330
284
460
407
264
470
692
674
841
495
488
382
523
504
540
167
268
303
633
395
440
897
664
446
387
608
441
507
504
716
278
806
227
334
344
648
736
700
572
213
282
401
408
632
535
306
195
349
269
418
395
510
230
608
198
209
286
438
243
420
583
174
887
398
524
570
688
703
752
469
364
838
423
527
626
678
611
643
735
503
234
532
271
641
622
821
861
696
314
185
295
730
584
410
301
409
361
205
296
559
315
345
564
500
692
398
653
397
325
213
401
488
599
709
623
297
585
324
427
575
318
390
259
190
201
541
357
406
336
386
436
519
302
891
526
452
750
736
483
273
666
316
516
294
558
269
228
561
529
294
492
393
214
726
376
425
785
502
752
540
403
444
788
525
389
315
692
247
337
571
762
616
302
597
246
546
422
887
343
553
636
909
627
411
173
744
884
753
546
850
467
427
887
517
224
546
606
261
450
286
170
298
613
231
190
766
448
786
455
561
170
462
370
346
377
811
247
296
810
850
831
520
751
617
713
193
472
889
436
429
685
173
160
393
203
385
610
330
847
585
826
469
442
346
588
427
554
254
641
565
505
307
730
234
803
411
626
167
585
219
514
610
701
881
350
505
201
603
418
289
536
449
526
922
605
303
233
227
612
586
644
748
452
190
655
590
805
226
785
259
782
269
630
295
230
632
363
911
265
737
505
205
471
487
570
431
665
702
431
644
568
497
708
177
261
317
564
270
416
398
833
180
491
687
298
556
513
608
289
419
178
271
356
584
279
415
847
613
627
259
715
733
381
257
833
757
391
299
381
484
653
823
176
672
843
512
342
223
298
652
540
687
849
646
636
343
238
304
369
574
272
161
210
398
438
608
188
704
327
233
441
771
673
442
357
404
379
733
358
208
497
745
500
961
536
316
493
484
272
256
595
251
389
330
417
923
217
191
645
509
740
229
879
810
582
409
214
212
688
632
606
382
766
873
258
830
232
285
975
611
322
328
292
223
384
675
565
278
191
363
285
594
231
768
384
268
478
568
773
183
674
556
898
348
192
342
696
815
281
672
187
214
649
539
183
231
734
633
310
437
172
244
851
674
643
693
481
648
341
332
325
475
557
324
375
666
439
320
692
218
623
449
226
463
489
494
270
496
837
339
893
329
609
577
626
691
536
195
787
538
502
300
600
171
571
737
481
554
335
232
335
550
695
735
416
517
516
179
433
816
461
376
408
518
554
294
478
384
614
458
426
238
258
472
352
635
847
744
319
191
242
818
708
660
297
506
408
801
399
612
524
269
394
542
671
454
710
733
324
389
583
229
228
747
344
739
353
874
702
165
509
638
257
405
214
163
442
206
743
299
205
619
577
340
594
512
650
723
203
323
512
234
314
728
296
674
713
444
667
531
369
548
641
759
253
365
372
732
225
252
485
286
620
351
202
739
330
179
813
419
544
217
407
380
558
444
179
625
810
232
720
713
829
794
251
247
554
598
651
429
284
653
620
468
171
461
446
527
568
281
694
424
691
215
392
237
163
649
852
858
229
619
223
264
222
698
430
347
351
358
742
366
546
628
773
576
574
475
292
392
256
683
640
714
433
174
269
492
621
830
251
779
473
422
492
645
619
608
295
468
364
487
789
556
360
630
444
619
850
218
160
672
638
562
840
536
585
435
340
622
503
720
483
774
174
293
918
269
590
744
563
475
956
645
869
220
626
438
447
705
431
188
643
733
445
297
956
176
771
639
333
633
603
274
262
366
313
355
951
212
876
335
224
337
480
712
409
724
701
424
166
455
830
505
513
373
300
509
306
267
881
194
489
723
234
967
167
207
711
305
417
168
495
278
196
776
340
729
650
173
673
604
208
381
488
676
524
646
198
479
406
529
773
337
432
780
323
477
458
508
198
570
326
220
374
395
462
589
612
352
661
634
734
482
790
497
558
228
701
162
496
766
386
475
618
668
734
293
264
455
168
252
255
262
594
849
161
328
479
204
261
524
922
582
654
432
183
304
264
691
257
543
256
589
823
216
382
912
542
276
173
441
263
279
829
291
622
375
281
687
437
243
473
685
281
242
467
584
183
194
171
632
706
289
940
714
285
213
210
831
273
177
590
503
453
537
937
221
515
607
465
229
440
340
215
256
436
402
293
838
475
301
542
326
295
280
432
172
441
609
281
378
520
492
682
620
421
843
349
776
262
383
773
620
531
448
702
360
380
483
444
432
294
580
160
642
445
402
251
366
710
274
884
555
719
548
337
623
396
414
563
402
732
621
371
354
312
379
405
529
599
805
619
664
321
533
454
303
636
238
717
353
490
319
614
549
754
457
644
424
827
358
207
506
196
657
635
260
699
236
867
204
510
176
268
594
261
331
483
318
313
471
317
484
297
524
674
523
417
433
345
401
738
448
588
593
634
573
206
386
386
387
740
937
781
645
381
492
736
381
571
268
292
248
633
341
374
619
685
349
235
236
251
236
452
379
318
787
440
451
896
675
238
204
313
543
833
179
275
308
301
386
453
240
387
289
447
579
170
452
413
232
822
566
508
904
434
544
527
524
328
167
390
374
190
593
185
422
399
517
700
855
415
444
375
364
453
361
603
461
445
724
273
223
301
303
242
785
561
246
562
539
350
691
173
207
466
640
432
556
199
446
812
460
160
913
333
423
672
609
909
712
637
562
204
213
914
404
878
220
225
368
287
260
236
576
270
237
259
291
278
374
491
275
539
684
195
486
517
636
302
350
452
286
308
466
385
431
791
174
657
407
224
230
457
640
481
418
655
455
269
553
578
592
315
660
244
747
182
432
684
263
465
467
187
187
686
502
597
381
604
470
565
406
285
204
735
369
243
846
547
190
491
324
464
448
756
461
331
645
729
463
630
344
237
236
190
550
633
434
283
625
458
415
661
195
271
611
935
428
644
901
449
550
594
354
823
602
471
247
539
577
532
231
712
509
315
504
519
629
839
437
297
872
872
307
341
515
245
163
441
602
540
781
353
787
574
791
317
204
231
346
454
321
499
507
323
358
210
514
717
786
247
311
608
193
316
470
694
333
435
900
487
219
377
563
775
330
459
462
311
621
676
300
841
347
480
176
235
821
623
359
481
335
853
218
668
431
315
424
977
851
558
301
747
417
409
487
355
237
611
673
559
334
338
540
753
873
681
592
308
167
356
237
347
397
169
400
234
369
625
765
806
221
605
335
416
681
614
501
604
403
393
770
651
789
169
200
546
178
417
197
441
631
384
350
280
244
249
566
211
177
173
473
555
994
532
324
638
317
216
276
237
221
293
260
282
502
802
673
260
489
650
749
892
278
807
554
357
666
627
473
541
208
446
436
389
550
503
485
541
739
558
762
539
501
937
311
654
763
346
655
426
451
327
470
216
172
370
241
337
385
164
241
249
306
449
221
192
704
249
520
209
392
473
259
203
711
174
478
528
257
591
492
364
217
170
306
690
187
245
161
863
363
181
744
531
470
545
551
916
421
786
434
318
507
604
462
343
239
300
429
620
385
289
772
741
302
266
422
542
409
708
308
664
160
161
597
421
742
412
417
339
605
494
331
442
202
570
453
554
167
722
843
504
609
729
509
356
336
709
309
634
303
511
695
388
477
203
173
199
424
288
647
374
245
457
468
794
176
268
884
231
467
178
737
558
449
248
385
464
290
657
172
199
590
359
554
345
811
455
686
267
337
445
444
585
537
403
589
892
248
651
552
290
233
334
602
577
501
501
546
417
516
182
467
814
364
543
215
640
452
450
247
538
631
227
234
640
427
211
426
737
490
341
882
659
177
776
238
650
459
624
477
731
629
261
605
278
168
316
526
571
584
458
489
182
779
440
496
916
818
487
636
699
416
875
646
522
528
567
733
561
380
557
480
283
945
385
470
611
884
592
640
429
472
464
427
417
359
548
550
341
909
280
583
678
847
703
614
732
325
405
499
235
504
500
285
520
768
620
836
962
503
361
391
834
625
562
414
857
399
675
383
358
408
186
331
527
418
297
446
398
198
223
247
320
348
523
633
684
237
806
491
182
316
568
555
729
740
221
236
771
301
751
468
774
404
466
841
586
322
498
267
632
222
698
604
792
350
354
607
278
558
504
764
857
243
229
706
571
339
689
630
186
199
376
886
341
421
376
252
339
527
512
178
529
318
538
840
810
346
241
225
297
198
445
322
163
378
547
485
612
899
442
826
544
550
618
717
720
309
436
646
705
681
589
272
421
173
607
280
440
759
711
818
506
522
211
342
202
511
901
622
637
183
213
497
494
538
194
614
322
585
621
363
307
429
182
535
497
630
625
202
189
189
301
648
704
339
443
360
414
175
515
516
506
363
469
212
391
901
627
734
160
244
706
758
230
274
534
419
325
494
213
303
428
223
300
267
162
614
194
889
700
584
758
743
783
664
331
183
509
222
218
291
326
375
165
512
549
425
604
464
339
245
289
196
230
880
588
213
575
609
461
606
228
316
344
234
288
459
602
413
585
550
470
431
478
412
748
283
488
200
303
540
492
194
884
542
507
166
232
469
584
398
194
703
619
266
438
522
398
834
344
225
403
728
217
442
501
553
172
433
617
210
868
595
200
670
273
458
975
843
257
452
408
860
182
476
536
661
312
858
203
273
457
621
423
364
789
546
552
236
374
779
202
289
658
633
871
569
482
712
671
423
435
749
771
545
580
741
575
317
286
661
848
315
349
713
601
248
271
475
411
186
599
864
722
507
446
749
180
783
473
563
578
737
737
894
647
687
192
283
845
725
345
290
304
358
296
808
388
507
240
949
239
543
168
458
418
257
165
230
172
806
180
164
739
378
901
196
203
309
942
504
762
324
735
749
310
165
636
814
183
265
577
337
392
349
427
713
668
314
485
771
709
287
599
192
966
305
676
732
352
342
590
706
344
288
501
695
516
488
886
589
486
313
448
545
433
511
734
556
631
719
523
569
204
175
389
219
203
438
617
310
261
777
590
386
428
390
419
691
387
342
368
313
575
508
614
291
569
501
371
509
536
625
734
286
637
791
950
187
775
207
575
385
548
612
228
897
519
579
382
581
652
331
801
893
187
210
513
844
453
643
529
298
695
191
531
397
212
269
393
303
420
323
535
250
509
339
685
821
487
335
310
229
353
399
771
681
446
264
314
461
173
253
731
791
212
307
189
591
358
438
160
880
650
264
470
404
347
648
492
173
385
531
628
761
746
469
629
279
388
168
922
229
269
805
181
554
694
435
168
476
376
199
660
674
400
191
754
210
892
383
726
591
300
457
445
862
615
486
530
318
889
346
403
516
433
609
644
858
175
549
275
772
369
596
455
399
244
165
353
739
384
425
920
246
542
843
432
683
336
582
432
638
302
539
530
475
555
253
308
424
747
719
617
414
303
373
721
248
432
671
744
530
413
244
271
301
387
351
561
243
667
318
570
305
307
215
252
481
464
417
194
264
446
514
551
241
475
390
361
416
560
471
294
631
270
677
471
399
597
297
599
339
452
518
263
875
320
495
617
680
554
164
221
512
320
395
331
799
462
951
228
316
703
193
543
704
308
833
268
861
480
493
591
624
888
290
536
310
342
406
494
384
569
426
633
395
887
588
846
304
731
364
791
364
321
379
424
529
647
549
526
465
298
311
330
299
699
555
173
346
415
402
358
246
654
401
776
232
189
786
376
212
253
410
271
198
556
643
628
507
177
691
540
686
459
191
800
218
332
438
530
524
379
210
721
460
576
683
787
390
241
177
514
259
222
513
555
304
631
598
558
484
170
365
278
847
220
180
744
406
843
518
666
219
472
622
370
164
912
407
559
385
833
886
831
258
369
473
588
164
382
738
333
556
228
440
332
268
379
446
452
206
224
494
274
704
819
778
270
886
242
251
711
182
201
463
593
266
172
750
498
402
838
255
353
256
196
805
284
224
243
476
622
206
711
231
416
539
564
228
840
350
392
361
666
596
252
292
260
210
423
165
256
665
174
399
767
601
608
681
847
555
476
941
862
327
451
693
608
731
749
206
617
384
692
370
219
313
898
463
869
436
766
416
664
229
251
458
748
260
273
303
515
325
362
621
534
433
827
539
416
218
478
772
710
213
569
199
205
386
283
488
576
180
238
179
192
602
685
167
378
762
875
914
757
399
346
429
345
432
296
304
533
411
727
766
446
449
216
607
645
574
308
603
513
576
547
293
240
361
456
224
471
195
496
261
727
748
788
197
336
536
488
621
388
168
854
423
657
313
423
632
482
251
176
231
395
308
585
198
223
502
277
397
720
637
245
312
227
911
458
779
629
734
948
191
489
628
195
547
445
517
310
777
421
500
470
810
241
744
488
674
248
190
431
194
748
182
541
923
636
628
825
600
424
603
937
297
267
878
759
615
282
570
668
899
428
181
383
428
968
782
478
471
591
477
199
384
213
485
252
680
819
716
548
528
317
913
450
725
219
391
814
246
780
327
640
830
457
172
474
627
630
801
588
837
556
610
632
359
727
464
437
579
243
174
479
282
266
842
548
190
317
450
260
531
669
450
450
538
287
409
187
317
543
241
291
793
659
462
177
614
257
319
636
466
195
697
465
234
547
514
903
315
588
921
627
646
645
485
729
529
267
293
227
280
283
398
209
237
216
268
254
282
290
622
524
462
542
372
726
289
251
452
201
365
277
676
770
657
224
368
183
363
277
642
483
391
906
875
783
716
741
683
202
338
701
903
544
768
404
520
642
292
285
246
739
657
521
313
590
420
633
257
885
338
517
328
660
368
897
477
160
746
514
196
616
457
817
322
855
480
538
570
591
430
228
298
335
284
852
406
736
438
236
232
225
304
197
457
506
306
580
428
732
752
432
255
229
629
366
370
324
400
391
942
497
169
517
307
322
745
231
352
315
598
519
541
576
597
288
791
691
453
220
219
655
697
467
551
828
802
386
707
958
750
938
390
393
177
276
319
203
219
712
525
299
345
644
645
343
818
651
623
525
614
547
585
280
232
412
334
882
814
807
695
327
352
528
422
516
321
746
198
352
544
218
814
804
588
775
477
367
864
678
654
968
625
838
397
553
183
235
804
231
262
206
374
187
584
776
309
811
721
263
321
276
592
534
518
249
276
218
285
301
569
651
685
230
687
358
453
932
399
271
409
359
652
249
681
309
304
573
643
271
895
423
474
361
289
603
510
338
696
513
341
513
242
282
889
412
308
561
527
200
301
392
604
295
188
237
563
319
495
251
539
238
730
345
831
290
200
856
229
641
362
479
561
692
224
682
197
710
722
465
377
799
520
254
555
256
501
208
364
507
613
661
350
455
527
396
664
615
171
573
830
330
844
489
395
628
526
390
710
407
577
761
281
940
538
768
169
285
445
366
183
740
766
555
588
184
867
921
754
786
214
348
862
270
267
205
428
645
749
866
677
855
261
570
161
298
375
573
843
381
802
383
398
404
463
526
601
467
893
364
272
719
732
718
505
522
647
691
185
536
591
510
663
851
209
486
380
247
736
234
715
343
647
568
442
390
793
625
569
571
676
649
696
232
594
788
212
633
461
208
412
790
578
661
182
475
408
545
382
784
480
342
377
839
680
603
568
812
221
304
622
197
788
517
629
227
545
631
671
318
407
586
229
752
205
211
688
670
739
212
435
272
484
261
691
991
619
348
529
311
652
798
241
287
792
420
851
503
200
764
666
323
738
479
410
523
643
453
599
478
715
510
501
887
426
361
496
555
367
496
175
931
667
338
314
758
626
197
320
836
268
496
648
717
179
457
624
874
803
210
666
559
749
387
175
851
335
512
662
635
248
383
386
321
880
348
329
786
893
388
370
888
177
687
984
224
708
339
760
482
543
840
515
731
204
240
327
548
191
233
579
725
308
281
179
281
355
629
434
470
695
411
520
650
574
232
325
787
586
238
526
701
360
544
205
501
833
319
185
260
555
738
639
784
175
175
302
366
419
292
423
254
585
164
515
537
220
500
218
478
372
264
906
601
500
594
310
348
645
463
453
210
673
196
513
240
575
670
352
379
659
684
684
208
486
436
262
260
236
231
370
222
202
619
581
778
367
684
388
391
482
518
600
405
211
247
557
785
493
523
592
382
178
570
549
622
190
290
375
708
716
388
298
348
670
743
630
232
539
521
196
166
527
573
636
579
816
189
748
782
343
493
538
563
222
438
650
918
838
180
530
721
408
723
204
758
192
194
487
219
441
696
723
631
182
270
572
788
851
182
237
288
225
518
462
456
536
679
835
209
324
242
474
260
392
268
436
389
402
540
174
719
295
311
389
543
855
577
562
386
563
972
478
301
375
230
979
362
643
467
212
648
189
553
664
328
162
502
528
896
742
358
491
542
222
349
609
791
233
505
406
483
405
230
386
700
808
587
342
424
418
162
473
740
819
618
428
410
916
264
276
203
422
261
481
708
444
398
251
448
529
884
181
184
680
586
311
219
496
281
188
696
591
508
743
182
217
434
443
671
686
196
233
177
248
670
162
348
739
211
580
615
479
662
532
819
674
273
297
765
701
905
307
803
646
220
449
276
576
746
443
166
273
401
475
266
771
562
188
688
417
580
192
921
474
211
319
707
934
856
192
215
744
675
619
179
344
546
249
921
601
179
313
307
645
380
187
703
567
554
382
567
579
741
455
702
399
333
769
774
211
180
435
395
666
190
509
569
566
513
644
251
318
773
626
262
407
494
848
447
773
412
620
461
353
551
582
782
628
449
783
836
187
252
464
379
269
223
648
203
401
619
297
237
430
204
443
280
346
291
323
217
203
776
243
360
196
813
209
209
550
352
497
474
648
641
332
266
171
424
161
520
526
793
540
202
350
274
487
435
627
238
554
600
638
419
441
307
481
280
805
205
557
218
161
727
310
516
247
550
635
825
959
370
482
584
230
386
551
315
242
236
177
221
195
237
240
501
387
265
176
651
670
265
207
346
227
604
172
168
610
565
449
269
644
260
627
777
673
339
433
948
597
628
551
366
740
951
293
796
211
601
621
385
639
529
657
541
600
232
725
245
504
320
888
488
339
226
738
350
718
834
471
676
444
359
518
353
264
914
344
522
525
402
544
243
478
366
651
463
602
303
358
436
266
625
704
637
672
314
406
176
250
418
185
437
840
625
196
585
232
701
223
453
330
356
372
454
464
399
356
283
318
690
858
450
376
507
398
461
776
176
322
282
405
481
474
630
408
197
589
333
806
495
464
285
342
435
407
917
652
366
220
204
273
540
520
444
588
208
321
248
462
875
362
633
824
929
481
216
302
408
404
689
200
700
636
298
439
174
176
572
628
673
611
558
649
912
356
454
657
164
200
240
787
381
272
211
657
177
318
236
244
220
300
180
809
488
516
350
646
858
227
235
467
399
583
923
433
755
839
708
406
729
591
241
524
910
678
683
357
203
553
326
213
696
294
281
264
335
753
705
251
231
534
559
231
646
584
426
533
384
682
231
853
467
284
301
879
477
209
229
559
180
221
412
483
376
579
956
349
702
196
803
512
493
621
572
520
620
206
196
323
876
567
604
255
496
382
162
823
285
241
696
465
457
387
930
693
741
309
541
677
542
326
349
421
803
297
710
336
221
514
907
664
532
602
792
209
491
485
648
518
452
822
414
514
222
393
602
393
342
768
537
470
417
227
771
811
188
688
678
523
349
777
315
414
393
556
181
322
210
642
330
463
298
349
440
687
246
298
700
338
454
659
793
321
428
308
436
825
522
240
382
537
564
434
260
256
573
238
756
163
477
178
744
505
900
596
562
360
191
380
206
417
643
619
861
467
709
579
647
295
665
938
340
450
487
642
533
436
794
367
428
630
649
212
652
322
434
667
303
951
517
209
942
181
401
222
440
188
487
375
217
391
383
501
257
702
654
305
205
520
631
244
187
822
479
383
695
382
201
401
799
630
386
557
184
418
927
463
495
600
367
737
531
205
369
232
378
526
828
712
675
334
257
462
230
398
215
470
176
508
277
777
694
195
509
863
397
513
498
612
656
390
825
384
307
513
249
319
236
495
776
438
166
722
479
689
435
534
199
847
394
324
744
176
507
431
526
503
795
315
581
278
716
165
526
586
530
369
571
321
256
508
619
603
694
792
643
785
587
571
512
445
365
710
807
511
490
569
210
642
618
197
198
637
675
321
455
562
274
332
972
844
273
540
373
628
468
765
212
498
674
289
570
280
986
851
621
776
594
175
230
852
479
514
807
339
377
242
273
249
588
307
835
772
560
487
988
328
638
736
416
558
333
455
776
701
167
438
378
759
457
265
517
650
170
202
558
188
814
529
291
890
529
602
195
297
603
364
452
373
351
550
188
746
286
243
200
290
335
380
277
164
604
812
580
791
428
558
601
455
868
190
497
276
215
251
608
612
857
260
184
505
330
221
351
457
273
217
240
320
253
410
207
891
537
824
614
884
629
603
811
272
690
517
519
928
655
779
465
330
782
896
697
255
546
228
366
539
354
231
226
485
522
739
823
322
356
484
321
736
201
185
504
200
593
483
828
163
787
182
532
917
579
555
349
482
210
389
341
470
775
704
306
595
172
631
922
331
825
250
536
662
231
735
452
395
844
716
794
872
404
412
322
346
585
421
303
570
304
572
265
218
661
795
321
482
184
235
808
640
639
200
651
588
268
294
457
194
809
871
245
584
384
485
835
867
245
722
279
602
577
679
797
973
315
484
923
176
578
536
689
430
536
708
820
458
366
499
181
803
319
318
218
276
597
208
423
871
528
849
174
339
511
706
652
677
272
809
243
165
420
678
742
334
790
846
333
246
725
421
697
858
623
675
182
459
529
425
294
551
178
554
290
665
592
698
273
200
387
643
764
209
662
838
460
261
378
322
240
406
341
605
376
410
529
766
308
285
613
590
463
721
181
529
343
231
484
292
482
557
635
492
255
261
295
366
322
315
668
280
224
609
730
505
760
648
574
581
522
625
362
738
439
745
567
839
510
492
519
712
695
194
319
239
538
453
256
283
344
720
295
338
302
642
831
513
495
471
286
304
619
460
258
258
687
709
337
281
176
446
255
164
648
791
406
889
525
179
522
212
559
691
355
326
468
515
263
890
301
521
397
357
185
432
669
587
468
324
736
451
248
850
251
285
976
447
877
549
202
933
364
928
348
349
824
479
770
401
202
181
469
394
412
212
346
205
563
617
205
383
184
255
275
454
394
278
653
651
283
393
430
729
715
378
337
563
453
726
422
862
851
746
369
196
173
508
765
353
776
325
224
200
327
283
923
263
430
203
591
544
211
787
229
341
293
856
633
860
439
401
527
508
704
746
417
194
409
867
221
381
751
672
235
557
204
463
698
214
798
925
575
167
229
299
732
215
628
373
810
406
392
614
437
205
242
213
476
409
370
233
513
182
806
551
416
510
727
262
965
243
287
459
432
483
552
732
196
247
389
224
293
548
179
496
182
216
448
180
255
505
555
180
707
377
388
676
173
892
198
685
646
264
964
651
358
834
646
539
309
335
665
841
460
740
823
175
348
237
183
767
298
239
249
223
263
256
181
706
565
397
351
718
685
464
400
396
238
471
699
554
242
500
535
167
312
484
339
623
178
453
377
444
643
369
618
451
236
226
337
811
301
533
538
588
380
182
174
671
779
644
246
196
256
339
438
387
558
430
578
789
252
669
396
931
594
780
314
970
798
567
254
192
727
429
678
224
520
232
586
619
331
415
217
632
794
172
496
514
181
342
861
423
478
571
227
525
571
620
472
702
445
864
231
268
434
672
376
481
647
783
630
205
735
275
179
365
343
565
961
739
529
439
278
234
271
196
634
334
534
420
759
676
238
463
501
444
868
204
587
663
326
590
467
659
550
463
726
771
202
712
509
532
729
227
801
277
744
643
577
218
286
665
759
265
303
490
432
420
535
551
852
335
649
678
316
338
555
949
475
249
291
266
572
344
241
659
532
283
729
424
222
173
634
604
161
439
234
421
436
527
736
594
443
164
203
420
402
198
293
408
381
460
484
176
380
318
518
807
267
328
642
380
631
376
435
394
716
532
613
178
599
339
241
629
296
548
680
402
788
172
345
648
311
351
240
335
603
888
506
660
337
637
806
295
295
237
674
809
692
304
281
957
244
360
663
591
471
504
455
445
517
583
573
690
206
564
692
168
193
383
495
407
266
677
311
223
549
224
335
849
286
704
647
402
373
634
207
184
202
323
168
497
212
549
413
446
321
193
385
427
788
431
390
514
411
263
769
436
470
515
223
648
254
451
310
304
216
445
710
355
254
370
603
663
750
395
793
211
295
980
239
581
314
908
666
461
357
691
559
840
497
260
259
476
213
485
444
553
694
945
429
586
468
360
240
323
567
286
185
491
733
620
257
944
344
177
366
182
306
226
342
686
645
482
476
610
319
494
258
224
247
755
266
362
585
266
731
213
228
642
289
252
502
254
375
535
209
841
481
781
477
668
509
463
848
473
570
727
664
648
668
716
618
324
427
508
780
816
229
437
218
955
396
659
978
310
458
461
508
487
288
279
660
779
512
404
297
584
238
665
420
750
716
241
438
336
880
248
333
332
421
786
448
332
701
404
777
428
364
451
243
721
354
469
421
483
503
474
677
343
301
437
266
555
888
372
491
629
345
221
622
283
623
610
463
299
840
316
521
804
399
636
494
376
456
457
555
200
597
566
626
243
209
391
920
166
876
369
745
271
344
579
879
230
395
349
470
345
252
493
253
492
336
425
767
597
600
893
505
171
550
625
266
348
860
274
462
426
437
678
853
500
594
487
363
481
217
176
592
624
665
616
259
416
782
185
678
810
743
759
857
842
245
234
564
556
488
263
453
468
341
636
427
521
506
796
564
285
311
234
512
257
419
375
253
236
289
369
349
496
599
543
267
379
621
749
636
682
399
472
749
223
324
241
767
577
537
808
462
318
676
885
592
726
259
309
314
498
380
190
464
466
533
172
726
225
545
445
541
458
392
255
899
761
405
833
232
480
432
674
638
901
512
232
179
507
177
771
191
188
607
731
601
396
270
783
738
824
909
352
446
402
816
251
307
811
597
478
185
436
553
662
480
632
251
862
311
572
482
652
817
931
649
225
597
370
505
468
502
864
590
897
734
509
394
479
663
736
535
517
202
423
413
705
595
375
788
425
177
935
481
662
378
345
387
521
524
701
500
518
502
262
405
514
264
423
378
785
393
794
311
184
172
806
818
397
596
860
437
810
572
614
676
228
744
428
566
168
243
646
478
459
329
469
411
878
561
818
348
518
518
230
923
493
655
162
496
639
237
199
755
442
448
407
307
458
343
503
636
612
287
371
397
388
828
423
267
273
671
277
475
820
596
659
506
166
506
627
494
631
448
160
857
263
281
766
209
802
736
183
413
884
754
244
223
794
172
407
426
630
350
180
197
325
243
848
701
237
213
707
312
179
290
396
749
435
616
388
756
858
226
924
302
749
736
488
828
674
242
308
574
491
191
736
624
261
852
568
223
522
657
267
868
717
276
256
385
377
541
767
881
549
226
234
426
606
704
221
578
249
175
458
393
497
195
214
510
403
406
400
585
799
545
366
645
498
568
856
478
724
367
260
286
459
756
583
331
174
518
891
335
445
470
240
690
504
793
359
366
803
370
424
280
492
619
583
336
446
686
433
745
279
377
324
544
241
457
272
467
685
434
555
810
819
275
497
528
440
915
572
435
819
443
422
846
520
875
183
483
841
499
854
314
488
464
237
604
295
694
208
359
612
577
667
327
212
581
312
739
413
368
538
639
442
589
576
175
200
844
408
858
206
872
654
204
850
663
373
591
790
512
343
636
815
468
543
175
484
321
179
720
432
341
275
217
444
552
703
791
206
575
587
297
323
181
572
382
378
561
764
220
378
426
563
420
828
743
420
255
185
564
189
385
560
839
263
463
463
414
261
284
621
644
442
548
420
445
394
267
639
454
778
658
515
355
678
544
172
349
422
650
736
214
489
223
264
760
617
527
517
801
216
364
254
923
201
347
510
230
501
467
176
228
343
755
294
554
190
578
877
738
670
671
319
566
610
300
401
331
353
312
892
440
164
162
237
691
238
285
415
277
178
755
362
765
326
868
694
643
692
536
251
548
170
255
736
453
221
385
375
749
310
905
839
268
373
303
882
506
233
602
466
845
712
186
638
161
547
475
455
423
700
853
173
196
306
495
209
412
564
762
487
528
537
180
177
162
654
212
267
371
376
561
592
491
310
921
256
243
183
486
411
603
504
188
218
633
474
542
342
340
663
237
755
723
631
215
591
231
438
226
367
417
599
305
468
293
441
667
646
258
170
241
187
417
163
419
325
595
483
627
551
635
373
404
233
761
586
690
327
259
563
168
315
431
272
279
710
337
510
668
473
717
504
253
416
551
492
231
632
428
340
811
356
302
345
361
376
287
263
584
288
803
173
492
197
394
295
550
191
868
430
190
587
433
216
485
844
487
287
345
601
294
396
328
256
266
436
555
827
641
724
558
205
424
487
723
638
598
188
285
579
901
233
192
818
314
659
499
796
477
186
373
332
294
173
469
367
753
670
480
542
292
249
621
596
327
330
552
534
777
262
261
438
655
843
359
386
644
377
602
374
823
225
395
653
752
443
462
562
467
296
181
208
210
278
515
202
520
424
188
534
305
294
914
703
218
368
693
315
173
254
386
362
933
778
678
447
376
564
693
651
307
536
733
714
450
470
471
798
837
623
225
500
420
463
453
329
223
607
834
336
166
329
522
189
529
554
629
637
854
468
663
496
288
849
657
761
836
335
369
228
222
426
710
180
271
363
375
313
739
742
317
318
865
594
501
164
558
579
344
578
775
161
165
795
478
753
262
301
297
668
492
229
535
432
637
549
289
784
232
593
246
516
836
288
463
596
298
189
344
298
319
461
257
163
630
763
775
270
813
632
750
354
225
858
235
416
313
783
563
786
420
344
489
163
472
556
625
216
633
290
168
764
398
617
496
441
817
675
580
372
164
861
306
255
492
586
511
651
375
182
339
382
725
305
556
300
294
677
457
593
194
625
459
876
272
183
552
392
574
227
171
930
240
213
301
590
674
322
687
206
759
322
964
623
655
705
471
647
229
403
305
335
636
631
169
861
448
161
515
314
501
790
610
855
575
165
291
668
669
407
538
471
570
564
324
274
530
497
541
389
760
667
703
779
794
639
353
790
570
406
328
302
775
305
667
890
185
602
533
451
191
584
231
282
426
485
306
361
194
269
205
661
326
491
271
263
532
846
220
646
471
260
680
549
848
657
581
478
800
238
521
577
211
210
762
267
252
494
405
814
375
673
343
605
444
473
555
450
198
233
217
573
631
242
603
605
348
557
186
511
514
396
295
236
501
199
225
224
477
514
297
791
798
189
380
209
360
564
493
776
643
389
197
255
332
583
719
654
344
471
678
766
211
691
486
201
259
277
294
474
274
931
383
579
531
515
781
705
791
613
764
177
639
660
200
393
207
480
645
818
376
758
445
506
364
818
626
586
693
529
325
559
234
194
351
214
684
879
751
228
607
612
178
676
481
662
353
443
386
382
817
669
500
208
238
405
687
423
824
260
291
771
660
228
902
284
705
346
278
225
187
280
740
472
364
275
687
302
719
538
312
208
383
535
456
193
482
160
485
457
546
362
432
555
169
448
605
674
269
166
193
182
463
305
687
512
674
198
161
765
877
254
729
611
914
363
568
509
479
730
641
605
772
485
366
207
676
489
520
223
375
626
811
451
272
768
266
330
267
853
272
664
517
597
402
880
215
481
497
193
709
532
390
520
318
243
238
161
835
244
275
515
780
536
663
457
891
849
648
174
354
186
599
610
397
508
304
653
722
349
506
222
282
315
764
747
336
368
544
621
339
251
370
621
427
665
744
876
331
449
489
802
476
507
367
260
702
577
292
678
927
235
194
401
308
686
204
384
849
411
633
515
799
192
234
163
298
616
535
792
550
310
492
269
187
274
429
391
749
525
450
813
524
325
277
385
738
414
435
346
611
869
194
828
247
509
560
834
516
234
164
641
889
250
608
555
514
252
253
868
460
350
573
324
516
482
594
295
754
758
754
454
678
391
534
663
891
576
452
599
414
680
684
189
392
688
192
899
296
528
921
197
638
422
405
427
524
476
410
315
364
634
606
436
321
577
235
197
221
669
337
372
514
407
783
259
951
684
230
874
674
260
283
385
706
608
225
836
404
522
297
586
298
318
510
343
198
839
206
501
825
240
238
296
556
410
350
259
438
740
605
288
428
670
472
468
418
419
680
236
297
540
243
360
329
633
260
235
784
458
341
315
542
703
724
820
488
268
263
277
191
233
614
624
760
429
528
822
193
566
468
816
647
688
631
632
586
664
248
200
414
832
665
646
377
895
800
900
448
181
928
239
411
206
398
369
676
252
974
291
255
487
428
459
664
578
673
306
975
583
761
601
766
610
188
377
489
401
471
286
630
371
381
342
316
805
615
836
899
216
657
333
675
782
328
395
376
373
404
211
165
404
809
229
551
462
840
533
336
263
231
199
333
274
204
499
790
588
507
809
684
759
203
318
275
168
617
610
560
443
625
459
778
431
254
675
684
412
790
165
308
301
622
858
803
680
392
526
542
761
380
270
667
225
618
728
307
256
233
279
553
579
800
218
522
251
285
388
866
541
725
599
427
529
380
200
517
202
263
396
596
463
429
393
216
585
392
521
273
472
257
259
389
238
766
698
246
730
625
362
820
395
395
354
391
197
588
610
742
331
574
345
943
224
241
160
458
497
256
848
417
407
328
668
688
163
345
201
520
586
370
190
622
296
289
215
414
449
490
258
177
550
211
350
408
189
403
462
174
802
332
421
225
448
431
751
303
321
596
407
191
448
303
785
305
663
270
419
744
351
912
480
399
528
405
902
963
485
234
460
355
597
246
515
847
918
291
567
194
327
891
469
293
645
210
518
188
762
219
448
411
864
194
642
240
821
265
584
190
286
507
309
331
482
486
617
210
866
512
701
453
208
364
601
232
240
285
658
672
283
195
823
664
619
429
920
595
182
618
643
331
382
648
377
234
562
352
186
246
189
367
520
460
404
375
432
440
431
161
242
491
474
411
794
601
517
222
184
759
351
399
335
203
723
220
184
427
528
187
442
457
683
522
472
191
168
250
918
502
673
162
247
494
735
264
392
433
322
597
393
411
228
364
168
832
276
179
743
532
383
372
777
273
190
219
901
809
916
794
441
518
335
548
908
308
341
185
326
243
227
608
193
777
333
614
628
501
185
837
219
258
439
420
668
466
504
831
532
277
373
485
521
522
765
240
480
347
418
482
608
696
397
470
654
173
265
664
843
735
263
222
383
299
923
417
629
500
805
696
221
895
706
615
633
307
494
318
690
456
166
199
548
799
394
588
225
346
773
405
367
603
305
618
294
171
517
837
187
391
271
467
437
349
551
446
382
357
644
603
640
679
395
746
396
308
168
189
592
526
314
435
312
334
455
509
382
571
161
571
690
236
278
520
580
207
411
745
905
737
865
479
291
613
581
376
164
903
772
244
731
193
257
754
663
450
792
504
481
784
795
496
384
766
724
354
301
352
710
671
619
243
169
467
519
354
358
652
397
377
164
329
253
208
488
273
809
265
218
703
475
709
455
549
428
793
348
248
548
758
324
754
238
504
192
185
378
563
170
179
360
493
939
241
351
887
853
704
161
849
762
324
677
439
553
544
485
841
408
779
608
657
705
743
407
721
304
177
634
484
677
616
399
419
639
304
276
227
808
355
303
380
549
363
621
505
186
499
266
475
599
160
364
252
166
792
278
232
576
740
787
394
317
230
869
940
295
810
452
466
923
664
461
476
212
661
397
495
702
295
684
419
204
420
543
419
641
263
171
308
702
880
449
176
842
360
498
284
522
462
397
580
561
673
537
727
459
362
415
829
430
177
648
238
429
554
395
174
238
461
366
692
571
164
221
275
325
160
383
386
500
608
781
218
338
199
341
774
601
398
303
762
433
206
208
457
179
559
425
601
163
307
445
314
478
217
518
179
434
188
228
273
733
380
664
326
657
599
396
246
170
831
319
825
745
625
656
229
617
712
286
680
337
590
458
423
195
486
181
386
619
470
528
332
414
717
533
800
688
325
530
295
310
752
649
222
613
222
770
280
255
431
287
788
674
182
604
646
205
524
172
528
851
352
747
217
667
699
304
368
645
278
338
648
491
221
500
458
531
226
250
257
486
438
170
388
208
395
501
383
753
329
450
651
456
558
415
436
621
349
528
168
544
448
771
484
735
651
557
637
716
490
533
346
626
211
702
176
790
246
182
690
417
311
345
322
514
435
466
730
440
588
338
586
362
201
533
491
209
526
770
584
507
490
324
435
710
417
253
220
515
878
318
377
464
164
748
264
446
834
862
653
202
300
321
700
582
415
628
399
540
645
665
280
419
372
383
744
652
715
677
849
229
382
573
495
488
326
580
291
634
425
223
972
670
674
212
795
640
327
259
689
397
607
245
759
613
588
311
460
666
358
771
326
749
208
310
563
231
349
772
245
236
739
160
209
461
214
552
209
285
567
503
612
203
611
516
382
447
476
560
264
395
507
262
173
641
329
570
293
542
789
624
632
544
495
700
527
648
493
448
569
249
207
184
262
818
561
751
424
355
221
441
651
229
745
575
344
410
300
525
698
286
170
649
448
327
578
429
322
825
745
346
273
388
710
209
555
409
271
273
319
363
206
283
172
229
379
380
796
299
190
429
422
383
312
305
573
832
307
400
492
264
932
570
341
577
339
479
699
625
332
207
343
866
924
211
521
266
184
873
858
443
860
497
685
458
490
171
227
463
203
331
378
510
371
241
511
165
403
743
754
233
615
704
230
271
241
409
504
206
780
256
863
429
306
656
774
327
457
628
255
369
464
412
161
298
764
510
535
342
164
527
591
504
578
852
219
496
277
766
201
551
411
766
925
640
470
504
579
724
682
325
492
173
484
420
390
260
635
345
343
805
492
587
388
503
286
399
222
233
412
393
532
568
775
343
486
543
423
614
487
415
228
236
380
487
935
500
716
771
341
622
199
566
853
872
447
283
659
634
454
401
522
463
587
848
457
413
513
430
167
461
596
834
797
506
512
315
518
206
933
392
712
473
737
254
413
720
180
919
547
191
258
529
742
701
194
783
427
492
242
638
341
417
644
346
312
574
449
485
188
419
773
764
520
364
217
291
360
350
450
628
458
227
338
703
523
943
262
343
310
364
808
817
549
715
351
666
590
456
461
393
622
381
378
750
372
448
401
728
368
481
245
229
499
674
859
544
190
419
288
357
983
555
662
886
574
765
209
539
767
307
315
561
585
253
501
734
202
373
451
185
311
309
485
312
444
299
870
460
686
806
211
435
400
795
678
542
601
426
318
775
468
935
734
328
453
785
306
722
482
355
231
509
383
243
601
306
809
251
332
725
393
392
804
394
458
626
334
244
532
428
331
300
570
922
485
853
293
416
825
416
452
545
606
625
436
513
601
344
176
386
293
178
909
270
731
193
729
341
174
248
213
524
277
386
387
571
490
663
501
677
332
757
556
735
560
837
383
353
234
432
751
250
420
809
443
737
629
479
716
202
523
257
680
666
748
408
911
629
690
484
844
482
232
451
279
585
910
369
368
355
170
462
163
328
431
298
579
673
246
185
563
342
174
725
579
385
626
537
361
712
912
338
549
366
190
888
718
687
334
321
456
211
601
553
784
307
413
221
540
474
231
217
596
309
654
743
900
255
839
646
531
652
709
571
194
665
355
907
394
286
509
949
307
804
316
611
645
838
463
588
366
518
241
180
693
232
187
574
602
554
547
164
383
190
317
651
562
455
416
474
547
637
710
379
754
627
629
528
401
265
586
314
834
644
404
547
942
386
310
259
174
422
176
446
362
669
399
616
723
214
185
672
607
643
294
693
845
363
711
660
441
643
959
304
234
364
635
543
919
298
519
638
770
203
533
796
350
834
865
319
164
199
753
385
497
566
825
573
292
189
508
220
245
527
566
667
553
806
561
901
600
412
240
240
507
805
419
310
348
906
543
725
488
350
324
211
239
499
797
715
870
668
337
845
704
237
885
440
389
804
630
628
244
450
533
503
195
414
172
476
199
333
482
612
188
728
789
294
664
358
275
555
402
377
690
810
747
287
176
517
368
630
601
585
253
393
919
494
286
200
375
967
438
610
444
293
426
945
625
539
778
467
336
181
413
265
231
280
314
249
463
206
381
836
526
842
466
388
693
741
680
495
626
461
613
618
677
661
526
239
259
534
556
820
376
487
533
373
569
670
729
216
214
242
609
401
168
261
613
469
334
284
287
339
269
404
392
256
451
527
664
389
882
287
294
518
630
807
350
336
689
473
256
385
201
714
691
828
414
668
404
817
739
323
389
629
653
821
629
554
192
767
439
797
370
227
481
380
478
713
878
421
432
575
280
531
464
179
582
512
634
458
476
518
417
919
206
228
676
543
453
821
534
213
699
599
240
577
366
376
439
658
426
623
337
923
250
485
661
326
198
289
346
831
637
496
863
327
812
701
178
582
301
223
292
687
176
590
750
494
302
512
199
483
196
525
865
591
405
785
229
357
623
412
363
265
654
513
925
485
272
172
618
167
465
942
599
314
705
624
305
236
195
663
301
178
374
457
191
429
581
695
262
509
277
671
391
172
616
190
254
253
464
738
269
283
705
164
682
236
310
799
281
606
511
342
192
509
223
492
292
301
205
603
681
273
822
433
436
275
519
372
200
432
519
301
314
728
445
350
743
461
451
535
470
790
509
171
317
540
345
465
473
575
373
919
587
758
530
644
412
480
907
572
550
190
624
523
596
777
232
259
346
370
504
247
290
213
389
686
622
671
162
861
289
562
868
365
181
302
216
755
253
617
723
705
555
765
529
485
644
573
281
228
812
468
661
618
240
817
727
517
394
725
856
212
850
241
182
290
577
163
401
221
808
609
266
451
285
338
889
536
259
184
221
767
586
317
572
309
588
594
223
474
286
392
303
902
185
192
711
182
836
347
499
326
485
538
564
495
688
546
393
504
193
171
241
397
342
402
810
397
265
805
944
734
190
388
463
197
271
258
349
615
850
410
860
325
587
335
806
707
604
369
243
290
195
244
614
685
539
183
401
300
355
549
784
234
577
228
271
381
747
584
217
633
296
327
251
296
571
406
181
485
622
356
259
629
343
363
514
383
623
245
219
382
334
643
643
191
659
674
838
653
276
205
269
650
697
311
207
517
494
486
286
649
751
291
800
669
780
272
719
376
345
624
791
363
783
426
712
719
609
407
252
255
324
355
485
302
696
266
754
225
491
349
166
775
691
409
759
922
690
241
390
333
194
212
766
482
180
427
480
464
483
194
421
209
317
454
552
210
263
411
705
552
510
414
196
413
318
330
598
597
248
970
244
677
496
634
206
498
390
912
161
296
442
507
864
537
179
244
388
344
393
224
213
344
185
738
587
276
181
254
169
980
269
494
327
262
256
835
508
486
688
260
341
572
335
790
162
430
884
869
381
448
611
604
280
691
899
703
549
498
341
230
442
164
523
783
574
721
182
286
314
421
181
829
198
664
706
638
583
661
167
379
530
240
448
307
358
190
281
165
387
184
789
211
251
309
582
814
634
663
584
476
471
425
207
273
348
770
361
337
603
808
259
467
308
186
232
415
473
790
296
452
475
574
201
668
426
467
341
383
400
725
454
562
778
671
407
757
539
247
353
701
386
185
429
386
219
405
331
675
397
511
246
480
376
287
531
404
268
321
747
203
391
543
364
969
346
286
819
275
681
382
616
185
503
454
747
260
360
405
732
547
433
751
231
555
182
461
439
434
367
321
920
952
310
511
244
363
196
382
594
335
798
621
833
589
593
776
278
243
286
716
519
160
240
403
297
879
296
470
246
849
503
201
683
252
605
472
423
936
703
575
676
243
331
598
678
247
253
913
363
836
411
251
777
631
203
326
598
172
837
371
457
708
195
856
557
643
205
650
343
872
835
351
450
402
461
225
268
826
662
626
334
547
550
667
281
756
765
794
308
499
929
709
429
410
530
857
285
657
687
209
257
476
344
352
747
351
848
713
254
827
618
272
531
373
801
364
357
245
187
558
254
268
430
567
277
264
332
309
694
391
233
577
520
699
341
649
680
623
468
451
252
340
862
717
744
891
386
353
392
496
533
781
288
908
497
198
237
743
512
514
377
365
320
647
526
634
390
441
161
163
248
776
458
383
842
165
317
400
382
629
380
597
320
841
512
618
412
671
726
279
796
198
595
202
299
335
888
434
446
526
508
273
661
709
281
863
501
574
372
775
250
304
536
556
309
377
494
217
802
751
750
207
942
815
436
202
281
497
715
589
172
629
927
266
499
259
861
255
543
529
350
203
169
469
289
391
383
232
325
621
650
176
435
483
703
233
569
615
220
539
299
193
504
652
497
596
388
529
565
254
536
642
793
933
288
208
262
459
879
563
440
832
693
268
468
365
449
622
522
515
621
405
665
513
264
598
415
197
612
191
495
460
184
394
458
713
481
825
589
564
267
532
547
676
578
336
401
384
394
748
794
593
242
298
204
969
310
563
651
828
241
596
747
299
790
839
874
312
298
598
882
517
294
385
505
345
547
511
174
648
399
672
844
573
642
389
202
197
812
725
232
271
396
163
602
595
559
881
668
246
410
172
541
261
628
455
551
365
194
551
329
369
202
294
749
337
402
348
338
957
291
497
688
598
590
954
595
723
634
845
548
361
205
465
652
521
471
360
205
208
560
344
205
375
645
469
622
370
615
428
646
253
436
665
309
238
301
291
912
336
179
193
422
474
447
542
636
613
490
499
812
395
199
243
397
264
594
517
195
431
418
956
326
654
627
452
348
388
803
367
591
547
382
297
534
196
823
695
743
299
462
529
307
543
525
234
399
601
770
720
432
798
355
250
260
979
566
658
650
558
595
171
161
705
763
229
823
767
293
739
367
307
298
214
697
530
343
167
314
350
274
726
594
505
450
513
613
521
586
542
300
533
187
617
734
797
262
238
798
728
571
432
410
554
164
596
248
924
241
617
804
343
200
516
783
622
688
596
177
653
472
443
431
476
549
316
494
679
593
577
388
269
555
598
965
675
856
181
695
480
357
454
740
285
205
341
711
282
660
787
472
221
230
266
445
528
197
241
512
388
652
604
655
358
184
312
934
248
546
381
386
364
698
170
658
499
509
463
584
301
427
394
648
382
447
320
908
658
230
175
649
352
612
384
396
356
459
594
474
571
196
393
485
512
681
376
164
885
174
576
668
332
214
481
404
225
306
851
378
217
388
232
546
559
247
216
501
283
469
399
822
927
840
437
198
291
858
185
595
839
402
238
697
350
794
568
321
233
600
809
794
742
332
356
345
828
317
649
659
287
346
242
534
219
262
218
733
928
563
463
843
166
299
292
338
288
654
698
338
678
229
438
531
322
637
390
269
351
170
710
332
702
513
317
292
854
266
532
232
459
171
484
291
394
270
216
361
358
884
462
