0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-12-26 17:12:06 +00:00
OI-codes/S2OJ/1693/data/idiom18.out

121436 lines
469 KiB (Stored with Git LFS)
Plaintext

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
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
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
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
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
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
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
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
344
345
346
347
348
349
350
351
352
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
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
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
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
2
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
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
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
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
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
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
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
249
250
251
252
253
254
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
573
574
575
576
577
578
579
580
581
582
583
584
585
586
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
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
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
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
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
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
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
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
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
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
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
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
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
509
510
511
512
513
514
515
516
517
518
519
520
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
199
200
201
202
203
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
238
239
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
430
431
432
433
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
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
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
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
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
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
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
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
261
535
422
369
495
370
763
141
428
89
619
127
573
233
164
426
219
463
706
588
557
296
751
594
322
552
350
657
713
435
664
323
324
339
722
469
483
172
350
150
277
537
449
387
186
105
725
260
132
408
425
88
395
608
292
309
702
186
303
521
487
666
543
276
105
155
154
503
176
277
337
720
576
349
377
562
180
39
296
316
130
349
110
243
413
664
446
20
236
377
405
78
540
581
479
479
102
157
560
91
92
335
721
202
485
352
597
118
407
584
260
440
345
313
468
490
611
294
244
436
418
230
308
510
778
655
71
334
26
238
366
172
685
291
912
122
589
605
589
348
361
379
732
252
135
582
681
275
388
453
839
584
503
575
226
345
130
179
510
555
324
460
542
698
673
603
354
428
667
336
366
615
498
629
385
436
211
606
613
355
512
273
204
465
470
335
301
73
228
352
105
276
305
536
406
309
663
250
671
831
504
716
267
171
288
525
103
337
504
155
676
619
356
727
376
36
185
247
437
244
419
358
533
145
355
356
436
388
368
277
320
294
253
529
126
501
120
610
243
192
417
254
104
181
727
57
241
156
250
250
270
183
149
427
287
156
250
125
172
395
226
238
97
300
292
177
399
157
165
226
296
572
437
745
242
455
227
310
327
477
113
482
564
179
321
280
183
356
176
364
452
263
214
741
348
387
620
708
567
712
505
514
630
346
262
248
741
320
826
262
407
606
155
333
514
249
477
765
806
676
533
187
640
156
492
517
277
204
172
208
267
301
466
648
266
453
456
183
269
485
627
573
93
271
489
638
539
207
533
427
435
328
299
39
145
158
35
432
276
486
264
705
375
279
56
78
206
269
392
613
827
611
335
605
462
482
174
389
91
158
202
473
579
526
318
400
646
196
441
635
473
291
334
482
441
415
124
326
801
285
14
401
132
116
580
560
227
675
95
93
539
569
659
113
435
784
296
563
33
563
599
528
362
525
176
447
82
485
607
415
860
500
686
280
176
104
328
710
289
451
438
347
407
679
235
745
452
368
447
284
733
474
445
72
34
501
580
489
340
655
450
282
317
755
580
235
36
192
695
165
293
533
389
152
65
112
186
230
469
143
728
418
12
346
564
327
360
540
131
615
375
827
328
327
513
449
762
256
219
652
488
312
458
335
302
182
38
389
334
175
157
588
363
316
561
256
83
796
448
565
210
423
358
659
791
621
423
247
397
359
371
106
384
277
457
321
281
556
122
300
462
655
260
301
705
91
42
111
339
423
349
789
687
387
170
691
419
422
556
275
328
369
540
680
394
343
96
687
663
773
67
590
449
711
142
482
762
609
148
373
486
850
273
471
59
356
424
617
198
106
338
339
571
533
430
159
598
539
450
237
257
190
430
327
372
196
229
135
423
220
716
88
306
78
453
161
377
23
56
588
212
100
560
155
463
667
877
644
246
263
219
36
128
54
132
82
292
261
611
550
205
103
49
383
122
264
336
592
848
564
365
216
447
549
161
243
446
259
211
273
208
105
382
404
235
756
297
533
237
216
443
571
514
438
125
537
284
319
181
362
478
853
649
811
340
397
339
362
266
321
76
267
100
130
229
480
449
459
266
203
147
392
262
142
220
261
474
107
433
190
244
145
428
266
829
249
249
153
606
385
319
39
528
367
294
409
467
264
693
787
131
381
695
43
117
253
593
471
437
253
742
258
611
314
740
755
505
743
296
350
183
530
278
443
569
374
505
245
99
67
643
220
412
924
340
299
206
249
565
222
469
681
280
794
126
453
514
543
378
82
462
740
370
685
420
406
433
408
224
520
374
414
80
308
365
97
271
676
437
492
619
405
197
346
346
182
482
521
326
231
180
179
414
177
405
304
295
785
291
404
450
616
373
80
648
605
334
551
621
531
387
165
366
84
200
254
220
669
366
399
198
61
542
394
263
315
381
482
799
317
168
548
653
250
249
498
601
257
436
191
739
374
551
674
281
422
572
356
231
120
881
320
762
69
266
481
459
149
578
615
359
714
535
206
500
535
418
241
180
439
418
671
149
104
667
161
215
322
92
518
150
209
87
121
477
190
705
344
72
315
106
267
153
767
350
321
280
284
257
586
314
384
142
785
258
286
172
299
198
504
343
438
144
318
359
440
412
362
792
302
405
601
499
344
116
220
273
364
538
494
285
57
676
611
147
526
253
601
194
260
72
407
314
192
390
312
357
293
438
295
61
479
269
296
541
570
724
329
243
107
447
447
699
84
479
230
779
294
756
212
309
327
139
296
410
577
74
334
498
508
290
275
632
611
325
556
526
535
376
285
581
648
325
256
230
362
239
200
127
158
832
849
251
416
486
150
519
545
223
441
730
218
667
406
153
202
240
305
400
489
346
102
720
212
570
900
353
337
516
462
16
482
262
461
214
595
605
662
419
826
369
383
298
833
492
159
368
205
326
355
222
68
240
294
42
171
293
537
367
204
328
394
172
410
681
717
134
161
753
594
312
335
180
565
800
631
892
255
759
420
854
783
391
723
453
34
663
579
602
677
565
606
385
175
617
725
884
255
168
541
369
162
572
258
345
486
109
386
389
253
327
549
85
144
215
382
144
570
381
158
512
568
815
241
401
678
684
436
300
253
573
303
387
171
360
243
181
110
210
633
726
743
380
155
677
323
260
192
179
297
492
434
167
358
627
295
697
277
876
264
276
172
222
70
673
531
347
173
404
230
520
467
274
829
271
341
826
544
307
591
446
336
681
68
632
330
566
658
644
282
419
342
119
504
444
537
426
212
449
629
623
678
251
78
560
271
528
219
389
203
227
906
467
415
835
421
352
584
610
316
179
391
811
334
323
192
348
433
99
150
139
88
591
416
390
353
525
654
77
460
376
84
271
311
140
243
189
158
285
661
267
534
398
564
337
615
151
549
540
632
623
455
664
333
239
136
614
541
256
95
261
176
399
751
675
109
394
339
250
481
408
220
325
295
800
386
640
582
403
593
309
71
168
209
205
319
328
226
458
592
465
656
353
562
192
455
377
585
124
116
404
221
175
171
400
388
211
311
49
920
468
665
535
292
527
523
578
219
688
588
514
245
114
247
420
518
910
385
598
324
267
330
168
166
531
635
310
196
565
32
206
87
447
528
336
61
183
580
570
322
302
246
369
221
307
118
280
398
269
481
413
455
529
155
110
469
387
170
435
420
406
212
627
167
251
578
299
590
215
251
763
632
445
162
298
110
168
394
142
271
221
167
421
215
165
349
713
260
190
273
381
343
644
59
254
910
252
515
471
414
130
151
444
465
394
203
391
301
283
259
318
415
234
126
454
36
691
608
259
233
308
551
274
208
276
609
196
383
465
193
148
406
249
396
748
166
664
529
185
556
308
684
852
378
83
561
368
67
536
320
306
488
547
128
753
91
298
695
176
490
666
196
370
399
600
571
262
558
315
769
363
633
246
193
246
583
487
148
578
336
122
192
83
233
707
724
200
450
141
305
393
344
75
452
622
579
100
364
30
883
444
335
660
441
191
134
472
177
303
515
591
543
459
367
652
566
210
104
146
544
419
441
316
448
409
265
656
74
533
462
393
754
660
469
243
385
159
376
531
383
333
387
816
407
568
338
333
286
381
155
345
492
290
323
416
417
365
242
552
670
542
565
111
378
160
410
512
573
418
590
483
607
419
439
88
287
374
500
555
339
106
165
333
512
490
397
370
554
99
243
236
402
544
324
579
484
177
519
598
519
799
308
416
520
362
792
202
637
746
819
362
483
170
357
198
374
485
475
65
298
470
610
247
953
417
458
627
117
292
407
395
184
466
696
450
164
403
237
181
394
396
316
242
638
584
369
353
182
354
222
625
360
350
806
146
177
203
531
94
466
329
336
277
805
270
207
306
284
295
576
148
381
92
404
328
429
342
501
486
245
288
389
105
211
159
409
407
195
598
676
502
330
321
309
124
179
258
394
166
256
127
487
390
566
338
485
353
454
436
403
406
658
591
542
425
604
542
303
637
222
391
416
138
788
864
718
298
451
326
709
299
431
693
265
564
393
937
221
556
430
374
484
350
671
469
329
551
430
609
227
620
171
352
596
718
142
383
446
507
498
764
509
298
484
197
360
408
677
385
418
199
156
345
343
417
490
718
85
54
358
137
833
566
549
340
257
626
220
178
157
327
421
412
585
887
305
210
486
109
492
258
300
222
320
58
684
354
172
388
470
565
191
300
225
741
47
853
295
573
319
480
248
544
331
254
715
400
392
456
261
240
280
518
321
96
673
768
462
162
107
185
361
99
201
212
513
612
368
386
319
197
542
700
273
690
276
314
22
469
640
58
448
450
206
203
432
72
525
98
94
130
184
413
477
319
170
284
254
354
755
694
315
26
452
583
584
673
683
323
487
298
167
688
442
115
460
331
622
304
39
505
640
230
166
165
467
119
456
449
578
619
349
360
62
266
137
630
529
130
504
705
134
358
446
414
647
202
293
359
634
804
457
325
260
716
268
303
224
227
293
403
557
780
304
397
391
176
437
324
341
241
204
681
471
128
213
270
410
275
115
211
454
507
264
410
309
169
174
413
431
489
641
500
334
230
348
534
557
376
760
601
590
653
285
731
99
646
389
632
436
343
249
577
484
122
536
655
280
550
176
77
338
714
466
245
201
149
438
682
285
314
202
139
240
672
276
365
96
288
211
510
487
521
391
369
513
381
175
374
62
143
502
212
668
633
263
225
396
311
149
692
695
109
435
54
325
182
342
450
513
107
600
478
282
264
557
107
529
619
405
616
186
339
116
266
361
314
426
662
532
423
610
333
422
338
812
376
446
301
160
428
371
297
346
91
525
443
422
477
297
646
250
160
458
303
264
262
178
398
673
231
541
182
792
682
440
492
656
801
496
572
92
366
342
294
480
520
513
230
165
367
269
244
31
769
715
318
277
630
364
224
406
337
214
417
331
231
176
172
292
141
555
584
99
611
327
408
894
161
582
668
523
551
341
138
840
621
531
136
562
219
137
311
396
462
484
329
610
348
285
403
344
121
276
302
253
394
650
412
278
308
777
543
75
665
382
346
142
482
591
179
346
180
88
623
350
361
164
869
634
519
361
373
40
303
504
325
532
288
263
252
637
100
343
879
157
467
127
736
354
532
271
538
409
243
157
348
329
574
304
593
703
100
564
450
147
574
429
809
291
340
176
177
519
304
323
258
449
85
646
69
547
320
805
233
358
253
421
285
193
759
166
303
561
164
701
511
176
251
392
235
749
188
706
576
538
48
363
629
507
605
490
375
665
375
437
184
312
310
240
191
337
384
111
244
486
709
626
672
517
723
714
250
73
627
362
450
347
279
135
523
513
502
529
250
599
299
917
383
611
84
718
179
170
225
285
392
267
291
535
350
100
463
381
314
179
295
124
191
625
176
711
275
597
637
186
118
268
270
540
205
211
623
637
178
417
392
478
901
562
129
428
138
488
263
433
346
68
343
331
582
236
438
131
235
126
687
318
427
448
297
188
124
746
202
175
266
563
213
345
142
490
713
306
329
405
366
215
262
302
422
448
563
378
42
100
63
429
489
771
732
202
149
235
333
79
494
469
283
596
336
590
194
47
570
455
303
564
43
226
661
148
154
82
517
416
432
803
827
506
554
648
280
303
179
177
491
693
157
859
186
318
48
213
407
296
126
460
110
386
610
162
594
180
552
407
208
425
346
450
228
303
180
657
134
362
866
227
396
410
245
667
708
581
334
237
277
408
618
51
366
324
342
275
267
212
438
334
435
543
133
339
147
520
421
551
642
399
525
144
64
278
493
267
394
159
378
143
246
354
526
84
680
147
437
383
276
745
176
395
366
312
317
71
255
677
184
383
692
476
691
414
350
377
82
95
370
564
502
419
173
755
225
275
539
49
338
581
115
470
530
754
668
621
92
254
49
201
150
108
385
646
145
258
322
225
447
629
190
128
236
767
97
236
611
110
218
284
297
192
500
149
318
475
181
203
499
319
374
177
753
148
388
554
422
210
758
730
623
216
193
176
626
274
793
271
448
528
370
323
540
455
491
198
132
606
477
548
409
460
337
601
539
227
185
411
236
123
214
212
755
763
166
488
263
448
149
208
105
607
210
701
325
396
82
742
45
173
400
297
317
214
242
542
450
341
459
168
339
354
285
726
674
389
369
116
551
294
196
116
200
292
330
540
145
233
549
597
206
333
701
29
214
194
152
664
343
298
120
532
507
660
503
524
326
258
773
319
197
26
132
170
368
477
632
368
705
355
265
373
176
895
187
388
461
281
677
709
426
338
266
170
634
255
328
336
119
315
352
569
377
490
558
211
575
342
375
408
313
424
852
388
516
379
685
309
248
372
185
192
405
552
652
512
274
658
619
339
212
216
469
816
403
162
626
605
498
417
619
581
219
242
676
222
35
695
93
72
266
361
409
619
192
341
367
855
304
353
140
40
194
274
398
509
135
244
326
339
348
375
673
359
314
87
331
501
709
122
324
107
153
317
30
224
510
404
633
163
822
423
496
320
121
213
177
278
264
535
640
696
539
316
350
360
405
317
566
187
421
268
69
251
341
824
90
427
543
262
729
212
222
117
615
304
421
405
752
629
485
327
748
284
313
327
793
81
127
581
433
297
239
115
108
417
430
354
265
107
381
410
804
467
484
151
310
706
597
249
483
476
114
339
491
437
665
823
350
256
289
439
439
292
380
226
459
708
253
222
275
143
713
425
165
227
355
551
496
523
296
319
202
837
254
761
700
442
171
254
135
373
684
589
564
821
311
307
269
423
735
500
413
609
499
395
536
41
360
608
214
66
122
558
426
830
186
103
104
321
534
247
850
272
365
157
179
215
473
275
430
428
287
121
267
614
265
670
479
475
328
568
173
170
229
416
358
169
300
190
284
533
92
176
553
467
332
279
479
172
900
251
95
562
439
243
696
575
364
303
37
444
549
649
294
707
428
496
310
134
622
260
449
138
562
300
241
412
528
316
308
735
390
69
164
170
188
217
111
384
295
127
534
548
95
324
558
466
728
389
829
463
507
374
230
547
647
411
584
103
484
143
815
355
695
671
207
175
432
203
422
266
136
721
140
602
328
447
244
509
228
309
243
330
422
442
239
581
85
315
460
109
101
462
539
268
304
77
116
657
838
585
269
120
104
301
585
545
637
304
576
110
402
360
314
911
492
544
595
577
624
151
197
291
833
214
482
655
353
296
801
282
224
771
247
115
357
273
605
74
199
718
479
395
528
363
523
485
640
130
303
284
358
407
445
523
193
198
348
237
195
176
236
489
28
755
548
248
482
331
326
428
460
394
346
519
677
592
114
307
234
556
219
413
287
357
101
424
127
671
85
304
327
556
427
193
867
190
470
521
680
181
678
377
273
144
497
501
522
636
189
497
238
432
386
668
402
172
628
436
668
347
644
223
465
98
231
388
215
314
215
604
245
338
67
387
400
363
131
535
121
687
230
642
220
330
119
220
332
83
663
110
589
341
256
638
551
161
237
14
254
255
290
771
517
320
219
632
448
232
566
292
236
251
184
425
115
192
602
315
484
150
203
173
315
521
264
751
143
581
398
676
364
91
89
236
410
95
600
427
630
320
278
817
478
94
601
166
143
685
358
600
347
101
68
407
380
264
622
562
95
295
703
300
356
499
194
418
833
118
467
568
409
446
94
211
310
107
362
190
522
719
363
442
600
604
758
244
858
428
278
414
531
803
180
180
226
315
251
575
63
397
158
502
690
205
588
318
546
197
436
215
210
179
488
210
657
310
289
160
542
227
365
211
255
291
870
58
457
776
118
732
463
203
178
103
685
213
418
399
441
379
646
548
665
234
398
532
93
101
176
151
556
538
243
400
745
320
569
404
244
609
196
672
238
294
476
515
447
263
623
483
177
507
508
358
38
592
258
516
345
492
139
204
90
673
243
420
326
324
316
225
219
419
214
551
206
801
621
324
591
440
48
291
331
193
281
445
290
243
309
218
212
640
359
123
50
660
614
572
441
767
780
577
313
333
604
267
334
290
382
83
136
350
373
222
179
356
11
188
591
91
779
565
124
728
502
478
82
64
190
504
248
495
822
315
365
293
372
589
446
187
64
338
318
535
312
625
209
87
583
536
218
586
470
256
289
358
372
656
456
350
492
499
249
116
478
816
385
660
662
153
617
576
386
139
393
147
453
506
278
208
551
399
342
722
325
259
362
179
83
394
299
131
714
204
683
138
531
669
69
404
372
441
196
161
761
201
531
392
544
666
374
438
255
684
404
329
354
255
230
336
546
409
567
645
153
847
931
277
173
88
412
116
757
437
428
382
174
341
389
445
532
399
210
143
398
408
539
423
165
311
302
312
535
577
520
62
301
506
323
896
587
45
124
446
251
130
423
319
415
491
517
275
114
634
233
426
371
310
181
256
159
441
394
622
149
440
358
197
425
557
392
238
674
338
486
265
393
372
206
293
285
204
574
95
435
300
580
460
390
209
163
143
528
175
86
784
522
384
509
591
814
659
525
499
536
465
591
541
941
238
513
619
282
315
179
596
285
385
248
377
404
935
449
298
316
410
294
311
170
304
316
293
267
398
180
363
877
412
561
856
144
665
274
591
222
346
509
261
256
93
330
236
513
78
550
378
573
527
320
344
211
235
456
358
200
323
353
356
383
285
504
25
202
792
394
531
343
520
415
149
594
163
281
230
186
472
549
518
499
125
181
428
350
854
695
377
266
44
493
374
331
37
187
637
405
640
218
335
501
306
245
571
756
547
370
516
346
249
454
324
292
420
476
298
340
639
333
434
97
314
407
586
488
395
611
246
433
491
167
434
142
569
167
610
367
404
673
341
508
471
207
72
629
547
367
436
416
605
277
193
712
589
520
163
216
730
161
203
150
195
306
497
684
263
394
254
586
122
608
661
570
435
196
729
243
424
581
483
364
96
403
131
613
286
477
817
318
272
336
180
334
389
470
431
454
619
239
378
654
389
404
173
440
555
414
525
209
409
128
278
741
213
251
206
457
470
421
711
338
176
212
798
75
542
517
420
273
547
277
550
522
451
383
212
235
215
386
507
5
604
154
78
324
490
580
125
380
102
552
290
510
391
586
143
110
696
249
179
336
339
356
563
317
224
540
303
172
251
288
184
747
176
302
364
516
473
490
451
671
271
151
243
453
567
501
370
290
569
498
324
448
298
707
370
641
436
246
486
328
731
466
510
562
471
577
256
415
775
258
728
851
153
245
246
550
554
449
572
164
304
113
300
271
257
492
344
438
34
94
503
515
657
244
131
301
75
306
584
838
467
441
565
106
126
495
340
105
301
375
124
243
258
308
275
261
404
811
653
579
710
270
670
437
371
283
347
175
340
105
403
298
458
119
180
570
491
517
230
240
600
330
697
651
500
181
830
509
305
458
311
240
484
599
774
405
391
279
704
647
299
812
255
240
316
215
229
216
476
516
189
138
505
146
331
168
366
409
105
211
274
680
269
245
284
431
420
418
863
161
344
392
421
616
275
679
289
638
741
160
594
638
216
381
470
348
821
544
406
313
361
242
282
52
495
264
318
927
22
242
326
742
289
434
338
135
346
295
192
336
169
180
245
474
486
926
571
405
333
256
618
460
271
596
514
477
37
567
195
440
170
324
403
675
260
467
207
131
506
563
384
152
592
489
216
152
365
484
183
256
265
244
172
399
164
672
422
699
395
88
215
122
216
806
376
329
935
303
151
225
258
514
168
178
410
307
216
400
620
748
245
524
655
266
475
628
88
613
273
168
195
631
887
355
521
759
542
265
324
564
189
395
346
156
474
252
700
324
244
270
556
456
492
377
329
338
406
274
362
541
542
379
457
154
331
339
681
288
548
144
197
323
233
140
264
217
291
667
227
460
437
263
159
412
324
478
204
352
828
528
492
417
312
498
644
536
261
250
197
225
732
611
563
258
118
301
678
138
370
441
268
242
787
323
380
506
155
313
627
220
289
498
522
480
185
183
275
341
482
252
441
60
685
279
383
154
551
64
402
224
197
404
367
268
235
342
165
804
563
331
496
467
303
103
527
471
228
902
409
373
274
286
370
360
821
106
622
105
358
113
360
280
356
438
196
555
448
415
524
394
282
475
249
165
200
302
421
319
516
78
310
558
442
724
281
237
623
292
478
268
146
447
736
370
129
387
400
396
204
778
199
361
505
520
739
460
407
477
324
639
360
655
362
306
400
63
417
651
298
438
337
430
380
667
15
537
198
52
328
586
310
237
195
556
819
488
381
117
747
476
244
504
266
177
261
585
785
559
716
726
237
101
437
549
561
383
167
345
441
278
424
614
87
473
652
224
408
238
187
400
585
437
127
394
569
303
175
123
125
467
438
219
760
360
110
172
563
300
270
143
524
508
293
557
236
475
504
541
522
599
372
342
389
417
187
609
645
230
299
622
252
461
312
288
789
96
379
155
497
375
559
234
359
637
283
230
842
527
155
151
297
227
769
346
390
240
258
360
256
684
514
383
513
352
338
90
486
484
118
767
442
363
210
231
69
339
289
126
246
307
393
258
407
308
79
88
237
318
422
306
505
46
489
193
196
123
346
245
525
408
324
160
495
446
412
370
368
526
316
110
326
159
142
567
110
349
335
27
55
288
214
372
164
473
399
504
492
560
311
394
89
510
471
568
786
106
746
202
699
493
138
124
309
343
542
855
339
392
76
393
440
177
560
360
272
559
629
273
231
120
300
148
518
529
114
183
477
366
556
397
279
732
268
621
330
404
618
243
393
207
644
167
300
334
338
91
326
474
290
451
111
896
141
433
211
540
477
217
578
236
588
618
234
371
879
321
280
620
563
423
53
183
797
356
438
339
549
99
323
94
79
600
184
128
280
474
462
576
382
66
403
410
404
404
708
530
259
230
88
215
76
330
632
103
150
246
706
198
160
313
152
345
94
299
32
691
313
508
104
686
322
680
94
473
169
309
721
120
113
322
375
249
187
172
247
206
692
436
335
457
150
544
519
886
268
449
257
253
494
87
400
651
690
460
320
113
373
754
464
494
290
277
382
48
484
325
409
250
631
515
185
328
321
688
406
572
512
314
484
429
610
593
571
232
721
298
681
395
932
546
336
255
519
408
229
229
473
398
295
315
816
424
408
158
794
604
555
891
635
652
351
670
221
238
175
540
501
581
675
66
496
306
397
454
272
120
455
454
429
283
212
149
317
644
491
206
715
512
383
527
268
284
164
344
135
445
440
515
415
796
708
503
459
303
140
232
497
359
223
338
194
365
671
462
234
447
380
795
191
452
661
438
516
194
294
394
432
290
163
115
534
342
256
741
576
349
176
242
277
583
270
123
482
377
162
445
353
336
335
543
631
442
330
519
502
482
214
361
662
526
171
267
171
521
611
531
440
764
323
102
113
371
209
372
763
544
155
146
239
532
230
257
452
102
297
102
165
506
202
434
489
890
320
485
133
224
469
101
829
227
49
178
500
58
683
436
412
397
252
210
388
414
152
394
573
472
410
258
540
542
227
379
492
228
183
612
239
484
381
260
80
346
294
352
352
179
316
629
612
178
528
368
235
573
287
217
210
639
667
108
284
267
411
649
311
231
85
187
295
412
369
590
654
266
263
472
52
172
192
187
434
517
285
550
199
127
180
793
437
351
497
279
63
465
571
625
405
231
464
580
136
220
405
349
268
202
492
390
563
301
720
345
37
236
227
298
262
430
302
326
422
281
392
408
176
626
392
549
248
179
714
60
110
33
566
273
113
354
321
292
100
458
339
363
400
353
521
610
322
672
169
83
225
268
529
290
278
144
521
215
610
547
119
605
375
819
139
305
522
659
381
792
314
585
722
280
128
475
693
405
717
234
536
553
289
296
536
303
820
558
543
253
323
405
279
199
279
408
566
469
296
135
331
172
153
54
523
441
344
232
576
289
346
406
563
513
347
83
258
598
580
177
274
198
558
151
369
313
355
509
615
109
593
344
103
402
349
106
306
176
473
446
233
538
481
192
187
799
231
198
187
666
342
74
473
591
563
151
353
413
231
365
551
268
706
325
234
546
79
409
279
52
372
409
431
402
359
344
143
364
176
878
122
356
297
299
355
65
341
360
193
471
136
415
627
447
191
377
560
129
258
690
454
647
188
536
357
200
192
296
403
340
342
339
266
349
543
390
611
434
128
50
86
587
621
329
478
251
401
51
599
269
299
234
432
205
282
231
278
625
651
326
218
334
276
188
77
184
621
786
384
526
58
372
540
60
691
222
129
757
111
279
542
352
315
281
774
669
225
236
85
401
877
302
615
115
272
334
274
475
480
256
267
219
322
604
136
938
452
330
422
486
263
399
207
630
183
379
737
267
197
277
354
527
309
300
494
562
195
544
363
184
606
749
534
160
265
467
437
248
306
521
529
609
459
213
577
188
690
297
869
448
246
339
236
52
254
232
224
439
738
232
110
287
158
507
346
402
599
541
119
451
115
105
728
335
458
301
129
438
282
589
488
538
385
170
113
154
541
282
562
284
460
219
273
548
501
67
254
161
403
478
396
507
606
256
551
693
335
532
606
500
251
604
405
525
609
914
531
790
502
840
348
204
413
332
197
374
360
408
499
651
126
149
212
329
427
415
695
184
573
61
428
620
179
635
365
622
461
203
431
241
345
287
57
369
677
426
94
182
668
753
48
92
628
157
315
289
225
424
398
173
425
82
279
362
195
471
327
417
175
288
148
169
247
453
362
605
231
353
136
766
523
141
254
689
124
244
95
390
236
196
119
174
523
174
479
340
378
654
489
588
279
664
367
428
577
564
228
336
595
230
278
582
626
652
310
676
400
143
537
410
525
357
383
514
171
181
555
360
157
370
710
270
215
592
217
293
340
408
467
396
327
782
347
363
720
320
520
175
284
209
267
160
311
340
169
756
317
381
317
381
616
182
301
316
385
214
519
553
312
529
293
139
871
556
375
534
338
161
662
274
611
257
321
304
265
630
536
345
498
252
272
300
335
294
676
505
746
355
175
644
514
235
183
361
159
273
494
279
515
631
237
148
691
668
310
230
125
518
730
401
610
192
275
188
361
609
619
227
277
65
521
184
311
341
338
463
399
342
183
349
182
481
677
312
332
504
112
564
437
522
406
383
332
633
340
469
260
888
744
171
152
293
242
565
97
413
384
558
527
676
120
452
282
343
109
669
335
221
334
489
171
638
127
575
199
116
323
340
121
314
558
533
293
657
214
621
103
546
278
188
612
126
323
489
166
375
346
665
441
650
639
220
373
321
215
590
799
373
401
195
562
278
90
281
600
397
652
481
85
60
227
390
227
540
411
164
501
568
507
786
674
583
534
430
224
175
320
200
228
388
266
278
388
279
335
354
423
542
631
299
515
171
231
305
360
539
444
140
748
682
493
450
689
129
330
339
259
374
328
162
283
138
544
192
160
236
601
270
163
152
480
302
200
131
579
301
488
551
573
307
255
587
148
503
460
57
333
206
246
57
348
332
704
546
430
546
398
325
640
448
228
61
104
73
355
680
521
206
202
732
555
311
151
427
751
948
487
341
608
303
190
677
421
437
556
423
810
342
711
153
621
152
526
109
287
757
561
359
353
175
544
657
315
531
516
204
496
536
534
292
729
142
344
283
270
47
296
302
802
303
936
482
763
320
118
222
438
453
118
403
279
105
268
812
278
667
468
265
234
346
628
611
724
112
313
385
326
598
61
249
486
208
641
262
279
318
370
194
228
478
301
172
288
144
310
550
238
697
521
292
154
22
447
38
647
426
726
445
641
171
657
439
680
493
237
329
182
184
311
581
601
229
318
92
372
41
461
528
571
38
651
701
196
191
590
149
589
344
439
713
208
611
242
256
529
547
293
395
295
93
52
70
186
272
488
201
558
319
449
406
291
204
451
389
161
619
304
453
509
411
390
604
569
334
580
565
68
378
599
440
310
407
221
172
821
498
293
477
457
452
367
260
355
294
307
697
640
363
381
391
195
524
369
359
465
177
471
360
148
614
302
376
163
564
101
503
253
918
173
540
211
288
373
564
646
398
653
433
57
389
357
392
325
188
758
310
700
564
654
528
374
522
533
25
444
446
538
427
217
327
538
336
226
235
363
347
392
327
215
407
704
312
385
429
565
183
362
145
243
188
168
454
288
761
334
368
266
194
414
190
562
367
243
534
411
245
693
493
716
171
774
698
559
236
342
576
526
371
542
565
308
124
357
711
439
238
415
152
555
284
164
282
345
355
192
339
248
613
649
174
716
411
542
483
533
242
185
481
230
687
395
238
104
537
360
702
398
389
320
391
286
265
184
204
208
381
387
373
744
203
450
328
93
236
435
328
200
302
427
658
180
662
140
344
287
701
311
547
344
677
576
339
478
71
261
913
556
224
226
705
485
545
466
318
228
625
670
398
507
506
527
377
764
439
333
263
138
155
441
244
702
329
382
640
548
586
228
130
527
691
356
427
382
477
313
517
755
517
419
183
341
245
212
607
174
310
186
129
142
243
381
581
273
402
68
747
241
123
232
432
237
365
520
395
235
372
938
757
611
253
498
102
369
309
321
80
504
575
343
155
198
280
231
124
343
490
194
679
317
394
100
371
300
521
489
526
825
595
790
623
600
615
497
577
517
260
450
530
418
367
614
486
68
231
396
339
53
50
158
623
476
679
489
255
602
440
173
69
170
480
273
480
372
479
243
554
290
366
583
548
232
279
340
414
306
480
58
323
202
259
238
330
190
483
366
463
197
316
631
354
203
334
311
666
601
160
641
402
341
758
827
435
247
639
660
231
505
657
584
101
212
583
240
611
50
525
431
435
205
445
631
340
596
275
361
588
413
329
161
422
279
403
542
468
415
333
340
312
442
192
281
150
362
177
271
438
192
229
70
632
318
705
328
230
732
323
557
282
344
343
347
205
468
526
372
556
504
792
510
925
635
301
451
315
565
215
568
690
164
482
53
573
325
288
181
318
277
889
195
579
633
347
57
624
191
427
557
332
366
610
240
431
117
322
15
241
261
356
290
251
303
70
412
845
406
402
241
826
665
252
661
257
536
364
220
349
272
248
92
271
617
812
146
226
550
638
457
543
192
128
345
325
48
250
323
100
713
484
543
288
395
501
692
103
182
273
284
142
419
299
315
325
102
249
144
245
717
241
147
770
142
176
318
377
410
353
157
793
409
97
244
375
670
565
478
237
136
630
231
443
184
137
58
514
278
276
773
326
662
463
549
531
492
399
122
362
439
686
352
264
376
631
336
167
392
236
449
476
228
616
528
65
364
332
227
472
548
401
597
360
400
274
723
149
622
210
327
673
124
504
472
145
197
128
295
424
397
252
168
259
525
218
481
429
341
749
363
128
645
577
523
416
169
97
318
429
766
214
46
235
210
216
725
255
639
191
525
430
64
603
362
616
418
594
662
451
341
547
152
441
480
444
381
378
264
72
671
617
751
269
328
336
725
303
295
177
378
456
266
425
344
215
490
493
335
282
645
528
243
483
232
366
279
443
342
354
293
638
328
680
320
447
81
406
291
203
265
153
605
185
212
365
722
587
358
197
669
449
390
76
145
245
373
259
230
527
546
668
50
206
580
503
669
250
175
792
314
717
430
629
771
509
480
394
506
466
598
391
346
309
619
431
229
255
503
197
180
738
471
318
309
766
317
412
362
77
608
263
190
221
405
443
395
530
510
379
499
657
275
450
596
64
332
509
373
270
99
123
397
399
66
454
646
289
321
541
642
238
382
599
514
786
501
324
225
91
699
582
350
353
673
585
239
671
748
766
563
125
478
534
103
556
207
517
764
169
63
692
425
310
749
595
386
454
474
267
503
150
561
402
750
453
513
58
159
808
407
598
277
472
286
577
350
652
511
130
220
361
217
233
135
352
107
653
503
278
646
497
414
366
239
84
402
550
562
345
137
578
219
120
482
339
519
328
217
137
325
279
416
326
272
613
390
492
204
70
434
464
500
618
400
263
361
267
339
816
233
264
324
185
218
458
536
227
414
367
445
255
364
322
187
374
175
445
322
536
185
540
676
151
598
260
592
434
636
441
659
235
178
322
277
347
410
315
693
325
318
463
314
34
337
696
376
156
205
480
431
98
274
561
270
92
487
408
369
339
284
404
294
201
285
410
622
177
93
328
325
465
423
358
607
92
242
327
227
345
324
441
379
198
86
490
405
448
151
766
257
509
171
253
374
249
570
89
542
94
325
546
350
182
206
232
120
413
806
102
369
734
348
626
288
422
230
448
574
188
556
537
316
534
410
294
450
489
536
375
229
408
473
235
230
449
138
286
354
587
445
61
340
304
426
757
16
548
132
285
250
222
283
577
464
156
247
423
471
477
686
373
311
429
594
601
839
212
830
410
373
282
593
176
431
277
297
487
545
370
225
670
585
416
493
286
131
348
535
220
556
262
286
738
44
589
945
291
499
788
126
577
282
251
632
71
694
634
398
692
643
505
218
365
610
733
473
533
404
344
179
250
613
291
295
544
353
248
479
676
261
412
357
127
247
753
715
551
281
484
395
296
245
454
364
503
103
350
405
492
438
184
560
493
241
302
456
368
418
188
608
203
574
198
171
684
41
639
373
473
435
564
95
325
264
240
550
56
171
511
692
766
352
835
545
694
590
251
292
413
308
73
224
123
212
551
348
765
474
113
274
304
275
454
402
649
703
207
409
164
234
456
667
591
717
503
337
292
137
659
408
552
936
140
550
599
703
375
640
143
485
277
385
634
308
291
85
563
429
187
95
357
410
659
162
227
459
80
151
232
160
529
349
429
278
219
411
116
327
216
283
331
590
596
457
750
334
286
512
822
387
86
375
120
312
53
561
278
514
311
69
247
283
220
639
510
292
561
738
321
357
679
239
197
685
345
99
467
159
228
287
510
281
524
143
359
703
180
279
386
589
236
465
765
607
492
360
180
756
138
424
706
501
457
246
410
269
250
437
222
305
177
322
74
354
565
512
193
827
602
362
192
447
116
359
369
136
397
319
259
249
242
231
214
242
414
306
281
224
433
448
198
594
374
330
351
473
315
536
761
335
851
291
299
512
287
227
427
195
258
388
348
443
122
253
192
271
338
162
204
320
697
345
230
416
462
527
417
357
237
174
553
372
190
609
513
600
105
613
178
326
275
327
462
463
314
440
305
211
26
565
442
385
286
764
528
476
854
261
190
575
55
600
376
190
701
200
464
741
551
599
686
162
246
702
298
321
546
338
831
425
478
338
660
558
31
861
76
171
778
804
152
228
590
355
58
374
575
202
112
803
491
268
392
628
611
232
335
798
572
291
697
295
443
325
521
648
129
382
520
354
750
120
283
210
648
223
331
80
714
658
307
175
677
399
518
155
107
503
295
577
332
442
476
192
182
285
86
438
184
317
615
666
229
309
580
280
612
402
242
146
53
278
113
299
492
681
322
249
153
115
272
531
295
106
575
699
232
255
459
212
323
414
446
315
551
560
166
405
348
130
632
382
307
519
495
353
622
638
234
272
255
549
138
434
405
354
455
353
432
659
454
264
189
564
371
852
282
535
496
549
265
216
254
813
500
428
633
46
476
813
214
180
447
192
291
334
624
114
80
571
443
153
406
564
213
466
329
563
304
212
311
242
335
141
405
316
224
212
236
329
424
374
255
623
82
315
537
555
307
309
510
576
392
255
246
187
334
580
364
553
932
412
257
212
612
422
222
411
292
664
259
365
455
729
323
105
724
209
414
318
302
329
439
257
129
427
811
340
571
490
314
369
202
301
564
604
503
524
530
474
352
836
508
682
329
501
414
879
104
377
345
190
121
298
726
607
362
678
781
621
794
90
265
112
54
540
787
303
281
103
608
202
428
468
122
535
185
545
231
561
47
568
399
501
182
147
568
327
240
129
387
154
279
117
561
313
571
339
220
191
351
180
595
38
636
477
563
359
489
35
395
512
238
308
759
660
490
157
555
583
329
621
792
318
253
412
230
603
423
225
26
360
155
172
212
405
384
658
354
206
917
257
557
432
543
490
381
175
632
369
558
253
382
590
643
267
29
489
92
251
94
242
276
20
901
315
474
214
276
658
869
466
283
312
582
35
238
136
315
199
258
223
406
119
119
306
857
579
207
297
222
671
486
378
237
257
677
237
312
173
274
514
116
456
511
374
233
170
220
219
34
179
688
188
229
318
690
190
681
524
168
216
474
397
328
110
181
700
199
256
353
530
88
536
390
74
185
431
306
581
204
195
225
325
86
270
610
259
500
188
226
250
539
334
274
40
358
282
162
323
42
703
521
762
453
73
572
880
377
780
215
475
158
470
645
600
503
297
639
167
806
400
197
159
353
447
311
290
341
412
267
449
307
644
339
82
255
593
316
527
458
276
276
426
347
178
288
228
298
515
373
292
658
526
290
668
407
183
759
543
482
445
64
572
264
511
279
375
343
182
122
501
453
140
100
173
292
792
542
155
588
65
323
565
440
240
450
152
413
560
103
403
464
102
478
285
419
292
414
196
619
302
260
471
362
378
486
431
538
249
163
335
377
437
168
432
514
612
502
901
221
586
167
180
786
611
783
582
327
380
267
610
171
597
114
683
472
370
251
342
109
188
210
552
574
667
469
309
388
140
497
139
567
402
153
112
293
270
613
656
188
432
689
313
447
279
443
514
308
439
266
809
627
81
514
115
300
475
382
148
424
324
256
497
450
488
386
395
453
161
319
554
522
381
232
406
406
115
683
150
366
361
692
59
733
196
185
477
106
521
789
435
423
190
511
129
280
315
232
107
396
307
391
224
312
484
207
279
512
408
593
467
309
296
770
379
201
315
219
649
138
639
453
605
290
379
102
454
769
367
397
480
284
663
539
778
165
571
646
395
645
720
588
327
605
719
433
586
518
293
326
577
419
478
413
778
151
447
590
267
557
128
883
216
420
525
669
359
804
130
163
271
626
329
432
678
442
621
393
395
643
413
222
160
323
507
283
261
80
247
611
413
616
282
77
332
247
110
222
543
441
533
465
612
493
356
499
436
276
249
311
314
528
258
608
540
611
432
510
70
119
576
421
271
145
493
298
48
476
319
246
634
926
625
387
429
441
928
583
531
88
260
527
383
266
347
326
184
114
310
271
64
120
136
227
334
315
278
447
433
390
390
463
457
232
557
110
549
416
344
567
238
736
96
410
513
529
408
440
187
222
285
215
310
781
277
578
352
421
412
322
652
694
281
676
225
567
697
683
477
859
445
601
319
269
410
344
566
291
489
882
702
542
677
383
289
557
105
86
386
175
411
552
526
275
95
148
346
831
707
243
298
233
73
340
153
473
632
268
458
762
393
109
559
599
118
302
137
236
665
149
482
576
496
792
447
241
765
294
386
200
312
24
374
98
420
362
453
682
403
368
143
166
599
523
286
176
104
636
642
193
134
229
25
259
249
283
498
502
150
341
678
239
90
128
509
447
519
619
472
191
500
345
292
488
498
152
594
493
420
286
469
288
320
468
143
310
314
216
272
366
388
479
286
398
204
553
667
364
290
231
448
214
399
76
609
384
426
671
143
174
278
349
136
76
199
354
242
163
647
524
246
381
48
314
764
352
733
122
383
367
98
164
387
441
631
762
212
275
455
208
197
480
161
293
374
186
687
334
564
222
301
420
310
168
343
175
312
693
286
182
421
587
224
247
193
132
418
491
398
285
363
696
286
361
871
150
338
419
291
265
729
262
375
327
231
276
579
482
441
934
484
473
762
269
417
382
30
103
45
437
513
408
738
597
744
72
441
636
234
454
343
79
695
207
250
242
266
296
346
244
767
268
475
215
259
319
724
131
171
624
333
594
406
245
450
386
89
150
526
678
813
310
274
103
578
568
244
427
365
517
280
189
177
276
300
26
696
427
386
515
141
421
592
340
486
293
167
367
567
453
701
878
450
186
717
266
375
303
267
130
362
353
305
484
500
316
94
609
285
590
256
557
308
619
324
464
328
261
647
541
285
259
594
548
507
359
301
457
129
363
472
574
303
89
549
465
120
32
429
263
184
165
851
44
287
382
627
697
476
552
538
711
290
313
639
728
294
426
325
339
696
187
307
877
451
572
561
585
298
196
214
572
465
208
194
37
389
593
378
603
936
585
104
317
269
176
52
221
297
406
356
637
316
483
654
330
95
365
609
724
204
573
234
440
302
707
267
426
279
515
489
227
193
306
724
649
753
441
172
271
249
437
228
249
177
184
572
728
489
402
223
508
633
436
168
17
418
455
268
593
322
274
571
515
233
620
297
201
481
326
146
644
846
295
201
323
188
245
587
579
547
326
394
210
264
660
237
952
393
286
721
613
633
154
274
358
224
129
395
428
251
305
149
261
124
163
197
224
559
352
458
278
335
670
696
460
377
273
308
472
322
650
320
112
526
519
434
364
855
222
323
138
739
309
278
361
582
495
208
715
561
336
205
637
678
150
628
270
294
344
708
251
245
563
173
710
245
176
284
98
613
646
210
741
614
403
539
301
537
455
211
590
521
522
450
236
517
152
280
261
566
441
270
176
565
45
266
547
370
545
716
207
175
408
467
633
702
235
576
188
438
440
735
399
170
706
121
196
654
805
165
267
442
343
660
676
261
250
613
731
611
335
320
56
239
228
240
152
658
461
541
186
348
335
724
481
330
358
580
251
425
364
132
455
373
82
195
338
268
245
698
535
209
384
153
775
299
692
228
300
64
367
644
239
201
534
533
348
173
325
568
556
687
250
179
132
87
634
512
774
474
638
626
663
115
569
515
195
101
118
596
349
218
71
447
338
468
454
223
384
131
578
395
51
705
348
343
595
87
252
138
369
448
124
186
479
228
528
630
484
255
412
240
266
756
230
305
487
31
417
440
590
326
488
215
731
519
836
563
460
473
830
186
661
347
434
514
161
187
470
134
523
287
295
312
106
453
828
330
155
836
591
291
78
301
265
543
198
435
312
158
379
184
189
471
298
632
285
449
672
285
106
567
186
595
226
266
374
36
297
255
615
303
305
720
640
427
256
339
312
129
385
396
576
457
430
332
201
324
329
508
213
380
435
206
225
206
535
316
682
834
163
270
430
109
179
27
576
704
248
265
250
438
519
494
731
381
354
435
87
58
587
459
203
307
321
346
281
453
657
237
685
259
254
343
189
678
319
578
409
711
194
687
391
59
334
221
302
153
296
585
153
518
357
354
437
562
526
253
612
309
564
548
526
765
411
364
303
39
220
280
524
167
483
336
382
406
328
467
738
529
181
235
213
387
907
522
281
59
367
716
541
619
728
518
449
475
428
251
357
233
767
165
513
315
204
58
396
176
106
555
305
746
92
272
666
249
496
334
698
564
505
218
495
166
527
188
454
287
282
125
789
218
308
486
125
509
542
138
130
299
350
285
408
440
668
580
57
572
545
831
466
166
668
515
102
463
661
384
391
545
459
684
114
611
316
361
294
520
326
551
464
400
207
252
451
887
285
321
571
393
416
70
193
536
448
394
862
558
183
401
467
168
166
251
485
586
682
336
634
393
412
559
552
292
146
149
190
473
482
157
738
386
303
645
528
149
262
308
870
200
85
560
124
511
128
703
106
166
150
554
509
463
198
25
392
15
484
528
286
266
405
324
541
361
172
302
87
336
933
165
225
419
206
312
745
495
717
607
45
572
288
825
516
524
348
200
428
772
491
724
461
630
117
335
896
60
360
711
900
268
554
239
410
329
516
398
193
332
155
68
138
447
25
522
125
327
327
533
411
397
62
554
323
229
332
583
315
647
179
615
541
283
879
660
489
79
383
568
403
359
255
308
501
801
513
260
163
612
235
464
439
343
623
54
336
669
452
717
461
246
187
802
543
682
139
418
693
172
182
307
243
496
179
113
198
201
376
549
265
535
129
179
294
587
124
305
125
512
515
336
442
575
241
682
474
360
656
339
134
659
471
549
241
742
356
160
893
259
253
366
587
220
474
734
657
418
294
863
136
435
326
274
274
262
633
398
377
282
77
636
567
576
27
595
772
551
560
137
403
233
440
454
419
165
556
513
309
697
223
245
180
193
760
289
532
348
426
127
758
176
549
94
330
342
326
102
709
525
255
68
399
251
571
204
71
124
271
243
566
83
475
523
428
479
63
181
380
114
314
291
223
255
67
156
349
334
569
364
384
656
398
680
229
294
778
403
342
181
448
543
691
380
739
566
463
543
897
621
406
914
218
370
576
592
83
238
335
220
146
521
786
394
312
203
295
221
370
354
331
191
292
322
631
353
576
300
344
321
386
402
265
393
212
90
150
209
472
334
657
139
376
430
313
273
268
135
539
733
478
465
444
428
285
259
297
454
722
268
170
320
641
345
250
650
547
464
342
470
313
324
363
613
487
682
329
278
210
256
482
146
414
809
494
300
236
683
524
431
217
734
600
303
633
115
167
488
530
737
456
498
328
560
244
507
543
174
262
230
302
175
366
96
753
406
131
543
284
474
223
119
448
421
405
273
202
331
133
768
200
409
307
244
373
292
282
306
632
144
189
331
304
447
169
701
361
169
864
415
104
430
485
520
381
569
736
64
533
233
233
246
478
336
408
688
341
330
552
227
231
513
481
514
322
77
176
423
76
303
354
270
762
542
459
337
253
109
554
633
669
384
290
477
290
169
606
66
492
213
305
150
593
251
133
220
489
476
284
692
702
349
111
216
226
747
457
271
477
513
415
61
576
514
401
534
934
234
394
269
275
287
357
327
541
667
59
587
479
322
203
267
714
384
263
120
617
78
412
322
65
617
390
566
256
330
441
95
477
174
426
101
241
296
560
376
647
581
489
596
777
840
456
195
206
119
356
226
534
530
306
281
342
576
90
642
485
662
427
147
354
312
414
491
501
385
254
417
772
629
676
310
276
561
613
201
185
147
372
169
492
14
88
442
416
239
248
209
160
378
390
606
287
446
419
678
636
260
182
716
330
513
858
248
547
258
144
93
323
490
64
582
304
460
107
353
230
236
294
342
502
448
497
171
412
715
685
596
375
238
524
329
552
455
273
235
467
90
480
388
250
340
56
517
467
228
522
167
70
133
175
495
169
573
441
557
427
557
214
614
209
419
104
706
619
521
452
618
361
168
312
392
280
503
103
276
470
638
250
199
708
380
287
565
371
122
417
35
579
393
408
329
42
590
401
624
391
403
307
157
323
505
164
620
292
106
300
192
256
504
694
258
288
692
714
76
719
226
232
595
584
510
487
742
576
255
275
448
88
400
196
210
80
382
536
126
272
566
619
593
290
633
342
153
343
492
204
574
223
334
562
360
139
155
240
485
361
132
736
606
441
311
301
570
574
120
344
839
270
681
623
237
183
447
254
284
84
533
383
547
271
218
236
254
105
478
656
396
483
283
442
448
579
330
634
291
47
225
248
100
467
623
126
122
117
661
688
662
472
215
566
269
568
331
73
175
318
594
569
694
680
452
482
237
271
584
521
408
166
455
224
203
891
444
350
485
747
300
762
264
592
428
396
650
238
155
239
234
654
139
220
62
420
416
422
226
285
538
220
276
464
554
131
254
272
104
402
347
709
525
418
375
567
236
617
564
37
355
805
309
784
115
171
692
165
398
280
327
548
198
601
150
347
292
459
119
317
275
304
492
332
301
764
122
871
157
598
221
626
396
190
614
268
322
488
947
673
411
418
368
281
341
260
327
569
126
641
272
214
268
398
299
237
502
333
473
502
41
737
580
397
408
288
188
404
380
397
553
61
314
264
497
318
229
491
325
321
389
467
281
613
172
346
377
54
660
112
516
355
376
477
286
169
522
238
616
138
262
267
184
224
234
579
549
445
152
753
391
400
177
217
114
382
494
436
662
605
435
466
288
419
342
367
195
240
43
482
75
607
379
355
555
628
573
350
414
635
620
583
469
459
715
112
611
165
446
572
520
483
798
356
270
676
360
319
346
560
401
673
542
370
602
520
332
313
543
111
381
290
618
413
596
650
466
483
288
288
103
459
551
286
170
315
390
451
603
90
611
112
516
915
518
757
153
162
538
490
802
262
439
197
438
531
291
133
206
486
500
559
473
510
651
592
436
91
208
183
573
180
130
520
291
509
92
251
399
277
440
144
617
407
471
584
218
313
336
268
146
456
204
612
357
172
425
374
373
99
233
61
52
286
611
569
804
308
551
437
736
133
639
491
480
420
320
118
372
201
446
365
655
352
220
806
534
23
898
561
363
111
279
197
106
145
750
257
377
571
211
306
157
84
403
192
601
598
333
424
202
355
160
381
481
534
226
450
575
304
310
428
618
462
506
298
257
329
104
448
732
660
723
457
392
632
339
276
585
428
753
446
280
167
328
598
102
754
553
499
366
518
793
497
251
536
505
708
298
20
717
379
326
105
309
366
433
136
296
308
888
251
439
172
572
290
539
366
167
526
254
353
566
123
231
98
468
296
149
167
544
256
526
179
260
551
433
360
260
606
123
146
382
238
343
555
170
332
555
665
186
222
94
333
270
54
240
568
742
148
420
114
339
287
310
261
148
366
464
137
829
60
273
304
392
239
411
604
301
580
373
354
257
453
428
145
710
318
86
74
120
162
203
554
309
169
236
692
312
641
489
581
268
410
143
829
805
190
128
313
290
354
164
312
390
225
561
778
376
529
118
193
292
182
330
544
322
407
474
326
245
188
644
538
750
467
283
249
229
319
434
612
445
443
433
194
797
181
463
564
153
276
457
311
396
525
642
292
224
491
276
372
423
571
789
277
225
199
292
216
455
138
303
621
94
567
52
478
772
912
594
181
372
329
251
374
766
395
879
172
485
314
775
309
259
228
399
445
594
434
635
601
527
224
660
399
492
358
68
558
302
228
354
548
370
182
491
113
299
269
476
436
370
91
105
118
467
770
414
153
541
296
437
116
237
822
587
388
342
131
240
249
181
386
491
150
707
88
762
446
250
847
538
190
444
439
360
492
757
413
513
372
542
89
102
107
287
37
192
385
485
600
134
495
458
260
255
239
533
399
466
614
246
116
768
299
232
110
324
834
319
617
697
257
119
646
677
382
444
492
465
356
354
353
628
706
738
363
837
343
412
687
244
273
641
640
413
131
356
457
325
485
311
275
567
565
172
344
339
676
482
222
275
388
507
805
474
514
434
215
558
222
331
352
73
175
358
552
541
438
769
646
335
359
543
31
580
299
228
763
418
182
302
657
450
765
204
286
176
438
102
250
190
786
195
392
180
583
750
279
333
580
426
351
383
742
572
675
124
111
639
442
665
346
259
538
458
32
208
171
318
507
349
166
187
297
251
453
280
271
645
394
528
409
79
552
593
650
183
167
72
322
192
162
581
460
363
434
549
292
572
390
760
227
272
469
100
439
523
365
199
96
416
354
231
641
529
166
265
788
210
303
228
111
564
793
413
474
411
107
177
66
536
754
382
613
310
614
248
314
650
383
317
288
138
807
634
450
262
593
432
811
343
315
376
497
572
97
225
597
639
480
286
793
109
340
452
272
375
361
490
776
685
239
325
590
435
195
229
449
242
451
614
620
710
583
286
496
295
407
437
250
488
765
560
686
695
272
422
333
462
149
401
176
650
170
331
438
301
355
673
491
373
246
316
564
496
220
152
407
403
517
305
484
320
300
183
184
716
319
543
360
563
274
180
506
454
382
297
293
528
433
562
209
224
330
765
446
339
316
32
149
537
340
415
150
327
566
520
230
378
93
437
365
360
291
342
244
297
421
527
502
13
297
280
246
564
171
170
256
348
336
333
463
533
583
257
695
304
324
375
319
180
345
526
376
126
232
308
371
767
195
454
283
670
524
98
816
485
286
141
469
908
553
358
525
240
221
36
240
523
316
270
370
216
527
361
136
114
166
495
317
142
626
141
84
367
317
216
605
325
379
149
182
523
507
383
551
307
129
128
805
637
416
164
409
905
311
390
266
708
648
502
346
192
192
186
218
683
424
279
313
617
457
425
481
301
132
183
466
230
248
382
435
193
356
47
528
189
196
145
248
424
312
241
365
128
355
708
587
348
539
623
705
227
264
144
899
529
267
219
401
424
640
508
430
639
440
157
249
583
336
340
178
195
70
587
713
625
371
487
544
110
400
111
288
649
469
470
518
119
490
670
320
395
83
437
347
718
62
121
446
430
657
619
333
752
409
625
293
291
286
750
205
612
148
618
454
462
368
96
440
461
510
309
441
90
262
320
390
455
605
525
526
463
912
200
548
485
296
29
581
309
203
606
126
447
467
516
505
308
305
756
57
120
407
308
392
679
603
611
588
539
620
251
166
273
72
186
583
426
287
411
283
401
930
347
588
397
444
222
203
642
283
412
454
95
456
258
315
288
178
412
250
399
220
676
273
413
692
304
428
457
630
418
666
305
209
529
79
312
144
517
454
335
452
602
255
329
481
393
518
593
274
247
376
278
224
403
326
167
582
117
651
252
467
421
627
324
484
53
69
400
370
127
140
620
717
154
500
391
464
608
423
302
537
151
614
642
331
714
801
222
204
748
455
566
181
802
216
437
38
551
89
140
329
634
262
346
170
944
125
328
569
43
401
410
358
465
217
214
587
564
767
606
641
407
214
368
98
214
463
200
509
211
466
306
325
698
297
488
647
255
330
551
299
378
380
292
273
303
368
35
254
176
92
532
181
132
124
354
387
96
231
239
314
281
559
570
145
476
169
174
272
854
441
422
324
426
330
258
150
697
342
396
701
522
299
395
447
527
280
410
267
293
212
148
461
432
219
428
552
720
134
62
305
188
404
258
329
190
422
110
707
480
371
43
711
226
292
397
191
492
475
152
95
828
583
650
227
165
263
517
664
377
112
823
374
229
448
138
602
250
315
109
225
37
165
789
650
588
663
312
446
204
628
452
218
433
519
88
543
263
468
454
877
492
721
33
213
543
263
317
113
460
111
158
215
752
222
74
388
372
682
772
208
60
301
624
544
407
489
279
408
594
584
301
376
527
564
257
245
190
185
610
278
642
321
473
246
712
163
572
531
800
640
304
584
306
164
313
419
471
173
103
232
655
286
525
508
303
178
224
551
226
131
132
149
429
306
381
505
481
645
647
150
343
517
631
530
250
253
493
644
305
719
393
297
566
302
62
379
262
345
777
169
143
83
583
172
475
611
647
377
199
509
416
329
417
518
291
521
237
460
226
330
559
659
177
239
159
307
458
683
588
64
147
490
191
806
373
263
321
75
389
398
326
371
606
504
831
264
241
456
175
148
391
730
342
267
636
327
89
158
337
432
319
409
351
327
372
143
544
248
460
504
330
532
220
186
608
449
375
374
561
860
283
114
447
455
322
422
409
671
507
234
327
362
330
608
229
305
387
176
589
679
226
465
284
494
501
672
237
241
293
437
649
567
392
530
219
596
520
315
448
345
87
330
181
92
478
330
95
224
545
191
149
488
595
250
336
300
577
498
418
681
303
285
118
231
289
244
284
244
199
235
225
547
425
309
116
229
856
123
344
346
580
272
182
451
683
388
355
339
265
295
238
498
567
449
317
158
187
487
707
139
100
115
514
350
186
669
443
247
358
203
860
388
670
462
103
546
127
466
533
172
562
330
161
400
288
665
400
294
686
546
231
146
398
99
186
336
320
678
204
616
515
427
304
92
206
401
714
296
498
569
706
626
374
451
353
569
334
494
245
599
678
581
232
460
576
728
124
406
552
706
125
641
534
228
143
531
570
597
436
422
304
245
356
460
703
158
507
420
415
84
159
476
378
208
271
515
625
383
595
455
325
312
193
173
24
491
123
187
326
255
709
412
360
628
223
75
272
273
189
61
251
568
417
321
845
253
184
292
84
244
430
617
340
481
496
373
438
389
48
332
171
235
750
370
497
623
151
139
335
507
536
304
407
340
179
53
431
199
299
324
503
159
172
260
380
384
127
211
668
216
537
262
799
876
153
447
515
316
459
557
498
621
182
446
265
164
404
482
93
718
385
457
309
250
369
532
607
226
208
506
413
372
94
412
337
741
386
395
49
346
203
359
92
142
343
504
247
531
237
432
494
478
501
564
106
235
314
264
328
289
424
596
149
175
231
146
407
54
366
314
523
268
361
429
312
317
306
654
486
367
605
254
119
306
235
253
470
608
302
663
373
203
407
317
245
384
215
174
786
740
499
661
639
276
606
23
868
407
258
379
384
54
467
156
339
185
217
266
252
604
379
769
306
294
566
202
215
354
639
788
170
697
282
325
73
468
265
246
311
589
458
367
136
665
870
488
177
299
350
611
669
219
414
855
619
514
200
470
459
498
411
450
560
256
268
174
398
443
637
253
481
323
121
332
571
374
428
104
180
119
689
265
274
241
637
675
636
403
823
201
393
138
639
506
830
566
313
644
332
538
335
80
214
217
140
464
690
551
319
485
306
456
309
633
316
330
681
672
274
130
112
115
485
182
570
530
368
118
405
410
739
769
386
686
292
355
504
509
177
734
229
789
350
562
316
654
173
511
430
256
176
532
531
244
256
349
339
161
78
289
503
419
66
228
476
268
689
75
279
258
589
402
740
184
239
347
262
215
657
343
494
215
401
605
74
56
393
252
165
208
265
640
587
181
411
34
201
269
323
262
360
439
565
316
498
370
225
614
627
490
208
635
541
413
787
232
232
455
630
693
374
328
358
468
267
380
194
556
523
297
745
196
314
327
114
370
433
427
647
175
423
716
361
766
242
330
326
394
691
68
203
695
498
395
245
331
365
513
351
164
699
438
157
348
162
278
527
333
169
662
702
571
454
392
721
62
340
573
349
191
201
232
491
296
373
532
284
158
640
101
552
90
251
814
332
540
658
189
544
174
179
399
84
344
331
300
191
189
145
488
551
155
138
455
551
716
447
440
385
232
592
283
108
332
673
431
528
540
547
167
415
440
520
237
192
367
321
184
576
570
544
460
616
343
468
331
560
485
376
236
952
266
452
812
477
292
160
634
257
344
600
498
574
720
431
592
839
500
325
597
369
695
162
329
293
503
74
400
123
702
338
343
513
272
259
92
354
212
308
293
427
282
605
626
294
316
273
242
376
333
336
215
268
309
612
568
525
927
157
373
69
527
473
177
233
344
244
310
539
223
628
435
441
191
831
26
419
605
434
450
370
234
563
275
394
373
221
326
232
224
175
472
668
264
378
514
511
575
343
670
120
554
514
110
306
630
305
142
321
328
588
435
274
502
527
737
649
222
239
255
404
360
519
543
592
671
504
535
802
330
514
222
366
383
259
713
627
217
646
556
408
558
258
247
654
455
557
752
413
133
604
794
477
750
712
648
666
317
254
453
449
212
110
238
282
460
524
624
738
690
323
486
825
159
416
361
338
320
473
467
292
298
555
332
418
420
459
468
114
350
420
185
499
126
54
582
803
302
448
474
251
755
834
350
258
117
413
191
353
120
261
606
264
279
220
317
202
630
787
828
756
172
177
553
317
424
122
346
302
590
166
250
401
410
571
654
448
564
738
224
563
294
579
408
193
330
443
223
166
506
684
325
367
585
369
275
571
380
440
256
44
290
291
656
275
565
559
748
288
699
648
336
233
186
260
265
101
457
500
256
403
333
389
251
720
262
450
349
404
447
387
600
404
554
350
531
269
312
119
694
305
345
234
443
716
431
339
692
765
720
695
371
79
445
215
481
296
465
553
367
182
450
182
318
277
83
400
569
527
550
693
234
441
469
190
110
446
208
87
813
785
669
164
790
423
85
240
459
277
462
475
785
272
871
502
278
534
195
307
470
788
248
307
523
260
518
446
392
150
568
204
110
269
249
430
404
195
579
676
147
305
179
387
429
240
114
540
300
539
206
302
459
367
422
229
355
83
349
324
397
246
454
481
621
289
231
261
479
173
570
423
177
306
542
267
275
285
266
255
216
234
515
295
413
639
615
586
610
351
532
305
170
21
354
193
249
113
59
195
211
395
166
372
565
51
384
292
281
336
306
295
362
451
641
138
353
552
282
532
297
638
498
690
602
590
294
329
238
148
329
385
203
149
688
848
334
331
413
422
244
441
460
953
413
522
27
181
812
60
127
416
170
151
459
341
392
491
712
493
564
434
65
275
223
124
395
280
470
398
375
449
310
346
510
475
141
739
296
449
650
551
371
289
558
774
96
196
395
442
428
570
484
327
760
254
740
409
290
700
256
140
573
199
114
312
614
384
220
596
120
283
267
104
68
116
611
131
186
804
359
164
629
829
537
554
374
400
185
422
373
522
618
680
689
691
242
422
165
348
229
510
683
624
415
186
512
500
342
276
570
313
427
692
580
369
331
189
595
283
520
244
555
580
584
565
99
334
408
242
314
297
797
762
143
813
298
253
343
282
594
527
288
176
779
484
106
287
298
138
42
294
529
470
144
308
463
424
276
447
203
736
425
229
415
239
357
181
508
260
335
369
443
590
253
210
90
343
665
381
373
147
144
196
228
535
716
368
405
572
450
143
343
442
837
84
396
290
929
512
587
791
366
517
510
653
269
846
243
488
363
775
213
574
846
140
199
113
580
545
346
373
453
372
132
313
238
496
331
244
251
334
380
157
204
572
374
305
564
56
566
639
620
158
396
250
177
391
784
481
566
626
391
144
556
619
295
60
150
136
331
400
386
340
264
156
230
500
411
248
547
282
90
581
439
502
239
513
698
116
567
619
535
367
337
342
319
681
775
137
595
546
489
181
576
334
594
602
460
207
343
154
124
668
496
459
58
650
517
567
634
633
218
580
377
242
472
281
427
137
294
170
731
298
559
306
278
251
316
266
535
74
167
726
582
24
396
484
324
533
348
476
788
359
159
563
259
566
631
611
341
523
246
783
174
177
272
378
323
310
761
557
218
172
220
362
340
240
566
647
430
530
64
319
242
157
311
222
620
581
256
154
616
212
909
120
773
50
317
499
150
280
535
493
598
410
458
605
346
274
291
320
437
172
421
83
612
303
348
478
581
335
144
884
291
527
188
369
326
318
349
266
192
559
301
347
428
460
381
396
487
577
296
290
628
180
613
175
252
838
229
353
613
231
397
255
634
632
442
344
531
330
299
668
444
402
608
397
234
368
387
100
375
182
370
321
12
401
162
259
194
590
543
290
723
140
93
458
347
764
659
605
169
328
208
595
252
92
375
342
306
418
634
588
199
327
634
375
680
182
281
371
348
348
387
615
198
225
878
548
195
367
184
262
273
211
221
311
389
464
392
346
103
344
331
387
576
320
514
881
262
554
733
489
244
678
355
244
173
139
561
559
374
150
306
319
336
400
607
490
356
758
667
182
193
384
545
508
491
128
262
210
219
381
714
529
464
437
830
230
694
663
506
497
393
485
76
586
412
587
248
539
292
346
474
341
141
394
83
279
602
246
146
509
763
503
256
573
454
516
367
390
156
156
590
510
85
346
522
444
326
267
424
276
272
294
297
143
801
447
336
514
383
291
224
322
714
398
380
711
95
691
155
891
66
619
637
284
341
394
299
674
609
423
190
302
196
531
349
55
377
299
561
425
636
444
158
93
237
543
403
400
313
439
714
152
312
212
390
900
326
557
498
407
203
536
470
54
517
79
151
245
616
344
378
402
260
205
726
428
216
217
246
177
403
267
261
567
608
456
217
219
729
135
421
419
530
435
225
372
462
537
216
264
698
672
384
147
263
221
128
500
525
492
324
592
118
530
95
333
428
650
98
494
527
596
570
575
453
754
317
308
287
340
57
786
244
773
453
389
210
399
174
323
39
708
438
248
208
639
385
57
536
939
713
143
503
368
759
355
439
518
481
108
306
855
571
603
420
64
156
541
620
373
271
324
502
490
424
276
727
128
291
334
210
508
253
591
350
359
620
128
199
597
260
146
268
688
153
494
498
746
337
607
172
914
200
786
661
251
364
750
204
429
423
646
575
739
204
319
246
690
499
166
231
533
384
411
254
364
769
307
266
348
559
372
328
246
569
320
466
400
370
594
140
282
710
219
341
674
379
208
515
325
69
162
503
490
533
472
295
270
236
283
464
267
263
411
517
448
372
555
143
288
272
384
277
430
302
625
428
911
452
386
313
490
225
308
90
364
368
595
361
268
677
332
596
197
123
563
374
98
483
191
546
537
599
292
286
113
414
322
664
257
127
276
369
334
475
793
526
251
8
294
289
281
216
216
428
481
631
232
484
395
602
492
550
422
578
375
602
469
250
44
388
13
440
267
261
571
433
534
163
370
612
127
266
381
481
217
106
573
385
614
253
316
307
433
505
52
767
593
154
127
567
556
639
232
618
175
126
354
236
41
118
742
284
588
494
453
589
389
216
655
586
323
344
136
755
475
187
151
330
98
612
192
285
381
320
735
468
591
485
270
315
559
244
264
457
840
154
913
391
48
261
97
210
160
268
227
371
454
510
289
293
61
158
189
388
470
44
429
344
270
435
341
270
181
372
468
457
538
221
50
575
197
906
261
712
133
823
300
366
452
449
68
432
54
546
64
515
301
288
698
865
394
126
126
161
401
434
667
577
401
177
212
218
201
226
478
481
435
135
325
393
230
553
47
118
102
613
614
475
259
443
210
282
718
26
76
392
271
385
129
400
386
580
495
600
223
260
294
376
394
307
117
283
538
70
531
337
585
486
585
391
214
229
38
143
285
276
292
526
164
528
209
321
220
75
393
305
310
447
393
289
244
360
359
289
548
513
811
350
433
238
572
171
275
409
96
229
347
394
381
152
234
96
123
760
82
262
546
436
414
511
712
476
358
301
235
370
396
565
198
592
582
531
663
160
429
507
249
415
678
201
803
95
279
202
343
905
138
468
516
431
326
326
433
104
585
309
104
599
638
499
324
143
529
315
578
246
438
58
157
516
322
345
24
624
319
237
523
132
509
425
565
102
434
387
403
667
267
117
500
357
700
55
245
220
518
207
243
829
301
614
434
455
327
317
749
505
263
578
415
555
418
714
23
558
487
117
230
115
587
451
388
266
94
42
216
355
408
251
104
808
587
88
255
379
345
604
212
287
769
295
236
355
383
347
171
548
366
375
333
269
406
426
289
164
340
402
820
168
709
87
298
496
289
384
468
326
609
576
650
431
179
590
504
191
172
427
257
614
23
403
634
464
218
564
470
190
647
534
530
213
223
404
401
10
366
643
412
283
243
242
56
746
693
503
277
423
213
254
488
164
436
373
488
166
195
234
281
529
367
154
345
61
521
236
557
854
399
388
301
241
97
381
282
604
296
95
252
337
242
280
350
257
517
514
417
349
156
557
540
430
333
352
320
310
114
516
440
567
461
262
435
326
448
635
301
340
798
230
556
172
165
333
213
368
261
683
308
562
214
483
485
290
264
549
217
347
195
249
267
534
283
169
498
674
494
181
280
308
52
252
293
374
109
571
217
159
560
184
438
308
188
531
424
331
372
650
464
704
407
414
414
510
646
543
180
187
555
322
433
493
704
362
338
533
660
223
425
547
653
788
572
387
658
724
238
697
208
417
259
618
441
297
560
714
550
827
483
408
139
487
243
728
387
850
471
419
463
290
99
147
609
170
375
479
494
609
395
469
355
483
459
171
347
492
734
409
574
125
212
170
349
296
246
194
348
623
369
766
128
593
338
315
521
556
731
192
690
231
648
857
689
364
464
297
416
770
302
198
552
653
22
672
635
499
417
200
612
209
717
477
213
413
258
211
377
393
642
182
19
113
205
255
688
278
378
385
495
473
770
166
650
635
375
279
301
240
224
263
247
164
127
318
264
537
128
399
364
614
251
93
193
258
509
231
147
738
317
260
560
31
525
345
626
836
194
642
714
352
326
392
353
83
502
416
714
217
545
270
332
855
485
386
335
363
150
469
446
327
236
584
261
509
320
282
492
257
437
230
882
865
299
261
733
640
595
585
569
257
258
189
323
390
315
295
263
116
478
280
186
416
294
345
261
593
168
545
243
455
479
444
381
277
565
218
188
84
373
289
458
718
485
453
442
308
153
312
706
133
97
544
209
465
174
659
447
198
306
450
555
378
112
556
118
283
404
379
294
761
544
89
252
511
447
464
253
555
585
159
199
374
416
383
126
319
752
488
482
530
305
340
303
309
411
340
135
260
501
189
162
562
647
266
566
383
220
232
567
213
527
635
891
243
351
295
215
880
568
219
402
117
393
255
790
142
557
385
391
583
140
246
185
770
444
198
46
161
431
178
218
66
455
132
301
360
542
750
455
569
570
646
357
524
228
304
194
433
298
248
191
249
195
469
778
416
601
502
527
324
474
227
195
422
597
693
827
197
48
262
456
331
417
301
810
344
439
96
58
320
490
420
129
405
613
638
327
515
326
177
739
328
340
459
136
552
746
629
152
262
254
386
471
612
386
285
237
681
389
58
320
157
650
253
106
500
225
234
602
456
466
428
488
76
427
472
184
186
518
210
639
494
439
189
546
429
574
745
401
310
456
296
323
332
320
216
127
314
398
239
241
259
841
386
242
384
400
432
536
219
735
583
472
295
470
284
464
88
325
573
586
457
268
466
662
451
13
269
228
388
283
555
914
240
378
368
111
366
561
420
422
389
419
392
516
274
396
338
319
456
491
493
169
224
426
293
406
306
307
141
171
541
456
390
600
645
378
318
250
359
220
406
532
374
613
316
162
252
725
309
536
531
34
305
294
670
629
625
219
542
359
207
524
339
419
282
469
274
489
509
394
543
487
552
300
475
251
192
114
793
321
346
475
475
435
412
584
378
329
511
148
465
475
195
575
789
269
381
338
457
215
382
456
428
477
455
138
107
77
398
430
239
193
236
186
238
382
156
619
134
42
241
439
622
173
155
493
94
468
258
361
273
198
402
723
326
680
945
365
216
569
246
374
397
495
738
363
293
546
152
80
383
368
499
393
175
333
257
328
98
80
375
760
335
646
95
127
520
150
575
133
598
634
585
444
507
701
95
290
354
266
707
397
510
579
488
452
55
244
557
889
565
229
112
122
542
377
629
584
681
562
314
163
116
295
333
374
464
714
239
435
407
425
256
209
485
466
551
112
325
567
593
292
551
443
367
402
93
753
522
472
509
238
564
208
26
348
368
516
116
405
125
440
101
340
474
261
274
296
349
834
763
825
250
466
104
234
97
617
113
521
250
362
323
384
503
682
675
327
246
61
440
564
141
343
606
211
540
566
233
216
689
137
147
741
405
273
280
192
577
324
476
336
374
704
462
163
244
190
304
481
287
414
326
643
606
472
357
239
187
512
213
413
235
568
183
127
630
470
632
199
109
555
345
212
590
181
468
450
530
652
410
189
663
567
473
91
334
110
260
293
548
204
200
169
658
251
180
488
529
217
632
424
286
439
200
361
591
307
375
452
403
374
498
314
542
470
669
414
593
259
322
564
130
483
386
538
280
569
549
563
352
238
326
309
81
228
471
319
216
289
377
487
386
303
393
739
622
723
139
293
389
120
535
381
139
293
534
144
548
573
130
557
411
298
175
192
215
254
487
523
476
120
213
300
476
554
418
617
195
441
68
853
465
247
576
344
362
685
411
505
104
298
159
163
293
458
402
612
465
190
497
312
666
317
588
289
410
169
501
401
605
512
360
352
250
318
365
490
549
390
383
162
141
78
326
517
598
422
673
632
508
370
538
113
249
585
615
509
536
598
812
359
381
600
541
268
454
433
410
243
511
166
184
187
542
588
228
319
451
331
121
412
271
523
420
238
359
150
665
418
184
102
192
391
410
488
616
155
250
257
454
456
78
281
457
394
180
109
771
265
815
574
385
112
421
214
471
877
841
840
494
232
386
421
294
556
328
624
417
111
531
907
325
684
366
271
649
148
280
864
396
238
623
455
374
480
271
552
741
366
686
560
844
174
207
459
140
612
231
848
744
461
112
255
718
358
482
229
224
204
211
474
193
468
506
307
444
622
323
503
720
249
583
439
285
291
130
594
208
229
204
330
517
347
623
418
203
374
320
263
556
711
805
156
260
427
408
260
459
249
592
452
651
419
245
298
525
460
570
719
339
440
200
348
337
518
478
137
502
548
491
198
294
725
347
155
444
705
654
152
133
829
550
348
140
575
319
239
456
341
499
471
218
449
89
313
256
179
534
343
331
105
351
138
208
455
646
213
712
553
407
363
608
206
595
196
241
183
166
510
777
321
671
565
572
301
238
154
819
195
452
454
350
528
259
165
46
192
243
203
368
377
233
601
165
347
266
63
217
532
488
309
499
384
524
62
478
441
265
580
185
296
629
427
404
721
787
313
300
441
105
575
627
141
201
306
348
521
165
408
922
454
135
377
287
433
599
91
615
433
477
153
332
456
521
211
309
104
254
189
552
574
103
221
573
47
423
227
96
455
142
441
421
726
288
354
327
570
470
168
530
355
649
871
657
9
606
430
266
316
329
144
341
155
740
396
378
492
258
377
325
518
72
626
534
718
228
150
232
159
543
605
148
620
281
453
491
660
219
561
280
757
330
482
110
270
468
266
335
642
528
624
28
496
227
315
868
111
70
430
666
183
262
454
580
574
368
473
518
156
523
387
375
150
514
669
300
417
307
184
523
132
666
268
138
485
87
444
592
369
316
591
243
251
651
660
484
443
76
583
268
405
58
182
453
347
368
196
548
523
180
44
223
573
815
408
273
309
571
337
297
161
580
211
270
344
488
611
477
430
372
367
243
188
473
348
48
379
613
320
522
200
309
450
173
220
269
518
607
495
374
510
223
387
405
225
258
450
414
195
511
353
631
533
355
676
704
402
196
575
238
525
566
152
534
628
187
627
388
661
180
271
228
158
626
264
347
421
449
249
497
103
684
587
395
192
481
825
420
532
283
567
516
628
481
284
178
607
362
791
673
256
188
196
601
733
535
268
320
370
364
587
181
620
192
487
535
224
225
207
453
353
371
313
436
500
297
382
82
501
128
560
790
106
597
671
374
247
167
410
414
743
650
327
600
164
417
64
159
406
413
753
349
901
325
370
188
99
489
217
155
380
418
584
665
470
267
308
109
406
340
182
171
341
191
122
194
378
232
518
538
290
587
361
230
705
613
636
255
473
189
613
325
361
519
286
673
369
469
705
394
299
351
227
765
449
666
282
809
505
342
137
622
374
267
911
278
240
298
233
285
282
760
256
28
335
137
673
161
446
748
446
609
124
622
437
107
283
156
359
387
694
696
272
85
207
378
203
470
730
566
557
325
526
678
481
377
111
189
439
434
399
555
301
315
596
411
299
293
102
585
245
318
618
564
138
243
302
558
622
309
572
215
600
357
716
374
353
287
556
362
641
880
46
692
305
429
500
190
427
669
418
321
297
242
387
687
254
426
720
367
382
386
413
520
384
186
110
434
208
333
615
422
419
232
264
368
599
497
340
617
81
354
116
367
114
641
110
629
277
619
233
306
62
550
332
402
224
27
373
337
331
399
393
283
376
568
274
419
382
540
325
574
349
609
322
659
442
38
340
694
757
433
476
391
571
363
539
576
518
508
288
369
703
438
690
186
160
283
82
568
251
581
393
335
121
602
444
633
86
822
519
689
642
472
654
583
566
395
308
557
159
375
173
459
127
342
342
166
340
408
514
169
604
580
321
191
693
669
312
105
375
127
564
613
234
384
522
686
307
648
429
259
170
330
468
43
433
560
263
216
318
228
210
411
380
108
595
621
631
366
198
153
208
332
230
122
113
357
314
99
352
601
228
164
477
424
188
316
414
664
558
220
584
395
459
419
320
224
402
591
655
120
419
658
371
268
411
404
610
260
468
70
58
567
341
285
250
235
109
494
425
451
463
510
391
218
139
369
260
290
331
108
125
161
290
152
335
651
370
200
207
720
190
483
310
185
187
450
117
523
66
487
566
379
259
409
415
493
489
553
365
403
247
684
371
121
176
542
98
248
644
700
629
400
223
261
294
93
577
782
797
301
124
375
855
440
406
533
178
478
478
346
478
482
364
631
30
642
228
516
536
12
402
259
904
601
252
541
696
544
490
214
537
470
257
515
644
237
90
494
648
281
254
814
240
173
333
274
133
363
368
429
831
633
594
880
763
783
289
535
214
415
116
425
95
588
244
398
622
407
318
658
365
429
775
278
334
138
516
196
524
309
208
303
612
48
98
635
290
483
575
376
471
452
585
623
368
133
369
372
185
623
450
296
168
164
482
212
425
349
623
512
273
3
162
17
226
175
787
668
348
298
760
292
499
295
520
449
292
457
301
291
746
312
264
399
258
334
537
102
214
316
415
371
565
822
251
271
172
280
302
235
598
262
179
612
378
280
297
267
414
121
499
369
216
603
236
418
208
155
167
73
582
248
426
261
813
212
595
205
545
258
438
255
435
437
683
579
760
227
353
379
358
186
36
357
834
255
448
353
195
194
359
307
129
680
209
425
537
570
243
628
747
558
275
723
257
370
359
599
271
458
403
613
360
382
189
454
443
190
346
218
689
206
609
601
470
315
618
621
677
165
163
487
215
548
385
914
290
389
412
426
351
149
808
400
386
288
218
659
223
387
586
228
293
239
641
288
431
286
261
536
222
191
695
740
42
674
231
293
326
204
578
369
467
68
337
144
43
405
444
86
551
573
722
413
913
365
111
238
270
150
528
483
628
366
241
501
186
166
399
437
529
676
526
540
272
279
369
73
323
376
711
454
440
429
202
161
654
348
301
517
628
499
543
117
677
408
426
432
385
352
112
719
286
117
770
281
475
217
185
518
563
66
562
342
835
281
367
312
419
390
535
829
554
581
495
222
436
417
338
610
209
65
369
628
360
254
271
518
235
320
349
521
424
563
359
505
428
338
524
429
418
538
330
54
268
813
618
504
295
789
565
120
157
301
437
817
325
879
788
312
465
250
282
426
473
163
432
383
808
410
232
283
498
414
168
192
173
405
236
128
554
440
128
764
635
608
307
407
29
548
414
669
297
254
103
216
642
606
325
388
730
800
146
559
245
271
439
495
329
401
415
287
564
521
53
233
832
426
422
396
255
388
609
251
532
317
473
280
643
500
54
187
662
309
591
364
503
473
742
528
515
122
161
452
499
448
459
398
444
142
287
413
393
511
232
251
144
575
435
420
279
344
82
462
260
769
438
432
280
168
877
282
405
322
628
606
243
304
236
286
479
650
389
544
370
462
270
562
643
270
654
482
499
590
362
470
434
135
358
749
214
277
330
260
393
373
152
297
521
516
261
375
140
421
719
382
308
623
577
458
465
517
281
379
729
221
171
142
558
237
104
150
108
296
414
725
315
192
559
752
335
585
381
461
257
225
652
453
341
428
78
386
129
469
353
660
226
164
194
451
197
647
242
477
541
434
513
588
283
674
245
233
496
249
560
582
580
712
158
563
111
583
202
488
441
248
201
448
510
247
171
465
289
630
467
577
465
354
538
275
376
376
175
642
429
190
167
449
370
608
610
520
269
466
671
277
408
107
678
352
348
558
185
594
612
207
228
234
658
449
249
562
128
96
187
418
452
151
71
407
335
298
303
589
720
155
153
773
309
127
576
118
563
405
126
48
528
414
257
250
328
231
94
347
245
395
197
688
236
255
418
496
226
828
400
119
329
726
313
297
546
190
373
732
271
540
244
103
409
436
722
509
44
655
44
413
433
242
505
223
584
186
193
288
660
453
541
644
32
327
292
245
79
67
794
315
306
474
273
184
771
317
334
278
166
215
458
429
143
204
293
382
705
483
279
248
387
81
531
657
65
300
683
570
276
172
338
247
257
618
111
480
314
518
401
439
225
225
171
493
194
132
354
354
240
677
363
341
194
436
617
217
323
560
491
415
736
493
171
128
486
292
419
267
582
219
430
399
330
522
828
643
82
306
495
584
647
145
395
215
181
244
299
349
287
373
560
608
333
557
565
290
302
279
460
567
304
449
331
548
420
273
95
214
382
389
363
583
249
446
215
368
591
246
456
713
31
375
241
417
276
502
201
197
197
204
446
348
529
115
262
208
398
228
896
388
255
837
375
695
310
499
244
546
24
478
494
166
368
471
457
266
353
447
806
481
28
630
63
40
564
387
670
519
516
306
386
493
358
289
293
214
227
342
461
598
306
363
147
763
417
255
649
784
389
290
519
252
396
398
582
173
338
733
658
298
209
237
326
167
321
485
177
180
693
118
315
322
544
593
583
683
300
620
591
567
146
462
123
217
442
471
685
677
502
624
506
469
202
13
310
640
594
293
249
252
438
142
346
289
351
354
418
445
207
130
620
457
546
322
321
388
673
864
341
345
244
50
739
736
493
501
197
701
297
338
363
145
524
305
81
832
294
465
291
168
157
315
504
329
289
130
636
264
747
262
467
392
399
250
258
540
319
277
131
317
543
363
544
642
127
454
482
174
628
110
211
243
22
714
329
96
544
659
503
244
232
166
564
155
564
484
352
361
137
522
313
373
393
352
631
341
503
380
587
754
540
476
465
313
448
587
869
136
101
239
538
601
112
554
447
439
202
217
512
638
290
205
487
550
450
342
267
436
248
394
375
636
291
76
92
332
594
449
624
368
381
222
353
221
198
351
552
430
307
245
242
544
385
310
652
803
128
612
517
258
185
201
742
426
281
294
96
119
751
340
237
413
441
467
489
642
774
578
161
310
727
533
416
541
486
488
400
376
399
494
353
439
508
278
390
476
184
790
112
265
211
771
338
188
127
267
452
383
183
464
408
298
433
590
179
177
604
235
230
471
326
470
464
264
180
351
443
405
417
440
604
96
145
507
283
127
36
69
107
467
442
46
158
183
184
311
439
201
103
489
132
527
274
344
291
688
555
421
413
758
170
765
204
158
318
626
220
229
355
529
215
787
200
297
702
116
319
529
801
414
630
154
534
64
294
375
547
380
634
224
524
106
438
354
558
162
332
232
175
585
425
259
280
771
171
301
260
142
620
370
390
216
94
464
748
700
254
181
581
425
512
142
339
110
401
623
640
351
726
145
354
361
304
268
303
319
515
827
281
165
224
332
289
295
638
318
400
728
340
228
70
478
338
542
564
441
621
634
257
560
378
592
172
470
103
257
408
324
645
107
790
410
48
169
622
351
560
405
650
260
670
865
571
258
298
190
424
525
440
198
526
486
469
699
237
553
589
303
541
363
339
390
179
600
177
134
621
145
697
202
288
795
593
286
139
65
127
665
814
319
242
223
308
608
439
119
260
536
736
65
570
942
384
551
425
278
513
192
744
130
443
152
329
341
547
379
223
463
371
119
398
90
386
584
669
472
192
432
278
482
293
490
255
669
818
588
174
269
234
391
304
259
549
361
811
241
565
368
198
422
399
698
198
626
221
234
104
310
289
264
845
642
39
242
309
149
679
265
230
318
284
379
776
495
322
494
139
647
178
309
516
606
667
154
259
218
314
147
410
383
531
189
202
536
117
332
330
519
604
371
167
218
336
185
169
333
135
561
252
523
39
251
355
277
86
169
87
170
357
92
326
315
313
178
400
198
231
651
214
402
532
456
665
389
606
597
565
165
215
404
363
252
812
204
657
281
86
243
510
68
307
115
170
238
229
132
232
348
577
505
120
194
172
640
677
400
341
322
661
186
381
293
460
385
145
441
368
218
265
306
116
181
455
55
727
218
557
386
559
320
487
616
671
249
437
300
182
372
94
671
28
138
240
346
538
280
330
602
269
404
100
318
442
628
513
201
304
641
177
286
545
265
110
80
541
308
62
288
492
836
286
231
277
361
215
794
556
473
330
633
116
671
136
322
138
231
547
62
351
322
287
271
460
518
539
268
526
262
609
115
612
314
174
392
36
320
538
83
751
384
454
339
723
515
330
165
313
422
396
519
368
641
641
313
344
177
196
571
591
599
224
281
367
470
351
391
324
164
338
477
121
405
801
580
152
416
411
333
176
516
666
258
106
408
287
605
198
132
258
194
408
274
731
139
284
162
399
36
241
462
510
266
89
63
298
491
285
537
534
636
414
571
255
450
336
204
271
559
384
216
327
353
595
111
612
434
256
201
144
285
263
503
186
852
337
442
380
159
640
382
539
341
74
627
747
533
427
463
762
177
243
286
444
192
364
417
503
766
594
221
353
56
185
86
233
213
226
606
326
191
163
268
565
594
877
478
325
385
367
544
319
572
749
596
443
584
402
37
219
115
599
101
387
455
129
226
320
431
553
158
248
468
293
479
188
478
349
645
167
423
666
289
171
751
659
542
472
815
362
160
596
390
164
97
605
358
594
384
647
305
539
59
921
191
421
521
404
323
368
178
623
466
186
457
693
245
535
458
222
253
227
563
667
215
341
157
53
647
39
106
41
523
583
350
511
249
431
129
350
269
239
313
447
220
706
621
421
228
417
404
128
525
759
700
284
564
324
136
285
497
204
327
238
90
290
574
636
58
339
463
160
701
298
525
393
633
476
166
117
180
549
338
158
293
192
711
246
669
486
341
426
408
200
511
157
229
526
340
406
256
107
518
705
263
793
121
273
120
698
335
192
361
245
770
569
212
95
151
767
363
207
583
233
131
373
436
131
826
250
545
345
263
364
292
170
517
142
112
222
312
413
618
567
398
262
599
715
192
367
173
358
340
591
402
515
389
489
67
640
406
554
697
645
222
214
899
427
478
330
425
95
186
591
61
374
275
397
469
30
458
529
538
435
648
280
336
332
687
161
303
583
530
168
368
304
347
501
483
120
224
700
323
165
189
160
209
473
391
4
434
117
268
206
399
770
415
647
421
687
531
197
413
224
272
109
348
197
583
576
502
714
574
308
420
472
143
730
131
569
329
330
297
268
514
172
565
370
415
233
348
326
778
721
251
391
176
225
272
347
404
455
151
368
362
380
521
357
425
428
635
434
559
564
382
289
257
614
291
759
308
835
284
207
351
488
269
141
298
478
645
139
574
361
340
559
331
303
321
397
144
531
509
534
342
148
659
371
500
535
232
577
405
151
468
632
522
207
536
204
418
504
271
291
637
731
751
237
705
269
474
152
388
321
175
234
188
150
675
423
262
299
300
866
392
913
411
384
621
173
631
172
237
415
415
360
171
156
427
269
285
611
281
569
35
299
574
763
539
167
316
332
682
715
522
655
110
556
578
314
181
377
501
548
220
87
435
666
233
575
240
780
410
359
688
506
264
315
433
714
567
213
224
99
203
459
467
102
77
269
189
385
514
409
594
110
448
55
478
762
306
587
387
723
179
273
230
537
305
420
592
447
192
193
169
276
510
561
276
154
386
390
453
465
718
389
292
438
257
598
372
504
349
169
630
139
228
240
637
346
139
567
271
354
697
233
62
646
307
789
613
241
288
774
531
789
412
747
116
379
464
671
396
301
174
385
212
575
133
430
382
191
320
258
447
479
408
760
258
713
669
724
379
149
317
468
314
833
585
405
194
252
410
591
294
318
152
640
139
497
54
467
404
532
816
427
449
682
503
152
494
446
674
254
306
417
270
314
380
300
526
164
627
129
53
638
586
713
301
7
591
245
285
304
205
613
331
326
406
471
533
148
630
199
265
654
491
328
198
259
457
565
168
321
147
635
641
748
391
260
382
327
169
325
372
572
397
283
463
311
302
341
389
317
460
646
177
244
647
534
327
165
216
500
190
453
401
281
638
363
372
304
93
335
268
277
443
56
656
223
513
613
515
490
106
251
219
74
406
327
128
171
360
285
635
704
518
514
442
224
513
555
235
77
491
278
105
135
366
394
151
466
191
347
130
624
291
344
512
293
268
662
410
246
317
493
222
164
376
516
307
397
555
283
257
273
573
343
565
513
487
106
619
582
549
537
953
274
476
328
308
453
634
227
605
630
376
554
638
230
623
595
791
661
174
293
487
516
696
448
188
220
363
296
323
495
292
600
826
421
409
370
258
203
503
333
464
831
617
287
513
649
657
320
186
325
238
434
544
269
268
188
345
442
161
511
754
623
371
408
356
317
566
333
353
359
498
284
672
391
587
838
839
356
294
283
708
560
200
175
546
243
298
404
30
313
332
779
625
88
572
293
194
86
681
248
677
363
504
211
436
512
361
484
766
382
307
451
174
221
162
301
117
370
348
575
218
346
237
353
649
293
645
787
638
560
98
251
293
294
378
763
556
261
493
353
410
155
729
154
250
591
321
335
365
783
330
403
809
571
574
194
145
439
581
426
232
676
280
71
342
96
318
638
528
93
556
559
531
286
534
359
240
334
543
324
164
481
737
162
333
182
275
483
173
48
817
166
363
322
742
225
600
691
114
281
197
212
625
367
623
315
435
592
319
350
405
374
379
287
322
225
455
462
148
613
571
515
796
244
262
320
428
119
485
225
82
539
336
819
262
474
771
341
229
298
263
320
193
450
412
151
287
108
141
304
476
127
565
485
168
606
713
581
820
224
251
234
542
280
328
749
439
492
475
128
300
483
241
403
251
654
208
65
727
588
457
361
914
272
337
376
619
277
269
316
615
625
431
446
377
126
294
438
230
332
640
697
254
736
318
294
405
227
136
301
621
591
139
412
584
300
267
240
137
422
116
822
275
275
226
630
433
797
501
391
576
49
153
272
270
697
432
456
439
632
338
924
404
330
471
112
465
388
303
325
393
749
529
386
136
211
326
213
269
612
626
551
330
321
202
361
833
252
130
586
147
205
145
615
133
801
412
242
264
548
303
88
378
507
276
465
227
167
193
363
602
107
634
336
199
303
545
624
510
142
300
440
237
471
410
96
263
841
32
563
442
858
265
501
638
290
532
516
145
188
97
629
343
469
536
353
409
401
454
323
397
337
625
385
472
704
422
357
369
390
189
468
623
621
575
326
670
654
662
531
400
498
544
415
254
601
334
471
444
334
932
690
216
396
487
340
587
267
541
586
190
407
578
588
425
291
228
394
365
409
608
856
526
434
419
211
192
458
391
267
635
721
220
104
2
453
122
580
313
613
739
481
278
549
84
340
113
87
499
658
566
492
216
611
329
146
393
712
66
166
278
386
266
678
107
255
432
622
674
38
147
394
192
443
306
525
775
334
262
537
677
173
255
542
669
473
795
313
473
263
155
537
415
172
330
552
506
267
479
132
624
185
144
326
736
155
215
299
690
466
307
390
101
354
276
687
348
356
49
111
168
697
285
569
237
219
673
481
582
522
288
511
369
573
570
89
170
389
520
497
387
272
453
284
104
136
304
599
849
743
731
554
154
326
489
339
550
371
384
621
845
356
347
234
183
186
634
435
368
373
746
411
266
682
485
319
466
508
167
191
167
476
398
492
46
238
188
272
337
345
263
36
431
302
395
292
563
520
128
474
643
570
79
286
303
431
570
631
266
530
85
95
108
110
172
546
76
321
793
357
569
76
280
313
74
272
118
732
278
302
75
475
224
105
120
308
444
378
227
564
278
91
350
486
463
139
587
276
518
416
109
478
585
520
452
495
342
538
384
244
556
483
259
465
200
301
60
540
218
506
327
555
605
341
396
413
497
391
316
267
327
411
568
565
311
392
28
919
135
379
512
456
619
488
677
491
133
243
552
241
437
167
659
286
375
288
204
559
146
555
514
161
259
626
183
333
460
741
534
721
447
286
703
112
193
472
345
439
592
203
155
599
333
117
120
344
412
138
290
312
429
445
419
105
30
211
471
614
602
429
571
395
256
472
175
98
253
112
158
323
402
149
470
491
676
308
119
341
212
334
65
305
341
252
549
287
166
374
211
564
362
554
382
334
413
346
269
383
452
576
183
289
150
712
489
205
176
502
578
384
400
102
670
342
229
674
276
184
607
151
774
334
349
622
76
494
351
518
514
378
656
349
196
277
132
91
132
468
385
256
307
99
252
600
256
433
312
488
241
154
385
168
342
373
337
345
174
92
149
435
313
154
231
176
264
136
545
474
458
372
513
527
634
372
599
411
71
206
373
495
211
431
306
457
399
504
694
204
603
255
334
470
414
545
399
157
652
408
191
639
677
802
229
471
354
220
221
447
412
276
385
99
64
492
500
663
147
343
419
555
551
286
104
349
191
344
109
540
793
319
302
546
404
284
339
360
333
373
129
189
223
592
282
540
811
605
512
937
535
237
64
249
490
423
238
215
557
202
297
590
303
658
445
639
148
154
91
246
65
545
682
243
557
416
655
427
320
126
633
530
231
358
637
502
417
627
191
190
35
611
597
53
298
479
395
498
403
264
687
487
104
661
856
74
114
103
381
497
104
510
402
137
294
494
53
280
550
152
110
78
288
273
328
257
183
97
507
463
146
199
611
755
277
261
279
438
331
342
542
269
500
238
227
341
347
527
324
804
204
550
244
291
183
134
410
539
496
632
339
604
516
629
328
494
542
29
308
241
105
225
311
329
309
569
424
222
646
715
364
247
31
429
426
360
265
285
854
315
262
414
433
712
381
228
423
327
420
350
137
244
398
794
561
152
209
593
631
642
258
665
357
404
216
81
513
604
469
712
510
328
476
345
715
426
179
199
89
469
695
59
716
126
530
388
297
881
434
518
299
370
342
237
160
349
532
259
382
500
519
553
477
437
148
740
461
355
173
520
102
132
699
382
104
358
512
143
171
384
506
187
275
519
301
602
552
141
92
369
304
286
307
244
371
148
131
259
354
354
136
331
523
472
525
224
474
394
545
310
443
195
411
241
404
249
427
935
308
582
512
432
262
359
92
192
299
507
712
336
99
555
188
458
208
14
624
768
286
524
608
219
493
263
400
213
169
182
461
201
350
691
436
579
338
594
480
381
255
559
253
104
241
379
336
309
332
219
186
299
180
196
790
76
419
142
262
609
442
347
226
188
267
658
286
128
435
348
437
623
104
207
566
402
541
590
378
232
79
471
229
307
436
531
463
342
118
396
327
688
633
487
332
300
364
303
645
248
327
182
547
416
391
265
118
760
728
285
342
472
734
121
412
489
198
124
180
113
606
169
286
412
576
144
251
484
278
349
479
569
448
667
119
451
353
213
350
304
771
249
516
908
275
120
367
129
138
401
311
315
559
448
337
776
376
207
140
112
568
238
94
396
452
562
322
176
105
254
127
446
417
180
376
546
127
681
256
67
229
103
584
120
672
189
116
662
167
613
488
182
361
391
237
502
187
237
549
245
184
261
254
75
260
224
406
500
435
546
372
521
505
332
499
629
662
412
215
279
349
326
54
661
105
567
208
339
384
342
159
153
653
177
410
81
127
461
477
228
75
499
467
343
215
612
342
517
851
147
364
716
249
77
248
269
440
174
595
413
106
229
289
432
501
666
572
590
273
237
324
684
652
713
129
216
82
493
166
183
122
525
49
346
477
386
204
194
293
59
690
34
154
801
327
342
428
572
18
192
572
431
623
341
650
99
288
297
894
127
268
566
717
496
164
189
126
837
750
93
256
247
619
449
605
772
731
878
775
473
811
303
68
250
91
568
285
475
73
388
340
505
124
419
257
565
598
502
248
687
186
148
513
150
350
160
714
235
187
284
343
514
515
537
218
251
286
112
524
259
500
369
304
460
340
479
135
283
24
777
506
287
77
479
375
474
617
163
448
364
310
622
235
283
212
526
410
667
272
573
400
299
594
358
759
258
37
222
441
228
422
343
121
209
690
287
76
368
605
403
500
426
321
53
502
193
285
437
26
179
392
229
395
462
518
523
252
312
109
181
552
282
405
840
548
589
435
584
761
358
378
246
440
665
459
229
343
648
509
721
351
541
402
194
277
228
154
28
618
445
413
331
301
499
500
173
142
664
217
606
358
170
717
172
861
562
342
209
296
368
478
573
330
350
545
70
583
371
128
398
383
661
317
646
52
330
429
270
673
577
535
599
237
217
509
485
417
312
149
678
245
668
337
780
532
336
441
410
246
324
348
164
520
215
120
291
568
532
654
655
530
577
63
530
60
349
316
196
269
889
533
69
647
539
586
383
788
281
134
496
296
91
608
314
454
398
220
479
74
464
485
156
621
441
348
575
270
198
234
623
499
173
250
180
462
106
339
284
432
75
607
508
600
521
199
285
160
183
541
347
260
188
118
222
315
403
84
468
514
270
540
344
654
454
396
453
342
281
273
219
296
432
211
317
196
65
190
110
137
55
83
678
349
830
547
467
181
428
332
63
280
674
593
225
132
325
385
390
754
619
381
515
651
558
502
672
441
284
534
558
250
480
248
211
213
104
487
440
732
333
18
456
835
339
693
192
405
496
542
239
356
105
603
417
622
387
554
311
112
157
360
174
584
406
633
87
376
230
260
494
471
485
232
561
70
635
297
103
580
273
828
455
106
198
519
408
354
342
27
220
252
594
86
160
604
638
157
766
231
192
413
377
405
225
518
384
563
520
368
439
236
679
639
488
248
162
535
61
131
380
477
404
518
379
228
446
224
632
300
419
155
334
406
589
493
361
106
577
483
467
661
496
120
95
325
355
115
370
284
193
442
142
221
380
281
550
119
244
188
129
392
520
185
459
346
603
624
456
263
285
333
228
446
538
591
227
325
687
378
343
223
243
188
592
202
726
563
339
416
445
352
152
201
488
687
407
282
66
667
252
752
707
634
388
189
277
543
459
192
174
669
544
503
268
454
232
773
270
607
75
183
496
508
173
510
337
828
641
647
343
474
334
488
41
299
440
464
638
504
279
519
300
81
88
525
646
176
540
88
309
338
420
455
552
327
525
244
396
464
454
191
272
124
573
184
470
257
358
112
522
775
465
87
548
365
754
262
750
317
565
483
327
494
397
335
557
139
332
474
331
556
665
401
237
506
171
227
219
248
328
187
548
397
537
252
239
256
459
625
511
540
624
682
592
663
283
292
396
567
123
418
166
408
250
390
375
149
477
285
253
324
214
376
262
416
159
470
130
613
554
322
541
621
363
269
378
318
364
164
160
490
378
137
316
285
768
573
500
270
519
610
331
209
170
251
571
392
623
193
722
385
252
592
182
269
301
308
626
497
281
205
272
51
332
517
626
487
740
571
397
88
315
431
597
319
362
591
150
640
257
183
219
369
497
347
532
259
784
522
499
387
341
509
154
383
253
319
343
490
629
557
702
362
192
388
384
319
397
470
460
330
628
546
283
196
96
595
487
557
712
352
238
497
318
294
715
178
254
431
451
177
178
609
176
63
405
220
301
233
360
255
773
477
781
209
475
20
654
161
733
396
423
336
383
95
588
291
308
374
139
503
527
327
725
534
371
408
79
322
585
426
398
213
655
394
659
406
308
713
729
344
616
604
272
192
300
198
717
609
170
414
543
748
192
425
346
483
594
370
203
382
260
558
356
642
190
570
216
312
311
224
257
613
423
425
582
357
449
389
169
544
328
830
233
733
448
456
553
603
318
437
162
382
393
173
633
217
510
28
160
220
107
146
599
370
498
366
291
391
166
350
572
584
231
590
692
121
310
541
360
594
192
620
717
294
318
77
647
144
361
323
242
145
483
670
636
120
500
70
619
603
338
380
107
464
331
25
383
335
809
333
566
487
154
787
379
553
807
238
257
72
94
647
700
502
115
632
413
659
422
177
310
727
38
622
834
248
268
565
407
756
149
473
477
157
501
294
465
399
585
449
92
547
198
190
233
176
127
269
661
200
499
451
389
678
325
544
302
560
418
657
548
97
507
815
237
578
107
552
414
130
558
450
542
347
749
243
447
375
173
613
463
567
467
651
69
41
199
719
270
477
230
395
549
246
661
567
271
415
576
456
478
125
263
230
261
465
568
291
97
320
63
190
460
327
614
771
613
674
117
238
487
221
215
274
390
661
535
550
592
167
510
363
720
129
171
181
353
363
192
148
139
677
100
712
294
163
408
244
392
150
377
407
300
100
562
500
489
167
238
191
640
317
173
481
771
103
545
329
596
333
167
212
440
146
518
183
123
234
662
164
485
284
109
382
331
271
344
399
481
346
307
443
239
720
499
545
608
542
105
230
368
615
95
518
96
345
562
443
495
730
233
597
584
611
504
261
547
147
527
466
606
586
578
325
180
249
337
411
175
792
265
420
577
514
130
372
588
574
153
534
191
396
212
363
149
835
261
673
155
380
253
539
304
575
323
234
243
655
557
466
308
486
815
490
409
490
532
355
193
239
454
502
279
472
572
336
78
137
612
369
567
138
285
316
390
421
283
328
220
505
395
230
552
414
722
297
144
617
387
573
376
251
718
287
514
175
360
426
393
206
415
448
179
149
686
313
289
202
219
289
624
224
221
571
535
366
253
184
447
276
255
566
740
681
618
481
359
510
372
257
340
277
377
241
435
340
519
683
499
273
335
310
130
407
202
299
428
238
215
322
425
255
670
493
487
344
514
757
157
193
463
135
585
273
505
234
435
362
432
422
93
468
428
224
95
77
155
355
489
622
339
251
282
588
590
263
90
321
187
24
759
597
438
609
354
425
576
281
257
437
630
756
711
133
582
180
256
611
201
512
715
390
483
534
30
151
378
304
690
924
394
314
216
606
259
67
152
425
236
151
769
304
69
538
313
216
218
286
357
480
333
276
615
570
424
219
177
314
275
408
338
197
154
317
171
149
438
257
222
510
413
106
121
452
528
445
179
275
306
47
689
437
66
556
499
345
145
177
328
157
569
275
185
741
600
313
420
352
300
240
604
422
505
591
348
298
359
693
129
547
226
247
300
613
420
134
151
585
265
94
721
543
509
73
326
730
465
143
466
810
185
281
393
253
276
365
450
427
353
572
771
542
260
357
482
207
646
224
491
139
549
447
447
467
497
402
417
313
500
267
131
362
249
418
552
376
520
477
865
224
573
168
499
334
188
380
512
398
186
495
405
142
465
96
486
397
128
264
568
317
397
155
592
119
710
317
566
65
305
595
210
433
216
518
605
491
329
126
512
375
214
151
540
218
611
253
691
166
398
170
180
383
548
412
229
395
228
157
160
527
246
552
672
314
465
207
46
316
393
307
131
80
77
673
338
442
629
95
158
682
149
122
577
359
262
427
295
410
772
31
489
344
128
178
323
462
713
356
562
528
192
456
100
217
74
753
401
209
108
544
271
429
545
409
285
323
418
313
350
159
578
639
292
323
494
736
277
650
385
333
538
596
418
665
186
427
609
538
362
647
562
709
259
798
505
579
241
136
531
565
435
360
218
243
353
188
469
143
362
436
519
97
473
414
63
304
230
698
544
229
653
371
319
151
200
35
321
346
87
621
343
536
487
296
563
396
517
340
538
597
392
321
323
289
361
505
434
379
227
195
137
126
427
583
574
404
672
432
396
446
373
347
374
205
418
660
229
462
337
270
328
120
77
795
200
620
208
276
211
446
627
226
349
632
225
300
626
564
216
748
233
333
122
113
324
339
540
279
286
284
269
481
306
386
527
96
575
111
214
595
588
726
362
138
183
631
392
450
632
377
635
387
693
463
504
703
304
279
584
286
785
270
335
208
909
73
566
493
594
445
335
696
707
252
662
847
469
616
398
394
225
409
723
587
603
543
366
555
270
228
737
664
361
390
276
319
692
245
184
97
739
337
212
495
148
456
396
758
365
714
342
620
263
577
205
657
247
381
552
297
517
342
202
250
357
422
119
464
467
144
213
531
213
240
701
239
323
244
346
155
602
217
413
339
454
480
300
193
250
899
371
633
418
307
298
593
292
419
357
330
552
385
286
519
265
534
123
238
79
178
68
592
688
385
269
304
190
248
612
519
381
90
437
186
446
594
585
584
89
334
648
392
316
14
197
419
463
678
393
305
389
179
231
688
194
760
446
305
452
301
635
271
424
713
208
595
565
422
248
161
367
584
431
208
351
450
272
331
744
557
517
456
278
501
397
797
700
435
296
347
710
258
190
311
662
372
445
130
378
663
123
731
615
272
155
567
375
422
326
447
150
347
449
351
476
547
499
446
153
386
469
436
185
607
348
364
144
167
136
190
508
730
173
339
345
439
495
281
801
417
191
531
505
272
590
94
106
317
398
247
281
523
683
100
150
140
161
277
418
561
204
365
397
463
60
792
413
468
568
113
563
431
283
128
537
831
418
684
425
389
357
193
742
810
328
414
496
105
465
297
428
784
456
199
483
385
246
454
176
505
455
556
446
733
280
569
215
659
66
604
781
359
129
622
580
333
338
284
286
392
823
604
383
547
251
731
213
406
154
295
341
558
507
556
82
254
474
467
105
351
423
80
443
532
730
374
712
275
820
660
120
802
319
121
258
277
250
473
605
442
487
173
368
251
317
472
156
395
167
279
376
139
205
297
544
56
351
616
339
315
621
537
259
714
236
92
486
461
688
367
333
133
504
446
458
265
491
482
387
277
466
282
289
46
588
593
465
646
428
188
498
297
60
409
638
640
311
315
381
594
373
356
215
296
676
260
146
307
212
77
788
613
304
348
488
434
259
261
878
336
171
594
329
507
451
398
274
458
373
703
120
506
207
383
552
568
471
42
67
162
787
237
633
573
453
548
515
572
108
160
270
713
610
221
164
140
105
108
641
265
320
355
263
395
157
655
225
212
846
86
181
458
611
470
898
695
90
136
558
581
264
259
327
680
113
291
277
167
44
282
305
347
432
351
482
579
202
359
380
523
247
45
212
164
406
259
103
539
719
338
160
459
136
492
638
32
337
761
320
731
738
341
538
322
293
239
229
256
119
645
409
481
163
323
77
204
500
364
208
429
226
226
80
371
640
424
280
259
210
381
368
444
306
474
650
428
241
532
213
559
472
322
513
479
251
198
489
766
533
176
189
312
171
536
324
427
145
395
492
423
514
573
139
555
440
370
581
787
222
248
510
298
433
326
267
198
323
159
175
490
370
440
569
243
512
249
256
337
482
603
467
566
340
178
403
564
355
615
498
654
327
368
371
465
422
517
520
221
185
543
206
337
462
107
499
145
407
87
281
130
522
355
682
688
140
389
681
276
173
290
258
122
341
208
166
412
342
266
766
389
115
306
508
566
560
29
356
369
452
185
419
530
396
549
946
564
611
536
235
262
425
203
458
164
766
308
460
89
198
693
581
368
461
641
223
92
232
488
245
572
295
291
475
133
506
510
401
504
333
615
166
218
125
253
389
623
560
764
435
331
240
276
515
258
53
463
141
402
911
698
407
325
532
482
205
368
194
708
349
357
373
471
240
638
326
331
165
500
79
341
574
394
548
349
625
323
391
364
578
186
254
254
569
317
364
323
120
350
204
303
537
585
516
168
185
494
465
375
526
94
208
171
601
316
565
564
536
220
934
678
71
305
532
668
574
879
629
393
385
367
57
124
549
386
323
144
355
134
120
396
572
480
291
300
544
449
489
714
293
458
508
263
301
495
335
136
485
160
167
821
233
285
521
426
139
114
195
67
147
288
333
802
808
198
663
606
287
461
473
810
465
150
645
172
293
225
393
535
568
697
368
122
77
78
726
41
738
188
340
738
440
211
663
64
552
376
545
629
301
601
424
326
309
173
558
146
183
230
443
485
491
753
670
396
252
418
566
308
574
395
541
310
59
478
537
702
228
415
174
571
273
362
108
259
73
534
708
362
132
761
227
182
320
384
837
317
567
83
257
668
465
412
610
460
199
60
436
274
560
465
72
415
343
443
250
511
389
577
193
301
454
768
614
513
603
418
259
386
201
115
569
571
180
106
510
435
293
501
50
257
339
777
316
261
395
521
697
574
328
339
243
627
413
367
332
579
488
147
115
428
273
416
395
255
247
187
228
112
542
254
107
305
610
535
685
466
465
432
398
77
189
430
169
494
301
456
438
427
247
257
659
580
114
294
179
304
189
411
383
521
458
581
577
726
46
147
96
406
152
435
686
337
313
666
179
342
324
298
120
290
108
338
121
100
236
130
60
281
349
452
811
123
528
629
62
135
384
761
354
535
150
397
241
310
444
406
641
210
251
350
133
405
500
603
239
177
345
310
599
609
324
384
610
294
156
427
27
185
201
69
723
686
189
745
311
134
460
153
121
702
797
653
729
344
166
251
166
351
281
403
493
161
313
164
216
591
514
606
337
581
339
444
163
223
305
300
549
485
594
580
181
259
445
453
295
131
252
316
167
353
638
454
819
387
374
565
692
298
107
43
44
73
284
575
242
280
506
89
491
153
467
539
278
235
221
716
462
392
128
276
36
313
490
261
451
338
280
462
851
328
221
641
288
555
444
677
357
432
194
523
267
368
619
245
267
739
166
90
458
295
429
436
299
784
199
192
552
548
311
309
458
357
515
733
361
620
253
406
360
432
262
343
390
460
369
566
652
412
875
288
281
612
454
639
374
296
415
401
395
591
419
436
437
467
465
198
673
633
492
541
451
103
432
314
604
377
325
412
437
500
522
127
542
563
703
650
146
127
557
123
229
291
188
181
538
305
151
293
630
480
443
423
772
63
728
234
605
226
568
350
386
234
525
426
662
174
344
401
307
298
453
628
702
732
372
292
459
891
258
653
525
222
651
148
348
187
442
288
146
345
67
582
454
94
291
431
396
643
114
464
521
804
282
517
111
235
348
306
455
256
349
563
425
531
152
562
308
508
305
411
394
258
299
183
477
452
360
528
523
350
286
659
197
696
500
150
245
666
172
496
324
320
593
768
331
625
316
303
221
441
878
121
381
699
268
747
221
147
581
612
107
446
410
154
581
137
231
594
203
513
786
384
659
375
163
480
572
184
259
207
420
600
363
726
336
345
294
616
90
353
627
547
492
151
233
320
126
549
157
353
209
294
214
170
178
170
425
329
512
116
421
421
438
448
348
560
252
506
334
584
467
494
442
169
232
419
411
418
920
179
307
304
45
291
399
153
417
483
54
287
247
437
502
258
308
525
272
244
269
325
515
584
348
713
358
566
350
386
240
385
334
433
649
376
401
438
237
524
372
448
424
186
509
559
441
144
409
642
124
306
112
290
610
688
366
717
519
307
658
241
639
544
831
600
151
357
298
108
423
377
233
276
196
398
358
320
303
24
582
494
182
220
274
53
362
149
203
233
236
236
541
375
329
531
71
373
131
563
290
714
348
768
199
789
263
560
266
331
186
822
257
506
66
386
107
129
127
238
137
341
425
912
344
228
340
407
656
400
609
384
237
58
792
82
515
348
440
466
136
556
459
73
127
647
397
649
472
359
506
655
655
423
373
675
177
407
716
157
336
62
443
727
275
251
621
359
434
264
232
373
339
94
472
731
257
123
98
582
233
373
58
513
650
522
325
412
326
140
611
80
491
246
216
242
627
378
245
214
185
236
143
610
414
416
364
573
562
281
259
485
401
514
226
567
518
414
582
314
823
651
664
352
394
398
238
401
466
486
671
218
214
399
599
188
168
152
193
464
414
479
232
545
503
745
394
817
142
542
270
432
153
202
389
686
252
165
430
624
424
565
358
526
247
249
190
359
471
270
366
674
193
353
557
468
792
235
624
159
434
470
91
289
312
588
316
247
391
459
544
567
501
535
292
93
390
50
171
531
151
608
650
257
654
256
640
155
471
418
396
177
429
792
186
650
261
509
170
391
292
128
788
395
586
681
193
812
220
544
197
532
148
407
221
471
860
619
405
577
30
378
659
658
94
435
78
420
409
428
573
123
180
209
330
117
134
681
425
106
517
625
431
347
649
393
68
566
830
356
313
360
455
153
315
182
727
227
247
469
635
446
556
485
908
337
264
344
288
427
194
97
309
433
576
452
720
559
340
720
113
597
338
369
279
140
338
733
197
426
29
308
330
597
605
368
311
255
241
165
642
396
310
496
21
109
97
722
140
262
290
400
652
686
157
753
225
613
204
573
420
432
275
519
340
450
533
394
219
219
284
262
121
344
351
152
93
343
518
553
331
350
268
268
254
684
879
638
335
221
364
374
129
318
448
263
660
318
522
28
379
174
668
304
366
507
342
433
128
124
664
361
552
424
292
236
467
352
368
244
246
360
382
477
610
173
720
264
209
33
432
387
354
446
594
333
809
188
514
294
262
417
266
375
555
571
618
766
758
475
346
73
702
500
590
179
728
205
183
379
362
683
367
568
542
578
615
458
270
458
378
328
329
340
25
284
249
277
407
202
293
304
639
481
661
220
199
349
545
351
538
349
280
330
269
384
411
63
46
473
205
714
535
635
596
688
202
361
341
345
368
235
256
304
234
395
536
725
567
433
672
755
339
482
275
146
87
530
435
22
385
278
211
645
174
444
152
431
559
240
325
500
337
153
380
623
561
422
144
40
392
268
667
343
595
242
559
555
451
363
382
505
540
813
202
334
271
301
851
308
474
164
368
634
450
390
376
531
404
293
554
304
382
311
87
472
750
644
396
244
562
296
285
136
557
193
429
559
686
609
809
310
69
312
311
484
483
460
284
176
325
566
508
161
281
49
134
387
362
595
729
266
288
326
577
436
294
659
812
626
204
111
102
535
485
225
238
856
315
280
243
296
914
276
396
211
534
144
588
384
361
755
230
848
307
402
295
490
208
512
531
685
274
565
856
610
145
112
300
561
341
337
152
711
357
541
472
277
133
222
715
148
88
482
829
417
178
453
302
329
410
145
581
390
232
290
728
376
436
288
508
538
490
329
87
276
28
559
27
213
569
212
163
545
226
106
215
527
128
313
326
471
398
205
104
580
214
382
836
241
155
394
520
103
223
417
345
426
473
419
297
553
614
259
187
823
410
71
639
488
515
437
344
720
218
413
429
97
569
470
175
314
229
240
275
502
329
629
454
403
181
751
583
326
466
113
436
340
429
537
733
332
266
100
291
458
140
343
369
315
476
337
90
209
213
423
396
126
235
191
224
635
425
563
280
107
567
267
278
226
516
507
154
605
954
510
357
190
179
443
231
904
210
439
153
260
221
776
423
485
795
530
700
84
354
238
337
480
655
183
211
288
186
830
586
411
172
347
608
526
276
641
474
291
674
166
41
456
400
430
751
350
300
406
212
258
358
261
313
765
424
668
415
163
569
225
196
610
531
425
178
267
405
556
78
277
262
247
230
479
749
27
319
471
180
517
327
387
116
150
146
425
298
135
306
305
459
264
546
340
330
763
76
299
214
481
415
254
348
880
534
466
444
442
40
296
117
478
388
605
682
379
712
381
480
414
633
428
27
488
363
364
202
115
573
106
389
435
83
407
223
422
151
207
572
266
501
322
420
85
657
583
190
684
544
602
208
88
453
175
429
246
317
207
261
564
281
235
103
460
137
715
624
538
454
138
254
547
577
199
794
165
509
595
788
216
346
380
492
516
284
496
456
682
890
382
109
490
423
41
163
234
446
643
336
581
560
482
543
484
397
321
168
171
220
652
299
216
93
634
441
351
350
361
422
131
250
480
496
150
156
714
330
342
180
688
655
383
767
577
213
236
188
369
176
205
504
554
453
344
414
776
405
335
312
491
515
109
239
777
395
339
32
456
717
623
48
163
662
632
165
584
162
470
263
436
112
50
54
335
322
365
148
572
252
278
600
174
431
259
555
566
194
267
235
227
409
635
335
364
277
647
431
493
631
493
262
226
304
468
237
478
213
145
264
466
536
711
220
304
209
669
307
411
633
863
504
106
252
36
626
314
563
313
582
315
278
337
288
89
395
529
358
150
217
536
237
516
93
168
303
232
747
662
685
358
441
580
593
586
537
684
234
489
545
441
186
182
360
451
468
159
491
319
438
714
436
161
365
306
79
635
397
623
334
313
271
555
197
137
468
152
368
37
415
761
535
438
538
621
339
419
469
657
826
536
312
193
185
393
382
806
594
392
210
595
334
326
648
237
132
56
334
293
538
170
246
249
98
312
330
252
537
281
330
197
328
294
593
192
565
458
180
595
372
339
609
693
520
697
343
271
165
331
143
250
482
478
259
112
255
374
267
261
609
169
98
823
328
83
429
294
299
192
301
612
448
184
215
303
322
439
557
386
204
63
338
474
277
627
131
346
757
637
77
288
255
77
949
296
596
127
540
362
563
591
767
232
681
518
249
576
399
436
313
514
277
348
133
180
72
176
354
271
374
394
178
467
322
197
107
128
595
716
550
824
145
138
572
237
271
470
653
89
479
641
373
387
815
557
354
300
131
153
421
82
416
512
678
318
602
459
722
576
486
644
317
457
258
463
406
401
553
495
129
367
559
307
311
293
358
523
491
524
573
617
343
414
198
168
588
655
622
358
708
584
292
455
188
460
683
167
174
405
575
299
383
433
597
329
468
542
495
586
347
642
342
337
290
415
164
313
603
604
421
141
205
570
66
177
146
477
175
379
371
193
414
295
49
144
476
257
857
369
217
281
546
54
605
666
466
369
63
789
391
53
133
664
716
274
185
147
586
571
624
758
713
362
810
203
89
238
717
164
335
567
334
371
144
256
148
549
506
755
282
227
464
306
221
519
222
564
200
490
432
189
391
269
284
380
292
663
82
270
321
358
423
112
417
760
319
186
600
238
252
534
713
384
525
298
815
106
104
116
189
665
36
354
685
441
304
240
190
265
573
438
336
354
175
176
693
708
91
327
426
388
584
86
397
487
468
398
659
395
441
175
624
329
326
345
199
507
339
686
137
597
594
521
265
237
275
450
360
420
278
823
560
313
716
59
281
264
542
413
643
481
490
515
460
204
298
294
568
336
362
462
302
354
316
590
306
489
291
319
302
320
227
288
593
92
166
251
177
151
105
166
114
358
779
595
550
250
333
572
111
829
333
501
581
517
523
100
558
345
734
245
790
610
75
224
173
286
422
314
432
372
93
391
566
620
371
481
273
506
631
426
450
343
80
198
460
198
223
322
493
793
410
146
260
654
204
202
611
529
629
584
490
345
397
388
311
476
113
133
218
55
628
359
376
94
572
548
340
413
212
427
585
198
204
85
503
314
509
397
520
457
521
152
328
172
327
406
560
530
533
219
258
336
106
318
516
46
73
647
469
511
546
681
320
112
253
271
355
250
604
560
156
694
582
253
502
180
323
432
445
363
567
256
24
574
230
872
492
438
182
131
422
524
423
614
539
304
580
355
527
695
537
662
380
287
641
422
198
714
509
518
564
499
378
305
243
322
521
150
581
412
705
84
268
486
377
355
387
402
294
267
209
75
111
338
222
324
436
520
552
344
153
592
382
271
336
381
761
478
737
407
278
627
199
664
455
326
66
467
656
359
636
265
632
350
363
313
533
419
327
495
522
187
426
203
572
554
767
160
343
582
122
318
149
295
236
461
602
171
651
260
430
500
615
259
534
785
540
312
586
561
505
848
153
259
106
34
331
303
423
141
254
389
404
343
371
333
349
601
265
655
310
443
635
757
263
343
439
238
573
384
478
146
453
186
268
714
149
244
535
287
187
791
768
528
408
306
433
268
479
2
186
474
563
291
745
555
332
291
340
91
171
549
483
572
631
230
390
377
478
633
120
347
309
73
304
326
699
349
358
344
776
267
684
61
353
152
455
442
452
510
218
663
572
341
88
382
620
633
219
189
511
439
477
355
615
318
213
414
369
798
178
323
335
311
201
494
67
165
263
231
114
280
490
294
908
90
670
133
289
304
224
564
435
332
397
465
231
454
639
222
605
420
259
205
259
423
369
568
368
348
218
167
604
342
452
456
81
201
683
91
829
146
317
403
375
705
591
236
311
599
218
478
138
268
356
440
427
476
164
427
533
379
415
572
557
358
586
41
339
523
668
71
276
270
155
490
387
613
325
421
417
577
620
611
728
650
245
373
531
343
458
260
810
240
340
182
195
178
161
232
154
171
365
162
869
260
352
425
412
414
273
824
363
282
542
227
611
196
153
314
537
461
711
588
113
373
769
625
425
261
431
429
377
193
108
221
129
274
425
331
588
502
384
347
223
446
553
98
243
509
346
737
88
670
317
354
152
384
211
89
332
719
161
144
42
694
701
563
277
399
560
419
434
156
640
197
213
370
263
331
306
396
157
103
590
734
500
585
169
224
795
898
452
364
812
828
445
189
592
262
378
299
216
431
530
323
310
477
762
342
493
164
413
78
526
369
83
346
784
562
536
382
501
460
373
481
142
268
300
259
142
435
478
550
167
353
578
257
781
154
579
550
638
305
200
665
290
397
255
271
327
112
579
656
685
361
635
855
915
318
247
587
131
113
649
228
426
80
143
176
248
339
687
332
197
435
631
582
243
473
620
370
209
330
182
346
590
46
160
269
268
240
71
278
489
115
470
367
458
729
640
259
321
793
376
347
301
374
684
300
105
356
129
503
318
551
688
156
842
129
283
303
585
207
592
165
256
329
748
566
590
109
310
79
427
411
599
135
79
99
476
598
367
198
220
566
694
310
91
458
365
397
772
266
327
387
291
276
213
235
296
880
493
553
276
108
415
621
411
335
177
742
436
355
471
478
492
115
473
450
81
269
589
575
738
389
295
673
438
490
172
513
140
272
255
315
63
319
277
185
470
363
522
42
605
98
128
434
513
109
98
294
852
384
593
736
598
575
274
369
96
278
292
184
307
594
408
226
345
159
265
319
285
131
143
514
498
164
355
356
152
186
257
401
246
631
306
367
553
295
613
339
515
125
628
599
559
181
152
596
595
421
185
197
74
204
159
515
122
315
490
735
703
195
422
580
420
530
521
355
149
256
333
258
428
647
636
271
371
249
285
408
464
308
703
579
595
656
548
235
662
49
326
671
199
244
317
332
205
678
627
548
591
308
496
164
306
511
323
115
269
205
151
595
434
381
194
330
312
722
451
164
583
304
648
288
574
538
615
697
359
437
343
265
175
702
186
228
97
331
549
428
247
345
416
98
394
540
254
521
173
639
381
323
434
307
241
124
465
324
163
421
418
282
197
397
120
236
302
698
355
394
116
322
387
113
293
114
816
357
525
496
289
166
584
476
209
687
413
320
401
359
286
661
465
420
636
46
300
491
275
252
106
591
316
557
176
807
414
154
663
210
301
278
554
448
340
437
471
77
678
368
767
691
120
297
796
220
464
32
611
759
177
895
42
766
112
281
570
388
269
326
347
511
401
675
689
137
259
906
226
228
415
473
484
300
336
926
485
777
225
655
181
220
326
61
176
441
239
556
610
826
536
321
757
98
553
194
394
309
241
289
586
437
281
220
551
186
291
222
346
415
143
505
238
582
790
697
268
58
615
578
356
442
322
464
302
750
898
129
339
694
429
374
314
478
471
181
289
418
638
144
350
532
367
307
294
262
377
22
673
373
587
454
205
178
307
121
223
298
177
658
256
774
14
626
267
362
130
273
356
798
590
277
155
307
173
322
393
254
381
278
312
541
555
454
299
253
198
342
139
547
557
366
734
619
308
210
215
359
527
658
396
453
631
279
373
44
376
364
417
466
554
226
209
229
457
517
251
437
455
321
489
518
165
338
341
495
600
163
190
144
418
677
167
99
511
577
494
804
557
66
450
512
472
452
60
182
243
323
313
723
613
495
165
455
235
229
509
355
178
933
274
548
308
440
226
721
345
89
296
785
636
204
429
63
375
365
550
299
217
550
432
199
131
235
436
539
418
364
284
603
363
267
633
296
209
226
364
113
619
177
884
150
250
108
814
369
379
307
318
281
254
116
607
221
329
598
433
262
261
350
549
317
354
550
300
211
117
661
89
421
638
490
418
346
33
381
357
145
396
609
159
279
555
235
670
123
124
455
94
335
330
508
327
346
468
343
143
749
353
371
475
442
496
265
162
318
710
248
322
226
539
533
351
587
113
505
215
559
629
429
82
275
595
924
671
583
670
212
469
294
663
692
451
423
274
237
521
243
201
240
250
298
212
327
87
824
352
594
456
841
222
526
477
424
303
93
247
524
76
478
581
232
308
296
276
304
285
459
737
163
714
114
306
661
340
496
337
742
179
439
508
50
422
220
525
626
606
376
307
166
462
447
376
285
277
216
647
135
663
439
36
483
267
562
581
563
244
85
267
490
156
234
249
195
669
152
704
88
40
9
759
380
236
409
350
275
641
605
442
248
202
839
212
565
637
612
499
686
504
591
211
253
79
355
308
314
485
541
205
408
789
303
326
418
172
483
143
552
372
373
333
50
689
140
210
147
24
743
202
649
298
489
383
696
37
335
341
299
421
261
286
415
388
626
420
290
100
323
806
315
464
205
136
267
240
403
286
252
467
839
888
75
735
194
144
596
151
420
356
265
209
328
298
253
218
748
153
415
457
649
289
164
544
580
501
556
412
327
219
476
452
382
56
245
516
346
343
338
487
246
702
195
891
388
328
669
407
611
714
203
217
395
599
570
770
558
340
750
607
267
398
198
587
177
281
260
148
408
663
130
245
225
752
775
448
504
616
542
222
382
122
345
655
342
393
204
321
712
68
234
456
740
325
380
392
370
659
377
117
448
750
323
98
490
316
589
615
129
240
326
155
252
81
453
611
526
200
372
135
246
291
222
394
209
497
224
491
65
394
439
567
288
701
162
345
255
488
563
422
481
406
433
376
350
492
353
131
459
423
282
252
258
439
183
604
207
299
341
359
276
135
365
430
541
628
257
332
555
324
201
315
317
317
572
288
532
93
191
625
109
337
264
610
165
520
520
542
377
452
399
485
195
100
590
238
25
170
620
497
160
437
168
339
559
323
480
422
651
433
314
639
205
507
280
382
267
96
441
353
449
440
326
224
323
463
540
299
620
544
276
455
623
529
481
788
448
179
198
235
234
358
307
642
251
353
331
270
208
622
521
405
627
260
42
390
124
331
544
611
612
209
50
142
239
304
465
198
384
227
298
194
192
257
803
144
186
650
419
263
231
417
732
233
582
742
294
622
298
537
268
134
194
41
485
191
112
786
488
61
394
63
183
407
631
531
110
522
460
410
220
346
339
99
668
244
548
493
254
356
316
579
330
586
565
295
410
518
469
438
788
438
168
170
410
635
252
348
229
159
334
434
360
539
225
238
310
335
879
312
751
545
867
643
278
319
53
245
319
258
368
108
757
216
603
242
246
180
488
563
533
71
268
532
337
607
694
424
531
367
739
456
459
646
231
200
350
551
307
663
377
48
217
114
259
366
623
708
206
573
240
229
432
676
459
521
277
326
391
650
346
176
599
567
100
326
559
592
801
313
396
144
510
350
430
510
436
172
387
559
369
104
376
155
646
125
457
671
202
553
336
440
468
508
446
288
530
706
499
198
426
143
466
291
61
554
394
185
237
591
506
64
195
193
452
191
196
171
176
906
621
221
461
225
117
391
299
214
330
339
188
510
136
327
421
491
357
287
440
192
553
555
206
425
680
353
324
460
441
272
253
285
410
694
596
443
683
337
491
258
263
225
134
612
375
258
425
352
488
283
109
510
218
146
558
561
367
304
300
348
182
708
507
214
629
294
160
525
34
518
494
687
266
531
175
390
533
307
29
429
459
813
501
470
131
370
512
245
398
522
353
268
314
73
295
356
414
208
257
590
688
744
103
321
537
489
610
291
336
448
530
405
459
232
148
207
509
253
297
203
306
107
507
536
489
302
270
44
271
192
217
532
234
214
527
460
238
278
250
306
78
669
387
557
436
784
552
351
345
189
404
383
190
540
641
308
291
344
314
128
531
621
308
622
681
625
241
180
299
231
496
214
421
59
771
351
426
853
455
182
93
41
272
508
378
406
323
259
782
263
403
66
771
462
918
341
533
660
195
779
403
403
276
674
294
344
673
794
376
610
559
64
332
320
474
79
539
337
256
790
276
246
280
359
573
580
275
277
393
391
620
391
77
581
414
408
703
695
162
421
77
241
144
590
509
244
374
233
132
188
384
363
480
586
795
589
603
370
688
311
270
75
586
300
527
422
303
519
394
224
566
627
294
134
354
415
400
455
234
401
279
372
553
795
449
26
574
230
444
377
128
230
20
551
746
494
371
724
268
768
338
91
174
528
313
333
161
73
201
469
349
457
162
149
393
153
506
59
384
273
466
721
237
441
398
254
415
517
221
268
322
318
378
348
212
384
273
743
475
158
845
314
356
488
641
130
578
295
621
105
504
171
251
152
594
264
759
299
848
503
498
185
200
240
475
130
449
205
612
217
675
276
162
53
347
54
346
178
481
226
165
293
155
479
316
229
101
496
147
113
240
242
173
355
221
217
467
725
309
288
364
173
344
387
273
357
707
265
185
331
469
716
210
389
300
155
84
77
328
391
834
393
678
253
613
700
336
413
192
547
263
633
400
239
599
699
822
431
187
534
378
250
280
483
99
382
154
210
640
142
328
206
119
162
107
528
77
280
320
278
104
118
169
114
304
245
539
529
373
358
572
556
382
624
452
257
54
92
232
257
409
344
274
448
316
600
270
600
298
614
179
202
252
407
185
424
405
81
506
246
332
530
456
453
16
506
443
263
538
83
265
687
523
504
364
455
461
313
294
789
756
171
331
284
111
496
167
321
363
419
280
589
547
307
647
665
532
558
175
443
914
216
699
528
124
31
335
551
484
632
371
276
320
189
527
56
425
489
337
406
577
581
491
438
494
256
387
331
785
862
621
236
178
538
67
252
624
70
604
313
258
188
739
596
87
91
397
740
605
184
650
361
712
107
217
210
110
306
9
324
702
302
223
277
87
365
431
582
717
425
584
422
51
280
99
510
59
260
333
307
245
657
541
306
219
896
464
456
510
535
174
430
465
309
172
200
294
572
502
611
204
433
473
429
562
148
430
678
233
616
249
454
679
768
370
213
516
213
339
344
322
352
227
148
599
339
136
389
464
126
152
212
166
446
343
445
440
364
302
578
249
452
388
412
495
457
793
714
180
301
793
211
336
91
180
196
238
200
281
477
764
488
348
199
558
189
449
289
368
614
753
253
103
761
305
271
567
86
719
221
482
647
252
92
489
564
274
384
432
522
103
584
201
176
317
246
114
675
655
3
389
374
293
543
175
354
763
182
347
246
315
316
633
212
381
335
68
599
529
146
413
645
120
520
246
409
387
323
418
334
548
84
391
521
191
460
404
209
266
432
461
352
625
381
275
260
369
142
535
194
421
496
639
151
323
668
228
373
572
813
484
617
153
295
418
409
498
356
491
244
199
460
300
311
295
328
137
415
558
744
408
882
155
401
517
325
330
134
145
143
103
271
713
156
587
297
647
522
592
312
86
284
125
797
578
223
540
433
167
461
451
492
292
866
167
598
567
390
463
190
460
259
260
642
259
482
410
245
320
396
285
306
330
393
498
620
371
221
688
492
569
598
717
55
67
124
382
526
304
577
478
57
395
579
228
328
372
38
196
543
222
474
474
457
626
348
488
321
174
248
508
460
334
739
441
176
675
272
495
728
162
295
100
161
555
499
339
464
256
482
302
192
101
193
562
251
313
112
152
278
484
596
595
593
129
165
514
493
431
528
328
254
358
477
328
352
494
284
56
571
326
468
353
486
447
180
425
293
322
422
59
178
175
144
386
420
298
582
426
501
435
285
286
181
717
262
260
149
375
577
188
447
474
350
395
174
61
441
445
299
401
266
415
481
290
375
463
320
475
352
655
596
413
650
396
329
135
363
158
259
529
660
426
363
266
566
720
687
736
359
272
553
449
287
537
391
455
378
427
484
544
278
145
156
94
499
288
401
598
765
258
118
383
258
386
314
591
626
251
304
540
284
561
101
301
422
613
555
393
60
186
613
694
528
8
342
486
35
131
458
849
403
205
128
390
639
538
469
194
140
180
493
323
178
574
3
639
173
300
380
437
349
171
835
227
609
417
263
491
316
235
360
738
108
402
457
227
600
305
351
367
523
552
268
144
255
317
368
179
132
282
126
420
100
456
718
231
573
100
920
278
171
394
453
499
620
361
450
318
456
329
395
382
340
163
316
443
231
136
344
451
480
151
443
434
395
527
763
734
645
285
304
110
312
155
106
889
192
287
516
561
356
461
442
529
531
279
396
89
205
263
249
524
568
336
186
785
269
336
364
567
433
576
474
113
604
364
214
207
239
473
378
355
640
392
270
635
275
234
306
624
498
335
608
537
507
124
133
341
137
335
723
346
407
456
611
250
429
560
523
390
574
583
322
545
551
486
350
443
577
63
264
678
805
416
485
330
488
492
290
286
269
254
573
545
532
462
289
265
499
287
229
486
105
364
280
104
446
65
117
415
540
148
228
411
493
156
784
380
727
327
646
464
238
484
261
287
91
228
356
325
596
254
304
405
353
477
56
308
59
425
176
69
549
475
373
551
674
498
347
261
475
217
440
218
179
531
380
255
184
581
404
107
232
471
428
467
408
176
230
357
241
495
449
745
253
190
416
389
151
154
260
611
494
224
456
568
418
225
406
318
547
318
287
333
289
473
258
334
124
697
422
458
242
179
280
303
809
315
757
372
547
259
435
469
105
275
377
138
409
239
600
302
381
95
144
455
306
198
136
104
684
277
475
236
334
293
285
320
468
427
457
336
613
243
198
396
98
414
198
222
515
653
71
140
177
587
527
388
305
574
421
246
206
622
281
282
200
254
228
594
324
482
164
93
348
610
461
100
478
269
75
714
96
378
541
112
260
282
243
648
755
60
478
378
583
218
278
560
749
252
449
284
323
314
389
846
634
140
715
269
680
565
523
241
364
420
719
487
281
380
330
188
315
466
501
311
292
201
427
504
366
217
211
184
630
384
571
333
99
502
293
285
450
528
586
88
336
246
671
496
272
248
216
212
307
711
203
630
617
515
594
674
249
797
249
705
301
162
158
430
313
85
459
710
58
166
499
49
123
198
398
568
630
474
595
178
292
93
359
458
353
264
336
954
336
313
679
581
287
334
451
300
254
559
339
393
528
231
304
182
386
359
293
614
268
168
285
105
222
20
281
339
244
478
752
826
635
299
627
288
88
714
419
417
163
295
326
559
167
360
379
241
321
357
559
472
282
702
341
426
392
521
126
477
163
163
500
422
171
79
512
565
180
225
537
126
239
460
156
317
450
181
214
573
311
177
223
480
207
422
568
642
521
160
133
741
167
318
377
160
397
214
206
410
110
318
333
259
536
570
211
458
549
440
219
417
320
237
265
426
338
330
338
288
156
358
488
667
374
524
563
661
309
400
79
714
491
175
594
674
421
155
249
614
682
555
460
204
562
406
436
553
866
475
341
564
199
675
386
765
322
322
354
242
322
574
144
359
121
360
268
96
258
348
243
199
515
792
490
486
393
69
583
264
526
422
240
460
282
254
73
650
486
391
485
441
317
629
420
846
453
479
241
131
286
358
459
488
533
636
23
107
228
77
391
107
260
236
420
183
369
391
347
920
732
418
363
409
121
107
193
225
173
458
425
414
361
346
447
48
495
89
329
492
350
369
369
306
734
414
356
661
176
394
488
242
396
260
236
181
286
277
477
189
302
416
168
188
177
458
384
243
339
218
364
425
188
633
233
181
461
314
535
193
555
132
548
823
397
343
548
415
405
464
506
38
277
557
410
341
223
389
545
502
615
489
587
52
486
852
454
439
241
393
503
101
674
321
576
46
247
188
421
589
271
443
630
346
652
214
173
526
293
443
391
70
341
257
468
665
555
72
556
316
538
633
697
321
329
416
109
636
301
328
290
221
245
633
672
172
640
129
252
511
396
144
411
503
387
228
583
418
127
595
214
785
62
56
166
260
762
771
288
399
477
218
184
88
262
184
269
406
338
645
507
397
189
600
490
621
161
343
159
133
565
373
244
282
802
292
194
346
94
293
514
520
202
146
541
76
829
105
560
271
681
499
298
541
173
316
361
647
673
463
367
164
441
242
527
414
556
455
294
331
701
14
282
62
582
175
439
150
600
523
323
259
334
496
167
295
357
403
229
746
201
453
168
438
738
954
530
211
243
103
426
300
329
268
606
300
334
213
463
415
62
350
293
378
118
291
245
543
457
336
321
417
144
364
570
815
632
411
420
596
920
295
241
193
221
17
671
549
607
513
272
642
293
298
521
280
357
383
564
381
214
643
829
181
652
540
219
47
197
258
509
602
305
332
698
155
538
497
91
483
694
49
287
171
238
172
214
399
377
231
180
540
564
465
341
265
110
311
189
159
505
319
226
610
653
74
774
342
676
500
548
419
434
295
390
77
552
256
372
219
235
347
364
124
129
380
278
138
483
324
679
328
806
753
662
334
614
586
504
481
575
261
198
224
537
584
164
605
568
121
718
644
494
367
593
150
354
298
279
167
380
340
276
266
316
422
411
450
543
298
573
69
385
488
718
393
211
40
310
439
331
490
365
500
439
648
257
286
451
614
143
409
366
660
253
105
643
324
502
482
309
602
165
323
204
406
414
331
179
242
187
84
592
199
620
106
346
47
380
240
558
647
320
265
943
33
97
221
159
640
417
326
656
671
173
127
587
279
241
239
42
133
399
379
72
847
641
340
580
364
129
274
614
198
433
283
184
495
197
235
194
346
481
423
261
616
367
204
508
315
487
348
559
408
271
566
203
56
374
177
316
161
480
543
320
316
352
222
259
183
165
478
853
100
163
339
294
558
333
431
359
371
705
39
656
258
637
449
113
240
450
417
383
145
419
286
283
442
427
307
222
342
174
500
519
427
205
70
224
582
262
313
681
291
559
393
638
269
638
392
621
444
228
396
83
338
107
126
297
281
609
295
436
659
633
372
676
243
847
189
598
343
449
227
580
347
202
356
367
748
5
453
156
548
252
548
384
108
421
344
68
251
173
182
240
172
200
583
535
253
280
481
20
93
610
239
294
281
179
472
451
244
342
308
421
283
268
263
483
457
331
520
596
409
39
252
471
670
623
370
417
506
312
25
888
507
519
121
169
560
129
405
227
256
370
95
329
487
653
424
570
422
492
673
324
402
470
495
849
599
289
545
223
565
482
383
793
537
720
813
387
340
565
353
523
376
350
497
601
189
188
489
575
294
543
174
335
102
232
250
402
566
156
344
321
35
336
348
631
204
597
812
477
224
119
251
428
339
549
634
72
401
441
335
174
256
175
475
332
600
443
146
177
521
286
324
449
384
279
377
365
379
345
571
474
335
780
300
285
496
412
608
415
235
568
661
164
700
148
207
340
297
565
365
56
450
598
226
682
625
120
476
448
42
534
534
350
340
144
319
583
499
561
827
536
286
555
390
351
474
321
586
700
196
51
489
369
637
502
153
230
269
367
291
587
366
52
199
450
259
203
95
373
346
472
174
351
97
263
58
253
253
655
393
369
340
146
621
513
218
222
268
389
204
318
512
516
257
635
613
65
399
433
652
541
619
556
262
398
338
423
702
395
422
563
613
604
631
213
421
404
464
328
367
363
525
296
263
179
626
829
197
66
192
650
517
638
366
300
455
330
344
373
333
298
572
470
252
26
356
110
382
153
620
489
557
90
482
400
172
279
156
107
303
605
568
215
332
119
333
309
284
182
674
494
92
659
378
450
672
325
565
484
182
517
550
84
446
238
673
321
415
348
246
699
359
336
457
286
406
588
316
425
162
599
449
231
561
316
275
437
358
346
521
158
570
272
545
608
268
340
285
566
247
539
150
371
263
432
304
297
229
668
76
85
658
639
600
341
382
349
440
144
437
861
442
388
211
475
679
317
275
341
122
408
276
101
370
210
169
720
463
279
369
339
485
385
215
175
208
367
655
120
652
137
420
232
554
774
477
364
155
51
717
731
153
167
275
246
643
473
678
471
509
813
166
124
675
315
120
356
286
683
634
352
361
722
234
765
523
607
362
415
137
341
684
204
414
534
907
183
537
340
319
341
351
340
684
690
498
148
446
124
332
344
368
616
71
441
563
176
70
338
208
421
489
284
160
363
233
271
807
282
573
537
642
470
533
340
851
580
315
634
290
556
441
587
337
314
261
79
906
128
751
106
574
510
666
333
764
762
558
313
323
351
194
426
416
667
656
236
183
560
101
247
686
386
495
296
388
484
355
156
413
368
285
366
378
156
306
359
466
198
409
558
486
489
178
826
246
293
549
226
283
435
484
421
60
421
309
434
703
329
398
359
121
260
640
430
526
379
314
353
347
580
6
293
503
103
622
409
306
505
267
519
350
311
579
366
85
247
283
609
462
719
372
385
521
654
194
180
426
291
476
189
578
518
420
186
256
406
816
277
112
281
265
391
919
162
485
531
318
820
374
203
394
416
267
258
597
619
433
554
112
171
196
240
650
261
516
61
740
345
78
505
314
246
228
292
594
523
359
49
440
266
228
371
468
301
380
200
593
287
772
650
658
667
606
67
631
498
306
379
290
571
364
570
203
165
564
683
519
371
126
390
136
314
778
827
488
336
699
393
243
300
409
282
561
158
161
469
471
135
594
353
620
199
249
459
766
303
122
351
452
343
128
136
611
118
113
337
139
302
381
23
543
344
369
280
486
464
661
274
550
253
379
435
205
491
432
429
356
430
293
313
158
522
663
392
610
854
473
257
343
426
139
505
545
171
340
347
296
180
479
920
796
189
438
520
485
257
456
337
267
113
406
90
127
809
235
336
368
185
466
564
229
465
591
360
405
262
602
532
293
436
349
155
313
466
250
249
188
292
672
335
228
224
219
458
458
355
323
141
315
668
582
196
387
130
289
601
397
316
351
173
674
231
596
424
332
572
373
309
539
50
322
531
652
342
792
286
191
575
438
446
785
695
614
345
603
309
561
337
449
408
638
531
624
304
233
441
199
493
787
489
578
478
265
244
358
394
115
218
393
369
555
390
284
745
325
536
470
326
171
706
537
647
291
139
473
593
182
607
136
549
237
560
370
631
715
148
243
573
311
467
368
225
574
246
198
553
448
395
400
565
442
256
108
233
263
268
245
291
430
58
779
193
148
176
395
690
574
767
252
189
463
236
460
320
543
315
95
601
472
122
294
561
151
150
371
338
145
289
695
279
413
351
342
518
533
494
463
743
430
323
283
488
576
74
369
474
608
93
228
567
485
625
404
230
452
466
505
423
591
690
655
513
382
442
59
208
72
400
378
292
303
158
210
570
168
676
245
332
315
205
767
446
196
386
312
527
145
224
801
353
125
535
596
442
342
90
522
199
525
299
173
486
492
435
259
309
155
407
239
256
577
291
393
517
214
117
433
617
284
413
157
286
762
314
227
507
741
412
556
515
692
355
523
204
391
271
113
460
258
779
579
56
402
789
549
548
127
583
472
363
297
437
124
110
188
306
712
210
367
339
452
432
320
184
115
469
546
584
319
271
645
426
136
537
619
502
587
37
230
885
153
649
247
294
385
220
489
69
307
459
385
346
484
104
289
135
697
181
354
139
490
202
128
731
379
201
289
38
579
343
187
316
245
196
343
232
244
516
267
519
99
469
138
567
587
190
213
617
52
307
138
434
360
707
113
324
197
453
564
339
309
280
95
704
588
547
370
178
465
504
229
391
126
309
220
685
396
433
339
140
556
449
271
430
227
345
551
225
717
311
164
806
179
242
773
348
194
222
120
305
482
258
387
793
519
505
194
239
614
597
104
268
406
501
322
349
684
46
660
282
289
231
715
774
269
137
352
369
217
573
732
288
605
757
523
312
187
366
496
707
268
337
146
322
272
588
358
206
314
55
309
748
714
386
73
222
209
131
216
331
195
538
741
321
639
431
300
312
560
292
318
136
791
219
358
488
611
561
302
218
522
573
429
49
150
329
543
439
493
384
150
587
619
404
315
159
236
223
222
276
180
262
742
142
590
149
440
547
235
305
416
677
583
308
464
263
810
374
774
295
581
386
204
415
260
561
494
581
574
496
682
121
564
472
481
99
435
347
597
482
176
234
269
760
155
250
608
322
500
511
211
370
611
327
753
354
176
312
300
368
29
860
637
647
470
668
320
23
206
263
235
346
728
279
658
387
286
419
531
150
590
358
293
691
405
789
322
289
105
109
822
486
718
337
132
374
667
585
236
379
414
562
238
189
364
663
562
405
504
199
693
544
397
35
355
158
558
489
300
569
553
452
289
100
26
248
421
38
285
116
179
415
363
116
340
569
373
247
334
578
565
621
212
453
86
443
391
605
349
323
485
181
576
549
583
541
406
387
228
268
458
434
330
153
228
177
424
249
370
596
478
613
407
430
334
520
238
647
286
383
497
208
418
362
501
156
755
114
114
197
231
247
140
658
414
352
202
28
485
336
384
565
547
453
203
246
503
329
471
454
395
376
485
574
575
350
343
740
622
523
309
573
447
232
377
138
305
396
314
510
256
188
530
150
340
516
634
778
329
646
281
442
307
478
758
378
116
212
582
91
424
476
143
109
232
762
313
311
741
676
905
259
334
425
661
439
171
357
351
103
574
302
467
372
509
231
602
55
213
80
437
529
322
522
586
507
270
189
369
223
866
265
831
162
542
373
693
376
683
306
438
589
618
636
815
389
439
291
306
400
475
370
553
468
443
652
83
374
358
442
279
374
353
10
498
669
261
356
415
421
364
252
535
474
532
152
644
597
187
300
695
322
468
434
322
542
392
615
438
445
563
554
558
354
492
253
421
186
128
474
308
310
619
764
193
327
586
529
663
403
121
116
636
564
679
335
448
294
584
848
381
457
309
169
229
225
579
226
456
399
222
427
278
524
57
685
715
144
158
257
109
481
238
700
380
937
495
376
329
339
401
231
264
75
303
110
462
761
702
502
175
404
455
301
276
449
150
196
425
153
437
821
334
281
258
288
346
457
267
266
218
366
614
176
665
80
443
193
727
536
848
525
694
715
498
263
579
564
251
415
733
107
281
115
89
381
146
541
255
442
128
277
267
411
655
275
317
64
108
517
474
807
716
350
474
870
239
358
449
304
218
214
122
85
768
355
315
405
641
327
228
149
793
587
317
78
188
656
146
209
428
538
303
430
371
589
327
413
195
587
194
461
333
62
563
213
113
434
422
254
390
211
402
672
431
256
226
808
776
433
437
578
334
778
518
528
399
365
761
585
97
302
169
167
156
492
374
409
204
810
232
472
467
516
577
482
199
220
447
288
880
184
428
228
532
38
108
458
428
538
347
755
438
117
490
587
523
307
182
381
248
590
557
324
529
437
253
789
430
490
30
372
408
632
525
209
630
415
537
269
496
340
703
60
348
795
551
209
553
255
173
494
4
291
251
744
552
381
190
43
88
710
150
899
251
331
535
733
388
259
241
19
643
403
681
351
533
514
60
813
385
406
378
594
320
509
345
465
94
131
381
173
640
666
237
702
212
530
268
491
313
227
490
728
655
369
551
921
452
301
135
212
234
508
360
424
182
309
188
509
482
484
96
367
320
743
222
491
327
238
531
568
405
435
271
455
620
233
250
585
543
175
323
577
579
380
658
655
340
460
596
552
519
281
512
310
526
238
370
141
79
130
230
899
147
334
383
249
327
593
535
214
228
778
733
361
288
593
678
40
181
205
230
289
272
138
482
218
485
220
248
526
370
77
396
279
413
448
437
541
769
655
392
132
324
329
499
138
470
276
274
234
109
449
635
429
243
517
426
542
423
397
226
757
363
371
141
490
260
187
343
291
564
343
359
299
328
269
445
414
226
426
327
80
546
99
195
215
402
394
130
220
747
516
543
545
573
377
13
341
392
722
807
176
309
306
693
193
704
376
298
161
393
262
96
581
178
510
151
628
535
164
318
531
104
577
218
181
76
199
317
791
68
380
553
533
195
245
509
387
356
500
715
123
207
819
585
157
491
138
346
147
180
206
201
88
752
574
602
29
298
794
371
225
344
721
250
603
264
346
299
283
516
332
447
113
469
214
488
367
234
340
518
345
450
585
176
429
171
393
201
130
802
463
457
553
788
429
373
319
346
454
403
773
148
407
174
218
108
432
419
446
215
474
487
74
499
638
63
373
129
465
312
353
265
477
501
618
384
230
90
563
447
585
206
354
581
545
433
40
179
146
417
595
439
601
166
203
374
90
253
425
139
458
541
772
600
438
425
417
342
563
245
317
745
637
223
639
474
273
299
132
320
231
267
262
151
111
341
354
731
455
657
521
811
221
676
170
547
163
208
303
225
727
251
306
390
563
100
647
815
489
404
418
477
248
774
82
213
510
305
352
177
552
439
142
39
250
356
355
91
390
585
255
612
342
553
293
596
605
114
702
94
865
747
674
293
177
269
464
474
297
290
283
330
462
401
447
223
112
177
412
312
647
279
386
225
574
651
577
112
511
734
337
735
772
645
584
734
287
587
282
425
383
322
342
193
265
582
528
785
367
690
374
554
525
110
531
130
446
158
221
203
382
501
323
302
522
545
400
424
108
428
193
84
281
316
466
606
504
291
285
200
351
140
561
31
96
603
595
189
210
662
325
327
447
272
572
168
587
454
282
333
733
531
284
900
498
422
327
233
376
519
232
647
297
205
291
750
323
921
203
236
188
323
528
409
654
175
625
413
177
404
329
272
217
57
316
738
614
222
126
111
622
202
195
296
730
477
572
599
515
228
335
222
302
169
538
422
353
168
256
510
62
258
274
672
510
191
632
550
157
351
121
420
343
629
555
100
728
502
773
144
106
155
390
663
174
386
602
489
288
498
627
608
484
813
168
514
110
427
355
389
491
18
716
325
486
434
311
199
481
578
261
236
370
218
613
439
160
377
620
470
225
362
566
485
167
308
682
764
317
160
594
438
403
658
414
684
639
145
666
525
211
487
392
208
306
254
284
175
378
117
621
247
635
138
304
535
145
238
459
501
556
393
644
149
331
230
147
614
428
332
433
314
74
362
436
97
621
191
617
242
584
451
450
261
337
571
63
350
160
778
237
101
464
489
235
373
555
394
372
620
247
568
371
365
552
121
244
386
834
612
324
318
312
377
304
380
307
449
71
514
310
348
328
198
661
354
826
298
290
487
506
248
70
609
315
640
540
388
109
372
389
634
160
260
193
576
721
697
786
215
324
503
716
546
267
626
146
446
430
648
340
109
367
254
438
300
127
754
66
476
527
237
347
768
430
580
641
525
142
359
293
347
193
420
848
391
424
140
121
296
643
588
238
490
379
341
244
167
688
754
491
135
217
299
291
314
492
351
706
529
301
413
864
359
408
240
496
330
905
160
672
204
544
248
231
272
370
297
556
156
414
140
597
130
214
548
69
299
545
313
279
548
433
385
554
361
410
211
544
365
437
361
433
272
569
733
379
319
358
224
266
346
214
811
283
371
399
523
344
502
492
753
397
279
933
43
182
374
130
386
497
474
247
524
230
157
278
456
848
324
250
399
624
202
342
317
662
149
217
659
304
726
687
391
719
584
129
404
82
265
400
244
484
482
111
566
651
634
421
383
335
560
440
744
60
323
302
472
237
225
669
65
608
252
646
546
438
244
224
452
298
246
379
567
505
576
480
132
199
135
814
267
243
289
577
167
667
336
355
74
654
498
190
525
431
586
63
416
387
437
509
277
317
561
843
471
710
55
375
698
172
417
520
581
185
301
406
493
385
284
528
584
231
532
571
451
251
399
265
332
818
632
502
503
418
518
662
391
520
298
131
452
532
366
355
480
677
509
249
166
507
180
76
700
101
252
209
144
634
219
421
543
340
111
391
440
267
552
580
451
144
152
531
440
584
154
285
226
306
389
215
254
716
642
284
568
303
532
98
164
256
255
123
268
109
81
258
349
482
453
352
592
58
665
697
305
304
408
479
143
370
306
572
504
247
162
330
452
749
446
62
412
282
222
151
437
374
109
90
482
493
774
411
267
663
245
226
680
300
470
331
570
272
22
457
255
432
254
562
328
143
163
189
803
317
333
363
415
257
186
663
328
651
609
352
88
179
296
139
146
614
449
549
382
367
388
522
204
192
267
594
724
580
258
642
490
711
259
307
323
221
290
435
331
680
394
194
438
367
476
273
338
361
472
201
502
195
319
774
86
832
171
370
575
415
251
629
467
375
276
383
107
386
775
268
884
553
221
691
772
106
351
263
481
429
396
13
707
558
295
569
692
639
301
307
347
272
525
413
186
398
530
375
412
597
328
269
364
183
549
440
214
231
516
504
315
520
412
526
182
140
591
236
156
510
549
252
306
279
332
703
436
347
532
343
225
393
622
709
114
398
505
236
311
139
115
175
413
232
476
499
403
335
513
329
119
225
556
123
817
785
258
254
190
536
290
365
223
175
749
347
423
420
750
650
704
156
857
470
334
370
644
385
421
73
369
240
275
88
444
600
364
165
322
174
80
326
65
48
250
223
445
475
710
530
576
299
556
677
413
256
287
383
246
283
387
826
250
419
613
663
481
153
145
105
294
517
413
642
117
216
261
245
370
444
639
321
205
76
426
594
549
596
598
375
186
353
329
272
337
210
318
97
689
208
163
395
248
139
419
562
637
746
506
69
503
114
93
715
524
281
472
534
621
328
148
467
322
620
265
565
787
328
538
636
85
336
435
389
140
282
93
231
121
96
137
516
154
481
104
394
117
175
377
272
541
187
435
278
336
732
564
111
176
165
296
629
360
153
758
773
211
69
295
220
152
222
769
319
584
375
640
480
174
697
260
270
318
442
367
37
278
117
532
495
603
113
420
502
261
197
755
555
490
609
523
341
873
82
562
351
110
172
309
415
706
118
621
357
400
400
408
692
351
348
785
640
437
318
244
584
459
313
150
155
593
221
794
848
722
383
550
370
395
363
116
205
374
317
662
397
190
622
146
613
414
512
508
324
508
139
265
310
167
221
612
476
918
487
256
163
420
727
612
539
158
245
153
530
231
441
227
547
285
280
238
810
496
448
145
240
256
240
574
565
304
482
353
236
386
307
203
321
707
495
956
141
584
844
276
234
601
673
261
376
548
541
332
170
247
425
722
600
158
812
338
524
136
212
500
620
282
817
185
428
629
167
329
388
289
432
346
106
380
394
641
861
327
404
198
535
239
295
198
141
152
44
58
341
220
946
28
244
658
315
567
838
276
770
286
207
78
194
279
620
586
603
344
94
101
425
242
495
359
669
157
325
583
637
208
678
234
320
360
169
369
303
621
287
622
679
458
561
414
148
263
170
546
107
578
326
357
569
282
577
391
156
161
251
746
580
492
238
378
321
128
394
297
332
491
588
361
285
337
214
490
436
167
739
597
516
478
581
188
605
596
242
556
443
391
124
342
249
681
269
623
249
274
765
436
551
488
733
770
372
517
193
74
390
156
260
536
455
150
260
391
416
161
640
647
539
269
269
283
480
360
526
303
579
410
153
238
444
221
412
330
276
258
755
560
529
339
239
104
135
586
125
204
910
148
243
301
147
665
407
516
453
509
389
310
515
304
269
351
281
156
244
606
797
767
676
531
364
169
343
256
362
256
432
403
394
622
191
345
220
652
228
488
163
479
457
194
433
328
545
87
288
184
701
371
145
332
335
686
402
63
236
456
578
616
467
262
163
361
561
369
201
518
511
734
583
651
416
618
21
266
287
441
233
320
173
247
712
304
519
580
278
265
307
572
554
559
578
591
109
387
516
445
138
593
27
289
227
380
264
173
247
91
710
526
382
384
126
321
259
743
163
57
273
358
648
279
43
157
255
378
157
433
780
445
310
679
596
519
420
335
494
407
400
85
618
646
35
430
107
457
349
259
112
376
430
417
643
168
334
382
369
491
563
179
570
674
387
358
685
945
152
227
330
432
158
137
728
268
438
759
409
154
118
99
333
158
611
210
77
571
266
263
330
269
393
322
536
73
551
394
162
247
651
770
174
313
340
510
314
230
469
376
369
209
863
673
340
471
665
142
867
8
325
176
457
609
407
188
227
256
166
560
495
454
546
305
320
384
716
403
114
60
414
348
416
240
240
152
93
366
147
409
681
697
146
814
589
176
532
530
200
256
498
428
159
729
576
414
156
285
523
643
228
190
760
198
622
305
880
274
462
319
166
394
704
105
93
363
390
553
158
356
232
240
715
387
775
633
296
358
602
244
493
315
618
157
508
734
330
420
612
647
390
153
475
297
719
496
937
273
254
384
308
422
255
233
183
407
352
592
409
138
297
195
158
203
11
654
126
464
159
479
262
454
737
425
377
61
465
329
313
304
274
45
862
195
389
301
166
320
457
145
527
370
105
107
360
129
430
363
377
602
252
120
150
70
885
484
40
407
401
584
840
479
736
413
222
186
526
217
175
418
509
622
128
113
694
497
506
411
499
569
316
351
106
375
52
480
439
782
415
267
360
396
218
418
677
677
529
517
208
493
415
443
610
149
477
378
436
362
176
751
350
468
530
644
409
497
323
269
187
274
721
219
615
457
545
248
574
150
600
673
468
591
230
514
277
700
354
576
48
650
723
298
388
440
252
213
487
439
373
165
399
109
368
418
460
710
236
264
49
209
238
186
443
128
625
44
180
239
363
114
108
675
98
351
161
460
267
280
73
565
107
129
297
364
265
260
522
280
388
151
457
496
613
247
736
593
363
880
462
630
509
617
530
156
226
371
662
656
493
366
466
333
488
628
346
205
277
63
356
219
570
98
648
277
286
454
305
534
501
554
605
276
210
549
270
106
573
96
153
245
211
351
349
280
583
240
283
256
697
723
512
160
890
808
225
459
245
541
473
308
269
211
734
577
55
539
565
335
385
187
162
396
494
128
285
229
899
375
398
525
542
385
165
624
529
291
310
759
296
285
278
438
170
226
758
120
409
571
506
729
534
633
497
180
270
339
565
539
648
89
639
367
201
434
635
469
382
425
319
572
449
216
267
368
498
296
667
193
120
661
662
563
181
742
528
785
637
449
336
9
615
508
281
437
205
201
852
639
485
398
576
84
216
518
390
283
641
585
291
431
462
395
604
128
596
71
71
546
275
251
436
406
310
444
324
302
225
475
417
375
165
423
131
550
273
560
142
682
212
228
581
417
450
604
519
385
150
686
195
194
285
112
467
346
337
415
269
497
243
478
575
543
458
197
348
533
699
200
410
124
698
509
90
729
309
123
550
111
342
501
521
632
718
297
441
603
811
108
300
129
398
409
419
492
108
215
348
186
489
326
189
384
72
193
695
404
358
561
111
157
467
276
395
369
72
61
16
460
712
768
583
189
560
715
616
245
370
309
162
569
283
666
226
283
239
210
288
343
557
227
594
336
266
355
511
379
421
116
347
350
213
409
861
237
453
370
596
279
260
95
390
358
523
56
565
476
224
693
476
375
364
551
183
98
724
88
539
447
635
199
795
414
151
322
533
90
261
300
253
568
125
409
263
424
366
717
707
89
641
487
576
459
613
270
218
450
544
693
158
132
508
566
579
721
347
325
113
704
410
342
670
130
207
155
429
254
167
298
363
417
381
323
134
486
196
121
287
361
557
775
661
329
357
256
618
598
189
89
648
678
692
460
598
324
362
410
568
346
759
441
530
883
658
357
532
200
269
189
106
45
306
205
341
534
556
132
374
579
265
351
384
274
320
337
170
79
660
358
88
236
634
491
116
165
162
597
612
620
244
339
280
183
443
433
450
372
497
321
119
258
655
357
596
280
169
761
567
296
314
391
581
436
118
465
566
311
227
792
479
688
288
123
427
682
507
350
367
699
190
241
115
827
269
445
80
160
582
281
413
486
344
330
130
248
651
323
233
423
153
674
250
343
270
120
177
454
147
664
297
437
348
222
408
241
146
628
575
526
641
343
510
649
226
214
400
286
289
488
163
467
624
379
255
168
233
398
618
693
546
311
180
360
588
605
611
596
240
283
75
382
214
714
464
468
578
273
200
117
579
242
161
346
195
517
581
217
644
497
378
260
533
641
523
444
347
135
482
434
756
421
268
375
89
252
147
266
307
99
768
400
292
397
514
264
168
379
206
233
717
491
328
387
662
587
546
656
346
843
373
246
273
407
261
272
422
349
394
219
627
535
318
207
406
288
380
318
708
709
289
652
140
492
324
797
253
329
146
533
29
459
275
118
99
615
323
393
434
636
57
149
160
653
76
298
322
788
448
463
636
944
109
221
115
490
166
671
275
788
132
312
212
318
578
154
428
553
662
682
514
515
408
686
132
244
466
305
584
102
304
356
684
339
41
376
425
395
710
515
54
361
349
311
266
425
343
58
257
43
580
704
511
319
483
427
49
277
261
367
562
658
578
321
80
375
450
350
484
268
338
419
435
485
352
397
230
329
197
523
219
380
447
248
145
183
793
157
188
488
99
118
514
312
434
622
270
319
184
667
261
283
266
682
690
151
19
295
213
504
397
303
501
163
660
694
539
537
208
303
363
430
159
489
542
221
700
139
160
210
231
480
536
434
951
389
397
450
713
375
695
172
224
376
882
409
761
654
216
242
234
383
336
700
262
36
392
694
235
700
672
341
197
584
192
624
552
268
261
701
282
99
280
368
383
307
396
645
576
549
109
236
193
237
587
311
469
200
525
203
274
333
292
836
517
573
405
364
262
109
624
167
475
144
371
523
361
557
262
308
177
358
339
27
223
742
661
200
343
119
686
23
493
577
101
814
143
321
418
207
283
283
216
219
435
523
437
536
589
267
483
602
494
284
524
340
576
97
171
437
127
683
161
245
163
86
268
354
432
270
566
569
909
525
144
212
199
545
139
665
275
547
409
630
727
403
113
642
636
486
456
272
215
430
115
456
358
773
259
531
355
241
353
189
284
814
328
475
285
440
75
645
165
355
313
677
624
661
407
473
376
405
332
176
638
133
554
475
231
304
673
293
249
339
325
669
348
215
225
348
275
349
553
138
376
541
360
556
401
535
213
128
399
388
445
573
259
338
495
97
324
233
368
329
218
211
297
714
500
184
543
706
198
441
262
318
436
196
188
464
285
230
263
228
906
361
467
192
356
513
411
184
736
391
428
224
549
474
281
490
568
115
457
163
298
376
314
539
477
443
566
410
658
258
281
601
470
190
582
209
275
141
411
103
307
568
333
612
905
404
877
115
459
276
307
297
439
494
696
413
65
178
353
137
670
527
123
360
333
302
383
464
558
203
326
157
248
567
558
426
576
575
365
536
319
787
201
168
101
496
299
332
82
350
400
30
409
466
539
543
199
174
799
594
379
375
238
507
156
159
350
649
563
817
160
346
244
339
322
252
405
577
327
318
264
224
319
481
540
200
492
246
319
179
594
288
507
768
697
409
674
182
858
537
347
69
359
410
321
392
625
24
188
719
146
374
294
559
151
264
301
304
470
528
596
155
758
501
142
688
146
406
313
616
90
365
398
219
226
498
459
231
827
421
518
500
67
523
378
302
380
432
218
213
155
330
187
270
368
502
256
499
461
495
418
651
241
345
312
312
439
319
175
296
625
246
30
490
376
64
263
346
628
280
441
590
428
469
789
611
443
263
587
576
730
130
261
668
581
546
499
235
406
682
244
527
286
307
363
492
411
297
531
140
320
308
310
423
340
286
565
752
498
247
565
227
278
430
282
175
101
250
375
100
286
64
293
403
453
187
327
589
125
300
190
242
602
268
674
264
425
433
462
570
213
496
564
695
366
111
575
151
417
299
498
345
259
698
405
273
254
494
350
311
459
924
432
365
324
343
268
497
568
84
218
314
152
546
911
154
243
423
399
226
735
187
425
389
423
611
797
318
430
421
104
676
284
281
827
377
406
129
346
574
218
544
237
233
162
737
297
470
421
340
374
438
147
252
193
419
614
726
589
790
329
238
272
283
448
731
198
454
899
785
514
467
299
302
86
343
154
414
436
264
341
205
450
761
577
361
188
86
140
298
379
585
231
230
289
450
355
402
619
398
466
249
393
444
729
337
489
524
113
214
233
275
320
530
519
420
483
280
181
348
372
551
471
38
295
454
399
99
195
460
158
320
383
567
456
125
259
192
410
284
430
170
673
542
239
516
570
912
536
245
310
751
387
233
678
202
113
289
639
478
262
175
804
123
204
687
111
438
441
133
316
129
215
122
246
440
479
328
355
182
350
124
253
248
331
277
554
356
228
639
362
128
521
349
516
346
243
415
603
428
353
416
236
550
731
186
401
504
325
208
548
270
289
685
556
352
426
548
414
478
416
166
654
198
366
559
539
310
230
347
816
470
510
166
260
205
667
195
325
383
673
428
408
399
529
152
536
574
809
481
414
398
83
677
183
467
539
544
183
142
726
458
293
438
275
262
271
467
475
242
514
472
464
263
377
367
662
751
751
141
387
417
754
274
309
248
418
168
414
243
53
327
310
832
364
108
100
345
46
420
364
644
286
103
558
492
330
121
291
207
438
594
636
494
637
330
400
393
164
181
545
74
349
587
581
120
203
322
257
385
437
368
511
644
385
283
612
430
287
524
181
607
501
774
757
204
515
731
173
307
455
341
372
129
373
340
357
59
278
470
495
266
418
181
69
93
520
605
738
216
244
493
567
495
582
782
592
312
471
415
260
339
304
605
346
233
327
194
356
548
445
146
158
296
107
331
489
610
125
475
82
578
564
180
439
62
529
497
646
343
269
694
280
577
80
335
391
439
630
590
381
485
420
287
611
251
470
540
412
580
630
412
504
296
428
636
368
248
270
469
318
396
321
620
392
548
306
579
323
287
338
611
341
396
302
504
310
767
54
176
867
427
800
718
627
92
709
457
458
734
273
255
327
397
193
290
84
641
342
338
408
290
474
350
159
587
384
270
626
441
427
65
225
580
513
702
108
402
428
492
280
406
313
566
269
473
331
581
334
409
681
299
318
246
137
348
283
448
347
227
155
636
549
316
538
534
729
440
471
318
214
123
70
464
470
13
450
667
254
475
613
248
703
295
365
86
486
590
363
142
342
415
419
396
519
417
455
605
718
498
563
899
300
313
172
361
63
96
560
348
295
113
316
597
486
220
427
213
873
477
785
161
595
289
686
304
629
715
303
226
686
673
68
335
375
390
23
459
163
631
808
476
384
225
449
621
300
354
71
315
241
394
592
669
410
277
722
250
589
595
203
393
464
579
118
266
677
644
576
149
288
237
521
323
117
382
581
415
593
155
307
384
566
99
281
281
483
362
583
311
228
423
528
129
344
291
336
312
345
263
777
422
178
536
690
566
178
122
403
267
252
308
635
266
580
505
79
141
447
184
771
552
143
323
942
360
188
570
362
214
460
140
597
295
390
757
386
272
359
214
398
479
289
622
232
298
630
85
171
250
574
324
645
339
367
649
228
613
751
721
650
274
181
591
329
402
404
559
577
398
368
440
265
675
479
599
345
577
312
321
471
433
317
146
70
149
111
320
273
560
208
565
365
414
321
656
462
297
616
120
176
561
617
259
324
666
179
618
327
518
204
504
535
112
469
277
878
49
558
175
202
446
121
670
479
408
591
193
280
337
448
613
462
85
287
306
391
344
174
176
263
300
104
249
193
487
670
407
204
531
144
567
459
566
345
463
334
222
544
527
534
537
486
282
824
196
351
439
278
341
349
373
349
446
221
642
357
375
429
311
207
265
354
557
519
416
624
355
156
676
555
769
289
631
225
561
547
218
600
170
614
504
582
459
499
351
407
331
526
474
485
575
211
304
459
369
404
332
449
236
289
200
490
217
700
235
434
437
647
676
407
492
568
471
44
699
277
655
173
340
130
174
281
459
651
75
587
57
165
657
276
255
302
188
530
713
237
607
168
497
780
254
149
39
572
195
413
98
534
656
391
725
454
94
348
395
345
393
418
384
389
493
236
356
639
478
371
315
457
441
479
165
34
166
358
49
360
290
228
517
385
525
652
428
469
105
540
404
167
779
338
365
543
107
251
166
308
641
239
880
293
32
256
124
563
239
427
251
470
570
403
514
340
367
747
358
258
465
756
410
129
555
268
150
625
215
351
296
169
191
385
186
279
584
544
645
306
362
780
407
174
241
337
150
91
331
213
582
131
275
499
305
550
172
411
359
798
111
205
794
617
452
110
497
626
373
316
602
259
648
519
426
610
242
119
224
243
579
216
762
374
609
605
480
202
229
174
803
511
439
309
385
746
574
848
240
311
234
128
416
381
603
475
78
209
633
387
405
408
508
682
180
574
592
185
551
488
441
154
380
164
225
320
561
679
232
539
377
279
603
394
606
453
205
777
124
257
497
291
460
411
329
828
174
698
221
79
530
365
231
323
417
112
64
201
764
538
750
573
238
406
764
176
233
220
459
564
292
577
569
635
176
543
223
660
264
695
373
144
427
134
268
411
238
570
276
374
491
483
456
162
500
423
699
213
273
175
699
169
533
530
460
478
388
221
565
116
314
330
282
373
311
368
175
775
125
175
301
351
406
170
266
838
525
294
451
247
290
119
625
235
615
406
592
305
488
790
131
208
184
147
296
398
306
201
122
569
351
163
742
753
327
65
528
242
575
81
515
245
179
208
444
232
480
317
334
810
281
691
418
235
131
670
744
437
955
343
279
217
373
261
323
545
289
470
316
308
378
220
540
945
696
288
449
341
290
545
332
425
468
147
210
324
287
790
786
70
438
179
395
427
804
506
333
409
835
317
648
240
584
451
179
305
452
268
100
381
371
516
330
161
635
284
471
534
404
655
325
374
552
533
307
527
151
456
304
356
407
533
365
393
372
504
693
416
198
294
307
449
152
507
187
381
356
231
295
361
125
386
139
405
324
479
518
357
352
135
184
648
214
570
320
361
244
387
452
117
201
403
337
663
106
162
502
353
570
571
934
342
384
694
294
296
314
256
351
471
660
599
259
320
548
671
199
244
183
279
519
465
391
438
664
446
558
285
251
313
248
159
133
568
115
134
578
547
284
635
215
544
618
298
187
64
594
259
529
330
542
333
486
620
63
259
304
172
564
342
572
184
469
320
58
774
48
147
441
196
139
405
298
594
377
506
58
637
327
438
277
641
772
136
312
649
914
632
319
75
353
265
470
412
547
567
587
399
535
635
833
370
325
106
261
483
314
254
384
332
633
307
179
166
401
752
358
419
452
564
665
86
333
282
94
403
479
214
372
144
303
115
211
661
303
361
251
446
661
540
399
434
173
439
802
305
227
197
642
390
258
498
385
428
423
404
232
774
760
191
97
264
135
217
739
401
236
321
472
426
593
461
392
600
776
106
144
320
214
341
537
389
557
450
440
513
376
181
434
427
251
321
106
312
205
231
157
740
442
138
345
205
278
393
357
527
114
451
317
360
346
308
325
506
442
385
656
251
266
183
529
421
366
319
161
265
145
320
236
270
283
531
148
718
375
369
537
251
582
379
558
59
460
463
450
748
507
181
264
454
304
480
466
304
318
507
421
496
429
645
305
425
282
370
459
320
525
513
793
96
107
456
678
592
187
305
134
641
174
257
267
55
395
298
374
258
685
587
128
144
208
183
656
548
93
574
392
273
223
323
355
382
555
77
245
168
220
466
327
595
258
47
578
314
159
269
664
487
312
749
386
293
427
657
158
262
155
553
263
141
633
421
194
468
136
332
704
527
427
583
423
261
308
299
202
239
386
269
151
374
469
519
154
225
412
444
812
405
525
485
250
83
513
659
602
575
772
186
294
586
638
332
322
465
164
187
566
397
830
376
412
130
43
60
599
436
298
182
397
201
223
111
433
669
323
143
652
606
272
428
462
664
392
519
489
514
739
631
410
145
233
405
589
481
222
578
568
443
477
285
275
562
708
467
267
461
131
616
610
380
484
744
549
353
301
825
886
420
353
335
500
224
485
749
624
46
429
428
157
539
670
111
288
87
198
229
146
230
612
393
425
85
41
559
178
489
439
612
479
337
400
658
234
531
546
377
418
270
217
442
529
311
245
196
467
288
587
51
246
247
442
629
734
307
267
303
106
674
318
560
460
26
317
492
329
373
175
215
597
478
321
416
700
429
491
119
538
779
595
296
298
291
220
274
318
608
225
279
752
432
353
659
712
328
380
611
414
367
219
539
467
279
698
165
219
233
107
305
707
223
489
147
176
391
58
485
639
235
150
185
232
309
496
548
359
653
108
556
640
134
513
452
368
555
181
167
510
109
364
379
556
470
322
191
108
758
177
65
334
667
372
532
355
456
367
481
620
46
217
427
131
299
371
187
330
233
642
177
254
510
576
487
397
502
293
258
513
354
311
487
673
405
71
206
530
442
170
123
509
460
655
426
610
259
332
474
201
637
209
457
93
358
532
519
722
181
553
403
352
483
453
388
727
708
697
219
775
400
222
799
183
139
393
474
483
517
334
553
125
325
336
564
319
246
346
282
339
338
186
365
314
260
136
534
58
353
240
439
601
157
658
248
433
582
327
203
238
578
320
553
471
214
543
390
231
217
553
85
211
263
578
599
77
460
474
270
63
266
117
61
400
582
129
631
274
86
404
162
407
359
362
723
566
150
630
302
127
344
161
140
683
244
195
691
505
429
196
409
543
730
262
357
231
380
884
387
143
531
396
256
543
558
397
621
522
57
279
265
553
571
180
374
715
528
532
221
622
417
444
199
412
389
160
347
621
428
642
665
158
495
639
429
84
210
794
155
372
292
622
345
352
23
292
234
417
528
208
108
282
427
277
61
494
204
672
240
539
141
151
321
391
345
514
385
404
534
439
373
189
180
169
149
416
380
51
351
382
792
705
548
46
438
387
143
304
474
254
206
183
257
349
251
150
353
388
55
55
475
219
181
196
481
334
414
718
430
721
151
68
168
129
550
341
292
192
530
370
213
486
295
694
379
328
186
430
464
271
610
402
350
110
642
563
501
181
261
285
385
594
211
451
641
765
392
437
504
581
456
555
218
339
292
392
342
36
142
284
305
397
376
248
283
365
711
472
575
305
66
482
472
536
352
153
414
304
199
520
556
106
861
610
323
215
106
454
178
335
599
486
250
321
416
521
607
396
393
345
419
278
57
512
360
163
198
569
823
125
410
312
401
478
472
203
338
492
347
566
592
681
611
216
534
603
698
698
102
254
109
245
787
109
633
121
574
317
489
804
550
147
257
298
400
128
54
409
239
212
346
180
538
307
460
586
110
423
271
755
155
463
122
311
212
470
333
591
384
221
235
55
405
682
196
649
533
136
117
252
820
458
209
480
214
333
946
393
213
170
178
175
645
310
282
176
477
484
284
565
330
282
690
307
242
335
780
342
263
880
85
304
245
220
381
370
137
687
282
571
495
488
438
507
563
610
397
399
202
268
241
365
166
502
480
629
426
320
164
502
601
569
120
328
130
352
696
110
302
345
534
350
420
356
388
347
221
190
652
617
667
759
184
729
328
376
384
458
657
121
481
529
922
185
541
518
387
263
182
580
528
503
394
560
187
260
524
501
151
358
602
187
379
177
453
714
462
831
161
399
570
49
194
341
416
408
410
400
158
553
771
436
817
486
601
348
337
181
357
262
523
146
221
290
307
325
603
548
491
166
99
429
496
375
437
506
397
167
531
433
451
511
495
292
502
198
54
299
292
170
129
509
660
179
164
234
550
733
593
373
380
251
250
71
270
495
520
780
253
644
659
364
421
446
151
236
413
343
182
91
293
444
723
17
560
561
331
261
500
313
189
235
458
74
455
600
270
361
421
465
129
309
672
514
194
470
58
572
693
180
611
294
322
410
114
619
756
167
79
800
139
510
497
622
487
432
396
147
485
218
516
486
288
371
400
542
632
495
553
153
436
494
593
655
411
336
453
205
501
336
490
256
332
368
485
762
189
502
441
375
176
293
214
198
204
259
388
683
91
702
174
358
105
562
384
319
304
534
614
586
258
827
417
232
132
555
550
369
167
531
469
275
237
342
502
371
294
258
152
460
189
76
581
324
161
148
574
180
276
48
558
385
295
407
639
548
390
106
574
374
188
283
301
505
345
286
198
305
586
432
285
173
307
565
261
363
329
433
491
530
640
474
227
375
712
287
506
634
824
151
430
738
633
222
505
720
154
543
376
649
690
461
126
714
326
411
168
98
892
178
374
219
809
341
577
176
713
294
319
688
226
549
621
615
577
36
84
628
294
357
596
125
100
331
457
134
575
551
593
413
103
199
445
423
683
482
132
653
298
856
287
332
189
704
590
348
159
507
504
400
292
469
322
622
258
38
167
76
457
457
262
416
271
445
514
306
187
459
238
404
79
213
233
586
911
575
148
344
184
721
119
241
490
612
304
769
711
329
218
674
112
564
224
491
110
561
203
529
560
430
274
390
528
638
491
291
429
190
422
680
328
249
338
628
387
159
542
118
597
826
654
343
360
767
656
452
397
175
638
277
437
358
313
763
380
227
279
75
367
347
553
249
612
232
157
273
478
142
572
429
619
513
570
687
760
106
598
262
90
161
768
290
519
605
734
210
594
184
141
576
429
480
390
212
491
356
225
460
386
410
316
724
341
362
154
730
190
679
566
304
408
426
650
352
88
251
459
251
504
492
258
154
284
33
561
285
363
146
725
429
713
421
425
665
236
342
179
177
254
394
800
96
221
363
281
108
103
235
745
76
771
287
556
224
247
150
592
245
374
602
389
480
218
90
618
312
525
924
143
352
344
349
719
289
365
430
101
36
368
261
206
77
208
922
483
186
521
286
342
519
608
533
491
259
440
240
99
479
458
250
386
569
379
104
503
61
326
541
127
685
528
455
441
33
549
286
535
336
436
585
110
877
327
442
468
180
294
416
411
499
539
414
323
466
493
347
225
528
298
28
347
219
261
179
326
305
676
346
552
299
392
458
233
173
261
183
607
353
653
256
638
281
355
20
325
410
227
370
275
667
457
284
367
580
177
497
393
342
345
485
261
499
499
389
317
125
255
836
268
477
564
121
424
564
315
269
132
508
434
542
258
467
223
588
524
246
162
652
395
327
445
706
60
437
611
801
320
523
597
253
671
203
404
337
136
525
192
392
574
387
173
314
244
334
475
474
173
580
461
294
245
367
287
553
579
742
289
152
23
56
342
430
123
253
447
238
679
317
689
401
573
79
186
667
143
181
476
741
401
529
427
596
294
314
125
31
466
359
287
420
503
586
181
220
131
501
200
273
740
304
532
509
450
551
292
705
223
395
448
520
62
151
333
759
472
765
117
370
480
370
524
461
406
247
327
198
326
414
121
422
107
178
237
387
178
502
134
348
222
521
564
504
453
426
198
201
280
130
604
457
377
165
409
321
27
754
628
884
530
147
424
463
408
424
284
801
634
327
344
531
287
210
426
356
126
315
214
88
286
329
145
523
467
133
192
130
370
207
760
411
607
194
517
212
165
144
273
180
329
729
881
649
385
250
448
508
455
470
725
152
524
309
388
382
186
185
572
325
406
273
53
495
299
527
350
608
724
455
376
555
573
108
91
648
113
235
496
304
606
687
627
379
430
435
365
240
301
474
349
735
528
233
359
483
332
478
558
329
471
406
208
570
792
302
292
139
475
643
578
455
735
303
213
354
240
670
576
426
468
226
319
103
507
402
591
306
595
100
355
281
396
479
37
9
574
559
413
446
375
280
45
367
474
204
158
691
473
546
257
340
337
538
185
568
715
527
271
545
468
737
216
619
274
665
484
270
610
472
446
165
656
255
533
540
56
238
558
401
177
244
419
519
342
448
209
243
463
465
503
545
122
307
527
451
448
518
585
243
96
372
498
431
284
244
384
162
518
115
305
482
293
401
413
554
238
138
270
395
331
518
299
251
384
465
370
575
184
202
327
247
573
235
506
246
901
532
277
501
625
110
573
202
345
199
366
503
405
464
437
660
259
785
423
505
316
704
208
612
304
221
227
667
472
498
118
149
860
271
334
704
599
518
678
465
263
734
172
412
284
319
119
499
598
211
308
247
112
258
200
340
705
250
243
374
524
224
359
531
511
564
238
130
305
700
215
590
328
307
416
107
226
302
444
577
375
405
322
164
346
404
711
751
481
506
494
840
357
613
304
360
652
498
691
534
762
214
565
166
107
711
698
412
125
344
321
508
266
719
107
85
250
353
760
471
529
405
255
584
578
200
172
249
459
161
564
448
205
415
150
599
204
617
281
240
557
571
284
354
267
460
230
542
297
244
334
583
374
100
378
392
224
678
550
388
258
494
521
217
698
541
336
109
532
276
220
767
529
739
56
304
62
657
147
209
216
520
327
463
380
530
140
459
403
458
347
257
689
658
634
178
340
430
514
145
596
232
675
282
103
433
456
409
557
510
32
298
384
529
320
371
161
498
536
358
230
340
367
245
136
454
896
314
377
323
375
328
171
228
447
590
526
193
49
254
184
420
99
305
174
379
412
647
402
320
673
237
115
238
194
445
204
292
195
204
227
441
398
206
706
331
556
503
246
358
148
300
325
450
239
133
318
483
733
101
658
405
185
640
610
503
226
552
479
541
387
164
325
181
75
202
605
283
337
176
145
391
406
592
311
637
851
828
356
570
567
256
499
819
226
441
241
495
523
181
54
389
278
551
221
390
503
213
475
376
189
445
767
555
491
858
37
186
285
219
488
26
560
643
419
549
746
173
349
103
565
146
231
191
312
389
437
187
411
824
212
226
437
65
298
150
559
639
382
39
268
66
313
505
232
556
421
494
262
245
294
73
104
113
28
446
10
324
529
680
102
523
302
556
418
452
605
315
441
218
396
296
213
174
449
301
441
273
374
675
588
515
318
202
238
737
192
499
410
117
557
436
197
197
364
424
560
132
455
250
537
508
351
194
259
417
248
528
146
390
175
801
587
419
517
587
484
240
184
544
340
288
578
158
636
483
181
239
401
367
255
266
507
557
252
259
20
233
590
437
615
307
519
194
565
676
416
195
184
144
502
341
175
286
333
191
610
534
313
179
189
433
440
360
383
320
492
544
583
544
550
598
245
499
316
461
199
263
229
473
107
253
357
338
557
551
424
317
631
438
467
468
302
451
492
646
806
266
472
187
434
662
398
238
394
374
409
568
325
350
358
219
404
336
430
213
511
209
566
182
247
205
636
221
551
303
650
662
723
590
268
308
307
613
387
616
677
691
82
673
163
530
263
476
511
481
508
277
113
354
502
666
521
580
764
299
329
648
601
466
441
605
261
139
261
328
527
349
517
327
273
283
128
400
433
520
63
446
97
162
442
256
147
574
336
211
206
595
393
107
464
396
725
365
310
828
713
231
433
282
479
321
556
486
291
498
507
134
522
307
550
431
92
559
342
424
600
223
407
588
433
93
235
150
181
593
304
61
576
23
80
530
472
599
291
408
479
83
87
190
472
211
95
298
146
352
388
618
359
497
573
315
132
582
295
249
178
812
693
192
381
413
317
270
132
690
296
200
274
250
607
589
249
439
560
465
30
603
335
513
455
472
579
245
148
670
354
274
730
481
527
350
565
105
618
657
404
599
252
520
589
76
123
769
175
348
607
537
388
734
171
512
505
430
448
333
253
143
451
401
330
484
256
460
261
280
747
245
685
330
829
402
208
155
606
633
469
283
585
207
185
756
577
768
217
357
431
584
370
624
461
343
624
386
433
92
479
447
167
369
748
547
149
133
634
393
339
44
400
490
439
372
488
172
447
359
566
611
162
526
540
465
659
193
426
458
39
585
348
444
483
439
194
340
461
236
233
536
360
302
451
514
425
225
367
494
488
257
721
437
190
579
235
772
343
575
337
565
482
58
735
668
299
440
377
554
132
310
375
585
169
613
327
132
233
296
205
492
261
231
502
354
334
316
360
389
64
389
573
199
650
248
516
383
207
250
147
86
475
189
709
624
107
176
325
219
385
517
110
510
369
136
285
346
235
417
141
492
221
177
409
188
157
645
300
78
260
162
410
139
628
191
517
411
355
325
750
70
527
387
379
423
379
648
533
259
124
182
861
648
476
256
127
524
325
661
537
405
194
403
78
560
573
471
70
366
715
322
305
588
629
500
297
527
326
320
358
212
327
289
336
448
382
460
764
646
814
198
86
346
152
227
132
253
439
337
288
481
185
356
434
48
662
260
219
348
573
49
531
131
149
906
439
210
422
272
225
334
342
141
561
328
727
682
394
610
454
468
725
396
363
166
449
443
585
264
503
541
495
608
334
241
320
495
356
175
118
188
123
90
595
111
366
167
107
439
411
560
288
152
193
154
511
104
506
61
594
230
477
275
106
590
408
427
629
379
184
229
159
381
279
204
457
536
103
229
413
448
172
379
356
107
396
583
485
214
452
357
458
527
166
463
341
682
359
123
533
585
496
263
114
715
417
400
522
350
236
335
328
614
188
346
283
882
533
536
559
255
649
324
721
539
229
42
541
750
717
761
816
254
450
66
561
446
799
466
333
812
516
233
50
116
35
396
174
756
621
393
260
636
150
561
648
193
18
501
545
326
472
192
219
290
513
419
42
438
636
520
325
543
93
243
395
138
222
783
366
325
429
355
266
383
321
249
219
273
368
78
549
309
315
210
308
460
617
511
344
505
369
328
269
289
247
553
460
235
478
113
547
531
255
386
703
261
422
415
440
96
756
101
13
155
679
784
648
281
256
538
214
156
388
607
404
721
128
220
435
717
152
483
93
400
549
490
158
349
183
467
328
102
408
670
333
395
287
579
97
83
245
558
641
116
155
347
295
201
913
105
351
723
523
260
205
644
226
147
705
182
430
376
391
322
578
344
455
147
423
147
680
461
648
136
714
208
337
409
306
382
191
648
632
470
399
328
496
707
654
561
504
311
60
92
180
389
211
198
408
222
598
430
58
97
343
244
565
398
119
150
301
256
308
329
405
90
587
485
706
244
485
507
335
382
429
363
420
397
216
330
556
637
698
407
250
168
325
253
305
779
368
140
410
879
614
470
724
301
192
619
297
405
232
484
465
494
643
483
40
387
277
241
507
459
667
315
477
591
601
388
365
532
168
44
374
336
418
492
567
66
677
262
725
576
615
613
419
656
439
471
202
429
373
246
598
489
156
522
540
160
528
372
192
617
642
341
453
456
383
104
336
249
407
581
386
284
456
598
245
723
233
93
25
400
290
543
362
326
488
128
458
506
347
723
914
242
500
557
339
744
377
619
478
222
538
421
586
206
82
328
179
723
426
319
172
231
542
462
541
827
591
131
552
597
135
372
465
227
472
450
558
164
718
646
95
577
195
479
350
164
168
862
678
327
301
517
541
309
189
345
334
272
541
103
564
205
515
237
720
233
640
173
552
339
350
872
230
198
273
240
309
624
231
375
82
272
431
552
608
359
483
258
806
575
441
324
451
307
147
163
295
701
451
553
334
199
637
610
390
338
183
457
506
172
271
665
495
327
753
343
23
269
268
398
375
122
406
306
921
178
573
456
581
282
225
188
345
316
504
124
415
294
231
62
432
218
371
575
375
329
657
395
607
430
446
483
620
526
407
73
69
77
213
851
284
178
383
166
200
470
214
363
365
577
409
708
553
231
296
442
422
561
387
561
269
291
272
409
720
48
391
154
580
394
858
284
781
324
459
331
400
303
523
600
133
518
502
454
201
72
550
150
331
354
553
538
404
642
373
544
388
579
91
516
449
233
89
86
194
55
759
86
323
419
310
538
393
219
787
225
880
769
456
332
719
495
175
292
550
596
363
707
402
239
174
498
428
304
773
305
106
689
142
224
412
496
330
517
441
614
648
331
271
296
284
378
417
617
507
284
238
466
428
353
397
384
405
346
423
623
468
158
106
174
570
378
124
221
345
242
593
714
129
808
692
353
196
518
603
578
282
413
664
340
531
442
542
428
472
341
103
153
703
101
573
539
202
704
393
538
134
345
201
635
536
574
29
205
352
146
75
413
529
83
266
465
398
362
181
553
578
309
725
331
115
423
108
149
293
324
65
389
218
303
612
139
133
360
558
388
633
443
722
818
127
374
386
166
631
387
288
112
413
418
702
329
585
615
353
336
414
190
506
633
419
511
815
109
239
83
603
224
138
634
203
681
389
460
737
186
679
342
434
326
484
386
513
303
552
370
424
186
772
327
411
701
556
201
454
58
630
46
560
291
324
356
196
86
254
539
617
524
360
165
553
606
186
587
509
271
803
519
381
235
612
335
651
206
498
521
123
417
145
678
266
351
370
162
614
365
188
185
426
434
639
404
253
535
469
583
77
699
352
267
473
104
138
445
536
643
660
612
213
607
564
585
514
390
459
545
74
12
264
384
276
305
293
236
391
86
202
395
312
367
387
361
567
444
487
181
362
430
270
594
85
544
244
557
699
655
401
242
431
261
239
439
340
123
253
170
435
144
446
157
914
371
416
222
515
271
540
244
551
396
230
43
295
248
733
295
147
260
302
80
324
465
140
473
430
209
757
815
434
346
696
375
248
223
805
293
458
529
454
259
512
395
313
180
529
674
184
218
621
247
183
380
448
224
110
229
200
387
473
208
410
289
309
165
323
316
225
579
115
608
221
158
401
354
194
367
751
304
555
320
75
436
252
827
115
346
450
820
444
209
380
463
101
768
362
763
435
249
304
138
423
362
472
278
543
566
375
266
541
619
625
146
177
291
351
86
663
222
566
364
117
622
239
230
420
49
569
216
196
262
528
363
276
159
648
193
886
344
122
441
303
67
338
322
439
470
475
514
334
110
322
311
715
469
586
723
270
136
396
374
437
95
273
169
512
238
577
696
384
534
296
790
259
320
489
426
244
785
719
714
702
189
323
432
140
810
287
424
280
942
267
143
448
178
662
390
137
583
614
63
594
308
370
341
508
578
492
535
663
108
267
532
264
670
331
299
478
177
197
480
453
539
630
418
383
326
218
445
428
216
193
137
279
332
824
371
190
643
234
200
656
378
290
471
280
588
342
330
343
329
70
368
224
85
672
565
516
262
327
282
195
248
518
398
204
231
117
591
464
181
213
442
501
467
341
403
791
339
926
720
625
349
99
18
449
314
444
303
230
539
387
220
749
425
442
220
161
462
404
119
265
341
723
551
205
510
607
351
203
636
327
591
526
126
226
254
621
306
696
442
322
339
826
238
406
335
220
342
733
462
469
402
276
479
855
450
262
253
289
646
184
151
185
503
527
331
117
520
315
742
815
768
329
299
522
588
490
104
559
415
144
595
548
556
403
277
30
577
431
526
550
687
447
132
433
655
591
302
545
427
483
354
170
244
447
341
370
375
247
646
312
544
107
311
106
223
214
245
132
398
306
886
59
755
149
475
340
542
238
757
330
616
131
415
287
675
9
156
287
190
702
149
763
70
83
145
348
322
367
460
695
358
166
594
222
92
190
695
399
517
225
326
142
230
237
551
392
217
639
375
159
401
476
328
686
398
472
521
826
421
301
429
109
609
319
407
316
406
470
503
643
458
182
385
328
788
377
659
257
420
325
39
235
710
61
475
873
567
347
354
722
323
188
294
328
312
524
334
223
421
507
661
538
353
663
251
211
364
579
234
248
163
257
646
511
386
144
508
281
276
62
210
351
506
251
565
284
198
589
439
291
442
75
422
234
131
159
229
149
270
318
445
639
180
595
733
408
250
423
519
343
475
674
324
248
597
188
502
720
406
337
260
86
485
298
765
253
543
579
289
295
392
405
110
402
138
300
856
245
408
786
419
184
251
124
98
230
257
166
248
138
257
697
270
417
465
548
567
314
181
305
78
578
200
464
378
565
676
716
246
128
385
339
525
167
554
232
57
348
401
170
552
659
191
580
221
537
361
199
140
337
202
650
168
156
193
533
225
474
203
707
488
396
515
156
215
491
385
193
393
239
92
85
651
356
342
165
771
473
144
179
165
142
340
459
538
292
241
316
629
617
407
726
280
537
524
241
387
312
452
360
702
591
231
167
107
558
321
289
477
97
58
309
304
174
354
439
488
203
272
151
330
516
724
264
166
532
760
69
241
660
305
593
562
531
548
282
228
648
221
113
483
496
768
198
335
458
531
338
191
305
398
432
319
290
350
540
668
331
389
498
157
682
624
92
493
455
335
543
481
282
506
226
756
429
280
325
395
343
812
559
429
375
395
100
320
598
622
392
579
30
454
553
355
207
500
272
198
294
276
440
548
482
171
390
228
65
262
121
159
596
512
276
191
519
256
289
226
203
166
215
711
266
239
260
414
774
347
196
140
443
283
183
281
354
473
500
540
220
415
424
554
381
193
388
315
295
516
506
246
105
434
237
163
510
174
296
350
842
528
395
839
341
769
586
645
132
300
613
313
567
246
104
357
310
454
515
260
186
381
427
581
714
442
498
695
250
347
427
588
256
398
526
660
520
565
390
410
315
625
454
203
320
537
451
197
479
540
672
439
308
278
288
463
529
484
432
37
75
582
536
674
374
325
327
187
446
365
273
348
438
96
400
516
326
590
103
284
457
281
285
663
455
548
328
752
147
135
696
149
683
641
386
472
206
69
320
245
143
610
199
652
445
104
66
397
329
171
457
511
559
93
556
708
358
240
567
298
317
331
397
362
408
575
901
615
279
448
438
177
598
159
294
61
188
679
533
134
303
499
252
441
328
155
323
787
568
654
383
251
576
639
592
328
226
567
159
450
172
209
292
561
145
167
912
827
696
545
550
427
566
262
580
200
590
493
104
826
239
240
335
70
534
328
225
564
105
395
424
194
339
519
681
353
393
804
595
619
533
466
444
70
193
598
203
700
519
509
610
239
212
390
322
302
568
906
248
454
332
191
329
483
702
543
324
276
215
118
196
111
259
641
203
509
293
348
689
354
185
241
227
767
426
215
242
780
322
229
182
375
521
334
502
329
651
664
344
456
555
615
357
777
437
562
556
195
403
534
232
147
120
561
336
531
593
191
255
450
505
600
693
446
82
71
313
669
144
239
642
348
482
200
509
463
521
463
119
303
288
252
460
110
119
212
530
324
573
414
649
374
678
325
234
562
741
285
436
289
183
216
376
857
382
445
571
45
111
495
285
117
717
219
227
146
12
351
274
333
235
685
471
298
394
351
312
28
516
505
457
305
150
178
148
84
382
263
594
770
430
613
651
466
262
534
213
539
508
136
575
447
56
267
566
377
330
518
174
535
563
399
404
721
585
568
294
258
295
832
357
561
257
310
434
105
712
211
349
142
113
145
308
790
152
574
149
481
116
378
341
177
729
296
225
362
288
643
701
363
327
908
613
360
335
390
374
268
776
256
830
432
502
479
368
394
691
585
192
201
203
217
520
552
576
147
646
656
170
360
328
121
684
399
411
445
216
703
782
480
410
62
670
345
332
103
129
702
566
245
537
542
684
442
243
120
401
728
375
357
767
201
688
364
524
219
185
96
593
633
487
225
425
223
448
232
443
340
660
448
259
564
386
137
538
243
406
100
277
631
515
602
359
228
746
636
533
864
426
605
335
457
325
689
243
218
241
668
212
180
301
266
295
437
415
894
437
69
433
304
130
416
361
45
859
334
490
562
820
162
277
284
172
330
158
702
453
915
204
529
736
566
502
753
252
416
729
177
332
120
519
242
475
198
395
273
376
429
477
390
530
348
417
439
320
715
198
104
289
588
617
251
311
742
356
404
486
568
343
251
535
494
560
273
609
831
570
395
683
149
236
550
634
244
142
600
114
186
416
513
660
417
843
567
556
362
328
436
596
405
635
375
202
527
277
189
649
198
715
623
764
371
208
566
352
483
91
412
411
242
430
351
123
484
430
366
305
403
87
898
494
478
175
401
495
67
54
321
496
816
579
344
159
451
680
396
88
525
577
666
113
502
146
262
349
639
324
240
525
204
195
156
452
474
306
334
382
710
521
802
466
300
406
266
384
108
557
388
594
321
599
308
289
316
532
218
468
84
829
413
428
299
205
333
427
461
480
290
387
363
547
619
471
86
128
110
137
580
363
107
382
376
315
371
308
767
85
366
88
511
378
346
259
785
643
333
298
50
673
511
182
434
186
271
338
603
523
612
517
208
537
409
316
337
700
204
330
302
191
235
325
593
163
540
396
286
276
95
498
313
167
324
496
577
405
307
710
404
378
217
349
778
465
383
676
437
471
338
638
192
205
348
294
502
459
353
560
361
604
229
762
261
832
583
679
256
63
731
101
574
630
565
48
522
200
275
186
232
314
336
235
481
134
568
151
385
556
915
45
421
544
556
144
575
374
156
788
318
253
269
83
79
197
466
214
539
312
62
488
283
505
487
93
526
521
699
534
351
92
260
267
353
657
511
300
754
217
898
232
556
341
515
120
449
307
165
252
87
234
423
354
125
785
490
459
697
383
504
316
221
103
209
118
387
424
544
71
266
286
68
172
29
613
354
230
150
544
581
163
578
388
79
35
291
239
201
269
54
74
493
405
516
605
205
363
601
568
435
205
552
218
272
730
792
478
630
615
550
199
284
349
413
254
440
461
216
199
133
671
596
323
532
347
351
82
359
409
155
333
390
341
458
166
565
11
131
94
114
333
255
187
86
327
205
246
303
385
239
430
349
565
160
293
292
345
542
292
439
594
323
375
41
293
173
432
558
848
252
244
475
520
524
900
262
200
823
576
301
367
484
668
596
365
684
209
272
146
327
326
402
433
372
232
519
76
318
676
600
544
307
552
66
382
178
582
277
600
849
485
337
427
152
134
322
754
246
435
563
93
591
41
188
335
246
616
889
751
187
608
278
519
186
380
365
393
298
228
464
530
619
491
513
786
408
770
402
225
317
477
362
158
451
544
467
656
599
728
397
612
558
479
562
495
585
591
447
407
160
264
451
591
189
323
508
179
284
92
558
361
821
263
153
428
534
746
641
406
538
407
446
459
234
584
491
242
152
371
287
486
60
372
149
211
78
172
479
312
429
200
50
181
329
349
279
343
506
483
258
177
122
182
174
227
160
331
820
307
359
303
554
234
431
565
497
128
227
188
616
134
522
614
659
954
432
368
414
813
378
589
549
217
236
582
403
268
259
290
613
573
193
444
222
482
427
366
242
611
353
576
144
718
654
179
267
433
573
215
586
494
537
89
171
541
505
606
618
332
328
192
732
532
344
332
504
659
313
538
280
383
316
685
305
343
62
681
131
365
291
372
554
556
397
406
178
352
240
220
172
546
244
247
28
517
262
212
270
404
269
251
741
741
628
104
195
616
584
350
152
66
263
290
479
336
213
184
170
354
215
106
403
444
199
381
570
805
376
509
402
361
330
659
366
580
536
99
479
392
467
107
475
595
366
624
367
329
314
317
284
307
479
144
404
125
850
469
582
141
153
419
133
22
267
250
129
234
148
446
368
228
604
478
286
163
311
267
249
431
229
366
338
606
425
892
239
575
44
453
447
910
658
552
676
227
593
96
120
274
130
433
186
310
470
615
407
402
360
552
92
329
542
179
476
301
277
163
303
335
447
564
481
659
346
57
210
90
829
459
140
406
157
217
200
386
176
346
137
403
303
368
560
213
521
100
651
126
762
344
252
293
530
641
89
422
530
125
422
373
304
645
605
159
391
413
592
308
374
75
401
635
602
561
416
538
192
194
287
825
196
429
344
658
242
783
371
255
143
361
422
246
209
554
419
511
314
483
481
312
469
502
157
711
252
215
344
668
465
274
667
560
495
440
366
116
570
554
525
146
677
170
376
178
424
656
699
498
264
351
385
394
293
414
244
321
281
508
183
118
452
156
508
153
274
438
201
495
712
450
511
217
344
361
108
323
396
198
378
146
606
547
728
365
719
345
391
257
140
435
355
441
502
346
559
185
575
385
589
148
242
394
749
539
501
235
127
26
173
649
323
193
810
62
534
74
314
111
624
163
622
124
181
214
498
460
326
172
396
652
278
471
267
442
504
451
334
202
649
276
499
674
246
141
340
267
526
239
253
295
374
140
331
555
155
205
811
565
902
206
394
411
416
746
352
812
153
274
414
582
545
515
850
601
390
166
638
188
276
763
396
260
381
396
511
240
484
333
244
670
144
186
559
525
133
192
424
40
417
258
170
120
337
110
330
329
147
121
414
195
70
436
215
285
139
817
592
264
161
538
424
623
670
499
321
403
519
399
431
733
635
452
388
314
193
228
288
374
184
586
390
289
280
568
555
117
760
623
428
602
489
463
205
344
270
602
149
597
349
778
153
652
510
564
423
191
411
301
367
402
377
131
233
706
433
586
323
311
336
350
392
189
372
74
362
749
211
615
275
572
596
215
702
718
573
269
179
565
236
371
140
277
259
414
566
148
587
346
437
691
547
341
542
342
244
659
208
160
139
240
407
243
515
545
327
349
426
429
700
779
290
767
212
716
670
585
667
564
442
272
365
404
318
296
573
284
907
468
593
670
280
401
673
136
389
592
534
157
522
740
411
242
76
92
453
929
190
408
470
203
672
402
449
511
568
366
447
213
435
666
329
229
526
472
223
441
168
542
699
182
321
445
448
594
178
417
592
293
242
493
224
324
204
593
331
54
541
695
191
339
535
376
513
741
337
255
449
135
718
101
246
473
239
910
688
587
415
134
492
382
442
133
418
265
70
358
404
667
311
112
140
650
612
620
569
435
275
95
508
305
441
354
420
341
125
308
359
718
135
127
389
556
472
629
229
30
256
706
386
497
423
302
22
33
381
278
881
495
395
429
768
227
381
454
467
648
248
854
597
488
76
298
440
211
35
489
720
82
396
255
662
228
162
542
613
202
372
590
391
324
502
293
379
432
146
273
48
107
274
547
138
258
99
432
637
544
295
254
258
447
364
332
215
528
81
322
638
146
165
720
458
132
190
321
373
426
156
455
306
234
575
398
593
50
422
198
199
633
489
374
402
266
231
23
418
76
449
585
324
453
18
345
653
473
137
714
367
578
323
287
436
362
310
397
114
308
647
335
173
264
736
238
118
319
511
331
199
287
459
715
694
711
567
583
475
199
224
608
465
182
51
582
227
347
159
462
828
156
436
671
428
578
462
654
260
580
193
469
400
548
218
601
395
116
638
468
789
17
283
596
770
229
417
276
238
291
794
429
322
59
657
271
461
486
523
93
205
321
231
859
395
457
184
468
354
70
377
286
286
565
197
393
591
676
639
378
662
510
489
259
479
506
248
319
395
405
192
313
179
511
238
342
28
271
441
742
125
330
112
115
27
328
374
540
621
341
265
485
838
507
365
232
488
621
313
261
322
380
690
268
429
240
565
147
172
187
193
539
679
430
423
178
326
204
407
741
267
422
341
359
384
447
757
479
137
338
659
181
505
281
314
408
471
426
151
654
641
291
243
525
259
408
300
259
695
503
318
612
269
652
394
351
421
199
392
418
519
331
600
407
241
74
519
660
238
491
321
419
467
607
160
596
611
63
273
685
497
181
532
280
275
309
548
586
663
475
700
414
518
594
655
371
660
109
363
702
314
487
237
161
167
645
676
510
555
327
614
181
49
332
290
248
416
129
524
93
167
201
491
161
468
375
596
291
312
377
66
708
262
473
466
671
243
390
694
752
139
145
276
390
206
475
547
333
604
397
163
46
218
213
161
202
216
180
320
229
214
274
492
258
862
551
528
487
539
335
487
259
332
578
298
174
386
309
559
287
85
501
508
562
336
291
344
497
445
497
340
311
493
469
449
375
413
89
96
379
315
361
271
411
653
340
116
594
173
419
301
242
356
306
549
529
625
172
354
680
426
551
344
234
236
852
365
154
221
106
430
254
96
255
464
544
326
128
534
638
404
632
238
96
292
127
754
368
279
236
475
155
306
220
59
422
204
419
603
425
601
507
458
217
350
189
384
344
217
409
318
80
674
312
233
194
505
171
708
301
24
352
613
469
653
690
454
297
357
587
572
293
423
336
380
641
160
202
615
666
345
306
126
438
154
287
287
293
458
544
223
502
383
342
247
172
533
376
638
327
733
420
474
220
157
478
294
45
164
295
199
511
319
510
665
355
397
268
105
580
754
130
613
409
221
236
658
656
99
439
226
442
559
831
341
392
121
403
309
303
129
378
314
569
493
275
579
234
329
229
565
601
406
606
699
166
464
337
313
163
369
698
261
426
97
340
298
578
498
49
765
445
838
245
628
341
236
320
240
333
284
714
521
643
247
624
352
115
361
273
370
185
674
84
494
481
203
241
574
438
460
507
431
537
419
225
497
139
683
465
897
165
190
402
67
600
164
226
106
472
436
423
401
333
425
436
207
675
152
293
431
147
524
488
637
333
494
621
164
500
277
269
635
180
391
600
534
282
334
160
501
114
209
135
353
382
508
328
295
388
270
375
143
144
330
354
489
200
545
363
721
249
93
395
200
115
363
419
330
388
610
248
369
220
429
702
190
485
570
227
317
621
797
143
537
383
343
160
221
357
181
266
286
249
280
264
402
41
379
358
445
428
276
160
341
376
211
48
527
631
240
818
366
121
156
278
387
271
440
357
175
342
506
384
551
162
483
567
370
429
604
312
384
475
209
175
515
253
275
278
479
366
325
337
588
150
391
552
390
505
365
522
302
151
547
432
618
703
277
437
479
535
92
324
764
551
624
717
553
562
344
109
693
596
385
213
273
411
255
838
366
281
85
259
579
138
267
718
330
343
172
83
284
813
406
434
702
256
313
597
151
271
615
109
206
538
83
338
217
482
433
316
325
444
441
537
790
328
422
486
476
129
385
319
713
784
406
571
292
526
50
171
258
338
370
111
630
655
514
178
44
391
466
225
482
385
219
182
471
431
117
606
583
604
587
231
526
569
176
540
767
280
459
275
416
338
577
470
644
567
218
455
292
237
271
399
239
159
280
202
617
188
506
407
315
231
128
443
511
148
599
170
139
224
403
382
263
545
240
396
592
600
618
416
527
492
165
564
558
437
532
287
314
407
546
624
364
148
477
447
329
158
613
148
278
427
667
558
746
406
357
333
493
467
618
189
690
419
847
255
703
214
68
146
303
501
215
490
485
17
343
367
455
577
153
771
444
550
725
77
213
298
135
510
659
515
175
33
659
508
546
257
352
272
197
295
352
426
43
275
320
482
635
208
394
97
592
239
224
72
204
253
351
626
561
665
507
403
881
442
648
130
256
395
372
580
776
650
565
482
439
675
282
325
525
614
334
640
385
706
374
716
510
403
88
544
190
89
449
566
285
268
300
498
223
288
638
230
87
636
465
390
496
181
349
331
216
290
663
482
590
658
230
312
646
452
638
574
324
442
338
591
26
268
169
317
624
347
380
566
212
274
202
606
111
183
95
297
799
108
625
537
348
216
667
533
522
413
509
340
450
410
54
341
179
780
228
556
161
422
209
347
210
598
319
321
479
595
486
239
225
140
546
765
416
138
673
687
371
230
442
364
216
133
667
357
503
462
494
502
319
596
107
597
455
532
608
125
423
828
225
238
198
606
287
565
806
329
247
423
509
157
492
382
666
746
335
476
366
541
243
281
234
167
233
379
472
388
142
768
231
211
551
501
725
526
595
333
444
378
867
139
230
642
286
366
278
391
388
210
450
470
320
220
681
346
392
480
612
404
483
252
67
527
438
404
719
584
581
406
198
126
430
376
345
391
549
105
299
406
399
498
434
382
588
344
446
377
652
247
452
425
721
382
399
208
253
545
207
223
310
79
262
341
266
291
854
328
731
466
302
653
659
658
798
95
127
288
393
328
142
634
486
173
550
406
748
582
345
87
823
329
616
421
458
201
108
351
780
360
715
37
330
429
349
481
378
255
350
208
323
110
547
448
270
483
594
767
115
553
533
416
343
326
497
137
550
54
244
99
214
800
418
488
199
210
226
496
424
625
366
164
309
293
464
245
659
230
906
441
415
306
636
171
311
157
244
193
435
600
447
221
463
443
277
649
187
564
289
768
375
512
668
232
156
114
561
281
624
212
158
375
160
514
655
502
406
333
553
499
272
183
327
357
459
457
369
420
840
99
416
399
190
245
539
396
414
472
493
249
253
191
492
624
95
440
440
183
527
266
330
590
388
151
285
504
368
275
359
263
399
263
206
89
132
476
647
856
224
487
465
725
351
697
336
345
488
459
241
84
774
419
291
439
214
491
371
648
409
410
258
773
814
665
602
422
360
195
206
173
643
804
416
78
582
438
358
323
598
80
572
320
799
347
486
478
190
679
131
316
411
307
189
347
374
162
34
141
478
183
816
445
158
715
314
625
257
815
149
790
525
146
256
116
304
133
737
336
327
475
411
308
515
593
468
303
329
116
75
660
659
590
413
938
362
401
519
472
23
224
474
327
234
529
290
243
651
631
315
407
868
526
510
258
163
491
136
447
781
256
316
587
761
824
557
466
388
305
626
522
748
289
376
291
180
373
567
171
389
261
631
557
682
135
325
617
482
372
596
276
376
639
365
283
34
189
156
258
113
354
480
436
385
239
94
201
250
311
265
591
95
512
433
438
229
686
441
534
609
359
335
256
565
370
426
395
285
117
275
100
348
332
222
299
328
522
213
201
239
223
49
354
265
175
312
534
621
273
503
327
567
172
285
277
579
197
664
645
219
211
581
398
186
887
673
151
187
558
368
50
450
144
622
736
295
227
560
795
411
227
362
640
170
518
266
273
139
288
449
265
403
259
105
468
260
583
880
661
382
438
603
265
436
612
295
737
408
529
601
624
241
592
434
318
424
486
314
375
222
53
108
404
474
324
347
95
186
679
667
242
718
545
63
74
285
486
454
476
258
606
554
474
275
522
558
68
506
150
710
271
613
209
600
425
307
165
347
302
267
262
436
493
536
549
309
290
539
358
611
853
457
282
449
259
360
333
435
450
200
221
353
553
159
195
565
259
58
241
267
437
224
416
463
115
110
545
647
449
593
333
439
254
405
508
543
269
685
127
299
72
67
307
630
304
369
111
516
738
577
356
637
238
132
635
402
460
687
808
161
61
145
236
45
493
505
378
121
545
543
243
349
133
346
192
418
118
118
291
494
538
481
347
758
230
282
302
704
433
430
526
463
146
574
628
367
769
584
592
630
410
557
809
301
464
476
383
236
66
370
158
761
338
503
554
914
378
328
256
311
641
89
837
662
829
51
363
107
182
525
661
300
116
616
232
554
221
311
160
307
261
310
440
321
348
310
223
410
733
912
416
308
210
98
398
506
100
291
149
848
171
32
590
220
315
367
772
433
747
196
577
97
381
387
305
416
363
815
522
630
251
350
569
292
529
242
149
89
302
394
630
286
194
398
275
133
490
134
464
640
255
234
567
349
210
741
335
423
611
382
376
216
127
523
391
347
472
503
645
420
547
120
399
370
550
282
227
288
127
565
425
396
598
320
546
555
607
418
873
290
252
258
351
558
171
369
131
365
486
391
149
364
213
152
213
211
334
729
359
336
297
242
97
414
203
169
373
279
576
84
254
232
433
231
64
293
798
558
474
428
170
605
765
283
387
362
276
183
392
345
202
537
468
763
193
61
527
292
358
444
431
245
447
382
246
312
438
252
277
672
164
51
246
129
350
335
265
653
285
683
324
574
237
641
390
172
249
562
22
378
454
336
668
372
696
749
503
319
123
78
196
206
390
263
490
201
35
532
813
382
250
216
205
845
246
241
515
296
235
48
778
523
237
352
580
179
299
683
155
326
633
501
520
483
664
101
540
579
722
561
104
442
509
674
340
187
367
440
679
566
437
699
203
419
292
74
303
579
43
315
318
144
383
538
307
601
787
397
160
711
356
324
462
696
833
594
352
217
160
415
484
268
549
303
538
330
467
257
218
620
232
390
176
921
346
167
263
342
843
176
683
444
351
133
460
242
412
509
271
881
560
299
473
377
650
242
171
331
374
472
459
327
605
320
433
310
410
138
511
247
345
614
165
153
506
438
221
66
607
861
248
314
411
502
226
609
295
236
711
192
300
335
480
514
174
707
398
258
176
437
487
55
480
592
442
557
230
224
639
174
425
347
173
754
252
167
422
259
641
535
762
394
640
341
234
270
837
187
385
275
368
131
415
386
792
398
234
355
292
252
263
632
50
92
601
639
446
300
246
261
501
666
79
226
447
861
404
531
712
130
246
721
547
61
412
176
291
351
133
240
610
451
541
334
383
673
345
298
238
345
226
278
470
388
560
237
246
265
642
253
150
496
182
129
553
390
670
317
119
394
490
607
201
614
152
333
185
499
308
211
842
790
321
702
497
684
617
223
807
226
251
237
440
151
127
186
106
324
97
164
544
247
426
589
679
494
408
716
160
579
340
387
666
181
88
284
509
306
484
522
248
287
152
495
604
201
626
406
109
418
537
794
159
439
214
363
302
622
201
447
490
559
800
258
585
418
236
541
287
360
394
252
602
157
229
365
76
361
352
392
651
244
490
545
414
453
252
746
218
265
220
179
217
187
59
310
698
210
608
611
313
117
381
472
407
809
364
573
324
259
404
240
520
624
226
505
236
304
180
361
294
418
276
307
283
369
724
589
863
582
253
314
546
417
107
292
252
211
596
305
257
708
665
769
162
226
95
399
695
729
638
436
335
590
598
139
750
536
123
279
515
547
498
360
442
290
61
511
388
72
594
601
747
820
271
376
606
589
644
492
265
154
661
726
286
391
431
731
497
42
263
560
406
482
599
309
711
262
347
389
581
268
173
272
793
321
361
210
613
429
382
646
642
128
528
750
370
419
303
283
133
84
344
522
336
133
423
368
404
599
176
552
96
448
401
594
62
870
491
489
245
343
455
322
519
810
766
767
730
554
700
482
439
330
231
272
641
658
526
313
509
521
369
130
392
89
396
576
218
193
587
567
47
259
196
64
73
150
798
276
585
837
554
758
372
594
106
567
131
483
603
303
210
813
653
419
112
539
190
40
381
142
267
499
156
651
165
318
559
212
592
664
227
98
315
503
514
356
678
766
612
617
392
811
159
314
568
404
310
754
480
814
112
373
511
300
601
170
223
462
806
329
463
636
335
201
210
469
204
422
74
742
373
602
563
292
217
427
475
388
386
169
28
243
144
50
192
272
297
312
325
557
400
169
563
514
140
531
381
367
132
500
393
332
364
167
440
618
856
720
374
558
825
554
186
699
393
98
665
292
182
456
474
159
195
387
290
290
511
33
291
391
671
312
347
262
602
495
485
327
585
429
436
718
304
322
471
445
235
408
367
371
510
767
264
821
243
186
532
347
514
560
656
68
536
381
357
865
397
272
422
86
100
622
305
537
609
388
422
344
506
234
299
710
154
512
915
222
272
381
340
721
121
112
136
97
527
938
495
261
114
275
386
291
123
222
912
480
780
594
734
375
507
667
535
460
320
670
584
609
536
502
750
183
277
638
203
316
811
274
162
541
310
132
202
511
448
644
305
358
251
256
193
593
522
151
569
436
231
235
242
210
468
647
383
409
396
286
203
275
370
420
155
844
571
764
339
481
134
205
495
112
370
342
263
160
129
89
749
506
589
182
170
92
846
442
369
223
513
320
773
528
599
487
244
809
344
419
645
565
433
593
132
227
127
270
334
342
157
262
775
257
397
161
578
192
496
379
306
244
549
778
643
615
447
328
306
659
381
340
332
90
105
685
281
126
180
734
232
289
142
458
477
559
273
587
486
217
533
268
406
271
318
151
352
418
338
398
67
434
562
319
393
235
71
397
438
248
233
162
196
448
636
744
397
776
334
361
257
341
700
570
540
200
710
141
374
102
210
358
334
360
100
440
557
350
99
339
356
480
270
108
358
53
186
303
485
175
265
153
290
200
424
505
387
405
251
525
574
475
268
637
302
97
445
113
621
542
680
278
263
542
218
720
461
260
354
329
539
308
115
209
376
438
505
280
598
313
307
460
99
335
450
260
213
546
622
594
457
567
378
565
275
239
601
275
567
627
785
441
624
151
898
549
351
557
303
534
289
522
385
608
226
429
423
357
613
329
313
380
454
318
429
453
221
178
642
371
625
492
246
323
77
523
711
112
240
263
219
855
456
378
99
199
289
180
270
361
607
76
238
231
97
860
466
438
613
723
163
160
669
210
223
575
529
221
517
519
924
102
146
248
118
174
380
277
122
240
400
550
838
348
505
355
325
158
587
421
544
488
497
236
286
333
589
481
426
561
473
627
379
299
522
535
580
130
96
210
499
137
361
366
127
343
144
466
138
98
139
247
365
300
313
246
444
202
463
325
365
493
689
103
373
769
562
609
457
718
210
189
545
290
340
431
221
813
258
520
121
530
367
653
595
293
648
246
238
221
153
472
458
260
145
139
479
236
476
130
263
436
773
579
883
343
685
226
795
266
504
173
256
381
400
196
543
305
605
457
370
304
237
333
120
526
537
127
427
296
429
270
405
713
86
712
241
856
614
211
562
819
296
216
569
51
286
247
144
256
251
450
228
275
593
243
490
813
211
914
811
233
131
236
354
524
636
421
471
139
244
370
508
341
316
319
165
575
181
253
546
274
550
343
600
479
262
712
268
328
218
154
157
78
791
661
606
537
141
12
281
78
373
401
420
195
461
258
306
381
321
723
466
197
381
207
287
432
793
298
296
423
326
500
593
332
476
624
331
244
24
382
409
350
256
319
273
408
664
260
660
70
274
294
821
392
512
562
627
504
503
881
244
352
664
93
519
328
129
492
166
494
455
266
318
706
337
517
278
260
492
40
425
391
899
187
137
420
120
280
820
480
115
387
526
212
553
272
258
364
542
504
799
120
700
732
203
256
46
446
248
271
381
316
240
237
234
201
471
437
216
391
693
315
244
298
51
637
388
281
150
337
310
57
537
175
303
479
528
744
141
235
96
610
272
486
667
337
164
182
127
302
240
681
530
459
415
493
642
763
166
91
539
863
277
374
614
263
377
715
769
229
404
200
880
260
382
214
217
179
6
795
497
269
186
702
441
600
104
507
595
503
595
226
205
194
493
312
623
498
678
198
476
201
568
579
345
486
113
352
899
177
57
178
558
68
613
69
232
264
447
160
763
101
759
373
302
342
177
354
226
244
347
355
723
283
269
152
564
477
477
647
507
300
689
338
360
53
420
108
128
391
610
154
258
780
89
630
95
193
511
99
152
63
573
59
384
626
596
260
616
343
523
315
673
440
355
486
239
388
127
601
124
298
593
579
131
667
469
150
409
730
405
289
402
495
338
307
166
480
584
627
62
107
472
32
217
428
203
344
116
220
437
315
137
137
327
241
132
241
719
221
719
394
525
451
122
105
672
343
480
556
504
123
365
233
537
638
652
98
190
205
804
493
228
812
371
632
209
237
669
518
861
648
213
74
63
449
459
384
532
38
250
337
631
338
765
700
108
153
818
741
233
546
686
116
288
123
583
245
221
287
601
176
462
465
660
88
267
245
241
201
268
177
381
215
224
441
559
145
166
177
250
508
407
499
126
128
393
679
160
603
345
236
524
475
381
351
724
255
655
320
219
405
230
368
239
594
320
101
333
337
625
467
917
555
169
655
609
192
239
436
367
436
308
292
202
472
462
705
559
705
536
234
403
471
72
222
492
416
226
435
385
278
324
417
360
516
314
419
412
131
363
621
419
396
270
366
197
524
404
246
236
202
186
331
264
848
271
338
711
311
532
660
373
173
314
188
473
97
366
233
633
503
169
434
590
327
679
49
429
421
398
405
308
319
370
223
145
223
104
195
223
530
513
493
462
823
114
338
676
320
140
447
346
279
641
716
694
234
423
871
229
420
409
266
194
107
357
237
132
132
732
485
238
169
223
259
219
341
338
191
451
517
322
272
223
567
906
92
267
659
156
211
508
295
372
295
438
445
946
454
406
462
484
552
113
233
299
101
402
37
664
87
453
159
268
566
480
356
256
270
481
454
464
192
304
512
550
669
156
541
695
329
569
246
316
280
540
244
466
311
110
143
647
194
77
255
595
84
154
547
335
594
552
196
317
283
206
230
320
215
461
150
422
710
88
205
140
335
604
96
518
405
553
335
187
681
412
248
496
760
51
483
141
403
459
504
132
272
243
780
245
182
295
268
587
314
274
305
583
480
503
294
616
194
566
278
182
292
764
209
703
811
361
360
406
106
398
276
763
32
282
100
219
497
671
106
394
663
229
379
343
126
111
585
879
636
214
96
514
512
529
386
272
344
226
402
348
146
721
317
514
363
157
69
421
46
775
525
651
215
521
171
124
296
165
235
214
91
561
358
331
392
299
356
461
211
536
308
411
393
219
152
220
273
502
83
441
561
301
649
200
160
214
325
565
660
132
337
388
418
371
462
369
39
521
297
186
406
130
54
174
207
329
695
254
238
108
304
632
615
357
224
652
448
109
714
408
594
274
364
642
519
607
327
197
586
266
494
198
582
248
213
367
660
480
240
326
174
710
886
383
559
375
398
324
347
454
227
486
265
445
128
235
499
286
607
378
188
426
525
255
363
250
414
440
678
825
819
148
262
114
567
823
537
574
123
209
516
602
378
426
197
387
310
284
541
634
374
106
792
328
321
190
504
473
214
383
217
480
236
530
308
568
528
304
322
372
331
596
163
268
308
198
395
497
424
268
383
578
218
389
488
509
691
521
200
228
322
198
99
91
503
330
446
313
378
381
528
512
166
609
462
634
311
288
686
142
271
536
425
607
252
567
435
565
377
422
276
129
793
316
330
335
288
611
641
479
399
465
497
91
465
443
201
181
416
607
357
376
199
131
333
542
343
602
478
340
405
352
152
390
477
405
334
346
594
859
214
174
45
371
388
241
468
464
472
263
106
273
141
392
342
578
46
77
61
901
533
899
172
445
605
6
334
319
672
434
352
246
232
304
517
89
336
550
570
107
623
757
499
650
214
326
764
777
675
714
138
370
459
454
96
426
341
460
703
717
470
194
195
131
243
553
818
345
338
714
275
429
45
346
357
233
779
243
208
592
385
285
662
433
298
123
585
267
354
411
720
331
135
446
478
366
180
51
190
471
307
168
644
224
437
486
402
70
356
420
302
888
673
451
273
137
428
147
322
262
351
465
154
292
222
537
339
283
151
328
117
247
708
111
304
167
501
528
454
385
563
311
319
454
266
194
121
185
321
613
448
691
204
470
118
130
566
247
642
484
868
562
296
335
753
482
272
419
320
443
764
434
610
113
465
148
424
380
647
287
957
213
156
619
615
686
256
594
80
914
244
575
144
647
413
203
505
620
600
460
902
244
468
284
131
280
85
616
169
242
583
89
153
471
558
112
259
64
445
453
373
414
139
773
529
204
347
215
581
472
162
486
138
171
505
535
579
484
436
144
315
581
253
369
435
611
146
317
305
163
342
480
396
548
143
196
388
273
675
343
149
375
542
271
496
195
596
174
65
184
139
117
320
253
201
132
211
122
362
238
151
560
492
566
301
465
697
317
111
204
180
465
44
706
632
168
184
382
553
405
565
381
151
315
803
411
491
182
504
708
312
586
542
595
582
327
433
403
460
426
683
598
432
407
129
586
443
329
419
347
306
328
262
209
379
259
381
667
336
342
62
339
333
246
390
223
359
194
644
447
179
193
143
512
712
56
31
300
398
503
505
19
727
681
347
592
274
587
201
507
187
402
282
267
557
259
233
569
449
198
640
163
92
446
462
247
596
537
141
462
807
636
559
346
387
328
581
428
375
639
184
580
289
464
642
330
307
688
145
201
428
366
316
617
342
558
762
312
494
408
386
479
403
691
231
334
332
329
532
234
55
385
624
146
226
235
600
514
268
113
405
595
258
277
162
303
392
234
180
195
177
185
387
207
344
543
493
577
476
622
927
369
530
390
607
301
241
347
198
131
688
831
135
240
243
518
323
86
777
479
235
605
251
245
664
156
484
561
517
318
104
737
160
287
203
650
371
766
405
446
240
622
367
500
413
345
460
375
679
311
188
578
463
175
772
389
186
410
915
467
597
622
320
388
423
595
339
435
191
611
514
123
252
344
478
570
488
716
200
657
329
238
256
167
159
139
263
546
597
412
359
576
301
215
763
271
70
203
446
264
220
637
151
443
273
332
168
594
271
314
151
828
322
394
333
256
182
183
603
681
459
341
381
180
426
326
369
201
588
188
442
354
653
674
469
609
337
226
267
469
550
296
299
661
105
276
735
137
397
451
284
115
410
456
293
277
642
194
439
329
362
641
241
348
419
216
262
105
615
385
336
510
508
588
586
331
318
94
131
112
423
114
689
84
559
754
589
447
237
136
333
436
679
209
838
193
333
438
646
615
96
211
268
489
479
574
578
54
393
506
382
403
501
289
469
465
422
44
226
736
248
632
578
311
503
163
442
371
502
492
687
793
601
335
351
314
302
169
714
343
149
660
732
220
638
591
416
595
293
395
516
708
606
472
259
292
180
337
619
529
357
197
580
214
713
329
561
489
132
790
558
757
527
277
296
414
245
628
203
218
736
730
593
326
341
279
195
517
429
515
218
121
869
451
240
399
292
115
494
179
66
607
660
79
370
123
481
268
545
76
377
511
532
763
729
701
570
531
467
391
195
567
470
224
66
163
323
390
413
401
546
359
514
385
425
118
289
513
229
37
280
409
224
308
626
781
494
391
194
247
406
312
216
183
587
342
99
593
405
482
42
267
138
360
574
303
508
417
140
486
547
553
224
348
316
345
304
429
252
207
613
84
635
210
498
319
606
321
290
570
572
217
355
299
404
532
765
666
413
295
165
270
450
455
106
486
359
228
134
178
448
176
80
450
124
839
349
558
147
353
507
163
194
596
722
245
353
681
414
483
135
314
452
241
426
417
192
354
232
272
273
21
604
274
480
392
498
448
621
282
651
208
381
54
270
312
608
788
571
205
461
611
225
329
196
610
264
344
392
93
202
267
300
240
73
89
217
803
292
626
419
549
532
435
442
405
641
669
136
327
430
669
368
538
551
553
672
470
360
328
316
44
379
605
68
248
324
196
441
235
406
231
837
213
500
552
398
243
821
229
571
408
59
787
412
287
354
414
555
577
67
603
445
260
354
176
195
491
335
244
210
282
364
700
481
407
739
406
109
415
460
384
344
428
186
567
216
140
446
461
39
403
713
256
144
232
632
148
326
374
356
167
320
489
554
714
159
332
491
392
316
809
377
425
124
309
794
45
304
436
114
421
229
504
157
149
113
617
103
216
433
479
641
542
131
278
299
458
205
244
494
313
850
323
317
177
75
606
156
251
180
736
463
192
777
935
399
218
87
414
146
47
181
412
592
572
561
299
218
694
247
324
287
298
361
213
186
330
587
394
324
173
64
559
77
173
505
613
585
179
381
388
205
25
222
285
190
390
585
222
262
373
608
512
287
255
520
316
250
747
526
319
232
257
507
580
138
583
526
124
355
582
146
480
192
150
636
492
579
342
211
562
826
328
333
354
320
419
587
524
812
469
589
416
137
107
511
704
174
353
366
359
98
501
321
528
405
115
251
500
396
324
474
454
47
339
319
821
392
170
394
610
317
315
481
309
466
247
518
327
516
214
333
443
453
229
301
518
147
395
912
140
355
306
614
319
524
552
260
590
485
591
489
587
502
712
608
569
325
344
404
345
156
583
576
156
606
201
323
392
268
38
170
280
251
241
424
183
248
515
430
388
616
385
366
489
568
213
559
167
694
286
283
198
403
379
543
144
177
342
348
182
367
405
247
344
303
515
397
587
322
216
460
473
405
152
219
547
807
83
687
762
255
314
485
426
196
466
200
506
112
181
592
387
264
368
670
511
449
177
471
429
466
196
581
380
350
232
259
241
558
566
171
456
324
341
809
413
296
379
418
844
591
511
139
367
334
125
521
217
400
573
510
721
308
600
179
447
222
308
272
495
178
723
466
225
102
731
674
644
400
353
491
427
712
525
482
331
581
403
519
306
586
221
155
440
214
414
114
360
493
328
321
379
534
614
569
609
57
867
433
228
105
211
156
403
320
194
541
407
247
88
539
504
76
277
476
172
451
318
320
384
719
598
283
375
286
57
168
128
302
845
701
350
463
446
226
384
543
504
336
582
440
317
712
528
713
419
337
170
219
783
737
476
379
765
90
545
299
609
498
512
142
525
912
521
596
584
536
306
380
139
341
727
545
578
383
307
90
330
575
426
416
336
235
414
277
469
208
374
179
547
285
563
98
331
265
253
415
679
597
425
379
369
332
201
226
123
613
15
255
739
751
257
294
480
291
330
475
170
68
877
269
622
258
318
486
24
324
167
348
423
181
396
317
441
97
446
120
242
848
496
548
442
857
714
269
183
612
394
766
211
247
509
348
320
191
560
644
391
133
409
493
465
587
644
644
396
406
667
659
601
184
471
252
504
127
65
319
223
336
398
517
593
255
100
367
492
297
573
243
595
138
127
833
413
495
374
792
462
102
165
414
490
183
430
448
47
292
183
938
258
423
200
351
516
315
111
573
503
505
316
545
231
255
340
515
694
542
246
856
569
690
387
313
316
598
321
474
413
427
293
188
518
323
626
591
306
285
221
469
179
607
38
561
336
359
23
219
564
368
477
144
169
99
450
232
398
454
557
417
355
64
178
341
65
215
143
129
328
658
130
120
384
185
314
343
397
599
195
179
349
309
196
699
358
192
424
775
180
593
180
369
216
288
283
220
395
565
290
421
555
527
276
387
420
755
209
454
584
510
770
193
282
223
365
688
440
578
204
407
332
166
528
341
195
59
542
427
224
448
574
196
509
405
501
386
586
334
80
225
339
597
198
145
74
22
169
141
650
239
338
323
746
313
14
436
216
408
327
389
216
108
598
213
151
689
88
242
233
277
317
182
383
247
724
294
192
170
573
418
102
391
375
574
569
588
280
354
207
356
114
591
432
265
462
625
415
414
429
649
610
253
395
364
688
260
334
292
175
537
451
424
317
456
662
160
152
722
146
257
177
426
558
364
278
267
299
47
217
420
263
180
329
473
149
625
401
130
284
158
335
267
585
134
134
332
345
176
315
407
755
341
740
645
296
531
722
473
300
403
113
574
226
553
164
652
198
497
551
90
193
292
231
582
358
127
536
52
307
343
197
348
230
507
570
696
293
436
485
488
635
316
416
297
589
560
503
304
430
228
309
433
304
240
391
180
598
484
472
864
590
259
43
307
548
384
113
215
450
809
182
120
281
548
528
348
231
630
755
642
404
173
385
307
446
115
499
178
622
590
450
852
182
660
438
571
301
321
601
215
456
283
512
294
330
690
192
427
292
223
262
479
658
567
269
128
310
246
246
622
597
524
175
415
486
411
276
488
374
265
662
326
301
265
280
483
215
215
927
743
483
375
348
325
328
99
433
331
482
223
515
486
108
189
277
552
856
346
412
257
180
227
709
415
528
210
144
433
151
195
418
461
465
42
281
640
760
488
305
628
512
563
376
171
329
373
387
294
257
483
187
427
624
297
231
249
291
214
627
800
670
208
750
202
421
184
366
748
565
499
180
387
530
327
448
330
596
272
600
575
252
148
364
334
304
443
297
548
634
229
322
389
139
299
472
163
597
413
222
418
139
318
517
526
447
501
295
231
424
267
330
237
329
532
354
328
368
113
305
292
76
254
287
424
489
422
169
256
271
550
541
438
193
386
193
172
520
350
255
385
664
281
778
597
370
326
57
240
467
29
216
142
717
302
211
167
524
523
341
440
250
98
381
206
107
614
543
110
468
698
470
321
161
652
727
128
556
412
772
338
439
599
336
329
307
236
250
664
703
156
450
660
544
348
374
788
283
211
259
518
382
307
624
624
258
539
274
437
497
488
253
658
408
297
642
233
547
621
14
552
516
638
298
428
372
344
372
372
333
295
525
651
148
614
675
103
410
768
601
319
457
683
373
309
105
333
142
638
288
584
138
617
442
394
171
249
734
272
299
89
340
100
226
439
194
760
588
573
65
452
191
492
194
599
576
104
636
423
572
76
372
398
211
447
360
323
793
308
38
523
695
534
182
538
664
241
156
731
151
203
107
455
450
143
799
334
259
426
721
233
220
790
487
565
401
324
258
303
469
237
239
284
880
132
723
614
326
765
427
169
68
305
131
261
237
32
518
267
451
68
558
236
47
209
224
365
144
299
592
212
371
468
395
709
513
519
726
519
549
430
373
644
117
204
89
442
492
582
368
237
382
347
645
841
441
573
231
480
222
372
336
110
344
213
546
305
440
289
308
287
293
142
359
578
127
396
116
392
552
114
306
297
158
200
614
611
172
135
528
614
299
532
182
389
571
335
574
314
356
219
532
181
537
311
262
112
341
432
321
194
655
328
284
348
313
237
224
146
393
298
689
384
158
522
475
68
373
760
526
452
195
465
154
233
471
339
515
271
171
388
425
445
378
512
662
391
249
193
236
250
340
722
303
607
204
399
540
418
394
752
616
606
835
189
777
530
342
248
239
245
185
668
300
598
417
169
178
212
301
243
427
535
692
203
231
550
469
253
367
209
478
310
260
515
582
748
471
459
597
915
116
472
254
470
480
567
528
400
335
275
363
320
297
344
263
661
177
190
462
723
473
424
239
564
133
485
72
429
227
176
543
251
842
823
381
181
130
423
155
424
238
636
349
187
70
115
353
605
845
10
239
112
233
729
483
258
311
489
331
318
166
915
473
357
100
143
237
191
28
513
677
156
387
524
50
112
522
591
384
572
594
651
640
386
484
829
303
310
612
839
596
355
577
702
201
698
578
291
192
555
274
235
169
352
500
276
641
483
219
742
395
93
497
583
109
208
118
580
486
165
252
278
896
497
488
215
310
122
353
199
546
271
525
388
548
469
478
249
520
435
223
768
113
319
321
244
497
105
275
534
576
116
622
414
153
383
448
876
580
492
303
612
435
308
295
402
340
135
338
273
309
717
417
91
557
558
79
623
233
279
309
377
241
138
915
205
92
377
181
107
133
152
146
325
443
239
306
233
227
671
311
308
449
457
624
825
383
134
139
206
474
451
140
668
133
272
224
106
783
233
581
250
379
49
555
108
551
376
585
243
288
454
382
242
761
184
614
601
183
424
406
247
221
302
204
405
499
209
709
118
293
598
348
216
550
348
237
473
430
324
70
724
439
610
263
418
392
629
315
415
246
391
368
319
504
291
467
664
548
387
317
335
667
91
144
624
226
580
858
521
242
178
153
732
588
638
595
305
84
631
476
400
397
907
301
172
68
63
222
769
395
639
405
134
437
339
344
234
226
258
99
126
690
310
326
304
674
599
420
217
294
290
360
191
769
566
735
496
422
343
443
154
389
576
57
368
202
450
124
313
120
634
328
131
278
306
326
268
260
448
549
543
654
797
701
333
140
812
477
652
624
718
209
188
372
201
462
623
637
379
798
224
679
469
232
350
380
389
357
260
401
146
390
382
169
679
293
227
271
631
439
277
633
469
260
345
675
609
312
333
371
139
184
341
267
283
557
320
583
783
506
241
386
482
767
580
275
853
799
726
335
94
279
389
480
333
55
290
445
168
350
350
705
473
457
664
253
193
291
387
293
382
594
421
490
284
696
479
341
497
507
287
376
557
666
609
152
184
643
408
361
234
456
429
221
595
434
643
239
348
376
885
198
444
268
276
386
349
456
515
822
393
154
240
311
860
508
279
329
418
221
723
606
232
332
131
279
579
603
408
421
94
221
588
335
382
104
511
674
333
157
524
589
311
126
237
153
490
567
276
154
590
162
349
109
277
542
330
327
406
316
70
227
611
140
265
709
310
177
555
195
180
636
312
198
189
406
321
417
478
195
887
240
633
256
163
221
452
107
143
310
405
529
182
203
481
421
431
379
415
581
504
260
428
264
192
494
404
301
224
448
636
271
433
471
236
354
110
251
427
471
572
398
633
577
415
536
262
516
775
478
581
295
184
744
558
348
108
216
435
429
54
488
545
166
334
668
276
416
355
48
710
424
603
700
482
755
505
208
483
317
434
299
210
485
565
651
347
141
77
221
271
234
644
210
682
412
168
69
493
391
474
616
429
365
561
409
189
686
94
682
566
735
394
50
472
385
519
230
279
517
326
635
146
434
355
509
750
227
681
126
424
800
433
707
640
150
492
289
546
209
357
496
471
258
444
475
795
439
223
566
549
515
246
725
287
614
452
497
452
298
366
223
146
208
379
527
378
183
350
412
152
567
643
519
279
386
134
56
567
377
596
197
515
111
485
605
253
111
633
253
264
457
216
500
249
158
553
250
829
939
602
567
432
700
730
328
386
304
233
302
600
316
306
293
348
537
330
337
286
749
56
534
92
252
518
600
642
341
796
748
296
340
219
568
735
337
770
205
478
174
393
476
32
461
487
362
335
775
897
648
213
573
308
507
239
506
293
305
225
441
212
427
421
446
511
316
111
65
617
480
84
571
115
55
641
193
301
509
119
593
258
278
315
545
636
190
209
351
789
554
518
812
286
774
407
364
346
264
442
364
438
618
126
179
266
476
249
229
160
262
460
417
100
151
178
533
500
251
132
254
433
718
507
115
364
242
306
491
489
323
92
348
394
542
549
642
493
170
196
320
446
405
360
278
517
334
557
342
457
501
38
515
24
548
617
150
33
324
388
251
431
412
369
505
242
674
483
411
369
549
408
18
470
407
340
653
442
798
89
387
317
134
536
208
657
152
160
387
371
308
717
572
247
430
791
418
821
436
382
371
282
511
184
222
194
532
293
180
185
512
515
72
599
562
442
510
272
415
254
176
259
251
29
189
465
623
512
183
177
554
444
84
451
515
637
153
643
300
557
308
304
248
503
558
203
499
344
730
378
311
297
703
344
393
196
600
311
468
210
216
381
87
220
449
343
253
186
640
313
636
587
239
256
488
239
406
331
496
144
230
190
489
583
505
304
655
305
39
439
489
348
363
455
326
243
252
354
128
250
446
543
336
294
578
268
588
508
522
351
433
666
426
243
558
605
232
520
161
231
213
385
669
745
427
429
514
82
171
603
389
455
100
536
271
255
411
488
170
528
107
505
338
515
206
253
365
601
593
253
235
334
608
158
663
332
132
589
338
643
532
497
235
376
237
573
565
108
190
319
195
235
491
491
166
95
358
646
209
300
377
355
543
514
755
438
607
372
719
191
526
373
346
248
268
494
286
568
297
473
481
345
453
171
454
567
238
822
388
287
551
336
261
284
473
164
234
408
435
294
154
546
444
235
438
647
109
424
266
668
556
489
602
388
64
250
227
582
423
240
386
298
249
431
508
335
301
682
195
239
214
343
296
279
177
299
323
636
522
158
182
116
555
215
581
166
457
594
207
406
563
742
49
347
227
427
254
249
711
85
327
758
538
178
244
299
339
306
365
116
336
205
347
324
250
218
501
102
114
755
126
528
185
642
847
379
747
409
854
350
281
473
264
293
333
734
679
861
581
233
367
532
156
449
261
509
395
96
813
324
703
400
638
633
217
224
97
357
195
499
95
368
363
208
850
551
213
634
93
543
366
213
430
141
371
451
333
190
208
346
70
28
205
77
161
344
203
160
621
253
165
319
444
99
142
542
273
246
676
340
307
383
493
15
364
493
511
176
296
595
204
422
179
483
313
789
303
687
120
235
477
294
499
335
265
512
421
398
585
148
581
348
134
236
360
662
468
452
224
189
374
882
381
127
98
251
536
466
344
271
122
290
347
562
235
235
239
480
149
223
275
396
202
612
618
47
282
265
294
55
654
401
435
647
668
412
278
546
217
386
664
50
272
359
361
603
701
712
112
489
65
492
809
288
730
598
45
635
225
362
307
406
808
391
570
181
345
206
187
347
177
565
344
575
254
178
197
368
420
128
249
261
369
32
104
332
274
439
246
159
200
315
249
238
287
187
309
373
287
78
616
589
128
292
133
395
170
416
408
572
409
326
582
573
565
263
288
291
174
526
129
153
609
342
625
85
149
403
443
520
389
268
617
215
177
513
132
280
505
350
449
405
660
530
667
274
256
373
327
268
520
410
606
626
199
303
265
219
481
792
287
700
240
349
399
89
340
309
297
325
132
415
430
99
555
432
285
298
569
721
223
77
356
438
522
485
36
714
748
652
426
321
414
553
479
228
217
62
144
335
422
522
182
553
574
744
58
282
505
272
551
319
807
815
484
356
476
606
304
317
315
151
364
91
598
201
540
505
281
183
346
206
409
397
301
127
464
626
147
483
342
508
271
423
246
270
816
224
302
514
580
343
343
537
355
173
106
302
322
189
392
479
197
229
316
493
337
206
606
765
688
826
317
213
534
364
282
184
938
518
115
815
409
103
573
396
187
392
174
403
147
418
185
490
230
636
826
167
354
238
342
591
115
939
666
158
188
171
307
262
533
173
413
353
140
514
333
327
338
713
386
374
552
408
237
405
536
391
454
341
166
561
343
484
216
421
812
244
207
237
655
241
390
396
181
594
568
299
84
235
702
476
149
211
529
582
22
908
181
379
290
29
743
372
607
607
603
433
354
346
255
435
152
598
500
693
237
266
644
648
289
782
459
683
741
392
351
497
520
525
387
372
434
184
646
800
361
641
263
315
393
360
161
176
790
557
431
90
440
588
163
106
494
811
166
91
561
199
473
231
456
270
561
427
646
753
443
550
403
834
591
537
714
209
427
582
257
614
247
423
269
335
274
363
899
649
392
430
103
279
446
343
100
143
749
629
177
502
181
212
118
347
416
350
574
268
328
386
572
536
421
561
278
593
180
59
211
188
237
594
157
325
313
467
134
658
380
371
301
309
129
406
265
172
774
639
404
169
147
187
523
484
129
245
325
129
91
330
389
396
366
209
565
589
536
224
385
558
410
343
750
560
140
223
803
228
105
310
512
190
546
155
197
442
602
537
291
525
311
509
252
210
946
893
770
715
214
629
235
660
189
274
399
427
423
386
498
623
640
585
163
269
204
610
291
530
172
347
314
492
121
519
357
43
190
357
230
153
549
259
349
234
384
712
194
274
95
332
92
307
316
585
307
214
115
445
449
202
438
523
587
382
457
222
590
233
483
810
98
578
573
544
46
567
569
565
349
477
226
759
392
508
725
244
223
659
269
208
804
470
369
145
119
165
267
722
214
300
641
297
325
11
192
355
557
369
452
354
106
263
293
439
784
566
163
483
420
244
218
87
669
383
837
781
280
341
45
204
437
161
317
721
398
140
337
421
71
557
701
229
323
607
254
424
388
112
523
382
274
62
330
324
281
557
221
113
403
193
144
451
585
73
146
212
433
182
635
231
479
361
278
537
561
462
166
290
289
533
340
271
670
386
107
136
302
270
166
290
553
106
317
518
498
775
224
524
907
424
522
129
610
291
220
417
92
592
750
258
219
229
646
420
416
672
455
769
279
351
529
552
207
517
672
420
492
137
65
228
370
215
212
97
715
108
531
156
436
388
357
627
196
787
194
344
343
509
387
576
367
415
613
356
128
485
424
662
66
334
205
231
540
206
273
130
572
206
154
332
494
481
791
248
371
264
254
201
324
37
338
318
168
485
223
281
341
196
165
265
248
359
481
473
515
859
558
200
631
316
499
667
333
336
244
528
164
717
267
267
566
378
158
167
289
179
385
411
40
169
571
481
247
416
229
672
491
210
216
245
55
399
650
290
305
294
585
551
536
188
479
328
361
478
616
414
320
769
805
161
236
345
607
614
378
419
416
437
595
450
235
210
328
495
205
670
715
183
453
266
677
322
543
490
725
47
455
147
349
304
124
545
570
158
480
213
292
227
235
400
385
563
575
648
513
479
243
404
522
115
705
200
264
274
335
308
401
376
148
328
197
479
432
525
642
860
320
279
282
81
403
325
341
90
709
410
520
296
437
73
268
377
486
591
282
429
695
345
194
246
133
257
330
501
182
550
487
483
90
403
286
742
535
570
674
327
394
429
698
235
462
324
418
416
616
564
483
424
621
253
265
654
633
318
548
597
463
273
117
93
256
118
133
479
541
557
419
107
502
176
450
196
417
691
520
284
509
318
455
199
532
333
573
298
240
524
441
210
379
316
181
773
188
538
217
256
459
38
73
329
397
531
314
319
290
406
335
357
261
430
78
592
233
197
433
320
392
239
467
475
589
445
182
620
187
435
246
284
519
778
167
313
705
513
479
739
549
830
516
239
731
191
613
594
103
140
547
619
409
233
567
121
257
116
348
362
389
515
157
703
232
224
348
379
197
201
191
191
401
625
513
307
370
363
111
430
809
412
631
427
594
559
115
185
750
138
514
264
589
370
429
152
418
208
272
360
319
478
163
573
155
695
147
152
113
673
137
388
398
404
260
449
460
108
312
403
413
668
204
104
514
273
517
736
190
101
186
405
592
672
426
56
110
733
367
338
464
466
64
211
49
525
202
337
559
465
99
185
715
262
506
529
240
157
689
202
382
215
197
504
347
675
816
176
588
599
658
494
505
170
559
263
31
493
558
582
695
344
759
129
334
515
624
654
406
129
207
446
195
885
167
207
499
303
224
400
695
354
62
160
482
308
354
402
318
689
300
485
377
191
502
791
208
94
313
177
253
131
720
158
649
477
140
338
285
223
111
324
566
228
282
406
73
204
61
439
494
268
669
234
291
351
426
161
317
223
223
216
261
143
203
538
634
479
262
99
392
398
453
316
765
391
276
490
427
347
384
482
405
173
205
655
530
467
552
251
422
208
701
230
565
410
315
511
576
373
548
347
372
201
415
368
390
554
183
276
546
542
511
124
607
430
169
337
438
212
144
215
142
490
468
181
644
395
452
374
168
521
383
349
635
391
713
519
230
279
582
257
255
247
202
388
558
671
260
652
461
201
267
768
524
248
566
684
423
396
364
316
320
164
263
332
742
238
208
300
636
231
692
410
382
444
329
401
189
563
247
182
515
279
460
241
506
405
257
469
487
171
166
160
756
363
289
316
330
375
312
627
477
496
97
70
539
161
332
701
347
49
542
147
410
311
140
563
204
92
535
418
604
243
412
395
96
547
607
540
173
562
340
216
342
278
312
489
327
278
152
546
372
386
481
338
490
358
608
518
530
697
333
118
499
542
768
364
37
352
278
225
292
455
33
259
684
598
343
456
333
220
384
381
404
671
441
600
217
282
379
607
565
450
566
329
259
344
307
367
186
241
242
523
302
427
269
204
306
336
307
513
809
621
234
504
246
321
448
455
233
285
312
581
378
320
282
74
153
646
597
305
430
59
498
308
585
360
73
508
92
218
276
751
139
392
634
713
401
336
494
372
557
146
398
248
184
504
531
215
811
278
394
289
493
305
462
332
215
417
553
690
366
237
679
269
412
484
294
133
336
13
159
762
154
339
636
308
104
397
602
501
318
147
183
341
685
639
387
313
421
219
258
316
382
740
295
339
299
220
73
105
717
408
469
628
316
491
289
233
306
227
324
325
450
270
74
510
499
254
276
380
156
280
122
519
420
588
516
579
578
151
649
479
388
924
426
326
291
147
530
380
484
337
529
417
174
348
548
755
410
185
205
719
447
282
267
291
570
527
413
85
92
295
156
158
256
421
180
598
229
274
203
656
545
537
211
548
88
587
349
723
399
345
707
148
551
43
388
422
119
396
413
177
369
447
300
353
246
297
310
144
158
296
409
174
89
459
336
412
394
623
359
187
243
527
454
258
677
205
126
93
228
431
193
237
798
254
452
182
414
271
507
822
301
756
345
256
481
372
423
244
483
333
616
213
500
456
600
187
792
145
68
639
265
250
352
423
690
410
512
681
186
670
314
150
479
257
204
302
144
283
243
447
193
388
397
480
402
420
676
500
538
115
424
538
481
410
482
106
360
210
763
649
132
399
266
823
758
664
255
225
179
326
230
278
236
534
246
480
392
461
230
275
648
512
183
614
87
334
725
352
140
353
120
453
464
623
213
407
297
350
258
134
113
252
505
385
321
177
265
197
399
334
171
572
633
366
811
251
468
475
129
371
301
242
719
223
356
541
242
483
219
282
163
508
435
442
191
111
198
326
615
122
369
124
64
540
194
328
637
489
178
302
269
433
371
724
461
442
344
354
544
556
841
316
586
225
360
122
52
276
255
227
183
331
787
151
317
418
285
571
299
599
167
120
237
217
641
552
559
518
471
272
166
364
227
466
204
306
564
246
348
483
506
449
394
525
157
270
275
790
684
286
533
723
289
203
697
337
267
410
136
185
464
464
258
223
303
451
398
188
610
523
388
476
359
189
475
726
451
242
226
473
338
743
408
167
560
571
181
675
151
432
218
313
324
198
255
573
404
449
320
369
241
309
513
384
418
346
248
555
675
515
406
301
239
321
149
453
666
448
221
84
176
515
747
663
258
352
409
51
204
244
510
230
434
536
423
617
637
677
413
363
298
43
174
503
639
558
638
506
287
65
511
455
493
193
327
347
512
548
401
494
318
135
252
474
115
239
471
316
548
293
589
299
166
675
386
688
201
301
444
339
93
401
172
344
189
367
434
672
337
132
540
580
304
315
630
300
575
160
312
81
279
169
610
684
527
299
525
691
441
488
586
641
45
301
393
300
645
345
553
372
134
294
639
144
234
642
485
200
573
69
717
793
687
324
509
529
202
456
332
472
436
343
427
375
528
440
314
443
733
251
618
458
121
423
565
619
258
307
521
624
311
97
379
417
69
528
117
509
193
786
180
306
335
312
304
362
257
111
879
691
472
113
479
176
292
322
266
321
187
395
150
244
402
210
36
338
401
365
748
98
111
144
625
140
447
97
245
501
691
513
200
107
278
461
379
670
273
44
574
386
52
288
539
88
221
110
552
143
422
338
69
238
116
638
202
839
279
400
172
501
195
448
394
440
616
510
698
513
409
329
493
183
207
674
673
321
333
323
394
283
503
332
271
99
753
249
237
460
780
354
264
249
312
184
575
511
550
98
37
326
642
422
576
589
126
337
389
584
334
839
166
238
263
552
307
375
344
196
617
563
675
327
500
396
373
496
348
640
223
589
163
223
333
230
354
237
304
99
102
371
546
411
212
194
399
43
642
410
263
161
453
154
424
498
632
36
513
711
168
655
443
174
339
191
708
674
737
724
127
380
690
871
573
542
197
203
404
351
664
719
291
161
466
456
127
515
538
179
648
476
497
858
657
407
481
198
242
38
560
398
374
168
691
513
224
502
342
302
578
768
379
503
384
602
726
143
512
597
256
499
282
129
294
442
659
416
537
280
542
515
898
240
412
369
70
496
572
565
499
506
504
119
300
331
455
499
268
335
516
590
239
454
798
640
381
181
528
260
360
488
800
176
55
219
353
353
659
519
330
698
324
664
259
256
317
139
203
463
123
172
576
154
314
387
235
506
491
192
655
248
133
167
90
309
640
50
137
274
638
429
313
205
536
295
88
388
343
442
408
412
145
717
719
190
304
314
646
290
310
414
135
604
540
652
220
47
216
244
761
426
331
297
285
281
698
367
130
227
308
356
816
330
277
508
551
168
647
336
112
214
645
246
94
251
260
650
261
332
21
260
794
87
167
152
198
393
287
415
712
415
557
506
691
395
394
342
254
94
416
564
189
40
297
633
151
143
542
413
403
331
341
147
368
323
426
611
34
571
468
454
80
412
210
396
157
639
87
129
631
192
304
505
494
183
515
347
390
109
333
242
437
682
416
361
193
292
563
194
38
813
506
272
178
833
244
124
87
258
130
279
466
206
175
338
290
383
187
349
753
640
550
542
204
358
590
405
358
613
232
278
390
732
212
200
160
517
185
146
184
603
189
186
445
244
366
253
226
357
195
217
579
98
202
561
403
823
518
561
556
168
462
539
571
62
561
542
642
381
452
351
412
261
199
345
324
351
116
244
213
139
323
706
479
237
337
536
552
645
312
345
166
93
294
651
581
425
460
333
505
598
601
236
374
238
676
86
384
670
601
463
268
233
343
345
146
701
750
410
206
627
280
507
484
551
371
308
254
393
263
345
422
150
267
294
138
157
832
679
175
185
448
378
470
414
307
297
665
409
302
280
665
486
204
517
345
131
56
355
384
223
767
520
290
440
237
480
611
374
23
413
571
491
477
319
124
361
388
610
330
399
699
309
308
230
445
373
276
457
194
79
193
801
432
649
104
481
423
660
481
804
284
237
481
217
423
407
239
137
340
140
254
249
157
442
641
573
707
107
902
156
346
421
572
170
295
297
720
207
242
635
620
332
393
470
6
643
236
382
174
141
300
184
533
593
66
156
306
733
136
158
611
216
270
119
203
805
665
422
186
330
443
534
622
148
614
468
619
259
288
241
313
596
236
820
338
395
201
407
651
618
527
399
402
661
601
561
585
476
132
317
707
262
615
517
216
375
695
216
333
575
262
422
228
365
673
421
261
841
368
514
330
576
109
475
102
590
580
363
164
201
372
176
470
456
221
216
661
60
262
251
503
794
126
426
459
946
631
261
342
435
459
691
278
383
113
358
305
250
252
226
449
343
189
381
343
317
436
235
322
667
509
217
429
245
235
304
261
644
456
275
379
164
224
239
512
126
306
668
757
616
660
291
438
352
516
320
415
344
132
436
257
122
557
152
428
506
357
295
394
165
266
211
580
474
474
161
177
358
478
414
156
505
461
393
53
469
387
718
331
199
89
366
534
528
84
413
373
376
448
432
255
689
304
257
556
222
254
668
70
371
611
645
348
76
575
226
128
372
293
374
251
238
601
261
133
324
620
312
558
565
472
467
767
278
348
343
122
139
796
358
232
253
557
713
572
482
486
148
612
255
379
694
232
474
168
560
363
405
231
140
638
683
312
790
475
510
451
588
97
224
243
117
222
221
665
655
171
288
345
339
626
187
704
264
511
491
445
557
101
329
471
366
374
485
825
454
467
452
382
340
575
479
456
440
626
484
488
668
393
444
505
463
122
135
322
345
754
520
304
245
338
259
167
505
249
537
62
606
504
188
63
219
527
285
554
274
510
173
375
559
155
219
222
412
39
557
254
869
426
372
295
536
436
157
602
302
565
785
138
414
911
64
510
483
453
258
163
145
580
318
646
409
472
518
202
948
229
108
521
40
221
655
320
336
156
257
495
270
617
526
402
526
125
386
582
399
684
224
480
214
501
755
262
616
300
207
183
383
355
190
422
272
706
188
68
294
347
672
582
660
131
281
363
434
614
484
144
362
358
322
413
353
432
578
217
426
133
282
573
214
643
533
75
503
317
475
75
168
428
320
80
292
377
170
361
175
489
424
414
355
420
256
167
688
311
145
240
303
504
292
403
485
635
475
581
156
316
350
538
244
827
758
259
438
536
485
238
291
230
534
422
711
224
153
289
292
398
493
245
409
258
339
245
105
388
99
430
250
646
165
695
194
683
626
426
557
320
484
697
451
434
634
98
176
164
134
406
510
433
494
434
252
550
367
533
494
493
397
282
235
332
562
387
304
271
106
340
289
276
498
168
284
369
551
248
438
193
141
107
187
249
60
468
623
449
613
297
579
340
786
281
266
92
409
624
96
754
419
432
847
165
278
205
310
600
207
392
440
257
373
328
584
434
317
233
420
452
336
220
53
311
463
282
61
597
656
706
168
300
774
811
377
348
248
520
527
348
328
795
115
484
604
378
270
172
518
556
377
527
93
387
562
347
270
306
393
76
478
342
547
526
739
625
580
322
594
544
255
340
319
491
371
755
617
555
445
215
430
464
192
59
252
291
697
75
539
579
309
418
371
664
366
559
481
567
223
462
249
199
459
422
632
507
352
84
175
360
496
514
501
805
406
611
350
462
622
715
151
148
115
398
94
415
243
473
907
565
419
273
189
135
371
503
268
374
303
208
441
234
492
219
433
198
214
313
300
398
630
497
386
208
433
581
606
169
309
477
278
315
723
514
223
275
148
156
292
144
496
518
502
708
483
149
373
467
274
274
748
214
151
226
299
883
277
507
309
518
492
204
455
371
586
548
221
461
77
272
200
526
333
452
497
475
225
398
616
227
499
752
122
925
342
637
295
190
231
419
391
224
225
454
396
520
411
846
541
614
559
409
348
394
461
316
866
143
535
191
264
361
308
133
170
459
432
218
406
349
559
328
292
556
94
271
503
367
272
782
666
249
627
503
598
464
205
542
637
362
269
306
64
285
11
59
275
474
412
554
636
400
362
177
473
712
639
346
469
121
394
133
495
375
366
230
271
367
625
142
181
660
330
661
232
847
293
371
212
462
302
170
182
560
703
349
230
205
641
196
129
322
290
213
529
483
376
757
540
486
568
351
178
390
840
554
438
287
200
542
573
423
47
219
513
286
134
359
351
407
647
249
491
576
425
449
210
654
177
661
312
614
163
111
358
287
515
571
230
606
584
321
394
425
338
535
585
37
501
99
386
718
606
521
43
337
80
568
221
714
700
401
321
219
423
881
200
287
209
428
140
542
495
379
272
428
222
504
540
433
363
120
507
131
620
187
532
230
120
383
564
492
289
561
903
639
169
79
445
303
266
182
608
476
258
373
183
510
394
127
473
333
607
739
278
150
275
202
640
60
41
204
328
499
684
664
157
566
694
141
338
422
460
164
294
203
313
152
314
465
503
495
476
380
606
465
361
609
189
471
164
628
550
72
851
712
364
715
736
754
400
484
278
673
548
584
352
278
555
317
485
602
493
253
431
339
448
509
365
523
321
279
553
103
774
325
291
74
643
286
372
403
309
265
519
611
406
498
336
151
489
608
546
530
59
353
119
376
722
356
82
461
614
136
608
298
140
668
367
544
134
49
399
80
387
212
196
404
576
177
395
309
458
306
308
197
309
393
322
595
206
644
483
320
373
91
284
101
639
280
492
471
388
330
476
646
248
355
511
783
265
88
133
297
278
382
400
402
128
601
264
489
93
212
215
235
500
149
632
755
260
219
206
465
372
409
553
431
90
793
280
234
915
258
491
563
172
373
490
188
321
232
535
185
398
327
311
439
670
183
181
217
588
606
807
338
399
475
324
617
453
304
556
632
727
769
259
106
429
524
457
260
601
386
245
548
342
389
462
607
401
197
150
350
273
147
722
212
497
351
379
271
506
370
293
295
338
314
228
77
298
366
393
425
215
303
316
73
563
417
776
498
409
532
478
412
348
462
248
596
627
226
572
723
255
512
458
720
302
263
417
478
304
353
521
292
395
344
158
289
106
149
278
535
520
378
230
158
240
325
520
360
618
301
105
612
326
606
506
562
583
225
208
558
583
346
233
140
566
451
378
273
304
366
196
242
645
324
252
195
181
216
349
532
599
741
338
381
511
634
269
213
149
379
457
516
365
609
105
672
438
356
181
609
87
665
474
487
358
270
229
204
404
563
241
291
408
405
225
205
276
605
538
189
327
613
401
249
441
339
147
736
176
366
177
323
563
253
543
496
218
518
334
165
292
287
425
304
325
352
541
355
369
86
232
683
354
546
430
74
620
147
245
665
114
314
420
648
447
581
325
599
739
747
460
723
403
529
374
332
369
450
678
398
83
440
19
452
566
534
377
199
530
375
124
46
296
330
148
497
331
500
177
59
363
234
279
184
515
365
684
854
393
67
351
537
743
650
376
140
124
274
185
345
322
721
115
182
627
770
473
216
555
328
205
179
155
380
53
182
198
510
132
384
367
267
227
225
389
658
390
679
453
530
286
702
543
197
545
644
553
233
236
285
630
341
608
267
193
300
447
665
199
303
442
698
330
527
225
281
483
304
386
480
351
344
250
256
460
588
421
297
313
396
131
605
101
313
320
338
484
278
157
403
308
329
496
588
386
161
112
60
578
660
273
546
634
181
106
438
148
334
735
328
413
449
156
185
859
525
438
486
194
127
548
186
195
232
201
721
382
380
143
290
355
198
189
237
398
202
392
528
482
405
368
671
331
88
598
766
304
188
558
167
84
252
372
63
232
108
93
229
478
275
30
761
333
170
642
397
748
713
375
266
380
271
569
189
380
512
528
540
441
208
252
404
624
313
127
587
262
322
289
110
440
741
320
371
511
448
259
504
347
288
290
144
162
236
203
720
191
265
701
103
504
213
715
537
84
167
629
287
202
319
285
418
526
309
593
295
282
183
173
148
506
533
244
676
376
573
481
733
198
498
469
227
744
431
197
207
145
121
468
235
488
584
711
310
84
315
312
564
337
219
125
319
323
493
728
355
322
148
207
370
413
200
548
480
563
358
128
332
314
161
264
428
493
366
158
174
147
414
321
325
421
282
405
619
429
765
261
160
368
305
392
374
449
291
323
528
553
285
384
258
611
28
566
488
794
147
615
319
373
168
439
573
375
194
182
251
636
252
125
594
471
318
276
560
344
637
463
23
331
377
236
76
315
489
535
579
334
341
200
136
554
456
539
131
337
486
450
329
71
719
336
544
631
488
172
139
233
586
262
587
462
230
279
163
828
706
151
391
289
354
506
150
272
459
634
443
727
382
162
365
405
123
399
295
253
167
180
50
116
346
537
315
421
134
617
324
414
113
171
527
231
627
266
251
528
703
605
163
177
143
334
533
299
424
346
49
409
152
633
396
288
610
450
259
300
294
427
101
41
223
772
617
460
160
206
340
672
154
427
673
352
520
348
480
264
427
453
449
320
263
536
387
450
459
739
633
413
482
560
470
290
258
232
60
520
801
539
464
558
661
514
460
91
601
453
42
536
366
73
603
265
624
271
530
188
201
420
262
601
533
110
702
524
721
810
537
556
691
238
339
673
722
365
377
289
625
500
827
409
472
398
283
647
423
227
697
93
157
546
127
503
724
370
595
244
375
330
211
260
210
692
87
154
386
488
346
666
472
473
681
719
227
464
469
193
155
278
177
265
729
100
398
134
383
435
775
532
217
202
407
289
458
231
475
696
709
180
443
244
279
544
409
237
463
80
252
634
236
304
264
269
55
69
640
363
620
232
763
703
516
321
154
495
318
828
493
238
382
128
660
702
389
623
749
286
397
375
138
222
294
539
522
231
257
257
278
288
482
176
327
177
740
163
378
326
421
99
305
323
275
388
573
407
95
262
256
292
60
377
111
557
121
630
337
490
393
232
393
195
528
722
320
263
197
415
204
386
707
585
445
174
700
489
279
822
230
748
380
71
536
257
536
305
690
113
373
383
696
292
300
410
168
55
652
547
95
252
77
288
382
203
325
266
384
391
232
541
233
323
353
767
319
508
472
333
323
204
310
111
751
109
613
654
466
435
449
93
348
261
90
514
585
284
510
469
223
404
600
471
331
225
349
376
343
634
358
451
636
243
353
395
69
533
175
796
393
570
311
250
454
253
257
379
682
584
583
376
125
180
319
252
555
27
342
405
253
240
241
315
787
121
395
579
149
64
351
363
513
42
70
216
262
432
172
324
453
311
517
511
247
755
400
607
88
218
409
276
246
306
720
502
474
172
113
415
266
391
321
350
229
526
282
270
481
660
111
501
371
575
320
153
517
339
534
677
483
603
738
362
409
409
301
428
168
255
822
294
246
530
432
29
658
612
113
238
482
318
410
137
273
656
312
669
246
416
407
61
285
177
761
690
473
594
497
320
529
566
389
241
63
522
525
521
423
289
535
819
366
189
594
104
665
452
429
267
276
216
556
79
657
319
220
563
527
68
204
446
325
520
242
388
434
566
144
346
669
285
103
280
7
632
466
433
548
305
10
739
638
158
383
350
146
797
246
608
303
132
529
509
749
320
595
450
146
205
192
485
371
657
449
575
305
623
112
585
237
317
317
671
494
666
541
553
324
86
531
482
254
310
485
242
386
277
305
141
887
105
343
447
437
792
483
425
217
395
495
502
680
487
289
562
573
70
170
366
444
558
527
195
600
259
558
603
432
226
35
175
668
132
336
281
244
555
148
818
265
5
297
344
256
261
292
320
88
204
540
149
186
377
574
479
409
662
366
691
221
210
238
175
290
215
253
308
258
292
374
188
233
142
159
275
601
346
322
938
373
139
50
356
133
482
218
615
83
569
390
705
32
155
305
399
373
453
151
97
502
339
366
447
744
443
612
338
747
282
259
74
149
388
450
325
608
280
416
395
153
236
552
494
169
154
314
259
733
375
549
390
453
261
228
177
256
617
203
412
458
415
275
270
559
337
224
238
220
408
275
705
429
644
251
226
131
433
563
232
633
411
139
115
128
251
228
358
404
461
55
394
474
600
382
766
266
486
45
264
96
264
709
308
308
195
424
293
326
357
340
582
423
359
208
110
327
567
99
569
345
831
231
236
484
763
138
177
560
360
566
495
248
389
350
541
692
296
678
363
153
242
673
207
416
529
619
161
302
388
80
766
307
256
838
219
336
292
293
346
355
240
115
381
636
850
433
443
657
373
660
560
247
536
42
290
402
615
402
417
500
297
225
190
398
816
124
548
380
884
456
268
314
525
549
254
410
158
576
389
359
445
366
197
560
379
347
679
358
241
480
424
238
425
131
468
547
433
68
526
183
229
334
502
69
791
62
50
872
236
367
308
301
317
384
484
636
385
385
324
394
334
320
270
635
453
218
87
128
155
774
795
384
277
825
427
384
660
252
400
351
295
464
394
191
532
453
462
512
693
795
595
674
198
310
216
89
510
428
425
451
599
173
308
283
620
400
314
493
660
619
753
150
432
210
654
229
498
382
450
504
398
356
392
258
248
699
229
293
361
581
123
106
171
75
206
255
298
370
454
582
66
666
276
315
278
410
526
251
171
635
478
350
188
344
439
515
245
283
423
206
373
649
421
111
213
306
433
323
776
113
294
470
538
277
177
290
538
281
535
477
76
121
97
590
719
327
388
468
425
723
423
185
362
192
766
166
304
285
429
659
226
621
829
134
299
128
269
518
343
393
286
433
402
826
85
592
304
318
238
561
267
218
200
412
332
262
168
194
630
111
406
542
621
756
636
593
182
114
447
381
369
88
139
105
342
448
134
632
712
403
327
692
306
424
383
271
245
301
226
301
420
351
168
214
546
213
339
31
686
427
361
354
231
380
366
366
50
324
209
542
375
260
233
281
504
555
549
141
106
318
704
237
287
486
237
272
233
583
400
648
193
490
285
595
437
317
139
463
450
259
507
360
224
598
296
358
447
365
223
558
119
375
146
651
437
380
461
58
410
549
417
519
542
697
396
233
181
521
303
349
177
452
604
839
555
357
245
532
202
273
615
612
356
81
383
593
349
606
467
150
577
721
453
749
309
352
26
352
702
415
481
597
207
365
274
383
466
619
859
254
526
474
206
244
185
677
760
397
559
275
166
307
251
809
276
185
474
216
217
315
376
125
130
111
200
177
272
292
471
86
407
422
280
440
495
299
650
101
667
520
331
646
272
318
463
345
347
360
99
618
203
267
692
337
292
380
428
506
149
559
20
124
300
590
364
706
357
262
801
328
555
357
277
62
54
143
623
414
404
307
203
107
417
585
273
415
658
643
550
466
179
107
625
126
536
227
228
229
392
499
473
429
692
540
322
226
368
799
274
295
374
467
448
64
355
348
620
330
172
618
90
742
770
240
383
235
378
216
435
326
216
595
477
191
551
332
318
274
78
400
442
387
450
576
542
259
952
402
54
305
485
512
390
94
390
615
834
688
355
260
374
728
143
675
749
614
362
231
416
416
97
290
559
472
689
212
804
29
417
112
318
548
437
262
112
188
493
541
250
228
111
294
723
252
375
176
181
123
554
561
437
649
434
308
648
147
223
19
590
187
588
562
722
372
123
337
478
459
566
373
259
513
498
453
465
577
463
123
680
490
562
308
125
459
633
598
372
294
194
523
319
163
279
287
198
304
474
150
852
289
246
594
384
525
203
531
429
539
499
600
267
955
238
92
776
171
196
653
396
231
676
788
307
228
144
586
591
196
322
424
583
557
167
216
674
135
405
511
528
290
387
114
386
372
484
613
745
360
239
270
380
320
773
669
624
568
97
80
793
721
439
445
473
15
224
717
436
246
284
628
241
751
343
546
417
527
277
494
310
880
138
438
145
298
385
452
460
99
126
386
526
509
671
348
372
38
396
233
495
735
95
199
437
351
632
468
110
282
174
332
564
102
203
250
492
502
228
148
301
520
371
555
292
134
612
338
799
487
360
237
540
334
828
309
217
97
641
293
320
295
242
506
546
608
702
326
301
217
237
174
214
140
52
519
373
354
205
339
142
375
577
268
381
835
145
690
719
174
267
532
114
616
402
677
405
619
599
123
78
567
656
819
625
580
286
326
189
381
400
119
80
142
415
88
114
189
267
239
502
369
153
25
260
629
539
577
402
308
928
282
405
353
583
313
741
445
337
429
137
223
802
394
587
442
110
529
273
308
316
407
627
646
514
291
165
282
254
73
319
222
350
418
756
650
445
337
153
179
578
345
167
294
215
325
515
434
434
548
230
602
239
125
625
135
509
353
30
728
613
333
346
504
287
171
323
37
536
155
207
331
587
279
610
100
401
61
134
507
442
594
751
143
241
539
567
688
309
561
803
435
106
670
502
134
427
329
740
484
226
440
502
357
102
196
752
382
497
244
100
137
278
340
457
228
364
396
343
172
306
536
554
616
322
403
478
229
461
98
667
601
565
429
162
599
297
301
583
203
193
575
187
483
97
758
367
547
326
237
556
421
491
127
482
255
216
150
443
517
353
359
608
305
394
496
437
584
326
555
176
441
281
247
482
556
139
488
594
426
186
161
319
373
258
338
271
304
385
343
395
728
358
736
108
471
342
251
636
55
252
245
403
219
308
162
614
284
157
625
521
289
247
387
712
555
524
465
351
169
766
528
175
159
248
171
337
147
376
740
271
545
661
509
388
871
555
32
238
674
50
430
259
519
107
415
674
329
544
405
300
637
365
27
233
194
310
758
426
484
263
191
372
475
533
181
520
197
415
88
90
344
374
153
531
623
122
335
385
364
84
435
490
298
679
888
420
282
353
444
224
69
222
378
521
495
211
177
443
184
449
202
267
675
503
881
273
173
132
165
516
755
334
639
576
352
376
404
191
660
584
350
180
383
521
306
420
228
266
60
126
273
103
172
365
598
258
233
305
175
218
194
592
515
490
595
439
381
515
281
296
647
261
312
470
678
759
762
517
112
303
657
580
192
351
246
538
441
424
556
200
544
265
363
447
124
149
660
450
254
89
456
239
259
529
359
685
839
418
516
139
37
561
546
554
180
280
386
208
295
506
96
505
299
294
133
448
318
605
571
225
608
89
330
252
514
595
226
94
228
356
447
606
194
619
110
195
275
462
498
196
311
192
94
361
377
137
176
390
637
475
339
238
300
483
172
193
409
642
318
105
600
776
634
296
612
228
442
428
251
323
390
239
498
230
555
601
352
248
609
360
610
511
99
464
489
79
397
533
421
358
779
562
67
272
439
469
586
353
343
269
573
123
420
280
478
568
188
287
379
145
124
432
342
338
101
488
521
154
342
547
677
222
148
621
121
294
298
225
222
590
270
449
76
297
340
209
376
159
460
453
403
570
627
219
308
249
595
302
410
142
222
301
318
269
452
113
168
536
417
380
449
200
59
764
426
279
495
293
142
71
373
466
613
117
374
424
549
379
419
228
276
309
496
722
556
514
311
105
98
300
695
584
544
401
201
49
47
290
269
407
534
602
585
509
591
609
128
268
186
740
591
206
501
434
489
633
443
286
677
494
388
291
183
375
491
133
553
356
560
466
472
327
519
360
334
489
680
623
183
357
169
910
464
269
397
168
597
461
306
533
412
314
376
321
514
248
160
426
533
402
414
452
334
123
91
178
629
409
204
397
340
175
298
811
323
357
695
689
270
498
726
329
697
778
685
122
910
245
92
414
522
450
499
295
233
358
551
410
131
411
481
288
190
379
597
493
321
220
202
190
529
98
319
267
218
558
260
544
83
300
361
347
608
119
138
775
293
375
411
603
381
181
203
433
270
633
312
440
957
375
627
677
247
253
461
250
620
93
151
511
435
633
451
508
477
556
326
181
205
61
717
319
348
884
668
305
464
756
202
374
228
485
469
359
156
563
229
490
814
345
412
127
126
348
246
587
294
161
167
531
622
303
244
574
234
386
136
301
305
231
567
436
301
748
164
103
675
335
463
210
127
350
617
334
216
862
100
609
810
547
299
393
393
235
299
476
252
112
354
450
166
138
486
233
266
190
488
93
543
213
173
401
455
241
621
238
404
592
426
344
338
367
548
350
311
250
235
506
469
147
413
426
693
316
610
580
444
460
225
591
329
586
400
159
443
465
234
746
803
362
96
571
292
591
54
253
767
369
753
407
131
194
639
444
718
362
341
365
381
110
367
192
397
566
225
206
371
238
617
627
430
170
326
46
376
544
427
445
612
631
518
29
233
666
109
302
453
231
520
215
87
528
231
707
118
462
575
715
475
312
246
341
922
442
467
349
149
173
629
399
311
434
308
380
418
605
198
345
354
553
473
834
638
147
498
43
372
685
704
453
399
492
576
589
113
203
258
383
118
202
409
240
119
871
563
393
296
559
393
223
799
673
36
361
304
196
175
335
176
403
263
247
204
574
108
470
252
205
186
551
581
363
571
225
113
504
63
407
173
140
820
257
234
465
471
56
336
84
546
443
504
260
269
498
238
398
418
371
29
147
443
380
618
422
454
365
380
90
303
247
728
199
275
481
482
582
291
257
566
565
498
405
170
433
517
357
147
330
753
530
105
172
565
460
792
908
566
358
500
580
772
346
727
365
265
167
220
160
352
678
325
122
137
194
515
451
885
387
477
553
380
764
533
252
699
245
346
659
279
770
389
396
583
374
433
2
159
578
348
419
226
542
390
287
286
162
200
138
292
127
445
741
389
307
333
350
375
43
480
204
527
220
151
573
472
359
147
559
384
104
660
379
114
178
314
645
447
531
278
122
511
364
145
521
210
313
407
455
178
394
452
587
340
660
360
546
706
404
767
426
117
286
505
355
258
351
28
763
24
175
550
307
132
365
364
366
434
256
285
251
365
717
552
593
353
347
83
175
304
250
210
552
308
218
431
611
456
223
419
258
450
206
230
237
165
598
390
295
571
276
298
857
485
259
592
134
446
406
130
584
252
362
193
441
187
370
324
237
527
675
264
551
547
202
765
87
275
197
752
622
442
91
884
620
539
811
481
242
95
614
194
439
403
295
305
351
719
210
460
410
385
654
288
483
244
229
84
166
418
484
305
654
103
186
537
193
105
598
334
184
108
318
109
735
667
215
414
207
523
458
126
875
319
228
157
395
347
268
30
267
181
56
249
280
440
793
293
444
202
621
326
94
603
387
313
182
441
105
472
64
451
398
828
642
876
446
342
380
625
612
223
421
775
238
355
389
232
465
235
411
147
144
518
145
287
503
375
624
330
404
309
520
398
477
51
601
268
424
216
654
178
316
307
381
354
446
627
250
673
677
94
280
660
313
237
406
530
215
339
710
292
154
241
291
644
437
236
375
281
556
502
415
475
103
295
331
613
367
480
361
596
351
113
61
707
715
301
329
544
108
631
381
549
639
556
724
795
263
163
247
45
345
128
298
135
246
177
259
204
283
691
191
598
176
507
313
361
217
225
360
477
708
409
438
131
610
212
239
167
538
812
279
300
223
433
116
499
521
386
387
540
557
853
256
79
564
313
206
454
36
273
99
257
178
232
267
471
361
235
344
299
232
788
111
565
362
321
154
643
335
289
407
322
429
350
504
295
564
114
298
550
811
238
307
192
603
806
492
549
461
265
780
328
630
296
439
613
89
812
505
494
334
286
190
193
419
470
308
71
351
269
565
561
492
455
242
359
216
284
198
194
61
337
357
197
753
173
124
328
607
360
333
355
520
97
579
590
358
261
597
687
597
85
425
296
637
601
333
549
596
370
389
349
333
159
413
106
696
661
442
634
287
316
162
485
599
102
249
458
137
344
309
451
497
405
712
292
480
383
682
296
127
63
701
381
921
435
628
294
663
463
545
30
204
333
527
430
264
255
633
72
74
178
370
416
160
804
365
449
144
81
483
450
342
581
569
420
558
209
357
394
408
183
418
494
714
421
199
670
300
277
651
300
453
417
455
313
260
360
670
405
480
260
174
529
224
510
602
522
587
256
542
550
56
112
216
958
295
118
518
107
437
397
420
568
400
20
508
197
526
529
528
258
283
404
540
113
600
402
475
670
391
530
347
239
407
243
577
268
520
318
539
528
110
331
662
103
328
275
494
231
738
113
896
278
456
256
212
169
413
142
326
456
305
493
566
161
39
497
143
559
211
609
597
193
391
134
621
125
232
332
202
237
490
392
314
579
171
201
579
201
272
205
334
361
533
488
66
337
287
632
145
169
370
318
350
576
135
209
535
641
477
446
402
554
309
710
276
494
480
179
468
229
405
394
647
245
481
106
188
158
555
155
414
422
393
111
484
208
485
178
341
289
249
102
411
100
517
417
226
352
625
430
918
241
178
114
287
416
127
133
201
205
251
784
504
537
455
69
156
216
700
311
152
591
305
421
268
582
317
386
647
323
98
197
607
528
371
133
485
475
478
63
273
474
475
397
452
307
628
119
112
191
148
399
691
588
503
153
310
348
483
208
228
248
351
463
534
131
187
566
369
304
624
331
207
412
137
247
368
556
515
401
97
415
361
80
473
240
278
376
485
661
368
325
145
618
312
170
340
541
46
86
215
197
467
630
363
139
280
344
121
483
574
522
222
469
515
99
820
236
682
436
118
473
267
431
286
181
709
378
487
126
399
279
230
621
566
429
333
166
569
356
146
443
506
353
484
689
93
241
568
240
333
464
167
395
436
158
588
365
29
173
243
151
373
545
500
721
796
319
829
291
585
567
188
750
460
436
470
550
91
277
294
256
196
47
161
267
396
70
174
461
383
536
198
769
591
458
605
176
735
408
270
218
241
376
306
521
595
345
304
381
177
18
284
806
145
106
633
814
476
213
547
531
148
173
284
704
712
295
463
420
307
272
792
256
104
215
638
124
686
591
593
778
314
226
585
360
259
492
124
477
359
258
372
610
589
528
416
184
339
277
384
148
445
148
351
737
273
131
675
260
401
154
490
226
678
690
544
139
373
191
340
217
578
568
283
370
359
462
263
520
223
449
318
860
248
745
252
427
503
569
621
531
319
442
180
611
251
116
592
662
458
203
592
95
550
225
520
387
220
443
334
230
324
668
601
352
270
276
559
523
62
574
397
418
353
198
178
254
452
481
345
37
275
200
178
194
78
458
328
186
611
799
453
456
574
536
776
187
542
196
492
500
325
267
736
345
332
541
383
254
513
713
458
353
230
627
175
674
505
353
531
619
232
398
346
417
91
730
296
180
631
375
142
345
672
379
403
468
370
257
568
387
415
224
346
363
359
239
490
549
237
343
226
280
235
456
624
624
603
185
846
151
517
457
387
271
231
484
604
286
378
431
733
139
199
266
119
184
479
302
166
398
434
91
437
249
108
80
674
317
455
471
674
177
593
530
393
832
166
471
385
159
628
196
164
378
186
274
469
728
573
314
594
182
816
741
98
372
239
601
542
446
319
393
505
182
780
453
489
429
485
678
664
293
469
614
555
108
471
320
768
476
100
520
286
174
259
458
318
805
270
272
349
250
323
258
151
262
219
485
495
95
568
672
302
50
550
810
230
692
344
259
293
416
767
513
364
552
308
546
322
264
441
680
900
708
758
272
383
574
380
494
574
230
482
169
236
702
462
336
594
623
376
632
602
697
797
759
440
555
252
510
333
551
116
544
775
539
641
579
661
353
595
101
431
460
232
78
292
456
253
175
610
362
650
346
342
338
721
601
321
248
268
357
501
218
378
36
60
200
501
663
170
449
604
284
272
432
261
378
471
363
327
543
105
167
204
232
539
470
339
327
250
644
87
285
293
320
232
412
133
233
354
630
720
534
345
412
614
265
796
480
499
565
256
179
192
109
84
269
361
343
210
811
259
620
426
326
433
219
178
608
256
783
167
468
198
500
447
428
358
761
281
128
465
595
263
133
888
481
608
84
585
193
619
419
279
552
223
483
513
784
564
499
114
372
236
252
473
569
302
88
348
182
418
316
236
425
651
199
351
412
673
412
341
168
79
469
746
215
327
551
170
237
110
198
88
385
300
273
594
171
157
354
394
219
540
592
286
81
372
630
753
589
379
232
807
318
418
563
511
255
95
226
345
88
528
364
764
326
717
706
451
197
113
402
372
167
234
292
325
307
267
808
355
130
638
457
508
202
29
487
314
163
565
448
323
560
597
721
193
226
610
713
572
250
148
449
343
139
779
308
256
437
122
601
580
380
337
415
350
577
443
220
341
587
204
391
521
87
560
478
365
753
105
493
445
405
484
209
700
332
377
616
721
420
351
110
172
319
215
552
319
357
847
377
495
226
623
391
458
407
310
648
306
537
473
452
376
312
676
338
50
208
244
438
832
470
332
771
203
322
262
305
350
342
297
414
167
575
563
561
158
746
289
835
657
360
297
498
162
206
566
216
365
367
482
334
557
278
553
381
526
704
460
471
519
100
505
363
253
270
866
327
190
451
694
401
235
673
167
250
257
529
39
283
314
439
671
446
441
590
518
346
377
142
345
511
479
153
213
349
58
321
312
448
69
714
397
399
441
203
484
382
424
456
611
439
530
476
558
292
292
367
373
583
459
554
482
176
497
450
300
609
147
649
220
639
263
636
419
511
442
500
464
25
666
141
639
379
294
243
733
270
431
177
257
616
244
252
406
249
625
302
424
425
425
758
314
381
723
266
132
174
429
292
228
117
258
790
197
469
412
419
521
287
376
287
540
430
358
713
450
319
429
218
542
401
96
337
411
803
448
260
641
153
665
590
591
641
633
701
460
258
450
240
426
225
244
362
200
725
465
260
670
215
123
541
353
316
168
307
260
689
404
546
277
254
260
338
161
534
244
689
105
246
389
599
170
112
252
601
350
615
132
480
171
455
76
129
234
162
654
201
315
124
465
154
492
429
109
525
144
340
542
476
527
657
74
375
347
485
528
219
389
305
416
401
749
258
620
365
363
256
430
59
335
509
209
289
595
127
428
502
440
542
887
500
442
758
433
260
486
571
204
249
478
709
168
435
266
421
109
309
358
128
205
698
238
233
564
205
182
289
144
279
188
98
696
280
366
308
141
485
376
499
416
327
267
217
946
378
423
584
246
489
518
264
89
638
208
686
183
165
226
21
278
552
446
448
598
308
470
197
264
292
255
223
733
813
367
518
457
410
160
413
408
496
365
404
520
151
471
431
322
412
405
96
150
92
364
274
539
314
110
272
264
344
452
796
323
488
527
440
132
321
571
509
326
477
83
537
801
703
245
552
568
323
838
193
232
666
282
70
329
220
303
399
314
312
249
214
491
249
297
192
519
259
725
270
409
575
747
407
479
550
379
215
771
257
656
219
363
164
683
178
87
222
320
521
221
389
376
509
275
191
197
331
438
115
107
184
376
768
263
217
491
262
276
142
436
562
544
576
450
113
881
516
133
779
290
519
493
685
80
318
553
297
551
543
463
335
231
384
295
183
666
94
699
349
495
468
514
510
386
454
378
549
312
58
704
342
265
430
559
578
146
213
432
258
279
217
750
492
793
308
733
538
320
427
97
148
552
435
659
537
363
27
473
390
330
394
476
483
152
471
307
95
289
316
425
274
169
391
533
178
132
555
321
367
180
508
5
621
400
190
566
135
726
297
133
365
502
54
314
729
253
45
145
376
57
387
407
540
584
385
551
196
354
344
676
55
328
233
48
164
206
283
331
353
258
149
516
340
554
409
276
456
461
227
744
141
194
137
523
333
289
278
125
224
128
209
381
152
302
510
576
97
158
312
705
292
585
243
384
232
276
78
332
294
307
531
462
448
52
141
216
523
377
232
156
382
356
331
202
92
807
660
314
701
432
499
281
226
750
907
233
295
254
476
341
519
670
37
98
200
238
166
724
203
391
472
427
544
498
381
231
294
803
586
540
283
302
219
389
562
255
470
171
153
517
127
378
189
199
485
184
210
196
252
394
349
421
558
545
336
314
362
369
103
591
428
370
664
476
352
294
720
132
355
324
670
127
39
362
370
100
486
622
444
699
233
301
663
199
344
230
552
145
405
731
900
121
109
578
223
566
301
85
706
336
495
86
643
324
482
584
297
192
263
386
691
69
306
66
278
476
592
697
446
20
146
500
367
331
147
303
433
173
704
310
196
112
487
451
143
326
601
115
880
395
287
362
786
427
279
718
206
248
583
513
232
259
520
735
457
341
719
542
602
520
336
484
293
183
244
149
701
550
545
524
470
458
420
571
82
505
674
494
349
689
464
634
306
439
400
96
485
313
238
314
301
411
213
203
449
116
561
472
429
199
196
376
276
481
158
401
394
294
577
328
320
465
527
506
307
830
238
497
367
469
563
518
287
399
180
386
374
162
300
386
804
283
180
139
177
209
167
174
259
584
284
238
210
347
343
360
500
314
228
202
333
504
248
178
825
385
57
280
511
632
337
145
611
371
494
236
506
274
552
302
466
655
139
396
89
440
338
354
225
537
290
548
477
321
255
556
163
242
408
351
201
570
59
616
282
302
423
242
710
466
769
434
255
418
133
658
707
68
740
69
445
491
92
219
796
232
128
475
499
488
136
426
145
281
850
277
477
642
243
428
273
415
606
620
746
461
633
290
263
289
365
828
326
637
934
347
134
637
793
303
370
690
185
395
518
620
215
145
491
554
514
794
812
640
344
334
368
248
283
238
511
552
441
418
243
327
443
567
296
585
219
355
240
258
184
342
505
208
362
246
189
170
329
532
671
410
496
390
62
363
330
225
499
489
410
370
338
305
486
483
657
553
644
228
90
515
542
328
452
232
238
184
327
677
333
478
496
370
166
644
408
301
648
302
428
251
402
535
574
625
888
625
183
288
447
530
853
71
516
566
420
446
669
139
305
249
452
133
155
301
672
497
135
508
219
117
230
278
503
751
524
435
430
640
297
747
109
460
737
588
426
517
191
786
82
197
742
326
317
212
426
207
483
485
666
576
339
239
403
605
389
621
503
341
297
309
591
397
414
314
223
278
419
163
266
382
342
249
493
913
176
208
80
822
889
648
320
717
346
201
411
388
511
344
573
493
156
132
237
259
633
471
781
195
369
306
326
344
531
774
255
624
47
441
77
169
133
533
559
131
129
567
192
169
564
403
70
216
572
439
491
294
237
456
323
352
322
504
246
352
353
401
517
320
457
624
564
390
78
768
44
78
275
370
180
422
375
394
445
100
479
357
621
808
378
494
325
178
240
331
238
256
499
55
265
245
252
286
444
314
93
481
256
884
355
4
507
518
483
204
364
565
211
194
123
206
54
280
365
169
174
295
99
330
361
316
471
381
47
130
227
87
504
742
464
405
407
357
551
914
100
178
611
704
197
574
100
455
616
713
114
591
569
468
511
697
511
194
823
152
265
521
364
546
340
714
234
426
210
936
244
446
231
37
327
106
37
282
336
416
502
535
72
241
455
510
71
362
493
180
99
276
620
593
501
493
470
201
64
517
165
578
486
232
396
398
143
331
257
570
331
226
536
424
81
108
348
365
593
394
47
292
166
231
221
277
443
698
320
193
369
94
101
193
764
253
278
331
667
668
163
335
70
264
241
559
243
236
275
178
149
650
293
184
568
666
355
141
198
327
504
371
147
278
553
651
767
403
163
494
564
885
359
104
339
596
822
731
55
710
151
272
167
136
108
208
371
296
130
464
352
229
507
832
335
267
558
404
606
357
230
452
95
157
209
484
121
199
687
595
399
102
323
558
229
326
307
580
365
494
134
307
168
512
366
221
151
357
235
578
169
520
621
201
410
492
280
94
675
438
173
411
345
225
415
54
99
196
642
98
508
308
534
337
507
437
666
588
542
96
395
517
500
476
103
748
351
656
417
562
431
534
650
676
312
184
431
486
309
321
360
200
547
108
226
692
484
298
490
511
258
640
589
507
659
97
645
339
513
184
527
429
352
470
571
270
349
655
389
597
289
275
182
691
259
382
330
212
423
307
537
94
405
341
156
479
346
378
201
749
247
313
240
200
376
275
372
346
280
471
756
604
156
138
690
534
411
162
311
90
356
206
447
503
354
363
282
600
745
352
531
593
222
552
158
233
534
176
365
833
254
251
268
318
145
335
81
607
516
240
173
30
167
629
477
305
302
698
519
406
581
183
297
17
327
220
714
477
231
620
290
145
325
221
290
413
538
278
332
317
399
620
139
763
387
760
340
116
189
111
184
61
497
483
480
399
35
562
322
632
501
351
671
291
299
429
224
488
107
420
501
587
140
282
289
683
271
916
321
559
684
363
259
714
279
352
859
301
289
327
531
602
113
325
351
238
270
531
427
349
121
602
301
271
478
74
527
536
260
338
326
298
295
513
562
438
387
549
436
231
354
429
163
496
381
283
45
514
383
681
297
374
246
356
417
324
105
448
331
478
90
115
675
254
344
272
558
584
631
311
152
249
735
264
261
258
922
764
514
500
241
712
880
142
157
373
366
202
359
437
133
618
395
263
600
768
311
285
561
188
561
583
153
420
197
501
323
475
424
725
501
173
196
708
576
376
270
502
252
577
191
385
424
442
190
772
376
119
633
335
326
416
172
276
537
324
324
320
403
486
60
197
286
270
315
522
541
387
210
245
341
459
252
123
249
605
428
384
483
516
253
243
286
249
383
385
172
414
300
471
349
78
399
426
668
619
111
144
646
232
649
651
334
460
156
612
663
237
185
534
249
613
296
464
440
234
619
808
552
96
668
582
398
487
281
380
584
110
268
292
531
320
551
656
689
282
253
888
401
529
132
757
377
451
244
147
481
568
675
798
491
476
348
205
403
540
405
435
422
75
451
592
173
415
722
347
352
551
492
696
338
94
293
734
413
73
435
332
192
297
333
126
177
154
641
537
192
448
229
442
258
466
648
306
526
412
283
438
105
505
171
238
734
370
354
166
532
377
216
714
411
400
127
382
237
729
436
301
538
462
400
738
338
178
399
284
375
349
409
69
627
282
356
590
246
176
315
507
248
152
221
155
390
376
766
296
589
280
210
295
265
332
400
525
284
57
371
162
272
167
811
127
384
384
682
520
151
608
486
69
54
679
504
704
200
603
299
351
331
59
276
774
361
49
72
191
440
382
468
280
349
453
657
354
322
46
133
690
390
242
362
297
386
59
356
361
615
157
529
667
95
544
349
545
290
184
220
251
404
221
323
122
402
161
237
571
645
286
477
190
216
460
656
915
723
272
213
269
345
439
539
374
187
136
361
168
39
578
358
261
220
348
579
380
263
171
154
291
550
175
285
295
293
503
156
677
139
448
322
103
573
566
290
388
698
577
377
262
656
585
674
728
387
225
283
337
202
175
282
149
623
489
323
673
628
437
280
239
193
607
337
297
174
294
313
355
216
369
541
705
810
471
228
612
321
226
637
65
723
384
194
36
520
391
715
372
124
271
166
255
511
663
291
235
497
362
421
401
936
454
231
323
601
362
410
259
215
822
516
453
485
387
366
571
366
461
715
157
391
427
185
572
235
325
57
301
261
390
626
146
435
612
560
629
733
49
312
194
559
532
427
365
211
571
442
313
383
664
512
121
565
208
417
788
528
393
376
260
500
296
435
205
398
252
441
505
625
186
323
324
388
328
257
679
674
414
131
291
164
386
244
90
473
587
431
344
543
222
911
383
211
500
302
511
116
472
343
319
210
171
537
425
188
172
391
172
295
334
221
654
65
532
577
326
123
233
538
110
265
414
200
287
399
489
451
154
78
201
228
279
757
197
129
144
536
177
580
137
386
307
433
134
679
106
327
635
341
209
518
424
582
363
397
145
901
528
640
586
543
168
177
312
246
232
737
868
631
202
349
59
530
690
392
601
109
286
397
680
368
335
370
114
127
341
505
281
393
439
303
484
522
777
751
363
322
359
177
111
326
331
464
401
238
444
204
98
431
121
539
312
356
276
637
166
520
823
557
107
900
401
557
634
353
546
303
679
216
238
794
611
182
511
443
316
442
267
323
419
541
177
71
406
235
592
347
308
506
453
185
382
308
372
269
661
671
319
392
308
672
195
378
383
224
365
555
198
454
464
120
106
203
315
450
605
634
376
106
550
415
643
420
378
321
308
199
562
423
145
390
373
296
430
278
648
362
204
324
634
859
176
411
325
509
96
272
592
636
56
619
254
351
673
326
409
520
484
263
404
106
220
354
418
392
548
390
455
288
472
274
665
166
267
470
342
486
520
465
685
647
188
319
154
636
294
333
193
593
264
109
194
320
371
106
120
493
255
358
827
209
332
235
167
509
678
254
205
300
283
193
531
481
627
608
186
158
306
380
130
271
132
304
188
301
722
99
350
483
230
185
487
125
220
301
140
179
133
165
401
353
424
178
382
225
23
454
480
560
354
771
807
537
801
446
600
305
689
41
537
655
361
218
221
306
352
522
411
424
216
522
565
360
566
298
760
648
80
509
432
385
392
947
364
247
259
347
334
92
445
422
329
308
28
822
188
404
593
617
393
366
544
360
400
51
552
719
716
199
649
303
173
566
592
161
389
437
532
218
558
537
252
488
324
371
552
233
585
438
451
232
193
171
362
424
285
186
474
520
324
646
244
331
477
326
510
543
356
249
651
199
328
311
118
126
647
432
201
584
321
477
740
340
338
376
301
334
308
424
523
655
467
253
354
374
289
238
506
54
211
179
211
730
660
512
192
793
151
321
290
270
383
89
474
304
362
283
386
232
335
214
252
146
764
260
528
132
413
115
233
362
568
326
422
123
205
438
299
445
443
771
605
217
311
503
528
312
735
336
202
628
349
499
64
618
280
632
220
625
505
490
734
696
477
111
465
143
321
288
294
239
234
309
207
124
465
272
113
107
150
456
380
174
212
199
559
357
641
616
299
252
501
149
236
400
520
169
271
321
185
274
136
704
490
450
301
273
824
552
821
422
454
221
287
244
138
696
273
695
502
427
381
532
374
325
402
646
300
234
339
329
682
314
479
442
520
654
373
80
105
244
304
783
528
217
629
487
502
319
253
915
507
309
388
208
451
113
221
174
703
194
157
286
458
176
439
434
391
436
385
174
752
566
108
423
84
157
252
618
425
216
311
683
440
283
710
327
532
726
645
788
225
162
577
506
398
406
549
844
241
365
378
88
56
151
591
800
536
256
141
331
389
516
606
626
574
306
665
506
103
592
446
95
91
775
485
205
157
481
175
172
425
389
412
191
687
490
323
378
326
294
425
411
425
676
321
427
447
272
385
486
653
364
525
538
188
362
203
621
168
368
528
247
499
151
379
179
679
244
301
229
182
178
184
547
560
41
608
205
701
230
659
257
511
290
234
253
546
387
692
329
421
251
243
279
375
448
237
98
671
322
197
173
544
78
484
129
158
221
331
248
143
295
352
216
907
301
344
288
328
70
312
346
205
181
204
212
311
499
274
797
790
185
795
175
301
360
288
512
181
624
321
340
430
619
226
110
391
123
500
443
171
319
489
283
613
492
30
355
475
247
357
106
358
401
420
634
250
73
452
224
571
108
567
556
613
262
228
646
503
349
583
200
170
96
241
454
55
669
407
464
165
687
211
699
231
201
421
214
416
237
765
326
892
127
605
515
278
36
98
324
418
290
140
451
112
334
451
397
823
80
284
484
201
315
364
241
338
362
233
315
600
565
289
648
776
471
316
60
416
554
114
658
394
315
396
262
479
265
150
265
190
462
463
229
118
425
267
293
553
543
139
350
356
669
257
624
480
275
548
412
329
144
671
419
576
486
242
203
367
653
251
672
19
245
504
464
736
281
321
189
366
213
358
545
377
90
437
198
403
744
449
12
349
334
523
161
431
168
316
134
144
475
224
208
482
88
273
336
514
546
555
230
459
618
528
412
557
35
529
544
499
508
154
265
123
196
98
475
607
382
348
267
272
674
73
453
614
64
385
214
96
610
356
286
91
408
261
495
471
495
384
272
339
51
403
181
256
546
360
476
343
354
556
409
445
628
236
416
862
261
520
955
232
382
132
489
478
340
436
544
459
429
427
166
489
489
290
321
438
317
230
773
524
548
461
504
170
473
292
787
556
69
398
396
586
446
483
400
432
161
614
196
271
411
130
626
516
475
89
90
300
75
174
735
116
352
295
823
519
222
404
229
584
223
568
513
247
329
150
170
94
233
492
758
513
450
370
872
571
213
336
257
439
461
786
187
493
529
788
375
186
480
499
482
300
131
398
509
528
694
787
417
290
250
768
437
511
365
446
647
467
488
705
675
656
629
346
836
330
749
444
304
383
109
627
58
549
382
36
173
559
196
253
635
473
810
464
781
889
622
340
109
81
698
360
204
419
570
382
358
523
948
326
524
98
228
361
622
115
460
113
349
439
529
166
385
506
343
422
145
633
344
478
273
640
539
328
96
374
55
379
213
243
420
146
286
269
516
316
580
396
658
189
105
444
476
471
440
127
622
422
353
79
308
106
476
401
551
531
374
371
201
417
166
651
239
556
374
197
253
161
309
690
537
433
265
380
470
494
239
444
413
511
326
379
540
183
537
344
474
491
841
314
217
295
557
388
152
222
506
549
156
378
524
288
193
629
197
534
151
746
371
386
592
153
268
511
256
653
867
182
802
256
300
334
414
656
619
167
604
510
318
130
546
298
590
430
354
302
495
591
540
438
523
432
634
464
384
429
439
502
555
278
554
717
146
135
181
448
182
343
283
535
141
329
534
386
528
242
830
177
260
275
404
414
87
683
210
294
735
152
229
339
61
382
416
266
733
173
234
338
522
552
533
751
574
605
106
732
482
384
521
124
107
482
102
202
339
494
447
332
337
405
223
591
427
756
678
430
142
442
478
625
204
277
436
238
523
347
335
348
408
468
290
491
442
599
559
145
445
414
675
140
316
448
129
270
572
119
446
597
229
282
238
84
398
579
217
568
189
631
169
210
593
662
376
752
99
233
312
336
766
535
606
675
315
422
493
288
258
128
303
604
515
714
357
341
394
395
143
220
122
752
674
145
552
544
132
588
336
120
78
306
705
200
131
357
150
179
493
371
227
592
355
352
138
359
133
526
658
495
125
517
733
832
225
375
460
305
262
139
647
477
614
186
102
335
362
567
431
107
95
664
462
360
762
212
344
754
614
53
528
254
504
531
346
207
406
444
212
827
287
184
382
502
201
502
510
154
237
304
474
112
319
749
328
329
262
283
632
140
609
612
494
461
527
689
231
280
156
304
303
457
575
237
261
337
475
851
423
316
431
456
385
148
98
196
547
298
743
112
649
549
373
257
543
417
215
426
98
201
272
318
228
382
230
556
524
351
901
431
501
443
239
161
329
647
603
328
192
350
163
493
203
194
529
433
355
484
436
336
103
366
551
313
422
468
122
273
487
233
49
296
119
412
132
630
554
116
322
269
201
640
310
405
649
296
792
445
89
266
433
129
746
93
768
405
488
573
316
183
371
257
396
339
376
180
384
353
436
248
210
319
658
272
529
181
228
201
561
93
269
69
610
534
219
391
266
42
159
325
495
927
633
374
283
381
539
313
607
113
171
172
435
374
534
388
115
317
584
215
275
291
618
766
593
407
358
256
116
365
141
287
414
636
418
536
200
293
97
527
686
286
164
827
445
653
507
533
176
21
268
417
102
591
367
120
524
375
162
419
840
684
550
260
330
148
492
458
596
253
389
475
721
334
491
251
575
584
421
611
639
405
244
521
369
107
749
531
166
634
489
183
274
581
573
604
830
159
291
579
185
353
526
317
259
544
579
447
623
315
638
204
616
364
308
386
443
632
535
620
426
351
368
696
119
343
681
265
327
497
205
630
58
366
660
357
471
383
229
200
445
290
218
363
436
127
572
495
244
291
387
331
280
560
588
864
618
648
391
222
493
545
431
552
571
170
322
108
527
292
110
466
358
671
43
541
454
85
244
416
332
658
811
370
432
591
353
489
220
635
345
391
412
206
302
147
293
916
423
565
153
753
116
49
272
765
205
596
380
257
475
351
194
571
317
640
286
283
226
93
436
571
247
243
251
561
687
136
468
425
392
316
161
523
396
184
414
655
53
437
507
225
465
436
234
477
666
311
684
277
23
128
304
495
503
305
135
472
187
476
369
320
325
650
473
359
441
280
333
475
101
495
539
666
129
498
548
205
450
220
228
254
479
637
210
634
38
231
209
274
478
562
252
384
364
476
256
185
754
252
499
376
330
357
545
346
417
485
312
322
347
492
190
217
350
719
331
537
184
223
128
188
334
483
254
185
703
466
270
731
493
171
683
460
711
649
433
363
330
499
304
169
658
568
651
281
586
319
472
142
299
563
286
392
283
293
394
160
321
446
723
331
367
348
578
544
318
369
143
501
672
212
551
312
474
425
330
613
523
377
260
606
576
679
319
642
448
444
230
240
199
555
324
116
220
352
884
311
435
394
250
459
364
590
705
188
452
335
621
172
501
756
322
282
604
130
582
576
124
262
493
452
546
144
361
438
362
274
542
388
434
581
569
259
114
404
393
252
406
564
356
363
379
134
177
475
257
323
420
247
463
34
549
305
507
286
370
190
853
609
405
637
151
575
301
525
347
344
689
151
426
481
451
321
60
339
327
62
625
410
227
491
622
483
185
612
476
600
248
90
354
652
213
193
645
149
555
437
378
696
543
404
644
159
163
206
151
557
431
248
402
289
437
216
685
539
443
622
128
313
437
350
390
468
159
568
508
562
239
228
476
151
595
452
58
691
259
483
438
55
351
637
125
273
206
638
371
278
382
430
269
259
114
284
131
508
622
237
192
397
222
240
526
264
219
522
750
678
158
184
714
575
444
386
251
241
514
372
278
78
680
282
152
379
155
471
131
676
239
355
192
434
475
399
716
128
453
512
697
244
492
697
363
511
807
208
274
629
689
651
202
694
24
284
412
159
325
813
274
126
204
204
599
302
334
98
574
253
65
401
213
514
399
126
572
526
587
706
694
499
547
434
615
266
52
559
366
708
308
189
494
224
137
619
522
711
235
158
644
467
719
210
584
22
329
284
539
196
145
320
527
383
324
802
576
380
444
118
527
524
163
262
543
406
215
108
572
807
254
287
233
282
867
727
697
164
149
742
171
298
639
515
255
392
730
205
219
37
343
444
495
28
111
365
373
406
652
466
439
133
645
682
952
332
239
271
448
529
357
706
508
179
71
546
268
167
45
206
467
519
362
299
622
190
576
32
337
276
321
185
229
506
362
133
222
418
864
194
279
348
256
368
353
548
122
210
385
415
328
315
121
680
402
511
607
299
890
445
68
181
368
178
793
567
569
195
347
490
103
6
322
373
497
111
265
575
510
716
589
444
237
105
299
127
344
162
231
49
322
412
249
218
184
484
99
418
510
495
460
171
264
458
337
204
606
511
418
280
836
339
425
167
692
370
286
233
370
741
158
250
317
321
340
98
556
243
535
634
403
216
300
473
418
610
391
323
511
186
354
245
722
529
478
453
115
184
428
517
362
399
153
195
303
495
203
142
435
588
225
559
215
904
189
356
855
347
443
342
442
578
530
361
490
320
197
257
136
287
38
110
745
314
96
151
490
407
277
236
620
450
396
347
286
436
573
259
107
382
564
470
512
505
292
364
235
638
201
270
327
384
625
378
270
428
122
344
235
359
720
393
216
205
149
399
647
26
497
870
268
129
428
217
502
586
320
365
66
223
571
461
584
327
453
513
140
420
412
173
639
538
354
305
364
228
317
194
149
575
255
237
89
306
263
197
299
695
617
346
388
425
139
221
363
39
216
326
399
490
50
61
594
339
240
296
250
171
399
425
231
392
433
265
266
370
193
511
142
360
358
297
539
512
77
163
418
424
428
648
484
144
528
678
137
251
585
270
154
206
251
747
514
477
437
347
553
278
476
675
662
741
263
715
56
708
648
179
216
384
452
479
391
542
436
161
127
726
292
168
170
112
451
481
354
312
355
269
670
121
416
869
674
510
134
655
286
242
346
598
374
277
402
477
31
578
302
462
604
206
248
371
321
34
614
767
467
302
197
204
109
225
455
473
441
513
111
148
292
312
489
115
150
377
775
783
169
425
570
567
413
900
161
287
363
195
258
502
658
133
153
207
514
119
142
135
598
314
126
313
398
131
403
152
740
216
685
360
701
694
71
510
628
111
483
105
211
400
155
548
306
594
553
159
205
466
377
372
682
173
516
280
127
459
130
565
258
421
771
275
607
297
75
386
561
309
366
368
160
280
378
453
206
426
122
150
413
204
247
356
435
391
271
433
577
385
675
197
419
131
53
39
148
275
381
463
343
659
220
499
102
429
324
486
425
529
309
270
149
130
545
495
348
496
309
526
150
129
276
301
151
775
228
488
795
175
680
271
167
490
306
415
307
24
445
40
518
294
41
389
67
76
615
619
340
745
515
214
66
354
528
286
327
100
183
97
245
760
256
417
442
328
675
216
471
660
379
515
171
674
392
313
551
425
336
582
167
437
350
103
262
391
242
564
328
311
676
580
821
523
765
62
134
645
244
239
165
205
213
476
387
280
299
336
559
826
338
443
371
659
378
479
223
701
603
156
351
93
249
391
477
404
176
217
573
672
228
392
350
284
907
191
847
240
519
493
440
277
408
429
568
467
406
344
755
661
407
450
512
86
590
237
288
709
433
372
514
636
196
411
633
326
272
245
506
454
273
324
241
606
158
154
134
353
139
184
562
98
632
816
418
239
177
308
318
758
158
196
224
77
193
359
523
194
275
362
354
689
200
294
544
427
347
602
312
463
376
612
479
529
331
123
233
337
225
206
312
660
179
648
487
439
161
430
500
579
253
325
477
201
292
310
561
284
136
189
180
325
248
461
156
65
653
200
725
341
355
648
310
7
112
500
357
271
467
166
676
423
132
690
531
164
427
400
186
247
363
340
186
529
663
584
406
245
411
201
299
225
175
519
615
277
919
668
558
156
223
140
487
421
329
304
629
543
311
748
454
546
257
311
348
600
728
579
368
714
516
347
559
532
350
256
510
356
421
413
590
455
230
431
297
474
332
550
395
372
283
501
450
261
693
21
595
541
224
273
642
568
746
681
413
177
544
106
721
482
262
392
419
266
488
305
418
252
613
406
206
702
49
242
293
342
103
634
350
188
577
232
334
330
820
554
71
646
148
418
654
534
102
194
721
718
610
262
287
314
561
402
342
186
122
170
359
684
582
423
675
311
47
364
347
401
219
144
366
125
223
323
411
180
359
176
93
399
452
559
683
246
338
502
600
185
461
112
439
91
526
243
818
113
438
583
193
898
470
438
297
535
136
442
368
718
283
614
650
448
733
362
600
228
523
194
330
568
328
263
397
400
287
624
692
519
873
450
387
88
245
364
677
482
545
247
706
876
282
147
369
536
563
117
241
125
189
252
140
145
191
413
337
410
711
487
576
546
221
211
99
86
391
89
555
80
231
225
38
831
186
235
286
607
242
696
266
721
259
359
106
142
344
168
198
406
444
854
366
665
181
506
162
214
885
436
351
553
273
562
392
517
53
212
348
268
237
433
202
412
572
105
181
194
473
444
250
728
151
908
393
198
550
392
320
216
364
429
201
455
345
331
105
432
235
612
333
494
397
293
435
426
368
666
520
306
520
614
217
224
897
536
487
408
348
494
55
401
357
360
121
545
591
510
177
162
174
674
517
341
303
692
640
570
714
466
826
59
244
410
205
69
303
311
107
609
244
438
116
494
197
190
344
280
806
449
336
576
61
227
151
173
66
295
252
459
559
97
514
629
535
181
257
390
195
194
28
297
281
337
185
648
258
359
260
36
34
458
181
265
807
342
13
98
560
462
204
312
678
183
864
248
523
409
776
715
556
164
487
522
861
338
418
145
789
181
321
294
285
224
534
357
658
226
189
405
288
258
86
49
320
60
400
255
273
319
241
519
207
651
375
412
689
924
267
182
99
148
116
343
669
118
324
146
151
366
424
329
59
173
749
209
358
466
375
237
428
265
331
163
54
643
648
140
386
253
82
177
199
455
187
488
623
416
116
355
219
243
296
693
127
140
495
515
396
409
202
820
307
517
888
120
500
154
379
476
521
322
714
460
656
90
621
407
618
403
608
568
237
502
149
623
455
204
342
173
54
356
502
430
741
324
455
435
262
92
113
835
694
461
131
848
684
267
364
541
258
89
684
114
229
186
450
427
507
309
416
185
229
139
336
119
720
467
338
506
536
545
426
168
616
418
179
254
300
508
292
162
452
421
426
177
127
538
272
274
352
607
105
572
301
560
594
489
332
229
145
228
273
256
454
395
313
324
212
355
589
104
430
175
524
499
527
199
283
315
506
362
611
363
852
705
486
52
439
265
66
341
434
549
604
587
159
270
305
243
291
695
509
480
840
302
211
279
584
169
505
838
62
444
215
262
393
153
279
345
342
317
806
168
452
262
904
627
310
132
267
386
491
173
292
135
242
180
210
692
782
337
176
620
698
124
321
221
318
428
413
177
580
319
140
629
688
388
188
805
233
585
537
910
520
144
484
444
335
828
443
283
365
631
323
265
325
228
591
443
338
253
61
563
666
534
408
145
494
475
274
440
340
461
236
235
280
565
236
301
162
597
253
360
294
576
706
142
346
294
432
133
332
587
100
99
355
491
323
397
351
569
120
177
215
349
436
679
388
380
380
563
658
133
574
585
182
120
341
227
250
422
668
569
337
104
575
617
607
294
322
650
572
916
316
266
246
356
602
374
360
180
445
501
198
167
354
289
366
252
659
452
144
354
206
566
527
341
323
573
554
98
614
473
550
322
380
226
278
495
721
593
331
367
328
589
292
451
463
731
659
238
470
474
240
422
164
353
179
431
172
198
243
401
427
357
538
551
537
757
252
401
529
482
575
271
625
544
273
241
384
918
287
388
287
426
319
263
200
259
413
235
777
558
114
530
384
246
217
461
320
533
155
551
362
710
717
172
193
533
475
294
551
336
277
360
323
309
530
570
464
720
554
374
714
168
577
538
770
571
424
419
419
57
217
498
290
395
147
204
599
442
464
320
300
188
323
348
521
182
314
480
129
238
337
594
151
405
834
567
567
477
617
450
135
673
162
318
189
331
383
307
322
324
700
481
240
749
602
393
644
243
353
303
549
154
171
399
302
269
616
266
451
298
671
589
378
448
300
273
570
635
799
265
322
421
393
195
478
388
355
327
404
541
379
341
442
330
132
165
503
187
674
71
331
423
612
240
341
434
204
147
116
578
583
345
421
604
456
529
608
246
623
359
727
265
499
635
531
283
150
88
537
827
541
429
259
169
731
241
242
282
242
350
199
264
812
490
915
153
375
416
548
326
126
111
524
251
316
187
585
443
407
543
280
440
242
213
171
344
928
316
106
124
893
627
381
150
287
57
257
438
216
204
637
298
545
403
649
319
515
548
189
485
414
309
386
424
757
570
389
142
99
482
450
642
64
660
411
552
342
115
298
712
307
381
494
344
333
454
285
500
334
472
329
201
545
520
670
364
153
271
515
871
348
237
77
419
339
257
855
114
399
284
492
310
274
321
182
241
435
277
198
609
80
498
95
168
131
117
180
403
794
521
267
434
485
218
368
331
207
140
406
204
165
394
287
706
427
291
166
440
211
590
104
236
593
88
347
444
465
48
473
578
599
443
440
290
316
203
271
359
346
236
459
403
906
395
805
479
486
713
77
472
715
310
708
306
576
271
768
122
334
375
503
228
673
374
485
332
62
621
360
270
458
280
151
227
767
345
334
476
379
258
221
332
423
635
649
255
370
180
503
414
88
260
238
116
137
266
296
201
854
507
494
632
398
322
892
623
713
521
333
331
427
100
679
438
454
786
329
373
375
77
434
260
201
197
335
578
359
482
315
540
683
650
619
234
469
282
151
530
543
457
141
201
505
467
230
472
354
185
568
327
465
285
276
568
610
304
549
194
213
162
313
528
347
518
73
714
78
557
519
356
652
504
701
231
200
213
159
99
298
389
514
267
651
285
461
304
246
439
204
594
372
246
214
206
371
619
480
320
447
448
328
58
918
669
144
623
330
373
214
160
506
504
429
526
385
664
595
258
501
434
151
274
213
540
309
305
153
484
246
230
811
489
365
374
220
831
382
340
258
608
427
666
423
358
301
541
569
342
510
356
606
369
336
420
303
189
674
336
672
326
692
327
731
517
130
440
148
30
190
138
181
370
517
700
232
396
706
753
579
512
451
397
414
466
126
540
353
763
384
261
333
244
197
139
793
419
237
275
758
475
281
789
218
638
199
390
430
117
346
155
378
69
334
272
621
608
362
268
146
621
430
170
169
575
195
558
173
616
433
268
541
85
239
319
926
280
113
414
590
408
66
380
323
266
154
229
299
428
185
635
375
238
683
501
299
410
263
38
446
451
257
370
217
360
691
167
316
111
555
199
210
781
625
603
291
352
103
480
128
288
550
522
505
256
705
408
285
181
783
379
607
271
440
511
270
27
772
214
377
311
134
331
418
102
232
284
113
624
525
531
88
293
474
662
386
73
305
277
321
182
542
307
324
621
317
844
182
602
482
349
493
432
168
427
71
383
212
352
260
377
493
354
49
554
690
611
150
338
393
327
467
248
194
59
337
286
126
389
413
606
338
100
51
342
528
496
569
239
294
333
261
641
773
355
610
640
582
533
463
287
286
450
606
365
498
88
504
139
157
142
526
550
214
520
296
637
63
261
851
476
679
395
495
188
232
288
610
156
101
528
764
189
359
695
370
502
295
544
289
817
176
141
168
109
432
140
104
355
311
431
239
238
508
493
283
638
827
540
170
253
198
142
596
401
548
197
442
632
373
506
275
319
80
240
407
22
246
222
117
188
161
176
188
379
665
323
630
170
248
598
53
501
301
585
282
114
328
539
367
182
224
528
613
362
54
471
362
492
176
365
614
156
304
424
446
893
738
368
535
496
529
268
520
593
401
256
34
393
306
267
497
298
285
379
380
586
328
103
376
284
219
359
126
450
582
537
250
253
43
771
335
435
192
250
708
502
207
329
676
476
80
25
481
414
641
582
278
455
179
386
287
175
298
256
438
555
370
665
579
457
443
179
543
619
369
690
88
371
418
289
228
555
758
670
321
48
607
396
566
703
192
484
267
146
370
247
582
162
143
232
237
765
375
239
423
476
543
290
269
304
712
642
61
523
237
111
622
218
193
323
262
752
160
753
404
282
362
191
338
399
417
593
172
127
218
639
408
404
305
273
190
139
93
67
375
551
97
777
261
85
356
594
276
323
203
797
374
253
450
145
495
294
474
208
506
416
364
718
251
335
544
395
455
205
726
548
98
294
543
251
239
411
161
683
316
522
614
319
470
542
770
555
150
441
111
92
629
268
390
462
391
303
309
271
530
456
575
312
299
434
248
384
223
473
322
561
372
263
607
603
680
704
252
603
667
520
462
714
448
443
129
504
596
496
662
628
201
427
190
642
528
416
285
698
513
104
395
421
249
548
515
308
378
493
185
604
60
262
368
372
249
331
207
277
760
245
489
463
341
58
323
387
324
113
213
293
489
353
301
118
264
165
443
603
172
371
625
210
648
396
150
175
383
302
608
233
552
549
409
203
164
416
381
592
314
462
38
392
490
396
56
455
252
563
409
330
394
212
377
591
431
428
464
129
107
507
150
347
331
184
625
313
585
430
159
266
206
71
566
517
338
351
160
406
412
227
549
514
648
291
535
151
497
238
140
610
144
839
181
352
358
740
720
455
212
447
304
283
138
260
397
549
500
705
379
343
554
77
567
146
271
95
388
235
246
519
184
490
854
215
203
850
476
190
308
427
167
863
268
315
306
434
541
786
440
642
352
537
195
250
706
640
398
320
632
593
533
526
566
359
222
159
141
644
470
554
27
493
494
618
218
596
217
518
391
211
660
429
449
385
243
260
431
102
451
501
155
138
104
501
362
380
393
390
243
166
145
246
421
332
332
557
259
311
286
319
376
28
171
683
697
366
338
261
426
256
495
595
627
552
170
125
327
239
270
354
463
144
573
223
390
327
624
712
569
360
548
392
387
206
277
361
376
260
660
462
91
229
633
454
350
449
453
506
418
473
207
353
107
203
169
432
122
117
490
265
191
362
535
640
506
528
462
616
165
509
561
377
600
596
290
169
398
627
138
234
496
277
324
471
182
189
421
770
543
554
372
71
592
308
408
180
713
156
569
156
364
698
736
466
323
135
668
495
334
277
313
819
156
249
62
813
42
653
216
208
431
138
648
28
568
683
305
115
347
712
116
519
291
549
217
195
136
291
302
119
204
197
578
432
335
358
148
497
182
214
558
444
735
348
284
348
715
344
701
457
663
537
683
797
423
342
581
492
30
445
431
491
533
655
385
526
858
158
33
431
205
366
817
312
135
272
268
208
456
52
247
498
186
547
138
121
623
428
483
645
486
329
179
426
389
725
503
379
418
377
228
257
391
807
368
201
463
595
263
161
384
322
376
250
306
168
272
562
325
697
308
383
305
224
230
269
139
718
519
525
492
410
727
80
199
257
773
574
656
407
768
605
270
427
163
388
170
286
233
341
298
479
686
143
379
503
421
467
70
204
269
414
295
214
326
506
190
420
211
311
595
91
551
281
254
277
107
338
564
319
260
284
478
455
432
652
389
466
231
240
576
351
404
378
534
383
341
269
715
318
303
456
201
579
374
320
395
302
744
237
269
626
266
386
417
302
39
400
329
344
507
92
38
470
381
254
153
406
493
45
718
445
319
544
293
565
214
193
468
273
423
240
606
744
436
393
125
198
416
847
667
330
102
387
671
789
344
333
250
473
265
45
549
555
370
424
261
413
251
529
211
247
209
389
321
530
710
391
518
357
580
451
302
257
336
477
336
230
553
712
883
250
176
477
114
293
530
914
277
241
282
295
815
96
291
907
372
324
275
338
156
190
446
464
159
427
220
383
588
524
178
203
844
153
340
756
322
179
357
527
245
417
202
763
503
392
326
220
356
492
766
349
117
575
332
368
146
86
139
555
162
460
383
554
388
688
477
90
413
377
291
477
199
176
192
235
584
178
447
197
811
516
767
98
208
520
314
232
212
341
392
240
443
427
146
743
467
137
236
41
391
271
669
347
500
298
730
483
492
368
376
371
244
395
620
906
442
400
75
351
125
327
258
92
656
351
405
574
51
785
421
252
482
71
330
582
306
151
396
613
519
311
19
380
567
234
514
263
236
94
500
524
322
578
426
659
641
645
621
463
490
231
208
294
469
147
136
192
192
232
576
196
376
484
309
580
651
117
284
275
256
878
183
378
136
408
335
460
168
626
543
491
272
493
423
618
77
706
460
294
645
811
529
113
570
240
542
257
107
338
362
383
228
314
245
504
563
223
579
309
154
536
450
749
212
425
609
841
172
258
119
558
247
614
330
113
299
591
244
236
404
319
471
522
352
151
378
674
218
329
539
459
109
624
364
327
407
193
226
304
658
305
252
174
419
309
471
478
396
420
583
580
203
140
364
719
148
375
293
278
98
132
397
377
423
356
614
319
602
190
476
192
392
558
178
452
395
270
465
459
333
168
461
222
185
218
532
140
162
554
360
932
267
606
269
292
221
462
244
501
358
259
551
793
581
444
520
571
353
181
341
428
86
466
441
632
235
626
382
562
808
178
427
707
323
265
179
516
618
591
374
444
189
259
461
866
904
287
264
205
151
613
583
197
662
152
565
232
209
192
178
423
235
362
709
406
580
545
482
550
221
327
566
411
331
401
190
238
359
530
867
547
489
319
582
52
823
294
529
141
350
406
502
123
659
228
300
526
594
408
247
77
559
134
224
410
521
290
166
334
598
507
244
397
468
465
267
152
501
721
169
190
108
370
337
236
386
267
568
249
642
520
453
721
137
219
399
360
535
293
211
598
536
853
561
246
337
302
366
438
538
173
595
802
528
131
263
402
322
522
675
508
225
358
261
267
554
667
232
177
341
329
12
198
116
279
616
365
721
159
269
440
166
507
301
370
520
477
586
513
711
522
669
622
672
436
461
499
555
920
460
589
304
456
212
338
762
436
152
527
399
394
549
322
447
317
530
273
501
332
330
571
771
373
502
570
499
245
416
549
536
849
325
261
257
187
188
553
174
660
513
533
424
476
478
524
234
257
342
387
289
619
706
461
64
260
815
288
568
327
540
420
522
632
712
79
210
589
736
304
356
369
298
510
840
235
352
634
340
537
466
523
408
309
796
636
455
97
456
360
312
318
581
303
257
454
293
489
376
176
140
802
113
189
426
330
378
451
533
267
185
588
515
234
427
111
375
178
675
532
200
185
682
162
272
359
641
48
734
371
345
505
315
416
225
493
206
324
395
589
548
611
546
372
359
622
43
221
820
302
243
421
535
667
708
341
491
648
366
558
466
178
475
49
193
87
327
5
640
411
269
130
569
698
284
482
250
700
445
791
399
522
268
372
366
312
189
226
256
221
62
544
458
624
437
567
438
428
197
482
493
268
239
267
407
268
355
648
504
825
465
604
240
562
697
379
279
298
311
368
302
167
280
259
211
693
284
197
227
320
238
145
571
291
104
426
401
324
578
95
174
251
358
245
441
166
363
94
398
710
193
336
448
442
495
557
393
306
574
472
322
307
152
456
109
713
589
88
609
530
559
339
147
623
335
151
597
532
517
182
371
580
253
197
307
669
640
179
672
859
152
238
172
327
312
133
238
504
627
261
355
637
922
407
633
467
627
427
310
208
323
582
535
198
680
568
682
271
279
557
88
643
177
127
125
305
446
638
403
264
761
320
237
226
529
503
208
478
511
494
376
247
530
505
366
193
491
374
724
93
468
560
708
301
306
258
349
716
119
656
334
210
859
706
584
233
202
137
326
347
439
379
576
463
522
905
398
625
244
409
377
587
116
650
801
263
332
474
318
288
494
301
516
267
362
290
276
515
240
448
572
191
379
270
303
214
277
399
765
317
756
144
734
935
620
193
466
663
543
266
46
306
750
349
705
88
397
766
67
329
387
239
152
347
207
299
494
417
259
220
703
320
181
437
932
167
238
355
378
298
259
384
309
288
246
448
676
289
302
494
148
374
668
818
184
556
548
316
281
141
480
361
170
890
596
526
609
199
236
207
447
320
416
99
763
596
196
501
119
263
447
262
307
342
361
384
315
528
326
475
149
657
293
500
726
190
193
635
347
244
436
316
262
437
424
335
494
310
628
331
210
229
348
606
528
150
308
492
307
750
278
383
495
476
484
489
451
366
609
577
232
935
284
168
116
364
187
413
236
259
625
497
318
459
459
448
259
149
336
510
323
461
734
160
266
32
376
227
443
362
386
193
602
82
635
869
305
378
526
643
197
418
368
312
584
472
49
539
308
217
237
122
428
785
350
316
585
207
483
169
524
256
355
646
888
491
157
584
370
359
325
600
614
781
413
204
154
860
662
640
649
250
153
170
432
274
565
197
592
184
336
530
424
640
338
93
251
670
390
231
468
565
361
539
375
399
383
690
256
35
377
662
382
382
448
785
366
416
295
245
311
384
339
317
277
756
473
453
158
278
386
40
668
158
84
637
282
273
173
498
316
437
447
724
264
343
566
835
254
269
353
424
329
220
387
241
703
447
182
374
370
236
804
291
608
279
823
598
234
477
151
420
422
785
318
242
96
871
146
272
200
529
613
495
442
546
267
201
565
593
305
557
517
319
629
682
85
295
150
331
542
452
387
484
416
439
505
281
385
408
317
178
344
363
110
305
282
695
104
633
296
574
99
433
429
314
305
278
192
298
724
330
119
73
520
51
229
265
259
43
202
166
524
578
289
27
708
182
432
607
252
396
375
344
496
241
250
162
262
129
331
505
327
370
236
475
108
814
230
118
545
239
608
247
374
582
534
419
530
282
761
547
389
794
119
322
167
263
477
881
306
376
590
156
107
261
124
95
252
181
175
503
738
150
169
266
370
343
285
386
336
386
343
407
293
219
269
289
543
494
162
117
516
305
527
66
488
224
181
91
349
482
315
215
595
611
396
363
128
495
382
138
453
324
265
323
620
582
444
576
455
323
330
291
635
326
538
441
460
409
426
187
182
248
726
111
260
259
718
194
412
519
123
77
178
579
696
716
547
296
559
341
317
151
513
513
379
261
435
228
419
144
880
379
295
257
397
392
335
291
772
434
619
427
369
512
432
112
122
312
312
412
174
289
285
651
291
358
429
228
283
505
199
374
303
619
515
547
275
269
704
718
502
733
154
103
651
261
385
384
222
188
107
658
91
247
610
408
531
80
150
239
145
372
567
550
240
743
368
102
715
360
345
500
620
280
71
226
355
155
36
346
228
295
664
554
226
327
279
580
478
584
160
512
166
395
672
311
612
277
433
297
293
280
442
338
489
220
255
307
461
460
160
553
242
318
381
228
556
129
279
785
285
426
193
370
500
222
106
455
213
209
251
193
480
320
622
543
401
210
306
579
466
283
668
229
307
498
143
270
352
380
477
271
468
183
554
309
135
661
140
508
93
325
640
461
212
85
804
311
309
461
480
846
305
434
186
194
174
338
668
496
535
342
196
289
211
276
178
552
464
408
685
470
135
343
502
498
721
363
255
640
147
427
149
303
173
140
207
240
471
110
71
332
177
499
304
122
384
202
77
138
317
323
515
401
679
460
86
574
306
589
255
608
633
535
279
577
611
498
155
103
545
571
249
150
446
635
496
500
132
413
619
381
491
442
626
279
492
198
144
226
784
353
414
689
145
316
76
450
460
691
471
246
180
553
236
581
189
134
266
267
535
664
446
752
425
181
439
180
549
121
559
658
456
307
343
276
187
325
230
299
410
678
373
533
833
634
325
285
763
627
695
476
432
263
616
210
303
478
152
159
249
376
127
791
564
247
296
131
503
390
149
492
546
586
273
172
726
502
330
426
374
134
170
631
293
358
276
251
296
371
717
262
123
88
324
319
273
434
212
313
795
551
313
73
567
338
283
430
422
453
255
247
179
400
350
711
245
541
168
321
373
265
498
281
384
565
373
218
427
535
221
607
304
165
468
151
373
293
364
109
560
470
540
473
472
244
848
443
484
804
290
39
540
648
477
251
260
533
277
169
519
540
241
662
264
791
531
215
637
74
287
496
334
320
738
201
617
324
390
192
639
266
92
381
309
472
434
207
299
606
640
696
414
257
328
147
622
244
581
272
19
649
448
260
383
424
269
350
442
495
531
352
367
98
678
277
545
455
419
453
279
463
138
603
151
267
171
260
430
603
225
651
181
237
529
352
212
145
178
651
283
310
289
539
557
78
623
322
191
230
247
458
110
809
318
487
103
411
313
220
172
376
320
266
224
156
653
407
344
156
193
234
674
511
247
263
530
246
402
391
438
141
321
242
413
666
107
615
427
794
251
427
366
197
395
193
479
201
230
197
329
488
72
274
262
296
127
211
634
286
157
410
333
228
232
185
346
239
329
428
219
201
221
300
190
615
397
354
244
821
841
319
547
209
349
422
107
807
96
458
288
460
463
90
479
568
860
513
331
185
328
232
621
374
491
409
217
569
664
287
653
561
583
251
225
510
317
634
665
442
377
439
514
432
370
488
313
336
337
497
640
430
568
230
463
506
106
116
213
335
168
337
355
259
312
29
219
711
476
748
251
74
141
568
518
226
139
614
455
316
201
104
701
200
310
250
442
326
558
517
122
580
244
415
329
66
536
510
635
98
498
59
570
487
613
278
787
461
379
341
304
516
86
237
184
257
118
328
398
148
467
159
612
458
447
653
634
516
139
383
459
396
271
182
232
465
529
372
766
204
475
364
280
92
597
386
557
547
223
387
123
227
211
319
226
251
115
590
198
210
491
486
297
128
216
387
299
84
128
436
574
748
532
563
111
292
292
658
470
424
416
171
288
468
358
307
314
463
505
451
375
119
559
419
337
512
372
198
334
719
240
370
335
131
263
272
170
110
462
419
218
161
342
272
354
763
304
326
174
330
375
435
482
358
444
109
276
545
426
600
149
503
380
330
529
215
482
124
624
378
223
153
49
154
375
463
173
259
205
709
148
383
314
536
270
544
234
400
248
418
488
769
281
711
501
332
824
241
368
857
239
153
270
117
508
138
345
94
282
219
539
346
482
539
587
379
193
337
313
424
335
658
342
342
439
133
502
95
357
368
408
20
129
207
385
564
239
589
558
226
159
516
611
358
428
475
315
532
629
176
219
564
133
121
225
465
521
548
151
269
920
426
285
341
280
710
671
368
596
443
416
618
113
392
305
328
504
201
293
345
355
181
290
260
476
271
690
367
842
50
386
382
181
221
130
456
253
114
245
520
324
176
290
357
320
343
489
122
357
342
353
598
419
595
140
188
861
188
443
534
236
564
530
471
774
164
276
71
193
270
161
425
81
535
865
577
259
442
746
596
209
243
302
263
267
527
693
120
446
149
589
551
121
334
365
642
184
338
91
720
164
222
268
625
653
435
230
375
289
207
155
417
152
376
375
261
144
374
321
805
395
395
713
614
118
574
335
386
427
606
514
452
757
39
688
246
238
481
344
677
665
128
445
423
159
354
321
390
402
527
123
460
177
638
85
253
189
272
319
228
128
259
572
225
417
317
389
593
701
545
517
316
173
557
428
187
33
243
338
208
489
585
363
660
377
304
273
20
496
746
288
237
68
642
266
351
600
115
214
688
581
388
305
530
436
306
221
578
529
271
94
477
331
95
209
214
408
221
367
64
175
330
385
449
712
394
498
305
129
440
393
200
636
472
603
538
120
204
571
415
128
520
439
238
181
359
470
162
471
327
378
268
347
179
342
446
121
122
444
44
338
484
485
438
177
274
405
813
342
24
178
486
799
481
336
680
366
123
549
466
544
231
112
476
424
603
649
162
500
544
693
171
139
455
342
452
400
638
257
166
309
152
328
275
499
149
647
664
172
348
189
252
523
405
108
506
11
252
177
289
271
233
379
580
233
546
518
341
277
207
228
283
231
54
415
390
339
451
527
168
339
221
585
388
552
196
225
588
127
547
199
569
449
633
760
447
595
323
250
307
469
420
446
564
303
228
120
245
281
473
374
162
283
202
164
396
529
457
63
328
76
460
393
315
824
314
378
734
169
250
590
485
87
808
418
255
156
382
207
760
355
468
149
566
293
208
679
175
509
539
285
665
336
460
659
362
280
451
391
242
404
223
205
247
316
506
197
211
119
80
608
297
314
555
608
375
129
176
271
395
164
281
334
345
381
206
334
557
365
341
257
555
443
408
882
236
510
510
102
599
567
606
420
421
372
406
642
354
288
152
60
711
324
343
203
378
564
502
346
656
395
368
362
144
757
188
380
360
593
639
337
111
493
264
608
565
442
226
427
97
721
620
631
159
666
573
330
830
211
926
266
171
268
167
405
119
189
240
145
239
378
461
498
263
166
507
150
522
212
716
221
333
475
194
458
266
301
265
75
208
265
470
284
230
69
291
507
474
347
413
173
237
726
194
496
331
183
495
653
194
171
562
429
715
438
238
519
152
237
160
414
336
701
472
647
277
589
213
491
499
477
621
520
338
262
169
706
315
735
376
335
125
173
357
470
214
289
397
276
309
652
468
257
637
750
415
189
393
184
294
321
410
114
433
388
144
243
630
282
588
521
713
137
438
681
394
647
517
476
274
292
607
224
452
463
473
616
424
521
5
504
167
368
410
526
550
42
390
276
278
716
172
824
492
462
251
271
476
636
77
430
423
550
311
190
140
622
777
678
492
172
487
381
431
88
422
573
638
123
230
225
617
338
622
332
177
25
203
583
310
368
202
839
177
710
209
365
570
282
230
298
460
328
383
113
59
605
330
67
129
548
671
219
383
165
653
157
617
328
261
146
415
201
160
81
602
395
369
615
456
181
298
562
724
627
581
660
442
446
229
451
222
100
402
656
519
245
118
83
387
913
750
347
295
213
674
505
258
286
111
292
430
161
371
174
526
310
470
224
250
418
355
634
193
240
266
230
769
95
282
400
262
243
533
649
229
189
551
260
417
290
206
423
166
239
643
484
27
349
460
395
208
527
813
607
256
187
437
172
561
676
295
217
240
243
487
575
271
141
295
511
110
468
387
277
162
442
109
269
485
614
328
846
181
150
271
733
117
67
182
278
752
278
515
250
394
577
115
495
298
256
320
187
259
739
882
52
311
118
440
129
166
228
62
216
168
585
231
305
702
70
155
494
188
203
534
538
392
20
444
684
288
243
607
281
246
517
427
282
221
565
343
146
268
145
786
44
514
149
450
667
246
94
716
231
300
224
252
556
286
449
566
291
305
755
196
132
151
140
341
346
632
745
407
657
789
341
423
242
185
927
267
464
165
426
403
315
365
581
478
295
211
555
221
568
651
491
525
81
669
412
232
312
98
377
623
523
420
193
237
246
907
663
596
857
136
153
404
205
265
336
185
915
335
303
246
347
54
808
185
212
538
394
283
371
552
196
157
87
397
344
85
167
464
283
305
145
409
128
536
122
333
194
360
215
508
388
326
393
183
491
531
261
620
60
107
85
241
496
98
227
233
701
315
559
278
331
429
378
382
567
530
274
466
549
500
273
210
434
427
502
566
198
494
110
600
341
312
486
338
209
439
348
235
561
447
351
226
607
44
457
350
244
553
511
278
646
592
166
531
338
216
150
924
376
440
213
426
630
569
127
407
335
259
385
462
457
286
529
209
161
261
525
232
352
593
228
586
167
445
339
38
390
535
265
350
548
210
254
141
346
531
653
462
657
175
169
327
293
938
462
96
96
348
477
209
470
656
455
681
450
244
403
617
578
438
524
268
451
252
91
777
650
487
362
425
233
668
426
440
253
46
640
245
163
394
305
788
523
198
263
129
104
486
402
153
244
228
452
161
350
217
365
525
337
94
419
599
422
364
604
512
386
359
44
179
593
345
525
464
371
387
218
197
371
308
53
306
516
265
447
231
374
538
226
111
247
572
571
206
358
163
203
494
259
597
389
369
384
222
497
187
211
205
344
217
310
110
456
76
474
505
279
175
230
295
121
142
125
699
386
434
253
418
280
766
756
567
762
228
269
416
236
326
330
144
513
363
618
559
795
449
636
87
306
398
418
409
121
647
411
267
403
792
785
439
744
334
429
278
399
168
482
368
794
180
157
242
665
162
613
209
93
659
209
194
606
209
138
369
271
450
630
190
294
408
353
552
418
370
206
31
166
651
83
578
197
300
464
416
530
239
341
544
551
497
529
471
194
259
433
275
442
704
341
529
389
822
473
288
479
701
648
530
251
308
378
274
84
715
348
495
606
533
105
530
211
422
351
492
576
402
431
92
220
581
286
697
318
674
654
292
339
355
691
238
241
804
415
369
134
512
64
277
729
276
508
292
563
575
104
199
303
386
775
461
487
330
354
175
435
359
194
790
718
231
331
350
295
411
235
90
319
409
560
425
666
501
180
633
448
285
91
763
321
132
230
217
658
716
269
586
793
277
191
589
315
561
223
345
498
89
414
254
359
496
546
146
263
216
836
114
206
577
452
400
160
299
793
736
429
543
543
411
75
251
525
225
309
308
495
392
759
476
709
88
381
697
187
213
214
175
116
463
769
807
518
312
106
718
429
93
504
98
231
310
360
338
720
576
224
320
167
159
604
498
478
59
626
466
144
93
242
163
171
175
174
412
489
391
479
464
366
345
189
116
361
315
237
493
321
301
359
222
638
678
338
121
254
489
489
740
443
246
384
548
107
574
327
409
293
273
521
636
630
249
638
422
279
703
472
219
359
387
441
215
643
179
640
785
255
301
283
573
218
57
460
569
212
576
522
325
907
450
458
375
864
359
118
498
141
329
434
480
517
458
313
404
625
743
390
762
642
602
210
571
233
579
446
351
113
581
682
450
468
133
283
469
130
415
305
648
638
546
374
602
523
328
138
189
360
274
325
238
350
465
580
496
426
418
548
405
580
121
523
288
472
747
469
570
333
321
224
258
667
162
640
369
549
476
515
273
188
419
221
192
531
607
456
606
761
409
315
163
126
211
723
229
134
511
399
477
493
242
296
258
140
7
527
247
227
511
227
275
506
392
809
419
579
489
51
252
135
691
417
93
152
701
414
241
677
364
467
160
835
72
675
209
947
81
549
292
467
231
719
503
702
271
396
186
213
459
351
363
394
622
564
820
118
489
227
207
345
91
715
420
34
308
400
383
614
328
163
668
604
294
427
194
81
403
258
491
264
701
408
673
379
161
644
236
144
563
295
485
411
547
154
582
189
247
151
134
418
281
692
292
761
444
126
695
285
443
618
837
507
658
335
491
74
136
595
198
203
591
773
576
177
456
246
837
225
239
475
596
212
88
256
441
151
349
397
890
20
461
836
434
410
730
232
694
388
564
48
108
567
707
372
510
221
644
290
149
443
320
235
475
670
326
632
462
159
87
568
182
489
292
805
138
870
254
413
149
85
526
160
363
272
319
163
296
438
417
851
111
410
643
442
407
929
265
706
470
595
575
173
111
386
593
75
131
479
361
468
781
434
762
276
645
174
426
149
581
411
265
515
518
439
242
217
161
510
660
506
40
670
597
83
898
82
321
190
323
119
320
182
743
118
860
296
361
683
318
234
472
627
319
379
174
334
255
472
162
263
336
721
316
499
694
340
345
519
474
443
302
373
605
488
105
662
193
339
309
519
299
452
524
245
307
470
114
261
419
230
309
623
468
546
339
396
176
619
371
518
298
316
253
593
254
384
406
379
666
392
327
622
231
557
193
531
232
799
456
793
653
141
355
567
76
448
160
324
164
459
736
748
529
234
347
178
585
392
779
352
475
295
257
165
607
71
339
84
438
239
393
122
407
134
529
257
818
396
473
491
376
316
799
84
622
344
443
556
411
517
344
382
202
471
205
580
485
213
704
119
279
215
295
466
109
300
552
168
181
199
332
587
13
445
680
572
269
505
793
466
535
305
501
708
352
293
287
809
281
107
246
114
594
78
691
908
449
718
419
457
164
359
155
192
79
554
611
523
191
531
433
600
329
509
296
464
663
287
543
552
428
615
286
229
431
253
351
566
537
802
404
338
128
31
349
557
414
635
568
403
360
712
234
500
210
800
179
179
644
413
356
148
247
197
100
555
351
282
402
573
578
208
321
567
507
406
597
116
696
414
811
749
580
431
284
523
556
109
156
455
354
437
469
377
383
580
343
381
172
577
104
321
750
562
317
189
315
456
371
295
477
542
623
708
210
253
547
263
66
295
645
701
277
549
70
188
566
366
751
714
313
192
430
388
356
635
753
787
485
441
636
261
274
579
620
351
221
496
565
707
199
324
114
297
605
473
217
249
507
559
206
466
589
255
493
493
446
306
412
635
333
364
95
208
629
870
302
141
443
139
290
281
141
460
279
409
321
454
449
399
504
374
856
323
475
381
297
256
355
203
193
276
217
715
697
123
399
401
417
266
319
723
572
224
421
599
344
183
348
468
316
122
709
211
100
901
323
215
120
212
671
210
688
170
321
302
266
338
593
650
87
537
394
549
257
467
234
611
604
726
385
354
576
255
197
525
117
232
532
91
293
219
273
392
438
98
472
445
424
330
317
332
348
212
45
549
89
404
365
131
704
23
303
467
401
231
350
553
261
485
396
589
158
343
364
434
96
380
417
475
298
382
225
740
542
151
95
514
602
301
630
416
346
340
211
183
775
583
163
235
524
394
847
600
701
537
191
365
244
362
392
359
347
161
451
503
125
477
440
480
263
284
367
254
439
525
483
726
516
339
582
513
459
320
175
306
39
356
518
412
608
352
234
592
249
191
813
537
362
403
311
339
405
390
135
336
143
335
180
265
150
424
598
576
459
389
609
360
569
208
476
332
173
489
67
210
538
217
515
620
358
346
750
326
352
434
252
306
591
87
374
91
289
242
329
571
273
604
626
322
57
418
262
316
171
150
665
316
417
101
208
454
488
577
80
227
768
326
740
423
359
595
448
704
431
647
893
591
371
197
471
324
310
364
715
201
643
396
216
355
672
521
550
428
384
425
459
316
257
244
386
326
391
294
732
268
495
392
494
574
383
497
396
507
554
328
121
266
355
374
307
130
588
386
413
549
927
855
139
164
71
693
738
192
704
101
325
539
297
236
21
308
292
489
390
820
303
334
310
202
764
415
456
524
386
247
579
120
453
777
381
504
113
95
303
433
77
247
609
436
119
437
855
324
486
286
448
320
400
232
397
149
646
498
151
272
139
582
97
81
336
245
528
563
259
566
702
290
388
582
676
450
497
408
410
193
532
330
556
290
176
226
510
121
463
677
765
298
349
439
624
221
195
83
530
501
42
433
229
352
245
192
556
299
445
289
124
521
497
615
477
736
271
369
511
292
488
558
827
769
519
225
459
560
115
422
185
444
175
193
916
633
847
328
313
245
525
279
537
732
643
557
656
123
719
476
391
260
643
244
698
358
366
496
645
316
220
541
504
75
744
485
90
346
166
381
816
547
885
515
469
122
363
235
665
249
184
198
218
793
593
488
439
482
340
505
416
270
485
438
205
432
437
244
520
217
613
254
562
409
451
330
513
258
557
134
193
361
589
444
617
114
320
189
526
430
253
552
369
511
421
587
146
772
277
347
260
538
610
626
220
452
673
524
334
503
382
271
804
828
438
542
440
147
140
514
517
582
239
915
776
249
508
711
460
150
123
254
165
736
397
304
96
473
153
131
34
494
82
487
472
174
639
40
292
541
92
203
444
359
358
234
310
416
457
350
69
330
372
102
421
492
587
645
765
623
62
208
357
509
48
367
558
549
647
298
298
212
271
164
675
410
640
691
408
295
591
149
659
289
243
356
150
647
247
531
219
337
587
304
425
326
233
355
332
99
202
182
716
319
385
195
389
485
107
698
201
91
79
474
261
485
394
332
258
690
281
668
346
630
537
540
180
106
145
741
467
569
308
538
321
138
581
271
202
719
506
273
350
323
658
201
143
66
365
429
508
440
495
493
238
213
846
224
368
220
600
484
796
661
249
581
152
285
453
695
515
368
511
177
314
279
232
420
290
727
512
337
187
379
574
183
409
304
559
25
260
441
498
492
364
266
335
622
145
493
169
240
549
321
200
242
354
223
263
508
480
197
310
395
297
223
824
202
253
318
323
892
519
285
64
498
508
266
88
532
44
501
592
621
737
775
216
350
838
273
473
130
366
285
695
290
279
376
624
432
133
246
593
304
185
309
560
804
116
560
587
384
241
213
338
367
214
528
185
130
313
54
373
403
149
647
348
244
444
131
601
724
377
214
372
260
207
369
707
649
519
483
182
62
97
470
830
351
442
132
397
319
433
361
259
664
533
515
194
212
197
267
606
294
505
679
262
609
255
200
92
591
595
434
321
490
571
244
416
428
74
649
573
415
271
239
153
189
706
610
149
269
149
327
145
877
346
361
256
302
267
420
331
881
720
420
362
173
574
487
417
430
169
96
136
506
34
689
136
152
266
79
35
634
633
321
525
621
323
364
174
583
480
236
514
97
62
192
73
159
204
787
351
691
247
458
277
128
272
467
308
306
113
540
240
297
55
342
207
526
82
230
677
111
566
533
260
494
353
802
505
145
643
396
600
341
740
373
672
395
308
372
239
131
307
343
213
488
144
611
528
460
328
416
648
396
75
680
639
209
628
155
281
798
422
341
373
182
99
340
732
99
220
768
458
432
180
250
435
325
603
186
21
366
191
351
375
154
225
207
197
169
581
282
705
450
116
819
176
348
349
449
305
421
785
129
291
576
517
252
139
187
268
286
406
601
624
381
257
331
116
221
118
616
633
449
105
379
251
427
580
810
434
390
547
656
504
347
529
658
231
811
107
266
365
624
340
174
332
945
398
225
277
505
350
298
187
158
789
676
544
223
253
256
567
582
584
217
192
565
752
445
198
203
114
245
703
547
320
304
350
597
199
386
489
810
436
282
175
411
168
132
505
116
400
561
66
646
635
407
498
229
314
897
324
343
545
257
172
117
302
595
613
211
297
617
604
852
162
335
116
274
151
261
384
338
421
96
156
284
445
442
150
550
191
781
610
244
387
599
559
268
287
568
92
568
656
595
501
204
272
337
293
469
480
221
76
209
215
514
318
320
462
492
314
225
466
89
315
449
473
631
313
489
771
509
182
270
238
651
506
519
380
137
340
777
550
557
377
174
416
545
259
279
319
577
420
676
400
675
728
113
133
610
388
331
405
517
543
617
253
521
538
434
87
318
269
201
601
272
241
124
502
560
386
216
210
91
249
180
168
119
269
572
247
786
407
553
49
495
261
498
266
346
89
120
399
304
237
299
439
425
251
597
258
254
591
222
551
166
300
699
120
653
311
424
400
466
553
816
342
194
96
288
556
150
404
259
729
238
525
209
104
738
561
262
271
594
482
133
700
657
468
528
74
100
302
571
53
173
121
483
450
772
620
482
328
306
594
460
790
382
324
293
502
319
422
323
398
79
298
612
578
357
193
304
167
775
25
676
268
613
640
657
160
651
268
365
388
404
284
399
440
450
51
258
634
101
682
486
147
454
480
542
104
49
181
706
295
286
374
232
145
567
704
268
706
250
658
675
297
525
508
656
889
177
130
313
119
414
510
360
527
268
282
298
550
251
239
476
450
107
483
592
338
280
736
191
564
164
406
151
403
304
128
451
302
81
478
152
234
117
651
199
447
595
275
340
482
225
521
424
631
381
505
685
370
366
702
211
138
259
402
177
393
539
336
612
408
166
361
274
528
434
491
555
285
610
211
342
588
726
254
379
679
492
362
366
157
804
108
144
689
574
147
328
867
298
183
841
500
457
133
221
577
176
235
565
805
759
78
95
919
764
559
593
315
513
690
257
220
573
609
315
469
93
481
406
775
392
362
123
668
104
773
373
412
388
189
122
568
113
374
709
533
336
270
422
230
174
413
275
750
466
302
900
408
686
138
203
357
291
457
797
367
419
282
599
611
565
358
611
682
267
347
628
236
271
354
265
531
689
204
337
400
377
434
399
270
195
829
126
236
318
490
421
531
537
333
283
194
388
658
318
638
338
612
684
392
204
201
243
457
570
56
433
740
305
366
170
531
685
240
122
658
278
434
486
152
297
852
650
373
476
252
395
248
697
450
365
454
218
161
368
575
251
176
510
308
106
635
253
527
367
609
146
580
575
428
322
176
274
186
587
443
396
497
653
313
195
325
104
667
494
433
409
215
328
197
208
486
238
382
222
407
447
683
195
425
185
517
241
270
96
331
126
312
161
184
180
494
592
336
306
443
18
109
322
361
150
300
95
705
321
592
179
195
96
593
397
227
170
63
523
206
695
601
148
402
675
315
666
458
743
455
180
284
309
499
533
463
395
57
71
215
483
442
339
565
304
373
245
370
253
474
784
384
172
319
410
538
161
328
84
125
519
182
364
415
502
476
366
707
694
472
443
349
331
428
238
423
726
516
279
222
470
182
276
243
127
668
407
319
158
620
674
696
295
242
777
284
446
331
96
264
598
146
159
307
128
161
172
744
416
433
271
229
199
116
277
459
159
597
271
535
268
410
323
779
834
381
561
491
43
209
603
410
564
385
601
155
284
649
594
649
388
810
627
120
556
345
274
404
214
361
449
687
283
698
423
572
586
179
841
580
422
342
467
362
109
699
215
366
208
339
359
218
151
245
595
71
245
523
239
391
410
329
565
689
543
336
115
380
513
620
482
291
449
628
501
446
248
146
282
207
462
246
691
482
246
639
286
541
214
131
208
764
140
454
233
201
246
337
339
528
395
279
363
178
572
355
181
321
533
439
496
566
447
305
395
511
122
556
366
660
340
108
315
182
571
360
347
418
656
588
237
112
346
177
554
184
334
467
292
641
217
892
303
299
312
229
402
624
58
805
363
141
240
247
259
334
321
601
109
438
738
591
699
546
334
495
803
699
359
247
345
47
448
248
455
281
321
64
530
555
476
413
559
195
381
117
186
469
491
147
259
182
430
308
433
832
422
270
325
158
210
276
569
255
705
402
197
301
336
734
431
57
339
393
292
151
259
312
266
163
402
291
338
309
488
614
274
158
685
408
259
546
412
65
279
101
520
252
343
694
506
274
338
577
276
735
737
366
732
239
853
361
265
183
807
650
467
647
177
270
549
292
183
171
184
343
444
222
699
423
630
74
718
220
402
800
347
138
117
754
811
438
369
768
363
661
209
89
176
245
485
415
339
417
14
305
801
219
383
395
365
462
318
290
334
328
581
415
302
389
561
366
155
153
559
248
443
603
402
485
491
193
634
562
622
497
572
470
555
425
509
785
498
247
174
578
160
486
353
342
122
515
89
238
366
523
539
554
141
635
589
102
107
525
440
234
315
335
65
421
567
222
206
420
420
388
188
177
88
370
142
306
331
133
504
262
269
343
384
391
435
268
365
375
594
182
295
661
324
332
225
364
415
467
248
302
434
187
271
250
355
505
127
317
150
598
376
686
476
212
289
770
229
717
344
238
457
442
753
303
130
416
332
212
356
29
304
688
227
676
543
451
472
329
331
581
102
461
483
335
388
540
602
900
832
267
345
651
504
249
344
465
341
590
86
400
286
305
612
225
258
510
419
263
134
79
713
748
403
230
310
752
521
389
373
531
153
412
96
585
398
226
142
127
463
115
321
127
143
212
280
323
317
165
256
403
233
344
199
268
453
416
255
74
642
415
318
718
210
342
224
273
221
443
192
191
212
359
632
707
383
100
165
705
223
443
463
120
608
946
182
562
213
355
694
485
545
439
254
467
421
567
53
503
642
222
262
670
500
378
328
457
199
349
371
133
433
175
929
328
168
633
645
303
96
161
435
167
521
522
397
647
160
761
192
759
55
779
583
251
168
297
506
255
533
551
823
637
84
28
200
560
175
770
865
419
248
360
103
218
432
485
647
774
501
320
600
575
511
546
357
696
77
112
407
239
261
349
327
594
575
143
186
208
427
762
94
555
271
589
345
244
638
127
238
275
498
840
213
805
519
117
135
122
289
298
449
367
694
614
394
691
495
105
21
507
470
469
334
246
492
245
427
132
268
346
528
815
279
334
244
284
408
198
259
224
383
653
118
73
193
319
259
308
207
237
446
644
572
589
567
459
104
444
286
583
496
252
452
379
398
169
435
171
699
415
361
671
549
467
420
385
222
321
401
544
280
204
640
481
310
131
240
164
711
227
595
411
386
369
295
616
259
602
94
303
234
191
270
256
702
420
567
466
197
275
287
253
511
499
123
188
506
285
607
333
261
776
149
333
459
518
316
356
769
260
92
644
40
700
270
231
686
101
568
812
632
394
307
45
338
192
182
128
572
363
353
333
300
331
583
345
718
387
479
850
149
464
252
142
108
391
301
657
655
147
619
556
284
438
230
475
401
275
518
333
420
854
178
96
193
345
278
572
246
211
269
649
321
374
346
466
479
467
250
821
351
496
333
322
281
485
601
92
317
305
107
262
329
143
364
240
606
673
461
583
89
588
626
59
324
80
500
311
417
224
388
268
249
422
321
508
260
367
700
401
454
429
163
586
365
229
194
436
419
661
698
326
153
789
808
734
257
372
368
468
212
217
653
485
265
563
101
388
605
521
287
21
501
385
642
279
379
678
697
587
65
165
638
255
537
136
352
74
133
143
151
297
167
694
683
369
392
278
575
465
390
198
482
687
347
592
487
485
423
283
693
474
152
578
75
198
292
349
633
380
454
254
659
321
249
44
47
192
467
429
467
323
352
505
381
156
65
467
95
308
323
378
406
131
566
380
714
176
351
79
366
704
109
227
199
256
267
494
455
291
44
591
692
383
381
70
211
677
651
328
776
722
175
217
122
240
239
573
209
332
160
416
544
697
292
229
39
536
57
142
355
553
119
208
282
451
368
185
445
511
341
283
246
743
331
110
595
47
297
322
558
822
247
455
354
580
488
270
601
371
771
303
127
343
473
145
669
520
587
425
283
130
173
507
452
347
357
802
296
292
279
246
290
623
78
321
626
386
659
295
588
138
552
253
476
211
202
185
442
438
431
604
517
216
394
209
613
469
493
671
439
381
401
407
553
535
636
293
367
87
440
712
403
355
446
561
486
504
795
99
58
231
825
469
419
274
485
17
186
496
259
168
493
127
233
548
216
272
621
303
194
330
452
260
150
155
286
136
727
514
518
370
401
383
393
454
455
206
162
268
261
560
589
209
413
169
327
257
356
423
227
392
208
274
393
599
578
163
183
147
134
350
322
715
625
563
175
598
193
590
540
881
353
355
255
218
325
260
153
196
286
166
250
349
648
241
451
443
475
66
704
288
202
554
175
576
381
261
211
337
154
612
181
201
199
525
774
506
698
613
595
430
453
146
508
684
257
847
74
584
378
677
98
197
166
583
68
371
608
73
607
286
740
526
686
403
446
191
125
458
413
223
521
656
454
546
187
775
146
161
325
524
209
290
584
526
471
740
462
278
818
80
308
559
404
782
145
348
152
579
320
236
585
417
328
320
586
45
575
385
437
482
30
457
390
775
145
684
214
87
111
11
310
457
748
514
312
260
309
866
799
355
257
331
330
133
30
338
530
900
728
192
361
468
263
328
696
500
164
343
440
625
818
86
129
285
522
555
177
575
149
810
332
365
365
502
379
374
237
175
167
124
372
402
364
305
497
60
337
320
516
358
387
332
142
108
274
137
520
190
271
502
473
406
339
551
190
648
441
213
276
553
219
754
481
49
512
234
501
87
530
106
522
410
292
537
320
344
280
201
376
249
652
470
273
403
334
548
335
351
586
266
71
723
340
331
524
564
243
399
130
607
527
276
490
243
199
379
88
301
317
311
655
439
163
674
421
415
727
612
422
414
258
324
478
87
467
420
411
325
465
767
587
111
413
397
259
194
208
538
373
499
122
264
256
348
275
606
465
127
640
901
461
187
34
319
199
560
560
309
172
447
547
277
51
400
296
283
48
615
527
441
380
301
382
481
194
521
487
147
437
380
283
617
396
310
723
243
511
714
293
304
535
50
582
308
364
240
135
372
710
537
658
430
787
391
277
556
402
575
439
241
383
463
392
576
752
379
46
512
253
315
748
393
523
766
199
676
287
788
319
486
363
459
418
226
576
266
220
180
314
270
359
100
294
527
403
341
265
550
275
720
172
232
389
180
283
368
444
213
148
459
385
512
351
409
524
350
740
187
745
344
359
411
403
151
176
508
212
344
309
187
427
474
217
540
129
267
532
298
349
392
423
324
299
623
198
453
360
364
587
714
178
566
165
57
493
338
307
368
580
279
132
263
309
659
661
219
332
149
526
466
486
477
254
323
350
398
295
428
226
77
210
292
631
216
393
199
328
334
295
684
438
132
416
360
371
417
759
296
519
427
336
565
217
362
516
106
485
593
232
184
509
137
668
545
236
212
472
329
434
613
426
465
221
543
226
37
534
249
356
336
375
444
319
558
331
124
427
323
662
83
329
697
435
218
522
292
905
338
213
234
423
723
183
636
505
604
719
127
169
392
321
453
232
246
719
382
365
75
303
183
561
87
482
610
218
326
117
278
350
46
363
454
387
293
185
471
320
203
323
674
453
601
149
335
486
360
264
575
520
361
304
480
676
389
701
37
268
72
142
108
193
417
156
58
533
331
377
551
501
240
671
690
353
261
696
293
489
169
493
402
439
254
89
462
216
595
404
370
173
322
390
217
504
287
152
271
98
838
157
355
67
380
447
281
226
385
508
422
553
246
304
525
426
204
685
204
257
787
247
231
270
162
350
559
423
184
166
711
140
80
496
597
643
347
340
488
792
206
578
174
756
166
335
408
124
408
216
224
169
250
348
366
661
852
353
244
400
257
358
41
486
737
601
513
222
451
118
550
352
829
413
276
270
316
756
539
947
366
187
79
323
666
253
201
320
390
430
230
352
842
77
727
297
677
803
282
110
293
244
166
338
896
532
498
386
557
775
386
189
693
201
369
742
294
322
377
889
237
297
170
145
356
602
645
128
608
704
596
767
318
164
125
331
330
217
517
480
127
148
543
481
102
486
242
681
183
284
415
465
630
277
476
619
199
436
658
455
176
607
227
640
319
292
266
367
523
456
288
502
320
227
52
157
440
414
331
918
181
190
492
551
498
170
466
107
109
566
321
231
382
345
82
215
518
97
265
111
249
426
325
666
422
679
741
155
727
241
131
370
689
467
66
267
268
168
221
528
281
359
559
66
111
170
683
406
35
210
533
558
283
488
244
185
202
412
116
668
462
830
304
517
370
369
305
374
355
352
658
439
75
491
189
245
561
173
436
90
301
454
237
154
89
334
509
554
452
640
626
36
777
487
353
142
577
561
246
798
564
88
349
310
703
218
282
619
108
342
659
220
539
529
862
557
437
540
185
317
200
239
765
309
566
519
320
951
198
606
722
533
464
296
642
237
642
505
434
297
412
151
70
323
465
396
270
158
48
774
222
202
511
474
256
347
645
278
681
424
482
326
516
292
527
453
23
637
352
67
126
365
461
316
849
387
351
202
454
209
722
158
372
488
253
547
259
504
590
203
754
353
748
352
354
639
116
98
12
501
276
585
479
344
468
399
107
225
339
440
384
134
248
197
220
566
508
478
414
237
160
295
530
293
166
390
433
604
759
342
509
48
534
383
146
35
476
213
521
606
454
389
382
253
82
289
346
451
639
117
161
413
365
443
192
523
496
327
303
323
323
342
316
197
477
526
223
325
249
112
598
647
93
433
497
135
602
108
178
524
487
207
696
360
656
574
269
447
85
326
409
587
298
726
327
566
321
246
928
691
369
344
758
159
198
322
597
99
315
188
417
359
342
541
428
470
192
260
502
360
226
385
327
290
213
407
648
513
359
449
185
280
552
296
367
643
410
103
237
130
242
75
631
387
600
409
448
762
641
161
210
226
341
549
397
84
285
538
495
499
400
609
680
471
96
183
349
519
492
460
528
498
581
81
151
264
503
437
244
374
467
109
435
625
191
223
54
680
353
338
135
499
673
662
267
552
272
128
387
383
78
242
327
141
268
438
404
597
531
258
470
608
285
232
137
384
355
265
79
468
203
258
277
603
322
408
74
620
570
531
705
252
721
514
495
163
253
681
354
536
447
290
205
195
139
592
602
696
222
441
379
577
240
594
230
403
352
258
236
778
324
473
108
515
250
552
114
295
873
377
234
345
217
285
374
456
241
152
495
411
195
573
447
133
522
386
306
156
426
556
658
623
145
569
570
432
228
315
208
168
302
145
93
183
168
546
341
672
125
483
259
201
78
265
306
416
621
816
331
183
302
537
554
729
209
376
442
368
698
446
549
856
115
208
181
508
734
279
332
159
355
99
427
389
310
710
284
268
354
380
386
718
395
559
349
419
493
462
293
167
329
457
655
334
819
333
253
365
20
759
567
263
473
454
186
164
148
854
711
460
246
329
449
132
661
461
388
335
130
268
304
438
586
639
378
693
531
239
427
208
417
354
494
422
409
868
264
273
325
665
675
302
324
225
660
120
371
83
472
198
443
435
171
303
355
288
515
177
210
495
281
329
374
39
269
356
150
505
784
37
912
419
343
460
479
276
446
318
245
242
327
434
450
444
222
462
198
473
146
144
454
697
548
674
268
216
240
271
188
436
599
107
330
280
450
168
389
643
150
590
485
138
444
254
210
256
466
285
308
368
421
719
470
204
215
291
139
225
529
235
74
516
434
650
385
426
295
522
573
466
700
211
334
283
427
434
493
528
459
104
299
514
508
449
144
815
60
238
232
436
238
404
647
420
357
489
594
253
281
312
211
345
572
361
508
384
478
182
204
491
154
264
351
333
386
804
372
488
561
315
222
480
422
539
217
420
680
412
425
169
439
682
612
303
417
71
457
564
241
899
714
270
457
484
401
352
257
395
376
164
265
119
681
238
321
275
568
562
127
205
110
579
286
126
427
542
420
357
30
536
328
690
42
193
82
690
341
372
258
49
388
444
300
524
719
585
551
443
592
368
316
154
191
336
593
690
447
292
656
523
407
387
161
85
134
357
610
440
497
237
664
573
357
245
196
499
109
215
486
614
432
457
343
345
683
533
340
526
179
186
291
434
500
643
174
154
267
832
391
542
659
269
628
114
404
470
668
540
437
414
531
317
49
459
37
553
129
461
66
405
258
346
394
104
438
511
432
261
263
416
256
62
698
432
542
470
164
272
593
96
612
47
421
562
432
188
608
631
329
600
459
226
481
399
193
377
443
230
299
231
435
132
680
521
390
322
284
221
299
372
513
363
187
365
413
158
349
68
384
500
621
752
56
483
901
259
711
336
438
359
513
257
457
360
446
370
113
396
129
830
477
358
400
408
626
279
688
217
492
403
716
261
159
593
127
190
823
440
601
176
392
319
218
698
278
313
309
202
606
719
340
417
262
126
603
567
422
204
442
171
260
654
481
592
355
262
450
406
433
142
163
233
351
514
512
587
217
321
408
589
196
168
425
386
459
794
570
108
588
56
94
218
388
176
109
785
771
532
244
200
244
611
417
447
57
693
834
792
689
239
344
301
284
268
517
135
336
431
311
460
403
35
357
382
533
323
450
303
625
408
601
354
419
149
426
482
211
68
434
813
351
576
267
389
114
416
408
184
122
187
622
632
423
385
179
62
288
325
248
219
195
776
169
371
303
475
183
150
363
198
312
640
249
267
198
272
225
300
56
351
398
521
314
247
636
400
88
294
111
285
211
365
216
380
669
642
211
234
411
558
400
518
339
342
193
359
301
169
515
816
210
222
427
621
468
198
429
276
277
368
239
682
437
620
262
350
306
316
460
592
361
293
115
171
211
830
194
307
211
939
505
329
273
120
487
292
416
180
289
248
577
885
426
497
131
137
312
332
262
737
647
505
684
207
300
212
487
573
102
871
351
147
363
502
240
86
611
487
532
343
705
242
777
225
411
314
421
356
287
391
287
683
164
579
186
388
165
601
188
943
420
270
232
187
468
89
342
533
575
160
526
267
423
795
141
145
655
488
461
422
417
118
614
526
45
295
583
415
640
411
254
343
329
894
468
455
158
348
206
214
415
439
216
446
270
44
366
343
411
549
248
693
626
473
313
369
285
375
559
121
217
219
175
591
318
597
147
427
120
245
213
558
134
336
738
91
842
428
173
567
503
301
277
663
264
589
482
196
629
744
422
612
454
587
416
719
564
174
720
283
196
27
374
225
525
50
588
824
273
140
544
560
151
218
611
218
286
506
180
239
293
301
322
419
583
594
776
220
255
503
575
200
492
568
545
564
111
643
545
135
165
572
585
219
307
263
287
826
219
267
321
242
165
43
367
325
707
300
467
243
310
397
187
698
265
137
321
69
503
545
537
111
720
153
600
584
97
611
729
182
456
255
735
719
291
648
194
298
59
278
414
299
600
288
267
324
451
372
206
659
422
423
792
300
224
299
433
160
238
134
641
298
255
638
342
167
467
517
410
292
98
231
400
460
349
107
540
637
442
198
242
271
112
527
321
332
813
239
406
321
524
645
470
335
205
689
241
811
825
650
445
233
194
701
138
390
180
492
603
101
718
280
450
813
596
809
313
230
570
174
670
367
691
397
479
539
247
528
408
115
345
292
578
324
287
615
532
389
107
312
139
96
529
219
208
600
378
598
466
504
502
481
216
77
94
313
359
649
111
141
500
80
307
273
438
405
87
376
226
222
714
361
147
790
680
408
588
231
235
541
354
565
530
483
267
177
119
588
383
479
266
70
371
445
310
666
532
711
441
171
535
320
270
303
323
50
262
517
670
181
451
371
357
638
247
154
239
436
319
422
501
499
213
267
252
172
37
176
406
233
136
622
421
296
235
474
76
406
330
652
236
186
192
250
532
389
753
543
627
363
242
111
389
424
366
154
785
799
264
52
464
206
417
468
228
648
414
671
91
327
116
275
466
450
172
202
212
577
497
641
418
520
151
277
97
392
222
370
153
150
99
238
444
337
330
387
266
577
204
513
559
195
499
674
137
857
563
476
269
71
489
583
457
384
136
364
332
222
383
433
553
183
651
297
478
321
472
576
410
290
449
274
422
401
433
472
184
626
369
328
285
171
343
356
177
287
442
169
231
326
81
325
509
603
513
554
326
149
565
258
200
256
274
233
276
326
296
466
597
370
558
634
185
776
263
552
233
857
252
590
405
593
534
350
268
451
568
423
181
894
384
396
577
395
612
332
287
826
625
195
669
407
407
464
264
189
397
320
296
331
416
160
567
318
426
81
400
187
477
247
106
593
211
490
201
486
202
356
194
131
447
659
379
729
386
118
324
225
266
278
434
493
287
413
333
330
806
234
147
614
707
615
796
257
340
211
774
289
309
336
551
254
418
496
118
803
639
559
247
294
143
924
488
189
124
493
422
241
202
601
389
337
302
178
309
331
490
603
274
763
453
227
433
143
234
391
347
184
487
658
418
356
651
184
732
251
293
548
411
184
193
634
460
277
245
244
318
193
210
593
650
749
348
113
713
421
181
537
150
776
418
837
223
535
204
245
328
186
456
369
390
167
198
126
238
379
233
299
456
373
334
515
527
132
74
869
244
369
159
536
474
468
346
233
908
153
324
790
424
109
643
920
361
567
358
351
607
199
319
320
418
156
424
255
38
436
360
402
319
238
197
184
612
871
350
303
495
694
253
402
635
634
668
218
342
208
300
682
239
316
142
428
329
257
319
915
393
262
483
436
195
464
607
742
393
189
343
747
467
807
227
236
306
524
302
460
233
349
209
183
300
377
232
491
545
716
252
119
563
588
285
379
256
635
121
800
590
453
300
370
451
316
107
139
407
659
262
409
272
125
586
403
268
233
379
138
901
311
307
279
495
598
463
716
203
287
411
118
429
217
364
266
788
760
421
749
86
884
376
379
616
605
282
234
169
348
344
558
537
290
655
307
325
342
345
303
28
563
44
535
267
483
138
574
263
196
360
313
412
468
795
741
105
254
603
534
224
188
313
234
551
543
692
537
307
928
587
110
780
675
172
264
299
428
86
443
584
237
137
423
490
305
288
298
152
138
532
154
645
386
472
302
228
501
129
422
363
345
484
440
403
299
553
342
456
261
321
354
168
427
123
551
827
430
457
541
258
319
240
421
254
773
368
562
440
429
750
347
239
199
154
384
179
612
586
543
277
135
573
788
314
172
320
75
616
310
467
409
614
278
430
770
639
196
319
117
739
450
664
261
141
487
56
78
464
171
293
615
316
59
594
629
555
333
214
489
162
166
305
175
350
537
369
506
130
365
776
265
867
549
38
446
153
456
475
297
291
800
455
249
509
383
166
567
393
399
525
107
201
446
324
312
673
570
283
370
345
704
544
306
260
427
248
669
177
340
95
426
357
730
150
665
799
364
306
326
250
224
655
350
429
473
359
316
156
217
407
44
417
819
140
343
514
270
47
743
439
212
401
410
206
293
733
376
388
414
167
225
610
533
714
537
246
549
318
315
474
685
547
626
299
487
677
771
375
564
12
421
571
874
669
497
370
604
182
553
179
9
239
518
407
136
412
545
140
291
212
764
357
39
152
342
167
566
610
173
388
232
313
752
474
169
831
150
631
369
328
500
688
756
530
398
430
430
617
509
174
470
317
238
273
549
440
293
417
204
544
21
242
357
186
132
180
492
328
265
329
477
783
554
238
447
568
268
264
665
563
252
435
442
216
217
107
410
361
727
344
487
39
324
185
145
302
612
289
339
370
575
452
314
168
66
468
392
33
546
380
367
344
301
414
224
498
359
234
633
684
226
282
298
920
475
328
618
107
260
258
370
495
405
44
801
173
508
516
181
426
266
126
563
453
595
547
87
368
317
219
645
799
534
624
177
281
408
614
579
499
408
509
242
630
561
422
432
637
636
397
279
249
482
526
592
265
570
412
454
284
245
218
37
502
93
276
477
345
540
846
344
167
392
420
181
376
444
391
165
96
397
253
490
543
398
187
376
101
363
256
312
585
171
385
310
528
614
825
248
231
112
708
595
85
890
161
70
320
363
344
226
589
426
639
174
192
265
269
568
567
474
395
175
639
676
561
188
416
414
288
352
334
562
294
354
267
484
542
680
373