170
170
170
170
170
170
170
170
170
171
172
173
173
173
173
173
174
174
174
175
177
178
179
180
183
183
183
183
184
185
187
188
189
189
190
193
193
193
194
194
196
196
197
198
199
200
201
202
206
207
208
209
210
213
217
221
224
230
235
238
246
248
248
250
254
256
258
264
271
275
284
289
293
312
313
314
314
315
319
327
334
337
337
337
340
340
340
342
342
343
343
344
344
345
345
346
346
348
356
364
368
369
370
370
376
378
381
385
390
394
397
399
403
405
409
409
410
410
410
411
411
412
414
414
414
414
414
414
414
415
416
417
418
419
420
423
424
424
424
424
425
425
426
426
427
434
437
438
439
441
441
445
447
449
450
452
453
455
456
458
459
461
463
463
462
461
460
460
460
459
468
468
468
468
468
468
468
468
468
469
469
470
470
471
471
473
476
478
481
483
487
495
497
498
501
501
501
501
501
501
501
501
509
513
514
516
518
522
528
530
528
527
527
527
528
529
530
530
531
533
535
536
538
539
540
541
543
544
546
546
547
548
549
550
551
552
553
553
554
555
557
560
561
562
563
565
572
575
576
578
580
581
583
585
587
589
590
588
584
582
579
578
576
574
574
574
575
575
575
575
575
576
576
576
577
578
578
578
579
579
580
580
588
593
599
613
615
618
620
621
623
624
626
628
632
635
635
638
642
644
645
648
649
650
651
655
654
654
654
656
656
655
655
655
655
654
654
655
655
655
656
657
661
662
664
665
669
670
672
675
676
676
677
677
678
678
678
679
680
680
680
681
682
683
683
684
684
684
683
683
682
682
681
680
680
681
683
684
684
685
687
688
691
693
694
694
695
695
695
696
697
698
702
704
706
708
712
714
716
718
719
719
719
720
720
720
720
719
716
715
715
717
717
718
718
721
722
723
726
727
727
728
729
730
730
731
732
735
739
740
740
741
741
742
743
743
744
746
747
747
747
747
748
750
751
747
747
746
746
745
744
745
750
756
781
792
793
795
797
802
806
807
809
812
813
814
815
816
817
819
820
823
825
826
828
831
834
844
853
853
869
874
877
879
882
886
890
895
898
903
919
923
925
926
927
928
929
930
933
943
945
946
946
948
952
955
963
968
973
979
990
991
992
993
993
994
994
994
996
996
996
996
995
994
993
993
992
992
991
991
991
990
990
990
989
987
981
977
973
969
965
963
962
959
957
950
948
945
944
943
942
941
931
929
927
926
925
924
923
921
917
901
896
893
888
883
880
877
875
872
868
853
847
841
832
828
824
822
820
818
814
811
809
808
805
801
799
794
790
772
759
757
757
756
755
754
753
754
756
754
751
750
749
748
747
744
743
742
741
740
738
738
736
735
732
730
729
728
728
727
727
726
726
725
722
720
719
711
709
707
701
699
698
695
691
686
684
684
684
685
686
686
687
687
688
666
661
657
660
661
663
665
665
666
668
670
671
675
677
680
686
689
691
692
693
695
697
700
704
706
706
706
706
706
706
706
707
707
703
695
680
675
669
659
658
651
649
648
646
643
642
641
640
639
638
637
637
637
637
637
637
637
637
639
640
641
646
647
648
648
648
647
646
645
644
643
640
640
640
637
637
636
635
633
625
621
622
623
626
627
629
630
631
632
633
635
640
643
647
655
655
654
654
653
652
651
651
650
643
643
642
642
642
642
642
643
645
646
654
656
658
659
659
657
656
654
649
645
643
641
638
637
637
637
637
637
638
638
639
639
639
640
642
643
644
646
654
656
659
660
661
661
662
661
659
654
654
655
657
657
658
659
666
668
670
672
675
676
676
676
677
677
679
679
679
679
679
663
662
661
660
660
658
657
657
656
656
655
655
656
657
660
663
664
670
675
679
688
691
700
702
703
704
708
709
710
712
713
718
724
728
728
730
731
732
734
735
737
738
739
739
739
739
738
738
737
735
735
735
735
736
737
738
739
741
742
748
750
756
757
759
760
762
770
772
773
776
776
776
776
776
776
776
777
777
778
778
779
780
781
782
787
785
782
782
784
786
788
795
796
796
796
796
796
796
796
800
801
803
805
809
822
825
834
837
849
849
849
850
850
850
850
851
851
851
851
851
854
856
857
857
858
866
867
868
870
871
872
873
874
876
877
879
881
878
878
878
878
874
873
871
870
868
869
870
871
871
872
874
881
887
894
895
895
895
895
896
896
897
898
898
899
900
901
901
908
910
916
916
916
916
916
920
921
922
923
927
930
931
934
933
932
931
930
928
922
921
923
924
925
927
927
927
928
928
929
929
929
928
928
927
927
927
925
924
922
921
921
921
920
918
910
904
894
893
891
890
890
889
885
884
884
883
880
879
878
877
876
872
869
868
865
863
856
854
853
853
852
852
851
850
847
846
844
844
843
841
840
839
838
836
833
823
820
818
816
814
812
811
810
810
809
808
807
806
806
805
803
802
802
801
801
799
799
798
798
796
793
793
792
791
790
789
786
784
782
781
780
779
778
776
774
773
769
768
767
767
766
765
765
764
764
767
768
768
769
769
769
769
769
769
769
781
782
784
790
792
794
795
793
793
790
792
793
795
798
796
797
798
799
800
800
800
801
802
806
807
813
814
815
816
816
816
815
813
810
809
808
808
808
808
808
803
794
794
794
782
780
777
775
769
768
768
768
767
767
766
758
748
740
741
747
751
752
755
756
757
758
756
755
754
752
750
749
747
745
739
737
736
730
728
726
724
722
720
718
716
714
712
704
703
703
703
703
703
703
703
703
704
705
706
705
701
692
687
683
679
679
678
675
674
674
673
673
672
672
671
670
669
669
667
667
666
666
664
663
662
662
659
657
655
653
652
650
650
650
650
650
650
650
650
650
650
650
650
651
651
651
651
646
640
632
629
627
626
624
623
622
619
618
616
615
615
614
614
606
596
589
586
585
585
585
585
584
588
591
595
596
597
598
599
601
600
595
593
590
587
584
582
573
569
560
559
558
557
556
553
552
551
550
549
549
549
549
549
549
549
549
548
548
548
549
550
551
554
558
559
559
557
555
553
551
547
544
537
529
529
534
537
543
524
520
517
516
511
511
511
511
511
511
511
511
511
512
512
509
489
478
481
484
485
487
488
484
481
477
472
469
459
456
443
443
442
441
440
428
427
423
417
413
410
407
401
399
395
395
396
396
397
394
392
389
387
385
388
389
388
388
387
387
387
387
376
372
367
359
359
359
359
359
354
349
348
348
348
348
349
348
347
346
343
341
329
331
331
318
317
317
317
317
317
313
310
298
295
294
294
294
293
293
289
288
286
285
286
286
284
280
282
284
285
287
284
283
282
281
281
275
270
265
258
252
254
258
259
261
263
261
252
249
247
240
240
240
239
239
238
235
229
227
224
221
221
221
215
212
212
210
208
206
197
197
194
194
194
194
194
194
194
194
194
194
194
207
207
208
206
204
202
197
195
192
189
185
183
182
179
172
172
171
170
169
169
169
168
168
167
167
167
168
169
170
170
169
169
169
169
170
170
170
171
172
172
172
171
171
171
172
172
172
172
172
172
173
173
173
173
173
173
174
186
188
189
189
187
183
186
186
187
187
187
188
190
194
195
196
199
199
197
194
187
187
187
186
185
185
185
185
185
186
184
184
184
183
183
182
182
182
181
181
181
181
182
183
183
184
184
187
188
190
190
190
188
185
183
187
197
199
202
209
208
209
211
212
208
206
205
193
188
187
186
186
185
185
189
189
190
190
191
191
191
190
189
189
189
188
188
191
190
190
189
189
187
187
189
190
186
184
184
181
181
186
186
187
187
188
188
189
189
189
189
190
190
190
190
190
190
190
190
190
190
190
190
189
189
189
189
189
189
190
192
194
195
196
196
197
200
200
200
201
205
214
218
221
223
223
223
223
221
219
214
214
214
214
214
214
213
212
211
207
205
205
202
202
200
198
198
195
192
191
189
195
192
192
192
192
192
193
194
206
207
208
209
210
210
209
208
209
211
212
208
210
206
204
202
204
205
205
207
213
210
210
216
220
220
219
218
218
218
218
218
217
218
219
219
219
219
219
219
219
219
219
219
219
219
219
220
222
225
225
225
225
225
228
229
230
231
237
237
237
239
259
256
251
248
247
247
247
247
246
246
245
245
245
246
254
254
259
260
260
260
259
257
256
255
254
253
252
251
251
251
251
251
253
254
254
254
253
253
253
253
253
254
254
255
257
258
258
259
259
257
256
255
257
260
261
263
265
264
263
262
261
260
260
260
261
261
260
260
260
261
266
266
265
264
264
265
265
266
266
267
267
266
266
265
265
265
265
265
265
265
266
266
267
268
270
272
276
278
279
277
275
273
272
272
271
271
272
272
272
273
276
276
276
276
276
277
277
278
278
279
279
281
281
281
282
282
282
281
281
281
280
280
281
283
284
287
293
296
296
296
297
298
298
298
298
297
295
294
295
303
307
312
314
315
315
316
322
324
323
322
321
320
316
312
311
306
305
304
304
303
303
303
304
304
304
305
305
305
316
318
323
324
324
323
321
319
316
313
313
313
311
310
309
310
313
314
314
315
315
315
316
317
318
321
321
320
320
319
319
319
319
319
329
330
331
332
333
336
340
342
343
343
342
341
340
339
339
338
339
342
343
345
351
357
359
364
369
372
377
376
374
372
371
373
376
382
384
385
388
388
388
389
390
390
390
388
387
385
382
381
377
390
397
401
407
411
415
418
425
425
425
424
424
426
431
433
434
436
445
448
450
450
450
450
450
450
450
453
459
466
467
470
471
471
472
474
475
476
477
479
479
481
481
483
484
485
486
487
485
484
482
479
479
478
477
477
476
475
475
475
476
478
480
481
482
489
492
494
498
501
507
507
506
505
494
489
482
481
479
474
464
461
458
449
447
446
443
445
449
458
465
468
470
472
476
475
469
465
463
457
456
454
452
449
442
440
439
439
439
438
438
434
427
413
411
408
441
443
448
453
453
456
458
459
458
456
455
453
452
450
449
447
445
445
448
462
463
465
464
464
462
460
453
440
435
428
424
417
418
420
425
428
433
437
438
432
428
423
420
419
418
416
419
423
425
426
428
430
433
435
443
443
435
431
423
416
409
405
402
368
358
352
347
345
344
342
344
345
347
348
350
351
352
352
347
336
332
330
331
329
324
321
324
324
325
325
327
327
328
328
329
330
331
333
333
334
334
329
326
324
321
318
308
306
297
292
289
288
288
287
287
287
287
286
284
283
280
279
278
274
273
272
270
268
267
266
264
263
262
262
261
260
257
256
257
257
257
257
257
257
255
255
254
254
253
251
251
249
249
249
249
250
250
250
248
247
248
249
247
242
242
241
241
242
239
235
233
233
233
232
233
225
225
226
224
224
223
223
223
223
222
220
221
221
220
220
219
219
219
216
216
218
219
219
221
219
216
216
216
216
216
215
215
215
215
215
215
214
214
214
215
215
215
216
214
214
213
213
213
214
214
215
215
215
214
214
214
215
215
215
212
212
211
211
210
210
212
212
212
224
220
213
215
217
212
212
207
210
213
214
218
220
220
220
220
220
220
214
213
212
210
209
207
207
206
206
205
205
205
205
207
206
205
205
204
204
204
202
204
203
202
202
202
199
202
202
202
201
201
201
200
199
199
199
199
198
198
198
198
198
196
196
197
197
196
196
196
196
196
194
194
193
192
192
192
193
193
192
191
191
191
192
192
192
192
192
192
192
191
191
191
192
192
192
194
205
203
196
196
198
192
186
185
184
183
183
191
189
187
186
184
183
182
182
182
182
182
182
182
183
183
184
188
188
188
188
188
183
183
183
182
181
178
177
177
175
175
175
174
173
173
173
173
173
173
173
174
174
174
174
174
174
174
174
174
176
177
177
177
178
179
181
186
186
186
187
183
181
181
182
186
187
188
188
189
189
189
189
189
189
190
194
194
194
201
203
210
210
211
213
213
215
215
212
211
210
210
210
210
205
205
210
214
215
216
218
215
227
228
250
252
250
250
253
257
259
272
278
273
266
263
259
256
252
245
244
243
242
223
223
223
223
223
223
222
222
221
221
220
219
218
218
218
218
218
218
218
218
219
227
229
222
219
215
214
214
214
214
214
214
214
215
215
215
215
214
214
213
213
216
216
214
213
212
212
212
212
212
212
212
212
212
212
212
208
207
209
210
209
207
206
206
207
207
208
208
208
208
205
204
204
204
203
203
203
203
203
205
206
206
207
207
205
204
205
205
203
201
197
196
196
197
198
198
198
198
198
198
198
197
194
194
194
196
199
196
191
189
189
190
190
191
191
191
190
189
189
189
190
191
191
191
191
191
192
192
194
195
196
198
200
202
203
206
208
210
213
216
218
220
221
230
233
231
226
219
209
200
198
195
195
196
195
194
193
192
190
190
189
189
189
189
188
185
183
177
176
175
175
175
174
174
174
174
174
174
174
174
175
175
175
176
177
177
177
177
176
176
176
176
176
176
176
177
177
177
176
176
176
177
180
184
185
186
184
184
184
188
190
193
193
193
198
199
199
202
202
206
213
214
214
214
214
215
216
217
218
219
222
223
223
222
221
221
220
220
217
217
218
218
218
220
224
224
223
223
225
231
232
232
234
236
237
238
238
239
240
249
248
250
251
253
263
265
267
268
275
277
282
282
281
281
281
280
280
280
283
288
289
290
291
291
292
292
295
303
304
305
305
306
308
310
311
312
316
318
319
320
321
321
320
319
317
316
316
316
316
316
316
316
317
317
317
318
319
320
323
324
325
327
327
327
327
327
327
327
327
327
327
327
327
328
329
330
331
332
333
335
339
342
347
350
352
354
355
361
361
361
361
363
364
365
366
366
367
368
369
382
381
381
380
380
380
380
380
380
380
380
381
381
383
383
384
389
395
399
401
404
404
405
406
406
407
408
414
417
418
418
418
418
418
419
419
419
420
421
422
424
425
428
429
430
431
432
433
434
437
439
440
440
441
441
442
444
446
449
455
458
458
458
458
459
459
459
461
470
476
476
477
477
478
481
483
484
487
488
491
492
492
494
495
499
501
502
503
507
509
510
512
514
516
518
522
523
524
526
528
529
530
534
535
537
538
540
541
543
545
548
553
554
556
553
550
548
544
545
546
549
549
551
552
552
553
554
556
557
559
568
572
586
589
592
598
601
603
604
604
603
602
602
601
600
600
599
599
604
608
610
614
617
619
622
623
624
623
622
620
619
617
621
625
629
632
635
634
632
630
629
628
626
625
623
620
622
626
627
629
635
643
644
644
644
643
643
643
643
645
643
641
640
639
638
637
637
637
637
637
638
640
641
642
643
644
646
647
648
649
650
652
655
650
648
644
643
642
637
644
652
659
663
668
671
674
676
685
686
689
693
697
700
701
702
704
708
710
711
713
715
718
720
720
720
719
719
719
718
716
713
706
704
703
703
701
699
697
694
692
692
691
691
690
690
690
689
688
688
687
687
683
681
680
679
677
675
675
672
671
669
669
667
666
665
661
660
659
658
656
655
654
654
654
654
658
659
660
660
660
660
659
653
652
649
649
647
645
643
641
640
638
632
631
631
629
627
624
623
622
621
620
618
616
614
612
611
610
609
609
606
606
606
604
599
594
590
589
584
583
581
578
572
568
567
566
565
564
558
556
554
553
551
549
548
548
547
547
547
546
546
545
545
544
538
536
536
535
534
532
531
529
527
527
527
527
527
527
527
526
523
522
521
515
514
513
512
512
512
510
510
507
504
502
500
500
498
496
491
486
479
477
476
475
473
472
470
469
468
467
466
465
464
463
462
461
461
460
460
459
458
456
455
453
450
447
446
444
439
436
433
431
429
426
426
426
426
425
425
424
423
422
421
420
419
419
418
415
414
414
414
414
414
415
415
415
415
415
414
413
406
406
404
403
401
401
400
399
399
398
394
393
390
384
380
376
373
371
370
366
360
357
352
346
345
344
342
341
340
338
336
334
332
329
316
312
308
308
306
303
288
283
278
271
267
260
254
252
250
245
244
243
242
234
229
226
220
218
213
211
208
207
204
203
203
198
197
196
196
195
195
194
194
193
192
192
192
191
188
186
186
185
184
184
183
183
183
182
181
177
176
175
174
173
173
173
173
173
173
172
171
171
171
171
170
170
169
169
169
168
168
168
168
168
166
165
165
164
161
159
159
159
158