0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
2
3
4
4
5
5
5
5
6
6
7
8
9
10
11
12
12
12
12
13
13
13
13
13
14
17
18
21
25
30
35
35
37
45
57
71
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
96
97
97
98
99
99
99
99
99
99
99
99
99
99
99
99
100
100
101
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
103
103
103
103
105
105
108
108
108
111
116
121
126
126
126
126
126
130
134
134
134
134
134
134
134
137
138
138
138
141
146
158
170
182
196
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
212
213
213
213
213
213
213
213
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
215
215
215
215
216
217
217
217
217
217
217
217
217
217
217
217
217
217
218
219
223
227
231
235
239
244
249
253
257
258
259
260
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
262
263
263
263
264
265
266
266
267
267
267
267
268
268
269
270
271
272
273
274
274
274
274
275
275
275
275
275
276
279
280
283
287
292
297
297
300
309
321
336
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
363
363
363
363
363
363
363
363
364
365
366
366
366
366
366
366
367
368
368
369
370
370
370
370
370
370
370
370
370
370
370
370
371
371
372
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
373
374
374
374
375
376
376
377
377
377
377
381
381
385
385
385
388
393
398
403
403
403
403
403
407
411
411
411
411
411
411
411
414
417
417
417
420
425
440
452
464
479
494
494
494
494
494
494
494
494
494
494
494
494
494
494
494
495
496
496
496
496
496
496
496
497
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
498
499
500
500
500
501
502
502
502
502
502
502
502
502
502
502
502
502
502
503
504
508
512
516
520
524
529
534
538
542
543
544
545
546
546
546
547
547
547
547
547
547
548
549
549
550
551
551
551
552
553
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
570
575
579
584
587
591
596
601
606
611
616
621
626
631
636
651
666
681
696
706
731
731
731
731
731
731
732
732
732
732
733
734
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
735
736
737
738
738
739
740
741
742
743
744
745
746
747
748
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
762
763
763
764
765
766
767
768
769
769
770
771
772
773
773
773
773
773
774
775
776
776
777
778
779
780
780
781
782
783
783
784
785
786
786
787
788
789
790
791
792
793
794
795
799
802
807
812
817
822
823
827
832
837
842
847
851
855
860
865
870
875
875
875
875
875
875
875
880
883
883
883
888
893
908
920
935
950
965
965
965
965
965
965
965
965
965
966
967
967
967
967
968
969
970
970
970
970
970
970
971
972
973
973
973
974
975
975
975
975
975
975
975
976
977
977
977
977
977
977
977
978
979
980
980
981
982
983
983
983
983
983
983
983
983
983
984
985
985
986
987
988
992
996
1001
1005
1010
1015
1020
1025
1030
1031
1032
1033
1034
