0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
4
8
11
11
11
14
15
15
19
19
19
19
19
19
19
19
19
19
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
26
26
26
27
27
27
27
27
27
27
27
28
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
30
33
33
35
38
39
39
39
39
39
40
43
47
50
55
57
62
65
67
69
72
76
79
82
85
87
87
89
90
91
91
92
92
92
92
93
97
101
106
106
107
107
107
107
107
107
107
108
108
109
110
110
111
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
112
113
114
115
116
117
117
117
117
118
118
118
119
120
120
120
121
121
121
121
121
121
121
121
122
122
122
123
124
124
125
126
126
127
128
129
130
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
132
135
138
138
138
143
148
152
153
156
161
164
167
170
173
175
175
175
176
176
177
177
177
178
178
178
179
180
181
182
182
183
184
185
185
185
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
187
187
189
193
196
196
196
199
200
200
202
203
205
206
206
206
206
206
207
207
208
209
209
209
209
209
209
209
209
209
209
209
209
209
209
210
210
210
210
210
210
210
210
211
211
211
212
213
214
215
216
217
218
219
219
219
219
219
219
219
219
219
219
219
219
219
220
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
222
222
222
222
222
222
223
223
223
223
224
225
226
226
227
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
229
230
234
238
242
245
248
248
248
248
248
249
252
256
259
264
267
272
275
280
284
289
294
297
300
303
305
305
307
308
309
309
310
311
311
312
313
317
324
329
329
330
330
330
330
331
331
331
332
332
333
334
334
335
336
337
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
338
339
339
339
339
339
339
339
340
341
342
343
344
344
344
344
345
345
345
346
347
347
347
348
348
348
348
349
349
349
349
350
350
350
351
352
352
353
354
354
355
356
357
358
359
359
359
359
359
359
359
359
359
359
359
359
359
360
360
360
361
364
367
367
368
373
378
382
383
386
391
394
397
401
404
406
407
407
408
408
409
409
409
410
410
410
411
412
413
413
413
414
415
416
