0
0
0
0
0
0
0
0
1
2
3
4
5
5
5
5
5
5
5
5
5
5
5
5
5
6
7
7
8
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
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
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
15
15
15
15
18
18
18
18
18
18
18
18
18
18
18
18
21
22
22
31
39
39
39
47
47
47
47
47
47
47
47
47
47
47
48
48
48
48
48
48
48
48
48
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
54
54
54
56
56
59
61
61
66
68
69
72
74
74
75
76
77
77
78
79
79
79
80
81
81
81
81
81
81
81
81
82
83
84
85
86
86
86
86
86
86
86
86
86
86
86
86
86
87
88
88
89
90
91
92
96
98
100
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
103
104
105
105
105
105
105
105
106
107
108
108
108
108
108
108
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
110
110
110
110
110
110
110
110
110
110
110
110
110
110
111
111
111
111
111
111
111
111
111
111
111
112
113
113
116
116
116
119
119
119
119
121
121
123
126
131
134
134
135
136
137
137
138
139
139
142
147
152
155
162
172
180
181
183
190
190
190
190
190
190
190
190
190
191
191
192
193
193
193
193
193
193
193
193
194
194
194
194
195
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
197
197
197
197
198
199
199
199
199
199
199
199
199
199
200
200
201
201
202
203
204
204
205
206
206
207
207
208
208
208
208
209
210
211
211
211
211
212
212
216
221
224
227
230
235
238
241
245
248
253
258
261
261
262
263
264
264
265
266
266
266
267
268
