0
0
0
0
0
0
0
1
1
1
1
2
3
3
3
3
3
4
5
5
5
6
7
8
9
12
16
20
25
29
30
32
37
42
47
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
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
52
53
54
54
54
54
54
54
54
54
54
55
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
57
58
59
60
61
61
61
61
61
61
61
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
63
64
64
64
64
65
70
74
79
79
80
83
85
90
91
92
92
94
98
98
100
104
109
114
115
117
119
119
121
121
122
122
125
125
126
129
132
137
140
149
154
156
165
168
171
178
178
178
178
178
178
178
178
179
179
179
179
179
180
180
181
181
182
182
182
182
182
182
182
183
184
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
186
186
187
187
187
187
187
188
188
188
188
189
189
189
189
189
189
189
189
189
189
190
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
192
192
192
192
192
192
192
193
194
195
196
196
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
202
207
210
213
218
221
226
228
230
235
236
238
243
246
249
254
254
257
260
260
261
262
263
264
265
265
266
267
267
268
268
269
270
271
272
273
274
275
276
277
277
277
277
277
277
277
278
278
278
278
279
280
280
280
280
280
281
282
282
282
282
283
284
285
288
292
296
301
305
306
306
313
316
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
321
322
323
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
325
326
326
327
328
328
328
328
328
328
329
329
329
330
331
332
333
333
333
333
333
333
333
333
333
334
334
334
335
336
337
338
339
340
341
341
341
341
341
341
341
341
341
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
343
344
344
344
344
347
352
357
361
363
366
370
375
379
380
381
384
388
392
397
402
407
412
417
417
417
419
419
423
423
424
424
427
428
429
432
435
440
443
455
458
461
474
477
477
489
489
489
489
489
489
489
489
490
490
490
490
490
491
491
492
492
493
493
493
493
493
493
493
494
495
496
496
496
497
497
497
497
497
498
498
498
498
498
498
498
498
498
499
499
500
500
501
501
501
502
502
502
502
503
503
503
503
503
504
504
504
504
504
505
506
506
506
506
506
506
506
507
507
507
507
508
508
508
508
509
510
511
512
512
512
513
514
514
514
515
516
517
518
519
520
521
521
522
523
523
523
523
524
524
524
525
526
527
527
527
528
529
530
531
536
541
543
546
551
556
561
563
566
571
574
577
582
587
591
596
597
600
603
603
604
605
606
607
608
608
609
610
610
611
611
612
613
614
615
616
617
618
619
620
