0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-12-26 22:11:59 +00:00
OI-codes/S2OJ/1693/data/ex_idiom3.out

124644 lines
481 KiB (Stored with Git LFS)
Plaintext

274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
900
901
902
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
224
225
226
227
228
229
230
231
232
233
234
235
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
386
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
510
511
512
513
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
441
442
443
444
445
446
447
448
449
450
451
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
447
448
449
450
451
452
453
454
455
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
387
388
389
390
391
392
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
409
410
411
412
413
414
415
416
417
418
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
471
517
279
308
310
374
560
82
295
492
159
432
641
251
445
121
225
67
257
416
151
584
368
558
178
469
1010
446
406
408
687
613
139
552
425
564
247
746
644
230
309
829
242
388
238
365
330
469
761
597
181
421
514
345
450
269
889
253
369
453
231
260
507
156
251
362
627
383
408
233
167
807
284
890
295
184
603
451
329
210
200
682
355
504
711
507
306
219
462
78
288
448
323
258
574
500
182
707
502
633
320
358
368
277
121
520
353
116
365
113
422
598
517
321
230
325
186
342
17
190
33
203
182
463
914
344
217
815
362
374
105
534
579
654
157
498
907
183
573
428
296
183
286
568
673
135
681
572
317
296
581
511
171
291
266
505
201
196
212
521
498
200
108
160
177
333
584
537
218
436
771
528
434
540
269
499
91
558
960
110
185
97
373
120
463
749
372
912
687
124
277
301
516
609
225
175
308
1001
139
457
439
361
357
385
880
545
368
317
412
73
231
91
345
141
691
453
703
116
650
264
334
243
415
379
396
602
367
774
209
283
297
202
70
485
222
140
606
362
158
430
736
308
338
445
310
300
395
557
310
447
496
87
550
234
297
607
760
509
82
480
1065
448
83
333
91
1046
566
187
241
165
435
140
123
252
687
318
626
334
539
527
503
203
704
220
86
367
113
963
303
199
137
388
441
424
565
297
12
177
314
605
564
370
379
474
488
677
324
295
433
755
299
341
225
338
208
519
687
709
334
275
440
200
512
556
739
103
317
977
806
260
187
295
159
493
127
363
256
205
375
432
456
338
705
365
488
135
901
245
228
580
319
365
641
303
275
249
194
223
415
523
343
556
132
129
457
719
92
223
245
168
192
67
74
418
657
364
396
457
392
311
512
241
121
249
181
426
260
208
207
317
381
390
94
290
66
400
875
229
544
369
298
236
512
154
166
302
524
547
286
123
123
291
565
316
221
311
659
445
135
127
309
318
550
649
336
526
198
550
573
479
211
50
88
64
587
75
223
270
202
619
171
94
454
394
397
204
121
207
513
662
476
581
388
318
570
392
219
73
405
610
284
559
412
411
238
150
128
253
688
577
225
163
400
458
1095
408
114
69
92
482
172
384
470
221
132
308
489
270
384
273
276
278
427
583
605
778
228
507
293
368
645
349
616
369
99
131
559
896
211
540
539
477
118
202
360
152
564
398
218
399
742
577
533
167
543
136
399
383
146
31
249
203
102
381
585
222
146
467
555
599
151
363
441
481
375
77
178
137
310
235
52
203
415
611
574
503
617
187
287
159
245
669
389
563
32
782
422
174
197
597
72
556
525
711
432
245
453
415
448
240
303
504
540
176
383
223
655
274
710
150
422
341
571
437
494
95
309
476
703
653
164
622
278
129
266
591
393
84
124
209
198
227
310
312
470
289
294
124
850
444
918
302
536
691
599
204
559
671
550
757
141
52
393
466
484
141
77
208
518
277
212
431
331
247
479
548
456
204
290
493
133
413
843
293
296
412
90
343
345
404
531
187
318
476
362
655
71
511
246
671
284
335
372
13
176
308
411
342
410
196
281
432
317
129
320
544
122
450
297
734
510
480
209
559
493
473
226
179
539
173
573
317
617
240
393
99
109
173
431
601
93
355
297
358
615
275
89
165
421
118
379
561
384
440
570
284
255
440
327
707
257
287
265
276
404
396
528
397
553
373
246
231
310
1099
259
191
74
491
280
540
31
135
451
748
100
703
458
510
258
582
493
196
369
300
181
256
407
618
195
736
399
131
129
301
675
333
220
138
368
339
181
187
331
342
285
235
378
273
154
441
122
367
219
394
524
805
402
412
342
422
304
392
255
440
559
611
68
272
264
458
242
260
815
138
444
314
154
357
727
277
573
652
347
945
524
400
604
444
766
320
458
659
536
194
420
175
227
197
313
379
454
507
566
190
506
442
64
589
510
481
297
490
678
147
141
532
177
131
261
352
485
59
466
622
463
500
498
384
327
294
285
769
632
283
411
103
200
238
322
585
143
202
383
385
75
327
524
287
486
468
276
579
631
96
303
141
414
581
95
124
736
502
687
223
613
421
760
468
397
491
366
508
989
586
358
234
439
467
94
309
461
275
286
184
284
444
358
320
252
284
507
241
403
308
143
325
355
674
296
783
271
277
456
144
209
642
461
485
637
376
103
299
531
398
622
475
206
458
397
379
738
77
106
1148
701
161
395
559
312
372
407
225
134
93
107
860
675
852
283
376
406
312
743
57
581
263
313
474
346
228
511
476
338
593
468
203
132
233
307
808
232
147
279
458
251
204
479
45
116
411
294
72
435
547
415
525
95
467
249
150
159
491
252
237
687
339
333
178
1017
19
235
178
93
246
442
188
314
135
168
293
460
254
262
519
164
301
286
418
508
292
440
673
135
604
124
675
620
95
675
465
341
268
643
205
230
64
280
507
448
462
374
77
770
677
379
217
257
318
267
707
292
781
136
703
435
305
561
234
277
107
226
719
120
243
390
205
143
338
639
490
404
169
351
536
572
183
368
525
322
538
246
348
186
367
346
343
565
299
72
361
388
62
420
167
75
97
658
207
383
83
787
316
231
546
508
274
166
98
232
323
419
466
342
677
1143
407
750
363
608
598
436
384
324
319
363
642
551
581
440
333
589
325
257
215
309
375
635
270
510
319
129
392
504
126
298
724
487
683
577
366
242
501
648
539
794
345
787
416
43
78
427
653
312
137
327
434
466
701
373
575
142
108
169
776
176
240
449
452
147
638
194
174
216
216
983
418
355
295
163
576
279
342
741
481
261
643
392
304
421
43
379
581
498
565
156
454
438
538
669
156
703
607
73
425
543
356
86
596
312
148
367
346
694
443
670
803
569
360
679
472
659
364
399
445
129
517
142
720
418
193
372
587
557
273
380
225
192
207
569
563
201
587
131
166
480
318
414
830
301
304
78
699
416
61
580
612
171
207
480
112
474
577
397
650
197
371
674
512
848
163
184
61
230
553
172
481
334
146
382
342
539
76
201
202
658
436
202
436
760
563
76
338
527
230
431
530
170
367
462
373
256
689
371
161
343
140
445
574
120
329
260
365
385
429
347
608
421
309
409
367
796
58
168
175
754
449
717
747
180
421
379
211
437
434
544
386
640
123
416
417
208
109
600
352
356
134
700
149
310
347
223
584
816
168
736
191
330
160
193
120
446
659
281
165
144
431
177
667
78
485
893
566
261
185
314
549
397
261
537
553
342
559
204
355
95
149
580
404
640
558
857
99
614
711
446
132
540
403
367
33
935
299
587
410
424
688
947
304
131
126
200
271
436
345
352
242
224
648
473
202
249
169
178
121
971
716
429
707
580
118
117
420
215
661
692
64
713
72
585
360
547
441
374
801
307
220
235
219
466
184
220
222
122
433
230
607
310
1069
786
281
683
354
79
308
164
413
553
222
379
512
165
549
385
191
87
394
166
141
285
300
332
617
352
617
596
970
271
183
121
97
744
319
527
333
583
199
352
608
654
968
406
325
671
553
120
555
716
159
259
570
82
353
285
455
736
362
181
174
516
496
70
1029
304
382
378
247
418
539
456
349
574
383
388
195
442
358
383
472
320
231
576
188
418
607
87
201
328
401
282
63
430
198
954
490
424
252
328
455
337
272
302
84
848
173
171
90
332
550
432
389
110
565
734
336
147
323
364
327
543
271
298
602
399
9
263
218
709
285
570
295
315
524
648
187
814
699
99
131
304
295
203
287
701
422
222
475
436
230
718
133
530
404
987
437
357
478
394
210
201
642
582
396
174
526
286
245
187
544
464
582
214
724
136
57
286
421
512
577
377
348
347
546
428
633
593
296
250
299
61
347
473
356
867
383
594
466
915
170
177
74
800
405
311
417
455
225
529
130
476
498
715
304
230
137
387
204
643
603
694
474
374
568
736
179
425
93
98
338
512
547
404
294
206
525
153
323
316
87
162
326
395
536
65
268
420
317
714
326
678
42
843
921
421
522
152
583
450
120
252
493
306
112
73
242
670
411
480
359
451
421
495
243
223
596
328
427
166
386
514
117
249
287
778
306
659
369
472
759
440
815
372
551
245
139
81
954
220
440
164
594
177
417
287
209
309
159
500
345
339
255
65
465
367
129
180
806
29
424
467
54
264
1089
586
236
325
404
195
393
87
552
46
250
531
291
497
583
404
562
547
413
355
279
431
164
634
359
445
530
253
291
148
565
697
144
364
368
434
808
358
362
544
774
184
317
423
282
88
57
430
298
603
316
353
244
21
367
368
77
168
609
294
550
368
330
96
315
323
413
233
493
446
177
332
532
807
225
263
227
311
239
62
685
359
596
281
238
397
57
213
221
337
348
296
496
382
167
663
348
194
231
387
44
188
382
80
255
71
134
381
663
442
51
482
141
469
639
81
139
413
571
398
498
278
95
361
531
529
768
304
238
221
391
772
501
252
190
235
285
149
199
362
463
636
543
152
660
284
524
200
359
790
331
205
476
138
228
641
502
545
855
294
412
470
578
157
352
526
160
81
59
292
319
422
971
512
465
552
537
237
560
124
354
543
67
600
152
554
297
346
315
290
596
262
398
525
202
345
138
68
733
236
238
312
542
418
85
674
662
972
364
323
88
82
524
375
201
396
421
230
198
208
167
204
165
455
613
150
316
526
291
305
402
518
402
230
248
294
213
724
361
489
513
204
344
285
496
573
555
562
152
305
108
482
176
395
297
858
423
644
582
438
144
410
543
381
661
539
485
141
287
447
195
697
623
343
186
177
205
192
646
586
148
393
404
607
360
164
341
493
280
246
115
751
461
371
111
541
92
406
56
230
286
258
239
664
263
476
525
170
361
311
205
710
381
469
502
576
491
159
186
221
232
460
270
481
310
169
507
195
597
536
291
891
626
257
287
534
323
148
204
546
358
107
1013
336
186
43
605
311
286
259
387
726
13
126
561
378
245
180
38
471
267
174
651
396
273
371
287
425
243
197
270
638
555
108
194
167
660
360
303
644
583
551
476
404
617
395
365
125
612
193
394
384
230
542
429
203
366
364
372
350
612
231
105
489
544
725
467
134
232
781
457
262
535
306
392
154
676
460
386
169
888
359
185
534
205
613
292
173
573
599
343
568
452
647
495
53
160
293
155
68
362
156
247
211
529
854
866
420
297
630
426
219
308
414
177
72
257
683
49
564
646
317
543
18
607
370
119
275
103
341
676
471
222
270
169
432
121
628
101
241
62
764
471
707
637
61
364
268
136
230
311
111
263
549
172
505
210
456
364
691
548
515
621
428
280
62
261
274
259
455
289
383
282
376
94
369
499
500
394
398
332
324
265
577
125
714
624
413
443
670
375
144
585
478
638
363
169
167
174
470
264
502
470
188
520
495
383
433
1002
287
166
166
477
217
624
466
260
686
251
150
630
109
519
175
301
401
245
430
20
340
350
407
470
416
393
514
506
248
203
590
266
330
198
277
525
867
291
341
612
428
654
439
333
620
593
176
440
619
259
93
487
244
181
204
356
660
579
197
278
644
300
217
354
391
308
225
568
948
414
196
660
356
589
310
163
133
43
466
451
405
69
127
144
227
425
534
474
292
445
46
334
345
463
173
253
438
281
408
276
213
299
704
497
302
416
131
600
645
411
240
594
880
453
87
321
233
459
191
98
561
330
241
228
368
239
206
882
407
35
143
567
146
554
290
279
547
241
1075
699
203
529
293
591
738
589
132
276
538
317
271
360
224
286
520
449
265
255
166
129
596
371
297
272
278
488
752
288
178
106
381
271
93
337
374
295
229
208
279
457
383
538
341
325
57
465
365
102
110
473
279
169
209
624
384
412
182
423
300
729
135
220
225
572
446
213
439
683
349
589
197
398
392
499
617
243
372
142
243
403
342
324
742
148
578
545
81
277
795
548
964
315
509
456
660
204
892
60
105
662
419
318
474
253
641
432
400
475
150
122
212
169
154
114
493
440
305
259
549
502
105
439
231
1017
435
587
596
262
278
426
284
536
436
506
342
323
529
326
427
711
270
197
166
395
551
355
553
39
451
340
421
261
430
273
804
466
114
418
96
428
330
332
365
246
146
557
504
393
394
1033
246
279
376
389
219
471
371
129
427
395
472
296
531
410
348
236
230
275
678
289
376
313
641
190
96
634
481
305
351
342
409
284
260
171
358
274
500
585
140
743
364
425
654
309
990
404
270
87
469
375
216
764
216
107
681
692
175
667
140
411
460
444
175
67
326
209
369
326
305
158
279
211
118
289
894
836
158
703
540
204
68
144
215
175
201
274
284
555
587
500
250
446
394
700
393
361
353
354
370
393
378
323
161
141
497
180
300
596
266
117
242
342
351
992
162
381
198
748
514
906
1009
307
426
529
302
534
642
397
361
425
1025
371
782
346
694
313
316
215
304
556
472
354
351
270
202
116
454
416
165
265
213
248
282
414
547
424
267
462
490
258
496
524
319
464
151
291
136
812
388
319
351
441
291
804
412
567
445
466
374
425
981
299
425
299
485
712
619
223
108
562
435
704
407
193
197
224
505
706
368
560
682
207
600
783
92
416
299
435
541
230
401
477
797
682
361
458
167
423
330
622
385
551
391
285
291
488
225
410
10
367
184
376
305
319
316
546
66
99
227
811
256
304
229
328
428
245
14
317
608
87
226
690
240
451
341
220
246
373
16
271
811
295
392
488
193
486
457
253
497
672
289
519
415
350
443
293
105
315
61
779
189
749
546
31
57
385
259
104
298
209
235
128
361
283
523
636
622
210
377
217
441
423
80
355
280
310
506
158
213
26
221
191
614
259
913
132
421
294
423
219
153
539
146
119
90
47
405
367
114
124
403
154
515
171
543
323
51
192
539
97
858
290
113
309
87
225
439
595
163
672
136
284
692
185
255
331
78
131
210
368
79
129
134
697
61
165
238
399
262
283
474
230
178
172
642
424
423
634
349
226
315
622
477
206
311
453
22
626
563
862
704
131
790
264
656
316
256
575
453
235
308
110
334
451
398
112
985
560
689
315
311
229
204
340
313
479
760
663
356
309
595
396
325
369
614
167
548
398
152
594
333
231
137
340
340
604
198
33
601
137
245
934
129
194
327
173
445
393
315
796
369
531
376
284
82
397
573
692
153
217
320
325
550
293
258
80
141
311
362
499
240
364
624
168
231
117
36
804
611
125
244
440
179
473
156
561
460
413
194
18
96
307
562
808
642
289
955
353
121
391
153
471
392
392
236
86
412
652
235
252
457
188
442
523
298
150
811
343
533
279
500
321
729
187
370
404
319
129
424
675
487
539
347
459
288
317
398
413
398
353
481
183
487
383
764
290
324
496
401
488
191
362
795
72
516
600
523
478
348
337
323
286
691
69
711
295
448
538
300
555
232
459
184
735
321
53
131
1035
122
113
115
234
97
511
241
573
222
258
367
289
540
611
197
537
610
460
623
643
279
393
405
338
392
265
152
294
700
519
412
772
208
67
570
513
429
271
92
60
574
363
255
338
339
518
379
309
148
119
294
206
155
132
350
677
87
942
126
48
291
275
581
339
328
517
316
318
729
384
188
319
362
297
350
272
514
247
289
364
204
300
722
281
213
327
145
712
405
69
109
562
257
406
178
162
355
451
788
388
313
252
734
147
385
186
51
752
103
241
204
201
678
607
192
1121
333
313
766
222
166
472
130
844
325
674
491
115
403
116
202
220
224
227
97
402
521
274
189
672
670
287
286
699
793
556
752
423
513
41
301
270
244
317
254
95
165
382
475
460
193
367
302
206
516
616
220
362
354
803
96
384
224
196
423
221
514
772
282
584
357
423
592
316
545
323
286
557
343
196
520
235
617
519
152
73
542
652
442
579
411
1035
406
958
257
573
620
421
654
96
783
229
643
34
208
157
697
673
326
132
343
436
413
252
106
565
247
471
692
188
241
374
363
516
331
677
564
574
407
271
46
370
270
212
185
500
482
85
283
461
616
571
492
937
345
199
459
657
541
132
725
159
227
171
291
336
237
567
581
340
222
304
218
321
308
332
218
257
197
463
177
71
248
300
352
561
333
450
282
393
381
264
268
429
511
285
351
759
475
585
783
212
600
340
552
150
143
143
92
316
179
359
164
92
364
241
407
488
373
133
189
303
351
496
287
476
741
62
345
444
113
253
284
298
420
575
286
587
353
254
430
752
543
160
482
305
75
342
686
143
541
662
367
401
198
526
728
159
151
401
416
199
704
566
204
483
240
23
384
287
193
163
707
302
314
831
342
543
180
205
253
452
154
645
752
625
390
682
584
314
75
405
510
132
290
398
245
844
159
339
244
281
429
147
467
458
750
376
132
173
137
573
63
391
157
694
85
126
461
232
344
483
609
420
84
131
624
240
611
361
219
480
326
1146
144
231
165
310
599
474
557
288
332
907
260
464
476
260
275
446
126
364
399
320
186
642
87
464
603
687
671
283
171
189
497
671
795
784
322
105
279
247
804
254
168
64
605
364
554
402
218
275
354
476
247
267
463
327
228
180
273
257
296
1065
293
241
268
153
489
274
435
693
165
404
174
285
788
206
460
143
172
419
649
183
526
226
404
252
269
588
316
383
267
236
267
567
430
329
345
709
704
53
54
293
268
195
502
151
170
406
626
507
216
390
489
23
266
851
157
213
223
240
273
159
354
292
380
340
341
355
160
420
190
463
217
327
517
471
237
187
913
198
95
256
287
340
149
448
639
354
515
341
273
361
415
739
375
244
258
669
298
302
203
554
257
325
313
249
112
123
168
154
246
513
253
512
318
695
308
302
359
410
384
151
446
384
385
535
654
318
264
326
231
276
340
932
534
657
365
127
191
187
231
525
217
368
427
165
92
413
256
220
221
335
272
341
467
249
152
185
178
131
425
508
754
567
537
384
214
185
284
620
369
148
217
274
198
274
173
901
713
807
140
678
328
322
291
411
129
41
70
207
623
457
440
418
213
607
185
248
194
206
496
192
294
489
599
528
232
543
233
214
262
409
245
227
85
396
173
851
394
259
517
261
742
344
1123
192
400
198
196
92
933
295
613
575
207
266
349
370
282
375
341
249
411
893
689
671
287
529
386
475
52
469
456
238
421
368
629
243
162
273
463
107
307
830
401
96
581
408
461
346
196
179
70
48
461
695
402
214
1062
71
454
245
21
470
301
474
425
94
537
387
242
567
585
322
707
378
392
680
346
506
309
937
657
1041
721
321
183
212
300
572
371
373
175
701
82
453
247
549
459
294
266
384
379
417
851
225
311
257
858
185
334
451
303
386
267
317
254
470
53
422
458
560
699
707
302
290
162
228
108
199
497
747
215
337
212
261
223
967
137
317
100
171
198
315
284
21
453
359
295
351
484
162
213
598
521
226
498
235
257
545
610
500
436
482
360
267
238
559
277
773
307
125
391
254
543
447
279
460
414
264
1099
329
417
267
414
192
383
334
563
222
36
192
114
498
430
413
769
683
180
532
224
161
121
391
429
360
534
515
5
110
1077
105
1013
68
189
279
401
570
235
704
249
190
470
207
552
361
352
308
267
863
406
294
581
398
680
285
422
254
339
499
276
455
353
290
218
219
130
153
334
261
657
717
362
587
404
54
62
421
406
612
145
503
49
133
688
536
863
385
430
397
218
258
376
205
439
526
625
461
715
620
532
113
172
274
566
561
170
869
113
370
401
402
347
216
577
523
254
163
119
309
284
388
824
227
160
241
547
810
705
184
340
250
191
285
420
813
142
295
235
232
586
401
536
234
190
51
499
131
970
289
532
155
258
733
532
565
913
562
300
324
379
107
237
549
695
606
430
138
420
285
42
565
66
380
78
249
554
380
122
558
720
229
698
571
224
434
640
480
470
747
723
446
182
157
492
277
679
476
387
394
392
358
234
290
403
186
346
274
99
108
279
339
323
165
293
499
468
198
306
637
193
118
304
792
401
283
95
615
662
964
893
415
327
175
442
394
628
340
261
747
883
690
377
659
222
374
395
354
498
647
213
425
139
629
788
547
185
202
490
747
159
375
717
132
376
344
387
483
126
453
640
267
50
225
131
132
482
369
424
303
164
132
284
301
186
470
400
156
449
332
36
148
426
225
609
604
620
423
314
257
552
154
497
196
553
296
653
383
312
254
499
457
344
666
630
309
229
127
310
369
138
336
56
475
634
131
690
302
249
504
125
546
275
693
274
279
611
289
103
786
669
421
563
400
565
612
572
242
448
485
200
487
331
302
405
300
142
339
289
252
466
359
264
535
377
160
353
253
527
457
355
491
405
52
230
137
347
585
555
579
274
250
713
167
242
961
321
72
796
77
165
233
565
190
186
285
383
386
1047
478
469
751
209
529
63
424
1098
212
392
568
394
124
628
431
269
275
657
155
928
243
194
406
304
186
209
328
416
298
684
187
325
456
618
148
142
562
555
438
263
301
431
128
356
357
249
439
412
232
493
574
264
363
256
234
320
519
666
313
595
48
484
641
745
277
642
384
505
644
661
258
405
398
14
472
413
677
584
266
873
311
597
382
162
454
189
488
394
387
223
80
178
274
222
313
125
329
71
773
342
544
1032
156
449
540
397
146
279
318
353
575
240
167
295
800
389
638
214
248
617
476
499
565
248
208
526
686
90
645
376
280
284
227
271
369
339
414
169
411
227
547
99
720
125
373
442
775
557
498
261
360
201
358
155
664
393
308
370
257
333
404
342
48
303
411
122
458
105
777
805
187
328
184
711
365
456
226
767
392
344
872
196
228
218
409
572
293
646
291
504
288
287
392
470
231
510
323
665
769
497
759
80
445
551
284
286
374
626
458
372
249
449
504
523
597
206
241
604
482
705
179
224
309
139
341
467
263
222
220
168
389
306
533
446
574
88
451
475
155
223
259
476
150
743
546
504
342
680
234
194
550
374
428
786
368
284
491
492
481
341
289
396
244
276
451
364
635
330
125
491
404
747
131
356
331
613
71
285
545
383
176
328
142
422
199
58
250
340
229
314
870
292
614
708
180
128
906
346
301
109
382
576
271
85
152
300
253
654
219
502
494
387
275
488
581
546
439
466
67
366
282
265
359
274
727
476
681
544
464
302
225
613
315
915
280
198
302
453
125
330
606
341
196
422
178
506
463
1106
493
461
389
85
462
351
318
90
333
385
241
247
215
338
133
792
244
292
197
520
160
175
427
140
326
124
493
234
718
113
217
120
484
341
257
294
98
235
498
720
190
797
370
354
532
169
105
618
415
724
735
384
300
394
670
193
154
562
313
153
314
76
243
629
551
460
544
68
309
152
434
419
345
577
214
886
731
410
512
329
517
716
159
284
401
525
906
485
729
129
319
357
408
217
341
74
281
114
647
350
85
923
634
501
358
87
278
85
470
746
450
402
269
416
179
293
533
552
424
113
137
397
152
599
477
298
365
344
848
522
131
224
200
251
350
236
454
567
114
181
322
442
203
624
664
172
229
753
238
457
549
301
268
68
44
438
289
417
425
399
366
425
956
513
343
389
353
335
419
670
393
57
447
558
154
170
517
354
188
199
204
321
406
493
75
292
251
565
374
967
262
259
259
573
371
304
515
217
648
491
173
636
191
479
725
547
560
449
317
305
327
177
501
302
462
179
368
228
169
636
198
664
435
328
351
125
323
15
263
544
727
152
688
607
609
702
115
535
234
399
655
330
278
114
382
864
584
286
402
355
273
315
632
449
938
387
684
339
347
368
212
335
459
275
269
440
343
619
356
536
288
474
313
273
516
175
176
311
228
57
670
131
452
281
823
95
886
441
167
1018
179
381
538
1030
348
74
288
616
729
439
68
471
499
635
1147
911
193
202
784
363
433
351
152
384
157
316
495
186
326
139
670
764
177
215
348
176
563
347
188
215
311
211
333
178
605
240
740
612
656
300
344
21
410
660
334
249
456
680
246
258
626
543
324
267
304
407
263
54
360
292
240
459
704
362
289
513
698
296
1113
476
296
128
198
142
301
358
257
447
273
372
447
379
482
78
512
302
480
484
285
506
178
251
849
81
499
111
338
285
614
453
503
464
128
304
351
272
623
443
244
56
187
524
302
330
55
263
98
735
386
385
1084
189
489
326
386
401
681
743
468
200
290
428
757
145
432
278
307
540
327
256
359
650
429
539
65
502
624
371
322
440
252
142
181
427
229
149
471
578
85
553
207
124
175
204
811
294
564
222
116
401
388
214
457
381
106
280
531
396
240
149
204
226
192
266
283
671
589
436
74
416
155
369
328
564
174
361
645
108
304
650
393
390
211
303
441
550
486
789
195
405
308
744
168
505
406
98
114
141
345
491
527
396
362
569
244
569
669
420
285
657
524
413
647
329
201
345
298
459
214
358
238
444
259
271
269
617
98
380
639
722
212
482
621
622
682
742
155
164
113
78
310
560
259
471
229
530
416
154
233
403
902
99
431
545
465
59
756
745
526
313
524
328
636
359
199
150
480
137
137
608
94
525
105
286
602
410
627
409
281
477
473
573
537
246
191
286
124
519
179
185
141
118
1013
262
528
181
334
284
92
467
484
424
260
423
155
339
399
245
507
133
403
280
137
51
76
365
353
577
351
602
786
570
329
337
31
490
335
256
137
448
465
214
368
704
123
512
127
276
271
289
55
337
676
711
555
387
527
488
255
765
311
441
120
550
496
463
561
540
340
273
284
484
210
506
341
307
257
346
700
57
214
729
701
708
203
274
206
393
428
455
369
353
540
180
432
406
425
373
115
400
516
207
526
422
91
410
427
147
167
753
231
111
124
223
527
282
458
146
528
481
143
1123
175
365
518
442
267
627
175
281
232
231
642
400
176
456
310
342
440
298
540
177
665
488
413
259
604
321
395
347
194
425
111
126
146
495
395
227
671
211
926
117
247
414
745
453
697
261
66
541
439
433
411
588
221
315
546
710
532
334
650
343
633
524
447
192
376
221
127
317
540
433
19
157
457
168
461
379
321
284
565
261
735
409
278
796
662
624
392
52
692
283
22
365
493
596
708
394
303
188
403
91
150
316
387
194
390
463
69
105
933
344
524
242
497
265
574
497
165
191
448
204
386
217
845
121
467
326
594
197
149
664
336
896
254
108
231
245
227
220
476
117
269
487
434
180
112
446
173
832
755
211
524
394
22
189
198
486
399
269
364
206
232
96
416
115
139
305
409
359
291
750
236
331
498
367
726
189
730
794
651
773
256
452
220
356
529
451
553
543
440
429
269
195
98
307
358
255
316
160
345
529
321
287
138
754
178
175
411
217
210
516
942
434
410
493
355
347
260
100
403
153
151
717
131
683
408
554
276
539
243
279
388
51
176
459
564
442
903
488
310
436
644
138
439
465
198
262
465
316
426
508
436
177
190
438
77
499
398
483
408
351
42
124
520
103
529
398
124
222
339
337
401
254
355
342
226
48
391
177
439
234
70
596
388
624
202
187
655
393
666
348
398
374
211
272
380
427
490
600
161
161
256
334
174
622
691
375
212
416
861
20
321
125
181
352
189
126
329
98
431
334
114
515
373
898
238
496
220
113
564
478
333
111
73
277
757
19
738
584
500
405
595
149
525
334
766
453
134
304
69
324
605
154
106
189
155
253
340
212
336
240
126
308
349
109
259
352
690
348
343
386
436
457
193
188
287
263
434
271
417
141
455
133
616
504
572
466
519
581
263
633
152
200
367
179
510
463
447
439
131
156
307
414
396
356
121
122
287
474
604
693
530
201
445
657
398
618
124
406
262
133
115
591
364
169
479
100
102
485
319
270
487
154
162
44
56
261
300
457
345
571
243
364
90
661
285
178
378
7
336
147
151
532
120
137
596
194
37
272
248
1038
73
370
344
118
515
343
432
190
118
673
259
233
293
636
272
397
219
146
78
411
279
190
167
420
426
278
285
213
197
514
294
777
515
317
645
518
117
481
698
157
447
543
340
376
368
84
588
777
318
294
374
475
344
371
190
604
187
40
313
225
324
171
176
442
263
50
532
448
111
459
529
828
498
182
244
917
457
484
467
247
219
250
426
371
206
416
203
191
586
133
498
340
439
599
170
157
326
595
425
518
43
127
699
289
537
627
502
204
168
475
399
205
102
388
236
336
548
811
101
295
629
360
406
390
420
447
381
399
59
216
401
526
281
362
1018
231
494
45
203
381
69
412
155
463
149
438
163
146
199
635
682
503
476
551
260
261
78
449
88
175
521
454
390
135
387
676
213
634
293
231
291
376
643
336
479
436
448
167
386
786
124
336
440
258
155
665
299
450
123
287
390
480
75
514
403
288
512
737
847
495
196
625
404
533
692
335
338
422
310
265
386
623
253
448
188
426
246
595
454
462
243
584
520
397
433
543
308
552
320
513
355
559
168
148
240
596
477
397
767
565
282
203
354
179
211
64
235
345
652
693
661
508
451
193
343
396
424
215
605
321
902
533
422
318
73
364
197
148
493
388
111
225
58
486
651
238
700
750
89
424
428
381
134
502
653
617
427
250
236
279
368
503
408
289
270
275
680
254
456
509
94
105
704
264
694
997
483
296
627
58
532
475
623
66
532
327
512
193
407
680
97
100
314
371
368
520
181
159
39
287
31
234
381
543
577
508
192
530
426
723
380
348
282
554
467
202
403
608
600
327
398
332
490
251
551
308
620
342
316
382
466
461
116
112
279
268
471
545
164
499
672
363
499
675
185
237
459
89
414
124
540
90
404
569
283
162
117
324
342
84
463
136
586
188
505
300
316
297
606
411
221
166
479
384
90
340
847
597
980
45
187
270
348
449
398
277
553
446
816
682
758
545
336
92
408
709
283
503
271
257
109
272
526
722
515
342
421
281
408
468
490
148
554
184
704
561
199
214
321
460
128
706
625
883
113
238
189
394
393
463
661
91
412
87
396
489
795
120
189
196
138
162
651
142
469
119
699
221
315
887
264
554
631
297
345
339
460
490
329
341
232
486
466
568
443
264
57
496
490
527
335
183
648
284
747
802
279
156
425
224
166
219
679
500
300
477
398
340
73
35
310
469
161
635
308
471
154
157
366
337
491
200
522
229
173
409
67
205
567
273
425
224
452
327
393
485
354
388
337
182
826
128
250
346
441
275
425
319
255
630
518
101
376
97
683
211
204
550
149
175
236
1073
188
376
155
332
217
178
421
489
117
454
457
259
192
244
632
260
538
330
597
181
212
150
336
281
385
110
656
307
591
369
355
349
377
312
490
331
555
688
83
226
186
420
214
251
109
586
515
215
370
527
246
316
244
560
443
135
247
250
422
130
291
393
185
275
358
561
694
697
600
113
428
292
160
30
436
420
296
316
427
331
93
184
355
502
423
340
1065
219
579
754
325
158
51
538
411
311
625
334
279
414
159
355
17
289
447
275
269
529
305
412
246
548
592
307
344
629
125
243
582
321
647
368
275
528
290
359
365
576
387
603
238
180
73
492
580
211
957
441
173
129
231
142
516
130
199
345
748
410
166
728
294
113
230
434
273
107
662
189
542
67
481
57
221
647
748
556
519
275
1000
528
328
458
353
367
496
596
513
605
588
371
163
539
321
317
41
369
784
315
293
803
563
183
53
420
311
120
410
232
207
360
100
207
551
178
30
608
175
224
973
494
170
371
206
454
189
319
182
73
412
210
738
345
320
304
332
620
269
675
254
335
528
367
478
41
67
309
214
945
284
465
57
327
279
482
16
556
159
902
237
158
140
320
436
313
556
221
535
186
393
127
136
387
153
492
491
406
418
348
544
170
111
132
508
391
106
517
378
65
237
582
252
610
550
462
626
360
99
117
434
301
184
429
361
471
188
131
351
506
328
220
144
177
107
536
562
449
867
350
267
815
353
237
251
172
185
165
524
591
569
197
452
117
311
582
398
557
425
414
428
537
456
150
157
130
129
389
366
623
412
142
663
718
214
666
454
518
735
347
318
169
308
259
311
576
398
603
381
800
380
290
486
312
325
403
45
473
327
475
518
322
425
223
311
193
544
58
507
1135
76
45
259
534
187
281
243
149
584
309
129
248
765
419
548
565
532
285
406
304
581
380
253
298
434
268
399
253
153
211
261
414
154
511
272
251
644
465
607
494
546
225
190
246
571
408
386
209
471
412
601
242
270
152
474
276
453
204
420
384
418
451
316
247
405
347
48
77
133
355
114
225
470
170
636
206
179
281
15
331
38
648
688
591
282
108
309
152
675
66
541
103
473
553
659
299
476
654
441
251
218
561
708
160
924
518
139
155
246
405
95
465
505
288
533
528
474
420
127
296
364
774
150
328
222
189
157
123
441
479
222
407
710
208
195
858
311
739
354
721
501
704
279
329
316
147
712
431
222
275
108
208
134
504
155
736
414
543
309
481
143
50
328
418
498
224
491
488
84
115
570
113
99
89
149
398
527
190
652
573
354
513
88
326
764
465
227
215
266
192
88
642
189
199
271
315
90
341
234
111
519
469
447
112
478
511
395
363
250
258
374
301
324
287
356
472
279
439
218
467
494
361
198
520
969
780
254
557
651
657
546
110
323
603
236
488
167
99
374
420
750
259
445
177
339
293
454
528
194
185
551
370
279
673
433
144
219
150
510
226
684
173
446
318
141
222
216
478
143
447
623
324
246
345
339
301
76
81
213
695
92
287
379
408
434
492
330
259
541
423
506
795
277
208
157
346
108
341
341
410
267
370
731
336
366
655
196
397
431
85
230
540
79
507
836
318
123
436
475
429
347
156
758
752
339
128
507
342
403
563
671
195
411
172
434
146
540
892
195
180
627
299
122
604
143
285
279
170
340
429
72
540
157
310
283
922
694
671
560
321
361
255
703
427
286
62
179
169
507
211
162
375
46
571
197
341
575
187
381
154
443
413
516
478
516
280
615
146
872
344
229
248
176
559
291
374
516
666
417
127
227
562
162
173
421
497
619
345
649
642
653
407
112
413
180
289
406
366
378
333
186
516
310
156
198
537
452
302
371
472
308
167
356
202
350
218
450
95
629
592
374
109
419
466
128
107
347
621
80
1076
441
337
579
398
175
297
286
205
779
286
273
1024
219
286
28
427
282
412
199
379
370
478
600
426
412
379
79
366
542
720
426
305
806
76
498
148
206
583
210
472
498
687
568
633
385
341
200
120
846
435
1102
350
355
271
213
497
377
118
233
91
333
517
659
475
508
305
237
180
125
276
377
412
133
255
232
269
419
404
613
260
306
493
222
167
274
104
400
175
639
713
90
623
524
149
558
598
302
584
267
136
254
281
171
121
527
305
715
434
245
237
267
191
363
214
123
285
321
308
842
394
361
319
462
212
239
467
221
575
494
208
235
714
58
724
801
246
136
509
420
388
229
328
733
274
329
450
388
305
311
759
375
262
264
83
623
521
115
533
502
867
551
193
503
522
36
969
175
328
456
362
625
897
378
54
263
159
240
727
190
640
432
239
691
342
185
437
613
826
265
293
147
697
346
200
697
63
508
477
96
688
256
526
339
146
512
572
544
525
230
438
97
191
139
149
144
497
284
545
64
190
462
370
779
127
415
82
483
187
576
593
424
234
98
621
285
398
160
64
428
316
261
432
325
287
239
665
333
472
253
700
414
65
286
496
171
375
319
128
190
272
574
713
328
500
90
46
375
134
350
173
101
452
367
214
181
264
549
464
564
410
425
514
428
331
655
597
100
256
329
354
415
546
226
468
404
636
335
289
711
101
451
447
281
72
156
94
470
198
293
364
297
272
435
297
372
712
113
131
551
201
125
212
445
118
691
447
589
164
333
589
416
389
385
396
211
402
358
111
184
332
272
1024
206
250
460
1121
227
244
256
582
128
603
310
291
228
546
413
346
362
467
474
209
360
170
298
534
371
294
315
604
729
167
292
112
204
624
360
138
528
134
362
89
159
785
347
277
246
56
210
418
282
117
382
382
567
226
96
272
318
174
442
282
375
185
196
117
499
223
287
465
597
243
124
262
220
701
244
312
107
241
576
387
757
33
181
166
724
260
260
492
227
395
778
526
516
283
411
637
412
591
645
804
136
54
118
568
541
259
391
355
495
339
790
172
247
131
492
411
351
125
550
538
590
287
101
1036
420
312
244
404
238
396
209
90
298
223
283
411
315
581
302
580
614
289
338
109
200
184
231
155
446
360
312
205
576
208
502
561
285
695
438
584
112
340
414
738
304
300
282
75
253
343
536
8
844
192
184
274
377
239
288
521
492
523
476
310
681
205
94
177
209
225
251
520
303
92
404
222
229
306
307
369
265
366
132
457
248
207
536
196
253
209
200
441
149
234
331
528
648
545
100
641
255
99
445
405
381
151
72
416
688
385
67
355
205
393
687
271
798
99
192
518
373
458
199
289
222
198
262
734
496
358
93
695
339
128
377
309
276
277
418
489
182
611
517
278
175
475
715
384
625
149
1066
954
298
569
550
406
192
262
198
357
244
455
599
567
489
227
610
543
534
159
289
320
270
210
116
431
225
195
365
545
274
500
772
273
499
225
743
217
593
347
562
359
530
265
372
982
456
668
290
60
122
472
93
419
147
233
560
791
702
291
510
187
367
232
479
136
344
348
475
187
276
200
418
79
802
403
755
644
569
535
857
161
579
430
19
231
179
460
607
693
541
489
182
239
426
145
563
460
680
368
205
266
356
540
378
156
176
337
181
545
359
693
253
286
469
213
128
392
119
758
687
44
560
470
248
139
209
123
388
172
30
542
591
342
280
800
239
156
851
183
434
533
423
191
222
376
229
559
600
283
648
420
287
658
96
620
181
205
783
331
254
225
338
283
710
285
683
164
697
245
473
414
98
572
397
132
177
461
424
436
766
619
481
314
316
239
508
226
570
517
502
494
283
743
570
499
261
226
278
112
695
9
525
381
513
441
113
366
334
495
420
395
402
334
688
750
113
51
477
453
229
492
314
274
287
114
243
643
466
99
243
132
353
284
42
164
627
326
58
213
494
324
473
123
388
668
106
1143
523
144
228
175
431
151
471
498
237
145
217
258
488
680
30
151
607
345
687
471
246
157
651
958
572
234
247
856
395
560
318
73
708
647
421
419
205
143
434
257
496
525
384
289
592
118
704
206
273
144
286
152
380
200
707
550
499
367
939
368
322
494
536
564
517
1071
343
598
300
306
390
256
824
323
360
528
341
466
413
598
335
399
367
435
594
126
301
661
133
345
567
528
41
360
350
461
211
181
351
93
256
770
459
138
216
361
750
332
546
192
272
745
235
610
421
492
746
606
963
248
53
478
179
674
326
128
420
371
496
456
504
192
504
584
675
394
152
291
520
336
448
518
183
126
243
498
450
191
581
395
225
170
418
354
178
423
338
388
72
703
138
477
114
341
255
483
628
547
312
483
392
493
533
197
546
64
278
372
72
114
435
238
211
259
917
452
269
604
315
569
675
438
152
538
252
304
525
177
163
463
741
153
347
539
107
243
431
343
333
295
274
856
408
355
373
244
468
171
238
621
332
275
858
239
183
459
491
172
512
453
180
505
539
234
568
328
143
146
737
168
176
403
507
197
419
426
419
227
298
119
308
169
327
257
365
225
359
201
431
763
465
726
472
52
187
464
651
248
113
261
541
622
997
596
598
167
271
379
523
177
228
719
255
252
193
226
292
371
560
747
500
75
584
162
572
499
206
669
121
343
588
477
575
450
145
602
128
292
149
678
181
213
562
593
196
668
601
484
423
207
255
135
646
230
239
592
365
514
142
807
240
590
517
335
314
258
296
278
379
571
741
103
332
62
119
537
544
694
326
597
113
229
481
568
608
194
172
273
96
125
683
316
237
210
281
190
568
255
171
480
233
487
554
162
212
92
169
149
247
598
186
1015
729
432
203
629
294
158
81
867
352
400
500
261
444
421
112
697
246
456
675
321
557
184
171
175
315
434
733
255
153
237
279
533
387
543
189
94
62
105
450
188
173
709
25
869
324
246
306
136
712
603
206
623
440
279
472
470
533
705
545
121
443
76
471
119
425
730
637
756
114
50
131
623
453
203
418
111
416
707
470
277
403
360
496
298
251
87
378
347
188
90
126
458
195
723
123
235
619
397
141
590
593
226
188
375
317
664
328
341
808
207
342
849
288
418
561
59
235
194
732
123
214
405
500
245
203
418
323
644
869
896
446
148
607
788
935
251
336
599
215
194
344
687
68
169
221
550
159
642
210
688
498
552
281
315
314
342
348
139
316
188
704
208
207
241
304
600
76
317
265
287
97
119
435
135
720
584
161
399
579
615
185
298
493
354
107
477
319
130
890
103
454
390
311
347
318
625
311
385
284
621
299
133
341
35
242
242
255
360
264
378
309
141
188
322
181
666
568
734
292
375
518
572
342
577
543
171
464
257
400
316
703
795
547
437
363
148
180
523
137
558
689
497
724
262
572
432
357
307
562
368
94
200
376
265
466
312
268
412
420
254
346
248
183
223
599
231
549
118
132
376
47
125
251
75
112
141
736
506
228
124
432
1034
214
193
404
259
391
260
288
384
596
271
360
1096
61
445
324
384
458
292
360
535
517
884
730
237
63
490
517
93
300
352
386
483
203
367
179
371
192
361
291
749
293
380
169
702
553
445
377
717
372
198
718
130
184
290
603
404
254
156
168
399
129
246
500
260
110
538
250
249
455
551
494
454
311
237
742
269
251
285
751
262
182
385
419
87
232
775
327
499
325
426
319
302
622
161
197
367
335
139
336
222
442
412
110
401
430
194
249
519
386
129
620
597
411
226
287
509
527
142
488
685
339
470
224
541
650
758
373
314
235
154
653
514
375
195
336
137
229
236
411
240
141
206
80
90
250
123
961
230
391
33
280
573
431
230
252
310
605
421
441
156
463
446
450
564
102
297
156
474
293
392
576
355
361
491
335
256
365
335
448
250
316
303
538
333
982
597
537
538
108
436
191
181
295
250
226
181
103
247
212
333
618
597
366
504
396
286
440
128
458
338
418
59
458
809
528
238
221
127
748
280
507
629
669
377
67
508
222
223
289
488
452
459
250
318
692
273
195
254
422
423
406
283
135
211
190
325
299
10
281
509
509
443
212
348
708
461
450
540
359
568
178
371
573
513
414
225
86
444
555
352
129
583
259
175
364
246
683
311
761
296
118
112
408
615
312
267
298
392
269
368
385
578
264
651
303
1166
452
308
646
517
212
773
231
673
193
243
554
561
66
494
554
266
91
476
627
430
641
669
184
217
341
681
358
477
342
72
852
388
499
284
292
104
257
193
246
466
378
414
880
372
475
247
406
60
466
464
437
263
636
199
366
126
65
236
165
564
81
404
643
224
187
471
275
303
900
418
685
463
393
362
306
413
384
553
780
307
405
331
605
671
563
89
255
288
105
332
755
213
211
370
574
109
613
365
289
391
97
143
724
499
277
120
270
89
165
160
460
287
189
312
572
174
337
276
387
252
517
286
383
527
342
285
231
465
373
381
360
131
379
175
446
436
163
560
211
332
86
629
435
418
697
239
332
528
539
645
183
123
251
502
303
877
376
648
543
322
376
970
284
670
273
384
560
222
754
337
568
70
300
387
137
213
681
339
50
451
366
289
436
410
406
420
277
175
668
415
261
169
561
405
480
362
520
611
191
763
434
549
376
248
187
533
473
146
304
449
604
466
712
188
259
302
369
353
781
193
335
465
358
444
477
87
218
317
107
291
349
411
402
431
168
112
43
319
774
141
154
435
57
230
597
168
231
241
612
205
524
139
160
306
381
713
185
652
597
272
123
260
672
271
107
373
498
208
73
407
280
292
669
345
195
189
96
81
541
79
378
417
501
189
263
284
536
380
698
347
23
158
522
263
305
149
305
439
50
301
61
207
243
222
145
356
388
598
302
552
325
466
402
526
256
681
235
534
310
534
580
401
26
110
669
458
241
470
18
332
710
115
424
800
91
224
491
328
69
178
37
114
546
296
675
378
391
527
338
386
523
87
414
775
377
451
460
164
245
128
290
534
121
616
537
231
258
277
410
164
281
216
405
158
371
462
344
222
369
135
139
600
408
432
226
223
228
152
426
311
233
195
293
293
660
471
85
289
137
133
711
265
530
181
747
401
734
615
349
544
486
250
228
57
151
202
248
530
389
619
223
359
339
535
320
491
311
406
85
402
520
517
280
498
142
580
466
353
187
540
492
496
62
549
345
390
229
80
484
521
364
213
333
697
425
74
92
138
82
441
81
462
494
136
98
324
180
182
235
528
111
233
403
275
326
257
334
461
578
426
8
284
665
176
240
284
309
507
422
466
309
299
254
134
338
796
79
184
653
42
695
518
221
65
110
391
612
426
585
364
448
174
316
740
539
350
494
234
485
406
320
520
568
663
153
143
620
238
331
270
422
639
365
372
368
497
523
492
223
710
739
627
232
627
692
709
80
421
121
43
232
436
153
99
618
533
341
246
456
808
662
642
379
72
412
230
404
655
455
237
360
536
228
155
247
507
670
344
259
188
564
418
317
341
264
692
93
534
314
200
379
428
384
673
215
474
782
342
581
127
355
285
543
391
355
274
294
361
223
312
397
46
172
242
492
197
414
803
377
74
535
311
118
563
237
325
218
439
386
134
461
122
208
730
427
168
335
769
206
479
491
406
289
624
341
523
312
104
143
265
470
462
336
299
603
557
270
562
343
585
114
369
241
196
95
401
796
393
234
428
323
809
99
658
750
216
177
454
652
117
530
48
159
565
409
313
22
530
433
338
124
477
621
192
145
288
341
601
285
695
631
472
273
143
626
220
579
606
95
361
560
191
664
238
316
343
269
586
324
287
274
320
420
287
1111
534
240
446
487
531
315
12
181
590
328
525
568
331
761
472
551
271
313
422
190
635
335
397
337
284
89
278
458
358
603
583
656
413
699
154
47
401
191
675
303
408
355
424
196
241
183
470
497
731
154
236
366
872
627
577
319
343
359
145
118
54
314
169
366
367
310
255
498
410
175
544
275
69
139
510
16
492
204
383
381
343
501
414
145
695
454
107
561
264
243
476
438
597
229
329
170
478
336
383
541
489
343
93
518
750
373
154
514
296
165
68
224
87
214
597
73
284
451
360
227
175
327
486
99
206
398
783
206
658
432
357
711
110
105
373
267
132
237
389
615
343
471
1159
492
651
621
394
387
210
530
360
70
194
415
559
203
90
250
104
178
566
445
254
358
461
228
336
583
334
464
695
80
257
296
521
384
267
501
94
529
95
429
321
406
825
678
60
297
274
26
407
148
250
274
462
336
374
355
308
272
125
780
308
320
526
500
242
1125
746
736
77
435
156
381
289
319
474
343
315
200
147
202
239
394
387
1011
814
392
542
443
332
187
505
271
609
178
211
303
309
185
335
575
501
423
443
355
627
322
526
148
507
215
10
662
540
307
531
246
460
216
75
567
432
284
206
643
551
213
179
230
232
579
784
244
650
288
164
168
441
634
166
434
342
52
392
173
708
348
112
767
427
570
142
536
652
514
255
277
784
136
315
480
777
247
556
895
166
863
471
749
267
558
325
34
376
1013
686
633
289
424
516
363
427
409
456
181
466
175
607
160
592
653
467
305
416
539
458
638
63
186
368
221
86
15
250
709
697
271
444
309
128
457
751
413
126
249
232
335
237
148
452
283
139
925
728
454
446
440
403
352
149
139
132
448
812
442
308
943
423
347
734
239
292
324
299
166
382
499
497
128
553
472
221
252
392
592
416
115
559
199
645
184
230
422
372
378
179
153
79
216
429
573
183
220
536
94
117
48
551
173
343
706
223
775
226
395
485
482
262
316
65
140
68
398
212
503
531
515
353
281
595
724
358
661
110
344
189
269
483
254
660
184
171
354
123
232
329
419
677
654
394
350
527
264
415
708
233
724
303
263
413
880
454
359
488
590
226
150
416
63
336
535
903
308
440
130
712
380
341
153
182
336
359
255
226
573
114
312
472
197
558
20
359
104
223
177
270
267
302
330
73
234
1099
310
542
604
282
326
246
467
698
24
755
531
506
243
724
343
245
492
411
41
475
131
618
170
916
348
126
465
159
376
121
478
226
300
70
393
246
242
161
216
802
102
1028
415
857
888
95
206
357
240
368
322
558
242
150
249
137
236
147
359
469
624
424
188
659
153
296
329
553
485
738
243
251
489
328
639
315
226
433
395
342
274
207
410
257
501
598
445
586
302
259
466
293
348
411
573
196
338
313
547
521
389
581
398
196
538
490
244
462
342
484
319
492
681
700
249
848
285
321
207
524
684
23
263
424
311
575
814
198
1067
198
284
875
442
356
301
427
603
561
62
283
704
337
85
588
135
336
207
796
409
453
112
308
288
416
316
369
758
177
845
391
243
573
56
185
191
594
339
924
178
147
180
232
170
352
147
462
403
689
538
209
105
763
371
232
505
165
461
463
181
146
343
714
561
207
529
254
519
218
375
313
488
563
181
131
542
122
530
421
393
383
405
86
176
172
265
277
87
662
581
383
686
300
533
472
327
249
157
231
90
192
478
439
330
324
457
249
295
102
595
572
237
692
233
384
193
322
150
448
280
176
267
449
607
274
128
577
605
395
524
283
207
437
173
342
467
239
84
462
150
632
1023
271
851
353
522
488
955
140
367
348
500
526
159
612
119
376
202
186
422
640
271
372
113
106
429
715
260
615
154
463
422
434
244
480
151
504
550
515
95
486
158
428
469
664
805
647
158
479
417
196
455
593
491
124
252
724
281
580
177
646
528
704
710
253
155
459
204
212
25
539
144
229
85
168
224
99
479
249
118
670
409
67
145
675
659
648
383
491
72
380
230
550
553
582
498
352
369
216
108
502
547
562
89
172
308
461
772
259
256
211
342
135
267
380
781
377
503
725
313
570
408
354
423
191
385
88
588
138
702
641
195
558
414
439
675
401
328
595
594
352
239
437
166
463
703
303
537
254
507
541
158
233
449
336
170
121
684
134
525
550
280
129
332
555
878
382
371
100
52
646
386
288
504
209
255
308
458
207
731
156
618
158
197
308
212
206
228
505
145
496
398
529
393
403
927
686
733
390
494
587
386
479
119
573
337
548
341
426
272
351
291
366
194
249
216
647
146
645
126
374
317
290
209
556
242
895
229
249
364
323
363
218
611
555
241
634
254
606
136
287
448
884
614
507
317
390
274
185
360
215
195
170
258
117
265
324
532
353
99
317
708
331
788
471
686
71
580
499
386
397
208
217
698
321
506
441
298
286
547
583
246
64
243
574
585
459
185
331
488
119
342
150
769
189
949
266
198
233
33
270
261
384
222
191
286
1035
505
519
593
422
558
436
448
336
303
706
512
158
426
399
450
198
297
329
221
411
153
184
156
391
291
483
397
708
224
285
233
447
435
724
406
315
488
382
231
629
444
670
328
166
391
147
347
511
430
205
174
566
123
295
240
285
293
579
202
162
117
383
205
426
69
69
303
104
172
362
547
427
289
507
625
508
380
121
543
472
445
160
402
520
497
205
181
526
304
552
388
154
227
512
578
641
450
352
544
1152
674
433
306
368
569
201
227
147
267
224
401
222
36
152
375
541
500
249
64
334
609
34
500
454
199
97
605
344
160
818
401
422
661
1028
154
574
596
668
239
43
265
317
520
463
99
144
368
290
476
520
120
52
77
297
485
440
391
270
500
99
530
178
283
174
349
234
455
456
287
545
388
187
428
269
597
152
161
67
598
607
837
410
791
406
582
309
294
436
109
351
556
312
918
64
505
678
181
133
129
451
196
513
497
314
439
512
346
249
214
534
272
27
362
391
245
660
257
416
335
203
331
615
536
325
335
227
185
374
439
360
116
263
404
430
678
288
415
201
14
648
297
575
169
193
247
335
148
246
275
442
286
181
438
305
344
675
449
285
582
339
163
168
212
368
528
562
73
327
218
722
111
587
1073
662
115
343
547
447
530
312
271
662
206
94
237
417
96
445
328
382
280
398
457
236
285
560
454
213
528
387
175
185
509
79
301
528
328
503
330
613
418
300
332
686
632
154
325
444
199
98
509
404
285
217
42
534
477
389
402
420
497
193
528
567
374
272
270
471
334
346
760
116
445
293
242
185
121
285
812
198
353
468
428
216
309
111
550
497
207
267
300
91
284
410
230
380
347
452
221
229
51
282
1036
163
200
649
383
463
322
423
1094
376
315
389
882
249
90
544
324
342
479
471
234
670
213
627
314
735
480
122
347
146
515
334
399
58
609
346
424
491
237
77
195
173
331
583
287
518
441
331
669
342
286
128
207
328
173
269
197
419
419
411
768
197
99
232
8
168
108
424
325
256
45
134
379
426
601
361
202
646
529
108
174
564
638
96
381
553
371
307
154
251
104
228
190
137
379
453
102
371
248
474
614
126
91
137
585
387
224
146
603
57
457
389
355
198
222
182
409
240
736
415
471
197
744
399
383
263
382
279
305
393
158
188
318
359
514
238
395
357
164
93
233
277
473
114
284
322
195
138
15
186
442
229
211
577
508
748
87
310
761
457
640
179
374
426
368
458
466
128
565
585
603
333
690
157
540
439
613
532
221
310
626
357
162
660
479
418
239
472
312
501
288
397
394
270
267
850
42
296
567
259
425
444
547
513
492
143
468
432
767
543
662
132
537
616
372
445
604
377
398
346
178
346
155
269
67
454
75
317
97
526
295
368
442
510
190
805
428
219
120
417
69
277
627
475
705
324
650
267
653
251
20
394
79
435
855
433
941
111
1129
323
142
422
414
97
366
70
92
107
489
521
144
449
280
523
95
367
520
145
1105
926
258
290
492
152
749
147
338
527
59
351
179
395
369
296
229
551
139
628
467
722
341
392
214
211
176
516
424
319
280
522
286
760
322
272
509
512
168
147
273
63
609
474
152
542
406
305
143
738
334
554
172
182
367
705
463
566
182
345
278
447
443
446
540
401
570
706
269
84
496
877
309
404
349
423
93
199
308
306
242
700
641
403
326
167
771
451
537
517
233
568
289
707
361
389
583
212
16
728
346
708
360
307
332
81
408
228
349
416
570
526
159
356
660
447
225
759
218
393
485
547
231
347
368
258
90
219
728
309
315
287
224
130
706
121
1001
402
118
510
415
299
229
275
458
157
315
221
308
190
606
518
392
479
342
681
235
540
554
351
180
431
349
632
124
448
358
326
336
264
205
414
553
608
106
423
178
289
75
421
553
299
311
321
217
215
435
75
695
296
538
437
195
618
440
199
370
596
184
764
241
463
243
108
243
277
513
451
352
763
289
626
166
359
236
1163
581
406
590
497
136
364
304
437
551
377
702
84
642
392
275
744
321
514
916
362
788
33
507
365
82
169
426
167
748
536
610
438
1101
79
887
369
752
697
546
866
459
363
733
274
247
437
826
508
196
343
467
126
583
185
503
952
645
133
55
427
87
562
262
996
249
797
109
91
564
242
174
314
343
212
105
553
197
261
590
83
147
407
306
196
390
353
177
159
391
284
283
302
436
694
625
223
516
287
538
329
42
384
270
316
379
543
395
478
438
419
766
318
504
455
563
213
573
346
902
422
633
286
533
484
300
468
167
426
12
217
453
379
867
286
542
168
474
183
487
268
103
561
520
314
608
475
133
503
283
315
190
228
441
418
172
341
350
414
64
394
150
394
69
332
425
647
818
119
499
164
504
356
20
502
117
207
467
325
267
446
347
448
399
654
216
285
43
356
312
552
429
891
658
288
422
793
491
90
262
593
274
191
323
475
281
287
316
248
312
578
283
606
515
325
163
776
482
251
44
476
144
425
194
472
59
568
482
507
677
147
377
611
578
412
662
606
237
902
699
288
262
168
519
278
551
246
566
457
215
359
279
166
418
124
793
127
378
433
401
436
276
293
141
201
308
665
448
595
653
328
278
358
629
287
355
881
131
213
179
349
278
253
900
224
512
524
781
289
539
215
79
301
198
369
185
271
336
632
398
242
172
616
469
575
636
330
359
551
498
76
427
222
663
436
179
226
229
649
757
86
232
189
221
143
265
353
279
277
338
548
908
190
77
637
507
450
135
502
118
608
62
273
216
533
245
239
198
432
260
380
361
422
196
334
183
112
411
622
409
313
160
373
389
255
600
122
212
658
619
129
414
151
401
559
241
359
185
528
311
355
240
309
301
135
275
414
489
150
617
247
256
253
513
909
208
361
458
201
381
341
499
524
475
250
433
126
363
396
63
274
109
240
342
260
376
398
544
380
164
955
199
243
691
787
739
96
466
233
310
245
895
304
436
441
549
326
388
213
570
936
242
700
221
444
457
57
577
340
145
214
464
561
41
136
260
647
332
254
540
745
747
402
390
335
492
428
163
467
49
152
254
468
171
440
332
398
715
110
279
932
483
811
543
243
223
394
933
664
499
519
543
328
226
187
111
379
396
366
71
583
659
702
189
299
237
663
324
692
189
205
409
616
290
232
269
397
126
545
437
709
493
172
343
427
831
378
544
481
228
336
362
640
183
192
49
883
411
270
600
261
159
364
320
345
402
575
388
889
446
865
283
466
303
389
268
355
703
380
538
609
493
299
461
297
549
149
236
391
576
504
533
324
476
174
343
342
56
619
248
552
635
607
539
726
186
448
170
632
325
656
377
183
47
751
213
64
340
182
331
565
429
473
475
278
290
475
683
646
454
355
550
556
404
574
576
337
383
426
63
990
97
203
669
339
491
655
684
847
461
448
211
323
212
578
204
107
238
432
214
116
93
322
535
244
229
375
651
500
499
828
326
124
174
398
469
373
665
531
608
612
182
304
362
424
428
108
458
209
420
560
495
383
725
410
722
168
130
445
276
188
71
382
576
140
107
519
202
178
157
693
662
75
43
566
934
531
826
266
348
325
423
232
360
274
171
393
323
238
453
304
270
378
145
834
429
519
420
311
376
666
104
422
549
43
400
82
640
526
332
290
310
519
186
362
288
476
260
383
568
457
157
421
205
458
467
356
164
386
864
254
727
93
276
306
208
944
1006
319
235
622
290
1008
162
425
393
513
276
666
328
520
646
415
336
179
415
640
233
543
148
222
467
602
241
110
352
174
679
191
368
404
203
895
289
315
331
447
595
168
933
282
757
573
240
197
665
354
287
343
580
541
70
596
358
502
464
432
571
578
279
604
218
740
286
232
434
90
637
263
781
1002
277
234
270
472
413
169
439
263
1127
503
311
50
377
161
686
193
311
286
797
287
487
793
123
136
294
756
1166
535
196
254
740
307
344
289
23
170
323
460
413
493
529
489
82
541
647
864
167
19
178
41
239
217
351
284
566
457
396
181
581
671
711
482
83
276
192
610
801
655
294
539
287
762
300
324
537
284
405
714
338
745
223
333
412
175
294
596
198
360
414
134
294
118
287
447
62
437
420
502
606
256
642
315
573
344
717
230
637
218
590
292
570
365
526
448
451
319
252
320
379
586
430
170
934
394
347
152
210
204
212
235
565
224
333
424
424
495
271
907
244
196
56
729
464
297
572
359
277
435
175
296
127
199
241
212
215
455
363
404
647
32
419
317
315
228
472
419
427
286
704
299
235
296
309
541
110
708
361
196
243
404
358
124
21
433
245
441
316
469
150
566
123
191
588
126
163
482
234
153
525
464
604
606
462
806
729
399
286
201
515
271
578
552
267
278
217
450
298
518
538
636
486
555
645
389
175
391
889
465
390
141
319
319
504
536
109
129
168
253
92
142
324
425
396
811
408
390
478
496
708
102
776
608
131
261
241
283
299
411
781
267
717
127
673
144
547
864
77
223
823
585
416
239
494
314
828
145
439
257
250
417
525
321
14
302
193
88
639
216
456
137
253
300
384
297
261
252
448
192
749
705
489
501
246
187
379
247
630
433
290
439
801
201
181
279
391
296
125
69
215
421
139
41
199
516
348
229
452
679
163
508
832
499
308
42
432
210
620
502
133
397
195
595
469
367
764
193
346
80
491
460
176
659
552
547
520
367
262
315
96
309
200
675
310
325
226
357
633
514
385
196
535
773
286
173
268
294
817
447
329
394
456
26
295
309
507
597
576
472
281
409
566
196
387
454
754
964
269
680
525
176
745
233
345
405
252
749
314
297
379
565
347
522
361
620
414
324
265
223
348
367
104
433
560
601
793
739
710
230
409
255
663
181
908
315
99
401
499
168
1067
397
560
571
335
341
526
362
360
299
407
290
33
162
525
609
326
70
79
439
396
465
224
136
221
422
82
395
18
316
643
253
333
243
453
224
288
242
321
462
327
926
429
639
396
797
602
544
339
410
701
375
107
244
247
163
421
145
338
317
541
220
772
93
495
401
263
622
453
116
142
696
169
435
206
396
452
446
95
433
128
320
276
221
341
152
500
360
215
467
265
484
308
310
200
359
454
409
392
733
158
440
285
254
169
252
606
700
676
250
619
207
246
553
68
742
231
469
479
353
161
607
101
284
867
255
712
412
358
182
71
121
286
260
458
202
304
156
538
474
74
706
211
263
521
169
582
350
429
29
318
78
166
393
477
49
306
696
441
287
380
100
228
514
853
525
563
272
292
205
237
633
627
216
181
794
144
689
683
197
284
392
394
258
759
86
386
97
289
768
363
502
527
477
343
230
617
438
152
543
374
564
173
256
206
271
529
554
332
100
725
362
625
303
450
1007
162
664
370
400
422
372
356
519
475
125
303
434
250
277
248
220
106
557
385
272
460
25
127
48
231
286
480
132
341
190
671
153
224
648
430
297
352
288
1078
313
315
453
446
458
367
99
394
413
512
76
205
420
317
156
456
96
250
848
262
64
249
227
292
489
656
327
518
167
358
732
900
124
258
252
458
316
414
615
232
398
180
442
237
884
224
552
39
385
205
219
125
540
307
33
417
292
249
154
323
258
208
277
48
407
108
526
678
169
313
24
409
366
580
383
424
338
238
399
142
53
168
438
171
581
472
708
224
388
158
504
346
719
217
1064
490
562
352
247
342
762
325
237
356
458
309
91
452
511
371
5
246
272
858
365
436
303
402
44
253
47
676
493
151
204
127
253
300
307
161
606
320
184
898
561
386
151
233
193
297
151
272
409
618
323
246
403
513
65
199
463
474
236
264
192
298
281
157
407
447
604
305
551
443
480
524
34
13
458
176
700
305
863
441
535
138
186
150
252
346
337
512
22
174
463
300
511
394
299
592
501
569
491
474
742
555
31
312
206
359
425
286
271
315
141
412
698
419
376
212
505
488
248
492
423
324
56
304
430
498
146
352
508
613
173
676
658
232
727
235
130
327
730
277
630
301
147
281
656
350
306
631
228
399
530
714
195
234
302
370
143
548
654
245
168
473
386
486
205
164
303
345
116
230
410
274
161
172
192
562
188
579
251
749
369
123
414
218
176
465
375
184
431
288
50
212
186
312
498
782
579
126
488
266
436
407
440
215
643
505
378
119
217
395
217
354
143
377
388
367
598
659
625
130
274
376
39
513
576
326
768
472
453
302
663
417
468
337
267
281
218
730
252
409
914
665
322
479
181
221
424
277
526
321
459
925
445
187
230
571
284
501
251
473
471
234
302
322
391
196
340
541
495
164
233
214
307
283
171
548
356
392
167
484
315
129
276
845
190
302
503
451
473
354
571
279
535
678
344
196
334
465
179
267
285
750
563
418
705
111
352
538
187
300
112
295
455
400
704
315
426
402
441
71
337
211
526
225
91
501
439
436
358
119
135
763
159
123
320
409
468
595
737
314
654
469
137
156
461
148
464
431
188
96
269
580
548
771
376
394
296
326
346
680
335
350
458
732
450
238
514
261
58
158
273
608
511
708
140
574
29
383
629
464
323
226
346
269
218
225
102
242
182
390
15
246
527
231
244
568
94
362
423
452
274
704
209
512
151
839
694
360
88
942
755
171
478
305
221
432
359
388
218
472
661
572
279
109
534
471
167
216
167
293
449
671
255
412
182
196
422
309
144
336
583
148
559
55
199
489
197
580
83
497
324
181
231
532
387
410
703
573
908
1007
212
534
600
409
297
575
131
597
325
397
655
315
303
621
667
481
160
997
345
567
342
526
703
396
367
465
587
184
186
68
445
883
392
7
441
577
570
56
167
297
210
337
304
276
311
630
383
525
479
537
377
600
416
272
529
13
190
164
111
601
390
93
181
457
50
634
212
467
420
506
497
669
53
178
192
331
194
752
802
367
407
310
363
110
90
236
542
276
194
559
308
228
777
520
501
380
297
663
150
314
610
491
156
361
99
164
212
310
539
402
267
89
444
686
244
734
386
173
509
341
608
793
1108
548
371
216
265
274
430
577
343
247
271
747
452
212
408
271
426
293
247
86
587
335
350
501
511
311
276
422
374
166
451
254
667
725
240
285
500
200
554
228
153
446
571
490
262
95
389
407
301
246
203
592
260
451
612
160
451
308
693
250
585
713
227
271
432
303
160
273
144
759
224
385
201
649
184
904
552
510
190
202
232
481
584
646
326
230
445
477
324
164
648
396
135
246
723
790
224
90
894
676
439
563
240
421
515
833
158
7
292
215
447
289
586
449
159
388
894
369
863
369
276
417
312
190
450
88
272
233
493
205
425
262
513
243
370
695
472
462
602
462
583
333
611
135
135
61
154
959
316
681
720
475
289
327
418
406
256
619
497
139
398
372
259
669
167
277
288
678
375
156
118
485
307
342
353
264
551
155
698
250
417
470
66
540
660
254
179
546
306
483
258
313
309
457
76
479
457
405
401
49
477
257
560
202
230
174
74
30
413
219
195
663
679
381
174
627
382
275
557
372
112
288
29
424
364
365
726
140
773
459
579
189
211
269
439
104
310
912
117
857
89
470
147
497
455
777
304
109
216
394
153
261
282
250
428
432
367
131
557
444
360
1143
598
479
347
158
948
712
884
741
393
521
102
462
283
77
569
235
348
551
301
77
82
306
578
328
517
718
451
660
199
186
613
196
45
316
440
350
339
474
247
498
427
71
338
541
371
144
391
370
313
721
612
272
266
432
373
862
552
130
718
516
136
179
362
306
321
174
326
622
119
296
287
121
208
264
301
209
253
689
55
311
431
171
376
295
222
754
147
648
414
376
169
351
141
107
848
250
176
563
441
375
383
185
283
116
279
444
275
150
415
339
579
775
254
164
716
797
386
342
350
444
170
334
234
24
318
903
353
518
450
160
394
356
289
136
212
311
104
431
521
415
469
120
235
538
594
525
627
445
755
306
180
398
481
367
488
236
211
631
110
628
586
492
381
550
321
317
240
210
226
496
581
260
414
339
308
395
131
376
402
324
527
724
640
114
689
756
510
169
243
542
266
726
188
705
396
542
409
34
293
413
452
82
363
508
100
266
366
124
232
538
728
621
319
106
647
476
385
280
27
658
452
299
315
233
377
451
698
237
92
416
496
272
562
201
327
527
124
232
634
272
494
595
170
211
179
564
573
392
463
156
362
85
828
426
256
579
326
405
956
803
461
299
107
282
294
431
397
224
330
380
296
469
179
146
413
789
829
86
377
476
573
118
300
685
160
584
246
145
483
255
377
537
682
110
28
1068
228
738
156
294
366
862
231
449
283
603
322
570
108
75
493
201
224
110
453
179
475
351
313
328
515
285
671
423
46
426
185
546
752
166
250
328
488
605
46
255
247
442
335
289
352
418
138
280
198
389
317
437
27
194
828
645
650
611
324
267
379
167
259
379
144
406
181
760
541
200
472
269
173
124
467
292
226
793
356
705
561
315
449
282
343
677
272
67
363
772
291
391
162
326
466
695
344
179
343
116
317
123
262
624
761
541
582
773
604
444
32
499
581
270
260
164
503
410
345
657
349
368
216
283
255
187
285
248
94
111
636
498
264
178
191
613
197
327
289
105
725
151
413
355
490
85
718
332
415
235
424
237
163
628
225
519
748
346
787
419
779
84
588
316
366
173
400
592
192
381
544
272
186
447
291
497
603
133
1145
104
407
72
871
614
517
277
464
513
495
235
477
151
610
345
715
1005
398
85
340
308
232
270
567
508
650
738
204
1030
58
394
365
46
531
349
272
396
748
682
192
287
660
756
201
569
327
373
125
497
353
700
414
178
110
192
295
112
504
64
498
208
326
504
286
282
349
521
293
252
375
351
726
350
286
336
484
316
364
127
367
652
502
234
588
372
441
201
167
421
517
257
386
108
218
336
185
321
550
880
79
278
567
477
401
502
498
279
107
400
723
447
201
518
270
259
107
133
261
566
92
502
649
203
513
318
200
465
277
469
542
265
362
572
268
532
499
435
245
590
622
358
641
383
289
314
537
276
537
1002
67
659
244
102
292
173
442
427
817
677
135
424
116
130
281
601
792
304
407
983
352
640
397
263
383
299
644
400
342
368
222
585
316
505
682
371
286
264
150
402
62
196
314
367
411
315
193
341
181
186
345
491
510
558
441
448
321
546
724
582
148
184
460
569
109
273
559
234
290
229
512
157
590
189
145
492
476
232
220
331
606
153
167
387
116
117
355
340
59
570
541
377
196
284
281
629
177
174
399
160
594
171
349
199
453
159
184
699
433
557
398
328
394
191
547
328
265
490
46
421
425
298
117
326
299
745
507
226
387
332
580
515
555
399
267
446
815
415
492
672
230
157
499
203
510
344
686
256
457
884
306
164
706
107
663
240
754
1111
108
132
486
443
596
371
499
216
43
809
281
512
500
250
131
751
369
676
319
227
22
332
712
165
209
670
6
632
516
326
45
388
508
280
406
500
326
489
504
113
463
325
873
861
376
207
259
736
412
593
393
535
323
95
281
237
399
284
236
290
507
885
260
273
308
318
319
266
303
591
473
266
273
11
376
303
899
469
285
227
167
676
87
150
292
148
430
96
901
341
302
332
253
313
459
591
566
410
520
241
677
186
678
541
173
308
732
822
418
524
168
542
195
185
251
125
413
662
966
122
496
109
132
281
331
170
548
205
632
423
147
416
568
118
169
273
371
537
128
527
430
525
337
41
430
721
394
291
67
529
125
677
922
336
224
411
511
208
311
185
673
303
621
394
112
311
316
509
815
521
322
337
475
531
258
667
114
592
287
275
611
312
227
272
210
287
534
392
574
573
67
849
262
711
308
157
71
342
404
501
482
303
391
648
124
721
193
204
497
447
254
852
499
145
266
252
172
356
152
129
333
561
176
230
477
370
415
743
64
476
73
790
84
618
770
151
72
590
458
371
392
660
253
708
219
591
716
156
694
807
606
735
446
395
312
630
569
390
597
271
302
137
281
430
212
98
331
60
222
472
505
199
94
669
287
574
249
594
185
303
115
230
709
251
254
403
227
206
501
469
417
20
143
464
329
458
344
422
32
443
211
523
431
346
861
444
661
205
375
513
619
414
588
553
644
218
763
413
408
399
416
611
576
568
396
512
228
535
570
248
383
285
468
458
755
381
409
431
202
535
430
478
141
663
39
47
348
316
547
602
260
657
328
584
407
542
250
329
451
368
321
154
206
441
350
344
347
440
142
387
532
460
106
245
390
336
471
110
706
251
190
879
705
654
439
230
366
78
319
864
217
469
132
345
501
185
251
132
572
161
140
462
249
235
742
296
172
353
856
384
374
538
621
353
698
476
208
585
250
523
340
82
540
178
211
648
297
430
320
186
246
1057
274
547
708
268
173
368
320
420
474
21
604
263
402
253
503
256
858
646
143
781
168
633
363
710
402
105
516
690
514
355
606
362
426
106
188
570
195
499
261
292
804
286
232
531
379
683
280
414
473
326
234
461
371
535
395
273
462
141
657
527
132
438
282
648
338
473
205
541
161
224
278
71
262
364
133
330
207
644
236
382
262
643
582
183
312
278
919
448
178
477
264
217
278
382
50
491
154
900
171
442
423
353
248
644
180
152
360
468
523
271
475
401
497
182
380
565
166
504
269
374
337
556
418
496
490
93
206
481
305
45
67
606
336
126
259
311
306
501
359
96
80
736
380
658
745
537
308
519
221
655
218
545
202
325
708
201
480
486
593
498
436
553
321
95
427
588
404
316
497
608
190
405
124
553
727
505
216
434
104
234
571
367
483
475
369
457
297
155
645
249
158
164
524
450
405
732
127
1121
554
187
541
158
515
288
256
150
300
378
768
725
78
37
366
330
195
590
305
425
23
110
356
475
344
356
174
239
251
484
302
700
322
408
294
592
388
401
514
891
707
312
590
315
386
133
632
127
383
269
264
240
550
230
111
530
664
73
115
382
260
593
218
262
480
277
357
575
346
139
273
487
485
406
382
97
274
96
486
447
458
162
286
361
336
327
696
355
486
862
182
581
274
284
443
471
184
769
211
286
524
614
271
573
769
108
671
122
100
435
458
445
276
243
146
192
854
341
986
754
316
366
756
342
397
299
306
322
470
542
159
392
325
84
412
390
146
825
336
230
315
748
328
349
153
418
655
340
555
223
153
478
413
328
552
481
449
402
88
622
156
501
847
27
530
546
14
943
443
129
632
255
668
168
297
368
394
398
111
489
307
335
196
476
130
555
562
269
513
436
292
883
653
410
284
102
489
397
420
324
389
531
109
364
305
372
577
137
170
214
367
524
620
304
72
697
443
342
167
179
224
90
89
546
473
322
182
224
598
762
466
207
129
567
207
40
68
162
553
250
304
597
803
90
476
323
561
487
57
296
273
521
427
333
417
446
341
127
451
275
710
535
105
468
209
197
310
397
744
586
335
421
802
272
669
197
184
305
515
284
664
223
414
400
294
276
1141
329
286
418
341
508
250
368
389
481
732
151
596
290
230
92
228
116
349
327
203
980
866
215
206
193
420
671
684
121
401
87
131
481
573
399
324
390
352
233
106
187
205
64
445
253
580
413
340
161
392
207
523
239
480
99
290
458
406
382
261
500
437
245
583
457
559
74
492
276
281
47
143
21
247
503
408
477
429
180
318
338
113
197
308
144
191
234
118
250
652
735
345
135
364
258
134
457
335
428
361
115
468
327
488
394
462
400
179
324
286
569
81
357
386
166
633
139
950
403
647
449
565
560
515
391
548
192
410
68
427
364
560
348
247
178
259
350
289
294
568
457
490
177
672
554
741
81
1030
273
480
300
413
251
586
56
451
229
114
275
342
613
140
580
430
336
180
82
367
485
45
460
59
233
243
377
743
333
219
206
456
480
458
661
797
150
342
17
708
490
600
175
129
108
113
528
273
407
385
445
224
101
523
894
193
338
111
35
554
279
221
162
544
467
273
333
41
146
748
370
210
301
314
299
937
295
356
313
553
151
258
275
580
903
293
394
265
245
255
465
186
604
376
727
573
119
711
189
312
423
491
322
411
715
251
76
168
268
301
298
397
374
598
350
256
443
318
473
250
325
816
410
366
672
273
604
249
578
299
584
219
553
470
560
137
576
199
250
280
50
194
135
621
350
114
284
708
204
620
575
197
598
542
426
456
311
513
387
243
320
204
553
694
366
624
154
290
136
359
597
409
336
105
348
168
268
186
653
649
73
160
311
195
358
521
336
387
91
398
174
626
422
413
324
779
133
315
326
345
432
174
303
288
405
221
776
619
145
202
248
220
328
104
327
61
337
252
285
324
463
1052
749
208
647
567
186
585
453
439
462
41
114
242
251
340
864
587
171
256
112
346
594
544
521
405
476
467
935
843
472
265
500
321
659
448
204
475
272
303
329
700
261
410
365
481
532
222
57
84
339
106
646
387
818
504
280
639
361
312
254
137
154
111
588
305
86
761
371
520
516
350
370
109
269
147
489
350
548
304
308
532
277
427
526
447
533
154
170
366
168
522
254
230
362
187
48
585
553
59
296
238
482
181
418
570
362
560
649
433
410
536
426
362
146
394
584
168
632
606
658
356
455
434
248
426
267
422
285
569
311
465
316
328
478
778
388
162
328
182
538
379
557
210
402
849
353
386
364
273
82
964
755
757
483
641
370
519
89
492
653
355
208
468
327
561
191
213
539
285
637
363
195
468
408
299
667
358
313
284
135
641
358
387
367
214
375
351
408
745
369
112
263
411
240
266
125
306
768
532
232
393
305
419
571
260
180
324
212
577
540
230
336
213
546
311
564
167
657
492
232
298
945
401
387
180
644
401
213
283
444
101
376
267
681
795
76
427
359
286
406
52
858
244
304
345
297
222
299
199
325
354
313
300
191
201
490
677
322
352
78
485
243
212
243
390
587
108
178
888
534
336
490
383
287
108
584
434
386
335
122
816
258
197
510
339
605
73
213
289
49
623
219
331
42
583
654
474
378
702
309
416
274
346
446
177
348
264
622
423
86
190
535
446
465
180
95
229
126
217
153
356
89
153
301
442
374
329
392
580
932
457
292
466
168
127
162
396
390
561
359
526
737
48
409
633
460
1149
353
404
698
724
410
312
374
310
154
535
386
308
179
638
269
314
474
118
282
368
406
380
284
70
597
609
252
444
308
559
487
421
307
411
503
325
359
210
355
171
380
412
391
542
342
529
242
211
521
164
626
355
379
326
68
561
555
254
235
426
209
76
147
170
624
148
288
141
434
63
465
708
217
607
457
319
781
206
1100
309
411
279
248
547
422
660
569
86
94
128
284
300
269
60
129
217
111
195
127
676
301
450
529
285
215
514
133
264
147
567
417
467
336
287
467
236
576
505
143
98
65
189
554
211
508
167
678
432
340
405
468
169
340
696
579
345
245
429
142
723
225
603
180
239
419
77
462
501
481
330
628
823
93
524
342
351
617
449
301
239
377
582
420
251
483
172
644
467
549
426
287
550
182
88
589
466
467
607
229
135
585
679
246
398
659
591
69
289
408
194
520
459
309
34
387
128
75
619
306
197
81
69
396
240
45
375
352
628
212
216
140
520
454
149
470
360
271
599
144
659
156
857
302
231
277
402
123
337
487
613
397
288
262
316
416
189
91
412
495
97
1033
150
191
531
353
296
638
195
442
270
225
231
26
413
650
290
906
460
204
344
656
552
415
913
480
325
251
446
204
280
359
829
377
183
257
286
385
134
189
279
148
442
636
335
614
746
203
185
128
235
223
103
541
241
64
336
127
207
117
509
635
595
467
182
286
367
204
790
521
470
477
852
580
552
252
384
395
290
216
602
299
143
615
191
368
571
128
570
522
1139
260
349
190
101
144
214
216
679
143
385
199
198
541
149
714
223
298
348
686
457
329
627
232
444
160
440
206
488
293
587
621
447
50
825
266
449
531
364
483
164
519
769
503
554
490
690
246
345
603
245
510
612
584
400
223
167
903
388
341
396
418
641
216
144
429
347
274
146
347
303
517
532
380
328
782
360
291
203
352
329
354
167
555
167
121
282
73
560
214
413
391
669
62
380
580
701
372
525
231
269
789
824
560
382
384
518
197
483
171
557
645
161
468
114
795
194
804
393
638
619
150
287
684
353
498
168
931
35
358
593
244
129
299
280
42
239
476
303
625
348
167
370
133
42
796
653
122
510
301
385
335
570
296
344
495
680
163
112
419
306
213
240
410
157
536
914
241
459
494
392
542
405
465
196
675
216
804
582
224
337
236
119
753
544
385
403
600
464
543
625
218
408
649
450
450
781
599
271
168
242
1021
91
387
241
458
641
590
213
290
108
212
719
426
81
57
529
280
415
219
129
526
249
275
362
293
385
979
408
238
316
733
337
488
291
499
395
591
406
534
547
509
873
505
427
669
384
69
227
453
652
106
181
380
550
315
245
76
235
307
277
181
749
201
466
49
287
300
910
163
250
460
142
388
147
429
616
265
239
409
239
207
414
419
278
1061
499
401
609
236
434
179
346
106
282
145
80
405
250
349
156
143
323
322
166
762
728
155
354
357
474
458
214
119
300
237
195
210
178
168
428
321
499
396
534
575
316
274
578
323
226
319
235
164
256
86
492
102
360
420
212
95
375
296
285
577
297
520
284
519
194
597
589
381
307
418
180
648
59
70
321
562
309
629
267
501
213
536
498
429
171
686
670
202
474
256
100
867
183
117
242
806
299
447
544
475
136
296
328
1085
424
620
161
257
437
749
608
239
396
507
293
462
863
537
674
293
402
121
542
557
319
560
173
251
656
859
368
516
929
281
446
306
219
504
609
520
606
492
454
261
422
739
304
493
196
132
213
249
142
902
145
668
615
535
181
224
295
97
285
595
324
234
189
454
569
272
339
260
160
427
329
128
375
156
288
276
540
263
892
277
199
338
373
431
445
439
169
518
669
599
299
907
171
858
638
157
298
812
256
101
662
778
260
467
681
530
497
98
488
286
207
150
271
630
430
377
634
147
293
611
229
402
771
179
198
870
158
119
569
118
404
290
616
198
641
523
520
556
730
726
823
266
322
765
683
15
392
652
145
544
629
170
446
163
259
172
68
664
416
471
646
490
195
319
160
554
486
1095
361
99
582
352
327
661
268
260
301
909
778
130
198
296
733
303
174
208
256
382
412
381
548
766
229
76
353
503
232
845
308
207
240
23
383
707
674
320
365
253
464
363
338
278
253
350
134
603
126
71
463
292
390
535
72
434
196
21
412
114
398
558
99
625
344
74
781
578
309
420
249
345
325
301
66
230
270
121
310
271
458
432
598
560
936
260
186
164
117
169
561
307
340
209
571
455
537
515
483
128
565
221
298
466
391
661
677
326
148
565
263
188
462
723
551
317
493
499
516
154
543
385
618
72
273
46
605
322
562
325
521
416
513
755
215
831
354
733
266
876
354
340
81
245
1070
198
181
660
310
467
74
43
745
384
193
403
106
463
747
197
372
353
268
152
204
90
343
465
207
113
306
293
235
708
417
910
125
245
248
436
573
133
844
186
71
277
149
165
268
386
357
28
218
31
405
277
146
403
433
206
701
324
432
608
414
651
477
301
369
233
315
574
169
415
122
520
371
233
632
257
85
419
317
377
237
263
742
207
218
73
1000
130
82
78
510
115
914
489
207
910
302
528
496
95
483
587
301
306
456
587
436
107
427
221
325
285
264
603
349
724
306
163
262
566
962
367
195
450
536
155
207
449
533
312
437
96
98
225
387
229
493
311
96
233
316
347
253
500
206
375
187
527
523
91
209
95
302
504
793
370
348
157
420
392
401
1111
244
114
284
422
466
242
152
414
501
252
483
205
276
222
353
241
581
159
493
682
610
184
782
459
986
963
86
522
248
193
314
417
242
353
68
476
81
482
397
309
359
180
448
477
378
328
305
449
634
406
297
397
352
726
892
475
200
576
40
300
199
239
283
577
712
307
181
343
544
99
214
680
466
288
386
198
31
205
356
545
516
76
51
393
356
515
562
468
743
170
460
508
438
257
98
201
150
327
222
349
103
88
269
71
804
200
60
560
433
617
167
333
70
398
47
145
208
264
634
243
785
404
173
106
391
53
305
378
69
450
886
377
824
158
179
197
224
284
340
835
551
333
318
314
482
188
693
532
622
321
322
152
299
1164
616
279
353
216
145
220
495
224
168
561
322
52
223
344
178
454
257
373
176
115
389
591
484
161
215
315
363
431
238
99
229
359
289
136
398
730
338
121
438
170
86
1095
160
95
196
169
116
196
280
600
278
387
1019
383
253
1056
253
430
429
158
414
959
201
168
528
908
377
570
288
481
305
380
201
524
205
255
595
522
523
210
198
314
100
480
341
338
400
322
337
545
331
381
536
443
789
163
260
718
112
453
119
371
149
334
213
365
437
20
522
428
288
69
259
454
221
373
305
74
262
270
551
888
905
865
194
348
277
222
412
763
193
125
777
635
299
741
587
207
221
578
549
380
555
153
501
530
435
402
230
1002
350
260
455
248
100
296
148
268
382
103
693
71
285
413
764
247
554
577
202
321
266
418
567
468
361
394
567
564
180
578
370
211
495
847
426
146
106
694
471
331
344
539
128
704
293
525
374
458
323
230
275
632
243
171
579
534
492
328
340
574
345
307
34
210
740
361
274
1023
341
666
807
864
286
663
315
466
541
508
671
691
99
822
468
514
998
542
503
692
309
45
406
1001
166
301
381
285
302
431
748
465
352
113
328
305
149
433
118
73
237
381
95
897
172
372
515
127
293
126
530
658
748
419
374
251
382
301
336
552
429
313
758
438
118
101
547
350
419
798
355
443
329
900
498
193
837
83
240
244
559
334
251
391
1031
692
378
226
298
419
147
43
396
246
237
245
196
718
293
534
504
85
199
670
454
209
179
375
438
75
235
514
999
165
400
561
440
593
223
261
321
515
514
373
270
546
446
489
352
348
456
488
601
154
6
540
438
407
515
637
555
412
292
268
203
82
399
941
465
229
411
379
412
404
122
428
297
530
750
481
604
165
433
643
146
173
260
467
466
535
316
349
894
897
378
101
512
459
305
267
375
122
128
270
430
673
534
605
276
632
404
658
109
434
178
479
763
562
583
296
321
866
419
344
110
400
323
457
128
209
592
601
217
145
224
229
252
306
378
464
212
535
119
179
271
672
12
345
212
108
304
522
64
215
796
437
167
586
420
179
478
341
937
653
427
781
188
127
595
712
159
454
308
182
235
188
219
233
254
292
675
340
654
149
417
602
307
148
406
554
193
556
765
316
233
344
284
176
103
501
354
119
113
990
477
459
202
582
574
682
253
547
563
155
362
164
129
541
385
350
774
553
141
386
327
235
436
317
655
233
271
566
124
91
202
436
261
366
522
219
364
353
394
287
291
163
163
267
597
202
214
203
282
853
633
334
182
318
155
633
350
566
392
454
507
391
197
318
137
241
85
89
340
308
274
733
134
627
151
574
670
299
661
299
457
641
391
629
161
277
416
203
231
521
65
741
498
285
223
264
518
129
402
509
981
303
1053
356
376
285
147
175
518
448
224
520
321
420
136
685
552
369
412
664
307
446
233
439
317
691
477
467
384
507
337
509
610
565
228
607
125
589
403
413
542
45
384
160
230
400
216
688
437
463
359
246
383
126
464
118
173
135
401
264
167
259
584
464
427
588
230
135
538
690
155
159
325
386
512
203
150
84
364
417
408
464
155
192
468
261
645
114
267
274
74
321
158
393
681
452
417
365
716
637
273
394
158
276
332
623
471
657
868
404
249
143
448
344
148
520
612
181
168
409
271
410
275
466
298
200
476
308
511
679
522
295
527
592
168
204
692
154
149
214
194
935
356
500
506
113
399
672
229
661
550
382
702
285
573
258
452
547
515
30
374
316
730
275
290
155
296
175
253
192
265
170
61
161
463
459
497
680
213
482
217
380
182
18
664
543
529
131
241
437
288
483
578
523
301
399
955
195
92
293
362
263
639
418
306
1027
260
574
363
460
372
299
695
323
462
891
555
666
628
294
249
472
863
653
387
437
534
782
364
340
34
216
424
447
163
412
200
276
687
435
309
733
199
180
369
530
459
629
271
288
353
109
59
521
583
177
76
310
715
314
219
287
193
590
265
254
259
123
320
186
884
291
384
412
431
279
520
169
659
403
398
408
751
299
260
658
247
536
535
328
573
140
325
312
296
329
449
356
609
310
347
456
281
258
444
313
142
398
902
174
108
160
554
377
303
499
131
103
375
254
419
310
528
96
576
92
245
399
342
426
277
463
308
705
357
269
396
499
436
436
574
242
138
384
385
459
464
672
353
504
206
238
340
316
93
52
678
526
437
114
118
603
274
346
642
321
151
390
280
441
560
178
222
614
696
291
249
369
487
283
364
79
66
658
194
468
276
641
94
73
521
205
412
284
859
518
161
60
694
116
224
222
469
324
465
243
611
212
242
561
54
250
967
343
553
214
692
692
564
143
387
274
259
429
481
325
89
238
88
140
160
273
451
259
284
305
651
157
240
584
139
338
329
345
632
336
418
190
120
254
210
210
427
408
148
434
231
270
914
470
637
295
468
344
273
228
656
256
416
253
223
180
404
354
109
817
724
336
732
472
330
558
448
65
411
742
656
158
286
399
213
517
533
292
522
367
347
92
64
93
348
859
615
603
207
246
315
169
555
347
589
414
344
552
489
282
56
262
416
693
163
353
442
462
241
427
179
392
238
393
733
228
522
664
350
634
319
898
325
69
316
256
357
309
328
333
164
470
336
273
716
231
114
286
205
558
331
284
460
129
170
213
239
474
23
398
557
470
477
505
216
570
324
109
112
525
552
284
218
313
354
657
278
274
190
163
518
513
144
447
120
224
591
175
281
234
474
137
493
506
515
273
166
355
189
268
407
80
334
608
315
634
349
476
764
591
707
327
355
673
864
449
566
115
253
381
154
421
199
200
221
141
137
417
431
498
751
193
549
386
432
338
323
387
187
133
798
116
340
432
477
154
66
551
848
91
536
748
712
400
329
498
252
267
758
814
364
508
254
25
573
782
400
622
437
779
334
172
60
527
81
476
69
392
349
289
491
502
675
436
474
241
279
268
279
279
365
508
728
402
152
465
79
396
429
97
394
31
467
797
690
239
536
561
660
56
617
53
476
189
258
369
213
138
746
349
52
981
421
311
158
559
322
258
349
150
501
117
470
246
223
440
185
243
130
529
146
272
541
333
523
164
292
561
135
836
160
601
363
392
678
98
555
22
563
679
560
251
162
238
594
725
452
164
412
93
349
416
777
160
355
431
251
56
716
660
453
984
142
255
274
418
180
487
249
632
234
998
243
589
347
624
42
173
142
123
396
412
693
622
132
305
197
276
234
83
287
454
520
180
392
604
664
197
305
593
398
182
259
442
495
346
612
712
563
495
486
338
240
265
216
125
87
307
405
1022
442
430
335
277
641
386
544
12
204
357
271
31
379
507
319
380
187
295
804
256
192
414
66
268
375
351
627
256
385
511
64
221
78
692
306
176
78
309
292
281
565
521
266
900
64
649
577
662
54
114
164
722
32
497
416
333
377
9
258
33
880
367
451
255
306
364
881
63
118
206
327
15
261
175
207
296
503
336
162
620
237
64
578
525
450
723
98
800
383
213
522
122
567
409
714
509
429
512
489
685
174
617
59
213
315
792
101
98
363
485
157
429
588
916
217
564
187
379
238
173
246
393
609
79
510
161
301
130
239
274
235
86
494
190
299
350
694
457
415
241
174
478
363
634
184
59
103
207
488
87
176
87
478
423
196
201
532
252
317
177
498
11
459
194
621
587
157
524
366
328
454
627
203
259
132
26
325
297
422
525
568
253
258
259
278
70
77
688
482
534
583
233
732
527
177
253
420
193
436
247
127
367
305
597
413
554
255
315
1090
734
138
42
199
372
441
417
82
243
240
385
274
244
379
225
385
921
475
658
401
546
276
159
174
500
190
693
513
198
558
113
165
161
310
417
625
278
499
411
276
469
708
329
276
393
567
203
302
416
512
175
335
167
173
561
566
453
70
388
136
382
137
446
88
275
357
556
303
389
266
463
517
246
342
329
164
248
571
278
442
297
288
447
313
157
71
317
256
644
380
121
412
582
555
416
207
139
461
421
607
514
403
211
275
515
562
509
526
563
218
494
225
336
114
454
241
751
145
512
1130
341
420
411
170
447
447
552
102
442
336
109
369
215
217
605
585
439
797
186
266
152
483
545
242
584
870
221
596
470
622
353
180
182
571
769
138
642
635
467
78
410
400
556
743
225
233
454
534
294
351
300
409
480
194
448
519
598
453
903
333
354
125
747
256
628
421
504
315
450
184
355
241
415
90
486
777
468
324
527
417
452
258
535
242
216
423
238
519
331
300
116
306
416
316
670
134
321
886
549
179
96
249
439
661
253
335
163
351
271
422
538
477
383
740
837
128
466
590
559
187
641
298
687
237
399
302
398
594
467
398
249
299
143
294
563
663
343
126
436
449
161
811
242
326
550
255
322
440
394
284
47
523
360
256
407
214
482
926
972
772
295
300
227
295
35
421
978
240
297
126
77
471
165
749
353
442
683
392
163
360
642
313
97
241
166
417
405
220
500
435
185
177
491
538
335
290
565
417
338
199
540
335
154
339
266
238
547
499
671
248
399
562
289
260
120
367
196
440
309
185
426
378
519
241
418
324
545
329
845
610
339
456
471
214
295
456
130
552
496
562
159
529
274
469
115
559
815
117
679
535
257
348
354
121
460
578
618
391
272
146
472
429
313
506
865
550
221
417
688
116
296
518
309
569
401
100
589
562
573
250
303
480
141
144
367
306
741
309
475
454
516
125
410
504
232
398
944
236
226
98
365
473
247
299
290
351
520
238
545
478
213
370
291
745
165
647
929
149
227
883
599
770
279
521
522
146
265
54
517
258
477
142
304
329
703
383
727
511
337
154
190
224
607
669
254
434
78
849
438
645
30
512
747
94
244
149
308
226
553
616
263
545
207
128
376
673
215
378
120
577
468
529
417
547
809
381
516
67
314
227
570
543
346
379
243
381
746
582
121
241
457
507
271
130
103
597
411
526
424
144
244
575
365
149
377
134
133
274
161
324
463
345
104
553
384
661
545
192
214
449
182
699
362
351
203
434
611
635
361
552
462
229
495
421
323
241
28
324
261
362
536
445
571
262
34
179
427
776
120
459
115
459
119
367
425
234
413
130
781
564
584
578
337
114
925
305
426
325
484
93
343
639
709
535
271
351
290
137
131
337
303
292
555
326
86
197
378
713
567
45
488
469
326
746
866
242
568
219
233
208
212
139
130
146
291
641
284
212
244
336
463
627
394
557
817
154
815
108
204
95
380
79
730
139
172
1019
145
15
401
484
569
88
781
295
551
475
353
575
309
71
310
629
611
311
448
255
263
280
162
718
663
16
865
144
52
163
620
386
527
964
297
348
365
97
188
1143
399
551
80
384
162
119
259
266
264
351
357
271
447
478
369
586
381
399
269
713
601
359
335
272
586
569
185
40
368
599
384
129
291
363
678
344
176
524
328
366
588
440
531
270
269
391
194
494
337
157
247
377
399
220
246
311
396
156
276
701
641
165
522
299
315
435
909
355
346
52
708
340
11
330
355
499
365
448
211
248
672
105
630
186
345
796
793
348
195
246
259
380
314
234
573
362
192
136
610
530
273
264
682
684
381
484
309
185
301
81
421
287
138
431
364
421
425
637
208
558
698
175
833
388
470
239
391
202
272
343
517
371
654
183
527
438
250
160
854
465
622
133
388
642
1119
442
561
409
541
215
212
699
224
443
288
432
495
319
804
108
104
337
188
521
418
228
437
437
401
297
872
431
121
407
211
111
90
771
391
531
297
540
661
703
336
342
728
146
213
234
30
761
191
221
337
246
549
539
142
384
152
575
330
204
417
399
470
470
582
349
518
684
440
561
184
462
261
332
328
671
836
292
303
387
120
163
305
390
174
665
327
164
510
584
113
145
762
263
316
838
329
201
106
189
453
709
729
338
191
131
781
577
26
275
415
175
121
355
689
412
180
462
284
42
334
376
605
339
478
995
123
173
562
170
309
269
230
270
544
618
499
591
210
252
535
315
660
337
143
179
172
361
182
162
648
467
229
747
380
344
537
497
498
766
182
72
233
605
389
422
189
179
199
391
376
176
158
292
427
213
589
474
169
620
285
270
205
621
319
646
320
817
784
272
345
272
523
94
344
450
935
144
189
323
130
427
247
542
537
758
485
205
261
216
732
103
347
212
241
288
353
294
226
118
621
380
348
865
452
116
174
200
14
317
213
303
186
663
568
269
840
184
86
520
582
230
416
1016
521
499
463
440
534
481
162
157
590
896
49
168
511
571
334
196
191
58
17
408
290
436
273
303
273
414
840
729
580
148
206
200
552
414
255
364
349
715
647
217
291
334
438
44
142
914
308
339
425
564
139
539
182
101
609
461
732
466
508
260
501
393
311
228
242
205
589
697
607
468
268
124
479
399
262
674
275
541
451
181
735
568
181
1069
277
71
223
416
386
62
307
676
279
270
539
690
435
453
43
65
319
636
163
332
439
330
565
395
95
128
469
479
393
193
292
140
568
294
229
207
1017
84
184
304
301
252
382
227
294
320
207
90
222
285
498
604
678
233
247
416
417
404
253
172
316
547
301
404
223
222
64
155
618
665
249
179
269
545
209
108
221
382
294
852
635
188
685
453
170
393
466
584
185
738
199
213
75
295
359
202
101
248
314
76
250
639
818
518
214
72
460
727
362
41
386
332
64
637
555
445
252
201
122
554
392
91
278
604
485
294
647
438
596
501
198
550
134
205
338
370
500
556
561
620
228
61
467
406
557
167
183
462
799
430
441
265
258
326
417
237
229
363
221
235
307
409
242
37
307
483
157
196
122
380
367
176
118
340
529
229
524
374
933
125
492
545
406
333
286
531
735
405
284
359
231
658
561
1020
155
551
230
296
384
165
233
187
73
677
183
362
79
326
529
204
79
118
124
240
273
848
174
167
580
128
258
129
236
645
417
312
506
560
559
979
453
214
459
148
247
455
255
319
139
158
910
455
615
511
413
454
129
409
178
116
256
548
346
150
427
396
509
286
629
223
135
321
238
468
213
194
566
296
131
337
496
310
399
136
490
269
162
463
406
332
583
310
859
156
760
925
739
356
91
756
49
318
324
234
222
371
315
496
583
273
339
123
488
802
951
153
127
432
113
300
445
102
164
693
489
213
207
355
253
174
407
270
139
374
745
84
123
152
98
460
139
329
225
542
562
617
140
84
890
755
74
723
654
898
227
370
329
724
511
622
646
661
781
303
597
269
84
248
549
201
206
308
529
42
566
514
549
358
440
172
307
237
441
275
540
314
290
618
422
446
425
497
282
286
568
148
104
228
379
348
187
493
310
327
434
309
380
247
223
307
649
315
739
88
815
440
164
106
440
540
410
106
509
416
892
652
264
617
631
232
645
460
298
90
598
322
441
372
130
396
657
184
513
15
232
145
818
550
470
740
703
311
195
334
232
124
238
224
647
801
239
268
567
126
428
227
353
706
169
432
461
358
400
531
451
874
315
423
248
278
442
520
236
138
268
347
406
596
666
1000
34
197
332
448
94
580
424
592
314
210
151
126
94
531
462
524
378
405
32
427
126
248
366
424
388
1122
191
370
54
357
333
569
509
116
746
668
559
34
224
174
239
517
40
576
406
402
299
434
195
207
776
537
97
434
350
640
282
123
1142
545
372
249
702
476
295
542
506
261
232
389
178
110
402
750
269
41
759
444
405
884
138
294
277
292
175
534
210
686
339
122
216
589
171
153
519
704
631
388
321
421
51
496
506
236
298
82
1021
332
213
590
93
66
747
399
186
510
487
448
356
197
319
911
178
287
224
440
509
293
629
195
351
251
228
568
347
704
106
241
204
971
295
306
305
237
399
509
176
470
497
342
139
234
497
727
205
190
545
538
406
154
427
459
311
296
432
193
345
198
245
575
555
426
548
195
371
665
412
612
134
456
483
366
526
618
483
428
420
548
291
209
638
295
282
306
556
220
655
158
605
507
504
530
267
244
35
517
363
365
212
348
395
406
571
610
709
569
255
299
537
482
228
326
215
87
821
337
231
128
530
629
95
394
369
377
385
303
121
121
144
438
598
393
238
413
548
404
249
139
324
278
293
832
67
608
172
355
357
817
481
95
684
288
272
228
218
201
584
644
477
67
293
285
382
125
235
538
31
489
241
316
177
261
375
544
655
243
213
313
533
365
555
259
354
171
278
83
570
143
649
430
542
9
845
283
451
288
176
184
537
229
991
584
338
362
230
157
264
233
702
234
259
150
243
763
421
298
451
859
327
411
292
179
443
541
694
278
77
546
358
492
618
643
254
324
365
216
604
288
359
200
332
193
816
149
186
220
329
253
103
455
265
405
742
620
326
145
186
266
134
448
385
461
125
427
104
958
93
82
436
494
345
166
31
289
423
471
567
141
640
554
331
241
657
427
311
663
508
699
866
96
458
630
13
406
198
662
294
182
583
338
332
673
741
740
368
303
850
742
122
329
74
396
476
233
321
308
600
197
406
90
360
667
331
139
646
290
304
379
142
236
108
274
386
203
418
146
400
316
393
377
148
76
626
386
327
84
470
189
446
298
588
725
355
454
546
298
92
337
433
561
328
470
100
136
217
304
349
244
405
769
441
411
106
338
442
626
428
319
167
259
327
212
396
490
204
573
677
299
446
840
136
436
711
901
368
521
458
1097
556
614
417
991
365
1023
241
286
309
725
208
150
381
74
294
214
396
523
490
527
319
264
259
353
188
414
992
254
507
595
238
324
404
398
332
499
689
365
237
529
389
516
304
173
889
369
661
520
287
192
269
21
598
274
164
439
287
910
324
467
121
113
528
459
550
350
8
649
182
420
157
111
607
458
138
545
404
289
187
349
183
559
201
393
156
202
225
658
393
264
239
903
211
133
215
529
183
345
72
210
700
638
173
617
802
164
230
471
743
196
314
585
606
230
421
192
646
272
346
157
610
610
924
231
360
451
550
317
73
349
552
397
330
570
706
221
204
674
46
567
847
234
399
477
240
210
111
243
565
291
463
216
41
499
606
535
278
168
254
406
308
276
436
337
422
116
322
412
307
338
379
361
473
701
27
278
256
275
562
226
70
190
163
203
109
364
422
495
310
277
275
267
101
570
719
685
519
163
236
318
419
517
543
161
275
871
926
516
784
211
463
480
523
236
360
428
139
178
168
557
267
24
291
402
554
318
473
698
399
283
569
365
197
352
196
870
380
130
84
588
902
321
315
300
375
327
399
514
463
418
531
95
608
760
689
229
178
159
648
207
79
553
287
215
829
405
338
456
531
82
102
255
296
191
701
391
285
332
213
342
572
776
591
170
197
285
286
412
506
1042
327
300
161
99
282
32
172
574
844
488
325
216
307
163
310
200
275
525
282
243
253
339
644
441
586
58
371
565
565
373
230
247
522
407
140
159
507
190
283
329
223
177
188
703
543
498
130
283
655
499
548
415
83
224
554
102
316
233
282
602
261
287
1033
170
244
210
168
297
618
257
310
524
278
70
314
507
386
70
498
393
660
186
378
469
121
59
323
405
516
426
351
469
94
410
370
185
319
538
517
293
215
782
290
313
268
228
519
804
540
199
152
432
528
321
228
195
332
654
135
232
267
510
102
704
408
527
323
130
231
387
248
407
270
233
508
348
170
522
317
193
393
95
302
380
372
507
220
162
650
373
639
169
149
263
184
238
432
365
544
379
303
132
231
233
667
679
95
154
440
262
580
379
670
289
210
471
311
397
226
707
382
438
259
470
306
523
113
303
622
618
433
256
8
177
341
571
97
678
178
478
650
500
796
357
284
609
51
171
776
462
192
390
188
262
572
461
277
624
442
140
443
61
201
573
352
42
702
568
379
400
468
129
378
402
265
689
1042
249
498
477
436
368
188
386
584
288
773
437
618
763
472
500
161
940
253
273
339
150
296
390
459
244
502
464
272
237
295
350
145
336
636
268
148
128
742
701
425
260
252
279
338
357
410
541
326
246
587
730
198
265
265
602
539
179
127
487
548
194
561
506
338
361
45
562
336
444
143
423
290
549
167
244
246
652
297
624
308
50
377
335
414
228
432
474
241
29
276
391
422
293
338
653
303
141
138
869
739
703
448
546
272
198
647
274
296
22
451
706
251
136
97
725
379
613
518
270
693
408
510
567
308
561
560
381
756
250
519
160
349
521
536
90
361
232
344
264
247
559
331
453
525
927
213
97
91
638
228
164
63
575
342
222
133
214
784
106
337
723
356
431
305
206
271
316
481
708
395
308
442
545
733
514
376
305
546
152
354
404
711
290
444
276
469
682
371
332
311
406
741
431
64
596
105
384
476
184
275
615
423
179
126
35
442
248
218
482
466
582
634
126
807
471
355
249
330
462
745
484
268
289
260
404
127
401
166
145
469
454
487
753
193
576
110
524
326
432
31
40
386
217
268
272
197
521
536
743
386
455
473
471
468
379
468
520
377
278
78
632
103
410
248
532
29
233
728
339
594
213
202
454
480
544
450
159
298
94
219
246
377
873
316
311
526
661
502
597
518
524
423
192
68
650
318
615
534
161
144
472
131
207
392
561
888
608
255
660
118
431
133
193
318
422
716
244
592
748
577
156
229
289
47
624
650
411
453
400
606
313
262
440
33
450
282
176
460
149
473
655
241
652
584
706
130
633
251
209
519
608
145
696
70
275
294
311
454
226
263
535
607
446
107
815
626
748
612
321
366
339
413
304
230
268
726
520
403
358
156
265
320
195
601
179
23
185
136
476
681
525
362
803
392
390
169
146
198
318
542
384
355
414
367
217
483
882
62
502
122
374
982
91
749
574
182
500
224
547
107
416
97
846
207
312
117
189
80
160
260
442
291
751
425
228
365
651
540
312
631
240
224
210
466
459
245
390
344
294
164
168
67
350
395
614
281
167
590
213
645
242
356
497
377
612
788
884
341
528
242
472
1020
495
95
66
505
457
146
251
230
636
365
195
137
220
138
196
409
73
380
438
339
428
571
517
332
98
505
345
681
253
348
177
228
266
491
268
604
128
175
367
375
126
435
308
141
170
245
143
216
148
442
453
147
287
520
344
29
198
156
275
482
342
441
763
247
218
290
210
403
614
183
373
500
158
545
258
317
213
280
240
538
396
41
320
917
512
42
418
607
229
111
508
172
397
144
164
735
313
565
311
537
445
243
142
446
236
411
469
65
262
299
191
118
266
297
487
228
352
151
441
339
503
555
765
476
200
548
1025
502
325
1133
110
310
482
283
642
532
555
539
171
456
599
304
155
108
52
289
162
413
94
443
202
249
635
437
405
467
596
299
397
221
745
233
867
251
329
359
285
624
342
287
335
368
281
200
340
262
354
393
449
269
173
342
429
472
125
562
82
711
304
453
597
65
272
332
392
65
346
418
71
258
299
443
350
752
122
266
378
643
354
529
202
399
187
145
663
637
367
157
390
377
455
372
321
607
301
596
481
389
451
341
429
260
43
138
453
333
443
476
313
513
270
473
426
150
706
206
224
660
197
476
442
679
488
349
331
45
117
371
360
721
317
322
206
569
585
212
724
651
505
440
806
344
452
111
709
346
195
484
114
396
135
337
84
663
715
169
454
214
454
518
140
342
527
232
289
380
388
453
280
492
712
430
324
131
201
644
206
198
68
536
486
108
296
484
295
132
747
812
185
1166
117
651
197
301
341
336
345
386
597
637
374
255
431
324
322
139
625
479
162
86
739
661
288
544
89
472
88
321
209
379
66
847
646
236
243
369
316
910
231
337
511
228
690
424
202
677
724
707
249
187
749
378
261
438
331
499
817
572
612
269
295
88
733
283
142
322
417
176
343
667
520
425
466
228
597
289
224
272
577
676
341
370
542
192
381
311
238
326
413
610
369
325
431
128
283
492
137
548
312
45
1131
445
301
390
252
455
113
935
356
507
345
541
190
417
185
589
336
279
180
215
148
565
410
634
423
705
499
311
375
689
562
505
441
681
399
187
317
472
732
266
113
627
242
301
405
390
84
1045
595
416
467
389
159
814
69
194
272
365
276
294
440
206
525
239
144
325
684
500
352
373
598
448
26
465
202
169
349
387
207
209
198
33
476
376
413
182
258
226
533
346
124
302
540
738
297
400
46
279
376
390
282
192
278
461
174
349
712
348
614
75
668
668
195
429
578
354
611
702
373
181
497
480
1110
557
454
121
357
239
433
361
256
385
123
118
596
243
183
285
489
190
169
357
245
488
122
549
100
219
651
281
199
44
630
498
351
376
240
129
325
383
554
371
42
466
381
472
322
564
164
644
600
169
343
45
255
276
1096
647
324
435
749
369
215
501
394
441
466
184
385
349
527
351
507
585
170
199
460
327
396
637
258
536
312
380
198
486
320
566
563
192
531
691
387
561
338
903
276
123
137
612
453
442
776
497
347
465
244
413
305
301
857
89
256
345
515
210
131
160
61
607
154
686
671
420
292
201
571
165
499
25
460
551
345
234
316
612
316
198
373
360
261
208
942
298
364
728
468
394
342
179
265
708
249
377
145
215
155
544
290
44
141
58
350
452
266
54
295
729
400
324
601
879
309
235
97
432
161
479
124
468
484
243
700
555
260
452
183
322
581
577
613
65
579
403
182
382
305
529
118
174
524
313
519
320
62
443
244
209
313
248
318
378
633
524
432
141
368
704
135
224
231
173
914
375
402
577
464
272
582
493
120
191
664
328
526
642
444
487
379
554
713
605
685
443
310
744
525
689
231
846
59
247
234
579
70
165
211
91
329
322
275
133
343
221
843
561
568
963
601
371
253
417
309
294
552
68
897
757
394
40
323
570
691
71
547
783
890
299
314
679
517
449
541
241
498
63
451
382
70
568
318
281
420
323
391
617
451
148
229
191
370
403
513
451
225
341
228
428
438
562
443
207
106
422
579
362
346
301
359
624
148
464
31
797
384
354
489
79
432
251
274
172
221
458
718
473
243
576
276
534
623
1100
313
96
250
189
723
416
374
315
907
248
82
201
219
129
484
801
549
302
197
594
189
159
180
417
133
342
484
328
586
317
622
225
243
238
300
124
303
509
167
243
460
119
139
573
924
355
773
71
468
368
934
180
533
15
353
694
412
312
271
92
581
531
767
425
356
653
72
168
430
303
750
495
212
169
313
160
304
310
90
65
658
517
493
397
606
574
156
154
366
491
251
138
361
441
76
185
288
232
590
398
168
52
321
479
247
524
597
276
238
579
321
396
698
729
447
356
234
288
56
311
419
491
225
340
521
240
69
371
62
69
248
336
164
623
633
613
564
201
322
760
197
383
525
272
146
432
619
432
447
792
225
317
160
652
345
270
508
644
447
413
71
322
307
363
86
601
519
42
192
464
326
679
373
113
155
709
314
749
353
485
481
674
100
337
196
380
295
868
295
355
654
455
363
699
354
790
71
102
485
430
67
566
162
196
329
316
141
650
380
271
320
41
188
252
561
238
243
250
397
274
529
444
554
453
108
304
252
168
250
191
93
289
274
213
586
641
527
494
513
314
600
230
769
245
377
436
551
617
253
303
93
196
370
225
607
1112
290
333
334
245
480
259
415
329
338
610
288
179
130
143
226
693
180
462
662
251
562
446
129
184
56
804
498
531
291
279
168
722
540
97
338
179
66
437
470
42
194
522
317
285
459
445
203
594
662
473
415
308
132
645
271
231
195
394
167
298
323
202
601
688
504
320
551
945
79
598
209
481
392
290
652
893
523
447
351
305
90
300
122
591
427
314
251
699
248
145
147
548
522
361
457
483
678
409
117
524
710
700
776
157
376
613
194
490
71
395
242
378
701
341
942
316
266
402
301
438
416
576
382
394
637
775
481
173
462
730
326
549
594
287
174
120
585
311
695
317
204
145
293
419
117
532
607
216
320
515
456
826
298
123
62
758
261
458
125
710
311
335
467
286
257
573
141
280
201
339
636
435
236
485
199
391
239
165
172
923
479
88
394
503
252
236
165
374
521
381
299
289
276
492
150
944
308
588
502
364
291
352
145
361
283
435
103
273
310
173
323
490
265
448
506
383
763
327
415
382
120
526
427
284
168
833
296
304
374
80
683
86
168
793
180
277
295
421
332
743
272
284
345
305
300
413
323
73
226
319
442
373
424
414
64
410
627
728
317
140
274
451
568
384
292
910
416
471
495
841
53
450
121
328
276
427
111
365
448
221
934
252
317
464
625
98
292
222
249
357
352
523
623
163
222
387
799
227
311
507
175
403
379
606
517
175
488
873
349
160
259
273
387
85
389
436
602
618
306
347
441
217
220
452
664
517
611
558
325
1047
321
389
222
1003
803
373
897
430
283
118
344
258
715
95
320
708
228
113
425
543
495
322
56
291
550
218
651
230
124
271
848
304
553
131
127
233
591
446
430
312
668
600
547
324
239
682
128
267
338
574
305
457
764
225
58
502
495
211
485
307
863
55
339
354
414
569
264
399
495
458
318
568
640
321
277
170
588
325
521
470
158
194
287
247
557
452
212
306
203
204
147
380
482
480
60
304
215
400
236
112
555
575
522
179
928
161
176
573
169
708
496
101
414
703
190
171
170
588
313
576
480
195
345
642
302
671
434
343
421
165
78
231
405
265
334
208
356
348
331
425
217
1128
129
328
667
563
496
682
417
293
463
488
434
324
685
668
390
415
152
393
805
244
454
155
482
680
333
125
136
418
527
336
470
357
330
408
290
407
85
596
483
117
360
406
690
528
260
188
214
248
162
255
153
279
89
781
229
346
429
391
339
655
115
576
427
1009
373
500
343
740
212
397
280
539
293
190
130
432
424
121
589
123
384
433
296
547
81
794
215
247
128
636
267
387
769
757
422
304
328
588
556
610
295
313
428
170
132
184
108
109
474
319
561
239
275
139
252
547
802
447
284
519
123
361
463
267
860
529
512
658
280
385
650
362
439
533
249
134
98
279
212
479
758
481
337
180
361
167
581
490
225
628
796
328
671
373
422
285
139
1035
65
183
252
561
297
14
247
541
348
548
341
210
360
30
368
86
444
153
335
500
260
501
260
365
548
632
184
516
534
262
434
377
233
466
610
756
415
638
230
128
622
613
532
571
522
285
251
348
744
130
338
641
449
473
333
559
197
250
336
185
229
131
447
138
156
466
291
545
351
131
206
342
838
149
500
845
390
381
332
353
125
251
149
351
462
172
88
132
219
853
395
417
342
285
170
254
395
416
288
318
654
401
423
392
554
513
345
135
363
407
375
432
174
242
478
336
83
213
599
807
452
408
274
585
198
249
159
349
629
391
157
105
331
491
316
376
331
485
484
218
451
205
182
401
279
761
423
684
169
224
278
276
143
466
232
398
417
477
173
527
137
272
689
212
472
215
348
340
325
440
650
149
147
565
547
161
131
179
751
713
492
385
152
256
181
262
336
251
569
321
463
639
146
142
818
456
385
537
134
256
518
627
361
330
148
391
443
75
557
214
371
45
77
264
506
425
328
156
849
107
305
294
264
220
425
454
494
193
307
130
165
494
256
139
665
311
377
128
521
342
545
150
415
186
76
235
144
218
874
303
763
78
240
385
280
453
255
515
199
412
605
473
301
251
574
545
520
351
199
320
762
316
393
489
523
131
852
396
371
496
212
602
176
677
680
368
179
795
600
270
450
147
340
106
546
141
125
204
362
179
455
112
334
335
188
356
417
411
285
440
111
158
297
156
365
249
579
89
501
211
320
88
683
160
313
205
303
164
171
256
426
623
299
126
743
310
238
118
205
402
451
484
400
1162
221
67
295
454
688
584
292
393
297
226
577
275
388
197
574
534
250
258
380
340
467
672
515
395
264
260
213
134
567
543
437
169
265
513
515
784
125
274
524
356
630
310
901
557
470
540
430
226
282
425
645
152
185
209
443
594
393
784
666
656
346
122
199
251
165
312
24
323
529
228
313
409
195
206
608
500
438
680
203
569
601
308
387
614
758
96
227
189
88
637
98
193
397
693
594
546
124
91
526
263
603
299
747
232
569
562
23
468
769
161
302
218
311
184
103
499
296
269
187
531
429
191
238
311
448
126
259
445
172
135
200
469
326
107
526
372
437
747
163
438
575
588
213
212
510
664
647
486
789
45
682
160
76
274
235
175
74
860
231
179
547
395
353
256
316
283
536
304
420
467
250
292
122
315
202
387
90
162
575
489
226
736
419
487
509
413
301
148
129
308
111
342
711
573
349
432
441
514
131
261
135
595
397
704
348
485
353
127
293
296
461
290
503
310
104
699
241
196
707
177
148
292
142
298
697
416
133
547
892
969
393
714
173
337
554
106
148
468
462
493
400
472
156
435
457
849
654
260
90
107
246
109
300
433
215
676
185
411
141
304
165
282
773
181
242
209
272
471
351
229
325
312
120
493
298
304
212
232
365
154
80
203
387
553
742
270
420
314
263
211
470
535
479
497
464
361
455
357
413
232
260
736
121
441
551
227
232
856
498
155
296
468
754
558
436
354
202
668
496
304
336
619
197
320
599
425
463
170
76
343
80
488
235
764
285
499
397
403
381
31
508
541
817
520
308
80
232
269
450
606
43
55
284
226
124
490
318
509
340
713
514
114
455
534
245
153
528
104
875
212
79
234
221
145
230
105
707
443
198
601
266
342
269
289
313
388
319
372
564
527
402
146
255
529
119
584
239
485
601
357
433
349
564
186
816
486
111
404
279
507
367
222
737
304
162
334
576
115
437
130
342
447
212
475
303
502
670
418
30
117
211
172
514
142
240
97
95
434
139
599
241
418
247
194
493
283
363
909
160
208
270
289
1019
587
346
440
343
157
316
520
295
317
230
367
58
461
452
468
117
269
212
565
210
799
329
315
213
248
662
389
503
1009
492
182
906
295
50
475
743
323
414
526
380
346
320
139
400
364
1110
638
457
393
491
397
194
643
521
524
380
225
600
166
359
531
659
317
551
170
709
553
420
393
306
457
294
506
216
186
221
285
690
652
270
486
551
529
915
276
352
36
274
316
279
274
513
464
456
124
491
660
611
295
519
447
203
211
416
706
673
284
306
643
898
269
172
350
326
492
97
448
113
648
346
884
601
556
280
164
449
380
61
342
280
413
312
250
418
422
207
446
781
225
21
61
345
227
478
316
170
757
258
701
437
655
154
558
129
483
552
259
500
173
250
285
267
585
529
210
440
194
384
300
329
266
516
219
575
725
224
542
323
562
942
282
412
165
374
318
103
684
389
82
245
478
332
251
17
222
433
545
636
480
224
482
783
527
515
64
562
522
84
417
555
790
189
692
395
105
785
603
152
179
766
230
205
741
112
80
927
393
425
283
209
848
257
197
791
478
174
454
903
1003
229
165
289
253
652
184
683
764
181
197
172
233
623
309
558
842
195
185
121
456
233
583
84
16
400
301
87
367
663
399
382
563
331
252
713
155
734
108
681
339
236
502
392
608
538
288
1025
282
284
382
212
787
347
334
1006
660
279
513
244
456
538
541
798
703
340
469
547
195
693
263
658
800
374
382
797
349
49
115
306
319
99
633
429
168
276
764
489
735
453
304
797
313
275
277
544
317
627
74
393
265
190
515
313
169
412
446
218
192
286
32
792
326
708
100
683
979
345
750
246
332
410
668
309
273
306
324
138
423
677
483
86
669
696
267
227
208
151
548
570
282
448
141
488
144
378
433
293
463
717
727
637
438
633
201
587
73
809
148
226
475
113
305
367
113
325
445
251
148
308
141
351
665
202
450
577
370
396
411
202
243
179
384
670
337
250
655
628
305
186
353
332
545
188
71
896
230
294
578
602
239
56
514
344
63
119
288
148
74
465
142
25
298
610
606
479
225
446
355
328
530
372
313
270
466
646
515
303
121
129
539
618
291
460
569
187
421
207
164
381
725
339
335
425
616
344
381
93
410
518
287
246
307
153
505
430
508
162
470
104
334
96
354
301
359
282
321
214
339
248
685
552
269
655
186
232
180
384
231
436
357
105
452
360
522
870
869
161
501
157
527
169
329
528
277
178
248
338
269
355
638
439
287
297
433
340
318
31
788
224
479
223
599
547
139
457
245
183
502
1156
385
500
676
316
425
540
265
686
639
201
617
140
596
155
466
101
226
119
347
235
449
186
539
269
269
538
474
266
125
544
595
500
100
381
451
301
279
353
162
190
537
142
127
748
731
365
333
354
570
249
210
195
512
309
333
579
608
152
159
424
110
606
267
282
664
133
554
270
499
235
252
707
237
687
440
476
637
615
820
199
646
266
767
575
676
199
535
366
601
402
597
826
392
279
537
196
56
773
735
465
26
161
217
198
560
282
492
127
486
300
420
760
231
139
890
270
673
578
263
262
136
275
484
399
222
98
172
326
52
404
232
131
201
310
556
194
935
117
549
254
444
521
8
362
457
231
516
173
576
538
68
676
158
122
286
79
91
567
744
58
231
367
604
647
557
312
602
272
687
953
232
331
502
198
291
756
285
617
181
422
295
506
419
345
375
200
359
105
352
50
556
364
177
694
431
146
535
548
716
415
404
406
485
310
345
409
603
439
581
104
342
8
217
263
275
373
400
709
275
25
285
118
806
605
383
33
490
569
244
698
491
310
269
74
75
638
643
178
754
421
165
970
127
359
194
113
382
573
216
229
539
341
493
46
185
342
347
326
312
559
599
93
519
291
427
128
450
360
774
316
514
212
500
663
400
228
469
224
707
416
183
143
93
431
263
467
740
718
535
681
739
332
426
231
324
279
581
482
186
336
257
197
249
189
397
498
609
935
565
148
260
92
448
518
748
304
934
267
336
274
567
95
399
321
713
98
158
239
417
550
518
492
488
447
499
326
68
339
167
672
265
512
460
420
405
304
554
325
428
732
412
496
477
477
358
95
209
162
725
321
474
548
305
857
532
527
182
665
229
284
207
330
224
658
491
415
280
198
329
337
64
304
178
141
714
512
181
288
126
37
659
85
336
363
621
161
96
443
985
774
182
367
131
211
143
259
241
455
218
107
274
398
273
139
202
192
654
370
819
329
528
387
280
462
445
336
319
409
816
432
302
249
638
854
608
244
662
349
902
266
497
276
608
274
81
65
336
337
527
695
450
551
388
441
237
570
612
508
294
606
304
301
390
238
484
192
276
229
877
472
698
599
718
217
207
141
494
641
598
604
638
98
555
180
228
236
309
634
342
690
290
353
650
437
93
518
581
212
894
122
558
322
560
139
250
177
742
301
508
165
215
548
279
409
360
350
146
531
240
437
211
422
280
772
302
343
503
428
229
237
324
274
220
558
561
395
98
298
84
171
386
420
461
219
451
559
267
7
622
536
378
400
546
228
330
96
566
429
128
386
427
778
144
691
474
136
148
325
88
625
769
232
402
296
686
135
430
148
446
369
170
597
327
306
439
383
449
207
489
594
268
130
311
313
158
273
327
318
104
443
408
472
165
623
158
510
523
344
287
500
311
351
299
317
213
97
406
462
200
534
506
286
213
205
336
255
233
337
691
539
409
103
237
174
458
440
111
323
320
192
199
229
221
448
375
314
230
371
583
293
358
515
736
200
472
215
147
614
360
269
61
510
240
271
381
710
30
409
257
286
858
661
380
579
911
781
362
276
558
187
404
520
88
330
520
194
1026
212
331
629
641
742
70
542
429
320
474
233
362
165
183
499
628
296
238
130
292
508
521
169
169
95
421
314
116
500
199
1026
554
577
659
527
105
321
69
637
183
474
301
770
241
42
462
232
326
901
187
473
389
520
126
142
434
754
191
624
390
191
597
265
128
311
488
532
8
347
461
528
157
294
426
222
339
403
415
244
280
522
397
211
220
218
718
64
492
231
189
312
476
428
286
494
202
117
730
598
270
188
491
128
330
124
90
793
307
456
342
561
389
505
912
382
277
308
327
172
150
358
398
266
247
280
119
125
329
278
134
256
417
533
183
285
218
196
613
498
215
609
232
250
60
213
432
170
364
359
501
350
95
856
233
119
494
231
465
521
244
495
213
435
661
441
534
592
461
101
263
285
404
131
916
566
142
188
238
133
250
210
100
361
166
163
301
162
139
318
505
487
172
360
508
550
223
667
467
172
521
192
55
422
247
248
773
235
237
326
530
437
112
264
321
302
223
391
240
279
167
527
209
669
123
314
376
766
117
46
686
797
135
287
530
167
548
463
305
278
774
308
366
296
353
500
184
121
381
242
639
396
334
321
332
547
655
245
403
424
469
145
751
352
14
455
463
190
247
526
474
119
368
395
229
292
617
197
329
539
443
496
477
277
156
325
682
543
302
654
366
516
695
673
355
477
621
522
421
295
561
378
529
168
547
65
247
599
323
405
273
188
825
622
205
450
202
379
901
677
208
740
288
566
265
295
172
320
697
674
45
524
76
675
496
25
602
644
356
141
647
406
301
448
280
283
205
846
727
460
128
110
669
446
209
469
269
223
760
208
155
176
319
365
439
300
651
172
294
648
67
987
329
400
89
1128
670
251
354
411
92
707
597
531
399
810
255
536
88
359
378
620
329
277
210
646
390
296
530
327
245
683
484
689
321
660
230
226
399
99
377
131
585
376
161
492
420
552
367
725
18
205
97
317
251
398
426
833
478
284
170
519
381
540
218
355
499
123
660
675
571
12
123
274
600
402
327
159
230
742
483
547
271
566
168
382
284
420
343
354
337
592
117
133
781
380
377
107
809
173
105
457
672
70
432
237
284
123
304
663
752
449
172
439
166
445
316
247
526
488
392
334
256
685
498
296
347
202
343
540
462
582
291
95
1059
776
337
428
285
419
888
409
317
452
366
387
259
186
157
501
92
141
368
628
116
214
208
238
503
138
207
440
271
415
70
172
143
386
747
486
308
129
328
93
362
329
375
526
303
435
146
55
239
425
69
343
669
223
325
330
113
371
356
645
498
73
122
757
591
381
518
494
354
642
271
689
120
1080
432
674
280
192
537
964
514
647
37
385
393
292
580
541
337
360
526
399
116
433
493
1151
713
86
292
201
360
406
343
353
208
588
166
511
587
752
553
424
452
318
288
435
388
53
607
265
70
254
248
377
639
66
66
265
619
442
171
181
206
548
523
209
352
467
757
206
346
385
715
111
126
435
393
424
415
502
1145
462
168
285
591
165
333
482
30
450
132
446
916
261
548
475
222
268
141
663
525
412
168
410
1103
318
356
409
201
459
263
326
527
400
254
476
266
263
713
285
611
730
108
368
110
593
520
206
441
1066
297
442
550
393
140
255
676
730
169
84
162
46
532
347
56
286
317
307
307
782
426
94
490
327
476
501
911
127
509
237
479
260
334
44
338
251
161
463
313
263
340
504
453
341
474
139
729
24
377
71
327
272
140
125
276
563
501
323
267
747
183
147
468
320
869
340
324
92
114
416
529
670
473
344
286
645
687
258
292
440
660
448
415
448
548
488
620
475
486
110
179
655
788
297
217
245
533
421
55
307
50
554
345
266
212
276
429
502
157
110
278
183
95
736
322
730
678
780
330
136
136
290
87
310
194
152
494
656
281
442
460
288
527
262
320
514
916
330
358
639
158
499
264
288
532
66
487
76
138
324
668
423
522
440
576
231
587
216
882
646
575
160
619
250
831
370
359
129
518
109
598
378
98
337
270
328
567
737
166
817
435
250
325
149
343
130
188
381
757
498
735
396
915
254
222
502
426
318
192
203
198
181
89
882
226
288
243
465
172
230
608
402
209
470
601
347
346
110
561
151
568
637
254
299
75
613
279
191
570
410
376
79
195
333
67
292
305
405
747
89
531
248
506
240
218
548
246
162
17
696
504
157
658
398
271
392
533
558
412
498
347
143
163
433
651
311
438
372
382
23
609
563
127
400
396
427
544
209
669
296
162
338
382
176
474
534
204
206
171
415
202
598
485
502
287
216
191
304
307
388
879
302
590
806
271
286
320
308
301
881
707
210
233
212
21
725
266
356
773
167
497
826
420
293
492
241
578
128
275
436
307
628
652
1101
359
373
215
278
244
337
489
514
279
374
367
349
266
680
702
430
502
348
221
755
416
382
445
215
110
423
351
556
308
634
280
497
574
446
470
205
392
857
167
39
578
577
631
379
128
615
545
180
260
292
322
583
1102
372
155
320
355
456
540
186
313
269
327
148
267
239
161
289
375
408
340
420
239
491
253
35
483
155
642
953
460
306
319
471
613
478
563
541
545
205
296
419
202
184
313
509
261
279
347
133
258
548
654
471
556
355
164
218
285
829
559
646
108
126
553
367
405
460
333
353
436
526
295
885
421
446
248
524
423
136
345
400
192
547
511
187
183
589
548
276
267
344
218
348
506
457
534
183
686
347
362
280
136
234
205
143
277
188
513
429
464
134
340
785
484
509
354
192
551
208
117
341
377
340
465
197
259
441
335
135
128
952
368
503
471
215
261
723
610
222
592
328
156
179
496
637
471
532
494
260
499
564
455
296
210
510
355
118
294
74
33
365
165
216
583
24
47
160
742
347
278
276
52
450
268
524
426
549
650
270
353
160
913
389
303
767
555
387
127
529
366
494
528
527
415
203
296
375
170
266
252
260
494
557
253
363
468
61
570
378
172
548
321
414
418
151
595
478
427
587
377
545
562
245
143
481
612
465
240
727
257
267
316
394
175
233
285
158
615
726
440
377
161
339
291
813
423
131
420
195
586
549
535
233
414
287
641
225
166
482
409
589
165
250
296
294
99
190
331
266
203
556
509
504
189
240
307
329
229
361
442
144
147
294
376
649
82
487
127
499
73
373
645
134
569
467
459
417
382
226
740
608
114
646
350
326
454
344
259
216
1101
116
285
534
154
113
371
438
273
739
437
127
262
609
565
250
361
566
90
996
372
213
407
12
160
70
365
75
335
227
204
189
303
79
217
653
397
391
613
366
160
148
260
482
267
137
407
166
124
502
395
461
296
631
592
385
663
364
578
576
212
303
341
692
533
102
216
310
109
197
608
238
180
170
281
461
561
190
45
360
289
744
410
550
165
448
542
356
452
312
378
510
580
198
740
304
441
473
27
467
266
358
166
335
447
467
542
432
119
136
87
415
585
187
521
1001
250
380
281
584
546
596
420
43
81
146
730
187
726
380
492
823
86
416
167
342
628
501
651
258
460
854
243
234
803
574
159
248
472
407
573
315
205
462
99
345
125
412
307
257
558
233
564
338
429
659
85
418
193
414
344
236
540
204
393
601
179
287
404
271
203
867
123
288
534
115
374
57
340
403
76
438
276
277
453
243
179
408
424
495
381
443
309
238
476
738
438
148
187
930
388
404
615
535
250
127
297
313
185
360
366
416
549
300
244
368
349
208
322
268
133
70
229
206
311
463
740
349
302
266
473
493
772
368
267
584
542
827
502
379
182
205
849
440
492
459
385
311
560
112
512
72
695
410
437
328
1014
679
537
324
424
289
805
257
70
384
600
335
296
239
887
179
559
261
153
341
280
73
606
232
780
292
188
419
295
241
655
535
459
298
797
259
513
651
468
292
255
460
853
198
318
583
344
95
58
352
204
186
385
217
382
335
328
773
537
491
842
296
588
375
218
154
359
78
428
635
171
295
343
171
454
231
311
537
536
361
257
75
364
242
371
124
455
571
87
380
711
556
162
381
145
348
351
683
260
497
180
538
654
76
262
436
306
429
150
44
159
184
369
573
285
463
381
207
384
621
384
396
397
199
380
302
398
300
370
498
383
260
549
469
573
259
375
618
77
356
386
745
297
765
153
156
266
812
517
795
177
299
150
323
357
318
467
546
596
379
31
362
545
348
470
8
408
372
123
461
293
608
269
470
333
218
208
454
110
642
444
369
543
422
228
577
558
640
207
338
350
570
555
439
42
743
410
589
127
700
166
479
195
485
755
614
722
541
497
166
87
509
563
152
495
471
309
521
241
149
642
438
205
218
115
104
257
618
588
118
455
307
166
219
269
285
265
492
345
873
159
189
703
296
500
104
197
172
495
601
238
181
343
243
702
206
383
247
458
373
313
212
445
693
819
777
78
839
37
363
1005
204
256
358
170
179
240
303
153
379
226
175
108
21
294
431
591
557
269
420
428
284
537
157
353
188
342
188
457
406
340
499
388
264
388
341
331
756
255
689
891
189
247
205
896
221
287
208
568
186
131
530
258
329
128
570
674
349
219
607
175
623
589
469
331
223
611
597
485
361
176
513
442
579
418
165
243
417
798
362
538
627
670
356
543
654
479
225
373
580
432
509
218
233
249
137
361
625
401
343
143
155
693
15
274
220
228
384
295
495
248
201
304
312
90
513
1061
187
288
475
274
118
396
653
218
153
478
675
292
291
190
290
167
464
1148
400
636
382
860
155
144
236
361
632
231
793
97
143
230
252
300
962
318
145
470
304
343
421
219
145
117
111
344
54
189
271
441
300
199
169
306
455
343
195
258
1002
686
259
722
312
51
181
1129
267
351
294
388
52
641
23
149
276
202
260
220
549
447
433
436
333
551
164
157
253
242
658
308
172
622
775
565
151
314
370
657
577
940
669
316
309
257
398
245
303
631
452
316
471
186
213
328
589
396
411
455
402
376
141
1146
414
301
246
242
707
363
556
230
368
724
231
261
676
466
260
409
567
346
127
200
226
280
462
448
219
188
471
330
683
211
292
150
267
136
384
627
214
444
604
224
421
447
272
580
630
645
458
405
152
402
523
154
255
463
391
112
335
325
854
135
643
161
446
366
588
450
80
376
117
119
117
108
497
449
301
334
176
418
571
419
342
354
657
57
398
1122
377
211
412
428
731
381
466
377
563
928
119
367
125
275
217
649
521
8
420
549
301
125
352
65
490
229
733
367
160
266
356
191
659
599
531
430
488
620
356
652
194
279
653
469
132
141
404
695
636
699
926
118
197
618
530
475
532
538
795
160
110
551
545
341
121
298
387
384
215
180
730
249
189
345
837
634
192
500
263
601
304
215
181
159
533
214
126
86
611
322
530
123
333
354
460
578
309
625
308
391
619
475
250
585
427
462
51
356
303
621
518
414
1079
230
356
331
484
708
352
477
709
456
166
428
246
219
353
665
262
317
295
287
244
331
314
31
198
155
385
336
355
366
479
307
426
373
167
581
391
406
282
180
65
444
446
506
97
373
191
263
314
514
569
626
158
155
362
193
361
700
410
446
350
470
664
198
278
324
24
370
121
283
232
671
143
559
324
473
272
218
430
124
380
202
50
579
184
145
303
269
42
582
395
576
415
156
531
260
547
175
498
357
915
287
560
472
388
747
283
247
103
541
406
571
359
648
54
302
188
239
563
265
239
533
335
738
523
239
431
232
583
509
320
864
780
225
675
411
324
505
297
342
342
533
172
184
367
610
572
295
142
573
348
129
522
567
397
322
324
198
462
163
339
854
781
356
238
361
349
639
497
216
522
303
521
512
222
651
125
261
141
563
562
405
246
108
800
360
118
190
454
214
249
350
490
406
607
837
342
131
75
200
235
206
493
406
482
303
541
143
676
251
323
207
229
372
435
266
736
173
498
246
371
33
209
613
169
169
740
188
567
770
522
598
536
618
348
299
357
235
406
255
530
258
259
97
462
137
917
517
51
290
433
675
365
276
394
321
778
250
448
674
268
529
251
763
399
668
701
415
439
92
296
160
397
122
201
500
702
379
57
544
202
286
981
174
244
469
301
354
538
260
437
453
433
126
606
428
263
739
606
311
255
239
133
317
300
253
264
143
816
194
148
521
493
131
173
273
157
304
581
190
293
391
669
169
281
188
27
716
271
542
162
487
453
700
517
406
436
51
789
179
288
288
625
56
534
279
184
638
349
297
51
15
1112
364
506
372
205
412
165
287
1024
318
432
1141
522
274
272
31
96
157
228
775
204
626
406
99
553
36
534
361
440
470
638
572
964
604
857
325
291
411
40
694
85
464
554
236
321
399
183
261
282
367
541
465
329
159
315
113
194
898
444
321
122
428
243
1025
352
721
566
234
396
287
325
211
123
505
176
478
517
194
248
301
540
424
533
69
782
446
672
498
326
173
518
230
528
281
246
350
681
330
423
470
213
430
160
330
556
791
486
504
62
142
201
544
17
649
365
319
426
234
240
547
508
638
635
662
339
476
532
756
264
95
513
256
449
351
598
274
470
226
267
436
248
565
599
101
120
113
366
279
798
189
352
269
107
153
734
399
557
131
219
266
280
507
279
584
184
689
563
427
118
547
336
322
523
192
714
964
407
308
32
225
352
991
310
361
411
515
176
506
527
119
639
620
277
601
737
251
111
370
590
709
356
672
776
740
101
273
551
492
196
498
271
444
504
297
27
495
375
407
500
516
283
94
456
173
639
220
92
276
639
766
539
187
562
186
481
484
276
1106
447
421
468
353
125
413
96
160
282
266
165
128
563
128
372
272
395
353
224
378
443
653
164
245
470
436
532
583
193
562
356
426
473
381
646
456
521
320
488
520
325
687
416
285
124
478
254
144
261
113
293
137
411
501
195
568
463
279
254
584
530
221
279
150
637
394
391
153
755
279
492
384
479
346
512
106
388
438
309
339
597
206
603
670
65
273
249
185
301
131
261
427
531
541
274
461
520
243
586
363
325
296
670
536
665
221
330
142
327
357
555
125
170
537
667
425
509
135
668
916
217
329
335
460
651
430
378
465
757
451
500
290
531
611
627
812
156
340
585
430
245
368
494
615
202
195
85
278
435
583
360
192
220
525
514
348
725
616
475
484
122
764
554
658
235
294
744
266
379
531
657
276
115
542
162
335
629
80
671
280
267
209
252
285
573
65
315
126
472
356
119
119
544
584
216
155
518
198
755
216
336
496
80
396
249
133
248
690
732
141
482
642
803
208
596
92
604
403
103
238
384
560
272
398
441
437
355
223
199
367
608
637
377
696
112
657
604
213
258
171
283
420
375
412
512
376
370
661
354
295
715
487
453
873
280
462
153
382
492
337
724
439
419
587
217
668
286
338
441
697
540
295
745
879
311
79
419
188
108
204
322
319
302
134
460
393
337
232
257
587
329
643
718
310
207
281
197
421
74
559
1113
428
137
816
334
100
383
583
548
476
523
663
377
422
406
124
260
734
130
666
378
680
305
457
376
184
540
274
860
331
325
233
710
236
362
739
181
49
451
217
600
347
360
471
452
268
348
473
587
386
354
152
492
391
578
407
208
562
1142
394
175
259
343
742
41
561
316
426
142
298
565
338
426
286
390
169
599
200
82
701
295
283
387
463
195
208
351
321
181
70
703
144
488
307
293
440
253
476
648
136
144
521
103
601
811
443
178
217
216
328
180
610
514
138
800
261
558
513
171
514
278
529
314
745
165
330
207
374
462
786
198
648
738
845
694
760
375
927
216
638
357
193
412
538
517
311
440
308
340
330
421
805
355
172
185
101
177
715
463
261
173
774
544
640
230
498
227
537
368
494
137
697
455
856
234
114
296
639
188
284
120
237
68
295
565
240
207
451
707
229
223
474
293
262
662
565
213
318
218
294
394
174
457
402
175
404
126
374
429
393
535
605
385
574
183
348
472
400
592
411
805
358
244
355
43
498
776
272
379
423
79
360
516
232
394
716
109
140
478
504
193
332
1100
119
305
397
365
56
182
648
87
383
97
328
654
468
385
206
514
462
448
378
359
144
117
597
605
157
110
222
139
522
318
268
815
634
931
767
316
287
196
627
715
396
333
71
236
645
196
563
276
524
508
300
585
502
294
123
518
492
768
279
535
73
325
225
328
471
239
365
276
487
546
335
319
625
303
386
274
406
195
182
451
322
518
677
257
180
196
720
123
91
101
420
713
518
271
542
398
428
460
446
310
1099
332
538
204
495
336
71
518
440
547
302
428
388
229
144
433
98
564
107
299
211
246
309
336
142
192
421
170
671
369
84
450
626
423
348
619
269
436
291
149
282
762
211
579
807
441
624
226
316
600
962
235
849
683
348
341
353
216
670
568
351
773
873
211
339
384
677
595
336
620
162
432
278
740
213
342
469
341
78
423
301
198
398
112
361
879
468
80
179
509
345
280
224
462
539
812
900
158
219
711
973
395
1145
29
161
494
534
660
59
170
201
192
300
463
561
363
262
189
412
275
269
419
522
91
317
578
429
195
327
115
434
318
293
47
404
300
141
630
437
310
832
130
506
125
827
137
472
401
539
543
310
514
1109
673
150
371
356
409
208
417
157
240
220
501
220
307
543
427
262
267
587
529
748
381
640
142
291
600
493
153
590
420
268
159
319
693
315
594
225
170
672
525
270
632
275
282
646
484
381
177
124
595
105
85
295
393
406
155
406
139
353
336
335
274
166
199
147
140
111
628
501
389
86
908
449
626
219
164
561
489
486
317
85
361
864
272
301
732
220
461
627
361
724
474
429
308
77
355
84
205
378
696
453
539
164
428
675
150
286
978
661
162
407
399
684
432
132
339
293
724
296
474
484
106
368
260
675
177
355
770
357
412
442
143
707
416
760
78
508
366
286
159
587
523
889
390
286
107
396
109
77
753
188
245
840
80
297
452
376
581
334
202
324
262
787
59
306
888
103
178
342
489
259
314
575
249
605
591
176
773
250
518
383
200
188
291
651
612
477
518
327
399
77
185
552
9
640
362
467
479
322
693
308
596
217
311
658
223
233
119
272
459
646
319
209
701
537
206
532
100
322
384
400
137
357
1021
823
689
315
335
61
22
615
634
424
168
434
322
75
425
303
548
406
501
65
597
720
526
236
537
128
327
206
286
860
308
193
233
342
26
307
261
436
81
171
352
158
719
667
327
627
311
88
640
365
408
528
117
46
649
491
179
693
172
475
459
458
540
311
136
108
441
259
126
92
452
297
133
552
743
248
634
442
426
468
378
264
151
262
265
559
313
19
253
363
69
521
304
74
491
157
221
231
285
680
249
74
178
222
264
428
774
758
434
524
254
596
506
325
295
487
243
281
200
584
594
229
597
266
156
806
657
354
225
283
739
412
385
377
290
199
444
642
129
247
248
690
761
283
422
502
277
651
403
206
126
630
256
526
544
196
368
229
582
146
738
440
772
382
429
747
339
364
432
391
333
811
614
615
224
181
451
365
628
394
431
289
401
71
509
539
299
173
245
130
226
224
615
548
448
370
195
537
369
291
417
83
914
219
597
210
639
359
228
238
562
532
440
615
86
281
225
865
546
274
181
753
305
93
306
1080
466
103
89
333
317
501
426
642
274
58
233
119
247
620
377
315
344
363
266
820
241
134
450
328
267
748
378
372
437
365
320
696
757
177
169
175
422
544
78
389
122
256
463
306
400
608
213
581
344
480
478
639
114
233
415
240
302
275
449
95
98
664
317
504
271
156
78
738
302
317
79
173
203
382
317
163
536
562
501
149
409
235
581
72
798
247
608
664
380
324
63
339
745
354
288
671
348
225
185
162
378
190
107
337
228
366
276
329
134
69
856
494
534
383
660
543
507
628
654
70
493
338
299
745
391
354
354
889
613
153
209
170
614
297
703
137
253
257
234
370
85
607
293
270
537
281
645
97
285
173
103
252
148
115
277
65
654
175
728
544
582
649
1034
108
349
680
541
204
722
521
326
602
548
415
402
48
352
191
273
443
185
463
301
307
274
322
47
635
76
135
383
602
479
225
432
513
227
261
883
272
194
293
371
736
283
276
526
469
770
339
532
613
265
466
536
232
507
301
183
124
933
404
622
408
95
436
669
711
525
690
228
570
1048
600
153
112
658
205
132
440
326
89
263
223
511
490
671
512
336
604
880
24
113
85
747
168
368
521
66
475
322
151
675
386
203
398
87
229
122
489
362
806
345
137
297
214
965
510
280
211
177
123
451
882
460
267
311
329
623
881
749
137
194
390
206
656
328
204
286
197
658
200
116
88
105
130
554
257
88
474
97
509
457
508
659
165
484
499
545
340
398
740
216
359
437
217
529
450
545
740
576
36
278
489
393
631
120
123
394
551
137
290
717
325
52
331
710
758
231
218
330
373
227
342
210
219
593
588
521
544
451
328
197
169
770
463
306
11
143
96
576
272
442
184
1037
159
449
315
131
362
93
644
342
184
184
147
438
524
349
310
742
295
808
417
182
965
450
273
484
648
212
224
546
930
177
271
287
236
547
542
215
26
733
88
445
398
74
666
195
461
730
519
509
443
169
501
189
172
206
717
482
83
390
435
191
176
356
400
314
269
642
171
575
79
297
1015
305
390
484
369
507
700
332
430
485
441
146
101
144
127
460
288
46
678
439
219
576
1004
299
319
736
545
764
230
143
523
771
370
336
586
389
180
299
213
477
219
533
290
129
710
205
79
405
235
328
434
345
526
402
435
579
224
261
170
281
428
610
353
256
705
689
387
375
230
464
751
382
146
369
52
88
588
649
297
283
159
574
167
170
326
420
516
167
629
381
370
380
126
206
758
130
348
135
155
209
491
327
467
116
122
493
401
370
542
187
170
38
385
478
180
312
332
258
550
399
308
649
554
743
385
221
230
107
596
160
282
396
251
190
69
436
222
379
405
386
319
187
231
331
401
429
178
149
322
662
102
140
243
758
353
400
294
154
535
448
268
22
126
185
653
159
387
366
528
550
297
266
65
805
415
190
317
122
137
330
270
176
335
589
154
320
701
671
307
54
369
124
258
113
463
186
614
579
208
326
161
478
184
508
469
226
507
291
144
301
593
426
752
502
376
163
191
450
436
362
350
396
609
543
656
538
903
297
354
399
155
394
38
481
394
94
504
711
738
565
224
450
300
303
230
746
596
235
195
421
523
448
499
368
26
130
272
553
214
326
261
574
506
419
284
96
519
598
268
249
611
477
325
518
537
196
66
276
260
487
474
664
538
502
92
293
653
285
283
356
148
594
378
553
329
381
651
119
177
308
505
264
369
283
152
150
91
317
299
140
235
124
562
270
573
301
272
265
722
377
638
446
385
186
528
346
263
432
588
535
277
553
289
149
237
245
514
189
296
379
365
372
799
458
449
305
508
509
509
535
591
467
737
342
494
474
635
326
332
152
341
245
164
255
678
118
227
239
472
583
146
218
184
511
129
278
262
294
296
516
267
204
471
79
231
439
751
284
471
279
298
437
79
544
269
531
333
259
228
256
228
527
424
519
44
311
584
761
104
799
182
237
642
478
209
520
583
149
342
231
633
493
119
687
541
724
375
265
250
321
686
409
639
211
66
513
535
410
310
777
469
636
323
350
273
156
206
610
1012
493
477
114
398
156
527
519
203
503
476
365
109
483
257
655
131
79
491
489
332
211
366
453
131
236
314
635
152
153
622
345
166
447
227
290
465
442
584
297
77
444
357
720
440
369
202
121
551
835
578
386
256
518
940
439
400
185
507
212
173
240
749
405
344
274
140
576
356
160
258
1047
191
344
146
387
359
147
252
494
743
661
254
476
84
135
282
519
701
235
298
337
321
322
568
583
548
392
728
590
134
342
521
308
308
454
142
857
509
716
457
47
559
295
859
866
97
424
300
346
673
601
303
231
475
540
295
414
703
911
543
865
258
472
514
635
247
184
601
416
399
305
174
288
444
276
523
160
79
580
405
106
585
205
137
390
418
122
65
509
146
306
36
283
196
113
538
323
874
211
232
466
278
306
378
540
517
489
260
213
393
448
632
411
61
622
965
453
624
306
118
601
658
639
99
110
437
489
170
164
576
911
216
245
127
263
599
662
367
386
515
446
311
413
299
274
914
425
401
567
45
204
288
346
468
628
201
323
428
43
495
356
741
111
478
247
717
86
899
310
74
611
577
718
730
88
19
420
546
120
511
243
280
378
263
193
520
76
142
445
34
325
758
448
358
107
305
686
334
406
380
97
137
323
621
156
738
83
482
323
168
521
83
780
137
685
809
490
144
182
477
645
744
463
727
371
753
278
18
672
495
478
797
471
197
448
489
344
345
255
466
401
562
493
357
137
337
614
509
559
143
329
267
351
138
474
139
502
43
211
80
902
239
414
55
155
177
130
477
479
389
119
225
375
350
59
331
313
276
938
625
214
447
532
215
256
260
197
275
227
441
215
142
818
487
167
180
233
209
192
264
302
315
526
85
339
147
706
477
301
323
305
286
172
856
359
442
897
359
396
265
308
437
196
625
92
477
173
573
407
286
346
1106
445
588
219
562
560
1165
704
274
693
26
477
602
478
545
133
373
136
461
310
211
157
185
713
106
728
337
529
45
278
986
738
343
480
281
176
217
241
549
348
314
555
181
179
530
430
86
277
504
137
556
386
372
272
362
1109
361
250
184
200
255
248
456
756
276
739
108
89
160
242
544
874
213
377
259
251
737
517
265
468
906
255
141
144
127
108
542
563
523
244
521
233
155
265
412
283
531
384
531
452
365
316
133
461
403
235
541
486
508
672
793
265
477
222
499
347
344
557
418
223
508
25
509
526
135
255
378
387
349
52
678
318
731
484
408
284
224
191
347
423
426
568
104
280
729
358
149
727
326
287
730
132
795
566
281
399
685
421
482
209
439
178
516
240
339
420
258
355
451
185
335
318
545
248
254
31
219
347
328
507
340
112
870
246
574
347
309
759
193
454
290
152
550
115
388
134
574
318
142
131
924
147
464
407
442
213
132
236
630
258
278
172
292
274
193
236
308
901
238
215
396
574
848
55
988
442
578
160
712
235
366
748
561
252
566
595
332
461
837
226
381
245
281
280
772
89
615
527
303
671
276
551
380
155
563
125
570
294
578
631
635
277
603
171
272
83
507
263
334
342
511
322
537
139
299
121
168
513
389
104
613
53
309
39
212
231
197
86
303
475
438
580
989
222
497
103
1120
323
396
99
808
194
82
199
273
521
241
836
207
944
378
71
279
386
410
160
347
268
250
378
734
140
179
303
347
549
468
396
186
308
365
486
95
463
593
543
117
417
539
687
577
115
158
701
386
155
225
619
474
414
225
59
452
886
31
93
265
419
358
584
353
762
469
144
175
239
175
671
925
632
108
299
168
155
533
348
244
366
174
318
605
456
232
445
280
207
324
407
339
306
463
803
269
281
233
127
241
377
394
530
452
756
343
593
874
631
592
101
773
509
861
263
157
284
735
391
494
487
498
525
629
384
263
257
159
329
123
134
161
205
487
353
141
368
422
514
225
124
811
966
443
590
173
831
569
439
517
90
127
328
488
211
191
200
255
212
286
220
552
706
578
523
283
307
224
702
638
1154
113
153
393
138
275
419
423
515
518
263
78
362
309
636
373
800
519
172
593
100
333
267
435
250
552
210
733
178
318
585
89
317
367
413
310
115
108
386
584
521
730
397
654
421
859
605
208
237
354
556
621
291
307
456
312
243
348
297
604
766
394
534
253
446
689
260
504
603
261
76
161
183
172
569
245
156
337
478
69
419
385
661
267
258
251
613
123
154
453
78
448
894
180
450
326
645
167
595
529
667
185
1014
115
137
285
438
373
533
226
822
228
668
417
232
387
749
247
640
579
413
368
813
661
603
892
511
594
172
487
360
252
35
599
200
320
337
105
394
528
349
593
500
383
792
523
101
482
196
84
160
266
277
413
140
108
884
200
537
456
465
129
242
664
533
341
789
253
256
209
455
250
554
630
226
209
286
288
175
119
448
419
234
369
276
519
504
425
436
348
205
454
749
268
501
244
174
337
200
582
245
233
286
469
267
568
399
422
69
308
492
293
162
368
313
173
336
725
239
396
657
438
468
535
622
314
329
280
605
92
309
486
671
517
368
501
391
636
468
204
386
204
455
357
383
401
375
309
273
303
406
553
359
231
98
399
273
172
481
96
284
226
386
549
277
478
130
478
374
445
691
318
171
132
681
251
115
360
489
674
194
454
207
433
301
691
712
779
210
433
263
544
287
472
186
276
492
772
471
684
623
769
438
327
333
563
36
424
193
250
157
238
351
256
577
215
660
244
817
21
231
223
396
99
141
379
270
311
417
591
592
333
699
333
334
662
71
250
458
251
208
568
494
398
593
625
155
100
601
223
235
343
318
471
171
90
87
257
511
405
422
89
475
338
456
49
318
159
748
546
215
188
384
518
425
556
471
310
353
228
290
133
404
304
733
248
312
254
391
193
345
281
654
301
597
442
299
669
381
29
305
299
253
194
495
463
424
336
339
133
299
126
191
562
609
650
126
216
162
342
256
190
127
291
279
135
541
156
80
53
238
326
522
443
1164
687
186
136
344
318
199
499
223
495
363
502
536
243
71
103
448
132
431
336
422
511
529
307
131
310
440
544
172
573
401
924
318
397
322
744
740
525
309
273
382
638
300
510
293
1143
218
265
596
754
345
563
356
543
50
750
748
460
761
276
462
232
697
251
328
636
447
671
519
228
247
230
215
214
181
374
180
721
672
465
59
91
175
786
674
245
390
330
262
228
977
164
297
49
694
553
427
747
365
368
390
567
201
533
225
447
271
104
42
668
427
314
797
168
197
450
33
204
161
541
125
163
110
755
391
246
356
468
372
383
691
484
484
567
523
167
199
132
346
282
756
354
594
635
112
298
322
192
449
322
190
416
366
317
555
342
465
448
380
347
362
95
94
170
751
77
344
489
357
157
439
60
147
413
42
638
243
784
309
295
205
423
536
304
334
170
777
288
497
66
387
359
184
363
149
523
256
414
211
368
307
358
196
541
366
846
134
102
467
300
146
362
409
378
273
406
107
593
233
381
313
604
279
208
874
348
550
1014
346
458
440
138
421
378
294
542
406
659
223
506
453
409
504
795
119
345
106
477
784
308
188
238
756
250
521
306
337
71
192
267
715
517
543
302
609
525
281
769
270
257
229
416
318
272
558
213
562
314
191
125
592
241
613
62
574
391
535
310
319
263
343
330
784
690
548
246
191
132
189
386
285
251
637
345
796
114
335
700
239
134
391
347
325
382
316
655
201
557
325
236
353
960
213
316
490
389
233
400
488
147
616
411
475
377
205
343
285
499
422
574
600
154
27
413
245
192
394
309
96
1042
334
235
918
539
187
265
119
783
127
498
427
459
519
540
616
500
764
772
608
101
575
289
408
89
628
527
412
506
120
333
266
525
520
293
510
343
497
570
640
266
600
553
716
292
287
297
228
331
165
527
400
159
548
423
34
271
611
758
393
175
384
503
310
598
542
523
174
128
252
133
526
806
42
454
440
84
634
255
422
863
699
480
108
234
581
712
266
314
79
231
556
516
103
237
219
571
320
336
196
293
185
601
214
794
437
261
725
271
632
123
122
396
648
305
253
63
335
93
472
347
300
965
131
239
197
1089
210
839
240
89
471
1018
342
337
86
69
173
244
598
536
325
619
386
600
363
328
678
251
139
509
497
516
590
160
23
161
308
252
681
72
280
144
412
181
719
564
79
228
138
501
338
481
694
522
461
377
423
362
149
363
468
261
383
241
450
230
989
292
200
524
601
488
349
178
451
308
251
424
161
288
673
322
342
266
520
713
485
260
255
7
256
475
607
106
168
151
779
69
514
467
916
561
252
378
241
455
319
214
574
220
455
459
670
212
175
378
273
450
296
549
332
326
500
242
200
189
311
397
209
538
673
79
492
137
44
248
191
220
456
274
93
187
516
106
536
337
283
604
403
273
264
322
692
763
214
522
281
550
287
213
719
438
394
781
263
138
432
135
419
39
520
51
259
105
448
673
344
284
303
341
318
522
623
230
492
129
843
371
197
248
710
185
189
426
162
498
136
234
694
103
477
278
493
468
468
494
355
163
290
241
665
181
369
630
551
503
703
434
321
229
394
523
430
156
302
90
531
308
428
389
336
688
335
536
866
270
209
333
78
59
346
725
770
129
411
650
461
113
163
257
303
603
484
220
526
115
349
166
200
353
455
278
429
247
272
96
478
598
73
318
709
512
224
156
24
285
472
188
38
690
18
204
213
349
361
435
486
369
539
377
391
45
49
321
170
489
218
45
587
654
176
259
186
169
139
135
130
558
592
704
313
290
382
300
298
825
259
91
506
421
248
274
555
552
399
180
326
258
310
372
389
359
505
644
1122
105
310
268
125
562
421
337
332
123
550
300
314
453
72
195
866
399
406
459
165
232
637
449
295
588
373
109
545
460
363
361
329
1010
681
376
433
507
713
191
445
363
299
469
164
51
317
416
143
271
609
355
801
538
180
583
270
218
275
553
297
459
170
489
205
432
480
266
377
96
628
442
628
65
698
148
391
184
78
393
328
203
500
644
213
521
363
241
308
301
182
287
179
156
81
188
394
463
427
535
234
404
326
452
506
205
165
241
111
462
397
405
115
638
139
466
130
325
320
272
147
146
182
229
449
122
274
233
78
99
375
422
261
357
485
169
688
340
281
396
267
319
707
655
602
587
372
188
322
280
308
538
455
276
163
343
278
587
176
555
96
350
315
241
31
682
289
407
373
174
411
206
181
341
270
231
272
216
318
651
391
679
403
191
219
294
348
166
591
407
448
495
281
288
280
220
452
569
347
23
545
150
423
458
233
478
313
354
524
139
944
400
759
344
423
150
445
748
226
348
348
354
555
410
197
885
181
111
355
377
405
68
175
342
429
752
252
96
392
234
830
607
318
274
134
587
368
194
396
173
456
507
620
693
437
778
483
260
627
214
79
261
252
119
308
194
364
397
311
492
89
419
284
317
601
337
548
147
453
260
618
239
168
205
192
721
337
623
410
536
404
223
448
544
188
192
302
195
514
270
389
93
251
195
344
623
367
542
623
134
307
463
502
704
309
509
229
219
218
698
448
402
189
151
704
458
375
193
415
414
499
244
156
332
205
445
276
485
369
458
762
205
673
72
618
560
498
133
265
360
168
548
652
773
538
281
135
386
652
383
728
249
839
173
208
467
552
503
938
558
424
351
635
961
794
339
78
326
528
300
137
130
511
561
302
446
221
74
166
230
165
750
97
295
132
138
299
469
451
278
493
263
704
235
175
253
205
398
112
288
349
205
185
188
415
130
584
144
122
577
80
100
343
224
742
362
158
126
210
659
95
293
209
87
444
189
383
468
474
367
245
510
189
494
732
506
509
493
293
722
440
288
146
573
449
369
464
465
336
672
260
579
474
197
490
304
409
285
200
452
252
1122
305
355
644
507
208
184
316
40
314
236
368
383
446
222
544
752
274
459
109
370
287
490
339
389
461
292
304
273
324
399
299
272
287
645
713
543
471
304
225
401
133
70
556
199
69
302
233
194
833
172
68
357
172
939
689
605
89
459
460
326
423
436
154
182
231
352
682
310
264
138
288
391
124
281
275
140
286
812
324
531
708
321
542
296
173
443
241
110
109
275
69
266
126
100
619
452
160
429
525
458
444
694
261
381
383
678
437
78
231
121
539
623
176
542
293
149
91
265
555
579
536
448
214
545
384
241
938
184
909
37
477
500
651
137
655
190
241
216
754
196
489
153
325
542
576
626
74
458
405
186
248
204
250
410
206
406
364
92
597
75
503
770
403
796
910
377
217
27
206
686
582
427
584
371
610
636
455
351
812
255
499
300
402
512
646
94
441
169
378
191
153
671
324
208
210
288
388
534
120
449
144
309
515
470
464
348
474
143
474
542
355
610
304
514
589
436
558
458
413
622
318
762
497
86
52
533
478
265
110
95
531
142
202
292
303
140
151
650
221
20
266
224
128
97
302
407
67
602
297
405
195
505
458
387
634
90
316
39
316
216
411
191
86
75
655
124
151
512
310
110
478
455
895
330
133
150
821
503
192
269
34
620
238
283
476
288
589
61
518
284
343
347
162
346
128
333
116
733
50
313
947
162
104
495
466
285
225
490
796
219
280
461
119
687
300
197
170
495
184
519
594
259
60
353
484
471
913
55
56
411
476
317
728
205
316
415
170
411
654
200
575
1024
161
261
570
392
208
249
33
191
265
350
526
299
320
266
451
219
672
687
461
503
319
426
685
365
608
380
367
618
247
178
343
664
386
83
397
210
286
67
511
404
637
118
144
220
721
425
238
343
561
587
280
460
224
396
308
177
494
344
496
342
385
225
448
189
182
486
332
312
701
367
262
416
53
675
471
182
254
503
280
312
167
664
350
290
286
258
192
402
517
296
499
377
207
154
437
702
515
528
558
344
910
198
428
80
571
192
119
431
295
628
590
491
378
596
282
585
261
765
503
420
348
249
320
434
571
282
199
661
368
357
903
702
216
394
606
151
591
590
698
382
261
300
639
434
100
385
389
362
214
541
700
140
323
379
655
219
254
81
168
648
340
523
240
156
626
43
129
278
308
23
380
125
523
442
484
295
542
449
343
651
770
333
595
362
693
371
285
187
516
455
199
796
527
153
701
263
192
448
807
347
494
487
235
98
431
193
417
231
471
717
244
918
769
544
1067
430
621
790
424
561
501
676
167
721
130
283
144
284
87
320
222
411
253
181
167
136
304
271
118
670
327
406
710
377
234
245
600
253
170
347
454
885
191
487
216
501
606
475
201
283
537
380
162
574
274
395
100
655
476
681
144
140
431
189
288
260
370
478
454
927
567
419
300
402
284
479
114
269
531
408
729
690
172
251
572
527
451
442
790
383
407
120
284
412
378
867
132
646
563
418
636
324
207
518
250
242
691
239
193
457
249
300
241
380
85
190
267
546
184
537
389
329
500
436
595
404
257
129
387
329
247
387
161
583
480
337
958
617
187
583
511
394
639
644
188
619
298
863
245
516
169
60
174
519
485
327
260
457
322
432
218
241
569
21
56
479
271
401
260
334
235
750
421
87
264
517
282
201
194
415
143
119
498
318
51
372
312
406
310
404
277
760
220
808
471
300
344
581
632
131
219
676
91
306
212
745
384
311
164
349
466
383
685
338
417
337
296
532
169
327
622
397
535
636
156
265
325
300
467
270
343
357
515
182
394
82
641
139
461
329
267
457
268
327
179
629
403
338
486
480
513
592
1065
483
595
100
773
208
59
735
125
463
635
1049
148
185
334
154
229
180
507
29
73
497
342
161
689
156
168
661
349
406
403
207
206
133
545
128
549
294
630
243
503
206
147
186
89
464
36
238
302
97
371
99
270
436
518
412
277
448
516
833
654
554
830
115
247
122
198
277
423
415
535
321
48
473
710
295
146
154
435
513
308
260
621
773
882
128
687
227
118
692
394
549
201
389
197
480
106
600
568
83
699
318
147
306
305
600
158
432
643
502
272
163
543
683
287
402
126
198
127
342
452
420
635
171
351
445
50
586
363
229
255
210
357
195
316
129
289
445
211
343
67
400
350
524
110
21
309
581
271
416
394
470
245
407
145
276
198
141
771
342
24
260
100
235
636
743
373
505
128
396
212
222
321
452
165
264
686
487
267
245
317
248
302
417
328
280
440
766
272
416
105
553
378
316
254
604
782
407
381
271
215
388
531
421
812
257
565
311
144
229
134
133
824
234
224
581
477
141
59
611
464
386
360
587
162
599
452
288
59
127
238
184
160
324
317
528
145
123
465
133
176
637
549
213
452
138
492
431
167
129
366
194
707
295
231
705
226
66
43
694
97
591
443
468
73
331
394
324
278
40
614
322
520
314
93
317
196
615
1103
271
165
682
184
608
231
218
374
643
209
616
1025
306
186
490
362
519
531
392
405
273
283
635
246
598
532
229
231
171
485
217
403
119
88
225
463
306
297
529
279
328
291
629
354
417
395
449
373
225
50
427
364
276
310
816
314
403
338
380
348
284
479
492
183
210
357
311
546
448
759
422
617
308
502
316
407
380
655
376
555
135
231
478
259
200
92
597
445
578
254
218
346
321
790
234
69
224
700
433
543
271
303
398
345
134
403
817
87
845
562
354
476
700
124
203
529
459
501
514
241
350
361
597
368
211
928
458
240
538
285
309
253
117
169
318
783
339
191
430
190
676
313
478
535
96
241
365
443
584
228
113
205
228
209
252
573
413
130
206
638
338
521
545
299
544
619
333
734
361
582
333
496
218
265
449
117
401
483
147
345
119
102
472
436
120
501
397
560
18
418
354
554
168
575
793
131
381
531
461
313
562
478
515
917
312
626
358
336
455
255
932
468
776
470
281
824
109
623
138
619
127
427
528
609
27
87
751
229
303
639
544
365
191
534
129
536
177
410
72
266
622
204
355
282
274
751
98
425
512
421
134
317
546
570
704
22
428
522
691
405
117
131
365
514
336
490
487
503
245
746
369
353
290
244
87
414
453
604
134
252
428
1092
698
621
214
755
367
523
317
357
298
451
198
366
281
183
428
306
532
421
324
387
229
432
114
211
432
79
741
481
699
348
400
801
557
418
139
221
183
230
403
508
989
351
655
287
633
292
224
325
77
426
333
272
565
346
199
283
314
34
192
337
621
615
59
479
230
469
414
540
78
576
682
380
205
1122
352
229
202
337
145
600
156
624
454
507
314
560
245
726
379
446
509
42
386
195
393
373
423
228
206
353
619
601
274
193
666
144
213
403
292
416
555
550
312
157
488
582
233
133
730
555
309
328
209
105
752
708
566
867
425
383
154
321
647
385
692
170
316
429
226
457
287
331
279
135
599
429
231
586
342
404
421
141
443
502
114
495
571
326
59
319
573
201
504
180
218
349
334
216
135
212
387
709
155
555
8
619
300
361
289
132
239
329
348
301
501
797
113
797
519
588
454
282
229
342
188
810
244
465
656
233
257
233
368
347
513
440
219
323
137
596
440
466
241
150
328
157
317
275
276
466
67
399
66
351
24
48
438
689
55
692
577
300
569
321
615
452
406
522
645
370
513
247
397
167
388
361
244
434
457
895
448
466
149
383
400
288
264
465
705
278
360
384
347
307
244
75
560
321
511
853
217
241
93
244
281
418
343
41
113
127
247
348
184
812
910
831
200
412
409
164
296
202
362
508
682
43
346
264
601
86
829
674
455
261
251
668
69
619
398
207
556
312
284
937
130
228
316
513
571
330
118
236
445
582
125
131
594
283
401
193
463
577
382
275
524
324
545
309
246
246
208
978
451
127
482
28
251
326
294
234
487
561
61
750
379
358
436
323
277
241
91
294
524
335
262
314
417
274
499
423
85
290
130
228
363
52
259
464
406
268
488
474
443
353
355
194
399
431
406
355
819
442
207
426
416
650
830
1019
291
448
141
393
268
346
420
481
427
592
234
416
13
531
438
280
215
112
694
83
779
448
507
360
488
314
287
278
740
422
537
369
319
284
266
227
587
206
9
164
334
928
117
477
606
404
564
493
283
68
856
606
170
192
110
663
63
94
235
557
687
524
319
474
103
443
242
87
251
288
522
278
467
432
420
156
571
455
189
588
364
596
363
749
280
100
152
553
96
74
353
397
96
896
287
336
213
443
241
502
260
287
326
157
347
411
569
628
368
444
688
310
327
284
446
308
1021
107
205
326
688
329
300
209
245
292
345
621
218
606
200
45
496
88
689
512
258
430
162
446
822
388
138
535
120
215
230
544
449
562
402
479
158
455
139
433
219
185
388
134
634
750
375
470
305
593
347
269
199
162
278
813
354
364
511
115
1005
217
700
478
671
466
275
198
104
605
396
365
605
240
367
337
120
748
809
322
229
544
365
629
234
196
589
501
198
225
468
64
530
247
170
227
79
592
575
518
152
408
140
406
386
612
197
198
307
334
116
322
431
223
316
199
252
442
204
435
229
457
405
385
95
61
713
422
171
455
718
136
529
279
470
194
552
282
504
162
681
406
508
278
369
211
208
382
439
163
480
75
446
776
674
88
1113
414
512
515
688
319
72
412
414
267
201
408
642
223
521
282
574
65
462
651
215
253
101
164
172
219
97
338
494
529
866
268
488
446
251
227
198
466
442
582
652
586
465
307
147
361
414
290
435
539
468
450
368
351
97
551
29
407
467
91
246
330
604
337
308
495
325
750
465
585
190
276
185
395
376
724
276
329
251
311
596
139
336
601
247
415
349
597
246
347
222
1092
367
497
226
111
147
281
217
439
484
311
522
351
176
92
661
444
571
173
330
539
412
129
76
204
609
437
425
805
378
543
200
136
584
574
326
362
396
344
506
223
276
568
168
182
214
441
677
653
153
246
71
443
254
413
589
248
182
397
572
277
468
26
196
162
51
438
327
263
443
306
467
145
292
247
43
579
345
853
630
680
548
417
195
767
757
246
459
430
774
175
54
158
264
410
274
484
205
568
177
372
135
660
621
126
24
768
250
126
330
113
559
425
272
1015
559
204
265
600
188
278
699
147
264
484
794
546
541
160
312
654
145
192
246
224
260
189
543
187
759
707
189
154
537
382
622
211
311
497
617
700
568
97
335
369
597
24
788
549
541
480
364
360
486
399
638
461
212
168
394
589
152
429
268
154
377
35
661
499
405
588
436
520
603
95
169
623
602
402
262
42
665
691
286
318
413
596
394
328
150
185
777
288
793
167
605
1093
402
584
383
480
462
630
353
562
149
339
205
349
491
747
519
504
362
869
547
260
441
116
303
423
316
513
393
399
558
141
185
281
618
494
456
574
407
371
288
211
205
183
466
273
397
304
231
402
309
448
160
150
456
236
743
485
369
219
366
266
619
260
517
374
216
313
501
246
285
722
204
182
317
153
308
240
571
381
134
707
252
484
299
575
496
333
120
467
288
38
584
706
270
223
712
375
353
478
280
459
987
304
323
228
867
220
53
260
248
837
463
298
249
290
235
539
430
238
402
107
278
1164
539
254
405
612
252
210
24
332
302
512
142
268
815
158
313
163
850
269
99
827
640
423
386
450
486
295
261
115
205
160
380
386
159
685
802
621
809
334
121
128
65
516
367
596
1049
410
552
390
450
385
875
663
461
315
161
148
417
351
122
449
297
204
711
92
137
201
624
150
610
204
788
419
205
140
442
483
740
626
292
383
131
299
460
302
222
196
602
229
256
246
512
195
251
97
326
536
464
287
109
361
599
404
405
78
455
670
549
264
553
353
528
200
639
480
431
68
153
383
473
178
418
171
538
215
424
586
118
143
277
154
383
128
810
328
477
133
426
54
330
854
194
416
192
571
575
86
148
222
620
553
394
375
447
686
294
471
189
310
245
401
72
70
1002
412
435
589
310
74
240
286
245
196
328
209
253
523
3
289
265
806
253
375
750
809
777
370
318
486
725
367
116
202
563
259
332
381
659
746
398
516
715
390
288
339
732
73
549
554
310
323
780
435
330
228
332
552
450
366
550
944
613
394
589
101
331
324
107
180
228
389
131
297
414
395
240
129
635
177
437
98
353
357
96
474
688
489
269
331
628
145
199
374
872
408
536
582
655
257
213
304
254
170
594
662
645
449
383
32
332
199
1003
219
359
616
563
337
210
195
773
267
614
338
454
641
516
1032
1020
404
939
419
248
416
355
455
144
733
311
663
244
621
154
198
305
192
216
197
227
496
641
738
282
685
407
136
385
344
342
349
185
60
293
185
255
122
337
318
492
307
693
370
418
122
210
621
553
388
207
302
405
46
436
207
74
202
518
466
234
452
149
352
477
803
579
507
403
672
734
447
540
554
481
338
425
383
510
173
624
423
499
415
217
233
437
602
297
545
306
151
307
784
165
464
193
373
241
226
412
368
650
161
440
728
319
252
506
96
490
464
572
531
109
573
621
251
208
296
312
463
416
411
318
970
590
191
117
658
796
100
223
354
636
178
706
428
285
498
357
106
759
152
397
245
704
310
261
525
449
367
243
181
417
708
344
258
217
475
180
378
302
213
756
663
154
203
67
391
142
132
509
380
457
362
696
702
192
474
505
335
422
660
225
479
548
276
384
403
489
441
657
711
614
129
270
327
163
190
319
266
222
45
943
421
460
340
570
284
188
324
382
539
146
606
605
606
348
144
583
330
137
421
412
440
711
124
692
1117
519
553
580
155
169
382
223
144
247
168
667
69
447
295
667
277
307
159
236
574
313
144
254
340
293
131
191
293
269
598
758
121
511
243
581
121
515
639
368
390
583
496
209
361
49
669
199
249
153
398
341
246
649
301
639
356
244
589
388
581
571
585
187
220
124
207
405
162
417
840
429
94
360
637
559
571
601
152
359
514
742
389
451
159
256
133
554
709
700
403
310
369
492
636
280
901
235
272
195
366
435
495
356
92
579
546
728
500
325
193
279
490
260
364
530
290
445
381
404
47
157
497
125
310
331
698
281
646
671
166
394
271
147
421
147
85
238
226
164
583
278
449
339
543
66
247
160
489
202
650
432
266
633
628
209
969
354
406
600
33
365
415
244
383
77
520
104
164
598
383
643
180
451
396
374
277
475
195
392
418
586
99
405
618
151
649
708
464
296
337
293
166
734
548
250
280
232
317
60
396
263
514
1036
187
1074
190
295
278
544
364
349
269
532
630
603
311
99
195
249
221
577
653
348
26
282
269
430
204
152
543
283
551
60
541
478
118
315
312
308
306
545
426
215
125
128
570
145
338
616
768
706
263
282
472
465
172
311
625
536
431
136
609
532
861
271
489
295
272
327
385
181
290
160
233
156
307
158
159
95
644
607
26
231
127
138
324
262
460
740
524
255
149
193
501
134
267
150
710
250
158
525
449
874
243
353
147
213
333
190
540
532
538
278
377
139
240
192
209
138
468
241
341
367
153
777
291
481
117
396
668
414
347
405
382
330
456
317
486
646
411
172
188
602
546
293
259
412
196
244
309
62
610
590
323
140
119
332
327
361
571
240
620
350
514
513
780
389
63
280
458
311
497
287
325
188
750
459
349
474
199
167
527
71
321
396
148
282
260
197
405
393
423
119
235
137
502
105
268
589
93
581
130
747
335
323
425
81
238
124
583
318
131
494
125
236
437
306
521
665
637
499
515
133
349
26
285
442
257
983
561
120
376
517
263
17
314
307
874
167
490
333
529
34
424
195
602
361
333
578
345
148
565
723
181
64
176
243
533
117
174
152
392
397
91
188
153
341
474
274
449
370
128
455
235
135
159
216
263
349
476
574
227
771
502
299
84
507
393
110
437
485
523
287
251
233
437
299
311
35
675
400
260
396
668
663
259
220
426
285
109
640
133
649
797
478
691
679
97
398
413
101
85
202
46
440
685
180
233
46
762
268
597
84
713
409
126
435
399
347
254
426
325
476
235
482
739
10
513
480
214
338
671
52
371
206
182
227
273
456
224
604
297
702
475
197
217
183
469
83
563
654
168
587
87
308
692
327
130
158
205
402
351
458
494
217
396
122
285
349
351
498
658
490
539
454
291
377
223
218
338
258
267
182
448
223
721
600
109
170
256
338
581
184
592
621
312
307
284
196
154
543
391
554
297
228
502
452
170
304
310
380
399
559
263
510
375
262
428
472
196
1165
255
49
292
161
252
120
531
504
274
563
310
284
858
549
234
580
117
292
390
679
274
575
549
138
654
29
371
384
418
441
139
147
220
767
144
265
372
669
235
134
813
462
69
373
305
783
285
212
404
657
178
608
205
646
534
779
505
641
422
378
780
292
97
347
627
254
367
561
764
168
372
157
397
148
447
106
528
488
481
231
332
177
183
562
306
473
449
281
341
357
260
437
272
378
481
536
168
360
88
247
353
193
185
650
333
249
698
518
99
744
296
229
142
475
158
288
339
643
543
168
385
502
87
240
528
743
288
516
131
520
268
266
530
493
1036
998
147
137
124
407
193
908
193
453
310
507
272
629
498
39
490
173
331
516
563
686
599
341
234
862
116
516
122
45
51
81
304
386
493
489
80
636
518
308
311
638
381
592
166
513
504
517
282
283
179
116
602
476
155
113
643
243
1074
486
242
560
500
204
361
196
332
390
204
10
465
273
514
399
634
561
669
346
315
107
317
482
482
677
410
401
206
444
660
939
136
505
886
270
153
87
435
362
131
684
965
251
491
234
1107
516
227
252
616
572
425
161
122
502
116
783
318
552
661
619
187
552
802
252
143
174
98
96
184
732
449
579
392
121
491
260
312
100
329
568
345
344
527
243
119
816
280
214
859
890
230
261
749
534
366
234
628
121
317
763
263
558
466
171
1015
593
244
306
464
521
169
655
804
352
603
454
214
360
408
310
137
460
515
831
163
177
626
366
417
298
765
138
436
427
430
316
490
625
143
412
325
116
488
307
324
76
495
390
450
353
956
1091
597
366
395
426
768
1113
662
736
141
503
269
178
420
524
75
227
486
503
567
337
483
509
441
311
128
504
17
635
293
153
257
339
275
152
570
346
551
536
554
205
605
225
187
167
486
140
350
402
269
721
397
863
793
498
342
305
391
49
508
736
304
57
467
484
197
408
474
122
159
118
728
134
171
143
575
168
286
509
132
497
364
277
208
59
745
1124
677
322
248
374
630
198
416
464
128
76
555
334
437
558
450
268
776
324
370
654
505
242
190
551
131
514
383
575
443
488
770
485
167
344
231
98
578
614
579
290
488
337
415
34
217
448
545
283
201
124
349
205
168
382
235
579
225
388
403
103
107
706
206
237
126
711
250
228
226
425
364
46
364
144
285
519
320
470
540
278
424
221
246
377
688
443
510
354
375
55
457
542
467
218
128
95
340
646
400
117
104
452
646
74
88
545
741
361
298
85
200
528
284
161
196
303
473
506
303
508
129
243
309
230
563
382
409
357
485
345
770
506
289
666
480
319
119
327
427
830
531
231
528
292
104
463
128
151
161
231
579
524
160
13
495
383
376
229
301
178
251
705
635
536
689
467
275
231
274
398
445
192
162
431
129
493
489
352
287
516
308
165
70
437
801
539
269
343
362
92
181
99
316
969
734
255
210
689
240
447
399
180
736
532
199
452
494
383
396
801
338
84
436
333
386
677
487
270
541
482
128
522
526
260
830
563
442
101
227
495
604
180
748
230
650
523
444
124
407
446
455
116
401
395
656
226
383
390
239
231
22
1102
605
727
368
371
620
437
324
642
797
643
93
1147
183
163
305
161
405
179
344
720
489
387
168
262
482
271
420
543
383
345
103
124
1150
185
592
407
209
650
594
486
48
422
123
410
443
203
365
442
184
407
340
198
398
261
79
522
437
395
251
97
723
335
525
259
485
513
198
141
142
352
139
176
287
145
590
439
218
382
745
350
539
434
691
555
129
379
574
313
395
313
283
432
277
136
644
249
243
253
280
393
190
294
394
485
309
530
79
639
377
466
328
125
570
529
408
325
231
96
166
271
53
768
509
902
1036
450
501
724
153
125
147
710
217
343
955
509
688
471
391
344
337
470
223
429
622
262
182
228
248
54
634
862
252
468
861
207
486
381
532
601
361
111
114
143
408
202
692
331
272
296
512
319
654
259
311
770
353
243
333
272
304
321
473
671
82
330
355
317
188
319
258
516
389
253
425
123
25
384
379
548
481
427
450
92
509
497
355
163
536
256
328
196
759
419
308
449
96
390
328
444
179
265
312
556
395
224
668
235
537
168
331
784
508
206
96
715
183
169
422
175
275
47
398
135
418
260
380
438
547
181
463
444
110
234
287
768
468
365
236
483
188
306
115
409
340
579
579
50
43
293
244
757
182
193
206
65
534
724
671
670
345
519
352
570
698
517
528
275
254
156
95
467
385
698
377
107
156
546
374
325
435
486
422
125
271
316
340
242
435
705
547
136
175
573
672
377
308
160
421
259
267
480
253
277
48
356
281
202
269
335
80
41
341
439
810
703
377
761
381
196
419
345
412
426
760
295
654
244
900
224
495
373
172
219
527
369
450
551
343
203
345
532
639
329
956
171
461
251
370
499
651
231
212
383
369
114
388
404
584
131
120
286
904
101
178
328
427
195
677
476
184
404
97
435
635
273
613
474
649
94
492
375
158
520
320
259
604
62
416
742
238
399
122
566
221
373
534
459
519
391
899
344
344
345
431
210
123
430
178
53
358
445
216
500
271
521
295
555
97
649
696
70
355
253
387
66
678
461
225
137
186
455
646
337
811
822
483
135
455
228
82
656
290
261
329
502
136
433
500
199
286
209
590
369
328
228
730
271
554
252
525
526
307
153
141
149
858
304
1097
443
235
462
646
585
199
264
228
631
175
696
705
244
332
756
350
30
574
135
321
405
296
218
538
547
45
224
313
105
367
543
329
546
554
219
761
945
344
257
555
266
394
517
553
347
219
146
272
381
353
97
432
343
158
280
200
731
152
216
329
487
306
299
633
405
129
110
641
355
312
649
736
482
572
414
74
335
381
127
46
478
272
605
496
80
792
740
321
233
593
316
13
322
369
420
273
164
908
555
196
798
340
128
90
519
184
567
814
36
178
657
231
285
368
237
656
586
262
425
418
409
193
402
510
370
305
517
27
135
437
331
356
822
344
612
507
217
325
231
433
434
488
396
616
720
142
197
110
130
104
1017
316
102
248
613
631
785
437
245
598
251
440
189
242
154
201
534
207
364
233
525
592
334
326
493
45
85
288
391
309
114
372
426
398
640
333
441
366
449
594
71
458
311
487
127
154
359
378
679
415
285
468
194
221
112
191
538
281
574
192
571
335
430
183
377
652
143
533
334
684
266
338
771
188
385
135
438
730
170
413
694
360
542
294
314
498
192
639
58
204
159
659
322
461
214
319
455
141
210
336
548
246
374
135
437
642
846
470
231
379
314
395
298
512
342
306
525
136
191
643
252
215
354
428
314
178
428
154
861
107
702
141
356
573
1089
683
222
766
180
961
773
180
209
488
377
103
612
642
396
662
265
132
144
541
180
199
609
460
744
401
526
559
168
524
170
590
236
411
602
607
412
907
479
701
75
375
290
530
301
559
397
314
613
312
74
697
350
513
249
333
145
87
489
248
621
332
245
518
368
795
761
432
692
159
587
482
778
672
30
167
388
509
157
728
104
347
261
197
64
156
156
526
95
520
497
324
292
588
74
258
220
687
604
73
372
411
392
169
187
883
426
250
427
333
197
211
551
297
297
361
518
343
225
285
145
574
566
382
368
481
60
484
309
233
269
349
274
329
88
215
406
145
84
195
798
148
650
628
168
764
685
51
227
456
385
462
392
515
427
108
592
108
638
229
283
206
160
254
407
253
341
758
230
566
447
271
537
355
155
415
268
519
190
333
768
703
604
362
516
424
368
297
423
140
604
894
254
392
229
231
451
398
250
533
270
203
157
170
173
216
464
816
486
208
362
275
227
762
97
94
297
1019
358
368
313
241
256
677
728
262
77
194
384
381
348
609
260
167
167
247
717
310
555
511
429
186
411
349
590
333
219
167
557
568
395
170
244
256
759
197
84
653
323
296
181
119
651
322
166
224
359
710
396
351
304
230
140
427
230
365
233
257
734
297
464
517
302
201
285
223
148
592
644
119
501
522
503
172
193
500
204
399
21
234
1003
242
271
391
136
257
36
362
272
56
203
471
126
148
236
498
122
352
185
57
256
303
250
440
572
778
433
915
589
304
507
249
586
447
75
83
664
323
1111
151
348
528
446
445
507
337
85
162
220
151
279
601
765
622
618
324
85
849
519
486
594
250
422
430
744
176
221
425
684
87
880
372
509
480
365
805
562
67
257
173
15
119
534
259
164
131
860
570
316
670
504
167
645
35
824
272
798
240
324
340
358
507
217
402
537
165
284
570
473
290
43
166
150
740
242
650
111
278
428
186
240
823
243
331
575
373
310
398
547
118
444
335
410
730
121
98
604
462
619
678
425
385
507
423
212
531
305
195
186
206
686
164
177
860
43
385
274
261
227
290
254
318
284
367
459
61
469
439
210
220
212
417
160
912
431
624
791
193
717
639
33
584
307
513
136
658
96
187
230
176
597
366
62
206
756
613
593
343
689
316
241
173
321
257
205
309
354
287
341
161
358
599
88
472
165
423
183
668
518
153
595
100
294
441
505
280
173
100
782
108
336
901
286
218
231
725
742
387
230
447
630
197
255
684
400
141
353
540
244
418
416
586
378
457
441
358
350
92
198
352
601
289
409
356
295
431
243
581
543
164
434
256
630
465
308
421
286
269
157
200
70
874
337
665
147
480
413
404
442
299
507
86
366
321
655
239
282
827
486
156
544
139
745
275
129
519
291
195
175
640
584
763
250
704
105
138
631
399
712
345
134
432
487
227
480
63
582
213
478
242
461
775
164
164
211
437
268
268
607
444
285
207
336
315
232
762
420
756
244
897
510
602
137
431
172
552
209
300
306
206
115
600
549
295
212
41
475
231
330
214
261
533
341
316
169
802
319
126
219
194
341
265
238
392
306
622
173
399
443
285
198
226
561
291
470
247
382
122
585
360
608
363
524
444
407
346
872
242
774
135
403
554
263
551
314
168
171
752
266
206
406
625
125
131
656
160
440
427
510
295
261
460
661
364
427
35
603
535
381
763
212
279
230
366
299
31
542
568
297
190
696
497
303
98
543
442
73
789
35
732
475
492
167
322
530
406
147
395
656
558
206
743
633
565
435
44
29
461
310
293
158
264
278
422
540
223
302
759
517
433
149
1002
355
389
247
521
312
251
312
350
649
557
254
386
98
122
347
497
514
291
486
702
536
300
420
363
287
253
279
286
342
441
557
484
609
334
394
485
32
224
186
480
545
945
287
284
339
636
704
364
480
535
714
589
352
172
358
161
285
174
214
85
285
295
155
549
373
728
109
476
432
309
278
267
392
606
426
321
581
133
295
394
690
902
514
211
640
606
223
320
320
402
450
393
234
600
549
243
119
287
147
423
536
361
466
403
377
251
213
171
306
313
330
422
444
193
80
433
273
562
170
496
358
482
148
239
427
288
304
552
191
306
155
508
232
684
331
935
433
469
87
792
202
626
521
183
314
350
83
257
308
296
408
652
172
569
124
394
694
641
302
345
288
534
490
655
347
588
391
437
318
409
200
132
320
577
233
697
193
544
54
993
384
555
463
166
370
216
198
694
434
175
229
812
374
571
610
429
453
656
329
216
146
412
69
475
477
356
493
203
293
360
586
190
273
290
152
154
235
306
97
693
255
277
625
544
584
338
35
419
498
323
396
475
214
519
458
166
371
245
253
905
336
272
406
799
347
163
154
566
269
442
308
290
468
239
167
527
918
399
407
614
411
360
273
223
259
557
320
437
528
166
523
119
287
259
753
510
154
438
78
316
338
335
280
185
64
87
345
290
206
263
210
514
140
748
476
547
615
637
287
535
436
484
509
170
202
576
95
744
32
503
295
526
613
284
368
182
299
226
674
427
81
286
316
98
446
503
192
280
233
293
606
145
232
327
221
587
214
326
183
312
136
9
448
241
570
270
314
207
213
422
593
640
489
187
186
258
313
381
398
124
408
544
410
584
130
323
212
348
245
521
397
88
294
158
754
287
397
337
482
239
693
621
746
85
434
740
113
711
243
153
319
695
180
358
547
235
315
858
317
346
459
695
302
407
160
595
255
693
110
208
561
601
162
459
586
96
545
146
479
725
383
172
149
562
421
862
523
585
214
217
330
702
275
309
320
259
316
76
536
433
219
367
486
537
471
743
643
763
274
615
286
290
94
51
851
304
307
453
232
314
428
173
257
458
632
448
265
359
32
403
392
362
344
519
775
397
470
238
626
87
310
359
401
681
531
276
275
447
416
115
156
524
458
615
282
286
326
303
749
408
444
649
563
450
412
278
657
437
326
92
594
89
308
754
299
207
180
585
300
384
412
205
695
550
599
269
259
255
554
126
143
389
933
318
586
249
111
127
568
370
679
444
580
727
552
288
531
164
642
554
31
411
634
31
305
654
125
531
214
135
542
378
255
849
100
442
143
385
706
182
289
387
292
896
677
563
305
373
169
230
761
481
229
330
177
321
353
61
454
296
307
275
229
190
285
178
390
73
389
933
331
425
455
431
241
253
446
945
448
365
480
184
415
374
532
94
755
363
418
54
946
24
272
162
459
555
396
650
409
703
216
353
335
396
243
233
163
560
616
476
244
612
183
412
622
621
530
209
489
320
408
563
431
289
520
677
75
182
563
576
97
396
495
261
575
420
319
428
542
252
810
212
306
565
537
64
386
184
371
392
507
628
489
504
597
354
723
201
136
281
556
303
155
310
303
271
436
214
470
568
377
668
523
391
223
305
427
251
211
220
196
748
286
603
475
931
329
572
417
338
320
208
181
224
755
412
687
352
590
419
491
125
480
653
187
377
698
331
212
721
173
242
378
673
341
446
379
796
178
412
314
432
237
97
367
238
332
594
312
892
368
293
152
125
352
555
399
714
781
247
158
637
120
426
139
205
520
672
222
26
231
296
295
828
467
922
142
120
164
307
459
161
246
201
645
102
164
77
679
230
128
501
308
315
155
44
219
510
527
73
185
328
544
387
523
382
40
279
58
407
280
197
495
578
176
343
337
386
325
47
321
573
367
463
248
34
645
339
231
420
309
369
560
242
271
429
471
422
198
350
277
370
381
194
219
197
376
641
491
482
138
388
812
271
371
471
349
526
369
916
374
716
396
343
846
424
216
481
400
437
351
686
239
320
576
537
266
200
156
306
268
454
373
565
263
409
225
365
281
436
812
784
205
291
406
542
324
292
541
289
478
501
319
336
255
256
432
351
186
88
290
376
268
370
767
271
648
137
188
195
406
589
225
429
454
620
1062
649
246
96
270
757
109
475
570
105
648
278
465
374
290
458
369
415
475
514
553
516
559
218
227
279
156
314
255
276
398
216
86
351
414
381
497
1048
941
782
381
163
428
64
409
707
61
361
337
451
234
339
506
454
435
575
268
352
591
514
305
309
545
369
229
535
154
388
372
320
757
462
127
964
215
474
433
228
55
166
325
496
65
75
501
166
399
395
788
590
322
168
611
218
345
179
521
279
199
300
375
615
175
134
308
248
361
590
548
656
212
641
235
760
313
25
399
420
543
226
497
89
514
706
533
186
267
465
336
580
288
581
631
518
266
556
385
132
473
173
165
138
467
44
105
370
193
536
106
141
492
350
618
949
601
226
283
254
96
605
490
293
272
688
501
77
281
770
695
183
84
230
763
165
174
282
133
669
732
411
297
200
564
347
499
234
407
19
302
271
593
160
338
826
730
168
522
158
484
552
608
481
137
332
153
255
153
502
169
161
238
193
177
205
257
302
1081
711
199
255
338
71
293
202
103
537
592
179
203
597
494
454
158
237
95
523
314
257
629
216
369
758
350
207
203
348
480
328
630
289
151
532
560
443
220
439
179
303
549
740
661
704
560
108
879
97
57
446
131
127
467
691
489
506
696
325
499
399
196
526
223
184
210
184
392
230
454
344
221
353
232
104
395
595
238
561
153
122
108
40
471
89
202
662
435
167
897
187
91
199
41
797
91
162
202
1102
557
386
427
649
88
319
814
336
263
513
72
242
326
98
38
677
47
193
386
123
171
308
535
195
51
537
469
377
313
305
1110
392
80
223
134
169
144
288
139
160
408
360
743
608
249
485
322
309
206
349
530
401
574
404
875
555
513
386
142
482
248
286
75
388
299
268
123
359
297
145
572
243
380
475
549
772
573
261
406
289
310
676
318
235
115
802
260
1109
255
514
264
219
587
402
359
467
334
561
64
803
296
223
383
124
233
538
348
494
582
495
366
609
349
269
254
181
289
284
459
614
444
203
400
192
393
549
452
625
113
305
335
135
403
257
129
417
496
372
195
396
553
257
155
25
377
234
308
423
320
725
439
141
513
521
468
329
338
183
427
389
508
227
911
280
259
230
27
582
612
416
171
146
277
346
232
408
95
309
244
258
385
72
470
274
170
522
513
441
300
816
442
229
89
356
105
148
124
274
605
313
165
615
270
535
110
317
25
669
345
392
470
234
61
519
413
504
125
881
340
329
453
529
123
234
503
449
426
354
514
203
388
545
450
416
343
655
214
188
476
646
135
242
423
404
111
210
256
600
201
647
1016
476
437
236
182
442
601
263
216
551
784
553
251
291
130
164
270
326
435
307
659
417
326
476
260
207
326
294
152
438
533
393
358
430
321
131
426
383
312
641
237
518
667
554
107
340
575
552
299
432
144
299
287
650
377
221
420
248
359
550
352
312
309
399
809
466
421
440
526
808
23
729
291
188
238
287
323
157
447
145
267
67
533
541
111
586
530
197
359
673
198
676
580
319
601
261
565
628
152
409
409
42
210
199
755
510
432
263
96
441
401
188
146
788
455
382
469
341
614
280
585
432
202
964
591
705
493
999
436
398
502
342
326
547
323
434
459
48
612
406
333
251
426
369
628
413
180
425
262
642
295
705
443
500
242
166
319
238
380
126
190
396
129
320
480
481
300
395
563
162
282
182
902
506
173
60
451
513
107
20
538
546
295
532
530
295
400
917
403
25
529
396
547
648
396
120
283
671
696
221
407
159
27
337
875
466
670
453
296
365
238
543
462
434
567
154
327
285
534
99
297
327
315
281
123
292
140
660
1104
140
206
562
393
791
155
323
206
310
97
455
239
474
261
325
702
522
197
226
395
517
143
104
641
90
201
371
344
372
505
506
560
615
251
938
227
815
318
35
345
343
115
212
699
540
375
177
556
476
395
298
140
348
650
231
256
345
699
545
510
397
193
130
318
624
808
474
105
724
181
300
83
629
97
547
127
481
316
436
401
280
723
318
30
311
247
191
144
478
387
836
465
308
493
96
597
302
976
569
345
262
185
397
728
578
325
163
689
153
262
169
32
666
137
415
646
296
262
699
569
550
556
299
601
176
359
259
293
211
70
225
201
475
769
298
531
673
210
282
300
249
548
300
609
652
553
417
232
335
295
337
646
475
435
322
145
93
662
323
618
350
378
156
96
335
555
69
546
548
869
553
476
795
290
740
81
458
317
284
283
417
638
534
132
270
851
801
418
565
638
245
181
180
401
129
593
490
781
556
281
143
427
431
141
451
496
647
595
426
799
328
297
203
88
597
536
133
674
563
153
583
214
610
354
214
310
125
565
253
728
106
378
504
318
396
313
604
144
164
638
594
126
242
366
194
199
404
223
543
396
381
621
321
469
499
562
274
498
405
462
164
275
311
194
578
362
432
192
206
118
613
394
755
393
67
212
256
339
95
254
83
416
400
467
97
657
393
454
218
903
567
258
185
542
324
576
176
567
592
293
922
537
185
376
531
130
16
432
406
596
393
208
257
135
906
618
405
441
68
302
460
345
168
292
103
486
213
526
252
736
336
403
952
420
776
617
381
471
257
872
373
729
436
262
273
273
304
459
217
471
395
250
478
392
291
317
220
17
465
183
117
257
300
544
353
363
297
243
370
86
143
466
45
619
299
258
185
168
334
124
826
326
499
31
631
212
124
800
301
370
91
406
654
432
315
455
352
299
274
294
54
294
424
337
184
277
338
315
574
195
120
197
486
238
666
277
487
165
277
30
206
545
94
314
357
743
265
660
735
339
197
427
192
297
477
70
126
103
468
451
812
541
406
673
113
431
176
312
229
362
61
228
664
183
535
621
106
273
936
555
516
457
515
388
239
621
439
366
307
9
299
212
239
608
568
392
619
124
723
515
432
423
689
395
308
330
445
357
460
173
197
655
212
136
345
454
83
516
624
567
256
595
757
420
426
227
195
450
468
133
258
333
227
340
439
188
330
64
233
311
381
363
424
331
776
126
415
113
106
516
473
314
417
248
92
363
225
515
396
302
287
471
22
177
470
263
516
459
280
556
819
94
936
312
517
663
459
375
135
442
400
530
79
333
220
516
333
518
170
809
457
521
214
533
436
646
323
399
259
454
346
425
433
400
596
1086
205
377
950
132
669
443
606
167
686
496
560
221
363
225
740
604
333
237
53
296
84
569
465
130
690
244
263
194
165
111
612
578
214
37
219
317
536
189
405
715
306
105
241
237
477
511
84
333
486
527
349
78
419
242
95
523
624
304
86
261
174
321
199
436
407
898
127
116
323
586
543
354
144
455
709
293
386
420
236
300
768
253
469
472
235
1004
223
447
207
249
294
328
763
155
560
175
605
675
83
174
323
193
629
217
463
143
435
91
564
398
223
448
1104
538
29
638
388
182
728
563
960
178
461
260
509
33
628
679
212
349
1034
408
414
824
267
276
617
382
377
423
427
134
111
314
425
377
378
501
775
160
377
788
408
626
442
379
603
451
218
343
605
552
269
324
549
172
260
424
80
357
105
560
189
399
530
74
155
679
95
237
350
23
111
508
465
347
203
711
172
206
101
232
337
488
422
502
208
569
493
403
454
137
431
216
354
117
174
264
214
415
125
123
543
675
325
236
520
155
355
332
535
153
217
880
121
143
282
190
472
707
214
681
348
210
218
321
283
585
723
170
121
490
846
454
426
157
378
54
76
163
437
157
211
331
155
177
408
129
304
802
369
228
909
274
693
917
427
711
103
838
191
413
221
906
281
168
522
738
380
333
236
500
269
438
252
257
179
645
231
124
267
325
247
348
515
326
935
542
129
503
190
384
290
301
380
302
544
349
554
173
430
785
357
296
77
166
275
317
547
599
465
816
498
606
556
549
589
119
80
289
118
437
803
608
428
294
599
671
272
636
568
230
749
106
601
491
466
496
212
428
685
215
674
498
524
660
372
499
651
580
699
435
566
395
218
374
314
69
733
273
524
461
226
605
412
462
360
296
197
158
446
144
684
266
130
699
114
413
508
55
557
396
330
396
145
213
371
526
128
497
317
494
380
390
354
735
640
91
138
538
174
516
188
499
236
685
560
717
451
398
225
322
503
150
206
80
273
232
585
519
154
146
816
231
666
160
311
235
368
396
326
46
527
337
276
161
384
405
416
312
198
486
566
304
231
748
298
602
419
340
339
549
240
250
830
510
337
543
437
417
298
389
263
359
149
484
245
484
484
377
361
195
390
507
99
189
179
960
372
211
19
270
868
366
122
225
269
339
18
669
414
278
208
91
406
391
720
248
495
265
272
383
346
624
77
432
176
751
688
349
362
102
154
705
541
547
117
171
209
512
678
104
208
250
374
545
531
312
566
453
459
408
147
174
489
430
441
111
201
992
129
171
420
284
244
172
769
572
310
431
617
332
457
275
740
315
150
714
981
605
563
151
681
536
732
374
369
558
494
406
917
340
395
504
551
235
424
436
357
562
509
210
336
261
177
419
619
638
100
477
615
435
311
196
350
623
217
311
163
227
410
1111
475
169
196
418
95
231
328
306
588
209
98
506
343
133
351
260
561
217
248
439
465
404
157
526
354
325
352
178
294
597
48
255
528
626
462
244
641
435
170
161
353
149
161
231
360
506
423
629
466
516
253
429
23
83
162
156
584
481
226
258
329
326
299
557
250
189
466
161
463
368
109
485
539
363
153
288
273
213
45
166
634
246
250
700
298
274
353
33
682
299
306
529
226
449
704
95
362
570
204
76
395
170
304
469
346
505
429
119
348
387
283
634
324
575
305
179
528
374
457
65
243
511
314
357
728
356
199
668
344
308
123
263
392
133
244
176
384
575
617
628
381
550
309
758
519
591
950
538
249
315
428
793
235
331
870
263
305
416
222
456
682
275
464
659
239
234
180
519
126
322
515
356
327
580
684
32
482
540
223
118
366
711
402
884
912
507
831
286
553
482
757
571
203
185
806
97
585
613
65
431
484
981
98
324
357
220
372
310
413
417
332
646
404
151
149
200
439
448
263
337
414
161
231
146
527
563
498
697
456
177
251
357
267
369
715
1039
654
572
326
176
164
386
485
701
331
283
267
96
331
341
84
170
366
154
231
128
645
400
324
76
39
221
617
267
207
492
83
725
165
737
355
687
211
431
344
484
445
517
496
543
185
395
347
460
309
189
274
309
245
543
206
420
138
593
586
740
106
113
729
933
433
178
310
259
322
993
246
87
391
603
494
596
241
204
422
410
359
259
287
364
488
131
148
500
418
807
212
32
362
341
496
425
255
917
337
527
653
369
549
509
65
212
147
85
429
151
705
270
519
309
147
366
306
46
431
316
380
423
572
388
500
769
387
139
362
310
330
280
608
525
131
79
219
363
89
557
614
728
165
437
353
569
489
83
266
113
775
580
367
51
669
540
743
105
532
337
604
236
863
235
491
13
79
365
208
449
192
644
379
459
246
190
339
420
554
275
227
499
96
481
344
774
384
293
521
548
88
614
211
700
743
190
158
500
82
210
261
433
324
330
493
196
783
204
625
529
279
923
187
601
313
587
388
467
472
518
609
103
259
231
587
387
284
370
739
262
340
482
631
294
330
415
159
133
226
170
61
432
774
206
610
490
252
404
641
268
242
484
273
417
510
809
260
232
478
522
167
654
381
358
628
251
130
280
239
343
164
124
253
350
208
460
709
274
645
359
340
769
359
533
280
253
303
63
314
218
250
334
122
399
392
331
320
239
202
165
740
146
255
212
298
356
259
528
482
129
183
231
181
570
353
649
861
190
262
346
642
292
293
743
727
722
223
244
337
152
636
265
763
564
258
432
170
82
817
518
68
600
722
670
82
563
593
387
106
700
827
366
479
381
671
392
550
187
135
448
374
78
222
463
545
533
95
174
182
578
106
224
812
599
257
680
90
124
172
333
396
619
801
537
71
521
678
282
604
347
456
575
469
99
273
675
348
240
437
120
70
638
181
566
158
618
555
462
140
850
586
861
359
629
401
615
830
68
295
275
892
591
112
210
267
333
333
47
649
670
127
632
709
831
312
593
238
158
762
259
789
421
196
445
580
411
245
224
483
354
320
85
141
193
676
1029
376
142
294
492
514
292
217
390
248
140
318
416
392
655
169
166
494
961
672
201
625
365
89
666
483
214
278
441
411
290
213
345
165
287
639
394
168
231
557
294
637
278
474
331
547
346
465
230
194
389
894
205
756
727
173
117
580
560
682
332
421
275
621
651
475
210
60
139
381
180
589
498
697
130
125
213
123
218
178
108
491
275
230
338
517
87
251
806
479
340
168
165
180
255
362
244
571
550
133
221
587
401
527
362
523
261
99
143
185
159
289
324
127
231
146
66
333
304
178
765
913
66
220
706
429
141
458
279
463
529
362
337
301
320
195
414
292
157
170
425
159
626
436
139
277
537
569
147
269
701
453
582
622
21
104
164
114
334
204
545
141
123
47
239
126
446
414
343
511
221
57
689
230
41
541
97
379
601
314
500
489
216
446
144
261
742
163
468
285
350
372
135
398
207
263
691
476
565
712
169
173
671
544
256
515
301
628
427
235
118
108
717
342
529
365
343
232
646
215
309
236
285
287
237
201
407
359
397
464
660
179
517
112
565
772
407
159
663
514
425
292
336
346
203
311
465
61
351
436
521
277
135
35
721
208
725
132
211
182
129
102
135
1026
252
381
560
179
268
594
158
246
572
382
752
116
151
423
258
636
185
253
255
328
557
194
218
453
461
439
444
213
358
262
382
904
493
669
539
168
405
260
326
442
140
791
544
636
456
305
528
390
262
1015
227
186
347
480
431
920
413
279
242
146
326
439
370
369
409
492
316
538
391
194
278
167
360
275
355
700
251
260
513
426
465
65
272
168
173
226
228
125
208
620
419
225
317
665
623
754
270
453
441
915
474
338
507
435
229
153
564
545
689
436
323
831
673
437
473
232
858
605
346
296
414
264
520
168
257
193
528
336
339
191
340
178
499
173
183
393
302
398
300
632
356
193
109
314
158
602
237
508
527
316
540
126
429
710
419
544
552
252
387
315
219
1100
207
250
249
311
216
417
557
347
540
628
567
563
606
235
71
441
350
363
708
680
812
132
604
152
114
474
605
339
539
530
632
292
649
446
363
214
538
477
281
440
546
207
613
881
81
314
759
392
61
145
80
1065
581
561
113
147
111
835
599
604
215
111
653
341
111
380
517
518
350
192
237
340
764
626
379
128
279
485
598
472
796
120
397
568
217
468
547
243
524
504
400
351
74
183
119
283
261
134
582
132
712
503
355
53
499
32
318
321
184
494
178
99
534
580
371
146
179
270
913
463
76
433
344
390
320
641
478
235
289
691
448
301
228
386
757
232
216
193
198
24
150
155
269
158
398
529
185
684
133
283
217
517
836
689
673
63
371
536
548
147
529
264
155
556
443
326
264
249
81
197
360
534
107
755
159
580
279
435
274
71
220
249
622
47
777
966
105
544
704
216
259
782
776
623
69
285
469
540
136
228
209
413
88
479
369
422
524
338
509
313
94
381
473
196
142
293
683
735
554
347
419
194
630
347
305
552
272
387
34
310
330
801
336
621
741
305
258
989
320
616
149
212
433
274
632
703
153
241
284
226
364
573
316
666
196
507
421
637
137
147
409
346
432
28
436
66
510
518
356
545
239
200
151
494
49
262
367
270
276
840
385
294
149
227
339
22
213
254
314
432
767
789
619
340
755
380
185
61
282
123
284
365
567
533
474
635
74
244
131
490
148
577
194
179
9
772
117
877
665
779
687
633
233
53
494
322
384
439
322
239
472
183
210
902
513
192
267
617
387
370
332
721
358
483
480
600
770
150
60
372
355
327
373
748
130
294
717
51
120
255
57
157
216
242
326
317
857
236
68
370
381
322
587
503
223
164
200
328
296
56
127
269
125
122
203
533
347
467
648
435
405
308
702
498
669
196
258
697
304
643
450
302
497
292
394
342
567
730
117
494
557
538
99
17
1015
392
734
191
171
121
768
737
347
122
136
678
186
407
328
474
384
377
589
297
337
137
535
471
300
426
467
557
227
780
117
766
662
578
508
364
320
595
368
670
205
287
488
710
347
532
459
520
32
518
470
247
611
234
59
315
430
405
120
243
289
329
681
391
334
355
690
224
329
280
93
790
163
374
260
483
165
516
321
583
467
511
400
291
96
238
732
261
695
115
722
330
258
566
337
666
675
248
395
303
272
546
311
542
432
24
224
382
350
319
295
72
507
268
501
184
461
267
367
553
513
429
100
443
306
256
466
429
298
779
375
419
156
434
268
176
524
69
285
191
417
600
404
347
150
268
400
488
398
506
259
155
353
164
217
148
773
446
537
794
496
118
613
149
280
592
406
221
296
372
344
247
302
517
307
669
480
141
593
461
134
378
228
448
514
163
132
426
133
273
261
289
342
560
284
271
256
507
521
139
169
457
299
159
117
491
386
211
186
119
883
320
296
641
483
212
391
99
309
619
283
487
99
551
618
296
702
320
448
50
174
116
377
466
534
789
1163
262
484
206
817
92
537
45
428
213
819
123
99
373
211
188
546
339
286
563
253
317
333
495
474
493
262
258
103
322
262
641
751
550
385
722
753
753
420
400
937
239
224
283
613
364
150
229
338
480
606
545
391
400
407
395
1041
346
195
919
189
212
515
244
268
605
562
408
552
226
377
187
292
348
269
410
349
475
157
205
581
205
457
193
353
320
298
425
157
296
152
236
210
610
257
281
114
511
665
324
241
398
359
237
226
281
156
94
319
495
299
235
595
366
443
176
421
748
356
270
327
272
93
217
432
179
350
311
1005
648
174
346
402
446
149
269
558
483
121
325
334
197
183
493
673
703
366
329
600
342
615
452
789
274
718
93
187
196
354
863
121
253
660
174
263
499
327
481
123
728
460
269
440
272
178
321
107
441
654
362
272
124
132
159
267
250
489
351
623
548
130
333
117
452
430
490
154
315
544
356
135
147
60
527
141
519
1103
219
137
258
148
570
526
555
603
509
210
230
513
850
178
136
288
241
373
206
197
496
171
429
201
151
727
173
159
350
605
506
216
298
637
327
76
234
775
172
426
709
397
362
278
485
73
152
159
660
530
234
411
262
205
244
218
171
272
276
278
329
153
428
471
494
167
129
460
480
284
937
334
229
422
538
471
463
52
84
217
356
159
508
277
198
486
199
408
918
1029
199
119
513
387
586
672
583
134
329
1035
215
603
215
162
296
377
205
333
772
762
287
253
456
438
260
333
443
169
440
252
298
726
646
749
575
247
470
301
522
176
360
14
813
38
734
205
385
345
882
123
705
306
530
227
367
690
588
596
248
414
336
125
412
472
725
161
411
231
589
574
275
78
671
597
399
488
85
121
259
867
865
331
482
473
474
445
423
424
347
483
403
280
316
219
935
162
552
148
494
261
329
185
904
316
221
441
633
459
292
308
407
111
435
97
755
211
212
186
338
226
603
87
143
546
312
618
901
497
453
655
208
387
286
197
406
605
302
572
743
115
430
240
429
269
939
444
244
167
531
410
447
683
743
251
1076
547
449
222
321
310
532
532
369
505
442
206
535
548
119
277
332
189
363
215
361
425
312
40
268
726
1080
331
514
250
556
623
269
363
187
212
640
343
278
500
164
318
317
442
151
322
115
297
562
234
386
302
60
407
310
470
772
630
366
401
60
571
428
698
673
276
252
167
135
223
650
119
185
190
555
387
752
116
1123
281
450
424
333
429
253
864
567
805
287
345
880
670
353
229
153
401
268
81
381
533
500
847
285
355
449
456
504
743
729
290
284
142
640
133
47
395
186
328
334
521
461
194
350
533
321
683
624
701
337
211
428
482
236
265
245
135
359
564
338
154
399
237
611
389
744
554
893
1042
568
231
335
657
237
571
504
464
453
233
526
181
163
783
412
185
594
1055
288
26
540
362
191
144
432
217
627
210
292
270
464
336
204
194
388
285
345
153
426
332
523
240
317
219
429
568
229
157
396
62
515
160
585
458
349
580
142
305
124
171
639
78
353
334
279
156
62
214
224
145
355
291
368
560
208
129
69
499
575
460
424
297
645
545
314
345
89
120
320
370
11
243
215
223
323
265
687
852
553
450
859
168
649
710
226
169
352
223
292
295
919
711
944
279
760
114
830
225
123
483
323
65
91
214
345
275
647
983
445
126
585
1111
137
125
461
587
112
454
270
647
725
404
638
1123
333
117
907
165
598
604
216
619
576
306
515
606
526
353
525
436
470
246
534
437
1145
588
549
279
354
432
399
634
536
1131
392
299
553
467
287
147
524
313
374
409
271
315
171
961
361
659
140
362
253
402
519
297
279
173
386
556
558
144
50
227
247
152
419
1005
448
262
94
264
494
428
575
377
299
193
554
208
625
363
322
395
191
130
420
64
199
789
247
498
191
242
569
111
240
498
402
775
185
467
421
636
223
323
673
257
205
553
186
117
202
303
624
399
776
462
46
217
323
514
117
179
408
144
523
296
219
396
201
137
242
264
408
278
519
69
892
120
554
251
229
587
201
643
507
537
554
293
226
384
155
591
22
958
274
489
9
563
145
193
709
328
199
393
638
326
652
173
313
112
275
571
674
356
305
870
275
357
188
45
238
228
662
326
136
670
350
317
35
647
745
207
418
642
405
274
547
457
906
356
140
830
659
524
496
430
169
643
416
325
321
385
111
671
670
230
121
408
306
258
361
368
524
468
637
31
135
70
831
625
220
939
690
229
534
185
240
239
309
133
464
42
135
330
505
188
345
221
299
503
777
901
695
206
311
227
142
371
700
429
400
188
503
465
176
297
546
257
290
336
203
343
503
326
691
112
197
545
683
250
79
491
625
231
493
617
580
139
247
163
116
537
402
719
78
279
1032
153
260
323
358
278
214
456
514
612
721
106
103
441
443
269
408
517
825
468
317
233
75
715
974
119
643
809
215
131
501
219
68
345
444
372
207
254
291
612
441
678
391
777
393
482
508
509
309
208
663
182
426
578
500
486
359
223
684
244
577
116
253
522
596
98
588
302
457
73
177
679
918
79
661
334
705
309
329
159
757
318
317
152
414
475
352
296
329
253
157
253
574
320
571
531
138
234
97
861
550
781
358
307
258
509
151
367
125
115
849
323
255
708
501
311
615
110
834
369
680
157
546
609
251
196
600
65
699
257
7
912
750
424
335
432
544
375
450
211
77
543
599
310
361
726
378
234
364
118
339
275
516
309
442
350
950
316
292
306
633
201
165
730
171
476
329
502
185
496
361
814
347
243
234
159
80
238
75
157
713
584
474
487
349
285
735
533
139
395
731
719
579
94
10
548
602
283
749
413
186
430
89
81
387
263
290
690
379
633
175
409
424
271
544
413
390
246
300
323
142
361
146
165
481
367
861
267
173
297
550
375
846
307
186
521
95
268
321
160
303
460
346
248
157
948
394
679
546
320
672
234
377
200
777
614
180
608
339
273
135
184
250
481
192
806
455
189
363
281
122
436
472
126
204
70
563
175
609
414
482
365
313
539
275
770
288
115
222
424
595
845
1005
313
380
777
189
812
393
604
912
430
525
127
109
278
180
151
651
348
315
57
394
486
337
406
640
552
30
86
340
591
68
641
572
483
457
808
788
530
533
462
488
252
107
479
584
155
905
486
138
725
134
541
338
583
368
754
103
427
276
280
159
546
266
430
396
516
646
301
839
625
109
760
307
594
510
98
72
440
313
226
297
992
610
551
90
204
205
259
514
431
619
289
757
362
125
502
224
278
703
289
323
478
118
349
86
257
520
672
75
399
299
526
437
506
121
206
650
294
553
637
273
246
288
140
107
144
288
125
367
505
75
312
503
215
291
730
97
462
81
164
140
124
358
98
220
507
211
239
587
760
576
591
321
83
264
429
54
502
637
577
579
318
354
355
508
118
721
236
382
413
129
280
289
551
462
696
295
350
524
63
315
274
784
487
347
429
325
212
371
160
548
281
356
616
285
190
141
143
378
497
327
85
342
497
202
550
217
575
133
414
67
380
460
345
77
480
363
150
117
394
351
230
735
538
223
113
441
288
563
363
672
416
365
25
350
110
189
207
561
631
730
569
93
177
167
274
640
703
423
517
196
395
394
315
183
343
309
153
332
288
268
245
440
291
587
126
287
97
297
170
726
216
289
739
207
306
628
354
426
115
471
282
436
491
632
592
726
269
557
247
416
160
419
282
428
70
390
146
238
185
116
298
185
558
241
243
159
499
262
264
539
49
400
91
806
772
277
539
645
176
262
502
460
200
496
236
340
507
694
230
1161
328
398
666
159
320
181
91
115
417
567
370
249
386
371
358
425
650
273
570
594
354
725
341
481
323
638
641
453
505
428
56
437
578
530
456
670
188
725
270
270
96
121
901
539
563
393
334
554
378
409
712
652
200
80
113
366
143
337
338
18
100
755
252
207
448
167
426
173
664
118
244
283
344
323
195
218
641
758
440
251
590
43
47
26
560
849
1005
283
196
162
433
208
282
546
71
342
249
721
116
383
886
292
192
99
574
216
427
443
65
686
191
364
400
383
457
557
625
226
138
48
134
377
55
340
647
569
337
197
330
312
168
580
332
511
229
732
280
506
400
71
517
159
98
287
269
99
152
166
328
318
795
287
287
252
168
576
80
114
391
398
230
603
278
258
558
467
351
175
713
531
271
464
115
571
497
778
248
629
251
909
483
311
171
295
160
481
15
147
631
434
562
183
325
76
775
206
112
61
591
648
130
262
277
175
314
307
172
410
332
300
404
394
769
421
217
399
425
416
380
270
239
300
222
648
229
11
208
324
399
475
152
381
589
40
258
339
161
631
578
215
362
924
200
205
771
348
567
619
577
601
217
217
227
1077
562
291
433
389
704
564
570
681
573
673
229
717
437
349
505
60
571
478
393
698
177
173
289
542
561
78
80
418
392
472
676
500
496
614
84
405
275
263
508
416
517
295
370
497
119
416
1051
617
208
273
609
464
159
144
497
94
324
883
174
647
424
66
239
251
640
89
225
339
394
474
131
556
451
428
117
294
484
99
907
267
476
309
169
311
727
120
528
256
255
157
129
380
218
403
711
211
167
370
364
60
290
124
513
246
665
123
456
515
56
217
215
286
270
388
458
553
428
159
521
334
507
223
238
451
468
520
475
110
773
323
562
189
774
104
153
82
166
328
569
485
355
391
137
296
487
58
308
293
127
500
256
99
388
216
149
448
446
260
999
362
203
549
279
567
334
263
452
706
903
442
572
453
424
804
466
530
187
681
279
484
626
72
116
519
294
345
152
589
477
358
111
62
461
226
214
41
523
243
551
380
127
264
302
152
224
104
305
488
418
426
562
154
78
159
192
121
777
470
688
325
42
315
176
373
273
508
444
182
440
315
404
926
183
302
252
164
189
201
326
184
332
168
716
441
275
548
243
340
422
523
512
41
425
316
278
354
322
73
538
208
904
312
268
228
416
397
173
515
196
383
539
59
784
173
723
400
444
324
218
494
479
294
520
334
89
475
473
640
226
339
64
412
150
137
276
713
772
294
505
38
62
675
489
243
149
592
187
452
1075
269
457
545
275
48
319
296
761
378
547
772
845
220
515
281
604
927
125
281
336
434
437
230
266
282
249
80
544
173
143
261
506
661
580
252
324
586
211
481
464
307
266
354
226
414
140
134
525
533
610
585
444
566
476
211
712
312
837
422
605
637
299
346
167
291
649
65
522
431
110
440
302
453
367
202
191
348
296
275
209
820
396
549
322
385
530
537
767
463
404
201
180
814
556
277
248
80
179
279
526
264
170
359
365
518
659
337
454
752
296
442
684
146
335
221
108
523
610
701
224
546
104
641
105
639
402
326
337
621
417
334
471
401
137
988
359
397
150
486
10
377
337
189
357
106
215
251
662
261
186
305
454
472
157
643
62
516
194
479
203
699
196
188
637
158
184
334
157
601
433
400
295
242
426
98
340
154
575
210
313
476
289
340
228
463
275
324
524
584
392
217
186
147
316
405
248
391
357
26
421
369
169
127
170
287
85
367
130
165
161
132
460
220
252
756
251
268
373
347
269
539
652
111
112
161
798
964
399
520
160
490
159
434
384
293
469
397
496
628
588
295
58
467
300
557
713
180
495
318
273
552
605
460
696
138
201
234
146
80
560
552
514
285
468
287
330
108
776
510
382
693
557
421
447
561
247
128
420
594
483
138
399
160
508
126
292
327
455
305
332
48
404
193
230
447
271
206
410
406
292
610
220
161
778
435
72
453
521
825
63
197
514
408
318
384
255
366
295
655
367
644
268
120
784
335
173
189
92
259
143
329
163
153
231
132
346
448
261
429
365
388
95
647
396
408
545
228
611
99
92
125
84
203
555
694
323
273
12
514
311
495
160
260
309
369
181
242
226
191
587
179
138
218
96
531
541
324
442
626
587
131
526
627
412
477
472
356
154
517
127
75
185
275
441
174
191
170
219
128
387
402
275
126
205
274
267
672
760
181
288
606
642
101
306
179
429
291
547
714
605
555
704
498
230
638
577
279
153
326
798
818
282
652
678
233
84
230
117
258
595
817
369
403
509
185
421
611
495
367
593
420
414
563
349
387
460
128
667
190
359
686
105
119
353
522
201
469
242
409
647
360
297
183
121
354
613
425
231
487
743
135
255
804
187
330
401
388
503
539
253
226
907
339
317
304
140
475
83
111
281
380
278
290
228
1027
645
632
77
153
201
161
510
783
514
202
393
236
365
485
262
627
482
639
315
537
185
420
292
428
499
110
392
211
219
377
386
556
326
113
186
525
582
178
1065
89
23
806
71
513
348
141
276
422
436
707
145
613
412
88
459
538
220
199
179
287
188
126
182
249
484
346
305
223
478
197
541
482
496
65
218
277
685
282
328
229
673
327
488
216
176
801
196
704
318
200
387
200
246
48
233
766
179
582
284
876
131
254
695
467
151
154
407
382
653
168
195
393
155
335
858
149
207
613
31
473
393
226
153
406
231
639
540
282
339
435
204
550
143
245
316
512
213
327
210
405
662
275
207
350
305
399
374
341
363
198
274
108
682
290
433
82
175
290
337
197
419
301
427
268
334
213
257
251
579
328
262
929
189
518
832
360
105
443
149
573
241
160
202
170
574
458
420
251
477
279
63
705
181
483
493
409
161
144
233
103
1121
308
613
214
372
126
360
470
306
34
565
405
302
313
687
200
122
389
430
710
633
676
473
458
411
626
394
1101
250
603
317
388
412
328
454
484
357
541
1096
307
223
661
753
570
213
58
601
202
112
255
92
138
858
670
467
205
262
456
668
286
102
586
305
548
628
408
218
311
288
156
475
812
315
513
408
788
714
244
433
348
114
116
360
184
76
246
372
323
425
129
460
554
178
311
344
278
324
587
164
155
393
607
555
562
236
122
330
490
356
679
253
522
527
968
70
281
267
348
520
55
507
725
404
557
726
603
805
473
926
291
781
603
355
322
181
746
311
214
622
641
337
348
175
550
308
488
257
639
253
429
122
283
378
101
111
176
649
382
510
66
355
311
745
158
196
118
271
344
162
497
159
764
162
235
395
501
435
222
438
235
211
436
813
430
50
225
670
356
821
226
226
555
541
91
279
363
366
605
458
157
402
241
579
226
1055
357
196
867
341
422
413
335
352
642
426
206
232
551
368
345
444
250
220
565
433
696
256
557
594
308
141
120
176
268
243
360
406
401
850
327
363
666
287
456
144
563
307
417
577
523
408
430
201
375
120
143
364
8
546
661
413
309
783
881
433
277
398
107
284
247
698
295
158
398
353
766
485
324
652
742
378
340
134
101
173
465
234
192
355
290
378
75
88
449
609
168
632
402
187
356
476
319
394
62
912
573
122
134
243
528
885
349
193
311
135
695
433
639
469
430
145
366
707
147
145
351
280
239
798
529
581
547
280
156
213
420
406
406
528
115
443
489
614
500
409
73
743
540
229
473
70
434
280
227
285
1026
444
403
252
565
353
170
805
517
132
140
261
432
530
94
806
32
203
378
303
594
188
304
695
313
275
293
715
88
204
36
55
163
478
702
606
395
532
229
449
46
301
779
370
447
173
479
318
304
273
298
361
871
264
81
305
569
126
366
413
309
430
540
407
411
755
253
195
342
254
472
468
732
601
626
159
45
123
95
81
223
261
537
309
109
1166
587
741
403
286
578
308
370
303
784
517
205
389
177
330
374
155
371
521
244
623
512
469
539
230
733
258
128
291
178
233
526
115
273
408
296
231
479
506
271
255
551
688
277
606
187
57
514
243
196
310
293
250
575
115
337
176
492
109
380
307
548
657
468
625
344
293
114
497
425
400
43
186
279
329
293
354
392
337
602
357
89
400
248
561
477
411
555
281
235
215
227
74
139
421
376
444
253
61
204
134
526
915
379
237
386
535
162
637
128
327
302
474
556
260
641
147
539
86
322
342
286
207
119
418
511
248
257
566
337
787
474
361
412
536
168
337
474
378
516
606
307
457
489
172
124
823
567
304
171
219
227
320
310
758
242
378
1056
134
214
151
398
356
283
76
633
910
571
537
428
173
382
486
403
720
342
41
346
112
328
177
218
451
587
750
373
418
412
344
752
173
667
638
226
455
253
292
129
163
583
478
207
592
468
73
452
395
369
559
283
722
365
649
496
521
197
527
370
181
304
518
433
290
592
978
287
90
279
161
393
181
327
537
298
690
198
273
272
627
276
370
352
289
360
440
431
446
495
468
405
325
435
200
868
262
288
216
130
501
340
222
148
818
322
80
317
181
128
447
189
620
325
378
618
214
470
557
472
465
792
1023
571
439
430
524
98
221
311
63
485
234
653
430
329
206
108
408
435
308
258
306
457
303
905
339
257
165
491
69
113
425
246
317
734
838
291
432
292
728
493
250
440
384
271
650
87
45
430
97
243
53
466
90
810
484
623
445
509
561
357
145
474
412
487
178
671
107
110
656
100
595
550
628
109
161
922
1036
348
543
536
214
704
379
104
644
440
250
571
446
267
99
343
222
599
673
489
416
144
364
504
684
193
95
622
797
260
62
598
308
710
355
304
186
635
199
298
281
690
288
549
196
345
443
262
223
291
722
214
693
519
239
292
312
536
535
408
812
171
234
608
63
648
434
789
92
966
319
325
611
626
333
388
477
617
303
644
504
482
745
216
608
481
514
444
477
125
482
456
189
529
333
539
206
353
338
420
770
311
432
203
651
341
242
328
457
288
220
189
117
273
468
286
783
540
252
146
298
439
696
327
507
417
446
757
543
608
550
530
531
203
306
653
337
501
298
398
683
458
488
290
588
180
309
285
161
444
476
794
114
412
233
662
554
298
309
505
62
148
243
33
340
64
366
252
414
515
290
586
537
510
467
426
311
259
298
87
289
572
247
556
447
553
294
181
157
215
226
520
411
146
140
130
446
354
205
236
435
207
41
457
358
220
483
204
253
29
190
369
598
422
176
316
437
361
521
670
514
604
462
219
390
361
144
376
373
294
379
527
545
704
50
310
445
425
162
464
245
164
579
472
704
291
368
376
615
449
460
95
324
833
431
732
950
413
653
176
601
271
298
329
275
688
165
305
359
393
18
297
436
397
212
309
852
465
368
470
378
274
613
225
189
235
225
498
75
224
255
394
265
212
501
680
281
261
15
563
507
729
134
267
167
356
599
1031
468
699
351
222
256
261
193
103
898
413
463
337
619
640
439
500
584
198
156
422
640
344
44
327
98
378
211
290
214
364
517
584
574
435
581
415
203
114
474
144
726
346
147
292
184
379
521
200
316
471
526
688
233
694
209
219
202
366
346
219
815
327
391
614
286
352
375
160
49
446
387
196
479
423
58
166
458
371
778
371
682
800
314
350
56
213
446
537
253
430
164
931
665
124
83
65
132
35
112
121
599
30
422
73
177
437
595
243
273
354
370
171
548
540
536
538
505
468
259
407
583
404
375
204
237
519
233
746
555
110
276
378
364
236
245
281
593
522
500
666
180
346
120
393
142
616
531
368
335
323
459
519
86
416
395
466
671
513
606
459
229
502
65
557
253
410
372
181
149
279
212
424
288
255
531
433
686
186
124
507
231
306
325
407
628
698
289
256
354
459
550
509
242
347
232
208
229
382
269
128
329
363
661
412
442
627
542
224
631
336
833
1037
217
34
227
556
263
882
187
449
632
400
528
289
377
632
290
317
446
565
644
479
298
398
585
295
152
511
293
538
709
610
308
516
1014
373
436
303
150
256
320
430
302
246
599
722
305
276
230
332
125
559
151
368
508
316
203
360
908
438
150
107
127
319
560
329
13
296
89
441
802
560
132
125
113
75
154
84
330
460
669
185
254
159
379
58
230
548
798
207
610
264
718
697
433
495
516
506
178
293
475
234
292
295
895
137
405
673
234
442
683
536
803
307
55
201
615
605
598
471
624
333
599
489
155
523
195
772
68
537
337
500
425
337
298
148
299
279
134
144
101
407
244
33
222
485
467
809
329
510
263
385
163
248
159
137
215
207
165
135
108
222
526
546
212
896
630
326
345
392
350
191
113
265
581
526
226
575
338
33
213
525
598
292
372
189
204
48
313
397
648
48
827
420
698
300
321
407
137
383
131
50
471
297
536
558
236
236
643
167
443
258
159
320
396
304
270
454
558
242
1034
316
169
603
43
504
509
367
81
657
197
529
356
389
273
231
631
462
265
311
639
331
529
244
335
362
389
689
543
135
358
534
151
66
138
469
465
326
113
566
281
461
197
587
44
773
297
159
628
716
296
211
462
577
271
284
1124
532
238
416
479
223
517
268
102
372
136
640
589
390
656
589
69
757
102
296
413
312
797
427
368
529
58
125
597
535
348
356
236
93
263
687
209
425
128
90
270
884
557
371
430
406
363
468
420
182
376
453
521
247
441
132
503
311
90
235
172
349
831
65
282
1032
133
533
178
828
344
292
325
237
618
158
46
236
332
262
514
360
316
699
34
493
165
463
560
589
122
580
173
153
303
239
73
237
321
243
399
219
424
205
672
393
151
331
701
908
386
293
195
223
609
232
548
875
610
288
507
206
191
239
180
492
248
338
163
493
383
142
552
520
735
591
342
101
256
264
303
934
641
668
157
265
249
633
207
173
321
247
354
210
34
294
161
427
281
297
614
493
496
283
389
354
429
168
131
246
229
507
282
136
170
534
519
513
224
282
684
431
374
415
204
165
408
989
363
678
279
504
701
384
419
681
352
623
512
289
221
34
117
477
543
238
71
295
329
340
302
795
448
325
152
224
313
113
438
332
324
527
230
197
641
581
716
462
938
598
312
495
430
407
233
383
136
381
148
345
870
150
219
541
138
571
646
667
618
240
753
805
360
503
274
153
216
167
375
661
316
448
725
126
721
725
252
798
869
131
677
145
128
528
15
645
574
190
458
455
595
584
561
415
196
709
768
314
544
413
293
553
374
945
426
369
247
214
273
640
222
611
281
410
285
326
599
668
128
324
265
398
304
172
119
559
338
648
317
834
38
458
259
37
172
665
321
607
377
391
318
98
274
357
453
714
529
485
439
273
230
374
114
410
413
537
376
236
390
163
139
438
267
201
459
785
870
465
127
144
498
603
593
469
235
626
450
1106
404
244
312
605
711
333
400
397
881
89
265
387
458
118
130
128
702
458
630
320
257
177
416
217
166
294
215
165
601
249
546
291
233
548
347
313
374
304
362
411
346
265
217
453
491
359
308
236
369
389
189
321
679
155
447
399
429
320
510
309
677
465
429
138
99
561
299
622
671
712
170
574
471
442
171
186
549
366
374
337
562
517
220
795
221
298
308
310
282
360
129
807
227
207
447
441
584
749
437
163
257
11
543
425
224
419
781
464
270
262
457
784
687
405
197
550
20
24
603
713
538
365
684
542
312
602
504
375
145
292
354
236
416
240
422
802
692
545
472
143
432
97
574
171
285
527
313
418
382
262
312
588
220
244
297
375
1066
754
269
457
189
397
310
394
640
367
337
173
429
268
266
444
112
305
413
128
277
647
76
298
978
316
53
589
991
39
413
354
345
169
193
270
539
304
413
157
280
452
102
759
867
229
289
553
341
334
295
522
421
321
574
424
313
446
492
647
252
243
372
106
288
280
327
697
113
761
199
426
310
339
352
342
583
392
646
92
314
86
83
740
192
294
403
648
173
1019
144
672
189
119
716
538
378
330
62
296
611
393
347
328
464
134
499
164
608
719
371
288
248
183
306
461
67
131
284
400
452
310
18
266
170
298
152
379
613
311
225
554
54
587
266
800
368
534
625
727
281
74
692
458
278
243
364
817
542
591
540
45
338
731
327
266
329
275
546
494
453
320
332
347
227
410
309
537
436
535
290
562
179
305
519
26
331
374
852
179
561
433
538
346
408
262
437
364
346
433
468
133
459
205
275
262
554
305
104
313
301
233
222
248
196
479
537
554
265
728
343
329
424
317
163
586
300
631
188
115
434
614
564
209
529
369
358
620
140
299
672
361
756
641
341
414
233
479
143
323
547
217
318
601
593
330
479
638
127
456
385
486
370
355
333
367
208
380
112
396
104
95
830
708
147
570
132
590
346
637
407
416
168
244
355
174
432
213
614
1025
585
470
263
923
293
126
481
136
66
110
461
431
249
181
196
227
402
473
140
545
375
475
508
374
68
794
437
503
210
170
331
529
1069
557
745
206
499
191
838
159
403
43
363
281
468
696
156
319
189
121
425
900
429
237
662
662
133
292
28
284
235
437
305
285
557
360
120
331
138
541
146
244
722
428
415
128
452
551
488
303
79
231
375
401
99
86
459
240
737
278
70
314
281
408
593
285
157
688
174
1020
90
539
87
216
408
398
46
312
139
278
175
382
562
356
885
320
638
88
444
501
132
555
332
334
369
218
357
324
520
125
386
112
250
532
161
833
250
345
87
196
375
140
854
380
241
492
468
312
167
196
650
178
279
202
336
390
379
21
326
248
921
397
241
330
236
686
401
392
149
388
662
320
563
223
364
70
188
269
529
296
453
474
122
457
728
211
272
178
333
156
172
89
169
195
296
431
111
739
244
550
496
472
314
213
207
49
151
599
91
149
126
657
711
289
254
319
414
314
245
302
352
180
717
532
93
316
610
280
446
321
312
535
346
342
130
90
427
782
100
501
373
337
453
334
294
561
441
721
554
422
295
659
22
244
33
424
186
132
162
542
483
776
620
128
373
321
360
157
398
578
342
351
286
287
516
61
797
644
270
60
460
454
491
625
484
267
165
265
319
554
89
413
375
219
454
176
710
500
624
311
589
154
315
52
436
230
640
567
610
442
562
318
499
322
230
578
463
615
1039
665
255
274
267
207
372
150
313
571
139
540
477
13
227
281
366
292
891
161
109
513
52
165
548
41
627
309
760
383
245
194
206
500
41
137
174
255
696
292
285
223
399
184
234
511
664
73
480
138
395
407
282
366
1006
298
128
221
164
236
918
131
393
398
179
572
478
441
181
459
192
549
321
166
267
374
269
132
613
136
265
173
88
440
206
821
450
594
456
136
866
291
911
473
214
407
607
493
319
146
137
170
68
123
963
361
148
712
340
556
419
737
621
501
412
406
448
366
221
196
521
389
1026
113
105
468
149
653
394
538
720
223
490
183
234
496
52
252
81
501
315
608
319
935
382
419
32
158
312
194
162
249
323
325
304
599
311
643
494
585
207
85
106
511
459
371
137
397
213
131
105
328
936
250
553
159
341
570
149
178
423
857
600
381
323
26
46
395
196
584
212
509
719
203
345
201
449
267
289
91
145
239
681
472
153
302
233
114
330
594
313
139
993
305
190
142
388
318
315
126
390
120
267
362
575
611
118
330
448
148
327
185
291
603
442
255
403
251
314
790
48
442
894
254
361
626
159
559
456
258
261
110
137
356
162
528
417
66
408
153
122
857
485
593
211
645
370
547
211
817
628
170
295
234
547
341
387
306
489
532
170
518
256
651
24
464
408
482
405
295
1073
222
239
154
514
40
113
292
273
367
360
743
508
336
540
59
467
440
514
433
314
53
168
327
253
303
703
342
853
680
289
419
382
798
452
313
291
333
300
372
317
276
19
110
593
641
301
330
317
396
23
287
1049
464
584
655
479
543
678
171
136
222
517
403
278
554
439
454
217
375
338
164
646
468
214
367
262
561
66
334
694
294
390
195
654
826
313
213
515
369
213
453
456
304
279
357
164
236
277
754
662
312
236
248
417
49
269
533
375
410
384
543
501
156
291
741
36
41
285
183
873
271
107
274
563
266
81
251
15
415
516
440
270
250
223
683
136
48
207
610
327
529
590
599
706
678
707
500
477
477
748
352
571
219
300
434
287
769
883
262
217
297
429
334
691
126
208
285
79
661
551
424
585
89
614
508
120
642
442
301
339
147
459
470
112
454
241
529
870
428
219
288
341
220
573
320
216
220
777
393
558
344
75
277
46
259
268
748
335
338
50
439
500
488
362
522
338
145
350
365
436
130
750
281
289
146
583
301
545
96
392
436
538
640
501
532
208
517
532
309
414
520
289
151
109
391
100
719
606
139
271
282
463
478
412
437
289
417
310
240
361
162
294
222
482
528
124
298
207
257
1000
401
152
292
342
276
333
689
592
428
115
311
130
90
435
528
478
276
128
251
185
203
529
495
100
390
266
659
92
420
527
459
618
447
429
639
215
68
548
277
97
489
160
481
16
447
649
37
601
1070
326
419
271
408
434
1007
188
399
51
376
547
581
384
413
100
32
520
437
518
669
162
218
316
266
408
334
540
891
600
724
320
736
219
800
556
823
54
551
206
361
278
328
492
669
219
742
579
736
132
87
704
402
195
195
356
649
27
872
589
384
235
184
274
302
284
470
539
433
367
471
155
602
343
342
118
477
316
617
566
273
371
349
155
410
407
173
838
265
54
288
589
143
374
341
254
623
885
622
526
335
240
448
543
145
133
219
305
706
512
633
281
646
220
628
319
606
198
192
569
533
68
579
333
501
565
431
174
482
470
88
539
240
359
362
309
356
242
508
536
325
187
434
469
427
235
630
257
197
338
637
331
270
512
676
243
482
346
685
255
313
258
235
299
66
217
337
427
348
198
312
291
422
419
207
448
251
349
139
211
128
637
662
435
435
927
249
232
312
302
595
254
585
390
376
447
483
95
413
178
503
300
431
128
395
447
177
705
304
470
434
430
317
364
66
574
284
49
372
561
707
513
632
439
310
228
347
74
438
295
756
279
555
302
624
479
473
428
253
625
314
91
176
185
878
324
267
473
849
213
716
516
259
512
274
96
678
74
252
377
605
463
639
269
136
120
447
320
166
310
430
767
415
285
522
646
151
468
560
436
289
124
197
695
339
509
317
354
550
400
256
297
213
392
441
613
111
310
763
656
895
343
365
230
485
286
691
169
302
554
159
571
549
199
279
274
499
606
862
162
644
312
215
537
448
233
302
316
619
252
823
479
266
228
636
531
157
455
527
247
434
164
111
212
377
282
277
816
418
341
412
152
263
472
659
256
413
272
587
224
730
666
423
536
25
204
278
199
720
149
245
261
246
638
385
263
661
632
258
393
475
206
323
107
746
180
563
460
218
207
291
443
150
286
405
595
136
766
43
401
169
304
613
272
435
529
91
71
507
728
550
260
495
690
1014
482
399
332
236
42
458
88
46
279
384
129
630
534
504
107
388
534
183
551
531
460
116
655
882
383
326
297
302
462
287
230
137
277
615
493
476
435
71
236
402
254
409
388
399
769
367
300
284
330
321
393
744
257
298
753
340
605
75
820
133
483
131
342
452
94
25
276
262
313
122
186
264
698
408
216
340
602
248
287
375
335
663
425
848
29
395
242
417
560
561
159
296
228
326
375
629
655
347
74
155
290
209
292
232
256
383
483
323
594
371
403
112
468
816
228
364
581
185
510
170
881
199
560
845
290
495
429
160
341
347
693
191
217
552
345
518
559
361
609
217
538
216
279
599
448
222
606
389
564
174
128
414
135
700
175
466
334
674
618
919
1054
425
695
448
345
264
564
697
348
281
91
231
17
580
507
278
570
322
536
214
137
305
323
375
405
586
327
620
100
222
718
460
86
366
345
562
74
597
524
307
399
262
498
188
558
486
734
249
730
539
41
742
117
235
176
153
27
473
103
734
205
120
329
137
317
300
491
186
279
276
403
256
735
562
274
530
350
572
267
189
330
260
316
393
721
548
158
200
300
609
714
243
281
574
210
145
628
524
397
439
607
254
512
575
480
331
286
271
125
440
685
191
330
79
944
208
61
162
239
138
218
479
619
340
777
803
869
227
93
699
555
292
842
655
197
559
904
497
440
385
522
480
50
253
229
361
288
231
545
191
454
553
515
459
860
318
147
320
369
317
636
536
427
196
642
493
120
324
173
529
395
542
67
372
309
518
239
728
143
443
244
657
115
450
581
854
175
16
442
361
230
109
356
192
140
395
375
160
797
481
211
1069
555
569
177
337
63
514
337
729
518
443
756
469
360
110
186
126
209
380
272
150
564
147
480
160
227
233
178
218
286
484
470
599
441
422
391
452
162
505
386
241
211
518
253
416
63
439
326
640
154
514
262
309
428
222
774
554
457
1166
341
140
343
270
503
946
248
131
125
193
108
441
670
589
264
384
414
662
793
496
184
252
360
220
513
618
464
406
434
529
472
183
398
122
315
200
163
138
309
65
372
656
492
514
479
554
567
481
419
197
354
447
503
341
693
238
505
93
458
327
153
308
555
162
249
296
388
837
317
345
612
614
157
53
409
156
130
384
523
364
363
91
440
108
259
97
420
159
374
487
690
303
118
548
322
397
248
859
644
502
329
643
672
862
455
27
245
205
256
537
243
325
264
662
109
484
75
377
250
574
405
226
604
37
243
30
310
573
242
390
656
474
463
565
238
490
280
505
734
221
261
401
572
155
331
244
384
290
416
662
222
479
446
412
444
290
124
673
322
340
355
709
509
417
350
436
438
180
85
251
187
105
153
515
131
86
341
272
612
375
651
160
507
287
234
12
505
68
86
651
96
542
511
265
629
277
280
445
520
309
215
469
183
472
411
191
382
471
748
368
530
329
290
378
136
373
371
115
479
675
163
290
672
664
78
336
106
57
741
180
866
338
292
135
309
433
478
366
461
704
356
205
641
546
442
154
483
343
131
317
517
521
483
309
389
37
271
502
151
335
185
548
314
733
312
655
269
363
179
424
392
484
336
617
449
995
310
128
194
164
187
253
337
300
443
162
319
76
319
145
362
234
186
609
354
759
382
752
699
508
609
65
598
268
533
222
150
399
524
303
343
531
353
498
171
225
108
247
954
469
93
145
470
96
265
204
251
298
277
169
279
493
326
560
137
230
582
385
264
154
193
443
438
567
527
417
86
401
107
206
246
637
210
676
716
19
149
279
155
159
380
260
274
812
350
409
300
453
253
365
314
382
168
234
504
104
169
105
155
274
511
874
574
81
516
325
222
274
213
147
424
151
103
706
128
653
219
394
156
198
365
719
455
477
214
434
306
451
1032
763
457
710
514
628
510
173
330
429
356
217
225
688
323
416
281
343
592
332
354
548
289
556
194
257
640
134
341
316
182
146
153
710
331
388
432
208
207
621
560
386
184
321
19
123
602
486
540
205
459
228
145
400
265
750
418
504
172
737
697
746
234
419
519
722
398
598
191
157
184
552
186
269
266
626
663
204
621
448
380
413
292
180
450
561
272
277
574
262
188
324
857
327
336
725
658
519
431
159
117
408
569
639
459
285
252
180
235
92
748
340
212
191
173
658
543
695
328
766
65
555
394
275
392
423
231
383
497
720
435
232
416
510
899
478
318
301
589
662
330
85
620
809
521
432
664
169
359
219
634
221
231
227
57
351
74
958
367
127
219
316
598
540
60
713
448
268
196
538
286
102
160
217
680
639
765
88
238
104
384
341
378
243
219
533
157
147
444
305
115
120
1031
528
392
98
220
191
189
410
578
153
508
372
195
276
568
519
391
230
190
449
764
34
757
418
489
772
438
430
656
88
52
919
743
640
295
178
130
362
198
1003
520
595
347
370
182
76
157
290
548
341
229
215
287
716
537
368
422
175
434
414
365
653
63
81
494
173
472
269
333
442
369
712
492
114
108
273
354
704
251
227
449
187
430
374
524
356
542
472
220
583
295
949
317
471
268
160
454
520
387
416
175
347
34
281
494
648
663
551
679
249
340
128
334
742
218
325
270
165
303
196
526
306
472
351
418
545
315
296
203
812
311
520
694
542
203
366
774
216
476
1166
448
583
731
553
342
284
386
569
589
284
84
374
347
53
305
330
182
273
599
592
237
463
863
352
204
537
311
76
504
545
266
399
450
120
782
409
231
226
909
535
677
201
423
997
573
499
327
284
115
697
328
267
262
711
394
303
354
512
259
212
497
654
504
220
363
138
361
323
257
349
297
115
628
494
206
530
530
258
246
72
277
186
545
109
280
157
782
673
612
620
458
218
303
365
126
527
338
243
396
122
483
74
400
249
243
698
661
298
326
77
562
281
446
549
369
44
338
993
683
355
574
537
372
132
578
503
365
264
128
504
198
372
86
487
558
334
94
448
532
354
421
126
226
465
246
342
1167
791
341
456
591
103
166
136
60
264
109
151
580
449
229
568
612
427
557
189
250
282
534
267
278
199
782
1034
542
708
440
195
268
294
316
675
423
146
279
105
1068
330
293
231
601
487
349
293
527
111
63
426
336
96
526
223
130
389
115
664
497
367
602
372
676
97
585
308
204
639
408
325
261
278
562
404
345
453
221
298
298
27
127
86
418
192
480
344
450
539
491
544
452
128
105
450
597
346
651
275
750
492
101
475
641
839
467
141
653
529
532
296
539
438
399
876
168
602
635
567
362
656
268
310
145
218
562
411
348
603
504
455
387
603
557
221
484
321
624
108
924
701
420
95
751
260
47
334
136
325
491
208
344
89
361
494
47
379
191
190
391
465
339
434
160
116
694
346
638
605
562
442
421
653
918
413
890
491
528
295
646
734
431
211
245
343
73
115
373
189
467
217
162
95
74
161
474
259
155
315
228
654
500
958
166
187
442
139
581
492
344
352
407
252
321
299
728
458
126
619
85
148
135
228
800
302
470
59
554
107
414
155
369
195
445
32
525
273
305
425
528
675
499
160
218
236
744
81
190
598
138
167
514
224
460
171
829
642
600
153
98
501
680
324
160
379
162
220
461
564
341
532
346
501
468
952
584
316
735
174
564
89
187
400
316
607
92
476
299
468
477
378
795
1028
302
211
103
231
442
196
123
499
615
312
95
348
811
188
368
465
519
75
339
378
128
345
453
566
300
538
433
341
170
611
247
91
1019
369
58
533
755
145
381
275
397
316
401
212
627
198
286
678
96
191
777
257
501
495
219
460
620
296
499
363
356
179
552
204
494
405
281
389
660
310
428
604
156
182
316
386
223
298
441
288
252
146
625
615
908
157
601
315
480
161
228
501
382
742
666
358
394
362
567
397
240
537
263
545
525
337
216
427
407
500
290
307
558
403
748
118
438
605
307
367
73
288
164
468
369
236
535
697
281
112
140
596
163
692
243
421
198
127
544
158
674
399
246
449
150
229
138
471
873
415
894
880
330
402
298
162
178
183
475
993
351
128
820
242
741
384
673
563
571
243
584
355
571
590
547
501
552
102
466
292
202
153
327
371
743
386
115
474
115
594
433
348
355
514
362
33
589
54
259
235
588
446
232
582
658
358
571
475
239
167
36
417
347
245
509
178
149
725
160
506
351
454
634
803
318
92
375
364
669
428
231
510
353
539
361
211
288
814
619
329
130
184
327
198
292
311
761
145
216
206
380
430
458
799
359
125
800
429
180
576
435
301
706
500
146
476
281
219
566
46
500
633
472
198
650
297
307
1082
57
500
660
769
539
350
114
414
472
221
543
62
399
333
448
377
241
469
362
718
371
374
246
481
271
524
215
551
431
380
173
25
247
230
161
76
333
308
274
358
388
444
150
396
511
273
43
346
255
76
515
472
267
92
627
441
502
459
441
351
165
370
271
422
622
199
216
284
271
877
35
733
407
422
466
704
780
77
59
289
305
445
293
256
749
420
551
510
105
480
321
434
234
219
554
214
278
244
160
195
87
348
386
225
138
407
310
159
228
298
210
306
194
666
316
217
336
376
430
575
256
713
228
387
650
603
371
530
187
706
268
548
835
558
284
215
219
153
334
186
522
357
111
152
258
544
719
72
619
717
337
799
287
473
438
299
341
117
224
132
382
241
119
109
561
58
244
318
86
399
468
289
126
382
553
78
394
160
146
245
413
122
212
694
97
354
428
304
621
347
148
207
393
168
395
574
180
337
399
541
231
391
582
376
251
585
388
540
471
664
601
346
381
473
921
206
595
500
509
381
210
297
280
126
268
537
158
363
393
896
364
273
130
23
424
361
267
108
420
384
302
354
396
237
156
46
587
436
618
278
346
322
447
705
210
499
437
131
229
337
643
264
234
369
462
585
215
74
125
175
601
498
214
357
264
592
428
641
322
629
119
797
682
110
321
621
641
534
372
312
280
205
448
127
363
510
549
579
173
484
584
407
210
164
115
389
542
558
100
91
513
293
137
473
539
370
723
602
164
444
83
194
481
428
298
496
592
464
509
207
242
101
156
502
138
360
221
153
204
409
88
102
668
667
492
568
460
245
310
106
575
117
438
565
115
366
566
589
385
244
436
498
540
642
642
268
185
244
310
305
273
589
484
293
453
653
215
323
412
479
229
310
557
432
443
76
281
747
370
280
580
342
290
148
94
351
932
282
437
283
720
332
311
332
873
756
146
400
135
407
413
349
712
158
642
77
468
361
282
360
348
406
74
404
187
302
170
249
580
465
498
449
463
557
332
453
592
756
166
280
656
74
159
615
205
430
655
283
713
579
320
380
674
701
201
195
146
106
236
535
520
442
145
154
366
283
415
289
88
248
621
165
495
8
570
124
281
186
408
175
358
539
522
392
128
502
88
355
375
558
464
111
500
652
252
459
270
227
561
207
270
545
64
312
943
321
291
686
107
329
552
461
44
218
548
543
652
383
163
114
407
307
153
48
93
582
797
555
107
760
186
662
243
383
849
519
347
288
253
413
42
194
150
321
432
646
79
344
340
886
145
286
537
193
267
1086
172
42
70
790
119
378
269
263
218
1093
805
405
404
165
249
205
380
543
222
347
402
560
759
338
678
535
182
853
43
172
405
216
403
726
184
277
29
887
410
817
298
147
505
542
283
690
317
508
575
733
326
232
339
108
497
372
574
557
191
760
209
119
204
533
301
187
317
202
87
314
394
206
250
199
646
491
676
334
401
527
250
403
280
6
161
255
222
236
449
454
387
182
315
347
714
270
342
190
244
256
213
442
580
541
651
322
915
559
470
186
537
439
179
516
478
662
272
317
687
652
266
206
106
437
794
563
401
749
79
422
611
414
312
58
269
486
173
465
326
777
186
584
370
391
427
88
338
229
323
494
374
667
528
125
146
221
411
664
312
35
471
224
473
460
120
394
171
589
373
568
350
284
108
234
453
841
501
392
146
234
85
363
238
440
818
294
899
171
447
1001
132
387
13
692
353
106
165
407
325
694
549
538
131
692
373
212
274
143
407
374
221
402
492
354
527
211
431
205
696
387
427
302
232
229
141
419
475
162
400
548
468
444
451
670
228
309
16
238
398
644
337
458
215
261
442
341
401
450
226
327
100
346
251
647
162
523
597
681
320
388
408
246
626
322
753
254
184
372
314
770
157
332
362
294
745
132
51
74
276
147
459
280
560
307
295
504
563
715
543
686
138
412
219
550
241
422
534
270
142
341
201
458
488
195
320
627
534
295
14
587
249
312
662
859
395
430
198
179
164
426
585
274
175
289
471
651
399
296
321
467
810
369
233
260
375
195
322
741
207
263
208
884
350
362
164
321
361
240
85
204
571
928
254
782
536
500
202
484
663
326
170
202
304
326
163
220
627
464
42
375
773
244
98
275
205
905
40
321
383
561
210
331
240
264
342
309
432
378
292
110
345
353
233
244
553
210
301
283
568
181
388
173
573
222
643
677
27
758
731
93
566
293
194
266
332
339
631
211
201
236
405
331
257
388
314
380
489
813
570
742
631
306
233
335
527
346
426
653
569
545
663
221
640
645
288
326
706
1017
245
553
125
343
605
309
350
363
377
160
384
308
199
184
165
347
447
1005
154
228
288
183
342
146
261
169
561
104
199
206
554
621
62
320
705
557
417
311
303
108
232
368
887
135
267
282
233
42
314
299
776
167
208
615
305
132
238
316
443
151
212
224
425
227
494
227
314
518
186
230
266
444
468
76
585
273
1110
86
573
486
519
21
534
269
323
141
270
288
145
340
1042
563
533
265
678
441
636
143
129
471
26
352
433
99
623
370
545
29
192
270
433
224
514
110
236
201
524
581
236
510
832
287
155
422
615
316
248
532
417
339
520
607
158
337
111
348
1147
405
672
370
156
555
323
554
381
578
548
466
582
599
211
402
149
750
483
233
302
296
695
171
344
718
582
285
252
621
919
316
30
302
420
158
19
151
485
658
517
489
62
389
206
224
833
349
292
660
344
323
610
128
44
287
276
149
585
246
686
118
204
398
666
263
236
970
336
545
380
111
207
324
481
402
553
461
325
755
343
433
441
520
345
462
376
475
449
548
311
660
546
340
235
199
280
459
136
593
350
319
524
349
143
204
503
127
377
220
189
354
348
333
99
56
298
62
594
606
342
541
155
515
149
379
475
391
640
167
435
303
637
93
599
197
342
195
736
201
280
482
217
578
163
465
396
705
144
418
197
344
357
364
234
185
329
486
395
406
535
537
325
303
387
166
137
296
112
427
171
181
353
385
207
173
266
317
244
398
467
625
612
111
474
593
314
536
117
506
88
178
294
314
416
558
467
173
483
172
478
363
203
273
134
130
815
231
407
565
264
228
478
527
421
68
458
129
173
393
177
167
246
413
191
640
143
192
460
239
342
539
231
566
317
118
173
150
76
196
722
427
497
337
217
364
233
397
387
427
505
257
29
155
319
421
148
294
461
489
400
361
582
322
138
499
413
218
844
324
137
420
331
690
222
568
341
677
559
382
345
418
263
251
775
524
772
96
107
449
422
745
437
376
295
48
254
415
272
513
418
414
341
341
169
579
576
285
305
286
218
294
347
467
506
258
192
534
551
354
143
478
226
128
390
369
362
575
465
204
415
46
317
242
196
310
307
281
874
516
140
545
264
579
85
288
359
238
321
352
259
316
331
790
471
413
672
129
117
572
555
315
388
451
427
156
259
246
642
241
283
102
1104
321
258
188
516
606
306
448
350
463
105
398
73
533
815
346
148
667
165
274
560
177
378
214
277
250
352
553
550
449
295
126
482
240
695
535
720
388
478
349
282
309
135
338
183
210
191
327
747
188
143
314
137
508
175
915
647
432
432
100
407
465
652
382
496
744
500
370
538
531
526
203
194
213
755
662
137
689
393
420
325
612
320
278
734
310
427
290
612
239
481
288
113
312
523
237
480
670
411
427
94
278
245
86
555
483
302
395
638
373
675
370
782
405
607
570
233
272
115
637
472
358
162
309
21
533
344
252
654
331
325
428
116
540
194
220
688
138
176
403
281
325
143
258
547
342
217
248
338
66
127
34
357
180
180
216
355
682
475
287
678
669
712
272
31
551
785
174
302
688
444
346
559
707
444
259
103
497
297
139
122
16
218
60
631
234
777
507
80
640
491
317
746
706
221
476
397
171
130
133
401
384
123
464
157
354
185
559
187
761
38
146
826
554
280
240
454
356
108
248
309
813
503
568
342
147
309
750
291
163
265
80
555
460
213
261
1085
578
317
109
307
532
548
503
1131
443
383
865
344
299
193
339
228
393
249
387
374
424
52
278
451
654
72
206
783
191
604
383
475
587
707
287
397
277
198
412
554
504
133
400
179
150
557
74
565
511
227
165
636
334
88
355
368
349
826
100
455
258
602
247
305
61
341
167
120
476
179
695
599
379
456
717
508
69
536
492
69
494
498
315
169
64
186
346
59
411
449
114
276
116
74
705
147
662
213
213
522
180
705
188
219
521
275
392
264
162
108
523
116
361
304
480
627
418
312
227
386
570
517
168
337
595
665
299
322
339
206
454
380
419
217
63
268
135
95
52
453
696
551
301
562
372
188
160
384
332
316
138
430
135
57
341
497
456
546
205
631
251
224
370
356
546
882
486
285
335
483
262
269
566
343
364
274
465
414
615
297
751
512
342
273
194
560
672
666
113
333
645
343
227
364
500
545
290
389
527
306
186
391
286
109
905
254
225
238
517
696
212
586
647
1019
227
292
749
681
602
80
361
237
854
534
485
300
321
571
612
754
136
404
386
234
521
201
610
399
724
596
833
806
503
228
227
867
262
689
466
161
223
180
328
637
179
158
406
197
184
393
412
606
858
292
546
80
278
500
288
608
444
467
496
172
607
292
71
312
192
96
98
349
479
278
123
583
428
244
267
414
508
141
384
197
405
208
254
342
329
364
423
372
413
410
351
222
213
376
865
315
338
226
447
569
762
279
689
478
108
442
192
69
32
335
290
556
535
261
528
255
211
211
545
178
965
301
140
704
549
310
379
112
395
275
229
528
156
377
437
220
313
245
655
418
196
612
334
554
392
597
273
276
311
102
360
230
444
733
563
200
615
479
955
785
600
366
95
369
297
592
511
182
433
649
33
316
396
536
178
258
298
180
503
405
274
255
137
153
258
813
645
227
272
219
411
438
127
1144
166
96
501
279
235
400
407
197
436
42
525
345
526
43
509
769
137
598
360
316
390
171
109
455
238
7
756
137
566
253
345
254
341
618
458
379
335
175
63
408
268
196
752
168
74
303
325
581
360
257
428
213
165
397
309
358
747
322
478
395
437
526
902
1005
320
272
622
236
509
180
265
124
411
372
312
305
316
325
402
625
586
366
323
333
378
917
234
665
305
490
305
197
278
458
400
384
569
108
517
473
483
621
332
461
793
214
239
560
419
609
496
338
477
154
486
194
171
160
557
359
68
412
129
499
338
289
811
155
343
384
590
164
123
182
339
129
130
229
456
453
234
209
83
653
704
420
137
526
274
378
106
433
201
369
278
181
332
298
422
543
292
520
305
687
52
565
235
370
284
167
215
191
233
282
768
538
83
392
160
457
184
350
234
354
471
486
15
404
380
629
331
345
220
591
286
317
593
78
481
515
262
107
509
180
625
63
296
415
367
526
406
551
685
338
102
365
365
161
526
120
384
394
309
456
74
198
447
183
49
413
288
191
390
412
561
112
447
710
176
36
328
434
885
511
383
54
264
262
225
101
309
632
357
229
381
210
88
225
573
156
664
130
150
137
71
348
679
384
497
175
401
156
72
660
471
298
99
737
273
380
678
89
396
371
206
474
217
314
490
197
340
222
490
583
588
291
58
111
459
38
486
451
886
553
591
425
385
563
168
481
571
248
55
137
302
206
412
588
225
381
327
678
545
576
199
514
623
278
295
207
78
267
518
355
790
724
327
381
366
499
564
706
580
620
649
438
283
264
639
478
169
32
280
234
416
596
372
323
698
124
46
623
355
105
226
504
438
213
231
80
306
791
454
62
509
605
291
134
463
620
197
758
157
427
183
496
84
93
497
294
234
103
371
307
569
455
797
155
211
157
325
263
370
644
227
540
165
394
731
504
246
359
786
468
433
438
380
590
696
299
171
626
286
681
578
315
238
103
90
678
157
352
482
434
626
243
464
338
417
285
347
483
317
34
562
485
469
297
471
561
362
925
285
369
756
531
129
161
621
132
638
559
425
336
355
516
370
334
243
472
279
175
675
109
22
408
578
294
235
318
548
474
217
88
384
692
486
287
368
204
241
71
174
262
82
305
157
309
251
317
750
224
546
220
283
363
576
353
232
400
536
527
312
229
527
488
963
129
390
347
583
201
254
352
212
427
588
43
364
789
222
230
601
109
102
512
467
112
199
687
333
324
268
210
392
619
211
379
318
364
310
181
500
588
173
409
433
398
168
431
569
326
578
104
278
355
216
169
319
498
384
231
392
528
827
365
75
568
356
644
621
497
54
386
496
153
393
390
215
221
115
201
752
261
526
386
369
848
18
323
334
382
220
586
540
1010
232
244
441
765
547
282
450
601
503
616
428
558
420
292
605
111
266
309
671
221
586
264
517
964
940
532
161
479
418
360
290
364
755
487
275
526
28
345
124
304
232
590
449
288
808
185
327
807
274
349
662
358
770
499
298
651
247
1005
97
255
203
443
510
502
539
271
228
207
308
517
742
464
177
470
516
223
711
196
573
404
56
133
419
521
254
174
450
478
90
553
385
172
488
254
505
553
418
277
522
319
731
424
586
320
102
356
166
133
123
645
818
704
395
685
247
485
162
347
351
237
121
758
142
224
235
328
261
45
360
272
305
356
926
157
59
277
448
692
357
123
282
456
60
694
231
577
543
382
254
406
378
605
357
286
646
472
933
529
209
655
665
376
273
98
584
708
180
473
444
804
176
450
276
350
355
281
601
332
331
258
321
238
373
520
191
60
440
709
502
317
448
419
367
355
84
162
186
235
119
356
373
337
566
132
186
283
530
359
158
254
318
294
360
405
35
495
854
635
138
437
611
296
125
369
305
778
391
184
345
514
245
592
209
241
442
360
676
805
354
710
298
536
478
438
663
356
59
92
121
665
575
432
445
205
510
413
77
312
243
211
349
244
428
560
221
426
288
510
650
187
420
481
397
290
251
1105
19
552
275
487
130
717
256
477
221
767
567
522
664
408
193
155
215
129
405
898
240
469
606
323
95
474
772
628
691
600
305
148
378
422
588
238
142
541
264
870
83
310
460
424
217
312
180
213
357
409
357
246
132
683
297
278
650
215
310
372
622
219
353
240
319
330
241
628
181
384
407
342
379
753
395
590
268
480
371
410
646
483
478
311
479
477
343
227
346
502
362
394
507
719
207
441
727
562
391
49
227
306
444
153
218
296
99
181
105
537
199
229
354
640
303
223
177
254
402
494
217
397
289
274
306
674
447
697
510
123
312
535
438
721
503
159
418
121
97
672
170
469
246
404
167
239
341
284
346
573
328
636
290
262
621
378
798
114
802
230
599
597
263
463
294
314
457
435
244
75
650
561
285
287
525
313
228
367
461
1007
137
439
244
171
291
592
643
865
358
485
530
557
281
320
567
332
190
431
149
442
305
541
354
304
254
546
254
448
528
347
133
275
96
344
122
299
687
396
395
264
298
367
292
428
179
289
630
1037
522
198
258
768
262
398
90
816
70
257
318
190
168
248
726
586
428
516
655
310
94
765
518
359
454
444
193
435
594
45
565
277
409
239
698
66
217
337
324
491
344
360
463
793
445
430
170
886
526
452
648
946
120
424
564
366
318
336
510
318
333
433
619
606
542
335
200
249
209
886
369
627
125
348
324
402
608
192
205
683
342
342
390
616
63
430
365
604
762
503
672
168
526
684
423
269
345
96
636
269
449
470
654
598
525
390
510
606
136
416
343
242
520
123
179
765
270
550
577
785
233
505
609
506
314
515
326
564
263
82
243
567
123
688
534
776
629
241
600
688
596
326
808
197
513
379
221
311
282
241
637
460
155
562
538
355
726
368
665
679
65
1073
269
258
162
25
647
171
366
275
315
315
25
682
144
498
217
320
213
202
240
133
151
161
171
263
225
370
493
149
362
631
355
178
422
426
288
287
51
199
451
240
505
468
153
553
389
390
195
286
333
73
649
161
226
233
453
227
411
151
276
549
48
151
396
208
456
494
530
508
116
391
478
372
531
505
520
942
442
741
523
214
598
568
332
67
337
651
558
204
465
449
129
283
314
480
421
791
269
242
422
382
1038
194
149
418
184
322
475
106
509
573
407
167
314
255
360
413
303
490
682
329
520
375
238
37
274
209
544
605
277
523
167
297
98
95
258
65
663
114
740
550
916
422
629
579
277
122
112
366
167
325
215
578
130
358
343
421
279
629
127
290
361
328
414
720
270
134
467
483
463
693
110
344
293
475
347
768
381
574
559
468
31
466
403
559
139
284
35
687
611
505
298
203
74
165
521
455
265
483
587
181
285
516
213
242
326
108
158
390
140
272
470
132
663
299
926
736
289
680
384
262
288
396
288
233
242
306
202
489
183
875
215
132
685
343
323
183
675
700
286
428
565
250
149
395
922
342
395
227
395
349
637
479
415
311
179
264
493
366
96
365
206
490
330
341
259
258
391
797
315
733
630
19
219
95
214
156
225
345
379
461
431
162
341
160
574
523
294
509
32
476
137
319
890
614
416
208
575
504
281
204
488
598
155
354
659
271
312
477
192
110
531
341
397
747
296
493
200
119
288
335
857
557
155
394
207
211
524
748
350
297
49
544
113
112
414
688
211
345
94
799
291
643
586
144
75
197
534
452
525
414
593
629
209
340
169
672
442
493
461
71
540
92
956
163
85
288
215
415
286
202
276
410
153
557
759
288
128
248
277
193
208
189
244
362
194
46
506
64
124
565
108
204
584
410
528
391
128
262
562
661
579
359
546
254
373
160
506
238
76
951
352
110
110
153
757
148
275
367
352
577
657
215
165
462
549
341
350
356
157
476
678
234
253
375
324
603
488
127
489
183
353
121
482
36
436
255
373
566
263
189
288
403
250
577
711
528
178
232
426
139
281
486
394
556
584
413
887
143
365
113
632
703
377
226
198
361
113
651
697
243
152
288
512
265
426
271
253
99
245
433
715
301
214
367
506
381
517
962
295
179
364
479
231
546
534
537
473
88
334
355
422
317
467
535
581
708
426
253
343
377
672
329
547
220
552
491
101
932
370
34
417
556
185
439
322
406
691
364
365
380
199
198
412
301
526
229
348
447
399
287
460
604
340
256
392
189
233
463
571
176
167
586
957
284
320
52
748
468
397
66
387
420
190
151
604
671
326
708
686
483
214
432
349
356
302
248
263
453
479
194
760
287
27
336
172
903
682
335
319
498
552
21
141
489
145
355
159
238
548
288
317
329
217
278
81
297
682
208
428
243
453
379
204
691
89
225
338
672
453
506
165
442
616
241
460
373
415
528
524
266
363
523
212
392
288
575
425
778
305
393
83
338
162
536
756
602
665
556
213
114
303
554
370
197
323
632
146
679
207
531
240
578
223
60
720
683
320
314
421
212
676
342
291
334
543
211
317
290
698
79
205
356
318
793
454
422
243
268
331
230
222
274
256
298
93
228
121
295
280
601
576
510
288
467
384
387
539
421
539
457
311
675
266
70
335
60
318
453
226
319
487
712
438
534
157
511
304
185
349
707
533
189
555
193
241
87
264
391
498
491
120
286
63
258
508
660
375
56
381
208
168
649
74
555
429
229
562
224
348
169
785
482
130
278
258
277
186
245
381
600
325
570
131
539
77
782
194
532
611
317
163
387
327
82
720
166
418
535
190
881
316
282
442
457
392
111
148
93
642
53
211
392
105
287
213
357
514
177
523
687
115
539
330
318
448
664
44
355
282
402
106
694
394
363
699
266
372
504
254
206
568
784
331
289
89
682
705
282
275
548
849
384
338
15
309
507
197
351
312
513
288
322
277
117
519
8
318
402
310
713
324
288
354
529
551
452
397
312
271
309
428
171
524
88
799
309
105
555
259
158
528
167
303
507
118
575
285
716
215
575
464
544
205
221
415
371
595
62
630
225
913
88
472
232
244
233
384
379
594
370
391
90
303
305
343
633
770
310
264
170
554
260
269
553
281
531
85
197
446
134
161
328
306
417
453
281
542
328
279
803
197
506
736
654
488
89
304
333
635
863
130
146
696
238
352
459
448
217
197
339
186
379
215
566
397
552
268
474
136
524
900
380
142
555
296
253
485
276
147
661
385
408
429
560
548
690
121
407
280
268
151
94
323
285
222
468
545
736
88
376
742
272
356
273
312
416
422
696
318
179
127
217
331
708
568
636
197
686
333
80
303
561
680
187
433
335
262
588
258
324
308
445
714
47
270
197
311
550
398
124
511
196
288
102
449
431
299
401
475
470
221
241
518
414
26
745
428
518
161
123
148
546
320
152
194
324
184
270
316
196
178
251
373
475
402
419
305
92
563
381
81
276
469
280
160
492
303
293
435
167
293
106
405
622
225
617
698
496
562
284
710
177
241
475
648
664
731
281
352
390
238
232
552
202
98
235
391
139
388
582
387
163
518
508
567
191
248
555
215
220
457
519
342
853
445
151
701
197
568
93
500
168
744
489
114
627
157
530
461
203
227
579
465
561
72
275
212
498
526
73
640
153
268
714
283
705
411
81
301
274
536
736
548
337
303
508
123
508
757
369
682
362
97
201
437
255
49
232
339
278
866
197
413
243
313
114
305
355
203
39
117
348
285
726
120
393
9
406
223
324
205
240
798
558
475
144
380
269
281
156
563
568
166
651
155
305
563
226
289
536
192
13
325
448
172
426
587
155
37
750
320
585
342
104
338
360
453
294
606
482
323
489
44
139
371
583
300
150
241
296
429
463
188
640
212
315
314
100
317
148
301
119
249
337
111
117
329
890
432
281
621
127
945
742
42
390
469
217
218
379
382
371
486
162
482
540
298
338
804
447
55
308
327
471
334
396
431
123
673
240
575
359
388
97
569
588
306
492
503
186
144
151
349
664
654
28
736
299
598
340
288
607
79
801
585
107
198
427
315
78
376
781
212
129
569
92
521
233
393
555
778
147
535
417
397
225
335
461
331
222
489
557
206
142
81
100
501
371
436
236
100
13
105
746
707
653
133
223
271
272
477
519
116
363
332
268
151
213
229
330
607
197
148
615
206
600
476
157
207
301
38
518
281
289
340
185
361
125
671
479
354
351
29
561
249
541
220
104
643
911
49
80
284
409
527
425
315
428
547
469
479
306
141
581
234
522
174
483
348
209
77
540
164
293
459
230
416
913
380
347
177
252
379
271
280
245
470
682
313
394
344
646
275
457
408
609
175
94
633
581
578
286
572
665
35
489
318
299
574
204
481
209
507
347
424
418
481
146
246
611
382
544
529
417
626
94
898
386
672
329
117
664
485
570
454
516
433
193
611
203
150
426
165
414
377
184
637
416
156
524
297
244
356
484
576
405
168
292
746
421
435
386
351
270
262
68
64
363
350
127
71
123
649
579
396
417
354
435
185
173
528
137
339
206
615
838
475
426
588
193
774
156
468
619
90
143
462
582
308
301
480
267
134
125
895
536
670
773
127
641
540
165
152
157
632
125
907
182
511
663
161
449
266
222
97
99
187
905
233
9
386
509
276
222
218
153
31
741
560
319
468
182
395
479
504
387
518
591
452
506
21
305
285
268
685
268
191
36
207
464
404
244
227
169
584
695
192
787
371
416
278
173
962
491
290
281
205
66
788
749
421
253
361
379
141
296
413
305
437
200
550
458
248
152
241
540
445
138
106
393
437
286
374
196
371
110
321
695
536
192
290
662
346
503
283
510
735
250
248
302
523
55
529
367
215
402
312
238
595
471
395
605
418
72
491
827
578
200
264
377
191
48
270
90
505
348
601
315
363
358
74
33
682
337
474
432
520
228
616
406
704
310
128
251
220
530
327
299
134
324
345
310
225
569
464
112
664
433
663
209
210
103
481
167
373
426
500
354
485
364
596
510
232
472
626
275
577
223
877
393
189
245
721
989
472
634
134
499
573
319
729
697
553
459
418
203
199
458
588
483
1006
181
114
335
401
337
291
750
161
501
622
554
557
159
697
495
123
108
683
267
472
499
345
133
123
241
136
312
679
690
312
320
163
411
322
397
564
317
293
56
461
100
394
219
210
104
412
325
111
145
401
258
342
556
591
478
472
524
464
273
490
511
792
574
273
225
468
75
440
123
341
274
472
315
543
439
246
152
572
670
91
68
82
262
627
217
696
305
225
241
88
151
314
146
525
477
422
315
260
348
218
276
259
390
459
312
322
350
450
187
412
300
283
379
712
607
506
421
390
324
400
171
287
343
919
74
259
333
376
142
562
584
177
322
494
207
342
189
174
265
467
737
943
303
622
385
391
498
431
153
550
796
141
618
393
494
537
451
607
420
193
155
160
448
366
411
463
435
106
424
189
141
233
161
420
294
175
611
233
212
366
563
443
158
962
586
333
282
385
186
217
549
334
407
225
306
119
667
264
673
362
287
774
708
37
242
230
384
538
748
613
915
522
405
163
305
555
193
88
442
409
286
431
158
500
455
566
394
241
165
693
314
303
638
89
313
334
544
268
524
465
239
870
269
383
457
318
125
354
272
328
312
395
95
240
308
328
257
214
258
435
250
476
276
328
309
207
245
219
433
351
222
314
671
33
57
310
404
431
233
523
361
92
441
743
164
586
523
705
511
309
726
422
878
501
424
338
921
541
558
357
382
430
504
344
580
166
303
590
796
345
905
643
336
223
217
514
307
256
413
286
304
109
139
31
482
479
32
302
332
126
467
932
608
355
21
513
111
611
271
419
765
17
311
370
237
329
325
376
402
415
211
193
220
336
192
500
174
544
128
234
456
131
279
191
400
366
575
313
287
129
586
613
325
625
571
389
467
695
664
651
842
237
704
93
543
208
58
435
240
436
236
392
456
616
258
591
293
423
237
92
682
426
362
233
380
209
595
128
392
509
433
367
298
225
524
315
626
235
121
601
231
339
706
372
130
219
217
411
429
564
353
398
221
331
1094
570
296
347
681
289
476
448
175
211
569
921
213
195
249
715
302
392
401
145
277
581
675
636
480
239
290
112
92
432
629
446
235
402
140
450
384
178
233
161
466
201
635
458
276
241
158
278
497
447
386
234
46
639
212
544
200
97
149
330
456
167
79
261
356
504
493
281
342
519
246
219
349
754
312
545
631
314
378
366
392
327
261
362
211
275
350
712
675
207
333
160
698
143
469
195
475
476
393
111
490
276
263
211
457
167
632
170
42
740
400
251
157
674
518
562
543
233
358
256
387
440
549
258
441
650
89
588
24
373
207
125
68
514
328
473
221
424
551
146
293
497
335
327
396
333
671
607
346
452
335
379
755
539
518
103
438
329
534
34
237
705
560
454
645
512
646
376
57
214
258
496
270
683
535
197
661
483
291
370
568
271
249
249
327
514
129
473
185
292
664
762
462
105
596
301
469
127
407
440
655
292
165
374
250
375
519
270
532
233
598
72
112
240
618
453
165
329
32
91
493
508
607
194
1028
64
287
78
131
316
508
58
436
746
264
663
240
632
386
236
459
486
365
454
260
241
353
231
277
473
596
485
488
599
140
430
634
647
357
145
356
92
261
452
295
407
179
357
471
717
358
846
478
783
458
636
440
857
504
387
440
241
346
207
478
140
714
255
861
244
75
566
343
363
588
322
321
322
321
354
152
105
307
704
907
460
337
281
291
712
129
557
297
503
179
476
493
270
306
475
405
427
556
557
492
490
205
391
336
475
230
267
909
660
319
307
398
322
152
396
576
21
448
24
174
73
413
229
610
37
258
267
195
410
504
256
319
353
196
214
382
426
512
585
152
534
202
385
327
352
248
262
363
291
347
81
165
273
201
392
86
177
343
202
710
191
587
463
106
413
412
149
323
18
407
307
111
212
300
505
383
127
161
127
442
208
110
297
598
163
515
143
299
228
650
1033
481
763
306
377
126
173
637
362
679
137
539
293
63
493
865
82
638
167
217
265
526
352
672
286
117
192
548
359
399
423
110
186
394
474
387
509
463
214
256
646
211
660
306
232
227
130
588
231
196
198
467
150
137
434
187
808
68
730
507
356
263
326
427
110
94
604
340
678
129
712
394
254
260
221
879
183
470
678
117
206
561
850
523
346
263
524
484
348
405
326
256
337
241
114
116
268
292
176
759
599
770
507
885
486
413
328
338
435
279
231
58
276
288
545
468
481
138
192
590
302
392
713
549
244
335
598
244
292
448
415
170
606
298
482
372
642
519
467
234
367
218
283
65
186
480
547
142
390
422
259
381
210
412
193
133
328
264
297
429
165
326
374
615
207
570
99
347
467
174
280
366
283
352
480
123
633
612
148
115
180
486
190
123
298
163
893
177
516
152
512
525
152
376
419
239
925
86
626
201
326
597
398
549
401
357
94
707
176
97
305
44
335
551
379
634
625
375
116
174
263
281
670
386
184
70
156
223
486
231
343
288
420
393
343
734
416
300
435
324
168
457
446
149
259
279
481
114
412
184
468
331
386
205
640
362
91
261
990
545
651
304
261
574
347
98
165
381
289
673
640
206
390
393
166
524
739
336
193
275
109
483
606
467
254
695
132
272
270
224
349
488
335
592
291
479
153
697
197
142
154
197
283
108
503
344
298
583
335
463
653
504
424
296
682
223
443
559
81
386
376
713
370
608
239
405
605
193
359
242
774
126
71
60
76
745
403
654
111
436
57
1005
121
498
776
239
395
449
467
262
245
521
164
316
208
434
301
197
344
306
343
636
580
162
43
154
597
633
136
362
289
498
186
337
200
468
351
631
770
484
169
88
452
191
440
33
299
500
102
244
428
413
116
218
338
520
485
194
403
546
457
295
114
412
242
492
311
577
739
545
408
207
539
379
440
222
122
527
580
284
362
760
185
850
181
330
148
120
427
525
270
454
489
80
591
392
146
807
195
515
247
99
402
236
451
170
82
693
317
450
360
248
129
192
299
386
601
666
529
699
655
906
642
159
499
438
508
370
700
140
583
286
1060
476
403
494
473
441
450
398
212
612
418
429
584
203
725
143
798
203
291
564
515
916
154
416
290
539
541
522
302
305
528
798
601
411
74
244
480
445
622
75
220
632
225
607
277
361
473
491
320
154
308
183
391
468
78
508
234
79
580
415
321
412
333
439
452
238
284
188
193
497
206
243
232
651
109
306
415
441
598
445
242
433
805
415
609
583
436
310
74
505
339
265
290
572
444
251
48
302
367
560
253
674
496
260
855
770
609
310
225
395
528
225
172
785
267
446
368
84
146
552
192
579
656
556
364
209
187
602
484
490
304
170
208
252
251
496
388
329
639
131
563
368
584
247
115
483
109
393
439
268
689
332
408
354
725
764
161
965
318
420
184
118
510
551
236
548
620
868
370
529
539
583
274
311
204
149
472
183
779
324
307
115
220
413
518
634
416
193
353
51
284
183
427
417
757
144
308
261
132
211
717
492
754
200
725
196
480
521
1128
400
223
409
363
187
402
175
413
352
443
501
420
217
249
625
321
148
256
386
509
121
642
305
252
460
312
385
601
298
898
501
580
282
614
144
66
212
134
240
523
476
322
223
85
473
336
276
187
306
390
159
251
93
664
301
555
221
491
119
93
537
445
769
121
131
298
427
256
258
296
298
484
637
206
287
99
289
445
223
411
219
394
616
494
401
86
271
600
103
180
354
419
135
167
211
378
255
395
102
36
482
40
86
661
331
351
798
445
647
416
447
216
158
70
348
858
334
197
229
501
388
411
334
374
163
392
152
748
88
230
639
432
570
218
82
822
647
117
211
236
541
397
143
277
109
581
151
230
139
682
532
225
354
486
306
208
408
435
809
172
309
286
586
726
588
420
424
939
200
366
404
404
397
421
197
262
190
212
175
482
154
238
430
236
496
684
997
294
422
296
741
315
93
318
125
101
657
646
580
161
816
159
128
265
483
522
432
319
575
727
634
168
157
713
200
309
383
504
743
167
1155
127
420
297
408
539
326
284
699
213
213
82
538
212
420
631
368
126
323
276
375
246
307
227
358
525
601
291
392
91
798
181
113
504
616
576
286
258
496
414
302
458
131
133
127
311
232
476
189
191
418
358
284
485
918
368
82
397
441
628
240
312
101
659
239
363
257
479
321
495
269
276
510
182
188
910
340
239
116
382
428
476
404
200
452
456
138
837
426
493
61
114
360
263
159
34
131
326
328
11
369
297
149
109
483
658
349
117
289
550
335
68
173
773
108
449
294
620
235
376
207
506
267
320
199
300
178
169
289
386
297
304
735
378
468
306
436
414
538
426
274
175
222
233
144
530
760
414
278
530
102
566
198
280
199
193
319
136
366
142
291
458
892
180
769
589
651
275
619
25
262
601
46
113
410
758
413
294
133
231
409
311
187
291
261
656
217
204
628
281
32
245
246
384
419
102
682
163
219
515
702
552
638
408
408
89
101
476
258
159
159
226
187
244
159
214
279
86
154
233
948
390
190
87
491
815
722
378
455
623
542
348
147
162
341
910
322
325
318
698
374
518
327
442
188
259
196
54
297
480
133
661
510
451
408
278
309
347
437
328
220
543
208
259
224
39
522
161
448
639
221
153
536
539
575
532
83
536
182
143
759
181
113
188
193
582
182
563
567
297
279
152
800
261
474
313
606
74
469
284
392
653
676
25
409
364
205
422
143
149
255
253
360
180
297
425
399
111
259
601
249
331
422
667
61
94
320
1025
231
367
388
372
497
426
426
466
93
658
108
345
337
245
774
49
279
513
112
274
397
312
640
325
176
380
451
936
527
634
356
421
403
360
721
529
133
123
314
351
229
227
137
564
651
583
271
114
471
314
218
220
401
346
298
345
555
219
318
534
548
816
425
389
225
580
30
350
379
287
848
226
585
42
410
78
477
228
578
529
187
549
255
366
342
297
541
531
342
601
138
899
418
130
273
275
837
661
133
614
676
347
660
553
452
154
320
227
283
270
196
365
466
679
446
512
571
248
407
83
401
489
580
312
630
288
108
459
127
290
137
200
283
441
431
394
393
420
640
175
855
216
225
709
196
222
747
455
195
639
541
820
207
621
200
702
303
485
136
279
137
571
375
422
138
270
409
124
463
502
555
250
665
660
423
885
262
504
246
133
382
434
432
286
599
489
257
83
532
646
666
455
413
303
758
80
346
556
40
54
415
244
80
303
457
345
584
180
959
430
377
203
277
513
113
449
634
222
293
261
417
58
434
696
537
410
563
126
381
381
536
237
512
473
352
424
183
472
474
127
605
171
603
171
305
32
251
533
173
462
247
280
62
202
56
393
251
173
166
228
524
229
226
282
118
782
201
244
129
537
796
968
618
383
528
523
238
675
437
320
310
209
628
437
124
256
293
398
161
271
64
338
415
583
782
364
613
148
464
441
197
660
142
754
314
302
385
234
214
931
545
264
522
103
176
355
617
401
406
353
244
311
530
222
549
478
279
916
680
695
289
270
675
531
358
88
210
314
707
366
121
370
198
98
230
483
558
692
533
446
367
180
475
470
246
343
134
279
434
354
445
588
189
30
436
104
215
895
421
701
495
796
197
425
540
464
333
492
472
117
107
560
599
386
98
306
279
309
86
325
534
453
248
317
563
454
497
379
559
130
169
313
396
153
661
725
417
504
340
201
428
70
444
123
650
413
83
59
241
318
294
197
280
207
217
206
18
550
448
241
341
445
753
332
202
293
760
594
156
213
28
237
588
270
255
537
133
684
164
722
143
332
641
543
412
151
1041
158
399
182
628
273
196
357
248
141
158
534
213
1094
270
461
44
305
36
237
654
684
378
197
270
917
265
98
141
129
263
581
701
196
131
556
1066
186
368
181
566
352
394
228
392
627
377
92
443
322
385
68
360
962
393
450
648
199
38
689
225
186
437
91
641
257
392
487
552
138
352
578
218
255
789
279
772
147
271
179
1029
356
854
329
245
773
635
459
131
180
388
203
430
77
524
18
483
494
527
208
762
585
472
561
327
579
440
562
460
190
279
111
282
356
437
706
284
472
513
524
255
505
362
475
305
295
416
332
728
341
128
284
318
161
147
398
1015
468
482
64
244
721
513
218
453
451
304
966
547
424
635
633
381
624
671
279
271
259
197
186
473
267
314
810
269
349
435
157
565
124
130
284
816
509
161
817
533
393
278
399
183
453
279
92
231
378
308
465
126
123
683
858
261
651
437
299
363
680
472
565
244
118
413
192
314
232
216
197
702
478
214
323
398
384
516
288
267
101
501
197
522
525
174
612
500
460
271
824
295
557
925
235
308
306
171
589
107
394
405
364
1006
1037
286
27
425
231
259
331
458
851
78
538
480
199
289
411
331
69
333
634
644
922
322
309
248
513
591
144
91
475
304
376
341
270
91
263
211
1148
72
349
511
346
277
712
482
330
553
303
850
202
438
76
682
558
466
91
945
45
363
396
109
268
49
417
215
408
695
275
282
494
630
477
302
204
66
574
302
930
445
589
327
199
936
379
180
355
397
429
553
316
577
449
199
743
505
185
520
200
742
613
514
913
387
545
390
409
295
269
60
290
584
420
213
476
483
679
718
427
110
362
329
304
270
177
274
409
271
529
919
342
328
461
314
358
705
70
311
304
300
210
280
199
611
96
700
343
277
110
421
339
222
157
233
660
154
280
217
351
160
341
244
323
248
521
680
556
161
417
163
429
278
148
169
154
307
375
440
146
236
601
263
622
506
249
798
584
700
356
157
294
322
589
633
176
569
215
645
651
504
80
535
667
722
271
359
367
590
257
179
111
400
239
337
344
637
84
329
377
149
240
163
297
532
163
6
241
283
306
352
412
718
158
218
240
322
367
548
227
165
595
477
535
286
572
724
464
295
1070
155
523
115
196
230
454
548
72
180
484
532
169
169
281
769
340
594
351
285
572
337
545
247
176
506
589
389
276
128
404
818
483
361
471
137
226
146
858
563
121
151
503
378
675
170
153
351
212
78
291
133
243
15
396
277
305
606
398
541
226
137
536
295
386
481
493
146
379
460
230
539
336
653
202
639
618
137
349
153
332
209
142
1034
661
291
407
781
299
250
678
669
628
532
174
671
238
499
771
635
213
673
306
436
481
228
117
212
498
722
647
144
595
528
623
416
222
124
270
352
309
587
187
178
173
245
778
328
694
425
458
376
395
214
534
376
486
162
47
406
375
179
358
146
45
246
293
722
204
269
651
561
478
458
509
147
579
312
377
347
210
160
673
170
678
481
198
118
214
172
389
334
171
91
658
445
1024
679
742
480
452
530
130
130
436
761
321
215
731
518
335
436
92
1025
510
426
288
291
393
384
117
324
161
353
565
305
353
271
74
720
799
282
342
421
51
571
216
1079
237
286
126
380
518
548
204
644
324
642
282
543
286
361
402
458
520
128
240
239
177
202
392
274
224
405
219
209
224
225
829
639
294
810
682
128
357
227
454
229
422
1006
531
380
182
360
333
416
556
401
298
158
253
356
77
329
289
540
207
180
630
570
445
534
249
411
588
410
228
756
379
207
393
530
346
100
231
92
353
184
402
252
791
414
537
369
28
405
434
733
591
133
220
54
639
366
195
455
208
485
71
658
467
109
291
303
249
693
593
189
559
540
516
321
203
145
777
371
741
334
306
72
293
72
794
372
423
161
502
388
550
172
236
603
292
207
405
538
314
338
268
461
248
409
759
223
446
616
470
844
502
564
223
299
440
298
184
814
538
567
314
95
149
444
461
97
196
388
694
51
511
280
487
417
633
568
109
399
345
334
592
223
476
641
257
633
110
301
490
120
86
97
860
320
202
385
82
234
373
292
239
458
241
166
263
463
104
758
280
538
237
270
500
353
673
652
173
480
409
817
224
398
569
541
496
228
34
363
280
790
325
730
423
350
405
121
501
487
287
594
545
42
268
462
669
293
165
342
414
444
523
165
94
386
164
115
353
183
622
197
407
397
586
510
783
34
816
590
281
158
341
215
354
168
61
540
167
705
449
320
460
564
487
588
308
525
862
238
260
439
295
293
633
155
472
246
998
484
535
258
190
402
393
665
331
183
213
513
374
459
979
695
384
77
459
187
527
402
538
589
411
156
178
386
454
119
282
175
274
352
356
620
377
71
389
354
384
364
431
487
521
308
356
357
293
291
395
549
445
111
706
214
187
268
184
180
342
664
434
453
534
217
609
164
180
265
95
434
94
98
461
201
246
53
422
318
104
479
431
358
336
139
421
322
398
758
255
487
92
605
744
191
533
112
638
522
328
176
491
252
695
834
347
672
205
409
588
228
426
458
232
744
288
646
547
420
403
256
428
417
324
291
916
39
246
256
122
658
109
407
309
817
325
603
50
476
345
640
247
471
152
316
301
349
228
419
641
281
488
110
260
693
179
380
347
410
396
523
364
778
115
106
695
914
435
131
220
470
831
414
202
305
133
160
280
171
130
522
207
695
1165
381
527
313
138
713
1086
204
789
429
21
169
240
205
330
288
29
252
207
601
154
319
537
674
142
577
345
306
330
360
413
232
723
197
409
421
431
162
329
473
206
244
251
405
423
125
54
562
297
174
87
447
527
331
184
407
353
96
164
313
254
378
94
50
114
345
314
260
196
521
453
380
440
452
555
423
541
725
234
286
547
524
49
115
514
354
75
350
388
116
38
664
70
268
451
147
474
338
205
764
179
123
322
602
370
267
152
67
266
307
470
554
152
337
465
114
472
521
376
91
224
477
392
333
141
458
886
176
642
550
242
361
285
412
123
459
300
185
72
557
689
164
220
280
334
387
72
206
97
326
588
521
335
289
309
273
188
639
346
750
475
358
293
347
373
197
178
200
332
178
189
141
437
333
351
348
254
602
323
465
344
522
364
575
302
626
169
904
431
530
503
438
558
206
515
517
487
492
310
506
557
355
112
173
229
617
321
336
529
505
311
400
348
384
255
285
1001
180
231
135
291
700
328
663
659
409
391
433
528
925
235
465
680
345
746
287
352
33
240
657
478
399
222
861
227
436
900
231
129
145
346
418
398
400
418
409
1031
437
277
368
413
399
607
282
336
695
468
355
400
419
243
530
218
366
260
532
778
653
327
114
306
435
448
823
478
165
384
252
75
224
193
265
108
494
261
224
387
346
508
266
525
308
738
460
315
151
271
774
649
187
116
168
112
338
168
295
521
202
459
286
148
584
407
426
216
267
269
628
348
12
115
665
403
244
321
326
445
163
380
265
533
768
447
369
228
349
357
398
223
358
394
123
368
494
445
228
401
132
438
674
739
428
275
231
195
84
498
276
498
248
632
534
145
508
412
1065
78
713
195
723
692
602
239
624
337
808
359
717
479
343
326
127
230
541
377
599
526
354
1003
488
150
206
440
418
448
205
187
411
63
579
335
394
371
174
393
289
169
329
247
666
259
673
226
34
144
502
87
178
73
271
426
772
372
351
339
619
425
346
48
230
555
730
635
274
541
599
249
488
535
274
159
772
650
263
315
473
90
308
356
463
612
40
544
443
127
177
363
216
482
240
507
31
282
123
581
297
136
230
432
375
256
162
671
175
207
557
194
303
1019
775
168
258
199
185
304
246
537
184
563
556
304
492
312
224
386
252
366
521
595
423
559
494
508
506
709
578
419
498
268
161
766
559
128
291
128
312
93
365
549
98
309
378
226
255
126
323
342
1166
398
259
283
379
299
152
63
537
391
171
332
826
150
466
396
334
334
596
108
137
226
250
861
614
485
447
385
126
224
566
391
522
406
468
214
327
419
229
905
961
314
454
124
360
281
312
565
118
478
282
42
664
762
494
473
222
245
425
552
800
648
455
286
490
1029
287
543
356
550
572
635
191
81
323
760
730
235
722
157
451
243
165
541
287
805
582
281
810
80
320
317
552
57
474
114
383
342
265
510
403
78
592
119
192
774
237
88
189
501
360
562
304
221
515
165
285
143
508
66
713
703
237
190
502
212
825
395
383
381
569
238
168
81
256
515
232
186
671
353
57
209
129
234
212
906
113
215
486
617
204
621
193
283
389
870
658
712
80
89
231
484
122
552
10
544
980
418
137
481
240
321
186
277
577
177
223
446
452
315
55
277
123
179
628
431
569
450
181
223
465
700
248
300
438
417
468
185
228
336
77
233
532
78
508
516
499
284
265
595
173
518
162
160
336
552
186
363
178
89
735
340
656
369
636
492
112
411
655
426
148
369
75
539
735
84
174
407
393
216
342
587
968
494
278
118
90
739
442
696
424
220
488
381
448
263
269
220
382
518
402
20
566
312
440
319
218
314
226
478
183
161
540
551
314
388
372
138
215
187
425
608
232
179
391
262
205
250
384
207
206
345
331
162
348
573
868
197
455
556
622
505
235
659
723
273
256
287
583
431
681
562
380
323
414
828
302
454
665
370
573
293
235
346
30
306
427
804
354
237
341
517
160
318
884
386
69
493
662
365
97
440
594
422
413
527
225
389
611
472
325
369
358
190
275
311
593
280
533
257
202
615
375
387
224
260
295
169
648
228
207
267
801
549
649
335
814
559
517
642
151
218
152
224
160
306
656
81
436
57
514
89
473
595
335
663
210
363
265
696
443
550
198
627
503
469
413
223
171
346
129
478
244
45
343
576
249
150
431
485
427
641
132
245
624
177
274
850
248
219
369
385
140
184
128
319
329
296
729
309
703
558
803
141
534
728
304
142
511
253
255
339
444
439
192
560
82
663
479
609
533
393
73
433
508
609
460
206
184
867
33
217
628
351
457
82
660
253
612
224
607
980
508
442
228
305
133
138
584
506
299
281
390
380
382
287
132
267
289
125
307
145
385
638
191
495
481
77
487
645
49
688
546
596
405
662
473
767
311
120
439
248
177
162
465
242
596
257
487
347
105
194
408
206
273
152
968
341
193
794
464
313
329
589
466
56
192
256
336
279
471
422
605
802
616
269
500
225
169
314
277
553
386
296
723
358
664
362
388
410
517
459
500
171
307
545
197
519
479
30
342
661
346
147
562
182
557
300
184
259
297
466
139
301
134
143
332
91
756
457
75
647
244
639
292
413
267
626
522
29
348
59
413
260
505
236
427
747
292
192
277
336
253
190
194
149
288
159
151
207
324
413
202
239
126
119
246
234
481
343
323
518
295
229
179
586
588
174
265
748
398
699
234
122
57
559
269
439
416
305
607
381
865
562
738
354
60
600
427
245
526
118
431
90
357
135
317
450
291
173
723
111
374
318
298
788
480
408
166
43
267
299
404
295
563
233
239
779
359
426
105
494
524
427
364
246
865
531
479
365
225
214
23
215
236
287
447
247
395
285
307
720
425
82
323
686
289
630
409
595
275
251
469
262
698
131
729
215
787
617
501
252
379
415
282
118
899
509
418
211
508
729
647
141
503
368
257
155
285
504
213
346
527
421
280
384
405
281
394
545
191
676
201
561
419
722
220
719
254
176
230
308
495
537
107
217
228
493
242
401
121
284
249
76
561
453
415
195
220
236
231
278
100
95
719
728
160
101
125
454
166
315
350
341
614
230
405
425
644
232
784
667
355
132
264
91
406
203
107
553
432
639
15
628
206
226
783
454
66
248
292
278
500
518
341
347
581
202
311
76
381
346
705
223
510
110
458
238
299
623
768
761
525
323
550
580
161
866
489
47
423
240
685
381
425
268
186
239
757
291
392
461
440
357
76
188
315
373
217
435
450
247
679
325
224
294
641
340
434
572
349
373
497
26
166
146
185
536
325
210
768
343
811
228
146
202
364
157
126
223
277
318
796
437
357
182
68
270
422
421
630
267
235
711
480
341
609
319
1090
421
106
273
139
409
680
224
733
87
218
242
168
197
122
313
274
671
42
466
295
82
132
350
231
386
243
494
651
66
779
301
39
57
742
422
263
492
573
591
1110
526
454
247
255
38
482
648
385
235
181
315
205
409
105
336
224
637
291
74
396
679
600
155
285
207
567
368
383
176
319
519
146
243
496
130
310
454
124
360
256
169
114
261
670
347
195
370
171
624
248
381
299
438
355
335
120
261
197
331
304
623
732
90
574
604
217
388
436
584
472
546
164
475
125
268
463
306
656
777
266
547
224
158
253
478
1014
378
70
322
343
332
587
491
374
386
495
316
307
509
486
161
211
407
331
822
85
152
1081
184
286
197
510
235
294
412
612
347
348
496
401
354
305
880
461
459
575
310
104
331
275
513
333
313
435
132
235
823
539
320
647
452
658
412
398
596
139
595
211
742
263
243
473
59
303
402
451
288
454
479
262
568
280
10
346
123
161
526
49
467
974
343
379
289
546
368
157
117
563
142
290
203
609
323
528
161
212
528
221
762
327
641
196
389
182
652
476
279
292
636
75
72
522
538
307
520
235
262
960
692
779
197
116
232
389
670
238
304
326
218
640
466
292
145
738
654
884
523
449
176
670
750
52
336
343
346
246
315
511
541
645
347
325
210
49
692
456
315
487
109
732
546
613
189
465
197
452
312
191
735
433
524
363
641
494
216
207
87
372
437
274
438
254
334
193
94
200
533
485
83
564
32
701
648
141
154
295
409
669
525
468
546
441
472
672
344
481
337
532
608
552
570
371
305
418
701
308
218
894
369
186
434
269
385
329
304
295
224
166
374
287
394
309
1095
98
544
659
619
428
804
508
330
650
131
426
858
221
286
119
325
494
309
215
857
695
447
176
115
422
568
492
622
289
345
94
470
198
294
313
477
336
488
417
159
621
647
508
406
235
527
325
542
557
360
215
161
100
205
512
609
177
650
70
410
116
423
712
166
626
313
233
850
217
188
324
576
279
637
320
125
336
361
157
494
400
520
299
228
306
48
312
196
353
524
108
661
286
34
326
718
265
131
584
566
530
228
389
531
372
343
426
127
317
423
591
135
215
512
84
129
190
321
93
394
128
233
490
774
123
429
357
388
224
229
280
55
233
59
330
145
541
152
596
363
247
649
734
303
570
344
534
239
277
213
219
302
716
75
577
803
109
164
612
369
127
520
734
406
373
444
642
443
152
442
516
653
357
235
226
107
215
522
185
686
249
244
66
437
731
249
541
356
576
104
196
419
598
331
546
354
456
354
117
379
418
246
456
325
214
503
303
552
250
105
257
440
558
523
308
556
174
704
387
757
706
541
658
469
389
667
380
322
182
452
782
429
770
294
290
621
234
413
489
224
351
297
624
559
227
553
275
608
498
692
360
486
515
485
984
242
88
474
459
311
139
629
163
451
206
338
702
265
42
642
462
380
481
1167
445
130
277
421
325
766
446
437
130
473
77
633
327
558
400
633
573
244
254
158
507
293
284
187
562
139
505
238
737
85
676
329
674
631
508
126
53
476
271
334
336
504
523
760
141
234
487
179
324
59
832
448
519
612
463
271
395
429
178
387
400
582
911
358
301
480
538
1140
306
424
214
339
224
343
255
372
338
478
916
389
417
257
212
688
673
232
136
277
469
422
129
251
196
655
225
653
116
228
494
256
246
311
819
994
252
188
660
595
294
789
414
317
387
154
260
309
99
553
766
622
395
354
153
285
231
339
427
136
227
269
27
657
621
431
282
317
403
550
497
236
251
244
642
313
529
419
359
270
30
124
408
462
808
243
48
524
298
537
119
248
170
640
187
271
703
48
693
429
540
309
374
368
155
318
456
646
371
405
521
306
910
224
200
234
516
210
405
262
205
783
185
190
367
397
112
606
284
274
561
431
241
439
571
552
569
393
122
142
557
455
647
154
177
199
575
220
381
562
647
484
377
216
418
207
554
414
162
69
394
431
116
556
651
628
384
153
359
715
209
532
149
552
524
314
679
470
808
272
681
200
765
245
177
445
239
59
501
249
399
364
129
298
411
201
516
371
514
576
412
740
242
146
181
121
385
388
135
272
217
961
736
447
246
189
656
111
315
278
277
861
207
236
339
299
670
372
115
404
209
351
46
508
228
74
585
601
428
98
230
706
372
640
291
297
514
364
75
133
208
29
361
262
239
266
159
147
545
483
191
211
130
125
303
266
559
355
453
129
340
539
93
559
466
503
508
51
305
208
379
206
135
404
527
249
212
173
487
549
302
339
230
607
188
490
419
96
199
207
266
497
96
110
452
488
318
192
519
314
307
197
496
491
402
327
505
793
656
434
442
111
287
701
437
273
326
212
678
803
196
360
537
278
201
342
666
335
789
181
217
477
334
805
164
165
447
436
226
313
260
598
125
130
699
530
128
740
1111
410
337
144
112
422
613
130
342
412
285
422
113
548
74
222
736
689
618
111
328
298
761
207
455
507
98
185
546
553
307
342
237
321
406
250
348
368
159
275
241
598
71
688
812
428
393
325
479
592
231
73
276
248
543
290
154
194
116
119
343
581
591
127
907
127
605
185
480
136
124
234
518
254
511
564
820
74
143
661
571
502
547
501
546
181
274
788
280
197
537
559
181
322
413
205
557
494
96
191
206
297
134
329
339
704
80
129
390
161
623
225
202
189
275
670
173
298
268
191
129
382
28
419
437
339
339
249
105
156
531
827
484
246
272
198
213
285
118
292
188
452
292
192
175
503
469
118
459
227
250
688
519
356
371
536
710
60
565
279
435
631
280
366
403
611
113
440
367
349
78
746
253
575
423
735
612
706
389
481
37
515
87
204
89
276
265
681
509
281
286
544
403
387
63
161
1075
260
472
379
425
276
369
274
316
999
214
371
362
439
529
178
500
114
145
569
251
478
874
235
228
524
319
18
736
391
542
584
484
476
301
212
97
394
345
88
711
505
730
522
356
333
464
542
605
423
583
140
477
639
315
133
537
332
485
498
327
158
127
307
290
777
737
751
342
319
99
463
450
229
668
359
306
443
315
428
260
176
443
67
208
214
154
169
554
345
613
95
153
89
57
184
529
83
414
352
382
455
605
530
485
682
501
249
176
413
196
65
99
584
302
198
55
266
170
366
257
17
325
233
391
420
333
406
618
130
680
279
337
296
393
511
534
147
639
146
158
257
144
515
527
586
825
642
235
289
151
171
810
143
531
439
379
253
263
452
119
248
328
535
419
400
612
358
161
582
268
236
336
123
178
698
279
196
230
751
285
705
538
77
380
148
757
243
470
267
506
387
160
473
389
96
369
393
132
432
331
546
131
575
585
369
210
154
851
402
251
256
342
513
35
539
551
323
280
395
391
248
109
358
189
224
144
143
843
187
273
639
350
654
312
1020
480
297
537
485
332
691
980
568
1043
365
27
493
494
78
286
245
142
403
114
395
249
450
682
229
713
301
290
590
414
237
424
383
319
456
1040
470
772
175
438
539
452
354
228
223
407
370
152
367
368
646
335
141
503
651
52
137
198
821
160
110
945
684
535
401
143
191
530
486
339
247
548
436
419
450
566
137
496
307
363
245
237
617
169
81
270
528
862
84
327
918
220
333
697
357
170
735
758
306
120
457
662
623
200
106
454
321
526
478
692
331
466
449
591
178
464
549
388
388
528
393
429
444
261
753
164
378
316
505
85
117
526
87
344
903
458
734
268
543
801
500
328
224
213
147
290
348
269
192
602
410
461
170
165
235
404
284
612
136
337
272
356
443
477
40
680
756
512
277
187
215
460
71
266
308
386
279
26
263
105
209
255
635
275
663
447
612
376
504
337
201
418
437
356
426
460
175
463
361
626
254
301
295
669
778
339
424
690
39
402
512
262
528
439
694
877
207
774
505
818
571
537
490
675
172
397
414
992
271
712
520
134
369
684
334
209
609
421
378
247
197
699
66
616
46
107
379
407
744
37
118
199
794
410
1123
392
398
186
439
509
433
652
512
54
404
525
311
461
346
707
594
324
283
175
267
695
289
616
310
777
318
45
133
331
422
339
265
649
223
325
748
236
265
233
240
167
487
137
65
230
531
177
163
626
382
160
545
656
313
712
697
204
125
461
627
842
130
127
324
599
493
697
222
571
485
777
390
573
542
631
543
390
523
93
230
377
193
537
866
406
141
253
141
333
286
186
356
739
585
529
277
200
326
306
246
339
305
420
426
279
529
896
176
292
618
408
286
187
170
123
708
785
89
217
244
536
159
150
134
516
386
169
392
737
454
545
605
180
819
427
756
147
419
553
381
989
637
261
507
373
495
196
327
213
458
486
726
219
699
534
313
333
62
193
274
9
214
539
441
723
518
474
374
497
220
533
448
409
188
765
597
315
232
146
650
316
207
88
327
420
254
230
774
487
135
326
377
185
853
208
179
429
802
319
694
443
708
311
437
31
267
264
457
794
206
500
281
473
323
190
341
409
523
356
546
729
556
498
215
348
29
51
309
312
364
496
443
441
492
491
365
234
452
221
274
302
395
743
217
373
272
646
936
238
212
551
242
506
390
41
72
163
328
350
212
241
127
58
107
1070
478
185
322
372
379
357
279
410
291
642
194
279
319
301
258
697
981
705
257
123
378
396
597
319
99
468
187
154
208
158
115
160
204
372
494
601
467
688
421
174
306
503
395
661
362
526
329
336
217
599
551
82
335
200
151
201
315
286
629
352
806
200
553
170
111
531
458
298
334
308
143
361
406
614
558
166
400
817
159
206
588
186
87
105
257
408
583
269
346
277
403
201
369
220
96
582
144
373
209
27
219
620
196
301
101
325
271
55
423
406
456
532
454
444
534
201
120
118
320
250
215
59
476
266
543
433
71
76
275
173
642
163
417
343
297
453
416
574
496
172
380
306
157
489
516
134
205
198
91
11
265
198
380
486
120
870
339
325
364
575
505
315
168
59
246
255
692
212
227
93
434
233
632
549
49
423
341
87
469
259
511
531
599
313
565
422
54
372
248
455
534
229
735
232
575
917
327
651
432
1117
223
344
468
447
640
527
59
423
156
532
718
438
276
269
251
173
253
387
190
673
62
652
332
382
704
399
376
620
209
372
111
136
616
196
682
222
646
269
437
908
156
680
153
621
315
744
118
423
111
112
270
480
153
422
817
674
367
107
549
308
652
441
262
474
229
335
91
139
503
358
265
442
104
330
389
298
117
146
217
358
560
574
464
149
504
80
668
385
452
105
129
455
97
634
388
439
335
269
297
130
155
250
914
416
253
647
433
691
789
236
281
332
278
627
73
405
469
466
201
568
485
368
156
1141
318
140
517
598
720
135
281
279
358
256
293
302
204
729
555
240
344
315
158
303
446
313
568
568
193
731
677
657
424
82
319
258
87
628
331
543
197
504
222
519
575
183
107
582
327
549
101
491
286
194
317
351
102
423
322
437
368
408
517
513
717
194
260
810
348
314
208
254
242
164
61
293
133
163
1167
673
481
422
244
352
288
435
567
231
513
506
57
325
214
406
584
550
432
311
240
523
297
741
538
206
434
713
566
653
455
592
520
312
321
599
664
240
503
139
493
742
120
300
711
590
286
190
515
199
434
428
287
134
375
650
312
214
374
548
94
369
595
150
149
478
485
623
596
544
483
258
465
160
449
561
559
57
330
320
688
661
636
163
328
663
171
296
563
694
607
827
517
397
341
404
136
456
145
321
81
781
612
64
291
271
509
310
442
219
308
517
306
151
96
725
67
679
256
775
668
522
702
106
520
233
405
663
138
185
292
287
334
443
332
235
651
141
713
414
223
269
227
625
182
1137
115
258
33
173
453
744
327
485
318
652
208
250
372
621
87
453
678
235
120
136
156
125
234
461
540
451
603
407
551
353
986
285
310
228
730
403
663
632
86
500
59
301
487
312
246
791
382
422
237
409
461
631
546
506
129
798
292
214
372
434
281
761
434
193
439
130
473
29
177
473
189
922
652
466
216
662
207
779
233
190
182
144
197
486
617
306
608
229
411
418
229
20
442
563
270
71
561
892
518
572
140
290
186
423
388
255
162
849
166
713
334
383
475
375
537
230
315
430
762
220
42
487
213
89
433
30
491
614
654
446
739
300
443
699
193
274
366
157
844
489
580
260
591
530
289
231
288
136
95
404
434
572
871
130
97
494
234
419
130
73
408
424
360
37
441
292
155
252
171
605
362
388
262
443
334
191
328
593
705
578
535
468
525
238
319
404
245
505
297
630
383
228
211
75
802
493
177
116
243
183
258
61
508
480
495
401
433
110
329
261
202
745
418
26
634
544
229
321
595
476
440
209
235
292
459
680
245
1077
579
323
89
251
433
456
542
539
196
394
369
536
392
160
518
637
438
548
493
120
662
219
258
927
542
535
483
432
448
464
360
383
190
804
567
328
144
250
264
313
530
185
147
515
615
828
293
614
203
123
905
307
124
354
899
353
42
259
777
501
602
70
96
339
530
500
579
185
746
259
752
349
109
404
332
549
90
460
274
436
416
150
380
656
468
438
223
88
704
230
347
406
230
385
62
431
514
522
552
325
380
910
369
288
264
541
277
566
560
948
384
292
379
576
317
387
562
245
254
790
519
100
457
408
543
109
398
550
345
675
808
547
322
402
337
249
78
386
477
426
678
546
495
110
459
533
554
476
380
378
224
625
583
345
313
418
472
646
618
568
341
133
98
232
516
290
557
714
335
374
233
567
124
156
534
213
526
728
673
157
444
164
322
315
720
396
166
104
535
407
587
202
333
323
442
671
137
447
295
566
276
283
314
609
305
293
1006
525
428
247
223
224
185
934
321
232
270
263
711
150
369
465
325
632
241
427
482
262
310
316
906
537
613
266
383
41
494
114
165
503
504
480
310
888
294
275
68
580
507
776
561
689
463
432
477
333
348
273
988
202
252
221
295
455
319
287
389
125
349
76
444
405
412
245
43
399
455
192
476
239
267
105
420
127
246
622
277
109
271
192
343
204
599
216
156
114
183
81
625
359
291
263
259
126
192
453
522
307
403
673
582
101
510
622
391
373
258
363
957
377
369
430
244
553
493
542
420
305
463
357
303
199
166
460
236
321
365
73
127
227
315
251
236
465
236
487
455
288
723
203
552
161
393
151
196
206
343
441
181
309
166
283
146
599
63
459
74
399
244
205
214
142
221
458
382
168
674
516
457
590
999
379
406
164
376
599
868
620
809
219
274
252
323
216
734
148
450
301
638
385
298
582
211
60
149
321
532
264
9
288
487
203
376
335
664
247
189
477
206
826
376
506
113
311
273
385
165
118
21
166
902
332
188
106
155
224
176
459
310
781
274
363
231
507
85
428
237
590
510
569
253
125
555
690
225
409
310
152
264
440
389
550
148
107
334
565
408
360
629
661
327
751
152
575
504
366
513
531
530
332
490
605
155
471
126
303
458
393
78
313
602
453
446
483
397
749
270
194
311
118
311
723
158
49
324
472
509
343
364
337
310
414
562
461
195
552
126
515
671
493
354
331
628
515
223
465
42
665
222
393
356
484
951
240
802
330
370
341
324
157
429
461
291
573
623
310
212
237
926
192
149
367
606
45
408
603
274
685
560
308
139
507
575
449
261
97
32
370
399
603
225
208
512
331
168
374
1086
248
113
701
397
920
514
599
315
271
258
502
312
490
179
258
175
564
497
299
401
689
550
353
641
480
639
100
251
164
220
171
295
156
122
234
638
136
402
681
475
309
684
745
430
399
811
237
329
150
378
631
125
424
138
676
860
692
218
322
358
215
650
172
358
608
271
642
62
148
206
756
443
342
120
339
214
150
466
712
425
309
477
952
252
398
94
455
211
115
556
461
210
622
227
157
203
188
448
556
590
529
826
205
433
1168
205
159
282
335
435
520
376
283
259
320
382
356
679
278
252
137
174
636
424
639
261
272
70
493
153
536
580
488
932
329
672
450
251
355
417
545
107
546
218
148
216
215
448
201
197
574
244
163
337
426
266
550
827
87
187
542
690
265
264
537
413
536
584
427
560
370
280
116
253
459
723
365
413
197
333
564
194
171
140
60
136
687
313
286
350
202
732
261
460
477
305
472
420
647
263
237
190
142
241
296
450
283
613
229
134
548
126
282
138
229
215
289
223
522
113
135
336
587
121
390
67
327
131
619
1094
170
242
688
306
47
524
217
280
657
627
317
260
115
346
191
388
130
735
296
462
436
293
472
358
432
518
576
493
637
196
521
670
549
466
145
802
558
439
444
101
245
455
571
175
455
717
96
174
16
489
460
400
126
545
306
284
609
539
261
174
344
371
352
290
167
159
214
162
422
216
526
342
269
384
471
87
498
220
342
175
386
327
382
344
138
190
363
807
207
445
429
374
130
206
502
451
350
577
772
420
200
595
309
273
853
574
490
585
172
217
198
316
419
76
482
390
562
265
460
395
187
614
852
157
342
244
272
896
113
204
93
233
70
867
84
708
633
121
163
413
202
294
370
622
513
204
929
532
207
642
720
612
432
521
533
287
255
529
376
258
424
281
308
18
274
196
316
411
349
94
243
173
316
514
866
552
409
493
428
442
450
249
195
46
398
606
544
117
163
291
312
632
371
273
368
555
360
170
245
473
422
146
123
263
323
603
198
533
307
355
478
239
529
735
303
120
510
475
620
683
198
233
771
579
315
154
183
385
65
257
178
470
555
232
369
132
160
590
476
295
321
175
471
315
249
139
561
554
312
105
315
448
639
143
370
362
210
235
159
274
322
415
215
21
129
464
323
167
394
388
371
350
303
105
290
135
553
356
326
448
444
419
570
836
290
324
348
368
612
471
97
331
1015
248
395
543
192
607
566
220
530
292
284
247
92
266
566
502
301
535
249
520
546
646
352
305
373
523
709
743
554
562
722
314
377
263
321
117
349
617
448
420
298
530
274
548
121
500
263
332
682
295
332
412
373
244
232
235
424
306
734
381
339
398
184
439
670
468
154
233
401
192
404
354
404
539
157
174
225
259
602
261
118
258
736
268
209
571
669
344
690
73
482
285
417
434
189
623
437
313
287
433
655
421
496
319
262
544
224
344
293
260
638
197
106
203
699
123
290
201
328
388
380
359
102
337
344
540
348
506
401
498
587
489
699
424
89
438
478
310
451
122
127
522
451
299
131
144
538
154
273
175
295
263
289
290
631
432
470
225
305
660
194
228
208
292
532
288
703
546
477
323
542
285
424
392
675
536
303
175
305
232
192
357
612
242
163
310
266
321
326
538
542
265
334
831
438
477
310
529
347
576
334
25
7
275
608
919
38
101
481
580
149
361
225
120
199
372
592
444
804
240
493
392
225
530
545
528
179
244
737
202
394
335
834
459
440
61
543
398
127
359
412
238
352
316
61
422
641
436
202
391
527
159
307
508
629
437
674
578
402
521
337
138
430
742
322
533
582
304
504
296
253
386
532
393
332
752
239
336
318
648
618
211
426
276
299
196
288
371
334
304
127
630
247
318
139
698
683
776
54
376
192
170
397
511
683
358
781
467
543
299
501
271
260
407
425
231
647
268
92
362
362
381
262
579
325
404
70
427
143
66
323
160
822
618
776
763
467
566
625
501
180
87
143
655
223
239
558
331
181
656
510
324
325
142
115
381
134
224
477
743
586
21
534
98
304
360
332
679
175
158
1069
373
41
285
343
443
432
1138
225
455
414
327
458
385
304
937
294
222
610
252
404
63
608
206
727
552
371
328
1094
420
247
186
361
392
350
20
108
755
589
248
600
210
457
215
290
13
100
525
210
602
158
9
464
248
320
46
504
351
535
434
354
210
635
195
284
619
201
790
463
311
475
540
868
74
103
302
120
579
136
277
55
407
272
667
382
661
19
588
213
446
278
318
316
414
612
294
575
384
327
72
484
601
160
277
281
220
43
94
656
481
436
202
337
183
131
541
295
458
229
180
87
665
199
193
407
625
594
435
471
628
694
259
765
289
357
405
508
155
82
248
678
288
476
190
66
174
303
417
420
872
114
705
736
334
143
371
144
411
122
170
415
741
457
611
353
269
502
295
391
69
245
201
607
306
139
237
332
68
440
14
631
443
208
162
229
205
27
585
458
134
380
1080
453
351
564
639
487
311
675
597
428
355
410
495
317
103
247
517
230
419
572
383
68
557
529
500
886
442
236
777
68
363
277
295
257
415
484
261
394
414
221
188
109
258
476
260
494
272
182
429
296
478
182
375
515
183
284
372
370
237
588
325
221
165
572
429
39
408
336
98
100
191
123
269
545
439
130
138
346
132
524
159
786
34
112
413
274
284
444
562
389
549
323
295
270
654
244
134
343
472
368
225
332
235
111
152
586
629
257
351
196
541
448
184
666
531
261
527
125
494
312
435
130
711
213
36
15
303
346
100
421
559
338
778
170
308
248
362
455
314
157
407
239
321
76
159
120
708
387
360
435
320
283
215
375
673
274
88
184
404
701
198
394
624
368
577
266
260
17
137
555
118
446
494
499
269
132
378
303
238
195
277
309
363
203
262
125
682
194
259
339
574
661
647
133
280
305
444
295
311
133
413
114
456
471
757
319
363
673
517
355
61
152
577
573
162
630
71
500
453
98
326
809
83
151
186
381
217
944
977
361
326
521
341
354
168
417
500
292
201
499
487
476
474
247
314
228
82
198
221
397
303
885
283
281
333
355
158
498
332
752
229
346
293
238
482
491
530
320
194
125
356
549
704
274
581
371
647
358
107
212
639
158
217
234
480
328
125
278
270
558
270
499
476
238
647
578
566
296
269
288
286
678
469
267
239
171
216
236
525
155
75
418
431
575
392
116
341
285
393
86
235
579
101
70
279
1030
1149
153
301
609
472
326
590
333
814
868
234
414
295
206
255
284
425
515
373
87
267
385
605
661
271
262
238
223
266
644
354
300
706
105
761
172
134
484
185
499
451
253
407
523
387
632
479
133
432
726
535
191
700
319
570
436
415
79
173
488
198
706
826
375
272
496
142
167
253
398
88
269
331
289
770
376
547
654
483
250
447
473
191
233
530
575
170
423
251
336
480
683
422
627
216
291
825
317
470
300
542
397
454
457
448
520
531
436
550
631
235
748
134
127
341
777
181
756
205
152
343
693
618
229
310
350
149
143
694
138
633
27
542
404
276
252
111
260
116
122
544
177
98
350
168
463
213
419
231
337
795
517
529
240
449
366
300
564
385
265
426
474
631
393
584
235
244
315
181
636
363
825
396
105
622
887
455
404
93
549
478
193
322
558
438
758
181
431
158
199
347
255
658
467
130
597
446
275
537
522
443
54
619
141
62
337
1103
124
415
778
792
375
357
482
282
35
139
237
493
676
589
313
269
623
369
399
699
336
474
400
192
958
169
236
436
43
255
646
198
1078
953
266
106
285
503
70
357
493
214
102
80
304
535
215
287
142
545
468
266
95
67
201
585
219
759
304
329
227
302
260
331
368
309
628
425
212
465
135
686
460
735
748
434
545
421
538
178
134
187
443
370
300
166
556
370
575
502
396
89
280
486
137
280
295
43
452
348
456
522
444
544
229
394
712
169
274
692
540
60
527
417
201
207
367
211
317
701
337
388
458
325
492
322
545
541
452
374
170
263
329
626
395
256
294
508
234
347
470
892
823
577
508
784
237
580
67
426
94
375
278
278
152
77
506
216
241
497
248
545
188
579
157
170
393
240
133
382
245
220
137
179
269
321
115
515
248
189
675
226
698
473
68
815
186
451
258
425
217
97
427
244
264
479
272
528
438
562
332
544
445
167
568
225
351
589
541
148
111
893
361
406
229
156
195
418
288
314
121
390
376
368
323
509
33
290
405
657
165
165
373
462
298
274
320
132
259
345
164
429
620
460
443
154
271
776
611
573
78
482
258
552
276
102
89
416
442
371
170
416
116
189
268
68
696
272
460
464
45
209
348
671
627
910
351
179
274
549
351
702
459
404
272
60
393
511
117
432
342
430
262
908
316
141
489
119
214
252
750
192
644
681
263
65
276
370
108
47
305
293
40
344
108
157
304
185
459
199
388
844
530
456
69
758
131
278
561
199
161
301
161
133
701
51
288
830
843
561
446
279
168
742
548
418
303
489
425
341
327
175
212
245
229
187
709
340
388
207
291
395
212
202
436
468
256
289
385
583
530
650
681
170
164
149
171
570
494
694
537
548
503
199
116
193
522
394
314
449
746
408
321
704
492
348
11
245
219
447
361
816
159
117
320
239
107
282
63
334
521
10
477
423
279
214
449
335
811
470
159
129
371
385
434
824
128
1001
383
695
135
786
386
205
338
162
517
544
542
163
306
812
220
171
263
486
346
502
125
187
281
172
281
526
504
196
588
128
365
325
184
178
188
196
355
289
184
172
210
397
170
259
701
270
355
686
278
351
1163
580
334
290
272
515
534
261
485
525
525
573
358
352
239
545
310
264
261
344
511
45
417
364
119
358
410
254
334
376
337
614
304
361
408
383
461
692
162
247
365
654
220
312
246
648
775
258
293
257
263
628
392
339
526
329
454
288
588
447
933
276
411
291
374
463
587
590
1062
331
719
598
455
358
148
703
611
347
299
594
453
166
580
544
555
545
827
613
688
506
719
550
101
440
119
132
156
146
284
222
644
528
176
723
1102
940
326
405
374
445
287
88
132
520
232
334
401
451
507
328
207
475
91
340
358
432
887
736
492
527
496
286
473
352
713
60
260
463
161
164
304
729
142
213
692
183
217
284
305
354
295
280
543
240
312
314
545
177
208
459
391
168
145
322
582
593
933
569
399
526
422
517
612
499
756
204
249
583
361
347
194
296
308
393
519
143
230
419
414
553
174
301
676
513
205
296
357
467
86
293
593
414
370
680
667
368
474
207
351
274
187
185
84
154
318
268
595
128
16
448
309
396
77
1062
533
129
387
687
329
183
621
652
257
342
155
693
436
194
543
835
254
394
456
373
127
637
804
184
162
318
848
463
809
443
479
677
590
563
489
464
166
158
47
187
437
815
328
296
99
293
284
466
537
221
443
469
275
474
520
897
225
366
234
289
475
471
180
238
134
493
224
522
605
89
216
373
156
52
321
158
273
761
496
350
469
181
438
370
287
216
211
124
510
387
229
222
344
290
180
369
375
449
713
272
75
121
138
24
911
275
222
778
154
493
510
809
472
98
326
42
353
647
356
192
348
160
293
616
376
459
232
735
175
438
298
149
176
706
145
581
470
228
282
350
232
1066
168
292
799
447
98
344
54
336
414
506
223
555
776
531
561
503
187
305
395
562
15
394
568
355
336
153
407
118
495
487
137
409
341
396
92
324
348
65
312
257
226
672
420
145
486
408
654
603
315
191
155
498
284
308
96
529
483
264
248
345
177
421
896
359
117
754
425
121
41
547
296
162
252
524
147
666
155
97
356
222
476
513
283
385
353
188
458
552
332
71
215
203
438
479
144
278
276
123
639
944
486
102
36
256
315
100
169
543
118
368
83
752
122
531
66
317
683
492
404
40
673
342
346
218
632
617
269
445
410
354
824
436
533
329
607
402
214
366
262
82
370
614
405
452
406
61
195
440
315
385
195
449
409
535
375
383
246
399
127
267
282
470
165
903
99
410
618
165
208
188
704
303
337
268
382
407
748
132
302
274
666
361
337
424
253
376
772
196
203
509
382
102
1033
298
866
256
205
512
522
399
253
28
1035
624
404
647
127
331
740
328
547
300
474
496
200
225
430
202
439
365
874
176
320
313
321
217
427
452
325
262
732
276
198
82
342
110
211
743
218
831
810
218
233
267
117
288
652
758
705
229
208
243
524
644
535
147
406
532
472
280
380
325
339
139
312
544
327
225
144
78
188
255
272
500
267
311
503
227
496
144
376
196
175
321
362
447
633
531
392
332
459
167
195
271
540
416
311
583
473
473
237
346
395
348
340
901
407
610
251
129
624
296
196
895
273
160
382
558
540
660
124
302
558
89
187
577
525
516
538
465
205
284
375
387
462
193
641
569
434
501
170
426
339
280
247
451
394
575
484
258
474
341
229
424
681
516
681
226
391
94
538
1153
124
246
255
387
340
181
344
591
633
328
656
369
172
706
696
359
608
656
770
136
227
541
212
114
268
334
302
298
365
406
353
267
481
365
433
619
341
503
321
571
106
466
42
703
375
331
246
157
941
204
176
608
188
77
193
246
286
557
618
287
213
189
447
382
400
230
341
216
430
413
164
393
496
466
537
194
282
631
329
479
314
920
656
252
42
329
593
466
680
606
195
187
534
309
375
216
74
530
213
295
266
790
606
51
227
338
536
387
397
655
145
240
319
353
673
46
315
627
417
798
443
120
558
257
561
289
416
497
582
385
556
363
401
313
402
966
547
693
656
191
436
69
285
602
254
483
803
461
139
711
262
153
430
290
235
247
230
260
534
323
29
523
741
440
418
826
594
293
399
84
231
521
640
110
125
259
452
142
245
102
260
208
281
65
229
232
539
519
279
316
579
384
256
489
645
486
253
533
263
190
752
336
277
310
323
270
231
788
217
529
758
34
194
242
765
141
301
106
46
354
326
266
236
841
569
368
383
416
191
231
286
310
493
295
556
324
605
144
717
356
298
453
212
309
245
166
87
107
771
450
355
393
184
533
391
400
342
591
224
196
801
178
307
305
438
286
627
326
644
1020
543
308
117
477
393
294
480
232
407
283
408
310
121
174
266
243
527
168
854
80
893
876
90
524
289
300
138
331
588
580
160
509
228
289
324
330
326
161
178
249
131
231
50
772
130
567
522
265
498
181
524
117
528
416
716
368
102
485
220
889
985
524
695
160
266
669
81
431
655
61
109
734
898
316
441
444
531
123
216
602
341
345
483
278
920
496
743
638
498
743
306
273
773
314
254
567
323
543
138
464
175
599
197
355
638
477
467
317
137
182
399
580
539
276
508
176
43
40
463
394
648
157
194
225
334
98
84
526
687
544
1060
752
224
671
488
210
588
664
202
470
256
419
224
94
379
58
159
187
729
176
205
90
245
585
581
664
389
230
705
308
549
485
236
119
400
326
505
198
379
245
299
432
423
424
426
427
356
464
152
309
550
170
105
58
557
549
263
126
314
348
331
496
334
231
291
278
795
289
331
174
691
260
228
119
431
408
289
187
229
97
422
442
407
586
280
481
1049
736
324
521
373
363
754
221
422
301
446
306
48
512
533
281
200
550
608
620
212
492
212
211
119
364
487
412
402
271
284
337
380
497
578
198
549
629
484
427
920
550
452
624
403
309
431
153
532
207
40
205
665
248
138
699
391
149
667
61
515
466
445
333
195
148
878
304
314
331
177
236
216
198
994
426
451
301
323
385
288
419
204
400
465
273
370
661
494
193
475
462
179
777
622
110
317
494
450
226
276
138
182
604
198
568
93
109
310
248
405
489
228
318
339
927
657
527
305
965
632
449
436
412
190
621
421
95
462
620
484
688
304
159
554
206
149
636
345
343
237
700
239
771
453
794
160
412
926
443
437
291
235
623
628
433
368
167
188
362
166
116
277
348
390
333
496
529
149
274
582
866
205
590
209
447
468
493
84
514
254
199
202
120
156
676
213
339
570
919
164
138
287
106
301
558
145
135
290
346
303
235
94
294
403
476
270
189
472
675
233
730
354
195
297
274
266
385
292
97
338
153
517
705
97
84
312
507
195
331
420
667
225
627
292
371
519
353
903
518
352
624
635
390
424
294
442
713
217
318
701
218
273
551
150
710
288
611
382
539
234
31
302
543
115
202
121
433
44
315
752
191
351
945
74
326
136
525
424
534
351
226
290
206
733
825
391
163
603
663
286
640
726
525
366
90
544
467
236
396
255
424
585
461
348
489
356
432
282
333
146
386
380
134
410
74
271
397
626
514
468
279
506
233
290
281
281
683
186
82
30
418
677
163
209
235
113
772
415
347
421
230
217
139
560
106
668
333
431
428
140
669
237
139
97
514
182
148
380
64
258
529
96
396
198
59
713
321
199
644
455
786
605
42
320
629
240
512
319
462
94
221
313
276
185
647
346
399
433
237
356
525
132
637
495
244
765
370
501
552
666
143
111
366
383
225
673
600
378
606
495
303
205
205
347
307
401
286
223
233
830
225
340
435
752
413
253
122
398
596
320
349
623
682
283
928
413
225
835
445
562
86
382
286
344
99
341
690
485
327
473
778
327
520
195
72
265
223
710
308
222
178
585
252
251
615
337
555
1076
470
595
773
72
426
263
111
323
179
369
203
585
455
453
432
304
804
316
241
361
671
341
151
489
671
550
187
325
138
267
68
460
423
135
82
357
357
198
309
166
163
244
361
472
736
517
313
285
142
384
382
601
648
206
345
308
212
566
388
174
504
499
525
343
689
75
305
255
119
499
798
568
292
328
358
801
672
98
445
687
626
366
81
87
70
188
546
467
487
590
257
218
442
245
108
685
266
235
544
320
580
445
239
524
60
118
630
77
678
596
557
530
417
546
310
450
677
451
243
476
413
656
127
261
543
400
222
586
528
144
112
271
491
355
477
131
420
225
615
714
332
83
423
326
258
604
361
152
347
411
203
245
140
135
717
581
638
289
591
306
193
463
338
583
222
253
664
593
823
606
497
689
53
263
552
589
607
117
368
343
281
475
186
471
584
663
557
794
594
219
378
67
328
236
302
223
227
100
371
398
476
804
178
167
515
509
164
505
599
239
386
272
503
533
724
308
194
827
510
97
121
318
82
436
492
236
357
774
149
539
855
510
421
259
151
639
140
498
329
203
480
175
143
497
649
807
304
247
461
178
133
328
202
445
161
124
123
445
127
260
340
475
205
307
378
326
564
101
479
149
320
657
422
279
187
719
296
384
570
112
714
428
551
184
201
626
425
297
666
230
1059
88
654
224
459
530
297
292
1102
294
494
126
483
397
376
611
593
440
547
536
314
883
335
707
459
516
43
265
632
158
492
71
397
165
667
1087
232
589
398
183
313
168
540
168
156
31
351
209
139
134
421
754
155
21
570
364
339
458
878
676
291
391
198
298
472
324
507
233
612
127
529
309
31
41
281
393
163
163
296
452
223
946
575
229
296
461
220
650
197
599
475
370
429
395
378
485
672
261
552
345
591
418
551
177
521
376
170
205
260
486
590
109
432
248
887
376
448
252
326
774
306
273
413
409
127
471
381
452
110
254
148
455
282
341
104
194
244
439
637
208
266
353
442
187
126
244
129
414
580
373
718
424
255
363
273
874
479
624
245
622
324
206
532
104
45
214
555
513
169
447
305
464
391
776
206
339
80
866
198
543
257
365
217
158
168
507
126
599
230
512
448
492
537
204
150
146
293
54
180
100
315
273
619
449
682
492
926
165
753
221
422
263
361
556
783
475
270
278
404
169
141
323
124
139
510
295
501
378
177
147
203
315
352
613
226
547
756
784
371
93
412
493
520
524
302
685
174
491
493
638
511
45
434
428
13
402
631
503
425
486
171
225
440
198
621
370
304
34
568
492
640
131
443
530
431
460
496
214
394
312
472
1087
448
182
700
141
565
207
375
455
188
278
259
302
167
451
392
185
508
513
127
424
704
187
118
402
117
153
282
374
407
980
52
284
72
412
418
339
298
548
342
422
587
923
447
578
509
185
262
254
704
390
664
199
563
530
407
189
133
313
246
191
494
286
142
275
456
622
205
522
677
610
407
509
303
536
138
226
360
129
300
388
442
387
502
140
103
206
374
418
152
101
205
308
522
548
292
201
319
228
499
289
168
50
310
155
97
145
696
290
348
169
405
157
442
455
287
28
525
164
369
500
539
1006
478
261
528
456
262
270
400
535
414
443
551
348
394
416
464
309
33
318
243
252
451
426
296
201
118
333
554
182
66
646
736
757
70
333
424
611
208
83
116
128
183
299
451
274
513
116
361
378
548
653
547
367
466
313
175
205
399
232
483
557
894
495
290
428
465
432
471
690
86
198
245
218
504
234
441
521
711
123
354
445
372
229
652
353
596
229
937
700
223
742
163
193
454
130
286
342
526
115
221
138
203
332
360
363
742
589
391
10
332
619
229
538
688
504
450
75
516
47
528
315
96
234
297
805
186
271
536
277
238
280
478
164
199
752
531
419
214
254
464
201
112
215
252
70
823
722
350
440
118
416
148
327
205
272
367
128
536
576
485
193
217
204
161
504
244
473
163
136
208
868
505
183
295
115
416
437
265
427
177
656
321
503
127
625
428
35
437
219
338
672
561
120
205
210
797
121
417
1087
253
584
309
266
140
519
70
573
603
662
450
657
178
323
292
309
239
334
53
601
365
655
551
321
734
320
590
544
567
608
273
97
330
463
494
638
328
118
543
108
799
306
127
556
419
342
114
531
299
104
350
306
216
346
505
289
657
168
268
583
647
448
845
111
625
135
59
457
967
158
300
510
111
224
190
646
54
745
526
49
68
730
652
268
588
699
561
675
747
671
298
331
492
87
383
532
341
61
259
367
642
608
328
303
233
376
498
224
99
296
206
489
1076
317
298
162
285
540
591
451
524
414
357
292
257
162
449
936
205
63
804
1065
539
646
440
740
489
88
372
653
491
345
365
629
525
336
476
474
451
301
170
278
438
742
449
467
314
425
422
142
611
687
183
279
474
802
872
423
267
258
133
575
635
144
126
612
512
79
587
256
439
285
246
305
59
572
73
265
721
186
209
382
199
327
613
424
480
280
259
158
187
575
299
684
237
526
563
247
361
24
736
494
156
703
492
186
501
128
482
171
120
356
321
474
890
379
590
93
88
337
361
295
134
288
547
321
161
304
479
91
566
718
621
542
465
421
404
669
78
225
503
311
833
246
393
345
379
122
628
208
608
596
138
132
54
417
507
66
261
185
565
374
388
399
555
232
178
595
146
612
206
608
269
468
493
104
827
612
241
239
514
327
341
756
203
192
686
1027
572
517
171
305
368
293
72
156
587
915
702
635
290
102
634
378
134
81
743
158
249
443
518
232
243
323
348
487
699
381
322
272
367
664
284
365
369
576
443
610
345
245
260
144
698
539
470
538
743
864
81
437
24
28
306
267
254
406
578
552
357
290
414
165
77
166
580
569
316
94
381
489
654
588
264
624
318
239
276
556
169
517
393
297
503
488
944
345
229
642
274
683
331
351
686
279
92
289
421
529
220
669
351
305
497
514
296
379
562
683
268
209
556
71
214
256
345
605
468
791
271
727
359
405
358
331
383
569
544
121
67
830
145
453
435
455
134
224
748
634
407
156
533
187
552
332
662
179
395
229
126
664
65
176
574
365
523
813
314
153
476
453
277
377
499
166
307
557
201
420
189
260
208
54
690
427
292
417
475
223
440
271
318
526
305
634
421
719
248
554
570
463
65
520
528
508
529
188
265
557
128
22
782
65
233
91
427
384
277
584
51
235
261
489
285
248
99
162
722
402
731
601
138
288
543
807
607
277
607
407
409
483
85
1033
256
244
349
452
496
136
248
153
593
366
231
315
723
332
552
312
522
392
399
790
459
547
284
274
212
358
500
330
520
667
393
44
521
291
620
948
131
97
317
203
389
628
176
521
352
695
431
252
159
278
120
217
518
410
743
493
374
795
538
747
300
607
171
310
132
260
593
317
50
343
326
295
882
519
627
494
245
381
614
365
419
633
672
522
400
427
287
358
268
292
306
509
470
505
764
255
601
206
816
253
309
498
228
537
76
286
308
588
279
170
682
429
396
180
250
796
650
415
108
501
131
545
549
289
196
222
655
154
420
367
548
324
147
219
378
392
507
750
90
441
625
306
248
271
198
429
292
242
297
402
222
225
86
374
476
644
227
119
369
94
257
162
625
151
535
571
652
403
568
11
350
684
168
556
414
616
408
129
489
398
992
190
315
153
526
478
760
469
785
211
388
189
802
262
118
432
36
501
559
462
232
326
521
325
382
117
213
492
24
671
662
514
308
260
640
401
351
310
703
158
476
583
130
193
135
114
657
289
189
580
275
561
383
292
270
638
505
410
607
178
673
183
150
317
223
1000
803
424
741
500
121
358
156
214
578
513
244
185
501
179
347
472
537
154
130
234
435
532
279
376
351
356
113
281
670
229
369
239
265
62
705
557
509
656
189
68
186
110
799
623
806
558
490
165
438
236
210
372
674
490
331
216
265
168
569
367
278
169
318
384
641
734
384
331
566
475
261
431
366
526
705
296
205
479
400
695
396
285
805
197
100
249
550
273
385
98
508
295
344
107
494
330
338
630
656
503
130
406
238
225
222
219
371
387
542
247
384
338
243
42
419
427
479
486
345
308
562
59
180
298
246
172
434
272
557
296
573
226
785
365
575
135
269
679
203
273
349
368
601
112
267
465
417
591
159
282
273
526
506
677
677
102
696
199
303
191
316
700
397
69
429
173
417
703
496
175
303
284
406
553
209
182
444
143
448
278
212
670
187
422
370
106
545
139
642
247
538
700
151
332
135
471
593
629
916
120
697
267
419
382
466
363
546
170
441
834
718
456
361
498
343
272
143
394
270
651
478
1011
94
126
158
199
387
305
257
411
322
654
309
9
370
498
369
403
17
767
254
252
485
683
238
332
305
791
78
232
133
20
159
560
796
402
34
670
426
266
307
230
667
234
393
507
172
135
307
204
398
152
762
48
141
815
695
791
19
340
582
460
375
389
246
687
112
461
168
261
244
437
370
268
223
335
121
495
741
521
383
634
234
199
651
351
351
443
458
213
400
426
659
962
257
348
538
734
720
317
227
174
720
543
506
372
124
232
153
331
873
240
379
164
600
758
230
234
227
292
706
300
464
330
671
350
318
566
202
71
386
350
292
81
782
302
345
458
156
289
515
539
160
222
166
146
489
448
262
690
99
475
263
206
627
150
289
58
331
367
392
631
454
288
615
154
449
159
537
695
241
282
443
253
393
460
292
460
403
442
117
210
71
322
245
564
204
556
388
265
520
229
211
595
153
778
383
382
269
650
15
498
193
426
61
523
434
124
318
483
479
302
672
485
148
469
282
514
208
340
257
254
608
845
400
55
295
565
86
153
498
129
411
428
222
413
722
426
1132
705
313
306
338
319
286
68
526
671
377
360
582
602
341
219
45
194
221
434
517
514
332
194
583
374
629
728
488
293
99
597
531
626
599
306
334
740
448
458
554
592
465
471
174
200
384
438
169
536
155
132
550
114
158
442
472
619
85
296
678
581
288
170
243
136
330
381
364
231
808
369
150
154
322
124
378
192
196
363
454
191
342
454
479
105
435
444
241
573
329
375
402
844
525
384
812
642
489
941
202
774
98
319
293
259
247
506
576
740
116
899
141
337
488
294
502
266
281
1117
651
228
534
422
741
256
475
584
668
239
347
257
78
251
382
520
460
247
425
741
523
300
627
205
403
365
496
417
185
218
368
453
225
400
767
119
269
316
204
174
742
345
845
161
379
57
316
409
211
127
382
539
135
200
704
373
115
275
489
447
389
409
299
408
155
602
513
195
279
376
205
484
280
126
328
206
423
228
71
241
310
351
135
86
478
238
422
412
261
170
182
75
157
373
609
245
113
540
288
403
195
267
293
562
655
299
119
131
91
662
365
448
698
435
274
317
647
542
421
174
525
211
539
260
481
169
460
472
653
491
281
577
168
687
508
922
692
225
116
559
334
304
380
384
557
173
275
77
315
121
378
182
323
181
782
279
192
287
623
144
133
670
326
940
230
319
441
663
429
148
621
711
455
239
258
472
375
437
425
371
341
175
403
276
577
147
126
293
422
608
555
836
99
359
778
342
357
230
155
566
304
691
412
159
215
548
45
331
272
567
525
370
461
365
204
595
292
428
379
254
452
286
387
896
284
139
539
911
217
187
210
212
534
143
488
271
57
328
750
335
297
563
718
109
94
783
597
513
255
297
262
357
530
356
295
87
546
497
281
568
291
83
300
677
474
723
89
581
227
295
569
192
599
423
796
376
433
194
322
575
283
304
516
207
589
475
196
165
521
433
491
188
93
704
191
79
369
290
475
207
58
642
222
196
266
1105
244
222
630
515
329
185
332
131
486
373
518
160
369
591
570
254
128
569
674
235
502
1070
71
336
199
454
901
328
197
441
676
57
207
508
272
241
260
636
168
349
499
485
718
406
150
490
130
204
710
551
472
487
21
200
817
138
100
317
354
499
234
127
154
639
303
536
200
79
349
402
510
298
608
506
246
399
584
329
171
148
147
378
450
512
306
340
230
346
379
738
325
146
604
602
74
578
313
405
182
65
945
225
176
466
488
551
169
255
558
408
355
245
248
178
706
125
189
314
471
120
533
1003
591
250
223
445
325
111
165
111
520
354
747
415
184
110
548
737
441
560
556
702
259
538
120
695
252
188
120
84
328
289
210
301
379
270
603
261
802
579
46
425
918
338
336
203
366
121
576
552
186
610
704
405
191
34
159
220
422
413
473
705
1039
423
248
85
302
105
464
387
416
584
680
91
265
197
117
252
685
231
899
610
626
311
764
343
345
64
146
128
224
236
414
294
330
530
292
372
549
449
206
291
527
332
570
282
589
276
250
11
232
501
472
32
274
181
420
447
362
246
252
385
328
588
464
545
261
933
141
524
528
146
223
492
706
713
376
342
178
839
1112
499
575
415
172
277
211
271
578
205
282
537
398
609
362
478
306
421
405
677
360
583
167
493
307
335
375
299
673
186
305
170
275
602
714
887
249
203
652
554
238
294
350
693
177
748
747
351
596
400
443
367
524
478
1104
322
400
736
246
322
578
134
1001
877
149
66
271
714
381
479
517
651
382
312
556
390
709
428
293
266
571
159
520
358
468
453
173
120
310
112
540
173
109
530
234
337
405
340
252
325
472
173
500
455
63
33
63
571
510
239
624
832
266
679
106
211
345
154
108
346
274
748
589
309
295
483
172
451
150
392
756
372
374
694
301
328
366
446
441
336
309
12
328
603
789
643
277
346
205
410
180
800
281
356
291
286
304
339
355
290
521
502
638
563
688
71
423
358
824
389
358
442
774
366
200
629
383
380
191
854
379
527
279
10
122
451
422
241
471
300
312
159
156
98
805
563
295
247
742
129
886
466
252
487
754
226
704
48
353
182
346
546
167
272
220
231
684
498
325
470
23
309
771
511
327
725
785
1122
576
215
272
654
284
435
241
400
571
226
313
405
691
836
108
977
512
293
623
557
368
253
428
482
240
534
342
189
85
531
114
131
86
722
80
718
413
693
253
478
739
170
122
399
218
242
390
294
274
893
148
868
456
248
348
468
122
459
375
1046
197
322
408
716
317
513
600
414
285
547
275
22
204
61
325
564
639
248
317
544
379
304
556
233
326
400
274
447
337
328
325
467
562
138
53
442
117
649
443
432
628
76
297
46
437
122
348
712
490
93
683
394
439
304
249
348
366
261
416
497
654
207
735
466
517
156
1087
534
388
741
88
253
266
362
556
209
185
415
456
557
308
253
290
696
439
434
210
644
438
199
964
182
817
297
404
160
413
511
863
543
391
227
298
378
709
249
87
453
387
192
372
374
241
533
572
852
556
355
817
618
615
435
273
180
152
190
683
120
241
496
260
429
407
270
670
131
439
125
194
91
505
83
620
264
324
522
292
414
198
125
491
279
302
723
375
1026
263
210
213
433
318
589
388
611
402
128
178
250
271
194
899
160
255
92
425
481
850
588
322
284
397
240
530
391
737
563
205
285
605
472
470
189
586
192
376
917
104
331
411
548
787
379
280
461
395
528
491
323
560
364
114
345
433
467
668
916
502
340
536
191
469
316
160
422
77
266
223
426
658
157
376
331
322
133
19
332
668
311
358
356
466
33
779
326
555
342
375
270
299
500
23
481
65
158
619
756
285
680
491
362
560
44
367
204
131
344
350
370
561
331
214
176
349
426
61
150
901
140
230
353
296
415
346
645
816
526
522
506
311
31
448
555
215
132
138
493
270
145
410
584
72
182
724
630
373
325
337
480
321
208
340
477
190
147
908
550
447
474
458
412
297
184
291
314
274
356
139
280
308
375
318
347
88
288
202
118
165
299
146
186
257
321
415
75
569
263
174
858
587
604
112
192
262
456
572
71
80
345
108
421
421
483
239
303
103
92
573
138
335
322
238
468
268
28
654
232
491
1149
673
592
174
236
156
409
594
765
123
140
431
357
497
285
506
128
205
160
460
246
305
310
724
166
164
172
641
229
205
208
250
341
396
477
371
1113
95
372
149
183
288
273
275
703
475
647
586
141
202
183
174
773
325
132
82
377
517
341
207
221
276
525
173
842
213
386
470
424
611
639
642
101
619
125
288
448
329
397
731
618
348
90
830
180
555
129
443
364
442
255
597
596
301
238
311
283
287
569
540
81
575
665
276
401
222
566
485
601
200
377
524
287
282
709
480
290
333
166
499
94
72
164
243
524
549
234
163
310
84
122
366
460
217
350
346
762
572
354
156
167
247
67
230
212
380
343
64
663
257
318
111
265
350
336
422
488
342
452
423
348
191
120
151
291
224
694
316
334
789
523
68
445
330
265
515
209
569
281
305
707
450
797
128
280
212
667
398
423
479
136
1019
283
380
234
129
649
602
578
747
153
492
95
185
277
509
244
430
520
402
43
78
310
551
334
330
225
324
758
528
317
242
445
170
647
628
166
488
890
260
470
575
524
163
473
476
319
826
289
114
460
296
528
128
448
472
476
282
325
205
490
262
211
135
100
580
174
430
421
1033
481
104
227
415
386
280
518
395
549
552
451
231
305
554
792
207
167
425
516
183
432
173
52
381
271
377
466
143
513
194
663
179
383
277
636
169
857
601
530
399
294
212
545
753
109
99
118
119
328
11
176
570
536
165
602
718
50
156
136
379
272
720
138
139
693
240
565
563
749
277
486
285
477
120
177
471
678
201
411
71
546
863
261
201
203
441
392
29
307
422
634
152
407
134
461
374
318
477
871
423
666
421
116
304
393
339
436
478
453
60
71
371
304
911
538
171
448
296
171
514
449
413
318
359
301
379
131
319
347
291
372
133
604
451
254
120
263
401
580
130
737
131
149
311
326
210
246
566
837
265
684
623
297
621
418
377
280
741
218
130
85
401
487
342
329
220
357
354
297
197
271
233
337
266
393
250
554
323
305
171
409
108
511
694
409
232
428
425
342
589
358
139
318
747
192
478
655
420
816
476
574
531
133
364
233
124
343
420
404
471
296
288
318
425
545
481
555
153
318
366
554
473
250
704
525
86
203
914
622
177
702
255
629
401
509
358
452
582
314
125
571
204
639
798
329
365
742
374
337
333
610
617
161
351
490
652
466
603
120
393
356
271
299
150
162
222
213
345
367
119
190
407
100
284
161
321
418
31
205
71
192
157
339
566
283
485
427
561
289
654
1016
567
642
486
56
70
398
516
713
461
217
297
847
313
328
238
542
302
545
328
318
315
255
789
46
149
622
681
248
287
410
222
343
344
268
130
265
169
206
655
382
359
279
290
412
735
540
110
495
394
126
169
497
523
263
109
272
426
211
578
437
592
325
151
158
205
315
559
57
69
352
312
323
185
367
917
244
99
458
358
332
688
110
23
347
150
379
230
522
475
258
291
636
245
178
168
572
654
410
288
492
386
190
430
87
296
907
512
641
187
350
437
150
167
397
511
205
660
366
238
654
269
252
453
839
205
340
375
435
445
653
358
607
472
109
164
308
340
471
252
467
639
393
422
48
483
520
218
162
693
998
146
364
695
320
172
565
138
232
462
635
144
97
740
249
138
407
197
473
246
295
66
401
74
252
325
632
190
100
640
194
719
499
180
170
198
713
411
245
166
254
454
617
530
194
254
597
173
135
340
112
245
559
564
238
513
664
436
154
437
267
419
260
553
233
431
594
406
744
996
318
276
353
236
371
550
477
561
279
135
152
193
709
286
433
591
290
342
203
497
159
137
443
133
681
682
374
338
622
734
382
416
478
318
683
202
423
442
581
356
321
230
555
602
108
180
219
495
251
676
528
651
609
313
529
73
594
312
370
1007
354
244
261
45
22
208
447
563
744
221
518
317
300
696
105
331
585
289
115
485
105
777
129
173
241
421
57
216
226
608
310
300
388
936
58
148
423
464
248
232
248
229
512
241
300
126
75
423
557
524
430
165
193
310
241
502
415
217
671
202
144
644
144
677
389
464
299
102
600
517
602
694
292
453
287
286
285
404
386
498
280
410
380
639
481
1106
718
584
195
377
195
465
244
282
540
414
314
706
165
277
11
583
657
227
192
726
260
148
56
66
760
311
112
89
225
225
310
355
233
219
158
296
216
275
409
609
540
527
430
710
231
426
178
832
434
376
353
309
618
157
592
155
16
742
449
730
298
232
418
401
202
323
309
122
239
226
270
325
272
605
285
265
232
299
181
538
321
416
866
424
388
377
85
403
585
342
298
60
460
652
129
493
625
480
402
340
223
272
230
277
303
195
405
286
535
431
286
309
709
96
229
295
438
954
252
404
746
514
488
91
368
288
429
521
305
415
451
534
262
264
234
597
751
297
343
499
727
157
330
245
560
178
181
426
120
488
222
832
276
348
463
256
427
287
322
167
526
101
255
72
539
601
720
250
302
115
86
175
508
531
381
217
328
117
122
317
398
82
146
272
928
303
218
300
411
528
242
612
715
177
295
410
110
366
298
224
738
169
207
596
445
303
522
296
502
151
218
245
447
368
140
385
440
135
234
413
424
333
744
382
773
256
330
562
240
107
453
297
278
616
119
224
543
180
225
233
176
350
183
256
496
396
246
337
272
280
514
385
134
509
415
346
557
608
546
726
159
556
564
94
619
892
751
302
137
372
361
216
601
662
576
705
49
566
102
140
673
190
98
165
98
345
535
97
485
287
424
463
282
462
608
212
291
469
427
325
295
212
446
445
389
236
250
713
659
284
245
448
139
873
87
415
578
465
555
708
292
166
74
386
174
561
414
173
81
642
91
416
283
422
83
123
130
295
544
245
188
105
394
179
82
437
126
735
674
482
427
195
272
406
127
341
428
471
186
441
441
271
596
167
171
560
415
260
395
243
513
367
371
261
433
181
546
403
228
427
539
741
1146
215
32
510
272
249
761
720
644
695
640
352
705
649
389
338
196
151
186
555
620
169
161
330
170
160
268
652
109
807
284
90
552
364
605
207
526
579
351
163
169
450
143
1036
640
124
707
264
537
118
134
262
125
384
279
129
203
452
281
967
157
90
684
168
619
293
48
508
85
164
591
436
263
296
193
414
495
844
454
409
364
177
271
271
332
510
294
121
559
239
335
227
651
734
436
659
706
445
76
545
457
257
534
346
556
589
50
311
528
691
220
464
490
755
413
185
231
58
884
227
392
75
297
476
350
475
137
486
424
363
413
111
743
342
176
461
828
627
638
206
323
47
909
568
382
383
102
289
479
533
311
74
142
225
641
354
493
224
227
170
109
367
203
155
287
514
151
377
293
440
507
285
45
279
346
217
128
305
746
781
434
349
225
341
269
372
489
335
140
27
137
380
277
306
532
407
323
171
689
437
748
316
623
525
774
162
424
448
149
527
379
459
805
1148
310
72
475
395
421
299
247
264
614
635
178
559
699
245
169
561
337
432
325
640
366
321
529
304
286
590
504
714
214
443
426
757
424
288
231
222
511
173
192
377
417
365
267
309
51
260
123
441
375
261
581
444
495
167
274
509
320
430
448
154
231
166
284
131
946
563
414
234
129
607
323
204
353
326
309
202
473
489
412
199
480
359
589
288
532
441
332
175
167
325
174
354
501
1158
688
446
581
92
968
623
172
345
521
468
158
382
333
234
318
480
198
656
266
17
310
444
233
270
233
528
288
773
691
340
183
641
521
72
693
599
95
381
86
799
1086
724
391
187
196
424
476
839
537
153
330
215
505
153
171
214
482
311
722
199
768
292
482
170
115
583
359
157
194
598
483
704
145
183
506
155
479
690
281
350
409
579
176
439
399
144
177
422
403
614
271
232
247
377
211
263
230
483
436
467
299
365
154
75
638
644
217
63
443
169
592
618
461
240
400
580
90
952
277
235
578
149
152
187
200
280
293
384
702
219
174
60
324
258
617
417
290
527
411
417
44
149
580
411
223
391
462
441
186
162
165
464
189
150
265
189
143
294
285
402
289
305
116
279
513
367
255
182
323
243
283
285
447
643
176
337
551
461
345
459
333
360
524
19
215
257
285
278
58
287
400
321
401
259
203
393
352
448
246
177
444
407
56
386
437
280
313
318
572
534
335
394
380
393
633
520
605
146
326
280
346
443
19
575
357
743
64
492
67
531
765
562
971
186
42
52
705
157
342
547
423
181
562
537
252
637
161
74
434
135
316
240
102
501
297
744
293
409
283
214
513
371
224
525
352
454
741
182
419
160
424
300
210
656
354
590
250
448
416
554
295
136
245
333
463
200
671
195
526
544
103
362
668
695
537
413
516
392
441
581
142
351
485
614
273
424
473
500
660
140
189
70
305
567
125
296
1062
480
371
275
484
773
483
748
656
579
559
486
242
213
156
360
504
254
221
322
403
295
790
433
306
565
173
359
127
541
601
97
59
400
306
326
278
58
128
469
419
305
68
367
832
542
902
671
132
371
283
157
364
286
421
621
569
335
28
176
533
289
413
323
180
312
240
292
581
399
231
618
499
608
176
324
352
291
111
46
202
97
113
155
399
377
1105
271
546
602
328
132
274
226
520
189
457
187
322
108
586
520
142
313
331
235
409
425
503
236
326
365
536
702
614
470
346
35
442
967
157
388
131
171
395
116
305
64
80
582
239
724
316
222
290
307
745
291
87
334
570
288
500
123
779
512
195
275
378
615
431
151
283
485
246
93
429
362
577
530
381
500
340
136
605
187
253
502
154
362
268
225
595
423
519
148
136
274
145
302
162
341
178
20
486
175
338
595
575
363
349
479
629
666
103
142
73
185
588
64
641
95
788
133
520
308
410
365
668
298
168
509
559
280
618
479
701
301
354
427
315
562
341
294
118
699
85
948
213
438
190
363
371
515
439
95
551
490
196
573
279
126
70
280
415
523
592
122
458
496
653
423
337
746
695
406
128
185
98
392
671
170
430
326
366
166
98
355
210
457
66
208
114
368
525
377
63
307
303
434
128
292
414
253
506
66
206
170
200
74
741
782
100
965
538
336
326
695
330
482
320
517
89
558
279
396
609
359
492
262
272
417
162
503
356
565
383
199
374
391
640
779
235
184
194
356
361
123
166
112
268
210
912
133
186
236
323
418
780
389
279
232
225
746
584
629
154
208
530
526
509
238
111
232
643
319
125
127
374
282
189
573
86
330
592
131
127
321
248
288
287
279
225
767
176
476
275
825
381
543
282
326
478
315
628
262
459
193
154
334
224
174
522
446
475
378
306
423
371
163
125
233
441
294
305
369
165
308
492
317
456
393
326
556
522
425
295
166
283
457
517
314
372
237
328
299
224
341
350
229
556
243
267
727
113
660
412
341
98
539
256
431
619
287
275
331
758
332
478
768
547
365
533
357
35
124
428
328
293
544
548
802
472
913
267
693
276
412
552
644
577
178
519
701
310
320
342
625
335
645
400
101
399
890
75
458
307
468
212
651
655
433
700
342
320
90
435
94
54
432
106
549
204
285
179
435
598
417
266
157
536
450
133
262
472
323
357
125
465
290
191
334
732
371
351
553
284
157
114
251
199
552
177
410
392
363
176
186
539
271
407
583
325
442
304
572
661
109
633
260
818
730
474
127
190
326
340
588
241
719
381
203
284
180
300
278
180
441
464
515
776
436
546
353
466
226
695
406
358
58
459
594
277
712
203
104
262
639
198
201
585
641
366
397
222
536
83
558
504
67
373
58
145
128
299
583
55
279
180
436
142
387
240
181
392
327
796
1003
336
455
719
698
629
479
290
212
584
583
672
343
218
524
626
221
517
52
331
711
285
303
264
903
282
118
54
257
318
480
498
565
478
585
180
778
339
135
751
56
118
562
371
502
261
818
181
253
311
91
439
476
196
563
163
606
199
162
195
65
241
704
775
497
343
433
389
291
163
385
376
298
529
345
635
797
175
314
477
336
372
227
113
504
140
185
514
371
410
399
684
80
524
360
465
603
352
502
71
255
785
408
231
451
681
400
153
338
462
443
208
572
402
315
800
606
244
110
185
187
144
1153
394
345
347
184
224
408
700
101
451
361
452
454
499
783
127
547
461
504
579
72
345
289
343
594
120
216
372
225
108
725
524
556
575
548
477
294
84
132
271
582
211
564
569
671
310
244
811
193
622
364
541
296
90
119
210
124
329
122
49
366
742
647
848
502
422
171
310
529
177
334
255
474
205
438
259
363
139
373
80
143
279
232
162
651
330
263
304
298
296
287
308
187
707
338
240
237
561
695
614
582
20
277
710
93
262
325
397
213
264
514
206
239
190
553
199
92
426
484
113
688
305
96
241
306
655
733
595
472
304
369
184
218
374
185
498
44
156
65
115
708
433
456
179
172
228
497
657
498
314
325
315
596
58
465
606
292
679
462
390
288
426
1096
391
597
296
494
264
533
242
295
590
409
323
165
370
340
254
386
627
497
240
183
88
416
355
391
73
729
173
198
313
282
547
726
561
68
472
257
418
384
436
836
327
258
261
583
88
230
327
874
114
739
251
434
105
187
286
365
381
505
577
392
228
549
717
326
465
57
440
369
341
145
644
418
515
144
453
149
188
160
64
505
150
80
315
480
338
717
443
95
867
117
109
256
359
343
702
157
74
254
283
289
321
539
606
771
382
246
131
203
334
640
566
292
316
620
137
77
160
450
646
243
165
665
229
554
672
279
414
397
392
434
168
285
269
129
402
634
273
320
176
584
565
526
581
357
439
433
266
213
189
673
752
472
504
284
525
540
420
584
302
538
378
138
774
112
419
82
395
206
123
401
339
717
294
157
301
405
185
299
615
131
443
151
238
652
451
271
492
779
270
687
136
242
586
115
109
165
506
316
558
246
297
296
444
763
209
158
204
39
703
638
925
567
274
462
781
428
729
318
550
145
603
639
123
447
364
539
693
584
948
284
345
220
219
300
815
290
550
302
602
522
280
695
325
383
738
621
481
521
626
293
538
442
443
125
218
258
232
504
77
54
917
380
299
103
682
350
249
149
355
514
124
92
901
319
571
83
657
585
523
120
510
422
134
436
230
108
127
336
388
174
520
446
381
554
456
134
235
200
214
850
403
515
819
264
707
199
127
110
481
326
783
480
311
501
326
205
371
261
208
344
1006
167
81
458
694
332
973
848
235
70
235
331
740
411
251
579
280
156
288
256
313
253
217
222
546
729
185
140
96
133
88
103
516
161
244
263
162
433
341
544
365
439
40
600
212
170
362
222
134
346
174
285
953
575
236
467
132
831
81
400
313
362
344
452
448
607
226
381
141
682
528
320
345
300
282
380
377
548
422
138
200
238
605
100
502
242
294
212
559
301
653
426
658
149
1071
72
399
745
632
199
356
440
682
443
397
458
354
520
329
256
394
580
467
383
189
365
422
245
308
499
485
493
500
127
300
170
1103
644
30
638
680
317
698
755
654
327
591
156
926
392
298
501
329
340
277
113
384
90
131
619
309
230
328
222
273
644
124
109
400
568
422
619
157
619
298
185
728
523
250
80
621
541
166
76
582
364
410
637
323
289
239
651
375
538
271
912
206
936
196
174
329
232
492
280
444
307
244
161
769
222
446
452
478
506
16
349
356
180
190
412
87
494
265
335
209
812
457
900
232
199
474
399
687
428
741
485
396
90
290
267
205
164
217
548
382
581
235
505
395
588
1071
229
63
518
491
218
71
540
19
363
553
554
494
213
543
319
184
479
193
181
298
269
137
90
244
353
489
335
628
326
110
266
347
153
355
455
207
311
459
123
202
389
345
321
727
436
300
640
124
460
574
759
407
656
131
224
266
83
418
272
354
525
253
351
769
141
524
662
24
469
469
474
553
454
30
505
398
471
381
62
145
667
637
265
383
787
509
217
457
244
299
82
370
383
614
350
260
567
662
382
299
288
510
179
257
434
317
657
424
273
692
524
162
307
177
354
579
72
472
598
241
269
420
404
267
385
137
315
97
353
548
357
315
478
207
274
537
522
245
784
166
410
322
671
112
69
361
194
232
700
258
580
742
286
334
530
188
118
359
620
449
709
628
571
349
269
502
433
462
159
480
630
942
369
209
213
118
244
592
395
343
254
185
253
460
337
432
270
968
346
398
501
360
742
128
139
107
323
511
564
327
551
119
629
161
716
130
668
661
506
589
76
550
759
637
199
530
132
560
327
366
206
139
712
480
341
580
747
378
208
564
663
391
361
213
156
254
397
782
126
335
494
303
316
23
544
148
413
689
414
379
505
318
20
447
100
647
467
606
67
195
153
139
201
550
337
85
210
305
338
285
488
784
677
283
449
447
376
114
329
703
272
232
322
181
638
460
460
72
546
52
164
386
311
72
343
98
519
463
407
729
55
570
733
143
248
375
232
256
558
172
405
300
478
96
74
482
619
384
297
25
172
230
619
542
233
331
241
393
993
516
645
500
759
299
352
934
97
481
202
279
247
375
220
859
330
523
159
263
590
397
355
862
572
219
739
199
411
805
551
161
100
443
494
322
239
644
90
466
193
1007
556
281
24
459
326
446
133
540
204
248
161
518
473
549
593
720
522
276
468
638
731
358
454
297
614
204
632
379
541
563
257
510
724
183
205
432
110
438
330
552
504
281
300
157
188
527
84
639
486
554
85
634
360
290
304
416
214
461
334
471
233
281
515
175
305
252
602
97
639
583
169
460
375
483
179
404
785
212
303
107
362
370
559
403
222
506
602
443
416
878
124
321
248
275
250
443
618
412
72
371
378
199
462
50
301
274
195
372
237
511
480
403
211
101
427
370
83
435
262
639
514
585
260
832
483
95
281
165
509
644
687
430
317
562
263
298
755
742
163
328
147
422
667
153
409
354
850
303
143
22
416
85
434
133
151
446
224
197
827
333
378
263
964
411
332
790
258
199
182
416
689
248
314
366
744
342
543
346
150
156
436
274
476
191
400
101
171
222
36
471
233
259
225
420
492
209
166
144
261
841
131
183
383
223
423
229
435
105
345
295
461
926
281
297
207
142
368
120
613
247
437
377
243
585
365
271
172
438
472
277
318
266
484
354
241
289
348
305
756
294
175
505
535
421
54
270
423
157
265
183
367
744
464
454
293
120
524
441
343
415
720
472
389
232
173
347
479
90
298
377
692
522
53
86
361
575
456
595
488
248
337
326
913
385
214
234
371
489
187
284
558
672
43
518
166
423
448
311
209
72
397
456
593
702
310
129
368
485
302
303
276
276
185
304
278
358
81
131
411
159
161
494
363
349
356
631
574
762
469
35
328
195
628
122
352
263
187
426
229
202
308
176
179
734
448
411
571
790
551
241
429
590
101
577
125
969
892
752
594
448
306
582
286
334
348
645
223
659
285
86
114
392
340
177
433
327
360
109
714
119
443
578
680
211
458
752
869
288
456
897
394
232
187
323
87
556
317
396
32
470
368
683
663
503
258
133
363
394
221
428
841
409
462
499
330
355
618
304
176
493
953
683
126
249
30
694
146
590
338
213
849
402
427
616
403
1121
364
169
100
949
232
175
386
298
447
529
197
700
309
679
385
120
347
74
662
461
232
334
600
146
372
514
526
232
390
382
317
274
546
103
81
295
446
359
249
288
250
590
346
395
469
318
442
570
287
282
424
535
709
230
204
232
322
415
320
447
126
261
218
484
179
380
715
498
363
761
161
162
158
530
393
258
318
489
206
667
401
154
329
526
682
554
332
657
393
743
325
531
364
257
292
310
907
312
126
670
214
154
331
217
129
299
708
609
541
223
197
224
708
945
222
375
80
668
362
480
172
163
501
204
457
357
646
130
162
314
795
413
599
312
133
394
549
593
300
361
110
622
247
493
481
231
198
348
312
362
203
139
208
441
163
250
552
238
129
595
206
340
494
332
703
304
101
132
263
561
234
229
367
269
233
301
317
541
722
450
347
535
59
399
304
217
166
474
553
175
434
222
555
505
138
969
507
315
112
631
430
396
387
588
273
341
97
441
244
203
264
624
564
497
166
242
809
46
311
223
256
372
174
220
191
528
875
490
286
196
506
155
294
227
263
230
304
488
220
547
361
312
673
192
71
534
267
363
418
220
621
553
569
141
588
419
767
575
399
409
324
101
478
619
477
292
467
408
350
245
498
530
685
219
454
268
206
433
428
423
195
335
312
181
102
581
125
303
299
163
223
444
295
269
609
327
276
664
424
337
433
226
641
247
171
282
221
194
492
527
185
540
327
520
179
498
202
324
140
361
475
321
654
133
563
324
469
149
46
43
341
289
369
143
446
255
167
113
938
172
291
246
439
414
311
874
471
513
210
173
340
737
176
170
635
659
475
628
421
201
388
102
385
218
357
242
683
55
422
520
383
775
714
107
380
582
380
170
429
604
250
401
271
170
155
445
220
212
391
274
195
313
377
221
281
389
100
467
468
189
460
65
381
394
493
543
210
81
494
780
192
246
268
471
165
375
392
552
471
292
506
523
317
287
565
270
367
171
208
208
174
139
425
505
635
477
142
158
249
422
468
344
700
410
394
257
256
337
196
732
660
541
346
331
451
508
537
13
393
159
461
480
358
34
566
581
109
557
583
362
378
621
347
200
291
216
313
61
448
218
267
438
531
367
591
311
434
205
316
118
79
332
529
498
295
523
132
190
173
340
99
130
189
339
252
178
261
448
561
182
573
329
205
333
266
870
524
539
669
126
550
446
634
28
628
115
537
172
310
440
168
593
270
160
784
651
288
342
214
358
348
87
87
362
678
320
218
125
679
311
790
112
908
296
673
505
266
186
279
414
239
505
1112
290
440
223
196
472
818
575
500
347
404
729
485
399
521
163
142
369
245
498
339
154
316
630
99
712
429
291
99
116
335
278
374
348
316
275
152
322
228
443
168
169
46
256
478
31
294
85
436
466
331
206
189
269
182
242
102
346
73
446
621
756
522
816
472
270
492
130
340
306
558
197
78
558
298
341
355
544
710
134
264
209
268
107
572
513
317
279
510
475
428
287
76
82
450
155
588
360
136
326
27
371
685
1082
201
93
404
317
350
241
601
401
709
242
423
507
275
219
461
646
541
580
32
386
595
433
526
642
447
31
390
367
296
150
25
475
407
448
386
480
568
648
281
474
640
438
234
305
112
690
125
463
287
509
809
640
552
131
522
132
514
350
449
170
424
342
124
512
508
704
228
117
157
114
195
528
403
234
307
385
304
524
308
501
713
388
576
326
457
575
264
292
298
760
299
205
629
614
478
43
247
237
258
270
292
429
351
689
520
224
406
582
425
196
273
278
364
511
330
338
586
481
274
160
508
164
473
359
459
171
63
563
275
301
178
622
893
324
119
707
626
696
641
649
656
169
68
280
289
359
368
268
450
477
207
96
502
284
372
51
138
638
468
157
163
402
361
684
634
209
270
949
437
580
447
409
289
353
540
828
376
717
60
20
102
623
453
475
117
379
480
477
148
334
533
441
605
561
663
374
378
309
156
294
121
51
388
635
655
248
660
628
372
222
583
691
544
211
528
537
100
371
95
379
403
893
465
85
264
314
240
375
408
592
154
446
461
436
146
229
522
216
646
235
559
530
290
179
584
57
722
574
372
269
366
332
147
354
599
111
437
487
326
266
304
210
258
676
775
782
312
320
226
498
51
234
415
480
306
277
310
268
224
113
485
72
721
557
569
229
17
605
455
173
243
202
523
451
55
668
446
202
689
266
159
435
33
183
19
382
138
579
189
195
411
108
97
801
88
714
517
365
658
312
253
463
96
506
933
343
241
249
790
727
464
127
140
231
528
539
554
113
191
229
241
295
192
282
231
194
144
140
293
444
674
99
447
253
359
308
240
330
263
846
425
98
125
713
694
449
138
389
356
1079
159
588
275
467
210
437
366
1125
288
549
353
497
320
451
134
323
245
99
233
492
383
475
169
478
445
146
262
458
378
183
705
274
400
523
332
414
259
183
294
198
640
463
660
773
278
348
272
454
555
175
150
930
756
501
342
663
604
219
425
312
334
336
693
318
323
597
69
152
562
316
118
108
799
260
515
202
146
678
198
708
131
630
310
344
149
390
642
423
122
428
295
406
580
549
308
152
201
149
123
600
392
553
227
338
481
576
276
226
629
279
661
531
457
103
201
596
478
424
571
362
189
301
503
341
171
43
27
242
409
534
516
398
318
928
394
484
497
572
301
413
456
288
186
542
423
93
113
205
793
157
190
225
499
92
164
316
244
236
506
106
230
219
645
75
626
374
574
527
338
374
360
560
138
654
311
205
655
338
340
408
426
502
269
111
615
159
466
341
682
116
312
678
644
232
262
115
247
606
859
671
194
347
351
162
751
138
144
480
224
188
599
311
35
737
803
269
240
652
803
416
522
222
407
385
419
579
526
493
193
634
126
291
258
188
117
726
231
186
321
521
443
448
239
102
195
392
616
383
1144
284
386
302
166
398
317
336
458
495
369
228
535
444
205
171
348
514
129
283
517
403
249
137
222
475
487
138
543
547
523
246
158
154
446
647
337
162
176
467
352
523
441
141
369
215
409
307
297
248
656
190
445
407
534
326
203
224
197
454
293
287
171
442
423
584
120
209
441
384
439
129
34
670
40
356
139
309
88
126
730
406
562
1036
367
395
514
219
304
285
383
96
455
274
227
696
135
361
156
138
378
739
27
640
164
164
160
620
464
142
172
153
165
156
380
177
332
187
214
522
239
449
488
433
447
578
332
473
200
251
632
157
478
201
751
188
783
153
484
693
337
162
46
318
422
315
410
302
164
449
285
101
105
829
641
136
277
438
368
483
218
722
399
575
413
56
219
383
616
467
613
622
343
463
635
267
661
399
200
651
265
261
24
144
237
546
259
325
252
185
211
333
178
289
390
401
216
573
224
626
300
438
211
322
945
526
189
244
405
439
450
282
457
192
454
631
268
654
296
302
72
699
687
259
244
234
299
272
127
446
426
456
486
526
463
310
65
116
344
119
749
605
391
270
705
225
476
201
74
334
467
183
123
95
325
289
596
235
344
211
441
715
183
29
321
127
473
529
406
709
157
725
259
285
643
444
358
376
100
810
302
58
254
408
634
302
758
558
91
160
438
433
350
592
417
358
554
272
521
217
263
219
287
213
593
564
163
401
200
925
317
375
89
271
415
313
336
416
275
217
293
434
717
579
441
60
535
287
280
530
436
503
110
292
156
558
655
743
419
165
441
426
204
282
265
421
658
122
314
399
425
267
374
329
748
220
575
509
850
313
167
175
854
374
169
203
540
534
230
542
476
81
267
472
694
189
380
202
239
546
545
988
137
277
492
232
442
218
287
395
520
342
676
371
136
547
311
744
85
58
413
170
234
753
213
509
942
632
326
510
260
336
347
198
107
345
167
496
735
30
681
223
783
699
371
209
345
454
214
242
629
215
223
319
589
266
444
1097
250
123
609
870
336
557
439
718
708
200
431
157
242
487
665
313
138
427
647
453
282
24
250
314
135
425
639
527
236
257
525
333
358
552
208
258
365
285
556
443
302
294
44
345
681
352
336
542
834
661
224
138
159
336
743
476
612
772
527
433
460
65
260
258
535
317
117
868
621
159
305
657
748
46
313
27
749
467
268
282
651
813
547
357
575
909
430
527
629
290
458
229
366
256
743
316
462
583
355
320
745
391
551
713
588
240
300
598
140
238
315
450
192
301
829
222
379
244
748
159
717
555
574
460
302
40
337
112
490
661
284
515
367
444
630
34
861
128
346
112
271
380
276
509
613
712
582
322
413
355
357
411
220
481
207
464
262
537
423
67
122
244
170
614
601
296
515
595
400
515
192
156
315
579
558
169
440
348
454
244
261
711
145
505
296
261
334
203
242
539
415
356
601
195
760
407
329
935
605
642
191
993
225
320
338
99
365
576
1112
631
407
553
1050
381
621
373
452
430
269
424
461
259
71
664
512
591
620
219
822
564
817
453
34
538
62
297
226
290
345
814
759
58
314
820
131
474
288
637
532
135
132
298
691
205
313
326
245
291
224
373
549
369
146
263
486
520
244
277
198
493
511
148
615
327
762
268
500
518
173
181
628
631
187
420
670
289
642
740
773
219
357
261
316
525
78
912
340
464
819
366
383
172
244
579
316
365
516
298
602
464
158
741
328
372
683
575
538
344
444
634
246
1147
120
290
36
115
425
358
566
469
233
269
562
425
560
257
414
87
197
169
432
297
603
547
413
351
615
422
388
335
653
737
350
544
475
322
404
591
351
67
463
129
437
604
760
309
174
544
398
397
120
357
398
508
419
145
608
396
380
407
746
310
233
262
109
378
994
560
235
266
288
64
316
116
216
402
696
620
509
242
360
713
522
181
218
683
768
124
203
599
344
569
234
334
364
608
227
81
240
719
718
422
455
254
586
556
178
426
383
299
482
248
281
279
470
561
525
575
504
459
443
539
139
222
318
442
363
265
91
305
378
113
266
368
975
609
386
310
370
96
402
202
325
110
631
211
455
163
132
429
321
115
272
241
416
565
328
101
567
357
511
205
439
211
531
149
148
780
127
535
765
87
378
776
579
380
300
71
76
202
192
486
334
177
885
492
401
171
348
466
93
508
422
466
332
476
186
244
655
326
134
418
276
346
522
329
365
209
393
536
212
195
609
341
276
412
492
544
553
258
454
394
660
380
193
587
117
442
365
320
386
363
422
127
525
741
283
203
350
413
675
141
385
75
136
898
363
267
124
209
414
281
283
452
206
106
469
370
426
479
573
545
402
170
95
288
263
440
433
234
549
505
548
481
199
366
381
294
222
479
236
379
498
789
759
555
72
495
353
743
647
385
294
360
241
357
413
618
297
360
241
229
245
286
606
661
606
89
442
387
274
306
380
648
319
536
277
994
400
71
234
390
510
156
207
344
280
154
578
466
529
394
319
332
221
334
291
482
362
670
465
151
449
352
293
425
202
785
343
393
583
251
696
595
455
100
468
406
170
286
350
186
63
549
799
758
451
338
651
99
388
273
974
241
82
510
385
379
573
581
45
307
160
31
319
493
785
151
597
205
670
62
705
468
266
378
346
109
576
546
28
421
581
601
495
581
288
321
669
340
313
585
292
227
184
554
49
334
84
395
350
179
415
725
532
648
505
504
502
181
532
98
292
188
374
76
441
378
282
250
290
445
337
264
640
286
115
261
75
555
479
93
320
500
126
615
310
221
400
387
662
384
305
687
181
546
848
223
237
769
536
318
717
700
957
564
799
646
255
194
241
185
231
278
293
421
113
700
297
369
434
682
349
509
657
430
306
773
859
152
613
833
699
58
307
188
389
187
128
305
490
134
216
460
319
550
156
957
237
524
38
580
714
122
335
296
295
495
287
176
212
187
315
219
96
425
47
452
207
232
622
206
978
579
246
397
575
354
276
248
641
715
574
493
438
477
244
559
425
121
413
507
213
560
152
98
169
62
72
156
459
449
289
761
255
648
650
141
292
373
690
285
313
622
126
137
207
481
353
940
206
80
208
180
177
493
64
381
194
275
66
351
255
457
873
575
444
311
191
867
317
567
1153
642
391
260
545
249
653
405
199
372
342
577
91
364
100
80
716
471
498
72
434
410
284
495
380
399
72
694
882
125
926
510
118
396
237
800
215
688
980
110
461
765
143
262
230
377
501
620
333
390
552
236
455
342
449
474
542
226
521
232
124
391
116
445
317
153
190
164
274
498
384
190
902
594
69
605
418
65
330
91
376
301
150
941
171
262
271
549
560
383
554
502
944
407
125
130
259
155
218
293
537
161
312
183
143
211
332
224
127
429
335
240
405
100
361
318
542
379
284
339
311
200
545
53
674
342
881
320
179
574
330
721
313
400
454
589
179
213
189
325
252
473
725
451
800
209
173
682
128
646
498
239
143
208
785
350
294
624
123
183
497
108
183
808
276
346
118
115
15
551
599
145
168
318
299
154
43
526
507
198
574
78
225
282
144
361
365
113
367
341
733
268
688
325
358
232
493
176
367
579
573
870
374
318
109
140
337
366
391
607
210
209
317
335
640
495
273
1051
536
44
295
203
300
466
395
3
254
324
503
361
312
265
320
282
431
470
541
252
434
81
579
650
169
517
323
741
108
308
241
400
296
177
322
700
354
225
759
425
79
917
278
47
240
595
288
506
188
40
313
325
560
307
118
338
561
577
881
658
215
691
327
179
234
363
573
243
881
752
342
503
495
287
135
1008
330
576
473
395
279
205
246
291
219
394
652
214
627
390
375
326
615
346
221
385
23
211
297
545
406
499
60
211
676
170
342
98
413
110
306
238
655
349
21
755
174
52
175
580
460
199
517
321
203
789
307
701
161
222
340
513
220
342
294
282
490
206
293
651
67
224
430
408
286
530
570
617
187
327
149
307
105
197
225
345
219
160
208
139
342
489
364
266
198
108
372
517
447
64
785
305
336
49
25
633
83
254
173
121
502
396
264
523
292
597
500
382
411
74
344
522
124
188
170
219
413
225
749
137
317
232
527
264
700
697
544
446
561
528
232
307
216
753
403
601
212
451
138
233
343
93
244
778
254
233
425
121
775
182
168
289
579
459
243
115
324
302
172
613
316
102
372
154
217
307
360
257
249
282
696
488
419
152
612
126
280
523
145
293
449
223
223
473
222
662
394
136
667
424
219
705
709
241
570
356
651
99
340
375
298
1043
430
185
429
51
475
446
447
567
341
489
599
395
621
440
190
231
54
506
349
137
71
296
208
518
488
152
464
285
251
331
224
450
257
195
392
497
221
326
924
391
317
293
140
541
194
377
170
648
352
517
725
120
436
516
511
663
312
409
667
476
100
618
444
218
362
122
420
649
286
807
275
800
531
538
816
645
386
457
467
180
416
473
288
226
71
970
350
402
506
131
270
465
525
115
252
80
401
351
664
450
472
267
236
100
285
324
145
676
241
243
127
89
106
283
391
135
229
442
260
327
212
562
45
565
494
387
483
84
483
529
591
280
327
683
568
470
446
66
310
249
506
239
542
903
395
49
179
388
914
922
267
354
457
304
261
662
345
96
271
428
548
295
752
402
166
501
425
447
139
615
791
224
154
364
780
222
178
295
172
11
321
473
100
563
619
514
163
143
123
693
345
376
494
260
568
364
333
280
796
279
299
153
346
144
333
310
209
309
457
162
451
190
511
294
366
172
305
558
493
224
272
290
992
190
287
277
162
278
86
244
877
165
497
662
704
194
122
45
464
578
216
315
305
340
580
446
501
391
848
847
416
736
293
610
659
198
148
325
196
236
551
275
389
320
596
319
104
259
326
532
172
328
456
289
312
592
276
110
357
917
414
538
395
121
291
84
357
482
236
526
551
91
258
276
372
182
669
261
549
345
216
108
219
171
587
303
288
681
308
332
219
190
142
571
222
635
261
177
191
132
543
473
288
60
664
262
519
425
377
324
317
223
232
491
403
703
790
154
356
917
670
462
79
185
278
85
325
295
650
623
1123
561
279
343
310
130
214
238
565
692
282
352
409
158
383
339
255
486
253
250
187
306
339
259
211
386
263
254
259
305
203
197
267
489
278
443
533
787
391
649
145
494
382
623
513
578
289
233
322
240
607
689
620
527
345
145
577
394
560
341
136
604
290
278
185
557
895
308
870
10
277
333
553
422
368
794
545
605
265
832
203
298
339
139
776
198
499
514
345
231
66
347
543
114
62
107
698
180
491
541
289
561
968
387
696
779
252
305
217
419
775
471
173
233
160
536
199
299
311
277
310
505
24
63
138
709
496
711
483
428
380
673
426
319
539
509
362
543
326
548
144
353
287
346
97
435
272
416
701
203
327
254
291
236
877
260
320
782
201
343
721
499
488
726
559
249
164
240
717
137
209
447
337
518
255
524
454
554
332
462
598
163
981
540
83
458
358
96
870
557
452
344
210
398
401
169
156
482
538
444
608
208
250
115
373
631
381
495
407
157
69
428
356
563
922
507
410
591
42
459
778
108
759
383
357
296
302
106
267
409
140
210
113
178
137
243
403
220
199
135
544
268
673
39
176
328
199
407
131
460
342
299
577
298
338
681
115
236
720
745
258
492
284
473
561
236
232
229
257
386
564
334
23
753
467
354
79
325
163
770
672
343
71
444
743
308
413
402
399
558
457
33
56
272
588
476
506
120
488
537
162
900
532
412
224
436
382
386
555
538
693
371
238
208
319
532
649
607
200
801
564
674
487
453
613
255
271
188
151
353
309
262
328
299
284
448
167
500
343
208
655
259
326
751
395
423
368
398
638
93
335
511
109
134
364
645
142
235
171
201
77
358
427
645
109
359
336
380
367
130
600
469
622
409
85
107
130
159
579
202
161
376
464
742
118
312
569
245
322
249
197
622
423
174
393
211
275
261
483
174
527
347
507
613
414
594
243
191
309
525
496
300
343
304
177
242
218
518
668
222
250
235
300
255
644
124
201
817
221
288
465
477
198
289
231
470
210
315
150
115
113
305
381
587
315
536
494
186
21
281
376
153
736
446
249
113
443
239
198
513
348
337
744
438
664
164
257
393
459
553
396
93
165
582
325
261
417
635
405
635
447
63
293
89
234
622
261
334
303
282
305
296
423
694
302
130
45
290
484
486
304
22
222
206
76
480
409
349
20
488
604
343
442
368
394
194
455
692
458
584
442
184
281
732
218
298
85
360
350
32
320
186
70
331
123
309
765
418
59
591
204
399
420
177
352
385
92
910
185
514
410
445
123
486
206
432
120
428
141
156
366
412
224
162
652
37
356
425
291
255
362
610
570
665
283
188
523
693
406
671
322
473
442
117
710
481
176
160
232
382
173
279
148
853
340
576
529
275
63
136
460
296
591
386
869
252
523
282
535
237
427
269
661
48
671
332
616
572
778
343
457
323
307
527
246
189
303
208
155
179
455
201
369
159
463
545
274
110
490
58
169
449
265
680
386
307
575
229
354
860
665
405
606
229
370
310
614
394
506
359
260
488
561
177
511
166
541
266
303
727
398
705
244
207
558
466
656
544
693
271
102
155
125
337
58
183
981
604
402
438
359
364
653
443
201
652
172
437
556
130
608
183
361
79
303
555
252
595
315
309
108
378
188
66
234
430
283
500
189
116
216
606
591
381
536
673
21
242
123
587
403
540
669
168
288
602
273
556
606
513
235
75
591
577
379
384
411
701