0
0
0
0
0
1
2
3
3
3
4
4
4
4
4
4
4
4
5
6
6
7
7
8
8
8
10
10
12
14
17
19
22
31
39
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
47
47
47
47
47
47
47
47
47
48
48
48
48
48
48
48
48
48
49
50
50
50
50
50
51
51
52
52
52
52
53
53
53
53
53
53
53
53
53
53
53
55
55
55
55
55
59
59
59
60
63
63
63
66
68
68
68
70
72
72
72
76
76
76
89
101
103
106
116
116
116
116
116
116
116
117
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
119
120
120
120
120
120
120
121
121
121
121
121
121
122
122
122
123
124
129
129
129
130
133
133
136
139
143
147
151
155
159
159
160
160
160
160
160
161
162
163
164
165
165
165
165
165
166
167
168
168
168
169
169
169
169
169
169
169
169
170
171
171
172
172
173
173
175
179
180
182
185
188
191
196
203
211
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
223
223
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
225
225
225
225
225
226
226
226
226
227
228
228
228
228
228
228
229
230
231
232
232
232
233
233
234
234
235
235
235
235
236
236
236
236
236
236
236
236
236
236
236
237
237
237
237
237
241
241
241
242
245
245
245
248
251
252
254
257
259
259
259
263
263
263
276
288
293
297
308
308
308
308
308
308
308
309
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
310
311
312
312
312
312
312
312
313
313
313
313
313
313
314
314
314
315
316
321
321
321
322
325
325
328
331
335
339
344
348
352
352
353
353
353
353
353
354
355
356
357
358
358
358
358
358
358
358
359
359
359
360
360
360
360
360
360
360
360
361
362
362
365
365
366
366
368
373
377
378
380
382
390
396
407
415
431
431
431
431
431
431
431
431
431
431
431
431
432
432
432
432
433
433
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
435
435
435
435
435
435
435
435
435
435
436
436
436
436
436
436
436
436
436
436
437
437
438
438
438
438
438
439
439
439
439
440
441
441
441
442
442
442
443
444
445
446
446
446
447
447
448
449
450
450
450
450
451
451
451
451
451
451
452
452
452
452
452
456
456
458
462
464
469
472
476
478
482
484
484
488
492
494
499
504
507
508
513
518
523
532
545
557
568
579
590
590
590
590
590
590
590
591
592
592
592
592
592
592
592
592
592
592
592
593
594
594
594
594
594
594
594
594
594
594
594
594
595
595
595
595
595
595
595
595
595
595
595
596
597
597
597
597
597
597
597
597
597
598
598
598
598
599
600
601
601
602
603
603
603
603
603
603
604
604
604
604
605
606
607
607
608
609
610
615
620
625
628
632
637
642
645
650
655
660
665
670
670
671
671
671
671
671
672
673
674
675
676
