0
0
0
0
0
0
1
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
6
9
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
15
15
15
16
17
19
19
22
25
25
25
25
25
25
25
27
29
29
29
29
29
29
31
34
37
40
41
45
46
50
50
54
54
54
54
54
54
54
55
55
55
55
55
55
56
56
56
56
56
56
56
56
57
57
57
57
57
57
57
57
57
57
57
57
57
58
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
60
61
61
61
61
61
62
62
63
64
64
64
64
64
64
65
66
67
67
67
68
68
68
69
70
70
70
70
70
70
71
72
73
73
73
73
73
73
73
73
74
75
76
76
77
77
77
77
77
77
78
79
80
80
80
80
80
80
80
83
86
86
86
88
91
93
93
95
97
99
102
104
106
106
109
111
112
112
113
113
114
115
115
116
116
117
118
119
119
120
120
121
122
122
122
122
122
122
123
124
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
125
126
127
127
127
128
128
128
131
134
136
136
136
136
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
138
139
139
139
139
139
139
139
140
141
141
141
141
141
141
141
141
141
141
141
141
141
142
143
144
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
146
147
147
147
147
147
147
147
147
147
147
147
147
148
148
149
150
150
150
151
151
151
151
151
151
151
151
152
153
153
153
154
154
154
154
154
154
154
154
154
154
155
156
157
157
157
159
160
161
161
163
163
163
166
169
169
169
170
171
174
174
177
180
180
180
180
180
182
182
185
188
188
188
188
188
188
190
193
196
199
202
206
208
212
212
216
216
216
216
216
216
216
217
217
217
217
217
217
218
218
218
218
218
218
218
218
219
219
219
219
219
219
219
219
219
219
219
219
219
220
221
221
221
221
221
221
221
222
223
223
223
223
223
223
224
224
225
226
226
226
226
226
227
227
228
229
229
229
229
229
229
230
231
232
232
232
233
233
233
234
235
235
235
235
235
235
236
237
238
238
239
239
239
239
239
239
240
241
242
242
243
243
243
243
243
243
244
245
246
246
246
246
246
246
246
249
252
252
253
255
258
260
260
262
265
267
270
272
274
274
277
279
280
280
281
282
283
284
284
285
285
286
287
288
288
289
289
290
291
291
291
291
291
291
292
293
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
294
296
298
299
300
300
300
301
303
303
306
309
310
310
310
310
311
311
311
311
311
311
311
311
312
313
313
313
313
313
313
313
313
313
314
315
316
317
317
317
318
319
320
321
322
323
323
323
324
325
326
327
328
328
328
328
329
330
331
332
332
332
332
332
332
332
333
334
334
334
334
334
335
336
337
338
338
338
338
338
338
338
338
338
338
338
338
339
339
340
341
341
341
342
342
343
344
344
344
345
345
346
347
347
347
348
348
348
348
348
348
348
348
348
348
349
350
351
353
353
355
356
358
360
362
364
364
367
370
370
370
372
374
377
377
380
383
386
386
389
392
395
395
398
401
401
401
401
402
403
405
408
411
415
417
420
423
426
427
431
431
432
433
433
434
434
435
435
435
435
436
436
437
437
438
438
439
439
439
439
439
440
440
440
440
441
442
443
443
444
445
446
446
447
448
448
448
449
450
451
451
452
453
453
454
454
454
454
455
455
456
457
458
458
459
460
461
461
462
463
463
463
463
463
463
464
465
466
467
468
469
470
470
471
472
472
472
473
474
475
476
477
478
478
479
479
479
480
481
482
483
484
485
485
486
486
486
487
488
489
490
491
492
492
493
494
495
496
498
501
504
507
509
511
514
516
516
518
521
524
527
529
531
534
537
539
540
540
541
542
543
544
545
546
546
547
548
549
549
550
550
551
552
