0
0
0
0
0
0
0
0
1
1
1
1
1
2
2
2
2
3
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
17
18
18
19
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
27
27
27
27
27
27
30
32
36
40
43
43
43
43
43
43
43
43
43
43
44
46
48
57
69
78
78
78
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
85
85
85
85
86
86
86
86
87
87
87
87
88
89
89
89
89
89
89
89
90
90
91
91
91
92
92
92
92
93
94
94
94
94
94
94
95
95
95
95
95
95
95
96
97
98
98
99
99
99
99
99
99
99
99
99
100
100
101
101
101
101
101
101
101
106
109
112
117
122
124
128
132
135
138
143
143
145
145
146
147
148
149
150
150
151
152
152
152
153
154
155
156
156
156
156
156
156
156
156
157
157
157
157
157
158
158
158
158
159
160
160
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
170
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
172
172
172
172
172
172
172
172
172
172
172
173
174
174
175
176
177
177
177
177
177
178
178
178
178
178
178
178
178
178
178
178
178
179
179
179
179
179
179
179
179
179
179
184
184
184
184
184
184
187
189
194
198
201
201
201
201
201
201
201
201
201
201
202
204
206
215
226
235
235
235
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
243
243
243
243
244
244
244
244
245
245
245
245
246
247
247
247
247
247
247
247
248
248
249
249
249
250
250
250
250
250
251
251
251
251
251
251
252
252
252
252
252
252
252
253
254
255
255
256
256
256
256
256
256
256
256
256
257
257
258
258
258
258
258
258
258
263
266
269
274
279
280
284
288
291
294
299
299
301
301
302
303
304
305
306
306
307
308
308
308
309
310
311
312
312
312
312
312
312
312
312
313
313
313
313
313
314
314
314
314
315
316
316
317
317
317
317
317
317
318
318
319
319
319
323
328
332
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
334
335
335
335
335
336
336
336
336
336
336
336
336
337
337
337
338
338
338
338
338
338
338
339
339
340
341
342
342
343
343
343
343
343
343
343
343
344
345
345
346
346
346
346
346
346
346
346
347
347
348
349
350
351
352
353
354
354
354
354
354
355
355
355
355
355
355
355
355
355
356
357
357
358
358
358
358
358
362
363
363
365
365
370
370
370
370
370
370
374
374
379
383
385
385
387
388
388
388
388
388
388
390
392
396
398
406
420
429
429
429
435
435
435
435
435
435
435
435
435
435
436
436
436
437
437
437
437
437
437
437
438
438
438
438
439
439
439
439
440
440
440
440
441
442
442
442
442
442
442
442
443
443
444
444
444
445
445
445
445
446
447
447
447
448
449
449
449
449
449
450
450
450
450
451
452
453
453
454
455
456
456
456
456
457
457
457
458
459
460
460
460
460
461
462
463
468
471
474
479
484
489
494
499
499
501
506
507
509
512
513
514
515
516
517
517
518
519
519
519
520
521
522
523
