0
0
0
0
1
1
1
1
1
2
3
3
3
3
3
3
3
3
4
4
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
11
11
11
11
15
17
17
17
17
17
18
19
19
19
19
19
20
20
20
20
20
20
22
23
23
23
23
23
23
23
25
28
31
31
34
37
37
40
41
41
41
41
41
41
41
41
41
41
45
49
53
54
55
56
57
57
58
58
58
61
61
61
61
61
61
61
61
61
62
62
62
62
64
64
64
70
71
73
79
88
97
97
98
99
99
102
103
103
103
103
107
118
129
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
131
131
131
131
132
133
133
133
133
133
135
135
135
137
137
141
141
141
141
141
141
141
141
141
141
141
142
142
142
144
148
153
158
158
158
161
162
164
167
167
167
167
167
170
170
170
174
178
180
184
186
186
188
191
191
191
191
191
191
191
192
193
193
193
193
193
204
206
214
216
227
233
242
247
255
264
269
269
270
270
274
278
279
279
283
287
292
295
300
303
303
308
311
314
314
314
314
315
315
318
321
323
324
325
325
325
325
325
325
326
327
328
328
331
340
340
340
342
347
349
350
351
352
354
367
369
373
375
379
379
382
385
385
385
387
387
387
387
387
387
387
389
389
389
389
392
392
392
392
392
392
395
398
398
398
399
401
406
409
412
416
421
426
430
432
432
432
434
437
438
439
439
441
446
448
449
449
449
449
451
451
454
455
455
459
462
465
468
471
474
477
480
480
483
486
486
489
490
490
490
490
490
490
495
495
495
500
504
508
512
513
514
515
516
516
517
517
517
520
531
540
552
562
573
578
580
584
590
595
598
598
609
620
629
641
651
659
671
683
690
691
693
695
696
699
700
700
705
708
722
737
752
757
761
766
769
770
773
775
780
784
788
791
793
798
799
802
806
806
810
813
818
819
822
825
830
830
832
835
838
839
839
839
844
847
850
854
859
864
869
872
877
882
885
890
893
894
899
904
909
914
919
924
929
934
939
942
947
952
955
960
963
963
966
969
974
978
982
985
989
993
995
999
1001
1004
1007
1011
1012
1014
1015
1016
1017
1017
1020
1023
1023
1023
1025
1026
1039
1050
1061
1069
1081
1092
1103
1109
1120
1131
1141
1145
1152
1157
1162
1167
1172
1177
1182
1187
1192
1196
1201
1205
1210
1215
1219
1224
