0
0
0
0
0
0
0
0
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
6
7
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
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
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
16
16
16
16
18
18
18
20
20
20
20
20
21
21
21
24
26
26
37
45
45
46
54
54
54
54
54
54
54
54
54
54
54
55
55
55
55
55
55
55
55
55
55
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
57
57
57
57
57
57
57
57
57
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
64
64
64
66
67
70
72
72
76
81
82
86
91
92
93
94
94
95
95
96
96
97
98
99
99
99
99
99
99
99
99
100
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
102
102
102
105
106
107
108
112
115
117
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
120
121
121
121
121
122
122
122
122
122
122
122
123
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
125
125
125
125
125
125
125
126
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
132
132
132
132
135
135
135
135
138
140
144
149
152
152
153
156
156
156
157
158
159
159
164
169
172
180
191
201
203
204
210
210
210
210
210
210
210
210
210
210
211
212
212
213
213
213
213
213
213
213
213
214
214
214
214
214
214
214
215
216
216
216
216
216
216
216
216
216
216
216
216
217
217
217
217
217
217
217
218
219
219
219
219
219
219
220
221
221
222
223
223
223
224
225
226
227
227
227
228
228
228
228
228
229
229
230
231
232
233
238
241
246
249
253
256
261
261
265
270
275
279
284
285
286
287
287
288
288
289
289
290
291
292
