0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
255
170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
226
226
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
198
255
114
57
86
86
86
86
86
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
255
255
255
255
255
255
255
255
255
141
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
198
255
255
198
141
86
86
86
57
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
255
170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
255
114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
255
226
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
170
255
255
255
141
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
170
255
255
255
141
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
198
255
198
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
170
255
141
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
170
255
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
170
114
0
0
0
0
0
0
0
57
255
170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
198
29
0
0
0
0
0
0
0
0
226
170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
141
198
0
0
0
0
0
0
0
0
0
170
255
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
255
141
0
0
0
0
0
0
0
29
255
198
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
170
255
170
57
0
0
0
0
29
198
255
114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
226
255
170
170
170
198
255
255
141
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
141
170
255
255
255
170
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
