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