0
1
2
3
4
4
4
4
4
5
6
7
8
8
8
8
9
9
9
9
10
12
14
18
21
21
22
22
25
27
28
33
35
38
40
41
42
42
42
42
42
42
43
43
43
43
44
45
45
45
45
45
45
45
45
45
45
45
45
45
46
46
46
46
47
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
49
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
52
53
54
55
56
57
58
58
59
60
61
61
61
61
61
62
63
63
63
63
63
64
64
64
64
64
64
65
65
66
68
69
69
69
71
73
76
77
77
81
82
82
82
84
86
88
92
96
99
99
99
99
102
102
104
105
106
106
108
109
109
112
114
117
119
123
125
130
136
137
139
144
144
144
144
145
146
146
146
146
146
147
147
147
147
147
147
147
147
147
147
148
148
148
148
148
149
149
149
150
151
151
151
151
152
153
153
153
154
154
154
154
155
155
155
155
155
155
155
155
156
157
157
157
157
157
158
158
158
158
158
158
158
158
158
158
158
159
160
160
160
161
161
161
162
163
163
164
165
165
165
166
167
168
168
168
169
169
169
169
169
169
169
169
169
169
170
171
172
172
172
173
174
174
176
181
184
185
188
191
196
198
200
202
205
208
213
217
217
220
222
223
224
224
225
226
227
227
228
228
229
230
231
232
233
234
235
236
237
238
239
240
240
240
240
240
241
242
243
244
244
244
244
245
245
245
245
246
251
254
259
262
262
263
263
266
268
269
274
275
278
279
279
280
281
282
282
283
284
285
285
285
286
287
288
288
288
288
288
288
288
289
290
290
291
291
292
293
294
295
296
296
297
297
297
297
298
299
300
301
302
302
302
303
304
305
305
306
307
307
307
308
309
310
310
310
310
310
310
310
310
310
310
310
311
311
311
311
311
311
311
311
311
311
311
311
311
312
313
314
315
316
317
318
319
320
321
322
323
324
324
324
324
325
326
326
326
326
326
327
327
327
327
327
327
328
328
329
333
336
341
343
346
349
352
353
354
358
359
359
359
362
364
368
371
375
378
382
386
391
396
396
398
399
400
400
402
403
403
406
408
411
412
414
415
420
432
433
434
437
437
437
438
439
440
440
440
441
442
443
444
445
446
447
447
448
449
449
449
450
450
450
450
450
451
451
451
452
453
453
453
454
455
456
456
456
457
457
457
457
458
458
458
458
458
458
458
458
459
460
460
460
461
461
462
462
462
463
464
464
464
465
465
465
465
466
467
468
469
470
470
471
472
473
473
474
475
475
476
477
478
479
480
481
482
483
484
484
484
484
485
485
485
485
486
487
488
488
488
489
490
490
492
497
500
501
501
505
510
512
514
516
519
522
526
531
532
535
537
538
539
539
540
541
542
543
544
544
545
546
547
548
549
550
551
552
