0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
121
121
190
255
197
121
121
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
200
252
252
252
253
252
252
252
242
189
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
197
252
252
252
252
253
252
168
237
252
218
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110
252
252
252
252
139
39
39
4
33
75
214
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
214
252
252
245
108
25
0
0
0
0
18
193
200
200
120
0
0
0
0
0
0
0
0
0
0
0
0
213
252
252
252
225
0
0
0
0
20
96
204
252
252
252
210
0
0
0
0
0
0
0
0
0
0
0
0
213
252
252
245
120
0
0
20
167
202
252
252
252
252
212
33
0
0
0
0
0
0
0
0
0
0
0
0
213
252
252
128
0
2
98
204
252
252
252
252
246
133
34
0
0
0
0
0
0
0
0
0
0
0
0
0
142
252
252
88
28
152
252
253
252
252
252
206
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
213
252
252
252
252
252
252
253
252
252
139
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
214
253
253
253
253
253
253
255
253
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
250
252
252
252
252
252
252
83
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
222
252
252
252
252
252
190
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
149
252
252
252
252
239
158
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
240
252
252
252
252
176
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
242
252
252
252
252
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
222
252
252
252
252
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
249
252
252
252
216
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
144
238
242
242
248
169
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
31
152
107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
