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
36
111
235
186
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
100
185
250
254
254
254
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
43
170
254
254
254
254
254
254
205
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
172
254
254
254
254
254
254
254
254
254
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
254
254
254
254
190
78
218
254
254
234
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
125
252
254
254
242
112
10
171
254
254
237
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
230
254
254
238
59
55
193
254
254
194
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
152
254
254
254
84
50
233
254
254
197
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
152
254
254
254
109
235
254
254
237
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
254
254
254
254
254
254
254
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
254
254
254
254
254
235
77
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
254
254
254
254
254
144
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
239
254
254
254
244
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
148
254
254
254
251
117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
254
254
254
254
252
159
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
254
254
254
254
255
254
213
103
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
244
254
254
254
254
254
254
254
138
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
154
254
254
254
254
254
254
254
156
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
228
254
254
254
254
254
254
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
121
199
254
254
254
157
7
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
