84
85
83
84
83
82
84
84
86
85
87
87
87
87
85
84
84
84
83
83
83
81
81
81
80
80
80
80
80
80
80
80
80
80
80
80
80
79
80
79
79
79
79
79
79
79
79
79
80
80
80
80
80
80
80
80
81
81
81
81
81
80
80
80
80
80
81
81
80
81
81
81
81
81
81
81
81
81
81
83
83
83
83
83
83
82
82
81
81
78
78
79
78
79
78
79
79
79
79
79
80
81
81
81
82
81
81
81
82
82
82
82
81
81
82
82
81
82
81
81
81
81
80
80
79
80
80
80
80
79
79
79
79
79
79
79
79
79
79
78
78
78
78
79
81
82
82
82
82
83
83
83
84
84
83
83
84
84
84
86
84
84
86
87
87
87
87
88
89
91
92
93
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
94
93
93
92
92
92
93
93
93
93
94
93
94
94
94
94
94
94
94
94
94
94
94
94
94
93
93
94
93
93
94
94
94
94
94
94
94
93
93
93
93
94
94
94
94
93
94
93
94
94
94
94
94
94
94
94
94
95
95
95
96
96
96
100
100
104
105
109
109
114
117
113
116
121
133
135
141
142
143
144
144
143
143
144
144
141
133
140
146
145
141
141
140
139
138
140
140
143
150
149
150
149
151
151
152
153
153
153
152
152
153
152
152
152
152
152
152
152
152
151
151
151
150
150
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
148
148
148
148
148
148
148
147
147
147
147
147
146
146
146
146
145
145
145
145
146
146
146
146
147
147
147
147
147
147
147
147
147
148
148
148
148
148
148
148
148
148
148
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
150
149
150
150
150
150
150
150
150
149
149
149
149
149
149
149
148
147
146
146
146
146
146
146
146
147
147
148
147
148
148
148
148
148
149
150
151
151
151
151
152
152
152
153
152
152
153
153
152
153
153
152
153
153
152
153
154
153
155
156
157
159
158
158
157
158
161
160
161
164
164
162
164
164
164
164
165
165
166
165
166
165
167
169
170
170
171
171
171
170
167
166
164
164
164
165
168
168
168
170
170
171
171
173
175
179
179
179
180
181
182
182
182
182
183
183
183
183
183
186
188
190
192
192
192
193
193
193
192
192
192
192
193
194
194
200
200
200
200
203
203
206
206
206
207
208
210
209
211
217
216
216
218
216
216
216
218
218
218
219
222
219
220
222
222
222
230
221
228
228
228
228
233
233
229
235
235
237
233
239
239
235
239
239
243
238
243
245
245
246
245
246
242
244
244
241
248
248
249
255
255
255
249
253
253
253
255
255
255
258
260
260
258
260
252
252
258
254
254
260
254
254
254
265
258
265
268
268
267
267
267
264
264
271
271
266
266
266
272
264
268
264
264
264
266
271
271
271
275
275
275
271
271
270
270
272
272
272
272
272
272
272
278
281
279
285
282
282
280
280
284
283
283
283
283
291
285
293
286
293
294
286
296
287
292
303
305
300
300
301
301
306
306
305
305
304
310
308
308
308
315
312
312
312
318
313
318
318
320
320
321
324
324
323
325
327
325
327
327
324
328
327
328
325
328
328
327
327
326
328
328
329
328
328
326
326
325
323
323
322
323
321
320
320
320
320
320
320
319
319
319
318
318
317
314
310
309
307
303
307
307
302
302
301
301
299
299
294
303
303
298
300
300
293
294
301
294
294
299
290
290
290
290
295
289
289
289
289
281
281
282
277
277
280
276
276
276
276
276
273
273
273
273
269
273
273
269
269
272
268
268
270
270
267
269
266
266
269
269
266
266
263
263
261
261
261
261
261
261
264
264
264
261
264
265
265
261
264
261
261
258
257
260
257
260
258
258
258
258
257
257
260
257
255
259
259
259
257
260
260
260
254
255
255
255
255
253
251
258
251
258
257
257
257
256
256
256
257
257
258
249
251
252
253
246
247
249
249
248
248
241
246
246
246
244
244
247
243
241
241
241
239
237
239
235
230
230
226
226
226
226
220
220
224
224
219
224
219
225
221
217
223
219
219
211
207
207
209
204
204
204
199
199
197
197
199
199
205
199
205
205
205
205
209
214
206
198
201
195
201
195
195
195
195
188
189
188
188
187
190
200
196
196
192
197
197
192
190
200
200
192
197
205
205
219
201
212
207
207
207
207
212
209
209
210
215
217
212
212
219
212
219
214
221
214
221
215
219
226
221
226
221
226
231
221
226
226
230
225
233
227
229
229
229
229
231
229
231
231
233
234
237
237
236
237
237
236
236
237
237
241
241
244
248
248
250
253
248
253
251
253
253
258
253
253
253
253
258
261
261
264
267
267
268
269
269
271
273
273
275
275
275
278
278
278
280
280
281
282
284
284
285
285
285
285
285
285
285
285
286
286
285
286
286
286
287
290
289
289
290
292
291
293
293
293
291
293
291
293
293
294
295
295
295
296
296
297
299
299
299
299
299
300
299
300
300
300
300
301
300
300
300
300
301
301
301
302
303
305
305
307
306
308
308
310
313
316
319
322
325
327
327
327
328
325
325
323
323
321
321
322
321
323
326
329
329
331
331
333
336
336
336
341
342
342
342
343
344
346
347
349
350
350
353
355
356
359
362
367
367
370
369
369
371
371
371
371
372
375
375
374
374
375
376
376
376
376
376
376
376
376
376
376
378
377
377
376
378
376
378
377
377
377
378
377
377
376
376
377
376
375
375
377
380
381
381
381
384
382
384
384
384
383
383
382
384
383
379
380
382
380
382
381
381
381
383
383
383
383
383
387
387
391
390
390
393
393
394
398
401
403
401
402
402
402
403
402
401
403
403
403
405
405
405
406
406
408
412
413
414
415
416
416
416
415
416
417
418
420
420
420
420
421
421
420
420
420
421
421
418
418
419
419
421
421
421
421
422
422
422
424
424
424
425
426
428
429
429
429
430
432
433
433
433
434
434
434
437
436
438
437
439
435
434
437
435
435
428
429
425
429
425
425
427
427
427
427
423
425
423
425
427
427
427
427
424
424
424
424
424
424
420
424
420
420
418
418
413
413
413
416
412
416
411
414
414
414
416
411
411
411
416
411
412
412
411
411
411
409
409
405
403
398
400
398
398
398
398
396
396
396
396
396
393
396
389
393
393
393
391
395
392
391
392
391
391
391
391
394
391
389
394
394
389
394
394
389
389
389
389
389
388
386
388
384
380
380
377
378
378
373
377
372
372
372
372
372
372
372
372
372
373
369
370
366
371
366
366
364
368
364
364
364
364
362
362
362
364
365
365
364
365
364
364
360
364
360
360
360
360
364
357
364
359
358
357
350
350
348
348
343
343
336
336
336
336
336
336
334
339
334
337
339
339
331
337
331
331
331
331
334
327
334
329
329
330
330
330
328
325
328
328
332
327
329
330
320
320
331
331
320
320
320
320
331
331
320
320
320
318
316
302
302
301
301
301
298
296
298
296
296
288
296
293
293
293
293
293
295
294
295
296
296
296
290
290
290
291
291
286
291
292
292
288
288
292
292
288
286
286
282
281
281
274
282
279
279
278
277
273
273
269
269
269
265
260
264
264
264
257
252
259
257
249
245
245
245
245
245
245
245
245
236
236
246
245
245
253
253
250
250
250
250
255
254
251
254
251
251
258
252
259
259
259
264
264
264
264
264
267
267
262
272
278
272
264
274
264
264
274
263
263
270
263
270
264
271
276
268
268
268
273
259
277
277
277
277
277
272
272
272
271
277
286
286
286
293
281
281
281
285
285
285
284
284
288
288
288
288
279
279
279
279
277
277
291
286
297
281
291
293
292
296
296
298
288
297
302
307
301
304
304
311
309
309
309
312
312
308
308
313
312
317
320
313
322
314
318
326
320
320
320
322
322
329
328
328
328
328
329
329
329
329
329
328
326
326
326
326
325
329
323
323
323
340
339
338
333
340
345
345
347
344
344
344
344
344
359
353
365
353
356
356
356
349
349
354
354
352
352
361
351
352
351
351
351
352
353
337
352
338
352
350
350
350
348
348
348
348
357
357
363
356
370
362
362
373
373
373
367
375
375
375
367
369
369
370
378
370
381
370
370
372
372
376
364
377
377
377
373
377
373
373
371
373
371
371
371
377
377
388
372
372
384
383
383
383
375
375
384
384
389
389
389
388
388
388
381
381
381
387
381
381
386
378
385
390
390
390
390
389
389
394
394
395
395
395
395
398
398
397
399
398
401
400
403
403
401
401
405
400
403
402
409
409
409
409
410
405
410
411
407
407
411
411
411
411
411
414
412
410
413
412
410
413
413
416
415
411
414
414
414
417
417
417
415
421
420
420
412
416
416
417
417
417
417
416
422
416
420
420
423
429
432
428
430
429
429
426
426
429
429
430
430
431
434
433
429
423
421
426
427
422
422
428
428
428
424
426
424
421
416
418
418
419
414
419
416
415
415
415
412
413
413
413
413
413
413
412
411
411
414
414
412
412
412
415
415
414
409
409
414
416
410
410
411
411
406
406
406
403
408
410
404
410
409
409
406
406
407
404
407
407
407
407
405
403
402
401
398
398
398
398
397
397
397
397
397
397
396
396
395
395
394
393
392
392
391
389
387
385
383
383
383
381
379
379
375
371
372
371
369
363
365
361
356
353
353
348
345
343
341
341
341
341
340
340
339
338
338
338
336
338
336
337
337
335
337
337
335
337
335
334
334
332
332
332
331
329
329
327
327
324
324
321
321
321
321
319
317
317
317
317
317
318
318
316
318
318
318
318
319
319
315
317
317
316
313
310
310
311
310
310
310
312
312
312
312
310
308
310
306
306
303
303
301
299
299
299
300
299
301
301
301
301
301
301
301
301
301
300
298
296
296
296
294
294
291
294
291
291
293
293
285
286
284
284
280
280
280
279
278
277
278
278
279
280
279
279
282
279
279
279
276
283
279
275
278
281
276
278
280
274
276
269
276
269
275
274
271
271
270
270
268
267
267
263
266
265
263
263
261
261
259
259
258
258
258
258
258
258
257
257
257
256
257
255
257
257
255
255
255
255
255
255
255
255
255
256
255
254
255
255
253
253
253
255
253
250
250
250
252
248
252
253
250
251
251
251
251
249
249
244
243
242
242
248
253
253
252
254
252
252
250
249
249
246
243
243
242
242
241
240
240
240
240
240
241
241
241
241
241
240
240
240
240
241
240
240
244
244
241
244
244
245
241
245
245
245
247
249
249
246
248
248
249
248
249
249
250
249
249
250
250
250
252
253
253
257
253
257
254
258
258
260
262
262
262
264
265
263
263
261
263
264
265
265
265
265
265
265
265
266
268
271
271
273
277
277
280
277
278
276
276
274
273
272
271
271
271
271
271
270
270
270
268
268
268
268
268
268
268
269
269
267
269
267
266
265
266
264
264
264
264
262
264
263
263
264
264
263
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
266
270
269
271
269
269
269
269
268
268
269
268
269
269
269
269
269
269
269
270
273
273
273
276
276
276
275
277
277
277
275
275
276
276
276
276
277
278
277
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
278
279
281
281
281
281
281
281
281
281
283
283
285
286
288
289
289
289
290
292
293
294
295
295
296
296
296
297
300
301
302
303
304
306
307
311
310
312
313
313
313
313
313
312
312
312
312
312
312
312
312
313
312
312
312
312
310
308
305
307
302
302
302
300
297
301
294
296
292
292
292
292
292
292
293
295
295
294
295
294
294
295
293
290
290
290
290
291
291
290
290
288
288
285
287
286
287
288
288
288
290
289
290
290
290
290
290
290
289
292
292
292
290
292
292
289
289
289
289
290
290
291
292
298
298
300
300
299
301
300
300
304
301
306
306
304
304
307
305
308
308
308
308
310
310
310
311
321
316
318
316
315
321
317
310
312
316
311
311
316
315
314
314
314
318
313
313
309
306
311
309
308
308
308
308
310
308
308
310
310
310
310
313
307
310
313
313
315
316
319
323
324
324
326
328
329
331
333
333
335
335
335
335
335
335
336
335
337
338
338
339
337
339
338
333
333
333
335
335
337
336
337
336
338
337
339
338
339
339
339
341
339
342
342
345
346
346
349
350
353
353
356
356
354
354
359
357
358
361
358
361
361
360
359
360
360
359
359
361
360
361
359
360
362
362
363
363
363
362
363
363
365
367
368
368
369
369
369
369
369
369
368
368
369
369
373
376
378
378
381
383
385
382
386
379
374
382
386
386
392
396
399
399
397
398
401
403
404
404
402
402
404
402
404
401
406
402
399
401
403
394
404
395
407
405
402
402
399
408
400
408
413
408
414
409
405
413
409
413
411
419
418
416
412
415
409
415
411
416
417
414
418
425
421
422
415
422
415
416
416
416
422
421
428
428
432
433
426
432
421
434
428
432
426
433
433
434
434
440
443
441
439
449
449
441
444
441
446
441
439
433
441
441
441
440
439
440
442
442
444
444
445
446
447
448
447
446
446
450
451
450
451
451
452
451
450
446
441
440
440
438
438
436
436
436
440
436
438
441
437
442
440
440
439
439
439
439
439
445
445
452
442
448
439
448
445
445
449
446
446
440
444
450
443
443
443
443
442
442
442
446
452
452
448
448
449
449
444
449
444
454
448
447
448
450
456
454
452
455
454
458
458
456
461
461
460
460
459
461
464
461
461
461
462
462
461
461
461
461
460
462
462
462
463
464
464
464
465
465
463
463
464
464
462
462
463
463
463
464
462
462
459
462
458
457
462
463
464
464
464
463
462
462
466
476
472
469
473
472
470
470
475
470
470
472
471
470
470
470
470
470
471
471
471
471
472
472
473
473
475
474
474
475
475
476
476
476
477
476
477
476
476
476
476
476
476
475
476
477
479
478
479
479
479
479
479
478
482
483
490
488
488
496
492
488
493
493
496
492
497
497
493
500
496
493
489
497
497
504
504
502
498
505
505
509
512
507
510
512
517
517
509
507
507
508
504
505
507
507
505
505
506
507
507
509
509
511
514
518
523
522
520
518
518
525
525
522
519
523
523
526
526
543
524
521
521
520
520
524
524
527
540
540
527
539
537
535
529
538
536
546
538
551
551
547
542
551
547
542
549
556
557
559
561
548
553
544
548
559
549
559
554
556
565
566
557
554
549
549
550
546
545
543
542
544
544
550
555
552
552
555
558
553
558
555
553
555
555
555
555
555
555
558
558
556
562
558
558
563
566
566
568
570
572
570
570
574
582
583
582
583
581
581
581
579
578
579
578
579
581
588
584
583
582
580
580
580
590
587
593
592
596
596
593
592
592
594
596
598
599
598
600
604
602
606
612
612
617
619
618
619
619
619
619
619
619
619
617
617
618
616
616
617
621
620
620
620
625
624
620
623
623
623
623
621
626
626
623
628
630
632
632
629
629
629
628
628
627
626
626
631
631
631
631
629
626
631
631
631
626
636
636
632
632
632
634
636
634
642
642
636
640
634
639
640
640
650
650
650
648
652
652
652
652
656
652
652
652
656
648
651
656
660
664
651
653
653
653
653
653
662
658
662
658
664
664
664
664
672
675
675
672
680
680
680
672
680
681
680
680
681
689
685
685
685
676
677
674
674
674
674
667
674
678
678
678
678
678
685
678
679
689
695
695
695
695
695
695
693
693
700
700
697
701
701
701
698
695
703
703
700
711
700
708
708
708
718
714
715
705
719
708
708
696
685
700
700
685
699
699
709
709
710
721
721
710
721
710
710
715
723
709
715
720
720
716
716
718
718
716
722
721
721
721
721
724
722
726
726
724
724
724
724
728
731
731
734
734
733
734
734
730
721
723
723
722
720
724
723
719
723
719
719
719
712
712
714
709
712
712
711
715
711
715
710
709
708
704
708
704
700
702
699
702
699
700
700
697
694
698
693
693
689
695
690
683
687
681
687
681
678
678
669
673
665
670
665
667
667
659
663
663
669
669
663
663
657
650
650
644
644
648
648
655
655
652
652
652
653
647
638
638
625
630
630
630
638
622
630
630
639
625
625
639
634
625
628
634
639
639
639
636
636
630
636
630
630
621
621
621
626
626
627
620
615
609
609
609
610
604
604
614
608
608
598
608
608
608
608
613
589
594
599
599
591
591
579
579
591
586
573
577
581
585
573
579
579
567
579
573
567
579
571
571
574
563
566
566
556
569
560
560
559
559
560
559
557
569
569
569
569
568
568
568
568
568
558
558
546
558
546
546
551
551
551
540
553
553
553
552
552
560
552
549
549
547
552
546
546
546
546
546
546
546
548
542
543
545
545
545
539
538
532
539
532
532
532
532
532
538
538
538
538
537
537
537
537
536
532
530
532
530
524
530
527
527
525
525
525
525
521
524
524
520
520
520
520
519
519
520
518
518
518
515
517
515
517
517
520
517
520
520
520
520
533
533
534
537
521
521
540
522
522
521
521
539
521
539
531
521
531
531
531
521
519
521
521
531
521
531
521
531
531
522
531
522
533
533
516
516
528
514
514
516
514
514
514
513
513
513
513
513
513
512
512
502
512
513
512
513
513
513
517
517
517
517
517
499
517
517
496
496
496
494
496
517
494
518
492
518
511
511
495
495
490
490
490
497
484
484
498
485
496
514
514
504
504
505
505
490
506
506
492
493
483
483
489
482
482
482
486
490
480
483
484
484
484
473
473
480
476
480
476
481
468
468
470
467
462
464
465
465
465
467
470
470
471
471
474
478
472
473
474
476
476
483
483
490
488
488
488
488
487
487
492
492
514
486
499
508
497
500
498
498
498
497
497
503
503
513
513
516
516
535
511
535
528
528
528
525
520
509
509
509
510
512
532
515
523
523
523
523
541
541
533
571
531
533
531
531
547
539
539
525
525
529
529
525
525
533
526
534
534
533
533
535
535
536
536
541
564
564
564
563
550
554
563
546
546
553
545
557
546
552
552
544
551
551
549
552
552
551
552
552
555
555
556
556
556
558
562
557
559
559
561
562
561
562
562
564
564
564
567
569
569
569
571
574
576
576
584
584
588
589
589
589
589
591
589
589
588
586
586
584
583
583
593
593
595
596
597
597
596
596
602
603
603
603
603
603
603
598
598
603
602
600
600
600
602
603
603
604
605
611
613
617
617
615
621
617
615
617
623
633
633
635
633
630
629
627
631
631
631
634
637
638
637
634
634
633
637
637
642
641
641
647
647
647
651
656
664
664
661
661
661
661
661
661
663
666
675
671
678
676
680
680
679
679
679
679
680
681
682
685
689
685
687
687
685
685
689
693
693
700
700
703
703
705
706
706
704
704
712
705
706
706
707
703
704
706
704
711
713
708
715
710
710
711
711
713
714
714
718
718
718
721
721
722
722
725
730
730
730
730
730
732
732
732
732
732
732
732
732
734
730
737
737
737
741
741
741
747
747
752
747
747
747
752
752
746
745
746
746
744
749
749
747
743
746
746
743
746
749
747
749
749
749
749
749
749
753
754
754
759
756
762
766
759
759
763
768
761
767
777
767
777
786
786
786
776
776
776
770
777
772
778
779
776
776
780
777
777
782
785
784
788
788
793
793
793
797
797
799
798
798
798
796
792
792
792
795
792
790
790
790
789
783
789
791
793
783
784
783
783
783
772
784
784
773
774
774
776
783
776
777
777
772
772
772
773
773
768
768
762
762
762
762
762
759
762
762
762
759
759
759
764
759
761
761
761
759
759
758
753
753
750
750
750
747
745
747
745
743
747
744
741
746
746
741
745
741
739
745
747
742
742
747
742
746
742
746
742
746
742
737
742
736
736
736
731
731
734
736
738
733
735
735
733
733
733
726
729
724
724
724
725
724
725
725
725
725
725
725
723
725
724
719
719
718
717
711
709
709
705
703
705
703
703
703
703
700
704
704
707
704
707
707
705
707
707
712
712
712
713
713
713
713
713
713
709
704
704
704
698
698
698
693
693
693
688
692
687
687
686
686
682
682
684
682
682
682
682
678
681
678
682
678
678
675
674
671
674
674
675
674
675
675
675
675
675
675
670
669
669
669
669
666
667
664
666
662
660
657
655
655
655
655
649
646
646
646
646
653
653
665
665
674
662
662
672
671
666
659
653
651
651
650
643
644
643
643
643
642
642
642
643
643
644
641
641
641
638
639
636
636
637
626
634
628
638
627
635
634
626
626
625
625
625
623
621
620
618
619
619
626
619
619
619
624
618
616
619
617
617
618
612
612
610
607
604
604
602
601
602
601
601
602
601
601
600
603
601
601
601
601
601
600
599
600
600
599
600
599
599
599
600
600
598
598
598
596
597
596
594
594
595
595
597
595
595
595
593
594
594
596
597
595
593
594
594
600
594
595
593
594
593
595
595
595
595
595
596
596
596
597
592
589
589
588
585
590
587
589
588
589
584
584
585
585
584
584
584
586
582
583
581
578
576
582
579
579
583
586
586
588
596
585
585
590
585
582
579
589
576
573
586
582
570
576
585
585
576
575
571
573
577
580
580
583
583
572
580
581
581
579
569
562
562
566
555
555
551
558
558
560
553
553
563
563
575
575
575
570
570
586
565
565
578
560
578
578
572
572
564
579
579
582
570
570
570
561
575
575
565
565
563
565
576
571
587
571
581
574
582
569
565
562
570
560
551
560
560
555
555
558
558
558
564
567
572
578
572
556
552
549
556
559
552
537
547
544
544
546
546
535
546
549
540
546
546
540
536
544
542
542
542
532
532
523
533
525
532
533
527
520
527
516
512
512
513
526
516
525
513
513
516
516
535
516
535
530
522
534
515
521
521
529
522
517
517
517
511
509
521
518
514
514
520
509
509
498
496
495
491
490
493
488
487
488
484
481
481
479
477
478
476
477
477
475
471
478
476
477
477
477
477
477
476
483
479
479
481
474
481
472
475
474
469
467
470
472
467
462
462
461
459
461
459
460
457
456
456
453
452
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
451
452
452
453
455
455
456
456
456
456
457
458
461
460
460
464
460
458
460
458
456
458
455
456
455
455
455
455
455
456
457
459
460
460
460
464
464
463
462
463
462
462
462
466
468
468
468
470
470
472
472
474
478
477
477
477
481
476
481
481
475
480
479
479
479
479
479
488
488
491
497
496
498
499
497
497
497
499
498
495
498
498
501
498
497
502
502
502
505
507
507
508
508
508
508
508
508
513
513
508
508
513
513
514
514
514
512
516
518
513
514
514
518
519
520
519
520
522
519
522
519
528
522
528
522
522
522
520
526
524
524
523
526
526
528
527
527
534
534
534
540
540
544
545
551
544
550
550
545
547
556
551
551
556
556
556
556
551
551
551
547
547
549
549
549
547
547
547
547
547
549
549
549
549
554
554
554
558
554
558
556
556
559
551
562
562
562
564
564
555
556
568
569
569
560
571
571
582
581
581
570
570
581
570
581
581
579
579
579
576
579
585
576
576
578
584
589
579
590
588
588
597
592
592
599
595
601
599
596
602
595
602
603
595
595
596
596
597
598
598
600
594
600
596
599
599
600
600
600
600
606
609
609
611
613
613
615
619
616
619
619
622
621
621
613
613
610
610
608
610
610
610
614
610
609
608
609
609
609
610
610
610
610
610
614
614
611
610
610
610
610
617
609
615
607
612
612
612
612
612
609
617
619
619
614
625
620
625
620
626
626
621
627
628
623
628
631
629
625
625
626
625
627
627
627
623
625
625
627
627
628
628
623
623
624
625
631
631
627
625
627
623
623
623
617
621
626
626
633
626
633
633
626
627
636
636
634
642
636
636
636
636
638
638
638
638
638
640
636
640
640
640
640
641
645
641
641
645
639
639
639
639
639
644
645
640
641
644
644
644
643
643
643
642
642
644
646
643
647
647
645
649
644
648
649
649
649
649
649
651
653
649
649
648
648
648
650
650
647
647
650
650
648
648
651
651
657
663
668
669
674
673
673
677
678
678
678
684
678
684
683
683
690
690
689
689
688
698
687
698
707
699
706
703
701
704
703
703
700
701
701
702
701
702
701
701
700
698
698
698
698
692
692
692
692
691
688
686
686
686
686
684
682
682
683
682
683
684
683
685
683
680
681
677
674
673
673
673
673
673
675
675
678
677
678
679
676
678
676
676
678
676
676
678
676
680
679
679
678
677
677
677
679
676
681
681
681
680
683
680
679
679
679
681
681
679
677
679
679
677
679
679
679
679
681
679
679
678
681
678
678
678
678
676
677
679
675
677
679
681
678
673
673
674
674
674
664
670
670
664
667
667
670
670
670
665
663
663
663
656
655
656
656
653
653
652
652
649
646
645
646
645
644
642
639
639
639
637
639
634
634
634
634
632
632
632
634
631
635
631
632
632
632
629
629
629
625
622
622
622
618
619
619
619
617
619
625
616
630
630
624
624
624
624
628
619
619
619
623
631
623
623
623
626
620
620
619
619
619
625
619
625
614
621
616
616
616
610
603
603
612
603
599
604
604
595
595
598
598
609
596
607
603
603
599
599
594
602
602
602
602
602
602
594
594
602
599
603
593
596
585
586
585
586
576
585
585
585
576
576
575
586
575
585
572
572
582
579
579
574
574
570
572
565
572
572
569
569
562
573
564
577
566
566
566
559
566
564
564
562
562
558
562
558
557
557
557
555
553
555
553
551
553
553
551
553
551
551
553
554
553
554
553
554
552
553
549
546
541
534
535
535
530
532
528
525
526
529
525
528
527
523
523
521
520
521
521
520
520
520
520
520
520
521
519
521
518
516
518
516
517
517
517
519
518
518
516
519
521
513
515
515
515
519
515
516
516
515
512
516
511
511
507
507
506
497
510
494
499
494
499
485
491
491
484
492
486
493
493
482
495
482
482
480
486
483
482
481
479
475
475
475
471
477
471
471
468
468
465
465
467
469
467
462
461
461
458
460
462
454
456
456
450
452
452
447
446
444
442
441
441
439
438
437
435
433
433
433
432
431
431
430
430
430
430
430
429
429
429
429
429
428
428
428
424
425
425
424
422
423
423
423
419
418
417
417
416
416
417
416
408
408
419
419
417
419
419
415
417
415
413
412
416
415
414
417
416
419
417
421
414
416
413
412
411
407
403
401
399
402
402
401
401
402
399
400
397
397
397
393
395
395
395
395
395
395
399
399
399
402
402
402
400
400
397
394
394
392
394
392
392
392
393
393
393
390
387
390
387
387
387
384
382
384
382
379
379
378
379
379
380
380
380
382
382
384
386
388
389
389
390
390
389
389
390
390
390
390
392
391
392
392
392
392
392
392
393
393
394
393
394
395
396
397
397
398
398
399
399
400
400
402
403
406
406
407
408
409
408
409
409
409
408
408
408
407
406
406
404
401
402
399
399
400
400
400
401
401
401
401
402
405
402
406
408
414
414
420
418
425
417
416
422
426
425
428
427
425
431
431
431
439
438
435
442
436
437
437
439
436
437
436
437
436
436
439
437
440
445
440
440
441
449
451
448
445
451
452
452
459
462
466
466
466
466
463
461
461
462
462
462
463
468
469
471
470
470
472
466
468
472
467
467
472
468
469
472
469
469
469
473
474
474
475
475
475
478
475
473
475
482
485
485
481
479
479
482
490
486
492
495
495
499
499
497
501
495
499
502
505
507
509
509
509
509
513
513
515
513
515
517
517
519
521
528
522
528
528
528
528
528
527
527
530
527
527
531
532
532
537
537
537
537
538
541
538
541
541
541
539
543
543
543
543
537
537
541
538
538
538
538
542
542
542
547
555
555
555
559
559
559
561
561
558
553
553
553
553
558
562
559
564
565
567
567
567
567
568
573
573
572
570
576
573
573
573
573
577
581
585
585
588
585
588
588
588
586
583
583
580
586
589
589
592
592
598
592
595
592
598
599
595
599
602
596
598
598
598
598
605
605
610
605
612
606
611
610
618
620
618
622
626
624
624
627
627
625
625
623
623
623
620
621
619
619
619
619
618
618
618
615
615
612
612
613
613
609
609
609
605
609
609
609
606
604
604
606
606
610
606
606
610
610
599
604
599
594
594
599
594
594
594
593
586
593
586
579
584
584
584
576
576
579
587
581
572
581
574
574
574
582
574
581
579
570
558
564
574
565
565
555
559
563
552
554
554
557
547
557
547
551
546
546
546
546
548
546
540
550
542
542
542
545
544
545
544
543
543
543
545
543
545
537
537
541
541
544
532
537
533
541
528
541
531
531
531
531
531
529
529
538
531
537
531
531
531
531
519
516
516
523
518
518
518
519
519
518
519
515
516
512
512
512
512
516
514
514
514
510
517
510
514
510
507
510
510
504
491
484
486
484
486
483
486
483
486
484
484
485
488
484
488
488
484
488
484
486
488
486
486
486
482
482
478
480
480
480
480
480
477
477
477
477
477
477
476
468
465
465
461
465
461
469
469
466
469
473
473
473
469
468
473
468
468
464
468
468
464
464
464
461
466
466
459
466
466
465
465
458
444
443
443
443
440
448
448
443
448
448
443
452
443
443
431
431
422
435
422
414
418
418
430
418
424
424
432
437
440
440
435
435
431
431
428
431
428
428
424
424
424
419
415
410
406
406
402
399
402
399
399
399
402
402
402
404
397
405
405
405
396
396
396
396
397
397
398
398
391
391
387
391
391
391
391
392
388
392
386
392
388
388
388
388
390
390
384
384
381
381
378
378
380
377
374
375
377
373
373
373
374
371
369
371
373
375
378
378
375
382
378
378
382
382
382
383
380
375
377
378
374
378
377
373
371
371
368
370
372
372
375
377
376
375
376
379
376
377
378
378
382
383
384
384
392
393
393
387
395
389
397
392
399
399
400
400
401
403
407
408
412
413
413
418
414
419
419
420
421
422
423
427
429
428
428
427
428
428
426
426
429
425
424
424
424
424
424
422
424
426
422
429
433
436
436
432
424
429
427
430
430
420
425
425
420
420
427
427
423
423
420
430
417
417
412
412
421
421
431
421
431
425
431
425
425
421
421
421
421
421
428
422
422
426
426
414
421
421
421
417
426
426
432
432
432
432
433
433
432
428
424
427
424
421
416
411
411
410
408
406
403
402
399
390
396
389
394
391
387
391
388
385
384
384
379
372
366
366
362
363
359
359
359
358
361
356
351
358
358
350
355
352
352
354
346
341
341
341
343
348
343
343
343
350
337
343
350
343
351
351
343
336
351
344
344
337
344
337
337
337
337
332
332
323
331
331
331
322
332
322
332
333
322
322
322
322
322
322
322
331
320
326
326
315
310
320
320
326
320
320
314
314
314
309
309
323
323
309
306
304
304
304
304
305
305
304
305
305
290
305
290
305
290
290
305
304
304
291
304
306
306
309
309
309
309
298
298
314
314
308
308
301
304
301
301
304
304
304
304
310
303
303
302
303
302
304
303
298
295
291
294
291
287
283
283
282
283
282
279
282
277
280
275
271
268
268
268
260
261
259
259
260
259
259
259
267
269
266
266
260
260
260
260
260
260
255
255
255
255
255
255
255
258
252
258
254
254
261
261
261
261
254
258
254
258
254
254
252
258
258
252
252
252
252
252
247
248
248
248
248
248
244
245
241
245
245
241
240
241
240
240
240
240
240
240
240
240
240
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
238
239
239
239
239
239
239
239
238
238
238
238
237
236
234
234
231
231
232
232
232
232
232
232
231
231
230
222
221
221
220
222
226
231
226
226
231
226
239
231
225
228
235
229
234
233
233
227
237
230
230
233
233
229
228
225
225
225
225
228
225
225
225
225
224
224
224
225
223
222
221
220
220
220
219
219
219
219
218
218
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
216
215
214
213
213
213
213
213
213
213
212
212
212
212
211
211
210
210
210
209
209
209
209
208
208
208
207
206
206
206
205
205
204
203
202
200
199
198
197
197
197
197
197
197
196
196
195
195
194
194
194
195
194
192
191
190
188
188
188
188
188
188
188
188
187
186
186
186
187
188
187
187
187
187
187
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
185
185
185
185
185
185
186
185
185
186
186
186
186
186
186
186
186
186
185
183
183
181
181
180
180
180
179
179
179
179
179
179
179
178
178
178
177
178
177
177
177
177
177
177
176
174
174
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
174
173
173
173
172
173
172
172
172
172
172
172
172
173
173
173
173
173
173
173
173
173
173
174
178
181
180
180
182
182
184
183
184
184
184
184
183
182
183
183
184
184
184
185
185
184
185
185
186
187
188
188
187
187
187
187
188
188
188
189
189
190
190
190
190
190
191
192
191
194
196
202
196
202
202
204
202
204
204
199
204
200
200
197
200
202
202
203
204
204
200
200
198
200
201
201
204
202
204
204
204
204
204
204
206
205
205
203
203
203
202
202
202
202
203
203
203
203
201
201
197
196
196
198
196
198
194
196
194
196
194
193
195
193
195
195
196
197
198
198
198
198
200
199
200
198
198
198
198
198
198
197
197
197
196
202
202
209
211
213
213
213
211
211
211
211
207
208
208
209
209
206
209
206
206
209
207
207
207
207
206
205
206
205
204
204
204
203
203
203
203
202
202
201
202
198
198
196
198
196
197
197
200
201
202
202
202
203
208
208
213
215
217
216
216
216
216
217
215
216
216
214
214
214
214
210
209
212
210
209
210
208
208
208
208
208
208
206
206
206
202
202
202
202
202
202
204
204
206
206
208
208
208
209
209
207
209
206
203
203
203
203
203
203
201
201
201
200
200
201
201
202
202
202
202
200
201
200
201
202
202
203
203
203
203
203
202
203
204
206
210
210
212
214
212
214
214
215
214
212
208
207
204
207
204
204
205
205
207
206
205
205
206
206
207
206
206
207
207
206
210
210
213
214
213
214
213
213
213
213
214
213
215
215
217
217
217
217
217
217
219
219
219
219
219
219
220
222
221
223
219
218
217
217
217
218
217
217
218
218
219
220
220
220
219
220
220
220
226
223
228
225
230
226
226
230
229
228
228
228
228
232
228
228
229
228
229
226
226
228
227
227
224
224
227
228
224
229
225
232
232
225
228
228
228
226
226
226
226
226
227
230
231
233
234
234
234
234
234
234
234
237
239
237
237
239
239
240
240
240
239
242
242
242
242
239
242
239
243
241
240
239
243
242
247
247
244
244
246
248
251
251
251
253
253
253
250
254
254
254
258
259
255
254
254
256
259
258
259
261
261
261
261
262
262
262
263
262
262
263
262
261
260
260
259
259
262
261
261
260
256
252
257
257
253
253
253
249
248
247
239
237
244
243
243
247
240
244
237
237
237
241
241
240
240
240
240
234
234
241
234
241
242
244
244
244
246
243
239
237
234
232
229
229
228
225
224
223
220
220
220
220
220
220
219
220
219
218
219
219
219
222
222
224
225
223
225
225
223
225
223
225
225
223
224
224
220
220
220
221
220
220
221
221
219
220
220
221
219
219
217
217
217
217
219
218
218
217
212
211
212
212
212
210
208
207
205
204
202
202
202
202
200
202
202
202
200
200
202
200
200
200
200
198
197
197
196
194
196
194
194
196
194
194
192
193
193
189
190
187
191
187
188
188
188
187
187
187
186
185
185
183
176
178
173
176
176
172
174
171
168
170
164
164
162
166
162
163
163
164
160
160
165
161
161
162
159
159
159
160
160
160
156
156
157
154
155
155
156
154
151
151
146
145
144
143
143
143
143
142
142
141
139
139
139
139
139
139
139
139
139
139
139
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
137
137
136
136
136
135
135
133
133
132
130
130
129
129
128
128
128
127
127
127
127
126
126
125
125
125
125
125
124
124
124
123
123
123
123
123
122
122
122
122
122
121
121
121
121
120
120
120
120
119
120
119
119
119
119
119
118
118
118
118
118
117
117
117
117
116
115
115
115
115
115
114
114
114
114
114
114
114
114
114
114
114
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
112
112
112
112
112
112
112
112
112
112
112
112
112
111
110
110
109
109
109
109
109
109
109
109
109
109
109
109
109
109
108
108
108
108
109
108
108
108
108
109
109
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
109
108
109
109
110
110
110
111
111
111
111
111
111
111
111
111
111
110
110
110
110
109
109
109
109
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
111
111
111
111
111
111
112
111
112
112
112
113
113
113
113
113
113
113
113
114
115
115
116
117
117
119
119
121
122
124
124
124
124
122
122
121
122
122
123
123
124
125
127
128
129
130
134
134
136
147
147
147
149
148
149
148
150
149
147
146
146
146
146
146
146
146
146
149
147
147
147
147
145
143
142
140
140
141
141
141
143
143
143
143
143
144
143
143
143
143
144
144
145
144
145
145
145
153
151
151
151
153
151
149
150
143
140
138
135
138
130
130
128
127
127
125
125
126
123
125
124
124
124
124
125
125
129
129
129
133
136
136
142
143
144
136
136
134
133
127
127
128
125
125
124
122
122
120
122
122
123
122
122
122
121
121
121
121
122
122
122
123
122
122
122
120
120
117
115
115
113
113
111
111
111
109
112
110
108
108
107
104
101
100
98
98
98
94
94
95
93
90
89
88
86
85
84
84
83
83
83
82
83
82
82
82
82
82
81
81
81
81
79
79
79
79
79
79
80
80
80
80
80
81
81
79
79
82
82
82
82
80
80
80
80
80
82
84
83
83
83
83
83
83
81
81
83
82
83
82
82
82
82
82
82
82
82
82
82
82
82
82
82
85