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