0
0
0
0
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
3
4
7
9
9
10
10
13
15
16
18
20
25
28
31
31
31
31
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
33
33
33
33
33
33
34
34
35
35
35
35
35
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
37
37
37
37
37
37
37
37
38
38
39
39
39
39
40
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
42
43
43
43
43
44
44
44
44
44
44
45
48
49
51
54
56
60
64
67
68
69
73
76
76
76
80
83
83
87
92
95
95
97
98
98
98
101
102
103
106
108
113
116
121
123
126
134
137
140
147
147
147
147
147
147
147
147
147
147
147
148
149
149
149
150
150
150
150
150
150
150
151
152
152
152
152
152
152
152
153
153
154
154
155
156
156
156
157
158
159
159
159
159
160
160
160
160
160
160
160
160
160
160
160
161
161
162
162
163
164
164
164
165
166
167
167
167
167
168
169
170
170
170
170
171
171
171
171
172
173
173
173
173
174
174
174
174
174
175
176
176
176
177
178
179
180
181
181
182
182
182
182
182
182
182
182
183
183
183
183
183
184
184
184
188
193
196
199
203
203
208
209
212
217
220
222
227
230
233
238
239
242
244
245
246
246
247
248
249
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
263
263
263
264
264
264
264
264
264
265
265
265
265
265
265
265
265
265
265
265
265
266
270
273
274
275
275
278
280
281
281
284
287
290
290
290
290
290
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
291
292
292
292
292
292
293
294
294
295
295
295
295
295
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
297
297
297
297
297
297
297
297
297
298
298
299
299
299
299
300
300
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
301
302
303
303
303
303
304
304
304
304
304
308
309
314
314
314
317
321
325
329
332
336
340
344
347
347
351
355
358
363
368
373
376
376
378
379
379
379
382
383
384
387
391
396
399
406
411
412
421
421
421
428
428
428
428
428
428
428
428
429
430
430
431
432
432
433
434
434
434
434
434
434
434
435
436
436
436
436
436
436
436
437
437
438
438
439
440
440
440
441
442
443
443
443
443
444
444
444
445
446
446
446
446
446
446
446
447
447
448
448
449
450
450
450
451
452
453
453
453
453
454
455
456
456
456
457
458
458
458
459
460
461
461
461
461
462
463
464
465
465
466
467
467
467
468
469
470
471
471
471
472
472
472
472
472
472
472
472
473
473
473
473
473
474
474
474
478
483
486
489
494
498
503
505
508
513
515
517
522
525
528
533
533
535
537
538
539
539
540
541
542
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
