0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
121
121
191
247
133
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
241
252
252
253
252
252
242
107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
189
252
252
252
253
252
252
252
245
178
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
187
252
252
252
252
253
252
252
252
252
198
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
103
252
252
252
248
115
53
136
252
252
252
198
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
200
252
252
252
210
0
0
107
252
252
252
198
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
200
252
252
212
33
0
0
198
252
252
252
177
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
200
252
252
176
0
0
77
247
252
252
252
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
230
252
252
147
0
0
128
252
252
252
213
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
252
252
252
162
8
133
253
252
252
252
185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
201
253
253
253
253
253
255
253
253
253
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
200
252
252
252
252
252
253
252
252
252
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
252
252
252
252
252
253
252
252
252
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
67
172
172
218
252
253
252
252
252
165
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
252
253
252
252
252
185
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
252
253
252
252
252
235
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
252
253
252
252
252
252
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
252
253
252
252
252
252
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
246
253
252
252
252
213
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
253
252
252
209
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
