0
0
0
0
0
1
1
1
1
1
1
1
1
1
2
3
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
12
12
12
12
13
13
13
13
13
13
13
13
13
13
14
18
22
22
25
26
26
26
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
31
31
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
33
33
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
35
35
36
37
38
39
39
39
39
39
40
40
40
40
40
40
41
41
41
42
43
43
45
45
46
47
50
53
56
56
57
58
59
59
60
60
61
62
63
63
63
63
63
64
64
64
64
64
64
64
64
64
65
66
67
67
67
67
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
68
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
70
71
72
72
72
72
72
72
73
73
73
73
73
73
73
73
76
76
76
76
78
78
78
78
78
78
78
78
78
78
82
87
91
91
99
107
107
107
115
115
115
115
115
115
115
115
115
115
115
116
116
116
116
116
116
116
116
117
117
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
119
119
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
121
121
122
123
124
125
125
125
125
125
126
126
126
126
126
126
131
131
131
134
137
138
141
144
146
150
155
158
162
162
163
164
165
165
166
166
167
168
169
169
169
169
169
170
170
170
170
170
170
170
170
170
171
172
173
173
173
173
174
174
174
174
174
174
174
174
174
174
174
174
178
181
183
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
186
187
188
188
188
188
188
189
189
189
189
190
191
192
192
192
192
192
192
192
193
193
193
193
193
193
193
193
193
193
193
193
193
193
194
194
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
196
197
198
198
198
199
199
199
202
202
202
202
205
205
205
205
208
212
216
221
226
226
228
230
232
232
234
235
235
238
243
248
253
261
270
275
277
279
287
287
287
287
287
287
287
287
287
288
289
290
291
292
292
292
292
292
292
293
293
294
294
294
294
295
295
295
296
296
296
296
296
296
296
296
296
296
296
297
297
298
298
298
298
299
299
299
300
300
300
300
300
300
300
300
301
301
301
301
302
302
303
304
304
305
306
307
308
308
308
309
310
311
311
311
312
313
313
318
321
326
329
333
336
341
344
347
352
357
360
365
365
366
367
368
368
369
369
370
371
372
