0
0
0
0
0
1
2
2
2
3
3
3
3
3
3
3
3
4
4
5
5
6
6
8
9
9
9
10
11
12
17
20
23
26
34
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
49
49
49
49
49
49
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
51
51
51
51
51
51
51
51
51
51
52
52
52
53
53
53
53
53
53
54
55
55
55
55
55
55
55
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
58
58
58
58
58
61
61
62
62
63
66
66
66
66
69
73
75
75
75
75
77
77
89
103
107
114
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
126
126
126
127
127
127
127
127
127
127
128
129
129
129
129
129
129
129
129
129
129
129
130
131
131
131
132
133
133
133
133
133
133
133
136
136
136
139
140
143
143
148
152
156
157
161
165
166
167
167
168
169
169
169
170
170
171
172
172
172
172
172
173
174
174
174
175
175
175
175
175
175
175
175
176
176
177
177
178
178
180
181
183
185
187
189
190
195
198
202
208
217
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
235
235
236
236
237
238
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
240
240
240
240
240
240
240
241
241
242
243
243
243
244
245
245
245
245
245
246
247
247
247
248
248
248
248
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
249
251
251
251
251
251
255
255
256
258
260
263
263
263
263
266
270
273
273
273
273
277
277
290
304
308
315
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
328
329
329
329
330
330
330
330
330
330
330
331
332
332
332
332
332
332
332
332
332
332
332
333
334
334
334
335
336
336
336
336
336
336
336
339
339
339
343
344
347
347
352
356
360
365
369
373
374
375
375
376
377
377
377
378
378
379
380
380
380
380
380
380
381
381
381
382
382
382
382
382
382
382
382
383
383
384
384
387
387
388
388
390
395
398
400
401
402
413
418
428
437
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
458
458
459
459
460
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
461
462
462
463
464
464
464
465
466
466
466
466
466
467
468
468
468
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
469
471
471
475
475
479
484
485
487
492
497
501
503
507
507
511
515
519
520
521
526
531
538
552
565
577
589
603
603
603
603
603
603
603
603
603
603
603
603
603
604
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
605
606
607
607
607
607
607
607
607
608
608
608
609
609
609
609
610
611
611
612
613
613
613
613
614
615
615
615
615
615
615
616
617
617
618
619
620
620
620
620
620
621
622
625
630
635
640
643
648
653
658
663
668
669
674
679
680
681
681
682
683
683
683
684
684
685
686
